@vidispine/vdt-react 21.3.0 → 22.1.0-pre.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -1,357 +1,27 @@
1
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
1
3
  import React, { useCallback } from 'react';
2
4
  import { utils, search, vsimport, collection, ChunkedUpload, access, metadatafield, fieldgroup, item, library, user, group, storage, job, file, metadata, noauth } from '@vidispine/vdt-api';
5
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
6
+ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
7
+ import _typeof from '@babel/runtime/helpers/typeof';
3
8
  import { createMetadataType, formatTimeCodeText, formatSeconds, parseMetadataType, roles } from '@vidispine/vdt-js';
4
9
  import { decompressFromEncodedURIComponent, compressToEncodedURIComponent } from 'lz-string';
10
+ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
11
+ import _regeneratorRuntime from '@babel/runtime/regenerator';
5
12
  import useDeepCompareEffect from 'use-deep-compare-effect';
6
- import debounce from 'lodash.debounce';
13
+ import _debounce from 'lodash.debounce';
14
+ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
15
+ import _createClass from '@babel/runtime/helpers/createClass';
16
+ import _inherits from '@babel/runtime/helpers/inherits';
17
+ import _possibleConstructorReturn from '@babel/runtime/helpers/possibleConstructorReturn';
18
+ import _getPrototypeOf from '@babel/runtime/helpers/getPrototypeOf';
19
+ import _extends from '@babel/runtime/helpers/extends';
7
20
  import { useCookies } from 'react-cookie';
8
21
 
9
- function _typeof(obj) {
10
- "@babel/helpers - typeof";
22
+ function ownKeys$i(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
11
23
 
12
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
13
- _typeof = function (obj) {
14
- return typeof obj;
15
- };
16
- } else {
17
- _typeof = function (obj) {
18
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
19
- };
20
- }
21
-
22
- return _typeof(obj);
23
- }
24
-
25
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
26
- try {
27
- var info = gen[key](arg);
28
- var value = info.value;
29
- } catch (error) {
30
- reject(error);
31
- return;
32
- }
33
-
34
- if (info.done) {
35
- resolve(value);
36
- } else {
37
- Promise.resolve(value).then(_next, _throw);
38
- }
39
- }
40
-
41
- function _asyncToGenerator(fn) {
42
- return function () {
43
- var self = this,
44
- args = arguments;
45
- return new Promise(function (resolve, reject) {
46
- var gen = fn.apply(self, args);
47
-
48
- function _next(value) {
49
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
50
- }
51
-
52
- function _throw(err) {
53
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
54
- }
55
-
56
- _next(undefined);
57
- });
58
- };
59
- }
60
-
61
- function _classCallCheck(instance, Constructor) {
62
- if (!(instance instanceof Constructor)) {
63
- throw new TypeError("Cannot call a class as a function");
64
- }
65
- }
66
-
67
- function _defineProperties(target, props) {
68
- for (var i = 0; i < props.length; i++) {
69
- var descriptor = props[i];
70
- descriptor.enumerable = descriptor.enumerable || false;
71
- descriptor.configurable = true;
72
- if ("value" in descriptor) descriptor.writable = true;
73
- Object.defineProperty(target, descriptor.key, descriptor);
74
- }
75
- }
76
-
77
- function _createClass(Constructor, protoProps, staticProps) {
78
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
79
- if (staticProps) _defineProperties(Constructor, staticProps);
80
- return Constructor;
81
- }
82
-
83
- function _defineProperty(obj, key, value) {
84
- if (key in obj) {
85
- Object.defineProperty(obj, key, {
86
- value: value,
87
- enumerable: true,
88
- configurable: true,
89
- writable: true
90
- });
91
- } else {
92
- obj[key] = value;
93
- }
94
-
95
- return obj;
96
- }
97
-
98
- function _extends() {
99
- _extends = Object.assign || function (target) {
100
- for (var i = 1; i < arguments.length; i++) {
101
- var source = arguments[i];
102
-
103
- for (var key in source) {
104
- if (Object.prototype.hasOwnProperty.call(source, key)) {
105
- target[key] = source[key];
106
- }
107
- }
108
- }
109
-
110
- return target;
111
- };
112
-
113
- return _extends.apply(this, arguments);
114
- }
115
-
116
- function ownKeys(object, enumerableOnly) {
117
- var keys = Object.keys(object);
118
-
119
- if (Object.getOwnPropertySymbols) {
120
- var symbols = Object.getOwnPropertySymbols(object);
121
- if (enumerableOnly) symbols = symbols.filter(function (sym) {
122
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
123
- });
124
- keys.push.apply(keys, symbols);
125
- }
126
-
127
- return keys;
128
- }
129
-
130
- function _objectSpread2(target) {
131
- for (var i = 1; i < arguments.length; i++) {
132
- var source = arguments[i] != null ? arguments[i] : {};
133
-
134
- if (i % 2) {
135
- ownKeys(Object(source), true).forEach(function (key) {
136
- _defineProperty(target, key, source[key]);
137
- });
138
- } else if (Object.getOwnPropertyDescriptors) {
139
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
140
- } else {
141
- ownKeys(Object(source)).forEach(function (key) {
142
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
143
- });
144
- }
145
- }
146
-
147
- return target;
148
- }
149
-
150
- function _inherits(subClass, superClass) {
151
- if (typeof superClass !== "function" && superClass !== null) {
152
- throw new TypeError("Super expression must either be null or a function");
153
- }
154
-
155
- subClass.prototype = Object.create(superClass && superClass.prototype, {
156
- constructor: {
157
- value: subClass,
158
- writable: true,
159
- configurable: true
160
- }
161
- });
162
- if (superClass) _setPrototypeOf(subClass, superClass);
163
- }
164
-
165
- function _getPrototypeOf(o) {
166
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
167
- return o.__proto__ || Object.getPrototypeOf(o);
168
- };
169
- return _getPrototypeOf(o);
170
- }
171
-
172
- function _setPrototypeOf(o, p) {
173
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
174
- o.__proto__ = p;
175
- return o;
176
- };
177
-
178
- return _setPrototypeOf(o, p);
179
- }
180
-
181
- function _isNativeReflectConstruct() {
182
- if (typeof Reflect === "undefined" || !Reflect.construct) return false;
183
- if (Reflect.construct.sham) return false;
184
- if (typeof Proxy === "function") return true;
185
-
186
- try {
187
- Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));
188
- return true;
189
- } catch (e) {
190
- return false;
191
- }
192
- }
193
-
194
- function _objectWithoutPropertiesLoose(source, excluded) {
195
- if (source == null) return {};
196
- var target = {};
197
- var sourceKeys = Object.keys(source);
198
- var key, i;
199
-
200
- for (i = 0; i < sourceKeys.length; i++) {
201
- key = sourceKeys[i];
202
- if (excluded.indexOf(key) >= 0) continue;
203
- target[key] = source[key];
204
- }
205
-
206
- return target;
207
- }
208
-
209
- function _objectWithoutProperties(source, excluded) {
210
- if (source == null) return {};
211
-
212
- var target = _objectWithoutPropertiesLoose(source, excluded);
213
-
214
- var key, i;
215
-
216
- if (Object.getOwnPropertySymbols) {
217
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
218
-
219
- for (i = 0; i < sourceSymbolKeys.length; i++) {
220
- key = sourceSymbolKeys[i];
221
- if (excluded.indexOf(key) >= 0) continue;
222
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
223
- target[key] = source[key];
224
- }
225
- }
226
-
227
- return target;
228
- }
229
-
230
- function _assertThisInitialized(self) {
231
- if (self === void 0) {
232
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
233
- }
234
-
235
- return self;
236
- }
237
-
238
- function _possibleConstructorReturn(self, call) {
239
- if (call && (typeof call === "object" || typeof call === "function")) {
240
- return call;
241
- }
242
-
243
- return _assertThisInitialized(self);
244
- }
245
-
246
- function _createSuper(Derived) {
247
- var hasNativeReflectConstruct = _isNativeReflectConstruct();
248
-
249
- return function _createSuperInternal() {
250
- var Super = _getPrototypeOf(Derived),
251
- result;
252
-
253
- if (hasNativeReflectConstruct) {
254
- var NewTarget = _getPrototypeOf(this).constructor;
255
-
256
- result = Reflect.construct(Super, arguments, NewTarget);
257
- } else {
258
- result = Super.apply(this, arguments);
259
- }
260
-
261
- return _possibleConstructorReturn(this, result);
262
- };
263
- }
264
-
265
- function _slicedToArray(arr, i) {
266
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
267
- }
268
-
269
- function _toConsumableArray(arr) {
270
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
271
- }
272
-
273
- function _arrayWithoutHoles(arr) {
274
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
275
- }
276
-
277
- function _arrayWithHoles(arr) {
278
- if (Array.isArray(arr)) return arr;
279
- }
280
-
281
- function _iterableToArray(iter) {
282
- if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
283
- }
284
-
285
- function _iterableToArrayLimit(arr, i) {
286
- if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
287
- var _arr = [];
288
- var _n = true;
289
- var _d = false;
290
- var _e = undefined;
291
-
292
- try {
293
- for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
294
- _arr.push(_s.value);
295
-
296
- if (i && _arr.length === i) break;
297
- }
298
- } catch (err) {
299
- _d = true;
300
- _e = err;
301
- } finally {
302
- try {
303
- if (!_n && _i["return"] != null) _i["return"]();
304
- } finally {
305
- if (_d) throw _e;
306
- }
307
- }
308
-
309
- return _arr;
310
- }
311
-
312
- function _unsupportedIterableToArray(o, minLen) {
313
- if (!o) return;
314
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
315
- var n = Object.prototype.toString.call(o).slice(8, -1);
316
- if (n === "Object" && o.constructor) n = o.constructor.name;
317
- if (n === "Map" || n === "Set") return Array.from(o);
318
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
319
- }
320
-
321
- function _arrayLikeToArray(arr, len) {
322
- if (len == null || len > arr.length) len = arr.length;
323
-
324
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
325
-
326
- return arr2;
327
- }
328
-
329
- function _nonIterableSpread() {
330
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
331
- }
332
-
333
- function _nonIterableRest() {
334
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
335
- }
336
-
337
- function _toPrimitive(input, hint) {
338
- if (typeof input !== "object" || input === null) return input;
339
- var prim = input[Symbol.toPrimitive];
340
-
341
- if (prim !== undefined) {
342
- var res = prim.call(input, hint || "default");
343
- if (typeof res !== "object") return res;
344
- throw new TypeError("@@toPrimitive must return a primitive value.");
345
- }
346
-
347
- return (hint === "string" ? String : Number)(input);
348
- }
349
-
350
- function _toPropertyKey(arg) {
351
- var key = _toPrimitive(arg, "string");
352
-
353
- return typeof key === "symbol" ? key : String(key);
354
- }
24
+ function _objectSpread$i(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$i(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$i(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
355
25
 
356
26
  var setDefaultState = function setDefaultState() {
357
27
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
@@ -366,7 +36,7 @@ var setDefaultState = function setDefaultState() {
366
36
  _ref$data = _ref.data,
367
37
  data = _ref$data === void 0 ? undefined : _ref$data;
368
38
 
369
- var responseRef = arguments.length > 1 ? arguments[1] : undefined;
39
+ var responseRef = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
370
40
  return {
371
41
  isLoading: isLoading,
372
42
  hasLoaded: hasLoaded,
@@ -380,7 +50,7 @@ var apiReducer = function apiReducer(state, action) {
380
50
  switch (action.type) {
381
51
  case 'START':
382
52
  {
383
- return _objectSpread2(_objectSpread2({}, state), {}, {
53
+ return _objectSpread$i(_objectSpread$i({}, state), {}, {
384
54
  isLoading: true,
385
55
  isError: false
386
56
  });
@@ -413,7 +83,7 @@ var apiReducer = function apiReducer(state, action) {
413
83
 
414
84
  case 'RESET':
415
85
  {
416
- return _objectSpread2({}, action.initialState);
86
+ return _objectSpread$i({}, action.initialState);
417
87
  }
418
88
 
419
89
  default:
@@ -423,8 +93,10 @@ var apiReducer = function apiReducer(state, action) {
423
93
  }
424
94
  };
425
95
 
426
- var canceltoken = utils.CancelToken.source();
427
96
  function useApi(apiHandler, initialState, responseRef) {
97
+ var cancelToken = React.useRef(function () {
98
+ return null;
99
+ });
428
100
  var initialDefaultState = setDefaultState(initialState, responseRef);
429
101
  var initialStateRef = React.useRef(initialDefaultState);
430
102
 
@@ -438,8 +110,10 @@ function useApi(apiHandler, initialState, responseRef) {
438
110
  type: 'START'
439
111
  });
440
112
  return new Promise(function (resolve, reject) {
441
- apiHandler(_objectSpread2({
442
- canceltoken: canceltoken
113
+ apiHandler(_objectSpread$i({
114
+ canceltoken: new utils.CancelToken(function (c) {
115
+ cancelToken.current = c;
116
+ })
443
117
  }, props)).then(function (response) {
444
118
  resolve(response);
445
119
  dispatch({
@@ -463,18 +137,30 @@ function useApi(apiHandler, initialState, responseRef) {
463
137
  initialState: initialStateRef.current
464
138
  });
465
139
  }, []);
466
- React.useEffect(function () {
467
- return canceltoken.cancel;
140
+ var cancel = React.useCallback(function () {
141
+ return cancelToken.current();
468
142
  }, []);
469
- return _objectSpread2({
143
+ React.useEffect(function () {
144
+ return function () {
145
+ cancel();
146
+ reset();
147
+ };
148
+ }, [cancel, reset]);
149
+ return _objectSpread$i({
470
150
  request: request,
471
- reset: reset
151
+ reset: reset,
152
+ cancel: cancel
472
153
  }, state);
473
154
  }
474
155
 
475
- var CHANGE_PAGE = 'CHANGE_PAGE';
476
- var CHANGE_ROWS = 'CHANGE_ROWS';
477
- var CHANGE_SORT = 'CHANGE_SORT';
156
+ var _excluded$9 = ["queryParams", "matrixParams", "itemSearchDocument", "rowsPerPage", "page"];
157
+
158
+ function ownKeys$h(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
159
+
160
+ function _objectSpread$h(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$h(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$h(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
161
+ var CHANGE_PAGE$3 = 'CHANGE_PAGE';
162
+ var CHANGE_ROWS$3 = 'CHANGE_ROWS';
163
+ var CHANGE_SORT$3 = 'CHANGE_SORT';
478
164
  var CHANGE_SEARCHTEXT = 'CHANGE_SEARCHTEXT';
479
165
  var CHANGE_SEARCHFIELD = 'CHANGE_SEARCHFIELD';
480
166
  var CHANGE_SEARCHFIELDFACET = 'CHANGE_SEARCHFIELDFACET';
@@ -486,10 +172,10 @@ var CHANGE_ITEMSEARCHDOCUMENT = 'CHANGE_ITEMSEARCHDOCUMENT';
486
172
  var CHANGE_QUERYPARAMS = 'CHANGE_QUERYPARAMS';
487
173
  var CHANGE_MATRIXPARAMS = 'CHANGE_MATRIXPARAMS';
488
174
  var CHANGE_SUGGESTION = 'CHANGE_SUGGESTION';
489
- var ACTION_TYPE = {
490
- CHANGE_PAGE: CHANGE_PAGE,
491
- CHANGE_ROWS: CHANGE_ROWS,
492
- CHANGE_SORT: CHANGE_SORT,
175
+ var ACTION_TYPE$3 = {
176
+ CHANGE_PAGE: CHANGE_PAGE$3,
177
+ CHANGE_ROWS: CHANGE_ROWS$3,
178
+ CHANGE_SORT: CHANGE_SORT$3,
493
179
  CHANGE_SEARCHTEXT: CHANGE_SEARCHTEXT,
494
180
  CHANGE_SEARCHFIELD: CHANGE_SEARCHFIELD,
495
181
  CHANGE_SEARCHFIELDFACET: CHANGE_SEARCHFIELDFACET,
@@ -503,7 +189,7 @@ var ACTION_TYPE = {
503
189
  CHANGE_SUGGESTION: CHANGE_SUGGESTION
504
190
  };
505
191
 
506
- var setInitialDefaultState = function setInitialDefaultState() {
192
+ var setInitialDefaultState$4 = function setInitialDefaultState() {
507
193
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
508
194
  _ref$queryParams = _ref.queryParams,
509
195
  queryParams = _ref$queryParams === void 0 ? {} : _ref$queryParams,
@@ -515,18 +201,18 @@ var setInitialDefaultState = function setInitialDefaultState() {
515
201
  rowsPerPage = _ref$rowsPerPage === void 0 ? 10 : _ref$rowsPerPage,
516
202
  _ref$page = _ref.page,
517
203
  page = _ref$page === void 0 ? 0 : _ref$page,
518
- state = _objectWithoutProperties(_ref, ["queryParams", "matrixParams", "itemSearchDocument", "rowsPerPage", "page"]);
204
+ state = _objectWithoutProperties(_ref, _excluded$9);
519
205
 
520
- return _objectSpread2(_objectSpread2({}, state), {}, {
521
- queryParams: _objectSpread2({
206
+ return _objectSpread$h(_objectSpread$h({}, state), {}, {
207
+ queryParams: _objectSpread$h({
522
208
  content: 'metadata',
523
209
  interval: 'generic'
524
210
  }, queryParams),
525
- matrixParams: _objectSpread2({
211
+ matrixParams: _objectSpread$h({
526
212
  first: page * rowsPerPage + 1,
527
213
  number: rowsPerPage
528
214
  }, matrixParams),
529
- itemSearchDocument: _objectSpread2({
215
+ itemSearchDocument: _objectSpread$h({
530
216
  intervals: 'generic',
531
217
  filter: []
532
218
  }, itemSearchDocument),
@@ -535,178 +221,178 @@ var setInitialDefaultState = function setInitialDefaultState() {
535
221
  });
536
222
  };
537
223
 
538
- var searchReducer = function searchReducer(state, action) {
224
+ var searchReducer$3 = function searchReducer(state, action) {
539
225
  switch (action.type) {
540
- case ACTION_TYPE.CHANGE_ITEMSEARCHDOCUMENT:
226
+ case ACTION_TYPE$3.CHANGE_ITEMSEARCHDOCUMENT:
541
227
  {
542
- return _objectSpread2(_objectSpread2({}, state), {}, {
228
+ return _objectSpread$h(_objectSpread$h({}, state), {}, {
543
229
  itemSearchDocument: action.itemSearchDocument
544
230
  });
545
231
  }
546
232
 
547
- case ACTION_TYPE.CHANGE_QUERYPARAMS:
233
+ case ACTION_TYPE$3.CHANGE_QUERYPARAMS:
548
234
  {
549
- return _objectSpread2(_objectSpread2({}, state), {}, {
235
+ return _objectSpread$h(_objectSpread$h({}, state), {}, {
550
236
  queryParams: action.queryParams
551
237
  });
552
238
  }
553
239
 
554
- case ACTION_TYPE.CHANGE_MATRIXPARAMS:
240
+ case ACTION_TYPE$3.CHANGE_MATRIXPARAMS:
555
241
  {
556
- return _objectSpread2(_objectSpread2({}, state), {}, {
242
+ return _objectSpread$h(_objectSpread$h({}, state), {}, {
557
243
  matrixParams: action.matrixParams
558
244
  });
559
245
  }
560
246
 
561
- case ACTION_TYPE.CHANGE_PAGE:
247
+ case ACTION_TYPE$3.CHANGE_PAGE:
562
248
  {
563
- return _objectSpread2(_objectSpread2({}, state), {}, {
249
+ return _objectSpread$h(_objectSpread$h({}, state), {}, {
564
250
  page: action.page,
565
- matrixParams: _objectSpread2(_objectSpread2({}, state.matrixParams), {}, {
251
+ matrixParams: _objectSpread$h(_objectSpread$h({}, state.matrixParams), {}, {
566
252
  first: action.page * state.rowsPerPage + 1
567
253
  })
568
254
  });
569
255
  }
570
256
 
571
- case ACTION_TYPE.CHANGE_ROWS:
257
+ case ACTION_TYPE$3.CHANGE_ROWS:
572
258
  {
573
- return _objectSpread2(_objectSpread2({}, state), {}, {
259
+ return _objectSpread$h(_objectSpread$h({}, state), {}, {
574
260
  rowsPerPage: action.rowsPerPage,
575
261
  page: 0,
576
- matrixParams: _objectSpread2(_objectSpread2({}, state.matrixParams), {}, {
262
+ matrixParams: _objectSpread$h(_objectSpread$h({}, state.matrixParams), {}, {
577
263
  first: 1,
578
264
  number: action.rowsPerPage
579
265
  })
580
266
  });
581
267
  }
582
268
 
583
- case ACTION_TYPE.CHANGE_SORT:
269
+ case ACTION_TYPE$3.CHANGE_SORT:
584
270
  {
585
- return _objectSpread2(_objectSpread2({}, state), {}, {
271
+ return _objectSpread$h(_objectSpread$h({}, state), {}, {
586
272
  page: 0,
587
273
  searchText: action.value,
588
274
  sort: action.value,
589
- itemSearchDocument: _objectSpread2(_objectSpread2({}, state.itemSearchDocument), {}, {
275
+ itemSearchDocument: _objectSpread$h(_objectSpread$h({}, state.itemSearchDocument), {}, {
590
276
  sort: action.field ? [{
591
277
  field: action.field,
592
278
  order: action.order || 'descending'
593
279
  }] : []
594
280
  }),
595
- matrixParams: _objectSpread2(_objectSpread2({}, state.matrixParams), {}, {
281
+ matrixParams: _objectSpread$h(_objectSpread$h({}, state.matrixParams), {}, {
596
282
  first: 1
597
283
  })
598
284
  });
599
285
  }
600
286
 
601
- case ACTION_TYPE.CHANGE_SEARCHTEXT:
287
+ case ACTION_TYPE$3.CHANGE_SEARCHTEXT:
602
288
  {
603
- return _objectSpread2(_objectSpread2({}, state), {}, {
289
+ return _objectSpread$h(_objectSpread$h({}, state), {}, {
604
290
  page: 0,
605
291
  searchText: action.value,
606
- itemSearchDocument: action.value ? _objectSpread2(_objectSpread2({}, state.itemSearchDocument), {}, {
292
+ itemSearchDocument: action.value ? _objectSpread$h(_objectSpread$h({}, state.itemSearchDocument), {}, {
607
293
  text: [{
608
294
  value: "".concat(action.value)
609
295
  }]
610
- }) : _objectSpread2(_objectSpread2({}, state.itemSearchDocument), {}, {
296
+ }) : _objectSpread$h(_objectSpread$h({}, state.itemSearchDocument), {}, {
611
297
  text: []
612
298
  }),
613
- matrixParams: _objectSpread2(_objectSpread2({}, state.matrixParams), {}, {
299
+ matrixParams: _objectSpread$h(_objectSpread$h({}, state.matrixParams), {}, {
614
300
  first: 1
615
301
  })
616
302
  });
617
303
  }
618
304
 
619
- case ACTION_TYPE.CHANGE_SEARCHFIELD:
305
+ case ACTION_TYPE$3.CHANGE_SEARCHFIELD:
620
306
  {
621
- return _objectSpread2(_objectSpread2({}, state), {}, {
307
+ return _objectSpread$h(_objectSpread$h({}, state), {}, {
622
308
  page: 0,
623
309
  field: action.field,
624
- itemSearchDocument: action.field ? _objectSpread2(_objectSpread2({}, state.itemSearchDocument), {}, {
310
+ itemSearchDocument: action.field ? _objectSpread$h(_objectSpread$h({}, state.itemSearchDocument), {}, {
625
311
  field: action.field
626
- }) : _objectSpread2(_objectSpread2({}, state.itemSearchDocument), {}, {
312
+ }) : _objectSpread$h(_objectSpread$h({}, state.itemSearchDocument), {}, {
627
313
  field: []
628
314
  }),
629
- matrixParams: _objectSpread2(_objectSpread2({}, state.matrixParams), {}, {
315
+ matrixParams: _objectSpread$h(_objectSpread$h({}, state.matrixParams), {}, {
630
316
  first: 1
631
317
  })
632
318
  });
633
319
  }
634
320
 
635
- case ACTION_TYPE.CHANGE_SEARCHFIELDFACET:
321
+ case ACTION_TYPE$3.CHANGE_SEARCHFIELDFACET:
636
322
  {
637
- return _objectSpread2(_objectSpread2({}, state), {}, {
323
+ return _objectSpread$h(_objectSpread$h({}, state), {}, {
638
324
  page: 0,
639
325
  field: action.field,
640
326
  facet: action.facet,
641
- itemSearchDocument: action.field ? _objectSpread2(_objectSpread2({}, state.itemSearchDocument), {}, {
327
+ itemSearchDocument: action.field ? _objectSpread$h(_objectSpread$h({}, state.itemSearchDocument), {}, {
642
328
  field: action.field,
643
329
  facet: action.facet
644
- }) : _objectSpread2(_objectSpread2({}, state.itemSearchDocument), {}, {
330
+ }) : _objectSpread$h(_objectSpread$h({}, state.itemSearchDocument), {}, {
645
331
  field: [],
646
332
  facet: []
647
333
  }),
648
- matrixParams: _objectSpread2(_objectSpread2({}, state.matrixParams), {}, {
334
+ matrixParams: _objectSpread$h(_objectSpread$h({}, state.matrixParams), {}, {
649
335
  first: 1
650
336
  })
651
337
  });
652
338
  }
653
339
 
654
- case ACTION_TYPE.CHANGE_SEARCHFILTER:
340
+ case ACTION_TYPE$3.CHANGE_SEARCHFILTER:
655
341
  {
656
- return _objectSpread2(_objectSpread2({}, state), {}, {
342
+ return _objectSpread$h(_objectSpread$h({}, state), {}, {
657
343
  page: 0,
658
344
  filter: action.filter,
659
- itemSearchDocument: action.filter ? _objectSpread2(_objectSpread2({}, state.itemSearchDocument), {}, {
345
+ itemSearchDocument: action.filter ? _objectSpread$h(_objectSpread$h({}, state.itemSearchDocument), {}, {
660
346
  filter: action.filter
661
- }) : _objectSpread2(_objectSpread2({}, state.itemSearchDocument), {}, {
347
+ }) : _objectSpread$h(_objectSpread$h({}, state.itemSearchDocument), {}, {
662
348
  filter: []
663
349
  }),
664
- matrixParams: _objectSpread2(_objectSpread2({}, state.matrixParams), {}, {
350
+ matrixParams: _objectSpread$h(_objectSpread$h({}, state.matrixParams), {}, {
665
351
  first: 1
666
352
  })
667
353
  });
668
354
  }
669
355
 
670
- case ACTION_TYPE.CHANGE_SEARCHFILTERFACET:
356
+ case ACTION_TYPE$3.CHANGE_SEARCHFILTERFACET:
671
357
  {
672
- return _objectSpread2(_objectSpread2({}, state), {}, {
358
+ return _objectSpread$h(_objectSpread$h({}, state), {}, {
673
359
  page: 0,
674
360
  filter: action.filter,
675
- itemSearchDocument: action.filter ? _objectSpread2(_objectSpread2({}, state.itemSearchDocument), {}, {
361
+ itemSearchDocument: action.filter ? _objectSpread$h(_objectSpread$h({}, state.itemSearchDocument), {}, {
676
362
  filter: action.filter,
677
363
  facet: action.facet
678
- }) : _objectSpread2(_objectSpread2({}, state.itemSearchDocument), {}, {
364
+ }) : _objectSpread$h(_objectSpread$h({}, state.itemSearchDocument), {}, {
679
365
  filter: [],
680
366
  facet: []
681
367
  }),
682
- matrixParams: _objectSpread2(_objectSpread2({}, state.matrixParams), {}, {
368
+ matrixParams: _objectSpread$h(_objectSpread$h({}, state.matrixParams), {}, {
683
369
  first: 1
684
370
  })
685
371
  });
686
372
  }
687
373
 
688
- case ACTION_TYPE.CHANGE_FACET:
374
+ case ACTION_TYPE$3.CHANGE_FACET:
689
375
  {
690
- return _objectSpread2(_objectSpread2({}, state), {}, {
376
+ return _objectSpread$h(_objectSpread$h({}, state), {}, {
691
377
  page: 0,
692
378
  facet: action.facet,
693
- itemSearchDocument: action.facet ? _objectSpread2(_objectSpread2({}, state.itemSearchDocument), {}, {
379
+ itemSearchDocument: action.facet ? _objectSpread$h(_objectSpread$h({}, state.itemSearchDocument), {}, {
694
380
  facet: action.facet
695
- }) : _objectSpread2(_objectSpread2({}, state.itemSearchDocument), {}, {
381
+ }) : _objectSpread$h(_objectSpread$h({}, state.itemSearchDocument), {}, {
696
382
  facet: []
697
383
  }),
698
- matrixParams: _objectSpread2(_objectSpread2({}, state.matrixParams), {}, {
384
+ matrixParams: _objectSpread$h(_objectSpread$h({}, state.matrixParams), {}, {
699
385
  first: 1
700
386
  })
701
387
  });
702
388
  }
703
389
 
704
- case ACTION_TYPE.CHANGE_PARENT_COLLECTION:
390
+ case ACTION_TYPE$3.CHANGE_PARENT_COLLECTION:
705
391
  {
706
- return _objectSpread2(_objectSpread2({}, state), {}, {
392
+ return _objectSpread$h(_objectSpread$h({}, state), {}, {
707
393
  page: 0,
708
394
  parentCollection: action.value,
709
- itemSearchDocument: action.value ? _objectSpread2(_objectSpread2({}, state.itemSearchDocument), {}, {
395
+ itemSearchDocument: action.value ? _objectSpread$h(_objectSpread$h({}, state.itemSearchDocument), {}, {
710
396
  operator: {
711
397
  field: [{
712
398
  name: '__parent_collection',
@@ -721,19 +407,19 @@ var searchReducer = function searchReducer(state, action) {
721
407
  }],
722
408
  operation: 'OR'
723
409
  }
724
- }) : _objectSpread2(_objectSpread2({}, state.itemSearchDocument), {}, {
410
+ }) : _objectSpread$h(_objectSpread$h({}, state.itemSearchDocument), {}, {
725
411
  operator: undefined
726
412
  }),
727
- matrixParams: _objectSpread2(_objectSpread2({}, state.matrixParams), {}, {
413
+ matrixParams: _objectSpread$h(_objectSpread$h({}, state.matrixParams), {}, {
728
414
  first: 1
729
415
  })
730
416
  });
731
417
  }
732
418
 
733
- case ACTION_TYPE.CHANGE_SUGGESTION:
419
+ case ACTION_TYPE$3.CHANGE_SUGGESTION:
734
420
  {
735
- return _objectSpread2(_objectSpread2({}, state), {}, {
736
- itemSearchDocument: _objectSpread2(_objectSpread2({}, state.itemSearchDocument), {}, {
421
+ return _objectSpread$h(_objectSpread$h({}, state), {}, {
422
+ itemSearchDocument: _objectSpread$h(_objectSpread$h({}, state.itemSearchDocument), {}, {
737
423
  suggestion: action.suggestion
738
424
  })
739
425
  });
@@ -747,9 +433,9 @@ var searchReducer = function searchReducer(state, action) {
747
433
  };
748
434
 
749
435
  function useSearch(initialState) {
750
- var initialDefaultState = setInitialDefaultState(initialState);
436
+ var initialDefaultState = setInitialDefaultState$4(initialState);
751
437
 
752
- var _React$useReducer = React.useReducer(searchReducer, initialDefaultState),
438
+ var _React$useReducer = React.useReducer(searchReducer$3, initialDefaultState),
753
439
  _React$useReducer2 = _slicedToArray(_React$useReducer, 2),
754
440
  state = _React$useReducer2[0],
755
441
  dispatch = _React$useReducer2[1];
@@ -759,7 +445,7 @@ function useSearch(initialState) {
759
445
  newRows = _ref2.target.value;
760
446
 
761
447
  return dispatch({
762
- type: ACTION_TYPE.CHANGE_ROWS,
448
+ type: ACTION_TYPE$3.CHANGE_ROWS,
763
449
  rowsPerPage: newRows
764
450
  });
765
451
  };
@@ -767,14 +453,14 @@ function useSearch(initialState) {
767
453
  var onChangePage = function onChangePage(_ref3) {
768
454
  var newPage = _ref3.page;
769
455
  return dispatch({
770
- type: ACTION_TYPE.CHANGE_PAGE,
456
+ type: ACTION_TYPE$3.CHANGE_PAGE,
771
457
  page: newPage
772
458
  });
773
459
  };
774
460
 
775
461
  var onChangeSort = function onChangeSort(event, field, order) {
776
462
  return dispatch({
777
- type: ACTION_TYPE.CHANGE_SORT,
463
+ type: ACTION_TYPE$3.CHANGE_SORT,
778
464
  field: field,
779
465
  order: order
780
466
  });
@@ -782,31 +468,31 @@ function useSearch(initialState) {
782
468
 
783
469
  var setSearchText = React.useCallback(function (value) {
784
470
  return dispatch({
785
- type: ACTION_TYPE.CHANGE_SEARCHTEXT,
471
+ type: ACTION_TYPE$3.CHANGE_SEARCHTEXT,
786
472
  value: value
787
473
  });
788
474
  }, []);
789
475
  var setItemSearchDocument = React.useCallback(function (itemSearchDocument) {
790
476
  return dispatch({
791
- type: ACTION_TYPE.CHANGE_ITEMSEARCHDOCUMENT,
477
+ type: ACTION_TYPE$3.CHANGE_ITEMSEARCHDOCUMENT,
792
478
  itemSearchDocument: itemSearchDocument
793
479
  });
794
480
  }, []);
795
481
  var setQueryParams = React.useCallback(function (queryParams) {
796
482
  return dispatch({
797
- type: ACTION_TYPE.CHANGE_ITEMQUERYPARAMS,
483
+ type: ACTION_TYPE$3.CHANGE_ITEMQUERYPARAMS,
798
484
  queryParams: queryParams
799
485
  });
800
486
  }, []);
801
487
  var setMatrixParams = React.useCallback(function (matrixParams) {
802
488
  return dispatch({
803
- type: ACTION_TYPE.CHANGE_ITEMMATRIXPARAMS,
489
+ type: ACTION_TYPE$3.CHANGE_ITEMMATRIXPARAMS,
804
490
  matrixParams: matrixParams
805
491
  });
806
492
  }, []);
807
493
  var setSearchField = React.useCallback(function (field) {
808
494
  return dispatch({
809
- type: ACTION_TYPE.CHANGE_SEARCHFIELD,
495
+ type: ACTION_TYPE$3.CHANGE_SEARCHFIELD,
810
496
  field: field
811
497
  });
812
498
  }, []);
@@ -819,14 +505,14 @@ function useSearch(initialState) {
819
505
  };
820
506
  });
821
507
  dispatch({
822
- type: ACTION_TYPE.CHANGE_SEARCHFIELDFACET,
508
+ type: ACTION_TYPE$3.CHANGE_SEARCHFIELDFACET,
823
509
  field: field,
824
510
  facet: facet
825
511
  });
826
512
  }, []);
827
513
  var setSearchFilter = React.useCallback(function (filter) {
828
514
  return dispatch({
829
- type: ACTION_TYPE.CHANGE_SEARCHFILTER,
515
+ type: ACTION_TYPE$3.CHANGE_SEARCHFILTER,
830
516
  filter: filter
831
517
  });
832
518
  }, []);
@@ -846,26 +532,26 @@ function useSearch(initialState) {
846
532
  };
847
533
  });
848
534
  dispatch({
849
- type: ACTION_TYPE.CHANGE_SEARCHFILTERFACET,
535
+ type: ACTION_TYPE$3.CHANGE_SEARCHFILTERFACET,
850
536
  filter: filter,
851
537
  facet: facet
852
538
  });
853
539
  }, [dispatch]);
854
540
  var setFacet = React.useCallback(function (facet) {
855
541
  dispatch({
856
- type: ACTION_TYPE.CHANGE_FACET,
542
+ type: ACTION_TYPE$3.CHANGE_FACET,
857
543
  facet: facet
858
544
  });
859
545
  }, [dispatch]);
860
546
  var setParentCollection = React.useCallback(function (value) {
861
547
  return dispatch({
862
- type: ACTION_TYPE.CHANGE_PARENT_COLLECTION,
548
+ type: ACTION_TYPE$3.CHANGE_PARENT_COLLECTION,
863
549
  value: value
864
550
  });
865
551
  }, []);
866
552
  var setSuggestion = React.useCallback(function (suggestion) {
867
553
  dispatch({
868
- type: ACTION_TYPE.CHANGE_SUGGESTION,
554
+ type: ACTION_TYPE$3.CHANGE_SUGGESTION,
869
555
  suggestion: suggestion
870
556
  });
871
557
  }, []);
@@ -900,7 +586,11 @@ function useUpdateEffect(fn, inputs) {
900
586
  }, inputs);
901
587
  }
902
588
 
903
- var setInitialDefaultState$1 = function setInitialDefaultState() {
589
+ function ownKeys$g(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
590
+
591
+ function _objectSpread$g(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$g(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$g(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
592
+
593
+ var setInitialDefaultState$3 = function setInitialDefaultState() {
904
594
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
905
595
  _ref$field = _ref.field,
906
596
  field = _ref$field === void 0 ? undefined : _ref$field,
@@ -917,7 +607,7 @@ var setInitialDefaultState$1 = function setInitialDefaultState() {
917
607
  };
918
608
 
919
609
  function useAutocomplete(initialState) {
920
- var initialDefaultState = setInitialDefaultState$1(initialState);
610
+ var initialDefaultState = setInitialDefaultState$3(initialState);
921
611
 
922
612
  var _React$useState = React.useState(initialDefaultState),
923
613
  _React$useState2 = _slicedToArray(_React$useState, 2),
@@ -927,7 +617,7 @@ function useAutocomplete(initialState) {
927
617
  var setAutocompleteField = React.useCallback(function (field) {
928
618
  var text = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
929
619
  setAutocompleteDoc(function (state) {
930
- return _objectSpread2(_objectSpread2({}, state), {}, {
620
+ return _objectSpread$g(_objectSpread$g({}, state), {}, {
931
621
  field: field,
932
622
  text: text
933
623
  });
@@ -935,14 +625,14 @@ function useAutocomplete(initialState) {
935
625
  }, []);
936
626
  var setAutocompleteText = React.useCallback(function (text) {
937
627
  setAutocompleteDoc(function (state) {
938
- return _objectSpread2(_objectSpread2({}, state), {}, {
628
+ return _objectSpread$g(_objectSpread$g({}, state), {}, {
939
629
  text: text
940
630
  });
941
631
  });
942
632
  }, []);
943
633
  var setAutocompleteMaxSuggestions = React.useCallback(function (maximumSuggestions) {
944
634
  setAutocompleteDoc(function (state) {
945
- return _objectSpread2(_objectSpread2({}, state), {}, {
635
+ return _objectSpread$g(_objectSpread$g({}, state), {}, {
946
636
  maximumSuggestions: maximumSuggestions
947
637
  });
948
638
  });
@@ -1102,18 +792,27 @@ function useThumbnailScrub() {
1102
792
  };
1103
793
  }
1104
794
 
1105
- var CHANGE_PAGE$1 = 'CHANGE_PAGE';
1106
- var CHANGE_ROWS$1 = 'CHANGE_ROWS';
1107
- var CHANGE_SORT$1 = 'CHANGE_SORT';
795
+ var _excluded$8 = ["type"];
796
+
797
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
798
+
799
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
800
+
801
+ function ownKeys$f(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
802
+
803
+ function _objectSpread$f(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$f(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$f(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
804
+ var CHANGE_PAGE$2 = 'CHANGE_PAGE';
805
+ var CHANGE_ROWS$2 = 'CHANGE_ROWS';
806
+ var CHANGE_SORT$2 = 'CHANGE_SORT';
1108
807
  var CHANGE_TYPE = 'CHANGE_TYPE';
1109
808
  var CHANGE_STATE = 'CHANGE_STATE';
1110
809
  var CHANGE_PRIORITY = 'CHANGE_PRIORITY';
1111
810
  var CHANGE_STARTTIME = 'CHANGE_STARTTIME';
1112
811
  var CHANGE_FINISHTIME = 'CHANGE_FINISHTIME';
1113
- var ACTION_TYPE$1 = {
1114
- CHANGE_PAGE: CHANGE_PAGE$1,
1115
- CHANGE_ROWS: CHANGE_ROWS$1,
1116
- CHANGE_SORT: CHANGE_SORT$1,
812
+ var ACTION_TYPE$2 = {
813
+ CHANGE_PAGE: CHANGE_PAGE$2,
814
+ CHANGE_ROWS: CHANGE_ROWS$2,
815
+ CHANGE_SORT: CHANGE_SORT$2,
1117
816
  CHANGE_TYPE: CHANGE_TYPE,
1118
817
  CHANGE_STATE: CHANGE_STATE,
1119
818
  CHANGE_PRIORITY: CHANGE_PRIORITY,
@@ -1130,7 +829,7 @@ var setInitialDefaultState$2 = function setInitialDefaultState() {
1130
829
 
1131
830
  return {
1132
831
  queryParams: queryParams,
1133
- matrixParams: _objectSpread2({
832
+ matrixParams: _objectSpread$f({
1134
833
  first: 1,
1135
834
  number: 10
1136
835
  }, matrixParams),
@@ -1140,55 +839,55 @@ var setInitialDefaultState$2 = function setInitialDefaultState() {
1140
839
  };
1141
840
  };
1142
841
 
1143
- var searchReducer$1 = function searchReducer(state, action) {
842
+ var searchReducer$2 = function searchReducer(state, action) {
1144
843
  var type = action.type,
1145
- rest = _objectWithoutProperties(action, ["type"]);
844
+ rest = _objectWithoutProperties(action, _excluded$8);
1146
845
 
1147
846
  switch (type) {
1148
- case ACTION_TYPE$1.CHANGE_PAGE:
847
+ case ACTION_TYPE$2.CHANGE_PAGE:
1149
848
  {
1150
849
  var _action$page = action.page,
1151
850
  page = _action$page === void 0 ? 0 : _action$page;
1152
851
  var _state$rowsPerPage = state.rowsPerPage,
1153
852
  rowsPerPage = _state$rowsPerPage === void 0 ? 10 : _state$rowsPerPage;
1154
- return _objectSpread2(_objectSpread2({}, state), {}, {
853
+ return _objectSpread$f(_objectSpread$f({}, state), {}, {
1155
854
  page: page,
1156
- matrixParams: _objectSpread2(_objectSpread2({}, state.matrixParams), {}, {
855
+ matrixParams: _objectSpread$f(_objectSpread$f({}, state.matrixParams), {}, {
1157
856
  first: page * rowsPerPage + 1
1158
857
  })
1159
858
  });
1160
859
  }
1161
860
 
1162
- case ACTION_TYPE$1.CHANGE_ROWS:
861
+ case ACTION_TYPE$2.CHANGE_ROWS:
1163
862
  {
1164
863
  var _rowsPerPage = action.rowsPerPage;
1165
- return _objectSpread2(_objectSpread2({}, state), {}, {
864
+ return _objectSpread$f(_objectSpread$f({}, state), {}, {
1166
865
  rowsPerPage: _rowsPerPage,
1167
866
  page: 0,
1168
- matrixParams: _objectSpread2(_objectSpread2({}, state.matrixParams), {}, {
867
+ matrixParams: _objectSpread$f(_objectSpread$f({}, state.matrixParams), {}, {
1169
868
  first: 1,
1170
869
  number: _rowsPerPage
1171
870
  })
1172
871
  });
1173
872
  }
1174
873
 
1175
- case ACTION_TYPE$1.CHANGE_SORT:
874
+ case ACTION_TYPE$2.CHANGE_SORT:
1176
875
  {
1177
876
  var field = action.field,
1178
877
  _action$order = action.order,
1179
878
  order = _action$order === void 0 ? 'desc' : _action$order;
1180
- return _objectSpread2(_objectSpread2({}, state), {}, {
879
+ return _objectSpread$f(_objectSpread$f({}, state), {}, {
1181
880
  page: 0,
1182
- matrixParams: _objectSpread2(_objectSpread2({}, state.matrixParams), {}, {
881
+ matrixParams: _objectSpread$f(_objectSpread$f({}, state.matrixParams), {}, {
1183
882
  first: 1,
1184
883
  sort: "".concat(field, " ").concat(order)
1185
884
  })
1186
885
  });
1187
886
  }
1188
887
 
1189
- case ACTION_TYPE$1.CHANGE_TYPE:
1190
- case ACTION_TYPE$1.CHANGE_STATE:
1191
- case ACTION_TYPE$1.CHANGE_PRIORITY:
888
+ case ACTION_TYPE$2.CHANGE_TYPE:
889
+ case ACTION_TYPE$2.CHANGE_STATE:
890
+ case ACTION_TYPE$2.CHANGE_PRIORITY:
1192
891
  {
1193
892
  var _field = rest.field,
1194
893
  _rest$value = rest.value,
@@ -1196,27 +895,27 @@ var searchReducer$1 = function searchReducer(state, action) {
1196
895
  var matrixParams;
1197
896
 
1198
897
  if (!value) {
1199
- var _state$matrixParams = state.matrixParams,
1200
- deleteField = _state$matrixParams[_field],
1201
- newMatrixParams = _objectWithoutProperties(_state$matrixParams, [_field].map(_toPropertyKey));
898
+ var _state$matrixParams = state.matrixParams;
899
+ _state$matrixParams[_field];
900
+ var newMatrixParams = _objectWithoutProperties(_state$matrixParams, [_field].map(_toPropertyKey));
1202
901
 
1203
- matrixParams = _objectSpread2(_objectSpread2({}, newMatrixParams), {}, {
902
+ matrixParams = _objectSpread$f(_objectSpread$f({}, newMatrixParams), {}, {
1204
903
  first: 1
1205
904
  });
1206
905
  } else {
1207
- matrixParams = _objectSpread2(_objectSpread2({}, state.matrixParams), {}, _defineProperty({
906
+ matrixParams = _objectSpread$f(_objectSpread$f({}, state.matrixParams), {}, _defineProperty({
1208
907
  first: 1
1209
908
  }, _field, Array.isArray(value) ? value.join(',') : value));
1210
909
  }
1211
910
 
1212
- return _objectSpread2(_objectSpread2({}, state), {}, {
911
+ return _objectSpread$f(_objectSpread$f({}, state), {}, {
1213
912
  page: 0,
1214
913
  matrixParams: matrixParams
1215
914
  });
1216
915
  }
1217
916
 
1218
- case ACTION_TYPE$1.CHANGE_STARTTIME:
1219
- case ACTION_TYPE$1.CHANGE_FINISHTIME:
917
+ case ACTION_TYPE$2.CHANGE_STARTTIME:
918
+ case ACTION_TYPE$2.CHANGE_FINISHTIME:
1220
919
  {
1221
920
  var _field2 = rest.field,
1222
921
  _rest$value2 = rest.value,
@@ -1225,26 +924,26 @@ var searchReducer$1 = function searchReducer(state, action) {
1225
924
  var queryParams;
1226
925
 
1227
926
  if (!_value) {
1228
- var _state$queryParams = state.queryParams,
1229
- _deleteField = _state$queryParams[_field2],
1230
- newQueryParams = _objectWithoutProperties(_state$queryParams, [_field2].map(_toPropertyKey));
927
+ var _state$queryParams = state.queryParams;
928
+ _state$queryParams[_field2];
929
+ var newQueryParams = _objectWithoutProperties(_state$queryParams, [_field2].map(_toPropertyKey));
1231
930
 
1232
- queryParams = _objectSpread2(_objectSpread2({}, newQueryParams), {}, {
931
+ queryParams = _objectSpread$f(_objectSpread$f({}, newQueryParams), {}, {
1233
932
  first: 1
1234
933
  });
1235
934
  } else {
1236
- queryParams = _objectSpread2(_objectSpread2({}, state.queryParams), {}, _defineProperty({
935
+ queryParams = _objectSpread$f(_objectSpread$f({}, state.queryParams), {}, _defineProperty({
1237
936
  first: 1
1238
937
  }, _field2, _value));
1239
938
  }
1240
939
 
1241
- return _objectSpread2(_objectSpread2({}, state), {}, {
940
+ return _objectSpread$f(_objectSpread$f({}, state), {}, {
1242
941
  page: 0,
1243
942
  queryParams: queryParams
1244
943
  });
1245
944
  }
1246
945
 
1247
- case ACTION_TYPE$1.CHANGE_JOBMETADATA:
946
+ case ACTION_TYPE$2.CHANGE_JOBMETADATA:
1248
947
  {
1249
948
  var _field3 = rest.field,
1250
949
  _rest$value3 = rest.value,
@@ -1253,20 +952,20 @@ var searchReducer$1 = function searchReducer(state, action) {
1253
952
  var _queryParams;
1254
953
 
1255
954
  if (!_value2.length) {
1256
- var _state$queryParams2 = state.queryParams,
1257
- _deleteField2 = _state$queryParams2[_field3],
1258
- _newQueryParams = _objectWithoutProperties(_state$queryParams2, [_field3].map(_toPropertyKey));
955
+ var _state$queryParams2 = state.queryParams;
956
+ _state$queryParams2[_field3];
957
+ var _newQueryParams = _objectWithoutProperties(_state$queryParams2, [_field3].map(_toPropertyKey));
1259
958
 
1260
- _queryParams = _objectSpread2(_objectSpread2({}, _newQueryParams), {}, {
959
+ _queryParams = _objectSpread$f(_objectSpread$f({}, _newQueryParams), {}, {
1261
960
  first: 1
1262
961
  });
1263
962
  } else {
1264
- _queryParams = _objectSpread2(_objectSpread2({}, state.queryParams), {}, _defineProperty({
963
+ _queryParams = _objectSpread$f(_objectSpread$f({}, state.queryParams), {}, _defineProperty({
1265
964
  first: 1
1266
965
  }, _field3, _value2));
1267
966
  }
1268
967
 
1269
- return _objectSpread2(_objectSpread2({}, state), {}, {
968
+ return _objectSpread$f(_objectSpread$f({}, state), {}, {
1270
969
  page: 0,
1271
970
  queryParams: _queryParams,
1272
971
  jobMetadata: _value2
@@ -1281,7 +980,7 @@ var searchReducer$1 = function searchReducer(state, action) {
1281
980
  function useJobSearch(initialState) {
1282
981
  var initialDefaultState = setInitialDefaultState$2(initialState);
1283
982
 
1284
- var _React$useReducer = React.useReducer(searchReducer$1, initialDefaultState),
983
+ var _React$useReducer = React.useReducer(searchReducer$2, initialDefaultState),
1285
984
  _React$useReducer2 = _slicedToArray(_React$useReducer, 2),
1286
985
  state = _React$useReducer2[0],
1287
986
  dispatch = _React$useReducer2[1];
@@ -1291,7 +990,7 @@ function useJobSearch(initialState) {
1291
990
  rowsPerPage = _ref2.target.value;
1292
991
 
1293
992
  return dispatch({
1294
- type: ACTION_TYPE$1.CHANGE_ROWS,
993
+ type: ACTION_TYPE$2.CHANGE_ROWS,
1295
994
  rowsPerPage: rowsPerPage
1296
995
  });
1297
996
  };
@@ -1299,7 +998,7 @@ function useJobSearch(initialState) {
1299
998
  var onChangePage = function onChangePage(_ref3) {
1300
999
  var page = _ref3.page;
1301
1000
  return dispatch({
1302
- type: ACTION_TYPE$1.CHANGE_PAGE,
1001
+ type: ACTION_TYPE$2.CHANGE_PAGE,
1303
1002
  page: page
1304
1003
  });
1305
1004
  };
@@ -1307,7 +1006,7 @@ function useJobSearch(initialState) {
1307
1006
  var onChangeSort = function onChangeSort(event, field, order) {
1308
1007
  var fieldName = _typeof(field) === 'object' ? field.value : field;
1309
1008
  dispatch({
1310
- type: ACTION_TYPE$1.CHANGE_SORT,
1009
+ type: ACTION_TYPE$2.CHANGE_SORT,
1311
1010
  field: fieldName,
1312
1011
  order: order
1313
1012
  });
@@ -1325,7 +1024,7 @@ function useJobSearch(initialState) {
1325
1024
  value = _field4$$value === void 0 ? [] : _field4$$value;
1326
1025
 
1327
1026
  dispatch({
1328
- type: ACTION_TYPE$1.CHANGE_TYPE,
1027
+ type: ACTION_TYPE$2.CHANGE_TYPE,
1329
1028
  field: name,
1330
1029
  value: value.length ? value[0].value : null
1331
1030
  });
@@ -1343,7 +1042,7 @@ function useJobSearch(initialState) {
1343
1042
  value = _field5$$value === void 0 ? [] : _field5$$value;
1344
1043
 
1345
1044
  dispatch({
1346
- type: ACTION_TYPE$1.CHANGE_STATE,
1045
+ type: ACTION_TYPE$2.CHANGE_STATE,
1347
1046
  field: name,
1348
1047
  value: value.length ? value[0].value : null
1349
1048
  });
@@ -1361,7 +1060,7 @@ function useJobSearch(initialState) {
1361
1060
  value = _field6$$value === void 0 ? [] : _field6$$value;
1362
1061
 
1363
1062
  dispatch({
1364
- type: ACTION_TYPE$1.CHANGE_PRIORITY,
1063
+ type: ACTION_TYPE$2.CHANGE_PRIORITY,
1365
1064
  field: name,
1366
1065
  value: value.length ? value[0].value : null
1367
1066
  });
@@ -1379,7 +1078,7 @@ function useJobSearch(initialState) {
1379
1078
  value = _field7$$value === void 0 ? [] : _field7$$value;
1380
1079
 
1381
1080
  dispatch({
1382
- type: ACTION_TYPE$1.CHANGE_STARTTIME,
1081
+ type: ACTION_TYPE$2.CHANGE_STARTTIME,
1383
1082
  field: name,
1384
1083
  value: value.length ? value[0].value : null
1385
1084
  });
@@ -1397,7 +1096,7 @@ function useJobSearch(initialState) {
1397
1096
  value = _field8$$value === void 0 ? [] : _field8$$value;
1398
1097
 
1399
1098
  dispatch({
1400
- type: ACTION_TYPE$1.CHANGE_FINISHTIME,
1099
+ type: ACTION_TYPE$2.CHANGE_FINISHTIME,
1401
1100
  field: name,
1402
1101
  value: value.length ? value[0].value : null
1403
1102
  });
@@ -1405,7 +1104,7 @@ function useJobSearch(initialState) {
1405
1104
 
1406
1105
  var onChangeJobmetadata = function onChangeJobmetadata(value) {
1407
1106
  dispatch({
1408
- type: ACTION_TYPE$1.CHANGE_JOBMETADATA,
1107
+ type: ACTION_TYPE$2.CHANGE_JOBMETADATA,
1409
1108
  field: 'jobmetadata',
1410
1109
  value: value
1411
1110
  });
@@ -1459,6 +1158,11 @@ function b64DecodeUnicode(str) {
1459
1158
  }).join('')) : decompressFromEncodedURIComponent(str);
1460
1159
  }
1461
1160
 
1161
+ var _excluded$7 = ["onUploadFile", "initialMetadata"];
1162
+
1163
+ function ownKeys$e(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1164
+
1165
+ function _objectSpread$e(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$e(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$e(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1462
1166
  var DEFAULT_AUDIO_SHAPETAGS = ['__mp3_160k'];
1463
1167
  var DEFAULT_VIDEO_SHAPETAGS = ['__mp4'];
1464
1168
  var DEFAULT_IMAGE_SHAPETAGS = ['__png'];
@@ -1481,7 +1185,7 @@ var getDefaultShapeTags = function getDefaultShapeTags(file) {
1481
1185
  var chunkedUpload = function chunkedUpload(file) {
1482
1186
  var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1483
1187
  return new Promise(function (resolve, reject) {
1484
- var uploadInstance = new ChunkedUpload(file, _objectSpread2({
1188
+ var uploadInstance = new ChunkedUpload(file, _objectSpread$e({
1485
1189
  onFail: function onFail(error) {
1486
1190
  return reject(error);
1487
1191
  },
@@ -1521,7 +1225,7 @@ var onUploadFile = function onUploadFile(_ref) {
1521
1225
  _mimeType$split2 = _slicedToArray(_mimeType$split, 1),
1522
1226
  mediaType = _mimeType$split2[0];
1523
1227
 
1524
- var metadata = _objectSpread2({
1228
+ var metadata = _objectSpread$e({
1525
1229
  originalFilename: filename,
1526
1230
  mimeType: mimeType,
1527
1231
  mediaType: mediaType
@@ -1530,7 +1234,7 @@ var onUploadFile = function onUploadFile(_ref) {
1530
1234
  var metadataDocument = createMetadataType(metadata);
1531
1235
  vsimport.createImportPlaceholder({
1532
1236
  metadataDocument: metadataDocument,
1533
- queryParams: _objectSpread2({
1237
+ queryParams: _objectSpread$e({
1534
1238
  container: 1
1535
1239
  }, placeholderParams)
1536
1240
  }).then(function (_ref2) {
@@ -1547,13 +1251,13 @@ var onUploadFile = function onUploadFile(_ref) {
1547
1251
  }).then(function () {
1548
1252
  var transferId = generateTransferId();
1549
1253
 
1550
- var queryParams = _objectSpread2({
1254
+ var queryParams = _objectSpread$e({
1551
1255
  filename: filename,
1552
1256
  transferId: transferId,
1553
1257
  tag: shapeTags
1554
1258
  }, importParams);
1555
1259
 
1556
- return chunkedUpload(file, _objectSpread2({
1260
+ return chunkedUpload(file, _objectSpread$e({
1557
1261
  api: {
1558
1262
  method: vsimport.createImportComponentRaw,
1559
1263
  props: {
@@ -1565,7 +1269,7 @@ var onUploadFile = function onUploadFile(_ref) {
1565
1269
  onProgress: onProgress
1566
1270
  }, chunkedUploadProps));
1567
1271
  }).then(function (response) {
1568
- resolve(_objectSpread2(_objectSpread2({}, response), {}, {
1272
+ resolve(_objectSpread$e(_objectSpread$e({}, response), {}, {
1569
1273
  itemId: itemId,
1570
1274
  collectionId: collectionId
1571
1275
  }));
@@ -1585,7 +1289,7 @@ function useUploadFiles(_ref3) {
1585
1289
  handleUploadFile = _ref3$onUploadFile === void 0 ? onUploadFile : _ref3$onUploadFile,
1586
1290
  _ref3$initialMetadata = _ref3.initialMetadata,
1587
1291
  initialMetadata = _ref3$initialMetadata === void 0 ? {} : _ref3$initialMetadata,
1588
- props = _objectWithoutProperties(_ref3, ["onUploadFile", "initialMetadata"]);
1292
+ props = _objectWithoutProperties(_ref3, _excluded$7);
1589
1293
 
1590
1294
  var _React$useState = React.useState([]),
1591
1295
  _React$useState2 = _slicedToArray(_React$useState, 2),
@@ -1605,7 +1309,7 @@ function useUploadFiles(_ref3) {
1605
1309
  var newFilesObj = newFiles.map(function (file) {
1606
1310
  return {
1607
1311
  file: file,
1608
- metadata: _objectSpread2({
1312
+ metadata: _objectSpread$e({
1609
1313
  title: file.name
1610
1314
  }, initialMetadata)
1611
1315
  };
@@ -1627,10 +1331,10 @@ function useUploadFiles(_ref3) {
1627
1331
 
1628
1332
  var newFilesList = _toConsumableArray(currentFilesList);
1629
1333
 
1630
- var newFile = _objectSpread2({}, currentFile);
1334
+ var newFile = _objectSpread$e({}, currentFile);
1631
1335
 
1632
- if (newMetadata) newFile.metadata = _objectSpread2(_objectSpread2({}, currentMetadata), newMetadata);
1633
- if (newProgress) newFile.progress = _objectSpread2(_objectSpread2({}, currentProgress), newProgress);
1336
+ if (newMetadata) newFile.metadata = _objectSpread$e(_objectSpread$e({}, currentMetadata), newMetadata);
1337
+ if (newProgress) newFile.progress = _objectSpread$e(_objectSpread$e({}, currentProgress), newProgress);
1634
1338
  newFilesList[idx] = newFile;
1635
1339
  return newFilesList;
1636
1340
  });
@@ -1658,7 +1362,7 @@ function useUploadFiles(_ref3) {
1658
1362
  return previousPromise;
1659
1363
  }
1660
1364
 
1661
- return handleUploadFile(_objectSpread2(_objectSpread2({
1365
+ return handleUploadFile(_objectSpread$e(_objectSpread$e({
1662
1366
  file: thisFile.file,
1663
1367
  onProgress: onChangeProgress(idx),
1664
1368
  metadata: thisFile.metadata
@@ -1694,15 +1398,23 @@ function useUploadFiles(_ref3) {
1694
1398
  };
1695
1399
  }
1696
1400
 
1401
+ // TODO: change to expose "onNavigate" and take in "path" and "search" strings
1402
+
1697
1403
  function useQueryInitialState(_ref) {
1698
1404
  var history = _ref.history,
1405
+ navigate = _ref.navigate,
1406
+ propLocation = _ref.location,
1699
1407
  _ref$queryName = _ref.queryName,
1700
1408
  queryName = _ref$queryName === void 0 ? 'q' : _ref$queryName,
1701
1409
  _ref$defaultState = _ref.defaultState,
1702
1410
  defaultState = _ref$defaultState === void 0 ? undefined : _ref$defaultState;
1703
1411
  var defaultStateRef = React.useRef(defaultState);
1704
1412
  var queryState = React.useMemo(function () {
1705
- var searchParams = new URLSearchParams(history.location.search);
1413
+ var _ref2 = history || {},
1414
+ _ref2$location = _ref2.location,
1415
+ location = _ref2$location === void 0 ? propLocation : _ref2$location;
1416
+
1417
+ var searchParams = new URLSearchParams(location.search);
1706
1418
  var encodedQuery = searchParams.get(queryName);
1707
1419
 
1708
1420
  if (!encodedQuery) {
@@ -1713,40 +1425,65 @@ function useQueryInitialState(_ref) {
1713
1425
  var decodedQuery = b64DecodeUnicode(encodedQuery);
1714
1426
  return JSON.parse(decodedQuery);
1715
1427
  } catch (error) {
1716
- // TODO: Show error snackbar: "Could not parse search query"
1717
- // eslint-disable-next-line no-console
1718
- console.error(error);
1719
- history.replace({
1720
- pathName: history.location.pathName,
1721
- search: ''
1722
- });
1428
+ if (history) {
1429
+ history.replace({
1430
+ pathName: history.location.pathName,
1431
+ search: ''
1432
+ });
1433
+ } else if (navigate) {
1434
+ navigate(location.pathName, {
1435
+ replace: true
1436
+ });
1437
+ }
1723
1438
  }
1724
1439
 
1725
1440
  return undefined;
1726
- }, [defaultStateRef, history, queryName]);
1441
+ }, [history, navigate, propLocation, queryName]);
1727
1442
  return {
1728
1443
  queryInitialState: queryState
1729
1444
  };
1730
1445
  }
1731
1446
 
1447
+ // TODO: change to expose "onNavigate" and take in "path" and "search" strings
1448
+
1732
1449
  function useUpdateQueryState(_ref) {
1733
1450
  var history = _ref.history,
1451
+ navigate = _ref.navigate,
1452
+ propLocation = _ref.location,
1734
1453
  state = _ref.state,
1735
1454
  _ref$queryName = _ref.queryName,
1736
1455
  queryName = _ref$queryName === void 0 ? 'q' : _ref$queryName;
1737
1456
  var onSearchStateChange = React.useCallback(function () {
1457
+ var _ref2 = history || {},
1458
+ _ref2$location = _ref2.location,
1459
+ location = _ref2$location === void 0 ? propLocation : _ref2$location;
1460
+
1738
1461
  var encodedQuery = b64EncodeUnicode(JSON.stringify(state));
1739
- history.replace({
1740
- pathName: history.location.pathName,
1741
- search: "?".concat(queryName, "=").concat(encodedQuery)
1742
- });
1743
- }, [history, queryName, state]); // Don't need to set query on mount
1462
+
1463
+ if (history) {
1464
+ history.replace({
1465
+ pathName: location.pathName,
1466
+ search: "?".concat(queryName, "=").concat(encodedQuery)
1467
+ });
1468
+ } else if (navigate) {
1469
+ navigate("".concat(location.pathName, "?").concat(queryName, "=").concat(encodedQuery), {
1470
+ replace: true
1471
+ });
1472
+ }
1473
+ }, [history, navigate, propLocation, queryName, state]); // Don't need to set query on mount
1744
1474
 
1745
1475
  useUpdateEffect(function () {
1746
1476
  onSearchStateChange(state);
1747
1477
  }, [onSearchStateChange, state]);
1748
1478
  }
1749
1479
 
1480
+ var _excluded$6 = ["accessId"],
1481
+ _excluded2$2 = ["accessControlDocument"];
1482
+
1483
+ function ownKeys$d(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1484
+
1485
+ function _objectSpread$d(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$d(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$d(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1486
+
1750
1487
  var useEntityAccess = function useEntityAccess(_ref) {
1751
1488
  var entityId = _ref.entityId,
1752
1489
  entityType = _ref.entityType;
@@ -1759,7 +1496,7 @@ var useEntityAccess = function useEntityAccess(_ref) {
1759
1496
 
1760
1497
  var onList = useCallback(function () {
1761
1498
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1762
- return listEntityAccess(_objectSpread2({
1499
+ return listEntityAccess(_objectSpread$d({
1763
1500
  entityId: entityId,
1764
1501
  entityType: entityType
1765
1502
  }, props));
@@ -1767,9 +1504,9 @@ var useEntityAccess = function useEntityAccess(_ref) {
1767
1504
  [entityId, entityType]);
1768
1505
  var onRemove = useCallback(function (_ref2) {
1769
1506
  var accessId = _ref2.accessId,
1770
- props = _objectWithoutProperties(_ref2, ["accessId"]);
1507
+ props = _objectWithoutProperties(_ref2, _excluded$6);
1771
1508
 
1772
- return access.removeEntityAccess(_objectSpread2({
1509
+ return access.removeEntityAccess(_objectSpread$d({
1773
1510
  accessId: accessId,
1774
1511
  entityId: entityId,
1775
1512
  entityType: entityType
@@ -1777,9 +1514,9 @@ var useEntityAccess = function useEntityAccess(_ref) {
1777
1514
  }, [entityId, entityType]);
1778
1515
  var onAdd = useCallback(function (_ref3) {
1779
1516
  var accessControlDocument = _ref3.accessControlDocument,
1780
- props = _objectWithoutProperties(_ref3, ["accessControlDocument"]);
1517
+ props = _objectWithoutProperties(_ref3, _excluded2$2);
1781
1518
 
1782
- return access.createEntityAccess(_objectSpread2({
1519
+ return access.createEntityAccess(_objectSpread$d({
1783
1520
  entityType: entityType,
1784
1521
  entityId: entityId,
1785
1522
  accessControlDocument: accessControlDocument
@@ -1794,12 +1531,21 @@ var useEntityAccess = function useEntityAccess(_ref) {
1794
1531
  };
1795
1532
  };
1796
1533
 
1534
+ var _excluded$5 = ["name"],
1535
+ _excluded2$1 = ["label"],
1536
+ _excluded3 = ["name", "field", "group"],
1537
+ _excluded4 = ["label"];
1538
+
1539
+ function ownKeys$c(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1540
+
1541
+ function _objectSpread$c(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$c(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$c(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1542
+
1797
1543
  var getValueFromData = function getValueFromData() {
1798
1544
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1799
1545
  _ref$data = _ref.data,
1800
1546
  data = _ref$data === void 0 ? [] : _ref$data;
1801
1547
 
1802
- var key = arguments.length > 1 ? arguments[1] : undefined;
1548
+ var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
1803
1549
  if (!key) return undefined;
1804
1550
 
1805
1551
  var _ref2 = data.find(function (d) {
@@ -1890,15 +1636,15 @@ var useAddMetadataFieldAttributes = function useAddMetadataFieldAttributes(_ref5
1890
1636
  var fieldsAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1891
1637
  return fieldsArray.map(function (_ref6) {
1892
1638
  var name = _ref6.name,
1893
- overrides = _objectWithoutProperties(_ref6, ["name"]);
1639
+ overrides = _objectWithoutProperties(_ref6, _excluded$5);
1894
1640
 
1895
1641
  var fieldAttributes = fieldsAttributes[name] || {};
1896
1642
 
1897
1643
  var _getDataAttributes = getDataAttributes(fieldAttributes, fieldDataToInclude.split(',')),
1898
1644
  label = _getDataAttributes.label,
1899
- dataAttributes = _objectWithoutProperties(_getDataAttributes, ["label"]);
1645
+ dataAttributes = _objectWithoutProperties(_getDataAttributes, _excluded2$1);
1900
1646
 
1901
- return _objectSpread2(_objectSpread2({
1647
+ return _objectSpread$c(_objectSpread$c({
1902
1648
  name: name,
1903
1649
  label: label || name,
1904
1650
  type: fieldAttributes.type,
@@ -1916,7 +1662,7 @@ var useAddMetadataFieldAttributes = function useAddMetadataFieldAttributes(_ref5
1916
1662
  var name = _ref7.name,
1917
1663
  field = _ref7.field,
1918
1664
  group = _ref7.group,
1919
- overrides = _objectWithoutProperties(_ref7, ["name", "field", "group"]);
1665
+ overrides = _objectWithoutProperties(_ref7, _excluded3);
1920
1666
 
1921
1667
  var groupAttributes = groupsAttributes[name] || {};
1922
1668
  var childFields = field || groupAttributes && groupAttributes.field;
@@ -1924,9 +1670,9 @@ var useAddMetadataFieldAttributes = function useAddMetadataFieldAttributes(_ref5
1924
1670
 
1925
1671
  var _getDataAttributes2 = getDataAttributes(groupAttributes, groupDataToInclude.split(',')),
1926
1672
  label = _getDataAttributes2.label,
1927
- dataAttributes = _objectWithoutProperties(_getDataAttributes2, ["label"]);
1673
+ dataAttributes = _objectWithoutProperties(_getDataAttributes2, _excluded4);
1928
1674
 
1929
- return _objectSpread2(_objectSpread2({
1675
+ return _objectSpread$c(_objectSpread$c({
1930
1676
  name: name,
1931
1677
  label: label || name,
1932
1678
  order: getValueFromData(groupAttributes, 'order'),
@@ -1943,10 +1689,10 @@ var useAddMetadataFieldAttributes = function useAddMetadataFieldAttributes(_ref5
1943
1689
  }
1944
1690
 
1945
1691
  function _fetchAttributesAsync() {
1946
- _fetchAttributesAsync = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
1692
+ _fetchAttributesAsync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
1947
1693
  var fieldsAttributes, groupsAttributes, fieldPromises, queryParams, groupPromises, groupsToFetch, _queryParams;
1948
1694
 
1949
- return regeneratorRuntime.wrap(function _callee3$(_context3) {
1695
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
1950
1696
  while (1) {
1951
1697
  switch (_context3.prev = _context3.next) {
1952
1698
  case 0:
@@ -1956,14 +1702,14 @@ var useAddMetadataFieldAttributes = function useAddMetadataFieldAttributes(_ref5
1956
1702
  fieldPromises = [];
1957
1703
 
1958
1704
  if (fields) {
1959
- queryParams = _objectSpread2(_objectSpread2({}, fieldQueryParams), {}, {
1705
+ queryParams = _objectSpread$c(_objectSpread$c({}, fieldQueryParams), {}, {
1960
1706
  data: fieldDataToInclude
1961
1707
  });
1962
1708
  fieldPromises = fields.map( /*#__PURE__*/function () {
1963
- var _ref9 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(_ref8) {
1709
+ var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref8) {
1964
1710
  var fieldName, _yield$MetadataFieldA, data;
1965
1711
 
1966
- return regeneratorRuntime.wrap(function _callee$(_context) {
1712
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
1967
1713
  while (1) {
1968
1714
  switch (_context.prev = _context.next) {
1969
1715
  case 0:
@@ -2006,14 +1752,14 @@ var useAddMetadataFieldAttributes = function useAddMetadataFieldAttributes(_ref5
2006
1752
 
2007
1753
  if (groups) {
2008
1754
  groupsToFetch = _toConsumableArray(groups);
2009
- _queryParams = _objectSpread2(_objectSpread2({}, groupQueryParams), {}, {
1755
+ _queryParams = _objectSpread$c(_objectSpread$c({}, groupQueryParams), {}, {
2010
1756
  data: groupDataToInclude
2011
1757
  });
2012
1758
  groupPromises = groupsToFetch.map( /*#__PURE__*/function () {
2013
- var _ref11 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(_ref10) {
1759
+ var _ref11 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref10) {
2014
1760
  var groupName, _yield$FieldGroupApi$, data, _data$field, field, _data$group, group;
2015
1761
 
2016
- return regeneratorRuntime.wrap(function _callee2$(_context2) {
1762
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
2017
1763
  while (1) {
2018
1764
  switch (_context2.prev = _context2.next) {
2019
1765
  case 0:
@@ -2036,7 +1782,7 @@ var useAddMetadataFieldAttributes = function useAddMetadataFieldAttributes(_ref5
2036
1782
 
2037
1783
  if (dataValues) {
2038
1784
  var jsonValues = convertValuesXmlToJson(dataValues.value);
2039
- fieldsAttributes[f.name] = _objectSpread2(_objectSpread2({}, f), {}, {
1785
+ fieldsAttributes[f.name] = _objectSpread$c(_objectSpread$c({}, f), {}, {
2040
1786
  values: jsonValues
2041
1787
  });
2042
1788
  }
@@ -2124,27 +1870,33 @@ var useAddMetadataFieldAttributes = function useAddMetadataFieldAttributes(_ref5
2124
1870
  };
2125
1871
  };
2126
1872
 
2127
- var UPDATE_FREQUENCY = 1000; // Prevents access controls set on the library (i.e. saved search) from cascading down to items
1873
+ var _excluded$4 = ["setItemSearchDocument"];
2128
1874
 
2129
- var UPDATE_MODE = 'TRANSIENT';
1875
+ function ownKeys$b(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2130
1876
 
2131
- function saveSearch(_ref) {
2132
- var metadata = _ref.metadata,
2133
- markerField = _ref.markerField,
1877
+ function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$b(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1878
+
1879
+ var UPDATE_FREQUENCY$1 = 1000; // Prevents access controls set on the library (i.e. saved search) from cascading down to items
1880
+
1881
+ var UPDATE_MODE$1 = 'TRANSIENT';
1882
+
1883
+ function saveSearch(_ref) {
1884
+ var metadata = _ref.metadata,
1885
+ markerField = _ref.markerField,
2134
1886
  markerValue = _ref.markerValue,
2135
1887
  itemSearchDocument = _ref.itemSearchDocument;
2136
1888
  return item.searchItem({
2137
1889
  queryParams: {
2138
1890
  result: 'library',
2139
- updateMode: UPDATE_MODE,
2140
- updateFrequency: UPDATE_FREQUENCY
1891
+ updateMode: UPDATE_MODE$1,
1892
+ updateFrequency: UPDATE_FREQUENCY$1
2141
1893
  },
2142
1894
  itemSearchDocument: itemSearchDocument
2143
1895
  }).then(function (_ref2) {
2144
1896
  var library = _ref2.data.library;
2145
1897
  return collection.createCollection({
2146
1898
  collectionDocument: {
2147
- metadata: markerField ? createMetadataType(_objectSpread2(_defineProperty({}, markerField, markerValue || library), metadata)) : metadata,
1899
+ metadata: markerField ? createMetadataType(_objectSpread$b(_defineProperty({}, markerField, markerValue || library), metadata)) : metadata,
2148
1900
  content: [{
2149
1901
  id: library,
2150
1902
  type: 'library'
@@ -2157,7 +1909,7 @@ function saveSearch(_ref) {
2157
1909
  var getLibraryFromCollection = function getLibraryFromCollection(_ref3) {
2158
1910
  var collectionId = _ref3.collectionId;
2159
1911
  return new Promise(function (resolve, reject) {
2160
- return collection.getCollection({
1912
+ collection.getCollection({
2161
1913
  collectionId: collectionId,
2162
1914
  queryParams: {
2163
1915
  children: 'library'
@@ -2193,7 +1945,7 @@ var deleteSearch = function deleteSearch(_ref5) {
2193
1945
  function getLibrarySettings(_ref7) {
2194
1946
  var libraryId = _ref7.libraryId;
2195
1947
  return new Promise(function (resolve) {
2196
- return library.getLibrarySettings({
1948
+ library.getLibrarySettings({
2197
1949
  libraryId: libraryId
2198
1950
  }).then(function (_ref8) {
2199
1951
  var query = _ref8.data.query;
@@ -2205,7 +1957,7 @@ function getLibrarySettings(_ref7) {
2205
1957
  var getSavedSearchSettings = function getSavedSearchSettings(_ref9) {
2206
1958
  var collectionId = _ref9.collectionId;
2207
1959
  return new Promise(function (resolve) {
2208
- return getLibraryFromCollection({
1960
+ getLibraryFromCollection({
2209
1961
  collectionId: collectionId
2210
1962
  }).then(function (_ref10) {
2211
1963
  var libraryId = _ref10.id;
@@ -2241,7 +1993,7 @@ function useSavedSearch(_ref11) {
2241
1993
 
2242
1994
  var mergeMarkerField = function mergeMarkerField() {
2243
1995
  var itemSearchDocument = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2244
- return _objectSpread2(_objectSpread2({}, itemSearchDocument), {}, {
1996
+ return _objectSpread$b(_objectSpread$b({}, itemSearchDocument), {}, {
2245
1997
  operator: {
2246
1998
  field: [{
2247
1999
  name: markerField,
@@ -2255,19 +2007,19 @@ function useSavedSearch(_ref11) {
2255
2007
  });
2256
2008
  };
2257
2009
 
2258
- var searchProps = useSearch(_objectSpread2(_objectSpread2({}, initialSearchState), {}, {
2010
+ var searchProps = useSearch(_objectSpread$b(_objectSpread$b({}, initialSearchState), {}, {
2259
2011
  itemSearchDocument: mergeMarkerField()
2260
2012
  }));
2261
2013
 
2262
2014
  var _setItemSearchDocument = searchProps.setItemSearchDocument,
2263
- props = _objectWithoutProperties(searchProps, ["setItemSearchDocument"]);
2015
+ props = _objectWithoutProperties(searchProps, _excluded$4);
2264
2016
 
2265
2017
  return {
2266
2018
  onSaveSearch: saveSearchWithMarker,
2267
2019
  onDeleteSearch: onDeleteSearch,
2268
2020
  onUpdateSearchMetadata: onUpdateSearchMetadata,
2269
2021
  onGetSavedSearchSettings: onGetSavedSearchSettings,
2270
- searchProps: _objectSpread2({
2022
+ searchProps: _objectSpread$b({
2271
2023
  setItemSearchDocument: function setItemSearchDocument(itemSearchDocument) {
2272
2024
  return _setItemSearchDocument(mergeMarkerField(itemSearchDocument));
2273
2025
  }
@@ -2331,7 +2083,7 @@ var useMouseDownPosition = function useMouseDownPosition() {
2331
2083
  return position;
2332
2084
  };
2333
2085
 
2334
- function useGetCollection(_ref) {
2086
+ function useGetCollection$1(_ref) {
2335
2087
  var collectionId = _ref.collectionId,
2336
2088
  _ref$queryParams = _ref.queryParams,
2337
2089
  queryParams = _ref$queryParams === void 0 ? {} : _ref$queryParams,
@@ -2363,7 +2115,7 @@ function useGetCollection(_ref) {
2363
2115
  };
2364
2116
  }
2365
2117
 
2366
- function useGetCollection$1(_ref) {
2118
+ function useGetCollection(_ref) {
2367
2119
  var collectionId = _ref.collectionId,
2368
2120
  _ref$queryParams = _ref.queryParams,
2369
2121
  queryParams = _ref$queryParams === void 0 ? {} : _ref$queryParams,
@@ -2391,6 +2143,20 @@ function useGetCollection$1(_ref) {
2391
2143
  };
2392
2144
  }
2393
2145
 
2146
+ var _excluded$3 = ["request", "data"];
2147
+
2148
+ function ownKeys$a(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2149
+
2150
+ function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$a(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2151
+ /**
2152
+ * Get Entity by id and type
2153
+ * @param {Object} object - Entity information object
2154
+ * @param {string} object.entityId - Entity id
2155
+ * @param {string} object.entityType - Entity type, ["item", "collection", "library"]
2156
+ * @throws Throws error if unsupported type
2157
+ * @returns {Object} Entity retrieved from VS
2158
+ */
2159
+
2394
2160
  var useGetEntity = function useGetEntity(_ref) {
2395
2161
  var _objectSpread3;
2396
2162
 
@@ -2420,20 +2186,23 @@ var useGetEntity = function useGetEntity(_ref) {
2420
2186
  break;
2421
2187
 
2422
2188
  default:
2423
- throw new Error("unknown entityType}");
2189
+ throw new Error("unknown entityType");
2424
2190
  }
2425
2191
 
2426
2192
  var _useApi = useApi(entityApi),
2427
2193
  request = _useApi.request,
2428
2194
  data = _useApi.data,
2429
- apiProps = _objectWithoutProperties(_useApi, ["request", "data"]);
2195
+ apiProps = _objectWithoutProperties(_useApi, _excluded$3);
2430
2196
 
2431
2197
  var onGetEntity = React.useCallback(function (props) {
2432
- return request(_objectSpread2(_defineProperty({}, entityTypeId, entityId), props));
2198
+ return request(_objectSpread$a(_defineProperty({}, entityTypeId, entityId), props));
2433
2199
  }, [entityId, entityTypeId, request]);
2434
- return _objectSpread2((_objectSpread3 = {}, _defineProperty(_objectSpread3, dataType, data), _defineProperty(_objectSpread3, entityTypeId, entityId), _defineProperty(_objectSpread3, "onGetEntity", onGetEntity), _objectSpread3), apiProps);
2200
+ return _objectSpread$a((_objectSpread3 = {}, _defineProperty(_objectSpread3, dataType, data), _defineProperty(_objectSpread3, entityTypeId, entityId), _defineProperty(_objectSpread3, "onGetEntity", onGetEntity), _objectSpread3), apiProps);
2435
2201
  };
2436
2202
 
2203
+ function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2204
+
2205
+ function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$9(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2437
2206
  function useUser(initialState) {
2438
2207
  var _useApi = useApi(user.getUser, {
2439
2208
  data: initialState
@@ -2502,20 +2271,20 @@ function useUser(initialState) {
2502
2271
 
2503
2272
  return user.disableUser({
2504
2273
  userName: userName,
2505
- queryParams: _objectSpread2({
2274
+ queryParams: _objectSpread$9({
2506
2275
  hard: true
2507
2276
  }, queryParams)
2508
2277
  });
2509
2278
  };
2510
2279
 
2511
2280
  var disableUser = function disableUser(args) {
2512
- return user.disableUser(_objectSpread2({
2281
+ return user.disableUser(_objectSpread$9({
2513
2282
  userName: userName
2514
2283
  }, args)).then(getUser);
2515
2284
  };
2516
2285
 
2517
2286
  var enableUser = function enableUser(args) {
2518
- return user.enableUser(_objectSpread2({
2287
+ return user.enableUser(_objectSpread$9({
2519
2288
  userName: userName
2520
2289
  }, args)).then(getUser);
2521
2290
  };
@@ -2533,18 +2302,21 @@ function useUser(initialState) {
2533
2302
  };
2534
2303
  }
2535
2304
 
2536
- var CHANGE_PAGE$2 = 'CHANGE_PAGE';
2537
- var CHANGE_ROWS$2 = 'CHANGE_ROWS';
2538
- var CHANGE_SORT$2 = 'CHANGE_SORT';
2539
- var CHANGE_QUERY = 'CHANGE_QUERY';
2540
- var ACTION_TYPE$2 = {
2541
- CHANGE_PAGE: CHANGE_PAGE$2,
2542
- CHANGE_ROWS: CHANGE_ROWS$2,
2543
- CHANGE_SORT: CHANGE_SORT$2,
2544
- CHANGE_QUERY: CHANGE_QUERY
2305
+ function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2306
+
2307
+ function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$8(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2308
+ var CHANGE_PAGE$1 = 'CHANGE_PAGE';
2309
+ var CHANGE_ROWS$1 = 'CHANGE_ROWS';
2310
+ var CHANGE_SORT$1 = 'CHANGE_SORT';
2311
+ var CHANGE_QUERY$1 = 'CHANGE_QUERY';
2312
+ var ACTION_TYPE$1 = {
2313
+ CHANGE_PAGE: CHANGE_PAGE$1,
2314
+ CHANGE_ROWS: CHANGE_ROWS$1,
2315
+ CHANGE_SORT: CHANGE_SORT$1,
2316
+ CHANGE_QUERY: CHANGE_QUERY$1
2545
2317
  };
2546
2318
 
2547
- var setInitialDefaultState$3 = function setInitialDefaultState() {
2319
+ var setInitialDefaultState$1 = function setInitialDefaultState() {
2548
2320
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
2549
2321
  _ref$queryParams = _ref.queryParams,
2550
2322
  queryParams = _ref$queryParams === void 0 ? {} : _ref$queryParams,
@@ -2554,7 +2326,7 @@ var setInitialDefaultState$3 = function setInitialDefaultState() {
2554
2326
  page = _ref$page === void 0 ? 0 : _ref$page;
2555
2327
 
2556
2328
  return {
2557
- queryParams: _objectSpread2({
2329
+ queryParams: _objectSpread$8({
2558
2330
  first: page * rowsPerPage + 1,
2559
2331
  number: rowsPerPage
2560
2332
  }, queryParams),
@@ -2569,45 +2341,45 @@ var setInitialDefaultState$3 = function setInitialDefaultState() {
2569
2341
  };
2570
2342
  };
2571
2343
 
2572
- var searchReducer$2 = function searchReducer(state, action) {
2344
+ var searchReducer$1 = function searchReducer(state, action) {
2573
2345
  var type = action.type;
2574
2346
 
2575
2347
  switch (type) {
2576
- case ACTION_TYPE$2.CHANGE_PAGE:
2348
+ case ACTION_TYPE$1.CHANGE_PAGE:
2577
2349
  {
2578
2350
  var page = action.page;
2579
- return _objectSpread2(_objectSpread2({}, state), {}, {
2351
+ return _objectSpread$8(_objectSpread$8({}, state), {}, {
2580
2352
  page: page,
2581
- queryParams: _objectSpread2(_objectSpread2({}, state.queryParams), {}, {
2353
+ queryParams: _objectSpread$8(_objectSpread$8({}, state.queryParams), {}, {
2582
2354
  first: page * state.rowsPerPage + 1
2583
2355
  })
2584
2356
  });
2585
2357
  }
2586
2358
 
2587
- case ACTION_TYPE$2.CHANGE_ROWS:
2359
+ case ACTION_TYPE$1.CHANGE_ROWS:
2588
2360
  {
2589
2361
  var rowsPerPage = action.rowsPerPage;
2590
- return _objectSpread2(_objectSpread2({}, state), {}, {
2362
+ return _objectSpread$8(_objectSpread$8({}, state), {}, {
2591
2363
  rowsPerPage: rowsPerPage,
2592
2364
  page: 0,
2593
- queryParams: _objectSpread2(_objectSpread2({}, state.queryParams), {}, {
2365
+ queryParams: _objectSpread$8(_objectSpread$8({}, state.queryParams), {}, {
2594
2366
  first: 1,
2595
2367
  number: rowsPerPage
2596
2368
  })
2597
2369
  });
2598
2370
  }
2599
2371
 
2600
- case ACTION_TYPE$2.CHANGE_QUERY:
2372
+ case ACTION_TYPE$1.CHANGE_QUERY:
2601
2373
  {
2602
- return _objectSpread2(_objectSpread2({}, state), {}, {
2374
+ return _objectSpread$8(_objectSpread$8({}, state), {}, {
2603
2375
  page: 0,
2604
- userSearchDocument: _objectSpread2(_objectSpread2({}, state.userSearchDocument), {}, {
2376
+ userSearchDocument: _objectSpread$8(_objectSpread$8({}, state.userSearchDocument), {}, {
2605
2377
  field: [{
2606
2378
  name: action.field || 'username',
2607
2379
  value: action.query || ''
2608
2380
  }]
2609
2381
  }),
2610
- queryParams: _objectSpread2(_objectSpread2({}, state.queryParams), {}, {
2382
+ queryParams: _objectSpread$8(_objectSpread$8({}, state.queryParams), {}, {
2611
2383
  first: 1
2612
2384
  })
2613
2385
  });
@@ -2619,9 +2391,9 @@ var searchReducer$2 = function searchReducer(state, action) {
2619
2391
  };
2620
2392
 
2621
2393
  function useSearchUser(initialState) {
2622
- var initialDefaultState = setInitialDefaultState$3(initialState);
2394
+ var initialDefaultState = setInitialDefaultState$1(initialState);
2623
2395
 
2624
- var _React$useReducer = React.useReducer(searchReducer$2, initialDefaultState),
2396
+ var _React$useReducer = React.useReducer(searchReducer$1, initialDefaultState),
2625
2397
  _React$useReducer2 = _slicedToArray(_React$useReducer, 2),
2626
2398
  state = _React$useReducer2[0],
2627
2399
  dispatch = _React$useReducer2[1];
@@ -2648,7 +2420,7 @@ function useSearchUser(initialState) {
2648
2420
  rowsPerPage = _ref2.target.value;
2649
2421
 
2650
2422
  return dispatch({
2651
- type: ACTION_TYPE$2.CHANGE_ROWS,
2423
+ type: ACTION_TYPE$1.CHANGE_ROWS,
2652
2424
  rowsPerPage: rowsPerPage
2653
2425
  });
2654
2426
  };
@@ -2656,7 +2428,7 @@ function useSearchUser(initialState) {
2656
2428
  var onChangePage = function onChangePage(_ref3) {
2657
2429
  var page = _ref3.page;
2658
2430
  return dispatch({
2659
- type: ACTION_TYPE$2.CHANGE_PAGE,
2431
+ type: ACTION_TYPE$1.CHANGE_PAGE,
2660
2432
  page: page
2661
2433
  });
2662
2434
  };
@@ -2664,7 +2436,7 @@ function useSearchUser(initialState) {
2664
2436
  var onChangeSort = function onChangeSort(event, field, order) {
2665
2437
  var fieldName = _typeof(field) === 'object' ? field.value : field;
2666
2438
  dispatch({
2667
- type: ACTION_TYPE$2.CHANGE_SORT,
2439
+ type: ACTION_TYPE$1.CHANGE_SORT,
2668
2440
  field: fieldName,
2669
2441
  order: order
2670
2442
  });
@@ -2672,13 +2444,13 @@ function useSearchUser(initialState) {
2672
2444
 
2673
2445
  var onChangeQuery = function onChangeQuery(field, query) {
2674
2446
  dispatch({
2675
- type: ACTION_TYPE$2.CHANGE_QUERY,
2447
+ type: ACTION_TYPE$1.CHANGE_QUERY,
2676
2448
  field: field,
2677
2449
  query: query
2678
2450
  });
2679
2451
  };
2680
2452
 
2681
- return _objectSpread2(_objectSpread2({}, state), {}, {
2453
+ return _objectSpread$8(_objectSpread$8({}, state), {}, {
2682
2454
  hasLoaded: hasLoaded,
2683
2455
  isError: isError,
2684
2456
  userListDocument: userListDocument,
@@ -2732,20 +2504,23 @@ var useListUser = function useListUser(args) {
2732
2504
  };
2733
2505
  };
2734
2506
 
2735
- var CHANGE_PAGE$3 = 'CHANGE_PAGE';
2736
- var CHANGE_ROWS$3 = 'CHANGE_ROWS';
2737
- var CHANGE_SORT$3 = 'CHANGE_SORT';
2738
- var CHANGE_QUERY$1 = 'CHANGE_QUERY';
2507
+ function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2508
+
2509
+ function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$7(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2510
+ var CHANGE_PAGE = 'CHANGE_PAGE';
2511
+ var CHANGE_ROWS = 'CHANGE_ROWS';
2512
+ var CHANGE_SORT = 'CHANGE_SORT';
2513
+ var CHANGE_QUERY = 'CHANGE_QUERY';
2739
2514
  var HIDE_ROLES = 'HIDE_ROLES';
2740
- var ACTION_TYPE$3 = {
2741
- CHANGE_PAGE: CHANGE_PAGE$3,
2742
- CHANGE_ROWS: CHANGE_ROWS$3,
2743
- CHANGE_SORT: CHANGE_SORT$3,
2744
- CHANGE_QUERY: CHANGE_QUERY$1,
2515
+ var ACTION_TYPE = {
2516
+ CHANGE_PAGE: CHANGE_PAGE,
2517
+ CHANGE_ROWS: CHANGE_ROWS,
2518
+ CHANGE_SORT: CHANGE_SORT,
2519
+ CHANGE_QUERY: CHANGE_QUERY,
2745
2520
  HIDE_ROLES: HIDE_ROLES
2746
2521
  };
2747
2522
 
2748
- var setInitialDefaultState$4 = function setInitialDefaultState() {
2523
+ var setInitialDefaultState = function setInitialDefaultState() {
2749
2524
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
2750
2525
  _ref$queryParams = _ref.queryParams,
2751
2526
  queryParams = _ref$queryParams === void 0 ? {} : _ref$queryParams,
@@ -2755,7 +2530,7 @@ var setInitialDefaultState$4 = function setInitialDefaultState() {
2755
2530
  page = _ref$page === void 0 ? 0 : _ref$page;
2756
2531
 
2757
2532
  return {
2758
- queryParams: _objectSpread2({
2533
+ queryParams: _objectSpread$7({
2759
2534
  first: page * rowsPerPage + 1,
2760
2535
  number: rowsPerPage
2761
2536
  }, queryParams),
@@ -2765,58 +2540,58 @@ var setInitialDefaultState$4 = function setInitialDefaultState() {
2765
2540
  };
2766
2541
  };
2767
2542
 
2768
- var searchReducer$3 = function searchReducer(state, action) {
2543
+ var searchReducer = function searchReducer(state, action) {
2769
2544
  var type = action.type;
2770
2545
 
2771
2546
  switch (type) {
2772
- case ACTION_TYPE$3.CHANGE_PAGE:
2547
+ case ACTION_TYPE.CHANGE_PAGE:
2773
2548
  {
2774
2549
  var page = action.page;
2775
- return _objectSpread2(_objectSpread2({}, state), {}, {
2550
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
2776
2551
  page: page,
2777
- queryParams: _objectSpread2(_objectSpread2({}, state.queryParams), {}, {
2552
+ queryParams: _objectSpread$7(_objectSpread$7({}, state.queryParams), {}, {
2778
2553
  first: page * state.rowsPerPage + 1
2779
2554
  })
2780
2555
  });
2781
2556
  }
2782
2557
 
2783
- case ACTION_TYPE$3.CHANGE_ROWS:
2558
+ case ACTION_TYPE.CHANGE_ROWS:
2784
2559
  {
2785
2560
  var rowsPerPage = action.rowsPerPage;
2786
- return _objectSpread2(_objectSpread2({}, state), {}, {
2561
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
2787
2562
  rowsPerPage: rowsPerPage,
2788
2563
  page: 0,
2789
- queryParams: _objectSpread2(_objectSpread2({}, state.queryParams), {}, {
2564
+ queryParams: _objectSpread$7(_objectSpread$7({}, state.queryParams), {}, {
2790
2565
  first: 1,
2791
2566
  number: rowsPerPage
2792
2567
  })
2793
2568
  });
2794
2569
  }
2795
2570
 
2796
- case ACTION_TYPE$3.HIDE_ROLES:
2571
+ case ACTION_TYPE.HIDE_ROLES:
2797
2572
  {
2798
2573
  var hideRoles = action.hideRoles;
2799
2574
  var role = hideRoles === true ? false : undefined;
2800
- return _objectSpread2(_objectSpread2({}, state), {}, {
2575
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
2801
2576
  page: 0,
2802
- queryParams: _objectSpread2(_objectSpread2({}, state.queryParams), {}, {
2577
+ queryParams: _objectSpread$7(_objectSpread$7({}, state.queryParams), {}, {
2803
2578
  first: 1,
2804
2579
  role: role
2805
2580
  })
2806
2581
  });
2807
2582
  }
2808
2583
 
2809
- case ACTION_TYPE$3.CHANGE_QUERY:
2584
+ case ACTION_TYPE.CHANGE_QUERY:
2810
2585
  {
2811
- return _objectSpread2(_objectSpread2({}, state), {}, {
2586
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
2812
2587
  page: 0,
2813
- groupSearchDocument: _objectSpread2(_objectSpread2({}, state.groupSearchDocument), {}, {
2588
+ groupSearchDocument: _objectSpread$7(_objectSpread$7({}, state.groupSearchDocument), {}, {
2814
2589
  field: [{
2815
2590
  name: action.field || 'groupname',
2816
2591
  value: action.query || ''
2817
2592
  }]
2818
2593
  }),
2819
- queryParams: _objectSpread2(_objectSpread2({}, state.queryParams), {}, {
2594
+ queryParams: _objectSpread$7(_objectSpread$7({}, state.queryParams), {}, {
2820
2595
  first: 1
2821
2596
  })
2822
2597
  });
@@ -2828,9 +2603,9 @@ var searchReducer$3 = function searchReducer(state, action) {
2828
2603
  };
2829
2604
 
2830
2605
  function useSearchGroup(initialState) {
2831
- var initialDefaultState = setInitialDefaultState$4(initialState);
2606
+ var initialDefaultState = setInitialDefaultState(initialState);
2832
2607
 
2833
- var _React$useReducer = React.useReducer(searchReducer$3, initialDefaultState),
2608
+ var _React$useReducer = React.useReducer(searchReducer, initialDefaultState),
2834
2609
  _React$useReducer2 = _slicedToArray(_React$useReducer, 2),
2835
2610
  state = _React$useReducer2[0],
2836
2611
  dispatch = _React$useReducer2[1];
@@ -2857,7 +2632,7 @@ function useSearchGroup(initialState) {
2857
2632
  rowsPerPage = _ref2.target.value;
2858
2633
 
2859
2634
  return dispatch({
2860
- type: ACTION_TYPE$3.CHANGE_ROWS,
2635
+ type: ACTION_TYPE.CHANGE_ROWS,
2861
2636
  rowsPerPage: rowsPerPage
2862
2637
  });
2863
2638
  };
@@ -2865,7 +2640,7 @@ function useSearchGroup(initialState) {
2865
2640
  var onChangePage = function onChangePage(_ref3) {
2866
2641
  var page = _ref3.page;
2867
2642
  return dispatch({
2868
- type: ACTION_TYPE$3.CHANGE_PAGE,
2643
+ type: ACTION_TYPE.CHANGE_PAGE,
2869
2644
  page: page
2870
2645
  });
2871
2646
  };
@@ -2873,7 +2648,7 @@ function useSearchGroup(initialState) {
2873
2648
  var onHideRoles = function onHideRoles(_ref4) {
2874
2649
  var hideRoles = _ref4.hideRoles;
2875
2650
  return dispatch({
2876
- type: ACTION_TYPE$3.HIDE_ROLES,
2651
+ type: ACTION_TYPE.HIDE_ROLES,
2877
2652
  hideRoles: hideRoles
2878
2653
  });
2879
2654
  };
@@ -2881,7 +2656,7 @@ function useSearchGroup(initialState) {
2881
2656
  var onChangeSort = function onChangeSort(event, field, order) {
2882
2657
  var fieldName = _typeof(field) === 'object' ? field.value : field;
2883
2658
  dispatch({
2884
- type: ACTION_TYPE$3.CHANGE_SORT,
2659
+ type: ACTION_TYPE.CHANGE_SORT,
2885
2660
  field: fieldName,
2886
2661
  order: order
2887
2662
  });
@@ -2889,13 +2664,13 @@ function useSearchGroup(initialState) {
2889
2664
 
2890
2665
  var onChangeQuery = function onChangeQuery(field, query) {
2891
2666
  dispatch({
2892
- type: ACTION_TYPE$3.CHANGE_QUERY,
2667
+ type: ACTION_TYPE.CHANGE_QUERY,
2893
2668
  field: field,
2894
2669
  query: query
2895
2670
  });
2896
2671
  };
2897
2672
 
2898
- return _objectSpread2(_objectSpread2({}, state), {}, {
2673
+ return _objectSpread$7(_objectSpread$7({}, state), {}, {
2899
2674
  hasLoaded: hasLoaded,
2900
2675
  isError: isError,
2901
2676
  groupListDocument: groupListDocument,
@@ -3189,10 +2964,39 @@ var useCollectionAutoPlay = function useCollectionAutoPlay(_ref) {
3189
2964
  };
3190
2965
  };
3191
2966
 
2967
+ var defaultGetThumbnailTimeCodes = function defaultGetThumbnailTimeCodes(srcList) {
2968
+ var timeCodes = [];
2969
+
2970
+ for (var index = 0; index < srcList.length; index += 1) {
2971
+ var uri = srcList[index];
2972
+
2973
+ if (uri && typeof uri === 'string') {
2974
+ try {
2975
+ var timeCodeFromURI = uri.split('version')[1].split('/')[1].split('?')[0];
2976
+ var timecodeText = formatTimeCodeText(timeCodeFromURI);
2977
+ timeCodes.push(timecodeText);
2978
+ } catch (error) {// ignore
2979
+ }
2980
+ }
2981
+ }
2982
+
2983
+ return timeCodes;
2984
+ };
2985
+ /**
2986
+ * Display timecode correlating to mouse position when hovering over an element
2987
+ * @param {string[]} srcList - List of image/thumbnail urls.
2988
+ * @param {number} customOffset=0 - Add custom offset for the mouse position.
2989
+ * @param {number} durationSeconds - Total duration in seconds (of clip) that the thumbnails are scrubbed over.
2990
+ * @param {function} getThumbnailTimeCodes - Extracts timecodes from VidiCore thumbnail uris. Override for custom thumbnails.
2991
+ * @returns {Object}
2992
+ */
2993
+
2994
+
3192
2995
  function useHoverScrub() {
3193
2996
  var srcList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
3194
2997
  var customOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
3195
- var durationSeconds = arguments.length > 2 ? arguments[2] : undefined;
2998
+ var durationSeconds = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
2999
+ var getThumbnailTimeCodes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : defaultGetThumbnailTimeCodes;
3196
3000
 
3197
3001
  var _React$useState = React.useState(0),
3198
3002
  _React$useState2 = _slicedToArray(_React$useState, 2),
@@ -3224,57 +3028,75 @@ function useHoverScrub() {
3224
3028
  thumbnailWidth = _React$useState12[0],
3225
3029
  setThumbnailWidth = _React$useState12[1];
3226
3030
 
3227
- var getInnerLeft = useCallback(function (e) {
3228
- var left = e.clientX - e.currentTarget.offsetLeft - customOffset;
3031
+ var debouncedSetNewThumbnail = React.useRef(_debounce(function (val) {
3032
+ setThumbnailIndex(val);
3033
+ }, 10)).current;
3229
3034
 
3230
- if (left < 0) {
3035
+ var getOffsetLeft = function getOffsetLeft(element) {
3036
+ try {
3037
+ return Math.round(element.getBoundingClientRect().left);
3038
+ } catch (error) {
3039
+ return 0;
3040
+ }
3041
+ };
3042
+
3043
+ var getMouseElementPosition = React.useCallback(function (e) {
3044
+ var mouseElementPosition = e.clientX - getOffsetLeft(e.currentTarget) - customOffset;
3045
+ var elementWidth = e.currentTarget.offsetWidth;
3046
+
3047
+ if (mouseElementPosition < 0) {
3231
3048
  return 0;
3232
3049
  }
3233
3050
 
3234
- if (left > e.currentTarget.offsetWidth) {
3235
- return e.currentTarget.offsetWidth;
3051
+ if (mouseElementPosition > elementWidth) {
3052
+ return elementWidth;
3236
3053
  }
3237
3054
 
3238
- return left;
3055
+ return mouseElementPosition;
3239
3056
  }, [customOffset]);
3240
3057
 
3241
- var onMouseMove = function onMouseMove(e) {
3242
- if (durationSeconds) {
3243
- var innerLeft = getInnerLeft(e);
3244
- setScrubPosition(innerLeft - 1);
3245
- setThumbnailWidth(e.currentTarget.offsetWidth);
3246
- var pxToSec = e.currentTarget.offsetWidth / +durationSeconds;
3247
- var pxAsTimeCode = innerLeft / pxToSec;
3248
- setThumbnailTimeCode(formatSeconds(pxAsTimeCode));
3249
-
3250
- for (var index = 0; index < thumbnailTimeCodeArray.length; index += 1) {
3251
- var timeCode = thumbnailTimeCodeArray[index];
3252
- var nextTimeCode = thumbnailTimeCodeArray[index + 1] || thumbnailTimeCodeArray[thumbnailTimeCodeArray.length - 1];
3253
-
3254
- if (timeCode && nextTimeCode && timeCode.toSeconds().toFixed(0) <= pxAsTimeCode && nextTimeCode.toSeconds().toFixed(0) >= pxAsTimeCode) {
3255
- setThumbnailIndex(index);
3256
- }
3058
+ var indexOfPrecededTimeCode = function indexOfPrecededTimeCode(num, arr) {
3059
+ var curr = arr[0];
3060
+ var diff = Math.abs(num - curr);
3061
+ var index = 0;
3062
+
3063
+ for (var val = 0; val < arr.length; val += 1) {
3064
+ var newDiff = Math.abs(num - arr[val]);
3065
+ var isPositiveDiff = num - arr[val] > 0;
3066
+
3067
+ if (newDiff < diff && isPositiveDiff) {
3068
+ diff = newDiff;
3069
+ curr = arr[val];
3070
+ index = val;
3257
3071
  }
3258
3072
  }
3073
+
3074
+ return index;
3259
3075
  };
3260
3076
 
3261
- useDeepCompareEffect(function () {
3262
- var timeCodes = [];
3077
+ var onMouseMove = function onMouseMove(e) {
3078
+ if (durationSeconds) {
3079
+ var mouseElementPosition = getMouseElementPosition(e);
3080
+ setScrubPosition(mouseElementPosition - 1);
3263
3081
 
3264
- for (var index = 0; index < srcList.length; index += 1) {
3265
- var uri = srcList[index];
3082
+ if (thumbnailWidth !== e.currentTarget.offsetWidth) {
3083
+ setThumbnailWidth(e.currentTarget.offsetWidth);
3084
+ }
3266
3085
 
3267
- if (uri && typeof uri === 'string') {
3268
- try {
3269
- var timeCodeFromURI = uri.split('version')[1].split('/')[1].split('?')[0];
3270
- var timecodeText = formatTimeCodeText(timeCodeFromURI);
3271
- timeCodes.push(timecodeText);
3272
- } catch (error) {
3273
- return;
3274
- }
3086
+ var mouseTimecodePosition = mouseElementPosition / (e.currentTarget.offsetWidth / +durationSeconds);
3087
+ setThumbnailTimeCode(formatSeconds(mouseTimecodePosition));
3088
+ var newIndex = indexOfPrecededTimeCode(mouseTimecodePosition, thumbnailTimeCodeArray.map(function (tc) {
3089
+ return tc.toSeconds().toFixed(0);
3090
+ }));
3091
+
3092
+ if (newIndex !== thumbnailIndex) {
3093
+ debouncedSetNewThumbnail(newIndex);
3275
3094
  }
3276
3095
  }
3096
+ };
3277
3097
 
3098
+ useDeepCompareEffect(function () {
3099
+ var timeCodes = getThumbnailTimeCodes(srcList);
3278
3100
  setThumbnailTimeCodeArray(timeCodes);
3279
3101
  }, [srcList]);
3280
3102
 
@@ -3297,6 +3119,9 @@ function useHoverScrub() {
3297
3119
  };
3298
3120
  }
3299
3121
 
3122
+ function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3123
+
3124
+ function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3300
3125
  function useDocSearchAutocomplete(_ref) {
3301
3126
  var searchDoc = _ref.searchDoc,
3302
3127
  queryParams = _ref.queryParams,
@@ -3316,7 +3141,7 @@ function useDocSearchAutocomplete(_ref) {
3316
3141
  textValue = _React$useState2[0],
3317
3142
  setTextValue = _React$useState2[1];
3318
3143
 
3319
- var handleAutocompleteChange = React.useRef(debounce(setTextValue, debounceTime)).current;
3144
+ var handleAutocompleteChange = React.useRef(_debounce(setTextValue, debounceTime)).current;
3320
3145
 
3321
3146
  var _useApi = useApi(apiCall),
3322
3147
  _useApi$data = _useApi.data;
@@ -3333,7 +3158,7 @@ function useDocSearchAutocomplete(_ref) {
3333
3158
  useDeepCompareEffect(function () {
3334
3159
  if (searchDoc && textValue && textValue.length >= triggerLength) {
3335
3160
  request({
3336
- body: _objectSpread2(_objectSpread2({}, searchDoc), {}, {
3161
+ body: _objectSpread$6(_objectSpread$6({}, searchDoc), {}, {
3337
3162
  suggestion: suggestionSettings,
3338
3163
  autocomplete: [{
3339
3164
  text: textValue
@@ -3342,7 +3167,7 @@ function useDocSearchAutocomplete(_ref) {
3342
3167
  value: textValue
3343
3168
  }]
3344
3169
  }),
3345
- queryParams: _objectSpread2({
3170
+ queryParams: _objectSpread$6({
3346
3171
  count: false,
3347
3172
  number: 0
3348
3173
  }, queryParams)
@@ -3388,9 +3213,9 @@ function useGetFieldMetadataDataset() {
3388
3213
  };
3389
3214
  }
3390
3215
 
3391
- var UPDATE_FREQUENCY$1 = 1000; // Prevents access controls set on the library (i.e. saved search) from cascading down to items
3216
+ var UPDATE_FREQUENCY = 1000; // Prevents access controls set on the library (i.e. saved search) from cascading down to items
3392
3217
 
3393
- var UPDATE_MODE$1 = 'TRANSIENT';
3218
+ var UPDATE_MODE = 'TRANSIENT';
3394
3219
 
3395
3220
  var getCollectionTitle = function getCollectionTitle(fields) {
3396
3221
  return fields.find(function (field) {
@@ -3429,10 +3254,10 @@ function useGetSavedSearchFolders(_ref) {
3429
3254
 
3430
3255
  var getSubFolders = React.useCallback(function () {
3431
3256
  Promise.all(currentFolders.map( /*#__PURE__*/function () {
3432
- var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(id) {
3257
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(id) {
3433
3258
  var _yield$CollectionApi$, _yield$CollectionApi$2, content, _yield$CollectionApi$3, metadata, field;
3434
3259
 
3435
- return regeneratorRuntime.wrap(function _callee$(_context) {
3260
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
3436
3261
  while (1) {
3437
3262
  switch (_context.prev = _context.next) {
3438
3263
  case 0:
@@ -3542,8 +3367,8 @@ function useGetSavedSearchFolders(_ref) {
3542
3367
  item.searchItem({
3543
3368
  queryParams: {
3544
3369
  result: 'library',
3545
- updateMode: UPDATE_MODE$1,
3546
- updateFrequency: UPDATE_FREQUENCY$1
3370
+ updateMode: UPDATE_MODE,
3371
+ updateFrequency: UPDATE_FREQUENCY
3547
3372
  },
3548
3373
  itemSearchDocument: itemSearchDocument
3549
3374
  }).then(function (_ref5) {
@@ -3647,10 +3472,10 @@ var useRepresentativeItems = function useRepresentativeItems(_ref) {
3647
3472
  setRepresentativeItems = _React$useState2[1];
3648
3473
 
3649
3474
  var asyncGetRepresentativeItems = /*#__PURE__*/function () {
3650
- var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
3475
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
3651
3476
  var _yield$CollectionApi$, _yield$CollectionApi$2, metadata, _parseMetadataType, _parseMetadataType$re, newRepresentativeItems;
3652
3477
 
3653
- return regeneratorRuntime.wrap(function _callee$(_context) {
3478
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
3654
3479
  while (1) {
3655
3480
  switch (_context.prev = _context.next) {
3656
3481
  case 0:
@@ -3710,9 +3535,9 @@ var useRepresentativeItems = function useRepresentativeItems(_ref) {
3710
3535
  var onRefresh = asyncGetRepresentativeItems;
3711
3536
 
3712
3537
  var updateAsRepresentativeItem = /*#__PURE__*/function () {
3713
- var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(values) {
3538
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(values) {
3714
3539
  var metadataDocument, response;
3715
- return regeneratorRuntime.wrap(function _callee2$(_context2) {
3540
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
3716
3541
  while (1) {
3717
3542
  switch (_context2.prev = _context2.next) {
3718
3543
  case 0:
@@ -3789,6 +3614,10 @@ var useRepresentativeItems = function useRepresentativeItems(_ref) {
3789
3614
  };
3790
3615
  };
3791
3616
 
3617
+ function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3618
+
3619
+ function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3620
+
3792
3621
  function defaultOnGetStorage() {
3793
3622
  var storageData = storage.listStorage().then(function (response) {
3794
3623
  var storage = {
@@ -3843,7 +3672,7 @@ function defaultOnList(response, storageInfo, queryParams) {
3843
3672
  var newUri = encodeURIComponent(createNewUri());
3844
3673
  return library.getLibraryBatch({
3845
3674
  libraryId: libraryId,
3846
- queryParams: _objectSpread2({
3675
+ queryParams: _objectSpread$5({
3847
3676
  destinationUri: newUri
3848
3677
  }, queryParams)
3849
3678
  });
@@ -3943,6 +3772,125 @@ var useCsvDownload = function useCsvDownload(_ref3) {
3943
3772
  };
3944
3773
  };
3945
3774
 
3775
+ function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3776
+
3777
+ function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3778
+ function useCompoundMetadata(itemId, values, groups, groupFields, setGroupFields, onRefresh, onSuccess, onError) {
3779
+ var isFamily = function isFamily(el) {
3780
+ return el.hasMultipleChild;
3781
+ };
3782
+
3783
+ var groupFamily = groups.findIndex(isFamily);
3784
+ var tableColumns = groups[groupFamily].groups[0].fields.map(function (group) {
3785
+ return group;
3786
+ });
3787
+
3788
+ var onChange = function onChange(e, row, groupIndex, editIndex) {
3789
+ var value = e.target.value;
3790
+ var name = e.target.name;
3791
+ var newGroups = groupFields.map(function (group) {
3792
+ return group;
3793
+ });
3794
+ var newRows = newGroups[groupIndex].group.map(function (newRow, rowIndex) {
3795
+ if (rowIndex === editIndex) {
3796
+ return _objectSpread$4(_objectSpread$4({}, row), {}, _defineProperty({}, name, value));
3797
+ }
3798
+
3799
+ return newRow;
3800
+ });
3801
+ newGroups[groupIndex].group = newRows;
3802
+ setGroupFields(newGroups);
3803
+ };
3804
+
3805
+ var onSubmit = /*#__PURE__*/function () {
3806
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(data) {
3807
+ var groupNames, metadataDocument, newTimeSpan, uuid, newGroups;
3808
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
3809
+ while (1) {
3810
+ switch (_context.prev = _context.next) {
3811
+ case 0:
3812
+ groupNames = [];
3813
+ groups.forEach(function (group) {
3814
+ var newGroup = {};
3815
+ newGroup.parentGroup = group.name;
3816
+ newGroup.childGroup = group.groups[0].name;
3817
+ groupNames.push(newGroup);
3818
+ });
3819
+ metadataDocument = createMetadataType({
3820
+ group: data
3821
+ });
3822
+ newTimeSpan = metadataDocument.timespan;
3823
+ uuid = values.itemType.metadata.timespan[0].group[0].uuid;
3824
+ newGroups = [];
3825
+ newTimeSpan[0].group.forEach(function (group, index) {
3826
+ var newGroup = {
3827
+ group: []
3828
+ };
3829
+ newGroup.name = groupNames[index].parentGroup;
3830
+ newGroup.mode = 'add';
3831
+ group.group.forEach(function (subGroup) {
3832
+ var newSubGroup = subGroup;
3833
+ newSubGroup.name = groupNames[index].childGroup;
3834
+ newSubGroup.mode = 'add';
3835
+ newGroup.group.push(newSubGroup);
3836
+ });
3837
+ newGroups.push(newGroup);
3838
+ });
3839
+ newTimeSpan[0].group = newGroups;
3840
+ _context.prev = 8;
3841
+ _context.next = 11;
3842
+ return metadata.removeMetadata({
3843
+ metadataUuid: uuid
3844
+ });
3845
+
3846
+ case 11:
3847
+ _context.next = 13;
3848
+ return item.updateItemMetadata({
3849
+ itemId: itemId,
3850
+ metadataDocument: {
3851
+ timespan: newTimeSpan
3852
+ }
3853
+ });
3854
+
3855
+ case 13:
3856
+ _context.next = 15;
3857
+ return onRefresh();
3858
+
3859
+ case 15:
3860
+ onSuccess();
3861
+ _context.next = 21;
3862
+ break;
3863
+
3864
+ case 18:
3865
+ _context.prev = 18;
3866
+ _context.t0 = _context["catch"](8);
3867
+ onError(_context.t0);
3868
+
3869
+ case 21:
3870
+ case "end":
3871
+ return _context.stop();
3872
+ }
3873
+ }
3874
+ }, _callee, null, [[8, 18]]);
3875
+ }));
3876
+
3877
+ return function onSubmit(_x) {
3878
+ return _ref.apply(this, arguments);
3879
+ };
3880
+ }();
3881
+
3882
+ return {
3883
+ tableColumns: tableColumns,
3884
+ onChange: onChange,
3885
+ onSubmit: onSubmit
3886
+ };
3887
+ }
3888
+
3889
+ var _excluded$2 = ["itemType", "collectionType", "joinValue", "flat", "groupAsList", "children"];
3890
+
3891
+ function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3892
+
3893
+ function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3946
3894
  function MetadataType(_ref) {
3947
3895
  var itemType = _ref.itemType,
3948
3896
  collectionType = _ref.collectionType,
@@ -3950,19 +3898,22 @@ function MetadataType(_ref) {
3950
3898
  joinValue = _ref$joinValue === void 0 ? ',' : _ref$joinValue,
3951
3899
  _ref$flat = _ref.flat,
3952
3900
  flat = _ref$flat === void 0 ? true : _ref$flat,
3901
+ _ref$groupAsList = _ref.groupAsList,
3902
+ groupAsList = _ref$groupAsList === void 0 ? true : _ref$groupAsList,
3953
3903
  children = _ref.children,
3954
- props = _objectWithoutProperties(_ref, ["itemType", "collectionType", "joinValue", "flat", "children"]);
3904
+ props = _objectWithoutProperties(_ref, _excluded$2);
3955
3905
 
3956
3906
  var entityType = itemType || collectionType || {};
3957
3907
  var metadataType = entityType.metadata;
3958
3908
  var metadata = React.useMemo(function () {
3959
3909
  return parseMetadataType(metadataType, {
3960
3910
  joinValue: joinValue,
3961
- flat: flat
3911
+ flat: flat,
3912
+ groupAsList: groupAsList
3962
3913
  });
3963
- }, [flat, joinValue, metadataType]);
3914
+ }, [flat, groupAsList, joinValue, metadataType]);
3964
3915
 
3965
- var cloneProps = _objectSpread2(_objectSpread2(_objectSpread2({}, props), metadata), {}, {
3916
+ var cloneProps = _objectSpread$3(_objectSpread$3(_objectSpread$3({}, props), metadata), {}, {
3966
3917
  itemType: itemType
3967
3918
  });
3968
3919
 
@@ -4130,7 +4081,7 @@ function GetCollectionContent(_ref) {
4130
4081
  refreshOnMount = _ref.refreshOnMount,
4131
4082
  children = _ref.children;
4132
4083
 
4133
- var _useGetCollection = useGetCollection({
4084
+ var _useGetCollection = useGetCollection$1({
4134
4085
  collectionId: collectionId,
4135
4086
  queryParams: queryParams,
4136
4087
  refreshOnMount: refreshOnMount
@@ -4234,10 +4185,14 @@ function ListEntityAccess(_ref) {
4234
4185
  return React.Children.map(children, cloneChild);
4235
4186
  }
4236
4187
 
4188
+ function _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
4189
+
4190
+ function _isNativeReflectConstruct$1() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
4191
+
4237
4192
  var VidispineApi = /*#__PURE__*/function (_React$Component) {
4238
4193
  _inherits(VidispineApi, _React$Component);
4239
4194
 
4240
- var _super = _createSuper(VidispineApi);
4195
+ var _super = _createSuper$1(VidispineApi);
4241
4196
 
4242
4197
  function VidispineApi(props) {
4243
4198
  var _this;
@@ -4335,10 +4290,11 @@ var VidispineApi = /*#__PURE__*/function (_React$Component) {
4335
4290
  return VidispineApi;
4336
4291
  }(React.Component);
4337
4292
 
4338
- var VIDISPINE_TOKEN = 'VIDISPINE-TOKEN';
4339
- var VIDISPINE_USERNAME = 'VIDISPINE-USERNAME';
4340
- var VIDISPINE_SERVER_URL = 'VIDISPINE-SERVER-URL';
4341
- var VIDISPINE_REMEMBER_ME = 'VIDISPINE-REMEMBER-ME';
4293
+ var _excluded$1 = ["LoginComponent", "LoginProps", "AppComponent", "AppProps", "onGetToken", "onSuccess", "onError", "cookieOptions"];
4294
+ var VIDISPINE_TOKEN$1 = 'VIDISPINE-TOKEN';
4295
+ var VIDISPINE_USERNAME$1 = 'VIDISPINE-USERNAME';
4296
+ var VIDISPINE_SERVER_URL$1 = 'VIDISPINE-SERVER-URL';
4297
+ var VIDISPINE_REMEMBER_ME$1 = 'VIDISPINE-REMEMBER-ME';
4342
4298
 
4343
4299
  var handleOnGetToken = function handleOnGetToken(_ref) {
4344
4300
  var userName = _ref.userName,
@@ -4400,18 +4356,18 @@ function Auth(_ref4) {
4400
4356
  maxAge: 604800,
4401
4357
  path: '/'
4402
4358
  } : _ref4$cookieOptions,
4403
- props = _objectWithoutProperties(_ref4, ["LoginComponent", "LoginProps", "AppComponent", "AppProps", "onGetToken", "onSuccess", "onError", "cookieOptions"]);
4359
+ props = _objectWithoutProperties(_ref4, _excluded$1);
4404
4360
 
4405
- var _useCookies = useCookies([VIDISPINE_TOKEN, VIDISPINE_USERNAME, VIDISPINE_SERVER_URL, VIDISPINE_REMEMBER_ME]),
4361
+ var _useCookies = useCookies([VIDISPINE_TOKEN$1, VIDISPINE_USERNAME$1, VIDISPINE_SERVER_URL$1, VIDISPINE_REMEMBER_ME$1]),
4406
4362
  _useCookies2 = _slicedToArray(_useCookies, 3),
4407
4363
  cookies = _useCookies2[0],
4408
4364
  setCookie = _useCookies2[1],
4409
4365
  removeCookie = _useCookies2[2];
4410
4366
 
4411
- var token = cookies[VIDISPINE_TOKEN],
4412
- userName = cookies[VIDISPINE_USERNAME],
4413
- serverUrl = cookies[VIDISPINE_SERVER_URL];
4414
- var rememberMe = cookies[VIDISPINE_REMEMBER_ME] === 'true';
4367
+ var token = cookies[VIDISPINE_TOKEN$1],
4368
+ userName = cookies[VIDISPINE_USERNAME$1],
4369
+ serverUrl = cookies[VIDISPINE_SERVER_URL$1];
4370
+ var rememberMe = cookies[VIDISPINE_REMEMBER_ME$1] === 'true';
4415
4371
 
4416
4372
  var onLogin = function onLogin(values) {
4417
4373
  var submissionError;
@@ -4421,10 +4377,10 @@ function Auth(_ref4) {
4421
4377
  var newUserName = values.userName,
4422
4378
  newServerUrl = values.serverUrl,
4423
4379
  newRememberMe = values.rememberMe;
4424
- if (newUserName) setCookie(VIDISPINE_USERNAME, newUserName, cookieOptions);
4425
- if (newServerUrl) setCookie(VIDISPINE_SERVER_URL, newServerUrl, cookieOptions);
4426
- if (newRememberMe) setCookie(VIDISPINE_REMEMBER_ME, newRememberMe, cookieOptions);
4427
- if (newToken) setCookie(VIDISPINE_TOKEN, newToken, cookieOptions);
4380
+ if (newUserName) setCookie(VIDISPINE_USERNAME$1, newUserName, cookieOptions);
4381
+ if (newServerUrl) setCookie(VIDISPINE_SERVER_URL$1, newServerUrl, cookieOptions);
4382
+ if (newRememberMe) setCookie(VIDISPINE_REMEMBER_ME$1, newRememberMe, cookieOptions);
4383
+ if (newToken) setCookie(VIDISPINE_TOKEN$1, newToken, cookieOptions);
4428
4384
  if (onSuccess) onSuccess(values);
4429
4385
  })["catch"](function (error) {
4430
4386
  submissionError = error;
@@ -4440,16 +4396,16 @@ function Auth(_ref4) {
4440
4396
  };
4441
4397
 
4442
4398
  var onLogout = function onLogout() {
4443
- removeCookie(VIDISPINE_TOKEN, cookieOptions);
4399
+ removeCookie(VIDISPINE_TOKEN$1, cookieOptions);
4444
4400
 
4445
4401
  if (!rememberMe) {
4446
- removeCookie(VIDISPINE_USERNAME, cookieOptions);
4447
- removeCookie(VIDISPINE_SERVER_URL, cookieOptions);
4448
- removeCookie(VIDISPINE_REMEMBER_ME, cookieOptions);
4402
+ removeCookie(VIDISPINE_USERNAME$1, cookieOptions);
4403
+ removeCookie(VIDISPINE_SERVER_URL$1, cookieOptions);
4404
+ removeCookie(VIDISPINE_REMEMBER_ME$1, cookieOptions);
4449
4405
  }
4450
4406
  };
4451
4407
 
4452
- return /*#__PURE__*/React.createElement(React.Fragment, null, token ? /*#__PURE__*/React.createElement(VidispineApi, {
4408
+ return token ? /*#__PURE__*/React.createElement(VidispineApi, {
4453
4409
  token: token,
4454
4410
  username: userName,
4455
4411
  serverUrl: serverUrl
@@ -4460,10 +4416,14 @@ function Auth(_ref4) {
4460
4416
  userName: userName,
4461
4417
  serverUrl: serverUrl,
4462
4418
  rememberMe: rememberMe
4463
- }, props, LoginProps)));
4419
+ }, props, LoginProps));
4464
4420
  }
4465
4421
 
4466
- var ErrorBoundaryComponent = function ErrorBoundaryComponent(_ref) {
4422
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
4423
+
4424
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
4425
+
4426
+ function ErrorBoundaryComponent(_ref) {
4467
4427
  var error = _ref.error,
4468
4428
  info = _ref.info;
4469
4429
  return /*#__PURE__*/React.createElement("div", {
@@ -4476,7 +4436,7 @@ var ErrorBoundaryComponent = function ErrorBoundaryComponent(_ref) {
4476
4436
  color: 'white'
4477
4437
  }
4478
4438
  }, error && /*#__PURE__*/React.createElement("div", null, error.toString()), info && /*#__PURE__*/React.createElement("div", null, info.componentStack));
4479
- };
4439
+ }
4480
4440
 
4481
4441
  var ErrorBoundary = /*#__PURE__*/function (_React$Component) {
4482
4442
  _inherits(ErrorBoundary, _React$Component);
@@ -4696,28 +4656,26 @@ function HasRole(_ref) {
4696
4656
  return null;
4697
4657
  }
4698
4658
 
4659
+ var _excluded = ["providers", "children"],
4660
+ _excluded2 = ["provider"];
4699
4661
  function ComposeProviders(_ref) {
4700
4662
  var _ref$providers = _ref.providers,
4701
4663
  providers = _ref$providers === void 0 ? [] : _ref$providers,
4702
4664
  children = _ref.children,
4703
- props = _objectWithoutProperties(_ref, ["providers", "children"]);
4665
+ props = _objectWithoutProperties(_ref, _excluded);
4704
4666
 
4705
4667
  return providers.reduceRight(function (acc, Provider) {
4706
4668
  if (typeof Provider === 'function') {
4707
- return /*#__PURE__*/React.createElement(Provider // eslint-disable-next-line react/jsx-props-no-spreading
4708
- , props, acc);
4669
+ return /*#__PURE__*/React.createElement(Provider, props, acc);
4709
4670
  }
4710
4671
 
4711
4672
  var ProviderComponent = Provider.provider,
4712
- providerProps = _objectWithoutProperties(Provider, ["provider"]);
4673
+ providerProps = _objectWithoutProperties(Provider, _excluded2);
4713
4674
 
4714
- return /*#__PURE__*/React.createElement(ProviderComponent // eslint-disable-next-line react/jsx-props-no-spreading
4715
- , _extends({}, props, providerProps), acc);
4675
+ return /*#__PURE__*/React.createElement(ProviderComponent, _extends({}, props, providerProps), acc);
4716
4676
  }, children);
4717
4677
  }
4718
4678
 
4719
- /* eslint-disable react/jsx-props-no-spreading */
4720
-
4721
4679
  var withErrorBoundary = function withErrorBoundary(WrappedComponent) {
4722
4680
  var errorBoundaryProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
4723
4681
  return function (props) {
@@ -4739,6 +4697,9 @@ var compose = function compose() {
4739
4697
  });
4740
4698
  };
4741
4699
 
4700
+ function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4701
+
4702
+ function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4742
4703
  var BinContext = /*#__PURE__*/React.createContext();
4743
4704
 
4744
4705
  var defaultIsUniqueBinItem = function defaultIsUniqueBinItem(bin, _ref) {
@@ -4808,7 +4769,7 @@ function BinProvider(_ref3) {
4808
4769
  allowDuplicates = _React$useState4[0],
4809
4770
  setAllowDuplicates = _React$useState4[1];
4810
4771
 
4811
- var onDelete = function onDelete(binIdToDelete) {
4772
+ var onDelete = React.useCallback(function (binIdToDelete) {
4812
4773
  if (!binIdToDelete || !['string', 'number'].includes(_typeof(binIdToDelete))) {
4813
4774
  // eslint-disable-next-line no-console
4814
4775
  console.error('BinProvider onDelete called without a binId of the entity to delete');
@@ -4822,25 +4783,23 @@ function BinProvider(_ref3) {
4822
4783
  if (onChange) onChange(newState);
4823
4784
  return newState;
4824
4785
  });
4825
- };
4826
-
4827
- var onEmptyBin = function onEmptyBin() {
4828
- var newState = [];
4829
- setBinState(newState);
4830
- if (onChange) onChange(newState);
4831
- };
4786
+ }, [onChange]);
4787
+ var onEmptyBin = React.useCallback(function () {
4788
+ setBinState([]);
4789
+ if (onChange) onChange([]);
4790
+ }, [onChange]);
4832
4791
 
4833
4792
  var createBinObject = function createBinObject(binObject) {
4834
4793
  var _uuidv4$split = uuidv4().split('-'),
4835
4794
  _uuidv4$split2 = _slicedToArray(_uuidv4$split, 1),
4836
4795
  binId = _uuidv4$split2[0];
4837
4796
 
4838
- return _objectSpread2({
4797
+ return _objectSpread$2({
4839
4798
  binId: binId
4840
4799
  }, binObject);
4841
4800
  };
4842
4801
 
4843
- var handleDrop = function handleDrop() {
4802
+ var handleDrop = React.useCallback(function () {
4844
4803
  var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
4845
4804
  _ref4$dragInfo = _ref4.dragInfo,
4846
4805
  dragInfo = _ref4$dragInfo === void 0 ? {} : _ref4$dragInfo;
@@ -4864,9 +4823,8 @@ function BinProvider(_ref3) {
4864
4823
 
4865
4824
  return state;
4866
4825
  });
4867
- };
4868
-
4869
- var handleSort = function handleSort(_ref5) {
4826
+ }, [allowDuplicates, isUniqueBinItem, onChange]);
4827
+ var handleSort = React.useCallback(function (_ref5) {
4870
4828
  var dragId = _ref5.dragId,
4871
4829
  hoverId = _ref5.hoverId,
4872
4830
  originalDragIndex = _ref5.originalDragIndex;
@@ -4887,10 +4845,9 @@ function BinProvider(_ref3) {
4887
4845
  if (onChange) onChange(newState);
4888
4846
  return newState;
4889
4847
  });
4890
- };
4891
-
4892
- return /*#__PURE__*/React.createElement(BinContext.Provider, {
4893
- value: {
4848
+ }, [binState, onChange]);
4849
+ var contextValue = React.useMemo(function () {
4850
+ return {
4894
4851
  setBin: setBinState,
4895
4852
  bin: binState,
4896
4853
  allowDuplicates: allowDuplicates,
@@ -4902,48 +4859,1159 @@ function BinProvider(_ref3) {
4902
4859
  },
4903
4860
  onEmptyBin: onEmptyBin,
4904
4861
  onDelete: onDelete
4905
- }
4862
+ };
4863
+ }, [allowDuplicates, binState, handleDrop, handleSort, onDelete, onEmptyBin]);
4864
+ return /*#__PURE__*/React.createElement(BinContext.Provider, {
4865
+ value: contextValue
4906
4866
  }, children);
4907
4867
  }
4908
4868
 
4909
- var SettingsDispatchContext = /*#__PURE__*/React.createContext();
4910
- var SettingsStateContext = /*#__PURE__*/React.createContext();
4911
- var UPDATE_ALL_SETTINGS = 'UPDATE_ALL_SETTINGS';
4912
- var UPDATE_SETTING = 'UPDATE_SETTING';
4913
- var UPDATE_USERNAME = 'UPDATE_USERNAME';
4914
- var REMOVE_SETTING = 'REMOVE_SETTING';
4915
-
4916
- var reducer = function reducer(state, action) {
4917
- switch (action.type) {
4918
- case UPDATE_USERNAME:
4919
- {
4920
- return _objectSpread2(_objectSpread2({}, state), {}, {
4921
- userName: action.userName
4922
- });
4923
- }
4869
+ var propTypes = {exports: {}};
4870
+
4871
+ var reactIs = {exports: {}};
4872
+
4873
+ var reactIs_production_min = {};
4874
+
4875
+ /** @license React v16.13.1
4876
+ * react-is.production.min.js
4877
+ *
4878
+ * Copyright (c) Facebook, Inc. and its affiliates.
4879
+ *
4880
+ * This source code is licensed under the MIT license found in the
4881
+ * LICENSE file in the root directory of this source tree.
4882
+ */
4883
+ var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b?
4884
+ Symbol.for("react.suspense_list"):60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x=b?Symbol.for("react.responder"):60118,y=b?Symbol.for("react.scope"):60119;
4885
+ function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}reactIs_production_min.AsyncMode=l;reactIs_production_min.ConcurrentMode=m;reactIs_production_min.ContextConsumer=k;reactIs_production_min.ContextProvider=h;reactIs_production_min.Element=c;reactIs_production_min.ForwardRef=n;reactIs_production_min.Fragment=e;reactIs_production_min.Lazy=t;reactIs_production_min.Memo=r;reactIs_production_min.Portal=d;
4886
+ reactIs_production_min.Profiler=g;reactIs_production_min.StrictMode=f;reactIs_production_min.Suspense=p;reactIs_production_min.isAsyncMode=function(a){return A(a)||z(a)===l};reactIs_production_min.isConcurrentMode=A;reactIs_production_min.isContextConsumer=function(a){return z(a)===k};reactIs_production_min.isContextProvider=function(a){return z(a)===h};reactIs_production_min.isElement=function(a){return "object"===typeof a&&null!==a&&a.$$typeof===c};reactIs_production_min.isForwardRef=function(a){return z(a)===n};reactIs_production_min.isFragment=function(a){return z(a)===e};reactIs_production_min.isLazy=function(a){return z(a)===t};
4887
+ reactIs_production_min.isMemo=function(a){return z(a)===r};reactIs_production_min.isPortal=function(a){return z(a)===d};reactIs_production_min.isProfiler=function(a){return z(a)===g};reactIs_production_min.isStrictMode=function(a){return z(a)===f};reactIs_production_min.isSuspense=function(a){return z(a)===p};
4888
+ reactIs_production_min.isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};reactIs_production_min.typeOf=z;
4889
+
4890
+ var reactIs_development = {};
4891
+
4892
+ /** @license React v16.13.1
4893
+ * react-is.development.js
4894
+ *
4895
+ * Copyright (c) Facebook, Inc. and its affiliates.
4896
+ *
4897
+ * This source code is licensed under the MIT license found in the
4898
+ * LICENSE file in the root directory of this source tree.
4899
+ */
4900
+
4901
+
4902
+
4903
+ if (process.env.NODE_ENV !== "production") {
4904
+ (function() {
4905
+
4906
+ // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
4907
+ // nor polyfill, then a plain number is used for performance.
4908
+ var hasSymbol = typeof Symbol === 'function' && Symbol.for;
4909
+ var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
4910
+ var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
4911
+ var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
4912
+ var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
4913
+ var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
4914
+ var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
4915
+ var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
4916
+ // (unstable) APIs that have been removed. Can we remove the symbols?
4917
+
4918
+ var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
4919
+ var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
4920
+ var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
4921
+ var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
4922
+ var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
4923
+ var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
4924
+ var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
4925
+ var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
4926
+ var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
4927
+ var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
4928
+ var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
4929
+
4930
+ function isValidElementType(type) {
4931
+ return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
4932
+ type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
4933
+ }
4924
4934
 
4925
- case UPDATE_ALL_SETTINGS:
4926
- {
4927
- return _objectSpread2(_objectSpread2({}, state), {}, {
4928
- settings: action.settings
4929
- });
4930
- }
4935
+ function typeOf(object) {
4936
+ if (typeof object === 'object' && object !== null) {
4937
+ var $$typeof = object.$$typeof;
4938
+
4939
+ switch ($$typeof) {
4940
+ case REACT_ELEMENT_TYPE:
4941
+ var type = object.type;
4942
+
4943
+ switch (type) {
4944
+ case REACT_ASYNC_MODE_TYPE:
4945
+ case REACT_CONCURRENT_MODE_TYPE:
4946
+ case REACT_FRAGMENT_TYPE:
4947
+ case REACT_PROFILER_TYPE:
4948
+ case REACT_STRICT_MODE_TYPE:
4949
+ case REACT_SUSPENSE_TYPE:
4950
+ return type;
4951
+
4952
+ default:
4953
+ var $$typeofType = type && type.$$typeof;
4954
+
4955
+ switch ($$typeofType) {
4956
+ case REACT_CONTEXT_TYPE:
4957
+ case REACT_FORWARD_REF_TYPE:
4958
+ case REACT_LAZY_TYPE:
4959
+ case REACT_MEMO_TYPE:
4960
+ case REACT_PROVIDER_TYPE:
4961
+ return $$typeofType;
4962
+
4963
+ default:
4964
+ return $$typeof;
4965
+ }
4931
4966
 
4932
- case UPDATE_SETTING:
4933
- {
4934
- var settings = _objectSpread2(_objectSpread2({}, state.settings), action.setting);
4967
+ }
4935
4968
 
4936
- return _objectSpread2(_objectSpread2({}, state), {}, {
4937
- settings: settings
4938
- });
4939
- }
4969
+ case REACT_PORTAL_TYPE:
4970
+ return $$typeof;
4971
+ }
4972
+ }
4940
4973
 
4941
- case REMOVE_SETTING:
4942
- {
4943
- var _settings = _objectSpread2({}, state.settings);
4974
+ return undefined;
4975
+ } // AsyncMode is deprecated along with isAsyncMode
4976
+
4977
+ var AsyncMode = REACT_ASYNC_MODE_TYPE;
4978
+ var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
4979
+ var ContextConsumer = REACT_CONTEXT_TYPE;
4980
+ var ContextProvider = REACT_PROVIDER_TYPE;
4981
+ var Element = REACT_ELEMENT_TYPE;
4982
+ var ForwardRef = REACT_FORWARD_REF_TYPE;
4983
+ var Fragment = REACT_FRAGMENT_TYPE;
4984
+ var Lazy = REACT_LAZY_TYPE;
4985
+ var Memo = REACT_MEMO_TYPE;
4986
+ var Portal = REACT_PORTAL_TYPE;
4987
+ var Profiler = REACT_PROFILER_TYPE;
4988
+ var StrictMode = REACT_STRICT_MODE_TYPE;
4989
+ var Suspense = REACT_SUSPENSE_TYPE;
4990
+ var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
4991
+
4992
+ function isAsyncMode(object) {
4993
+ {
4994
+ if (!hasWarnedAboutDeprecatedIsAsyncMode) {
4995
+ hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
4996
+
4997
+ console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');
4998
+ }
4999
+ }
4944
5000
 
4945
- delete _settings[action.key];
4946
- return _objectSpread2(_objectSpread2({}, state), {}, {
5001
+ return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
5002
+ }
5003
+ function isConcurrentMode(object) {
5004
+ return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
5005
+ }
5006
+ function isContextConsumer(object) {
5007
+ return typeOf(object) === REACT_CONTEXT_TYPE;
5008
+ }
5009
+ function isContextProvider(object) {
5010
+ return typeOf(object) === REACT_PROVIDER_TYPE;
5011
+ }
5012
+ function isElement(object) {
5013
+ return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
5014
+ }
5015
+ function isForwardRef(object) {
5016
+ return typeOf(object) === REACT_FORWARD_REF_TYPE;
5017
+ }
5018
+ function isFragment(object) {
5019
+ return typeOf(object) === REACT_FRAGMENT_TYPE;
5020
+ }
5021
+ function isLazy(object) {
5022
+ return typeOf(object) === REACT_LAZY_TYPE;
5023
+ }
5024
+ function isMemo(object) {
5025
+ return typeOf(object) === REACT_MEMO_TYPE;
5026
+ }
5027
+ function isPortal(object) {
5028
+ return typeOf(object) === REACT_PORTAL_TYPE;
5029
+ }
5030
+ function isProfiler(object) {
5031
+ return typeOf(object) === REACT_PROFILER_TYPE;
5032
+ }
5033
+ function isStrictMode(object) {
5034
+ return typeOf(object) === REACT_STRICT_MODE_TYPE;
5035
+ }
5036
+ function isSuspense(object) {
5037
+ return typeOf(object) === REACT_SUSPENSE_TYPE;
5038
+ }
5039
+
5040
+ reactIs_development.AsyncMode = AsyncMode;
5041
+ reactIs_development.ConcurrentMode = ConcurrentMode;
5042
+ reactIs_development.ContextConsumer = ContextConsumer;
5043
+ reactIs_development.ContextProvider = ContextProvider;
5044
+ reactIs_development.Element = Element;
5045
+ reactIs_development.ForwardRef = ForwardRef;
5046
+ reactIs_development.Fragment = Fragment;
5047
+ reactIs_development.Lazy = Lazy;
5048
+ reactIs_development.Memo = Memo;
5049
+ reactIs_development.Portal = Portal;
5050
+ reactIs_development.Profiler = Profiler;
5051
+ reactIs_development.StrictMode = StrictMode;
5052
+ reactIs_development.Suspense = Suspense;
5053
+ reactIs_development.isAsyncMode = isAsyncMode;
5054
+ reactIs_development.isConcurrentMode = isConcurrentMode;
5055
+ reactIs_development.isContextConsumer = isContextConsumer;
5056
+ reactIs_development.isContextProvider = isContextProvider;
5057
+ reactIs_development.isElement = isElement;
5058
+ reactIs_development.isForwardRef = isForwardRef;
5059
+ reactIs_development.isFragment = isFragment;
5060
+ reactIs_development.isLazy = isLazy;
5061
+ reactIs_development.isMemo = isMemo;
5062
+ reactIs_development.isPortal = isPortal;
5063
+ reactIs_development.isProfiler = isProfiler;
5064
+ reactIs_development.isStrictMode = isStrictMode;
5065
+ reactIs_development.isSuspense = isSuspense;
5066
+ reactIs_development.isValidElementType = isValidElementType;
5067
+ reactIs_development.typeOf = typeOf;
5068
+ })();
5069
+ }
5070
+
5071
+ if (process.env.NODE_ENV === 'production') {
5072
+ reactIs.exports = reactIs_production_min;
5073
+ } else {
5074
+ reactIs.exports = reactIs_development;
5075
+ }
5076
+
5077
+ /*
5078
+ object-assign
5079
+ (c) Sindre Sorhus
5080
+ @license MIT
5081
+ */
5082
+ /* eslint-disable no-unused-vars */
5083
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
5084
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
5085
+ var propIsEnumerable = Object.prototype.propertyIsEnumerable;
5086
+
5087
+ function toObject(val) {
5088
+ if (val === null || val === undefined) {
5089
+ throw new TypeError('Object.assign cannot be called with null or undefined');
5090
+ }
5091
+
5092
+ return Object(val);
5093
+ }
5094
+
5095
+ function shouldUseNative() {
5096
+ try {
5097
+ if (!Object.assign) {
5098
+ return false;
5099
+ }
5100
+
5101
+ // Detect buggy property enumeration order in older V8 versions.
5102
+
5103
+ // https://bugs.chromium.org/p/v8/issues/detail?id=4118
5104
+ var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
5105
+ test1[5] = 'de';
5106
+ if (Object.getOwnPropertyNames(test1)[0] === '5') {
5107
+ return false;
5108
+ }
5109
+
5110
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3056
5111
+ var test2 = {};
5112
+ for (var i = 0; i < 10; i++) {
5113
+ test2['_' + String.fromCharCode(i)] = i;
5114
+ }
5115
+ var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
5116
+ return test2[n];
5117
+ });
5118
+ if (order2.join('') !== '0123456789') {
5119
+ return false;
5120
+ }
5121
+
5122
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3056
5123
+ var test3 = {};
5124
+ 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
5125
+ test3[letter] = letter;
5126
+ });
5127
+ if (Object.keys(Object.assign({}, test3)).join('') !==
5128
+ 'abcdefghijklmnopqrst') {
5129
+ return false;
5130
+ }
5131
+
5132
+ return true;
5133
+ } catch (err) {
5134
+ // We don't expect any of the above to throw, but better to be safe.
5135
+ return false;
5136
+ }
5137
+ }
5138
+
5139
+ var objectAssign = shouldUseNative() ? Object.assign : function (target, source) {
5140
+ var from;
5141
+ var to = toObject(target);
5142
+ var symbols;
5143
+
5144
+ for (var s = 1; s < arguments.length; s++) {
5145
+ from = Object(arguments[s]);
5146
+
5147
+ for (var key in from) {
5148
+ if (hasOwnProperty.call(from, key)) {
5149
+ to[key] = from[key];
5150
+ }
5151
+ }
5152
+
5153
+ if (getOwnPropertySymbols) {
5154
+ symbols = getOwnPropertySymbols(from);
5155
+ for (var i = 0; i < symbols.length; i++) {
5156
+ if (propIsEnumerable.call(from, symbols[i])) {
5157
+ to[symbols[i]] = from[symbols[i]];
5158
+ }
5159
+ }
5160
+ }
5161
+ }
5162
+
5163
+ return to;
5164
+ };
5165
+
5166
+ /**
5167
+ * Copyright (c) 2013-present, Facebook, Inc.
5168
+ *
5169
+ * This source code is licensed under the MIT license found in the
5170
+ * LICENSE file in the root directory of this source tree.
5171
+ */
5172
+
5173
+ var ReactPropTypesSecret$3 = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
5174
+
5175
+ var ReactPropTypesSecret_1 = ReactPropTypesSecret$3;
5176
+
5177
+ var has$2 = Function.call.bind(Object.prototype.hasOwnProperty);
5178
+
5179
+ /**
5180
+ * Copyright (c) 2013-present, Facebook, Inc.
5181
+ *
5182
+ * This source code is licensed under the MIT license found in the
5183
+ * LICENSE file in the root directory of this source tree.
5184
+ */
5185
+
5186
+ var printWarning$1 = function() {};
5187
+
5188
+ if (process.env.NODE_ENV !== 'production') {
5189
+ var ReactPropTypesSecret$2 = ReactPropTypesSecret_1;
5190
+ var loggedTypeFailures = {};
5191
+ var has$1 = has$2;
5192
+
5193
+ printWarning$1 = function(text) {
5194
+ var message = 'Warning: ' + text;
5195
+ if (typeof console !== 'undefined') {
5196
+ console.error(message);
5197
+ }
5198
+ try {
5199
+ // --- Welcome to debugging React ---
5200
+ // This error was thrown as a convenience so that you can use this stack
5201
+ // to find the callsite that caused this warning to fire.
5202
+ throw new Error(message);
5203
+ } catch (x) { /**/ }
5204
+ };
5205
+ }
5206
+
5207
+ /**
5208
+ * Assert that the values match with the type specs.
5209
+ * Error messages are memorized and will only be shown once.
5210
+ *
5211
+ * @param {object} typeSpecs Map of name to a ReactPropType
5212
+ * @param {object} values Runtime values that need to be type-checked
5213
+ * @param {string} location e.g. "prop", "context", "child context"
5214
+ * @param {string} componentName Name of the component for error messages.
5215
+ * @param {?Function} getStack Returns the component stack.
5216
+ * @private
5217
+ */
5218
+ function checkPropTypes$1(typeSpecs, values, location, componentName, getStack) {
5219
+ if (process.env.NODE_ENV !== 'production') {
5220
+ for (var typeSpecName in typeSpecs) {
5221
+ if (has$1(typeSpecs, typeSpecName)) {
5222
+ var error;
5223
+ // Prop type validation may throw. In case they do, we don't want to
5224
+ // fail the render phase where it didn't fail before. So we log it.
5225
+ // After these have been cleaned up, we'll let them throw.
5226
+ try {
5227
+ // This is intentionally an invariant that gets caught. It's the same
5228
+ // behavior as without this statement except with a better message.
5229
+ if (typeof typeSpecs[typeSpecName] !== 'function') {
5230
+ var err = Error(
5231
+ (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
5232
+ 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
5233
+ 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
5234
+ );
5235
+ err.name = 'Invariant Violation';
5236
+ throw err;
5237
+ }
5238
+ error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret$2);
5239
+ } catch (ex) {
5240
+ error = ex;
5241
+ }
5242
+ if (error && !(error instanceof Error)) {
5243
+ printWarning$1(
5244
+ (componentName || 'React class') + ': type specification of ' +
5245
+ location + ' `' + typeSpecName + '` is invalid; the type checker ' +
5246
+ 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
5247
+ 'You may have forgotten to pass an argument to the type checker ' +
5248
+ 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
5249
+ 'shape all require an argument).'
5250
+ );
5251
+ }
5252
+ if (error instanceof Error && !(error.message in loggedTypeFailures)) {
5253
+ // Only monitor this failure once because there tends to be a lot of the
5254
+ // same error.
5255
+ loggedTypeFailures[error.message] = true;
5256
+
5257
+ var stack = getStack ? getStack() : '';
5258
+
5259
+ printWarning$1(
5260
+ 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
5261
+ );
5262
+ }
5263
+ }
5264
+ }
5265
+ }
5266
+ }
5267
+
5268
+ /**
5269
+ * Resets warning cache when testing.
5270
+ *
5271
+ * @private
5272
+ */
5273
+ checkPropTypes$1.resetWarningCache = function() {
5274
+ if (process.env.NODE_ENV !== 'production') {
5275
+ loggedTypeFailures = {};
5276
+ }
5277
+ };
5278
+
5279
+ var checkPropTypes_1 = checkPropTypes$1;
5280
+
5281
+ /**
5282
+ * Copyright (c) 2013-present, Facebook, Inc.
5283
+ *
5284
+ * This source code is licensed under the MIT license found in the
5285
+ * LICENSE file in the root directory of this source tree.
5286
+ */
5287
+
5288
+ var ReactIs$1 = reactIs.exports;
5289
+ var assign = objectAssign;
5290
+
5291
+ var ReactPropTypesSecret$1 = ReactPropTypesSecret_1;
5292
+ var has = has$2;
5293
+ var checkPropTypes = checkPropTypes_1;
5294
+
5295
+ var printWarning = function() {};
5296
+
5297
+ if (process.env.NODE_ENV !== 'production') {
5298
+ printWarning = function(text) {
5299
+ var message = 'Warning: ' + text;
5300
+ if (typeof console !== 'undefined') {
5301
+ console.error(message);
5302
+ }
5303
+ try {
5304
+ // --- Welcome to debugging React ---
5305
+ // This error was thrown as a convenience so that you can use this stack
5306
+ // to find the callsite that caused this warning to fire.
5307
+ throw new Error(message);
5308
+ } catch (x) {}
5309
+ };
5310
+ }
5311
+
5312
+ function emptyFunctionThatReturnsNull() {
5313
+ return null;
5314
+ }
5315
+
5316
+ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
5317
+ /* global Symbol */
5318
+ var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
5319
+ var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
5320
+
5321
+ /**
5322
+ * Returns the iterator method function contained on the iterable object.
5323
+ *
5324
+ * Be sure to invoke the function with the iterable as context:
5325
+ *
5326
+ * var iteratorFn = getIteratorFn(myIterable);
5327
+ * if (iteratorFn) {
5328
+ * var iterator = iteratorFn.call(myIterable);
5329
+ * ...
5330
+ * }
5331
+ *
5332
+ * @param {?object} maybeIterable
5333
+ * @return {?function}
5334
+ */
5335
+ function getIteratorFn(maybeIterable) {
5336
+ var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
5337
+ if (typeof iteratorFn === 'function') {
5338
+ return iteratorFn;
5339
+ }
5340
+ }
5341
+
5342
+ /**
5343
+ * Collection of methods that allow declaration and validation of props that are
5344
+ * supplied to React components. Example usage:
5345
+ *
5346
+ * var Props = require('ReactPropTypes');
5347
+ * var MyArticle = React.createClass({
5348
+ * propTypes: {
5349
+ * // An optional string prop named "description".
5350
+ * description: Props.string,
5351
+ *
5352
+ * // A required enum prop named "category".
5353
+ * category: Props.oneOf(['News','Photos']).isRequired,
5354
+ *
5355
+ * // A prop named "dialog" that requires an instance of Dialog.
5356
+ * dialog: Props.instanceOf(Dialog).isRequired
5357
+ * },
5358
+ * render: function() { ... }
5359
+ * });
5360
+ *
5361
+ * A more formal specification of how these methods are used:
5362
+ *
5363
+ * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
5364
+ * decl := ReactPropTypes.{type}(.isRequired)?
5365
+ *
5366
+ * Each and every declaration produces a function with the same signature. This
5367
+ * allows the creation of custom validation functions. For example:
5368
+ *
5369
+ * var MyLink = React.createClass({
5370
+ * propTypes: {
5371
+ * // An optional string or URI prop named "href".
5372
+ * href: function(props, propName, componentName) {
5373
+ * var propValue = props[propName];
5374
+ * if (propValue != null && typeof propValue !== 'string' &&
5375
+ * !(propValue instanceof URI)) {
5376
+ * return new Error(
5377
+ * 'Expected a string or an URI for ' + propName + ' in ' +
5378
+ * componentName
5379
+ * );
5380
+ * }
5381
+ * }
5382
+ * },
5383
+ * render: function() {...}
5384
+ * });
5385
+ *
5386
+ * @internal
5387
+ */
5388
+
5389
+ var ANONYMOUS = '<<anonymous>>';
5390
+
5391
+ // Important!
5392
+ // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
5393
+ var ReactPropTypes = {
5394
+ array: createPrimitiveTypeChecker('array'),
5395
+ bigint: createPrimitiveTypeChecker('bigint'),
5396
+ bool: createPrimitiveTypeChecker('boolean'),
5397
+ func: createPrimitiveTypeChecker('function'),
5398
+ number: createPrimitiveTypeChecker('number'),
5399
+ object: createPrimitiveTypeChecker('object'),
5400
+ string: createPrimitiveTypeChecker('string'),
5401
+ symbol: createPrimitiveTypeChecker('symbol'),
5402
+
5403
+ any: createAnyTypeChecker(),
5404
+ arrayOf: createArrayOfTypeChecker,
5405
+ element: createElementTypeChecker(),
5406
+ elementType: createElementTypeTypeChecker(),
5407
+ instanceOf: createInstanceTypeChecker,
5408
+ node: createNodeChecker(),
5409
+ objectOf: createObjectOfTypeChecker,
5410
+ oneOf: createEnumTypeChecker,
5411
+ oneOfType: createUnionTypeChecker,
5412
+ shape: createShapeTypeChecker,
5413
+ exact: createStrictShapeTypeChecker,
5414
+ };
5415
+
5416
+ /**
5417
+ * inlined Object.is polyfill to avoid requiring consumers ship their own
5418
+ * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
5419
+ */
5420
+ /*eslint-disable no-self-compare*/
5421
+ function is(x, y) {
5422
+ // SameValue algorithm
5423
+ if (x === y) {
5424
+ // Steps 1-5, 7-10
5425
+ // Steps 6.b-6.e: +0 != -0
5426
+ return x !== 0 || 1 / x === 1 / y;
5427
+ } else {
5428
+ // Step 6.a: NaN == NaN
5429
+ return x !== x && y !== y;
5430
+ }
5431
+ }
5432
+ /*eslint-enable no-self-compare*/
5433
+
5434
+ /**
5435
+ * We use an Error-like object for backward compatibility as people may call
5436
+ * PropTypes directly and inspect their output. However, we don't use real
5437
+ * Errors anymore. We don't inspect their stack anyway, and creating them
5438
+ * is prohibitively expensive if they are created too often, such as what
5439
+ * happens in oneOfType() for any type before the one that matched.
5440
+ */
5441
+ function PropTypeError(message, data) {
5442
+ this.message = message;
5443
+ this.data = data && typeof data === 'object' ? data: {};
5444
+ this.stack = '';
5445
+ }
5446
+ // Make `instanceof Error` still work for returned errors.
5447
+ PropTypeError.prototype = Error.prototype;
5448
+
5449
+ function createChainableTypeChecker(validate) {
5450
+ if (process.env.NODE_ENV !== 'production') {
5451
+ var manualPropTypeCallCache = {};
5452
+ var manualPropTypeWarningCount = 0;
5453
+ }
5454
+ function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
5455
+ componentName = componentName || ANONYMOUS;
5456
+ propFullName = propFullName || propName;
5457
+
5458
+ if (secret !== ReactPropTypesSecret$1) {
5459
+ if (throwOnDirectAccess) {
5460
+ // New behavior only for users of `prop-types` package
5461
+ var err = new Error(
5462
+ 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
5463
+ 'Use `PropTypes.checkPropTypes()` to call them. ' +
5464
+ 'Read more at http://fb.me/use-check-prop-types'
5465
+ );
5466
+ err.name = 'Invariant Violation';
5467
+ throw err;
5468
+ } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {
5469
+ // Old behavior for people using React.PropTypes
5470
+ var cacheKey = componentName + ':' + propName;
5471
+ if (
5472
+ !manualPropTypeCallCache[cacheKey] &&
5473
+ // Avoid spamming the console because they are often not actionable except for lib authors
5474
+ manualPropTypeWarningCount < 3
5475
+ ) {
5476
+ printWarning(
5477
+ 'You are manually calling a React.PropTypes validation ' +
5478
+ 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
5479
+ 'and will throw in the standalone `prop-types` package. ' +
5480
+ 'You may be seeing this warning due to a third-party PropTypes ' +
5481
+ 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
5482
+ );
5483
+ manualPropTypeCallCache[cacheKey] = true;
5484
+ manualPropTypeWarningCount++;
5485
+ }
5486
+ }
5487
+ }
5488
+ if (props[propName] == null) {
5489
+ if (isRequired) {
5490
+ if (props[propName] === null) {
5491
+ return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
5492
+ }
5493
+ return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
5494
+ }
5495
+ return null;
5496
+ } else {
5497
+ return validate(props, propName, componentName, location, propFullName);
5498
+ }
5499
+ }
5500
+
5501
+ var chainedCheckType = checkType.bind(null, false);
5502
+ chainedCheckType.isRequired = checkType.bind(null, true);
5503
+
5504
+ return chainedCheckType;
5505
+ }
5506
+
5507
+ function createPrimitiveTypeChecker(expectedType) {
5508
+ function validate(props, propName, componentName, location, propFullName, secret) {
5509
+ var propValue = props[propName];
5510
+ var propType = getPropType(propValue);
5511
+ if (propType !== expectedType) {
5512
+ // `propValue` being instance of, say, date/regexp, pass the 'object'
5513
+ // check, but we can offer a more precise error message here rather than
5514
+ // 'of type `object`'.
5515
+ var preciseType = getPreciseType(propValue);
5516
+
5517
+ return new PropTypeError(
5518
+ 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),
5519
+ {expectedType: expectedType}
5520
+ );
5521
+ }
5522
+ return null;
5523
+ }
5524
+ return createChainableTypeChecker(validate);
5525
+ }
5526
+
5527
+ function createAnyTypeChecker() {
5528
+ return createChainableTypeChecker(emptyFunctionThatReturnsNull);
5529
+ }
5530
+
5531
+ function createArrayOfTypeChecker(typeChecker) {
5532
+ function validate(props, propName, componentName, location, propFullName) {
5533
+ if (typeof typeChecker !== 'function') {
5534
+ return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
5535
+ }
5536
+ var propValue = props[propName];
5537
+ if (!Array.isArray(propValue)) {
5538
+ var propType = getPropType(propValue);
5539
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
5540
+ }
5541
+ for (var i = 0; i < propValue.length; i++) {
5542
+ var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret$1);
5543
+ if (error instanceof Error) {
5544
+ return error;
5545
+ }
5546
+ }
5547
+ return null;
5548
+ }
5549
+ return createChainableTypeChecker(validate);
5550
+ }
5551
+
5552
+ function createElementTypeChecker() {
5553
+ function validate(props, propName, componentName, location, propFullName) {
5554
+ var propValue = props[propName];
5555
+ if (!isValidElement(propValue)) {
5556
+ var propType = getPropType(propValue);
5557
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
5558
+ }
5559
+ return null;
5560
+ }
5561
+ return createChainableTypeChecker(validate);
5562
+ }
5563
+
5564
+ function createElementTypeTypeChecker() {
5565
+ function validate(props, propName, componentName, location, propFullName) {
5566
+ var propValue = props[propName];
5567
+ if (!ReactIs$1.isValidElementType(propValue)) {
5568
+ var propType = getPropType(propValue);
5569
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
5570
+ }
5571
+ return null;
5572
+ }
5573
+ return createChainableTypeChecker(validate);
5574
+ }
5575
+
5576
+ function createInstanceTypeChecker(expectedClass) {
5577
+ function validate(props, propName, componentName, location, propFullName) {
5578
+ if (!(props[propName] instanceof expectedClass)) {
5579
+ var expectedClassName = expectedClass.name || ANONYMOUS;
5580
+ var actualClassName = getClassName(props[propName]);
5581
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
5582
+ }
5583
+ return null;
5584
+ }
5585
+ return createChainableTypeChecker(validate);
5586
+ }
5587
+
5588
+ function createEnumTypeChecker(expectedValues) {
5589
+ if (!Array.isArray(expectedValues)) {
5590
+ if (process.env.NODE_ENV !== 'production') {
5591
+ if (arguments.length > 1) {
5592
+ printWarning(
5593
+ 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
5594
+ 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
5595
+ );
5596
+ } else {
5597
+ printWarning('Invalid argument supplied to oneOf, expected an array.');
5598
+ }
5599
+ }
5600
+ return emptyFunctionThatReturnsNull;
5601
+ }
5602
+
5603
+ function validate(props, propName, componentName, location, propFullName) {
5604
+ var propValue = props[propName];
5605
+ for (var i = 0; i < expectedValues.length; i++) {
5606
+ if (is(propValue, expectedValues[i])) {
5607
+ return null;
5608
+ }
5609
+ }
5610
+
5611
+ var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
5612
+ var type = getPreciseType(value);
5613
+ if (type === 'symbol') {
5614
+ return String(value);
5615
+ }
5616
+ return value;
5617
+ });
5618
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
5619
+ }
5620
+ return createChainableTypeChecker(validate);
5621
+ }
5622
+
5623
+ function createObjectOfTypeChecker(typeChecker) {
5624
+ function validate(props, propName, componentName, location, propFullName) {
5625
+ if (typeof typeChecker !== 'function') {
5626
+ return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
5627
+ }
5628
+ var propValue = props[propName];
5629
+ var propType = getPropType(propValue);
5630
+ if (propType !== 'object') {
5631
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
5632
+ }
5633
+ for (var key in propValue) {
5634
+ if (has(propValue, key)) {
5635
+ var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret$1);
5636
+ if (error instanceof Error) {
5637
+ return error;
5638
+ }
5639
+ }
5640
+ }
5641
+ return null;
5642
+ }
5643
+ return createChainableTypeChecker(validate);
5644
+ }
5645
+
5646
+ function createUnionTypeChecker(arrayOfTypeCheckers) {
5647
+ if (!Array.isArray(arrayOfTypeCheckers)) {
5648
+ process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;
5649
+ return emptyFunctionThatReturnsNull;
5650
+ }
5651
+
5652
+ for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
5653
+ var checker = arrayOfTypeCheckers[i];
5654
+ if (typeof checker !== 'function') {
5655
+ printWarning(
5656
+ 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
5657
+ 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
5658
+ );
5659
+ return emptyFunctionThatReturnsNull;
5660
+ }
5661
+ }
5662
+
5663
+ function validate(props, propName, componentName, location, propFullName) {
5664
+ var expectedTypes = [];
5665
+ for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
5666
+ var checker = arrayOfTypeCheckers[i];
5667
+ var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret$1);
5668
+ if (checkerResult == null) {
5669
+ return null;
5670
+ }
5671
+ if (checkerResult.data && has(checkerResult.data, 'expectedType')) {
5672
+ expectedTypes.push(checkerResult.data.expectedType);
5673
+ }
5674
+ }
5675
+ var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';
5676
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
5677
+ }
5678
+ return createChainableTypeChecker(validate);
5679
+ }
5680
+
5681
+ function createNodeChecker() {
5682
+ function validate(props, propName, componentName, location, propFullName) {
5683
+ if (!isNode(props[propName])) {
5684
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
5685
+ }
5686
+ return null;
5687
+ }
5688
+ return createChainableTypeChecker(validate);
5689
+ }
5690
+
5691
+ function invalidValidatorError(componentName, location, propFullName, key, type) {
5692
+ return new PropTypeError(
5693
+ (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +
5694
+ 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'
5695
+ );
5696
+ }
5697
+
5698
+ function createShapeTypeChecker(shapeTypes) {
5699
+ function validate(props, propName, componentName, location, propFullName) {
5700
+ var propValue = props[propName];
5701
+ var propType = getPropType(propValue);
5702
+ if (propType !== 'object') {
5703
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
5704
+ }
5705
+ for (var key in shapeTypes) {
5706
+ var checker = shapeTypes[key];
5707
+ if (typeof checker !== 'function') {
5708
+ return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
5709
+ }
5710
+ var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret$1);
5711
+ if (error) {
5712
+ return error;
5713
+ }
5714
+ }
5715
+ return null;
5716
+ }
5717
+ return createChainableTypeChecker(validate);
5718
+ }
5719
+
5720
+ function createStrictShapeTypeChecker(shapeTypes) {
5721
+ function validate(props, propName, componentName, location, propFullName) {
5722
+ var propValue = props[propName];
5723
+ var propType = getPropType(propValue);
5724
+ if (propType !== 'object') {
5725
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
5726
+ }
5727
+ // We need to check all keys in case some are required but missing from props.
5728
+ var allKeys = assign({}, props[propName], shapeTypes);
5729
+ for (var key in allKeys) {
5730
+ var checker = shapeTypes[key];
5731
+ if (has(shapeTypes, key) && typeof checker !== 'function') {
5732
+ return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
5733
+ }
5734
+ if (!checker) {
5735
+ return new PropTypeError(
5736
+ 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
5737
+ '\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
5738
+ '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
5739
+ );
5740
+ }
5741
+ var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret$1);
5742
+ if (error) {
5743
+ return error;
5744
+ }
5745
+ }
5746
+ return null;
5747
+ }
5748
+
5749
+ return createChainableTypeChecker(validate);
5750
+ }
5751
+
5752
+ function isNode(propValue) {
5753
+ switch (typeof propValue) {
5754
+ case 'number':
5755
+ case 'string':
5756
+ case 'undefined':
5757
+ return true;
5758
+ case 'boolean':
5759
+ return !propValue;
5760
+ case 'object':
5761
+ if (Array.isArray(propValue)) {
5762
+ return propValue.every(isNode);
5763
+ }
5764
+ if (propValue === null || isValidElement(propValue)) {
5765
+ return true;
5766
+ }
5767
+
5768
+ var iteratorFn = getIteratorFn(propValue);
5769
+ if (iteratorFn) {
5770
+ var iterator = iteratorFn.call(propValue);
5771
+ var step;
5772
+ if (iteratorFn !== propValue.entries) {
5773
+ while (!(step = iterator.next()).done) {
5774
+ if (!isNode(step.value)) {
5775
+ return false;
5776
+ }
5777
+ }
5778
+ } else {
5779
+ // Iterator will provide entry [k,v] tuples rather than values.
5780
+ while (!(step = iterator.next()).done) {
5781
+ var entry = step.value;
5782
+ if (entry) {
5783
+ if (!isNode(entry[1])) {
5784
+ return false;
5785
+ }
5786
+ }
5787
+ }
5788
+ }
5789
+ } else {
5790
+ return false;
5791
+ }
5792
+
5793
+ return true;
5794
+ default:
5795
+ return false;
5796
+ }
5797
+ }
5798
+
5799
+ function isSymbol(propType, propValue) {
5800
+ // Native Symbol.
5801
+ if (propType === 'symbol') {
5802
+ return true;
5803
+ }
5804
+
5805
+ // falsy value can't be a Symbol
5806
+ if (!propValue) {
5807
+ return false;
5808
+ }
5809
+
5810
+ // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
5811
+ if (propValue['@@toStringTag'] === 'Symbol') {
5812
+ return true;
5813
+ }
5814
+
5815
+ // Fallback for non-spec compliant Symbols which are polyfilled.
5816
+ if (typeof Symbol === 'function' && propValue instanceof Symbol) {
5817
+ return true;
5818
+ }
5819
+
5820
+ return false;
5821
+ }
5822
+
5823
+ // Equivalent of `typeof` but with special handling for array and regexp.
5824
+ function getPropType(propValue) {
5825
+ var propType = typeof propValue;
5826
+ if (Array.isArray(propValue)) {
5827
+ return 'array';
5828
+ }
5829
+ if (propValue instanceof RegExp) {
5830
+ // Old webkits (at least until Android 4.0) return 'function' rather than
5831
+ // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
5832
+ // passes PropTypes.object.
5833
+ return 'object';
5834
+ }
5835
+ if (isSymbol(propType, propValue)) {
5836
+ return 'symbol';
5837
+ }
5838
+ return propType;
5839
+ }
5840
+
5841
+ // This handles more types than `getPropType`. Only used for error messages.
5842
+ // See `createPrimitiveTypeChecker`.
5843
+ function getPreciseType(propValue) {
5844
+ if (typeof propValue === 'undefined' || propValue === null) {
5845
+ return '' + propValue;
5846
+ }
5847
+ var propType = getPropType(propValue);
5848
+ if (propType === 'object') {
5849
+ if (propValue instanceof Date) {
5850
+ return 'date';
5851
+ } else if (propValue instanceof RegExp) {
5852
+ return 'regexp';
5853
+ }
5854
+ }
5855
+ return propType;
5856
+ }
5857
+
5858
+ // Returns a string that is postfixed to a warning about an invalid type.
5859
+ // For example, "undefined" or "of type array"
5860
+ function getPostfixForTypeWarning(value) {
5861
+ var type = getPreciseType(value);
5862
+ switch (type) {
5863
+ case 'array':
5864
+ case 'object':
5865
+ return 'an ' + type;
5866
+ case 'boolean':
5867
+ case 'date':
5868
+ case 'regexp':
5869
+ return 'a ' + type;
5870
+ default:
5871
+ return type;
5872
+ }
5873
+ }
5874
+
5875
+ // Returns class name of the object, if any.
5876
+ function getClassName(propValue) {
5877
+ if (!propValue.constructor || !propValue.constructor.name) {
5878
+ return ANONYMOUS;
5879
+ }
5880
+ return propValue.constructor.name;
5881
+ }
5882
+
5883
+ ReactPropTypes.checkPropTypes = checkPropTypes;
5884
+ ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
5885
+ ReactPropTypes.PropTypes = ReactPropTypes;
5886
+
5887
+ return ReactPropTypes;
5888
+ };
5889
+
5890
+ /**
5891
+ * Copyright (c) 2013-present, Facebook, Inc.
5892
+ *
5893
+ * This source code is licensed under the MIT license found in the
5894
+ * LICENSE file in the root directory of this source tree.
5895
+ */
5896
+
5897
+ var ReactPropTypesSecret = ReactPropTypesSecret_1;
5898
+
5899
+ function emptyFunction() {}
5900
+ function emptyFunctionWithReset() {}
5901
+ emptyFunctionWithReset.resetWarningCache = emptyFunction;
5902
+
5903
+ var factoryWithThrowingShims = function() {
5904
+ function shim(props, propName, componentName, location, propFullName, secret) {
5905
+ if (secret === ReactPropTypesSecret) {
5906
+ // It is still safe when called from React.
5907
+ return;
5908
+ }
5909
+ var err = new Error(
5910
+ 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
5911
+ 'Use PropTypes.checkPropTypes() to call them. ' +
5912
+ 'Read more at http://fb.me/use-check-prop-types'
5913
+ );
5914
+ err.name = 'Invariant Violation';
5915
+ throw err;
5916
+ } shim.isRequired = shim;
5917
+ function getShim() {
5918
+ return shim;
5919
+ } // Important!
5920
+ // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
5921
+ var ReactPropTypes = {
5922
+ array: shim,
5923
+ bigint: shim,
5924
+ bool: shim,
5925
+ func: shim,
5926
+ number: shim,
5927
+ object: shim,
5928
+ string: shim,
5929
+ symbol: shim,
5930
+
5931
+ any: shim,
5932
+ arrayOf: getShim,
5933
+ element: shim,
5934
+ elementType: shim,
5935
+ instanceOf: getShim,
5936
+ node: shim,
5937
+ objectOf: getShim,
5938
+ oneOf: getShim,
5939
+ oneOfType: getShim,
5940
+ shape: getShim,
5941
+ exact: getShim,
5942
+
5943
+ checkPropTypes: emptyFunctionWithReset,
5944
+ resetWarningCache: emptyFunction
5945
+ };
5946
+
5947
+ ReactPropTypes.PropTypes = ReactPropTypes;
5948
+
5949
+ return ReactPropTypes;
5950
+ };
5951
+
5952
+ /**
5953
+ * Copyright (c) 2013-present, Facebook, Inc.
5954
+ *
5955
+ * This source code is licensed under the MIT license found in the
5956
+ * LICENSE file in the root directory of this source tree.
5957
+ */
5958
+
5959
+ if (process.env.NODE_ENV !== 'production') {
5960
+ var ReactIs = reactIs.exports;
5961
+
5962
+ // By explicitly using `prop-types` you are opting into new development behavior.
5963
+ // http://fb.me/prop-types-in-prod
5964
+ var throwOnDirectAccess = true;
5965
+ propTypes.exports = factoryWithTypeCheckers(ReactIs.isElement, throwOnDirectAccess);
5966
+ } else {
5967
+ // By explicitly using `prop-types` you are opting into new production behavior.
5968
+ // http://fb.me/prop-types-in-prod
5969
+ propTypes.exports = factoryWithThrowingShims();
5970
+ }
5971
+
5972
+ var PropTypes = propTypes.exports;
5973
+
5974
+ function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5975
+
5976
+ function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5977
+ var SettingsDispatchContext = /*#__PURE__*/React.createContext();
5978
+ var SettingsStateContext = /*#__PURE__*/React.createContext();
5979
+ var UPDATE_ALL_SETTINGS = 'UPDATE_ALL_SETTINGS';
5980
+ var UPDATE_SETTING = 'UPDATE_SETTING';
5981
+ var UPDATE_USERNAME = 'UPDATE_USERNAME';
5982
+ var REMOVE_SETTING = 'REMOVE_SETTING';
5983
+
5984
+ var reducer = function reducer(state, action) {
5985
+ switch (action.type) {
5986
+ case UPDATE_USERNAME:
5987
+ {
5988
+ return _objectSpread$1(_objectSpread$1({}, state), {}, {
5989
+ userName: action.userName
5990
+ });
5991
+ }
5992
+
5993
+ case UPDATE_ALL_SETTINGS:
5994
+ {
5995
+ return _objectSpread$1(_objectSpread$1({}, state), {}, {
5996
+ settings: action.settings
5997
+ });
5998
+ }
5999
+
6000
+ case UPDATE_SETTING:
6001
+ {
6002
+ var settings = _objectSpread$1(_objectSpread$1({}, state.settings), action.setting);
6003
+
6004
+ return _objectSpread$1(_objectSpread$1({}, state), {}, {
6005
+ settings: settings
6006
+ });
6007
+ }
6008
+
6009
+ case REMOVE_SETTING:
6010
+ {
6011
+ var _settings = _objectSpread$1({}, state.settings);
6012
+
6013
+ delete _settings[action.key];
6014
+ return _objectSpread$1(_objectSpread$1({}, state), {}, {
4947
6015
  settings: _settings
4948
6016
  });
4949
6017
  }
@@ -4953,17 +6021,14 @@ var reducer = function reducer(state, action) {
4953
6021
  }
4954
6022
  };
4955
6023
 
4956
- var SettingsProvider = function SettingsProvider(_ref) {
6024
+ function SettingsProvider(_ref) {
4957
6025
  var initialUsername = _ref.userName,
4958
6026
  settingsKey = _ref.settingsKey,
4959
6027
  children = _ref.children,
4960
- _ref$initialSettings = _ref.initialSettings,
4961
- initialSettings = _ref$initialSettings === void 0 ? {} : _ref$initialSettings,
6028
+ initialSettings = _ref.initialSettings,
4962
6029
  onChange = _ref.onChange,
4963
- _ref$getSettingsApi = _ref.getSettingsApi,
4964
- getSettingsApi = _ref$getSettingsApi === void 0 ? metadata.getSimpleMetadataKey : _ref$getSettingsApi,
4965
- _ref$updateSettingsAp = _ref.updateSettingsApi,
4966
- updateSettingsApi = _ref$updateSettingsAp === void 0 ? metadata.updateSimpleMetadataKey : _ref$updateSettingsAp;
6030
+ getSettingsApi = _ref.getSettingsApi,
6031
+ updateSettingsApi = _ref.updateSettingsApi;
4967
6032
 
4968
6033
  var _React$useReducer = React.useReducer(reducer, {
4969
6034
  settings: initialSettings,
@@ -5018,7 +6083,7 @@ var SettingsProvider = function SettingsProvider(_ref) {
5018
6083
  }, /*#__PURE__*/React.createElement(SettingsDispatchContext.Provider, {
5019
6084
  value: dispatch
5020
6085
  }, children));
5021
- };
6086
+ }
5022
6087
 
5023
6088
  var useSettingsState = function useSettingsState() {
5024
6089
  var state = React.useContext(SettingsStateContext);
@@ -5076,15 +6141,35 @@ var useSettings = function useSettings() {
5076
6141
  settings = _useSettingsState$set === void 0 ? {} : _useSettingsState$set;
5077
6142
 
5078
6143
  var actions = useSettingsActions();
5079
- return _objectSpread2(_objectSpread2({}, actions), {}, {
6144
+ return _objectSpread$1(_objectSpread$1({}, actions), {}, {
5080
6145
  settings: settings
5081
6146
  });
5082
6147
  };
5083
6148
 
5084
- var VIDISPINE_TOKEN$1 = 'VIDISPINE-TOKEN';
5085
- var VIDISPINE_USERNAME$1 = 'VIDISPINE-USERNAME';
5086
- var VIDISPINE_SERVER_URL$1 = 'VIDISPINE-SERVER-URL';
5087
- var VIDISPINE_REMEMBER_ME$1 = 'VIDISPINE-REMEMBER-ME';
6149
+ SettingsProvider.propTypes = {
6150
+ userName: PropTypes.string.isRequired,
6151
+ settingsKey: PropTypes.string.isRequired,
6152
+ children: PropTypes.objectOf(PropTypes.any),
6153
+ initialSettings: PropTypes.objectOf(PropTypes.any),
6154
+ onChange: PropTypes.func,
6155
+ getSettingsApi: PropTypes.func,
6156
+ updateSettingsApi: PropTypes.func
6157
+ };
6158
+ SettingsProvider.defaultProps = {
6159
+ children: null,
6160
+ initialSettings: {},
6161
+ onChange: null,
6162
+ getSettingsApi: metadata.getSimpleMetadataKey,
6163
+ updateSettingsApi: metadata.updateSimpleMetadataKey
6164
+ };
6165
+
6166
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6167
+
6168
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6169
+ var VIDISPINE_TOKEN = 'VIDISPINE-TOKEN';
6170
+ var VIDISPINE_USERNAME = 'VIDISPINE-USERNAME';
6171
+ var VIDISPINE_SERVER_URL = 'VIDISPINE-SERVER-URL';
6172
+ var VIDISPINE_REMEMBER_ME = 'VIDISPINE-REMEMBER-ME';
5088
6173
  var ERROR_CREDENTIALS = 'Incorrect username or password';
5089
6174
  var ERROR_OFFLINE = 'Offline or CORS not configured';
5090
6175
  var ERROR_TOKEN_EXPIRED = 'Session expired';
@@ -5141,7 +6226,7 @@ var defaultOnGetToken = function defaultOnGetToken(_ref) {
5141
6226
  var AuthContext = /*#__PURE__*/React.createContext({
5142
6227
  serverUrl: null,
5143
6228
  token: null,
5144
- user: null,
6229
+ userType: null,
5145
6230
  userName: null,
5146
6231
  onLogin: function onLogin() {
5147
6232
  return null;
@@ -5150,17 +6235,11 @@ var AuthContext = /*#__PURE__*/React.createContext({
5150
6235
  return null;
5151
6236
  }
5152
6237
  });
5153
- var AuthProvider = function AuthProvider(_ref3) {
5154
- var _ref3$cookieOptions = _ref3.cookieOptions,
5155
- cookieOptions = _ref3$cookieOptions === void 0 ? {
5156
- maxAge: 604800,
5157
- path: '/'
5158
- } : _ref3$cookieOptions,
6238
+ function AuthProvider(_ref3) {
6239
+ var cookieOptions = _ref3.cookieOptions,
5159
6240
  LoginComponent = _ref3.LoginComponent,
5160
- _ref3$LoginProps = _ref3.LoginProps,
5161
- LoginProps = _ref3$LoginProps === void 0 ? {} : _ref3$LoginProps,
5162
- _ref3$onGetToken = _ref3.onGetToken,
5163
- onGetToken = _ref3$onGetToken === void 0 ? defaultOnGetToken : _ref3$onGetToken,
6241
+ LoginProps = _ref3.LoginProps,
6242
+ onGetToken = _ref3.onGetToken,
5164
6243
  onSuccess = _ref3.onSuccess,
5165
6244
  onError = _ref3.onError,
5166
6245
  propsServerUrl = _ref3.serverUrl,
@@ -5172,35 +6251,34 @@ var AuthProvider = function AuthProvider(_ref3) {
5172
6251
  userType = _useApi.data,
5173
6252
  getUser = _useApi.request;
5174
6253
 
5175
- var _useCookies = useCookies([VIDISPINE_TOKEN$1, VIDISPINE_USERNAME$1, VIDISPINE_SERVER_URL$1, VIDISPINE_REMEMBER_ME$1]),
6254
+ var _useCookies = useCookies([VIDISPINE_TOKEN, VIDISPINE_USERNAME, VIDISPINE_SERVER_URL, VIDISPINE_REMEMBER_ME]),
5176
6255
  _useCookies2 = _slicedToArray(_useCookies, 3),
5177
6256
  cookies = _useCookies2[0],
5178
6257
  setCookie = _useCookies2[1],
5179
6258
  removeCookie = _useCookies2[2];
5180
6259
 
5181
- var _cookies$VIDISPINE_TO = cookies[VIDISPINE_TOKEN$1],
6260
+ var _cookies$VIDISPINE_TO = cookies[VIDISPINE_TOKEN],
5182
6261
  token = _cookies$VIDISPINE_TO === void 0 ? propsToken : _cookies$VIDISPINE_TO,
5183
- _cookies$VIDISPINE_US = cookies[VIDISPINE_USERNAME$1],
6262
+ _cookies$VIDISPINE_US = cookies[VIDISPINE_USERNAME],
5184
6263
  userName = _cookies$VIDISPINE_US === void 0 ? propsUserName : _cookies$VIDISPINE_US,
5185
- _cookies$VIDISPINE_SE = cookies[VIDISPINE_SERVER_URL$1],
6264
+ _cookies$VIDISPINE_SE = cookies[VIDISPINE_SERVER_URL],
5186
6265
  serverUrl = _cookies$VIDISPINE_SE === void 0 ? propsServerUrl : _cookies$VIDISPINE_SE;
5187
- var rememberMe = cookies[VIDISPINE_REMEMBER_ME$1] === 'true';
6266
+ var rememberMe = cookies[VIDISPINE_REMEMBER_ME] === 'true';
5188
6267
  var maxAge = cookieOptions.maxAge;
5189
-
5190
- var onLogin = function onLogin(values) {
6268
+ var onLogin = React.useCallback(function (values) {
5191
6269
  var submissionError;
5192
6270
 
5193
6271
  try {
5194
- return onGetToken(_objectSpread2({
6272
+ return onGetToken(_objectSpread({
5195
6273
  maxAge: maxAge
5196
6274
  }, values)).then(function (newToken) {
5197
6275
  var newUserName = values.userName,
5198
6276
  newServerUrl = values.serverUrl,
5199
6277
  newRememberMe = values.rememberMe;
5200
- if (newUserName) setCookie(VIDISPINE_USERNAME$1, newUserName, cookieOptions);
5201
- if (newServerUrl) setCookie(VIDISPINE_SERVER_URL$1, newServerUrl, cookieOptions);
5202
- if (newRememberMe) setCookie(VIDISPINE_REMEMBER_ME$1, newRememberMe, cookieOptions);
5203
- if (newToken) setCookie(VIDISPINE_TOKEN$1, newToken, cookieOptions);
6278
+ if (newUserName) setCookie(VIDISPINE_USERNAME, newUserName, cookieOptions);
6279
+ if (newServerUrl) setCookie(VIDISPINE_SERVER_URL, newServerUrl, cookieOptions);
6280
+ if (newRememberMe) setCookie(VIDISPINE_REMEMBER_ME, newRememberMe, cookieOptions);
6281
+ if (newToken) setCookie(VIDISPINE_TOKEN, newToken, cookieOptions);
5204
6282
  if (onSuccess) onSuccess(values);
5205
6283
  })["catch"](function (error) {
5206
6284
  submissionError = error;
@@ -5212,15 +6290,14 @@ var AuthProvider = function AuthProvider(_ref3) {
5212
6290
  }
5213
6291
 
5214
6292
  return submissionError;
5215
- };
5216
-
6293
+ }, [cookieOptions, maxAge, onError, onGetToken, onSuccess, setCookie]);
5217
6294
  var onLogout = React.useCallback(function () {
5218
- removeCookie(VIDISPINE_TOKEN$1, cookieOptions);
6295
+ removeCookie(VIDISPINE_TOKEN, cookieOptions);
5219
6296
 
5220
6297
  if (!rememberMe) {
5221
- removeCookie(VIDISPINE_USERNAME$1, cookieOptions);
5222
- removeCookie(VIDISPINE_SERVER_URL$1, cookieOptions);
5223
- removeCookie(VIDISPINE_REMEMBER_ME$1, cookieOptions);
6298
+ removeCookie(VIDISPINE_USERNAME, cookieOptions);
6299
+ removeCookie(VIDISPINE_SERVER_URL, cookieOptions);
6300
+ removeCookie(VIDISPINE_REMEMBER_ME, cookieOptions);
5224
6301
  }
5225
6302
  }, [cookieOptions, rememberMe, removeCookie]);
5226
6303
  var responseInterceptor = React.useRef();
@@ -5261,7 +6338,7 @@ var AuthProvider = function AuthProvider(_ref3) {
5261
6338
  if (token && userName === undefined) {
5262
6339
  user.whoAmI().then(function (_ref4) {
5263
6340
  var newUserName = _ref4.data;
5264
- return setCookie(VIDISPINE_USERNAME$1, newUserName, cookieOptions);
6341
+ return setCookie(VIDISPINE_USERNAME, newUserName, cookieOptions);
5265
6342
  });
5266
6343
  } // eslint-disable-next-line react-hooks/exhaustive-deps
5267
6344
 
@@ -5277,26 +6354,56 @@ var AuthProvider = function AuthProvider(_ref3) {
5277
6354
  if (onError) onError(Error(ERROR_SERVER_MISMATCH));
5278
6355
  }
5279
6356
  }, [token, serverUrl, propsServerUrl, onLogout, onError]);
5280
- return /*#__PURE__*/React.createElement(React.Fragment, null, token ? /*#__PURE__*/React.createElement(VidispineApi, {
5281
- token: token,
5282
- username: userName,
5283
- serverUrl: serverUrl
5284
- }, /*#__PURE__*/React.createElement(AuthContext.Provider, {
5285
- value: {
6357
+ var contextValue = React.useMemo(function () {
6358
+ return {
5286
6359
  serverUrl: serverUrl,
5287
6360
  token: token,
5288
6361
  userType: userType,
5289
6362
  userName: userName,
5290
6363
  onLogin: onLogin,
5291
6364
  onLogout: onLogout
5292
- }
6365
+ };
6366
+ }, [onLogin, onLogout, serverUrl, token, userName, userType]);
6367
+ return token ? /*#__PURE__*/React.createElement(VidispineApi, {
6368
+ token: token,
6369
+ username: userName,
6370
+ serverUrl: serverUrl
6371
+ }, /*#__PURE__*/React.createElement(AuthContext.Provider, {
6372
+ value: contextValue
5293
6373
  }, children)) : /*#__PURE__*/React.createElement(LoginComponent, _extends({
5294
6374
  onLogin: onLogin,
5295
6375
  userName: userName,
5296
6376
  serverUrl: serverUrl,
5297
- rememberMe: rememberMe // eslint-disable-next-line react/jsx-props-no-spreading
5298
-
5299
- }, LoginProps)));
6377
+ rememberMe: rememberMe
6378
+ }, LoginProps));
6379
+ }
6380
+ AuthProvider.propTypes = {
6381
+ cookieOptions: PropTypes.shape({
6382
+ maxAge: PropTypes.number,
6383
+ path: PropTypes.string
6384
+ }),
6385
+ LoginComponent: PropTypes.elementType.isRequired,
6386
+ LoginProps: PropTypes.objectOf(PropTypes.any),
6387
+ onGetToken: PropTypes.func,
6388
+ children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.element), PropTypes.element]),
6389
+ onSuccess: PropTypes.func,
6390
+ onError: PropTypes.func,
6391
+ serverUrl: PropTypes.string.isRequired,
6392
+ userName: PropTypes.string,
6393
+ token: PropTypes.string
6394
+ };
6395
+ AuthProvider.defaultProps = {
6396
+ cookieOptions: {
6397
+ maxAge: 604800,
6398
+ path: '/'
6399
+ },
6400
+ LoginProps: {},
6401
+ onGetToken: defaultOnGetToken,
6402
+ children: null,
6403
+ onSuccess: null,
6404
+ onError: null,
6405
+ userName: null,
6406
+ token: null
5300
6407
  };
5301
6408
  var useAuthContext = function useAuthContext() {
5302
6409
  var context = React.useContext(AuthContext);
@@ -5308,66 +6415,6 @@ var useAuthContext = function useAuthContext() {
5308
6415
  return context;
5309
6416
  };
5310
6417
 
5311
- var DropArea = (function (_ref) {
5312
- var children = _ref.children,
5313
- setDrag = _ref.setDrag,
5314
- onDropProp = _ref.onDrop,
5315
- onDragEnterProp = _ref.onDragEnter,
5316
- onDragOverProp = _ref.onDragOver,
5317
- onDragLeaveProp = _ref.onDragLeave,
5318
- style = _ref.style;
5319
-
5320
- var _React$useState = React.useState(0),
5321
- _React$useState2 = _slicedToArray(_React$useState, 2),
5322
- dragCounter = _React$useState2[0],
5323
- setDragCounter = _React$useState2[1];
5324
-
5325
- var _onDrop = function onDrop(e) {
5326
- e.preventDefault();
5327
- e.stopPropagation();
5328
- setDrag(false);
5329
- if (onDropProp) onDropProp(e);
5330
- };
5331
-
5332
- var _onDragEnter = function onDragEnter(e) {
5333
- e.preventDefault();
5334
- e.stopPropagation();
5335
- setDragCounter(dragCounter + 1);
5336
- if (dragCounter === 0) setDrag(true);
5337
- if (onDragEnterProp) onDragEnterProp(e);
5338
- };
5339
-
5340
- var _onDragOver = function onDragOver(e) {
5341
- e.preventDefault();
5342
- e.stopPropagation();
5343
- if (onDragOverProp) onDragOverProp(e);
5344
- };
5345
-
5346
- var _onDragLeave = function onDragLeave(e) {
5347
- e.preventDefault();
5348
- e.stopPropagation();
5349
- setDragCounter(dragCounter - 1);
5350
- if (dragCounter === 1) setDrag(false);
5351
- if (onDragLeaveProp) onDragLeaveProp(e);
5352
- };
5353
-
5354
- return /*#__PURE__*/React.createElement("div", {
5355
- onDragEnter: function onDragEnter(e) {
5356
- return _onDragEnter(e);
5357
- },
5358
- onDragOver: function onDragOver(e) {
5359
- return _onDragOver(e);
5360
- },
5361
- onDrop: function onDrop(e) {
5362
- return _onDrop(e);
5363
- },
5364
- onDragLeave: function onDragLeave(e) {
5365
- return _onDragLeave(e);
5366
- },
5367
- style: style
5368
- }, children);
5369
- });
5370
-
5371
6418
  var handleAddEntity = function handleAddEntity(_ref) {
5372
6419
  var entityId = _ref.entityId,
5373
6420
  entityType = _ref.entityType,
@@ -5554,5 +6601,65 @@ var handleMoveEntity = function handleMoveEntity(_ref3) {
5554
6601
  }
5555
6602
  };
5556
6603
 
5557
- export { Auth, AuthContext, AuthProvider, BinContext, BinProvider, ComposeProviders, DropArea, ErrorBoundary, GetCollectionContent as GetCollection, GetFieldGroup, GetItem, GetJobs, HasRole, ListEntityAccess, MetadataType, RolesProvider, SearchCollection, SearchItem, SearchItemCollection, SettingsProvider, VidispineApi, compose, handleAddEntity, handleMoveEntity, handleRemoveEntity, useAddMetadataFieldAttributes, useApi, useAuthContext, useAutocomplete, useCollectionAutoPlay, useCsvDownload, useDocSearchAutocomplete, useEntityAccess, useGetCollection, useGetCollection$1 as useGetCollectionItem, useGetEntity, useGetFieldMetadataDataset, useGetItem, useGetSavedSearchFolders, useGroup, useHoverScrub, useInterval, useJobSearch, useListGroup, useListUser, useLocalStorage, useMouseDownPosition, useQueryInitialState, useRepresentativeItems, useRoles, useSavedSearch, useSearch, useSearchGroup, useSearchItem, useSearchUser, useSelected, useSettings, useSettingsActions, useTab, useThumbnailScrub, useUpdateEffect, useUpdateQueryState, useUploadFiles, useUser, withErrorBoundary };
6604
+ function DropArea(_ref) {
6605
+ var children = _ref.children,
6606
+ setDrag = _ref.setDrag,
6607
+ onDropProp = _ref.onDrop,
6608
+ onDragEnterProp = _ref.onDragEnter,
6609
+ onDragOverProp = _ref.onDragOver,
6610
+ onDragLeaveProp = _ref.onDragLeave,
6611
+ style = _ref.style;
6612
+
6613
+ var _React$useState = React.useState(0),
6614
+ _React$useState2 = _slicedToArray(_React$useState, 2),
6615
+ dragCounter = _React$useState2[0],
6616
+ setDragCounter = _React$useState2[1];
6617
+
6618
+ var _onDrop = function onDrop(e) {
6619
+ e.preventDefault();
6620
+ e.stopPropagation();
6621
+ setDrag(false);
6622
+ if (onDropProp) onDropProp(e);
6623
+ };
6624
+
6625
+ var _onDragEnter = function onDragEnter(e) {
6626
+ e.preventDefault();
6627
+ e.stopPropagation();
6628
+ setDragCounter(dragCounter + 1);
6629
+ if (dragCounter === 0) setDrag(true);
6630
+ if (onDragEnterProp) onDragEnterProp(e);
6631
+ };
6632
+
6633
+ var _onDragOver = function onDragOver(e) {
6634
+ e.preventDefault();
6635
+ e.stopPropagation();
6636
+ if (onDragOverProp) onDragOverProp(e);
6637
+ };
6638
+
6639
+ var _onDragLeave = function onDragLeave(e) {
6640
+ e.preventDefault();
6641
+ e.stopPropagation();
6642
+ setDragCounter(dragCounter - 1);
6643
+ if (dragCounter === 1) setDrag(false);
6644
+ if (onDragLeaveProp) onDragLeaveProp(e);
6645
+ };
6646
+
6647
+ return /*#__PURE__*/React.createElement("div", {
6648
+ onDragEnter: function onDragEnter(e) {
6649
+ return _onDragEnter(e);
6650
+ },
6651
+ onDragOver: function onDragOver(e) {
6652
+ return _onDragOver(e);
6653
+ },
6654
+ onDrop: function onDrop(e) {
6655
+ return _onDrop(e);
6656
+ },
6657
+ onDragLeave: function onDragLeave(e) {
6658
+ return _onDragLeave(e);
6659
+ },
6660
+ style: style
6661
+ }, children);
6662
+ }
6663
+
6664
+ export { Auth, AuthContext, AuthProvider, BinContext, BinProvider, ComposeProviders, DropArea, ErrorBoundary, GetCollectionContent as GetCollection, GetFieldGroup, GetItem, GetJobs, HasRole, ListEntityAccess, MetadataType, RolesProvider, SearchCollection, SearchItem, SearchItemCollection, SettingsProvider, VidispineApi, compose, handleAddEntity, handleMoveEntity, handleRemoveEntity, useAddMetadataFieldAttributes, useApi, useAuthContext, useAutocomplete, useCollectionAutoPlay, useCompoundMetadata, useCsvDownload, useDocSearchAutocomplete, useEntityAccess, useGetCollection$1 as useGetCollection, useGetCollection as useGetCollectionItem, useGetEntity, useGetFieldMetadataDataset, useGetItem, useGetSavedSearchFolders, useGroup, useHoverScrub, useInterval, useJobSearch, useListGroup, useListUser, useLocalStorage, useMouseDownPosition, useQueryInitialState, useRepresentativeItems, useRoles, useSavedSearch, useSearch, useSearchGroup, useSearchItem, useSearchUser, useSelected, useSettings, useSettingsActions, useTab, useThumbnailScrub, useUpdateEffect, useUpdateQueryState, useUploadFiles, useUser, withErrorBoundary };
5558
6665
  //# sourceMappingURL=index.es.js.map