@bigbinary/neeto-team-members-frontend 2.4.2 → 2.4.4
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/README.md +27 -27
- package/dist/index.cjs.js +531 -2795
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +533 -2796
- package/dist/index.esm.js.map +1 -1
- package/package.json +10 -11
package/dist/index.cjs.js
CHANGED
|
@@ -4,15 +4,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var ReactDOM = require('react-dom');
|
|
7
|
-
var formik = require('formik');
|
|
8
|
-
var neetoui = require('@bigbinary/neetoui');
|
|
9
|
-
var neetoIcons = require('@bigbinary/neeto-icons');
|
|
10
|
-
var classnames = require('classnames');
|
|
11
|
-
var formik$1 = require('@bigbinary/neetoui/formik');
|
|
12
7
|
var axios = require('axios');
|
|
8
|
+
var neetoui = require('@bigbinary/neetoui');
|
|
13
9
|
var ramda = require('ramda');
|
|
14
10
|
var layouts = require('@bigbinary/neetoui/layouts');
|
|
11
|
+
var formik = require('formik');
|
|
12
|
+
var formik$1 = require('@bigbinary/neetoui/formik');
|
|
15
13
|
var yup = require('yup');
|
|
14
|
+
var classnames = require('classnames');
|
|
15
|
+
var neetoIcons = require('@bigbinary/neeto-icons');
|
|
16
16
|
|
|
17
17
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
18
18
|
|
|
@@ -36,9 +36,9 @@ function _interopNamespace(e) {
|
|
|
36
36
|
|
|
37
37
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
38
38
|
var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
|
|
39
|
-
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
40
39
|
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
41
40
|
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
41
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
42
42
|
|
|
43
43
|
function _typeof(obj) {
|
|
44
44
|
"@babel/helpers - typeof";
|
|
@@ -122,7 +122,7 @@ function _getPrototypeOf(o) {
|
|
|
122
122
|
return _getPrototypeOf(o);
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
-
function _defineProperty
|
|
125
|
+
function _defineProperty(obj, key, value) {
|
|
126
126
|
if (key in obj) {
|
|
127
127
|
Object.defineProperty(obj, key, {
|
|
128
128
|
value: value,
|
|
@@ -136,15 +136,15 @@ function _defineProperty$2(obj, key, value) {
|
|
|
136
136
|
return obj;
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
-
function _arrayWithHoles
|
|
139
|
+
function _arrayWithHoles(arr) {
|
|
140
140
|
if (Array.isArray(arr)) return arr;
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
-
function _iterableToArray
|
|
143
|
+
function _iterableToArray(iter) {
|
|
144
144
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
function _arrayLikeToArray
|
|
147
|
+
function _arrayLikeToArray(arr, len) {
|
|
148
148
|
if (len == null || len > arr.length) len = arr.length;
|
|
149
149
|
for (var i = 0, arr2 = new Array(len); i < len; i++) {
|
|
150
150
|
arr2[i] = arr[i];
|
|
@@ -152,26 +152,26 @@ function _arrayLikeToArray$2(arr, len) {
|
|
|
152
152
|
return arr2;
|
|
153
153
|
}
|
|
154
154
|
|
|
155
|
-
function _unsupportedIterableToArray
|
|
155
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
156
156
|
if (!o) return;
|
|
157
|
-
if (typeof o === "string") return _arrayLikeToArray
|
|
157
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
158
158
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
159
159
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
160
160
|
if (n === "Map" || n === "Set") return Array.from(o);
|
|
161
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray
|
|
161
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
-
function _nonIterableRest
|
|
164
|
+
function _nonIterableRest() {
|
|
165
165
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
166
166
|
}
|
|
167
167
|
|
|
168
168
|
function _toArray(arr) {
|
|
169
|
-
return _arrayWithHoles
|
|
169
|
+
return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();
|
|
170
170
|
}
|
|
171
171
|
|
|
172
|
-
function ownKeys$
|
|
172
|
+
function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
173
173
|
|
|
174
|
-
function _objectSpread$
|
|
174
|
+
function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$9(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
175
175
|
|
|
176
176
|
var consoleLogger = {
|
|
177
177
|
type: 'logger',
|
|
@@ -258,7 +258,7 @@ var Logger = function () {
|
|
|
258
258
|
}, {
|
|
259
259
|
key: "create",
|
|
260
260
|
value: function create(moduleName) {
|
|
261
|
-
return new Logger(this.logger, _objectSpread$
|
|
261
|
+
return new Logger(this.logger, _objectSpread$9(_objectSpread$9({}, {
|
|
262
262
|
prefix: "".concat(this.prefix, ":").concat(moduleName, ":")
|
|
263
263
|
}), this.options));
|
|
264
264
|
}
|
|
@@ -484,7 +484,7 @@ function looksLikeObjectPath(key, nsSeparator, keySeparator) {
|
|
|
484
484
|
|
|
485
485
|
function ownKeys$1$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
486
486
|
|
|
487
|
-
function _objectSpread$1$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1$1(Object(source), true).forEach(function (key) { _defineProperty
|
|
487
|
+
function _objectSpread$1$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
488
488
|
|
|
489
489
|
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); }; }
|
|
490
490
|
|
|
@@ -729,7 +729,7 @@ var postProcessor = {
|
|
|
729
729
|
|
|
730
730
|
function ownKeys$2$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
731
731
|
|
|
732
|
-
function _objectSpread$2$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2$1(Object(source), true).forEach(function (key) { _defineProperty
|
|
732
|
+
function _objectSpread$2$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
733
733
|
|
|
734
734
|
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); }; }
|
|
735
735
|
|
|
@@ -1652,7 +1652,7 @@ var PluralResolver = function () {
|
|
|
1652
1652
|
|
|
1653
1653
|
function ownKeys$3$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
1654
1654
|
|
|
1655
|
-
function _objectSpread$3$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3$1(Object(source), true).forEach(function (key) { _defineProperty
|
|
1655
|
+
function _objectSpread$3$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
1656
1656
|
|
|
1657
1657
|
var Interpolator = function () {
|
|
1658
1658
|
function Interpolator() {
|
|
@@ -1879,7 +1879,7 @@ var Interpolator = function () {
|
|
|
1879
1879
|
|
|
1880
1880
|
function ownKeys$4$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
1881
1881
|
|
|
1882
|
-
function _objectSpread$4$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4$1(Object(source), true).forEach(function (key) { _defineProperty
|
|
1882
|
+
function _objectSpread$4$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
1883
1883
|
|
|
1884
1884
|
function parseFormatStr(formatStr) {
|
|
1885
1885
|
var formatName = formatStr.toLowerCase().trim();
|
|
@@ -2037,7 +2037,7 @@ var Formatter = function () {
|
|
|
2037
2037
|
|
|
2038
2038
|
function ownKeys$5$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
2039
2039
|
|
|
2040
|
-
function _objectSpread$5$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5$1(Object(source), true).forEach(function (key) { _defineProperty
|
|
2040
|
+
function _objectSpread$5$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
2041
2041
|
|
|
2042
2042
|
function _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); 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); }; }
|
|
2043
2043
|
|
|
@@ -2381,13 +2381,13 @@ function transformOptions(options) {
|
|
|
2381
2381
|
|
|
2382
2382
|
function ownKeys$6$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
2383
2383
|
|
|
2384
|
-
function _objectSpread$6$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6$1(Object(source), true).forEach(function (key) { _defineProperty
|
|
2384
|
+
function _objectSpread$6$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
2385
2385
|
|
|
2386
2386
|
function _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); 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); }; }
|
|
2387
2387
|
|
|
2388
2388
|
function _isNativeReflectConstruct$3() { 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; } }
|
|
2389
2389
|
|
|
2390
|
-
function noop$
|
|
2390
|
+
function noop$2() {}
|
|
2391
2391
|
|
|
2392
2392
|
function bindMemberFunctions(inst) {
|
|
2393
2393
|
var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));
|
|
@@ -2552,7 +2552,7 @@ var I18n = function (_EventEmitter) {
|
|
|
2552
2552
|
}
|
|
2553
2553
|
|
|
2554
2554
|
this.format = this.options.interpolation.format;
|
|
2555
|
-
if (!callback) callback = noop$
|
|
2555
|
+
if (!callback) callback = noop$2;
|
|
2556
2556
|
|
|
2557
2557
|
if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {
|
|
2558
2558
|
var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);
|
|
@@ -2613,7 +2613,7 @@ var I18n = function (_EventEmitter) {
|
|
|
2613
2613
|
value: function loadResources(language) {
|
|
2614
2614
|
var _this3 = this;
|
|
2615
2615
|
|
|
2616
|
-
var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$
|
|
2616
|
+
var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$2;
|
|
2617
2617
|
var usedCallback = callback;
|
|
2618
2618
|
var usedLng = typeof language === 'string' ? language : this.language;
|
|
2619
2619
|
if (typeof language === 'function') usedCallback = language;
|
|
@@ -2661,7 +2661,7 @@ var I18n = function (_EventEmitter) {
|
|
|
2661
2661
|
var deferred = defer();
|
|
2662
2662
|
if (!lngs) lngs = this.languages;
|
|
2663
2663
|
if (!ns) ns = this.options.ns;
|
|
2664
|
-
if (!callback) callback = noop$
|
|
2664
|
+
if (!callback) callback = noop$2;
|
|
2665
2665
|
this.services.backendConnector.reload(lngs, ns, function (err) {
|
|
2666
2666
|
deferred.resolve();
|
|
2667
2667
|
callback(err);
|
|
@@ -2940,7 +2940,7 @@ var I18n = function (_EventEmitter) {
|
|
|
2940
2940
|
var _this8 = this;
|
|
2941
2941
|
|
|
2942
2942
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
2943
|
-
var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$
|
|
2943
|
+
var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$2;
|
|
2944
2944
|
|
|
2945
2945
|
var mergedOptions = _objectSpread$6$1(_objectSpread$6$1(_objectSpread$6$1({}, this.options), options), {
|
|
2946
2946
|
isClone: true
|
|
@@ -2991,7 +2991,7 @@ var I18n = function (_EventEmitter) {
|
|
|
2991
2991
|
return I18n;
|
|
2992
2992
|
}(EventEmitter);
|
|
2993
2993
|
|
|
2994
|
-
_defineProperty
|
|
2994
|
+
_defineProperty(I18n, "createInstance", function () {
|
|
2995
2995
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
2996
2996
|
var callback = arguments.length > 1 ? arguments[1] : undefined;
|
|
2997
2997
|
return new I18n(options, callback);
|
|
@@ -3201,7 +3201,7 @@ var localStorageAvailable = function localStorageAvailable() {
|
|
|
3201
3201
|
return hasLocalStorageSupport;
|
|
3202
3202
|
};
|
|
3203
3203
|
|
|
3204
|
-
var localStorage = {
|
|
3204
|
+
var localStorage$1 = {
|
|
3205
3205
|
name: 'localStorage',
|
|
3206
3206
|
lookup: function lookup(options) {
|
|
3207
3207
|
var found;
|
|
@@ -3375,7 +3375,7 @@ var Browser = /*#__PURE__*/function () {
|
|
|
3375
3375
|
this.i18nOptions = i18nOptions;
|
|
3376
3376
|
this.addDetector(cookie$1);
|
|
3377
3377
|
this.addDetector(querystring);
|
|
3378
|
-
this.addDetector(localStorage);
|
|
3378
|
+
this.addDetector(localStorage$1);
|
|
3379
3379
|
this.addDetector(sessionStorage);
|
|
3380
3380
|
this.addDetector(navigator$1);
|
|
3381
3381
|
this.addDetector(htmlTag);
|
|
@@ -3425,7 +3425,7 @@ var Browser = /*#__PURE__*/function () {
|
|
|
3425
3425
|
|
|
3426
3426
|
Browser.type = 'languageDetector';
|
|
3427
3427
|
|
|
3428
|
-
function _objectWithoutPropertiesLoose
|
|
3428
|
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
3429
3429
|
if (source == null) return {};
|
|
3430
3430
|
var target = {};
|
|
3431
3431
|
var sourceKeys = Object.keys(source);
|
|
@@ -3438,9 +3438,9 @@ function _objectWithoutPropertiesLoose$1(source, excluded) {
|
|
|
3438
3438
|
return target;
|
|
3439
3439
|
}
|
|
3440
3440
|
|
|
3441
|
-
function _objectWithoutProperties
|
|
3441
|
+
function _objectWithoutProperties(source, excluded) {
|
|
3442
3442
|
if (source == null) return {};
|
|
3443
|
-
var target = _objectWithoutPropertiesLoose
|
|
3443
|
+
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
3444
3444
|
var key, i;
|
|
3445
3445
|
if (Object.getOwnPropertySymbols) {
|
|
3446
3446
|
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
@@ -3456,30 +3456,6 @@ function _objectWithoutProperties$1(source, excluded) {
|
|
|
3456
3456
|
|
|
3457
3457
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
3458
3458
|
|
|
3459
|
-
/**
|
|
3460
|
-
* This file automatically generated from `pre-publish.js`.
|
|
3461
|
-
* Do not manually edit.
|
|
3462
|
-
*/
|
|
3463
|
-
|
|
3464
|
-
var voidElements = {
|
|
3465
|
-
"area": true,
|
|
3466
|
-
"base": true,
|
|
3467
|
-
"br": true,
|
|
3468
|
-
"col": true,
|
|
3469
|
-
"embed": true,
|
|
3470
|
-
"hr": true,
|
|
3471
|
-
"img": true,
|
|
3472
|
-
"input": true,
|
|
3473
|
-
"link": true,
|
|
3474
|
-
"meta": true,
|
|
3475
|
-
"param": true,
|
|
3476
|
-
"source": true,
|
|
3477
|
-
"track": true,
|
|
3478
|
-
"wbr": true
|
|
3479
|
-
};
|
|
3480
|
-
|
|
3481
|
-
var t$1=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function n$1(n){var r={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},i=n.match(/<\/?([^\s]+?)[/\s>]/);if(i&&(r.name=i[1],(voidElements[i[1]]||"/"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith("!--"))){var s=n.indexOf("--\x3e");return {type:"comment",comment:-1!==s?n.slice(4,s):""}}for(var a=new RegExp(t$1),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,""];o.indexOf("=")>-1&&(l=o.split("=")),r.attrs[l[0]]=l[1],a.lastIndex--;}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,i=/^\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case"text":return e+t.content;case"tag":return e+="<"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'="'+e[n]+'"');return t.length?" "+t.join(" "):""}(t.attrs):"")+(t.voidElement?"/>":">"),t.voidElement?e:e+t.children.reduce(a,"")+"</"+t.name+">";case"comment":return e+"\x3c!--"+t.comment+"--\x3e"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf("<")){var u=e.indexOf("<");c.push({type:"text",content:-1===u?e:e.substring(0,u)});}return e.replace(r,function(r,s){if(m){if(r!=="</"+a.name+">")return;m=!1;}var u,f="/"!==r.charAt(1),h=r.startsWith("\x3c!--"),p=s+r.length,d=e.charAt(p);if(h){var v=n$1(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,"tag"===(a=n$1(r)).type&&t.components[a.name]&&(a.type="component",m=!0),a.voidElement||m||!d||"<"===d||a.children.push({type:"text",content:e.slice(p,e.indexOf("<",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&"<"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf("<",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=" "),(x>-1&&l+u.length>=0||" "!==g)&&u.push({type:"text",content:g});}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a("",t)},"")}};
|
|
3482
|
-
|
|
3483
3459
|
var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;
|
|
3484
3460
|
var htmlEntities = {
|
|
3485
3461
|
'&': '&',
|
|
@@ -3512,9 +3488,9 @@ var unescape = function unescape(text) {
|
|
|
3512
3488
|
return text.replace(matchHtmlEntity, unescapeHtmlEntity);
|
|
3513
3489
|
};
|
|
3514
3490
|
|
|
3515
|
-
function ownKeys$
|
|
3491
|
+
function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
3516
3492
|
|
|
3517
|
-
function _objectSpread$
|
|
3493
|
+
function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$8(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
3518
3494
|
var defaultOptions = {
|
|
3519
3495
|
bindI18n: 'languageChanged',
|
|
3520
3496
|
bindI18nStore: '',
|
|
@@ -3529,7 +3505,7 @@ var i18nInstance;
|
|
|
3529
3505
|
var I18nContext = React.createContext();
|
|
3530
3506
|
function setDefaults() {
|
|
3531
3507
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
3532
|
-
defaultOptions = _objectSpread$
|
|
3508
|
+
defaultOptions = _objectSpread$8(_objectSpread$8({}, defaultOptions), options);
|
|
3533
3509
|
}
|
|
3534
3510
|
function getDefaults() {
|
|
3535
3511
|
return defaultOptions;
|
|
@@ -3653,275 +3629,7 @@ function hasLoadedNamespace(ns, i18n) {
|
|
|
3653
3629
|
});
|
|
3654
3630
|
}
|
|
3655
3631
|
|
|
3656
|
-
|
|
3657
|
-
_excluded2$3 = ["children", "count", "parent", "i18nKey", "context", "tOptions", "values", "defaults", "components", "ns", "i18n", "t", "shouldUnescape"];
|
|
3658
|
-
|
|
3659
|
-
function ownKeys$b(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
3660
|
-
|
|
3661
|
-
function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$b(Object(source), true).forEach(function (key) { _defineProperty$2(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
3662
|
-
|
|
3663
|
-
function hasChildren(node, checkLength) {
|
|
3664
|
-
if (!node) return false;
|
|
3665
|
-
var base = node.props ? node.props.children : node.children;
|
|
3666
|
-
if (checkLength) return base.length > 0;
|
|
3667
|
-
return !!base;
|
|
3668
|
-
}
|
|
3669
|
-
|
|
3670
|
-
function getChildren(node) {
|
|
3671
|
-
if (!node) return [];
|
|
3672
|
-
return node.props ? node.props.children : node.children;
|
|
3673
|
-
}
|
|
3674
|
-
|
|
3675
|
-
function hasValidReactChildren(children) {
|
|
3676
|
-
if (Object.prototype.toString.call(children) !== '[object Array]') return false;
|
|
3677
|
-
return children.every(function (child) {
|
|
3678
|
-
return React.isValidElement(child);
|
|
3679
|
-
});
|
|
3680
|
-
}
|
|
3681
|
-
|
|
3682
|
-
function getAsArray(data) {
|
|
3683
|
-
return Array.isArray(data) ? data : [data];
|
|
3684
|
-
}
|
|
3685
|
-
|
|
3686
|
-
function mergeProps(source, target) {
|
|
3687
|
-
var newTarget = _objectSpread$b({}, target);
|
|
3688
|
-
|
|
3689
|
-
newTarget.props = Object.assign(source.props, target.props);
|
|
3690
|
-
return newTarget;
|
|
3691
|
-
}
|
|
3692
|
-
|
|
3693
|
-
function nodesToString(children, i18nOptions) {
|
|
3694
|
-
if (!children) return '';
|
|
3695
|
-
var stringNode = '';
|
|
3696
|
-
var childrenArray = getAsArray(children);
|
|
3697
|
-
var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];
|
|
3698
|
-
childrenArray.forEach(function (child, childIndex) {
|
|
3699
|
-
if (typeof child === 'string') {
|
|
3700
|
-
stringNode += "".concat(child);
|
|
3701
|
-
} else if (React.isValidElement(child)) {
|
|
3702
|
-
var childPropsCount = Object.keys(child.props).length;
|
|
3703
|
-
var shouldKeepChild = keepArray.indexOf(child.type) > -1;
|
|
3704
|
-
var childChildren = child.props.children;
|
|
3705
|
-
|
|
3706
|
-
if (!childChildren && shouldKeepChild && childPropsCount === 0) {
|
|
3707
|
-
stringNode += "<".concat(child.type, "/>");
|
|
3708
|
-
} else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {
|
|
3709
|
-
stringNode += "<".concat(childIndex, "></").concat(childIndex, ">");
|
|
3710
|
-
} else if (child.props.i18nIsDynamicList) {
|
|
3711
|
-
stringNode += "<".concat(childIndex, "></").concat(childIndex, ">");
|
|
3712
|
-
} else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {
|
|
3713
|
-
stringNode += "<".concat(child.type, ">").concat(childChildren, "</").concat(child.type, ">");
|
|
3714
|
-
} else {
|
|
3715
|
-
var content = nodesToString(childChildren, i18nOptions);
|
|
3716
|
-
stringNode += "<".concat(childIndex, ">").concat(content, "</").concat(childIndex, ">");
|
|
3717
|
-
}
|
|
3718
|
-
} else if (child === null) {
|
|
3719
|
-
warn("Trans: the passed in value is invalid - seems you passed in a null child.");
|
|
3720
|
-
} else if (_typeof(child) === 'object') {
|
|
3721
|
-
var format = child.format,
|
|
3722
|
-
clone = _objectWithoutProperties$1(child, _excluded$4);
|
|
3723
|
-
|
|
3724
|
-
var keys = Object.keys(clone);
|
|
3725
|
-
|
|
3726
|
-
if (keys.length === 1) {
|
|
3727
|
-
var value = format ? "".concat(keys[0], ", ").concat(format) : keys[0];
|
|
3728
|
-
stringNode += "{{".concat(value, "}}");
|
|
3729
|
-
} else {
|
|
3730
|
-
warn("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.", child);
|
|
3731
|
-
}
|
|
3732
|
-
} else {
|
|
3733
|
-
warn("Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.", child);
|
|
3734
|
-
}
|
|
3735
|
-
});
|
|
3736
|
-
return stringNode;
|
|
3737
|
-
}
|
|
3738
|
-
|
|
3739
|
-
function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {
|
|
3740
|
-
if (targetString === '') return [];
|
|
3741
|
-
var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];
|
|
3742
|
-
var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);
|
|
3743
|
-
if (!children && !emptyChildrenButNeedsHandling) return [targetString];
|
|
3744
|
-
var data = {};
|
|
3745
|
-
|
|
3746
|
-
function getData(childs) {
|
|
3747
|
-
var childrenArray = getAsArray(childs);
|
|
3748
|
-
childrenArray.forEach(function (child) {
|
|
3749
|
-
if (typeof child === 'string') return;
|
|
3750
|
-
if (hasChildren(child)) getData(getChildren(child));else if (_typeof(child) === 'object' && !React.isValidElement(child)) Object.assign(data, child);
|
|
3751
|
-
});
|
|
3752
|
-
}
|
|
3753
|
-
|
|
3754
|
-
getData(children);
|
|
3755
|
-
var ast = c.parse("<0>".concat(targetString, "</0>"));
|
|
3756
|
-
|
|
3757
|
-
var opts = _objectSpread$b(_objectSpread$b({}, data), combinedTOpts);
|
|
3758
|
-
|
|
3759
|
-
function renderInner(child, node, rootReactNode) {
|
|
3760
|
-
var childs = getChildren(child);
|
|
3761
|
-
var mappedChildren = mapAST(childs, node.children, rootReactNode);
|
|
3762
|
-
return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;
|
|
3763
|
-
}
|
|
3764
|
-
|
|
3765
|
-
function pushTranslatedJSX(child, inner, mem, i, isVoid) {
|
|
3766
|
-
if (child.dummy) child.children = inner;
|
|
3767
|
-
mem.push(React.cloneElement(child, _objectSpread$b(_objectSpread$b({}, child.props), {}, {
|
|
3768
|
-
key: i
|
|
3769
|
-
}), isVoid ? undefined : inner));
|
|
3770
|
-
}
|
|
3771
|
-
|
|
3772
|
-
function mapAST(reactNode, astNode, rootReactNode) {
|
|
3773
|
-
var reactNodes = getAsArray(reactNode);
|
|
3774
|
-
var astNodes = getAsArray(astNode);
|
|
3775
|
-
return astNodes.reduce(function (mem, node, i) {
|
|
3776
|
-
var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);
|
|
3777
|
-
|
|
3778
|
-
if (node.type === 'tag') {
|
|
3779
|
-
var tmp = reactNodes[parseInt(node.name, 10)];
|
|
3780
|
-
if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];
|
|
3781
|
-
if (!tmp) tmp = {};
|
|
3782
|
-
var child = Object.keys(node.attrs).length !== 0 ? mergeProps({
|
|
3783
|
-
props: node.attrs
|
|
3784
|
-
}, tmp) : tmp;
|
|
3785
|
-
var isElement = React.isValidElement(child);
|
|
3786
|
-
var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;
|
|
3787
|
-
var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement;
|
|
3788
|
-
var isKnownComponent = _typeof(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);
|
|
3789
|
-
|
|
3790
|
-
if (typeof child === 'string') {
|
|
3791
|
-
var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);
|
|
3792
|
-
mem.push(value);
|
|
3793
|
-
} else if (hasChildren(child) || isValidTranslationWithChildren) {
|
|
3794
|
-
var inner = renderInner(child, node, rootReactNode);
|
|
3795
|
-
pushTranslatedJSX(child, inner, mem, i);
|
|
3796
|
-
} else if (isEmptyTransWithHTML) {
|
|
3797
|
-
var _inner = mapAST(reactNodes, node.children, rootReactNode);
|
|
3798
|
-
|
|
3799
|
-
mem.push(React.cloneElement(child, _objectSpread$b(_objectSpread$b({}, child.props), {}, {
|
|
3800
|
-
key: i
|
|
3801
|
-
}), _inner));
|
|
3802
|
-
} else if (Number.isNaN(parseFloat(node.name))) {
|
|
3803
|
-
if (isKnownComponent) {
|
|
3804
|
-
var _inner2 = renderInner(child, node, rootReactNode);
|
|
3805
|
-
|
|
3806
|
-
pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);
|
|
3807
|
-
} else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {
|
|
3808
|
-
if (node.voidElement) {
|
|
3809
|
-
mem.push(React.createElement(node.name, {
|
|
3810
|
-
key: "".concat(node.name, "-").concat(i)
|
|
3811
|
-
}));
|
|
3812
|
-
} else {
|
|
3813
|
-
var _inner3 = mapAST(reactNodes, node.children, rootReactNode);
|
|
3814
|
-
|
|
3815
|
-
mem.push(React.createElement(node.name, {
|
|
3816
|
-
key: "".concat(node.name, "-").concat(i)
|
|
3817
|
-
}, _inner3));
|
|
3818
|
-
}
|
|
3819
|
-
} else if (node.voidElement) {
|
|
3820
|
-
mem.push("<".concat(node.name, " />"));
|
|
3821
|
-
} else {
|
|
3822
|
-
var _inner4 = mapAST(reactNodes, node.children, rootReactNode);
|
|
3823
|
-
|
|
3824
|
-
mem.push("<".concat(node.name, ">").concat(_inner4, "</").concat(node.name, ">"));
|
|
3825
|
-
}
|
|
3826
|
-
} else if (_typeof(child) === 'object' && !isElement) {
|
|
3827
|
-
var content = node.children[0] ? translationContent : null;
|
|
3828
|
-
if (content) mem.push(content);
|
|
3829
|
-
} else if (node.children.length === 1 && translationContent) {
|
|
3830
|
-
mem.push(React.cloneElement(child, _objectSpread$b(_objectSpread$b({}, child.props), {}, {
|
|
3831
|
-
key: i
|
|
3832
|
-
}), translationContent));
|
|
3833
|
-
} else {
|
|
3834
|
-
mem.push(React.cloneElement(child, _objectSpread$b(_objectSpread$b({}, child.props), {}, {
|
|
3835
|
-
key: i
|
|
3836
|
-
})));
|
|
3837
|
-
}
|
|
3838
|
-
} else if (node.type === 'text') {
|
|
3839
|
-
var wrapTextNodes = i18nOptions.transWrapTextNodes;
|
|
3840
|
-
|
|
3841
|
-
var _content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);
|
|
3842
|
-
|
|
3843
|
-
if (wrapTextNodes) {
|
|
3844
|
-
mem.push(React.createElement(wrapTextNodes, {
|
|
3845
|
-
key: "".concat(node.name, "-").concat(i)
|
|
3846
|
-
}, _content));
|
|
3847
|
-
} else {
|
|
3848
|
-
mem.push(_content);
|
|
3849
|
-
}
|
|
3850
|
-
}
|
|
3851
|
-
|
|
3852
|
-
return mem;
|
|
3853
|
-
}, []);
|
|
3854
|
-
}
|
|
3855
|
-
|
|
3856
|
-
var result = mapAST([{
|
|
3857
|
-
dummy: true,
|
|
3858
|
-
children: children || []
|
|
3859
|
-
}], ast, getAsArray(children || []));
|
|
3860
|
-
return getChildren(result[0]);
|
|
3861
|
-
}
|
|
3862
|
-
|
|
3863
|
-
function Trans(_ref) {
|
|
3864
|
-
var children = _ref.children,
|
|
3865
|
-
count = _ref.count,
|
|
3866
|
-
parent = _ref.parent,
|
|
3867
|
-
i18nKey = _ref.i18nKey,
|
|
3868
|
-
context = _ref.context,
|
|
3869
|
-
_ref$tOptions = _ref.tOptions,
|
|
3870
|
-
tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,
|
|
3871
|
-
values = _ref.values,
|
|
3872
|
-
defaults = _ref.defaults,
|
|
3873
|
-
components = _ref.components,
|
|
3874
|
-
ns = _ref.ns,
|
|
3875
|
-
i18nFromProps = _ref.i18n,
|
|
3876
|
-
tFromProps = _ref.t,
|
|
3877
|
-
shouldUnescape = _ref.shouldUnescape,
|
|
3878
|
-
additionalProps = _objectWithoutProperties$1(_ref, _excluded2$3);
|
|
3879
|
-
|
|
3880
|
-
var _ref2 = React.useContext(I18nContext) || {},
|
|
3881
|
-
i18nFromContext = _ref2.i18n,
|
|
3882
|
-
defaultNSFromContext = _ref2.defaultNS;
|
|
3883
|
-
|
|
3884
|
-
var i18n = i18nFromProps || i18nFromContext || getI18n();
|
|
3885
|
-
|
|
3886
|
-
if (!i18n) {
|
|
3887
|
-
warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');
|
|
3888
|
-
return children;
|
|
3889
|
-
}
|
|
3890
|
-
|
|
3891
|
-
var t = tFromProps || i18n.t.bind(i18n) || function (k) {
|
|
3892
|
-
return k;
|
|
3893
|
-
};
|
|
3894
|
-
|
|
3895
|
-
if (context) tOptions.context = context;
|
|
3896
|
-
|
|
3897
|
-
var reactI18nextOptions = _objectSpread$b(_objectSpread$b({}, getDefaults()), i18n.options && i18n.options.react);
|
|
3898
|
-
|
|
3899
|
-
var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;
|
|
3900
|
-
namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];
|
|
3901
|
-
var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;
|
|
3902
|
-
var hashTransKey = reactI18nextOptions.hashTransKey;
|
|
3903
|
-
var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);
|
|
3904
|
-
var interpolationOverride = values ? tOptions.interpolation : {
|
|
3905
|
-
interpolation: _objectSpread$b(_objectSpread$b({}, tOptions.interpolation), {}, {
|
|
3906
|
-
prefix: '#$?',
|
|
3907
|
-
suffix: '?$#'
|
|
3908
|
-
})
|
|
3909
|
-
};
|
|
3910
|
-
|
|
3911
|
-
var combinedTOpts = _objectSpread$b(_objectSpread$b(_objectSpread$b(_objectSpread$b({}, tOptions), {}, {
|
|
3912
|
-
count: count
|
|
3913
|
-
}, values), interpolationOverride), {}, {
|
|
3914
|
-
defaultValue: defaultValue,
|
|
3915
|
-
ns: namespaces
|
|
3916
|
-
});
|
|
3917
|
-
|
|
3918
|
-
var translation = key ? t(key, combinedTOpts) : defaultValue;
|
|
3919
|
-
var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);
|
|
3920
|
-
var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;
|
|
3921
|
-
return useAsParent ? React.createElement(useAsParent, additionalProps, content) : content;
|
|
3922
|
-
}
|
|
3923
|
-
|
|
3924
|
-
function _iterableToArrayLimit$2(arr, i) {
|
|
3632
|
+
function _iterableToArrayLimit(arr, i) {
|
|
3925
3633
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
3926
3634
|
if (_i == null) return;
|
|
3927
3635
|
var _arr = [];
|
|
@@ -3946,13 +3654,13 @@ function _iterableToArrayLimit$2(arr, i) {
|
|
|
3946
3654
|
return _arr;
|
|
3947
3655
|
}
|
|
3948
3656
|
|
|
3949
|
-
function _slicedToArray
|
|
3950
|
-
return _arrayWithHoles
|
|
3657
|
+
function _slicedToArray(arr, i) {
|
|
3658
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
3951
3659
|
}
|
|
3952
3660
|
|
|
3953
|
-
function ownKeys$
|
|
3661
|
+
function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
3954
3662
|
|
|
3955
|
-
function _objectSpread$
|
|
3663
|
+
function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$7(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
3956
3664
|
|
|
3957
3665
|
var usePrevious = function usePrevious(value, ignore) {
|
|
3958
3666
|
var ref = React.useRef();
|
|
@@ -3989,7 +3697,7 @@ function useTranslation(ns) {
|
|
|
3989
3697
|
|
|
3990
3698
|
if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');
|
|
3991
3699
|
|
|
3992
|
-
var i18nOptions = _objectSpread$
|
|
3700
|
+
var i18nOptions = _objectSpread$7(_objectSpread$7(_objectSpread$7({}, getDefaults()), i18n.options.react), props);
|
|
3993
3701
|
|
|
3994
3702
|
var useSuspense = i18nOptions.useSuspense,
|
|
3995
3703
|
keyPrefix = i18nOptions.keyPrefix;
|
|
@@ -4005,7 +3713,7 @@ function useTranslation(ns) {
|
|
|
4005
3713
|
}
|
|
4006
3714
|
|
|
4007
3715
|
var _useState = React.useState(getT),
|
|
4008
|
-
_useState2 = _slicedToArray
|
|
3716
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
4009
3717
|
t = _useState2[0],
|
|
4010
3718
|
setT = _useState2[1];
|
|
4011
3719
|
|
|
@@ -4071,12 +3779,12 @@ var alerts$1 = {
|
|
|
4071
3779
|
};
|
|
4072
3780
|
var buttons$1 = {
|
|
4073
3781
|
cancel: "Cancel",
|
|
4074
|
-
copyLink: "Copy link",
|
|
4075
|
-
createLink: "Create link",
|
|
4076
|
-
inviteFrom: "Invite from",
|
|
4077
3782
|
proceed: "Proceed",
|
|
4078
|
-
saveChanges: "Save changes"
|
|
4079
|
-
|
|
3783
|
+
saveChanges: "Save changes"
|
|
3784
|
+
};
|
|
3785
|
+
var columns$1 = {
|
|
3786
|
+
search: "Search columns",
|
|
3787
|
+
noColumnsFound: "No columns found."
|
|
4080
3788
|
};
|
|
4081
3789
|
var common$1 = {
|
|
4082
3790
|
activate: "Activate",
|
|
@@ -4086,6 +3794,8 @@ var common$1 = {
|
|
|
4086
3794
|
add_: "Add {{what}}",
|
|
4087
3795
|
all: "All",
|
|
4088
3796
|
all_: "All {{what}}",
|
|
3797
|
+
column_one: "Column",
|
|
3798
|
+
column_other: "Columns",
|
|
4089
3799
|
deactivate: "Deactivate",
|
|
4090
3800
|
deactivate_: "Deactivate {{what}}",
|
|
4091
3801
|
deactivated: "Deactivated",
|
|
@@ -4093,12 +3803,10 @@ var common$1 = {
|
|
|
4093
3803
|
"delete": "Delete",
|
|
4094
3804
|
delete_: "Delete {{what}}",
|
|
4095
3805
|
description: "Description",
|
|
4096
|
-
download_: "Download {{what}}",
|
|
4097
3806
|
edit: "Edit",
|
|
4098
3807
|
edit_: "Edit {{what}}",
|
|
4099
3808
|
email_one: "Email",
|
|
4100
3809
|
email_other: "Emails",
|
|
4101
|
-
invite_: "Invite {{what}}",
|
|
4102
3810
|
manage_: "Manage {{what}}",
|
|
4103
3811
|
name: "Name",
|
|
4104
3812
|
notFound_: "Sorry, no {{what}} were found.",
|
|
@@ -4107,26 +3815,11 @@ var common$1 = {
|
|
|
4107
3815
|
role_one: "Role",
|
|
4108
3816
|
role_other: "Roles",
|
|
4109
3817
|
search_: "Search {{what}}",
|
|
4110
|
-
|
|
4111
|
-
update_: "Update {{what}}",
|
|
4112
|
-
upload_: "Upload {{what}}"
|
|
3818
|
+
update_: "Update {{what}}"
|
|
4113
3819
|
};
|
|
4114
3820
|
var helpers$1 = {
|
|
4115
|
-
bulkInvite: "Bulk invite using CSV",
|
|
4116
3821
|
configPermissions: "Configure permissions for the modules.",
|
|
4117
|
-
|
|
4118
|
-
dropFilesHere: "Drop files here",
|
|
4119
|
-
enterMultipleEmails: "Please press space, tab or enter key after entering an email address.",
|
|
4120
|
-
expiresIn: "Expires in ",
|
|
4121
|
-
files: "Files",
|
|
4122
|
-
getInviteLink: "Get invite link",
|
|
4123
|
-
inviteLinkInstruction: "Anyone signing up with this link will be added to the list of candidates.",
|
|
4124
|
-
noOfRows: "No. of rows",
|
|
4125
|
-
status: "Status",
|
|
4126
|
-
uploaded: "Uploaded",
|
|
4127
|
-
uploadInstruction1: "Files must be in CSV format.",
|
|
4128
|
-
uploadInstruction2: "The file must contain the following columns: <strong>{{what}}</strong>.",
|
|
4129
|
-
uploadInstruction3: "The first row must contain the header."
|
|
3822
|
+
enterMultipleEmails: "Please press space, tab or enter key after entering an email address."
|
|
4130
3823
|
};
|
|
4131
3824
|
var metaNames$1 = {
|
|
4132
3825
|
agent_one: "Agent",
|
|
@@ -4153,6 +3846,7 @@ var tooltips$1 = {
|
|
|
4153
3846
|
var validations$1 = {
|
|
4154
3847
|
enterRoleName: "Please enter a valid role name.",
|
|
4155
3848
|
filterInvalidEmails: "Click here to remove invalid emails.",
|
|
3849
|
+
limitExceeded: "You have exceeded the limit of {{limit}} characters for the {{what}}.",
|
|
4156
3850
|
minOneEmail: "Please enter at least one email address.",
|
|
4157
3851
|
roleRequired: "Please select a role.",
|
|
4158
3852
|
validEmail: "Please ensure that all email addresses are valid."
|
|
@@ -4160,6 +3854,7 @@ var validations$1 = {
|
|
|
4160
3854
|
var en = {
|
|
4161
3855
|
alerts: alerts$1,
|
|
4162
3856
|
buttons: buttons$1,
|
|
3857
|
+
columns: columns$1,
|
|
4163
3858
|
common: common$1,
|
|
4164
3859
|
helpers: helpers$1,
|
|
4165
3860
|
metaNames: metaNames$1,
|
|
@@ -4175,12 +3870,12 @@ var alerts = {
|
|
|
4175
3870
|
};
|
|
4176
3871
|
var buttons = {
|
|
4177
3872
|
cancel: "Annuler",
|
|
4178
|
-
copyLink: "Copier le lien",
|
|
4179
|
-
createLink: "Créer un lien",
|
|
4180
|
-
inviteFrom: "Inviter de",
|
|
4181
3873
|
proceed: "Procéder",
|
|
4182
|
-
saveChanges: "Sauvegarder les modifications"
|
|
4183
|
-
|
|
3874
|
+
saveChanges: "Sauvegarder les modifications"
|
|
3875
|
+
};
|
|
3876
|
+
var columns = {
|
|
3877
|
+
search: "Colonnes de recherche",
|
|
3878
|
+
noColumnsFound: "Aucune colonne trouvée."
|
|
4184
3879
|
};
|
|
4185
3880
|
var common = {
|
|
4186
3881
|
activate: "Activer",
|
|
@@ -4190,6 +3885,8 @@ var common = {
|
|
|
4190
3885
|
add_: "Ajouter {{what}}",
|
|
4191
3886
|
all: "Tous",
|
|
4192
3887
|
all_: "tous les {{what}}",
|
|
3888
|
+
column_one: "Colonne",
|
|
3889
|
+
column_other: "Colonnes",
|
|
4193
3890
|
deactivate: "Désactiver",
|
|
4194
3891
|
deactivate_: "Désactiver le {{what}}",
|
|
4195
3892
|
deactivated: "Désactivé",
|
|
@@ -4197,12 +3894,10 @@ var common = {
|
|
|
4197
3894
|
"delete": "Effacer",
|
|
4198
3895
|
delete_: "Supprimer le {{what}}",
|
|
4199
3896
|
description: "La description",
|
|
4200
|
-
download_: "Télécharger {{what}}",
|
|
4201
3897
|
edit: "Éditer",
|
|
4202
3898
|
edit_: "Modifier le {{what}}",
|
|
4203
3899
|
email_one: "E-mail",
|
|
4204
3900
|
email_other: "E-mails",
|
|
4205
|
-
invite_: "Inviter des {{what}}",
|
|
4206
3901
|
manage_: "Gérer {{what}}",
|
|
4207
3902
|
name: "Nom",
|
|
4208
3903
|
notFound_: "Désolé, aucun {{what}} n'a été trouvé.",
|
|
@@ -4211,26 +3906,11 @@ var common = {
|
|
|
4211
3906
|
role_one: "Rôle",
|
|
4212
3907
|
role_other: "Rôles",
|
|
4213
3908
|
search_: "Rechercher des {{what}}",
|
|
4214
|
-
|
|
4215
|
-
update_: "Mettre à jour le {{what}}",
|
|
4216
|
-
upload_: "Importer des {{what}}"
|
|
3909
|
+
update_: "Mettre à jour le {{what}}"
|
|
4217
3910
|
};
|
|
4218
3911
|
var helpers = {
|
|
4219
|
-
bulkInvite: "Invitation groupée à l'aide de CSV",
|
|
4220
3912
|
configPermissions: "Configurez les autorisations pour les modules.",
|
|
4221
|
-
|
|
4222
|
-
dropFilesHere: "Déposez les fichiers ici",
|
|
4223
|
-
enterMultipleEmails: "Veuillez appuyer sur espace, tabulation ou entrée après avoir saisi une adresse e-mail.",
|
|
4224
|
-
expiresIn: "Expire dans ",
|
|
4225
|
-
files: "Fichiers",
|
|
4226
|
-
getInviteLink: "Obtenir le lien d'invitation",
|
|
4227
|
-
inviteLinkInstruction: "Toute personne s'inscrivant avec ce lien sera ajoutée à la liste des candidats.",
|
|
4228
|
-
noOfRows: "Nombre de rangées",
|
|
4229
|
-
status: "Statut",
|
|
4230
|
-
uploaded: "Téléchargé",
|
|
4231
|
-
uploadInstruction1: "Les fichiers doivent être au format CSV.",
|
|
4232
|
-
uploadInstruction2: "Le fichier doit contenir les colonnes suivantes: <strong>{{what}}</strong>.",
|
|
4233
|
-
uploadInstruction3: "La première ligne doit contenir l'en-tête."
|
|
3913
|
+
enterMultipleEmails: "Veuillez appuyer sur espace, tabulation ou entrée après avoir saisi une adresse e-mail."
|
|
4234
3914
|
};
|
|
4235
3915
|
var metaNames = {
|
|
4236
3916
|
member_one: "Membre",
|
|
@@ -4253,7 +3933,9 @@ var tooltips = {
|
|
|
4253
3933
|
noPermissionToRemoveRoles: "Veuillez demander à l'administrateur de vous autoriser à supprimer des rôles."
|
|
4254
3934
|
};
|
|
4255
3935
|
var validations = {
|
|
3936
|
+
enterRoleName: "Veuillez entrer le nom du rôle",
|
|
4256
3937
|
filterInvalidEmails: "Cliquez ici pour supprimer les e-mails invalides.",
|
|
3938
|
+
limitExceeded: "Vous avez dépassé la limite de {{limit}} caractères pour le {{what}}.",
|
|
4257
3939
|
minOneEmail: "Veuillez saisir au moins une adresse e-mail.",
|
|
4258
3940
|
roleRequired: "Veuillez sélectionner un rôle.",
|
|
4259
3941
|
validEmail: "Veuillez vous assurer que toutes les adresses e-mail sont valides."
|
|
@@ -4261,6 +3943,7 @@ var validations = {
|
|
|
4261
3943
|
var fr = {
|
|
4262
3944
|
alerts: alerts,
|
|
4263
3945
|
buttons: buttons,
|
|
3946
|
+
columns: columns,
|
|
4264
3947
|
common: common,
|
|
4265
3948
|
helpers: helpers,
|
|
4266
3949
|
metaNames: metaNames,
|
|
@@ -4317,7 +4000,7 @@ const getScrollBarWidth = () => {
|
|
|
4317
4000
|
document.body.removeChild(outerElement);
|
|
4318
4001
|
return w1 - w2;
|
|
4319
4002
|
};
|
|
4320
|
-
const noop$
|
|
4003
|
+
const noop$1 = () => {};
|
|
4321
4004
|
const slugify = string => string.toString().toLowerCase().replace(/\s+/g, "-") // Replace spaces with -
|
|
4322
4005
|
.replace(/&/g, "-and-") // Replace & with 'and'
|
|
4323
4006
|
.replace(/[^\w-]+/g, "") // Remove all non-word characters
|
|
@@ -4325,21 +4008,6 @@ const slugify = string => string.toString().toLowerCase().replace(/\s+/g, "-") /
|
|
|
4325
4008
|
.replace(/^-+/, "") // Trim - from start of text
|
|
4326
4009
|
.replace(/-+$/, ""); // Trim - from end of text
|
|
4327
4010
|
|
|
4328
|
-
function _extends() {
|
|
4329
|
-
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
4330
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
4331
|
-
var source = arguments[i];
|
|
4332
|
-
for (var key in source) {
|
|
4333
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
4334
|
-
target[key] = source[key];
|
|
4335
|
-
}
|
|
4336
|
-
}
|
|
4337
|
-
}
|
|
4338
|
-
return target;
|
|
4339
|
-
};
|
|
4340
|
-
return _extends.apply(this, arguments);
|
|
4341
|
-
}
|
|
4342
|
-
|
|
4343
4011
|
const SINGULAR = {
|
|
4344
4012
|
count: 1
|
|
4345
4013
|
};
|
|
@@ -4393,10 +4061,25 @@ var Subscribable = /*#__PURE__*/function () {
|
|
|
4393
4061
|
return Subscribable;
|
|
4394
4062
|
}();
|
|
4395
4063
|
|
|
4064
|
+
function _extends() {
|
|
4065
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
4066
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
4067
|
+
var source = arguments[i];
|
|
4068
|
+
for (var key in source) {
|
|
4069
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
4070
|
+
target[key] = source[key];
|
|
4071
|
+
}
|
|
4072
|
+
}
|
|
4073
|
+
}
|
|
4074
|
+
return target;
|
|
4075
|
+
};
|
|
4076
|
+
return _extends.apply(this, arguments);
|
|
4077
|
+
}
|
|
4078
|
+
|
|
4396
4079
|
// TYPES
|
|
4397
4080
|
// UTILS
|
|
4398
4081
|
var isServer = typeof window === 'undefined';
|
|
4399
|
-
function noop
|
|
4082
|
+
function noop() {
|
|
4400
4083
|
return undefined;
|
|
4401
4084
|
}
|
|
4402
4085
|
function functionalUpdate(updater, input) {
|
|
@@ -5259,7 +4942,7 @@ var Query = /*#__PURE__*/function () {
|
|
|
5259
4942
|
|
|
5260
4943
|
var promise = this.promise;
|
|
5261
4944
|
(_this$retryer = this.retryer) == null ? void 0 : _this$retryer.cancel(options);
|
|
5262
|
-
return promise ? promise.then(noop
|
|
4945
|
+
return promise ? promise.then(noop).catch(noop) : Promise.resolve();
|
|
5263
4946
|
};
|
|
5264
4947
|
|
|
5265
4948
|
_proto.destroy = function destroy() {
|
|
@@ -5833,7 +5516,7 @@ var Mutation = /*#__PURE__*/function () {
|
|
|
5833
5516
|
_proto.cancel = function cancel() {
|
|
5834
5517
|
if (this.retryer) {
|
|
5835
5518
|
this.retryer.cancel();
|
|
5836
|
-
return this.retryer.promise.then(noop
|
|
5519
|
+
return this.retryer.promise.then(noop).catch(noop);
|
|
5837
5520
|
}
|
|
5838
5521
|
|
|
5839
5522
|
return Promise.resolve();
|
|
@@ -5949,7 +5632,7 @@ var Mutation = /*#__PURE__*/function () {
|
|
|
5949
5632
|
_proto.dispatch = function dispatch(action) {
|
|
5950
5633
|
var _this3 = this;
|
|
5951
5634
|
|
|
5952
|
-
this.state = reducer
|
|
5635
|
+
this.state = reducer(this.state, action);
|
|
5953
5636
|
notifyManager.batch(function () {
|
|
5954
5637
|
_this3.observers.forEach(function (observer) {
|
|
5955
5638
|
observer.onMutationUpdate(action);
|
|
@@ -5973,7 +5656,7 @@ function getDefaultState() {
|
|
|
5973
5656
|
};
|
|
5974
5657
|
}
|
|
5975
5658
|
|
|
5976
|
-
function reducer
|
|
5659
|
+
function reducer(state, action) {
|
|
5977
5660
|
switch (action.type) {
|
|
5978
5661
|
case 'failed':
|
|
5979
5662
|
return _extends({}, state, {
|
|
@@ -6122,7 +5805,7 @@ var MutationCache = /*#__PURE__*/function (_Subscribable) {
|
|
|
6122
5805
|
return notifyManager.batch(function () {
|
|
6123
5806
|
return pausedMutations.reduce(function (promise, mutation) {
|
|
6124
5807
|
return promise.then(function () {
|
|
6125
|
-
return mutation.continue().catch(noop
|
|
5808
|
+
return mutation.continue().catch(noop);
|
|
6126
5809
|
});
|
|
6127
5810
|
}, Promise.resolve());
|
|
6128
5811
|
});
|
|
@@ -6405,7 +6088,7 @@ var QueryClient = /*#__PURE__*/function () {
|
|
|
6405
6088
|
return query.cancel(cancelOptions);
|
|
6406
6089
|
});
|
|
6407
6090
|
});
|
|
6408
|
-
return Promise.all(promises).then(noop
|
|
6091
|
+
return Promise.all(promises).then(noop).catch(noop);
|
|
6409
6092
|
};
|
|
6410
6093
|
|
|
6411
6094
|
_proto.invalidateQueries = function invalidateQueries(arg1, arg2, arg3) {
|
|
@@ -6450,10 +6133,10 @@ var QueryClient = /*#__PURE__*/function () {
|
|
|
6450
6133
|
}));
|
|
6451
6134
|
});
|
|
6452
6135
|
});
|
|
6453
|
-
var promise = Promise.all(promises).then(noop
|
|
6136
|
+
var promise = Promise.all(promises).then(noop);
|
|
6454
6137
|
|
|
6455
6138
|
if (!(options == null ? void 0 : options.throwOnError)) {
|
|
6456
|
-
promise = promise.catch(noop
|
|
6139
|
+
promise = promise.catch(noop);
|
|
6457
6140
|
}
|
|
6458
6141
|
|
|
6459
6142
|
return promise;
|
|
@@ -6472,7 +6155,7 @@ var QueryClient = /*#__PURE__*/function () {
|
|
|
6472
6155
|
};
|
|
6473
6156
|
|
|
6474
6157
|
_proto.prefetchQuery = function prefetchQuery(arg1, arg2, arg3) {
|
|
6475
|
-
return this.fetchQuery(arg1, arg2, arg3).then(noop
|
|
6158
|
+
return this.fetchQuery(arg1, arg2, arg3).then(noop).catch(noop);
|
|
6476
6159
|
};
|
|
6477
6160
|
|
|
6478
6161
|
_proto.fetchInfiniteQuery = function fetchInfiniteQuery(arg1, arg2, arg3) {
|
|
@@ -6482,7 +6165,7 @@ var QueryClient = /*#__PURE__*/function () {
|
|
|
6482
6165
|
};
|
|
6483
6166
|
|
|
6484
6167
|
_proto.prefetchInfiniteQuery = function prefetchInfiniteQuery(arg1, arg2, arg3) {
|
|
6485
|
-
return this.fetchInfiniteQuery(arg1, arg2, arg3).then(noop
|
|
6168
|
+
return this.fetchInfiniteQuery(arg1, arg2, arg3).then(noop).catch(noop);
|
|
6486
6169
|
};
|
|
6487
6170
|
|
|
6488
6171
|
_proto.cancelMutations = function cancelMutations() {
|
|
@@ -6493,7 +6176,7 @@ var QueryClient = /*#__PURE__*/function () {
|
|
|
6493
6176
|
return mutation.cancel();
|
|
6494
6177
|
});
|
|
6495
6178
|
});
|
|
6496
|
-
return Promise.all(promises).then(noop
|
|
6179
|
+
return Promise.all(promises).then(noop).catch(noop);
|
|
6497
6180
|
};
|
|
6498
6181
|
|
|
6499
6182
|
_proto.resumePausedMutations = function resumePausedMutations() {
|
|
@@ -6797,7 +6480,7 @@ var QueryObserver = /*#__PURE__*/function (_Subscribable) {
|
|
|
6797
6480
|
var promise = this.currentQuery.fetch(this.options, fetchOptions);
|
|
6798
6481
|
|
|
6799
6482
|
if (!(fetchOptions == null ? void 0 : fetchOptions.throwOnError)) {
|
|
6800
|
-
promise = promise.catch(noop
|
|
6483
|
+
promise = promise.catch(noop);
|
|
6801
6484
|
}
|
|
6802
6485
|
|
|
6803
6486
|
return promise;
|
|
@@ -7389,7 +7072,7 @@ function useMutation(arg1, arg2, arg3) {
|
|
|
7389
7072
|
};
|
|
7390
7073
|
}, []);
|
|
7391
7074
|
var mutate = React__default["default"].useCallback(function (variables, mutateOptions) {
|
|
7392
|
-
obsRef.current.mutate(variables, mutateOptions).catch(noop
|
|
7075
|
+
obsRef.current.mutate(variables, mutateOptions).catch(noop);
|
|
7393
7076
|
}, []);
|
|
7394
7077
|
|
|
7395
7078
|
if (currentResult.error && shouldThrowError(undefined, obsRef.current.options.useErrorBoundary, [currentResult.error])) {
|
|
@@ -7536,2296 +7219,115 @@ const withReactQuery = Component => {
|
|
|
7536
7219
|
return QueryWrapper;
|
|
7537
7220
|
};
|
|
7538
7221
|
|
|
7539
|
-
|
|
7540
|
-
|
|
7541
|
-
/**
|
|
7542
|
-
* Copyright (c) 2013-present, Facebook, Inc.
|
|
7543
|
-
*
|
|
7544
|
-
* This source code is licensed under the MIT license found in the
|
|
7545
|
-
* LICENSE file in the root directory of this source tree.
|
|
7546
|
-
*/
|
|
7222
|
+
/* eslint-disable @bigbinary/neeto/no-dangling-constants */
|
|
7223
|
+
const BASE_URL = "team_members";
|
|
7547
7224
|
|
|
7548
|
-
|
|
7225
|
+
const fetch$2 = () => axios__default["default"].get(`${BASE_URL}/permissions`);
|
|
7226
|
+
const permissionsApi = {
|
|
7227
|
+
fetch: fetch$2
|
|
7228
|
+
};
|
|
7549
7229
|
|
|
7550
|
-
|
|
7230
|
+
const DEFAULT_STALE_TIME = 300000; // 5 minutes
|
|
7551
7231
|
|
|
7552
|
-
|
|
7553
|
-
|
|
7554
|
-
|
|
7555
|
-
|
|
7556
|
-
|
|
7557
|
-
*/
|
|
7232
|
+
const QUERY_KEYS = {
|
|
7233
|
+
TEAMS: "neeto-team-members-teams",
|
|
7234
|
+
ROLES: "neeto-team-members-roles",
|
|
7235
|
+
PERMISSIONS: "neeto-team-members-permissions"
|
|
7236
|
+
};
|
|
7558
7237
|
|
|
7559
|
-
var
|
|
7238
|
+
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; }
|
|
7239
|
+
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; }
|
|
7240
|
+
const useFetchPermissions = function () {
|
|
7241
|
+
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7242
|
+
return useQuery(QUERY_KEYS.PERMISSIONS, permissionsApi.fetch, _objectSpread$6({
|
|
7243
|
+
staleTime: DEFAULT_STALE_TIME,
|
|
7244
|
+
select: response => response.permissions || response.data.permissions
|
|
7245
|
+
}, options));
|
|
7246
|
+
};
|
|
7560
7247
|
|
|
7561
|
-
|
|
7562
|
-
|
|
7563
|
-
|
|
7248
|
+
const fetch$1 = () => axios__default["default"].get(`${BASE_URL}/organization_roles`);
|
|
7249
|
+
const create$1 = payload => axios__default["default"].post(`${BASE_URL}/organization_roles`, payload);
|
|
7250
|
+
const update$1 = (id, payload) => axios__default["default"].patch(`${BASE_URL}/organization_roles/${id}`, payload);
|
|
7251
|
+
const destroy = (id, payload) => axios__default["default"].delete(`${BASE_URL}/organization_roles/${id}`, {
|
|
7252
|
+
data: payload
|
|
7253
|
+
});
|
|
7254
|
+
const organizationRolesApi = {
|
|
7255
|
+
fetch: fetch$1,
|
|
7256
|
+
create: create$1,
|
|
7257
|
+
update: update$1,
|
|
7258
|
+
destroy
|
|
7259
|
+
};
|
|
7564
7260
|
|
|
7565
|
-
|
|
7566
|
-
|
|
7567
|
-
|
|
7568
|
-
|
|
7569
|
-
|
|
7261
|
+
const _excluded$1 = ["onSuccess"],
|
|
7262
|
+
_excluded2$1 = ["onSuccess"],
|
|
7263
|
+
_excluded3 = ["onSuccess"];
|
|
7264
|
+
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; }
|
|
7265
|
+
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; }
|
|
7266
|
+
const useFetchRoles = function () {
|
|
7267
|
+
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7268
|
+
return useQuery(QUERY_KEYS.ROLES, organizationRolesApi.fetch, _objectSpread$5({
|
|
7269
|
+
staleTime: DEFAULT_STALE_TIME,
|
|
7270
|
+
select: response => response.organizationRoles || response.data.organizationRoles
|
|
7271
|
+
}, options));
|
|
7272
|
+
};
|
|
7273
|
+
const useCreateRole = _ref => {
|
|
7274
|
+
let onSuccess = _ref.onSuccess,
|
|
7275
|
+
options = _objectWithoutProperties(_ref, _excluded$1);
|
|
7276
|
+
return useMutation(organizationRolesApi.create, _objectSpread$5({
|
|
7277
|
+
onSuccess: response => {
|
|
7278
|
+
queryClient.setQueriesData(QUERY_KEYS.ROLES, cachedData => {
|
|
7279
|
+
if (!!cachedData.data && !!cachedData.data.organizationRoles) {
|
|
7280
|
+
return ramda.modifyPath(["data", "organizationRoles"], ramda.prepend(response.data.organizationRole), cachedData);
|
|
7281
|
+
}
|
|
7282
|
+
return ramda.modifyPath(["organizationRoles"], ramda.prepend(response.organizationRole), cachedData);
|
|
7283
|
+
});
|
|
7284
|
+
neetoui.Toastr.success(response.ntmNotice || response.data.ntmNotice);
|
|
7285
|
+
onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
|
|
7570
7286
|
}
|
|
7571
|
-
|
|
7572
|
-
'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
|
|
7573
|
-
'Use PropTypes.checkPropTypes() to call them. ' +
|
|
7574
|
-
'Read more at http://fb.me/use-check-prop-types'
|
|
7575
|
-
);
|
|
7576
|
-
err.name = 'Invariant Violation';
|
|
7577
|
-
throw err;
|
|
7578
|
-
} shim.isRequired = shim;
|
|
7579
|
-
function getShim() {
|
|
7580
|
-
return shim;
|
|
7581
|
-
} // Important!
|
|
7582
|
-
// Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
|
|
7583
|
-
var ReactPropTypes = {
|
|
7584
|
-
array: shim,
|
|
7585
|
-
bigint: shim,
|
|
7586
|
-
bool: shim,
|
|
7587
|
-
func: shim,
|
|
7588
|
-
number: shim,
|
|
7589
|
-
object: shim,
|
|
7590
|
-
string: shim,
|
|
7591
|
-
symbol: shim,
|
|
7592
|
-
|
|
7593
|
-
any: shim,
|
|
7594
|
-
arrayOf: getShim,
|
|
7595
|
-
element: shim,
|
|
7596
|
-
elementType: shim,
|
|
7597
|
-
instanceOf: getShim,
|
|
7598
|
-
node: shim,
|
|
7599
|
-
objectOf: getShim,
|
|
7600
|
-
oneOf: getShim,
|
|
7601
|
-
oneOfType: getShim,
|
|
7602
|
-
shape: getShim,
|
|
7603
|
-
exact: getShim,
|
|
7604
|
-
|
|
7605
|
-
checkPropTypes: emptyFunctionWithReset,
|
|
7606
|
-
resetWarningCache: emptyFunction
|
|
7607
|
-
};
|
|
7608
|
-
|
|
7609
|
-
ReactPropTypes.PropTypes = ReactPropTypes;
|
|
7610
|
-
|
|
7611
|
-
return ReactPropTypes;
|
|
7287
|
+
}, options));
|
|
7612
7288
|
};
|
|
7613
|
-
|
|
7614
|
-
|
|
7615
|
-
|
|
7616
|
-
|
|
7617
|
-
|
|
7618
|
-
|
|
7619
|
-
|
|
7620
|
-
|
|
7621
|
-
{
|
|
7622
|
-
|
|
7623
|
-
|
|
7624
|
-
|
|
7625
|
-
|
|
7626
|
-
|
|
7627
|
-
|
|
7628
|
-
|
|
7629
|
-
|
|
7630
|
-
|
|
7631
|
-
purpose with or without fee is hereby granted.
|
|
7632
|
-
|
|
7633
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
7634
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
7635
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
7636
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
7637
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
7638
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
7639
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
7640
|
-
***************************************************************************** */
|
|
7641
|
-
|
|
7642
|
-
function __awaiter(thisArg, _arguments, P, generator) {
|
|
7643
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
7644
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
7645
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
7646
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7647
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7648
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
7649
|
-
});
|
|
7650
|
-
}
|
|
7651
|
-
|
|
7652
|
-
function __generator(thisArg, body) {
|
|
7653
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
7654
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
7655
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
7656
|
-
function step(op) {
|
|
7657
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
7658
|
-
while (_) try {
|
|
7659
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
7660
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
7661
|
-
switch (op[0]) {
|
|
7662
|
-
case 0: case 1: t = op; break;
|
|
7663
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
7664
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
7665
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
7666
|
-
default:
|
|
7667
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
7668
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
7669
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
7670
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
7671
|
-
if (t[2]) _.ops.pop();
|
|
7672
|
-
_.trys.pop(); continue;
|
|
7673
|
-
}
|
|
7674
|
-
op = body.call(thisArg, _);
|
|
7675
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
7676
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
7677
|
-
}
|
|
7678
|
-
}
|
|
7679
|
-
|
|
7680
|
-
function __read(o, n) {
|
|
7681
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
7682
|
-
if (!m) return o;
|
|
7683
|
-
var i = m.call(o), r, ar = [], e;
|
|
7684
|
-
try {
|
|
7685
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
7686
|
-
}
|
|
7687
|
-
catch (error) { e = { error: error }; }
|
|
7688
|
-
finally {
|
|
7689
|
-
try {
|
|
7690
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
7691
|
-
}
|
|
7692
|
-
finally { if (e) throw e.error; }
|
|
7693
|
-
}
|
|
7694
|
-
return ar;
|
|
7695
|
-
}
|
|
7696
|
-
|
|
7697
|
-
function __spreadArray(to, from, pack) {
|
|
7698
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
7699
|
-
if (ar || !(i in from)) {
|
|
7700
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
7701
|
-
ar[i] = from[i];
|
|
7702
|
-
}
|
|
7703
|
-
}
|
|
7704
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
7705
|
-
}
|
|
7706
|
-
|
|
7707
|
-
var COMMON_MIME_TYPES = new Map([
|
|
7708
|
-
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
|
|
7709
|
-
['aac', 'audio/aac'],
|
|
7710
|
-
['abw', 'application/x-abiword'],
|
|
7711
|
-
['arc', 'application/x-freearc'],
|
|
7712
|
-
['avif', 'image/avif'],
|
|
7713
|
-
['avi', 'video/x-msvideo'],
|
|
7714
|
-
['azw', 'application/vnd.amazon.ebook'],
|
|
7715
|
-
['bin', 'application/octet-stream'],
|
|
7716
|
-
['bmp', 'image/bmp'],
|
|
7717
|
-
['bz', 'application/x-bzip'],
|
|
7718
|
-
['bz2', 'application/x-bzip2'],
|
|
7719
|
-
['cda', 'application/x-cdf'],
|
|
7720
|
-
['csh', 'application/x-csh'],
|
|
7721
|
-
['css', 'text/css'],
|
|
7722
|
-
['csv', 'text/csv'],
|
|
7723
|
-
['doc', 'application/msword'],
|
|
7724
|
-
['docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'],
|
|
7725
|
-
['eot', 'application/vnd.ms-fontobject'],
|
|
7726
|
-
['epub', 'application/epub+zip'],
|
|
7727
|
-
['gz', 'application/gzip'],
|
|
7728
|
-
['gif', 'image/gif'],
|
|
7729
|
-
['heic', 'image/heic'],
|
|
7730
|
-
['heif', 'image/heif'],
|
|
7731
|
-
['htm', 'text/html'],
|
|
7732
|
-
['html', 'text/html'],
|
|
7733
|
-
['ico', 'image/vnd.microsoft.icon'],
|
|
7734
|
-
['ics', 'text/calendar'],
|
|
7735
|
-
['jar', 'application/java-archive'],
|
|
7736
|
-
['jpeg', 'image/jpeg'],
|
|
7737
|
-
['jpg', 'image/jpeg'],
|
|
7738
|
-
['js', 'text/javascript'],
|
|
7739
|
-
['json', 'application/json'],
|
|
7740
|
-
['jsonld', 'application/ld+json'],
|
|
7741
|
-
['mid', 'audio/midi'],
|
|
7742
|
-
['midi', 'audio/midi'],
|
|
7743
|
-
['mjs', 'text/javascript'],
|
|
7744
|
-
['mp3', 'audio/mpeg'],
|
|
7745
|
-
['mp4', 'video/mp4'],
|
|
7746
|
-
['mpeg', 'video/mpeg'],
|
|
7747
|
-
['mpkg', 'application/vnd.apple.installer+xml'],
|
|
7748
|
-
['odp', 'application/vnd.oasis.opendocument.presentation'],
|
|
7749
|
-
['ods', 'application/vnd.oasis.opendocument.spreadsheet'],
|
|
7750
|
-
['odt', 'application/vnd.oasis.opendocument.text'],
|
|
7751
|
-
['oga', 'audio/ogg'],
|
|
7752
|
-
['ogv', 'video/ogg'],
|
|
7753
|
-
['ogx', 'application/ogg'],
|
|
7754
|
-
['opus', 'audio/opus'],
|
|
7755
|
-
['otf', 'font/otf'],
|
|
7756
|
-
['png', 'image/png'],
|
|
7757
|
-
['pdf', 'application/pdf'],
|
|
7758
|
-
['php', 'application/x-httpd-php'],
|
|
7759
|
-
['ppt', 'application/vnd.ms-powerpoint'],
|
|
7760
|
-
['pptx', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'],
|
|
7761
|
-
['rar', 'application/vnd.rar'],
|
|
7762
|
-
['rtf', 'application/rtf'],
|
|
7763
|
-
['sh', 'application/x-sh'],
|
|
7764
|
-
['svg', 'image/svg+xml'],
|
|
7765
|
-
['swf', 'application/x-shockwave-flash'],
|
|
7766
|
-
['tar', 'application/x-tar'],
|
|
7767
|
-
['tif', 'image/tiff'],
|
|
7768
|
-
['tiff', 'image/tiff'],
|
|
7769
|
-
['ts', 'video/mp2t'],
|
|
7770
|
-
['ttf', 'font/ttf'],
|
|
7771
|
-
['txt', 'text/plain'],
|
|
7772
|
-
['vsd', 'application/vnd.visio'],
|
|
7773
|
-
['wav', 'audio/wav'],
|
|
7774
|
-
['weba', 'audio/webm'],
|
|
7775
|
-
['webm', 'video/webm'],
|
|
7776
|
-
['webp', 'image/webp'],
|
|
7777
|
-
['woff', 'font/woff'],
|
|
7778
|
-
['woff2', 'font/woff2'],
|
|
7779
|
-
['xhtml', 'application/xhtml+xml'],
|
|
7780
|
-
['xls', 'application/vnd.ms-excel'],
|
|
7781
|
-
['xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],
|
|
7782
|
-
['xml', 'application/xml'],
|
|
7783
|
-
['xul', 'application/vnd.mozilla.xul+xml'],
|
|
7784
|
-
['zip', 'application/zip'],
|
|
7785
|
-
['7z', 'application/x-7z-compressed'],
|
|
7786
|
-
// Others
|
|
7787
|
-
['mkv', 'video/x-matroska'],
|
|
7788
|
-
['mov', 'video/quicktime'],
|
|
7789
|
-
['msg', 'application/vnd.ms-outlook']
|
|
7790
|
-
]);
|
|
7791
|
-
function toFileWithPath(file, path) {
|
|
7792
|
-
var f = withMimeType(file);
|
|
7793
|
-
if (typeof f.path !== 'string') { // on electron, path is already set to the absolute path
|
|
7794
|
-
var webkitRelativePath = file.webkitRelativePath;
|
|
7795
|
-
Object.defineProperty(f, 'path', {
|
|
7796
|
-
value: typeof path === 'string'
|
|
7797
|
-
? path
|
|
7798
|
-
// If <input webkitdirectory> is set,
|
|
7799
|
-
// the File will have a {webkitRelativePath} property
|
|
7800
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory
|
|
7801
|
-
: typeof webkitRelativePath === 'string' && webkitRelativePath.length > 0
|
|
7802
|
-
? webkitRelativePath
|
|
7803
|
-
: file.name,
|
|
7804
|
-
writable: false,
|
|
7805
|
-
configurable: false,
|
|
7806
|
-
enumerable: true
|
|
7807
|
-
});
|
|
7289
|
+
const useUpdateRole = _ref2 => {
|
|
7290
|
+
let onSuccess = _ref2.onSuccess,
|
|
7291
|
+
options = _objectWithoutProperties(_ref2, _excluded2$1);
|
|
7292
|
+
return useMutation(_ref3 => {
|
|
7293
|
+
let id = _ref3.id,
|
|
7294
|
+
payload = _ref3.payload;
|
|
7295
|
+
return organizationRolesApi.update(id, payload);
|
|
7296
|
+
}, _objectSpread$5({
|
|
7297
|
+
onSuccess: response => {
|
|
7298
|
+
queryClient.invalidateQueries(QUERY_KEYS.TEAMS);
|
|
7299
|
+
queryClient.setQueriesData(QUERY_KEYS.ROLES, cachedData => {
|
|
7300
|
+
if (!!cachedData.data && !!cachedData.data.organizationRoles) {
|
|
7301
|
+
return ramda.assocPath(["data", "organizationRoles", ramda.findIndex(ramda.propEq("id", response.data.organizationRole.id), cachedData.data.organizationRoles)], response.data.organizationRole, cachedData);
|
|
7302
|
+
}
|
|
7303
|
+
return ramda.assocPath(["organizationRoles", ramda.findIndex(ramda.propEq("id", response.organizationRole.id), cachedData.organizationRoles)], response.organizationRole, cachedData);
|
|
7304
|
+
});
|
|
7305
|
+
neetoui.Toastr.success(response.ntmNotice || response.data.ntmNotice);
|
|
7306
|
+
onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
|
|
7808
7307
|
}
|
|
7809
|
-
|
|
7810
|
-
}
|
|
7811
|
-
|
|
7812
|
-
|
|
7813
|
-
|
|
7814
|
-
|
|
7815
|
-
|
|
7816
|
-
|
|
7817
|
-
|
|
7818
|
-
|
|
7819
|
-
|
|
7820
|
-
|
|
7821
|
-
|
|
7822
|
-
|
|
7823
|
-
|
|
7824
|
-
});
|
|
7308
|
+
}, options));
|
|
7309
|
+
};
|
|
7310
|
+
const useDestroyRole = _ref4 => {
|
|
7311
|
+
let _ref4$onSuccess = _ref4.onSuccess,
|
|
7312
|
+
onSuccess = _ref4$onSuccess === void 0 ? noop$1 : _ref4$onSuccess,
|
|
7313
|
+
options = _objectWithoutProperties(_ref4, _excluded3);
|
|
7314
|
+
return useMutation(_ref5 => {
|
|
7315
|
+
let id = _ref5.id,
|
|
7316
|
+
payload = _ref5.payload;
|
|
7317
|
+
return organizationRolesApi.destroy(id, payload);
|
|
7318
|
+
}, _objectSpread$5({
|
|
7319
|
+
onSuccess: response => {
|
|
7320
|
+
queryClient.setQueriesData(QUERY_KEYS.ROLES, cachedData => {
|
|
7321
|
+
if (!!cachedData.data && !!cachedData.data.organizationRoles) {
|
|
7322
|
+
return ramda.dissocPath(["data", "organizationRoles", ramda.findIndex(ramda.propEq("id", response.data.id), cachedData.data.organizationRoles)], cachedData);
|
|
7825
7323
|
}
|
|
7324
|
+
return ramda.dissocPath(["organizationRoles", ramda.findIndex(ramda.propEq("id", response.id), cachedData.organizationRoles)], cachedData);
|
|
7325
|
+
});
|
|
7326
|
+
neetoui.Toastr.success(response.ntmNotice || response.data.ntmNotice);
|
|
7327
|
+
onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
|
|
7826
7328
|
}
|
|
7827
|
-
|
|
7828
|
-
}
|
|
7829
|
-
|
|
7830
|
-
var FILES_TO_IGNORE = [
|
|
7831
|
-
// Thumbnail cache files for macOS and Windows
|
|
7832
|
-
'.DS_Store',
|
|
7833
|
-
'Thumbs.db' // Windows
|
|
7834
|
-
];
|
|
7835
|
-
/**
|
|
7836
|
-
* Convert a DragEvent's DataTrasfer object to a list of File objects
|
|
7837
|
-
* NOTE: If some of the items are folders,
|
|
7838
|
-
* everything will be flattened and placed in the same list but the paths will be kept as a {path} property.
|
|
7839
|
-
*
|
|
7840
|
-
* EXPERIMENTAL: A list of https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle objects can also be passed as an arg
|
|
7841
|
-
* and a list of File objects will be returned.
|
|
7842
|
-
*
|
|
7843
|
-
* @param evt
|
|
7844
|
-
*/
|
|
7845
|
-
function fromEvent(evt) {
|
|
7846
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
7847
|
-
return __generator(this, function (_a) {
|
|
7848
|
-
if (isObject(evt) && isDataTransfer(evt.dataTransfer)) {
|
|
7849
|
-
return [2 /*return*/, getDataTransferFiles(evt.dataTransfer, evt.type)];
|
|
7850
|
-
}
|
|
7851
|
-
else if (isChangeEvt(evt)) {
|
|
7852
|
-
return [2 /*return*/, getInputFiles(evt)];
|
|
7853
|
-
}
|
|
7854
|
-
else if (Array.isArray(evt) && evt.every(function (item) { return 'getFile' in item && typeof item.getFile === 'function'; })) {
|
|
7855
|
-
return [2 /*return*/, getFsHandleFiles(evt)];
|
|
7856
|
-
}
|
|
7857
|
-
return [2 /*return*/, []];
|
|
7858
|
-
});
|
|
7859
|
-
});
|
|
7860
|
-
}
|
|
7861
|
-
function isDataTransfer(value) {
|
|
7862
|
-
return isObject(value);
|
|
7863
|
-
}
|
|
7864
|
-
function isChangeEvt(value) {
|
|
7865
|
-
return isObject(value) && isObject(value.target);
|
|
7866
|
-
}
|
|
7867
|
-
function isObject(v) {
|
|
7868
|
-
return typeof v === 'object' && v !== null;
|
|
7869
|
-
}
|
|
7870
|
-
function getInputFiles(evt) {
|
|
7871
|
-
return fromList(evt.target.files).map(function (file) { return toFileWithPath(file); });
|
|
7872
|
-
}
|
|
7873
|
-
// Ee expect each handle to be https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileHandle
|
|
7874
|
-
function getFsHandleFiles(handles) {
|
|
7875
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
7876
|
-
var files;
|
|
7877
|
-
return __generator(this, function (_a) {
|
|
7878
|
-
switch (_a.label) {
|
|
7879
|
-
case 0: return [4 /*yield*/, Promise.all(handles.map(function (h) { return h.getFile(); }))];
|
|
7880
|
-
case 1:
|
|
7881
|
-
files = _a.sent();
|
|
7882
|
-
return [2 /*return*/, files.map(function (file) { return toFileWithPath(file); })];
|
|
7883
|
-
}
|
|
7884
|
-
});
|
|
7885
|
-
});
|
|
7886
|
-
}
|
|
7887
|
-
function getDataTransferFiles(dt, type) {
|
|
7888
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
7889
|
-
var items, files;
|
|
7890
|
-
return __generator(this, function (_a) {
|
|
7891
|
-
switch (_a.label) {
|
|
7892
|
-
case 0:
|
|
7893
|
-
if (!dt.items) return [3 /*break*/, 2];
|
|
7894
|
-
items = fromList(dt.items)
|
|
7895
|
-
.filter(function (item) { return item.kind === 'file'; });
|
|
7896
|
-
// According to https://html.spec.whatwg.org/multipage/dnd.html#dndevents,
|
|
7897
|
-
// only 'dragstart' and 'drop' has access to the data (source node)
|
|
7898
|
-
if (type !== 'drop') {
|
|
7899
|
-
return [2 /*return*/, items];
|
|
7900
|
-
}
|
|
7901
|
-
return [4 /*yield*/, Promise.all(items.map(toFilePromises))];
|
|
7902
|
-
case 1:
|
|
7903
|
-
files = _a.sent();
|
|
7904
|
-
return [2 /*return*/, noIgnoredFiles(flatten(files))];
|
|
7905
|
-
case 2: return [2 /*return*/, noIgnoredFiles(fromList(dt.files)
|
|
7906
|
-
.map(function (file) { return toFileWithPath(file); }))];
|
|
7907
|
-
}
|
|
7908
|
-
});
|
|
7909
|
-
});
|
|
7910
|
-
}
|
|
7911
|
-
function noIgnoredFiles(files) {
|
|
7912
|
-
return files.filter(function (file) { return FILES_TO_IGNORE.indexOf(file.name) === -1; });
|
|
7913
|
-
}
|
|
7914
|
-
// IE11 does not support Array.from()
|
|
7915
|
-
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Browser_compatibility
|
|
7916
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/FileList
|
|
7917
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList
|
|
7918
|
-
function fromList(items) {
|
|
7919
|
-
if (items === null) {
|
|
7920
|
-
return [];
|
|
7921
|
-
}
|
|
7922
|
-
var files = [];
|
|
7923
|
-
// tslint:disable: prefer-for-of
|
|
7924
|
-
for (var i = 0; i < items.length; i++) {
|
|
7925
|
-
var file = items[i];
|
|
7926
|
-
files.push(file);
|
|
7927
|
-
}
|
|
7928
|
-
return files;
|
|
7929
|
-
}
|
|
7930
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem
|
|
7931
|
-
function toFilePromises(item) {
|
|
7932
|
-
if (typeof item.webkitGetAsEntry !== 'function') {
|
|
7933
|
-
return fromDataTransferItem(item);
|
|
7934
|
-
}
|
|
7935
|
-
var entry = item.webkitGetAsEntry();
|
|
7936
|
-
// Safari supports dropping an image node from a different window and can be retrieved using
|
|
7937
|
-
// the DataTransferItem.getAsFile() API
|
|
7938
|
-
// NOTE: FileSystemEntry.file() throws if trying to get the file
|
|
7939
|
-
if (entry && entry.isDirectory) {
|
|
7940
|
-
return fromDirEntry(entry);
|
|
7941
|
-
}
|
|
7942
|
-
return fromDataTransferItem(item);
|
|
7943
|
-
}
|
|
7944
|
-
function flatten(items) {
|
|
7945
|
-
return items.reduce(function (acc, files) { return __spreadArray(__spreadArray([], __read(acc), false), __read((Array.isArray(files) ? flatten(files) : [files])), false); }, []);
|
|
7946
|
-
}
|
|
7947
|
-
function fromDataTransferItem(item) {
|
|
7948
|
-
var file = item.getAsFile();
|
|
7949
|
-
if (!file) {
|
|
7950
|
-
return Promise.reject("".concat(item, " is not a File"));
|
|
7951
|
-
}
|
|
7952
|
-
var fwp = toFileWithPath(file);
|
|
7953
|
-
return Promise.resolve(fwp);
|
|
7954
|
-
}
|
|
7955
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry
|
|
7956
|
-
function fromEntry(entry) {
|
|
7957
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
7958
|
-
return __generator(this, function (_a) {
|
|
7959
|
-
return [2 /*return*/, entry.isDirectory ? fromDirEntry(entry) : fromFileEntry(entry)];
|
|
7960
|
-
});
|
|
7961
|
-
});
|
|
7962
|
-
}
|
|
7963
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry
|
|
7964
|
-
function fromDirEntry(entry) {
|
|
7965
|
-
var reader = entry.createReader();
|
|
7966
|
-
return new Promise(function (resolve, reject) {
|
|
7967
|
-
var entries = [];
|
|
7968
|
-
function readEntries() {
|
|
7969
|
-
var _this = this;
|
|
7970
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry/createReader
|
|
7971
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryReader/readEntries
|
|
7972
|
-
reader.readEntries(function (batch) { return __awaiter(_this, void 0, void 0, function () {
|
|
7973
|
-
var files, err_1, items;
|
|
7974
|
-
return __generator(this, function (_a) {
|
|
7975
|
-
switch (_a.label) {
|
|
7976
|
-
case 0:
|
|
7977
|
-
if (!!batch.length) return [3 /*break*/, 5];
|
|
7978
|
-
_a.label = 1;
|
|
7979
|
-
case 1:
|
|
7980
|
-
_a.trys.push([1, 3, , 4]);
|
|
7981
|
-
return [4 /*yield*/, Promise.all(entries)];
|
|
7982
|
-
case 2:
|
|
7983
|
-
files = _a.sent();
|
|
7984
|
-
resolve(files);
|
|
7985
|
-
return [3 /*break*/, 4];
|
|
7986
|
-
case 3:
|
|
7987
|
-
err_1 = _a.sent();
|
|
7988
|
-
reject(err_1);
|
|
7989
|
-
return [3 /*break*/, 4];
|
|
7990
|
-
case 4: return [3 /*break*/, 6];
|
|
7991
|
-
case 5:
|
|
7992
|
-
items = Promise.all(batch.map(fromEntry));
|
|
7993
|
-
entries.push(items);
|
|
7994
|
-
// Continue reading
|
|
7995
|
-
readEntries();
|
|
7996
|
-
_a.label = 6;
|
|
7997
|
-
case 6: return [2 /*return*/];
|
|
7998
|
-
}
|
|
7999
|
-
});
|
|
8000
|
-
}); }, function (err) {
|
|
8001
|
-
reject(err);
|
|
8002
|
-
});
|
|
8003
|
-
}
|
|
8004
|
-
readEntries();
|
|
8005
|
-
});
|
|
8006
|
-
}
|
|
8007
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileEntry
|
|
8008
|
-
function fromFileEntry(entry) {
|
|
8009
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
8010
|
-
return __generator(this, function (_a) {
|
|
8011
|
-
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
8012
|
-
entry.file(function (file) {
|
|
8013
|
-
var fwp = toFileWithPath(file, entry.fullPath);
|
|
8014
|
-
resolve(fwp);
|
|
8015
|
-
}, function (err) {
|
|
8016
|
-
reject(err);
|
|
8017
|
-
});
|
|
8018
|
-
})];
|
|
8019
|
-
});
|
|
8020
|
-
});
|
|
8021
|
-
}
|
|
8022
|
-
|
|
8023
|
-
var _default = function (file, acceptedFiles) {
|
|
8024
|
-
if (file && acceptedFiles) {
|
|
8025
|
-
var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');
|
|
8026
|
-
var fileName = file.name || '';
|
|
8027
|
-
var mimeType = (file.type || '').toLowerCase();
|
|
8028
|
-
var baseMimeType = mimeType.replace(/\/.*$/, '');
|
|
8029
|
-
return acceptedFilesArray.some(function (type) {
|
|
8030
|
-
var validType = type.trim().toLowerCase();
|
|
8031
|
-
|
|
8032
|
-
if (validType.charAt(0) === '.') {
|
|
8033
|
-
return fileName.toLowerCase().endsWith(validType);
|
|
8034
|
-
} else if (validType.endsWith('/*')) {
|
|
8035
|
-
// This is something like a image/* mime type
|
|
8036
|
-
return baseMimeType === validType.replace(/\/.*$/, '');
|
|
8037
|
-
}
|
|
8038
|
-
|
|
8039
|
-
return mimeType === validType;
|
|
8040
|
-
});
|
|
8041
|
-
}
|
|
8042
|
-
|
|
8043
|
-
return true;
|
|
8044
|
-
};
|
|
8045
|
-
|
|
8046
|
-
function _toConsumableArray$1(arr) { return _arrayWithoutHoles$1(arr) || _iterableToArray$1(arr) || _unsupportedIterableToArray$1(arr) || _nonIterableSpread$1(); }
|
|
8047
|
-
|
|
8048
|
-
function _nonIterableSpread$1() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
8049
|
-
|
|
8050
|
-
function _iterableToArray$1(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
8051
|
-
|
|
8052
|
-
function _arrayWithoutHoles$1(arr) { if (Array.isArray(arr)) return _arrayLikeToArray$1(arr); }
|
|
8053
|
-
|
|
8054
|
-
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; }
|
|
8055
|
-
|
|
8056
|
-
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$1(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; }
|
|
8057
|
-
|
|
8058
|
-
function _defineProperty$1(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; }
|
|
8059
|
-
|
|
8060
|
-
function _slicedToArray$1(arr, i) { return _arrayWithHoles$1(arr) || _iterableToArrayLimit$1(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest$1(); }
|
|
8061
|
-
|
|
8062
|
-
function _nonIterableRest$1() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
8063
|
-
|
|
8064
|
-
function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); }
|
|
8065
|
-
|
|
8066
|
-
function _arrayLikeToArray$1(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
8067
|
-
|
|
8068
|
-
function _iterableToArrayLimit$1(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
8069
|
-
|
|
8070
|
-
function _arrayWithHoles$1(arr) { if (Array.isArray(arr)) return arr; }
|
|
8071
|
-
|
|
8072
|
-
var FILE_INVALID_TYPE = "file-invalid-type";
|
|
8073
|
-
var FILE_TOO_LARGE = "file-too-large";
|
|
8074
|
-
var FILE_TOO_SMALL = "file-too-small";
|
|
8075
|
-
var TOO_MANY_FILES = "too-many-files";
|
|
8076
|
-
|
|
8077
|
-
var getInvalidTypeRejectionErr = function getInvalidTypeRejectionErr(accept) {
|
|
8078
|
-
accept = Array.isArray(accept) && accept.length === 1 ? accept[0] : accept;
|
|
8079
|
-
var messageSuffix = Array.isArray(accept) ? "one of ".concat(accept.join(", ")) : accept;
|
|
8080
|
-
return {
|
|
8081
|
-
code: FILE_INVALID_TYPE,
|
|
8082
|
-
message: "File type must be ".concat(messageSuffix)
|
|
8083
|
-
};
|
|
8084
|
-
};
|
|
8085
|
-
var getTooLargeRejectionErr = function getTooLargeRejectionErr(maxSize) {
|
|
8086
|
-
return {
|
|
8087
|
-
code: FILE_TOO_LARGE,
|
|
8088
|
-
message: "File is larger than ".concat(maxSize, " ").concat(maxSize === 1 ? "byte" : "bytes")
|
|
8089
|
-
};
|
|
8090
|
-
};
|
|
8091
|
-
var getTooSmallRejectionErr = function getTooSmallRejectionErr(minSize) {
|
|
8092
|
-
return {
|
|
8093
|
-
code: FILE_TOO_SMALL,
|
|
8094
|
-
message: "File is smaller than ".concat(minSize, " ").concat(minSize === 1 ? "byte" : "bytes")
|
|
8095
|
-
};
|
|
8096
|
-
};
|
|
8097
|
-
var TOO_MANY_FILES_REJECTION = {
|
|
8098
|
-
code: TOO_MANY_FILES,
|
|
8099
|
-
message: "Too many files"
|
|
8100
|
-
}; // Firefox versions prior to 53 return a bogus MIME type for every file drag, so dragovers with
|
|
8101
|
-
// that MIME type will always be accepted
|
|
8102
|
-
|
|
8103
|
-
function fileAccepted(file, accept) {
|
|
8104
|
-
var isAcceptable = file.type === "application/x-moz-file" || _default(file, accept);
|
|
8105
|
-
return [isAcceptable, isAcceptable ? null : getInvalidTypeRejectionErr(accept)];
|
|
8106
|
-
}
|
|
8107
|
-
function fileMatchSize(file, minSize, maxSize) {
|
|
8108
|
-
if (isDefined(file.size)) {
|
|
8109
|
-
if (isDefined(minSize) && isDefined(maxSize)) {
|
|
8110
|
-
if (file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];
|
|
8111
|
-
if (file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];
|
|
8112
|
-
} else if (isDefined(minSize) && file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];else if (isDefined(maxSize) && file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];
|
|
8113
|
-
}
|
|
8114
|
-
|
|
8115
|
-
return [true, null];
|
|
8116
|
-
}
|
|
8117
|
-
|
|
8118
|
-
function isDefined(value) {
|
|
8119
|
-
return value !== undefined && value !== null;
|
|
8120
|
-
}
|
|
8121
|
-
/**
|
|
8122
|
-
*
|
|
8123
|
-
* @param {object} options
|
|
8124
|
-
* @param {File[]} options.files
|
|
8125
|
-
* @param {string|string[]} [options.accept]
|
|
8126
|
-
* @param {number} [options.minSize]
|
|
8127
|
-
* @param {number} [options.maxSize]
|
|
8128
|
-
* @param {boolean} [options.multiple]
|
|
8129
|
-
* @param {number} [options.maxFiles]
|
|
8130
|
-
* @param {(f: File) => FileError|FileError[]|null} [options.validator]
|
|
8131
|
-
* @returns
|
|
8132
|
-
*/
|
|
8133
|
-
|
|
8134
|
-
|
|
8135
|
-
function allFilesAccepted(_ref) {
|
|
8136
|
-
var files = _ref.files,
|
|
8137
|
-
accept = _ref.accept,
|
|
8138
|
-
minSize = _ref.minSize,
|
|
8139
|
-
maxSize = _ref.maxSize,
|
|
8140
|
-
multiple = _ref.multiple,
|
|
8141
|
-
maxFiles = _ref.maxFiles,
|
|
8142
|
-
validator = _ref.validator;
|
|
8143
|
-
|
|
8144
|
-
if (!multiple && files.length > 1 || multiple && maxFiles >= 1 && files.length > maxFiles) {
|
|
8145
|
-
return false;
|
|
8146
|
-
}
|
|
8147
|
-
|
|
8148
|
-
return files.every(function (file) {
|
|
8149
|
-
var _fileAccepted = fileAccepted(file, accept),
|
|
8150
|
-
_fileAccepted2 = _slicedToArray$1(_fileAccepted, 1),
|
|
8151
|
-
accepted = _fileAccepted2[0];
|
|
8152
|
-
|
|
8153
|
-
var _fileMatchSize = fileMatchSize(file, minSize, maxSize),
|
|
8154
|
-
_fileMatchSize2 = _slicedToArray$1(_fileMatchSize, 1),
|
|
8155
|
-
sizeMatch = _fileMatchSize2[0];
|
|
8156
|
-
|
|
8157
|
-
var customErrors = validator ? validator(file) : null;
|
|
8158
|
-
return accepted && sizeMatch && !customErrors;
|
|
8159
|
-
});
|
|
8160
|
-
} // React's synthetic events has event.isPropagationStopped,
|
|
8161
|
-
// but to remain compatibility with other libs (Preact) fall back
|
|
8162
|
-
// to check event.cancelBubble
|
|
8163
|
-
|
|
8164
|
-
function isPropagationStopped(event) {
|
|
8165
|
-
if (typeof event.isPropagationStopped === "function") {
|
|
8166
|
-
return event.isPropagationStopped();
|
|
8167
|
-
} else if (typeof event.cancelBubble !== "undefined") {
|
|
8168
|
-
return event.cancelBubble;
|
|
8169
|
-
}
|
|
8170
|
-
|
|
8171
|
-
return false;
|
|
8172
|
-
}
|
|
8173
|
-
function isEvtWithFiles(event) {
|
|
8174
|
-
if (!event.dataTransfer) {
|
|
8175
|
-
return !!event.target && !!event.target.files;
|
|
8176
|
-
} // https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/types
|
|
8177
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Recommended_drag_types#file
|
|
8178
|
-
|
|
8179
|
-
|
|
8180
|
-
return Array.prototype.some.call(event.dataTransfer.types, function (type) {
|
|
8181
|
-
return type === "Files" || type === "application/x-moz-file";
|
|
8182
|
-
});
|
|
8183
|
-
}
|
|
8184
|
-
|
|
8185
|
-
function onDocumentDragOver(event) {
|
|
8186
|
-
event.preventDefault();
|
|
8187
|
-
}
|
|
8188
|
-
|
|
8189
|
-
function isIe(userAgent) {
|
|
8190
|
-
return userAgent.indexOf("MSIE") !== -1 || userAgent.indexOf("Trident/") !== -1;
|
|
8191
|
-
}
|
|
8192
|
-
|
|
8193
|
-
function isEdge(userAgent) {
|
|
8194
|
-
return userAgent.indexOf("Edge/") !== -1;
|
|
8195
|
-
}
|
|
8196
|
-
|
|
8197
|
-
function isIeOrEdge() {
|
|
8198
|
-
var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.navigator.userAgent;
|
|
8199
|
-
return isIe(userAgent) || isEdge(userAgent);
|
|
8200
|
-
}
|
|
8201
|
-
/**
|
|
8202
|
-
* This is intended to be used to compose event handlers
|
|
8203
|
-
* They are executed in order until one of them calls `event.isPropagationStopped()`.
|
|
8204
|
-
* Note that the check is done on the first invoke too,
|
|
8205
|
-
* meaning that if propagation was stopped before invoking the fns,
|
|
8206
|
-
* no handlers will be executed.
|
|
8207
|
-
*
|
|
8208
|
-
* @param {Function} fns the event hanlder functions
|
|
8209
|
-
* @return {Function} the event handler to add to an element
|
|
8210
|
-
*/
|
|
8211
|
-
|
|
8212
|
-
function composeEventHandlers() {
|
|
8213
|
-
for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
8214
|
-
fns[_key] = arguments[_key];
|
|
8215
|
-
}
|
|
8216
|
-
|
|
8217
|
-
return function (event) {
|
|
8218
|
-
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
8219
|
-
args[_key2 - 1] = arguments[_key2];
|
|
8220
|
-
}
|
|
8221
|
-
|
|
8222
|
-
return fns.some(function (fn) {
|
|
8223
|
-
if (!isPropagationStopped(event) && fn) {
|
|
8224
|
-
fn.apply(void 0, [event].concat(args));
|
|
8225
|
-
}
|
|
8226
|
-
|
|
8227
|
-
return isPropagationStopped(event);
|
|
8228
|
-
});
|
|
8229
|
-
};
|
|
8230
|
-
}
|
|
8231
|
-
/**
|
|
8232
|
-
* canUseFileSystemAccessAPI checks if the [File System Access API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API)
|
|
8233
|
-
* is supported by the browser.
|
|
8234
|
-
* @returns {boolean}
|
|
8235
|
-
*/
|
|
8236
|
-
|
|
8237
|
-
function canUseFileSystemAccessAPI() {
|
|
8238
|
-
return "showOpenFilePicker" in window;
|
|
8239
|
-
}
|
|
8240
|
-
/**
|
|
8241
|
-
* Convert the `{accept}` dropzone prop to the
|
|
8242
|
-
* `{types}` option for https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker
|
|
8243
|
-
*
|
|
8244
|
-
* @param {AcceptProp} accept
|
|
8245
|
-
* @returns {{accept: string[]}[]}
|
|
8246
|
-
*/
|
|
8247
|
-
|
|
8248
|
-
function pickerOptionsFromAccept(accept) {
|
|
8249
|
-
if (isDefined(accept)) {
|
|
8250
|
-
var acceptForPicker = Object.entries(accept).filter(function (_ref2) {
|
|
8251
|
-
var _ref3 = _slicedToArray$1(_ref2, 2),
|
|
8252
|
-
mimeType = _ref3[0],
|
|
8253
|
-
ext = _ref3[1];
|
|
8254
|
-
|
|
8255
|
-
var ok = true;
|
|
8256
|
-
|
|
8257
|
-
if (!isMIMEType(mimeType)) {
|
|
8258
|
-
console.warn("Skipped \"".concat(mimeType, "\" because it is not a valid MIME type. Check https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types for a list of valid MIME types."));
|
|
8259
|
-
ok = false;
|
|
8260
|
-
}
|
|
8261
|
-
|
|
8262
|
-
if (!Array.isArray(ext) || !ext.every(isExt)) {
|
|
8263
|
-
console.warn("Skipped \"".concat(mimeType, "\" because an invalid file extension was provided."));
|
|
8264
|
-
ok = false;
|
|
8265
|
-
}
|
|
8266
|
-
|
|
8267
|
-
return ok;
|
|
8268
|
-
}).reduce(function (agg, _ref4) {
|
|
8269
|
-
var _ref5 = _slicedToArray$1(_ref4, 2),
|
|
8270
|
-
mimeType = _ref5[0],
|
|
8271
|
-
ext = _ref5[1];
|
|
8272
|
-
|
|
8273
|
-
return _objectSpread$9(_objectSpread$9({}, agg), {}, _defineProperty$1({}, mimeType, ext));
|
|
8274
|
-
}, {});
|
|
8275
|
-
return [{
|
|
8276
|
-
accept: acceptForPicker
|
|
8277
|
-
}];
|
|
8278
|
-
}
|
|
8279
|
-
|
|
8280
|
-
return accept;
|
|
8281
|
-
}
|
|
8282
|
-
/**
|
|
8283
|
-
* Convert the `{accept}` dropzone prop to an array of MIME types/extensions.
|
|
8284
|
-
* @param {AcceptProp} accept
|
|
8285
|
-
* @returns {string}
|
|
8286
|
-
*/
|
|
8287
|
-
|
|
8288
|
-
function acceptPropAsAcceptAttr(accept) {
|
|
8289
|
-
if (isDefined(accept)) {
|
|
8290
|
-
return Object.entries(accept).reduce(function (a, _ref6) {
|
|
8291
|
-
var _ref7 = _slicedToArray$1(_ref6, 2),
|
|
8292
|
-
mimeType = _ref7[0],
|
|
8293
|
-
ext = _ref7[1];
|
|
8294
|
-
|
|
8295
|
-
return [].concat(_toConsumableArray$1(a), [mimeType], _toConsumableArray$1(ext));
|
|
8296
|
-
}, []) // Silently discard invalid entries as pickerOptionsFromAccept warns about these
|
|
8297
|
-
.filter(function (v) {
|
|
8298
|
-
return isMIMEType(v) || isExt(v);
|
|
8299
|
-
}).join(",");
|
|
8300
|
-
}
|
|
8301
|
-
|
|
8302
|
-
return undefined;
|
|
8303
|
-
}
|
|
8304
|
-
/**
|
|
8305
|
-
* Check if v is an exception caused by aborting a request (e.g window.showOpenFilePicker()).
|
|
8306
|
-
*
|
|
8307
|
-
* See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.
|
|
8308
|
-
* @param {any} v
|
|
8309
|
-
* @returns {boolean} True if v is an abort exception.
|
|
8310
|
-
*/
|
|
8311
|
-
|
|
8312
|
-
function isAbort(v) {
|
|
8313
|
-
return v instanceof DOMException && (v.name === "AbortError" || v.code === v.ABORT_ERR);
|
|
8314
|
-
}
|
|
8315
|
-
/**
|
|
8316
|
-
* Check if v is a security error.
|
|
8317
|
-
*
|
|
8318
|
-
* See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.
|
|
8319
|
-
* @param {any} v
|
|
8320
|
-
* @returns {boolean} True if v is a security error.
|
|
8321
|
-
*/
|
|
8322
|
-
|
|
8323
|
-
function isSecurityError(v) {
|
|
8324
|
-
return v instanceof DOMException && (v.name === "SecurityError" || v.code === v.SECURITY_ERR);
|
|
8325
|
-
}
|
|
8326
|
-
/**
|
|
8327
|
-
* Check if v is a MIME type string.
|
|
8328
|
-
*
|
|
8329
|
-
* See accepted format: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers.
|
|
8330
|
-
*
|
|
8331
|
-
* @param {string} v
|
|
8332
|
-
*/
|
|
8333
|
-
|
|
8334
|
-
function isMIMEType(v) {
|
|
8335
|
-
return v === "audio/*" || v === "video/*" || v === "image/*" || v === "text/*" || /\w+\/[-+.\w]+/g.test(v);
|
|
8336
|
-
}
|
|
8337
|
-
/**
|
|
8338
|
-
* Check if v is a file extension.
|
|
8339
|
-
* @param {string} v
|
|
8340
|
-
*/
|
|
8341
|
-
|
|
8342
|
-
function isExt(v) {
|
|
8343
|
-
return /^.*\.[\w]+$/.test(v);
|
|
8344
|
-
}
|
|
8345
|
-
/**
|
|
8346
|
-
* @typedef {Object.<string, string[]>} AcceptProp
|
|
8347
|
-
*/
|
|
8348
|
-
|
|
8349
|
-
/**
|
|
8350
|
-
* @typedef {object} FileError
|
|
8351
|
-
* @property {string} message
|
|
8352
|
-
* @property {ErrorCode|string} code
|
|
8353
|
-
*/
|
|
8354
|
-
|
|
8355
|
-
/**
|
|
8356
|
-
* @typedef {"file-invalid-type"|"file-too-large"|"file-too-small"|"too-many-files"} ErrorCode
|
|
8357
|
-
*/
|
|
8358
|
-
|
|
8359
|
-
var _excluded$3 = ["children"],
|
|
8360
|
-
_excluded2$2 = ["open"],
|
|
8361
|
-
_excluded3$1 = ["refKey", "role", "onKeyDown", "onFocus", "onBlur", "onClick", "onDragEnter", "onDragOver", "onDragLeave", "onDrop"],
|
|
8362
|
-
_excluded4 = ["refKey", "onChange", "onClick"];
|
|
8363
|
-
|
|
8364
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
8365
|
-
|
|
8366
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
8367
|
-
|
|
8368
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
8369
|
-
|
|
8370
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
8371
|
-
|
|
8372
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
8373
|
-
|
|
8374
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
8375
|
-
|
|
8376
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
8377
|
-
|
|
8378
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
8379
|
-
|
|
8380
|
-
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
8381
|
-
|
|
8382
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
8383
|
-
|
|
8384
|
-
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; }
|
|
8385
|
-
|
|
8386
|
-
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; }
|
|
8387
|
-
|
|
8388
|
-
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; }
|
|
8389
|
-
|
|
8390
|
-
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
8391
|
-
|
|
8392
|
-
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; }
|
|
8393
|
-
/**
|
|
8394
|
-
* Convenience wrapper component for the `useDropzone` hook
|
|
8395
|
-
*
|
|
8396
|
-
* ```jsx
|
|
8397
|
-
* <Dropzone>
|
|
8398
|
-
* {({getRootProps, getInputProps}) => (
|
|
8399
|
-
* <div {...getRootProps()}>
|
|
8400
|
-
* <input {...getInputProps()} />
|
|
8401
|
-
* <p>Drag 'n' drop some files here, or click to select files</p>
|
|
8402
|
-
* </div>
|
|
8403
|
-
* )}
|
|
8404
|
-
* </Dropzone>
|
|
8405
|
-
* ```
|
|
8406
|
-
*/
|
|
8407
|
-
|
|
8408
|
-
var Dropzone = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
8409
|
-
var children = _ref.children,
|
|
8410
|
-
params = _objectWithoutProperties(_ref, _excluded$3);
|
|
8411
|
-
|
|
8412
|
-
var _useDropzone = useDropzone(params),
|
|
8413
|
-
open = _useDropzone.open,
|
|
8414
|
-
props = _objectWithoutProperties(_useDropzone, _excluded2$2);
|
|
8415
|
-
|
|
8416
|
-
React.useImperativeHandle(ref, function () {
|
|
8417
|
-
return {
|
|
8418
|
-
open: open
|
|
8419
|
-
};
|
|
8420
|
-
}, [open]); // TODO: Figure out why react-styleguidist cannot create docs if we don't return a jsx element
|
|
8421
|
-
|
|
8422
|
-
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, children(_objectSpread$8(_objectSpread$8({}, props), {}, {
|
|
8423
|
-
open: open
|
|
8424
|
-
})));
|
|
8425
|
-
});
|
|
8426
|
-
Dropzone.displayName = "Dropzone"; // Add default props for react-docgen
|
|
8427
|
-
|
|
8428
|
-
var defaultProps = {
|
|
8429
|
-
disabled: false,
|
|
8430
|
-
getFilesFromEvent: fromEvent,
|
|
8431
|
-
maxSize: Infinity,
|
|
8432
|
-
minSize: 0,
|
|
8433
|
-
multiple: true,
|
|
8434
|
-
maxFiles: 0,
|
|
8435
|
-
preventDropOnDocument: true,
|
|
8436
|
-
noClick: false,
|
|
8437
|
-
noKeyboard: false,
|
|
8438
|
-
noDrag: false,
|
|
8439
|
-
noDragEventsBubbling: false,
|
|
8440
|
-
validator: null,
|
|
8441
|
-
useFsAccessApi: true,
|
|
8442
|
-
autoFocus: false
|
|
8443
|
-
};
|
|
8444
|
-
Dropzone.defaultProps = defaultProps;
|
|
8445
|
-
Dropzone.propTypes = {
|
|
8446
|
-
/**
|
|
8447
|
-
* Render function that exposes the dropzone state and prop getter fns
|
|
8448
|
-
*
|
|
8449
|
-
* @param {object} params
|
|
8450
|
-
* @param {Function} params.getRootProps Returns the props you should apply to the root drop container you render
|
|
8451
|
-
* @param {Function} params.getInputProps Returns the props you should apply to hidden file input you render
|
|
8452
|
-
* @param {Function} params.open Open the native file selection dialog
|
|
8453
|
-
* @param {boolean} params.isFocused Dropzone area is in focus
|
|
8454
|
-
* @param {boolean} params.isFileDialogActive File dialog is opened
|
|
8455
|
-
* @param {boolean} params.isDragActive Active drag is in progress
|
|
8456
|
-
* @param {boolean} params.isDragAccept Dragged files are accepted
|
|
8457
|
-
* @param {boolean} params.isDragReject Some dragged files are rejected
|
|
8458
|
-
* @param {File[]} params.acceptedFiles Accepted files
|
|
8459
|
-
* @param {FileRejection[]} params.fileRejections Rejected files and why they were rejected
|
|
8460
|
-
*/
|
|
8461
|
-
children: propTypes.exports.func,
|
|
8462
|
-
|
|
8463
|
-
/**
|
|
8464
|
-
* Set accepted file types.
|
|
8465
|
-
* Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.
|
|
8466
|
-
* Keep in mind that mime type determination is not reliable across platforms. CSV files,
|
|
8467
|
-
* for example, are reported as text/plain under macOS but as application/vnd.ms-excel under
|
|
8468
|
-
* Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).
|
|
8469
|
-
*/
|
|
8470
|
-
accept: propTypes.exports.objectOf(propTypes.exports.arrayOf(propTypes.exports.string)),
|
|
8471
|
-
|
|
8472
|
-
/**
|
|
8473
|
-
* Allow drag 'n' drop (or selection from the file dialog) of multiple files
|
|
8474
|
-
*/
|
|
8475
|
-
multiple: propTypes.exports.bool,
|
|
8476
|
-
|
|
8477
|
-
/**
|
|
8478
|
-
* If false, allow dropped items to take over the current browser window
|
|
8479
|
-
*/
|
|
8480
|
-
preventDropOnDocument: propTypes.exports.bool,
|
|
8481
|
-
|
|
8482
|
-
/**
|
|
8483
|
-
* If true, disables click to open the native file selection dialog
|
|
8484
|
-
*/
|
|
8485
|
-
noClick: propTypes.exports.bool,
|
|
8486
|
-
|
|
8487
|
-
/**
|
|
8488
|
-
* If true, disables SPACE/ENTER to open the native file selection dialog.
|
|
8489
|
-
* Note that it also stops tracking the focus state.
|
|
8490
|
-
*/
|
|
8491
|
-
noKeyboard: propTypes.exports.bool,
|
|
8492
|
-
|
|
8493
|
-
/**
|
|
8494
|
-
* If true, disables drag 'n' drop
|
|
8495
|
-
*/
|
|
8496
|
-
noDrag: propTypes.exports.bool,
|
|
8497
|
-
|
|
8498
|
-
/**
|
|
8499
|
-
* If true, stops drag event propagation to parents
|
|
8500
|
-
*/
|
|
8501
|
-
noDragEventsBubbling: propTypes.exports.bool,
|
|
8502
|
-
|
|
8503
|
-
/**
|
|
8504
|
-
* Minimum file size (in bytes)
|
|
8505
|
-
*/
|
|
8506
|
-
minSize: propTypes.exports.number,
|
|
8507
|
-
|
|
8508
|
-
/**
|
|
8509
|
-
* Maximum file size (in bytes)
|
|
8510
|
-
*/
|
|
8511
|
-
maxSize: propTypes.exports.number,
|
|
8512
|
-
|
|
8513
|
-
/**
|
|
8514
|
-
* Maximum accepted number of files
|
|
8515
|
-
* The default value is 0 which means there is no limitation to how many files are accepted.
|
|
8516
|
-
*/
|
|
8517
|
-
maxFiles: propTypes.exports.number,
|
|
8518
|
-
|
|
8519
|
-
/**
|
|
8520
|
-
* Enable/disable the dropzone
|
|
8521
|
-
*/
|
|
8522
|
-
disabled: propTypes.exports.bool,
|
|
8523
|
-
|
|
8524
|
-
/**
|
|
8525
|
-
* Use this to provide a custom file aggregator
|
|
8526
|
-
*
|
|
8527
|
-
* @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
|
|
8528
|
-
*/
|
|
8529
|
-
getFilesFromEvent: propTypes.exports.func,
|
|
8530
|
-
|
|
8531
|
-
/**
|
|
8532
|
-
* Cb for when closing the file dialog with no selection
|
|
8533
|
-
*/
|
|
8534
|
-
onFileDialogCancel: propTypes.exports.func,
|
|
8535
|
-
|
|
8536
|
-
/**
|
|
8537
|
-
* Cb for when opening the file dialog
|
|
8538
|
-
*/
|
|
8539
|
-
onFileDialogOpen: propTypes.exports.func,
|
|
8540
|
-
|
|
8541
|
-
/**
|
|
8542
|
-
* Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API
|
|
8543
|
-
* to open the file picker instead of using an `<input type="file">` click event.
|
|
8544
|
-
*/
|
|
8545
|
-
useFsAccessApi: propTypes.exports.bool,
|
|
8546
|
-
|
|
8547
|
-
/**
|
|
8548
|
-
* Set to true to focus the root element on render
|
|
8549
|
-
*/
|
|
8550
|
-
autoFocus: propTypes.exports.bool,
|
|
8551
|
-
|
|
8552
|
-
/**
|
|
8553
|
-
* Cb for when the `dragenter` event occurs.
|
|
8554
|
-
*
|
|
8555
|
-
* @param {DragEvent} event
|
|
8556
|
-
*/
|
|
8557
|
-
onDragEnter: propTypes.exports.func,
|
|
8558
|
-
|
|
8559
|
-
/**
|
|
8560
|
-
* Cb for when the `dragleave` event occurs
|
|
8561
|
-
*
|
|
8562
|
-
* @param {DragEvent} event
|
|
8563
|
-
*/
|
|
8564
|
-
onDragLeave: propTypes.exports.func,
|
|
8565
|
-
|
|
8566
|
-
/**
|
|
8567
|
-
* Cb for when the `dragover` event occurs
|
|
8568
|
-
*
|
|
8569
|
-
* @param {DragEvent} event
|
|
8570
|
-
*/
|
|
8571
|
-
onDragOver: propTypes.exports.func,
|
|
8572
|
-
|
|
8573
|
-
/**
|
|
8574
|
-
* Cb for when the `drop` event occurs.
|
|
8575
|
-
* Note that this callback is invoked after the `getFilesFromEvent` callback is done.
|
|
8576
|
-
*
|
|
8577
|
-
* Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.
|
|
8578
|
-
* `accept` must be a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) or a valid file extension.
|
|
8579
|
-
* If `multiple` is set to false and additional files are dropped,
|
|
8580
|
-
* all files besides the first will be rejected.
|
|
8581
|
-
* Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.
|
|
8582
|
-
*
|
|
8583
|
-
* Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.
|
|
8584
|
-
* If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.
|
|
8585
|
-
*
|
|
8586
|
-
* `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.
|
|
8587
|
-
* For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:
|
|
8588
|
-
*
|
|
8589
|
-
* ```js
|
|
8590
|
-
* function onDrop(acceptedFiles) {
|
|
8591
|
-
* const req = request.post('/upload')
|
|
8592
|
-
* acceptedFiles.forEach(file => {
|
|
8593
|
-
* req.attach(file.name, file)
|
|
8594
|
-
* })
|
|
8595
|
-
* req.end(callback)
|
|
8596
|
-
* }
|
|
8597
|
-
* ```
|
|
8598
|
-
*
|
|
8599
|
-
* @param {File[]} acceptedFiles
|
|
8600
|
-
* @param {FileRejection[]} fileRejections
|
|
8601
|
-
* @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
|
|
8602
|
-
*/
|
|
8603
|
-
onDrop: propTypes.exports.func,
|
|
8604
|
-
|
|
8605
|
-
/**
|
|
8606
|
-
* Cb for when the `drop` event occurs.
|
|
8607
|
-
* Note that if no files are accepted, this callback is not invoked.
|
|
8608
|
-
*
|
|
8609
|
-
* @param {File[]} files
|
|
8610
|
-
* @param {(DragEvent|Event)} event
|
|
8611
|
-
*/
|
|
8612
|
-
onDropAccepted: propTypes.exports.func,
|
|
8613
|
-
|
|
8614
|
-
/**
|
|
8615
|
-
* Cb for when the `drop` event occurs.
|
|
8616
|
-
* Note that if no files are rejected, this callback is not invoked.
|
|
8617
|
-
*
|
|
8618
|
-
* @param {FileRejection[]} fileRejections
|
|
8619
|
-
* @param {(DragEvent|Event)} event
|
|
8620
|
-
*/
|
|
8621
|
-
onDropRejected: propTypes.exports.func,
|
|
8622
|
-
|
|
8623
|
-
/**
|
|
8624
|
-
* Cb for when there's some error from any of the promises.
|
|
8625
|
-
*
|
|
8626
|
-
* @param {Error} error
|
|
8627
|
-
*/
|
|
8628
|
-
onError: propTypes.exports.func,
|
|
8629
|
-
|
|
8630
|
-
/**
|
|
8631
|
-
* Custom validation function. It must return null if there's no errors.
|
|
8632
|
-
* @param {File} file
|
|
8633
|
-
* @returns {FileError|FileError[]|null}
|
|
8634
|
-
*/
|
|
8635
|
-
validator: propTypes.exports.func
|
|
8636
|
-
};
|
|
8637
|
-
var Dropzone$1 = Dropzone;
|
|
8638
|
-
/**
|
|
8639
|
-
* A function that is invoked for the `dragenter`,
|
|
8640
|
-
* `dragover` and `dragleave` events.
|
|
8641
|
-
* It is not invoked if the items are not files (such as link, text, etc.).
|
|
8642
|
-
*
|
|
8643
|
-
* @callback dragCb
|
|
8644
|
-
* @param {DragEvent} event
|
|
8645
|
-
*/
|
|
8646
|
-
|
|
8647
|
-
/**
|
|
8648
|
-
* A function that is invoked for the `drop` or input change event.
|
|
8649
|
-
* It is not invoked if the items are not files (such as link, text, etc.).
|
|
8650
|
-
*
|
|
8651
|
-
* @callback dropCb
|
|
8652
|
-
* @param {File[]} acceptedFiles List of accepted files
|
|
8653
|
-
* @param {FileRejection[]} fileRejections List of rejected files and why they were rejected
|
|
8654
|
-
* @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
|
|
8655
|
-
*/
|
|
8656
|
-
|
|
8657
|
-
/**
|
|
8658
|
-
* A function that is invoked for the `drop` or input change event.
|
|
8659
|
-
* It is not invoked if the items are files (such as link, text, etc.).
|
|
8660
|
-
*
|
|
8661
|
-
* @callback dropAcceptedCb
|
|
8662
|
-
* @param {File[]} files List of accepted files that meet the given criteria
|
|
8663
|
-
* (`accept`, `multiple`, `minSize`, `maxSize`)
|
|
8664
|
-
* @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
|
|
8665
|
-
*/
|
|
8666
|
-
|
|
8667
|
-
/**
|
|
8668
|
-
* A function that is invoked for the `drop` or input change event.
|
|
8669
|
-
*
|
|
8670
|
-
* @callback dropRejectedCb
|
|
8671
|
-
* @param {File[]} files List of rejected files that do not meet the given criteria
|
|
8672
|
-
* (`accept`, `multiple`, `minSize`, `maxSize`)
|
|
8673
|
-
* @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
|
|
8674
|
-
*/
|
|
8675
|
-
|
|
8676
|
-
/**
|
|
8677
|
-
* A function that is used aggregate files,
|
|
8678
|
-
* in a asynchronous fashion, from drag or input change events.
|
|
8679
|
-
*
|
|
8680
|
-
* @callback getFilesFromEvent
|
|
8681
|
-
* @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
|
|
8682
|
-
* @returns {(File[]|Promise<File[]>)}
|
|
8683
|
-
*/
|
|
8684
|
-
|
|
8685
|
-
/**
|
|
8686
|
-
* An object with the current dropzone state.
|
|
8687
|
-
*
|
|
8688
|
-
* @typedef {object} DropzoneState
|
|
8689
|
-
* @property {boolean} isFocused Dropzone area is in focus
|
|
8690
|
-
* @property {boolean} isFileDialogActive File dialog is opened
|
|
8691
|
-
* @property {boolean} isDragActive Active drag is in progress
|
|
8692
|
-
* @property {boolean} isDragAccept Dragged files are accepted
|
|
8693
|
-
* @property {boolean} isDragReject Some dragged files are rejected
|
|
8694
|
-
* @property {File[]} acceptedFiles Accepted files
|
|
8695
|
-
* @property {FileRejection[]} fileRejections Rejected files and why they were rejected
|
|
8696
|
-
*/
|
|
8697
|
-
|
|
8698
|
-
/**
|
|
8699
|
-
* An object with the dropzone methods.
|
|
8700
|
-
*
|
|
8701
|
-
* @typedef {object} DropzoneMethods
|
|
8702
|
-
* @property {Function} getRootProps Returns the props you should apply to the root drop container you render
|
|
8703
|
-
* @property {Function} getInputProps Returns the props you should apply to hidden file input you render
|
|
8704
|
-
* @property {Function} open Open the native file selection dialog
|
|
8705
|
-
*/
|
|
8706
|
-
|
|
8707
|
-
var initialState = {
|
|
8708
|
-
isFocused: false,
|
|
8709
|
-
isFileDialogActive: false,
|
|
8710
|
-
isDragActive: false,
|
|
8711
|
-
isDragAccept: false,
|
|
8712
|
-
isDragReject: false,
|
|
8713
|
-
acceptedFiles: [],
|
|
8714
|
-
fileRejections: []
|
|
8715
|
-
};
|
|
8716
|
-
/**
|
|
8717
|
-
* A React hook that creates a drag 'n' drop area.
|
|
8718
|
-
*
|
|
8719
|
-
* ```jsx
|
|
8720
|
-
* function MyDropzone(props) {
|
|
8721
|
-
* const {getRootProps, getInputProps} = useDropzone({
|
|
8722
|
-
* onDrop: acceptedFiles => {
|
|
8723
|
-
* // do something with the File objects, e.g. upload to some server
|
|
8724
|
-
* }
|
|
8725
|
-
* });
|
|
8726
|
-
* return (
|
|
8727
|
-
* <div {...getRootProps()}>
|
|
8728
|
-
* <input {...getInputProps()} />
|
|
8729
|
-
* <p>Drag and drop some files here, or click to select files</p>
|
|
8730
|
-
* </div>
|
|
8731
|
-
* )
|
|
8732
|
-
* }
|
|
8733
|
-
* ```
|
|
8734
|
-
*
|
|
8735
|
-
* @function useDropzone
|
|
8736
|
-
*
|
|
8737
|
-
* @param {object} props
|
|
8738
|
-
* @param {import("./utils").AcceptProp} [props.accept] Set accepted file types.
|
|
8739
|
-
* Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.
|
|
8740
|
-
* Keep in mind that mime type determination is not reliable across platforms. CSV files,
|
|
8741
|
-
* for example, are reported as text/plain under macOS but as application/vnd.ms-excel under
|
|
8742
|
-
* Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).
|
|
8743
|
-
* @param {boolean} [props.multiple=true] Allow drag 'n' drop (or selection from the file dialog) of multiple files
|
|
8744
|
-
* @param {boolean} [props.preventDropOnDocument=true] If false, allow dropped items to take over the current browser window
|
|
8745
|
-
* @param {boolean} [props.noClick=false] If true, disables click to open the native file selection dialog
|
|
8746
|
-
* @param {boolean} [props.noKeyboard=false] If true, disables SPACE/ENTER to open the native file selection dialog.
|
|
8747
|
-
* Note that it also stops tracking the focus state.
|
|
8748
|
-
* @param {boolean} [props.noDrag=false] If true, disables drag 'n' drop
|
|
8749
|
-
* @param {boolean} [props.noDragEventsBubbling=false] If true, stops drag event propagation to parents
|
|
8750
|
-
* @param {number} [props.minSize=0] Minimum file size (in bytes)
|
|
8751
|
-
* @param {number} [props.maxSize=Infinity] Maximum file size (in bytes)
|
|
8752
|
-
* @param {boolean} [props.disabled=false] Enable/disable the dropzone
|
|
8753
|
-
* @param {getFilesFromEvent} [props.getFilesFromEvent] Use this to provide a custom file aggregator
|
|
8754
|
-
* @param {Function} [props.onFileDialogCancel] Cb for when closing the file dialog with no selection
|
|
8755
|
-
* @param {boolean} [props.useFsAccessApi] Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API
|
|
8756
|
-
* to open the file picker instead of using an `<input type="file">` click event.
|
|
8757
|
-
* @param {boolean} autoFocus Set to true to auto focus the root element.
|
|
8758
|
-
* @param {Function} [props.onFileDialogOpen] Cb for when opening the file dialog
|
|
8759
|
-
* @param {dragCb} [props.onDragEnter] Cb for when the `dragenter` event occurs.
|
|
8760
|
-
* @param {dragCb} [props.onDragLeave] Cb for when the `dragleave` event occurs
|
|
8761
|
-
* @param {dragCb} [props.onDragOver] Cb for when the `dragover` event occurs
|
|
8762
|
-
* @param {dropCb} [props.onDrop] Cb for when the `drop` event occurs.
|
|
8763
|
-
* Note that this callback is invoked after the `getFilesFromEvent` callback is done.
|
|
8764
|
-
*
|
|
8765
|
-
* Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.
|
|
8766
|
-
* `accept` must be an object with keys as a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) and the value an array of file extensions (optional).
|
|
8767
|
-
* If `multiple` is set to false and additional files are dropped,
|
|
8768
|
-
* all files besides the first will be rejected.
|
|
8769
|
-
* Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.
|
|
8770
|
-
*
|
|
8771
|
-
* Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.
|
|
8772
|
-
* If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.
|
|
8773
|
-
*
|
|
8774
|
-
* `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.
|
|
8775
|
-
* For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:
|
|
8776
|
-
*
|
|
8777
|
-
* ```js
|
|
8778
|
-
* function onDrop(acceptedFiles) {
|
|
8779
|
-
* const req = request.post('/upload')
|
|
8780
|
-
* acceptedFiles.forEach(file => {
|
|
8781
|
-
* req.attach(file.name, file)
|
|
8782
|
-
* })
|
|
8783
|
-
* req.end(callback)
|
|
8784
|
-
* }
|
|
8785
|
-
* ```
|
|
8786
|
-
* @param {dropAcceptedCb} [props.onDropAccepted]
|
|
8787
|
-
* @param {dropRejectedCb} [props.onDropRejected]
|
|
8788
|
-
* @param {(error: Error) => void} [props.onError]
|
|
8789
|
-
*
|
|
8790
|
-
* @returns {DropzoneState & DropzoneMethods}
|
|
8791
|
-
*/
|
|
8792
|
-
|
|
8793
|
-
function useDropzone() {
|
|
8794
|
-
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
8795
|
-
|
|
8796
|
-
var _defaultProps$props = _objectSpread$8(_objectSpread$8({}, defaultProps), props),
|
|
8797
|
-
accept = _defaultProps$props.accept,
|
|
8798
|
-
disabled = _defaultProps$props.disabled,
|
|
8799
|
-
getFilesFromEvent = _defaultProps$props.getFilesFromEvent,
|
|
8800
|
-
maxSize = _defaultProps$props.maxSize,
|
|
8801
|
-
minSize = _defaultProps$props.minSize,
|
|
8802
|
-
multiple = _defaultProps$props.multiple,
|
|
8803
|
-
maxFiles = _defaultProps$props.maxFiles,
|
|
8804
|
-
onDragEnter = _defaultProps$props.onDragEnter,
|
|
8805
|
-
onDragLeave = _defaultProps$props.onDragLeave,
|
|
8806
|
-
onDragOver = _defaultProps$props.onDragOver,
|
|
8807
|
-
onDrop = _defaultProps$props.onDrop,
|
|
8808
|
-
onDropAccepted = _defaultProps$props.onDropAccepted,
|
|
8809
|
-
onDropRejected = _defaultProps$props.onDropRejected,
|
|
8810
|
-
onFileDialogCancel = _defaultProps$props.onFileDialogCancel,
|
|
8811
|
-
onFileDialogOpen = _defaultProps$props.onFileDialogOpen,
|
|
8812
|
-
useFsAccessApi = _defaultProps$props.useFsAccessApi,
|
|
8813
|
-
autoFocus = _defaultProps$props.autoFocus,
|
|
8814
|
-
preventDropOnDocument = _defaultProps$props.preventDropOnDocument,
|
|
8815
|
-
noClick = _defaultProps$props.noClick,
|
|
8816
|
-
noKeyboard = _defaultProps$props.noKeyboard,
|
|
8817
|
-
noDrag = _defaultProps$props.noDrag,
|
|
8818
|
-
noDragEventsBubbling = _defaultProps$props.noDragEventsBubbling,
|
|
8819
|
-
onError = _defaultProps$props.onError,
|
|
8820
|
-
validator = _defaultProps$props.validator;
|
|
8821
|
-
|
|
8822
|
-
var acceptAttr = React.useMemo(function () {
|
|
8823
|
-
return acceptPropAsAcceptAttr(accept);
|
|
8824
|
-
}, [accept]);
|
|
8825
|
-
var pickerTypes = React.useMemo(function () {
|
|
8826
|
-
return pickerOptionsFromAccept(accept);
|
|
8827
|
-
}, [accept]);
|
|
8828
|
-
var onFileDialogOpenCb = React.useMemo(function () {
|
|
8829
|
-
return typeof onFileDialogOpen === "function" ? onFileDialogOpen : noop;
|
|
8830
|
-
}, [onFileDialogOpen]);
|
|
8831
|
-
var onFileDialogCancelCb = React.useMemo(function () {
|
|
8832
|
-
return typeof onFileDialogCancel === "function" ? onFileDialogCancel : noop;
|
|
8833
|
-
}, [onFileDialogCancel]);
|
|
8834
|
-
/**
|
|
8835
|
-
* @constant
|
|
8836
|
-
* @type {React.MutableRefObject<HTMLElement>}
|
|
8837
|
-
*/
|
|
8838
|
-
|
|
8839
|
-
var rootRef = React.useRef(null);
|
|
8840
|
-
var inputRef = React.useRef(null);
|
|
8841
|
-
|
|
8842
|
-
var _useReducer = React.useReducer(reducer, initialState),
|
|
8843
|
-
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
8844
|
-
state = _useReducer2[0],
|
|
8845
|
-
dispatch = _useReducer2[1];
|
|
8846
|
-
|
|
8847
|
-
var isFocused = state.isFocused,
|
|
8848
|
-
isFileDialogActive = state.isFileDialogActive;
|
|
8849
|
-
var fsAccessApiWorksRef = React.useRef(typeof window !== "undefined" && window.isSecureContext && useFsAccessApi && canUseFileSystemAccessAPI()); // Update file dialog active state when the window is focused on
|
|
8850
|
-
|
|
8851
|
-
var onWindowFocus = function onWindowFocus() {
|
|
8852
|
-
// Execute the timeout only if the file dialog is opened in the browser
|
|
8853
|
-
if (!fsAccessApiWorksRef.current && isFileDialogActive) {
|
|
8854
|
-
setTimeout(function () {
|
|
8855
|
-
if (inputRef.current) {
|
|
8856
|
-
var files = inputRef.current.files;
|
|
8857
|
-
|
|
8858
|
-
if (!files.length) {
|
|
8859
|
-
dispatch({
|
|
8860
|
-
type: "closeDialog"
|
|
8861
|
-
});
|
|
8862
|
-
onFileDialogCancelCb();
|
|
8863
|
-
}
|
|
8864
|
-
}
|
|
8865
|
-
}, 300);
|
|
8866
|
-
}
|
|
8867
|
-
};
|
|
8868
|
-
|
|
8869
|
-
React.useEffect(function () {
|
|
8870
|
-
window.addEventListener("focus", onWindowFocus, false);
|
|
8871
|
-
return function () {
|
|
8872
|
-
window.removeEventListener("focus", onWindowFocus, false);
|
|
8873
|
-
};
|
|
8874
|
-
}, [inputRef, isFileDialogActive, onFileDialogCancelCb, fsAccessApiWorksRef]);
|
|
8875
|
-
var dragTargetsRef = React.useRef([]);
|
|
8876
|
-
|
|
8877
|
-
var onDocumentDrop = function onDocumentDrop(event) {
|
|
8878
|
-
if (rootRef.current && rootRef.current.contains(event.target)) {
|
|
8879
|
-
// If we intercepted an event for our instance, let it propagate down to the instance's onDrop handler
|
|
8880
|
-
return;
|
|
8881
|
-
}
|
|
8882
|
-
|
|
8883
|
-
event.preventDefault();
|
|
8884
|
-
dragTargetsRef.current = [];
|
|
8885
|
-
};
|
|
8886
|
-
|
|
8887
|
-
React.useEffect(function () {
|
|
8888
|
-
if (preventDropOnDocument) {
|
|
8889
|
-
document.addEventListener("dragover", onDocumentDragOver, false);
|
|
8890
|
-
document.addEventListener("drop", onDocumentDrop, false);
|
|
8891
|
-
}
|
|
8892
|
-
|
|
8893
|
-
return function () {
|
|
8894
|
-
if (preventDropOnDocument) {
|
|
8895
|
-
document.removeEventListener("dragover", onDocumentDragOver);
|
|
8896
|
-
document.removeEventListener("drop", onDocumentDrop);
|
|
8897
|
-
}
|
|
8898
|
-
};
|
|
8899
|
-
}, [rootRef, preventDropOnDocument]); // Auto focus the root when autoFocus is true
|
|
8900
|
-
|
|
8901
|
-
React.useEffect(function () {
|
|
8902
|
-
if (!disabled && autoFocus && rootRef.current) {
|
|
8903
|
-
rootRef.current.focus();
|
|
8904
|
-
}
|
|
8905
|
-
|
|
8906
|
-
return function () {};
|
|
8907
|
-
}, [rootRef, autoFocus, disabled]);
|
|
8908
|
-
var onErrCb = React.useCallback(function (e) {
|
|
8909
|
-
if (onError) {
|
|
8910
|
-
onError(e);
|
|
8911
|
-
} else {
|
|
8912
|
-
// Let the user know something's gone wrong if they haven't provided the onError cb.
|
|
8913
|
-
console.error(e);
|
|
8914
|
-
}
|
|
8915
|
-
}, [onError]);
|
|
8916
|
-
var onDragEnterCb = React.useCallback(function (event) {
|
|
8917
|
-
event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done
|
|
8918
|
-
|
|
8919
|
-
event.persist();
|
|
8920
|
-
stopPropagation(event);
|
|
8921
|
-
dragTargetsRef.current = [].concat(_toConsumableArray(dragTargetsRef.current), [event.target]);
|
|
8922
|
-
|
|
8923
|
-
if (isEvtWithFiles(event)) {
|
|
8924
|
-
Promise.resolve(getFilesFromEvent(event)).then(function (files) {
|
|
8925
|
-
if (isPropagationStopped(event) && !noDragEventsBubbling) {
|
|
8926
|
-
return;
|
|
8927
|
-
}
|
|
8928
|
-
|
|
8929
|
-
var fileCount = files.length;
|
|
8930
|
-
var isDragAccept = fileCount > 0 && allFilesAccepted({
|
|
8931
|
-
files: files,
|
|
8932
|
-
accept: acceptAttr,
|
|
8933
|
-
minSize: minSize,
|
|
8934
|
-
maxSize: maxSize,
|
|
8935
|
-
multiple: multiple,
|
|
8936
|
-
maxFiles: maxFiles,
|
|
8937
|
-
validator: validator
|
|
8938
|
-
});
|
|
8939
|
-
var isDragReject = fileCount > 0 && !isDragAccept;
|
|
8940
|
-
dispatch({
|
|
8941
|
-
isDragAccept: isDragAccept,
|
|
8942
|
-
isDragReject: isDragReject,
|
|
8943
|
-
isDragActive: true,
|
|
8944
|
-
type: "setDraggedFiles"
|
|
8945
|
-
});
|
|
8946
|
-
|
|
8947
|
-
if (onDragEnter) {
|
|
8948
|
-
onDragEnter(event);
|
|
8949
|
-
}
|
|
8950
|
-
}).catch(function (e) {
|
|
8951
|
-
return onErrCb(e);
|
|
8952
|
-
});
|
|
8953
|
-
}
|
|
8954
|
-
}, [getFilesFromEvent, onDragEnter, onErrCb, noDragEventsBubbling, acceptAttr, minSize, maxSize, multiple, maxFiles, validator]);
|
|
8955
|
-
var onDragOverCb = React.useCallback(function (event) {
|
|
8956
|
-
event.preventDefault();
|
|
8957
|
-
event.persist();
|
|
8958
|
-
stopPropagation(event);
|
|
8959
|
-
var hasFiles = isEvtWithFiles(event);
|
|
8960
|
-
|
|
8961
|
-
if (hasFiles && event.dataTransfer) {
|
|
8962
|
-
try {
|
|
8963
|
-
event.dataTransfer.dropEffect = "copy";
|
|
8964
|
-
} catch (_unused) {}
|
|
8965
|
-
/* eslint-disable-line no-empty */
|
|
8966
|
-
|
|
8967
|
-
}
|
|
8968
|
-
|
|
8969
|
-
if (hasFiles && onDragOver) {
|
|
8970
|
-
onDragOver(event);
|
|
8971
|
-
}
|
|
8972
|
-
|
|
8973
|
-
return false;
|
|
8974
|
-
}, [onDragOver, noDragEventsBubbling]);
|
|
8975
|
-
var onDragLeaveCb = React.useCallback(function (event) {
|
|
8976
|
-
event.preventDefault();
|
|
8977
|
-
event.persist();
|
|
8978
|
-
stopPropagation(event); // Only deactivate once the dropzone and all children have been left
|
|
8979
|
-
|
|
8980
|
-
var targets = dragTargetsRef.current.filter(function (target) {
|
|
8981
|
-
return rootRef.current && rootRef.current.contains(target);
|
|
8982
|
-
}); // Make sure to remove a target present multiple times only once
|
|
8983
|
-
// (Firefox may fire dragenter/dragleave multiple times on the same element)
|
|
8984
|
-
|
|
8985
|
-
var targetIdx = targets.indexOf(event.target);
|
|
8986
|
-
|
|
8987
|
-
if (targetIdx !== -1) {
|
|
8988
|
-
targets.splice(targetIdx, 1);
|
|
8989
|
-
}
|
|
8990
|
-
|
|
8991
|
-
dragTargetsRef.current = targets;
|
|
8992
|
-
|
|
8993
|
-
if (targets.length > 0) {
|
|
8994
|
-
return;
|
|
8995
|
-
}
|
|
8996
|
-
|
|
8997
|
-
dispatch({
|
|
8998
|
-
type: "setDraggedFiles",
|
|
8999
|
-
isDragActive: false,
|
|
9000
|
-
isDragAccept: false,
|
|
9001
|
-
isDragReject: false
|
|
9002
|
-
});
|
|
9003
|
-
|
|
9004
|
-
if (isEvtWithFiles(event) && onDragLeave) {
|
|
9005
|
-
onDragLeave(event);
|
|
9006
|
-
}
|
|
9007
|
-
}, [rootRef, onDragLeave, noDragEventsBubbling]);
|
|
9008
|
-
var setFiles = React.useCallback(function (files, event) {
|
|
9009
|
-
var acceptedFiles = [];
|
|
9010
|
-
var fileRejections = [];
|
|
9011
|
-
files.forEach(function (file) {
|
|
9012
|
-
var _fileAccepted = fileAccepted(file, acceptAttr),
|
|
9013
|
-
_fileAccepted2 = _slicedToArray(_fileAccepted, 2),
|
|
9014
|
-
accepted = _fileAccepted2[0],
|
|
9015
|
-
acceptError = _fileAccepted2[1];
|
|
9016
|
-
|
|
9017
|
-
var _fileMatchSize = fileMatchSize(file, minSize, maxSize),
|
|
9018
|
-
_fileMatchSize2 = _slicedToArray(_fileMatchSize, 2),
|
|
9019
|
-
sizeMatch = _fileMatchSize2[0],
|
|
9020
|
-
sizeError = _fileMatchSize2[1];
|
|
9021
|
-
|
|
9022
|
-
var customErrors = validator ? validator(file) : null;
|
|
9023
|
-
|
|
9024
|
-
if (accepted && sizeMatch && !customErrors) {
|
|
9025
|
-
acceptedFiles.push(file);
|
|
9026
|
-
} else {
|
|
9027
|
-
var errors = [acceptError, sizeError];
|
|
9028
|
-
|
|
9029
|
-
if (customErrors) {
|
|
9030
|
-
errors = errors.concat(customErrors);
|
|
9031
|
-
}
|
|
9032
|
-
|
|
9033
|
-
fileRejections.push({
|
|
9034
|
-
file: file,
|
|
9035
|
-
errors: errors.filter(function (e) {
|
|
9036
|
-
return e;
|
|
9037
|
-
})
|
|
9038
|
-
});
|
|
9039
|
-
}
|
|
9040
|
-
});
|
|
9041
|
-
|
|
9042
|
-
if (!multiple && acceptedFiles.length > 1 || multiple && maxFiles >= 1 && acceptedFiles.length > maxFiles) {
|
|
9043
|
-
// Reject everything and empty accepted files
|
|
9044
|
-
acceptedFiles.forEach(function (file) {
|
|
9045
|
-
fileRejections.push({
|
|
9046
|
-
file: file,
|
|
9047
|
-
errors: [TOO_MANY_FILES_REJECTION]
|
|
9048
|
-
});
|
|
9049
|
-
});
|
|
9050
|
-
acceptedFiles.splice(0);
|
|
9051
|
-
}
|
|
9052
|
-
|
|
9053
|
-
dispatch({
|
|
9054
|
-
acceptedFiles: acceptedFiles,
|
|
9055
|
-
fileRejections: fileRejections,
|
|
9056
|
-
type: "setFiles"
|
|
9057
|
-
});
|
|
9058
|
-
|
|
9059
|
-
if (onDrop) {
|
|
9060
|
-
onDrop(acceptedFiles, fileRejections, event);
|
|
9061
|
-
}
|
|
9062
|
-
|
|
9063
|
-
if (fileRejections.length > 0 && onDropRejected) {
|
|
9064
|
-
onDropRejected(fileRejections, event);
|
|
9065
|
-
}
|
|
9066
|
-
|
|
9067
|
-
if (acceptedFiles.length > 0 && onDropAccepted) {
|
|
9068
|
-
onDropAccepted(acceptedFiles, event);
|
|
9069
|
-
}
|
|
9070
|
-
}, [dispatch, multiple, acceptAttr, minSize, maxSize, maxFiles, onDrop, onDropAccepted, onDropRejected, validator]);
|
|
9071
|
-
var onDropCb = React.useCallback(function (event) {
|
|
9072
|
-
event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done
|
|
9073
|
-
|
|
9074
|
-
event.persist();
|
|
9075
|
-
stopPropagation(event);
|
|
9076
|
-
dragTargetsRef.current = [];
|
|
9077
|
-
|
|
9078
|
-
if (isEvtWithFiles(event)) {
|
|
9079
|
-
Promise.resolve(getFilesFromEvent(event)).then(function (files) {
|
|
9080
|
-
if (isPropagationStopped(event) && !noDragEventsBubbling) {
|
|
9081
|
-
return;
|
|
9082
|
-
}
|
|
9083
|
-
|
|
9084
|
-
setFiles(files, event);
|
|
9085
|
-
}).catch(function (e) {
|
|
9086
|
-
return onErrCb(e);
|
|
9087
|
-
});
|
|
9088
|
-
}
|
|
9089
|
-
|
|
9090
|
-
dispatch({
|
|
9091
|
-
type: "reset"
|
|
9092
|
-
});
|
|
9093
|
-
}, [getFilesFromEvent, setFiles, onErrCb, noDragEventsBubbling]); // Fn for opening the file dialog programmatically
|
|
9094
|
-
|
|
9095
|
-
var openFileDialog = React.useCallback(function () {
|
|
9096
|
-
// No point to use FS access APIs if context is not secure
|
|
9097
|
-
// https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts#feature_detection
|
|
9098
|
-
if (fsAccessApiWorksRef.current) {
|
|
9099
|
-
dispatch({
|
|
9100
|
-
type: "openDialog"
|
|
9101
|
-
});
|
|
9102
|
-
onFileDialogOpenCb(); // https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker
|
|
9103
|
-
|
|
9104
|
-
var opts = {
|
|
9105
|
-
multiple: multiple,
|
|
9106
|
-
types: pickerTypes
|
|
9107
|
-
};
|
|
9108
|
-
window.showOpenFilePicker(opts).then(function (handles) {
|
|
9109
|
-
return getFilesFromEvent(handles);
|
|
9110
|
-
}).then(function (files) {
|
|
9111
|
-
setFiles(files, null);
|
|
9112
|
-
dispatch({
|
|
9113
|
-
type: "closeDialog"
|
|
9114
|
-
});
|
|
9115
|
-
}).catch(function (e) {
|
|
9116
|
-
// AbortError means the user canceled
|
|
9117
|
-
if (isAbort(e)) {
|
|
9118
|
-
onFileDialogCancelCb(e);
|
|
9119
|
-
dispatch({
|
|
9120
|
-
type: "closeDialog"
|
|
9121
|
-
});
|
|
9122
|
-
} else if (isSecurityError(e)) {
|
|
9123
|
-
fsAccessApiWorksRef.current = false; // CORS, so cannot use this API
|
|
9124
|
-
// Try using the input
|
|
9125
|
-
|
|
9126
|
-
if (inputRef.current) {
|
|
9127
|
-
inputRef.current.value = null;
|
|
9128
|
-
inputRef.current.click();
|
|
9129
|
-
} else {
|
|
9130
|
-
onErrCb(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no <input> was provided."));
|
|
9131
|
-
}
|
|
9132
|
-
} else {
|
|
9133
|
-
onErrCb(e);
|
|
9134
|
-
}
|
|
9135
|
-
});
|
|
9136
|
-
return;
|
|
9137
|
-
}
|
|
9138
|
-
|
|
9139
|
-
if (inputRef.current) {
|
|
9140
|
-
dispatch({
|
|
9141
|
-
type: "openDialog"
|
|
9142
|
-
});
|
|
9143
|
-
onFileDialogOpenCb();
|
|
9144
|
-
inputRef.current.value = null;
|
|
9145
|
-
inputRef.current.click();
|
|
9146
|
-
}
|
|
9147
|
-
}, [dispatch, onFileDialogOpenCb, onFileDialogCancelCb, useFsAccessApi, setFiles, onErrCb, pickerTypes, multiple]); // Cb to open the file dialog when SPACE/ENTER occurs on the dropzone
|
|
9148
|
-
|
|
9149
|
-
var onKeyDownCb = React.useCallback(function (event) {
|
|
9150
|
-
// Ignore keyboard events bubbling up the DOM tree
|
|
9151
|
-
if (!rootRef.current || !rootRef.current.isEqualNode(event.target)) {
|
|
9152
|
-
return;
|
|
9153
|
-
}
|
|
9154
|
-
|
|
9155
|
-
if (event.key === " " || event.key === "Enter" || event.keyCode === 32 || event.keyCode === 13) {
|
|
9156
|
-
event.preventDefault();
|
|
9157
|
-
openFileDialog();
|
|
9158
|
-
}
|
|
9159
|
-
}, [rootRef, openFileDialog]); // Update focus state for the dropzone
|
|
9160
|
-
|
|
9161
|
-
var onFocusCb = React.useCallback(function () {
|
|
9162
|
-
dispatch({
|
|
9163
|
-
type: "focus"
|
|
9164
|
-
});
|
|
9165
|
-
}, []);
|
|
9166
|
-
var onBlurCb = React.useCallback(function () {
|
|
9167
|
-
dispatch({
|
|
9168
|
-
type: "blur"
|
|
9169
|
-
});
|
|
9170
|
-
}, []); // Cb to open the file dialog when click occurs on the dropzone
|
|
9171
|
-
|
|
9172
|
-
var onClickCb = React.useCallback(function () {
|
|
9173
|
-
if (noClick) {
|
|
9174
|
-
return;
|
|
9175
|
-
} // In IE11/Edge the file-browser dialog is blocking, therefore, use setTimeout()
|
|
9176
|
-
// to ensure React can handle state changes
|
|
9177
|
-
// See: https://github.com/react-dropzone/react-dropzone/issues/450
|
|
9178
|
-
|
|
9179
|
-
|
|
9180
|
-
if (isIeOrEdge()) {
|
|
9181
|
-
setTimeout(openFileDialog, 0);
|
|
9182
|
-
} else {
|
|
9183
|
-
openFileDialog();
|
|
9184
|
-
}
|
|
9185
|
-
}, [noClick, openFileDialog]);
|
|
9186
|
-
|
|
9187
|
-
var composeHandler = function composeHandler(fn) {
|
|
9188
|
-
return disabled ? null : fn;
|
|
9189
|
-
};
|
|
9190
|
-
|
|
9191
|
-
var composeKeyboardHandler = function composeKeyboardHandler(fn) {
|
|
9192
|
-
return noKeyboard ? null : composeHandler(fn);
|
|
9193
|
-
};
|
|
9194
|
-
|
|
9195
|
-
var composeDragHandler = function composeDragHandler(fn) {
|
|
9196
|
-
return noDrag ? null : composeHandler(fn);
|
|
9197
|
-
};
|
|
9198
|
-
|
|
9199
|
-
var stopPropagation = function stopPropagation(event) {
|
|
9200
|
-
if (noDragEventsBubbling) {
|
|
9201
|
-
event.stopPropagation();
|
|
9202
|
-
}
|
|
9203
|
-
};
|
|
9204
|
-
|
|
9205
|
-
var getRootProps = React.useMemo(function () {
|
|
9206
|
-
return function () {
|
|
9207
|
-
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
9208
|
-
_ref2$refKey = _ref2.refKey,
|
|
9209
|
-
refKey = _ref2$refKey === void 0 ? "ref" : _ref2$refKey,
|
|
9210
|
-
role = _ref2.role,
|
|
9211
|
-
onKeyDown = _ref2.onKeyDown,
|
|
9212
|
-
onFocus = _ref2.onFocus,
|
|
9213
|
-
onBlur = _ref2.onBlur,
|
|
9214
|
-
onClick = _ref2.onClick,
|
|
9215
|
-
onDragEnter = _ref2.onDragEnter,
|
|
9216
|
-
onDragOver = _ref2.onDragOver,
|
|
9217
|
-
onDragLeave = _ref2.onDragLeave,
|
|
9218
|
-
onDrop = _ref2.onDrop,
|
|
9219
|
-
rest = _objectWithoutProperties(_ref2, _excluded3$1);
|
|
9220
|
-
|
|
9221
|
-
return _objectSpread$8(_objectSpread$8(_defineProperty({
|
|
9222
|
-
onKeyDown: composeKeyboardHandler(composeEventHandlers(onKeyDown, onKeyDownCb)),
|
|
9223
|
-
onFocus: composeKeyboardHandler(composeEventHandlers(onFocus, onFocusCb)),
|
|
9224
|
-
onBlur: composeKeyboardHandler(composeEventHandlers(onBlur, onBlurCb)),
|
|
9225
|
-
onClick: composeHandler(composeEventHandlers(onClick, onClickCb)),
|
|
9226
|
-
onDragEnter: composeDragHandler(composeEventHandlers(onDragEnter, onDragEnterCb)),
|
|
9227
|
-
onDragOver: composeDragHandler(composeEventHandlers(onDragOver, onDragOverCb)),
|
|
9228
|
-
onDragLeave: composeDragHandler(composeEventHandlers(onDragLeave, onDragLeaveCb)),
|
|
9229
|
-
onDrop: composeDragHandler(composeEventHandlers(onDrop, onDropCb)),
|
|
9230
|
-
role: typeof role === "string" && role !== "" ? role : "presentation"
|
|
9231
|
-
}, refKey, rootRef), !disabled && !noKeyboard ? {
|
|
9232
|
-
tabIndex: 0
|
|
9233
|
-
} : {}), rest);
|
|
9234
|
-
};
|
|
9235
|
-
}, [rootRef, onKeyDownCb, onFocusCb, onBlurCb, onClickCb, onDragEnterCb, onDragOverCb, onDragLeaveCb, onDropCb, noKeyboard, noDrag, disabled]);
|
|
9236
|
-
var onInputElementClick = React.useCallback(function (event) {
|
|
9237
|
-
event.stopPropagation();
|
|
9238
|
-
}, []);
|
|
9239
|
-
var getInputProps = React.useMemo(function () {
|
|
9240
|
-
return function () {
|
|
9241
|
-
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
9242
|
-
_ref3$refKey = _ref3.refKey,
|
|
9243
|
-
refKey = _ref3$refKey === void 0 ? "ref" : _ref3$refKey,
|
|
9244
|
-
onChange = _ref3.onChange,
|
|
9245
|
-
onClick = _ref3.onClick,
|
|
9246
|
-
rest = _objectWithoutProperties(_ref3, _excluded4);
|
|
9247
|
-
|
|
9248
|
-
var inputProps = _defineProperty({
|
|
9249
|
-
accept: acceptAttr,
|
|
9250
|
-
multiple: multiple,
|
|
9251
|
-
type: "file",
|
|
9252
|
-
style: {
|
|
9253
|
-
display: "none"
|
|
9254
|
-
},
|
|
9255
|
-
onChange: composeHandler(composeEventHandlers(onChange, onDropCb)),
|
|
9256
|
-
onClick: composeHandler(composeEventHandlers(onClick, onInputElementClick)),
|
|
9257
|
-
tabIndex: -1
|
|
9258
|
-
}, refKey, inputRef);
|
|
9259
|
-
|
|
9260
|
-
return _objectSpread$8(_objectSpread$8({}, inputProps), rest);
|
|
9261
|
-
};
|
|
9262
|
-
}, [inputRef, accept, multiple, onDropCb, disabled]);
|
|
9263
|
-
return _objectSpread$8(_objectSpread$8({}, state), {}, {
|
|
9264
|
-
isFocused: isFocused && !disabled,
|
|
9265
|
-
getRootProps: getRootProps,
|
|
9266
|
-
getInputProps: getInputProps,
|
|
9267
|
-
rootRef: rootRef,
|
|
9268
|
-
inputRef: inputRef,
|
|
9269
|
-
open: composeHandler(openFileDialog)
|
|
9270
|
-
});
|
|
9271
|
-
}
|
|
9272
|
-
/**
|
|
9273
|
-
* @param {DropzoneState} state
|
|
9274
|
-
* @param {{type: string} & DropzoneState} action
|
|
9275
|
-
* @returns {DropzoneState}
|
|
9276
|
-
*/
|
|
9277
|
-
|
|
9278
|
-
function reducer(state, action) {
|
|
9279
|
-
/* istanbul ignore next */
|
|
9280
|
-
switch (action.type) {
|
|
9281
|
-
case "focus":
|
|
9282
|
-
return _objectSpread$8(_objectSpread$8({}, state), {}, {
|
|
9283
|
-
isFocused: true
|
|
9284
|
-
});
|
|
9285
|
-
|
|
9286
|
-
case "blur":
|
|
9287
|
-
return _objectSpread$8(_objectSpread$8({}, state), {}, {
|
|
9288
|
-
isFocused: false
|
|
9289
|
-
});
|
|
9290
|
-
|
|
9291
|
-
case "openDialog":
|
|
9292
|
-
return _objectSpread$8(_objectSpread$8({}, initialState), {}, {
|
|
9293
|
-
isFileDialogActive: true
|
|
9294
|
-
});
|
|
9295
|
-
|
|
9296
|
-
case "closeDialog":
|
|
9297
|
-
return _objectSpread$8(_objectSpread$8({}, state), {}, {
|
|
9298
|
-
isFileDialogActive: false
|
|
9299
|
-
});
|
|
9300
|
-
|
|
9301
|
-
case "setDraggedFiles":
|
|
9302
|
-
return _objectSpread$8(_objectSpread$8({}, state), {}, {
|
|
9303
|
-
isDragActive: action.isDragActive,
|
|
9304
|
-
isDragAccept: action.isDragAccept,
|
|
9305
|
-
isDragReject: action.isDragReject
|
|
9306
|
-
});
|
|
9307
|
-
|
|
9308
|
-
case "setFiles":
|
|
9309
|
-
return _objectSpread$8(_objectSpread$8({}, state), {}, {
|
|
9310
|
-
acceptedFiles: action.acceptedFiles,
|
|
9311
|
-
fileRejections: action.fileRejections
|
|
9312
|
-
});
|
|
9313
|
-
|
|
9314
|
-
case "reset":
|
|
9315
|
-
return _objectSpread$8({}, initialState);
|
|
9316
|
-
|
|
9317
|
-
default:
|
|
9318
|
-
return state;
|
|
9319
|
-
}
|
|
9320
|
-
}
|
|
9321
|
-
|
|
9322
|
-
function noop() {}
|
|
9323
|
-
|
|
9324
|
-
const Uploader = _ref => {
|
|
9325
|
-
let sampleFileUrl = _ref.sampleFileUrl,
|
|
9326
|
-
csvColumns = _ref.csvColumns;
|
|
9327
|
-
return /*#__PURE__*/React__default["default"].createElement(Dropzone$1, {
|
|
9328
|
-
onDrop: noop$2
|
|
9329
|
-
}, _ref2 => {
|
|
9330
|
-
let getRootProps = _ref2.getRootProps,
|
|
9331
|
-
getInputProps = _ref2.getInputProps;
|
|
9332
|
-
return /*#__PURE__*/React__default["default"].createElement("div", _extends({}, getRootProps(), {
|
|
9333
|
-
className: "ntm-invitations__dnd"
|
|
9334
|
-
}), /*#__PURE__*/React__default["default"].createElement("input", getInputProps()), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
9335
|
-
style: "h3"
|
|
9336
|
-
}, instance.t("helpers.dropFilesHere")), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
9337
|
-
style: "body2"
|
|
9338
|
-
}, instance.t("helpers.uploadInstruction1")), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
9339
|
-
style: "body2"
|
|
9340
|
-
}, /*#__PURE__*/React__default["default"].createElement(Trans, {
|
|
9341
|
-
i18nKey: "helpers.uploadInstruction2",
|
|
9342
|
-
values: {
|
|
9343
|
-
what: csvColumns.join(", ")
|
|
9344
|
-
}
|
|
9345
|
-
})), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
9346
|
-
style: "body2"
|
|
9347
|
-
}, instance.t("helpers.uploadInstruction3")), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
9348
|
-
style: "link",
|
|
9349
|
-
type: "submit",
|
|
9350
|
-
icon: neetoIcons.Download,
|
|
9351
|
-
iconPosition: "left",
|
|
9352
|
-
label: instance.t("common.download_", {
|
|
9353
|
-
what: "sample.csv"
|
|
9354
|
-
}),
|
|
9355
|
-
onClick: event => {
|
|
9356
|
-
event.stopPropagation();
|
|
9357
|
-
window.open(sampleFileUrl);
|
|
9358
|
-
}
|
|
9359
|
-
}));
|
|
9360
|
-
});
|
|
9361
|
-
};
|
|
9362
|
-
|
|
9363
|
-
/* eslint-disable @bigbinary/neeto/no-dangling-constants */
|
|
9364
|
-
const DATETIME_OPTIONS = {
|
|
9365
|
-
year: "numeric",
|
|
9366
|
-
month: "short",
|
|
9367
|
-
day: "numeric",
|
|
9368
|
-
hour: "numeric",
|
|
9369
|
-
minute: "numeric"
|
|
9370
|
-
};
|
|
9371
|
-
const COLUMN_DATA = [{
|
|
9372
|
-
title: instance.t("helpers.files"),
|
|
9373
|
-
dataIndex: "filename",
|
|
9374
|
-
key: "filename",
|
|
9375
|
-
render: (filename, row) => /*#__PURE__*/React__default["default"].createElement("a", {
|
|
9376
|
-
href: row.download_url,
|
|
9377
|
-
download: true,
|
|
9378
|
-
className: "ntm-invitations__table-filename"
|
|
9379
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoIcons.File, null), filename)
|
|
9380
|
-
}, {
|
|
9381
|
-
title: instance.t("helpers.status"),
|
|
9382
|
-
dataIndex: "status",
|
|
9383
|
-
key: "status",
|
|
9384
|
-
render: status => /*#__PURE__*/React__default["default"].createElement("p", {
|
|
9385
|
-
className: classnames__default["default"]("ntm-invitations__table-status", {
|
|
9386
|
-
"neeto-ui-text-error-500": status === "failed",
|
|
9387
|
-
"neeto-ui-text-success-500": status === "processed"
|
|
9388
|
-
})
|
|
9389
|
-
}, status)
|
|
9390
|
-
}, {
|
|
9391
|
-
title: instance.t("helpers.noOfRows"),
|
|
9392
|
-
dataIndex: "rows_count",
|
|
9393
|
-
key: "rows_count",
|
|
9394
|
-
render: rows_count => rows_count !== null && rows_count !== void 0 ? rows_count : "-",
|
|
9395
|
-
width: 120,
|
|
9396
|
-
align: "center"
|
|
9397
|
-
}, {
|
|
9398
|
-
title: instance.t("helpers.uploaded"),
|
|
9399
|
-
dataIndex: "uploaded_by",
|
|
9400
|
-
key: "uploaded_by",
|
|
9401
|
-
render: (uploaded_by, row) => `${uploaded_by} at ${new Date(row.created_at).toLocaleString("en-US", DATETIME_OPTIONS)}`
|
|
9402
|
-
}];
|
|
9403
|
-
const SAMPLE_ROW_DATA = [{
|
|
9404
|
-
key: "1",
|
|
9405
|
-
filename: "sample-1.csv",
|
|
9406
|
-
status: "processed",
|
|
9407
|
-
rows_count: "10",
|
|
9408
|
-
created_at: new Date(),
|
|
9409
|
-
download_url: "https://example.com/sample.csv",
|
|
9410
|
-
uploaded_by: "Oliver Smith"
|
|
9411
|
-
}, {
|
|
9412
|
-
key: "2",
|
|
9413
|
-
filename: "sample-2.csv",
|
|
9414
|
-
status: "failed",
|
|
9415
|
-
rows_count: "20",
|
|
9416
|
-
created_at: new Date(),
|
|
9417
|
-
download_url: "https://example.com/sample-2.csv",
|
|
9418
|
-
uploaded_by: "Sam Smith"
|
|
9419
|
-
}, {
|
|
9420
|
-
key: "3",
|
|
9421
|
-
filename: "sample-3.csv",
|
|
9422
|
-
status: "failed",
|
|
9423
|
-
rows_count: "30",
|
|
9424
|
-
created_at: new Date(),
|
|
9425
|
-
download_url: "https://example.com/sample-3.csv",
|
|
9426
|
-
uploaded_by: "Eve Smith"
|
|
9427
|
-
}, {
|
|
9428
|
-
key: "4",
|
|
9429
|
-
filename: "sample-4.csv",
|
|
9430
|
-
status: "processed",
|
|
9431
|
-
rows_count: "40",
|
|
9432
|
-
created_at: new Date(),
|
|
9433
|
-
download_url: "https://example.com/sample-4.csv",
|
|
9434
|
-
uploaded_by: "Anna Smith"
|
|
9435
|
-
}, {
|
|
9436
|
-
key: "5",
|
|
9437
|
-
filename: "sample-5.csv",
|
|
9438
|
-
status: "processed",
|
|
9439
|
-
rows_count: "50",
|
|
9440
|
-
created_at: new Date(),
|
|
9441
|
-
download_url: "https://example.com/sample-5.csv",
|
|
9442
|
-
uploaded_by: "Will Smith"
|
|
9443
|
-
}];
|
|
9444
|
-
|
|
9445
|
-
const Uploads = () => /*#__PURE__*/React__default["default"].createElement("div", {
|
|
9446
|
-
className: "ntm-invitations__table"
|
|
9447
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Table, {
|
|
9448
|
-
fixedHeight: true,
|
|
9449
|
-
rowData: SAMPLE_ROW_DATA,
|
|
9450
|
-
columnData: COLUMN_DATA,
|
|
9451
|
-
rowSelection: false
|
|
9452
|
-
}));
|
|
9453
|
-
|
|
9454
|
-
const Csv = _ref => {
|
|
9455
|
-
let label = _ref.label,
|
|
9456
|
-
sampleFileUrl = _ref.sampleFileUrl,
|
|
9457
|
-
csvColumns = _ref.csvColumns,
|
|
9458
|
-
setIsCSVInviteSelected = _ref.setIsCSVInviteSelected;
|
|
9459
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
9460
|
-
size: "small",
|
|
9461
|
-
style: "text",
|
|
9462
|
-
icon: neetoIcons.LeftArrow,
|
|
9463
|
-
onClick: () => setIsCSVInviteSelected(false)
|
|
9464
|
-
})), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Body, {
|
|
9465
|
-
className: "ntm-invitations__body"
|
|
9466
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
9467
|
-
style: "h4"
|
|
9468
|
-
}, instance.t("common.upload_", {
|
|
9469
|
-
what: label
|
|
9470
|
-
})), /*#__PURE__*/React__default["default"].createElement(Uploader, {
|
|
9471
|
-
sampleFileUrl: sampleFileUrl,
|
|
9472
|
-
csvColumns: csvColumns
|
|
9473
|
-
})), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Footer, {
|
|
9474
|
-
className: "ntm-invitations__footer"
|
|
9475
|
-
}, /*#__PURE__*/React__default["default"].createElement(Uploads, null)));
|
|
9476
|
-
};
|
|
9477
|
-
|
|
9478
|
-
/* eslint-disable @bigbinary/neeto/no-dangling-constants */
|
|
9479
|
-
const BASE_URL = "team_members";
|
|
9480
|
-
const INVITATIONS_URL = "neeto_invitations";
|
|
9481
|
-
|
|
9482
|
-
const fetch$3 = params => axios__default["default"].get(`${INVITATIONS_URL}/invite_links`, {
|
|
9483
|
-
params
|
|
9484
|
-
});
|
|
9485
|
-
const create$2 = payload => axios__default["default"].post(`${INVITATIONS_URL}/invite_links`, payload);
|
|
9486
|
-
const destroy$1 = (id, payload) => axios__default["default"].delete(`${INVITATIONS_URL}/invite_links/${id}`, payload);
|
|
9487
|
-
const inviteLinksApi = {
|
|
9488
|
-
fetch: fetch$3,
|
|
9489
|
-
create: create$2,
|
|
9490
|
-
destroy: destroy$1
|
|
9491
|
-
};
|
|
9492
|
-
|
|
9493
|
-
const DEFAULT_STALE_TIME = 300000; // 5 minutes
|
|
9494
|
-
const INVITATIONS_STALE_TIME = 3600000; //1 hour
|
|
9495
|
-
|
|
9496
|
-
const QUERY_KEYS = {
|
|
9497
|
-
TEAMS: "neeto-team-members-teams",
|
|
9498
|
-
ROLES: "neeto-team-members-roles",
|
|
9499
|
-
PERMISSIONS: "neeto-team-members-permissions",
|
|
9500
|
-
INVITE_LINKS: "neeto-team-members-invite-links"
|
|
9501
|
-
};
|
|
9502
|
-
|
|
9503
|
-
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; }
|
|
9504
|
-
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$2(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; }
|
|
9505
|
-
const useFetchInviteLink = function () {
|
|
9506
|
-
let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
9507
|
-
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
9508
|
-
return useQuery([QUERY_KEYS.INVITE_LINKS, params], () => inviteLinksApi.fetch(params), _objectSpread$7({
|
|
9509
|
-
staleTime: INVITATIONS_STALE_TIME,
|
|
9510
|
-
select: ramda.prop("inviteLink"),
|
|
9511
|
-
retry: false
|
|
9512
|
-
}, options));
|
|
9513
|
-
};
|
|
9514
|
-
const useCreateInviteLink = () => useMutation(inviteLinksApi.create, {
|
|
9515
|
-
onSuccess: _ref => {
|
|
9516
|
-
let inviteLink = _ref.inviteLink;
|
|
9517
|
-
const resourceType = inviteLink.resourceType,
|
|
9518
|
-
resourceId = inviteLink.resourceId;
|
|
9519
|
-
queryClient.setQueryData([QUERY_KEYS.INVITE_LINKS, {
|
|
9520
|
-
resource_type: resourceType,
|
|
9521
|
-
resource_id: resourceId
|
|
9522
|
-
}], {
|
|
9523
|
-
inviteLink
|
|
9524
|
-
});
|
|
9525
|
-
}
|
|
9526
|
-
});
|
|
9527
|
-
const useDestroyInviteLink = () => useMutation(inviteLinksApi.destroy, {
|
|
9528
|
-
onSuccess: _ref2 => {
|
|
9529
|
-
let inviteLink = _ref2.inviteLink;
|
|
9530
|
-
const resourceType = inviteLink.resourceType,
|
|
9531
|
-
resourceId = inviteLink.resourceId;
|
|
9532
|
-
queryClient.invalidateQueries([QUERY_KEYS.INVITE_LINKS, {
|
|
9533
|
-
resource_type: resourceType,
|
|
9534
|
-
resource_id: resourceId
|
|
9535
|
-
}]);
|
|
9536
|
-
}
|
|
9537
|
-
});
|
|
9538
|
-
|
|
9539
|
-
var dist$1 = {exports: {}};
|
|
9540
|
-
|
|
9541
|
-
(function (module, exports) {
|
|
9542
|
-
!function(e,t){module.exports=t(React__default["default"]);}("undefined"!=typeof self?self:commonjsGlobal,function(e){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n});},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0});},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=3)}([function(t,r){t.exports=e;},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.Validate=t.Time=void 0;var n=u(r(5)),o=u(r(6));function u(e){return e&&e.__esModule?e:{default:e}}t.Time=n.default,t.Validate=o.default;},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.useInterval=void 0;var n=function(e){return e&&e.__esModule?e:{default:e}}(r(7));t.useInterval=n.default;},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.useTime=t.useStopwatch=t.useTimer=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n]);}return e};t.default=function(e){if((0, o.useEffect)(function(){console.warn("react-timer-hook: default export useTimer is deprecated, use named exports { useTimer, useStopwatch, useTime } instead");},[]),e.expiryTimestamp){var t=(0, u.default)(e);return n({},t,{startTimer:t.start,stopTimer:t.pause,resetTimer:function(){}})}var r=(0, i.default)(e);return n({},r,{startTimer:r.start,stopTimer:r.pause,resetTimer:r.reset})};var o=r(0),u=c(r(4)),i=c(r(8)),a=c(r(9));function c(e){return e&&e.__esModule?e:{default:e}}t.useTimer=u.default,t.useStopwatch=i.default,t.useTime=a.default;},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n]);}return e},o=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,o=!1,u=void 0;try{for(var i,a=e[Symbol.iterator]();!(n=(i=a.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(e){o=!0,u=e;}finally{try{!n&&a.return&&a.return();}finally{if(o)throw u}}return r}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.default=function(e){var t=e.expiryTimestamp,r=e.onExpire,s=e.autoStart,l=void 0===s||s,d=(0, u.useState)(t),m=o(d,2),v=m[0],p=m[1],y=(0, u.useState)(i.Time.getSecondsFromExpiry(v)),T=o(y,2),g=T[0],b=T[1],h=(0, u.useState)(l),S=o(h,2),w=S[0],O=S[1],j=(0, u.useState)(l),x=o(j,2),_=x[0],M=x[1],P=(0, u.useState)(f(v)),F=o(P,2),E=F[0],k=F[1];function I(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];k(f(e)),M(t),O(t),p(e),b(i.Time.getSecondsFromExpiry(e));}function D(){var e=new Date;e.setMilliseconds(e.getMilliseconds()+1e3*g),I(e);}return (0, a.useInterval)(function(){E!==c&&k(c);var e=i.Time.getSecondsFromExpiry(v);b(e),e<=0&&(i.Validate.onExpire(r)&&r(),O(!1),k(null));},w?E:null),n({},i.Time.getTimeFromSeconds(g),{start:function(){_?(b(i.Time.getSecondsFromExpiry(v)),O(!0)):D();},pause:function(){O(!1);},resume:D,restart:I,isRunning:w})};var u=r(0),i=r(1),a=r(2),c=1e3;function f(e){if(!i.Validate.expiryTimestamp(e))return null;var t=i.Time.getSecondsFromExpiry(e),r=Math.floor(1e3*(t-Math.floor(t)));return r>0?r:c}},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n);}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();var o=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);}return n(e,null,[{key:"getTimeFromSeconds",value:function(e){var t=Math.ceil(e),r=Math.floor(t/86400),n=Math.floor(t%86400/3600),o=Math.floor(t%3600/60);return {seconds:Math.floor(t%60),minutes:o,hours:n,days:r}}},{key:"getSecondsFromExpiry",value:function(e,t){var r=e-(new Date).getTime();if(r>0){var n=r/1e3;return t?Math.round(n):n}return 0}},{key:"getSecondsFromPrevTime",value:function(e,t){var r=(new Date).getTime()-e;if(r>0){var n=r/1e3;return t?Math.round(n):n}return 0}},{key:"getSecondsFromTimeNow",value:function(){var e=new Date;return e.getTime()/1e3-60*e.getTimezoneOffset()}},{key:"getFormattedTimeFromSeconds",value:function(t,r){var n=e.getTimeFromSeconds(t),o=n.seconds,u=n.minutes,i=n.hours,a="",c=i;return "12-hour"===r&&(a=i>=12?"pm":"am",c=i%12),{seconds:o,minutes:u,hours:c,ampm:a}}}]),e}();t.default=o;},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n);}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();var o=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);}return n(e,null,[{key:"expiryTimestamp",value:function(e){var t=new Date(e).getTime()>0;return t||console.warn("react-timer-hook: { useTimer } Invalid expiryTimestamp settings",e),t}},{key:"onExpire",value:function(e){var t=e&&"function"==typeof e;return e&&!t&&console.warn("react-timer-hook: { useTimer } Invalid onExpire settings function",e),t}}]),e}();t.default=o;},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var r=(0, n.useRef)();(0, n.useEffect)(function(){r.current=e;}),(0, n.useEffect)(function(){if(!t)return function(){};var e=setInterval(function(){r.current&&r.current();},t);return function(){return clearInterval(e)}},[t]);};var n=r(0);},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n]);}return e},o=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,o=!1,u=void 0;try{for(var i,a=e[Symbol.iterator]();!(n=(i=a.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(e){o=!0,u=e;}finally{try{!n&&a.return&&a.return();}finally{if(o)throw u}}return r}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.default=function(e){var t=e.autoStart,r=e.offsetTimestamp,c=(0, u.useState)(i.Time.getSecondsFromExpiry(r,!0)||0),f=o(c,2),s=f[0],l=f[1],d=(0, u.useState)(new Date),m=o(d,2),v=m[0],p=m[1],y=(0, u.useState)(s+i.Time.getSecondsFromPrevTime(v||0,!0)),T=o(y,2),g=T[0],b=T[1],h=(0, u.useState)(t),S=o(h,2),w=S[0],O=S[1];return (0, a.useInterval)(function(){b(s+i.Time.getSecondsFromPrevTime(v,!0));},w?1e3:null),n({},i.Time.getTimeFromSeconds(g),{start:function(){var e=new Date;p(e),O(!0),b(s+i.Time.getSecondsFromPrevTime(e,!0));},pause:function(){l(g),O(!1);},reset:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=i.Time.getSecondsFromExpiry(e,!0)||0,n=new Date;p(n),l(r),O(t),b(r+i.Time.getSecondsFromPrevTime(n,!0));},isRunning:w})};var u=r(0),i=r(1),a=r(2);},function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n]);}return e},o=function(){return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,o=!1,u=void 0;try{for(var i,a=e[Symbol.iterator]();!(n=(i=a.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(e){o=!0,u=e;}finally{try{!n&&a.return&&a.return();}finally{if(o)throw u}}return r}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();t.default=function(e){var t=e.format,r=(0, u.useState)(i.Time.getSecondsFromTimeNow()),c=o(r,2),f=c[0],s=c[1];return (0, a.useInterval)(function(){s(i.Time.getSecondsFromTimeNow());},1e3),n({},i.Time.getFormattedTimeFromSeconds(f,t))};var u=r(0),i=r(1),a=r(2);}])});
|
|
9543
|
-
} (dist$1));
|
|
9544
|
-
|
|
9545
|
-
const renderTime = time => {
|
|
9546
|
-
if (time.days) return `${time.days}d ${time.hours}h`;else if (time.hours) return `${time.hours}h ${time.minutes}m`;
|
|
9547
|
-
return `${time.minutes}m ${time.seconds}s`;
|
|
9548
|
-
};
|
|
9549
|
-
|
|
9550
|
-
const Timer = _ref => {
|
|
9551
|
-
let expiresAt = _ref.expiresAt;
|
|
9552
|
-
const _useTimer = dist$1.exports.useTimer({
|
|
9553
|
-
expiryTimestamp: new Date(expiresAt)
|
|
9554
|
-
}),
|
|
9555
|
-
seconds = _useTimer.seconds,
|
|
9556
|
-
minutes = _useTimer.minutes,
|
|
9557
|
-
hours = _useTimer.hours,
|
|
9558
|
-
days = _useTimer.days;
|
|
9559
|
-
return /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
9560
|
-
style: "body3"
|
|
9561
|
-
}, /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, instance.t("helpers.expiresIn"), renderTime({
|
|
9562
|
-
days,
|
|
9563
|
-
hours,
|
|
9564
|
-
minutes,
|
|
9565
|
-
seconds
|
|
9566
|
-
})));
|
|
9567
|
-
};
|
|
9568
|
-
|
|
9569
|
-
const InviteLink = _ref => {
|
|
9570
|
-
let resourceType = _ref.resourceType,
|
|
9571
|
-
resourceId = _ref.resourceId;
|
|
9572
|
-
const _useFetchInviteLink = useFetchInviteLink({
|
|
9573
|
-
resource_type: resourceType,
|
|
9574
|
-
resource_id: resourceId
|
|
9575
|
-
}),
|
|
9576
|
-
inviteLink = _useFetchInviteLink.data,
|
|
9577
|
-
isLoading = _useFetchInviteLink.isLoading;
|
|
9578
|
-
const _useCreateInviteLink = useCreateInviteLink(),
|
|
9579
|
-
createInviteLink = _useCreateInviteLink.mutate,
|
|
9580
|
-
isCreating = _useCreateInviteLink.isLoading;
|
|
9581
|
-
const _useDestroyInviteLink = useDestroyInviteLink(),
|
|
9582
|
-
deleteInviteLink = _useDestroyInviteLink.mutate,
|
|
9583
|
-
isDeleting = _useDestroyInviteLink.isLoading;
|
|
9584
|
-
const showInviteLink = inviteLink && new Date(inviteLink.expiresAt) > new Date();
|
|
9585
|
-
const handleCopyInviteLink = () => {
|
|
9586
|
-
navigator.clipboard.writeText(`${window.location.host}/neeto_invitations/${inviteLink.id}`);
|
|
9587
|
-
neetoui.Toastr.info(instance.t("helpers.copiedToClipboard"));
|
|
9588
|
-
};
|
|
9589
|
-
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
9590
|
-
className: "ntm-invitations__invite-link"
|
|
9591
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
9592
|
-
className: "ntm-invitations__invite-link-instructions"
|
|
9593
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
9594
|
-
style: "h4"
|
|
9595
|
-
}, instance.t("helpers.getInviteLink")), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
9596
|
-
style: "body2"
|
|
9597
|
-
}, instance.t("helpers.inviteLinkInstruction"))), showInviteLink ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
9598
|
-
className: "ntm-invitations__invite-link-btns"
|
|
9599
|
-
}, /*#__PURE__*/React__default["default"].createElement(Timer, {
|
|
9600
|
-
expiresAt: inviteLink.expiresAt
|
|
9601
|
-
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
9602
|
-
style: "danger-text",
|
|
9603
|
-
label: instance.t("common.delete"),
|
|
9604
|
-
loading: isDeleting,
|
|
9605
|
-
disabled: isDeleting,
|
|
9606
|
-
onClick: () => deleteInviteLink(inviteLink.id)
|
|
9607
|
-
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
9608
|
-
style: "primary",
|
|
9609
|
-
label: instance.t("buttons.copyLink"),
|
|
9610
|
-
onClick: handleCopyInviteLink
|
|
9611
|
-
})) : /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
9612
|
-
style: "secondary",
|
|
9613
|
-
loading: isLoading || isCreating,
|
|
9614
|
-
disabled: isLoading || isCreating,
|
|
9615
|
-
label: instance.t("buttons.createLink"),
|
|
9616
|
-
onClick: () => createInviteLink({
|
|
9617
|
-
inviteLink: {
|
|
9618
|
-
resourceType,
|
|
9619
|
-
resourceId
|
|
9620
|
-
}
|
|
9621
|
-
})
|
|
9622
|
-
}));
|
|
9623
|
-
};
|
|
9624
|
-
|
|
9625
|
-
const Normal = _ref => {
|
|
9626
|
-
let label = _ref.label,
|
|
9627
|
-
children = _ref.children,
|
|
9628
|
-
submitButtonProps = _ref.submitButtonProps,
|
|
9629
|
-
setIsCSVInviteSelected = _ref.setIsCSVInviteSelected,
|
|
9630
|
-
isCSVInviteEnabled = _ref.isCSVInviteEnabled,
|
|
9631
|
-
isInviteLinkEnabled = _ref.isInviteLinkEnabled,
|
|
9632
|
-
_ref$inviteLinkProps = _ref.inviteLinkProps,
|
|
9633
|
-
inviteLinkProps = _ref$inviteLinkProps === void 0 ? {} : _ref$inviteLinkProps;
|
|
9634
|
-
const _useFormikContext = formik.useFormikContext(),
|
|
9635
|
-
isSubmitting = _useFormikContext.isSubmitting,
|
|
9636
|
-
dirty = _useFormikContext.dirty;
|
|
9637
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Header, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
9638
|
-
className: "ntm-invitations__header"
|
|
9639
|
-
})), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Body, {
|
|
9640
|
-
className: "ntm-invitations__body"
|
|
9641
|
-
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
9642
|
-
className: "ntm-invitations__body-header"
|
|
9643
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
9644
|
-
style: "h4"
|
|
9645
|
-
}, instance.t("common.invite_", {
|
|
9646
|
-
what: label.toLowerCase()
|
|
9647
|
-
})), isCSVInviteEnabled && /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
9648
|
-
style: "body2"
|
|
9649
|
-
}, instance.t("buttons.inviteFrom")), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
9650
|
-
style: "secondary",
|
|
9651
|
-
icon: neetoIcons.File,
|
|
9652
|
-
onClick: () => setIsCSVInviteSelected(true),
|
|
9653
|
-
tooltipProps: {
|
|
9654
|
-
content: instance.t("helpers.bulkInvite"),
|
|
9655
|
-
placement: "bottom"
|
|
9656
|
-
}
|
|
9657
|
-
}))), /*#__PURE__*/React__default["default"].createElement(formik$1.EmailInput, {
|
|
9658
|
-
name: "emails",
|
|
9659
|
-
label: null,
|
|
9660
|
-
placeholder: instance.t("placeholders.email")
|
|
9661
|
-
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends({
|
|
9662
|
-
type: "submit",
|
|
9663
|
-
label: instance.t("buttons.sendInvites"),
|
|
9664
|
-
className: "ntm-invitations__submit-btn",
|
|
9665
|
-
loading: isSubmitting,
|
|
9666
|
-
disabled: !dirty || isSubmitting
|
|
9667
|
-
}, submitButtonProps)), children), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Footer, {
|
|
9668
|
-
className: classnames__default["default"]({
|
|
9669
|
-
"ntm-invitations__footer": isInviteLinkEnabled
|
|
9670
|
-
})
|
|
9671
|
-
}, isInviteLinkEnabled && /*#__PURE__*/React__default["default"].createElement(InviteLink, inviteLinkProps)));
|
|
9672
|
-
};
|
|
9673
|
-
|
|
9674
|
-
const _excluded$2 = ["label", "isOpen", "onClose", "submitButtonProps", "csvColumns", "sampleFileUrl", "isCSVInviteEnabled", "isInviteLinkEnabled", "inviteLinkProps", "children"];
|
|
9675
|
-
const Invitations = _ref => {
|
|
9676
|
-
let _ref$label = _ref.label,
|
|
9677
|
-
label = _ref$label === void 0 ? instance.t("metaNames.member", PLURAL) : _ref$label,
|
|
9678
|
-
_ref$isOpen = _ref.isOpen,
|
|
9679
|
-
isOpen = _ref$isOpen === void 0 ? false : _ref$isOpen,
|
|
9680
|
-
_ref$onClose = _ref.onClose,
|
|
9681
|
-
onClose = _ref$onClose === void 0 ? noop$2 : _ref$onClose,
|
|
9682
|
-
_ref$submitButtonProp = _ref.submitButtonProps,
|
|
9683
|
-
submitButtonProps = _ref$submitButtonProp === void 0 ? {} : _ref$submitButtonProp,
|
|
9684
|
-
_ref$csvColumns = _ref.csvColumns,
|
|
9685
|
-
csvColumns = _ref$csvColumns === void 0 ? [] : _ref$csvColumns,
|
|
9686
|
-
_ref$sampleFileUrl = _ref.sampleFileUrl,
|
|
9687
|
-
sampleFileUrl = _ref$sampleFileUrl === void 0 ? "" : _ref$sampleFileUrl,
|
|
9688
|
-
_ref$isCSVInviteEnabl = _ref.isCSVInviteEnabled,
|
|
9689
|
-
isCSVInviteEnabled = _ref$isCSVInviteEnabl === void 0 ? true : _ref$isCSVInviteEnabl,
|
|
9690
|
-
_ref$isInviteLinkEnab = _ref.isInviteLinkEnabled,
|
|
9691
|
-
isInviteLinkEnabled = _ref$isInviteLinkEnab === void 0 ? true : _ref$isInviteLinkEnab,
|
|
9692
|
-
_ref$inviteLinkProps = _ref.inviteLinkProps,
|
|
9693
|
-
inviteLinkProps = _ref$inviteLinkProps === void 0 ? {} : _ref$inviteLinkProps,
|
|
9694
|
-
children = _ref.children,
|
|
9695
|
-
otherProps = _objectWithoutProperties$1(_ref, _excluded$2);
|
|
9696
|
-
const _useState = React.useState(false),
|
|
9697
|
-
_useState2 = _slicedToArray$2(_useState, 2),
|
|
9698
|
-
isCSVInviteSelected = _useState2[0],
|
|
9699
|
-
setIsCSVInviteSelected = _useState2[1];
|
|
9700
|
-
const handleClose = () => {
|
|
9701
|
-
onClose();
|
|
9702
|
-
setIsCSVInviteSelected(false);
|
|
9703
|
-
};
|
|
9704
|
-
return /*#__PURE__*/React__default["default"].createElement(formik.Formik, {
|
|
9705
|
-
initialValues: {
|
|
9706
|
-
emails: []
|
|
9707
|
-
},
|
|
9708
|
-
onSubmit: noop$2
|
|
9709
|
-
}, /*#__PURE__*/React__default["default"].createElement(formik.Form, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Modal, _extends({
|
|
9710
|
-
isOpen: isOpen,
|
|
9711
|
-
onClose: handleClose,
|
|
9712
|
-
size: "large"
|
|
9713
|
-
}, otherProps), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
9714
|
-
className: "ntm-invitations__wrapper"
|
|
9715
|
-
}, isCSVInviteSelected ? /*#__PURE__*/React__default["default"].createElement(Csv, {
|
|
9716
|
-
label: label,
|
|
9717
|
-
csvColumns: csvColumns,
|
|
9718
|
-
sampleFileUrl: sampleFileUrl,
|
|
9719
|
-
setIsCSVInviteSelected: setIsCSVInviteSelected
|
|
9720
|
-
}) : /*#__PURE__*/React__default["default"].createElement(Normal, {
|
|
9721
|
-
label: label,
|
|
9722
|
-
submitButtonProps: submitButtonProps,
|
|
9723
|
-
setIsCSVInviteSelected: setIsCSVInviteSelected,
|
|
9724
|
-
isCSVInviteEnabled: isCSVInviteEnabled,
|
|
9725
|
-
isInviteLinkEnabled: isInviteLinkEnabled,
|
|
9726
|
-
inviteLinkProps: inviteLinkProps
|
|
9727
|
-
}, children)))));
|
|
9728
|
-
};
|
|
9729
|
-
var index$2 = withReactQuery(Invitations);
|
|
9730
|
-
|
|
9731
|
-
const fetch$2 = () => axios__default["default"].get(`${BASE_URL}/permissions`);
|
|
9732
|
-
const permissionsApi = {
|
|
9733
|
-
fetch: fetch$2
|
|
9734
|
-
};
|
|
9735
|
-
|
|
9736
|
-
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; }
|
|
9737
|
-
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$2(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; }
|
|
9738
|
-
const useFetchPermissions = function () {
|
|
9739
|
-
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
9740
|
-
return useQuery(QUERY_KEYS.PERMISSIONS, permissionsApi.fetch, _objectSpread$6({
|
|
9741
|
-
staleTime: DEFAULT_STALE_TIME,
|
|
9742
|
-
select: response => response.permissions || response.data.permissions
|
|
9743
|
-
}, options));
|
|
9744
|
-
};
|
|
9745
|
-
|
|
9746
|
-
const fetch$1 = () => axios__default["default"].get(`${BASE_URL}/organization_roles`);
|
|
9747
|
-
const create$1 = payload => axios__default["default"].post(`${BASE_URL}/organization_roles`, payload);
|
|
9748
|
-
const update$1 = (id, payload) => axios__default["default"].patch(`${BASE_URL}/organization_roles/${id}`, payload);
|
|
9749
|
-
const destroy = (id, payload) => axios__default["default"].delete(`${BASE_URL}/organization_roles/${id}`, {
|
|
9750
|
-
data: payload
|
|
9751
|
-
});
|
|
9752
|
-
const organizationRolesApi = {
|
|
9753
|
-
fetch: fetch$1,
|
|
9754
|
-
create: create$1,
|
|
9755
|
-
update: update$1,
|
|
9756
|
-
destroy
|
|
9757
|
-
};
|
|
9758
|
-
|
|
9759
|
-
const _excluded$1 = ["onSuccess"],
|
|
9760
|
-
_excluded2$1 = ["onSuccess"],
|
|
9761
|
-
_excluded3 = ["onSuccess"];
|
|
9762
|
-
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; }
|
|
9763
|
-
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$2(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; }
|
|
9764
|
-
const useFetchRoles = function () {
|
|
9765
|
-
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
9766
|
-
return useQuery(QUERY_KEYS.ROLES, organizationRolesApi.fetch, _objectSpread$5({
|
|
9767
|
-
staleTime: DEFAULT_STALE_TIME,
|
|
9768
|
-
select: response => response.organizationRoles || response.data.organizationRoles
|
|
9769
|
-
}, options));
|
|
9770
|
-
};
|
|
9771
|
-
const useCreateRole = _ref => {
|
|
9772
|
-
let onSuccess = _ref.onSuccess,
|
|
9773
|
-
options = _objectWithoutProperties$1(_ref, _excluded$1);
|
|
9774
|
-
return useMutation(organizationRolesApi.create, _objectSpread$5({
|
|
9775
|
-
onSuccess: response => {
|
|
9776
|
-
queryClient.setQueriesData(QUERY_KEYS.ROLES, cachedData => {
|
|
9777
|
-
if (!!cachedData.data && !!cachedData.data.organizationRoles) {
|
|
9778
|
-
return ramda.modifyPath(["data", "organizationRoles"], ramda.prepend(response.data.organizationRole), cachedData);
|
|
9779
|
-
}
|
|
9780
|
-
return ramda.modifyPath(["organizationRoles"], ramda.prepend(response.organizationRole), cachedData);
|
|
9781
|
-
});
|
|
9782
|
-
neetoui.Toastr.success(response.ntmNotice || response.data.ntmNotice);
|
|
9783
|
-
onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
|
|
9784
|
-
}
|
|
9785
|
-
}, options));
|
|
9786
|
-
};
|
|
9787
|
-
const useUpdateRole = _ref2 => {
|
|
9788
|
-
let onSuccess = _ref2.onSuccess,
|
|
9789
|
-
options = _objectWithoutProperties$1(_ref2, _excluded2$1);
|
|
9790
|
-
return useMutation(_ref3 => {
|
|
9791
|
-
let id = _ref3.id,
|
|
9792
|
-
payload = _ref3.payload;
|
|
9793
|
-
return organizationRolesApi.update(id, payload);
|
|
9794
|
-
}, _objectSpread$5({
|
|
9795
|
-
onSuccess: response => {
|
|
9796
|
-
queryClient.invalidateQueries(QUERY_KEYS.TEAMS);
|
|
9797
|
-
queryClient.setQueriesData(QUERY_KEYS.ROLES, cachedData => {
|
|
9798
|
-
if (!!cachedData.data && !!cachedData.data.organizationRoles) {
|
|
9799
|
-
return ramda.assocPath(["data", "organizationRoles", ramda.findIndex(ramda.propEq("id", response.data.organizationRole.id), cachedData.data.organizationRoles)], response.data.organizationRole, cachedData);
|
|
9800
|
-
}
|
|
9801
|
-
return ramda.assocPath(["organizationRoles", ramda.findIndex(ramda.propEq("id", response.organizationRole.id), cachedData.organizationRoles)], response.organizationRole, cachedData);
|
|
9802
|
-
});
|
|
9803
|
-
neetoui.Toastr.success(response.ntmNotice || response.data.ntmNotice);
|
|
9804
|
-
onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
|
|
9805
|
-
}
|
|
9806
|
-
}, options));
|
|
9807
|
-
};
|
|
9808
|
-
const useDestroyRole = _ref4 => {
|
|
9809
|
-
let _ref4$onSuccess = _ref4.onSuccess,
|
|
9810
|
-
onSuccess = _ref4$onSuccess === void 0 ? noop$2 : _ref4$onSuccess,
|
|
9811
|
-
options = _objectWithoutProperties$1(_ref4, _excluded3);
|
|
9812
|
-
return useMutation(_ref5 => {
|
|
9813
|
-
let id = _ref5.id,
|
|
9814
|
-
payload = _ref5.payload;
|
|
9815
|
-
return organizationRolesApi.destroy(id, payload);
|
|
9816
|
-
}, _objectSpread$5({
|
|
9817
|
-
onSuccess: response => {
|
|
9818
|
-
queryClient.setQueriesData(QUERY_KEYS.ROLES, cachedData => {
|
|
9819
|
-
if (!!cachedData.data && !!cachedData.data.organizationRoles) {
|
|
9820
|
-
return ramda.dissocPath(["data", "organizationRoles", ramda.findIndex(ramda.propEq("id", response.data.id), cachedData.data.organizationRoles)], cachedData);
|
|
9821
|
-
}
|
|
9822
|
-
return ramda.dissocPath(["organizationRoles", ramda.findIndex(ramda.propEq("id", response.id), cachedData.organizationRoles)], cachedData);
|
|
9823
|
-
});
|
|
9824
|
-
neetoui.Toastr.success(response.ntmNotice || response.data.ntmNotice);
|
|
9825
|
-
onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
|
|
9826
|
-
}
|
|
9827
|
-
}, options));
|
|
9828
|
-
};
|
|
7329
|
+
}, options));
|
|
7330
|
+
};
|
|
9829
7331
|
|
|
9830
7332
|
var dist = {exports: {}};
|
|
9831
7333
|
|
|
@@ -11268,16 +8770,63 @@ const getPermissionGroups = function () {
|
|
|
11268
8770
|
return groupedPermissions;
|
|
11269
8771
|
};
|
|
11270
8772
|
|
|
8773
|
+
const transformObjectToDotNotation = function (object) {
|
|
8774
|
+
let prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
|
|
8775
|
+
let result = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
8776
|
+
const errorKey = Object.keys(object).find(key => !!object[key]);
|
|
8777
|
+
if (!errorKey) return;
|
|
8778
|
+
const value = object[errorKey];
|
|
8779
|
+
if (!value) return;
|
|
8780
|
+
const nextKey = prefix ? `${prefix}.${errorKey}` : errorKey;
|
|
8781
|
+
ramda.is(Object, value) ? transformObjectToDotNotation(value, nextKey, result) : result.push(nextKey);
|
|
8782
|
+
|
|
8783
|
+
// eslint-disable-next-line consistent-return
|
|
8784
|
+
return result;
|
|
8785
|
+
};
|
|
8786
|
+
const getErrorFieldName = formikErrors => {
|
|
8787
|
+
var _transformObjectToDot;
|
|
8788
|
+
return (_transformObjectToDot = transformObjectToDotNotation(formikErrors)) === null || _transformObjectToDot === void 0 ? void 0 : _transformObjectToDot[0];
|
|
8789
|
+
};
|
|
8790
|
+
|
|
8791
|
+
const ScrollToErrorField = _ref => {
|
|
8792
|
+
let formRef = _ref.formRef;
|
|
8793
|
+
const _useFormikContext = formik.useFormikContext(),
|
|
8794
|
+
submitCount = _useFormikContext.submitCount,
|
|
8795
|
+
isValid = _useFormikContext.isValid,
|
|
8796
|
+
errors = _useFormikContext.errors;
|
|
8797
|
+
const isValidatedReference = React.useRef(false);
|
|
8798
|
+
React.useEffect(() => {
|
|
8799
|
+
isValidatedReference.current = false;
|
|
8800
|
+
}, [submitCount]);
|
|
8801
|
+
React.useEffect(() => {
|
|
8802
|
+
if (!formRef.current) return;
|
|
8803
|
+
if (isValidatedReference.current || isValid) return;
|
|
8804
|
+
isValidatedReference.current = true;
|
|
8805
|
+
const fieldErrorNames = getErrorFieldName(errors);
|
|
8806
|
+
if (fieldErrorNames.length <= 0) return;
|
|
8807
|
+
const errorFormElement = [...formRef.current.elements].find(element => element.name === fieldErrorNames);
|
|
8808
|
+
errorFormElement === null || errorFormElement === void 0 ? void 0 : errorFormElement.scrollIntoView({
|
|
8809
|
+
behavior: "smooth",
|
|
8810
|
+
block: "center"
|
|
8811
|
+
});
|
|
8812
|
+
}, [submitCount, errors]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
8813
|
+
|
|
8814
|
+
return null;
|
|
8815
|
+
};
|
|
8816
|
+
|
|
11271
8817
|
const ADD_ROLE_FORM_INITIAL_VALUES = {
|
|
11272
8818
|
name: "",
|
|
11273
8819
|
description: "",
|
|
11274
8820
|
permissionIds: []
|
|
11275
8821
|
};
|
|
11276
8822
|
const ADD_ROLE_FORM_VALIDATION_SCHEMA = yup.object({
|
|
11277
|
-
name: yup.string().trim().
|
|
8823
|
+
name: yup.string().trim().max(40, instance.t("validations.limitExceeded", {
|
|
8824
|
+
what: instance.t("common.name").toLocaleLowerCase(),
|
|
8825
|
+
limit: 40
|
|
8826
|
+
})).required(instance.t("validations.enterRoleName")),
|
|
11278
8827
|
description: yup.string().trim().max(255, instance.t("validations.limitExceeded", {
|
|
11279
|
-
what: instance.t("common.description"),
|
|
11280
|
-
|
|
8828
|
+
what: instance.t("common.description").toLocaleLowerCase(),
|
|
8829
|
+
limit: 255
|
|
11281
8830
|
}))
|
|
11282
8831
|
});
|
|
11283
8832
|
|
|
@@ -11337,13 +8886,14 @@ const Permissions = _ref => {
|
|
|
11337
8886
|
};
|
|
11338
8887
|
|
|
11339
8888
|
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; }
|
|
11340
|
-
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
|
|
8889
|
+
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; }
|
|
11341
8890
|
const New = _ref => {
|
|
11342
8891
|
let isOpen = _ref.isOpen,
|
|
11343
8892
|
onClose = _ref.onClose,
|
|
11344
8893
|
permissions = _ref.permissions;
|
|
11345
8894
|
const _useTranslation = useTranslation(),
|
|
11346
8895
|
t = _useTranslation.t;
|
|
8896
|
+
const formReference = React.useRef(null);
|
|
11347
8897
|
const _useCreateRole = useCreateRole({
|
|
11348
8898
|
onSuccess: onClose
|
|
11349
8899
|
}),
|
|
@@ -11366,16 +8916,19 @@ const New = _ref => {
|
|
|
11366
8916
|
}, t("common.add_", {
|
|
11367
8917
|
what: t("common.role", SINGULAR).toLocaleLowerCase()
|
|
11368
8918
|
}))), /*#__PURE__*/React__default["default"].createElement(formik.Formik, {
|
|
11369
|
-
validateOnChange: false,
|
|
11370
|
-
validateOnBlur: false,
|
|
11371
8919
|
initialValues: ADD_ROLE_FORM_INITIAL_VALUES,
|
|
11372
|
-
|
|
11373
|
-
|
|
8920
|
+
onSubmit: handleFormSubmit,
|
|
8921
|
+
validateOnBlur: false,
|
|
8922
|
+
validateOnChange: false,
|
|
8923
|
+
validationSchema: ADD_ROLE_FORM_VALIDATION_SCHEMA
|
|
11374
8924
|
}, _ref2 => {
|
|
11375
8925
|
let dirty = _ref2.dirty;
|
|
11376
8926
|
return /*#__PURE__*/React__default["default"].createElement(formik.Form, {
|
|
8927
|
+
ref: formReference,
|
|
11377
8928
|
noValidate: true
|
|
11378
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
8929
|
+
}, /*#__PURE__*/React__default["default"].createElement(ScrollToErrorField, {
|
|
8930
|
+
formRef: formReference
|
|
8931
|
+
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Body, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
11379
8932
|
className: "ntm-roles-pane__body"
|
|
11380
8933
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
11381
8934
|
className: "ntm-roles-pane__body-wrapper"
|
|
@@ -11391,6 +8944,7 @@ const New = _ref => {
|
|
|
11391
8944
|
}), /*#__PURE__*/React__default["default"].createElement(formik$1.Textarea, {
|
|
11392
8945
|
"data-cy": "ntm-add-role-description-text-field",
|
|
11393
8946
|
label: t("common.description"),
|
|
8947
|
+
maxLength: 255,
|
|
11394
8948
|
name: "description",
|
|
11395
8949
|
placeholder: t("placeholders.enter_", {
|
|
11396
8950
|
what: t("common.description").toLocaleLowerCase()
|
|
@@ -11706,13 +9260,14 @@ const Delete = _ref => {
|
|
|
11706
9260
|
};
|
|
11707
9261
|
|
|
11708
9262
|
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; }
|
|
11709
|
-
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
|
|
9263
|
+
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; }
|
|
11710
9264
|
const Edit = _ref => {
|
|
11711
9265
|
let isOpen = _ref.isOpen,
|
|
11712
9266
|
onClose = _ref.onClose,
|
|
11713
9267
|
selectedRole = _ref.selectedRole;
|
|
11714
9268
|
const _useTranslation = useTranslation(),
|
|
11715
9269
|
t = _useTranslation.t;
|
|
9270
|
+
const formReference = React.useRef(null);
|
|
11716
9271
|
const _useUpdateRole = useUpdateRole({
|
|
11717
9272
|
onSuccess: onClose
|
|
11718
9273
|
}),
|
|
@@ -11733,24 +9288,29 @@ const Edit = _ref => {
|
|
|
11733
9288
|
payload
|
|
11734
9289
|
});
|
|
11735
9290
|
};
|
|
11736
|
-
return /*#__PURE__*/React__default["default"].createElement(neetoui.
|
|
9291
|
+
return /*#__PURE__*/React__default["default"].createElement(neetoui.Pane, {
|
|
11737
9292
|
isOpen: isOpen,
|
|
11738
9293
|
onClose: onClose
|
|
11739
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
9294
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
9295
|
+
"data-cy": "ntm-update-role-title",
|
|
9296
|
+
style: "h2"
|
|
9297
|
+
}, t("common.update_", {
|
|
9298
|
+
what: t("common.role", SINGULAR).toLocaleLowerCase()
|
|
9299
|
+
}))), /*#__PURE__*/React__default["default"].createElement(formik.Formik, {
|
|
11740
9300
|
initialValues: initialValues,
|
|
11741
|
-
|
|
11742
|
-
|
|
9301
|
+
onSubmit: handleFormSubmit,
|
|
9302
|
+
validateOnBlur: false,
|
|
9303
|
+
validateOnChange: false,
|
|
9304
|
+
validationSchema: ADD_ROLE_FORM_VALIDATION_SCHEMA
|
|
11743
9305
|
}, _ref2 => {
|
|
11744
9306
|
let dirty = _ref2.dirty;
|
|
11745
9307
|
return /*#__PURE__*/React__default["default"].createElement(formik.Form, {
|
|
9308
|
+
ref: formReference,
|
|
11746
9309
|
noValidate: true
|
|
11747
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
11748
|
-
|
|
11749
|
-
|
|
11750
|
-
|
|
11751
|
-
what: t("common.role", SINGULAR).toLocaleLowerCase()
|
|
11752
|
-
}))), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Body, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
11753
|
-
className: "ntm-roles-modal__body"
|
|
9310
|
+
}, /*#__PURE__*/React__default["default"].createElement(ScrollToErrorField, {
|
|
9311
|
+
formRef: formReference
|
|
9312
|
+
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Body, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
9313
|
+
className: "ntm-roles-pane__body"
|
|
11754
9314
|
}, /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
|
|
11755
9315
|
required: true,
|
|
11756
9316
|
"data-cy": "ntm-update-role-name-text-field",
|
|
@@ -11761,10 +9321,11 @@ const Edit = _ref => {
|
|
|
11761
9321
|
}), /*#__PURE__*/React__default["default"].createElement(formik$1.Textarea, {
|
|
11762
9322
|
"data-cy": "ntm-update-role-description-text-field",
|
|
11763
9323
|
label: t("common.description"),
|
|
9324
|
+
maxLength: 255,
|
|
11764
9325
|
name: "description",
|
|
11765
9326
|
placeholder: t("placeholders.enterDescription")
|
|
11766
|
-
}))), /*#__PURE__*/React__default["default"].createElement(neetoui.
|
|
11767
|
-
className: "ntm-roles-
|
|
9327
|
+
}))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Footer, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
9328
|
+
className: "ntm-roles-pane__footer"
|
|
11768
9329
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
11769
9330
|
"data-cy": "ntm-update-role-submit-button",
|
|
11770
9331
|
disabled: !dirty || isSubmitting,
|
|
@@ -11780,14 +9341,14 @@ const Edit = _ref => {
|
|
|
11780
9341
|
}));
|
|
11781
9342
|
};
|
|
11782
9343
|
|
|
11783
|
-
const Columns = _ref => {
|
|
9344
|
+
const Columns$1 = _ref => {
|
|
11784
9345
|
let config = _ref.config,
|
|
11785
9346
|
filteredGroupPermissions = _ref.filteredGroupPermissions,
|
|
11786
9347
|
filteredRoles = _ref.filteredRoles,
|
|
11787
9348
|
roles = _ref.roles,
|
|
11788
9349
|
setIsScrollPresent = _ref.setIsScrollPresent;
|
|
11789
9350
|
const _useState = React.useState(DEFAULT_MANAGE_ROLE_VALUES),
|
|
11790
|
-
_useState2 = _slicedToArray
|
|
9351
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
11791
9352
|
manageRole = _useState2[0],
|
|
11792
9353
|
setManageRole = _useState2[1];
|
|
11793
9354
|
const categories = Object.keys(filteredGroupPermissions);
|
|
@@ -11927,15 +9488,15 @@ const Table = _ref => {
|
|
|
11927
9488
|
const _useTranslation = useTranslation(),
|
|
11928
9489
|
t = _useTranslation.t;
|
|
11929
9490
|
const _useState = React.useState(""),
|
|
11930
|
-
_useState2 = _slicedToArray
|
|
9491
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
11931
9492
|
searchTerm = _useState2[0],
|
|
11932
9493
|
setSearchTerm = _useState2[1];
|
|
11933
9494
|
const _useState3 = React.useState(permissionGroups),
|
|
11934
|
-
_useState4 = _slicedToArray
|
|
9495
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
11935
9496
|
filteredGroupPermissions = _useState4[0],
|
|
11936
9497
|
setFilteredGroupPermissions = _useState4[1];
|
|
11937
9498
|
const _useState5 = React.useState(false),
|
|
11938
|
-
_useState6 = _slicedToArray
|
|
9499
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
11939
9500
|
isScrollPresent = _useState6[0],
|
|
11940
9501
|
setIsScrollPresent = _useState6[1];
|
|
11941
9502
|
const toggleDropdown = category => {
|
|
@@ -11943,7 +9504,7 @@ const Table = _ref => {
|
|
|
11943
9504
|
};
|
|
11944
9505
|
React.useEffect(() => {
|
|
11945
9506
|
setFilteredGroupPermissions(ramda.fromPairs(ramda.toPairs(permissionGroups).map(_ref2 => {
|
|
11946
|
-
let _ref3 = _slicedToArray
|
|
9507
|
+
let _ref3 = _slicedToArray(_ref2, 2),
|
|
11947
9508
|
category = _ref3[0],
|
|
11948
9509
|
options = _ref3[1];
|
|
11949
9510
|
return [category, ramda.modify("permissions", ramda.filter(_ref4 => {
|
|
@@ -11968,7 +9529,7 @@ const Table = _ref => {
|
|
|
11968
9529
|
onClick: () => setIsNewRolePaneOpen(true),
|
|
11969
9530
|
permissions: config === null || config === void 0 ? void 0 : config.permissions
|
|
11970
9531
|
})
|
|
11971
|
-
}) : /*#__PURE__*/React__default["default"].createElement(Columns, {
|
|
9532
|
+
}) : /*#__PURE__*/React__default["default"].createElement(Columns$1, {
|
|
11972
9533
|
config: config,
|
|
11973
9534
|
filteredGroupPermissions: filteredGroupPermissions,
|
|
11974
9535
|
filteredRoles: filteredRoles,
|
|
@@ -11981,15 +9542,15 @@ const Roles = _ref => {
|
|
|
11981
9542
|
var _config$permissions$v, _config$permissions, _config$permissions$v2, _config$permissions2;
|
|
11982
9543
|
let config = _ref.config;
|
|
11983
9544
|
const _useState = React.useState(""),
|
|
11984
|
-
_useState2 = _slicedToArray
|
|
9545
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
11985
9546
|
searchString = _useState2[0],
|
|
11986
9547
|
setSearchString = _useState2[1];
|
|
11987
9548
|
const _useState3 = React.useState([]),
|
|
11988
|
-
_useState4 = _slicedToArray
|
|
9549
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
11989
9550
|
filteredRoles = _useState4[0],
|
|
11990
9551
|
setFilteredRoles = _useState4[1];
|
|
11991
9552
|
const _useState5 = React.useState(false),
|
|
11992
|
-
_useState6 = _slicedToArray
|
|
9553
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
11993
9554
|
isNewRolePaneOpen = _useState6[0],
|
|
11994
9555
|
setIsNewRolePaneOpen = _useState6[1];
|
|
11995
9556
|
const _useFetchRoles = useFetchRoles({
|
|
@@ -12055,7 +9616,7 @@ const teamsApi = {
|
|
|
12055
9616
|
const _excluded = ["onSuccess"],
|
|
12056
9617
|
_excluded2 = ["onSuccess"];
|
|
12057
9618
|
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; }
|
|
12058
|
-
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
|
|
9619
|
+
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; }
|
|
12059
9620
|
const useFetchMembers = function () {
|
|
12060
9621
|
let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
12061
9622
|
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
@@ -12067,7 +9628,7 @@ const useFetchMembers = function () {
|
|
|
12067
9628
|
};
|
|
12068
9629
|
const useCreateMember = _ref => {
|
|
12069
9630
|
let onSuccess = _ref.onSuccess,
|
|
12070
|
-
options = _objectWithoutProperties
|
|
9631
|
+
options = _objectWithoutProperties(_ref, _excluded);
|
|
12071
9632
|
return useMutation(teamsApi.create, _objectSpread$2({
|
|
12072
9633
|
onSuccess: response => {
|
|
12073
9634
|
queryClient.invalidateQueries(QUERY_KEYS.TEAMS);
|
|
@@ -12078,7 +9639,7 @@ const useCreateMember = _ref => {
|
|
|
12078
9639
|
};
|
|
12079
9640
|
const useUpdateMember = _ref2 => {
|
|
12080
9641
|
let onSuccess = _ref2.onSuccess,
|
|
12081
|
-
options = _objectWithoutProperties
|
|
9642
|
+
options = _objectWithoutProperties(_ref2, _excluded2);
|
|
12082
9643
|
return useMutation(_ref3 => {
|
|
12083
9644
|
let id = _ref3.id,
|
|
12084
9645
|
payload = _ref3.payload;
|
|
@@ -12095,7 +9656,7 @@ const useUpdateMember = _ref2 => {
|
|
|
12095
9656
|
const useDebounce = function (value) {
|
|
12096
9657
|
let delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 350;
|
|
12097
9658
|
const _useState = React.useState(value),
|
|
12098
|
-
_useState2 = _slicedToArray
|
|
9659
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
12099
9660
|
debouncedValue = _useState2[0],
|
|
12100
9661
|
setDebouncedValue = _useState2[1];
|
|
12101
9662
|
React.useEffect(() => {
|
|
@@ -12110,7 +9671,7 @@ const Header = _ref => {
|
|
|
12110
9671
|
let _ref$metaName = _ref.metaName,
|
|
12111
9672
|
metaName = _ref$metaName === void 0 ? "" : _ref$metaName,
|
|
12112
9673
|
_ref$onClick = _ref.onClick,
|
|
12113
|
-
onClick = _ref$onClick === void 0 ? noop$
|
|
9674
|
+
onClick = _ref$onClick === void 0 ? noop$1 : _ref$onClick,
|
|
12114
9675
|
permissions = _ref.permissions;
|
|
12115
9676
|
return /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
|
|
12116
9677
|
content: instance.t("tooltips.noPermissionToAddMember"),
|
|
@@ -12126,6 +9687,151 @@ const Header = _ref => {
|
|
|
12126
9687
|
})));
|
|
12127
9688
|
};
|
|
12128
9689
|
|
|
9690
|
+
const getStorageValue = (key, defaultValue) => {
|
|
9691
|
+
const saved = localStorage.getItem(key);
|
|
9692
|
+
return JSON.parse(saved) || defaultValue;
|
|
9693
|
+
};
|
|
9694
|
+
const useLocalStorage = (key, defaultValue) => {
|
|
9695
|
+
const _useState = React.useState(() => getStorageValue(key, defaultValue)),
|
|
9696
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
9697
|
+
storedValue = _useState2[0],
|
|
9698
|
+
setStoredValue = _useState2[1];
|
|
9699
|
+
const setValue = value => {
|
|
9700
|
+
if (ramda.isNil(value)) {
|
|
9701
|
+
localStorage.removeItem(key);
|
|
9702
|
+
} else {
|
|
9703
|
+
localStorage.setItem(key, JSON.stringify(value));
|
|
9704
|
+
}
|
|
9705
|
+
setStoredValue(value);
|
|
9706
|
+
};
|
|
9707
|
+
return [storedValue, setValue];
|
|
9708
|
+
};
|
|
9709
|
+
|
|
9710
|
+
const matchesImpl = function (pattern, object) {
|
|
9711
|
+
let __parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : object;
|
|
9712
|
+
if (object === pattern) return true;
|
|
9713
|
+
if (typeof pattern === "function" && pattern(object, __parent)) return true;
|
|
9714
|
+
if (ramda.isNil(pattern) || ramda.isNil(object)) return false;
|
|
9715
|
+
if (typeof pattern !== "object") return false;
|
|
9716
|
+
return Object.entries(pattern).every(_ref => {
|
|
9717
|
+
let _ref2 = _slicedToArray(_ref, 2),
|
|
9718
|
+
key = _ref2[0],
|
|
9719
|
+
value = _ref2[1];
|
|
9720
|
+
return matchesImpl(value, object[key], __parent);
|
|
9721
|
+
});
|
|
9722
|
+
};
|
|
9723
|
+
const matches = ramda.curry((pattern, object) => matchesImpl(pattern, object));
|
|
9724
|
+
const isNotEmpty = ramda.complement(ramda.isEmpty);
|
|
9725
|
+
const removeBy = ramda.curry((pattern, array) => array.filter(ramda.complement(matches(pattern))));
|
|
9726
|
+
const removeFixedColumns = (fixedColumns, columnData) => removeBy({
|
|
9727
|
+
dataIndex: ramda.includes(ramda.__, fixedColumns)
|
|
9728
|
+
}, columnData);
|
|
9729
|
+
const filterBySearchTerm = (searchTerm, columns) => ramda.filter(_ref3 => {
|
|
9730
|
+
let title = _ref3.title;
|
|
9731
|
+
return ramda.includes(ramda.trim(ramda.toLower(searchTerm)), ramda.trim(ramda.toLower(title)));
|
|
9732
|
+
}, columns);
|
|
9733
|
+
|
|
9734
|
+
const Columns = _ref => {
|
|
9735
|
+
let actionBlock = _ref.actionBlock,
|
|
9736
|
+
_ref$checkboxProps = _ref.checkboxProps,
|
|
9737
|
+
checkboxProps = _ref$checkboxProps === void 0 ? {} : _ref$checkboxProps,
|
|
9738
|
+
_ref$columnData = _ref.columnData,
|
|
9739
|
+
columnData = _ref$columnData === void 0 ? [] : _ref$columnData,
|
|
9740
|
+
_ref$dropdownProps = _ref.dropdownProps,
|
|
9741
|
+
dropdownProps = _ref$dropdownProps === void 0 ? {} : _ref$dropdownProps,
|
|
9742
|
+
_ref$fixedColumns = _ref.fixedColumns,
|
|
9743
|
+
fixedColumns = _ref$fixedColumns === void 0 ? [] : _ref$fixedColumns,
|
|
9744
|
+
_ref$isSearchable = _ref.isSearchable,
|
|
9745
|
+
isSearchable = _ref$isSearchable === void 0 ? false : _ref$isSearchable,
|
|
9746
|
+
_ref$localStorageKey = _ref.localStorageKey,
|
|
9747
|
+
localStorageKey = _ref$localStorageKey === void 0 ? "" : _ref$localStorageKey,
|
|
9748
|
+
_ref$noColumnMessage = _ref.noColumnMessage,
|
|
9749
|
+
noColumnMessage = _ref$noColumnMessage === void 0 ? "No columns found!" : _ref$noColumnMessage,
|
|
9750
|
+
_ref$onChange = _ref.onChange,
|
|
9751
|
+
onChange = _ref$onChange === void 0 ? ramda.identity : _ref$onChange,
|
|
9752
|
+
_ref$searchProps = _ref.searchProps,
|
|
9753
|
+
searchProps = _ref$searchProps === void 0 ? {} : _ref$searchProps;
|
|
9754
|
+
// @ts-ignore
|
|
9755
|
+
const Divider = neetoui.Dropdown.Divider,
|
|
9756
|
+
Menu = neetoui.Dropdown.Menu,
|
|
9757
|
+
MenuItem = neetoui.Dropdown.MenuItem;
|
|
9758
|
+
const _useLocalStorage = useLocalStorage(localStorageKey, []),
|
|
9759
|
+
_useLocalStorage2 = _slicedToArray(_useLocalStorage, 2),
|
|
9760
|
+
hiddenColumns = _useLocalStorage2[0],
|
|
9761
|
+
setHiddenColumns = _useLocalStorage2[1];
|
|
9762
|
+
const _useState = React.useState(""),
|
|
9763
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
9764
|
+
searchTerm = _useState2[0],
|
|
9765
|
+
setSearchTerm = _useState2[1];
|
|
9766
|
+
const columns = removeFixedColumns(fixedColumns, columnData);
|
|
9767
|
+
const filteredColumns = filterBySearchTerm(searchTerm, columns);
|
|
9768
|
+
const handleChange = _ref2 => {
|
|
9769
|
+
let _ref2$target = _ref2.target,
|
|
9770
|
+
dataIndex = _ref2$target.name,
|
|
9771
|
+
checked = _ref2$target.checked;
|
|
9772
|
+
return checked ? setHiddenColumns(ramda.without([dataIndex], hiddenColumns)) : setHiddenColumns(ramda.append(dataIndex, hiddenColumns));
|
|
9773
|
+
};
|
|
9774
|
+
const handleSearch = _ref3 => {
|
|
9775
|
+
let value = _ref3.target.value;
|
|
9776
|
+
return setSearchTerm(value);
|
|
9777
|
+
};
|
|
9778
|
+
React.useEffect(() => {
|
|
9779
|
+
onChange(removeBy({
|
|
9780
|
+
dataIndex: ramda.includes(ramda.__, hiddenColumns)
|
|
9781
|
+
}, columnData));
|
|
9782
|
+
}, [columnData, hiddenColumns]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
9783
|
+
|
|
9784
|
+
return /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, _extends({
|
|
9785
|
+
buttonSize: "medium",
|
|
9786
|
+
buttonStyle: "secondary",
|
|
9787
|
+
closeOnSelect: false,
|
|
9788
|
+
label: "Columns",
|
|
9789
|
+
onClose: () => setSearchTerm(""),
|
|
9790
|
+
position: "bottom-end"
|
|
9791
|
+
}, dropdownProps), /*#__PURE__*/React__default["default"].createElement(Menu, null, /*#__PURE__*/React__default["default"].createElement("div", null, isSearchable && /*#__PURE__*/React__default["default"].createElement(neetoui.Input, _extends({
|
|
9792
|
+
className: "neeto-ui-px-3 neeto-ui-py-2",
|
|
9793
|
+
"data-cy": "neeto-ui-columns-search",
|
|
9794
|
+
onChange: handleSearch,
|
|
9795
|
+
placeholder: "Search columns",
|
|
9796
|
+
prefix: /*#__PURE__*/React__default["default"].createElement(neetoIcons.Search, null),
|
|
9797
|
+
type: "search",
|
|
9798
|
+
value: searchTerm
|
|
9799
|
+
}, searchProps)), isNotEmpty(filteredColumns) ? filteredColumns.map(_ref4 => {
|
|
9800
|
+
let dataIndex = _ref4.dataIndex,
|
|
9801
|
+
key = _ref4.key,
|
|
9802
|
+
title = _ref4.title;
|
|
9803
|
+
return /*#__PURE__*/React__default["default"].createElement(MenuItem, {
|
|
9804
|
+
key: key
|
|
9805
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, {
|
|
9806
|
+
className: "neeto-ui-w-full neeto-ui-px-3 neeto-ui-py-2 hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer",
|
|
9807
|
+
htmlFor: dataIndex
|
|
9808
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Checkbox, _extends({
|
|
9809
|
+
id: dataIndex,
|
|
9810
|
+
name: dataIndex,
|
|
9811
|
+
checked: !hiddenColumns.includes(dataIndex),
|
|
9812
|
+
"data-cy": "neeto-ui-columns-checkbox",
|
|
9813
|
+
label: title,
|
|
9814
|
+
onChange: handleChange
|
|
9815
|
+
}, checkboxProps))));
|
|
9816
|
+
}) : /*#__PURE__*/React__default["default"].createElement("span", {
|
|
9817
|
+
className: "neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-p-2"
|
|
9818
|
+
}, noColumnMessage), !!actionBlock && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Divider, null), actionBlock))));
|
|
9819
|
+
};
|
|
9820
|
+
|
|
9821
|
+
const FIXED_COLUMNS = ["actions"];
|
|
9822
|
+
const COLUMNS_DROPDOWN_PROPS = {
|
|
9823
|
+
buttonProps: {
|
|
9824
|
+
size: "small"
|
|
9825
|
+
},
|
|
9826
|
+
label: instance.t("common.column", PLURAL)
|
|
9827
|
+
};
|
|
9828
|
+
const COLUMNS_SEARCH_PROPS = {
|
|
9829
|
+
placeholder: instance.t("columns.search")
|
|
9830
|
+
};
|
|
9831
|
+
const MANAGE_ROLES_BUTTON_LABEL = instance.t("common.manage_", {
|
|
9832
|
+
what: instance.t("common.role", PLURAL).toLocaleLowerCase()
|
|
9833
|
+
});
|
|
9834
|
+
|
|
12129
9835
|
const Left = _ref => {
|
|
12130
9836
|
let metaName = _ref.metaName,
|
|
12131
9837
|
count = _ref.count;
|
|
@@ -12142,18 +9848,24 @@ Left.defaultProps = {
|
|
|
12142
9848
|
count: 0
|
|
12143
9849
|
};
|
|
12144
9850
|
const Right = _ref2 => {
|
|
12145
|
-
let
|
|
12146
|
-
|
|
12147
|
-
|
|
12148
|
-
const
|
|
12149
|
-
return
|
|
9851
|
+
let columns = _ref2.columns,
|
|
9852
|
+
rolesButtonProps = _ref2.rolesButtonProps,
|
|
9853
|
+
setColumnData = _ref2.setColumnData;
|
|
9854
|
+
const isRolesButtonVisible = !!rolesButtonProps;
|
|
9855
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Columns, {
|
|
9856
|
+
columnData: columns,
|
|
9857
|
+
dropdownProps: COLUMNS_DROPDOWN_PROPS,
|
|
9858
|
+
fixedColumns: FIXED_COLUMNS,
|
|
9859
|
+
localStorageKey: "NTM_MEMBERS_TABLE_HIDDEN_COLUMNS",
|
|
9860
|
+
noColumnMessage: instance.t("columns.noColumnsFound"),
|
|
9861
|
+
onChange: setColumnData,
|
|
9862
|
+
searchProps: COLUMNS_SEARCH_PROPS
|
|
9863
|
+
}), isRolesButtonVisible ? /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends({
|
|
12150
9864
|
"data-cy": "ntm-manage-roles-button",
|
|
12151
|
-
label:
|
|
12152
|
-
what: instance.t("common.role", PLURAL).toLocaleLowerCase()
|
|
12153
|
-
}),
|
|
9865
|
+
label: MANAGE_ROLES_BUTTON_LABEL,
|
|
12154
9866
|
size: "small",
|
|
12155
9867
|
style: "secondary"
|
|
12156
|
-
}, rolesButtonProps)) : null;
|
|
9868
|
+
}, rolesButtonProps)) : null);
|
|
12157
9869
|
};
|
|
12158
9870
|
const SubHeader = {
|
|
12159
9871
|
Left,
|
|
@@ -12202,7 +9914,7 @@ const DEFAULT_FILTER_VALUES = {
|
|
|
12202
9914
|
};
|
|
12203
9915
|
|
|
12204
9916
|
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; }
|
|
12205
|
-
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
|
|
9917
|
+
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; }
|
|
12206
9918
|
const renderNameColumn = (_ref, diplayStatusTag) => {
|
|
12207
9919
|
let displayName = _ref.displayName,
|
|
12208
9920
|
imageUrl = _ref.profileImageUrl,
|
|
@@ -12317,6 +10029,7 @@ const getColumnData = _ref5 => {
|
|
|
12317
10029
|
width: "25%",
|
|
12318
10030
|
sorter: true
|
|
12319
10031
|
}, {
|
|
10032
|
+
dataIndex: "actions",
|
|
12320
10033
|
key: "icon_button",
|
|
12321
10034
|
render: (_, props) => renderDropdownButton(props, handleUpdateStatus, handleUpdateRole, permissions),
|
|
12322
10035
|
width: "10%"
|
|
@@ -12367,14 +10080,17 @@ const COUNTER_PROPS = {
|
|
|
12367
10080
|
startsFrom: 4
|
|
12368
10081
|
};
|
|
12369
10082
|
|
|
12370
|
-
const renderInitialValues = selectedMember =>
|
|
12371
|
-
|
|
12372
|
-
|
|
12373
|
-
|
|
12374
|
-
|
|
12375
|
-
|
|
12376
|
-
|
|
12377
|
-
}
|
|
10083
|
+
const renderInitialValues = (selectedMember, roles) => {
|
|
10084
|
+
var _roles$;
|
|
10085
|
+
return {
|
|
10086
|
+
emails: selectedMember ? [{
|
|
10087
|
+
label: selectedMember.email,
|
|
10088
|
+
value: selectedMember.email,
|
|
10089
|
+
valid: true
|
|
10090
|
+
}] : [],
|
|
10091
|
+
role: (selectedMember === null || selectedMember === void 0 ? void 0 : selectedMember.role) || ((_roles$ = roles[1]) === null || _roles$ === void 0 ? void 0 : _roles$.name) || ""
|
|
10092
|
+
};
|
|
10093
|
+
};
|
|
12378
10094
|
const renderPayload = function (_ref) {
|
|
12379
10095
|
let role = _ref.role,
|
|
12380
10096
|
emails = _ref.emails;
|
|
@@ -12400,9 +10116,10 @@ const ManageMember = _ref => {
|
|
|
12400
10116
|
roles = _ref$roles === void 0 ? [] : _ref$roles,
|
|
12401
10117
|
selectedMember = _ref.selectedMember;
|
|
12402
10118
|
const _useState = React.useState(false),
|
|
12403
|
-
_useState2 = _slicedToArray
|
|
10119
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
12404
10120
|
hasSubmitted = _useState2[0],
|
|
12405
10121
|
setHasSubmitted = _useState2[1];
|
|
10122
|
+
const formReference = React.useRef(null);
|
|
12406
10123
|
const onPaneClose = () => {
|
|
12407
10124
|
onClose();
|
|
12408
10125
|
setHasSubmitted(false);
|
|
@@ -12449,23 +10166,22 @@ const ManageMember = _ref => {
|
|
|
12449
10166
|
}) : instance.t("common.add_", {
|
|
12450
10167
|
what: instance.t(metaName, SINGULAR).toLocaleLowerCase()
|
|
12451
10168
|
}))), config !== null && config !== void 0 && (_config$manageMember = config.manageMember) !== null && _config$manageMember !== void 0 && _config$manageMember.component ? config.manageMember.component(manageMemberProps) : /*#__PURE__*/React__default["default"].createElement(formik.Formik, {
|
|
12452
|
-
|
|
10169
|
+
enableReinitialize: true,
|
|
10170
|
+
initialValues: renderInitialValues(selectedMember, roles),
|
|
12453
10171
|
onSubmit: handleAddMember,
|
|
12454
|
-
validationSchema: VALIDATION_SCHEMA,
|
|
12455
|
-
validateOnChange: hasSubmitted,
|
|
12456
10172
|
validateOnBlur: hasSubmitted,
|
|
12457
|
-
|
|
10173
|
+
validateOnChange: hasSubmitted,
|
|
10174
|
+
validationSchema: VALIDATION_SCHEMA
|
|
12458
10175
|
}, _ref2 => {
|
|
12459
10176
|
let values = _ref2.values,
|
|
12460
|
-
setFieldValue = _ref2.setFieldValue,
|
|
12461
10177
|
dirty = _ref2.dirty;
|
|
12462
10178
|
const emails = values.emails,
|
|
12463
10179
|
role = values.role;
|
|
12464
|
-
|
|
12465
|
-
|
|
12466
|
-
|
|
12467
|
-
|
|
12468
|
-
|
|
10180
|
+
return /*#__PURE__*/React__default["default"].createElement(formik.Form, {
|
|
10181
|
+
ref: formReference
|
|
10182
|
+
}, /*#__PURE__*/React__default["default"].createElement(ScrollToErrorField, {
|
|
10183
|
+
formRef: formReference
|
|
10184
|
+
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Body, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
12469
10185
|
className: "ntm-members-pane__body"
|
|
12470
10186
|
}, selectedMember ? /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
|
|
12471
10187
|
"data-cy": "ntm-manage-member-email-input",
|
|
@@ -12483,23 +10199,35 @@ const ManageMember = _ref => {
|
|
|
12483
10199
|
label: `${instance.t("common.email", PLURAL)}*`,
|
|
12484
10200
|
name: "emails",
|
|
12485
10201
|
placeholder: instance.t("placeholders.email")
|
|
12486
|
-
}), /*#__PURE__*/React__default["default"].createElement(formik$1.
|
|
12487
|
-
|
|
12488
|
-
|
|
12489
|
-
|
|
12490
|
-
|
|
12491
|
-
|
|
12492
|
-
|
|
12493
|
-
|
|
12494
|
-
|
|
12495
|
-
|
|
12496
|
-
|
|
12497
|
-
|
|
12498
|
-
|
|
12499
|
-
|
|
12500
|
-
|
|
12501
|
-
|
|
12502
|
-
|
|
10202
|
+
}), /*#__PURE__*/React__default["default"].createElement(formik$1.Radio, {
|
|
10203
|
+
stacked: true,
|
|
10204
|
+
className: "ntm-members-radio-group",
|
|
10205
|
+
"data-cy": "ntm-manage-member-roles-group",
|
|
10206
|
+
label: `${instance.t("common.role", SINGULAR)}*`,
|
|
10207
|
+
name: "role"
|
|
10208
|
+
}, roles.map(_ref3 => {
|
|
10209
|
+
let description = _ref3.description,
|
|
10210
|
+
id = _ref3.id,
|
|
10211
|
+
name = _ref3.name;
|
|
10212
|
+
return /*#__PURE__*/React__default["default"].createElement("label", {
|
|
10213
|
+
className: "ntm-members-pane-radio-item__wrapper",
|
|
10214
|
+
htmlFor: slugify(name),
|
|
10215
|
+
key: id
|
|
10216
|
+
}, /*#__PURE__*/React__default["default"].createElement(formik$1.Radio.Item, {
|
|
10217
|
+
className: "ntm-members-pane-radio-item__label",
|
|
10218
|
+
"data-cy": "ntm-manage-member-roles-button",
|
|
10219
|
+
defaultChecked: ramda.identical(name, role),
|
|
10220
|
+
id: slugify(name),
|
|
10221
|
+
label: name,
|
|
10222
|
+
name: "role",
|
|
10223
|
+
value: name
|
|
10224
|
+
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
10225
|
+
className: "neeto-ui-input__help-text",
|
|
10226
|
+
"data-cy": "ntm-manage-member-roles-description",
|
|
10227
|
+
style: "body3",
|
|
10228
|
+
weight: "normal"
|
|
10229
|
+
}, description));
|
|
10230
|
+
})))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Footer, {
|
|
12503
10231
|
className: "ntm-members-pane__footer"
|
|
12504
10232
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
12505
10233
|
"data-cy": "ntm-manage-member-submit-button",
|
|
@@ -12540,24 +10268,28 @@ const Menu = _ref => {
|
|
|
12540
10268
|
};
|
|
12541
10269
|
|
|
12542
10270
|
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; }
|
|
12543
|
-
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
|
|
10271
|
+
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; }
|
|
12544
10272
|
const TeamMembers = _ref => {
|
|
12545
10273
|
var _config$permissions$v, _config$permissions, _config$permissions$v2, _config$permissions2;
|
|
12546
10274
|
let metaName = _ref.metaName,
|
|
12547
10275
|
config = _ref.config;
|
|
12548
10276
|
const _useState = React.useState(DEFAULT_IS_OPEN_VALUES),
|
|
12549
|
-
_useState2 = _slicedToArray
|
|
10277
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
12550
10278
|
isOpen = _useState2[0],
|
|
12551
10279
|
setIsOpen = _useState2[1];
|
|
12552
10280
|
const _useState3 = React.useState(DEFAULT_FILTER_VALUES),
|
|
12553
|
-
_useState4 = _slicedToArray
|
|
10281
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
12554
10282
|
filters = _useState4[0],
|
|
12555
10283
|
setFilters = _useState4[1];
|
|
12556
10284
|
const _useState5 = React.useState(null),
|
|
12557
|
-
_useState6 = _slicedToArray
|
|
10285
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
12558
10286
|
selectedMember = _useState6[0],
|
|
12559
10287
|
setSelectedMember = _useState6[1];
|
|
12560
10288
|
const debouncedSearch = useDebounce(filters.search, 750);
|
|
10289
|
+
const _useState7 = React.useState([]),
|
|
10290
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
10291
|
+
columnData = _useState8[0],
|
|
10292
|
+
setColumnData = _useState8[1];
|
|
12561
10293
|
const _useFetchMembers = useFetchMembers(_objectSpread(_objectSpread({}, filters), {}, {
|
|
12562
10294
|
search: debouncedSearch.trim(),
|
|
12563
10295
|
category: filters.category.toLowerCase()
|
|
@@ -12569,8 +10301,8 @@ const TeamMembers = _ref => {
|
|
|
12569
10301
|
isMembersFetching = _useFetchMembers.isFetching;
|
|
12570
10302
|
const _useFetchRoles = useFetchRoles({
|
|
12571
10303
|
select: response => {
|
|
12572
|
-
|
|
12573
|
-
return ramda.
|
|
10304
|
+
var _ref2;
|
|
10305
|
+
return ramda.reverse((_ref2 = response.organizationRoles || response.data.organizationRoles) !== null && _ref2 !== void 0 ? _ref2 : []);
|
|
12574
10306
|
},
|
|
12575
10307
|
enabled: (_config$permissions$v2 = config === null || config === void 0 ? void 0 : (_config$permissions2 = config.permissions) === null || _config$permissions2 === void 0 ? void 0 : _config$permissions2.view) !== null && _config$permissions$v2 !== void 0 ? _config$permissions$v2 : DEFAULT_PERMISSION
|
|
12576
10308
|
}),
|
|
@@ -12583,8 +10315,8 @@ const TeamMembers = _ref => {
|
|
|
12583
10315
|
isUpdatingMember = _useUpdateMember.isLoading;
|
|
12584
10316
|
const searchProps = {
|
|
12585
10317
|
"data-cy": "ntm-search-members-input",
|
|
12586
|
-
onChange:
|
|
12587
|
-
let value =
|
|
10318
|
+
onChange: _ref3 => {
|
|
10319
|
+
let value = _ref3.target.value;
|
|
12588
10320
|
return setFilters(ramda.mergeLeft({
|
|
12589
10321
|
search: value,
|
|
12590
10322
|
page: DEFAULT_PAGE_NUMBER
|
|
@@ -12619,6 +10351,14 @@ const TeamMembers = _ref => {
|
|
|
12619
10351
|
setSelectedMember(user);
|
|
12620
10352
|
setIsOpen(ramda.assoc("manageMember", true));
|
|
12621
10353
|
};
|
|
10354
|
+
const columns = React.useMemo(() => getColumnData({
|
|
10355
|
+
memberFilter: filters.category,
|
|
10356
|
+
handleUpdateStatus,
|
|
10357
|
+
handleUpdateRole,
|
|
10358
|
+
permissions: config === null || config === void 0 ? void 0 : config.permissions
|
|
10359
|
+
}), [] // eslint-disable-line react-hooks/exhaustive-deps
|
|
10360
|
+
);
|
|
10361
|
+
|
|
12622
10362
|
const handleAlertClose = () => {
|
|
12623
10363
|
setIsOpen(ramda.assoc("alert", false));
|
|
12624
10364
|
setSelectedMember(null);
|
|
@@ -12669,19 +10409,16 @@ const TeamMembers = _ref => {
|
|
|
12669
10409
|
count: team === null || team === void 0 ? void 0 : team.membersCount
|
|
12670
10410
|
}),
|
|
12671
10411
|
rightActionBlock: /*#__PURE__*/React__default["default"].createElement(SubHeader.Right, {
|
|
12672
|
-
|
|
10412
|
+
columns: columns,
|
|
10413
|
+
rolesButtonProps: config.rolesButtonProps,
|
|
10414
|
+
setColumnData: setColumnData
|
|
12673
10415
|
})
|
|
12674
10416
|
}), (team === null || team === void 0 ? void 0 : team.membersCount) !== 0 ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
12675
10417
|
className: "ntm-members__table-wrapper"
|
|
12676
10418
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Table, {
|
|
12677
10419
|
fixedHeight: true,
|
|
12678
10420
|
allowRowClick: false,
|
|
12679
|
-
columnData:
|
|
12680
|
-
memberFilter: filters.category,
|
|
12681
|
-
handleUpdateStatus,
|
|
12682
|
-
handleUpdateRole,
|
|
12683
|
-
permissions: config === null || config === void 0 ? void 0 : config.permissions
|
|
12684
|
-
}),
|
|
10421
|
+
columnData: columnData,
|
|
12685
10422
|
currentPageNumber: parseInt(filters.page, DEFAULT_RADIX),
|
|
12686
10423
|
"data-cy": "ntm-members-table",
|
|
12687
10424
|
defaultPageSize: parseInt(filters.results, DEFAULT_RADIX),
|
|
@@ -12732,10 +10469,9 @@ var index = withReactQuery(TeamMembers);
|
|
|
12732
10469
|
|
|
12733
10470
|
var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
|
|
12734
10471
|
|
|
12735
|
-
var css = ":root {\n --ntm-roles-table-default-scroll: 15px;\n}\n\n.ntm-dropdown__button {\n border-radius: 0 !important;\n font-weight: var(--neeto-ui-font-normal);\n min-height: 34px;\n min-width: 150px;\n text-align: left;\n width: 100%;\n}\n\n.ntm-scrollbar__inner {\n width: 100%;\n height: 200px;\n}\n.ntm-scrollbar__outer {\n position: \"absolute\";\n top: 0px;\n left: 0px;\n width: 200px;\n height: 150px;\n overflow: \"hidden\";\n visibility: \"hidden\";\n}\n\n.ntm-empty-state {\n align-items: center;\n display: flex;\n height: 100%;\n justify-content: center;\n width: 100%;\n}\n.ntm-empty-state__image {\n display: flex;\n justify-content: center;\n align-items: center;\n margin-bottom: 2rem;\n}\n.ntm-empty-state__title--with-action-block {\n margin-bottom: 1rem;\n}\n.ntm-empty-state__action-block {\n display: flex;\n justify-content: center;\n}\n\n.ntm-members {\n overflow: auto;\n width: 100%;\n}\n.ntm-members-wrapper {\n display: flex;\n}\n.ntm-members-page-loader {\n width: 100%;\n height: 100vh;\n}\n.ntm-members__table-wrapper {\n height: calc(100vh - 205px);\n width: 100%;\n}\n.ntm-members-table__column {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n.ntm-members-pane__header {\n margin-bottom: 0.5rem;\n}\n.ntm-members-pane__body {\n width: 100%;\n}\n.ntm-members-pane__body > * + * {\n margin-top: 1rem;\n}\n.ntm-members-pane__footer {\n display: flex;\n gap: 0.5rem;\n}\n\n.ntm-roles-header {\n border-bottom: 1px solid rgb(var(--neeto-ui-gray-300));\n}\n\n.ntm-roles-table__wrapper {\n width: 100%;\n height: calc(100vh - var(--neeto-ui-main-header-height));\n display: flex;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar {\n width: 396px;\n min-width: 396px;\n border-right: thin solid rgb(var(--neeto-ui-gray-300));\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar .ntm-roles-table-sidebar__search {\n padding: 24px 24px 16px;\n height: 72px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar .ntm-roles-table-sidebar__list {\n height: calc(\n 100vh - var(--neeto-ui-main-header-height) - 72px -\n var(--ntm-roles-table-default-scroll)\n );\n overflow-y: auto;\n padding-left: 24px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar .ntm-roles-table-sidebar__list .ntm-roles-table-sidebar__list-item {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 8px;\n min-height: 48px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar .ntm-roles-table-sidebar__list .ntm-roles-table-sidebar__list-item.ntm-roles-table-sidebar__list-item--highlighted {\n background-color: rgb(var(--neeto-ui-primary-100));\n padding: 12px 8px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar .ntm-roles-table-sidebar__list .ntm-roles-table-sidebar__list-item:not(.ntm-roles-table-sidebar__list-item--highlighted) {\n border-bottom: thin solid rgb(var(--neeto-ui-gray-300));\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns {\n width: calc(\n 100vw - var(--neeto-ui-sidebar-width) - 396px - 24px\n );\n overflow: hidden;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__cell {\n width: 100%;\n min-width: 200px;\n min-height: 48px;\n padding: 12px 8px;\n display: flex;\n justify-content: center;\n align-items: center;\n border-right: thin solid rgb(var(--neeto-ui-gray-300));\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table-cell__checkbox-wrapper {\n position: absolute;\n height: 1rem;\n width: 1rem;\n margin: auto;\n z-index: 10;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table-cell__checkbox {\n z-index: 10;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__header {\n display: flex;\n align-items: center;\n overflow-x: auto;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__header .ntm-roles-table__cell {\n height: 72px;\n padding-left: 24px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__header .ntm-roles-table-header-cell__container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n gap: 1rem;\n overflow: hidden;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__header .ntm-roles-table-header__dropdown {\n margin: 3px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__header .ntm-roles-table-header__role-name {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows {\n width: 100%;\n height: calc(\n 100vh - var(--neeto-ui-main-header-height) - 72px -\n var(--ntm-roles-table-default-scroll)\n );\n overflow-y: auto;\n scrollbar-width: none;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows::-webkit-scrollbar {\n width: 0px;\n height: 0px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows::-webkit-scrollbar-thumb {\n background: rgb(var(--neeto-ui-gray-300));\n border-radius: 50px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows::-webkit-scrollbar-thumb:hover {\n border-radius: 50px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows::-webkit-scrollbar-track {\n background: rgb(var(--neeto-ui-gray-300));\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows .ntm-roles-table__row {\n display: flex;\n align-items: center;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows .ntm-roles-table__row .ntm-roles-table__cell {\n overflow: hidden;\n position: relative;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows .ntm-roles-table__row .ntm-roles-table__cell p {\n opacity: 0;\n width: 340px;\n min-width: 340px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows .ntm-roles-table__row.ntm-roles-table__row--highlighted .ntm-roles-table__cell {\n background-color: rgb(var(--neeto-ui-primary-100));\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows .ntm-roles-table__row:not(.ntm-roles-table__row--highlighted) .ntm-roles-table__cell {\n border-bottom: thin solid rgb(var(--neeto-ui-gray-300));\n}\n\n.ntm-roles-table-sidebar__drop-down-button {\n color: rgb(var(--neeto-ui-gray-600));\n cursor: pointer;\n}\n\n.ntm-roles-modal__body > * + * {\n margin-top: 1rem;\n}\n.ntm-roles-modal__footer {\n display: flex;\n gap: 0.5rem;\n}\n\n.ntm-roles-pane__body {\n width: 100%;\n margin-bottom: 1.5rem;\n}\n.ntm-roles-pane__body-wrapper > * + * {\n margin-top: 1rem;\n}\n.ntm-roles-pane__body > * + * {\n margin-top: 1.5rem;\n}\n.ntm-roles-pane__footer {\n display: flex;\n gap: 0.5rem;\n}\n\n.ntm-roles-permission > * + * {\n margin: 0.5rem;\n}\n.ntm-roles-permission__heading {\n color: rgb(var(--neeto-ui-gray-500));\n text-transform: uppercase;\n}\n.ntm-roles-permission__card {\n background-color: rgb(var(--neeto-ui-white));\n border-radius: var(--neeto-ui-rounded);\n border-width: 1px;\n border-color: rgb(var(--neeto-ui-gray-300));\n cursor: pointer;\n display: flex;\n gap: 0.75rem;\n padding: 1rem 0.75rem;\n}\n.ntm-roles-permission__card--description {\n flex-grow: 1;\n}\n.ntm-roles-permission__card--checkbox {\n padding: 0 0.5rem;\n}\n\n.ntm-invitations__wrapper .ntm-invitations__header {\n height: 28px;\n}\n.ntm-invitations__wrapper .ntm-invitations__body {\n display: flex;\n flex-direction: column;\n}\n.ntm-invitations__wrapper .ntm-invitations__body > * {\n margin-bottom: 8px;\n}\n.ntm-invitations__wrapper .ntm-invitations__body-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.ntm-invitations__wrapper .ntm-invitations__body-header div {\n display: flex;\n align-items: center;\n}\n.ntm-invitations__wrapper .ntm-invitations__body-header div p {\n margin-right: 8px;\n}\n.ntm-invitations__wrapper .ntm-invitations__body .ntm-invitations__dnd {\n color: rgb(var(--neeto-ui-gray-700));\n background: rgb(var(--neeto-ui-gray-100));\n padding: 20px 40px;\n border: 1px dashed;\n border-radius: 6px;\n cursor: pointer;\n counter-reset: dnd-counter;\n}\n.ntm-invitations__wrapper .ntm-invitations__body .ntm-invitations__dnd h3 {\n margin-bottom: 8px;\n text-align: center !important;\n}\n.ntm-invitations__wrapper .ntm-invitations__body .ntm-invitations__dnd p::before {\n counter-increment: dnd-counter;\n content: counter(dnd-counter) \". \";\n}\n.ntm-invitations__wrapper .ntm-invitations__body .ntm-invitations__submit-btn {\n align-self: end !important;\n margin-top: 16px;\n}\n.ntm-invitations__wrapper .ntm-invitations__footer {\n background: rgb(var(--neeto-ui-gray-100));\n margin-top: 24px;\n}\n.ntm-invitations__wrapper .ntm-invitations__footer .ntm-invitations__invite-link {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.ntm-invitations__wrapper .ntm-invitations__footer .ntm-invitations__invite-link-instructions {\n display: flex;\n flex-direction: column;\n width: 50%;\n}\n.ntm-invitations__wrapper .ntm-invitations__footer .ntm-invitations__invite-link-instructions h4 {\n margin-bottom: 8px;\n}\n.ntm-invitations__wrapper .ntm-invitations__footer .ntm-invitations__invite-link-btns {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n font-weight: bold;\n}\n.ntm-invitations__wrapper .ntm-invitations__footer .ntm-invitations__invite-link-btns > button:first-child {\n margin-right: 8px;\n}\n.ntm-invitations__wrapper .ntm-invitations__footer .ntm-invitations__invite-link-btns p {\n font-weight: normal;\n color: rgb(var(--neeto-ui-gray-700));\n}\n.ntm-invitations__wrapper .ntm-invitations__footer .ntm-invitations__table {\n max-height: 192px;\n}\n.ntm-invitations__wrapper .ntm-invitations__footer .ntm-invitations__table-filename {\n display: flex;\n align-items: center;\n}\n.ntm-invitations__wrapper .ntm-invitations__footer .ntm-invitations__table-filename svg {\n margin-right: 4px;\n}\n.ntm-invitations__wrapper .ntm-invitations__footer .ntm-invitations__table-status {\n text-transform: capitalize;\n}";
|
|
10472
|
+
var css = ":root {\n --ntm-roles-table-default-scroll: 15px;\n}\n\n.ntm-dropdown__button {\n border-radius: 0 !important;\n font-weight: var(--neeto-ui-font-normal);\n min-height: 34px;\n min-width: 150px;\n text-align: left;\n width: 100%;\n}\n\n.ntm-scrollbar__inner {\n width: 100%;\n height: 200px;\n}\n.ntm-scrollbar__outer {\n position: \"absolute\";\n top: 0px;\n left: 0px;\n width: 200px;\n height: 150px;\n overflow: \"hidden\";\n visibility: \"hidden\";\n}\n\n.ntm-empty-state {\n align-items: center;\n display: flex;\n height: 100%;\n justify-content: center;\n width: 100%;\n}\n.ntm-empty-state__image {\n display: flex;\n justify-content: center;\n align-items: center;\n margin-bottom: 2rem;\n}\n.ntm-empty-state__title--with-action-block {\n margin-bottom: 1rem;\n}\n.ntm-empty-state__action-block {\n display: flex;\n justify-content: center;\n}\n\n.ntm-members {\n overflow: auto;\n width: 100%;\n}\n.ntm-members-wrapper {\n display: flex;\n}\n.ntm-members-page-loader {\n width: 100%;\n height: 100vh;\n}\n.ntm-members__table-wrapper {\n height: calc(100vh - 205px);\n width: 100%;\n}\n.ntm-members-table__column {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n}\n.ntm-members-pane__header {\n margin-bottom: 0.5rem;\n}\n.ntm-members-pane__body {\n width: 100%;\n padding-bottom: 1rem;\n}\n.ntm-members-pane__body > * + * {\n margin-top: 1rem;\n}\n.ntm-members-pane__footer {\n display: flex;\n gap: 0.5rem;\n}\n\n.ntm-members-radio-group {\n width: 100%;\n}\n.ntm-members-radio-group .neeto-ui-radio__container--stacked {\n width: 100%;\n}\n\n.ntm-members-pane-radio-item__wrapper {\n width: 100%;\n cursor: pointer;\n padding: 16px 0px !important;\n border-bottom: 1px solid rgb(var(--neeto-ui-gray-200));\n}\n.ntm-members-pane-radio-item__wrapper:first-child {\n padding-top: 0px !important;\n}\n.ntm-members-pane-radio-item__label {\n margin-bottom: 0 !important;\n}\n.ntm-members-pane-radio-item__description {\n color: rgb(var(--neeto-ui-gray-700));\n}\n\n.ntm-roles-header {\n border-bottom: 1px solid rgb(var(--neeto-ui-gray-300));\n}\n\n.ntm-roles-table__wrapper {\n width: 100%;\n height: calc(100vh - var(--neeto-ui-main-header-height));\n display: flex;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar {\n width: 396px;\n min-width: 396px;\n border-right: thin solid rgb(var(--neeto-ui-gray-300));\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar .ntm-roles-table-sidebar__search {\n padding: 24px 24px 16px;\n height: 72px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar .ntm-roles-table-sidebar__list {\n height: calc(\n 100vh - var(--neeto-ui-main-header-height) - 72px -\n var(--ntm-roles-table-default-scroll)\n );\n overflow-y: auto;\n padding-left: 24px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar .ntm-roles-table-sidebar__list .ntm-roles-table-sidebar__list-item {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 8px;\n min-height: 48px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar .ntm-roles-table-sidebar__list .ntm-roles-table-sidebar__list-item.ntm-roles-table-sidebar__list-item--highlighted {\n background-color: rgb(var(--neeto-ui-primary-100));\n padding: 12px 8px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__sidebar .ntm-roles-table-sidebar__list .ntm-roles-table-sidebar__list-item:not(.ntm-roles-table-sidebar__list-item--highlighted) {\n border-bottom: thin solid rgb(var(--neeto-ui-gray-300));\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns {\n width: calc(\n 100vw - var(--neeto-ui-sidebar-width) - 396px - 24px\n );\n overflow: hidden;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__cell {\n width: 100%;\n min-width: 200px;\n min-height: 48px;\n padding: 12px 8px;\n display: flex;\n justify-content: center;\n align-items: center;\n border-right: thin solid rgb(var(--neeto-ui-gray-300));\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table-cell__checkbox-wrapper {\n position: absolute;\n height: 1rem;\n width: 1rem;\n margin: auto;\n z-index: 10;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table-cell__checkbox {\n z-index: 10;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__header {\n display: flex;\n align-items: center;\n overflow-x: auto;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__header .ntm-roles-table__cell {\n height: 72px;\n padding-left: 24px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__header .ntm-roles-table-header-cell__container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n gap: 1rem;\n overflow: hidden;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__header .ntm-roles-table-header__dropdown {\n margin: 3px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__header .ntm-roles-table-header__role-name {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows {\n width: 100%;\n height: calc(\n 100vh - var(--neeto-ui-main-header-height) - 72px -\n var(--ntm-roles-table-default-scroll)\n );\n overflow-y: auto;\n scrollbar-width: none;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows::-webkit-scrollbar {\n width: 0px;\n height: 0px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows::-webkit-scrollbar-thumb {\n background: rgb(var(--neeto-ui-gray-300));\n border-radius: 50px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows::-webkit-scrollbar-thumb:hover {\n border-radius: 50px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows::-webkit-scrollbar-track {\n background: rgb(var(--neeto-ui-gray-300));\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows .ntm-roles-table__row {\n display: flex;\n align-items: center;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows .ntm-roles-table__row .ntm-roles-table__cell {\n overflow: hidden;\n position: relative;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows .ntm-roles-table__row .ntm-roles-table__cell p {\n opacity: 0;\n width: 340px;\n min-width: 340px;\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows .ntm-roles-table__row.ntm-roles-table__row--highlighted .ntm-roles-table__cell {\n background-color: rgb(var(--neeto-ui-primary-100));\n}\n.ntm-roles-table__wrapper .ntm-roles-table__columns .ntm-roles-table__rows .ntm-roles-table__row:not(.ntm-roles-table__row--highlighted) .ntm-roles-table__cell {\n border-bottom: thin solid rgb(var(--neeto-ui-gray-300));\n}\n\n.ntm-roles-table-sidebar__drop-down-button {\n color: rgb(var(--neeto-ui-gray-600));\n cursor: pointer;\n}\n\n.ntm-roles-modal__body > * + * {\n margin-top: 1rem;\n}\n.ntm-roles-modal__footer {\n display: flex;\n gap: 0.5rem;\n}\n\n.ntm-roles-pane__body {\n width: 100%;\n margin-bottom: 1.5rem;\n}\n.ntm-roles-pane__body-wrapper > * + * {\n margin-top: 1rem;\n}\n.ntm-roles-pane__body > * + * {\n margin-top: 1.5rem;\n}\n.ntm-roles-pane__footer {\n display: flex;\n gap: 0.5rem;\n}\n\n.ntm-roles-permission > * + * {\n margin: 0.5rem;\n}\n.ntm-roles-permission__heading {\n color: rgb(var(--neeto-ui-gray-500));\n text-transform: uppercase;\n}\n.ntm-roles-permission__card {\n background-color: rgb(var(--neeto-ui-white));\n align-items: center;\n border-radius: var(--neeto-ui-rounded);\n border-width: 1px;\n border-color: rgb(var(--neeto-ui-gray-300));\n cursor: pointer;\n display: flex;\n gap: 0.75rem;\n padding: 1rem 0.75rem;\n}\n.ntm-roles-permission__card--description {\n flex-grow: 1;\n}\n.ntm-roles-permission__card--checkbox {\n padding: 0 0.5rem;\n}\n\ntd.ant-table-column-sort {\n background: transparent;\n}";
|
|
12736
10473
|
n(css,{});
|
|
12737
10474
|
|
|
12738
|
-
exports.Invitations = index$2;
|
|
12739
10475
|
exports.Roles = index$1;
|
|
12740
10476
|
exports.TeamMembers = index;
|
|
12741
10477
|
exports.hasPermission = hasPermission;
|