@elliemae/ds-date-time-picker 2.3.0-alpha.8 → 2.3.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/cjs/DSDateTimePicker.js +193 -0
  2. package/cjs/components/DateTimePickerImpl.js +285 -0
  3. package/cjs/index.js +10 -0
  4. package/cjs/lang/english.js +9 -0
  5. package/cjs/utils.js +22 -0
  6. package/esm/DSDateTimePicker.js +182 -0
  7. package/esm/components/DateTimePickerImpl.js +276 -0
  8. package/esm/index.js +1 -0
  9. package/esm/lang/english.js +7 -0
  10. package/esm/utils.js +14 -0
  11. package/package.json +33 -35
  12. package/types/DSDateTimePicker.d.ts +165 -0
  13. package/types/components/DateTimePickerImpl.d.ts +75 -0
  14. package/types/index.d.ts +1 -0
  15. package/types/lang/english.d.ts +6 -0
  16. package/types/tests/DateTimePicker-events.test.d.ts +1 -0
  17. package/types/tests/DateTimePickerSelectedDate.test.d.ts +1 -0
  18. package/types/tests/utils.d.ts +1 -0
  19. package/types/utils.d.ts +2 -0
  20. package/dist/cjs/DSDateTimePicker.js +0 -172
  21. package/dist/cjs/DSDateTimePicker.js.map +0 -7
  22. package/dist/cjs/components/DateTimePickerImpl.js +0 -254
  23. package/dist/cjs/components/DateTimePickerImpl.js.map +0 -7
  24. package/dist/cjs/index.js +0 -37
  25. package/dist/cjs/index.js.map +0 -7
  26. package/dist/cjs/lang/english.js +0 -39
  27. package/dist/cjs/lang/english.js.map +0 -7
  28. package/dist/cjs/tests/utils.js +0 -42
  29. package/dist/cjs/tests/utils.js.map +0 -7
  30. package/dist/cjs/utils.js +0 -45
  31. package/dist/cjs/utils.js.map +0 -7
  32. package/dist/esm/DSDateTimePicker.js +0 -143
  33. package/dist/esm/DSDateTimePicker.js.map +0 -7
  34. package/dist/esm/components/DateTimePickerImpl.js +0 -225
  35. package/dist/esm/components/DateTimePickerImpl.js.map +0 -7
  36. package/dist/esm/index.js +0 -8
  37. package/dist/esm/index.js.map +0 -7
  38. package/dist/esm/lang/english.js +0 -10
  39. package/dist/esm/lang/english.js.map +0 -7
  40. package/dist/esm/tests/utils.js +0 -13
  41. package/dist/esm/tests/utils.js.map +0 -7
  42. package/dist/esm/utils.js +0 -16
  43. package/dist/esm/utils.js.map +0 -7
@@ -0,0 +1,193 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
10
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
11
+ var _jsx = require('@babel/runtime/helpers/jsx');
12
+ require('react');
13
+ var reactDesc = require('react-desc');
14
+ var moment = require('moment');
15
+ var dsClassnames = require('@elliemae/ds-classnames');
16
+ var dsDatePicker = require('@elliemae/ds-date-picker');
17
+ var DateTimePickerImpl = require('./components/DateTimePickerImpl.js');
18
+ var english = require('./lang/english.js');
19
+ var jsxRuntime = require('react/jsx-runtime');
20
+
21
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
22
+
23
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
24
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
25
+ var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
26
+
27
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
28
+
29
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
30
+ const {
31
+ placeholder: placeholderDefault,
32
+ className: classNameDefault,
33
+ id: idDefault
34
+ } = english;
35
+
36
+ const DSDateTimePicker = _ref => {
37
+ let {
38
+ containerProps = {},
39
+ className = classNameDefault,
40
+ id = idDefault,
41
+ placeholder = placeholderDefault,
42
+ date,
43
+ clearable = false,
44
+ onBlur = () => null,
45
+ datePickerProps = {
46
+ disabled: false,
47
+ numberOfMonths: 1,
48
+ readOnly: false,
49
+ enableOutsideDays: false,
50
+ transitionDuration: 0,
51
+ firstDayOfWeek: 0,
52
+ keepOpenOnDateSelect: true,
53
+ hideKeyboardShortcutsPanel: true,
54
+ onPrevMonthClick: () => null,
55
+ onNextMonthClick: () => null,
56
+ onClose: () => null,
57
+ onchange: () => null,
58
+ onDateChange: () => null,
59
+ phrases: dsDatePicker.SingleDatePickerPhrases,
60
+ displayFormatDay: 'D',
61
+ isDayBlocked: () => false,
62
+ isOutsideRange: () => false,
63
+ isDayHighlighted: () => false,
64
+ zIndex: 11
65
+ },
66
+ timePickerProps = {
67
+ format: 'hh:mm A',
68
+ onChange: () => null,
69
+ disabledTimes: undefined,
70
+ minutesInterval: 1
71
+ },
72
+ dateInputProps = {
73
+ onDateInputDateChange: () => null
74
+ }
75
+ } = _ref;
76
+ const {
77
+ cssClassName
78
+ } = dsClassnames.convertPropToCssClassName('datetimepicker', className, {
79
+ id
80
+ });
81
+ return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread(_objectSpread({
82
+ className: cssClassName
83
+ }, containerProps), {}, {
84
+ children: /*#__PURE__*/_jsx__default["default"](DateTimePickerImpl, {
85
+ clearable: clearable,
86
+ date: date,
87
+ datePickerProps: datePickerProps,
88
+ onBlur: onBlur,
89
+ placeholder: placeholder,
90
+ timePickerProps: timePickerProps,
91
+ dateInputProps: dateInputProps
92
+ })
93
+ }));
94
+ };
95
+
96
+ const dateTimePickerProps = {
97
+ containerProps: reactDesc.PropTypes.object.description('Set of Properties attached to the main container'),
98
+ className: reactDesc.PropTypes.string.description('html class attribute'),
99
+ id: reactDesc.PropTypes.string.description('components id'),
100
+
101
+ /**
102
+ * on blur callback
103
+ */
104
+ onBlur: reactDesc.PropTypes.func.description('on blur callback'),
105
+
106
+ /**
107
+ * Initial date, by default current date
108
+ */
109
+ date: reactDesc.PropTypes.instanceOf(Date, moment__default["default"]).description('Initial date, by default current date'),
110
+
111
+ /**
112
+ * Flag to trigger onDateChange on error
113
+ */
114
+ clearable: reactDesc.PropTypes.bool.description('Flag to trigger onDateChange on error'),
115
+
116
+ /**
117
+ * DatePicker properties
118
+ */
119
+ datePickerProps: reactDesc.PropTypes.shape({
120
+ disabled: reactDesc.PropTypes.bool,
121
+ numberOfMonths: reactDesc.PropTypes.number,
122
+ readOnly: reactDesc.PropTypes.bool,
123
+ enableOutsideDays: reactDesc.PropTypes.bool,
124
+ transitionDuration: reactDesc.PropTypes.number,
125
+ firstDayOfWeek: reactDesc.PropTypes.number,
126
+ keepOpenOnDateSelect: reactDesc.PropTypes.bool,
127
+ hideKeyboardShortcutsPanel: reactDesc.PropTypes.bool,
128
+ onPrevMonthClick: reactDesc.PropTypes.func,
129
+ onNextMonthClick: reactDesc.PropTypes.func,
130
+ onClose: reactDesc.PropTypes.func,
131
+ onDateChange: reactDesc.PropTypes.func,
132
+ phrases: reactDesc.PropTypes.shape({
133
+ calendarLabel: reactDesc.PropTypes.string,
134
+ closeDatePicker: reactDesc.PropTypes.string,
135
+ clearDates: reactDesc.PropTypes.string,
136
+ focusStartDate: reactDesc.PropTypes.string,
137
+ jumpToPrevMonth: reactDesc.PropTypes.string,
138
+ jumpToNextMonth: reactDesc.PropTypes.string,
139
+ keyboardShortcuts: reactDesc.PropTypes.string,
140
+ showKeyboardShortcutsPanel: reactDesc.PropTypes.string,
141
+ hideKeyboardShortcutsPanel: reactDesc.PropTypes.string,
142
+ openThisPanel: reactDesc.PropTypes.string,
143
+ enterKey: reactDesc.PropTypes.string,
144
+ leftArrowRightArrow: reactDesc.PropTypes.string,
145
+ upArrowDownArrow: reactDesc.PropTypes.string,
146
+ pageUpPageDown: reactDesc.PropTypes.string,
147
+ homeEnd: reactDesc.PropTypes.string,
148
+ escape: reactDesc.PropTypes.string,
149
+ questionMark: reactDesc.PropTypes.string,
150
+ selectFocusedDate: reactDesc.PropTypes.string,
151
+ moveFocusByOneDay: reactDesc.PropTypes.string,
152
+ moveFocusByOneWeek: reactDesc.PropTypes.string,
153
+ moveFocusByOneMonth: reactDesc.PropTypes.string,
154
+ moveFocustoStartAndEndOfWeek: reactDesc.PropTypes.string,
155
+ returnFocusToInput: reactDesc.PropTypes.string,
156
+ keyboardNavigationInstructions: reactDesc.PropTypes.string,
157
+ chooseAvailableStartDate: reactDesc.PropTypes.func,
158
+ chooseAvailableEndDate: reactDesc.PropTypes.func,
159
+ dateIsUnavailable: reactDesc.PropTypes.func,
160
+ dateIsSelected: reactDesc.PropTypes.func,
161
+
162
+ /**
163
+ * ZIndex for the picker popup
164
+ */
165
+ zIndex: reactDesc.PropTypes.number
166
+ }),
167
+ displayFormatDay: reactDesc.PropTypes.string,
168
+ isDayBlocked: reactDesc.PropTypes.func,
169
+ isOutsideRange: reactDesc.PropTypes.func,
170
+ isDayHighlighted: reactDesc.PropTypes.func
171
+ }).description('DatePicker properties'),
172
+
173
+ /**
174
+ * Input placeholder
175
+ */
176
+ placeholder: reactDesc.PropTypes.string.description('Input placeholder'),
177
+
178
+ /**
179
+ * TimePicker properties
180
+ */
181
+ timePickerProps: reactDesc.PropTypes.shape({
182
+ format: reactDesc.PropTypes.string,
183
+ onChange: reactDesc.PropTypes.func
184
+ }).description('TimePicker properties'),
185
+ dateInputProps: reactDesc.PropTypes.shape({
186
+ onDateInputDateChange: reactDesc.PropTypes.func
187
+ }).description('DateInputProperties')
188
+ };
189
+ const DateTimePickerWithSchema = reactDesc.describe(DSDateTimePicker);
190
+ DateTimePickerWithSchema.propTypes = dateTimePickerProps;
191
+
192
+ exports.DateTimePickerWithSchema = DateTimePickerWithSchema;
193
+ exports["default"] = DSDateTimePicker;
@@ -0,0 +1,285 @@
1
+ 'use strict';
2
+
3
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
4
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
+ var _jsx = require('@babel/runtime/helpers/jsx');
6
+ require('core-js/modules/web.dom-collections.iterator.js');
7
+ require('core-js/modules/esnext.async-iterator.filter.js');
8
+ require('core-js/modules/esnext.iterator.constructor.js');
9
+ require('core-js/modules/esnext.iterator.filter.js');
10
+ require('core-js/modules/esnext.async-iterator.for-each.js');
11
+ require('core-js/modules/esnext.iterator.for-each.js');
12
+ var react = require('react');
13
+ var moment = require('moment');
14
+ var dsClassnames = require('@elliemae/ds-classnames');
15
+ var dsDatePicker = require('@elliemae/ds-date-picker');
16
+ var dsForm = require('@elliemae/ds-form');
17
+ var dsUtilities = require('@elliemae/ds-utilities');
18
+ var dsTimePicker = require('@elliemae/ds-time-picker');
19
+ var utils = require('../utils.js');
20
+ var jsxRuntime = require('react/jsx-runtime');
21
+
22
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
+
24
+ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
25
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
26
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
27
+ var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
28
+
29
+ const _excluded = ["onChange"];
30
+
31
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
32
+
33
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
34
+ const blockName = 'date-time-picker';
35
+ const DateTimePickerWrapper = dsClassnames.aggregatedClasses('div')(blockName, 'wrapper');
36
+ const TimePicker = dsClassnames.aggregatedClasses(dsTimePicker.DSTimePickerMenu)(blockName, 'time-picker');
37
+ const TimePickerWrapper = dsClassnames.aggregatedClasses('div')(blockName, 'time-picker-wrapper'); // const DateInput = aggregatedClasses(DateInputsV2Impl)(blockName, 'date-input');
38
+
39
+ const formatDate = 'MMDDYYYY';
40
+
41
+ const DSDateTimePickerImpl = _ref => {
42
+ let {
43
+ onBlur = () => null,
44
+ placeholder,
45
+ date,
46
+ clearable,
47
+ datePickerProps: {
48
+ disabled = false,
49
+ numberOfMonths = 1,
50
+ readOnly = false,
51
+ enableOutsideDays = false,
52
+ transitionDuration = 0,
53
+ firstDayOfWeek = 0,
54
+ keepOpenOnDateSelect = true,
55
+ hideKeyboardShortcutsPanel = true,
56
+ onPrevMonthClick = () => null,
57
+ onNextMonthClick = () => null,
58
+ onClose = () => null,
59
+ onChange: onDatePickerChange = () => null,
60
+ onDateChange = () => null,
61
+ onError: onErrorDate = () => null,
62
+ phrases = dsDatePicker.SingleDatePickerPhrases,
63
+ displayFormatDay = 'D',
64
+ isDayBlocked = () => false,
65
+ isOutsideRange = () => false,
66
+ isDayHighlighted = () => false,
67
+ zIndex = 11
68
+ },
69
+ timePickerProps: {
70
+ format = 'hh:mm A',
71
+ onChange: onChangeTimePicker = () => null,
72
+ disabledTimes = undefined,
73
+ onError: onErrorTime = () => null,
74
+ minutesInterval = 1
75
+ },
76
+ dateInputProps: {
77
+ onDateInputDateChange = () => null
78
+ }
79
+ } = _ref;
80
+ const [selectedDate, setSelectedDate] = react.useState(undefined);
81
+ const [incompleteInput, setIncompleteInput] = react.useState(undefined);
82
+ const [isOpen, setIsOpen] = react.useState(false);
83
+ const disabledTimeRange = disabledTimes && {
84
+ from: dsTimePicker.convertTimeString(disabledTimes.from),
85
+ to: dsTimePicker.convertTimeString(disabledTimes.to)
86
+ };
87
+ const dateTimePickerWrapperRef = react.useRef();
88
+ const fullFormat = "".concat(formatDate, " ").concat(format);
89
+ react.useEffect(() => {
90
+ if (date) {
91
+ setSelectedDate(moment__default["default"](date));
92
+ } else if (date === null) setSelectedDate(undefined);
93
+ }, [date]);
94
+ const visiblePanels = react.useMemo(() => dsUtilities.getVisibleTimeByFormat(format), []);
95
+ const currentYear = moment__default["default"]().year();
96
+
97
+ const handleDatePickerChange = dateSelected => {
98
+ const splittedDate = utils.updateDateAndTime(dateSelected, selectedDate);
99
+
100
+ if (!readOnly) {
101
+ setSelectedDate(splittedDate);
102
+ onDateChange(splittedDate);
103
+ }
104
+ };
105
+
106
+ const onTimeChange = pickerTime => {
107
+ const splittedDate = utils.updateDateAndTime(selectedDate, pickerTime);
108
+ onChangeTimePicker(splittedDate);
109
+ setSelectedDate(splittedDate);
110
+ };
111
+
112
+ const handleInputChange = (inputValue, type) => {
113
+ onDatePickerChange(inputValue);
114
+ let timeBlocked = false;
115
+ const inputMoment = moment__default["default"](inputValue, fullFormat);
116
+ setIncompleteInput(inputValue);
117
+
118
+ if (type === 'date') {
119
+ const splittedDate = utils.updateDateAndTime(inputMoment, selectedDate);
120
+
121
+ if (inputValue.length < 8) {
122
+ onErrorDate({
123
+ message: 'date incomplete',
124
+ inputValue
125
+ });
126
+ if (clearable) onDateChange('error');
127
+ return;
128
+ }
129
+
130
+ if (inputValue.length === 8 && inputMoment.isValid()) {
131
+ setSelectedDate(splittedDate);
132
+ onChangeTimePicker(splittedDate);
133
+ }
134
+
135
+ onDateChange(splittedDate);
136
+ return;
137
+ }
138
+
139
+ if (disabledTimeRange) {
140
+ const hour = inputValue.hour();
141
+ const min = inputValue.minutes();
142
+ const {
143
+ from,
144
+ to
145
+ } = disabledTimeRange;
146
+
147
+ if (hour > from.hour && hour < to.hour || hour === to.hour && min < to.min) {
148
+ timeBlocked = true;
149
+ }
150
+ }
151
+
152
+ if (timeBlocked) onErrorTime({
153
+ message: 'time blocked',
154
+ inputValue
155
+ });
156
+ const dateBlocked = isDayBlocked(inputMoment);
157
+ if (dateBlocked) onErrorDate({
158
+ message: 'date blocked',
159
+ inputValue
160
+ });
161
+
162
+ if (!timeBlocked && !dateBlocked) {
163
+ onDateChange(inputValue);
164
+ }
165
+ };
166
+
167
+ const handleOutsideClick = event => {
168
+ if (!dateTimePickerWrapperRef.current.contains(event.target)) {
169
+ setIsOpen(false);
170
+ }
171
+ };
172
+
173
+ const handleClickEscape = () => setIsOpen(false);
174
+
175
+ const handleOpen = () => setIsOpen(true);
176
+
177
+ const handleContainerBlur = event => {
178
+ if (!isOpen && !event.currentTarget.contains(event.relatedTarget)) {
179
+ onBlur(event, selectedDate !== null && selectedDate !== void 0 && selectedDate.isValid() ? selectedDate : {
180
+ error: true,
181
+ message: 'incomplete input',
182
+ input: incompleteInput
183
+ });
184
+
185
+ if (clearable && !selectedDate && !!incompleteInput) {
186
+ const inputMoment = moment__default["default"](incompleteInput, fullFormat);
187
+ const splittedDate = utils.updateDateAndTime(inputMoment, selectedDate);
188
+ setSelectedDate(splittedDate);
189
+ onDateChange(splittedDate);
190
+ }
191
+ }
192
+ };
193
+
194
+ react.useEffect(() => {
195
+ if (!isOpen) onBlur({}, selectedDate !== null && selectedDate !== void 0 && selectedDate.isValid() ? selectedDate : {
196
+ error: true,
197
+ message: 'incomplete input',
198
+ input: incompleteInput
199
+ });
200
+ }, [isOpen]);
201
+ const hasSelectedDate = !!selectedDate;
202
+ return /*#__PURE__*/_jsx__default["default"](dsForm.DSInputGroup, {
203
+ containerProps: {
204
+ onBlur: handleContainerBlur
205
+ },
206
+ rightAddon: /*#__PURE__*/_jsx__default["default"](dsDatePicker.DatePickerDropdown, {
207
+ disabled: disabled,
208
+ isOpen: isOpen,
209
+ zIndex: zIndex,
210
+ menu: /*#__PURE__*/jsxRuntime.jsxs(DateTimePickerWrapper, {
211
+ ref: dateTimePickerWrapperRef,
212
+ "data-testid": "date-time-picker",
213
+ children: [/*#__PURE__*/_jsx__default["default"]("div", {
214
+ className: hasSelectedDate ? 'has-selected-date' : 'without-selected-date',
215
+ "data-testid": "date-time-picker-portal-wrapper"
216
+ }, void 0, /*#__PURE__*/_jsx__default["default"](dsDatePicker.DSDatePickerController, {
217
+ date: selectedDate,
218
+ displayFormatDay: displayFormatDay,
219
+ enableOutsideDays: enableOutsideDays,
220
+ firstDayOfWeek: firstDayOfWeek,
221
+ hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,
222
+ isDayBlocked: isDayBlocked,
223
+ isDayHighlighted: isDayHighlighted,
224
+ isOutsideRange: isOutsideRange,
225
+ keepOpenOnDateSelect: keepOpenOnDateSelect,
226
+ numberOfMonths: numberOfMonths,
227
+ onClickEscape: handleClickEscape,
228
+ onClose: onClose,
229
+ onDateChange: handleDatePickerChange,
230
+ onNextMonthClick: onNextMonthClick,
231
+ onOutsideClick: event => handleOutsideClick(event),
232
+ onPrevMonthClick: onPrevMonthClick,
233
+ phrases: phrases,
234
+ transitionDuration: transitionDuration
235
+ })), /*#__PURE__*/_jsx__default["default"](TimePickerWrapper, {}, void 0, /*#__PURE__*/jsxRuntime.jsx(TimePicker, _objectSpread({
236
+ disabled: disabled,
237
+ disabledTimes: disabledTimeRange,
238
+ format: format,
239
+ hasHeader: true,
240
+ hasHeaderDisplay: true,
241
+ onTimeChange: onTimeChange,
242
+ showSeconds: false,
243
+ minutesInterval: minutesInterval,
244
+ time: selectedDate
245
+ }, visiblePanels)))]
246
+ }),
247
+ onClick: handleOpen,
248
+ readOnly: readOnly
249
+ })
250
+ }, void 0, /*#__PURE__*/_jsx__default["default"](dsForm.DSInput, {
251
+ customInputType: _ref2 => {
252
+ let {
253
+ onChange: handleChange
254
+ } = _ref2,
255
+ restInputProps = _objectWithoutProperties__default["default"](_ref2, _excluded);
256
+
257
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
258
+ children: [/*#__PURE__*/_jsx__default["default"]("div", {
259
+ style: {
260
+ display: 'flex'
261
+ }
262
+ }, void 0, /*#__PURE__*/jsxRuntime.jsx(dsForm.DateInputsV2Impl, _objectSpread(_objectSpread({
263
+ disabled: disabled,
264
+ onChange: input => handleChange(input, 'date')
265
+ }, restInputProps), {}, {
266
+ onDateChange: onDateInputDateChange,
267
+ yearMaxRange: currentYear + 100,
268
+ yearMinRange: currentYear - 100,
269
+ time: restInputProps.value && restInputProps.value.hour && restInputProps.value.isValid() ? restInputProps.value.format(formatDate) : restInputProps.value
270
+ }))), /*#__PURE__*/jsxRuntime.jsx(dsForm.TimeInputImpl, _objectSpread({
271
+ disabled: disabled,
272
+ format: format,
273
+ onChange: time => handleChange(time, 'time')
274
+ }, restInputProps))]
275
+ });
276
+ },
277
+ isShowElipsisActive: false,
278
+ disabled: disabled,
279
+ onChange: handleInputChange,
280
+ placeholder: placeholder,
281
+ value: selectedDate
282
+ }));
283
+ };
284
+
285
+ module.exports = DSDateTimePickerImpl;
package/cjs/index.js ADDED
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var DSDateTimePicker = require('./DSDateTimePicker.js');
6
+
7
+
8
+
9
+ exports.DateTimePickerWithSchema = DSDateTimePicker.DateTimePickerWithSchema;
10
+ exports["default"] = DSDateTimePicker["default"];
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var english = {
4
+ placeholder: 'Select date and time',
5
+ className: '',
6
+ id: ''
7
+ };
8
+
9
+ module.exports = english;
package/cjs/utils.js ADDED
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var moment = require('moment');
6
+
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
+
9
+ var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
10
+
11
+ const updateDateAndTime = (date, time) => {
12
+ const splittedDate = moment__default["default"]();
13
+ splittedDate.month(date === null || date === void 0 ? void 0 : date.get('month'));
14
+ splittedDate.year(date === null || date === void 0 ? void 0 : date.get('year'));
15
+ splittedDate.date(date === null || date === void 0 ? void 0 : date.get('date'));
16
+ splittedDate.hour(time === null || time === void 0 ? void 0 : time.get('hour'));
17
+ splittedDate.minute(time === null || time === void 0 ? void 0 : time.get('minute'));
18
+ splittedDate.second(time === null || time === void 0 ? void 0 : time.get('second'));
19
+ return splittedDate;
20
+ };
21
+
22
+ exports.updateDateAndTime = updateDateAndTime;