@instructure/ui-date-time-input 8.56.2-pr-snapshot-1721749364069 → 8.56.2-snapshot-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,7 +3,7 @@
|
|
|
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
|
-
## [8.56.2-
|
|
6
|
+
## [8.56.2-snapshot-2](https://github.com/instructure/instructure-ui/compare/v8.56.1...v8.56.2-snapshot-2) (2024-08-06)
|
|
7
7
|
|
|
8
8
|
**Note:** Version bump only for package @instructure/ui-date-time-input
|
|
9
9
|
|
|
@@ -6,7 +6,8 @@ var _react2 = require("@testing-library/react");
|
|
|
6
6
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
7
7
|
require("@testing-library/jest-dom");
|
|
8
8
|
var _index = require("../index");
|
|
9
|
-
var
|
|
9
|
+
var _ApplyLocale = require("@instructure/ui-i18n/lib/ApplyLocale");
|
|
10
|
+
var _DateTime = require("@instructure/ui-i18n/lib/DateTime.js");
|
|
10
11
|
var _DateTimeInput, _DateTimeInput2, _DateTimeInput3;
|
|
11
12
|
/*
|
|
12
13
|
* The MIT License (MIT)
|
|
@@ -43,7 +44,7 @@ describe('<DateTimeInput />', () => {
|
|
|
43
44
|
it('should use the default value', () => {
|
|
44
45
|
const locale = 'en-US';
|
|
45
46
|
const timezone = 'US/Eastern';
|
|
46
|
-
const dateTime =
|
|
47
|
+
const dateTime = _DateTime.DateTime.parse('2017-05-01T17:30Z', locale, timezone);
|
|
47
48
|
(0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.DateTimeInput, {
|
|
48
49
|
description: "date_time",
|
|
49
50
|
prevMonthLabel: "Previous month",
|
|
@@ -64,7 +65,7 @@ describe('<DateTimeInput />', () => {
|
|
|
64
65
|
const onChange = jest.fn();
|
|
65
66
|
const locale = 'en-US';
|
|
66
67
|
const timezone = 'US/Eastern';
|
|
67
|
-
const dateTime =
|
|
68
|
+
const dateTime = _DateTime.DateTime.parse('2017-05-01T23:30Z', locale, timezone);
|
|
68
69
|
(0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.DateTimeInput, {
|
|
69
70
|
description: "date_time",
|
|
70
71
|
prevMonthLabel: "Previous month",
|
|
@@ -85,8 +86,8 @@ describe('<DateTimeInput />', () => {
|
|
|
85
86
|
it('should prefer value to defaultValue', () => {
|
|
86
87
|
const locale = 'en-US';
|
|
87
88
|
const timezone = 'US/Eastern';
|
|
88
|
-
const value =
|
|
89
|
-
const defaultValue =
|
|
89
|
+
const value = _DateTime.DateTime.parse('2017-05-01T17:30Z', locale, timezone);
|
|
90
|
+
const defaultValue = _DateTime.DateTime.parse('2016-04-01T17:00Z', locale, timezone);
|
|
90
91
|
const onChange = jest.fn();
|
|
91
92
|
(0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.DateTimeInput, {
|
|
92
93
|
description: "date_time",
|
|
@@ -109,7 +110,7 @@ describe('<DateTimeInput />', () => {
|
|
|
109
110
|
it('should set time to local midnight when only date is set', () => {
|
|
110
111
|
const locale = 'en-US';
|
|
111
112
|
const timezone = 'US/Eastern';
|
|
112
|
-
const dateObj =
|
|
113
|
+
const dateObj = _DateTime.DateTime.parse('2017-04-01T18:30Z', locale, timezone);
|
|
113
114
|
const date = dateObj.toISOString().split('T')[0];
|
|
114
115
|
(0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.DateTimeInput, {
|
|
115
116
|
description: "date_time",
|
|
@@ -173,7 +174,7 @@ describe('<DateTimeInput />', () => {
|
|
|
173
174
|
const onChange = jest.fn();
|
|
174
175
|
const locale = 'en-US';
|
|
175
176
|
const timezone = 'US/Eastern';
|
|
176
|
-
const defaultValue =
|
|
177
|
+
const defaultValue = _DateTime.DateTime.parse('2017-05-01T17:00', locale, timezone);
|
|
177
178
|
(0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.DateTimeInput, {
|
|
178
179
|
description: "date_time",
|
|
179
180
|
dateRenderLabel: "date-input",
|
|
@@ -231,7 +232,7 @@ describe('<DateTimeInput />', () => {
|
|
|
231
232
|
it('should show the formatted date-time message', () => {
|
|
232
233
|
const locale = 'en-US';
|
|
233
234
|
const timezone = 'US/Eastern';
|
|
234
|
-
const defaultValue =
|
|
235
|
+
const defaultValue = _DateTime.DateTime.parse('2017-05-01T17:30Z', locale, timezone);
|
|
235
236
|
const _render3 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.DateTimeInput, {
|
|
236
237
|
description: "date_time",
|
|
237
238
|
dateRenderLabel: "date-input",
|
|
@@ -249,7 +250,7 @@ describe('<DateTimeInput />', () => {
|
|
|
249
250
|
it('should show the formatted date-time message in the proper locale', () => {
|
|
250
251
|
const timezone = 'US/Eastern';
|
|
251
252
|
const locale = 'fr';
|
|
252
|
-
const defaultValue =
|
|
253
|
+
const defaultValue = _DateTime.DateTime.parse('2017-05-01T17:30Z', locale, timezone);
|
|
253
254
|
const _render4 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.DateTimeInput, {
|
|
254
255
|
description: "date_time",
|
|
255
256
|
dateRenderLabel: "date-input",
|
|
@@ -292,7 +293,7 @@ describe('<DateTimeInput />', () => {
|
|
|
292
293
|
const onChange = jest.fn();
|
|
293
294
|
const locale = 'en-US';
|
|
294
295
|
const timezone = 'US/Eastern';
|
|
295
|
-
const dateTime =
|
|
296
|
+
const dateTime = _DateTime.DateTime.parse('2017-05-01T17:30Z', locale, timezone);
|
|
296
297
|
const props = {
|
|
297
298
|
description: 'date_time',
|
|
298
299
|
prevMonthLabel: 'Previous month',
|
|
@@ -318,7 +319,7 @@ describe('<DateTimeInput />', () => {
|
|
|
318
319
|
const onChange = jest.fn();
|
|
319
320
|
const locale = 'en-US';
|
|
320
321
|
const timezone = 'US/Eastern';
|
|
321
|
-
const dateTime =
|
|
322
|
+
const dateTime = _DateTime.DateTime.parse('2017-05-01T17:30Z', locale, timezone);
|
|
322
323
|
const props = {
|
|
323
324
|
description: 'date_time',
|
|
324
325
|
dateRenderLabel: 'date-input',
|
|
@@ -344,7 +345,7 @@ describe('<DateTimeInput />', () => {
|
|
|
344
345
|
const onChange = jest.fn();
|
|
345
346
|
const locale = 'en-US';
|
|
346
347
|
const timezone = 'US/Eastern';
|
|
347
|
-
const dateTime =
|
|
348
|
+
const dateTime = _DateTime.DateTime.parse('2017-05-01T17:30Z', locale, timezone);
|
|
348
349
|
const props = {
|
|
349
350
|
description: 'date_time',
|
|
350
351
|
dateRenderLabel: 'date-input',
|
|
@@ -403,7 +404,7 @@ describe('<DateTimeInput />', () => {
|
|
|
403
404
|
it('should update error message when value is invalid', async () => {
|
|
404
405
|
const locale = 'en-US';
|
|
405
406
|
const timezone = 'US/Eastern';
|
|
406
|
-
const dateTime =
|
|
407
|
+
const dateTime = _DateTime.DateTime.parse('2017-05-01T17:30Z', locale, timezone);
|
|
407
408
|
const props = {
|
|
408
409
|
description: 'date_time',
|
|
409
410
|
dateRenderLabel: 'date-input',
|
|
@@ -431,7 +432,7 @@ describe('<DateTimeInput />', () => {
|
|
|
431
432
|
it('should show supplied message', async () => {
|
|
432
433
|
const locale = 'en-US';
|
|
433
434
|
const timezone = 'US/Eastern';
|
|
434
|
-
const dateTime =
|
|
435
|
+
const dateTime = _DateTime.DateTime.parse('2017-05-01T17:30Z', locale, timezone);
|
|
435
436
|
const props = {
|
|
436
437
|
description: 'date_time',
|
|
437
438
|
dateRenderLabel: 'date-input',
|
|
@@ -463,7 +464,7 @@ describe('<DateTimeInput />', () => {
|
|
|
463
464
|
it('should not show built in message when `showMessages` is false', async () => {
|
|
464
465
|
const locale = 'en-US';
|
|
465
466
|
const timezone = 'US/Eastern';
|
|
466
|
-
const dateTime =
|
|
467
|
+
const dateTime = _DateTime.DateTime.parse('2017-05-01T17:30Z', locale, timezone);
|
|
467
468
|
const props = {
|
|
468
469
|
description: 'date_time',
|
|
469
470
|
dateRenderLabel: 'date-input',
|
|
@@ -509,11 +510,11 @@ describe('<DateTimeInput />', () => {
|
|
|
509
510
|
});
|
|
510
511
|
it('should read locale and timezone from context', () => {
|
|
511
512
|
const onChange = jest.fn();
|
|
512
|
-
const dateTime =
|
|
513
|
+
const dateTime = _DateTime.DateTime.parse('2017-05-01T17:30Z', 'en-US', 'GMT');
|
|
513
514
|
const _render13 = (0, _react2.render)(
|
|
514
515
|
/*#__PURE__*/
|
|
515
516
|
// Africa/Nairobi is GMT +3
|
|
516
|
-
_react.default.createElement(
|
|
517
|
+
_react.default.createElement(_ApplyLocale.ApplyLocale, {
|
|
517
518
|
locale: "fr",
|
|
518
519
|
timezone: "Africa/Nairobi"
|
|
519
520
|
}, /*#__PURE__*/_react.default.createElement(_index.DateTimeInput, {
|
|
@@ -531,7 +532,7 @@ describe('<DateTimeInput />', () => {
|
|
|
531
532
|
});
|
|
532
533
|
it('should format date according to dateFormat', async () => {
|
|
533
534
|
const onChange = jest.fn();
|
|
534
|
-
const dateTime =
|
|
535
|
+
const dateTime = _DateTime.DateTime.parse('2017-05-01T17:30Z', 'en-US', 'GMT');
|
|
535
536
|
const props = {
|
|
536
537
|
description: 'date_time',
|
|
537
538
|
dateRenderLabel: 'date-input',
|
|
@@ -558,7 +559,7 @@ describe('<DateTimeInput />', () => {
|
|
|
558
559
|
});
|
|
559
560
|
it('should format bottom message according to messageFormat', async () => {
|
|
560
561
|
const onChange = jest.fn();
|
|
561
|
-
const dateTime =
|
|
562
|
+
const dateTime = _DateTime.DateTime.parse('2017-05-01T17:30Z', 'en-US', 'GMT');
|
|
562
563
|
const props = {
|
|
563
564
|
description: 'date_time',
|
|
564
565
|
dateRenderLabel: 'date-input',
|
|
@@ -586,7 +587,7 @@ describe('<DateTimeInput />', () => {
|
|
|
586
587
|
it('should update Date and Time inputs when value prop changes', async () => {
|
|
587
588
|
const locale = 'en-US';
|
|
588
589
|
const timezone = 'US/Eastern';
|
|
589
|
-
const dateTime =
|
|
590
|
+
const dateTime = _DateTime.DateTime.parse('2017-05-01T17:30Z', locale, timezone);
|
|
590
591
|
const props = {
|
|
591
592
|
description: 'date_time',
|
|
592
593
|
dateRenderLabel: 'date-input',
|
|
@@ -603,7 +604,7 @@ describe('<DateTimeInput />', () => {
|
|
|
603
604
|
rerender = _render16.rerender;
|
|
604
605
|
expect(container).toHaveTextContent('May 1, 2017 1:30 PM');
|
|
605
606
|
const newDateStr = '2022-03-29T19:00Z';
|
|
606
|
-
const newDateTime =
|
|
607
|
+
const newDateTime = _DateTime.DateTime.parse(newDateStr, locale, timezone);
|
|
607
608
|
rerender( /*#__PURE__*/_react.default.createElement(_index.DateTimeInput, Object.assign({}, props, {
|
|
608
609
|
value: newDateStr
|
|
609
610
|
})));
|
|
@@ -6,15 +6,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = exports.DateTimeInput = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
var
|
|
9
|
+
var _Locale = require("@instructure/ui-i18n/lib/Locale.js");
|
|
10
|
+
var _DateTime = require("@instructure/ui-i18n/lib/DateTime.js");
|
|
11
|
+
var _ApplyLocaleContext = require("@instructure/ui-i18n/lib/ApplyLocale/ApplyLocaleContext.js");
|
|
12
|
+
var _FormFieldGroup = require("@instructure/ui-form-field/lib/FormFieldGroup");
|
|
13
|
+
var _DateInput = require("@instructure/ui-date-input/lib/DateInput");
|
|
14
|
+
var _TimeSelect = require("@instructure/ui-time-select/lib/TimeSelect");
|
|
15
|
+
var _Calendar = require("@instructure/ui-calendar/lib/Calendar");
|
|
16
|
+
var _testable = require("@instructure/ui-testable/lib/testable.js");
|
|
17
|
+
var _AccessibleContent = require("@instructure/ui-a11y-content/lib/AccessibleContent");
|
|
18
|
+
var _IconButton = require("@instructure/ui-buttons/lib/IconButton");
|
|
19
|
+
var _IconArrowOpenEndSolid = require("@instructure/ui-icons/lib/IconArrowOpenEndSolid.js");
|
|
20
|
+
var _IconArrowOpenStartSolid = require("@instructure/ui-icons/lib/IconArrowOpenStartSolid.js");
|
|
18
21
|
var _props = require("./props");
|
|
19
22
|
var _console = require("@instructure/console");
|
|
20
23
|
var _dec, _class, _class2, _IconArrowOpenStartSo, _IconArrowOpenEndSoli;
|
|
@@ -46,7 +49,7 @@ var _dec, _class, _class2, _IconArrowOpenStartSo, _IconArrowOpenEndSoli;
|
|
|
46
49
|
category: components
|
|
47
50
|
---
|
|
48
51
|
**/
|
|
49
|
-
let DateTimeInput = exports.DateTimeInput = (_dec = (0,
|
|
52
|
+
let DateTimeInput = exports.DateTimeInput = (_dec = (0, _testable.testable)(), _dec(_class = (_class2 = class DateTimeInput extends _react.Component {
|
|
50
53
|
constructor(props) {
|
|
51
54
|
super(props);
|
|
52
55
|
// State needs to be calculated because render could be called before
|
|
@@ -64,14 +67,14 @@ let DateTimeInput = exports.DateTimeInput = (_dec = (0, _uiTestable.testable)(),
|
|
|
64
67
|
dateInputText: date.value,
|
|
65
68
|
dateInputTextChanged: true,
|
|
66
69
|
calendarSelectedDate: dateParsed ? dateParsed : void 0,
|
|
67
|
-
renderedDate: dateParsed ? dateParsed.clone() :
|
|
70
|
+
renderedDate: dateParsed ? dateParsed.clone() : _DateTime.DateTime.now(this.locale(), this.timezone())
|
|
68
71
|
});
|
|
69
72
|
};
|
|
70
73
|
// date is returned es a ISO string, like 2021-09-14T22:00:00.000Z
|
|
71
74
|
this.handleDayClick = (event, {
|
|
72
75
|
date
|
|
73
76
|
}) => {
|
|
74
|
-
const dateParsed =
|
|
77
|
+
const dateParsed = _DateTime.DateTime.parse(date, this.locale(), this.timezone());
|
|
75
78
|
this.updateStateBasedOnDateInput(dateParsed, event);
|
|
76
79
|
};
|
|
77
80
|
this.handleHideCalendar = event => {
|
|
@@ -151,7 +154,7 @@ let DateTimeInput = exports.DateTimeInput = (_dec = (0, _uiTestable.testable)(),
|
|
|
151
154
|
} else if (this.state.iso) {
|
|
152
155
|
toAlter = this.state.iso.clone();
|
|
153
156
|
} else {
|
|
154
|
-
toAlter =
|
|
157
|
+
toAlter = _DateTime.DateTime.now(this.locale(), this.timezone());
|
|
155
158
|
}
|
|
156
159
|
toAlter.add({
|
|
157
160
|
days: 1
|
|
@@ -168,7 +171,7 @@ let DateTimeInput = exports.DateTimeInput = (_dec = (0, _uiTestable.testable)(),
|
|
|
168
171
|
} else if (this.state.iso) {
|
|
169
172
|
toAlter = this.state.iso.clone();
|
|
170
173
|
} else {
|
|
171
|
-
toAlter =
|
|
174
|
+
toAlter = _DateTime.DateTime.now(this.locale(), this.timezone());
|
|
172
175
|
}
|
|
173
176
|
toAlter.subtract({
|
|
174
177
|
days: 1
|
|
@@ -216,12 +219,12 @@ let DateTimeInput = exports.DateTimeInput = (_dec = (0, _uiTestable.testable)(),
|
|
|
216
219
|
recalculateState(dateStr, doNotChangeDate = false, doNotChangeTime = false) {
|
|
217
220
|
let errorMsg;
|
|
218
221
|
if (dateStr) {
|
|
219
|
-
const parsed =
|
|
222
|
+
const parsed = _DateTime.DateTime.parse(dateStr, this.locale(), this.timezone());
|
|
220
223
|
if (parsed.isValid()) {
|
|
221
224
|
var _this$state;
|
|
222
225
|
if (doNotChangeTime && this.state.timeSelectValue) {
|
|
223
226
|
// There is a selected time, adjust the parsed date to its value
|
|
224
|
-
const timeParsed =
|
|
227
|
+
const timeParsed = _DateTime.DateTime.parse(this.state.timeSelectValue, this.locale(), this.timezone());
|
|
225
228
|
parsed.hour(timeParsed.hour()).minute(timeParsed.minute());
|
|
226
229
|
}
|
|
227
230
|
if (doNotChangeDate && this.state.iso) {
|
|
@@ -281,7 +284,7 @@ let DateTimeInput = exports.DateTimeInput = (_dec = (0, _uiTestable.testable)(),
|
|
|
281
284
|
iso: void 0,
|
|
282
285
|
calendarSelectedDate: void 0,
|
|
283
286
|
dateInputText: dateStr ? dateStr : '',
|
|
284
|
-
renderedDate:
|
|
287
|
+
renderedDate: _DateTime.DateTime.now(this.locale(), this.timezone()),
|
|
285
288
|
dateInputTextChanged: false,
|
|
286
289
|
...clearTimeSelect
|
|
287
290
|
};
|
|
@@ -292,7 +295,7 @@ let DateTimeInput = exports.DateTimeInput = (_dec = (0, _uiTestable.testable)(),
|
|
|
292
295
|
} else if (this.context && this.context.locale) {
|
|
293
296
|
return this.context.locale;
|
|
294
297
|
}
|
|
295
|
-
return
|
|
298
|
+
return _Locale.Locale.browserLocale();
|
|
296
299
|
}
|
|
297
300
|
timezone() {
|
|
298
301
|
if (this.props.timezone) {
|
|
@@ -300,7 +303,7 @@ let DateTimeInput = exports.DateTimeInput = (_dec = (0, _uiTestable.testable)(),
|
|
|
300
303
|
} else if (this.context && this.context.timezone) {
|
|
301
304
|
return this.context.timezone;
|
|
302
305
|
}
|
|
303
|
-
return
|
|
306
|
+
return _DateTime.DateTime.browserTimeZone();
|
|
304
307
|
}
|
|
305
308
|
get dateFormat() {
|
|
306
309
|
return this.props.dateFormat;
|
|
@@ -321,14 +324,14 @@ let DateTimeInput = exports.DateTimeInput = (_dec = (0, _uiTestable.testable)(),
|
|
|
321
324
|
return disabledDates(date.toISOString());
|
|
322
325
|
}
|
|
323
326
|
tryParseDate(val) {
|
|
324
|
-
const parsed =
|
|
327
|
+
const parsed = _DateTime.DateTime.parse(val, this.locale(), this.timezone());
|
|
325
328
|
return parsed.isValid() ? parsed : null;
|
|
326
329
|
}
|
|
327
330
|
updateStateBasedOnDateInput(dateParsed, event) {
|
|
328
331
|
let newState;
|
|
329
332
|
if (dateParsed && this.state.timeSelectValue && (!this.state.dateInputText || this.state.dateInputText == '')) {
|
|
330
333
|
// There is already a selected time, but no date. Adjust the time too
|
|
331
|
-
const timeParsed =
|
|
334
|
+
const timeParsed = _DateTime.DateTime.parse(this.state.timeSelectValue, this.locale(), this.timezone());
|
|
332
335
|
const dateParsedAdjusted = dateParsed.set({
|
|
333
336
|
hour: timeParsed.hour(),
|
|
334
337
|
minute: timeParsed.minute()
|
|
@@ -347,9 +350,9 @@ let DateTimeInput = exports.DateTimeInput = (_dec = (0, _uiTestable.testable)(),
|
|
|
347
350
|
// Sets it to the first local day of the week counting back from the start of the month.
|
|
348
351
|
// Note that first day depends on the locale, e.g. it's Sunday in the US and
|
|
349
352
|
// Monday in most of the EU.
|
|
350
|
-
const currDate =
|
|
353
|
+
const currDate = _DateTime.DateTime.getFirstDayOfWeek(renderedDate.startOf('month'));
|
|
351
354
|
const arr = [];
|
|
352
|
-
for (let i = 0; i <
|
|
355
|
+
for (let i = 0; i < _Calendar.Calendar.DAY_COUNT; i++) {
|
|
353
356
|
arr.push(currDate.clone());
|
|
354
357
|
currDate.add({
|
|
355
358
|
days: 1
|
|
@@ -357,11 +360,11 @@ let DateTimeInput = exports.DateTimeInput = (_dec = (0, _uiTestable.testable)(),
|
|
|
357
360
|
}
|
|
358
361
|
return arr.map(date => {
|
|
359
362
|
const dateStr = date.toISOString();
|
|
360
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
363
|
+
return /*#__PURE__*/_react.default.createElement(_DateInput.DateInput.Day, {
|
|
361
364
|
key: dateStr,
|
|
362
365
|
date: dateStr,
|
|
363
366
|
isSelected: this.state.calendarSelectedDate ? date.isSame(this.state.calendarSelectedDate, 'day') : false,
|
|
364
|
-
isToday: date.isSame(
|
|
367
|
+
isToday: date.isSame(_DateTime.DateTime.now(this.locale(), this.timezone()), 'day'),
|
|
365
368
|
isOutsideMonth: !date.isSame(renderedDate, 'month'),
|
|
366
369
|
label: date.format('D MMMM YYYY') // used by screen readers
|
|
367
370
|
,
|
|
@@ -377,27 +380,27 @@ let DateTimeInput = exports.DateTimeInput = (_dec = (0, _uiTestable.testable)(),
|
|
|
377
380
|
// this is an expensive function, only execute if the calendar is open
|
|
378
381
|
return [];
|
|
379
382
|
}
|
|
380
|
-
const shortDayNames =
|
|
381
|
-
const longDayNames =
|
|
382
|
-
return [/*#__PURE__*/_react.default.createElement(
|
|
383
|
+
const shortDayNames = _DateTime.DateTime.getLocalDayNamesOfTheWeek(this.locale(), 'short');
|
|
384
|
+
const longDayNames = _DateTime.DateTime.getLocalDayNamesOfTheWeek(this.locale(), 'long');
|
|
385
|
+
return [/*#__PURE__*/_react.default.createElement(_AccessibleContent.AccessibleContent, {
|
|
383
386
|
key: 1,
|
|
384
387
|
alt: longDayNames[0]
|
|
385
|
-
}, shortDayNames[0]), /*#__PURE__*/_react.default.createElement(
|
|
388
|
+
}, shortDayNames[0]), /*#__PURE__*/_react.default.createElement(_AccessibleContent.AccessibleContent, {
|
|
386
389
|
key: 2,
|
|
387
390
|
alt: longDayNames[1]
|
|
388
|
-
}, shortDayNames[1]), /*#__PURE__*/_react.default.createElement(
|
|
391
|
+
}, shortDayNames[1]), /*#__PURE__*/_react.default.createElement(_AccessibleContent.AccessibleContent, {
|
|
389
392
|
key: 3,
|
|
390
393
|
alt: longDayNames[2]
|
|
391
|
-
}, shortDayNames[2]), /*#__PURE__*/_react.default.createElement(
|
|
394
|
+
}, shortDayNames[2]), /*#__PURE__*/_react.default.createElement(_AccessibleContent.AccessibleContent, {
|
|
392
395
|
key: 4,
|
|
393
396
|
alt: longDayNames[3]
|
|
394
|
-
}, shortDayNames[3]), /*#__PURE__*/_react.default.createElement(
|
|
397
|
+
}, shortDayNames[3]), /*#__PURE__*/_react.default.createElement(_AccessibleContent.AccessibleContent, {
|
|
395
398
|
key: 5,
|
|
396
399
|
alt: longDayNames[4]
|
|
397
|
-
}, shortDayNames[4]), /*#__PURE__*/_react.default.createElement(
|
|
400
|
+
}, shortDayNames[4]), /*#__PURE__*/_react.default.createElement(_AccessibleContent.AccessibleContent, {
|
|
398
401
|
key: 6,
|
|
399
402
|
alt: longDayNames[5]
|
|
400
|
-
}, shortDayNames[5]), /*#__PURE__*/_react.default.createElement(
|
|
403
|
+
}, shortDayNames[5]), /*#__PURE__*/_react.default.createElement(_AccessibleContent.AccessibleContent, {
|
|
401
404
|
key: 7,
|
|
402
405
|
alt: longDayNames[6]
|
|
403
406
|
}, shortDayNames[6])];
|
|
@@ -406,13 +409,13 @@ let DateTimeInput = exports.DateTimeInput = (_dec = (0, _uiTestable.testable)(),
|
|
|
406
409
|
if (!this.state.isShowingCalendar) {
|
|
407
410
|
return;
|
|
408
411
|
}
|
|
409
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
412
|
+
return /*#__PURE__*/_react.default.createElement(_IconButton.IconButton, {
|
|
410
413
|
size: "small",
|
|
411
414
|
withBackground: false,
|
|
412
415
|
withBorder: false,
|
|
413
|
-
renderIcon: type === 'prev' ? _IconArrowOpenStartSo || (_IconArrowOpenStartSo = /*#__PURE__*/_react.default.createElement(
|
|
416
|
+
renderIcon: type === 'prev' ? _IconArrowOpenStartSo || (_IconArrowOpenStartSo = /*#__PURE__*/_react.default.createElement(_IconArrowOpenStartSolid.IconArrowOpenStartSolid, {
|
|
414
417
|
color: "primary"
|
|
415
|
-
})) : _IconArrowOpenEndSoli || (_IconArrowOpenEndSoli = /*#__PURE__*/_react.default.createElement(
|
|
418
|
+
})) : _IconArrowOpenEndSoli || (_IconArrowOpenEndSoli = /*#__PURE__*/_react.default.createElement(_IconArrowOpenEndSolid.IconArrowOpenEndSolid, {
|
|
416
419
|
color: "primary"
|
|
417
420
|
})),
|
|
418
421
|
screenReaderLabel: type === 'prev' ? this.props.prevMonthLabel : this.props.nextMonthLabel
|
|
@@ -440,7 +443,7 @@ let DateTimeInput = exports.DateTimeInput = (_dec = (0, _uiTestable.testable)(),
|
|
|
440
443
|
interaction = _this$props4.interaction,
|
|
441
444
|
renderWeekdayLabels = _this$props4.renderWeekdayLabels,
|
|
442
445
|
allowNonStepInput = _this$props4.allowNonStepInput;
|
|
443
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
446
|
+
return /*#__PURE__*/_react.default.createElement(_FormFieldGroup.FormFieldGroup, {
|
|
444
447
|
description: description,
|
|
445
448
|
layout: layout,
|
|
446
449
|
rowSpacing: rowSpacing,
|
|
@@ -448,7 +451,7 @@ let DateTimeInput = exports.DateTimeInput = (_dec = (0, _uiTestable.testable)(),
|
|
|
448
451
|
vAlign: "top",
|
|
449
452
|
elementRef: this.handleRef,
|
|
450
453
|
messages: [...(showMessages && this.state.message ? [this.state.message] : []), ...(messages || [])]
|
|
451
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
454
|
+
}, /*#__PURE__*/_react.default.createElement(_DateInput.DateInput, {
|
|
452
455
|
display: "block",
|
|
453
456
|
value: this.state.dateInputText,
|
|
454
457
|
onChange: this.handleDateTextChange,
|
|
@@ -469,7 +472,7 @@ let DateTimeInput = exports.DateTimeInput = (_dec = (0, _uiTestable.testable)(),
|
|
|
469
472
|
isRequired: isRequired,
|
|
470
473
|
interaction: interaction,
|
|
471
474
|
renderNavigationLabel: /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement("div", null, this.state.renderedDate.format('MMMM')), /*#__PURE__*/_react.default.createElement("div", null, this.state.renderedDate.format('y')))
|
|
472
|
-
}, this.renderDays()), /*#__PURE__*/_react.default.createElement(
|
|
475
|
+
}, this.renderDays()), /*#__PURE__*/_react.default.createElement(_TimeSelect.TimeSelect, {
|
|
473
476
|
value: this.state.timeSelectValue,
|
|
474
477
|
onChange: this.updateStateBasedOnTimeSelect,
|
|
475
478
|
placeholder: timePlaceholder,
|
|
@@ -495,5 +498,5 @@ let DateTimeInput = exports.DateTimeInput = (_dec = (0, _uiTestable.testable)(),
|
|
|
495
498
|
dateFormat: 'LL',
|
|
496
499
|
// Localized date with full month, e.g. "August 6, 2014"
|
|
497
500
|
allowNonStepInput: false
|
|
498
|
-
}, _class2.contextType =
|
|
501
|
+
}, _class2.contextType = _ApplyLocaleContext.ApplyLocaleContext, _class2)) || _class);
|
|
499
502
|
var _default = exports.default = DateTimeInput;
|
|
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.propTypes = exports.allowedProps = void 0;
|
|
8
|
-
var
|
|
9
|
-
var
|
|
8
|
+
var _FormPropTypes = require("@instructure/ui-form-field/lib/FormPropTypes.js");
|
|
9
|
+
var _I18nPropTypes = require("@instructure/ui-i18n/lib/I18nPropTypes.js");
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
var
|
|
11
|
+
var _controllable = require("@instructure/ui-prop-types/lib/controllable.js");
|
|
12
12
|
/*
|
|
13
13
|
* The MIT License (MIT)
|
|
14
14
|
*
|
|
@@ -58,13 +58,13 @@ const propTypes = exports.propTypes = {
|
|
|
58
58
|
timezone: _propTypes.default.string,
|
|
59
59
|
invalidDateTimeMessage: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]).isRequired,
|
|
60
60
|
showMessages: _propTypes.default.bool,
|
|
61
|
-
messages: _propTypes.default.arrayOf(
|
|
61
|
+
messages: _propTypes.default.arrayOf(_FormPropTypes.FormPropTypes.message),
|
|
62
62
|
messageFormat: _propTypes.default.string,
|
|
63
63
|
layout: _propTypes.default.oneOf(['stacked', 'columns', 'inline']),
|
|
64
64
|
rowSpacing: _propTypes.default.oneOf(['none', 'small', 'medium', 'large']),
|
|
65
65
|
colSpacing: _propTypes.default.oneOf(['none', 'small', 'medium', 'large']),
|
|
66
|
-
value: (0,
|
|
67
|
-
defaultValue:
|
|
66
|
+
value: (0, _controllable.controllable)(_I18nPropTypes.I18nPropTypes.iso8601, 'onChange'),
|
|
67
|
+
defaultValue: _I18nPropTypes.I18nPropTypes.iso8601,
|
|
68
68
|
renderWeekdayLabels: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.node])),
|
|
69
69
|
isRequired: _propTypes.default.bool,
|
|
70
70
|
onChange: _propTypes.default.func,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@instructure/ui-date-time-input",
|
|
3
|
-
"version": "8.56.2-
|
|
3
|
+
"version": "8.56.2-snapshot-2",
|
|
4
4
|
"description": "A UI component that allows to select date and time.",
|
|
5
5
|
"author": "Instructure, Inc. Engineering and Product Design",
|
|
6
6
|
"module": "./es/index.js",
|
|
@@ -23,29 +23,29 @@
|
|
|
23
23
|
},
|
|
24
24
|
"license": "MIT",
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@instructure/ui-babel-preset": "8.56.2-
|
|
27
|
-
"@instructure/ui-test-utils": "8.56.2-
|
|
26
|
+
"@instructure/ui-babel-preset": "8.56.2-snapshot-2",
|
|
27
|
+
"@instructure/ui-test-utils": "8.56.2-snapshot-2",
|
|
28
28
|
"@testing-library/jest-dom": "^6.1.4",
|
|
29
29
|
"@testing-library/react": "^14.1.2",
|
|
30
30
|
"@testing-library/user-event": "^14.5.1"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@babel/runtime": "^7.23.2",
|
|
34
|
-
"@instructure/console": "8.56.2-
|
|
35
|
-
"@instructure/debounce": "8.56.2-
|
|
36
|
-
"@instructure/emotion": "8.56.2-
|
|
37
|
-
"@instructure/ui-a11y-content": "8.56.2-
|
|
38
|
-
"@instructure/ui-buttons": "8.56.2-
|
|
39
|
-
"@instructure/ui-calendar": "8.56.2-
|
|
40
|
-
"@instructure/ui-date-input": "8.56.2-
|
|
41
|
-
"@instructure/ui-form-field": "8.56.2-
|
|
42
|
-
"@instructure/ui-i18n": "8.56.2-
|
|
43
|
-
"@instructure/ui-icons": "8.56.2-
|
|
44
|
-
"@instructure/ui-prop-types": "8.56.2-
|
|
45
|
-
"@instructure/ui-react-utils": "8.56.2-
|
|
46
|
-
"@instructure/ui-testable": "8.56.2-
|
|
47
|
-
"@instructure/ui-time-select": "8.56.2-
|
|
48
|
-
"@instructure/ui-utils": "8.56.2-
|
|
34
|
+
"@instructure/console": "8.56.2-snapshot-2",
|
|
35
|
+
"@instructure/debounce": "8.56.2-snapshot-2",
|
|
36
|
+
"@instructure/emotion": "8.56.2-snapshot-2",
|
|
37
|
+
"@instructure/ui-a11y-content": "8.56.2-snapshot-2",
|
|
38
|
+
"@instructure/ui-buttons": "8.56.2-snapshot-2",
|
|
39
|
+
"@instructure/ui-calendar": "8.56.2-snapshot-2",
|
|
40
|
+
"@instructure/ui-date-input": "8.56.2-snapshot-2",
|
|
41
|
+
"@instructure/ui-form-field": "8.56.2-snapshot-2",
|
|
42
|
+
"@instructure/ui-i18n": "8.56.2-snapshot-2",
|
|
43
|
+
"@instructure/ui-icons": "8.56.2-snapshot-2",
|
|
44
|
+
"@instructure/ui-prop-types": "8.56.2-snapshot-2",
|
|
45
|
+
"@instructure/ui-react-utils": "8.56.2-snapshot-2",
|
|
46
|
+
"@instructure/ui-testable": "8.56.2-snapshot-2",
|
|
47
|
+
"@instructure/ui-time-select": "8.56.2-snapshot-2",
|
|
48
|
+
"@instructure/ui-utils": "8.56.2-snapshot-2",
|
|
49
49
|
"prop-types": "^15.8.1"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|