@thecb/components 9.2.0-beta.8 → 9.3.0-beta.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/dist/index.cjs.js +290 -1450
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +60 -115
- package/dist/index.esm.js +291 -1450
- package/dist/index.esm.js.map +1 -1
- package/dist/src/apps/checkout/pages/payment/sub-pages/payment-amount/PaymentAmount_old.js +49322 -0
- package/package.json +1 -1
- package/src/.DS_Store +0 -0
- package/src/components/.DS_Store +0 -0
- package/src/components/atoms/.DS_Store +0 -0
- package/src/components/atoms/country-dropdown/CountryDropdown.js +3 -1
- package/src/components/atoms/country-dropdown/CountryDropdown.stories.js +1 -0
- package/src/components/atoms/dropdown/Dropdown.js +7 -3
- package/src/components/atoms/form-layouts/FormInput.js +4 -0
- package/src/components/atoms/form-select/FormSelect.js +21 -9
- package/src/components/atoms/form-select/FormSelect.stories.js +2 -2
- package/src/components/atoms/icons/.DS_Store +0 -0
- package/src/components/atoms/state-province-dropdown/StateProvinceDropdown.js +4 -1
- package/src/components/molecules/address-form/AddressForm.js +1 -0
- package/src/components/molecules/index.d.ts +0 -1
- package/src/components/molecules/index.js +0 -1
- package/src/components/molecules/payment-form-card/PaymentFormCard.js +1 -0
- package/src/components/molecules/radio-section/radio-button/RadioButton.js +7 -5
- package/src/components/molecules/radio-section/radio-button/RadioButton.theme.js +2 -2
- package/src/constants/colors.d.ts +0 -1
- package/src/constants/colors.js +1 -3
- package/src/index.d.ts +1 -2
- package/src/types/common/index.ts +0 -1
- package/src/util/index.js +1 -9
- package/src/components/molecules/toast-notification/ToastNotification.js +0 -76
- package/src/components/molecules/toast-notification/ToastNotification.stories.js +0 -67
- package/src/components/molecules/toast-notification/index.d.ts +0 -18
- package/src/components/molecules/toast-notification/index.js +0 -3
- package/src/types/common/ToastVariants.ts +0 -6
- package/src/util/hooks/index.js +0 -1
- package/src/util/hooks/use-toast-notification/index.d.ts +0 -23
- package/src/util/hooks/use-toast-notification/index.js +0 -38
package/dist/index.cjs.js
CHANGED
|
@@ -5051,8 +5051,7 @@ var FANTASY_RED = "#FCF4F4";
|
|
|
5051
5051
|
var COSMOS_RED = "#FFD0D3";
|
|
5052
5052
|
var BLUSH_RED = "#FFF0F5"; // Second level color constants
|
|
5053
5053
|
|
|
5054
|
-
var ERROR_COLOR = RAZZMATAZZ_RED;
|
|
5055
|
-
var ERROR_BACKGROUND_COLOR = "#FFF4F8"; // These colors are sequestered so that the alert component can reference them // by type of alert
|
|
5054
|
+
var ERROR_COLOR = RAZZMATAZZ_RED; // These colors are sequestered so that the alert component can reference them // by type of alert
|
|
5056
5055
|
|
|
5057
5056
|
var ALERT_COLORS = {
|
|
5058
5057
|
warn: {
|
|
@@ -5183,8 +5182,7 @@ var colors = /*#__PURE__*/Object.freeze({
|
|
|
5183
5182
|
RASPBERRY: RASPBERRY,
|
|
5184
5183
|
ALERT_COLORS: ALERT_COLORS,
|
|
5185
5184
|
PILL_COLORS: PILL_COLORS,
|
|
5186
|
-
ERROR_COLOR: ERROR_COLOR
|
|
5187
|
-
ERROR_BACKGROUND_COLOR: ERROR_BACKGROUND_COLOR
|
|
5185
|
+
ERROR_COLOR: ERROR_COLOR
|
|
5188
5186
|
});
|
|
5189
5187
|
|
|
5190
5188
|
var TextSpan = styled__default.span.withConfig({
|
|
@@ -23770,7 +23768,11 @@ var Dropdown = function Dropdown(_ref8) {
|
|
|
23770
23768
|
_ref8$smoothScroll = _ref8.smoothScroll,
|
|
23771
23769
|
smoothScroll = _ref8$smoothScroll === void 0 ? true : _ref8$smoothScroll,
|
|
23772
23770
|
_ref8$ariaInvalid = _ref8.ariaInvalid,
|
|
23773
|
-
ariaInvalid = _ref8$ariaInvalid === void 0 ? false : _ref8$ariaInvalid
|
|
23771
|
+
ariaInvalid = _ref8$ariaInvalid === void 0 ? false : _ref8$ariaInvalid,
|
|
23772
|
+
_ref8$isRequired = _ref8.isRequired,
|
|
23773
|
+
isRequired = _ref8$isRequired === void 0 ? false : _ref8$isRequired;
|
|
23774
|
+
|
|
23775
|
+
var required = options.required || isRequired;
|
|
23774
23776
|
|
|
23775
23777
|
var _useState = React.useState(""),
|
|
23776
23778
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -24019,7 +24021,8 @@ var Dropdown = function Dropdown(_ref8) {
|
|
|
24019
24021
|
"aria-labelledby": ariaLabelledby,
|
|
24020
24022
|
"aria-describedby": ariaDescribedby,
|
|
24021
24023
|
"aria-expanded": isOpen,
|
|
24022
|
-
"aria-required":
|
|
24024
|
+
"aria-required": required,
|
|
24025
|
+
required: required,
|
|
24023
24026
|
"aria-invalid": ariaInvalid,
|
|
24024
24027
|
background: isOpen ? themeValues.hoverColor : WHITE,
|
|
24025
24028
|
borderRadius: "2px",
|
|
@@ -24041,14 +24044,14 @@ var Dropdown = function Dropdown(_ref8) {
|
|
|
24041
24044
|
},
|
|
24042
24045
|
padding: "12px",
|
|
24043
24046
|
placeholder: getSelection(),
|
|
24044
|
-
required: options.required,
|
|
24045
24047
|
role: "combobox",
|
|
24046
24048
|
themeValues: themeValues,
|
|
24047
24049
|
title: hasTitles ? getSelection() : null,
|
|
24048
24050
|
type: "text",
|
|
24049
24051
|
tabIndex: 0,
|
|
24050
24052
|
value: inputValue,
|
|
24051
|
-
width: "100%"
|
|
24053
|
+
width: "100%",
|
|
24054
|
+
disabled: disabledValues.includes(inputValue)
|
|
24052
24055
|
}), /*#__PURE__*/React__default.createElement(IconWrapper, {
|
|
24053
24056
|
open: isOpen,
|
|
24054
24057
|
onClick: _onClick
|
|
@@ -24059,7 +24062,8 @@ var Dropdown = function Dropdown(_ref8) {
|
|
|
24059
24062
|
widthFitOptions: widthFitOptions,
|
|
24060
24063
|
tabIndex: 0,
|
|
24061
24064
|
role: "listbox",
|
|
24062
|
-
id: "".concat(ariaLabelledby, "_listbox")
|
|
24065
|
+
id: "".concat(ariaLabelledby, "_listbox"),
|
|
24066
|
+
required: required
|
|
24063
24067
|
}, /*#__PURE__*/React__default.createElement(Stack, {
|
|
24064
24068
|
childGap: "0",
|
|
24065
24069
|
as: "ul"
|
|
@@ -24205,7 +24209,8 @@ var FormSelect = function FormSelect(_ref) {
|
|
|
24205
24209
|
_ref$dataQa = _ref.dataQa,
|
|
24206
24210
|
dataQa = _ref$dataQa === void 0 ? null : _ref$dataQa,
|
|
24207
24211
|
_ref$widthFitOptions = _ref.widthFitOptions,
|
|
24208
|
-
widthFitOptions = _ref$widthFitOptions === void 0 ? false : _ref$widthFitOptions
|
|
24212
|
+
widthFitOptions = _ref$widthFitOptions === void 0 ? false : _ref$widthFitOptions,
|
|
24213
|
+
_ref$isRequired = _ref.isRequired;
|
|
24209
24214
|
|
|
24210
24215
|
var _useState = React.useState(false),
|
|
24211
24216
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -24213,6 +24218,16 @@ var FormSelect = function FormSelect(_ref) {
|
|
|
24213
24218
|
setOpen = _useState2[1];
|
|
24214
24219
|
|
|
24215
24220
|
var dropdownRef = React.useRef(null);
|
|
24221
|
+
var labelId = React.useMemo(function () {
|
|
24222
|
+
return function (labelTextWhenNoError) {
|
|
24223
|
+
return createIdFromString(labelTextWhenNoError);
|
|
24224
|
+
};
|
|
24225
|
+
}, [labelTextWhenNoError]);
|
|
24226
|
+
var descriptionId = React.useMemo(function () {
|
|
24227
|
+
return function (field, labelTextWhenNoError) {
|
|
24228
|
+
return field.hasErrors && field.dirty ? labelId(labelTextWhenNoError) + "error-message" : "";
|
|
24229
|
+
};
|
|
24230
|
+
}, [field, labelTextWhenNoError]);
|
|
24216
24231
|
|
|
24217
24232
|
var handleClickAway = function handleClickAway(event) {
|
|
24218
24233
|
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
@@ -24228,8 +24243,8 @@ var FormSelect = function FormSelect(_ref) {
|
|
|
24228
24243
|
});
|
|
24229
24244
|
return /*#__PURE__*/React__default.createElement(SelectContainer, {
|
|
24230
24245
|
ref: dropdownRef,
|
|
24246
|
+
"aria-role": "group",
|
|
24231
24247
|
disabled: disabled,
|
|
24232
|
-
"aria-disabled": disabled,
|
|
24233
24248
|
"data-qa": dataQa
|
|
24234
24249
|
}, /*#__PURE__*/React__default.createElement(Box, {
|
|
24235
24250
|
padding: "0",
|
|
@@ -24243,10 +24258,10 @@ var FormSelect = function FormSelect(_ref) {
|
|
|
24243
24258
|
color: themeValues.labelColor,
|
|
24244
24259
|
weight: themeValues.fontWeight,
|
|
24245
24260
|
extraStyles: "word-break: break-word;\n font-family: Public Sans;\n &::first-letter {\n text-transform: uppercase;\n }",
|
|
24246
|
-
id:
|
|
24261
|
+
id: labelId(labelTextWhenNoError)
|
|
24247
24262
|
}, labelTextWhenNoError))), /*#__PURE__*/React__default.createElement(Dropdown$1, {
|
|
24248
|
-
ariaLabelledby:
|
|
24249
|
-
ariaDescribedby:
|
|
24263
|
+
ariaLabelledby: labelId(labelTextWhenNoError),
|
|
24264
|
+
ariaDescribedby: descriptionId(field, labelTextWhenNoError),
|
|
24250
24265
|
maxHeight: dropdownMaxHeight,
|
|
24251
24266
|
widthFitOptions: widthFitOptions,
|
|
24252
24267
|
hasTitles: hasTitles,
|
|
@@ -24267,7 +24282,8 @@ var FormSelect = function FormSelect(_ref) {
|
|
|
24267
24282
|
},
|
|
24268
24283
|
disabled: disabled,
|
|
24269
24284
|
autocompleteValue: autocompleteValue,
|
|
24270
|
-
smoothScroll: smoothScroll
|
|
24285
|
+
smoothScroll: smoothScroll,
|
|
24286
|
+
required: options === null || options === void 0 ? void 0 : options.required
|
|
24271
24287
|
}), /*#__PURE__*/React__default.createElement(Stack, {
|
|
24272
24288
|
direction: "row",
|
|
24273
24289
|
justify: "space-between"
|
|
@@ -25037,7 +25053,9 @@ var CountryDropdown = function CountryDropdown(_ref) {
|
|
|
25037
25053
|
showErrors = _ref.showErrors,
|
|
25038
25054
|
onChange = _ref.onChange,
|
|
25039
25055
|
_ref$dataQa = _ref.dataQa,
|
|
25040
|
-
dataQa = _ref$dataQa === void 0 ? null : _ref$dataQa
|
|
25056
|
+
dataQa = _ref$dataQa === void 0 ? null : _ref$dataQa,
|
|
25057
|
+
_ref$isRequired = _ref.isRequired,
|
|
25058
|
+
isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired;
|
|
25041
25059
|
return /*#__PURE__*/React__default.createElement(FormSelect$1, {
|
|
25042
25060
|
options: options,
|
|
25043
25061
|
field: field,
|
|
@@ -25047,7 +25065,8 @@ var CountryDropdown = function CountryDropdown(_ref) {
|
|
|
25047
25065
|
errorMessages: errorMessages,
|
|
25048
25066
|
showErrors: showErrors,
|
|
25049
25067
|
onChange: onChange,
|
|
25050
|
-
autocompleteValue: "country-name"
|
|
25068
|
+
autocompleteValue: "country-name",
|
|
25069
|
+
isRequired: isRequired
|
|
25051
25070
|
});
|
|
25052
25071
|
};
|
|
25053
25072
|
|
|
@@ -25586,53 +25605,6 @@ var useOutsideClickHook = function useOutsideClickHook(handler) {
|
|
|
25586
25605
|
return ref;
|
|
25587
25606
|
};
|
|
25588
25607
|
|
|
25589
|
-
var initialToastState = {
|
|
25590
|
-
isOpen: false,
|
|
25591
|
-
variant: "",
|
|
25592
|
-
message: ""
|
|
25593
|
-
};
|
|
25594
|
-
|
|
25595
|
-
var useToastNotification = function useToastNotification() {
|
|
25596
|
-
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
25597
|
-
_ref$timeout = _ref.timeout,
|
|
25598
|
-
timeout = _ref$timeout === void 0 ? 5000 : _ref$timeout;
|
|
25599
|
-
|
|
25600
|
-
var _useState = React.useState(initialToastState),
|
|
25601
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
25602
|
-
toastState = _useState2[0],
|
|
25603
|
-
setToastState = _useState2[1];
|
|
25604
|
-
|
|
25605
|
-
React.useEffect(function () {
|
|
25606
|
-
if (toastState.isOpen) {
|
|
25607
|
-
setTimeout(function () {
|
|
25608
|
-
setToastState(initialToastState);
|
|
25609
|
-
}, timeout);
|
|
25610
|
-
}
|
|
25611
|
-
}, [timeout, toastState.isOpen]);
|
|
25612
|
-
|
|
25613
|
-
var showToast = function showToast(_ref2) {
|
|
25614
|
-
var message = _ref2.message,
|
|
25615
|
-
variant = _ref2.variant;
|
|
25616
|
-
return setToastState({
|
|
25617
|
-
isOpen: true,
|
|
25618
|
-
variant: variant,
|
|
25619
|
-
message: message
|
|
25620
|
-
});
|
|
25621
|
-
};
|
|
25622
|
-
|
|
25623
|
-
var hideToast = function hideToast() {
|
|
25624
|
-
return setToastState(initialToastState);
|
|
25625
|
-
};
|
|
25626
|
-
|
|
25627
|
-
return {
|
|
25628
|
-
isToastOpen: toastState.isOpen,
|
|
25629
|
-
toastVariant: toastState.variant,
|
|
25630
|
-
toastMessage: toastState.message,
|
|
25631
|
-
showToast: showToast,
|
|
25632
|
-
hideToast: hideToast
|
|
25633
|
-
};
|
|
25634
|
-
};
|
|
25635
|
-
|
|
25636
25608
|
|
|
25637
25609
|
|
|
25638
25610
|
var index$4 = /*#__PURE__*/Object.freeze({
|
|
@@ -25641,8 +25613,7 @@ var index$4 = /*#__PURE__*/Object.freeze({
|
|
|
25641
25613
|
general: general,
|
|
25642
25614
|
theme: themeUtils,
|
|
25643
25615
|
useFocusInvalidInput: useFocusInvalidInput,
|
|
25644
|
-
useOutsideClick: useOutsideClickHook
|
|
25645
|
-
useToastNotification: useToastNotification
|
|
25616
|
+
useOutsideClick: useOutsideClickHook
|
|
25646
25617
|
});
|
|
25647
25618
|
|
|
25648
25619
|
var hoverColor$4 = "#116285";
|
|
@@ -25940,7 +25911,7 @@ var fallbackValues$k = {
|
|
|
25940
25911
|
};
|
|
25941
25912
|
|
|
25942
25913
|
var _excluded$p = ["showErrors", "themeValues"],
|
|
25943
|
-
_excluded2 = ["type", "labelTextWhenNoError", "errorMessages", "isNum", "isEmail", "helperModal", "field", "fieldActions", "showErrors", "formatter", "decorator", "themeValues", "background", "customHeight", "autocompleteValue", "extraStyles", "removeFromValue", "dataQa"];
|
|
25914
|
+
_excluded2 = ["type", "labelTextWhenNoError", "errorMessages", "isNum", "isEmail", "helperModal", "field", "fieldActions", "showErrors", "formatter", "decorator", "themeValues", "background", "customHeight", "autocompleteValue", "extraStyles", "removeFromValue", "dataQa", "isRequired"];
|
|
25944
25915
|
var InputField = styled__default.input.withConfig({
|
|
25945
25916
|
displayName: "FormInput__InputField",
|
|
25946
25917
|
componentId: "sc-l094r1-0"
|
|
@@ -26027,8 +25998,12 @@ var FormInput = function FormInput(_ref15) {
|
|
|
26027
25998
|
removeFromValue = _ref15.removeFromValue,
|
|
26028
25999
|
_ref15$dataQa = _ref15.dataQa,
|
|
26029
26000
|
dataQa = _ref15$dataQa === void 0 ? null : _ref15$dataQa,
|
|
26001
|
+
_ref15$isRequired = _ref15.isRequired,
|
|
26002
|
+
isRequired = _ref15$isRequired === void 0 ? false : _ref15$isRequired,
|
|
26030
26003
|
props = _objectWithoutProperties(_ref15, _excluded2);
|
|
26031
26004
|
|
|
26005
|
+
var required = isRequired || (props === null || props === void 0 ? void 0 : props.required);
|
|
26006
|
+
|
|
26032
26007
|
var _useState = React.useState(false),
|
|
26033
26008
|
_useState2 = _slicedToArray(_useState, 2),
|
|
26034
26009
|
showPassword = _useState2[0],
|
|
@@ -26113,7 +26088,8 @@ var FormInput = function FormInput(_ref15) {
|
|
|
26113
26088
|
$customHeight: customHeight,
|
|
26114
26089
|
$extraStyles: extraStyles,
|
|
26115
26090
|
"data-qa": dataQa || labelTextWhenNoError,
|
|
26116
|
-
autoComplete: autocompleteValue
|
|
26091
|
+
autoComplete: autocompleteValue,
|
|
26092
|
+
required: required
|
|
26117
26093
|
}, props)) : /*#__PURE__*/React__default.createElement(InputField, _extends({
|
|
26118
26094
|
"aria-labelledby": createIdFromString(labelTextWhenNoError),
|
|
26119
26095
|
"aria-describedby": createIdFromString(labelTextWhenNoError, "error message"),
|
|
@@ -26132,7 +26108,8 @@ var FormInput = function FormInput(_ref15) {
|
|
|
26132
26108
|
$customHeight: customHeight,
|
|
26133
26109
|
$extraStyles: extraStyles,
|
|
26134
26110
|
"data-qa": dataQa || labelTextWhenNoError,
|
|
26135
|
-
autoComplete: autocompleteValue
|
|
26111
|
+
autoComplete: autocompleteValue,
|
|
26112
|
+
required: required
|
|
26136
26113
|
}, props))), /*#__PURE__*/React__default.createElement(Stack, {
|
|
26137
26114
|
direction: "row",
|
|
26138
26115
|
justify: "space-between",
|
|
@@ -27285,7 +27262,7 @@ var RadioButtonWithLabel = function RadioButtonWithLabel(_ref5) {
|
|
|
27285
27262
|
var RadioButtonWithLabel$1 = themeComponent(RadioButtonWithLabel, "RadioButtonWithLabel", fallbackValues$u);
|
|
27286
27263
|
|
|
27287
27264
|
var activeColor$6 = "".concat(MATISSE_BLUE);
|
|
27288
|
-
var inactiveColor = "".concat(
|
|
27265
|
+
var inactiveColor = "".concat(STORM_GREY);
|
|
27289
27266
|
var fallbackValues$v = {
|
|
27290
27267
|
activeColor: activeColor$6,
|
|
27291
27268
|
inactiveColor: inactiveColor
|
|
@@ -27318,19 +27295,21 @@ var RadioButton$1 = function RadioButton(_ref2) {
|
|
|
27318
27295
|
var buttonBorder = {
|
|
27319
27296
|
onFocused: {
|
|
27320
27297
|
borderColor: themeValues.activeColor,
|
|
27321
|
-
|
|
27298
|
+
outline: "3px solid ".concat(themeValues.activeColor),
|
|
27299
|
+
outlineOffset: "2px"
|
|
27322
27300
|
},
|
|
27323
27301
|
offFocused: {
|
|
27324
27302
|
borderColor: themeValues.activeColor,
|
|
27325
|
-
|
|
27303
|
+
outline: "3px solid ".concat(themeValues.activeColor),
|
|
27304
|
+
outlineOffset: "2px"
|
|
27326
27305
|
},
|
|
27327
27306
|
on: {
|
|
27328
27307
|
borderColor: themeValues.activeColor,
|
|
27329
|
-
|
|
27308
|
+
outline: "0"
|
|
27330
27309
|
},
|
|
27331
27310
|
off: {
|
|
27332
27311
|
borderColor: themeValues.inactiveColor,
|
|
27333
|
-
|
|
27312
|
+
outline: "0"
|
|
27334
27313
|
}
|
|
27335
27314
|
};
|
|
27336
27315
|
var buttonCenter = {
|
|
@@ -27379,7 +27358,7 @@ var RadioButton$1 = function RadioButton(_ref2) {
|
|
|
27379
27358
|
borderWidth: "1px",
|
|
27380
27359
|
borderStyle: "solid",
|
|
27381
27360
|
borderRadius: "12px",
|
|
27382
|
-
margin: "
|
|
27361
|
+
margin: "6px 14px 6px 6px",
|
|
27383
27362
|
height: "24px",
|
|
27384
27363
|
width: "24px",
|
|
27385
27364
|
variants: buttonBorder,
|
|
@@ -38064,7 +38043,9 @@ var FormStateDropdown = function FormStateDropdown(_ref) {
|
|
|
38064
38043
|
field = _ref.field,
|
|
38065
38044
|
fieldActions = _ref.fieldActions,
|
|
38066
38045
|
showErrors = _ref.showErrors,
|
|
38067
|
-
countryCode = _ref.countryCode
|
|
38046
|
+
countryCode = _ref.countryCode,
|
|
38047
|
+
_ref$isRequired = _ref.isRequired,
|
|
38048
|
+
isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired;
|
|
38068
38049
|
var placeholder = countryCode === "US" ? placeHolderOptionUS : placeHolderOption;
|
|
38069
38050
|
var options = [placeholder].concat(_toConsumableArray(getOptions(countryCode)));
|
|
38070
38051
|
return /*#__PURE__*/React__default.createElement(FormSelect$1, {
|
|
@@ -38074,7 +38055,8 @@ var FormStateDropdown = function FormStateDropdown(_ref) {
|
|
|
38074
38055
|
labelTextWhenNoError: labelTextWhenNoError,
|
|
38075
38056
|
errorMessages: errorMessages,
|
|
38076
38057
|
showErrors: showErrors,
|
|
38077
|
-
autocompleteValue: "address-level1"
|
|
38058
|
+
autocompleteValue: "address-level1",
|
|
38059
|
+
isRequired: (options === null || options === void 0 ? void 0 : options.required) || isRequired
|
|
38078
38060
|
});
|
|
38079
38061
|
};
|
|
38080
38062
|
|
|
@@ -38698,44 +38680,52 @@ var TableHeading_styled = styled__default.th.withConfig({
|
|
|
38698
38680
|
return extraStyles;
|
|
38699
38681
|
});
|
|
38700
38682
|
|
|
38701
|
-
const validatorToPredicate =
|
|
38702
|
-
|
|
38703
|
-
...rest
|
|
38704
|
-
|
|
38683
|
+
const validatorToPredicate =
|
|
38684
|
+
(validatorFn, emptyCase) =>
|
|
38685
|
+
(value, ...rest) =>
|
|
38686
|
+
value === '' ? emptyCase : validatorFn(value, ...rest);
|
|
38705
38687
|
|
|
38706
38688
|
var commonjsGlobal$1 = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
38707
38689
|
|
|
38690
|
+
function getDefaultExportFromCjs (x) {
|
|
38691
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
38692
|
+
}
|
|
38693
|
+
|
|
38708
38694
|
var dayjs_min = {exports: {}};
|
|
38709
38695
|
|
|
38710
38696
|
(function (module, exports) {
|
|
38711
|
-
!function(t,e){module.exports=e();}(commonjsGlobal$1,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",f="month",h="quarter",c="year",d="date"
|
|
38712
|
-
}(dayjs_min));
|
|
38697
|
+
!function(t,e){module.exports=e();}(commonjsGlobal$1,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",f="month",h="quarter",c="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return "["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return -t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,f),s=n-i<0,u=e.clone().add(r+(s?-1:1),f);return +(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return {M:f,y:c,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:h}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},g="en",D={};D[g]=M;var p=function(t){return t instanceof _},S=function t(e,n,r){var i;if(!e)return g;if("string"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split("-");if(!i&&u.length>1)return t(u[0])}else {var a=e.name;D[a]=e,i=a;}return !r&&i&&(g=i),i||!r&&g},w=function(t,e){if(p(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=v;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t);}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return O},m.isValid=function(){return !(this.$d.toString()===l)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<w(t)},m.$g=function(t,e,n){return O.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!O.u(e)||e,h=O.p(t),l=function(t,e){var i=O.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return O.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v="set"+(this.$u?"UTC":"");switch(h){case c:return r?l(1,0):l(31,11);case f:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+"Hours",0);case u:return $(v+"Minutes",1);case s:return $(v+"Seconds",2);case i:return $(v+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=O.p(t),h="set"+(this.$u?"UTC":""),l=(n={},n[a]=h+"Date",n[d]=h+"Date",n[f]=h+"Month",n[c]=h+"FullYear",n[u]=h+"Hours",n[s]=h+"Minutes",n[i]=h+"Seconds",n[r]=h+"Milliseconds",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===f||o===c){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d;}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[O.p(t)]()},m.add=function(r,h){var d,l=this;r=Number(r);var $=O.p(h),y=function(t){var e=w(l);return O.w(e.date(e.date()+Math.round(t*r)),l)};if($===f)return this.set(f,this.$M+r);if($===c)return this.set(c,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return O.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=O.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,f=n.months,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},c=function(t){return O.s(s%12||12,t,"0")},d=n.meridiem||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r},$={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:O.s(a+1,2,"0"),MMM:h(n.monthsShort,a,f,3),MMMM:h(f,a),D:this.$D,DD:O.s(this.$D,2,"0"),d:String(this.$W),dd:h(n.weekdaysMin,this.$W,o,2),ddd:h(n.weekdaysShort,this.$W,o,3),dddd:o[this.$W],H:String(s),HH:O.s(s,2,"0"),h:c(1),hh:c(2),a:d(s,u,!0),A:d(s,u,!1),m:String(u),mm:O.s(u,2,"0"),s:String(this.$s),ss:O.s(this.$s,2,"0"),SSS:O.s(this.$ms,3,"0"),Z:i};return r.replace(y,(function(t,e){return e||$[t]||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=O.p(d),M=w(r),m=(M.utcOffset()-this.utcOffset())*e,v=this-M,g=O.m(this,M);return g=($={},$[c]=g/12,$[f]=g,$[h]=g/3,$[o]=(v-m)/6048e5,$[a]=(v-m)/864e5,$[u]=v/n,$[s]=v/e,$[i]=v/t,$)[y]||v,l?g:O.a(g)},m.daysInMonth=function(){return this.endOf(f).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=S(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return O.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),T=_.prototype;return w.prototype=T,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",f],["$y",c],["$D",d]].forEach((function(t){T[t[1]]=function(e){return this.$g(e,t[0],t[1])};})),w.extend=function(t,e){return t.$i||(t(e,_,w),t.$i=!0),w},w.locale=S,w.isDayjs=p,w.unix=function(t){return w(1e3*t)},w.en=D[g],w.Ls=D,w.p={},w}));
|
|
38698
|
+
} (dayjs_min));
|
|
38713
38699
|
|
|
38714
|
-
var
|
|
38700
|
+
var dayjs_minExports = dayjs_min.exports;
|
|
38701
|
+
var dayjs = /*@__PURE__*/getDefaultExportFromCjs(dayjs_minExports);
|
|
38715
38702
|
|
|
38716
38703
|
var customParseFormat$1 = {exports: {}};
|
|
38717
38704
|
|
|
38718
38705
|
(function (module, exports) {
|
|
38719
|
-
!function(t
|
|
38720
|
-
}(customParseFormat$1));
|
|
38706
|
+
!function(e,t){module.exports=t();}(commonjsGlobal$1,(function(){var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d\d/,r=/\d\d?/,i=/\d*[^-_:/,()\s\d]+/,o={},s=function(e){return (e=+e)+(e>68?1900:2e3)};var a=function(e){return function(t){this[e]=+t;}},f=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if("Z"===e)return 0;var t=e.match(/([+-]|\d\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:"+"===t[0]?-n:n}(e);}],h=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},u=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?"pm":"PM");return n},d={A:[i,function(e){this.afternoon=u(e,!1);}],a:[i,function(e){this.afternoon=u(e,!0);}],S:[/\d/,function(e){this.milliseconds=100*+e;}],SS:[n,function(e){this.milliseconds=10*+e;}],SSS:[/\d{3}/,function(e){this.milliseconds=+e;}],s:[r,a("seconds")],ss:[r,a("seconds")],m:[r,a("minutes")],mm:[r,a("minutes")],H:[r,a("hours")],h:[r,a("hours")],HH:[r,a("hours")],hh:[r,a("hours")],D:[r,a("day")],DD:[n,a("day")],Do:[i,function(e){var t=o.ordinal,n=e.match(/\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\[|\]/g,"")===e&&(this.day=r);}],M:[r,a("month")],MM:[n,a("month")],MMM:[i,function(e){var t=h("months"),n=(h("monthsShort")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n;}],MMMM:[i,function(e){var t=h("months").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t;}],Y:[/[+-]?\d+/,a("year")],YY:[n,function(e){this.year=s(e);}],YYYY:[/\d{4}/,a("year")],Z:f,ZZ:f};function c(n){var r,i;r=n,i=o&&o.formats;for(var s=(n=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=s.length,f=0;f<a;f+=1){var h=s[f],u=d[h],c=u&&u[0],l=u&&u[1];s[f]=l?{regex:c,parser:l}:h.replace(/^\[|\]$/g,"");}return function(e){for(var t={},n=0,r=0;n<a;n+=1){var i=s[n];if("string"==typeof i)r+=i.length;else {var o=i.regex,f=i.parser,h=e.slice(r),u=o.exec(h)[0];f.call(t,u),e=e.replace(u,"");}}return function(e){var t=e.afternoon;if(void 0!==t){var n=e.hours;t?n<12&&(e.hours+=12):12===n&&(e.hours=0),delete e.afternoon;}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(s=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,s=e.args;this.$u=r;var a=s[1];if("string"==typeof a){var f=!0===s[2],h=!0===s[3],u=f||h,d=s[2];h&&(d=s[2]),o=this.$locale(),!f&&d&&(o=n.Ls[d]),this.$d=function(e,t,n){try{if(["x","X"].indexOf(t)>-1)return new Date(("X"===t?1e3:1)*e);var r=c(t)(e),i=r.year,o=r.month,s=r.day,a=r.hours,f=r.minutes,h=r.seconds,u=r.milliseconds,d=r.zone,l=new Date,m=s||(i||o?1:l.getDate()),M=i||l.getFullYear(),Y=0;i&&!o||(Y=o>0?o-1:l.getMonth());var p=a||0,v=f||0,D=h||0,g=u||0;return d?new Date(Date.UTC(M,Y,m,p,v,D,g+60*d.offset*1e3)):n?new Date(Date.UTC(M,Y,m,p,v,D,g)):new Date(M,Y,m,p,v,D,g)}catch(e){return new Date("")}}(t,a,r),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date("")),o={};}else if(a instanceof Array)for(var l=a.length,m=1;m<=l;m+=1){s[1]=a[m-1];var M=n.apply(this,s);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===l&&(this.$d=new Date(""));}else i.call(this,e);};}}));
|
|
38707
|
+
} (customParseFormat$1));
|
|
38721
38708
|
|
|
38722
|
-
var
|
|
38709
|
+
var customParseFormatExports = customParseFormat$1.exports;
|
|
38710
|
+
var customParseFormat = /*@__PURE__*/getDefaultExportFromCjs(customParseFormatExports);
|
|
38723
38711
|
|
|
38724
38712
|
var isSameOrBefore$1 = {exports: {}};
|
|
38725
38713
|
|
|
38726
38714
|
(function (module, exports) {
|
|
38727
|
-
!function(e,i){module.exports=i();}(commonjsGlobal$1,(function(){return function(e,i){i.prototype.isSameOrBefore=function(e,i){return this.isSame(e,i)||this.isBefore(e,i)};}}));
|
|
38728
|
-
}(isSameOrBefore$1));
|
|
38715
|
+
!function(e,i){module.exports=i();}(commonjsGlobal$1,(function(){return function(e,i){i.prototype.isSameOrBefore=function(e,i){return this.isSame(e,i)||this.isBefore(e,i)};}}));
|
|
38716
|
+
} (isSameOrBefore$1));
|
|
38729
38717
|
|
|
38730
|
-
var
|
|
38718
|
+
var isSameOrBeforeExports = isSameOrBefore$1.exports;
|
|
38719
|
+
var isSameOrBefore = /*@__PURE__*/getDefaultExportFromCjs(isSameOrBeforeExports);
|
|
38731
38720
|
|
|
38732
38721
|
var isSameOrAfter$1 = {exports: {}};
|
|
38733
38722
|
|
|
38734
38723
|
(function (module, exports) {
|
|
38735
|
-
!function(e,t){module.exports=t();}(commonjsGlobal$1,(function(){return function(e,t){t.prototype.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)};}}));
|
|
38736
|
-
}(isSameOrAfter$1));
|
|
38724
|
+
!function(e,t){module.exports=t();}(commonjsGlobal$1,(function(){return function(e,t){t.prototype.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)};}}));
|
|
38725
|
+
} (isSameOrAfter$1));
|
|
38737
38726
|
|
|
38738
|
-
var
|
|
38727
|
+
var isSameOrAfterExports = isSameOrAfter$1.exports;
|
|
38728
|
+
var isSameOrAfter = /*@__PURE__*/getDefaultExportFromCjs(isSameOrAfterExports);
|
|
38739
38729
|
|
|
38740
38730
|
/* eslint-disable no-unused-vars */
|
|
38741
38731
|
|
|
@@ -38751,24 +38741,24 @@ dayjs.extend(isSameOrAfter);
|
|
|
38751
38741
|
|
|
38752
38742
|
let validatorFns = {};
|
|
38753
38743
|
|
|
38754
|
-
const INCLUDED_IN =
|
|
38755
|
-
const INCLUDED_IN_ERROR =
|
|
38744
|
+
const INCLUDED_IN = 'validator/INCLUDED_IN';
|
|
38745
|
+
const INCLUDED_IN_ERROR = 'error/INCLUDED_IN';
|
|
38756
38746
|
const includedIn = createValidator(INCLUDED_IN, INCLUDED_IN_ERROR);
|
|
38757
38747
|
validatorFns[INCLUDED_IN] = (value, args, form) =>
|
|
38758
38748
|
Array.isArray(args[0]) ? args[0].includes(value) : args[0] === value;
|
|
38759
38749
|
|
|
38760
|
-
const REQUIRED =
|
|
38761
|
-
const REQUIRED_ERROR =
|
|
38750
|
+
const REQUIRED = 'validator/REQUIRED';
|
|
38751
|
+
const REQUIRED_ERROR = 'error/REQUIRED';
|
|
38762
38752
|
const required = createValidator(REQUIRED, REQUIRED_ERROR);
|
|
38763
|
-
validatorFns[REQUIRED] = (value, args, form) => value !==
|
|
38753
|
+
validatorFns[REQUIRED] = (value, args, form) => value !== '';
|
|
38764
38754
|
|
|
38765
|
-
const ONLY_INTEGERS =
|
|
38766
|
-
const ONLY_INTEGERS_ERROR =
|
|
38755
|
+
const ONLY_INTEGERS = 'validator/ONLY_INTEGERS';
|
|
38756
|
+
const ONLY_INTEGERS_ERROR = 'error/ONLY_INTEGERS';
|
|
38767
38757
|
const onlyIntegers = createValidator(ONLY_INTEGERS, ONLY_INTEGERS_ERROR);
|
|
38768
38758
|
validatorFns[ONLY_INTEGERS] = (value, args, form) => /^(-?\d+)?$/.test(value);
|
|
38769
38759
|
|
|
38770
|
-
const ONLY_NATURALS =
|
|
38771
|
-
const ONLY_NATURALS_ERROR =
|
|
38760
|
+
const ONLY_NATURALS = 'validator/ONLY_NATURALS';
|
|
38761
|
+
const ONLY_NATURALS_ERROR = 'error/ONLY_NATURALS';
|
|
38772
38762
|
const onlyNaturals = createValidator(ONLY_NATURALS, ONLY_NATURALS_ERROR);
|
|
38773
38763
|
validatorFns[ONLY_NATURALS] = (value, args, form) => /^(\d+)?$/.test(value);
|
|
38774
38764
|
|
|
@@ -38781,8 +38771,8 @@ not tested as validation function
|
|
|
38781
38771
|
to validate exp date instead use combo of:
|
|
38782
38772
|
required(), hasLength(), isValidMonth(), dateAfterToday()
|
|
38783
38773
|
*/
|
|
38784
|
-
const ONLY_EXPIRATION_DATE =
|
|
38785
|
-
const ONLY_EXPIRATION_DATE_ERROR =
|
|
38774
|
+
const ONLY_EXPIRATION_DATE = 'validator/ONLY_EXPIRATION_DATE';
|
|
38775
|
+
const ONLY_EXPIRATION_DATE_ERROR = 'error/ONLY_EXPIRATION_DATE';
|
|
38786
38776
|
const onlyExpirationDate = createValidator(
|
|
38787
38777
|
ONLY_EXPIRATION_DATE,
|
|
38788
38778
|
ONLY_EXPIRATION_DATE_ERROR
|
|
@@ -38790,64 +38780,63 @@ const onlyExpirationDate = createValidator(
|
|
|
38790
38780
|
validatorFns[ONLY_EXPIRATION_DATE] = (value, args, form) =>
|
|
38791
38781
|
/^(\d?\d?\/?\d?\d?)?$/.test(value);
|
|
38792
38782
|
|
|
38793
|
-
const NUMBER_LESS_THAN =
|
|
38794
|
-
const NUMBER_LESS_THAN_ERROR =
|
|
38783
|
+
const NUMBER_LESS_THAN = 'validator/NUMBER_LESS_THAN';
|
|
38784
|
+
const NUMBER_LESS_THAN_ERROR = 'error/NUMBER_LESS_THAN';
|
|
38795
38785
|
const numberLessThan = createValidator(
|
|
38796
38786
|
NUMBER_LESS_THAN,
|
|
38797
38787
|
NUMBER_LESS_THAN_ERROR
|
|
38798
38788
|
);
|
|
38799
38789
|
validatorFns[NUMBER_LESS_THAN] = (value, args, form) => {
|
|
38800
|
-
if (value ===
|
|
38790
|
+
if (value === '') {
|
|
38801
38791
|
return true;
|
|
38802
38792
|
}
|
|
38803
38793
|
return Number(value) < args[0];
|
|
38804
38794
|
};
|
|
38805
38795
|
|
|
38806
|
-
const NUMBER_LESS_THAN_OR_EQUAL_TO =
|
|
38807
|
-
"validator/NUMBER_LESS_THAN_OR_EQUAL_TO";
|
|
38796
|
+
const NUMBER_LESS_THAN_OR_EQUAL_TO = 'validator/NUMBER_LESS_THAN_OR_EQUAL_TO';
|
|
38808
38797
|
const NUMBER_LESS_THAN_OR_EQUAL_TO_ERROR =
|
|
38809
|
-
|
|
38798
|
+
'error/NUMBER_LESS_THAN_OR_EQUAL_TO';
|
|
38810
38799
|
const numberLessThanOrEqualTo = createValidator(
|
|
38811
38800
|
NUMBER_LESS_THAN_OR_EQUAL_TO,
|
|
38812
38801
|
NUMBER_LESS_THAN_OR_EQUAL_TO_ERROR
|
|
38813
38802
|
);
|
|
38814
38803
|
validatorFns[NUMBER_LESS_THAN_OR_EQUAL_TO] = (value, args, form) => {
|
|
38815
|
-
if (value ===
|
|
38804
|
+
if (value === '') {
|
|
38816
38805
|
return true;
|
|
38817
38806
|
}
|
|
38818
38807
|
return Number(value) <= args[0];
|
|
38819
38808
|
};
|
|
38820
38809
|
|
|
38821
|
-
const NUMBER_GREATER_THAN =
|
|
38822
|
-
const NUMBER_GREATER_THAN_ERROR =
|
|
38810
|
+
const NUMBER_GREATER_THAN = 'validator/NUMBER_GREATER_THAN';
|
|
38811
|
+
const NUMBER_GREATER_THAN_ERROR = 'error/NUMBER_GREATER_THAN';
|
|
38823
38812
|
const numberGreaterThan = createValidator(
|
|
38824
38813
|
NUMBER_GREATER_THAN,
|
|
38825
38814
|
NUMBER_GREATER_THAN_ERROR
|
|
38826
38815
|
);
|
|
38827
38816
|
validatorFns[NUMBER_GREATER_THAN] = (value, args, form) => {
|
|
38828
|
-
if (value ===
|
|
38817
|
+
if (value === '') {
|
|
38829
38818
|
return true;
|
|
38830
38819
|
}
|
|
38831
38820
|
return Number(value) > args[0];
|
|
38832
38821
|
};
|
|
38833
38822
|
|
|
38834
38823
|
const NUMBER_GREATER_THAN_OR_EQUAL_TO =
|
|
38835
|
-
|
|
38824
|
+
'validator/NUMBER_GREATER_THAN_OR_EQUAL_TO';
|
|
38836
38825
|
const NUMBER_GREATER_THAN_OR_EQUAL_TO_ERROR =
|
|
38837
|
-
|
|
38826
|
+
'error/NUMBER_GREATER_THAN_OR_EQUAL_TO';
|
|
38838
38827
|
const numberGreaterThanOrEqualTo = createValidator(
|
|
38839
38828
|
NUMBER_GREATER_THAN_OR_EQUAL_TO,
|
|
38840
38829
|
NUMBER_GREATER_THAN_OR_EQUAL_TO_ERROR
|
|
38841
38830
|
);
|
|
38842
38831
|
validatorFns[NUMBER_GREATER_THAN_OR_EQUAL_TO] = (value, args, form) => {
|
|
38843
|
-
if (value ===
|
|
38832
|
+
if (value === '') {
|
|
38844
38833
|
return true;
|
|
38845
38834
|
}
|
|
38846
38835
|
return Number(value) >= args[0];
|
|
38847
38836
|
};
|
|
38848
38837
|
|
|
38849
|
-
const MATCHES_FIELD =
|
|
38850
|
-
const MATCHES_FIELD_ERROR$1 =
|
|
38838
|
+
const MATCHES_FIELD = 'validator/MATCHES_FIELD';
|
|
38839
|
+
const MATCHES_FIELD_ERROR$1 = 'error/MATCHES_FIELD';
|
|
38851
38840
|
const matchesField = createValidator(MATCHES_FIELD, MATCHES_FIELD_ERROR$1);
|
|
38852
38841
|
validatorFns[MATCHES_FIELD] = (value, args, form) => {
|
|
38853
38842
|
const dependentField = form[args[0]];
|
|
@@ -38860,7 +38849,7 @@ validatorFns[MATCHES_FIELD] = (value, args, form) => {
|
|
|
38860
38849
|
return value === dependentFieldValue;
|
|
38861
38850
|
};
|
|
38862
38851
|
|
|
38863
|
-
const validateWhenErrorMessage = type =>
|
|
38852
|
+
const validateWhenErrorMessage = (type) =>
|
|
38864
38853
|
`${type} was passed to validateWhen, but that validator type does not exist.
|
|
38865
38854
|
Please check that you are only calling validator creator functions exported from
|
|
38866
38855
|
redux-freeform in your form config and that you didn't forget to
|
|
@@ -38868,25 +38857,21 @@ const validateWhenErrorMessage = type =>
|
|
|
38868
38857
|
createFormState). Also make sure you aren't passing validateWhen() to validateWhen
|
|
38869
38858
|
as the primary validator.`;
|
|
38870
38859
|
|
|
38871
|
-
const VALIDATE_WHEN =
|
|
38872
|
-
const VALIDATE_WHEN_ERROR =
|
|
38873
|
-
const validateWhen = (
|
|
38874
|
-
dependentValidator,
|
|
38875
|
-
primaryValidator,
|
|
38876
|
-
optionalFieldName
|
|
38877
|
-
) => ({
|
|
38860
|
+
const VALIDATE_WHEN = 'validator/VALIDATE_WHEN';
|
|
38861
|
+
const VALIDATE_WHEN_ERROR = 'error/VALIDATE_WHEN';
|
|
38862
|
+
const validateWhen = (dependentValidator, primaryValidator, optionalFieldName) => ({
|
|
38878
38863
|
type: VALIDATE_WHEN,
|
|
38879
38864
|
args: [dependentValidator, primaryValidator, optionalFieldName],
|
|
38880
|
-
error: dependentValidator.error
|
|
38865
|
+
error: dependentValidator.error,
|
|
38881
38866
|
});
|
|
38882
38867
|
validateWhen.error = VALIDATE_WHEN_ERROR;
|
|
38883
38868
|
validatorFns[VALIDATE_WHEN] = (value, args, form) => {
|
|
38884
38869
|
const [dependentValidator, primaryValidator, optionalFieldName] = args;
|
|
38885
|
-
const dependsOnOtherField = typeof optionalFieldName ===
|
|
38870
|
+
const dependsOnOtherField = typeof optionalFieldName === 'string';
|
|
38886
38871
|
|
|
38887
38872
|
if (
|
|
38888
38873
|
primaryValidator.type === undefined ||
|
|
38889
|
-
typeof validatorFns[primaryValidator.type] !==
|
|
38874
|
+
typeof validatorFns[primaryValidator.type] !== 'function'
|
|
38890
38875
|
) {
|
|
38891
38876
|
throw new Error(validateWhenErrorMessage(primaryValidator.type));
|
|
38892
38877
|
}
|
|
@@ -38910,26 +38895,22 @@ validatorFns[VALIDATE_WHEN] = (value, args, form) => {
|
|
|
38910
38895
|
);
|
|
38911
38896
|
|
|
38912
38897
|
return primaryPredicatePassed
|
|
38913
|
-
? validatorFns[dependentValidator.type](
|
|
38914
|
-
value,
|
|
38915
|
-
dependentValidator.args,
|
|
38916
|
-
form
|
|
38917
|
-
)
|
|
38898
|
+
? validatorFns[dependentValidator.type](value, dependentValidator.args, form)
|
|
38918
38899
|
: true;
|
|
38919
38900
|
};
|
|
38920
38901
|
|
|
38921
|
-
const validateSumErrorMessage = type =>
|
|
38902
|
+
const validateSumErrorMessage = (type) =>
|
|
38922
38903
|
`${type} was passed to validateSum, but that validator type does not exist.
|
|
38923
38904
|
Please check that you are only calling validator creator functions exported from
|
|
38924
38905
|
redux-freeform in your form config and that you didn't forget to
|
|
38925
38906
|
invoke the validator creator (you cannot pass the functions themselves to
|
|
38926
38907
|
createFormState).`;
|
|
38927
|
-
const VALIDATE_SUM =
|
|
38928
|
-
const VALIDATE_SUM_ERROR =
|
|
38908
|
+
const VALIDATE_SUM = 'validator/VALIDATE_SUM';
|
|
38909
|
+
const VALIDATE_SUM_ERROR = 'error/VALIDATE_SUM';
|
|
38929
38910
|
const validateSum = (validator, fieldNamesArray) => ({
|
|
38930
38911
|
type: VALIDATE_SUM,
|
|
38931
38912
|
args: [validator, fieldNamesArray],
|
|
38932
|
-
error: validator.error
|
|
38913
|
+
error: validator.error,
|
|
38933
38914
|
});
|
|
38934
38915
|
validateSum.error = VALIDATE_SUM_ERROR;
|
|
38935
38916
|
validatorFns[VALIDATE_SUM] = (value, args, form) => {
|
|
@@ -38937,7 +38918,7 @@ validatorFns[VALIDATE_SUM] = (value, args, form) => {
|
|
|
38937
38918
|
|
|
38938
38919
|
if (
|
|
38939
38920
|
validator.type === undefined ||
|
|
38940
|
-
typeof validatorFns[validator.type] !==
|
|
38921
|
+
typeof validatorFns[validator.type] !== 'function'
|
|
38941
38922
|
) {
|
|
38942
38923
|
throw new Error(validateSumErrorMessage(validator.type));
|
|
38943
38924
|
}
|
|
@@ -38958,37 +38939,35 @@ validatorFns[VALIDATE_SUM] = (value, args, form) => {
|
|
|
38958
38939
|
return validatorFns[validator.type](sum, validator.args, form);
|
|
38959
38940
|
};
|
|
38960
38941
|
|
|
38961
|
-
const HAS_LENGTH =
|
|
38962
|
-
const HAS_LENGTH_ERROR =
|
|
38942
|
+
const HAS_LENGTH = 'validator/HAS_LENGTH';
|
|
38943
|
+
const HAS_LENGTH_ERROR = 'error/HAS_LENGTH';
|
|
38963
38944
|
const hasLength = createValidator(HAS_LENGTH, HAS_LENGTH_ERROR);
|
|
38964
38945
|
validatorFns[HAS_LENGTH] = (value, args, form) => {
|
|
38965
|
-
if (value ===
|
|
38946
|
+
if (value === '') {
|
|
38966
38947
|
return true;
|
|
38967
38948
|
}
|
|
38968
38949
|
const min = args[0];
|
|
38969
38950
|
const max = args[1];
|
|
38970
38951
|
if (max == undefined || min == undefined) {
|
|
38971
38952
|
throw new Error(
|
|
38972
|
-
|
|
38953
|
+
'Max and min need to be defined for hasLength, both or one of them is undefined'
|
|
38973
38954
|
);
|
|
38974
38955
|
}
|
|
38975
38956
|
if (max < min) {
|
|
38976
|
-
throw new Error(
|
|
38977
|
-
"hasLength validator was passed a min greater than the max"
|
|
38978
|
-
);
|
|
38957
|
+
throw new Error('hasLength validator was passed a min greater than the max');
|
|
38979
38958
|
}
|
|
38980
38959
|
const valueLength = value.length;
|
|
38981
38960
|
return max >= valueLength && valueLength >= min;
|
|
38982
38961
|
};
|
|
38983
38962
|
|
|
38984
|
-
const DATE_BEFORE_TODAY =
|
|
38985
|
-
const DATE_BEFORE_TODAY_ERROR =
|
|
38963
|
+
const DATE_BEFORE_TODAY = 'validator/DATE_BEFORE_TODAY';
|
|
38964
|
+
const DATE_BEFORE_TODAY_ERROR = 'error/DATE_BEFORE_TODAY';
|
|
38986
38965
|
const dateBeforeToday = createValidator(
|
|
38987
38966
|
DATE_BEFORE_TODAY,
|
|
38988
38967
|
DATE_BEFORE_TODAY_ERROR
|
|
38989
38968
|
);
|
|
38990
38969
|
validatorFns[DATE_BEFORE_TODAY] = (value, args, form) => {
|
|
38991
|
-
if (value ===
|
|
38970
|
+
if (value === '') {
|
|
38992
38971
|
return true;
|
|
38993
38972
|
}
|
|
38994
38973
|
const dateFormat = args[0];
|
|
@@ -38997,7 +38976,7 @@ validatorFns[DATE_BEFORE_TODAY] = (value, args, form) => {
|
|
|
38997
38976
|
|
|
38998
38977
|
if (dateFormat == undefined || unit == undefined) {
|
|
38999
38978
|
throw new Error(
|
|
39000
|
-
|
|
38979
|
+
'Date format and unit need to be defined for dateBeforeToday, one or both are undefined'
|
|
39001
38980
|
);
|
|
39002
38981
|
}
|
|
39003
38982
|
const now = dayjs();
|
|
@@ -39009,14 +38988,14 @@ validatorFns[DATE_BEFORE_TODAY] = (value, args, form) => {
|
|
|
39009
38988
|
return dateValue.isBefore(now, unit);
|
|
39010
38989
|
};
|
|
39011
38990
|
|
|
39012
|
-
const DATE_AFTER_TODAY =
|
|
39013
|
-
const DATE_AFTER_TODAY_ERROR =
|
|
38991
|
+
const DATE_AFTER_TODAY = 'validator/DATE_AFTER_TODAY';
|
|
38992
|
+
const DATE_AFTER_TODAY_ERROR = 'error/DATE_AFTER_TODAY';
|
|
39014
38993
|
const dateAfterToday = createValidator(
|
|
39015
38994
|
DATE_AFTER_TODAY,
|
|
39016
38995
|
DATE_AFTER_TODAY_ERROR
|
|
39017
38996
|
);
|
|
39018
38997
|
validatorFns[DATE_AFTER_TODAY] = (value, args, form) => {
|
|
39019
|
-
if (value ===
|
|
38998
|
+
if (value === '') {
|
|
39020
38999
|
return true;
|
|
39021
39000
|
}
|
|
39022
39001
|
const dateFormat = args[0];
|
|
@@ -39025,7 +39004,7 @@ validatorFns[DATE_AFTER_TODAY] = (value, args, form) => {
|
|
|
39025
39004
|
|
|
39026
39005
|
if (dateFormat == undefined || unit == undefined) {
|
|
39027
39006
|
throw new Error(
|
|
39028
|
-
|
|
39007
|
+
'Date format and unit need to be defined for dateAfterToday, one or both are undefined'
|
|
39029
39008
|
);
|
|
39030
39009
|
}
|
|
39031
39010
|
const now = dayjs();
|
|
@@ -39037,14 +39016,11 @@ validatorFns[DATE_AFTER_TODAY] = (value, args, form) => {
|
|
|
39037
39016
|
return dateValue.isAfter(now, unit);
|
|
39038
39017
|
};
|
|
39039
39018
|
|
|
39040
|
-
const IS_VALID_MONTH =
|
|
39041
|
-
const IS_VALID_MONTH_ERROR =
|
|
39042
|
-
const isValidMonth = createValidator(
|
|
39043
|
-
IS_VALID_MONTH,
|
|
39044
|
-
IS_VALID_MONTH_ERROR
|
|
39045
|
-
);
|
|
39019
|
+
const IS_VALID_MONTH = 'validator/IS_VALID_MONTH';
|
|
39020
|
+
const IS_VALID_MONTH_ERROR = 'error/IS_VALID_MONTH';
|
|
39021
|
+
const isValidMonth = createValidator(IS_VALID_MONTH, IS_VALID_MONTH_ERROR);
|
|
39046
39022
|
validatorFns[IS_VALID_MONTH] = (value, args, form) => {
|
|
39047
|
-
if (value ===
|
|
39023
|
+
if (value === '') {
|
|
39048
39024
|
return true;
|
|
39049
39025
|
}
|
|
39050
39026
|
// Function takes one argument representing the character position
|
|
@@ -39054,43 +39030,43 @@ validatorFns[IS_VALID_MONTH] = (value, args, form) => {
|
|
|
39054
39030
|
// Only works with two digit months (01, 02, 03, etc)
|
|
39055
39031
|
const monthStartPosition = parseInt(args[0]);
|
|
39056
39032
|
const monthEndPosition = monthStartPosition + 2;
|
|
39057
|
-
if (monthStartPosition
|
|
39058
|
-
throw new Error(
|
|
39033
|
+
if (isNaN(monthStartPosition)) {
|
|
39034
|
+
throw new Error('Month start position has to be a valid integer string');
|
|
39059
39035
|
}
|
|
39060
39036
|
const month = parseInt(value.slice(monthStartPosition, monthEndPosition));
|
|
39061
|
-
if (month
|
|
39037
|
+
if (isNaN(month)) {
|
|
39062
39038
|
return false;
|
|
39063
39039
|
}
|
|
39064
39040
|
return month >= 1 && month <= 12;
|
|
39065
39041
|
};
|
|
39066
39042
|
|
|
39067
|
-
const MATCHES_REGEX =
|
|
39068
|
-
const MATCHES_REGEX_ERROR =
|
|
39043
|
+
const MATCHES_REGEX = 'validator/MATCHES_REGEX';
|
|
39044
|
+
const MATCHES_REGEX_ERROR = 'error/MATCHES_REGEX';
|
|
39069
39045
|
const matchesRegex = createValidator(MATCHES_REGEX, MATCHES_REGEX_ERROR);
|
|
39070
39046
|
validatorFns[MATCHES_REGEX] = (value, args, form) => {
|
|
39071
|
-
if (value ===
|
|
39047
|
+
if (value === '') {
|
|
39072
39048
|
return true;
|
|
39073
39049
|
}
|
|
39074
39050
|
return new RegExp(args[0]).test(value); // new RexExp never throws an error, no matter the input
|
|
39075
39051
|
};
|
|
39076
39052
|
|
|
39077
39053
|
// based on http://www.brainjar.com/js/validation/
|
|
39078
|
-
const IS_ROUTING_NUMBER =
|
|
39079
|
-
const IS_ROUTING_NUMBER_ERROR =
|
|
39054
|
+
const IS_ROUTING_NUMBER = 'validator/IS_ROUTING_NUMBER';
|
|
39055
|
+
const IS_ROUTING_NUMBER_ERROR = 'error/IS_ROUTING_NUMBER';
|
|
39080
39056
|
const isRoutingNumber = createValidator(
|
|
39081
39057
|
IS_ROUTING_NUMBER,
|
|
39082
39058
|
IS_ROUTING_NUMBER_ERROR
|
|
39083
39059
|
);
|
|
39084
39060
|
validatorFns[IS_ROUTING_NUMBER] = (value, args, form) => {
|
|
39085
|
-
if (value ===
|
|
39061
|
+
if (value === '') {
|
|
39086
39062
|
return true;
|
|
39087
39063
|
}
|
|
39088
39064
|
if (value.length != 9) {
|
|
39089
39065
|
return false;
|
|
39090
39066
|
}
|
|
39091
39067
|
const sum = value
|
|
39092
|
-
.split(
|
|
39093
|
-
.map(ch => parseInt(ch))
|
|
39068
|
+
.split('')
|
|
39069
|
+
.map((ch) => parseInt(ch))
|
|
39094
39070
|
.reduce((acc, cur, idx) => {
|
|
39095
39071
|
switch (idx % 3) {
|
|
39096
39072
|
case 0:
|
|
@@ -39104,69 +39080,69 @@ validatorFns[IS_ROUTING_NUMBER] = (value, args, form) => {
|
|
|
39104
39080
|
return sum != 0 && sum % 10 == 0;
|
|
39105
39081
|
};
|
|
39106
39082
|
|
|
39107
|
-
const HAS_NUMBER =
|
|
39108
|
-
const HAS_NUMBER_ERROR$1 =
|
|
39083
|
+
const HAS_NUMBER = 'validator/HAS_NUMBER';
|
|
39084
|
+
const HAS_NUMBER_ERROR$1 = 'error/HAS_NUMBER';
|
|
39109
39085
|
const hasNumber = createValidator(HAS_NUMBER, HAS_NUMBER_ERROR$1);
|
|
39110
39086
|
validatorFns[HAS_NUMBER] = (value, args, form) => {
|
|
39111
|
-
if (value ===
|
|
39087
|
+
if (value === '') {
|
|
39112
39088
|
return true;
|
|
39113
39089
|
}
|
|
39114
39090
|
return new RegExp(/[0-9]/).test(value);
|
|
39115
39091
|
};
|
|
39116
39092
|
|
|
39117
|
-
const HAS_LOWERCASE_LETTER =
|
|
39118
|
-
const HAS_LOWERCASE_LETTER_ERROR$1 =
|
|
39093
|
+
const HAS_LOWERCASE_LETTER = 'validator/HAS_LOWERCASE_LETTER';
|
|
39094
|
+
const HAS_LOWERCASE_LETTER_ERROR$1 = 'error/HAS_LOWERCASE_LETTER';
|
|
39119
39095
|
const hasLowercaseLetter = createValidator(
|
|
39120
39096
|
HAS_LOWERCASE_LETTER,
|
|
39121
39097
|
HAS_LOWERCASE_LETTER_ERROR$1
|
|
39122
39098
|
);
|
|
39123
39099
|
validatorFns[HAS_LOWERCASE_LETTER] = (value, args, form) => {
|
|
39124
|
-
if (value ===
|
|
39100
|
+
if (value === '') {
|
|
39125
39101
|
return true;
|
|
39126
39102
|
}
|
|
39127
39103
|
return new RegExp(/[a-z]/).test(value);
|
|
39128
39104
|
};
|
|
39129
39105
|
|
|
39130
|
-
const HAS_UPPERCASE_LETTER =
|
|
39131
|
-
const HAS_UPPERCASE_LETTER_ERROR$1 =
|
|
39106
|
+
const HAS_UPPERCASE_LETTER = 'validator/HAS_UPPERCASE_LETTER';
|
|
39107
|
+
const HAS_UPPERCASE_LETTER_ERROR$1 = 'error/HAS_UPPERCASE_LETTER';
|
|
39132
39108
|
const hasUppercaseLetter = createValidator(
|
|
39133
39109
|
HAS_UPPERCASE_LETTER,
|
|
39134
39110
|
HAS_UPPERCASE_LETTER_ERROR$1
|
|
39135
39111
|
);
|
|
39136
39112
|
validatorFns[HAS_UPPERCASE_LETTER] = (value, args, form) => {
|
|
39137
|
-
if (value ===
|
|
39113
|
+
if (value === '') {
|
|
39138
39114
|
return true;
|
|
39139
39115
|
}
|
|
39140
39116
|
return new RegExp(/[A-Z]/).test(value);
|
|
39141
39117
|
};
|
|
39142
39118
|
|
|
39143
|
-
const HAS_SPECIAL_CHARACTER =
|
|
39144
|
-
const HAS_SPECIAL_CHARACTER_ERROR$1 =
|
|
39119
|
+
const HAS_SPECIAL_CHARACTER = 'validator/HAS_SPECIAL_CHARACTER';
|
|
39120
|
+
const HAS_SPECIAL_CHARACTER_ERROR$1 = 'error/HAS_SPECIAL_CHARACTER';
|
|
39145
39121
|
const hasSpecialCharacter = createValidator(
|
|
39146
39122
|
HAS_SPECIAL_CHARACTER,
|
|
39147
39123
|
HAS_SPECIAL_CHARACTER_ERROR$1
|
|
39148
39124
|
);
|
|
39149
39125
|
validatorFns[HAS_SPECIAL_CHARACTER] = (value, args, form) => {
|
|
39150
|
-
if (value ===
|
|
39126
|
+
if (value === '') {
|
|
39151
39127
|
return true;
|
|
39152
39128
|
}
|
|
39153
39129
|
return new RegExp(/[!@#$%^&*.?]/).test(value);
|
|
39154
39130
|
};
|
|
39155
39131
|
|
|
39156
|
-
const IS_PROBABLY_EMAIL =
|
|
39157
|
-
const IS_PROBABLY_EMAIL_ERROR =
|
|
39132
|
+
const IS_PROBABLY_EMAIL = 'validator/IS_PROBABLY_EMAIL';
|
|
39133
|
+
const IS_PROBABLY_EMAIL_ERROR = 'error/IS_PROBABLY_EMAIL';
|
|
39158
39134
|
const isProbablyEmail = createValidator(
|
|
39159
39135
|
IS_PROBABLY_EMAIL,
|
|
39160
39136
|
IS_PROBABLY_EMAIL_ERROR
|
|
39161
39137
|
);
|
|
39162
39138
|
validatorFns[IS_PROBABLY_EMAIL] = (value, args, form) => {
|
|
39163
|
-
if (value ===
|
|
39139
|
+
if (value === '') {
|
|
39164
39140
|
return true;
|
|
39165
39141
|
}
|
|
39166
39142
|
return new RegExp(/^\S+@\S+\.\S+$/).test(value);
|
|
39167
39143
|
};
|
|
39168
39144
|
|
|
39169
|
-
const runValidatorErrorMessage = type =>
|
|
39145
|
+
const runValidatorErrorMessage = (type) =>
|
|
39170
39146
|
`${type} was passed to runValidator, but that validator type does not exist.
|
|
39171
39147
|
Please check that you are only calling validator creator functions exported from
|
|
39172
39148
|
redux-freeform in your form config and that you didn't forget to
|
|
@@ -39181,1165 +39157,53 @@ const runValidator = (validator, value, form) => {
|
|
|
39181
39157
|
return validatorFn(value, validator.args, form) ? null : validator.error;
|
|
39182
39158
|
};
|
|
39183
39159
|
|
|
39184
|
-
const
|
|
39160
|
+
const runFormValidators = (fieldName, form, validators) => {
|
|
39185
39161
|
return validators
|
|
39186
|
-
.map(v => runValidator(v, form[fieldName].rawValue, form))
|
|
39187
|
-
.filter(x => x !== null);
|
|
39162
|
+
.map((v) => runValidator(v, form[fieldName].rawValue, form))
|
|
39163
|
+
.filter((x) => x !== null);
|
|
39188
39164
|
};
|
|
39189
39165
|
|
|
39190
39166
|
const computeConstraints = (fieldName, form) => {
|
|
39191
39167
|
const constraints = form[fieldName].constraints;
|
|
39192
|
-
return
|
|
39168
|
+
return runFormValidators(fieldName, form, constraints);
|
|
39193
39169
|
};
|
|
39194
39170
|
|
|
39195
39171
|
const computeErrors = (fieldName, form) => {
|
|
39196
39172
|
const validators = form[fieldName].validators;
|
|
39197
|
-
return
|
|
39198
|
-
};
|
|
39199
|
-
|
|
39200
|
-
var obj;
|
|
39201
|
-
var NOTHING = typeof Symbol !== "undefined" ? Symbol("immer-nothing") : ( obj = {}, obj["immer-nothing"] = true, obj );
|
|
39202
|
-
var DRAFTABLE = typeof Symbol !== "undefined" && Symbol.for ? Symbol.for("immer-draftable") : "__$immer_draftable";
|
|
39203
|
-
var DRAFT_STATE = typeof Symbol !== "undefined" && Symbol.for ? Symbol.for("immer-state") : "__$immer_state";
|
|
39204
|
-
function isDraft(value) {
|
|
39205
|
-
return !!value && !!value[DRAFT_STATE];
|
|
39206
|
-
}
|
|
39207
|
-
function isDraftable(value) {
|
|
39208
|
-
if (!value) { return false; }
|
|
39209
|
-
return isPlainObject(value) || !!value[DRAFTABLE] || !!value.constructor[DRAFTABLE];
|
|
39210
|
-
}
|
|
39211
|
-
function isPlainObject(value) {
|
|
39212
|
-
if (!value || typeof value !== "object") { return false; }
|
|
39213
|
-
if (Array.isArray(value)) { return true; }
|
|
39214
|
-
var proto = Object.getPrototypeOf(value);
|
|
39215
|
-
return !proto || proto === Object.prototype;
|
|
39216
|
-
}
|
|
39217
|
-
var assign = Object.assign || function assign(target, value) {
|
|
39218
|
-
for (var key in value) {
|
|
39219
|
-
if (has$1(value, key)) {
|
|
39220
|
-
target[key] = value[key];
|
|
39221
|
-
}
|
|
39222
|
-
}
|
|
39223
|
-
|
|
39224
|
-
return target;
|
|
39225
|
-
};
|
|
39226
|
-
var ownKeys$2 = typeof Reflect !== "undefined" && Reflect.ownKeys ? Reflect.ownKeys : typeof Object.getOwnPropertySymbols !== "undefined" ? function (obj) { return Object.getOwnPropertyNames(obj).concat(Object.getOwnPropertySymbols(obj)); } : Object.getOwnPropertyNames;
|
|
39227
|
-
function shallowCopy(base, invokeGetters) {
|
|
39228
|
-
if ( invokeGetters === void 0 ) invokeGetters = false;
|
|
39229
|
-
|
|
39230
|
-
if (Array.isArray(base)) { return base.slice(); }
|
|
39231
|
-
var clone = Object.create(Object.getPrototypeOf(base));
|
|
39232
|
-
ownKeys$2(base).forEach(function (key) {
|
|
39233
|
-
if (key === DRAFT_STATE) {
|
|
39234
|
-
return; // Never copy over draft state.
|
|
39235
|
-
}
|
|
39236
|
-
|
|
39237
|
-
var desc = Object.getOwnPropertyDescriptor(base, key);
|
|
39238
|
-
var value = desc.value;
|
|
39239
|
-
|
|
39240
|
-
if (desc.get) {
|
|
39241
|
-
if (!invokeGetters) {
|
|
39242
|
-
throw new Error("Immer drafts cannot have computed properties");
|
|
39243
|
-
}
|
|
39244
|
-
|
|
39245
|
-
value = desc.get.call(base);
|
|
39246
|
-
}
|
|
39247
|
-
|
|
39248
|
-
if (desc.enumerable) {
|
|
39249
|
-
clone[key] = value;
|
|
39250
|
-
} else {
|
|
39251
|
-
Object.defineProperty(clone, key, {
|
|
39252
|
-
value: value,
|
|
39253
|
-
writable: true,
|
|
39254
|
-
configurable: true
|
|
39255
|
-
});
|
|
39256
|
-
}
|
|
39257
|
-
});
|
|
39258
|
-
return clone;
|
|
39259
|
-
}
|
|
39260
|
-
function each(value, cb) {
|
|
39261
|
-
if (Array.isArray(value)) {
|
|
39262
|
-
for (var i = 0; i < value.length; i++) { cb(i, value[i], value); }
|
|
39263
|
-
} else {
|
|
39264
|
-
ownKeys$2(value).forEach(function (key) { return cb(key, value[key], value); });
|
|
39265
|
-
}
|
|
39266
|
-
}
|
|
39267
|
-
function isEnumerable(base, prop) {
|
|
39268
|
-
var desc = Object.getOwnPropertyDescriptor(base, prop);
|
|
39269
|
-
return !!desc && desc.enumerable;
|
|
39270
|
-
}
|
|
39271
|
-
function has$1(thing, prop) {
|
|
39272
|
-
return Object.prototype.hasOwnProperty.call(thing, prop);
|
|
39273
|
-
}
|
|
39274
|
-
function is(x, y) {
|
|
39275
|
-
// From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js
|
|
39276
|
-
if (x === y) {
|
|
39277
|
-
return x !== 0 || 1 / x === 1 / y;
|
|
39278
|
-
} else {
|
|
39279
|
-
return x !== x && y !== y;
|
|
39280
|
-
}
|
|
39281
|
-
}
|
|
39282
|
-
function clone(obj) {
|
|
39283
|
-
if (!isDraftable(obj)) { return obj; }
|
|
39284
|
-
if (Array.isArray(obj)) { return obj.map(clone); }
|
|
39285
|
-
var cloned = Object.create(Object.getPrototypeOf(obj));
|
|
39286
|
-
|
|
39287
|
-
for (var key in obj) { cloned[key] = clone(obj[key]); }
|
|
39288
|
-
|
|
39289
|
-
return cloned;
|
|
39290
|
-
}
|
|
39291
|
-
|
|
39292
|
-
/** Each scope represents a `produce` call. */
|
|
39293
|
-
|
|
39294
|
-
var ImmerScope = function ImmerScope(parent) {
|
|
39295
|
-
this.drafts = [];
|
|
39296
|
-
this.parent = parent; // Whenever the modified draft contains a draft from another scope, we
|
|
39297
|
-
// need to prevent auto-freezing so the unowned draft can be finalized.
|
|
39298
|
-
|
|
39299
|
-
this.canAutoFreeze = true; // To avoid prototype lookups:
|
|
39300
|
-
|
|
39301
|
-
this.patches = null;
|
|
39173
|
+
return runFormValidators(fieldName, form, validators);
|
|
39302
39174
|
};
|
|
39303
39175
|
|
|
39304
|
-
|
|
39305
|
-
|
|
39306
|
-
|
|
39307
|
-
|
|
39308
|
-
|
|
39176
|
+
const computeErrorEntries = (formState) => {
|
|
39177
|
+
const fields = Object.entries(formState);
|
|
39178
|
+
for (let entry of fields) {
|
|
39179
|
+
let fieldName = entry[0];
|
|
39180
|
+
let errors = computeErrors(fieldName, formState);
|
|
39181
|
+
formState[fieldName].errors = errors;
|
|
39182
|
+
formState[fieldName].hasErrors = errors.length > 0;
|
|
39309
39183
|
}
|
|
39310
39184
|
};
|
|
39311
39185
|
|
|
39312
|
-
|
|
39313
|
-
|
|
39314
|
-
|
|
39315
|
-
|
|
39316
|
-
|
|
39317
|
-
|
|
39318
|
-
|
|
39319
|
-
if (this === ImmerScope.current) {
|
|
39320
|
-
ImmerScope.current = this.parent;
|
|
39186
|
+
const computeDirtyEntries = (formState, changedFieldName) => {
|
|
39187
|
+
const fields = Object.entries(formState);
|
|
39188
|
+
for (let entry of fields) {
|
|
39189
|
+
let fieldName = entry[0];
|
|
39190
|
+
let field = entry[1];
|
|
39191
|
+
let dirty = fieldName === changedFieldName ? true : field.dirty;
|
|
39192
|
+
formState[fieldName].dirty = dirty;
|
|
39321
39193
|
}
|
|
39322
39194
|
};
|
|
39323
|
-
ImmerScope.current = null;
|
|
39324
|
-
|
|
39325
|
-
ImmerScope.enter = function () {
|
|
39326
|
-
return this.current = new ImmerScope(this.current);
|
|
39327
|
-
};
|
|
39328
|
-
|
|
39329
|
-
function revoke(draft) {
|
|
39330
|
-
draft[DRAFT_STATE].revoke();
|
|
39331
|
-
}
|
|
39332
|
-
|
|
39333
|
-
// but share them all instead
|
|
39334
|
-
|
|
39335
|
-
var descriptors$1 = {};
|
|
39336
|
-
function willFinalize(scope, result, isReplaced) {
|
|
39337
|
-
scope.drafts.forEach(function (draft) {
|
|
39338
|
-
draft[DRAFT_STATE].finalizing = true;
|
|
39339
|
-
});
|
|
39340
|
-
|
|
39341
|
-
if (!isReplaced) {
|
|
39342
|
-
if (scope.patches) {
|
|
39343
|
-
markChangesRecursively(scope.drafts[0]);
|
|
39344
|
-
} // This is faster when we don't care about which attributes changed.
|
|
39345
|
-
|
|
39346
|
-
|
|
39347
|
-
markChangesSweep(scope.drafts);
|
|
39348
|
-
} // When a child draft is returned, look for changes.
|
|
39349
|
-
else if (isDraft(result) && result[DRAFT_STATE].scope === scope) {
|
|
39350
|
-
markChangesSweep(scope.drafts);
|
|
39351
|
-
}
|
|
39352
|
-
}
|
|
39353
|
-
function createProxy(base, parent) {
|
|
39354
|
-
var isArray = Array.isArray(base);
|
|
39355
|
-
var draft = clonePotentialDraft(base);
|
|
39356
|
-
each(draft, function (prop) {
|
|
39357
|
-
proxyProperty(draft, prop, isArray || isEnumerable(base, prop));
|
|
39358
|
-
}); // See "proxy.js" for property documentation.
|
|
39359
|
-
|
|
39360
|
-
var scope = parent ? parent.scope : ImmerScope.current;
|
|
39361
|
-
var state = {
|
|
39362
|
-
scope: scope,
|
|
39363
|
-
modified: false,
|
|
39364
|
-
finalizing: false,
|
|
39365
|
-
// es5 only
|
|
39366
|
-
finalized: false,
|
|
39367
|
-
assigned: {},
|
|
39368
|
-
parent: parent,
|
|
39369
|
-
base: base,
|
|
39370
|
-
draft: draft,
|
|
39371
|
-
copy: null,
|
|
39372
|
-
revoke: revoke$1,
|
|
39373
|
-
revoked: false // es5 only
|
|
39374
|
-
|
|
39375
|
-
};
|
|
39376
|
-
createHiddenProperty(draft, DRAFT_STATE, state);
|
|
39377
|
-
scope.drafts.push(draft);
|
|
39378
|
-
return draft;
|
|
39379
|
-
}
|
|
39380
|
-
|
|
39381
|
-
function revoke$1() {
|
|
39382
|
-
this.revoked = true;
|
|
39383
|
-
}
|
|
39384
|
-
|
|
39385
|
-
function source(state) {
|
|
39386
|
-
return state.copy || state.base;
|
|
39387
|
-
} // Access a property without creating an Immer draft.
|
|
39388
|
-
|
|
39389
|
-
|
|
39390
|
-
function peek(draft, prop) {
|
|
39391
|
-
var state = draft[DRAFT_STATE];
|
|
39392
|
-
|
|
39393
|
-
if (state && !state.finalizing) {
|
|
39394
|
-
state.finalizing = true;
|
|
39395
|
-
var value = draft[prop];
|
|
39396
|
-
state.finalizing = false;
|
|
39397
|
-
return value;
|
|
39398
|
-
}
|
|
39399
|
-
|
|
39400
|
-
return draft[prop];
|
|
39401
|
-
}
|
|
39402
|
-
|
|
39403
|
-
function get$1(state, prop) {
|
|
39404
|
-
assertUnrevoked(state);
|
|
39405
|
-
var value = peek(source(state), prop);
|
|
39406
|
-
if (state.finalizing) { return value; } // Create a draft if the value is unmodified.
|
|
39407
|
-
|
|
39408
|
-
if (value === peek(state.base, prop) && isDraftable(value)) {
|
|
39409
|
-
prepareCopy(state);
|
|
39410
|
-
return state.copy[prop] = createProxy(value, state);
|
|
39411
|
-
}
|
|
39412
|
-
|
|
39413
|
-
return value;
|
|
39414
|
-
}
|
|
39415
|
-
|
|
39416
|
-
function set$1(state, prop, value) {
|
|
39417
|
-
assertUnrevoked(state);
|
|
39418
|
-
state.assigned[prop] = true;
|
|
39419
|
-
|
|
39420
|
-
if (!state.modified) {
|
|
39421
|
-
if (is(value, peek(source(state), prop))) { return; }
|
|
39422
|
-
markChanged(state);
|
|
39423
|
-
prepareCopy(state);
|
|
39424
|
-
}
|
|
39425
|
-
|
|
39426
|
-
state.copy[prop] = value;
|
|
39427
|
-
}
|
|
39428
|
-
|
|
39429
|
-
function markChanged(state) {
|
|
39430
|
-
if (!state.modified) {
|
|
39431
|
-
state.modified = true;
|
|
39432
|
-
if (state.parent) { markChanged(state.parent); }
|
|
39433
|
-
}
|
|
39434
|
-
}
|
|
39435
|
-
|
|
39436
|
-
function prepareCopy(state) {
|
|
39437
|
-
if (!state.copy) { state.copy = clonePotentialDraft(state.base); }
|
|
39438
|
-
}
|
|
39439
|
-
|
|
39440
|
-
function clonePotentialDraft(base) {
|
|
39441
|
-
var state = base && base[DRAFT_STATE];
|
|
39442
|
-
|
|
39443
|
-
if (state) {
|
|
39444
|
-
state.finalizing = true;
|
|
39445
|
-
var draft = shallowCopy(state.draft, true);
|
|
39446
|
-
state.finalizing = false;
|
|
39447
|
-
return draft;
|
|
39448
|
-
}
|
|
39449
|
-
|
|
39450
|
-
return shallowCopy(base);
|
|
39451
|
-
}
|
|
39452
|
-
|
|
39453
|
-
function proxyProperty(draft, prop, enumerable) {
|
|
39454
|
-
var desc = descriptors$1[prop];
|
|
39455
|
-
|
|
39456
|
-
if (desc) {
|
|
39457
|
-
desc.enumerable = enumerable;
|
|
39458
|
-
} else {
|
|
39459
|
-
descriptors$1[prop] = desc = {
|
|
39460
|
-
configurable: true,
|
|
39461
|
-
enumerable: enumerable,
|
|
39462
|
-
|
|
39463
|
-
get: function get$1$1() {
|
|
39464
|
-
return get$1(this[DRAFT_STATE], prop);
|
|
39465
|
-
},
|
|
39466
|
-
|
|
39467
|
-
set: function set$1$1(value) {
|
|
39468
|
-
set$1(this[DRAFT_STATE], prop, value);
|
|
39469
|
-
}
|
|
39470
|
-
|
|
39471
|
-
};
|
|
39472
|
-
}
|
|
39473
|
-
|
|
39474
|
-
Object.defineProperty(draft, prop, desc);
|
|
39475
|
-
}
|
|
39476
|
-
|
|
39477
|
-
function assertUnrevoked(state) {
|
|
39478
|
-
if (state.revoked === true) { throw new Error("Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? " + JSON.stringify(source(state))); }
|
|
39479
|
-
} // This looks expensive, but only proxies are visited, and only objects without known changes are scanned.
|
|
39480
|
-
|
|
39481
|
-
|
|
39482
|
-
function markChangesSweep(drafts) {
|
|
39483
|
-
// The natural order of drafts in the `scope` array is based on when they
|
|
39484
|
-
// were accessed. By processing drafts in reverse natural order, we have a
|
|
39485
|
-
// better chance of processing leaf nodes first. When a leaf node is known to
|
|
39486
|
-
// have changed, we can avoid any traversal of its ancestor nodes.
|
|
39487
|
-
for (var i = drafts.length - 1; i >= 0; i--) {
|
|
39488
|
-
var state = drafts[i][DRAFT_STATE];
|
|
39489
|
-
|
|
39490
|
-
if (!state.modified) {
|
|
39491
|
-
if (Array.isArray(state.base)) {
|
|
39492
|
-
if (hasArrayChanges(state)) { markChanged(state); }
|
|
39493
|
-
} else if (hasObjectChanges(state)) { markChanged(state); }
|
|
39494
|
-
}
|
|
39495
|
-
}
|
|
39496
|
-
}
|
|
39497
|
-
|
|
39498
|
-
function markChangesRecursively(object) {
|
|
39499
|
-
if (!object || typeof object !== "object") { return; }
|
|
39500
|
-
var state = object[DRAFT_STATE];
|
|
39501
|
-
if (!state) { return; }
|
|
39502
|
-
var base = state.base;
|
|
39503
|
-
var draft = state.draft;
|
|
39504
|
-
var assigned = state.assigned;
|
|
39505
|
-
|
|
39506
|
-
if (!Array.isArray(object)) {
|
|
39507
|
-
// Look for added keys.
|
|
39508
|
-
Object.keys(draft).forEach(function (key) {
|
|
39509
|
-
// The `undefined` check is a fast path for pre-existing keys.
|
|
39510
|
-
if (base[key] === undefined && !has$1(base, key)) {
|
|
39511
|
-
assigned[key] = true;
|
|
39512
|
-
markChanged(state);
|
|
39513
|
-
} else if (!assigned[key]) {
|
|
39514
|
-
// Only untouched properties trigger recursion.
|
|
39515
|
-
markChangesRecursively(draft[key]);
|
|
39516
|
-
}
|
|
39517
|
-
}); // Look for removed keys.
|
|
39518
|
-
|
|
39519
|
-
Object.keys(base).forEach(function (key) {
|
|
39520
|
-
// The `undefined` check is a fast path for pre-existing keys.
|
|
39521
|
-
if (draft[key] === undefined && !has$1(draft, key)) {
|
|
39522
|
-
assigned[key] = false;
|
|
39523
|
-
markChanged(state);
|
|
39524
|
-
}
|
|
39525
|
-
});
|
|
39526
|
-
} else if (hasArrayChanges(state)) {
|
|
39527
|
-
markChanged(state);
|
|
39528
|
-
assigned.length = true;
|
|
39529
|
-
|
|
39530
|
-
if (draft.length < base.length) {
|
|
39531
|
-
for (var i = draft.length; i < base.length; i++) { assigned[i] = false; }
|
|
39532
|
-
} else {
|
|
39533
|
-
for (var i$1 = base.length; i$1 < draft.length; i$1++) { assigned[i$1] = true; }
|
|
39534
|
-
}
|
|
39535
|
-
|
|
39536
|
-
for (var i$2 = 0; i$2 < draft.length; i$2++) {
|
|
39537
|
-
// Only untouched indices trigger recursion.
|
|
39538
|
-
if (assigned[i$2] === undefined) { markChangesRecursively(draft[i$2]); }
|
|
39539
|
-
}
|
|
39540
|
-
}
|
|
39541
|
-
}
|
|
39542
|
-
|
|
39543
|
-
function hasObjectChanges(state) {
|
|
39544
|
-
var base = state.base;
|
|
39545
|
-
var draft = state.draft; // Search for added keys and changed keys. Start at the back, because
|
|
39546
|
-
// non-numeric keys are ordered by time of definition on the object.
|
|
39547
|
-
|
|
39548
|
-
var keys = Object.keys(draft);
|
|
39549
|
-
|
|
39550
|
-
for (var i = keys.length - 1; i >= 0; i--) {
|
|
39551
|
-
var key = keys[i];
|
|
39552
|
-
var baseValue = base[key]; // The `undefined` check is a fast path for pre-existing keys.
|
|
39553
|
-
|
|
39554
|
-
if (baseValue === undefined && !has$1(base, key)) {
|
|
39555
|
-
return true;
|
|
39556
|
-
} // Once a base key is deleted, future changes go undetected, because its
|
|
39557
|
-
// descriptor is erased. This branch detects any missed changes.
|
|
39558
|
-
else {
|
|
39559
|
-
var value = draft[key];
|
|
39560
|
-
var state$1 = value && value[DRAFT_STATE];
|
|
39561
|
-
|
|
39562
|
-
if (state$1 ? state$1.base !== baseValue : !is(value, baseValue)) {
|
|
39563
|
-
return true;
|
|
39564
|
-
}
|
|
39565
|
-
}
|
|
39566
|
-
} // At this point, no keys were added or changed.
|
|
39567
|
-
// Compare key count to determine if keys were deleted.
|
|
39568
|
-
|
|
39569
|
-
|
|
39570
|
-
return keys.length !== Object.keys(base).length;
|
|
39571
|
-
}
|
|
39572
|
-
|
|
39573
|
-
function hasArrayChanges(state) {
|
|
39574
|
-
var draft = state.draft;
|
|
39575
|
-
if (draft.length !== state.base.length) { return true; } // See #116
|
|
39576
|
-
// If we first shorten the length, our array interceptors will be removed.
|
|
39577
|
-
// If after that new items are added, result in the same original length,
|
|
39578
|
-
// those last items will have no intercepting property.
|
|
39579
|
-
// So if there is no own descriptor on the last position, we know that items were removed and added
|
|
39580
|
-
// N.B.: splice, unshift, etc only shift values around, but not prop descriptors, so we only have to check
|
|
39581
|
-
// the last one
|
|
39582
|
-
|
|
39583
|
-
var descriptor = Object.getOwnPropertyDescriptor(draft, draft.length - 1); // descriptor can be null, but only for newly created sparse arrays, eg. new Array(10)
|
|
39584
|
-
|
|
39585
|
-
if (descriptor && !descriptor.get) { return true; } // For all other cases, we don't have to compare, as they would have been picked up by the index setters
|
|
39586
|
-
|
|
39587
|
-
return false;
|
|
39588
|
-
}
|
|
39589
|
-
|
|
39590
|
-
function createHiddenProperty(target, prop, value) {
|
|
39591
|
-
Object.defineProperty(target, prop, {
|
|
39592
|
-
value: value,
|
|
39593
|
-
enumerable: false,
|
|
39594
|
-
writable: true
|
|
39595
|
-
});
|
|
39596
|
-
}
|
|
39597
|
-
|
|
39598
|
-
var legacyProxy = /*#__PURE__*/Object.freeze({
|
|
39599
|
-
willFinalize: willFinalize,
|
|
39600
|
-
createProxy: createProxy
|
|
39601
|
-
});
|
|
39602
|
-
|
|
39603
|
-
function willFinalize$1() {}
|
|
39604
|
-
function createProxy$1(base, parent) {
|
|
39605
|
-
var scope = parent ? parent.scope : ImmerScope.current;
|
|
39606
|
-
var state = {
|
|
39607
|
-
// Track which produce call this is associated with.
|
|
39608
|
-
scope: scope,
|
|
39609
|
-
// True for both shallow and deep changes.
|
|
39610
|
-
modified: false,
|
|
39611
|
-
// Used during finalization.
|
|
39612
|
-
finalized: false,
|
|
39613
|
-
// Track which properties have been assigned (true) or deleted (false).
|
|
39614
|
-
assigned: {},
|
|
39615
|
-
// The parent draft state.
|
|
39616
|
-
parent: parent,
|
|
39617
|
-
// The base state.
|
|
39618
|
-
base: base,
|
|
39619
|
-
// The base proxy.
|
|
39620
|
-
draft: null,
|
|
39621
|
-
// Any property proxies.
|
|
39622
|
-
drafts: {},
|
|
39623
|
-
// The base copy with any updated values.
|
|
39624
|
-
copy: null,
|
|
39625
|
-
// Called by the `produce` function.
|
|
39626
|
-
revoke: null
|
|
39627
|
-
};
|
|
39628
|
-
var ref = Array.isArray(base) ? // [state] is used for arrays, to make sure the proxy is array-ish and not violate invariants,
|
|
39629
|
-
// although state itself is an object
|
|
39630
|
-
Proxy.revocable([state], arrayTraps) : Proxy.revocable(state, objectTraps);
|
|
39631
|
-
var revoke = ref.revoke;
|
|
39632
|
-
var proxy = ref.proxy;
|
|
39633
|
-
state.draft = proxy;
|
|
39634
|
-
state.revoke = revoke;
|
|
39635
|
-
scope.drafts.push(proxy);
|
|
39636
|
-
return proxy;
|
|
39637
|
-
}
|
|
39638
|
-
var objectTraps = {
|
|
39639
|
-
get: get$1$1,
|
|
39640
|
-
|
|
39641
|
-
has: function has(target, prop) {
|
|
39642
|
-
return prop in source$1(target);
|
|
39643
|
-
},
|
|
39644
|
-
|
|
39645
|
-
ownKeys: function ownKeys(target) {
|
|
39646
|
-
return Reflect.ownKeys(source$1(target));
|
|
39647
|
-
},
|
|
39648
|
-
|
|
39649
|
-
set: set$1$1,
|
|
39650
|
-
deleteProperty: deleteProperty,
|
|
39651
|
-
getOwnPropertyDescriptor: getOwnPropertyDescriptor$2,
|
|
39652
|
-
|
|
39653
|
-
defineProperty: function defineProperty() {
|
|
39654
|
-
throw new Error("Object.defineProperty() cannot be used on an Immer draft"); // prettier-ignore
|
|
39655
|
-
},
|
|
39656
|
-
|
|
39657
|
-
getPrototypeOf: function getPrototypeOf(target) {
|
|
39658
|
-
return Object.getPrototypeOf(target.base);
|
|
39659
|
-
},
|
|
39660
|
-
|
|
39661
|
-
setPrototypeOf: function setPrototypeOf() {
|
|
39662
|
-
throw new Error("Object.setPrototypeOf() cannot be used on an Immer draft"); // prettier-ignore
|
|
39663
|
-
}
|
|
39664
|
-
|
|
39665
|
-
};
|
|
39666
|
-
var arrayTraps = {};
|
|
39667
|
-
each(objectTraps, function (key, fn) {
|
|
39668
|
-
arrayTraps[key] = function () {
|
|
39669
|
-
arguments[0] = arguments[0][0];
|
|
39670
|
-
return fn.apply(this, arguments);
|
|
39671
|
-
};
|
|
39672
|
-
});
|
|
39673
|
-
|
|
39674
|
-
arrayTraps.deleteProperty = function (state, prop) {
|
|
39675
|
-
if (isNaN(parseInt(prop))) {
|
|
39676
|
-
throw new Error("Immer only supports deleting array indices"); // prettier-ignore
|
|
39677
|
-
}
|
|
39678
|
-
|
|
39679
|
-
return objectTraps.deleteProperty.call(this, state[0], prop);
|
|
39680
|
-
};
|
|
39681
|
-
|
|
39682
|
-
arrayTraps.set = function (state, prop, value) {
|
|
39683
|
-
if (prop !== "length" && isNaN(parseInt(prop))) {
|
|
39684
|
-
throw new Error("Immer only supports setting array indices and the 'length' property"); // prettier-ignore
|
|
39685
|
-
}
|
|
39686
|
-
|
|
39687
|
-
return objectTraps.set.call(this, state[0], prop, value);
|
|
39688
|
-
}; // returns the object we should be reading the current value from, which is base, until some change has been made
|
|
39689
|
-
|
|
39690
|
-
|
|
39691
|
-
function source$1(state) {
|
|
39692
|
-
return state.copy || state.base;
|
|
39693
|
-
} // Access a property without creating an Immer draft.
|
|
39694
|
-
|
|
39695
|
-
|
|
39696
|
-
function peek$1(draft, prop) {
|
|
39697
|
-
var state = draft[DRAFT_STATE];
|
|
39698
|
-
var desc = Reflect.getOwnPropertyDescriptor(state ? source$1(state) : draft, prop);
|
|
39699
|
-
return desc && desc.value;
|
|
39700
|
-
}
|
|
39701
|
-
|
|
39702
|
-
function get$1$1(state, prop) {
|
|
39703
|
-
if (prop === DRAFT_STATE) { return state; }
|
|
39704
|
-
var drafts = state.drafts; // Check for existing draft in unmodified state.
|
|
39705
|
-
|
|
39706
|
-
if (!state.modified && has$1(drafts, prop)) {
|
|
39707
|
-
return drafts[prop];
|
|
39708
|
-
}
|
|
39709
|
-
|
|
39710
|
-
var value = source$1(state)[prop];
|
|
39711
|
-
|
|
39712
|
-
if (state.finalized || !isDraftable(value)) {
|
|
39713
|
-
return value;
|
|
39714
|
-
} // Check for existing draft in modified state.
|
|
39715
|
-
|
|
39716
|
-
|
|
39717
|
-
if (state.modified) {
|
|
39718
|
-
// Assigned values are never drafted. This catches any drafts we created, too.
|
|
39719
|
-
if (value !== peek$1(state.base, prop)) { return value; } // Store drafts on the copy (when one exists).
|
|
39720
|
-
|
|
39721
|
-
drafts = state.copy;
|
|
39722
|
-
}
|
|
39723
|
-
|
|
39724
|
-
return drafts[prop] = createProxy$1(value, state);
|
|
39725
|
-
}
|
|
39726
|
-
|
|
39727
|
-
function set$1$1(state, prop, value) {
|
|
39728
|
-
if (!state.modified) {
|
|
39729
|
-
var baseValue = peek$1(state.base, prop); // Optimize based on value's truthiness. Truthy values are guaranteed to
|
|
39730
|
-
// never be undefined, so we can avoid the `in` operator. Lastly, truthy
|
|
39731
|
-
// values may be drafts, but falsy values are never drafts.
|
|
39732
|
-
|
|
39733
|
-
var isUnchanged = value ? is(baseValue, value) || value === state.drafts[prop] : is(baseValue, value) && prop in state.base;
|
|
39734
|
-
if (isUnchanged) { return true; }
|
|
39735
|
-
markChanged$1(state);
|
|
39736
|
-
}
|
|
39737
|
-
|
|
39738
|
-
state.assigned[prop] = true;
|
|
39739
|
-
state.copy[prop] = value;
|
|
39740
|
-
return true;
|
|
39741
|
-
}
|
|
39742
|
-
|
|
39743
|
-
function deleteProperty(state, prop) {
|
|
39744
|
-
// The `undefined` check is a fast path for pre-existing keys.
|
|
39745
|
-
if (peek$1(state.base, prop) !== undefined || prop in state.base) {
|
|
39746
|
-
state.assigned[prop] = false;
|
|
39747
|
-
markChanged$1(state);
|
|
39748
|
-
} else if (state.assigned[prop]) {
|
|
39749
|
-
// if an originally not assigned property was deleted
|
|
39750
|
-
delete state.assigned[prop];
|
|
39751
|
-
}
|
|
39752
|
-
|
|
39753
|
-
if (state.copy) { delete state.copy[prop]; }
|
|
39754
|
-
return true;
|
|
39755
|
-
} // Note: We never coerce `desc.value` into an Immer draft, because we can't make
|
|
39756
|
-
// the same guarantee in ES5 mode.
|
|
39757
|
-
|
|
39758
|
-
|
|
39759
|
-
function getOwnPropertyDescriptor$2(state, prop) {
|
|
39760
|
-
var owner = source$1(state);
|
|
39761
|
-
var desc = Reflect.getOwnPropertyDescriptor(owner, prop);
|
|
39762
|
-
|
|
39763
|
-
if (desc) {
|
|
39764
|
-
desc.writable = true;
|
|
39765
|
-
desc.configurable = !Array.isArray(owner) || prop !== "length";
|
|
39766
|
-
}
|
|
39767
|
-
|
|
39768
|
-
return desc;
|
|
39769
|
-
}
|
|
39770
|
-
|
|
39771
|
-
function markChanged$1(state) {
|
|
39772
|
-
if (!state.modified) {
|
|
39773
|
-
state.modified = true;
|
|
39774
|
-
state.copy = assign(shallowCopy(state.base), state.drafts);
|
|
39775
|
-
state.drafts = null;
|
|
39776
|
-
if (state.parent) { markChanged$1(state.parent); }
|
|
39777
|
-
}
|
|
39778
|
-
}
|
|
39779
|
-
|
|
39780
|
-
var modernProxy = /*#__PURE__*/Object.freeze({
|
|
39781
|
-
willFinalize: willFinalize$1,
|
|
39782
|
-
createProxy: createProxy$1
|
|
39783
|
-
});
|
|
39784
|
-
|
|
39785
|
-
function generatePatches(state, basePath, patches, inversePatches) {
|
|
39786
|
-
Array.isArray(state.base) ? generateArrayPatches(state, basePath, patches, inversePatches) : generateObjectPatches(state, basePath, patches, inversePatches);
|
|
39787
|
-
}
|
|
39788
|
-
|
|
39789
|
-
function generateArrayPatches(state, basePath, patches, inversePatches) {
|
|
39790
|
-
var assign, assign$1;
|
|
39791
|
-
|
|
39792
|
-
var base = state.base;
|
|
39793
|
-
var copy = state.copy;
|
|
39794
|
-
var assigned = state.assigned; // Reduce complexity by ensuring `base` is never longer.
|
|
39795
|
-
|
|
39796
|
-
if (copy.length < base.length) {
|
|
39797
|
-
(assign = [copy, base], base = assign[0], copy = assign[1]);
|
|
39798
|
-
(assign$1 = [inversePatches, patches], patches = assign$1[0], inversePatches = assign$1[1]);
|
|
39799
|
-
}
|
|
39800
|
-
|
|
39801
|
-
var delta = copy.length - base.length; // Find the first replaced index.
|
|
39802
|
-
|
|
39803
|
-
var start = 0;
|
|
39804
|
-
|
|
39805
|
-
while (base[start] === copy[start] && start < base.length) {
|
|
39806
|
-
++start;
|
|
39807
|
-
} // Find the last replaced index. Search from the end to optimize splice patches.
|
|
39808
|
-
|
|
39809
39195
|
|
|
39810
|
-
var end = base.length;
|
|
39196
|
+
function n(n){for(var r=arguments.length,t=Array(r>1?r-1:0),e=1;e<r;e++)t[e-1]=arguments[e];if("production"!==process.env.NODE_ENV){var i=Y[n],o=i?"function"==typeof i?i.apply(null,t):i:"unknown error nr: "+n;throw Error("[Immer] "+o)}throw Error("[Immer] minified error nr: "+n+(t.length?" "+t.map((function(n){return "'"+n+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function r(n){return !!n&&!!n[Q]}function t(n){var r;return !!n&&(function(n){if(!n||"object"!=typeof n)return !1;var r=Object.getPrototypeOf(n);if(null===r)return !0;var t=Object.hasOwnProperty.call(r,"constructor")&&r.constructor;return t===Object||"function"==typeof t&&Function.toString.call(t)===Z}(n)||Array.isArray(n)||!!n[L]||!!(null===(r=n.constructor)||void 0===r?void 0:r[L])||s(n)||v(n))}function i(n,r,t){void 0===t&&(t=!1),0===o(n)?(t?Object.keys:nn)(n).forEach((function(e){t&&"symbol"==typeof e||r(e,n[e],n);})):n.forEach((function(t,e){return r(e,t,n)}));}function o(n){var r=n[Q];return r?r.i>3?r.i-4:r.i:Array.isArray(n)?1:s(n)?2:v(n)?3:0}function u(n,r){return 2===o(n)?n.has(r):Object.prototype.hasOwnProperty.call(n,r)}function a$1(n,r){return 2===o(n)?n.get(r):n[r]}function f$6(n,r,t){var e=o(n);2===e?n.set(r,t):3===e?n.add(t):n[r]=t;}function c$1(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r}function s(n){return X&&n instanceof Map}function v(n){return q&&n instanceof Set}function p(n){return n.o||n.t}function l(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var r=rn(n);delete r[Q];for(var t=nn(r),e=0;e<t.length;e++){var i=t[e],o=r[i];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(r[i]={configurable:!0,writable:!0,enumerable:o.enumerable,value:n[i]});}return Object.create(Object.getPrototypeOf(n),r)}function d(n,e){return void 0===e&&(e=!1),y(n)||r(n)||!t(n)||(o(n)>1&&(n.set=n.add=n.clear=n.delete=h),Object.freeze(n),e&&i(n,(function(n,r){return d(r,!0)}),!0)),n}function h(){n(2);}function y(n){return null==n||"object"!=typeof n||Object.isFrozen(n)}function b$1(r){var t=tn[r];return t||n(18,r),t}function _(){return "production"===process.env.NODE_ENV||U||n(0),U}function j(n,r){r&&(b$1("Patches"),n.u=[],n.s=[],n.v=r);}function g(n){O(n),n.p.forEach(S),n.p=null;}function O(n){n===U&&(U=n.l);}function w(n){return U={p:[],l:U,h:n,m:!0,_:0}}function S(n){var r=n[Q];0===r.i||1===r.i?r.j():r.g=!0;}function P(r,e){e._=e.p.length;var i=e.p[0],o=void 0!==r&&r!==i;return e.h.O||b$1("ES5").S(e,r,o),o?(i[Q].P&&(g(e),n(4)),t(r)&&(r=M(e,r),e.l||x(e,r)),e.u&&b$1("Patches").M(i[Q].t,r,e.u,e.s)):r=M(e,i,[]),g(e),e.u&&e.v(e.u,e.s),r!==H?r:void 0}function M(n,r,t){if(y(r))return r;var e=r[Q];if(!e)return i(r,(function(i,o){return A(n,e,r,i,o,t)}),!0),r;if(e.A!==n)return r;if(!e.P)return x(n,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var o=4===e.i||5===e.i?e.o=l(e.k):e.o,u=o,a=!1;3===e.i&&(u=new Set(o),o.clear(),a=!0),i(u,(function(r,i){return A(n,e,o,r,i,t,a)})),x(n,o,!1),t&&n.u&&b$1("Patches").N(e,t,n.u,n.s);}return e.o}function A(e,i,o,a,c,s,v){if("production"!==process.env.NODE_ENV&&c===o&&n(5),r(c)){var p=M(e,c,s&&i&&3!==i.i&&!u(i.R,a)?s.concat(a):void 0);if(f$6(o,a,p),!r(p))return;e.m=!1;}else v&&o.add(c);if(t(c)&&!y(c)){if(!e.h.D&&e._<1)return;M(e,c),i&&i.A.l||x(e,c);}}function x(n,r,t){void 0===t&&(t=!1),!n.l&&n.h.D&&n.m&&d(r,t);}function z(n,r){var t=n[Q];return (t?p(t):n)[r]}function I(n,r){if(r in n)for(var t=Object.getPrototypeOf(n);t;){var e=Object.getOwnPropertyDescriptor(t,r);if(e)return e;t=Object.getPrototypeOf(t);}}function k(n){n.P||(n.P=!0,n.l&&k(n.l));}function E(n){n.o||(n.o=l(n.t));}function N(n,r,t){var e=s(r)?b$1("MapSet").F(r,t):v(r)?b$1("MapSet").T(r,t):n.O?function(n,r){var t=Array.isArray(n),e={i:t?1:0,A:r?r.A:_(),P:!1,I:!1,R:{},l:r,t:n,k:null,o:null,j:null,C:!1},i=e,o=en;t&&(i=[e],o=on);var u=Proxy.revocable(i,o),a=u.revoke,f=u.proxy;return e.k=f,e.j=a,f}(r,t):b$1("ES5").J(r,t);return (t?t.A:_()).p.push(e),e}function R(e){return r(e)||n(22,e),function n(r){if(!t(r))return r;var e,u=r[Q],c=o(r);if(u){if(!u.P&&(u.i<4||!b$1("ES5").K(u)))return u.t;u.I=!0,e=D(r,c),u.I=!1;}else e=D(r,c);return i(e,(function(r,t){u&&a$1(u.t,r)===t||f$6(e,r,n(t));})),3===c?new Set(e):e}(e)}function D(n,r){switch(r){case 2:return new Map(n);case 3:return Array.from(n)}return l(n)}var G,U,W="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),X="undefined"!=typeof Map,q="undefined"!=typeof Set,B="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,H=W?Symbol.for("immer-nothing"):((G={})["immer-nothing"]=!0,G),L=W?Symbol.for("immer-draftable"):"__$immer_draftable",Q=W?Symbol.for("immer-state"):"__$immer_state",Y={0:"Illegal state",1:"Immer drafts cannot have computed properties",2:"This object has been frozen and should not be mutated",3:function(n){return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+n},4:"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.",5:"Immer forbids circular references",6:"The first or second argument to `produce` must be a function",7:"The third argument to `produce` must be a function or undefined",8:"First argument to `createDraft` must be a plain object, an array, or an immerable object",9:"First argument to `finishDraft` must be a draft returned by `createDraft`",10:"The given draft is already finalized",11:"Object.defineProperty() cannot be used on an Immer draft",12:"Object.setPrototypeOf() cannot be used on an Immer draft",13:"Immer only supports deleting array indices",14:"Immer only supports setting array indices and the 'length' property",15:function(n){return "Cannot apply patch, path doesn't resolve: "+n},16:'Sets cannot have "replace" patches.',17:function(n){return "Unsupported patch operation: "+n},18:function(n){return "The plugin for '"+n+"' has not been loaded into Immer. To enable the plugin, import and call `enable"+n+"()` when initializing your application."},20:"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available",21:function(n){return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '"+n+"'"},22:function(n){return "'current' expects a draft, got: "+n},23:function(n){return "'original' expects a draft, got: "+n},24:"Patching reserved attributes like __proto__, prototype and constructor is not allowed"},Z=""+Object.prototype.constructor,nn="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(n){return Object.getOwnPropertyNames(n).concat(Object.getOwnPropertySymbols(n))}:Object.getOwnPropertyNames,rn=Object.getOwnPropertyDescriptors||function(n){var r={};return nn(n).forEach((function(t){r[t]=Object.getOwnPropertyDescriptor(n,t);})),r},tn={},en={get:function(n,r){if(r===Q)return n;var e=p(n);if(!u(e,r))return function(n,r,t){var e,i=I(r,t);return i?"value"in i?i.value:null===(e=i.get)||void 0===e?void 0:e.call(n.k):void 0}(n,e,r);var i=e[r];return n.I||!t(i)?i:i===z(n.t,r)?(E(n),n.o[r]=N(n.A.h,i,n)):i},has:function(n,r){return r in p(n)},ownKeys:function(n){return Reflect.ownKeys(p(n))},set:function(n,r,t){var e=I(p(n),r);if(null==e?void 0:e.set)return e.set.call(n.k,t),!0;if(!n.P){var i=z(p(n),r),o=null==i?void 0:i[Q];if(o&&o.t===t)return n.o[r]=t,n.R[r]=!1,!0;if(c$1(t,i)&&(void 0!==t||u(n.t,r)))return !0;E(n),k(n);}return n.o[r]===t&&(void 0!==t||r in n.o)||Number.isNaN(t)&&Number.isNaN(n.o[r])||(n.o[r]=t,n.R[r]=!0),!0},deleteProperty:function(n,r){return void 0!==z(n.t,r)||r in n.t?(n.R[r]=!1,E(n),k(n)):delete n.R[r],n.o&&delete n.o[r],!0},getOwnPropertyDescriptor:function(n,r){var t=p(n),e=Reflect.getOwnPropertyDescriptor(t,r);return e?{writable:!0,configurable:1!==n.i||"length"!==r,enumerable:e.enumerable,value:t[r]}:e},defineProperty:function(){n(11);},getPrototypeOf:function(n){return Object.getPrototypeOf(n.t)},setPrototypeOf:function(){n(12);}},on={};i(en,(function(n,r){on[n]=function(){return arguments[0]=arguments[0][0],r.apply(this,arguments)};})),on.deleteProperty=function(r,t){return "production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&n(13),on.set.call(this,r,t,void 0)},on.set=function(r,t,e){return "production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&n(14),en.set.call(this,r[0],t,e,r[0])};var un=function(){function e(r){var e=this;this.O=B,this.D=!0,this.produce=function(r,i,o){if("function"==typeof r&&"function"!=typeof i){var u=i;i=r;var a=e;return function(n){var r=this;void 0===n&&(n=u);for(var t=arguments.length,e=Array(t>1?t-1:0),o=1;o<t;o++)e[o-1]=arguments[o];return a.produce(n,(function(n){var t;return (t=i).call.apply(t,[r,n].concat(e))}))}}var f;if("function"!=typeof i&&n(6),void 0!==o&&"function"!=typeof o&&n(7),t(r)){var c=w(e),s=N(e,r,void 0),v=!0;try{f=i(s),v=!1;}finally{v?g(c):O(c);}return "undefined"!=typeof Promise&&f instanceof Promise?f.then((function(n){return j(c,o),P(n,c)}),(function(n){throw g(c),n})):(j(c,o),P(f,c))}if(!r||"object"!=typeof r){if(void 0===(f=i(r))&&(f=r),f===H&&(f=void 0),e.D&&d(f,!0),o){var p=[],l=[];b$1("Patches").M(r,f,p,l),o(p,l);}return f}n(21,r);},this.produceWithPatches=function(n,r){if("function"==typeof n)return function(r){for(var t=arguments.length,i=Array(t>1?t-1:0),o=1;o<t;o++)i[o-1]=arguments[o];return e.produceWithPatches(r,(function(r){return n.apply(void 0,[r].concat(i))}))};var t,i,o=e.produce(n,r,(function(n,r){t=n,i=r;}));return "undefined"!=typeof Promise&&o instanceof Promise?o.then((function(n){return [n,t,i]})):[o,t,i]},"boolean"==typeof(null==r?void 0:r.useProxies)&&this.setUseProxies(r.useProxies),"boolean"==typeof(null==r?void 0:r.autoFreeze)&&this.setAutoFreeze(r.autoFreeze);}var i=e.prototype;return i.createDraft=function(e){t(e)||n(8),r(e)&&(e=R(e));var i=w(this),o=N(this,e,void 0);return o[Q].C=!0,O(i),o},i.finishDraft=function(r,t){var e=r&&r[Q];"production"!==process.env.NODE_ENV&&(e&&e.C||n(9),e.I&&n(10));var i=e.A;return j(i,t),P(void 0,i)},i.setAutoFreeze=function(n){this.D=n;},i.setUseProxies=function(r){r&&!B&&n(20),this.O=r;},i.applyPatches=function(n,t){var e;for(e=t.length-1;e>=0;e--){var i=t[e];if(0===i.path.length&&"replace"===i.op){n=i.value;break}}e>-1&&(t=t.slice(e+1));var o=b$1("Patches").$;return r(n)?o(n,t):this.produce(n,(function(n){return o(n,t)}))},e}(),an=new un,fn=an.produce;an.produceWithPatches.bind(an);an.setAutoFreeze.bind(an);an.setUseProxies.bind(an);an.applyPatches.bind(an);an.createDraft.bind(an);an.finishDraft.bind(an);var produce = fn;
|
|
39811
39197
|
|
|
39812
|
-
|
|
39813
|
-
--end;
|
|
39814
|
-
} // Process replaced indices.
|
|
39815
|
-
|
|
39816
|
-
|
|
39817
|
-
for (var i = start; i < end; ++i) {
|
|
39818
|
-
if (assigned[i] && copy[i] !== base[i]) {
|
|
39819
|
-
var path = basePath.concat([i]);
|
|
39820
|
-
patches.push({
|
|
39821
|
-
op: "replace",
|
|
39822
|
-
path: path,
|
|
39823
|
-
value: copy[i]
|
|
39824
|
-
});
|
|
39825
|
-
inversePatches.push({
|
|
39826
|
-
op: "replace",
|
|
39827
|
-
path: path,
|
|
39828
|
-
value: base[i]
|
|
39829
|
-
});
|
|
39830
|
-
}
|
|
39831
|
-
}
|
|
39832
|
-
|
|
39833
|
-
var replaceCount = patches.length; // Process added indices.
|
|
39834
|
-
|
|
39835
|
-
for (var i$1 = end + delta - 1; i$1 >= end; --i$1) {
|
|
39836
|
-
var path$1 = basePath.concat([i$1]);
|
|
39837
|
-
patches[replaceCount + i$1 - end] = {
|
|
39838
|
-
op: "add",
|
|
39839
|
-
path: path$1,
|
|
39840
|
-
value: copy[i$1]
|
|
39841
|
-
};
|
|
39842
|
-
inversePatches.push({
|
|
39843
|
-
op: "remove",
|
|
39844
|
-
path: path$1
|
|
39845
|
-
});
|
|
39846
|
-
}
|
|
39847
|
-
}
|
|
39848
|
-
|
|
39849
|
-
function generateObjectPatches(state, basePath, patches, inversePatches) {
|
|
39850
|
-
var base = state.base;
|
|
39851
|
-
var copy = state.copy;
|
|
39852
|
-
each(state.assigned, function (key, assignedValue) {
|
|
39853
|
-
var origValue = base[key];
|
|
39854
|
-
var value = copy[key];
|
|
39855
|
-
var op = !assignedValue ? "remove" : key in base ? "replace" : "add";
|
|
39856
|
-
if (origValue === value && op === "replace") { return; }
|
|
39857
|
-
var path = basePath.concat(key);
|
|
39858
|
-
patches.push(op === "remove" ? {
|
|
39859
|
-
op: op,
|
|
39860
|
-
path: path
|
|
39861
|
-
} : {
|
|
39862
|
-
op: op,
|
|
39863
|
-
path: path,
|
|
39864
|
-
value: value
|
|
39865
|
-
});
|
|
39866
|
-
inversePatches.push(op === "add" ? {
|
|
39867
|
-
op: "remove",
|
|
39868
|
-
path: path
|
|
39869
|
-
} : op === "remove" ? {
|
|
39870
|
-
op: "add",
|
|
39871
|
-
path: path,
|
|
39872
|
-
value: origValue
|
|
39873
|
-
} : {
|
|
39874
|
-
op: "replace",
|
|
39875
|
-
path: path,
|
|
39876
|
-
value: origValue
|
|
39877
|
-
});
|
|
39878
|
-
});
|
|
39879
|
-
}
|
|
39880
|
-
|
|
39881
|
-
var applyPatches = function (draft, patches) {
|
|
39882
|
-
for (var i$1 = 0, list = patches; i$1 < list.length; i$1 += 1) {
|
|
39883
|
-
var patch = list[i$1];
|
|
39884
|
-
|
|
39885
|
-
var path = patch.path;
|
|
39886
|
-
var op = patch.op;
|
|
39887
|
-
var value = clone(patch.value); // used to clone patch to ensure original patch is not modified, see #411
|
|
39888
|
-
|
|
39889
|
-
if (!path.length) { throw new Error("Illegal state"); }
|
|
39890
|
-
var base = draft;
|
|
39891
|
-
|
|
39892
|
-
for (var i = 0; i < path.length - 1; i++) {
|
|
39893
|
-
base = base[path[i]];
|
|
39894
|
-
if (!base || typeof base !== "object") { throw new Error("Cannot apply patch, path doesn't resolve: " + path.join("/")); } // prettier-ignore
|
|
39895
|
-
}
|
|
39896
|
-
|
|
39897
|
-
var key = path[path.length - 1];
|
|
39898
|
-
|
|
39899
|
-
switch (op) {
|
|
39900
|
-
case "replace":
|
|
39901
|
-
// if value is an object, then it's assigned by reference
|
|
39902
|
-
// in the following add or remove ops, the value field inside the patch will also be modifyed
|
|
39903
|
-
// so we use value from the cloned patch
|
|
39904
|
-
base[key] = value;
|
|
39905
|
-
break;
|
|
39906
|
-
|
|
39907
|
-
case "add":
|
|
39908
|
-
if (Array.isArray(base)) {
|
|
39909
|
-
// TODO: support "foo/-" paths for appending to an array
|
|
39910
|
-
base.splice(key, 0, value);
|
|
39911
|
-
} else {
|
|
39912
|
-
base[key] = value;
|
|
39913
|
-
}
|
|
39914
|
-
|
|
39915
|
-
break;
|
|
39916
|
-
|
|
39917
|
-
case "remove":
|
|
39918
|
-
if (Array.isArray(base)) {
|
|
39919
|
-
base.splice(key, 1);
|
|
39920
|
-
} else {
|
|
39921
|
-
delete base[key];
|
|
39922
|
-
}
|
|
39923
|
-
|
|
39924
|
-
break;
|
|
39925
|
-
|
|
39926
|
-
default:
|
|
39927
|
-
throw new Error("Unsupported patch operation: " + op);
|
|
39928
|
-
}
|
|
39929
|
-
}
|
|
39930
|
-
|
|
39931
|
-
return draft;
|
|
39932
|
-
};
|
|
39933
|
-
|
|
39934
|
-
function verifyMinified() {}
|
|
39935
|
-
|
|
39936
|
-
var configDefaults = {
|
|
39937
|
-
useProxies: typeof Proxy !== "undefined" && typeof Reflect !== "undefined",
|
|
39938
|
-
autoFreeze: typeof process !== "undefined" ? process.env.NODE_ENV !== "production" : verifyMinified.name === "verifyMinified",
|
|
39939
|
-
onAssign: null,
|
|
39940
|
-
onDelete: null,
|
|
39941
|
-
onCopy: null
|
|
39942
|
-
};
|
|
39943
|
-
var Immer = function Immer(config) {
|
|
39944
|
-
assign(this, configDefaults, config);
|
|
39945
|
-
this.setUseProxies(this.useProxies);
|
|
39946
|
-
this.produce = this.produce.bind(this);
|
|
39947
|
-
};
|
|
39948
|
-
|
|
39949
|
-
Immer.prototype.produce = function produce (base, recipe, patchListener) {
|
|
39950
|
-
var this$1$1 = this;
|
|
39951
|
-
|
|
39952
|
-
// curried invocation
|
|
39953
|
-
if (typeof base === "function" && typeof recipe !== "function") {
|
|
39954
|
-
var defaultBase = recipe;
|
|
39955
|
-
recipe = base;
|
|
39956
|
-
var self = this;
|
|
39957
|
-
return function curriedProduce(base) {
|
|
39958
|
-
var this$1$1 = this;
|
|
39959
|
-
if ( base === void 0 ) base = defaultBase;
|
|
39960
|
-
var args = [], len = arguments.length - 1;
|
|
39961
|
-
while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];
|
|
39962
|
-
|
|
39963
|
-
return self.produce(base, function (draft) { return recipe.call.apply(recipe, [ this$1$1, draft ].concat( args )); }); // prettier-ignore
|
|
39964
|
-
};
|
|
39965
|
-
} // prettier-ignore
|
|
39966
|
-
|
|
39967
|
-
|
|
39968
|
-
{
|
|
39969
|
-
if (typeof recipe !== "function") {
|
|
39970
|
-
throw new Error("The first or second argument to `produce` must be a function");
|
|
39971
|
-
}
|
|
39972
|
-
|
|
39973
|
-
if (patchListener !== undefined && typeof patchListener !== "function") {
|
|
39974
|
-
throw new Error("The third argument to `produce` must be a function or undefined");
|
|
39975
|
-
}
|
|
39976
|
-
}
|
|
39977
|
-
var result; // Only plain objects, arrays, and "immerable classes" are drafted.
|
|
39978
|
-
|
|
39979
|
-
if (isDraftable(base)) {
|
|
39980
|
-
var scope = ImmerScope.enter();
|
|
39981
|
-
var proxy = this.createProxy(base);
|
|
39982
|
-
var hasError = true;
|
|
39983
|
-
|
|
39984
|
-
try {
|
|
39985
|
-
result = recipe(proxy);
|
|
39986
|
-
hasError = false;
|
|
39987
|
-
} finally {
|
|
39988
|
-
// finally instead of catch + rethrow better preserves original stack
|
|
39989
|
-
if (hasError) { scope.revoke(); }else { scope.leave(); }
|
|
39990
|
-
}
|
|
39991
|
-
|
|
39992
|
-
if (result instanceof Promise) {
|
|
39993
|
-
return result.then(function (result) {
|
|
39994
|
-
scope.usePatches(patchListener);
|
|
39995
|
-
return this$1$1.processResult(result, scope);
|
|
39996
|
-
}, function (error) {
|
|
39997
|
-
scope.revoke();
|
|
39998
|
-
throw error;
|
|
39999
|
-
});
|
|
40000
|
-
}
|
|
40001
|
-
|
|
40002
|
-
scope.usePatches(patchListener);
|
|
40003
|
-
return this.processResult(result, scope);
|
|
40004
|
-
} else {
|
|
40005
|
-
result = recipe(base);
|
|
40006
|
-
if (result === undefined) { return base; }
|
|
40007
|
-
return result !== NOTHING ? result : undefined;
|
|
40008
|
-
}
|
|
40009
|
-
};
|
|
40010
|
-
|
|
40011
|
-
Immer.prototype.produceWithPatches = function produceWithPatches (arg1, arg2, arg3) {
|
|
40012
|
-
var this$1$1 = this;
|
|
40013
|
-
|
|
40014
|
-
if (typeof arg1 === "function") {
|
|
40015
|
-
return function (state) {
|
|
40016
|
-
var args = [], len = arguments.length - 1;
|
|
40017
|
-
while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];
|
|
40018
|
-
|
|
40019
|
-
return this$1$1.produceWithPatches(state, function (draft) { return arg1.apply(void 0, [ draft ].concat( args )); });
|
|
40020
|
-
};
|
|
40021
|
-
} // non-curried form
|
|
40022
|
-
|
|
40023
|
-
|
|
40024
|
-
if (arg3) { throw new Error("A patch listener cannot be passed to produceWithPatches"); }
|
|
40025
|
-
var patches, inversePatches;
|
|
40026
|
-
var nextState = this.produce(arg1, arg2, function (p, ip) {
|
|
40027
|
-
patches = p;
|
|
40028
|
-
inversePatches = ip;
|
|
40029
|
-
});
|
|
40030
|
-
return [nextState, patches, inversePatches];
|
|
40031
|
-
};
|
|
40032
|
-
|
|
40033
|
-
Immer.prototype.createDraft = function createDraft (base) {
|
|
40034
|
-
if (!isDraftable(base)) {
|
|
40035
|
-
throw new Error("First argument to `createDraft` must be a plain object, an array, or an immerable object"); // prettier-ignore
|
|
40036
|
-
}
|
|
40037
|
-
|
|
40038
|
-
var scope = ImmerScope.enter();
|
|
40039
|
-
var proxy = this.createProxy(base);
|
|
40040
|
-
proxy[DRAFT_STATE].isManual = true;
|
|
40041
|
-
scope.leave();
|
|
40042
|
-
return proxy;
|
|
40043
|
-
};
|
|
40044
|
-
|
|
40045
|
-
Immer.prototype.finishDraft = function finishDraft (draft, patchListener) {
|
|
40046
|
-
var state = draft && draft[DRAFT_STATE];
|
|
40047
|
-
|
|
40048
|
-
if (!state || !state.isManual) {
|
|
40049
|
-
throw new Error("First argument to `finishDraft` must be a draft returned by `createDraft`"); // prettier-ignore
|
|
40050
|
-
}
|
|
40051
|
-
|
|
40052
|
-
if (state.finalized) {
|
|
40053
|
-
throw new Error("The given draft is already finalized"); // prettier-ignore
|
|
40054
|
-
}
|
|
40055
|
-
|
|
40056
|
-
var scope = state.scope;
|
|
40057
|
-
scope.usePatches(patchListener);
|
|
40058
|
-
return this.processResult(undefined, scope);
|
|
40059
|
-
};
|
|
40060
|
-
|
|
40061
|
-
Immer.prototype.setAutoFreeze = function setAutoFreeze (value) {
|
|
40062
|
-
this.autoFreeze = value;
|
|
40063
|
-
};
|
|
40064
|
-
|
|
40065
|
-
Immer.prototype.setUseProxies = function setUseProxies (value) {
|
|
40066
|
-
this.useProxies = value;
|
|
40067
|
-
assign(this, value ? modernProxy : legacyProxy);
|
|
40068
|
-
};
|
|
40069
|
-
|
|
40070
|
-
Immer.prototype.applyPatches = function applyPatches$1 (base, patches) {
|
|
40071
|
-
// If a patch replaces the entire state, take that replacement as base
|
|
40072
|
-
// before applying patches
|
|
40073
|
-
var i;
|
|
40074
|
-
|
|
40075
|
-
for (i = patches.length - 1; i >= 0; i--) {
|
|
40076
|
-
var patch = patches[i];
|
|
40077
|
-
|
|
40078
|
-
if (patch.path.length === 0 && patch.op === "replace") {
|
|
40079
|
-
base = patch.value;
|
|
40080
|
-
break;
|
|
40081
|
-
}
|
|
40082
|
-
}
|
|
40083
|
-
|
|
40084
|
-
if (isDraft(base)) {
|
|
40085
|
-
// N.B: never hits if some patch a replacement, patches are never drafts
|
|
40086
|
-
return applyPatches(base, patches);
|
|
40087
|
-
} // Otherwise, produce a copy of the base state.
|
|
40088
|
-
|
|
40089
|
-
|
|
40090
|
-
return this.produce(base, function (draft) { return applyPatches(draft, patches.slice(i + 1)); });
|
|
40091
|
-
};
|
|
40092
|
-
/** @internal */
|
|
40093
|
-
|
|
40094
|
-
|
|
40095
|
-
Immer.prototype.processResult = function processResult (result, scope) {
|
|
40096
|
-
var baseDraft = scope.drafts[0];
|
|
40097
|
-
var isReplaced = result !== undefined && result !== baseDraft;
|
|
40098
|
-
this.willFinalize(scope, result, isReplaced);
|
|
40099
|
-
|
|
40100
|
-
if (isReplaced) {
|
|
40101
|
-
if (baseDraft[DRAFT_STATE].modified) {
|
|
40102
|
-
scope.revoke();
|
|
40103
|
-
throw new Error("An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft."); // prettier-ignore
|
|
40104
|
-
}
|
|
40105
|
-
|
|
40106
|
-
if (isDraftable(result)) {
|
|
40107
|
-
// Finalize the result in case it contains (or is) a subset of the draft.
|
|
40108
|
-
result = this.finalize(result, null, scope);
|
|
40109
|
-
}
|
|
40110
|
-
|
|
40111
|
-
if (scope.patches) {
|
|
40112
|
-
scope.patches.push({
|
|
40113
|
-
op: "replace",
|
|
40114
|
-
path: [],
|
|
40115
|
-
value: result
|
|
40116
|
-
});
|
|
40117
|
-
scope.inversePatches.push({
|
|
40118
|
-
op: "replace",
|
|
40119
|
-
path: [],
|
|
40120
|
-
value: baseDraft[DRAFT_STATE].base
|
|
40121
|
-
});
|
|
40122
|
-
}
|
|
40123
|
-
} else {
|
|
40124
|
-
// Finalize the base draft.
|
|
40125
|
-
result = this.finalize(baseDraft, [], scope);
|
|
40126
|
-
}
|
|
40127
|
-
|
|
40128
|
-
scope.revoke();
|
|
40129
|
-
|
|
40130
|
-
if (scope.patches) {
|
|
40131
|
-
scope.patchListener(scope.patches, scope.inversePatches);
|
|
40132
|
-
}
|
|
40133
|
-
|
|
40134
|
-
return result !== NOTHING ? result : undefined;
|
|
40135
|
-
};
|
|
40136
|
-
/**
|
|
40137
|
-
* @internal
|
|
40138
|
-
* Finalize a draft, returning either the unmodified base state or a modified
|
|
40139
|
-
* copy of the base state.
|
|
40140
|
-
*/
|
|
40141
|
-
|
|
40142
|
-
|
|
40143
|
-
Immer.prototype.finalize = function finalize (draft, path, scope) {
|
|
40144
|
-
var this$1$1 = this;
|
|
40145
|
-
|
|
40146
|
-
var state = draft[DRAFT_STATE];
|
|
40147
|
-
|
|
40148
|
-
if (!state) {
|
|
40149
|
-
if (Object.isFrozen(draft)) { return draft; }
|
|
40150
|
-
return this.finalizeTree(draft, null, scope);
|
|
40151
|
-
} // Never finalize drafts owned by another scope.
|
|
40152
|
-
|
|
40153
|
-
|
|
40154
|
-
if (state.scope !== scope) {
|
|
40155
|
-
return draft;
|
|
40156
|
-
}
|
|
40157
|
-
|
|
40158
|
-
if (!state.modified) {
|
|
40159
|
-
return state.base;
|
|
40160
|
-
}
|
|
40161
|
-
|
|
40162
|
-
if (!state.finalized) {
|
|
40163
|
-
state.finalized = true;
|
|
40164
|
-
this.finalizeTree(state.draft, path, scope);
|
|
40165
|
-
|
|
40166
|
-
if (this.onDelete) {
|
|
40167
|
-
// The `assigned` object is unreliable with ES5 drafts.
|
|
40168
|
-
if (this.useProxies) {
|
|
40169
|
-
var assigned = state.assigned;
|
|
40170
|
-
|
|
40171
|
-
for (var prop in assigned) {
|
|
40172
|
-
if (!assigned[prop]) { this.onDelete(state, prop); }
|
|
40173
|
-
}
|
|
40174
|
-
} else {
|
|
40175
|
-
var base = state.base;
|
|
40176
|
-
var copy = state.copy;
|
|
40177
|
-
each(base, function (prop) {
|
|
40178
|
-
if (!has$1(copy, prop)) { this$1$1.onDelete(state, prop); }
|
|
40179
|
-
});
|
|
40180
|
-
}
|
|
40181
|
-
}
|
|
40182
|
-
|
|
40183
|
-
if (this.onCopy) {
|
|
40184
|
-
this.onCopy(state);
|
|
40185
|
-
} // At this point, all descendants of `state.copy` have been finalized,
|
|
40186
|
-
// so we can be sure that `scope.canAutoFreeze` is accurate.
|
|
40187
|
-
|
|
40188
|
-
|
|
40189
|
-
if (this.autoFreeze && scope.canAutoFreeze) {
|
|
40190
|
-
Object.freeze(state.copy);
|
|
40191
|
-
}
|
|
40192
|
-
|
|
40193
|
-
if (path && scope.patches) {
|
|
40194
|
-
generatePatches(state, path, scope.patches, scope.inversePatches);
|
|
40195
|
-
}
|
|
40196
|
-
}
|
|
40197
|
-
|
|
40198
|
-
return state.copy;
|
|
40199
|
-
};
|
|
40200
|
-
/**
|
|
40201
|
-
* @internal
|
|
40202
|
-
* Finalize all drafts in the given state tree.
|
|
40203
|
-
*/
|
|
40204
|
-
|
|
40205
|
-
|
|
40206
|
-
Immer.prototype.finalizeTree = function finalizeTree (root, rootPath, scope) {
|
|
40207
|
-
var this$1$1 = this;
|
|
40208
|
-
|
|
40209
|
-
var state = root[DRAFT_STATE];
|
|
40210
|
-
|
|
40211
|
-
if (state) {
|
|
40212
|
-
if (!this.useProxies) {
|
|
40213
|
-
// Create the final copy, with added keys and without deleted keys.
|
|
40214
|
-
state.copy = shallowCopy(state.draft, true);
|
|
40215
|
-
}
|
|
40216
|
-
|
|
40217
|
-
root = state.copy;
|
|
40218
|
-
}
|
|
40219
|
-
|
|
40220
|
-
var needPatches = !!rootPath && !!scope.patches;
|
|
40221
|
-
|
|
40222
|
-
var finalizeProperty = function (prop, value, parent) {
|
|
40223
|
-
if (value === parent) {
|
|
40224
|
-
throw Error("Immer forbids circular references");
|
|
40225
|
-
} // In the `finalizeTree` method, only the `root` object may be a draft.
|
|
40226
|
-
|
|
40227
|
-
|
|
40228
|
-
var isDraftProp = !!state && parent === root;
|
|
40229
|
-
|
|
40230
|
-
if (isDraft(value)) {
|
|
40231
|
-
var path = isDraftProp && needPatches && !state.assigned[prop] ? rootPath.concat(prop) : null; // Drafts owned by `scope` are finalized here.
|
|
40232
|
-
|
|
40233
|
-
value = this$1$1.finalize(value, path, scope); // Drafts from another scope must prevent auto-freezing.
|
|
40234
|
-
|
|
40235
|
-
if (isDraft(value)) {
|
|
40236
|
-
scope.canAutoFreeze = false;
|
|
40237
|
-
} // Preserve non-enumerable properties.
|
|
40238
|
-
|
|
40239
|
-
|
|
40240
|
-
if (Array.isArray(parent) || isEnumerable(parent, prop)) {
|
|
40241
|
-
parent[prop] = value;
|
|
40242
|
-
} else {
|
|
40243
|
-
Object.defineProperty(parent, prop, {
|
|
40244
|
-
value: value
|
|
40245
|
-
});
|
|
40246
|
-
} // Unchanged drafts are never passed to the `onAssign` hook.
|
|
40247
|
-
|
|
40248
|
-
|
|
40249
|
-
if (isDraftProp && value === state.base[prop]) { return; }
|
|
40250
|
-
} // Unchanged draft properties are ignored.
|
|
40251
|
-
else if (isDraftProp && is(value, state.base[prop])) {
|
|
40252
|
-
return;
|
|
40253
|
-
} // Search new objects for unfinalized drafts. Frozen objects should never contain drafts.
|
|
40254
|
-
else if (isDraftable(value) && !Object.isFrozen(value)) {
|
|
40255
|
-
each(value, finalizeProperty);
|
|
40256
|
-
}
|
|
40257
|
-
|
|
40258
|
-
if (isDraftProp && this$1$1.onAssign) {
|
|
40259
|
-
this$1$1.onAssign(state, prop, value);
|
|
40260
|
-
}
|
|
40261
|
-
};
|
|
40262
|
-
|
|
40263
|
-
each(root, finalizeProperty);
|
|
40264
|
-
return root;
|
|
40265
|
-
};
|
|
40266
|
-
|
|
40267
|
-
var immer = new Immer();
|
|
40268
|
-
/**
|
|
40269
|
-
* The `produce` function takes a value and a "recipe function" (whose
|
|
40270
|
-
* return value often depends on the base state). The recipe function is
|
|
40271
|
-
* free to mutate its first argument however it wants. All mutations are
|
|
40272
|
-
* only ever applied to a __copy__ of the base state.
|
|
40273
|
-
*
|
|
40274
|
-
* Pass only a function to create a "curried producer" which relieves you
|
|
40275
|
-
* from passing the recipe function every time.
|
|
40276
|
-
*
|
|
40277
|
-
* Only plain objects and arrays are made mutable. All other objects are
|
|
40278
|
-
* considered uncopyable.
|
|
40279
|
-
*
|
|
40280
|
-
* Note: This function is __bound__ to its `Immer` instance.
|
|
40281
|
-
*
|
|
40282
|
-
* @param {any} base - the initial state
|
|
40283
|
-
* @param {Function} producer - function that receives a proxy of the base state as first argument and which can be freely modified
|
|
40284
|
-
* @param {Function} patchListener - optional function that will be called with all the patches produced here
|
|
40285
|
-
* @returns {any} a new state, or the initial state if nothing was modified
|
|
40286
|
-
*/
|
|
40287
|
-
|
|
40288
|
-
var produce = immer.produce;
|
|
40289
|
-
/**
|
|
40290
|
-
* Like `produce`, but `produceWithPatches` always returns a tuple
|
|
40291
|
-
* [nextState, patches, inversePatches] (instead of just the next state)
|
|
40292
|
-
*/
|
|
40293
|
-
|
|
40294
|
-
immer.produceWithPatches.bind(immer);
|
|
40295
|
-
/**
|
|
40296
|
-
* Pass true to automatically freeze all copies created by Immer.
|
|
40297
|
-
*
|
|
40298
|
-
* By default, auto-freezing is disabled in production.
|
|
40299
|
-
*/
|
|
40300
|
-
|
|
40301
|
-
immer.setAutoFreeze.bind(immer);
|
|
40302
|
-
/**
|
|
40303
|
-
* Pass true to use the ES2015 `Proxy` class when creating drafts, which is
|
|
40304
|
-
* always faster than using ES5 proxies.
|
|
40305
|
-
*
|
|
40306
|
-
* By default, feature detection is used, so calling this is rarely necessary.
|
|
40307
|
-
*/
|
|
40308
|
-
|
|
40309
|
-
immer.setUseProxies.bind(immer);
|
|
40310
|
-
/**
|
|
40311
|
-
* Apply an array of Immer patches to the first argument.
|
|
40312
|
-
*
|
|
40313
|
-
* This function is a producer, which means copy-on-write is in effect.
|
|
40314
|
-
*/
|
|
40315
|
-
|
|
40316
|
-
immer.applyPatches.bind(immer);
|
|
40317
|
-
/**
|
|
40318
|
-
* Create an Immer draft from the given base state, which may be a draft itself.
|
|
40319
|
-
* The draft can be modified until you finalize it with the `finishDraft` function.
|
|
40320
|
-
*/
|
|
40321
|
-
|
|
40322
|
-
immer.createDraft.bind(immer);
|
|
40323
|
-
/**
|
|
40324
|
-
* Finalize an Immer draft from a `createDraft` call, returning the base state
|
|
40325
|
-
* (if no changes were made) or a modified copy. The draft must *not* be
|
|
40326
|
-
* mutated afterwards.
|
|
40327
|
-
*
|
|
40328
|
-
* Pass a function as the 2nd argument to generate Immer patches based on the
|
|
40329
|
-
* changes that were made.
|
|
40330
|
-
*/
|
|
40331
|
-
|
|
40332
|
-
immer.finishDraft.bind(immer);
|
|
40333
|
-
|
|
40334
|
-
const createInitialState = formConfig => {
|
|
39198
|
+
const createInitialState = (formConfig) => {
|
|
40335
39199
|
let initialForm = {};
|
|
40336
39200
|
const formConfigKeys = Object.keys(formConfig);
|
|
40337
39201
|
for (let formKey of formConfigKeys) {
|
|
40338
39202
|
initialForm[formKey] = {
|
|
40339
39203
|
dirty: false,
|
|
40340
|
-
rawValue: formConfig[formKey].defaultValue ||
|
|
39204
|
+
rawValue: formConfig[formKey].defaultValue || '',
|
|
40341
39205
|
validators: formConfig[formKey].validators || [],
|
|
40342
|
-
constraints: formConfig[formKey].constraints || []
|
|
39206
|
+
constraints: formConfig[formKey].constraints || [],
|
|
40343
39207
|
};
|
|
40344
39208
|
}
|
|
40345
39209
|
// Because validators require the entire form we have to do a
|
|
@@ -40350,82 +39214,99 @@ const createInitialState = formConfig => {
|
|
|
40350
39214
|
initialForm[formKey].errors = errors;
|
|
40351
39215
|
initialForm[formKey].hasErrors = errors.length > 0;
|
|
40352
39216
|
}
|
|
39217
|
+
|
|
40353
39218
|
return initialForm;
|
|
40354
39219
|
};
|
|
40355
39220
|
|
|
40356
|
-
const SET =
|
|
40357
|
-
const set$
|
|
39221
|
+
const SET = 'field/SET';
|
|
39222
|
+
const set$1 = (fieldName) => (value) => ({
|
|
40358
39223
|
type: SET,
|
|
40359
|
-
payload: { fieldName, value }
|
|
39224
|
+
payload: { fieldName, value },
|
|
40360
39225
|
});
|
|
40361
39226
|
|
|
40362
|
-
const CLEAR =
|
|
39227
|
+
const CLEAR = 'form/CLEAR';
|
|
40363
39228
|
const clear = () => ({ type: CLEAR });
|
|
40364
39229
|
|
|
40365
|
-
const ADD_VALIDATOR =
|
|
40366
|
-
const addValidator = fieldName => validator => ({
|
|
39230
|
+
const ADD_VALIDATOR = 'field/ADD_VALIDATOR';
|
|
39231
|
+
const addValidator = (fieldName) => (validator) => ({
|
|
40367
39232
|
type: ADD_VALIDATOR,
|
|
40368
|
-
payload: { fieldName, validator }
|
|
39233
|
+
payload: { fieldName, validator },
|
|
40369
39234
|
});
|
|
40370
39235
|
|
|
40371
|
-
const
|
|
40372
|
-
|
|
40373
|
-
|
|
40374
|
-
|
|
40375
|
-
|
|
40376
|
-
case SET:
|
|
40377
|
-
const changedFieldName = action.payload.fieldName;
|
|
40378
|
-
const newRawValue = action.payload.value;
|
|
40379
|
-
|
|
40380
|
-
return produce(state, draftState => {
|
|
40381
|
-
let originalValue = draftState[changedFieldName].rawValue;
|
|
40382
|
-
draftState[changedFieldName].rawValue = newRawValue;
|
|
40383
|
-
if (computeConstraints(changedFieldName, draftState).length > 0) {
|
|
40384
|
-
// If the change violates constraints, revert the change
|
|
40385
|
-
draftState[changedFieldName].rawValue = originalValue;
|
|
40386
|
-
return draftState;
|
|
40387
|
-
}
|
|
39236
|
+
const REMOVE_VALIDATOR = 'field/REMOVE_VALIDATOR';
|
|
39237
|
+
const removeValidator = (fieldName) => (validator) => ({
|
|
39238
|
+
type: REMOVE_VALIDATOR,
|
|
39239
|
+
payload: { fieldName, validator },
|
|
39240
|
+
});
|
|
40388
39241
|
|
|
40389
|
-
|
|
40390
|
-
|
|
40391
|
-
|
|
40392
|
-
|
|
40393
|
-
|
|
40394
|
-
|
|
40395
|
-
|
|
40396
|
-
|
|
40397
|
-
|
|
40398
|
-
|
|
40399
|
-
|
|
40400
|
-
|
|
40401
|
-
|
|
40402
|
-
|
|
40403
|
-
|
|
40404
|
-
|
|
40405
|
-
|
|
40406
|
-
|
|
40407
|
-
|
|
40408
|
-
|
|
40409
|
-
|
|
40410
|
-
|
|
40411
|
-
let field = entry[1];
|
|
40412
|
-
let errors = computeErrors(fieldName, draftState);
|
|
40413
|
-
let dirty = field.dirty;
|
|
40414
|
-
draftState[fieldName].errors = errors;
|
|
40415
|
-
draftState[fieldName].dirty = dirty;
|
|
40416
|
-
draftState[fieldName].hasErrors = errors.length > 0;
|
|
40417
|
-
}
|
|
40418
|
-
});
|
|
40419
|
-
default:
|
|
40420
|
-
return state;
|
|
40421
|
-
}
|
|
40422
|
-
};
|
|
39242
|
+
const CLEAR_FIELD_VALIDATORS = 'field/CLEAR_FIELD_VALIDATORS';
|
|
39243
|
+
const clearFieldValidators = (fieldName) => () => ({
|
|
39244
|
+
type: CLEAR_FIELD_VALIDATORS,
|
|
39245
|
+
payload: { fieldName },
|
|
39246
|
+
});
|
|
39247
|
+
|
|
39248
|
+
const createFormReducer =
|
|
39249
|
+
(formConfig) =>
|
|
39250
|
+
(state = createInitialState(formConfig), action) => {
|
|
39251
|
+
switch (action.type) {
|
|
39252
|
+
case SET: {
|
|
39253
|
+
const changedFieldName = action.payload.fieldName;
|
|
39254
|
+
const newRawValue = action.payload.value;
|
|
39255
|
+
|
|
39256
|
+
return produce(state, (draftState) => {
|
|
39257
|
+
let originalValue = draftState[changedFieldName].rawValue;
|
|
39258
|
+
draftState[changedFieldName].rawValue = newRawValue;
|
|
39259
|
+
if (computeConstraints(changedFieldName, draftState).length > 0) {
|
|
39260
|
+
// If the change violates constraints, revert the change
|
|
39261
|
+
draftState[changedFieldName].rawValue = originalValue;
|
|
39262
|
+
return draftState;
|
|
39263
|
+
}
|
|
40423
39264
|
|
|
40424
|
-
|
|
39265
|
+
computeDirtyEntries(draftState, changedFieldName);
|
|
39266
|
+
computeErrorEntries(draftState);
|
|
39267
|
+
});
|
|
39268
|
+
}
|
|
39269
|
+
case CLEAR:
|
|
39270
|
+
return createInitialState(formConfig);
|
|
39271
|
+
case ADD_VALIDATOR: {
|
|
39272
|
+
const fieldWithOverride = action.payload.fieldName;
|
|
39273
|
+
const newValidator = action.payload.validator;
|
|
39274
|
+
|
|
39275
|
+
return produce(state, (draftState) => {
|
|
39276
|
+
draftState[fieldWithOverride].validators.push(newValidator);
|
|
39277
|
+
computeErrorEntries(draftState);
|
|
39278
|
+
});
|
|
39279
|
+
}
|
|
39280
|
+
case REMOVE_VALIDATOR: {
|
|
39281
|
+
const fieldToOverride = action.payload.fieldName;
|
|
39282
|
+
const targetValidator = action.payload.validator;
|
|
39283
|
+
|
|
39284
|
+
return produce(state, (draftState) => {
|
|
39285
|
+
let fieldValidators = draftState[fieldToOverride].validators;
|
|
39286
|
+
draftState[fieldToOverride].validators = fieldValidators.filter(
|
|
39287
|
+
(validator) => validator.type !== targetValidator.type
|
|
39288
|
+
);
|
|
39289
|
+
computeErrorEntries(draftState);
|
|
39290
|
+
});
|
|
39291
|
+
}
|
|
39292
|
+
case CLEAR_FIELD_VALIDATORS: {
|
|
39293
|
+
const fieldToClear = action.payload.fieldName;
|
|
39294
|
+
|
|
39295
|
+
return produce(state, (draftState) => {
|
|
39296
|
+
draftState[fieldToClear].validators = [];
|
|
39297
|
+
computeErrorEntries(draftState);
|
|
39298
|
+
});
|
|
39299
|
+
}
|
|
39300
|
+
default:
|
|
39301
|
+
return state;
|
|
39302
|
+
}
|
|
39303
|
+
};
|
|
39304
|
+
|
|
39305
|
+
const createMapDispatchToProps = (formConfig) => {
|
|
40425
39306
|
// Do memo-ization
|
|
40426
39307
|
let cachedDispatch;
|
|
40427
39308
|
let cacheValue;
|
|
40428
|
-
return dispatch => {
|
|
39309
|
+
return (dispatch) => {
|
|
40429
39310
|
if (dispatch == cachedDispatch) {
|
|
40430
39311
|
return cacheValue;
|
|
40431
39312
|
}
|
|
@@ -40434,8 +39315,11 @@ const createMapDispatchToProps = formConfig => {
|
|
|
40434
39315
|
const keys = Object.keys(formConfig);
|
|
40435
39316
|
for (let fieldName of keys) {
|
|
40436
39317
|
dispatchObj.fields[fieldName] = {
|
|
40437
|
-
set: value => dispatch(set$
|
|
40438
|
-
addValidator: validator => dispatch(addValidator(fieldName)(validator))
|
|
39318
|
+
set: (value) => dispatch(set$1(fieldName)(value)),
|
|
39319
|
+
addValidator: (validator) => dispatch(addValidator(fieldName)(validator)),
|
|
39320
|
+
removeValidator: (validator) =>
|
|
39321
|
+
dispatch(removeValidator(fieldName)(validator)),
|
|
39322
|
+
clear: () => dispatch(clearFieldValidators(fieldName)()),
|
|
40439
39323
|
};
|
|
40440
39324
|
}
|
|
40441
39325
|
dispatchObj.form = { clear: () => dispatch(clear()) };
|
|
@@ -40445,12 +39329,12 @@ const createMapDispatchToProps = formConfig => {
|
|
|
40445
39329
|
};
|
|
40446
39330
|
};
|
|
40447
39331
|
|
|
40448
|
-
const mapStateToProps = state => ({ fields: state });
|
|
39332
|
+
const mapStateToProps = (state) => ({ fields: state });
|
|
40449
39333
|
|
|
40450
|
-
const createFormState = formConfig => ({
|
|
39334
|
+
const createFormState = (formConfig) => ({
|
|
40451
39335
|
reducer: createFormReducer(formConfig),
|
|
40452
39336
|
mapDispatchToProps: createMapDispatchToProps(formConfig),
|
|
40453
|
-
mapStateToProps: mapStateToProps
|
|
39337
|
+
mapStateToProps: mapStateToProps,
|
|
40454
39338
|
});
|
|
40455
39339
|
|
|
40456
39340
|
var AddressForm = function AddressForm(_ref) {
|
|
@@ -40498,6 +39382,7 @@ var AddressForm = function AddressForm(_ref) {
|
|
|
40498
39382
|
labelTextWhenNoError: "Country",
|
|
40499
39383
|
errorMessages: countryErrorMessages,
|
|
40500
39384
|
field: fields.country,
|
|
39385
|
+
isRequired: true,
|
|
40501
39386
|
onChange: function onChange(value) {
|
|
40502
39387
|
actions.fields.country.set(value); // temporary measure to not dirty fields until
|
|
40503
39388
|
// we can write a reset function for fields
|
|
@@ -43315,12 +42200,12 @@ LoginForm.mapDispatchToProps = mapDispatchToProps$5;
|
|
|
43315
42200
|
* This source code is licensed under the MIT license found in the
|
|
43316
42201
|
* LICENSE file in the root directory of this source tree.
|
|
43317
42202
|
*/
|
|
43318
|
-
var b$
|
|
43319
|
-
Symbol.for("react.suspense_list"):60120,r=b$
|
|
43320
|
-
function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c$
|
|
43321
|
-
var Profiler=g;var StrictMode=f$
|
|
43322
|
-
var isMemo=function(a){return z(a)===r};var isPortal=function(a){return z(a)===d};var isProfiler=function(a){return z(a)===g};var isStrictMode=function(a){return z(a)===f$
|
|
43323
|
-
var isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f$
|
|
42203
|
+
var b$2="function"===typeof Symbol&&Symbol.for,c$2=b$2?Symbol.for("react.element"):60103,d$1=b$2?Symbol.for("react.portal"):60106,e=b$2?Symbol.for("react.fragment"):60107,f$7=b$2?Symbol.for("react.strict_mode"):60108,g$1=b$2?Symbol.for("react.profiler"):60114,h$1=b$2?Symbol.for("react.provider"):60109,k$1=b$2?Symbol.for("react.context"):60110,l$1=b$2?Symbol.for("react.async_mode"):60111,m=b$2?Symbol.for("react.concurrent_mode"):60111,n$1=b$2?Symbol.for("react.forward_ref"):60112,p$1=b$2?Symbol.for("react.suspense"):60113,q$1=b$2?
|
|
42204
|
+
Symbol.for("react.suspense_list"):60120,r$1=b$2?Symbol.for("react.memo"):60115,t$1=b$2?Symbol.for("react.lazy"):60116,v$1=b$2?Symbol.for("react.block"):60121,w$1=b$2?Symbol.for("react.fundamental"):60117,x$1=b$2?Symbol.for("react.responder"):60118,y$1=b$2?Symbol.for("react.scope"):60119;
|
|
42205
|
+
function z$1(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c$2:switch(a=a.type,a){case l$1:case m:case e:case g$1:case f$7:case p$1:return a;default:switch(a=a&&a.$$typeof,a){case k$1:case n$1:case t$1:case r$1:case h$1:return a;default:return u}}case d$1:return u}}}function A$1(a){return z$1(a)===m}var AsyncMode=l$1;var ConcurrentMode=m;var ContextConsumer=k$1;var ContextProvider=h$1;var Element$1=c$2;var ForwardRef=n$1;var Fragment=e;var Lazy=t$1;var Memo=r$1;var Portal=d$1;
|
|
42206
|
+
var Profiler=g$1;var StrictMode=f$7;var Suspense=p$1;var isAsyncMode=function(a){return A$1(a)||z$1(a)===l$1};var isConcurrentMode=A$1;var isContextConsumer=function(a){return z$1(a)===k$1};var isContextProvider=function(a){return z$1(a)===h$1};var isElement=function(a){return "object"===typeof a&&null!==a&&a.$$typeof===c$2};var isForwardRef=function(a){return z$1(a)===n$1};var isFragment=function(a){return z$1(a)===e};var isLazy=function(a){return z$1(a)===t$1};
|
|
42207
|
+
var isMemo=function(a){return z$1(a)===r$1};var isPortal=function(a){return z$1(a)===d$1};var isProfiler=function(a){return z$1(a)===g$1};var isStrictMode=function(a){return z$1(a)===f$7};var isSuspense=function(a){return z$1(a)===p$1};
|
|
42208
|
+
var isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===e||a===m||a===g$1||a===f$7||a===p$1||a===q$1||"object"===typeof a&&null!==a&&(a.$$typeof===t$1||a.$$typeof===r$1||a.$$typeof===h$1||a.$$typeof===k$1||a.$$typeof===n$1||a.$$typeof===w$1||a.$$typeof===x$1||a.$$typeof===y$1||a.$$typeof===v$1)};var typeOf=z$1;
|
|
43324
42209
|
|
|
43325
42210
|
var reactIs_production_min = {
|
|
43326
42211
|
AsyncMode: AsyncMode,
|
|
@@ -43691,14 +42576,14 @@ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
|
|
|
43691
42576
|
|
|
43692
42577
|
var ReactPropTypesSecret_1 = ReactPropTypesSecret;
|
|
43693
42578
|
|
|
43694
|
-
var has$
|
|
42579
|
+
var has$1 = Function.call.bind(Object.prototype.hasOwnProperty);
|
|
43695
42580
|
|
|
43696
42581
|
var printWarning = function() {};
|
|
43697
42582
|
|
|
43698
42583
|
if (process.env.NODE_ENV !== 'production') {
|
|
43699
42584
|
var ReactPropTypesSecret$1 = ReactPropTypesSecret_1;
|
|
43700
42585
|
var loggedTypeFailures = {};
|
|
43701
|
-
var has$
|
|
42586
|
+
var has$2 = has$1;
|
|
43702
42587
|
|
|
43703
42588
|
printWarning = function(text) {
|
|
43704
42589
|
var message = 'Warning: ' + text;
|
|
@@ -43728,7 +42613,7 @@ if (process.env.NODE_ENV !== 'production') {
|
|
|
43728
42613
|
function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
|
|
43729
42614
|
if (process.env.NODE_ENV !== 'production') {
|
|
43730
42615
|
for (var typeSpecName in typeSpecs) {
|
|
43731
|
-
if (has$
|
|
42616
|
+
if (has$2(typeSpecs, typeSpecName)) {
|
|
43732
42617
|
var error;
|
|
43733
42618
|
// Prop type validation may throw. In case they do, we don't want to
|
|
43734
42619
|
// fail the render phase where it didn't fail before. So we log it.
|
|
@@ -44127,7 +43012,7 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
|
|
|
44127
43012
|
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
|
|
44128
43013
|
}
|
|
44129
43014
|
for (var key in propValue) {
|
|
44130
|
-
if (has$
|
|
43015
|
+
if (has$1(propValue, key)) {
|
|
44131
43016
|
var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret_1);
|
|
44132
43017
|
if (error instanceof Error) {
|
|
44133
43018
|
return error;
|
|
@@ -44164,7 +43049,7 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
|
|
|
44164
43049
|
if (checkerResult == null) {
|
|
44165
43050
|
return null;
|
|
44166
43051
|
}
|
|
44167
|
-
if (checkerResult.data && has$
|
|
43052
|
+
if (checkerResult.data && has$1(checkerResult.data, 'expectedType')) {
|
|
44168
43053
|
expectedTypes.push(checkerResult.data.expectedType);
|
|
44169
43054
|
}
|
|
44170
43055
|
}
|
|
@@ -44224,7 +43109,7 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
|
|
|
44224
43109
|
var allKeys = objectAssign({}, props[propName], shapeTypes);
|
|
44225
43110
|
for (var key in allKeys) {
|
|
44226
43111
|
var checker = shapeTypes[key];
|
|
44227
|
-
if (has$
|
|
43112
|
+
if (has$1(shapeTypes, key) && typeof checker !== 'function') {
|
|
44228
43113
|
return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
|
|
44229
43114
|
}
|
|
44230
43115
|
if (!checker) {
|
|
@@ -44962,7 +43847,7 @@ var index_esm = /*#__PURE__*/Object.freeze({
|
|
|
44962
43847
|
* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
|
|
44963
43848
|
*/
|
|
44964
43849
|
|
|
44965
|
-
function ownKeys$
|
|
43850
|
+
function ownKeys$2(object, enumerableOnly) {
|
|
44966
43851
|
var keys = Object.keys(object);
|
|
44967
43852
|
|
|
44968
43853
|
if (Object.getOwnPropertySymbols) {
|
|
@@ -44978,9 +43863,9 @@ function ownKeys$3(object, enumerableOnly) {
|
|
|
44978
43863
|
function _objectSpread2$1(target) {
|
|
44979
43864
|
for (var i = 1; i < arguments.length; i++) {
|
|
44980
43865
|
var source = null != arguments[i] ? arguments[i] : {};
|
|
44981
|
-
i % 2 ? ownKeys$
|
|
43866
|
+
i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) {
|
|
44982
43867
|
_defineProperty$1(target, key, source[key]);
|
|
44983
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$
|
|
43868
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) {
|
|
44984
43869
|
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
44985
43870
|
});
|
|
44986
43871
|
}
|
|
@@ -49270,6 +48155,7 @@ var PaymentFormCard = function PaymentFormCard(_ref) {
|
|
|
49270
48155
|
"aria-label": "Card payment"
|
|
49271
48156
|
}, /*#__PURE__*/React__default.createElement(FormInputColumn, null, !hideZipCode && /*#__PURE__*/React__default.createElement(CountryDropdown, {
|
|
49272
48157
|
labelTextWhenNoError: "Country",
|
|
48158
|
+
isRequired: true,
|
|
49273
48159
|
errorMessages: countryErrorMessages,
|
|
49274
48160
|
field: fields.country,
|
|
49275
48161
|
onChange: function onChange(value) {
|
|
@@ -50340,51 +49226,6 @@ var Timeout = function Timeout(_ref) {
|
|
|
50340
49226
|
|
|
50341
49227
|
var Timeout$1 = withWindowSize(Timeout);
|
|
50342
49228
|
|
|
50343
|
-
var VARIANTS = {
|
|
50344
|
-
SUCCESS: "success",
|
|
50345
|
-
ERROR: "error"
|
|
50346
|
-
};
|
|
50347
|
-
|
|
50348
|
-
var ToastNotification = function ToastNotification(_ref) {
|
|
50349
|
-
var _ref$variant = _ref.variant,
|
|
50350
|
-
variant = _ref$variant === void 0 ? VARIANTS.SUCCESS : _ref$variant,
|
|
50351
|
-
_ref$message = _ref.message,
|
|
50352
|
-
message = _ref$message === void 0 ? "" : _ref$message,
|
|
50353
|
-
toastOpen = _ref.toastOpen,
|
|
50354
|
-
closeToastNotification = _ref.closeToastNotification,
|
|
50355
|
-
extraStyles = _ref.extraStyles,
|
|
50356
|
-
_ref$minWidth = _ref.minWidth,
|
|
50357
|
-
minWidth = _ref$minWidth === void 0 ? "112px" : _ref$minWidth,
|
|
50358
|
-
_ref$maxWidth = _ref.maxWidth,
|
|
50359
|
-
maxWidth = _ref$maxWidth === void 0 ? "350px" : _ref$maxWidth,
|
|
50360
|
-
_ref$height = _ref.height,
|
|
50361
|
-
height = _ref$height === void 0 ? "56px" : _ref$height,
|
|
50362
|
-
_ref$childGap = _ref.childGap,
|
|
50363
|
-
childGap = _ref$childGap === void 0 ? "1rem" : _ref$childGap,
|
|
50364
|
-
backgroundColor = _ref.backgroundColor;
|
|
50365
|
-
return /*#__PURE__*/React__default.createElement(Box, {
|
|
50366
|
-
onClick: closeToastNotification,
|
|
50367
|
-
background: backgroundColor ? backgroundColor : variant === VARIANTS.SUCCESS ? HINT_GREEN : variant === "error" ? ERROR_BACKGROUND_COLOR : WHITE,
|
|
50368
|
-
minWidth: minWidth,
|
|
50369
|
-
minHeight: height && parseInt(height) < 100 ? height : "100px",
|
|
50370
|
-
height: height ? height : "auto",
|
|
50371
|
-
tabIndex: toastOpen ? "-1" : "0",
|
|
50372
|
-
padding: "0rem 1rem",
|
|
50373
|
-
borderRadius: "4px",
|
|
50374
|
-
boxShadow: "0px 4px 4px rgba(41, 42, 51, 0.15), 0px 1px 7px rgba(41, 42, 51, 0.2), 0px 7px 12px rgba(41, 42, 51, 0.15)",
|
|
50375
|
-
extraStyles: "\n display: ".concat(toastOpen ? "block" : "none", ";\n position: fixed; bottom: 4rem; left: 4rem;\n ").concat(extraStyles, ";\n cursor: pointer;\n ")
|
|
50376
|
-
}, /*#__PURE__*/React__default.createElement(Cluster, {
|
|
50377
|
-
align: "center",
|
|
50378
|
-
childGap: childGap
|
|
50379
|
-
}, variant === "success" && /*#__PURE__*/React__default.createElement(SuccessfulIconMedium, null), variant === "error" && /*#__PURE__*/React__default.createElement(ErroredIcon, null), /*#__PURE__*/React__default.createElement(Box, {
|
|
50380
|
-
padding: "1rem 0",
|
|
50381
|
-
maxWidth: maxWidth
|
|
50382
|
-
}, /*#__PURE__*/React__default.createElement(Paragraph$1, {
|
|
50383
|
-
weight: FONT_WEIGHT_SEMIBOLD,
|
|
50384
|
-
extraStyles: "word-break: break-word;"
|
|
50385
|
-
}, message)), /*#__PURE__*/React__default.createElement(IconQuitLarge, null)));
|
|
50386
|
-
};
|
|
50387
|
-
|
|
50388
49229
|
var fontWeight$9 = "600";
|
|
50389
49230
|
var fontColor$1 = WHITE;
|
|
50390
49231
|
var textAlign$1 = "left";
|
|
@@ -50950,7 +49791,6 @@ exports.Text = Text$1;
|
|
|
50950
49791
|
exports.Timeout = Timeout$1;
|
|
50951
49792
|
exports.TimeoutImage = TimeoutImage;
|
|
50952
49793
|
exports.Title = Title$1;
|
|
50953
|
-
exports.ToastNotification = ToastNotification;
|
|
50954
49794
|
exports.ToggleSwitch = ToggleSwitch$1;
|
|
50955
49795
|
exports.TrashIcon = TrashIcon$1;
|
|
50956
49796
|
exports.TypeaheadInput = TypeaheadInput;
|