primereact 10.3.2 → 10.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion.cjs.js +1 -1
- package/accordion/accordion.cjs.min.js +1 -1
- package/accordion/accordion.esm.js +1 -1
- package/accordion/accordion.esm.min.js +1 -1
- package/accordion/accordion.js +1 -1
- package/accordion/accordion.min.js +1 -1
- 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 +509 -150
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.d.ts +4 -0
- package/calendar/calendar.esm.js +510 -151
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +509 -150
- package/calendar/calendar.min.js +1 -1
- package/carousel/carousel.cjs.js +1 -0
- package/carousel/carousel.cjs.min.js +1 -1
- package/carousel/carousel.esm.js +1 -0
- package/carousel/carousel.esm.min.js +1 -1
- package/carousel/carousel.js +1 -0
- package/carousel/carousel.min.js +1 -1
- package/chips/chips.cjs.js +2 -1
- package/chips/chips.cjs.min.js +1 -1
- package/chips/chips.esm.js +2 -1
- package/chips/chips.esm.min.js +1 -1
- package/chips/chips.js +2 -1
- package/chips/chips.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 +93 -40
- package/core/core.min.js +4 -4
- package/datatable/datatable.cjs.js +577 -150
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.esm.js +573 -146
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +577 -150
- 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 +7 -1
- 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/divider/divider.cjs.js +2 -2
- package/divider/divider.cjs.min.js +1 -1
- package/divider/divider.esm.js +2 -2
- package/divider/divider.esm.min.js +1 -1
- package/divider/divider.js +2 -2
- package/divider/divider.min.js +1 -1
- package/dropdown/dropdown.cjs.js +20 -25
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.d.ts +9 -0
- package/dropdown/dropdown.esm.js +20 -25
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +20 -25
- package/dropdown/dropdown.min.js +1 -1
- package/editor/editor.cjs.js +1 -1
- package/editor/editor.cjs.min.js +1 -1
- package/editor/editor.esm.js +1 -1
- package/editor/editor.esm.min.js +1 -1
- package/editor/editor.js +1 -1
- package/editor/editor.min.js +1 -1
- package/focustrap/focustrap.cjs.js +168 -0
- package/focustrap/focustrap.cjs.min.js +1 -0
- package/focustrap/focustrap.esm.js +159 -0
- package/focustrap/focustrap.esm.min.js +1 -0
- package/focustrap/focustrap.js +167 -0
- package/focustrap/focustrap.min.js +1 -0
- package/focustrap/package.json +7 -0
- package/galleria/galleria.cjs.js +26 -24
- package/galleria/galleria.cjs.min.js +1 -1
- package/galleria/galleria.esm.js +26 -24
- package/galleria/galleria.esm.min.js +1 -1
- package/galleria/galleria.js +26 -24
- package/galleria/galleria.min.js +1 -1
- package/hooks/hooks.d.ts +1 -1
- package/menubar/menubar.cjs.js +7 -4
- package/menubar/menubar.cjs.min.js +1 -1
- package/menubar/menubar.esm.js +7 -4
- package/menubar/menubar.esm.min.js +1 -1
- package/menubar/menubar.js +7 -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/panelmenu/panelmenu.cjs.js +32 -21
- package/panelmenu/panelmenu.cjs.min.js +1 -1
- package/panelmenu/panelmenu.esm.js +32 -21
- package/panelmenu/panelmenu.esm.min.js +1 -1
- package/panelmenu/panelmenu.js +32 -21
- package/panelmenu/panelmenu.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 +1499 -725
- package/primereact.all.cjs.min.js +1 -1
- package/primereact.all.esm.js +1499 -725
- package/primereact.all.esm.min.js +1 -1
- package/primereact.all.js +1499 -725
- package/primereact.all.min.js +1 -1
- package/sidebar/sidebar.cjs.js +18 -16
- package/sidebar/sidebar.cjs.min.js +1 -1
- package/sidebar/sidebar.esm.js +18 -16
- package/sidebar/sidebar.esm.min.js +1 -1
- package/sidebar/sidebar.js +18 -16
- package/sidebar/sidebar.min.js +1 -1
- package/splitbutton/splitbutton.cjs.js +8 -7
- package/splitbutton/splitbutton.cjs.min.js +1 -1
- package/splitbutton/splitbutton.esm.js +8 -7
- package/splitbutton/splitbutton.esm.min.js +1 -1
- package/splitbutton/splitbutton.js +8 -7
- package/splitbutton/splitbutton.min.js +1 -1
- package/splitter/splitter.cjs.js +57 -12
- package/splitter/splitter.cjs.min.js +1 -1
- package/splitter/splitter.d.ts +13 -1
- package/splitter/splitter.esm.js +59 -14
- package/splitter/splitter.esm.min.js +1 -1
- package/splitter/splitter.js +57 -12
- package/splitter/splitter.min.js +1 -1
- package/tieredmenu/tieredmenu.cjs.js +8 -7
- package/tieredmenu/tieredmenu.cjs.min.js +1 -1
- package/tieredmenu/tieredmenu.esm.js +8 -7
- package/tieredmenu/tieredmenu.esm.min.js +1 -1
- package/tieredmenu/tieredmenu.js +8 -7
- 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/tree/tree.cjs.js +33 -15
- package/tree/tree.cjs.min.js +1 -1
- package/tree/tree.esm.js +34 -16
- package/tree/tree.esm.min.js +1 -1
- package/tree/tree.js +33 -15
- package/tree/tree.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 +34 -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,
|
|
@@ -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() {
|
|
@@ -2114,27 +2360,34 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
2114
2360
|
return today.getDate() === day && today.getMonth() === month && today.getFullYear() === year;
|
|
2115
2361
|
};
|
|
2116
2362
|
var isDayDisabled = function isDayDisabled(day, month, year) {
|
|
2363
|
+
var isDisabled = false;
|
|
2364
|
+
|
|
2365
|
+
// first check for disabled dates
|
|
2117
2366
|
if (props.disabledDates) {
|
|
2118
2367
|
if (props.disabledDates.some(function (d) {
|
|
2119
2368
|
return d.getFullYear() === year && d.getMonth() === month && d.getDate() === day;
|
|
2120
2369
|
})) {
|
|
2121
|
-
|
|
2122
|
-
}
|
|
2123
|
-
} else if (props.enabledDates) {
|
|
2124
|
-
if (!props.enabledDates.some(function (d) {
|
|
2125
|
-
return d.getFullYear() === year && d.getMonth() === month && d.getDate() === day;
|
|
2126
|
-
})) {
|
|
2127
|
-
return true;
|
|
2370
|
+
isDisabled = true;
|
|
2128
2371
|
}
|
|
2129
2372
|
}
|
|
2130
|
-
|
|
2373
|
+
|
|
2374
|
+
// next if not disabled then check for disabled days
|
|
2375
|
+
if (!isDisabled && props.disabledDays && currentView === 'date') {
|
|
2131
2376
|
var weekday = new Date(year, month, day);
|
|
2132
2377
|
var weekdayNumber = weekday.getDay();
|
|
2133
2378
|
if (props.disabledDays.indexOf(weekdayNumber) !== -1) {
|
|
2134
|
-
|
|
2379
|
+
isDisabled = true;
|
|
2135
2380
|
}
|
|
2136
2381
|
}
|
|
2137
|
-
|
|
2382
|
+
|
|
2383
|
+
// last check for enabled dates to force dates enabled
|
|
2384
|
+
if (props.enabledDates) {
|
|
2385
|
+
var isEnabled = props.enabledDates.some(function (d) {
|
|
2386
|
+
return d.getFullYear() === year && d.getMonth() === month && d.getDate() === day;
|
|
2387
|
+
});
|
|
2388
|
+
isDisabled = isDisabled ? !isEnabled : isEnabled;
|
|
2389
|
+
}
|
|
2390
|
+
return isDisabled;
|
|
2138
2391
|
};
|
|
2139
2392
|
var isMonthYearDisabled = function isMonthYearDisabled(month, year) {
|
|
2140
2393
|
var daysCountInAllMonth = month === -1 ? new Array(12).fill(0).map(function (_, i) {
|
|
@@ -2585,6 +2838,10 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
2585
2838
|
setCurrentMonth(viewDate.getMonth());
|
|
2586
2839
|
setCurrentYear(viewDate.getFullYear());
|
|
2587
2840
|
setCurrentView(props.view);
|
|
2841
|
+
if (!idState) {
|
|
2842
|
+
var uniqueId = utils.UniqueComponentId();
|
|
2843
|
+
!idState && setIdState(uniqueId);
|
|
2844
|
+
}
|
|
2588
2845
|
if (props.inline) {
|
|
2589
2846
|
overlayRef && overlayRef.current.setAttribute(attributeSelector, '');
|
|
2590
2847
|
if (!props.disabled) {
|
|
@@ -2632,8 +2889,14 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
2632
2889
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
2633
2890
|
}, [props.disabled, props.mask, props.readOnlyInput]);
|
|
2634
2891
|
hooks.useUpdateEffect(function () {
|
|
2635
|
-
|
|
2892
|
+
if (viewChangedWithKeyDown.current) {
|
|
2893
|
+
setCurrentView(props.view);
|
|
2894
|
+
}
|
|
2895
|
+
viewChangedWithKeyDown.current = false;
|
|
2636
2896
|
}, [props.view]);
|
|
2897
|
+
hooks.useUpdateEffect(function () {
|
|
2898
|
+
focusToFirstCell();
|
|
2899
|
+
}, [currentView]);
|
|
2637
2900
|
hooks.useUpdateEffect(function () {
|
|
2638
2901
|
if (!props.onViewDateChange && !viewStateChanged.current) {
|
|
2639
2902
|
setValue(props.value);
|
|
@@ -2724,12 +2987,16 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
2724
2987
|
if (Array.isArray(prevPropValue)) {
|
|
2725
2988
|
prevPropValue = prevPropValue[0];
|
|
2726
2989
|
}
|
|
2990
|
+
var viewDate = props.viewDate && isValidDate(props.viewDate) ? props.viewDate : propValue && isValidDate(propValue) ? propValue : new Date();
|
|
2991
|
+
if (isClearClicked.current && props.showTime) {
|
|
2992
|
+
viewDate.setHours(0, 0, 0);
|
|
2993
|
+
isClearClicked.current = false;
|
|
2994
|
+
}
|
|
2727
2995
|
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
2996
|
validateDate(viewDate);
|
|
2730
|
-
setViewDateState(viewDate);
|
|
2731
|
-
viewStateChanged.current = true;
|
|
2732
2997
|
}
|
|
2998
|
+
setViewDateState(viewDate);
|
|
2999
|
+
viewStateChanged.current = true;
|
|
2733
3000
|
};
|
|
2734
3001
|
var createBackwardNavigator = function createBackwardNavigator(isVisible) {
|
|
2735
3002
|
var navigatorProps = isVisible ? {
|
|
@@ -2749,9 +3016,15 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
2749
3016
|
var backwardNavigatorIcon = utils.IconUtils.getJSXIcon(icon, _objectSpread({}, previousIconProps), {
|
|
2750
3017
|
props: props
|
|
2751
3018
|
});
|
|
3019
|
+
var _localeOptions4 = PrimeReact.localeOptions(props.locale),
|
|
3020
|
+
prevDecade = _localeOptions4.prevDecade,
|
|
3021
|
+
prevYear = _localeOptions4.prevYear,
|
|
3022
|
+
prevMonth = _localeOptions4.prevMonth;
|
|
3023
|
+
var previousButtonLabel = currentView === 'year' ? prevDecade : currentView === 'month' ? prevYear : prevMonth;
|
|
2752
3024
|
var previousButtonProps = mergeProps(_objectSpread({
|
|
2753
3025
|
type: 'button',
|
|
2754
|
-
className: cx('previousButton')
|
|
3026
|
+
className: cx('previousButton'),
|
|
3027
|
+
'aria-label': previousButtonLabel
|
|
2755
3028
|
}, navigatorProps), ptm('previousButton'));
|
|
2756
3029
|
return /*#__PURE__*/React__namespace.createElement("button", _extends({
|
|
2757
3030
|
ref: previousButton
|
|
@@ -2775,9 +3048,15 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
2775
3048
|
var forwardNavigatorIcon = utils.IconUtils.getJSXIcon(icon, _objectSpread({}, nextIconProps), {
|
|
2776
3049
|
props: props
|
|
2777
3050
|
});
|
|
3051
|
+
var _localeOptions5 = PrimeReact.localeOptions(props.locale),
|
|
3052
|
+
nextDecade = _localeOptions5.nextDecade,
|
|
3053
|
+
nextYear = _localeOptions5.nextYear,
|
|
3054
|
+
nextMonth = _localeOptions5.nextMonth;
|
|
3055
|
+
var nextButtonLabel = currentView === 'year' ? nextDecade : currentView === 'month' ? nextYear : nextMonth;
|
|
2778
3056
|
var nextButtonProps = mergeProps(_objectSpread({
|
|
2779
3057
|
type: 'button',
|
|
2780
|
-
className: cx('nextButton')
|
|
3058
|
+
className: cx('nextButton'),
|
|
3059
|
+
'aria-label': nextButtonLabel
|
|
2781
3060
|
}, navigatorProps), ptm('nextButton'));
|
|
2782
3061
|
return /*#__PURE__*/React__namespace.createElement("button", _extends({
|
|
2783
3062
|
ref: nextButton
|
|
@@ -2834,6 +3113,8 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
2834
3113
|
}
|
|
2835
3114
|
var monthTitleProps = mergeProps({
|
|
2836
3115
|
className: cx('monthTitle'),
|
|
3116
|
+
onKeyDown: onContainerButtonKeydown,
|
|
3117
|
+
'aria-label': PrimeReact.localeOption('chooseMonth', props.locale),
|
|
2837
3118
|
onClick: switchToMonthView,
|
|
2838
3119
|
disabled: switchViewButtonDisabled()
|
|
2839
3120
|
}, ptm('monthTitle'));
|
|
@@ -2892,6 +3173,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
2892
3173
|
var displayYear = props.numberOfMonths > 1 ? metaYear : currentYear;
|
|
2893
3174
|
var yearTitleProps = mergeProps({
|
|
2894
3175
|
className: cx('yearTitle'),
|
|
3176
|
+
'aria-label': PrimeReact.localeOption('chooseYear', props.locale),
|
|
2895
3177
|
onClick: function onClick(e) {
|
|
2896
3178
|
return switchToYearView(e);
|
|
2897
3179
|
},
|
|
@@ -2950,25 +3232,33 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
2950
3232
|
};
|
|
2951
3233
|
var createDateCellContent = function createDateCellContent(date, className, groupIndex) {
|
|
2952
3234
|
var content = props.dateTemplate ? props.dateTemplate(date) : date.day;
|
|
3235
|
+
var selected = isSelected(date);
|
|
2953
3236
|
var dayLabelProps = mergeProps({
|
|
2954
3237
|
className: cx('dayLabel', {
|
|
2955
3238
|
className: className
|
|
2956
3239
|
}),
|
|
3240
|
+
'aria-selected': selected,
|
|
3241
|
+
'aria-disabled': !date.selectable,
|
|
2957
3242
|
onClick: function onClick(e) {
|
|
2958
3243
|
return onDateSelect(e, date);
|
|
2959
3244
|
},
|
|
2960
3245
|
onKeyDown: function onKeyDown(e) {
|
|
2961
3246
|
return onDateCellKeydown(e, date, groupIndex);
|
|
2962
3247
|
},
|
|
2963
|
-
'data-p-highlight':
|
|
3248
|
+
'data-p-highlight': selected,
|
|
2964
3249
|
'data-p-disabled': !date.selectable
|
|
2965
3250
|
}, ptm('dayLabel', {
|
|
2966
3251
|
context: {
|
|
2967
|
-
selected:
|
|
3252
|
+
selected: selected,
|
|
2968
3253
|
disabled: !date.selectable
|
|
2969
3254
|
}
|
|
2970
3255
|
}));
|
|
2971
|
-
return /*#__PURE__*/React__namespace.createElement("span", dayLabelProps, content
|
|
3256
|
+
return /*#__PURE__*/React__namespace.createElement("span", dayLabelProps, content, selected && /*#__PURE__*/React__namespace.createElement("div", {
|
|
3257
|
+
"aria-live": "polite",
|
|
3258
|
+
className: "p-hidden-accessible",
|
|
3259
|
+
"data-p-hidden-accessible": true,
|
|
3260
|
+
pt: ptm('hiddenSelectedDay')
|
|
3261
|
+
}));
|
|
2972
3262
|
};
|
|
2973
3263
|
var createWeek = function createWeek(weekDates, weekNumber, groupIndex) {
|
|
2974
3264
|
var week = weekDates.map(function (date) {
|
|
@@ -2982,6 +3272,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
2982
3272
|
className: cx('day', {
|
|
2983
3273
|
date: date
|
|
2984
3274
|
}),
|
|
3275
|
+
'aria-label': date.day,
|
|
2985
3276
|
'data-p-today': date.today,
|
|
2986
3277
|
'data-p-other-month': date.otherMonth
|
|
2987
3278
|
}, ptm('day', {
|
|
@@ -3030,6 +3321,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3030
3321
|
key: utils.UniqueComponentId('calendar_container_')
|
|
3031
3322
|
}, ptm('container'));
|
|
3032
3323
|
var tableProps = mergeProps({
|
|
3324
|
+
role: 'grid',
|
|
3033
3325
|
className: cx('table')
|
|
3034
3326
|
}, ptm('table'));
|
|
3035
3327
|
var tableHeaderProps = mergeProps(ptm('tableHeader'));
|
|
@@ -3133,6 +3425,9 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3133
3425
|
if (hour === 0) hour = 12;else if (hour > 11 && hour !== 12) hour = hour - 12;
|
|
3134
3426
|
}
|
|
3135
3427
|
var hourProps = mergeProps(ptm('hour'));
|
|
3428
|
+
var _localeOptions6 = PrimeReact.localeOptions(props.locale),
|
|
3429
|
+
nextHour = _localeOptions6.nextHour,
|
|
3430
|
+
prevHour = _localeOptions6.prevHour;
|
|
3136
3431
|
var hourDisplay = hour < 10 ? '0' + hour : hour;
|
|
3137
3432
|
var hourPickerProps = mergeProps({
|
|
3138
3433
|
className: cx('hourPicker')
|
|
@@ -3140,26 +3435,30 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3140
3435
|
var incrementButtonProps = mergeProps({
|
|
3141
3436
|
type: 'button',
|
|
3142
3437
|
className: cx('incrementButton'),
|
|
3438
|
+
'aria-label': nextHour,
|
|
3143
3439
|
onMouseDown: function onMouseDown(e) {
|
|
3144
3440
|
return onTimePickerElementMouseDown(e, 0, 1);
|
|
3145
3441
|
},
|
|
3146
3442
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3147
3443
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3148
3444
|
onKeyDown: function onKeyDown(e) {
|
|
3149
|
-
return
|
|
3150
|
-
}
|
|
3445
|
+
return onPickerKeyDown(e, 0, 1);
|
|
3446
|
+
},
|
|
3447
|
+
onKeyUp: onPickerKeyUp
|
|
3151
3448
|
}, ptm('incrementButton'));
|
|
3152
3449
|
var decrementButtonProps = mergeProps({
|
|
3153
3450
|
type: 'button',
|
|
3154
3451
|
className: cx('decrementButton'),
|
|
3452
|
+
'aria-label': prevHour,
|
|
3155
3453
|
onMouseDown: function onMouseDown(e) {
|
|
3156
3454
|
return onTimePickerElementMouseDown(e, 0, -1);
|
|
3157
3455
|
},
|
|
3158
3456
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3159
3457
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3160
3458
|
onKeyDown: function onKeyDown(e) {
|
|
3161
|
-
return
|
|
3162
|
-
}
|
|
3459
|
+
return onPickerKeyDown(e, 0, -1);
|
|
3460
|
+
},
|
|
3461
|
+
onKeyUp: onPickerKeyUp
|
|
3163
3462
|
}, ptm('decrementButton'));
|
|
3164
3463
|
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
3464
|
};
|
|
@@ -3168,6 +3467,9 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3168
3467
|
var minute = doStepMinute(currentTime.getMinutes());
|
|
3169
3468
|
minute = minute > 59 ? minute - 60 : minute;
|
|
3170
3469
|
var minuteProps = mergeProps(ptm('minute'));
|
|
3470
|
+
var _localeOptions7 = PrimeReact.localeOptions(props.locale),
|
|
3471
|
+
nextMinute = _localeOptions7.nextMinute,
|
|
3472
|
+
prevMinute = _localeOptions7.prevMinute;
|
|
3171
3473
|
var minuteDisplay = minute < 10 ? '0' + minute : minute;
|
|
3172
3474
|
var minutePickerProps = mergeProps({
|
|
3173
3475
|
className: cx('minutePicker')
|
|
@@ -3175,32 +3477,39 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3175
3477
|
var incrementButtonProps = mergeProps({
|
|
3176
3478
|
type: 'button',
|
|
3177
3479
|
className: cx('incrementButton'),
|
|
3480
|
+
'aria-label': nextMinute,
|
|
3178
3481
|
onMouseDown: function onMouseDown(e) {
|
|
3179
3482
|
return onTimePickerElementMouseDown(e, 1, 1);
|
|
3180
3483
|
},
|
|
3181
3484
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3182
3485
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3183
3486
|
onKeyDown: function onKeyDown(e) {
|
|
3184
|
-
return
|
|
3185
|
-
}
|
|
3487
|
+
return onPickerKeyDown(e, 1, 1);
|
|
3488
|
+
},
|
|
3489
|
+
onKeyUp: onPickerKeyUp
|
|
3186
3490
|
}, ptm('incrementButton'));
|
|
3187
3491
|
var decrementButtonProps = mergeProps({
|
|
3188
3492
|
type: 'button',
|
|
3189
3493
|
className: cx('decrementButton'),
|
|
3494
|
+
'aria-label': prevMinute,
|
|
3190
3495
|
onMouseDown: function onMouseDown(e) {
|
|
3191
3496
|
return onTimePickerElementMouseDown(e, 1, -1);
|
|
3192
3497
|
},
|
|
3193
3498
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3194
3499
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3195
3500
|
onKeyDown: function onKeyDown(e) {
|
|
3196
|
-
return
|
|
3197
|
-
}
|
|
3501
|
+
return onPickerKeyDown(e, 1, -1);
|
|
3502
|
+
},
|
|
3503
|
+
onKeyUp: onPickerKeyUp
|
|
3198
3504
|
}, ptm('decrementButton'));
|
|
3199
3505
|
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
3506
|
};
|
|
3201
3507
|
var createSecondPicker = function createSecondPicker() {
|
|
3202
3508
|
if (props.showSeconds) {
|
|
3203
3509
|
var currentTime = getCurrentDateTime();
|
|
3510
|
+
var _localeOptions8 = PrimeReact.localeOptions(props.locale),
|
|
3511
|
+
nextSecond = _localeOptions8.nextSecond,
|
|
3512
|
+
prevSecond = _localeOptions8.prevSecond;
|
|
3204
3513
|
var secondProps = mergeProps(ptm('second'));
|
|
3205
3514
|
var second = currentTime.getSeconds();
|
|
3206
3515
|
var secondDisplay = second < 10 ? '0' + second : second;
|
|
@@ -3210,26 +3519,30 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3210
3519
|
var incrementButtonProps = mergeProps({
|
|
3211
3520
|
type: 'button',
|
|
3212
3521
|
className: cx('incrementButton'),
|
|
3522
|
+
'aria-label': nextSecond,
|
|
3213
3523
|
onMouseDown: function onMouseDown(e) {
|
|
3214
3524
|
return onTimePickerElementMouseDown(e, 2, 1);
|
|
3215
3525
|
},
|
|
3216
3526
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3217
3527
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3218
3528
|
onKeyDown: function onKeyDown(e) {
|
|
3219
|
-
return
|
|
3220
|
-
}
|
|
3529
|
+
return onPickerKeyDown(e, 2, 1);
|
|
3530
|
+
},
|
|
3531
|
+
onKeyUp: onPickerKeyUp
|
|
3221
3532
|
}, ptm('incrementButton'));
|
|
3222
3533
|
var decrementButtonProps = mergeProps({
|
|
3223
3534
|
type: 'button',
|
|
3224
3535
|
className: cx('decrementButton'),
|
|
3536
|
+
'aria-label': prevSecond,
|
|
3225
3537
|
onMouseDown: function onMouseDown(e) {
|
|
3226
3538
|
return onTimePickerElementMouseDown(e, 2, -1);
|
|
3227
3539
|
},
|
|
3228
3540
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3229
3541
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3230
3542
|
onKeyDown: function onKeyDown(e) {
|
|
3231
|
-
return
|
|
3232
|
-
}
|
|
3543
|
+
return onPickerKeyDown(e, 2, -1);
|
|
3544
|
+
},
|
|
3545
|
+
onKeyUp: onPickerKeyUp
|
|
3233
3546
|
}, ptm('decrementButton'));
|
|
3234
3547
|
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
3548
|
}
|
|
@@ -3238,6 +3551,9 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3238
3551
|
var createMiliSecondPicker = function createMiliSecondPicker() {
|
|
3239
3552
|
if (props.showMillisec) {
|
|
3240
3553
|
var currentTime = getCurrentDateTime();
|
|
3554
|
+
var _localeOptions9 = PrimeReact.localeOptions(props.locale),
|
|
3555
|
+
nextMilliSecond = _localeOptions9.nextMilliSecond,
|
|
3556
|
+
prevMilliSecond = _localeOptions9.prevMilliSecond;
|
|
3241
3557
|
var millisecondProps = mergeProps(ptm('millisecond'));
|
|
3242
3558
|
var millisecond = currentTime.getMilliseconds();
|
|
3243
3559
|
var millisecondDisplay = millisecond < 100 ? (millisecond < 10 ? '00' : '0') + millisecond : millisecond;
|
|
@@ -3247,26 +3563,30 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3247
3563
|
var incrementButtonProps = mergeProps({
|
|
3248
3564
|
type: 'button',
|
|
3249
3565
|
className: cx('incrementButton'),
|
|
3566
|
+
'aria-label': nextMilliSecond,
|
|
3250
3567
|
onMouseDown: function onMouseDown(e) {
|
|
3251
3568
|
return onTimePickerElementMouseDown(e, 3, 1);
|
|
3252
3569
|
},
|
|
3253
3570
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3254
3571
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3255
3572
|
onKeyDown: function onKeyDown(e) {
|
|
3256
|
-
return
|
|
3257
|
-
}
|
|
3573
|
+
return onPickerKeyDown(e, 3, 1);
|
|
3574
|
+
},
|
|
3575
|
+
onKeyUp: onPickerKeyUp
|
|
3258
3576
|
}, ptm('incrementButton'));
|
|
3259
3577
|
var decrementButtonProps = mergeProps({
|
|
3260
3578
|
type: 'button',
|
|
3261
3579
|
className: cx('decrementButton'),
|
|
3580
|
+
'aria-label': prevMilliSecond,
|
|
3262
3581
|
onMouseDown: function onMouseDown(e) {
|
|
3263
3582
|
return onTimePickerElementMouseDown(e, 3, -1);
|
|
3264
3583
|
},
|
|
3265
3584
|
onMouseUp: onTimePickerElementMouseUp,
|
|
3266
3585
|
onMouseLeave: onTimePickerElementMouseLeave,
|
|
3267
3586
|
onKeyDown: function onKeyDown(e) {
|
|
3268
|
-
return
|
|
3269
|
-
}
|
|
3587
|
+
return onPickerKeyDown(e, 3, -1);
|
|
3588
|
+
},
|
|
3589
|
+
onKeyUp: onPickerKeyUp
|
|
3270
3590
|
}, ptm('decrementButton'));
|
|
3271
3591
|
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
3592
|
}
|
|
@@ -3275,6 +3595,9 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3275
3595
|
var createAmPmPicker = function createAmPmPicker() {
|
|
3276
3596
|
if (props.hourFormat === '12') {
|
|
3277
3597
|
var currentTime = getCurrentDateTime();
|
|
3598
|
+
var _localeOptions10 = PrimeReact.localeOptions(props.locale),
|
|
3599
|
+
am = _localeOptions10.am,
|
|
3600
|
+
pm = _localeOptions10.pm;
|
|
3278
3601
|
var hour = currentTime.getHours();
|
|
3279
3602
|
var display = hour > 11 ? 'PM' : 'AM';
|
|
3280
3603
|
var ampmProps = mergeProps(ptm('ampm'));
|
|
@@ -3284,6 +3607,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3284
3607
|
var incrementButtonProps = mergeProps({
|
|
3285
3608
|
type: 'button',
|
|
3286
3609
|
className: cx('incrementButton'),
|
|
3610
|
+
'aria-label': am,
|
|
3287
3611
|
onClick: function onClick(e) {
|
|
3288
3612
|
return toggleAmPm(e);
|
|
3289
3613
|
}
|
|
@@ -3291,6 +3615,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3291
3615
|
var decrementButtonProps = mergeProps({
|
|
3292
3616
|
type: 'button',
|
|
3293
3617
|
className: cx('decrementButton'),
|
|
3618
|
+
'aria-label': pm,
|
|
3294
3619
|
onClick: function onClick(e) {
|
|
3295
3620
|
return toggleAmPm(e);
|
|
3296
3621
|
}
|
|
@@ -3322,6 +3647,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3322
3647
|
id: props.inputId,
|
|
3323
3648
|
name: props.name,
|
|
3324
3649
|
type: "text",
|
|
3650
|
+
role: "combobox",
|
|
3325
3651
|
className: props.inputClassName,
|
|
3326
3652
|
style: props.inputStyle,
|
|
3327
3653
|
readOnly: props.readOnlyInput,
|
|
@@ -3334,7 +3660,12 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3334
3660
|
onFocus: onInputFocus,
|
|
3335
3661
|
onBlur: onInputBlur,
|
|
3336
3662
|
onKeyDown: onInputKeyDown,
|
|
3663
|
+
"aria-expanded": overlayVisibleState,
|
|
3664
|
+
"aria-autocomplete": "none",
|
|
3665
|
+
"aria-haspopup": "dialog",
|
|
3666
|
+
"aria-controls": panelId,
|
|
3337
3667
|
"aria-labelledby": props.ariaLabelledBy,
|
|
3668
|
+
"aria-label": props.ariaLabel,
|
|
3338
3669
|
inputMode: props.inputMode,
|
|
3339
3670
|
tooltip: props.tooltip,
|
|
3340
3671
|
tooltipOptions: props.tooltipOptions,
|
|
@@ -3354,6 +3685,10 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3354
3685
|
onClick: onButtonClick,
|
|
3355
3686
|
tabIndex: "-1",
|
|
3356
3687
|
disabled: props.disabled,
|
|
3688
|
+
"aria-haspopup": "dialog",
|
|
3689
|
+
"aria-label": PrimeReact.localeOption('chooseDate', props.locale),
|
|
3690
|
+
"aria-expanded": overlayVisibleState,
|
|
3691
|
+
"aria-controls": panelId,
|
|
3357
3692
|
className: cx('dropdownButton'),
|
|
3358
3693
|
pt: ptm('dropdownButton'),
|
|
3359
3694
|
__parentMetadata: {
|
|
@@ -3373,21 +3708,27 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3373
3708
|
};
|
|
3374
3709
|
var createButtonBar = function createButtonBar() {
|
|
3375
3710
|
if (props.showButtonBar) {
|
|
3376
|
-
var
|
|
3377
|
-
today =
|
|
3378
|
-
clear =
|
|
3711
|
+
var _localeOptions11 = PrimeReact.localeOptions(props.locale),
|
|
3712
|
+
today = _localeOptions11.today,
|
|
3713
|
+
clear = _localeOptions11.clear,
|
|
3714
|
+
now = _localeOptions11.now;
|
|
3715
|
+
var nowDate = new Date();
|
|
3716
|
+
var isHidden = props.minDate && props.minDate > nowDate || props.maxDate && props.maxDate < nowDate;
|
|
3379
3717
|
var buttonbarProps = mergeProps({
|
|
3380
3718
|
className: cx('buttonbar')
|
|
3381
3719
|
}, ptm('buttonbar'));
|
|
3382
3720
|
return /*#__PURE__*/React__namespace.createElement("div", buttonbarProps, /*#__PURE__*/React__namespace.createElement(button.Button, {
|
|
3383
3721
|
type: "button",
|
|
3384
|
-
label: today,
|
|
3722
|
+
label: props.showTime ? now : today,
|
|
3385
3723
|
onClick: onTodayButtonClick,
|
|
3386
3724
|
onKeyDown: function onKeyDown(e) {
|
|
3387
3725
|
return onContainerButtonKeydown(e);
|
|
3388
3726
|
},
|
|
3389
3727
|
className: utils.classNames(props.todayButtonClassName, cx('todayButton')),
|
|
3390
|
-
pt: ptm('todayButton')
|
|
3728
|
+
pt: ptm('todayButton'),
|
|
3729
|
+
style: isHidden ? {
|
|
3730
|
+
visibility: 'hidden'
|
|
3731
|
+
} : undefined
|
|
3391
3732
|
}), /*#__PURE__*/React__namespace.createElement(button.Button, {
|
|
3392
3733
|
type: "button",
|
|
3393
3734
|
label: clear,
|
|
@@ -3417,6 +3758,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3417
3758
|
className: cx('monthPicker')
|
|
3418
3759
|
}, ptm('monthPicker'));
|
|
3419
3760
|
return /*#__PURE__*/React__namespace.createElement("div", monthPickerProps, monthPickerValues().map(function (m, i) {
|
|
3761
|
+
var selected = isMonthSelected(i);
|
|
3420
3762
|
var monthProps = mergeProps({
|
|
3421
3763
|
className: cx('month', {
|
|
3422
3764
|
isMonthSelected: isMonthSelected,
|
|
@@ -3431,18 +3773,23 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3431
3773
|
return onMonthCellKeydown(event, i);
|
|
3432
3774
|
},
|
|
3433
3775
|
'data-p-disabled': isMonthYearDisabled(i, currentYear),
|
|
3434
|
-
'data-p-highlight':
|
|
3776
|
+
'data-p-highlight': selected
|
|
3435
3777
|
}, ptm('month', {
|
|
3436
3778
|
context: {
|
|
3437
3779
|
month: m,
|
|
3438
3780
|
monthIndex: i,
|
|
3439
|
-
selected:
|
|
3781
|
+
selected: selected,
|
|
3440
3782
|
disabled: isMonthYearDisabled(i, currentYear)
|
|
3441
3783
|
}
|
|
3442
3784
|
}));
|
|
3443
3785
|
return /*#__PURE__*/React__namespace.createElement("span", _extends({}, monthProps, {
|
|
3444
3786
|
key: "month".concat(i + 1)
|
|
3445
|
-
}), m
|
|
3787
|
+
}), m, selected && /*#__PURE__*/React__namespace.createElement("div", {
|
|
3788
|
+
"aria-live": "polite",
|
|
3789
|
+
className: "p-hidden-accessible",
|
|
3790
|
+
"data-p-hidden-accessible": true,
|
|
3791
|
+
pt: ptm('hiddenMonth')
|
|
3792
|
+
}, m));
|
|
3446
3793
|
}));
|
|
3447
3794
|
}
|
|
3448
3795
|
return null;
|
|
@@ -3453,6 +3800,7 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3453
3800
|
className: cx('yearPicker')
|
|
3454
3801
|
}, ptm('yearPicker'));
|
|
3455
3802
|
return /*#__PURE__*/React__namespace.createElement("div", yearPickerProps, yearPickerValues().map(function (y, i) {
|
|
3803
|
+
var selected = isYearSelected(y);
|
|
3456
3804
|
var yearProps = mergeProps({
|
|
3457
3805
|
className: cx('year', {
|
|
3458
3806
|
isYearSelected: isYearSelected,
|
|
@@ -3462,19 +3810,27 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3462
3810
|
onClick: function onClick(event) {
|
|
3463
3811
|
return onYearSelect(event, y);
|
|
3464
3812
|
},
|
|
3813
|
+
onKeyDown: function onKeyDown(event) {
|
|
3814
|
+
return onYearCellKeydown(event, y);
|
|
3815
|
+
},
|
|
3465
3816
|
'data-p-highlight': isYearSelected(y),
|
|
3466
3817
|
'data-p-disabled': isMonthYearDisabled(-1, y)
|
|
3467
3818
|
}, ptm('year', {
|
|
3468
3819
|
context: {
|
|
3469
3820
|
year: y,
|
|
3470
3821
|
yearIndex: i,
|
|
3471
|
-
selected:
|
|
3822
|
+
selected: selected,
|
|
3472
3823
|
disabled: isMonthYearDisabled(-1, y)
|
|
3473
3824
|
}
|
|
3474
3825
|
}));
|
|
3475
3826
|
return /*#__PURE__*/React__namespace.createElement("span", _extends({}, yearProps, {
|
|
3476
3827
|
key: "year".concat(i + 1)
|
|
3477
|
-
}), y
|
|
3828
|
+
}), y, selected && /*#__PURE__*/React__namespace.createElement("div", {
|
|
3829
|
+
"aria-live": "polite",
|
|
3830
|
+
className: "p-hidden-accessible",
|
|
3831
|
+
"data-p-hidden-accessible": true,
|
|
3832
|
+
pt: ptm('hiddenYear')
|
|
3833
|
+
}, y));
|
|
3478
3834
|
}));
|
|
3479
3835
|
}
|
|
3480
3836
|
return null;
|
|
@@ -3501,7 +3857,8 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3501
3857
|
id: props.id,
|
|
3502
3858
|
className: utils.classNames(props.className, cx('root', {
|
|
3503
3859
|
focusedState: focusedState,
|
|
3504
|
-
isFilled: isFilled
|
|
3860
|
+
isFilled: isFilled,
|
|
3861
|
+
panelVisible: visible
|
|
3505
3862
|
})),
|
|
3506
3863
|
style: props.style
|
|
3507
3864
|
}, CalendarBase.getOtherProps(props), ptm('root'));
|
|
@@ -3509,6 +3866,8 @@ this.primereact.calendar = (function (exports, React, PrimeReact, button, compon
|
|
|
3509
3866
|
ref: elementRef
|
|
3510
3867
|
}, rootProps), content, /*#__PURE__*/React__namespace.createElement(CalendarPanel, {
|
|
3511
3868
|
hostName: "Calendar",
|
|
3869
|
+
id: panelId,
|
|
3870
|
+
locale: props.locale,
|
|
3512
3871
|
ref: overlayRef,
|
|
3513
3872
|
className: panelClassName,
|
|
3514
3873
|
style: props.panelStyle,
|