@entur/datepicker 8.1.7 → 9.0.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/dist/DatePicker/Calendar.d.ts +14 -0
- package/dist/DatePicker/DateField.d.ts +11 -2
- package/dist/DatePicker/DatePicker.d.ts +10 -4
- package/dist/datepicker.cjs.development.js +89 -101
- 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 +90 -103
- package/dist/datepicker.esm.js.map +1 -1
- package/dist/shared/utils.d.ts +11 -10
- package/dist/styles.css +30 -31
- package/package.json +6 -10
package/dist/datepicker.esm.js
CHANGED
|
@@ -5,7 +5,7 @@ import { useDateSegment, useDateField, useDatePicker, useTimeField } from '@reac
|
|
|
5
5
|
import { useLocale, I18nProvider } from '@react-aria/i18n';
|
|
6
6
|
import classNames from 'classnames';
|
|
7
7
|
import { BaseFormControl, useVariant, useInputGroupContext, isFilled, TextField } from '@entur/form';
|
|
8
|
-
import { CalendarDate, Time, getLocalTimeZone, GregorianCalendar, ZonedDateTime, parseAbsolute, CalendarDateTime, isEqualDay, now, getWeeksInMonth, toTime, parseTime } from '@internationalized/date';
|
|
8
|
+
import { CalendarDate, Time, getLocalTimeZone, GregorianCalendar, toCalendarDateTime, ZonedDateTime, parseAbsolute, CalendarDateTime, isEqualDay, now, getWeeksInMonth, toTime, parseTime } from '@internationalized/date';
|
|
9
9
|
export { CalendarDate, CalendarDateTime, Time, ZonedDateTime } from '@internationalized/date';
|
|
10
10
|
import { useCalendarCell, useCalendarGrid, useCalendar } from '@react-aria/calendar';
|
|
11
11
|
import { useCalendarState } from '@react-stately/calendar';
|
|
@@ -51,15 +51,6 @@ var FieldSegment = function FieldSegment(_ref) {
|
|
|
51
51
|
var ref = useRef(null);
|
|
52
52
|
var _useDateSegment = useDateSegment(segment, state, ref),
|
|
53
53
|
segmentProps = _useDateSegment.segmentProps;
|
|
54
|
-
var is12HourFormatted = state.segments.some(function (segment) {
|
|
55
|
-
return segment.text === 'AM' || segment.text === 'PM';
|
|
56
|
-
});
|
|
57
|
-
var segmentDisplayText = function segmentDisplayText() {
|
|
58
|
-
if (is12HourFormatted) return segment.text;
|
|
59
|
-
// if number add '0' padding to start when one digit
|
|
60
|
-
if (segment.text.match(/\d+/)) return segment.text.padStart(2, '0');
|
|
61
|
-
return segment.text;
|
|
62
|
-
};
|
|
63
54
|
return React.createElement("div", _extends({}, segmentProps, {
|
|
64
55
|
ref: ref,
|
|
65
56
|
className: classNames('eds-date-and-time-field__segment', {
|
|
@@ -67,7 +58,7 @@ var FieldSegment = function FieldSegment(_ref) {
|
|
|
67
58
|
'eds-date-and-time-field__segment--dot-separator': segment.text === '.'
|
|
68
59
|
}),
|
|
69
60
|
tabIndex: state.isDisabled ? -1 : segmentProps.tabIndex
|
|
70
|
-
}),
|
|
61
|
+
}), segment.text);
|
|
71
62
|
};
|
|
72
63
|
|
|
73
64
|
var nativeDateToDateTime = function nativeDateToDateTime(date, timeZone, offset) {
|
|
@@ -81,83 +72,64 @@ var nativeDateToDateTime = function nativeDateToDateTime(date, timeZone, offset)
|
|
|
81
72
|
};
|
|
82
73
|
/**
|
|
83
74
|
* Tar inn et JS Date-objekt og returnerer et av DateValue-objektene fra @internationalized/date-pakken
|
|
84
|
-
* @param {Date} date JS Date-objekt som ønskes konvertert til et DateValue-objekt
|
|
75
|
+
* @param {Date | null} date JS Date-objekt som ønskes konvertert til et DateValue-objekt
|
|
85
76
|
* @param {boolean} noTimeOnlyDate Hvis tidspunktet er irrelevant kan denne settes til true, da får man et CalendarDate-objekt uten tidspunkt tilbake
|
|
86
77
|
* @param {string} timeZone Tidssonen på IANA-formatet som tidpunktet skal konverteres til. Utelates denne får man et tidspunkt uten tidssone. Kan brukes med og uten en UTC-offset Vær obs på annen oppførsel med offset, les mer på beskrivelsen av offset
|
|
87
78
|
* @param {number} offset UTC-offset i millisekunder, må brukes med en tidssone. Ved å legge på en offset lager du en variant av en tidssone. Det betyr at tidspunktet ikke endres (time, minutt, sekund uendret), men tidssonen, med tilhørende offset, tidspunktet er i endres.
|
|
88
|
-
* @returns {CalendarDateTime | ZonedDateTime | CalendarDate} et av DateValue-objektene med verdier fra date
|
|
79
|
+
* @returns {CalendarDateTime | ZonedDateTime | CalendarDate | null} et av DateValue-objektene med verdier fra date eller null
|
|
89
80
|
*/
|
|
90
|
-
|
|
81
|
+
function nativeDateToDateValue(date, noTimeOnlyDate, timeZone, offset) {
|
|
91
82
|
if (noTimeOnlyDate === void 0) {
|
|
92
83
|
noTimeOnlyDate = false;
|
|
93
84
|
}
|
|
85
|
+
if (date === null) return null;
|
|
94
86
|
if (noTimeOnlyDate) return new CalendarDate(date.getFullYear(), date.getMonth() + 1, date.getDate());
|
|
95
87
|
return nativeDateToDateTime(date, timeZone, offset);
|
|
96
|
-
}
|
|
88
|
+
}
|
|
97
89
|
/**
|
|
98
90
|
* Tar inn et JS Date-objekt og returnerer et av TimeValue-objektene fra @internationalized/date-pakken
|
|
99
|
-
* @param {Date} date JS Date-objekt som ønskes konvertert til et TimeValue-objekt
|
|
91
|
+
* @param {Date | null} date JS Date-objekt som ønskes konvertert til et TimeValue-objekt
|
|
100
92
|
* @param {boolean} noDateOnlyTime Hvis datoen er irrelevant kan denne settes til true, da får man et Time-objekt uten dato tilbake
|
|
101
93
|
* @param {string} timeZone Tidssonen på IANA-formatet som tidpunktet skal konverteres til. Utelates denne får man et tidspunkt uten tidssone. Kan brukes med og uten en UTC-offset Vær obs på annen oppførsel med offset, les mer på beskrivelsen av offset
|
|
102
94
|
* @param {number} offset UTC-offset i millisekunder, må brukes med en tidssone. Ved å legge på en offset lager du en variant av en tidssone. Det betyr at tidspunktet ikke endres (time, minutt, sekund uendret), men tidssonen, med tilhørende offset, tidspunktet er i endres.
|
|
103
|
-
* @returns {Time | CalendarDateTime | ZonedDateTime} et av TimeValue-objektene med verdier fra date
|
|
95
|
+
* @returns {Time | CalendarDateTime | ZonedDateTime | null} et av TimeValue-objektene med verdier fra date eller null
|
|
104
96
|
*/
|
|
105
|
-
|
|
97
|
+
function nativeDateToTimeValue(date, noDateOnlyTime, timeZone, offset) {
|
|
106
98
|
if (noDateOnlyTime === void 0) {
|
|
107
99
|
noDateOnlyTime = false;
|
|
108
100
|
}
|
|
101
|
+
if (date === null) return null;
|
|
109
102
|
if (noDateOnlyTime) return new Time(date.getHours(), date.getMinutes(), date.getSeconds(), 0);
|
|
110
103
|
return nativeDateToDateTime(date, timeZone, offset);
|
|
111
|
-
}
|
|
104
|
+
}
|
|
112
105
|
/**
|
|
113
|
-
* Tar inn et av Date- eller TimeValue-objektene fra
|
|
114
|
-
* @param {DateValue | TimeValue} value En dato eller et tidspunkt på Date- eller TimeValue-formatet som ønskes konvertert til et JS Date-objekt
|
|
106
|
+
* Tar inn et av Date- eller TimeValue-objektene fra \@internationalized/date-pakken og returnerer et JS Date-objekt
|
|
107
|
+
* @param {DateValue | TimeValue | null} value En dato eller et tidspunkt på Date- eller TimeValue-formatet som ønskes konvertert til et JS Date-objekt
|
|
115
108
|
* @param {string} timeZoneForCalendarDateTime Tidssonen value er i. Fungerer kun med typen er CalendarDateTime
|
|
116
|
-
* @returns {Date} et Date-objekt med verdier fra time
|
|
109
|
+
* @returns {Date | null} et Date-objekt med verdier fra time eller null
|
|
117
110
|
*/
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
//
|
|
121
|
-
if (!value
|
|
122
|
-
// type is Time
|
|
111
|
+
function timeOrDateValueToNativeDate(value, timeZoneForCalendarDateTime) {
|
|
112
|
+
if (value === null) return null;
|
|
113
|
+
// type is Time
|
|
114
|
+
if (!('day' in value)) {
|
|
123
115
|
var date = new Date();
|
|
124
|
-
// @ts-expect-error hour does not exist on CalendarDate
|
|
125
116
|
date.setHours(value.hour);
|
|
126
|
-
// @ts-expect-error minute does not exist on CalendarDate
|
|
127
117
|
date.setMinutes(value.minute);
|
|
128
|
-
// @ts-expect-error second does not exist on CalendarDate
|
|
129
118
|
date.setSeconds(value.second);
|
|
130
119
|
return date;
|
|
131
120
|
}
|
|
132
|
-
//
|
|
133
|
-
if (!value
|
|
134
|
-
// type is CalendarDate
|
|
135
|
-
// @ts-expect-error .toDate(timeZone) does not exist in type Time
|
|
121
|
+
// type is CalendarDate
|
|
122
|
+
if (!('hour' in value)) {
|
|
136
123
|
return value.toDate(timeZoneForCalendarDateTime != null ? timeZoneForCalendarDateTime : getLocalTimeZone());
|
|
137
124
|
}
|
|
138
|
-
//
|
|
139
|
-
if (!value
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
// @ts-expect-error .toDate(timeZone) does not exist in type Time
|
|
143
|
-
return value.toDate(timeZoneForCalendarDateTime);
|
|
144
|
-
return new Date(
|
|
145
|
-
// @ts-expect-error not in type Time
|
|
146
|
-
value.year,
|
|
147
|
-
// @ts-expect-error not in type Time
|
|
148
|
-
value.month - 1,
|
|
149
|
-
// @ts-expect-error not in type Time
|
|
150
|
-
value.day,
|
|
151
|
-
// @ts-expect-error not in type CalendarDate
|
|
152
|
-
value.hour,
|
|
153
|
-
// @ts-expect-error not in type CalendarDate
|
|
154
|
-
value.minute,
|
|
155
|
-
// @ts-expect-error not in type CalendarDate
|
|
156
|
-
value.second);
|
|
125
|
+
// type is CalendarDateTime
|
|
126
|
+
if (!('timeZone' in value)) {
|
|
127
|
+
if (timeZoneForCalendarDateTime) return value.toDate(timeZoneForCalendarDateTime);
|
|
128
|
+
return new Date(value.year, value.month - 1, value.day, value.hour, value.minute, value.second);
|
|
157
129
|
}
|
|
158
|
-
//
|
|
130
|
+
// type is ZonedDateTime
|
|
159
131
|
return value.toDate();
|
|
160
|
-
}
|
|
132
|
+
}
|
|
161
133
|
var createCalendar = function createCalendar(identifier) {
|
|
162
134
|
if (identifier === void 0) {
|
|
163
135
|
identifier = 'gregory';
|
|
@@ -173,10 +145,18 @@ var ariaLabelIfNorwegian = function ariaLabelIfNorwegian(norwegianAriaLabel, loc
|
|
|
173
145
|
if (locale.toLowerCase() !== 'no-no') return propsCollection['aria-label'];
|
|
174
146
|
return norwegianAriaLabel;
|
|
175
147
|
};
|
|
148
|
+
var lastMillisecondOfDay = function lastMillisecondOfDay(dateValue) {
|
|
149
|
+
return toCalendarDateTime(dateValue.add({
|
|
150
|
+
days: 1
|
|
151
|
+
})).add({
|
|
152
|
+
milliseconds: -1
|
|
153
|
+
});
|
|
154
|
+
};
|
|
176
155
|
|
|
177
|
-
var _excluded$9 = ["selectedDate", "label", "locale", "showTimeZone", "showTime", "granularity", "disabled", "variant", "feedback", "validationVariant", "validationFeedback", "labelTooltip", "minDate", "maxDate", "style", "className", "labelProps", "append"];
|
|
156
|
+
var _excluded$9 = ["selectedDate", "onChange", "label", "locale", "showTimeZone", "showTime", "granularity", "disabled", "isDisabled", "variant", "feedback", "validationVariant", "validationFeedback", "labelTooltip", "minDate", "maxDate", "style", "className", "labelProps", "append"];
|
|
178
157
|
var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
179
|
-
var
|
|
158
|
+
var selectedDate = _ref.selectedDate,
|
|
159
|
+
onChange = _ref.onChange,
|
|
180
160
|
label = _ref.label,
|
|
181
161
|
customLocale = _ref.locale,
|
|
182
162
|
showTimeZone = _ref.showTimeZone,
|
|
@@ -184,6 +164,7 @@ var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
184
164
|
_ref$granularity = _ref.granularity,
|
|
185
165
|
granularity = _ref$granularity === void 0 ? 'day' : _ref$granularity,
|
|
186
166
|
disabled = _ref.disabled,
|
|
167
|
+
isDisabled = _ref.isDisabled,
|
|
187
168
|
variant = _ref.variant,
|
|
188
169
|
feedback = _ref.feedback,
|
|
189
170
|
_ref$validationVarian = _ref.validationVariant,
|
|
@@ -191,8 +172,8 @@ var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
191
172
|
_ref$validationFeedba = _ref.validationFeedback,
|
|
192
173
|
validationFeedback = _ref$validationFeedba === void 0 ? 'Ugyldig dato' : _ref$validationFeedba,
|
|
193
174
|
labelTooltip = _ref.labelTooltip,
|
|
194
|
-
|
|
195
|
-
|
|
175
|
+
minDate = _ref.minDate,
|
|
176
|
+
maxDate = _ref.maxDate,
|
|
196
177
|
style = _ref.style,
|
|
197
178
|
className = _ref.className,
|
|
198
179
|
parentLabelProps = _ref.labelProps,
|
|
@@ -203,16 +184,19 @@ var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
203
184
|
var state = useDateFieldState(_extends({}, rest, {
|
|
204
185
|
locale: customLocale != null ? customLocale : locale,
|
|
205
186
|
createCalendar: createCalendar,
|
|
206
|
-
value:
|
|
187
|
+
value: selectedDate,
|
|
188
|
+
onChange: onChange,
|
|
207
189
|
hideTimeZone: !showTimeZone,
|
|
208
190
|
granularity: showTime ? 'minute' : granularity,
|
|
209
|
-
minValue:
|
|
210
|
-
|
|
191
|
+
minValue: minDate,
|
|
192
|
+
// this weird logic makes sure the entire day is included if no time is provided in maxDate
|
|
193
|
+
maxValue: 'hour' in (maxDate != null ? maxDate : {}) ? maxDate : maxDate !== undefined ? lastMillisecondOfDay(maxDate) : undefined,
|
|
194
|
+
isDisabled: isDisabled || disabled,
|
|
195
|
+
shouldForceLeadingZeros: true
|
|
211
196
|
}));
|
|
212
197
|
var dateFieldRef = useRef(null);
|
|
213
198
|
var _useDateField = useDateField(_extends({}, rest, {
|
|
214
|
-
label: label
|
|
215
|
-
isDisabled: disabled || rest.isDisabled
|
|
199
|
+
label: label
|
|
216
200
|
}), state, dateFieldRef),
|
|
217
201
|
labelProps = _useDateField.labelProps,
|
|
218
202
|
fieldProps = _useDateField.fieldProps;
|
|
@@ -229,7 +213,7 @@ var DateField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
229
213
|
className: classNames('eds-datefield', className),
|
|
230
214
|
labelId: id,
|
|
231
215
|
ref: mergeRefs(dateFieldRef, ref),
|
|
232
|
-
disabled:
|
|
216
|
+
disabled: isDisabled || disabled,
|
|
233
217
|
disableLabelAnimation: true,
|
|
234
218
|
label: label,
|
|
235
219
|
labelTooltip: labelTooltip,
|
|
@@ -367,10 +351,13 @@ var CalendarGrid = function CalendarGrid(_ref) {
|
|
|
367
351
|
}, getNavigationDescription()));
|
|
368
352
|
};
|
|
369
353
|
|
|
370
|
-
var _excluded$5 = ["selectedDate", "onChange", "locale", "style", "children", "navigationDescription", "onSelectedCellClick"];
|
|
354
|
+
var _excluded$5 = ["selectedDate", "onChange", "locale", "minDate", "maxDate", "style", "children", "navigationDescription", "onSelectedCellClick"];
|
|
371
355
|
var Calendar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
372
|
-
var
|
|
356
|
+
var selectedDate = _ref.selectedDate,
|
|
357
|
+
onChange = _ref.onChange,
|
|
373
358
|
customLocale = _ref.locale,
|
|
359
|
+
minDate = _ref.minDate,
|
|
360
|
+
maxDate = _ref.maxDate,
|
|
374
361
|
style = _ref.style,
|
|
375
362
|
navigationDescription = _ref.navigationDescription,
|
|
376
363
|
_ref$onSelectedCellCl = _ref.onSelectedCellClick,
|
|
@@ -381,9 +368,12 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
381
368
|
var _useLocale = useLocale(),
|
|
382
369
|
locale = _useLocale.locale;
|
|
383
370
|
var state = useCalendarState(_extends({}, rest, {
|
|
371
|
+
value: selectedDate,
|
|
384
372
|
onChange: onChange,
|
|
385
373
|
locale: customLocale != null ? customLocale : locale,
|
|
386
|
-
createCalendar: createCalendar
|
|
374
|
+
createCalendar: createCalendar,
|
|
375
|
+
minValue: minDate,
|
|
376
|
+
maxValue: maxDate
|
|
387
377
|
}));
|
|
388
378
|
var _useCalendar = useCalendar(rest, state),
|
|
389
379
|
calendarProps = _useCalendar.calendarProps,
|
|
@@ -420,10 +410,10 @@ var Calendar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
420
410
|
|
|
421
411
|
var _excluded$4 = ["selectedDate", "onChange", "locale", "disabled", "showTime", "showTimeZone", "className", "style", "variant", "feedback", "validationVariant", "validationFeedback", "disableModal", "labelTooltip", "navigationDescription", "minDate", "maxDate", "modalTreshold"];
|
|
422
412
|
var DatePicker = function DatePicker(_ref) {
|
|
423
|
-
var
|
|
413
|
+
var selectedDate = _ref.selectedDate,
|
|
424
414
|
onChange = _ref.onChange,
|
|
425
415
|
locale = _ref.locale,
|
|
426
|
-
|
|
416
|
+
disabled = _ref.disabled,
|
|
427
417
|
showTime = _ref.showTime,
|
|
428
418
|
_ref$showTimeZone = _ref.showTimeZone,
|
|
429
419
|
showTimeZone = _ref$showTimeZone === void 0 ? false : _ref$showTimeZone,
|
|
@@ -436,8 +426,8 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
436
426
|
disableModal = _ref$disableModal === void 0 ? false : _ref$disableModal,
|
|
437
427
|
labelTooltip = _ref.labelTooltip,
|
|
438
428
|
navigationDescription = _ref.navigationDescription,
|
|
439
|
-
|
|
440
|
-
|
|
429
|
+
minDate = _ref.minDate,
|
|
430
|
+
maxDate = _ref.maxDate,
|
|
441
431
|
_ref$modalTreshold = _ref.modalTreshold,
|
|
442
432
|
modalTreshold = _ref$modalTreshold === void 0 ? 1000 : _ref$modalTreshold,
|
|
443
433
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
|
|
@@ -448,17 +438,15 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
448
438
|
var _useWindowDimensions = useWindowDimensions(),
|
|
449
439
|
width = _useWindowDimensions.width;
|
|
450
440
|
var state = useDatePickerState(_extends({}, rest, {
|
|
451
|
-
minValue:
|
|
452
|
-
|
|
453
|
-
|
|
441
|
+
minValue: minDate,
|
|
442
|
+
// this weird logic makes sure the entire day is included if no time is provided in maxDate
|
|
443
|
+
maxValue: 'hour' in (maxDate != null ? maxDate : {}) ? maxDate : maxDate !== undefined ? lastMillisecondOfDay(maxDate) : undefined,
|
|
444
|
+
value: selectedDate,
|
|
454
445
|
onChange: onChange,
|
|
455
|
-
granularity: showTime ? 'minute' : rest.granularity
|
|
446
|
+
granularity: showTime ? 'minute' : rest.granularity,
|
|
447
|
+
isDisabled: disabled
|
|
456
448
|
}));
|
|
457
|
-
var _useDatePicker = useDatePicker(_extends({
|
|
458
|
-
isDisabled: isDisabled,
|
|
459
|
-
minValue: minValue,
|
|
460
|
-
maxValue: maxValue
|
|
461
|
-
}, rest), state, datePickerRef),
|
|
449
|
+
var _useDatePicker = useDatePicker(_extends({}, rest), state, datePickerRef),
|
|
462
450
|
groupProps = _useDatePicker.groupProps,
|
|
463
451
|
labelProps = _useDatePicker.labelProps,
|
|
464
452
|
fieldProps = _useDatePicker.fieldProps,
|
|
@@ -478,12 +466,6 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
478
466
|
reference = _useFloating.reference,
|
|
479
467
|
floating = _useFloating.floating,
|
|
480
468
|
strategy = _useFloating.strategy;
|
|
481
|
-
var onChangeCalendar = function onChangeCalendar(newSelectedDate) {
|
|
482
|
-
// Necessary to avoid state update on unmounted component
|
|
483
|
-
requestAnimationFrame(function () {
|
|
484
|
-
calendarProps.onChange && calendarProps.onChange(newSelectedDate);
|
|
485
|
-
});
|
|
486
|
-
};
|
|
487
469
|
useOnClickOutside([calendarRef], function () {
|
|
488
470
|
state.setOpen(false);
|
|
489
471
|
});
|
|
@@ -491,13 +473,17 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
491
473
|
state.setOpen(false);
|
|
492
474
|
});
|
|
493
475
|
var calendarSharedProps = _extends({}, dialogProps, calendarProps, {
|
|
494
|
-
disabled:
|
|
476
|
+
disabled: disabled,
|
|
495
477
|
navigationDescription: navigationDescription,
|
|
496
478
|
onSelectedCellClick: function onSelectedCellClick() {
|
|
497
479
|
return state.setOpen(false);
|
|
498
480
|
},
|
|
499
|
-
|
|
500
|
-
|
|
481
|
+
selectedDate: selectedDate,
|
|
482
|
+
onChange: onChange,
|
|
483
|
+
minDate: minDate,
|
|
484
|
+
maxDate: maxDate,
|
|
485
|
+
granularity: showTime ? 'minute' : rest.granularity,
|
|
486
|
+
ref: calendarRef
|
|
501
487
|
});
|
|
502
488
|
var useModal = typeof width !== 'undefined' && width <= CALENDAR_MODAL_MAX_SCREEN_WIDTH && !disableModal;
|
|
503
489
|
var popoverCalendar = React.createElement("div", {
|
|
@@ -514,9 +500,7 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
514
500
|
}, React.createElement(FocusLock, {
|
|
515
501
|
disabled: !state.isOpen || useModal,
|
|
516
502
|
returnFocus: true
|
|
517
|
-
}, state.isOpen && React.createElement(Calendar, _extends({}, calendarSharedProps
|
|
518
|
-
ref: calendarRef
|
|
519
|
-
}))));
|
|
503
|
+
}, state.isOpen && React.createElement(Calendar, _extends({}, calendarSharedProps))));
|
|
520
504
|
var modalCalendar = React.createElement(Modal, {
|
|
521
505
|
size: "small",
|
|
522
506
|
title: "",
|
|
@@ -524,7 +508,6 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
524
508
|
onDismiss: function onDismiss() {
|
|
525
509
|
return state.setOpen(false);
|
|
526
510
|
},
|
|
527
|
-
closeOnClickOutside: true,
|
|
528
511
|
className: "eds-datepicker__calendar-modal"
|
|
529
512
|
}, React.createElement(Calendar, _extends({}, calendarSharedProps)));
|
|
530
513
|
return React.createElement(ConditionalWrapper, {
|
|
@@ -544,9 +527,13 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
544
527
|
id: undefined,
|
|
545
528
|
className: "eds-datepicker__datefield__wrapper"
|
|
546
529
|
}), React.createElement(DateField, _extends({}, fieldProps, {
|
|
547
|
-
selectedDate:
|
|
530
|
+
selectedDate: selectedDate,
|
|
531
|
+
onChange: onChange,
|
|
548
532
|
label: rest.label,
|
|
549
533
|
labelProps: labelProps,
|
|
534
|
+
disabled: disabled,
|
|
535
|
+
minDate: minDate,
|
|
536
|
+
maxDate: maxDate,
|
|
550
537
|
showTime: showTime,
|
|
551
538
|
showTimeZone: showTimeZone,
|
|
552
539
|
ref: dateFieldRef,
|
|
@@ -556,9 +543,9 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
556
543
|
validationFeedback: validationFeedback,
|
|
557
544
|
labelTooltip: labelTooltip,
|
|
558
545
|
className: classNames('eds-datepicker__datefield', {
|
|
559
|
-
'eds-datepicker__datefield--disabled':
|
|
546
|
+
'eds-datepicker__datefield--disabled': disabled
|
|
560
547
|
})
|
|
561
|
-
})), !
|
|
548
|
+
})), !disabled && React.createElement(CalendarButton, _extends({}, buttonProps, {
|
|
562
549
|
onPress: function onPress() {
|
|
563
550
|
return state.setOpen(!state.isOpen);
|
|
564
551
|
},
|
|
@@ -684,9 +671,10 @@ var TimePicker = function TimePicker(_ref) {
|
|
|
684
671
|
onChange: onChange,
|
|
685
672
|
label: label,
|
|
686
673
|
locale: locale,
|
|
687
|
-
value: selectedTime
|
|
674
|
+
value: selectedTime,
|
|
688
675
|
hideTimeZone: !showTimeZone,
|
|
689
|
-
isDisabled: disabled
|
|
676
|
+
isDisabled: disabled,
|
|
677
|
+
shouldForceLeadingZeros: true
|
|
690
678
|
}, rest));
|
|
691
679
|
var timeFieldRef = useRef(null);
|
|
692
680
|
var _useTimeField = useTimeField(_extends({}, rest, {
|
|
@@ -717,8 +705,7 @@ var TimePicker = function TimePicker(_ref) {
|
|
|
717
705
|
onChange(newTime);
|
|
718
706
|
};
|
|
719
707
|
var addMinutesToSelectedTime = function addMinutesToSelectedTime(minutes) {
|
|
720
|
-
|
|
721
|
-
state.value && state.setValue((_state$value = state.value) == null ? void 0 : _state$value.add({
|
|
708
|
+
selectedTime !== null && onChange(selectedTime.add({
|
|
722
709
|
minutes: minutes
|
|
723
710
|
}));
|
|
724
711
|
};
|
|
@@ -867,7 +854,7 @@ var SimpleTimePicker = function SimpleTimePicker(_ref) {
|
|
|
867
854
|
onChange: onChange,
|
|
868
855
|
label: label,
|
|
869
856
|
locale: locale,
|
|
870
|
-
value: selectedTime
|
|
857
|
+
value: selectedTime,
|
|
871
858
|
hideTimeZone: true,
|
|
872
859
|
isDisabled: disabled,
|
|
873
860
|
isReadOnly: readOnly
|
|
@@ -1022,5 +1009,5 @@ var SimpleTimePicker = function SimpleTimePicker(_ref) {
|
|
|
1022
1009
|
|
|
1023
1010
|
warnAboutMissingStyles('datepicker', 'form', 'icons');
|
|
1024
1011
|
|
|
1025
|
-
export { Calendar, DateField, DatePicker, NativeDatePicker, NativeTimePicker, SimpleTimePicker, TimePicker, ariaLabelIfNorwegian, createCalendar, nativeDateToDateValue, nativeDateToTimeValue, timeOrDateValueToNativeDate };
|
|
1012
|
+
export { Calendar, DateField, DatePicker, NativeDatePicker, NativeTimePicker, SimpleTimePicker, TimePicker, ariaLabelIfNorwegian, createCalendar, lastMillisecondOfDay, nativeDateToDateValue, nativeDateToTimeValue, timeOrDateValueToNativeDate };
|
|
1026
1013
|
//# sourceMappingURL=datepicker.esm.js.map
|