@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,62 @@
1
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'core-js/modules/web.dom-collections.iterator.js';
3
+ import 'core-js/modules/esnext.async-iterator.find.js';
4
+ import 'core-js/modules/esnext.iterator.constructor.js';
5
+ import 'core-js/modules/esnext.iterator.find.js';
6
+ import 'react';
7
+ import { DSComboBox } from '@elliemae/ds-form';
8
+ import { nthDay } from '../helpers/nthday.js';
9
+ import { dropdownDayOfMonthOptions } from '../../options/dropdownDayOfMonthOptions.js';
10
+ import FormGroup from '../Forms/FormGroup.js';
11
+ import FormLabel from '../Forms/FormLabel.js';
12
+ import FormFieldGroup from '../Forms/FormFieldGroup.js';
13
+
14
+ const DaysOfMonthPicker = _ref => {
15
+ let {
16
+ onDayChange = () => null,
17
+ dayOfMonthValue = dropdownDayOfMonthOptions[0].value,
18
+ dayOfMonthOptions = dropdownDayOfMonthOptions,
19
+ displayOptionsAsCurrentDate = true,
20
+ currentDate = null,
21
+ inputLabel = 'On',
22
+ dayOfYearAsCurrentDateOptions,
23
+ displayYearCustomOption
24
+ } = _ref;
25
+ let options = dayOfMonthOptions;
26
+
27
+ if (displayOptionsAsCurrentDate) {
28
+ const numberoption = "on the ".concat(currentDate.format('Do'), " of ").concat(currentDate.format('MMMM'));
29
+ const nthoption = "on the ".concat(nthDay(currentDate.toDate()), " ").concat(currentDate.format('dddd'), " of ").concat(currentDate.format('MMMM'));
30
+ options = [];
31
+
32
+ if (dayOfYearAsCurrentDateOptions.indexOf('numberOfYear') > -1) {
33
+ options.push({
34
+ label: numberoption,
35
+ value: numberoption,
36
+ dayOfYearRepeatPickerKey: 'numberOfYear'
37
+ });
38
+ }
39
+
40
+ if (dayOfYearAsCurrentDateOptions.indexOf('dayOfTheMonthOfYear') > -1) {
41
+ options.push({
42
+ label: nthoption,
43
+ value: nthoption,
44
+ dayOfYearRepeatPickerKey: 'dayOfTheMonthOfYear'
45
+ });
46
+ }
47
+
48
+ if (displayYearCustomOption) {
49
+ options = [...options, ...dayOfMonthOptions];
50
+ }
51
+ }
52
+
53
+ return /*#__PURE__*/_jsx(FormGroup, {}, void 0, /*#__PURE__*/_jsx(FormLabel, {}, void 0, inputLabel), /*#__PURE__*/_jsx(FormFieldGroup, {}, void 0, /*#__PURE__*/_jsx(DSComboBox, {
54
+ onChange: value => {
55
+ onDayChange(value, options.find(o => o.value === value));
56
+ },
57
+ options: options,
58
+ value: dayOfMonthValue
59
+ })));
60
+ };
61
+
62
+ export { DaysOfMonthPicker as default };
@@ -0,0 +1,62 @@
1
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'core-js/modules/esnext.async-iterator.map.js';
3
+ import 'core-js/modules/esnext.iterator.map.js';
4
+ import 'react';
5
+ import { convertPropToCssClassName } from '@elliemae/ds-classnames';
6
+ import { DSRadioGroup, DSRadio, DSCheckboxGroup, DSCheckbox } from '@elliemae/ds-form';
7
+ import { dropdownDayOfWeekOptions } from '../../options/dropdownDayOfWeekOptions.js';
8
+ import FormGroup from '../Forms/FormGroup.js';
9
+ import FormFieldGroup from '../Forms/FormFieldGroup.js';
10
+ import FormLabel from '../Forms/FormLabel.js';
11
+
12
+ const {
13
+ cssClassName
14
+ } = convertPropToCssClassName('week-days-week-days-picker');
15
+
16
+ const getActive = (allowMultipleDaysOfWeek, active) => {
17
+ if (!allowMultipleDaysOfWeek) return active;
18
+ if (Array.isArray(active)) return active;
19
+ return [active];
20
+ };
21
+
22
+ const DaysOfWeekPicker = _ref => {
23
+ let {
24
+ allowMultipleDaysOfWeek = false,
25
+ onDayChange = () => null,
26
+ active = dropdownDayOfWeekOptions[0].value,
27
+ options = dropdownDayOfWeekOptions,
28
+ inputLabel = 'On'
29
+ } = _ref;
30
+ const safeActive = getActive(allowMultipleDaysOfWeek, active);
31
+ return /*#__PURE__*/_jsx(FormGroup, {
32
+ className: cssClassName
33
+ }, void 0, /*#__PURE__*/_jsx(FormLabel, {}, void 0, inputLabel), /*#__PURE__*/_jsx(FormFieldGroup, {}, void 0, !allowMultipleDaysOfWeek && /*#__PURE__*/_jsx(DSRadioGroup, {
34
+ activeValue: safeActive,
35
+ onChange: onDayChange,
36
+ orientation: "horizontal"
37
+ }, void 0, options.map((_ref2, index) => {
38
+ let {
39
+ label,
40
+ value
41
+ } = _ref2;
42
+ return /*#__PURE__*/_jsx(DSRadio, {
43
+ labelText: label,
44
+ value: value
45
+ }, index);
46
+ })), allowMultipleDaysOfWeek && /*#__PURE__*/_jsx(DSCheckboxGroup, {
47
+ activeValue: safeActive,
48
+ onChange: onDayChange,
49
+ orientation: "horizontal"
50
+ }, void 0, options.map((_ref3, index) => {
51
+ let {
52
+ label,
53
+ value
54
+ } = _ref3;
55
+ return /*#__PURE__*/_jsx(DSCheckbox, {
56
+ labelText: label,
57
+ value: value
58
+ }, index);
59
+ }))));
60
+ };
61
+
62
+ export { DaysOfWeekPicker as default };
@@ -0,0 +1,43 @@
1
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'react';
3
+ import DSDatePicker from '@elliemae/ds-date-picker';
4
+ import { DSComboBox } from '@elliemae/ds-form';
5
+ import { endTypes } from '../../options/endTypesOptions.js';
6
+ import FormField from '../Forms/FormField.js';
7
+ import FormLabel from '../Forms/FormLabel.js';
8
+ import FormGroup from '../Forms/FormGroup.js';
9
+ import FormFieldGroup from '../Forms/FormFieldGroup.js';
10
+
11
+ var _FormLabel, _FormField;
12
+
13
+ const EndDate = _ref => {
14
+ let {
15
+ onEndDateChange = () => null,
16
+ onEndTypeChange = () => null,
17
+ onEndTimesChange = () => null,
18
+ endDateValue = null,
19
+ endTypeValue = null,
20
+ endTypesOptions = [],
21
+ endTimesOptions = [],
22
+ endTimesValue = null,
23
+ endDayBlocked
24
+ } = _ref;
25
+ return /*#__PURE__*/_jsx(FormGroup, {}, void 0, _FormLabel || (_FormLabel = /*#__PURE__*/_jsx(FormLabel, {}, void 0, "Ends")), /*#__PURE__*/_jsx(FormFieldGroup, {}, void 0, /*#__PURE__*/_jsx(FormField, {}, void 0, /*#__PURE__*/_jsx(DSComboBox, {
26
+ onChange: onEndTypeChange,
27
+ options: endTypesOptions,
28
+ value: endTypeValue
29
+ })), endTypeValue === endTypes.NEVER && (_FormField || (_FormField = /*#__PURE__*/_jsx(FormField, {}, void 0, /*#__PURE__*/_jsx("div", {})))), endTypeValue === endTypes.ON && /*#__PURE__*/_jsx(FormField, {}, void 0, /*#__PURE__*/_jsx(DSDatePicker, {
30
+ appendToBody: true,
31
+ date: endDateValue,
32
+ isDayBlocked: endDayBlocked,
33
+ onDateChange: onEndDateChange,
34
+ openDirection: "up",
35
+ zIndex: 10
36
+ })), endTypeValue === endTypes.AFTER && /*#__PURE__*/_jsx(FormField, {}, void 0, /*#__PURE__*/_jsx(DSComboBox, {
37
+ onChange: onEndTimesChange,
38
+ options: endTimesOptions,
39
+ value: endTimesValue
40
+ }))));
41
+ };
42
+
43
+ export { EndDate as default };
@@ -0,0 +1,18 @@
1
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'react';
3
+ import { convertPropToCssClassName } from '@elliemae/ds-classnames';
4
+
5
+ const {
6
+ cssClassName
7
+ } = convertPropToCssClassName('field-wrapper');
8
+
9
+ function FieldWrapper(_ref) {
10
+ let {
11
+ children
12
+ } = _ref;
13
+ return /*#__PURE__*/_jsx("div", {
14
+ className: "".concat(cssClassName)
15
+ }, void 0, children);
16
+ }
17
+
18
+ export { FieldWrapper as default };
@@ -0,0 +1,5 @@
1
+ import { aggregatedClasses } from '@elliemae/ds-classnames';
2
+
3
+ var FormField = aggregatedClasses('div')('form-field');
4
+
5
+ export { FormField as default };
@@ -0,0 +1,5 @@
1
+ import { aggregatedClasses } from '@elliemae/ds-classnames';
2
+
3
+ var FormFieldGroup = aggregatedClasses('div')('form-field-group');
4
+
5
+ export { FormFieldGroup as default };
@@ -0,0 +1,9 @@
1
+ import { aggregatedClasses } from '@elliemae/ds-classnames';
2
+
3
+ /**
4
+ * An inline/vertical group of form-items/fields described by a label/legend
5
+ */
6
+
7
+ var FormGroup = aggregatedClasses('div')('form-group');
8
+
9
+ export { FormGroup as default };
@@ -0,0 +1,5 @@
1
+ import { aggregatedClasses } from '@elliemae/ds-classnames';
2
+
3
+ var FormLabel = aggregatedClasses('label')('form-label');
4
+
5
+ export { FormLabel as default };
@@ -0,0 +1,18 @@
1
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'react';
3
+ import { convertPropToCssClassName } from '@elliemae/ds-classnames';
4
+
5
+ const {
6
+ cssClassName
7
+ } = convertPropToCssClassName('label-wrapper');
8
+
9
+ function LabelWrapper(_ref) {
10
+ let {
11
+ children
12
+ } = _ref;
13
+ return /*#__PURE__*/_jsx("div", {
14
+ className: "".concat(cssClassName)
15
+ }, void 0, children);
16
+ }
17
+
18
+ export { LabelWrapper as default };
@@ -0,0 +1,61 @@
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 _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
7
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
8
+ import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
9
+ import 'core-js/modules/web.dom-collections.iterator.js';
10
+ import { useState } from 'react';
11
+ import { convertPropToCssClassName } from '@elliemae/ds-classnames';
12
+ import { DSTextBox, DSComboBox } from '@elliemae/ds-form';
13
+ import FormGroup from '../Forms/FormGroup.js';
14
+ import FormLabel from '../Forms/FormLabel.js';
15
+ import FormFieldGroup from '../Forms/FormFieldGroup.js';
16
+ import FormField from '../Forms/FormField.js';
17
+ import { jsx } from 'react/jsx-runtime';
18
+
19
+ const _excluded = ["onChange", "onKeyDown", "value"];
20
+
21
+ 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; }
22
+
23
+ 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; }
24
+ const {
25
+ cssClassName
26
+ } = convertPropToCssClassName('repeat-picker-input-range-selector');
27
+
28
+ const RepeatPickerInput = _ref => {
29
+ let {
30
+ onQtyChange = () => null,
31
+ onTypeChange = () => null,
32
+ qtyValue = 1,
33
+ repeatOptions = [],
34
+ repeatOptionsValue = null,
35
+ repeatInputLabel = 'Repeats every',
36
+ repeatFrecuencyCustomProps = {}
37
+ } = _ref;
38
+ const [last, setLast] = useState('');
39
+
40
+ const rest = _objectWithoutProperties(repeatFrecuencyCustomProps, _excluded);
41
+
42
+ return /*#__PURE__*/_jsx(FormGroup, {
43
+ className: cssClassName
44
+ }, void 0, /*#__PURE__*/_jsx(FormLabel, {}, void 0, repeatInputLabel), /*#__PURE__*/_jsx(FormFieldGroup, {}, void 0, /*#__PURE__*/_jsx(FormField, {}, void 0, /*#__PURE__*/jsx(DSTextBox, _objectSpread({
45
+ onChange: e => {
46
+ if (last !== 69) onQtyChange(e.target.value);
47
+ },
48
+ onKeyDown: e => {
49
+ setLast(e.keyCode);
50
+ return e.keyCode !== 69;
51
+ },
52
+ type: "number",
53
+ value: qtyValue
54
+ }, rest || {}))), /*#__PURE__*/_jsx(FormField, {}, void 0, /*#__PURE__*/_jsx(DSComboBox, {
55
+ onChange: onTypeChange,
56
+ options: repeatOptions,
57
+ value: repeatOptionsValue
58
+ }))));
59
+ };
60
+
61
+ export { RepeatPickerInput as default };
@@ -0,0 +1,34 @@
1
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'react';
3
+ import DSDatePicker from '@elliemae/ds-date-picker';
4
+ import DSTimePicker from '@elliemae/ds-time-picker';
5
+ import FormLabel from '../Forms/FormLabel.js';
6
+ import FormFieldGroup from '../Forms/FormFieldGroup.js';
7
+ import FormGroup from '../Forms/FormGroup.js';
8
+ import FormField from '../Forms/FormField.js';
9
+
10
+ var _FormLabel;
11
+
12
+ const StartDateTime = _ref => {
13
+ let {
14
+ onStartDateChange = () => null,
15
+ onStartTimeChange = () => null,
16
+ startDateValue = null,
17
+ startTimeValue = null,
18
+ startDayBlocked
19
+ } = _ref;
20
+ return /*#__PURE__*/_jsx(FormGroup, {}, void 0, _FormLabel || (_FormLabel = /*#__PURE__*/_jsx(FormLabel, {}, void 0, "Starts")), /*#__PURE__*/_jsx(FormFieldGroup, {}, void 0, /*#__PURE__*/_jsx(FormField, {}, void 0, /*#__PURE__*/_jsx(DSDatePicker, {
21
+ appendToBody: true,
22
+ date: startDateValue,
23
+ isDayBlocked: startDayBlocked,
24
+ keepOpenOnDateSelect: false,
25
+ onDateChange: onStartDateChange,
26
+ zIndex: 10
27
+ })), /*#__PURE__*/_jsx(FormField, {}, void 0, /*#__PURE__*/_jsx(DSTimePicker, {
28
+ onChange: onStartTimeChange,
29
+ value: startTimeValue,
30
+ zIndex: 10
31
+ }))));
32
+ };
33
+
34
+ export { StartDateTime as default };
@@ -0,0 +1,38 @@
1
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'react';
3
+ import { convertPropToCssClassName } from '@elliemae/ds-classnames';
4
+ import { DSComboBox } from '@elliemae/ds-form';
5
+ import { dropdownTimeZoneOptions } from '../../options/dropdownTimeZoneOptions.js';
6
+ import FieldWrapper from '../FieldWrapper/FieldWrapper.js';
7
+ import LabelWrapper from '../LabelWrapper/LabelWrapper.js';
8
+
9
+ const {
10
+ cssClassName,
11
+ classNameElement
12
+ } = convertPropToCssClassName('timezone-picker-input-range-selector');
13
+
14
+ const TimeZonePicker = _ref => {
15
+ let {
16
+ onTimezoneChange = () => null,
17
+ timezoneValue = dropdownTimeZoneOptions[0].value,
18
+ timezoneOptions = dropdownTimeZoneOptions,
19
+ inputLabel = 'Time Zone'
20
+ } = _ref;
21
+ return /*#__PURE__*/_jsx("div", {
22
+ className: "".concat(cssClassName)
23
+ }, void 0, /*#__PURE__*/_jsx("div", {
24
+ className: "grid-x"
25
+ }, void 0, /*#__PURE__*/_jsx("div", {
26
+ className: "cell medium-4 large-3"
27
+ }, void 0, /*#__PURE__*/_jsx(LabelWrapper, {}, void 0, /*#__PURE__*/_jsx("div", {
28
+ className: "".concat(classNameElement('label'))
29
+ }, void 0, inputLabel))), /*#__PURE__*/_jsx("div", {
30
+ className: "cell medium-8 large-9"
31
+ }, void 0, /*#__PURE__*/_jsx(FieldWrapper, {}, void 0, /*#__PURE__*/_jsx(DSComboBox, {
32
+ onChange: onTimezoneChange,
33
+ options: timezoneOptions,
34
+ value: timezoneValue
35
+ })))));
36
+ };
37
+
38
+ export { TimeZonePicker as default };
@@ -0,0 +1,18 @@
1
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'react';
3
+ import { convertPropToCssClassName } from '@elliemae/ds-classnames';
4
+
5
+ const {
6
+ cssClassName
7
+ } = convertPropToCssClassName('recurrence-selector-validation-message');
8
+
9
+ const ValidationMessage = _ref => {
10
+ let {
11
+ validationMessage = ''
12
+ } = _ref;
13
+ return /*#__PURE__*/_jsx("div", {
14
+ className: cssClassName
15
+ }, void 0, validationMessage);
16
+ };
17
+
18
+ export { ValidationMessage as default };
@@ -0,0 +1,6 @@
1
+ const nth = ['First', 'Second', 'Third', 'Fourth', 'Fifth'];
2
+ const dayNames = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
3
+ const monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
4
+ const nthDay = date => nth[Math.floor(date.getDate() / 7)];
5
+
6
+ export { dayNames, monthNames, nth, nthDay };
package/esm/index.js ADDED
@@ -0,0 +1,8 @@
1
+ export { DSDateTimeRecurrenceSelector, DateTimeRecurenceSelectorWithSchema, DSDateTimeRecurrenceSelector as default } from './DSDateTimeRecurrenceSelector.js';
2
+ export { endTimesOptions, endTypes, endTypesOptions } from './options/endTypesOptions.js';
3
+ export { DropdownRepeatOptionsTypes, dropdownRepeatOptions } from './options/dropdownRepeatOptions.js';
4
+ export { dropdownPreselectedOptions } from './options/dropdownPreselectedOptions.js';
5
+ export { dropdownDayOfWeekOptions } from './options/dropdownDayOfWeekOptions.js';
6
+ export { dropdownDayOfMonthOptions } from './options/dropdownDayOfMonthOptions.js';
7
+ export { dropdownDayOfYearOptions } from './options/dropdownDayOfYearOptions.js';
8
+ export { DropdownTimeZoneTypes, dropdownTimeZoneOptions } from './options/dropdownTimeZoneOptions.js';
@@ -0,0 +1,9 @@
1
+ const dropdownDayOfMonthOptions = [{
2
+ label: 'on 22nd of the month',
3
+ value: 'on 22nd of the month'
4
+ }, {
5
+ label: 'on 3rd Thurday of the month',
6
+ value: 'on 3rd Thurday of the month'
7
+ }];
8
+
9
+ export { dropdownDayOfMonthOptions };
@@ -0,0 +1,24 @@
1
+ const dropdownDayOfWeekOptions = [{
2
+ label: 'M',
3
+ value: 'monday'
4
+ }, {
5
+ label: 'Tu',
6
+ value: 'tuesday'
7
+ }, {
8
+ label: 'W',
9
+ value: 'wednesday'
10
+ }, {
11
+ label: 'Th',
12
+ value: 'thursday'
13
+ }, {
14
+ label: 'F',
15
+ value: 'friday'
16
+ }, {
17
+ label: 'S',
18
+ value: 'saturday'
19
+ }, {
20
+ label: 'Su',
21
+ value: 'sunday'
22
+ }];
23
+
24
+ export { dropdownDayOfWeekOptions };
@@ -0,0 +1,9 @@
1
+ const dropdownDayOfYearOptions = [{
2
+ label: 'on 25th of October',
3
+ value: 'on 25th of October'
4
+ }, {
5
+ label: 'on 3rd Thurday of October',
6
+ value: 'on 3rd Thurday of October'
7
+ }];
8
+
9
+ export { dropdownDayOfYearOptions };
@@ -0,0 +1,21 @@
1
+ const DropdownOptionsTypes = {
2
+ NOT_REPEAT: '0',
3
+ DAILY: '1',
4
+ WEEKLY_THURSDAY: '3',
5
+ MONTHLY_22: '4'
6
+ };
7
+ const dropdownPreselectedOptions = [{
8
+ label: 'Does not repeat',
9
+ value: DropdownOptionsTypes.NOT_REPEAT
10
+ }, {
11
+ label: 'Daily',
12
+ value: DropdownOptionsTypes.DAILY
13
+ }, {
14
+ label: 'Weekly on Thursday',
15
+ value: DropdownOptionsTypes.WEEKLY_THURSDAY
16
+ }, {
17
+ label: 'Monthly on 22nd',
18
+ value: DropdownOptionsTypes.MONTHLY_22
19
+ }];
20
+
21
+ export { DropdownOptionsTypes, dropdownPreselectedOptions };
@@ -0,0 +1,21 @@
1
+ const DropdownRepeatOptionsTypes = {
2
+ DAY: 'day',
3
+ WEEK: 'week',
4
+ MONTH: 'month',
5
+ YEAR: 'year'
6
+ };
7
+ const dropdownRepeatOptions = [{
8
+ label: 'Day',
9
+ value: DropdownRepeatOptionsTypes.DAY
10
+ }, {
11
+ label: 'Week',
12
+ value: DropdownRepeatOptionsTypes.WEEK
13
+ }, {
14
+ label: 'Month',
15
+ value: DropdownRepeatOptionsTypes.MONTH
16
+ }, {
17
+ label: 'Year',
18
+ value: DropdownRepeatOptionsTypes.YEAR
19
+ }];
20
+
21
+ export { DropdownRepeatOptionsTypes, dropdownRepeatOptions };
@@ -0,0 +1,29 @@
1
+ const DropdownTimeZoneTypes = {
2
+ HST: 'HST',
3
+ AKST: 'AKST',
4
+ PST: 'PST',
5
+ MST: 'MST',
6
+ CST: 'CST',
7
+ EST: 'EST'
8
+ };
9
+ const dropdownTimeZoneOptions = [{
10
+ label: 'Eastern',
11
+ value: DropdownTimeZoneTypes.EST
12
+ }, {
13
+ label: 'Central',
14
+ value: DropdownTimeZoneTypes.CST
15
+ }, {
16
+ label: 'Mountain',
17
+ value: DropdownTimeZoneTypes.MST
18
+ }, {
19
+ label: 'Pacific',
20
+ value: DropdownTimeZoneTypes.PST
21
+ }, {
22
+ label: 'Alaska',
23
+ value: DropdownTimeZoneTypes.AKST
24
+ }, {
25
+ label: 'Hawaii–Aleutian',
26
+ value: DropdownTimeZoneTypes.HST
27
+ }];
28
+
29
+ export { DropdownTimeZoneTypes, dropdownTimeZoneOptions };
@@ -0,0 +1,33 @@
1
+ const endTypes = {
2
+ NEVER: 'never',
3
+ ON: 'on',
4
+ AFTER: 'after'
5
+ };
6
+ const endTypesOptions = [{
7
+ label: 'Never',
8
+ value: endTypes.NEVER
9
+ }, {
10
+ label: 'On',
11
+ value: endTypes.ON
12
+ }, {
13
+ label: 'After',
14
+ value: endTypes.AFTER
15
+ }];
16
+ const endTimesOptions = [{
17
+ label: '1 Time',
18
+ value: 1
19
+ }, {
20
+ label: '2 Times',
21
+ value: 2
22
+ }, {
23
+ label: '3 Times',
24
+ value: 3
25
+ }, {
26
+ label: '6 Times',
27
+ value: 6
28
+ }, {
29
+ label: '12 Times',
30
+ value: 12
31
+ }];
32
+
33
+ export { endTimesOptions, endTypes, endTypesOptions };