Socket
Socket
Sign inDemoInstall

rc-upload

Package Overview
Dependencies
Maintainers
5
Versions
137
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rc-upload - npm Package Compare versions

Comparing version 3.2.1 to 3.3.0

es/AjaxUploader.d.ts

224

es/AjaxUploader.js

@@ -1,20 +0,13 @@

var _extends = Object.assign || 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; };
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
import _createClass from "@babel/runtime/helpers/esm/createClass";
import _inherits from "@babel/runtime/helpers/esm/inherits";
import _createSuper from "@babel/runtime/helpers/esm/createSuper";
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
/* eslint react/no-is-mounted:0,react/sort-comp:0,react/prop-types:0 */
import React, { Component } from 'react';
import classNames from 'classnames';
import pickAttrs from "rc-util/es/pickAttrs";
import defaultRequest from './request';

@@ -25,34 +18,33 @@ import getUid from './uid';

var dataOrAriaAttributeProps = function dataOrAriaAttributeProps(props) {
return Object.keys(props).reduce(function (acc, key) {
if (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role') {
acc[key] = props[key];
}
return acc;
}, {});
};
var AjaxUploader = function (_Component) {
var AjaxUploader = /*#__PURE__*/function (_Component) {
_inherits(AjaxUploader, _Component);
var _super = _createSuper(AjaxUploader);
function AjaxUploader() {
var _ref;
var _this;
var _temp, _this, _ret;
_classCallCheck(this, AjaxUploader);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _super.apply(this, arguments);
_this.state = {
uid: getUid()
};
_this.reqs = {};
return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = AjaxUploader.__proto__ || Object.getPrototypeOf(AjaxUploader)).call.apply(_ref, [this].concat(args))), _this), _this.state = { uid: getUid() }, _this.reqs = {}, _this.onChange = function (e) {
_this.onChange = function (e) {
var files = e.target.files;
_this.uploadFiles(files);
_this.reset();
}, _this.onClick = function (e) {
};
_this.onClick = function (e) {
var el = _this.fileInput;
if (!el) {
return;
}
var _this$props = _this.props,

@@ -63,17 +55,22 @@ children = _this$props.children,

if (children && children.type === 'button') {
el.parentNode.focus();
el.parentNode.querySelector('button').blur();
var parent = el.parentNode;
parent.focus();
parent.querySelector('button').blur();
}
el.click();
if (onClick) {
onClick(e);
}
}, _this.onKeyDown = function (e) {
};
_this.onKeyDown = function (e) {
if (e.key === 'Enter') {
_this.onClick();
_this.onClick(e);
}
}, _this.onFileDrop = function (e) {
};
_this.onFileDrop = function (e) {
var multiple = _this.props.multiple;
e.preventDefault();

@@ -100,5 +97,8 @@

}
}, _this.uploadFiles = function (files) {
};
_this.uploadFiles = function (files) {
var postFiles = Array.prototype.slice.call(files);
postFiles.map(function (file) {
// eslint-disable-next-line no-param-reassign
file.uid = getUid();

@@ -109,9 +109,13 @@ return file;

});
}, _this.saveFileInput = function (node) {
};
_this.saveFileInput = function (node) {
_this.fileInput = node;
}, _temp), _possibleConstructorReturn(_this, _ret);
};
return _this;
}
_createClass(AjaxUploader, [{
key: 'componentDidMount',
key: "componentDidMount",
value: function componentDidMount() {

@@ -121,3 +125,3 @@ this._isMounted = true;

}, {
key: 'componentWillUnmount',
key: "componentWillUnmount",
value: function componentWillUnmount() {

@@ -128,3 +132,3 @@ this._isMounted = false;

}, {
key: 'upload',
key: "upload",
value: function upload(file, fileList) {

@@ -143,10 +147,13 @@ var _this2 = this;

var before = props.beforeUpload(file, fileList);
if (before && before.then) {
if (before && typeof before !== 'boolean' && before.then) {
before.then(function (processedFile) {
var processedFileType = Object.prototype.toString.call(processedFile);
if (processedFileType === '[object File]' || processedFileType === '[object Blob]') {
return _this2.post(processedFile);
}
return _this2.post(file);
})['catch'](function (e) {
}).catch(function (e) {
// eslint-disable-next-line no-console

@@ -160,6 +167,7 @@ console.log(e);

}
return undefined;
}
}, {
key: 'post',
key: "post",
value: function post(file) {

@@ -171,2 +179,3 @@ var _this3 = this;

}
var props = this.props;

@@ -176,7 +185,5 @@ var onStart = props.onStart,

_props$transformFile = props.transformFile,
transformFile = _props$transformFile === undefined ? function (originFile) {
transformFile = _props$transformFile === void 0 ? function (originFile) {
return originFile;
} : _props$transformFile;
new Promise(function (resolve) {

@@ -188,6 +195,6 @@ var action = props.action;

}
return resolve(action);
}).then(function (action) {
var uid = file.uid;
var request = props.customRequest || defaultRequest;

@@ -200,12 +207,12 @@ var transform = Promise.resolve(transformFile(file)).then(function (transformedFile) {

}
return Promise.all([transformedFile, data]);
})['catch'](function (e) {
}).catch(function (e) {
console.error(e); // eslint-disable-line no-console
});
transform.then(function (_ref) {
var _ref2 = _slicedToArray(_ref, 2),
transformedFile = _ref2[0],
data = _ref2[1];
transform.then(function (_ref2) {
var _ref3 = _slicedToArray(_ref2, 2),
transformedFile = _ref3[0],
data = _ref3[1];
var requestOption = {

@@ -231,3 +238,2 @@ action: action,

};
onStart(file);

@@ -239,3 +245,3 @@ _this3.reqs[uid] = request(requestOption);

}, {
key: 'reset',
key: "reset",
value: function reset() {

@@ -247,3 +253,3 @@ this.setState({

}, {
key: 'abort',
key: "abort",
value: function abort(file) {

@@ -253,9 +259,8 @@ var reqs = this.reqs;

if (file) {
var uid = file;
if (file && file.uid) {
uid = file.uid;
}
var uid = file.uid ? file.uid : file;
if (reqs[uid] && reqs[uid].abort) {
reqs[uid].abort();
}
delete reqs[uid];

@@ -267,2 +272,3 @@ } else {

}
delete reqs[uid];

@@ -273,23 +279,28 @@ });

}, {
key: 'render',
key: "render",
value: function render() {
var _classNames;
var _props = this.props,
Tag = _props.component,
prefixCls = _props.prefixCls,
className = _props.className,
disabled = _props.disabled,
id = _props.id,
style = _props.style,
multiple = _props.multiple,
accept = _props.accept,
children = _props.children,
directory = _props.directory,
openFileDialogOnClick = _props.openFileDialogOnClick,
onMouseEnter = _props.onMouseEnter,
onMouseLeave = _props.onMouseLeave,
otherProps = _objectWithoutProperties(_props, ['component', 'prefixCls', 'className', 'disabled', 'id', 'style', 'multiple', 'accept', 'children', 'directory', 'openFileDialogOnClick', 'onMouseEnter', 'onMouseLeave']);
var _this$props2 = this.props,
Tag = _this$props2.component,
prefixCls = _this$props2.prefixCls,
className = _this$props2.className,
disabled = _this$props2.disabled,
id = _this$props2.id,
style = _this$props2.style,
multiple = _this$props2.multiple,
accept = _this$props2.accept,
children = _this$props2.children,
directory = _this$props2.directory,
openFileDialogOnClick = _this$props2.openFileDialogOnClick,
onMouseEnter = _this$props2.onMouseEnter,
onMouseLeave = _this$props2.onMouseLeave,
otherProps = _objectWithoutProperties(_this$props2, ["component", "prefixCls", "className", "disabled", "id", "style", "multiple", "accept", "children", "directory", "openFileDialogOnClick", "onMouseEnter", "onMouseLeave"]);
var cls = classNames((_classNames = {}, _defineProperty(_classNames, prefixCls, true), _defineProperty(_classNames, prefixCls + '-disabled', disabled), _defineProperty(_classNames, className, className), _classNames));
var cls = classNames((_classNames = {}, _defineProperty(_classNames, prefixCls, true), _defineProperty(_classNames, "".concat(prefixCls, "-disabled"), disabled), _defineProperty(_classNames, className, className), _classNames)); // because input don't have directory/webkitdirectory type declaration
var dirProps = directory ? {
directory: 'directory',
webkitdirectory: 'webkitdirectory'
} : {};
var events = disabled ? {} : {

@@ -304,26 +315,25 @@ onClick: openFileDialogOnClick ? this.onClick : function () {},

};
return React.createElement(
Tag,
_extends({}, events, {
className: cls,
role: 'button',
style: style
}),
React.createElement('input', _extends({}, dataOrAriaAttributeProps(otherProps), {
id: id,
type: 'file',
ref: this.saveFileInput,
onClick: function onClick(e) {
return e.stopPropagation();
} // https://github.com/ant-design/ant-design/issues/19948
, key: this.state.uid,
style: { display: 'none' },
accept: accept,
directory: directory ? 'directory' : null,
webkitdirectory: directory ? 'webkitdirectory' : null,
multiple: multiple,
onChange: this.onChange
})),
children
);
return React.createElement(Tag, Object.assign({}, events, {
className: cls,
role: "button",
style: style
}), React.createElement("input", Object.assign({}, pickAttrs(otherProps, {
aria: true,
data: true
}), {
id: id,
type: "file",
ref: this.saveFileInput,
onClick: function onClick(e) {
return e.stopPropagation();
},
key: this.state.uid,
style: {
display: 'none'
},
accept: accept
}, dirProps, {
multiple: multiple,
onChange: this.onChange
})), children);
}

@@ -330,0 +340,0 @@ }]);

@@ -11,15 +11,19 @@ function endsWith(str, suffix) {

var baseMimeType = mimeType.replace(/\/.*$/, '');
return acceptedFilesArray.some(function (type) {
var validType = type.trim();
if (validType.charAt(0) === '.') {
return endsWith(fileName.toLowerCase(), validType.toLowerCase());
} else if (/\/\*$/.test(validType)) {
}
if (/\/\*$/.test(validType)) {
// This is something like a image/* mime type
return baseMimeType === validType.replace(/\/.*$/, '');
}
return mimeType === validType;
});
}
return true;
});

@@ -1,4 +0,2 @@

// export this package's api
import Upload from './Upload';
export default Upload;
function getError(option, xhr) {
var msg = 'cannot ' + option.method + ' ' + option.action + ' ' + xhr.status + '\'';
var msg = "cannot ".concat(option.method, " ").concat(option.action, " ").concat(xhr.status, "'");
var err = new Error(msg);

@@ -12,2 +12,3 @@ err.status = xhr.status;

var text = xhr.responseText || xhr.response;
if (!text) {

@@ -24,13 +25,2 @@ return text;

// option {
// onProgress: (event: { percent: number }): void,
// onError: (event: Error, body?: Object): void,
// onSuccess: (body: Object): void,
// data: Object,
// filename: String,
// file: File,
// withCredentials: Boolean,
// action: String,
// headers: Object,
// }
export default function upload(option) {

@@ -45,7 +35,8 @@ // eslint-disable-next-line no-undef

}
option.onProgress(e);
};
}
} // eslint-disable-next-line no-undef
// eslint-disable-next-line no-undef
var formData = new FormData();

@@ -55,4 +46,4 @@

Object.keys(option.data).forEach(function (key) {
var value = option.data[key];
// support key-value array data
var value = option.data[key]; // support key-value array data
if (Array.isArray(value)) {

@@ -62,3 +53,3 @@ value.forEach(function (item) {

// formData.append('list[]', 11);
formData.append(key + '[]', item);
formData.append("".concat(key, "[]"), item);
});

@@ -70,5 +61,5 @@ return;

});
}
} // eslint-disable-next-line no-undef
// eslint-disable-next-line no-undef
if (option.file instanceof Blob) {

@@ -94,5 +85,4 @@ formData.append(option.filename, option.file, option.file.name);

xhr.open(option.method, option.action, true);
xhr.open(option.method, option.action, true); // Has to be after `.open()`. See https://github.com/enyo/dropzone/issues/179
// Has to be after `.open()`. See https://github.com/enyo/dropzone/issues/179
if (option.withCredentials && 'withCredentials' in xhr) {

@@ -102,6 +92,5 @@ xhr.withCredentials = true;

var headers = option.headers || {};
var headers = option.headers || {}; // when set headers['X-Requested-With'] = null , can close default XHR header
// see https://github.com/react-component/upload/issues/33
// when set headers['X-Requested-With'] = null , can close default XHR header
// see https://github.com/react-component/upload/issues/33
if (headers['X-Requested-With'] !== null) {

@@ -116,5 +105,3 @@ xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');

});
xhr.send(formData);
return {

@@ -121,0 +108,0 @@ abort: function abort() {

@@ -8,5 +8,4 @@ function loopFiles(item, callback) {

var entryList = Array.prototype.slice.apply(entries);
fileList = fileList.concat(entryList);
fileList = fileList.concat(entryList); // Check if all the file has been viewed
// Check if all the file has been viewed
var isFinished = !entryList.length;

@@ -26,4 +25,7 @@

var traverseFileTree = function traverseFileTree(files, callback, isAccepted) {
// eslint-disable-next-line @typescript-eslint/naming-convention
var _traverseFileTree = function _traverseFileTree(item, path) {
path = path || '';
// eslint-disable-next-line no-param-reassign
item.path = path || '';
if (item.isFile) {

@@ -38,3 +40,4 @@ item.file(function (file) {

}
});
}); // eslint-disable-next-line no-param-reassign
file.webkitRelativePath = item.fullPath.replace(/^\//, '');

@@ -47,2 +50,3 @@ Object.defineProperties(file, {

}
callback([file]);

@@ -54,3 +58,3 @@ }

entries.forEach(function (entryItem) {
_traverseFileTree(entryItem, '' + path + item.name + '/');
_traverseFileTree(entryItem, "".concat(path).concat(item.name, "/"));
});

@@ -60,2 +64,3 @@ });

};
files.forEach(function (file) {

@@ -62,0 +67,0 @@ _traverseFileTree(file.webkitGetAsEntry());

var now = +new Date();
var index = 0;
export default function uid() {
return "rc-upload-" + now + "-" + ++index;
// eslint-disable-next-line no-plusplus
return "rc-upload-".concat(now, "-").concat(++index);
}

@@ -1,11 +0,6 @@

var _extends = Object.assign || 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; };
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
import _createClass from "@babel/runtime/helpers/esm/createClass";
import _inherits from "@babel/runtime/helpers/esm/inherits";
import _createSuper from "@babel/runtime/helpers/esm/createSuper";
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
/* eslint react/prop-types:0 */

@@ -17,23 +12,23 @@ import React, { Component } from 'react';

var Upload = function (_Component) {
var Upload = /*#__PURE__*/function (_Component) {
_inherits(Upload, _Component);
var _super = _createSuper(Upload);
function Upload() {
var _ref;
var _this;
var _temp, _this, _ret;
_classCallCheck(this, Upload);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _super.apply(this, arguments);
return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Upload.__proto__ || Object.getPrototypeOf(Upload)).call.apply(_ref, [this].concat(args))), _this), _this.saveUploader = function (node) {
_this.saveUploader = function (node) {
_this.uploader = node;
}, _temp), _possibleConstructorReturn(_this, _ret);
};
return _this;
}
_createClass(Upload, [{
key: 'abort',
key: "abort",
value: function abort(file) {

@@ -43,5 +38,7 @@ this.uploader.abort(file);

}, {
key: 'render',
key: "render",
value: function render() {
return React.createElement(AjaxUpload, _extends({}, this.props, { ref: this.saveUploader }));
return React.createElement(AjaxUpload, Object.assign({}, this.props, {
ref: this.saveUploader
}));
}

@@ -69,4 +66,2 @@ }]);

};
export default Upload;

@@ -1,82 +0,71 @@

'use strict';
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends = Object.assign || 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; };
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _react = require('react');
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _react2 = _interopRequireDefault(_react);
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _classnames = require('classnames');
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _classnames2 = _interopRequireDefault(_classnames);
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
var _request = require('./request');
var _react = _interopRequireWildcard(require("react"));
var _request2 = _interopRequireDefault(_request);
var _classnames = _interopRequireDefault(require("classnames"));
var _uid = require('./uid');
var _pickAttrs = _interopRequireDefault(require("rc-util/lib/pickAttrs"));
var _uid2 = _interopRequireDefault(_uid);
var _request = _interopRequireDefault(require("./request"));
var _attrAccept = require('./attr-accept');
var _uid = _interopRequireDefault(require("./uid"));
var _attrAccept2 = _interopRequireDefault(_attrAccept);
var _attrAccept = _interopRequireDefault(require("./attr-accept"));
var _traverseFileTree = require('./traverseFileTree');
var _traverseFileTree = _interopRequireDefault(require("./traverseFileTree"));
var _traverseFileTree2 = _interopRequireDefault(_traverseFileTree);
/* eslint react/no-is-mounted:0,react/sort-comp:0,react/prop-types:0 */
var AjaxUploader = /*#__PURE__*/function (_Component) {
(0, _inherits2.default)(AjaxUploader, _Component);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _super = (0, _createSuper2.default)(AjaxUploader);
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* eslint react/no-is-mounted:0,react/sort-comp:0,react/prop-types:0 */
var dataOrAriaAttributeProps = function dataOrAriaAttributeProps(props) {
return Object.keys(props).reduce(function (acc, key) {
if (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role') {
acc[key] = props[key];
}
return acc;
}, {});
};
var AjaxUploader = function (_Component) {
_inherits(AjaxUploader, _Component);
function AjaxUploader() {
var _ref;
var _this;
var _temp, _this, _ret;
(0, _classCallCheck2.default)(this, AjaxUploader);
_this = _super.apply(this, arguments);
_this.state = {
uid: (0, _uid.default)()
};
_this.reqs = {};
_classCallCheck(this, AjaxUploader);
_this.onChange = function (e) {
var files = e.target.files;
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this.uploadFiles(files);
return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = AjaxUploader.__proto__ || Object.getPrototypeOf(AjaxUploader)).call.apply(_ref, [this].concat(args))), _this), _this.state = { uid: (0, _uid2['default'])() }, _this.reqs = {}, _this.onChange = function (e) {
var files = e.target.files;
_this.uploadFiles(files);
_this.reset();
}, _this.onClick = function (e) {
};
_this.onClick = function (e) {
var el = _this.fileInput;
if (!el) {
return;
}
var _this$props = _this.props,

@@ -87,17 +76,22 @@ children = _this$props.children,

if (children && children.type === 'button') {
el.parentNode.focus();
el.parentNode.querySelector('button').blur();
var parent = el.parentNode;
parent.focus();
parent.querySelector('button').blur();
}
el.click();
if (onClick) {
onClick(e);
}
}, _this.onKeyDown = function (e) {
};
_this.onKeyDown = function (e) {
if (e.key === 'Enter') {
_this.onClick();
_this.onClick(e);
}
}, _this.onFileDrop = function (e) {
};
_this.onFileDrop = function (e) {
var multiple = _this.props.multiple;
e.preventDefault();

@@ -110,8 +104,8 @@

if (_this.props.directory) {
(0, _traverseFileTree2['default'])(Array.prototype.slice.call(e.dataTransfer.items), _this.uploadFiles, function (_file) {
return (0, _attrAccept2['default'])(_file, _this.props.accept);
(0, _traverseFileTree.default)(Array.prototype.slice.call(e.dataTransfer.items), _this.uploadFiles, function (_file) {
return (0, _attrAccept.default)(_file, _this.props.accept);
});
} else {
var files = Array.prototype.slice.call(e.dataTransfer.files).filter(function (file) {
return (0, _attrAccept2['default'])(file, _this.props.accept);
return (0, _attrAccept.default)(file, _this.props.accept);
});

@@ -125,6 +119,9 @@

}
}, _this.uploadFiles = function (files) {
};
_this.uploadFiles = function (files) {
var postFiles = Array.prototype.slice.call(files);
postFiles.map(function (file) {
file.uid = (0, _uid2['default'])();
// eslint-disable-next-line no-param-reassign
file.uid = (0, _uid.default)();
return file;

@@ -134,9 +131,13 @@ }).forEach(function (file) {

});
}, _this.saveFileInput = function (node) {
};
_this.saveFileInput = function (node) {
_this.fileInput = node;
}, _temp), _possibleConstructorReturn(_this, _ret);
};
return _this;
}
_createClass(AjaxUploader, [{
key: 'componentDidMount',
(0, _createClass2.default)(AjaxUploader, [{
key: "componentDidMount",
value: function componentDidMount() {

@@ -146,3 +147,3 @@ this._isMounted = true;

}, {
key: 'componentWillUnmount',
key: "componentWillUnmount",
value: function componentWillUnmount() {

@@ -153,3 +154,3 @@ this._isMounted = false;

}, {
key: 'upload',
key: "upload",
value: function upload(file, fileList) {

@@ -168,10 +169,13 @@ var _this2 = this;

var before = props.beforeUpload(file, fileList);
if (before && before.then) {
if (before && typeof before !== 'boolean' && before.then) {
before.then(function (processedFile) {
var processedFileType = Object.prototype.toString.call(processedFile);
if (processedFileType === '[object File]' || processedFileType === '[object Blob]') {
return _this2.post(processedFile);
}
return _this2.post(file);
})['catch'](function (e) {
}).catch(function (e) {
// eslint-disable-next-line no-console

@@ -185,6 +189,7 @@ console.log(e);

}
return undefined;
}
}, {
key: 'post',
key: "post",
value: function post(file) {

@@ -196,2 +201,3 @@ var _this3 = this;

}
var props = this.props;

@@ -201,7 +207,5 @@ var onStart = props.onStart,

_props$transformFile = props.transformFile,
transformFile = _props$transformFile === undefined ? function (originFile) {
transformFile = _props$transformFile === void 0 ? function (originFile) {
return originFile;
} : _props$transformFile;
new Promise(function (resolve) {

@@ -213,7 +217,7 @@ var action = props.action;

}
return resolve(action);
}).then(function (action) {
var uid = file.uid;
var request = props.customRequest || _request2['default'];
var request = props.customRequest || _request.default;
var transform = Promise.resolve(transformFile(file)).then(function (transformedFile) {

@@ -225,12 +229,12 @@ var data = props.data;

}
return Promise.all([transformedFile, data]);
})['catch'](function (e) {
}).catch(function (e) {
console.error(e); // eslint-disable-line no-console
});
transform.then(function (_ref) {
var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
transformedFile = _ref2[0],
data = _ref2[1];
transform.then(function (_ref2) {
var _ref3 = _slicedToArray(_ref2, 2),
transformedFile = _ref3[0],
data = _ref3[1];
var requestOption = {

@@ -256,3 +260,2 @@ action: action,

};
onStart(file);

@@ -264,10 +267,10 @@ _this3.reqs[uid] = request(requestOption);

}, {
key: 'reset',
key: "reset",
value: function reset() {
this.setState({
uid: (0, _uid2['default'])()
uid: (0, _uid.default)()
});
}
}, {
key: 'abort',
key: "abort",
value: function abort(file) {

@@ -277,9 +280,8 @@ var reqs = this.reqs;

if (file) {
var uid = file;
if (file && file.uid) {
uid = file.uid;
}
var uid = file.uid ? file.uid : file;
if (reqs[uid] && reqs[uid].abort) {
reqs[uid].abort();
}
delete reqs[uid];

@@ -291,2 +293,3 @@ } else {

}
delete reqs[uid];

@@ -297,23 +300,27 @@ });

}, {
key: 'render',
key: "render",
value: function render() {
var _classNames;
var _props = this.props,
Tag = _props.component,
prefixCls = _props.prefixCls,
className = _props.className,
disabled = _props.disabled,
id = _props.id,
style = _props.style,
multiple = _props.multiple,
accept = _props.accept,
children = _props.children,
directory = _props.directory,
openFileDialogOnClick = _props.openFileDialogOnClick,
onMouseEnter = _props.onMouseEnter,
onMouseLeave = _props.onMouseLeave,
otherProps = _objectWithoutProperties(_props, ['component', 'prefixCls', 'className', 'disabled', 'id', 'style', 'multiple', 'accept', 'children', 'directory', 'openFileDialogOnClick', 'onMouseEnter', 'onMouseLeave']);
var _this$props2 = this.props,
Tag = _this$props2.component,
prefixCls = _this$props2.prefixCls,
className = _this$props2.className,
disabled = _this$props2.disabled,
id = _this$props2.id,
style = _this$props2.style,
multiple = _this$props2.multiple,
accept = _this$props2.accept,
children = _this$props2.children,
directory = _this$props2.directory,
openFileDialogOnClick = _this$props2.openFileDialogOnClick,
onMouseEnter = _this$props2.onMouseEnter,
onMouseLeave = _this$props2.onMouseLeave,
otherProps = (0, _objectWithoutProperties2.default)(_this$props2, ["component", "prefixCls", "className", "disabled", "id", "style", "multiple", "accept", "children", "directory", "openFileDialogOnClick", "onMouseEnter", "onMouseLeave"]);
var cls = (0, _classnames.default)((_classNames = {}, (0, _defineProperty2.default)(_classNames, prefixCls, true), (0, _defineProperty2.default)(_classNames, "".concat(prefixCls, "-disabled"), disabled), (0, _defineProperty2.default)(_classNames, className, className), _classNames)); // because input don't have directory/webkitdirectory type declaration
var cls = (0, _classnames2['default'])((_classNames = {}, _defineProperty(_classNames, prefixCls, true), _defineProperty(_classNames, prefixCls + '-disabled', disabled), _defineProperty(_classNames, className, className), _classNames));
var dirProps = directory ? {
directory: 'directory',
webkitdirectory: 'webkitdirectory'
} : {};
var events = disabled ? {} : {

@@ -328,33 +335,31 @@ onClick: openFileDialogOnClick ? this.onClick : function () {},

};
return _react2['default'].createElement(
Tag,
_extends({}, events, {
className: cls,
role: 'button',
style: style
}),
_react2['default'].createElement('input', _extends({}, dataOrAriaAttributeProps(otherProps), {
id: id,
type: 'file',
ref: this.saveFileInput,
onClick: function onClick(e) {
return e.stopPropagation();
} // https://github.com/ant-design/ant-design/issues/19948
, key: this.state.uid,
style: { display: 'none' },
accept: accept,
directory: directory ? 'directory' : null,
webkitdirectory: directory ? 'webkitdirectory' : null,
multiple: multiple,
onChange: this.onChange
})),
children
);
return _react.default.createElement(Tag, Object.assign({}, events, {
className: cls,
role: "button",
style: style
}), _react.default.createElement("input", Object.assign({}, (0, _pickAttrs.default)(otherProps, {
aria: true,
data: true
}), {
id: id,
type: "file",
ref: this.saveFileInput,
onClick: function onClick(e) {
return e.stopPropagation();
},
key: this.state.uid,
style: {
display: 'none'
},
accept: accept
}, dirProps, {
multiple: multiple,
onChange: this.onChange
})), children);
}
}]);
return AjaxUploader;
}(_react.Component);
exports['default'] = AjaxUploader;
module.exports = exports['default'];
var _default = AjaxUploader;
exports.default = _default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,2 +6,4 @@ Object.defineProperty(exports, "__esModule", {

});
exports.default = void 0;
function endsWith(str, suffix) {

@@ -11,3 +13,3 @@ return str.indexOf(suffix, str.length - suffix.length) !== -1;

exports['default'] = function (file, acceptedFiles) {
var _default = function _default(file, acceptedFiles) {
if (file && acceptedFiles) {

@@ -18,17 +20,21 @@ var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');

var baseMimeType = mimeType.replace(/\/.*$/, '');
return acceptedFilesArray.some(function (type) {
var validType = type.trim();
if (validType.charAt(0) === '.') {
return endsWith(fileName.toLowerCase(), validType.toLowerCase());
} else if (/\/\*$/.test(validType)) {
}
if (/\/\*$/.test(validType)) {
// This is something like a image/* mime type
return baseMimeType === validType.replace(/\/.*$/, '');
}
return mimeType === validType;
});
}
return true;
};
module.exports = exports['default'];
exports.default = _default;

@@ -1,15 +0,13 @@

'use strict';
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _Upload = require('./Upload');
var _Upload = _interopRequireDefault(require("./Upload"));
var _Upload2 = _interopRequireDefault(_Upload);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
exports['default'] = _Upload2['default']; // export this package's api
module.exports = exports['default'];
var _default = _Upload.default;
exports.default = _default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,5 +6,6 @@ Object.defineProperty(exports, "__esModule", {

});
exports['default'] = upload;
exports.default = upload;
function getError(option, xhr) {
var msg = 'cannot ' + option.method + ' ' + option.action + ' ' + xhr.status + '\'';
var msg = "cannot ".concat(option.method, " ").concat(option.action, " ").concat(xhr.status, "'");
var err = new Error(msg);

@@ -19,2 +20,3 @@ err.status = xhr.status;

var text = xhr.responseText || xhr.response;
if (!text) {

@@ -31,13 +33,2 @@ return text;

// option {
// onProgress: (event: { percent: number }): void,
// onError: (event: Error, body?: Object): void,
// onSuccess: (body: Object): void,
// data: Object,
// filename: String,
// file: File,
// withCredentials: Boolean,
// action: String,
// headers: Object,
// }
function upload(option) {

@@ -52,7 +43,8 @@ // eslint-disable-next-line no-undef

}
option.onProgress(e);
};
}
} // eslint-disable-next-line no-undef
// eslint-disable-next-line no-undef
var formData = new FormData();

@@ -62,4 +54,4 @@

Object.keys(option.data).forEach(function (key) {
var value = option.data[key];
// support key-value array data
var value = option.data[key]; // support key-value array data
if (Array.isArray(value)) {

@@ -69,3 +61,3 @@ value.forEach(function (item) {

// formData.append('list[]', 11);
formData.append(key + '[]', item);
formData.append("".concat(key, "[]"), item);
});

@@ -77,5 +69,5 @@ return;

});
}
} // eslint-disable-next-line no-undef
// eslint-disable-next-line no-undef
if (option.file instanceof Blob) {

@@ -101,5 +93,4 @@ formData.append(option.filename, option.file, option.file.name);

xhr.open(option.method, option.action, true);
xhr.open(option.method, option.action, true); // Has to be after `.open()`. See https://github.com/enyo/dropzone/issues/179
// Has to be after `.open()`. See https://github.com/enyo/dropzone/issues/179
if (option.withCredentials && 'withCredentials' in xhr) {

@@ -109,6 +100,5 @@ xhr.withCredentials = true;

var headers = option.headers || {};
var headers = option.headers || {}; // when set headers['X-Requested-With'] = null , can close default XHR header
// see https://github.com/react-component/upload/issues/33
// when set headers['X-Requested-With'] = null , can close default XHR header
// see https://github.com/react-component/upload/issues/33
if (headers['X-Requested-With'] !== null) {

@@ -123,5 +113,3 @@ xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');

});
xhr.send(formData);
return {

@@ -132,3 +120,2 @@ abort: function abort() {

};
}
module.exports = exports['default'];
}

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,2 +6,4 @@ Object.defineProperty(exports, "__esModule", {

});
exports.default = void 0;
function loopFiles(item, callback) {

@@ -14,5 +16,4 @@ var dirReader = item.createReader();

var entryList = Array.prototype.slice.apply(entries);
fileList = fileList.concat(entryList);
fileList = fileList.concat(entryList); // Check if all the file has been viewed
// Check if all the file has been viewed
var isFinished = !entryList.length;

@@ -32,4 +33,7 @@

var traverseFileTree = function traverseFileTree(files, callback, isAccepted) {
// eslint-disable-next-line @typescript-eslint/naming-convention
var _traverseFileTree = function _traverseFileTree(item, path) {
path = path || '';
// eslint-disable-next-line no-param-reassign
item.path = path || '';
if (item.isFile) {

@@ -44,3 +48,4 @@ item.file(function (file) {

}
});
}); // eslint-disable-next-line no-param-reassign
file.webkitRelativePath = item.fullPath.replace(/^\//, '');

@@ -53,2 +58,3 @@ Object.defineProperties(file, {

}
callback([file]);

@@ -60,3 +66,3 @@ }

entries.forEach(function (entryItem) {
_traverseFileTree(entryItem, '' + path + item.name + '/');
_traverseFileTree(entryItem, "".concat(path).concat(item.name, "/"));
});

@@ -66,2 +72,3 @@ });

};
files.forEach(function (file) {

@@ -72,3 +79,3 @@ _traverseFileTree(file.webkitGetAsEntry());

exports['default'] = traverseFileTree;
module.exports = exports['default'];
var _default = traverseFileTree;
exports.default = _default;

@@ -6,3 +6,3 @@ "use strict";

});
exports["default"] = uid;
exports.default = uid;
var now = +new Date();

@@ -12,4 +12,4 @@ var index = 0;

function uid() {
return "rc-upload-" + now + "-" + ++index;
}
module.exports = exports['default'];
// eslint-disable-next-line no-plusplus
return "rc-upload-".concat(now, "-").concat(++index);
}

@@ -1,51 +0,47 @@

'use strict';
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends = Object.assign || 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; };
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _react = require('react');
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _react2 = _interopRequireDefault(_react);
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
var _AjaxUploader = require('./AjaxUploader');
var _react = _interopRequireWildcard(require("react"));
var _AjaxUploader2 = _interopRequireDefault(_AjaxUploader);
var _AjaxUploader = _interopRequireDefault(require("./AjaxUploader"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
/* eslint react/prop-types:0 */
function empty() {}
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var Upload = /*#__PURE__*/function (_Component) {
(0, _inherits2.default)(Upload, _Component);
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
var _super = (0, _createSuper2.default)(Upload);
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* eslint react/prop-types:0 */
function empty() {}
var Upload = function (_Component) {
_inherits(Upload, _Component);
function Upload() {
var _ref;
var _this;
var _temp, _this, _ret;
(0, _classCallCheck2.default)(this, Upload);
_this = _super.apply(this, arguments);
_classCallCheck(this, Upload);
_this.saveUploader = function (node) {
_this.uploader = node;
};
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Upload.__proto__ || Object.getPrototypeOf(Upload)).call.apply(_ref, [this].concat(args))), _this), _this.saveUploader = function (node) {
_this.uploader = node;
}, _temp), _possibleConstructorReturn(_this, _ret);
return _this;
}
_createClass(Upload, [{
key: 'abort',
(0, _createClass2.default)(Upload, [{
key: "abort",
value: function abort(file) {

@@ -55,8 +51,9 @@ this.uploader.abort(file);

}, {
key: 'render',
key: "render",
value: function render() {
return _react2['default'].createElement(_AjaxUploader2['default'], _extends({}, this.props, { ref: this.saveUploader }));
return _react.default.createElement(_AjaxUploader.default, Object.assign({}, this.props, {
ref: this.saveUploader
}));
}
}]);
return Upload;

@@ -81,3 +78,3 @@ }(_react.Component);

};
exports['default'] = Upload;
module.exports = exports['default'];
var _default = Upload;
exports.default = _default;
{
"name": "rc-upload",
"version": "3.2.1",
"version": "3.3.0",
"description": "upload ui component for react",

@@ -26,24 +26,31 @@ "keywords": [

"module": "./es/index",
"config": {
"port": 8020
},
"scripts": {
"build": "rc-tools run build",
"gh-pages": "rc-tools run gh-pages",
"start": "node server",
"compile": "rc-tools run compile",
"pub": "rc-tools run pub",
"lint": "rc-tools run lint",
"test": "jest --setupTestFrameworkScriptFile=raf/polyfill",
"coverage": "jest --coverage && cat ./coverage/lcov.info | coveralls"
"start": "cross-env NODE_ENV=development father doc dev --storybook",
"build": "father doc build --storybook",
"compile": "father build",
"gh-pages": "npm run build && father doc deploy",
"prepublishOnly": "npm run compile && np --yolo --no-publish",
"postpublish": "npm run gh-pages",
"lint": "eslint src/ --ext .ts,.tsx,.jsx,.js,.md",
"prettier": "prettier --write \"**/*.{ts,tsx,js,jsx,json,md}\"",
"test": "father test",
"coverage": "father test --coverage"
},
"devDependencies": {
"@types/jest": "^26.0.0",
"@types/react": "^16.9.2",
"@types/react-dom": "^16.9.0",
"@umijs/fabric": "^2.0.0",
"axios": "^0.20.0",
"co-busboy": "^1.3.0",
"coveralls": "^3.0.3",
"expect.js": "0.3.x",
"cross-env": "^7.0.0",
"enzyme": "^3.1.1",
"enzyme-adapter-react-16": "^1.0.1",
"enzyme-to-json": "^3.1.2",
"eslint": "^7.1.0",
"father": "^2.22.0",
"fs-extra": "^9.0.0",
"gh-pages": "^3.0.0",
"jest": "^20.0.1",
"pre-commit": "1.x",
"np": "^6.5.0",
"raf": "^3.4.0",

@@ -54,9 +61,9 @@ "rc-tools": "8.x",

"sinon": "^9.0.2",
"typescript": "^3.7.2",
"vinyl-fs": "^3.0.3"
},
"pre-commit": [
"lint"
],
"dependencies": {
"classnames": "^2.2.5"
"@babel/runtime": "^7.10.1",
"classnames": "^2.2.5",
"rc-util": "^5.2.0"
},

@@ -63,0 +70,0 @@ "jest": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc