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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/cjs/DSDateTimeRecurrenceSelector.js +195 -226
  2. package/cjs/__test__/DSDateTimeRecurrenceSelector.test.js +30 -0
  3. package/cjs/components/AlertModal/DateTimeRangeModal.js +66 -87
  4. package/cjs/components/CustomOptionRender/CustomOptionRender.js +88 -81
  5. package/cjs/components/DateTimeRangeModal/DateTimeRangeModal.js +69 -81
  6. package/cjs/components/DateTimeRangeModalImpl/DateTimeRangeModalImpl.js +149 -105
  7. package/cjs/components/DateTimeRecurenceSelectorImpl.js +172 -142
  8. package/cjs/components/DayOfMonthPicker/DayOfMonthPicker.js +51 -64
  9. package/cjs/components/DayOfYearPicker/DayOfYearPicker.js +47 -62
  10. package/cjs/components/DaysOfWeekPicker/DaysOfWeekPicker.js +56 -66
  11. package/cjs/components/EndDate/EndDate.js +49 -68
  12. package/cjs/components/FieldWrapper/FieldWrapper.js +23 -42
  13. package/cjs/components/Forms/FormField.js +7 -36
  14. package/cjs/components/Forms/FormFieldGroup.js +7 -36
  15. package/cjs/components/Forms/FormGroup.js +11 -36
  16. package/cjs/components/Forms/FormLabel.js +7 -36
  17. package/cjs/components/LabelWrapper/LabelWrapper.js +23 -42
  18. package/cjs/components/RepeatPickerInput/RepeatPickerInput.js +58 -63
  19. package/cjs/components/StartDateTime/StartDateTime.js +41 -59
  20. package/cjs/components/TimeZonePicker/TimeZonePicker.js +43 -61
  21. package/cjs/components/ValidationMessage/ValidationMessage.js +23 -40
  22. package/cjs/components/helpers/nthday.js +13 -62
  23. package/cjs/index.js +29 -36
  24. package/cjs/options/dropdownDayOfMonthOptions.js +13 -44
  25. package/cjs/options/dropdownDayOfWeekOptions.js +28 -64
  26. package/cjs/options/dropdownDayOfYearOptions.js +13 -44
  27. package/cjs/options/dropdownPreselectedOptions.js +24 -57
  28. package/cjs/options/dropdownRepeatOptions.js +24 -57
  29. package/cjs/options/dropdownTimeZoneOptions.js +32 -67
  30. package/cjs/options/endTypesOptions.js +37 -75
  31. package/esm/DSDateTimeRecurrenceSelector.js +155 -180
  32. package/esm/__test__/DSDateTimeRecurrenceSelector.test.js +24 -0
  33. package/esm/components/AlertModal/DateTimeRangeModal.js +59 -58
  34. package/esm/components/CustomOptionRender/CustomOptionRender.js +79 -49
  35. package/esm/components/DateTimeRangeModal/DateTimeRangeModal.js +61 -52
  36. package/esm/components/DateTimeRangeModalImpl/DateTimeRangeModalImpl.js +131 -67
  37. package/esm/components/DateTimeRecurenceSelectorImpl.js +163 -111
  38. package/esm/components/DayOfMonthPicker/DayOfMonthPicker.js +45 -35
  39. package/esm/components/DayOfYearPicker/DayOfYearPicker.js +41 -33
  40. package/esm/components/DaysOfWeekPicker/DaysOfWeekPicker.js +50 -37
  41. package/esm/components/EndDate/EndDate.js +42 -39
  42. package/esm/components/FieldWrapper/FieldWrapper.js +17 -13
  43. package/esm/components/Forms/FormField.js +5 -7
  44. package/esm/components/Forms/FormFieldGroup.js +5 -7
  45. package/esm/components/Forms/FormGroup.js +9 -7
  46. package/esm/components/Forms/FormLabel.js +5 -7
  47. package/esm/components/LabelWrapper/LabelWrapper.js +17 -13
  48. package/esm/components/RepeatPickerInput/RepeatPickerInput.js +50 -34
  49. package/esm/components/StartDateTime/StartDateTime.js +33 -30
  50. package/esm/components/TimeZonePicker/TimeZonePicker.js +37 -32
  51. package/esm/components/ValidationMessage/ValidationMessage.js +17 -11
  52. package/esm/components/helpers/nthday.js +6 -33
  53. package/esm/index.js +8 -7
  54. package/esm/options/dropdownDayOfMonthOptions.js +9 -15
  55. package/esm/options/dropdownDayOfWeekOptions.js +24 -35
  56. package/esm/options/dropdownDayOfYearOptions.js +9 -15
  57. package/esm/options/dropdownPreselectedOptions.js +19 -28
  58. package/esm/options/dropdownRepeatOptions.js +19 -28
  59. package/esm/options/dropdownTimeZoneOptions.js +27 -38
  60. package/esm/options/endTypesOptions.js +31 -46
  61. package/package.json +6 -6
  62. package/types/DSDateTimeRecurrenceSelector.d.ts +1 -88
  63. package/cjs/DSDateTimeRecurrenceSelector.js.map +0 -7
  64. package/cjs/components/AlertModal/DateTimeRangeModal.js.map +0 -7
  65. package/cjs/components/CustomOptionRender/CustomOptionRender.js.map +0 -7
  66. package/cjs/components/DateTimeRangeModal/DateTimeRangeModal.js.map +0 -7
  67. package/cjs/components/DateTimeRangeModalImpl/DateTimeRangeModalImpl.js.map +0 -7
  68. package/cjs/components/DateTimeRecurenceSelectorImpl.js.map +0 -7
  69. package/cjs/components/DayOfMonthPicker/DayOfMonthPicker.js.map +0 -7
  70. package/cjs/components/DayOfYearPicker/DayOfYearPicker.js.map +0 -7
  71. package/cjs/components/DaysOfWeekPicker/DaysOfWeekPicker.js.map +0 -7
  72. package/cjs/components/EndDate/EndDate.js.map +0 -7
  73. package/cjs/components/FieldWrapper/FieldWrapper.js.map +0 -7
  74. package/cjs/components/Forms/FormField.js.map +0 -7
  75. package/cjs/components/Forms/FormFieldGroup.js.map +0 -7
  76. package/cjs/components/Forms/FormGroup.js.map +0 -7
  77. package/cjs/components/Forms/FormLabel.js.map +0 -7
  78. package/cjs/components/LabelWrapper/LabelWrapper.js.map +0 -7
  79. package/cjs/components/RepeatPickerInput/RepeatPickerInput.js.map +0 -7
  80. package/cjs/components/StartDateTime/StartDateTime.js.map +0 -7
  81. package/cjs/components/TimeZonePicker/TimeZonePicker.js.map +0 -7
  82. package/cjs/components/ValidationMessage/ValidationMessage.js.map +0 -7
  83. package/cjs/components/helpers/nthday.js.map +0 -7
  84. package/cjs/index.js.map +0 -7
  85. package/cjs/options/dropdownDayOfMonthOptions.js.map +0 -7
  86. package/cjs/options/dropdownDayOfWeekOptions.js.map +0 -7
  87. package/cjs/options/dropdownDayOfYearOptions.js.map +0 -7
  88. package/cjs/options/dropdownPreselectedOptions.js.map +0 -7
  89. package/cjs/options/dropdownRepeatOptions.js.map +0 -7
  90. package/cjs/options/dropdownTimeZoneOptions.js.map +0 -7
  91. package/cjs/options/endTypesOptions.js.map +0 -7
  92. package/esm/DSDateTimeRecurrenceSelector.js.map +0 -7
  93. package/esm/components/AlertModal/DateTimeRangeModal.js.map +0 -7
  94. package/esm/components/CustomOptionRender/CustomOptionRender.js.map +0 -7
  95. package/esm/components/DateTimeRangeModal/DateTimeRangeModal.js.map +0 -7
  96. package/esm/components/DateTimeRangeModalImpl/DateTimeRangeModalImpl.js.map +0 -7
  97. package/esm/components/DateTimeRecurenceSelectorImpl.js.map +0 -7
  98. package/esm/components/DayOfMonthPicker/DayOfMonthPicker.js.map +0 -7
  99. package/esm/components/DayOfYearPicker/DayOfYearPicker.js.map +0 -7
  100. package/esm/components/DaysOfWeekPicker/DaysOfWeekPicker.js.map +0 -7
  101. package/esm/components/EndDate/EndDate.js.map +0 -7
  102. package/esm/components/FieldWrapper/FieldWrapper.js.map +0 -7
  103. package/esm/components/Forms/FormField.js.map +0 -7
  104. package/esm/components/Forms/FormFieldGroup.js.map +0 -7
  105. package/esm/components/Forms/FormGroup.js.map +0 -7
  106. package/esm/components/Forms/FormLabel.js.map +0 -7
  107. package/esm/components/LabelWrapper/LabelWrapper.js.map +0 -7
  108. package/esm/components/RepeatPickerInput/RepeatPickerInput.js.map +0 -7
  109. package/esm/components/StartDateTime/StartDateTime.js.map +0 -7
  110. package/esm/components/TimeZonePicker/TimeZonePicker.js.map +0 -7
  111. package/esm/components/ValidationMessage/ValidationMessage.js.map +0 -7
  112. package/esm/components/helpers/nthday.js.map +0 -7
  113. package/esm/index.js.map +0 -7
  114. package/esm/options/dropdownDayOfMonthOptions.js.map +0 -7
  115. package/esm/options/dropdownDayOfWeekOptions.js.map +0 -7
  116. package/esm/options/dropdownDayOfYearOptions.js.map +0 -7
  117. package/esm/options/dropdownPreselectedOptions.js.map +0 -7
  118. package/esm/options/dropdownRepeatOptions.js.map +0 -7
  119. package/esm/options/dropdownTimeZoneOptions.js.map +0 -7
  120. package/esm/options/endTypesOptions.js.map +0 -7
@@ -1,210 +1,185 @@
1
- import * as React from "react";
2
- import React2 from "react";
3
- import { PropTypes, describe } from "react-desc";
4
- import DateTimeRecurrenceSelectorImpl from "./components/DateTimeRecurenceSelectorImpl";
5
- import { dropdownPreselectedOptions } from "./options/dropdownPreselectedOptions";
6
- import {
7
- DropdownRepeatOptionsTypes,
8
- dropdownRepeatOptions
9
- } from "./options/dropdownRepeatOptions";
10
- import { dropdownDayOfWeekOptions } from "./options/dropdownDayOfWeekOptions";
11
- import { dropdownDayOfMonthOptions } from "./options/dropdownDayOfMonthOptions";
12
- import { dropdownDayOfYearOptions } from "./options/dropdownDayOfYearOptions";
13
- import {
14
- endTypesOptions as _endTypesOptions,
15
- endTimesOptions as _endTimesOptions
16
- } from "./options/endTypesOptions";
17
- import CustomOptionRender from "./components/CustomOptionRender/CustomOptionRender";
18
- import {
19
- DropdownTimeZoneTypes,
20
- dropdownTimeZoneOptions
21
- } from "./options/dropdownTimeZoneOptions";
22
- const DSDateTimeRecurrenceSelector = ({
23
- containerProps = {},
24
- className = "",
25
- preselectedOptions = dropdownPreselectedOptions,
26
- repeatOptions = dropdownRepeatOptions,
27
- endTypesOptions = _endTypesOptions,
28
- endTimesOptions = _endTimesOptions,
29
- dayOfWeekOptions = dropdownDayOfWeekOptions,
30
- dayOfWeekOptionsEnable = true,
31
- dayOfMonthOptions = dropdownDayOfMonthOptions,
32
- dayOfMonthOptionsEnable = true,
33
- dayOfYearOptions = dropdownDayOfYearOptions,
34
- dayOfYearOptionsEnable = true,
35
- displayMonthCustomOption = false,
36
- displayYearCustomOption = false,
37
- dayOfMonthAsCurrentDateOptions = ["numberOfMonth", "dayOfTheWeekOfMonth"],
38
- dayOfYearAsCurrentDateOptions = ["numberOfYear", "dayOfTheMonthOfYear"],
39
- onChange = () => null,
40
- placeholder = "Select Range",
41
- modalSize = "medium",
42
- modalTitle = "Report Scheduling",
43
- confirmLabel = "Apply",
44
- rejectLabel = "Cancel",
45
- modalType = "confirm",
46
- onConfirmField = () => null,
47
- onRejectField = () => null,
48
- openModal = false,
49
- appElement = "#root",
50
- value = null,
51
- customRange = null,
52
- customOptionRender = CustomOptionRender,
53
- displayCurrentMonthYear = true,
54
- timeZoneOptions = dropdownTimeZoneOptions,
55
- useTimezoneSelector = false,
56
- allowMultipleDaysOfWeek = false,
57
- advanceOption = {
58
- label: "Custom",
59
- value: "custom-range",
60
- isAdvance: true
61
- },
62
- isValidRecurrence = () => true,
63
- validationMessage = "",
64
- endDayBlocked = () => false,
65
- startDayBlocked = () => false,
66
- repeatFrecuencyCustomProps = {}
67
- }) => /* @__PURE__ */ React2.createElement(DateTimeRecurrenceSelectorImpl, {
68
- advanceOption,
69
- allowMultipleDaysOfWeek,
70
- appElement,
71
- className,
72
- confirmLabel,
73
- containerProps,
74
- customOptionRender,
75
- customRange,
76
- dayOfMonthAsCurrentDateOptions,
77
- dayOfMonthOptionsEnable,
78
- dayOfWeekOptionsEnable,
79
- dayOfYearAsCurrentDateOptions,
80
- dayOfYearOptionsEnable,
81
- displayCurrentMonthYear,
82
- displayMonthCustomOption,
83
- displayYearCustomOption,
84
- dropdownDayOfMonthOptions: dayOfMonthOptions,
85
- dropdownDayOfWeekOptions: dayOfWeekOptions,
86
- dropdownDayOfYearOptions: dayOfYearOptions,
87
- dropdownPreselectedOptions: preselectedOptions,
88
- dropdownRepeatOptions: repeatOptions,
89
- endDayBlocked,
90
- endTimesOptions,
91
- endTypesOptions,
92
- isValidRecurrence,
93
- modalSize,
94
- modalTitle,
95
- modalType,
96
- onChange,
97
- onConfirmField,
98
- onRejectField,
99
- openModal,
100
- placeholder,
101
- rejectLabel,
102
- repeatFrecuencyCustomProps,
103
- startDayBlocked,
104
- timeZoneOptions,
105
- useTimezoneSelector,
106
- validationMessage,
107
- value
108
- });
109
- export * from "./options/endTypesOptions";
1
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'react';
3
+ import { PropTypes, describe } from 'react-desc';
4
+ import DateTimeRecurenceSelectorImpl from './components/DateTimeRecurenceSelectorImpl.js';
5
+ import { dropdownPreselectedOptions } from './options/dropdownPreselectedOptions.js';
6
+ export { dropdownPreselectedOptions } from './options/dropdownPreselectedOptions.js';
7
+ import { dropdownRepeatOptions } from './options/dropdownRepeatOptions.js';
8
+ export { DropdownRepeatOptionsTypes, dropdownRepeatOptions } from './options/dropdownRepeatOptions.js';
9
+ import { dropdownDayOfWeekOptions } from './options/dropdownDayOfWeekOptions.js';
10
+ export { dropdownDayOfWeekOptions } from './options/dropdownDayOfWeekOptions.js';
11
+ import { dropdownDayOfMonthOptions } from './options/dropdownDayOfMonthOptions.js';
12
+ export { dropdownDayOfMonthOptions } from './options/dropdownDayOfMonthOptions.js';
13
+ import { dropdownDayOfYearOptions } from './options/dropdownDayOfYearOptions.js';
14
+ export { dropdownDayOfYearOptions } from './options/dropdownDayOfYearOptions.js';
15
+ import { endTypesOptions, endTimesOptions } from './options/endTypesOptions.js';
16
+ export { endTimesOptions, endTypes, endTypesOptions } from './options/endTypesOptions.js';
17
+ import CustomOptionRender from './components/CustomOptionRender/CustomOptionRender.js';
18
+ import { dropdownTimeZoneOptions } from './options/dropdownTimeZoneOptions.js';
19
+ export { DropdownTimeZoneTypes, dropdownTimeZoneOptions } from './options/dropdownTimeZoneOptions.js';
20
+
21
+ const DSDateTimeRecurrenceSelector = _ref => {
22
+ let {
23
+ containerProps = {},
24
+ className = '',
25
+ preselectedOptions = dropdownPreselectedOptions,
26
+ repeatOptions = dropdownRepeatOptions,
27
+ endTypesOptions: endTypesOptions$1 = endTypesOptions,
28
+ endTimesOptions: endTimesOptions$1 = endTimesOptions,
29
+ dayOfWeekOptions = dropdownDayOfWeekOptions,
30
+ dayOfWeekOptionsEnable = true,
31
+ dayOfMonthOptions = dropdownDayOfMonthOptions,
32
+ dayOfMonthOptionsEnable = true,
33
+ dayOfYearOptions = dropdownDayOfYearOptions,
34
+ dayOfYearOptionsEnable = true,
35
+ displayMonthCustomOption = false,
36
+ displayYearCustomOption = false,
37
+ dayOfMonthAsCurrentDateOptions = ['numberOfMonth', 'dayOfTheWeekOfMonth'],
38
+ dayOfYearAsCurrentDateOptions = ['numberOfYear', 'dayOfTheMonthOfYear'],
39
+ onChange = () => null,
40
+ placeholder = 'Select Range',
41
+ modalSize = 'medium',
42
+ modalTitle = 'Report Scheduling',
43
+ confirmLabel = 'Apply',
44
+ rejectLabel = 'Cancel',
45
+ modalType = 'confirm',
46
+ onConfirmField = () => null,
47
+ onRejectField = () => null,
48
+ openModal = false,
49
+ appElement = '#root',
50
+ value = null,
51
+ customRange = null,
52
+ customOptionRender = CustomOptionRender,
53
+ displayCurrentMonthYear = true,
54
+ timeZoneOptions = dropdownTimeZoneOptions,
55
+ useTimezoneSelector = false,
56
+ allowMultipleDaysOfWeek = false,
57
+ advanceOption = {
58
+ label: 'Custom',
59
+ value: 'custom-range',
60
+ isAdvance: true
61
+ },
62
+ isValidRecurrence = () => true,
63
+ validationMessage = '',
64
+ endDayBlocked = () => false,
65
+ startDayBlocked = () => false,
66
+ repeatFrecuencyCustomProps = {}
67
+ } = _ref;
68
+ return /*#__PURE__*/_jsx(DateTimeRecurenceSelectorImpl, {
69
+ advanceOption: advanceOption,
70
+ allowMultipleDaysOfWeek: allowMultipleDaysOfWeek,
71
+ appElement: appElement,
72
+ className: className,
73
+ confirmLabel: confirmLabel,
74
+ containerProps: containerProps,
75
+ customOptionRender: customOptionRender,
76
+ customRange: customRange,
77
+ dayOfMonthAsCurrentDateOptions: dayOfMonthAsCurrentDateOptions,
78
+ dayOfMonthOptionsEnable: dayOfMonthOptionsEnable,
79
+ dayOfWeekOptionsEnable: dayOfWeekOptionsEnable,
80
+ dayOfYearAsCurrentDateOptions: dayOfYearAsCurrentDateOptions,
81
+ dayOfYearOptionsEnable: dayOfYearOptionsEnable,
82
+ displayCurrentMonthYear: displayCurrentMonthYear,
83
+ displayMonthCustomOption: displayMonthCustomOption,
84
+ displayYearCustomOption: displayYearCustomOption,
85
+ dropdownDayOfMonthOptions: dayOfMonthOptions,
86
+ dropdownDayOfWeekOptions: dayOfWeekOptions,
87
+ dropdownDayOfYearOptions: dayOfYearOptions,
88
+ dropdownPreselectedOptions: preselectedOptions,
89
+ dropdownRepeatOptions: repeatOptions,
90
+ endDayBlocked: endDayBlocked,
91
+ endTimesOptions: endTimesOptions$1,
92
+ endTypesOptions: endTypesOptions$1,
93
+ isValidRecurrence: isValidRecurrence,
94
+ modalSize: modalSize,
95
+ modalTitle: modalTitle,
96
+ modalType: modalType,
97
+ onChange: onChange,
98
+ onConfirmField: onConfirmField,
99
+ onRejectField: onRejectField,
100
+ openModal: openModal,
101
+ placeholder: placeholder,
102
+ rejectLabel: rejectLabel,
103
+ repeatFrecuencyCustomProps: repeatFrecuencyCustomProps,
104
+ startDayBlocked: startDayBlocked,
105
+ timeZoneOptions: timeZoneOptions,
106
+ useTimezoneSelector: useTimezoneSelector,
107
+ validationMessage: validationMessage,
108
+ value: value
109
+ });
110
+ };
110
111
  const dateTimeRecurrenceSelectorProps = {
111
- containerProps: PropTypes.shape({}).description("Set of Properties attached to the main container"),
112
- className: PropTypes.string.description("html class attribute"),
112
+ containerProps: PropTypes.shape({}).description('Set of Properties attached to the main container'),
113
+ className: PropTypes.string.description('html class attribute'),
113
114
  preselectedOptions: PropTypes.arrayOf(PropTypes.shape({
114
115
  label: PropTypes.string,
115
116
  value: PropTypes.string
116
- })).description("pre selected options"),
117
+ })).description('pre selected options'),
117
118
  repeatOptions: PropTypes.arrayOf(PropTypes.shape({
118
119
  label: PropTypes.string,
119
120
  value: PropTypes.string
120
- })).description("repeat options"),
121
+ })).description('repeat options'),
121
122
  endTypesOptions: PropTypes.arrayOf(PropTypes.shape({
122
123
  label: PropTypes.string,
123
- value: PropTypes.oneOf([
124
- _endTypesOptions.NEVER,
125
- _endTypesOptions.ON,
126
- _endTypesOptions.AFTER
127
- ])
128
- })).description("end types options"),
124
+ value: PropTypes.oneOf([endTypesOptions.NEVER, endTypesOptions.ON, endTypesOptions.AFTER])
125
+ })).description('end types options'),
129
126
  endTimesOptions: PropTypes.arrayOf(PropTypes.shape({
130
127
  label: PropTypes.string,
131
128
  value: PropTypes.string
132
- })).description("end time options"),
129
+ })).description('end time options'),
133
130
  dayOfWeekOptions: PropTypes.arrayOf(PropTypes.shape({
134
131
  label: PropTypes.string,
135
132
  value: PropTypes.string
136
- })).defaultValue("day of week options"),
137
- dayOfWeekOptionsEnable: PropTypes.bool.description("whether to enable day of week options or not").defaultValue(true),
133
+ })).defaultValue('day of week options'),
134
+ dayOfWeekOptionsEnable: PropTypes.bool.description('whether to enable day of week options or not').defaultValue(true),
138
135
  dayOfMonthOptions: PropTypes.arrayOf(PropTypes.shape({
139
136
  label: PropTypes.string,
140
137
  value: PropTypes.string
141
- })).description("day of month options"),
142
- dayOfMonthOptionsEnable: PropTypes.bool.description("whether to enable day of month options or not").defaultValue(true),
138
+ })).description('day of month options'),
139
+ dayOfMonthOptionsEnable: PropTypes.bool.description('whether to enable day of month options or not').defaultValue(true),
143
140
  dayOfYearOptions: PropTypes.arrayOf(PropTypes.shape({
144
141
  label: PropTypes.string,
145
142
  value: PropTypes.string
146
- })).description("day of year options"),
147
- dayOfYearOptionsEnable: PropTypes.bool.description("whether to enable day of month options or not").defaultValue(true),
148
- displayMonthCustomOption: PropTypes.bool.description("whether to display month custom options or not").defaultValue(false),
149
- displayYearCustomOption: PropTypes.bool.description("whether to display year custom options or not").defaultValue(false),
150
- dayOfMonthAsCurrentDateOptions: PropTypes.oneOf([
151
- "numberOfMonth",
152
- "dayOfTheWeekOfMonth"
153
- ]).description("day of month as current date options").defaultValue(["numberOfMonth", "dayOfTheWeekOfMonth"]),
154
- dayOfYearAsCurrentDateOptions: PropTypes.oneOf([
155
- "numberOfYear",
156
- "dayOfTheMonthOfYear"
157
- ]).description("day of year as current date options").defaultValue(["numberOfYear", "dayOfTheMonthOfYear"]),
158
- onChange: PropTypes.func.description("function called on change"),
159
- placeholder: PropTypes.string.description("placeholder value").defaultValue("Select Range"),
160
- modalSize: PropTypes.oneOf(["medium", "small", "large"]).description("Size of the modal").defaultValue("medium"),
161
- modalTitle: PropTypes.string.description("title of the modal").defaultValue("Report Scheduling"),
162
- confirmLabel: PropTypes.string.description("label of confirm button").defaultValue("Apply"),
163
- rejectLabel: PropTypes.string.description("Label of reject button").defaultValue("Cancel"),
164
- modalType: PropTypes.oneOf(["confirm", "alert"]).description("type of modal").defaultValue("confirm"),
165
- onConfirmField: PropTypes.func.description("function called on confirm"),
166
- onRejectField: PropTypes.func.description("function called on reject"),
167
- openModal: PropTypes.bool.description("modal open or closed"),
168
- appElement: PropTypes.string.description("app element"),
169
- value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description("value"),
170
- customRange: PropTypes.object.description("custom range"),
171
- customOptionRender: PropTypes.element.description("custom renderer of options").defaultValue(CustomOptionRender),
172
- displayCurrentMonthYear: PropTypes.bool.description("display current month year or not").defaultValue(true),
143
+ })).description('day of year options'),
144
+ dayOfYearOptionsEnable: PropTypes.bool.description('whether to enable day of month options or not').defaultValue(true),
145
+ displayMonthCustomOption: PropTypes.bool.description('whether to display month custom options or not').defaultValue(false),
146
+ displayYearCustomOption: PropTypes.bool.description('whether to display year custom options or not').defaultValue(false),
147
+ dayOfMonthAsCurrentDateOptions: PropTypes.oneOf(['numberOfMonth', 'dayOfTheWeekOfMonth']).description('day of month as current date options').defaultValue(['numberOfMonth', 'dayOfTheWeekOfMonth']),
148
+ dayOfYearAsCurrentDateOptions: PropTypes.oneOf(['numberOfYear', 'dayOfTheMonthOfYear']).description('day of year as current date options').defaultValue(['numberOfYear', 'dayOfTheMonthOfYear']),
149
+ onChange: PropTypes.func.description('function called on change'),
150
+ placeholder: PropTypes.string.description('placeholder value').defaultValue('Select Range'),
151
+ modalSize: PropTypes.oneOf(['medium', 'small', 'large']).description('Size of the modal').defaultValue('medium'),
152
+ modalTitle: PropTypes.string.description('title of the modal').defaultValue('Report Scheduling'),
153
+ confirmLabel: PropTypes.string.description('label of confirm button').defaultValue('Apply'),
154
+ rejectLabel: PropTypes.string.description('Label of reject button').defaultValue('Cancel'),
155
+ modalType: PropTypes.oneOf(['confirm', 'alert']).description('type of modal').defaultValue('confirm'),
156
+ onConfirmField: PropTypes.func.description('function called on confirm'),
157
+ onRejectField: PropTypes.func.description('function called on reject'),
158
+ openModal: PropTypes.bool.description('modal open or closed'),
159
+ appElement: PropTypes.string.description('app element'),
160
+ value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description('value'),
161
+ customRange: PropTypes.object.description('custom range'),
162
+ customOptionRender: PropTypes.element.description('custom renderer of options').defaultValue(CustomOptionRender),
163
+ displayCurrentMonthYear: PropTypes.bool.description('display current month year or not').defaultValue(true),
173
164
  timeZoneOptions: PropTypes.arrayOf(PropTypes.shape({
174
165
  label: PropTypes.string,
175
166
  value: PropTypes.string
176
- })).description("time zone dropdown options"),
177
- useTimezoneSelector: PropTypes.bool.description("use time zone selector or not").defaultValue(false),
178
- allowMultipleDaysOfWeek: PropTypes.bool.description("allow multiple days of week or not").defaultValue(false),
167
+ })).description('time zone dropdown options'),
168
+ useTimezoneSelector: PropTypes.bool.description('use time zone selector or not').defaultValue(false),
169
+ allowMultipleDaysOfWeek: PropTypes.bool.description('allow multiple days of week or not').defaultValue(false),
179
170
  advanceOption: PropTypes.shape({
180
171
  label: PropTypes.string,
181
172
  value: PropTypes.string,
182
- isAdvance: true
183
- }).description("advanced options"),
184
- isValidRecurrence: PropTypes.func.description("is valid recurrence range or nor"),
185
- validationMessage: PropTypes.oneOfType([
186
- PropTypes.element,
187
- PropTypes.string
188
- ]).description("validation messagge"),
189
- endDayBlocked: PropTypes.func.description("block end date"),
190
- startDayBlocked: PropTypes.func.description("block start date"),
191
- repeatFrecuencyCustomProps: PropTypes.shape({}).description("repeat frecuency custom props")
173
+ isAdvance: true // true is required
174
+
175
+ }).description('advanced options'),
176
+ isValidRecurrence: PropTypes.func.description('is valid recurrence range or nor'),
177
+ validationMessage: PropTypes.oneOfType([PropTypes.element, PropTypes.string]).description('validation messagge'),
178
+ endDayBlocked: PropTypes.func.description('block end date'),
179
+ startDayBlocked: PropTypes.func.description('block start date'),
180
+ repeatFrecuencyCustomProps: PropTypes.shape({}).description('repeat frecuency custom props')
192
181
  };
193
- DSDateTimeRecurrenceSelector.propTypes = dateTimeRecurrenceSelectorProps;
194
182
  const DateTimeRecurenceSelectorWithSchema = describe(DSDateTimeRecurrenceSelector);
195
183
  DateTimeRecurenceSelectorWithSchema.propTypes = dateTimeRecurrenceSelectorProps;
196
- var DSDateTimeRecurrenceSelector_default = DSDateTimeRecurrenceSelector;
197
- export {
198
- DSDateTimeRecurrenceSelector,
199
- DateTimeRecurenceSelectorWithSchema,
200
- DropdownRepeatOptionsTypes,
201
- DropdownTimeZoneTypes,
202
- DSDateTimeRecurrenceSelector_default as default,
203
- dropdownDayOfMonthOptions,
204
- dropdownDayOfWeekOptions,
205
- dropdownDayOfYearOptions,
206
- dropdownPreselectedOptions,
207
- dropdownRepeatOptions,
208
- dropdownTimeZoneOptions
209
- };
210
- //# sourceMappingURL=DSDateTimeRecurrenceSelector.js.map
184
+
185
+ export { DSDateTimeRecurrenceSelector, DateTimeRecurenceSelectorWithSchema, DSDateTimeRecurrenceSelector as default };
@@ -0,0 +1,24 @@
1
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'react';
3
+ import '@testing-library/jest-dom/extend-expect';
4
+ import { render, waitFor } from '@testing-library/react';
5
+ import { DSDateTimeRecurrenceSelector } from '../DSDateTimeRecurrenceSelector.js';
6
+
7
+ var _DSDateTimeRecurrence;
8
+ describe('DSDateTimeRecurrenceSelector', () => {
9
+ const root = document.createElement('div');
10
+ root.setAttribute('id', 'root');
11
+ document.body.appendChild(root);
12
+ const portalRoot = document.createElement('div');
13
+ portalRoot.setAttribute('id', 'portal-root');
14
+ document.body.appendChild(portalRoot);
15
+ test('open modal', async () => {
16
+ const {
17
+ getByText
18
+ } = render(_DSDateTimeRecurrence || (_DSDateTimeRecurrence = /*#__PURE__*/_jsx(DSDateTimeRecurrenceSelector, {
19
+ openModal: true
20
+ })));
21
+ await waitFor(() => getByText('Starts'));
22
+ expect(getByText('Starts')).toBeInTheDocument();
23
+ });
24
+ });
@@ -1,59 +1,60 @@
1
- import * as React from "react";
2
- import React2 from "react";
3
- import DSModal from "@elliemae/ds-modal";
4
- import DateTimeRangeModalImpl from "../DateTimeRangeModalImpl/DateTimeRangeModalImpl";
5
- const DateTimeRangeModal = ({
6
- isOpen = false,
7
- onClose = () => null,
8
- modalTitle = "Report Scheduling",
9
- modalSize = "medium ",
10
- confirmLabel = "Apply",
11
- rejectLabel = "Cancel",
12
- modalType = "confirm",
13
- onConfirmField = () => null,
14
- onRejectField = () => null,
15
- appElement = null,
16
- onCustomDateTimeRange = () => null,
17
- displayCurrentMonthYear = true,
18
- dropdownDayOfMonthOptions = [],
19
- dropdownDayOfWeekOptions = [],
20
- dropdownDayOfYearOptions = [],
21
- dropdownRepeatOptions = [],
22
- rangeValue = {},
23
- dayOfMonthOptionsEnable = true,
24
- dayOfWeekOptionsEnable = true,
25
- dayOfYearOptionsEnable = true,
26
- timeZoneOptions = [],
27
- useTimezoneSelector = false,
28
- allowMultipleDaysOfWeek = false
29
- }) => /* @__PURE__ */ React2.createElement(DSModal, {
30
- appElement,
31
- confirmLabel,
32
- isOpen,
33
- modalTitle,
34
- modalType,
35
- onClose,
36
- onConfirm: onConfirmField,
37
- onReject: onRejectField,
38
- rejectLabel,
39
- size: modalSize
40
- }, /* @__PURE__ */ React2.createElement(DateTimeRangeModalImpl, {
41
- allowMultipleDaysOfWeek,
42
- dayOfMonthOptionsEnable,
43
- dayOfWeekOptionsEnable,
44
- dayOfYearOptionsEnable,
45
- displayCurrentMonthYear,
46
- dropdownDayOfMonthOptions,
47
- dropdownDayOfWeekOptions,
48
- dropdownDayOfYearOptions,
49
- dropdownRepeatOptions,
50
- onCustomDateTimeRange,
51
- rangeValue,
52
- timeZoneOptions,
53
- useTimezoneSelector
54
- }));
55
- var DateTimeRangeModal_default = DateTimeRangeModal;
56
- export {
57
- DateTimeRangeModal_default as default
1
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'react';
3
+ import DSModal from '@elliemae/ds-modal';
4
+ import DateTimePredefinedRangeSelectorImpl from '../DateTimeRangeModalImpl/DateTimeRangeModalImpl.js';
5
+
6
+ const DateTimeRangeModal = _ref => {
7
+ let {
8
+ isOpen = false,
9
+ onClose = () => null,
10
+ modalTitle = 'Report Scheduling',
11
+ modalSize = 'medium ',
12
+ confirmLabel = 'Apply',
13
+ rejectLabel = 'Cancel',
14
+ modalType = 'confirm',
15
+ onConfirmField = () => null,
16
+ onRejectField = () => null,
17
+ appElement = null,
18
+ onCustomDateTimeRange = () => null,
19
+ displayCurrentMonthYear = true,
20
+ dropdownDayOfMonthOptions = [],
21
+ dropdownDayOfWeekOptions = [],
22
+ dropdownDayOfYearOptions = [],
23
+ dropdownRepeatOptions = [],
24
+ rangeValue = {},
25
+ dayOfMonthOptionsEnable = true,
26
+ dayOfWeekOptionsEnable = true,
27
+ dayOfYearOptionsEnable = true,
28
+ timeZoneOptions = [],
29
+ useTimezoneSelector = false,
30
+ allowMultipleDaysOfWeek = false
31
+ } = _ref;
32
+ return /*#__PURE__*/_jsx(DSModal, {
33
+ appElement: appElement,
34
+ confirmLabel: confirmLabel,
35
+ isOpen: isOpen,
36
+ modalTitle: modalTitle,
37
+ modalType: modalType,
38
+ onClose: onClose,
39
+ onConfirm: onConfirmField,
40
+ onReject: onRejectField,
41
+ rejectLabel: rejectLabel,
42
+ size: modalSize
43
+ }, void 0, /*#__PURE__*/_jsx(DateTimePredefinedRangeSelectorImpl, {
44
+ allowMultipleDaysOfWeek: allowMultipleDaysOfWeek,
45
+ dayOfMonthOptionsEnable: dayOfMonthOptionsEnable,
46
+ dayOfWeekOptionsEnable: dayOfWeekOptionsEnable,
47
+ dayOfYearOptionsEnable: dayOfYearOptionsEnable,
48
+ displayCurrentMonthYear: displayCurrentMonthYear,
49
+ dropdownDayOfMonthOptions: dropdownDayOfMonthOptions,
50
+ dropdownDayOfWeekOptions: dropdownDayOfWeekOptions,
51
+ dropdownDayOfYearOptions: dropdownDayOfYearOptions,
52
+ dropdownRepeatOptions: dropdownRepeatOptions,
53
+ onCustomDateTimeRange: onCustomDateTimeRange,
54
+ rangeValue: rangeValue,
55
+ timeZoneOptions: timeZoneOptions,
56
+ useTimezoneSelector: useTimezoneSelector
57
+ }));
58
58
  };
59
- //# sourceMappingURL=DateTimeRangeModal.js.map
59
+
60
+ export { DateTimeRangeModal as default };