@entur/datepicker 0.10.8 → 0.11.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/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
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.2](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.11.1...@entur/datepicker@0.11.2) (2022-03-01)
7
+
8
+ **Note:** Version bump only for package @entur/datepicker
9
+
10
+ ## [0.11.1](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.11.0...@entur/datepicker@0.11.1) (2022-02-14)
11
+
12
+ ### Bug Fixes
13
+
14
+ - **datepicker:** fix default value for date not working ([283734a](https://bitbucket.org/enturas/design-system/commits/283734af696c1ed5ddb13232c8a7c3a4916551b0))
15
+
16
+ # [0.11.0](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.10.8...@entur/datepicker@0.11.0) (2022-02-09)
17
+
18
+ ### Features
19
+
20
+ - **date picker:** add visual date validation to date picker and hideCalendar prop ([aae7cbf](https://bitbucket.org/enturas/design-system/commits/aae7cbfe4e02c1e5ebc676c1e083f74c54bafbbb))
21
+
22
+ ### BREAKING CHANGES
23
+
24
+ - **date picker:** - Validation icon introduces visual changes. Use hideFeedback to remove.
25
+
26
+ * dateFormat prop removed
27
+
6
28
  ## [0.10.8](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@0.10.7...@entur/datepicker@0.10.8) (2022-01-21)
7
29
 
8
30
  **Note:** Version bump only for package @entur/datepicker
@@ -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 "Velg dato"
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 "Velg dato"
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
- variant?: "success" | "error" | "warning" | "info" | undefined;
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
- } & Pick<ReactDatePickerProps<never>, "adjustDateOnChange" | "allowSameDay" | "ariaDescribedBy" | "ariaInvalid" | "ariaLabelClose" | "ariaLabelledBy" | "ariaRequired" | "autoComplete" | "autoFocus" | "calendarClassName" | "calendarContainer" | "calendarStartDay" | "children" | "chooseDayAriaLabelPrefix" | "className" | "clearButtonClassName" | "clearButtonTitle" | "closeOnScroll" | "customInputRef" | "customTimeInput" | "dateFormat" | "dateFormatCalendar" | "dayClassName" | "weekDayClassName" | "monthClassName" | "timeClassName" | "disabledDayAriaLabelPrefix" | "disabled" | "disabledKeyboardNavigation" | "dropdownMode" | "endDate" | "excludeDates" | "excludeTimes" | "filterDate" | "filterTime" | "fixedHeight" | "forceShowMonthNavigation" | "formatWeekDay" | "formatWeekNumber" | "highlightDates" | "id" | "includeDates" | "includeTimes" | "injectTimes" | "inline" | "focusSelectedMonth" | "isClearable" | "locale" | "maxDate" | "maxTime" | "minDate" | "minTime" | "monthsShown" | "name" | "nextMonthButtonLabel" | "nextYearButtonLabel" | "onBlur" | "onCalendarClose" | "onCalendarOpen" | "onChange" | "onChangeRaw" | "onClickOutside" | "onDayMouseEnter" | "onFocus" | "onInputClick" | "onInputError" | "onKeyDown" | "onMonthChange" | "onMonthMouseLeave" | "onSelect" | "onWeekSelect" | "onYearChange" | "open" | "openToDate" | "peekNextMonth" | "placeholderText" | "popperClassName" | "popperContainer" | "popperModifiers" | "popperPlacement" | "popperProps" | "preventOpenOnFocus" | "previousMonthButtonLabel" | "previousYearButtonLabel" | "readOnly" | "renderCustomHeader" | "renderDayContents" | "required" | "scrollableMonthYearDropdown" | "scrollableYearDropdown" | "selectsEnd" | "selectsStart" | "selectsRange" | "shouldCloseOnSelect" | "showDisabledMonthNavigation" | "showFullMonthYearPicker" | "showMonthDropdown" | "showMonthYearDropdown" | "showMonthYearPicker" | "showPopperArrow" | "showPreviousMonths" | "showQuarterYearPicker" | "showTimeInput" | "showTimeSelect" | "showTimeSelectOnly" | "showTwoColumnMonthYearPicker" | "showFourColumnMonthYearPicker" | "showWeekNumbers" | "showYearDropdown" | "showYearPicker" | "startDate" | "startOpen" | "strictParsing" | "tabIndex" | "timeCaption" | "timeFormat" | "timeInputLabel" | "timeIntervals" | "title" | "todayButton" | "useShortMonthInDropdown" | "useWeekdaysShort" | "weekAriaLabelPrefix" | "value" | "weekLabel" | "withPortal" | "portalId" | "wrapperClassName" | "yearDropdownItemNumber" | "excludeScrollbar" | "enableTabLoop" | "yearItemNumber"> & React.RefAttributes<HTMLInputElement>>;
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?: "success" | "error" | "warning" | "info" | undefined;
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?: "success" | "error" | "warning" | "info" | undefined;
29
+ variant?: VariantType | undefined;
30
30
  /** Plasserer labelen statisk på toppen av inputfeltet
31
31
  * @default false
32
32
  */
@@ -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?: "success" | "error" | "warning" | "info" | undefined;
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 = _interopDefault(require('react'));
6
+ var React = require('react');
9
7
  var ReactDatepicker = require('react-datepicker');
10
- var ReactDatepicker__default = _interopDefault(ReactDatepicker);
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
- var dateFns = require('date-fns');
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__*/React.forwardRef(function (_ref, ref) {
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 ? 'Velg dato' : _ref$placeholder,
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$dateFormat = _ref.dateFormat,
57
- dateFormat = _ref$dateFormat === void 0 ? ['dd.MM.yyyy', 'ddMMyyyy'] : _ref$dateFormat,
58
- variant = _ref.variant,
59
- feedback = _ref.feedback,
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, ["selectedDate", "onChange", "placeholder", "className", "style", "readOnly", "disableLabelAnimation", "locale", "prepend", "disabled", "dateFormat", "variant", "feedback", "label", "hideCalendarButton", "id"]);
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
 
@@ -72,9 +111,10 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
72
111
  utils.useOnMount(function () {
73
112
  if (selectedDate) {
74
113
  setFiller && !isDatepickerFilled && setFiller(true);
114
+ handleChange(selectedDate, undefined);
75
115
  }
76
116
  });
77
- React.useEffect(function () {
117
+ React__default["default"].useEffect(function () {
78
118
  if (selectedDate) {
79
119
  setFiller && !isDatepickerFilled && setFiller(true);
80
120
  } else {
@@ -91,30 +131,78 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
91
131
 
92
132
  if (onChange) {
93
133
  onChange(date, event);
134
+ var dateString = date == null ? void 0 : date.toLocaleDateString('no-NO', {
135
+ day: '2-digit',
136
+ month: '2-digit',
137
+ year: 'numeric'
138
+ });
139
+ setCurrentValue(dateString != null ? dateString : '');
140
+ setLastValidValue(dateString != null ? dateString : '');
94
141
  }
95
142
  };
96
143
 
97
- return React.createElement(ReactDatepicker__default, Object.assign({
98
- className: classNames(className),
144
+ var handleChangeRaw = function handleChangeRaw(event) {
145
+ setShowFeedback(false);
146
+ setCurrentValue(event.target.value);
147
+ };
148
+
149
+ var handleBlur = function handleBlur(event) {
150
+ if (showFeedback) {
151
+ setShowFeedback(false);
152
+ } else {
153
+ var inputValue = event.target.value;
154
+ if (inputValue) validateInput(inputValue);
155
+ }
156
+ };
157
+
158
+ var handleKeyDownInput = function handleKeyDownInput(event) {
159
+ if (event.key === 'Enter') validateInput(currentValue);
160
+ };
161
+
162
+ var validateInput = function validateInput(inputValue) {
163
+ var parsedDate = dateFns.parse(inputValue, 'dd.MM.yyyy', new Date(), {
164
+ locale: locale.nb
165
+ });
166
+ var yearIsFourCharacters = currentValue.slice(currentValue.lastIndexOf('.') + 1).length === 4;
167
+ var isValidDate = dateFns.isValid(parsedDate) && yearIsFourCharacters;
168
+
169
+ if (!isValidDate) {
170
+ setShowFeedback(true);
171
+ setCurrentValue(lastValidValue);
172
+ } else {
173
+ setShowFeedback(false);
174
+ setLastValidValue(currentValue);
175
+ }
176
+ };
177
+
178
+ return React__default["default"].createElement(ReactDatepicker__default["default"], _extends({
179
+ className: classNames__default["default"](className),
99
180
  calendarClassName: "eds-datepicker__calender",
100
181
  selected: selectedDate,
101
182
  onChange: handleChange,
102
183
  showWeekNumbers: true,
103
- dateFormat: dateFormat,
184
+ dateFormat: ['dd.MM.yyyy', 'ddMMyyyy', 'dd/MM/yyyy'],
104
185
  showPopperArrow: false,
105
186
  placeholderText: placeholder,
106
187
  readOnly: readOnly,
107
188
  id: datepickerId,
108
189
  ariaLabelledBy: datepickerId,
109
190
  disabled: disabled,
110
- locale: locale,
111
- popperModifiers: POPPER_MODIFIERS
191
+ locale: locale$1,
192
+ popperModifiers: POPPER_MODIFIERS$1,
193
+ onBlur: handleBlur,
194
+ onChangeRaw: handleChangeRaw,
195
+ onCalendarOpen: function onCalendarOpen() {
196
+ return setShowFeedback(false);
197
+ },
198
+ value: currentValue,
199
+ open: hideCalendar === true ? false : rest.open
112
200
  }, rest, {
113
- customInput: React.createElement(DatePickerInput, {
201
+ customInput: React__default["default"].createElement(DatePickerInput, {
114
202
  style: style,
115
203
  readOnly: readOnly,
116
- variant: variant,
117
- feedback: feedback,
204
+ variant: !hideFeedback && showFeedback ? variant : '',
205
+ feedback: !hideFeedback && showFeedback ? feedback : '',
118
206
  label: label,
119
207
  disabled: disabled,
120
208
  ref: ref,
@@ -122,7 +210,9 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
122
210
  disableLabelAnimation: disableLabelAnimation,
123
211
  prepend: prepend,
124
212
  hideCalendarButton: hideCalendarButton,
125
- inputId: id
213
+ inputId: id,
214
+ onKeyDownInput: handleKeyDownInput,
215
+ onBlurInput: handleBlur
126
216
  })
127
217
  }));
128
218
  }); // Props fra customInput i react-datepicker
@@ -148,7 +238,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
148
238
  // "aria-labelledby": this.props.ariaLabelledBy,
149
239
  // "aria-required": this.props.ariaRequired,
150
240
 
151
- var DatePickerInput = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
241
+ var DatePickerInput = /*#__PURE__*/React__default["default"].forwardRef(function (_ref2, ref) {
152
242
  var value = _ref2.value,
153
243
  onClick = _ref2.onClick,
154
244
  onKeyDown = _ref2.onKeyDown,
@@ -164,11 +254,14 @@ var DatePickerInput = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
164
254
  className = _ref2.className,
165
255
  hideCalendarButton = _ref2.hideCalendarButton,
166
256
  inputId = _ref2.inputId,
167
- rest = _objectWithoutPropertiesLoose(_ref2, ["value", "onClick", "onFocus", "onKeyDown", "variant", "feedback", "style", "disableLabelAnimation", "disabled", "label", "readOnly", "id", "prepend", "className", "hideCalendarButton", "inputId"]);
257
+ onKeyDownInput = _ref2.onKeyDownInput,
258
+ onBlurInput = _ref2.onBlurInput,
259
+ rest = _objectWithoutPropertiesLoose(_ref2, _excluded2$3);
168
260
 
169
- return React.createElement("span", {
170
- className: className
171
- }, React.createElement(form.BaseFormControl, {
261
+ return React__default["default"].createElement("span", {
262
+ className: className,
263
+ onBlur: onBlurInput
264
+ }, React__default["default"].createElement(form.BaseFormControl, {
172
265
  style: style,
173
266
  className: "eds-datepicker__form-control",
174
267
  readOnly: readOnly,
@@ -180,7 +273,7 @@ var DatePickerInput = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
180
273
  disableLabelAnimation: disableLabelAnimation,
181
274
  isFilled: value ? true : false,
182
275
  prepend: prepend
183
- }, React.createElement("input", Object.assign({
276
+ }, React__default["default"].createElement("input", _extends({
184
277
  value: value,
185
278
  onClick: onClick,
186
279
  readOnly: readOnly,
@@ -188,14 +281,15 @@ var DatePickerInput = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
188
281
  ref: ref,
189
282
  // aria-labelledby={id}
190
283
  className: "eds-form-control",
191
- id: inputId
192
- }, rest)), !hideCalendarButton && React.createElement(tooltip.Tooltip, {
284
+ id: inputId,
285
+ onKeyDown: onKeyDownInput
286
+ }, rest)), !hideCalendarButton && React__default["default"].createElement(tooltip.Tooltip, {
193
287
  placement: "top",
194
288
  content: "\xC5pne kalender",
195
289
  disableHoverListener: disabled,
196
290
  disableFocusListener: disabled
197
- }, React.createElement("button", {
198
- className: classNames('eds-datepicker__calendar-button', {
291
+ }, React__default["default"].createElement("button", {
292
+ className: classNames__default["default"]('eds-datepicker__calendar-button', {
199
293
  'eds-datepicker__calendar-button--open': true,
200
294
  'eds-datepicker__calendar-button--disabled': disabled
201
295
  }),
@@ -203,10 +297,12 @@ var DatePickerInput = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
203
297
  onClick: onClick,
204
298
  disabled: disabled,
205
299
  type: "button"
206
- }, React.createElement(icons.CalendarIcon, null)))));
300
+ }, React__default["default"].createElement(icons.CalendarIcon, null)))));
207
301
  });
208
302
 
209
- var NativeDatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
303
+ var _excluded$2 = ["className", "style", "label", "onChange", "feedback", "variant", "disableLabelAnimation", "prepend"],
304
+ _excluded2$2 = ["onChange", "variant", "value"];
305
+ var NativeDatePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
210
306
  var className = _ref.className,
211
307
  style = _ref.style,
212
308
  label = _ref.label,
@@ -215,13 +311,13 @@ var NativeDatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
215
311
  variant = _ref.variant,
216
312
  disableLabelAnimation = _ref.disableLabelAnimation,
217
313
  _ref$prepend = _ref.prepend,
218
- prepend = _ref$prepend === void 0 ? React.createElement(icons.DateIcon, {
314
+ prepend = _ref$prepend === void 0 ? React__default["default"].createElement(icons.DateIcon, {
219
315
  inline: true
220
316
  }) : _ref$prepend,
221
- rest = _objectWithoutPropertiesLoose(_ref, ["className", "style", "label", "onChange", "feedback", "variant", "disableLabelAnimation", "prepend"]);
317
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
222
318
 
223
319
  var nativedatepickerId = utils.useRandomId('eds-nativetimepicker');
224
- return React.createElement(form.BaseFormControl, {
320
+ return React__default["default"].createElement(form.BaseFormControl, {
225
321
  style: style,
226
322
  className: className,
227
323
  prepend: prepend,
@@ -231,18 +327,18 @@ var NativeDatePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
231
327
  labelId: nativedatepickerId,
232
328
  disableLabelAnimation: disableLabelAnimation,
233
329
  isFilled: true
234
- }, React.createElement(NativeDatePickerBase, Object.assign({
330
+ }, React__default["default"].createElement(NativeDatePickerBase, _extends({
235
331
  onChange: onChange,
236
332
  "aria-labelledby": nativedatepickerId,
237
333
  ref: ref,
238
334
  variant: variant
239
335
  }, rest)));
240
336
  });
241
- var NativeDatePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
337
+ var NativeDatePickerBase = /*#__PURE__*/React__default["default"].forwardRef(function (_ref2, ref) {
242
338
  var onChange = _ref2.onChange,
243
339
  variant = _ref2.variant,
244
340
  value = _ref2.value,
245
- rest = _objectWithoutPropertiesLoose(_ref2, ["onChange", "variant", "value"]);
341
+ rest = _objectWithoutPropertiesLoose(_ref2, _excluded2$2);
246
342
 
247
343
  var contextVariant = form.useVariant();
248
344
  var currentVariant = variant || contextVariant;
@@ -254,7 +350,7 @@ var NativeDatePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
254
350
  utils.useOnMount(function () {
255
351
  setFiller && !isDatepickerFilled && setFiller(true);
256
352
  });
257
- React.useEffect(function () {
353
+ React__default["default"].useEffect(function () {
258
354
  if (value) {
259
355
  setFiller && !isDatepickerFilled && setFiller(true);
260
356
  } else {
@@ -274,7 +370,7 @@ var NativeDatePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
274
370
  }
275
371
  };
276
372
 
277
- return React.createElement("input", Object.assign({
373
+ return React__default["default"].createElement("input", _extends({
278
374
  ref: ref,
279
375
  "aria-invalid": currentVariant === 'error',
280
376
  type: "date",
@@ -284,8 +380,11 @@ var NativeDatePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
284
380
  }, rest));
285
381
  });
286
382
 
383
+ var _excluded$1 = ["selectedTime", "onChange", "placeholder", "disabled", "className", "style", "label", "labelTooltip", "feedback", "variant", "disableLabelAnimation", "locale", "onLeftArrowClick", "onRightArrowClick"],
384
+ _excluded2$1 = ["className", "onChange", "selectedTime", "placeholder", "timeFormat", "dateFormat"],
385
+ _excluded3 = ["direction"];
287
386
  ReactDatepicker.registerLocale('nb', locale.nb);
288
- var TimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
387
+ var TimePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
289
388
  var _ref$selectedTime = _ref.selectedTime,
290
389
  selectedTime = _ref$selectedTime === void 0 ? null : _ref$selectedTime,
291
390
  onChange = _ref.onChange,
@@ -313,10 +412,10 @@ var TimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
313
412
  minutes: 30
314
413
  }), event);
315
414
  } : _ref$onRightArrowClic,
316
- rest = _objectWithoutPropertiesLoose(_ref, ["selectedTime", "onChange", "placeholder", "disabled", "className", "style", "label", "labelTooltip", "feedback", "variant", "disableLabelAnimation", "locale", "onLeftArrowClick", "onRightArrowClick"]);
415
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
317
416
 
318
417
  var timepickerId = utils.useRandomId('eds-timepicker');
319
- return React.createElement(form.BaseFormControl, {
418
+ return React__default["default"].createElement(form.BaseFormControl, {
320
419
  style: style,
321
420
  ref: ref,
322
421
  label: label,
@@ -327,7 +426,7 @@ var TimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
327
426
  disableLabelAnimation: disableLabelAnimation,
328
427
  className: "eds-timepicker-form-control",
329
428
  disabled: disabled,
330
- prepend: React.createElement(TimePickerArrowButton, {
429
+ prepend: React__default["default"].createElement(TimePickerArrowButton, {
331
430
  direction: "left",
332
431
  tabIndex: -1,
333
432
  onClick: function onClick(e) {
@@ -335,7 +434,7 @@ var TimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
335
434
  },
336
435
  disabled: disabled
337
436
  })
338
- }, React.createElement(TimePickerBase, Object.assign({
437
+ }, React__default["default"].createElement(TimePickerBase, _extends({
339
438
  selectedTime: selectedTime,
340
439
  onChange: onChange,
341
440
  placeholder: placeholder,
@@ -343,7 +442,7 @@ var TimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
343
442
  locale: locale,
344
443
  ariaLabelledBy: timepickerId,
345
444
  disabled: disabled
346
- }, rest)), React.createElement(TimePickerArrowButton, {
445
+ }, rest)), React__default["default"].createElement(TimePickerArrowButton, {
347
446
  direction: "right",
348
447
  tabIndex: -1,
349
448
  onClick: function onClick(e) {
@@ -352,7 +451,7 @@ var TimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
352
451
  disabled: disabled
353
452
  }));
354
453
  });
355
- var POPPER_MODIFIERS$1 = [{
454
+ var POPPER_MODIFIERS = [{
356
455
  name: 'offset',
357
456
  enabled: true,
358
457
  options: {
@@ -369,7 +468,7 @@ var TimePickerBase = function TimePickerBase(_ref2) {
369
468
  timeFormat = _ref2$timeFormat === void 0 ? 'HH:mm' : _ref2$timeFormat,
370
469
  _ref2$dateFormat = _ref2.dateFormat,
371
470
  dateFormat = _ref2$dateFormat === void 0 ? ['HH:mm', 'HHmm'] : _ref2$dateFormat,
372
- rest = _objectWithoutPropertiesLoose(_ref2, ["className", "onChange", "selectedTime", "placeholder", "timeFormat", "dateFormat"]);
471
+ rest = _objectWithoutPropertiesLoose(_ref2, _excluded2$1);
373
472
 
374
473
  var _useInputGroupContext = form.useInputGroupContext(),
375
474
  isTimepickerFilled = _useInputGroupContext.isFilled,
@@ -380,7 +479,7 @@ var TimePickerBase = function TimePickerBase(_ref2) {
380
479
  setFiller && !isTimepickerFilled && setFiller(true);
381
480
  }
382
481
  });
383
- React.useEffect(function () {
482
+ React__default["default"].useEffect(function () {
384
483
  if (selectedTime) {
385
484
  setFiller && !isTimepickerFilled && setFiller(true);
386
485
  } else {
@@ -400,8 +499,8 @@ var TimePickerBase = function TimePickerBase(_ref2) {
400
499
  }
401
500
  };
402
501
 
403
- return React.createElement(ReactDatepicker__default, Object.assign({
404
- className: classNames('eds-form-control', 'eds-timepicker__input', className),
502
+ return React__default["default"].createElement(ReactDatepicker__default["default"], _extends({
503
+ className: classNames__default["default"]('eds-form-control', 'eds-timepicker__input', className),
405
504
  calendarClassName: "eds-timepicker",
406
505
  selected: selectedTime,
407
506
  onChange: handleChange,
@@ -413,22 +512,24 @@ var TimePickerBase = function TimePickerBase(_ref2) {
413
512
  showPopperArrow: false,
414
513
  placeholderText: placeholder,
415
514
  popperClassName: "eds-datepicker__popper",
416
- popperModifiers: POPPER_MODIFIERS$1,
515
+ popperModifiers: POPPER_MODIFIERS,
417
516
  open: false
418
517
  }, rest));
419
518
  };
420
519
 
421
520
  var TimePickerArrowButton = function TimePickerArrowButton(_ref3) {
422
521
  var direction = _ref3.direction,
423
- rest = _objectWithoutPropertiesLoose(_ref3, ["direction"]);
522
+ rest = _objectWithoutPropertiesLoose(_ref3, _excluded3);
424
523
 
425
- return React.createElement("button", Object.assign({
426
- className: classNames('eds-timepicker__arrowbutton', "eds-timepicker__arrowbutton--" + direction),
524
+ return React__default["default"].createElement("button", _extends({
525
+ className: classNames__default["default"]('eds-timepicker__arrowbutton', "eds-timepicker__arrowbutton--" + direction),
427
526
  type: "button"
428
- }, rest), direction === 'left' ? React.createElement(icons.LeftArrowIcon, null) : React.createElement(icons.RightArrowIcon, null));
527
+ }, rest), direction === 'left' ? React__default["default"].createElement(icons.LeftArrowIcon, null) : React__default["default"].createElement(icons.RightArrowIcon, null));
429
528
  };
430
529
 
431
- var NativeTimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
530
+ var _excluded = ["className", "style", "onChange", "label", "feedback", "variant", "disableLabelAnimation", "prepend"],
531
+ _excluded2 = ["onChange", "value"];
532
+ var NativeTimePicker = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
432
533
  var className = _ref.className,
433
534
  style = _ref.style,
434
535
  onChange = _ref.onChange,
@@ -437,11 +538,11 @@ var NativeTimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
437
538
  variant = _ref.variant,
438
539
  disableLabelAnimation = _ref.disableLabelAnimation,
439
540
  _ref$prepend = _ref.prepend,
440
- prepend = _ref$prepend === void 0 ? React.createElement(icons.ClockIcon, null) : _ref$prepend,
441
- rest = _objectWithoutPropertiesLoose(_ref, ["className", "style", "onChange", "label", "feedback", "variant", "disableLabelAnimation", "prepend"]);
541
+ prepend = _ref$prepend === void 0 ? React__default["default"].createElement(icons.ClockIcon, null) : _ref$prepend,
542
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
442
543
 
443
544
  var nativetimepickerId = utils.useRandomId('eds-nativetimepicker');
444
- return React.createElement(form.BaseFormControl, {
545
+ return React__default["default"].createElement(form.BaseFormControl, {
445
546
  style: style,
446
547
  className: className,
447
548
  prepend: prepend,
@@ -450,16 +551,16 @@ var NativeTimePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
450
551
  variant: variant,
451
552
  labelId: nativetimepickerId,
452
553
  disableLabelAnimation: disableLabelAnimation
453
- }, React.createElement(NativeTimePickerBase, Object.assign({
554
+ }, React__default["default"].createElement(NativeTimePickerBase, _extends({
454
555
  onChange: onChange,
455
556
  "aria-labelledby": nativetimepickerId,
456
557
  ref: ref
457
558
  }, rest)));
458
559
  });
459
- var NativeTimePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
560
+ var NativeTimePickerBase = /*#__PURE__*/React__default["default"].forwardRef(function (_ref2, ref) {
460
561
  var onChange = _ref2.onChange,
461
562
  value = _ref2.value,
462
- rest = _objectWithoutPropertiesLoose(_ref2, ["onChange", "value"]);
563
+ rest = _objectWithoutPropertiesLoose(_ref2, _excluded2);
463
564
 
464
565
  var contextVariant = form.useVariant();
465
566
  var currentVariant = rest.variant || contextVariant;
@@ -471,7 +572,7 @@ var NativeTimePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
471
572
  utils.useOnMount(function () {
472
573
  setFiller && !isTimepickerFilled && setFiller(true);
473
574
  });
474
- React.useEffect(function () {
575
+ React__default["default"].useEffect(function () {
475
576
  if (value) {
476
577
  setFiller && !isTimepickerFilled && setFiller(true);
477
578
  } else {
@@ -491,7 +592,7 @@ var NativeTimePickerBase = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
491
592
  }
492
593
  };
493
594
 
494
- return React.createElement("input", Object.assign({
595
+ return React__default["default"].createElement("input", _extends({
495
596
  ref: ref,
496
597
  "aria-invalid": currentVariant === 'error',
497
598
  type: "time",