@thecb/components 9.2.0-beta.9 → 9.3.0-beta.1

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.
Files changed (42) hide show
  1. package/dist/index.cjs.js +321 -1462
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.d.ts +60 -115
  4. package/dist/index.esm.js +322 -1462
  5. package/dist/index.esm.js.map +1 -1
  6. package/dist/src/apps/checkout/pages/payment/sub-pages/payment-amount/PaymentAmount_old.js +49322 -0
  7. package/package.json +1 -1
  8. package/src/.DS_Store +0 -0
  9. package/src/components/.DS_Store +0 -0
  10. package/src/components/atoms/.DS_Store +0 -0
  11. package/src/components/atoms/checkbox/Checkbox.js +3 -1
  12. package/src/components/atoms/checkbox/Checkbox.stories.js +3 -2
  13. package/src/components/atoms/country-dropdown/CountryDropdown.js +3 -1
  14. package/src/components/atoms/country-dropdown/CountryDropdown.stories.js +1 -0
  15. package/src/components/atoms/dropdown/Dropdown.js +7 -3
  16. package/src/components/atoms/form-layouts/FormInput.js +4 -0
  17. package/src/components/atoms/form-select/FormSelect.js +22 -9
  18. package/src/components/atoms/form-select/FormSelect.stories.js +2 -2
  19. package/src/components/atoms/icons/.DS_Store +0 -0
  20. package/src/components/atoms/state-province-dropdown/StateProvinceDropdown.js +4 -1
  21. package/src/components/molecules/address-form/AddressForm.js +6 -0
  22. package/src/components/molecules/index.d.ts +0 -1
  23. package/src/components/molecules/index.js +0 -1
  24. package/src/components/molecules/payment-form-ach/PaymentFormACH.js +7 -0
  25. package/src/components/molecules/payment-form-card/PaymentFormCard.js +1 -0
  26. package/src/components/molecules/radio-section/radio-button/RadioButton.js +7 -5
  27. package/src/components/molecules/radio-section/radio-button/RadioButton.theme.js +2 -2
  28. package/src/components/molecules/terms-and-conditions/TermsAndConditionsControlV1.js +1 -0
  29. package/src/components/molecules/terms-and-conditions/TermsAndConditionsControlV2.js +1 -0
  30. package/src/constants/colors.d.ts +0 -1
  31. package/src/constants/colors.js +1 -3
  32. package/src/index.d.ts +1 -2
  33. package/src/types/common/index.ts +0 -1
  34. package/src/util/index.js +1 -9
  35. package/src/components/molecules/toast-notification/ToastNotification.js +0 -76
  36. package/src/components/molecules/toast-notification/ToastNotification.stories.js +0 -67
  37. package/src/components/molecules/toast-notification/index.d.ts +0 -18
  38. package/src/components/molecules/toast-notification/index.js +0 -3
  39. package/src/types/common/ToastVariants.ts +0 -6
  40. package/src/util/hooks/index.js +0 -1
  41. package/src/util/hooks/use-toast-notification/index.d.ts +0 -23
  42. 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({
@@ -22132,7 +22130,9 @@ var Checkbox = function Checkbox(_ref4) {
22132
22130
  extraStyles = _ref4.extraStyles,
22133
22131
  textExtraStyles = _ref4.textExtraStyles,
22134
22132
  _ref4$dataQa = _ref4.dataQa,
22135
- dataQa = _ref4$dataQa === void 0 ? null : _ref4$dataQa;
22133
+ dataQa = _ref4$dataQa === void 0 ? null : _ref4$dataQa,
22134
+ _ref4$isRequired = _ref4.isRequired,
22135
+ isRequired = _ref4$isRequired === void 0 ? false : _ref4$isRequired;
22136
22136
 
22137
22137
  var _useState = React.useState(false),
22138
22138
  _useState2 = _slicedToArray(_useState, 2),
@@ -22186,7 +22186,8 @@ var Checkbox = function Checkbox(_ref4) {
22186
22186
  errorStyles: themeValues.errorStyles,
22187
22187
  disabledStyles: themeValues.disabledStyles,
22188
22188
  disabledCheckedStyles: themeValues.disabledCheckedStyles,
22189
- focusedStyles: themeValues.focusedStyles
22189
+ focusedStyles: themeValues.focusedStyles,
22190
+ "aria-required": isRequired
22190
22191
  }, /*#__PURE__*/React__default.createElement(CheckboxIcon, {
22191
22192
  viewBox: "0 0 24 24",
22192
22193
  disabled: disabled,
@@ -23770,7 +23771,11 @@ var Dropdown = function Dropdown(_ref8) {
23770
23771
  _ref8$smoothScroll = _ref8.smoothScroll,
23771
23772
  smoothScroll = _ref8$smoothScroll === void 0 ? true : _ref8$smoothScroll,
23772
23773
  _ref8$ariaInvalid = _ref8.ariaInvalid,
23773
- ariaInvalid = _ref8$ariaInvalid === void 0 ? false : _ref8$ariaInvalid;
23774
+ ariaInvalid = _ref8$ariaInvalid === void 0 ? false : _ref8$ariaInvalid,
23775
+ _ref8$isRequired = _ref8.isRequired,
23776
+ isRequired = _ref8$isRequired === void 0 ? false : _ref8$isRequired;
23777
+
23778
+ var required = options.required || isRequired;
23774
23779
 
23775
23780
  var _useState = React.useState(""),
23776
23781
  _useState2 = _slicedToArray(_useState, 2),
@@ -24019,7 +24024,8 @@ var Dropdown = function Dropdown(_ref8) {
24019
24024
  "aria-labelledby": ariaLabelledby,
24020
24025
  "aria-describedby": ariaDescribedby,
24021
24026
  "aria-expanded": isOpen,
24022
- "aria-required": options.required,
24027
+ "aria-required": required,
24028
+ required: required,
24023
24029
  "aria-invalid": ariaInvalid,
24024
24030
  background: isOpen ? themeValues.hoverColor : WHITE,
24025
24031
  borderRadius: "2px",
@@ -24041,14 +24047,14 @@ var Dropdown = function Dropdown(_ref8) {
24041
24047
  },
24042
24048
  padding: "12px",
24043
24049
  placeholder: getSelection(),
24044
- required: options.required,
24045
24050
  role: "combobox",
24046
24051
  themeValues: themeValues,
24047
24052
  title: hasTitles ? getSelection() : null,
24048
24053
  type: "text",
24049
24054
  tabIndex: 0,
24050
24055
  value: inputValue,
24051
- width: "100%"
24056
+ width: "100%",
24057
+ disabled: disabledValues.includes(inputValue)
24052
24058
  }), /*#__PURE__*/React__default.createElement(IconWrapper, {
24053
24059
  open: isOpen,
24054
24060
  onClick: _onClick
@@ -24059,7 +24065,8 @@ var Dropdown = function Dropdown(_ref8) {
24059
24065
  widthFitOptions: widthFitOptions,
24060
24066
  tabIndex: 0,
24061
24067
  role: "listbox",
24062
- id: "".concat(ariaLabelledby, "_listbox")
24068
+ id: "".concat(ariaLabelledby, "_listbox"),
24069
+ required: required
24063
24070
  }, /*#__PURE__*/React__default.createElement(Stack, {
24064
24071
  childGap: "0",
24065
24072
  as: "ul"
@@ -24205,7 +24212,9 @@ var FormSelect = function FormSelect(_ref) {
24205
24212
  _ref$dataQa = _ref.dataQa,
24206
24213
  dataQa = _ref$dataQa === void 0 ? null : _ref$dataQa,
24207
24214
  _ref$widthFitOptions = _ref.widthFitOptions,
24208
- widthFitOptions = _ref$widthFitOptions === void 0 ? false : _ref$widthFitOptions;
24215
+ widthFitOptions = _ref$widthFitOptions === void 0 ? false : _ref$widthFitOptions,
24216
+ _ref$isRequired = _ref.isRequired,
24217
+ isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired;
24209
24218
 
24210
24219
  var _useState = React.useState(false),
24211
24220
  _useState2 = _slicedToArray(_useState, 2),
@@ -24213,6 +24222,17 @@ var FormSelect = function FormSelect(_ref) {
24213
24222
  setOpen = _useState2[1];
24214
24223
 
24215
24224
  var dropdownRef = React.useRef(null);
24225
+ var required = (options === null || options === void 0 ? void 0 : options.required) || isRequired;
24226
+ var labelId = React.useMemo(function () {
24227
+ return function (labelTextWhenNoError) {
24228
+ return createIdFromString(labelTextWhenNoError);
24229
+ };
24230
+ }, [labelTextWhenNoError]);
24231
+ var descriptionId = React.useMemo(function () {
24232
+ return function (field, labelTextWhenNoError) {
24233
+ return field.hasErrors && field.dirty ? labelId(labelTextWhenNoError) + "error-message" : "";
24234
+ };
24235
+ }, [field, labelTextWhenNoError]);
24216
24236
 
24217
24237
  var handleClickAway = function handleClickAway(event) {
24218
24238
  if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
@@ -24228,8 +24248,8 @@ var FormSelect = function FormSelect(_ref) {
24228
24248
  });
24229
24249
  return /*#__PURE__*/React__default.createElement(SelectContainer, {
24230
24250
  ref: dropdownRef,
24251
+ "aria-role": "group",
24231
24252
  disabled: disabled,
24232
- "aria-disabled": disabled,
24233
24253
  "data-qa": dataQa
24234
24254
  }, /*#__PURE__*/React__default.createElement(Box, {
24235
24255
  padding: "0",
@@ -24243,10 +24263,10 @@ var FormSelect = function FormSelect(_ref) {
24243
24263
  color: themeValues.labelColor,
24244
24264
  weight: themeValues.fontWeight,
24245
24265
  extraStyles: "word-break: break-word;\n font-family: Public Sans;\n &::first-letter {\n text-transform: uppercase;\n }",
24246
- id: createIdFromString(labelTextWhenNoError)
24266
+ id: labelId(labelTextWhenNoError)
24247
24267
  }, labelTextWhenNoError))), /*#__PURE__*/React__default.createElement(Dropdown$1, {
24248
- ariaLabelledby: createIdFromString(labelTextWhenNoError),
24249
- ariaDescribedby: createIdFromString(labelTextWhenNoError, "error message"),
24268
+ ariaLabelledby: labelId(labelTextWhenNoError),
24269
+ ariaDescribedby: descriptionId(field, labelTextWhenNoError),
24250
24270
  maxHeight: dropdownMaxHeight,
24251
24271
  widthFitOptions: widthFitOptions,
24252
24272
  hasTitles: hasTitles,
@@ -24267,7 +24287,8 @@ var FormSelect = function FormSelect(_ref) {
24267
24287
  },
24268
24288
  disabled: disabled,
24269
24289
  autocompleteValue: autocompleteValue,
24270
- smoothScroll: smoothScroll
24290
+ smoothScroll: smoothScroll,
24291
+ isRequired: required
24271
24292
  }), /*#__PURE__*/React__default.createElement(Stack, {
24272
24293
  direction: "row",
24273
24294
  justify: "space-between"
@@ -25037,7 +25058,9 @@ var CountryDropdown = function CountryDropdown(_ref) {
25037
25058
  showErrors = _ref.showErrors,
25038
25059
  onChange = _ref.onChange,
25039
25060
  _ref$dataQa = _ref.dataQa,
25040
- dataQa = _ref$dataQa === void 0 ? null : _ref$dataQa;
25061
+ dataQa = _ref$dataQa === void 0 ? null : _ref$dataQa,
25062
+ _ref$isRequired = _ref.isRequired,
25063
+ isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired;
25041
25064
  return /*#__PURE__*/React__default.createElement(FormSelect$1, {
25042
25065
  options: options,
25043
25066
  field: field,
@@ -25047,7 +25070,8 @@ var CountryDropdown = function CountryDropdown(_ref) {
25047
25070
  errorMessages: errorMessages,
25048
25071
  showErrors: showErrors,
25049
25072
  onChange: onChange,
25050
- autocompleteValue: "country-name"
25073
+ autocompleteValue: "country-name",
25074
+ isRequired: isRequired
25051
25075
  });
25052
25076
  };
25053
25077
 
@@ -25586,53 +25610,6 @@ var useOutsideClickHook = function useOutsideClickHook(handler) {
25586
25610
  return ref;
25587
25611
  };
25588
25612
 
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
25613
 
25637
25614
 
25638
25615
  var index$4 = /*#__PURE__*/Object.freeze({
@@ -25641,8 +25618,7 @@ var index$4 = /*#__PURE__*/Object.freeze({
25641
25618
  general: general,
25642
25619
  theme: themeUtils,
25643
25620
  useFocusInvalidInput: useFocusInvalidInput,
25644
- useOutsideClick: useOutsideClickHook,
25645
- useToastNotification: useToastNotification
25621
+ useOutsideClick: useOutsideClickHook
25646
25622
  });
25647
25623
 
25648
25624
  var hoverColor$4 = "#116285";
@@ -25940,7 +25916,7 @@ var fallbackValues$k = {
25940
25916
  };
25941
25917
 
25942
25918
  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"];
25919
+ _excluded2 = ["type", "labelTextWhenNoError", "errorMessages", "isNum", "isEmail", "helperModal", "field", "fieldActions", "showErrors", "formatter", "decorator", "themeValues", "background", "customHeight", "autocompleteValue", "extraStyles", "removeFromValue", "dataQa", "isRequired"];
25944
25920
  var InputField = styled__default.input.withConfig({
25945
25921
  displayName: "FormInput__InputField",
25946
25922
  componentId: "sc-l094r1-0"
@@ -26027,8 +26003,12 @@ var FormInput = function FormInput(_ref15) {
26027
26003
  removeFromValue = _ref15.removeFromValue,
26028
26004
  _ref15$dataQa = _ref15.dataQa,
26029
26005
  dataQa = _ref15$dataQa === void 0 ? null : _ref15$dataQa,
26006
+ _ref15$isRequired = _ref15.isRequired,
26007
+ isRequired = _ref15$isRequired === void 0 ? false : _ref15$isRequired,
26030
26008
  props = _objectWithoutProperties(_ref15, _excluded2);
26031
26009
 
26010
+ var required = isRequired || (props === null || props === void 0 ? void 0 : props.required);
26011
+
26032
26012
  var _useState = React.useState(false),
26033
26013
  _useState2 = _slicedToArray(_useState, 2),
26034
26014
  showPassword = _useState2[0],
@@ -26113,7 +26093,8 @@ var FormInput = function FormInput(_ref15) {
26113
26093
  $customHeight: customHeight,
26114
26094
  $extraStyles: extraStyles,
26115
26095
  "data-qa": dataQa || labelTextWhenNoError,
26116
- autoComplete: autocompleteValue
26096
+ autoComplete: autocompleteValue,
26097
+ required: required
26117
26098
  }, props)) : /*#__PURE__*/React__default.createElement(InputField, _extends({
26118
26099
  "aria-labelledby": createIdFromString(labelTextWhenNoError),
26119
26100
  "aria-describedby": createIdFromString(labelTextWhenNoError, "error message"),
@@ -26132,7 +26113,8 @@ var FormInput = function FormInput(_ref15) {
26132
26113
  $customHeight: customHeight,
26133
26114
  $extraStyles: extraStyles,
26134
26115
  "data-qa": dataQa || labelTextWhenNoError,
26135
- autoComplete: autocompleteValue
26116
+ autoComplete: autocompleteValue,
26117
+ required: required
26136
26118
  }, props))), /*#__PURE__*/React__default.createElement(Stack, {
26137
26119
  direction: "row",
26138
26120
  justify: "space-between",
@@ -27285,7 +27267,7 @@ var RadioButtonWithLabel = function RadioButtonWithLabel(_ref5) {
27285
27267
  var RadioButtonWithLabel$1 = themeComponent(RadioButtonWithLabel, "RadioButtonWithLabel", fallbackValues$u);
27286
27268
 
27287
27269
  var activeColor$6 = "".concat(MATISSE_BLUE);
27288
- var inactiveColor = "".concat(GREY_CHATEAU);
27270
+ var inactiveColor = "".concat(STORM_GREY);
27289
27271
  var fallbackValues$v = {
27290
27272
  activeColor: activeColor$6,
27291
27273
  inactiveColor: inactiveColor
@@ -27318,19 +27300,21 @@ var RadioButton$1 = function RadioButton(_ref2) {
27318
27300
  var buttonBorder = {
27319
27301
  onFocused: {
27320
27302
  borderColor: themeValues.activeColor,
27321
- boxShadow: "0px 0px 4px 0px ".concat(themeValues.activeColor)
27303
+ outline: "3px solid ".concat(themeValues.activeColor),
27304
+ outlineOffset: "2px"
27322
27305
  },
27323
27306
  offFocused: {
27324
27307
  borderColor: themeValues.activeColor,
27325
- boxShadow: "0px 0px 4px 0px ".concat(themeValues.activeColor)
27308
+ outline: "3px solid ".concat(themeValues.activeColor),
27309
+ outlineOffset: "2px"
27326
27310
  },
27327
27311
  on: {
27328
27312
  borderColor: themeValues.activeColor,
27329
- boxShadow: "0px 0px 0px 0px #FFFFFF"
27313
+ outline: "0"
27330
27314
  },
27331
27315
  off: {
27332
27316
  borderColor: themeValues.inactiveColor,
27333
- boxShadow: "0px 0px 0px 0px #FFFFFF"
27317
+ outline: "0"
27334
27318
  }
27335
27319
  };
27336
27320
  var buttonCenter = {
@@ -27379,7 +27363,7 @@ var RadioButton$1 = function RadioButton(_ref2) {
27379
27363
  borderWidth: "1px",
27380
27364
  borderStyle: "solid",
27381
27365
  borderRadius: "12px",
27382
- margin: "4px 14px 4px 4px",
27366
+ margin: "6px 14px 6px 6px",
27383
27367
  height: "24px",
27384
27368
  width: "24px",
27385
27369
  variants: buttonBorder,
@@ -38064,7 +38048,9 @@ var FormStateDropdown = function FormStateDropdown(_ref) {
38064
38048
  field = _ref.field,
38065
38049
  fieldActions = _ref.fieldActions,
38066
38050
  showErrors = _ref.showErrors,
38067
- countryCode = _ref.countryCode;
38051
+ countryCode = _ref.countryCode,
38052
+ _ref$isRequired = _ref.isRequired,
38053
+ isRequired = _ref$isRequired === void 0 ? false : _ref$isRequired;
38068
38054
  var placeholder = countryCode === "US" ? placeHolderOptionUS : placeHolderOption;
38069
38055
  var options = [placeholder].concat(_toConsumableArray(getOptions(countryCode)));
38070
38056
  return /*#__PURE__*/React__default.createElement(FormSelect$1, {
@@ -38074,7 +38060,8 @@ var FormStateDropdown = function FormStateDropdown(_ref) {
38074
38060
  labelTextWhenNoError: labelTextWhenNoError,
38075
38061
  errorMessages: errorMessages,
38076
38062
  showErrors: showErrors,
38077
- autocompleteValue: "address-level1"
38063
+ autocompleteValue: "address-level1",
38064
+ isRequired: isRequired
38078
38065
  });
38079
38066
  };
38080
38067
 
@@ -38698,44 +38685,52 @@ var TableHeading_styled = styled__default.th.withConfig({
38698
38685
  return extraStyles;
38699
38686
  });
38700
38687
 
38701
- const validatorToPredicate = (validatorFn, emptyCase) => (
38702
- value,
38703
- ...rest
38704
- ) => (value === "" ? emptyCase : validatorFn(value, ...rest));
38688
+ const validatorToPredicate =
38689
+ (validatorFn, emptyCase) =>
38690
+ (value, ...rest) =>
38691
+ value === '' ? emptyCase : validatorFn(value, ...rest);
38705
38692
 
38706
38693
  var commonjsGlobal$1 = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
38707
38694
 
38695
+ function getDefaultExportFromCjs (x) {
38696
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
38697
+ }
38698
+
38708
38699
  var dayjs_min = {exports: {}};
38709
38700
 
38710
38701
  (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",$="Invalid Date",l=/^(\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("_")},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},g={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}},D="en",v={};v[D]=M;var p=function(t){return t instanceof _},S=function(t,e,n){var r;if(!t)return D;if("string"==typeof t)v[t]&&(r=t),e&&(v[t]=e,r=t);else {var i=t.name;v[i]=t,r=i;}return !n&&r&&(D=r),r||!n&&D},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=g;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(l);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()===$)},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),$=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)},l=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,g="set"+(this.$u?"UTC":"");switch(h){case c:return r?$(1,0):$(31,11);case f:return r?$(1,M):$(0,M+1);case o:var D=this.$locale().weekStart||0,v=(y<D?y+7:y)-D;return $(r?m-v:m+(6-v),M);case a:case d:return l(g+"Hours",0);case u:return l(g+"Minutes",1);case s:return l(g+"Seconds",2);case i:return l(g+"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":""),$=(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],l=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 $&&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,$=this;r=Number(r);var l=O.p(h),y=function(t){var e=w($);return O.w(e.date(e.date()+Math.round(t*r)),$)};if(l===f)return this.set(f,this.$M+r);if(l===c)return this.set(c,this.$y+r);if(l===a)return y(1);if(l===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[l]||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||$;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].substr(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},l={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||l[t]||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,$){var l,y=O.p(d),M=w(r),m=(M.utcOffset()-this.utcOffset())*e,g=this-M,D=O.m(this,M);return D=(l={},l[c]=D/12,l[f]=D,l[h]=D/3,l[o]=(g-m)/6048e5,l[a]=(g-m)/864e5,l[u]=g/n,l[s]=g/e,l[i]=g/t,l)[y]||g,$?D:O.a(D)},m.daysInMonth=function(){return this.endOf(f).$D},m.$locale=function(){return v[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}(),b=_.prototype;return w.prototype=b,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",f],["$y",c],["$D",d]].forEach((function(t){b[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=v[D],w.Ls=v,w.p={},w}));
38712
- }(dayjs_min));
38702
+ !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}));
38703
+ } (dayjs_min));
38713
38704
 
38714
- var dayjs = dayjs_min.exports;
38705
+ var dayjs_minExports = dayjs_min.exports;
38706
+ var dayjs = /*@__PURE__*/getDefaultExportFromCjs(dayjs_minExports);
38715
38707
 
38716
38708
  var customParseFormat$1 = {exports: {}};
38717
38709
 
38718
38710
  (function (module, exports) {
38719
- !function(t,e){module.exports=e();}(commonjsGlobal$1,(function(){var t={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"},e=/(\[[^[]*\])|([-:/.()\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(t){return (t=+t)+(t>68?1900:2e3)};var a=function(t){return function(e){this[t]=+e;}},f=[/[+-]\d\d:?(\d\d)?|Z/,function(t){(this.zone||(this.zone={})).offset=function(t){if(!t)return 0;if("Z"===t)return 0;var e=t.match(/([+-]|\d\d)/g),n=60*e[1]+(+e[2]||0);return 0===n?0:"+"===e[0]?-n:n}(t);}],u=function(t){var e=o[t];return e&&(e.indexOf?e:e.s.concat(e.f))},h=function(t,e){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(t.indexOf(r(i,0,e))>-1){n=i>12;break}}else n=t===(e?"pm":"PM");return n},d={A:[i,function(t){this.afternoon=h(t,!1);}],a:[i,function(t){this.afternoon=h(t,!0);}],S:[/\d/,function(t){this.milliseconds=100*+t;}],SS:[n,function(t){this.milliseconds=10*+t;}],SSS:[/\d{3}/,function(t){this.milliseconds=+t;}],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(t){var e=o.ordinal,n=t.match(/\d+/);if(this.day=n[0],e)for(var r=1;r<=31;r+=1)e(r).replace(/\[|\]/g,"")===t&&(this.day=r);}],M:[r,a("month")],MM:[n,a("month")],MMM:[i,function(t){var e=u("months"),n=(u("monthsShort")||e.map((function(t){return t.substr(0,3)}))).indexOf(t)+1;if(n<1)throw new Error;this.month=n%12||n;}],MMMM:[i,function(t){var e=u("months").indexOf(t)+1;if(e<1)throw new Error;this.month=e%12||e;}],Y:[/[+-]?\d+/,a("year")],YY:[n,function(t){this.year=s(t);}],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(e,n,r){var o=r&&r.toUpperCase();return n||i[r]||t[r]||i[o].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(t,e,n){return e||n.slice(1)}))}))).match(e),a=s.length,f=0;f<a;f+=1){var u=s[f],h=d[u],c=h&&h[0],l=h&&h[1];s[f]=l?{regex:c,parser:l}:u.replace(/^\[|\]$/g,"");}return function(t){for(var e={},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,u=t.substr(r),h=o.exec(u)[0];f.call(e,h),t=t.replace(h,"");}}return function(t){var e=t.afternoon;if(void 0!==e){var n=t.hours;e?n<12&&(t.hours+=12):12===n&&(t.hours=0),delete t.afternoon;}}(e),e}}return function(t,e,n){n.p.customParseFormat=!0,t&&t.parseTwoDigitYear&&(s=t.parseTwoDigitYear);var r=e.prototype,i=r.parse;r.parse=function(t){var e=t.date,r=t.utc,s=t.args;this.$u=r;var a=s[1];if("string"==typeof a){var f=!0===s[2],u=!0===s[3],h=f||u,d=s[2];u&&(d=s[2]),o=this.$locale(),!f&&d&&(o=n.Ls[d]),this.$d=function(t,e,n){try{if(["x","X"].indexOf(e)>-1)return new Date(("X"===e?1e3:1)*t);var r=c(e)(t),i=r.year,o=r.month,s=r.day,a=r.hours,f=r.minutes,u=r.seconds,h=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=u||0,g=h||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(t){return new Date("")}}(e,a,r),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),h&&e!=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,t);};}}));
38720
- }(customParseFormat$1));
38711
+ !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);};}}));
38712
+ } (customParseFormat$1));
38721
38713
 
38722
- var customParseFormat = customParseFormat$1.exports;
38714
+ var customParseFormatExports = customParseFormat$1.exports;
38715
+ var customParseFormat = /*@__PURE__*/getDefaultExportFromCjs(customParseFormatExports);
38723
38716
 
38724
38717
  var isSameOrBefore$1 = {exports: {}};
38725
38718
 
38726
38719
  (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));
38720
+ !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)};}}));
38721
+ } (isSameOrBefore$1));
38729
38722
 
38730
- var isSameOrBefore = isSameOrBefore$1.exports;
38723
+ var isSameOrBeforeExports = isSameOrBefore$1.exports;
38724
+ var isSameOrBefore = /*@__PURE__*/getDefaultExportFromCjs(isSameOrBeforeExports);
38731
38725
 
38732
38726
  var isSameOrAfter$1 = {exports: {}};
38733
38727
 
38734
38728
  (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));
38729
+ !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)};}}));
38730
+ } (isSameOrAfter$1));
38737
38731
 
38738
- var isSameOrAfter = isSameOrAfter$1.exports;
38732
+ var isSameOrAfterExports = isSameOrAfter$1.exports;
38733
+ var isSameOrAfter = /*@__PURE__*/getDefaultExportFromCjs(isSameOrAfterExports);
38739
38734
 
38740
38735
  /* eslint-disable no-unused-vars */
38741
38736
 
@@ -38751,24 +38746,24 @@ dayjs.extend(isSameOrAfter);
38751
38746
 
38752
38747
  let validatorFns = {};
38753
38748
 
38754
- const INCLUDED_IN = "validator/INCLUDED_IN";
38755
- const INCLUDED_IN_ERROR = "error/INCLUDED_IN";
38749
+ const INCLUDED_IN = 'validator/INCLUDED_IN';
38750
+ const INCLUDED_IN_ERROR = 'error/INCLUDED_IN';
38756
38751
  const includedIn = createValidator(INCLUDED_IN, INCLUDED_IN_ERROR);
38757
38752
  validatorFns[INCLUDED_IN] = (value, args, form) =>
38758
38753
  Array.isArray(args[0]) ? args[0].includes(value) : args[0] === value;
38759
38754
 
38760
- const REQUIRED = "validator/REQUIRED";
38761
- const REQUIRED_ERROR = "error/REQUIRED";
38755
+ const REQUIRED = 'validator/REQUIRED';
38756
+ const REQUIRED_ERROR = 'error/REQUIRED';
38762
38757
  const required = createValidator(REQUIRED, REQUIRED_ERROR);
38763
- validatorFns[REQUIRED] = (value, args, form) => value !== "";
38758
+ validatorFns[REQUIRED] = (value, args, form) => value !== '';
38764
38759
 
38765
- const ONLY_INTEGERS = "validator/ONLY_INTEGERS";
38766
- const ONLY_INTEGERS_ERROR = "error/ONLY_INTEGERS";
38760
+ const ONLY_INTEGERS = 'validator/ONLY_INTEGERS';
38761
+ const ONLY_INTEGERS_ERROR = 'error/ONLY_INTEGERS';
38767
38762
  const onlyIntegers = createValidator(ONLY_INTEGERS, ONLY_INTEGERS_ERROR);
38768
38763
  validatorFns[ONLY_INTEGERS] = (value, args, form) => /^(-?\d+)?$/.test(value);
38769
38764
 
38770
- const ONLY_NATURALS = "validator/ONLY_NATURALS";
38771
- const ONLY_NATURALS_ERROR = "error/ONLY_NATURALS";
38765
+ const ONLY_NATURALS = 'validator/ONLY_NATURALS';
38766
+ const ONLY_NATURALS_ERROR = 'error/ONLY_NATURALS';
38772
38767
  const onlyNaturals = createValidator(ONLY_NATURALS, ONLY_NATURALS_ERROR);
38773
38768
  validatorFns[ONLY_NATURALS] = (value, args, form) => /^(\d+)?$/.test(value);
38774
38769
 
@@ -38781,8 +38776,8 @@ not tested as validation function
38781
38776
  to validate exp date instead use combo of:
38782
38777
  required(), hasLength(), isValidMonth(), dateAfterToday()
38783
38778
  */
38784
- const ONLY_EXPIRATION_DATE = "validator/ONLY_EXPIRATION_DATE";
38785
- const ONLY_EXPIRATION_DATE_ERROR = "error/ONLY_EXPIRATION_DATE";
38779
+ const ONLY_EXPIRATION_DATE = 'validator/ONLY_EXPIRATION_DATE';
38780
+ const ONLY_EXPIRATION_DATE_ERROR = 'error/ONLY_EXPIRATION_DATE';
38786
38781
  const onlyExpirationDate = createValidator(
38787
38782
  ONLY_EXPIRATION_DATE,
38788
38783
  ONLY_EXPIRATION_DATE_ERROR
@@ -38790,64 +38785,63 @@ const onlyExpirationDate = createValidator(
38790
38785
  validatorFns[ONLY_EXPIRATION_DATE] = (value, args, form) =>
38791
38786
  /^(\d?\d?\/?\d?\d?)?$/.test(value);
38792
38787
 
38793
- const NUMBER_LESS_THAN = "validator/NUMBER_LESS_THAN";
38794
- const NUMBER_LESS_THAN_ERROR = "error/NUMBER_LESS_THAN";
38788
+ const NUMBER_LESS_THAN = 'validator/NUMBER_LESS_THAN';
38789
+ const NUMBER_LESS_THAN_ERROR = 'error/NUMBER_LESS_THAN';
38795
38790
  const numberLessThan = createValidator(
38796
38791
  NUMBER_LESS_THAN,
38797
38792
  NUMBER_LESS_THAN_ERROR
38798
38793
  );
38799
38794
  validatorFns[NUMBER_LESS_THAN] = (value, args, form) => {
38800
- if (value === "") {
38795
+ if (value === '') {
38801
38796
  return true;
38802
38797
  }
38803
38798
  return Number(value) < args[0];
38804
38799
  };
38805
38800
 
38806
- const NUMBER_LESS_THAN_OR_EQUAL_TO =
38807
- "validator/NUMBER_LESS_THAN_OR_EQUAL_TO";
38801
+ const NUMBER_LESS_THAN_OR_EQUAL_TO = 'validator/NUMBER_LESS_THAN_OR_EQUAL_TO';
38808
38802
  const NUMBER_LESS_THAN_OR_EQUAL_TO_ERROR =
38809
- "error/NUMBER_LESS_THAN_OR_EQUAL_TO";
38803
+ 'error/NUMBER_LESS_THAN_OR_EQUAL_TO';
38810
38804
  const numberLessThanOrEqualTo = createValidator(
38811
38805
  NUMBER_LESS_THAN_OR_EQUAL_TO,
38812
38806
  NUMBER_LESS_THAN_OR_EQUAL_TO_ERROR
38813
38807
  );
38814
38808
  validatorFns[NUMBER_LESS_THAN_OR_EQUAL_TO] = (value, args, form) => {
38815
- if (value === "") {
38809
+ if (value === '') {
38816
38810
  return true;
38817
38811
  }
38818
38812
  return Number(value) <= args[0];
38819
38813
  };
38820
38814
 
38821
- const NUMBER_GREATER_THAN = "validator/NUMBER_GREATER_THAN";
38822
- const NUMBER_GREATER_THAN_ERROR = "error/NUMBER_GREATER_THAN";
38815
+ const NUMBER_GREATER_THAN = 'validator/NUMBER_GREATER_THAN';
38816
+ const NUMBER_GREATER_THAN_ERROR = 'error/NUMBER_GREATER_THAN';
38823
38817
  const numberGreaterThan = createValidator(
38824
38818
  NUMBER_GREATER_THAN,
38825
38819
  NUMBER_GREATER_THAN_ERROR
38826
38820
  );
38827
38821
  validatorFns[NUMBER_GREATER_THAN] = (value, args, form) => {
38828
- if (value === "") {
38822
+ if (value === '') {
38829
38823
  return true;
38830
38824
  }
38831
38825
  return Number(value) > args[0];
38832
38826
  };
38833
38827
 
38834
38828
  const NUMBER_GREATER_THAN_OR_EQUAL_TO =
38835
- "validator/NUMBER_GREATER_THAN_OR_EQUAL_TO";
38829
+ 'validator/NUMBER_GREATER_THAN_OR_EQUAL_TO';
38836
38830
  const NUMBER_GREATER_THAN_OR_EQUAL_TO_ERROR =
38837
- "error/NUMBER_GREATER_THAN_OR_EQUAL_TO";
38831
+ 'error/NUMBER_GREATER_THAN_OR_EQUAL_TO';
38838
38832
  const numberGreaterThanOrEqualTo = createValidator(
38839
38833
  NUMBER_GREATER_THAN_OR_EQUAL_TO,
38840
38834
  NUMBER_GREATER_THAN_OR_EQUAL_TO_ERROR
38841
38835
  );
38842
38836
  validatorFns[NUMBER_GREATER_THAN_OR_EQUAL_TO] = (value, args, form) => {
38843
- if (value === "") {
38837
+ if (value === '') {
38844
38838
  return true;
38845
38839
  }
38846
38840
  return Number(value) >= args[0];
38847
38841
  };
38848
38842
 
38849
- const MATCHES_FIELD = "validator/MATCHES_FIELD";
38850
- const MATCHES_FIELD_ERROR$1 = "error/MATCHES_FIELD";
38843
+ const MATCHES_FIELD = 'validator/MATCHES_FIELD';
38844
+ const MATCHES_FIELD_ERROR$1 = 'error/MATCHES_FIELD';
38851
38845
  const matchesField = createValidator(MATCHES_FIELD, MATCHES_FIELD_ERROR$1);
38852
38846
  validatorFns[MATCHES_FIELD] = (value, args, form) => {
38853
38847
  const dependentField = form[args[0]];
@@ -38860,7 +38854,7 @@ validatorFns[MATCHES_FIELD] = (value, args, form) => {
38860
38854
  return value === dependentFieldValue;
38861
38855
  };
38862
38856
 
38863
- const validateWhenErrorMessage = type =>
38857
+ const validateWhenErrorMessage = (type) =>
38864
38858
  `${type} was passed to validateWhen, but that validator type does not exist.
38865
38859
  Please check that you are only calling validator creator functions exported from
38866
38860
  redux-freeform in your form config and that you didn't forget to
@@ -38868,25 +38862,21 @@ const validateWhenErrorMessage = type =>
38868
38862
  createFormState). Also make sure you aren't passing validateWhen() to validateWhen
38869
38863
  as the primary validator.`;
38870
38864
 
38871
- const VALIDATE_WHEN = "validator/VALIDATE_WHEN";
38872
- const VALIDATE_WHEN_ERROR = "error/VALIDATE_WHEN";
38873
- const validateWhen = (
38874
- dependentValidator,
38875
- primaryValidator,
38876
- optionalFieldName
38877
- ) => ({
38865
+ const VALIDATE_WHEN = 'validator/VALIDATE_WHEN';
38866
+ const VALIDATE_WHEN_ERROR = 'error/VALIDATE_WHEN';
38867
+ const validateWhen = (dependentValidator, primaryValidator, optionalFieldName) => ({
38878
38868
  type: VALIDATE_WHEN,
38879
38869
  args: [dependentValidator, primaryValidator, optionalFieldName],
38880
- error: dependentValidator.error
38870
+ error: dependentValidator.error,
38881
38871
  });
38882
38872
  validateWhen.error = VALIDATE_WHEN_ERROR;
38883
38873
  validatorFns[VALIDATE_WHEN] = (value, args, form) => {
38884
38874
  const [dependentValidator, primaryValidator, optionalFieldName] = args;
38885
- const dependsOnOtherField = typeof optionalFieldName === "string";
38875
+ const dependsOnOtherField = typeof optionalFieldName === 'string';
38886
38876
 
38887
38877
  if (
38888
38878
  primaryValidator.type === undefined ||
38889
- typeof validatorFns[primaryValidator.type] !== "function"
38879
+ typeof validatorFns[primaryValidator.type] !== 'function'
38890
38880
  ) {
38891
38881
  throw new Error(validateWhenErrorMessage(primaryValidator.type));
38892
38882
  }
@@ -38910,26 +38900,22 @@ validatorFns[VALIDATE_WHEN] = (value, args, form) => {
38910
38900
  );
38911
38901
 
38912
38902
  return primaryPredicatePassed
38913
- ? validatorFns[dependentValidator.type](
38914
- value,
38915
- dependentValidator.args,
38916
- form
38917
- )
38903
+ ? validatorFns[dependentValidator.type](value, dependentValidator.args, form)
38918
38904
  : true;
38919
38905
  };
38920
38906
 
38921
- const validateSumErrorMessage = type =>
38907
+ const validateSumErrorMessage = (type) =>
38922
38908
  `${type} was passed to validateSum, but that validator type does not exist.
38923
38909
  Please check that you are only calling validator creator functions exported from
38924
38910
  redux-freeform in your form config and that you didn't forget to
38925
38911
  invoke the validator creator (you cannot pass the functions themselves to
38926
38912
  createFormState).`;
38927
- const VALIDATE_SUM = "validator/VALIDATE_SUM";
38928
- const VALIDATE_SUM_ERROR = "error/VALIDATE_SUM";
38913
+ const VALIDATE_SUM = 'validator/VALIDATE_SUM';
38914
+ const VALIDATE_SUM_ERROR = 'error/VALIDATE_SUM';
38929
38915
  const validateSum = (validator, fieldNamesArray) => ({
38930
38916
  type: VALIDATE_SUM,
38931
38917
  args: [validator, fieldNamesArray],
38932
- error: validator.error
38918
+ error: validator.error,
38933
38919
  });
38934
38920
  validateSum.error = VALIDATE_SUM_ERROR;
38935
38921
  validatorFns[VALIDATE_SUM] = (value, args, form) => {
@@ -38937,7 +38923,7 @@ validatorFns[VALIDATE_SUM] = (value, args, form) => {
38937
38923
 
38938
38924
  if (
38939
38925
  validator.type === undefined ||
38940
- typeof validatorFns[validator.type] !== "function"
38926
+ typeof validatorFns[validator.type] !== 'function'
38941
38927
  ) {
38942
38928
  throw new Error(validateSumErrorMessage(validator.type));
38943
38929
  }
@@ -38958,37 +38944,35 @@ validatorFns[VALIDATE_SUM] = (value, args, form) => {
38958
38944
  return validatorFns[validator.type](sum, validator.args, form);
38959
38945
  };
38960
38946
 
38961
- const HAS_LENGTH = "validator/HAS_LENGTH";
38962
- const HAS_LENGTH_ERROR = "error/HAS_LENGTH";
38947
+ const HAS_LENGTH = 'validator/HAS_LENGTH';
38948
+ const HAS_LENGTH_ERROR = 'error/HAS_LENGTH';
38963
38949
  const hasLength = createValidator(HAS_LENGTH, HAS_LENGTH_ERROR);
38964
38950
  validatorFns[HAS_LENGTH] = (value, args, form) => {
38965
- if (value === "") {
38951
+ if (value === '') {
38966
38952
  return true;
38967
38953
  }
38968
38954
  const min = args[0];
38969
38955
  const max = args[1];
38970
38956
  if (max == undefined || min == undefined) {
38971
38957
  throw new Error(
38972
- "Max and min need to be defined for hasLength, both or one of them is undefined"
38958
+ 'Max and min need to be defined for hasLength, both or one of them is undefined'
38973
38959
  );
38974
38960
  }
38975
38961
  if (max < min) {
38976
- throw new Error(
38977
- "hasLength validator was passed a min greater than the max"
38978
- );
38962
+ throw new Error('hasLength validator was passed a min greater than the max');
38979
38963
  }
38980
38964
  const valueLength = value.length;
38981
38965
  return max >= valueLength && valueLength >= min;
38982
38966
  };
38983
38967
 
38984
- const DATE_BEFORE_TODAY = "validator/DATE_BEFORE_TODAY";
38985
- const DATE_BEFORE_TODAY_ERROR = "error/DATE_BEFORE_TODAY";
38968
+ const DATE_BEFORE_TODAY = 'validator/DATE_BEFORE_TODAY';
38969
+ const DATE_BEFORE_TODAY_ERROR = 'error/DATE_BEFORE_TODAY';
38986
38970
  const dateBeforeToday = createValidator(
38987
38971
  DATE_BEFORE_TODAY,
38988
38972
  DATE_BEFORE_TODAY_ERROR
38989
38973
  );
38990
38974
  validatorFns[DATE_BEFORE_TODAY] = (value, args, form) => {
38991
- if (value === "") {
38975
+ if (value === '') {
38992
38976
  return true;
38993
38977
  }
38994
38978
  const dateFormat = args[0];
@@ -38997,7 +38981,7 @@ validatorFns[DATE_BEFORE_TODAY] = (value, args, form) => {
38997
38981
 
38998
38982
  if (dateFormat == undefined || unit == undefined) {
38999
38983
  throw new Error(
39000
- "Date format and unit need to be defined for dateBeforeToday, one or both are undefined"
38984
+ 'Date format and unit need to be defined for dateBeforeToday, one or both are undefined'
39001
38985
  );
39002
38986
  }
39003
38987
  const now = dayjs();
@@ -39009,14 +38993,14 @@ validatorFns[DATE_BEFORE_TODAY] = (value, args, form) => {
39009
38993
  return dateValue.isBefore(now, unit);
39010
38994
  };
39011
38995
 
39012
- const DATE_AFTER_TODAY = "validator/DATE_AFTER_TODAY";
39013
- const DATE_AFTER_TODAY_ERROR = "error/DATE_AFTER_TODAY";
38996
+ const DATE_AFTER_TODAY = 'validator/DATE_AFTER_TODAY';
38997
+ const DATE_AFTER_TODAY_ERROR = 'error/DATE_AFTER_TODAY';
39014
38998
  const dateAfterToday = createValidator(
39015
38999
  DATE_AFTER_TODAY,
39016
39000
  DATE_AFTER_TODAY_ERROR
39017
39001
  );
39018
39002
  validatorFns[DATE_AFTER_TODAY] = (value, args, form) => {
39019
- if (value === "") {
39003
+ if (value === '') {
39020
39004
  return true;
39021
39005
  }
39022
39006
  const dateFormat = args[0];
@@ -39025,7 +39009,7 @@ validatorFns[DATE_AFTER_TODAY] = (value, args, form) => {
39025
39009
 
39026
39010
  if (dateFormat == undefined || unit == undefined) {
39027
39011
  throw new Error(
39028
- "Date format and unit need to be defined for dateAfterToday, one or both are undefined"
39012
+ 'Date format and unit need to be defined for dateAfterToday, one or both are undefined'
39029
39013
  );
39030
39014
  }
39031
39015
  const now = dayjs();
@@ -39037,14 +39021,11 @@ validatorFns[DATE_AFTER_TODAY] = (value, args, form) => {
39037
39021
  return dateValue.isAfter(now, unit);
39038
39022
  };
39039
39023
 
39040
- const IS_VALID_MONTH = "validator/IS_VALID_MONTH";
39041
- const IS_VALID_MONTH_ERROR = "error/IS_VALID_MONTH";
39042
- const isValidMonth = createValidator(
39043
- IS_VALID_MONTH,
39044
- IS_VALID_MONTH_ERROR
39045
- );
39024
+ const IS_VALID_MONTH = 'validator/IS_VALID_MONTH';
39025
+ const IS_VALID_MONTH_ERROR = 'error/IS_VALID_MONTH';
39026
+ const isValidMonth = createValidator(IS_VALID_MONTH, IS_VALID_MONTH_ERROR);
39046
39027
  validatorFns[IS_VALID_MONTH] = (value, args, form) => {
39047
- if (value === "") {
39028
+ if (value === '') {
39048
39029
  return true;
39049
39030
  }
39050
39031
  // Function takes one argument representing the character position
@@ -39054,43 +39035,43 @@ validatorFns[IS_VALID_MONTH] = (value, args, form) => {
39054
39035
  // Only works with two digit months (01, 02, 03, etc)
39055
39036
  const monthStartPosition = parseInt(args[0]);
39056
39037
  const monthEndPosition = monthStartPosition + 2;
39057
- if (monthStartPosition === NaN) {
39058
- throw new Error("Month start position has to be a valid integer string");
39038
+ if (isNaN(monthStartPosition)) {
39039
+ throw new Error('Month start position has to be a valid integer string');
39059
39040
  }
39060
39041
  const month = parseInt(value.slice(monthStartPosition, monthEndPosition));
39061
- if (month === NaN) {
39042
+ if (isNaN(month)) {
39062
39043
  return false;
39063
39044
  }
39064
39045
  return month >= 1 && month <= 12;
39065
39046
  };
39066
39047
 
39067
- const MATCHES_REGEX = "validator/MATCHES_REGEX";
39068
- const MATCHES_REGEX_ERROR = "error/MATCHES_REGEX";
39048
+ const MATCHES_REGEX = 'validator/MATCHES_REGEX';
39049
+ const MATCHES_REGEX_ERROR = 'error/MATCHES_REGEX';
39069
39050
  const matchesRegex = createValidator(MATCHES_REGEX, MATCHES_REGEX_ERROR);
39070
39051
  validatorFns[MATCHES_REGEX] = (value, args, form) => {
39071
- if (value === "") {
39052
+ if (value === '') {
39072
39053
  return true;
39073
39054
  }
39074
39055
  return new RegExp(args[0]).test(value); // new RexExp never throws an error, no matter the input
39075
39056
  };
39076
39057
 
39077
39058
  // based on http://www.brainjar.com/js/validation/
39078
- const IS_ROUTING_NUMBER = "validator/IS_ROUTING_NUMBER";
39079
- const IS_ROUTING_NUMBER_ERROR = "error/IS_ROUTING_NUMBER";
39059
+ const IS_ROUTING_NUMBER = 'validator/IS_ROUTING_NUMBER';
39060
+ const IS_ROUTING_NUMBER_ERROR = 'error/IS_ROUTING_NUMBER';
39080
39061
  const isRoutingNumber = createValidator(
39081
39062
  IS_ROUTING_NUMBER,
39082
39063
  IS_ROUTING_NUMBER_ERROR
39083
39064
  );
39084
39065
  validatorFns[IS_ROUTING_NUMBER] = (value, args, form) => {
39085
- if (value === "") {
39066
+ if (value === '') {
39086
39067
  return true;
39087
39068
  }
39088
39069
  if (value.length != 9) {
39089
39070
  return false;
39090
39071
  }
39091
39072
  const sum = value
39092
- .split("")
39093
- .map(ch => parseInt(ch))
39073
+ .split('')
39074
+ .map((ch) => parseInt(ch))
39094
39075
  .reduce((acc, cur, idx) => {
39095
39076
  switch (idx % 3) {
39096
39077
  case 0:
@@ -39104,69 +39085,69 @@ validatorFns[IS_ROUTING_NUMBER] = (value, args, form) => {
39104
39085
  return sum != 0 && sum % 10 == 0;
39105
39086
  };
39106
39087
 
39107
- const HAS_NUMBER = "validator/HAS_NUMBER";
39108
- const HAS_NUMBER_ERROR$1 = "error/HAS_NUMBER";
39088
+ const HAS_NUMBER = 'validator/HAS_NUMBER';
39089
+ const HAS_NUMBER_ERROR$1 = 'error/HAS_NUMBER';
39109
39090
  const hasNumber = createValidator(HAS_NUMBER, HAS_NUMBER_ERROR$1);
39110
39091
  validatorFns[HAS_NUMBER] = (value, args, form) => {
39111
- if (value === "") {
39092
+ if (value === '') {
39112
39093
  return true;
39113
39094
  }
39114
39095
  return new RegExp(/[0-9]/).test(value);
39115
39096
  };
39116
39097
 
39117
- const HAS_LOWERCASE_LETTER = "validator/HAS_LOWERCASE_LETTER";
39118
- const HAS_LOWERCASE_LETTER_ERROR$1 = "error/HAS_LOWERCASE_LETTER";
39098
+ const HAS_LOWERCASE_LETTER = 'validator/HAS_LOWERCASE_LETTER';
39099
+ const HAS_LOWERCASE_LETTER_ERROR$1 = 'error/HAS_LOWERCASE_LETTER';
39119
39100
  const hasLowercaseLetter = createValidator(
39120
39101
  HAS_LOWERCASE_LETTER,
39121
39102
  HAS_LOWERCASE_LETTER_ERROR$1
39122
39103
  );
39123
39104
  validatorFns[HAS_LOWERCASE_LETTER] = (value, args, form) => {
39124
- if (value === "") {
39105
+ if (value === '') {
39125
39106
  return true;
39126
39107
  }
39127
39108
  return new RegExp(/[a-z]/).test(value);
39128
39109
  };
39129
39110
 
39130
- const HAS_UPPERCASE_LETTER = "validator/HAS_UPPERCASE_LETTER";
39131
- const HAS_UPPERCASE_LETTER_ERROR$1 = "error/HAS_UPPERCASE_LETTER";
39111
+ const HAS_UPPERCASE_LETTER = 'validator/HAS_UPPERCASE_LETTER';
39112
+ const HAS_UPPERCASE_LETTER_ERROR$1 = 'error/HAS_UPPERCASE_LETTER';
39132
39113
  const hasUppercaseLetter = createValidator(
39133
39114
  HAS_UPPERCASE_LETTER,
39134
39115
  HAS_UPPERCASE_LETTER_ERROR$1
39135
39116
  );
39136
39117
  validatorFns[HAS_UPPERCASE_LETTER] = (value, args, form) => {
39137
- if (value === "") {
39118
+ if (value === '') {
39138
39119
  return true;
39139
39120
  }
39140
39121
  return new RegExp(/[A-Z]/).test(value);
39141
39122
  };
39142
39123
 
39143
- const HAS_SPECIAL_CHARACTER = "validator/HAS_SPECIAL_CHARACTER";
39144
- const HAS_SPECIAL_CHARACTER_ERROR$1 = "error/HAS_SPECIAL_CHARACTER";
39124
+ const HAS_SPECIAL_CHARACTER = 'validator/HAS_SPECIAL_CHARACTER';
39125
+ const HAS_SPECIAL_CHARACTER_ERROR$1 = 'error/HAS_SPECIAL_CHARACTER';
39145
39126
  const hasSpecialCharacter = createValidator(
39146
39127
  HAS_SPECIAL_CHARACTER,
39147
39128
  HAS_SPECIAL_CHARACTER_ERROR$1
39148
39129
  );
39149
39130
  validatorFns[HAS_SPECIAL_CHARACTER] = (value, args, form) => {
39150
- if (value === "") {
39131
+ if (value === '') {
39151
39132
  return true;
39152
39133
  }
39153
39134
  return new RegExp(/[!@#$%^&*.?]/).test(value);
39154
39135
  };
39155
39136
 
39156
- const IS_PROBABLY_EMAIL = "validator/IS_PROBABLY_EMAIL";
39157
- const IS_PROBABLY_EMAIL_ERROR = "error/IS_PROBABLY_EMAIL";
39137
+ const IS_PROBABLY_EMAIL = 'validator/IS_PROBABLY_EMAIL';
39138
+ const IS_PROBABLY_EMAIL_ERROR = 'error/IS_PROBABLY_EMAIL';
39158
39139
  const isProbablyEmail = createValidator(
39159
39140
  IS_PROBABLY_EMAIL,
39160
39141
  IS_PROBABLY_EMAIL_ERROR
39161
39142
  );
39162
39143
  validatorFns[IS_PROBABLY_EMAIL] = (value, args, form) => {
39163
- if (value === "") {
39144
+ if (value === '') {
39164
39145
  return true;
39165
39146
  }
39166
39147
  return new RegExp(/^\S+@\S+\.\S+$/).test(value);
39167
39148
  };
39168
39149
 
39169
- const runValidatorErrorMessage = type =>
39150
+ const runValidatorErrorMessage = (type) =>
39170
39151
  `${type} was passed to runValidator, but that validator type does not exist.
39171
39152
  Please check that you are only calling validator creator functions exported from
39172
39153
  redux-freeform in your form config and that you didn't forget to
@@ -39181,1165 +39162,53 @@ const runValidator = (validator, value, form) => {
39181
39162
  return validatorFn(value, validator.args, form) ? null : validator.error;
39182
39163
  };
39183
39164
 
39184
- const _computeErrors = (fieldName, form, validators) => {
39165
+ const runFormValidators = (fieldName, form, validators) => {
39185
39166
  return validators
39186
- .map(v => runValidator(v, form[fieldName].rawValue, form))
39187
- .filter(x => x !== null);
39167
+ .map((v) => runValidator(v, form[fieldName].rawValue, form))
39168
+ .filter((x) => x !== null);
39188
39169
  };
39189
39170
 
39190
39171
  const computeConstraints = (fieldName, form) => {
39191
39172
  const constraints = form[fieldName].constraints;
39192
- return _computeErrors(fieldName, form, constraints);
39173
+ return runFormValidators(fieldName, form, constraints);
39193
39174
  };
39194
39175
 
39195
39176
  const computeErrors = (fieldName, form) => {
39196
39177
  const validators = form[fieldName].validators;
39197
- return _computeErrors(fieldName, form, validators);
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;
39302
- };
39303
-
39304
- ImmerScope.prototype.usePatches = function usePatches (patchListener) {
39305
- if (patchListener) {
39306
- this.patches = [];
39307
- this.inversePatches = [];
39308
- this.patchListener = patchListener;
39309
- }
39310
- };
39311
-
39312
- ImmerScope.prototype.revoke = function revoke$1 () {
39313
- this.leave();
39314
- this.drafts.forEach(revoke);
39315
- this.drafts = null; // Make draft-related methods throw.
39316
- };
39317
-
39318
- ImmerScope.prototype.leave = function leave () {
39319
- if (this === ImmerScope.current) {
39320
- ImmerScope.current = this.parent;
39321
- }
39322
- };
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
-
39810
- var end = base.length;
39811
-
39812
- while (end > start && base[end - 1] === copy[end + delta - 1]) {
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);
39178
+ return runFormValidators(fieldName, form, validators);
39947
39179
  };
39948
39180
 
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
- }
39181
+ const computeErrorEntries = (formState) => {
39182
+ const fields = Object.entries(formState);
39183
+ for (let entry of fields) {
39184
+ let fieldName = entry[0];
39185
+ let errors = computeErrors(fieldName, formState);
39186
+ formState[fieldName].errors = errors;
39187
+ formState[fieldName].hasErrors = errors.length > 0;
39976
39188
  }
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
39189
  };
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
39190
 
40128
- scope.revoke();
40129
-
40130
- if (scope.patches) {
40131
- scope.patchListener(scope.patches, scope.inversePatches);
39191
+ const computeDirtyEntries = (formState, changedFieldName) => {
39192
+ const fields = Object.entries(formState);
39193
+ for (let entry of fields) {
39194
+ let fieldName = entry[0];
39195
+ let field = entry[1];
39196
+ let dirty = fieldName === changedFieldName ? true : field.dirty;
39197
+ formState[fieldName].dirty = dirty;
40132
39198
  }
40133
-
40134
- return result !== NOTHING ? result : undefined;
40135
39199
  };
40136
- /**
40137
- * @internal
40138
- * Finalize a draft, returning either the unmodified base state or a modified
40139
- * copy of the base state.
40140
- */
40141
39200
 
39201
+ 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;
40142
39202
 
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 => {
39203
+ const createInitialState = (formConfig) => {
40335
39204
  let initialForm = {};
40336
39205
  const formConfigKeys = Object.keys(formConfig);
40337
39206
  for (let formKey of formConfigKeys) {
40338
39207
  initialForm[formKey] = {
40339
39208
  dirty: false,
40340
- rawValue: formConfig[formKey].defaultValue || "",
39209
+ rawValue: formConfig[formKey].defaultValue || '',
40341
39210
  validators: formConfig[formKey].validators || [],
40342
- constraints: formConfig[formKey].constraints || []
39211
+ constraints: formConfig[formKey].constraints || [],
40343
39212
  };
40344
39213
  }
40345
39214
  // Because validators require the entire form we have to do a
@@ -40350,82 +39219,99 @@ const createInitialState = formConfig => {
40350
39219
  initialForm[formKey].errors = errors;
40351
39220
  initialForm[formKey].hasErrors = errors.length > 0;
40352
39221
  }
39222
+
40353
39223
  return initialForm;
40354
39224
  };
40355
39225
 
40356
- const SET = "field/SET";
40357
- const set$2 = fieldName => value => ({
39226
+ const SET = 'field/SET';
39227
+ const set$1 = (fieldName) => (value) => ({
40358
39228
  type: SET,
40359
- payload: { fieldName, value }
39229
+ payload: { fieldName, value },
40360
39230
  });
40361
39231
 
40362
- const CLEAR = "form/CLEAR";
39232
+ const CLEAR = 'form/CLEAR';
40363
39233
  const clear = () => ({ type: CLEAR });
40364
39234
 
40365
- const ADD_VALIDATOR = "field/ADD_VALIDATOR";
40366
- const addValidator = fieldName => validator => ({
39235
+ const ADD_VALIDATOR = 'field/ADD_VALIDATOR';
39236
+ const addValidator = (fieldName) => (validator) => ({
40367
39237
  type: ADD_VALIDATOR,
40368
- payload: { fieldName, validator }
39238
+ payload: { fieldName, validator },
40369
39239
  });
40370
39240
 
40371
- const createFormReducer = formConfig => (
40372
- state = createInitialState(formConfig),
40373
- action
40374
- ) => {
40375
- switch (action.type) {
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
- }
39241
+ const REMOVE_VALIDATOR = 'field/REMOVE_VALIDATOR';
39242
+ const removeValidator = (fieldName) => (validator) => ({
39243
+ type: REMOVE_VALIDATOR,
39244
+ payload: { fieldName, validator },
39245
+ });
40388
39246
 
40389
- const fields = Object.entries(draftState);
40390
- for (let entry of fields) {
40391
- let fieldName = entry[0];
40392
- let field = entry[1];
40393
- let errors = computeErrors(fieldName, draftState);
40394
- let dirty = fieldName === changedFieldName ? true : field.dirty;
40395
- draftState[fieldName].errors = errors;
40396
- draftState[fieldName].dirty = dirty;
40397
- draftState[fieldName].hasErrors = errors.length > 0;
40398
- }
40399
- });
40400
- case CLEAR:
40401
- return createInitialState(formConfig);
40402
- case ADD_VALIDATOR:
40403
- const fieldWithOverride = action.payload.fieldName;
40404
- const newValidator = action.payload.validator;
40405
-
40406
- return produce(state, draftState => {
40407
- draftState[fieldWithOverride].validators.push(newValidator);
40408
- const fields = Object.entries(draftState);
40409
- for (let entry of fields) {
40410
- let fieldName = entry[0];
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
- };
39247
+ const CLEAR_FIELD_VALIDATORS = 'field/CLEAR_FIELD_VALIDATORS';
39248
+ const clearFieldValidators = (fieldName) => () => ({
39249
+ type: CLEAR_FIELD_VALIDATORS,
39250
+ payload: { fieldName },
39251
+ });
39252
+
39253
+ const createFormReducer =
39254
+ (formConfig) =>
39255
+ (state = createInitialState(formConfig), action) => {
39256
+ switch (action.type) {
39257
+ case SET: {
39258
+ const changedFieldName = action.payload.fieldName;
39259
+ const newRawValue = action.payload.value;
39260
+
39261
+ return produce(state, (draftState) => {
39262
+ let originalValue = draftState[changedFieldName].rawValue;
39263
+ draftState[changedFieldName].rawValue = newRawValue;
39264
+ if (computeConstraints(changedFieldName, draftState).length > 0) {
39265
+ // If the change violates constraints, revert the change
39266
+ draftState[changedFieldName].rawValue = originalValue;
39267
+ return draftState;
39268
+ }
39269
+
39270
+ computeDirtyEntries(draftState, changedFieldName);
39271
+ computeErrorEntries(draftState);
39272
+ });
39273
+ }
39274
+ case CLEAR:
39275
+ return createInitialState(formConfig);
39276
+ case ADD_VALIDATOR: {
39277
+ const fieldWithOverride = action.payload.fieldName;
39278
+ const newValidator = action.payload.validator;
39279
+
39280
+ return produce(state, (draftState) => {
39281
+ draftState[fieldWithOverride].validators.push(newValidator);
39282
+ computeErrorEntries(draftState);
39283
+ });
39284
+ }
39285
+ case REMOVE_VALIDATOR: {
39286
+ const fieldToOverride = action.payload.fieldName;
39287
+ const targetValidator = action.payload.validator;
39288
+
39289
+ return produce(state, (draftState) => {
39290
+ let fieldValidators = draftState[fieldToOverride].validators;
39291
+ draftState[fieldToOverride].validators = fieldValidators.filter(
39292
+ (validator) => validator.type !== targetValidator.type
39293
+ );
39294
+ computeErrorEntries(draftState);
39295
+ });
39296
+ }
39297
+ case CLEAR_FIELD_VALIDATORS: {
39298
+ const fieldToClear = action.payload.fieldName;
39299
+
39300
+ return produce(state, (draftState) => {
39301
+ draftState[fieldToClear].validators = [];
39302
+ computeErrorEntries(draftState);
39303
+ });
39304
+ }
39305
+ default:
39306
+ return state;
39307
+ }
39308
+ };
40423
39309
 
40424
- const createMapDispatchToProps = formConfig => {
39310
+ const createMapDispatchToProps = (formConfig) => {
40425
39311
  // Do memo-ization
40426
39312
  let cachedDispatch;
40427
39313
  let cacheValue;
40428
- return dispatch => {
39314
+ return (dispatch) => {
40429
39315
  if (dispatch == cachedDispatch) {
40430
39316
  return cacheValue;
40431
39317
  }
@@ -40434,8 +39320,11 @@ const createMapDispatchToProps = formConfig => {
40434
39320
  const keys = Object.keys(formConfig);
40435
39321
  for (let fieldName of keys) {
40436
39322
  dispatchObj.fields[fieldName] = {
40437
- set: value => dispatch(set$2(fieldName)(value)),
40438
- addValidator: validator => dispatch(addValidator(fieldName)(validator))
39323
+ set: (value) => dispatch(set$1(fieldName)(value)),
39324
+ addValidator: (validator) => dispatch(addValidator(fieldName)(validator)),
39325
+ removeValidator: (validator) =>
39326
+ dispatch(removeValidator(fieldName)(validator)),
39327
+ clear: () => dispatch(clearFieldValidators(fieldName)()),
40439
39328
  };
40440
39329
  }
40441
39330
  dispatchObj.form = { clear: () => dispatch(clear()) };
@@ -40445,12 +39334,12 @@ const createMapDispatchToProps = formConfig => {
40445
39334
  };
40446
39335
  };
40447
39336
 
40448
- const mapStateToProps = state => ({ fields: state });
39337
+ const mapStateToProps = (state) => ({ fields: state });
40449
39338
 
40450
- const createFormState = formConfig => ({
39339
+ const createFormState = (formConfig) => ({
40451
39340
  reducer: createFormReducer(formConfig),
40452
39341
  mapDispatchToProps: createMapDispatchToProps(formConfig),
40453
- mapStateToProps: mapStateToProps
39342
+ mapStateToProps: mapStateToProps,
40454
39343
  });
40455
39344
 
40456
39345
  var AddressForm = function AddressForm(_ref) {
@@ -40498,6 +39387,7 @@ var AddressForm = function AddressForm(_ref) {
40498
39387
  labelTextWhenNoError: "Country",
40499
39388
  errorMessages: countryErrorMessages,
40500
39389
  field: fields.country,
39390
+ isRequired: true,
40501
39391
  onChange: function onChange(value) {
40502
39392
  actions.fields.country.set(value); // temporary measure to not dirty fields until
40503
39393
  // we can write a reset function for fields
@@ -40522,7 +39412,8 @@ var AddressForm = function AddressForm(_ref) {
40522
39412
  return e.key === "Enter" && handleSubmit(e);
40523
39413
  },
40524
39414
  autocompleteValue: "address-line1",
40525
- dataQa: "Address"
39415
+ dataQa: "Address",
39416
+ isRequired: true
40526
39417
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
40527
39418
  labelTextWhenNoError: "Apt, Suite, Unit, Floor, etc. (Optional)",
40528
39419
  field: fields.street2,
@@ -40532,7 +39423,8 @@ var AddressForm = function AddressForm(_ref) {
40532
39423
  return e.key === "Enter" && handleSubmit(e);
40533
39424
  },
40534
39425
  autocompleteValue: "address-line2",
40535
- dataQa: "Address Line 2"
39426
+ dataQa: "Address Line 2",
39427
+ isRequired: false
40536
39428
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
40537
39429
  labelTextWhenNoError: "City",
40538
39430
  errorMessages: cityErrorMessages,
@@ -40543,7 +39435,8 @@ var AddressForm = function AddressForm(_ref) {
40543
39435
  return e.key === "Enter" && handleSubmit(e);
40544
39436
  },
40545
39437
  autocompleteValue: "address-level2",
40546
- dataQa: "City"
39438
+ dataQa: "City",
39439
+ isRequired: true
40547
39440
  }), /*#__PURE__*/React__default.createElement(FormStateDropdown, {
40548
39441
  labelTextWhenNoError: isUS ? "State" : "State or Province",
40549
39442
  errorMessages: stateProvinceErrorMessages,
@@ -40554,7 +39447,8 @@ var AddressForm = function AddressForm(_ref) {
40554
39447
  onKeyDown: function onKeyDown(e) {
40555
39448
  return e.key === "Enter" && handleSubmit(e);
40556
39449
  },
40557
- dataQa: "State or Province"
39450
+ dataQa: "State or Province",
39451
+ isRequired: true
40558
39452
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
40559
39453
  isNum: isUS,
40560
39454
  formatter: isUS ? zipFormat : null,
@@ -40567,7 +39461,8 @@ var AddressForm = function AddressForm(_ref) {
40567
39461
  return e.key === "Enter" && handleSubmit(e);
40568
39462
  },
40569
39463
  autocompleteValue: "postal-code",
40570
- dataQa: "Zip code"
39464
+ dataQa: "Zip code",
39465
+ isRequired: true
40571
39466
  }), showWalletCheckbox && /*#__PURE__*/React__default.createElement(Checkbox$1, {
40572
39467
  name: "address checkbox",
40573
39468
  title: "Save address to wallet",
@@ -43315,12 +42210,12 @@ LoginForm.mapDispatchToProps = mapDispatchToProps$5;
43315
42210
  * This source code is licensed under the MIT license found in the
43316
42211
  * LICENSE file in the root directory of this source tree.
43317
42212
  */
43318
- var b$1="function"===typeof Symbol&&Symbol.for,c$1=b$1?Symbol.for("react.element"):60103,d=b$1?Symbol.for("react.portal"):60106,e=b$1?Symbol.for("react.fragment"):60107,f$6=b$1?Symbol.for("react.strict_mode"):60108,g=b$1?Symbol.for("react.profiler"):60114,h=b$1?Symbol.for("react.provider"):60109,k=b$1?Symbol.for("react.context"):60110,l=b$1?Symbol.for("react.async_mode"):60111,m=b$1?Symbol.for("react.concurrent_mode"):60111,n=b$1?Symbol.for("react.forward_ref"):60112,p=b$1?Symbol.for("react.suspense"):60113,q=b$1?
43319
- Symbol.for("react.suspense_list"):60120,r=b$1?Symbol.for("react.memo"):60115,t=b$1?Symbol.for("react.lazy"):60116,v=b$1?Symbol.for("react.block"):60121,w=b$1?Symbol.for("react.fundamental"):60117,x=b$1?Symbol.for("react.responder"):60118,y=b$1?Symbol.for("react.scope"):60119;
43320
- function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c$1:switch(a=a.type,a){case l:case m:case e:case g:case f$6:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}var AsyncMode=l;var ConcurrentMode=m;var ContextConsumer=k;var ContextProvider=h;var Element$1=c$1;var ForwardRef=n;var Fragment=e;var Lazy=t;var Memo=r;var Portal=d;
43321
- var Profiler=g;var StrictMode=f$6;var Suspense=p;var isAsyncMode=function(a){return A(a)||z(a)===l};var isConcurrentMode=A;var isContextConsumer=function(a){return z(a)===k};var isContextProvider=function(a){return z(a)===h};var isElement=function(a){return "object"===typeof a&&null!==a&&a.$$typeof===c$1};var isForwardRef=function(a){return z(a)===n};var isFragment=function(a){return z(a)===e};var isLazy=function(a){return z(a)===t};
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$6};var isSuspense=function(a){return z(a)===p};
43323
- var isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f$6||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};var typeOf=z;
42213
+ 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?
42214
+ 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;
42215
+ 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;
42216
+ 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};
42217
+ 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};
42218
+ 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
42219
 
43325
42220
  var reactIs_production_min = {
43326
42221
  AsyncMode: AsyncMode,
@@ -43691,14 +42586,14 @@ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
43691
42586
 
43692
42587
  var ReactPropTypesSecret_1 = ReactPropTypesSecret;
43693
42588
 
43694
- var has$2 = Function.call.bind(Object.prototype.hasOwnProperty);
42589
+ var has$1 = Function.call.bind(Object.prototype.hasOwnProperty);
43695
42590
 
43696
42591
  var printWarning = function() {};
43697
42592
 
43698
42593
  if (process.env.NODE_ENV !== 'production') {
43699
42594
  var ReactPropTypesSecret$1 = ReactPropTypesSecret_1;
43700
42595
  var loggedTypeFailures = {};
43701
- var has$3 = has$2;
42596
+ var has$2 = has$1;
43702
42597
 
43703
42598
  printWarning = function(text) {
43704
42599
  var message = 'Warning: ' + text;
@@ -43728,7 +42623,7 @@ if (process.env.NODE_ENV !== 'production') {
43728
42623
  function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
43729
42624
  if (process.env.NODE_ENV !== 'production') {
43730
42625
  for (var typeSpecName in typeSpecs) {
43731
- if (has$3(typeSpecs, typeSpecName)) {
42626
+ if (has$2(typeSpecs, typeSpecName)) {
43732
42627
  var error;
43733
42628
  // Prop type validation may throw. In case they do, we don't want to
43734
42629
  // fail the render phase where it didn't fail before. So we log it.
@@ -44127,7 +43022,7 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
44127
43022
  return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
44128
43023
  }
44129
43024
  for (var key in propValue) {
44130
- if (has$2(propValue, key)) {
43025
+ if (has$1(propValue, key)) {
44131
43026
  var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret_1);
44132
43027
  if (error instanceof Error) {
44133
43028
  return error;
@@ -44164,7 +43059,7 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
44164
43059
  if (checkerResult == null) {
44165
43060
  return null;
44166
43061
  }
44167
- if (checkerResult.data && has$2(checkerResult.data, 'expectedType')) {
43062
+ if (checkerResult.data && has$1(checkerResult.data, 'expectedType')) {
44168
43063
  expectedTypes.push(checkerResult.data.expectedType);
44169
43064
  }
44170
43065
  }
@@ -44224,7 +43119,7 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
44224
43119
  var allKeys = objectAssign({}, props[propName], shapeTypes);
44225
43120
  for (var key in allKeys) {
44226
43121
  var checker = shapeTypes[key];
44227
- if (has$2(shapeTypes, key) && typeof checker !== 'function') {
43122
+ if (has$1(shapeTypes, key) && typeof checker !== 'function') {
44228
43123
  return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
44229
43124
  }
44230
43125
  if (!checker) {
@@ -44962,7 +43857,7 @@ var index_esm = /*#__PURE__*/Object.freeze({
44962
43857
  * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
44963
43858
  */
44964
43859
 
44965
- function ownKeys$3(object, enumerableOnly) {
43860
+ function ownKeys$2(object, enumerableOnly) {
44966
43861
  var keys = Object.keys(object);
44967
43862
 
44968
43863
  if (Object.getOwnPropertySymbols) {
@@ -44978,9 +43873,9 @@ function ownKeys$3(object, enumerableOnly) {
44978
43873
  function _objectSpread2$1(target) {
44979
43874
  for (var i = 1; i < arguments.length; i++) {
44980
43875
  var source = null != arguments[i] ? arguments[i] : {};
44981
- i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) {
43876
+ i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) {
44982
43877
  _defineProperty$1(target, key, source[key]);
44983
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) {
43878
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) {
44984
43879
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
44985
43880
  });
44986
43881
  }
@@ -48852,7 +47747,8 @@ var TermsAndConditionsControlV1 = function TermsAndConditionsControlV1(_ref) {
48852
47747
  title: "Terms and Conditions",
48853
47748
  error: error,
48854
47749
  checked: isChecked,
48855
- onChange: onCheck
47750
+ onChange: onCheck,
47751
+ isRequired: true
48856
47752
  }), /*#__PURE__*/React__default.createElement(Box, {
48857
47753
  padding: "0 0 0 58px"
48858
47754
  }, /*#__PURE__*/React__default.createElement(Stack, null, /*#__PURE__*/React__default.createElement(Box, {
@@ -48965,7 +47861,8 @@ var TermsAndConditionsControlV2 = function TermsAndConditionsControlV2(_ref) {
48965
47861
  checked: isChecked,
48966
47862
  onChange: onCheck,
48967
47863
  checkboxMargin: checkboxMargin,
48968
- extraStyles: "align-self: flex-start;"
47864
+ extraStyles: "align-self: flex-start;",
47865
+ isRequired: true
48969
47866
  }), /*#__PURE__*/React__default.createElement(Stack, {
48970
47867
  childGap: "0.25rem",
48971
47868
  fullHeight: true
@@ -49071,7 +47968,8 @@ var PaymentFormACH = function PaymentFormACH(_ref) {
49071
47968
  onKeyDown: function onKeyDown(e) {
49072
47969
  return e.key === "Enter" && handleSubmit(e);
49073
47970
  },
49074
- autocompleteValue: "name"
47971
+ autocompleteValue: "name",
47972
+ isRequired: true
49075
47973
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
49076
47974
  labelTextWhenNoError: "Routing number",
49077
47975
  dataQa: "Routing number",
@@ -49093,7 +47991,8 @@ var PaymentFormACH = function PaymentFormACH(_ref) {
49093
47991
  },
49094
47992
  onKeyDown: function onKeyDown(e) {
49095
47993
  return e.key === "Enter" && handleSubmit(e);
49096
- }
47994
+ },
47995
+ isRequired: true
49097
47996
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
49098
47997
  labelTextWhenNoError: "Confirm routing number",
49099
47998
  dataQa: "Confirm routing number",
@@ -49104,6 +48003,7 @@ var PaymentFormACH = function PaymentFormACH(_ref) {
49104
48003
  onKeyDown: function onKeyDown(e) {
49105
48004
  return e.key === "Enter" && handleSubmit(e);
49106
48005
  },
48006
+ isRequired: true,
49107
48007
  isNum: true
49108
48008
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
49109
48009
  labelTextWhenNoError: "Account number",
@@ -49112,6 +48012,7 @@ var PaymentFormACH = function PaymentFormACH(_ref) {
49112
48012
  field: fields.accountNumber,
49113
48013
  fieldActions: actions.fields.accountNumber,
49114
48014
  showErrors: showErrors,
48015
+ isRequired: true,
49115
48016
  isNum: true,
49116
48017
  helperModal: function helperModal() {
49117
48018
  return /*#__PURE__*/React__default.createElement(AccountAndRoutingModal$1, {
@@ -49130,6 +48031,7 @@ var PaymentFormACH = function PaymentFormACH(_ref) {
49130
48031
  }), /*#__PURE__*/React__default.createElement(FormInput$1, {
49131
48032
  labelTextWhenNoError: "Confirm account number",
49132
48033
  dataQa: "Confirm account number",
48034
+ isRequired: true,
49133
48035
  errorMessages: confirmAccountNumberErrors,
49134
48036
  field: fields.confirmAccountNumber,
49135
48037
  fieldActions: actions.fields.confirmAccountNumber,
@@ -49140,6 +48042,7 @@ var PaymentFormACH = function PaymentFormACH(_ref) {
49140
48042
  isNum: true
49141
48043
  }), allowBankAccountType && /*#__PURE__*/React__default.createElement(FormSelect$1, {
49142
48044
  labelTextWhenNoError: "Account type",
48045
+ isRequired: true,
49143
48046
  dataQa: "Account type",
49144
48047
  options: [{
49145
48048
  text: "Select account type",
@@ -49177,7 +48080,8 @@ var PaymentFormACH = function PaymentFormACH(_ref) {
49177
48080
  version: "v2",
49178
48081
  showCheckbox: false,
49179
48082
  description: "View",
49180
- terms: termsContent
48083
+ terms: termsContent,
48084
+ isRequired: true
49181
48085
  })))));
49182
48086
  };
49183
48087
 
@@ -49270,6 +48174,7 @@ var PaymentFormCard = function PaymentFormCard(_ref) {
49270
48174
  "aria-label": "Card payment"
49271
48175
  }, /*#__PURE__*/React__default.createElement(FormInputColumn, null, !hideZipCode && /*#__PURE__*/React__default.createElement(CountryDropdown, {
49272
48176
  labelTextWhenNoError: "Country",
48177
+ isRequired: true,
49273
48178
  errorMessages: countryErrorMessages,
49274
48179
  field: fields.country,
49275
48180
  onChange: function onChange(value) {
@@ -50340,51 +49245,6 @@ var Timeout = function Timeout(_ref) {
50340
49245
 
50341
49246
  var Timeout$1 = withWindowSize(Timeout);
50342
49247
 
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
49248
  var fontWeight$9 = "600";
50389
49249
  var fontColor$1 = WHITE;
50390
49250
  var textAlign$1 = "left";
@@ -50950,7 +49810,6 @@ exports.Text = Text$1;
50950
49810
  exports.Timeout = Timeout$1;
50951
49811
  exports.TimeoutImage = TimeoutImage;
50952
49812
  exports.Title = Title$1;
50953
- exports.ToastNotification = ToastNotification;
50954
49813
  exports.ToggleSwitch = ToggleSwitch$1;
50955
49814
  exports.TrashIcon = TrashIcon$1;
50956
49815
  exports.TypeaheadInput = TypeaheadInput;