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.js
CHANGED
|
@@ -152,13 +152,14 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
152
152
|
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest();
|
|
153
153
|
}
|
|
154
154
|
|
|
155
|
-
var styles = "\n@layer primereact {\n .p-calendar {\n position: relative;\n display: inline-flex;\n max-width: 100%;\n }\n
|
|
155
|
+
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";
|
|
156
156
|
var classes = {
|
|
157
157
|
root: function root(_ref) {
|
|
158
158
|
var props = _ref.props,
|
|
159
159
|
focusedState = _ref.focusedState,
|
|
160
|
-
isFilled = _ref.isFilled
|
|
161
|
-
|
|
160
|
+
isFilled = _ref.isFilled,
|
|
161
|
+
panelVisible = _ref.panelVisible;
|
|
162
|
+
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));
|
|
162
163
|
},
|
|
163
164
|
dropdownButton: 'p-datepicker-trigger',
|
|
164
165
|
buttonbar: 'p-datepicker-buttonbar',
|
|
@@ -237,6 +238,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
237
238
|
__TYPE: 'Calendar',
|
|
238
239
|
appendTo: null,
|
|
239
240
|
ariaLabelledBy: null,
|
|
241
|
+
ariaLabel: null,
|
|
240
242
|
autoZIndex: true,
|
|
241
243
|
autoFocus: false,
|
|
242
244
|
baseZIndex: 0,
|
|
@@ -344,6 +346,10 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
344
346
|
panelClassName: props.className
|
|
345
347
|
}),
|
|
346
348
|
style: props.style,
|
|
349
|
+
role: props.inline ? null : 'dialog',
|
|
350
|
+
id: props.id,
|
|
351
|
+
'aria-label': PrimeReact.localeOption('chooseDate', props.locale),
|
|
352
|
+
'aria-modal': props.inline ? null : 'true',
|
|
347
353
|
onClick: props.onClick,
|
|
348
354
|
onMouseUp: props.onMouseUp
|
|
349
355
|
}, props.ptm('panel', {
|
|
@@ -400,6 +406,10 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
400
406
|
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
401
407
|
viewDateState = _React$useState6[0],
|
|
402
408
|
setViewDateState = _React$useState6[1];
|
|
409
|
+
var _React$useState7 = React__namespace.useState(props.id),
|
|
410
|
+
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
411
|
+
idState = _React$useState8[0],
|
|
412
|
+
setIdState = _React$useState8[1];
|
|
403
413
|
var metaData = {
|
|
404
414
|
props: props,
|
|
405
415
|
state: {
|
|
@@ -428,26 +438,29 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
428
438
|
var isOverlayClicked = React__namespace.useRef(false);
|
|
429
439
|
var previousButton = React__namespace.useRef(false);
|
|
430
440
|
var nextButton = React__namespace.useRef(false);
|
|
441
|
+
var viewChangedWithKeyDown = React__namespace.useRef(false);
|
|
431
442
|
var onChangeRef = React__namespace.useRef(null);
|
|
432
|
-
var
|
|
433
|
-
|
|
434
|
-
currentView = _React$useState8[0],
|
|
435
|
-
setCurrentView = _React$useState8[1];
|
|
436
|
-
var _React$useState9 = React__namespace.useState(null),
|
|
443
|
+
var isClearClicked = React__namespace.useRef(false);
|
|
444
|
+
var _React$useState9 = React__namespace.useState('date'),
|
|
437
445
|
_React$useState10 = _slicedToArray(_React$useState9, 2),
|
|
438
|
-
|
|
439
|
-
|
|
446
|
+
currentView = _React$useState10[0],
|
|
447
|
+
setCurrentView = _React$useState10[1];
|
|
440
448
|
var _React$useState11 = React__namespace.useState(null),
|
|
441
449
|
_React$useState12 = _slicedToArray(_React$useState11, 2),
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
var _React$useState13 = React__namespace.useState(
|
|
450
|
+
currentMonth = _React$useState12[0],
|
|
451
|
+
setCurrentMonth = _React$useState12[1];
|
|
452
|
+
var _React$useState13 = React__namespace.useState(null),
|
|
445
453
|
_React$useState14 = _slicedToArray(_React$useState13, 2),
|
|
446
|
-
|
|
447
|
-
|
|
454
|
+
currentYear = _React$useState14[0],
|
|
455
|
+
setCurrentYear = _React$useState14[1];
|
|
456
|
+
var _React$useState15 = React__namespace.useState([]),
|
|
457
|
+
_React$useState16 = _slicedToArray(_React$useState15, 2),
|
|
458
|
+
yearOptions = _React$useState16[0],
|
|
459
|
+
setYearOptions = _React$useState16[1];
|
|
448
460
|
var previousValue = hooks.usePrevious(props.value);
|
|
449
461
|
var visible = props.inline || (props.onVisibleChange ? props.visible : overlayVisibleState);
|
|
450
462
|
var attributeSelector = utils.UniqueComponentId();
|
|
463
|
+
var panelId = idState + '_panel';
|
|
451
464
|
var _useOverlayListener = hooks.useOverlayListener({
|
|
452
465
|
target: elementRef,
|
|
453
466
|
overlay: overlayRef,
|
|
@@ -455,7 +468,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
455
468
|
var type = _ref.type,
|
|
456
469
|
valid = _ref.valid;
|
|
457
470
|
if (valid) {
|
|
458
|
-
type === 'outside' ? !isOverlayClicked.current && !isNavIconClicked(event.target) && hide('outside') : hide();
|
|
471
|
+
type === 'outside' ? !isOverlayClicked.current && !isNavIconClicked(event.target) && hide('outside', reFocusInputField) : hide(null, reFocusInputField);
|
|
459
472
|
}
|
|
460
473
|
isOverlayClicked.current = false;
|
|
461
474
|
},
|
|
@@ -485,21 +498,34 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
485
498
|
setFocusedState(false);
|
|
486
499
|
};
|
|
487
500
|
var onInputKeyDown = function onInputKeyDown(event) {
|
|
488
|
-
switch (event.
|
|
489
|
-
|
|
490
|
-
case 27:
|
|
501
|
+
switch (event.code) {
|
|
502
|
+
case 'ArrowDown':
|
|
491
503
|
{
|
|
492
|
-
|
|
504
|
+
if (!overlayVisibleState) {
|
|
505
|
+
show();
|
|
506
|
+
} else {
|
|
507
|
+
focusToFirstCell();
|
|
508
|
+
event.preventDefault();
|
|
509
|
+
}
|
|
493
510
|
break;
|
|
494
511
|
}
|
|
495
|
-
|
|
496
|
-
//tab
|
|
497
|
-
case 9:
|
|
512
|
+
case 'Escape':
|
|
498
513
|
{
|
|
499
|
-
|
|
514
|
+
hide();
|
|
500
515
|
props.touchUI && disableModality();
|
|
501
516
|
break;
|
|
502
517
|
}
|
|
518
|
+
case 'Tab':
|
|
519
|
+
{
|
|
520
|
+
if (overlayRef && overlayRef.current) {
|
|
521
|
+
utils.DomHandler.getFocusableElements(overlayRef.current).forEach(function (el) {
|
|
522
|
+
return el.tabIndex = '-1';
|
|
523
|
+
});
|
|
524
|
+
hide();
|
|
525
|
+
props.touchUI && disableModality();
|
|
526
|
+
}
|
|
527
|
+
break;
|
|
528
|
+
}
|
|
503
529
|
}
|
|
504
530
|
};
|
|
505
531
|
var onUserInput = function onUserInput(event) {
|
|
@@ -562,28 +588,40 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
562
588
|
navForward(event);
|
|
563
589
|
};
|
|
564
590
|
var onContainerButtonKeydown = function onContainerButtonKeydown(event) {
|
|
565
|
-
switch (event.
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
trapFocus(event);
|
|
591
|
+
switch (event.code) {
|
|
592
|
+
case 'Tab':
|
|
593
|
+
!props.inline && trapFocus(event);
|
|
569
594
|
break;
|
|
570
|
-
|
|
571
|
-
//escape
|
|
572
|
-
case 27:
|
|
595
|
+
case 'Escape':
|
|
573
596
|
hide(null, reFocusInputField);
|
|
574
597
|
event.preventDefault();
|
|
575
598
|
break;
|
|
576
599
|
}
|
|
577
600
|
};
|
|
601
|
+
var onPickerKeyDown = function onPickerKeyDown(event, type, direction) {
|
|
602
|
+
if (event.code === 'Enter' || event.code === 'Space') {
|
|
603
|
+
onTimePickerElementMouseDown(event, type, direction);
|
|
604
|
+
event.preventDefault();
|
|
605
|
+
return;
|
|
606
|
+
}
|
|
607
|
+
onContainerButtonKeydown(event);
|
|
608
|
+
};
|
|
609
|
+
var onPickerKeyUp = function onPickerKeyUp(event) {
|
|
610
|
+
if (event.code === 'Enter' || event.code === 'Space') {
|
|
611
|
+
onTimePickerElementMouseUp();
|
|
612
|
+
event.preventDefault();
|
|
613
|
+
return;
|
|
614
|
+
}
|
|
615
|
+
};
|
|
578
616
|
var trapFocus = function trapFocus(event) {
|
|
579
|
-
event.preventDefault();
|
|
617
|
+
event === null || event === void 0 || event.preventDefault();
|
|
580
618
|
var focusableElements = utils.DomHandler.getFocusableElements(overlayRef.current);
|
|
581
619
|
if (focusableElements && focusableElements.length > 0) {
|
|
582
620
|
if (!document.activeElement) {
|
|
583
621
|
focusableElements[0].focus();
|
|
584
622
|
} else {
|
|
585
623
|
var focusedIndex = focusableElements.indexOf(document.activeElement);
|
|
586
|
-
if (event.shiftKey) {
|
|
624
|
+
if (event !== null && event !== void 0 && event.shiftKey) {
|
|
587
625
|
if (focusedIndex === -1 || focusedIndex === 0) focusableElements[focusableElements.length - 1].focus();else focusableElements[focusedIndex - 1].focus();
|
|
588
626
|
} else {
|
|
589
627
|
if (focusedIndex === -1 || focusedIndex === focusableElements.length - 1) focusableElements[0].focus();else focusableElements[focusedIndex + 1].focus();
|
|
@@ -616,7 +654,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
616
654
|
};
|
|
617
655
|
var initFocusableCell = function initFocusableCell() {
|
|
618
656
|
var cell;
|
|
619
|
-
if (
|
|
657
|
+
if (currentView === 'month') {
|
|
620
658
|
var cells = utils.DomHandler.find(overlayRef.current, '[data-pc-section="monthpicker"] [data-pc-section="month"]');
|
|
621
659
|
var selectedCell = utils.DomHandler.findSingle(overlayRef.current, '[data-pc-section="monthpicker"] [data-pc-section="month"][data-p-highlight="true"]');
|
|
622
660
|
cells.forEach(function (cell) {
|
|
@@ -634,6 +672,27 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
634
672
|
cell.tabIndex = '0';
|
|
635
673
|
}
|
|
636
674
|
};
|
|
675
|
+
var focusToFirstCell = function focusToFirstCell() {
|
|
676
|
+
if (currentView) {
|
|
677
|
+
var cell;
|
|
678
|
+
if (currentView === 'date') {
|
|
679
|
+
cell = utils.DomHandler.findSingle(overlayRef.current, 'span[data-p-highlight="true"]');
|
|
680
|
+
if (!cell) {
|
|
681
|
+
var todayCell = utils.DomHandler.findSingle(overlayRef.current, 'td.p-datepicker-today span:not(.p-disabled)');
|
|
682
|
+
cell = todayCell || utils.DomHandler.findSingle(overlayRef.current, 'table td span:not([data-p-disabled="true"])');
|
|
683
|
+
}
|
|
684
|
+
} else if (currentView === 'month' || currentView === 'year') {
|
|
685
|
+
cell = utils.DomHandler.findSingle(overlayRef.current, 'span[data-p-highlight="true"]');
|
|
686
|
+
if (!cell) {
|
|
687
|
+
cell = utils.DomHandler.findSingle(overlayRef.current, "[data-pc-section=\"".concat(currentView, "picker\"] [data-pc-section=\"").concat(currentView, "\"]:not([data-p-disabled=\"true\"])"));
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
if (cell) {
|
|
691
|
+
cell.tabIndex = '0';
|
|
692
|
+
cell && cell.focus();
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
};
|
|
637
696
|
var navBackward = function navBackward(event) {
|
|
638
697
|
if (props.disabled) {
|
|
639
698
|
event.preventDefault();
|
|
@@ -763,6 +822,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
763
822
|
props.onTodayButtonClick && props.onTodayButtonClick(event);
|
|
764
823
|
};
|
|
765
824
|
var onClearButtonClick = function onClearButtonClick(event) {
|
|
825
|
+
isClearClicked.current = true;
|
|
766
826
|
updateModel(event, null);
|
|
767
827
|
updateInputfield(null);
|
|
768
828
|
hide();
|
|
@@ -1244,23 +1304,29 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
1244
1304
|
var onDateCellKeydown = function onDateCellKeydown(event, date, groupIndex) {
|
|
1245
1305
|
var cellContent = event.currentTarget;
|
|
1246
1306
|
var cell = cellContent.parentElement;
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
case
|
|
1307
|
+
var cellIndex = utils.DomHandler.index(cell);
|
|
1308
|
+
switch (event.code) {
|
|
1309
|
+
case 'ArrowDown':
|
|
1250
1310
|
{
|
|
1251
1311
|
cellContent.tabIndex = '-1';
|
|
1252
|
-
var cellIndex = utils.DomHandler.index(cell);
|
|
1253
1312
|
var nextRow = cell.parentElement.nextElementSibling;
|
|
1254
1313
|
if (nextRow) {
|
|
1255
|
-
var
|
|
1256
|
-
|
|
1314
|
+
var tableRowIndex = utils.DomHandler.index(cell.parentElement);
|
|
1315
|
+
var tableRows = Array.from(cell.parentElement.parentElement.children);
|
|
1316
|
+
var nextTableRows = tableRows.slice(tableRowIndex + 1);
|
|
1317
|
+
var hasNextFocusableDate = nextTableRows.find(function (el) {
|
|
1318
|
+
var focusCell = el.children[cellIndex].children[0];
|
|
1319
|
+
return !utils.DomHandler.getAttribute(focusCell, 'data-p-disabled');
|
|
1320
|
+
});
|
|
1321
|
+
if (hasNextFocusableDate) {
|
|
1322
|
+
var focusCell = hasNextFocusableDate.children[cellIndex].children[0];
|
|
1323
|
+
focusCell.tabIndex = '0';
|
|
1324
|
+
focusCell.focus();
|
|
1325
|
+
} else {
|
|
1257
1326
|
navigation.current = {
|
|
1258
1327
|
backward: false
|
|
1259
1328
|
};
|
|
1260
1329
|
navForward(event);
|
|
1261
|
-
} else {
|
|
1262
|
-
nextRow.children[cellIndex].children[0].tabIndex = '0';
|
|
1263
|
-
nextRow.children[cellIndex].children[0].focus();
|
|
1264
1330
|
}
|
|
1265
1331
|
} else {
|
|
1266
1332
|
navigation.current = {
|
|
@@ -1271,46 +1337,58 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
1271
1337
|
event.preventDefault();
|
|
1272
1338
|
break;
|
|
1273
1339
|
}
|
|
1274
|
-
|
|
1275
|
-
//up arrow
|
|
1276
|
-
case 38:
|
|
1340
|
+
case 'ArrowUp':
|
|
1277
1341
|
{
|
|
1278
1342
|
cellContent.tabIndex = '-1';
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
var
|
|
1283
|
-
if (
|
|
1343
|
+
if (event.altKey) {
|
|
1344
|
+
hide(null, reFocusInputField);
|
|
1345
|
+
} else {
|
|
1346
|
+
var prevRow = cell.parentElement.previousElementSibling;
|
|
1347
|
+
if (prevRow) {
|
|
1348
|
+
var _tableRowIndex = utils.DomHandler.index(cell.parentElement);
|
|
1349
|
+
var _tableRows = Array.from(cell.parentElement.parentElement.children);
|
|
1350
|
+
var prevTableRows = _tableRows.slice(0, _tableRowIndex).reverse();
|
|
1351
|
+
var _hasNextFocusableDate = prevTableRows.find(function (el) {
|
|
1352
|
+
var focusCell = el.children[cellIndex].children[0];
|
|
1353
|
+
return !utils.DomHandler.getAttribute(focusCell, 'data-p-disabled');
|
|
1354
|
+
});
|
|
1355
|
+
if (_hasNextFocusableDate) {
|
|
1356
|
+
var _focusCell = _hasNextFocusableDate.children[cellIndex].children[0];
|
|
1357
|
+
_focusCell.tabIndex = '0';
|
|
1358
|
+
_focusCell.focus();
|
|
1359
|
+
} else {
|
|
1360
|
+
navigation.current = {
|
|
1361
|
+
backward: true
|
|
1362
|
+
};
|
|
1363
|
+
navBackward(event);
|
|
1364
|
+
}
|
|
1365
|
+
} else {
|
|
1284
1366
|
navigation.current = {
|
|
1285
1367
|
backward: true
|
|
1286
1368
|
};
|
|
1287
1369
|
navBackward(event);
|
|
1288
|
-
} else {
|
|
1289
|
-
_focusCell.tabIndex = '0';
|
|
1290
|
-
_focusCell.focus();
|
|
1291
1370
|
}
|
|
1292
|
-
} else {
|
|
1293
|
-
navigation.current = {
|
|
1294
|
-
backward: true
|
|
1295
|
-
};
|
|
1296
|
-
navBackward(event);
|
|
1297
1371
|
}
|
|
1298
1372
|
event.preventDefault();
|
|
1299
1373
|
break;
|
|
1300
1374
|
}
|
|
1301
|
-
|
|
1302
|
-
//left arrow
|
|
1303
|
-
case 37:
|
|
1375
|
+
case 'ArrowLeft':
|
|
1304
1376
|
{
|
|
1305
1377
|
cellContent.tabIndex = '-1';
|
|
1306
1378
|
var prevCell = cell.previousElementSibling;
|
|
1307
1379
|
if (prevCell) {
|
|
1308
|
-
var
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1380
|
+
var cells = Array.from(cell.parentElement.children);
|
|
1381
|
+
var prevCells = cells.slice(0, cellIndex).reverse();
|
|
1382
|
+
var _hasNextFocusableDate2 = prevCells.find(function (el) {
|
|
1383
|
+
var focusCell = el.children[0];
|
|
1384
|
+
return !utils.DomHandler.getAttribute(focusCell, 'data-p-disabled');
|
|
1385
|
+
});
|
|
1386
|
+
if (_hasNextFocusableDate2) {
|
|
1387
|
+
var _focusCell2 = _hasNextFocusableDate2.children[0];
|
|
1312
1388
|
_focusCell2.tabIndex = '0';
|
|
1313
1389
|
_focusCell2.focus();
|
|
1390
|
+
} else {
|
|
1391
|
+
navigateToMonth(true, groupIndex, event);
|
|
1314
1392
|
}
|
|
1315
1393
|
} else {
|
|
1316
1394
|
navigateToMonth(true, groupIndex, event);
|
|
@@ -1318,19 +1396,23 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
1318
1396
|
event.preventDefault();
|
|
1319
1397
|
break;
|
|
1320
1398
|
}
|
|
1321
|
-
|
|
1322
|
-
//right arrow
|
|
1323
|
-
case 39:
|
|
1399
|
+
case 'ArrowRight':
|
|
1324
1400
|
{
|
|
1325
1401
|
cellContent.tabIndex = '-1';
|
|
1326
1402
|
var nextCell = cell.nextElementSibling;
|
|
1327
1403
|
if (nextCell) {
|
|
1328
|
-
var
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1404
|
+
var _cells = Array.from(cell.parentElement.children);
|
|
1405
|
+
var nextCells = _cells.slice(cellIndex + 1);
|
|
1406
|
+
var _hasNextFocusableDate3 = nextCells.find(function (el) {
|
|
1407
|
+
var focusCell = el.children[0];
|
|
1408
|
+
return !utils.DomHandler.getAttribute(focusCell, 'data-p-disabled');
|
|
1409
|
+
});
|
|
1410
|
+
if (_hasNextFocusableDate3) {
|
|
1411
|
+
var _focusCell3 = _hasNextFocusableDate3.children[0];
|
|
1332
1412
|
_focusCell3.tabIndex = '0';
|
|
1333
1413
|
_focusCell3.focus();
|
|
1414
|
+
} else {
|
|
1415
|
+
navigateToMonth(false, groupIndex, event);
|
|
1334
1416
|
}
|
|
1335
1417
|
} else {
|
|
1336
1418
|
navigateToMonth(false, groupIndex, event);
|
|
@@ -1338,27 +1420,75 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
1338
1420
|
event.preventDefault();
|
|
1339
1421
|
break;
|
|
1340
1422
|
}
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
case
|
|
1423
|
+
case 'Enter':
|
|
1424
|
+
case 'NumpadEnter':
|
|
1425
|
+
case 'Space':
|
|
1344
1426
|
{
|
|
1345
1427
|
onDateSelect(event, date);
|
|
1346
1428
|
event.preventDefault();
|
|
1347
1429
|
break;
|
|
1348
1430
|
}
|
|
1349
|
-
|
|
1350
|
-
//escape
|
|
1351
|
-
case 27:
|
|
1431
|
+
case 'Escape':
|
|
1352
1432
|
{
|
|
1353
1433
|
hide(null, reFocusInputField);
|
|
1354
1434
|
event.preventDefault();
|
|
1355
1435
|
break;
|
|
1356
1436
|
}
|
|
1357
|
-
|
|
1358
|
-
//tab
|
|
1359
|
-
case 9:
|
|
1437
|
+
case 'Tab':
|
|
1360
1438
|
{
|
|
1361
|
-
trapFocus(event);
|
|
1439
|
+
if (!props.inline) trapFocus(event);
|
|
1440
|
+
break;
|
|
1441
|
+
}
|
|
1442
|
+
case 'Home':
|
|
1443
|
+
{
|
|
1444
|
+
cellContent.tabIndex = '-1';
|
|
1445
|
+
var currentRow = cell.parentElement;
|
|
1446
|
+
var _focusCell4 = currentRow.children[0].children[0];
|
|
1447
|
+
if (utils.DomHandler.getAttribute(_focusCell4, 'data-p-disabled')) {
|
|
1448
|
+
navigateToMonth(groupIndex, true, event);
|
|
1449
|
+
} else {
|
|
1450
|
+
_focusCell4.tabIndex = '0';
|
|
1451
|
+
_focusCell4.focus();
|
|
1452
|
+
}
|
|
1453
|
+
event.preventDefault();
|
|
1454
|
+
break;
|
|
1455
|
+
}
|
|
1456
|
+
case 'End':
|
|
1457
|
+
{
|
|
1458
|
+
cellContent.tabIndex = '-1';
|
|
1459
|
+
var _currentRow = cell.parentElement;
|
|
1460
|
+
var _focusCell5 = _currentRow.children[_currentRow.children.length - 1].children[0];
|
|
1461
|
+
if (utils.DomHandler.getAttribute(_focusCell5, 'data-p-disabled')) {
|
|
1462
|
+
navigateToMonth(groupIndex, false, event);
|
|
1463
|
+
} else {
|
|
1464
|
+
_focusCell5.tabIndex = '0';
|
|
1465
|
+
_focusCell5.focus();
|
|
1466
|
+
}
|
|
1467
|
+
event.preventDefault();
|
|
1468
|
+
break;
|
|
1469
|
+
}
|
|
1470
|
+
case 'PageUp':
|
|
1471
|
+
{
|
|
1472
|
+
cellContent.tabIndex = '-1';
|
|
1473
|
+
if (event.shiftKey) {
|
|
1474
|
+
navigation.current = {
|
|
1475
|
+
backward: true
|
|
1476
|
+
};
|
|
1477
|
+
navBackward(event);
|
|
1478
|
+
} else navigateToMonth(groupIndex, true, event);
|
|
1479
|
+
event.preventDefault();
|
|
1480
|
+
break;
|
|
1481
|
+
}
|
|
1482
|
+
case 'PageDown':
|
|
1483
|
+
{
|
|
1484
|
+
cellContent.tabIndex = '-1';
|
|
1485
|
+
if (event.shiftKey) {
|
|
1486
|
+
navigation.current = {
|
|
1487
|
+
backward: false
|
|
1488
|
+
};
|
|
1489
|
+
navForward(event);
|
|
1490
|
+
} else navigateToMonth(groupIndex, false, event);
|
|
1491
|
+
event.preventDefault();
|
|
1362
1492
|
break;
|
|
1363
1493
|
}
|
|
1364
1494
|
}
|
|
@@ -1385,18 +1515,18 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
1385
1515
|
navForward(event);
|
|
1386
1516
|
} else {
|
|
1387
1517
|
var nextMonthContainer = overlayRef.current.children[groupIndex + 1];
|
|
1388
|
-
var
|
|
1389
|
-
|
|
1390
|
-
|
|
1518
|
+
var _focusCell6 = utils.DomHandler.findSingle(nextMonthContainer, 'table td span:not([data-p-disabled="true"])');
|
|
1519
|
+
_focusCell6.tabIndex = '0';
|
|
1520
|
+
_focusCell6.focus();
|
|
1391
1521
|
}
|
|
1392
1522
|
}
|
|
1393
1523
|
};
|
|
1394
1524
|
var onMonthCellKeydown = function onMonthCellKeydown(event, index) {
|
|
1395
1525
|
var cell = event.currentTarget;
|
|
1396
|
-
switch (event.
|
|
1526
|
+
switch (event.code) {
|
|
1397
1527
|
//arrows
|
|
1398
|
-
case
|
|
1399
|
-
case
|
|
1528
|
+
case 'ArrowUp':
|
|
1529
|
+
case 'ArrowDown':
|
|
1400
1530
|
{
|
|
1401
1531
|
cell.tabIndex = '-1';
|
|
1402
1532
|
var cells = cell.parentElement.children;
|
|
@@ -1409,51 +1539,162 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
1409
1539
|
event.preventDefault();
|
|
1410
1540
|
break;
|
|
1411
1541
|
}
|
|
1412
|
-
|
|
1413
|
-
//left arrow
|
|
1414
|
-
case 37:
|
|
1542
|
+
case 'ArrowLeft':
|
|
1415
1543
|
{
|
|
1416
1544
|
cell.tabIndex = '-1';
|
|
1417
1545
|
var prevCell = cell.previousElementSibling;
|
|
1418
1546
|
if (prevCell) {
|
|
1419
1547
|
prevCell.tabIndex = '0';
|
|
1420
1548
|
prevCell.focus();
|
|
1549
|
+
} else {
|
|
1550
|
+
navigation.current = {
|
|
1551
|
+
backward: true
|
|
1552
|
+
};
|
|
1553
|
+
navBackward(event);
|
|
1421
1554
|
}
|
|
1422
1555
|
event.preventDefault();
|
|
1423
1556
|
break;
|
|
1424
1557
|
}
|
|
1425
|
-
|
|
1426
|
-
//right arrow
|
|
1427
|
-
case 39:
|
|
1558
|
+
case 'ArrowRight':
|
|
1428
1559
|
{
|
|
1429
1560
|
cell.tabIndex = '-1';
|
|
1430
1561
|
var _nextCell = cell.nextElementSibling;
|
|
1431
1562
|
if (_nextCell) {
|
|
1432
1563
|
_nextCell.tabIndex = '0';
|
|
1433
1564
|
_nextCell.focus();
|
|
1565
|
+
} else {
|
|
1566
|
+
navigation.current = {
|
|
1567
|
+
backward: false
|
|
1568
|
+
};
|
|
1569
|
+
navForward(event);
|
|
1434
1570
|
}
|
|
1435
1571
|
event.preventDefault();
|
|
1436
1572
|
break;
|
|
1437
1573
|
}
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1574
|
+
case 'PageUp':
|
|
1575
|
+
{
|
|
1576
|
+
if (event.shiftKey) return;
|
|
1577
|
+
navigation.current = {
|
|
1578
|
+
backward: true
|
|
1579
|
+
};
|
|
1580
|
+
navBackward(event);
|
|
1581
|
+
break;
|
|
1582
|
+
}
|
|
1583
|
+
case 'PageDown':
|
|
1584
|
+
{
|
|
1585
|
+
if (event.shiftKey) return;
|
|
1586
|
+
navigation.current = {
|
|
1587
|
+
backward: false
|
|
1588
|
+
};
|
|
1589
|
+
navForward(event);
|
|
1590
|
+
break;
|
|
1591
|
+
}
|
|
1592
|
+
case 'Enter':
|
|
1593
|
+
case 'NumpadEnter':
|
|
1594
|
+
case 'Space':
|
|
1441
1595
|
{
|
|
1596
|
+
if (props.view !== 'month') viewChangedWithKeyDown.current = true;
|
|
1442
1597
|
onMonthSelect(event, index);
|
|
1443
1598
|
event.preventDefault();
|
|
1444
1599
|
break;
|
|
1445
1600
|
}
|
|
1446
|
-
|
|
1447
|
-
//escape
|
|
1448
|
-
case 27:
|
|
1601
|
+
case 'Escape':
|
|
1449
1602
|
{
|
|
1450
1603
|
hide(null, reFocusInputField);
|
|
1451
1604
|
event.preventDefault();
|
|
1452
1605
|
break;
|
|
1453
1606
|
}
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1607
|
+
case 'Tab':
|
|
1608
|
+
{
|
|
1609
|
+
trapFocus(event);
|
|
1610
|
+
break;
|
|
1611
|
+
}
|
|
1612
|
+
}
|
|
1613
|
+
};
|
|
1614
|
+
var onYearCellKeydown = function onYearCellKeydown(event, index) {
|
|
1615
|
+
var cell = event.currentTarget;
|
|
1616
|
+
switch (event.code) {
|
|
1617
|
+
//arrows
|
|
1618
|
+
case 'ArrowUp':
|
|
1619
|
+
case 'ArrowDown':
|
|
1620
|
+
{
|
|
1621
|
+
cell.tabIndex = '-1';
|
|
1622
|
+
var cells = cell.parentElement.children;
|
|
1623
|
+
var cellIndex = utils.DomHandler.index(cell);
|
|
1624
|
+
var nextCell = cells[event.code === 'ArrowDown' ? cellIndex + 2 : cellIndex - 2];
|
|
1625
|
+
if (nextCell) {
|
|
1626
|
+
nextCell.tabIndex = '0';
|
|
1627
|
+
nextCell.focus();
|
|
1628
|
+
}
|
|
1629
|
+
event.preventDefault();
|
|
1630
|
+
break;
|
|
1631
|
+
}
|
|
1632
|
+
case 'ArrowLeft':
|
|
1633
|
+
{
|
|
1634
|
+
cell.tabIndex = '-1';
|
|
1635
|
+
var prevCell = cell.previousElementSibling;
|
|
1636
|
+
if (prevCell) {
|
|
1637
|
+
prevCell.tabIndex = '0';
|
|
1638
|
+
prevCell.focus();
|
|
1639
|
+
} else {
|
|
1640
|
+
navigation.current = {
|
|
1641
|
+
backward: true
|
|
1642
|
+
};
|
|
1643
|
+
navBackward(event);
|
|
1644
|
+
}
|
|
1645
|
+
event.preventDefault();
|
|
1646
|
+
break;
|
|
1647
|
+
}
|
|
1648
|
+
case 'ArrowRight':
|
|
1649
|
+
{
|
|
1650
|
+
cell.tabIndex = '-1';
|
|
1651
|
+
var _nextCell2 = cell.nextElementSibling;
|
|
1652
|
+
if (_nextCell2) {
|
|
1653
|
+
_nextCell2.tabIndex = '0';
|
|
1654
|
+
_nextCell2.focus();
|
|
1655
|
+
} else {
|
|
1656
|
+
navigation.current = {
|
|
1657
|
+
backward: false
|
|
1658
|
+
};
|
|
1659
|
+
navForward(event);
|
|
1660
|
+
}
|
|
1661
|
+
event.preventDefault();
|
|
1662
|
+
break;
|
|
1663
|
+
}
|
|
1664
|
+
case 'PageUp':
|
|
1665
|
+
{
|
|
1666
|
+
if (event.shiftKey) return;
|
|
1667
|
+
navigation.current = {
|
|
1668
|
+
backward: true
|
|
1669
|
+
};
|
|
1670
|
+
navBackward(event);
|
|
1671
|
+
break;
|
|
1672
|
+
}
|
|
1673
|
+
case 'PageDown':
|
|
1674
|
+
{
|
|
1675
|
+
if (event.shiftKey) return;
|
|
1676
|
+
navigation.current = {
|
|
1677
|
+
backward: false
|
|
1678
|
+
};
|
|
1679
|
+
navForward(event);
|
|
1680
|
+
break;
|
|
1681
|
+
}
|
|
1682
|
+
case 'Enter':
|
|
1683
|
+
case 'NumpadEnter':
|
|
1684
|
+
case 'Space':
|
|
1685
|
+
{
|
|
1686
|
+
if (props.view !== 'year') viewChangedWithKeyDown.current = true;
|
|
1687
|
+
onYearSelect(event, index);
|
|
1688
|
+
event.preventDefault();
|
|
1689
|
+
break;
|
|
1690
|
+
}
|
|
1691
|
+
case 'Escape':
|
|
1692
|
+
{
|
|
1693
|
+
hide(null, reFocusInputField);
|
|
1694
|
+
event.preventDefault();
|
|
1695
|
+
break;
|
|
1696
|
+
}
|
|
1697
|
+
case 'Tab':
|
|
1457
1698
|
{
|
|
1458
1699
|
trapFocus(event);
|
|
1459
1700
|
break;
|
|
@@ -1570,10 +1811,16 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
1570
1811
|
return _currentYear;
|
|
1571
1812
|
};
|
|
1572
1813
|
var switchToMonthView = function switchToMonthView(event) {
|
|
1814
|
+
if (event && event.code && (event.code === 'Enter' || event.code === 'Space')) {
|
|
1815
|
+
viewChangedWithKeyDown.current = true;
|
|
1816
|
+
}
|
|
1573
1817
|
setCurrentView('month');
|
|
1574
1818
|
event.preventDefault();
|
|
1575
1819
|
};
|
|
1576
1820
|
var switchToYearView = function switchToYearView(event) {
|
|
1821
|
+
if (event && event.code && (event.code === 'Enter' || event.code === 'Space')) {
|
|
1822
|
+
viewChangedWithKeyDown.current = true;
|
|
1823
|
+
}
|
|
1577
1824
|
setCurrentView('year');
|
|
1578
1825
|
event.preventDefault();
|
|
1579
1826
|
};
|
|
@@ -1714,7 +1961,6 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
1714
1961
|
var onOverlayEntered = function onOverlayEntered() {
|
|
1715
1962
|
bindOverlayListener();
|
|
1716
1963
|
props.onShow && props.onShow();
|
|
1717
|
-
utils.DomHandler.focusFirstElement(overlayRef.current);
|
|
1718
1964
|
setFocusedState(false);
|
|
1719
1965
|
};
|
|
1720
1966
|
var onOverlayExit = function onOverlayExit() {
|
|
@@ -2585,6 +2831,10 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
2585
2831
|
setCurrentMonth(viewDate.getMonth());
|
|
2586
2832
|
setCurrentYear(viewDate.getFullYear());
|
|
2587
2833
|
setCurrentView(props.view);
|
|
2834
|
+
if (!idState) {
|
|
2835
|
+
var uniqueId = utils.UniqueComponentId();
|
|
2836
|
+
!idState && setIdState(uniqueId);
|
|
2837
|
+
}
|
|
2588
2838
|
if (props.inline) {
|
|
2589
2839
|
overlayRef && overlayRef.current.setAttribute(attributeSelector, '');
|
|
2590
2840
|
if (!props.disabled) {
|
|
@@ -2632,8 +2882,14 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
2632
2882
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
2633
2883
|
}, [props.disabled, props.mask, props.readOnlyInput]);
|
|
2634
2884
|
hooks.useUpdateEffect(function () {
|
|
2635
|
-
|
|
2885
|
+
if (viewChangedWithKeyDown.current) {
|
|
2886
|
+
setCurrentView(props.view);
|
|
2887
|
+
}
|
|
2888
|
+
viewChangedWithKeyDown.current = false;
|
|
2636
2889
|
}, [props.view]);
|
|
2890
|
+
hooks.useUpdateEffect(function () {
|
|
2891
|
+
focusToFirstCell();
|
|
2892
|
+
}, [currentView]);
|
|
2637
2893
|
hooks.useUpdateEffect(function () {
|
|
2638
2894
|
if (!props.onViewDateChange && !viewStateChanged.current) {
|
|
2639
2895
|
setValue(props.value);
|
|
@@ -2724,12 +2980,16 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
2724
2980
|
if (Array.isArray(prevPropValue)) {
|
|
2725
2981
|
prevPropValue = prevPropValue[0];
|
|
2726
2982
|
}
|
|
2983
|
+
var viewDate = props.viewDate && isValidDate(props.viewDate) ? props.viewDate : propValue && isValidDate(propValue) ? propValue : new Date();
|
|
2984
|
+
if (isClearClicked.current && props.showTime) {
|
|
2985
|
+
viewDate.setHours(0, 0, 0);
|
|
2986
|
+
isClearClicked.current = false;
|
|
2987
|
+
}
|
|
2727
2988
|
if (!prevPropValue && propValue || propValue && propValue instanceof Date && propValue.getTime() !== prevPropValue.getTime()) {
|
|
2728
|
-
var viewDate = props.viewDate && isValidDate(props.viewDate) ? props.viewDate : propValue && isValidDate(propValue) ? propValue : new Date();
|
|
2729
2989
|
validateDate(viewDate);
|
|
2730
|
-
setViewDateState(viewDate);
|
|
2731
|
-
viewStateChanged.current = true;
|
|
2732
2990
|
}
|
|
2991
|
+
setViewDateState(viewDate);
|
|
2992
|
+
viewStateChanged.current = true;
|
|
2733
2993
|
};
|
|
2734
2994
|
var createBackwardNavigator = function createBackwardNavigator(isVisible) {
|
|
2735
2995
|
var navigatorProps = isVisible ? {
|
|
@@ -2749,9 +3009,15 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
2749
3009
|
var backwardNavigatorIcon = utils.IconUtils.getJSXIcon(icon, _objectSpread({}, previousIconProps), {
|
|
2750
3010
|
props: props
|
|
2751
3011
|
});
|
|
3012
|
+
var _localeOptions4 = PrimeReact.localeOptions(props.locale),
|
|
3013
|
+
prevDecade = _localeOptions4.prevDecade,
|
|
3014
|
+
prevYear = _localeOptions4.prevYear,
|
|
3015
|
+
prevMonth = _localeOptions4.prevMonth;
|
|
3016
|
+
var previousButtonLabel = currentView === 'year' ? prevDecade : currentView === 'month' ? prevYear : prevMonth;
|
|
2752
3017
|
var previousButtonProps = mergeProps(_objectSpread({
|
|
2753
3018
|
type: 'button',
|
|
2754
|
-
className: cx('previousButton')
|
|
3019
|
+
className: cx('previousButton'),
|
|
3020
|
+
'aria-label': previousButtonLabel
|
|
2755
3021
|
}, navigatorProps), ptm('previousButton'));
|
|
2756
3022
|
return /*#__PURE__*/React__namespace.createElement("button", _extends({
|
|
2757
3023
|
ref: previousButton
|
|
@@ -2775,9 +3041,15 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
2775
3041
|
var forwardNavigatorIcon = utils.IconUtils.getJSXIcon(icon, _objectSpread({}, nextIconProps), {
|
|
2776
3042
|
props: props
|
|
2777
3043
|
});
|
|
3044
|
+
var _localeOptions5 = PrimeReact.localeOptions(props.locale),
|
|
3045
|
+
nextDecade = _localeOptions5.nextDecade,
|
|
3046
|
+
nextYear = _localeOptions5.nextYear,
|
|
3047
|
+
nextMonth = _localeOptions5.nextMonth;
|
|
3048
|
+
var nextButtonLabel = currentView === 'year' ? nextDecade : currentView === 'month' ? nextYear : nextMonth;
|
|
2778
3049
|
var nextButtonProps = mergeProps(_objectSpread({
|
|
2779
3050
|
type: 'button',
|
|
2780
|
-
className: cx('nextButton')
|
|
3051
|
+
className: cx('nextButton'),
|
|
3052
|
+
'aria-label': nextButtonLabel
|
|
2781
3053
|
}, navigatorProps), ptm('nextButton'));
|
|
2782
3054
|
return /*#__PURE__*/React__namespace.createElement("button", _extends({
|
|
2783
3055
|
ref: nextButton
|
|
@@ -2834,6 +3106,8 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
2834
3106
|
}
|
|
2835
3107
|
var monthTitleProps = mergeProps({
|
|
2836
3108
|
className: cx('monthTitle'),
|
|
3109
|
+
onKeyDown: onContainerButtonKeydown,
|
|
3110
|
+
'aria-label': PrimeReact.localeOption('chooseMonth', props.locale),
|
|
2837
3111
|
onClick: switchToMonthView,
|
|
2838
3112
|
disabled: switchViewButtonDisabled()
|
|
2839
3113
|
}, ptm('monthTitle'));
|
|
@@ -2892,6 +3166,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
2892
3166
|
var displayYear = props.numberOfMonths > 1 ? metaYear : currentYear;
|
|
2893
3167
|
var yearTitleProps = mergeProps({
|
|
2894
3168
|
className: cx('yearTitle'),
|
|
3169
|
+
'aria-label': PrimeReact.localeOption('chooseYear', props.locale),
|
|
2895
3170
|
onClick: function onClick(e) {
|
|
2896
3171
|
return switchToYearView(e);
|
|
2897
3172
|
},
|
|
@@ -2950,25 +3225,33 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
2950
3225
|
};
|
|
2951
3226
|
var createDateCellContent = function createDateCellContent(date, className, groupIndex) {
|
|
2952
3227
|
var content = props.dateTemplate ? props.dateTemplate(date) : date.day;
|
|
3228
|
+
var selected = isSelected(date);
|
|
2953
3229
|
var dayLabelProps = mergeProps({
|
|
2954
3230
|
className: cx('dayLabel', {
|
|
2955
3231
|
className: className
|
|
2956
3232
|
}),
|
|
3233
|
+
'aria-selected': selected,
|
|
3234
|
+
'aria-disabled': !date.selectable,
|
|
2957
3235
|
onClick: function onClick(e) {
|
|
2958
3236
|
return onDateSelect(e, date);
|
|
2959
3237
|
},
|
|
2960
3238
|
onKeyDown: function onKeyDown(e) {
|
|
2961
3239
|
return onDateCellKeydown(e, date, groupIndex);
|
|
2962
3240
|
},
|
|
2963
|
-
'data-p-highlight':
|
|
3241
|
+
'data-p-highlight': selected,
|
|
2964
3242
|
'data-p-disabled': !date.selectable
|
|
2965
3243
|
}, ptm('dayLabel', {
|
|
2966
3244
|
context: {
|
|
2967
|
-
selected:
|
|
3245
|
+
selected: selected,
|
|
2968
3246
|
disabled: !date.selectable
|
|
2969
3247
|
}
|
|
2970
3248
|
}));
|
|
2971
|
-
return /*#__PURE__*/React__namespace.createElement("span", dayLabelProps, content
|
|
3249
|
+
return /*#__PURE__*/React__namespace.createElement("span", dayLabelProps, content, selected && /*#__PURE__*/React__namespace.createElement("div", {
|
|
3250
|
+
"aria-live": "polite",
|
|
3251
|
+
className: "p-hidden-accessible",
|
|
3252
|
+
"data-p-hidden-accessible": true,
|
|
3253
|
+
pt: ptm('hiddenSelectedDay')
|
|
3254
|
+
}));
|
|
2972
3255
|
};
|
|
2973
3256
|
var createWeek = function createWeek(weekDates, weekNumber, groupIndex) {
|
|
2974
3257
|
var week = weekDates.map(function (date) {
|
|
@@ -2982,6 +3265,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
2982
3265
|
className: cx('day', {
|
|
2983
3266
|
date: date
|
|
2984
3267
|
}),
|
|
3268
|
+
'aria-label': date.day,
|
|
2985
3269
|
'data-p-today': date.today,
|
|
2986
3270
|
'data-p-other-month': date.otherMonth
|
|
2987
3271
|
}, ptm('day', {
|
|
@@ -3030,6 +3314,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3030
3314
|
key: utils.UniqueComponentId('calendar_container_')
|
|
3031
3315
|
}, ptm('container'));
|
|
3032
3316
|
var tableProps = mergeProps({
|
|
3317
|
+
role: 'grid',
|
|
3033
3318
|
className: cx('table')
|
|
3034
3319
|
}, ptm('table'));
|
|
3035
3320
|
var tableHeaderProps = mergeProps(ptm('tableHeader'));
|
|
@@ -3133,6 +3418,9 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3133
3418
|
if (hour === 0) hour = 12;else if (hour > 11 && hour !== 12) hour = hour - 12;
|
|
3134
3419
|
}
|
|
3135
3420
|
var hourProps = mergeProps(ptm('hour'));
|
|
3421
|
+
var _localeOptions6 = PrimeReact.localeOptions(props.locale),
|
|
3422
|
+
nextHour = _localeOptions6.nextHour,
|
|
3423
|
+
prevHour = _localeOptions6.prevHour;
|
|
3136
3424
|
var hourDisplay = hour < 10 ? '0' + hour : hour;
|
|
3137
3425
|
var hourPickerProps = mergeProps({
|
|
3138
3426
|
className: cx('hourPicker')
|
|
@@ -3140,26 +3428,30 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3140
3428
|
var incrementButtonProps = mergeProps({
|
|
3141
3429
|
type: 'button',
|
|
3142
3430
|
className: cx('incrementButton'),
|
|
3431
|
+
'aria-label': nextHour,
|
|
3143
3432
|
onMouseDown: function onMouseDown(e) {
|
|
3144
3433
|
return onTimePickerElementMouseDown(e, 0, 1);
|
|
3145
3434
|
},
|
|
3146
3435
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3147
3436
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3148
3437
|
onKeyDown: function onKeyDown(e) {
|
|
3149
|
-
return
|
|
3150
|
-
}
|
|
3438
|
+
return onPickerKeyDown(e, 0, 1);
|
|
3439
|
+
},
|
|
3440
|
+
onKeyUp: onPickerKeyUp
|
|
3151
3441
|
}, ptm('incrementButton'));
|
|
3152
3442
|
var decrementButtonProps = mergeProps({
|
|
3153
3443
|
type: 'button',
|
|
3154
3444
|
className: cx('decrementButton'),
|
|
3445
|
+
'aria-label': prevHour,
|
|
3155
3446
|
onMouseDown: function onMouseDown(e) {
|
|
3156
3447
|
return onTimePickerElementMouseDown(e, 0, -1);
|
|
3157
3448
|
},
|
|
3158
3449
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3159
3450
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3160
3451
|
onKeyDown: function onKeyDown(e) {
|
|
3161
|
-
return
|
|
3162
|
-
}
|
|
3452
|
+
return onPickerKeyDown(e, 0, -1);
|
|
3453
|
+
},
|
|
3454
|
+
onKeyUp: onPickerKeyUp
|
|
3163
3455
|
}, ptm('decrementButton'));
|
|
3164
3456
|
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)));
|
|
3165
3457
|
};
|
|
@@ -3168,6 +3460,9 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3168
3460
|
var minute = doStepMinute(currentTime.getMinutes());
|
|
3169
3461
|
minute = minute > 59 ? minute - 60 : minute;
|
|
3170
3462
|
var minuteProps = mergeProps(ptm('minute'));
|
|
3463
|
+
var _localeOptions7 = PrimeReact.localeOptions(props.locale),
|
|
3464
|
+
nextMinute = _localeOptions7.nextMinute,
|
|
3465
|
+
prevMinute = _localeOptions7.prevMinute;
|
|
3171
3466
|
var minuteDisplay = minute < 10 ? '0' + minute : minute;
|
|
3172
3467
|
var minutePickerProps = mergeProps({
|
|
3173
3468
|
className: cx('minutePicker')
|
|
@@ -3175,32 +3470,39 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3175
3470
|
var incrementButtonProps = mergeProps({
|
|
3176
3471
|
type: 'button',
|
|
3177
3472
|
className: cx('incrementButton'),
|
|
3473
|
+
'aria-label': nextMinute,
|
|
3178
3474
|
onMouseDown: function onMouseDown(e) {
|
|
3179
3475
|
return onTimePickerElementMouseDown(e, 1, 1);
|
|
3180
3476
|
},
|
|
3181
3477
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3182
3478
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3183
3479
|
onKeyDown: function onKeyDown(e) {
|
|
3184
|
-
return
|
|
3185
|
-
}
|
|
3480
|
+
return onPickerKeyDown(e, 1, 1);
|
|
3481
|
+
},
|
|
3482
|
+
onKeyUp: onPickerKeyUp
|
|
3186
3483
|
}, ptm('incrementButton'));
|
|
3187
3484
|
var decrementButtonProps = mergeProps({
|
|
3188
3485
|
type: 'button',
|
|
3189
3486
|
className: cx('decrementButton'),
|
|
3487
|
+
'aria-label': prevMinute,
|
|
3190
3488
|
onMouseDown: function onMouseDown(e) {
|
|
3191
3489
|
return onTimePickerElementMouseDown(e, 1, -1);
|
|
3192
3490
|
},
|
|
3193
3491
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3194
3492
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3195
3493
|
onKeyDown: function onKeyDown(e) {
|
|
3196
|
-
return
|
|
3197
|
-
}
|
|
3494
|
+
return onPickerKeyDown(e, 1, -1);
|
|
3495
|
+
},
|
|
3496
|
+
onKeyUp: onPickerKeyUp
|
|
3198
3497
|
}, ptm('decrementButton'));
|
|
3199
3498
|
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)));
|
|
3200
3499
|
};
|
|
3201
3500
|
var createSecondPicker = function createSecondPicker() {
|
|
3202
3501
|
if (props.showSeconds) {
|
|
3203
3502
|
var currentTime = getCurrentDateTime();
|
|
3503
|
+
var _localeOptions8 = PrimeReact.localeOptions(props.locale),
|
|
3504
|
+
nextSecond = _localeOptions8.nextSecond,
|
|
3505
|
+
prevSecond = _localeOptions8.prevSecond;
|
|
3204
3506
|
var secondProps = mergeProps(ptm('second'));
|
|
3205
3507
|
var second = currentTime.getSeconds();
|
|
3206
3508
|
var secondDisplay = second < 10 ? '0' + second : second;
|
|
@@ -3210,26 +3512,30 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3210
3512
|
var incrementButtonProps = mergeProps({
|
|
3211
3513
|
type: 'button',
|
|
3212
3514
|
className: cx('incrementButton'),
|
|
3515
|
+
'aria-label': nextSecond,
|
|
3213
3516
|
onMouseDown: function onMouseDown(e) {
|
|
3214
3517
|
return onTimePickerElementMouseDown(e, 2, 1);
|
|
3215
3518
|
},
|
|
3216
3519
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3217
3520
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3218
3521
|
onKeyDown: function onKeyDown(e) {
|
|
3219
|
-
return
|
|
3220
|
-
}
|
|
3522
|
+
return onPickerKeyDown(e, 2, 1);
|
|
3523
|
+
},
|
|
3524
|
+
onKeyUp: onPickerKeyUp
|
|
3221
3525
|
}, ptm('incrementButton'));
|
|
3222
3526
|
var decrementButtonProps = mergeProps({
|
|
3223
3527
|
type: 'button',
|
|
3224
3528
|
className: cx('decrementButton'),
|
|
3529
|
+
'aria-label': prevSecond,
|
|
3225
3530
|
onMouseDown: function onMouseDown(e) {
|
|
3226
3531
|
return onTimePickerElementMouseDown(e, 2, -1);
|
|
3227
3532
|
},
|
|
3228
3533
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3229
3534
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3230
3535
|
onKeyDown: function onKeyDown(e) {
|
|
3231
|
-
return
|
|
3232
|
-
}
|
|
3536
|
+
return onPickerKeyDown(e, 2, -1);
|
|
3537
|
+
},
|
|
3538
|
+
onKeyUp: onPickerKeyUp
|
|
3233
3539
|
}, ptm('decrementButton'));
|
|
3234
3540
|
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)));
|
|
3235
3541
|
}
|
|
@@ -3238,6 +3544,9 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3238
3544
|
var createMiliSecondPicker = function createMiliSecondPicker() {
|
|
3239
3545
|
if (props.showMillisec) {
|
|
3240
3546
|
var currentTime = getCurrentDateTime();
|
|
3547
|
+
var _localeOptions9 = PrimeReact.localeOptions(props.locale),
|
|
3548
|
+
nextMilliSecond = _localeOptions9.nextMilliSecond,
|
|
3549
|
+
prevMilliSecond = _localeOptions9.prevMilliSecond;
|
|
3241
3550
|
var millisecondProps = mergeProps(ptm('millisecond'));
|
|
3242
3551
|
var millisecond = currentTime.getMilliseconds();
|
|
3243
3552
|
var millisecondDisplay = millisecond < 100 ? (millisecond < 10 ? '00' : '0') + millisecond : millisecond;
|
|
@@ -3247,26 +3556,30 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3247
3556
|
var incrementButtonProps = mergeProps({
|
|
3248
3557
|
type: 'button',
|
|
3249
3558
|
className: cx('incrementButton'),
|
|
3559
|
+
'aria-label': nextMilliSecond,
|
|
3250
3560
|
onMouseDown: function onMouseDown(e) {
|
|
3251
3561
|
return onTimePickerElementMouseDown(e, 3, 1);
|
|
3252
3562
|
},
|
|
3253
3563
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3254
3564
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3255
3565
|
onKeyDown: function onKeyDown(e) {
|
|
3256
|
-
return
|
|
3257
|
-
}
|
|
3566
|
+
return onPickerKeyDown(e, 3, 1);
|
|
3567
|
+
},
|
|
3568
|
+
onKeyUp: onPickerKeyUp
|
|
3258
3569
|
}, ptm('incrementButton'));
|
|
3259
3570
|
var decrementButtonProps = mergeProps({
|
|
3260
3571
|
type: 'button',
|
|
3261
3572
|
className: cx('decrementButton'),
|
|
3573
|
+
'aria-label': prevMilliSecond,
|
|
3262
3574
|
onMouseDown: function onMouseDown(e) {
|
|
3263
3575
|
return onTimePickerElementMouseDown(e, 3, -1);
|
|
3264
3576
|
},
|
|
3265
3577
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3266
3578
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3267
3579
|
onKeyDown: function onKeyDown(e) {
|
|
3268
|
-
return
|
|
3269
|
-
}
|
|
3580
|
+
return onPickerKeyDown(e, 3, -1);
|
|
3581
|
+
},
|
|
3582
|
+
onKeyUp: onPickerKeyUp
|
|
3270
3583
|
}, ptm('decrementButton'));
|
|
3271
3584
|
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)));
|
|
3272
3585
|
}
|
|
@@ -3275,6 +3588,9 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3275
3588
|
var createAmPmPicker = function createAmPmPicker() {
|
|
3276
3589
|
if (props.hourFormat === '12') {
|
|
3277
3590
|
var currentTime = getCurrentDateTime();
|
|
3591
|
+
var _localeOptions10 = PrimeReact.localeOptions(props.locale),
|
|
3592
|
+
am = _localeOptions10.am,
|
|
3593
|
+
pm = _localeOptions10.pm;
|
|
3278
3594
|
var hour = currentTime.getHours();
|
|
3279
3595
|
var display = hour > 11 ? 'PM' : 'AM';
|
|
3280
3596
|
var ampmProps = mergeProps(ptm('ampm'));
|
|
@@ -3284,6 +3600,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3284
3600
|
var incrementButtonProps = mergeProps({
|
|
3285
3601
|
type: 'button',
|
|
3286
3602
|
className: cx('incrementButton'),
|
|
3603
|
+
'aria-label': am,
|
|
3287
3604
|
onClick: function onClick(e) {
|
|
3288
3605
|
return toggleAmPm(e);
|
|
3289
3606
|
}
|
|
@@ -3291,6 +3608,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3291
3608
|
var decrementButtonProps = mergeProps({
|
|
3292
3609
|
type: 'button',
|
|
3293
3610
|
className: cx('decrementButton'),
|
|
3611
|
+
'aria-label': pm,
|
|
3294
3612
|
onClick: function onClick(e) {
|
|
3295
3613
|
return toggleAmPm(e);
|
|
3296
3614
|
}
|
|
@@ -3322,6 +3640,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3322
3640
|
id: props.inputId,
|
|
3323
3641
|
name: props.name,
|
|
3324
3642
|
type: "text",
|
|
3643
|
+
role: "combobox",
|
|
3325
3644
|
className: props.inputClassName,
|
|
3326
3645
|
style: props.inputStyle,
|
|
3327
3646
|
readOnly: props.readOnlyInput,
|
|
@@ -3334,7 +3653,12 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3334
3653
|
onFocus: onInputFocus,
|
|
3335
3654
|
onBlur: onInputBlur,
|
|
3336
3655
|
onKeyDown: onInputKeyDown,
|
|
3656
|
+
"aria-expanded": overlayVisibleState,
|
|
3657
|
+
"aria-autocomplete": "none",
|
|
3658
|
+
"aria-haspopup": "dialog",
|
|
3659
|
+
"aria-controls": panelId,
|
|
3337
3660
|
"aria-labelledby": props.ariaLabelledBy,
|
|
3661
|
+
"aria-label": props.ariaLabel,
|
|
3338
3662
|
inputMode: props.inputMode,
|
|
3339
3663
|
tooltip: props.tooltip,
|
|
3340
3664
|
tooltipOptions: props.tooltipOptions,
|
|
@@ -3354,6 +3678,10 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3354
3678
|
onClick: onButtonClick,
|
|
3355
3679
|
tabIndex: "-1",
|
|
3356
3680
|
disabled: props.disabled,
|
|
3681
|
+
"aria-haspopup": "dialog",
|
|
3682
|
+
"aria-label": PrimeReact.localeOption('chooseDate', props.locale),
|
|
3683
|
+
"aria-expanded": overlayVisibleState,
|
|
3684
|
+
"aria-controls": panelId,
|
|
3357
3685
|
className: cx('dropdownButton'),
|
|
3358
3686
|
pt: ptm('dropdownButton'),
|
|
3359
3687
|
__parentMetadata: {
|
|
@@ -3373,21 +3701,27 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3373
3701
|
};
|
|
3374
3702
|
var createButtonBar = function createButtonBar() {
|
|
3375
3703
|
if (props.showButtonBar) {
|
|
3376
|
-
var
|
|
3377
|
-
today =
|
|
3378
|
-
clear =
|
|
3704
|
+
var _localeOptions11 = PrimeReact.localeOptions(props.locale),
|
|
3705
|
+
today = _localeOptions11.today,
|
|
3706
|
+
clear = _localeOptions11.clear,
|
|
3707
|
+
now = _localeOptions11.now;
|
|
3708
|
+
var nowDate = new Date();
|
|
3709
|
+
var isHidden = props.minDate && props.minDate > nowDate || props.maxDate && props.maxDate < nowDate;
|
|
3379
3710
|
var buttonbarProps = mergeProps({
|
|
3380
3711
|
className: cx('buttonbar')
|
|
3381
3712
|
}, ptm('buttonbar'));
|
|
3382
3713
|
return /*#__PURE__*/React__namespace.createElement("div", buttonbarProps, /*#__PURE__*/React__namespace.createElement(button.Button, {
|
|
3383
3714
|
type: "button",
|
|
3384
|
-
label: today,
|
|
3715
|
+
label: props.showTime ? now : today,
|
|
3385
3716
|
onClick: onTodayButtonClick,
|
|
3386
3717
|
onKeyDown: function onKeyDown(e) {
|
|
3387
3718
|
return onContainerButtonKeydown(e);
|
|
3388
3719
|
},
|
|
3389
3720
|
className: utils.classNames(props.todayButtonClassName, cx('todayButton')),
|
|
3390
|
-
pt: ptm('todayButton')
|
|
3721
|
+
pt: ptm('todayButton'),
|
|
3722
|
+
style: isHidden ? {
|
|
3723
|
+
visibility: 'hidden'
|
|
3724
|
+
} : undefined
|
|
3391
3725
|
}), /*#__PURE__*/React__namespace.createElement(button.Button, {
|
|
3392
3726
|
type: "button",
|
|
3393
3727
|
label: clear,
|
|
@@ -3417,6 +3751,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3417
3751
|
className: cx('monthPicker')
|
|
3418
3752
|
}, ptm('monthPicker'));
|
|
3419
3753
|
return /*#__PURE__*/React__namespace.createElement("div", monthPickerProps, monthPickerValues().map(function (m, i) {
|
|
3754
|
+
var selected = isMonthSelected(i);
|
|
3420
3755
|
var monthProps = mergeProps({
|
|
3421
3756
|
className: cx('month', {
|
|
3422
3757
|
isMonthSelected: isMonthSelected,
|
|
@@ -3431,18 +3766,23 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3431
3766
|
return onMonthCellKeydown(event, i);
|
|
3432
3767
|
},
|
|
3433
3768
|
'data-p-disabled': isMonthYearDisabled(i, currentYear),
|
|
3434
|
-
'data-p-highlight':
|
|
3769
|
+
'data-p-highlight': selected
|
|
3435
3770
|
}, ptm('month', {
|
|
3436
3771
|
context: {
|
|
3437
3772
|
month: m,
|
|
3438
3773
|
monthIndex: i,
|
|
3439
|
-
selected:
|
|
3774
|
+
selected: selected,
|
|
3440
3775
|
disabled: isMonthYearDisabled(i, currentYear)
|
|
3441
3776
|
}
|
|
3442
3777
|
}));
|
|
3443
3778
|
return /*#__PURE__*/React__namespace.createElement("span", _extends({}, monthProps, {
|
|
3444
3779
|
key: "month".concat(i + 1)
|
|
3445
|
-
}), m
|
|
3780
|
+
}), m, selected && /*#__PURE__*/React__namespace.createElement("div", {
|
|
3781
|
+
"aria-live": "polite",
|
|
3782
|
+
className: "p-hidden-accessible",
|
|
3783
|
+
"data-p-hidden-accessible": true,
|
|
3784
|
+
pt: ptm('hiddenMonth')
|
|
3785
|
+
}, m));
|
|
3446
3786
|
}));
|
|
3447
3787
|
}
|
|
3448
3788
|
return null;
|
|
@@ -3453,6 +3793,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3453
3793
|
className: cx('yearPicker')
|
|
3454
3794
|
}, ptm('yearPicker'));
|
|
3455
3795
|
return /*#__PURE__*/React__namespace.createElement("div", yearPickerProps, yearPickerValues().map(function (y, i) {
|
|
3796
|
+
var selected = isYearSelected(y);
|
|
3456
3797
|
var yearProps = mergeProps({
|
|
3457
3798
|
className: cx('year', {
|
|
3458
3799
|
isYearSelected: isYearSelected,
|
|
@@ -3462,19 +3803,27 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3462
3803
|
onClick: function onClick(event) {
|
|
3463
3804
|
return onYearSelect(event, y);
|
|
3464
3805
|
},
|
|
3806
|
+
onKeyDown: function onKeyDown(event) {
|
|
3807
|
+
return onYearCellKeydown(event, y);
|
|
3808
|
+
},
|
|
3465
3809
|
'data-p-highlight': isYearSelected(y),
|
|
3466
3810
|
'data-p-disabled': isMonthYearDisabled(-1, y)
|
|
3467
3811
|
}, ptm('year', {
|
|
3468
3812
|
context: {
|
|
3469
3813
|
year: y,
|
|
3470
3814
|
yearIndex: i,
|
|
3471
|
-
selected:
|
|
3815
|
+
selected: selected,
|
|
3472
3816
|
disabled: isMonthYearDisabled(-1, y)
|
|
3473
3817
|
}
|
|
3474
3818
|
}));
|
|
3475
3819
|
return /*#__PURE__*/React__namespace.createElement("span", _extends({}, yearProps, {
|
|
3476
3820
|
key: "year".concat(i + 1)
|
|
3477
|
-
}), y
|
|
3821
|
+
}), y, selected && /*#__PURE__*/React__namespace.createElement("div", {
|
|
3822
|
+
"aria-live": "polite",
|
|
3823
|
+
className: "p-hidden-accessible",
|
|
3824
|
+
"data-p-hidden-accessible": true,
|
|
3825
|
+
pt: ptm('hiddenYear')
|
|
3826
|
+
}, y));
|
|
3478
3827
|
}));
|
|
3479
3828
|
}
|
|
3480
3829
|
return null;
|
|
@@ -3501,7 +3850,8 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3501
3850
|
id: props.id,
|
|
3502
3851
|
className: utils.classNames(props.className, cx('root', {
|
|
3503
3852
|
focusedState: focusedState,
|
|
3504
|
-
isFilled: isFilled
|
|
3853
|
+
isFilled: isFilled,
|
|
3854
|
+
panelVisible: visible
|
|
3505
3855
|
})),
|
|
3506
3856
|
style: props.style
|
|
3507
3857
|
}, CalendarBase.getOtherProps(props), ptm('root'));
|
|
@@ -3509,6 +3859,8 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3509
3859
|
ref: elementRef
|
|
3510
3860
|
}, rootProps), content, /*#__PURE__*/React__namespace.createElement(CalendarPanel, {
|
|
3511
3861
|
hostName: "Calendar",
|
|
3862
|
+
id: panelId,
|
|
3863
|
+
locale: props.locale,
|
|
3512
3864
|
ref: overlayRef,
|
|
3513
3865
|
className: panelClassName,
|
|
3514
3866
|
style: props.panelStyle,
|