@elliemae/ds-date-time-recurrence-picker 2.3.0-alpha.8 → 2.3.0-next.2

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 (207) hide show
  1. package/cjs/DSDateTimeRecurrenceSelector.js +199 -0
  2. package/cjs/__test__/DSDateTimeRecurrenceSelector.test.js +30 -0
  3. package/cjs/components/AlertModal/DateTimeRangeModal.js +67 -0
  4. package/cjs/components/CustomOptionRender/CustomOptionRender.js +93 -0
  5. package/cjs/components/DateTimeRangeModal/DateTimeRangeModal.js +122 -0
  6. package/cjs/components/DateTimeRangeModalImpl/DateTimeRangeModalImpl.js +315 -0
  7. package/cjs/components/DateTimeRecurenceSelectorImpl.js +284 -0
  8. package/cjs/components/DayOfMonthPicker/DayOfMonthPicker.js +74 -0
  9. package/cjs/components/DayOfYearPicker/DayOfYearPicker.js +68 -0
  10. package/cjs/components/DaysOfWeekPicker/DaysOfWeekPicker.js +68 -0
  11. package/cjs/components/EndDate/EndDate.js +50 -0
  12. package/cjs/components/FieldWrapper/FieldWrapper.js +24 -0
  13. package/cjs/components/Forms/FormField.js +7 -0
  14. package/cjs/components/Forms/FormFieldGroup.js +7 -0
  15. package/cjs/components/Forms/FormGroup.js +11 -0
  16. package/cjs/components/Forms/FormLabel.js +7 -0
  17. package/cjs/components/LabelWrapper/LabelWrapper.js +24 -0
  18. package/cjs/components/RepeatPickerInput/RepeatPickerInput.js +69 -0
  19. package/cjs/components/StartDateTime/StartDateTime.js +42 -0
  20. package/cjs/components/TimeZonePicker/TimeZonePicker.js +44 -0
  21. package/cjs/components/ValidationMessage/ValidationMessage.js +24 -0
  22. package/cjs/components/helpers/nthday.js +13 -0
  23. package/cjs/index.js +29 -0
  24. package/cjs/options/dropdownDayOfMonthOptions.js +13 -0
  25. package/cjs/options/dropdownDayOfWeekOptions.js +28 -0
  26. package/cjs/options/dropdownDayOfYearOptions.js +13 -0
  27. package/cjs/options/dropdownPreselectedOptions.js +26 -0
  28. package/cjs/options/dropdownRepeatOptions.js +26 -0
  29. package/cjs/options/dropdownTimeZoneOptions.js +34 -0
  30. package/cjs/options/endTypesOptions.js +39 -0
  31. package/esm/DSDateTimeRecurrenceSelector.js +185 -0
  32. package/esm/__test__/DSDateTimeRecurrenceSelector.test.js +24 -0
  33. package/esm/components/AlertModal/DateTimeRangeModal.js +60 -0
  34. package/esm/components/CustomOptionRender/CustomOptionRender.js +87 -0
  35. package/esm/components/DateTimeRangeModal/DateTimeRangeModal.js +114 -0
  36. package/esm/components/DateTimeRangeModalImpl/DateTimeRangeModalImpl.js +306 -0
  37. package/esm/components/DateTimeRecurenceSelectorImpl.js +277 -0
  38. package/esm/components/DayOfMonthPicker/DayOfMonthPicker.js +68 -0
  39. package/esm/components/DayOfYearPicker/DayOfYearPicker.js +62 -0
  40. package/esm/components/DaysOfWeekPicker/DaysOfWeekPicker.js +62 -0
  41. package/esm/components/EndDate/EndDate.js +43 -0
  42. package/esm/components/FieldWrapper/FieldWrapper.js +18 -0
  43. package/esm/components/Forms/FormField.js +5 -0
  44. package/esm/components/Forms/FormFieldGroup.js +5 -0
  45. package/esm/components/Forms/FormGroup.js +9 -0
  46. package/esm/components/Forms/FormLabel.js +5 -0
  47. package/esm/components/LabelWrapper/LabelWrapper.js +18 -0
  48. package/esm/components/RepeatPickerInput/RepeatPickerInput.js +61 -0
  49. package/esm/components/StartDateTime/StartDateTime.js +34 -0
  50. package/esm/components/TimeZonePicker/TimeZonePicker.js +38 -0
  51. package/esm/components/ValidationMessage/ValidationMessage.js +18 -0
  52. package/esm/components/helpers/nthday.js +6 -0
  53. package/esm/index.js +8 -0
  54. package/esm/options/dropdownDayOfMonthOptions.js +9 -0
  55. package/esm/options/dropdownDayOfWeekOptions.js +24 -0
  56. package/esm/options/dropdownDayOfYearOptions.js +9 -0
  57. package/esm/options/dropdownPreselectedOptions.js +21 -0
  58. package/esm/options/dropdownRepeatOptions.js +21 -0
  59. package/esm/options/dropdownTimeZoneOptions.js +29 -0
  60. package/esm/options/endTypesOptions.js +33 -0
  61. package/package.json +78 -80
  62. package/types/DSDateTimeRecurrenceSelector.d.ts +293 -0
  63. package/types/__test__/DSDateTimeRecurrenceSelector.test.d.ts +1 -0
  64. package/types/components/AlertModal/DateTimeRangeModal.d.ts +27 -0
  65. package/types/components/CustomOptionRender/CustomOptionRender.d.ts +53 -0
  66. package/types/components/DateTimeRangeModal/DateTimeRangeModal.d.ts +9 -0
  67. package/types/components/DateTimeRangeModalImpl/DateTimeRangeModalImpl.d.ts +18 -0
  68. package/types/components/DateTimeRecurenceSelectorImpl.d.ts +20 -0
  69. package/types/components/DayOfMonthPicker/DayOfMonthPicker.d.ts +15 -0
  70. package/types/components/DayOfYearPicker/DayOfYearPicker.d.ts +15 -0
  71. package/types/components/DaysOfWeekPicker/DaysOfWeekPicker.d.ts +12 -0
  72. package/types/components/EndDate/EndDate.d.ts +13 -0
  73. package/types/components/FieldWrapper/FieldWrapper.d.ts +5 -0
  74. package/types/components/Forms/FormField.d.ts +3 -0
  75. package/types/components/Forms/FormFieldGroup.d.ts +3 -0
  76. package/types/components/Forms/FormGroup.d.ts +6 -0
  77. package/types/components/Forms/FormLabel.d.ts +3 -0
  78. package/types/components/LabelWrapper/LabelWrapper.d.ts +5 -0
  79. package/types/components/RepeatPickerInput/RepeatPickerInput.d.ts +11 -0
  80. package/types/components/StartDateTime/StartDateTime.d.ts +9 -0
  81. package/types/components/TimeZonePicker/TimeZonePicker.d.ts +11 -0
  82. package/types/components/ValidationMessage/ValidationMessage.d.ts +5 -0
  83. package/types/components/helpers/nthday.d.ts +4 -0
  84. package/types/index.d.ts +2 -0
  85. package/types/options/dropdownDayOfMonthOptions.d.ts +4 -0
  86. package/types/options/dropdownDayOfWeekOptions.d.ts +4 -0
  87. package/types/options/dropdownDayOfYearOptions.d.ts +4 -0
  88. package/types/options/dropdownPreselectedOptions.d.ts +10 -0
  89. package/types/options/dropdownRepeatOptions.d.ts +10 -0
  90. package/types/options/dropdownTimeZoneOptions.d.ts +12 -0
  91. package/types/options/endTypesOptions.d.ts +13 -0
  92. package/dist/cjs/DSDateTimeRecurrenceSelector.js +0 -230
  93. package/dist/cjs/DSDateTimeRecurrenceSelector.js.map +0 -7
  94. package/dist/cjs/components/AlertModal/DateTimeRangeModal.js +0 -88
  95. package/dist/cjs/components/AlertModal/DateTimeRangeModal.js.map +0 -7
  96. package/dist/cjs/components/CustomOptionRender/CustomOptionRender.js +0 -86
  97. package/dist/cjs/components/CustomOptionRender/CustomOptionRender.js.map +0 -7
  98. package/dist/cjs/components/DateTimeRangeModal/DateTimeRangeModal.js +0 -134
  99. package/dist/cjs/components/DateTimeRangeModal/DateTimeRangeModal.js.map +0 -7
  100. package/dist/cjs/components/DateTimeRangeModalImpl/DateTimeRangeModalImpl.js +0 -271
  101. package/dist/cjs/components/DateTimeRangeModalImpl/DateTimeRangeModalImpl.js.map +0 -7
  102. package/dist/cjs/components/DateTimeRecurenceSelectorImpl.js +0 -254
  103. package/dist/cjs/components/DateTimeRecurenceSelectorImpl.js.map +0 -7
  104. package/dist/cjs/components/DayOfMonthPicker/DayOfMonthPicker.js +0 -87
  105. package/dist/cjs/components/DayOfMonthPicker/DayOfMonthPicker.js.map +0 -7
  106. package/dist/cjs/components/DayOfYearPicker/DayOfYearPicker.js +0 -83
  107. package/dist/cjs/components/DayOfYearPicker/DayOfYearPicker.js.map +0 -7
  108. package/dist/cjs/components/DaysOfWeekPicker/DaysOfWeekPicker.js +0 -78
  109. package/dist/cjs/components/DaysOfWeekPicker/DaysOfWeekPicker.js.map +0 -7
  110. package/dist/cjs/components/EndDate/EndDate.js +0 -69
  111. package/dist/cjs/components/EndDate/EndDate.js.map +0 -7
  112. package/dist/cjs/components/FieldWrapper/FieldWrapper.js +0 -43
  113. package/dist/cjs/components/FieldWrapper/FieldWrapper.js.map +0 -7
  114. package/dist/cjs/components/Forms/FormField.js +0 -36
  115. package/dist/cjs/components/Forms/FormField.js.map +0 -7
  116. package/dist/cjs/components/Forms/FormFieldGroup.js +0 -36
  117. package/dist/cjs/components/Forms/FormFieldGroup.js.map +0 -7
  118. package/dist/cjs/components/Forms/FormGroup.js +0 -36
  119. package/dist/cjs/components/Forms/FormGroup.js.map +0 -7
  120. package/dist/cjs/components/Forms/FormLabel.js +0 -36
  121. package/dist/cjs/components/Forms/FormLabel.js.map +0 -7
  122. package/dist/cjs/components/LabelWrapper/LabelWrapper.js +0 -43
  123. package/dist/cjs/components/LabelWrapper/LabelWrapper.js.map +0 -7
  124. package/dist/cjs/components/RepeatPickerInput/RepeatPickerInput.js +0 -74
  125. package/dist/cjs/components/RepeatPickerInput/RepeatPickerInput.js.map +0 -7
  126. package/dist/cjs/components/StartDateTime/StartDateTime.js +0 -60
  127. package/dist/cjs/components/StartDateTime/StartDateTime.js.map +0 -7
  128. package/dist/cjs/components/TimeZonePicker/TimeZonePicker.js +0 -62
  129. package/dist/cjs/components/TimeZonePicker/TimeZonePicker.js.map +0 -7
  130. package/dist/cjs/components/ValidationMessage/ValidationMessage.js +0 -41
  131. package/dist/cjs/components/ValidationMessage/ValidationMessage.js.map +0 -7
  132. package/dist/cjs/components/helpers/nthday.js +0 -62
  133. package/dist/cjs/components/helpers/nthday.js.map +0 -7
  134. package/dist/cjs/index.js +0 -36
  135. package/dist/cjs/index.js.map +0 -7
  136. package/dist/cjs/options/dropdownDayOfMonthOptions.js +0 -44
  137. package/dist/cjs/options/dropdownDayOfMonthOptions.js.map +0 -7
  138. package/dist/cjs/options/dropdownDayOfWeekOptions.js +0 -64
  139. package/dist/cjs/options/dropdownDayOfWeekOptions.js.map +0 -7
  140. package/dist/cjs/options/dropdownDayOfYearOptions.js +0 -44
  141. package/dist/cjs/options/dropdownDayOfYearOptions.js.map +0 -7
  142. package/dist/cjs/options/dropdownPreselectedOptions.js +0 -59
  143. package/dist/cjs/options/dropdownPreselectedOptions.js.map +0 -7
  144. package/dist/cjs/options/dropdownRepeatOptions.js +0 -59
  145. package/dist/cjs/options/dropdownRepeatOptions.js.map +0 -7
  146. package/dist/cjs/options/dropdownTimeZoneOptions.js +0 -69
  147. package/dist/cjs/options/dropdownTimeZoneOptions.js.map +0 -7
  148. package/dist/cjs/options/endTypesOptions.js +0 -77
  149. package/dist/cjs/options/endTypesOptions.js.map +0 -7
  150. package/dist/esm/DSDateTimeRecurrenceSelector.js +0 -210
  151. package/dist/esm/DSDateTimeRecurrenceSelector.js.map +0 -7
  152. package/dist/esm/components/AlertModal/DateTimeRangeModal.js +0 -59
  153. package/dist/esm/components/AlertModal/DateTimeRangeModal.js.map +0 -7
  154. package/dist/esm/components/CustomOptionRender/CustomOptionRender.js +0 -57
  155. package/dist/esm/components/CustomOptionRender/CustomOptionRender.js.map +0 -7
  156. package/dist/esm/components/DateTimeRangeModal/DateTimeRangeModal.js +0 -105
  157. package/dist/esm/components/DateTimeRangeModal/DateTimeRangeModal.js.map +0 -7
  158. package/dist/esm/components/DateTimeRangeModalImpl/DateTimeRangeModalImpl.js +0 -242
  159. package/dist/esm/components/DateTimeRangeModalImpl/DateTimeRangeModalImpl.js.map +0 -7
  160. package/dist/esm/components/DateTimeRecurenceSelectorImpl.js +0 -225
  161. package/dist/esm/components/DateTimeRecurenceSelectorImpl.js.map +0 -7
  162. package/dist/esm/components/DayOfMonthPicker/DayOfMonthPicker.js +0 -58
  163. package/dist/esm/components/DayOfMonthPicker/DayOfMonthPicker.js.map +0 -7
  164. package/dist/esm/components/DayOfYearPicker/DayOfYearPicker.js +0 -54
  165. package/dist/esm/components/DayOfYearPicker/DayOfYearPicker.js.map +0 -7
  166. package/dist/esm/components/DaysOfWeekPicker/DaysOfWeekPicker.js +0 -49
  167. package/dist/esm/components/DaysOfWeekPicker/DaysOfWeekPicker.js.map +0 -7
  168. package/dist/esm/components/EndDate/EndDate.js +0 -40
  169. package/dist/esm/components/EndDate/EndDate.js.map +0 -7
  170. package/dist/esm/components/FieldWrapper/FieldWrapper.js +0 -14
  171. package/dist/esm/components/FieldWrapper/FieldWrapper.js.map +0 -7
  172. package/dist/esm/components/Forms/FormField.js +0 -7
  173. package/dist/esm/components/Forms/FormField.js.map +0 -7
  174. package/dist/esm/components/Forms/FormFieldGroup.js +0 -7
  175. package/dist/esm/components/Forms/FormFieldGroup.js.map +0 -7
  176. package/dist/esm/components/Forms/FormGroup.js +0 -7
  177. package/dist/esm/components/Forms/FormGroup.js.map +0 -7
  178. package/dist/esm/components/Forms/FormLabel.js +0 -7
  179. package/dist/esm/components/Forms/FormLabel.js.map +0 -7
  180. package/dist/esm/components/LabelWrapper/LabelWrapper.js +0 -14
  181. package/dist/esm/components/LabelWrapper/LabelWrapper.js.map +0 -7
  182. package/dist/esm/components/RepeatPickerInput/RepeatPickerInput.js +0 -45
  183. package/dist/esm/components/RepeatPickerInput/RepeatPickerInput.js.map +0 -7
  184. package/dist/esm/components/StartDateTime/StartDateTime.js +0 -31
  185. package/dist/esm/components/StartDateTime/StartDateTime.js.map +0 -7
  186. package/dist/esm/components/TimeZonePicker/TimeZonePicker.js +0 -33
  187. package/dist/esm/components/TimeZonePicker/TimeZonePicker.js.map +0 -7
  188. package/dist/esm/components/ValidationMessage/ValidationMessage.js +0 -12
  189. package/dist/esm/components/ValidationMessage/ValidationMessage.js.map +0 -7
  190. package/dist/esm/components/helpers/nthday.js +0 -33
  191. package/dist/esm/components/helpers/nthday.js.map +0 -7
  192. package/dist/esm/index.js +0 -7
  193. package/dist/esm/index.js.map +0 -7
  194. package/dist/esm/options/dropdownDayOfMonthOptions.js +0 -15
  195. package/dist/esm/options/dropdownDayOfMonthOptions.js.map +0 -7
  196. package/dist/esm/options/dropdownDayOfWeekOptions.js +0 -35
  197. package/dist/esm/options/dropdownDayOfWeekOptions.js.map +0 -7
  198. package/dist/esm/options/dropdownDayOfYearOptions.js +0 -15
  199. package/dist/esm/options/dropdownDayOfYearOptions.js.map +0 -7
  200. package/dist/esm/options/dropdownPreselectedOptions.js +0 -30
  201. package/dist/esm/options/dropdownPreselectedOptions.js.map +0 -7
  202. package/dist/esm/options/dropdownRepeatOptions.js +0 -30
  203. package/dist/esm/options/dropdownRepeatOptions.js.map +0 -7
  204. package/dist/esm/options/dropdownTimeZoneOptions.js +0 -40
  205. package/dist/esm/options/dropdownTimeZoneOptions.js.map +0 -7
  206. package/dist/esm/options/endTypesOptions.js +0 -48
  207. package/dist/esm/options/endTypesOptions.js.map +0 -7
@@ -0,0 +1,315 @@
1
+ 'use strict';
2
+
3
+ var _jsx = require('@babel/runtime/helpers/jsx');
4
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
+ require('core-js/modules/es.string.replace.js');
6
+ require('core-js/modules/esnext.async-iterator.filter.js');
7
+ require('core-js/modules/esnext.iterator.constructor.js');
8
+ require('core-js/modules/esnext.iterator.filter.js');
9
+ require('core-js/modules/esnext.async-iterator.for-each.js');
10
+ require('core-js/modules/esnext.iterator.for-each.js');
11
+ var React = require('react');
12
+ var moment = require('moment');
13
+ var dsClassnames = require('@elliemae/ds-classnames');
14
+ var DSModal = require('@elliemae/ds-modal');
15
+ var dropdownRepeatOptions = require('../../options/dropdownRepeatOptions.js');
16
+ var dropdownTimeZoneOptions = require('../../options/dropdownTimeZoneOptions.js');
17
+ var RepeatPickerInput = require('../RepeatPickerInput/RepeatPickerInput.js');
18
+ var DaysOfWeekPicker = require('../DaysOfWeekPicker/DaysOfWeekPicker.js');
19
+ var StartDateTime = require('../StartDateTime/StartDateTime.js');
20
+ var EndDate = require('../EndDate/EndDate.js');
21
+ var DayOfMonthPicker = require('../DayOfMonthPicker/DayOfMonthPicker.js');
22
+ var DayOfYearPicker = require('../DayOfYearPicker/DayOfYearPicker.js');
23
+ var TimeZonePicker = require('../TimeZonePicker/TimeZonePicker.js');
24
+ var ValidationMessage = require('../ValidationMessage/ValidationMessage.js');
25
+
26
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
27
+
28
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
29
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
30
+ var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
31
+ var DSModal__default = /*#__PURE__*/_interopDefaultLegacy(DSModal);
32
+
33
+ var _hr, _p;
34
+
35
+ 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; }
36
+
37
+ 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__default["default"](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; }
38
+ const {
39
+ cssClassName
40
+ } = dsClassnames.convertPropToCssClassName('date-time-predefined-range-selector');
41
+
42
+ class DateTimePredefinedRangeSelectorImpl extends React.Component {
43
+ constructor(props) {
44
+ super(props);
45
+
46
+ this.onChange = () => {
47
+ const {
48
+ onCustomDateTimeRange
49
+ } = this.props;
50
+ onCustomDateTimeRange(this.state);
51
+ };
52
+
53
+ this.onQtyRepeatPickerInput = value => {
54
+ this.setState({
55
+ qtyRepeatPickerInput: value.replace(/[^0-9]/g, '')
56
+ }, () => {
57
+ this.onChange();
58
+ });
59
+ };
60
+
61
+ const {
62
+ dropdownDayOfMonthOptions,
63
+ dropdownDayOfWeekOptions,
64
+ dropdownDayOfYearOptions,
65
+ dropdownRepeatOptions,
66
+ dayOfMonthOptionsEnable,
67
+ dayOfWeekOptionsEnable,
68
+ dayOfYearOptionsEnable,
69
+ useTimezoneSelector,
70
+ rangeValue: {
71
+ startDateInput,
72
+ startTimeInput,
73
+ qtyRepeatPickerInput,
74
+ typeRepeatPickerInput,
75
+ dayWeekRepeatPickerInput,
76
+ endDateInput,
77
+ endTypeInput,
78
+ endTimesInput,
79
+ dayOfMonthRepeatPickerInput,
80
+ dayOfYearRepeatPickerInput,
81
+ timezonePickerInput
82
+ }
83
+ } = props;
84
+ this.state = {
85
+ alertReplace: '',
86
+ alertModal: false,
87
+ startDateInput: startDateInput || moment__default["default"](),
88
+ startTimeInput: startTimeInput || moment__default["default"](),
89
+ qtyRepeatPickerInput: qtyRepeatPickerInput || 1,
90
+ typeRepeatPickerInput: typeRepeatPickerInput || dropdownRepeatOptions[0].value,
91
+ dayWeekRepeatPickerInput: !dayOfWeekOptionsEnable ? null : dayWeekRepeatPickerInput || dropdownDayOfWeekOptions[0].value,
92
+ endDateInput: endDateInput || moment__default["default"](),
93
+ endTypeInput: endTypeInput || props.endTypesOptions[0].value,
94
+ endTimesInput: endTimesInput || props.endTimesOptions[0].value,
95
+ dayOfMonthRepeatPickerInput: !dayOfMonthOptionsEnable ? null : dayOfMonthRepeatPickerInput || dropdownDayOfMonthOptions[0].value,
96
+ dayOfYearRepeatPickerInput: !dayOfYearOptionsEnable ? null : dayOfYearRepeatPickerInput || dropdownDayOfYearOptions[0].value,
97
+ timezonePickerInput: !useTimezoneSelector ? null : timezonePickerInput || dropdownTimeZoneOptions.dropdownTimeZoneOptions[0].value
98
+ };
99
+ this.onChange();
100
+ this.onStartDateChangeInput = this.onStartDateChangeInput.bind(this);
101
+ this.onStartTimeChangeInput = this.onStartTimeChangeInput.bind(this);
102
+ this.onTimeZonePickerInput = this.onTimeZonePickerInput.bind(this);
103
+ this.onTypeRepeatPickerInput = this.onTypeRepeatPickerInput.bind(this);
104
+ this.onDayOfWeekRepeatPickerInput = this.onDayOfWeekRepeatPickerInput.bind(this);
105
+ this.onDayOfMonthRepeatChangeInput = this.onDayOfMonthRepeatChangeInput.bind(this);
106
+ this.onDayOfYearRepeatChangeInput = this.onDayOfYearRepeatChangeInput.bind(this);
107
+ this.onEndDateChangeInput = this.onEndDateChangeInput.bind(this);
108
+ this.onEndTimesChangeInput = this.onEndTimesChangeInput.bind(this);
109
+ this.onEndTypeChangeInput = this.onEndTypeChangeInput.bind(this);
110
+ }
111
+
112
+ onTypeRepeatPickerInput(value) {
113
+ const update = {
114
+ typeRepeatPickerInput: value
115
+ };
116
+
117
+ if (value !== dropdownRepeatOptions.DropdownRepeatOptionsTypes.MONTH) {
118
+ update.dayOfMonthRepeatPickerInput = undefined;
119
+ update.dayOfMonthRepeatPickerKey = undefined;
120
+ }
121
+
122
+ if (value !== dropdownRepeatOptions.DropdownRepeatOptionsTypes.YEAR) {
123
+ update.dayOfYearRepeatPickerInput = undefined;
124
+ update.dayOfYearRepeatPickerKey = undefined;
125
+ }
126
+
127
+ this.setState(_objectSpread({}, update), () => {
128
+ this.onChange();
129
+ });
130
+ }
131
+
132
+ onDayOfWeekRepeatPickerInput(value) {
133
+ this.setState({
134
+ dayWeekRepeatPickerInput: value
135
+ }, () => {
136
+ this.onChange();
137
+ });
138
+ }
139
+
140
+ onEndTypeChangeInput(value) {
141
+ this.setState({
142
+ endTypeInput: value
143
+ }, () => {
144
+ this.onChange();
145
+ });
146
+ }
147
+
148
+ onEndTimesChangeInput(value) {
149
+ this.setState({
150
+ endTimesInput: value
151
+ }, () => {
152
+ this.onChange();
153
+ });
154
+ }
155
+
156
+ onEndDateChangeInput(value) {
157
+ this.setState({
158
+ endDateInput: value
159
+ }, () => {
160
+ this.onChange();
161
+ });
162
+ }
163
+
164
+ onStartDateChangeInput(value) {
165
+ this.setState({
166
+ startDateInput: value
167
+ }, () => {
168
+ this.onChange();
169
+ });
170
+ }
171
+
172
+ onStartTimeChangeInput(value) {
173
+ this.setState({
174
+ startTimeInput: value
175
+ }, () => {
176
+ this.onChange();
177
+ });
178
+ }
179
+
180
+ onDayOfMonthRepeatChangeInput(value, option) {
181
+ this.setState({
182
+ dayOfMonthRepeatPickerInput: value,
183
+ dayOfMonthRepeatPickerKey: option.dayOfMonthRepeatPickerKey,
184
+ alertModal: option.number > 28 || (option.numberLabel || '').includes('Fifth'),
185
+ alertReplace: option.number || "".concat(option.numberLabel, " ")
186
+ }, () => {
187
+ this.onChange();
188
+ });
189
+ }
190
+
191
+ onDayOfYearRepeatChangeInput(value, option) {
192
+ this.setState({
193
+ dayOfYearRepeatPickerInput: value,
194
+ dayOfYearRepeatPickerKey: option.dayOfYearRepeatPickerKey
195
+ }, () => {
196
+ this.onChange();
197
+ });
198
+ }
199
+
200
+ onTimeZonePickerInput(value) {
201
+ this.setState({
202
+ timezonePickerInput: value
203
+ }, () => {
204
+ this.onChange();
205
+ });
206
+ }
207
+
208
+ render() {
209
+ const {
210
+ alertModal,
211
+ alertReplace,
212
+ qtyRepeatPickerInput,
213
+ typeRepeatPickerInput,
214
+ dayWeekRepeatPickerInput,
215
+ endDateInput,
216
+ endTypeInput,
217
+ endTimesInput,
218
+ startDateInput,
219
+ startTimeInput,
220
+ dayOfMonthRepeatPickerInput,
221
+ dayOfYearRepeatPickerInput,
222
+ timezonePickerInput
223
+ } = this.state;
224
+ const {
225
+ displayCurrentMonthYear,
226
+ dropdownDayOfMonthOptions,
227
+ dropdownDayOfWeekOptions,
228
+ dropdownDayOfYearOptions,
229
+ dropdownRepeatOptions: dropdownRepeatOptions$1,
230
+ dayOfMonthOptionsEnable,
231
+ dayOfWeekOptionsEnable,
232
+ dayOfYearOptionsEnable,
233
+ timeZoneOptions,
234
+ useTimezoneSelector,
235
+ allowMultipleDaysOfWeek,
236
+ endTimesOptions,
237
+ endTypesOptions,
238
+ dayOfMonthAsCurrentDateOptions,
239
+ dayOfYearAsCurrentDateOptions,
240
+ validationMessage,
241
+ endDayBlocked,
242
+ startDayBlocked,
243
+ repeatFrecuencyCustomProps,
244
+ displayMonthCustomOption,
245
+ displayYearCustomOption
246
+ } = this.props;
247
+ return /*#__PURE__*/_jsx__default["default"]("div", {
248
+ className: "".concat(cssClassName)
249
+ }, void 0, /*#__PURE__*/_jsx__default["default"](StartDateTime, {
250
+ onStartDateChange: this.onStartDateChangeInput,
251
+ onStartTimeChange: this.onStartTimeChangeInput,
252
+ startDateValue: startDateInput,
253
+ startDayBlocked: startDayBlocked,
254
+ startTimeValue: startTimeInput
255
+ }), useTimezoneSelector && /*#__PURE__*/_jsx__default["default"](TimeZonePicker, {
256
+ onTimezoneChange: this.onTimeZonePickerInput,
257
+ timezoneOptions: timeZoneOptions,
258
+ timezoneValue: timezonePickerInput
259
+ }), /*#__PURE__*/_jsx__default["default"](RepeatPickerInput, {
260
+ onQtyChange: this.onQtyRepeatPickerInput,
261
+ onTypeChange: this.onTypeRepeatPickerInput,
262
+ qtyValue: qtyRepeatPickerInput,
263
+ repeatFrecuencyCustomProps: repeatFrecuencyCustomProps,
264
+ repeatOptions: dropdownRepeatOptions$1,
265
+ repeatOptionsValue: typeRepeatPickerInput
266
+ }), dayOfWeekOptionsEnable && typeRepeatPickerInput === dropdownRepeatOptions.DropdownRepeatOptionsTypes.WEEK && /*#__PURE__*/_jsx__default["default"](DaysOfWeekPicker, {
267
+ active: dayWeekRepeatPickerInput,
268
+ allowMultipleDaysOfWeek: allowMultipleDaysOfWeek,
269
+ onDayChange: this.onDayOfWeekRepeatPickerInput,
270
+ options: dropdownDayOfWeekOptions
271
+ }), dayOfMonthOptionsEnable && typeRepeatPickerInput === dropdownRepeatOptions.DropdownRepeatOptionsTypes.MONTH && /*#__PURE__*/_jsx__default["default"](DayOfMonthPicker, {
272
+ currentDate: startDateInput,
273
+ dayOfMonthAsCurrentDateOptions: dayOfMonthAsCurrentDateOptions,
274
+ dayOfMonthOptions: dropdownDayOfMonthOptions,
275
+ dayOfMonthValue: dayOfMonthRepeatPickerInput,
276
+ displayMonthCustomOption: displayMonthCustomOption,
277
+ displayOptionsAsCurrentDate: displayCurrentMonthYear,
278
+ onDayChange: this.onDayOfMonthRepeatChangeInput
279
+ }), dayOfYearOptionsEnable && typeRepeatPickerInput === dropdownRepeatOptions.DropdownRepeatOptionsTypes.YEAR && /*#__PURE__*/_jsx__default["default"](DayOfYearPicker, {
280
+ currentDate: startDateInput,
281
+ dayOfMonthOptions: dropdownDayOfYearOptions,
282
+ dayOfMonthValue: dayOfYearRepeatPickerInput,
283
+ dayOfYearAsCurrentDateOptions: dayOfYearAsCurrentDateOptions,
284
+ displayOptionsAsCurrentDate: displayCurrentMonthYear,
285
+ displayYearCustomOption: displayYearCustomOption,
286
+ onDayChange: this.onDayOfYearRepeatChangeInput
287
+ }), _hr || (_hr = /*#__PURE__*/_jsx__default["default"]("hr", {})), /*#__PURE__*/_jsx__default["default"](EndDate, {
288
+ endDateValue: endDateInput,
289
+ endDayBlocked: endDayBlocked,
290
+ endTimesOptions: endTimesOptions,
291
+ endTimesValue: endTimesInput,
292
+ endTypesOptions: endTypesOptions,
293
+ endTypeValue: endTypeInput,
294
+ onEndDateChange: this.onEndDateChangeInput,
295
+ onEndTimesChange: this.onEndTimesChangeInput,
296
+ onEndTypeChange: this.onEndTypeChangeInput
297
+ }), /*#__PURE__*/_jsx__default["default"](DSModal__default["default"], {
298
+ className: "datetime-alert-modal",
299
+ isOpen: alertModal,
300
+ modalTitle: "Some months have fewer than ".concat(alertReplace, " days") // modalType={modalType}
301
+ ,
302
+ onClose: () => this.setState({
303
+ alertModal: false
304
+ }),
305
+ onConfirm: () => this.setState({
306
+ alertModal: false
307
+ })
308
+ }, void 0, _p || (_p = /*#__PURE__*/_jsx__default["default"]("p", {}, void 0, "For these months, the occurrence will fall on the last day of the month."))), validationMessage && /*#__PURE__*/_jsx__default["default"](ValidationMessage, {
309
+ validationMessage: validationMessage
310
+ }));
311
+ }
312
+
313
+ }
314
+
315
+ module.exports = DateTimePredefinedRangeSelectorImpl;
@@ -0,0 +1,284 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var _jsx = require('@babel/runtime/helpers/jsx');
5
+ require('core-js/modules/esnext.async-iterator.find.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.find.js');
8
+ require('core-js/modules/web.dom-collections.iterator.js');
9
+ require('core-js/modules/esnext.async-iterator.filter.js');
10
+ require('core-js/modules/esnext.iterator.filter.js');
11
+ require('core-js/modules/esnext.async-iterator.for-each.js');
12
+ require('core-js/modules/esnext.iterator.for-each.js');
13
+ var React = require('react');
14
+ var lodash = require('lodash');
15
+ require('react-dates/initialize');
16
+ var reactSelect = require('react-select');
17
+ var dsClassnames = require('@elliemae/ds-classnames');
18
+ var dsForm = require('@elliemae/ds-form');
19
+ var DateTimeRangeModal = require('./DateTimeRangeModal/DateTimeRangeModal.js');
20
+ var jsxRuntime = require('react/jsx-runtime');
21
+
22
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
+
24
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
25
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
26
+
27
+ 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; }
28
+
29
+ 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__default["default"](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; }
30
+ const {
31
+ cssClassName,
32
+ classNameElement,
33
+ classNameBlock
34
+ } = dsClassnames.convertPropToCssClassName('date-time-predefined-range-selector');
35
+
36
+ class DateTimeRecurenceSelectorImpl extends React.Component {
37
+ constructor(props) {
38
+ super(props);
39
+
40
+ this.onChange = () => {
41
+ const {
42
+ onChange
43
+ } = this.props;
44
+ const {
45
+ customRange,
46
+ selected
47
+ } = this.state;
48
+ onChange(selected, customRange);
49
+ };
50
+
51
+ this.onCustomDateTimeRange = customRange => {
52
+ this.setState({
53
+ customRange
54
+ });
55
+ };
56
+
57
+ this.onChangeDropdown = value => {
58
+ const {
59
+ dropdownPreselectedOptions
60
+ } = this.props;
61
+ const selected = dropdownPreselectedOptions.find(op => op.value === value);
62
+ const {
63
+ onChange
64
+ } = this.props;
65
+
66
+ if (!selected) {
67
+ this.setState(previousState => ({
68
+ selected: value,
69
+ previousSelection: previousState.selected
70
+ }));
71
+ this.handleOpenModal();
72
+ } else if (selected) {
73
+ onChange(value);
74
+ this.setState({
75
+ selected: value,
76
+ openModal: false
77
+ });
78
+ }
79
+ };
80
+
81
+ this.handleConfirm = () => {
82
+ const {
83
+ onConfirmField,
84
+ customOptionRender: CustomOptionRender,
85
+ dayOfMonthOptionsEnable,
86
+ dayOfWeekOptionsEnable,
87
+ dayOfYearOptionsEnable,
88
+ useTimezoneSelector,
89
+ allowMultipleDaysOfWeek
90
+ } = this.props;
91
+ const {
92
+ customRange
93
+ } = this.state;
94
+ this.props.advanceOption.label = /*#__PURE__*/_jsx__default["default"](CustomOptionRender, {
95
+ allowMultipleDaysOfWeek: allowMultipleDaysOfWeek,
96
+ customRange: customRange,
97
+ dayOfMonthOptionsEnable: dayOfMonthOptionsEnable,
98
+ dayOfWeekOptionsEnable: dayOfWeekOptionsEnable,
99
+ dayOfYearOptionsEnable: dayOfYearOptionsEnable,
100
+ useTimezoneSelector: useTimezoneSelector
101
+ });
102
+ this.onChange();
103
+ this.handleCloseModal();
104
+ onConfirmField();
105
+ };
106
+
107
+ this.handleReject = () => {
108
+ const {
109
+ onRejectField
110
+ } = this.props;
111
+ this.handleActionClose();
112
+ onRejectField();
113
+ };
114
+
115
+ this.handleActionClose = () => {
116
+ this.setState(previousState => ({
117
+ selected: previousState.previousSelection
118
+ }));
119
+ this.handleCloseModal();
120
+ };
121
+
122
+ this.handleOpenModal = () => this.setState({
123
+ openModal: true
124
+ });
125
+
126
+ this.handleCloseModal = () => {
127
+ this.setState({
128
+ openModal: false
129
+ });
130
+ setTimeout(() => document.activeElement.blur(), 0); // https://github.com/reactjs/react-modal/issues/680
131
+ };
132
+
133
+ this.initCustomRange = props.customRange;
134
+ this.state = {
135
+ // eslint-disable-next-line react/no-unused-state
136
+ previousCustomRange: _objectSpread({}, props.customRange),
137
+ openModal: props.openModal || false,
138
+ selected: props.value,
139
+ customRange: _objectSpread({}, props.customRange)
140
+ };
141
+
142
+ if (props.value === props.advanceOption.value) {
143
+ // eslint-disable-next-line no-param-reassign
144
+ props.advanceOption.label = /*#__PURE__*/_jsx__default["default"](props.customOptionRender, {
145
+ allowMultipleDaysOfWeek: props.allowMultipleDaysOfWeek,
146
+ customRange: props.customRange,
147
+ dayOfMonthOptionsEnable: props.dayOfMonthOptionsEnable,
148
+ dayOfWeekOptionsEnable: props.dayOfWeekOptionsEnable,
149
+ dayOfYearOptionsEnable: props.dayOfYearOptionsEnable,
150
+ useTimezoneSelector: props.useTimezoneSelector
151
+ });
152
+ }
153
+ }
154
+
155
+ static getDerivedStateFromProps(props, state) {
156
+ if (props.customRange && !lodash.isEqual(props.customRange, state.previousCustomRange)) {
157
+ if (props.value === props.advanceOption.value) {
158
+ // eslint-disable-next-line no-param-reassign
159
+ props.advanceOption.label = /*#__PURE__*/_jsx__default["default"](props.customOptionRender, {
160
+ allowMultipleDaysOfWeek: props.allowMultipleDaysOfWeek,
161
+ customRange: props.customRange,
162
+ dayOfMonthOptionsEnable: props.dayOfMonthOptionsEnable,
163
+ dayOfWeekOptionsEnable: props.dayOfWeekOptionsEnable,
164
+ dayOfYearOptionsEnable: props.dayOfYearOptionsEnable,
165
+ useTimezoneSelector: props.useTimezoneSelector
166
+ });
167
+ }
168
+
169
+ return {
170
+ previousCustomRange: _objectSpread({}, props.customRange),
171
+ customRange: _objectSpread({}, props.customRange),
172
+ selected: props.value
173
+ };
174
+ }
175
+
176
+ return null;
177
+ }
178
+
179
+ render() {
180
+ const {
181
+ placeholder,
182
+ dropdownPreselectedOptions,
183
+ appElement,
184
+ confirmLabel,
185
+ modalSize,
186
+ modalTitle,
187
+ modalType,
188
+ rejectLabel,
189
+ dropdownDayOfMonthOptions,
190
+ dropdownDayOfWeekOptions,
191
+ dropdownDayOfYearOptions,
192
+ dropdownRepeatOptions,
193
+ displayCurrentMonthYear,
194
+ className,
195
+ dayOfMonthOptionsEnable,
196
+ dayOfWeekOptionsEnable,
197
+ dayOfYearOptionsEnable,
198
+ timeZoneOptions,
199
+ useTimezoneSelector,
200
+ allowMultipleDaysOfWeek,
201
+ endTimesOptions,
202
+ endTypesOptions,
203
+ advanceOption,
204
+ dayOfMonthAsCurrentDateOptions,
205
+ dayOfYearAsCurrentDateOptions,
206
+ isValidRecurrence,
207
+ validationMessage,
208
+ endDayBlocked,
209
+ startDayBlocked,
210
+ repeatFrecuencyCustomProps,
211
+ displayMonthCustomOption,
212
+ displayYearCustomOption,
213
+ containerProps
214
+ } = this.props;
215
+ const {
216
+ selected,
217
+ openModal,
218
+ customRange
219
+ } = this.state;
220
+ const options = [...dropdownPreselectedOptions, advanceOption];
221
+ return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread({}, containerProps), {}, {
222
+ className: "".concat(cssClassName, " ").concat(className),
223
+ children: [/*#__PURE__*/_jsx__default["default"]("div", {
224
+ className: "".concat(classNameBlock('container-selector'))
225
+ }, void 0, /*#__PURE__*/_jsx__default["default"](dsForm.DSComboBox, {
226
+ className: "".concat(classNameElement('dropdown-field-selector')),
227
+ components: {
228
+ Option: props => /*#__PURE__*/jsxRuntime.jsx(reactSelect.components.Option, _objectSpread(_objectSpread({}, props), {}, {
229
+ allowMultipleDaysOfWeek: allowMultipleDaysOfWeek,
230
+ dayOfMonthOptionsEnable: dayOfMonthOptionsEnable,
231
+ dayOfWeekOptionsEnable: dayOfWeekOptionsEnable,
232
+ dayOfYearOptionsEnable: dayOfYearOptionsEnable,
233
+ useTimezoneSelector: useTimezoneSelector
234
+ })),
235
+ IndicatorSeparator: () => null
236
+ },
237
+ onChange: this.onChangeDropdown,
238
+ onKeyDown: this.onKeyDown,
239
+ options: options,
240
+ placeholder: placeholder,
241
+ value: selected
242
+ })), /*#__PURE__*/_jsx__default["default"](DateTimeRangeModal, {
243
+ allowMultipleDaysOfWeek: allowMultipleDaysOfWeek,
244
+ appElement: appElement,
245
+ confirmLabel: confirmLabel,
246
+ dayOfMonthAsCurrentDateOptions: dayOfMonthAsCurrentDateOptions,
247
+ dayOfMonthOptionsEnable: dayOfMonthOptionsEnable,
248
+ dayOfWeekOptionsEnable: dayOfWeekOptionsEnable,
249
+ dayOfYearAsCurrentDateOptions: dayOfYearAsCurrentDateOptions,
250
+ dayOfYearOptionsEnable: dayOfYearOptionsEnable,
251
+ displayCurrentMonthYear: displayCurrentMonthYear,
252
+ displayMonthCustomOption: displayMonthCustomOption,
253
+ displayYearCustomOption: displayYearCustomOption,
254
+ dropdownDayOfMonthOptions: dropdownDayOfMonthOptions,
255
+ dropdownDayOfWeekOptions: dropdownDayOfWeekOptions,
256
+ dropdownDayOfYearOptions: dropdownDayOfYearOptions,
257
+ dropdownRepeatOptions: dropdownRepeatOptions,
258
+ endDayBlocked: endDayBlocked,
259
+ endTimesOptions: endTimesOptions,
260
+ endTypesOptions: endTypesOptions,
261
+ isOpen: openModal,
262
+ isValidRecurrence: isValidRecurrence,
263
+ modalSize: modalSize,
264
+ modalTitle: modalTitle,
265
+ modalType: modalType,
266
+ onClose: this.handleActionClose,
267
+ onConfirmField: this.handleConfirm,
268
+ onCustomDateTimeRange: this.onCustomDateTimeRange,
269
+ onRejectField: this.handleReject,
270
+ placeholder: placeholder,
271
+ rangeValue: customRange,
272
+ rejectLabel: rejectLabel,
273
+ repeatFrecuencyCustomProps: repeatFrecuencyCustomProps,
274
+ startDayBlocked: startDayBlocked,
275
+ timeZoneOptions: timeZoneOptions,
276
+ useTimezoneSelector: useTimezoneSelector,
277
+ validationMessage: validationMessage
278
+ })]
279
+ }));
280
+ }
281
+
282
+ }
283
+
284
+ module.exports = DateTimeRecurenceSelectorImpl;
@@ -0,0 +1,74 @@
1
+ 'use strict';
2
+
3
+ var _jsx = require('@babel/runtime/helpers/jsx');
4
+ require('core-js/modules/web.dom-collections.iterator.js');
5
+ require('core-js/modules/esnext.async-iterator.find.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.find.js');
8
+ require('react');
9
+ var dsForm = require('@elliemae/ds-form');
10
+ var nthday = require('../helpers/nthday.js');
11
+ var dropdownDayOfMonthOptions = require('../../options/dropdownDayOfMonthOptions.js');
12
+ var FormLabel = require('../Forms/FormLabel.js');
13
+ var FormFieldGroup = require('../Forms/FormFieldGroup.js');
14
+ var FormGroup = require('../Forms/FormGroup.js');
15
+
16
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
+
18
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
19
+
20
+ const DaysOfMonthPicker = _ref => {
21
+ let {
22
+ onDayChange = () => null,
23
+ dayOfMonthValue = dropdownDayOfMonthOptions.dropdownDayOfMonthOptions[0].value,
24
+ dayOfMonthOptions = dropdownDayOfMonthOptions.dropdownDayOfMonthOptions,
25
+ displayOptionsAsCurrentDate = true,
26
+ currentDate = null,
27
+ inputLabel = 'On',
28
+ dayOfMonthAsCurrentDateOptions,
29
+ displayMonthCustomOption
30
+ } = _ref;
31
+ let options = dayOfMonthOptions;
32
+
33
+ if (displayOptionsAsCurrentDate) {
34
+ const numberoption = "on the ".concat(currentDate.format('Do'), " of the month");
35
+ const nthoption = "on the ".concat(nthday.nthDay(currentDate.toDate()), " ").concat(currentDate.format('dddd'), " of the month");
36
+ options = [];
37
+
38
+ if (dayOfMonthAsCurrentDateOptions.indexOf('numberOfMonth') > -1) {
39
+ options.push({
40
+ number: currentDate.format('DD'),
41
+ label: numberoption,
42
+ value: numberoption,
43
+ dayOfMonthRepeatPickerKey: 'numberOfMonth'
44
+ });
45
+ }
46
+
47
+ if (dayOfMonthAsCurrentDateOptions.indexOf('dayOfTheWeekOfMonth') > -1) {
48
+ options.push({
49
+ numberLabel: "".concat(nthday.nthDay(currentDate.toDate()), " ").concat(currentDate.format('dddd')),
50
+ label: nthoption,
51
+ value: nthoption,
52
+ dayOfMonthRepeatPickerKey: 'dayOfTheWeekOfMonth'
53
+ });
54
+ }
55
+
56
+ if (displayMonthCustomOption) {
57
+ options = [...options, ...dayOfMonthOptions];
58
+ }
59
+ }
60
+
61
+ const selected = options.find(option => option.value === dayOfMonthValue) ? dayOfMonthValue : null;
62
+
63
+ if (!selected) {
64
+ onDayChange(options[0].value, options[0]);
65
+ }
66
+
67
+ return /*#__PURE__*/_jsx__default["default"](FormGroup, {}, void 0, /*#__PURE__*/_jsx__default["default"](FormLabel, {}, void 0, inputLabel), /*#__PURE__*/_jsx__default["default"](FormFieldGroup, {}, void 0, /*#__PURE__*/_jsx__default["default"](dsForm.DSComboBox, {
68
+ onChange: value => onDayChange(value, options.find(o => o.value === value)),
69
+ options: options,
70
+ value: selected
71
+ })));
72
+ };
73
+
74
+ module.exports = DaysOfMonthPicker;