@typeolymp/ui-components 1.16.7 → 1.17.0
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/build/components/atoms/Icon/index.d.ts +1 -1
- package/build/components/molecules/FileUpload/index.d.ts +13 -0
- package/build/components/molecules/FileUpload/stories.d.ts +13 -0
- package/build/components/molecules/FileUpload/styles.d.ts +1 -0
- package/build/index.d.ts +3 -2
- package/build/index.es.js +2811 -106
- package/build/index.es.js.map +1 -1
- package/build/index.js +2810 -104
- package/build/index.js.map +1 -1
- package/build/{lib → utils}/translations/index.d.ts +1 -1
- package/build/utils/types/TranslationType.d.ts +11 -0
- package/package.json +5 -3
- package/build/components/atoms/Input/translations.d.ts +0 -11
- package/build/components/molecules/Key/translations.d.ts +0 -5
- package/build/components/molecules/PasswordInputField/translations.d.ts +0 -11
- package/build/components/molecules/Tabs/styles.d.ts +0 -2
- package/build/lib/types/TranslationType.d.ts +0 -7
- /package/build/{lib → utils}/enums.d.ts +0 -0
- /package/build/{lib → utils}/helpers.d.ts +0 -0
- /package/build/{lib → utils}/theme/index.d.ts +0 -0
- /package/build/{lib → utils}/theme/types.d.ts +0 -0
package/build/index.es.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as jsx$1, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
|
|
2
2
|
import * as React$3 from 'react';
|
|
3
|
-
import React__default, { useLayoutEffect, useContext, forwardRef, createElement, createContext, Fragment, useRef, useState, useEffect, useImperativeHandle } from 'react';
|
|
3
|
+
import React__default, { useLayoutEffect, useContext, forwardRef, createElement, createContext, Fragment, useRef, useState, useEffect, useMemo, useReducer, useCallback, useImperativeHandle } from 'react';
|
|
4
4
|
import styled, { keyframes as keyframes$1 } from 'styled-components';
|
|
5
5
|
|
|
6
6
|
var theme = {
|
|
@@ -223,6 +223,23 @@ function __generator(thisArg, body) {
|
|
|
223
223
|
}
|
|
224
224
|
}
|
|
225
225
|
|
|
226
|
+
function __read(o, n) {
|
|
227
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
228
|
+
if (!m) return o;
|
|
229
|
+
var i = m.call(o), r, ar = [], e;
|
|
230
|
+
try {
|
|
231
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
232
|
+
}
|
|
233
|
+
catch (error) { e = { error: error }; }
|
|
234
|
+
finally {
|
|
235
|
+
try {
|
|
236
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
237
|
+
}
|
|
238
|
+
finally { if (e) throw e.error; }
|
|
239
|
+
}
|
|
240
|
+
return ar;
|
|
241
|
+
}
|
|
242
|
+
|
|
226
243
|
function __spreadArray(to, from, pack) {
|
|
227
244
|
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
228
245
|
if (ar || !(i in from)) {
|
|
@@ -436,7 +453,7 @@ var from = String.fromCharCode;
|
|
|
436
453
|
* @param {object}
|
|
437
454
|
* @return {object}
|
|
438
455
|
*/
|
|
439
|
-
var assign = Object.assign;
|
|
456
|
+
var assign$1 = Object.assign;
|
|
440
457
|
|
|
441
458
|
/**
|
|
442
459
|
* @param {string} value
|
|
@@ -562,7 +579,7 @@ function node$1 (value, root, parent, type, props, children, length) {
|
|
|
562
579
|
* @return {object}
|
|
563
580
|
*/
|
|
564
581
|
function copy (root, props) {
|
|
565
|
-
return assign(node$1('', null, null, '', null, null, 0), root, {length: -root.length}, props)
|
|
582
|
+
return assign$1(node$1('', null, null, '', null, null, 0), root, {length: -root.length}, props)
|
|
566
583
|
}
|
|
567
584
|
|
|
568
585
|
/**
|
|
@@ -1951,7 +1968,7 @@ function getStatics(component) {
|
|
|
1951
1968
|
|
|
1952
1969
|
var defineProperty = Object.defineProperty;
|
|
1953
1970
|
var getOwnPropertyNames = Object.getOwnPropertyNames;
|
|
1954
|
-
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
|
|
1971
|
+
var getOwnPropertySymbols$1 = Object.getOwnPropertySymbols;
|
|
1955
1972
|
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
|
1956
1973
|
var getPrototypeOf = Object.getPrototypeOf;
|
|
1957
1974
|
var objectPrototype = Object.prototype;
|
|
@@ -1968,8 +1985,8 @@ function hoistNonReactStatics$2(targetComponent, sourceComponent, blacklist) {
|
|
|
1968
1985
|
|
|
1969
1986
|
var keys = getOwnPropertyNames(sourceComponent);
|
|
1970
1987
|
|
|
1971
|
-
if (getOwnPropertySymbols) {
|
|
1972
|
-
keys = keys.concat(getOwnPropertySymbols(sourceComponent));
|
|
1988
|
+
if (getOwnPropertySymbols$1) {
|
|
1989
|
+
keys = keys.concat(getOwnPropertySymbols$1(sourceComponent));
|
|
1973
1990
|
}
|
|
1974
1991
|
|
|
1975
1992
|
var targetStatics = getStatics(targetComponent);
|
|
@@ -2481,7 +2498,7 @@ var useInsertionEffectAlwaysWithSyncFallback = !isBrowser$2 ? syncFallback : use
|
|
|
2481
2498
|
var useInsertionEffectWithLayoutFallback = useInsertionEffect || useLayoutEffect;
|
|
2482
2499
|
|
|
2483
2500
|
var isBrowser$1 = typeof document !== 'undefined';
|
|
2484
|
-
var hasOwnProperty = {}.hasOwnProperty;
|
|
2501
|
+
var hasOwnProperty$1 = {}.hasOwnProperty;
|
|
2485
2502
|
|
|
2486
2503
|
var EmotionCacheContext = /* #__PURE__ */createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case
|
|
2487
2504
|
// because this module is primarily intended for the browser and node
|
|
@@ -2650,7 +2667,7 @@ var createEmotionProps = function createEmotionProps(type, props) {
|
|
|
2650
2667
|
var newProps = {};
|
|
2651
2668
|
|
|
2652
2669
|
for (var key in props) {
|
|
2653
|
-
if (hasOwnProperty.call(props, key)) {
|
|
2670
|
+
if (hasOwnProperty$1.call(props, key)) {
|
|
2654
2671
|
newProps[key] = props[key];
|
|
2655
2672
|
}
|
|
2656
2673
|
}
|
|
@@ -2727,7 +2744,7 @@ var Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {
|
|
|
2727
2744
|
var newProps = {};
|
|
2728
2745
|
|
|
2729
2746
|
for (var key in props) {
|
|
2730
|
-
if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {
|
|
2747
|
+
if (hasOwnProperty$1.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {
|
|
2731
2748
|
newProps[key] = props[key];
|
|
2732
2749
|
}
|
|
2733
2750
|
}
|
|
@@ -2866,7 +2883,7 @@ var pkg = {
|
|
|
2866
2883
|
var jsx = function jsx(type, props) {
|
|
2867
2884
|
var args = arguments;
|
|
2868
2885
|
|
|
2869
|
-
if (props == null || !hasOwnProperty.call(props, 'css')) {
|
|
2886
|
+
if (props == null || !hasOwnProperty$1.call(props, 'css')) {
|
|
2870
2887
|
// $FlowFixMe
|
|
2871
2888
|
return createElement.apply(undefined, args);
|
|
2872
2889
|
}
|
|
@@ -3414,7 +3431,7 @@ Object.defineProperty(BeatLoader, "__esModule", { value: true });
|
|
|
3414
3431
|
var React$2 = __importStar$2(React__default);
|
|
3415
3432
|
var react_1 = require$$1;
|
|
3416
3433
|
var helpers_1 = helpers$1;
|
|
3417
|
-
var beat = react_1.keyframes(templateObject_1$
|
|
3434
|
+
var beat = react_1.keyframes(templateObject_1$U || (templateObject_1$U = __makeTemplateObject(["\n 50% {transform: scale(0.75);opacity: 0.2}\n 100% {transform: scale(1);opacity: 1}\n"], ["\n 50% {transform: scale(0.75);opacity: 0.2}\n 100% {transform: scale(1);opacity: 1}\n"])));
|
|
3418
3435
|
var Loader = /** @class */ (function (_super) {
|
|
3419
3436
|
__extends$1(Loader, _super);
|
|
3420
3437
|
function Loader() {
|
|
@@ -3435,10 +3452,10 @@ var Loader = /** @class */ (function (_super) {
|
|
|
3435
3452
|
Loader.defaultProps = helpers_1.sizeMarginDefaults(15);
|
|
3436
3453
|
return Loader;
|
|
3437
3454
|
}(React$2.PureComponent));
|
|
3438
|
-
var _default = BeatLoader.default = Loader;
|
|
3439
|
-
var templateObject_1$
|
|
3455
|
+
var _default$1 = BeatLoader.default = Loader;
|
|
3456
|
+
var templateObject_1$U, templateObject_2$z;
|
|
3440
3457
|
|
|
3441
|
-
var StyledButton = styled.button(templateObject_1$
|
|
3458
|
+
var StyledButton = styled.button(templateObject_1$T || (templateObject_1$T = __makeTemplateObject$1(["\n width: ", ";\n height: ", ";\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n padding: 13px 20px 16px;\n background-color: ", ";\n box-shadow: ", ";\n\n border: ", ";\n border-radius: 6px;\n box-sizing: border-box;\n text-decoration: none;\n cursor: pointer;\n\n span {\n color: ", ";\n font-family: ", ";\n font-style: normal;\n font-weight: bold;\n font-size: ", ";\n }\n\n :hover {\n opacity: 0.85;\n }\n\n :active {\n box-shadow: none;\n margin-top: ", ";\n height: ", ";\n }\n"], ["\n width: ", ";\n height: ", ";\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n padding: 13px 20px 16px;\n background-color: ", ";\n box-shadow: ", ";\n\n border: ", ";\n border-radius: 6px;\n box-sizing: border-box;\n text-decoration: none;\n cursor: pointer;\n\n span {\n color: ", ";\n font-family: ", ";\n font-style: normal;\n font-weight: bold;\n font-size: ", ";\n }\n\n :hover {\n opacity: 0.85;\n }\n\n :active {\n box-shadow: none;\n margin-top: ", ";\n height: ", ";\n }\n"])), function (_a) {
|
|
3442
3459
|
var fluid = _a.fluid;
|
|
3443
3460
|
return (fluid ? "100%" : "fit-content");
|
|
3444
3461
|
}, function (_a) {
|
|
@@ -3519,7 +3536,7 @@ var LoaderWrapper = styled.div(templateObject_4$8 || (templateObject_4$8 = __mak
|
|
|
3519
3536
|
var size = _a.size;
|
|
3520
3537
|
return (size === "small" ? "3px" : "");
|
|
3521
3538
|
});
|
|
3522
|
-
var templateObject_1$
|
|
3539
|
+
var templateObject_1$T, templateObject_2$y, templateObject_3$c, templateObject_4$8;
|
|
3523
3540
|
|
|
3524
3541
|
var Button = forwardRef(function (_a, ref) {
|
|
3525
3542
|
var label = _a.label, color = _a.color, size = _a.size, fluid = _a.fluid, disabled = _a.disabled, type = _a.type, tabIndex = _a.tabIndex, href = _a.href, asAnchor = _a.asAnchor, props = __rest(_a, ["label", "color", "size", "fluid", "disabled", "type", "tabIndex", "href", "asAnchor"]);
|
|
@@ -3547,7 +3564,7 @@ var Button = forwardRef(function (_a, ref) {
|
|
|
3547
3564
|
var width = ((_b = buttonRef.current) === null || _b === void 0 ? void 0 : _b.clientWidth) - 40;
|
|
3548
3565
|
if (dark)
|
|
3549
3566
|
width = width + 4;
|
|
3550
|
-
return (jsx$1(LoaderWrapper, __assign$2({ width: width, size: size }, { children: jsx$1(_default, { size: 10, color: dark
|
|
3567
|
+
return (jsx$1(LoaderWrapper, __assign$2({ width: width, size: size }, { children: jsx$1(_default$1, { size: 10, color: dark
|
|
3551
3568
|
? theme.colors.lightGray.darker
|
|
3552
3569
|
: theme.colors.lightGray.light, speedMultiplier: 0.5 }) })));
|
|
3553
3570
|
};
|
|
@@ -3559,7 +3576,7 @@ var Button = forwardRef(function (_a, ref) {
|
|
|
3559
3576
|
return (jsx$1(StyledButton, __assign$2({ color: color, size: size, fluid: fluid, type: type, tabIndex: tabIndex, as: as, href: href, ref: ref ? ref : buttonRef, onClick: onClick }, { children: isLoading ? jsx$1(Loader, {}) : jsx$1("span", { children: label }) })));
|
|
3560
3577
|
});
|
|
3561
3578
|
|
|
3562
|
-
var StyledCheckbox = styled.div(templateObject_1$
|
|
3579
|
+
var StyledCheckbox = styled.div(templateObject_1$S || (templateObject_1$S = __makeTemplateObject$1(["\n min-height: 25px;\n max-height: 25px;\n min-width: 25px;\n max-width: 25px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 4px;\n border-width: 1px;\n border-style: solid;\n border-color: ", ";\n cursor: ", ";\n background-color: ", ";\n\n svg {\n margin-left: -1px;\n fill: ", ";\n }\n\n input {\n display: none;\n }\n\n :focus {\n outline: 0;\n border-color: ", ";\n box-shadow: ", ";\n }\n"], ["\n min-height: 25px;\n max-height: 25px;\n min-width: 25px;\n max-width: 25px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 4px;\n border-width: 1px;\n border-style: solid;\n border-color: ", ";\n cursor: ", ";\n background-color: ", ";\n\n svg {\n margin-left: -1px;\n fill: ", ";\n }\n\n input {\n display: none;\n }\n\n :focus {\n outline: 0;\n border-color: ", ";\n box-shadow: ", ";\n }\n"])), function (_a) {
|
|
3563
3580
|
var checked = _a.checked, disabled = _a.disabled;
|
|
3564
3581
|
if (disabled)
|
|
3565
3582
|
return theme.colors.lightGray.darker;
|
|
@@ -3580,7 +3597,7 @@ var StyledCheckbox = styled.div(templateObject_1$R || (templateObject_1$R = __ma
|
|
|
3580
3597
|
return theme.colors.green.base;
|
|
3581
3598
|
return theme.colors.lightGray.darker;
|
|
3582
3599
|
}, theme.colors.blue.dark, "0 0 0 1px ".concat(theme.colors.blue.dark));
|
|
3583
|
-
var templateObject_1$
|
|
3600
|
+
var templateObject_1$S;
|
|
3584
3601
|
|
|
3585
3602
|
var Checkbox = function (props) {
|
|
3586
3603
|
var _a;
|
|
@@ -3613,7 +3630,7 @@ var Checkbox = function (props) {
|
|
|
3613
3630
|
return (jsxs(StyledCheckbox, __assign$2({ checked: checked, disabled: props.disabled, tabIndex: 0, onClick: toggle, onBlur: props.onBlur, onKeyPress: function (e) { return (e.key === "Enter" ? toggle() : null); }, ref: wrapperRef }, { children: [checked && (jsx$1("svg", __assign$2({ width: 16, height: 12, viewBox: "0 0 16 12", fill: "none" }, { children: jsx$1("path", { d: "M12.61.563l-6.585 6.6L3.439 4.57a1.997 1.997 0 00-3.374.885c-.183.7.026 1.446.546 1.949l4 4.008a1.997 1.997 0 002.828 0l8-8.017a2.007 2.007 0 00-.025-2.809 1.997 1.997 0 00-2.803-.024z" }) }))), jsx$1("input", { type: "checkbox", disabled: !!props.disabled, id: props.id, name: props.name, value: props.value, ref: inputRef })] })));
|
|
3614
3631
|
};
|
|
3615
3632
|
|
|
3616
|
-
var Wrapper$a = styled.div(templateObject_1$
|
|
3633
|
+
var Wrapper$a = styled.div(templateObject_1$R || (templateObject_1$R = __makeTemplateObject$1(["\n width: ", ";\n height: ", ";\n"], ["\n width: ", ";\n height: ", ";\n"])), function (_a) {
|
|
3617
3634
|
var size = _a.size;
|
|
3618
3635
|
switch (size) {
|
|
3619
3636
|
case "small":
|
|
@@ -3636,7 +3653,7 @@ var Wrapper$a = styled.div(templateObject_1$Q || (templateObject_1$Q = __makeTem
|
|
|
3636
3653
|
return "27px";
|
|
3637
3654
|
}
|
|
3638
3655
|
});
|
|
3639
|
-
var templateObject_1$
|
|
3656
|
+
var templateObject_1$R;
|
|
3640
3657
|
|
|
3641
3658
|
var parsers = {};
|
|
3642
3659
|
|
|
@@ -3644,6 +3661,48 @@ var getCountryByLocale$1 = {};
|
|
|
3644
3661
|
|
|
3645
3662
|
var enums = {};
|
|
3646
3663
|
|
|
3664
|
+
var AccountType = {};
|
|
3665
|
+
|
|
3666
|
+
(function (exports) {
|
|
3667
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3668
|
+
exports.AccountType = void 0;
|
|
3669
|
+
(function (AccountType) {
|
|
3670
|
+
AccountType["STUDENT"] = "student";
|
|
3671
|
+
AccountType["PARENT"] = "parent";
|
|
3672
|
+
AccountType["TUTOR"] = "tutor";
|
|
3673
|
+
})(exports.AccountType || (exports.AccountType = {}));
|
|
3674
|
+
|
|
3675
|
+
}(AccountType));
|
|
3676
|
+
|
|
3677
|
+
var AchievementType = {};
|
|
3678
|
+
|
|
3679
|
+
(function (exports) {
|
|
3680
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3681
|
+
exports.AchievementType = void 0;
|
|
3682
|
+
(function (AchievementType) {
|
|
3683
|
+
AchievementType["PRACTICE_TIME"] = "practiceTime";
|
|
3684
|
+
AchievementType["PRACTICE_STREAK"] = "practiceStreak";
|
|
3685
|
+
AchievementType["MEDALS"] = "medals";
|
|
3686
|
+
})(exports.AchievementType || (exports.AchievementType = {}));
|
|
3687
|
+
|
|
3688
|
+
}(AchievementType));
|
|
3689
|
+
|
|
3690
|
+
var ChartDataType = {};
|
|
3691
|
+
|
|
3692
|
+
(function (exports) {
|
|
3693
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3694
|
+
exports.ChartDataType = void 0;
|
|
3695
|
+
(function (ChartDataType) {
|
|
3696
|
+
ChartDataType["PROGRESS"] = "progress";
|
|
3697
|
+
ChartDataType["TIME_PRACTISED"] = "timePractised";
|
|
3698
|
+
ChartDataType["RESULTS"] = "results";
|
|
3699
|
+
ChartDataType["HITS"] = "hits";
|
|
3700
|
+
ChartDataType["KPM"] = "kpm";
|
|
3701
|
+
ChartDataType["ACCURACY"] = "accuracy";
|
|
3702
|
+
})(exports.ChartDataType || (exports.ChartDataType = {}));
|
|
3703
|
+
|
|
3704
|
+
}(ChartDataType));
|
|
3705
|
+
|
|
3647
3706
|
var Color = {};
|
|
3648
3707
|
|
|
3649
3708
|
(function (exports) {
|
|
@@ -3687,6 +3746,69 @@ exports.CourseTranslation = void 0;
|
|
|
3687
3746
|
|
|
3688
3747
|
}(CourseTranslation));
|
|
3689
3748
|
|
|
3749
|
+
var Currency = {};
|
|
3750
|
+
|
|
3751
|
+
(function (exports) {
|
|
3752
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3753
|
+
exports.Currency = void 0;
|
|
3754
|
+
(function (Currency) {
|
|
3755
|
+
Currency["EUR"] = "EUR";
|
|
3756
|
+
Currency["GBP"] = "GBP";
|
|
3757
|
+
Currency["USD"] = "USD";
|
|
3758
|
+
})(exports.Currency || (exports.Currency = {}));
|
|
3759
|
+
|
|
3760
|
+
}(Currency));
|
|
3761
|
+
|
|
3762
|
+
var ExerciseType = {};
|
|
3763
|
+
|
|
3764
|
+
(function (exports) {
|
|
3765
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3766
|
+
exports.ExerciseType = void 0;
|
|
3767
|
+
(function (ExerciseType) {
|
|
3768
|
+
ExerciseType["KEYS"] = "keys";
|
|
3769
|
+
ExerciseType["DRILLS"] = "drills";
|
|
3770
|
+
ExerciseType["WORDS"] = "words";
|
|
3771
|
+
ExerciseType["TEXT"] = "text";
|
|
3772
|
+
})(exports.ExerciseType || (exports.ExerciseType = {}));
|
|
3773
|
+
|
|
3774
|
+
}(ExerciseType));
|
|
3775
|
+
|
|
3776
|
+
var HttpStatus = {};
|
|
3777
|
+
|
|
3778
|
+
(function (exports) {
|
|
3779
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3780
|
+
exports.HttpStatusText = exports.HttpStatusCode = void 0;
|
|
3781
|
+
(function (HttpStatusCode) {
|
|
3782
|
+
// 2xx Success
|
|
3783
|
+
HttpStatusCode[HttpStatusCode["OK"] = 200] = "OK";
|
|
3784
|
+
HttpStatusCode[HttpStatusCode["CREATED"] = 201] = "CREATED";
|
|
3785
|
+
// 4xx Client Errors
|
|
3786
|
+
HttpStatusCode[HttpStatusCode["BAD_REQUEST"] = 400] = "BAD_REQUEST";
|
|
3787
|
+
HttpStatusCode[HttpStatusCode["UNAUTHORIZED"] = 401] = "UNAUTHORIZED";
|
|
3788
|
+
HttpStatusCode[HttpStatusCode["FORBIDDEN"] = 403] = "FORBIDDEN";
|
|
3789
|
+
HttpStatusCode[HttpStatusCode["NOT_FOUND"] = 404] = "NOT_FOUND";
|
|
3790
|
+
HttpStatusCode[HttpStatusCode["CONFLICT"] = 409] = "CONFLICT";
|
|
3791
|
+
// 5xx Server Errors
|
|
3792
|
+
HttpStatusCode[HttpStatusCode["INTERNAL_SERVER_ERROR"] = 500] = "INTERNAL_SERVER_ERROR";
|
|
3793
|
+
HttpStatusCode[HttpStatusCode["NOT_IMPLEMENTED"] = 501] = "NOT_IMPLEMENTED";
|
|
3794
|
+
})(exports.HttpStatusCode || (exports.HttpStatusCode = {}));
|
|
3795
|
+
(function (HttpStatusText) {
|
|
3796
|
+
// 2xx Success
|
|
3797
|
+
HttpStatusText["OK"] = "OK";
|
|
3798
|
+
HttpStatusText["CREATED"] = "Created";
|
|
3799
|
+
// 4xx Client Errors
|
|
3800
|
+
HttpStatusText["BAD_REQUEST"] = "Bad Request";
|
|
3801
|
+
HttpStatusText["UNAUTHORIZED"] = "Unauthorized";
|
|
3802
|
+
HttpStatusText["FORBIDDEN"] = "Forbidden";
|
|
3803
|
+
HttpStatusText["NOT_FOUND"] = "Not Found";
|
|
3804
|
+
HttpStatusText["CONFLICT"] = "Conflict";
|
|
3805
|
+
// 5xx Server Errors
|
|
3806
|
+
HttpStatusText["INTERNAL_SERVER_ERROR"] = "Internal Server Error";
|
|
3807
|
+
HttpStatusText["NOT_IMPLEMENTED"] = "Not Implemented";
|
|
3808
|
+
})(exports.HttpStatusText || (exports.HttpStatusText = {}));
|
|
3809
|
+
|
|
3810
|
+
}(HttpStatus));
|
|
3811
|
+
|
|
3690
3812
|
var KeyboardLayout = {};
|
|
3691
3813
|
|
|
3692
3814
|
(function (exports) {
|
|
@@ -3720,6 +3842,32 @@ exports.Locale = void 0;
|
|
|
3720
3842
|
|
|
3721
3843
|
}(Locale));
|
|
3722
3844
|
|
|
3845
|
+
var Medal$1 = {};
|
|
3846
|
+
|
|
3847
|
+
(function (exports) {
|
|
3848
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3849
|
+
exports.Medal = void 0;
|
|
3850
|
+
(function (Medal) {
|
|
3851
|
+
Medal["GOLD"] = "gold";
|
|
3852
|
+
Medal["SILVER"] = "silver";
|
|
3853
|
+
Medal["BRONZE"] = "bronze";
|
|
3854
|
+
})(exports.Medal || (exports.Medal = {}));
|
|
3855
|
+
|
|
3856
|
+
}(Medal$1));
|
|
3857
|
+
|
|
3858
|
+
var NodeEnv = {};
|
|
3859
|
+
|
|
3860
|
+
(function (exports) {
|
|
3861
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3862
|
+
exports.NodeEnv = void 0;
|
|
3863
|
+
(function (NodeEnv) {
|
|
3864
|
+
NodeEnv["TEST"] = "test";
|
|
3865
|
+
NodeEnv["DEVELOPMENT"] = "development";
|
|
3866
|
+
NodeEnv["PRODUCTION"] = "production";
|
|
3867
|
+
})(exports.NodeEnv || (exports.NodeEnv = {}));
|
|
3868
|
+
|
|
3869
|
+
}(NodeEnv));
|
|
3870
|
+
|
|
3723
3871
|
var Plan = {};
|
|
3724
3872
|
|
|
3725
3873
|
(function (exports) {
|
|
@@ -3751,19 +3899,6 @@ exports.TextTopic = void 0;
|
|
|
3751
3899
|
|
|
3752
3900
|
}(TextTopic));
|
|
3753
3901
|
|
|
3754
|
-
var Medal$1 = {};
|
|
3755
|
-
|
|
3756
|
-
(function (exports) {
|
|
3757
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3758
|
-
exports.Medal = void 0;
|
|
3759
|
-
(function (Medal) {
|
|
3760
|
-
Medal["GOLD"] = "gold";
|
|
3761
|
-
Medal["SILVER"] = "silver";
|
|
3762
|
-
Medal["BRONZE"] = "bronze";
|
|
3763
|
-
})(exports.Medal || (exports.Medal = {}));
|
|
3764
|
-
|
|
3765
|
-
}(Medal$1));
|
|
3766
|
-
|
|
3767
3902
|
(function (exports) {
|
|
3768
3903
|
var __createBinding = (commonjsGlobal && commonjsGlobal.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3769
3904
|
if (k2 === undefined) k2 = k;
|
|
@@ -3780,14 +3915,21 @@ var __exportStar = (commonjsGlobal && commonjsGlobal.__exportStar) || function(m
|
|
|
3780
3915
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
3781
3916
|
};
|
|
3782
3917
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3918
|
+
__exportStar(AccountType, exports);
|
|
3919
|
+
__exportStar(AchievementType, exports);
|
|
3920
|
+
__exportStar(ChartDataType, exports);
|
|
3783
3921
|
__exportStar(Color, exports);
|
|
3784
3922
|
__exportStar(Country, exports);
|
|
3785
3923
|
__exportStar(CourseTranslation, exports);
|
|
3924
|
+
__exportStar(Currency, exports);
|
|
3925
|
+
__exportStar(ExerciseType, exports);
|
|
3926
|
+
__exportStar(HttpStatus, exports);
|
|
3786
3927
|
__exportStar(KeyboardLayout, exports);
|
|
3787
3928
|
__exportStar(Locale, exports);
|
|
3929
|
+
__exportStar(Medal$1, exports);
|
|
3930
|
+
__exportStar(NodeEnv, exports);
|
|
3788
3931
|
__exportStar(Plan, exports);
|
|
3789
3932
|
__exportStar(TextTopic, exports);
|
|
3790
|
-
__exportStar(Medal$1, exports);
|
|
3791
3933
|
|
|
3792
3934
|
}(enums));
|
|
3793
3935
|
|
|
@@ -3907,7 +4049,7 @@ var flags = {
|
|
|
3907
4049
|
};
|
|
3908
4050
|
var Flag = function (props) { return (jsx$1(Wrapper$a, __assign$2({}, props, { children: flags[parsers.getCountryCodeByLocale(props.locale)] }))); };
|
|
3909
4051
|
|
|
3910
|
-
var StyledHeading = styled.span(templateObject_1$
|
|
4052
|
+
var StyledHeading = styled.span(templateObject_1$Q || (templateObject_1$Q = __makeTemplateObject$1(["\n font-family: ", ";\n font-size: ", ";\n font-weight: 700;\n font-style: normal;\n line-height: ", ";\n letter-spacing: ", ";\n margin: 0;\n color: ", ";\n text-align: ", ";\n"], ["\n font-family: ", ";\n font-size: ", ";\n font-weight: 700;\n font-style: normal;\n line-height: ", ";\n letter-spacing: ", ";\n margin: 0;\n color: ", ";\n text-align: ", ";\n"])), theme.fonts.heading, function (_a) {
|
|
3911
4053
|
var type = _a.type;
|
|
3912
4054
|
return theme.heading[type].fontSize;
|
|
3913
4055
|
}, function (_a) {
|
|
@@ -3931,14 +4073,14 @@ var StyledHeading = styled.span(templateObject_1$P || (templateObject_1$P = __ma
|
|
|
3931
4073
|
var align = _a.align;
|
|
3932
4074
|
return align;
|
|
3933
4075
|
});
|
|
3934
|
-
var templateObject_1$
|
|
4076
|
+
var templateObject_1$Q;
|
|
3935
4077
|
|
|
3936
4078
|
var Heading = function (props) {
|
|
3937
4079
|
var element = !!props.as ? props.as : props.type;
|
|
3938
4080
|
return (jsx$1(StyledHeading, __assign$2({}, props, { as: element }, { children: props.children })));
|
|
3939
4081
|
};
|
|
3940
4082
|
|
|
3941
|
-
var Wrapper$9 = styled.div(templateObject_1$
|
|
4083
|
+
var Wrapper$9 = styled.div(templateObject_1$P || (templateObject_1$P = __makeTemplateObject$1(["\n width: ", ";\n height: ", ";\n\n > svg {\n fill: ", ";\n\n :hover {\n cursor: ", ";\n fill: ", ";\n }\n }\n"], ["\n width: ", ";\n height: ", ";\n\n > svg {\n fill: ", ";\n\n :hover {\n cursor: ", ";\n fill: ", ";\n }\n }\n"])), function (_a) {
|
|
3942
4084
|
var size = _a.size;
|
|
3943
4085
|
return theme.icon[size] || theme.icon.medium;
|
|
3944
4086
|
}, function (_a) {
|
|
@@ -3996,7 +4138,7 @@ var Wrapper$9 = styled.div(templateObject_1$O || (templateObject_1$O = __makeTem
|
|
|
3996
4138
|
return theme.colors.lightGray.base;
|
|
3997
4139
|
}
|
|
3998
4140
|
});
|
|
3999
|
-
var templateObject_1$
|
|
4141
|
+
var templateObject_1$P;
|
|
4000
4142
|
|
|
4001
4143
|
var icons = {
|
|
4002
4144
|
check: (jsx$1("path", { d: "M16.6107 6.5626L10.0247 13.1623L7.43866 10.5709C6.9365 10.0499 6.19289 9.841 5.49363 10.0244C4.79436 10.2078 4.24826 10.7551 4.06523 11.4558C3.8822 12.1565 4.09071 12.9017 4.61063 13.4049L8.61067 17.4132C9.39168 18.1956 10.6577 18.1956 11.4387 17.4132L19.4388 9.3965C20.1967 8.6101 20.1859 7.36009 19.4144 6.58701C18.6429 5.81393 17.3955 5.80307 16.6107 6.5626Z" })),
|
|
@@ -4027,10 +4169,11 @@ var icons = {
|
|
|
4027
4169
|
thunder: (jsx$1("path", { d: "M20.3 8.7h-6.9l.6-7.6c0-.3-.1-.6-.3-.8-.2-.2-.5-.3-.7-.3-.3 0-.6.2-.7.4L2.9 13.6c-.1.2-.2.4-.2.7 0 .2.1.5.3.6.2.2.4.2.7.2h7.1l-.7 7.8c0 .2 0 .4.2.6.1.2.3.3.5.4l.2.1c.3 0 .6-.2.8-.5L21 10.2c.1-.2.2-.4.2-.7 0-.2-.1-.5-.3-.6-.1-.1-.4-.2-.6-.2z" })),
|
|
4028
4170
|
fire: (jsx$1("path", { d: "M17.3 9.2c-.7-.6-1.3-1.2-1.8-1.9C12.4 3.3 14 0 14 0 8.3 2.4 7 6.2 7 9c0 0 .1 1.7.8 3.5.2.6-.2 1.2-.8 1.3-.4.1-.8-.2-1-.6-.3-.7-.8-1.8-.6-2.6-.9 1.2-1.5 2.8-1.7 4.4-.3 4.2 2.6 8 6.7 8.8 4.8 1 9.3-2.3 10-7.1.3-2.9-.9-5.7-3.1-7.5z" })),
|
|
4029
4171
|
control: (jsx$1("path", { d: "M1.4 5.3h2.4c.5 1.6 2 2.8 3.8 2.8 1.8 0 3.3-1.2 3.8-2.8h11.2c.7 0 1.2-.5 1.2-1.2s-.5-1.2-1.2-1.2H11.5C10.9 1.2 9.4 0 7.6 0 5.8 0 4.3 1.2 3.8 2.8H1.4C.7 2.8.2 3.3.2 4s.5 1.3 1.2 1.3zm6.2-2.8c.9 0 1.6.7 1.6 1.6s-.7 1.6-1.6 1.6S6 5 6 4.1c0-.9.7-1.6 1.6-1.6zM22.6 10.8h-2.4c-.5-1.6-2-2.8-3.8-2.8-1.8 0-3.3 1.2-3.8 2.8H1.4c-.7 0-1.2.5-1.2 1.2s.5 1.2 1.2 1.2h11.2c.5 1.6 2 2.8 3.8 2.8 1.8 0 3.3-1.2 3.8-2.8h2.4c.7 0 1.2-.5 1.2-1.2.1-.7-.5-1.2-1.2-1.2zm-6.2 2.8c-.9 0-1.6-.7-1.6-1.6 0-.9.7-1.6 1.6-1.6.9 0 1.6.7 1.6 1.6 0 .9-.7 1.6-1.6 1.6zM22.6 18.7H11.5c-.5-1.6-2-2.8-3.8-2.8-1.8 0-3.3 1.2-3.8 2.8H1.4c-.7 0-1.2.5-1.2 1.2s.5 1.2 1.2 1.2h2.4c.5 1.6 2 2.8 3.8 2.8 1.8 0 3.3-1.2 3.8-2.8h11.2c.7 0 1.2-.5 1.2-1.2s-.5-1.2-1.2-1.2zm-15 2.8c-.9 0-1.6-.7-1.6-1.6 0-.9.7-1.6 1.6-1.6.9 0 1.6.7 1.6 1.6 0 .9-.7 1.6-1.6 1.6z" })),
|
|
4172
|
+
file: (jsxs(Fragment$1, { children: [jsx$1("path", { d: "M6 2.75C4.75736 2.75 3.75 3.75736 3.75 5V19C3.75 20.2426 4.75736 21.25 6 21.25H18C19.2426 21.25 20.25 20.2426 20.25 19V9.08615C20.25 8.55979 20.0655 8.05009 19.7285 7.64574L16.3234 3.55959C15.8959 3.0466 15.2626 2.75 14.5949 2.75H6ZM2.25 5C2.25 2.92893 3.92893 1.25 6 1.25H14.5949C15.7078 1.25 16.7632 1.74434 17.4757 2.59931L20.8808 6.68546C21.4424 7.35939 21.75 8.20889 21.75 9.08615V19C21.75 21.0711 20.0711 22.75 18 22.75H6C3.92893 22.75 2.25 21.0711 2.25 19V5Z" }), jsx$1("path", { d: "M15 1.75C15.4142 1.75 15.75 2.08579 15.75 2.5V6C15.75 7.24264 16.7574 8.25 18 8.25H20.5C20.9142 8.25 21.25 8.58579 21.25 9C21.25 9.41421 20.9142 9.75 20.5 9.75H18C15.9289 9.75 14.25 8.07107 14.25 6V2.5C14.25 2.08579 14.5858 1.75 15 1.75Z" })] })),
|
|
4030
4173
|
};
|
|
4031
4174
|
var Icon = function (props) { return (jsx$1(Wrapper$9, __assign$2({}, props, { children: jsx$1("svg", __assign$2({ viewBox: "0 0 24 24", fill: "none" }, { children: icons[props.type] })) }))); };
|
|
4032
4175
|
|
|
4033
|
-
var Wrapper$8 = styled.div(templateObject_1$
|
|
4176
|
+
var Wrapper$8 = styled.div(templateObject_1$O || (templateObject_1$O = __makeTemplateObject$1(["\n > svg {\n height: ", ";\n }\n"], ["\n > svg {\n height: ", ";\n }\n"])), function (_a) {
|
|
4034
4177
|
var size = _a.size;
|
|
4035
4178
|
switch (size) {
|
|
4036
4179
|
case "tiny":
|
|
@@ -4044,7 +4187,7 @@ var Wrapper$8 = styled.div(templateObject_1$N || (templateObject_1$N = __makeTem
|
|
|
4044
4187
|
return "118px";
|
|
4045
4188
|
}
|
|
4046
4189
|
});
|
|
4047
|
-
var templateObject_1$
|
|
4190
|
+
var templateObject_1$O;
|
|
4048
4191
|
|
|
4049
4192
|
var illustrations = {
|
|
4050
4193
|
keyboard: (jsxs("svg", __assign$2({ viewBox: "0 0 32.9 20.8" }, { children: [jsx$1("path", { d: "M31.5 1H1.4C.6 1 0 1.6 0 2.4v17.1c0 .8.6 1.4 1.4 1.4h30.1c.8 0 1.4-.6 1.4-1.4V2.4c0-.8-.6-1.4-1.4-1.4z", fill: "#829190" }), jsx$1("path", { d: "M31.5 0H1.4C.6 0 0 .6 0 1.4v17.1c0 .8.6 1.4 1.4 1.4h30.1c.8 0 1.4-.6 1.4-1.4V1.4c0-.8-.6-1.4-1.4-1.4z", fill: "#99adac" }), jsx$1("path", { d: "M27.1 14.2H5.7c-.3 0-.5.2-.5.5v3.4c0 .3.2.5.5.5h21.4c.3 0 .5-.2.5-.5v-3.4c-.1-.3-.3-.5-.5-.5zM8.4 8.6H2.1c-.3 0-.5.2-.5.4v3.4c0 .3.2.5.5.5h6.3c.3 0 .5-.2.5-.5V9c0-.2-.2-.4-.5-.4zM13.8 8.6h-3.3c-.3 0-.5.2-.5.4v3.4c0 .3.2.5.5.5h3.3c.3 0 .5-.2.5-.5V9c-.1-.2-.3-.4-.5-.4zM5.4 3.3H2.1c-.3 0-.5.2-.5.5v3.4c0 .3.2.5.5.5h3.3c.3 0 .5-.2.5-.5V3.8c-.1-.3-.3-.5-.5-.5zM10.5 3.3H7.2c-.3 0-.5.2-.5.5v3.4c0 .3.2.5.5.5h3.3c.3 0 .5-.2.5-.5V3.8c-.1-.3-.3-.5-.5-.5zM15.5 3.3h-3.3c-.3 0-.5.2-.5.5v3.4c0 .3.2.5.5.5h3.3c.3 0 .5-.2.5-.5V3.8c0-.3-.2-.5-.5-.5zM20.6 3.3h-3.3c-.3 0-.5.2-.5.5v3.4c0 .3.2.5.5.5h3.3c.3 0 .5-.2.5-.5V3.8c0-.3-.2-.5-.5-.5zM25.7 3.3h-3.3c-.3 0-.5.2-.5.5v3.4c0 .3.2.5.5.5h3.3c.3 0 .5-.2.5-.5V3.8c0-.3-.2-.5-.5-.5zM30.8 3.3h-3.3c-.3 0-.5.2-.5.5v3.4c0 .3.2.5.5.5h3.3c.3 0 .5-.2.5-.5V3.8c0-.3-.2-.5-.5-.5zM18.9 8.6h-3.3c-.3 0-.5.2-.5.5v3.4c0 .3.2.5.5.5h3.3c.3 0 .5-.2.5-.5V9c-.1-.2-.3-.4-.5-.4zM23.9 8.6h-3.3c-.3 0-.5.2-.5.5v3.4c0 .3.2.5.5.5h3.3c.3 0 .5-.2.5-.5V9.1c0-.3-.2-.5-.5-.5zM30.7 8.6h-4.9c-.3 0-.5.2-.5.5v3.4c0 .3.2.5.5.5h4.9c.3 0 .5-.2.5-.5V9.1c0-.3-.2-.5-.5-.5z", fill: "#899a99" }), jsx$1("path", { d: "M27.1 13.7H5.7c-.3 0-.5.2-.5.5v3.4c0 .3.2.5.5.5h21.4c.3 0 .5-.2.5-.5v-3.4c-.1-.3-.3-.5-.5-.5zM8.4 8.1H2.1c-.3 0-.5.2-.5.5V12c0 .3.2.5.5.5h6.3c.3 0 .5-.2.5-.5V8.6c0-.3-.2-.5-.5-.5zM13.8 8.1h-3.3c-.3 0-.5.2-.5.5V12c0 .3.2.5.5.5h3.3c.3 0 .5-.2.5-.5V8.6c-.1-.3-.3-.5-.5-.5z", fill: "#eeeded" }), jsx$1("path", { d: "M5.4 2.8H2.1c-.3 0-.5.2-.5.5v3.4c0 .3.2.5.5.5h3.3c.3 0 .5-.2.5-.5V3.3c-.1-.3-.3-.5-.5-.5z", fill: "#e62944" }), jsx$1("path", { d: "M10.5 2.8H7.2c-.3 0-.5.2-.5.5v3.4c0 .3.2.5.5.5h3.3c.3 0 .5-.2.5-.5V3.3c-.1-.3-.3-.5-.5-.5zM15.5 2.8h-3.3c-.3 0-.5.2-.5.5v3.4c0 .3.2.5.5.5h3.3c.3 0 .5-.2.5-.5V3.3c0-.3-.2-.5-.5-.5zM20.6 2.8h-3.3c-.3 0-.5.2-.5.5v3.4c0 .3.2.5.5.5h3.3c.3 0 .5-.2.5-.5V3.3c0-.3-.2-.5-.5-.5zM25.7 2.8h-3.3c-.2 0-.4.2-.4.5v3.4c0 .3.2.5.5.5h3.3c.3 0 .5-.2.5-.5V3.3c-.1-.3-.3-.5-.6-.5zM30.8 2.8h-3.3c-.3 0-.5.2-.5.5v3.4c0 .3.2.5.5.5h3.3c.3 0 .5-.2.5-.5V3.3c0-.3-.2-.5-.5-.5zM18.9 8.1h-3.3c-.3 0-.5.2-.5.5V12c0 .3.2.5.5.5h3.3c.3 0 .5-.2.5-.5V8.6c-.1-.3-.3-.5-.5-.5zM23.9 8.1h-3.3c-.3 0-.5.2-.5.5V12c0 .3.2.5.5.5h3.3c.3 0 .5-.2.5-.5V8.6c0-.3-.2-.5-.5-.5zM30.7 8.1h-4.9c-.3 0-.5.2-.5.5V12c0 .3.2.5.5.5h4.9c.3 0 .5-.2.5-.5V8.6c0-.3-.2-.5-.5-.5z", fill: "#eeeded" })] }))),
|
|
@@ -4065,7 +4208,7 @@ var illustrations = {
|
|
|
4065
4208
|
};
|
|
4066
4209
|
var Illustration = function (props) { return (jsx$1(Wrapper$8, __assign$2({}, props, { children: illustrations[props.type] }))); };
|
|
4067
4210
|
|
|
4068
|
-
var StyledParagraph = styled.p(templateObject_1$
|
|
4211
|
+
var StyledParagraph = styled.p(templateObject_1$N || (templateObject_1$N = __makeTemplateObject$1(["\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n font-style: normal;\n line-height: ", ";\n color: ", ";\n margin: 0;\n text-align: ", ";\n text-transform: ", ";\n"], ["\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n font-style: normal;\n line-height: ", ";\n color: ", ";\n margin: 0;\n text-align: ", ";\n text-transform: ", ";\n"])), theme.fonts.paragraph, function (_a) {
|
|
4069
4212
|
var size = _a.size;
|
|
4070
4213
|
return size ? theme.paragraph[size].fontSize : theme.paragraph.medium.fontSize;
|
|
4071
4214
|
}, function (_a) {
|
|
@@ -4100,9 +4243,9 @@ var StyledParagraph = styled.p(templateObject_1$M || (templateObject_1$M = __mak
|
|
|
4100
4243
|
var transform = _a.transform;
|
|
4101
4244
|
return transform;
|
|
4102
4245
|
});
|
|
4103
|
-
var templateObject_1$
|
|
4246
|
+
var templateObject_1$N;
|
|
4104
4247
|
|
|
4105
|
-
var Container$
|
|
4248
|
+
var Container$n = styled.div(templateObject_1$M || (templateObject_1$M = __makeTemplateObject$1(["\n width: 100%;\n"], ["\n width: 100%;\n"])));
|
|
4106
4249
|
var InputIconWrapper = styled.div(templateObject_2$x || (templateObject_2$x = __makeTemplateObject$1(["\n position: relative;\n width: 100%;\n\n input {\n padding-right: 43px;\n }\n\n input[type=\"date\"] {\n color: ", ";\n }\n\n div {\n position: absolute;\n height: 24px;\n right: 12px;\n top: 14px;\n }\n\n svg {\n cursor: ", ";\n }\n"], ["\n position: relative;\n width: 100%;\n\n input {\n padding-right: 43px;\n }\n\n input[type=\"date\"] {\n color: ", ";\n }\n\n div {\n position: absolute;\n height: 24px;\n right: 12px;\n top: 14px;\n }\n\n svg {\n cursor: ", ";\n }\n"])), function (_a) {
|
|
4107
4250
|
var isChanged = _a.isChanged;
|
|
4108
4251
|
return !isChanged ? theme.colors.lightGray.darker : "";
|
|
@@ -4129,7 +4272,7 @@ var Helper = styled(StyledParagraph)(templateObject_6$3 || (templateObject_6$3 =
|
|
|
4129
4272
|
var isOk = _a.isOk;
|
|
4130
4273
|
return isOk ? theme.colors.green.base : theme.colors.darkGray.light;
|
|
4131
4274
|
}, fadeIn);
|
|
4132
|
-
var templateObject_1$
|
|
4275
|
+
var templateObject_1$M, templateObject_2$x, templateObject_3$b, templateObject_4$7, templateObject_5$3, templateObject_6$3;
|
|
4133
4276
|
|
|
4134
4277
|
var expressions = {};
|
|
4135
4278
|
|
|
@@ -4225,24 +4368,30 @@ __exportStar(isStrongPassword$1, exports);
|
|
|
4225
4368
|
}(expressions));
|
|
4226
4369
|
|
|
4227
4370
|
var password_helper_capital_letter = "Minimaal 1 hoofdletter";
|
|
4228
|
-
var password_helper_number = "Minimaal 1
|
|
4371
|
+
var password_helper_number = "Minimaal 1 cijfer";
|
|
4229
4372
|
var password_helper_special_character = "Minimaal 1 leesteken";
|
|
4230
4373
|
var password_helper_password_length = "Minimaal 8 karakters";
|
|
4374
|
+
var or = "of";
|
|
4231
4375
|
var nl_NL = {
|
|
4232
4376
|
password_helper_capital_letter: password_helper_capital_letter,
|
|
4233
4377
|
password_helper_number: password_helper_number,
|
|
4234
4378
|
password_helper_special_character: password_helper_special_character,
|
|
4235
|
-
password_helper_password_length: password_helper_password_length
|
|
4236
|
-
|
|
4237
|
-
|
|
4238
|
-
|
|
4239
|
-
|
|
4240
|
-
|
|
4241
|
-
|
|
4242
|
-
|
|
4243
|
-
|
|
4244
|
-
|
|
4245
|
-
|
|
4379
|
+
password_helper_password_length: password_helper_password_length,
|
|
4380
|
+
"Drag file(s) here...": "Bestand(en) hierheen slepen...",
|
|
4381
|
+
or: or,
|
|
4382
|
+
"Select file(s)": "Bestand(en) kiezen",
|
|
4383
|
+
"Upload file(s)...": "Bestand(en) uploaden...",
|
|
4384
|
+
"File type not allowed": "Bestandstype niet toegestaan"
|
|
4385
|
+
};
|
|
4386
|
+
|
|
4387
|
+
var _a;
|
|
4388
|
+
// import en_GB from "./en-gb.json";
|
|
4389
|
+
// import fr_FR from "./fr-fr.json";
|
|
4390
|
+
// import de_DE from "./de-de.json";
|
|
4391
|
+
var translations = (_a = {},
|
|
4392
|
+
_a[enums.Locale.NL_NL] = nl_NL,
|
|
4393
|
+
_a[enums.Locale.NL_BE] = nl_NL,
|
|
4394
|
+
_a);
|
|
4246
4395
|
|
|
4247
4396
|
var PasswordInput = function (props) {
|
|
4248
4397
|
var _a = useState(props.defaultValue || ""), value = _a[0], setValue = _a[1];
|
|
@@ -4260,7 +4409,7 @@ var PasswordInput = function (props) {
|
|
|
4260
4409
|
if (props.onKeyPress)
|
|
4261
4410
|
props.onKeyPress(e);
|
|
4262
4411
|
};
|
|
4263
|
-
return (jsxs(Container$
|
|
4412
|
+
return (jsxs(Container$n, { children: [jsxs(InputIconWrapper, __assign$2({ disabled: props.disabled }, { children: [jsx$1(Icon, { type: isVisible ? "eyeInvisible" : "eye", color: "gray", size: "small", onClick: toggle }), jsx$1(StyledInput, __assign$2({ type: isVisible ? "text" : "password" }, props, { onChange: onChange, onKeyPress: onKeyPress }))] })), props.helperLocale && value.length ? (jsxs(HelperContainer, { children: [jsxs(Helper, __assign$2({ isOk: expressions.hasCapitalLetter(value) }, { children: ["\u2022 ", translations[props.helperLocale].password_helper_capital_letter] })), jsxs(Helper, __assign$2({ isOk: expressions.hasNumber(value) }, { children: ["\u2022 ", translations[props.helperLocale].password_helper_number] })), jsxs(Helper, __assign$2({ isOk: expressions.hasSpecialCharacter(value) }, { children: ["\u2022 ", translations[props.helperLocale].password_helper_special_character] })), jsxs(Helper, __assign$2({ isOk: value.length >= 8 }, { children: ["\u2022 ", translations[props.helperLocale].password_helper_password_length] }))] })) : null] }));
|
|
4264
4413
|
};
|
|
4265
4414
|
|
|
4266
4415
|
function requiredArgs(required, args) {
|
|
@@ -4594,7 +4743,7 @@ Input.Date = DateInput;
|
|
|
4594
4743
|
|
|
4595
4744
|
var Logo = function (props) { return (jsxs("svg", __assign$2({ width: 396, height: 66, viewBox: "0 0 662.8 118.1", fill: "none", xmlSpace: "preserve" }, props, { children: [jsxs("g", { children: [jsx$1("path", { d: "M61.6 23.5c-.4-.5-.9-1.1-1.3-1.5l-4.9-4.8L42 4c-1.3-1.3-2.8-2.3-4.5-3-1.7-.7-3.5-1-5.3-1-1.8 0-3.6.4-5.3 1-1.7.7-3.2 1.7-4.5 3L4.1 22C1.5 24.6 0 28 0 31.7c0 3.6 1.5 7.1 4.1 9.7l18.3 18c2.6 2.6 6.2 4 9.8 4 3.7 0 7.2-1.4 9.8-4l13.4-13.2-4.9-4.8c-.5-.5-.9-1-1.3-1.5L35.7 53.1c-.5.5-1 .8-1.6 1.1-.6.2-1.3.4-1.9.4-.7 0-1.3-.1-1.9-.4-.6-.2-1.2-.6-1.6-1.1l-18.3-18c-.9-.9-1.5-2.2-1.5-3.5 0-1.3.5-2.5 1.5-3.5l18.3-18c.5-.5 1-.8 1.6-1.1.6-.2 1.3-.4 1.9-.4.7 0 1.3.1 1.9.4.6.2 1.2.6 1.6 1.1l13.5 13.3 4.8 4.7c.5.4.8 1 1.1 1.6.2.6.4 1.2.4 1.9v.1c0 1.3.5 2.5 1.5 3.4l4.8 4.7c1.8-2.4 2.7-5.2 2.7-8.1-.1-3-1.1-5.8-2.9-8.2z", fill: "#e62743" }), jsx$1("path", { d: "M153.3 22L135 4c-1.3-1.3-2.8-2.3-4.5-3-1.7-.7-3.5-1-5.3-1-1.8 0-3.6.4-5.3 1-1.7.7-3.2 1.7-4.5 3L102 17.2 97.1 22c-.5.5-.9 1-1.3 1.5-1.8 2.4-2.8 5.2-2.8 8.2 0 2.9 1 5.8 2.7 8.1l4.8-4.7c.9-.9 1.4-2.1 1.5-3.4 0-.6.1-1.3.4-1.9.2-.6.6-1.1 1.1-1.6l4.8-4.7 13.5-13.3c.5-.5 1-.8 1.6-1.1.6-.2 1.2-.4 1.9-.4s1.3.1 1.9.4c.6.2 1.1.6 1.6 1.1l18.3 18c.5.5.8 1 1.1 1.6.3.6.4 1.2.4 1.9 0 .6-.1 1.3-.4 1.9-.3.6-.6 1.1-1.1 1.6l-18.3 18c-.5.5-1 .8-1.6 1.1-.6.2-1.2.4-1.9.4s-1.3-.1-1.9-.4c-.6-.2-1.1-.6-1.6-1.1l-13.5-13.3c-.4.5-.8 1.1-1.3 1.5l-4.9 4.8 13.4 13.2c1.3 1.3 2.8 2.3 4.5 3 1.7.7 3.5 1 5.3 1 1.8 0 3.6-.4 5.3-1 1.7-.7 3.2-1.7 4.5-3l18.3-18c1.3-1.3 2.3-2.8 3-4.5.7-1.7 1.1-3.5 1.1-5.3 0-1.8-.4-3.6-1.1-5.3-.8-1.5-1.8-3-3.1-4.3z", fill: "#53b476" }), jsx$1("path", { d: "M61.9 23.3l-.3.3c-.4-.5-.9-1.1-1.3-1.5l-4.9-4.8L68.8 4c1.3-1.3 2.8-2.3 4.5-3 1.7-.7 3.5-1 5.3-1s3.6.4 5.3 1c1.7.7 3.2 1.7 4.5 3l13.4 13.1-4.7 4.9c-.5.5-.9 1-1.3 1.5L82.2 10.2c-.5-.5-1-.8-1.6-1.1-.6-.2-1.3-.4-1.9-.4-.7 0-1.3.1-1.9.4-.6.2-1.2.6-1.6 1.1L61.9 23.3zm41.5 4.9l4.8-4.7c1.8 2.4 2.7 5.2 2.7 8.2 0 2.9-1 5.8-2.7 8.2-.4.5-.8 1.1-1.3 1.5l-4.9 4.8-13.5 13.2c-2.6 2.6-6.2 4-9.8 4s-7.2-1.4-9.8-4L55.4 46.1l-4.9-4.8c-.5-.5-.9-1-1.3-1.5-1.8-2.4-2.7-5.2-2.7-8.1 0-2.9 1-5.8 2.7-8.1l4.8 4.7c.5.4.8 1 1.1 1.6.2.6.4 1.2.4 1.9v.1c0 1.3.5 2.5 1.5 3.4l4.8 4.7 13.5 13.3c.5.5 1 .8 1.6 1.1s1.3.4 1.9.4 1.3-.1 1.9-.4 1.2-.6 1.6-1.1L95.8 40l4.8-4.7c.9-.9 1.4-2.1 1.5-3.4 0-.6.1-1.3.4-1.9 0-.8.4-1.3.9-1.8z", fillRule: "evenodd", clipRule: "evenodd", fill: "#ffd800" }), jsx$1("path", { d: "M130 76.6l-18.3-18c-2.6-2.6-6.2-4-9.8-4-3.7 0-7.2 1.4-9.8 4L78.7 71.9l-4.9 4.8c-.5.5-.9 1-1.3 1.5-1.8 2.4-2.7 5.2-2.7 8.1 0 2.9 1 5.8 2.7 8.1l4.8-4.7c.9-.9 1.4-2.1 1.5-3.4 0-1.3.5-2.5 1.5-3.4l4.8-4.7 13.5-13.3c.9-.9 2.2-1.4 3.5-1.4 1.3 0 2.6.5 3.5 1.4l18.3 18c.9.9 1.5 2.2 1.5 3.5 0 1.3-.5 2.5-1.5 3.5l-18.3 18c-.9.9-2.2 1.4-3.5 1.4-1.3 0-2.6-.5-3.5-1.4L84.9 94.5c-.4.6-.8 1.1-1.3 1.5l-4.9 4.8L92.1 114c2.6 2.6 6.2 4 9.8 4 3.7 0 7.2-1.4 9.8-4L130 96c1.3-1.3 2.3-2.8 3-4.5.7-1.7 1.1-3.5 1.1-5.3 0-1.8-.4-3.6-1.1-5.3-.6-1.5-1.7-3-3-4.3z", fill: "#8c5ca2" }), jsx$1("path", { d: "M84.9 78.2l-4.8 4.7c-.9.9-1.4 2.1-1.5 3.4 0 1.3-.5 2.5-1.5 3.4l-4.8 4.7-13.5 13.3c-.9.9-2.2 1.4-3.5 1.4s-2.6-.5-3.5-1.4l-18.3-18c-.9-.9-1.4-2.2-1.4-3.5s.5-2.5 1.4-3.5l18.3-18c.9-.9 2.2-1.4 3.5-1.4s2.6.5 3.5 1.4L72.3 78c.4-.5.8-1.1 1.3-1.5l4.9-4.8-13.3-13c-2.6-2.6-6.2-4-9.8-4-3.7 0-7.2 1.4-9.8 4l-18.3 18c-2.6 2.6-4.1 6.1-4.1 9.7s1.5 7.1 4.1 9.7l18.3 18c2.6 2.6 6.2 4 9.8 4 3.7 0 7.2-1.4 9.8-4l13.4-13.2 4.9-4.8c.5-.5.9-1 1.3-1.5 1.8-2.4 2.7-5.2 2.7-8.1.1-3.1-.9-5.9-2.6-8.3z", fill: "#3da9e1" })] }), jsxs("g", __assign$2({ fill: "#23292f" }, { children: [jsx$1("path", { d: "M236.6 21.5c-1.1-1-2.4-1.5-3.9-1.5h-40.2c-1.6 0-2.9.5-3.9 1.4-1.1.9-1.6 2.2-1.6 3.8 0 1.6.5 2.8 1.6 3.8s2.4 1.5 3.9 1.5h14.2V78c0 1.6.5 2.9 1.6 3.9 1.1 1.1 2.5 1.6 4.2 1.6 1.8 0 3.2-.5 4.3-1.6 1.1-1.1 1.7-2.4 1.7-3.9V30.4h14.2c1.6 0 2.9-.5 3.9-1.4 1.1-.9 1.6-2.2 1.6-3.8 0-1.5-.5-2.8-1.6-3.7z" }), jsx$1("path", { d: "M270.6 36.6c-1-1.1-2.3-1.6-3.9-1.6s-2.9.5-3.9 1.6-1.5 2.4-1.5 3.9v23.2c0 2.3-.4 4.2-1.2 5.8-.8 1.6-1.9 2.8-3.4 3.6-1.5.8-3.2 1.2-5.3 1.2-3.1 0-5.5-.8-7.2-2.4-1.7-1.6-2.6-4.4-2.6-8.3V40.5c0-1.6-.5-2.9-1.5-3.9-1-1.1-2.3-1.6-3.9-1.6s-2.9.5-3.9 1.6-1.5 2.4-1.5 3.9V67c0 3.4.7 6.4 2 9 1.3 2.6 3.2 4.7 5.6 6.2 2.4 1.5 5.2 2.2 8.4 2.2 2.7 0 5.1-.3 7.3-1 2.1-.7 3.9-1.6 5.5-2.9.7-.6 1.3-1.3 1.9-2v1c0 3.1-.5 5.5-1.4 7.3-.9 1.8-2.3 3.1-4.2 3.8-1.8.8-4.2 1.1-6.9 1.1-2.1 0-3.9-.3-5.4-1-1.6-.6-2.8-1.1-3.8-1.4-1.3-.5-2.6-.4-3.8.2-1.2.6-2.1 1.8-2.6 3.6-.4 1.3-.3 2.6.4 3.8.7 1.2 1.9 2.2 3.8 2.9 1.4.6 3.2 1.1 5.3 1.4 2.2.3 4.2.5 6.2.5 4.4 0 8.3-.7 11.8-2.2 3.5-1.4 6.3-3.8 8.4-7.1 2.1-3.3 3.1-7.7 3.1-13.3V40.5c-.3-1.6-.8-2.9-1.8-3.9zM327.5 46.1c-2-3.7-4.6-6.7-8-8.8-3.4-2.1-7.1-3.2-11.4-3.2-2.1 0-4.1.4-6 1.1-1.9.7-3.6 1.6-5 2.8-1.3 1-2.4 2-3.2 3.1v-.5c0-1.6-.5-2.9-1.5-3.9-1-1.1-2.3-1.6-3.9-1.6s-2.9.5-3.9 1.6-1.5 2.4-1.5 3.9v55.6c0 1.6.5 3 1.5 4s2.3 1.5 3.9 1.5 2.9-.5 3.9-1.6 1.5-2.4 1.5-3.9V78.3c.6.6 1.4 1.3 2.2 1.9 1.6 1.2 3.5 2.2 5.6 3 2.1.8 4.4 1.2 6.8 1.2 4.1 0 7.8-1.1 11.1-3.2s5.9-5.1 7.9-8.9c2-3.8 2.9-8.1 2.9-13.1s-1-9.3-2.9-13.1zm-9.2 20.8c-1.1 2.3-2.7 4.2-4.6 5.5-2 1.3-4.3 2-6.9 2s-5-.7-7-2-3.6-3.2-4.7-5.5-1.7-4.9-1.7-7.8c0-2.9.6-5.5 1.7-7.8s2.7-4.1 4.7-5.4c2-1.3 4.3-2 7-2s5 .7 6.9 2c2 1.3 3.5 3.1 4.6 5.4 1.1 2.3 1.7 4.8 1.7 7.8 0 2.9-.6 5.5-1.7 7.8zM380.4 61.6c1.1-.9 1.7-2.1 1.7-3.5 0-3.3-.6-6.3-1.9-9.2-1.2-2.9-2.9-5.5-5-7.7s-4.5-3.9-7.3-5.2c-2.8-1.3-5.7-1.9-8.7-1.9-4 0-7.8 1-11.3 3.1-3.6 2.1-6.5 5-8.7 8.8-2.2 3.8-3.3 8.5-3.3 13.9 0 4.7 1 8.8 3 12.5 2 3.7 4.9 6.6 8.7 8.7 3.8 2.1 8.2 3.2 13.4 3.2 3 0 6-.5 8.8-1.5 2.8-1 5-2.2 6.6-3.5 1.7-1.3 2.5-2.8 2.5-4.4 0-1.2-.4-2.3-1.3-3.2-.9-.9-2-1.4-3.3-1.4-1 0-2 .3-3.1.8-.7.4-1.4.8-2.2 1.3-.8.5-1.9 1-3.2 1.3-1.3.4-3.1.5-5.3.5-2.4 0-4.7-.6-6.8-1.8-2.1-1.2-3.9-2.9-5.3-5.2-.8-1.3-1.3-2.8-1.7-4.5h29.9c1.4.3 2.7-.2 3.8-1.1zM350 47.2c1.1-1.1 2.5-2 4.1-2.4 1.6-.5 3.3-.7 5.1-.7 1.9 0 3.6.4 5.3 1.2 1.7.8 3.1 1.9 4.2 3.3s1.7 3 1.9 4.7v.6h-23.7c.1-.7.3-1.5.5-2.1.5-1.9 1.5-3.4 2.6-4.6zM447.3 39.1c-1.5-3.9-3.6-7.4-6.4-10.4-2.8-3-6-5.3-9.8-7-3.8-1.7-7.9-2.5-12.4-2.5s-8.6.8-12.3 2.5c-3.7 1.7-7 4-9.7 7-2.8 3-4.9 6.5-6.4 10.4-1.5 3.9-2.3 8.2-2.3 12.7s.8 8.8 2.3 12.7c1.5 3.9 3.6 7.4 6.4 10.4 2.7 3 6 5.3 9.7 7 3.7 1.7 7.9 2.5 12.3 2.5 4.5 0 8.6-.8 12.4-2.5 3.8-1.7 7-4 9.8-7 2.8-3 4.9-6.5 6.4-10.4 1.5-3.9 2.3-8.2 2.3-12.7-.1-4.6-.8-8.8-2.3-12.7zm-12 23.7c-1.6 3.3-3.9 5.9-6.7 7.8-2.8 1.9-6.1 2.9-9.9 2.9-3.7 0-7-1-9.9-2.9-2.8-1.9-5.1-4.5-6.7-7.8-1.6-3.3-2.4-7-2.4-11 0-4.1.8-7.8 2.4-11.1 1.6-3.3 3.8-5.9 6.7-7.8 2.8-1.9 6.1-2.9 9.9-2.9 3.7 0 7 1 9.9 2.9 2.8 1.9 5.1 4.5 6.7 7.8 1.6 3.3 2.4 7 2.4 11 .1 4.1-.8 7.8-2.4 11.1zM468.4 18c-1-1.1-2.3-1.6-3.9-1.6s-2.9.5-3.9 1.6c-1.1 1.1-1.6 2.4-1.6 3.9v56c0 1.6.5 2.9 1.5 3.9 1 1.1 2.3 1.6 3.8 1.6 1.6 0 2.9-.5 3.9-1.6 1.1-1.1 1.6-2.4 1.6-3.9v-56c.1-1.5-.4-2.9-1.4-3.9zM520.2 36.6c-1-1.1-2.3-1.6-3.9-1.6s-2.9.5-3.9 1.6-1.5 2.4-1.5 3.9v23.2c0 2.3-.4 4.2-1.2 5.8-.8 1.6-1.9 2.8-3.4 3.6-1.4.8-3.2 1.2-5.3 1.2-3.1 0-5.5-.8-7.2-2.4-1.7-1.6-2.6-4.4-2.6-8.3V40.5c0-1.6-.5-2.9-1.5-3.9-1-1.1-2.3-1.6-3.9-1.6s-2.9.5-3.9 1.6-1.5 2.4-1.5 3.9V67c0 3.4.7 6.4 2 9 1.3 2.6 3.2 4.7 5.6 6.2 2.4 1.5 5.2 2.2 8.4 2.2 2.7 0 5.1-.3 7.3-1 2.1-.7 3.9-1.6 5.5-2.9.7-.6 1.3-1.3 1.9-2v1c0 3.1-.5 5.5-1.4 7.3-.9 1.8-2.3 3.1-4.2 3.8-1.8.8-4.2 1.1-6.9 1.1-2.1 0-3.9-.3-5.4-1-1.6-.6-2.8-1.1-3.8-1.4-1.3-.5-2.6-.4-3.8.2-1.2.6-2.1 1.8-2.6 3.6-.4 1.3-.3 2.6.4 3.8.7 1.2 1.9 2.2 3.8 2.9 1.4.6 3.2 1.1 5.3 1.4 2.2.3 4.2.5 6.2.5 4.4 0 8.3-.7 11.8-2.2 3.5-1.4 6.3-3.8 8.4-7.1 2.1-3.3 3.1-7.7 3.1-13.3V40.5c-.2-1.6-.7-2.9-1.8-3.9zM603.2 44.4c-.8-3.1-2.4-5.6-4.7-7.5s-5.6-2.8-9.9-2.8c-2.7 0-5.1.6-7.2 1.7-2.1 1.1-4 2.5-5.5 4.1-1.4 1.5-2.5 2.9-3.2 4.2-.8-2.6-2.1-4.7-3.9-6.5-2.3-2.3-5.9-3.5-10.7-3.5-2 0-3.8.3-5.5 1-1.7.6-3.2 1.5-4.6 2.5-1.4 1-2.6 2.1-3.5 3.3l-.9 1.2v-1.5c0-1.6-.5-2.9-1.5-3.9-1-1.1-2.3-1.6-3.9-1.6s-2.9.5-3.9 1.6-1.5 2.4-1.5 3.9V78c0 1.6.5 2.9 1.5 3.9 1 1.1 2.3 1.6 3.9 1.6s2.9-.5 3.9-1.6 1.5-2.4 1.5-3.9V54.7c0-2 .4-3.8 1.2-5.4.8-1.6 2-2.9 3.7-3.9 1.6-1 3.6-1.4 5.9-1.4 2.4 0 4.2.5 5.4 1.4 1.3 1 2.1 2.3 2.6 3.9s.7 3.4.7 5.4v23.2c0 1.6.5 2.9 1.5 3.9 1 1.1 2.3 1.6 3.9 1.6s2.9-.5 3.9-1.6 1.5-2.4 1.5-3.9V54.7c0-2 .4-3.8 1.2-5.4.8-1.6 2-2.9 3.7-3.9 1.6-1 3.6-1.4 5.9-1.4 2.4 0 4.2.5 5.4 1.4 1.3 1 2.1 2.3 2.6 3.9s.7 3.4.7 5.4v23.2c0 1.6.5 2.9 1.5 3.9 1 1.1 2.3 1.6 3.9 1.6s2.9-.5 3.9-1.6 1.5-2.4 1.5-3.9V54.7c.3-3.8-.2-7.2-1-10.3zM659.8 46.1c-2-3.7-4.6-6.7-8-8.8-3.4-2.1-7.1-3.2-11.4-3.2-2.1 0-4.1.4-6 1.1-1.9.7-3.6 1.6-5 2.8-1.3 1-2.4 2-3.2 3.1v-.5c0-1.6-.5-2.9-1.5-3.9-1-1.1-2.3-1.6-3.9-1.6s-2.9.5-3.9 1.6-1.5 2.4-1.5 3.9v55.6c0 1.6.5 3 1.5 4s2.3 1.5 3.9 1.5 2.9-.5 3.9-1.6 1.5-2.4 1.5-3.9V78.3c.6.6 1.4 1.3 2.2 1.9 1.6 1.2 3.5 2.2 5.6 3s4.4 1.2 6.8 1.2c4.1 0 7.8-1.1 11.1-3.2s5.9-5.1 7.9-8.9c2-3.8 2.9-8.1 2.9-13.1.1-5-.9-9.3-2.9-13.1zm-9.1 20.8c-1.1 2.3-2.7 4.2-4.6 5.5-2 1.3-4.3 2-6.9 2s-5-.7-7-2-3.5-3.2-4.7-5.5c-1.1-2.3-1.7-4.9-1.7-7.8 0-2.9.6-5.5 1.7-7.8s2.7-4.1 4.7-5.4c2-1.3 4.3-2 7-2s5 .7 6.9 2c2 1.3 3.5 3.1 4.6 5.4 1.1 2.3 1.7 4.8 1.7 7.8-.1 2.9-.6 5.5-1.7 7.8z" })] }))] }))); };
|
|
4596
4745
|
|
|
4597
|
-
var Wrapper$7 = styled.div(templateObject_1$
|
|
4746
|
+
var Wrapper$7 = styled.div(templateObject_1$L || (templateObject_1$L = __makeTemplateObject$1(["\n width: ", ";\n"], ["\n width: ", ";\n"])), function (_a) {
|
|
4598
4747
|
var size = _a.size;
|
|
4599
4748
|
switch (size) {
|
|
4600
4749
|
default:
|
|
@@ -4604,7 +4753,7 @@ var Wrapper$7 = styled.div(templateObject_1$K || (templateObject_1$K = __makeTem
|
|
|
4604
4753
|
return "116px";
|
|
4605
4754
|
}
|
|
4606
4755
|
});
|
|
4607
|
-
var templateObject_1$
|
|
4756
|
+
var templateObject_1$L;
|
|
4608
4757
|
|
|
4609
4758
|
var medals = {
|
|
4610
4759
|
small: {
|
|
@@ -4620,7 +4769,7 @@ var medals = {
|
|
|
4620
4769
|
};
|
|
4621
4770
|
var Medal = function (props) { return (jsx$1(Wrapper$7, __assign$2({}, props, { children: medals[props.size || "small"][props.type] }))); };
|
|
4622
4771
|
|
|
4623
|
-
var Wrapper$6 = styled.div(templateObject_1$
|
|
4772
|
+
var Wrapper$6 = styled.div(templateObject_1$K || (templateObject_1$K = __makeTemplateObject$1(["\n width: fit-content;\n display: flex;\n\n button:first-child {\n border-radius: 6px 0 0 6px;\n border-width: 2px 1px 2px 2px;\n }\n\n button:last-child {\n border-radius: 0 6px 6px 0;\n border-width: 2px 2px 2px 1px;\n }\n\n button {\n width: ", ";\n }\n"], ["\n width: fit-content;\n display: flex;\n\n button:first-child {\n border-radius: 6px 0 0 6px;\n border-width: 2px 1px 2px 2px;\n }\n\n button:last-child {\n border-radius: 0 6px 6px 0;\n border-width: 2px 2px 2px 1px;\n }\n\n button {\n width: ", ";\n }\n"])), function (_a) {
|
|
4624
4773
|
var disabled = _a.disabled;
|
|
4625
4774
|
return (disabled ? "49.5px" : "");
|
|
4626
4775
|
});
|
|
@@ -4637,7 +4786,7 @@ var StyledInputNumber = styled.input(templateObject_2$w || (templateObject_2$w =
|
|
|
4637
4786
|
var disabled = _a.disabled;
|
|
4638
4787
|
return disabled ? theme.colors.darkGray.light : theme.colors.darkGray.base;
|
|
4639
4788
|
}, theme.colors.blue.dark, "0 0 0 1px ".concat(theme.colors.blue.dark));
|
|
4640
|
-
var templateObject_1$
|
|
4789
|
+
var templateObject_1$K, templateObject_2$w;
|
|
4641
4790
|
|
|
4642
4791
|
var Number$1 = function (props) {
|
|
4643
4792
|
var inputRef = useRef(null);
|
|
@@ -4676,7 +4825,7 @@ var Number$1 = function (props) {
|
|
|
4676
4825
|
|
|
4677
4826
|
var Paragraph = function (props) { return (jsx$1(StyledParagraph, __assign$2({}, props, { children: props.children }))); };
|
|
4678
4827
|
|
|
4679
|
-
var StyledRadio = styled.div(templateObject_1$
|
|
4828
|
+
var StyledRadio = styled.div(templateObject_1$J || (templateObject_1$J = __makeTemplateObject$1(["\n min-height: 25px;\n max-height: 25px;\n min-width: 25px;\n max-width: 25px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 14px;\n border-width: 1px;\n border-style: solid;\n border-color: ", ";\n cursor: ", ";\n background-color: ", ";\n\n svg {\n margin-left: -1px;\n fill: ", ";\n }\n\n input {\n display: none;\n }\n\n :after {\n content: \"\";\n width: 15px;\n height: 15px;\n border-radius: 50%;\n background-color: ", ";\n position: absolute;\n }\n\n :focus {\n outline: 0;\n border-color: ", ";\n box-shadow: ", ";\n }\n"], ["\n min-height: 25px;\n max-height: 25px;\n min-width: 25px;\n max-width: 25px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 14px;\n border-width: 1px;\n border-style: solid;\n border-color: ", ";\n cursor: ", ";\n background-color: ", ";\n\n svg {\n margin-left: -1px;\n fill: ", ";\n }\n\n input {\n display: none;\n }\n\n :after {\n content: \"\";\n width: 15px;\n height: 15px;\n border-radius: 50%;\n background-color: ", ";\n position: absolute;\n }\n\n :focus {\n outline: 0;\n border-color: ", ";\n box-shadow: ", ";\n }\n"])), function (_a) {
|
|
4680
4829
|
var checked = _a.checked, disabled = _a.disabled;
|
|
4681
4830
|
if (disabled)
|
|
4682
4831
|
return theme.colors.lightGray.darker;
|
|
@@ -4704,7 +4853,7 @@ var StyledRadio = styled.div(templateObject_1$I || (templateObject_1$I = __makeT
|
|
|
4704
4853
|
return theme.colors.green.base;
|
|
4705
4854
|
return "";
|
|
4706
4855
|
}, theme.colors.blue.dark, "0 0 0 1px ".concat(theme.colors.blue.dark));
|
|
4707
|
-
var templateObject_1$
|
|
4856
|
+
var templateObject_1$J;
|
|
4708
4857
|
|
|
4709
4858
|
var Radio = function (props) {
|
|
4710
4859
|
var _a, _b;
|
|
@@ -4736,7 +4885,7 @@ var Radio = function (props) {
|
|
|
4736
4885
|
return (jsx$1(StyledRadio, __assign$2({ checked: checked, disabled: props.disabled, tabIndex: 0, onClick: toggle, onBlur: props.onBlur, onKeyPress: function (e) { return (e.key === "Enter" ? toggle() : null); }, ref: wrapperRef }, { children: jsx$1("input", { type: "radio", disabled: !!props.disabled, id: props.id, name: props.name, value: props.value, ref: inputRef }) })));
|
|
4737
4886
|
};
|
|
4738
4887
|
|
|
4739
|
-
var StyledRange = styled.div(templateObject_1$
|
|
4888
|
+
var StyledRange = styled.div(templateObject_1$I || (templateObject_1$I = __makeTemplateObject$1(["\n input {\n appearance: none;\n width: 100%;\n height: 11px;\n border: ", ";\n border-radius: 8px;\n position: relative;\n background: ", ";\n\n ::-webkit-slider-thumb {\n appearance: none;\n width: 24px;\n height: 24px;\n background-color: ", ";\n border: ", ";\n border-radius: 50%;\n cursor: ", ";\n }\n }\n"], ["\n input {\n appearance: none;\n width: 100%;\n height: 11px;\n border: ", ";\n border-radius: 8px;\n position: relative;\n background: ", ";\n\n ::-webkit-slider-thumb {\n appearance: none;\n width: 24px;\n height: 24px;\n background-color: ", ";\n border: ", ";\n border-radius: 50%;\n cursor: ", ";\n }\n }\n"])), function () { return "2px solid ".concat(theme.colors.lightGray.dark); }, function (_a) {
|
|
4740
4889
|
var value = _a.value, disabled = _a.disabled;
|
|
4741
4890
|
return "linear-gradient(90deg,\n ".concat(disabled ? theme.colors.lightGray.darker : theme.colors.green.base, " 0%,\n ").concat(disabled ? theme.colors.lightGray.darker : theme.colors.green.base, " ").concat(value, "%,\n ").concat(theme.colors.lightGray.dark, " ").concat(value, "%,\n ").concat(theme.colors.lightGray.dark, " 100%\n )");
|
|
4742
4891
|
}, function () { return theme.colors.lightGray.light; }, function (_a) {
|
|
@@ -4746,7 +4895,7 @@ var StyledRange = styled.div(templateObject_1$H || (templateObject_1$H = __makeT
|
|
|
4746
4895
|
var disabled = _a.disabled;
|
|
4747
4896
|
return disabled ? "not-allowed" : "pointer";
|
|
4748
4897
|
});
|
|
4749
|
-
var templateObject_1$
|
|
4898
|
+
var templateObject_1$I;
|
|
4750
4899
|
|
|
4751
4900
|
var Range = function (props) {
|
|
4752
4901
|
var _a;
|
|
@@ -4775,7 +4924,7 @@ var Range = function (props) {
|
|
|
4775
4924
|
return (jsx$1(StyledRange, __assign$2({ value: value, disabled: props.disabled }, { children: jsx$1("input", { type: "range", disabled: !!props.disabled, id: props.id, min: props.min || 0, max: props.max || 100, ref: rangeRef, defaultValue: props.defaultValue, onChange: onChange, onBlur: props.onBlur }) })));
|
|
4776
4925
|
};
|
|
4777
4926
|
|
|
4778
|
-
var Wrapper$5 = styled.div(templateObject_1$
|
|
4927
|
+
var Wrapper$5 = styled.div(templateObject_1$H || (templateObject_1$H = __makeTemplateObject$1(["\n position: relative;\n\n div {\n pointer-events: none;\n position: absolute;\n height: 24px;\n right: 12px;\n top: 14px;\n }\n\n svg {\n cursor: ", ";\n }\n"], ["\n position: relative;\n\n div {\n pointer-events: none;\n position: absolute;\n height: 24px;\n right: 12px;\n top: 14px;\n }\n\n svg {\n cursor: ", ";\n }\n"])), function (_a) {
|
|
4779
4928
|
var disabled = _a.disabled;
|
|
4780
4929
|
return (disabled ? "not-allowed" : "pointer");
|
|
4781
4930
|
});
|
|
@@ -4792,7 +4941,7 @@ var StyledSelect = styled.select(templateObject_2$v || (templateObject_2$v = __m
|
|
|
4792
4941
|
var isChanged = _a.isChanged;
|
|
4793
4942
|
return isChanged ? theme.colors.darkGray.base : theme.colors.lightGray.darker;
|
|
4794
4943
|
}, theme.colors.blue.dark, "0 0 0 1px ".concat(theme.colors.blue.dark));
|
|
4795
|
-
var templateObject_1$
|
|
4944
|
+
var templateObject_1$H, templateObject_2$v;
|
|
4796
4945
|
|
|
4797
4946
|
var Select = function (props) {
|
|
4798
4947
|
var _a;
|
|
@@ -4814,18 +4963,18 @@ var Select = function (props) {
|
|
|
4814
4963
|
return (jsxs(Wrapper$5, { children: [jsx$1(Icon, { type: "chevronDown", color: "gray", size: "small" }), jsxs(StyledSelect, __assign$2({}, props, { onChange: onChange, isChanged: isChanged || props.defaultValue, ref: inputRef }, { children: [props.placeholder && jsx$1("option", __assign$2({ hidden: true }, { children: props.placeholder })), props.children] }))] }));
|
|
4815
4964
|
};
|
|
4816
4965
|
|
|
4817
|
-
var StyledSpacer = styled.div(templateObject_1$
|
|
4966
|
+
var StyledSpacer = styled.div(templateObject_1$G || (templateObject_1$G = __makeTemplateObject$1(["\n width: ", ";\n height: ", ";\n"], ["\n width: ", ";\n height: ", ";\n"])), function (_a) {
|
|
4818
4967
|
var horizontal = _a.horizontal;
|
|
4819
4968
|
return (horizontal ? "".concat(horizontal, "px") : "");
|
|
4820
4969
|
}, function (_a) {
|
|
4821
4970
|
var vertical = _a.vertical;
|
|
4822
4971
|
return (vertical ? "".concat(vertical, "px") : "");
|
|
4823
4972
|
});
|
|
4824
|
-
var templateObject_1$
|
|
4973
|
+
var templateObject_1$G;
|
|
4825
4974
|
|
|
4826
4975
|
var Spacer = function (props) { return (jsx$1(StyledSpacer, __assign$2({}, props))); };
|
|
4827
4976
|
|
|
4828
|
-
var StyledSubheading = styled.p(templateObject_1$
|
|
4977
|
+
var StyledSubheading = styled.p(templateObject_1$F || (templateObject_1$F = __makeTemplateObject$1(["\n font-family: ", ";\n font-style: normal;\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n text-align: ", ";\n margin: 0;\n color: ", ";\n"], ["\n font-family: ", ";\n font-style: normal;\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n text-align: ", ";\n margin: 0;\n color: ", ";\n"])), theme.fonts.paragraph, function (_a) {
|
|
4829
4978
|
var size = _a.size;
|
|
4830
4979
|
return size ? theme.subheading[size].fontSize : theme.subheading.medium.fontSize;
|
|
4831
4980
|
}, function (_a) {
|
|
@@ -4853,18 +5002,18 @@ var StyledSubheading = styled.p(templateObject_1$E || (templateObject_1$E = __ma
|
|
|
4853
5002
|
return theme.colors.darkGray.dark;
|
|
4854
5003
|
}
|
|
4855
5004
|
});
|
|
4856
|
-
var templateObject_1$
|
|
5005
|
+
var templateObject_1$F;
|
|
4857
5006
|
|
|
4858
5007
|
var Subheading = function (props) { return (jsx$1(StyledSubheading, __assign$2({}, props, { children: props.children }))); };
|
|
4859
5008
|
|
|
4860
|
-
var Container$
|
|
4861
|
-
var templateObject_1$
|
|
5009
|
+
var Container$m = styled.div(templateObject_1$E || (templateObject_1$E = __makeTemplateObject$1(["\n padding: 7px 10px;\n background-color: ", ";\n box-shadow: 0 2px 0 ", ";\n border: 1px solid ", ";\n border-radius: 4px;\n box-sizing: border-box;\n text-decoration: none;\n\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n font-style: normal;\n color: ", ";\n"], ["\n padding: 7px 10px;\n background-color: ", ";\n box-shadow: 0 2px 0 ", ";\n border: 1px solid ", ";\n border-radius: 4px;\n box-sizing: border-box;\n text-decoration: none;\n\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n font-style: normal;\n color: ", ";\n"])), theme.colors.lightGray.base, theme.colors.lightGray.darker, theme.colors.lightGray.darker, theme.fonts.paragraph, theme.subheading.small.fontSize, theme.subheading.small.fontWeight, theme.colors.darkGray.light);
|
|
5010
|
+
var templateObject_1$E;
|
|
4862
5011
|
|
|
4863
5012
|
var Tag = function (props) {
|
|
4864
|
-
return jsx$1(Container$
|
|
5013
|
+
return jsx$1(Container$m, { children: props.children });
|
|
4865
5014
|
};
|
|
4866
5015
|
|
|
4867
|
-
var Container$
|
|
5016
|
+
var Container$l = styled.div(templateObject_1$D || (templateObject_1$D = __makeTemplateObject$1(["\n width: 46px;\n min-width: 46px;\n max-width: 46px;\n height: 27px;\n min-height: 27px;\n max-height: 27px;\n border-radius: 14px;\n cursor: ", ";\n position: relative;\n background-color: ", ";\n\n :after {\n content: \"\";\n width: 21px;\n height: 21px;\n border-radius: 50%;\n position: absolute;\n top: 3px;\n right: ", ";\n left: ", ";\n background-color: ", ";\n }\n\n input {\n display: none;\n }\n\n :focus {\n outline: 0;\n border-color: ", ";\n box-shadow: ", ";\n }\n"], ["\n width: 46px;\n min-width: 46px;\n max-width: 46px;\n height: 27px;\n min-height: 27px;\n max-height: 27px;\n border-radius: 14px;\n cursor: ", ";\n position: relative;\n background-color: ", ";\n\n :after {\n content: \"\";\n width: 21px;\n height: 21px;\n border-radius: 50%;\n position: absolute;\n top: 3px;\n right: ", ";\n left: ", ";\n background-color: ", ";\n }\n\n input {\n display: none;\n }\n\n :focus {\n outline: 0;\n border-color: ", ";\n box-shadow: ", ";\n }\n"])), function (_a) {
|
|
4868
5017
|
var disabled = _a.disabled;
|
|
4869
5018
|
return (disabled ? "not-allowed" : "pointer");
|
|
4870
5019
|
}, function (_a) {
|
|
@@ -4882,7 +5031,7 @@ var Container$k = styled.div(templateObject_1$C || (templateObject_1$C = __makeT
|
|
|
4882
5031
|
var disabled = _a.disabled;
|
|
4883
5032
|
return disabled ? theme.colors.lightGray.darker : theme.colors.lightGray.light;
|
|
4884
5033
|
}, theme.colors.blue.dark, "0 0 0 1px ".concat(theme.colors.blue.dark));
|
|
4885
|
-
var templateObject_1$
|
|
5034
|
+
var templateObject_1$D;
|
|
4886
5035
|
|
|
4887
5036
|
var Toggle = function (props) {
|
|
4888
5037
|
var _a;
|
|
@@ -4910,10 +5059,10 @@ var Toggle = function (props) {
|
|
|
4910
5059
|
props.onChange(newValue);
|
|
4911
5060
|
}
|
|
4912
5061
|
};
|
|
4913
|
-
return (jsx$1(Container$
|
|
5062
|
+
return (jsx$1(Container$l, __assign$2({ checked: checked, disabled: props.disabled, tabIndex: 0, onClick: toggle, onBlur: props.onBlur, onKeyPress: function (e) { return (e.key === "Enter" ? toggle() : null); }, ref: containerRef }, { children: jsx$1("input", { type: "checkbox", disabled: !!props.disabled, id: props.id, name: props.name, ref: inputRef }) })));
|
|
4914
5063
|
};
|
|
4915
5064
|
|
|
4916
|
-
var Wrapper$4 = styled.div(templateObject_1$
|
|
5065
|
+
var Wrapper$4 = styled.div(templateObject_1$C || (templateObject_1$C = __makeTemplateObject$1(["\n display: flex;\n align-items: flex-end;\n\n > svg {\n height: ", ";\n }\n"], ["\n display: flex;\n align-items: flex-end;\n\n > svg {\n height: ", ";\n }\n"])), function (_a) {
|
|
4917
5066
|
var level = _a.level;
|
|
4918
5067
|
switch (level) {
|
|
4919
5068
|
case 1:
|
|
@@ -4924,7 +5073,7 @@ var Wrapper$4 = styled.div(templateObject_1$B || (templateObject_1$B = __makeTem
|
|
|
4924
5073
|
return "70px";
|
|
4925
5074
|
}
|
|
4926
5075
|
});
|
|
4927
|
-
var templateObject_1$
|
|
5076
|
+
var templateObject_1$C;
|
|
4928
5077
|
|
|
4929
5078
|
var trophies = {
|
|
4930
5079
|
1: {
|
|
@@ -4960,7 +5109,7 @@ var trophies = {
|
|
|
4960
5109
|
};
|
|
4961
5110
|
var Trophy = function (props) { return (jsx$1(Wrapper$4, __assign$2({}, props, { children: trophies[props.variant][props.level] }))); };
|
|
4962
5111
|
|
|
4963
|
-
var Container$
|
|
5112
|
+
var Container$k = styled.div(templateObject_1$B || (templateObject_1$B = __makeTemplateObject$1(["\n min-height: 44px;\n padding: 10px;\n background-color: ", ";\n box-sizing: border-box;\n border-radius: 4px;\n display: flex;\n align-items: center;\n gap: 10px;\n\n > div:first-child {\n min-width: 24px;\n min-height: 24px;\n }\n\n p {\n color: ", ";\n }\n"], ["\n min-height: 44px;\n padding: 10px;\n background-color: ", ";\n box-sizing: border-box;\n border-radius: 4px;\n display: flex;\n align-items: center;\n gap: 10px;\n\n > div:first-child {\n min-width: 24px;\n min-height: 24px;\n }\n\n p {\n color: ", ";\n }\n"])), function (_a) {
|
|
4964
5113
|
var type = _a.type;
|
|
4965
5114
|
switch (type) {
|
|
4966
5115
|
case "success":
|
|
@@ -4977,11 +5126,11 @@ var Container$j = styled.div(templateObject_1$A || (templateObject_1$A = __makeT
|
|
|
4977
5126
|
return theme.colors.red.base;
|
|
4978
5127
|
}
|
|
4979
5128
|
});
|
|
4980
|
-
var templateObject_1$
|
|
5129
|
+
var templateObject_1$B;
|
|
4981
5130
|
|
|
4982
|
-
var Alert = function (props) { return (jsxs(Container$
|
|
5131
|
+
var Alert = function (props) { return (jsxs(Container$k, __assign$2({}, props, { children: [jsx$1(Icon, { size: "small", type: props.type === "success" ? "check" : "warning", color: props.type === "success" ? "green" : "red" }), jsx$1(Paragraph, { children: props.message })] }))); };
|
|
4983
5132
|
|
|
4984
|
-
var StyledCard = styled.div(templateObject_1$
|
|
5133
|
+
var StyledCard = styled.div(templateObject_1$A || (templateObject_1$A = __makeTemplateObject$1(["\n background-color: ", ";\n border: ", ";\n box-shadow: 0px 4px 0px rgba(0, 0, 0, 20%);\n border-radius: 6px;\n overflow: hidden;\n position: relative;\n\n ", "\n"], ["\n background-color: ", ";\n border: ", ";\n box-shadow: 0px 4px 0px rgba(0, 0, 0, 20%);\n border-radius: 6px;\n overflow: hidden;\n position: relative;\n\n ", "\n"])), theme.colors.lightGray.light, function (_a) {
|
|
4985
5134
|
var bordered = _a.bordered;
|
|
4986
5135
|
return bordered ? "1px solid ".concat(theme.colors.lightGray.dark) : "none";
|
|
4987
5136
|
}, function (_a) {
|
|
@@ -4998,7 +5147,7 @@ var Ellipse = styled.div(templateObject_2$u || (templateObject_2$u = __makeTempl
|
|
|
4998
5147
|
return color ? theme.colors[color].light : "";
|
|
4999
5148
|
});
|
|
5000
5149
|
var Content = styled.div(templateObject_3$a || (templateObject_3$a = __makeTemplateObject$1(["\n height: 100%;\n padding: 15px;\n position: inherit;\n top: 0;\n left: 0;\n"], ["\n height: 100%;\n padding: 15px;\n position: inherit;\n top: 0;\n left: 0;\n"])));
|
|
5001
|
-
var templateObject_1$
|
|
5150
|
+
var templateObject_1$A, templateObject_2$u, templateObject_3$a;
|
|
5002
5151
|
|
|
5003
5152
|
var Card = function (props) { return (jsxs(StyledCard, __assign$2({}, props, { children: [props.ellipse && jsx$1(Ellipse, { color: props.ellipse }), jsx$1(Content, { children: props.children })] }))); };
|
|
5004
5153
|
|
|
@@ -10146,15 +10295,15 @@ possibleStandardNamesOptimized$1.possibleStandardNames = {
|
|
|
10146
10295
|
|
|
10147
10296
|
Object.defineProperty(lib, '__esModule', { value: true });
|
|
10148
10297
|
|
|
10149
|
-
function _slicedToArray(arr, i) {
|
|
10150
|
-
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
10298
|
+
function _slicedToArray$2(arr, i) {
|
|
10299
|
+
return _arrayWithHoles$2(arr) || _iterableToArrayLimit$2(arr, i) || _unsupportedIterableToArray$2(arr, i) || _nonIterableRest$2();
|
|
10151
10300
|
}
|
|
10152
10301
|
|
|
10153
|
-
function _arrayWithHoles(arr) {
|
|
10302
|
+
function _arrayWithHoles$2(arr) {
|
|
10154
10303
|
if (Array.isArray(arr)) return arr;
|
|
10155
10304
|
}
|
|
10156
10305
|
|
|
10157
|
-
function _iterableToArrayLimit(arr, i) {
|
|
10306
|
+
function _iterableToArrayLimit$2(arr, i) {
|
|
10158
10307
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
10159
10308
|
|
|
10160
10309
|
if (_i == null) return;
|
|
@@ -10184,16 +10333,16 @@ function _iterableToArrayLimit(arr, i) {
|
|
|
10184
10333
|
return _arr;
|
|
10185
10334
|
}
|
|
10186
10335
|
|
|
10187
|
-
function _unsupportedIterableToArray(o, minLen) {
|
|
10336
|
+
function _unsupportedIterableToArray$2(o, minLen) {
|
|
10188
10337
|
if (!o) return;
|
|
10189
|
-
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
10338
|
+
if (typeof o === "string") return _arrayLikeToArray$2(o, minLen);
|
|
10190
10339
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
10191
10340
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
10192
10341
|
if (n === "Map" || n === "Set") return Array.from(o);
|
|
10193
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
10342
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$2(o, minLen);
|
|
10194
10343
|
}
|
|
10195
10344
|
|
|
10196
|
-
function _arrayLikeToArray(arr, len) {
|
|
10345
|
+
function _arrayLikeToArray$2(arr, len) {
|
|
10197
10346
|
if (len == null || len > arr.length) len = arr.length;
|
|
10198
10347
|
|
|
10199
10348
|
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
@@ -10201,7 +10350,7 @@ function _arrayLikeToArray(arr, len) {
|
|
|
10201
10350
|
return arr2;
|
|
10202
10351
|
}
|
|
10203
10352
|
|
|
10204
|
-
function _nonIterableRest() {
|
|
10353
|
+
function _nonIterableRest$2() {
|
|
10205
10354
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
10206
10355
|
}
|
|
10207
10356
|
|
|
@@ -10265,7 +10414,7 @@ reservedProps.forEach(function (name) {
|
|
|
10265
10414
|
// This is a mapping from React prop names to the attribute names.
|
|
10266
10415
|
|
|
10267
10416
|
[['acceptCharset', 'accept-charset'], ['className', 'class'], ['htmlFor', 'for'], ['httpEquiv', 'http-equiv']].forEach(function (_ref) {
|
|
10268
|
-
var _ref2 = _slicedToArray(_ref, 2),
|
|
10417
|
+
var _ref2 = _slicedToArray$2(_ref, 2),
|
|
10269
10418
|
name = _ref2[0],
|
|
10270
10419
|
attributeName = _ref2[1];
|
|
10271
10420
|
|
|
@@ -11247,14 +11396,14 @@ htmlReactParser.Element;
|
|
|
11247
11396
|
htmlReactParser.ProcessingInstruction;
|
|
11248
11397
|
htmlReactParser.Text;
|
|
11249
11398
|
|
|
11250
|
-
var Fieldset$1 = styled.fieldset(templateObject_1$
|
|
11399
|
+
var Fieldset$1 = styled.fieldset(templateObject_1$z || (templateObject_1$z = __makeTemplateObject$1(["\n border: 0;\n margin: 0;\n padding: 0;\n"], ["\n border: 0;\n margin: 0;\n padding: 0;\n"])));
|
|
11251
11400
|
var CheckboxContainer = styled.div(templateObject_2$t || (templateObject_2$t = __makeTemplateObject$1(["\n margin-top: 5px;\n"], ["\n margin-top: 5px;\n"])));
|
|
11252
11401
|
var CheckboxWrapper = styled.div(templateObject_3$9 || (templateObject_3$9 = __makeTemplateObject$1(["\n display: flex;\n align-items: center;\n\n > div:first-child {\n margin-right: 10px;\n }\n\n :not(:last-child) {\n margin-bottom: 20px;\n }\n"], ["\n display: flex;\n align-items: center;\n\n > div:first-child {\n margin-right: 10px;\n }\n\n :not(:last-child) {\n margin-bottom: 20px;\n }\n"])));
|
|
11253
11402
|
var Label$9 = styled(StyledParagraph)(templateObject_4$6 || (templateObject_4$6 = __makeTemplateObject$1(["\n font-weight: ", ";\n color: ", ";\n display: flex;\n flex-wrap: wrap;\n gap: 0 6px;\n align-items: center;\n cursor: pointer;\n\n a {\n color: ", ";\n }\n"], ["\n font-weight: ", ";\n color: ", ";\n display: flex;\n flex-wrap: wrap;\n gap: 0 6px;\n align-items: center;\n cursor: pointer;\n\n a {\n color: ", ";\n }\n"])), function (_a) {
|
|
11254
11403
|
var weight = _a.weight;
|
|
11255
11404
|
return weight || 500;
|
|
11256
11405
|
}, theme.colors.darkGray.base, theme.colors.blue.base);
|
|
11257
|
-
var templateObject_1$
|
|
11406
|
+
var templateObject_1$z, templateObject_2$t, templateObject_3$9, templateObject_4$6;
|
|
11258
11407
|
|
|
11259
11408
|
var Checkboxes = function (props) {
|
|
11260
11409
|
var _a = useState(props.defaultValue || []), values = _a[0], setValues = _a[1];
|
|
@@ -11277,12 +11426,12 @@ var Checkboxes = function (props) {
|
|
|
11277
11426
|
}) })] }));
|
|
11278
11427
|
};
|
|
11279
11428
|
|
|
11280
|
-
var Container$
|
|
11429
|
+
var Container$j = styled.div(templateObject_1$y || (templateObject_1$y = __makeTemplateObject$1(["\n width: 100%;\n background-color: ", ";\n box-shadow: 0px 4px 0px rgba(0, 0, 0, 20%);\n border-radius: 6px;\n padding: 10px 20px;\n"], ["\n width: 100%;\n background-color: ", ";\n box-shadow: 0px 4px 0px rgba(0, 0, 0, 20%);\n border-radius: 6px;\n padding: 10px 20px;\n"])), theme.colors.lightGray.light);
|
|
11281
11430
|
var Item = styled.div(templateObject_2$s || (templateObject_2$s = __makeTemplateObject$1(["\n padding: 10px 0;\n cursor: pointer;\n\n > div:first-child {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 5px;\n }\n\n p, > div:last-child {\n display: ", ";\n margin: 0;\n }\n\n :not(:last-child) {\n border-bottom: 1px solid ", ";\n }\n"], ["\n padding: 10px 0;\n cursor: pointer;\n\n > div:first-child {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 5px;\n }\n\n p, > div:last-child {\n display: ", ";\n margin: 0;\n }\n\n :not(:last-child) {\n border-bottom: 1px solid ", ";\n }\n"])), function (_a) {
|
|
11282
11431
|
var isOpen = _a.isOpen;
|
|
11283
11432
|
return (isOpen ? "" : "none");
|
|
11284
11433
|
}, theme.colors.lightGray.dark);
|
|
11285
|
-
var templateObject_1$
|
|
11434
|
+
var templateObject_1$y, templateObject_2$s;
|
|
11286
11435
|
|
|
11287
11436
|
var Collapse = function (props) {
|
|
11288
11437
|
var _a = useState([]), openItems = _a[0], setOpenItems = _a[1];
|
|
@@ -11294,18 +11443,18 @@ var Collapse = function (props) {
|
|
|
11294
11443
|
setOpenItems(function (prevState) { return __spreadArray(__spreadArray([], prevState, true), [index], false); });
|
|
11295
11444
|
}
|
|
11296
11445
|
};
|
|
11297
|
-
return (jsx$1(Container$
|
|
11446
|
+
return (jsx$1(Container$j, __assign$2({}, props, { children: props.items.map(function (item, index) {
|
|
11298
11447
|
var isOpen = openItems.includes(index);
|
|
11299
11448
|
return (jsxs(Item, __assign$2({ isOpen: isOpen, onClick: function () { return onClickItem(index, isOpen); } }, { children: [jsxs("div", { children: [jsx$1(Heading, __assign$2({ type: "h6" }, { children: item.title })), jsx$1(Icon, { type: isOpen ? "chevronUp" : "chevronDown", color: "blue" })] }), jsx$1(Paragraph, __assign$2({ weight: "regular", as: typeof item.content !== "string" ? "div" : undefined }, { children: item.content }))] }), "".concat(item.title, "-").concat(index)));
|
|
11300
11449
|
}) })));
|
|
11301
11450
|
};
|
|
11302
11451
|
|
|
11303
|
-
var Wrapper$3 = styled.div(templateObject_1$
|
|
11452
|
+
var Wrapper$3 = styled.div(templateObject_1$x || (templateObject_1$x = __makeTemplateObject$1(["\n display: flex;\n"], ["\n display: flex;\n"])));
|
|
11304
11453
|
var Value = styled.div(templateObject_2$r || (templateObject_2$r = __makeTemplateObject$1(["\n width: 40px;\n height: 32px;\n background-color: ", ";\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0 6px;\n\n h5 {\n color: ", ";\n }\n\n :first-child {\n margin-left: 0;\n }\n"], ["\n width: 40px;\n height: 32px;\n background-color: ", ";\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0 6px;\n\n h5 {\n color: ", ";\n }\n\n :first-child {\n margin-left: 0;\n }\n"])), function (_a) {
|
|
11305
11454
|
var contrast = _a.contrast;
|
|
11306
11455
|
return contrast ? theme.colors.lightGray.dark : theme.colors.lightGray.light;
|
|
11307
11456
|
}, theme.colors.darkGray.base);
|
|
11308
|
-
var templateObject_1$
|
|
11457
|
+
var templateObject_1$x, templateObject_2$r;
|
|
11309
11458
|
|
|
11310
11459
|
var Countdown = function (_a) {
|
|
11311
11460
|
var till = _a.till, contrast = _a.contrast;
|
|
@@ -11332,9 +11481,9 @@ var Countdown = function (_a) {
|
|
|
11332
11481
|
return (jsxs(Wrapper$3, { children: [jsx$1(Value, __assign$2({ contrast: contrast }, { children: jsx$1(Heading, __assign$2({ type: "h5" }, { children: HH })) })), jsx$1(Heading, __assign$2({ type: "h5", color: color }, { children: ":" })), jsx$1(Value, __assign$2({ contrast: contrast }, { children: jsx$1(Heading, __assign$2({ type: "h5" }, { children: MM })) })), jsx$1(Heading, __assign$2({ type: "h5", color: color }, { children: ":" })), jsx$1(Value, __assign$2({ contrast: contrast }, { children: jsx$1(Heading, __assign$2({ type: "h5" }, { children: SS })) }))] }));
|
|
11333
11482
|
};
|
|
11334
11483
|
|
|
11335
|
-
var Container$
|
|
11484
|
+
var Container$i = styled.div(templateObject_1$w || (templateObject_1$w = __makeTemplateObject$1(["\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n flex-wrap: wrap;\n"], ["\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n flex-wrap: wrap;\n"])));
|
|
11336
11485
|
var Label$8 = styled(StyledParagraph)(templateObject_2$q || (templateObject_2$q = __makeTemplateObject$1(["\n font-weight: 500;\n color: ", ";\n"], ["\n font-weight: 500;\n color: ", ";\n"])), theme.colors.darkGray.base);
|
|
11337
|
-
var templateObject_1$
|
|
11486
|
+
var templateObject_1$w, templateObject_2$q;
|
|
11338
11487
|
|
|
11339
11488
|
var DateInputField = function (props) {
|
|
11340
11489
|
var onChange = function (value) {
|
|
@@ -11345,7 +11494,2563 @@ var DateInputField = function (props) {
|
|
|
11345
11494
|
if (props.onBlur)
|
|
11346
11495
|
props.onBlur(props.name);
|
|
11347
11496
|
};
|
|
11348
|
-
return (jsxs(Container$
|
|
11497
|
+
return (jsxs(Container$i, { children: [jsx$1(Label$8, __assign$2({ as: "label", htmlFor: props.name }, { children: props.label })), jsx$1(Spacer, { vertical: 5 }), jsx$1(Input.Date, { defaultValue: props.defaultValue, min: props.min, max: props.max, autoComplete: props.autoComplete, autoFocus: props.autoFocus, disabled: props.disabled, id: props.name, onChange: onChange, onBlur: onBlur })] }));
|
|
11498
|
+
};
|
|
11499
|
+
|
|
11500
|
+
var propTypes = {exports: {}};
|
|
11501
|
+
|
|
11502
|
+
/*
|
|
11503
|
+
object-assign
|
|
11504
|
+
(c) Sindre Sorhus
|
|
11505
|
+
@license MIT
|
|
11506
|
+
*/
|
|
11507
|
+
/* eslint-disable no-unused-vars */
|
|
11508
|
+
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
|
|
11509
|
+
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
11510
|
+
var propIsEnumerable = Object.prototype.propertyIsEnumerable;
|
|
11511
|
+
|
|
11512
|
+
function toObject(val) {
|
|
11513
|
+
if (val === null || val === undefined) {
|
|
11514
|
+
throw new TypeError('Object.assign cannot be called with null or undefined');
|
|
11515
|
+
}
|
|
11516
|
+
|
|
11517
|
+
return Object(val);
|
|
11518
|
+
}
|
|
11519
|
+
|
|
11520
|
+
function shouldUseNative() {
|
|
11521
|
+
try {
|
|
11522
|
+
if (!Object.assign) {
|
|
11523
|
+
return false;
|
|
11524
|
+
}
|
|
11525
|
+
|
|
11526
|
+
// Detect buggy property enumeration order in older V8 versions.
|
|
11527
|
+
|
|
11528
|
+
// https://bugs.chromium.org/p/v8/issues/detail?id=4118
|
|
11529
|
+
var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
|
|
11530
|
+
test1[5] = 'de';
|
|
11531
|
+
if (Object.getOwnPropertyNames(test1)[0] === '5') {
|
|
11532
|
+
return false;
|
|
11533
|
+
}
|
|
11534
|
+
|
|
11535
|
+
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
|
|
11536
|
+
var test2 = {};
|
|
11537
|
+
for (var i = 0; i < 10; i++) {
|
|
11538
|
+
test2['_' + String.fromCharCode(i)] = i;
|
|
11539
|
+
}
|
|
11540
|
+
var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
|
|
11541
|
+
return test2[n];
|
|
11542
|
+
});
|
|
11543
|
+
if (order2.join('') !== '0123456789') {
|
|
11544
|
+
return false;
|
|
11545
|
+
}
|
|
11546
|
+
|
|
11547
|
+
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
|
|
11548
|
+
var test3 = {};
|
|
11549
|
+
'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
|
|
11550
|
+
test3[letter] = letter;
|
|
11551
|
+
});
|
|
11552
|
+
if (Object.keys(Object.assign({}, test3)).join('') !==
|
|
11553
|
+
'abcdefghijklmnopqrst') {
|
|
11554
|
+
return false;
|
|
11555
|
+
}
|
|
11556
|
+
|
|
11557
|
+
return true;
|
|
11558
|
+
} catch (err) {
|
|
11559
|
+
// We don't expect any of the above to throw, but better to be safe.
|
|
11560
|
+
return false;
|
|
11561
|
+
}
|
|
11562
|
+
}
|
|
11563
|
+
|
|
11564
|
+
var objectAssign = shouldUseNative() ? Object.assign : function (target, source) {
|
|
11565
|
+
var from;
|
|
11566
|
+
var to = toObject(target);
|
|
11567
|
+
var symbols;
|
|
11568
|
+
|
|
11569
|
+
for (var s = 1; s < arguments.length; s++) {
|
|
11570
|
+
from = Object(arguments[s]);
|
|
11571
|
+
|
|
11572
|
+
for (var key in from) {
|
|
11573
|
+
if (hasOwnProperty.call(from, key)) {
|
|
11574
|
+
to[key] = from[key];
|
|
11575
|
+
}
|
|
11576
|
+
}
|
|
11577
|
+
|
|
11578
|
+
if (getOwnPropertySymbols) {
|
|
11579
|
+
symbols = getOwnPropertySymbols(from);
|
|
11580
|
+
for (var i = 0; i < symbols.length; i++) {
|
|
11581
|
+
if (propIsEnumerable.call(from, symbols[i])) {
|
|
11582
|
+
to[symbols[i]] = from[symbols[i]];
|
|
11583
|
+
}
|
|
11584
|
+
}
|
|
11585
|
+
}
|
|
11586
|
+
}
|
|
11587
|
+
|
|
11588
|
+
return to;
|
|
11589
|
+
};
|
|
11590
|
+
|
|
11591
|
+
/**
|
|
11592
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
11593
|
+
*
|
|
11594
|
+
* This source code is licensed under the MIT license found in the
|
|
11595
|
+
* LICENSE file in the root directory of this source tree.
|
|
11596
|
+
*/
|
|
11597
|
+
|
|
11598
|
+
var ReactPropTypesSecret$3 = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
|
|
11599
|
+
|
|
11600
|
+
var ReactPropTypesSecret_1 = ReactPropTypesSecret$3;
|
|
11601
|
+
|
|
11602
|
+
var has$2 = Function.call.bind(Object.prototype.hasOwnProperty);
|
|
11603
|
+
|
|
11604
|
+
/**
|
|
11605
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
11606
|
+
*
|
|
11607
|
+
* This source code is licensed under the MIT license found in the
|
|
11608
|
+
* LICENSE file in the root directory of this source tree.
|
|
11609
|
+
*/
|
|
11610
|
+
|
|
11611
|
+
var printWarning$1 = function() {};
|
|
11612
|
+
|
|
11613
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
11614
|
+
var ReactPropTypesSecret$2 = ReactPropTypesSecret_1;
|
|
11615
|
+
var loggedTypeFailures = {};
|
|
11616
|
+
var has$1 = has$2;
|
|
11617
|
+
|
|
11618
|
+
printWarning$1 = function(text) {
|
|
11619
|
+
var message = 'Warning: ' + text;
|
|
11620
|
+
if (typeof console !== 'undefined') {
|
|
11621
|
+
console.error(message);
|
|
11622
|
+
}
|
|
11623
|
+
try {
|
|
11624
|
+
// --- Welcome to debugging React ---
|
|
11625
|
+
// This error was thrown as a convenience so that you can use this stack
|
|
11626
|
+
// to find the callsite that caused this warning to fire.
|
|
11627
|
+
throw new Error(message);
|
|
11628
|
+
} catch (x) { /**/ }
|
|
11629
|
+
};
|
|
11630
|
+
}
|
|
11631
|
+
|
|
11632
|
+
/**
|
|
11633
|
+
* Assert that the values match with the type specs.
|
|
11634
|
+
* Error messages are memorized and will only be shown once.
|
|
11635
|
+
*
|
|
11636
|
+
* @param {object} typeSpecs Map of name to a ReactPropType
|
|
11637
|
+
* @param {object} values Runtime values that need to be type-checked
|
|
11638
|
+
* @param {string} location e.g. "prop", "context", "child context"
|
|
11639
|
+
* @param {string} componentName Name of the component for error messages.
|
|
11640
|
+
* @param {?Function} getStack Returns the component stack.
|
|
11641
|
+
* @private
|
|
11642
|
+
*/
|
|
11643
|
+
function checkPropTypes$1(typeSpecs, values, location, componentName, getStack) {
|
|
11644
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
11645
|
+
for (var typeSpecName in typeSpecs) {
|
|
11646
|
+
if (has$1(typeSpecs, typeSpecName)) {
|
|
11647
|
+
var error;
|
|
11648
|
+
// Prop type validation may throw. In case they do, we don't want to
|
|
11649
|
+
// fail the render phase where it didn't fail before. So we log it.
|
|
11650
|
+
// After these have been cleaned up, we'll let them throw.
|
|
11651
|
+
try {
|
|
11652
|
+
// This is intentionally an invariant that gets caught. It's the same
|
|
11653
|
+
// behavior as without this statement except with a better message.
|
|
11654
|
+
if (typeof typeSpecs[typeSpecName] !== 'function') {
|
|
11655
|
+
var err = Error(
|
|
11656
|
+
(componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
|
|
11657
|
+
'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
|
|
11658
|
+
'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
|
|
11659
|
+
);
|
|
11660
|
+
err.name = 'Invariant Violation';
|
|
11661
|
+
throw err;
|
|
11662
|
+
}
|
|
11663
|
+
error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret$2);
|
|
11664
|
+
} catch (ex) {
|
|
11665
|
+
error = ex;
|
|
11666
|
+
}
|
|
11667
|
+
if (error && !(error instanceof Error)) {
|
|
11668
|
+
printWarning$1(
|
|
11669
|
+
(componentName || 'React class') + ': type specification of ' +
|
|
11670
|
+
location + ' `' + typeSpecName + '` is invalid; the type checker ' +
|
|
11671
|
+
'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
|
|
11672
|
+
'You may have forgotten to pass an argument to the type checker ' +
|
|
11673
|
+
'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
|
|
11674
|
+
'shape all require an argument).'
|
|
11675
|
+
);
|
|
11676
|
+
}
|
|
11677
|
+
if (error instanceof Error && !(error.message in loggedTypeFailures)) {
|
|
11678
|
+
// Only monitor this failure once because there tends to be a lot of the
|
|
11679
|
+
// same error.
|
|
11680
|
+
loggedTypeFailures[error.message] = true;
|
|
11681
|
+
|
|
11682
|
+
var stack = getStack ? getStack() : '';
|
|
11683
|
+
|
|
11684
|
+
printWarning$1(
|
|
11685
|
+
'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
|
|
11686
|
+
);
|
|
11687
|
+
}
|
|
11688
|
+
}
|
|
11689
|
+
}
|
|
11690
|
+
}
|
|
11691
|
+
}
|
|
11692
|
+
|
|
11693
|
+
/**
|
|
11694
|
+
* Resets warning cache when testing.
|
|
11695
|
+
*
|
|
11696
|
+
* @private
|
|
11697
|
+
*/
|
|
11698
|
+
checkPropTypes$1.resetWarningCache = function() {
|
|
11699
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
11700
|
+
loggedTypeFailures = {};
|
|
11701
|
+
}
|
|
11702
|
+
};
|
|
11703
|
+
|
|
11704
|
+
var checkPropTypes_1 = checkPropTypes$1;
|
|
11705
|
+
|
|
11706
|
+
/**
|
|
11707
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
11708
|
+
*
|
|
11709
|
+
* This source code is licensed under the MIT license found in the
|
|
11710
|
+
* LICENSE file in the root directory of this source tree.
|
|
11711
|
+
*/
|
|
11712
|
+
|
|
11713
|
+
var ReactIs$1 = reactIs$1.exports;
|
|
11714
|
+
var assign = objectAssign;
|
|
11715
|
+
|
|
11716
|
+
var ReactPropTypesSecret$1 = ReactPropTypesSecret_1;
|
|
11717
|
+
var has = has$2;
|
|
11718
|
+
var checkPropTypes = checkPropTypes_1;
|
|
11719
|
+
|
|
11720
|
+
var printWarning = function() {};
|
|
11721
|
+
|
|
11722
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
11723
|
+
printWarning = function(text) {
|
|
11724
|
+
var message = 'Warning: ' + text;
|
|
11725
|
+
if (typeof console !== 'undefined') {
|
|
11726
|
+
console.error(message);
|
|
11727
|
+
}
|
|
11728
|
+
try {
|
|
11729
|
+
// --- Welcome to debugging React ---
|
|
11730
|
+
// This error was thrown as a convenience so that you can use this stack
|
|
11731
|
+
// to find the callsite that caused this warning to fire.
|
|
11732
|
+
throw new Error(message);
|
|
11733
|
+
} catch (x) {}
|
|
11734
|
+
};
|
|
11735
|
+
}
|
|
11736
|
+
|
|
11737
|
+
function emptyFunctionThatReturnsNull() {
|
|
11738
|
+
return null;
|
|
11739
|
+
}
|
|
11740
|
+
|
|
11741
|
+
var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
|
|
11742
|
+
/* global Symbol */
|
|
11743
|
+
var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
|
|
11744
|
+
var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
|
|
11745
|
+
|
|
11746
|
+
/**
|
|
11747
|
+
* Returns the iterator method function contained on the iterable object.
|
|
11748
|
+
*
|
|
11749
|
+
* Be sure to invoke the function with the iterable as context:
|
|
11750
|
+
*
|
|
11751
|
+
* var iteratorFn = getIteratorFn(myIterable);
|
|
11752
|
+
* if (iteratorFn) {
|
|
11753
|
+
* var iterator = iteratorFn.call(myIterable);
|
|
11754
|
+
* ...
|
|
11755
|
+
* }
|
|
11756
|
+
*
|
|
11757
|
+
* @param {?object} maybeIterable
|
|
11758
|
+
* @return {?function}
|
|
11759
|
+
*/
|
|
11760
|
+
function getIteratorFn(maybeIterable) {
|
|
11761
|
+
var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
|
|
11762
|
+
if (typeof iteratorFn === 'function') {
|
|
11763
|
+
return iteratorFn;
|
|
11764
|
+
}
|
|
11765
|
+
}
|
|
11766
|
+
|
|
11767
|
+
/**
|
|
11768
|
+
* Collection of methods that allow declaration and validation of props that are
|
|
11769
|
+
* supplied to React components. Example usage:
|
|
11770
|
+
*
|
|
11771
|
+
* var Props = require('ReactPropTypes');
|
|
11772
|
+
* var MyArticle = React.createClass({
|
|
11773
|
+
* propTypes: {
|
|
11774
|
+
* // An optional string prop named "description".
|
|
11775
|
+
* description: Props.string,
|
|
11776
|
+
*
|
|
11777
|
+
* // A required enum prop named "category".
|
|
11778
|
+
* category: Props.oneOf(['News','Photos']).isRequired,
|
|
11779
|
+
*
|
|
11780
|
+
* // A prop named "dialog" that requires an instance of Dialog.
|
|
11781
|
+
* dialog: Props.instanceOf(Dialog).isRequired
|
|
11782
|
+
* },
|
|
11783
|
+
* render: function() { ... }
|
|
11784
|
+
* });
|
|
11785
|
+
*
|
|
11786
|
+
* A more formal specification of how these methods are used:
|
|
11787
|
+
*
|
|
11788
|
+
* type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
|
|
11789
|
+
* decl := ReactPropTypes.{type}(.isRequired)?
|
|
11790
|
+
*
|
|
11791
|
+
* Each and every declaration produces a function with the same signature. This
|
|
11792
|
+
* allows the creation of custom validation functions. For example:
|
|
11793
|
+
*
|
|
11794
|
+
* var MyLink = React.createClass({
|
|
11795
|
+
* propTypes: {
|
|
11796
|
+
* // An optional string or URI prop named "href".
|
|
11797
|
+
* href: function(props, propName, componentName) {
|
|
11798
|
+
* var propValue = props[propName];
|
|
11799
|
+
* if (propValue != null && typeof propValue !== 'string' &&
|
|
11800
|
+
* !(propValue instanceof URI)) {
|
|
11801
|
+
* return new Error(
|
|
11802
|
+
* 'Expected a string or an URI for ' + propName + ' in ' +
|
|
11803
|
+
* componentName
|
|
11804
|
+
* );
|
|
11805
|
+
* }
|
|
11806
|
+
* }
|
|
11807
|
+
* },
|
|
11808
|
+
* render: function() {...}
|
|
11809
|
+
* });
|
|
11810
|
+
*
|
|
11811
|
+
* @internal
|
|
11812
|
+
*/
|
|
11813
|
+
|
|
11814
|
+
var ANONYMOUS = '<<anonymous>>';
|
|
11815
|
+
|
|
11816
|
+
// Important!
|
|
11817
|
+
// Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
|
|
11818
|
+
var ReactPropTypes = {
|
|
11819
|
+
array: createPrimitiveTypeChecker('array'),
|
|
11820
|
+
bigint: createPrimitiveTypeChecker('bigint'),
|
|
11821
|
+
bool: createPrimitiveTypeChecker('boolean'),
|
|
11822
|
+
func: createPrimitiveTypeChecker('function'),
|
|
11823
|
+
number: createPrimitiveTypeChecker('number'),
|
|
11824
|
+
object: createPrimitiveTypeChecker('object'),
|
|
11825
|
+
string: createPrimitiveTypeChecker('string'),
|
|
11826
|
+
symbol: createPrimitiveTypeChecker('symbol'),
|
|
11827
|
+
|
|
11828
|
+
any: createAnyTypeChecker(),
|
|
11829
|
+
arrayOf: createArrayOfTypeChecker,
|
|
11830
|
+
element: createElementTypeChecker(),
|
|
11831
|
+
elementType: createElementTypeTypeChecker(),
|
|
11832
|
+
instanceOf: createInstanceTypeChecker,
|
|
11833
|
+
node: createNodeChecker(),
|
|
11834
|
+
objectOf: createObjectOfTypeChecker,
|
|
11835
|
+
oneOf: createEnumTypeChecker,
|
|
11836
|
+
oneOfType: createUnionTypeChecker,
|
|
11837
|
+
shape: createShapeTypeChecker,
|
|
11838
|
+
exact: createStrictShapeTypeChecker,
|
|
11839
|
+
};
|
|
11840
|
+
|
|
11841
|
+
/**
|
|
11842
|
+
* inlined Object.is polyfill to avoid requiring consumers ship their own
|
|
11843
|
+
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
|
|
11844
|
+
*/
|
|
11845
|
+
/*eslint-disable no-self-compare*/
|
|
11846
|
+
function is(x, y) {
|
|
11847
|
+
// SameValue algorithm
|
|
11848
|
+
if (x === y) {
|
|
11849
|
+
// Steps 1-5, 7-10
|
|
11850
|
+
// Steps 6.b-6.e: +0 != -0
|
|
11851
|
+
return x !== 0 || 1 / x === 1 / y;
|
|
11852
|
+
} else {
|
|
11853
|
+
// Step 6.a: NaN == NaN
|
|
11854
|
+
return x !== x && y !== y;
|
|
11855
|
+
}
|
|
11856
|
+
}
|
|
11857
|
+
/*eslint-enable no-self-compare*/
|
|
11858
|
+
|
|
11859
|
+
/**
|
|
11860
|
+
* We use an Error-like object for backward compatibility as people may call
|
|
11861
|
+
* PropTypes directly and inspect their output. However, we don't use real
|
|
11862
|
+
* Errors anymore. We don't inspect their stack anyway, and creating them
|
|
11863
|
+
* is prohibitively expensive if they are created too often, such as what
|
|
11864
|
+
* happens in oneOfType() for any type before the one that matched.
|
|
11865
|
+
*/
|
|
11866
|
+
function PropTypeError(message, data) {
|
|
11867
|
+
this.message = message;
|
|
11868
|
+
this.data = data && typeof data === 'object' ? data: {};
|
|
11869
|
+
this.stack = '';
|
|
11870
|
+
}
|
|
11871
|
+
// Make `instanceof Error` still work for returned errors.
|
|
11872
|
+
PropTypeError.prototype = Error.prototype;
|
|
11873
|
+
|
|
11874
|
+
function createChainableTypeChecker(validate) {
|
|
11875
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
11876
|
+
var manualPropTypeCallCache = {};
|
|
11877
|
+
var manualPropTypeWarningCount = 0;
|
|
11878
|
+
}
|
|
11879
|
+
function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
|
|
11880
|
+
componentName = componentName || ANONYMOUS;
|
|
11881
|
+
propFullName = propFullName || propName;
|
|
11882
|
+
|
|
11883
|
+
if (secret !== ReactPropTypesSecret$1) {
|
|
11884
|
+
if (throwOnDirectAccess) {
|
|
11885
|
+
// New behavior only for users of `prop-types` package
|
|
11886
|
+
var err = new Error(
|
|
11887
|
+
'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
|
|
11888
|
+
'Use `PropTypes.checkPropTypes()` to call them. ' +
|
|
11889
|
+
'Read more at http://fb.me/use-check-prop-types'
|
|
11890
|
+
);
|
|
11891
|
+
err.name = 'Invariant Violation';
|
|
11892
|
+
throw err;
|
|
11893
|
+
} else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {
|
|
11894
|
+
// Old behavior for people using React.PropTypes
|
|
11895
|
+
var cacheKey = componentName + ':' + propName;
|
|
11896
|
+
if (
|
|
11897
|
+
!manualPropTypeCallCache[cacheKey] &&
|
|
11898
|
+
// Avoid spamming the console because they are often not actionable except for lib authors
|
|
11899
|
+
manualPropTypeWarningCount < 3
|
|
11900
|
+
) {
|
|
11901
|
+
printWarning(
|
|
11902
|
+
'You are manually calling a React.PropTypes validation ' +
|
|
11903
|
+
'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
|
|
11904
|
+
'and will throw in the standalone `prop-types` package. ' +
|
|
11905
|
+
'You may be seeing this warning due to a third-party PropTypes ' +
|
|
11906
|
+
'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
|
|
11907
|
+
);
|
|
11908
|
+
manualPropTypeCallCache[cacheKey] = true;
|
|
11909
|
+
manualPropTypeWarningCount++;
|
|
11910
|
+
}
|
|
11911
|
+
}
|
|
11912
|
+
}
|
|
11913
|
+
if (props[propName] == null) {
|
|
11914
|
+
if (isRequired) {
|
|
11915
|
+
if (props[propName] === null) {
|
|
11916
|
+
return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
|
|
11917
|
+
}
|
|
11918
|
+
return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
|
|
11919
|
+
}
|
|
11920
|
+
return null;
|
|
11921
|
+
} else {
|
|
11922
|
+
return validate(props, propName, componentName, location, propFullName);
|
|
11923
|
+
}
|
|
11924
|
+
}
|
|
11925
|
+
|
|
11926
|
+
var chainedCheckType = checkType.bind(null, false);
|
|
11927
|
+
chainedCheckType.isRequired = checkType.bind(null, true);
|
|
11928
|
+
|
|
11929
|
+
return chainedCheckType;
|
|
11930
|
+
}
|
|
11931
|
+
|
|
11932
|
+
function createPrimitiveTypeChecker(expectedType) {
|
|
11933
|
+
function validate(props, propName, componentName, location, propFullName, secret) {
|
|
11934
|
+
var propValue = props[propName];
|
|
11935
|
+
var propType = getPropType(propValue);
|
|
11936
|
+
if (propType !== expectedType) {
|
|
11937
|
+
// `propValue` being instance of, say, date/regexp, pass the 'object'
|
|
11938
|
+
// check, but we can offer a more precise error message here rather than
|
|
11939
|
+
// 'of type `object`'.
|
|
11940
|
+
var preciseType = getPreciseType(propValue);
|
|
11941
|
+
|
|
11942
|
+
return new PropTypeError(
|
|
11943
|
+
'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),
|
|
11944
|
+
{expectedType: expectedType}
|
|
11945
|
+
);
|
|
11946
|
+
}
|
|
11947
|
+
return null;
|
|
11948
|
+
}
|
|
11949
|
+
return createChainableTypeChecker(validate);
|
|
11950
|
+
}
|
|
11951
|
+
|
|
11952
|
+
function createAnyTypeChecker() {
|
|
11953
|
+
return createChainableTypeChecker(emptyFunctionThatReturnsNull);
|
|
11954
|
+
}
|
|
11955
|
+
|
|
11956
|
+
function createArrayOfTypeChecker(typeChecker) {
|
|
11957
|
+
function validate(props, propName, componentName, location, propFullName) {
|
|
11958
|
+
if (typeof typeChecker !== 'function') {
|
|
11959
|
+
return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
|
|
11960
|
+
}
|
|
11961
|
+
var propValue = props[propName];
|
|
11962
|
+
if (!Array.isArray(propValue)) {
|
|
11963
|
+
var propType = getPropType(propValue);
|
|
11964
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
|
|
11965
|
+
}
|
|
11966
|
+
for (var i = 0; i < propValue.length; i++) {
|
|
11967
|
+
var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret$1);
|
|
11968
|
+
if (error instanceof Error) {
|
|
11969
|
+
return error;
|
|
11970
|
+
}
|
|
11971
|
+
}
|
|
11972
|
+
return null;
|
|
11973
|
+
}
|
|
11974
|
+
return createChainableTypeChecker(validate);
|
|
11975
|
+
}
|
|
11976
|
+
|
|
11977
|
+
function createElementTypeChecker() {
|
|
11978
|
+
function validate(props, propName, componentName, location, propFullName) {
|
|
11979
|
+
var propValue = props[propName];
|
|
11980
|
+
if (!isValidElement(propValue)) {
|
|
11981
|
+
var propType = getPropType(propValue);
|
|
11982
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
|
|
11983
|
+
}
|
|
11984
|
+
return null;
|
|
11985
|
+
}
|
|
11986
|
+
return createChainableTypeChecker(validate);
|
|
11987
|
+
}
|
|
11988
|
+
|
|
11989
|
+
function createElementTypeTypeChecker() {
|
|
11990
|
+
function validate(props, propName, componentName, location, propFullName) {
|
|
11991
|
+
var propValue = props[propName];
|
|
11992
|
+
if (!ReactIs$1.isValidElementType(propValue)) {
|
|
11993
|
+
var propType = getPropType(propValue);
|
|
11994
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
|
|
11995
|
+
}
|
|
11996
|
+
return null;
|
|
11997
|
+
}
|
|
11998
|
+
return createChainableTypeChecker(validate);
|
|
11999
|
+
}
|
|
12000
|
+
|
|
12001
|
+
function createInstanceTypeChecker(expectedClass) {
|
|
12002
|
+
function validate(props, propName, componentName, location, propFullName) {
|
|
12003
|
+
if (!(props[propName] instanceof expectedClass)) {
|
|
12004
|
+
var expectedClassName = expectedClass.name || ANONYMOUS;
|
|
12005
|
+
var actualClassName = getClassName(props[propName]);
|
|
12006
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
|
|
12007
|
+
}
|
|
12008
|
+
return null;
|
|
12009
|
+
}
|
|
12010
|
+
return createChainableTypeChecker(validate);
|
|
12011
|
+
}
|
|
12012
|
+
|
|
12013
|
+
function createEnumTypeChecker(expectedValues) {
|
|
12014
|
+
if (!Array.isArray(expectedValues)) {
|
|
12015
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
12016
|
+
if (arguments.length > 1) {
|
|
12017
|
+
printWarning(
|
|
12018
|
+
'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
|
|
12019
|
+
'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
|
|
12020
|
+
);
|
|
12021
|
+
} else {
|
|
12022
|
+
printWarning('Invalid argument supplied to oneOf, expected an array.');
|
|
12023
|
+
}
|
|
12024
|
+
}
|
|
12025
|
+
return emptyFunctionThatReturnsNull;
|
|
12026
|
+
}
|
|
12027
|
+
|
|
12028
|
+
function validate(props, propName, componentName, location, propFullName) {
|
|
12029
|
+
var propValue = props[propName];
|
|
12030
|
+
for (var i = 0; i < expectedValues.length; i++) {
|
|
12031
|
+
if (is(propValue, expectedValues[i])) {
|
|
12032
|
+
return null;
|
|
12033
|
+
}
|
|
12034
|
+
}
|
|
12035
|
+
|
|
12036
|
+
var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
|
|
12037
|
+
var type = getPreciseType(value);
|
|
12038
|
+
if (type === 'symbol') {
|
|
12039
|
+
return String(value);
|
|
12040
|
+
}
|
|
12041
|
+
return value;
|
|
12042
|
+
});
|
|
12043
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
|
|
12044
|
+
}
|
|
12045
|
+
return createChainableTypeChecker(validate);
|
|
12046
|
+
}
|
|
12047
|
+
|
|
12048
|
+
function createObjectOfTypeChecker(typeChecker) {
|
|
12049
|
+
function validate(props, propName, componentName, location, propFullName) {
|
|
12050
|
+
if (typeof typeChecker !== 'function') {
|
|
12051
|
+
return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
|
|
12052
|
+
}
|
|
12053
|
+
var propValue = props[propName];
|
|
12054
|
+
var propType = getPropType(propValue);
|
|
12055
|
+
if (propType !== 'object') {
|
|
12056
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
|
|
12057
|
+
}
|
|
12058
|
+
for (var key in propValue) {
|
|
12059
|
+
if (has(propValue, key)) {
|
|
12060
|
+
var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret$1);
|
|
12061
|
+
if (error instanceof Error) {
|
|
12062
|
+
return error;
|
|
12063
|
+
}
|
|
12064
|
+
}
|
|
12065
|
+
}
|
|
12066
|
+
return null;
|
|
12067
|
+
}
|
|
12068
|
+
return createChainableTypeChecker(validate);
|
|
12069
|
+
}
|
|
12070
|
+
|
|
12071
|
+
function createUnionTypeChecker(arrayOfTypeCheckers) {
|
|
12072
|
+
if (!Array.isArray(arrayOfTypeCheckers)) {
|
|
12073
|
+
process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;
|
|
12074
|
+
return emptyFunctionThatReturnsNull;
|
|
12075
|
+
}
|
|
12076
|
+
|
|
12077
|
+
for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
|
|
12078
|
+
var checker = arrayOfTypeCheckers[i];
|
|
12079
|
+
if (typeof checker !== 'function') {
|
|
12080
|
+
printWarning(
|
|
12081
|
+
'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
|
|
12082
|
+
'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
|
|
12083
|
+
);
|
|
12084
|
+
return emptyFunctionThatReturnsNull;
|
|
12085
|
+
}
|
|
12086
|
+
}
|
|
12087
|
+
|
|
12088
|
+
function validate(props, propName, componentName, location, propFullName) {
|
|
12089
|
+
var expectedTypes = [];
|
|
12090
|
+
for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
|
|
12091
|
+
var checker = arrayOfTypeCheckers[i];
|
|
12092
|
+
var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret$1);
|
|
12093
|
+
if (checkerResult == null) {
|
|
12094
|
+
return null;
|
|
12095
|
+
}
|
|
12096
|
+
if (checkerResult.data && has(checkerResult.data, 'expectedType')) {
|
|
12097
|
+
expectedTypes.push(checkerResult.data.expectedType);
|
|
12098
|
+
}
|
|
12099
|
+
}
|
|
12100
|
+
var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';
|
|
12101
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
|
|
12102
|
+
}
|
|
12103
|
+
return createChainableTypeChecker(validate);
|
|
12104
|
+
}
|
|
12105
|
+
|
|
12106
|
+
function createNodeChecker() {
|
|
12107
|
+
function validate(props, propName, componentName, location, propFullName) {
|
|
12108
|
+
if (!isNode(props[propName])) {
|
|
12109
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
|
|
12110
|
+
}
|
|
12111
|
+
return null;
|
|
12112
|
+
}
|
|
12113
|
+
return createChainableTypeChecker(validate);
|
|
12114
|
+
}
|
|
12115
|
+
|
|
12116
|
+
function invalidValidatorError(componentName, location, propFullName, key, type) {
|
|
12117
|
+
return new PropTypeError(
|
|
12118
|
+
(componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +
|
|
12119
|
+
'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'
|
|
12120
|
+
);
|
|
12121
|
+
}
|
|
12122
|
+
|
|
12123
|
+
function createShapeTypeChecker(shapeTypes) {
|
|
12124
|
+
function validate(props, propName, componentName, location, propFullName) {
|
|
12125
|
+
var propValue = props[propName];
|
|
12126
|
+
var propType = getPropType(propValue);
|
|
12127
|
+
if (propType !== 'object') {
|
|
12128
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
|
|
12129
|
+
}
|
|
12130
|
+
for (var key in shapeTypes) {
|
|
12131
|
+
var checker = shapeTypes[key];
|
|
12132
|
+
if (typeof checker !== 'function') {
|
|
12133
|
+
return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
|
|
12134
|
+
}
|
|
12135
|
+
var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret$1);
|
|
12136
|
+
if (error) {
|
|
12137
|
+
return error;
|
|
12138
|
+
}
|
|
12139
|
+
}
|
|
12140
|
+
return null;
|
|
12141
|
+
}
|
|
12142
|
+
return createChainableTypeChecker(validate);
|
|
12143
|
+
}
|
|
12144
|
+
|
|
12145
|
+
function createStrictShapeTypeChecker(shapeTypes) {
|
|
12146
|
+
function validate(props, propName, componentName, location, propFullName) {
|
|
12147
|
+
var propValue = props[propName];
|
|
12148
|
+
var propType = getPropType(propValue);
|
|
12149
|
+
if (propType !== 'object') {
|
|
12150
|
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
|
|
12151
|
+
}
|
|
12152
|
+
// We need to check all keys in case some are required but missing from props.
|
|
12153
|
+
var allKeys = assign({}, props[propName], shapeTypes);
|
|
12154
|
+
for (var key in allKeys) {
|
|
12155
|
+
var checker = shapeTypes[key];
|
|
12156
|
+
if (has(shapeTypes, key) && typeof checker !== 'function') {
|
|
12157
|
+
return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
|
|
12158
|
+
}
|
|
12159
|
+
if (!checker) {
|
|
12160
|
+
return new PropTypeError(
|
|
12161
|
+
'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
|
|
12162
|
+
'\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
|
|
12163
|
+
'\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
|
|
12164
|
+
);
|
|
12165
|
+
}
|
|
12166
|
+
var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret$1);
|
|
12167
|
+
if (error) {
|
|
12168
|
+
return error;
|
|
12169
|
+
}
|
|
12170
|
+
}
|
|
12171
|
+
return null;
|
|
12172
|
+
}
|
|
12173
|
+
|
|
12174
|
+
return createChainableTypeChecker(validate);
|
|
12175
|
+
}
|
|
12176
|
+
|
|
12177
|
+
function isNode(propValue) {
|
|
12178
|
+
switch (typeof propValue) {
|
|
12179
|
+
case 'number':
|
|
12180
|
+
case 'string':
|
|
12181
|
+
case 'undefined':
|
|
12182
|
+
return true;
|
|
12183
|
+
case 'boolean':
|
|
12184
|
+
return !propValue;
|
|
12185
|
+
case 'object':
|
|
12186
|
+
if (Array.isArray(propValue)) {
|
|
12187
|
+
return propValue.every(isNode);
|
|
12188
|
+
}
|
|
12189
|
+
if (propValue === null || isValidElement(propValue)) {
|
|
12190
|
+
return true;
|
|
12191
|
+
}
|
|
12192
|
+
|
|
12193
|
+
var iteratorFn = getIteratorFn(propValue);
|
|
12194
|
+
if (iteratorFn) {
|
|
12195
|
+
var iterator = iteratorFn.call(propValue);
|
|
12196
|
+
var step;
|
|
12197
|
+
if (iteratorFn !== propValue.entries) {
|
|
12198
|
+
while (!(step = iterator.next()).done) {
|
|
12199
|
+
if (!isNode(step.value)) {
|
|
12200
|
+
return false;
|
|
12201
|
+
}
|
|
12202
|
+
}
|
|
12203
|
+
} else {
|
|
12204
|
+
// Iterator will provide entry [k,v] tuples rather than values.
|
|
12205
|
+
while (!(step = iterator.next()).done) {
|
|
12206
|
+
var entry = step.value;
|
|
12207
|
+
if (entry) {
|
|
12208
|
+
if (!isNode(entry[1])) {
|
|
12209
|
+
return false;
|
|
12210
|
+
}
|
|
12211
|
+
}
|
|
12212
|
+
}
|
|
12213
|
+
}
|
|
12214
|
+
} else {
|
|
12215
|
+
return false;
|
|
12216
|
+
}
|
|
12217
|
+
|
|
12218
|
+
return true;
|
|
12219
|
+
default:
|
|
12220
|
+
return false;
|
|
12221
|
+
}
|
|
12222
|
+
}
|
|
12223
|
+
|
|
12224
|
+
function isSymbol(propType, propValue) {
|
|
12225
|
+
// Native Symbol.
|
|
12226
|
+
if (propType === 'symbol') {
|
|
12227
|
+
return true;
|
|
12228
|
+
}
|
|
12229
|
+
|
|
12230
|
+
// falsy value can't be a Symbol
|
|
12231
|
+
if (!propValue) {
|
|
12232
|
+
return false;
|
|
12233
|
+
}
|
|
12234
|
+
|
|
12235
|
+
// 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
|
|
12236
|
+
if (propValue['@@toStringTag'] === 'Symbol') {
|
|
12237
|
+
return true;
|
|
12238
|
+
}
|
|
12239
|
+
|
|
12240
|
+
// Fallback for non-spec compliant Symbols which are polyfilled.
|
|
12241
|
+
if (typeof Symbol === 'function' && propValue instanceof Symbol) {
|
|
12242
|
+
return true;
|
|
12243
|
+
}
|
|
12244
|
+
|
|
12245
|
+
return false;
|
|
12246
|
+
}
|
|
12247
|
+
|
|
12248
|
+
// Equivalent of `typeof` but with special handling for array and regexp.
|
|
12249
|
+
function getPropType(propValue) {
|
|
12250
|
+
var propType = typeof propValue;
|
|
12251
|
+
if (Array.isArray(propValue)) {
|
|
12252
|
+
return 'array';
|
|
12253
|
+
}
|
|
12254
|
+
if (propValue instanceof RegExp) {
|
|
12255
|
+
// Old webkits (at least until Android 4.0) return 'function' rather than
|
|
12256
|
+
// 'object' for typeof a RegExp. We'll normalize this here so that /bla/
|
|
12257
|
+
// passes PropTypes.object.
|
|
12258
|
+
return 'object';
|
|
12259
|
+
}
|
|
12260
|
+
if (isSymbol(propType, propValue)) {
|
|
12261
|
+
return 'symbol';
|
|
12262
|
+
}
|
|
12263
|
+
return propType;
|
|
12264
|
+
}
|
|
12265
|
+
|
|
12266
|
+
// This handles more types than `getPropType`. Only used for error messages.
|
|
12267
|
+
// See `createPrimitiveTypeChecker`.
|
|
12268
|
+
function getPreciseType(propValue) {
|
|
12269
|
+
if (typeof propValue === 'undefined' || propValue === null) {
|
|
12270
|
+
return '' + propValue;
|
|
12271
|
+
}
|
|
12272
|
+
var propType = getPropType(propValue);
|
|
12273
|
+
if (propType === 'object') {
|
|
12274
|
+
if (propValue instanceof Date) {
|
|
12275
|
+
return 'date';
|
|
12276
|
+
} else if (propValue instanceof RegExp) {
|
|
12277
|
+
return 'regexp';
|
|
12278
|
+
}
|
|
12279
|
+
}
|
|
12280
|
+
return propType;
|
|
12281
|
+
}
|
|
12282
|
+
|
|
12283
|
+
// Returns a string that is postfixed to a warning about an invalid type.
|
|
12284
|
+
// For example, "undefined" or "of type array"
|
|
12285
|
+
function getPostfixForTypeWarning(value) {
|
|
12286
|
+
var type = getPreciseType(value);
|
|
12287
|
+
switch (type) {
|
|
12288
|
+
case 'array':
|
|
12289
|
+
case 'object':
|
|
12290
|
+
return 'an ' + type;
|
|
12291
|
+
case 'boolean':
|
|
12292
|
+
case 'date':
|
|
12293
|
+
case 'regexp':
|
|
12294
|
+
return 'a ' + type;
|
|
12295
|
+
default:
|
|
12296
|
+
return type;
|
|
12297
|
+
}
|
|
12298
|
+
}
|
|
12299
|
+
|
|
12300
|
+
// Returns class name of the object, if any.
|
|
12301
|
+
function getClassName(propValue) {
|
|
12302
|
+
if (!propValue.constructor || !propValue.constructor.name) {
|
|
12303
|
+
return ANONYMOUS;
|
|
12304
|
+
}
|
|
12305
|
+
return propValue.constructor.name;
|
|
12306
|
+
}
|
|
12307
|
+
|
|
12308
|
+
ReactPropTypes.checkPropTypes = checkPropTypes;
|
|
12309
|
+
ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
|
|
12310
|
+
ReactPropTypes.PropTypes = ReactPropTypes;
|
|
12311
|
+
|
|
12312
|
+
return ReactPropTypes;
|
|
12313
|
+
};
|
|
12314
|
+
|
|
12315
|
+
/**
|
|
12316
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
12317
|
+
*
|
|
12318
|
+
* This source code is licensed under the MIT license found in the
|
|
12319
|
+
* LICENSE file in the root directory of this source tree.
|
|
12320
|
+
*/
|
|
12321
|
+
|
|
12322
|
+
var ReactPropTypesSecret = ReactPropTypesSecret_1;
|
|
12323
|
+
|
|
12324
|
+
function emptyFunction() {}
|
|
12325
|
+
function emptyFunctionWithReset() {}
|
|
12326
|
+
emptyFunctionWithReset.resetWarningCache = emptyFunction;
|
|
12327
|
+
|
|
12328
|
+
var factoryWithThrowingShims = function() {
|
|
12329
|
+
function shim(props, propName, componentName, location, propFullName, secret) {
|
|
12330
|
+
if (secret === ReactPropTypesSecret) {
|
|
12331
|
+
// It is still safe when called from React.
|
|
12332
|
+
return;
|
|
12333
|
+
}
|
|
12334
|
+
var err = new Error(
|
|
12335
|
+
'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
|
|
12336
|
+
'Use PropTypes.checkPropTypes() to call them. ' +
|
|
12337
|
+
'Read more at http://fb.me/use-check-prop-types'
|
|
12338
|
+
);
|
|
12339
|
+
err.name = 'Invariant Violation';
|
|
12340
|
+
throw err;
|
|
12341
|
+
} shim.isRequired = shim;
|
|
12342
|
+
function getShim() {
|
|
12343
|
+
return shim;
|
|
12344
|
+
} // Important!
|
|
12345
|
+
// Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
|
|
12346
|
+
var ReactPropTypes = {
|
|
12347
|
+
array: shim,
|
|
12348
|
+
bigint: shim,
|
|
12349
|
+
bool: shim,
|
|
12350
|
+
func: shim,
|
|
12351
|
+
number: shim,
|
|
12352
|
+
object: shim,
|
|
12353
|
+
string: shim,
|
|
12354
|
+
symbol: shim,
|
|
12355
|
+
|
|
12356
|
+
any: shim,
|
|
12357
|
+
arrayOf: getShim,
|
|
12358
|
+
element: shim,
|
|
12359
|
+
elementType: shim,
|
|
12360
|
+
instanceOf: getShim,
|
|
12361
|
+
node: shim,
|
|
12362
|
+
objectOf: getShim,
|
|
12363
|
+
oneOf: getShim,
|
|
12364
|
+
oneOfType: getShim,
|
|
12365
|
+
shape: getShim,
|
|
12366
|
+
exact: getShim,
|
|
12367
|
+
|
|
12368
|
+
checkPropTypes: emptyFunctionWithReset,
|
|
12369
|
+
resetWarningCache: emptyFunction
|
|
12370
|
+
};
|
|
12371
|
+
|
|
12372
|
+
ReactPropTypes.PropTypes = ReactPropTypes;
|
|
12373
|
+
|
|
12374
|
+
return ReactPropTypes;
|
|
12375
|
+
};
|
|
12376
|
+
|
|
12377
|
+
/**
|
|
12378
|
+
* Copyright (c) 2013-present, Facebook, Inc.
|
|
12379
|
+
*
|
|
12380
|
+
* This source code is licensed under the MIT license found in the
|
|
12381
|
+
* LICENSE file in the root directory of this source tree.
|
|
12382
|
+
*/
|
|
12383
|
+
|
|
12384
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
12385
|
+
var ReactIs = reactIs$1.exports;
|
|
12386
|
+
|
|
12387
|
+
// By explicitly using `prop-types` you are opting into new development behavior.
|
|
12388
|
+
// http://fb.me/prop-types-in-prod
|
|
12389
|
+
var throwOnDirectAccess = true;
|
|
12390
|
+
propTypes.exports = factoryWithTypeCheckers(ReactIs.isElement, throwOnDirectAccess);
|
|
12391
|
+
} else {
|
|
12392
|
+
// By explicitly using `prop-types` you are opting into new production behavior.
|
|
12393
|
+
// http://fb.me/prop-types-in-prod
|
|
12394
|
+
propTypes.exports = factoryWithThrowingShims();
|
|
12395
|
+
}
|
|
12396
|
+
|
|
12397
|
+
var PropTypes = propTypes.exports;
|
|
12398
|
+
|
|
12399
|
+
var COMMON_MIME_TYPES = new Map([
|
|
12400
|
+
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
|
|
12401
|
+
['aac', 'audio/aac'],
|
|
12402
|
+
['abw', 'application/x-abiword'],
|
|
12403
|
+
['arc', 'application/x-freearc'],
|
|
12404
|
+
['avif', 'image/avif'],
|
|
12405
|
+
['avi', 'video/x-msvideo'],
|
|
12406
|
+
['azw', 'application/vnd.amazon.ebook'],
|
|
12407
|
+
['bin', 'application/octet-stream'],
|
|
12408
|
+
['bmp', 'image/bmp'],
|
|
12409
|
+
['bz', 'application/x-bzip'],
|
|
12410
|
+
['bz2', 'application/x-bzip2'],
|
|
12411
|
+
['cda', 'application/x-cdf'],
|
|
12412
|
+
['csh', 'application/x-csh'],
|
|
12413
|
+
['css', 'text/css'],
|
|
12414
|
+
['csv', 'text/csv'],
|
|
12415
|
+
['doc', 'application/msword'],
|
|
12416
|
+
['docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'],
|
|
12417
|
+
['eot', 'application/vnd.ms-fontobject'],
|
|
12418
|
+
['epub', 'application/epub+zip'],
|
|
12419
|
+
['gz', 'application/gzip'],
|
|
12420
|
+
['gif', 'image/gif'],
|
|
12421
|
+
['heic', 'image/heic'],
|
|
12422
|
+
['heif', 'image/heif'],
|
|
12423
|
+
['htm', 'text/html'],
|
|
12424
|
+
['html', 'text/html'],
|
|
12425
|
+
['ico', 'image/vnd.microsoft.icon'],
|
|
12426
|
+
['ics', 'text/calendar'],
|
|
12427
|
+
['jar', 'application/java-archive'],
|
|
12428
|
+
['jpeg', 'image/jpeg'],
|
|
12429
|
+
['jpg', 'image/jpeg'],
|
|
12430
|
+
['js', 'text/javascript'],
|
|
12431
|
+
['json', 'application/json'],
|
|
12432
|
+
['jsonld', 'application/ld+json'],
|
|
12433
|
+
['mid', 'audio/midi'],
|
|
12434
|
+
['midi', 'audio/midi'],
|
|
12435
|
+
['mjs', 'text/javascript'],
|
|
12436
|
+
['mp3', 'audio/mpeg'],
|
|
12437
|
+
['mp4', 'video/mp4'],
|
|
12438
|
+
['mpeg', 'video/mpeg'],
|
|
12439
|
+
['mpkg', 'application/vnd.apple.installer+xml'],
|
|
12440
|
+
['odp', 'application/vnd.oasis.opendocument.presentation'],
|
|
12441
|
+
['ods', 'application/vnd.oasis.opendocument.spreadsheet'],
|
|
12442
|
+
['odt', 'application/vnd.oasis.opendocument.text'],
|
|
12443
|
+
['oga', 'audio/ogg'],
|
|
12444
|
+
['ogv', 'video/ogg'],
|
|
12445
|
+
['ogx', 'application/ogg'],
|
|
12446
|
+
['opus', 'audio/opus'],
|
|
12447
|
+
['otf', 'font/otf'],
|
|
12448
|
+
['png', 'image/png'],
|
|
12449
|
+
['pdf', 'application/pdf'],
|
|
12450
|
+
['php', 'application/x-httpd-php'],
|
|
12451
|
+
['ppt', 'application/vnd.ms-powerpoint'],
|
|
12452
|
+
['pptx', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'],
|
|
12453
|
+
['rar', 'application/vnd.rar'],
|
|
12454
|
+
['rtf', 'application/rtf'],
|
|
12455
|
+
['sh', 'application/x-sh'],
|
|
12456
|
+
['svg', 'image/svg+xml'],
|
|
12457
|
+
['swf', 'application/x-shockwave-flash'],
|
|
12458
|
+
['tar', 'application/x-tar'],
|
|
12459
|
+
['tif', 'image/tiff'],
|
|
12460
|
+
['tiff', 'image/tiff'],
|
|
12461
|
+
['ts', 'video/mp2t'],
|
|
12462
|
+
['ttf', 'font/ttf'],
|
|
12463
|
+
['txt', 'text/plain'],
|
|
12464
|
+
['vsd', 'application/vnd.visio'],
|
|
12465
|
+
['wav', 'audio/wav'],
|
|
12466
|
+
['weba', 'audio/webm'],
|
|
12467
|
+
['webm', 'video/webm'],
|
|
12468
|
+
['webp', 'image/webp'],
|
|
12469
|
+
['woff', 'font/woff'],
|
|
12470
|
+
['woff2', 'font/woff2'],
|
|
12471
|
+
['xhtml', 'application/xhtml+xml'],
|
|
12472
|
+
['xls', 'application/vnd.ms-excel'],
|
|
12473
|
+
['xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],
|
|
12474
|
+
['xml', 'application/xml'],
|
|
12475
|
+
['xul', 'application/vnd.mozilla.xul+xml'],
|
|
12476
|
+
['zip', 'application/zip'],
|
|
12477
|
+
['7z', 'application/x-7z-compressed'],
|
|
12478
|
+
// Others
|
|
12479
|
+
['mkv', 'video/x-matroska'],
|
|
12480
|
+
['mov', 'video/quicktime'],
|
|
12481
|
+
['msg', 'application/vnd.ms-outlook']
|
|
12482
|
+
]);
|
|
12483
|
+
function toFileWithPath(file, path) {
|
|
12484
|
+
var f = withMimeType(file);
|
|
12485
|
+
if (typeof f.path !== 'string') { // on electron, path is already set to the absolute path
|
|
12486
|
+
var webkitRelativePath = file.webkitRelativePath;
|
|
12487
|
+
Object.defineProperty(f, 'path', {
|
|
12488
|
+
value: typeof path === 'string'
|
|
12489
|
+
? path
|
|
12490
|
+
// If <input webkitdirectory> is set,
|
|
12491
|
+
// the File will have a {webkitRelativePath} property
|
|
12492
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory
|
|
12493
|
+
: typeof webkitRelativePath === 'string' && webkitRelativePath.length > 0
|
|
12494
|
+
? webkitRelativePath
|
|
12495
|
+
: file.name,
|
|
12496
|
+
writable: false,
|
|
12497
|
+
configurable: false,
|
|
12498
|
+
enumerable: true
|
|
12499
|
+
});
|
|
12500
|
+
}
|
|
12501
|
+
return f;
|
|
12502
|
+
}
|
|
12503
|
+
function withMimeType(file) {
|
|
12504
|
+
var name = file.name;
|
|
12505
|
+
var hasExtension = name && name.lastIndexOf('.') !== -1;
|
|
12506
|
+
if (hasExtension && !file.type) {
|
|
12507
|
+
var ext = name.split('.')
|
|
12508
|
+
.pop().toLowerCase();
|
|
12509
|
+
var type = COMMON_MIME_TYPES.get(ext);
|
|
12510
|
+
if (type) {
|
|
12511
|
+
Object.defineProperty(file, 'type', {
|
|
12512
|
+
value: type,
|
|
12513
|
+
writable: false,
|
|
12514
|
+
configurable: false,
|
|
12515
|
+
enumerable: true
|
|
12516
|
+
});
|
|
12517
|
+
}
|
|
12518
|
+
}
|
|
12519
|
+
return file;
|
|
12520
|
+
}
|
|
12521
|
+
|
|
12522
|
+
var FILES_TO_IGNORE = [
|
|
12523
|
+
// Thumbnail cache files for macOS and Windows
|
|
12524
|
+
'.DS_Store',
|
|
12525
|
+
'Thumbs.db' // Windows
|
|
12526
|
+
];
|
|
12527
|
+
/**
|
|
12528
|
+
* Convert a DragEvent's DataTrasfer object to a list of File objects
|
|
12529
|
+
* NOTE: If some of the items are folders,
|
|
12530
|
+
* everything will be flattened and placed in the same list but the paths will be kept as a {path} property.
|
|
12531
|
+
*
|
|
12532
|
+
* EXPERIMENTAL: A list of https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle objects can also be passed as an arg
|
|
12533
|
+
* and a list of File objects will be returned.
|
|
12534
|
+
*
|
|
12535
|
+
* @param evt
|
|
12536
|
+
*/
|
|
12537
|
+
function fromEvent(evt) {
|
|
12538
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
12539
|
+
return __generator(this, function (_a) {
|
|
12540
|
+
if (isObject(evt) && isDataTransfer(evt.dataTransfer)) {
|
|
12541
|
+
return [2 /*return*/, getDataTransferFiles(evt.dataTransfer, evt.type)];
|
|
12542
|
+
}
|
|
12543
|
+
else if (isChangeEvt(evt)) {
|
|
12544
|
+
return [2 /*return*/, getInputFiles(evt)];
|
|
12545
|
+
}
|
|
12546
|
+
else if (Array.isArray(evt) && evt.every(function (item) { return 'getFile' in item && typeof item.getFile === 'function'; })) {
|
|
12547
|
+
return [2 /*return*/, getFsHandleFiles(evt)];
|
|
12548
|
+
}
|
|
12549
|
+
return [2 /*return*/, []];
|
|
12550
|
+
});
|
|
12551
|
+
});
|
|
12552
|
+
}
|
|
12553
|
+
function isDataTransfer(value) {
|
|
12554
|
+
return isObject(value);
|
|
12555
|
+
}
|
|
12556
|
+
function isChangeEvt(value) {
|
|
12557
|
+
return isObject(value) && isObject(value.target);
|
|
12558
|
+
}
|
|
12559
|
+
function isObject(v) {
|
|
12560
|
+
return typeof v === 'object' && v !== null;
|
|
12561
|
+
}
|
|
12562
|
+
function getInputFiles(evt) {
|
|
12563
|
+
return fromList(evt.target.files).map(function (file) { return toFileWithPath(file); });
|
|
12564
|
+
}
|
|
12565
|
+
// Ee expect each handle to be https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileHandle
|
|
12566
|
+
function getFsHandleFiles(handles) {
|
|
12567
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
12568
|
+
var files;
|
|
12569
|
+
return __generator(this, function (_a) {
|
|
12570
|
+
switch (_a.label) {
|
|
12571
|
+
case 0: return [4 /*yield*/, Promise.all(handles.map(function (h) { return h.getFile(); }))];
|
|
12572
|
+
case 1:
|
|
12573
|
+
files = _a.sent();
|
|
12574
|
+
return [2 /*return*/, files.map(function (file) { return toFileWithPath(file); })];
|
|
12575
|
+
}
|
|
12576
|
+
});
|
|
12577
|
+
});
|
|
12578
|
+
}
|
|
12579
|
+
function getDataTransferFiles(dt, type) {
|
|
12580
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
12581
|
+
var items, files;
|
|
12582
|
+
return __generator(this, function (_a) {
|
|
12583
|
+
switch (_a.label) {
|
|
12584
|
+
case 0:
|
|
12585
|
+
if (!dt.items) return [3 /*break*/, 2];
|
|
12586
|
+
items = fromList(dt.items)
|
|
12587
|
+
.filter(function (item) { return item.kind === 'file'; });
|
|
12588
|
+
// According to https://html.spec.whatwg.org/multipage/dnd.html#dndevents,
|
|
12589
|
+
// only 'dragstart' and 'drop' has access to the data (source node)
|
|
12590
|
+
if (type !== 'drop') {
|
|
12591
|
+
return [2 /*return*/, items];
|
|
12592
|
+
}
|
|
12593
|
+
return [4 /*yield*/, Promise.all(items.map(toFilePromises))];
|
|
12594
|
+
case 1:
|
|
12595
|
+
files = _a.sent();
|
|
12596
|
+
return [2 /*return*/, noIgnoredFiles(flatten(files))];
|
|
12597
|
+
case 2: return [2 /*return*/, noIgnoredFiles(fromList(dt.files)
|
|
12598
|
+
.map(function (file) { return toFileWithPath(file); }))];
|
|
12599
|
+
}
|
|
12600
|
+
});
|
|
12601
|
+
});
|
|
12602
|
+
}
|
|
12603
|
+
function noIgnoredFiles(files) {
|
|
12604
|
+
return files.filter(function (file) { return FILES_TO_IGNORE.indexOf(file.name) === -1; });
|
|
12605
|
+
}
|
|
12606
|
+
// IE11 does not support Array.from()
|
|
12607
|
+
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Browser_compatibility
|
|
12608
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/FileList
|
|
12609
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList
|
|
12610
|
+
function fromList(items) {
|
|
12611
|
+
if (items === null) {
|
|
12612
|
+
return [];
|
|
12613
|
+
}
|
|
12614
|
+
var files = [];
|
|
12615
|
+
// tslint:disable: prefer-for-of
|
|
12616
|
+
for (var i = 0; i < items.length; i++) {
|
|
12617
|
+
var file = items[i];
|
|
12618
|
+
files.push(file);
|
|
12619
|
+
}
|
|
12620
|
+
return files;
|
|
12621
|
+
}
|
|
12622
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem
|
|
12623
|
+
function toFilePromises(item) {
|
|
12624
|
+
if (typeof item.webkitGetAsEntry !== 'function') {
|
|
12625
|
+
return fromDataTransferItem(item);
|
|
12626
|
+
}
|
|
12627
|
+
var entry = item.webkitGetAsEntry();
|
|
12628
|
+
// Safari supports dropping an image node from a different window and can be retrieved using
|
|
12629
|
+
// the DataTransferItem.getAsFile() API
|
|
12630
|
+
// NOTE: FileSystemEntry.file() throws if trying to get the file
|
|
12631
|
+
if (entry && entry.isDirectory) {
|
|
12632
|
+
return fromDirEntry(entry);
|
|
12633
|
+
}
|
|
12634
|
+
return fromDataTransferItem(item);
|
|
12635
|
+
}
|
|
12636
|
+
function flatten(items) {
|
|
12637
|
+
return items.reduce(function (acc, files) { return __spreadArray(__spreadArray([], __read(acc), false), __read((Array.isArray(files) ? flatten(files) : [files])), false); }, []);
|
|
12638
|
+
}
|
|
12639
|
+
function fromDataTransferItem(item) {
|
|
12640
|
+
var file = item.getAsFile();
|
|
12641
|
+
if (!file) {
|
|
12642
|
+
return Promise.reject("".concat(item, " is not a File"));
|
|
12643
|
+
}
|
|
12644
|
+
var fwp = toFileWithPath(file);
|
|
12645
|
+
return Promise.resolve(fwp);
|
|
12646
|
+
}
|
|
12647
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry
|
|
12648
|
+
function fromEntry(entry) {
|
|
12649
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
12650
|
+
return __generator(this, function (_a) {
|
|
12651
|
+
return [2 /*return*/, entry.isDirectory ? fromDirEntry(entry) : fromFileEntry(entry)];
|
|
12652
|
+
});
|
|
12653
|
+
});
|
|
12654
|
+
}
|
|
12655
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry
|
|
12656
|
+
function fromDirEntry(entry) {
|
|
12657
|
+
var reader = entry.createReader();
|
|
12658
|
+
return new Promise(function (resolve, reject) {
|
|
12659
|
+
var entries = [];
|
|
12660
|
+
function readEntries() {
|
|
12661
|
+
var _this = this;
|
|
12662
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry/createReader
|
|
12663
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryReader/readEntries
|
|
12664
|
+
reader.readEntries(function (batch) { return __awaiter(_this, void 0, void 0, function () {
|
|
12665
|
+
var files, err_1, items;
|
|
12666
|
+
return __generator(this, function (_a) {
|
|
12667
|
+
switch (_a.label) {
|
|
12668
|
+
case 0:
|
|
12669
|
+
if (!!batch.length) return [3 /*break*/, 5];
|
|
12670
|
+
_a.label = 1;
|
|
12671
|
+
case 1:
|
|
12672
|
+
_a.trys.push([1, 3, , 4]);
|
|
12673
|
+
return [4 /*yield*/, Promise.all(entries)];
|
|
12674
|
+
case 2:
|
|
12675
|
+
files = _a.sent();
|
|
12676
|
+
resolve(files);
|
|
12677
|
+
return [3 /*break*/, 4];
|
|
12678
|
+
case 3:
|
|
12679
|
+
err_1 = _a.sent();
|
|
12680
|
+
reject(err_1);
|
|
12681
|
+
return [3 /*break*/, 4];
|
|
12682
|
+
case 4: return [3 /*break*/, 6];
|
|
12683
|
+
case 5:
|
|
12684
|
+
items = Promise.all(batch.map(fromEntry));
|
|
12685
|
+
entries.push(items);
|
|
12686
|
+
// Continue reading
|
|
12687
|
+
readEntries();
|
|
12688
|
+
_a.label = 6;
|
|
12689
|
+
case 6: return [2 /*return*/];
|
|
12690
|
+
}
|
|
12691
|
+
});
|
|
12692
|
+
}); }, function (err) {
|
|
12693
|
+
reject(err);
|
|
12694
|
+
});
|
|
12695
|
+
}
|
|
12696
|
+
readEntries();
|
|
12697
|
+
});
|
|
12698
|
+
}
|
|
12699
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileEntry
|
|
12700
|
+
function fromFileEntry(entry) {
|
|
12701
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
12702
|
+
return __generator(this, function (_a) {
|
|
12703
|
+
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
12704
|
+
entry.file(function (file) {
|
|
12705
|
+
var fwp = toFileWithPath(file, entry.fullPath);
|
|
12706
|
+
resolve(fwp);
|
|
12707
|
+
}, function (err) {
|
|
12708
|
+
reject(err);
|
|
12709
|
+
});
|
|
12710
|
+
})];
|
|
12711
|
+
});
|
|
12712
|
+
});
|
|
12713
|
+
}
|
|
12714
|
+
|
|
12715
|
+
var _default = function (file, acceptedFiles) {
|
|
12716
|
+
if (file && acceptedFiles) {
|
|
12717
|
+
var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');
|
|
12718
|
+
var fileName = file.name || '';
|
|
12719
|
+
var mimeType = (file.type || '').toLowerCase();
|
|
12720
|
+
var baseMimeType = mimeType.replace(/\/.*$/, '');
|
|
12721
|
+
return acceptedFilesArray.some(function (type) {
|
|
12722
|
+
var validType = type.trim().toLowerCase();
|
|
12723
|
+
|
|
12724
|
+
if (validType.charAt(0) === '.') {
|
|
12725
|
+
return fileName.toLowerCase().endsWith(validType);
|
|
12726
|
+
} else if (validType.endsWith('/*')) {
|
|
12727
|
+
// This is something like a image/* mime type
|
|
12728
|
+
return baseMimeType === validType.replace(/\/.*$/, '');
|
|
12729
|
+
}
|
|
12730
|
+
|
|
12731
|
+
return mimeType === validType;
|
|
12732
|
+
});
|
|
12733
|
+
}
|
|
12734
|
+
|
|
12735
|
+
return true;
|
|
12736
|
+
};
|
|
12737
|
+
|
|
12738
|
+
function _toConsumableArray$1(arr) { return _arrayWithoutHoles$1(arr) || _iterableToArray$1(arr) || _unsupportedIterableToArray$1(arr) || _nonIterableSpread$1(); }
|
|
12739
|
+
|
|
12740
|
+
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."); }
|
|
12741
|
+
|
|
12742
|
+
function _iterableToArray$1(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
12743
|
+
|
|
12744
|
+
function _arrayWithoutHoles$1(arr) { if (Array.isArray(arr)) return _arrayLikeToArray$1(arr); }
|
|
12745
|
+
|
|
12746
|
+
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; }
|
|
12747
|
+
|
|
12748
|
+
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$1(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; }
|
|
12749
|
+
|
|
12750
|
+
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; }
|
|
12751
|
+
|
|
12752
|
+
function _slicedToArray$1(arr, i) { return _arrayWithHoles$1(arr) || _iterableToArrayLimit$1(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest$1(); }
|
|
12753
|
+
|
|
12754
|
+
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."); }
|
|
12755
|
+
|
|
12756
|
+
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); }
|
|
12757
|
+
|
|
12758
|
+
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; }
|
|
12759
|
+
|
|
12760
|
+
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; }
|
|
12761
|
+
|
|
12762
|
+
function _arrayWithHoles$1(arr) { if (Array.isArray(arr)) return arr; }
|
|
12763
|
+
|
|
12764
|
+
var FILE_INVALID_TYPE = "file-invalid-type";
|
|
12765
|
+
var FILE_TOO_LARGE = "file-too-large";
|
|
12766
|
+
var FILE_TOO_SMALL = "file-too-small";
|
|
12767
|
+
var TOO_MANY_FILES = "too-many-files";
|
|
12768
|
+
|
|
12769
|
+
var getInvalidTypeRejectionErr = function getInvalidTypeRejectionErr(accept) {
|
|
12770
|
+
accept = Array.isArray(accept) && accept.length === 1 ? accept[0] : accept;
|
|
12771
|
+
var messageSuffix = Array.isArray(accept) ? "one of ".concat(accept.join(", ")) : accept;
|
|
12772
|
+
return {
|
|
12773
|
+
code: FILE_INVALID_TYPE,
|
|
12774
|
+
message: "File type must be ".concat(messageSuffix)
|
|
12775
|
+
};
|
|
12776
|
+
};
|
|
12777
|
+
var getTooLargeRejectionErr = function getTooLargeRejectionErr(maxSize) {
|
|
12778
|
+
return {
|
|
12779
|
+
code: FILE_TOO_LARGE,
|
|
12780
|
+
message: "File is larger than ".concat(maxSize, " ").concat(maxSize === 1 ? "byte" : "bytes")
|
|
12781
|
+
};
|
|
12782
|
+
};
|
|
12783
|
+
var getTooSmallRejectionErr = function getTooSmallRejectionErr(minSize) {
|
|
12784
|
+
return {
|
|
12785
|
+
code: FILE_TOO_SMALL,
|
|
12786
|
+
message: "File is smaller than ".concat(minSize, " ").concat(minSize === 1 ? "byte" : "bytes")
|
|
12787
|
+
};
|
|
12788
|
+
};
|
|
12789
|
+
var TOO_MANY_FILES_REJECTION = {
|
|
12790
|
+
code: TOO_MANY_FILES,
|
|
12791
|
+
message: "Too many files"
|
|
12792
|
+
}; // Firefox versions prior to 53 return a bogus MIME type for every file drag, so dragovers with
|
|
12793
|
+
// that MIME type will always be accepted
|
|
12794
|
+
|
|
12795
|
+
function fileAccepted(file, accept) {
|
|
12796
|
+
var isAcceptable = file.type === "application/x-moz-file" || _default(file, accept);
|
|
12797
|
+
return [isAcceptable, isAcceptable ? null : getInvalidTypeRejectionErr(accept)];
|
|
12798
|
+
}
|
|
12799
|
+
function fileMatchSize(file, minSize, maxSize) {
|
|
12800
|
+
if (isDefined(file.size)) {
|
|
12801
|
+
if (isDefined(minSize) && isDefined(maxSize)) {
|
|
12802
|
+
if (file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];
|
|
12803
|
+
if (file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];
|
|
12804
|
+
} else if (isDefined(minSize) && file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];else if (isDefined(maxSize) && file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];
|
|
12805
|
+
}
|
|
12806
|
+
|
|
12807
|
+
return [true, null];
|
|
12808
|
+
}
|
|
12809
|
+
|
|
12810
|
+
function isDefined(value) {
|
|
12811
|
+
return value !== undefined && value !== null;
|
|
12812
|
+
}
|
|
12813
|
+
/**
|
|
12814
|
+
*
|
|
12815
|
+
* @param {object} options
|
|
12816
|
+
* @param {File[]} options.files
|
|
12817
|
+
* @param {string|string[]} [options.accept]
|
|
12818
|
+
* @param {number} [options.minSize]
|
|
12819
|
+
* @param {number} [options.maxSize]
|
|
12820
|
+
* @param {boolean} [options.multiple]
|
|
12821
|
+
* @param {number} [options.maxFiles]
|
|
12822
|
+
* @param {(f: File) => FileError|FileError[]|null} [options.validator]
|
|
12823
|
+
* @returns
|
|
12824
|
+
*/
|
|
12825
|
+
|
|
12826
|
+
|
|
12827
|
+
function allFilesAccepted(_ref) {
|
|
12828
|
+
var files = _ref.files,
|
|
12829
|
+
accept = _ref.accept,
|
|
12830
|
+
minSize = _ref.minSize,
|
|
12831
|
+
maxSize = _ref.maxSize,
|
|
12832
|
+
multiple = _ref.multiple,
|
|
12833
|
+
maxFiles = _ref.maxFiles,
|
|
12834
|
+
validator = _ref.validator;
|
|
12835
|
+
|
|
12836
|
+
if (!multiple && files.length > 1 || multiple && maxFiles >= 1 && files.length > maxFiles) {
|
|
12837
|
+
return false;
|
|
12838
|
+
}
|
|
12839
|
+
|
|
12840
|
+
return files.every(function (file) {
|
|
12841
|
+
var _fileAccepted = fileAccepted(file, accept),
|
|
12842
|
+
_fileAccepted2 = _slicedToArray$1(_fileAccepted, 1),
|
|
12843
|
+
accepted = _fileAccepted2[0];
|
|
12844
|
+
|
|
12845
|
+
var _fileMatchSize = fileMatchSize(file, minSize, maxSize),
|
|
12846
|
+
_fileMatchSize2 = _slicedToArray$1(_fileMatchSize, 1),
|
|
12847
|
+
sizeMatch = _fileMatchSize2[0];
|
|
12848
|
+
|
|
12849
|
+
var customErrors = validator ? validator(file) : null;
|
|
12850
|
+
return accepted && sizeMatch && !customErrors;
|
|
12851
|
+
});
|
|
12852
|
+
} // React's synthetic events has event.isPropagationStopped,
|
|
12853
|
+
// but to remain compatibility with other libs (Preact) fall back
|
|
12854
|
+
// to check event.cancelBubble
|
|
12855
|
+
|
|
12856
|
+
function isPropagationStopped(event) {
|
|
12857
|
+
if (typeof event.isPropagationStopped === "function") {
|
|
12858
|
+
return event.isPropagationStopped();
|
|
12859
|
+
} else if (typeof event.cancelBubble !== "undefined") {
|
|
12860
|
+
return event.cancelBubble;
|
|
12861
|
+
}
|
|
12862
|
+
|
|
12863
|
+
return false;
|
|
12864
|
+
}
|
|
12865
|
+
function isEvtWithFiles(event) {
|
|
12866
|
+
if (!event.dataTransfer) {
|
|
12867
|
+
return !!event.target && !!event.target.files;
|
|
12868
|
+
} // https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/types
|
|
12869
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Recommended_drag_types#file
|
|
12870
|
+
|
|
12871
|
+
|
|
12872
|
+
return Array.prototype.some.call(event.dataTransfer.types, function (type) {
|
|
12873
|
+
return type === "Files" || type === "application/x-moz-file";
|
|
12874
|
+
});
|
|
12875
|
+
}
|
|
12876
|
+
|
|
12877
|
+
function onDocumentDragOver(event) {
|
|
12878
|
+
event.preventDefault();
|
|
12879
|
+
}
|
|
12880
|
+
|
|
12881
|
+
function isIe(userAgent) {
|
|
12882
|
+
return userAgent.indexOf("MSIE") !== -1 || userAgent.indexOf("Trident/") !== -1;
|
|
12883
|
+
}
|
|
12884
|
+
|
|
12885
|
+
function isEdge(userAgent) {
|
|
12886
|
+
return userAgent.indexOf("Edge/") !== -1;
|
|
12887
|
+
}
|
|
12888
|
+
|
|
12889
|
+
function isIeOrEdge() {
|
|
12890
|
+
var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.navigator.userAgent;
|
|
12891
|
+
return isIe(userAgent) || isEdge(userAgent);
|
|
12892
|
+
}
|
|
12893
|
+
/**
|
|
12894
|
+
* This is intended to be used to compose event handlers
|
|
12895
|
+
* They are executed in order until one of them calls `event.isPropagationStopped()`.
|
|
12896
|
+
* Note that the check is done on the first invoke too,
|
|
12897
|
+
* meaning that if propagation was stopped before invoking the fns,
|
|
12898
|
+
* no handlers will be executed.
|
|
12899
|
+
*
|
|
12900
|
+
* @param {Function} fns the event hanlder functions
|
|
12901
|
+
* @return {Function} the event handler to add to an element
|
|
12902
|
+
*/
|
|
12903
|
+
|
|
12904
|
+
function composeEventHandlers() {
|
|
12905
|
+
for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
12906
|
+
fns[_key] = arguments[_key];
|
|
12907
|
+
}
|
|
12908
|
+
|
|
12909
|
+
return function (event) {
|
|
12910
|
+
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
12911
|
+
args[_key2 - 1] = arguments[_key2];
|
|
12912
|
+
}
|
|
12913
|
+
|
|
12914
|
+
return fns.some(function (fn) {
|
|
12915
|
+
if (!isPropagationStopped(event) && fn) {
|
|
12916
|
+
fn.apply(void 0, [event].concat(args));
|
|
12917
|
+
}
|
|
12918
|
+
|
|
12919
|
+
return isPropagationStopped(event);
|
|
12920
|
+
});
|
|
12921
|
+
};
|
|
12922
|
+
}
|
|
12923
|
+
/**
|
|
12924
|
+
* canUseFileSystemAccessAPI checks if the [File System Access API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API)
|
|
12925
|
+
* is supported by the browser.
|
|
12926
|
+
* @returns {boolean}
|
|
12927
|
+
*/
|
|
12928
|
+
|
|
12929
|
+
function canUseFileSystemAccessAPI() {
|
|
12930
|
+
return "showOpenFilePicker" in window;
|
|
12931
|
+
}
|
|
12932
|
+
/**
|
|
12933
|
+
* Convert the `{accept}` dropzone prop to the
|
|
12934
|
+
* `{types}` option for https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker
|
|
12935
|
+
*
|
|
12936
|
+
* @param {AcceptProp} accept
|
|
12937
|
+
* @returns {{accept: string[]}[]}
|
|
12938
|
+
*/
|
|
12939
|
+
|
|
12940
|
+
function pickerOptionsFromAccept(accept) {
|
|
12941
|
+
if (isDefined(accept)) {
|
|
12942
|
+
var acceptForPicker = Object.entries(accept).filter(function (_ref2) {
|
|
12943
|
+
var _ref3 = _slicedToArray$1(_ref2, 2),
|
|
12944
|
+
mimeType = _ref3[0],
|
|
12945
|
+
ext = _ref3[1];
|
|
12946
|
+
|
|
12947
|
+
var ok = true;
|
|
12948
|
+
|
|
12949
|
+
if (!isMIMEType(mimeType)) {
|
|
12950
|
+
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."));
|
|
12951
|
+
ok = false;
|
|
12952
|
+
}
|
|
12953
|
+
|
|
12954
|
+
if (!Array.isArray(ext) || !ext.every(isExt)) {
|
|
12955
|
+
console.warn("Skipped \"".concat(mimeType, "\" because an invalid file extension was provided."));
|
|
12956
|
+
ok = false;
|
|
12957
|
+
}
|
|
12958
|
+
|
|
12959
|
+
return ok;
|
|
12960
|
+
}).reduce(function (agg, _ref4) {
|
|
12961
|
+
var _ref5 = _slicedToArray$1(_ref4, 2),
|
|
12962
|
+
mimeType = _ref5[0],
|
|
12963
|
+
ext = _ref5[1];
|
|
12964
|
+
|
|
12965
|
+
return _objectSpread$1(_objectSpread$1({}, agg), {}, _defineProperty$1({}, mimeType, ext));
|
|
12966
|
+
}, {});
|
|
12967
|
+
return [{
|
|
12968
|
+
// description is required due to https://crbug.com/1264708
|
|
12969
|
+
description: "Files",
|
|
12970
|
+
accept: acceptForPicker
|
|
12971
|
+
}];
|
|
12972
|
+
}
|
|
12973
|
+
|
|
12974
|
+
return accept;
|
|
12975
|
+
}
|
|
12976
|
+
/**
|
|
12977
|
+
* Convert the `{accept}` dropzone prop to an array of MIME types/extensions.
|
|
12978
|
+
* @param {AcceptProp} accept
|
|
12979
|
+
* @returns {string}
|
|
12980
|
+
*/
|
|
12981
|
+
|
|
12982
|
+
function acceptPropAsAcceptAttr(accept) {
|
|
12983
|
+
if (isDefined(accept)) {
|
|
12984
|
+
return Object.entries(accept).reduce(function (a, _ref6) {
|
|
12985
|
+
var _ref7 = _slicedToArray$1(_ref6, 2),
|
|
12986
|
+
mimeType = _ref7[0],
|
|
12987
|
+
ext = _ref7[1];
|
|
12988
|
+
|
|
12989
|
+
return [].concat(_toConsumableArray$1(a), [mimeType], _toConsumableArray$1(ext));
|
|
12990
|
+
}, []) // Silently discard invalid entries as pickerOptionsFromAccept warns about these
|
|
12991
|
+
.filter(function (v) {
|
|
12992
|
+
return isMIMEType(v) || isExt(v);
|
|
12993
|
+
}).join(",");
|
|
12994
|
+
}
|
|
12995
|
+
|
|
12996
|
+
return undefined;
|
|
12997
|
+
}
|
|
12998
|
+
/**
|
|
12999
|
+
* Check if v is an exception caused by aborting a request (e.g window.showOpenFilePicker()).
|
|
13000
|
+
*
|
|
13001
|
+
* See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.
|
|
13002
|
+
* @param {any} v
|
|
13003
|
+
* @returns {boolean} True if v is an abort exception.
|
|
13004
|
+
*/
|
|
13005
|
+
|
|
13006
|
+
function isAbort(v) {
|
|
13007
|
+
return v instanceof DOMException && (v.name === "AbortError" || v.code === v.ABORT_ERR);
|
|
13008
|
+
}
|
|
13009
|
+
/**
|
|
13010
|
+
* Check if v is a security error.
|
|
13011
|
+
*
|
|
13012
|
+
* See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.
|
|
13013
|
+
* @param {any} v
|
|
13014
|
+
* @returns {boolean} True if v is a security error.
|
|
13015
|
+
*/
|
|
13016
|
+
|
|
13017
|
+
function isSecurityError(v) {
|
|
13018
|
+
return v instanceof DOMException && (v.name === "SecurityError" || v.code === v.SECURITY_ERR);
|
|
13019
|
+
}
|
|
13020
|
+
/**
|
|
13021
|
+
* Check if v is a MIME type string.
|
|
13022
|
+
*
|
|
13023
|
+
* See accepted format: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers.
|
|
13024
|
+
*
|
|
13025
|
+
* @param {string} v
|
|
13026
|
+
*/
|
|
13027
|
+
|
|
13028
|
+
function isMIMEType(v) {
|
|
13029
|
+
return v === "audio/*" || v === "video/*" || v === "image/*" || v === "text/*" || /\w+\/[-+.\w]+/g.test(v);
|
|
13030
|
+
}
|
|
13031
|
+
/**
|
|
13032
|
+
* Check if v is a file extension.
|
|
13033
|
+
* @param {string} v
|
|
13034
|
+
*/
|
|
13035
|
+
|
|
13036
|
+
function isExt(v) {
|
|
13037
|
+
return /^.*\.[\w]+$/.test(v);
|
|
13038
|
+
}
|
|
13039
|
+
/**
|
|
13040
|
+
* @typedef {Object.<string, string[]>} AcceptProp
|
|
13041
|
+
*/
|
|
13042
|
+
|
|
13043
|
+
/**
|
|
13044
|
+
* @typedef {object} FileError
|
|
13045
|
+
* @property {string} message
|
|
13046
|
+
* @property {ErrorCode|string} code
|
|
13047
|
+
*/
|
|
13048
|
+
|
|
13049
|
+
/**
|
|
13050
|
+
* @typedef {"file-invalid-type"|"file-too-large"|"file-too-small"|"too-many-files"} ErrorCode
|
|
13051
|
+
*/
|
|
13052
|
+
|
|
13053
|
+
var _excluded = ["children"],
|
|
13054
|
+
_excluded2 = ["open"],
|
|
13055
|
+
_excluded3 = ["refKey", "role", "onKeyDown", "onFocus", "onBlur", "onClick", "onDragEnter", "onDragOver", "onDragLeave", "onDrop"],
|
|
13056
|
+
_excluded4 = ["refKey", "onChange", "onClick"];
|
|
13057
|
+
|
|
13058
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
13059
|
+
|
|
13060
|
+
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."); }
|
|
13061
|
+
|
|
13062
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
13063
|
+
|
|
13064
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
13065
|
+
|
|
13066
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
13067
|
+
|
|
13068
|
+
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."); }
|
|
13069
|
+
|
|
13070
|
+
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); }
|
|
13071
|
+
|
|
13072
|
+
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; }
|
|
13073
|
+
|
|
13074
|
+
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; }
|
|
13075
|
+
|
|
13076
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13077
|
+
|
|
13078
|
+
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; }
|
|
13079
|
+
|
|
13080
|
+
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; }
|
|
13081
|
+
|
|
13082
|
+
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; }
|
|
13083
|
+
|
|
13084
|
+
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; }
|
|
13085
|
+
|
|
13086
|
+
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; }
|
|
13087
|
+
/**
|
|
13088
|
+
* Convenience wrapper component for the `useDropzone` hook
|
|
13089
|
+
*
|
|
13090
|
+
* ```jsx
|
|
13091
|
+
* <Dropzone>
|
|
13092
|
+
* {({getRootProps, getInputProps}) => (
|
|
13093
|
+
* <div {...getRootProps()}>
|
|
13094
|
+
* <input {...getInputProps()} />
|
|
13095
|
+
* <p>Drag 'n' drop some files here, or click to select files</p>
|
|
13096
|
+
* </div>
|
|
13097
|
+
* )}
|
|
13098
|
+
* </Dropzone>
|
|
13099
|
+
* ```
|
|
13100
|
+
*/
|
|
13101
|
+
|
|
13102
|
+
var Dropzone = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
13103
|
+
var children = _ref.children,
|
|
13104
|
+
params = _objectWithoutProperties(_ref, _excluded);
|
|
13105
|
+
|
|
13106
|
+
var _useDropzone = useDropzone(params),
|
|
13107
|
+
open = _useDropzone.open,
|
|
13108
|
+
props = _objectWithoutProperties(_useDropzone, _excluded2);
|
|
13109
|
+
|
|
13110
|
+
useImperativeHandle(ref, function () {
|
|
13111
|
+
return {
|
|
13112
|
+
open: open
|
|
13113
|
+
};
|
|
13114
|
+
}, [open]); // TODO: Figure out why react-styleguidist cannot create docs if we don't return a jsx element
|
|
13115
|
+
|
|
13116
|
+
return /*#__PURE__*/React__default.createElement(Fragment, null, children(_objectSpread(_objectSpread({}, props), {}, {
|
|
13117
|
+
open: open
|
|
13118
|
+
})));
|
|
13119
|
+
});
|
|
13120
|
+
Dropzone.displayName = "Dropzone"; // Add default props for react-docgen
|
|
13121
|
+
|
|
13122
|
+
var defaultProps = {
|
|
13123
|
+
disabled: false,
|
|
13124
|
+
getFilesFromEvent: fromEvent,
|
|
13125
|
+
maxSize: Infinity,
|
|
13126
|
+
minSize: 0,
|
|
13127
|
+
multiple: true,
|
|
13128
|
+
maxFiles: 0,
|
|
13129
|
+
preventDropOnDocument: true,
|
|
13130
|
+
noClick: false,
|
|
13131
|
+
noKeyboard: false,
|
|
13132
|
+
noDrag: false,
|
|
13133
|
+
noDragEventsBubbling: false,
|
|
13134
|
+
validator: null,
|
|
13135
|
+
useFsAccessApi: true,
|
|
13136
|
+
autoFocus: false
|
|
13137
|
+
};
|
|
13138
|
+
Dropzone.defaultProps = defaultProps;
|
|
13139
|
+
Dropzone.propTypes = {
|
|
13140
|
+
/**
|
|
13141
|
+
* Render function that exposes the dropzone state and prop getter fns
|
|
13142
|
+
*
|
|
13143
|
+
* @param {object} params
|
|
13144
|
+
* @param {Function} params.getRootProps Returns the props you should apply to the root drop container you render
|
|
13145
|
+
* @param {Function} params.getInputProps Returns the props you should apply to hidden file input you render
|
|
13146
|
+
* @param {Function} params.open Open the native file selection dialog
|
|
13147
|
+
* @param {boolean} params.isFocused Dropzone area is in focus
|
|
13148
|
+
* @param {boolean} params.isFileDialogActive File dialog is opened
|
|
13149
|
+
* @param {boolean} params.isDragActive Active drag is in progress
|
|
13150
|
+
* @param {boolean} params.isDragAccept Dragged files are accepted
|
|
13151
|
+
* @param {boolean} params.isDragReject Some dragged files are rejected
|
|
13152
|
+
* @param {File[]} params.acceptedFiles Accepted files
|
|
13153
|
+
* @param {FileRejection[]} params.fileRejections Rejected files and why they were rejected
|
|
13154
|
+
*/
|
|
13155
|
+
children: PropTypes.func,
|
|
13156
|
+
|
|
13157
|
+
/**
|
|
13158
|
+
* Set accepted file types.
|
|
13159
|
+
* Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.
|
|
13160
|
+
* Keep in mind that mime type determination is not reliable across platforms. CSV files,
|
|
13161
|
+
* for example, are reported as text/plain under macOS but as application/vnd.ms-excel under
|
|
13162
|
+
* Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).
|
|
13163
|
+
*/
|
|
13164
|
+
accept: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.string)),
|
|
13165
|
+
|
|
13166
|
+
/**
|
|
13167
|
+
* Allow drag 'n' drop (or selection from the file dialog) of multiple files
|
|
13168
|
+
*/
|
|
13169
|
+
multiple: PropTypes.bool,
|
|
13170
|
+
|
|
13171
|
+
/**
|
|
13172
|
+
* If false, allow dropped items to take over the current browser window
|
|
13173
|
+
*/
|
|
13174
|
+
preventDropOnDocument: PropTypes.bool,
|
|
13175
|
+
|
|
13176
|
+
/**
|
|
13177
|
+
* If true, disables click to open the native file selection dialog
|
|
13178
|
+
*/
|
|
13179
|
+
noClick: PropTypes.bool,
|
|
13180
|
+
|
|
13181
|
+
/**
|
|
13182
|
+
* If true, disables SPACE/ENTER to open the native file selection dialog.
|
|
13183
|
+
* Note that it also stops tracking the focus state.
|
|
13184
|
+
*/
|
|
13185
|
+
noKeyboard: PropTypes.bool,
|
|
13186
|
+
|
|
13187
|
+
/**
|
|
13188
|
+
* If true, disables drag 'n' drop
|
|
13189
|
+
*/
|
|
13190
|
+
noDrag: PropTypes.bool,
|
|
13191
|
+
|
|
13192
|
+
/**
|
|
13193
|
+
* If true, stops drag event propagation to parents
|
|
13194
|
+
*/
|
|
13195
|
+
noDragEventsBubbling: PropTypes.bool,
|
|
13196
|
+
|
|
13197
|
+
/**
|
|
13198
|
+
* Minimum file size (in bytes)
|
|
13199
|
+
*/
|
|
13200
|
+
minSize: PropTypes.number,
|
|
13201
|
+
|
|
13202
|
+
/**
|
|
13203
|
+
* Maximum file size (in bytes)
|
|
13204
|
+
*/
|
|
13205
|
+
maxSize: PropTypes.number,
|
|
13206
|
+
|
|
13207
|
+
/**
|
|
13208
|
+
* Maximum accepted number of files
|
|
13209
|
+
* The default value is 0 which means there is no limitation to how many files are accepted.
|
|
13210
|
+
*/
|
|
13211
|
+
maxFiles: PropTypes.number,
|
|
13212
|
+
|
|
13213
|
+
/**
|
|
13214
|
+
* Enable/disable the dropzone
|
|
13215
|
+
*/
|
|
13216
|
+
disabled: PropTypes.bool,
|
|
13217
|
+
|
|
13218
|
+
/**
|
|
13219
|
+
* Use this to provide a custom file aggregator
|
|
13220
|
+
*
|
|
13221
|
+
* @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
|
|
13222
|
+
*/
|
|
13223
|
+
getFilesFromEvent: PropTypes.func,
|
|
13224
|
+
|
|
13225
|
+
/**
|
|
13226
|
+
* Cb for when closing the file dialog with no selection
|
|
13227
|
+
*/
|
|
13228
|
+
onFileDialogCancel: PropTypes.func,
|
|
13229
|
+
|
|
13230
|
+
/**
|
|
13231
|
+
* Cb for when opening the file dialog
|
|
13232
|
+
*/
|
|
13233
|
+
onFileDialogOpen: PropTypes.func,
|
|
13234
|
+
|
|
13235
|
+
/**
|
|
13236
|
+
* Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API
|
|
13237
|
+
* to open the file picker instead of using an `<input type="file">` click event.
|
|
13238
|
+
*/
|
|
13239
|
+
useFsAccessApi: PropTypes.bool,
|
|
13240
|
+
|
|
13241
|
+
/**
|
|
13242
|
+
* Set to true to focus the root element on render
|
|
13243
|
+
*/
|
|
13244
|
+
autoFocus: PropTypes.bool,
|
|
13245
|
+
|
|
13246
|
+
/**
|
|
13247
|
+
* Cb for when the `dragenter` event occurs.
|
|
13248
|
+
*
|
|
13249
|
+
* @param {DragEvent} event
|
|
13250
|
+
*/
|
|
13251
|
+
onDragEnter: PropTypes.func,
|
|
13252
|
+
|
|
13253
|
+
/**
|
|
13254
|
+
* Cb for when the `dragleave` event occurs
|
|
13255
|
+
*
|
|
13256
|
+
* @param {DragEvent} event
|
|
13257
|
+
*/
|
|
13258
|
+
onDragLeave: PropTypes.func,
|
|
13259
|
+
|
|
13260
|
+
/**
|
|
13261
|
+
* Cb for when the `dragover` event occurs
|
|
13262
|
+
*
|
|
13263
|
+
* @param {DragEvent} event
|
|
13264
|
+
*/
|
|
13265
|
+
onDragOver: PropTypes.func,
|
|
13266
|
+
|
|
13267
|
+
/**
|
|
13268
|
+
* Cb for when the `drop` event occurs.
|
|
13269
|
+
* Note that this callback is invoked after the `getFilesFromEvent` callback is done.
|
|
13270
|
+
*
|
|
13271
|
+
* Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.
|
|
13272
|
+
* `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.
|
|
13273
|
+
* If `multiple` is set to false and additional files are dropped,
|
|
13274
|
+
* all files besides the first will be rejected.
|
|
13275
|
+
* Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.
|
|
13276
|
+
*
|
|
13277
|
+
* Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.
|
|
13278
|
+
* If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.
|
|
13279
|
+
*
|
|
13280
|
+
* `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.
|
|
13281
|
+
* For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:
|
|
13282
|
+
*
|
|
13283
|
+
* ```js
|
|
13284
|
+
* function onDrop(acceptedFiles) {
|
|
13285
|
+
* const req = request.post('/upload')
|
|
13286
|
+
* acceptedFiles.forEach(file => {
|
|
13287
|
+
* req.attach(file.name, file)
|
|
13288
|
+
* })
|
|
13289
|
+
* req.end(callback)
|
|
13290
|
+
* }
|
|
13291
|
+
* ```
|
|
13292
|
+
*
|
|
13293
|
+
* @param {File[]} acceptedFiles
|
|
13294
|
+
* @param {FileRejection[]} fileRejections
|
|
13295
|
+
* @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
|
|
13296
|
+
*/
|
|
13297
|
+
onDrop: PropTypes.func,
|
|
13298
|
+
|
|
13299
|
+
/**
|
|
13300
|
+
* Cb for when the `drop` event occurs.
|
|
13301
|
+
* Note that if no files are accepted, this callback is not invoked.
|
|
13302
|
+
*
|
|
13303
|
+
* @param {File[]} files
|
|
13304
|
+
* @param {(DragEvent|Event)} event
|
|
13305
|
+
*/
|
|
13306
|
+
onDropAccepted: PropTypes.func,
|
|
13307
|
+
|
|
13308
|
+
/**
|
|
13309
|
+
* Cb for when the `drop` event occurs.
|
|
13310
|
+
* Note that if no files are rejected, this callback is not invoked.
|
|
13311
|
+
*
|
|
13312
|
+
* @param {FileRejection[]} fileRejections
|
|
13313
|
+
* @param {(DragEvent|Event)} event
|
|
13314
|
+
*/
|
|
13315
|
+
onDropRejected: PropTypes.func,
|
|
13316
|
+
|
|
13317
|
+
/**
|
|
13318
|
+
* Cb for when there's some error from any of the promises.
|
|
13319
|
+
*
|
|
13320
|
+
* @param {Error} error
|
|
13321
|
+
*/
|
|
13322
|
+
onError: PropTypes.func,
|
|
13323
|
+
|
|
13324
|
+
/**
|
|
13325
|
+
* Custom validation function. It must return null if there's no errors.
|
|
13326
|
+
* @param {File} file
|
|
13327
|
+
* @returns {FileError|FileError[]|null}
|
|
13328
|
+
*/
|
|
13329
|
+
validator: PropTypes.func
|
|
13330
|
+
};
|
|
13331
|
+
/**
|
|
13332
|
+
* A function that is invoked for the `dragenter`,
|
|
13333
|
+
* `dragover` and `dragleave` events.
|
|
13334
|
+
* It is not invoked if the items are not files (such as link, text, etc.).
|
|
13335
|
+
*
|
|
13336
|
+
* @callback dragCb
|
|
13337
|
+
* @param {DragEvent} event
|
|
13338
|
+
*/
|
|
13339
|
+
|
|
13340
|
+
/**
|
|
13341
|
+
* A function that is invoked for the `drop` or input change event.
|
|
13342
|
+
* It is not invoked if the items are not files (such as link, text, etc.).
|
|
13343
|
+
*
|
|
13344
|
+
* @callback dropCb
|
|
13345
|
+
* @param {File[]} acceptedFiles List of accepted files
|
|
13346
|
+
* @param {FileRejection[]} fileRejections List of rejected files and why they were rejected
|
|
13347
|
+
* @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
|
|
13348
|
+
*/
|
|
13349
|
+
|
|
13350
|
+
/**
|
|
13351
|
+
* A function that is invoked for the `drop` or input change event.
|
|
13352
|
+
* It is not invoked if the items are files (such as link, text, etc.).
|
|
13353
|
+
*
|
|
13354
|
+
* @callback dropAcceptedCb
|
|
13355
|
+
* @param {File[]} files List of accepted files that meet the given criteria
|
|
13356
|
+
* (`accept`, `multiple`, `minSize`, `maxSize`)
|
|
13357
|
+
* @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
|
|
13358
|
+
*/
|
|
13359
|
+
|
|
13360
|
+
/**
|
|
13361
|
+
* A function that is invoked for the `drop` or input change event.
|
|
13362
|
+
*
|
|
13363
|
+
* @callback dropRejectedCb
|
|
13364
|
+
* @param {File[]} files List of rejected files that do not meet the given criteria
|
|
13365
|
+
* (`accept`, `multiple`, `minSize`, `maxSize`)
|
|
13366
|
+
* @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
|
|
13367
|
+
*/
|
|
13368
|
+
|
|
13369
|
+
/**
|
|
13370
|
+
* A function that is used aggregate files,
|
|
13371
|
+
* in a asynchronous fashion, from drag or input change events.
|
|
13372
|
+
*
|
|
13373
|
+
* @callback getFilesFromEvent
|
|
13374
|
+
* @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
|
|
13375
|
+
* @returns {(File[]|Promise<File[]>)}
|
|
13376
|
+
*/
|
|
13377
|
+
|
|
13378
|
+
/**
|
|
13379
|
+
* An object with the current dropzone state.
|
|
13380
|
+
*
|
|
13381
|
+
* @typedef {object} DropzoneState
|
|
13382
|
+
* @property {boolean} isFocused Dropzone area is in focus
|
|
13383
|
+
* @property {boolean} isFileDialogActive File dialog is opened
|
|
13384
|
+
* @property {boolean} isDragActive Active drag is in progress
|
|
13385
|
+
* @property {boolean} isDragAccept Dragged files are accepted
|
|
13386
|
+
* @property {boolean} isDragReject Some dragged files are rejected
|
|
13387
|
+
* @property {File[]} acceptedFiles Accepted files
|
|
13388
|
+
* @property {FileRejection[]} fileRejections Rejected files and why they were rejected
|
|
13389
|
+
*/
|
|
13390
|
+
|
|
13391
|
+
/**
|
|
13392
|
+
* An object with the dropzone methods.
|
|
13393
|
+
*
|
|
13394
|
+
* @typedef {object} DropzoneMethods
|
|
13395
|
+
* @property {Function} getRootProps Returns the props you should apply to the root drop container you render
|
|
13396
|
+
* @property {Function} getInputProps Returns the props you should apply to hidden file input you render
|
|
13397
|
+
* @property {Function} open Open the native file selection dialog
|
|
13398
|
+
*/
|
|
13399
|
+
|
|
13400
|
+
var initialState = {
|
|
13401
|
+
isFocused: false,
|
|
13402
|
+
isFileDialogActive: false,
|
|
13403
|
+
isDragActive: false,
|
|
13404
|
+
isDragAccept: false,
|
|
13405
|
+
isDragReject: false,
|
|
13406
|
+
acceptedFiles: [],
|
|
13407
|
+
fileRejections: []
|
|
13408
|
+
};
|
|
13409
|
+
/**
|
|
13410
|
+
* A React hook that creates a drag 'n' drop area.
|
|
13411
|
+
*
|
|
13412
|
+
* ```jsx
|
|
13413
|
+
* function MyDropzone(props) {
|
|
13414
|
+
* const {getRootProps, getInputProps} = useDropzone({
|
|
13415
|
+
* onDrop: acceptedFiles => {
|
|
13416
|
+
* // do something with the File objects, e.g. upload to some server
|
|
13417
|
+
* }
|
|
13418
|
+
* });
|
|
13419
|
+
* return (
|
|
13420
|
+
* <div {...getRootProps()}>
|
|
13421
|
+
* <input {...getInputProps()} />
|
|
13422
|
+
* <p>Drag and drop some files here, or click to select files</p>
|
|
13423
|
+
* </div>
|
|
13424
|
+
* )
|
|
13425
|
+
* }
|
|
13426
|
+
* ```
|
|
13427
|
+
*
|
|
13428
|
+
* @function useDropzone
|
|
13429
|
+
*
|
|
13430
|
+
* @param {object} props
|
|
13431
|
+
* @param {import("./utils").AcceptProp} [props.accept] Set accepted file types.
|
|
13432
|
+
* Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.
|
|
13433
|
+
* Keep in mind that mime type determination is not reliable across platforms. CSV files,
|
|
13434
|
+
* for example, are reported as text/plain under macOS but as application/vnd.ms-excel under
|
|
13435
|
+
* Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).
|
|
13436
|
+
* @param {boolean} [props.multiple=true] Allow drag 'n' drop (or selection from the file dialog) of multiple files
|
|
13437
|
+
* @param {boolean} [props.preventDropOnDocument=true] If false, allow dropped items to take over the current browser window
|
|
13438
|
+
* @param {boolean} [props.noClick=false] If true, disables click to open the native file selection dialog
|
|
13439
|
+
* @param {boolean} [props.noKeyboard=false] If true, disables SPACE/ENTER to open the native file selection dialog.
|
|
13440
|
+
* Note that it also stops tracking the focus state.
|
|
13441
|
+
* @param {boolean} [props.noDrag=false] If true, disables drag 'n' drop
|
|
13442
|
+
* @param {boolean} [props.noDragEventsBubbling=false] If true, stops drag event propagation to parents
|
|
13443
|
+
* @param {number} [props.minSize=0] Minimum file size (in bytes)
|
|
13444
|
+
* @param {number} [props.maxSize=Infinity] Maximum file size (in bytes)
|
|
13445
|
+
* @param {boolean} [props.disabled=false] Enable/disable the dropzone
|
|
13446
|
+
* @param {getFilesFromEvent} [props.getFilesFromEvent] Use this to provide a custom file aggregator
|
|
13447
|
+
* @param {Function} [props.onFileDialogCancel] Cb for when closing the file dialog with no selection
|
|
13448
|
+
* @param {boolean} [props.useFsAccessApi] Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API
|
|
13449
|
+
* to open the file picker instead of using an `<input type="file">` click event.
|
|
13450
|
+
* @param {boolean} autoFocus Set to true to auto focus the root element.
|
|
13451
|
+
* @param {Function} [props.onFileDialogOpen] Cb for when opening the file dialog
|
|
13452
|
+
* @param {dragCb} [props.onDragEnter] Cb for when the `dragenter` event occurs.
|
|
13453
|
+
* @param {dragCb} [props.onDragLeave] Cb for when the `dragleave` event occurs
|
|
13454
|
+
* @param {dragCb} [props.onDragOver] Cb for when the `dragover` event occurs
|
|
13455
|
+
* @param {dropCb} [props.onDrop] Cb for when the `drop` event occurs.
|
|
13456
|
+
* Note that this callback is invoked after the `getFilesFromEvent` callback is done.
|
|
13457
|
+
*
|
|
13458
|
+
* Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.
|
|
13459
|
+
* `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).
|
|
13460
|
+
* If `multiple` is set to false and additional files are dropped,
|
|
13461
|
+
* all files besides the first will be rejected.
|
|
13462
|
+
* Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.
|
|
13463
|
+
*
|
|
13464
|
+
* Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.
|
|
13465
|
+
* If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.
|
|
13466
|
+
*
|
|
13467
|
+
* `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.
|
|
13468
|
+
* For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:
|
|
13469
|
+
*
|
|
13470
|
+
* ```js
|
|
13471
|
+
* function onDrop(acceptedFiles) {
|
|
13472
|
+
* const req = request.post('/upload')
|
|
13473
|
+
* acceptedFiles.forEach(file => {
|
|
13474
|
+
* req.attach(file.name, file)
|
|
13475
|
+
* })
|
|
13476
|
+
* req.end(callback)
|
|
13477
|
+
* }
|
|
13478
|
+
* ```
|
|
13479
|
+
* @param {dropAcceptedCb} [props.onDropAccepted]
|
|
13480
|
+
* @param {dropRejectedCb} [props.onDropRejected]
|
|
13481
|
+
* @param {(error: Error) => void} [props.onError]
|
|
13482
|
+
*
|
|
13483
|
+
* @returns {DropzoneState & DropzoneMethods}
|
|
13484
|
+
*/
|
|
13485
|
+
|
|
13486
|
+
function useDropzone() {
|
|
13487
|
+
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
13488
|
+
|
|
13489
|
+
var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
|
|
13490
|
+
accept = _defaultProps$props.accept,
|
|
13491
|
+
disabled = _defaultProps$props.disabled,
|
|
13492
|
+
getFilesFromEvent = _defaultProps$props.getFilesFromEvent,
|
|
13493
|
+
maxSize = _defaultProps$props.maxSize,
|
|
13494
|
+
minSize = _defaultProps$props.minSize,
|
|
13495
|
+
multiple = _defaultProps$props.multiple,
|
|
13496
|
+
maxFiles = _defaultProps$props.maxFiles,
|
|
13497
|
+
onDragEnter = _defaultProps$props.onDragEnter,
|
|
13498
|
+
onDragLeave = _defaultProps$props.onDragLeave,
|
|
13499
|
+
onDragOver = _defaultProps$props.onDragOver,
|
|
13500
|
+
onDrop = _defaultProps$props.onDrop,
|
|
13501
|
+
onDropAccepted = _defaultProps$props.onDropAccepted,
|
|
13502
|
+
onDropRejected = _defaultProps$props.onDropRejected,
|
|
13503
|
+
onFileDialogCancel = _defaultProps$props.onFileDialogCancel,
|
|
13504
|
+
onFileDialogOpen = _defaultProps$props.onFileDialogOpen,
|
|
13505
|
+
useFsAccessApi = _defaultProps$props.useFsAccessApi,
|
|
13506
|
+
autoFocus = _defaultProps$props.autoFocus,
|
|
13507
|
+
preventDropOnDocument = _defaultProps$props.preventDropOnDocument,
|
|
13508
|
+
noClick = _defaultProps$props.noClick,
|
|
13509
|
+
noKeyboard = _defaultProps$props.noKeyboard,
|
|
13510
|
+
noDrag = _defaultProps$props.noDrag,
|
|
13511
|
+
noDragEventsBubbling = _defaultProps$props.noDragEventsBubbling,
|
|
13512
|
+
onError = _defaultProps$props.onError,
|
|
13513
|
+
validator = _defaultProps$props.validator;
|
|
13514
|
+
|
|
13515
|
+
var acceptAttr = useMemo(function () {
|
|
13516
|
+
return acceptPropAsAcceptAttr(accept);
|
|
13517
|
+
}, [accept]);
|
|
13518
|
+
var pickerTypes = useMemo(function () {
|
|
13519
|
+
return pickerOptionsFromAccept(accept);
|
|
13520
|
+
}, [accept]);
|
|
13521
|
+
var onFileDialogOpenCb = useMemo(function () {
|
|
13522
|
+
return typeof onFileDialogOpen === "function" ? onFileDialogOpen : noop;
|
|
13523
|
+
}, [onFileDialogOpen]);
|
|
13524
|
+
var onFileDialogCancelCb = useMemo(function () {
|
|
13525
|
+
return typeof onFileDialogCancel === "function" ? onFileDialogCancel : noop;
|
|
13526
|
+
}, [onFileDialogCancel]);
|
|
13527
|
+
/**
|
|
13528
|
+
* @constant
|
|
13529
|
+
* @type {React.MutableRefObject<HTMLElement>}
|
|
13530
|
+
*/
|
|
13531
|
+
|
|
13532
|
+
var rootRef = useRef(null);
|
|
13533
|
+
var inputRef = useRef(null);
|
|
13534
|
+
|
|
13535
|
+
var _useReducer = useReducer(reducer, initialState),
|
|
13536
|
+
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
13537
|
+
state = _useReducer2[0],
|
|
13538
|
+
dispatch = _useReducer2[1];
|
|
13539
|
+
|
|
13540
|
+
var isFocused = state.isFocused,
|
|
13541
|
+
isFileDialogActive = state.isFileDialogActive;
|
|
13542
|
+
var fsAccessApiWorksRef = useRef(typeof window !== "undefined" && window.isSecureContext && useFsAccessApi && canUseFileSystemAccessAPI()); // Update file dialog active state when the window is focused on
|
|
13543
|
+
|
|
13544
|
+
var onWindowFocus = function onWindowFocus() {
|
|
13545
|
+
// Execute the timeout only if the file dialog is opened in the browser
|
|
13546
|
+
if (!fsAccessApiWorksRef.current && isFileDialogActive) {
|
|
13547
|
+
setTimeout(function () {
|
|
13548
|
+
if (inputRef.current) {
|
|
13549
|
+
var files = inputRef.current.files;
|
|
13550
|
+
|
|
13551
|
+
if (!files.length) {
|
|
13552
|
+
dispatch({
|
|
13553
|
+
type: "closeDialog"
|
|
13554
|
+
});
|
|
13555
|
+
onFileDialogCancelCb();
|
|
13556
|
+
}
|
|
13557
|
+
}
|
|
13558
|
+
}, 300);
|
|
13559
|
+
}
|
|
13560
|
+
};
|
|
13561
|
+
|
|
13562
|
+
useEffect(function () {
|
|
13563
|
+
window.addEventListener("focus", onWindowFocus, false);
|
|
13564
|
+
return function () {
|
|
13565
|
+
window.removeEventListener("focus", onWindowFocus, false);
|
|
13566
|
+
};
|
|
13567
|
+
}, [inputRef, isFileDialogActive, onFileDialogCancelCb, fsAccessApiWorksRef]);
|
|
13568
|
+
var dragTargetsRef = useRef([]);
|
|
13569
|
+
|
|
13570
|
+
var onDocumentDrop = function onDocumentDrop(event) {
|
|
13571
|
+
if (rootRef.current && rootRef.current.contains(event.target)) {
|
|
13572
|
+
// If we intercepted an event for our instance, let it propagate down to the instance's onDrop handler
|
|
13573
|
+
return;
|
|
13574
|
+
}
|
|
13575
|
+
|
|
13576
|
+
event.preventDefault();
|
|
13577
|
+
dragTargetsRef.current = [];
|
|
13578
|
+
};
|
|
13579
|
+
|
|
13580
|
+
useEffect(function () {
|
|
13581
|
+
if (preventDropOnDocument) {
|
|
13582
|
+
document.addEventListener("dragover", onDocumentDragOver, false);
|
|
13583
|
+
document.addEventListener("drop", onDocumentDrop, false);
|
|
13584
|
+
}
|
|
13585
|
+
|
|
13586
|
+
return function () {
|
|
13587
|
+
if (preventDropOnDocument) {
|
|
13588
|
+
document.removeEventListener("dragover", onDocumentDragOver);
|
|
13589
|
+
document.removeEventListener("drop", onDocumentDrop);
|
|
13590
|
+
}
|
|
13591
|
+
};
|
|
13592
|
+
}, [rootRef, preventDropOnDocument]); // Auto focus the root when autoFocus is true
|
|
13593
|
+
|
|
13594
|
+
useEffect(function () {
|
|
13595
|
+
if (!disabled && autoFocus && rootRef.current) {
|
|
13596
|
+
rootRef.current.focus();
|
|
13597
|
+
}
|
|
13598
|
+
|
|
13599
|
+
return function () {};
|
|
13600
|
+
}, [rootRef, autoFocus, disabled]);
|
|
13601
|
+
var onErrCb = useCallback(function (e) {
|
|
13602
|
+
if (onError) {
|
|
13603
|
+
onError(e);
|
|
13604
|
+
} else {
|
|
13605
|
+
// Let the user know something's gone wrong if they haven't provided the onError cb.
|
|
13606
|
+
console.error(e);
|
|
13607
|
+
}
|
|
13608
|
+
}, [onError]);
|
|
13609
|
+
var onDragEnterCb = useCallback(function (event) {
|
|
13610
|
+
event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done
|
|
13611
|
+
|
|
13612
|
+
event.persist();
|
|
13613
|
+
stopPropagation(event);
|
|
13614
|
+
dragTargetsRef.current = [].concat(_toConsumableArray(dragTargetsRef.current), [event.target]);
|
|
13615
|
+
|
|
13616
|
+
if (isEvtWithFiles(event)) {
|
|
13617
|
+
Promise.resolve(getFilesFromEvent(event)).then(function (files) {
|
|
13618
|
+
if (isPropagationStopped(event) && !noDragEventsBubbling) {
|
|
13619
|
+
return;
|
|
13620
|
+
}
|
|
13621
|
+
|
|
13622
|
+
var fileCount = files.length;
|
|
13623
|
+
var isDragAccept = fileCount > 0 && allFilesAccepted({
|
|
13624
|
+
files: files,
|
|
13625
|
+
accept: acceptAttr,
|
|
13626
|
+
minSize: minSize,
|
|
13627
|
+
maxSize: maxSize,
|
|
13628
|
+
multiple: multiple,
|
|
13629
|
+
maxFiles: maxFiles,
|
|
13630
|
+
validator: validator
|
|
13631
|
+
});
|
|
13632
|
+
var isDragReject = fileCount > 0 && !isDragAccept;
|
|
13633
|
+
dispatch({
|
|
13634
|
+
isDragAccept: isDragAccept,
|
|
13635
|
+
isDragReject: isDragReject,
|
|
13636
|
+
isDragActive: true,
|
|
13637
|
+
type: "setDraggedFiles"
|
|
13638
|
+
});
|
|
13639
|
+
|
|
13640
|
+
if (onDragEnter) {
|
|
13641
|
+
onDragEnter(event);
|
|
13642
|
+
}
|
|
13643
|
+
}).catch(function (e) {
|
|
13644
|
+
return onErrCb(e);
|
|
13645
|
+
});
|
|
13646
|
+
}
|
|
13647
|
+
}, [getFilesFromEvent, onDragEnter, onErrCb, noDragEventsBubbling, acceptAttr, minSize, maxSize, multiple, maxFiles, validator]);
|
|
13648
|
+
var onDragOverCb = useCallback(function (event) {
|
|
13649
|
+
event.preventDefault();
|
|
13650
|
+
event.persist();
|
|
13651
|
+
stopPropagation(event);
|
|
13652
|
+
var hasFiles = isEvtWithFiles(event);
|
|
13653
|
+
|
|
13654
|
+
if (hasFiles && event.dataTransfer) {
|
|
13655
|
+
try {
|
|
13656
|
+
event.dataTransfer.dropEffect = "copy";
|
|
13657
|
+
} catch (_unused) {}
|
|
13658
|
+
/* eslint-disable-line no-empty */
|
|
13659
|
+
|
|
13660
|
+
}
|
|
13661
|
+
|
|
13662
|
+
if (hasFiles && onDragOver) {
|
|
13663
|
+
onDragOver(event);
|
|
13664
|
+
}
|
|
13665
|
+
|
|
13666
|
+
return false;
|
|
13667
|
+
}, [onDragOver, noDragEventsBubbling]);
|
|
13668
|
+
var onDragLeaveCb = useCallback(function (event) {
|
|
13669
|
+
event.preventDefault();
|
|
13670
|
+
event.persist();
|
|
13671
|
+
stopPropagation(event); // Only deactivate once the dropzone and all children have been left
|
|
13672
|
+
|
|
13673
|
+
var targets = dragTargetsRef.current.filter(function (target) {
|
|
13674
|
+
return rootRef.current && rootRef.current.contains(target);
|
|
13675
|
+
}); // Make sure to remove a target present multiple times only once
|
|
13676
|
+
// (Firefox may fire dragenter/dragleave multiple times on the same element)
|
|
13677
|
+
|
|
13678
|
+
var targetIdx = targets.indexOf(event.target);
|
|
13679
|
+
|
|
13680
|
+
if (targetIdx !== -1) {
|
|
13681
|
+
targets.splice(targetIdx, 1);
|
|
13682
|
+
}
|
|
13683
|
+
|
|
13684
|
+
dragTargetsRef.current = targets;
|
|
13685
|
+
|
|
13686
|
+
if (targets.length > 0) {
|
|
13687
|
+
return;
|
|
13688
|
+
}
|
|
13689
|
+
|
|
13690
|
+
dispatch({
|
|
13691
|
+
type: "setDraggedFiles",
|
|
13692
|
+
isDragActive: false,
|
|
13693
|
+
isDragAccept: false,
|
|
13694
|
+
isDragReject: false
|
|
13695
|
+
});
|
|
13696
|
+
|
|
13697
|
+
if (isEvtWithFiles(event) && onDragLeave) {
|
|
13698
|
+
onDragLeave(event);
|
|
13699
|
+
}
|
|
13700
|
+
}, [rootRef, onDragLeave, noDragEventsBubbling]);
|
|
13701
|
+
var setFiles = useCallback(function (files, event) {
|
|
13702
|
+
var acceptedFiles = [];
|
|
13703
|
+
var fileRejections = [];
|
|
13704
|
+
files.forEach(function (file) {
|
|
13705
|
+
var _fileAccepted = fileAccepted(file, acceptAttr),
|
|
13706
|
+
_fileAccepted2 = _slicedToArray(_fileAccepted, 2),
|
|
13707
|
+
accepted = _fileAccepted2[0],
|
|
13708
|
+
acceptError = _fileAccepted2[1];
|
|
13709
|
+
|
|
13710
|
+
var _fileMatchSize = fileMatchSize(file, minSize, maxSize),
|
|
13711
|
+
_fileMatchSize2 = _slicedToArray(_fileMatchSize, 2),
|
|
13712
|
+
sizeMatch = _fileMatchSize2[0],
|
|
13713
|
+
sizeError = _fileMatchSize2[1];
|
|
13714
|
+
|
|
13715
|
+
var customErrors = validator ? validator(file) : null;
|
|
13716
|
+
|
|
13717
|
+
if (accepted && sizeMatch && !customErrors) {
|
|
13718
|
+
acceptedFiles.push(file);
|
|
13719
|
+
} else {
|
|
13720
|
+
var errors = [acceptError, sizeError];
|
|
13721
|
+
|
|
13722
|
+
if (customErrors) {
|
|
13723
|
+
errors = errors.concat(customErrors);
|
|
13724
|
+
}
|
|
13725
|
+
|
|
13726
|
+
fileRejections.push({
|
|
13727
|
+
file: file,
|
|
13728
|
+
errors: errors.filter(function (e) {
|
|
13729
|
+
return e;
|
|
13730
|
+
})
|
|
13731
|
+
});
|
|
13732
|
+
}
|
|
13733
|
+
});
|
|
13734
|
+
|
|
13735
|
+
if (!multiple && acceptedFiles.length > 1 || multiple && maxFiles >= 1 && acceptedFiles.length > maxFiles) {
|
|
13736
|
+
// Reject everything and empty accepted files
|
|
13737
|
+
acceptedFiles.forEach(function (file) {
|
|
13738
|
+
fileRejections.push({
|
|
13739
|
+
file: file,
|
|
13740
|
+
errors: [TOO_MANY_FILES_REJECTION]
|
|
13741
|
+
});
|
|
13742
|
+
});
|
|
13743
|
+
acceptedFiles.splice(0);
|
|
13744
|
+
}
|
|
13745
|
+
|
|
13746
|
+
dispatch({
|
|
13747
|
+
acceptedFiles: acceptedFiles,
|
|
13748
|
+
fileRejections: fileRejections,
|
|
13749
|
+
type: "setFiles"
|
|
13750
|
+
});
|
|
13751
|
+
|
|
13752
|
+
if (onDrop) {
|
|
13753
|
+
onDrop(acceptedFiles, fileRejections, event);
|
|
13754
|
+
}
|
|
13755
|
+
|
|
13756
|
+
if (fileRejections.length > 0 && onDropRejected) {
|
|
13757
|
+
onDropRejected(fileRejections, event);
|
|
13758
|
+
}
|
|
13759
|
+
|
|
13760
|
+
if (acceptedFiles.length > 0 && onDropAccepted) {
|
|
13761
|
+
onDropAccepted(acceptedFiles, event);
|
|
13762
|
+
}
|
|
13763
|
+
}, [dispatch, multiple, acceptAttr, minSize, maxSize, maxFiles, onDrop, onDropAccepted, onDropRejected, validator]);
|
|
13764
|
+
var onDropCb = useCallback(function (event) {
|
|
13765
|
+
event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done
|
|
13766
|
+
|
|
13767
|
+
event.persist();
|
|
13768
|
+
stopPropagation(event);
|
|
13769
|
+
dragTargetsRef.current = [];
|
|
13770
|
+
|
|
13771
|
+
if (isEvtWithFiles(event)) {
|
|
13772
|
+
Promise.resolve(getFilesFromEvent(event)).then(function (files) {
|
|
13773
|
+
if (isPropagationStopped(event) && !noDragEventsBubbling) {
|
|
13774
|
+
return;
|
|
13775
|
+
}
|
|
13776
|
+
|
|
13777
|
+
setFiles(files, event);
|
|
13778
|
+
}).catch(function (e) {
|
|
13779
|
+
return onErrCb(e);
|
|
13780
|
+
});
|
|
13781
|
+
}
|
|
13782
|
+
|
|
13783
|
+
dispatch({
|
|
13784
|
+
type: "reset"
|
|
13785
|
+
});
|
|
13786
|
+
}, [getFilesFromEvent, setFiles, onErrCb, noDragEventsBubbling]); // Fn for opening the file dialog programmatically
|
|
13787
|
+
|
|
13788
|
+
var openFileDialog = useCallback(function () {
|
|
13789
|
+
// No point to use FS access APIs if context is not secure
|
|
13790
|
+
// https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts#feature_detection
|
|
13791
|
+
if (fsAccessApiWorksRef.current) {
|
|
13792
|
+
dispatch({
|
|
13793
|
+
type: "openDialog"
|
|
13794
|
+
});
|
|
13795
|
+
onFileDialogOpenCb(); // https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker
|
|
13796
|
+
|
|
13797
|
+
var opts = {
|
|
13798
|
+
multiple: multiple,
|
|
13799
|
+
types: pickerTypes
|
|
13800
|
+
};
|
|
13801
|
+
window.showOpenFilePicker(opts).then(function (handles) {
|
|
13802
|
+
return getFilesFromEvent(handles);
|
|
13803
|
+
}).then(function (files) {
|
|
13804
|
+
setFiles(files, null);
|
|
13805
|
+
dispatch({
|
|
13806
|
+
type: "closeDialog"
|
|
13807
|
+
});
|
|
13808
|
+
}).catch(function (e) {
|
|
13809
|
+
// AbortError means the user canceled
|
|
13810
|
+
if (isAbort(e)) {
|
|
13811
|
+
onFileDialogCancelCb(e);
|
|
13812
|
+
dispatch({
|
|
13813
|
+
type: "closeDialog"
|
|
13814
|
+
});
|
|
13815
|
+
} else if (isSecurityError(e)) {
|
|
13816
|
+
fsAccessApiWorksRef.current = false; // CORS, so cannot use this API
|
|
13817
|
+
// Try using the input
|
|
13818
|
+
|
|
13819
|
+
if (inputRef.current) {
|
|
13820
|
+
inputRef.current.value = null;
|
|
13821
|
+
inputRef.current.click();
|
|
13822
|
+
} else {
|
|
13823
|
+
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."));
|
|
13824
|
+
}
|
|
13825
|
+
} else {
|
|
13826
|
+
onErrCb(e);
|
|
13827
|
+
}
|
|
13828
|
+
});
|
|
13829
|
+
return;
|
|
13830
|
+
}
|
|
13831
|
+
|
|
13832
|
+
if (inputRef.current) {
|
|
13833
|
+
dispatch({
|
|
13834
|
+
type: "openDialog"
|
|
13835
|
+
});
|
|
13836
|
+
onFileDialogOpenCb();
|
|
13837
|
+
inputRef.current.value = null;
|
|
13838
|
+
inputRef.current.click();
|
|
13839
|
+
}
|
|
13840
|
+
}, [dispatch, onFileDialogOpenCb, onFileDialogCancelCb, useFsAccessApi, setFiles, onErrCb, pickerTypes, multiple]); // Cb to open the file dialog when SPACE/ENTER occurs on the dropzone
|
|
13841
|
+
|
|
13842
|
+
var onKeyDownCb = useCallback(function (event) {
|
|
13843
|
+
// Ignore keyboard events bubbling up the DOM tree
|
|
13844
|
+
if (!rootRef.current || !rootRef.current.isEqualNode(event.target)) {
|
|
13845
|
+
return;
|
|
13846
|
+
}
|
|
13847
|
+
|
|
13848
|
+
if (event.key === " " || event.key === "Enter" || event.keyCode === 32 || event.keyCode === 13) {
|
|
13849
|
+
event.preventDefault();
|
|
13850
|
+
openFileDialog();
|
|
13851
|
+
}
|
|
13852
|
+
}, [rootRef, openFileDialog]); // Update focus state for the dropzone
|
|
13853
|
+
|
|
13854
|
+
var onFocusCb = useCallback(function () {
|
|
13855
|
+
dispatch({
|
|
13856
|
+
type: "focus"
|
|
13857
|
+
});
|
|
13858
|
+
}, []);
|
|
13859
|
+
var onBlurCb = useCallback(function () {
|
|
13860
|
+
dispatch({
|
|
13861
|
+
type: "blur"
|
|
13862
|
+
});
|
|
13863
|
+
}, []); // Cb to open the file dialog when click occurs on the dropzone
|
|
13864
|
+
|
|
13865
|
+
var onClickCb = useCallback(function () {
|
|
13866
|
+
if (noClick) {
|
|
13867
|
+
return;
|
|
13868
|
+
} // In IE11/Edge the file-browser dialog is blocking, therefore, use setTimeout()
|
|
13869
|
+
// to ensure React can handle state changes
|
|
13870
|
+
// See: https://github.com/react-dropzone/react-dropzone/issues/450
|
|
13871
|
+
|
|
13872
|
+
|
|
13873
|
+
if (isIeOrEdge()) {
|
|
13874
|
+
setTimeout(openFileDialog, 0);
|
|
13875
|
+
} else {
|
|
13876
|
+
openFileDialog();
|
|
13877
|
+
}
|
|
13878
|
+
}, [noClick, openFileDialog]);
|
|
13879
|
+
|
|
13880
|
+
var composeHandler = function composeHandler(fn) {
|
|
13881
|
+
return disabled ? null : fn;
|
|
13882
|
+
};
|
|
13883
|
+
|
|
13884
|
+
var composeKeyboardHandler = function composeKeyboardHandler(fn) {
|
|
13885
|
+
return noKeyboard ? null : composeHandler(fn);
|
|
13886
|
+
};
|
|
13887
|
+
|
|
13888
|
+
var composeDragHandler = function composeDragHandler(fn) {
|
|
13889
|
+
return noDrag ? null : composeHandler(fn);
|
|
13890
|
+
};
|
|
13891
|
+
|
|
13892
|
+
var stopPropagation = function stopPropagation(event) {
|
|
13893
|
+
if (noDragEventsBubbling) {
|
|
13894
|
+
event.stopPropagation();
|
|
13895
|
+
}
|
|
13896
|
+
};
|
|
13897
|
+
|
|
13898
|
+
var getRootProps = useMemo(function () {
|
|
13899
|
+
return function () {
|
|
13900
|
+
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
13901
|
+
_ref2$refKey = _ref2.refKey,
|
|
13902
|
+
refKey = _ref2$refKey === void 0 ? "ref" : _ref2$refKey,
|
|
13903
|
+
role = _ref2.role,
|
|
13904
|
+
onKeyDown = _ref2.onKeyDown,
|
|
13905
|
+
onFocus = _ref2.onFocus,
|
|
13906
|
+
onBlur = _ref2.onBlur,
|
|
13907
|
+
onClick = _ref2.onClick,
|
|
13908
|
+
onDragEnter = _ref2.onDragEnter,
|
|
13909
|
+
onDragOver = _ref2.onDragOver,
|
|
13910
|
+
onDragLeave = _ref2.onDragLeave,
|
|
13911
|
+
onDrop = _ref2.onDrop,
|
|
13912
|
+
rest = _objectWithoutProperties(_ref2, _excluded3);
|
|
13913
|
+
|
|
13914
|
+
return _objectSpread(_objectSpread(_defineProperty({
|
|
13915
|
+
onKeyDown: composeKeyboardHandler(composeEventHandlers(onKeyDown, onKeyDownCb)),
|
|
13916
|
+
onFocus: composeKeyboardHandler(composeEventHandlers(onFocus, onFocusCb)),
|
|
13917
|
+
onBlur: composeKeyboardHandler(composeEventHandlers(onBlur, onBlurCb)),
|
|
13918
|
+
onClick: composeHandler(composeEventHandlers(onClick, onClickCb)),
|
|
13919
|
+
onDragEnter: composeDragHandler(composeEventHandlers(onDragEnter, onDragEnterCb)),
|
|
13920
|
+
onDragOver: composeDragHandler(composeEventHandlers(onDragOver, onDragOverCb)),
|
|
13921
|
+
onDragLeave: composeDragHandler(composeEventHandlers(onDragLeave, onDragLeaveCb)),
|
|
13922
|
+
onDrop: composeDragHandler(composeEventHandlers(onDrop, onDropCb)),
|
|
13923
|
+
role: typeof role === "string" && role !== "" ? role : "presentation"
|
|
13924
|
+
}, refKey, rootRef), !disabled && !noKeyboard ? {
|
|
13925
|
+
tabIndex: 0
|
|
13926
|
+
} : {}), rest);
|
|
13927
|
+
};
|
|
13928
|
+
}, [rootRef, onKeyDownCb, onFocusCb, onBlurCb, onClickCb, onDragEnterCb, onDragOverCb, onDragLeaveCb, onDropCb, noKeyboard, noDrag, disabled]);
|
|
13929
|
+
var onInputElementClick = useCallback(function (event) {
|
|
13930
|
+
event.stopPropagation();
|
|
13931
|
+
}, []);
|
|
13932
|
+
var getInputProps = useMemo(function () {
|
|
13933
|
+
return function () {
|
|
13934
|
+
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
13935
|
+
_ref3$refKey = _ref3.refKey,
|
|
13936
|
+
refKey = _ref3$refKey === void 0 ? "ref" : _ref3$refKey,
|
|
13937
|
+
onChange = _ref3.onChange,
|
|
13938
|
+
onClick = _ref3.onClick,
|
|
13939
|
+
rest = _objectWithoutProperties(_ref3, _excluded4);
|
|
13940
|
+
|
|
13941
|
+
var inputProps = _defineProperty({
|
|
13942
|
+
accept: acceptAttr,
|
|
13943
|
+
multiple: multiple,
|
|
13944
|
+
type: "file",
|
|
13945
|
+
style: {
|
|
13946
|
+
display: "none"
|
|
13947
|
+
},
|
|
13948
|
+
onChange: composeHandler(composeEventHandlers(onChange, onDropCb)),
|
|
13949
|
+
onClick: composeHandler(composeEventHandlers(onClick, onInputElementClick)),
|
|
13950
|
+
tabIndex: -1
|
|
13951
|
+
}, refKey, inputRef);
|
|
13952
|
+
|
|
13953
|
+
return _objectSpread(_objectSpread({}, inputProps), rest);
|
|
13954
|
+
};
|
|
13955
|
+
}, [inputRef, accept, multiple, onDropCb, disabled]);
|
|
13956
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
13957
|
+
isFocused: isFocused && !disabled,
|
|
13958
|
+
getRootProps: getRootProps,
|
|
13959
|
+
getInputProps: getInputProps,
|
|
13960
|
+
rootRef: rootRef,
|
|
13961
|
+
inputRef: inputRef,
|
|
13962
|
+
open: composeHandler(openFileDialog)
|
|
13963
|
+
});
|
|
13964
|
+
}
|
|
13965
|
+
/**
|
|
13966
|
+
* @param {DropzoneState} state
|
|
13967
|
+
* @param {{type: string} & DropzoneState} action
|
|
13968
|
+
* @returns {DropzoneState}
|
|
13969
|
+
*/
|
|
13970
|
+
|
|
13971
|
+
function reducer(state, action) {
|
|
13972
|
+
/* istanbul ignore next */
|
|
13973
|
+
switch (action.type) {
|
|
13974
|
+
case "focus":
|
|
13975
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
13976
|
+
isFocused: true
|
|
13977
|
+
});
|
|
13978
|
+
|
|
13979
|
+
case "blur":
|
|
13980
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
13981
|
+
isFocused: false
|
|
13982
|
+
});
|
|
13983
|
+
|
|
13984
|
+
case "openDialog":
|
|
13985
|
+
return _objectSpread(_objectSpread({}, initialState), {}, {
|
|
13986
|
+
isFileDialogActive: true
|
|
13987
|
+
});
|
|
13988
|
+
|
|
13989
|
+
case "closeDialog":
|
|
13990
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
13991
|
+
isFileDialogActive: false
|
|
13992
|
+
});
|
|
13993
|
+
|
|
13994
|
+
case "setDraggedFiles":
|
|
13995
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
13996
|
+
isDragActive: action.isDragActive,
|
|
13997
|
+
isDragAccept: action.isDragAccept,
|
|
13998
|
+
isDragReject: action.isDragReject
|
|
13999
|
+
});
|
|
14000
|
+
|
|
14001
|
+
case "setFiles":
|
|
14002
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
14003
|
+
acceptedFiles: action.acceptedFiles,
|
|
14004
|
+
fileRejections: action.fileRejections
|
|
14005
|
+
});
|
|
14006
|
+
|
|
14007
|
+
case "reset":
|
|
14008
|
+
return _objectSpread({}, initialState);
|
|
14009
|
+
|
|
14010
|
+
default:
|
|
14011
|
+
return state;
|
|
14012
|
+
}
|
|
14013
|
+
}
|
|
14014
|
+
|
|
14015
|
+
function noop() {}
|
|
14016
|
+
|
|
14017
|
+
var Container$h = styled.div(templateObject_1$v || (templateObject_1$v = __makeTemplateObject$1(["\n width: 100%;\n min-height: 250px;\n border-width: 2px;\n border-style: dashed;\n border-color: ", ";\n box-sizing: border-box;\n border-radius: 4px;\n background-color: ", ";\n padding: 25px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n"], ["\n width: 100%;\n min-height: 250px;\n border-width: 2px;\n border-style: dashed;\n border-color: ", ";\n box-sizing: border-box;\n border-radius: 4px;\n background-color: ", ";\n padding: 25px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n"])), function (_a) {
|
|
14018
|
+
_a.isDragActive; var isDragAccept = _a.isDragAccept, isDragReject = _a.isDragReject;
|
|
14019
|
+
// if (isDragActive) return theme.colors.blue.base;
|
|
14020
|
+
if (isDragAccept)
|
|
14021
|
+
return theme.colors.green.base;
|
|
14022
|
+
else if (isDragReject)
|
|
14023
|
+
return theme.colors.red.base;
|
|
14024
|
+
else
|
|
14025
|
+
return theme.colors.lightGray.darker;
|
|
14026
|
+
}, function (_a) {
|
|
14027
|
+
_a.isDragActive; var isDragAccept = _a.isDragAccept, isDragReject = _a.isDragReject;
|
|
14028
|
+
// if (isDragActive) return `${theme.colors.blue.light}25`;
|
|
14029
|
+
if (isDragAccept)
|
|
14030
|
+
return "".concat(theme.colors.green.light, "25");
|
|
14031
|
+
else if (isDragReject)
|
|
14032
|
+
return "".concat(theme.colors.red.light, "25");
|
|
14033
|
+
else
|
|
14034
|
+
return theme.colors.lightGray.base;
|
|
14035
|
+
});
|
|
14036
|
+
var templateObject_1$v;
|
|
14037
|
+
|
|
14038
|
+
var FileUpload = function (_a) {
|
|
14039
|
+
var locale = _a.locale, accept = _a.accept, onDrop = _a.onDrop;
|
|
14040
|
+
var _b = useDropzone({
|
|
14041
|
+
onDrop: onDrop,
|
|
14042
|
+
accept: accept,
|
|
14043
|
+
// Max file size: 2MB
|
|
14044
|
+
maxSize: 1048576 * 2,
|
|
14045
|
+
minSize: 0,
|
|
14046
|
+
// Max number of files: 1
|
|
14047
|
+
maxFiles: 1,
|
|
14048
|
+
}), getRootProps = _b.getRootProps, getInputProps = _b.getInputProps, isDragActive = _b.isDragActive, isDragAccept = _b.isDragAccept, isDragReject = _b.isDragReject;
|
|
14049
|
+
return (jsx$1(Fragment$1, { children: jsxs(Container$h, __assign$2({}, getRootProps({
|
|
14050
|
+
isDragActive: isDragActive,
|
|
14051
|
+
isDragAccept: isDragAccept,
|
|
14052
|
+
isDragReject: isDragReject,
|
|
14053
|
+
}), { children: [jsx$1("input", __assign$2({}, getInputProps())), jsx$1(Icon, { type: "file", size: "large" }), jsx$1(Spacer, { vertical: 15 }), !isDragActive && (jsxs(Fragment$1, { children: [jsx$1(Heading, __assign$2({ type: "h6" }, { children: translations[locale]["Drag file(s) here..."] })), jsx$1(Spacer, { vertical: 5 }), jsx$1(Paragraph, { children: translations[locale]["or"] }), jsx$1(Spacer, { vertical: 10 }), jsx$1(Button, { label: translations[locale]["Select file(s)"], size: "small" })] })), isDragActive && !isDragReject && (jsx$1(Heading, __assign$2({ type: "h6" }, { children: translations[locale]["Upload file(s)..."] }))), isDragReject && (jsx$1(Heading, __assign$2({ type: "h6" }, { children: translations[locale]["File type not allowed"] })))] })) }));
|
|
11349
14054
|
};
|
|
11350
14055
|
|
|
11351
14056
|
var StyledIconButton = styled(StyledButton)(templateObject_1$u || (templateObject_1$u = __makeTemplateObject$1(["\n min-width: ", ";\n max-width: ", ";\n min-height: ", ";\n max-height: ", ";\n padding: 2px 0 0 0;\n\n > div:first-child {\n margin-top: -2px;\n }\n\n :active {\n min-height: ", ";\n max-height: ", ";\n margin-top: 2px;\n }\n"], ["\n min-width: ", ";\n max-width: ", ";\n min-height: ", ";\n max-height: ", ";\n padding: 2px 0 0 0;\n\n > div:first-child {\n margin-top: -2px;\n }\n\n :active {\n min-height: ", ";\n max-height: ", ";\n margin-top: 2px;\n }\n"])), function (_a) {
|
|
@@ -11488,7 +14193,7 @@ var Container$e = styled.div(templateObject_1$q || (templateObject_1$q = __makeT
|
|
|
11488
14193
|
});
|
|
11489
14194
|
var templateObject_1$q;
|
|
11490
14195
|
|
|
11491
|
-
var Loading = function (props) { return (jsxs(Container$e, __assign$2({}, props, { children: [jsx$1(_default, { color: theme.colors[props.color].base, speedMultiplier: 0.5 }), props.text && (jsxs(Fragment$1, { children: [jsx$1(Spacer, { vertical: 20 }), jsx$1(Heading, __assign$2({ type: "h6", color: props.textColor || "black" }, { children: props.text }))] }))] }))); };
|
|
14196
|
+
var Loading = function (props) { return (jsxs(Container$e, __assign$2({}, props, { children: [jsx$1(_default$1, { color: theme.colors[props.color].base, speedMultiplier: 0.5 }), props.text && (jsxs(Fragment$1, { children: [jsx$1(Spacer, { vertical: 20 }), jsx$1(Heading, __assign$2({ type: "h6", color: props.textColor || "black" }, { children: props.text }))] }))] }))); };
|
|
11492
14197
|
|
|
11493
14198
|
var Container$d = styled.div(templateObject_1$p || (templateObject_1$p = __makeTemplateObject$1(["\n padding: 15px;\n background-color: ", ";\n border-radius: 6px 6px 0 0;\n position: relative;\n cursor: pointer;\n"], ["\n padding: 15px;\n background-color: ", ";\n border-radius: 6px 6px 0 0;\n position: relative;\n cursor: pointer;\n"])), function (_a) {
|
|
11494
14199
|
var dropdownIsVisible = _a.dropdownIsVisible, color = _a.color;
|
|
@@ -12487,5 +15192,5 @@ var Transfer = function (props) {
|
|
|
12487
15192
|
}) }) }, selectedTargetKeys)] }))] }));
|
|
12488
15193
|
};
|
|
12489
15194
|
|
|
12490
|
-
export { Alert, Button, Card, Checkbox, Checkboxes, Collapse, Countdown, DateInputField, Flag, Form, Heading, Icon, IconButton, Illustration, Input, InputField, Key$1 as Key, Keyboard, Link, Loading, LocaleSelect, Logo, Medal, Medals, Modal, Notification, Number$1 as Number, NumberField, Paragraph, PasswordInputField, Popup, ProgressBar, Radio, RadioGroup, Range, Result, Select, SelectField, Spacer, Steps, Subheading, Table, Tabs, Tag, Toggle, ToggleField, Tooltip, Transfer, Trophy, theme };
|
|
15195
|
+
export { Alert, Button, Card, Checkbox, Checkboxes, Collapse, Countdown, DateInputField, FileUpload, Flag, Form, Heading, Icon, IconButton, Illustration, Input, InputField, Key$1 as Key, Keyboard, Link, Loading, LocaleSelect, Logo, Medal, Medals, Modal, Notification, Number$1 as Number, NumberField, Paragraph, PasswordInputField, Popup, ProgressBar, Radio, RadioGroup, Range, Result, Select, SelectField, Spacer, Steps, Subheading, Table, Tabs, Tag, Toggle, ToggleField, Tooltip, Transfer, Trophy, theme };
|
|
12491
15196
|
//# sourceMappingURL=index.es.js.map
|