@typeolymp/ui-components 1.16.6 → 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/index.js CHANGED
@@ -250,6 +250,23 @@ function __generator(thisArg, body) {
250
250
  }
251
251
  }
252
252
 
253
+ function __read(o, n) {
254
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
255
+ if (!m) return o;
256
+ var i = m.call(o), r, ar = [], e;
257
+ try {
258
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
259
+ }
260
+ catch (error) { e = { error: error }; }
261
+ finally {
262
+ try {
263
+ if (r && !r.done && (m = i["return"])) m.call(i);
264
+ }
265
+ finally { if (e) throw e.error; }
266
+ }
267
+ return ar;
268
+ }
269
+
253
270
  function __spreadArray(to, from, pack) {
254
271
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
255
272
  if (ar || !(i in from)) {
@@ -463,7 +480,7 @@ var from = String.fromCharCode;
463
480
  * @param {object}
464
481
  * @return {object}
465
482
  */
466
- var assign = Object.assign;
483
+ var assign$1 = Object.assign;
467
484
 
468
485
  /**
469
486
  * @param {string} value
@@ -589,7 +606,7 @@ function node$1 (value, root, parent, type, props, children, length) {
589
606
  * @return {object}
590
607
  */
591
608
  function copy (root, props) {
592
- return assign(node$1('', null, null, '', null, null, 0), root, {length: -root.length}, props)
609
+ return assign$1(node$1('', null, null, '', null, null, 0), root, {length: -root.length}, props)
593
610
  }
594
611
 
595
612
  /**
@@ -1978,7 +1995,7 @@ function getStatics(component) {
1978
1995
 
1979
1996
  var defineProperty = Object.defineProperty;
1980
1997
  var getOwnPropertyNames = Object.getOwnPropertyNames;
1981
- var getOwnPropertySymbols = Object.getOwnPropertySymbols;
1998
+ var getOwnPropertySymbols$1 = Object.getOwnPropertySymbols;
1982
1999
  var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
1983
2000
  var getPrototypeOf = Object.getPrototypeOf;
1984
2001
  var objectPrototype = Object.prototype;
@@ -1995,8 +2012,8 @@ function hoistNonReactStatics$2(targetComponent, sourceComponent, blacklist) {
1995
2012
 
1996
2013
  var keys = getOwnPropertyNames(sourceComponent);
1997
2014
 
1998
- if (getOwnPropertySymbols) {
1999
- keys = keys.concat(getOwnPropertySymbols(sourceComponent));
2015
+ if (getOwnPropertySymbols$1) {
2016
+ keys = keys.concat(getOwnPropertySymbols$1(sourceComponent));
2000
2017
  }
2001
2018
 
2002
2019
  var targetStatics = getStatics(targetComponent);
@@ -2508,7 +2525,7 @@ var useInsertionEffectAlwaysWithSyncFallback = !isBrowser$2 ? syncFallback : use
2508
2525
  var useInsertionEffectWithLayoutFallback = useInsertionEffect || React$3.useLayoutEffect;
2509
2526
 
2510
2527
  var isBrowser$1 = typeof document !== 'undefined';
2511
- var hasOwnProperty = {}.hasOwnProperty;
2528
+ var hasOwnProperty$1 = {}.hasOwnProperty;
2512
2529
 
2513
2530
  var EmotionCacheContext = /* #__PURE__ */React$3.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case
2514
2531
  // because this module is primarily intended for the browser and node
@@ -2677,7 +2694,7 @@ var createEmotionProps = function createEmotionProps(type, props) {
2677
2694
  var newProps = {};
2678
2695
 
2679
2696
  for (var key in props) {
2680
- if (hasOwnProperty.call(props, key)) {
2697
+ if (hasOwnProperty$1.call(props, key)) {
2681
2698
  newProps[key] = props[key];
2682
2699
  }
2683
2700
  }
@@ -2754,7 +2771,7 @@ var Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {
2754
2771
  var newProps = {};
2755
2772
 
2756
2773
  for (var key in props) {
2757
- if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {
2774
+ if (hasOwnProperty$1.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {
2758
2775
  newProps[key] = props[key];
2759
2776
  }
2760
2777
  }
@@ -2893,7 +2910,7 @@ var pkg = {
2893
2910
  var jsx = function jsx(type, props) {
2894
2911
  var args = arguments;
2895
2912
 
2896
- if (props == null || !hasOwnProperty.call(props, 'css')) {
2913
+ if (props == null || !hasOwnProperty$1.call(props, 'css')) {
2897
2914
  // $FlowFixMe
2898
2915
  return React$3.createElement.apply(undefined, args);
2899
2916
  }
@@ -3441,7 +3458,7 @@ Object.defineProperty(BeatLoader, "__esModule", { value: true });
3441
3458
  var React$2 = __importStar$2(React__default["default"]);
3442
3459
  var react_1 = require$$1;
3443
3460
  var helpers_1 = helpers$1;
3444
- var beat = react_1.keyframes(templateObject_1$T || (templateObject_1$T = __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"])));
3461
+ 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"])));
3445
3462
  var Loader = /** @class */ (function (_super) {
3446
3463
  __extends$1(Loader, _super);
3447
3464
  function Loader() {
@@ -3462,10 +3479,10 @@ var Loader = /** @class */ (function (_super) {
3462
3479
  Loader.defaultProps = helpers_1.sizeMarginDefaults(15);
3463
3480
  return Loader;
3464
3481
  }(React$2.PureComponent));
3465
- var _default = BeatLoader.default = Loader;
3466
- var templateObject_1$T, templateObject_2$z;
3482
+ var _default$1 = BeatLoader.default = Loader;
3483
+ var templateObject_1$U, templateObject_2$z;
3467
3484
 
3468
- var StyledButton = styled__default["default"].button(templateObject_1$S || (templateObject_1$S = __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) {
3485
+ var StyledButton = styled__default["default"].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) {
3469
3486
  var fluid = _a.fluid;
3470
3487
  return (fluid ? "100%" : "fit-content");
3471
3488
  }, function (_a) {
@@ -3546,7 +3563,7 @@ var LoaderWrapper = styled__default["default"].div(templateObject_4$8 || (templa
3546
3563
  var size = _a.size;
3547
3564
  return (size === "small" ? "3px" : "");
3548
3565
  });
3549
- var templateObject_1$S, templateObject_2$y, templateObject_3$c, templateObject_4$8;
3566
+ var templateObject_1$T, templateObject_2$y, templateObject_3$c, templateObject_4$8;
3550
3567
 
3551
3568
  var Button = React$3.forwardRef(function (_a, ref) {
3552
3569
  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"]);
@@ -3574,7 +3591,7 @@ var Button = React$3.forwardRef(function (_a, ref) {
3574
3591
  var width = ((_b = buttonRef.current) === null || _b === void 0 ? void 0 : _b.clientWidth) - 40;
3575
3592
  if (dark)
3576
3593
  width = width + 4;
3577
- return (jsxRuntime.jsx(LoaderWrapper, __assign$2({ width: width, size: size }, { children: jsxRuntime.jsx(_default, { size: 10, color: dark
3594
+ return (jsxRuntime.jsx(LoaderWrapper, __assign$2({ width: width, size: size }, { children: jsxRuntime.jsx(_default$1, { size: 10, color: dark
3578
3595
  ? theme.colors.lightGray.darker
3579
3596
  : theme.colors.lightGray.light, speedMultiplier: 0.5 }) })));
3580
3597
  };
@@ -3586,7 +3603,7 @@ var Button = React$3.forwardRef(function (_a, ref) {
3586
3603
  return (jsxRuntime.jsx(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 ? jsxRuntime.jsx(Loader, {}) : jsxRuntime.jsx("span", { children: label }) })));
3587
3604
  });
3588
3605
 
3589
- var StyledCheckbox = styled__default["default"].div(templateObject_1$R || (templateObject_1$R = __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) {
3606
+ var StyledCheckbox = styled__default["default"].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) {
3590
3607
  var checked = _a.checked, disabled = _a.disabled;
3591
3608
  if (disabled)
3592
3609
  return theme.colors.lightGray.darker;
@@ -3607,7 +3624,7 @@ var StyledCheckbox = styled__default["default"].div(templateObject_1$R || (templ
3607
3624
  return theme.colors.green.base;
3608
3625
  return theme.colors.lightGray.darker;
3609
3626
  }, theme.colors.blue.dark, "0 0 0 1px ".concat(theme.colors.blue.dark));
3610
- var templateObject_1$R;
3627
+ var templateObject_1$S;
3611
3628
 
3612
3629
  var Checkbox = function (props) {
3613
3630
  var _a;
@@ -3640,7 +3657,7 @@ var Checkbox = function (props) {
3640
3657
  return (jsxRuntime.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 && (jsxRuntime.jsx("svg", __assign$2({ width: 16, height: 12, viewBox: "0 0 16 12", fill: "none" }, { children: jsxRuntime.jsx("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" }) }))), jsxRuntime.jsx("input", { type: "checkbox", disabled: !!props.disabled, id: props.id, name: props.name, value: props.value, ref: inputRef })] })));
3641
3658
  };
3642
3659
 
3643
- var Wrapper$a = styled__default["default"].div(templateObject_1$Q || (templateObject_1$Q = __makeTemplateObject$1(["\n width: ", ";\n height: ", ";\n"], ["\n width: ", ";\n height: ", ";\n"])), function (_a) {
3660
+ var Wrapper$a = styled__default["default"].div(templateObject_1$R || (templateObject_1$R = __makeTemplateObject$1(["\n width: ", ";\n height: ", ";\n"], ["\n width: ", ";\n height: ", ";\n"])), function (_a) {
3644
3661
  var size = _a.size;
3645
3662
  switch (size) {
3646
3663
  case "small":
@@ -3663,7 +3680,7 @@ var Wrapper$a = styled__default["default"].div(templateObject_1$Q || (templateOb
3663
3680
  return "27px";
3664
3681
  }
3665
3682
  });
3666
- var templateObject_1$Q;
3683
+ var templateObject_1$R;
3667
3684
 
3668
3685
  var parsers = {};
3669
3686
 
@@ -3671,6 +3688,48 @@ var getCountryByLocale$1 = {};
3671
3688
 
3672
3689
  var enums = {};
3673
3690
 
3691
+ var AccountType = {};
3692
+
3693
+ (function (exports) {
3694
+ Object.defineProperty(exports, "__esModule", { value: true });
3695
+ exports.AccountType = void 0;
3696
+ (function (AccountType) {
3697
+ AccountType["STUDENT"] = "student";
3698
+ AccountType["PARENT"] = "parent";
3699
+ AccountType["TUTOR"] = "tutor";
3700
+ })(exports.AccountType || (exports.AccountType = {}));
3701
+
3702
+ }(AccountType));
3703
+
3704
+ var AchievementType = {};
3705
+
3706
+ (function (exports) {
3707
+ Object.defineProperty(exports, "__esModule", { value: true });
3708
+ exports.AchievementType = void 0;
3709
+ (function (AchievementType) {
3710
+ AchievementType["PRACTICE_TIME"] = "practiceTime";
3711
+ AchievementType["PRACTICE_STREAK"] = "practiceStreak";
3712
+ AchievementType["MEDALS"] = "medals";
3713
+ })(exports.AchievementType || (exports.AchievementType = {}));
3714
+
3715
+ }(AchievementType));
3716
+
3717
+ var ChartDataType = {};
3718
+
3719
+ (function (exports) {
3720
+ Object.defineProperty(exports, "__esModule", { value: true });
3721
+ exports.ChartDataType = void 0;
3722
+ (function (ChartDataType) {
3723
+ ChartDataType["PROGRESS"] = "progress";
3724
+ ChartDataType["TIME_PRACTISED"] = "timePractised";
3725
+ ChartDataType["RESULTS"] = "results";
3726
+ ChartDataType["HITS"] = "hits";
3727
+ ChartDataType["KPM"] = "kpm";
3728
+ ChartDataType["ACCURACY"] = "accuracy";
3729
+ })(exports.ChartDataType || (exports.ChartDataType = {}));
3730
+
3731
+ }(ChartDataType));
3732
+
3674
3733
  var Color = {};
3675
3734
 
3676
3735
  (function (exports) {
@@ -3714,6 +3773,69 @@ exports.CourseTranslation = void 0;
3714
3773
 
3715
3774
  }(CourseTranslation));
3716
3775
 
3776
+ var Currency = {};
3777
+
3778
+ (function (exports) {
3779
+ Object.defineProperty(exports, "__esModule", { value: true });
3780
+ exports.Currency = void 0;
3781
+ (function (Currency) {
3782
+ Currency["EUR"] = "EUR";
3783
+ Currency["GBP"] = "GBP";
3784
+ Currency["USD"] = "USD";
3785
+ })(exports.Currency || (exports.Currency = {}));
3786
+
3787
+ }(Currency));
3788
+
3789
+ var ExerciseType = {};
3790
+
3791
+ (function (exports) {
3792
+ Object.defineProperty(exports, "__esModule", { value: true });
3793
+ exports.ExerciseType = void 0;
3794
+ (function (ExerciseType) {
3795
+ ExerciseType["KEYS"] = "keys";
3796
+ ExerciseType["DRILLS"] = "drills";
3797
+ ExerciseType["WORDS"] = "words";
3798
+ ExerciseType["TEXT"] = "text";
3799
+ })(exports.ExerciseType || (exports.ExerciseType = {}));
3800
+
3801
+ }(ExerciseType));
3802
+
3803
+ var HttpStatus = {};
3804
+
3805
+ (function (exports) {
3806
+ Object.defineProperty(exports, "__esModule", { value: true });
3807
+ exports.HttpStatusText = exports.HttpStatusCode = void 0;
3808
+ (function (HttpStatusCode) {
3809
+ // 2xx Success
3810
+ HttpStatusCode[HttpStatusCode["OK"] = 200] = "OK";
3811
+ HttpStatusCode[HttpStatusCode["CREATED"] = 201] = "CREATED";
3812
+ // 4xx Client Errors
3813
+ HttpStatusCode[HttpStatusCode["BAD_REQUEST"] = 400] = "BAD_REQUEST";
3814
+ HttpStatusCode[HttpStatusCode["UNAUTHORIZED"] = 401] = "UNAUTHORIZED";
3815
+ HttpStatusCode[HttpStatusCode["FORBIDDEN"] = 403] = "FORBIDDEN";
3816
+ HttpStatusCode[HttpStatusCode["NOT_FOUND"] = 404] = "NOT_FOUND";
3817
+ HttpStatusCode[HttpStatusCode["CONFLICT"] = 409] = "CONFLICT";
3818
+ // 5xx Server Errors
3819
+ HttpStatusCode[HttpStatusCode["INTERNAL_SERVER_ERROR"] = 500] = "INTERNAL_SERVER_ERROR";
3820
+ HttpStatusCode[HttpStatusCode["NOT_IMPLEMENTED"] = 501] = "NOT_IMPLEMENTED";
3821
+ })(exports.HttpStatusCode || (exports.HttpStatusCode = {}));
3822
+ (function (HttpStatusText) {
3823
+ // 2xx Success
3824
+ HttpStatusText["OK"] = "OK";
3825
+ HttpStatusText["CREATED"] = "Created";
3826
+ // 4xx Client Errors
3827
+ HttpStatusText["BAD_REQUEST"] = "Bad Request";
3828
+ HttpStatusText["UNAUTHORIZED"] = "Unauthorized";
3829
+ HttpStatusText["FORBIDDEN"] = "Forbidden";
3830
+ HttpStatusText["NOT_FOUND"] = "Not Found";
3831
+ HttpStatusText["CONFLICT"] = "Conflict";
3832
+ // 5xx Server Errors
3833
+ HttpStatusText["INTERNAL_SERVER_ERROR"] = "Internal Server Error";
3834
+ HttpStatusText["NOT_IMPLEMENTED"] = "Not Implemented";
3835
+ })(exports.HttpStatusText || (exports.HttpStatusText = {}));
3836
+
3837
+ }(HttpStatus));
3838
+
3717
3839
  var KeyboardLayout = {};
3718
3840
 
3719
3841
  (function (exports) {
@@ -3747,6 +3869,32 @@ exports.Locale = void 0;
3747
3869
 
3748
3870
  }(Locale));
3749
3871
 
3872
+ var Medal$1 = {};
3873
+
3874
+ (function (exports) {
3875
+ Object.defineProperty(exports, "__esModule", { value: true });
3876
+ exports.Medal = void 0;
3877
+ (function (Medal) {
3878
+ Medal["GOLD"] = "gold";
3879
+ Medal["SILVER"] = "silver";
3880
+ Medal["BRONZE"] = "bronze";
3881
+ })(exports.Medal || (exports.Medal = {}));
3882
+
3883
+ }(Medal$1));
3884
+
3885
+ var NodeEnv = {};
3886
+
3887
+ (function (exports) {
3888
+ Object.defineProperty(exports, "__esModule", { value: true });
3889
+ exports.NodeEnv = void 0;
3890
+ (function (NodeEnv) {
3891
+ NodeEnv["TEST"] = "test";
3892
+ NodeEnv["DEVELOPMENT"] = "development";
3893
+ NodeEnv["PRODUCTION"] = "production";
3894
+ })(exports.NodeEnv || (exports.NodeEnv = {}));
3895
+
3896
+ }(NodeEnv));
3897
+
3750
3898
  var Plan = {};
3751
3899
 
3752
3900
  (function (exports) {
@@ -3778,19 +3926,6 @@ exports.TextTopic = void 0;
3778
3926
 
3779
3927
  }(TextTopic));
3780
3928
 
3781
- var Medal$1 = {};
3782
-
3783
- (function (exports) {
3784
- Object.defineProperty(exports, "__esModule", { value: true });
3785
- exports.Medal = void 0;
3786
- (function (Medal) {
3787
- Medal["GOLD"] = "gold";
3788
- Medal["SILVER"] = "silver";
3789
- Medal["BRONZE"] = "bronze";
3790
- })(exports.Medal || (exports.Medal = {}));
3791
-
3792
- }(Medal$1));
3793
-
3794
3929
  (function (exports) {
3795
3930
  var __createBinding = (commonjsGlobal && commonjsGlobal.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3796
3931
  if (k2 === undefined) k2 = k;
@@ -3807,14 +3942,21 @@ var __exportStar = (commonjsGlobal && commonjsGlobal.__exportStar) || function(m
3807
3942
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
3808
3943
  };
3809
3944
  Object.defineProperty(exports, "__esModule", { value: true });
3945
+ __exportStar(AccountType, exports);
3946
+ __exportStar(AchievementType, exports);
3947
+ __exportStar(ChartDataType, exports);
3810
3948
  __exportStar(Color, exports);
3811
3949
  __exportStar(Country, exports);
3812
3950
  __exportStar(CourseTranslation, exports);
3951
+ __exportStar(Currency, exports);
3952
+ __exportStar(ExerciseType, exports);
3953
+ __exportStar(HttpStatus, exports);
3813
3954
  __exportStar(KeyboardLayout, exports);
3814
3955
  __exportStar(Locale, exports);
3956
+ __exportStar(Medal$1, exports);
3957
+ __exportStar(NodeEnv, exports);
3815
3958
  __exportStar(Plan, exports);
3816
3959
  __exportStar(TextTopic, exports);
3817
- __exportStar(Medal$1, exports);
3818
3960
 
3819
3961
  }(enums));
3820
3962
 
@@ -3934,7 +4076,7 @@ var flags = {
3934
4076
  };
3935
4077
  var Flag = function (props) { return (jsxRuntime.jsx(Wrapper$a, __assign$2({}, props, { children: flags[parsers.getCountryCodeByLocale(props.locale)] }))); };
3936
4078
 
3937
- var StyledHeading = styled__default["default"].span(templateObject_1$P || (templateObject_1$P = __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) {
4079
+ var StyledHeading = styled__default["default"].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) {
3938
4080
  var type = _a.type;
3939
4081
  return theme.heading[type].fontSize;
3940
4082
  }, function (_a) {
@@ -3958,14 +4100,14 @@ var StyledHeading = styled__default["default"].span(templateObject_1$P || (templ
3958
4100
  var align = _a.align;
3959
4101
  return align;
3960
4102
  });
3961
- var templateObject_1$P;
4103
+ var templateObject_1$Q;
3962
4104
 
3963
4105
  var Heading = function (props) {
3964
4106
  var element = !!props.as ? props.as : props.type;
3965
4107
  return (jsxRuntime.jsx(StyledHeading, __assign$2({}, props, { as: element }, { children: props.children })));
3966
4108
  };
3967
4109
 
3968
- var Wrapper$9 = styled__default["default"].div(templateObject_1$O || (templateObject_1$O = __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) {
4110
+ var Wrapper$9 = styled__default["default"].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) {
3969
4111
  var size = _a.size;
3970
4112
  return theme.icon[size] || theme.icon.medium;
3971
4113
  }, function (_a) {
@@ -3998,7 +4140,9 @@ var Wrapper$9 = styled__default["default"].div(templateObject_1$O || (templateOb
3998
4140
  var onClick = _a.onClick;
3999
4141
  return (onClick ? "pointer" : "default");
4000
4142
  }, function (_a) {
4001
- var color = _a.color;
4143
+ var color = _a.color, onClick = _a.onClick;
4144
+ if (!onClick)
4145
+ return;
4002
4146
  switch (color) {
4003
4147
  default:
4004
4148
  case "gray":
@@ -4021,7 +4165,7 @@ var Wrapper$9 = styled__default["default"].div(templateObject_1$O || (templateOb
4021
4165
  return theme.colors.lightGray.base;
4022
4166
  }
4023
4167
  });
4024
- var templateObject_1$O;
4168
+ var templateObject_1$P;
4025
4169
 
4026
4170
  var icons = {
4027
4171
  check: (jsxRuntime.jsx("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" })),
@@ -4052,10 +4196,11 @@ var icons = {
4052
4196
  thunder: (jsxRuntime.jsx("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" })),
4053
4197
  fire: (jsxRuntime.jsx("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" })),
4054
4198
  control: (jsxRuntime.jsx("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" })),
4199
+ file: (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("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" }), jsxRuntime.jsx("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" })] })),
4055
4200
  };
4056
4201
  var Icon = function (props) { return (jsxRuntime.jsx(Wrapper$9, __assign$2({}, props, { children: jsxRuntime.jsx("svg", __assign$2({ viewBox: "0 0 24 24", fill: "none" }, { children: icons[props.type] })) }))); };
4057
4202
 
4058
- var Wrapper$8 = styled__default["default"].div(templateObject_1$N || (templateObject_1$N = __makeTemplateObject$1(["\n > svg {\n height: ", ";\n }\n"], ["\n > svg {\n height: ", ";\n }\n"])), function (_a) {
4203
+ var Wrapper$8 = styled__default["default"].div(templateObject_1$O || (templateObject_1$O = __makeTemplateObject$1(["\n > svg {\n height: ", ";\n }\n"], ["\n > svg {\n height: ", ";\n }\n"])), function (_a) {
4059
4204
  var size = _a.size;
4060
4205
  switch (size) {
4061
4206
  case "tiny":
@@ -4069,7 +4214,7 @@ var Wrapper$8 = styled__default["default"].div(templateObject_1$N || (templateOb
4069
4214
  return "118px";
4070
4215
  }
4071
4216
  });
4072
- var templateObject_1$N;
4217
+ var templateObject_1$O;
4073
4218
 
4074
4219
  var illustrations = {
4075
4220
  keyboard: (jsxRuntime.jsxs("svg", __assign$2({ viewBox: "0 0 32.9 20.8" }, { children: [jsxRuntime.jsx("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" }), jsxRuntime.jsx("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" }), jsxRuntime.jsx("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" }), jsxRuntime.jsx("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" }), jsxRuntime.jsx("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" }), jsxRuntime.jsx("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" })] }))),
@@ -4090,7 +4235,7 @@ var illustrations = {
4090
4235
  };
4091
4236
  var Illustration = function (props) { return (jsxRuntime.jsx(Wrapper$8, __assign$2({}, props, { children: illustrations[props.type] }))); };
4092
4237
 
4093
- var StyledParagraph = styled__default["default"].p(templateObject_1$M || (templateObject_1$M = __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) {
4238
+ var StyledParagraph = styled__default["default"].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) {
4094
4239
  var size = _a.size;
4095
4240
  return size ? theme.paragraph[size].fontSize : theme.paragraph.medium.fontSize;
4096
4241
  }, function (_a) {
@@ -4125,9 +4270,9 @@ var StyledParagraph = styled__default["default"].p(templateObject_1$M || (templa
4125
4270
  var transform = _a.transform;
4126
4271
  return transform;
4127
4272
  });
4128
- var templateObject_1$M;
4273
+ var templateObject_1$N;
4129
4274
 
4130
- var Container$m = styled__default["default"].div(templateObject_1$L || (templateObject_1$L = __makeTemplateObject$1(["\n width: 100%;\n"], ["\n width: 100%;\n"])));
4275
+ var Container$n = styled__default["default"].div(templateObject_1$M || (templateObject_1$M = __makeTemplateObject$1(["\n width: 100%;\n"], ["\n width: 100%;\n"])));
4131
4276
  var InputIconWrapper = styled__default["default"].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) {
4132
4277
  var isChanged = _a.isChanged;
4133
4278
  return !isChanged ? theme.colors.lightGray.darker : "";
@@ -4154,7 +4299,7 @@ var Helper = styled__default["default"](StyledParagraph)(templateObject_6$3 || (
4154
4299
  var isOk = _a.isOk;
4155
4300
  return isOk ? theme.colors.green.base : theme.colors.darkGray.light;
4156
4301
  }, fadeIn);
4157
- var templateObject_1$L, templateObject_2$x, templateObject_3$b, templateObject_4$7, templateObject_5$3, templateObject_6$3;
4302
+ var templateObject_1$M, templateObject_2$x, templateObject_3$b, templateObject_4$7, templateObject_5$3, templateObject_6$3;
4158
4303
 
4159
4304
  var expressions = {};
4160
4305
 
@@ -4250,24 +4395,30 @@ __exportStar(isStrongPassword$1, exports);
4250
4395
  }(expressions));
4251
4396
 
4252
4397
  var password_helper_capital_letter = "Minimaal 1 hoofdletter";
4253
- var password_helper_number = "Minimaal 1 getal";
4398
+ var password_helper_number = "Minimaal 1 cijfer";
4254
4399
  var password_helper_special_character = "Minimaal 1 leesteken";
4255
4400
  var password_helper_password_length = "Minimaal 8 karakters";
4401
+ var or = "of";
4256
4402
  var nl_NL = {
4257
4403
  password_helper_capital_letter: password_helper_capital_letter,
4258
4404
  password_helper_number: password_helper_number,
4259
4405
  password_helper_special_character: password_helper_special_character,
4260
- password_helper_password_length: password_helper_password_length
4261
- };
4262
-
4263
- var translations = {
4264
- "nl-NL": nl_NL,
4265
- "nl-BE": nl_NL,
4266
- // "en-GB": en_GB,
4267
- // "fr-FR": fr_FR,
4268
- // "fr-BE": fr_FR,
4269
- // "de-DE": de_DE,
4270
- };
4406
+ password_helper_password_length: password_helper_password_length,
4407
+ "Drag file(s) here...": "Bestand(en) hierheen slepen...",
4408
+ or: or,
4409
+ "Select file(s)": "Bestand(en) kiezen",
4410
+ "Upload file(s)...": "Bestand(en) uploaden...",
4411
+ "File type not allowed": "Bestandstype niet toegestaan"
4412
+ };
4413
+
4414
+ var _a;
4415
+ // import en_GB from "./en-gb.json";
4416
+ // import fr_FR from "./fr-fr.json";
4417
+ // import de_DE from "./de-de.json";
4418
+ var translations = (_a = {},
4419
+ _a[enums.Locale.NL_NL] = nl_NL,
4420
+ _a[enums.Locale.NL_BE] = nl_NL,
4421
+ _a);
4271
4422
 
4272
4423
  var PasswordInput = function (props) {
4273
4424
  var _a = React$3.useState(props.defaultValue || ""), value = _a[0], setValue = _a[1];
@@ -4285,7 +4436,7 @@ var PasswordInput = function (props) {
4285
4436
  if (props.onKeyPress)
4286
4437
  props.onKeyPress(e);
4287
4438
  };
4288
- return (jsxRuntime.jsxs(Container$m, { children: [jsxRuntime.jsxs(InputIconWrapper, __assign$2({ disabled: props.disabled }, { children: [jsxRuntime.jsx(Icon, { type: isVisible ? "eyeInvisible" : "eye", color: "gray", size: "small", onClick: toggle }), jsxRuntime.jsx(StyledInput, __assign$2({ type: isVisible ? "text" : "password" }, props, { onChange: onChange, onKeyPress: onKeyPress }))] })), props.helperLocale && value.length ? (jsxRuntime.jsxs(HelperContainer, { children: [jsxRuntime.jsxs(Helper, __assign$2({ isOk: expressions.hasCapitalLetter(value) }, { children: ["\u2022 ", translations[props.helperLocale].password_helper_capital_letter] })), jsxRuntime.jsxs(Helper, __assign$2({ isOk: expressions.hasNumber(value) }, { children: ["\u2022 ", translations[props.helperLocale].password_helper_number] })), jsxRuntime.jsxs(Helper, __assign$2({ isOk: expressions.hasSpecialCharacter(value) }, { children: ["\u2022 ", translations[props.helperLocale].password_helper_special_character] })), jsxRuntime.jsxs(Helper, __assign$2({ isOk: value.length >= 8 }, { children: ["\u2022 ", translations[props.helperLocale].password_helper_password_length] }))] })) : null] }));
4439
+ return (jsxRuntime.jsxs(Container$n, { children: [jsxRuntime.jsxs(InputIconWrapper, __assign$2({ disabled: props.disabled }, { children: [jsxRuntime.jsx(Icon, { type: isVisible ? "eyeInvisible" : "eye", color: "gray", size: "small", onClick: toggle }), jsxRuntime.jsx(StyledInput, __assign$2({ type: isVisible ? "text" : "password" }, props, { onChange: onChange, onKeyPress: onKeyPress }))] })), props.helperLocale && value.length ? (jsxRuntime.jsxs(HelperContainer, { children: [jsxRuntime.jsxs(Helper, __assign$2({ isOk: expressions.hasCapitalLetter(value) }, { children: ["\u2022 ", translations[props.helperLocale].password_helper_capital_letter] })), jsxRuntime.jsxs(Helper, __assign$2({ isOk: expressions.hasNumber(value) }, { children: ["\u2022 ", translations[props.helperLocale].password_helper_number] })), jsxRuntime.jsxs(Helper, __assign$2({ isOk: expressions.hasSpecialCharacter(value) }, { children: ["\u2022 ", translations[props.helperLocale].password_helper_special_character] })), jsxRuntime.jsxs(Helper, __assign$2({ isOk: value.length >= 8 }, { children: ["\u2022 ", translations[props.helperLocale].password_helper_password_length] }))] })) : null] }));
4289
4440
  };
4290
4441
 
4291
4442
  function requiredArgs(required, args) {
@@ -4619,7 +4770,7 @@ Input.Date = DateInput;
4619
4770
 
4620
4771
  var Logo = function (props) { return (jsxRuntime.jsxs("svg", __assign$2({ width: 396, height: 66, viewBox: "0 0 662.8 118.1", fill: "none", xmlSpace: "preserve" }, props, { children: [jsxRuntime.jsxs("g", { children: [jsxRuntime.jsx("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" }), jsxRuntime.jsx("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" }), jsxRuntime.jsx("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" }), jsxRuntime.jsx("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" }), jsxRuntime.jsx("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" })] }), jsxRuntime.jsxs("g", __assign$2({ fill: "#23292f" }, { children: [jsxRuntime.jsx("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" }), jsxRuntime.jsx("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" })] }))] }))); };
4621
4772
 
4622
- var Wrapper$7 = styled__default["default"].div(templateObject_1$K || (templateObject_1$K = __makeTemplateObject$1(["\n width: ", ";\n"], ["\n width: ", ";\n"])), function (_a) {
4773
+ var Wrapper$7 = styled__default["default"].div(templateObject_1$L || (templateObject_1$L = __makeTemplateObject$1(["\n width: ", ";\n"], ["\n width: ", ";\n"])), function (_a) {
4623
4774
  var size = _a.size;
4624
4775
  switch (size) {
4625
4776
  default:
@@ -4629,7 +4780,7 @@ var Wrapper$7 = styled__default["default"].div(templateObject_1$K || (templateOb
4629
4780
  return "116px";
4630
4781
  }
4631
4782
  });
4632
- var templateObject_1$K;
4783
+ var templateObject_1$L;
4633
4784
 
4634
4785
  var medals = {
4635
4786
  small: {
@@ -4645,7 +4796,7 @@ var medals = {
4645
4796
  };
4646
4797
  var Medal = function (props) { return (jsxRuntime.jsx(Wrapper$7, __assign$2({}, props, { children: medals[props.size || "small"][props.type] }))); };
4647
4798
 
4648
- var Wrapper$6 = styled__default["default"].div(templateObject_1$J || (templateObject_1$J = __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) {
4799
+ var Wrapper$6 = styled__default["default"].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) {
4649
4800
  var disabled = _a.disabled;
4650
4801
  return (disabled ? "49.5px" : "");
4651
4802
  });
@@ -4662,7 +4813,7 @@ var StyledInputNumber = styled__default["default"].input(templateObject_2$w || (
4662
4813
  var disabled = _a.disabled;
4663
4814
  return disabled ? theme.colors.darkGray.light : theme.colors.darkGray.base;
4664
4815
  }, theme.colors.blue.dark, "0 0 0 1px ".concat(theme.colors.blue.dark));
4665
- var templateObject_1$J, templateObject_2$w;
4816
+ var templateObject_1$K, templateObject_2$w;
4666
4817
 
4667
4818
  var Number$1 = function (props) {
4668
4819
  var inputRef = React$3.useRef(null);
@@ -4701,7 +4852,7 @@ var Number$1 = function (props) {
4701
4852
 
4702
4853
  var Paragraph = function (props) { return (jsxRuntime.jsx(StyledParagraph, __assign$2({}, props, { children: props.children }))); };
4703
4854
 
4704
- var StyledRadio = styled__default["default"].div(templateObject_1$I || (templateObject_1$I = __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) {
4855
+ var StyledRadio = styled__default["default"].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) {
4705
4856
  var checked = _a.checked, disabled = _a.disabled;
4706
4857
  if (disabled)
4707
4858
  return theme.colors.lightGray.darker;
@@ -4729,7 +4880,7 @@ var StyledRadio = styled__default["default"].div(templateObject_1$I || (template
4729
4880
  return theme.colors.green.base;
4730
4881
  return "";
4731
4882
  }, theme.colors.blue.dark, "0 0 0 1px ".concat(theme.colors.blue.dark));
4732
- var templateObject_1$I;
4883
+ var templateObject_1$J;
4733
4884
 
4734
4885
  var Radio = function (props) {
4735
4886
  var _a, _b;
@@ -4761,7 +4912,7 @@ var Radio = function (props) {
4761
4912
  return (jsxRuntime.jsx(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: jsxRuntime.jsx("input", { type: "radio", disabled: !!props.disabled, id: props.id, name: props.name, value: props.value, ref: inputRef }) })));
4762
4913
  };
4763
4914
 
4764
- var StyledRange = styled__default["default"].div(templateObject_1$H || (templateObject_1$H = __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) {
4915
+ var StyledRange = styled__default["default"].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) {
4765
4916
  var value = _a.value, disabled = _a.disabled;
4766
4917
  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 )");
4767
4918
  }, function () { return theme.colors.lightGray.light; }, function (_a) {
@@ -4771,7 +4922,7 @@ var StyledRange = styled__default["default"].div(templateObject_1$H || (template
4771
4922
  var disabled = _a.disabled;
4772
4923
  return disabled ? "not-allowed" : "pointer";
4773
4924
  });
4774
- var templateObject_1$H;
4925
+ var templateObject_1$I;
4775
4926
 
4776
4927
  var Range = function (props) {
4777
4928
  var _a;
@@ -4800,7 +4951,7 @@ var Range = function (props) {
4800
4951
  return (jsxRuntime.jsx(StyledRange, __assign$2({ value: value, disabled: props.disabled }, { children: jsxRuntime.jsx("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 }) })));
4801
4952
  };
4802
4953
 
4803
- var Wrapper$5 = styled__default["default"].div(templateObject_1$G || (templateObject_1$G = __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) {
4954
+ var Wrapper$5 = styled__default["default"].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) {
4804
4955
  var disabled = _a.disabled;
4805
4956
  return (disabled ? "not-allowed" : "pointer");
4806
4957
  });
@@ -4817,7 +4968,7 @@ var StyledSelect = styled__default["default"].select(templateObject_2$v || (temp
4817
4968
  var isChanged = _a.isChanged;
4818
4969
  return isChanged ? theme.colors.darkGray.base : theme.colors.lightGray.darker;
4819
4970
  }, theme.colors.blue.dark, "0 0 0 1px ".concat(theme.colors.blue.dark));
4820
- var templateObject_1$G, templateObject_2$v;
4971
+ var templateObject_1$H, templateObject_2$v;
4821
4972
 
4822
4973
  var Select = function (props) {
4823
4974
  var _a;
@@ -4839,18 +4990,18 @@ var Select = function (props) {
4839
4990
  return (jsxRuntime.jsxs(Wrapper$5, { children: [jsxRuntime.jsx(Icon, { type: "chevronDown", color: "gray", size: "small" }), jsxRuntime.jsxs(StyledSelect, __assign$2({}, props, { onChange: onChange, isChanged: isChanged || props.defaultValue, ref: inputRef }, { children: [props.placeholder && jsxRuntime.jsx("option", __assign$2({ hidden: true }, { children: props.placeholder })), props.children] }))] }));
4840
4991
  };
4841
4992
 
4842
- var StyledSpacer = styled__default["default"].div(templateObject_1$F || (templateObject_1$F = __makeTemplateObject$1(["\n width: ", ";\n height: ", ";\n"], ["\n width: ", ";\n height: ", ";\n"])), function (_a) {
4993
+ var StyledSpacer = styled__default["default"].div(templateObject_1$G || (templateObject_1$G = __makeTemplateObject$1(["\n width: ", ";\n height: ", ";\n"], ["\n width: ", ";\n height: ", ";\n"])), function (_a) {
4843
4994
  var horizontal = _a.horizontal;
4844
4995
  return (horizontal ? "".concat(horizontal, "px") : "");
4845
4996
  }, function (_a) {
4846
4997
  var vertical = _a.vertical;
4847
4998
  return (vertical ? "".concat(vertical, "px") : "");
4848
4999
  });
4849
- var templateObject_1$F;
5000
+ var templateObject_1$G;
4850
5001
 
4851
5002
  var Spacer = function (props) { return (jsxRuntime.jsx(StyledSpacer, __assign$2({}, props))); };
4852
5003
 
4853
- var StyledSubheading = styled__default["default"].p(templateObject_1$E || (templateObject_1$E = __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) {
5004
+ var StyledSubheading = styled__default["default"].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) {
4854
5005
  var size = _a.size;
4855
5006
  return size ? theme.subheading[size].fontSize : theme.subheading.medium.fontSize;
4856
5007
  }, function (_a) {
@@ -4878,18 +5029,18 @@ var StyledSubheading = styled__default["default"].p(templateObject_1$E || (templ
4878
5029
  return theme.colors.darkGray.dark;
4879
5030
  }
4880
5031
  });
4881
- var templateObject_1$E;
5032
+ var templateObject_1$F;
4882
5033
 
4883
5034
  var Subheading = function (props) { return (jsxRuntime.jsx(StyledSubheading, __assign$2({}, props, { children: props.children }))); };
4884
5035
 
4885
- var Container$l = styled__default["default"].div(templateObject_1$D || (templateObject_1$D = __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);
4886
- var templateObject_1$D;
5036
+ var Container$m = styled__default["default"].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);
5037
+ var templateObject_1$E;
4887
5038
 
4888
5039
  var Tag = function (props) {
4889
- return jsxRuntime.jsx(Container$l, { children: props.children });
5040
+ return jsxRuntime.jsx(Container$m, { children: props.children });
4890
5041
  };
4891
5042
 
4892
- var Container$k = styled__default["default"].div(templateObject_1$C || (templateObject_1$C = __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) {
5043
+ var Container$l = styled__default["default"].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) {
4893
5044
  var disabled = _a.disabled;
4894
5045
  return (disabled ? "not-allowed" : "pointer");
4895
5046
  }, function (_a) {
@@ -4907,7 +5058,7 @@ var Container$k = styled__default["default"].div(templateObject_1$C || (template
4907
5058
  var disabled = _a.disabled;
4908
5059
  return disabled ? theme.colors.lightGray.darker : theme.colors.lightGray.light;
4909
5060
  }, theme.colors.blue.dark, "0 0 0 1px ".concat(theme.colors.blue.dark));
4910
- var templateObject_1$C;
5061
+ var templateObject_1$D;
4911
5062
 
4912
5063
  var Toggle = function (props) {
4913
5064
  var _a;
@@ -4935,10 +5086,10 @@ var Toggle = function (props) {
4935
5086
  props.onChange(newValue);
4936
5087
  }
4937
5088
  };
4938
- return (jsxRuntime.jsx(Container$k, __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: jsxRuntime.jsx("input", { type: "checkbox", disabled: !!props.disabled, id: props.id, name: props.name, ref: inputRef }) })));
5089
+ return (jsxRuntime.jsx(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: jsxRuntime.jsx("input", { type: "checkbox", disabled: !!props.disabled, id: props.id, name: props.name, ref: inputRef }) })));
4939
5090
  };
4940
5091
 
4941
- var Wrapper$4 = styled__default["default"].div(templateObject_1$B || (templateObject_1$B = __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) {
5092
+ var Wrapper$4 = styled__default["default"].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) {
4942
5093
  var level = _a.level;
4943
5094
  switch (level) {
4944
5095
  case 1:
@@ -4949,7 +5100,7 @@ var Wrapper$4 = styled__default["default"].div(templateObject_1$B || (templateOb
4949
5100
  return "70px";
4950
5101
  }
4951
5102
  });
4952
- var templateObject_1$B;
5103
+ var templateObject_1$C;
4953
5104
 
4954
5105
  var trophies = {
4955
5106
  1: {
@@ -4985,7 +5136,7 @@ var trophies = {
4985
5136
  };
4986
5137
  var Trophy = function (props) { return (jsxRuntime.jsx(Wrapper$4, __assign$2({}, props, { children: trophies[props.variant][props.level] }))); };
4987
5138
 
4988
- var Container$j = styled__default["default"].div(templateObject_1$A || (templateObject_1$A = __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) {
5139
+ var Container$k = styled__default["default"].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) {
4989
5140
  var type = _a.type;
4990
5141
  switch (type) {
4991
5142
  case "success":
@@ -5002,11 +5153,11 @@ var Container$j = styled__default["default"].div(templateObject_1$A || (template
5002
5153
  return theme.colors.red.base;
5003
5154
  }
5004
5155
  });
5005
- var templateObject_1$A;
5156
+ var templateObject_1$B;
5006
5157
 
5007
- var Alert = function (props) { return (jsxRuntime.jsxs(Container$j, __assign$2({}, props, { children: [jsxRuntime.jsx(Icon, { size: "small", type: props.type === "success" ? "check" : "warning", color: props.type === "success" ? "green" : "red" }), jsxRuntime.jsx(Paragraph, { children: props.message })] }))); };
5158
+ var Alert = function (props) { return (jsxRuntime.jsxs(Container$k, __assign$2({}, props, { children: [jsxRuntime.jsx(Icon, { size: "small", type: props.type === "success" ? "check" : "warning", color: props.type === "success" ? "green" : "red" }), jsxRuntime.jsx(Paragraph, { children: props.message })] }))); };
5008
5159
 
5009
- var StyledCard = styled__default["default"].div(templateObject_1$z || (templateObject_1$z = __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) {
5160
+ var StyledCard = styled__default["default"].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) {
5010
5161
  var bordered = _a.bordered;
5011
5162
  return bordered ? "1px solid ".concat(theme.colors.lightGray.dark) : "none";
5012
5163
  }, function (_a) {
@@ -5023,7 +5174,7 @@ var Ellipse = styled__default["default"].div(templateObject_2$u || (templateObje
5023
5174
  return color ? theme.colors[color].light : "";
5024
5175
  });
5025
5176
  var Content = styled__default["default"].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"])));
5026
- var templateObject_1$z, templateObject_2$u, templateObject_3$a;
5177
+ var templateObject_1$A, templateObject_2$u, templateObject_3$a;
5027
5178
 
5028
5179
  var Card = function (props) { return (jsxRuntime.jsxs(StyledCard, __assign$2({}, props, { children: [props.ellipse && jsxRuntime.jsx(Ellipse, { color: props.ellipse }), jsxRuntime.jsx(Content, { children: props.children })] }))); };
5029
5180
 
@@ -10171,15 +10322,15 @@ possibleStandardNamesOptimized$1.possibleStandardNames = {
10171
10322
 
10172
10323
  Object.defineProperty(lib, '__esModule', { value: true });
10173
10324
 
10174
- function _slicedToArray(arr, i) {
10175
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
10325
+ function _slicedToArray$2(arr, i) {
10326
+ return _arrayWithHoles$2(arr) || _iterableToArrayLimit$2(arr, i) || _unsupportedIterableToArray$2(arr, i) || _nonIterableRest$2();
10176
10327
  }
10177
10328
 
10178
- function _arrayWithHoles(arr) {
10329
+ function _arrayWithHoles$2(arr) {
10179
10330
  if (Array.isArray(arr)) return arr;
10180
10331
  }
10181
10332
 
10182
- function _iterableToArrayLimit(arr, i) {
10333
+ function _iterableToArrayLimit$2(arr, i) {
10183
10334
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
10184
10335
 
10185
10336
  if (_i == null) return;
@@ -10209,16 +10360,16 @@ function _iterableToArrayLimit(arr, i) {
10209
10360
  return _arr;
10210
10361
  }
10211
10362
 
10212
- function _unsupportedIterableToArray(o, minLen) {
10363
+ function _unsupportedIterableToArray$2(o, minLen) {
10213
10364
  if (!o) return;
10214
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
10365
+ if (typeof o === "string") return _arrayLikeToArray$2(o, minLen);
10215
10366
  var n = Object.prototype.toString.call(o).slice(8, -1);
10216
10367
  if (n === "Object" && o.constructor) n = o.constructor.name;
10217
10368
  if (n === "Map" || n === "Set") return Array.from(o);
10218
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
10369
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$2(o, minLen);
10219
10370
  }
10220
10371
 
10221
- function _arrayLikeToArray(arr, len) {
10372
+ function _arrayLikeToArray$2(arr, len) {
10222
10373
  if (len == null || len > arr.length) len = arr.length;
10223
10374
 
10224
10375
  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
@@ -10226,7 +10377,7 @@ function _arrayLikeToArray(arr, len) {
10226
10377
  return arr2;
10227
10378
  }
10228
10379
 
10229
- function _nonIterableRest() {
10380
+ function _nonIterableRest$2() {
10230
10381
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
10231
10382
  }
10232
10383
 
@@ -10290,7 +10441,7 @@ reservedProps.forEach(function (name) {
10290
10441
  // This is a mapping from React prop names to the attribute names.
10291
10442
 
10292
10443
  [['acceptCharset', 'accept-charset'], ['className', 'class'], ['htmlFor', 'for'], ['httpEquiv', 'http-equiv']].forEach(function (_ref) {
10293
- var _ref2 = _slicedToArray(_ref, 2),
10444
+ var _ref2 = _slicedToArray$2(_ref, 2),
10294
10445
  name = _ref2[0],
10295
10446
  attributeName = _ref2[1];
10296
10447
 
@@ -11272,14 +11423,14 @@ htmlReactParser.Element;
11272
11423
  htmlReactParser.ProcessingInstruction;
11273
11424
  htmlReactParser.Text;
11274
11425
 
11275
- var Fieldset$1 = styled__default["default"].fieldset(templateObject_1$y || (templateObject_1$y = __makeTemplateObject$1(["\n border: 0;\n margin: 0;\n padding: 0;\n"], ["\n border: 0;\n margin: 0;\n padding: 0;\n"])));
11426
+ var Fieldset$1 = styled__default["default"].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"])));
11276
11427
  var CheckboxContainer = styled__default["default"].div(templateObject_2$t || (templateObject_2$t = __makeTemplateObject$1(["\n margin-top: 5px;\n"], ["\n margin-top: 5px;\n"])));
11277
11428
  var CheckboxWrapper = styled__default["default"].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"])));
11278
11429
  var Label$9 = styled__default["default"](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) {
11279
11430
  var weight = _a.weight;
11280
11431
  return weight || 500;
11281
11432
  }, theme.colors.darkGray.base, theme.colors.blue.base);
11282
- var templateObject_1$y, templateObject_2$t, templateObject_3$9, templateObject_4$6;
11433
+ var templateObject_1$z, templateObject_2$t, templateObject_3$9, templateObject_4$6;
11283
11434
 
11284
11435
  var Checkboxes = function (props) {
11285
11436
  var _a = React$3.useState(props.defaultValue || []), values = _a[0], setValues = _a[1];
@@ -11302,12 +11453,12 @@ var Checkboxes = function (props) {
11302
11453
  }) })] }));
11303
11454
  };
11304
11455
 
11305
- var Container$i = styled__default["default"].div(templateObject_1$x || (templateObject_1$x = __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);
11456
+ var Container$j = styled__default["default"].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);
11306
11457
  var Item = styled__default["default"].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) {
11307
11458
  var isOpen = _a.isOpen;
11308
11459
  return (isOpen ? "" : "none");
11309
11460
  }, theme.colors.lightGray.dark);
11310
- var templateObject_1$x, templateObject_2$s;
11461
+ var templateObject_1$y, templateObject_2$s;
11311
11462
 
11312
11463
  var Collapse = function (props) {
11313
11464
  var _a = React$3.useState([]), openItems = _a[0], setOpenItems = _a[1];
@@ -11319,18 +11470,18 @@ var Collapse = function (props) {
11319
11470
  setOpenItems(function (prevState) { return __spreadArray(__spreadArray([], prevState, true), [index], false); });
11320
11471
  }
11321
11472
  };
11322
- return (jsxRuntime.jsx(Container$i, __assign$2({}, props, { children: props.items.map(function (item, index) {
11473
+ return (jsxRuntime.jsx(Container$j, __assign$2({}, props, { children: props.items.map(function (item, index) {
11323
11474
  var isOpen = openItems.includes(index);
11324
11475
  return (jsxRuntime.jsxs(Item, __assign$2({ isOpen: isOpen, onClick: function () { return onClickItem(index, isOpen); } }, { children: [jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx(Heading, __assign$2({ type: "h6" }, { children: item.title })), jsxRuntime.jsx(Icon, { type: isOpen ? "chevronUp" : "chevronDown", color: "blue" })] }), jsxRuntime.jsx(Paragraph, __assign$2({ weight: "regular", as: typeof item.content !== "string" ? "div" : undefined }, { children: item.content }))] }), "".concat(item.title, "-").concat(index)));
11325
11476
  }) })));
11326
11477
  };
11327
11478
 
11328
- var Wrapper$3 = styled__default["default"].div(templateObject_1$w || (templateObject_1$w = __makeTemplateObject$1(["\n display: flex;\n"], ["\n display: flex;\n"])));
11479
+ var Wrapper$3 = styled__default["default"].div(templateObject_1$x || (templateObject_1$x = __makeTemplateObject$1(["\n display: flex;\n"], ["\n display: flex;\n"])));
11329
11480
  var Value = styled__default["default"].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) {
11330
11481
  var contrast = _a.contrast;
11331
11482
  return contrast ? theme.colors.lightGray.dark : theme.colors.lightGray.light;
11332
11483
  }, theme.colors.darkGray.base);
11333
- var templateObject_1$w, templateObject_2$r;
11484
+ var templateObject_1$x, templateObject_2$r;
11334
11485
 
11335
11486
  var Countdown = function (_a) {
11336
11487
  var till = _a.till, contrast = _a.contrast;
@@ -11357,9 +11508,9 @@ var Countdown = function (_a) {
11357
11508
  return (jsxRuntime.jsxs(Wrapper$3, { children: [jsxRuntime.jsx(Value, __assign$2({ contrast: contrast }, { children: jsxRuntime.jsx(Heading, __assign$2({ type: "h5" }, { children: HH })) })), jsxRuntime.jsx(Heading, __assign$2({ type: "h5", color: color }, { children: ":" })), jsxRuntime.jsx(Value, __assign$2({ contrast: contrast }, { children: jsxRuntime.jsx(Heading, __assign$2({ type: "h5" }, { children: MM })) })), jsxRuntime.jsx(Heading, __assign$2({ type: "h5", color: color }, { children: ":" })), jsxRuntime.jsx(Value, __assign$2({ contrast: contrast }, { children: jsxRuntime.jsx(Heading, __assign$2({ type: "h5" }, { children: SS })) }))] }));
11358
11509
  };
11359
11510
 
11360
- var Container$h = styled__default["default"].div(templateObject_1$v || (templateObject_1$v = __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"])));
11511
+ var Container$i = styled__default["default"].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"])));
11361
11512
  var Label$8 = styled__default["default"](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);
11362
- var templateObject_1$v, templateObject_2$q;
11513
+ var templateObject_1$w, templateObject_2$q;
11363
11514
 
11364
11515
  var DateInputField = function (props) {
11365
11516
  var onChange = function (value) {
@@ -11370,7 +11521,2563 @@ var DateInputField = function (props) {
11370
11521
  if (props.onBlur)
11371
11522
  props.onBlur(props.name);
11372
11523
  };
11373
- return (jsxRuntime.jsxs(Container$h, { children: [jsxRuntime.jsx(Label$8, __assign$2({ as: "label", htmlFor: props.name }, { children: props.label })), jsxRuntime.jsx(Spacer, { vertical: 5 }), jsxRuntime.jsx(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 })] }));
11524
+ return (jsxRuntime.jsxs(Container$i, { children: [jsxRuntime.jsx(Label$8, __assign$2({ as: "label", htmlFor: props.name }, { children: props.label })), jsxRuntime.jsx(Spacer, { vertical: 5 }), jsxRuntime.jsx(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 })] }));
11525
+ };
11526
+
11527
+ var propTypes = {exports: {}};
11528
+
11529
+ /*
11530
+ object-assign
11531
+ (c) Sindre Sorhus
11532
+ @license MIT
11533
+ */
11534
+ /* eslint-disable no-unused-vars */
11535
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
11536
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
11537
+ var propIsEnumerable = Object.prototype.propertyIsEnumerable;
11538
+
11539
+ function toObject(val) {
11540
+ if (val === null || val === undefined) {
11541
+ throw new TypeError('Object.assign cannot be called with null or undefined');
11542
+ }
11543
+
11544
+ return Object(val);
11545
+ }
11546
+
11547
+ function shouldUseNative() {
11548
+ try {
11549
+ if (!Object.assign) {
11550
+ return false;
11551
+ }
11552
+
11553
+ // Detect buggy property enumeration order in older V8 versions.
11554
+
11555
+ // https://bugs.chromium.org/p/v8/issues/detail?id=4118
11556
+ var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
11557
+ test1[5] = 'de';
11558
+ if (Object.getOwnPropertyNames(test1)[0] === '5') {
11559
+ return false;
11560
+ }
11561
+
11562
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3056
11563
+ var test2 = {};
11564
+ for (var i = 0; i < 10; i++) {
11565
+ test2['_' + String.fromCharCode(i)] = i;
11566
+ }
11567
+ var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
11568
+ return test2[n];
11569
+ });
11570
+ if (order2.join('') !== '0123456789') {
11571
+ return false;
11572
+ }
11573
+
11574
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3056
11575
+ var test3 = {};
11576
+ 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
11577
+ test3[letter] = letter;
11578
+ });
11579
+ if (Object.keys(Object.assign({}, test3)).join('') !==
11580
+ 'abcdefghijklmnopqrst') {
11581
+ return false;
11582
+ }
11583
+
11584
+ return true;
11585
+ } catch (err) {
11586
+ // We don't expect any of the above to throw, but better to be safe.
11587
+ return false;
11588
+ }
11589
+ }
11590
+
11591
+ var objectAssign = shouldUseNative() ? Object.assign : function (target, source) {
11592
+ var from;
11593
+ var to = toObject(target);
11594
+ var symbols;
11595
+
11596
+ for (var s = 1; s < arguments.length; s++) {
11597
+ from = Object(arguments[s]);
11598
+
11599
+ for (var key in from) {
11600
+ if (hasOwnProperty.call(from, key)) {
11601
+ to[key] = from[key];
11602
+ }
11603
+ }
11604
+
11605
+ if (getOwnPropertySymbols) {
11606
+ symbols = getOwnPropertySymbols(from);
11607
+ for (var i = 0; i < symbols.length; i++) {
11608
+ if (propIsEnumerable.call(from, symbols[i])) {
11609
+ to[symbols[i]] = from[symbols[i]];
11610
+ }
11611
+ }
11612
+ }
11613
+ }
11614
+
11615
+ return to;
11616
+ };
11617
+
11618
+ /**
11619
+ * Copyright (c) 2013-present, Facebook, Inc.
11620
+ *
11621
+ * This source code is licensed under the MIT license found in the
11622
+ * LICENSE file in the root directory of this source tree.
11623
+ */
11624
+
11625
+ var ReactPropTypesSecret$3 = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
11626
+
11627
+ var ReactPropTypesSecret_1 = ReactPropTypesSecret$3;
11628
+
11629
+ var has$2 = Function.call.bind(Object.prototype.hasOwnProperty);
11630
+
11631
+ /**
11632
+ * Copyright (c) 2013-present, Facebook, Inc.
11633
+ *
11634
+ * This source code is licensed under the MIT license found in the
11635
+ * LICENSE file in the root directory of this source tree.
11636
+ */
11637
+
11638
+ var printWarning$1 = function() {};
11639
+
11640
+ if (process.env.NODE_ENV !== 'production') {
11641
+ var ReactPropTypesSecret$2 = ReactPropTypesSecret_1;
11642
+ var loggedTypeFailures = {};
11643
+ var has$1 = has$2;
11644
+
11645
+ printWarning$1 = function(text) {
11646
+ var message = 'Warning: ' + text;
11647
+ if (typeof console !== 'undefined') {
11648
+ console.error(message);
11649
+ }
11650
+ try {
11651
+ // --- Welcome to debugging React ---
11652
+ // This error was thrown as a convenience so that you can use this stack
11653
+ // to find the callsite that caused this warning to fire.
11654
+ throw new Error(message);
11655
+ } catch (x) { /**/ }
11656
+ };
11657
+ }
11658
+
11659
+ /**
11660
+ * Assert that the values match with the type specs.
11661
+ * Error messages are memorized and will only be shown once.
11662
+ *
11663
+ * @param {object} typeSpecs Map of name to a ReactPropType
11664
+ * @param {object} values Runtime values that need to be type-checked
11665
+ * @param {string} location e.g. "prop", "context", "child context"
11666
+ * @param {string} componentName Name of the component for error messages.
11667
+ * @param {?Function} getStack Returns the component stack.
11668
+ * @private
11669
+ */
11670
+ function checkPropTypes$1(typeSpecs, values, location, componentName, getStack) {
11671
+ if (process.env.NODE_ENV !== 'production') {
11672
+ for (var typeSpecName in typeSpecs) {
11673
+ if (has$1(typeSpecs, typeSpecName)) {
11674
+ var error;
11675
+ // Prop type validation may throw. In case they do, we don't want to
11676
+ // fail the render phase where it didn't fail before. So we log it.
11677
+ // After these have been cleaned up, we'll let them throw.
11678
+ try {
11679
+ // This is intentionally an invariant that gets caught. It's the same
11680
+ // behavior as without this statement except with a better message.
11681
+ if (typeof typeSpecs[typeSpecName] !== 'function') {
11682
+ var err = Error(
11683
+ (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
11684
+ 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
11685
+ 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
11686
+ );
11687
+ err.name = 'Invariant Violation';
11688
+ throw err;
11689
+ }
11690
+ error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret$2);
11691
+ } catch (ex) {
11692
+ error = ex;
11693
+ }
11694
+ if (error && !(error instanceof Error)) {
11695
+ printWarning$1(
11696
+ (componentName || 'React class') + ': type specification of ' +
11697
+ location + ' `' + typeSpecName + '` is invalid; the type checker ' +
11698
+ 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
11699
+ 'You may have forgotten to pass an argument to the type checker ' +
11700
+ 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
11701
+ 'shape all require an argument).'
11702
+ );
11703
+ }
11704
+ if (error instanceof Error && !(error.message in loggedTypeFailures)) {
11705
+ // Only monitor this failure once because there tends to be a lot of the
11706
+ // same error.
11707
+ loggedTypeFailures[error.message] = true;
11708
+
11709
+ var stack = getStack ? getStack() : '';
11710
+
11711
+ printWarning$1(
11712
+ 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
11713
+ );
11714
+ }
11715
+ }
11716
+ }
11717
+ }
11718
+ }
11719
+
11720
+ /**
11721
+ * Resets warning cache when testing.
11722
+ *
11723
+ * @private
11724
+ */
11725
+ checkPropTypes$1.resetWarningCache = function() {
11726
+ if (process.env.NODE_ENV !== 'production') {
11727
+ loggedTypeFailures = {};
11728
+ }
11729
+ };
11730
+
11731
+ var checkPropTypes_1 = checkPropTypes$1;
11732
+
11733
+ /**
11734
+ * Copyright (c) 2013-present, Facebook, Inc.
11735
+ *
11736
+ * This source code is licensed under the MIT license found in the
11737
+ * LICENSE file in the root directory of this source tree.
11738
+ */
11739
+
11740
+ var ReactIs$1 = reactIs$1.exports;
11741
+ var assign = objectAssign;
11742
+
11743
+ var ReactPropTypesSecret$1 = ReactPropTypesSecret_1;
11744
+ var has = has$2;
11745
+ var checkPropTypes = checkPropTypes_1;
11746
+
11747
+ var printWarning = function() {};
11748
+
11749
+ if (process.env.NODE_ENV !== 'production') {
11750
+ printWarning = function(text) {
11751
+ var message = 'Warning: ' + text;
11752
+ if (typeof console !== 'undefined') {
11753
+ console.error(message);
11754
+ }
11755
+ try {
11756
+ // --- Welcome to debugging React ---
11757
+ // This error was thrown as a convenience so that you can use this stack
11758
+ // to find the callsite that caused this warning to fire.
11759
+ throw new Error(message);
11760
+ } catch (x) {}
11761
+ };
11762
+ }
11763
+
11764
+ function emptyFunctionThatReturnsNull() {
11765
+ return null;
11766
+ }
11767
+
11768
+ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
11769
+ /* global Symbol */
11770
+ var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
11771
+ var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
11772
+
11773
+ /**
11774
+ * Returns the iterator method function contained on the iterable object.
11775
+ *
11776
+ * Be sure to invoke the function with the iterable as context:
11777
+ *
11778
+ * var iteratorFn = getIteratorFn(myIterable);
11779
+ * if (iteratorFn) {
11780
+ * var iterator = iteratorFn.call(myIterable);
11781
+ * ...
11782
+ * }
11783
+ *
11784
+ * @param {?object} maybeIterable
11785
+ * @return {?function}
11786
+ */
11787
+ function getIteratorFn(maybeIterable) {
11788
+ var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
11789
+ if (typeof iteratorFn === 'function') {
11790
+ return iteratorFn;
11791
+ }
11792
+ }
11793
+
11794
+ /**
11795
+ * Collection of methods that allow declaration and validation of props that are
11796
+ * supplied to React components. Example usage:
11797
+ *
11798
+ * var Props = require('ReactPropTypes');
11799
+ * var MyArticle = React.createClass({
11800
+ * propTypes: {
11801
+ * // An optional string prop named "description".
11802
+ * description: Props.string,
11803
+ *
11804
+ * // A required enum prop named "category".
11805
+ * category: Props.oneOf(['News','Photos']).isRequired,
11806
+ *
11807
+ * // A prop named "dialog" that requires an instance of Dialog.
11808
+ * dialog: Props.instanceOf(Dialog).isRequired
11809
+ * },
11810
+ * render: function() { ... }
11811
+ * });
11812
+ *
11813
+ * A more formal specification of how these methods are used:
11814
+ *
11815
+ * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
11816
+ * decl := ReactPropTypes.{type}(.isRequired)?
11817
+ *
11818
+ * Each and every declaration produces a function with the same signature. This
11819
+ * allows the creation of custom validation functions. For example:
11820
+ *
11821
+ * var MyLink = React.createClass({
11822
+ * propTypes: {
11823
+ * // An optional string or URI prop named "href".
11824
+ * href: function(props, propName, componentName) {
11825
+ * var propValue = props[propName];
11826
+ * if (propValue != null && typeof propValue !== 'string' &&
11827
+ * !(propValue instanceof URI)) {
11828
+ * return new Error(
11829
+ * 'Expected a string or an URI for ' + propName + ' in ' +
11830
+ * componentName
11831
+ * );
11832
+ * }
11833
+ * }
11834
+ * },
11835
+ * render: function() {...}
11836
+ * });
11837
+ *
11838
+ * @internal
11839
+ */
11840
+
11841
+ var ANONYMOUS = '<<anonymous>>';
11842
+
11843
+ // Important!
11844
+ // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
11845
+ var ReactPropTypes = {
11846
+ array: createPrimitiveTypeChecker('array'),
11847
+ bigint: createPrimitiveTypeChecker('bigint'),
11848
+ bool: createPrimitiveTypeChecker('boolean'),
11849
+ func: createPrimitiveTypeChecker('function'),
11850
+ number: createPrimitiveTypeChecker('number'),
11851
+ object: createPrimitiveTypeChecker('object'),
11852
+ string: createPrimitiveTypeChecker('string'),
11853
+ symbol: createPrimitiveTypeChecker('symbol'),
11854
+
11855
+ any: createAnyTypeChecker(),
11856
+ arrayOf: createArrayOfTypeChecker,
11857
+ element: createElementTypeChecker(),
11858
+ elementType: createElementTypeTypeChecker(),
11859
+ instanceOf: createInstanceTypeChecker,
11860
+ node: createNodeChecker(),
11861
+ objectOf: createObjectOfTypeChecker,
11862
+ oneOf: createEnumTypeChecker,
11863
+ oneOfType: createUnionTypeChecker,
11864
+ shape: createShapeTypeChecker,
11865
+ exact: createStrictShapeTypeChecker,
11866
+ };
11867
+
11868
+ /**
11869
+ * inlined Object.is polyfill to avoid requiring consumers ship their own
11870
+ * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
11871
+ */
11872
+ /*eslint-disable no-self-compare*/
11873
+ function is(x, y) {
11874
+ // SameValue algorithm
11875
+ if (x === y) {
11876
+ // Steps 1-5, 7-10
11877
+ // Steps 6.b-6.e: +0 != -0
11878
+ return x !== 0 || 1 / x === 1 / y;
11879
+ } else {
11880
+ // Step 6.a: NaN == NaN
11881
+ return x !== x && y !== y;
11882
+ }
11883
+ }
11884
+ /*eslint-enable no-self-compare*/
11885
+
11886
+ /**
11887
+ * We use an Error-like object for backward compatibility as people may call
11888
+ * PropTypes directly and inspect their output. However, we don't use real
11889
+ * Errors anymore. We don't inspect their stack anyway, and creating them
11890
+ * is prohibitively expensive if they are created too often, such as what
11891
+ * happens in oneOfType() for any type before the one that matched.
11892
+ */
11893
+ function PropTypeError(message, data) {
11894
+ this.message = message;
11895
+ this.data = data && typeof data === 'object' ? data: {};
11896
+ this.stack = '';
11897
+ }
11898
+ // Make `instanceof Error` still work for returned errors.
11899
+ PropTypeError.prototype = Error.prototype;
11900
+
11901
+ function createChainableTypeChecker(validate) {
11902
+ if (process.env.NODE_ENV !== 'production') {
11903
+ var manualPropTypeCallCache = {};
11904
+ var manualPropTypeWarningCount = 0;
11905
+ }
11906
+ function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
11907
+ componentName = componentName || ANONYMOUS;
11908
+ propFullName = propFullName || propName;
11909
+
11910
+ if (secret !== ReactPropTypesSecret$1) {
11911
+ if (throwOnDirectAccess) {
11912
+ // New behavior only for users of `prop-types` package
11913
+ var err = new Error(
11914
+ 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
11915
+ 'Use `PropTypes.checkPropTypes()` to call them. ' +
11916
+ 'Read more at http://fb.me/use-check-prop-types'
11917
+ );
11918
+ err.name = 'Invariant Violation';
11919
+ throw err;
11920
+ } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {
11921
+ // Old behavior for people using React.PropTypes
11922
+ var cacheKey = componentName + ':' + propName;
11923
+ if (
11924
+ !manualPropTypeCallCache[cacheKey] &&
11925
+ // Avoid spamming the console because they are often not actionable except for lib authors
11926
+ manualPropTypeWarningCount < 3
11927
+ ) {
11928
+ printWarning(
11929
+ 'You are manually calling a React.PropTypes validation ' +
11930
+ 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
11931
+ 'and will throw in the standalone `prop-types` package. ' +
11932
+ 'You may be seeing this warning due to a third-party PropTypes ' +
11933
+ 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
11934
+ );
11935
+ manualPropTypeCallCache[cacheKey] = true;
11936
+ manualPropTypeWarningCount++;
11937
+ }
11938
+ }
11939
+ }
11940
+ if (props[propName] == null) {
11941
+ if (isRequired) {
11942
+ if (props[propName] === null) {
11943
+ return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
11944
+ }
11945
+ return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
11946
+ }
11947
+ return null;
11948
+ } else {
11949
+ return validate(props, propName, componentName, location, propFullName);
11950
+ }
11951
+ }
11952
+
11953
+ var chainedCheckType = checkType.bind(null, false);
11954
+ chainedCheckType.isRequired = checkType.bind(null, true);
11955
+
11956
+ return chainedCheckType;
11957
+ }
11958
+
11959
+ function createPrimitiveTypeChecker(expectedType) {
11960
+ function validate(props, propName, componentName, location, propFullName, secret) {
11961
+ var propValue = props[propName];
11962
+ var propType = getPropType(propValue);
11963
+ if (propType !== expectedType) {
11964
+ // `propValue` being instance of, say, date/regexp, pass the 'object'
11965
+ // check, but we can offer a more precise error message here rather than
11966
+ // 'of type `object`'.
11967
+ var preciseType = getPreciseType(propValue);
11968
+
11969
+ return new PropTypeError(
11970
+ 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),
11971
+ {expectedType: expectedType}
11972
+ );
11973
+ }
11974
+ return null;
11975
+ }
11976
+ return createChainableTypeChecker(validate);
11977
+ }
11978
+
11979
+ function createAnyTypeChecker() {
11980
+ return createChainableTypeChecker(emptyFunctionThatReturnsNull);
11981
+ }
11982
+
11983
+ function createArrayOfTypeChecker(typeChecker) {
11984
+ function validate(props, propName, componentName, location, propFullName) {
11985
+ if (typeof typeChecker !== 'function') {
11986
+ return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
11987
+ }
11988
+ var propValue = props[propName];
11989
+ if (!Array.isArray(propValue)) {
11990
+ var propType = getPropType(propValue);
11991
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
11992
+ }
11993
+ for (var i = 0; i < propValue.length; i++) {
11994
+ var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret$1);
11995
+ if (error instanceof Error) {
11996
+ return error;
11997
+ }
11998
+ }
11999
+ return null;
12000
+ }
12001
+ return createChainableTypeChecker(validate);
12002
+ }
12003
+
12004
+ function createElementTypeChecker() {
12005
+ function validate(props, propName, componentName, location, propFullName) {
12006
+ var propValue = props[propName];
12007
+ if (!isValidElement(propValue)) {
12008
+ var propType = getPropType(propValue);
12009
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
12010
+ }
12011
+ return null;
12012
+ }
12013
+ return createChainableTypeChecker(validate);
12014
+ }
12015
+
12016
+ function createElementTypeTypeChecker() {
12017
+ function validate(props, propName, componentName, location, propFullName) {
12018
+ var propValue = props[propName];
12019
+ if (!ReactIs$1.isValidElementType(propValue)) {
12020
+ var propType = getPropType(propValue);
12021
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
12022
+ }
12023
+ return null;
12024
+ }
12025
+ return createChainableTypeChecker(validate);
12026
+ }
12027
+
12028
+ function createInstanceTypeChecker(expectedClass) {
12029
+ function validate(props, propName, componentName, location, propFullName) {
12030
+ if (!(props[propName] instanceof expectedClass)) {
12031
+ var expectedClassName = expectedClass.name || ANONYMOUS;
12032
+ var actualClassName = getClassName(props[propName]);
12033
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
12034
+ }
12035
+ return null;
12036
+ }
12037
+ return createChainableTypeChecker(validate);
12038
+ }
12039
+
12040
+ function createEnumTypeChecker(expectedValues) {
12041
+ if (!Array.isArray(expectedValues)) {
12042
+ if (process.env.NODE_ENV !== 'production') {
12043
+ if (arguments.length > 1) {
12044
+ printWarning(
12045
+ 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
12046
+ 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
12047
+ );
12048
+ } else {
12049
+ printWarning('Invalid argument supplied to oneOf, expected an array.');
12050
+ }
12051
+ }
12052
+ return emptyFunctionThatReturnsNull;
12053
+ }
12054
+
12055
+ function validate(props, propName, componentName, location, propFullName) {
12056
+ var propValue = props[propName];
12057
+ for (var i = 0; i < expectedValues.length; i++) {
12058
+ if (is(propValue, expectedValues[i])) {
12059
+ return null;
12060
+ }
12061
+ }
12062
+
12063
+ var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
12064
+ var type = getPreciseType(value);
12065
+ if (type === 'symbol') {
12066
+ return String(value);
12067
+ }
12068
+ return value;
12069
+ });
12070
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
12071
+ }
12072
+ return createChainableTypeChecker(validate);
12073
+ }
12074
+
12075
+ function createObjectOfTypeChecker(typeChecker) {
12076
+ function validate(props, propName, componentName, location, propFullName) {
12077
+ if (typeof typeChecker !== 'function') {
12078
+ return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
12079
+ }
12080
+ var propValue = props[propName];
12081
+ var propType = getPropType(propValue);
12082
+ if (propType !== 'object') {
12083
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
12084
+ }
12085
+ for (var key in propValue) {
12086
+ if (has(propValue, key)) {
12087
+ var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret$1);
12088
+ if (error instanceof Error) {
12089
+ return error;
12090
+ }
12091
+ }
12092
+ }
12093
+ return null;
12094
+ }
12095
+ return createChainableTypeChecker(validate);
12096
+ }
12097
+
12098
+ function createUnionTypeChecker(arrayOfTypeCheckers) {
12099
+ if (!Array.isArray(arrayOfTypeCheckers)) {
12100
+ process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;
12101
+ return emptyFunctionThatReturnsNull;
12102
+ }
12103
+
12104
+ for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
12105
+ var checker = arrayOfTypeCheckers[i];
12106
+ if (typeof checker !== 'function') {
12107
+ printWarning(
12108
+ 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
12109
+ 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
12110
+ );
12111
+ return emptyFunctionThatReturnsNull;
12112
+ }
12113
+ }
12114
+
12115
+ function validate(props, propName, componentName, location, propFullName) {
12116
+ var expectedTypes = [];
12117
+ for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
12118
+ var checker = arrayOfTypeCheckers[i];
12119
+ var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret$1);
12120
+ if (checkerResult == null) {
12121
+ return null;
12122
+ }
12123
+ if (checkerResult.data && has(checkerResult.data, 'expectedType')) {
12124
+ expectedTypes.push(checkerResult.data.expectedType);
12125
+ }
12126
+ }
12127
+ var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';
12128
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
12129
+ }
12130
+ return createChainableTypeChecker(validate);
12131
+ }
12132
+
12133
+ function createNodeChecker() {
12134
+ function validate(props, propName, componentName, location, propFullName) {
12135
+ if (!isNode(props[propName])) {
12136
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
12137
+ }
12138
+ return null;
12139
+ }
12140
+ return createChainableTypeChecker(validate);
12141
+ }
12142
+
12143
+ function invalidValidatorError(componentName, location, propFullName, key, type) {
12144
+ return new PropTypeError(
12145
+ (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +
12146
+ 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'
12147
+ );
12148
+ }
12149
+
12150
+ function createShapeTypeChecker(shapeTypes) {
12151
+ function validate(props, propName, componentName, location, propFullName) {
12152
+ var propValue = props[propName];
12153
+ var propType = getPropType(propValue);
12154
+ if (propType !== 'object') {
12155
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
12156
+ }
12157
+ for (var key in shapeTypes) {
12158
+ var checker = shapeTypes[key];
12159
+ if (typeof checker !== 'function') {
12160
+ return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
12161
+ }
12162
+ var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret$1);
12163
+ if (error) {
12164
+ return error;
12165
+ }
12166
+ }
12167
+ return null;
12168
+ }
12169
+ return createChainableTypeChecker(validate);
12170
+ }
12171
+
12172
+ function createStrictShapeTypeChecker(shapeTypes) {
12173
+ function validate(props, propName, componentName, location, propFullName) {
12174
+ var propValue = props[propName];
12175
+ var propType = getPropType(propValue);
12176
+ if (propType !== 'object') {
12177
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
12178
+ }
12179
+ // We need to check all keys in case some are required but missing from props.
12180
+ var allKeys = assign({}, props[propName], shapeTypes);
12181
+ for (var key in allKeys) {
12182
+ var checker = shapeTypes[key];
12183
+ if (has(shapeTypes, key) && typeof checker !== 'function') {
12184
+ return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
12185
+ }
12186
+ if (!checker) {
12187
+ return new PropTypeError(
12188
+ 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
12189
+ '\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
12190
+ '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
12191
+ );
12192
+ }
12193
+ var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret$1);
12194
+ if (error) {
12195
+ return error;
12196
+ }
12197
+ }
12198
+ return null;
12199
+ }
12200
+
12201
+ return createChainableTypeChecker(validate);
12202
+ }
12203
+
12204
+ function isNode(propValue) {
12205
+ switch (typeof propValue) {
12206
+ case 'number':
12207
+ case 'string':
12208
+ case 'undefined':
12209
+ return true;
12210
+ case 'boolean':
12211
+ return !propValue;
12212
+ case 'object':
12213
+ if (Array.isArray(propValue)) {
12214
+ return propValue.every(isNode);
12215
+ }
12216
+ if (propValue === null || isValidElement(propValue)) {
12217
+ return true;
12218
+ }
12219
+
12220
+ var iteratorFn = getIteratorFn(propValue);
12221
+ if (iteratorFn) {
12222
+ var iterator = iteratorFn.call(propValue);
12223
+ var step;
12224
+ if (iteratorFn !== propValue.entries) {
12225
+ while (!(step = iterator.next()).done) {
12226
+ if (!isNode(step.value)) {
12227
+ return false;
12228
+ }
12229
+ }
12230
+ } else {
12231
+ // Iterator will provide entry [k,v] tuples rather than values.
12232
+ while (!(step = iterator.next()).done) {
12233
+ var entry = step.value;
12234
+ if (entry) {
12235
+ if (!isNode(entry[1])) {
12236
+ return false;
12237
+ }
12238
+ }
12239
+ }
12240
+ }
12241
+ } else {
12242
+ return false;
12243
+ }
12244
+
12245
+ return true;
12246
+ default:
12247
+ return false;
12248
+ }
12249
+ }
12250
+
12251
+ function isSymbol(propType, propValue) {
12252
+ // Native Symbol.
12253
+ if (propType === 'symbol') {
12254
+ return true;
12255
+ }
12256
+
12257
+ // falsy value can't be a Symbol
12258
+ if (!propValue) {
12259
+ return false;
12260
+ }
12261
+
12262
+ // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
12263
+ if (propValue['@@toStringTag'] === 'Symbol') {
12264
+ return true;
12265
+ }
12266
+
12267
+ // Fallback for non-spec compliant Symbols which are polyfilled.
12268
+ if (typeof Symbol === 'function' && propValue instanceof Symbol) {
12269
+ return true;
12270
+ }
12271
+
12272
+ return false;
12273
+ }
12274
+
12275
+ // Equivalent of `typeof` but with special handling for array and regexp.
12276
+ function getPropType(propValue) {
12277
+ var propType = typeof propValue;
12278
+ if (Array.isArray(propValue)) {
12279
+ return 'array';
12280
+ }
12281
+ if (propValue instanceof RegExp) {
12282
+ // Old webkits (at least until Android 4.0) return 'function' rather than
12283
+ // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
12284
+ // passes PropTypes.object.
12285
+ return 'object';
12286
+ }
12287
+ if (isSymbol(propType, propValue)) {
12288
+ return 'symbol';
12289
+ }
12290
+ return propType;
12291
+ }
12292
+
12293
+ // This handles more types than `getPropType`. Only used for error messages.
12294
+ // See `createPrimitiveTypeChecker`.
12295
+ function getPreciseType(propValue) {
12296
+ if (typeof propValue === 'undefined' || propValue === null) {
12297
+ return '' + propValue;
12298
+ }
12299
+ var propType = getPropType(propValue);
12300
+ if (propType === 'object') {
12301
+ if (propValue instanceof Date) {
12302
+ return 'date';
12303
+ } else if (propValue instanceof RegExp) {
12304
+ return 'regexp';
12305
+ }
12306
+ }
12307
+ return propType;
12308
+ }
12309
+
12310
+ // Returns a string that is postfixed to a warning about an invalid type.
12311
+ // For example, "undefined" or "of type array"
12312
+ function getPostfixForTypeWarning(value) {
12313
+ var type = getPreciseType(value);
12314
+ switch (type) {
12315
+ case 'array':
12316
+ case 'object':
12317
+ return 'an ' + type;
12318
+ case 'boolean':
12319
+ case 'date':
12320
+ case 'regexp':
12321
+ return 'a ' + type;
12322
+ default:
12323
+ return type;
12324
+ }
12325
+ }
12326
+
12327
+ // Returns class name of the object, if any.
12328
+ function getClassName(propValue) {
12329
+ if (!propValue.constructor || !propValue.constructor.name) {
12330
+ return ANONYMOUS;
12331
+ }
12332
+ return propValue.constructor.name;
12333
+ }
12334
+
12335
+ ReactPropTypes.checkPropTypes = checkPropTypes;
12336
+ ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
12337
+ ReactPropTypes.PropTypes = ReactPropTypes;
12338
+
12339
+ return ReactPropTypes;
12340
+ };
12341
+
12342
+ /**
12343
+ * Copyright (c) 2013-present, Facebook, Inc.
12344
+ *
12345
+ * This source code is licensed under the MIT license found in the
12346
+ * LICENSE file in the root directory of this source tree.
12347
+ */
12348
+
12349
+ var ReactPropTypesSecret = ReactPropTypesSecret_1;
12350
+
12351
+ function emptyFunction() {}
12352
+ function emptyFunctionWithReset() {}
12353
+ emptyFunctionWithReset.resetWarningCache = emptyFunction;
12354
+
12355
+ var factoryWithThrowingShims = function() {
12356
+ function shim(props, propName, componentName, location, propFullName, secret) {
12357
+ if (secret === ReactPropTypesSecret) {
12358
+ // It is still safe when called from React.
12359
+ return;
12360
+ }
12361
+ var err = new Error(
12362
+ 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
12363
+ 'Use PropTypes.checkPropTypes() to call them. ' +
12364
+ 'Read more at http://fb.me/use-check-prop-types'
12365
+ );
12366
+ err.name = 'Invariant Violation';
12367
+ throw err;
12368
+ } shim.isRequired = shim;
12369
+ function getShim() {
12370
+ return shim;
12371
+ } // Important!
12372
+ // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
12373
+ var ReactPropTypes = {
12374
+ array: shim,
12375
+ bigint: shim,
12376
+ bool: shim,
12377
+ func: shim,
12378
+ number: shim,
12379
+ object: shim,
12380
+ string: shim,
12381
+ symbol: shim,
12382
+
12383
+ any: shim,
12384
+ arrayOf: getShim,
12385
+ element: shim,
12386
+ elementType: shim,
12387
+ instanceOf: getShim,
12388
+ node: shim,
12389
+ objectOf: getShim,
12390
+ oneOf: getShim,
12391
+ oneOfType: getShim,
12392
+ shape: getShim,
12393
+ exact: getShim,
12394
+
12395
+ checkPropTypes: emptyFunctionWithReset,
12396
+ resetWarningCache: emptyFunction
12397
+ };
12398
+
12399
+ ReactPropTypes.PropTypes = ReactPropTypes;
12400
+
12401
+ return ReactPropTypes;
12402
+ };
12403
+
12404
+ /**
12405
+ * Copyright (c) 2013-present, Facebook, Inc.
12406
+ *
12407
+ * This source code is licensed under the MIT license found in the
12408
+ * LICENSE file in the root directory of this source tree.
12409
+ */
12410
+
12411
+ if (process.env.NODE_ENV !== 'production') {
12412
+ var ReactIs = reactIs$1.exports;
12413
+
12414
+ // By explicitly using `prop-types` you are opting into new development behavior.
12415
+ // http://fb.me/prop-types-in-prod
12416
+ var throwOnDirectAccess = true;
12417
+ propTypes.exports = factoryWithTypeCheckers(ReactIs.isElement, throwOnDirectAccess);
12418
+ } else {
12419
+ // By explicitly using `prop-types` you are opting into new production behavior.
12420
+ // http://fb.me/prop-types-in-prod
12421
+ propTypes.exports = factoryWithThrowingShims();
12422
+ }
12423
+
12424
+ var PropTypes = propTypes.exports;
12425
+
12426
+ var COMMON_MIME_TYPES = new Map([
12427
+ // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
12428
+ ['aac', 'audio/aac'],
12429
+ ['abw', 'application/x-abiword'],
12430
+ ['arc', 'application/x-freearc'],
12431
+ ['avif', 'image/avif'],
12432
+ ['avi', 'video/x-msvideo'],
12433
+ ['azw', 'application/vnd.amazon.ebook'],
12434
+ ['bin', 'application/octet-stream'],
12435
+ ['bmp', 'image/bmp'],
12436
+ ['bz', 'application/x-bzip'],
12437
+ ['bz2', 'application/x-bzip2'],
12438
+ ['cda', 'application/x-cdf'],
12439
+ ['csh', 'application/x-csh'],
12440
+ ['css', 'text/css'],
12441
+ ['csv', 'text/csv'],
12442
+ ['doc', 'application/msword'],
12443
+ ['docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'],
12444
+ ['eot', 'application/vnd.ms-fontobject'],
12445
+ ['epub', 'application/epub+zip'],
12446
+ ['gz', 'application/gzip'],
12447
+ ['gif', 'image/gif'],
12448
+ ['heic', 'image/heic'],
12449
+ ['heif', 'image/heif'],
12450
+ ['htm', 'text/html'],
12451
+ ['html', 'text/html'],
12452
+ ['ico', 'image/vnd.microsoft.icon'],
12453
+ ['ics', 'text/calendar'],
12454
+ ['jar', 'application/java-archive'],
12455
+ ['jpeg', 'image/jpeg'],
12456
+ ['jpg', 'image/jpeg'],
12457
+ ['js', 'text/javascript'],
12458
+ ['json', 'application/json'],
12459
+ ['jsonld', 'application/ld+json'],
12460
+ ['mid', 'audio/midi'],
12461
+ ['midi', 'audio/midi'],
12462
+ ['mjs', 'text/javascript'],
12463
+ ['mp3', 'audio/mpeg'],
12464
+ ['mp4', 'video/mp4'],
12465
+ ['mpeg', 'video/mpeg'],
12466
+ ['mpkg', 'application/vnd.apple.installer+xml'],
12467
+ ['odp', 'application/vnd.oasis.opendocument.presentation'],
12468
+ ['ods', 'application/vnd.oasis.opendocument.spreadsheet'],
12469
+ ['odt', 'application/vnd.oasis.opendocument.text'],
12470
+ ['oga', 'audio/ogg'],
12471
+ ['ogv', 'video/ogg'],
12472
+ ['ogx', 'application/ogg'],
12473
+ ['opus', 'audio/opus'],
12474
+ ['otf', 'font/otf'],
12475
+ ['png', 'image/png'],
12476
+ ['pdf', 'application/pdf'],
12477
+ ['php', 'application/x-httpd-php'],
12478
+ ['ppt', 'application/vnd.ms-powerpoint'],
12479
+ ['pptx', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'],
12480
+ ['rar', 'application/vnd.rar'],
12481
+ ['rtf', 'application/rtf'],
12482
+ ['sh', 'application/x-sh'],
12483
+ ['svg', 'image/svg+xml'],
12484
+ ['swf', 'application/x-shockwave-flash'],
12485
+ ['tar', 'application/x-tar'],
12486
+ ['tif', 'image/tiff'],
12487
+ ['tiff', 'image/tiff'],
12488
+ ['ts', 'video/mp2t'],
12489
+ ['ttf', 'font/ttf'],
12490
+ ['txt', 'text/plain'],
12491
+ ['vsd', 'application/vnd.visio'],
12492
+ ['wav', 'audio/wav'],
12493
+ ['weba', 'audio/webm'],
12494
+ ['webm', 'video/webm'],
12495
+ ['webp', 'image/webp'],
12496
+ ['woff', 'font/woff'],
12497
+ ['woff2', 'font/woff2'],
12498
+ ['xhtml', 'application/xhtml+xml'],
12499
+ ['xls', 'application/vnd.ms-excel'],
12500
+ ['xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],
12501
+ ['xml', 'application/xml'],
12502
+ ['xul', 'application/vnd.mozilla.xul+xml'],
12503
+ ['zip', 'application/zip'],
12504
+ ['7z', 'application/x-7z-compressed'],
12505
+ // Others
12506
+ ['mkv', 'video/x-matroska'],
12507
+ ['mov', 'video/quicktime'],
12508
+ ['msg', 'application/vnd.ms-outlook']
12509
+ ]);
12510
+ function toFileWithPath(file, path) {
12511
+ var f = withMimeType(file);
12512
+ if (typeof f.path !== 'string') { // on electron, path is already set to the absolute path
12513
+ var webkitRelativePath = file.webkitRelativePath;
12514
+ Object.defineProperty(f, 'path', {
12515
+ value: typeof path === 'string'
12516
+ ? path
12517
+ // If <input webkitdirectory> is set,
12518
+ // the File will have a {webkitRelativePath} property
12519
+ // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory
12520
+ : typeof webkitRelativePath === 'string' && webkitRelativePath.length > 0
12521
+ ? webkitRelativePath
12522
+ : file.name,
12523
+ writable: false,
12524
+ configurable: false,
12525
+ enumerable: true
12526
+ });
12527
+ }
12528
+ return f;
12529
+ }
12530
+ function withMimeType(file) {
12531
+ var name = file.name;
12532
+ var hasExtension = name && name.lastIndexOf('.') !== -1;
12533
+ if (hasExtension && !file.type) {
12534
+ var ext = name.split('.')
12535
+ .pop().toLowerCase();
12536
+ var type = COMMON_MIME_TYPES.get(ext);
12537
+ if (type) {
12538
+ Object.defineProperty(file, 'type', {
12539
+ value: type,
12540
+ writable: false,
12541
+ configurable: false,
12542
+ enumerable: true
12543
+ });
12544
+ }
12545
+ }
12546
+ return file;
12547
+ }
12548
+
12549
+ var FILES_TO_IGNORE = [
12550
+ // Thumbnail cache files for macOS and Windows
12551
+ '.DS_Store',
12552
+ 'Thumbs.db' // Windows
12553
+ ];
12554
+ /**
12555
+ * Convert a DragEvent's DataTrasfer object to a list of File objects
12556
+ * NOTE: If some of the items are folders,
12557
+ * everything will be flattened and placed in the same list but the paths will be kept as a {path} property.
12558
+ *
12559
+ * EXPERIMENTAL: A list of https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle objects can also be passed as an arg
12560
+ * and a list of File objects will be returned.
12561
+ *
12562
+ * @param evt
12563
+ */
12564
+ function fromEvent(evt) {
12565
+ return __awaiter(this, void 0, void 0, function () {
12566
+ return __generator(this, function (_a) {
12567
+ if (isObject(evt) && isDataTransfer(evt.dataTransfer)) {
12568
+ return [2 /*return*/, getDataTransferFiles(evt.dataTransfer, evt.type)];
12569
+ }
12570
+ else if (isChangeEvt(evt)) {
12571
+ return [2 /*return*/, getInputFiles(evt)];
12572
+ }
12573
+ else if (Array.isArray(evt) && evt.every(function (item) { return 'getFile' in item && typeof item.getFile === 'function'; })) {
12574
+ return [2 /*return*/, getFsHandleFiles(evt)];
12575
+ }
12576
+ return [2 /*return*/, []];
12577
+ });
12578
+ });
12579
+ }
12580
+ function isDataTransfer(value) {
12581
+ return isObject(value);
12582
+ }
12583
+ function isChangeEvt(value) {
12584
+ return isObject(value) && isObject(value.target);
12585
+ }
12586
+ function isObject(v) {
12587
+ return typeof v === 'object' && v !== null;
12588
+ }
12589
+ function getInputFiles(evt) {
12590
+ return fromList(evt.target.files).map(function (file) { return toFileWithPath(file); });
12591
+ }
12592
+ // Ee expect each handle to be https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileHandle
12593
+ function getFsHandleFiles(handles) {
12594
+ return __awaiter(this, void 0, void 0, function () {
12595
+ var files;
12596
+ return __generator(this, function (_a) {
12597
+ switch (_a.label) {
12598
+ case 0: return [4 /*yield*/, Promise.all(handles.map(function (h) { return h.getFile(); }))];
12599
+ case 1:
12600
+ files = _a.sent();
12601
+ return [2 /*return*/, files.map(function (file) { return toFileWithPath(file); })];
12602
+ }
12603
+ });
12604
+ });
12605
+ }
12606
+ function getDataTransferFiles(dt, type) {
12607
+ return __awaiter(this, void 0, void 0, function () {
12608
+ var items, files;
12609
+ return __generator(this, function (_a) {
12610
+ switch (_a.label) {
12611
+ case 0:
12612
+ if (!dt.items) return [3 /*break*/, 2];
12613
+ items = fromList(dt.items)
12614
+ .filter(function (item) { return item.kind === 'file'; });
12615
+ // According to https://html.spec.whatwg.org/multipage/dnd.html#dndevents,
12616
+ // only 'dragstart' and 'drop' has access to the data (source node)
12617
+ if (type !== 'drop') {
12618
+ return [2 /*return*/, items];
12619
+ }
12620
+ return [4 /*yield*/, Promise.all(items.map(toFilePromises))];
12621
+ case 1:
12622
+ files = _a.sent();
12623
+ return [2 /*return*/, noIgnoredFiles(flatten(files))];
12624
+ case 2: return [2 /*return*/, noIgnoredFiles(fromList(dt.files)
12625
+ .map(function (file) { return toFileWithPath(file); }))];
12626
+ }
12627
+ });
12628
+ });
12629
+ }
12630
+ function noIgnoredFiles(files) {
12631
+ return files.filter(function (file) { return FILES_TO_IGNORE.indexOf(file.name) === -1; });
12632
+ }
12633
+ // IE11 does not support Array.from()
12634
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Browser_compatibility
12635
+ // https://developer.mozilla.org/en-US/docs/Web/API/FileList
12636
+ // https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList
12637
+ function fromList(items) {
12638
+ if (items === null) {
12639
+ return [];
12640
+ }
12641
+ var files = [];
12642
+ // tslint:disable: prefer-for-of
12643
+ for (var i = 0; i < items.length; i++) {
12644
+ var file = items[i];
12645
+ files.push(file);
12646
+ }
12647
+ return files;
12648
+ }
12649
+ // https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem
12650
+ function toFilePromises(item) {
12651
+ if (typeof item.webkitGetAsEntry !== 'function') {
12652
+ return fromDataTransferItem(item);
12653
+ }
12654
+ var entry = item.webkitGetAsEntry();
12655
+ // Safari supports dropping an image node from a different window and can be retrieved using
12656
+ // the DataTransferItem.getAsFile() API
12657
+ // NOTE: FileSystemEntry.file() throws if trying to get the file
12658
+ if (entry && entry.isDirectory) {
12659
+ return fromDirEntry(entry);
12660
+ }
12661
+ return fromDataTransferItem(item);
12662
+ }
12663
+ function flatten(items) {
12664
+ return items.reduce(function (acc, files) { return __spreadArray(__spreadArray([], __read(acc), false), __read((Array.isArray(files) ? flatten(files) : [files])), false); }, []);
12665
+ }
12666
+ function fromDataTransferItem(item) {
12667
+ var file = item.getAsFile();
12668
+ if (!file) {
12669
+ return Promise.reject("".concat(item, " is not a File"));
12670
+ }
12671
+ var fwp = toFileWithPath(file);
12672
+ return Promise.resolve(fwp);
12673
+ }
12674
+ // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry
12675
+ function fromEntry(entry) {
12676
+ return __awaiter(this, void 0, void 0, function () {
12677
+ return __generator(this, function (_a) {
12678
+ return [2 /*return*/, entry.isDirectory ? fromDirEntry(entry) : fromFileEntry(entry)];
12679
+ });
12680
+ });
12681
+ }
12682
+ // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry
12683
+ function fromDirEntry(entry) {
12684
+ var reader = entry.createReader();
12685
+ return new Promise(function (resolve, reject) {
12686
+ var entries = [];
12687
+ function readEntries() {
12688
+ var _this = this;
12689
+ // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry/createReader
12690
+ // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryReader/readEntries
12691
+ reader.readEntries(function (batch) { return __awaiter(_this, void 0, void 0, function () {
12692
+ var files, err_1, items;
12693
+ return __generator(this, function (_a) {
12694
+ switch (_a.label) {
12695
+ case 0:
12696
+ if (!!batch.length) return [3 /*break*/, 5];
12697
+ _a.label = 1;
12698
+ case 1:
12699
+ _a.trys.push([1, 3, , 4]);
12700
+ return [4 /*yield*/, Promise.all(entries)];
12701
+ case 2:
12702
+ files = _a.sent();
12703
+ resolve(files);
12704
+ return [3 /*break*/, 4];
12705
+ case 3:
12706
+ err_1 = _a.sent();
12707
+ reject(err_1);
12708
+ return [3 /*break*/, 4];
12709
+ case 4: return [3 /*break*/, 6];
12710
+ case 5:
12711
+ items = Promise.all(batch.map(fromEntry));
12712
+ entries.push(items);
12713
+ // Continue reading
12714
+ readEntries();
12715
+ _a.label = 6;
12716
+ case 6: return [2 /*return*/];
12717
+ }
12718
+ });
12719
+ }); }, function (err) {
12720
+ reject(err);
12721
+ });
12722
+ }
12723
+ readEntries();
12724
+ });
12725
+ }
12726
+ // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileEntry
12727
+ function fromFileEntry(entry) {
12728
+ return __awaiter(this, void 0, void 0, function () {
12729
+ return __generator(this, function (_a) {
12730
+ return [2 /*return*/, new Promise(function (resolve, reject) {
12731
+ entry.file(function (file) {
12732
+ var fwp = toFileWithPath(file, entry.fullPath);
12733
+ resolve(fwp);
12734
+ }, function (err) {
12735
+ reject(err);
12736
+ });
12737
+ })];
12738
+ });
12739
+ });
12740
+ }
12741
+
12742
+ var _default = function (file, acceptedFiles) {
12743
+ if (file && acceptedFiles) {
12744
+ var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');
12745
+ var fileName = file.name || '';
12746
+ var mimeType = (file.type || '').toLowerCase();
12747
+ var baseMimeType = mimeType.replace(/\/.*$/, '');
12748
+ return acceptedFilesArray.some(function (type) {
12749
+ var validType = type.trim().toLowerCase();
12750
+
12751
+ if (validType.charAt(0) === '.') {
12752
+ return fileName.toLowerCase().endsWith(validType);
12753
+ } else if (validType.endsWith('/*')) {
12754
+ // This is something like a image/* mime type
12755
+ return baseMimeType === validType.replace(/\/.*$/, '');
12756
+ }
12757
+
12758
+ return mimeType === validType;
12759
+ });
12760
+ }
12761
+
12762
+ return true;
12763
+ };
12764
+
12765
+ function _toConsumableArray$1(arr) { return _arrayWithoutHoles$1(arr) || _iterableToArray$1(arr) || _unsupportedIterableToArray$1(arr) || _nonIterableSpread$1(); }
12766
+
12767
+ 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."); }
12768
+
12769
+ function _iterableToArray$1(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
12770
+
12771
+ function _arrayWithoutHoles$1(arr) { if (Array.isArray(arr)) return _arrayLikeToArray$1(arr); }
12772
+
12773
+ 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; }
12774
+
12775
+ 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; }
12776
+
12777
+ 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; }
12778
+
12779
+ function _slicedToArray$1(arr, i) { return _arrayWithHoles$1(arr) || _iterableToArrayLimit$1(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest$1(); }
12780
+
12781
+ 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."); }
12782
+
12783
+ 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); }
12784
+
12785
+ 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; }
12786
+
12787
+ 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; }
12788
+
12789
+ function _arrayWithHoles$1(arr) { if (Array.isArray(arr)) return arr; }
12790
+
12791
+ var FILE_INVALID_TYPE = "file-invalid-type";
12792
+ var FILE_TOO_LARGE = "file-too-large";
12793
+ var FILE_TOO_SMALL = "file-too-small";
12794
+ var TOO_MANY_FILES = "too-many-files";
12795
+
12796
+ var getInvalidTypeRejectionErr = function getInvalidTypeRejectionErr(accept) {
12797
+ accept = Array.isArray(accept) && accept.length === 1 ? accept[0] : accept;
12798
+ var messageSuffix = Array.isArray(accept) ? "one of ".concat(accept.join(", ")) : accept;
12799
+ return {
12800
+ code: FILE_INVALID_TYPE,
12801
+ message: "File type must be ".concat(messageSuffix)
12802
+ };
12803
+ };
12804
+ var getTooLargeRejectionErr = function getTooLargeRejectionErr(maxSize) {
12805
+ return {
12806
+ code: FILE_TOO_LARGE,
12807
+ message: "File is larger than ".concat(maxSize, " ").concat(maxSize === 1 ? "byte" : "bytes")
12808
+ };
12809
+ };
12810
+ var getTooSmallRejectionErr = function getTooSmallRejectionErr(minSize) {
12811
+ return {
12812
+ code: FILE_TOO_SMALL,
12813
+ message: "File is smaller than ".concat(minSize, " ").concat(minSize === 1 ? "byte" : "bytes")
12814
+ };
12815
+ };
12816
+ var TOO_MANY_FILES_REJECTION = {
12817
+ code: TOO_MANY_FILES,
12818
+ message: "Too many files"
12819
+ }; // Firefox versions prior to 53 return a bogus MIME type for every file drag, so dragovers with
12820
+ // that MIME type will always be accepted
12821
+
12822
+ function fileAccepted(file, accept) {
12823
+ var isAcceptable = file.type === "application/x-moz-file" || _default(file, accept);
12824
+ return [isAcceptable, isAcceptable ? null : getInvalidTypeRejectionErr(accept)];
12825
+ }
12826
+ function fileMatchSize(file, minSize, maxSize) {
12827
+ if (isDefined(file.size)) {
12828
+ if (isDefined(minSize) && isDefined(maxSize)) {
12829
+ if (file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];
12830
+ if (file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];
12831
+ } else if (isDefined(minSize) && file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];else if (isDefined(maxSize) && file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];
12832
+ }
12833
+
12834
+ return [true, null];
12835
+ }
12836
+
12837
+ function isDefined(value) {
12838
+ return value !== undefined && value !== null;
12839
+ }
12840
+ /**
12841
+ *
12842
+ * @param {object} options
12843
+ * @param {File[]} options.files
12844
+ * @param {string|string[]} [options.accept]
12845
+ * @param {number} [options.minSize]
12846
+ * @param {number} [options.maxSize]
12847
+ * @param {boolean} [options.multiple]
12848
+ * @param {number} [options.maxFiles]
12849
+ * @param {(f: File) => FileError|FileError[]|null} [options.validator]
12850
+ * @returns
12851
+ */
12852
+
12853
+
12854
+ function allFilesAccepted(_ref) {
12855
+ var files = _ref.files,
12856
+ accept = _ref.accept,
12857
+ minSize = _ref.minSize,
12858
+ maxSize = _ref.maxSize,
12859
+ multiple = _ref.multiple,
12860
+ maxFiles = _ref.maxFiles,
12861
+ validator = _ref.validator;
12862
+
12863
+ if (!multiple && files.length > 1 || multiple && maxFiles >= 1 && files.length > maxFiles) {
12864
+ return false;
12865
+ }
12866
+
12867
+ return files.every(function (file) {
12868
+ var _fileAccepted = fileAccepted(file, accept),
12869
+ _fileAccepted2 = _slicedToArray$1(_fileAccepted, 1),
12870
+ accepted = _fileAccepted2[0];
12871
+
12872
+ var _fileMatchSize = fileMatchSize(file, minSize, maxSize),
12873
+ _fileMatchSize2 = _slicedToArray$1(_fileMatchSize, 1),
12874
+ sizeMatch = _fileMatchSize2[0];
12875
+
12876
+ var customErrors = validator ? validator(file) : null;
12877
+ return accepted && sizeMatch && !customErrors;
12878
+ });
12879
+ } // React's synthetic events has event.isPropagationStopped,
12880
+ // but to remain compatibility with other libs (Preact) fall back
12881
+ // to check event.cancelBubble
12882
+
12883
+ function isPropagationStopped(event) {
12884
+ if (typeof event.isPropagationStopped === "function") {
12885
+ return event.isPropagationStopped();
12886
+ } else if (typeof event.cancelBubble !== "undefined") {
12887
+ return event.cancelBubble;
12888
+ }
12889
+
12890
+ return false;
12891
+ }
12892
+ function isEvtWithFiles(event) {
12893
+ if (!event.dataTransfer) {
12894
+ return !!event.target && !!event.target.files;
12895
+ } // https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/types
12896
+ // https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Recommended_drag_types#file
12897
+
12898
+
12899
+ return Array.prototype.some.call(event.dataTransfer.types, function (type) {
12900
+ return type === "Files" || type === "application/x-moz-file";
12901
+ });
12902
+ }
12903
+
12904
+ function onDocumentDragOver(event) {
12905
+ event.preventDefault();
12906
+ }
12907
+
12908
+ function isIe(userAgent) {
12909
+ return userAgent.indexOf("MSIE") !== -1 || userAgent.indexOf("Trident/") !== -1;
12910
+ }
12911
+
12912
+ function isEdge(userAgent) {
12913
+ return userAgent.indexOf("Edge/") !== -1;
12914
+ }
12915
+
12916
+ function isIeOrEdge() {
12917
+ var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.navigator.userAgent;
12918
+ return isIe(userAgent) || isEdge(userAgent);
12919
+ }
12920
+ /**
12921
+ * This is intended to be used to compose event handlers
12922
+ * They are executed in order until one of them calls `event.isPropagationStopped()`.
12923
+ * Note that the check is done on the first invoke too,
12924
+ * meaning that if propagation was stopped before invoking the fns,
12925
+ * no handlers will be executed.
12926
+ *
12927
+ * @param {Function} fns the event hanlder functions
12928
+ * @return {Function} the event handler to add to an element
12929
+ */
12930
+
12931
+ function composeEventHandlers() {
12932
+ for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {
12933
+ fns[_key] = arguments[_key];
12934
+ }
12935
+
12936
+ return function (event) {
12937
+ for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
12938
+ args[_key2 - 1] = arguments[_key2];
12939
+ }
12940
+
12941
+ return fns.some(function (fn) {
12942
+ if (!isPropagationStopped(event) && fn) {
12943
+ fn.apply(void 0, [event].concat(args));
12944
+ }
12945
+
12946
+ return isPropagationStopped(event);
12947
+ });
12948
+ };
12949
+ }
12950
+ /**
12951
+ * canUseFileSystemAccessAPI checks if the [File System Access API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API)
12952
+ * is supported by the browser.
12953
+ * @returns {boolean}
12954
+ */
12955
+
12956
+ function canUseFileSystemAccessAPI() {
12957
+ return "showOpenFilePicker" in window;
12958
+ }
12959
+ /**
12960
+ * Convert the `{accept}` dropzone prop to the
12961
+ * `{types}` option for https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker
12962
+ *
12963
+ * @param {AcceptProp} accept
12964
+ * @returns {{accept: string[]}[]}
12965
+ */
12966
+
12967
+ function pickerOptionsFromAccept(accept) {
12968
+ if (isDefined(accept)) {
12969
+ var acceptForPicker = Object.entries(accept).filter(function (_ref2) {
12970
+ var _ref3 = _slicedToArray$1(_ref2, 2),
12971
+ mimeType = _ref3[0],
12972
+ ext = _ref3[1];
12973
+
12974
+ var ok = true;
12975
+
12976
+ if (!isMIMEType(mimeType)) {
12977
+ 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."));
12978
+ ok = false;
12979
+ }
12980
+
12981
+ if (!Array.isArray(ext) || !ext.every(isExt)) {
12982
+ console.warn("Skipped \"".concat(mimeType, "\" because an invalid file extension was provided."));
12983
+ ok = false;
12984
+ }
12985
+
12986
+ return ok;
12987
+ }).reduce(function (agg, _ref4) {
12988
+ var _ref5 = _slicedToArray$1(_ref4, 2),
12989
+ mimeType = _ref5[0],
12990
+ ext = _ref5[1];
12991
+
12992
+ return _objectSpread$1(_objectSpread$1({}, agg), {}, _defineProperty$1({}, mimeType, ext));
12993
+ }, {});
12994
+ return [{
12995
+ // description is required due to https://crbug.com/1264708
12996
+ description: "Files",
12997
+ accept: acceptForPicker
12998
+ }];
12999
+ }
13000
+
13001
+ return accept;
13002
+ }
13003
+ /**
13004
+ * Convert the `{accept}` dropzone prop to an array of MIME types/extensions.
13005
+ * @param {AcceptProp} accept
13006
+ * @returns {string}
13007
+ */
13008
+
13009
+ function acceptPropAsAcceptAttr(accept) {
13010
+ if (isDefined(accept)) {
13011
+ return Object.entries(accept).reduce(function (a, _ref6) {
13012
+ var _ref7 = _slicedToArray$1(_ref6, 2),
13013
+ mimeType = _ref7[0],
13014
+ ext = _ref7[1];
13015
+
13016
+ return [].concat(_toConsumableArray$1(a), [mimeType], _toConsumableArray$1(ext));
13017
+ }, []) // Silently discard invalid entries as pickerOptionsFromAccept warns about these
13018
+ .filter(function (v) {
13019
+ return isMIMEType(v) || isExt(v);
13020
+ }).join(",");
13021
+ }
13022
+
13023
+ return undefined;
13024
+ }
13025
+ /**
13026
+ * Check if v is an exception caused by aborting a request (e.g window.showOpenFilePicker()).
13027
+ *
13028
+ * See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.
13029
+ * @param {any} v
13030
+ * @returns {boolean} True if v is an abort exception.
13031
+ */
13032
+
13033
+ function isAbort(v) {
13034
+ return v instanceof DOMException && (v.name === "AbortError" || v.code === v.ABORT_ERR);
13035
+ }
13036
+ /**
13037
+ * Check if v is a security error.
13038
+ *
13039
+ * See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.
13040
+ * @param {any} v
13041
+ * @returns {boolean} True if v is a security error.
13042
+ */
13043
+
13044
+ function isSecurityError(v) {
13045
+ return v instanceof DOMException && (v.name === "SecurityError" || v.code === v.SECURITY_ERR);
13046
+ }
13047
+ /**
13048
+ * Check if v is a MIME type string.
13049
+ *
13050
+ * See accepted format: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers.
13051
+ *
13052
+ * @param {string} v
13053
+ */
13054
+
13055
+ function isMIMEType(v) {
13056
+ return v === "audio/*" || v === "video/*" || v === "image/*" || v === "text/*" || /\w+\/[-+.\w]+/g.test(v);
13057
+ }
13058
+ /**
13059
+ * Check if v is a file extension.
13060
+ * @param {string} v
13061
+ */
13062
+
13063
+ function isExt(v) {
13064
+ return /^.*\.[\w]+$/.test(v);
13065
+ }
13066
+ /**
13067
+ * @typedef {Object.<string, string[]>} AcceptProp
13068
+ */
13069
+
13070
+ /**
13071
+ * @typedef {object} FileError
13072
+ * @property {string} message
13073
+ * @property {ErrorCode|string} code
13074
+ */
13075
+
13076
+ /**
13077
+ * @typedef {"file-invalid-type"|"file-too-large"|"file-too-small"|"too-many-files"} ErrorCode
13078
+ */
13079
+
13080
+ var _excluded = ["children"],
13081
+ _excluded2 = ["open"],
13082
+ _excluded3 = ["refKey", "role", "onKeyDown", "onFocus", "onBlur", "onClick", "onDragEnter", "onDragOver", "onDragLeave", "onDrop"],
13083
+ _excluded4 = ["refKey", "onChange", "onClick"];
13084
+
13085
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
13086
+
13087
+ 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."); }
13088
+
13089
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
13090
+
13091
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
13092
+
13093
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
13094
+
13095
+ 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."); }
13096
+
13097
+ 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); }
13098
+
13099
+ 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; }
13100
+
13101
+ 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; }
13102
+
13103
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13104
+
13105
+ 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; }
13106
+
13107
+ 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; }
13108
+
13109
+ 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; }
13110
+
13111
+ 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; }
13112
+
13113
+ 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; }
13114
+ /**
13115
+ * Convenience wrapper component for the `useDropzone` hook
13116
+ *
13117
+ * ```jsx
13118
+ * <Dropzone>
13119
+ * {({getRootProps, getInputProps}) => (
13120
+ * <div {...getRootProps()}>
13121
+ * <input {...getInputProps()} />
13122
+ * <p>Drag 'n' drop some files here, or click to select files</p>
13123
+ * </div>
13124
+ * )}
13125
+ * </Dropzone>
13126
+ * ```
13127
+ */
13128
+
13129
+ var Dropzone = /*#__PURE__*/React$3.forwardRef(function (_ref, ref) {
13130
+ var children = _ref.children,
13131
+ params = _objectWithoutProperties(_ref, _excluded);
13132
+
13133
+ var _useDropzone = useDropzone(params),
13134
+ open = _useDropzone.open,
13135
+ props = _objectWithoutProperties(_useDropzone, _excluded2);
13136
+
13137
+ React$3.useImperativeHandle(ref, function () {
13138
+ return {
13139
+ open: open
13140
+ };
13141
+ }, [open]); // TODO: Figure out why react-styleguidist cannot create docs if we don't return a jsx element
13142
+
13143
+ return /*#__PURE__*/React__default["default"].createElement(React$3.Fragment, null, children(_objectSpread(_objectSpread({}, props), {}, {
13144
+ open: open
13145
+ })));
13146
+ });
13147
+ Dropzone.displayName = "Dropzone"; // Add default props for react-docgen
13148
+
13149
+ var defaultProps = {
13150
+ disabled: false,
13151
+ getFilesFromEvent: fromEvent,
13152
+ maxSize: Infinity,
13153
+ minSize: 0,
13154
+ multiple: true,
13155
+ maxFiles: 0,
13156
+ preventDropOnDocument: true,
13157
+ noClick: false,
13158
+ noKeyboard: false,
13159
+ noDrag: false,
13160
+ noDragEventsBubbling: false,
13161
+ validator: null,
13162
+ useFsAccessApi: true,
13163
+ autoFocus: false
13164
+ };
13165
+ Dropzone.defaultProps = defaultProps;
13166
+ Dropzone.propTypes = {
13167
+ /**
13168
+ * Render function that exposes the dropzone state and prop getter fns
13169
+ *
13170
+ * @param {object} params
13171
+ * @param {Function} params.getRootProps Returns the props you should apply to the root drop container you render
13172
+ * @param {Function} params.getInputProps Returns the props you should apply to hidden file input you render
13173
+ * @param {Function} params.open Open the native file selection dialog
13174
+ * @param {boolean} params.isFocused Dropzone area is in focus
13175
+ * @param {boolean} params.isFileDialogActive File dialog is opened
13176
+ * @param {boolean} params.isDragActive Active drag is in progress
13177
+ * @param {boolean} params.isDragAccept Dragged files are accepted
13178
+ * @param {boolean} params.isDragReject Some dragged files are rejected
13179
+ * @param {File[]} params.acceptedFiles Accepted files
13180
+ * @param {FileRejection[]} params.fileRejections Rejected files and why they were rejected
13181
+ */
13182
+ children: PropTypes.func,
13183
+
13184
+ /**
13185
+ * Set accepted file types.
13186
+ * Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.
13187
+ * Keep in mind that mime type determination is not reliable across platforms. CSV files,
13188
+ * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under
13189
+ * Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).
13190
+ */
13191
+ accept: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.string)),
13192
+
13193
+ /**
13194
+ * Allow drag 'n' drop (or selection from the file dialog) of multiple files
13195
+ */
13196
+ multiple: PropTypes.bool,
13197
+
13198
+ /**
13199
+ * If false, allow dropped items to take over the current browser window
13200
+ */
13201
+ preventDropOnDocument: PropTypes.bool,
13202
+
13203
+ /**
13204
+ * If true, disables click to open the native file selection dialog
13205
+ */
13206
+ noClick: PropTypes.bool,
13207
+
13208
+ /**
13209
+ * If true, disables SPACE/ENTER to open the native file selection dialog.
13210
+ * Note that it also stops tracking the focus state.
13211
+ */
13212
+ noKeyboard: PropTypes.bool,
13213
+
13214
+ /**
13215
+ * If true, disables drag 'n' drop
13216
+ */
13217
+ noDrag: PropTypes.bool,
13218
+
13219
+ /**
13220
+ * If true, stops drag event propagation to parents
13221
+ */
13222
+ noDragEventsBubbling: PropTypes.bool,
13223
+
13224
+ /**
13225
+ * Minimum file size (in bytes)
13226
+ */
13227
+ minSize: PropTypes.number,
13228
+
13229
+ /**
13230
+ * Maximum file size (in bytes)
13231
+ */
13232
+ maxSize: PropTypes.number,
13233
+
13234
+ /**
13235
+ * Maximum accepted number of files
13236
+ * The default value is 0 which means there is no limitation to how many files are accepted.
13237
+ */
13238
+ maxFiles: PropTypes.number,
13239
+
13240
+ /**
13241
+ * Enable/disable the dropzone
13242
+ */
13243
+ disabled: PropTypes.bool,
13244
+
13245
+ /**
13246
+ * Use this to provide a custom file aggregator
13247
+ *
13248
+ * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
13249
+ */
13250
+ getFilesFromEvent: PropTypes.func,
13251
+
13252
+ /**
13253
+ * Cb for when closing the file dialog with no selection
13254
+ */
13255
+ onFileDialogCancel: PropTypes.func,
13256
+
13257
+ /**
13258
+ * Cb for when opening the file dialog
13259
+ */
13260
+ onFileDialogOpen: PropTypes.func,
13261
+
13262
+ /**
13263
+ * Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API
13264
+ * to open the file picker instead of using an `<input type="file">` click event.
13265
+ */
13266
+ useFsAccessApi: PropTypes.bool,
13267
+
13268
+ /**
13269
+ * Set to true to focus the root element on render
13270
+ */
13271
+ autoFocus: PropTypes.bool,
13272
+
13273
+ /**
13274
+ * Cb for when the `dragenter` event occurs.
13275
+ *
13276
+ * @param {DragEvent} event
13277
+ */
13278
+ onDragEnter: PropTypes.func,
13279
+
13280
+ /**
13281
+ * Cb for when the `dragleave` event occurs
13282
+ *
13283
+ * @param {DragEvent} event
13284
+ */
13285
+ onDragLeave: PropTypes.func,
13286
+
13287
+ /**
13288
+ * Cb for when the `dragover` event occurs
13289
+ *
13290
+ * @param {DragEvent} event
13291
+ */
13292
+ onDragOver: PropTypes.func,
13293
+
13294
+ /**
13295
+ * Cb for when the `drop` event occurs.
13296
+ * Note that this callback is invoked after the `getFilesFromEvent` callback is done.
13297
+ *
13298
+ * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.
13299
+ * `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.
13300
+ * If `multiple` is set to false and additional files are dropped,
13301
+ * all files besides the first will be rejected.
13302
+ * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.
13303
+ *
13304
+ * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.
13305
+ * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.
13306
+ *
13307
+ * `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.
13308
+ * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:
13309
+ *
13310
+ * ```js
13311
+ * function onDrop(acceptedFiles) {
13312
+ * const req = request.post('/upload')
13313
+ * acceptedFiles.forEach(file => {
13314
+ * req.attach(file.name, file)
13315
+ * })
13316
+ * req.end(callback)
13317
+ * }
13318
+ * ```
13319
+ *
13320
+ * @param {File[]} acceptedFiles
13321
+ * @param {FileRejection[]} fileRejections
13322
+ * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
13323
+ */
13324
+ onDrop: PropTypes.func,
13325
+
13326
+ /**
13327
+ * Cb for when the `drop` event occurs.
13328
+ * Note that if no files are accepted, this callback is not invoked.
13329
+ *
13330
+ * @param {File[]} files
13331
+ * @param {(DragEvent|Event)} event
13332
+ */
13333
+ onDropAccepted: PropTypes.func,
13334
+
13335
+ /**
13336
+ * Cb for when the `drop` event occurs.
13337
+ * Note that if no files are rejected, this callback is not invoked.
13338
+ *
13339
+ * @param {FileRejection[]} fileRejections
13340
+ * @param {(DragEvent|Event)} event
13341
+ */
13342
+ onDropRejected: PropTypes.func,
13343
+
13344
+ /**
13345
+ * Cb for when there's some error from any of the promises.
13346
+ *
13347
+ * @param {Error} error
13348
+ */
13349
+ onError: PropTypes.func,
13350
+
13351
+ /**
13352
+ * Custom validation function. It must return null if there's no errors.
13353
+ * @param {File} file
13354
+ * @returns {FileError|FileError[]|null}
13355
+ */
13356
+ validator: PropTypes.func
13357
+ };
13358
+ /**
13359
+ * A function that is invoked for the `dragenter`,
13360
+ * `dragover` and `dragleave` events.
13361
+ * It is not invoked if the items are not files (such as link, text, etc.).
13362
+ *
13363
+ * @callback dragCb
13364
+ * @param {DragEvent} event
13365
+ */
13366
+
13367
+ /**
13368
+ * A function that is invoked for the `drop` or input change event.
13369
+ * It is not invoked if the items are not files (such as link, text, etc.).
13370
+ *
13371
+ * @callback dropCb
13372
+ * @param {File[]} acceptedFiles List of accepted files
13373
+ * @param {FileRejection[]} fileRejections List of rejected files and why they were rejected
13374
+ * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
13375
+ */
13376
+
13377
+ /**
13378
+ * A function that is invoked for the `drop` or input change event.
13379
+ * It is not invoked if the items are files (such as link, text, etc.).
13380
+ *
13381
+ * @callback dropAcceptedCb
13382
+ * @param {File[]} files List of accepted files that meet the given criteria
13383
+ * (`accept`, `multiple`, `minSize`, `maxSize`)
13384
+ * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
13385
+ */
13386
+
13387
+ /**
13388
+ * A function that is invoked for the `drop` or input change event.
13389
+ *
13390
+ * @callback dropRejectedCb
13391
+ * @param {File[]} files List of rejected files that do not meet the given criteria
13392
+ * (`accept`, `multiple`, `minSize`, `maxSize`)
13393
+ * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
13394
+ */
13395
+
13396
+ /**
13397
+ * A function that is used aggregate files,
13398
+ * in a asynchronous fashion, from drag or input change events.
13399
+ *
13400
+ * @callback getFilesFromEvent
13401
+ * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
13402
+ * @returns {(File[]|Promise<File[]>)}
13403
+ */
13404
+
13405
+ /**
13406
+ * An object with the current dropzone state.
13407
+ *
13408
+ * @typedef {object} DropzoneState
13409
+ * @property {boolean} isFocused Dropzone area is in focus
13410
+ * @property {boolean} isFileDialogActive File dialog is opened
13411
+ * @property {boolean} isDragActive Active drag is in progress
13412
+ * @property {boolean} isDragAccept Dragged files are accepted
13413
+ * @property {boolean} isDragReject Some dragged files are rejected
13414
+ * @property {File[]} acceptedFiles Accepted files
13415
+ * @property {FileRejection[]} fileRejections Rejected files and why they were rejected
13416
+ */
13417
+
13418
+ /**
13419
+ * An object with the dropzone methods.
13420
+ *
13421
+ * @typedef {object} DropzoneMethods
13422
+ * @property {Function} getRootProps Returns the props you should apply to the root drop container you render
13423
+ * @property {Function} getInputProps Returns the props you should apply to hidden file input you render
13424
+ * @property {Function} open Open the native file selection dialog
13425
+ */
13426
+
13427
+ var initialState = {
13428
+ isFocused: false,
13429
+ isFileDialogActive: false,
13430
+ isDragActive: false,
13431
+ isDragAccept: false,
13432
+ isDragReject: false,
13433
+ acceptedFiles: [],
13434
+ fileRejections: []
13435
+ };
13436
+ /**
13437
+ * A React hook that creates a drag 'n' drop area.
13438
+ *
13439
+ * ```jsx
13440
+ * function MyDropzone(props) {
13441
+ * const {getRootProps, getInputProps} = useDropzone({
13442
+ * onDrop: acceptedFiles => {
13443
+ * // do something with the File objects, e.g. upload to some server
13444
+ * }
13445
+ * });
13446
+ * return (
13447
+ * <div {...getRootProps()}>
13448
+ * <input {...getInputProps()} />
13449
+ * <p>Drag and drop some files here, or click to select files</p>
13450
+ * </div>
13451
+ * )
13452
+ * }
13453
+ * ```
13454
+ *
13455
+ * @function useDropzone
13456
+ *
13457
+ * @param {object} props
13458
+ * @param {import("./utils").AcceptProp} [props.accept] Set accepted file types.
13459
+ * Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.
13460
+ * Keep in mind that mime type determination is not reliable across platforms. CSV files,
13461
+ * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under
13462
+ * Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).
13463
+ * @param {boolean} [props.multiple=true] Allow drag 'n' drop (or selection from the file dialog) of multiple files
13464
+ * @param {boolean} [props.preventDropOnDocument=true] If false, allow dropped items to take over the current browser window
13465
+ * @param {boolean} [props.noClick=false] If true, disables click to open the native file selection dialog
13466
+ * @param {boolean} [props.noKeyboard=false] If true, disables SPACE/ENTER to open the native file selection dialog.
13467
+ * Note that it also stops tracking the focus state.
13468
+ * @param {boolean} [props.noDrag=false] If true, disables drag 'n' drop
13469
+ * @param {boolean} [props.noDragEventsBubbling=false] If true, stops drag event propagation to parents
13470
+ * @param {number} [props.minSize=0] Minimum file size (in bytes)
13471
+ * @param {number} [props.maxSize=Infinity] Maximum file size (in bytes)
13472
+ * @param {boolean} [props.disabled=false] Enable/disable the dropzone
13473
+ * @param {getFilesFromEvent} [props.getFilesFromEvent] Use this to provide a custom file aggregator
13474
+ * @param {Function} [props.onFileDialogCancel] Cb for when closing the file dialog with no selection
13475
+ * @param {boolean} [props.useFsAccessApi] Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API
13476
+ * to open the file picker instead of using an `<input type="file">` click event.
13477
+ * @param {boolean} autoFocus Set to true to auto focus the root element.
13478
+ * @param {Function} [props.onFileDialogOpen] Cb for when opening the file dialog
13479
+ * @param {dragCb} [props.onDragEnter] Cb for when the `dragenter` event occurs.
13480
+ * @param {dragCb} [props.onDragLeave] Cb for when the `dragleave` event occurs
13481
+ * @param {dragCb} [props.onDragOver] Cb for when the `dragover` event occurs
13482
+ * @param {dropCb} [props.onDrop] Cb for when the `drop` event occurs.
13483
+ * Note that this callback is invoked after the `getFilesFromEvent` callback is done.
13484
+ *
13485
+ * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.
13486
+ * `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).
13487
+ * If `multiple` is set to false and additional files are dropped,
13488
+ * all files besides the first will be rejected.
13489
+ * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.
13490
+ *
13491
+ * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.
13492
+ * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.
13493
+ *
13494
+ * `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.
13495
+ * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:
13496
+ *
13497
+ * ```js
13498
+ * function onDrop(acceptedFiles) {
13499
+ * const req = request.post('/upload')
13500
+ * acceptedFiles.forEach(file => {
13501
+ * req.attach(file.name, file)
13502
+ * })
13503
+ * req.end(callback)
13504
+ * }
13505
+ * ```
13506
+ * @param {dropAcceptedCb} [props.onDropAccepted]
13507
+ * @param {dropRejectedCb} [props.onDropRejected]
13508
+ * @param {(error: Error) => void} [props.onError]
13509
+ *
13510
+ * @returns {DropzoneState & DropzoneMethods}
13511
+ */
13512
+
13513
+ function useDropzone() {
13514
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
13515
+
13516
+ var _defaultProps$props = _objectSpread(_objectSpread({}, defaultProps), props),
13517
+ accept = _defaultProps$props.accept,
13518
+ disabled = _defaultProps$props.disabled,
13519
+ getFilesFromEvent = _defaultProps$props.getFilesFromEvent,
13520
+ maxSize = _defaultProps$props.maxSize,
13521
+ minSize = _defaultProps$props.minSize,
13522
+ multiple = _defaultProps$props.multiple,
13523
+ maxFiles = _defaultProps$props.maxFiles,
13524
+ onDragEnter = _defaultProps$props.onDragEnter,
13525
+ onDragLeave = _defaultProps$props.onDragLeave,
13526
+ onDragOver = _defaultProps$props.onDragOver,
13527
+ onDrop = _defaultProps$props.onDrop,
13528
+ onDropAccepted = _defaultProps$props.onDropAccepted,
13529
+ onDropRejected = _defaultProps$props.onDropRejected,
13530
+ onFileDialogCancel = _defaultProps$props.onFileDialogCancel,
13531
+ onFileDialogOpen = _defaultProps$props.onFileDialogOpen,
13532
+ useFsAccessApi = _defaultProps$props.useFsAccessApi,
13533
+ autoFocus = _defaultProps$props.autoFocus,
13534
+ preventDropOnDocument = _defaultProps$props.preventDropOnDocument,
13535
+ noClick = _defaultProps$props.noClick,
13536
+ noKeyboard = _defaultProps$props.noKeyboard,
13537
+ noDrag = _defaultProps$props.noDrag,
13538
+ noDragEventsBubbling = _defaultProps$props.noDragEventsBubbling,
13539
+ onError = _defaultProps$props.onError,
13540
+ validator = _defaultProps$props.validator;
13541
+
13542
+ var acceptAttr = React$3.useMemo(function () {
13543
+ return acceptPropAsAcceptAttr(accept);
13544
+ }, [accept]);
13545
+ var pickerTypes = React$3.useMemo(function () {
13546
+ return pickerOptionsFromAccept(accept);
13547
+ }, [accept]);
13548
+ var onFileDialogOpenCb = React$3.useMemo(function () {
13549
+ return typeof onFileDialogOpen === "function" ? onFileDialogOpen : noop;
13550
+ }, [onFileDialogOpen]);
13551
+ var onFileDialogCancelCb = React$3.useMemo(function () {
13552
+ return typeof onFileDialogCancel === "function" ? onFileDialogCancel : noop;
13553
+ }, [onFileDialogCancel]);
13554
+ /**
13555
+ * @constant
13556
+ * @type {React.MutableRefObject<HTMLElement>}
13557
+ */
13558
+
13559
+ var rootRef = React$3.useRef(null);
13560
+ var inputRef = React$3.useRef(null);
13561
+
13562
+ var _useReducer = React$3.useReducer(reducer, initialState),
13563
+ _useReducer2 = _slicedToArray(_useReducer, 2),
13564
+ state = _useReducer2[0],
13565
+ dispatch = _useReducer2[1];
13566
+
13567
+ var isFocused = state.isFocused,
13568
+ isFileDialogActive = state.isFileDialogActive;
13569
+ var fsAccessApiWorksRef = React$3.useRef(typeof window !== "undefined" && window.isSecureContext && useFsAccessApi && canUseFileSystemAccessAPI()); // Update file dialog active state when the window is focused on
13570
+
13571
+ var onWindowFocus = function onWindowFocus() {
13572
+ // Execute the timeout only if the file dialog is opened in the browser
13573
+ if (!fsAccessApiWorksRef.current && isFileDialogActive) {
13574
+ setTimeout(function () {
13575
+ if (inputRef.current) {
13576
+ var files = inputRef.current.files;
13577
+
13578
+ if (!files.length) {
13579
+ dispatch({
13580
+ type: "closeDialog"
13581
+ });
13582
+ onFileDialogCancelCb();
13583
+ }
13584
+ }
13585
+ }, 300);
13586
+ }
13587
+ };
13588
+
13589
+ React$3.useEffect(function () {
13590
+ window.addEventListener("focus", onWindowFocus, false);
13591
+ return function () {
13592
+ window.removeEventListener("focus", onWindowFocus, false);
13593
+ };
13594
+ }, [inputRef, isFileDialogActive, onFileDialogCancelCb, fsAccessApiWorksRef]);
13595
+ var dragTargetsRef = React$3.useRef([]);
13596
+
13597
+ var onDocumentDrop = function onDocumentDrop(event) {
13598
+ if (rootRef.current && rootRef.current.contains(event.target)) {
13599
+ // If we intercepted an event for our instance, let it propagate down to the instance's onDrop handler
13600
+ return;
13601
+ }
13602
+
13603
+ event.preventDefault();
13604
+ dragTargetsRef.current = [];
13605
+ };
13606
+
13607
+ React$3.useEffect(function () {
13608
+ if (preventDropOnDocument) {
13609
+ document.addEventListener("dragover", onDocumentDragOver, false);
13610
+ document.addEventListener("drop", onDocumentDrop, false);
13611
+ }
13612
+
13613
+ return function () {
13614
+ if (preventDropOnDocument) {
13615
+ document.removeEventListener("dragover", onDocumentDragOver);
13616
+ document.removeEventListener("drop", onDocumentDrop);
13617
+ }
13618
+ };
13619
+ }, [rootRef, preventDropOnDocument]); // Auto focus the root when autoFocus is true
13620
+
13621
+ React$3.useEffect(function () {
13622
+ if (!disabled && autoFocus && rootRef.current) {
13623
+ rootRef.current.focus();
13624
+ }
13625
+
13626
+ return function () {};
13627
+ }, [rootRef, autoFocus, disabled]);
13628
+ var onErrCb = React$3.useCallback(function (e) {
13629
+ if (onError) {
13630
+ onError(e);
13631
+ } else {
13632
+ // Let the user know something's gone wrong if they haven't provided the onError cb.
13633
+ console.error(e);
13634
+ }
13635
+ }, [onError]);
13636
+ var onDragEnterCb = React$3.useCallback(function (event) {
13637
+ event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done
13638
+
13639
+ event.persist();
13640
+ stopPropagation(event);
13641
+ dragTargetsRef.current = [].concat(_toConsumableArray(dragTargetsRef.current), [event.target]);
13642
+
13643
+ if (isEvtWithFiles(event)) {
13644
+ Promise.resolve(getFilesFromEvent(event)).then(function (files) {
13645
+ if (isPropagationStopped(event) && !noDragEventsBubbling) {
13646
+ return;
13647
+ }
13648
+
13649
+ var fileCount = files.length;
13650
+ var isDragAccept = fileCount > 0 && allFilesAccepted({
13651
+ files: files,
13652
+ accept: acceptAttr,
13653
+ minSize: minSize,
13654
+ maxSize: maxSize,
13655
+ multiple: multiple,
13656
+ maxFiles: maxFiles,
13657
+ validator: validator
13658
+ });
13659
+ var isDragReject = fileCount > 0 && !isDragAccept;
13660
+ dispatch({
13661
+ isDragAccept: isDragAccept,
13662
+ isDragReject: isDragReject,
13663
+ isDragActive: true,
13664
+ type: "setDraggedFiles"
13665
+ });
13666
+
13667
+ if (onDragEnter) {
13668
+ onDragEnter(event);
13669
+ }
13670
+ }).catch(function (e) {
13671
+ return onErrCb(e);
13672
+ });
13673
+ }
13674
+ }, [getFilesFromEvent, onDragEnter, onErrCb, noDragEventsBubbling, acceptAttr, minSize, maxSize, multiple, maxFiles, validator]);
13675
+ var onDragOverCb = React$3.useCallback(function (event) {
13676
+ event.preventDefault();
13677
+ event.persist();
13678
+ stopPropagation(event);
13679
+ var hasFiles = isEvtWithFiles(event);
13680
+
13681
+ if (hasFiles && event.dataTransfer) {
13682
+ try {
13683
+ event.dataTransfer.dropEffect = "copy";
13684
+ } catch (_unused) {}
13685
+ /* eslint-disable-line no-empty */
13686
+
13687
+ }
13688
+
13689
+ if (hasFiles && onDragOver) {
13690
+ onDragOver(event);
13691
+ }
13692
+
13693
+ return false;
13694
+ }, [onDragOver, noDragEventsBubbling]);
13695
+ var onDragLeaveCb = React$3.useCallback(function (event) {
13696
+ event.preventDefault();
13697
+ event.persist();
13698
+ stopPropagation(event); // Only deactivate once the dropzone and all children have been left
13699
+
13700
+ var targets = dragTargetsRef.current.filter(function (target) {
13701
+ return rootRef.current && rootRef.current.contains(target);
13702
+ }); // Make sure to remove a target present multiple times only once
13703
+ // (Firefox may fire dragenter/dragleave multiple times on the same element)
13704
+
13705
+ var targetIdx = targets.indexOf(event.target);
13706
+
13707
+ if (targetIdx !== -1) {
13708
+ targets.splice(targetIdx, 1);
13709
+ }
13710
+
13711
+ dragTargetsRef.current = targets;
13712
+
13713
+ if (targets.length > 0) {
13714
+ return;
13715
+ }
13716
+
13717
+ dispatch({
13718
+ type: "setDraggedFiles",
13719
+ isDragActive: false,
13720
+ isDragAccept: false,
13721
+ isDragReject: false
13722
+ });
13723
+
13724
+ if (isEvtWithFiles(event) && onDragLeave) {
13725
+ onDragLeave(event);
13726
+ }
13727
+ }, [rootRef, onDragLeave, noDragEventsBubbling]);
13728
+ var setFiles = React$3.useCallback(function (files, event) {
13729
+ var acceptedFiles = [];
13730
+ var fileRejections = [];
13731
+ files.forEach(function (file) {
13732
+ var _fileAccepted = fileAccepted(file, acceptAttr),
13733
+ _fileAccepted2 = _slicedToArray(_fileAccepted, 2),
13734
+ accepted = _fileAccepted2[0],
13735
+ acceptError = _fileAccepted2[1];
13736
+
13737
+ var _fileMatchSize = fileMatchSize(file, minSize, maxSize),
13738
+ _fileMatchSize2 = _slicedToArray(_fileMatchSize, 2),
13739
+ sizeMatch = _fileMatchSize2[0],
13740
+ sizeError = _fileMatchSize2[1];
13741
+
13742
+ var customErrors = validator ? validator(file) : null;
13743
+
13744
+ if (accepted && sizeMatch && !customErrors) {
13745
+ acceptedFiles.push(file);
13746
+ } else {
13747
+ var errors = [acceptError, sizeError];
13748
+
13749
+ if (customErrors) {
13750
+ errors = errors.concat(customErrors);
13751
+ }
13752
+
13753
+ fileRejections.push({
13754
+ file: file,
13755
+ errors: errors.filter(function (e) {
13756
+ return e;
13757
+ })
13758
+ });
13759
+ }
13760
+ });
13761
+
13762
+ if (!multiple && acceptedFiles.length > 1 || multiple && maxFiles >= 1 && acceptedFiles.length > maxFiles) {
13763
+ // Reject everything and empty accepted files
13764
+ acceptedFiles.forEach(function (file) {
13765
+ fileRejections.push({
13766
+ file: file,
13767
+ errors: [TOO_MANY_FILES_REJECTION]
13768
+ });
13769
+ });
13770
+ acceptedFiles.splice(0);
13771
+ }
13772
+
13773
+ dispatch({
13774
+ acceptedFiles: acceptedFiles,
13775
+ fileRejections: fileRejections,
13776
+ type: "setFiles"
13777
+ });
13778
+
13779
+ if (onDrop) {
13780
+ onDrop(acceptedFiles, fileRejections, event);
13781
+ }
13782
+
13783
+ if (fileRejections.length > 0 && onDropRejected) {
13784
+ onDropRejected(fileRejections, event);
13785
+ }
13786
+
13787
+ if (acceptedFiles.length > 0 && onDropAccepted) {
13788
+ onDropAccepted(acceptedFiles, event);
13789
+ }
13790
+ }, [dispatch, multiple, acceptAttr, minSize, maxSize, maxFiles, onDrop, onDropAccepted, onDropRejected, validator]);
13791
+ var onDropCb = React$3.useCallback(function (event) {
13792
+ event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done
13793
+
13794
+ event.persist();
13795
+ stopPropagation(event);
13796
+ dragTargetsRef.current = [];
13797
+
13798
+ if (isEvtWithFiles(event)) {
13799
+ Promise.resolve(getFilesFromEvent(event)).then(function (files) {
13800
+ if (isPropagationStopped(event) && !noDragEventsBubbling) {
13801
+ return;
13802
+ }
13803
+
13804
+ setFiles(files, event);
13805
+ }).catch(function (e) {
13806
+ return onErrCb(e);
13807
+ });
13808
+ }
13809
+
13810
+ dispatch({
13811
+ type: "reset"
13812
+ });
13813
+ }, [getFilesFromEvent, setFiles, onErrCb, noDragEventsBubbling]); // Fn for opening the file dialog programmatically
13814
+
13815
+ var openFileDialog = React$3.useCallback(function () {
13816
+ // No point to use FS access APIs if context is not secure
13817
+ // https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts#feature_detection
13818
+ if (fsAccessApiWorksRef.current) {
13819
+ dispatch({
13820
+ type: "openDialog"
13821
+ });
13822
+ onFileDialogOpenCb(); // https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker
13823
+
13824
+ var opts = {
13825
+ multiple: multiple,
13826
+ types: pickerTypes
13827
+ };
13828
+ window.showOpenFilePicker(opts).then(function (handles) {
13829
+ return getFilesFromEvent(handles);
13830
+ }).then(function (files) {
13831
+ setFiles(files, null);
13832
+ dispatch({
13833
+ type: "closeDialog"
13834
+ });
13835
+ }).catch(function (e) {
13836
+ // AbortError means the user canceled
13837
+ if (isAbort(e)) {
13838
+ onFileDialogCancelCb(e);
13839
+ dispatch({
13840
+ type: "closeDialog"
13841
+ });
13842
+ } else if (isSecurityError(e)) {
13843
+ fsAccessApiWorksRef.current = false; // CORS, so cannot use this API
13844
+ // Try using the input
13845
+
13846
+ if (inputRef.current) {
13847
+ inputRef.current.value = null;
13848
+ inputRef.current.click();
13849
+ } else {
13850
+ 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."));
13851
+ }
13852
+ } else {
13853
+ onErrCb(e);
13854
+ }
13855
+ });
13856
+ return;
13857
+ }
13858
+
13859
+ if (inputRef.current) {
13860
+ dispatch({
13861
+ type: "openDialog"
13862
+ });
13863
+ onFileDialogOpenCb();
13864
+ inputRef.current.value = null;
13865
+ inputRef.current.click();
13866
+ }
13867
+ }, [dispatch, onFileDialogOpenCb, onFileDialogCancelCb, useFsAccessApi, setFiles, onErrCb, pickerTypes, multiple]); // Cb to open the file dialog when SPACE/ENTER occurs on the dropzone
13868
+
13869
+ var onKeyDownCb = React$3.useCallback(function (event) {
13870
+ // Ignore keyboard events bubbling up the DOM tree
13871
+ if (!rootRef.current || !rootRef.current.isEqualNode(event.target)) {
13872
+ return;
13873
+ }
13874
+
13875
+ if (event.key === " " || event.key === "Enter" || event.keyCode === 32 || event.keyCode === 13) {
13876
+ event.preventDefault();
13877
+ openFileDialog();
13878
+ }
13879
+ }, [rootRef, openFileDialog]); // Update focus state for the dropzone
13880
+
13881
+ var onFocusCb = React$3.useCallback(function () {
13882
+ dispatch({
13883
+ type: "focus"
13884
+ });
13885
+ }, []);
13886
+ var onBlurCb = React$3.useCallback(function () {
13887
+ dispatch({
13888
+ type: "blur"
13889
+ });
13890
+ }, []); // Cb to open the file dialog when click occurs on the dropzone
13891
+
13892
+ var onClickCb = React$3.useCallback(function () {
13893
+ if (noClick) {
13894
+ return;
13895
+ } // In IE11/Edge the file-browser dialog is blocking, therefore, use setTimeout()
13896
+ // to ensure React can handle state changes
13897
+ // See: https://github.com/react-dropzone/react-dropzone/issues/450
13898
+
13899
+
13900
+ if (isIeOrEdge()) {
13901
+ setTimeout(openFileDialog, 0);
13902
+ } else {
13903
+ openFileDialog();
13904
+ }
13905
+ }, [noClick, openFileDialog]);
13906
+
13907
+ var composeHandler = function composeHandler(fn) {
13908
+ return disabled ? null : fn;
13909
+ };
13910
+
13911
+ var composeKeyboardHandler = function composeKeyboardHandler(fn) {
13912
+ return noKeyboard ? null : composeHandler(fn);
13913
+ };
13914
+
13915
+ var composeDragHandler = function composeDragHandler(fn) {
13916
+ return noDrag ? null : composeHandler(fn);
13917
+ };
13918
+
13919
+ var stopPropagation = function stopPropagation(event) {
13920
+ if (noDragEventsBubbling) {
13921
+ event.stopPropagation();
13922
+ }
13923
+ };
13924
+
13925
+ var getRootProps = React$3.useMemo(function () {
13926
+ return function () {
13927
+ var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
13928
+ _ref2$refKey = _ref2.refKey,
13929
+ refKey = _ref2$refKey === void 0 ? "ref" : _ref2$refKey,
13930
+ role = _ref2.role,
13931
+ onKeyDown = _ref2.onKeyDown,
13932
+ onFocus = _ref2.onFocus,
13933
+ onBlur = _ref2.onBlur,
13934
+ onClick = _ref2.onClick,
13935
+ onDragEnter = _ref2.onDragEnter,
13936
+ onDragOver = _ref2.onDragOver,
13937
+ onDragLeave = _ref2.onDragLeave,
13938
+ onDrop = _ref2.onDrop,
13939
+ rest = _objectWithoutProperties(_ref2, _excluded3);
13940
+
13941
+ return _objectSpread(_objectSpread(_defineProperty({
13942
+ onKeyDown: composeKeyboardHandler(composeEventHandlers(onKeyDown, onKeyDownCb)),
13943
+ onFocus: composeKeyboardHandler(composeEventHandlers(onFocus, onFocusCb)),
13944
+ onBlur: composeKeyboardHandler(composeEventHandlers(onBlur, onBlurCb)),
13945
+ onClick: composeHandler(composeEventHandlers(onClick, onClickCb)),
13946
+ onDragEnter: composeDragHandler(composeEventHandlers(onDragEnter, onDragEnterCb)),
13947
+ onDragOver: composeDragHandler(composeEventHandlers(onDragOver, onDragOverCb)),
13948
+ onDragLeave: composeDragHandler(composeEventHandlers(onDragLeave, onDragLeaveCb)),
13949
+ onDrop: composeDragHandler(composeEventHandlers(onDrop, onDropCb)),
13950
+ role: typeof role === "string" && role !== "" ? role : "presentation"
13951
+ }, refKey, rootRef), !disabled && !noKeyboard ? {
13952
+ tabIndex: 0
13953
+ } : {}), rest);
13954
+ };
13955
+ }, [rootRef, onKeyDownCb, onFocusCb, onBlurCb, onClickCb, onDragEnterCb, onDragOverCb, onDragLeaveCb, onDropCb, noKeyboard, noDrag, disabled]);
13956
+ var onInputElementClick = React$3.useCallback(function (event) {
13957
+ event.stopPropagation();
13958
+ }, []);
13959
+ var getInputProps = React$3.useMemo(function () {
13960
+ return function () {
13961
+ var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
13962
+ _ref3$refKey = _ref3.refKey,
13963
+ refKey = _ref3$refKey === void 0 ? "ref" : _ref3$refKey,
13964
+ onChange = _ref3.onChange,
13965
+ onClick = _ref3.onClick,
13966
+ rest = _objectWithoutProperties(_ref3, _excluded4);
13967
+
13968
+ var inputProps = _defineProperty({
13969
+ accept: acceptAttr,
13970
+ multiple: multiple,
13971
+ type: "file",
13972
+ style: {
13973
+ display: "none"
13974
+ },
13975
+ onChange: composeHandler(composeEventHandlers(onChange, onDropCb)),
13976
+ onClick: composeHandler(composeEventHandlers(onClick, onInputElementClick)),
13977
+ tabIndex: -1
13978
+ }, refKey, inputRef);
13979
+
13980
+ return _objectSpread(_objectSpread({}, inputProps), rest);
13981
+ };
13982
+ }, [inputRef, accept, multiple, onDropCb, disabled]);
13983
+ return _objectSpread(_objectSpread({}, state), {}, {
13984
+ isFocused: isFocused && !disabled,
13985
+ getRootProps: getRootProps,
13986
+ getInputProps: getInputProps,
13987
+ rootRef: rootRef,
13988
+ inputRef: inputRef,
13989
+ open: composeHandler(openFileDialog)
13990
+ });
13991
+ }
13992
+ /**
13993
+ * @param {DropzoneState} state
13994
+ * @param {{type: string} & DropzoneState} action
13995
+ * @returns {DropzoneState}
13996
+ */
13997
+
13998
+ function reducer(state, action) {
13999
+ /* istanbul ignore next */
14000
+ switch (action.type) {
14001
+ case "focus":
14002
+ return _objectSpread(_objectSpread({}, state), {}, {
14003
+ isFocused: true
14004
+ });
14005
+
14006
+ case "blur":
14007
+ return _objectSpread(_objectSpread({}, state), {}, {
14008
+ isFocused: false
14009
+ });
14010
+
14011
+ case "openDialog":
14012
+ return _objectSpread(_objectSpread({}, initialState), {}, {
14013
+ isFileDialogActive: true
14014
+ });
14015
+
14016
+ case "closeDialog":
14017
+ return _objectSpread(_objectSpread({}, state), {}, {
14018
+ isFileDialogActive: false
14019
+ });
14020
+
14021
+ case "setDraggedFiles":
14022
+ return _objectSpread(_objectSpread({}, state), {}, {
14023
+ isDragActive: action.isDragActive,
14024
+ isDragAccept: action.isDragAccept,
14025
+ isDragReject: action.isDragReject
14026
+ });
14027
+
14028
+ case "setFiles":
14029
+ return _objectSpread(_objectSpread({}, state), {}, {
14030
+ acceptedFiles: action.acceptedFiles,
14031
+ fileRejections: action.fileRejections
14032
+ });
14033
+
14034
+ case "reset":
14035
+ return _objectSpread({}, initialState);
14036
+
14037
+ default:
14038
+ return state;
14039
+ }
14040
+ }
14041
+
14042
+ function noop() {}
14043
+
14044
+ var Container$h = styled__default["default"].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) {
14045
+ _a.isDragActive; var isDragAccept = _a.isDragAccept, isDragReject = _a.isDragReject;
14046
+ // if (isDragActive) return theme.colors.blue.base;
14047
+ if (isDragAccept)
14048
+ return theme.colors.green.base;
14049
+ else if (isDragReject)
14050
+ return theme.colors.red.base;
14051
+ else
14052
+ return theme.colors.lightGray.darker;
14053
+ }, function (_a) {
14054
+ _a.isDragActive; var isDragAccept = _a.isDragAccept, isDragReject = _a.isDragReject;
14055
+ // if (isDragActive) return `${theme.colors.blue.light}25`;
14056
+ if (isDragAccept)
14057
+ return "".concat(theme.colors.green.light, "25");
14058
+ else if (isDragReject)
14059
+ return "".concat(theme.colors.red.light, "25");
14060
+ else
14061
+ return theme.colors.lightGray.base;
14062
+ });
14063
+ var templateObject_1$v;
14064
+
14065
+ var FileUpload = function (_a) {
14066
+ var locale = _a.locale, accept = _a.accept, onDrop = _a.onDrop;
14067
+ var _b = useDropzone({
14068
+ onDrop: onDrop,
14069
+ accept: accept,
14070
+ // Max file size: 2MB
14071
+ maxSize: 1048576 * 2,
14072
+ minSize: 0,
14073
+ // Max number of files: 1
14074
+ maxFiles: 1,
14075
+ }), getRootProps = _b.getRootProps, getInputProps = _b.getInputProps, isDragActive = _b.isDragActive, isDragAccept = _b.isDragAccept, isDragReject = _b.isDragReject;
14076
+ return (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs(Container$h, __assign$2({}, getRootProps({
14077
+ isDragActive: isDragActive,
14078
+ isDragAccept: isDragAccept,
14079
+ isDragReject: isDragReject,
14080
+ }), { children: [jsxRuntime.jsx("input", __assign$2({}, getInputProps())), jsxRuntime.jsx(Icon, { type: "file", size: "large" }), jsxRuntime.jsx(Spacer, { vertical: 15 }), !isDragActive && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Heading, __assign$2({ type: "h6" }, { children: translations[locale]["Drag file(s) here..."] })), jsxRuntime.jsx(Spacer, { vertical: 5 }), jsxRuntime.jsx(Paragraph, { children: translations[locale]["or"] }), jsxRuntime.jsx(Spacer, { vertical: 10 }), jsxRuntime.jsx(Button, { label: translations[locale]["Select file(s)"], size: "small" })] })), isDragActive && !isDragReject && (jsxRuntime.jsx(Heading, __assign$2({ type: "h6" }, { children: translations[locale]["Upload file(s)..."] }))), isDragReject && (jsxRuntime.jsx(Heading, __assign$2({ type: "h6" }, { children: translations[locale]["File type not allowed"] })))] })) }));
11374
14081
  };
11375
14082
 
11376
14083
  var StyledIconButton = styled__default["default"](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) {
@@ -11513,7 +14220,7 @@ var Container$e = styled__default["default"].div(templateObject_1$q || (template
11513
14220
  });
11514
14221
  var templateObject_1$q;
11515
14222
 
11516
- var Loading = function (props) { return (jsxRuntime.jsxs(Container$e, __assign$2({}, props, { children: [jsxRuntime.jsx(_default, { color: theme.colors[props.color].base, speedMultiplier: 0.5 }), props.text && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Spacer, { vertical: 20 }), jsxRuntime.jsx(Heading, __assign$2({ type: "h6", color: props.textColor || "black" }, { children: props.text }))] }))] }))); };
14223
+ var Loading = function (props) { return (jsxRuntime.jsxs(Container$e, __assign$2({}, props, { children: [jsxRuntime.jsx(_default$1, { color: theme.colors[props.color].base, speedMultiplier: 0.5 }), props.text && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(Spacer, { vertical: 20 }), jsxRuntime.jsx(Heading, __assign$2({ type: "h6", color: props.textColor || "black" }, { children: props.text }))] }))] }))); };
11517
14224
 
11518
14225
  var Container$d = styled__default["default"].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) {
11519
14226
  var dropdownIsVisible = _a.dropdownIsVisible, color = _a.color;
@@ -12520,6 +15227,7 @@ exports.Checkboxes = Checkboxes;
12520
15227
  exports.Collapse = Collapse;
12521
15228
  exports.Countdown = Countdown;
12522
15229
  exports.DateInputField = DateInputField;
15230
+ exports.FileUpload = FileUpload;
12523
15231
  exports.Flag = Flag;
12524
15232
  exports.Form = Form;
12525
15233
  exports.Heading = Heading;