@veritone-ce/design-system 1.12.41 → 1.12.43

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.
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  type Item = {
2
3
  label: string;
3
4
  value: string;
@@ -6,6 +7,7 @@ export type AutocompleteProps = {
6
7
  items: Item[];
7
8
  label: string;
8
9
  width: number;
10
+ onChange: (event: React.SyntheticEvent, value: Item | null) => void;
9
11
  };
10
- declare function ComboBox({ items, label, width }: AutocompleteProps): import("react/jsx-runtime").JSX.Element;
12
+ declare function ComboBox({ items, label, width, onChange }: AutocompleteProps): import("react/jsx-runtime").JSX.Element;
11
13
  export default ComboBox;
@@ -5,7 +5,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
5
5
  function ComboBox(_ref) {
6
6
  var items = _ref.items,
7
7
  label = _ref.label,
8
- width = _ref.width;
8
+ width = _ref.width,
9
+ onChange = _ref.onChange;
9
10
  return /*#__PURE__*/_jsx(Autocomplete, {
10
11
  disablePortal: true,
11
12
  options: items,
@@ -16,7 +17,8 @@ function ComboBox(_ref) {
16
17
  return /*#__PURE__*/_jsx(TextField, _extends({}, params, {
17
18
  label: label
18
19
  }));
19
- }
20
+ },
21
+ onChange: onChange
20
22
  });
21
23
  }
22
24
  export default ComboBox;
@@ -1,7 +1,7 @@
1
1
  import { SxProps, Theme } from '@mui/material/styles';
2
2
  import { Accept, DropzoneRootProps, DropzoneInputProps } from 'react-dropzone';
3
- export interface FileData {
4
- file: File | any;
3
+ export interface FileState {
4
+ name: string;
5
5
  uploadProgress: number;
6
6
  isUploaded: boolean;
7
7
  withError: boolean;
@@ -10,7 +10,7 @@ export interface FileData {
10
10
  export type FileUploaderViewProps = {
11
11
  'data-testid'?: string;
12
12
  extensions: string[];
13
- fileList: FileData[];
13
+ filesState: FileState[];
14
14
  onDelete(fileIndex: number): void;
15
15
  rootProps?: DropzoneRootProps;
16
16
  inputProps?: DropzoneInputProps;
@@ -18,17 +18,16 @@ export type FileUploaderViewProps = {
18
18
  className?: string;
19
19
  };
20
20
  export declare const FileUploaderView: (props: FileUploaderViewProps) => import("react/jsx-runtime").JSX.Element;
21
+ type FileUploadFn = (f: File) => AsyncGenerator<number>;
21
22
  export type FileUploaderProps = {
22
23
  'data-testid'?: string;
23
- accept?: Accept;
24
+ accept: Accept;
24
25
  multiple?: boolean;
25
- uploadUrl: string;
26
- extensions: string[];
27
- files?(v: File[]): void;
26
+ uploadFile: FileUploadFn;
27
+ onComplete?(f: File): void;
28
28
  onError?(v: Error): void;
29
- onSuccess?(v: boolean): void;
30
29
  sx?: SxProps<Theme>;
31
30
  className?: string;
32
31
  };
33
- declare const FileUploader: ({ uploadUrl, files, accept, multiple, onSuccess, onError, extensions, ...props }: FileUploaderProps) => import("react/jsx-runtime").JSX.Element;
32
+ declare const FileUploader: ({ accept, multiple, uploadFile, onComplete, onError, ...props }: FileUploaderProps) => import("react/jsx-runtime").JSX.Element;
34
33
  export default FileUploader;
@@ -1,13 +1,17 @@
1
- var _excluded = ["uploadUrl", "files", "accept", "multiple", "onSuccess", "onError", "extensions"];
1
+ var _excluded = ["accept", "multiple", "uploadFile", "onComplete", "onError"];
2
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == typeof value && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
3
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
4
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
2
5
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
3
6
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
7
+ function _asyncIterator(iterable) { var method, async, sync, retry = 2; for ("undefined" != typeof Symbol && (async = Symbol.asyncIterator, sync = Symbol.iterator); retry--;) { if (async && null != (method = iterable[async])) return method.call(iterable); if (sync && null != (method = iterable[sync])) return new AsyncFromSyncIterator(method.call(iterable)); async = "@@asyncIterator", sync = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
8
+ function AsyncFromSyncIterator(s) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var done = r.done; return Promise.resolve(r.value).then(function (value) { return { value: value, done: done }; }); } return AsyncFromSyncIterator = function AsyncFromSyncIterator(s) { this.s = s, this.n = s.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function next() { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, "return": function _return(value) { var ret = this.s["return"]; return void 0 === ret ? Promise.resolve({ value: value, done: !0 }) : AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments)); }, "throw": function _throw(value) { var thr = this.s["return"]; return void 0 === thr ? Promise.reject(value) : AsyncFromSyncIteratorContinuation(thr.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(s); }
4
9
  /* eslint-disable @typescript-eslint/no-explicit-any */
5
- import { useCallback, useEffect, useState } from 'react';
10
+ import { useCallback, useRef, useState } from 'react';
6
11
  import { Box, IconButton, Typography } from '@mui/material';
7
12
  import { useTheme } from '@mui/material/styles';
8
13
  import { CloudUploadOutlined, DeleteOutline } from '@mui/icons-material';
9
14
  import { useDropzone } from 'react-dropzone';
10
- import { useUploadFile } from './useUploadFile.js';
11
15
  import LinearProgress from '../LinearProgress/index.js';
12
16
  import { jsx as _jsx } from "react/jsx-runtime";
13
17
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -89,11 +93,11 @@ export var FileUploaderView = function FileUploaderView(props) {
89
93
  children: ["Supported File Formats: ", props.extensions.join(', ')]
90
94
  })]
91
95
  })]
92
- })), props.fileList.map(function (file, index) {
96
+ })), props.filesState.map(function (file, index) {
93
97
  return /*#__PURE__*/_jsxs(Box, {
94
98
  "data-testid": "file-item",
95
99
  sx: {
96
- height: '70px',
100
+ minHeight: '70px',
97
101
  maxWidth: '500px',
98
102
  display: 'flex',
99
103
  alignItems: 'center',
@@ -104,7 +108,7 @@ export var FileUploaderView = function FileUploaderView(props) {
104
108
  },
105
109
  children: [/*#__PURE__*/_jsx(LinearProgress, {
106
110
  value: file.uploadProgress,
107
- itemLoading: file.file.name,
111
+ itemLoading: file.name,
108
112
  isError: file.withError,
109
113
  feedbackText: file.feedbackText,
110
114
  isUploaded: file.isUploaded
@@ -129,44 +133,168 @@ export var FileUploaderView = function FileUploaderView(props) {
129
133
  })]
130
134
  });
131
135
  };
136
+
137
+ // this returns a generator to provide incremental progress updates. See storybook for example
138
+
132
139
  var FileUploader = function FileUploader(_ref) {
133
- var uploadUrl = _ref.uploadUrl,
134
- files = _ref.files,
135
- accept = _ref.accept,
140
+ var _ref2;
141
+ var accept = _ref.accept,
136
142
  multiple = _ref.multiple,
137
- onSuccess = _ref.onSuccess,
143
+ uploadFile = _ref.uploadFile,
144
+ onComplete = _ref.onComplete,
138
145
  onError = _ref.onError,
139
- extensions = _ref.extensions,
140
146
  props = _objectWithoutPropertiesLoose(_ref, _excluded);
147
+ var filesRef = useRef([]);
141
148
  var _useState = useState([]),
142
- fileList = _useState[0],
143
- setFileList = _useState[1];
144
- var _useUploadFile = useUploadFile(setFileList, uploadUrl, onSuccess, onError),
145
- onDrop = _useUploadFile.onDrop;
149
+ filesState = _useState[0],
150
+ setFilesState = _useState[1];
151
+ var updateFileState = function updateFileState(file, update) {
152
+ setFilesState(function (prevFilesState) {
153
+ var index = filesRef.current.indexOf(file);
154
+ if (index == -1) {
155
+ // no change
156
+ return prevFilesState;
157
+ }
158
+ return prevFilesState.map(function (fileState, i) {
159
+ if (i == index) {
160
+ return _extends({}, fileState, update);
161
+ }
162
+ return fileState;
163
+ });
164
+ });
165
+ };
166
+ var uploadFiles = /*#__PURE__*/function uploadFiles(_x) {
167
+ return (_ref2 = _ref2 || _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(acceptedFiles) {
168
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
169
+ while (1) switch (_context2.prev = _context2.next) {
170
+ case 0:
171
+ // add files to processing list
172
+ filesRef.current = [].concat(filesRef.current, acceptedFiles);
173
+ setFilesState(function (prevFilesState) {
174
+ return [].concat(prevFilesState, acceptedFiles.map(function (acceptedFile) {
175
+ return {
176
+ name: acceptedFile.name,
177
+ isUploaded: false,
178
+ uploadProgress: 0,
179
+ withError: false,
180
+ feedbackText: ''
181
+ };
182
+ }));
183
+ });
184
+
185
+ // upload
186
+ acceptedFiles.forEach(function (acceptedFile) {
187
+ _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
188
+ var uploadProgress, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, newProgress;
189
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
190
+ while (1) switch (_context.prev = _context.next) {
191
+ case 0:
192
+ _context.prev = 0;
193
+ _context.next = 3;
194
+ return uploadFile(acceptedFile);
195
+ case 3:
196
+ uploadProgress = _context.sent;
197
+ // get progress updates
198
+ _iteratorAbruptCompletion = false;
199
+ _didIteratorError = false;
200
+ _context.prev = 6;
201
+ _iterator = _asyncIterator(uploadProgress);
202
+ case 8:
203
+ _context.next = 10;
204
+ return _iterator.next();
205
+ case 10:
206
+ if (!(_iteratorAbruptCompletion = !(_step = _context.sent).done)) {
207
+ _context.next = 16;
208
+ break;
209
+ }
210
+ newProgress = _step.value;
211
+ updateFileState(acceptedFile, {
212
+ uploadProgress: newProgress
213
+ });
214
+ case 13:
215
+ _iteratorAbruptCompletion = false;
216
+ _context.next = 8;
217
+ break;
218
+ case 16:
219
+ _context.next = 22;
220
+ break;
221
+ case 18:
222
+ _context.prev = 18;
223
+ _context.t0 = _context["catch"](6);
224
+ _didIteratorError = true;
225
+ _iteratorError = _context.t0;
226
+ case 22:
227
+ _context.prev = 22;
228
+ _context.prev = 23;
229
+ if (!(_iteratorAbruptCompletion && _iterator["return"] != null)) {
230
+ _context.next = 27;
231
+ break;
232
+ }
233
+ _context.next = 27;
234
+ return _iterator["return"]();
235
+ case 27:
236
+ _context.prev = 27;
237
+ if (!_didIteratorError) {
238
+ _context.next = 30;
239
+ break;
240
+ }
241
+ throw _iteratorError;
242
+ case 30:
243
+ return _context.finish(27);
244
+ case 31:
245
+ return _context.finish(22);
246
+ case 32:
247
+ // complete
248
+ updateFileState(acceptedFile, {
249
+ isUploaded: true,
250
+ uploadProgress: 100
251
+ });
252
+ onComplete == null ? void 0 : onComplete(acceptedFile);
253
+ _context.next = 40;
254
+ break;
255
+ case 36:
256
+ _context.prev = 36;
257
+ _context.t1 = _context["catch"](0);
258
+ // catch error
259
+ updateFileState(acceptedFile, {
260
+ withError: true
261
+ });
262
+ onError == null ? void 0 : onError(_context.t1);
263
+ case 40:
264
+ case "end":
265
+ return _context.stop();
266
+ }
267
+ }, _callee, null, [[0, 36], [6, 18, 22, 32], [23,, 27, 31]]);
268
+ }))();
269
+ });
270
+ case 3:
271
+ case "end":
272
+ return _context2.stop();
273
+ }
274
+ }, _callee2);
275
+ }))).apply(this, arguments);
276
+ };
146
277
  var _useDropzone = useDropzone({
147
278
  multiple: multiple,
148
279
  accept: accept,
149
- onDrop: onDrop
280
+ onDrop: function onDrop(acceptedFiles) {
281
+ uploadFiles(acceptedFiles)["catch"](function (err) {
282
+ onError == null ? void 0 : onError(err);
283
+ });
284
+ }
150
285
  }),
151
286
  getRootProps = _useDropzone.getRootProps,
152
- getInputProps = _useDropzone.getInputProps,
153
- acceptedFiles = _useDropzone.acceptedFiles;
287
+ getInputProps = _useDropzone.getInputProps;
154
288
  var handleDeleteFile = useCallback(function (fileIndex) {
155
- var nFileList = [].concat(fileList);
289
+ filesRef.current.splice(fileIndex, 1);
290
+ var nFileList = [].concat(filesState);
156
291
  nFileList.splice(fileIndex, 1);
157
- setFileList(nFileList);
158
- }, [fileList]);
159
- useEffect(function () {
160
- var fileArray = fileList.map(function (_ref2) {
161
- var file = _ref2.file;
162
- return file;
163
- });
164
- files && files(fileArray);
165
- }, [acceptedFiles, fileList, files]);
292
+ setFilesState(nFileList);
293
+ }, [filesState]);
166
294
  return /*#__PURE__*/_jsx(FileUploaderView, {
167
295
  "data-testid": props['data-testid'],
168
- extensions: extensions,
169
- fileList: fileList,
296
+ extensions: Object.values(accept).flat(),
297
+ filesState: filesState,
170
298
  onDelete: handleDeleteFile,
171
299
  rootProps: getRootProps(),
172
300
  inputProps: getInputProps(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veritone-ce/design-system",
3
- "version": "1.12.41",
3
+ "version": "1.12.43",
4
4
  "private": false,
5
5
  "description": "Design System for Veritone CE",
6
6
  "keywords": [
@@ -58,7 +58,6 @@
58
58
  }
59
59
  },
60
60
  "dependencies": {
61
- "axios": "^1.2.1",
62
61
  "deepmerge": "^4.3.1",
63
62
  "react-dropzone": "^14.2.3"
64
63
  },
@@ -1,5 +0,0 @@
1
- import { FileData } from './index.js';
2
- export declare const useUploadFile: (setFileList: (v: FileData[]) => void, uploadUrl: string, onSuccess?: ((v: boolean) => void) | undefined, onError?: ((v: Error) => void) | undefined) => {
3
- onDrop: <T extends File>(acceptedFiles: T[]) => Promise<void>;
4
- };
5
- export declare const uploadFile: (uploadUrl: string, file: File, setProgress: (v: number) => void, method?: string) => Promise<import("axios").AxiosResponse<any, any>>;
@@ -1,147 +0,0 @@
1
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(typeof e + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
2
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
4
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
5
- function _asyncIterator(r) { var n, t, o, e = 2; for ("undefined" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) { if (t && null != (n = r[t])) return n.call(r); if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r)); t = "@@asyncIterator", o = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
6
- function AsyncFromSyncIterator(r) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var n = r.done; return Promise.resolve(r.value).then(function (r) { return { value: r, done: n }; }); } return AsyncFromSyncIterator = function AsyncFromSyncIterator(r) { this.s = r, this.n = r.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function next() { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, "return": function _return(r) { var n = this.s["return"]; return void 0 === n ? Promise.resolve({ value: r, done: !0 }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); }, "throw": function _throw(r) { var n = this.s["return"]; return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(r); }
7
- import axios from 'axios';
8
- import { useCallback } from 'react';
9
- export var useUploadFile = function useUploadFile(setFileList, uploadUrl, onSuccess, onError) {
10
- var onDrop = useCallback( /*#__PURE__*/function () {
11
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(acceptedFiles) {
12
- var newList, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _loop, _iterator, _step;
13
- return _regeneratorRuntime().wrap(function _callee$(_context2) {
14
- while (1) switch (_context2.prev = _context2.next) {
15
- case 0:
16
- if (uploadUrl) {
17
- _context2.next = 3;
18
- break;
19
- }
20
- onError == null || onError(new Error('upload url is required'));
21
- return _context2.abrupt("return");
22
- case 3:
23
- newList = acceptedFiles.map(function (file) {
24
- return {
25
- file: file,
26
- isUploaded: false,
27
- uploadProgress: 0,
28
- withError: false,
29
- feedbackText: ''
30
- };
31
- });
32
- setFileList(newList);
33
- _iteratorAbruptCompletion = false;
34
- _didIteratorError = false;
35
- _context2.prev = 7;
36
- _loop = /*#__PURE__*/_regeneratorRuntime().mark(function _loop() {
37
- var _step$value, index, file, nList;
38
- return _regeneratorRuntime().wrap(function _loop$(_context) {
39
- while (1) switch (_context.prev = _context.next) {
40
- case 0:
41
- _step$value = _step.value, index = _step$value[0], file = _step$value[1];
42
- _context.prev = 1;
43
- _context.next = 4;
44
- return uploadFile(uploadUrl, file.file, function (progress) {
45
- var nList = [].concat(newList);
46
- nList.splice(index, 1, _extends({}, file, {
47
- isUploaded: progress === 100,
48
- uploadProgress: progress
49
- }));
50
- newList = nList;
51
- setFileList(nList);
52
- });
53
- case 4:
54
- onSuccess == null || onSuccess(true);
55
- _context.next = 14;
56
- break;
57
- case 7:
58
- _context.prev = 7;
59
- _context.t0 = _context["catch"](1);
60
- nList = [].concat(newList);
61
- nList.splice(index, 1, _extends({}, file, {
62
- isUploaded: false,
63
- uploadProgress: 0,
64
- withError: true
65
- }));
66
- newList = nList;
67
- setFileList(nList);
68
- onError == null || onError(_context.t0);
69
- case 14:
70
- case "end":
71
- return _context.stop();
72
- }
73
- }, _loop, null, [[1, 7]]);
74
- });
75
- _iterator = _asyncIterator(newList.entries());
76
- case 10:
77
- _context2.next = 12;
78
- return _iterator.next();
79
- case 12:
80
- if (!(_iteratorAbruptCompletion = !(_step = _context2.sent).done)) {
81
- _context2.next = 17;
82
- break;
83
- }
84
- return _context2.delegateYield(_loop(), "t0", 14);
85
- case 14:
86
- _iteratorAbruptCompletion = false;
87
- _context2.next = 10;
88
- break;
89
- case 17:
90
- _context2.next = 23;
91
- break;
92
- case 19:
93
- _context2.prev = 19;
94
- _context2.t1 = _context2["catch"](7);
95
- _didIteratorError = true;
96
- _iteratorError = _context2.t1;
97
- case 23:
98
- _context2.prev = 23;
99
- _context2.prev = 24;
100
- if (!(_iteratorAbruptCompletion && _iterator["return"] != null)) {
101
- _context2.next = 28;
102
- break;
103
- }
104
- _context2.next = 28;
105
- return _iterator["return"]();
106
- case 28:
107
- _context2.prev = 28;
108
- if (!_didIteratorError) {
109
- _context2.next = 31;
110
- break;
111
- }
112
- throw _iteratorError;
113
- case 31:
114
- return _context2.finish(28);
115
- case 32:
116
- return _context2.finish(23);
117
- case 33:
118
- case "end":
119
- return _context2.stop();
120
- }
121
- }, _callee, null, [[7, 19, 23, 33], [24,, 28, 32]]);
122
- }));
123
- return function (_x) {
124
- return _ref.apply(this, arguments);
125
- };
126
- }(), [onError, onSuccess, setFileList, uploadUrl]);
127
- return {
128
- onDrop: onDrop
129
- };
130
- };
131
- export var uploadFile = function uploadFile(uploadUrl, file, setProgress, method) {
132
- if (method === void 0) {
133
- method = 'POST';
134
- }
135
- var data = new FormData();
136
- data.append('file', file);
137
- return axios({
138
- data: data,
139
- method: method,
140
- baseURL: uploadUrl,
141
- onUploadProgress: function onUploadProgress(progressEvent) {
142
- var loaded = progressEvent.loaded,
143
- total = progressEvent.total;
144
- total && setProgress(Math.round(loaded * 100 / total));
145
- }
146
- });
147
- };