primereact 10.3.3 → 10.5.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/calendar/calendar.cjs.js +29 -14
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.esm.js +29 -14
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +29 -14
- 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/checkbox/checkbox.cjs.js +2 -0
- package/checkbox/checkbox.cjs.min.js +1 -1
- package/checkbox/checkbox.esm.js +2 -0
- package/checkbox/checkbox.esm.min.js +1 -1
- package/checkbox/checkbox.js +2 -0
- package/checkbox/checkbox.min.js +1 -1
- package/chips/chips.cjs.js +111 -21
- package/chips/chips.cjs.min.js +1 -1
- package/chips/chips.esm.js +111 -21
- package/chips/chips.esm.min.js +1 -1
- package/chips/chips.js +111 -21
- package/chips/chips.min.js +1 -1
- package/core/core.js +696 -505
- package/core/core.min.js +5 -5
- package/datatable/datatable.cjs.js +577 -153
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.esm.js +573 -149
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +577 -153
- package/datatable/datatable.min.js +1 -1
- package/dataview/dataview.d.ts +2 -2
- 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 +327 -160
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.d.ts +9 -0
- package/dropdown/dropdown.esm.js +327 -160
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +327 -160
- 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/inputnumber/inputnumber.cjs.js +21 -17
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.esm.js +21 -17
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +21 -17
- package/inputnumber/inputnumber.min.js +1 -1
- package/inputswitch/inputswitch.cjs.js +3 -1
- package/inputswitch/inputswitch.cjs.min.js +1 -1
- package/inputswitch/inputswitch.esm.js +3 -1
- package/inputswitch/inputswitch.esm.min.js +1 -1
- package/inputswitch/inputswitch.js +3 -1
- package/inputswitch/inputswitch.min.js +1 -1
- package/knob/knob.cjs.js +62 -0
- package/knob/knob.cjs.min.js +1 -1
- package/knob/knob.esm.js +62 -0
- package/knob/knob.esm.min.js +1 -1
- package/knob/knob.js +62 -0
- package/knob/knob.min.js +1 -1
- package/listbox/listbox.cjs.js +362 -92
- package/listbox/listbox.cjs.min.js +1 -1
- package/listbox/listbox.esm.js +363 -93
- package/listbox/listbox.esm.min.js +1 -1
- package/listbox/listbox.js +362 -92
- package/listbox/listbox.min.js +1 -1
- package/menu/menu.cjs.js +4 -2
- package/menu/menu.cjs.min.js +1 -1
- package/menu/menu.esm.js +4 -2
- package/menu/menu.esm.min.js +1 -1
- package/menu/menu.js +5 -4
- package/menu/menu.min.js +1 -1
- package/menubar/menubar.cjs.js +3 -0
- package/menubar/menubar.cjs.min.js +1 -1
- package/menubar/menubar.esm.js +3 -0
- package/menubar/menubar.esm.min.js +1 -1
- package/menubar/menubar.js +3 -0
- package/menubar/menubar.min.js +1 -1
- package/multiselect/multiselect.cjs.js +377 -107
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.esm.js +377 -107
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +377 -107
- package/multiselect/multiselect.min.js +1 -1
- package/package.json +1 -1
- package/paginator/paginator.cjs.js +251 -251
- package/paginator/paginator.cjs.min.js +1 -1
- package/paginator/paginator.esm.js +258 -258
- package/paginator/paginator.esm.min.js +1 -1
- package/paginator/paginator.js +251 -251
- package/paginator/paginator.min.js +1 -1
- package/panelmenu/panelmenu.cjs.js +34 -22
- package/panelmenu/panelmenu.cjs.min.js +1 -1
- package/panelmenu/panelmenu.esm.js +34 -22
- package/panelmenu/panelmenu.esm.min.js +1 -1
- package/panelmenu/panelmenu.js +35 -24
- package/panelmenu/panelmenu.min.js +1 -1
- package/passthrough/tailwind/index.cjs.js +3 -2
- package/passthrough/tailwind/index.cjs.min.js +1 -1
- package/passthrough/tailwind/index.esm.js +3 -2
- package/passthrough/tailwind/index.esm.min.js +1 -1
- package/passthrough/tailwind/index.js +3 -2
- package/passthrough/tailwind/index.min.js +1 -1
- package/password/password.cjs.js +22 -20
- package/password/password.cjs.min.js +1 -1
- package/password/password.esm.js +22 -20
- package/password/password.esm.min.js +1 -1
- package/password/password.js +22 -20
- package/password/password.min.js +1 -1
- package/primereact.all.cjs.js +2199 -951
- package/primereact.all.cjs.min.js +1 -1
- package/primereact.all.esm.js +2199 -951
- package/primereact.all.esm.min.js +1 -1
- package/primereact.all.js +2199 -951
- package/primereact.all.min.js +1 -1
- package/radiobutton/radiobutton.cjs.js +1 -0
- package/radiobutton/radiobutton.cjs.min.js +1 -1
- package/radiobutton/radiobutton.esm.js +1 -0
- package/radiobutton/radiobutton.esm.min.js +1 -1
- package/radiobutton/radiobutton.js +1 -0
- package/radiobutton/radiobutton.min.js +1 -1
- package/rating/rating.cjs.js +103 -4
- package/rating/rating.cjs.min.js +1 -1
- package/rating/rating.esm.js +103 -4
- package/rating/rating.esm.min.js +1 -1
- package/rating/rating.js +103 -4
- package/rating/rating.min.js +1 -1
- package/resources/themes/arya-blue/theme.css +328 -67
- package/resources/themes/arya-green/theme.css +328 -67
- package/resources/themes/arya-orange/theme.css +328 -67
- package/resources/themes/arya-purple/theme.css +26 -6
- package/resources/themes/bootstrap4-dark-blue/theme.css +328 -67
- package/resources/themes/bootstrap4-dark-purple/theme.css +26 -6
- package/resources/themes/bootstrap4-light-blue/theme.css +328 -67
- package/resources/themes/bootstrap4-light-purple/theme.css +26 -6
- package/resources/themes/fluent-light/theme.css +327 -66
- package/resources/themes/lara-dark-amber/theme.css +328 -67
- package/resources/themes/lara-dark-blue/theme.css +328 -67
- package/resources/themes/lara-dark-cyan/theme.css +328 -67
- package/resources/themes/lara-dark-green/theme.css +328 -67
- package/resources/themes/lara-dark-indigo/theme.css +328 -67
- package/resources/themes/lara-dark-pink/theme.css +328 -67
- package/resources/themes/lara-dark-purple/theme.css +26 -6
- package/resources/themes/lara-dark-teal/theme.css +328 -67
- package/resources/themes/lara-light-amber/theme.css +328 -67
- package/resources/themes/lara-light-blue/theme.css +328 -67
- package/resources/themes/lara-light-cyan/theme.css +328 -67
- package/resources/themes/lara-light-green/theme.css +328 -67
- package/resources/themes/lara-light-indigo/theme.css +328 -67
- package/resources/themes/lara-light-pink/theme.css +328 -67
- package/resources/themes/lara-light-purple/theme.css +26 -6
- package/resources/themes/lara-light-teal/theme.css +328 -67
- package/resources/themes/luna-amber/theme.css +328 -67
- package/resources/themes/luna-blue/theme.css +328 -67
- package/resources/themes/luna-green/theme.css +328 -67
- package/resources/themes/luna-pink/theme.css +328 -67
- package/resources/themes/md-dark-deeppurple/theme.css +158 -138
- package/resources/themes/md-dark-indigo/theme.css +454 -193
- package/resources/themes/md-light-deeppurple/theme.css +26 -6
- package/resources/themes/md-light-indigo/theme.css +328 -67
- package/resources/themes/mdc-dark-deeppurple/theme.css +158 -138
- package/resources/themes/mdc-dark-indigo/theme.css +454 -193
- package/resources/themes/mdc-light-deeppurple/theme.css +26 -6
- package/resources/themes/mdc-light-indigo/theme.css +328 -67
- package/resources/themes/mira/theme.css +328 -67
- package/resources/themes/nano/theme.css +328 -67
- package/resources/themes/nova/theme.css +328 -67
- package/resources/themes/nova-accent/theme.css +328 -67
- package/resources/themes/nova-alt/theme.css +328 -67
- package/resources/themes/rhea/theme.css +328 -67
- package/resources/themes/saga-blue/theme.css +328 -67
- package/resources/themes/saga-green/theme.css +328 -67
- package/resources/themes/saga-orange/theme.css +328 -67
- package/resources/themes/saga-purple/theme.css +26 -6
- package/resources/themes/soho-dark/theme.css +353 -92
- package/resources/themes/soho-light/theme.css +328 -67
- package/resources/themes/tailwind-light/theme.css +329 -71
- package/resources/themes/vela-blue/theme.css +328 -67
- package/resources/themes/vela-green/theme.css +328 -67
- package/resources/themes/vela-orange/theme.css +328 -67
- package/resources/themes/vela-purple/theme.css +26 -6
- package/resources/themes/viva-dark/theme.css +328 -67
- package/resources/themes/viva-light/theme.css +328 -67
- package/selectbutton/selectbutton.cjs.js +96 -50
- package/selectbutton/selectbutton.cjs.min.js +1 -1
- package/selectbutton/selectbutton.esm.js +96 -50
- package/selectbutton/selectbutton.esm.min.js +1 -1
- package/selectbutton/selectbutton.js +96 -50
- package/selectbutton/selectbutton.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/slider/slider.cjs.js +25 -4
- package/slider/slider.cjs.min.js +1 -1
- package/slider/slider.esm.js +25 -4
- package/slider/slider.esm.min.js +1 -1
- package/slider/slider.js +25 -4
- package/slider/slider.min.js +1 -1
- package/splitbutton/splitbutton.cjs.js +4 -3
- package/splitbutton/splitbutton.cjs.min.js +1 -1
- package/splitbutton/splitbutton.esm.js +4 -3
- package/splitbutton/splitbutton.esm.min.js +1 -1
- package/splitbutton/splitbutton.js +4 -3
- package/splitbutton/splitbutton.min.js +1 -1
- package/splitter/splitter.cjs.js +71 -25
- package/splitter/splitter.cjs.min.js +1 -1
- package/splitter/splitter.d.ts +13 -1
- package/splitter/splitter.esm.js +73 -27
- package/splitter/splitter.esm.min.js +1 -1
- package/splitter/splitter.js +71 -25
- package/splitter/splitter.min.js +1 -1
- package/tabview/tabview.cjs.js +6 -5
- package/tabview/tabview.cjs.min.js +1 -1
- package/tabview/tabview.d.ts +39 -34
- package/tabview/tabview.esm.js +6 -5
- package/tabview/tabview.esm.min.js +1 -1
- package/tabview/tabview.js +6 -5
- package/tabview/tabview.min.js +1 -1
- package/tieredmenu/tieredmenu.cjs.js +4 -3
- package/tieredmenu/tieredmenu.cjs.min.js +1 -1
- package/tieredmenu/tieredmenu.esm.js +4 -3
- package/tieredmenu/tieredmenu.esm.min.js +1 -1
- package/tieredmenu/tieredmenu.js +4 -3
- package/tieredmenu/tieredmenu.min.js +1 -1
- package/togglebutton/togglebutton.cjs.js +15 -14
- package/togglebutton/togglebutton.cjs.min.js +1 -1
- package/togglebutton/togglebutton.esm.js +14 -13
- package/togglebutton/togglebutton.esm.min.js +1 -1
- package/togglebutton/togglebutton.js +15 -14
- package/togglebutton/togglebutton.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/tristatecheckbox/tristatecheckbox.cjs.js +3 -2
- package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.esm.js +3 -2
- package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.js +3 -2
- package/tristatecheckbox/tristatecheckbox.min.js +1 -1
- package/web-types.json +19 -1
package/dropdown/dropdown.js
CHANGED
|
@@ -191,10 +191,13 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
|
|
|
191
191
|
item: function item(_ref7) {
|
|
192
192
|
var selected = _ref7.selected,
|
|
193
193
|
disabled = _ref7.disabled,
|
|
194
|
-
label = _ref7.label
|
|
194
|
+
label = _ref7.label,
|
|
195
|
+
index = _ref7.index,
|
|
196
|
+
focusedOptionIndex = _ref7.focusedOptionIndex;
|
|
195
197
|
return utils.classNames('p-dropdown-item', {
|
|
196
198
|
'p-highlight': selected,
|
|
197
199
|
'p-disabled': disabled,
|
|
200
|
+
'p-focus': index === focusedOptionIndex,
|
|
198
201
|
'p-dropdown-item-empty': !label || label.length === 0
|
|
199
202
|
});
|
|
200
203
|
},
|
|
@@ -247,6 +250,8 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
|
|
|
247
250
|
inputId: null,
|
|
248
251
|
inputRef: null,
|
|
249
252
|
itemTemplate: null,
|
|
253
|
+
loading: false,
|
|
254
|
+
loadingIcon: null,
|
|
250
255
|
maxLength: null,
|
|
251
256
|
name: null,
|
|
252
257
|
onBlur: null,
|
|
@@ -259,6 +264,8 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
|
|
|
259
264
|
onShow: null,
|
|
260
265
|
optionDisabled: null,
|
|
261
266
|
optionGroupChildren: 'items',
|
|
267
|
+
selectOnFocus: false,
|
|
268
|
+
autoOptionFocus: false,
|
|
262
269
|
optionGroupLabel: null,
|
|
263
270
|
optionGroupTemplate: null,
|
|
264
271
|
optionLabel: null,
|
|
@@ -297,7 +304,9 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
|
|
|
297
304
|
selected = props.selected,
|
|
298
305
|
disabled = props.disabled,
|
|
299
306
|
option = props.option,
|
|
300
|
-
label = props.label
|
|
307
|
+
label = props.label,
|
|
308
|
+
index = props.index,
|
|
309
|
+
focusedOptionIndex = props.focusedOptionIndex;
|
|
301
310
|
var getPTOptions = function getPTOptions(key) {
|
|
302
311
|
return ptm(key, {
|
|
303
312
|
context: {
|
|
@@ -306,7 +315,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
|
|
|
306
315
|
}
|
|
307
316
|
});
|
|
308
317
|
};
|
|
309
|
-
var _onClick = function onClick(event) {
|
|
318
|
+
var _onClick = function onClick(event, i) {
|
|
310
319
|
if (props.onClick) {
|
|
311
320
|
props.onClick({
|
|
312
321
|
originalEvent: event,
|
|
@@ -321,7 +330,9 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
|
|
|
321
330
|
className: utils.classNames(option.className, cx('item', {
|
|
322
331
|
selected: selected,
|
|
323
332
|
disabled: disabled,
|
|
324
|
-
label: label
|
|
333
|
+
label: label,
|
|
334
|
+
index: index,
|
|
335
|
+
focusedOptionIndex: focusedOptionIndex
|
|
325
336
|
})),
|
|
326
337
|
style: props.style,
|
|
327
338
|
onClick: function onClick(e) {
|
|
@@ -330,6 +341,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
|
|
|
330
341
|
'aria-label': label,
|
|
331
342
|
'aria-selected': selected,
|
|
332
343
|
'data-p-highlight': selected,
|
|
344
|
+
'data-p-focused': focusedOptionIndex === index,
|
|
333
345
|
'data-p-disabled': disabled
|
|
334
346
|
}, getPTOptions('item'));
|
|
335
347
|
return /*#__PURE__*/React__namespace.createElement("li", itemProps, content, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null));
|
|
@@ -401,6 +413,8 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
|
|
|
401
413
|
var disabled = props.isOptionDisabled(option);
|
|
402
414
|
return /*#__PURE__*/React__namespace.createElement(DropdownItem, {
|
|
403
415
|
key: optionKey,
|
|
416
|
+
index: j,
|
|
417
|
+
focusedOptionIndex: props.focusedOptionIndex,
|
|
404
418
|
label: optionLabel,
|
|
405
419
|
option: option,
|
|
406
420
|
style: style,
|
|
@@ -448,6 +462,8 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
|
|
|
448
462
|
return /*#__PURE__*/React__namespace.createElement(DropdownItem, {
|
|
449
463
|
key: optionKey,
|
|
450
464
|
label: optionLabel,
|
|
465
|
+
index: index,
|
|
466
|
+
focusedOptionIndex: props.focusedOptionIndex,
|
|
451
467
|
option: option,
|
|
452
468
|
style: style,
|
|
453
469
|
template: props.itemTemplate,
|
|
@@ -640,20 +656,30 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
|
|
|
640
656
|
setFilterState = _React$useState2[1];
|
|
641
657
|
var _React$useState3 = React__namespace.useState(false),
|
|
642
658
|
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
643
|
-
|
|
644
|
-
|
|
659
|
+
clicked = _React$useState4[0],
|
|
660
|
+
setClicked = _React$useState4[1];
|
|
645
661
|
var _React$useState5 = React__namespace.useState(false),
|
|
646
662
|
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
647
|
-
|
|
648
|
-
|
|
663
|
+
focusedState = _React$useState6[0],
|
|
664
|
+
setFocusedState = _React$useState6[1];
|
|
665
|
+
var _React$useState7 = React__namespace.useState(null),
|
|
666
|
+
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
667
|
+
focusedOptionIndex = _React$useState8[0],
|
|
668
|
+
setFocusedOptionIndex = _React$useState8[1];
|
|
669
|
+
var _React$useState9 = React__namespace.useState(false),
|
|
670
|
+
_React$useState10 = _slicedToArray(_React$useState9, 2),
|
|
671
|
+
overlayVisibleState = _React$useState10[0],
|
|
672
|
+
setOverlayVisibleState = _React$useState10[1];
|
|
649
673
|
var elementRef = React__namespace.useRef(null);
|
|
650
674
|
var overlayRef = React__namespace.useRef(null);
|
|
675
|
+
var firstHiddenFocusableElementOnOverlay = React__namespace.useRef(null);
|
|
676
|
+
var lastHiddenFocusableElementOnOverlay = React__namespace.useRef(null);
|
|
651
677
|
var inputRef = React__namespace.useRef(props.inputRef);
|
|
652
678
|
var focusInputRef = React__namespace.useRef(props.focusInputRef);
|
|
653
679
|
var virtualScrollerRef = React__namespace.useRef(null);
|
|
654
680
|
var searchTimeout = React__namespace.useRef(null);
|
|
655
681
|
var searchValue = React__namespace.useRef(null);
|
|
656
|
-
|
|
682
|
+
React__namespace.useRef(null);
|
|
657
683
|
var isLazy = props.virtualScrollerOptions && props.virtualScrollerOptions.lazy;
|
|
658
684
|
var hasFilter = utils.ObjectUtils.isNotEmpty(filterState);
|
|
659
685
|
var appendTo = props.appendTo || context && context.appendTo || PrimeReact__default["default"].appendTo;
|
|
@@ -717,6 +743,14 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
|
|
|
717
743
|
return props.options;
|
|
718
744
|
}
|
|
719
745
|
};
|
|
746
|
+
var onFirstHiddenFocus = function onFirstHiddenFocus(event) {
|
|
747
|
+
var focusableEl = event.relatedTarget === focusInputRef.current ? utils.DomHandler.getFirstFocusableElement(overlayRef.current, ':not([data-p-hidden-focusable="true"])') : focusInputRef.current;
|
|
748
|
+
utils.DomHandler.focus(focusableEl);
|
|
749
|
+
};
|
|
750
|
+
var onLastHiddenFocus = function onLastHiddenFocus(event) {
|
|
751
|
+
var focusableEl = event.relatedTarget === focusInputRef.current ? utils.DomHandler.getLastFocusableElement(overlayRef.current, ':not([data-p-hidden-focusable="true"])') : focusInputRef.current;
|
|
752
|
+
utils.DomHandler.focus(focusableEl);
|
|
753
|
+
};
|
|
720
754
|
var isClearClicked = function isClearClicked(event) {
|
|
721
755
|
return utils.DomHandler.isAttributeEquals(event.target, 'data-pc-section', 'clearicon') || utils.DomHandler.isAttributeEquals(event.target.parentElement || event.target, 'data-pc-section', 'filterclearicon');
|
|
722
756
|
};
|
|
@@ -736,6 +770,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
|
|
|
736
770
|
utils.DomHandler.focus(focusInputRef.current);
|
|
737
771
|
overlayVisibleState ? hide() : show();
|
|
738
772
|
}
|
|
773
|
+
setClicked(true);
|
|
739
774
|
};
|
|
740
775
|
var onInputFocus = function onInputFocus(event) {
|
|
741
776
|
if (props.showOnFocus && !overlayVisibleState) {
|
|
@@ -767,6 +802,15 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
|
|
|
767
802
|
}, 200);
|
|
768
803
|
}
|
|
769
804
|
};
|
|
805
|
+
var onOptionSelect = function onOptionSelect(event, option) {
|
|
806
|
+
var isHide = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
807
|
+
var value = getOptionValue(option);
|
|
808
|
+
selectItem({
|
|
809
|
+
originalEvent: event,
|
|
810
|
+
option: value
|
|
811
|
+
});
|
|
812
|
+
isHide && hide();
|
|
813
|
+
};
|
|
770
814
|
var onPanelClick = function onPanelClick(event) {
|
|
771
815
|
overlayservice.OverlayService.emit('overlay-click', {
|
|
772
816
|
originalEvent: event,
|
|
@@ -774,196 +818,285 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
|
|
|
774
818
|
});
|
|
775
819
|
};
|
|
776
820
|
var onInputKeyDown = function onInputKeyDown(event) {
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
821
|
+
if (props.disabled || utils.DomHandler.isAndroid()) {
|
|
822
|
+
event.preventDefault();
|
|
823
|
+
return;
|
|
824
|
+
}
|
|
825
|
+
var metaKey = event.metaKey || event.ctrlKey;
|
|
826
|
+
switch (event.code) {
|
|
827
|
+
case 'ArrowDown':
|
|
828
|
+
onArrowDownKey(event);
|
|
781
829
|
break;
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
case 38:
|
|
785
|
-
onUpKey(event);
|
|
830
|
+
case 'ArrowUp':
|
|
831
|
+
onArrowUpKey(event);
|
|
786
832
|
break;
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
case 13:
|
|
791
|
-
overlayVisibleState ? hide() : show();
|
|
792
|
-
event.preventDefault();
|
|
833
|
+
case 'ArrowLeft':
|
|
834
|
+
case 'ArrowRight':
|
|
835
|
+
onArrowLeftKey(event, props.editable);
|
|
793
836
|
break;
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
case
|
|
798
|
-
|
|
837
|
+
case 'Home':
|
|
838
|
+
onHomeKey(event);
|
|
839
|
+
break;
|
|
840
|
+
case 'End':
|
|
841
|
+
onEndKey(event);
|
|
842
|
+
break;
|
|
843
|
+
case 'PageDown':
|
|
844
|
+
onPageDownKey(event);
|
|
845
|
+
break;
|
|
846
|
+
case 'PageUp':
|
|
847
|
+
onPageUpKey(event);
|
|
848
|
+
break;
|
|
849
|
+
case 'Space':
|
|
850
|
+
onSpaceKey(event, props.editable);
|
|
851
|
+
break;
|
|
852
|
+
case 'NumpadEnter':
|
|
853
|
+
case 'Enter':
|
|
854
|
+
onEnterKey(event);
|
|
855
|
+
break;
|
|
856
|
+
case 'Escape':
|
|
857
|
+
onEscapeKey(event);
|
|
858
|
+
break;
|
|
859
|
+
case 'Tab':
|
|
860
|
+
onTabKey(event);
|
|
861
|
+
break;
|
|
862
|
+
case 'Backspace':
|
|
863
|
+
onBackspaceKey(event, props.editable);
|
|
864
|
+
break;
|
|
865
|
+
case 'ShiftLeft':
|
|
866
|
+
case 'ShiftRight':
|
|
867
|
+
//NOOP
|
|
799
868
|
break;
|
|
800
869
|
default:
|
|
801
|
-
|
|
870
|
+
if (!metaKey && utils.ObjectUtils.isPrintableCharacter(event.key)) {
|
|
871
|
+
!overlayVisibleState && show();
|
|
872
|
+
!props.editable && searchOptions(event, event.key);
|
|
873
|
+
}
|
|
802
874
|
break;
|
|
803
875
|
}
|
|
876
|
+
setClicked(false);
|
|
804
877
|
};
|
|
805
878
|
var onFilterInputKeyDown = function onFilterInputKeyDown(event) {
|
|
806
|
-
switch (event.
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
onDownKey(event);
|
|
879
|
+
switch (event.code) {
|
|
880
|
+
case 'ArrowDown':
|
|
881
|
+
onArrowDownKey(event);
|
|
810
882
|
break;
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
case 38:
|
|
814
|
-
onUpKey(event);
|
|
883
|
+
case 'ArrowUp':
|
|
884
|
+
onArrowUpKey(event);
|
|
815
885
|
break;
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
886
|
+
case 'ArrowLeft':
|
|
887
|
+
case 'ArrowRight':
|
|
888
|
+
onArrowLeftKey(event, true);
|
|
889
|
+
break;
|
|
890
|
+
case 'Escape':
|
|
891
|
+
case 'Enter':
|
|
892
|
+
onEnterKey(event);
|
|
821
893
|
event.preventDefault();
|
|
822
894
|
break;
|
|
823
895
|
}
|
|
824
896
|
};
|
|
825
|
-
var
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
897
|
+
var hasFocusableElements = function hasFocusableElements() {
|
|
898
|
+
return utils.DomHandler.getFocusableElements(overlayRef.current, ':not([data-p-hidden-focusable="true"])').length > 0;
|
|
899
|
+
};
|
|
900
|
+
var isOptionMatched = function isOptionMatched(option) {
|
|
901
|
+
var _getOptionLabel;
|
|
902
|
+
return isValidOption(option) && ((_getOptionLabel = getOptionLabel(option)) === null || _getOptionLabel === void 0 ? void 0 : _getOptionLabel.toLocaleLowerCase(props.filterLocale).startsWith(searchValue.current.toLocaleLowerCase(props.filterLocale)));
|
|
903
|
+
};
|
|
904
|
+
var isValidOption = function isValidOption(option) {
|
|
905
|
+
return utils.ObjectUtils.isNotEmpty(option) && !(isOptionDisabled(option) || isOptionGroup(option));
|
|
906
|
+
};
|
|
907
|
+
var hasSelectedOption = function hasSelectedOption() {
|
|
908
|
+
return utils.ObjectUtils.isNotEmpty(props.value);
|
|
909
|
+
};
|
|
910
|
+
var isValidSelectedOption = function isValidSelectedOption(option) {
|
|
911
|
+
return isValidOption(option) && isSelected(option);
|
|
912
|
+
};
|
|
913
|
+
var findSelectedOptionIndex = function findSelectedOptionIndex() {
|
|
914
|
+
return hasSelectedOption ? visibleOptions.findIndex(function (option) {
|
|
915
|
+
return isValidSelectedOption(option);
|
|
916
|
+
}) : -1;
|
|
917
|
+
};
|
|
918
|
+
var findFirstFocusedOptionIndex = function findFirstFocusedOptionIndex() {
|
|
919
|
+
var selectedIndex = findSelectedOptionIndex();
|
|
920
|
+
return selectedIndex < 0 ? findFirstOptionIndex() : selectedIndex;
|
|
836
921
|
};
|
|
837
|
-
var
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
922
|
+
var searchOptions = function searchOptions(event, _char) {
|
|
923
|
+
searchValue.current = (searchValue.current || '') + _char;
|
|
924
|
+
var optionIndex = -1;
|
|
925
|
+
var matched = false;
|
|
926
|
+
if (utils.ObjectUtils.isNotEmpty(searchValue.current)) {
|
|
927
|
+
if (focusedOptionIndex !== -1) {
|
|
928
|
+
optionIndex = visibleOptions.slice(focusedOptionIndex).findIndex(function (option) {
|
|
929
|
+
return isOptionMatched(option);
|
|
930
|
+
});
|
|
931
|
+
optionIndex = optionIndex === -1 ? visibleOptions.slice(0, focusedOptionIndex).findIndex(function (option) {
|
|
932
|
+
return isOptionMatched(option);
|
|
933
|
+
}) : optionIndex + focusedOptionIndex;
|
|
841
934
|
} else {
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
935
|
+
optionIndex = visibleOptions.findIndex(function (option) {
|
|
936
|
+
return isOptionMatched(option);
|
|
937
|
+
});
|
|
938
|
+
}
|
|
939
|
+
if (optionIndex !== -1) {
|
|
940
|
+
matched = true;
|
|
941
|
+
}
|
|
942
|
+
if (optionIndex === -1 && focusedOptionIndex === -1) {
|
|
943
|
+
optionIndex = findFirstFocusedOptionIndex();
|
|
944
|
+
}
|
|
945
|
+
if (optionIndex !== -1) {
|
|
946
|
+
changeFocusedOptionIndex(event, optionIndex);
|
|
849
947
|
}
|
|
850
948
|
}
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
var findNextOption = function findNextOption(index) {
|
|
854
|
-
if (props.optionGroupLabel) {
|
|
855
|
-
var groupIndex = index === -1 ? 0 : index.group;
|
|
856
|
-
var optionIndex = index === -1 ? -1 : index.option;
|
|
857
|
-
var option = findNextOptionInList(getOptionGroupChildren(visibleOptions[groupIndex]), optionIndex);
|
|
858
|
-
if (option) return option;else if (groupIndex + 1 !== visibleOptions.length) return findNextOption({
|
|
859
|
-
group: groupIndex + 1,
|
|
860
|
-
option: -1
|
|
861
|
-
});else return null;
|
|
949
|
+
if (searchTimeout.current) {
|
|
950
|
+
clearTimeout(searchTimeout.current);
|
|
862
951
|
}
|
|
863
|
-
|
|
952
|
+
searchTimeout.current = setTimeout(function () {
|
|
953
|
+
searchValue.current = '';
|
|
954
|
+
searchTimeout.current = null;
|
|
955
|
+
}, 500);
|
|
956
|
+
return matched;
|
|
957
|
+
};
|
|
958
|
+
var findLastFocusedOptionIndex = function findLastFocusedOptionIndex() {
|
|
959
|
+
var selectedIndex = findSelectedOptionIndex();
|
|
960
|
+
return selectedIndex < 0 ? findLastOptionIndex() : selectedIndex;
|
|
961
|
+
};
|
|
962
|
+
var findFirstOptionIndex = function findFirstOptionIndex() {
|
|
963
|
+
return visibleOptions.findIndex(function (option) {
|
|
964
|
+
return isValidOption(option);
|
|
965
|
+
});
|
|
864
966
|
};
|
|
865
|
-
var
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
}
|
|
870
|
-
var option = list[i];
|
|
871
|
-
return isOptionDisabled(option) ? findNextOptionInList(i) : option;
|
|
967
|
+
var findLastOptionIndex = function findLastOptionIndex() {
|
|
968
|
+
return utils.ObjectUtils.findLastIndex(visibleOptions, function (option) {
|
|
969
|
+
return isValidOption(option);
|
|
970
|
+
});
|
|
872
971
|
};
|
|
873
|
-
var
|
|
874
|
-
|
|
875
|
-
return
|
|
876
|
-
}
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
972
|
+
var findNextOptionIndex = function findNextOptionIndex(index) {
|
|
973
|
+
var matchedOptionIndex = index < visibleOptions.length - 1 ? visibleOptions.slice(index + 1).findIndex(function (option) {
|
|
974
|
+
return isValidOption(option);
|
|
975
|
+
}) : -1;
|
|
976
|
+
return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
|
|
977
|
+
};
|
|
978
|
+
var findPrevOptionIndex = function findPrevOptionIndex(index) {
|
|
979
|
+
var matchedOptionIndex = index > 0 ? utils.ObjectUtils.findLastIndex(visibleOptions.slice(0, index), function (option) {
|
|
980
|
+
return isValidOption(option);
|
|
981
|
+
}) : -1;
|
|
982
|
+
return matchedOptionIndex > -1 ? matchedOptionIndex : index;
|
|
983
|
+
};
|
|
984
|
+
var changeFocusedOptionIndex = function changeFocusedOptionIndex(event, index) {
|
|
985
|
+
if (focusedOptionIndex !== index) {
|
|
986
|
+
setFocusedOptionIndex(index);
|
|
987
|
+
if (props.selectOnFocus) {
|
|
988
|
+
onOptionSelect(event, visibleOptions[index], false);
|
|
989
|
+
}
|
|
885
990
|
}
|
|
886
|
-
return findPrevOptionInList(visibleOptions, index);
|
|
887
991
|
};
|
|
888
|
-
var
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
992
|
+
var onArrowDownKey = function onArrowDownKey(event) {
|
|
993
|
+
if (!overlayVisibleState) {
|
|
994
|
+
show();
|
|
995
|
+
props.editable && changeFocusedOptionIndex(event, findSelectedOptionIndex());
|
|
996
|
+
} else {
|
|
997
|
+
var optionIndex = focusedOptionIndex !== -1 ? findNextOptionIndex(focusedOptionIndex) : clicked ? findFirstOptionIndex() : findFirstFocusedOptionIndex();
|
|
998
|
+
changeFocusedOptionIndex(event, optionIndex);
|
|
892
999
|
}
|
|
893
|
-
|
|
894
|
-
return isOptionDisabled(option) ? findPrevOption(i) : option;
|
|
1000
|
+
event.preventDefault();
|
|
895
1001
|
};
|
|
896
|
-
var
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
if (_char === 'Shift' || _char === 'Control' || _char === 'Alt') {
|
|
902
|
-
return;
|
|
903
|
-
}
|
|
904
|
-
if (currentSearchChar.current === _char) searchValue.current = _char;else searchValue.current = searchValue.current ? searchValue.current + _char : _char;
|
|
905
|
-
currentSearchChar.current = _char;
|
|
906
|
-
if (searchValue.current) {
|
|
907
|
-
var searchIndex = getSelectedOptionIndex();
|
|
908
|
-
var newOption = props.optionGroupLabel ? searchOptionInGroup(searchIndex) : searchOption(searchIndex + 1);
|
|
909
|
-
if (newOption) {
|
|
910
|
-
selectItem({
|
|
911
|
-
originalEvent: event,
|
|
912
|
-
option: newOption
|
|
913
|
-
});
|
|
1002
|
+
var onArrowUpKey = function onArrowUpKey(event) {
|
|
1003
|
+
var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
1004
|
+
if (event.altKey && !pressedInInputText) {
|
|
1005
|
+
if (focusedOptionIndex !== -1) {
|
|
1006
|
+
onOptionSelect(event, visibleOptions[focusedOptionIndex]);
|
|
914
1007
|
}
|
|
1008
|
+
state.overlayVisible && hide();
|
|
1009
|
+
event.preventDefault();
|
|
1010
|
+
} else {
|
|
1011
|
+
var optionIndex = focusedOptionIndex !== -1 ? findPrevOptionIndex(focusedOptionIndex) : clicked ? findLastOptionIndex() : findLastFocusedOptionIndex();
|
|
1012
|
+
changeFocusedOptionIndex(event, optionIndex);
|
|
1013
|
+
!overlayVisibleState && show();
|
|
1014
|
+
event.preventDefault();
|
|
915
1015
|
}
|
|
916
|
-
searchTimeout.current = setTimeout(function () {
|
|
917
|
-
searchValue.current = null;
|
|
918
|
-
}, 250);
|
|
919
1016
|
};
|
|
920
|
-
var
|
|
921
|
-
|
|
922
|
-
|
|
1017
|
+
var onArrowLeftKey = function onArrowLeftKey(event) {
|
|
1018
|
+
var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
1019
|
+
pressedInInputText && setFocusedOptionIndex(-1);
|
|
1020
|
+
};
|
|
1021
|
+
var onHomeKey = function onHomeKey(event) {
|
|
1022
|
+
var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
1023
|
+
if (pressedInInputText) {
|
|
1024
|
+
event.currentTarget.setSelectionRange(0, 0);
|
|
1025
|
+
setFocusedOptionIndex(-1);
|
|
1026
|
+
} else {
|
|
1027
|
+
changeFocusedOptionIndex(event, findFirstOptionIndex());
|
|
1028
|
+
!overlayVisibleState && show();
|
|
923
1029
|
}
|
|
924
|
-
|
|
1030
|
+
event.preventDefault();
|
|
925
1031
|
};
|
|
926
|
-
var
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
1032
|
+
var onEndKey = function onEndKey(event) {
|
|
1033
|
+
var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
1034
|
+
if (pressedInInputText) {
|
|
1035
|
+
var target = event.currentTarget;
|
|
1036
|
+
var len = target.value.length;
|
|
1037
|
+
target.setSelectionRange(len, len);
|
|
1038
|
+
setFocusedOptionIndex(-1);
|
|
1039
|
+
} else {
|
|
1040
|
+
changeFocusedOptionIndex(event, findLastOptionIndex());
|
|
1041
|
+
!overlayVisibleState && show();
|
|
932
1042
|
}
|
|
933
|
-
|
|
1043
|
+
event.preventDefault();
|
|
934
1044
|
};
|
|
935
|
-
var
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
1045
|
+
var onPageUpKey = function onPageUpKey(event) {
|
|
1046
|
+
event.preventDefault();
|
|
1047
|
+
};
|
|
1048
|
+
var onPageDownKey = function onPageDownKey(event) {
|
|
1049
|
+
event.preventDefault();
|
|
1050
|
+
};
|
|
1051
|
+
var onSpaceKey = function onSpaceKey(event) {
|
|
1052
|
+
var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
1053
|
+
!pressedInInputText && onEnterKey(event);
|
|
1054
|
+
};
|
|
1055
|
+
var onEnterKey = function onEnterKey(event) {
|
|
1056
|
+
if (!overlayVisibleState) {
|
|
1057
|
+
setFocusedOptionIndex(-1);
|
|
1058
|
+
onArrowDownKey(event);
|
|
1059
|
+
} else {
|
|
1060
|
+
if (focusedOptionIndex !== -1) {
|
|
1061
|
+
onOptionSelect(event, visibleOptions[focusedOptionIndex]);
|
|
946
1062
|
}
|
|
1063
|
+
hide();
|
|
947
1064
|
}
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
1065
|
+
event.preventDefault();
|
|
1066
|
+
};
|
|
1067
|
+
var onEscapeKey = function onEscapeKey(event) {
|
|
1068
|
+
overlayVisibleState && hide();
|
|
1069
|
+
event.preventDefault();
|
|
1070
|
+
};
|
|
1071
|
+
var onTabKey = function onTabKey(event) {
|
|
1072
|
+
var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
1073
|
+
if (!pressedInInputText) {
|
|
1074
|
+
if (overlayVisibleState && hasFocusableElements()) {
|
|
1075
|
+
utils.DomHandler.focus($refs.firstHiddenFocusableElementOnOverlay);
|
|
1076
|
+
event.preventDefault();
|
|
1077
|
+
} else {
|
|
1078
|
+
if (focusedOptionIndex !== -1) {
|
|
1079
|
+
onOptionSelect(event, visibleOptions[focusedOptionIndex]);
|
|
953
1080
|
}
|
|
1081
|
+
overlayVisibleState && hide();
|
|
954
1082
|
}
|
|
955
1083
|
}
|
|
956
|
-
return null;
|
|
957
1084
|
};
|
|
958
|
-
var
|
|
959
|
-
var
|
|
960
|
-
if (
|
|
961
|
-
|
|
1085
|
+
var onBackspaceKey = function onBackspaceKey(event) {
|
|
1086
|
+
var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
1087
|
+
if (pressedInInputText) {
|
|
1088
|
+
!overlayVisibleState && show();
|
|
962
1089
|
}
|
|
963
|
-
label = label.toLocaleLowerCase(props.filterLocale);
|
|
964
|
-
return label.startsWith(searchValue.current.toLocaleLowerCase(props.filterLocale));
|
|
965
1090
|
};
|
|
966
1091
|
var onEditableInputChange = function onEditableInputChange(event) {
|
|
1092
|
+
!overlayVisibleState && show();
|
|
1093
|
+
var searchIndex = null;
|
|
1094
|
+
if (event.target.value) {
|
|
1095
|
+
searchIndex = visibleOptions.findIndex(function (item) {
|
|
1096
|
+
return item.name.toLocaleLowerCase().startsWith(event.target.value.toLocaleLowerCase());
|
|
1097
|
+
});
|
|
1098
|
+
}
|
|
1099
|
+
setFocusedOptionIndex(searchIndex);
|
|
967
1100
|
if (props.onChange) {
|
|
968
1101
|
props.onChange({
|
|
969
1102
|
originalEvent: event.originalEvent,
|
|
@@ -1093,10 +1226,17 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
|
|
|
1093
1226
|
return utils.ObjectUtils.equals(props.value, getOptionValue(option), equalityKey());
|
|
1094
1227
|
};
|
|
1095
1228
|
var show = function show() {
|
|
1229
|
+
setFocusedOptionIndex(focusedOptionIndex !== -1 ? focusedOptionIndex : props.autoOptionFocus ? findFirstFocusedOptionIndex() : props.editable ? -1 : findSelectedOptionIndex());
|
|
1096
1230
|
setOverlayVisibleState(true);
|
|
1097
1231
|
};
|
|
1098
1232
|
var hide = function hide() {
|
|
1099
1233
|
setOverlayVisibleState(false);
|
|
1234
|
+
setClicked(false);
|
|
1235
|
+
};
|
|
1236
|
+
var onFocus = function onFocus() {
|
|
1237
|
+
if (props.editable) {
|
|
1238
|
+
utils.DomHandler.focus(inputRef.current);
|
|
1239
|
+
}
|
|
1100
1240
|
};
|
|
1101
1241
|
var onOverlayEnter = function onOverlayEnter(callback) {
|
|
1102
1242
|
utils.ZIndexUtils.set('overlay', overlayRef.current, context && context.autoZIndex || PrimeReact__default["default"].autoZIndex, context && context.zIndex['overlay'] || PrimeReact__default["default"].zIndex['overlay']);
|
|
@@ -1149,6 +1289,9 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
|
|
|
1149
1289
|
var getOptionRenderKey = function getOptionRenderKey(option) {
|
|
1150
1290
|
return props.dataKey ? utils.ObjectUtils.resolveFieldData(option, props.dataKey) : getOptionLabel(option);
|
|
1151
1291
|
};
|
|
1292
|
+
var isOptionGroup = function isOptionGroup(option) {
|
|
1293
|
+
return props.optionGroupLabel && option.optionGroup && option.group;
|
|
1294
|
+
};
|
|
1152
1295
|
var isOptionDisabled = function isOptionDisabled(option) {
|
|
1153
1296
|
if (props.optionDisabled) {
|
|
1154
1297
|
return utils.ObjectUtils.isFunction(props.optionDisabled) ? props.optionDisabled(option) : utils.ObjectUtils.resolveFieldData(option, props.optionDisabled);
|
|
@@ -1297,8 +1440,9 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
|
|
|
1297
1440
|
maxLength: props.maxLength,
|
|
1298
1441
|
onInput: onEditableInputChange,
|
|
1299
1442
|
onFocus: onEditableInputFocus,
|
|
1443
|
+
onKeyDown: onInputKeyDown,
|
|
1300
1444
|
onBlur: onInputBlur,
|
|
1301
|
-
tabIndex: props.tabIndex
|
|
1445
|
+
tabIndex: !props.disabled ? props.tabIndex : -1,
|
|
1302
1446
|
'aria-haspopup': 'listbox'
|
|
1303
1447
|
}, ariaProps), ptm('input'));
|
|
1304
1448
|
return /*#__PURE__*/React__namespace.createElement("input", inputProps);
|
|
@@ -1390,10 +1534,31 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
|
|
|
1390
1534
|
},
|
|
1391
1535
|
onMouseDown: props.onMouseDown,
|
|
1392
1536
|
onContextMenu: props.onContextMenu,
|
|
1537
|
+
onFocus: onFocus,
|
|
1393
1538
|
'data-p-disabled': props.disabled,
|
|
1394
1539
|
'data-p-focus': focusedState
|
|
1395
1540
|
}, otherProps, ptm('root'));
|
|
1396
|
-
|
|
1541
|
+
var firstHiddenFocusableElementProps = mergeProps({
|
|
1542
|
+
ref: firstHiddenFocusableElementOnOverlay,
|
|
1543
|
+
role: 'presentation',
|
|
1544
|
+
'aria-hidden': 'true',
|
|
1545
|
+
className: 'p-hidden-accessible p-hidden-focusable',
|
|
1546
|
+
tabIndex: '0',
|
|
1547
|
+
onFocus: onFirstHiddenFocus,
|
|
1548
|
+
'data-p-hidden-accessible': true,
|
|
1549
|
+
'data-p-hidden-focusable': true
|
|
1550
|
+
}, ptm('hiddenFirstFocusableEl'));
|
|
1551
|
+
var lastHiddenFocusableElementProps = mergeProps({
|
|
1552
|
+
ref: lastHiddenFocusableElementOnOverlay,
|
|
1553
|
+
role: 'presentation',
|
|
1554
|
+
'aria-hidden': 'true',
|
|
1555
|
+
className: 'p-hidden-accessible p-hidden-focusable',
|
|
1556
|
+
tabIndex: '0',
|
|
1557
|
+
onFocus: onLastHiddenFocus,
|
|
1558
|
+
'data-p-hidden-accessible': true,
|
|
1559
|
+
'data-p-hidden-focusable': true
|
|
1560
|
+
}, ptm('hiddenLastFocusableEl'));
|
|
1561
|
+
return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement("div", rootProps, keyboardHelper, hiddenSelect, labelElement, clearIcon, dropdownIcon, /*#__PURE__*/React__namespace.createElement("span", firstHiddenFocusableElementProps), /*#__PURE__*/React__namespace.createElement(DropdownPanel, _extends({
|
|
1397
1562
|
hostName: "Dropdown",
|
|
1398
1563
|
ref: overlayRef,
|
|
1399
1564
|
visibleOptions: visibleOptions,
|
|
@@ -1402,6 +1567,8 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
|
|
|
1402
1567
|
appendTo: appendTo,
|
|
1403
1568
|
onClick: onPanelClick,
|
|
1404
1569
|
onOptionClick: onOptionClick,
|
|
1570
|
+
focusedOptionIndex: focusedOptionIndex,
|
|
1571
|
+
setFocusedOptionIndex: setFocusedOptionIndex,
|
|
1405
1572
|
filterValue: filterState,
|
|
1406
1573
|
hasFilter: hasFilter,
|
|
1407
1574
|
onFilterClearIconClick: onFilterClearIconClick,
|
|
@@ -1424,7 +1591,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
|
|
|
1424
1591
|
ptm: ptm,
|
|
1425
1592
|
cx: cx,
|
|
1426
1593
|
sx: sx
|
|
1427
|
-
}))), hasTooltip && /*#__PURE__*/React__namespace.createElement(tooltip.Tooltip, _extends({
|
|
1594
|
+
})), /*#__PURE__*/React__namespace.createElement("span", lastHiddenFocusableElementProps)), hasTooltip && /*#__PURE__*/React__namespace.createElement(tooltip.Tooltip, _extends({
|
|
1428
1595
|
target: elementRef,
|
|
1429
1596
|
content: props.tooltip
|
|
1430
1597
|
}, props.tooltipOptions, {
|