@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,199 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _jsx = require('@babel/runtime/helpers/jsx');
6
+ require('react');
7
+ var reactDesc = require('react-desc');
8
+ var DateTimeRecurenceSelectorImpl = require('./components/DateTimeRecurenceSelectorImpl.js');
9
+ var dropdownPreselectedOptions = require('./options/dropdownPreselectedOptions.js');
10
+ var dropdownRepeatOptions = require('./options/dropdownRepeatOptions.js');
11
+ var dropdownDayOfWeekOptions = require('./options/dropdownDayOfWeekOptions.js');
12
+ var dropdownDayOfMonthOptions = require('./options/dropdownDayOfMonthOptions.js');
13
+ var dropdownDayOfYearOptions = require('./options/dropdownDayOfYearOptions.js');
14
+ var endTypesOptions = require('./options/endTypesOptions.js');
15
+ var CustomOptionRender = require('./components/CustomOptionRender/CustomOptionRender.js');
16
+ var dropdownTimeZoneOptions = require('./options/dropdownTimeZoneOptions.js');
17
+
18
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
+
20
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
21
+
22
+ const DSDateTimeRecurrenceSelector = _ref => {
23
+ let {
24
+ containerProps = {},
25
+ className = '',
26
+ preselectedOptions = dropdownPreselectedOptions.dropdownPreselectedOptions,
27
+ repeatOptions = dropdownRepeatOptions.dropdownRepeatOptions,
28
+ endTypesOptions: endTypesOptions$1 = endTypesOptions.endTypesOptions,
29
+ endTimesOptions = endTypesOptions.endTimesOptions,
30
+ dayOfWeekOptions = dropdownDayOfWeekOptions.dropdownDayOfWeekOptions,
31
+ dayOfWeekOptionsEnable = true,
32
+ dayOfMonthOptions = dropdownDayOfMonthOptions.dropdownDayOfMonthOptions,
33
+ dayOfMonthOptionsEnable = true,
34
+ dayOfYearOptions = dropdownDayOfYearOptions.dropdownDayOfYearOptions,
35
+ dayOfYearOptionsEnable = true,
36
+ displayMonthCustomOption = false,
37
+ displayYearCustomOption = false,
38
+ dayOfMonthAsCurrentDateOptions = ['numberOfMonth', 'dayOfTheWeekOfMonth'],
39
+ dayOfYearAsCurrentDateOptions = ['numberOfYear', 'dayOfTheMonthOfYear'],
40
+ onChange = () => null,
41
+ placeholder = 'Select Range',
42
+ modalSize = 'medium',
43
+ modalTitle = 'Report Scheduling',
44
+ confirmLabel = 'Apply',
45
+ rejectLabel = 'Cancel',
46
+ modalType = 'confirm',
47
+ onConfirmField = () => null,
48
+ onRejectField = () => null,
49
+ openModal = false,
50
+ appElement = '#root',
51
+ value = null,
52
+ customRange = null,
53
+ customOptionRender = CustomOptionRender,
54
+ displayCurrentMonthYear = true,
55
+ timeZoneOptions = dropdownTimeZoneOptions.dropdownTimeZoneOptions,
56
+ useTimezoneSelector = false,
57
+ allowMultipleDaysOfWeek = false,
58
+ advanceOption = {
59
+ label: 'Custom',
60
+ value: 'custom-range',
61
+ isAdvance: true
62
+ },
63
+ isValidRecurrence = () => true,
64
+ validationMessage = '',
65
+ endDayBlocked = () => false,
66
+ startDayBlocked = () => false,
67
+ repeatFrecuencyCustomProps = {}
68
+ } = _ref;
69
+ return /*#__PURE__*/_jsx__default["default"](DateTimeRecurenceSelectorImpl, {
70
+ advanceOption: advanceOption,
71
+ allowMultipleDaysOfWeek: allowMultipleDaysOfWeek,
72
+ appElement: appElement,
73
+ className: className,
74
+ confirmLabel: confirmLabel,
75
+ containerProps: containerProps,
76
+ customOptionRender: customOptionRender,
77
+ customRange: customRange,
78
+ dayOfMonthAsCurrentDateOptions: dayOfMonthAsCurrentDateOptions,
79
+ dayOfMonthOptionsEnable: dayOfMonthOptionsEnable,
80
+ dayOfWeekOptionsEnable: dayOfWeekOptionsEnable,
81
+ dayOfYearAsCurrentDateOptions: dayOfYearAsCurrentDateOptions,
82
+ dayOfYearOptionsEnable: dayOfYearOptionsEnable,
83
+ displayCurrentMonthYear: displayCurrentMonthYear,
84
+ displayMonthCustomOption: displayMonthCustomOption,
85
+ displayYearCustomOption: displayYearCustomOption,
86
+ dropdownDayOfMonthOptions: dayOfMonthOptions,
87
+ dropdownDayOfWeekOptions: dayOfWeekOptions,
88
+ dropdownDayOfYearOptions: dayOfYearOptions,
89
+ dropdownPreselectedOptions: preselectedOptions,
90
+ dropdownRepeatOptions: repeatOptions,
91
+ endDayBlocked: endDayBlocked,
92
+ endTimesOptions: endTimesOptions,
93
+ endTypesOptions: endTypesOptions$1,
94
+ isValidRecurrence: isValidRecurrence,
95
+ modalSize: modalSize,
96
+ modalTitle: modalTitle,
97
+ modalType: modalType,
98
+ onChange: onChange,
99
+ onConfirmField: onConfirmField,
100
+ onRejectField: onRejectField,
101
+ openModal: openModal,
102
+ placeholder: placeholder,
103
+ rejectLabel: rejectLabel,
104
+ repeatFrecuencyCustomProps: repeatFrecuencyCustomProps,
105
+ startDayBlocked: startDayBlocked,
106
+ timeZoneOptions: timeZoneOptions,
107
+ useTimezoneSelector: useTimezoneSelector,
108
+ validationMessage: validationMessage,
109
+ value: value
110
+ });
111
+ };
112
+ const dateTimeRecurrenceSelectorProps = {
113
+ containerProps: reactDesc.PropTypes.shape({}).description('Set of Properties attached to the main container'),
114
+ className: reactDesc.PropTypes.string.description('html class attribute'),
115
+ preselectedOptions: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.shape({
116
+ label: reactDesc.PropTypes.string,
117
+ value: reactDesc.PropTypes.string
118
+ })).description('pre selected options'),
119
+ repeatOptions: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.shape({
120
+ label: reactDesc.PropTypes.string,
121
+ value: reactDesc.PropTypes.string
122
+ })).description('repeat options'),
123
+ endTypesOptions: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.shape({
124
+ label: reactDesc.PropTypes.string,
125
+ value: reactDesc.PropTypes.oneOf([endTypesOptions.endTypesOptions.NEVER, endTypesOptions.endTypesOptions.ON, endTypesOptions.endTypesOptions.AFTER])
126
+ })).description('end types options'),
127
+ endTimesOptions: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.shape({
128
+ label: reactDesc.PropTypes.string,
129
+ value: reactDesc.PropTypes.string
130
+ })).description('end time options'),
131
+ dayOfWeekOptions: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.shape({
132
+ label: reactDesc.PropTypes.string,
133
+ value: reactDesc.PropTypes.string
134
+ })).defaultValue('day of week options'),
135
+ dayOfWeekOptionsEnable: reactDesc.PropTypes.bool.description('whether to enable day of week options or not').defaultValue(true),
136
+ dayOfMonthOptions: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.shape({
137
+ label: reactDesc.PropTypes.string,
138
+ value: reactDesc.PropTypes.string
139
+ })).description('day of month options'),
140
+ dayOfMonthOptionsEnable: reactDesc.PropTypes.bool.description('whether to enable day of month options or not').defaultValue(true),
141
+ dayOfYearOptions: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.shape({
142
+ label: reactDesc.PropTypes.string,
143
+ value: reactDesc.PropTypes.string
144
+ })).description('day of year options'),
145
+ dayOfYearOptionsEnable: reactDesc.PropTypes.bool.description('whether to enable day of month options or not').defaultValue(true),
146
+ displayMonthCustomOption: reactDesc.PropTypes.bool.description('whether to display month custom options or not').defaultValue(false),
147
+ displayYearCustomOption: reactDesc.PropTypes.bool.description('whether to display year custom options or not').defaultValue(false),
148
+ dayOfMonthAsCurrentDateOptions: reactDesc.PropTypes.oneOf(['numberOfMonth', 'dayOfTheWeekOfMonth']).description('day of month as current date options').defaultValue(['numberOfMonth', 'dayOfTheWeekOfMonth']),
149
+ dayOfYearAsCurrentDateOptions: reactDesc.PropTypes.oneOf(['numberOfYear', 'dayOfTheMonthOfYear']).description('day of year as current date options').defaultValue(['numberOfYear', 'dayOfTheMonthOfYear']),
150
+ onChange: reactDesc.PropTypes.func.description('function called on change'),
151
+ placeholder: reactDesc.PropTypes.string.description('placeholder value').defaultValue('Select Range'),
152
+ modalSize: reactDesc.PropTypes.oneOf(['medium', 'small', 'large']).description('Size of the modal').defaultValue('medium'),
153
+ modalTitle: reactDesc.PropTypes.string.description('title of the modal').defaultValue('Report Scheduling'),
154
+ confirmLabel: reactDesc.PropTypes.string.description('label of confirm button').defaultValue('Apply'),
155
+ rejectLabel: reactDesc.PropTypes.string.description('Label of reject button').defaultValue('Cancel'),
156
+ modalType: reactDesc.PropTypes.oneOf(['confirm', 'alert']).description('type of modal').defaultValue('confirm'),
157
+ onConfirmField: reactDesc.PropTypes.func.description('function called on confirm'),
158
+ onRejectField: reactDesc.PropTypes.func.description('function called on reject'),
159
+ openModal: reactDesc.PropTypes.bool.description('modal open or closed'),
160
+ appElement: reactDesc.PropTypes.string.description('app element'),
161
+ value: reactDesc.PropTypes.oneOfType([reactDesc.PropTypes.string, reactDesc.PropTypes.number]).description('value'),
162
+ customRange: reactDesc.PropTypes.object.description('custom range'),
163
+ customOptionRender: reactDesc.PropTypes.element.description('custom renderer of options').defaultValue(CustomOptionRender),
164
+ displayCurrentMonthYear: reactDesc.PropTypes.bool.description('display current month year or not').defaultValue(true),
165
+ timeZoneOptions: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.shape({
166
+ label: reactDesc.PropTypes.string,
167
+ value: reactDesc.PropTypes.string
168
+ })).description('time zone dropdown options'),
169
+ useTimezoneSelector: reactDesc.PropTypes.bool.description('use time zone selector or not').defaultValue(false),
170
+ allowMultipleDaysOfWeek: reactDesc.PropTypes.bool.description('allow multiple days of week or not').defaultValue(false),
171
+ advanceOption: reactDesc.PropTypes.shape({
172
+ label: reactDesc.PropTypes.string,
173
+ value: reactDesc.PropTypes.string,
174
+ isAdvance: true // true is required
175
+
176
+ }).description('advanced options'),
177
+ isValidRecurrence: reactDesc.PropTypes.func.description('is valid recurrence range or nor'),
178
+ validationMessage: reactDesc.PropTypes.oneOfType([reactDesc.PropTypes.element, reactDesc.PropTypes.string]).description('validation messagge'),
179
+ endDayBlocked: reactDesc.PropTypes.func.description('block end date'),
180
+ startDayBlocked: reactDesc.PropTypes.func.description('block start date'),
181
+ repeatFrecuencyCustomProps: reactDesc.PropTypes.shape({}).description('repeat frecuency custom props')
182
+ };
183
+ const DateTimeRecurenceSelectorWithSchema = reactDesc.describe(DSDateTimeRecurrenceSelector);
184
+ DateTimeRecurenceSelectorWithSchema.propTypes = dateTimeRecurrenceSelectorProps;
185
+
186
+ exports.dropdownPreselectedOptions = dropdownPreselectedOptions.dropdownPreselectedOptions;
187
+ exports.DropdownRepeatOptionsTypes = dropdownRepeatOptions.DropdownRepeatOptionsTypes;
188
+ exports.dropdownRepeatOptions = dropdownRepeatOptions.dropdownRepeatOptions;
189
+ exports.dropdownDayOfWeekOptions = dropdownDayOfWeekOptions.dropdownDayOfWeekOptions;
190
+ exports.dropdownDayOfMonthOptions = dropdownDayOfMonthOptions.dropdownDayOfMonthOptions;
191
+ exports.dropdownDayOfYearOptions = dropdownDayOfYearOptions.dropdownDayOfYearOptions;
192
+ exports.endTimesOptions = endTypesOptions.endTimesOptions;
193
+ exports.endTypes = endTypesOptions.endTypes;
194
+ exports.endTypesOptions = endTypesOptions.endTypesOptions;
195
+ exports.DropdownTimeZoneTypes = dropdownTimeZoneOptions.DropdownTimeZoneTypes;
196
+ exports.dropdownTimeZoneOptions = dropdownTimeZoneOptions.dropdownTimeZoneOptions;
197
+ exports.DSDateTimeRecurrenceSelector = DSDateTimeRecurrenceSelector;
198
+ exports.DateTimeRecurenceSelectorWithSchema = DateTimeRecurenceSelectorWithSchema;
199
+ exports["default"] = DSDateTimeRecurrenceSelector;
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+ var _jsx = require('@babel/runtime/helpers/jsx');
4
+ require('react');
5
+ require('@testing-library/jest-dom/extend-expect');
6
+ var react = require('@testing-library/react');
7
+ var DSDateTimeRecurrenceSelector = require('../DSDateTimeRecurrenceSelector.js');
8
+
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
+
11
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
12
+
13
+ var _DSDateTimeRecurrence;
14
+ describe('DSDateTimeRecurrenceSelector', () => {
15
+ const root = document.createElement('div');
16
+ root.setAttribute('id', 'root');
17
+ document.body.appendChild(root);
18
+ const portalRoot = document.createElement('div');
19
+ portalRoot.setAttribute('id', 'portal-root');
20
+ document.body.appendChild(portalRoot);
21
+ test('open modal', async () => {
22
+ const {
23
+ getByText
24
+ } = react.render(_DSDateTimeRecurrence || (_DSDateTimeRecurrence = /*#__PURE__*/_jsx__default["default"](DSDateTimeRecurrenceSelector.DSDateTimeRecurrenceSelector, {
25
+ openModal: true
26
+ })));
27
+ await react.waitFor(() => getByText('Starts'));
28
+ expect(getByText('Starts')).toBeInTheDocument();
29
+ });
30
+ });
@@ -0,0 +1,67 @@
1
+ 'use strict';
2
+
3
+ var _jsx = require('@babel/runtime/helpers/jsx');
4
+ require('react');
5
+ var DSModal = require('@elliemae/ds-modal');
6
+ var DateTimeRangeModalImpl = require('../DateTimeRangeModalImpl/DateTimeRangeModalImpl.js');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
+
10
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
11
+ var DSModal__default = /*#__PURE__*/_interopDefaultLegacy(DSModal);
12
+
13
+ const DateTimeRangeModal = _ref => {
14
+ let {
15
+ isOpen = false,
16
+ onClose = () => null,
17
+ modalTitle = 'Report Scheduling',
18
+ modalSize = 'medium ',
19
+ confirmLabel = 'Apply',
20
+ rejectLabel = 'Cancel',
21
+ modalType = 'confirm',
22
+ onConfirmField = () => null,
23
+ onRejectField = () => null,
24
+ appElement = null,
25
+ onCustomDateTimeRange = () => null,
26
+ displayCurrentMonthYear = true,
27
+ dropdownDayOfMonthOptions = [],
28
+ dropdownDayOfWeekOptions = [],
29
+ dropdownDayOfYearOptions = [],
30
+ dropdownRepeatOptions = [],
31
+ rangeValue = {},
32
+ dayOfMonthOptionsEnable = true,
33
+ dayOfWeekOptionsEnable = true,
34
+ dayOfYearOptionsEnable = true,
35
+ timeZoneOptions = [],
36
+ useTimezoneSelector = false,
37
+ allowMultipleDaysOfWeek = false
38
+ } = _ref;
39
+ return /*#__PURE__*/_jsx__default["default"](DSModal__default["default"], {
40
+ appElement: appElement,
41
+ confirmLabel: confirmLabel,
42
+ isOpen: isOpen,
43
+ modalTitle: modalTitle,
44
+ modalType: modalType,
45
+ onClose: onClose,
46
+ onConfirm: onConfirmField,
47
+ onReject: onRejectField,
48
+ rejectLabel: rejectLabel,
49
+ size: modalSize
50
+ }, void 0, /*#__PURE__*/_jsx__default["default"](DateTimeRangeModalImpl, {
51
+ allowMultipleDaysOfWeek: allowMultipleDaysOfWeek,
52
+ dayOfMonthOptionsEnable: dayOfMonthOptionsEnable,
53
+ dayOfWeekOptionsEnable: dayOfWeekOptionsEnable,
54
+ dayOfYearOptionsEnable: dayOfYearOptionsEnable,
55
+ displayCurrentMonthYear: displayCurrentMonthYear,
56
+ dropdownDayOfMonthOptions: dropdownDayOfMonthOptions,
57
+ dropdownDayOfWeekOptions: dropdownDayOfWeekOptions,
58
+ dropdownDayOfYearOptions: dropdownDayOfYearOptions,
59
+ dropdownRepeatOptions: dropdownRepeatOptions,
60
+ onCustomDateTimeRange: onCustomDateTimeRange,
61
+ rangeValue: rangeValue,
62
+ timeZoneOptions: timeZoneOptions,
63
+ useTimezoneSelector: useTimezoneSelector
64
+ }));
65
+ };
66
+
67
+ module.exports = DateTimeRangeModal;
@@ -0,0 +1,93 @@
1
+ 'use strict';
2
+
3
+ var _jsx = require('@babel/runtime/helpers/jsx');
4
+ require('react');
5
+ var dropdownRepeatOptions = require('../../options/dropdownRepeatOptions.js');
6
+ var endTypesOptions = require('../../options/endTypesOptions.js');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
+
10
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
11
+
12
+ const typeRepeat = {
13
+ [dropdownRepeatOptions.DropdownRepeatOptionsTypes.DAY]: 'Daily',
14
+ [dropdownRepeatOptions.DropdownRepeatOptionsTypes.WEEK]: 'Weekly',
15
+ [dropdownRepeatOptions.DropdownRepeatOptionsTypes.MONTH]: 'Monthly',
16
+ [dropdownRepeatOptions.DropdownRepeatOptionsTypes.YEAR]: 'Yearly'
17
+ };
18
+ /**
19
+ * @param root0
20
+ * @param root0.customRange
21
+ * @param root0.customRange.startDateInput
22
+ * @param root0.customRange.startTimeInput
23
+ * @param root0.customRange.qtyRepeatPickerInput
24
+ * @param root0.customRange.typeRepeatPickerInput
25
+ * @param root0.customRange.dayWeekRepeatPickerInput
26
+ * @param root0.customRange.endDateInput
27
+ * @param root0.customRange.endTypeInput
28
+ * @param root0.customRange.endTimesInput
29
+ * @param root0.customRange.dayOfMonthRepeatPickerInput
30
+ * @param root0.customRange.dayOfYearRepeatPickerInput
31
+ * @param root0.customRange.timezonePickerInput
32
+ * @param root0.dayOfMonthOptionsEnable
33
+ * @param root0.dayOfWeekOptionsEnable
34
+ * @param root0.dayOfYearOptionsEnable
35
+ * @param root0.useTimezoneSelector
36
+ * @customRange {
37
+ startDateInput,
38
+ startTimeInput,
39
+ qtyRepeatPickerInput,
40
+ typeRepeatPickerInput,
41
+ dayWeekRepeatPickerInput,
42
+ endDateInput,
43
+ endTypeInput,
44
+ endTimesInput,
45
+ dayOfMonthRepeatPickerInput,
46
+ dayOfYearRepeatPickerInput,
47
+ timezonePickerInput
48
+ }
49
+ */
50
+
51
+ const CustomOptionRender = _ref => {
52
+ let {
53
+ customRange: {
54
+ startDateInput,
55
+ startTimeInput,
56
+ qtyRepeatPickerInput,
57
+ typeRepeatPickerInput,
58
+ dayWeekRepeatPickerInput,
59
+ endDateInput,
60
+ endTypeInput,
61
+ endTimesInput,
62
+ dayOfMonthRepeatPickerInput,
63
+ dayOfYearRepeatPickerInput,
64
+ timezonePickerInput
65
+ },
66
+ dayOfMonthOptionsEnable,
67
+ dayOfWeekOptionsEnable,
68
+ dayOfYearOptionsEnable,
69
+ useTimezoneSelector
70
+ } = _ref;
71
+ let display = 'Custom'; // frequency
72
+
73
+ if (qtyRepeatPickerInput === 1) display = typeRepeat[typeRepeatPickerInput];else display = "every ".concat(qtyRepeatPickerInput, " ").concat(typeRepeatPickerInput, "s"); // type
74
+
75
+ if (typeRepeatPickerInput === dropdownRepeatOptions.DropdownRepeatOptionsTypes.WEEK) {
76
+ display += dayOfWeekOptionsEnable ? " on ".concat(dayWeekRepeatPickerInput, " ") : '';
77
+ } else if (typeRepeatPickerInput === dropdownRepeatOptions.DropdownRepeatOptionsTypes.MONTH) {
78
+ display += dayOfMonthOptionsEnable ? " ".concat(dayOfMonthRepeatPickerInput, " ") : '';
79
+ } else if (typeRepeatPickerInput === dropdownRepeatOptions.DropdownRepeatOptionsTypes.YEAR) {
80
+ display += dayOfYearOptionsEnable ? " ".concat(dayOfYearRepeatPickerInput, " ") : '';
81
+ } // start & end
82
+
83
+
84
+ if (startDateInput && startDateInput.format) {
85
+ display += " starting on ".concat(startDateInput.format('MM/DD/YYYY'), " at ").concat(startTimeInput.format('HH:mm A'));
86
+ }
87
+
88
+ if (endTypeInput === endTypesOptions.endTypes.ON) display += ", until ".concat(endDateInput.format('MM/DD/YYYY'), " ");else if (endTypeInput === endTypesOptions.endTypes.AFTER) display += ", for ".concat(endTimesInput, " times");
89
+ if (useTimezoneSelector && timezonePickerInput) display += " [".concat(timezonePickerInput, "]");
90
+ return /*#__PURE__*/_jsx__default["default"]("em", {}, void 0, display);
91
+ };
92
+
93
+ module.exports = CustomOptionRender;
@@ -0,0 +1,122 @@
1
+ 'use strict';
2
+
3
+ var _jsx = require('@babel/runtime/helpers/jsx');
4
+ require('core-js/modules/web.dom-collections.iterator.js');
5
+ var React = require('react');
6
+ var DSModal = require('@elliemae/ds-modal');
7
+ var DateTimeRangeModalImpl = require('../DateTimeRangeModalImpl/DateTimeRangeModalImpl.js');
8
+
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
+
11
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
12
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
+ var DSModal__default = /*#__PURE__*/_interopDefaultLegacy(DSModal);
14
+
15
+ class DateTimeRangeModal extends React__default["default"].Component {
16
+ constructor() {
17
+ var _this;
18
+
19
+ super(...arguments);
20
+ _this = this;
21
+ this.state = {
22
+ isValid: true
23
+ };
24
+
25
+ this.updateIsValid = function () {
26
+ const {
27
+ onCustomDateTimeRange = () => null,
28
+ isValidRecurrence
29
+ } = _this.props;
30
+ onCustomDateTimeRange(...arguments);
31
+
32
+ _this.setState({
33
+ isValid: isValidRecurrence(...arguments)
34
+ });
35
+ };
36
+ }
37
+
38
+ render() {
39
+ const {
40
+ isOpen = false,
41
+ onClose = () => null,
42
+ modalTitle = 'Report Scheduling',
43
+ // modalSize = 'medium',
44
+ confirmLabel = 'Apply',
45
+ rejectLabel = 'Cancel',
46
+ modalType = 'confirm',
47
+ onConfirmField = () => null,
48
+ onRejectField = () => null,
49
+ appElement = null,
50
+ displayCurrentMonthYear = true,
51
+ dropdownDayOfMonthOptions = [],
52
+ dropdownDayOfWeekOptions = [],
53
+ dropdownDayOfYearOptions = [],
54
+ dropdownRepeatOptions = [],
55
+ rangeValue = {},
56
+ dayOfMonthOptionsEnable = true,
57
+ dayOfWeekOptionsEnable = true,
58
+ dayOfYearOptionsEnable = true,
59
+ timeZoneOptions = [],
60
+ useTimezoneSelector = false,
61
+ allowMultipleDaysOfWeek = false,
62
+ endTimesOptions,
63
+ endTypesOptions,
64
+ dayOfMonthAsCurrentDateOptions,
65
+ dayOfYearAsCurrentDateOptions,
66
+ isValidRecurrence,
67
+ validationMessage,
68
+ startDayBlocked,
69
+ endDayBlocked,
70
+ repeatFrecuencyCustomProps,
71
+ displayMonthCustomOption,
72
+ displayYearCustomOption
73
+ } = this.props;
74
+ const {
75
+ isValid
76
+ } = this.state;
77
+ return /*#__PURE__*/_jsx__default["default"](DSModal__default["default"], {
78
+ appElement: appElement,
79
+ centered: false,
80
+ confirmLabel: confirmLabel,
81
+ isOpen: isOpen,
82
+ modalTitle: modalTitle,
83
+ modalType: modalType,
84
+ onClose: onClose,
85
+ onConfirm: onConfirmField,
86
+ onReject: onRejectField,
87
+ overridePropsConfirmButton: {
88
+ disabled: !isValid
89
+ },
90
+ rejectLabel: rejectLabel,
91
+ size: "small"
92
+ }, void 0, /*#__PURE__*/_jsx__default["default"](DateTimeRangeModalImpl, {
93
+ allowMultipleDaysOfWeek: allowMultipleDaysOfWeek,
94
+ dayOfMonthAsCurrentDateOptions: dayOfMonthAsCurrentDateOptions,
95
+ dayOfMonthOptionsEnable: dayOfMonthOptionsEnable,
96
+ dayOfWeekOptionsEnable: dayOfWeekOptionsEnable,
97
+ dayOfYearAsCurrentDateOptions: dayOfYearAsCurrentDateOptions,
98
+ dayOfYearOptionsEnable: dayOfYearOptionsEnable,
99
+ displayCurrentMonthYear: displayCurrentMonthYear,
100
+ displayMonthCustomOption: displayMonthCustomOption,
101
+ displayYearCustomOption: displayYearCustomOption,
102
+ dropdownDayOfMonthOptions: dropdownDayOfMonthOptions,
103
+ dropdownDayOfWeekOptions: dropdownDayOfWeekOptions,
104
+ dropdownDayOfYearOptions: dropdownDayOfYearOptions,
105
+ dropdownRepeatOptions: dropdownRepeatOptions,
106
+ endDayBlocked: endDayBlocked,
107
+ endTimesOptions: endTimesOptions,
108
+ endTypesOptions: endTypesOptions,
109
+ isValidRecurrence: isValidRecurrence,
110
+ onCustomDateTimeRange: this.updateIsValid,
111
+ rangeValue: rangeValue,
112
+ repeatFrecuencyCustomProps: repeatFrecuencyCustomProps,
113
+ startDayBlocked: startDayBlocked,
114
+ timeZoneOptions: timeZoneOptions,
115
+ useTimezoneSelector: useTimezoneSelector,
116
+ validationMessage: validationMessage
117
+ }));
118
+ }
119
+
120
+ }
121
+
122
+ module.exports = DateTimeRangeModal;