@salutejs/plasma-new-hope 0.340.0-canary.2316.19100752819.0 → 0.340.0-canary.2316.19129435456.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/cjs/components/DateTimePicker/DateTimePicker.js +17 -120
  2. package/cjs/components/DateTimePicker/DateTimePicker.js.map +1 -1
  3. package/cjs/components/DateTimePicker/hooks/useDateTimePicker.js +125 -11
  4. package/cjs/components/DateTimePicker/hooks/useDateTimePicker.js.map +1 -1
  5. package/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js +0 -9
  6. package/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js.map +1 -1
  7. package/emotion/cjs/components/DateTimePicker/DateTimePicker.js +9 -125
  8. package/emotion/cjs/components/DateTimePicker/hooks/useDateTimePicker.js +163 -3
  9. package/emotion/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js +1 -6
  10. package/emotion/cjs/examples/components/Combobox/Combobox.js +15 -0
  11. package/emotion/es/components/DateTimePicker/DateTimePicker.js +10 -126
  12. package/emotion/es/components/DateTimePicker/hooks/useDateTimePicker.js +163 -3
  13. package/emotion/es/components/DateTimePicker/hooks/useKeyboardNavigation.js +1 -6
  14. package/es/components/DateTimePicker/DateTimePicker.js +18 -121
  15. package/es/components/DateTimePicker/DateTimePicker.js.map +1 -1
  16. package/es/components/DateTimePicker/hooks/useDateTimePicker.js +126 -12
  17. package/es/components/DateTimePicker/hooks/useDateTimePicker.js.map +1 -1
  18. package/es/components/DateTimePicker/hooks/useKeyboardNavigation.js +0 -9
  19. package/es/components/DateTimePicker/hooks/useKeyboardNavigation.js.map +1 -1
  20. package/package.json +2 -2
  21. package/styled-components/cjs/components/DateTimePicker/DateTimePicker.js +9 -125
  22. package/styled-components/cjs/components/DateTimePicker/hooks/useDateTimePicker.js +163 -3
  23. package/styled-components/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js +1 -6
  24. package/styled-components/es/components/DateTimePicker/DateTimePicker.js +10 -126
  25. package/styled-components/es/components/DateTimePicker/hooks/useDateTimePicker.js +163 -3
  26. package/styled-components/es/components/DateTimePicker/hooks/useKeyboardNavigation.js +1 -6
  27. package/styled-components/es/examples/components/Combobox/Combobox.js +0 -7
  28. package/types/components/DateTimePicker/DateTimePicker.d.ts.map +1 -1
  29. package/types/components/DateTimePicker/DateTimePicker.types.d.ts +7 -8
  30. package/types/components/DateTimePicker/DateTimePicker.types.d.ts.map +1 -1
  31. package/types/components/DateTimePicker/hooks/useDateTimePicker.d.ts +11 -3
  32. package/types/components/DateTimePicker/hooks/useDateTimePicker.d.ts.map +1 -1
  33. package/types/components/DateTimePicker/hooks/useKeyboardNavigation.d.ts +2 -2
  34. package/types/components/DateTimePicker/hooks/useKeyboardNavigation.d.ts.map +1 -1
  35. package/types/examples/components/DateTimePicker/DateTimePicker.d.ts.map +1 -1
@@ -5,9 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
6
6
  var React = require('react');
7
7
  var cls = require('classnames');
8
- var datejs = require('../../utils/datejs.js');
9
8
  var plasmaCore = require('@salutejs/plasma-core');
10
- var dateHelper = require('../DatePicker/utils/dateHelper.js');
11
9
  var DateTimePicker_styles = require('./DateTimePicker.styles.js');
12
10
  var base$1 = require('./variations/_size/base.js');
13
11
  var base = require('./variations/_view/base.js');
@@ -23,7 +21,6 @@ var DateShortcutList = require('./ui/DateShortcut/DateShortcutList.js');
23
21
  var CalendarGrid = require('./ui/CalendarGrid/CalendarGrid.js');
24
22
  var Popover_styles = require('./ui/Popover/Popover.styles.js');
25
23
  var TimeGrid = require('./ui/TimeGrid/TimeGrid.js');
26
- var getFormattedDateTime = require('./utils/getFormattedDateTime.js');
27
24
 
28
25
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
29
26
 
@@ -124,60 +121,9 @@ var dateTimePickerRoot = function dateTimePickerRoot(Root) {
124
121
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
125
122
  isInnerOpen = _useState2[0],
126
123
  setIsInnerOpen = _useState2[1];
127
- var dateFormatDelimiter = React.useMemo(function () {
128
- return dateHelper.getDateFormatDelimiter(dateFormat);
129
- }, [dateFormat]);
130
- var timeFormatDelimiter = React.useMemo(function () {
131
- return dateHelper.getDateFormatDelimiter(timeFormat);
132
- }, [timeFormat]);
133
- var timeColumnsCount = (timeFormat === null || timeFormat === void 0 ? void 0 : timeFormat.split(timeFormatDelimiter).length) || 2;
134
- var fullFormat = dateFormat + dateTimeSeparator + timeFormat;
135
- var _useState3 = React.useState(defaultDate || ''),
136
- _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
137
- innerDate = _useState4[0],
138
- setInnerDate = _useState4[1];
139
- var dateValue = outerValue !== null && outerValue !== void 0 ? outerValue : innerDate;
140
- var initialValues = getFormattedDateTime.getFormattedDateTime({
141
- value: dateValue,
142
- lang: lang,
143
- format: fullFormat,
144
- includeEdgeDates: includeEdgeDates,
145
- min: min,
146
- max: max,
147
- dateFormat: dateFormat,
148
- timeFormat: timeFormat
149
- });
150
- var _useState5 = React.useState({
151
- input: initialValues.formattedDate,
152
- calendar: initialValues.dateValue,
153
- time: initialValues.timeValue
154
- }),
155
- _useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
156
- correctDates = _useState6[0],
157
- setCorrectDates = _useState6[1];
158
- var calendarGridValue = initialValues.dateValue;
159
- var timeGridValue = initialValues.timeValue;
160
- datejs.customDayjs.locale(lang);
161
- var timeVisibleValue = timeGridValue ? datejs.customDayjs(timeGridValue).format(timeFormat) : '';
162
- var inputValue = initialValues.formattedDate;
163
- var isDateEqualEdge = function isDateEqualEdge(dateEdge) {
164
- if (!dateEdge) {
165
- return false;
166
- }
167
- var normalizedEdgeDate = datejs.customDayjs(dateEdge);
168
- normalizedEdgeDate.set('hours', 0);
169
- normalizedEdgeDate.set('minutes', 0);
170
- normalizedEdgeDate.set('seconds', 0);
171
- var normalizedCurrentDate = datejs.customDayjs(correctDates.calendar);
172
- normalizedCurrentDate.set('hours', 0);
173
- normalizedCurrentDate.set('minutes', 0);
174
- normalizedCurrentDate.set('seconds', 0);
175
- if (normalizedCurrentDate.isSame(normalizedEdgeDate)) {
176
- return true;
177
- }
178
- return false;
179
- };
180
124
  var _useDateTimePicker = useDateTimePicker.useDateTimePicker({
125
+ inputRef: inputRef,
126
+ outerValue: outerValue,
181
127
  valueError: valueError,
182
128
  valueSuccess: valueSuccess,
183
129
  type: type,
@@ -185,78 +131,32 @@ var dateTimePickerRoot = function dateTimePickerRoot(Root) {
185
131
  disabled: disabled,
186
132
  readOnly: readOnly,
187
133
  maskWithFormat: maskWithFormat,
188
- format: fullFormat,
134
+ dateTimeSeparator: dateTimeSeparator,
189
135
  dateFormat: dateFormat,
190
136
  timeFormat: timeFormat,
191
- currentValue: inputValue,
192
- delimiters: [dateFormatDelimiter, timeFormatDelimiter, dateTimeSeparator],
193
- inputRef: inputRef,
194
- correctDates: correctDates,
195
137
  max: max,
196
138
  min: min,
197
139
  includeEdgeDates: includeEdgeDates,
198
140
  dateOnTimeSelectOnly: dateOnTimeSelectOnly,
199
- setCorrectDates: setCorrectDates,
200
- setInnerDate: setInnerDate,
201
141
  onChangeValue: onChangeValue,
202
- onCommitDate: onCommitDate
142
+ onCommitDate: onCommitDate,
143
+ onBlur: onBlur
203
144
  }),
145
+ format = _useDateTimePicker.format,
146
+ dateVisibleValue = _useDateTimePicker.dateVisibleValue,
147
+ calendarGridValue = _useDateTimePicker.calendarGridValue,
148
+ inputValue = _useDateTimePicker.inputValue,
149
+ timeVisibleValue = _useDateTimePicker.timeVisibleValue,
150
+ timeColumnsCount = _useDateTimePicker.timeColumnsCount,
204
151
  errorClass = _useDateTimePicker.errorClass,
205
152
  successClass = _useDateTimePicker.successClass,
206
153
  handleChangeValue = _useDateTimePicker.handleChangeValue,
207
154
  handleSearch = _useDateTimePicker.handleSearch,
208
- getQuarterInfo = _useDateTimePicker.getQuarterInfo,
155
+ handleBlur = _useDateTimePicker.handleBlur,
209
156
  handleCalendarPick = _useDateTimePicker.handleCalendarPick,
210
157
  handleTimePick = _useDateTimePicker.handleTimePick,
211
- updateExternalDate = _useDateTimePicker.updateExternalDate;
212
- var handleBlur = function handleBlur(event) {
213
- if (!preserveInvalidOnBlur) {
214
- datejs.customDayjs.locale(lang);
215
- var originalDate = correctDates.calendar;
216
- if (!originalDate) {
217
- if (onChangeValue) {
218
- onChangeValue(event, correctDates.input, {
219
- originalDate: undefined,
220
- isoDate: ''
221
- });
222
- }
223
- if (onCommitDate) {
224
- onCommitDate(correctDates.input, {
225
- quarterInfo: undefined,
226
- originalDate: undefined,
227
- isoDate: ''
228
- });
229
- }
230
- return;
231
- }
232
- if (correctDates.time) {
233
- originalDate.setHours(correctDates.time.getHours(), correctDates.time.getMinutes(), correctDates.time.getSeconds());
234
- }
235
- setInnerDate(originalDate);
236
- if (!timeGridValue) {
237
- if (correctDates.calendar) {
238
- setInnerDate(correctDates.calendar);
239
- }
240
- }
241
- if (onChangeValue) {
242
- onChangeValue(event, correctDates.input, {
243
- originalDate: originalDate,
244
- isoDate: originalDate.toISOString()
245
- });
246
- }
247
- if (onCommitDate) {
248
- var quarterInfo = getQuarterInfo(originalDate);
249
- onCommitDate(correctDates.input, {
250
- quarterInfo: quarterInfo,
251
- originalDate: originalDate,
252
- isoDate: originalDate.toISOString()
253
- });
254
- }
255
- }
256
- if (onBlur) {
257
- onBlur(event);
258
- }
259
- };
158
+ updateExternalDate = _useDateTimePicker.updateExternalDate,
159
+ isDateEqualEdge = _useDateTimePicker.isDateEqualEdge;
260
160
  var handleCalendarOverlayClick = function handleCalendarOverlayClick(event) {
261
161
  if (disabled || readOnly) {
262
162
  return;
@@ -282,9 +182,6 @@ var dateTimePickerRoot = function dateTimePickerRoot(Root) {
282
182
  };
283
183
  var _useKeyNavigation = useKeyboardNavigation.useKeyNavigation({
284
184
  opened: isInnerOpen,
285
- format: fullFormat,
286
- maskWithFormat: maskWithFormat,
287
- delimiters: [dateFormatDelimiter, timeFormatDelimiter, dateTimeSeparator],
288
185
  closeOnEsc: closeOnEsc,
289
186
  onToggle: handleToggle
290
187
  }),
@@ -295,10 +192,10 @@ var dateTimePickerRoot = function dateTimePickerRoot(Root) {
295
192
  });
296
193
  }, [opened]);
297
194
  React.useLayoutEffect(function () {
298
- if (!dateValue) {
195
+ if (!dateVisibleValue) {
299
196
  updateExternalDate(defaultDate);
300
197
  }
301
- }, [defaultDate, fullFormat, lang]);
198
+ }, [defaultDate, format, lang]);
302
199
  return /*#__PURE__*/React__default.default.createElement(Root, {
303
200
  view: view,
304
201
  size: size,
@@ -397,7 +294,7 @@ var dateTimePickerRoot = function dateTimePickerRoot(Root) {
397
294
  }, isDateEqualEdge(max) && {
398
295
  max: max
399
296
  })))), leftHelper && /*#__PURE__*/React__default.default.createElement(DateTimePicker_styles.LeftHelper, {
400
- className: cls__default.default('errorClass, successClass')
297
+ className: cls__default.default(errorClass, successClass)
401
298
  }, leftHelper));
402
299
  });
403
300
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimePicker.js","sources":["../../../src/components/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport type { MouseEvent, SyntheticEvent, KeyboardEvent, FocusEvent } from 'react';\nimport cls from 'classnames';\nimport { customDayjs } from 'src/utils/datejs';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport type { RootProps } from 'src/engines';\n\nimport { getDateFormatDelimiter } from '../DatePicker/utils/dateHelper';\nimport type { DateType } from '../Calendar/Calendar.types';\n\nimport type { DateTimePickerProps, DateTimePickerRootProps } from './DateTimePicker.types';\nimport { base, CalendarContainerOverlay, LeftHelper } from './DateTimePicker.styles';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as eventTooltipSizeCSS } from './variations/_tooltip-size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_readonly/base';\nimport { CalendarGrid, DateShortcutList, Input, Popover, StyledSeparator, TimeGrid } from './ui';\nimport { classes } from './DateTimePicker.tokens';\nimport { useDateTimePicker } from './hooks/useDateTimePicker';\nimport { getFormattedDateTime } from './utils';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\n\nexport const dateTimePickerRoot = (Root: RootProps<HTMLDivElement, DateTimePickerRootProps>) =>\n forwardRef<HTMLInputElement, DateTimePickerProps>(\n (\n {\n className,\n\n value: outerValue,\n defaultDate = '',\n\n // variation props\n size,\n view,\n readOnly = false,\n disabled = false,\n\n // popover props\n opened = false,\n placement = ['top', 'bottom'],\n offset,\n frame = 'document',\n zIndex,\n closeOnOverlayClick = true,\n closeOnEsc = true,\n usePortal = false,\n\n // calendar props\n type = 'Days',\n lang = 'ru',\n dateFormat = 'DD.MM.YYYY',\n timeFormat = 'HH:mm:ss',\n dateTimeSeparator = ' ',\n maskWithFormat,\n min,\n max,\n renderFromDate,\n includeEdgeDates,\n isDouble,\n dateOnTimeSelectOnly,\n\n dateShortcuts,\n dateShortcutsPlacement = 'left',\n dateShortcutsWidth,\n\n eventTooltipOptions,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n\n calendarContainerWidth,\n calendarContainerHeight,\n stretched,\n\n // input props\n label,\n labelPlacement = 'outer',\n keepPlaceholder,\n requiredPlacement = 'right',\n required = false,\n hasRequiredIndicator = false,\n preserveInvalidOnBlur,\n placeholder,\n valueError,\n valueSuccess,\n leftHelper,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n autoComplete,\n\n // callbacks\n onChangeValue,\n onCommitDate,\n onToggle,\n onFocus,\n onBlur,\n\n ...rest\n },\n ref,\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const inputInnerRef = useForkRef(inputRef, ref);\n\n const calendarOverlayRef = useRef<HTMLDivElement | null>(null);\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n\n const dateFormatDelimiter = useMemo(() => getDateFormatDelimiter(dateFormat), [dateFormat]);\n const timeFormatDelimiter = useMemo(() => getDateFormatDelimiter(timeFormat), [timeFormat]);\n\n const timeColumnsCount = timeFormat?.split(timeFormatDelimiter).length || 2;\n const fullFormat = dateFormat + dateTimeSeparator + timeFormat;\n\n const [innerDate, setInnerDate] = useState<string | DateType>(defaultDate || '');\n const dateValue = outerValue ?? innerDate;\n\n const initialValues = getFormattedDateTime({\n value: dateValue,\n lang,\n format: fullFormat,\n includeEdgeDates,\n min,\n max,\n dateFormat,\n timeFormat,\n });\n\n const [correctDates, setCorrectDates] = useState({\n input: initialValues.formattedDate,\n calendar: initialValues.dateValue,\n time: initialValues.timeValue,\n });\n\n const calendarGridValue: DateType = initialValues.dateValue;\n const timeGridValue = initialValues.timeValue;\n\n customDayjs.locale(lang);\n const timeVisibleValue = timeGridValue ? customDayjs(timeGridValue).format(timeFormat) : '';\n const inputValue = initialValues.formattedDate;\n\n const isDateEqualEdge = (dateEdge?: Date) => {\n if (!dateEdge) {\n return false;\n }\n\n const normalizedEdgeDate = customDayjs(dateEdge);\n normalizedEdgeDate.set('hours', 0);\n normalizedEdgeDate.set('minutes', 0);\n normalizedEdgeDate.set('seconds', 0);\n\n const normalizedCurrentDate = customDayjs(correctDates.calendar);\n normalizedCurrentDate.set('hours', 0);\n normalizedCurrentDate.set('minutes', 0);\n normalizedCurrentDate.set('seconds', 0);\n\n if (normalizedCurrentDate.isSame(normalizedEdgeDate)) {\n return true;\n }\n\n return false;\n };\n\n const {\n errorClass,\n successClass,\n handleChangeValue,\n handleSearch,\n getQuarterInfo,\n handleCalendarPick,\n handleTimePick,\n updateExternalDate,\n } = useDateTimePicker({\n valueError,\n valueSuccess,\n type,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n format: fullFormat,\n dateFormat,\n timeFormat,\n currentValue: inputValue,\n delimiters: [dateFormatDelimiter, timeFormatDelimiter, dateTimeSeparator],\n inputRef,\n correctDates,\n max,\n min,\n includeEdgeDates,\n dateOnTimeSelectOnly,\n\n setCorrectDates,\n setInnerDate,\n onChangeValue,\n onCommitDate,\n });\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (!preserveInvalidOnBlur) {\n customDayjs.locale(lang);\n\n const originalDate = correctDates.calendar;\n\n if (!originalDate) {\n if (onChangeValue) {\n onChangeValue(event, correctDates.input, {\n originalDate: undefined,\n isoDate: '',\n });\n }\n\n if (onCommitDate) {\n onCommitDate(correctDates.input, {\n quarterInfo: undefined,\n originalDate: undefined,\n isoDate: '',\n });\n }\n\n return;\n }\n\n if (correctDates.time) {\n originalDate.setHours(\n correctDates.time.getHours(),\n correctDates.time.getMinutes(),\n correctDates.time.getSeconds(),\n );\n }\n\n setInnerDate(originalDate);\n\n if (!timeGridValue) {\n if (correctDates.calendar) {\n setInnerDate(correctDates.calendar);\n }\n }\n\n if (onChangeValue) {\n onChangeValue(event, correctDates.input, {\n originalDate,\n isoDate: originalDate.toISOString(),\n });\n }\n\n if (onCommitDate) {\n const quarterInfo = getQuarterInfo(originalDate);\n\n onCommitDate(correctDates.input, {\n quarterInfo,\n originalDate,\n isoDate: originalDate.toISOString(),\n });\n }\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleCalendarOverlayClick = (event: MouseEvent<HTMLDivElement>) => {\n if (disabled || readOnly) {\n return;\n }\n\n event.stopPropagation();\n\n if (isInnerOpen && stretched && event.target === calendarOverlayRef?.current) {\n setIsInnerOpen(false);\n\n if (onToggle) {\n onToggle(false, event);\n }\n }\n };\n\n const handleToggle = (innerOpened: boolean, event?: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n event?.target === inputRef?.current && (event as KeyboardEvent<HTMLInputElement>).code !== 'Escape'\n ? true\n : innerOpened;\n\n if (onToggle) {\n onToggle(isCalendarOpen, event);\n\n return;\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const { onKeyDown } = useKeyNavigation({\n opened: isInnerOpen,\n format: fullFormat,\n maskWithFormat,\n delimiters: [dateFormatDelimiter, timeFormatDelimiter, dateTimeSeparator],\n closeOnEsc,\n onToggle: handleToggle,\n });\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened]);\n\n useLayoutEffect(() => {\n if (!dateValue) {\n updateExternalDate(defaultDate);\n }\n }, [defaultDate, fullFormat, lang]);\n\n return (\n <Root\n view={view}\n size={size}\n className={cls(classes.root, className, {\n [classes.stretched]: stretched,\n })}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n eventTooltipSize={eventTooltipOptions?.size}\n >\n <Popover\n target={\n <Input\n ref={inputInnerRef}\n className={cls(errorClass, successClass)}\n value={inputValue}\n label={label}\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n requiredPlacement={requiredPlacement}\n required={required}\n hasRequiredIndicator={hasRequiredIndicator}\n preserveInvalidOnBlur={preserveInvalidOnBlur}\n placeholder={placeholder}\n valueError={valueError}\n valueSuccess={valueSuccess}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n autoComplete={autoComplete}\n readOnly={readOnly}\n disabled={disabled}\n onChange={handleChangeValue}\n onSearch={(e) => handleSearch(e?.currentTarget?.value)}\n onFocus={onFocus}\n onBlur={handleBlur}\n onKeyDown={onKeyDown}\n {...rest}\n />\n }\n opened={isInnerOpen}\n usePortal={usePortal}\n frame={frame}\n offset={offset}\n placement={placement}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n zIndex={zIndex}\n calendarContainerWidth={calendarContainerWidth}\n calendarContainerHeight={calendarContainerHeight}\n onToggle={handleToggle}\n >\n <CalendarContainerOverlay ref={calendarOverlayRef} onClick={handleCalendarOverlayClick} />\n\n <Root\n view={view}\n size={size}\n className={cls(classes.root, className, {\n [classes.stretched]: stretched,\n })}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n >\n {dateShortcuts?.length ? (\n <DateShortcutList\n items={dateShortcuts}\n setShortcutDate={updateExternalDate}\n dateShortcutsWidth={dateShortcutsWidth}\n calendarContainerHeight={calendarContainerHeight}\n dateShortcutsPlacement={dateShortcutsPlacement}\n />\n ) : null}\n\n <CalendarGrid\n value={calendarGridValue}\n isDouble={isDouble}\n calendarContainerWidth={calendarContainerWidth}\n calendarContainerHeight={calendarContainerHeight}\n type={type}\n eventTooltipOptions={eventTooltipOptions}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n renderFromDate={renderFromDate}\n includeEdgeDates={includeEdgeDates}\n lang={lang}\n handleCalendarPick={handleCalendarPick}\n />\n\n <StyledSeparator />\n\n <TimeGrid\n value={timeVisibleValue}\n format={timeFormat}\n columns={timeColumnsCount}\n calendarContainerWidth={calendarContainerWidth}\n calendarContainerHeight={calendarContainerHeight}\n dropdownHeight={calendarContainerHeight}\n onChange={handleTimePick}\n {...(isDateEqualEdge(min) && { min })}\n {...(isDateEqualEdge(max) && { max })}\n />\n </Root>\n </Popover>\n {leftHelper && <LeftHelper className={cls('errorClass, successClass')}>{leftHelper}</LeftHelper>}\n </Root>\n );\n },\n );\n\nexport const dateTimePickerConfig = {\n name: 'DateTimePicker',\n tag: 'div',\n layout: dateTimePickerRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n eventTooltipSize: {\n css: eventTooltipSizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["dateTimePickerRoot","Root","forwardRef","_ref","ref","className","outerValue","value","_ref$defaultDate","defaultDate","size","view","_ref$readOnly","readOnly","_ref$disabled","disabled","_ref$opened","opened","_ref$placement","placement","offset","_ref$frame","frame","zIndex","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","_ref$usePortal","usePortal","_ref$type","type","_ref$lang","lang","_ref$dateFormat","dateFormat","_ref$timeFormat","timeFormat","_ref$dateTimeSeparato","dateTimeSeparator","maskWithFormat","min","max","renderFromDate","includeEdgeDates","isDouble","dateOnTimeSelectOnly","dateShortcuts","_ref$dateShortcutsPla","dateShortcutsPlacement","dateShortcutsWidth","eventTooltipOptions","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","calendarContainerWidth","calendarContainerHeight","stretched","label","_ref$labelPlacement","labelPlacement","keepPlaceholder","_ref$requiredPlacemen","requiredPlacement","_ref$required","required","_ref$hasRequiredIndic","hasRequiredIndicator","preserveInvalidOnBlur","placeholder","valueError","valueSuccess","leftHelper","contentLeft","contentRight","textBefore","textAfter","autoComplete","onChangeValue","onCommitDate","onToggle","onFocus","onBlur","rest","_objectWithoutProperties","_excluded","inputRef","useRef","inputInnerRef","useForkRef","calendarOverlayRef","_useState","useState","_useState2","_slicedToArray","isInnerOpen","setIsInnerOpen","dateFormatDelimiter","useMemo","getDateFormatDelimiter","timeFormatDelimiter","timeColumnsCount","split","length","fullFormat","_useState3","_useState4","innerDate","setInnerDate","dateValue","initialValues","getFormattedDateTime","format","_useState5","input","formattedDate","calendar","time","timeValue","_useState6","correctDates","setCorrectDates","calendarGridValue","timeGridValue","customDayjs","locale","timeVisibleValue","inputValue","isDateEqualEdge","dateEdge","normalizedEdgeDate","set","normalizedCurrentDate","isSame","_useDateTimePicker","useDateTimePicker","currentValue","delimiters","errorClass","successClass","handleChangeValue","handleSearch","getQuarterInfo","handleCalendarPick","handleTimePick","updateExternalDate","handleBlur","event","originalDate","undefined","isoDate","quarterInfo","setHours","getHours","getMinutes","getSeconds","toISOString","handleCalendarOverlayClick","stopPropagation","target","current","handleToggle","innerOpened","isCalendarOpen","code","_useKeyNavigation","useKeyNavigation","onKeyDown","useEffect","prevOpen","useLayoutEffect","React","createElement","cls","classes","root","_defineProperty","eventTooltipSize","Popover","Input","_extends","onChange","onSearch","e","_e$currentTarget","currentTarget","CalendarContainerOverlay","onClick","DateShortcutList","items","setShortcutDate","CalendarGrid","_StyledSeparator","StyledSeparator","TimeGrid","columns","dropdownHeight","LeftHelper","dateTimePickerConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","eventTooltipSizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"DateTimePicker.js","sources":["../../../src/components/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport type { MouseEvent, SyntheticEvent, KeyboardEvent } from 'react';\nimport cls from 'classnames';\nimport { useForkRef } from '@salutejs/plasma-core';\nimport type { RootProps } from 'src/engines';\n\nimport type { DateTimePickerProps, DateTimePickerRootProps } from './DateTimePicker.types';\nimport { base, CalendarContainerOverlay, LeftHelper } from './DateTimePicker.styles';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as eventTooltipSizeCSS } from './variations/_tooltip-size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_readonly/base';\nimport { CalendarGrid, DateShortcutList, Input, Popover, StyledSeparator, TimeGrid } from './ui';\nimport { classes } from './DateTimePicker.tokens';\nimport { useDateTimePicker } from './hooks/useDateTimePicker';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\n\nexport const dateTimePickerRoot = (Root: RootProps<HTMLDivElement, DateTimePickerRootProps>) =>\n forwardRef<HTMLInputElement, DateTimePickerProps>(\n (\n {\n className,\n\n value: outerValue,\n defaultDate = '',\n\n // variation props\n size,\n view,\n readOnly = false,\n disabled = false,\n\n // popover props\n opened = false,\n placement = ['top', 'bottom'],\n offset,\n frame = 'document',\n zIndex,\n closeOnOverlayClick = true,\n closeOnEsc = true,\n usePortal = false,\n\n // calendar props\n type = 'Days',\n lang = 'ru',\n dateFormat = 'DD.MM.YYYY',\n timeFormat = 'HH:mm:ss',\n dateTimeSeparator = ' ',\n maskWithFormat,\n min,\n max,\n renderFromDate,\n includeEdgeDates,\n isDouble,\n dateOnTimeSelectOnly,\n\n dateShortcuts,\n dateShortcutsPlacement = 'left',\n dateShortcutsWidth,\n\n eventTooltipOptions,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n\n calendarContainerWidth,\n calendarContainerHeight,\n stretched,\n\n // input props\n label,\n labelPlacement = 'outer',\n keepPlaceholder,\n requiredPlacement = 'right',\n required = false,\n hasRequiredIndicator = false,\n preserveInvalidOnBlur,\n placeholder,\n valueError,\n valueSuccess,\n leftHelper,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n autoComplete,\n\n // callbacks\n onChangeValue,\n onCommitDate,\n onToggle,\n onFocus,\n onBlur,\n\n ...rest\n },\n ref,\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const inputInnerRef = useForkRef(inputRef, ref);\n\n const calendarOverlayRef = useRef<HTMLDivElement | null>(null);\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n\n const {\n format,\n dateVisibleValue,\n calendarGridValue,\n inputValue,\n timeVisibleValue,\n timeColumnsCount,\n errorClass,\n successClass,\n handleChangeValue,\n handleSearch,\n handleBlur,\n handleCalendarPick,\n handleTimePick,\n updateExternalDate,\n isDateEqualEdge,\n } = useDateTimePicker({\n inputRef,\n outerValue,\n valueError,\n valueSuccess,\n type,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n dateTimeSeparator,\n dateFormat,\n timeFormat,\n max,\n min,\n includeEdgeDates,\n dateOnTimeSelectOnly,\n\n onChangeValue,\n onCommitDate,\n onBlur,\n });\n\n const handleCalendarOverlayClick = (event: MouseEvent<HTMLDivElement>) => {\n if (disabled || readOnly) {\n return;\n }\n\n event.stopPropagation();\n\n if (isInnerOpen && stretched && event.target === calendarOverlayRef?.current) {\n setIsInnerOpen(false);\n\n if (onToggle) {\n onToggle(false, event);\n }\n }\n };\n\n const handleToggle = (innerOpened: boolean, event?: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n event?.target === inputRef?.current && (event as KeyboardEvent<HTMLInputElement>).code !== 'Escape'\n ? true\n : innerOpened;\n\n if (onToggle) {\n onToggle(isCalendarOpen, event);\n\n return;\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const { onKeyDown } = useKeyNavigation({\n opened: isInnerOpen,\n closeOnEsc,\n onToggle: handleToggle,\n });\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened]);\n\n useLayoutEffect(() => {\n if (!dateVisibleValue) {\n updateExternalDate(defaultDate);\n }\n }, [defaultDate, format, lang]);\n\n return (\n <Root\n view={view}\n size={size}\n className={cls(classes.root, className, {\n [classes.stretched]: stretched,\n })}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n eventTooltipSize={eventTooltipOptions?.size}\n >\n <Popover\n target={\n <Input\n ref={inputInnerRef}\n className={cls(errorClass, successClass)}\n value={inputValue}\n label={label}\n labelPlacement={labelPlacement}\n keepPlaceholder={keepPlaceholder}\n requiredPlacement={requiredPlacement}\n required={required}\n hasRequiredIndicator={hasRequiredIndicator}\n preserveInvalidOnBlur={preserveInvalidOnBlur}\n placeholder={placeholder}\n valueError={valueError}\n valueSuccess={valueSuccess}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n autoComplete={autoComplete}\n readOnly={readOnly}\n disabled={disabled}\n onChange={handleChangeValue}\n onSearch={(e) => handleSearch(e?.currentTarget?.value)}\n onFocus={onFocus}\n onBlur={handleBlur}\n onKeyDown={onKeyDown}\n {...rest}\n />\n }\n opened={isInnerOpen}\n usePortal={usePortal}\n frame={frame}\n offset={offset}\n placement={placement}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n zIndex={zIndex}\n calendarContainerWidth={calendarContainerWidth}\n calendarContainerHeight={calendarContainerHeight}\n onToggle={handleToggle}\n >\n <CalendarContainerOverlay ref={calendarOverlayRef} onClick={handleCalendarOverlayClick} />\n\n <Root\n view={view}\n size={size}\n className={cls(classes.root, className, {\n [classes.stretched]: stretched,\n })}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n >\n {dateShortcuts?.length ? (\n <DateShortcutList\n items={dateShortcuts}\n setShortcutDate={updateExternalDate}\n dateShortcutsWidth={dateShortcutsWidth}\n calendarContainerHeight={calendarContainerHeight}\n dateShortcutsPlacement={dateShortcutsPlacement}\n />\n ) : null}\n\n <CalendarGrid\n value={calendarGridValue}\n isDouble={isDouble}\n calendarContainerWidth={calendarContainerWidth}\n calendarContainerHeight={calendarContainerHeight}\n type={type}\n eventTooltipOptions={eventTooltipOptions}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n renderFromDate={renderFromDate}\n includeEdgeDates={includeEdgeDates}\n lang={lang}\n handleCalendarPick={handleCalendarPick}\n />\n\n <StyledSeparator />\n\n <TimeGrid\n value={timeVisibleValue}\n format={timeFormat}\n columns={timeColumnsCount}\n calendarContainerWidth={calendarContainerWidth}\n calendarContainerHeight={calendarContainerHeight}\n dropdownHeight={calendarContainerHeight}\n onChange={handleTimePick}\n {...(isDateEqualEdge(min) && { min })}\n {...(isDateEqualEdge(max) && { max })}\n />\n </Root>\n </Popover>\n {leftHelper && <LeftHelper className={cls(errorClass, successClass)}>{leftHelper}</LeftHelper>}\n </Root>\n );\n },\n );\n\nexport const dateTimePickerConfig = {\n name: 'DateTimePicker',\n tag: 'div',\n layout: dateTimePickerRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n eventTooltipSize: {\n css: eventTooltipSizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["dateTimePickerRoot","Root","forwardRef","_ref","ref","className","outerValue","value","_ref$defaultDate","defaultDate","size","view","_ref$readOnly","readOnly","_ref$disabled","disabled","_ref$opened","opened","_ref$placement","placement","offset","_ref$frame","frame","zIndex","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","_ref$usePortal","usePortal","_ref$type","type","_ref$lang","lang","_ref$dateFormat","dateFormat","_ref$timeFormat","timeFormat","_ref$dateTimeSeparato","dateTimeSeparator","maskWithFormat","min","max","renderFromDate","includeEdgeDates","isDouble","dateOnTimeSelectOnly","dateShortcuts","_ref$dateShortcutsPla","dateShortcutsPlacement","dateShortcutsWidth","eventTooltipOptions","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","calendarContainerWidth","calendarContainerHeight","stretched","label","_ref$labelPlacement","labelPlacement","keepPlaceholder","_ref$requiredPlacemen","requiredPlacement","_ref$required","required","_ref$hasRequiredIndic","hasRequiredIndicator","preserveInvalidOnBlur","placeholder","valueError","valueSuccess","leftHelper","contentLeft","contentRight","textBefore","textAfter","autoComplete","onChangeValue","onCommitDate","onToggle","onFocus","onBlur","rest","_objectWithoutProperties","_excluded","inputRef","useRef","inputInnerRef","useForkRef","calendarOverlayRef","_useState","useState","_useState2","_slicedToArray","isInnerOpen","setIsInnerOpen","_useDateTimePicker","useDateTimePicker","format","dateVisibleValue","calendarGridValue","inputValue","timeVisibleValue","timeColumnsCount","errorClass","successClass","handleChangeValue","handleSearch","handleBlur","handleCalendarPick","handleTimePick","updateExternalDate","isDateEqualEdge","handleCalendarOverlayClick","event","stopPropagation","target","current","handleToggle","innerOpened","isCalendarOpen","code","_useKeyNavigation","useKeyNavigation","onKeyDown","useEffect","prevOpen","useLayoutEffect","React","createElement","cls","classes","root","_defineProperty","eventTooltipSize","Popover","Input","_extends","onChange","onSearch","e","_e$currentTarget","currentTarget","CalendarContainerOverlay","onClick","length","DateShortcutList","items","setShortcutDate","CalendarGrid","_StyledSeparator","StyledSeparator","TimeGrid","columns","dropdownHeight","LeftHelper","dateTimePickerConfig","name","tag","layout","base","variations","css","viewCSS","sizeCSS","eventTooltipSizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}
@@ -3,7 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
+ var React = require('react');
6
7
  var datejs = require('../../../utils/datejs.js');
8
+ var dateHelper = require('../../DatePicker/utils/dateHelper.js');
7
9
  var DateTimePicker_tokens = require('../DateTimePicker.tokens.js');
8
10
  var getMaskedValue = require('../utils/getMaskedValue.js');
9
11
  var getFormattedDateTime = require('../utils/getFormattedDateTime.js');
@@ -18,24 +20,63 @@ var useDateTimePicker = function useDateTimePicker(_ref) {
18
20
  lang = _ref$lang === void 0 ? 'ru' : _ref$lang,
19
21
  disabled = _ref.disabled,
20
22
  readOnly = _ref.readOnly,
23
+ outerValue = _ref.outerValue,
24
+ defaultDate = _ref.defaultDate,
21
25
  maskWithFormat = _ref.maskWithFormat,
22
- format = _ref.format,
23
- dateFormat = _ref.dateFormat,
24
- timeFormat = _ref.timeFormat,
25
- currentValue = _ref.currentValue,
26
- delimiters = _ref.delimiters,
26
+ _ref$dateFormat = _ref.dateFormat,
27
+ dateFormat = _ref$dateFormat === void 0 ? 'DD.MM.YYYY' : _ref$dateFormat,
28
+ _ref$timeFormat = _ref.timeFormat,
29
+ timeFormat = _ref$timeFormat === void 0 ? 'HH:mm:ss' : _ref$timeFormat,
30
+ _ref$dateTimeSeparato = _ref.dateTimeSeparator,
31
+ dateTimeSeparator = _ref$dateTimeSeparato === void 0 ? ' ' : _ref$dateTimeSeparato,
27
32
  inputRef = _ref.inputRef,
28
33
  min = _ref.min,
29
34
  max = _ref.max,
30
35
  includeEdgeDates = _ref.includeEdgeDates,
31
- correctDates = _ref.correctDates,
32
36
  dateOnTimeSelectOnly = _ref.dateOnTimeSelectOnly,
33
- setCorrectDates = _ref.setCorrectDates,
34
- setInnerDate = _ref.setInnerDate,
37
+ preserveInvalidOnBlur = _ref.preserveInvalidOnBlur,
35
38
  onChangeValue = _ref.onChangeValue,
36
- onCommitDate = _ref.onCommitDate;
39
+ onCommitDate = _ref.onCommitDate,
40
+ onBlur = _ref.onBlur;
37
41
  var errorClass = valueError ? DateTimePicker_tokens.classes.error : undefined;
38
42
  var successClass = valueSuccess ? DateTimePicker_tokens.classes.success : undefined;
43
+ var dateFormatDelimiter = React.useMemo(function () {
44
+ return dateHelper.getDateFormatDelimiter(dateFormat);
45
+ }, [dateFormat]);
46
+ var timeFormatDelimiter = React.useMemo(function () {
47
+ return dateHelper.getDateFormatDelimiter(timeFormat);
48
+ }, [timeFormat]);
49
+ var delimiters = [dateFormatDelimiter, timeFormatDelimiter, dateTimeSeparator];
50
+ var format = dateFormat + dateTimeSeparator + timeFormat;
51
+ var timeColumnsCount = (timeFormat === null || timeFormat === void 0 ? void 0 : timeFormat.split(timeFormatDelimiter).length) || 2;
52
+ var _useState = React.useState(defaultDate || ''),
53
+ _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
54
+ innerDate = _useState2[0],
55
+ setInnerDate = _useState2[1];
56
+ var dateVisibleValue = outerValue !== null && outerValue !== void 0 ? outerValue : innerDate;
57
+ var initialValues = getFormattedDateTime.getFormattedDateTime({
58
+ value: dateVisibleValue,
59
+ lang: lang,
60
+ format: format,
61
+ includeEdgeDates: includeEdgeDates,
62
+ min: min,
63
+ max: max,
64
+ dateFormat: dateFormat,
65
+ timeFormat: timeFormat
66
+ });
67
+ var _useState3 = React.useState({
68
+ input: initialValues.formattedDate,
69
+ calendar: initialValues.dateValue,
70
+ time: initialValues.timeValue
71
+ }),
72
+ _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
73
+ correctDates = _useState4[0],
74
+ setCorrectDates = _useState4[1];
75
+ var calendarGridValue = initialValues.dateValue;
76
+ var timeGridValue = initialValues.timeValue;
77
+ datejs.customDayjs.locale(lang);
78
+ var timeVisibleValue = timeGridValue ? datejs.customDayjs(timeGridValue).format(timeFormat) : '';
79
+ var inputValue = initialValues.formattedDate;
39
80
  var getQuarterInfo = function getQuarterInfo(originalDate) {
40
81
  if (type !== 'Quarters' || !originalDate) {
41
82
  return;
@@ -50,6 +91,23 @@ var useDateTimePicker = function useDateTimePicker(_ref) {
50
91
  fullValue: [originalDate, endQuarter]
51
92
  };
52
93
  };
94
+ var isDateEqualEdge = function isDateEqualEdge(dateEdge) {
95
+ if (!dateEdge) {
96
+ return false;
97
+ }
98
+ var normalizedEdgeDate = datejs.customDayjs(dateEdge);
99
+ normalizedEdgeDate.set('hours', 0);
100
+ normalizedEdgeDate.set('minutes', 0);
101
+ normalizedEdgeDate.set('seconds', 0);
102
+ var normalizedCurrentDate = datejs.customDayjs(correctDates.calendar);
103
+ normalizedCurrentDate.set('hours', 0);
104
+ normalizedCurrentDate.set('minutes', 0);
105
+ normalizedCurrentDate.set('seconds', 0);
106
+ if (normalizedCurrentDate.isSame(normalizedEdgeDate)) {
107
+ return true;
108
+ }
109
+ return false;
110
+ };
53
111
  var getFormattedCorrectInput = function getFormattedCorrectInput(_ref2) {
54
112
  var originalDate = _ref2.originalDate,
55
113
  formattedDate = _ref2.formattedDate,
@@ -85,7 +143,7 @@ var useDateTimePicker = function useDateTimePicker(_ref) {
85
143
  value: value,
86
144
  format: format,
87
145
  delimiters: delimiters,
88
- prevValue: currentValue,
146
+ prevValue: inputValue,
89
147
  selectionStart: selectionStart
90
148
  }) : {
91
149
  formattedValue: value,
@@ -315,15 +373,71 @@ var useDateTimePicker = function useDateTimePicker(_ref) {
315
373
  });
316
374
  setInnerDate(formattedDate);
317
375
  };
376
+ var handleBlur = function handleBlur(event) {
377
+ if (!preserveInvalidOnBlur) {
378
+ datejs.customDayjs.locale(lang);
379
+ var originalDate = correctDates.calendar;
380
+ if (!originalDate) {
381
+ if (onChangeValue) {
382
+ onChangeValue(event, correctDates.input, {
383
+ originalDate: undefined,
384
+ isoDate: ''
385
+ });
386
+ }
387
+ if (onCommitDate) {
388
+ onCommitDate(correctDates.input, {
389
+ quarterInfo: undefined,
390
+ originalDate: undefined,
391
+ isoDate: ''
392
+ });
393
+ }
394
+ return;
395
+ }
396
+ if (correctDates.time) {
397
+ originalDate.setHours(correctDates.time.getHours(), correctDates.time.getMinutes(), correctDates.time.getSeconds());
398
+ }
399
+ setInnerDate(originalDate);
400
+ if (!timeGridValue) {
401
+ if (correctDates.calendar) {
402
+ setInnerDate(correctDates.calendar);
403
+ }
404
+ }
405
+ if (onChangeValue) {
406
+ onChangeValue(event, correctDates.input, {
407
+ originalDate: originalDate,
408
+ isoDate: originalDate.toISOString()
409
+ });
410
+ }
411
+ if (onCommitDate) {
412
+ var quarterInfo = getQuarterInfo(originalDate);
413
+ onCommitDate(correctDates.input, {
414
+ quarterInfo: quarterInfo,
415
+ originalDate: originalDate,
416
+ isoDate: originalDate.toISOString()
417
+ });
418
+ }
419
+ }
420
+ if (onBlur) {
421
+ onBlur(event);
422
+ }
423
+ };
318
424
  return {
425
+ format: format,
426
+ dateVisibleValue: dateVisibleValue,
427
+ calendarGridValue: calendarGridValue,
428
+ inputValue: inputValue,
429
+ timeVisibleValue: timeVisibleValue,
430
+ timeColumnsCount: timeColumnsCount,
319
431
  errorClass: errorClass,
320
432
  successClass: successClass,
321
433
  handleChangeValue: handleChangeValue,
322
434
  handleSearch: handleSearch,
323
435
  handleCalendarPick: handleCalendarPick,
324
436
  handleTimePick: handleTimePick,
437
+ handleBlur: handleBlur,
325
438
  updateExternalDate: updateExternalDate,
326
- getQuarterInfo: getQuarterInfo
439
+ getQuarterInfo: getQuarterInfo,
440
+ isDateEqualEdge: isDateEqualEdge
327
441
  };
328
442
  };
329
443