@elliemae/ds-date-time-recurrence-picker 2.2.0-alpha.2 → 2.2.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/cjs/DSDateTimeRecurrenceSelector.js +195 -226
  2. package/cjs/__test__/DSDateTimeRecurrenceSelector.test.js +30 -0
  3. package/cjs/components/AlertModal/DateTimeRangeModal.js +66 -87
  4. package/cjs/components/CustomOptionRender/CustomOptionRender.js +88 -81
  5. package/cjs/components/DateTimeRangeModal/DateTimeRangeModal.js +69 -81
  6. package/cjs/components/DateTimeRangeModalImpl/DateTimeRangeModalImpl.js +149 -105
  7. package/cjs/components/DateTimeRecurenceSelectorImpl.js +172 -142
  8. package/cjs/components/DayOfMonthPicker/DayOfMonthPicker.js +51 -64
  9. package/cjs/components/DayOfYearPicker/DayOfYearPicker.js +47 -62
  10. package/cjs/components/DaysOfWeekPicker/DaysOfWeekPicker.js +56 -66
  11. package/cjs/components/EndDate/EndDate.js +49 -68
  12. package/cjs/components/FieldWrapper/FieldWrapper.js +23 -42
  13. package/cjs/components/Forms/FormField.js +7 -36
  14. package/cjs/components/Forms/FormFieldGroup.js +7 -36
  15. package/cjs/components/Forms/FormGroup.js +11 -36
  16. package/cjs/components/Forms/FormLabel.js +7 -36
  17. package/cjs/components/LabelWrapper/LabelWrapper.js +23 -42
  18. package/cjs/components/RepeatPickerInput/RepeatPickerInput.js +58 -63
  19. package/cjs/components/StartDateTime/StartDateTime.js +41 -59
  20. package/cjs/components/TimeZonePicker/TimeZonePicker.js +43 -61
  21. package/cjs/components/ValidationMessage/ValidationMessage.js +23 -40
  22. package/cjs/components/helpers/nthday.js +13 -62
  23. package/cjs/index.js +29 -36
  24. package/cjs/options/dropdownDayOfMonthOptions.js +13 -44
  25. package/cjs/options/dropdownDayOfWeekOptions.js +28 -64
  26. package/cjs/options/dropdownDayOfYearOptions.js +13 -44
  27. package/cjs/options/dropdownPreselectedOptions.js +24 -57
  28. package/cjs/options/dropdownRepeatOptions.js +24 -57
  29. package/cjs/options/dropdownTimeZoneOptions.js +32 -67
  30. package/cjs/options/endTypesOptions.js +37 -75
  31. package/esm/DSDateTimeRecurrenceSelector.js +155 -180
  32. package/esm/__test__/DSDateTimeRecurrenceSelector.test.js +24 -0
  33. package/esm/components/AlertModal/DateTimeRangeModal.js +59 -58
  34. package/esm/components/CustomOptionRender/CustomOptionRender.js +79 -49
  35. package/esm/components/DateTimeRangeModal/DateTimeRangeModal.js +61 -52
  36. package/esm/components/DateTimeRangeModalImpl/DateTimeRangeModalImpl.js +131 -67
  37. package/esm/components/DateTimeRecurenceSelectorImpl.js +163 -111
  38. package/esm/components/DayOfMonthPicker/DayOfMonthPicker.js +45 -35
  39. package/esm/components/DayOfYearPicker/DayOfYearPicker.js +41 -33
  40. package/esm/components/DaysOfWeekPicker/DaysOfWeekPicker.js +50 -37
  41. package/esm/components/EndDate/EndDate.js +42 -39
  42. package/esm/components/FieldWrapper/FieldWrapper.js +17 -13
  43. package/esm/components/Forms/FormField.js +5 -7
  44. package/esm/components/Forms/FormFieldGroup.js +5 -7
  45. package/esm/components/Forms/FormGroup.js +9 -7
  46. package/esm/components/Forms/FormLabel.js +5 -7
  47. package/esm/components/LabelWrapper/LabelWrapper.js +17 -13
  48. package/esm/components/RepeatPickerInput/RepeatPickerInput.js +50 -34
  49. package/esm/components/StartDateTime/StartDateTime.js +33 -30
  50. package/esm/components/TimeZonePicker/TimeZonePicker.js +37 -32
  51. package/esm/components/ValidationMessage/ValidationMessage.js +17 -11
  52. package/esm/components/helpers/nthday.js +6 -33
  53. package/esm/index.js +8 -7
  54. package/esm/options/dropdownDayOfMonthOptions.js +9 -15
  55. package/esm/options/dropdownDayOfWeekOptions.js +24 -35
  56. package/esm/options/dropdownDayOfYearOptions.js +9 -15
  57. package/esm/options/dropdownPreselectedOptions.js +19 -28
  58. package/esm/options/dropdownRepeatOptions.js +19 -28
  59. package/esm/options/dropdownTimeZoneOptions.js +27 -38
  60. package/esm/options/endTypesOptions.js +31 -46
  61. package/package.json +6 -6
  62. package/types/DSDateTimeRecurrenceSelector.d.ts +1 -88
  63. package/cjs/DSDateTimeRecurrenceSelector.js.map +0 -7
  64. package/cjs/components/AlertModal/DateTimeRangeModal.js.map +0 -7
  65. package/cjs/components/CustomOptionRender/CustomOptionRender.js.map +0 -7
  66. package/cjs/components/DateTimeRangeModal/DateTimeRangeModal.js.map +0 -7
  67. package/cjs/components/DateTimeRangeModalImpl/DateTimeRangeModalImpl.js.map +0 -7
  68. package/cjs/components/DateTimeRecurenceSelectorImpl.js.map +0 -7
  69. package/cjs/components/DayOfMonthPicker/DayOfMonthPicker.js.map +0 -7
  70. package/cjs/components/DayOfYearPicker/DayOfYearPicker.js.map +0 -7
  71. package/cjs/components/DaysOfWeekPicker/DaysOfWeekPicker.js.map +0 -7
  72. package/cjs/components/EndDate/EndDate.js.map +0 -7
  73. package/cjs/components/FieldWrapper/FieldWrapper.js.map +0 -7
  74. package/cjs/components/Forms/FormField.js.map +0 -7
  75. package/cjs/components/Forms/FormFieldGroup.js.map +0 -7
  76. package/cjs/components/Forms/FormGroup.js.map +0 -7
  77. package/cjs/components/Forms/FormLabel.js.map +0 -7
  78. package/cjs/components/LabelWrapper/LabelWrapper.js.map +0 -7
  79. package/cjs/components/RepeatPickerInput/RepeatPickerInput.js.map +0 -7
  80. package/cjs/components/StartDateTime/StartDateTime.js.map +0 -7
  81. package/cjs/components/TimeZonePicker/TimeZonePicker.js.map +0 -7
  82. package/cjs/components/ValidationMessage/ValidationMessage.js.map +0 -7
  83. package/cjs/components/helpers/nthday.js.map +0 -7
  84. package/cjs/index.js.map +0 -7
  85. package/cjs/options/dropdownDayOfMonthOptions.js.map +0 -7
  86. package/cjs/options/dropdownDayOfWeekOptions.js.map +0 -7
  87. package/cjs/options/dropdownDayOfYearOptions.js.map +0 -7
  88. package/cjs/options/dropdownPreselectedOptions.js.map +0 -7
  89. package/cjs/options/dropdownRepeatOptions.js.map +0 -7
  90. package/cjs/options/dropdownTimeZoneOptions.js.map +0 -7
  91. package/cjs/options/endTypesOptions.js.map +0 -7
  92. package/esm/DSDateTimeRecurrenceSelector.js.map +0 -7
  93. package/esm/components/AlertModal/DateTimeRangeModal.js.map +0 -7
  94. package/esm/components/CustomOptionRender/CustomOptionRender.js.map +0 -7
  95. package/esm/components/DateTimeRangeModal/DateTimeRangeModal.js.map +0 -7
  96. package/esm/components/DateTimeRangeModalImpl/DateTimeRangeModalImpl.js.map +0 -7
  97. package/esm/components/DateTimeRecurenceSelectorImpl.js.map +0 -7
  98. package/esm/components/DayOfMonthPicker/DayOfMonthPicker.js.map +0 -7
  99. package/esm/components/DayOfYearPicker/DayOfYearPicker.js.map +0 -7
  100. package/esm/components/DaysOfWeekPicker/DaysOfWeekPicker.js.map +0 -7
  101. package/esm/components/EndDate/EndDate.js.map +0 -7
  102. package/esm/components/FieldWrapper/FieldWrapper.js.map +0 -7
  103. package/esm/components/Forms/FormField.js.map +0 -7
  104. package/esm/components/Forms/FormFieldGroup.js.map +0 -7
  105. package/esm/components/Forms/FormGroup.js.map +0 -7
  106. package/esm/components/Forms/FormLabel.js.map +0 -7
  107. package/esm/components/LabelWrapper/LabelWrapper.js.map +0 -7
  108. package/esm/components/RepeatPickerInput/RepeatPickerInput.js.map +0 -7
  109. package/esm/components/StartDateTime/StartDateTime.js.map +0 -7
  110. package/esm/components/TimeZonePicker/TimeZonePicker.js.map +0 -7
  111. package/esm/components/ValidationMessage/ValidationMessage.js.map +0 -7
  112. package/esm/components/helpers/nthday.js.map +0 -7
  113. package/esm/index.js.map +0 -7
  114. package/esm/options/dropdownDayOfMonthOptions.js.map +0 -7
  115. package/esm/options/dropdownDayOfWeekOptions.js.map +0 -7
  116. package/esm/options/dropdownDayOfYearOptions.js.map +0 -7
  117. package/esm/options/dropdownPreselectedOptions.js.map +0 -7
  118. package/esm/options/dropdownRepeatOptions.js.map +0 -7
  119. package/esm/options/dropdownTimeZoneOptions.js.map +0 -7
  120. package/esm/options/endTypesOptions.js.map +0 -7
@@ -1,57 +1,87 @@
1
- import * as React from "react";
2
- import React2 from "react";
3
- import { DropdownRepeatOptionsTypes } from "../../options/dropdownRepeatOptions";
4
- import { endTypes } from "../../options/endTypesOptions";
1
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'react';
3
+ import { DropdownRepeatOptionsTypes } from '../../options/dropdownRepeatOptions.js';
4
+ import { endTypes } from '../../options/endTypesOptions.js';
5
+
5
6
  const typeRepeat = {
6
- [DropdownRepeatOptionsTypes.DAY]: "Daily",
7
- [DropdownRepeatOptionsTypes.WEEK]: "Weekly",
8
- [DropdownRepeatOptionsTypes.MONTH]: "Monthly",
9
- [DropdownRepeatOptionsTypes.YEAR]: "Yearly"
7
+ [DropdownRepeatOptionsTypes.DAY]: 'Daily',
8
+ [DropdownRepeatOptionsTypes.WEEK]: 'Weekly',
9
+ [DropdownRepeatOptionsTypes.MONTH]: 'Monthly',
10
+ [DropdownRepeatOptionsTypes.YEAR]: 'Yearly'
10
11
  };
11
- const CustomOptionRender = ({
12
- customRange: {
13
- startDateInput,
14
- startTimeInput,
15
- qtyRepeatPickerInput,
16
- typeRepeatPickerInput,
17
- dayWeekRepeatPickerInput,
18
- endDateInput,
19
- endTypeInput,
20
- endTimesInput,
21
- dayOfMonthRepeatPickerInput,
22
- dayOfYearRepeatPickerInput,
23
- timezonePickerInput
24
- },
25
- dayOfMonthOptionsEnable,
26
- dayOfWeekOptionsEnable,
27
- dayOfYearOptionsEnable,
28
- useTimezoneSelector
29
- }) => {
30
- let display = "Custom";
31
- if (qtyRepeatPickerInput === 1)
32
- display = typeRepeat[typeRepeatPickerInput];
33
- else
34
- display = `every ${qtyRepeatPickerInput} ${typeRepeatPickerInput}s`;
12
+ /**
13
+ * @param root0
14
+ * @param root0.customRange
15
+ * @param root0.customRange.startDateInput
16
+ * @param root0.customRange.startTimeInput
17
+ * @param root0.customRange.qtyRepeatPickerInput
18
+ * @param root0.customRange.typeRepeatPickerInput
19
+ * @param root0.customRange.dayWeekRepeatPickerInput
20
+ * @param root0.customRange.endDateInput
21
+ * @param root0.customRange.endTypeInput
22
+ * @param root0.customRange.endTimesInput
23
+ * @param root0.customRange.dayOfMonthRepeatPickerInput
24
+ * @param root0.customRange.dayOfYearRepeatPickerInput
25
+ * @param root0.customRange.timezonePickerInput
26
+ * @param root0.dayOfMonthOptionsEnable
27
+ * @param root0.dayOfWeekOptionsEnable
28
+ * @param root0.dayOfYearOptionsEnable
29
+ * @param root0.useTimezoneSelector
30
+ * @customRange {
31
+ startDateInput,
32
+ startTimeInput,
33
+ qtyRepeatPickerInput,
34
+ typeRepeatPickerInput,
35
+ dayWeekRepeatPickerInput,
36
+ endDateInput,
37
+ endTypeInput,
38
+ endTimesInput,
39
+ dayOfMonthRepeatPickerInput,
40
+ dayOfYearRepeatPickerInput,
41
+ timezonePickerInput
42
+ }
43
+ */
44
+
45
+ const CustomOptionRender = _ref => {
46
+ let {
47
+ customRange: {
48
+ startDateInput,
49
+ startTimeInput,
50
+ qtyRepeatPickerInput,
51
+ typeRepeatPickerInput,
52
+ dayWeekRepeatPickerInput,
53
+ endDateInput,
54
+ endTypeInput,
55
+ endTimesInput,
56
+ dayOfMonthRepeatPickerInput,
57
+ dayOfYearRepeatPickerInput,
58
+ timezonePickerInput
59
+ },
60
+ dayOfMonthOptionsEnable,
61
+ dayOfWeekOptionsEnable,
62
+ dayOfYearOptionsEnable,
63
+ useTimezoneSelector
64
+ } = _ref;
65
+ let display = 'Custom'; // frequency
66
+
67
+ if (qtyRepeatPickerInput === 1) display = typeRepeat[typeRepeatPickerInput];else display = "every ".concat(qtyRepeatPickerInput, " ").concat(typeRepeatPickerInput, "s"); // type
68
+
35
69
  if (typeRepeatPickerInput === DropdownRepeatOptionsTypes.WEEK) {
36
- display += dayOfWeekOptionsEnable ? ` on ${dayWeekRepeatPickerInput} ` : "";
70
+ display += dayOfWeekOptionsEnable ? " on ".concat(dayWeekRepeatPickerInput, " ") : '';
37
71
  } else if (typeRepeatPickerInput === DropdownRepeatOptionsTypes.MONTH) {
38
- display += dayOfMonthOptionsEnable ? ` ${dayOfMonthRepeatPickerInput} ` : "";
72
+ display += dayOfMonthOptionsEnable ? " ".concat(dayOfMonthRepeatPickerInput, " ") : '';
39
73
  } else if (typeRepeatPickerInput === DropdownRepeatOptionsTypes.YEAR) {
40
- display += dayOfYearOptionsEnable ? ` ${dayOfYearRepeatPickerInput} ` : "";
41
- }
74
+ display += dayOfYearOptionsEnable ? " ".concat(dayOfYearRepeatPickerInput, " ") : '';
75
+ } // start & end
76
+
77
+
42
78
  if (startDateInput && startDateInput.format) {
43
- display += ` starting on ${startDateInput.format("MM/DD/YYYY")} at ${startTimeInput.format("HH:mm A")}`;
79
+ display += " starting on ".concat(startDateInput.format('MM/DD/YYYY'), " at ").concat(startTimeInput.format('HH:mm A'));
44
80
  }
45
- if (endTypeInput === endTypes.ON)
46
- display += `, until ${endDateInput.format("MM/DD/YYYY")} `;
47
- else if (endTypeInput === endTypes.AFTER)
48
- display += `, for ${endTimesInput} times`;
49
- if (useTimezoneSelector && timezonePickerInput)
50
- display += ` [${timezonePickerInput}]`;
51
- return /* @__PURE__ */ React2.createElement("em", null, display);
52
- };
53
- var CustomOptionRender_default = CustomOptionRender;
54
- export {
55
- CustomOptionRender_default as default
81
+
82
+ if (endTypeInput === endTypes.ON) display += ", until ".concat(endDateInput.format('MM/DD/YYYY'), " ");else if (endTypeInput === endTypes.AFTER) display += ", for ".concat(endTimesInput, " times");
83
+ if (useTimezoneSelector && timezonePickerInput) display += " [".concat(timezonePickerInput, "]");
84
+ return /*#__PURE__*/_jsx("em", {}, void 0, display);
56
85
  };
57
- //# sourceMappingURL=CustomOptionRender.js.map
86
+
87
+ export { CustomOptionRender as default };
@@ -1,32 +1,41 @@
1
- import * as React from "react";
2
- import React2 from "react";
3
- import DSModal from "@elliemae/ds-modal";
4
- import DateTimeRangeModalImpl from "../DateTimeRangeModalImpl/DateTimeRangeModalImpl";
5
- class DateTimeRangeModal extends React2.Component {
1
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'core-js/modules/web.dom-collections.iterator.js';
3
+ import React from 'react';
4
+ import DSModal from '@elliemae/ds-modal';
5
+ import DateTimePredefinedRangeSelectorImpl from '../DateTimeRangeModalImpl/DateTimeRangeModalImpl.js';
6
+
7
+ class DateTimeRangeModal extends React.Component {
6
8
  constructor() {
9
+ var _this;
10
+
7
11
  super(...arguments);
12
+ _this = this;
8
13
  this.state = {
9
14
  isValid: true
10
15
  };
11
- this.updateIsValid = (...data) => {
16
+
17
+ this.updateIsValid = function () {
12
18
  const {
13
19
  onCustomDateTimeRange = () => null,
14
20
  isValidRecurrence
15
- } = this.props;
16
- onCustomDateTimeRange(...data);
17
- this.setState({
18
- isValid: isValidRecurrence(...data)
21
+ } = _this.props;
22
+ onCustomDateTimeRange(...arguments);
23
+
24
+ _this.setState({
25
+ isValid: isValidRecurrence(...arguments)
19
26
  });
20
27
  };
21
28
  }
29
+
22
30
  render() {
23
31
  const {
24
32
  isOpen = false,
25
33
  onClose = () => null,
26
- modalTitle = "Report Scheduling",
27
- confirmLabel = "Apply",
28
- rejectLabel = "Cancel",
29
- modalType = "confirm",
34
+ modalTitle = 'Report Scheduling',
35
+ // modalSize = 'medium',
36
+ confirmLabel = 'Apply',
37
+ rejectLabel = 'Cancel',
38
+ modalType = 'confirm',
30
39
  onConfirmField = () => null,
31
40
  onRejectField = () => null,
32
41
  appElement = null,
@@ -54,52 +63,52 @@ class DateTimeRangeModal extends React2.Component {
54
63
  displayMonthCustomOption,
55
64
  displayYearCustomOption
56
65
  } = this.props;
57
- const { isValid } = this.state;
58
- return /* @__PURE__ */ React2.createElement(DSModal, {
59
- appElement,
66
+ const {
67
+ isValid
68
+ } = this.state;
69
+ return /*#__PURE__*/_jsx(DSModal, {
70
+ appElement: appElement,
60
71
  centered: false,
61
- confirmLabel,
62
- isOpen,
63
- modalTitle,
64
- modalType,
65
- onClose,
72
+ confirmLabel: confirmLabel,
73
+ isOpen: isOpen,
74
+ modalTitle: modalTitle,
75
+ modalType: modalType,
76
+ onClose: onClose,
66
77
  onConfirm: onConfirmField,
67
78
  onReject: onRejectField,
68
79
  overridePropsConfirmButton: {
69
80
  disabled: !isValid
70
81
  },
71
- rejectLabel,
82
+ rejectLabel: rejectLabel,
72
83
  size: "small"
73
- }, /* @__PURE__ */ React2.createElement(DateTimeRangeModalImpl, {
74
- allowMultipleDaysOfWeek,
75
- dayOfMonthAsCurrentDateOptions,
76
- dayOfMonthOptionsEnable,
77
- dayOfWeekOptionsEnable,
78
- dayOfYearAsCurrentDateOptions,
79
- dayOfYearOptionsEnable,
80
- displayCurrentMonthYear,
81
- displayMonthCustomOption,
82
- displayYearCustomOption,
83
- dropdownDayOfMonthOptions,
84
- dropdownDayOfWeekOptions,
85
- dropdownDayOfYearOptions,
86
- dropdownRepeatOptions,
87
- endDayBlocked,
88
- endTimesOptions,
89
- endTypesOptions,
90
- isValidRecurrence,
84
+ }, void 0, /*#__PURE__*/_jsx(DateTimePredefinedRangeSelectorImpl, {
85
+ allowMultipleDaysOfWeek: allowMultipleDaysOfWeek,
86
+ dayOfMonthAsCurrentDateOptions: dayOfMonthAsCurrentDateOptions,
87
+ dayOfMonthOptionsEnable: dayOfMonthOptionsEnable,
88
+ dayOfWeekOptionsEnable: dayOfWeekOptionsEnable,
89
+ dayOfYearAsCurrentDateOptions: dayOfYearAsCurrentDateOptions,
90
+ dayOfYearOptionsEnable: dayOfYearOptionsEnable,
91
+ displayCurrentMonthYear: displayCurrentMonthYear,
92
+ displayMonthCustomOption: displayMonthCustomOption,
93
+ displayYearCustomOption: displayYearCustomOption,
94
+ dropdownDayOfMonthOptions: dropdownDayOfMonthOptions,
95
+ dropdownDayOfWeekOptions: dropdownDayOfWeekOptions,
96
+ dropdownDayOfYearOptions: dropdownDayOfYearOptions,
97
+ dropdownRepeatOptions: dropdownRepeatOptions,
98
+ endDayBlocked: endDayBlocked,
99
+ endTimesOptions: endTimesOptions,
100
+ endTypesOptions: endTypesOptions,
101
+ isValidRecurrence: isValidRecurrence,
91
102
  onCustomDateTimeRange: this.updateIsValid,
92
- rangeValue,
93
- repeatFrecuencyCustomProps,
94
- startDayBlocked,
95
- timeZoneOptions,
96
- useTimezoneSelector,
97
- validationMessage
103
+ rangeValue: rangeValue,
104
+ repeatFrecuencyCustomProps: repeatFrecuencyCustomProps,
105
+ startDayBlocked: startDayBlocked,
106
+ timeZoneOptions: timeZoneOptions,
107
+ useTimezoneSelector: useTimezoneSelector,
108
+ validationMessage: validationMessage
98
109
  }));
99
110
  }
111
+
100
112
  }
101
- var DateTimeRangeModal_default = DateTimeRangeModal;
102
- export {
103
- DateTimeRangeModal_default as default
104
- };
105
- //# sourceMappingURL=DateTimeRangeModal.js.map
113
+
114
+ export { DateTimeRangeModal as default };
@@ -1,31 +1,54 @@
1
- import * as React from "react";
2
- import React2, { Component } from "react";
3
- import moment from "moment";
4
- import { convertPropToCssClassName } from "@elliemae/ds-classnames";
5
- import DSModal from "@elliemae/ds-modal";
6
- import { DropdownRepeatOptionsTypes } from "../../options/dropdownRepeatOptions";
7
- import { dropdownTimeZoneOptions } from "../../options/dropdownTimeZoneOptions";
8
- import RepeatPickerInput from "../RepeatPickerInput/RepeatPickerInput";
9
- import DaysOfWeekPicker from "../DaysOfWeekPicker/DaysOfWeekPicker";
10
- import StartDateTime from "../StartDateTime/StartDateTime";
11
- import EndDate from "../EndDate/EndDate";
12
- import DayOfMonthPicker from "../DayOfMonthPicker/DayOfMonthPicker";
13
- import DayOfYearPicker from "../DayOfYearPicker/DayOfYearPicker";
14
- import TimeZonePicker from "../TimeZonePicker/TimeZonePicker";
15
- import ValidationMessage from "../ValidationMessage/ValidationMessage";
16
- const { cssClassName } = convertPropToCssClassName("date-time-predefined-range-selector");
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
6
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
7
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
8
+ import 'core-js/modules/es.string.replace.js';
9
+ import { Component } from 'react';
10
+ import moment from 'moment';
11
+ import { convertPropToCssClassName } from '@elliemae/ds-classnames';
12
+ import DSModal from '@elliemae/ds-modal';
13
+ import { DropdownRepeatOptionsTypes } from '../../options/dropdownRepeatOptions.js';
14
+ import { dropdownTimeZoneOptions } from '../../options/dropdownTimeZoneOptions.js';
15
+ import RepeatPickerInput from '../RepeatPickerInput/RepeatPickerInput.js';
16
+ import DaysOfWeekPicker from '../DaysOfWeekPicker/DaysOfWeekPicker.js';
17
+ import StartDateTime from '../StartDateTime/StartDateTime.js';
18
+ import EndDate from '../EndDate/EndDate.js';
19
+ import DaysOfMonthPicker from '../DayOfMonthPicker/DayOfMonthPicker.js';
20
+ import DaysOfMonthPicker$1 from '../DayOfYearPicker/DayOfYearPicker.js';
21
+ import TimeZonePicker from '../TimeZonePicker/TimeZonePicker.js';
22
+ import ValidationMessage from '../ValidationMessage/ValidationMessage.js';
23
+
24
+ var _hr, _p;
25
+
26
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27
+
28
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
29
+ const {
30
+ cssClassName
31
+ } = convertPropToCssClassName('date-time-predefined-range-selector');
32
+
17
33
  class DateTimePredefinedRangeSelectorImpl extends Component {
18
34
  constructor(props) {
19
35
  super(props);
36
+
20
37
  this.onChange = () => {
21
- const { onCustomDateTimeRange } = this.props;
38
+ const {
39
+ onCustomDateTimeRange
40
+ } = this.props;
22
41
  onCustomDateTimeRange(this.state);
23
42
  };
24
- this.onQtyRepeatPickerInput = (value) => {
25
- this.setState({ qtyRepeatPickerInput: value.replace(/[^0-9]/g, "") }, () => {
43
+
44
+ this.onQtyRepeatPickerInput = value => {
45
+ this.setState({
46
+ qtyRepeatPickerInput: value.replace(/[^0-9]/g, '')
47
+ }, () => {
26
48
  this.onChange();
27
49
  });
28
50
  };
51
+
29
52
  const {
30
53
  dropdownDayOfMonthOptions,
31
54
  dropdownDayOfWeekOptions,
@@ -50,7 +73,7 @@ class DateTimePredefinedRangeSelectorImpl extends Component {
50
73
  }
51
74
  } = props;
52
75
  this.state = {
53
- alertReplace: "",
76
+ alertReplace: '',
54
77
  alertModal: false,
55
78
  startDateInput: startDateInput || moment(),
56
79
  startTimeInput: startTimeInput || moment(),
@@ -65,63 +88,97 @@ class DateTimePredefinedRangeSelectorImpl extends Component {
65
88
  timezonePickerInput: !useTimezoneSelector ? null : timezonePickerInput || dropdownTimeZoneOptions[0].value
66
89
  };
67
90
  this.onChange();
91
+ this.onStartDateChangeInput = this.onStartDateChangeInput.bind(this);
92
+ this.onStartTimeChangeInput = this.onStartTimeChangeInput.bind(this);
93
+ this.onTimeZonePickerInput = this.onTimeZonePickerInput.bind(this);
94
+ this.onTypeRepeatPickerInput = this.onTypeRepeatPickerInput.bind(this);
95
+ this.onDayOfWeekRepeatPickerInput = this.onDayOfWeekRepeatPickerInput.bind(this);
96
+ this.onDayOfMonthRepeatChangeInput = this.onDayOfMonthRepeatChangeInput.bind(this);
97
+ this.onDayOfYearRepeatChangeInput = this.onDayOfYearRepeatChangeInput.bind(this);
98
+ this.onEndDateChangeInput = this.onEndDateChangeInput.bind(this);
99
+ this.onEndTimesChangeInput = this.onEndTimesChangeInput.bind(this);
100
+ this.onEndTypeChangeInput = this.onEndTypeChangeInput.bind(this);
68
101
  }
102
+
69
103
  onTypeRepeatPickerInput(value) {
70
- const update = { typeRepeatPickerInput: value };
104
+ const update = {
105
+ typeRepeatPickerInput: value
106
+ };
107
+
71
108
  if (value !== DropdownRepeatOptionsTypes.MONTH) {
72
- update.dayOfMonthRepeatPickerInput = void 0;
73
- update.dayOfMonthRepeatPickerKey = void 0;
109
+ update.dayOfMonthRepeatPickerInput = undefined;
110
+ update.dayOfMonthRepeatPickerKey = undefined;
74
111
  }
112
+
75
113
  if (value !== DropdownRepeatOptionsTypes.YEAR) {
76
- update.dayOfYearRepeatPickerInput = void 0;
77
- update.dayOfYearRepeatPickerKey = void 0;
114
+ update.dayOfYearRepeatPickerInput = undefined;
115
+ update.dayOfYearRepeatPickerKey = undefined;
78
116
  }
79
- this.setState({
80
- ...update
81
- }, () => {
117
+
118
+ this.setState(_objectSpread({}, update), () => {
82
119
  this.onChange();
83
120
  });
84
121
  }
122
+
85
123
  onDayOfWeekRepeatPickerInput(value) {
86
- this.setState({ dayWeekRepeatPickerInput: value }, () => {
124
+ this.setState({
125
+ dayWeekRepeatPickerInput: value
126
+ }, () => {
87
127
  this.onChange();
88
128
  });
89
129
  }
130
+
90
131
  onEndTypeChangeInput(value) {
91
- this.setState({ endTypeInput: value }, () => {
132
+ this.setState({
133
+ endTypeInput: value
134
+ }, () => {
92
135
  this.onChange();
93
136
  });
94
137
  }
138
+
95
139
  onEndTimesChangeInput(value) {
96
- this.setState({ endTimesInput: value }, () => {
140
+ this.setState({
141
+ endTimesInput: value
142
+ }, () => {
97
143
  this.onChange();
98
144
  });
99
145
  }
146
+
100
147
  onEndDateChangeInput(value) {
101
- this.setState({ endDateInput: value }, () => {
148
+ this.setState({
149
+ endDateInput: value
150
+ }, () => {
102
151
  this.onChange();
103
152
  });
104
153
  }
154
+
105
155
  onStartDateChangeInput(value) {
106
- this.setState({ startDateInput: value }, () => {
156
+ this.setState({
157
+ startDateInput: value
158
+ }, () => {
107
159
  this.onChange();
108
160
  });
109
161
  }
162
+
110
163
  onStartTimeChangeInput(value) {
111
- this.setState({ startTimeInput: value }, () => {
164
+ this.setState({
165
+ startTimeInput: value
166
+ }, () => {
112
167
  this.onChange();
113
168
  });
114
169
  }
170
+
115
171
  onDayOfMonthRepeatChangeInput(value, option) {
116
172
  this.setState({
117
173
  dayOfMonthRepeatPickerInput: value,
118
174
  dayOfMonthRepeatPickerKey: option.dayOfMonthRepeatPickerKey,
119
- alertModal: option.number > 28 || (option.numberLabel || "").includes("Fifth"),
120
- alertReplace: option.number || `${option.numberLabel} `
175
+ alertModal: option.number > 28 || (option.numberLabel || '').includes('Fifth'),
176
+ alertReplace: option.number || "".concat(option.numberLabel, " ")
121
177
  }, () => {
122
178
  this.onChange();
123
179
  });
124
180
  }
181
+
125
182
  onDayOfYearRepeatChangeInput(value, option) {
126
183
  this.setState({
127
184
  dayOfYearRepeatPickerInput: value,
@@ -130,11 +187,15 @@ class DateTimePredefinedRangeSelectorImpl extends Component {
130
187
  this.onChange();
131
188
  });
132
189
  }
190
+
133
191
  onTimeZonePickerInput(value) {
134
- this.setState({ timezonePickerInput: value }, () => {
192
+ this.setState({
193
+ timezonePickerInput: value
194
+ }, () => {
135
195
  this.onChange();
136
196
  });
137
197
  }
198
+
138
199
  render() {
139
200
  const {
140
201
  alertModal,
@@ -174,69 +235,72 @@ class DateTimePredefinedRangeSelectorImpl extends Component {
174
235
  displayMonthCustomOption,
175
236
  displayYearCustomOption
176
237
  } = this.props;
177
- return /* @__PURE__ */ React2.createElement("div", {
178
- className: `${cssClassName}`
179
- }, /* @__PURE__ */ React2.createElement(StartDateTime, {
238
+ return /*#__PURE__*/_jsx("div", {
239
+ className: "".concat(cssClassName)
240
+ }, void 0, /*#__PURE__*/_jsx(StartDateTime, {
180
241
  onStartDateChange: this.onStartDateChangeInput,
181
242
  onStartTimeChange: this.onStartTimeChangeInput,
182
243
  startDateValue: startDateInput,
183
- startDayBlocked,
244
+ startDayBlocked: startDayBlocked,
184
245
  startTimeValue: startTimeInput
185
- }), useTimezoneSelector && /* @__PURE__ */ React2.createElement(TimeZonePicker, {
246
+ }), useTimezoneSelector && /*#__PURE__*/_jsx(TimeZonePicker, {
186
247
  onTimezoneChange: this.onTimeZonePickerInput,
187
248
  timezoneOptions: timeZoneOptions,
188
249
  timezoneValue: timezonePickerInput
189
- }), /* @__PURE__ */ React2.createElement(RepeatPickerInput, {
250
+ }), /*#__PURE__*/_jsx(RepeatPickerInput, {
190
251
  onQtyChange: this.onQtyRepeatPickerInput,
191
252
  onTypeChange: this.onTypeRepeatPickerInput,
192
253
  qtyValue: qtyRepeatPickerInput,
193
- repeatFrecuencyCustomProps,
254
+ repeatFrecuencyCustomProps: repeatFrecuencyCustomProps,
194
255
  repeatOptions: dropdownRepeatOptions,
195
256
  repeatOptionsValue: typeRepeatPickerInput
196
- }), dayOfWeekOptionsEnable && typeRepeatPickerInput === DropdownRepeatOptionsTypes.WEEK && /* @__PURE__ */ React2.createElement(DaysOfWeekPicker, {
257
+ }), dayOfWeekOptionsEnable && typeRepeatPickerInput === DropdownRepeatOptionsTypes.WEEK && /*#__PURE__*/_jsx(DaysOfWeekPicker, {
197
258
  active: dayWeekRepeatPickerInput,
198
- allowMultipleDaysOfWeek,
259
+ allowMultipleDaysOfWeek: allowMultipleDaysOfWeek,
199
260
  onDayChange: this.onDayOfWeekRepeatPickerInput,
200
261
  options: dropdownDayOfWeekOptions
201
- }), dayOfMonthOptionsEnable && typeRepeatPickerInput === DropdownRepeatOptionsTypes.MONTH && /* @__PURE__ */ React2.createElement(DayOfMonthPicker, {
262
+ }), dayOfMonthOptionsEnable && typeRepeatPickerInput === DropdownRepeatOptionsTypes.MONTH && /*#__PURE__*/_jsx(DaysOfMonthPicker, {
202
263
  currentDate: startDateInput,
203
- dayOfMonthAsCurrentDateOptions,
264
+ dayOfMonthAsCurrentDateOptions: dayOfMonthAsCurrentDateOptions,
204
265
  dayOfMonthOptions: dropdownDayOfMonthOptions,
205
266
  dayOfMonthValue: dayOfMonthRepeatPickerInput,
206
- displayMonthCustomOption,
267
+ displayMonthCustomOption: displayMonthCustomOption,
207
268
  displayOptionsAsCurrentDate: displayCurrentMonthYear,
208
269
  onDayChange: this.onDayOfMonthRepeatChangeInput
209
- }), dayOfYearOptionsEnable && typeRepeatPickerInput === DropdownRepeatOptionsTypes.YEAR && /* @__PURE__ */ React2.createElement(DayOfYearPicker, {
270
+ }), dayOfYearOptionsEnable && typeRepeatPickerInput === DropdownRepeatOptionsTypes.YEAR && /*#__PURE__*/_jsx(DaysOfMonthPicker$1, {
210
271
  currentDate: startDateInput,
211
272
  dayOfMonthOptions: dropdownDayOfYearOptions,
212
273
  dayOfMonthValue: dayOfYearRepeatPickerInput,
213
- dayOfYearAsCurrentDateOptions,
274
+ dayOfYearAsCurrentDateOptions: dayOfYearAsCurrentDateOptions,
214
275
  displayOptionsAsCurrentDate: displayCurrentMonthYear,
215
- displayYearCustomOption,
276
+ displayYearCustomOption: displayYearCustomOption,
216
277
  onDayChange: this.onDayOfYearRepeatChangeInput
217
- }), /* @__PURE__ */ React2.createElement("hr", null), /* @__PURE__ */ React2.createElement(EndDate, {
278
+ }), _hr || (_hr = /*#__PURE__*/_jsx("hr", {})), /*#__PURE__*/_jsx(EndDate, {
218
279
  endDateValue: endDateInput,
219
- endDayBlocked,
220
- endTimesOptions,
280
+ endDayBlocked: endDayBlocked,
281
+ endTimesOptions: endTimesOptions,
221
282
  endTimesValue: endTimesInput,
222
- endTypesOptions,
283
+ endTypesOptions: endTypesOptions,
223
284
  endTypeValue: endTypeInput,
224
285
  onEndDateChange: this.onEndDateChangeInput,
225
286
  onEndTimesChange: this.onEndTimesChangeInput,
226
287
  onEndTypeChange: this.onEndTypeChangeInput
227
- }), /* @__PURE__ */ React2.createElement(DSModal, {
288
+ }), /*#__PURE__*/_jsx(DSModal, {
228
289
  className: "datetime-alert-modal",
229
290
  isOpen: alertModal,
230
- modalTitle: `Some months have fewer than ${alertReplace} days`,
231
- onClose: () => this.setState({ alertModal: false }),
232
- onConfirm: () => this.setState({ alertModal: false })
233
- }, /* @__PURE__ */ React2.createElement("p", null, "For these months, the occurrence will fall on the last day of the month.")), validationMessage && /* @__PURE__ */ React2.createElement(ValidationMessage, {
234
- validationMessage
291
+ modalTitle: "Some months have fewer than ".concat(alertReplace, " days") // modalType={modalType}
292
+ ,
293
+ onClose: () => this.setState({
294
+ alertModal: false
295
+ }),
296
+ onConfirm: () => this.setState({
297
+ alertModal: false
298
+ })
299
+ }, void 0, _p || (_p = /*#__PURE__*/_jsx("p", {}, void 0, "For these months, the occurrence will fall on the last day of the month."))), validationMessage && /*#__PURE__*/_jsx(ValidationMessage, {
300
+ validationMessage: validationMessage
235
301
  }));
236
302
  }
303
+
237
304
  }
238
- var DateTimeRangeModalImpl_default = DateTimePredefinedRangeSelectorImpl;
239
- export {
240
- DateTimeRangeModalImpl_default as default
241
- };
242
- //# sourceMappingURL=DateTimeRangeModalImpl.js.map
305
+
306
+ export { DateTimePredefinedRangeSelectorImpl as default };