@entur/datepicker 0.10.8 → 0.11.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/CHANGELOG.md +12 -0
- package/dist/DatePicker.d.ts +32 -8
- package/dist/NativeDatePicker.d.ts +1 -1
- package/dist/NativeTimePicker.d.ts +1 -1
- package/dist/TimePicker.d.ts +1 -1
- package/dist/datepicker.cjs.development.js +170 -70
- package/dist/datepicker.cjs.development.js.map +1 -1
- package/dist/datepicker.cjs.production.min.js +1 -1
- package/dist/datepicker.cjs.production.min.js.map +1 -1
- package/dist/datepicker.esm.js +132 -35
- package/dist/datepicker.esm.js.map +1 -1
- package/dist/styles.css +3 -0
- package/package.json +12 -12
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [0.11.0](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.10.8...@entur/datepicker@0.11.0) (2022-02-09)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- **date picker:** add visual date validation to date picker and hideCalendar prop ([aae7cbf](https://bitbucket.org/enturas/design-system/commits/aae7cbfe4e02c1e5ebc676c1e083f74c54bafbbb))
|
|
11
|
+
|
|
12
|
+
### BREAKING CHANGES
|
|
13
|
+
|
|
14
|
+
- **date picker:** - Validation icon introduces visual changes. Use hideFeedback to remove.
|
|
15
|
+
|
|
16
|
+
* dateFormat prop removed
|
|
17
|
+
|
|
6
18
|
## [0.10.8](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.10.7...@entur/datepicker@0.10.8) (2022-01-21)
|
|
7
19
|
|
|
8
20
|
**Note:** Version bump only for package @entur/datepicker
|
package/dist/DatePicker.d.ts
CHANGED
|
@@ -8,16 +8,20 @@ export declare type DatePickerProps = {
|
|
|
8
8
|
/** Kalles når datoen/tiden endres */
|
|
9
9
|
onChange: (date: Date | null, event: React.SyntheticEvent<any, Event>) => void;
|
|
10
10
|
/** Placeholder om ingen dato er valgt
|
|
11
|
-
* @default "
|
|
11
|
+
* @default "dd.mm.yyyy"
|
|
12
12
|
*/
|
|
13
13
|
placeholder?: string;
|
|
14
14
|
/** Ekstra klassenavn */
|
|
15
15
|
className?: string;
|
|
16
16
|
/** Label over DatePicker */
|
|
17
17
|
label: string;
|
|
18
|
-
/** Varselmelding, som vil komme under DatePicker
|
|
18
|
+
/** Varselmelding, som vil komme under DatePicker
|
|
19
|
+
* @default "Ugyldig dato"
|
|
20
|
+
*/
|
|
19
21
|
feedback?: string;
|
|
20
|
-
/** Valideringsvariant
|
|
22
|
+
/** Valideringsvariant
|
|
23
|
+
* @default "error"
|
|
24
|
+
*/
|
|
21
25
|
variant?: VariantType;
|
|
22
26
|
style?: React.CSSProperties;
|
|
23
27
|
/** Plasserer labelen statisk på toppen av inputfeltet
|
|
@@ -32,6 +36,14 @@ export declare type DatePickerProps = {
|
|
|
32
36
|
* @default false
|
|
33
37
|
*/
|
|
34
38
|
hideCalendarButton?: boolean;
|
|
39
|
+
/** Skjuler tilbakemeldingsteksten ved feil dato-input
|
|
40
|
+
* @default false
|
|
41
|
+
*/
|
|
42
|
+
hideFeedback?: boolean;
|
|
43
|
+
/** Skjuler kalender-GUI-et
|
|
44
|
+
* @default false
|
|
45
|
+
*/
|
|
46
|
+
hideCalendar?: boolean;
|
|
35
47
|
'data-cy'?: any;
|
|
36
48
|
} & Omit<ReactDatePickerProps, 'selected' | 'customInput'>;
|
|
37
49
|
export declare const DatePicker: React.ForwardRefExoticComponent<{
|
|
@@ -40,17 +52,21 @@ export declare const DatePicker: React.ForwardRefExoticComponent<{
|
|
|
40
52
|
/** Kalles når datoen/tiden endres */
|
|
41
53
|
onChange: (date: Date | null, event: React.SyntheticEvent<any, Event>) => void;
|
|
42
54
|
/** Placeholder om ingen dato er valgt
|
|
43
|
-
* @default "
|
|
55
|
+
* @default "dd.mm.yyyy"
|
|
44
56
|
*/
|
|
45
57
|
placeholder?: string | undefined;
|
|
46
58
|
/** Ekstra klassenavn */
|
|
47
59
|
className?: string | undefined;
|
|
48
60
|
/** Label over DatePicker */
|
|
49
61
|
label: string;
|
|
50
|
-
/** Varselmelding, som vil komme under DatePicker
|
|
62
|
+
/** Varselmelding, som vil komme under DatePicker
|
|
63
|
+
* @default "Ugyldig dato"
|
|
64
|
+
*/
|
|
51
65
|
feedback?: string | undefined;
|
|
52
|
-
/** Valideringsvariant
|
|
53
|
-
|
|
66
|
+
/** Valideringsvariant
|
|
67
|
+
* @default "error"
|
|
68
|
+
*/
|
|
69
|
+
variant?: VariantType | undefined;
|
|
54
70
|
style?: React.CSSProperties | undefined;
|
|
55
71
|
/** Plasserer labelen statisk på toppen av inputfeltet
|
|
56
72
|
* @default false
|
|
@@ -64,5 +80,13 @@ export declare const DatePicker: React.ForwardRefExoticComponent<{
|
|
|
64
80
|
* @default false
|
|
65
81
|
*/
|
|
66
82
|
hideCalendarButton?: boolean | undefined;
|
|
83
|
+
/** Skjuler tilbakemeldingsteksten ved feil dato-input
|
|
84
|
+
* @default false
|
|
85
|
+
*/
|
|
86
|
+
hideFeedback?: boolean | undefined;
|
|
87
|
+
/** Skjuler kalender-GUI-et
|
|
88
|
+
* @default false
|
|
89
|
+
*/
|
|
90
|
+
hideCalendar?: boolean | undefined;
|
|
67
91
|
'data-cy'?: any;
|
|
68
|
-
} &
|
|
92
|
+
} & Omit<ReactDatePickerProps<never>, "selected" | "customInput"> & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -26,7 +26,7 @@ export declare const NativeDatePicker: React.ForwardRefExoticComponent<{
|
|
|
26
26
|
/** Varselmelding, som vil komme under NativeDatePicker */
|
|
27
27
|
feedback?: string | undefined;
|
|
28
28
|
/** Valideringsvariant */
|
|
29
|
-
variant?:
|
|
29
|
+
variant?: VariantType | undefined;
|
|
30
30
|
/** Plasserer labelen statisk på toppen av inputfeltet
|
|
31
31
|
* @default false
|
|
32
32
|
*/
|
|
@@ -26,7 +26,7 @@ export declare const NativeTimePicker: React.ForwardRefExoticComponent<{
|
|
|
26
26
|
/** Varselmelding, som vil komme under NativeTimePicker */
|
|
27
27
|
feedback?: string | undefined;
|
|
28
28
|
/** Valideringsvariant */
|
|
29
|
-
variant?:
|
|
29
|
+
variant?: VariantType | undefined;
|
|
30
30
|
/** Plasserer labelen statisk på toppen av inputfeltet
|
|
31
31
|
* @default false
|
|
32
32
|
*/
|
package/dist/TimePicker.d.ts
CHANGED
|
@@ -50,7 +50,7 @@ export declare const TimePicker: React.ForwardRefExoticComponent<{
|
|
|
50
50
|
/** Varselmelding, som vil komme under TimePicker */
|
|
51
51
|
feedback?: string | undefined;
|
|
52
52
|
/** Valideringsvariant */
|
|
53
|
-
variant?:
|
|
53
|
+
variant?: VariantType | undefined;
|
|
54
54
|
style?: React.CSSProperties | undefined;
|
|
55
55
|
labelTooltip?: React.ReactNode;
|
|
56
56
|
/** Plasserer labelen statisk på toppen av inputfeltet
|
|
@@ -2,18 +2,39 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
6
|
-
|
|
7
5
|
var utils = require('@entur/utils');
|
|
8
|
-
var React =
|
|
6
|
+
var React = require('react');
|
|
9
7
|
var ReactDatepicker = require('react-datepicker');
|
|
10
|
-
var
|
|
11
|
-
var classNames = _interopDefault(require('classnames'));
|
|
8
|
+
var classNames = require('classnames');
|
|
12
9
|
var form = require('@entur/form');
|
|
13
10
|
var icons = require('@entur/icons');
|
|
11
|
+
var dateFns = require('date-fns');
|
|
14
12
|
var locale = require('date-fns/locale');
|
|
15
13
|
var tooltip = require('@entur/tooltip');
|
|
16
|
-
|
|
14
|
+
|
|
15
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
16
|
+
|
|
17
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
18
|
+
var ReactDatepicker__default = /*#__PURE__*/_interopDefaultLegacy(ReactDatepicker);
|
|
19
|
+
var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
|
|
20
|
+
|
|
21
|
+
function _extends() {
|
|
22
|
+
_extends = Object.assign || function (target) {
|
|
23
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
24
|
+
var source = arguments[i];
|
|
25
|
+
|
|
26
|
+
for (var key in source) {
|
|
27
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
28
|
+
target[key] = source[key];
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return target;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
return _extends.apply(this, arguments);
|
|
37
|
+
}
|
|
17
38
|
|
|
18
39
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
19
40
|
if (source == null) return {};
|
|
@@ -30,38 +51,56 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
30
51
|
return target;
|
|
31
52
|
}
|
|
32
53
|
|
|
54
|
+
var _excluded$3 = ["selectedDate", "onChange", "placeholder", "className", "style", "readOnly", "disableLabelAnimation", "locale", "prepend", "disabled", "variant", "feedback", "label", "hideCalendarButton", "hideCalendar", "hideFeedback", "id"],
|
|
55
|
+
_excluded2$3 = ["value", "onClick", "onFocus", "onKeyDown", "variant", "feedback", "style", "disableLabelAnimation", "disabled", "label", "readOnly", "id", "prepend", "className", "hideCalendarButton", "inputId", "onKeyDownInput", "onBlurInput"];
|
|
33
56
|
ReactDatepicker.registerLocale('nb', locale.nb);
|
|
34
|
-
var POPPER_MODIFIERS = [{
|
|
57
|
+
var POPPER_MODIFIERS$1 = [{
|
|
35
58
|
name: 'offset',
|
|
36
59
|
enabled: true,
|
|
37
60
|
options: {
|
|
38
61
|
offset: [0, 0]
|
|
39
62
|
}
|
|
40
63
|
}];
|
|
41
|
-
var DatePicker = /*#__PURE__*/
|
|
64
|
+
var DatePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
|
|
42
65
|
var _ref$selectedDate = _ref.selectedDate,
|
|
43
66
|
selectedDate = _ref$selectedDate === void 0 ? null : _ref$selectedDate,
|
|
44
67
|
onChange = _ref.onChange,
|
|
45
68
|
_ref$placeholder = _ref.placeholder,
|
|
46
|
-
placeholder = _ref$placeholder === void 0 ? '
|
|
69
|
+
placeholder = _ref$placeholder === void 0 ? 'dd.mm.yyyy' : _ref$placeholder,
|
|
47
70
|
className = _ref.className,
|
|
48
71
|
style = _ref.style,
|
|
49
72
|
readOnly = _ref.readOnly,
|
|
50
73
|
_ref$disableLabelAnim = _ref.disableLabelAnimation,
|
|
51
74
|
disableLabelAnimation = _ref$disableLabelAnim === void 0 ? false : _ref$disableLabelAnim,
|
|
52
75
|
_ref$locale = _ref.locale,
|
|
53
|
-
locale = _ref$locale === void 0 ? 'nb' : _ref$locale,
|
|
76
|
+
locale$1 = _ref$locale === void 0 ? 'nb' : _ref$locale,
|
|
54
77
|
prepend = _ref.prepend,
|
|
55
78
|
disabled = _ref.disabled,
|
|
56
|
-
_ref$
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
feedback = _ref
|
|
79
|
+
_ref$variant = _ref.variant,
|
|
80
|
+
variant = _ref$variant === void 0 ? 'error' : _ref$variant,
|
|
81
|
+
_ref$feedback = _ref.feedback,
|
|
82
|
+
feedback = _ref$feedback === void 0 ? 'Ugyldig dato' : _ref$feedback,
|
|
60
83
|
label = _ref.label,
|
|
61
84
|
_ref$hideCalendarButt = _ref.hideCalendarButton,
|
|
62
85
|
hideCalendarButton = _ref$hideCalendarButt === void 0 ? false : _ref$hideCalendarButt,
|
|
86
|
+
_ref$hideCalendar = _ref.hideCalendar,
|
|
87
|
+
hideCalendar = _ref$hideCalendar === void 0 ? false : _ref$hideCalendar,
|
|
88
|
+
_ref$hideFeedback = _ref.hideFeedback,
|
|
89
|
+
hideFeedback = _ref$hideFeedback === void 0 ? false : _ref$hideFeedback,
|
|
63
90
|
id = _ref.id,
|
|
64
|
-
rest = _objectWithoutPropertiesLoose(_ref,
|
|
91
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
|
|
92
|
+
|
|
93
|
+
var _useState = React.useState(false),
|
|
94
|
+
showFeedback = _useState[0],
|
|
95
|
+
setShowFeedback = _useState[1];
|
|
96
|
+
|
|
97
|
+
var _useState2 = React.useState(''),
|
|
98
|
+
currentValue = _useState2[0],
|
|
99
|
+
setCurrentValue = _useState2[1];
|
|
100
|
+
|
|
101
|
+
var _useState3 = React.useState(''),
|
|
102
|
+
lastValidValue = _useState3[0],
|
|
103
|
+
setLastValidValue = _useState3[1];
|
|
65
104
|
|
|
66
105
|
var datepickerId = utils.useRandomId('eds-datepicker');
|
|
67
106
|
|
|
@@ -74,7 +113,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
74
113
|
setFiller && !isDatepickerFilled && setFiller(true);
|
|
75
114
|
}
|
|
76
115
|
});
|
|
77
|
-
|
|
116
|
+
React__default["default"].useEffect(function () {
|
|
78
117
|
if (selectedDate) {
|
|
79
118
|
setFiller && !isDatepickerFilled && setFiller(true);
|
|
80
119
|
} else {
|
|
@@ -91,30 +130,78 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
91
130
|
|
|
92
131
|
if (onChange) {
|
|
93
132
|
onChange(date, event);
|
|
133
|
+
var dateString = date == null ? void 0 : date.toLocaleDateString('no-NO', {
|
|
134
|
+
day: '2-digit',
|
|
135
|
+
month: '2-digit',
|
|
136
|
+
year: 'numeric'
|
|
137
|
+
});
|
|
138
|
+
setCurrentValue(dateString != null ? dateString : '');
|
|
139
|
+
setLastValidValue(dateString != null ? dateString : '');
|
|
94
140
|
}
|
|
95
141
|
};
|
|
96
142
|
|
|
97
|
-
|
|
98
|
-
|
|
143
|
+
var handleChangeRaw = function handleChangeRaw(event) {
|
|
144
|
+
setShowFeedback(false);
|
|
145
|
+
setCurrentValue(event.target.value);
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
var handleBlur = function handleBlur(event) {
|
|
149
|
+
if (showFeedback) {
|
|
150
|
+
setShowFeedback(false);
|
|
151
|
+
} else {
|
|
152
|
+
var inputValue = event.target.value;
|
|
153
|
+
if (inputValue) validateInput(inputValue);
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
var handleKeyDownInput = function handleKeyDownInput(event) {
|
|
158
|
+
if (event.key === 'Enter') validateInput(currentValue);
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
var validateInput = function validateInput(inputValue) {
|
|
162
|
+
var parsedDate = dateFns.parse(inputValue, 'dd.MM.yyyy', new Date(), {
|
|
163
|
+
locale: locale.nb
|
|
164
|
+
});
|
|
165
|
+
var yearIsFourCharacters = currentValue.slice(currentValue.lastIndexOf('.') + 1).length === 4;
|
|
166
|
+
var isValidDate = dateFns.isValid(parsedDate) && yearIsFourCharacters;
|
|
167
|
+
|
|
168
|
+
if (!isValidDate) {
|
|
169
|
+
setShowFeedback(true);
|
|
170
|
+
setCurrentValue(lastValidValue);
|
|
171
|
+
} else {
|
|
172
|
+
setShowFeedback(false);
|
|
173
|
+
setLastValidValue(currentValue);
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
return React__default["default"].createElement(ReactDatepicker__default["default"], _extends({
|
|
178
|
+
className: classNames__default["default"](className),
|
|
99
179
|
calendarClassName: "eds-datepicker__calender",
|
|
100
180
|
selected: selectedDate,
|
|
101
181
|
onChange: handleChange,
|
|
102
182
|
showWeekNumbers: true,
|
|
103
|
-
dateFormat:
|
|
183
|
+
dateFormat: ['dd.MM.yyyy', 'ddMMyyyy', 'dd/MM/yyyy'],
|
|
104
184
|
showPopperArrow: false,
|
|
105
185
|
placeholderText: placeholder,
|
|
106
186
|
readOnly: readOnly,
|
|
107
187
|
id: datepickerId,
|
|
108
188
|
ariaLabelledBy: datepickerId,
|
|
109
189
|
disabled: disabled,
|
|
110
|
-
locale: locale,
|
|
111
|
-
popperModifiers: POPPER_MODIFIERS
|
|
190
|
+
locale: locale$1,
|
|
191
|
+
popperModifiers: POPPER_MODIFIERS$1,
|
|
192
|
+
onBlur: handleBlur,
|
|
193
|
+
onChangeRaw: handleChangeRaw,
|
|
194
|
+
onCalendarOpen: function onCalendarOpen() {
|
|
195
|
+
return setShowFeedback(false);
|
|
196
|
+
},
|
|
197
|
+
value: currentValue,
|
|
198
|
+
open: hideCalendar === true ? false : rest.open
|
|
112
199
|
}, rest, {
|
|
113
|
-
customInput:
|
|
200
|
+
customInput: React__default["default"].createElement(DatePickerInput, {
|
|
114
201
|
style: style,
|
|
115
202
|
readOnly: readOnly,
|
|
116
|
-
variant: variant,
|
|
117
|
-
feedback: feedback,
|
|
203
|
+
variant: !hideFeedback && showFeedback ? variant : '',
|
|
204
|
+
feedback: !hideFeedback && showFeedback ? feedback : '',
|
|
118
205
|
label: label,
|
|
119
206
|
disabled: disabled,
|
|
120
207
|
ref: ref,
|
|
@@ -122,7 +209,9 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
122
209
|
disableLabelAnimation: disableLabelAnimation,
|
|
123
210
|
prepend: prepend,
|
|
124
211
|
hideCalendarButton: hideCalendarButton,
|
|
125
|
-
inputId: id
|
|
212
|
+
inputId: id,
|
|
213
|
+
onKeyDownInput: handleKeyDownInput,
|
|
214
|
+
onBlurInput: handleBlur
|
|
126
215
|
})
|
|
127
216
|
}));
|
|
128
217
|
}); // Props fra customInput i react-datepicker
|
|
@@ -148,7 +237,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
148
237
|
// "aria-labelledby": this.props.ariaLabelledBy,
|
|
149
238
|
// "aria-required": this.props.ariaRequired,
|
|
150
239
|
|
|
151
|
-
var DatePickerInput = /*#__PURE__*/
|
|
240
|
+
var DatePickerInput = /*#__PURE__*/React__default["default"].forwardRef(function (_ref2, ref) {
|
|
152
241
|
var value = _ref2.value,
|
|
153
242
|
onClick = _ref2.onClick,
|
|
154
243
|
onKeyDown = _ref2.onKeyDown,
|
|
@@ -164,11 +253,14 @@ var DatePickerInput = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
164
253
|
className = _ref2.className,
|
|
165
254
|
hideCalendarButton = _ref2.hideCalendarButton,
|
|
166
255
|
inputId = _ref2.inputId,
|
|
167
|
-
|
|
256
|
+
onKeyDownInput = _ref2.onKeyDownInput,
|
|
257
|
+
onBlurInput = _ref2.onBlurInput,
|
|
258
|
+
rest = _objectWithoutPropertiesLoose(_ref2, _excluded2$3);
|
|
168
259
|
|
|
169
|
-
return
|
|
170
|
-
className: className
|
|
171
|
-
|
|
260
|
+
return React__default["default"].createElement("span", {
|
|
261
|
+
className: className,
|
|
262
|
+
onBlur: onBlurInput
|
|
263
|
+
}, React__default["default"].createElement(form.BaseFormControl, {
|
|
172
264
|
style: style,
|
|
173
265
|
className: "eds-datepicker__form-control",
|
|
174
266
|
readOnly: readOnly,
|
|
@@ -180,7 +272,7 @@ var DatePickerInput = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
180
272
|
disableLabelAnimation: disableLabelAnimation,
|
|
181
273
|
isFilled: value ? true : false,
|
|
182
274
|
prepend: prepend
|
|
183
|
-
},
|
|
275
|
+
}, React__default["default"].createElement("input", _extends({
|
|
184
276
|
value: value,
|
|
185
277
|
onClick: onClick,
|
|
186
278
|
readOnly: readOnly,
|
|
@@ -188,14 +280,15 @@ var DatePickerInput = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
188
280
|
ref: ref,
|
|
189
281
|
// aria-labelledby={id}
|
|
190
282
|
className: "eds-form-control",
|
|
191
|
-
id: inputId
|
|
192
|
-
|
|
283
|
+
id: inputId,
|
|
284
|
+
onKeyDown: onKeyDownInput
|
|
285
|
+
}, rest)), !hideCalendarButton && React__default["default"].createElement(tooltip.Tooltip, {
|
|
193
286
|
placement: "top",
|
|
194
287
|
content: "\xC5pne kalender",
|
|
195
288
|
disableHoverListener: disabled,
|
|
196
289
|
disableFocusListener: disabled
|
|
197
|
-
},
|
|
198
|
-
className:
|
|
290
|
+
}, React__default["default"].createElement("button", {
|
|
291
|
+
className: classNames__default["default"]('eds-datepicker__calendar-button', {
|
|
199
292
|
'eds-datepicker__calendar-button--open': true,
|
|
200
293
|
'eds-datepicker__calendar-button--disabled': disabled
|
|
201
294
|
}),
|
|
@@ -203,10 +296,12 @@ var DatePickerInput = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
203
296
|
onClick: onClick,
|
|
204
297
|
disabled: disabled,
|
|
205
298
|
type: "button"
|
|
206
|
-
},
|
|
299
|
+
}, React__default["default"].createElement(icons.CalendarIcon, null)))));
|
|
207
300
|
});
|
|
208
301
|
|
|
209
|
-
var
|
|
302
|
+
var _excluded$2 = ["className", "style", "label", "onChange", "feedback", "variant", "disableLabelAnimation", "prepend"],
|
|
303
|
+
_excluded2$2 = ["onChange", "variant", "value"];
|
|
304
|
+
var NativeDatePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
|
|
210
305
|
var className = _ref.className,
|
|
211
306
|
style = _ref.style,
|
|
212
307
|
label = _ref.label,
|
|
@@ -215,13 +310,13 @@ var NativeDatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
215
310
|
variant = _ref.variant,
|
|
216
311
|
disableLabelAnimation = _ref.disableLabelAnimation,
|
|
217
312
|
_ref$prepend = _ref.prepend,
|
|
218
|
-
prepend = _ref$prepend === void 0 ?
|
|
313
|
+
prepend = _ref$prepend === void 0 ? React__default["default"].createElement(icons.DateIcon, {
|
|
219
314
|
inline: true
|
|
220
315
|
}) : _ref$prepend,
|
|
221
|
-
rest = _objectWithoutPropertiesLoose(_ref,
|
|
316
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
|
|
222
317
|
|
|
223
318
|
var nativedatepickerId = utils.useRandomId('eds-nativetimepicker');
|
|
224
|
-
return
|
|
319
|
+
return React__default["default"].createElement(form.BaseFormControl, {
|
|
225
320
|
style: style,
|
|
226
321
|
className: className,
|
|
227
322
|
prepend: prepend,
|
|
@@ -231,18 +326,18 @@ var NativeDatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
231
326
|
labelId: nativedatepickerId,
|
|
232
327
|
disableLabelAnimation: disableLabelAnimation,
|
|
233
328
|
isFilled: true
|
|
234
|
-
},
|
|
329
|
+
}, React__default["default"].createElement(NativeDatePickerBase, _extends({
|
|
235
330
|
onChange: onChange,
|
|
236
331
|
"aria-labelledby": nativedatepickerId,
|
|
237
332
|
ref: ref,
|
|
238
333
|
variant: variant
|
|
239
334
|
}, rest)));
|
|
240
335
|
});
|
|
241
|
-
var NativeDatePickerBase = /*#__PURE__*/
|
|
336
|
+
var NativeDatePickerBase = /*#__PURE__*/React__default["default"].forwardRef(function (_ref2, ref) {
|
|
242
337
|
var onChange = _ref2.onChange,
|
|
243
338
|
variant = _ref2.variant,
|
|
244
339
|
value = _ref2.value,
|
|
245
|
-
rest = _objectWithoutPropertiesLoose(_ref2,
|
|
340
|
+
rest = _objectWithoutPropertiesLoose(_ref2, _excluded2$2);
|
|
246
341
|
|
|
247
342
|
var contextVariant = form.useVariant();
|
|
248
343
|
var currentVariant = variant || contextVariant;
|
|
@@ -254,7 +349,7 @@ var NativeDatePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
254
349
|
utils.useOnMount(function () {
|
|
255
350
|
setFiller && !isDatepickerFilled && setFiller(true);
|
|
256
351
|
});
|
|
257
|
-
|
|
352
|
+
React__default["default"].useEffect(function () {
|
|
258
353
|
if (value) {
|
|
259
354
|
setFiller && !isDatepickerFilled && setFiller(true);
|
|
260
355
|
} else {
|
|
@@ -274,7 +369,7 @@ var NativeDatePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
274
369
|
}
|
|
275
370
|
};
|
|
276
371
|
|
|
277
|
-
return
|
|
372
|
+
return React__default["default"].createElement("input", _extends({
|
|
278
373
|
ref: ref,
|
|
279
374
|
"aria-invalid": currentVariant === 'error',
|
|
280
375
|
type: "date",
|
|
@@ -284,8 +379,11 @@ var NativeDatePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
284
379
|
}, rest));
|
|
285
380
|
});
|
|
286
381
|
|
|
382
|
+
var _excluded$1 = ["selectedTime", "onChange", "placeholder", "disabled", "className", "style", "label", "labelTooltip", "feedback", "variant", "disableLabelAnimation", "locale", "onLeftArrowClick", "onRightArrowClick"],
|
|
383
|
+
_excluded2$1 = ["className", "onChange", "selectedTime", "placeholder", "timeFormat", "dateFormat"],
|
|
384
|
+
_excluded3 = ["direction"];
|
|
287
385
|
ReactDatepicker.registerLocale('nb', locale.nb);
|
|
288
|
-
var TimePicker = /*#__PURE__*/
|
|
386
|
+
var TimePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
|
|
289
387
|
var _ref$selectedTime = _ref.selectedTime,
|
|
290
388
|
selectedTime = _ref$selectedTime === void 0 ? null : _ref$selectedTime,
|
|
291
389
|
onChange = _ref.onChange,
|
|
@@ -313,10 +411,10 @@ var TimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
313
411
|
minutes: 30
|
|
314
412
|
}), event);
|
|
315
413
|
} : _ref$onRightArrowClic,
|
|
316
|
-
rest = _objectWithoutPropertiesLoose(_ref,
|
|
414
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
|
|
317
415
|
|
|
318
416
|
var timepickerId = utils.useRandomId('eds-timepicker');
|
|
319
|
-
return
|
|
417
|
+
return React__default["default"].createElement(form.BaseFormControl, {
|
|
320
418
|
style: style,
|
|
321
419
|
ref: ref,
|
|
322
420
|
label: label,
|
|
@@ -327,7 +425,7 @@ var TimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
327
425
|
disableLabelAnimation: disableLabelAnimation,
|
|
328
426
|
className: "eds-timepicker-form-control",
|
|
329
427
|
disabled: disabled,
|
|
330
|
-
prepend:
|
|
428
|
+
prepend: React__default["default"].createElement(TimePickerArrowButton, {
|
|
331
429
|
direction: "left",
|
|
332
430
|
tabIndex: -1,
|
|
333
431
|
onClick: function onClick(e) {
|
|
@@ -335,7 +433,7 @@ var TimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
335
433
|
},
|
|
336
434
|
disabled: disabled
|
|
337
435
|
})
|
|
338
|
-
},
|
|
436
|
+
}, React__default["default"].createElement(TimePickerBase, _extends({
|
|
339
437
|
selectedTime: selectedTime,
|
|
340
438
|
onChange: onChange,
|
|
341
439
|
placeholder: placeholder,
|
|
@@ -343,7 +441,7 @@ var TimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
343
441
|
locale: locale,
|
|
344
442
|
ariaLabelledBy: timepickerId,
|
|
345
443
|
disabled: disabled
|
|
346
|
-
}, rest)),
|
|
444
|
+
}, rest)), React__default["default"].createElement(TimePickerArrowButton, {
|
|
347
445
|
direction: "right",
|
|
348
446
|
tabIndex: -1,
|
|
349
447
|
onClick: function onClick(e) {
|
|
@@ -352,7 +450,7 @@ var TimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
352
450
|
disabled: disabled
|
|
353
451
|
}));
|
|
354
452
|
});
|
|
355
|
-
var POPPER_MODIFIERS
|
|
453
|
+
var POPPER_MODIFIERS = [{
|
|
356
454
|
name: 'offset',
|
|
357
455
|
enabled: true,
|
|
358
456
|
options: {
|
|
@@ -369,7 +467,7 @@ var TimePickerBase = function TimePickerBase(_ref2) {
|
|
|
369
467
|
timeFormat = _ref2$timeFormat === void 0 ? 'HH:mm' : _ref2$timeFormat,
|
|
370
468
|
_ref2$dateFormat = _ref2.dateFormat,
|
|
371
469
|
dateFormat = _ref2$dateFormat === void 0 ? ['HH:mm', 'HHmm'] : _ref2$dateFormat,
|
|
372
|
-
rest = _objectWithoutPropertiesLoose(_ref2,
|
|
470
|
+
rest = _objectWithoutPropertiesLoose(_ref2, _excluded2$1);
|
|
373
471
|
|
|
374
472
|
var _useInputGroupContext = form.useInputGroupContext(),
|
|
375
473
|
isTimepickerFilled = _useInputGroupContext.isFilled,
|
|
@@ -380,7 +478,7 @@ var TimePickerBase = function TimePickerBase(_ref2) {
|
|
|
380
478
|
setFiller && !isTimepickerFilled && setFiller(true);
|
|
381
479
|
}
|
|
382
480
|
});
|
|
383
|
-
|
|
481
|
+
React__default["default"].useEffect(function () {
|
|
384
482
|
if (selectedTime) {
|
|
385
483
|
setFiller && !isTimepickerFilled && setFiller(true);
|
|
386
484
|
} else {
|
|
@@ -400,8 +498,8 @@ var TimePickerBase = function TimePickerBase(_ref2) {
|
|
|
400
498
|
}
|
|
401
499
|
};
|
|
402
500
|
|
|
403
|
-
return
|
|
404
|
-
className:
|
|
501
|
+
return React__default["default"].createElement(ReactDatepicker__default["default"], _extends({
|
|
502
|
+
className: classNames__default["default"]('eds-form-control', 'eds-timepicker__input', className),
|
|
405
503
|
calendarClassName: "eds-timepicker",
|
|
406
504
|
selected: selectedTime,
|
|
407
505
|
onChange: handleChange,
|
|
@@ -413,22 +511,24 @@ var TimePickerBase = function TimePickerBase(_ref2) {
|
|
|
413
511
|
showPopperArrow: false,
|
|
414
512
|
placeholderText: placeholder,
|
|
415
513
|
popperClassName: "eds-datepicker__popper",
|
|
416
|
-
popperModifiers: POPPER_MODIFIERS
|
|
514
|
+
popperModifiers: POPPER_MODIFIERS,
|
|
417
515
|
open: false
|
|
418
516
|
}, rest));
|
|
419
517
|
};
|
|
420
518
|
|
|
421
519
|
var TimePickerArrowButton = function TimePickerArrowButton(_ref3) {
|
|
422
520
|
var direction = _ref3.direction,
|
|
423
|
-
rest = _objectWithoutPropertiesLoose(_ref3,
|
|
521
|
+
rest = _objectWithoutPropertiesLoose(_ref3, _excluded3);
|
|
424
522
|
|
|
425
|
-
return
|
|
426
|
-
className:
|
|
523
|
+
return React__default["default"].createElement("button", _extends({
|
|
524
|
+
className: classNames__default["default"]('eds-timepicker__arrowbutton', "eds-timepicker__arrowbutton--" + direction),
|
|
427
525
|
type: "button"
|
|
428
|
-
}, rest), direction === 'left' ?
|
|
526
|
+
}, rest), direction === 'left' ? React__default["default"].createElement(icons.LeftArrowIcon, null) : React__default["default"].createElement(icons.RightArrowIcon, null));
|
|
429
527
|
};
|
|
430
528
|
|
|
431
|
-
var
|
|
529
|
+
var _excluded = ["className", "style", "onChange", "label", "feedback", "variant", "disableLabelAnimation", "prepend"],
|
|
530
|
+
_excluded2 = ["onChange", "value"];
|
|
531
|
+
var NativeTimePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
|
|
432
532
|
var className = _ref.className,
|
|
433
533
|
style = _ref.style,
|
|
434
534
|
onChange = _ref.onChange,
|
|
@@ -437,11 +537,11 @@ var NativeTimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
437
537
|
variant = _ref.variant,
|
|
438
538
|
disableLabelAnimation = _ref.disableLabelAnimation,
|
|
439
539
|
_ref$prepend = _ref.prepend,
|
|
440
|
-
prepend = _ref$prepend === void 0 ?
|
|
441
|
-
rest = _objectWithoutPropertiesLoose(_ref,
|
|
540
|
+
prepend = _ref$prepend === void 0 ? React__default["default"].createElement(icons.ClockIcon, null) : _ref$prepend,
|
|
541
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
442
542
|
|
|
443
543
|
var nativetimepickerId = utils.useRandomId('eds-nativetimepicker');
|
|
444
|
-
return
|
|
544
|
+
return React__default["default"].createElement(form.BaseFormControl, {
|
|
445
545
|
style: style,
|
|
446
546
|
className: className,
|
|
447
547
|
prepend: prepend,
|
|
@@ -450,16 +550,16 @@ var NativeTimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
450
550
|
variant: variant,
|
|
451
551
|
labelId: nativetimepickerId,
|
|
452
552
|
disableLabelAnimation: disableLabelAnimation
|
|
453
|
-
},
|
|
553
|
+
}, React__default["default"].createElement(NativeTimePickerBase, _extends({
|
|
454
554
|
onChange: onChange,
|
|
455
555
|
"aria-labelledby": nativetimepickerId,
|
|
456
556
|
ref: ref
|
|
457
557
|
}, rest)));
|
|
458
558
|
});
|
|
459
|
-
var NativeTimePickerBase = /*#__PURE__*/
|
|
559
|
+
var NativeTimePickerBase = /*#__PURE__*/React__default["default"].forwardRef(function (_ref2, ref) {
|
|
460
560
|
var onChange = _ref2.onChange,
|
|
461
561
|
value = _ref2.value,
|
|
462
|
-
rest = _objectWithoutPropertiesLoose(_ref2,
|
|
562
|
+
rest = _objectWithoutPropertiesLoose(_ref2, _excluded2);
|
|
463
563
|
|
|
464
564
|
var contextVariant = form.useVariant();
|
|
465
565
|
var currentVariant = rest.variant || contextVariant;
|
|
@@ -471,7 +571,7 @@ var NativeTimePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
471
571
|
utils.useOnMount(function () {
|
|
472
572
|
setFiller && !isTimepickerFilled && setFiller(true);
|
|
473
573
|
});
|
|
474
|
-
|
|
574
|
+
React__default["default"].useEffect(function () {
|
|
475
575
|
if (value) {
|
|
476
576
|
setFiller && !isTimepickerFilled && setFiller(true);
|
|
477
577
|
} else {
|
|
@@ -491,7 +591,7 @@ var NativeTimePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
|
491
591
|
}
|
|
492
592
|
};
|
|
493
593
|
|
|
494
|
-
return
|
|
594
|
+
return React__default["default"].createElement("input", _extends({
|
|
495
595
|
ref: ref,
|
|
496
596
|
"aria-invalid": currentVariant === 'error',
|
|
497
597
|
type: "time",
|