@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.
- package/cjs/components/DateTimePicker/DateTimePicker.js +17 -120
- package/cjs/components/DateTimePicker/DateTimePicker.js.map +1 -1
- package/cjs/components/DateTimePicker/hooks/useDateTimePicker.js +125 -11
- package/cjs/components/DateTimePicker/hooks/useDateTimePicker.js.map +1 -1
- package/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js +0 -9
- package/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js.map +1 -1
- package/emotion/cjs/components/DateTimePicker/DateTimePicker.js +9 -125
- package/emotion/cjs/components/DateTimePicker/hooks/useDateTimePicker.js +163 -3
- package/emotion/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js +1 -6
- package/emotion/cjs/examples/components/Combobox/Combobox.js +15 -0
- package/emotion/es/components/DateTimePicker/DateTimePicker.js +10 -126
- package/emotion/es/components/DateTimePicker/hooks/useDateTimePicker.js +163 -3
- package/emotion/es/components/DateTimePicker/hooks/useKeyboardNavigation.js +1 -6
- package/es/components/DateTimePicker/DateTimePicker.js +18 -121
- package/es/components/DateTimePicker/DateTimePicker.js.map +1 -1
- package/es/components/DateTimePicker/hooks/useDateTimePicker.js +126 -12
- package/es/components/DateTimePicker/hooks/useDateTimePicker.js.map +1 -1
- package/es/components/DateTimePicker/hooks/useKeyboardNavigation.js +0 -9
- package/es/components/DateTimePicker/hooks/useKeyboardNavigation.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/DateTimePicker/DateTimePicker.js +9 -125
- package/styled-components/cjs/components/DateTimePicker/hooks/useDateTimePicker.js +163 -3
- package/styled-components/cjs/components/DateTimePicker/hooks/useKeyboardNavigation.js +1 -6
- package/styled-components/es/components/DateTimePicker/DateTimePicker.js +10 -126
- package/styled-components/es/components/DateTimePicker/hooks/useDateTimePicker.js +163 -3
- package/styled-components/es/components/DateTimePicker/hooks/useKeyboardNavigation.js +1 -6
- package/styled-components/es/examples/components/Combobox/Combobox.js +0 -7
- package/types/components/DateTimePicker/DateTimePicker.d.ts.map +1 -1
- package/types/components/DateTimePicker/DateTimePicker.types.d.ts +7 -8
- package/types/components/DateTimePicker/DateTimePicker.types.d.ts.map +1 -1
- package/types/components/DateTimePicker/hooks/useDateTimePicker.d.ts +11 -3
- package/types/components/DateTimePicker/hooks/useDateTimePicker.d.ts.map +1 -1
- package/types/components/DateTimePicker/hooks/useKeyboardNavigation.d.ts +2 -2
- package/types/components/DateTimePicker/hooks/useKeyboardNavigation.d.ts.map +1 -1
- 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
|
-
|
|
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
|
-
|
|
155
|
+
handleBlur = _useDateTimePicker.handleBlur,
|
|
209
156
|
handleCalendarPick = _useDateTimePicker.handleCalendarPick,
|
|
210
157
|
handleTimePick = _useDateTimePicker.handleTimePick,
|
|
211
|
-
updateExternalDate = _useDateTimePicker.updateExternalDate
|
|
212
|
-
|
|
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 (!
|
|
195
|
+
if (!dateVisibleValue) {
|
|
299
196
|
updateExternalDate(defaultDate);
|
|
300
197
|
}
|
|
301
|
-
}, [defaultDate,
|
|
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(
|
|
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
|
-
|
|
23
|
-
dateFormat = _ref.dateFormat,
|
|
24
|
-
timeFormat = _ref.timeFormat,
|
|
25
|
-
|
|
26
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
|