@dreamcommerce/aurora 3.1.51 → 3.1.52-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.
- package/build/cjs/packages/aurora/src/components/calendar/styled_day_picker/styled_day_picker.js +1 -1
- package/build/cjs/packages/aurora/src/components/color_picker/components/pure_color_picker.js +0 -1
- package/build/cjs/packages/aurora/src/components/color_picker/components/pure_color_picker.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/date_and_time_picker/date_time_picker.js +16 -27
- package/build/cjs/packages/aurora/src/components/date_and_time_picker/date_time_picker.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/date_picker/components/date_picker_input.js +43 -11
- package/build/cjs/packages/aurora/src/components/date_picker/components/date_picker_input.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/date_picker/date_picker.js +93 -13
- package/build/cjs/packages/aurora/src/components/date_picker/date_picker.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/date_picker/date_picker_utils.js +203 -4
- package/build/cjs/packages/aurora/src/components/date_picker/date_picker_utils.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/input_mask/hooks/hooks.js +196 -0
- package/build/cjs/packages/aurora/src/components/input_mask/hooks/hooks.js.map +1 -0
- package/build/cjs/packages/aurora/src/components/input_mask/input-mask-constants.js +14 -0
- package/build/cjs/packages/aurora/src/components/input_mask/input-mask-constants.js.map +1 -0
- package/build/cjs/packages/aurora/src/components/input_mask/input_mask.js +360 -0
- package/build/cjs/packages/aurora/src/components/input_mask/input_mask.js.map +1 -0
- package/build/cjs/packages/aurora/src/components/input_mask/utils/defer.js +16 -0
- package/build/cjs/packages/aurora/src/components/input_mask/utils/defer.js.map +1 -0
- package/build/cjs/packages/aurora/src/components/input_mask/utils/helpers.js +50 -0
- package/build/cjs/packages/aurora/src/components/input_mask/utils/helpers.js.map +1 -0
- package/build/cjs/packages/aurora/src/components/input_mask/utils/input.js +33 -0
- package/build/cjs/packages/aurora/src/components/input_mask/utils/input.js.map +1 -0
- package/build/cjs/packages/aurora/src/components/input_mask/utils/mask.js +371 -0
- package/build/cjs/packages/aurora/src/components/input_mask/utils/mask.js.map +1 -0
- package/build/cjs/packages/aurora/src/components/input_mask/utils/parse-mask.js +94 -0
- package/build/cjs/packages/aurora/src/components/input_mask/utils/parse-mask.js.map +1 -0
- package/build/cjs/packages/aurora/src/components/input_mask/utils/validate-props.js +37 -0
- package/build/cjs/packages/aurora/src/components/input_mask/utils/validate-props.js.map +1 -0
- package/build/cjs/packages/aurora/src/components/time_picker/components/time_picker_input.js +30 -10
- package/build/cjs/packages/aurora/src/components/time_picker/components/time_picker_input.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/time_picker/time_picker.js +85 -50
- package/build/cjs/packages/aurora/src/components/time_picker/time_picker.js.map +1 -1
- package/build/cjs/packages/aurora/src/components/time_picker/time_picker_utils.js +62 -1
- package/build/cjs/packages/aurora/src/components/time_picker/time_picker_utils.js.map +1 -1
- package/build/cjs/packages/aurora/src/index.js +2 -0
- package/build/cjs/packages/aurora/src/index.js.map +1 -1
- package/build/cjs/packages/aurora/src/translations/en.json.js +5 -1
- package/build/cjs/packages/aurora/src/translations/en.json.js.map +1 -1
- package/build/cjs/packages/aurora/src/translations/pl.json.js +5 -1
- package/build/cjs/packages/aurora/src/translations/pl.json.js.map +1 -1
- package/build/esm/packages/aurora/src/components/calendar/styled_day_picker/styled_day_picker.js +1 -1
- package/build/esm/packages/aurora/src/components/color_picker/components/pure_color_picker.js +0 -1
- package/build/esm/packages/aurora/src/components/color_picker/components/pure_color_picker.js.map +1 -1
- package/build/esm/packages/aurora/src/components/date_and_time_picker/date_time_picker.js +16 -27
- package/build/esm/packages/aurora/src/components/date_and_time_picker/date_time_picker.js.map +1 -1
- package/build/esm/packages/aurora/src/components/date_picker/components/date_picker_input.d.ts +4 -1
- package/build/esm/packages/aurora/src/components/date_picker/components/date_picker_input.js +43 -11
- package/build/esm/packages/aurora/src/components/date_picker/components/date_picker_input.js.map +1 -1
- package/build/esm/packages/aurora/src/components/date_picker/date_picker.d.ts +1 -1
- package/build/esm/packages/aurora/src/components/date_picker/date_picker.js +94 -14
- package/build/esm/packages/aurora/src/components/date_picker/date_picker.js.map +1 -1
- package/build/esm/packages/aurora/src/components/date_picker/date_picker_types.d.ts +1 -1
- package/build/esm/packages/aurora/src/components/date_picker/date_picker_utils.d.ts +19 -2
- package/build/esm/packages/aurora/src/components/date_picker/date_picker_utils.js +203 -4
- package/build/esm/packages/aurora/src/components/date_picker/date_picker_utils.js.map +1 -1
- package/build/esm/packages/aurora/src/components/input_mask/hooks/hooks.d.ts +10 -0
- package/build/esm/packages/aurora/src/components/input_mask/hooks/hooks.js +190 -0
- package/build/esm/packages/aurora/src/components/input_mask/hooks/hooks.js.map +1 -0
- package/build/esm/packages/aurora/src/components/input_mask/input-mask-constants.d.ts +6 -0
- package/build/esm/packages/aurora/src/components/input_mask/input-mask-constants.js +9 -0
- package/build/esm/packages/aurora/src/components/input_mask/input-mask-constants.js.map +1 -0
- package/build/esm/packages/aurora/src/components/input_mask/input_mask.d.ts +4 -0
- package/build/esm/packages/aurora/src/components/input_mask/input_mask.js +352 -0
- package/build/esm/packages/aurora/src/components/input_mask/input_mask.js.map +1 -0
- package/build/esm/packages/aurora/src/components/input_mask/input_mask_types.d.ts +39 -0
- package/build/esm/packages/aurora/src/components/input_mask/input_mask_types.js +2 -0
- package/build/esm/packages/aurora/src/components/input_mask/input_mask_types.js.map +1 -0
- package/build/esm/packages/aurora/src/components/input_mask/utils/defer.d.ts +2 -0
- package/build/esm/packages/aurora/src/components/input_mask/utils/defer.js +11 -0
- package/build/esm/packages/aurora/src/components/input_mask/utils/defer.js.map +1 -0
- package/build/esm/packages/aurora/src/components/input_mask/utils/helpers.d.ts +7 -0
- package/build/esm/packages/aurora/src/components/input_mask/utils/helpers.js +40 -0
- package/build/esm/packages/aurora/src/components/input_mask/utils/helpers.js.map +1 -0
- package/build/esm/packages/aurora/src/components/input_mask/utils/input.d.ts +9 -0
- package/build/esm/packages/aurora/src/components/input_mask/utils/input.js +29 -0
- package/build/esm/packages/aurora/src/components/input_mask/utils/input.js.map +1 -0
- package/build/esm/packages/aurora/src/components/input_mask/utils/mask.d.ts +63 -0
- package/build/esm/packages/aurora/src/components/input_mask/utils/mask.js +367 -0
- package/build/esm/packages/aurora/src/components/input_mask/utils/mask.js.map +1 -0
- package/build/esm/packages/aurora/src/components/input_mask/utils/parse-mask.d.ts +7 -0
- package/build/esm/packages/aurora/src/components/input_mask/utils/parse-mask.js +90 -0
- package/build/esm/packages/aurora/src/components/input_mask/utils/parse-mask.js.map +1 -0
- package/build/esm/packages/aurora/src/components/input_mask/utils/validate-props.d.ts +4 -0
- package/build/esm/packages/aurora/src/components/input_mask/utils/validate-props.js +31 -0
- package/build/esm/packages/aurora/src/components/input_mask/utils/validate-props.js.map +1 -0
- package/build/esm/packages/aurora/src/components/time_picker/components/time_picker_input.d.ts +2 -1
- package/build/esm/packages/aurora/src/components/time_picker/components/time_picker_input.js +30 -10
- package/build/esm/packages/aurora/src/components/time_picker/components/time_picker_input.js.map +1 -1
- package/build/esm/packages/aurora/src/components/time_picker/time_picker.js +87 -52
- package/build/esm/packages/aurora/src/components/time_picker/time_picker.js.map +1 -1
- package/build/esm/packages/aurora/src/components/time_picker/time_picker_utils.d.ts +11 -0
- package/build/esm/packages/aurora/src/components/time_picker/time_picker_utils.js +62 -1
- package/build/esm/packages/aurora/src/components/time_picker/time_picker_utils.js.map +1 -1
- package/build/esm/packages/aurora/src/index.d.ts +2 -0
- package/build/esm/packages/aurora/src/index.js +1 -0
- package/build/esm/packages/aurora/src/index.js.map +1 -1
- package/build/esm/packages/aurora/src/translations/en.json +5 -1
- package/build/esm/packages/aurora/src/translations/en.json.js +5 -1
- package/build/esm/packages/aurora/src/translations/en.json.js.map +1 -1
- package/build/esm/packages/aurora/src/translations/pl.json +5 -1
- package/build/esm/packages/aurora/src/translations/pl.json.js +5 -1
- package/build/esm/packages/aurora/src/translations/pl.json.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React__default, { useState, useMemo } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { useTranslation } from '../../../../../external/react-i18next/dist/es/useTranslation.js';
|
|
3
|
+
import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, typeof as _typeof, toConsumableArray as _toConsumableArray, objectSpread2 as _objectSpread2 } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
4
|
+
import { ErrorList } from '../error_list/error_list.js';
|
|
4
5
|
import { Popover } from '../popover/popover.js';
|
|
5
|
-
import {
|
|
6
|
+
import { DatePickerUtils } from './date_picker_utils.js';
|
|
6
7
|
import { DatePickerInput } from './components/date_picker_input.js';
|
|
7
8
|
import { DatePickerContent } from './components/date_picker_content.js';
|
|
8
|
-
import { DatePickerUtils } from './date_picker_utils.js';
|
|
9
9
|
|
|
10
|
-
var _excluded = ["id", "mode", "placeholder", "disabled", "errors", "value", "onChange", "disabledDays"];
|
|
10
|
+
var _excluded = ["id", "mode", "placeholder", "disabled", "errors", "value", "onChange", "disabledDays", "startMonth", "endMonth"];
|
|
11
11
|
var DatePicker = function DatePicker(_ref) {
|
|
12
12
|
var id = _ref.id,
|
|
13
13
|
_ref$mode = _ref.mode,
|
|
@@ -18,42 +18,122 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
18
18
|
value = _ref.value,
|
|
19
19
|
onChange = _ref.onChange,
|
|
20
20
|
disabledDays = _ref.disabledDays,
|
|
21
|
+
startMonth = _ref.startMonth,
|
|
22
|
+
endMonth = _ref.endMonth,
|
|
21
23
|
dayPickerProps = _objectWithoutProperties(_ref, _excluded);
|
|
24
|
+
var _useTranslation = useTranslation(),
|
|
25
|
+
_useTranslation2 = _slicedToArray(_useTranslation, 1),
|
|
26
|
+
t = _useTranslation2[0];
|
|
22
27
|
var _useState = useState(false),
|
|
23
28
|
_useState2 = _slicedToArray(_useState, 2),
|
|
24
29
|
open = _useState2[0],
|
|
25
30
|
setOpen = _useState2[1];
|
|
31
|
+
var _useState3 = useState(''),
|
|
32
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
33
|
+
inputValue = _useState4[0],
|
|
34
|
+
setInputValue = _useState4[1];
|
|
35
|
+
var _useState5 = useState(undefined),
|
|
36
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
37
|
+
internalValidationErrors = _useState6[0],
|
|
38
|
+
setInternalValidationErrors = _useState6[1];
|
|
26
39
|
var selectedDates = useMemo(function () {
|
|
27
40
|
return value;
|
|
28
41
|
}, [value]);
|
|
29
42
|
var displayValue = useMemo(function () {
|
|
30
|
-
if (!selectedDates) return
|
|
43
|
+
if (!selectedDates) return inputValue;
|
|
31
44
|
return DatePickerUtils.inputFormatValue(selectedDates, mode);
|
|
45
|
+
}, [selectedDates, mode, inputValue]);
|
|
46
|
+
var defaultMonth = useMemo(function () {
|
|
47
|
+
if (!selectedDates) return undefined;
|
|
48
|
+
if (mode === 'single' && selectedDates instanceof Date) {
|
|
49
|
+
return selectedDates;
|
|
50
|
+
}
|
|
51
|
+
if (mode === 'range' && selectedDates && _typeof(selectedDates) === 'object' && 'from' in selectedDates) {
|
|
52
|
+
return selectedDates.from;
|
|
53
|
+
}
|
|
54
|
+
return undefined;
|
|
32
55
|
}, [selectedDates, mode]);
|
|
56
|
+
var inputErrors = useMemo(function () {
|
|
57
|
+
if (internalValidationErrors && errors) {
|
|
58
|
+
return Array.isArray(errors) ? [].concat(_toConsumableArray(errors), [internalValidationErrors]) : [errors, internalValidationErrors];
|
|
59
|
+
}
|
|
60
|
+
if (internalValidationErrors) return internalValidationErrors;
|
|
61
|
+
return errors;
|
|
62
|
+
}, [internalValidationErrors, errors]);
|
|
33
63
|
var handleDateSelect = function handleDateSelect(selected) {
|
|
34
64
|
onChange === null || onChange === void 0 ? void 0 : onChange(selected);
|
|
65
|
+
setInputValue('');
|
|
66
|
+
setInternalValidationErrors(undefined);
|
|
35
67
|
if (mode === 'single' && selected) {
|
|
36
68
|
setOpen(false);
|
|
37
69
|
}
|
|
38
70
|
};
|
|
39
|
-
|
|
71
|
+
var handleInputChange = function handleInputChange(event) {
|
|
72
|
+
var typedValue = event.target.value;
|
|
73
|
+
setInputValue(typedValue);
|
|
74
|
+
if (typedValue.includes('_') || !typedValue) {
|
|
75
|
+
setInternalValidationErrors(undefined);
|
|
76
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(undefined);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (mode === 'single') {
|
|
80
|
+
var parsedDate = DatePickerUtils.parseStringToDate(typedValue);
|
|
81
|
+
if (!parsedDate) {
|
|
82
|
+
setInternalValidationErrors(t("This date isn't available. Choose another one."));
|
|
83
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(undefined);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
var isInRange = DatePickerUtils.isDateInRange(parsedDate, startMonth, endMonth);
|
|
87
|
+
var isDisabled = DatePickerUtils.isDateDisabled(parsedDate, disabledDays);
|
|
88
|
+
if (!isInRange) {
|
|
89
|
+
var formattedStart = startMonth ? DatePickerUtils.formatDate(startMonth) : '';
|
|
90
|
+
var lastDayOfEndMonth = endMonth ? new Date(endMonth.getFullYear(), endMonth.getMonth() + 1, 0) : null;
|
|
91
|
+
var formattedEnd = lastDayOfEndMonth ? DatePickerUtils.formatDate(lastDayOfEndMonth) : '';
|
|
92
|
+
var rangeMessage = t('Choose a date between {{start}}–{{end}}', {
|
|
93
|
+
start: formattedStart,
|
|
94
|
+
end: formattedEnd
|
|
95
|
+
});
|
|
96
|
+
setInternalValidationErrors(rangeMessage);
|
|
97
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(undefined);
|
|
98
|
+
} else if (isDisabled) {
|
|
99
|
+
setInternalValidationErrors(t("This date isn't available. Choose another one."));
|
|
100
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(undefined);
|
|
101
|
+
} else {
|
|
102
|
+
setInternalValidationErrors(undefined);
|
|
103
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(parsedDate);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (mode === 'range') {
|
|
107
|
+
var parsedRange = DatePickerUtils.parseStringToDateRange(typedValue);
|
|
108
|
+
if (parsedRange) {
|
|
109
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(parsedRange);
|
|
110
|
+
} else {
|
|
111
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(undefined);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Popover, {
|
|
40
116
|
open: open,
|
|
41
117
|
onOpenChange: setOpen
|
|
42
|
-
}, /*#__PURE__*/React__default.createElement(PopoverTrigger, {
|
|
43
|
-
className: cn('aurora-w-full', disabled && 'aurora-cursor-not-allowed'),
|
|
44
|
-
disabled: disabled
|
|
45
118
|
}, /*#__PURE__*/React__default.createElement(DatePickerInput, {
|
|
46
119
|
id: id,
|
|
120
|
+
mode: mode,
|
|
47
121
|
value: displayValue,
|
|
48
122
|
placeholder: placeholder,
|
|
49
123
|
disabled: disabled,
|
|
50
|
-
errors:
|
|
51
|
-
|
|
124
|
+
errors: inputErrors,
|
|
125
|
+
onChange: handleInputChange
|
|
126
|
+
}), /*#__PURE__*/React__default.createElement(DatePickerContent, _objectSpread2({
|
|
52
127
|
mode: mode,
|
|
53
128
|
selected: selectedDates,
|
|
54
129
|
onSelect: handleDateSelect,
|
|
55
|
-
disabled: disabledDays
|
|
56
|
-
|
|
130
|
+
disabled: disabledDays,
|
|
131
|
+
defaultMonth: defaultMonth,
|
|
132
|
+
startMonth: startMonth,
|
|
133
|
+
endMonth: endMonth
|
|
134
|
+
}, dayPickerProps))), internalValidationErrors ? /*#__PURE__*/React__default.createElement(ErrorList, {
|
|
135
|
+
errors: internalValidationErrors
|
|
136
|
+
}) : null);
|
|
57
137
|
};
|
|
58
138
|
|
|
59
139
|
export { DatePicker };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA,+BAA+B,iEAAqE;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { DateRange, DayPickerProps } from 'react-day-picker';
|
|
2
|
-
export declare type DatePickerCalendarValue = Date |
|
|
2
|
+
export declare type DatePickerCalendarValue = Date | DateRange | undefined;
|
|
3
3
|
export interface DatePickerProps extends Omit<DayPickerProps, 'selected' | 'onSelect' | 'disabled'> {
|
|
4
4
|
id: string;
|
|
5
5
|
placeholder?: string;
|
|
@@ -1,7 +1,24 @@
|
|
|
1
|
-
import { type Mode } from 'react-day-picker';
|
|
1
|
+
import { DateRange, type Mode, type DayPickerProps } from 'react-day-picker';
|
|
2
2
|
import type { DatePickerCalendarValue } from './date_picker_types';
|
|
3
|
+
import type { InputState } from '../input_mask/input_mask_types';
|
|
4
|
+
declare type ValidationResult = {
|
|
5
|
+
valid: boolean;
|
|
6
|
+
keepFirst: boolean;
|
|
7
|
+
};
|
|
3
8
|
export declare class DatePickerUtils {
|
|
4
9
|
private static readonly formatter;
|
|
5
|
-
|
|
10
|
+
static formatDate: (date: Date) => string;
|
|
6
11
|
static inputFormatValue: (selected: DatePickerCalendarValue, mode: Mode) => string;
|
|
12
|
+
static parseStringToDate: (dateString: string) => Date | null;
|
|
13
|
+
static parseStringToDateRange: (rangeString: string) => DateRange | null;
|
|
14
|
+
private static replaceCharWithPlaceholder;
|
|
15
|
+
private static validateTwoDigitValue;
|
|
16
|
+
static validateDayAtPosition: (value: string, dayStartPos: number) => ValidationResult;
|
|
17
|
+
static validateMonthAtPosition: (value: string, monthStartPos: number) => ValidationResult;
|
|
18
|
+
static validateYearAtPosition: (value: string, yearStartPos: number) => ValidationResult;
|
|
19
|
+
private static handleInvalidInput;
|
|
20
|
+
static validateDateMask: (nextState: InputState, currentState?: InputState, mode?: Mode) => InputState;
|
|
21
|
+
static isDateInRange: (date: Date, startMonth?: Date, endMonth?: Date) => boolean;
|
|
22
|
+
static isDateDisabled: (date: Date, disabledDays?: DayPickerProps['disabled']) => boolean;
|
|
7
23
|
}
|
|
24
|
+
export {};
|
|
@@ -2,6 +2,21 @@ import { createClass as _createClass, classCallCheck as _classCallCheck, defineP
|
|
|
2
2
|
import 'react-day-picker';
|
|
3
3
|
|
|
4
4
|
var _DatePickerUtils;
|
|
5
|
+
var MASK_POSITIONS = {
|
|
6
|
+
SINGLE: {
|
|
7
|
+
DAY: 0,
|
|
8
|
+
MONTH: 3,
|
|
9
|
+
YEAR: 6
|
|
10
|
+
},
|
|
11
|
+
RANGE: {
|
|
12
|
+
DAY_START: 0,
|
|
13
|
+
MONTH_START: 3,
|
|
14
|
+
YEAR_START: 6,
|
|
15
|
+
DAY_END: 13,
|
|
16
|
+
MONTH_END: 16,
|
|
17
|
+
YEAR_END: 19
|
|
18
|
+
}
|
|
19
|
+
};
|
|
5
20
|
var DatePickerUtils = /*#__PURE__*/_createClass(function DatePickerUtils() {
|
|
6
21
|
_classCallCheck(this, DatePickerUtils);
|
|
7
22
|
});
|
|
@@ -19,10 +34,6 @@ _defineProperty(DatePickerUtils, "inputFormatValue", function (selected, mode) {
|
|
|
19
34
|
if (mode === 'single') {
|
|
20
35
|
return _DatePickerUtils.formatDate(selected);
|
|
21
36
|
}
|
|
22
|
-
if (mode === 'multiple') {
|
|
23
|
-
var dates = selected;
|
|
24
|
-
return dates.length > 0 ? dates.map(_DatePickerUtils.formatDate).join(', ') : '';
|
|
25
|
-
}
|
|
26
37
|
if (mode === 'range') {
|
|
27
38
|
var range = selected;
|
|
28
39
|
if (range.from && range.to) {
|
|
@@ -34,6 +45,194 @@ _defineProperty(DatePickerUtils, "inputFormatValue", function (selected, mode) {
|
|
|
34
45
|
}
|
|
35
46
|
return '';
|
|
36
47
|
});
|
|
48
|
+
_defineProperty(DatePickerUtils, "parseStringToDate", function (dateString) {
|
|
49
|
+
if (!dateString || dateString.includes('_')) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
var parts = dateString.split('.');
|
|
53
|
+
if (parts.length !== 3) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
var day = parseInt(parts[0], 10);
|
|
57
|
+
var month = parseInt(parts[1], 10);
|
|
58
|
+
var year = parseInt(parts[2], 10);
|
|
59
|
+
if (isNaN(day) || isNaN(month) || isNaN(year)) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
if (month < 1 || month > 12 || day < 1 || day > 31 || year < 1000) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
var date = new Date(year, month - 1, day);
|
|
66
|
+
if (date.getDate() !== day || date.getMonth() !== month - 1 || date.getFullYear() !== year) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
return date;
|
|
70
|
+
});
|
|
71
|
+
_defineProperty(DatePickerUtils, "parseStringToDateRange", function (rangeString) {
|
|
72
|
+
if (!rangeString || rangeString.includes('_')) {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
var parts = rangeString.split(' - ');
|
|
76
|
+
if (parts.length !== 2) {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
var fromDate = _DatePickerUtils.parseStringToDate(parts[0].trim());
|
|
80
|
+
var toDate = _DatePickerUtils.parseStringToDate(parts[1].trim());
|
|
81
|
+
if (!fromDate || !toDate) {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
if (fromDate > toDate) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
from: fromDate,
|
|
89
|
+
to: toDate
|
|
90
|
+
};
|
|
91
|
+
});
|
|
92
|
+
_defineProperty(DatePickerUtils, "replaceCharWithPlaceholder", function (value, position) {
|
|
93
|
+
return value.substring(0, position) + '_' + value.substring(position + 1);
|
|
94
|
+
});
|
|
95
|
+
_defineProperty(DatePickerUtils, "validateTwoDigitValue", function (value, startPos, firstDigit, maxSecondDigit) {
|
|
96
|
+
if (value.length < startPos + 2) return {
|
|
97
|
+
valid: true,
|
|
98
|
+
keepFirst: false
|
|
99
|
+
};
|
|
100
|
+
var first = value[startPos];
|
|
101
|
+
var second = value[startPos + 1];
|
|
102
|
+
if (second === '_') return {
|
|
103
|
+
valid: true,
|
|
104
|
+
keepFirst: false
|
|
105
|
+
};
|
|
106
|
+
if (first === '0' && second === '0') {
|
|
107
|
+
return {
|
|
108
|
+
valid: false,
|
|
109
|
+
keepFirst: false
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
if (first === firstDigit && parseInt(second) > maxSecondDigit) {
|
|
113
|
+
return {
|
|
114
|
+
valid: false,
|
|
115
|
+
keepFirst: true
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
return {
|
|
119
|
+
valid: true,
|
|
120
|
+
keepFirst: false
|
|
121
|
+
};
|
|
122
|
+
});
|
|
123
|
+
_defineProperty(DatePickerUtils, "validateDayAtPosition", function (value, dayStartPos) {
|
|
124
|
+
return _DatePickerUtils.validateTwoDigitValue(value, dayStartPos, '3', 1);
|
|
125
|
+
});
|
|
126
|
+
_defineProperty(DatePickerUtils, "validateMonthAtPosition", function (value, monthStartPos) {
|
|
127
|
+
return _DatePickerUtils.validateTwoDigitValue(value, monthStartPos, '1', 2);
|
|
128
|
+
});
|
|
129
|
+
_defineProperty(DatePickerUtils, "validateYearAtPosition", function (value, yearStartPos) {
|
|
130
|
+
if (value.length < yearStartPos + 2) return {
|
|
131
|
+
valid: true,
|
|
132
|
+
keepFirst: false
|
|
133
|
+
};
|
|
134
|
+
var first = value[yearStartPos];
|
|
135
|
+
var second = value[yearStartPos + 1];
|
|
136
|
+
if (second === '_') return {
|
|
137
|
+
valid: true,
|
|
138
|
+
keepFirst: false
|
|
139
|
+
};
|
|
140
|
+
if (first === '1' && second !== '9') {
|
|
141
|
+
return {
|
|
142
|
+
valid: false,
|
|
143
|
+
keepFirst: true
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
if (first === '2' && second !== '0') {
|
|
147
|
+
return {
|
|
148
|
+
valid: false,
|
|
149
|
+
keepFirst: true
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
return {
|
|
153
|
+
valid: true,
|
|
154
|
+
keepFirst: false
|
|
155
|
+
};
|
|
156
|
+
});
|
|
157
|
+
_defineProperty(DatePickerUtils, "handleInvalidInput", function (validation, value, currentValue, position, currentSelection, fallbackSelection) {
|
|
158
|
+
if (validation.keepFirst) {
|
|
159
|
+
var newValue = _DatePickerUtils.replaceCharWithPlaceholder(value, position + 1);
|
|
160
|
+
return {
|
|
161
|
+
value: newValue,
|
|
162
|
+
selection: {
|
|
163
|
+
start: position + 1,
|
|
164
|
+
end: position + 1
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
return {
|
|
169
|
+
value: currentValue,
|
|
170
|
+
selection: currentSelection || fallbackSelection || {
|
|
171
|
+
start: null,
|
|
172
|
+
end: null
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
});
|
|
176
|
+
_defineProperty(DatePickerUtils, "validateDateMask", function (nextState, currentState) {
|
|
177
|
+
var mode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'single';
|
|
178
|
+
var value = nextState.value,
|
|
179
|
+
selection = nextState.selection;
|
|
180
|
+
var currentValue = (currentState === null || currentState === void 0 ? void 0 : currentState.value) || '';
|
|
181
|
+
var dayValidation = _DatePickerUtils.validateDayAtPosition(value, MASK_POSITIONS.SINGLE.DAY);
|
|
182
|
+
if (!dayValidation.valid) {
|
|
183
|
+
return _DatePickerUtils.handleInvalidInput(dayValidation, value, currentValue, MASK_POSITIONS.SINGLE.DAY, currentState === null || currentState === void 0 ? void 0 : currentState.selection, selection);
|
|
184
|
+
}
|
|
185
|
+
var monthValidation = _DatePickerUtils.validateMonthAtPosition(value, MASK_POSITIONS.SINGLE.MONTH);
|
|
186
|
+
if (!monthValidation.valid) {
|
|
187
|
+
return _DatePickerUtils.handleInvalidInput(monthValidation, value, currentValue, MASK_POSITIONS.SINGLE.MONTH, currentState === null || currentState === void 0 ? void 0 : currentState.selection, selection);
|
|
188
|
+
}
|
|
189
|
+
var yearValidation = _DatePickerUtils.validateYearAtPosition(value, MASK_POSITIONS.SINGLE.YEAR);
|
|
190
|
+
if (!yearValidation.valid) {
|
|
191
|
+
return _DatePickerUtils.handleInvalidInput(yearValidation, value, currentValue, MASK_POSITIONS.SINGLE.YEAR, currentState === null || currentState === void 0 ? void 0 : currentState.selection, selection);
|
|
192
|
+
}
|
|
193
|
+
if (mode === 'range') {
|
|
194
|
+
var dayValidation2 = _DatePickerUtils.validateDayAtPosition(value, MASK_POSITIONS.RANGE.DAY_END);
|
|
195
|
+
if (!dayValidation2.valid) {
|
|
196
|
+
return _DatePickerUtils.handleInvalidInput(dayValidation2, value, currentValue, MASK_POSITIONS.RANGE.DAY_END, currentState === null || currentState === void 0 ? void 0 : currentState.selection, selection);
|
|
197
|
+
}
|
|
198
|
+
var monthValidation2 = _DatePickerUtils.validateMonthAtPosition(value, MASK_POSITIONS.RANGE.MONTH_END);
|
|
199
|
+
if (!monthValidation2.valid) {
|
|
200
|
+
return _DatePickerUtils.handleInvalidInput(monthValidation2, value, currentValue, MASK_POSITIONS.RANGE.MONTH_END, currentState === null || currentState === void 0 ? void 0 : currentState.selection, selection);
|
|
201
|
+
}
|
|
202
|
+
var yearValidation2 = _DatePickerUtils.validateYearAtPosition(value, MASK_POSITIONS.RANGE.YEAR_END);
|
|
203
|
+
if (!yearValidation2.valid) {
|
|
204
|
+
return _DatePickerUtils.handleInvalidInput(yearValidation2, value, currentValue, MASK_POSITIONS.RANGE.YEAR_END, currentState === null || currentState === void 0 ? void 0 : currentState.selection, selection);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return nextState;
|
|
208
|
+
});
|
|
209
|
+
_defineProperty(DatePickerUtils, "isDateInRange", function (date, startMonth, endMonth) {
|
|
210
|
+
if (!startMonth && !endMonth) return true;
|
|
211
|
+
if (startMonth) {
|
|
212
|
+
var minDate = new Date(startMonth.getFullYear(), startMonth.getMonth(), 1);
|
|
213
|
+
if (date < minDate) return false;
|
|
214
|
+
}
|
|
215
|
+
if (endMonth) {
|
|
216
|
+
var maxDate = new Date(endMonth.getFullYear(), endMonth.getMonth() + 1, 0);
|
|
217
|
+
if (date > maxDate) return false;
|
|
218
|
+
}
|
|
219
|
+
return true;
|
|
220
|
+
});
|
|
221
|
+
_defineProperty(DatePickerUtils, "isDateDisabled", function (date, disabledDays) {
|
|
222
|
+
if (!disabledDays) return false;
|
|
223
|
+
if (Array.isArray(disabledDays)) {
|
|
224
|
+
return disabledDays.some(function (disabledDate) {
|
|
225
|
+
if (disabledDate instanceof Date) {
|
|
226
|
+
return disabledDate.getFullYear() === date.getFullYear() && disabledDate.getMonth() === date.getMonth() && disabledDate.getDate() === date.getDate();
|
|
227
|
+
}
|
|
228
|
+
return false;
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
if (typeof disabledDays === 'function') {
|
|
232
|
+
return disabledDays(date);
|
|
233
|
+
}
|
|
234
|
+
return false;
|
|
235
|
+
});
|
|
37
236
|
|
|
38
237
|
export { DatePickerUtils };
|
|
39
238
|
//# sourceMappingURL=date_picker_utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { InputState } from '../input_mask_types';
|
|
3
|
+
export declare function useInputElement(inputRef: React.RefObject<HTMLElement | null>): () => HTMLInputElement | null;
|
|
4
|
+
export declare function useInputState(initialValue: string, isMasked: boolean): {
|
|
5
|
+
inputRef: import("react").MutableRefObject<HTMLElement | null>;
|
|
6
|
+
getInputState: () => InputState;
|
|
7
|
+
getLastInputState: () => InputState;
|
|
8
|
+
setInputState: ({ value, selection }: InputState) => void;
|
|
9
|
+
};
|
|
10
|
+
export declare function usePrevious<T>(value: T): T | undefined;
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { useCallback, useRef, useEffect, useLayoutEffect } from 'react';
|
|
2
|
+
import { slicedToArray as _slicedToArray } from '../../../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
3
|
+
import { cancelDefer, defer } from '../utils/defer.js';
|
|
4
|
+
import InputUtils from '../utils/input.js';
|
|
5
|
+
import { isDOMElement } from '../utils/helpers.js';
|
|
6
|
+
|
|
7
|
+
function useInputElement(inputRef) {
|
|
8
|
+
return useCallback(function () {
|
|
9
|
+
var input = inputRef.current;
|
|
10
|
+
var isDOMNode = typeof window !== 'undefined' && isDOMElement(input);
|
|
11
|
+
// workaround for react-test-renderer
|
|
12
|
+
// https://github.com/sanniassin/react-input-mask/issues/147
|
|
13
|
+
if (!input || !isDOMNode) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
if (input.nodeName !== 'INPUT') {
|
|
17
|
+
input = input.querySelector('input');
|
|
18
|
+
}
|
|
19
|
+
if (!input) {
|
|
20
|
+
throw new Error("inputComponent doesn't contain input node");
|
|
21
|
+
}
|
|
22
|
+
return input;
|
|
23
|
+
}, [inputRef]);
|
|
24
|
+
}
|
|
25
|
+
function useDeferLoop(callback) {
|
|
26
|
+
var deferIdRef = useRef(null);
|
|
27
|
+
var runLoop = useCallback(function () {
|
|
28
|
+
// If there are simulated focus events, runLoop could be
|
|
29
|
+
// called multiple times without blur or re-render
|
|
30
|
+
if (deferIdRef.current !== null) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
function loop() {
|
|
34
|
+
callback();
|
|
35
|
+
deferIdRef.current = defer(loop);
|
|
36
|
+
}
|
|
37
|
+
loop();
|
|
38
|
+
}, [callback]);
|
|
39
|
+
var stopLoop = useCallback(function () {
|
|
40
|
+
if (deferIdRef.current !== null) {
|
|
41
|
+
cancelDefer(deferIdRef.current);
|
|
42
|
+
deferIdRef.current = null;
|
|
43
|
+
}
|
|
44
|
+
}, []);
|
|
45
|
+
useEffect(function () {
|
|
46
|
+
if (deferIdRef.current) {
|
|
47
|
+
stopLoop();
|
|
48
|
+
runLoop();
|
|
49
|
+
}
|
|
50
|
+
}, [runLoop, stopLoop]);
|
|
51
|
+
useEffect(function () {
|
|
52
|
+
return function () {
|
|
53
|
+
if (deferIdRef.current !== null) {
|
|
54
|
+
cancelDefer(deferIdRef.current);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
}, []);
|
|
58
|
+
return [runLoop, stopLoop];
|
|
59
|
+
}
|
|
60
|
+
function useSelection(inputRef, isMasked) {
|
|
61
|
+
var inputUtilsRef = useRef(new InputUtils());
|
|
62
|
+
var inputUtils = inputUtilsRef.current;
|
|
63
|
+
var selectionRef = useRef({
|
|
64
|
+
start: null,
|
|
65
|
+
end: null
|
|
66
|
+
});
|
|
67
|
+
var getInputElement = useInputElement(inputRef);
|
|
68
|
+
var getSelection = useCallback(function () {
|
|
69
|
+
var input = getInputElement();
|
|
70
|
+
if (!input) {
|
|
71
|
+
return {
|
|
72
|
+
start: null,
|
|
73
|
+
end: null
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
return inputUtils.getInputSelection(input);
|
|
77
|
+
}, [getInputElement]);
|
|
78
|
+
var getLastSelection = useCallback(function () {
|
|
79
|
+
return selectionRef.current;
|
|
80
|
+
}, []);
|
|
81
|
+
var setSelection = useCallback(function (selection) {
|
|
82
|
+
var _selection$start, _selection$end;
|
|
83
|
+
var input = getInputElement();
|
|
84
|
+
// Don't change selection on unfocused input
|
|
85
|
+
// because Safari sets focus on selection change (#154)
|
|
86
|
+
if (!input || !inputUtils.isInputFocused(input)) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
inputUtils.setInputSelection(input, (_selection$start = selection.start) !== null && _selection$start !== void 0 ? _selection$start : 0, (_selection$end = selection.end) !== null && _selection$end !== void 0 ? _selection$end : undefined);
|
|
90
|
+
// Use actual selection in case the requested one was out of range
|
|
91
|
+
selectionRef.current = getSelection();
|
|
92
|
+
}, [getInputElement, getSelection]);
|
|
93
|
+
var selectionLoop = useCallback(function () {
|
|
94
|
+
selectionRef.current = getSelection();
|
|
95
|
+
}, [getSelection]);
|
|
96
|
+
var _useDeferLoop = useDeferLoop(selectionLoop),
|
|
97
|
+
_useDeferLoop2 = _slicedToArray(_useDeferLoop, 2),
|
|
98
|
+
runSelectionLoop = _useDeferLoop2[0],
|
|
99
|
+
stopSelectionLoop = _useDeferLoop2[1];
|
|
100
|
+
useLayoutEffect(function () {
|
|
101
|
+
if (!isMasked) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
var input = getInputElement();
|
|
105
|
+
if (!input) return;
|
|
106
|
+
input.addEventListener('focus', runSelectionLoop);
|
|
107
|
+
input.addEventListener('blur', stopSelectionLoop);
|
|
108
|
+
if (inputUtils.isInputFocused(input)) {
|
|
109
|
+
runSelectionLoop();
|
|
110
|
+
}
|
|
111
|
+
return function () {
|
|
112
|
+
input.removeEventListener('focus', runSelectionLoop);
|
|
113
|
+
input.removeEventListener('blur', stopSelectionLoop);
|
|
114
|
+
stopSelectionLoop();
|
|
115
|
+
};
|
|
116
|
+
}, [isMasked, getInputElement, runSelectionLoop, stopSelectionLoop]);
|
|
117
|
+
return {
|
|
118
|
+
getSelection: getSelection,
|
|
119
|
+
getLastSelection: getLastSelection,
|
|
120
|
+
setSelection: setSelection
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
function useValue(inputRef, initialValue) {
|
|
124
|
+
var getInputElement = useInputElement(inputRef);
|
|
125
|
+
var valueRef = useRef(initialValue);
|
|
126
|
+
var getValue = useCallback(function () {
|
|
127
|
+
var input = getInputElement();
|
|
128
|
+
return (input === null || input === void 0 ? void 0 : input.value) || '';
|
|
129
|
+
}, [getInputElement]);
|
|
130
|
+
var getLastValue = useCallback(function () {
|
|
131
|
+
return valueRef.current;
|
|
132
|
+
}, []);
|
|
133
|
+
var setValue = useCallback(function (newValue) {
|
|
134
|
+
valueRef.current = newValue;
|
|
135
|
+
var input = getInputElement();
|
|
136
|
+
if (input) {
|
|
137
|
+
input.value = newValue;
|
|
138
|
+
}
|
|
139
|
+
}, [getInputElement]);
|
|
140
|
+
return {
|
|
141
|
+
getValue: getValue,
|
|
142
|
+
getLastValue: getLastValue,
|
|
143
|
+
setValue: setValue
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
function useInputState(initialValue, isMasked) {
|
|
147
|
+
var inputRef = useRef(null);
|
|
148
|
+
var _useSelection = useSelection(inputRef, isMasked),
|
|
149
|
+
getSelection = _useSelection.getSelection,
|
|
150
|
+
getLastSelection = _useSelection.getLastSelection,
|
|
151
|
+
setSelection = _useSelection.setSelection;
|
|
152
|
+
var _useValue = useValue(inputRef, initialValue),
|
|
153
|
+
getValue = _useValue.getValue,
|
|
154
|
+
getLastValue = _useValue.getLastValue,
|
|
155
|
+
setValue = _useValue.setValue;
|
|
156
|
+
function getLastInputState() {
|
|
157
|
+
return {
|
|
158
|
+
value: getLastValue(),
|
|
159
|
+
selection: getLastSelection()
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
function getInputState() {
|
|
163
|
+
return {
|
|
164
|
+
value: getValue(),
|
|
165
|
+
selection: getSelection()
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
function setInputState(_ref) {
|
|
169
|
+
var value = _ref.value,
|
|
170
|
+
selection = _ref.selection;
|
|
171
|
+
setValue(value);
|
|
172
|
+
setSelection(selection);
|
|
173
|
+
}
|
|
174
|
+
return {
|
|
175
|
+
inputRef: inputRef,
|
|
176
|
+
getInputState: getInputState,
|
|
177
|
+
getLastInputState: getLastInputState,
|
|
178
|
+
setInputState: setInputState
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
function usePrevious(value) {
|
|
182
|
+
var ref = useRef();
|
|
183
|
+
useEffect(function () {
|
|
184
|
+
ref.current = value;
|
|
185
|
+
});
|
|
186
|
+
return ref.current;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
export { useInputElement, useInputState, usePrevious };
|
|
190
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
var CONTROLLED_PROPS = ['disabled', 'onBlur', 'onChange', 'onFocus', 'onMouseDown', 'readOnly', 'value'];
|
|
2
|
+
var defaultFormatChars = {
|
|
3
|
+
'9': /[0-9]/,
|
|
4
|
+
a: /[A-Za-z]/,
|
|
5
|
+
'*': /[A-Za-z0-9]/
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export { CONTROLLED_PROPS, defaultFormatChars };
|
|
9
|
+
//# sourceMappingURL=input-mask-constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
|