primereact 10.3.2 → 10.3.3
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/api/api.cjs.js +20 -0
- package/api/api.cjs.min.js +1 -1
- package/api/api.d.ts +5 -1
- package/api/api.esm.js +20 -0
- package/api/api.esm.min.js +1 -1
- package/api/api.js +20 -0
- package/api/api.min.js +1 -1
- package/calendar/calendar.cjs.js +493 -141
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.d.ts +4 -0
- package/calendar/calendar.esm.js +494 -142
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +493 -141
- package/calendar/calendar.min.js +1 -1
- package/contextmenu/contextmenu.cjs.js +4 -4
- package/contextmenu/contextmenu.cjs.min.js +1 -1
- package/contextmenu/contextmenu.esm.js +4 -4
- package/contextmenu/contextmenu.esm.min.js +1 -1
- package/contextmenu/contextmenu.js +4 -4
- package/contextmenu/contextmenu.min.js +1 -1
- package/core/core.js +40 -0
- package/core/core.min.js +2 -2
- package/datatable/datatable.cjs.js +3 -0
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.esm.js +3 -0
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +3 -0
- package/datatable/datatable.min.js +1 -1
- package/dataview/dataview.cjs.js +27 -25
- package/dataview/dataview.cjs.min.js +1 -1
- package/dataview/dataview.d.ts +6 -0
- package/dataview/dataview.esm.js +27 -25
- package/dataview/dataview.esm.min.js +1 -1
- package/dataview/dataview.js +27 -25
- package/dataview/dataview.min.js +1 -1
- package/menubar/menubar.cjs.js +4 -4
- package/menubar/menubar.cjs.min.js +1 -1
- package/menubar/menubar.esm.js +4 -4
- package/menubar/menubar.esm.min.js +1 -1
- package/menubar/menubar.js +4 -4
- package/menubar/menubar.min.js +1 -1
- package/package.json +1 -1
- package/paginator/paginator.cjs.js +20 -0
- package/paginator/paginator.cjs.min.js +1 -1
- package/paginator/paginator.esm.js +20 -0
- package/paginator/paginator.esm.min.js +1 -1
- package/paginator/paginator.js +20 -0
- package/paginator/paginator.min.js +1 -1
- package/picklist/picklist.cjs.js +20 -0
- package/picklist/picklist.cjs.min.js +1 -1
- package/picklist/picklist.esm.js +20 -0
- package/picklist/picklist.esm.min.js +1 -1
- package/picklist/picklist.js +20 -0
- package/picklist/picklist.min.js +1 -1
- package/primereact.all.cjs.js +760 -246
- package/primereact.all.cjs.min.js +1 -1
- package/primereact.all.esm.js +760 -246
- package/primereact.all.esm.min.js +1 -1
- package/primereact.all.js +760 -246
- package/primereact.all.min.js +1 -1
- package/splitbutton/splitbutton.cjs.js +4 -4
- package/splitbutton/splitbutton.cjs.min.js +1 -1
- package/splitbutton/splitbutton.esm.js +4 -4
- package/splitbutton/splitbutton.esm.min.js +1 -1
- package/splitbutton/splitbutton.js +4 -4
- package/splitbutton/splitbutton.min.js +1 -1
- package/tieredmenu/tieredmenu.cjs.js +4 -4
- package/tieredmenu/tieredmenu.cjs.min.js +1 -1
- package/tieredmenu/tieredmenu.esm.js +4 -4
- package/tieredmenu/tieredmenu.esm.min.js +1 -1
- package/tieredmenu/tieredmenu.js +4 -4
- package/tieredmenu/tieredmenu.min.js +1 -1
- package/toast/toast.cjs.js +20 -0
- package/toast/toast.cjs.min.js +1 -1
- package/toast/toast.esm.js +20 -0
- package/toast/toast.esm.min.js +1 -1
- package/toast/toast.js +20 -0
- package/toast/toast.min.js +1 -1
- package/treetable/treetable.cjs.js +205 -68
- package/treetable/treetable.cjs.min.js +1 -1
- package/treetable/treetable.esm.js +206 -69
- package/treetable/treetable.esm.min.js +1 -1
- package/treetable/treetable.js +205 -68
- package/treetable/treetable.min.js +1 -1
- package/web-types.json +16 -1
package/calendar/calendar.cjs.js
CHANGED
|
@@ -170,13 +170,14 @@ function _slicedToArray(arr, i) {
|
|
|
170
170
|
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest();
|
|
171
171
|
}
|
|
172
172
|
|
|
173
|
-
var styles = "\n@layer primereact {\n .p-calendar {\n position: relative;\n display: inline-flex;\n max-width: 100%;\n }\n
|
|
173
|
+
var styles = "\n@layer primereact {\n .p-calendar {\n position: relative;\n display: inline-flex;\n max-width: 100%;\n }\n\n .p-calendar .p-inputtext {\n flex: 1 1 auto;\n width: 1%;\n }\n\n .p-calendar-w-btn-right .p-inputtext {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n .p-calendar-w-btn-right .p-datepicker-trigger {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .p-calendar-w-btn-left .p-inputtext {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .p-calendar-w-btn-left .p-datepicker-trigger {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n /* Fluid */\n .p-fluid .p-calendar {\n display: flex;\n }\n\n .p-fluid .p-calendar .p-inputtext {\n width: 1%;\n }\n\n /* Datepicker */\n .p-calendar .p-datepicker {\n min-width: 100%;\n }\n\n .p-datepicker {\n width: auto;\n position: absolute;\n top: 0;\n left: 0;\n }\n\n .p-datepicker-inline {\n display: inline-block;\n position: static;\n overflow-x: auto;\n }\n\n /* Header */\n .p-datepicker-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n .p-datepicker-header .p-datepicker-title {\n margin: 0 auto;\n }\n\n .p-datepicker-prev,\n .p-datepicker-next {\n cursor: pointer;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n overflow: hidden;\n position: relative;\n }\n\n /* Multiple Month DatePicker */\n .p-datepicker-multiple-month .p-datepicker-group-container {\n display: flex;\n }\n\n .p-datepicker-multiple-month .p-datepicker-group-container .p-datepicker-group {\n flex: 1 1 auto;\n }\n\n /* Multiple Month DatePicker */\n .p-datepicker-multiple-month .p-datepicker-group-container {\n display: flex;\n }\n\n /* DatePicker Table */\n .p-datepicker table {\n width: 100%;\n border-collapse: collapse;\n }\n\n .p-datepicker td > span {\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n margin: 0 auto;\n overflow: hidden;\n position: relative;\n }\n\n /* Month Picker */\n .p-monthpicker-month {\n width: 33.3%;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n overflow: hidden;\n position: relative;\n }\n\n /* Button Bar */\n .p-datepicker-buttonbar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n /* Time Picker */\n .p-timepicker {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .p-timepicker button {\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n overflow: hidden;\n position: relative;\n }\n\n .p-timepicker > div {\n display: flex;\n align-items: center;\n flex-direction: column;\n }\n\n /* Touch UI */\n .p-datepicker-touch-ui,\n .p-calendar .p-datepicker-touch-ui {\n position: fixed;\n top: 50%;\n left: 50%;\n min-width: 80vw;\n transform: translate(-50%, -50%);\n }\n\n /* Year Picker */\n .p-yearpicker-year {\n width: 50%;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n overflow: hidden;\n position: relative;\n }\n}\n";
|
|
174
174
|
var classes = {
|
|
175
175
|
root: function root(_ref) {
|
|
176
176
|
var props = _ref.props,
|
|
177
177
|
focusedState = _ref.focusedState,
|
|
178
|
-
isFilled = _ref.isFilled
|
|
179
|
-
|
|
178
|
+
isFilled = _ref.isFilled,
|
|
179
|
+
panelVisible = _ref.panelVisible;
|
|
180
|
+
return utils.classNames('p-calendar p-component p-inputwrapper', _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "p-calendar-w-btn p-calendar-w-btn-".concat(props.iconPos), props.showIcon), 'p-calendar-disabled', props.disabled), 'p-calendar-timeonly', props.timeOnly), 'p-inputwrapper-filled', props.value || isFilled), 'p-inputwrapper-focus', focusedState), 'p-focus', focusedState || panelVisible));
|
|
180
181
|
},
|
|
181
182
|
dropdownButton: 'p-datepicker-trigger',
|
|
182
183
|
buttonbar: 'p-datepicker-buttonbar',
|
|
@@ -255,6 +256,7 @@ var CalendarBase = componentbase.ComponentBase.extend({
|
|
|
255
256
|
__TYPE: 'Calendar',
|
|
256
257
|
appendTo: null,
|
|
257
258
|
ariaLabelledBy: null,
|
|
259
|
+
ariaLabel: null,
|
|
258
260
|
autoZIndex: true,
|
|
259
261
|
autoFocus: false,
|
|
260
262
|
baseZIndex: 0,
|
|
@@ -362,6 +364,10 @@ var CalendarPanel = /*#__PURE__*/React__namespace.forwardRef(function (props, re
|
|
|
362
364
|
panelClassName: props.className
|
|
363
365
|
}),
|
|
364
366
|
style: props.style,
|
|
367
|
+
role: props.inline ? null : 'dialog',
|
|
368
|
+
id: props.id,
|
|
369
|
+
'aria-label': PrimeReact.localeOption('chooseDate', props.locale),
|
|
370
|
+
'aria-modal': props.inline ? null : 'true',
|
|
365
371
|
onClick: props.onClick,
|
|
366
372
|
onMouseUp: props.onMouseUp
|
|
367
373
|
}, props.ptm('panel', {
|
|
@@ -418,6 +424,10 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
418
424
|
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
419
425
|
viewDateState = _React$useState6[0],
|
|
420
426
|
setViewDateState = _React$useState6[1];
|
|
427
|
+
var _React$useState7 = React__namespace.useState(props.id),
|
|
428
|
+
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
429
|
+
idState = _React$useState8[0],
|
|
430
|
+
setIdState = _React$useState8[1];
|
|
421
431
|
var metaData = {
|
|
422
432
|
props: props,
|
|
423
433
|
state: {
|
|
@@ -446,26 +456,29 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
446
456
|
var isOverlayClicked = React__namespace.useRef(false);
|
|
447
457
|
var previousButton = React__namespace.useRef(false);
|
|
448
458
|
var nextButton = React__namespace.useRef(false);
|
|
459
|
+
var viewChangedWithKeyDown = React__namespace.useRef(false);
|
|
449
460
|
var onChangeRef = React__namespace.useRef(null);
|
|
450
|
-
var
|
|
451
|
-
|
|
452
|
-
currentView = _React$useState8[0],
|
|
453
|
-
setCurrentView = _React$useState8[1];
|
|
454
|
-
var _React$useState9 = React__namespace.useState(null),
|
|
461
|
+
var isClearClicked = React__namespace.useRef(false);
|
|
462
|
+
var _React$useState9 = React__namespace.useState('date'),
|
|
455
463
|
_React$useState10 = _slicedToArray(_React$useState9, 2),
|
|
456
|
-
|
|
457
|
-
|
|
464
|
+
currentView = _React$useState10[0],
|
|
465
|
+
setCurrentView = _React$useState10[1];
|
|
458
466
|
var _React$useState11 = React__namespace.useState(null),
|
|
459
467
|
_React$useState12 = _slicedToArray(_React$useState11, 2),
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
var _React$useState13 = React__namespace.useState(
|
|
468
|
+
currentMonth = _React$useState12[0],
|
|
469
|
+
setCurrentMonth = _React$useState12[1];
|
|
470
|
+
var _React$useState13 = React__namespace.useState(null),
|
|
463
471
|
_React$useState14 = _slicedToArray(_React$useState13, 2),
|
|
464
|
-
|
|
465
|
-
|
|
472
|
+
currentYear = _React$useState14[0],
|
|
473
|
+
setCurrentYear = _React$useState14[1];
|
|
474
|
+
var _React$useState15 = React__namespace.useState([]),
|
|
475
|
+
_React$useState16 = _slicedToArray(_React$useState15, 2),
|
|
476
|
+
yearOptions = _React$useState16[0],
|
|
477
|
+
setYearOptions = _React$useState16[1];
|
|
466
478
|
var previousValue = hooks.usePrevious(props.value);
|
|
467
479
|
var visible = props.inline || (props.onVisibleChange ? props.visible : overlayVisibleState);
|
|
468
480
|
var attributeSelector = utils.UniqueComponentId();
|
|
481
|
+
var panelId = idState + '_panel';
|
|
469
482
|
var _useOverlayListener = hooks.useOverlayListener({
|
|
470
483
|
target: elementRef,
|
|
471
484
|
overlay: overlayRef,
|
|
@@ -473,7 +486,7 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
473
486
|
var type = _ref.type,
|
|
474
487
|
valid = _ref.valid;
|
|
475
488
|
if (valid) {
|
|
476
|
-
type === 'outside' ? !isOverlayClicked.current && !isNavIconClicked(event.target) && hide('outside') : hide();
|
|
489
|
+
type === 'outside' ? !isOverlayClicked.current && !isNavIconClicked(event.target) && hide('outside', reFocusInputField) : hide(null, reFocusInputField);
|
|
477
490
|
}
|
|
478
491
|
isOverlayClicked.current = false;
|
|
479
492
|
},
|
|
@@ -503,21 +516,34 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
503
516
|
setFocusedState(false);
|
|
504
517
|
};
|
|
505
518
|
var onInputKeyDown = function onInputKeyDown(event) {
|
|
506
|
-
switch (event.
|
|
507
|
-
|
|
508
|
-
case 27:
|
|
519
|
+
switch (event.code) {
|
|
520
|
+
case 'ArrowDown':
|
|
509
521
|
{
|
|
510
|
-
|
|
522
|
+
if (!overlayVisibleState) {
|
|
523
|
+
show();
|
|
524
|
+
} else {
|
|
525
|
+
focusToFirstCell();
|
|
526
|
+
event.preventDefault();
|
|
527
|
+
}
|
|
511
528
|
break;
|
|
512
529
|
}
|
|
513
|
-
|
|
514
|
-
//tab
|
|
515
|
-
case 9:
|
|
530
|
+
case 'Escape':
|
|
516
531
|
{
|
|
517
|
-
|
|
532
|
+
hide();
|
|
518
533
|
props.touchUI && disableModality();
|
|
519
534
|
break;
|
|
520
535
|
}
|
|
536
|
+
case 'Tab':
|
|
537
|
+
{
|
|
538
|
+
if (overlayRef && overlayRef.current) {
|
|
539
|
+
utils.DomHandler.getFocusableElements(overlayRef.current).forEach(function (el) {
|
|
540
|
+
return el.tabIndex = '-1';
|
|
541
|
+
});
|
|
542
|
+
hide();
|
|
543
|
+
props.touchUI && disableModality();
|
|
544
|
+
}
|
|
545
|
+
break;
|
|
546
|
+
}
|
|
521
547
|
}
|
|
522
548
|
};
|
|
523
549
|
var onUserInput = function onUserInput(event) {
|
|
@@ -580,28 +606,40 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
580
606
|
navForward(event);
|
|
581
607
|
};
|
|
582
608
|
var onContainerButtonKeydown = function onContainerButtonKeydown(event) {
|
|
583
|
-
switch (event.
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
trapFocus(event);
|
|
609
|
+
switch (event.code) {
|
|
610
|
+
case 'Tab':
|
|
611
|
+
!props.inline && trapFocus(event);
|
|
587
612
|
break;
|
|
588
|
-
|
|
589
|
-
//escape
|
|
590
|
-
case 27:
|
|
613
|
+
case 'Escape':
|
|
591
614
|
hide(null, reFocusInputField);
|
|
592
615
|
event.preventDefault();
|
|
593
616
|
break;
|
|
594
617
|
}
|
|
595
618
|
};
|
|
619
|
+
var onPickerKeyDown = function onPickerKeyDown(event, type, direction) {
|
|
620
|
+
if (event.code === 'Enter' || event.code === 'Space') {
|
|
621
|
+
onTimePickerElementMouseDown(event, type, direction);
|
|
622
|
+
event.preventDefault();
|
|
623
|
+
return;
|
|
624
|
+
}
|
|
625
|
+
onContainerButtonKeydown(event);
|
|
626
|
+
};
|
|
627
|
+
var onPickerKeyUp = function onPickerKeyUp(event) {
|
|
628
|
+
if (event.code === 'Enter' || event.code === 'Space') {
|
|
629
|
+
onTimePickerElementMouseUp();
|
|
630
|
+
event.preventDefault();
|
|
631
|
+
return;
|
|
632
|
+
}
|
|
633
|
+
};
|
|
596
634
|
var trapFocus = function trapFocus(event) {
|
|
597
|
-
event.preventDefault();
|
|
635
|
+
event === null || event === void 0 || event.preventDefault();
|
|
598
636
|
var focusableElements = utils.DomHandler.getFocusableElements(overlayRef.current);
|
|
599
637
|
if (focusableElements && focusableElements.length > 0) {
|
|
600
638
|
if (!document.activeElement) {
|
|
601
639
|
focusableElements[0].focus();
|
|
602
640
|
} else {
|
|
603
641
|
var focusedIndex = focusableElements.indexOf(document.activeElement);
|
|
604
|
-
if (event.shiftKey) {
|
|
642
|
+
if (event !== null && event !== void 0 && event.shiftKey) {
|
|
605
643
|
if (focusedIndex === -1 || focusedIndex === 0) focusableElements[focusableElements.length - 1].focus();else focusableElements[focusedIndex - 1].focus();
|
|
606
644
|
} else {
|
|
607
645
|
if (focusedIndex === -1 || focusedIndex === focusableElements.length - 1) focusableElements[0].focus();else focusableElements[focusedIndex + 1].focus();
|
|
@@ -634,7 +672,7 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
634
672
|
};
|
|
635
673
|
var initFocusableCell = function initFocusableCell() {
|
|
636
674
|
var cell;
|
|
637
|
-
if (
|
|
675
|
+
if (currentView === 'month') {
|
|
638
676
|
var cells = utils.DomHandler.find(overlayRef.current, '[data-pc-section="monthpicker"] [data-pc-section="month"]');
|
|
639
677
|
var selectedCell = utils.DomHandler.findSingle(overlayRef.current, '[data-pc-section="monthpicker"] [data-pc-section="month"][data-p-highlight="true"]');
|
|
640
678
|
cells.forEach(function (cell) {
|
|
@@ -652,6 +690,27 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
652
690
|
cell.tabIndex = '0';
|
|
653
691
|
}
|
|
654
692
|
};
|
|
693
|
+
var focusToFirstCell = function focusToFirstCell() {
|
|
694
|
+
if (currentView) {
|
|
695
|
+
var cell;
|
|
696
|
+
if (currentView === 'date') {
|
|
697
|
+
cell = utils.DomHandler.findSingle(overlayRef.current, 'span[data-p-highlight="true"]');
|
|
698
|
+
if (!cell) {
|
|
699
|
+
var todayCell = utils.DomHandler.findSingle(overlayRef.current, 'td.p-datepicker-today span:not(.p-disabled)');
|
|
700
|
+
cell = todayCell || utils.DomHandler.findSingle(overlayRef.current, 'table td span:not([data-p-disabled="true"])');
|
|
701
|
+
}
|
|
702
|
+
} else if (currentView === 'month' || currentView === 'year') {
|
|
703
|
+
cell = utils.DomHandler.findSingle(overlayRef.current, 'span[data-p-highlight="true"]');
|
|
704
|
+
if (!cell) {
|
|
705
|
+
cell = utils.DomHandler.findSingle(overlayRef.current, "[data-pc-section=\"".concat(currentView, "picker\"] [data-pc-section=\"").concat(currentView, "\"]:not([data-p-disabled=\"true\"])"));
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
if (cell) {
|
|
709
|
+
cell.tabIndex = '0';
|
|
710
|
+
cell && cell.focus();
|
|
711
|
+
}
|
|
712
|
+
}
|
|
713
|
+
};
|
|
655
714
|
var navBackward = function navBackward(event) {
|
|
656
715
|
if (props.disabled) {
|
|
657
716
|
event.preventDefault();
|
|
@@ -781,6 +840,7 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
781
840
|
props.onTodayButtonClick && props.onTodayButtonClick(event);
|
|
782
841
|
};
|
|
783
842
|
var onClearButtonClick = function onClearButtonClick(event) {
|
|
843
|
+
isClearClicked.current = true;
|
|
784
844
|
updateModel(event, null);
|
|
785
845
|
updateInputfield(null);
|
|
786
846
|
hide();
|
|
@@ -1262,23 +1322,29 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
1262
1322
|
var onDateCellKeydown = function onDateCellKeydown(event, date, groupIndex) {
|
|
1263
1323
|
var cellContent = event.currentTarget;
|
|
1264
1324
|
var cell = cellContent.parentElement;
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
case
|
|
1325
|
+
var cellIndex = utils.DomHandler.index(cell);
|
|
1326
|
+
switch (event.code) {
|
|
1327
|
+
case 'ArrowDown':
|
|
1268
1328
|
{
|
|
1269
1329
|
cellContent.tabIndex = '-1';
|
|
1270
|
-
var cellIndex = utils.DomHandler.index(cell);
|
|
1271
1330
|
var nextRow = cell.parentElement.nextElementSibling;
|
|
1272
1331
|
if (nextRow) {
|
|
1273
|
-
var
|
|
1274
|
-
|
|
1332
|
+
var tableRowIndex = utils.DomHandler.index(cell.parentElement);
|
|
1333
|
+
var tableRows = Array.from(cell.parentElement.parentElement.children);
|
|
1334
|
+
var nextTableRows = tableRows.slice(tableRowIndex + 1);
|
|
1335
|
+
var hasNextFocusableDate = nextTableRows.find(function (el) {
|
|
1336
|
+
var focusCell = el.children[cellIndex].children[0];
|
|
1337
|
+
return !utils.DomHandler.getAttribute(focusCell, 'data-p-disabled');
|
|
1338
|
+
});
|
|
1339
|
+
if (hasNextFocusableDate) {
|
|
1340
|
+
var focusCell = hasNextFocusableDate.children[cellIndex].children[0];
|
|
1341
|
+
focusCell.tabIndex = '0';
|
|
1342
|
+
focusCell.focus();
|
|
1343
|
+
} else {
|
|
1275
1344
|
navigation.current = {
|
|
1276
1345
|
backward: false
|
|
1277
1346
|
};
|
|
1278
1347
|
navForward(event);
|
|
1279
|
-
} else {
|
|
1280
|
-
nextRow.children[cellIndex].children[0].tabIndex = '0';
|
|
1281
|
-
nextRow.children[cellIndex].children[0].focus();
|
|
1282
1348
|
}
|
|
1283
1349
|
} else {
|
|
1284
1350
|
navigation.current = {
|
|
@@ -1289,46 +1355,58 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
1289
1355
|
event.preventDefault();
|
|
1290
1356
|
break;
|
|
1291
1357
|
}
|
|
1292
|
-
|
|
1293
|
-
//up arrow
|
|
1294
|
-
case 38:
|
|
1358
|
+
case 'ArrowUp':
|
|
1295
1359
|
{
|
|
1296
1360
|
cellContent.tabIndex = '-1';
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
var
|
|
1301
|
-
if (
|
|
1361
|
+
if (event.altKey) {
|
|
1362
|
+
hide(null, reFocusInputField);
|
|
1363
|
+
} else {
|
|
1364
|
+
var prevRow = cell.parentElement.previousElementSibling;
|
|
1365
|
+
if (prevRow) {
|
|
1366
|
+
var _tableRowIndex = utils.DomHandler.index(cell.parentElement);
|
|
1367
|
+
var _tableRows = Array.from(cell.parentElement.parentElement.children);
|
|
1368
|
+
var prevTableRows = _tableRows.slice(0, _tableRowIndex).reverse();
|
|
1369
|
+
var _hasNextFocusableDate = prevTableRows.find(function (el) {
|
|
1370
|
+
var focusCell = el.children[cellIndex].children[0];
|
|
1371
|
+
return !utils.DomHandler.getAttribute(focusCell, 'data-p-disabled');
|
|
1372
|
+
});
|
|
1373
|
+
if (_hasNextFocusableDate) {
|
|
1374
|
+
var _focusCell = _hasNextFocusableDate.children[cellIndex].children[0];
|
|
1375
|
+
_focusCell.tabIndex = '0';
|
|
1376
|
+
_focusCell.focus();
|
|
1377
|
+
} else {
|
|
1378
|
+
navigation.current = {
|
|
1379
|
+
backward: true
|
|
1380
|
+
};
|
|
1381
|
+
navBackward(event);
|
|
1382
|
+
}
|
|
1383
|
+
} else {
|
|
1302
1384
|
navigation.current = {
|
|
1303
1385
|
backward: true
|
|
1304
1386
|
};
|
|
1305
1387
|
navBackward(event);
|
|
1306
|
-
} else {
|
|
1307
|
-
_focusCell.tabIndex = '0';
|
|
1308
|
-
_focusCell.focus();
|
|
1309
1388
|
}
|
|
1310
|
-
} else {
|
|
1311
|
-
navigation.current = {
|
|
1312
|
-
backward: true
|
|
1313
|
-
};
|
|
1314
|
-
navBackward(event);
|
|
1315
1389
|
}
|
|
1316
1390
|
event.preventDefault();
|
|
1317
1391
|
break;
|
|
1318
1392
|
}
|
|
1319
|
-
|
|
1320
|
-
//left arrow
|
|
1321
|
-
case 37:
|
|
1393
|
+
case 'ArrowLeft':
|
|
1322
1394
|
{
|
|
1323
1395
|
cellContent.tabIndex = '-1';
|
|
1324
1396
|
var prevCell = cell.previousElementSibling;
|
|
1325
1397
|
if (prevCell) {
|
|
1326
|
-
var
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1398
|
+
var cells = Array.from(cell.parentElement.children);
|
|
1399
|
+
var prevCells = cells.slice(0, cellIndex).reverse();
|
|
1400
|
+
var _hasNextFocusableDate2 = prevCells.find(function (el) {
|
|
1401
|
+
var focusCell = el.children[0];
|
|
1402
|
+
return !utils.DomHandler.getAttribute(focusCell, 'data-p-disabled');
|
|
1403
|
+
});
|
|
1404
|
+
if (_hasNextFocusableDate2) {
|
|
1405
|
+
var _focusCell2 = _hasNextFocusableDate2.children[0];
|
|
1330
1406
|
_focusCell2.tabIndex = '0';
|
|
1331
1407
|
_focusCell2.focus();
|
|
1408
|
+
} else {
|
|
1409
|
+
navigateToMonth(true, groupIndex, event);
|
|
1332
1410
|
}
|
|
1333
1411
|
} else {
|
|
1334
1412
|
navigateToMonth(true, groupIndex, event);
|
|
@@ -1336,19 +1414,23 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
1336
1414
|
event.preventDefault();
|
|
1337
1415
|
break;
|
|
1338
1416
|
}
|
|
1339
|
-
|
|
1340
|
-
//right arrow
|
|
1341
|
-
case 39:
|
|
1417
|
+
case 'ArrowRight':
|
|
1342
1418
|
{
|
|
1343
1419
|
cellContent.tabIndex = '-1';
|
|
1344
1420
|
var nextCell = cell.nextElementSibling;
|
|
1345
1421
|
if (nextCell) {
|
|
1346
|
-
var
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1422
|
+
var _cells = Array.from(cell.parentElement.children);
|
|
1423
|
+
var nextCells = _cells.slice(cellIndex + 1);
|
|
1424
|
+
var _hasNextFocusableDate3 = nextCells.find(function (el) {
|
|
1425
|
+
var focusCell = el.children[0];
|
|
1426
|
+
return !utils.DomHandler.getAttribute(focusCell, 'data-p-disabled');
|
|
1427
|
+
});
|
|
1428
|
+
if (_hasNextFocusableDate3) {
|
|
1429
|
+
var _focusCell3 = _hasNextFocusableDate3.children[0];
|
|
1350
1430
|
_focusCell3.tabIndex = '0';
|
|
1351
1431
|
_focusCell3.focus();
|
|
1432
|
+
} else {
|
|
1433
|
+
navigateToMonth(false, groupIndex, event);
|
|
1352
1434
|
}
|
|
1353
1435
|
} else {
|
|
1354
1436
|
navigateToMonth(false, groupIndex, event);
|
|
@@ -1356,27 +1438,75 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
1356
1438
|
event.preventDefault();
|
|
1357
1439
|
break;
|
|
1358
1440
|
}
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
case
|
|
1441
|
+
case 'Enter':
|
|
1442
|
+
case 'NumpadEnter':
|
|
1443
|
+
case 'Space':
|
|
1362
1444
|
{
|
|
1363
1445
|
onDateSelect(event, date);
|
|
1364
1446
|
event.preventDefault();
|
|
1365
1447
|
break;
|
|
1366
1448
|
}
|
|
1367
|
-
|
|
1368
|
-
//escape
|
|
1369
|
-
case 27:
|
|
1449
|
+
case 'Escape':
|
|
1370
1450
|
{
|
|
1371
1451
|
hide(null, reFocusInputField);
|
|
1372
1452
|
event.preventDefault();
|
|
1373
1453
|
break;
|
|
1374
1454
|
}
|
|
1375
|
-
|
|
1376
|
-
//tab
|
|
1377
|
-
case 9:
|
|
1455
|
+
case 'Tab':
|
|
1378
1456
|
{
|
|
1379
|
-
trapFocus(event);
|
|
1457
|
+
if (!props.inline) trapFocus(event);
|
|
1458
|
+
break;
|
|
1459
|
+
}
|
|
1460
|
+
case 'Home':
|
|
1461
|
+
{
|
|
1462
|
+
cellContent.tabIndex = '-1';
|
|
1463
|
+
var currentRow = cell.parentElement;
|
|
1464
|
+
var _focusCell4 = currentRow.children[0].children[0];
|
|
1465
|
+
if (utils.DomHandler.getAttribute(_focusCell4, 'data-p-disabled')) {
|
|
1466
|
+
navigateToMonth(groupIndex, true, event);
|
|
1467
|
+
} else {
|
|
1468
|
+
_focusCell4.tabIndex = '0';
|
|
1469
|
+
_focusCell4.focus();
|
|
1470
|
+
}
|
|
1471
|
+
event.preventDefault();
|
|
1472
|
+
break;
|
|
1473
|
+
}
|
|
1474
|
+
case 'End':
|
|
1475
|
+
{
|
|
1476
|
+
cellContent.tabIndex = '-1';
|
|
1477
|
+
var _currentRow = cell.parentElement;
|
|
1478
|
+
var _focusCell5 = _currentRow.children[_currentRow.children.length - 1].children[0];
|
|
1479
|
+
if (utils.DomHandler.getAttribute(_focusCell5, 'data-p-disabled')) {
|
|
1480
|
+
navigateToMonth(groupIndex, false, event);
|
|
1481
|
+
} else {
|
|
1482
|
+
_focusCell5.tabIndex = '0';
|
|
1483
|
+
_focusCell5.focus();
|
|
1484
|
+
}
|
|
1485
|
+
event.preventDefault();
|
|
1486
|
+
break;
|
|
1487
|
+
}
|
|
1488
|
+
case 'PageUp':
|
|
1489
|
+
{
|
|
1490
|
+
cellContent.tabIndex = '-1';
|
|
1491
|
+
if (event.shiftKey) {
|
|
1492
|
+
navigation.current = {
|
|
1493
|
+
backward: true
|
|
1494
|
+
};
|
|
1495
|
+
navBackward(event);
|
|
1496
|
+
} else navigateToMonth(groupIndex, true, event);
|
|
1497
|
+
event.preventDefault();
|
|
1498
|
+
break;
|
|
1499
|
+
}
|
|
1500
|
+
case 'PageDown':
|
|
1501
|
+
{
|
|
1502
|
+
cellContent.tabIndex = '-1';
|
|
1503
|
+
if (event.shiftKey) {
|
|
1504
|
+
navigation.current = {
|
|
1505
|
+
backward: false
|
|
1506
|
+
};
|
|
1507
|
+
navForward(event);
|
|
1508
|
+
} else navigateToMonth(groupIndex, false, event);
|
|
1509
|
+
event.preventDefault();
|
|
1380
1510
|
break;
|
|
1381
1511
|
}
|
|
1382
1512
|
}
|
|
@@ -1403,18 +1533,18 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
1403
1533
|
navForward(event);
|
|
1404
1534
|
} else {
|
|
1405
1535
|
var nextMonthContainer = overlayRef.current.children[groupIndex + 1];
|
|
1406
|
-
var
|
|
1407
|
-
|
|
1408
|
-
|
|
1536
|
+
var _focusCell6 = utils.DomHandler.findSingle(nextMonthContainer, 'table td span:not([data-p-disabled="true"])');
|
|
1537
|
+
_focusCell6.tabIndex = '0';
|
|
1538
|
+
_focusCell6.focus();
|
|
1409
1539
|
}
|
|
1410
1540
|
}
|
|
1411
1541
|
};
|
|
1412
1542
|
var onMonthCellKeydown = function onMonthCellKeydown(event, index) {
|
|
1413
1543
|
var cell = event.currentTarget;
|
|
1414
|
-
switch (event.
|
|
1544
|
+
switch (event.code) {
|
|
1415
1545
|
//arrows
|
|
1416
|
-
case
|
|
1417
|
-
case
|
|
1546
|
+
case 'ArrowUp':
|
|
1547
|
+
case 'ArrowDown':
|
|
1418
1548
|
{
|
|
1419
1549
|
cell.tabIndex = '-1';
|
|
1420
1550
|
var cells = cell.parentElement.children;
|
|
@@ -1427,51 +1557,162 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
1427
1557
|
event.preventDefault();
|
|
1428
1558
|
break;
|
|
1429
1559
|
}
|
|
1430
|
-
|
|
1431
|
-
//left arrow
|
|
1432
|
-
case 37:
|
|
1560
|
+
case 'ArrowLeft':
|
|
1433
1561
|
{
|
|
1434
1562
|
cell.tabIndex = '-1';
|
|
1435
1563
|
var prevCell = cell.previousElementSibling;
|
|
1436
1564
|
if (prevCell) {
|
|
1437
1565
|
prevCell.tabIndex = '0';
|
|
1438
1566
|
prevCell.focus();
|
|
1567
|
+
} else {
|
|
1568
|
+
navigation.current = {
|
|
1569
|
+
backward: true
|
|
1570
|
+
};
|
|
1571
|
+
navBackward(event);
|
|
1439
1572
|
}
|
|
1440
1573
|
event.preventDefault();
|
|
1441
1574
|
break;
|
|
1442
1575
|
}
|
|
1443
|
-
|
|
1444
|
-
//right arrow
|
|
1445
|
-
case 39:
|
|
1576
|
+
case 'ArrowRight':
|
|
1446
1577
|
{
|
|
1447
1578
|
cell.tabIndex = '-1';
|
|
1448
1579
|
var _nextCell = cell.nextElementSibling;
|
|
1449
1580
|
if (_nextCell) {
|
|
1450
1581
|
_nextCell.tabIndex = '0';
|
|
1451
1582
|
_nextCell.focus();
|
|
1583
|
+
} else {
|
|
1584
|
+
navigation.current = {
|
|
1585
|
+
backward: false
|
|
1586
|
+
};
|
|
1587
|
+
navForward(event);
|
|
1452
1588
|
}
|
|
1453
1589
|
event.preventDefault();
|
|
1454
1590
|
break;
|
|
1455
1591
|
}
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1592
|
+
case 'PageUp':
|
|
1593
|
+
{
|
|
1594
|
+
if (event.shiftKey) return;
|
|
1595
|
+
navigation.current = {
|
|
1596
|
+
backward: true
|
|
1597
|
+
};
|
|
1598
|
+
navBackward(event);
|
|
1599
|
+
break;
|
|
1600
|
+
}
|
|
1601
|
+
case 'PageDown':
|
|
1602
|
+
{
|
|
1603
|
+
if (event.shiftKey) return;
|
|
1604
|
+
navigation.current = {
|
|
1605
|
+
backward: false
|
|
1606
|
+
};
|
|
1607
|
+
navForward(event);
|
|
1608
|
+
break;
|
|
1609
|
+
}
|
|
1610
|
+
case 'Enter':
|
|
1611
|
+
case 'NumpadEnter':
|
|
1612
|
+
case 'Space':
|
|
1459
1613
|
{
|
|
1614
|
+
if (props.view !== 'month') viewChangedWithKeyDown.current = true;
|
|
1460
1615
|
onMonthSelect(event, index);
|
|
1461
1616
|
event.preventDefault();
|
|
1462
1617
|
break;
|
|
1463
1618
|
}
|
|
1464
|
-
|
|
1465
|
-
//escape
|
|
1466
|
-
case 27:
|
|
1619
|
+
case 'Escape':
|
|
1467
1620
|
{
|
|
1468
1621
|
hide(null, reFocusInputField);
|
|
1469
1622
|
event.preventDefault();
|
|
1470
1623
|
break;
|
|
1471
1624
|
}
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1625
|
+
case 'Tab':
|
|
1626
|
+
{
|
|
1627
|
+
trapFocus(event);
|
|
1628
|
+
break;
|
|
1629
|
+
}
|
|
1630
|
+
}
|
|
1631
|
+
};
|
|
1632
|
+
var onYearCellKeydown = function onYearCellKeydown(event, index) {
|
|
1633
|
+
var cell = event.currentTarget;
|
|
1634
|
+
switch (event.code) {
|
|
1635
|
+
//arrows
|
|
1636
|
+
case 'ArrowUp':
|
|
1637
|
+
case 'ArrowDown':
|
|
1638
|
+
{
|
|
1639
|
+
cell.tabIndex = '-1';
|
|
1640
|
+
var cells = cell.parentElement.children;
|
|
1641
|
+
var cellIndex = utils.DomHandler.index(cell);
|
|
1642
|
+
var nextCell = cells[event.code === 'ArrowDown' ? cellIndex + 2 : cellIndex - 2];
|
|
1643
|
+
if (nextCell) {
|
|
1644
|
+
nextCell.tabIndex = '0';
|
|
1645
|
+
nextCell.focus();
|
|
1646
|
+
}
|
|
1647
|
+
event.preventDefault();
|
|
1648
|
+
break;
|
|
1649
|
+
}
|
|
1650
|
+
case 'ArrowLeft':
|
|
1651
|
+
{
|
|
1652
|
+
cell.tabIndex = '-1';
|
|
1653
|
+
var prevCell = cell.previousElementSibling;
|
|
1654
|
+
if (prevCell) {
|
|
1655
|
+
prevCell.tabIndex = '0';
|
|
1656
|
+
prevCell.focus();
|
|
1657
|
+
} else {
|
|
1658
|
+
navigation.current = {
|
|
1659
|
+
backward: true
|
|
1660
|
+
};
|
|
1661
|
+
navBackward(event);
|
|
1662
|
+
}
|
|
1663
|
+
event.preventDefault();
|
|
1664
|
+
break;
|
|
1665
|
+
}
|
|
1666
|
+
case 'ArrowRight':
|
|
1667
|
+
{
|
|
1668
|
+
cell.tabIndex = '-1';
|
|
1669
|
+
var _nextCell2 = cell.nextElementSibling;
|
|
1670
|
+
if (_nextCell2) {
|
|
1671
|
+
_nextCell2.tabIndex = '0';
|
|
1672
|
+
_nextCell2.focus();
|
|
1673
|
+
} else {
|
|
1674
|
+
navigation.current = {
|
|
1675
|
+
backward: false
|
|
1676
|
+
};
|
|
1677
|
+
navForward(event);
|
|
1678
|
+
}
|
|
1679
|
+
event.preventDefault();
|
|
1680
|
+
break;
|
|
1681
|
+
}
|
|
1682
|
+
case 'PageUp':
|
|
1683
|
+
{
|
|
1684
|
+
if (event.shiftKey) return;
|
|
1685
|
+
navigation.current = {
|
|
1686
|
+
backward: true
|
|
1687
|
+
};
|
|
1688
|
+
navBackward(event);
|
|
1689
|
+
break;
|
|
1690
|
+
}
|
|
1691
|
+
case 'PageDown':
|
|
1692
|
+
{
|
|
1693
|
+
if (event.shiftKey) return;
|
|
1694
|
+
navigation.current = {
|
|
1695
|
+
backward: false
|
|
1696
|
+
};
|
|
1697
|
+
navForward(event);
|
|
1698
|
+
break;
|
|
1699
|
+
}
|
|
1700
|
+
case 'Enter':
|
|
1701
|
+
case 'NumpadEnter':
|
|
1702
|
+
case 'Space':
|
|
1703
|
+
{
|
|
1704
|
+
if (props.view !== 'year') viewChangedWithKeyDown.current = true;
|
|
1705
|
+
onYearSelect(event, index);
|
|
1706
|
+
event.preventDefault();
|
|
1707
|
+
break;
|
|
1708
|
+
}
|
|
1709
|
+
case 'Escape':
|
|
1710
|
+
{
|
|
1711
|
+
hide(null, reFocusInputField);
|
|
1712
|
+
event.preventDefault();
|
|
1713
|
+
break;
|
|
1714
|
+
}
|
|
1715
|
+
case 'Tab':
|
|
1475
1716
|
{
|
|
1476
1717
|
trapFocus(event);
|
|
1477
1718
|
break;
|
|
@@ -1588,10 +1829,16 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
1588
1829
|
return _currentYear;
|
|
1589
1830
|
};
|
|
1590
1831
|
var switchToMonthView = function switchToMonthView(event) {
|
|
1832
|
+
if (event && event.code && (event.code === 'Enter' || event.code === 'Space')) {
|
|
1833
|
+
viewChangedWithKeyDown.current = true;
|
|
1834
|
+
}
|
|
1591
1835
|
setCurrentView('month');
|
|
1592
1836
|
event.preventDefault();
|
|
1593
1837
|
};
|
|
1594
1838
|
var switchToYearView = function switchToYearView(event) {
|
|
1839
|
+
if (event && event.code && (event.code === 'Enter' || event.code === 'Space')) {
|
|
1840
|
+
viewChangedWithKeyDown.current = true;
|
|
1841
|
+
}
|
|
1595
1842
|
setCurrentView('year');
|
|
1596
1843
|
event.preventDefault();
|
|
1597
1844
|
};
|
|
@@ -1732,7 +1979,6 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
1732
1979
|
var onOverlayEntered = function onOverlayEntered() {
|
|
1733
1980
|
bindOverlayListener();
|
|
1734
1981
|
props.onShow && props.onShow();
|
|
1735
|
-
utils.DomHandler.focusFirstElement(overlayRef.current);
|
|
1736
1982
|
setFocusedState(false);
|
|
1737
1983
|
};
|
|
1738
1984
|
var onOverlayExit = function onOverlayExit() {
|
|
@@ -2603,6 +2849,10 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
2603
2849
|
setCurrentMonth(viewDate.getMonth());
|
|
2604
2850
|
setCurrentYear(viewDate.getFullYear());
|
|
2605
2851
|
setCurrentView(props.view);
|
|
2852
|
+
if (!idState) {
|
|
2853
|
+
var uniqueId = utils.UniqueComponentId();
|
|
2854
|
+
!idState && setIdState(uniqueId);
|
|
2855
|
+
}
|
|
2606
2856
|
if (props.inline) {
|
|
2607
2857
|
overlayRef && overlayRef.current.setAttribute(attributeSelector, '');
|
|
2608
2858
|
if (!props.disabled) {
|
|
@@ -2650,8 +2900,14 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
2650
2900
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
2651
2901
|
}, [props.disabled, props.mask, props.readOnlyInput]);
|
|
2652
2902
|
hooks.useUpdateEffect(function () {
|
|
2653
|
-
|
|
2903
|
+
if (viewChangedWithKeyDown.current) {
|
|
2904
|
+
setCurrentView(props.view);
|
|
2905
|
+
}
|
|
2906
|
+
viewChangedWithKeyDown.current = false;
|
|
2654
2907
|
}, [props.view]);
|
|
2908
|
+
hooks.useUpdateEffect(function () {
|
|
2909
|
+
focusToFirstCell();
|
|
2910
|
+
}, [currentView]);
|
|
2655
2911
|
hooks.useUpdateEffect(function () {
|
|
2656
2912
|
if (!props.onViewDateChange && !viewStateChanged.current) {
|
|
2657
2913
|
setValue(props.value);
|
|
@@ -2742,12 +2998,16 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
2742
2998
|
if (Array.isArray(prevPropValue)) {
|
|
2743
2999
|
prevPropValue = prevPropValue[0];
|
|
2744
3000
|
}
|
|
3001
|
+
var viewDate = props.viewDate && isValidDate(props.viewDate) ? props.viewDate : propValue && isValidDate(propValue) ? propValue : new Date();
|
|
3002
|
+
if (isClearClicked.current && props.showTime) {
|
|
3003
|
+
viewDate.setHours(0, 0, 0);
|
|
3004
|
+
isClearClicked.current = false;
|
|
3005
|
+
}
|
|
2745
3006
|
if (!prevPropValue && propValue || propValue && propValue instanceof Date && propValue.getTime() !== prevPropValue.getTime()) {
|
|
2746
|
-
var viewDate = props.viewDate && isValidDate(props.viewDate) ? props.viewDate : propValue && isValidDate(propValue) ? propValue : new Date();
|
|
2747
3007
|
validateDate(viewDate);
|
|
2748
|
-
setViewDateState(viewDate);
|
|
2749
|
-
viewStateChanged.current = true;
|
|
2750
3008
|
}
|
|
3009
|
+
setViewDateState(viewDate);
|
|
3010
|
+
viewStateChanged.current = true;
|
|
2751
3011
|
};
|
|
2752
3012
|
var createBackwardNavigator = function createBackwardNavigator(isVisible) {
|
|
2753
3013
|
var navigatorProps = isVisible ? {
|
|
@@ -2767,9 +3027,15 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
2767
3027
|
var backwardNavigatorIcon = utils.IconUtils.getJSXIcon(icon, _objectSpread({}, previousIconProps), {
|
|
2768
3028
|
props: props
|
|
2769
3029
|
});
|
|
3030
|
+
var _localeOptions4 = PrimeReact.localeOptions(props.locale),
|
|
3031
|
+
prevDecade = _localeOptions4.prevDecade,
|
|
3032
|
+
prevYear = _localeOptions4.prevYear,
|
|
3033
|
+
prevMonth = _localeOptions4.prevMonth;
|
|
3034
|
+
var previousButtonLabel = currentView === 'year' ? prevDecade : currentView === 'month' ? prevYear : prevMonth;
|
|
2770
3035
|
var previousButtonProps = mergeProps(_objectSpread({
|
|
2771
3036
|
type: 'button',
|
|
2772
|
-
className: cx('previousButton')
|
|
3037
|
+
className: cx('previousButton'),
|
|
3038
|
+
'aria-label': previousButtonLabel
|
|
2773
3039
|
}, navigatorProps), ptm('previousButton'));
|
|
2774
3040
|
return /*#__PURE__*/React__namespace.createElement("button", _extends({
|
|
2775
3041
|
ref: previousButton
|
|
@@ -2793,9 +3059,15 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
2793
3059
|
var forwardNavigatorIcon = utils.IconUtils.getJSXIcon(icon, _objectSpread({}, nextIconProps), {
|
|
2794
3060
|
props: props
|
|
2795
3061
|
});
|
|
3062
|
+
var _localeOptions5 = PrimeReact.localeOptions(props.locale),
|
|
3063
|
+
nextDecade = _localeOptions5.nextDecade,
|
|
3064
|
+
nextYear = _localeOptions5.nextYear,
|
|
3065
|
+
nextMonth = _localeOptions5.nextMonth;
|
|
3066
|
+
var nextButtonLabel = currentView === 'year' ? nextDecade : currentView === 'month' ? nextYear : nextMonth;
|
|
2796
3067
|
var nextButtonProps = mergeProps(_objectSpread({
|
|
2797
3068
|
type: 'button',
|
|
2798
|
-
className: cx('nextButton')
|
|
3069
|
+
className: cx('nextButton'),
|
|
3070
|
+
'aria-label': nextButtonLabel
|
|
2799
3071
|
}, navigatorProps), ptm('nextButton'));
|
|
2800
3072
|
return /*#__PURE__*/React__namespace.createElement("button", _extends({
|
|
2801
3073
|
ref: nextButton
|
|
@@ -2852,6 +3124,8 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
2852
3124
|
}
|
|
2853
3125
|
var monthTitleProps = mergeProps({
|
|
2854
3126
|
className: cx('monthTitle'),
|
|
3127
|
+
onKeyDown: onContainerButtonKeydown,
|
|
3128
|
+
'aria-label': PrimeReact.localeOption('chooseMonth', props.locale),
|
|
2855
3129
|
onClick: switchToMonthView,
|
|
2856
3130
|
disabled: switchViewButtonDisabled()
|
|
2857
3131
|
}, ptm('monthTitle'));
|
|
@@ -2910,6 +3184,7 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
2910
3184
|
var displayYear = props.numberOfMonths > 1 ? metaYear : currentYear;
|
|
2911
3185
|
var yearTitleProps = mergeProps({
|
|
2912
3186
|
className: cx('yearTitle'),
|
|
3187
|
+
'aria-label': PrimeReact.localeOption('chooseYear', props.locale),
|
|
2913
3188
|
onClick: function onClick(e) {
|
|
2914
3189
|
return switchToYearView(e);
|
|
2915
3190
|
},
|
|
@@ -2968,25 +3243,33 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
2968
3243
|
};
|
|
2969
3244
|
var createDateCellContent = function createDateCellContent(date, className, groupIndex) {
|
|
2970
3245
|
var content = props.dateTemplate ? props.dateTemplate(date) : date.day;
|
|
3246
|
+
var selected = isSelected(date);
|
|
2971
3247
|
var dayLabelProps = mergeProps({
|
|
2972
3248
|
className: cx('dayLabel', {
|
|
2973
3249
|
className: className
|
|
2974
3250
|
}),
|
|
3251
|
+
'aria-selected': selected,
|
|
3252
|
+
'aria-disabled': !date.selectable,
|
|
2975
3253
|
onClick: function onClick(e) {
|
|
2976
3254
|
return onDateSelect(e, date);
|
|
2977
3255
|
},
|
|
2978
3256
|
onKeyDown: function onKeyDown(e) {
|
|
2979
3257
|
return onDateCellKeydown(e, date, groupIndex);
|
|
2980
3258
|
},
|
|
2981
|
-
'data-p-highlight':
|
|
3259
|
+
'data-p-highlight': selected,
|
|
2982
3260
|
'data-p-disabled': !date.selectable
|
|
2983
3261
|
}, ptm('dayLabel', {
|
|
2984
3262
|
context: {
|
|
2985
|
-
selected:
|
|
3263
|
+
selected: selected,
|
|
2986
3264
|
disabled: !date.selectable
|
|
2987
3265
|
}
|
|
2988
3266
|
}));
|
|
2989
|
-
return /*#__PURE__*/React__namespace.createElement("span", dayLabelProps, content
|
|
3267
|
+
return /*#__PURE__*/React__namespace.createElement("span", dayLabelProps, content, selected && /*#__PURE__*/React__namespace.createElement("div", {
|
|
3268
|
+
"aria-live": "polite",
|
|
3269
|
+
className: "p-hidden-accessible",
|
|
3270
|
+
"data-p-hidden-accessible": true,
|
|
3271
|
+
pt: ptm('hiddenSelectedDay')
|
|
3272
|
+
}));
|
|
2990
3273
|
};
|
|
2991
3274
|
var createWeek = function createWeek(weekDates, weekNumber, groupIndex) {
|
|
2992
3275
|
var week = weekDates.map(function (date) {
|
|
@@ -3000,6 +3283,7 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
3000
3283
|
className: cx('day', {
|
|
3001
3284
|
date: date
|
|
3002
3285
|
}),
|
|
3286
|
+
'aria-label': date.day,
|
|
3003
3287
|
'data-p-today': date.today,
|
|
3004
3288
|
'data-p-other-month': date.otherMonth
|
|
3005
3289
|
}, ptm('day', {
|
|
@@ -3048,6 +3332,7 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
3048
3332
|
key: utils.UniqueComponentId('calendar_container_')
|
|
3049
3333
|
}, ptm('container'));
|
|
3050
3334
|
var tableProps = mergeProps({
|
|
3335
|
+
role: 'grid',
|
|
3051
3336
|
className: cx('table')
|
|
3052
3337
|
}, ptm('table'));
|
|
3053
3338
|
var tableHeaderProps = mergeProps(ptm('tableHeader'));
|
|
@@ -3151,6 +3436,9 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
3151
3436
|
if (hour === 0) hour = 12;else if (hour > 11 && hour !== 12) hour = hour - 12;
|
|
3152
3437
|
}
|
|
3153
3438
|
var hourProps = mergeProps(ptm('hour'));
|
|
3439
|
+
var _localeOptions6 = PrimeReact.localeOptions(props.locale),
|
|
3440
|
+
nextHour = _localeOptions6.nextHour,
|
|
3441
|
+
prevHour = _localeOptions6.prevHour;
|
|
3154
3442
|
var hourDisplay = hour < 10 ? '0' + hour : hour;
|
|
3155
3443
|
var hourPickerProps = mergeProps({
|
|
3156
3444
|
className: cx('hourPicker')
|
|
@@ -3158,26 +3446,30 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
3158
3446
|
var incrementButtonProps = mergeProps({
|
|
3159
3447
|
type: 'button',
|
|
3160
3448
|
className: cx('incrementButton'),
|
|
3449
|
+
'aria-label': nextHour,
|
|
3161
3450
|
onMouseDown: function onMouseDown(e) {
|
|
3162
3451
|
return onTimePickerElementMouseDown(e, 0, 1);
|
|
3163
3452
|
},
|
|
3164
3453
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3165
3454
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3166
3455
|
onKeyDown: function onKeyDown(e) {
|
|
3167
|
-
return
|
|
3168
|
-
}
|
|
3456
|
+
return onPickerKeyDown(e, 0, 1);
|
|
3457
|
+
},
|
|
3458
|
+
onKeyUp: onPickerKeyUp
|
|
3169
3459
|
}, ptm('incrementButton'));
|
|
3170
3460
|
var decrementButtonProps = mergeProps({
|
|
3171
3461
|
type: 'button',
|
|
3172
3462
|
className: cx('decrementButton'),
|
|
3463
|
+
'aria-label': prevHour,
|
|
3173
3464
|
onMouseDown: function onMouseDown(e) {
|
|
3174
3465
|
return onTimePickerElementMouseDown(e, 0, -1);
|
|
3175
3466
|
},
|
|
3176
3467
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3177
3468
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3178
3469
|
onKeyDown: function onKeyDown(e) {
|
|
3179
|
-
return
|
|
3180
|
-
}
|
|
3470
|
+
return onPickerKeyDown(e, 0, -1);
|
|
3471
|
+
},
|
|
3472
|
+
onKeyUp: onPickerKeyUp
|
|
3181
3473
|
}, ptm('decrementButton'));
|
|
3182
3474
|
return /*#__PURE__*/React__namespace.createElement("div", hourPickerProps, /*#__PURE__*/React__namespace.createElement("button", incrementButtonProps, incrementIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null)), /*#__PURE__*/React__namespace.createElement("span", hourProps, hourDisplay), /*#__PURE__*/React__namespace.createElement("button", decrementButtonProps, decrementIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null)));
|
|
3183
3475
|
};
|
|
@@ -3186,6 +3478,9 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
3186
3478
|
var minute = doStepMinute(currentTime.getMinutes());
|
|
3187
3479
|
minute = minute > 59 ? minute - 60 : minute;
|
|
3188
3480
|
var minuteProps = mergeProps(ptm('minute'));
|
|
3481
|
+
var _localeOptions7 = PrimeReact.localeOptions(props.locale),
|
|
3482
|
+
nextMinute = _localeOptions7.nextMinute,
|
|
3483
|
+
prevMinute = _localeOptions7.prevMinute;
|
|
3189
3484
|
var minuteDisplay = minute < 10 ? '0' + minute : minute;
|
|
3190
3485
|
var minutePickerProps = mergeProps({
|
|
3191
3486
|
className: cx('minutePicker')
|
|
@@ -3193,32 +3488,39 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
3193
3488
|
var incrementButtonProps = mergeProps({
|
|
3194
3489
|
type: 'button',
|
|
3195
3490
|
className: cx('incrementButton'),
|
|
3491
|
+
'aria-label': nextMinute,
|
|
3196
3492
|
onMouseDown: function onMouseDown(e) {
|
|
3197
3493
|
return onTimePickerElementMouseDown(e, 1, 1);
|
|
3198
3494
|
},
|
|
3199
3495
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3200
3496
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3201
3497
|
onKeyDown: function onKeyDown(e) {
|
|
3202
|
-
return
|
|
3203
|
-
}
|
|
3498
|
+
return onPickerKeyDown(e, 1, 1);
|
|
3499
|
+
},
|
|
3500
|
+
onKeyUp: onPickerKeyUp
|
|
3204
3501
|
}, ptm('incrementButton'));
|
|
3205
3502
|
var decrementButtonProps = mergeProps({
|
|
3206
3503
|
type: 'button',
|
|
3207
3504
|
className: cx('decrementButton'),
|
|
3505
|
+
'aria-label': prevMinute,
|
|
3208
3506
|
onMouseDown: function onMouseDown(e) {
|
|
3209
3507
|
return onTimePickerElementMouseDown(e, 1, -1);
|
|
3210
3508
|
},
|
|
3211
3509
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3212
3510
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3213
3511
|
onKeyDown: function onKeyDown(e) {
|
|
3214
|
-
return
|
|
3215
|
-
}
|
|
3512
|
+
return onPickerKeyDown(e, 1, -1);
|
|
3513
|
+
},
|
|
3514
|
+
onKeyUp: onPickerKeyUp
|
|
3216
3515
|
}, ptm('decrementButton'));
|
|
3217
3516
|
return /*#__PURE__*/React__namespace.createElement("div", minutePickerProps, /*#__PURE__*/React__namespace.createElement("button", incrementButtonProps, incrementIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null)), /*#__PURE__*/React__namespace.createElement("span", minuteProps, minuteDisplay), /*#__PURE__*/React__namespace.createElement("button", decrementButtonProps, decrementIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null)));
|
|
3218
3517
|
};
|
|
3219
3518
|
var createSecondPicker = function createSecondPicker() {
|
|
3220
3519
|
if (props.showSeconds) {
|
|
3221
3520
|
var currentTime = getCurrentDateTime();
|
|
3521
|
+
var _localeOptions8 = PrimeReact.localeOptions(props.locale),
|
|
3522
|
+
nextSecond = _localeOptions8.nextSecond,
|
|
3523
|
+
prevSecond = _localeOptions8.prevSecond;
|
|
3222
3524
|
var secondProps = mergeProps(ptm('second'));
|
|
3223
3525
|
var second = currentTime.getSeconds();
|
|
3224
3526
|
var secondDisplay = second < 10 ? '0' + second : second;
|
|
@@ -3228,26 +3530,30 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
3228
3530
|
var incrementButtonProps = mergeProps({
|
|
3229
3531
|
type: 'button',
|
|
3230
3532
|
className: cx('incrementButton'),
|
|
3533
|
+
'aria-label': nextSecond,
|
|
3231
3534
|
onMouseDown: function onMouseDown(e) {
|
|
3232
3535
|
return onTimePickerElementMouseDown(e, 2, 1);
|
|
3233
3536
|
},
|
|
3234
3537
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3235
3538
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3236
3539
|
onKeyDown: function onKeyDown(e) {
|
|
3237
|
-
return
|
|
3238
|
-
}
|
|
3540
|
+
return onPickerKeyDown(e, 2, 1);
|
|
3541
|
+
},
|
|
3542
|
+
onKeyUp: onPickerKeyUp
|
|
3239
3543
|
}, ptm('incrementButton'));
|
|
3240
3544
|
var decrementButtonProps = mergeProps({
|
|
3241
3545
|
type: 'button',
|
|
3242
3546
|
className: cx('decrementButton'),
|
|
3547
|
+
'aria-label': prevSecond,
|
|
3243
3548
|
onMouseDown: function onMouseDown(e) {
|
|
3244
3549
|
return onTimePickerElementMouseDown(e, 2, -1);
|
|
3245
3550
|
},
|
|
3246
3551
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3247
3552
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3248
3553
|
onKeyDown: function onKeyDown(e) {
|
|
3249
|
-
return
|
|
3250
|
-
}
|
|
3554
|
+
return onPickerKeyDown(e, 2, -1);
|
|
3555
|
+
},
|
|
3556
|
+
onKeyUp: onPickerKeyUp
|
|
3251
3557
|
}, ptm('decrementButton'));
|
|
3252
3558
|
return /*#__PURE__*/React__namespace.createElement("div", secondPickerProps, /*#__PURE__*/React__namespace.createElement("button", incrementButtonProps, incrementIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null)), /*#__PURE__*/React__namespace.createElement("span", secondProps, secondDisplay), /*#__PURE__*/React__namespace.createElement("button", decrementButtonProps, decrementIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null)));
|
|
3253
3559
|
}
|
|
@@ -3256,6 +3562,9 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
3256
3562
|
var createMiliSecondPicker = function createMiliSecondPicker() {
|
|
3257
3563
|
if (props.showMillisec) {
|
|
3258
3564
|
var currentTime = getCurrentDateTime();
|
|
3565
|
+
var _localeOptions9 = PrimeReact.localeOptions(props.locale),
|
|
3566
|
+
nextMilliSecond = _localeOptions9.nextMilliSecond,
|
|
3567
|
+
prevMilliSecond = _localeOptions9.prevMilliSecond;
|
|
3259
3568
|
var millisecondProps = mergeProps(ptm('millisecond'));
|
|
3260
3569
|
var millisecond = currentTime.getMilliseconds();
|
|
3261
3570
|
var millisecondDisplay = millisecond < 100 ? (millisecond < 10 ? '00' : '0') + millisecond : millisecond;
|
|
@@ -3265,26 +3574,30 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
3265
3574
|
var incrementButtonProps = mergeProps({
|
|
3266
3575
|
type: 'button',
|
|
3267
3576
|
className: cx('incrementButton'),
|
|
3577
|
+
'aria-label': nextMilliSecond,
|
|
3268
3578
|
onMouseDown: function onMouseDown(e) {
|
|
3269
3579
|
return onTimePickerElementMouseDown(e, 3, 1);
|
|
3270
3580
|
},
|
|
3271
3581
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3272
3582
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3273
3583
|
onKeyDown: function onKeyDown(e) {
|
|
3274
|
-
return
|
|
3275
|
-
}
|
|
3584
|
+
return onPickerKeyDown(e, 3, 1);
|
|
3585
|
+
},
|
|
3586
|
+
onKeyUp: onPickerKeyUp
|
|
3276
3587
|
}, ptm('incrementButton'));
|
|
3277
3588
|
var decrementButtonProps = mergeProps({
|
|
3278
3589
|
type: 'button',
|
|
3279
3590
|
className: cx('decrementButton'),
|
|
3591
|
+
'aria-label': prevMilliSecond,
|
|
3280
3592
|
onMouseDown: function onMouseDown(e) {
|
|
3281
3593
|
return onTimePickerElementMouseDown(e, 3, -1);
|
|
3282
3594
|
},
|
|
3283
3595
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3284
3596
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3285
3597
|
onKeyDown: function onKeyDown(e) {
|
|
3286
|
-
return
|
|
3287
|
-
}
|
|
3598
|
+
return onPickerKeyDown(e, 3, -1);
|
|
3599
|
+
},
|
|
3600
|
+
onKeyUp: onPickerKeyUp
|
|
3288
3601
|
}, ptm('decrementButton'));
|
|
3289
3602
|
return /*#__PURE__*/React__namespace.createElement("div", millisecondPickerProps, /*#__PURE__*/React__namespace.createElement("button", incrementButtonProps, incrementIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null)), /*#__PURE__*/React__namespace.createElement("span", millisecondProps, millisecondDisplay), /*#__PURE__*/React__namespace.createElement("button", decrementButtonProps, decrementIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null)));
|
|
3290
3603
|
}
|
|
@@ -3293,6 +3606,9 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
3293
3606
|
var createAmPmPicker = function createAmPmPicker() {
|
|
3294
3607
|
if (props.hourFormat === '12') {
|
|
3295
3608
|
var currentTime = getCurrentDateTime();
|
|
3609
|
+
var _localeOptions10 = PrimeReact.localeOptions(props.locale),
|
|
3610
|
+
am = _localeOptions10.am,
|
|
3611
|
+
pm = _localeOptions10.pm;
|
|
3296
3612
|
var hour = currentTime.getHours();
|
|
3297
3613
|
var display = hour > 11 ? 'PM' : 'AM';
|
|
3298
3614
|
var ampmProps = mergeProps(ptm('ampm'));
|
|
@@ -3302,6 +3618,7 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
3302
3618
|
var incrementButtonProps = mergeProps({
|
|
3303
3619
|
type: 'button',
|
|
3304
3620
|
className: cx('incrementButton'),
|
|
3621
|
+
'aria-label': am,
|
|
3305
3622
|
onClick: function onClick(e) {
|
|
3306
3623
|
return toggleAmPm(e);
|
|
3307
3624
|
}
|
|
@@ -3309,6 +3626,7 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
3309
3626
|
var decrementButtonProps = mergeProps({
|
|
3310
3627
|
type: 'button',
|
|
3311
3628
|
className: cx('decrementButton'),
|
|
3629
|
+
'aria-label': pm,
|
|
3312
3630
|
onClick: function onClick(e) {
|
|
3313
3631
|
return toggleAmPm(e);
|
|
3314
3632
|
}
|
|
@@ -3340,6 +3658,7 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
3340
3658
|
id: props.inputId,
|
|
3341
3659
|
name: props.name,
|
|
3342
3660
|
type: "text",
|
|
3661
|
+
role: "combobox",
|
|
3343
3662
|
className: props.inputClassName,
|
|
3344
3663
|
style: props.inputStyle,
|
|
3345
3664
|
readOnly: props.readOnlyInput,
|
|
@@ -3352,7 +3671,12 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
3352
3671
|
onFocus: onInputFocus,
|
|
3353
3672
|
onBlur: onInputBlur,
|
|
3354
3673
|
onKeyDown: onInputKeyDown,
|
|
3674
|
+
"aria-expanded": overlayVisibleState,
|
|
3675
|
+
"aria-autocomplete": "none",
|
|
3676
|
+
"aria-haspopup": "dialog",
|
|
3677
|
+
"aria-controls": panelId,
|
|
3355
3678
|
"aria-labelledby": props.ariaLabelledBy,
|
|
3679
|
+
"aria-label": props.ariaLabel,
|
|
3356
3680
|
inputMode: props.inputMode,
|
|
3357
3681
|
tooltip: props.tooltip,
|
|
3358
3682
|
tooltipOptions: props.tooltipOptions,
|
|
@@ -3372,6 +3696,10 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
3372
3696
|
onClick: onButtonClick,
|
|
3373
3697
|
tabIndex: "-1",
|
|
3374
3698
|
disabled: props.disabled,
|
|
3699
|
+
"aria-haspopup": "dialog",
|
|
3700
|
+
"aria-label": PrimeReact.localeOption('chooseDate', props.locale),
|
|
3701
|
+
"aria-expanded": overlayVisibleState,
|
|
3702
|
+
"aria-controls": panelId,
|
|
3375
3703
|
className: cx('dropdownButton'),
|
|
3376
3704
|
pt: ptm('dropdownButton'),
|
|
3377
3705
|
__parentMetadata: {
|
|
@@ -3391,21 +3719,27 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
3391
3719
|
};
|
|
3392
3720
|
var createButtonBar = function createButtonBar() {
|
|
3393
3721
|
if (props.showButtonBar) {
|
|
3394
|
-
var
|
|
3395
|
-
today =
|
|
3396
|
-
clear =
|
|
3722
|
+
var _localeOptions11 = PrimeReact.localeOptions(props.locale),
|
|
3723
|
+
today = _localeOptions11.today,
|
|
3724
|
+
clear = _localeOptions11.clear,
|
|
3725
|
+
now = _localeOptions11.now;
|
|
3726
|
+
var nowDate = new Date();
|
|
3727
|
+
var isHidden = props.minDate && props.minDate > nowDate || props.maxDate && props.maxDate < nowDate;
|
|
3397
3728
|
var buttonbarProps = mergeProps({
|
|
3398
3729
|
className: cx('buttonbar')
|
|
3399
3730
|
}, ptm('buttonbar'));
|
|
3400
3731
|
return /*#__PURE__*/React__namespace.createElement("div", buttonbarProps, /*#__PURE__*/React__namespace.createElement(button.Button, {
|
|
3401
3732
|
type: "button",
|
|
3402
|
-
label: today,
|
|
3733
|
+
label: props.showTime ? now : today,
|
|
3403
3734
|
onClick: onTodayButtonClick,
|
|
3404
3735
|
onKeyDown: function onKeyDown(e) {
|
|
3405
3736
|
return onContainerButtonKeydown(e);
|
|
3406
3737
|
},
|
|
3407
3738
|
className: utils.classNames(props.todayButtonClassName, cx('todayButton')),
|
|
3408
|
-
pt: ptm('todayButton')
|
|
3739
|
+
pt: ptm('todayButton'),
|
|
3740
|
+
style: isHidden ? {
|
|
3741
|
+
visibility: 'hidden'
|
|
3742
|
+
} : undefined
|
|
3409
3743
|
}), /*#__PURE__*/React__namespace.createElement(button.Button, {
|
|
3410
3744
|
type: "button",
|
|
3411
3745
|
label: clear,
|
|
@@ -3435,6 +3769,7 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
3435
3769
|
className: cx('monthPicker')
|
|
3436
3770
|
}, ptm('monthPicker'));
|
|
3437
3771
|
return /*#__PURE__*/React__namespace.createElement("div", monthPickerProps, monthPickerValues().map(function (m, i) {
|
|
3772
|
+
var selected = isMonthSelected(i);
|
|
3438
3773
|
var monthProps = mergeProps({
|
|
3439
3774
|
className: cx('month', {
|
|
3440
3775
|
isMonthSelected: isMonthSelected,
|
|
@@ -3449,18 +3784,23 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
3449
3784
|
return onMonthCellKeydown(event, i);
|
|
3450
3785
|
},
|
|
3451
3786
|
'data-p-disabled': isMonthYearDisabled(i, currentYear),
|
|
3452
|
-
'data-p-highlight':
|
|
3787
|
+
'data-p-highlight': selected
|
|
3453
3788
|
}, ptm('month', {
|
|
3454
3789
|
context: {
|
|
3455
3790
|
month: m,
|
|
3456
3791
|
monthIndex: i,
|
|
3457
|
-
selected:
|
|
3792
|
+
selected: selected,
|
|
3458
3793
|
disabled: isMonthYearDisabled(i, currentYear)
|
|
3459
3794
|
}
|
|
3460
3795
|
}));
|
|
3461
3796
|
return /*#__PURE__*/React__namespace.createElement("span", _extends({}, monthProps, {
|
|
3462
3797
|
key: "month".concat(i + 1)
|
|
3463
|
-
}), m
|
|
3798
|
+
}), m, selected && /*#__PURE__*/React__namespace.createElement("div", {
|
|
3799
|
+
"aria-live": "polite",
|
|
3800
|
+
className: "p-hidden-accessible",
|
|
3801
|
+
"data-p-hidden-accessible": true,
|
|
3802
|
+
pt: ptm('hiddenMonth')
|
|
3803
|
+
}, m));
|
|
3464
3804
|
}));
|
|
3465
3805
|
}
|
|
3466
3806
|
return null;
|
|
@@ -3471,6 +3811,7 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
3471
3811
|
className: cx('yearPicker')
|
|
3472
3812
|
}, ptm('yearPicker'));
|
|
3473
3813
|
return /*#__PURE__*/React__namespace.createElement("div", yearPickerProps, yearPickerValues().map(function (y, i) {
|
|
3814
|
+
var selected = isYearSelected(y);
|
|
3474
3815
|
var yearProps = mergeProps({
|
|
3475
3816
|
className: cx('year', {
|
|
3476
3817
|
isYearSelected: isYearSelected,
|
|
@@ -3480,19 +3821,27 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
3480
3821
|
onClick: function onClick(event) {
|
|
3481
3822
|
return onYearSelect(event, y);
|
|
3482
3823
|
},
|
|
3824
|
+
onKeyDown: function onKeyDown(event) {
|
|
3825
|
+
return onYearCellKeydown(event, y);
|
|
3826
|
+
},
|
|
3483
3827
|
'data-p-highlight': isYearSelected(y),
|
|
3484
3828
|
'data-p-disabled': isMonthYearDisabled(-1, y)
|
|
3485
3829
|
}, ptm('year', {
|
|
3486
3830
|
context: {
|
|
3487
3831
|
year: y,
|
|
3488
3832
|
yearIndex: i,
|
|
3489
|
-
selected:
|
|
3833
|
+
selected: selected,
|
|
3490
3834
|
disabled: isMonthYearDisabled(-1, y)
|
|
3491
3835
|
}
|
|
3492
3836
|
}));
|
|
3493
3837
|
return /*#__PURE__*/React__namespace.createElement("span", _extends({}, yearProps, {
|
|
3494
3838
|
key: "year".concat(i + 1)
|
|
3495
|
-
}), y
|
|
3839
|
+
}), y, selected && /*#__PURE__*/React__namespace.createElement("div", {
|
|
3840
|
+
"aria-live": "polite",
|
|
3841
|
+
className: "p-hidden-accessible",
|
|
3842
|
+
"data-p-hidden-accessible": true,
|
|
3843
|
+
pt: ptm('hiddenYear')
|
|
3844
|
+
}, y));
|
|
3496
3845
|
}));
|
|
3497
3846
|
}
|
|
3498
3847
|
return null;
|
|
@@ -3519,7 +3868,8 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
3519
3868
|
id: props.id,
|
|
3520
3869
|
className: utils.classNames(props.className, cx('root', {
|
|
3521
3870
|
focusedState: focusedState,
|
|
3522
|
-
isFilled: isFilled
|
|
3871
|
+
isFilled: isFilled,
|
|
3872
|
+
panelVisible: visible
|
|
3523
3873
|
})),
|
|
3524
3874
|
style: props.style
|
|
3525
3875
|
}, CalendarBase.getOtherProps(props), ptm('root'));
|
|
@@ -3527,6 +3877,8 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
|
|
|
3527
3877
|
ref: elementRef
|
|
3528
3878
|
}, rootProps), content, /*#__PURE__*/React__namespace.createElement(CalendarPanel, {
|
|
3529
3879
|
hostName: "Calendar",
|
|
3880
|
+
id: panelId,
|
|
3881
|
+
locale: props.locale,
|
|
3530
3882
|
ref: overlayRef,
|
|
3531
3883
|
className: panelClassName,
|
|
3532
3884
|
style: props.panelStyle,
|