@elliemae/ds-date-picker 3.16.0-next.1 → 3.16.0-next.11

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 (65) hide show
  1. package/dist/cjs/DSDatePicker.js +77 -75
  2. package/dist/cjs/DSDatePicker.js.map +2 -2
  3. package/dist/cjs/components/DSDatePickerImpl.js +2 -2
  4. package/dist/cjs/components/DSDatePickerImpl.js.map +1 -1
  5. package/dist/cjs/components/DatePickerController/DatePickerController.js +5 -5
  6. package/dist/cjs/components/DatePickerController/DatePickerController.js.map +1 -1
  7. package/dist/cjs/components/DatePickerDropdown.js +1 -1
  8. package/dist/cjs/components/DatePickerDropdown.js.map +1 -1
  9. package/dist/cjs/components/DatePickerPicker/DatePickerPicker.js +12 -12
  10. package/dist/cjs/components/DatePickerPicker/DatePickerPicker.js.map +2 -2
  11. package/dist/cjs/components/DatePickerRange/DatePickerRange.js +3 -3
  12. package/dist/cjs/components/DatePickerRange/DatePickerRange.js.map +1 -1
  13. package/dist/cjs/components/DatePickerSingleDate/DatePickerSingleDate.js +3 -3
  14. package/dist/cjs/components/DatePickerSingleDate/DatePickerSingleDate.js.map +1 -1
  15. package/dist/cjs/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.js +2 -2
  16. package/dist/cjs/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.js.map +1 -1
  17. package/dist/cjs/components/index.js +10 -10
  18. package/dist/cjs/components/index.js.map +1 -1
  19. package/dist/cjs/index.js +3 -3
  20. package/dist/cjs/index.js.map +2 -2
  21. package/dist/cjs/package.json +7 -0
  22. package/dist/esm/DSDatePicker.js +9 -7
  23. package/dist/esm/DSDatePicker.js.map +2 -2
  24. package/dist/esm/components/DSDatePickerImpl.js +2 -2
  25. package/dist/esm/components/DSDatePickerImpl.js.map +1 -1
  26. package/dist/esm/components/DatePickerController/DatePickerController.js +5 -5
  27. package/dist/esm/components/DatePickerController/DatePickerController.js.map +1 -1
  28. package/dist/esm/components/DatePickerDropdown.js +1 -1
  29. package/dist/esm/components/DatePickerDropdown.js.map +1 -1
  30. package/dist/esm/components/DatePickerPicker/DatePickerPicker.js +1 -1
  31. package/dist/esm/components/DatePickerPicker/DatePickerPicker.js.map +1 -1
  32. package/dist/esm/components/DatePickerRange/DatePickerRange.js +3 -3
  33. package/dist/esm/components/DatePickerRange/DatePickerRange.js.map +1 -1
  34. package/dist/esm/components/DatePickerSingleDate/DatePickerSingleDate.js +3 -3
  35. package/dist/esm/components/DatePickerSingleDate/DatePickerSingleDate.js.map +1 -1
  36. package/dist/esm/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.js +2 -2
  37. package/dist/esm/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.js.map +1 -1
  38. package/dist/esm/components/index.js +10 -10
  39. package/dist/esm/components/index.js.map +1 -1
  40. package/dist/esm/index.js +3 -3
  41. package/dist/esm/index.js.map +1 -1
  42. package/dist/esm/package.json +7 -0
  43. package/package.json +15 -14
  44. package/dist/types/components/DSDatePickerImpl.d.ts +0 -21
  45. package/dist/types/components/DatePickerController/DatePickerController.d.ts +0 -80
  46. package/dist/types/components/DatePickerDay/DatePickerDay.d.ts +0 -13
  47. package/dist/types/components/DatePickerDropdown.d.ts +0 -27
  48. package/dist/types/components/DatePickerHeader/DatePickerHeader.d.ts +0 -15
  49. package/dist/types/components/DatePickerNavigation/DatePickerNavigation.d.ts +0 -19
  50. package/dist/types/components/DatePickerPicker/DatePickerPicker.d.ts +0 -43
  51. package/dist/types/components/DatePickerRange/DatePickerRange.d.ts +0 -9
  52. package/dist/types/components/DatePickerRangeHeader/DatePickerRangeHeader.d.ts +0 -23
  53. package/dist/types/components/DatePickerRangeHeader/tests/DatePickerRangeHeader.test.d.ts +0 -1
  54. package/dist/types/components/DatePickerRenderMonth/DatePickerRenderMonth.d.ts +0 -4
  55. package/dist/types/components/DatePickerSingleDate/DatePickerSingleDate.d.ts +0 -11
  56. package/dist/types/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.d.ts +0 -16
  57. package/dist/types/components/index.d.ts +0 -10
  58. package/dist/types/components/tests/DatePickerHeader.test.d.ts +0 -1
  59. package/dist/types/components/tests/DatePickerRange.test.d.ts +0 -1
  60. package/dist/types/components/tests/DatePickerRangeHeader.test.d.ts +0 -1
  61. package/dist/types/components/tests/DatePickerSelectedDate.test.d.ts +0 -1
  62. package/dist/types/components/tests/DatePickerSingleDate.test.d.ts +0 -1
  63. package/dist/types/components/tests/SingleRangeDateSwitcher.test.d.ts +0 -1
  64. package/dist/types/defaultPhrases.d.ts +0 -225
  65. package/dist/types/index.d.ts +0 -3
@@ -44,14 +44,15 @@ module.exports = __toCommonJS(DSDatePicker_exports);
44
44
  var React = __toESM(require("react"));
45
45
  var import_jsx_runtime = require("react/jsx-runtime");
46
46
  var import_ds_utilities = require("@elliemae/ds-utilities");
47
- var import_initialize = require("react-dates/initialize");
47
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
48
+ var import_initialize = require("react-dates/initialize.js");
48
49
  var import_ds_classnames = require("@elliemae/ds-classnames");
49
50
  var import_moment = __toESM(require("moment"));
50
- var import_defaultPhrases = require("./defaultPhrases");
51
- var import_components = require("./components");
52
- var import_DSDatePickerImpl = require("./components/DSDatePickerImpl");
53
- var import_DatePickerController = require("./components/DatePickerController/DatePickerController");
54
- var import_DatePickerPicker = require("./components/DatePickerPicker/DatePickerPicker");
51
+ var import_defaultPhrases = require("./defaultPhrases.js");
52
+ var import_components = require("./components/index.js");
53
+ var import_DSDatePickerImpl = require("./components/DSDatePickerImpl.js");
54
+ var import_DatePickerController = require("./components/DatePickerController/DatePickerController.js");
55
+ var import_DatePickerPicker = require("./components/DatePickerPicker/DatePickerPicker.js");
55
56
  const DSDatePicker = ({
56
57
  containerProps = {},
57
58
  id = "",
@@ -94,6 +95,7 @@ const DSDatePicker = ({
94
95
  autoClear = false,
95
96
  focusCurrentDate = false
96
97
  }) => {
98
+ (0, import_ds_utilities.useDeprecateComponent)({ componentName: "ds-date-picker", version: "3.x Date: 2023 Q1" });
97
99
  const { cssClassName } = (0, import_ds_classnames.convertPropToCssClassName)("datepicker", className, {
98
100
  hasError,
99
101
  readOnly,
@@ -147,88 +149,88 @@ const DSDatePicker = ({
147
149
  ) });
148
150
  };
149
151
  const datePickerProps = {
150
- containerProps: import_ds_utilities.PropTypes.shape({}).description("Set of Properties attached to the main container"),
151
- id: import_ds_utilities.PropTypes.string.description("components id"),
152
- appendToBody: import_ds_utilities.PropTypes.bool.description("append component to body or not").defaultValue(true),
153
- className: import_ds_utilities.PropTypes.string.description("html class attribute"),
154
- date: import_ds_utilities.PropTypes.instanceOf(Date, import_moment.default).description("selected date").defaultValue(void 0),
155
- value: import_ds_utilities.PropTypes.instanceOf(Date, import_moment.default).description("value"),
156
- placeholder: import_ds_utilities.PropTypes.string.description("input placeholder value"),
157
- autoClear: import_ds_utilities.PropTypes.bool.description("autoclears the input onblur if the date is not completely set").defaultValue(false),
158
- disabled: import_ds_utilities.PropTypes.bool.description("disable component or not").defaultValue(false),
159
- required: import_ds_utilities.PropTypes.bool.description("value is required or not").defaultValue(false),
160
- readOnly: import_ds_utilities.PropTypes.bool.description("is read only or not").defaultValue(false),
161
- hasError: import_ds_utilities.PropTypes.bool.description("set error state").defaultValue(false),
162
- screenReaderInputMessage: import_ds_utilities.PropTypes.string.description("message to anounce by screen reader").defaultValue("select date"),
163
- enableOutsideDays: import_ds_utilities.PropTypes.bool.description("enable days oustide month or not").defaultValue(true),
164
- initialVisibleMonth: import_ds_utilities.PropTypes.instanceOf(Date, import_moment.default).description("initial month to display"),
165
- firstDayOfWeek: import_ds_utilities.PropTypes.number.description("first day of week").defaultValue(0),
166
- keepOpenOnDateSelect: import_ds_utilities.PropTypes.bool.description("keep picker open when a date is selected").defaultValue(false),
167
- hideKeyboardShortcutsPanel: import_ds_utilities.PropTypes.bool.description("hide keyabord shortcut panel or not").defaultValue(true),
168
- onChange: import_ds_utilities.PropTypes.func.description(
152
+ containerProps: import_ds_props_helpers.PropTypes.shape({}).description("Set of Properties attached to the main container"),
153
+ id: import_ds_props_helpers.PropTypes.string.description("components id"),
154
+ appendToBody: import_ds_props_helpers.PropTypes.bool.description("append component to body or not").defaultValue(true),
155
+ className: import_ds_props_helpers.PropTypes.string.description("html class attribute"),
156
+ date: import_ds_props_helpers.PropTypes.instanceOf(Date, import_moment.default).description("selected date").defaultValue(void 0),
157
+ value: import_ds_props_helpers.PropTypes.instanceOf(Date, import_moment.default).description("value"),
158
+ placeholder: import_ds_props_helpers.PropTypes.string.description("input placeholder value"),
159
+ autoClear: import_ds_props_helpers.PropTypes.bool.description("autoclears the input onblur if the date is not completely set").defaultValue(false),
160
+ disabled: import_ds_props_helpers.PropTypes.bool.description("disable component or not").defaultValue(false),
161
+ required: import_ds_props_helpers.PropTypes.bool.description("value is required or not").defaultValue(false),
162
+ readOnly: import_ds_props_helpers.PropTypes.bool.description("is read only or not").defaultValue(false),
163
+ hasError: import_ds_props_helpers.PropTypes.bool.description("set error state").defaultValue(false),
164
+ screenReaderInputMessage: import_ds_props_helpers.PropTypes.string.description("message to anounce by screen reader").defaultValue("select date"),
165
+ enableOutsideDays: import_ds_props_helpers.PropTypes.bool.description("enable days oustide month or not").defaultValue(true),
166
+ initialVisibleMonth: import_ds_props_helpers.PropTypes.instanceOf(Date, import_moment.default).description("initial month to display"),
167
+ firstDayOfWeek: import_ds_props_helpers.PropTypes.number.description("first day of week").defaultValue(0),
168
+ keepOpenOnDateSelect: import_ds_props_helpers.PropTypes.bool.description("keep picker open when a date is selected").defaultValue(false),
169
+ hideKeyboardShortcutsPanel: import_ds_props_helpers.PropTypes.bool.description("hide keyabord shortcut panel or not").defaultValue(true),
170
+ onChange: import_ds_props_helpers.PropTypes.func.description(
169
171
  `
170
172
  function executed when input changes. This could trigger with invalid dates. It returns a string and a moment
171
173
  if the date is valid.
172
174
  `
173
175
  ),
174
- onDateChange: import_ds_utilities.PropTypes.func.description(
176
+ onDateChange: import_ds_props_helpers.PropTypes.func.description(
175
177
  "function executed when date changes. This doesnt trigger with invalid dates. It returns a moment object"
176
178
  ),
177
- onPrevMonthClick: import_ds_utilities.PropTypes.func.description("function executed when clicking on prev month button"),
178
- onNextMonthClick: import_ds_utilities.PropTypes.func.description("function executed when clicking on next month button"),
179
- onBlur: import_ds_utilities.PropTypes.func.description("function executed when component loses focus"),
180
- onClose: import_ds_utilities.PropTypes.func.description("function executed when component closes"),
181
- onFocus: import_ds_utilities.PropTypes.func.description("function executed when component gains focus"),
182
- phrases: import_ds_utilities.PropTypes.shape({
183
- calendarLabel: import_ds_utilities.PropTypes.string,
184
- closeDatePicker: import_ds_utilities.PropTypes.string,
185
- clearDates: import_ds_utilities.PropTypes.string,
186
- focusStartDate: import_ds_utilities.PropTypes.string,
187
- jumpToPrevMonth: import_ds_utilities.PropTypes.string,
188
- jumpToNextMonth: import_ds_utilities.PropTypes.string,
189
- keyboardShortcuts: import_ds_utilities.PropTypes.string,
190
- showKeyboardShortcutsPanel: import_ds_utilities.PropTypes.string,
191
- hideKeyboardShortcutsPanel: import_ds_utilities.PropTypes.string,
192
- openThisPanel: import_ds_utilities.PropTypes.string,
193
- enterKey: import_ds_utilities.PropTypes.string,
194
- leftArrowRightArrow: import_ds_utilities.PropTypes.string,
195
- upArrowDownArrow: import_ds_utilities.PropTypes.string,
196
- pageUpPageDown: import_ds_utilities.PropTypes.string,
197
- homeEnd: import_ds_utilities.PropTypes.string,
198
- escape: import_ds_utilities.PropTypes.string,
199
- questionMark: import_ds_utilities.PropTypes.string,
200
- selectFocusedDate: import_ds_utilities.PropTypes.string,
201
- moveFocusByOneDay: import_ds_utilities.PropTypes.string,
202
- moveFocusByOneWeek: import_ds_utilities.PropTypes.string,
203
- moveFocusByOneMonth: import_ds_utilities.PropTypes.string,
204
- moveFocustoStartAndEndOfWeek: import_ds_utilities.PropTypes.string,
205
- returnFocusToInput: import_ds_utilities.PropTypes.string,
206
- keyboardNavigationInstructions: import_ds_utilities.PropTypes.string,
207
- chooseAvailableStartDate: import_ds_utilities.PropTypes.func,
208
- chooseAvailableEndDate: import_ds_utilities.PropTypes.func,
209
- dateIsUnavailable: import_ds_utilities.PropTypes.func,
210
- dateIsSelected: import_ds_utilities.PropTypes.func
179
+ onPrevMonthClick: import_ds_props_helpers.PropTypes.func.description("function executed when clicking on prev month button"),
180
+ onNextMonthClick: import_ds_props_helpers.PropTypes.func.description("function executed when clicking on next month button"),
181
+ onBlur: import_ds_props_helpers.PropTypes.func.description("function executed when component loses focus"),
182
+ onClose: import_ds_props_helpers.PropTypes.func.description("function executed when component closes"),
183
+ onFocus: import_ds_props_helpers.PropTypes.func.description("function executed when component gains focus"),
184
+ phrases: import_ds_props_helpers.PropTypes.shape({
185
+ calendarLabel: import_ds_props_helpers.PropTypes.string,
186
+ closeDatePicker: import_ds_props_helpers.PropTypes.string,
187
+ clearDates: import_ds_props_helpers.PropTypes.string,
188
+ focusStartDate: import_ds_props_helpers.PropTypes.string,
189
+ jumpToPrevMonth: import_ds_props_helpers.PropTypes.string,
190
+ jumpToNextMonth: import_ds_props_helpers.PropTypes.string,
191
+ keyboardShortcuts: import_ds_props_helpers.PropTypes.string,
192
+ showKeyboardShortcutsPanel: import_ds_props_helpers.PropTypes.string,
193
+ hideKeyboardShortcutsPanel: import_ds_props_helpers.PropTypes.string,
194
+ openThisPanel: import_ds_props_helpers.PropTypes.string,
195
+ enterKey: import_ds_props_helpers.PropTypes.string,
196
+ leftArrowRightArrow: import_ds_props_helpers.PropTypes.string,
197
+ upArrowDownArrow: import_ds_props_helpers.PropTypes.string,
198
+ pageUpPageDown: import_ds_props_helpers.PropTypes.string,
199
+ homeEnd: import_ds_props_helpers.PropTypes.string,
200
+ escape: import_ds_props_helpers.PropTypes.string,
201
+ questionMark: import_ds_props_helpers.PropTypes.string,
202
+ selectFocusedDate: import_ds_props_helpers.PropTypes.string,
203
+ moveFocusByOneDay: import_ds_props_helpers.PropTypes.string,
204
+ moveFocusByOneWeek: import_ds_props_helpers.PropTypes.string,
205
+ moveFocusByOneMonth: import_ds_props_helpers.PropTypes.string,
206
+ moveFocustoStartAndEndOfWeek: import_ds_props_helpers.PropTypes.string,
207
+ returnFocusToInput: import_ds_props_helpers.PropTypes.string,
208
+ keyboardNavigationInstructions: import_ds_props_helpers.PropTypes.string,
209
+ chooseAvailableStartDate: import_ds_props_helpers.PropTypes.func,
210
+ chooseAvailableEndDate: import_ds_props_helpers.PropTypes.func,
211
+ dateIsUnavailable: import_ds_props_helpers.PropTypes.func,
212
+ dateIsSelected: import_ds_props_helpers.PropTypes.func
211
213
  }).description("react-dates phrases").defaultValue(import_defaultPhrases.SingleDatePickerPhrases),
212
- displayFormat: import_ds_utilities.PropTypes.string.description("display format").defaultValue("L"),
213
- displayFormatDay: import_ds_utilities.PropTypes.string.description("display format day").defaultValue("D"),
214
- transitionDuration: import_ds_utilities.PropTypes.number.description("transition duration").defaultValue(0),
215
- verticalSpacing: import_ds_utilities.PropTypes.number.description("vertical spacing"),
216
- isDayBlocked: import_ds_utilities.PropTypes.func.description("function that returns each day and disables desired dates"),
217
- isOutsideRange: import_ds_utilities.PropTypes.func.description("function that returns each day and disables outisde range dates"),
218
- isDayHighlighted: import_ds_utilities.PropTypes.func.description("function that returns each day and higlights desired dates"),
219
- numberOfMonths: import_ds_utilities.PropTypes.number.description("amount of months"),
220
- openDirection: import_ds_utilities.PropTypes.string.description("open direction of the popup").defaultValue("down"),
221
- tabIndex: import_ds_utilities.PropTypes.number.description("overrides tab index of the element"),
222
- zIndex: import_ds_utilities.PropTypes.string.description("overrides z-index of the element"),
223
- pickerProps: import_ds_utilities.PropTypes.shape(import_DatePickerPicker.PickerPropsTypes).description("props to be passed to the picker container"),
224
- calendarProps: import_ds_utilities.PropTypes.shape({ tabIndex: import_ds_utilities.PropTypes.number }).description(
214
+ displayFormat: import_ds_props_helpers.PropTypes.string.description("display format").defaultValue("L"),
215
+ displayFormatDay: import_ds_props_helpers.PropTypes.string.description("display format day").defaultValue("D"),
216
+ transitionDuration: import_ds_props_helpers.PropTypes.number.description("transition duration").defaultValue(0),
217
+ verticalSpacing: import_ds_props_helpers.PropTypes.number.description("vertical spacing"),
218
+ isDayBlocked: import_ds_props_helpers.PropTypes.func.description("function that returns each day and disables desired dates"),
219
+ isOutsideRange: import_ds_props_helpers.PropTypes.func.description("function that returns each day and disables outisde range dates"),
220
+ isDayHighlighted: import_ds_props_helpers.PropTypes.func.description("function that returns each day and higlights desired dates"),
221
+ numberOfMonths: import_ds_props_helpers.PropTypes.number.description("amount of months"),
222
+ openDirection: import_ds_props_helpers.PropTypes.string.description("open direction of the popup").defaultValue("down"),
223
+ tabIndex: import_ds_props_helpers.PropTypes.number.description("overrides tab index of the element"),
224
+ zIndex: import_ds_props_helpers.PropTypes.string.description("overrides z-index of the element"),
225
+ pickerProps: import_ds_props_helpers.PropTypes.shape(import_DatePickerPicker.PickerPropsTypes).description("props to be passed to the picker container"),
226
+ calendarProps: import_ds_props_helpers.PropTypes.shape({ tabIndex: import_ds_props_helpers.PropTypes.number }).description(
225
227
  "props to be passes to the calendar container"
226
228
  ),
227
- focusCurrentDate: import_ds_utilities.PropTypes.bool.description("Wheter to focus current date on calendar").defaultValue(false)
229
+ focusCurrentDate: import_ds_props_helpers.PropTypes.bool.description("Wheter to focus current date on calendar").defaultValue(false)
228
230
  };
229
231
  DSDatePicker.propTypes = datePickerProps;
230
232
  DSDatePicker.displayName = "DSDatePicker";
231
- const DatePickerWithSchema = (0, import_ds_utilities.describe)(DSDatePicker);
233
+ const DatePickerWithSchema = (0, import_ds_props_helpers.describe)(DSDatePicker);
232
234
  DatePickerWithSchema.propTypes = datePickerProps;
233
235
  var DSDatePicker_default = DSDatePicker;
234
236
  //# sourceMappingURL=DSDatePicker.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/DSDatePicker.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable max-lines */\nimport React from 'react';\nimport { PropTypes, describe } from '@elliemae/ds-utilities';\nimport 'react-dates/initialize';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport moment from 'moment';\nimport { SingleDatePickerPhrases } from './defaultPhrases';\nimport {\n DatePickerNavigation,\n DatePickerDay,\n DatePickerPicker,\n DatePickerDropdown,\n DatePickerSingleDate,\n DatePickerHeader,\n DatePickerRange,\n DatePickerRangeHeader,\n SingleRangeDateSwitcher,\n renderMonthElement,\n} from './components';\nimport { DSDatePickerImpl } from './components/DSDatePickerImpl';\nimport { DSDatePickerController } from './components/DatePickerController/DatePickerController';\nimport { PickerPropsTypes, Picker } from './components/DatePickerPicker/DatePickerPicker';\n\ninterface DSDatePickerPropsType {\n containerProps: {};\n id: string;\n appendToBody: boolean;\n className: string;\n date: any;\n value: any;\n placeholder: string;\n disabled: boolean;\n required: boolean;\n readOnly: boolean;\n hasError: boolean;\n screenReaderInputMessage: boolean;\n enableOutsideDays: boolean;\n initialVisibleMonth: moment.Moment;\n firstDayOfWeek: number;\n keepOpenOnDateSelect: boolean;\n hideKeyboardShortcutsPanel: boolean;\n onChange: () => void;\n onDateChange: undefined | (() => void);\n onPrevMonthClick: () => void;\n onNextMonthClick: () => void;\n onClose: () => void;\n onFocus: () => void;\n onBlur: () => void;\n phrases: SingleDatePickerPhrases;\n displayFormat: boolean;\n displayFormatDay: boolean;\n transitionDuration: number;\n verticalSpacing: number;\n isDayBlocked: () => boolean;\n isOutsideRange: () => boolean;\n isDayHighlighted: () => boolean;\n numberOfMonths: number;\n openDirection: boolean;\n tabIndex: boolean;\n zIndex: boolean;\n pickerProps: {};\n calendarProps: {};\n autoClear: boolean;\n focusCurrentDate: boolean;\n}\ntype DSDatePickerType = React.ComponentType<DSDatePickerPropsType>;\n\nconst DSDatePicker: DSDatePickerType = ({\n containerProps = {},\n id = '',\n appendToBody = true,\n className = '',\n date,\n value,\n placeholder = '',\n disabled = false,\n required = false,\n readOnly = false,\n hasError = false,\n screenReaderInputMessage = 'Select date',\n enableOutsideDays = true,\n initialVisibleMonth = moment(),\n firstDayOfWeek = 0,\n keepOpenOnDateSelect = false,\n hideKeyboardShortcutsPanel = true,\n onChange = () => null,\n onDateChange = undefined,\n onPrevMonthClick = () => null,\n onNextMonthClick = () => null,\n onClose = () => null,\n onFocus = () => null,\n onBlur = () => null,\n phrases = SingleDatePickerPhrases,\n displayFormat = 'L',\n displayFormatDay = 'D',\n transitionDuration = 0,\n verticalSpacing = 0,\n isDayBlocked = () => false,\n isOutsideRange = () => false,\n isDayHighlighted = () => false,\n numberOfMonths = 1,\n openDirection = 'down',\n tabIndex = '',\n zIndex = 1,\n pickerProps = {},\n calendarProps = {},\n autoClear = false,\n focusCurrentDate = false,\n}) => {\n const { cssClassName } = convertPropToCssClassName('datepicker', className, {\n hasError,\n readOnly,\n disabled,\n id,\n });\n const safeDate = date || value;\n return (\n <div className={cssClassName} {...containerProps} style={{ minWidth: '140px' }}>\n <DSDatePickerImpl\n appendToBody={appendToBody}\n autoClear={autoClear}\n date={safeDate}\n disabled={disabled}\n displayFormat={displayFormat}\n displayFormatDay={displayFormatDay}\n enableOutsideDays={enableOutsideDays}\n firstDayOfWeek={firstDayOfWeek}\n hideKeyboardShortcutsPanel={hideKeyboardShortcutsPanel}\n initialVisibleMonth={() => (initialVisibleMonth ? moment(initialVisibleMonth) : moment(safeDate))}\n isDayBlocked={isDayBlocked}\n isDayHighlighted={isDayHighlighted}\n isOutsideRange={isOutsideRange === true || isOutsideRange === false ? () => isOutsideRange : isOutsideRange}\n keepOpenOnDateSelect={keepOpenOnDateSelect}\n numberOfMonths={numberOfMonths}\n onBlur={onBlur}\n onClose={onClose}\n onChange={onChange}\n onDateChange={(...args) => {\n if (onDateChange) onDateChange(...args);\n }}\n onFocus={onFocus}\n onNextMonthClick={onNextMonthClick}\n onPrevMonthClick={onPrevMonthClick}\n openDirection={openDirection}\n phrases={phrases}\n placeholder={placeholder}\n readOnly={readOnly}\n required={required}\n screenReaderInputMessage={screenReaderInputMessage}\n transitionDuration={transitionDuration}\n value={safeDate}\n verticalSpacing={verticalSpacing}\n tabIndex={tabIndex}\n zIndex={zIndex}\n pickerProps={pickerProps}\n calendarProps={calendarProps}\n focusCurrentDate={focusCurrentDate}\n />\n </div>\n );\n};\n\nconst datePickerProps = {\n containerProps: PropTypes.shape({}).description('Set of Properties attached to the main container'),\n id: PropTypes.string.description('components id'),\n appendToBody: PropTypes.bool.description('append component to body or not').defaultValue(true),\n className: PropTypes.string.description('html class attribute'),\n date: PropTypes.instanceOf(Date, moment).description('selected date').defaultValue(undefined),\n value: PropTypes.instanceOf(Date, moment).description('value'),\n placeholder: PropTypes.string.description('input placeholder value'),\n autoClear: PropTypes.bool\n .description('autoclears the input onblur if the date is not completely set')\n .defaultValue(false),\n disabled: PropTypes.bool.description('disable component or not').defaultValue(false),\n required: PropTypes.bool.description('value is required or not').defaultValue(false),\n readOnly: PropTypes.bool.description('is read only or not').defaultValue(false),\n hasError: PropTypes.bool.description('set error state').defaultValue(false),\n screenReaderInputMessage: PropTypes.string\n .description('message to anounce by screen reader')\n .defaultValue('select date'),\n enableOutsideDays: PropTypes.bool.description('enable days oustide month or not').defaultValue(true),\n initialVisibleMonth: PropTypes.instanceOf(Date, moment).description('initial month to display'),\n firstDayOfWeek: PropTypes.number.description('first day of week').defaultValue(0),\n keepOpenOnDateSelect: PropTypes.bool.description('keep picker open when a date is selected').defaultValue(false),\n hideKeyboardShortcutsPanel: PropTypes.bool.description('hide keyabord shortcut panel or not').defaultValue(true),\n onChange: PropTypes.func.description(\n `\n function executed when input changes. This could trigger with invalid dates. It returns a string and a moment\n if the date is valid.\n `,\n ),\n onDateChange: PropTypes.func.description(\n 'function executed when date changes. This doesnt trigger with invalid dates. It returns a moment object',\n ),\n onPrevMonthClick: PropTypes.func.description('function executed when clicking on prev month button'),\n onNextMonthClick: PropTypes.func.description('function executed when clicking on next month button'),\n onBlur: PropTypes.func.description('function executed when component loses focus'),\n onClose: PropTypes.func.description('function executed when component closes'),\n onFocus: PropTypes.func.description('function executed when component gains focus'),\n phrases: PropTypes.shape({\n calendarLabel: PropTypes.string,\n closeDatePicker: PropTypes.string,\n clearDates: PropTypes.string,\n focusStartDate: PropTypes.string,\n jumpToPrevMonth: PropTypes.string,\n jumpToNextMonth: PropTypes.string,\n keyboardShortcuts: PropTypes.string,\n showKeyboardShortcutsPanel: PropTypes.string,\n hideKeyboardShortcutsPanel: PropTypes.string,\n openThisPanel: PropTypes.string,\n enterKey: PropTypes.string,\n leftArrowRightArrow: PropTypes.string,\n upArrowDownArrow: PropTypes.string,\n pageUpPageDown: PropTypes.string,\n homeEnd: PropTypes.string,\n escape: PropTypes.string,\n questionMark: PropTypes.string,\n selectFocusedDate: PropTypes.string,\n moveFocusByOneDay: PropTypes.string,\n moveFocusByOneWeek: PropTypes.string,\n moveFocusByOneMonth: PropTypes.string,\n moveFocustoStartAndEndOfWeek: PropTypes.string,\n returnFocusToInput: PropTypes.string,\n keyboardNavigationInstructions: PropTypes.string,\n chooseAvailableStartDate: PropTypes.func,\n chooseAvailableEndDate: PropTypes.func,\n dateIsUnavailable: PropTypes.func,\n dateIsSelected: PropTypes.func,\n })\n .description('react-dates phrases')\n .defaultValue(SingleDatePickerPhrases),\n displayFormat: PropTypes.string.description('display format').defaultValue('L'),\n displayFormatDay: PropTypes.string.description('display format day').defaultValue('D'),\n transitionDuration: PropTypes.number.description('transition duration').defaultValue(0),\n verticalSpacing: PropTypes.number.description('vertical spacing'),\n isDayBlocked: PropTypes.func.description('function that returns each day and disables desired dates'),\n isOutsideRange: PropTypes.func.description('function that returns each day and disables outisde range dates'),\n isDayHighlighted: PropTypes.func.description('function that returns each day and higlights desired dates'),\n numberOfMonths: PropTypes.number.description('amount of months'),\n openDirection: PropTypes.string.description('open direction of the popup').defaultValue('down'),\n tabIndex: PropTypes.number.description('overrides tab index of the element'),\n zIndex: PropTypes.string.description('overrides z-index of the element'),\n pickerProps: PropTypes.shape(PickerPropsTypes).description('props to be passed to the picker container'),\n calendarProps: PropTypes.shape({ tabIndex: PropTypes.number }).description(\n 'props to be passes to the calendar container',\n ),\n focusCurrentDate: PropTypes.bool.description('Wheter to focus current date on calendar').defaultValue(false),\n};\n\nDSDatePicker.propTypes = datePickerProps;\nDSDatePicker.displayName = 'DSDatePicker';\nconst DatePickerWithSchema = describe(DSDatePicker);\nDatePickerWithSchema.propTypes = datePickerProps;\n\nexport {\n DatePickerNavigation,\n DatePickerDay,\n DatePickerPicker,\n DSDatePickerController,\n DatePickerDropdown,\n DatePickerSingleDate,\n DatePickerHeader,\n DatePickerRange,\n DatePickerRangeHeader,\n SingleRangeDateSwitcher,\n Picker,\n renderMonthElement,\n DatePickerWithSchema,\n};\n\nexport { DSDatePicker };\nexport default DSDatePicker;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* eslint-disable max-lines */\nimport React from 'react';\nimport { useDeprecateComponent } from '@elliemae/ds-utilities';\nimport { PropTypes, describe } from '@elliemae/ds-props-helpers';\nimport 'react-dates/initialize.js';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport moment from 'moment';\nimport { SingleDatePickerPhrases } from './defaultPhrases.js';\nimport {\n DatePickerNavigation,\n DatePickerDay,\n DatePickerPicker,\n DatePickerDropdown,\n DatePickerSingleDate,\n DatePickerHeader,\n DatePickerRange,\n DatePickerRangeHeader,\n SingleRangeDateSwitcher,\n renderMonthElement,\n} from './components/index.js';\nimport { DSDatePickerImpl } from './components/DSDatePickerImpl.js';\nimport { DSDatePickerController } from './components/DatePickerController/DatePickerController.js';\nimport { PickerPropsTypes, Picker } from './components/DatePickerPicker/DatePickerPicker.js';\n\ninterface DSDatePickerPropsType {\n containerProps: {};\n id: string;\n appendToBody: boolean;\n className: string;\n date: any;\n value: any;\n placeholder: string;\n disabled: boolean;\n required: boolean;\n readOnly: boolean;\n hasError: boolean;\n screenReaderInputMessage: boolean;\n enableOutsideDays: boolean;\n initialVisibleMonth: moment.Moment;\n firstDayOfWeek: number;\n keepOpenOnDateSelect: boolean;\n hideKeyboardShortcutsPanel: boolean;\n onChange: () => void;\n onDateChange: undefined | (() => void);\n onPrevMonthClick: () => void;\n onNextMonthClick: () => void;\n onClose: () => void;\n onFocus: () => void;\n onBlur: () => void;\n phrases: SingleDatePickerPhrases;\n displayFormat: boolean;\n displayFormatDay: boolean;\n transitionDuration: number;\n verticalSpacing: number;\n isDayBlocked: () => boolean;\n isOutsideRange: () => boolean;\n isDayHighlighted: () => boolean;\n numberOfMonths: number;\n openDirection: boolean;\n tabIndex: boolean;\n zIndex: boolean;\n pickerProps: {};\n calendarProps: {};\n autoClear: boolean;\n focusCurrentDate: boolean;\n}\ntype DSDatePickerType = React.ComponentType<DSDatePickerPropsType>;\n\nconst DSDatePicker: DSDatePickerType = ({\n containerProps = {},\n id = '',\n appendToBody = true,\n className = '',\n date,\n value,\n placeholder = '',\n disabled = false,\n required = false,\n readOnly = false,\n hasError = false,\n screenReaderInputMessage = 'Select date',\n enableOutsideDays = true,\n initialVisibleMonth = moment(),\n firstDayOfWeek = 0,\n keepOpenOnDateSelect = false,\n hideKeyboardShortcutsPanel = true,\n onChange = () => null,\n onDateChange = undefined,\n onPrevMonthClick = () => null,\n onNextMonthClick = () => null,\n onClose = () => null,\n onFocus = () => null,\n onBlur = () => null,\n phrases = SingleDatePickerPhrases,\n displayFormat = 'L',\n displayFormatDay = 'D',\n transitionDuration = 0,\n verticalSpacing = 0,\n isDayBlocked = () => false,\n isOutsideRange = () => false,\n isDayHighlighted = () => false,\n numberOfMonths = 1,\n openDirection = 'down',\n tabIndex = '',\n zIndex = 1,\n pickerProps = {},\n calendarProps = {},\n autoClear = false,\n focusCurrentDate = false,\n}) => {\n useDeprecateComponent({ componentName: 'ds-date-picker', version: '3.x Date: 2023 Q1' });\n\n const { cssClassName } = convertPropToCssClassName('datepicker', className, {\n hasError,\n readOnly,\n disabled,\n id,\n });\n const safeDate = date || value;\n return (\n <div className={cssClassName} {...containerProps} style={{ minWidth: '140px' }}>\n <DSDatePickerImpl\n appendToBody={appendToBody}\n autoClear={autoClear}\n date={safeDate}\n disabled={disabled}\n displayFormat={displayFormat}\n displayFormatDay={displayFormatDay}\n enableOutsideDays={enableOutsideDays}\n firstDayOfWeek={firstDayOfWeek}\n hideKeyboardShortcutsPanel={hideKeyboardShortcutsPanel}\n initialVisibleMonth={() => (initialVisibleMonth ? moment(initialVisibleMonth) : moment(safeDate))}\n isDayBlocked={isDayBlocked}\n isDayHighlighted={isDayHighlighted}\n isOutsideRange={isOutsideRange === true || isOutsideRange === false ? () => isOutsideRange : isOutsideRange}\n keepOpenOnDateSelect={keepOpenOnDateSelect}\n numberOfMonths={numberOfMonths}\n onBlur={onBlur}\n onClose={onClose}\n onChange={onChange}\n onDateChange={(...args) => {\n if (onDateChange) onDateChange(...args);\n }}\n onFocus={onFocus}\n onNextMonthClick={onNextMonthClick}\n onPrevMonthClick={onPrevMonthClick}\n openDirection={openDirection}\n phrases={phrases}\n placeholder={placeholder}\n readOnly={readOnly}\n required={required}\n screenReaderInputMessage={screenReaderInputMessage}\n transitionDuration={transitionDuration}\n value={safeDate}\n verticalSpacing={verticalSpacing}\n tabIndex={tabIndex}\n zIndex={zIndex}\n pickerProps={pickerProps}\n calendarProps={calendarProps}\n focusCurrentDate={focusCurrentDate}\n />\n </div>\n );\n};\n\nconst datePickerProps = {\n containerProps: PropTypes.shape({}).description('Set of Properties attached to the main container'),\n id: PropTypes.string.description('components id'),\n appendToBody: PropTypes.bool.description('append component to body or not').defaultValue(true),\n className: PropTypes.string.description('html class attribute'),\n date: PropTypes.instanceOf(Date, moment).description('selected date').defaultValue(undefined),\n value: PropTypes.instanceOf(Date, moment).description('value'),\n placeholder: PropTypes.string.description('input placeholder value'),\n autoClear: PropTypes.bool\n .description('autoclears the input onblur if the date is not completely set')\n .defaultValue(false),\n disabled: PropTypes.bool.description('disable component or not').defaultValue(false),\n required: PropTypes.bool.description('value is required or not').defaultValue(false),\n readOnly: PropTypes.bool.description('is read only or not').defaultValue(false),\n hasError: PropTypes.bool.description('set error state').defaultValue(false),\n screenReaderInputMessage: PropTypes.string\n .description('message to anounce by screen reader')\n .defaultValue('select date'),\n enableOutsideDays: PropTypes.bool.description('enable days oustide month or not').defaultValue(true),\n initialVisibleMonth: PropTypes.instanceOf(Date, moment).description('initial month to display'),\n firstDayOfWeek: PropTypes.number.description('first day of week').defaultValue(0),\n keepOpenOnDateSelect: PropTypes.bool.description('keep picker open when a date is selected').defaultValue(false),\n hideKeyboardShortcutsPanel: PropTypes.bool.description('hide keyabord shortcut panel or not').defaultValue(true),\n onChange: PropTypes.func.description(\n `\n function executed when input changes. This could trigger with invalid dates. It returns a string and a moment\n if the date is valid.\n `,\n ),\n onDateChange: PropTypes.func.description(\n 'function executed when date changes. This doesnt trigger with invalid dates. It returns a moment object',\n ),\n onPrevMonthClick: PropTypes.func.description('function executed when clicking on prev month button'),\n onNextMonthClick: PropTypes.func.description('function executed when clicking on next month button'),\n onBlur: PropTypes.func.description('function executed when component loses focus'),\n onClose: PropTypes.func.description('function executed when component closes'),\n onFocus: PropTypes.func.description('function executed when component gains focus'),\n phrases: PropTypes.shape({\n calendarLabel: PropTypes.string,\n closeDatePicker: PropTypes.string,\n clearDates: PropTypes.string,\n focusStartDate: PropTypes.string,\n jumpToPrevMonth: PropTypes.string,\n jumpToNextMonth: PropTypes.string,\n keyboardShortcuts: PropTypes.string,\n showKeyboardShortcutsPanel: PropTypes.string,\n hideKeyboardShortcutsPanel: PropTypes.string,\n openThisPanel: PropTypes.string,\n enterKey: PropTypes.string,\n leftArrowRightArrow: PropTypes.string,\n upArrowDownArrow: PropTypes.string,\n pageUpPageDown: PropTypes.string,\n homeEnd: PropTypes.string,\n escape: PropTypes.string,\n questionMark: PropTypes.string,\n selectFocusedDate: PropTypes.string,\n moveFocusByOneDay: PropTypes.string,\n moveFocusByOneWeek: PropTypes.string,\n moveFocusByOneMonth: PropTypes.string,\n moveFocustoStartAndEndOfWeek: PropTypes.string,\n returnFocusToInput: PropTypes.string,\n keyboardNavigationInstructions: PropTypes.string,\n chooseAvailableStartDate: PropTypes.func,\n chooseAvailableEndDate: PropTypes.func,\n dateIsUnavailable: PropTypes.func,\n dateIsSelected: PropTypes.func,\n })\n .description('react-dates phrases')\n .defaultValue(SingleDatePickerPhrases),\n displayFormat: PropTypes.string.description('display format').defaultValue('L'),\n displayFormatDay: PropTypes.string.description('display format day').defaultValue('D'),\n transitionDuration: PropTypes.number.description('transition duration').defaultValue(0),\n verticalSpacing: PropTypes.number.description('vertical spacing'),\n isDayBlocked: PropTypes.func.description('function that returns each day and disables desired dates'),\n isOutsideRange: PropTypes.func.description('function that returns each day and disables outisde range dates'),\n isDayHighlighted: PropTypes.func.description('function that returns each day and higlights desired dates'),\n numberOfMonths: PropTypes.number.description('amount of months'),\n openDirection: PropTypes.string.description('open direction of the popup').defaultValue('down'),\n tabIndex: PropTypes.number.description('overrides tab index of the element'),\n zIndex: PropTypes.string.description('overrides z-index of the element'),\n pickerProps: PropTypes.shape(PickerPropsTypes).description('props to be passed to the picker container'),\n calendarProps: PropTypes.shape({ tabIndex: PropTypes.number }).description(\n 'props to be passes to the calendar container',\n ),\n focusCurrentDate: PropTypes.bool.description('Wheter to focus current date on calendar').defaultValue(false),\n};\n\nDSDatePicker.propTypes = datePickerProps;\nDSDatePicker.displayName = 'DSDatePicker';\nconst DatePickerWithSchema = describe(DSDatePicker);\nDatePickerWithSchema.propTypes = datePickerProps;\n\nexport {\n DatePickerNavigation,\n DatePickerDay,\n DatePickerPicker,\n DSDatePickerController,\n DatePickerDropdown,\n DatePickerSingleDate,\n DatePickerHeader,\n DatePickerRange,\n DatePickerRangeHeader,\n SingleRangeDateSwitcher,\n Picker,\n renderMonthElement,\n DatePickerWithSchema,\n};\n\nexport { DSDatePicker };\nexport default DSDatePicker;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
6
  "names": ["moment"]
7
7
  }
@@ -33,8 +33,8 @@ var import_jsx_runtime = require("react/jsx-runtime");
33
33
  var import_react = __toESM(require("react"));
34
34
  var import_moment = __toESM(require("moment"));
35
35
  var import_ds_form = require("@elliemae/ds-form");
36
- var import_DatePickerController = require("./DatePickerController/DatePickerController");
37
- var import_DatePickerDropdown = require("./DatePickerDropdown");
36
+ var import_DatePickerController = require("./DatePickerController/DatePickerController.js");
37
+ var import_DatePickerDropdown = require("./DatePickerDropdown.js");
38
38
  const FORMAT = "MMDDYYYY";
39
39
  class DSDatePickerImpl extends import_react.default.Component {
40
40
  constructor(props) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/DSDatePickerImpl.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable max-statements */\n/* eslint-disable complexity */\n/* eslint-disable no-underscore-dangle */\n/* eslint-disable react/state-in-constructor */\n/* eslint-disable no-restricted-globals */\n/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\nimport React from 'react';\nimport moment from 'moment';\nimport { DSInputGroup, DSDateInputV2 } from '@elliemae/ds-form';\nimport { DSDatePickerController } from './DatePickerController/DatePickerController';\nimport { DatePickerDropdown } from './DatePickerDropdown';\n\nconst FORMAT = 'MMDDYYYY';\nexport default class DSDatePickerImpl extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n pickerRef: React.createRef(),\n dataInput: '',\n selectedDate: null,\n inputFocused: false,\n };\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n const { dataInput: prevVal, selectedDate: prevDate } = prevState || {};\n const { value: nextVal, date: nextDate } = nextProps;\n\n const isPrevValMoment = prevVal instanceof moment;\n const isPrevDateMoment = prevDate instanceof moment;\n const prevValAsString = isPrevValMoment ? prevVal.format(FORMAT) : prevVal;\n\n // if users wants to clear, we use '==' to catch both undefined AND null\n if (nextVal == null && nextDate == null) {\n return {\n dataInput: '',\n selectedDate: null,\n };\n }\n\n // when val is an incomplete state, we don't want to mess with the state\n // it's incomplete when length is not the full mmddyyyy (length === 8)\n if (prevValAsString?.length < 8) {\n return null;\n }\n\n const prevDateAsString = isPrevDateMoment ? prevDate.format(FORMAT) : prevDate;\n\n const isNextValMoment = nextVal instanceof moment;\n const isNextDateMoment = nextDate instanceof moment;\n const nextValAsString = isNextValMoment ? nextVal.format(FORMAT) : nextVal;\n const nextValAsMoment = isNextValMoment ? nextVal : moment(nextVal);\n const nextDateAsString = isNextDateMoment ? nextDate.format(FORMAT) : nextDate;\n const nextDateAsMoment = isNextDateMoment ? nextDate : moment(nextDate);\n\n const hasValChanged = nextValAsString !== prevValAsString;\n const hasDateChanged = nextDateAsString !== prevDateAsString;\n\n const newState = {};\n let skipStateChange = true;\n\n // value has priority over date, if both date and value change we take date\n // as such, order of condition is meaningful\n if (hasDateChanged) {\n skipStateChange = false;\n newState.dataInput = nextDateAsString;\n newState.selectedDate = nextDateAsMoment;\n }\n\n if (hasValChanged) {\n skipStateChange = false;\n newState.dataInput = nextValAsString;\n newState.selectedDate = nextValAsMoment;\n }\n\n if (skipStateChange) return null;\n return newState;\n }\n\n onClickPicker = () => {\n this.setState({ inputFocused: true });\n };\n\n getSafeValue = () => {\n const { value, date, defaultValue } = this.props;\n const { selectedDate } = this.state;\n if (value) {\n return moment(value, FORMAT, true);\n }\n if (date) {\n return moment(date, FORMAT, true);\n }\n if (defaultValue) {\n return moment(defaultValue, FORMAT, true);\n }\n if (selectedDate) {\n return selectedDate;\n }\n return null;\n };\n\n getSafeInputValue = () => {\n const safeValue = this.getSafeValue();\n if (safeValue && safeValue.isValid()) {\n return safeValue.format(FORMAT);\n }\n const { dataInput } = this.state;\n return dataInput;\n };\n\n isControlled = () => {\n const { value, date } = this.props;\n return Boolean(value) || Boolean(date);\n };\n\n handleDateChange = (date, event) => {\n const { readOnly, onDateChange, keepOpenOnDateSelect, onChange, onBlur } = this.props;\n\n if (!readOnly) {\n if (!this.isControlled()) {\n this.setState({ dataInput: date.format(FORMAT), selectedDate: date });\n }\n onChange(date.format(FORMAT), date);\n onDateChange(date);\n if (!keepOpenOnDateSelect || event.key === 'Enter') {\n this.setState({ inputFocused: false });\n onBlur(date.format(FORMAT), date);\n }\n }\n };\n\n handleInputChange = (dataInput, newDate) => {\n const { onChange } = this.props;\n const newState = {\n dataInput,\n selectedDate: newDate,\n };\n this.setState(() => newState);\n onChange(dataInput, newDate);\n };\n\n handleChange = (newDate) => {\n if (!newDate) return;\n const { onDateChange } = this.props;\n const momentValue = moment(newDate, FORMAT, true);\n if (!momentValue.isValid()) return;\n this.setState({ selectedDate: momentValue });\n\n onDateChange(momentValue);\n };\n\n handleFocus = ({ focused }) => {\n this.setState({ inputFocused: focused });\n };\n\n handleCalendarClose = () => {\n const { onClose } = this.props;\n\n this.setState({ inputFocused: false });\n this.handleOnBlur();\n onClose();\n };\n\n handleClickEscape = () => {\n const { onClose } = this.props;\n\n this.setState({ inputFocused: false });\n this.handleOnBlur();\n onClose();\n };\n\n handleOnBlur = () => {\n setTimeout(() => {\n const { onBlur, autoClear } = this.props;\n const { dataInput, selectedDate } = this.state;\n\n if (moment(selectedDate, FORMAT, true).isValid()) {\n onBlur(dataInput, selectedDate);\n } else {\n if (autoClear) {\n this.setState({ dataInput: undefined });\n }\n onBlur(dataInput, null);\n }\n });\n };\n\n handleInputFocus = (dataInput) => {\n const { onFocus } = this.props;\n onFocus(dataInput);\n };\n\n render() {\n const { inputFocused } = this.state;\n const {\n disabled,\n numberOfMonths,\n readOnly,\n enableOutsideDays,\n transitionDuration,\n firstDayOfWeek,\n keepOpenOnDateSelect,\n hideKeyboardShortcutsPanel,\n onPrevMonthClick,\n onNextMonthClick,\n onClose,\n phrases,\n placeholder,\n displayFormatDay,\n isDayBlocked,\n isOutsideRange,\n isDayHighlighted,\n tabIndex,\n zIndex,\n pickerProps,\n calendarProps,\n focusCurrentDate,\n } = this.props;\n const safedate = this.getSafeValue();\n const safeInputValue = this.getSafeInputValue();\n const hasSelectedDate = !!safedate;\n return (\n <DSInputGroup\n rightAddon={\n <DatePickerDropdown\n pickerRef={this.state.pickerRef}\n disabled={disabled}\n isOpen={inputFocused}\n menu={\n <div\n style={{ minHeight: '310px', zIndex: 1 }}\n className={hasSelectedDate ? 'has-selected-date' : 'without-selected-date'}\n data-testid=\"date-picker-portal-wrapper\"\n >\n <DSDatePickerController\n date={safedate}\n displayFormatDay={displayFormatDay}\n enableOutsideDays={enableOutsideDays}\n firstDayOfWeek={firstDayOfWeek}\n hideKeyboardShortcutsPanel={hideKeyboardShortcutsPanel}\n isDayBlocked={isDayBlocked}\n isDayHighlighted={isDayHighlighted}\n isOutsideRange={isOutsideRange}\n keepOpenOnDateSelect={keepOpenOnDateSelect}\n numberOfMonths={numberOfMonths}\n onClickEscape={this.handleClickEscape}\n onClose={(...args) => {\n if (this.state.pickerRef.current) this.state.pickerRef.current.focus();\n onClose(...args);\n this.setState({ inputFocused: false });\n }}\n onDateChange={this.handleDateChange}\n onFocusChange={this.handleFocus}\n onNextMonthClick={onNextMonthClick}\n onOutsideClick={this.handleCalendarClose}\n onPrevMonthClick={onPrevMonthClick}\n phrases={phrases}\n transitionDuration={transitionDuration}\n calendarProps={calendarProps}\n focusCurrentDate={focusCurrentDate}\n />\n </div>\n }\n onClick={this.onClickPicker}\n readOnly={readOnly}\n zIndex={zIndex}\n pickerProps={pickerProps}\n />\n }\n >\n <DSDateInputV2\n data-testid=\"datepicker-input\"\n aria-label={placeholder || 'Date Picker Input'}\n disabled={disabled}\n onBlur={this.handleOnBlur}\n onChange={this.handleInputChange}\n onDateChange={this.handleChange}\n onFocus={this.handleInputFocus}\n placeholder={placeholder}\n tabIndex={tabIndex}\n value={safeInputValue}\n />\n </DSInputGroup>\n );\n }\n}\n\nexport { DSDatePickerImpl };\n", "import * as React from 'react';\nexport { React };\n"],
4
+ "sourcesContent": ["/* eslint-disable max-statements */\n/* eslint-disable complexity */\n/* eslint-disable no-underscore-dangle */\n/* eslint-disable react/state-in-constructor */\n/* eslint-disable no-restricted-globals */\n/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\nimport React from 'react';\nimport moment from 'moment';\nimport { DSInputGroup, DSDateInputV2 } from '@elliemae/ds-form';\nimport { DSDatePickerController } from './DatePickerController/DatePickerController.js';\nimport { DatePickerDropdown } from './DatePickerDropdown.js';\n\nconst FORMAT = 'MMDDYYYY';\nexport default class DSDatePickerImpl extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n pickerRef: React.createRef(),\n dataInput: '',\n selectedDate: null,\n inputFocused: false,\n };\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n const { dataInput: prevVal, selectedDate: prevDate } = prevState || {};\n const { value: nextVal, date: nextDate } = nextProps;\n\n const isPrevValMoment = prevVal instanceof moment;\n const isPrevDateMoment = prevDate instanceof moment;\n const prevValAsString = isPrevValMoment ? prevVal.format(FORMAT) : prevVal;\n\n // if users wants to clear, we use '==' to catch both undefined AND null\n if (nextVal == null && nextDate == null) {\n return {\n dataInput: '',\n selectedDate: null,\n };\n }\n\n // when val is an incomplete state, we don't want to mess with the state\n // it's incomplete when length is not the full mmddyyyy (length === 8)\n if (prevValAsString?.length < 8) {\n return null;\n }\n\n const prevDateAsString = isPrevDateMoment ? prevDate.format(FORMAT) : prevDate;\n\n const isNextValMoment = nextVal instanceof moment;\n const isNextDateMoment = nextDate instanceof moment;\n const nextValAsString = isNextValMoment ? nextVal.format(FORMAT) : nextVal;\n const nextValAsMoment = isNextValMoment ? nextVal : moment(nextVal);\n const nextDateAsString = isNextDateMoment ? nextDate.format(FORMAT) : nextDate;\n const nextDateAsMoment = isNextDateMoment ? nextDate : moment(nextDate);\n\n const hasValChanged = nextValAsString !== prevValAsString;\n const hasDateChanged = nextDateAsString !== prevDateAsString;\n\n const newState = {};\n let skipStateChange = true;\n\n // value has priority over date, if both date and value change we take date\n // as such, order of condition is meaningful\n if (hasDateChanged) {\n skipStateChange = false;\n newState.dataInput = nextDateAsString;\n newState.selectedDate = nextDateAsMoment;\n }\n\n if (hasValChanged) {\n skipStateChange = false;\n newState.dataInput = nextValAsString;\n newState.selectedDate = nextValAsMoment;\n }\n\n if (skipStateChange) return null;\n return newState;\n }\n\n onClickPicker = () => {\n this.setState({ inputFocused: true });\n };\n\n getSafeValue = () => {\n const { value, date, defaultValue } = this.props;\n const { selectedDate } = this.state;\n if (value) {\n return moment(value, FORMAT, true);\n }\n if (date) {\n return moment(date, FORMAT, true);\n }\n if (defaultValue) {\n return moment(defaultValue, FORMAT, true);\n }\n if (selectedDate) {\n return selectedDate;\n }\n return null;\n };\n\n getSafeInputValue = () => {\n const safeValue = this.getSafeValue();\n if (safeValue && safeValue.isValid()) {\n return safeValue.format(FORMAT);\n }\n const { dataInput } = this.state;\n return dataInput;\n };\n\n isControlled = () => {\n const { value, date } = this.props;\n return Boolean(value) || Boolean(date);\n };\n\n handleDateChange = (date, event) => {\n const { readOnly, onDateChange, keepOpenOnDateSelect, onChange, onBlur } = this.props;\n\n if (!readOnly) {\n if (!this.isControlled()) {\n this.setState({ dataInput: date.format(FORMAT), selectedDate: date });\n }\n onChange(date.format(FORMAT), date);\n onDateChange(date);\n if (!keepOpenOnDateSelect || event.key === 'Enter') {\n this.setState({ inputFocused: false });\n onBlur(date.format(FORMAT), date);\n }\n }\n };\n\n handleInputChange = (dataInput, newDate) => {\n const { onChange } = this.props;\n const newState = {\n dataInput,\n selectedDate: newDate,\n };\n this.setState(() => newState);\n onChange(dataInput, newDate);\n };\n\n handleChange = (newDate) => {\n if (!newDate) return;\n const { onDateChange } = this.props;\n const momentValue = moment(newDate, FORMAT, true);\n if (!momentValue.isValid()) return;\n this.setState({ selectedDate: momentValue });\n\n onDateChange(momentValue);\n };\n\n handleFocus = ({ focused }) => {\n this.setState({ inputFocused: focused });\n };\n\n handleCalendarClose = () => {\n const { onClose } = this.props;\n\n this.setState({ inputFocused: false });\n this.handleOnBlur();\n onClose();\n };\n\n handleClickEscape = () => {\n const { onClose } = this.props;\n\n this.setState({ inputFocused: false });\n this.handleOnBlur();\n onClose();\n };\n\n handleOnBlur = () => {\n setTimeout(() => {\n const { onBlur, autoClear } = this.props;\n const { dataInput, selectedDate } = this.state;\n\n if (moment(selectedDate, FORMAT, true).isValid()) {\n onBlur(dataInput, selectedDate);\n } else {\n if (autoClear) {\n this.setState({ dataInput: undefined });\n }\n onBlur(dataInput, null);\n }\n });\n };\n\n handleInputFocus = (dataInput) => {\n const { onFocus } = this.props;\n onFocus(dataInput);\n };\n\n render() {\n const { inputFocused } = this.state;\n const {\n disabled,\n numberOfMonths,\n readOnly,\n enableOutsideDays,\n transitionDuration,\n firstDayOfWeek,\n keepOpenOnDateSelect,\n hideKeyboardShortcutsPanel,\n onPrevMonthClick,\n onNextMonthClick,\n onClose,\n phrases,\n placeholder,\n displayFormatDay,\n isDayBlocked,\n isOutsideRange,\n isDayHighlighted,\n tabIndex,\n zIndex,\n pickerProps,\n calendarProps,\n focusCurrentDate,\n } = this.props;\n const safedate = this.getSafeValue();\n const safeInputValue = this.getSafeInputValue();\n const hasSelectedDate = !!safedate;\n return (\n <DSInputGroup\n rightAddon={\n <DatePickerDropdown\n pickerRef={this.state.pickerRef}\n disabled={disabled}\n isOpen={inputFocused}\n menu={\n <div\n style={{ minHeight: '310px', zIndex: 1 }}\n className={hasSelectedDate ? 'has-selected-date' : 'without-selected-date'}\n data-testid=\"date-picker-portal-wrapper\"\n >\n <DSDatePickerController\n date={safedate}\n displayFormatDay={displayFormatDay}\n enableOutsideDays={enableOutsideDays}\n firstDayOfWeek={firstDayOfWeek}\n hideKeyboardShortcutsPanel={hideKeyboardShortcutsPanel}\n isDayBlocked={isDayBlocked}\n isDayHighlighted={isDayHighlighted}\n isOutsideRange={isOutsideRange}\n keepOpenOnDateSelect={keepOpenOnDateSelect}\n numberOfMonths={numberOfMonths}\n onClickEscape={this.handleClickEscape}\n onClose={(...args) => {\n if (this.state.pickerRef.current) this.state.pickerRef.current.focus();\n onClose(...args);\n this.setState({ inputFocused: false });\n }}\n onDateChange={this.handleDateChange}\n onFocusChange={this.handleFocus}\n onNextMonthClick={onNextMonthClick}\n onOutsideClick={this.handleCalendarClose}\n onPrevMonthClick={onPrevMonthClick}\n phrases={phrases}\n transitionDuration={transitionDuration}\n calendarProps={calendarProps}\n focusCurrentDate={focusCurrentDate}\n />\n </div>\n }\n onClick={this.onClickPicker}\n readOnly={readOnly}\n zIndex={zIndex}\n pickerProps={pickerProps}\n />\n }\n >\n <DSDateInputV2\n data-testid=\"datepicker-input\"\n aria-label={placeholder || 'Date Picker Input'}\n disabled={disabled}\n onBlur={this.handleOnBlur}\n onChange={this.handleInputChange}\n onDateChange={this.handleChange}\n onFocus={this.handleInputFocus}\n placeholder={placeholder}\n tabIndex={tabIndex}\n value={safeInputValue}\n />\n </DSInputGroup>\n );\n }\n}\n\nexport { DSDatePickerImpl };\n", "import * as React from 'react';\nexport { React };\n"],
5
5
  "mappings": "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",
6
6
  "names": ["React", "moment"]
7
7
  }
@@ -34,14 +34,14 @@ var import_react = __toESM(require("react"));
34
34
  var import_lodash = require("lodash");
35
35
  var import_prop_types = __toESM(require("prop-types"));
36
36
  var import_moment = __toESM(require("moment"));
37
- var import_initialize = require("react-dates/initialize");
37
+ var import_initialize = require("react-dates/initialize.js");
38
38
  var import_react_dates = require("react-dates");
39
39
  var import_ds_classnames = require("@elliemae/ds-classnames");
40
40
  var import_ds_icons = require("@elliemae/ds-icons");
41
- var import_defaultPhrases = require("../../defaultPhrases");
42
- var import_DatePickerRenderMonth = require("../DatePickerRenderMonth/DatePickerRenderMonth");
43
- var import_DatePickerNavigation = require("../DatePickerNavigation/DatePickerNavigation");
44
- var import_DatePickerDay = require("../DatePickerDay/DatePickerDay");
41
+ var import_defaultPhrases = require("../../defaultPhrases.js");
42
+ var import_DatePickerRenderMonth = require("../DatePickerRenderMonth/DatePickerRenderMonth.js");
43
+ var import_DatePickerNavigation = require("../DatePickerNavigation/DatePickerNavigation.js");
44
+ var import_DatePickerDay = require("../DatePickerDay/DatePickerDay.js");
45
45
  const { classNameElement, classNameBlock } = (0, import_ds_classnames.convertPropToCssClassName)("datepicker-range");
46
46
  const focusElementOnOpen = (0, import_lodash.debounce)((datePickerDom, firstFocusableItemDom, focusCurrentDate) => {
47
47
  if (datePickerDom) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/DatePickerController/DatePickerController.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\nimport React from 'react';\nimport { debounce } from 'lodash';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport 'react-dates/initialize';\nimport { DayPickerSingleDateController } from 'react-dates';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { ChevronLeft } from '@elliemae/ds-icons';\nimport { SingleDatePickerPhrases } from '../../defaultPhrases';\nimport { renderMonthElement } from '../DatePickerRenderMonth/DatePickerRenderMonth';\nimport { DatePickerNavigation } from '../DatePickerNavigation/DatePickerNavigation';\nimport { DatePickerDay } from '../DatePickerDay/DatePickerDay';\n\ninterface DSDatePickerControllerStateType {\n selectedDate: any;\n firstFocusableItem: React.RefObject<HTMLElement>;\n datePicker: React.RefObject<HTMLElement>;\n}\n\nconst { classNameElement, classNameBlock } = convertPropToCssClassName('datepicker-range');\n\nconst focusElementOnOpen = debounce((datePickerDom, firstFocusableItemDom, focusCurrentDate) => {\n if (datePickerDom) {\n const currentDay = Array.from(datePickerDom?.getElementsByClassName('CalendarDay__today')).filter(\n (el) => !el.className.includes('CalendarDay__outside'),\n )[0];\n const [calendarDaySelected] = datePickerDom?.getElementsByClassName('CalendarDay__selected');\n if (calendarDaySelected) {\n calendarDaySelected?.focus?.();\n } else if (focusCurrentDate && !calendarDaySelected) currentDay.focus();\n else {\n const navButton = firstFocusableItemDom?.closest('.DayPickerNavigation_button>div');\n navButton?.focus?.();\n }\n }\n}, 100);\n\nexport default class DSDatePickerController extends React.Component<any, DSDatePickerControllerStateType> {\n // eslint-disable-next-line react/static-property-placement\n static defaultProps = {\n date: '',\n value: '',\n enableOutsideDays: false,\n initialVisibleMonth: moment(),\n firstDayOfWeek: 0,\n keepOpenOnDateSelect: true,\n hideKeyboardShortcutsPanel: true,\n onPrevMonthClick: () => null,\n onNextMonthClick: () => null,\n onClose: () => null,\n onChange: () => null,\n onClickEscape: () => null,\n onDateChange: () => null,\n phrases: SingleDatePickerPhrases,\n // displayFormat: 'L',\n displayFormatDay: 'D',\n transitionDuration: 0,\n // verticalSpacing: 0,\n isDayBlocked: () => false,\n isOutsideRange: () => false,\n isDayHighlighted: () => false,\n numberOfMonths: 1,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n selectedDate: null,\n firstFocusableItem: React.createRef(),\n datePicker: React.createRef(),\n };\n }\n\n componentDidMount() {\n const { datePicker, firstFocusableItem } = this.state;\n datePicker.current.addEventListener('mouseup', this.handleMouseUp, false);\n document.addEventListener('keydown', this.handleKeyDown, false);\n setTimeout(() => {\n focusElementOnOpen(datePicker?.current, firstFocusableItem?.current, this.props.focusCurrentDate);\n }, 400);\n }\n\n componentWillUnmount() {\n const { datePicker } = this.state;\n datePicker.current.removeEventListener('mouseup', this.handleMouseUp, false);\n document.removeEventListener('keydown', this.handleKeyDown, false);\n }\n\n handleMouseUp = () => {\n const focusedElement = document.activeElement;\n\n focusedElement?.blur?.();\n };\n\n handleKeyDown = (event) => {\n const [firstDay, ...restOfDays] = document\n .getElementsByClassName('CalendarMonthGrid_month__horizontal')[1]\n .getElementsByClassName('CalendarDay');\n const [lastDay] = restOfDays.slice(-1);\n const { onClickEscape } = this.props;\n\n switch (event.key) {\n case 'Home':\n firstDay.focus();\n break;\n case 'End':\n lastDay.focus();\n break;\n case 'Escape':\n onClickEscape();\n break;\n default:\n break;\n }\n };\n\n getSafeValue = () => {\n const { value, date, defaultValue } = this.props;\n const { selectedDate } = this.state;\n\n if (value) return moment(value);\n if (date) return moment(date);\n if (defaultValue) return moment(defaultValue);\n if (selectedDate) return moment(selectedDate);\n\n return null;\n };\n\n isControlled = () => {\n const { value, date } = this.props;\n return Boolean(value) || Boolean(date);\n };\n\n handleDateChange = (date) => {\n const { readOnly, onDateChange, onChange } = this.props;\n if (!readOnly) {\n if (!this.isControlled()) {\n this.setState({ selectedDate: date });\n }\n onDateChange(date);\n onChange(date);\n }\n };\n\n handleChange = (dataInput) => {\n const { onDateChange, onChange } = this.props;\n const momentvalue = moment(dataInput.target.value);\n this.setState({ selectedDate: momentvalue });\n onDateChange(momentvalue);\n onChange(momentvalue);\n };\n\n handleNavClick = (date, nav) => {\n const [prev, next] = document.getElementsByClassName('DayPickerNavigation_button');\n const { onPrevMonthClick, onNextMonthClick } = this.props;\n\n if (nav === 'prev') {\n prev?.focus?.();\n onPrevMonthClick(date);\n } else {\n next?.focus?.();\n onNextMonthClick(date);\n }\n };\n\n insideBlur = (event) => {\n const { datePicker } = this.state;\n if (!datePicker.current.contains(event.currentTarget)) {\n this.props.onClose();\n }\n };\n\n render() {\n const {\n numberOfMonths,\n enableOutsideDays,\n transitionDuration,\n initialVisibleMonth,\n firstDayOfWeek,\n keepOpenOnDateSelect,\n hideKeyboardShortcutsPanel,\n onClose,\n phrases,\n displayFormatDay,\n isDayBlocked,\n isOutsideRange,\n isDayHighlighted,\n onOutsideClick,\n key,\n calendarProps,\n } = this.props;\n const { datePicker, firstFocusableItem } = this.state;\n\n const safedate = this.getSafeValue();\n const safeinitialMonth = safedate && safedate.isValid() ? () => safedate : () => initialVisibleMonth;\n\n return (\n <div>\n <div\n onBlur={this.insideBlur}\n ref={datePicker}\n className={classNameBlock('wrapper-day-picker-single-date-controller')}\n data-testid=\"calendar-wrapper\"\n {...calendarProps}\n >\n <DayPickerSingleDateController\n key={key}\n date={safedate}\n enableOutsideDays={enableOutsideDays}\n firstDayOfWeek={firstDayOfWeek}\n focused\n hideKeyboardShortcutsPanel={hideKeyboardShortcutsPanel}\n initialVisibleMonth={safeinitialMonth}\n isDayBlocked={isDayBlocked}\n isDayHighlighted={isDayHighlighted}\n isOutsideRange={isOutsideRange}\n keepOpenOnDateSelect={keepOpenOnDateSelect}\n navNext={<DatePickerNavigation className={classNameElement('navigation-next')} />}\n navPrev={\n <DatePickerNavigation\n className={classNameElement('navigation-prev')}\n icon={ChevronLeft}\n innerRef={firstFocusableItem}\n />\n }\n renderMonthElement={renderMonthElement}\n numberOfMonths={numberOfMonths}\n onClose={onClose}\n onDateChange={this.handleDateChange}\n onNextMonthClick={this.handleNavClick('next')}\n onOutsideClick={onOutsideClick}\n onPrevMonthClick={this.handleNavClick('prev')}\n phrases={phrases}\n renderDayContents={(date) => (\n <DatePickerDay className={classNameElement('day-contents')} date={date.format(displayFormatDay)} />\n )}\n transitionDuration={transitionDuration}\n onTab={(e) => {\n if (e.target.classList.contains('CalendarDay')) {\n e.preventDefault();\n onClose();\n }\n }}\n />\n </div>\n </div>\n );\n }\n}\n\nDSDatePickerController.propTypes = {\n date: PropTypes.instanceOf(Date, moment),\n value: PropTypes.oneOf([PropTypes.instanceOf(Date), PropTypes.instanceOf(moment)]),\n enableOutsideDays: PropTypes.bool,\n initialVisibleMonth: PropTypes.instanceOf(Date, moment),\n firstDayOfWeek: PropTypes.number,\n keepOpenOnDateSelect: PropTypes.bool,\n hideKeyboardShortcutsPanel: PropTypes.bool,\n onPrevMonthClick: PropTypes.func,\n onNextMonthClick: PropTypes.func,\n onClose: PropTypes.func,\n onClickEscape: PropTypes.func,\n onChange: PropTypes.func,\n onDateChange: PropTypes.func,\n phrases: SingleDatePickerPhrases,\n // displayFormat: PropTypes.string,\n displayFormatDay: PropTypes.string,\n transitionDuration: PropTypes.number,\n // verticalSpacing: PropTypes.number,\n isDayBlocked: PropTypes.func,\n isOutsideRange: PropTypes.func,\n isDayHighlighted: PropTypes.func,\n numberOfMonths: PropTypes.number,\n};\n\nDSDatePickerController.defaultProps = {\n date: '',\n value: '',\n enableOutsideDays: false,\n initialVisibleMonth: moment(),\n firstDayOfWeek: 0,\n keepOpenOnDateSelect: true,\n hideKeyboardShortcutsPanel: true,\n onPrevMonthClick: () => null,\n onNextMonthClick: () => null,\n onClose: () => null,\n onClickEscape: () => null,\n onChange: () => null,\n onDateChange: () => null,\n phrases: PropTypes.shape({\n calendarLabel: PropTypes.string,\n closeDatePicker: PropTypes.string,\n clearDates: PropTypes.string,\n focusStartDate: PropTypes.string,\n jumpToPrevMonth: PropTypes.string,\n jumpToNextMonth: PropTypes.string,\n keyboardShortcuts: PropTypes.string,\n showKeyboardShortcutsPanel: PropTypes.string,\n hideKeyboardShortcutsPanel: PropTypes.string,\n openThisPanel: PropTypes.string,\n enterKey: PropTypes.string,\n leftArrowRightArrow: PropTypes.string,\n upArrowDownArrow: PropTypes.string,\n pageUpPageDown: PropTypes.string,\n homeEnd: PropTypes.string,\n escape: PropTypes.string,\n questionMark: PropTypes.string,\n selectFocusedDate: PropTypes.string,\n moveFocusByOneDay: PropTypes.string,\n moveFocusByOneWeek: PropTypes.string,\n moveFocusByOneMonth: PropTypes.string,\n moveFocustoStartAndEndOfWeek: PropTypes.string,\n returnFocusToInput: PropTypes.string,\n keyboardNavigationInstructions: PropTypes.string,\n chooseAvailableStartDate: PropTypes.func,\n chooseAvailableEndDate: PropTypes.func,\n dateIsUnavailable: PropTypes.func,\n dateIsSelected: PropTypes.func,\n }),\n // displayFormat: 'L',\n displayFormatDay: 'D',\n transitionDuration: 0,\n // verticalSpacing: 0,\n isDayBlocked: () => false,\n isOutsideRange: () => false,\n isDayHighlighted: () => false,\n numberOfMonths: 1,\n};\n\nexport { DSDatePickerController };\n", "import * as React from 'react';\nexport { React };\n"],
4
+ "sourcesContent": ["/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\nimport React from 'react';\nimport { debounce } from 'lodash';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport 'react-dates/initialize.js';\nimport { DayPickerSingleDateController } from 'react-dates';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { ChevronLeft } from '@elliemae/ds-icons';\nimport { SingleDatePickerPhrases } from '../../defaultPhrases.js';\nimport { renderMonthElement } from '../DatePickerRenderMonth/DatePickerRenderMonth.js';\nimport { DatePickerNavigation } from '../DatePickerNavigation/DatePickerNavigation.js';\nimport { DatePickerDay } from '../DatePickerDay/DatePickerDay.js';\n\ninterface DSDatePickerControllerStateType {\n selectedDate: any;\n firstFocusableItem: React.RefObject<HTMLElement>;\n datePicker: React.RefObject<HTMLElement>;\n}\n\nconst { classNameElement, classNameBlock } = convertPropToCssClassName('datepicker-range');\n\nconst focusElementOnOpen = debounce((datePickerDom, firstFocusableItemDom, focusCurrentDate) => {\n if (datePickerDom) {\n const currentDay = Array.from(datePickerDom?.getElementsByClassName('CalendarDay__today')).filter(\n (el) => !el.className.includes('CalendarDay__outside'),\n )[0];\n const [calendarDaySelected] = datePickerDom?.getElementsByClassName('CalendarDay__selected');\n if (calendarDaySelected) {\n calendarDaySelected?.focus?.();\n } else if (focusCurrentDate && !calendarDaySelected) currentDay.focus();\n else {\n const navButton = firstFocusableItemDom?.closest('.DayPickerNavigation_button>div');\n navButton?.focus?.();\n }\n }\n}, 100);\n\nexport default class DSDatePickerController extends React.Component<any, DSDatePickerControllerStateType> {\n // eslint-disable-next-line react/static-property-placement\n static defaultProps = {\n date: '',\n value: '',\n enableOutsideDays: false,\n initialVisibleMonth: moment(),\n firstDayOfWeek: 0,\n keepOpenOnDateSelect: true,\n hideKeyboardShortcutsPanel: true,\n onPrevMonthClick: () => null,\n onNextMonthClick: () => null,\n onClose: () => null,\n onChange: () => null,\n onClickEscape: () => null,\n onDateChange: () => null,\n phrases: SingleDatePickerPhrases,\n // displayFormat: 'L',\n displayFormatDay: 'D',\n transitionDuration: 0,\n // verticalSpacing: 0,\n isDayBlocked: () => false,\n isOutsideRange: () => false,\n isDayHighlighted: () => false,\n numberOfMonths: 1,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n selectedDate: null,\n firstFocusableItem: React.createRef(),\n datePicker: React.createRef(),\n };\n }\n\n componentDidMount() {\n const { datePicker, firstFocusableItem } = this.state;\n datePicker.current.addEventListener('mouseup', this.handleMouseUp, false);\n document.addEventListener('keydown', this.handleKeyDown, false);\n setTimeout(() => {\n focusElementOnOpen(datePicker?.current, firstFocusableItem?.current, this.props.focusCurrentDate);\n }, 400);\n }\n\n componentWillUnmount() {\n const { datePicker } = this.state;\n datePicker.current.removeEventListener('mouseup', this.handleMouseUp, false);\n document.removeEventListener('keydown', this.handleKeyDown, false);\n }\n\n handleMouseUp = () => {\n const focusedElement = document.activeElement;\n\n focusedElement?.blur?.();\n };\n\n handleKeyDown = (event) => {\n const [firstDay, ...restOfDays] = document\n .getElementsByClassName('CalendarMonthGrid_month__horizontal')[1]\n .getElementsByClassName('CalendarDay');\n const [lastDay] = restOfDays.slice(-1);\n const { onClickEscape } = this.props;\n\n switch (event.key) {\n case 'Home':\n firstDay.focus();\n break;\n case 'End':\n lastDay.focus();\n break;\n case 'Escape':\n onClickEscape();\n break;\n default:\n break;\n }\n };\n\n getSafeValue = () => {\n const { value, date, defaultValue } = this.props;\n const { selectedDate } = this.state;\n\n if (value) return moment(value);\n if (date) return moment(date);\n if (defaultValue) return moment(defaultValue);\n if (selectedDate) return moment(selectedDate);\n\n return null;\n };\n\n isControlled = () => {\n const { value, date } = this.props;\n return Boolean(value) || Boolean(date);\n };\n\n handleDateChange = (date) => {\n const { readOnly, onDateChange, onChange } = this.props;\n if (!readOnly) {\n if (!this.isControlled()) {\n this.setState({ selectedDate: date });\n }\n onDateChange(date);\n onChange(date);\n }\n };\n\n handleChange = (dataInput) => {\n const { onDateChange, onChange } = this.props;\n const momentvalue = moment(dataInput.target.value);\n this.setState({ selectedDate: momentvalue });\n onDateChange(momentvalue);\n onChange(momentvalue);\n };\n\n handleNavClick = (date, nav) => {\n const [prev, next] = document.getElementsByClassName('DayPickerNavigation_button');\n const { onPrevMonthClick, onNextMonthClick } = this.props;\n\n if (nav === 'prev') {\n prev?.focus?.();\n onPrevMonthClick(date);\n } else {\n next?.focus?.();\n onNextMonthClick(date);\n }\n };\n\n insideBlur = (event) => {\n const { datePicker } = this.state;\n if (!datePicker.current.contains(event.currentTarget)) {\n this.props.onClose();\n }\n };\n\n render() {\n const {\n numberOfMonths,\n enableOutsideDays,\n transitionDuration,\n initialVisibleMonth,\n firstDayOfWeek,\n keepOpenOnDateSelect,\n hideKeyboardShortcutsPanel,\n onClose,\n phrases,\n displayFormatDay,\n isDayBlocked,\n isOutsideRange,\n isDayHighlighted,\n onOutsideClick,\n key,\n calendarProps,\n } = this.props;\n const { datePicker, firstFocusableItem } = this.state;\n\n const safedate = this.getSafeValue();\n const safeinitialMonth = safedate && safedate.isValid() ? () => safedate : () => initialVisibleMonth;\n\n return (\n <div>\n <div\n onBlur={this.insideBlur}\n ref={datePicker}\n className={classNameBlock('wrapper-day-picker-single-date-controller')}\n data-testid=\"calendar-wrapper\"\n {...calendarProps}\n >\n <DayPickerSingleDateController\n key={key}\n date={safedate}\n enableOutsideDays={enableOutsideDays}\n firstDayOfWeek={firstDayOfWeek}\n focused\n hideKeyboardShortcutsPanel={hideKeyboardShortcutsPanel}\n initialVisibleMonth={safeinitialMonth}\n isDayBlocked={isDayBlocked}\n isDayHighlighted={isDayHighlighted}\n isOutsideRange={isOutsideRange}\n keepOpenOnDateSelect={keepOpenOnDateSelect}\n navNext={<DatePickerNavigation className={classNameElement('navigation-next')} />}\n navPrev={\n <DatePickerNavigation\n className={classNameElement('navigation-prev')}\n icon={ChevronLeft}\n innerRef={firstFocusableItem}\n />\n }\n renderMonthElement={renderMonthElement}\n numberOfMonths={numberOfMonths}\n onClose={onClose}\n onDateChange={this.handleDateChange}\n onNextMonthClick={this.handleNavClick('next')}\n onOutsideClick={onOutsideClick}\n onPrevMonthClick={this.handleNavClick('prev')}\n phrases={phrases}\n renderDayContents={(date) => (\n <DatePickerDay className={classNameElement('day-contents')} date={date.format(displayFormatDay)} />\n )}\n transitionDuration={transitionDuration}\n onTab={(e) => {\n if (e.target.classList.contains('CalendarDay')) {\n e.preventDefault();\n onClose();\n }\n }}\n />\n </div>\n </div>\n );\n }\n}\n\nDSDatePickerController.propTypes = {\n date: PropTypes.instanceOf(Date, moment),\n value: PropTypes.oneOf([PropTypes.instanceOf(Date), PropTypes.instanceOf(moment)]),\n enableOutsideDays: PropTypes.bool,\n initialVisibleMonth: PropTypes.instanceOf(Date, moment),\n firstDayOfWeek: PropTypes.number,\n keepOpenOnDateSelect: PropTypes.bool,\n hideKeyboardShortcutsPanel: PropTypes.bool,\n onPrevMonthClick: PropTypes.func,\n onNextMonthClick: PropTypes.func,\n onClose: PropTypes.func,\n onClickEscape: PropTypes.func,\n onChange: PropTypes.func,\n onDateChange: PropTypes.func,\n phrases: SingleDatePickerPhrases,\n // displayFormat: PropTypes.string,\n displayFormatDay: PropTypes.string,\n transitionDuration: PropTypes.number,\n // verticalSpacing: PropTypes.number,\n isDayBlocked: PropTypes.func,\n isOutsideRange: PropTypes.func,\n isDayHighlighted: PropTypes.func,\n numberOfMonths: PropTypes.number,\n};\n\nDSDatePickerController.defaultProps = {\n date: '',\n value: '',\n enableOutsideDays: false,\n initialVisibleMonth: moment(),\n firstDayOfWeek: 0,\n keepOpenOnDateSelect: true,\n hideKeyboardShortcutsPanel: true,\n onPrevMonthClick: () => null,\n onNextMonthClick: () => null,\n onClose: () => null,\n onClickEscape: () => null,\n onChange: () => null,\n onDateChange: () => null,\n phrases: PropTypes.shape({\n calendarLabel: PropTypes.string,\n closeDatePicker: PropTypes.string,\n clearDates: PropTypes.string,\n focusStartDate: PropTypes.string,\n jumpToPrevMonth: PropTypes.string,\n jumpToNextMonth: PropTypes.string,\n keyboardShortcuts: PropTypes.string,\n showKeyboardShortcutsPanel: PropTypes.string,\n hideKeyboardShortcutsPanel: PropTypes.string,\n openThisPanel: PropTypes.string,\n enterKey: PropTypes.string,\n leftArrowRightArrow: PropTypes.string,\n upArrowDownArrow: PropTypes.string,\n pageUpPageDown: PropTypes.string,\n homeEnd: PropTypes.string,\n escape: PropTypes.string,\n questionMark: PropTypes.string,\n selectFocusedDate: PropTypes.string,\n moveFocusByOneDay: PropTypes.string,\n moveFocusByOneWeek: PropTypes.string,\n moveFocusByOneMonth: PropTypes.string,\n moveFocustoStartAndEndOfWeek: PropTypes.string,\n returnFocusToInput: PropTypes.string,\n keyboardNavigationInstructions: PropTypes.string,\n chooseAvailableStartDate: PropTypes.func,\n chooseAvailableEndDate: PropTypes.func,\n dateIsUnavailable: PropTypes.func,\n dateIsSelected: PropTypes.func,\n }),\n // displayFormat: 'L',\n displayFormatDay: 'D',\n transitionDuration: 0,\n // verticalSpacing: 0,\n isDayBlocked: () => false,\n isOutsideRange: () => false,\n isDayHighlighted: () => false,\n numberOfMonths: 1,\n};\n\nexport { DSDatePickerController };\n", "import * as React from 'react';\nexport { React };\n"],
5
5
  "mappings": "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",
6
6
  "names": ["React", "moment", "PropTypes"]
7
7
  }
@@ -33,7 +33,7 @@ var import_jsx_runtime = require("react/jsx-runtime");
33
33
  var import_prop_types = __toESM(require("prop-types"));
34
34
  var import_ds_classnames = require("@elliemae/ds-classnames");
35
35
  var import_ds_popper = require("@elliemae/ds-popper");
36
- var import_DatePickerPicker = require("./DatePickerPicker/DatePickerPicker");
36
+ var import_DatePickerPicker = require("./DatePickerPicker/DatePickerPicker.js");
37
37
  const { classNameElement } = (0, import_ds_classnames.convertPropToCssClassName)("datepicker-range");
38
38
  const noop = () => null;
39
39
  const DatePickerDropdown = ({
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/DatePickerDropdown.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { DSPopper } from '@elliemae/ds-popper';\nimport { DatePickerPicker, PickerPropsTypes } from './DatePickerPicker/DatePickerPicker';\nconst { classNameElement } = convertPropToCssClassName('datepicker-range');\n\nconst noop = () => null;\nconst DatePickerDropdown = ({\n disabled = false,\n readOnly,\n onClick = noop,\n isOpen,\n menu,\n zIndex = 1,\n pickerProps,\n pickerRef,\n}) => (\n <DSPopper\n contentComponent={menu}\n isOpen={isOpen}\n modifiers={{\n preventOverflow: {\n enabled: true,\n padding: 0,\n boundariesElement: 'window',\n },\n }}\n showArrow={false}\n triggerComponent={\n <div>\n <DatePickerPicker\n innerRef={pickerRef}\n {...pickerProps}\n className={classNameElement('picker')}\n disabled={disabled}\n onClick={onClick}\n readOnly={readOnly}\n />\n </div>\n }\n zIndex={zIndex}\n />\n);\n\nDatePickerDropdown.propTypes = {\n pickerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ current: PropTypes.any })]),\n disabled: PropTypes.bool,\n readOnly: PropTypes.bool,\n onClick: PropTypes.func,\n isOpen: PropTypes.bool,\n menu: PropTypes.element,\n zIndex: PropTypes.number,\n pickerProps: PropTypes.shape(PickerPropsTypes),\n};\n\nexport { DatePickerDropdown };\nexport default DatePickerDropdown;\n", "import * as React from 'react';\nexport { React };\n"],
4
+ "sourcesContent": ["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { DSPopper } from '@elliemae/ds-popper';\nimport { DatePickerPicker, PickerPropsTypes } from './DatePickerPicker/DatePickerPicker.js';\nconst { classNameElement } = convertPropToCssClassName('datepicker-range');\n\nconst noop = () => null;\nconst DatePickerDropdown = ({\n disabled = false,\n readOnly,\n onClick = noop,\n isOpen,\n menu,\n zIndex = 1,\n pickerProps,\n pickerRef,\n}) => (\n <DSPopper\n contentComponent={menu}\n isOpen={isOpen}\n modifiers={{\n preventOverflow: {\n enabled: true,\n padding: 0,\n boundariesElement: 'window',\n },\n }}\n showArrow={false}\n triggerComponent={\n <div>\n <DatePickerPicker\n innerRef={pickerRef}\n {...pickerProps}\n className={classNameElement('picker')}\n disabled={disabled}\n onClick={onClick}\n readOnly={readOnly}\n />\n </div>\n }\n zIndex={zIndex}\n />\n);\n\nDatePickerDropdown.propTypes = {\n pickerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ current: PropTypes.any })]),\n disabled: PropTypes.bool,\n readOnly: PropTypes.bool,\n onClick: PropTypes.func,\n isOpen: PropTypes.bool,\n menu: PropTypes.element,\n zIndex: PropTypes.number,\n pickerProps: PropTypes.shape(PickerPropsTypes),\n};\n\nexport { DatePickerDropdown };\nexport default DatePickerDropdown;\n", "import * as React from 'react';\nexport { React };\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD+Bf;AA9BR,wBAAsB;AACtB,2BAA0C;AAC1C,uBAAyB;AACzB,8BAAmD;AACnD,MAAM,EAAE,iBAAiB,QAAI,gDAA0B,kBAAkB;AAEzE,MAAM,OAAO,MAAM;AACnB,MAAM,qBAAqB,CAAC;AAAA,EAC1B,WAAW;AAAA,EACX;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA;AACF,MACE;AAAA,EAAC;AAAA;AAAA,IACC,kBAAkB;AAAA,IAClB;AAAA,IACA,WAAW;AAAA,MACT,iBAAiB;AAAA,QACf,SAAS;AAAA,QACT,SAAS;AAAA,QACT,mBAAmB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,WAAW;AAAA,IACX,kBACE,4CAAC,SACC;AAAA,MAAC;AAAA;AAAA,QACC,UAAU;AAAA,QACT,GAAG;AAAA,QACJ,WAAW,iBAAiB,QAAQ;AAAA,QACpC;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF,GACF;AAAA,IAEF;AAAA;AACF;AAGF,mBAAmB,YAAY;AAAA,EAC7B,WAAW,kBAAAA,QAAU,UAAU,CAAC,kBAAAA,QAAU,MAAM,kBAAAA,QAAU,MAAM,EAAE,SAAS,kBAAAA,QAAU,IAAI,CAAC,CAAC,CAAC;AAAA,EAC5F,UAAU,kBAAAA,QAAU;AAAA,EACpB,UAAU,kBAAAA,QAAU;AAAA,EACpB,SAAS,kBAAAA,QAAU;AAAA,EACnB,QAAQ,kBAAAA,QAAU;AAAA,EAClB,MAAM,kBAAAA,QAAU;AAAA,EAChB,QAAQ,kBAAAA,QAAU;AAAA,EAClB,aAAa,kBAAAA,QAAU,MAAM,wCAAgB;AAC/C;AAGA,IAAO,6BAAQ;",
6
6
  "names": ["PropTypes"]
7
7
  }
@@ -32,7 +32,7 @@ __export(DatePickerPicker_exports, {
32
32
  module.exports = __toCommonJS(DatePickerPicker_exports);
33
33
  var React = __toESM(require("react"));
34
34
  var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_ds_utilities = require("@elliemae/ds-utilities");
35
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
36
36
  var import_ds_icon = require("@elliemae/ds-icon");
37
37
  var import_ds_icons = require("@elliemae/ds-icons");
38
38
  var import_ds_button = require("@elliemae/ds-button");
@@ -68,17 +68,17 @@ const Picker = ({
68
68
  }
69
69
  );
70
70
  const PickerPropsTypes = {
71
- innerRef: import_ds_utilities.PropTypes.oneOfType([import_ds_utilities.PropTypes.func, import_ds_utilities.PropTypes.shape({ current: import_ds_utilities.PropTypes.any })]),
72
- className: import_ds_utilities.PropTypes.string,
73
- disabled: import_ds_utilities.PropTypes.bool,
74
- icon: import_ds_utilities.PropTypes.element,
75
- size: import_ds_utilities.PropTypes.oneOf(import_ds_shared.iconSizes),
76
- buttonActionType: import_ds_utilities.PropTypes.oneOf(import_ds_button.buttonTypes),
77
- onClick: import_ds_utilities.PropTypes.func,
78
- onFocus: import_ds_utilities.PropTypes.func,
79
- onBlur: import_ds_utilities.PropTypes.func,
80
- readOnly: import_ds_utilities.PropTypes.bool,
81
- tabIndex: import_ds_utilities.PropTypes.number
71
+ innerRef: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.func, import_ds_props_helpers.PropTypes.shape({ current: import_ds_props_helpers.PropTypes.any })]),
72
+ className: import_ds_props_helpers.PropTypes.string,
73
+ disabled: import_ds_props_helpers.PropTypes.bool,
74
+ icon: import_ds_props_helpers.PropTypes.element,
75
+ size: import_ds_props_helpers.PropTypes.oneOf(import_ds_shared.iconSizes),
76
+ buttonActionType: import_ds_props_helpers.PropTypes.oneOf(import_ds_button.buttonTypes),
77
+ onClick: import_ds_props_helpers.PropTypes.func,
78
+ onFocus: import_ds_props_helpers.PropTypes.func,
79
+ onBlur: import_ds_props_helpers.PropTypes.func,
80
+ readOnly: import_ds_props_helpers.PropTypes.bool,
81
+ tabIndex: import_ds_props_helpers.PropTypes.number
82
82
  };
83
83
  Picker.propTypes = PickerPropsTypes;
84
84
  var DatePickerPicker_default = Picker;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/DatePickerPicker/DatePickerPicker.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React from 'react';\nimport { PropTypes } from '@elliemae/ds-utilities';\nimport { DSIconColors, DSIconSizes } from '@elliemae/ds-icon';\nimport { DatePicker } from '@elliemae/ds-icons';\nimport { DSButton, buttonTypes } from '@elliemae/ds-button';\nimport { iconSizes } from '@elliemae/ds-shared';\n\nexport const Picker = ({\n className = 'date-picker-icon',\n disabled = false,\n icon = <DatePicker />,\n size = DSIconSizes.M,\n buttonActionType = 'secondary',\n onClick = () => null,\n onBlur = () => null,\n readOnly = false,\n tabIndex = 0,\n innerRef,\n ...rest\n}) => (\n <DSButton\n innerRef={innerRef}\n aria-label={rest['aria-label'] || 'Date Picker Button'}\n buttonType={buttonActionType}\n className={className}\n color={!disabled ? DSIconColors.PRIMARY : DSIconColors.NEUTRAL}\n disabled={disabled}\n icon={icon}\n onBlur={onBlur}\n onClick={onClick}\n readOnly={readOnly}\n size={size}\n tabIndex={tabIndex}\n data-testid=\"btn-date-picker\"\n />\n);\n\nexport const PickerPropsTypes = {\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ current: PropTypes.any })]),\n className: PropTypes.string,\n disabled: PropTypes.bool,\n icon: PropTypes.element,\n size: PropTypes.oneOf(iconSizes),\n buttonActionType: PropTypes.oneOf(buttonTypes),\n onClick: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n readOnly: PropTypes.bool,\n tabIndex: PropTypes.number,\n};\n\nPicker.propTypes = PickerPropsTypes;\n\nexport { Picker as DatePickerPicker };\nexport default Picker;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADUd;AATT,0BAA0B;AAC1B,qBAA0C;AAC1C,sBAA2B;AAC3B,uBAAsC;AACtC,uBAA0B;AAEnB,MAAM,SAAS,CAAC;AAAA,EACrB,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,OAAO,4CAAC,8BAAW;AAAA,EACnB,OAAO,2BAAY;AAAA,EACnB,mBAAmB;AAAA,EACnB,UAAU,MAAM;AAAA,EAChB,SAAS,MAAM;AAAA,EACf,WAAW;AAAA,EACX,WAAW;AAAA,EACX;AAAA,KACG;AACL,MACE;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,cAAY,KAAK,iBAAiB;AAAA,IAClC,YAAY;AAAA,IACZ;AAAA,IACA,OAAO,CAAC,WAAW,4BAAa,UAAU,4BAAa;AAAA,IACvD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAY;AAAA;AACd;AAGK,MAAM,mBAAmB;AAAA,EAC9B,UAAU,8BAAU,UAAU,CAAC,8BAAU,MAAM,8BAAU,MAAM,EAAE,SAAS,8BAAU,IAAI,CAAC,CAAC,CAAC;AAAA,EAC3F,WAAW,8BAAU;AAAA,EACrB,UAAU,8BAAU;AAAA,EACpB,MAAM,8BAAU;AAAA,EAChB,MAAM,8BAAU,MAAM,0BAAS;AAAA,EAC/B,kBAAkB,8BAAU,MAAM,4BAAW;AAAA,EAC7C,SAAS,8BAAU;AAAA,EACnB,SAAS,8BAAU;AAAA,EACnB,QAAQ,8BAAU;AAAA,EAClB,UAAU,8BAAU;AAAA,EACpB,UAAU,8BAAU;AACtB;AAEA,OAAO,YAAY;AAGnB,IAAO,2BAAQ;",
4
+ "sourcesContent": ["import React from 'react';\nimport { PropTypes } from '@elliemae/ds-props-helpers';\nimport { DSIconColors, DSIconSizes } from '@elliemae/ds-icon';\nimport { DatePicker } from '@elliemae/ds-icons';\nimport { DSButton, buttonTypes } from '@elliemae/ds-button';\nimport { iconSizes } from '@elliemae/ds-shared';\n\nexport const Picker = ({\n className = 'date-picker-icon',\n disabled = false,\n icon = <DatePicker />,\n size = DSIconSizes.M,\n buttonActionType = 'secondary',\n onClick = () => null,\n onBlur = () => null,\n readOnly = false,\n tabIndex = 0,\n innerRef,\n ...rest\n}) => (\n <DSButton\n innerRef={innerRef}\n aria-label={rest['aria-label'] || 'Date Picker Button'}\n buttonType={buttonActionType}\n className={className}\n color={!disabled ? DSIconColors.PRIMARY : DSIconColors.NEUTRAL}\n disabled={disabled}\n icon={icon}\n onBlur={onBlur}\n onClick={onClick}\n readOnly={readOnly}\n size={size}\n tabIndex={tabIndex}\n data-testid=\"btn-date-picker\"\n />\n);\n\nexport const PickerPropsTypes = {\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ current: PropTypes.any })]),\n className: PropTypes.string,\n disabled: PropTypes.bool,\n icon: PropTypes.element,\n size: PropTypes.oneOf(iconSizes),\n buttonActionType: PropTypes.oneOf(buttonTypes),\n onClick: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n readOnly: PropTypes.bool,\n tabIndex: PropTypes.number,\n};\n\nPicker.propTypes = PickerPropsTypes;\n\nexport { Picker as DatePickerPicker };\nexport default Picker;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADUd;AATT,8BAA0B;AAC1B,qBAA0C;AAC1C,sBAA2B;AAC3B,uBAAsC;AACtC,uBAA0B;AAEnB,MAAM,SAAS,CAAC;AAAA,EACrB,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,OAAO,4CAAC,8BAAW;AAAA,EACnB,OAAO,2BAAY;AAAA,EACnB,mBAAmB;AAAA,EACnB,UAAU,MAAM;AAAA,EAChB,SAAS,MAAM;AAAA,EACf,WAAW;AAAA,EACX,WAAW;AAAA,EACX;AAAA,KACG;AACL,MACE;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,cAAY,KAAK,iBAAiB;AAAA,IAClC,YAAY;AAAA,IACZ;AAAA,IACA,OAAO,CAAC,WAAW,4BAAa,UAAU,4BAAa;AAAA,IACvD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAY;AAAA;AACd;AAGK,MAAM,mBAAmB;AAAA,EAC9B,UAAU,kCAAU,UAAU,CAAC,kCAAU,MAAM,kCAAU,MAAM,EAAE,SAAS,kCAAU,IAAI,CAAC,CAAC,CAAC;AAAA,EAC3F,WAAW,kCAAU;AAAA,EACrB,UAAU,kCAAU;AAAA,EACpB,MAAM,kCAAU;AAAA,EAChB,MAAM,kCAAU,MAAM,0BAAS;AAAA,EAC/B,kBAAkB,kCAAU,MAAM,4BAAW;AAAA,EAC7C,SAAS,kCAAU;AAAA,EACnB,SAAS,kCAAU;AAAA,EACnB,QAAQ,kCAAU;AAAA,EAClB,UAAU,kCAAU;AAAA,EACpB,UAAU,kCAAU;AACtB;AAEA,OAAO,YAAY;AAGnB,IAAO,2BAAQ;",
6
6
  "names": []
7
7
  }
@@ -35,9 +35,9 @@ var import_react_dates = require("react-dates");
35
35
  var import_moment = __toESM(require("moment"));
36
36
  var import_ds_classnames = require("@elliemae/ds-classnames");
37
37
  var import_ds_icons = require("@elliemae/ds-icons");
38
- var import_DatePickerDay = require("../DatePickerDay/DatePickerDay");
39
- var import_DatePickerNavigation = require("../DatePickerNavigation/DatePickerNavigation");
40
- var import_DatePickerRangeHeader = require("../DatePickerRangeHeader/DatePickerRangeHeader");
38
+ var import_DatePickerDay = require("../DatePickerDay/DatePickerDay.js");
39
+ var import_DatePickerNavigation = require("../DatePickerNavigation/DatePickerNavigation.js");
40
+ var import_DatePickerRangeHeader = require("../DatePickerRangeHeader/DatePickerRangeHeader.js");
41
41
  const blockname = "date-range";
42
42
  const Wrapper = (0, import_ds_classnames.aggregatedClasses)("div")(blockname, "wrapper");
43
43
  const { classNameElement, classNameBlock } = (0, import_ds_classnames.convertPropToCssClassName)("datepicker");
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/DatePickerRange/DatePickerRange.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable react/prop-types */\n/* eslint-disable consistent-return */\nimport React, { useState, useRef } from 'react';\nimport { DayPickerRangeController } from 'react-dates';\nimport moment from 'moment';\nimport { aggregatedClasses, convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { ChevronLeft } from '@elliemae/ds-icons';\nimport { DatePickerDay } from '../DatePickerDay/DatePickerDay';\nimport { DatePickerNavigation } from '../DatePickerNavigation/DatePickerNavigation';\nimport { DatePickerRangeHeader } from '../DatePickerRangeHeader/DatePickerRangeHeader';\n\nconst blockname = 'date-range';\nconst Wrapper = aggregatedClasses('div')(blockname, 'wrapper');\n\nconst { classNameElement, classNameBlock } = convertPropToCssClassName('datepicker');\n\nconst START_DATE = 'startDate';\nconst END_DATE = 'endDate';\n\nconst DatePickerRangeDate = ({ dateStart, dateEnd, displayFormatDay = 'D', showHeader = true, otherProps }) => {\n const [selectedDateStart, setSelectedDateStart] = useState(dateStart);\n const [selectedDateEnd, setSelectedDateEnd] = useState(dateEnd);\n const [focusedInput, setFocusedInput] = useState(START_DATE);\n const datePickerRef = useRef();\n\n const handleFocusChange = () => {\n setFocusedInput(focusedInput === START_DATE ? END_DATE : START_DATE);\n };\n\n const handleDatesChange = ({ startDate, endDate }) => {\n setSelectedDateStart(startDate);\n setSelectedDateEnd(endDate);\n };\n\n const handleStartInputChange = (newDate) => {\n setSelectedDateStart(newDate);\n };\n\n const handleEndInputChange = (newDate) => {\n setSelectedDateEnd(newDate);\n };\n\n const getSafeDateStartValue = () => {\n if (selectedDateStart) {\n return moment(selectedDateStart);\n }\n };\n\n const getSafeDateEndValue = () => {\n if (selectedDateEnd) {\n return moment(selectedDateEnd);\n }\n };\n\n const safeStartDate = getSafeDateStartValue();\n const safeEndDate = getSafeDateEndValue();\n\n return (\n <Wrapper>\n {showHeader && (\n <DatePickerRangeHeader\n onEndInputChange={handleEndInputChange}\n onStartInputChange={handleStartInputChange}\n selectedEndDate={safeEndDate}\n selectedStartDate={safeStartDate}\n />\n )}\n <div ref={datePickerRef} className={classNameBlock('wrapper-day-picker-single-date-controller')}>\n <DayPickerRangeController\n {...otherProps}\n enableOutsideDays\n endDate={safeEndDate}\n focused\n focusedInput={focusedInput}\n hideKeyboardShortcutsPanel\n navNext={<DatePickerNavigation className={classNameElement('navigation-next')} />}\n navPrev={<DatePickerNavigation className={classNameElement('navigation-prev')} icon={ChevronLeft} />}\n onDatesChange={handleDatesChange}\n onFocusChange={handleFocusChange}\n renderDayContents={(date) => (\n <DatePickerDay className={classNameElement('day-contents')} date={date.format(displayFormatDay)} />\n )}\n startDate={safeStartDate}\n />\n </div>\n </Wrapper>\n );\n};\n\nexport { DatePickerRangeDate };\nexport default DatePickerRangeDate;\n", "import * as React from 'react';\nexport { React };\n"],
4
+ "sourcesContent": ["/* eslint-disable react/prop-types */\n/* eslint-disable consistent-return */\nimport React, { useState, useRef } from 'react';\nimport { DayPickerRangeController } from 'react-dates';\nimport moment from 'moment';\nimport { aggregatedClasses, convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { ChevronLeft } from '@elliemae/ds-icons';\nimport { DatePickerDay } from '../DatePickerDay/DatePickerDay.js';\nimport { DatePickerNavigation } from '../DatePickerNavigation/DatePickerNavigation.js';\nimport { DatePickerRangeHeader } from '../DatePickerRangeHeader/DatePickerRangeHeader.js';\n\nconst blockname = 'date-range';\nconst Wrapper = aggregatedClasses('div')(blockname, 'wrapper');\n\nconst { classNameElement, classNameBlock } = convertPropToCssClassName('datepicker');\n\nconst START_DATE = 'startDate';\nconst END_DATE = 'endDate';\n\nconst DatePickerRangeDate = ({ dateStart, dateEnd, displayFormatDay = 'D', showHeader = true, otherProps }) => {\n const [selectedDateStart, setSelectedDateStart] = useState(dateStart);\n const [selectedDateEnd, setSelectedDateEnd] = useState(dateEnd);\n const [focusedInput, setFocusedInput] = useState(START_DATE);\n const datePickerRef = useRef();\n\n const handleFocusChange = () => {\n setFocusedInput(focusedInput === START_DATE ? END_DATE : START_DATE);\n };\n\n const handleDatesChange = ({ startDate, endDate }) => {\n setSelectedDateStart(startDate);\n setSelectedDateEnd(endDate);\n };\n\n const handleStartInputChange = (newDate) => {\n setSelectedDateStart(newDate);\n };\n\n const handleEndInputChange = (newDate) => {\n setSelectedDateEnd(newDate);\n };\n\n const getSafeDateStartValue = () => {\n if (selectedDateStart) {\n return moment(selectedDateStart);\n }\n };\n\n const getSafeDateEndValue = () => {\n if (selectedDateEnd) {\n return moment(selectedDateEnd);\n }\n };\n\n const safeStartDate = getSafeDateStartValue();\n const safeEndDate = getSafeDateEndValue();\n\n return (\n <Wrapper>\n {showHeader && (\n <DatePickerRangeHeader\n onEndInputChange={handleEndInputChange}\n onStartInputChange={handleStartInputChange}\n selectedEndDate={safeEndDate}\n selectedStartDate={safeStartDate}\n />\n )}\n <div ref={datePickerRef} className={classNameBlock('wrapper-day-picker-single-date-controller')}>\n <DayPickerRangeController\n {...otherProps}\n enableOutsideDays\n endDate={safeEndDate}\n focused\n focusedInput={focusedInput}\n hideKeyboardShortcutsPanel\n navNext={<DatePickerNavigation className={classNameElement('navigation-next')} />}\n navPrev={<DatePickerNavigation className={classNameElement('navigation-prev')} icon={ChevronLeft} />}\n onDatesChange={handleDatesChange}\n onFocusChange={handleFocusChange}\n renderDayContents={(date) => (\n <DatePickerDay className={classNameElement('day-contents')} date={date.format(displayFormatDay)} />\n )}\n startDate={safeStartDate}\n />\n </div>\n </Wrapper>\n );\n};\n\nexport { DatePickerRangeDate };\nexport default DatePickerRangeDate;\n", "import * as React from 'react';\nexport { React };\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD0DnB;AAxDJ,mBAAwC;AACxC,yBAAyC;AACzC,oBAAmB;AACnB,2BAA6D;AAC7D,sBAA4B;AAC5B,2BAA8B;AAC9B,kCAAqC;AACrC,mCAAsC;AAEtC,MAAM,YAAY;AAClB,MAAM,cAAU,wCAAkB,KAAK,EAAE,WAAW,SAAS;AAE7D,MAAM,EAAE,kBAAkB,eAAe,QAAI,gDAA0B,YAAY;AAEnF,MAAM,aAAa;AACnB,MAAM,WAAW;AAEjB,MAAM,sBAAsB,CAAC,EAAE,WAAW,SAAS,mBAAmB,KAAK,aAAa,MAAM,WAAW,MAAM;AAC7G,QAAM,CAAC,mBAAmB,oBAAoB,QAAI,uBAAS,SAAS;AACpE,QAAM,CAAC,iBAAiB,kBAAkB,QAAI,uBAAS,OAAO;AAC9D,QAAM,CAAC,cAAc,eAAe,QAAI,uBAAS,UAAU;AAC3D,QAAM,oBAAgB,qBAAO;AAE7B,QAAM,oBAAoB,MAAM;AAC9B,oBAAgB,iBAAiB,aAAa,WAAW,UAAU;AAAA,EACrE;AAEA,QAAM,oBAAoB,CAAC,EAAE,WAAW,QAAQ,MAAM;AACpD,yBAAqB,SAAS;AAC9B,uBAAmB,OAAO;AAAA,EAC5B;AAEA,QAAM,yBAAyB,CAAC,YAAY;AAC1C,yBAAqB,OAAO;AAAA,EAC9B;AAEA,QAAM,uBAAuB,CAAC,YAAY;AACxC,uBAAmB,OAAO;AAAA,EAC5B;AAEA,QAAM,wBAAwB,MAAM;AAClC,QAAI,mBAAmB;AACrB,iBAAO,cAAAA,SAAO,iBAAiB;AAAA,IACjC;AAAA,EACF;AAEA,QAAM,sBAAsB,MAAM;AAChC,QAAI,iBAAiB;AACnB,iBAAO,cAAAA,SAAO,eAAe;AAAA,IAC/B;AAAA,EACF;AAEA,QAAM,gBAAgB,sBAAsB;AAC5C,QAAM,cAAc,oBAAoB;AAExC,SACE,6CAAC,WACE;AAAA,kBACC;AAAA,MAAC;AAAA;AAAA,QACC,kBAAkB;AAAA,QAClB,oBAAoB;AAAA,QACpB,iBAAiB;AAAA,QACjB,mBAAmB;AAAA;AAAA,IACrB;AAAA,IAEF,4CAAC,SAAI,KAAK,eAAe,WAAW,eAAe,2CAA2C,GAC5F;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ,mBAAiB;AAAA,QACjB,SAAS;AAAA,QACT,SAAO;AAAA,QACP;AAAA,QACA,4BAA0B;AAAA,QAC1B,SAAS,4CAAC,oDAAqB,WAAW,iBAAiB,iBAAiB,GAAG;AAAA,QAC/E,SAAS,4CAAC,oDAAqB,WAAW,iBAAiB,iBAAiB,GAAG,MAAM,6BAAa;AAAA,QAClG,eAAe;AAAA,QACf,eAAe;AAAA,QACf,mBAAmB,CAAC,SAClB,4CAAC,sCAAc,WAAW,iBAAiB,cAAc,GAAG,MAAM,KAAK,OAAO,gBAAgB,GAAG;AAAA,QAEnG,WAAW;AAAA;AAAA,IACb,GACF;AAAA,KACF;AAEJ;AAGA,IAAO,0BAAQ;",
6
6
  "names": ["moment"]
7
7
  }