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

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.
@@ -32,11 +32,12 @@ module.exports = __toCommonJS(DSDateTimePicker_exports);
32
32
  var React = __toESM(require("react"));
33
33
  var import_jsx_runtime = require("react/jsx-runtime");
34
34
  var import_ds_utilities = require("@elliemae/ds-utilities");
35
+ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
35
36
  var import_moment = __toESM(require("moment"));
36
37
  var import_ds_classnames = require("@elliemae/ds-classnames");
37
38
  var import_ds_date_picker = require("@elliemae/ds-date-picker");
38
- var import_DateTimePickerImpl = require("./components/DateTimePickerImpl");
39
- var import_english = __toESM(require("./lang/english"));
39
+ var import_DateTimePickerImpl = require("./components/DateTimePickerImpl.js");
40
+ var import_english = __toESM(require("./lang/english.js"));
40
41
  const { placeholder: placeholderDefault, className: classNameDefault, id: idDefault } = import_english.default;
41
42
  const DSDateTimePicker = ({
42
43
  containerProps = {},
@@ -77,6 +78,7 @@ const DSDateTimePicker = ({
77
78
  onDateInputDateChange: () => null
78
79
  }
79
80
  }) => {
81
+ (0, import_ds_utilities.useDeprecateComponent)({ componentName: "ds-date-time-picker", version: "3.x Date: 2023 Q1" });
80
82
  const { cssClassName } = (0, import_ds_classnames.convertPropToCssClassName)("datetimepicker", className, {
81
83
  id
82
84
  });
@@ -94,73 +96,73 @@ const DSDateTimePicker = ({
94
96
  ) });
95
97
  };
96
98
  const dateTimePickerProps = {
97
- containerProps: import_ds_utilities.PropTypes.object.description("Set of Properties attached to the main container"),
98
- className: import_ds_utilities.PropTypes.string.description("html class attribute"),
99
- id: import_ds_utilities.PropTypes.string.description("components id"),
100
- onBlur: import_ds_utilities.PropTypes.func.description("on blur callback"),
101
- date: import_ds_utilities.PropTypes.instanceOf(Date, import_moment.default).description("Initial date, by default current date"),
102
- clearable: import_ds_utilities.PropTypes.bool.description("Flag to trigger onDateChange on error"),
103
- datePickerProps: import_ds_utilities.PropTypes.shape({
104
- disabled: import_ds_utilities.PropTypes.bool,
105
- numberOfMonths: import_ds_utilities.PropTypes.number,
106
- readOnly: import_ds_utilities.PropTypes.bool,
107
- enableOutsideDays: import_ds_utilities.PropTypes.bool,
108
- transitionDuration: import_ds_utilities.PropTypes.number,
109
- firstDayOfWeek: import_ds_utilities.PropTypes.number,
110
- keepOpenOnDateSelect: import_ds_utilities.PropTypes.bool,
111
- hideKeyboardShortcutsPanel: import_ds_utilities.PropTypes.bool,
112
- onPrevMonthClick: import_ds_utilities.PropTypes.func,
113
- onNextMonthClick: import_ds_utilities.PropTypes.func,
114
- onClose: import_ds_utilities.PropTypes.func,
115
- onDateChange: import_ds_utilities.PropTypes.func,
116
- phrases: import_ds_utilities.PropTypes.shape({
117
- calendarLabel: import_ds_utilities.PropTypes.string,
118
- closeDatePicker: import_ds_utilities.PropTypes.string,
119
- clearDates: import_ds_utilities.PropTypes.string,
120
- focusStartDate: import_ds_utilities.PropTypes.string,
121
- jumpToPrevMonth: import_ds_utilities.PropTypes.string,
122
- jumpToNextMonth: import_ds_utilities.PropTypes.string,
123
- keyboardShortcuts: import_ds_utilities.PropTypes.string,
124
- showKeyboardShortcutsPanel: import_ds_utilities.PropTypes.string,
125
- hideKeyboardShortcutsPanel: import_ds_utilities.PropTypes.string,
126
- openThisPanel: import_ds_utilities.PropTypes.string,
127
- enterKey: import_ds_utilities.PropTypes.string,
128
- leftArrowRightArrow: import_ds_utilities.PropTypes.string,
129
- upArrowDownArrow: import_ds_utilities.PropTypes.string,
130
- pageUpPageDown: import_ds_utilities.PropTypes.string,
131
- homeEnd: import_ds_utilities.PropTypes.string,
132
- escape: import_ds_utilities.PropTypes.string,
133
- questionMark: import_ds_utilities.PropTypes.string,
134
- selectFocusedDate: import_ds_utilities.PropTypes.string,
135
- moveFocusByOneDay: import_ds_utilities.PropTypes.string,
136
- moveFocusByOneWeek: import_ds_utilities.PropTypes.string,
137
- moveFocusByOneMonth: import_ds_utilities.PropTypes.string,
138
- moveFocustoStartAndEndOfWeek: import_ds_utilities.PropTypes.string,
139
- returnFocusToInput: import_ds_utilities.PropTypes.string,
140
- keyboardNavigationInstructions: import_ds_utilities.PropTypes.string,
141
- chooseAvailableStartDate: import_ds_utilities.PropTypes.func,
142
- chooseAvailableEndDate: import_ds_utilities.PropTypes.func,
143
- dateIsUnavailable: import_ds_utilities.PropTypes.func,
144
- dateIsSelected: import_ds_utilities.PropTypes.func,
145
- zIndex: import_ds_utilities.PropTypes.number
99
+ containerProps: import_ds_props_helpers.PropTypes.object.description("Set of Properties attached to the main container"),
100
+ className: import_ds_props_helpers.PropTypes.string.description("html class attribute"),
101
+ id: import_ds_props_helpers.PropTypes.string.description("components id"),
102
+ onBlur: import_ds_props_helpers.PropTypes.func.description("on blur callback"),
103
+ date: import_ds_props_helpers.PropTypes.instanceOf(Date, import_moment.default).description("Initial date, by default current date"),
104
+ clearable: import_ds_props_helpers.PropTypes.bool.description("Flag to trigger onDateChange on error"),
105
+ datePickerProps: import_ds_props_helpers.PropTypes.shape({
106
+ disabled: import_ds_props_helpers.PropTypes.bool,
107
+ numberOfMonths: import_ds_props_helpers.PropTypes.number,
108
+ readOnly: import_ds_props_helpers.PropTypes.bool,
109
+ enableOutsideDays: import_ds_props_helpers.PropTypes.bool,
110
+ transitionDuration: import_ds_props_helpers.PropTypes.number,
111
+ firstDayOfWeek: import_ds_props_helpers.PropTypes.number,
112
+ keepOpenOnDateSelect: import_ds_props_helpers.PropTypes.bool,
113
+ hideKeyboardShortcutsPanel: import_ds_props_helpers.PropTypes.bool,
114
+ onPrevMonthClick: import_ds_props_helpers.PropTypes.func,
115
+ onNextMonthClick: import_ds_props_helpers.PropTypes.func,
116
+ onClose: import_ds_props_helpers.PropTypes.func,
117
+ onDateChange: import_ds_props_helpers.PropTypes.func,
118
+ phrases: import_ds_props_helpers.PropTypes.shape({
119
+ calendarLabel: import_ds_props_helpers.PropTypes.string,
120
+ closeDatePicker: import_ds_props_helpers.PropTypes.string,
121
+ clearDates: import_ds_props_helpers.PropTypes.string,
122
+ focusStartDate: import_ds_props_helpers.PropTypes.string,
123
+ jumpToPrevMonth: import_ds_props_helpers.PropTypes.string,
124
+ jumpToNextMonth: import_ds_props_helpers.PropTypes.string,
125
+ keyboardShortcuts: import_ds_props_helpers.PropTypes.string,
126
+ showKeyboardShortcutsPanel: import_ds_props_helpers.PropTypes.string,
127
+ hideKeyboardShortcutsPanel: import_ds_props_helpers.PropTypes.string,
128
+ openThisPanel: import_ds_props_helpers.PropTypes.string,
129
+ enterKey: import_ds_props_helpers.PropTypes.string,
130
+ leftArrowRightArrow: import_ds_props_helpers.PropTypes.string,
131
+ upArrowDownArrow: import_ds_props_helpers.PropTypes.string,
132
+ pageUpPageDown: import_ds_props_helpers.PropTypes.string,
133
+ homeEnd: import_ds_props_helpers.PropTypes.string,
134
+ escape: import_ds_props_helpers.PropTypes.string,
135
+ questionMark: import_ds_props_helpers.PropTypes.string,
136
+ selectFocusedDate: import_ds_props_helpers.PropTypes.string,
137
+ moveFocusByOneDay: import_ds_props_helpers.PropTypes.string,
138
+ moveFocusByOneWeek: import_ds_props_helpers.PropTypes.string,
139
+ moveFocusByOneMonth: import_ds_props_helpers.PropTypes.string,
140
+ moveFocustoStartAndEndOfWeek: import_ds_props_helpers.PropTypes.string,
141
+ returnFocusToInput: import_ds_props_helpers.PropTypes.string,
142
+ keyboardNavigationInstructions: import_ds_props_helpers.PropTypes.string,
143
+ chooseAvailableStartDate: import_ds_props_helpers.PropTypes.func,
144
+ chooseAvailableEndDate: import_ds_props_helpers.PropTypes.func,
145
+ dateIsUnavailable: import_ds_props_helpers.PropTypes.func,
146
+ dateIsSelected: import_ds_props_helpers.PropTypes.func,
147
+ zIndex: import_ds_props_helpers.PropTypes.number
146
148
  }),
147
- displayFormatDay: import_ds_utilities.PropTypes.string,
148
- isDayBlocked: import_ds_utilities.PropTypes.func,
149
- isOutsideRange: import_ds_utilities.PropTypes.func,
150
- isDayHighlighted: import_ds_utilities.PropTypes.func
149
+ displayFormatDay: import_ds_props_helpers.PropTypes.string,
150
+ isDayBlocked: import_ds_props_helpers.PropTypes.func,
151
+ isOutsideRange: import_ds_props_helpers.PropTypes.func,
152
+ isDayHighlighted: import_ds_props_helpers.PropTypes.func
151
153
  }).description("DatePicker properties"),
152
- placeholder: import_ds_utilities.PropTypes.string.description("Input placeholder"),
153
- timePickerProps: import_ds_utilities.PropTypes.shape({
154
- format: import_ds_utilities.PropTypes.string,
155
- onChange: import_ds_utilities.PropTypes.func
154
+ placeholder: import_ds_props_helpers.PropTypes.string.description("Input placeholder"),
155
+ timePickerProps: import_ds_props_helpers.PropTypes.shape({
156
+ format: import_ds_props_helpers.PropTypes.string,
157
+ onChange: import_ds_props_helpers.PropTypes.func
156
158
  }).description("TimePicker properties"),
157
- dateInputProps: import_ds_utilities.PropTypes.shape({
158
- onDateInputDateChange: import_ds_utilities.PropTypes.func
159
+ dateInputProps: import_ds_props_helpers.PropTypes.shape({
160
+ onDateInputDateChange: import_ds_props_helpers.PropTypes.func
159
161
  }).description("DateInputProperties")
160
162
  };
161
163
  DSDateTimePicker.propTypes = dateTimePickerProps;
162
164
  DSDateTimePicker.displayName = "DSDateTimePicker";
163
- const DateTimePickerWithSchema = (0, import_ds_utilities.describe)(DSDateTimePicker);
165
+ const DateTimePickerWithSchema = (0, import_ds_props_helpers.describe)(DSDateTimePicker);
164
166
  DateTimePickerWithSchema.propTypes = dateTimePickerProps;
165
167
  var DSDateTimePicker_default = DSDateTimePicker;
166
168
  //# sourceMappingURL=DSDateTimePicker.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/DSDateTimePicker.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 moment from 'moment';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { SingleDatePickerPhrases } from '@elliemae/ds-date-picker';\nimport { DSDateTimePickerImpl } from './components/DateTimePickerImpl';\nimport english from './lang/english';\n\nconst { placeholder: placeholderDefault, className: classNameDefault, id: idDefault } = english;\n\nconst DSDateTimePicker = ({\n containerProps = {},\n className = classNameDefault,\n id = idDefault,\n placeholder = placeholderDefault,\n date,\n clearable = false,\n onBlur = () => null,\n datePickerProps = {\n disabled: false,\n numberOfMonths: 1,\n readOnly: false,\n enableOutsideDays: false,\n transitionDuration: 0,\n firstDayOfWeek: 0,\n keepOpenOnDateSelect: true,\n hideKeyboardShortcutsPanel: true,\n onPrevMonthClick: () => null,\n onNextMonthClick: () => null,\n onClose: () => null,\n onchange: () => null,\n onDateChange: () => null,\n phrases: SingleDatePickerPhrases,\n displayFormatDay: 'D',\n isDayBlocked: () => false,\n isOutsideRange: () => false,\n isDayHighlighted: () => false,\n zIndex: 11,\n },\n timePickerProps = {\n format: 'hh:mm A',\n onChange: () => null,\n disabledTimes: undefined,\n minutesInterval: 1,\n },\n dateInputProps = {\n onDateInputDateChange: () => null,\n },\n}) => {\n const { cssClassName } = convertPropToCssClassName('datetimepicker', className, {\n id,\n });\n return (\n <div className={cssClassName} {...containerProps}>\n <DSDateTimePickerImpl\n clearable={clearable}\n date={date}\n datePickerProps={datePickerProps}\n onBlur={onBlur}\n placeholder={placeholder}\n timePickerProps={timePickerProps}\n dateInputProps={dateInputProps}\n />\n </div>\n );\n};\n\nconst dateTimePickerProps = {\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n className: PropTypes.string.description('html class attribute'),\n id: PropTypes.string.description('components id'),\n /**\n * on blur callback\n */\n onBlur: PropTypes.func.description('on blur callback'),\n /**\n * Initial date, by default current date\n */\n date: PropTypes.instanceOf(Date, moment).description('Initial date, by default current date'),\n /**\n * Flag to trigger onDateChange on error\n */\n clearable: PropTypes.bool.description('Flag to trigger onDateChange on error'),\n /**\n * DatePicker properties\n */\n datePickerProps: PropTypes.shape({\n disabled: PropTypes.bool,\n numberOfMonths: PropTypes.number,\n readOnly: PropTypes.bool,\n enableOutsideDays: PropTypes.bool,\n transitionDuration: PropTypes.number,\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 onDateChange: PropTypes.func,\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 * ZIndex for the picker popup\n */\n zIndex: PropTypes.number,\n }),\n displayFormatDay: PropTypes.string,\n isDayBlocked: PropTypes.func,\n isOutsideRange: PropTypes.func,\n isDayHighlighted: PropTypes.func,\n }).description('DatePicker properties'),\n /**\n * Input placeholder\n */\n placeholder: PropTypes.string.description('Input placeholder'),\n /**\n * TimePicker properties\n */\n timePickerProps: PropTypes.shape({\n format: PropTypes.string,\n onChange: PropTypes.func,\n }).description('TimePicker properties'),\n dateInputProps: PropTypes.shape({\n onDateInputDateChange: PropTypes.func,\n }).description('DateInputProperties'),\n};\n\nDSDateTimePicker.propTypes = dateTimePickerProps;\nDSDateTimePicker.displayName = 'DSDateTimePicker';\nconst DateTimePickerWithSchema = describe(DSDateTimePicker);\nDateTimePickerWithSchema.propTypes = dateTimePickerProps;\n\nexport { DateTimePickerWithSchema, DSDateTimePicker };\nexport default DSDateTimePicker;\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 moment from 'moment';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { SingleDatePickerPhrases } from '@elliemae/ds-date-picker';\nimport { DSDateTimePickerImpl } from './components/DateTimePickerImpl.js';\nimport english from './lang/english.js';\n\nconst { placeholder: placeholderDefault, className: classNameDefault, id: idDefault } = english;\n\nconst DSDateTimePicker = ({\n containerProps = {},\n className = classNameDefault,\n id = idDefault,\n placeholder = placeholderDefault,\n date,\n clearable = false,\n onBlur = () => null,\n datePickerProps = {\n disabled: false,\n numberOfMonths: 1,\n readOnly: false,\n enableOutsideDays: false,\n transitionDuration: 0,\n firstDayOfWeek: 0,\n keepOpenOnDateSelect: true,\n hideKeyboardShortcutsPanel: true,\n onPrevMonthClick: () => null,\n onNextMonthClick: () => null,\n onClose: () => null,\n onchange: () => null,\n onDateChange: () => null,\n phrases: SingleDatePickerPhrases,\n displayFormatDay: 'D',\n isDayBlocked: () => false,\n isOutsideRange: () => false,\n isDayHighlighted: () => false,\n zIndex: 11,\n },\n timePickerProps = {\n format: 'hh:mm A',\n onChange: () => null,\n disabledTimes: undefined,\n minutesInterval: 1,\n },\n dateInputProps = {\n onDateInputDateChange: () => null,\n },\n}) => {\n useDeprecateComponent({ componentName: 'ds-date-time-picker', version: '3.x Date: 2023 Q1' });\n\n const { cssClassName } = convertPropToCssClassName('datetimepicker', className, {\n id,\n });\n return (\n <div className={cssClassName} {...containerProps}>\n <DSDateTimePickerImpl\n clearable={clearable}\n date={date}\n datePickerProps={datePickerProps}\n onBlur={onBlur}\n placeholder={placeholder}\n timePickerProps={timePickerProps}\n dateInputProps={dateInputProps}\n />\n </div>\n );\n};\n\nconst dateTimePickerProps = {\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n className: PropTypes.string.description('html class attribute'),\n id: PropTypes.string.description('components id'),\n /**\n * on blur callback\n */\n onBlur: PropTypes.func.description('on blur callback'),\n /**\n * Initial date, by default current date\n */\n date: PropTypes.instanceOf(Date, moment).description('Initial date, by default current date'),\n /**\n * Flag to trigger onDateChange on error\n */\n clearable: PropTypes.bool.description('Flag to trigger onDateChange on error'),\n /**\n * DatePicker properties\n */\n datePickerProps: PropTypes.shape({\n disabled: PropTypes.bool,\n numberOfMonths: PropTypes.number,\n readOnly: PropTypes.bool,\n enableOutsideDays: PropTypes.bool,\n transitionDuration: PropTypes.number,\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 onDateChange: PropTypes.func,\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 * ZIndex for the picker popup\n */\n zIndex: PropTypes.number,\n }),\n displayFormatDay: PropTypes.string,\n isDayBlocked: PropTypes.func,\n isOutsideRange: PropTypes.func,\n isDayHighlighted: PropTypes.func,\n }).description('DatePicker properties'),\n /**\n * Input placeholder\n */\n placeholder: PropTypes.string.description('Input placeholder'),\n /**\n * TimePicker properties\n */\n timePickerProps: PropTypes.shape({\n format: PropTypes.string,\n onChange: PropTypes.func,\n }).description('TimePicker properties'),\n dateInputProps: PropTypes.shape({\n onDateInputDateChange: PropTypes.func,\n }).description('DateInputProperties'),\n};\n\nDSDateTimePicker.propTypes = dateTimePickerProps;\nDSDateTimePicker.displayName = 'DSDateTimePicker';\nconst DateTimePickerWithSchema = describe(DSDateTimePicker);\nDateTimePickerWithSchema.propTypes = dateTimePickerProps;\n\nexport { DateTimePickerWithSchema, DSDateTimePicker };\nexport default DSDateTimePicker;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
6
  "names": ["english", "moment"]
7
7
  }
@@ -37,7 +37,7 @@ var import_ds_date_picker = require("@elliemae/ds-date-picker");
37
37
  var import_ds_form = require("@elliemae/ds-form");
38
38
  var import_ds_utilities = require("@elliemae/ds-utilities");
39
39
  var import_ds_time_picker = require("@elliemae/ds-time-picker");
40
- var import_utils = require("../utils");
40
+ var import_utils = require("../utils.js");
41
41
  const blockName = "date-time-picker";
42
42
  const DateTimePickerWrapper = (0, import_ds_classnames.aggregatedClasses)("div")(blockName, "wrapper");
43
43
  const TimePicker = (0, import_ds_classnames.aggregatedClasses)(import_ds_time_picker.DSTimePickerMenu)(blockName, "time-picker");
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/DateTimePickerImpl.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable indent */\n/* eslint-disable max-statements */\n/* eslint-disable complexity */\n/* eslint-disable no-empty-pattern */\n/* eslint-disable import/no-unresolved */\n/* eslint-disable max-lines */\n/* eslint-disable react/prop-types */\nimport React, { useState, useEffect, useMemo, useRef } from 'react';\nimport moment from 'moment';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { DSDatePickerController, DatePickerDropdown, SingleDatePickerPhrases } from '@elliemae/ds-date-picker';\nimport { DSInput, DSInputGroup, DateInputsV2Impl, TimeInputImpl } from '@elliemae/ds-form';\nimport { getVisibleTimeByFormat } from '@elliemae/ds-utilities';\nimport { DSTimePickerMenu, convertTimeString } from '@elliemae/ds-time-picker';\nimport { updateDateAndTime } from '../utils';\n\nconst blockName = 'date-time-picker';\n\nconst DateTimePickerWrapper = aggregatedClasses('div')(blockName, 'wrapper');\nconst TimePicker = aggregatedClasses(DSTimePickerMenu)(blockName, 'time-picker');\nconst TimePickerWrapper = aggregatedClasses('div')(blockName, 'time-picker-wrapper');\n// const DateInput = aggregatedClasses(DateInputsV2Impl)(blockName, 'date-input');\nconst formatDate = 'MMDDYYYY';\n\nconst DSDateTimePickerImpl = ({\n onBlur = () => null,\n placeholder,\n date,\n clearable,\n datePickerProps: {\n disabled = false,\n numberOfMonths = 1,\n readOnly = false,\n enableOutsideDays = false,\n transitionDuration = 0,\n firstDayOfWeek = 0,\n keepOpenOnDateSelect = true,\n hideKeyboardShortcutsPanel = true,\n onPrevMonthClick = () => null,\n onNextMonthClick = () => null,\n onClose = () => null,\n onChange: onDatePickerChange = () => null,\n onDateChange = () => null,\n onError: onErrorDate = () => null,\n phrases = SingleDatePickerPhrases,\n displayFormatDay = 'D',\n isDayBlocked = () => false,\n isOutsideRange = () => false,\n isDayHighlighted = () => false,\n zIndex = 11,\n },\n timePickerProps: {\n format = 'hh:mm A',\n onChange: onChangeTimePicker = () => null,\n disabledTimes = undefined,\n onError: onErrorTime = () => null,\n minutesInterval = 1,\n },\n dateInputProps: { onDateInputDateChange = () => null },\n}) => {\n const [selectedDate, setSelectedDate] = useState(undefined);\n const [incompleteInput, setIncompleteInput] = useState(undefined);\n const [isOpen, setIsOpen] = useState(false);\n\n const disabledTimeRange = disabledTimes && {\n from: convertTimeString(disabledTimes.from),\n to: convertTimeString(disabledTimes.to),\n };\n\n const dateTimePickerWrapperRef = useRef();\n const fullFormat = `${formatDate} ${format}`;\n\n useEffect(() => {\n if (date) {\n setSelectedDate(moment(date));\n } else if (date === null) setSelectedDate(undefined);\n }, [date]);\n\n const visiblePanels = useMemo(() => getVisibleTimeByFormat(format), []);\n\n const currentYear = moment().year();\n\n const handleDatePickerChange = (dateSelected) => {\n const splittedDate = updateDateAndTime(dateSelected, selectedDate);\n if (!readOnly) {\n setSelectedDate(splittedDate);\n onDateChange(splittedDate);\n }\n };\n\n const onTimeChange = (pickerTime) => {\n const splittedDate = updateDateAndTime(selectedDate, pickerTime);\n onChangeTimePicker(splittedDate);\n setSelectedDate(splittedDate);\n };\n\n const handleInputChange = (inputValue, type) => {\n onDatePickerChange(inputValue);\n let timeBlocked = false;\n const inputMoment = moment(inputValue, fullFormat);\n setIncompleteInput(inputValue);\n if (type === 'date') {\n const splittedDate = updateDateAndTime(inputMoment, selectedDate);\n if (inputValue.length < 8) {\n onErrorDate({ message: 'date incomplete', inputValue });\n if (clearable) onDateChange('error');\n return;\n }\n if (inputValue.length === 8 && inputMoment.isValid()) {\n setSelectedDate(splittedDate);\n onChangeTimePicker(splittedDate);\n }\n onDateChange(splittedDate);\n return;\n }\n\n if (disabledTimeRange) {\n const hour = inputValue.hour();\n const min = inputValue.minutes();\n const { from, to } = disabledTimeRange;\n\n if ((hour > from.hour && hour < to.hour) || (hour === to.hour && min < to.min)) {\n timeBlocked = true;\n }\n }\n if (timeBlocked) onErrorTime({ message: 'time blocked', inputValue });\n const dateBlocked = isDayBlocked(inputMoment);\n if (dateBlocked) onErrorDate({ message: 'date blocked', inputValue });\n if (!timeBlocked && !dateBlocked) {\n onDateChange(inputValue);\n }\n };\n\n const handleOutsideClick = (event) => {\n if (!dateTimePickerWrapperRef.current.contains(event.target)) {\n setIsOpen(false);\n }\n };\n\n const handleClickEscape = () => setIsOpen(false);\n const handleOpen = () => setIsOpen(true);\n\n const handleContainerBlur = (event) => {\n if (!isOpen && !event.currentTarget.contains(event.relatedTarget)) {\n onBlur(\n event,\n selectedDate?.isValid()\n ? selectedDate\n : {\n error: true,\n message: 'incomplete input',\n input: incompleteInput,\n },\n );\n if (clearable && !selectedDate && !!incompleteInput) {\n const inputMoment = moment(incompleteInput, fullFormat);\n const splittedDate = updateDateAndTime(inputMoment, selectedDate);\n\n setSelectedDate(splittedDate);\n onDateChange(splittedDate);\n }\n }\n };\n\n useEffect(() => {\n if (!isOpen)\n onBlur(\n {},\n selectedDate?.isValid()\n ? selectedDate\n : {\n error: true,\n message: 'incomplete input',\n input: incompleteInput,\n },\n );\n }, [isOpen]);\n\n const hasSelectedDate = !!selectedDate;\n return (\n <DSInputGroup\n containerProps={{\n onBlur: handleContainerBlur,\n }}\n rightAddon={\n <DatePickerDropdown\n disabled={disabled}\n isOpen={isOpen}\n zIndex={zIndex}\n menu={\n <DateTimePickerWrapper ref={dateTimePickerWrapperRef} data-testid=\"date-time-picker\">\n <div\n className={hasSelectedDate ? 'has-selected-date' : 'without-selected-date'}\n data-testid=\"date-time-picker-portal-wrapper\"\n >\n <DSDatePickerController\n date={selectedDate}\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={handleClickEscape}\n onClose={onClose}\n onDateChange={handleDatePickerChange}\n onNextMonthClick={onNextMonthClick}\n onOutsideClick={(event) => handleOutsideClick(event)}\n onPrevMonthClick={onPrevMonthClick}\n phrases={phrases}\n transitionDuration={transitionDuration}\n />\n </div>\n <TimePickerWrapper>\n <TimePicker\n disabled={disabled}\n disabledTimes={disabledTimeRange}\n format={format}\n hasHeader\n hasHeaderDisplay\n onTimeChange={onTimeChange}\n showSeconds={false}\n minutesInterval={minutesInterval}\n time={selectedDate}\n {...visiblePanels}\n />\n </TimePickerWrapper>\n </DateTimePickerWrapper>\n }\n onClick={handleOpen}\n readOnly={readOnly}\n />\n }\n >\n <DSInput\n customInputType={({ onChange: handleChange, ...restInputProps }) => (\n <>\n <div style={{ display: 'flex' }}>\n <DateInputsV2Impl\n disabled={disabled}\n onChange={(input) => handleChange(input, 'date')}\n {...restInputProps}\n onDateChange={onDateInputDateChange}\n yearMaxRange={currentYear + 100}\n yearMinRange={currentYear - 100}\n time={\n restInputProps.value && restInputProps.value.hour && restInputProps.value.isValid()\n ? restInputProps.value.format(formatDate)\n : restInputProps.value\n }\n />\n </div>\n <TimeInputImpl\n disabled={disabled}\n format={format}\n onChange={(time) => handleChange(time, 'time')}\n {...restInputProps}\n />\n </>\n )}\n isShowElipsisActive={false}\n disabled={disabled}\n onChange={handleInputChange}\n placeholder={placeholder}\n value={selectedDate}\n />\n </DSInputGroup>\n );\n};\n\nexport { DSDateTimePickerImpl };\nexport default DSDateTimePickerImpl;\n", "import * as React from 'react';\nexport { React };\n"],
4
+ "sourcesContent": ["/* eslint-disable indent */\n/* eslint-disable max-statements */\n/* eslint-disable complexity */\n/* eslint-disable no-empty-pattern */\n/* eslint-disable import/no-unresolved */\n/* eslint-disable max-lines */\n/* eslint-disable react/prop-types */\nimport React, { useState, useEffect, useMemo, useRef } from 'react';\nimport moment from 'moment';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { DSDatePickerController, DatePickerDropdown, SingleDatePickerPhrases } from '@elliemae/ds-date-picker';\nimport { DSInput, DSInputGroup, DateInputsV2Impl, TimeInputImpl } from '@elliemae/ds-form';\nimport { getVisibleTimeByFormat } from '@elliemae/ds-utilities';\nimport { DSTimePickerMenu, convertTimeString } from '@elliemae/ds-time-picker';\nimport { updateDateAndTime } from '../utils.js';\n\nconst blockName = 'date-time-picker';\n\nconst DateTimePickerWrapper = aggregatedClasses('div')(blockName, 'wrapper');\nconst TimePicker = aggregatedClasses(DSTimePickerMenu)(blockName, 'time-picker');\nconst TimePickerWrapper = aggregatedClasses('div')(blockName, 'time-picker-wrapper');\n// const DateInput = aggregatedClasses(DateInputsV2Impl)(blockName, 'date-input');\nconst formatDate = 'MMDDYYYY';\n\nconst DSDateTimePickerImpl = ({\n onBlur = () => null,\n placeholder,\n date,\n clearable,\n datePickerProps: {\n disabled = false,\n numberOfMonths = 1,\n readOnly = false,\n enableOutsideDays = false,\n transitionDuration = 0,\n firstDayOfWeek = 0,\n keepOpenOnDateSelect = true,\n hideKeyboardShortcutsPanel = true,\n onPrevMonthClick = () => null,\n onNextMonthClick = () => null,\n onClose = () => null,\n onChange: onDatePickerChange = () => null,\n onDateChange = () => null,\n onError: onErrorDate = () => null,\n phrases = SingleDatePickerPhrases,\n displayFormatDay = 'D',\n isDayBlocked = () => false,\n isOutsideRange = () => false,\n isDayHighlighted = () => false,\n zIndex = 11,\n },\n timePickerProps: {\n format = 'hh:mm A',\n onChange: onChangeTimePicker = () => null,\n disabledTimes = undefined,\n onError: onErrorTime = () => null,\n minutesInterval = 1,\n },\n dateInputProps: { onDateInputDateChange = () => null },\n}) => {\n const [selectedDate, setSelectedDate] = useState(undefined);\n const [incompleteInput, setIncompleteInput] = useState(undefined);\n const [isOpen, setIsOpen] = useState(false);\n\n const disabledTimeRange = disabledTimes && {\n from: convertTimeString(disabledTimes.from),\n to: convertTimeString(disabledTimes.to),\n };\n\n const dateTimePickerWrapperRef = useRef();\n const fullFormat = `${formatDate} ${format}`;\n\n useEffect(() => {\n if (date) {\n setSelectedDate(moment(date));\n } else if (date === null) setSelectedDate(undefined);\n }, [date]);\n\n const visiblePanels = useMemo(() => getVisibleTimeByFormat(format), []);\n\n const currentYear = moment().year();\n\n const handleDatePickerChange = (dateSelected) => {\n const splittedDate = updateDateAndTime(dateSelected, selectedDate);\n if (!readOnly) {\n setSelectedDate(splittedDate);\n onDateChange(splittedDate);\n }\n };\n\n const onTimeChange = (pickerTime) => {\n const splittedDate = updateDateAndTime(selectedDate, pickerTime);\n onChangeTimePicker(splittedDate);\n setSelectedDate(splittedDate);\n };\n\n const handleInputChange = (inputValue, type) => {\n onDatePickerChange(inputValue);\n let timeBlocked = false;\n const inputMoment = moment(inputValue, fullFormat);\n setIncompleteInput(inputValue);\n if (type === 'date') {\n const splittedDate = updateDateAndTime(inputMoment, selectedDate);\n if (inputValue.length < 8) {\n onErrorDate({ message: 'date incomplete', inputValue });\n if (clearable) onDateChange('error');\n return;\n }\n if (inputValue.length === 8 && inputMoment.isValid()) {\n setSelectedDate(splittedDate);\n onChangeTimePicker(splittedDate);\n }\n onDateChange(splittedDate);\n return;\n }\n\n if (disabledTimeRange) {\n const hour = inputValue.hour();\n const min = inputValue.minutes();\n const { from, to } = disabledTimeRange;\n\n if ((hour > from.hour && hour < to.hour) || (hour === to.hour && min < to.min)) {\n timeBlocked = true;\n }\n }\n if (timeBlocked) onErrorTime({ message: 'time blocked', inputValue });\n const dateBlocked = isDayBlocked(inputMoment);\n if (dateBlocked) onErrorDate({ message: 'date blocked', inputValue });\n if (!timeBlocked && !dateBlocked) {\n onDateChange(inputValue);\n }\n };\n\n const handleOutsideClick = (event) => {\n if (!dateTimePickerWrapperRef.current.contains(event.target)) {\n setIsOpen(false);\n }\n };\n\n const handleClickEscape = () => setIsOpen(false);\n const handleOpen = () => setIsOpen(true);\n\n const handleContainerBlur = (event) => {\n if (!isOpen && !event.currentTarget.contains(event.relatedTarget)) {\n onBlur(\n event,\n selectedDate?.isValid()\n ? selectedDate\n : {\n error: true,\n message: 'incomplete input',\n input: incompleteInput,\n },\n );\n if (clearable && !selectedDate && !!incompleteInput) {\n const inputMoment = moment(incompleteInput, fullFormat);\n const splittedDate = updateDateAndTime(inputMoment, selectedDate);\n\n setSelectedDate(splittedDate);\n onDateChange(splittedDate);\n }\n }\n };\n\n useEffect(() => {\n if (!isOpen)\n onBlur(\n {},\n selectedDate?.isValid()\n ? selectedDate\n : {\n error: true,\n message: 'incomplete input',\n input: incompleteInput,\n },\n );\n }, [isOpen]);\n\n const hasSelectedDate = !!selectedDate;\n return (\n <DSInputGroup\n containerProps={{\n onBlur: handleContainerBlur,\n }}\n rightAddon={\n <DatePickerDropdown\n disabled={disabled}\n isOpen={isOpen}\n zIndex={zIndex}\n menu={\n <DateTimePickerWrapper ref={dateTimePickerWrapperRef} data-testid=\"date-time-picker\">\n <div\n className={hasSelectedDate ? 'has-selected-date' : 'without-selected-date'}\n data-testid=\"date-time-picker-portal-wrapper\"\n >\n <DSDatePickerController\n date={selectedDate}\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={handleClickEscape}\n onClose={onClose}\n onDateChange={handleDatePickerChange}\n onNextMonthClick={onNextMonthClick}\n onOutsideClick={(event) => handleOutsideClick(event)}\n onPrevMonthClick={onPrevMonthClick}\n phrases={phrases}\n transitionDuration={transitionDuration}\n />\n </div>\n <TimePickerWrapper>\n <TimePicker\n disabled={disabled}\n disabledTimes={disabledTimeRange}\n format={format}\n hasHeader\n hasHeaderDisplay\n onTimeChange={onTimeChange}\n showSeconds={false}\n minutesInterval={minutesInterval}\n time={selectedDate}\n {...visiblePanels}\n />\n </TimePickerWrapper>\n </DateTimePickerWrapper>\n }\n onClick={handleOpen}\n readOnly={readOnly}\n />\n }\n >\n <DSInput\n customInputType={({ onChange: handleChange, ...restInputProps }) => (\n <>\n <div style={{ display: 'flex' }}>\n <DateInputsV2Impl\n disabled={disabled}\n onChange={(input) => handleChange(input, 'date')}\n {...restInputProps}\n onDateChange={onDateInputDateChange}\n yearMaxRange={currentYear + 100}\n yearMinRange={currentYear - 100}\n time={\n restInputProps.value && restInputProps.value.hour && restInputProps.value.isValid()\n ? restInputProps.value.format(formatDate)\n : restInputProps.value\n }\n />\n </div>\n <TimeInputImpl\n disabled={disabled}\n format={format}\n onChange={(time) => handleChange(time, 'time')}\n {...restInputProps}\n />\n </>\n )}\n isShowElipsisActive={false}\n disabled={disabled}\n onChange={handleInputChange}\n placeholder={placeholder}\n value={selectedDate}\n />\n </DSInputGroup>\n );\n};\n\nexport { DSDateTimePickerImpl };\nexport default DSDateTimePickerImpl;\n", "import * as React from 'react';\nexport { React };\n"],
5
5
  "mappings": "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",
6
6
  "names": ["moment"]
7
7
  }
package/dist/cjs/index.js CHANGED
@@ -30,5 +30,5 @@ __export(src_exports, {
30
30
  });
31
31
  module.exports = __toCommonJS(src_exports);
32
32
  var React = __toESM(require("react"));
33
- var import_DSDateTimePicker = __toESM(require("./DSDateTimePicker"));
33
+ var import_DSDateTimePicker = __toESM(require("./DSDateTimePicker.js"));
34
34
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["export { default, DSDateTimePicker, DateTimePickerWithSchema } from './DSDateTimePicker';\n", "import * as React from 'react';\nexport { React };\n"],
4
+ "sourcesContent": ["export { default, DSDateTimePicker, DateTimePickerWithSchema } from './DSDateTimePicker.js';\n", "import * as React from 'react';\nexport { React };\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,8BAAoE;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,7 @@
1
+ {
2
+ "type": "commonjs",
3
+ "sideEffects": [
4
+ "*.css",
5
+ "*.scss"
6
+ ]
7
+ }
@@ -1,11 +1,12 @@
1
1
  import * as React from "react";
2
2
  import { jsx } from "react/jsx-runtime";
3
- import { PropTypes, describe } from "@elliemae/ds-utilities";
3
+ import { useDeprecateComponent } from "@elliemae/ds-utilities";
4
+ import { PropTypes, describe } from "@elliemae/ds-props-helpers";
4
5
  import moment from "moment";
5
6
  import { convertPropToCssClassName } from "@elliemae/ds-classnames";
6
7
  import { SingleDatePickerPhrases } from "@elliemae/ds-date-picker";
7
- import { DSDateTimePickerImpl } from "./components/DateTimePickerImpl";
8
- import english from "./lang/english";
8
+ import { DSDateTimePickerImpl } from "./components/DateTimePickerImpl.js";
9
+ import english from "./lang/english.js";
9
10
  const { placeholder: placeholderDefault, className: classNameDefault, id: idDefault } = english;
10
11
  const DSDateTimePicker = ({
11
12
  containerProps = {},
@@ -46,6 +47,7 @@ const DSDateTimePicker = ({
46
47
  onDateInputDateChange: () => null
47
48
  }
48
49
  }) => {
50
+ useDeprecateComponent({ componentName: "ds-date-time-picker", version: "3.x Date: 2023 Q1" });
49
51
  const { cssClassName } = convertPropToCssClassName("datetimepicker", className, {
50
52
  id
51
53
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DSDateTimePicker.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React from 'react';\nimport { PropTypes, describe } from '@elliemae/ds-utilities';\nimport moment from 'moment';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { SingleDatePickerPhrases } from '@elliemae/ds-date-picker';\nimport { DSDateTimePickerImpl } from './components/DateTimePickerImpl';\nimport english from './lang/english';\n\nconst { placeholder: placeholderDefault, className: classNameDefault, id: idDefault } = english;\n\nconst DSDateTimePicker = ({\n containerProps = {},\n className = classNameDefault,\n id = idDefault,\n placeholder = placeholderDefault,\n date,\n clearable = false,\n onBlur = () => null,\n datePickerProps = {\n disabled: false,\n numberOfMonths: 1,\n readOnly: false,\n enableOutsideDays: false,\n transitionDuration: 0,\n firstDayOfWeek: 0,\n keepOpenOnDateSelect: true,\n hideKeyboardShortcutsPanel: true,\n onPrevMonthClick: () => null,\n onNextMonthClick: () => null,\n onClose: () => null,\n onchange: () => null,\n onDateChange: () => null,\n phrases: SingleDatePickerPhrases,\n displayFormatDay: 'D',\n isDayBlocked: () => false,\n isOutsideRange: () => false,\n isDayHighlighted: () => false,\n zIndex: 11,\n },\n timePickerProps = {\n format: 'hh:mm A',\n onChange: () => null,\n disabledTimes: undefined,\n minutesInterval: 1,\n },\n dateInputProps = {\n onDateInputDateChange: () => null,\n },\n}) => {\n const { cssClassName } = convertPropToCssClassName('datetimepicker', className, {\n id,\n });\n return (\n <div className={cssClassName} {...containerProps}>\n <DSDateTimePickerImpl\n clearable={clearable}\n date={date}\n datePickerProps={datePickerProps}\n onBlur={onBlur}\n placeholder={placeholder}\n timePickerProps={timePickerProps}\n dateInputProps={dateInputProps}\n />\n </div>\n );\n};\n\nconst dateTimePickerProps = {\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n className: PropTypes.string.description('html class attribute'),\n id: PropTypes.string.description('components id'),\n /**\n * on blur callback\n */\n onBlur: PropTypes.func.description('on blur callback'),\n /**\n * Initial date, by default current date\n */\n date: PropTypes.instanceOf(Date, moment).description('Initial date, by default current date'),\n /**\n * Flag to trigger onDateChange on error\n */\n clearable: PropTypes.bool.description('Flag to trigger onDateChange on error'),\n /**\n * DatePicker properties\n */\n datePickerProps: PropTypes.shape({\n disabled: PropTypes.bool,\n numberOfMonths: PropTypes.number,\n readOnly: PropTypes.bool,\n enableOutsideDays: PropTypes.bool,\n transitionDuration: PropTypes.number,\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 onDateChange: PropTypes.func,\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 * ZIndex for the picker popup\n */\n zIndex: PropTypes.number,\n }),\n displayFormatDay: PropTypes.string,\n isDayBlocked: PropTypes.func,\n isOutsideRange: PropTypes.func,\n isDayHighlighted: PropTypes.func,\n }).description('DatePicker properties'),\n /**\n * Input placeholder\n */\n placeholder: PropTypes.string.description('Input placeholder'),\n /**\n * TimePicker properties\n */\n timePickerProps: PropTypes.shape({\n format: PropTypes.string,\n onChange: PropTypes.func,\n }).description('TimePicker properties'),\n dateInputProps: PropTypes.shape({\n onDateInputDateChange: PropTypes.func,\n }).description('DateInputProperties'),\n};\n\nDSDateTimePicker.propTypes = dateTimePickerProps;\nDSDateTimePicker.displayName = 'DSDateTimePicker';\nconst DateTimePickerWithSchema = describe(DSDateTimePicker);\nDateTimePickerWithSchema.propTypes = dateTimePickerProps;\n\nexport { DateTimePickerWithSchema, DSDateTimePicker };\nexport default DSDateTimePicker;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React from 'react';\nimport { useDeprecateComponent } from '@elliemae/ds-utilities';\nimport { PropTypes, describe } from '@elliemae/ds-props-helpers';\nimport moment from 'moment';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { SingleDatePickerPhrases } from '@elliemae/ds-date-picker';\nimport { DSDateTimePickerImpl } from './components/DateTimePickerImpl.js';\nimport english from './lang/english.js';\n\nconst { placeholder: placeholderDefault, className: classNameDefault, id: idDefault } = english;\n\nconst DSDateTimePicker = ({\n containerProps = {},\n className = classNameDefault,\n id = idDefault,\n placeholder = placeholderDefault,\n date,\n clearable = false,\n onBlur = () => null,\n datePickerProps = {\n disabled: false,\n numberOfMonths: 1,\n readOnly: false,\n enableOutsideDays: false,\n transitionDuration: 0,\n firstDayOfWeek: 0,\n keepOpenOnDateSelect: true,\n hideKeyboardShortcutsPanel: true,\n onPrevMonthClick: () => null,\n onNextMonthClick: () => null,\n onClose: () => null,\n onchange: () => null,\n onDateChange: () => null,\n phrases: SingleDatePickerPhrases,\n displayFormatDay: 'D',\n isDayBlocked: () => false,\n isOutsideRange: () => false,\n isDayHighlighted: () => false,\n zIndex: 11,\n },\n timePickerProps = {\n format: 'hh:mm A',\n onChange: () => null,\n disabledTimes: undefined,\n minutesInterval: 1,\n },\n dateInputProps = {\n onDateInputDateChange: () => null,\n },\n}) => {\n useDeprecateComponent({ componentName: 'ds-date-time-picker', version: '3.x Date: 2023 Q1' });\n\n const { cssClassName } = convertPropToCssClassName('datetimepicker', className, {\n id,\n });\n return (\n <div className={cssClassName} {...containerProps}>\n <DSDateTimePickerImpl\n clearable={clearable}\n date={date}\n datePickerProps={datePickerProps}\n onBlur={onBlur}\n placeholder={placeholder}\n timePickerProps={timePickerProps}\n dateInputProps={dateInputProps}\n />\n </div>\n );\n};\n\nconst dateTimePickerProps = {\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n className: PropTypes.string.description('html class attribute'),\n id: PropTypes.string.description('components id'),\n /**\n * on blur callback\n */\n onBlur: PropTypes.func.description('on blur callback'),\n /**\n * Initial date, by default current date\n */\n date: PropTypes.instanceOf(Date, moment).description('Initial date, by default current date'),\n /**\n * Flag to trigger onDateChange on error\n */\n clearable: PropTypes.bool.description('Flag to trigger onDateChange on error'),\n /**\n * DatePicker properties\n */\n datePickerProps: PropTypes.shape({\n disabled: PropTypes.bool,\n numberOfMonths: PropTypes.number,\n readOnly: PropTypes.bool,\n enableOutsideDays: PropTypes.bool,\n transitionDuration: PropTypes.number,\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 onDateChange: PropTypes.func,\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 * ZIndex for the picker popup\n */\n zIndex: PropTypes.number,\n }),\n displayFormatDay: PropTypes.string,\n isDayBlocked: PropTypes.func,\n isOutsideRange: PropTypes.func,\n isDayHighlighted: PropTypes.func,\n }).description('DatePicker properties'),\n /**\n * Input placeholder\n */\n placeholder: PropTypes.string.description('Input placeholder'),\n /**\n * TimePicker properties\n */\n timePickerProps: PropTypes.shape({\n format: PropTypes.string,\n onChange: PropTypes.func,\n }).description('TimePicker properties'),\n dateInputProps: PropTypes.shape({\n onDateInputDateChange: PropTypes.func,\n }).description('DateInputProperties'),\n};\n\nDSDateTimePicker.propTypes = dateTimePickerProps;\nDSDateTimePicker.displayName = 'DSDateTimePicker';\nconst DateTimePickerWithSchema = describe(DSDateTimePicker);\nDateTimePickerWithSchema.propTypes = dateTimePickerProps;\n\nexport { DateTimePickerWithSchema, DSDateTimePicker };\nexport default DSDateTimePicker;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -7,7 +7,7 @@ import { DSDatePickerController, DatePickerDropdown, SingleDatePickerPhrases } f
7
7
  import { DSInput, DSInputGroup, DateInputsV2Impl, TimeInputImpl } from "@elliemae/ds-form";
8
8
  import { getVisibleTimeByFormat } from "@elliemae/ds-utilities";
9
9
  import { DSTimePickerMenu, convertTimeString } from "@elliemae/ds-time-picker";
10
- import { updateDateAndTime } from "../utils";
10
+ import { updateDateAndTime } from "../utils.js";
11
11
  const blockName = "date-time-picker";
12
12
  const DateTimePickerWrapper = aggregatedClasses("div")(blockName, "wrapper");
13
13
  const TimePicker = aggregatedClasses(DSTimePickerMenu)(blockName, "time-picker");
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/DateTimePickerImpl.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable indent */\n/* eslint-disable max-statements */\n/* eslint-disable complexity */\n/* eslint-disable no-empty-pattern */\n/* eslint-disable import/no-unresolved */\n/* eslint-disable max-lines */\n/* eslint-disable react/prop-types */\nimport React, { useState, useEffect, useMemo, useRef } from 'react';\nimport moment from 'moment';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { DSDatePickerController, DatePickerDropdown, SingleDatePickerPhrases } from '@elliemae/ds-date-picker';\nimport { DSInput, DSInputGroup, DateInputsV2Impl, TimeInputImpl } from '@elliemae/ds-form';\nimport { getVisibleTimeByFormat } from '@elliemae/ds-utilities';\nimport { DSTimePickerMenu, convertTimeString } from '@elliemae/ds-time-picker';\nimport { updateDateAndTime } from '../utils';\n\nconst blockName = 'date-time-picker';\n\nconst DateTimePickerWrapper = aggregatedClasses('div')(blockName, 'wrapper');\nconst TimePicker = aggregatedClasses(DSTimePickerMenu)(blockName, 'time-picker');\nconst TimePickerWrapper = aggregatedClasses('div')(blockName, 'time-picker-wrapper');\n// const DateInput = aggregatedClasses(DateInputsV2Impl)(blockName, 'date-input');\nconst formatDate = 'MMDDYYYY';\n\nconst DSDateTimePickerImpl = ({\n onBlur = () => null,\n placeholder,\n date,\n clearable,\n datePickerProps: {\n disabled = false,\n numberOfMonths = 1,\n readOnly = false,\n enableOutsideDays = false,\n transitionDuration = 0,\n firstDayOfWeek = 0,\n keepOpenOnDateSelect = true,\n hideKeyboardShortcutsPanel = true,\n onPrevMonthClick = () => null,\n onNextMonthClick = () => null,\n onClose = () => null,\n onChange: onDatePickerChange = () => null,\n onDateChange = () => null,\n onError: onErrorDate = () => null,\n phrases = SingleDatePickerPhrases,\n displayFormatDay = 'D',\n isDayBlocked = () => false,\n isOutsideRange = () => false,\n isDayHighlighted = () => false,\n zIndex = 11,\n },\n timePickerProps: {\n format = 'hh:mm A',\n onChange: onChangeTimePicker = () => null,\n disabledTimes = undefined,\n onError: onErrorTime = () => null,\n minutesInterval = 1,\n },\n dateInputProps: { onDateInputDateChange = () => null },\n}) => {\n const [selectedDate, setSelectedDate] = useState(undefined);\n const [incompleteInput, setIncompleteInput] = useState(undefined);\n const [isOpen, setIsOpen] = useState(false);\n\n const disabledTimeRange = disabledTimes && {\n from: convertTimeString(disabledTimes.from),\n to: convertTimeString(disabledTimes.to),\n };\n\n const dateTimePickerWrapperRef = useRef();\n const fullFormat = `${formatDate} ${format}`;\n\n useEffect(() => {\n if (date) {\n setSelectedDate(moment(date));\n } else if (date === null) setSelectedDate(undefined);\n }, [date]);\n\n const visiblePanels = useMemo(() => getVisibleTimeByFormat(format), []);\n\n const currentYear = moment().year();\n\n const handleDatePickerChange = (dateSelected) => {\n const splittedDate = updateDateAndTime(dateSelected, selectedDate);\n if (!readOnly) {\n setSelectedDate(splittedDate);\n onDateChange(splittedDate);\n }\n };\n\n const onTimeChange = (pickerTime) => {\n const splittedDate = updateDateAndTime(selectedDate, pickerTime);\n onChangeTimePicker(splittedDate);\n setSelectedDate(splittedDate);\n };\n\n const handleInputChange = (inputValue, type) => {\n onDatePickerChange(inputValue);\n let timeBlocked = false;\n const inputMoment = moment(inputValue, fullFormat);\n setIncompleteInput(inputValue);\n if (type === 'date') {\n const splittedDate = updateDateAndTime(inputMoment, selectedDate);\n if (inputValue.length < 8) {\n onErrorDate({ message: 'date incomplete', inputValue });\n if (clearable) onDateChange('error');\n return;\n }\n if (inputValue.length === 8 && inputMoment.isValid()) {\n setSelectedDate(splittedDate);\n onChangeTimePicker(splittedDate);\n }\n onDateChange(splittedDate);\n return;\n }\n\n if (disabledTimeRange) {\n const hour = inputValue.hour();\n const min = inputValue.minutes();\n const { from, to } = disabledTimeRange;\n\n if ((hour > from.hour && hour < to.hour) || (hour === to.hour && min < to.min)) {\n timeBlocked = true;\n }\n }\n if (timeBlocked) onErrorTime({ message: 'time blocked', inputValue });\n const dateBlocked = isDayBlocked(inputMoment);\n if (dateBlocked) onErrorDate({ message: 'date blocked', inputValue });\n if (!timeBlocked && !dateBlocked) {\n onDateChange(inputValue);\n }\n };\n\n const handleOutsideClick = (event) => {\n if (!dateTimePickerWrapperRef.current.contains(event.target)) {\n setIsOpen(false);\n }\n };\n\n const handleClickEscape = () => setIsOpen(false);\n const handleOpen = () => setIsOpen(true);\n\n const handleContainerBlur = (event) => {\n if (!isOpen && !event.currentTarget.contains(event.relatedTarget)) {\n onBlur(\n event,\n selectedDate?.isValid()\n ? selectedDate\n : {\n error: true,\n message: 'incomplete input',\n input: incompleteInput,\n },\n );\n if (clearable && !selectedDate && !!incompleteInput) {\n const inputMoment = moment(incompleteInput, fullFormat);\n const splittedDate = updateDateAndTime(inputMoment, selectedDate);\n\n setSelectedDate(splittedDate);\n onDateChange(splittedDate);\n }\n }\n };\n\n useEffect(() => {\n if (!isOpen)\n onBlur(\n {},\n selectedDate?.isValid()\n ? selectedDate\n : {\n error: true,\n message: 'incomplete input',\n input: incompleteInput,\n },\n );\n }, [isOpen]);\n\n const hasSelectedDate = !!selectedDate;\n return (\n <DSInputGroup\n containerProps={{\n onBlur: handleContainerBlur,\n }}\n rightAddon={\n <DatePickerDropdown\n disabled={disabled}\n isOpen={isOpen}\n zIndex={zIndex}\n menu={\n <DateTimePickerWrapper ref={dateTimePickerWrapperRef} data-testid=\"date-time-picker\">\n <div\n className={hasSelectedDate ? 'has-selected-date' : 'without-selected-date'}\n data-testid=\"date-time-picker-portal-wrapper\"\n >\n <DSDatePickerController\n date={selectedDate}\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={handleClickEscape}\n onClose={onClose}\n onDateChange={handleDatePickerChange}\n onNextMonthClick={onNextMonthClick}\n onOutsideClick={(event) => handleOutsideClick(event)}\n onPrevMonthClick={onPrevMonthClick}\n phrases={phrases}\n transitionDuration={transitionDuration}\n />\n </div>\n <TimePickerWrapper>\n <TimePicker\n disabled={disabled}\n disabledTimes={disabledTimeRange}\n format={format}\n hasHeader\n hasHeaderDisplay\n onTimeChange={onTimeChange}\n showSeconds={false}\n minutesInterval={minutesInterval}\n time={selectedDate}\n {...visiblePanels}\n />\n </TimePickerWrapper>\n </DateTimePickerWrapper>\n }\n onClick={handleOpen}\n readOnly={readOnly}\n />\n }\n >\n <DSInput\n customInputType={({ onChange: handleChange, ...restInputProps }) => (\n <>\n <div style={{ display: 'flex' }}>\n <DateInputsV2Impl\n disabled={disabled}\n onChange={(input) => handleChange(input, 'date')}\n {...restInputProps}\n onDateChange={onDateInputDateChange}\n yearMaxRange={currentYear + 100}\n yearMinRange={currentYear - 100}\n time={\n restInputProps.value && restInputProps.value.hour && restInputProps.value.isValid()\n ? restInputProps.value.format(formatDate)\n : restInputProps.value\n }\n />\n </div>\n <TimeInputImpl\n disabled={disabled}\n format={format}\n onChange={(time) => handleChange(time, 'time')}\n {...restInputProps}\n />\n </>\n )}\n isShowElipsisActive={false}\n disabled={disabled}\n onChange={handleInputChange}\n placeholder={placeholder}\n value={selectedDate}\n />\n </DSInputGroup>\n );\n};\n\nexport { DSDateTimePickerImpl };\nexport default DSDateTimePickerImpl;\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable indent */\n/* eslint-disable max-statements */\n/* eslint-disable complexity */\n/* eslint-disable no-empty-pattern */\n/* eslint-disable import/no-unresolved */\n/* eslint-disable max-lines */\n/* eslint-disable react/prop-types */\nimport React, { useState, useEffect, useMemo, useRef } from 'react';\nimport moment from 'moment';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { DSDatePickerController, DatePickerDropdown, SingleDatePickerPhrases } from '@elliemae/ds-date-picker';\nimport { DSInput, DSInputGroup, DateInputsV2Impl, TimeInputImpl } from '@elliemae/ds-form';\nimport { getVisibleTimeByFormat } from '@elliemae/ds-utilities';\nimport { DSTimePickerMenu, convertTimeString } from '@elliemae/ds-time-picker';\nimport { updateDateAndTime } from '../utils.js';\n\nconst blockName = 'date-time-picker';\n\nconst DateTimePickerWrapper = aggregatedClasses('div')(blockName, 'wrapper');\nconst TimePicker = aggregatedClasses(DSTimePickerMenu)(blockName, 'time-picker');\nconst TimePickerWrapper = aggregatedClasses('div')(blockName, 'time-picker-wrapper');\n// const DateInput = aggregatedClasses(DateInputsV2Impl)(blockName, 'date-input');\nconst formatDate = 'MMDDYYYY';\n\nconst DSDateTimePickerImpl = ({\n onBlur = () => null,\n placeholder,\n date,\n clearable,\n datePickerProps: {\n disabled = false,\n numberOfMonths = 1,\n readOnly = false,\n enableOutsideDays = false,\n transitionDuration = 0,\n firstDayOfWeek = 0,\n keepOpenOnDateSelect = true,\n hideKeyboardShortcutsPanel = true,\n onPrevMonthClick = () => null,\n onNextMonthClick = () => null,\n onClose = () => null,\n onChange: onDatePickerChange = () => null,\n onDateChange = () => null,\n onError: onErrorDate = () => null,\n phrases = SingleDatePickerPhrases,\n displayFormatDay = 'D',\n isDayBlocked = () => false,\n isOutsideRange = () => false,\n isDayHighlighted = () => false,\n zIndex = 11,\n },\n timePickerProps: {\n format = 'hh:mm A',\n onChange: onChangeTimePicker = () => null,\n disabledTimes = undefined,\n onError: onErrorTime = () => null,\n minutesInterval = 1,\n },\n dateInputProps: { onDateInputDateChange = () => null },\n}) => {\n const [selectedDate, setSelectedDate] = useState(undefined);\n const [incompleteInput, setIncompleteInput] = useState(undefined);\n const [isOpen, setIsOpen] = useState(false);\n\n const disabledTimeRange = disabledTimes && {\n from: convertTimeString(disabledTimes.from),\n to: convertTimeString(disabledTimes.to),\n };\n\n const dateTimePickerWrapperRef = useRef();\n const fullFormat = `${formatDate} ${format}`;\n\n useEffect(() => {\n if (date) {\n setSelectedDate(moment(date));\n } else if (date === null) setSelectedDate(undefined);\n }, [date]);\n\n const visiblePanels = useMemo(() => getVisibleTimeByFormat(format), []);\n\n const currentYear = moment().year();\n\n const handleDatePickerChange = (dateSelected) => {\n const splittedDate = updateDateAndTime(dateSelected, selectedDate);\n if (!readOnly) {\n setSelectedDate(splittedDate);\n onDateChange(splittedDate);\n }\n };\n\n const onTimeChange = (pickerTime) => {\n const splittedDate = updateDateAndTime(selectedDate, pickerTime);\n onChangeTimePicker(splittedDate);\n setSelectedDate(splittedDate);\n };\n\n const handleInputChange = (inputValue, type) => {\n onDatePickerChange(inputValue);\n let timeBlocked = false;\n const inputMoment = moment(inputValue, fullFormat);\n setIncompleteInput(inputValue);\n if (type === 'date') {\n const splittedDate = updateDateAndTime(inputMoment, selectedDate);\n if (inputValue.length < 8) {\n onErrorDate({ message: 'date incomplete', inputValue });\n if (clearable) onDateChange('error');\n return;\n }\n if (inputValue.length === 8 && inputMoment.isValid()) {\n setSelectedDate(splittedDate);\n onChangeTimePicker(splittedDate);\n }\n onDateChange(splittedDate);\n return;\n }\n\n if (disabledTimeRange) {\n const hour = inputValue.hour();\n const min = inputValue.minutes();\n const { from, to } = disabledTimeRange;\n\n if ((hour > from.hour && hour < to.hour) || (hour === to.hour && min < to.min)) {\n timeBlocked = true;\n }\n }\n if (timeBlocked) onErrorTime({ message: 'time blocked', inputValue });\n const dateBlocked = isDayBlocked(inputMoment);\n if (dateBlocked) onErrorDate({ message: 'date blocked', inputValue });\n if (!timeBlocked && !dateBlocked) {\n onDateChange(inputValue);\n }\n };\n\n const handleOutsideClick = (event) => {\n if (!dateTimePickerWrapperRef.current.contains(event.target)) {\n setIsOpen(false);\n }\n };\n\n const handleClickEscape = () => setIsOpen(false);\n const handleOpen = () => setIsOpen(true);\n\n const handleContainerBlur = (event) => {\n if (!isOpen && !event.currentTarget.contains(event.relatedTarget)) {\n onBlur(\n event,\n selectedDate?.isValid()\n ? selectedDate\n : {\n error: true,\n message: 'incomplete input',\n input: incompleteInput,\n },\n );\n if (clearable && !selectedDate && !!incompleteInput) {\n const inputMoment = moment(incompleteInput, fullFormat);\n const splittedDate = updateDateAndTime(inputMoment, selectedDate);\n\n setSelectedDate(splittedDate);\n onDateChange(splittedDate);\n }\n }\n };\n\n useEffect(() => {\n if (!isOpen)\n onBlur(\n {},\n selectedDate?.isValid()\n ? selectedDate\n : {\n error: true,\n message: 'incomplete input',\n input: incompleteInput,\n },\n );\n }, [isOpen]);\n\n const hasSelectedDate = !!selectedDate;\n return (\n <DSInputGroup\n containerProps={{\n onBlur: handleContainerBlur,\n }}\n rightAddon={\n <DatePickerDropdown\n disabled={disabled}\n isOpen={isOpen}\n zIndex={zIndex}\n menu={\n <DateTimePickerWrapper ref={dateTimePickerWrapperRef} data-testid=\"date-time-picker\">\n <div\n className={hasSelectedDate ? 'has-selected-date' : 'without-selected-date'}\n data-testid=\"date-time-picker-portal-wrapper\"\n >\n <DSDatePickerController\n date={selectedDate}\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={handleClickEscape}\n onClose={onClose}\n onDateChange={handleDatePickerChange}\n onNextMonthClick={onNextMonthClick}\n onOutsideClick={(event) => handleOutsideClick(event)}\n onPrevMonthClick={onPrevMonthClick}\n phrases={phrases}\n transitionDuration={transitionDuration}\n />\n </div>\n <TimePickerWrapper>\n <TimePicker\n disabled={disabled}\n disabledTimes={disabledTimeRange}\n format={format}\n hasHeader\n hasHeaderDisplay\n onTimeChange={onTimeChange}\n showSeconds={false}\n minutesInterval={minutesInterval}\n time={selectedDate}\n {...visiblePanels}\n />\n </TimePickerWrapper>\n </DateTimePickerWrapper>\n }\n onClick={handleOpen}\n readOnly={readOnly}\n />\n }\n >\n <DSInput\n customInputType={({ onChange: handleChange, ...restInputProps }) => (\n <>\n <div style={{ display: 'flex' }}>\n <DateInputsV2Impl\n disabled={disabled}\n onChange={(input) => handleChange(input, 'date')}\n {...restInputProps}\n onDateChange={onDateInputDateChange}\n yearMaxRange={currentYear + 100}\n yearMinRange={currentYear - 100}\n time={\n restInputProps.value && restInputProps.value.hour && restInputProps.value.isValid()\n ? restInputProps.value.format(formatDate)\n : restInputProps.value\n }\n />\n </div>\n <TimeInputImpl\n disabled={disabled}\n format={format}\n onChange={(time) => handleChange(time, 'time')}\n {...restInputProps}\n />\n </>\n )}\n isShowElipsisActive={false}\n disabled={disabled}\n onChange={handleInputChange}\n placeholder={placeholder}\n value={selectedDate}\n />\n </DSInputGroup>\n );\n};\n\nexport { DSDateTimePickerImpl };\nexport default DSDateTimePickerImpl;\n"],
5
5
  "mappings": "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",
6
6
  "names": []
7
7
  }
package/dist/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { default as default2, DSDateTimePicker, DateTimePickerWithSchema } from "./DSDateTimePicker";
2
+ import { default as default2, DSDateTimePicker, DateTimePickerWithSchema } from "./DSDateTimePicker.js";
3
3
  export {
4
4
  DSDateTimePicker,
5
5
  DateTimePickerWithSchema,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/index.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { default, DSDateTimePicker, DateTimePickerWithSchema } from './DSDateTimePicker';\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { default, DSDateTimePicker, DateTimePickerWithSchema } from './DSDateTimePicker.js';\n"],
5
5
  "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,WAAAA,UAAS,kBAAkB,gCAAgC;",
6
6
  "names": ["default"]
7
7
  }
@@ -0,0 +1,7 @@
1
+ {
2
+ "type": "module",
3
+ "sideEffects": [
4
+ "*.css",
5
+ "*.scss"
6
+ ]
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-date-time-picker",
3
- "version": "3.16.0-next.1",
3
+ "version": "3.16.0-next.10",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Date Time Picker",
6
6
  "files": [
@@ -57,12 +57,13 @@
57
57
  "dependencies": {
58
58
  "lodash": "~4.17.21",
59
59
  "moment": "~2.29.3",
60
- "@elliemae/ds-classnames": "3.16.0-next.1",
61
- "@elliemae/ds-date-picker": "3.16.0-next.1",
62
- "@elliemae/ds-form": "3.16.0-next.1",
63
- "@elliemae/ds-time-picker": "3.16.0-next.1",
64
- "@elliemae/ds-system": "3.16.0-next.1",
65
- "@elliemae/ds-utilities": "3.16.0-next.1"
60
+ "@elliemae/ds-classnames": "3.16.0-next.10",
61
+ "@elliemae/ds-date-picker": "3.16.0-next.10",
62
+ "@elliemae/ds-props-helpers": "3.16.0-next.10",
63
+ "@elliemae/ds-form": "3.16.0-next.10",
64
+ "@elliemae/ds-system": "3.16.0-next.10",
65
+ "@elliemae/ds-time-picker": "3.16.0-next.10",
66
+ "@elliemae/ds-utilities": "3.16.0-next.10"
66
67
  },
67
68
  "devDependencies": {
68
69
  "@testing-library/jest-dom": "~5.16.4",
@@ -84,10 +85,10 @@
84
85
  "dev": "cross-env NODE_ENV=development node ../../scripts/build/build.mjs --watch",
85
86
  "test": "node ../../scripts/testing/test.mjs",
86
87
  "lint": "node ../../scripts/lint.mjs",
87
- "eslint:fix": "eslint --ext='.js,.jsx,.test.js,.ts,.tsx' --fix --config='../../.eslintrc.js' src/",
88
- "dts": "node ../../scripts/dts.mjs",
88
+ "eslint:fix": "exit 0",
89
+ "dts": "exit 0",
89
90
  "build": "cross-env NODE_ENV=production node ../../scripts/build/build.mjs",
90
- "dev:build": "pnpm --filter {.}... build && pnpm --filter {.}... dts",
91
+ "dev:build": "pnpm --filter {.}... build",
91
92
  "dev:install": "pnpm --filter {.}... i --no-lockfile && pnpm run dev:build",
92
93
  "checkDeps": "npx -yes ../ds-codemods check-missing-packages --projectFolderPath=\"./\" --ignorePackagesGlobPattern=\"\" --ignoreFilesGlobPattern=\"**/test-ables/*,**/tests/*\""
93
94
  }
@@ -1,183 +0,0 @@
1
- declare const DSDateTimePicker: {
2
- ({ containerProps, className, id, placeholder, date, clearable, onBlur, datePickerProps, timePickerProps, dateInputProps, }: {
3
- containerProps?: {} | undefined;
4
- className?: string | undefined;
5
- id?: string | undefined;
6
- placeholder?: string | undefined;
7
- date: any;
8
- clearable?: boolean | undefined;
9
- onBlur?: (() => null) | undefined;
10
- datePickerProps?: {
11
- disabled: boolean;
12
- numberOfMonths: number;
13
- readOnly: boolean;
14
- enableOutsideDays: boolean;
15
- transitionDuration: number;
16
- firstDayOfWeek: number;
17
- keepOpenOnDateSelect: boolean;
18
- hideKeyboardShortcutsPanel: boolean;
19
- onPrevMonthClick: () => null;
20
- onNextMonthClick: () => null;
21
- onClose: () => null;
22
- onchange: () => null;
23
- onDateChange: () => null;
24
- phrases: {
25
- calendarLabel: string;
26
- roleDescription: string;
27
- closeDatePicker: string;
28
- clearDate: string;
29
- jumpToPrevMonth: string;
30
- jumpToNextMonth: string;
31
- keyboardShortcuts: string;
32
- showKeyboardShortcutsPanel: string;
33
- hideKeyboardShortcutsPanel: string;
34
- openThisPanel: string;
35
- enterKey: string;
36
- leftArrowRightArrow: string;
37
- upArrowDownArrow: string;
38
- pageUpPageDown: string;
39
- homeEnd: string;
40
- escape: string;
41
- questionMark: string;
42
- selectFocusedDate: string;
43
- moveFocusByOneDay: string;
44
- moveFocusByOneWeek: string;
45
- moveFocusByOneMonth: string;
46
- moveFocustoStartAndEndOfWeek: string;
47
- returnFocusToInput: string;
48
- keyboardForwardNavigationInstructions: string;
49
- keyboardBackwardNavigationInstructions: string;
50
- chooseAvailableDate: ({ date }: {
51
- date: any;
52
- }) => any;
53
- dateIsUnavailable: ({ date }: {
54
- date: any;
55
- }) => string;
56
- dateIsSelected: ({ date }: {
57
- date: any;
58
- }) => string;
59
- };
60
- displayFormatDay: string;
61
- isDayBlocked: () => boolean;
62
- isOutsideRange: () => boolean;
63
- isDayHighlighted: () => boolean;
64
- zIndex: number;
65
- } | undefined;
66
- timePickerProps?: {
67
- format: string;
68
- onChange: () => null;
69
- disabledTimes: undefined;
70
- minutesInterval: number;
71
- } | undefined;
72
- dateInputProps?: {
73
- onDateInputDateChange: () => null;
74
- } | undefined;
75
- }): JSX.Element;
76
- propTypes: {
77
- containerProps: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
78
- className: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
79
- id: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
80
- /**
81
- * on blur callback
82
- */
83
- onBlur: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
84
- /**
85
- * Initial date, by default current date
86
- */
87
- date: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
88
- /**
89
- * Flag to trigger onDateChange on error
90
- */
91
- clearable: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
92
- /**
93
- * DatePicker properties
94
- */
95
- datePickerProps: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
96
- /**
97
- * Input placeholder
98
- */
99
- placeholder: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
100
- /**
101
- * TimePicker properties
102
- */
103
- timePickerProps: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
104
- dateInputProps: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").ReactDescT;
105
- };
106
- displayName: string;
107
- };
108
- declare const DateTimePickerWithSchema: import("@elliemae/ds-utilities/dist/types/props-helpers/propTypes/types").DocumentedReactComponent<{
109
- containerProps?: {} | undefined;
110
- className?: string | undefined;
111
- id?: string | undefined;
112
- placeholder?: string | undefined;
113
- date: any;
114
- clearable?: boolean | undefined;
115
- onBlur?: (() => null) | undefined;
116
- datePickerProps?: {
117
- disabled: boolean;
118
- numberOfMonths: number;
119
- readOnly: boolean;
120
- enableOutsideDays: boolean;
121
- transitionDuration: number;
122
- firstDayOfWeek: number;
123
- keepOpenOnDateSelect: boolean;
124
- hideKeyboardShortcutsPanel: boolean;
125
- onPrevMonthClick: () => null;
126
- onNextMonthClick: () => null;
127
- onClose: () => null;
128
- onchange: () => null;
129
- onDateChange: () => null;
130
- phrases: {
131
- calendarLabel: string;
132
- roleDescription: string;
133
- closeDatePicker: string;
134
- clearDate: string;
135
- jumpToPrevMonth: string;
136
- jumpToNextMonth: string;
137
- keyboardShortcuts: string;
138
- showKeyboardShortcutsPanel: string;
139
- hideKeyboardShortcutsPanel: string;
140
- openThisPanel: string;
141
- enterKey: string;
142
- leftArrowRightArrow: string;
143
- upArrowDownArrow: string;
144
- pageUpPageDown: string;
145
- homeEnd: string;
146
- escape: string;
147
- questionMark: string;
148
- selectFocusedDate: string;
149
- moveFocusByOneDay: string;
150
- moveFocusByOneWeek: string;
151
- moveFocusByOneMonth: string;
152
- moveFocustoStartAndEndOfWeek: string;
153
- returnFocusToInput: string;
154
- keyboardForwardNavigationInstructions: string;
155
- keyboardBackwardNavigationInstructions: string;
156
- chooseAvailableDate: ({ date }: {
157
- date: any;
158
- }) => any;
159
- dateIsUnavailable: ({ date }: {
160
- date: any;
161
- }) => string;
162
- dateIsSelected: ({ date }: {
163
- date: any;
164
- }) => string;
165
- };
166
- displayFormatDay: string;
167
- isDayBlocked: () => boolean;
168
- isOutsideRange: () => boolean;
169
- isDayHighlighted: () => boolean;
170
- zIndex: number;
171
- } | undefined;
172
- timePickerProps?: {
173
- format: string;
174
- onChange: () => null;
175
- disabledTimes: undefined;
176
- minutesInterval: number;
177
- } | undefined;
178
- dateInputProps?: {
179
- onDateInputDateChange: () => null;
180
- } | undefined;
181
- }>;
182
- export { DateTimePickerWithSchema, DSDateTimePicker };
183
- export default DSDateTimePicker;
@@ -1,75 +0,0 @@
1
- declare const DSDateTimePickerImpl: ({ onBlur, placeholder, date, clearable, datePickerProps: { disabled, numberOfMonths, readOnly, enableOutsideDays, transitionDuration, firstDayOfWeek, keepOpenOnDateSelect, hideKeyboardShortcutsPanel, onPrevMonthClick, onNextMonthClick, onClose, onChange: onDatePickerChange, onDateChange, onError: onErrorDate, phrases, displayFormatDay, isDayBlocked, isOutsideRange, isDayHighlighted, zIndex, }, timePickerProps: { format, onChange: onChangeTimePicker, disabledTimes, onError: onErrorTime, minutesInterval, }, dateInputProps: { onDateInputDateChange }, }: {
2
- onBlur?: (() => null) | undefined;
3
- placeholder: any;
4
- date: any;
5
- clearable: any;
6
- datePickerProps: {
7
- disabled?: boolean | undefined;
8
- numberOfMonths?: number | undefined;
9
- readOnly?: boolean | undefined;
10
- enableOutsideDays?: boolean | undefined;
11
- transitionDuration?: number | undefined;
12
- firstDayOfWeek?: number | undefined;
13
- keepOpenOnDateSelect?: boolean | undefined;
14
- hideKeyboardShortcutsPanel?: boolean | undefined;
15
- onPrevMonthClick?: (() => null) | undefined;
16
- onNextMonthClick?: (() => null) | undefined;
17
- onClose?: (() => null) | undefined;
18
- onChange?: (() => null) | undefined;
19
- onDateChange?: (() => null) | undefined;
20
- onError?: (() => null) | undefined;
21
- phrases?: {
22
- calendarLabel: string;
23
- roleDescription: string;
24
- closeDatePicker: string;
25
- clearDate: string;
26
- jumpToPrevMonth: string;
27
- jumpToNextMonth: string;
28
- keyboardShortcuts: string;
29
- showKeyboardShortcutsPanel: string;
30
- hideKeyboardShortcutsPanel: string;
31
- openThisPanel: string;
32
- enterKey: string;
33
- leftArrowRightArrow: string;
34
- upArrowDownArrow: string;
35
- pageUpPageDown: string;
36
- homeEnd: string;
37
- escape: string;
38
- questionMark: string;
39
- selectFocusedDate: string;
40
- moveFocusByOneDay: string;
41
- moveFocusByOneWeek: string;
42
- moveFocusByOneMonth: string;
43
- moveFocustoStartAndEndOfWeek: string;
44
- returnFocusToInput: string;
45
- keyboardForwardNavigationInstructions: string;
46
- keyboardBackwardNavigationInstructions: string;
47
- chooseAvailableDate: ({ date }: {
48
- date: any;
49
- }) => any;
50
- dateIsUnavailable: ({ date }: {
51
- date: any;
52
- }) => string;
53
- dateIsSelected: ({ date }: {
54
- date: any;
55
- }) => string;
56
- } | undefined;
57
- displayFormatDay?: string | undefined;
58
- isDayBlocked?: (() => boolean) | undefined;
59
- isOutsideRange?: (() => boolean) | undefined;
60
- isDayHighlighted?: (() => boolean) | undefined;
61
- zIndex?: number | undefined;
62
- };
63
- timePickerProps: {
64
- format?: string | undefined;
65
- onChange?: (() => null) | undefined;
66
- disabledTimes?: undefined;
67
- onError?: (() => null) | undefined;
68
- minutesInterval?: number | undefined;
69
- };
70
- dateInputProps: {
71
- onDateInputDateChange?: (() => null) | undefined;
72
- };
73
- }) => JSX.Element;
74
- export { DSDateTimePickerImpl };
75
- export default DSDateTimePickerImpl;
@@ -1 +0,0 @@
1
- export { default, DSDateTimePicker, DateTimePickerWithSchema } from './DSDateTimePicker';
@@ -1,6 +0,0 @@
1
- declare const _default: {
2
- placeholder: string;
3
- className: string;
4
- id: string;
5
- };
6
- export default _default;
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export function themeProviderHOC(Component: any): (props: any) => JSX.Element;
@@ -1,2 +0,0 @@
1
- import moment from 'moment';
2
- export declare const updateDateAndTime: (date: any, time: any) => moment.Moment;