primereact 10.4.0 → 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.
Files changed (199) hide show
  1. package/calendar/calendar.cjs.js +12 -4
  2. package/calendar/calendar.cjs.min.js +1 -1
  3. package/calendar/calendar.esm.js +12 -4
  4. package/calendar/calendar.esm.min.js +1 -1
  5. package/calendar/calendar.js +12 -4
  6. package/calendar/calendar.min.js +1 -1
  7. package/checkbox/checkbox.cjs.js +2 -0
  8. package/checkbox/checkbox.cjs.min.js +1 -1
  9. package/checkbox/checkbox.esm.js +2 -0
  10. package/checkbox/checkbox.esm.min.js +1 -1
  11. package/checkbox/checkbox.js +2 -0
  12. package/checkbox/checkbox.min.js +1 -1
  13. package/chips/chips.cjs.js +109 -20
  14. package/chips/chips.cjs.min.js +1 -1
  15. package/chips/chips.esm.js +109 -20
  16. package/chips/chips.esm.min.js +1 -1
  17. package/chips/chips.js +109 -20
  18. package/chips/chips.min.js +1 -1
  19. package/core/core.js +643 -465
  20. package/core/core.min.js +4 -4
  21. package/dropdown/dropdown.cjs.js +313 -141
  22. package/dropdown/dropdown.cjs.min.js +1 -1
  23. package/dropdown/dropdown.esm.js +313 -141
  24. package/dropdown/dropdown.esm.min.js +1 -1
  25. package/dropdown/dropdown.js +313 -141
  26. package/dropdown/dropdown.min.js +1 -1
  27. package/inputnumber/inputnumber.cjs.js +21 -17
  28. package/inputnumber/inputnumber.cjs.min.js +1 -1
  29. package/inputnumber/inputnumber.esm.js +21 -17
  30. package/inputnumber/inputnumber.esm.min.js +1 -1
  31. package/inputnumber/inputnumber.js +21 -17
  32. package/inputnumber/inputnumber.min.js +1 -1
  33. package/inputswitch/inputswitch.cjs.js +3 -1
  34. package/inputswitch/inputswitch.cjs.min.js +1 -1
  35. package/inputswitch/inputswitch.esm.js +3 -1
  36. package/inputswitch/inputswitch.esm.min.js +1 -1
  37. package/inputswitch/inputswitch.js +3 -1
  38. package/inputswitch/inputswitch.min.js +1 -1
  39. package/knob/knob.cjs.js +62 -0
  40. package/knob/knob.cjs.min.js +1 -1
  41. package/knob/knob.esm.js +62 -0
  42. package/knob/knob.esm.min.js +1 -1
  43. package/knob/knob.js +62 -0
  44. package/knob/knob.min.js +1 -1
  45. package/listbox/listbox.cjs.js +362 -92
  46. package/listbox/listbox.cjs.min.js +1 -1
  47. package/listbox/listbox.esm.js +363 -93
  48. package/listbox/listbox.esm.min.js +1 -1
  49. package/listbox/listbox.js +362 -92
  50. package/listbox/listbox.min.js +1 -1
  51. package/menu/menu.cjs.js +4 -2
  52. package/menu/menu.cjs.min.js +1 -1
  53. package/menu/menu.esm.js +4 -2
  54. package/menu/menu.esm.min.js +1 -1
  55. package/menu/menu.js +5 -4
  56. package/menu/menu.min.js +1 -1
  57. package/multiselect/multiselect.cjs.js +377 -107
  58. package/multiselect/multiselect.cjs.min.js +1 -1
  59. package/multiselect/multiselect.esm.js +377 -107
  60. package/multiselect/multiselect.esm.min.js +1 -1
  61. package/multiselect/multiselect.js +377 -107
  62. package/multiselect/multiselect.min.js +1 -1
  63. package/package.json +1 -1
  64. package/paginator/paginator.cjs.js +251 -251
  65. package/paginator/paginator.cjs.min.js +1 -1
  66. package/paginator/paginator.esm.js +258 -258
  67. package/paginator/paginator.esm.min.js +1 -1
  68. package/paginator/paginator.js +251 -251
  69. package/paginator/paginator.min.js +1 -1
  70. package/panelmenu/panelmenu.cjs.js +2 -1
  71. package/panelmenu/panelmenu.cjs.min.js +1 -1
  72. package/panelmenu/panelmenu.esm.js +2 -1
  73. package/panelmenu/panelmenu.esm.min.js +1 -1
  74. package/panelmenu/panelmenu.js +3 -3
  75. package/panelmenu/panelmenu.min.js +1 -1
  76. package/passthrough/tailwind/index.cjs.js +3 -2
  77. package/passthrough/tailwind/index.cjs.min.js +1 -1
  78. package/passthrough/tailwind/index.esm.js +3 -2
  79. package/passthrough/tailwind/index.esm.min.js +1 -1
  80. package/passthrough/tailwind/index.js +3 -2
  81. package/passthrough/tailwind/index.min.js +1 -1
  82. package/password/password.cjs.js +22 -20
  83. package/password/password.cjs.min.js +1 -1
  84. package/password/password.esm.js +22 -20
  85. package/password/password.esm.min.js +1 -1
  86. package/password/password.js +22 -20
  87. package/password/password.min.js +1 -1
  88. package/primereact.all.cjs.js +1473 -485
  89. package/primereact.all.cjs.min.js +1 -1
  90. package/primereact.all.esm.js +1473 -485
  91. package/primereact.all.esm.min.js +1 -1
  92. package/primereact.all.js +1473 -485
  93. package/primereact.all.min.js +1 -1
  94. package/radiobutton/radiobutton.cjs.js +1 -0
  95. package/radiobutton/radiobutton.cjs.min.js +1 -1
  96. package/radiobutton/radiobutton.esm.js +1 -0
  97. package/radiobutton/radiobutton.esm.min.js +1 -1
  98. package/radiobutton/radiobutton.js +1 -0
  99. package/radiobutton/radiobutton.min.js +1 -1
  100. package/rating/rating.cjs.js +103 -4
  101. package/rating/rating.cjs.min.js +1 -1
  102. package/rating/rating.esm.js +103 -4
  103. package/rating/rating.esm.min.js +1 -1
  104. package/rating/rating.js +103 -4
  105. package/rating/rating.min.js +1 -1
  106. package/resources/themes/arya-blue/theme.css +328 -67
  107. package/resources/themes/arya-green/theme.css +328 -67
  108. package/resources/themes/arya-orange/theme.css +328 -67
  109. package/resources/themes/arya-purple/theme.css +26 -6
  110. package/resources/themes/bootstrap4-dark-blue/theme.css +328 -67
  111. package/resources/themes/bootstrap4-dark-purple/theme.css +26 -6
  112. package/resources/themes/bootstrap4-light-blue/theme.css +328 -67
  113. package/resources/themes/bootstrap4-light-purple/theme.css +26 -6
  114. package/resources/themes/fluent-light/theme.css +327 -66
  115. package/resources/themes/lara-dark-amber/theme.css +328 -67
  116. package/resources/themes/lara-dark-blue/theme.css +328 -67
  117. package/resources/themes/lara-dark-cyan/theme.css +328 -67
  118. package/resources/themes/lara-dark-green/theme.css +328 -67
  119. package/resources/themes/lara-dark-indigo/theme.css +328 -67
  120. package/resources/themes/lara-dark-pink/theme.css +328 -67
  121. package/resources/themes/lara-dark-purple/theme.css +26 -6
  122. package/resources/themes/lara-dark-teal/theme.css +328 -67
  123. package/resources/themes/lara-light-amber/theme.css +328 -67
  124. package/resources/themes/lara-light-blue/theme.css +328 -67
  125. package/resources/themes/lara-light-cyan/theme.css +328 -67
  126. package/resources/themes/lara-light-green/theme.css +328 -67
  127. package/resources/themes/lara-light-indigo/theme.css +328 -67
  128. package/resources/themes/lara-light-pink/theme.css +328 -67
  129. package/resources/themes/lara-light-purple/theme.css +26 -6
  130. package/resources/themes/lara-light-teal/theme.css +328 -67
  131. package/resources/themes/luna-amber/theme.css +328 -67
  132. package/resources/themes/luna-blue/theme.css +328 -67
  133. package/resources/themes/luna-green/theme.css +328 -67
  134. package/resources/themes/luna-pink/theme.css +328 -67
  135. package/resources/themes/md-dark-deeppurple/theme.css +158 -138
  136. package/resources/themes/md-dark-indigo/theme.css +454 -193
  137. package/resources/themes/md-light-deeppurple/theme.css +26 -6
  138. package/resources/themes/md-light-indigo/theme.css +328 -67
  139. package/resources/themes/mdc-dark-deeppurple/theme.css +158 -138
  140. package/resources/themes/mdc-dark-indigo/theme.css +454 -193
  141. package/resources/themes/mdc-light-deeppurple/theme.css +26 -6
  142. package/resources/themes/mdc-light-indigo/theme.css +328 -67
  143. package/resources/themes/mira/theme.css +328 -67
  144. package/resources/themes/nano/theme.css +328 -67
  145. package/resources/themes/nova/theme.css +328 -67
  146. package/resources/themes/nova-accent/theme.css +328 -67
  147. package/resources/themes/nova-alt/theme.css +328 -67
  148. package/resources/themes/rhea/theme.css +328 -67
  149. package/resources/themes/saga-blue/theme.css +328 -67
  150. package/resources/themes/saga-green/theme.css +328 -67
  151. package/resources/themes/saga-orange/theme.css +328 -67
  152. package/resources/themes/saga-purple/theme.css +26 -6
  153. package/resources/themes/soho-dark/theme.css +353 -92
  154. package/resources/themes/soho-light/theme.css +328 -67
  155. package/resources/themes/tailwind-light/theme.css +329 -71
  156. package/resources/themes/vela-blue/theme.css +328 -67
  157. package/resources/themes/vela-green/theme.css +328 -67
  158. package/resources/themes/vela-orange/theme.css +328 -67
  159. package/resources/themes/vela-purple/theme.css +26 -6
  160. package/resources/themes/viva-dark/theme.css +328 -67
  161. package/resources/themes/viva-light/theme.css +328 -67
  162. package/selectbutton/selectbutton.cjs.js +96 -50
  163. package/selectbutton/selectbutton.cjs.min.js +1 -1
  164. package/selectbutton/selectbutton.esm.js +96 -50
  165. package/selectbutton/selectbutton.esm.min.js +1 -1
  166. package/selectbutton/selectbutton.js +96 -50
  167. package/selectbutton/selectbutton.min.js +1 -1
  168. package/slider/slider.cjs.js +25 -4
  169. package/slider/slider.cjs.min.js +1 -1
  170. package/slider/slider.esm.js +25 -4
  171. package/slider/slider.esm.min.js +1 -1
  172. package/slider/slider.js +25 -4
  173. package/slider/slider.min.js +1 -1
  174. package/splitter/splitter.cjs.js +16 -15
  175. package/splitter/splitter.cjs.min.js +1 -1
  176. package/splitter/splitter.esm.js +16 -15
  177. package/splitter/splitter.esm.min.js +1 -1
  178. package/splitter/splitter.js +16 -15
  179. package/splitter/splitter.min.js +1 -1
  180. package/tabview/tabview.cjs.js +6 -5
  181. package/tabview/tabview.cjs.min.js +1 -1
  182. package/tabview/tabview.d.ts +39 -34
  183. package/tabview/tabview.esm.js +6 -5
  184. package/tabview/tabview.esm.min.js +1 -1
  185. package/tabview/tabview.js +6 -5
  186. package/tabview/tabview.min.js +1 -1
  187. package/togglebutton/togglebutton.cjs.js +15 -14
  188. package/togglebutton/togglebutton.cjs.min.js +1 -1
  189. package/togglebutton/togglebutton.esm.js +14 -13
  190. package/togglebutton/togglebutton.esm.min.js +1 -1
  191. package/togglebutton/togglebutton.js +15 -14
  192. package/togglebutton/togglebutton.min.js +1 -1
  193. package/tristatecheckbox/tristatecheckbox.cjs.js +3 -2
  194. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  195. package/tristatecheckbox/tristatecheckbox.esm.js +3 -2
  196. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  197. package/tristatecheckbox/tristatecheckbox.js +3 -2
  198. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  199. package/web-types.json +1 -1
@@ -2943,7 +2943,7 @@ function localeOption(key, locale) {
2943
2943
  * @param {any} options JSON options like { page: 2, user: "John", role: "Admin" }
2944
2944
  * @returns the ARIA label with replaced values
2945
2945
  */
2946
- function ariaLabel$1(ariaKey, options) {
2946
+ function ariaLabel(ariaKey, options) {
2947
2947
  var _locale = PrimeReact$1.locale;
2948
2948
  try {
2949
2949
  var _ariaLabel = localeOptions(_locale)['aria'][ariaKey];
@@ -11842,11 +11842,14 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
11842
11842
  }
11843
11843
  if (props.view === 'date') {
11844
11844
  overlayRef.current.style.width = DomHandler.getOuterWidth(overlayRef.current) + 'px';
11845
- overlayRef.current.style.minWidth = inputWidth + 'px';
11846
11845
  } else {
11847
- overlayRef.current.style.minWidth = inputWidth + 'px';
11848
11846
  overlayRef.current.style.width = inputWidth + 'px';
11849
11847
  }
11848
+
11849
+ // #5830 Tailwind does not need a min width it breaks the styling
11850
+ if (!isUnstyled()) {
11851
+ overlayRef.current.style.minWidth = inputWidth + 'px';
11852
+ }
11850
11853
  }
11851
11854
  alignOverlay();
11852
11855
  };
@@ -11897,7 +11900,7 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
11897
11900
  if (isUnstyled) {
11898
11901
  destroyMask();
11899
11902
  } else {
11900
- DomHandler.addClass(touchUIMask.current, 'p-component-overlay-leave');
11903
+ !isUnstyled() && DomHandler.addClass(touchUIMask.current, 'p-component-overlay-leave');
11901
11904
  touchUIMask.current.addEventListener('animationend', function () {
11902
11905
  destroyMask();
11903
11906
  });
@@ -12277,7 +12280,12 @@ var Calendar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
12277
12280
  var isEnabled = props.enabledDates.some(function (d) {
12278
12281
  return d.getFullYear() === year && d.getMonth() === month && d.getDate() === day;
12279
12282
  });
12280
- isDisabled = isDisabled ? !isEnabled : isEnabled;
12283
+ if (isEnabled) {
12284
+ isDisabled = false;
12285
+ } else if (!props.disabledDays && !props.disabledDates) {
12286
+ // disable other dates when only enabledDates are present
12287
+ isDisabled = true;
12288
+ }
12281
12289
  }
12282
12290
  return isDisabled;
12283
12291
  };
@@ -15702,6 +15710,8 @@ var Checkbox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
15702
15710
  onClick: function onClick(e) {
15703
15711
  return _onClick(e);
15704
15712
  },
15713
+ 'data-p-highlight': checked,
15714
+ 'data-p-disabled': props.disabled,
15705
15715
  onContextMenu: props.onContextMenu,
15706
15716
  onMouseDown: props.onMouseDown
15707
15717
  }, otherProps, ptm('root'));
@@ -15886,22 +15896,29 @@ var styles$T = "\n@layer primereact {\n .p-chips {\n display: inline-f
15886
15896
  var classes$X = {
15887
15897
  removeTokenIcon: 'p-chips-token-icon',
15888
15898
  label: 'p-chips-token-label',
15889
- token: 'p-chips-token p-highlight',
15899
+ token: function token(_ref) {
15900
+ var focusedIndex = _ref.focusedIndex,
15901
+ index = _ref.index;
15902
+ return classNames('p-chips-token', {
15903
+ 'p-focus': focusedIndex === index
15904
+ });
15905
+ },
15890
15906
  inputToken: 'p-chips-input-token',
15891
- container: function container(_ref) {
15892
- var props = _ref.props,
15893
- focusedState = _ref.focusedState;
15907
+ container: function container(_ref2) {
15908
+ var isFilled = _ref2.isFilled;
15894
15909
  return classNames('p-inputtext p-chips-multiple-container', {
15895
- 'p-disabled': props.disabled,
15896
- 'p-focus': focusedState
15910
+ 'p-variant-filled': isFilled
15897
15911
  });
15898
15912
  },
15899
- root: function root(_ref2) {
15900
- var isFilled = _ref2.isFilled,
15901
- focusedState = _ref2.focusedState;
15913
+ root: function root(_ref3) {
15914
+ var isFilled = _ref3.isFilled,
15915
+ focusedState = _ref3.focusedState,
15916
+ disabled = _ref3.disabled;
15902
15917
  return classNames('p-chips p-component p-inputwrapper', {
15903
15918
  'p-inputwrapper-filled': isFilled,
15904
- 'p-inputwrapper-focus': focusedState
15919
+ 'p-inputwrapper-focus': focusedState,
15920
+ 'p-disabled': disabled,
15921
+ 'p-focus': focusedState
15905
15922
  });
15906
15923
  }
15907
15924
  };
@@ -15954,6 +15971,10 @@ var Chips = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.fo
15954
15971
  _React$useState2 = _slicedToArray(_React$useState, 2),
15955
15972
  focusedState = _React$useState2[0],
15956
15973
  setFocusedState = _React$useState2[1];
15974
+ var _React$useState3 = React__namespace.useState(null),
15975
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
15976
+ focusedIndex = _React$useState4[0],
15977
+ setFocusedIndex = _React$useState4[1];
15957
15978
  var _ChipsBase$setMetaDat = ChipsBase.setMetaData({
15958
15979
  props: props,
15959
15980
  state: {
@@ -16023,26 +16044,71 @@ var Chips = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.fo
16023
16044
  var onWrapperClick = function onWrapperClick() {
16024
16045
  DomHandler.focus(inputRef.current);
16025
16046
  };
16047
+ var onContainerKeyDown = function onContainerKeyDown(event) {
16048
+ switch (event.code) {
16049
+ case 'ArrowLeft':
16050
+ onArrowLeftKeyOn();
16051
+ break;
16052
+ case 'ArrowRight':
16053
+ onArrowRightKeyOn();
16054
+ break;
16055
+ case 'Backspace':
16056
+ onBackspaceKeyOn(event);
16057
+ break;
16058
+ }
16059
+ };
16060
+ var onArrowLeftKeyOn = function onArrowLeftKeyOn() {
16061
+ var focusIndex = focusedIndex;
16062
+ if (inputRef.current.value.length === 0 && props.value && props.value.length > 0) {
16063
+ focusIndex = focusIndex === null ? props.value.length - 1 : focusIndex - 1;
16064
+ if (focusIndex < 0) focusIndex = 0;
16065
+ }
16066
+ setFocusedIndex(focusIndex);
16067
+ };
16068
+ var onArrowRightKeyOn = function onArrowRightKeyOn() {
16069
+ var focusIndex = focusedIndex;
16070
+ if (inputRef.current.value.length === 0 && props.value && props.value.length > 0) {
16071
+ if (focusIndex === props.value.length - 1) {
16072
+ focusIndex = null;
16073
+ inputRef.current.focus();
16074
+ } else {
16075
+ focusIndex++;
16076
+ }
16077
+ }
16078
+ setFocusedIndex(focusIndex);
16079
+ };
16080
+ var onBackspaceKeyOn = function onBackspaceKeyOn(event) {
16081
+ if (focusedIndex !== null) {
16082
+ removeItem(event, focusedIndex);
16083
+ }
16084
+ };
16026
16085
  var _onKeyDown = function onKeyDown(event) {
16027
16086
  var inputValue = event.target.value;
16028
16087
  var values = props.value || [];
16029
16088
  props.onKeyDown && props.onKeyDown(event);
16030
-
16031
- // do not continue if the user defined keydown wants to prevent
16032
16089
  if (event.defaultPrevented) {
16033
16090
  return;
16034
16091
  }
16035
- switch (event.key) {
16092
+ switch (event.code) {
16036
16093
  case 'Backspace':
16037
- if (inputRef.current.value.length === 0 && values.length > 0) {
16094
+ if (inputValue.length === 0 && values.length > 0) {
16038
16095
  removeItem(event, values.length - 1);
16039
16096
  }
16040
16097
  break;
16041
16098
  case 'Enter':
16099
+ case 'NumpadEnter':
16042
16100
  if (inputValue && inputValue.trim().length && (!props.max || props.max > values.length)) {
16043
16101
  addItem(event, inputValue, true);
16044
16102
  }
16045
16103
  break;
16104
+ case 'ArrowLeft':
16105
+ if (inputValue.length === 0 && values && values.length > 0) {
16106
+ DomHandler.focus(listRef.current);
16107
+ }
16108
+ break;
16109
+ case 'ArrowRight':
16110
+ event.stopPropagation();
16111
+ break;
16046
16112
  default:
16047
16113
  if (props.keyfilter) {
16048
16114
  KeyFilter.onKeyPress(event, props.keyfilter);
@@ -16097,8 +16163,16 @@ var Chips = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.fo
16097
16163
  }
16098
16164
  }
16099
16165
  };
16166
+ var onContainerFocus = function onContainerFocus(event) {
16167
+ setFocusedState(true);
16168
+ };
16169
+ var onContainerBlur = function onContainerBlur() {
16170
+ setFocusedIndex(-1);
16171
+ setFocusedState(false);
16172
+ };
16100
16173
  var _onFocus = function onFocus(event) {
16101
16174
  setFocusedState(true);
16175
+ setFocusedIndex(null);
16102
16176
  props.onFocus && props.onFocus(event);
16103
16177
  };
16104
16178
  var _onBlur = function onBlur(event) {
@@ -16148,6 +16222,9 @@ var Chips = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.fo
16148
16222
  DomHandler.focus(inputRef.current, props.autoFocus);
16149
16223
  }
16150
16224
  });
16225
+ var focusedOptionId = function focusedOptionId() {
16226
+ return focusedIndex !== null ? "".concat(props.inputId, "_chips_item_").concat(focusedIndex) : null;
16227
+ };
16151
16228
  var createRemoveIcon = function createRemoveIcon(value, index) {
16152
16229
  var iconProps = mergeProps({
16153
16230
  className: cx('removeTokenIcon'),
@@ -16173,9 +16250,19 @@ var Chips = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.fo
16173
16250
  var label = /*#__PURE__*/React__namespace.createElement("span", labelProps, content);
16174
16251
  var icon = createRemoveIcon(value, index);
16175
16252
  var tokenProps = mergeProps({
16176
- key: index,
16177
- className: cx('token'),
16178
- 'data-p-highlight': true
16253
+ key: "".concat(index, "_").concat(value),
16254
+ id: props.inputId + '_chips_item_' + index,
16255
+ role: 'option',
16256
+ 'aria-label': value,
16257
+ className: cx('token', {
16258
+ focusedIndex: focusedIndex,
16259
+ index: index
16260
+ }),
16261
+ 'aria-selected': true,
16262
+ 'aria-setsize': props.value.length,
16263
+ 'aria-posinset': index + 1,
16264
+ 'data-p-highlight': true,
16265
+ 'data-p-focused': focusedIndex === index
16179
16266
  }, ptm('token'));
16180
16267
  return /*#__PURE__*/React__namespace.createElement("li", tokenProps, label, icon);
16181
16268
  };
@@ -16215,13 +16302,24 @@ var Chips = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.fo
16215
16302
  var containerProps = mergeProps({
16216
16303
  ref: listRef,
16217
16304
  className: cx('container', {
16218
- focusedState: focusedState
16305
+ isFilled: isFilled
16219
16306
  }),
16220
16307
  onClick: function onClick(e) {
16221
16308
  return onWrapperClick();
16222
16309
  },
16310
+ onKeyDown: function onKeyDown(e) {
16311
+ return onContainerKeyDown(e);
16312
+ },
16313
+ tabIndex: -1,
16314
+ role: 'listbox',
16315
+ 'aria-orientation': 'horizontal',
16316
+ 'aria-labelledby': props.ariaLabelledby,
16317
+ 'aria-label': props.ariaLabel,
16318
+ 'aria-activedescendant': focusedState ? focusedOptionId() : undefined,
16223
16319
  'data-p-disabled': props.disabled,
16224
- 'data-p-focus': focusedState
16320
+ 'data-p-focus': focusedState,
16321
+ onFocus: onContainerFocus,
16322
+ onBlur: onContainerBlur
16225
16323
  }, ptm('container'));
16226
16324
  return /*#__PURE__*/React__namespace.createElement("ul", containerProps, items, input);
16227
16325
  };
@@ -16234,7 +16332,8 @@ var Chips = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.fo
16234
16332
  ref: elementRef,
16235
16333
  className: classNames(props.className, cx('root', {
16236
16334
  isFilled: isFilled,
16237
- focusedState: focusedState
16335
+ focusedState: focusedState,
16336
+ disabled: props.disabled
16238
16337
  })),
16239
16338
  style: props.style
16240
16339
  }, ptm('root'));
@@ -20055,7 +20154,7 @@ var FirstPageLink = /*#__PURE__*/React__namespace.memo(function (inProps) {
20055
20154
  }),
20056
20155
  onClick: props.onClick,
20057
20156
  disabled: props.disabled,
20058
- 'aria-label': ariaLabel$1('firstPageLabel')
20157
+ 'aria-label': ariaLabel('firstPageLabel')
20059
20158
  }, getPTOptions('firstPageButton'));
20060
20159
  var element = /*#__PURE__*/React__namespace.createElement("button", firstPageButtonProps, firstPageLinkIcon, /*#__PURE__*/React__namespace.createElement(Ripple, null));
20061
20160
  if (props.template) {
@@ -20465,36 +20564,36 @@ var InputNumber = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
20465
20564
  if (event.altKey) {
20466
20565
  event.preventDefault();
20467
20566
  }
20468
- switch (event.which) {
20567
+ switch (event.code) {
20469
20568
  //up
20470
- case 38:
20569
+ case 'ArrowUp':
20471
20570
  spin(event, 1);
20472
20571
  event.preventDefault();
20473
20572
  break;
20474
20573
 
20475
20574
  //down
20476
- case 40:
20575
+ case 'ArrowDown':
20477
20576
  spin(event, -1);
20478
20577
  event.preventDefault();
20479
20578
  break;
20480
20579
 
20481
20580
  //left
20482
- case 37:
20581
+ case 'ArrowLeft':
20483
20582
  if (!isNumeralChar(inputValue.charAt(selectionStart - 1))) {
20484
20583
  event.preventDefault();
20485
20584
  }
20486
20585
  break;
20487
20586
 
20488
20587
  //right
20489
- case 39:
20588
+ case 'ArrowRight':
20490
20589
  if (!isNumeralChar(inputValue.charAt(selectionStart))) {
20491
20590
  event.preventDefault();
20492
20591
  }
20493
20592
  break;
20494
20593
 
20495
20594
  //enter and tab
20496
- case 13:
20497
- case 9:
20595
+ case 'Tab':
20596
+ case 'Enter':
20498
20597
  newValueStr = validateValue(parseValue(inputValue));
20499
20598
  inputRef.current.value = formatValue(newValueStr);
20500
20599
  inputRef.current.setAttribute('aria-valuenow', newValueStr);
@@ -20502,7 +20601,7 @@ var InputNumber = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
20502
20601
  break;
20503
20602
 
20504
20603
  //backspace
20505
- case 8:
20604
+ case 'Backspace':
20506
20605
  event.preventDefault();
20507
20606
  if (selectionStart === selectionEnd) {
20508
20607
  var deleteChar = inputValue.charAt(selectionStart - 1);
@@ -20546,7 +20645,7 @@ var InputNumber = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
20546
20645
  break;
20547
20646
 
20548
20647
  // del
20549
- case 46:
20648
+ case 'Delete':
20550
20649
  event.preventDefault();
20551
20650
  if (selectionStart === selectionEnd) {
20552
20651
  var _deleteChar = inputValue.charAt(selectionStart);
@@ -20581,14 +20680,18 @@ var InputNumber = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
20581
20680
  updateValue(event, newValueStr, null, 'delete-range');
20582
20681
  }
20583
20682
  break;
20584
-
20585
- // End
20586
- case 35:
20587
- // Home/Pos1
20588
- case 36:
20589
- setTimeout(function () {
20590
- initCursor();
20591
- });
20683
+ case 'End':
20684
+ event.preventDefault();
20685
+ if (!ObjectUtils.isEmpty(props.max)) {
20686
+ updateModel(event, props.max);
20687
+ }
20688
+ break;
20689
+ case 'Home':
20690
+ event.preventDefault();
20691
+ if (!ObjectUtils.isEmpty(props.min)) {
20692
+ updateModel(event, props.min);
20693
+ }
20694
+ break;
20592
20695
  }
20593
20696
  };
20594
20697
  var onInputKeyUp = function onInputKeyUp(event) {
@@ -21249,7 +21352,7 @@ var JumpToPageInput = /*#__PURE__*/React__namespace.memo(function (inProps) {
21249
21352
  onChange: onChange,
21250
21353
  disabled: props.disabled,
21251
21354
  className: 'p-paginator-page-input',
21252
- ariaLabel: ariaLabelValue,
21355
+ 'aria-label': ariaLabelValue,
21253
21356
  element: element,
21254
21357
  props: props
21255
21358
  };
@@ -21293,7 +21396,7 @@ var LastPageLink = /*#__PURE__*/React__namespace.memo(function (inProps) {
21293
21396
  }),
21294
21397
  onClick: props.onClick,
21295
21398
  disabled: props.disabled,
21296
- 'aria-label': ariaLabel$1('lastPageLabel')
21399
+ 'aria-label': ariaLabel('lastPageLabel')
21297
21400
  }, getPTOptions('lastPageButton'));
21298
21401
  var element = /*#__PURE__*/React__namespace.createElement("button", lastPageButtonProps, lastPageLinkIcon, /*#__PURE__*/React__namespace.createElement(Ripple, null));
21299
21402
  if (props.template) {
@@ -21345,7 +21448,7 @@ var NextPageLink = /*#__PURE__*/React__namespace.memo(function (inProps) {
21345
21448
  }),
21346
21449
  onClick: props.onClick,
21347
21450
  disabled: props.disabled,
21348
- 'aria-label': ariaLabel$1('nextPageLabel')
21451
+ 'aria-label': ariaLabel('nextPageLabel')
21349
21452
  }, getPTOptions('nextPageButton'));
21350
21453
  var element = /*#__PURE__*/React__namespace.createElement("button", nextPageButtonProps, nextPageLinkIcon, /*#__PURE__*/React__namespace.createElement(Ripple, null));
21351
21454
  if (props.template) {
@@ -21409,7 +21512,7 @@ var PageLinks = /*#__PURE__*/React__namespace.memo(function (inProps) {
21409
21512
  page: props.page
21410
21513
  }),
21411
21514
  disabled: props.disabled,
21412
- 'aria-label': ariaLabel$1('pageLabel', {
21515
+ 'aria-label': ariaLabel('pageLabel', {
21413
21516
  page: pageLink
21414
21517
  }),
21415
21518
  'aria-current': pageLink - 1 === props.page ? 'true' : undefined
@@ -21428,7 +21531,7 @@ var PageLinks = /*#__PURE__*/React__namespace.memo(function (inProps) {
21428
21531
  page: pageLink - 1,
21429
21532
  currentPage: props.page,
21430
21533
  totalPages: props.pageCount,
21431
- ariaLabel: ariaLabel$1('pageLabel', {
21534
+ ariaLabel: ariaLabel('pageLabel', {
21432
21535
  page: pageLink
21433
21536
  }),
21434
21537
  ariaCurrent: pageLink - 1 === props.page ? 'true' : undefined,
@@ -21485,7 +21588,7 @@ var PrevPageLink = /*#__PURE__*/React__namespace.memo(function (inProps) {
21485
21588
  }),
21486
21589
  onClick: props.onClick,
21487
21590
  disabled: props.disabled,
21488
- 'aria-label': ariaLabel$1('previousPageLabel')
21591
+ 'aria-label': ariaLabel('previousPageLabel')
21489
21592
  }, getPTOptions('prevPageButton'));
21490
21593
  var element = /*#__PURE__*/React__namespace.createElement("button", prevPageButtonProps, prevPageLinkIcon, /*#__PURE__*/React__namespace.createElement(Ripple, null));
21491
21594
  if (props.template) {
@@ -21558,10 +21661,13 @@ var classes$O = {
21558
21661
  item: function item(_ref7) {
21559
21662
  var selected = _ref7.selected,
21560
21663
  disabled = _ref7.disabled,
21561
- label = _ref7.label;
21664
+ label = _ref7.label,
21665
+ index = _ref7.index,
21666
+ focusedOptionIndex = _ref7.focusedOptionIndex;
21562
21667
  return classNames('p-dropdown-item', {
21563
21668
  'p-highlight': selected,
21564
21669
  'p-disabled': disabled,
21670
+ 'p-focus': index === focusedOptionIndex,
21565
21671
  'p-dropdown-item-empty': !label || label.length === 0
21566
21672
  });
21567
21673
  },
@@ -21628,6 +21734,8 @@ var DropdownBase = ComponentBase.extend({
21628
21734
  onShow: null,
21629
21735
  optionDisabled: null,
21630
21736
  optionGroupChildren: 'items',
21737
+ selectOnFocus: false,
21738
+ autoOptionFocus: false,
21631
21739
  optionGroupLabel: null,
21632
21740
  optionGroupTemplate: null,
21633
21741
  optionLabel: null,
@@ -21666,7 +21774,9 @@ var DropdownItem = /*#__PURE__*/React__namespace.memo(function (props) {
21666
21774
  selected = props.selected,
21667
21775
  disabled = props.disabled,
21668
21776
  option = props.option,
21669
- label = props.label;
21777
+ label = props.label,
21778
+ index = props.index,
21779
+ focusedOptionIndex = props.focusedOptionIndex;
21670
21780
  var getPTOptions = function getPTOptions(key) {
21671
21781
  return ptm(key, {
21672
21782
  context: {
@@ -21675,7 +21785,7 @@ var DropdownItem = /*#__PURE__*/React__namespace.memo(function (props) {
21675
21785
  }
21676
21786
  });
21677
21787
  };
21678
- var _onClick = function onClick(event) {
21788
+ var _onClick = function onClick(event, i) {
21679
21789
  if (props.onClick) {
21680
21790
  props.onClick({
21681
21791
  originalEvent: event,
@@ -21690,7 +21800,9 @@ var DropdownItem = /*#__PURE__*/React__namespace.memo(function (props) {
21690
21800
  className: classNames(option.className, cx('item', {
21691
21801
  selected: selected,
21692
21802
  disabled: disabled,
21693
- label: label
21803
+ label: label,
21804
+ index: index,
21805
+ focusedOptionIndex: focusedOptionIndex
21694
21806
  })),
21695
21807
  style: props.style,
21696
21808
  onClick: function onClick(e) {
@@ -21699,6 +21811,7 @@ var DropdownItem = /*#__PURE__*/React__namespace.memo(function (props) {
21699
21811
  'aria-label': label,
21700
21812
  'aria-selected': selected,
21701
21813
  'data-p-highlight': selected,
21814
+ 'data-p-focused': focusedOptionIndex === index,
21702
21815
  'data-p-disabled': disabled
21703
21816
  }, getPTOptions('item'));
21704
21817
  return /*#__PURE__*/React__namespace.createElement("li", itemProps, content, /*#__PURE__*/React__namespace.createElement(Ripple, null));
@@ -21770,6 +21883,8 @@ var DropdownPanel = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__name
21770
21883
  var disabled = props.isOptionDisabled(option);
21771
21884
  return /*#__PURE__*/React__namespace.createElement(DropdownItem, {
21772
21885
  key: optionKey,
21886
+ index: j,
21887
+ focusedOptionIndex: props.focusedOptionIndex,
21773
21888
  label: optionLabel,
21774
21889
  option: option,
21775
21890
  style: style,
@@ -21817,6 +21932,8 @@ var DropdownPanel = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__name
21817
21932
  return /*#__PURE__*/React__namespace.createElement(DropdownItem, {
21818
21933
  key: optionKey,
21819
21934
  label: optionLabel,
21935
+ index: index,
21936
+ focusedOptionIndex: props.focusedOptionIndex,
21820
21937
  option: option,
21821
21938
  style: style,
21822
21939
  template: props.itemTemplate,
@@ -22009,20 +22126,30 @@ var Dropdown = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
22009
22126
  setFilterState = _React$useState2[1];
22010
22127
  var _React$useState3 = React__namespace.useState(false),
22011
22128
  _React$useState4 = _slicedToArray(_React$useState3, 2),
22012
- focusedState = _React$useState4[0],
22013
- setFocusedState = _React$useState4[1];
22129
+ clicked = _React$useState4[0],
22130
+ setClicked = _React$useState4[1];
22014
22131
  var _React$useState5 = React__namespace.useState(false),
22015
22132
  _React$useState6 = _slicedToArray(_React$useState5, 2),
22016
- overlayVisibleState = _React$useState6[0],
22017
- setOverlayVisibleState = _React$useState6[1];
22133
+ focusedState = _React$useState6[0],
22134
+ setFocusedState = _React$useState6[1];
22135
+ var _React$useState7 = React__namespace.useState(null),
22136
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
22137
+ focusedOptionIndex = _React$useState8[0],
22138
+ setFocusedOptionIndex = _React$useState8[1];
22139
+ var _React$useState9 = React__namespace.useState(false),
22140
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
22141
+ overlayVisibleState = _React$useState10[0],
22142
+ setOverlayVisibleState = _React$useState10[1];
22018
22143
  var elementRef = React__namespace.useRef(null);
22019
22144
  var overlayRef = React__namespace.useRef(null);
22145
+ var firstHiddenFocusableElementOnOverlay = React__namespace.useRef(null);
22146
+ var lastHiddenFocusableElementOnOverlay = React__namespace.useRef(null);
22020
22147
  var inputRef = React__namespace.useRef(props.inputRef);
22021
22148
  var focusInputRef = React__namespace.useRef(props.focusInputRef);
22022
22149
  var virtualScrollerRef = React__namespace.useRef(null);
22023
22150
  var searchTimeout = React__namespace.useRef(null);
22024
22151
  var searchValue = React__namespace.useRef(null);
22025
- var currentSearchChar = React__namespace.useRef(null);
22152
+ React__namespace.useRef(null);
22026
22153
  var isLazy = props.virtualScrollerOptions && props.virtualScrollerOptions.lazy;
22027
22154
  var hasFilter = ObjectUtils.isNotEmpty(filterState);
22028
22155
  var appendTo = props.appendTo || context && context.appendTo || PrimeReact.appendTo;
@@ -22086,6 +22213,14 @@ var Dropdown = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
22086
22213
  return props.options;
22087
22214
  }
22088
22215
  };
22216
+ var onFirstHiddenFocus = function onFirstHiddenFocus(event) {
22217
+ var focusableEl = event.relatedTarget === focusInputRef.current ? DomHandler.getFirstFocusableElement(overlayRef.current, ':not([data-p-hidden-focusable="true"])') : focusInputRef.current;
22218
+ DomHandler.focus(focusableEl);
22219
+ };
22220
+ var onLastHiddenFocus = function onLastHiddenFocus(event) {
22221
+ var focusableEl = event.relatedTarget === focusInputRef.current ? DomHandler.getLastFocusableElement(overlayRef.current, ':not([data-p-hidden-focusable="true"])') : focusInputRef.current;
22222
+ DomHandler.focus(focusableEl);
22223
+ };
22089
22224
  var isClearClicked = function isClearClicked(event) {
22090
22225
  return DomHandler.isAttributeEquals(event.target, 'data-pc-section', 'clearicon') || DomHandler.isAttributeEquals(event.target.parentElement || event.target, 'data-pc-section', 'filterclearicon');
22091
22226
  };
@@ -22105,6 +22240,7 @@ var Dropdown = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
22105
22240
  DomHandler.focus(focusInputRef.current);
22106
22241
  overlayVisibleState ? hide() : show();
22107
22242
  }
22243
+ setClicked(true);
22108
22244
  };
22109
22245
  var onInputFocus = function onInputFocus(event) {
22110
22246
  if (props.showOnFocus && !overlayVisibleState) {
@@ -22136,6 +22272,15 @@ var Dropdown = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
22136
22272
  }, 200);
22137
22273
  }
22138
22274
  };
22275
+ var onOptionSelect = function onOptionSelect(event, option) {
22276
+ var isHide = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
22277
+ var value = getOptionValue(option);
22278
+ selectItem({
22279
+ originalEvent: event,
22280
+ option: value
22281
+ });
22282
+ isHide && hide();
22283
+ };
22139
22284
  var onPanelClick = function onPanelClick(event) {
22140
22285
  OverlayService.emit('overlay-click', {
22141
22286
  originalEvent: event,
@@ -22143,189 +22288,285 @@ var Dropdown = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
22143
22288
  });
22144
22289
  };
22145
22290
  var onInputKeyDown = function onInputKeyDown(event) {
22291
+ if (props.disabled || DomHandler.isAndroid()) {
22292
+ event.preventDefault();
22293
+ return;
22294
+ }
22295
+ var metaKey = event.metaKey || event.ctrlKey;
22146
22296
  switch (event.code) {
22147
22297
  case 'ArrowDown':
22148
- onDownKey(event);
22298
+ onArrowDownKey(event);
22149
22299
  break;
22150
22300
  case 'ArrowUp':
22151
- onUpKey(event);
22301
+ onArrowUpKey(event);
22302
+ break;
22303
+ case 'ArrowLeft':
22304
+ case 'ArrowRight':
22305
+ onArrowLeftKey(event, props.editable);
22306
+ break;
22307
+ case 'Home':
22308
+ onHomeKey(event);
22309
+ break;
22310
+ case 'End':
22311
+ onEndKey(event);
22312
+ break;
22313
+ case 'PageDown':
22314
+ onPageDownKey(event);
22315
+ break;
22316
+ case 'PageUp':
22317
+ onPageUpKey(event);
22152
22318
  break;
22153
22319
  case 'Space':
22320
+ onSpaceKey(event, props.editable);
22321
+ break;
22322
+ case 'NumpadEnter':
22154
22323
  case 'Enter':
22155
- overlayVisibleState ? hide() : show();
22156
- event.preventDefault();
22324
+ onEnterKey(event);
22157
22325
  break;
22158
22326
  case 'Escape':
22327
+ onEscapeKey(event);
22328
+ break;
22159
22329
  case 'Tab':
22160
- hide();
22330
+ onTabKey(event);
22331
+ break;
22332
+ case 'Backspace':
22333
+ onBackspaceKey(event, props.editable);
22334
+ break;
22335
+ case 'ShiftLeft':
22336
+ case 'ShiftRight':
22337
+ //NOOP
22161
22338
  break;
22162
22339
  default:
22163
- search(event);
22340
+ if (!metaKey && ObjectUtils.isPrintableCharacter(event.key)) {
22341
+ !overlayVisibleState && show();
22342
+ !props.editable && searchOptions(event, event.key);
22343
+ }
22164
22344
  break;
22165
22345
  }
22346
+ setClicked(false);
22166
22347
  };
22167
22348
  var onFilterInputKeyDown = function onFilterInputKeyDown(event) {
22168
22349
  switch (event.code) {
22169
22350
  case 'ArrowDown':
22170
- onDownKey(event);
22351
+ onArrowDownKey(event);
22171
22352
  break;
22172
22353
  case 'ArrowUp':
22173
- onUpKey(event);
22354
+ onArrowUpKey(event);
22355
+ break;
22356
+ case 'ArrowLeft':
22357
+ case 'ArrowRight':
22358
+ onArrowLeftKey(event, true);
22174
22359
  break;
22175
22360
  case 'Escape':
22176
22361
  case 'Enter':
22177
- hide();
22362
+ onEnterKey(event);
22178
22363
  event.preventDefault();
22179
22364
  break;
22180
22365
  }
22181
22366
  };
22182
- var onUpKey = function onUpKey(event) {
22183
- if (visibleOptions) {
22184
- var prevOption = findPrevOption(getSelectedOptionIndex());
22185
- if (prevOption) {
22186
- selectItem({
22187
- originalEvent: event,
22188
- option: prevOption
22189
- });
22190
- }
22191
- }
22192
- event.preventDefault();
22367
+ var hasFocusableElements = function hasFocusableElements() {
22368
+ return DomHandler.getFocusableElements(overlayRef.current, ':not([data-p-hidden-focusable="true"])').length > 0;
22193
22369
  };
22194
- var onDownKey = function onDownKey(event) {
22195
- if (visibleOptions) {
22196
- if (!overlayVisibleState && event.altKey) {
22197
- show();
22198
- } else {
22199
- var nextOption = findNextOption(getSelectedOptionIndex());
22200
- if (nextOption) {
22201
- selectItem({
22202
- originalEvent: event,
22203
- option: nextOption
22204
- });
22205
- }
22206
- }
22207
- }
22208
- event.preventDefault();
22370
+ var isOptionMatched = function isOptionMatched(option) {
22371
+ var _getOptionLabel;
22372
+ return isValidOption(option) && ((_getOptionLabel = getOptionLabel(option)) === null || _getOptionLabel === void 0 ? void 0 : _getOptionLabel.toLocaleLowerCase(props.filterLocale).startsWith(searchValue.current.toLocaleLowerCase(props.filterLocale)));
22209
22373
  };
22210
- var findNextOption = function findNextOption(index) {
22211
- if (props.optionGroupLabel) {
22212
- var groupIndex = index === -1 ? 0 : index.group;
22213
- var optionIndex = index === -1 ? -1 : index.option;
22214
- var option = findNextOptionInList(getOptionGroupChildren(visibleOptions[groupIndex]), optionIndex);
22215
- if (option) return option;else if (groupIndex + 1 !== visibleOptions.length) return findNextOption({
22216
- group: groupIndex + 1,
22217
- option: -1
22218
- });else return null;
22219
- }
22220
- return findNextOptionInList(visibleOptions, index);
22221
- };
22222
- var findNextOptionInList = function findNextOptionInList(list, index) {
22223
- var i = index + 1;
22224
- if (i === list.length) {
22225
- return null;
22226
- }
22227
- var option = list[i];
22228
- return isOptionDisabled(option) ? findNextOptionInList(i) : option;
22374
+ var isValidOption = function isValidOption(option) {
22375
+ return ObjectUtils.isNotEmpty(option) && !(isOptionDisabled(option) || isOptionGroup(option));
22229
22376
  };
22230
- var findPrevOption = function findPrevOption(index) {
22231
- if (index === -1) {
22232
- return null;
22233
- }
22234
- if (props.optionGroupLabel) {
22235
- var groupIndex = index.group;
22236
- var optionIndex = index.option;
22237
- var option = findPrevOptionInList(getOptionGroupChildren(visibleOptions[groupIndex]), optionIndex);
22238
- if (option) return option;else if (groupIndex > 0) return findPrevOption({
22239
- group: groupIndex - 1,
22240
- option: getOptionGroupChildren(visibleOptions[groupIndex - 1]).length
22241
- });else return null;
22242
- }
22243
- return findPrevOptionInList(visibleOptions, index);
22244
- };
22245
- var findPrevOptionInList = function findPrevOptionInList(list, index) {
22246
- var i = index - 1;
22247
- if (i < 0) {
22248
- return null;
22249
- }
22250
- var option = list[i];
22251
- return isOptionDisabled(option) ? findPrevOption(i) : option;
22377
+ var hasSelectedOption = function hasSelectedOption() {
22378
+ return ObjectUtils.isNotEmpty(props.value);
22379
+ };
22380
+ var isValidSelectedOption = function isValidSelectedOption(option) {
22381
+ return isValidOption(option) && isSelected(option);
22382
+ };
22383
+ var findSelectedOptionIndex = function findSelectedOptionIndex() {
22384
+ return hasSelectedOption ? visibleOptions.findIndex(function (option) {
22385
+ return isValidSelectedOption(option);
22386
+ }) : -1;
22387
+ };
22388
+ var findFirstFocusedOptionIndex = function findFirstFocusedOptionIndex() {
22389
+ var selectedIndex = findSelectedOptionIndex();
22390
+ return selectedIndex < 0 ? findFirstOptionIndex() : selectedIndex;
22252
22391
  };
22253
- var search = function search(event) {
22392
+ var searchOptions = function searchOptions(event, _char) {
22393
+ searchValue.current = (searchValue.current || '') + _char;
22394
+ var optionIndex = -1;
22395
+ var matched = false;
22396
+ if (ObjectUtils.isNotEmpty(searchValue.current)) {
22397
+ if (focusedOptionIndex !== -1) {
22398
+ optionIndex = visibleOptions.slice(focusedOptionIndex).findIndex(function (option) {
22399
+ return isOptionMatched(option);
22400
+ });
22401
+ optionIndex = optionIndex === -1 ? visibleOptions.slice(0, focusedOptionIndex).findIndex(function (option) {
22402
+ return isOptionMatched(option);
22403
+ }) : optionIndex + focusedOptionIndex;
22404
+ } else {
22405
+ optionIndex = visibleOptions.findIndex(function (option) {
22406
+ return isOptionMatched(option);
22407
+ });
22408
+ }
22409
+ if (optionIndex !== -1) {
22410
+ matched = true;
22411
+ }
22412
+ if (optionIndex === -1 && focusedOptionIndex === -1) {
22413
+ optionIndex = findFirstFocusedOptionIndex();
22414
+ }
22415
+ if (optionIndex !== -1) {
22416
+ changeFocusedOptionIndex(event, optionIndex);
22417
+ }
22418
+ }
22254
22419
  if (searchTimeout.current) {
22255
22420
  clearTimeout(searchTimeout.current);
22256
22421
  }
22257
- if (event.ctrlKey || event.metaKey || event.altKey) {
22258
- // ignore meta combinations like CTRL+F for browser search
22259
- return;
22422
+ searchTimeout.current = setTimeout(function () {
22423
+ searchValue.current = '';
22424
+ searchTimeout.current = null;
22425
+ }, 500);
22426
+ return matched;
22427
+ };
22428
+ var findLastFocusedOptionIndex = function findLastFocusedOptionIndex() {
22429
+ var selectedIndex = findSelectedOptionIndex();
22430
+ return selectedIndex < 0 ? findLastOptionIndex() : selectedIndex;
22431
+ };
22432
+ var findFirstOptionIndex = function findFirstOptionIndex() {
22433
+ return visibleOptions.findIndex(function (option) {
22434
+ return isValidOption(option);
22435
+ });
22436
+ };
22437
+ var findLastOptionIndex = function findLastOptionIndex() {
22438
+ return ObjectUtils.findLastIndex(visibleOptions, function (option) {
22439
+ return isValidOption(option);
22440
+ });
22441
+ };
22442
+ var findNextOptionIndex = function findNextOptionIndex(index) {
22443
+ var matchedOptionIndex = index < visibleOptions.length - 1 ? visibleOptions.slice(index + 1).findIndex(function (option) {
22444
+ return isValidOption(option);
22445
+ }) : -1;
22446
+ return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
22447
+ };
22448
+ var findPrevOptionIndex = function findPrevOptionIndex(index) {
22449
+ var matchedOptionIndex = index > 0 ? ObjectUtils.findLastIndex(visibleOptions.slice(0, index), function (option) {
22450
+ return isValidOption(option);
22451
+ }) : -1;
22452
+ return matchedOptionIndex > -1 ? matchedOptionIndex : index;
22453
+ };
22454
+ var changeFocusedOptionIndex = function changeFocusedOptionIndex(event, index) {
22455
+ if (focusedOptionIndex !== index) {
22456
+ setFocusedOptionIndex(index);
22457
+ if (props.selectOnFocus) {
22458
+ onOptionSelect(event, visibleOptions[index], false);
22459
+ }
22260
22460
  }
22261
- var _char = event.key;
22262
- if (_char.length !== 1) {
22263
- // only single character keys matter for searching
22264
- return;
22461
+ };
22462
+ var onArrowDownKey = function onArrowDownKey(event) {
22463
+ if (!overlayVisibleState) {
22464
+ show();
22465
+ props.editable && changeFocusedOptionIndex(event, findSelectedOptionIndex());
22466
+ } else {
22467
+ var optionIndex = focusedOptionIndex !== -1 ? findNextOptionIndex(focusedOptionIndex) : clicked ? findFirstOptionIndex() : findFirstFocusedOptionIndex();
22468
+ changeFocusedOptionIndex(event, optionIndex);
22265
22469
  }
22266
- if (currentSearchChar.current === _char) searchValue.current = _char;else searchValue.current = searchValue.current ? searchValue.current + _char : _char;
22267
- currentSearchChar.current = _char;
22268
- if (searchValue.current) {
22269
- var searchIndex = getSelectedOptionIndex();
22270
- var newOption = props.optionGroupLabel ? searchOptionInGroup(searchIndex) : searchOption(searchIndex + 1);
22271
- if (newOption) {
22272
- selectItem({
22273
- originalEvent: event,
22274
- option: newOption
22275
- });
22470
+ event.preventDefault();
22471
+ };
22472
+ var onArrowUpKey = function onArrowUpKey(event) {
22473
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
22474
+ if (event.altKey && !pressedInInputText) {
22475
+ if (focusedOptionIndex !== -1) {
22476
+ onOptionSelect(event, visibleOptions[focusedOptionIndex]);
22276
22477
  }
22478
+ state.overlayVisible && hide();
22479
+ event.preventDefault();
22480
+ } else {
22481
+ var optionIndex = focusedOptionIndex !== -1 ? findPrevOptionIndex(focusedOptionIndex) : clicked ? findLastOptionIndex() : findLastFocusedOptionIndex();
22482
+ changeFocusedOptionIndex(event, optionIndex);
22483
+ !overlayVisibleState && show();
22484
+ event.preventDefault();
22277
22485
  }
22278
- searchTimeout.current = setTimeout(function () {
22279
- searchValue.current = null;
22280
- }, 250);
22281
22486
  };
22282
- var searchOption = function searchOption(index) {
22283
- if (searchValue.current) {
22284
- return searchOptionInRange(index, visibleOptions.length) || searchOptionInRange(0, index);
22487
+ var onArrowLeftKey = function onArrowLeftKey(event) {
22488
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
22489
+ pressedInInputText && setFocusedOptionIndex(-1);
22490
+ };
22491
+ var onHomeKey = function onHomeKey(event) {
22492
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
22493
+ if (pressedInInputText) {
22494
+ event.currentTarget.setSelectionRange(0, 0);
22495
+ setFocusedOptionIndex(-1);
22496
+ } else {
22497
+ changeFocusedOptionIndex(event, findFirstOptionIndex());
22498
+ !overlayVisibleState && show();
22285
22499
  }
22286
- return null;
22500
+ event.preventDefault();
22287
22501
  };
22288
- var searchOptionInRange = function searchOptionInRange(start, end) {
22289
- for (var i = start; i < end; i++) {
22290
- var opt = visibleOptions[i];
22291
- if (matchesSearchValue(opt)) {
22292
- return opt;
22293
- }
22502
+ var onEndKey = function onEndKey(event) {
22503
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
22504
+ if (pressedInInputText) {
22505
+ var target = event.currentTarget;
22506
+ var len = target.value.length;
22507
+ target.setSelectionRange(len, len);
22508
+ setFocusedOptionIndex(-1);
22509
+ } else {
22510
+ changeFocusedOptionIndex(event, findLastOptionIndex());
22511
+ !overlayVisibleState && show();
22294
22512
  }
22295
- return null;
22513
+ event.preventDefault();
22296
22514
  };
22297
- var searchOptionInGroup = function searchOptionInGroup(index) {
22298
- var searchIndex = index === -1 ? {
22299
- group: 0,
22300
- option: -1
22301
- } : index;
22302
- for (var i = searchIndex.group; i < visibleOptions.length; i++) {
22303
- var groupOptions = getOptionGroupChildren(visibleOptions[i]);
22304
- for (var j = searchIndex.group === i ? searchIndex.option + 1 : 0; j < groupOptions.length; j++) {
22305
- if (matchesSearchValue(groupOptions[j])) {
22306
- return groupOptions[j];
22307
- }
22515
+ var onPageUpKey = function onPageUpKey(event) {
22516
+ event.preventDefault();
22517
+ };
22518
+ var onPageDownKey = function onPageDownKey(event) {
22519
+ event.preventDefault();
22520
+ };
22521
+ var onSpaceKey = function onSpaceKey(event) {
22522
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
22523
+ !pressedInInputText && onEnterKey(event);
22524
+ };
22525
+ var onEnterKey = function onEnterKey(event) {
22526
+ if (!overlayVisibleState) {
22527
+ setFocusedOptionIndex(-1);
22528
+ onArrowDownKey(event);
22529
+ } else {
22530
+ if (focusedOptionIndex !== -1) {
22531
+ onOptionSelect(event, visibleOptions[focusedOptionIndex]);
22308
22532
  }
22533
+ hide();
22309
22534
  }
22310
- for (var _i = 0; _i <= searchIndex.group; _i++) {
22311
- var _groupOptions = getOptionGroupChildren(visibleOptions[_i]);
22312
- for (var _j = 0; _j < (searchIndex.group === _i ? searchIndex.option : _groupOptions.length); _j++) {
22313
- if (matchesSearchValue(_groupOptions[_j])) {
22314
- return _groupOptions[_j];
22535
+ event.preventDefault();
22536
+ };
22537
+ var onEscapeKey = function onEscapeKey(event) {
22538
+ overlayVisibleState && hide();
22539
+ event.preventDefault();
22540
+ };
22541
+ var onTabKey = function onTabKey(event) {
22542
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
22543
+ if (!pressedInInputText) {
22544
+ if (overlayVisibleState && hasFocusableElements()) {
22545
+ DomHandler.focus($refs.firstHiddenFocusableElementOnOverlay);
22546
+ event.preventDefault();
22547
+ } else {
22548
+ if (focusedOptionIndex !== -1) {
22549
+ onOptionSelect(event, visibleOptions[focusedOptionIndex]);
22315
22550
  }
22551
+ overlayVisibleState && hide();
22316
22552
  }
22317
22553
  }
22318
- return null;
22319
22554
  };
22320
- var matchesSearchValue = function matchesSearchValue(option) {
22321
- var label = getOptionLabel(option);
22322
- if (!label) {
22323
- return false;
22555
+ var onBackspaceKey = function onBackspaceKey(event) {
22556
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
22557
+ if (pressedInInputText) {
22558
+ !overlayVisibleState && show();
22324
22559
  }
22325
- label = label.toLocaleLowerCase(props.filterLocale);
22326
- return label.startsWith(searchValue.current.toLocaleLowerCase(props.filterLocale));
22327
22560
  };
22328
22561
  var onEditableInputChange = function onEditableInputChange(event) {
22562
+ !overlayVisibleState && show();
22563
+ var searchIndex = null;
22564
+ if (event.target.value) {
22565
+ searchIndex = visibleOptions.findIndex(function (item) {
22566
+ return item.name.toLocaleLowerCase().startsWith(event.target.value.toLocaleLowerCase());
22567
+ });
22568
+ }
22569
+ setFocusedOptionIndex(searchIndex);
22329
22570
  if (props.onChange) {
22330
22571
  props.onChange({
22331
22572
  originalEvent: event.originalEvent,
@@ -22455,10 +22696,17 @@ var Dropdown = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
22455
22696
  return ObjectUtils.equals(props.value, getOptionValue(option), equalityKey());
22456
22697
  };
22457
22698
  var show = function show() {
22699
+ setFocusedOptionIndex(focusedOptionIndex !== -1 ? focusedOptionIndex : props.autoOptionFocus ? findFirstFocusedOptionIndex() : props.editable ? -1 : findSelectedOptionIndex());
22458
22700
  setOverlayVisibleState(true);
22459
22701
  };
22460
22702
  var hide = function hide() {
22461
22703
  setOverlayVisibleState(false);
22704
+ setClicked(false);
22705
+ };
22706
+ var onFocus = function onFocus() {
22707
+ if (props.editable) {
22708
+ DomHandler.focus(inputRef.current);
22709
+ }
22462
22710
  };
22463
22711
  var onOverlayEnter = function onOverlayEnter(callback) {
22464
22712
  ZIndexUtils.set('overlay', overlayRef.current, context && context.autoZIndex || PrimeReact.autoZIndex, context && context.zIndex['overlay'] || PrimeReact.zIndex['overlay']);
@@ -22511,6 +22759,9 @@ var Dropdown = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
22511
22759
  var getOptionRenderKey = function getOptionRenderKey(option) {
22512
22760
  return props.dataKey ? ObjectUtils.resolveFieldData(option, props.dataKey) : getOptionLabel(option);
22513
22761
  };
22762
+ var isOptionGroup = function isOptionGroup(option) {
22763
+ return props.optionGroupLabel && option.optionGroup && option.group;
22764
+ };
22514
22765
  var isOptionDisabled = function isOptionDisabled(option) {
22515
22766
  if (props.optionDisabled) {
22516
22767
  return ObjectUtils.isFunction(props.optionDisabled) ? props.optionDisabled(option) : ObjectUtils.resolveFieldData(option, props.optionDisabled);
@@ -22659,8 +22910,9 @@ var Dropdown = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
22659
22910
  maxLength: props.maxLength,
22660
22911
  onInput: onEditableInputChange,
22661
22912
  onFocus: onEditableInputFocus,
22913
+ onKeyDown: onInputKeyDown,
22662
22914
  onBlur: onInputBlur,
22663
- tabIndex: props.tabIndex || 0,
22915
+ tabIndex: !props.disabled ? props.tabIndex : -1,
22664
22916
  'aria-haspopup': 'listbox'
22665
22917
  }, ariaProps), ptm('input'));
22666
22918
  return /*#__PURE__*/React__namespace.createElement("input", inputProps);
@@ -22752,10 +23004,31 @@ var Dropdown = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
22752
23004
  },
22753
23005
  onMouseDown: props.onMouseDown,
22754
23006
  onContextMenu: props.onContextMenu,
23007
+ onFocus: onFocus,
22755
23008
  'data-p-disabled': props.disabled,
22756
23009
  'data-p-focus': focusedState
22757
23010
  }, otherProps, ptm('root'));
22758
- return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement("div", rootProps, keyboardHelper, hiddenSelect, labelElement, clearIcon, dropdownIcon, /*#__PURE__*/React__namespace.createElement(DropdownPanel, _extends({
23011
+ var firstHiddenFocusableElementProps = mergeProps({
23012
+ ref: firstHiddenFocusableElementOnOverlay,
23013
+ role: 'presentation',
23014
+ 'aria-hidden': 'true',
23015
+ className: 'p-hidden-accessible p-hidden-focusable',
23016
+ tabIndex: '0',
23017
+ onFocus: onFirstHiddenFocus,
23018
+ 'data-p-hidden-accessible': true,
23019
+ 'data-p-hidden-focusable': true
23020
+ }, ptm('hiddenFirstFocusableEl'));
23021
+ var lastHiddenFocusableElementProps = mergeProps({
23022
+ ref: lastHiddenFocusableElementOnOverlay,
23023
+ role: 'presentation',
23024
+ 'aria-hidden': 'true',
23025
+ className: 'p-hidden-accessible p-hidden-focusable',
23026
+ tabIndex: '0',
23027
+ onFocus: onLastHiddenFocus,
23028
+ 'data-p-hidden-accessible': true,
23029
+ 'data-p-hidden-focusable': true
23030
+ }, ptm('hiddenLastFocusableEl'));
23031
+ 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({
22759
23032
  hostName: "Dropdown",
22760
23033
  ref: overlayRef,
22761
23034
  visibleOptions: visibleOptions,
@@ -22764,6 +23037,8 @@ var Dropdown = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
22764
23037
  appendTo: appendTo,
22765
23038
  onClick: onPanelClick,
22766
23039
  onOptionClick: onOptionClick,
23040
+ focusedOptionIndex: focusedOptionIndex,
23041
+ setFocusedOptionIndex: setFocusedOptionIndex,
22767
23042
  filterValue: filterState,
22768
23043
  hasFilter: hasFilter,
22769
23044
  onFilterClearIconClick: onFilterClearIconClick,
@@ -22786,7 +23061,7 @@ var Dropdown = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
22786
23061
  ptm: ptm,
22787
23062
  cx: cx,
22788
23063
  sx: sx
22789
- }))), hasTooltip && /*#__PURE__*/React__namespace.createElement(Tooltip, _extends({
23064
+ })), /*#__PURE__*/React__namespace.createElement("span", lastHiddenFocusableElementProps)), hasTooltip && /*#__PURE__*/React__namespace.createElement(Tooltip, _extends({
22790
23065
  target: elementRef,
22791
23066
  content: props.tooltip
22792
23067
  }, props.tooltipOptions, {
@@ -22807,7 +23082,7 @@ var RowsPerPageDropdown = /*#__PURE__*/React__namespace.memo(function (inProps)
22807
23082
  };
22808
23083
  }) : [];
22809
23084
  var placeholderValue = localeOption('choose');
22810
- var ariaLabelValue = ariaLabel$1('rowsPerPage');
23085
+ var ariaLabelValue = ariaLabel('jumpToPageDropdownLabel');
22811
23086
  var element = hasOptions ? /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement(Dropdown, {
22812
23087
  value: props.value,
22813
23088
  options: options,
@@ -24242,7 +24517,7 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
24242
24517
  if (showSelection) {
24243
24518
  var ariaLabelField = props.selectionAriaLabel || props.tableProps.dataKey;
24244
24519
  var ariaLabelText = ObjectUtils.resolveFieldData(props.rowData, ariaLabelField);
24245
- label = "".concat(props.selected ? ariaLabel$1('unselectLabel') : ariaLabel$1('selectLabel'), " ").concat(ariaLabelText);
24520
+ label = "".concat(props.selected ? ariaLabel('unselectLabel') : ariaLabel('selectLabel'), " ").concat(ariaLabelText);
24246
24521
  }
24247
24522
  content = showSelection && /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, selectionMode === 'single' && /*#__PURE__*/React__namespace.createElement(RowRadioButton, {
24248
24523
  hostName: props.hostName,
@@ -24297,7 +24572,7 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
24297
24572
  var ariaControls = "".concat(props.tableSelector, "_content_").concat(props.rowIndex, "_expanded");
24298
24573
  var _ariaLabelField = props.selectionAriaLabel || props.tableProps.dataKey;
24299
24574
  var _ariaLabelText = ObjectUtils.resolveFieldData(props.rowData, _ariaLabelField);
24300
- var _label = "".concat(props.expanded ? ariaLabel$1('collapseLabel') : ariaLabel$1('expandLabel'), " ").concat(_ariaLabelText);
24575
+ var _label = "".concat(props.expanded ? ariaLabel('collapseLabel') : ariaLabel('expandLabel'), " ").concat(_ariaLabelText);
24301
24576
  var expanderProps = {
24302
24577
  onClick: onRowToggle,
24303
24578
  className: cx('rowToggler')
@@ -24352,19 +24627,19 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
24352
24627
  var rowEditorSaveButtonProps = mergeProps(_defineProperty(_defineProperty({
24353
24628
  type: 'button',
24354
24629
  name: 'row-save',
24355
- 'aria-label': ariaLabel$1('saveEdit'),
24630
+ 'aria-label': ariaLabel('saveEdit'),
24356
24631
  onClick: rowEditorProps.onSaveClick,
24357
24632
  className: rowEditorProps.saveClassName,
24358
24633
  tabIndex: props.tabIndex
24359
- }, "aria-label", ariaLabel$1('saveEdit')), 'data-p-row-editor-save', true), getColumnPTOptions('rowEditorSaveButton'));
24634
+ }, "aria-label", ariaLabel('saveEdit')), 'data-p-row-editor-save', true), getColumnPTOptions('rowEditorSaveButton'));
24360
24635
  var rowEditorCancelButtonProps = mergeProps(_defineProperty({
24361
24636
  type: 'button',
24362
24637
  name: 'row-cancel',
24363
- 'aria-label': ariaLabel$1('cancelEdit'),
24638
+ 'aria-label': ariaLabel('cancelEdit'),
24364
24639
  onClick: rowEditorProps.onCancelClick,
24365
24640
  className: rowEditorProps.cancelClassName,
24366
24641
  tabIndex: props.tabIndex
24367
- }, "aria-label", ariaLabel$1('cancelEdit')), getColumnPTOptions('rowEditorCancelButton'));
24642
+ }, "aria-label", ariaLabel('cancelEdit')), getColumnPTOptions('rowEditorCancelButton'));
24368
24643
  content = /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement("button", rowEditorSaveButtonProps, rowEditorSaveIcon, /*#__PURE__*/React__namespace.createElement(Ripple, null)), /*#__PURE__*/React__namespace.createElement("button", rowEditorCancelButtonProps, rowEditorCancelIcon, /*#__PURE__*/React__namespace.createElement(Ripple, null)));
24369
24644
  } else {
24370
24645
  rowEditorProps = {
@@ -24375,11 +24650,11 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
24375
24650
  var rowEditorInitButtonProps = mergeProps(_defineProperty(_defineProperty({
24376
24651
  type: 'button',
24377
24652
  name: 'row-edit',
24378
- 'aria-label': ariaLabel$1('editRow'),
24653
+ 'aria-label': ariaLabel('editRow'),
24379
24654
  onClick: rowEditorProps.onInitClick,
24380
24655
  className: rowEditorProps.initClassName,
24381
24656
  tabIndex: props.tabIndex
24382
- }, "aria-label", ariaLabel$1('editRow')), 'data-p-row-editor-init', true), getColumnPTOptions('rowEditorInitButton'));
24657
+ }, "aria-label", ariaLabel('editRow')), 'data-p-row-editor-init', true), getColumnPTOptions('rowEditorInitButton'));
24383
24658
  content = /*#__PURE__*/React__namespace.createElement("button", rowEditorInitButtonProps, rowEditorInitIcon, /*#__PURE__*/React__namespace.createElement(Ripple, null));
24384
24659
  }
24385
24660
  if (body) {
@@ -25026,7 +25301,7 @@ var RowTogglerButton = /*#__PURE__*/React__namespace.memo(function (props) {
25026
25301
  var togglerIcon = IconUtils.getJSXIcon(icon, _objectSpread$19({}, rowGroupTogglerIconProps), {
25027
25302
  props: props
25028
25303
  });
25029
- var label = props.expanded ? ariaLabel$1('collapseLabel') : ariaLabel$1('expandLabel');
25304
+ var label = props.expanded ? ariaLabel('collapseLabel') : ariaLabel('expandLabel');
25030
25305
  var rowGroupTogglerProps = mergeProps({
25031
25306
  type: 'button',
25032
25307
  onClick: function onClick(e) {
@@ -26872,7 +27147,7 @@ var ColumnFilter = /*#__PURE__*/React__namespace.memo(function (props) {
26872
27147
  var columnFilterIcon = IconUtils.getJSXIcon(icon, _objectSpread$15({}, filterIconProps), {
26873
27148
  props: props
26874
27149
  });
26875
- var label = overlayVisibleState ? ariaLabel$1('hideFilterMenu') : ariaLabel$1('showFilterMenu');
27150
+ var label = overlayVisibleState ? ariaLabel('hideFilterMenu') : ariaLabel('showFilterMenu');
26876
27151
  var filterMenuButtonProps = mergeProps({
26877
27152
  type: 'button',
26878
27153
  className: cx('filterMenuButton', {
@@ -26995,7 +27270,7 @@ var ColumnFilter = /*#__PURE__*/React__namespace.memo(function (props) {
26995
27270
  __parentMetadata: {
26996
27271
  parent: props.metaData
26997
27272
  },
26998
- "aria-label": ariaLabel$1('filterOperator')
27273
+ "aria-label": ariaLabel('filterOperator')
26999
27274
  }));
27000
27275
  }
27001
27276
  return null;
@@ -27015,7 +27290,7 @@ var ColumnFilter = /*#__PURE__*/React__namespace.memo(function (props) {
27015
27290
  __parentMetadata: {
27016
27291
  parent: props.metaData
27017
27292
  },
27018
- "aria-label": ariaLabel$1('filterConstraint')
27293
+ "aria-label": ariaLabel('filterConstraint')
27019
27294
  });
27020
27295
  }
27021
27296
  return null;
@@ -27286,7 +27561,7 @@ var HeaderCheckbox = /*#__PURE__*/React__namespace.memo(function (props) {
27286
27561
  }),
27287
27562
  role: 'checkbox',
27288
27563
  'aria-checked': props.checked,
27289
- 'aria-label': props.checked ? ariaLabel$1('selectAll') : ariaLabel$1('unselectAll'),
27564
+ 'aria-label': props.checked ? ariaLabel('selectAll') : ariaLabel('unselectAll'),
27290
27565
  tabIndex: tabIndex,
27291
27566
  onFocus: function onFocus(e) {
27292
27567
  return _onFocus();
@@ -34765,7 +35040,9 @@ var InputSwitch = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
34765
35040
  style: props.style,
34766
35041
  onClick: onClick,
34767
35042
  role: 'checkbox',
34768
- 'aria-checked': checked
35043
+ 'aria-checked': checked,
35044
+ 'data-p-highlight': checked,
35045
+ 'data-p-disabled': props.disabled
34769
35046
  }, otherProps, ptm('root'));
34770
35047
  var hiddenInputWrapperProps = mergeProps({
34771
35048
  className: 'p-hidden-accessible'
@@ -34966,6 +35243,7 @@ var KnobBase = ComponentBase.extend({
34966
35243
  disabled: false,
34967
35244
  readOnly: false,
34968
35245
  showValue: true,
35246
+ tabIndex: 0,
34969
35247
  step: 1,
34970
35248
  min: 0,
34971
35249
  max: 100,
@@ -35129,6 +35407,15 @@ var Knob = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.for
35129
35407
  });
35130
35408
  }
35131
35409
  };
35410
+ var updateModelValue = function updateModelValue(newValue) {
35411
+ var currentValue;
35412
+ if (newValue > props.max) currentValue = props.max;else if (newValue < props.min) currentValue = props.min;else currentValue = newValue;
35413
+ if (props.onChange) {
35414
+ props.onChange({
35415
+ value: currentValue
35416
+ });
35417
+ }
35418
+ };
35132
35419
  var _onClick = function onClick(event) {
35133
35420
  if (!props.disabled && !props.readOnly) {
35134
35421
  updateValue(event.nativeEvent.offsetX, event.nativeEvent.offsetY);
@@ -35151,6 +35438,48 @@ var Knob = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.for
35151
35438
  unbindWindowTouchMoveListener();
35152
35439
  unbindWindowTouchEndListener();
35153
35440
  };
35441
+ var _onKeyDown = function onKeyDown(event) {
35442
+ if (!props.disabled && !props.readonly) {
35443
+ switch (event.code) {
35444
+ case 'ArrowRight':
35445
+ case 'ArrowUp':
35446
+ event.preventDefault();
35447
+ updateModelValue(props.value + 1);
35448
+ break;
35449
+ case 'ArrowLeft':
35450
+ case 'ArrowDown':
35451
+ {
35452
+ event.preventDefault();
35453
+ updateModelValue(props.value - 1);
35454
+ break;
35455
+ }
35456
+ case 'Home':
35457
+ {
35458
+ event.preventDefault();
35459
+ updateModelValue(props.min);
35460
+ break;
35461
+ }
35462
+ case 'End':
35463
+ {
35464
+ event.preventDefault();
35465
+ updateModelValue(props.max);
35466
+ break;
35467
+ }
35468
+ case 'PageUp':
35469
+ {
35470
+ event.preventDefault();
35471
+ updateModelValue(props.value + 10);
35472
+ break;
35473
+ }
35474
+ case 'PageDown':
35475
+ {
35476
+ event.preventDefault();
35477
+ updateModelValue(props.value - 10);
35478
+ break;
35479
+ }
35480
+ }
35481
+ }
35482
+ };
35154
35483
  React__namespace.useImperativeHandle(ref, function () {
35155
35484
  return {
35156
35485
  props: props,
@@ -35178,6 +35507,13 @@ var Knob = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.for
35178
35507
  viewBox: '0 0 100 100',
35179
35508
  width: props.size,
35180
35509
  height: props.size,
35510
+ 'aria-valuemin': props.min,
35511
+ 'aria-valuemax': props.max,
35512
+ 'aria-valuenow': props.value,
35513
+ 'aria-labelledby': props.ariaLabelledby,
35514
+ 'aria-label': props.ariaLabel,
35515
+ role: 'slider',
35516
+ tabIndex: props.readonly || props.disabled ? -1 : props.tabIndex,
35181
35517
  onClick: function onClick(e) {
35182
35518
  return _onClick(e);
35183
35519
  },
@@ -35192,6 +35528,9 @@ var Knob = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.for
35192
35528
  },
35193
35529
  onTouchEnd: function onTouchEnd(e) {
35194
35530
  return _onTouchEnd();
35531
+ },
35532
+ onKeyDown: function onKeyDown(e) {
35533
+ return _onKeyDown(e);
35195
35534
  }
35196
35535
  }, ptm('svg'));
35197
35536
  var rangeProps = mergeProps({
@@ -35210,28 +35549,26 @@ var Knob = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.for
35210
35549
  }));
35211
35550
  Knob.displayName = 'Knob';
35212
35551
 
35552
+ var _defaultProps;
35213
35553
  var classes$A = {
35214
35554
  itemGroup: 'p-listbox-item-group',
35215
35555
  emptyMessage: 'p-listbox-empty-message',
35216
- list: function list(_ref) {
35217
- var props = _ref.props,
35218
- options = _ref.options;
35219
- return props.virtualScrollerOptions ? classNames('p-listbox-list', options.className) : 'p-listbox-list';
35220
- },
35221
- wrapper: function wrapper(_ref2) {
35222
- var props = _ref2.props;
35556
+ list: 'p-listbox-list',
35557
+ wrapper: function wrapper(_ref) {
35558
+ var props = _ref.props;
35223
35559
  return classNames('p-listbox-list-wrapper', props.listClassName);
35224
35560
  },
35225
- root: function root(_ref3) {
35226
- var props = _ref3.props;
35561
+ root: function root(_ref2) {
35562
+ var props = _ref2.props;
35227
35563
  return classNames('p-listbox p-component', {
35228
35564
  'p-disabled': props.disabled
35229
35565
  }, props.className);
35230
35566
  },
35231
- item: function item(_ref4) {
35232
- var props = _ref4.props;
35567
+ item: function item(_ref3) {
35568
+ var props = _ref3.props;
35233
35569
  return classNames('p-listbox-item', {
35234
35570
  'p-highlight': props.selected,
35571
+ 'p-focus': props.focusedOptionIndex === props.index,
35235
35572
  'p-disabled': props.disabled
35236
35573
  }, props.option.className);
35237
35574
  },
@@ -35240,22 +35577,22 @@ var classes$A = {
35240
35577
  filterInput: 'p-listbox-filter',
35241
35578
  header: 'p-listbox-header'
35242
35579
  };
35243
- var styles$w = "\n@layer primereact {\n .p-listbox-list-wrapper {\n overflow: auto;\n }\n \n .p-listbox-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n }\n \n .p-listbox-item {\n cursor: pointer;\n position: relative;\n overflow: hidden;\n }\n \n .p-listbox-filter-container {\n position: relative;\n }\n \n .p-listbox-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n }\n \n .p-listbox-filter {\n width: 100%;\n }\n}\n";
35580
+ var styles$w = "\n@layer primereact {\n .p-listbox-list-wrapper {\n overflow: auto;\n }\n \n .p-listbox-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n }\n \n .p-listbox-item {\n cursor: pointer;\n position: relative;\n overflow: hidden;\n outline: none;\n }\n \n .p-listbox-filter-container {\n position: relative;\n }\n \n .p-listbox-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n }\n \n .p-listbox-filter {\n width: 100%;\n }\n}\n";
35244
35581
  var inlineStyles$c = {
35245
- itemGroup: function itemGroup(_ref5) {
35246
- var scrollerOptions = _ref5.scrollerOptions;
35582
+ itemGroup: function itemGroup(_ref4) {
35583
+ var scrollerOptions = _ref4.scrollerOptions;
35247
35584
  return {
35248
35585
  height: scrollerOptions.props ? scrollerOptions.props.itemSize : undefined
35249
35586
  };
35250
35587
  },
35251
- list: function list(_ref6) {
35252
- var options = _ref6.options,
35253
- props = _ref6.props;
35588
+ list: function list(_ref5) {
35589
+ var options = _ref5.options,
35590
+ props = _ref5.props;
35254
35591
  return props.virtualScrollerOptions ? options.style : undefined;
35255
35592
  }
35256
35593
  };
35257
35594
  var ListBoxBase = ComponentBase.extend({
35258
- defaultProps: {
35595
+ defaultProps: (_defaultProps = {
35259
35596
  __TYPE: 'ListBox',
35260
35597
  className: null,
35261
35598
  dataKey: null,
@@ -35271,29 +35608,13 @@ var ListBoxBase = ComponentBase.extend({
35271
35608
  filterPlaceholder: null,
35272
35609
  filterTemplate: null,
35273
35610
  filterValue: null,
35611
+ selectOnFocus: false,
35274
35612
  id: null,
35275
35613
  itemTemplate: null,
35276
35614
  listClassName: null,
35277
35615
  listStyle: null,
35278
- metaKeySelection: false,
35279
- multiple: false,
35280
- onChange: null,
35281
- onFilterValueChange: null,
35282
- optionDisabled: null,
35283
- optionGroupChildren: null,
35284
- optionGroupLabel: null,
35285
- optionGroupTemplate: null,
35286
- optionLabel: null,
35287
- optionValue: null,
35288
- options: null,
35289
- style: null,
35290
- tabIndex: 0,
35291
- tooltip: null,
35292
- tooltipOptions: null,
35293
- value: null,
35294
- virtualScrollerOptions: null,
35295
- children: undefined
35296
- },
35616
+ metaKeySelection: false
35617
+ }, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defaultProps, "selectOnFocus", false), "autoOptionFocus", true), "multiple", false), "onChange", null), "onFilterValueChange", null), "optionDisabled", null), "optionGroupChildren", null), "optionGroupLabel", null), "optionGroupTemplate", null), "optionLabel", null), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defaultProps, "optionValue", null), "options", null), "style", null), "tabIndex", 0), "tooltip", null), "tooltipOptions", null), "value", null), "virtualScrollerOptions", null), "children", undefined)),
35297
35618
  css: {
35298
35619
  classes: classes$A,
35299
35620
  styles: styles$w,
@@ -35390,7 +35711,8 @@ var ListBoxItem = /*#__PURE__*/React__namespace.memo(function (props) {
35390
35711
  context: {
35391
35712
  selected: props.selected,
35392
35713
  disabled: props.disabled,
35393
- focused: focusedState
35714
+ focused: focusedState,
35715
+ focusedOptionIndex: props.focusedOptionIndex
35394
35716
  }
35395
35717
  });
35396
35718
  };
@@ -35400,15 +35722,6 @@ var ListBoxItem = /*#__PURE__*/React__namespace.memo(function (props) {
35400
35722
  var onBlur = function onBlur(event) {
35401
35723
  setFocusedState(false);
35402
35724
  };
35403
- var onClick = function onClick(event) {
35404
- if (props.onClick) {
35405
- props.onClick({
35406
- originalEvent: event,
35407
- option: props.option
35408
- });
35409
- }
35410
- event.preventDefault();
35411
- };
35412
35725
  var onTouchEnd = function onTouchEnd(event) {
35413
35726
  if (props.onTouchEnd) {
35414
35727
  props.onTouchEnd({
@@ -35417,47 +35730,17 @@ var ListBoxItem = /*#__PURE__*/React__namespace.memo(function (props) {
35417
35730
  });
35418
35731
  }
35419
35732
  };
35420
- var onKeyDown = function onKeyDown(event) {
35421
- var item = event.currentTarget;
35422
- switch (event.which) {
35423
- //down
35424
- case 40:
35425
- var nextItem = findNextItem(item);
35426
- nextItem && nextItem.focus();
35427
- event.preventDefault();
35428
- break;
35429
-
35430
- //up
35431
- case 38:
35432
- var prevItem = findPrevItem(item);
35433
- prevItem && prevItem.focus();
35434
- event.preventDefault();
35435
- break;
35436
-
35437
- //enter
35438
- case 13:
35439
- onClick(event);
35440
- event.preventDefault();
35441
- break;
35442
- }
35443
- };
35444
- var findNextItem = function findNextItem(item) {
35445
- var nextItem = item.nextElementSibling;
35446
- return nextItem ? DomHandler.isAttributeEquals(nextItem, 'data-p-disabled', true) || DomHandler.isAttributeEquals(nextItem, 'data-pc-section', 'itemgroup') ? findNextItem(nextItem) : nextItem : null;
35447
- };
35448
- var findPrevItem = function findPrevItem(item) {
35449
- var prevItem = item.previousElementSibling;
35450
- return prevItem ? DomHandler.isAttributeEquals(prevItem, 'data-p-disabled', true) || DomHandler.isAttributeEquals(prevItem, 'data-pc-section', 'itemgroup') ? findPrevItem(prevItem) : prevItem : null;
35451
- };
35452
35733
  var content = props.template ? ObjectUtils.getJSXElement(props.template, props.option) : props.label;
35453
35734
  var itemProps = mergeProps({
35735
+ id: props.id,
35454
35736
  className: cx('item', {
35455
35737
  props: props
35456
35738
  }),
35457
35739
  style: props.style,
35458
- onClick: onClick,
35740
+ onClick: function onClick(event) {
35741
+ return props.onClick(event, props.option, props.index);
35742
+ },
35459
35743
  onTouchEnd: onTouchEnd,
35460
- onKeyDown: onKeyDown,
35461
35744
  onFocus: onFocus,
35462
35745
  onBlur: onBlur,
35463
35746
  tabIndex: '-1',
@@ -35481,12 +35764,25 @@ var ListBox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.
35481
35764
  var mergeProps = useMergeProps();
35482
35765
  var context = React__namespace.useContext(PrimeReactContext);
35483
35766
  var props = ListBoxBase.getProps(inProps, context);
35484
- var _React$useState = React__namespace.useState(''),
35767
+ var _React$useState = React__namespace.useState(null),
35485
35768
  _React$useState2 = _slicedToArray(_React$useState, 2),
35486
- filterValueState = _React$useState2[0],
35487
- setFilterValueState = _React$useState2[1];
35769
+ focusedOptionIndex = _React$useState2[0],
35770
+ setFocusedOptionIndex = _React$useState2[1];
35771
+ var searchTimeout = React__namespace.useRef(null);
35772
+ var firstHiddenFocusableElement = React__namespace.useRef(null);
35773
+ var lastHiddenFocusableElement = React__namespace.useRef(null);
35774
+ var _React$useState3 = React__namespace.useState(-1),
35775
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
35776
+ startRangeIndex = _React$useState4[0],
35777
+ setStartRangeIndex = _React$useState4[1];
35778
+ var _React$useState5 = React__namespace.useState(''),
35779
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
35780
+ filterValueState = _React$useState6[0],
35781
+ setFilterValueState = _React$useState6[1];
35488
35782
  var elementRef = React__namespace.useRef(null);
35489
35783
  var virtualScrollerRef = React__namespace.useRef(null);
35784
+ var id = React__namespace.useRef(UniqueComponentId());
35785
+ var listRef = React__namespace.useRef(null);
35490
35786
  var optionTouched = React__namespace.useRef(false);
35491
35787
  var filteredValue = (props.onFilterValueChange ? props.filterValue : filterValueState) || '';
35492
35788
  var hasFilter = filteredValue && filteredValue.trim().length > 0;
@@ -35500,13 +35796,14 @@ var ListBox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.
35500
35796
  useHandleStyle(ListBoxBase.css.styles, ptCallbacks.isUnstyled, {
35501
35797
  name: 'listbox'
35502
35798
  });
35503
- var onOptionSelect = function onOptionSelect(event) {
35504
- var option = event.option;
35799
+ var onOptionSelect = function onOptionSelect(event, option) {
35800
+ var index = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1;
35505
35801
  if (props.disabled || isOptionDisabled(option)) {
35506
35802
  return;
35507
35803
  }
35508
35804
  props.multiple ? onOptionSelectMultiple(event.originalEvent, option) : onOptionSelectSingle(event.originalEvent, option);
35509
35805
  optionTouched.current = false;
35806
+ index !== -1 && setFocusedOptionIndex(index);
35510
35807
  };
35511
35808
  var onOptionTouchEnd = function onOptionTouchEnd() {
35512
35809
  if (props.disabled) {
@@ -35575,6 +35872,269 @@ var ListBox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.
35575
35872
  });
35576
35873
  }
35577
35874
  };
35875
+ var hasSelectedOption = function hasSelectedOption() {
35876
+ return ObjectUtils.isNotEmpty(props.value);
35877
+ };
35878
+ var isOptionGroup = function isOptionGroup(option) {
35879
+ return props.optionGroupLabel && option.optionGroup && option.group;
35880
+ };
35881
+ var isValidOption = function isValidOption(option) {
35882
+ return ObjectUtils.isNotEmpty(option) && !(isOptionDisabled(option) || isOptionGroup(option));
35883
+ };
35884
+ var isValidSelectedOption = function isValidSelectedOption(option) {
35885
+ return isValidOption(option) && isSelected(option);
35886
+ };
35887
+ var findFirstOptionIndex = function findFirstOptionIndex() {
35888
+ return visibleOptions.findIndex(function (option) {
35889
+ return isValidOption(option);
35890
+ });
35891
+ };
35892
+ var findLastOptionIndex = function findLastOptionIndex() {
35893
+ return ObjectUtils.findLastIndex(visibleOptions, function (option) {
35894
+ return isValidOption(option);
35895
+ });
35896
+ };
35897
+ var findNextOptionIndex = function findNextOptionIndex(index) {
35898
+ var matchedOptionIndex = index < visibleOptions.length - 1 ? visibleOptions.slice(index + 1).findIndex(function (option) {
35899
+ return isValidOption(option);
35900
+ }) : -1;
35901
+ return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
35902
+ };
35903
+ var findPrevOptionIndex = function findPrevOptionIndex(index) {
35904
+ var matchedOptionIndex = index > 0 ? ObjectUtils.findLastIndex(visibleOptions.slice(0, index), function (option) {
35905
+ return isValidOption(option);
35906
+ }) : -1;
35907
+ return matchedOptionIndex > -1 ? matchedOptionIndex : index;
35908
+ };
35909
+ var focusedOptionId = function focusedOptionId() {
35910
+ return focusedOptionIndex !== -1 ? "".concat(id.current, "_").concat(focusedOptionIndex) : null;
35911
+ };
35912
+ var findNearestSelectedOptionIndex = function findNearestSelectedOptionIndex(index) {
35913
+ var firstCheckUp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
35914
+ var matchedOptionIndex = -1;
35915
+ if (hasSelectedOption) {
35916
+ if (firstCheckUp) {
35917
+ matchedOptionIndex = findPrevSelectedOptionIndex(index);
35918
+ matchedOptionIndex = matchedOptionIndex === -1 ? findNextSelectedOptionIndex(index) : matchedOptionIndex;
35919
+ } else {
35920
+ matchedOptionIndex = findNextSelectedOptionIndex(index);
35921
+ matchedOptionIndex = matchedOptionIndex === -1 ? findPrevSelectedOptionIndex(index) : matchedOptionIndex;
35922
+ }
35923
+ }
35924
+ return matchedOptionIndex > -1 ? matchedOptionIndex : index;
35925
+ };
35926
+ var isOptionMatched = function isOptionMatched(option) {
35927
+ var _getOptionLabel;
35928
+ return isValidOption(option) && ((_getOptionLabel = getOptionLabel(option)) === null || _getOptionLabel === void 0 ? void 0 : _getOptionLabel.toLocaleLowerCase(props.filterLocale).startsWith(searchValue.toLocaleLowerCase(props.filterLocale)));
35929
+ };
35930
+ var searchOptions = function searchOptions(event, _char) {
35931
+ searchValue = (searchValue || '') + _char;
35932
+ var optionIndex = -1;
35933
+ if (ObjectUtils.isNotEmpty(searchValue)) {
35934
+ if (focusedOptionIndex !== -1) {
35935
+ optionIndex = visibleOptions.slice(focusedOptionIndex).findIndex(function (option) {
35936
+ return isOptionMatched(option);
35937
+ });
35938
+ optionIndex = optionIndex === -1 ? visibleOptions.slice(0, focusedOptionIndex).findIndex(function (option) {
35939
+ return isOptionMatched(option);
35940
+ }) : optionIndex + focusedOptionIndex;
35941
+ } else {
35942
+ optionIndex = visibleOptions.findIndex(function (option) {
35943
+ return isOptionMatched(option);
35944
+ });
35945
+ }
35946
+ if (optionIndex === -1 && focusedOptionIndex === -1) {
35947
+ optionIndex = findFirstFocusedOptionIndex();
35948
+ }
35949
+ if (optionIndex !== -1) {
35950
+ changeFocusedOptionIndex(event, optionIndex);
35951
+ }
35952
+ }
35953
+ if (searchTimeout.current) {
35954
+ clearTimeout(searchTimeout.current);
35955
+ }
35956
+ searchTimeout.current = setTimeout(function () {
35957
+ searchValue = '';
35958
+ searchTimeout.current = null;
35959
+ }, 500);
35960
+ };
35961
+ var findNextSelectedOptionIndex = function findNextSelectedOptionIndex(index) {
35962
+ var matchedOptionIndex = hasSelectedOption && index < visibleOptions.length - 1 ? visibleOptions.slice(index + 1).findIndex(function (option) {
35963
+ return isValidSelectedOption(option);
35964
+ }) : -1;
35965
+ return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : -1;
35966
+ };
35967
+ var findPrevSelectedOptionIndex = function findPrevSelectedOptionIndex(index) {
35968
+ var matchedOptionIndex = hasSelectedOption && index > 0 ? ObjectUtils.findLastIndex(visibleOptions.slice(0, index), function (option) {
35969
+ return isValidSelectedOption(option);
35970
+ }) : -1;
35971
+ return matchedOptionIndex > -1 ? matchedOptionIndex : -1;
35972
+ };
35973
+ var onOptionSelectRange = function onOptionSelectRange(event) {
35974
+ var start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : -1;
35975
+ var end = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1;
35976
+ start === -1 && (start = findNearestSelectedOptionIndex(end, true));
35977
+ end === -1 && (end = findNearestSelectedOptionIndex(start));
35978
+ if (start !== -1 && end !== -1) {
35979
+ var rangeStart = Math.min(start, end);
35980
+ var rangeEnd = Math.max(start, end);
35981
+ var value = visibleOptions.slice(rangeStart, rangeEnd + 1).filter(function (option) {
35982
+ return isValidOption(option);
35983
+ }).map(function (option) {
35984
+ return getOptionValue(option);
35985
+ });
35986
+ updateModel(event, value);
35987
+ }
35988
+ };
35989
+ var findFirstFocusedOptionIndex = function findFirstFocusedOptionIndex() {
35990
+ var selectedIndex = findFirstSelectedOptionIndex();
35991
+ return selectedIndex < 0 ? findFirstOptionIndex() : selectedIndex;
35992
+ };
35993
+ var changeFocusedOptionIndex = function changeFocusedOptionIndex(event, index) {
35994
+ if (focusedOptionIndex !== index) {
35995
+ setFocusedOptionIndex(index);
35996
+ scrollInView();
35997
+ if (props.selectOnFocus && !props.multiple) {
35998
+ onOptionSelect(event, visibleOptions[index]);
35999
+ }
36000
+ }
36001
+ };
36002
+ var onArrowDownKey = function onArrowDownKey(event) {
36003
+ var optionIndex = focusedOptionIndex !== -1 ? findNextOptionIndex(focusedOptionIndex) : findFirstFocusedOptionIndex();
36004
+ if (props.multiple && event.shiftKey) {
36005
+ onOptionSelectRange(event, startRangeIndex, optionIndex);
36006
+ }
36007
+ changeFocusedOptionIndex(event, optionIndex);
36008
+ event.preventDefault();
36009
+ };
36010
+ var onArrowUpKey = function onArrowUpKey(event) {
36011
+ var optionIndex = focusedOptionIndex !== -1 ? findPrevOptionIndex(focusedOptionIndex) : findLastFocusedOptionIndex();
36012
+ if (props.multiple && event.shiftKey) {
36013
+ onOptionSelectRange(event, optionIndex, startRangeIndex);
36014
+ }
36015
+ changeFocusedOptionIndex(event, optionIndex);
36016
+ event.preventDefault();
36017
+ };
36018
+ var onEnterKey = function onEnterKey(event) {
36019
+ if (focusedOptionIndex !== -1) {
36020
+ if (props.multiple && event.shiftKey) onOptionSelectRange(event, focusedOptionIndex);else onOptionSelect(event, visibleOptions[focusedOptionIndex]);
36021
+ }
36022
+ event.preventDefault();
36023
+ };
36024
+ var onSpaceKey = function onSpaceKey(event) {
36025
+ onEnterKey(event);
36026
+ };
36027
+ var onShiftKey = function onShiftKey() {
36028
+ setStartRangeIndex(focusedOptionIndex);
36029
+ };
36030
+ var onHomeKey = function onHomeKey(event) {
36031
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
36032
+ if (pressedInInputText) {
36033
+ event.currentTarget.setSelectionRange(0, 0);
36034
+ setFocusedOptionIndex(-1);
36035
+ } else {
36036
+ var metaKey = event.metaKey || event.ctrlKey;
36037
+ var optionIndex = findFirstOptionIndex();
36038
+ if (props.multiple && event.shiftKey && metaKey) {
36039
+ onOptionSelectRange(event, optionIndex, startRangeIndex);
36040
+ }
36041
+ changeFocusedOptionIndex(event, optionIndex);
36042
+ }
36043
+ event.preventDefault();
36044
+ };
36045
+ var onEndKey = function onEndKey(event) {
36046
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
36047
+ if (pressedInInputText) {
36048
+ var target = event.currentTarget;
36049
+ var len = target.value.length;
36050
+ target.setSelectionRange(len, len);
36051
+ _readOnlyError("focusedOptionIndex");
36052
+ } else {
36053
+ var metaKey = event.metaKey || event.ctrlKey;
36054
+ var optionIndex = findLastOptionIndex();
36055
+ if (props.multiple && event.shiftKey && metaKey) {
36056
+ onOptionSelectRange(event, startRangeIndex, optionIndex);
36057
+ }
36058
+ changeFocusedOptionIndex(event, optionIndex);
36059
+ }
36060
+ event.preventDefault();
36061
+ };
36062
+ var onPageUpKey = function onPageUpKey(event) {
36063
+ scrollInView(0);
36064
+ event.preventDefault();
36065
+ };
36066
+ var onPageDownKey = function onPageDownKey(event) {
36067
+ scrollInView(visibleOptions.length - 1);
36068
+ event.preventDefault();
36069
+ };
36070
+ var onKeyDown = function onKeyDown(event) {
36071
+ var metaKey = event.metaKey || event.ctrlKey;
36072
+ switch (event.code) {
36073
+ case 'ArrowDown':
36074
+ onArrowDownKey(event);
36075
+ break;
36076
+ case 'ArrowUp':
36077
+ onArrowUpKey(event);
36078
+ break;
36079
+ case 'Home':
36080
+ onHomeKey(event);
36081
+ break;
36082
+ case 'End':
36083
+ onEndKey(event);
36084
+ break;
36085
+ case 'PageDown':
36086
+ onPageDownKey(event);
36087
+ break;
36088
+ case 'PageUp':
36089
+ onPageUpKey(event);
36090
+ break;
36091
+ case 'Enter':
36092
+ case 'NumpadEnter':
36093
+ case 'Space':
36094
+ onSpaceKey(event);
36095
+ event.preventDefault();
36096
+ break;
36097
+ case 'Tab':
36098
+ //NOOP
36099
+ break;
36100
+ case 'ShiftLeft':
36101
+ case 'ShiftRight':
36102
+ onShiftKey();
36103
+ break;
36104
+ default:
36105
+ if (props.multiple && event.code === 'KeyA' && metaKey) {
36106
+ var value = visibleOptions.filter(function (option) {
36107
+ return isValidOption(option);
36108
+ }).map(function (option) {
36109
+ return getOptionValue(option);
36110
+ });
36111
+ updateModel(event, value);
36112
+ event.preventDefault();
36113
+ break;
36114
+ }
36115
+ if (!metaKey && ObjectUtils.isPrintableCharacter(event.key)) {
36116
+ searchOptions(event, event.key);
36117
+ event.preventDefault();
36118
+ }
36119
+ break;
36120
+ }
36121
+ };
36122
+ var scrollInView = function scrollInView() {
36123
+ var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
36124
+ setTimeout(function () {
36125
+ var idx = index !== -1 ? "".concat(id.current, "_").concat(index) : focusedOptionId();
36126
+ var element = listRef.current.querySelector("li[id=\"".concat(idx, "\"]"));
36127
+ if (element) {
36128
+ element.scrollIntoView({
36129
+ block: 'nearest',
36130
+ inline: 'nearest',
36131
+ behavior: 'smooth'
36132
+ });
36133
+ } else if (props.virtualScrollerOptions) {
36134
+ virtualScrollerRef.current && virtualScrollerRef.current.scrollToIndex(index !== -1 ? index : props.focusedOptionIndex);
36135
+ }
36136
+ }, 0);
36137
+ };
35578
36138
  var onFilter = function onFilter(event) {
35579
36139
  virtualScrollerRef.current && virtualScrollerRef.current.scrollToIndex(0);
35580
36140
  var originalEvent = event.originalEvent,
@@ -35667,6 +36227,23 @@ var ListBox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.
35667
36227
  }
35668
36228
  return option && option['disabled'] !== undefined ? option['disabled'] : false;
35669
36229
  };
36230
+ var onFirstHiddenFocus = function onFirstHiddenFocus() {
36231
+ DomHandler.focus(listRef.current);
36232
+ var firstFocusableEl = DomHandler.getFirstFocusableElement(elementRef.current, ':not([data-p-hidden-focusable="true"])');
36233
+ lastHiddenFocusableElement.current.tabIndex = DomHandler.isElement(firstFocusableEl) ? undefined : -1;
36234
+ firstHiddenFocusableElement.current.tabIndex = -1;
36235
+ };
36236
+ var onLastHiddenFocus = function onLastHiddenFocus(event) {
36237
+ var relatedTarget = event.relatedTarget;
36238
+ if (relatedTarget === listRef.current) {
36239
+ var firstFocusableEl = DomHandler.getFirstFocusableElement(elementRef.current, ':not([data-p-hidden-focusable="true"])');
36240
+ DomHandler.focus(firstFocusableEl);
36241
+ firstHiddenFocusableElement.current.tabIndex = undefined;
36242
+ } else {
36243
+ DomHandler.focus(firstHiddenFocusableElement.current);
36244
+ }
36245
+ astHiddenFocusableElement.current.tabIndex = -1;
36246
+ };
35670
36247
  var getOptionGroupRenderKey = function getOptionGroupRenderKey(optionGroup) {
35671
36248
  return ObjectUtils.resolveFieldData(optionGroup, props.optionGroupLabel);
35672
36249
  };
@@ -35755,8 +36332,9 @@ var ListBox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.
35755
36332
  var optionLabel = getOptionLabel(option);
35756
36333
  var optionKey = j + '_' + getOptionRenderKey(option);
35757
36334
  var disabled = isOptionDisabled(option);
35758
- var tabIndex = disabled ? null : props.tabIndex || 0;
36335
+ disabled ? null : props.tabIndex || 0;
35759
36336
  return /*#__PURE__*/React__namespace.createElement(ListBoxItem, {
36337
+ id: id.current + '_' + j,
35760
36338
  hostName: "ListBox",
35761
36339
  key: optionKey,
35762
36340
  label: optionLabel,
@@ -35765,8 +36343,9 @@ var ListBox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.
35765
36343
  template: props.itemTemplate,
35766
36344
  selected: isSelected(option),
35767
36345
  onClick: onOptionSelect,
36346
+ index: j,
36347
+ focusedOptionIndex: focusedOptionIndex,
35768
36348
  onTouchEnd: onOptionTouchEnd,
35769
- tabIndex: tabIndex,
35770
36349
  disabled: disabled,
35771
36350
  ptCallbacks: ptCallbacks,
35772
36351
  metaData: metaData
@@ -35796,18 +36375,20 @@ var ListBox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.
35796
36375
  var optionLabel = getOptionLabel(option);
35797
36376
  var optionKey = index + '_' + getOptionRenderKey(option);
35798
36377
  var disabled = isOptionDisabled(option);
35799
- var tabIndex = disabled ? null : props.tabIndex || 0;
36378
+ disabled ? null : props.tabIndex || 0;
35800
36379
  return /*#__PURE__*/React__namespace.createElement(ListBoxItem, {
36380
+ id: id.current + '_' + index,
35801
36381
  hostName: "ListBox",
35802
36382
  key: optionKey,
35803
36383
  label: optionLabel,
36384
+ index: index,
36385
+ focusedOptionIndex: focusedOptionIndex,
35804
36386
  option: option,
35805
36387
  style: style,
35806
36388
  template: props.itemTemplate,
35807
36389
  selected: isSelected(option),
35808
36390
  onClick: onOptionSelect,
35809
36391
  onTouchEnd: onOptionTouchEnd,
35810
- tabIndex: tabIndex,
35811
36392
  disabled: disabled,
35812
36393
  ptCallbacks: ptCallbacks,
35813
36394
  metaData: metaData
@@ -35851,6 +36432,7 @@ var ListBox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.
35851
36432
  options: options
35852
36433
  }),
35853
36434
  role: 'listbox',
36435
+ tabIndex: '-1',
35854
36436
  'aria-multiselectable': props.multiple
35855
36437
  }, ariaProps), ptCallbacks.ptm('list'));
35856
36438
  return /*#__PURE__*/React__namespace.createElement("ul", listProps, options.children);
@@ -35864,9 +36446,12 @@ var ListBox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.
35864
36446
  } else {
35865
36447
  var items = createItems();
35866
36448
  var listProps = mergeProps(_objectSpread$O({
36449
+ ref: listRef,
35867
36450
  className: ptCallbacks.cx('list'),
35868
36451
  role: 'listbox',
35869
- 'aria-multiselectable': props.multiple
36452
+ 'aria-multiselectable': props.multiple,
36453
+ tabIndex: '-1',
36454
+ onKeyDown: onKeyDown
35870
36455
  }, ariaProps), ptCallbacks.ptm('list'));
35871
36456
  return /*#__PURE__*/React__namespace.createElement("ul", listProps, items);
35872
36457
  }
@@ -35887,7 +36472,27 @@ var ListBox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.
35887
36472
  className: ptCallbacks.cx('root'),
35888
36473
  style: props.style
35889
36474
  }, ListBoxBase.getOtherProps(props), ptCallbacks.ptm('root'));
35890
- return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement("div", rootProps, header, /*#__PURE__*/React__namespace.createElement("div", wrapperProps, list)), hasTooltip && /*#__PURE__*/React__namespace.createElement(Tooltip, _extends({
36475
+ var hiddenFirstElement = mergeProps({
36476
+ ref: firstHiddenFocusableElement,
36477
+ role: 'presentation',
36478
+ 'aria-hidden': 'true',
36479
+ className: 'p-hidden-accessible p-hidden-focusable',
36480
+ tabIndex: !props.disabled ? props.tabIndex : -1,
36481
+ onFocus: onFirstHiddenFocus,
36482
+ 'data-p-hidden-accessible': true,
36483
+ 'data-p-hidden-focusable': true
36484
+ }, ptCallbacks.ptm('hiddenFirstFocusableEl'));
36485
+ var hiddenLastElement = mergeProps({
36486
+ ref: lastHiddenFocusableElement,
36487
+ role: 'presentation',
36488
+ 'aria-hidden': 'true',
36489
+ className: 'p-hidden-accessible p-hidden-focusable',
36490
+ tabIndex: !props.disabled ? props.tabIndex : -1,
36491
+ onFocus: onLastHiddenFocus,
36492
+ 'data-p-hidden-accessible': true,
36493
+ 'data-p-hidden-focusable': true
36494
+ }, ptCallbacks.ptm('hiddenFirstFocusableEl'));
36495
+ return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement("div", rootProps, /*#__PURE__*/React__namespace.createElement("span", hiddenFirstElement), header, /*#__PURE__*/React__namespace.createElement("div", wrapperProps, list), /*#__PURE__*/React__namespace.createElement("span", hiddenLastElement)), hasTooltip && /*#__PURE__*/React__namespace.createElement(Tooltip, _extends({
35891
36496
  target: elementRef,
35892
36497
  content: props.tooltip
35893
36498
  }, props.tooltipOptions, {
@@ -37068,7 +37673,7 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
37068
37673
  'aria-haspopup': props.model && props.model.length > 0 ? true : false,
37069
37674
  'aria-expanded': mobileActiveState,
37070
37675
  'aria-controls': idState,
37071
- 'aria-label': ariaLabel$1('navigation'),
37676
+ 'aria-label': ariaLabel('navigation'),
37072
37677
  tabIndex: 0,
37073
37678
  onClick: function onClick(e) {
37074
37679
  return toggle(e);
@@ -37764,7 +38369,8 @@ var Menu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.for
37764
38369
  props: props,
37765
38370
  state: {
37766
38371
  id: idState,
37767
- visible: visibleState
38372
+ visible: visibleState,
38373
+ focused: focused
37768
38374
  }
37769
38375
  }),
37770
38376
  ptm = _MenuBase$setMetaData.ptm,
@@ -38063,7 +38669,7 @@ var Menu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.for
38063
38669
  'aria-disabled': item.disabled,
38064
38670
  'data-p-disabled': item.disabled
38065
38671
  }, ptm('action'));
38066
- var content = /*#__PURE__*/React__namespace.createElement("div", contentProps, /*#__PURE__*/React__namespace.createElement("a", actionProps, icon, label));
38672
+ var content = /*#__PURE__*/React__namespace.createElement("div", contentProps, /*#__PURE__*/React__namespace.createElement("a", actionProps, icon, label, /*#__PURE__*/React__namespace.createElement(Ripple, null)));
38067
38673
  if (item.template) {
38068
38674
  var defaultContentOptions = {
38069
38675
  onClick: function onClick(event) {
@@ -39117,7 +39723,7 @@ var Menubar = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.
39117
39723
  tabIndex: '0',
39118
39724
  'aria-haspopup': mobileActiveState && props.model && props.model.lentgh > 0 ? true : false,
39119
39725
  'aria-expanded': mobileActiveState,
39120
- 'aria-label': ariaLabel$1('navigation'),
39726
+ 'aria-label': ariaLabel('navigation'),
39121
39727
  'aria-controls': idState,
39122
39728
  role: 'button'
39123
39729
  }, "tabIndex", 0), "className", cx('button')), "onKeyDown", function onKeyDown(e) {
@@ -39336,7 +39942,8 @@ var classes$v = {
39336
39942
  var props = _ref5.itemProps;
39337
39943
  return classNames('p-multiselect-item', {
39338
39944
  'p-highlight': props.selected,
39339
- 'p-disabled': props.disabled
39945
+ 'p-disabled': props.disabled,
39946
+ 'p-focus': props.focusedOptionIndex === props.index
39340
39947
  });
39341
39948
  },
39342
39949
  checkboxContainer: 'p-checkbox p-component',
@@ -39349,7 +39956,7 @@ var classes$v = {
39349
39956
  },
39350
39957
  transition: 'p-connected-overlay'
39351
39958
  };
39352
- var styles$r = "\n@layer primereact {\n .p-multiselect {\n display: inline-flex;\n user-select: none;\n cursor: pointer;\n }\n \n .p-multiselect-trigger {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n cursor: pointer;\n }\n \n .p-multiselect-label-container {\n overflow: hidden;\n flex: 1 1 auto;\n cursor: pointer;\n }\n \n .p-multiselect-label {\n display: block;\n white-space: nowrap;\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n \n .p-multiselect-label-empty {\n overflow: hidden;\n visibility: hidden;\n }\n \n .p-multiselect-token {\n cursor: default;\n display: inline-flex;\n align-items: center;\n flex: 0 0 auto;\n }\n \n .p-multiselect-token-icon {\n cursor: pointer;\n }\n \n .p-multiselect .p-multiselect-panel {\n min-width: 100%;\n }\n \n .p-multiselect-inline.p-multiselect-panel {\n border: none;\n position: initial;\n background: none;\n box-shadow: none;\n }\n \n .p-multiselect-inline.p-multiselect-panel .p-multiselect-items {\n padding: 0;\n }\n \n .p-multiselect-flex.p-multiselect-panel .p-multiselect-items {\n display: flex;\n flex-wrap: wrap;\n }\n \n .p-multiselect-items-wrapper {\n overflow: auto;\n }\n \n .p-multiselect-items {\n margin: 0;\n padding: 0;\n list-style-type: none;\n }\n \n .p-multiselect-item {\n cursor: pointer;\n display: flex;\n align-items: center;\n font-weight: normal;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n }\n \n .p-multiselect-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n \n .p-multiselect-select-all-label {\n margin-left: 0.5rem;\n }\n \n .p-multiselect-filter-container {\n position: relative;\n flex: 1 1 auto;\n }\n \n .p-multiselect-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n }\n \n .p-multiselect-filter-container .p-inputtext {\n width: 100%;\n }\n \n .p-multiselect-close {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n overflow: hidden;\n position: relative;\n margin-left: auto;\n }\n \n .p-multiselect-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n }\n \n .p-fluid .p-multiselect {\n display: flex;\n }\n}\n";
39959
+ var styles$r = "\n@layer primereact {\n .p-multiselect {\n display: inline-flex;\n user-select: none;\n cursor: pointer;\n }\n \n .p-multiselect-trigger {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n cursor: pointer;\n }\n \n .p-multiselect-label-container {\n overflow: hidden;\n flex: 1 1 auto;\n cursor: pointer;\n }\n \n .p-multiselect-label {\n display: block;\n white-space: nowrap;\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n \n .p-multiselect-label-empty {\n overflow: hidden;\n visibility: hidden;\n }\n \n .p-multiselect-token {\n cursor: default;\n display: inline-flex;\n align-items: center;\n flex: 0 0 auto;\n }\n \n .p-multiselect-token-icon {\n cursor: pointer;\n }\n \n .p-multiselect .p-multiselect-panel {\n min-width: 100%;\n }\n \n .p-multiselect-inline.p-multiselect-panel {\n border: none;\n position: initial;\n background: none;\n box-shadow: none;\n }\n \n .p-multiselect-inline.p-multiselect-panel .p-multiselect-items {\n padding: 0;\n }\n \n .p-multiselect-flex.p-multiselect-panel .p-multiselect-items {\n display: flex;\n flex-wrap: wrap;\n }\n \n .p-multiselect-items-wrapper {\n overflow: auto;\n }\n \n .p-multiselect-items {\n margin: 0;\n padding: 0;\n list-style-type: none;\n }\n \n .p-multiselect-item {\n cursor: pointer;\n display: flex;\n align-items: center;\n font-weight: normal;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n outline: none;\n }\n \n .p-multiselect-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n \n .p-multiselect-select-all-label {\n margin-left: 0.5rem;\n }\n \n .p-multiselect-filter-container {\n position: relative;\n flex: 1 1 auto;\n }\n \n .p-multiselect-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n }\n \n .p-multiselect-filter-container .p-inputtext {\n width: 100%;\n }\n \n .p-multiselect-close {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n overflow: hidden;\n position: relative;\n margin-left: auto;\n }\n \n .p-multiselect-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n right: 3rem;\n }\n \n .p-fluid .p-multiselect {\n display: flex;\n }\n}\n";
39353
39960
  var inlineStyles$a = {
39354
39961
  root: function root(_ref7) {
39355
39962
  var props = _ref7.props;
@@ -39383,6 +39990,8 @@ var MultiSelectBase = ComponentBase.extend({
39383
39990
  filterBy: null,
39384
39991
  filterInputAutoFocus: true,
39385
39992
  filterLocale: undefined,
39993
+ selectOnFocus: false,
39994
+ autoOptionFocus: false,
39386
39995
  filterMatchMode: 'contains',
39387
39996
  filterPlaceholder: null,
39388
39997
  filterTemplate: null,
@@ -39606,7 +40215,9 @@ var MultiSelectItem = /*#__PURE__*/React__namespace.memo(function (props) {
39606
40215
  context: {
39607
40216
  selected: props.selected,
39608
40217
  disabled: props.disabled,
39609
- focused: focusedState
40218
+ focused: focusedState,
40219
+ focusedIndex: props.focusedIndex,
40220
+ index: props.index
39610
40221
  }
39611
40222
  });
39612
40223
  };
@@ -39618,22 +40229,11 @@ var MultiSelectItem = /*#__PURE__*/React__namespace.memo(function (props) {
39618
40229
  };
39619
40230
  var onClick = function onClick(event) {
39620
40231
  if (props.onClick) {
39621
- props.onClick({
39622
- originalEvent: event,
39623
- option: props.option
39624
- });
40232
+ props.onClick(event, props.option);
39625
40233
  }
39626
40234
  event.preventDefault();
39627
40235
  event.stopPropagation();
39628
40236
  };
39629
- var onKeyDown = function onKeyDown(event) {
39630
- if (props.onKeyDown) {
39631
- props.onKeyDown({
39632
- originalEvent: event,
39633
- option: props.option
39634
- });
39635
- }
39636
- };
39637
40237
  var checkboxIconProps = mergeProps({
39638
40238
  className: cx('checkboxIcon')
39639
40239
  }, getPTOptions('checkboxIcon'));
@@ -39642,7 +40242,7 @@ var MultiSelectItem = /*#__PURE__*/React__namespace.memo(function (props) {
39642
40242
  selected: props.selected
39643
40243
  }) : null;
39644
40244
  var content = props.template ? ObjectUtils.getJSXElement(props.template, props.option) : props.label;
39645
- var tabIndex = props.disabled ? null : props.tabIndex || 0;
40245
+ var tabIndex = props.disabled ? -1 : props.tabIndex;
39646
40246
  var checkboxContainerProps = mergeProps({
39647
40247
  className: cx('checkboxContainer')
39648
40248
  }, getPTOptions('checkboxContainer'));
@@ -39658,7 +40258,6 @@ var MultiSelectItem = /*#__PURE__*/React__namespace.memo(function (props) {
39658
40258
  })),
39659
40259
  style: props.style,
39660
40260
  onClick: onClick,
39661
- onKeyDown: onKeyDown,
39662
40261
  onFocus: onFocus,
39663
40262
  onBlur: onBlur,
39664
40263
  tabIndex: tabIndex,
@@ -39760,14 +40359,15 @@ var MultiSelectPanel = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__n
39760
40359
  var selected = props.isSelected(option);
39761
40360
  return /*#__PURE__*/React__namespace.createElement(MultiSelectItem, {
39762
40361
  hostName: props.hostName,
40362
+ index: j,
39763
40363
  key: optionKey,
40364
+ focusedOptionIndex: props.focusedOptionIndex,
39764
40365
  label: optionLabel,
39765
40366
  option: option,
39766
40367
  style: style,
39767
40368
  template: props.itemTemplate,
39768
40369
  selected: selected,
39769
40370
  onClick: props.onOptionSelect,
39770
- onKeyDown: props.onOptionKeyDown,
39771
40371
  tabIndex: tabIndex,
39772
40372
  disabled: disabled,
39773
40373
  className: props.itemClassName,
@@ -39818,13 +40418,14 @@ var MultiSelectPanel = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__n
39818
40418
  return /*#__PURE__*/React__namespace.createElement(MultiSelectItem, {
39819
40419
  hostName: props.hostName,
39820
40420
  key: optionKey,
40421
+ focusedOptionIndex: props.focusedOptionIndex,
39821
40422
  label: optionLabel,
39822
40423
  option: option,
39823
40424
  style: style,
40425
+ index: index,
39824
40426
  template: props.itemTemplate,
39825
40427
  selected: selected,
39826
40428
  onClick: props.onOptionSelect,
39827
- onKeyDown: props.onOptionKeyDown,
39828
40429
  tabIndex: tabIndex,
39829
40430
  disabled: disabled,
39830
40431
  className: props.itemClassName,
@@ -39953,19 +40554,35 @@ var MultiSelect = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
39953
40554
  var mergeProps = useMergeProps();
39954
40555
  var context = React__namespace.useContext(PrimeReactContext);
39955
40556
  var props = MultiSelectBase.getProps(inProps, context);
39956
- var _React$useState = React__namespace.useState(''),
40557
+ var _React$useState = React__namespace.useState(null),
39957
40558
  _React$useState2 = _slicedToArray(_React$useState, 2),
39958
- filterState = _React$useState2[0],
39959
- setFilterState = _React$useState2[1];
40559
+ focusedOptionIndex = _React$useState2[0],
40560
+ setFocusedOptionIndex = _React$useState2[1];
39960
40561
  var _React$useState3 = React__namespace.useState(false),
39961
40562
  _React$useState4 = _slicedToArray(_React$useState3, 2),
39962
- focusedState = _React$useState4[0],
39963
- setFocusedState = _React$useState4[1];
39964
- var _React$useState5 = React__namespace.useState(props.inline),
40563
+ clicked = _React$useState4[0],
40564
+ setClicked = _React$useState4[1];
40565
+ var _React$useState5 = React__namespace.useState(''),
39965
40566
  _React$useState6 = _slicedToArray(_React$useState5, 2),
39966
- overlayVisibleState = _React$useState6[0],
39967
- setOverlayVisibleState = _React$useState6[1];
40567
+ filterState = _React$useState6[0],
40568
+ setFilterState = _React$useState6[1];
40569
+ var _React$useState7 = React__namespace.useState(-1),
40570
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
40571
+ startRangeIndex = _React$useState8[0],
40572
+ setStartRangeIndex = _React$useState8[1];
40573
+ var _React$useState9 = React__namespace.useState(false),
40574
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
40575
+ focusedState = _React$useState10[0],
40576
+ setFocusedState = _React$useState10[1];
40577
+ var _React$useState11 = React__namespace.useState(props.inline),
40578
+ _React$useState12 = _slicedToArray(_React$useState11, 2),
40579
+ overlayVisibleState = _React$useState12[0],
40580
+ setOverlayVisibleState = _React$useState12[1];
39968
40581
  var elementRef = React__namespace.useRef(null);
40582
+ var searchValue = React__namespace.useRef(null);
40583
+ var searchTimeout = React__namespace.useRef(null);
40584
+ var firstHiddenFocusableElementOnOverlay = React__namespace.useRef(null);
40585
+ var lastHiddenFocusableElementOnOverlay = React__namespace.useRef(null);
39969
40586
  var inputRef = React__namespace.useRef(props.inputRef);
39970
40587
  var labelRef = React__namespace.useRef(null);
39971
40588
  var overlayRef = React__namespace.useRef(null);
@@ -40007,6 +40624,14 @@ var MultiSelect = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
40007
40624
  _useOverlayListener2 = _slicedToArray(_useOverlayListener, 2),
40008
40625
  bindOverlayListener = _useOverlayListener2[0],
40009
40626
  unbindOverlayListener = _useOverlayListener2[1];
40627
+ var onFirstHiddenFocus = function onFirstHiddenFocus(event) {
40628
+ var focusableEl = event.relatedTarget === inputRef.current ? DomHandler.getFirstFocusableElement(overlayRef.current, ':not([data-p-hidden-focusable="true"])') : inputRef.current;
40629
+ DomHandler.focus(focusableEl);
40630
+ };
40631
+ var onLastHiddenFocus = function onLastHiddenFocus(event) {
40632
+ var focusableEl = event.relatedTarget === inputRef.current ? DomHandler.getLastFocusableElement(overlayRef.current, ':not([data-p-hidden-focusable="true"])') : inputRef.current;
40633
+ DomHandler.focus(focusableEl);
40634
+ };
40010
40635
  var onPanelClick = function onPanelClick(event) {
40011
40636
  OverlayService.emit('overlay-click', {
40012
40637
  originalEvent: event,
@@ -40016,63 +40641,60 @@ var MultiSelect = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
40016
40641
  var allowOptionSelect = function allowOptionSelect() {
40017
40642
  return !props.selectionLimit || !props.value || props.value && props.value.length < props.selectionLimit;
40018
40643
  };
40019
- var onOptionSelect = function onOptionSelect(event) {
40020
- var originalEvent = event.originalEvent,
40021
- option = event.option;
40022
- if (props.disabled || isOptionDisabled(option)) {
40023
- return;
40024
- }
40025
- var optionValue = getOptionValue(option);
40026
- var isUsed = isOptionValueUsed(option);
40027
- var selected = isSelected(option);
40028
- var allowSelect = allowOptionSelect();
40029
- if (selected) {
40030
- updateModel(originalEvent, props.value.filter(function (val) {
40031
- return !ObjectUtils.equals(isUsed ? val : getOptionValue(val), optionValue, equalityKey);
40032
- }), option);
40033
- } else if (allowSelect) {
40034
- updateModel(originalEvent, [].concat(_toConsumableArray(props.value || []), [optionValue]), option);
40035
- }
40644
+ var findNextSelectedOptionIndex = function findNextSelectedOptionIndex(index) {
40645
+ var matchedOptionIndex = hasSelectedOption && index < visibleOptions.length - 1 ? visibleOptions.slice(index + 1).findIndex(function (option) {
40646
+ return isValidSelectedOption(option);
40647
+ }) : -1;
40648
+ return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : -1;
40036
40649
  };
40037
- var onOptionKeyDown = function onOptionKeyDown(event) {
40038
- var originalEvent = event.originalEvent;
40039
- var listItem = originalEvent.currentTarget;
40040
- switch (originalEvent.which) {
40041
- //down
40042
- case 40:
40043
- var nextItem = findNextItem(listItem);
40044
- nextItem && nextItem.focus();
40045
- originalEvent.preventDefault();
40046
- break;
40047
-
40048
- //up
40049
- case 38:
40050
- var prevItem = findPrevItem(listItem);
40051
- prevItem && prevItem.focus();
40052
- originalEvent.preventDefault();
40053
- break;
40054
-
40055
- //enter and space
40056
- case 13:
40057
- case 32:
40058
- onOptionSelect(event);
40059
- originalEvent.preventDefault();
40060
- break;
40061
-
40062
- //escape
40063
- case 27:
40064
- hide();
40065
- DomHandler.focus(inputRef.current);
40066
- break;
40650
+ var findPrevSelectedOptionIndex = function findPrevSelectedOptionIndex(index) {
40651
+ var matchedOptionIndex = hasSelectedOption && index > 0 ? ObjectUtils.findLastIndex(visibleOptions.slice(0, index), function (option) {
40652
+ return isValidSelectedOption(option);
40653
+ }) : -1;
40654
+ return matchedOptionIndex > -1 ? matchedOptionIndex : -1;
40655
+ };
40656
+ var findNearestSelectedOptionIndex = function findNearestSelectedOptionIndex(index) {
40657
+ var firstCheckUp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
40658
+ var matchedOptionIndex = -1;
40659
+ if (hasSelectedOption) {
40660
+ if (firstCheckUp) {
40661
+ matchedOptionIndex = findPrevSelectedOptionIndex(index);
40662
+ matchedOptionIndex = matchedOptionIndex === -1 ? findNextSelectedOptionIndex(index) : matchedOptionIndex;
40663
+ } else {
40664
+ matchedOptionIndex = findNextSelectedOptionIndex(index);
40665
+ matchedOptionIndex = matchedOptionIndex === -1 ? findPrevSelectedOptionIndex(index) : matchedOptionIndex;
40666
+ }
40067
40667
  }
40668
+ return matchedOptionIndex > -1 ? matchedOptionIndex : index;
40068
40669
  };
40069
- var findNextItem = function findNextItem(item) {
40070
- var nextItem = item.nextElementSibling;
40071
- return nextItem ? DomHandler.getAttribute(nextItem, 'data-p-disabled') === true || DomHandler.getAttribute(nextItem, 'data-pc-section') === 'itemgroup' ? findNextItem(nextItem) : nextItem : null;
40670
+ var onOptionSelectRange = function onOptionSelectRange(event) {
40671
+ var start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : -1;
40672
+ var end = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1;
40673
+ start === -1 && (start = findNearestSelectedOptionIndex(end, true));
40674
+ end === -1 && (end = findNearestSelectedOptionIndex(start));
40675
+ if (start !== -1 && end !== -1) {
40676
+ var rangeStart = Math.min(start, end);
40677
+ var rangeEnd = Math.max(start, end);
40678
+ var value = visibleOptions.slice(rangeStart, rangeEnd + 1).filter(function (option) {
40679
+ return isValidOption(option);
40680
+ }).map(function (option) {
40681
+ return getOptionValue(option);
40682
+ });
40683
+ updateModel(event, value);
40684
+ }
40072
40685
  };
40073
- var findPrevItem = function findPrevItem(item) {
40074
- var prevItem = item.previousElementSibling;
40075
- return prevItem ? DomHandler.getAttribute(prevItem, 'data-p-disabled') === true || DomHandler.getAttribute(prevItem, 'data-pc-section') === 'itemgroup' ? findPrevItem(prevItem) : prevItem : null;
40686
+ var onOptionSelect = function onOptionSelect(event, option) {
40687
+ var index = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1;
40688
+ if (props.disabled || isOptionDisabled(option)) {
40689
+ return;
40690
+ }
40691
+ var selected = isSelected(option);
40692
+ var value = null;
40693
+ if (selected) value = props.value.filter(function (val) {
40694
+ return !ObjectUtils.equals(val, getOptionValue(option), equalityKey);
40695
+ });else value = [].concat(_toConsumableArray(props.value || []), [getOptionValue(option)]);
40696
+ updateModel(event, value);
40697
+ index !== -1 && setFocusedOptionIndex(index);
40076
40698
  };
40077
40699
  var onClick = function onClick(event) {
40078
40700
  if (!props.inline && !props.disabled && !props.loading && !isPanelClicked(event) && DomHandler.getAttribute(event.target, 'data-pc-section') !== 'removetokenicon' && !isClearClicked(event)) {
@@ -40080,42 +40702,170 @@ var MultiSelect = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
40080
40702
  DomHandler.focus(inputRef.current);
40081
40703
  event.preventDefault();
40082
40704
  }
40705
+ setClicked(true);
40706
+ };
40707
+ var onArrowDownKey = function onArrowDownKey(event) {
40708
+ if (!overlayVisibleState) {
40709
+ show();
40710
+ props.editable && changeFocusedOptionIndex(event, findSelectedOptionIndex());
40711
+ } else {
40712
+ var optionIndex = focusedOptionIndex !== -1 ? findNextOptionIndex(focusedOptionIndex) : clicked ? findFirstOptionIndex() : findFirstFocusedOptionIndex();
40713
+ if (event.shiftKey) {
40714
+ onOptionSelectRange(event, startRangeIndex, optionIndex);
40715
+ }
40716
+ changeFocusedOptionIndex(event, optionIndex);
40717
+ }
40718
+ event.preventDefault();
40719
+ };
40720
+ var onArrowUpKey = function onArrowUpKey(event) {
40721
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
40722
+ if (event.altKey && !pressedInInputText) {
40723
+ if (focusedOptionIndex !== -1) {
40724
+ onOptionSelect(event, visibleOptions[focusedOptionIndex]);
40725
+ }
40726
+ overlayVisibleState && hide();
40727
+ event.preventDefault();
40728
+ } else {
40729
+ var optionIndex = focusedOptionIndex !== -1 ? findPrevOptionIndex(focusedOptionIndex) : clicked ? findLastOptionIndex() : findLastFocusedOptionIndex();
40730
+ changeFocusedOptionIndex(event, optionIndex);
40731
+ !overlayVisibleState && show();
40732
+ event.preventDefault();
40733
+ }
40734
+ };
40735
+ var onEnterKey = function onEnterKey(event) {
40736
+ if (!overlayVisibleState) {
40737
+ setFocusedOptionIndex(-1);
40738
+ onArrowDownKey(event);
40739
+ } else {
40740
+ if (focusedOptionIndex !== -1) {
40741
+ if (event.shiftKey) onOptionSelectRange(event, focusedOptionIndex);else onOptionSelect(event, visibleOptions[focusedOptionIndex]);
40742
+ }
40743
+ hide();
40744
+ }
40745
+ event.preventDefault();
40746
+ };
40747
+ var onHomeKey = function onHomeKey(event) {
40748
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
40749
+ var currentTarget = event.currentTarget;
40750
+ if (pressedInInputText) {
40751
+ var len = currentTarget.value.length;
40752
+ currentTarget.setSelectionRange(0, event.shiftKey ? len : 0);
40753
+ setFocusedOptionIndex(-1);
40754
+ } else {
40755
+ var metaKey = event.metaKey || event.ctrlKey;
40756
+ var optionIndex = findFirstOptionIndex();
40757
+ if (event.shiftKey && metaKey) {
40758
+ onOptionSelectRange(event, optionIndex, startRangeIndex);
40759
+ }
40760
+ changeFocusedOptionIndex(event, optionIndex);
40761
+ !overlayVisibleState && show();
40762
+ }
40763
+ event.preventDefault();
40764
+ };
40765
+ var onEndKey = function onEndKey(event) {
40766
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
40767
+ var currentTarget = event.currentTarget;
40768
+ if (pressedInInputText) {
40769
+ var len = currentTarget.value.length;
40770
+ currentTarget.setSelectionRange(event.shiftKey ? 0 : len, len);
40771
+ _readOnlyError("focusedOptionIndex");
40772
+ } else {
40773
+ var metaKey = event.metaKey || event.ctrlKey;
40774
+ var optionIndex = findLastOptionIndex();
40775
+ if (event.shiftKey && metaKey) {
40776
+ onOptionSelectRange(event, startRangeIndex, optionIndex);
40777
+ }
40778
+ changeFocusedOptionIndex(event, optionIndex);
40779
+ !overlayVisibleState && show();
40780
+ }
40781
+ event.preventDefault();
40782
+ };
40783
+ var onPageUpKey = function onPageUpKey(event) {
40784
+ event.preventDefault();
40785
+ };
40786
+ var onPageDownKey = function onPageDownKey(event) {
40787
+ event.preventDefault();
40788
+ };
40789
+ var onTabKey = function onTabKey(event) {
40790
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
40791
+ if (!pressedInInputText) {
40792
+ if (overlayVisibleState && hasFocusableElements()) {
40793
+ DomHandler.focus(event.shiftKey ? lastHiddenFocusableElementOnOverlay.current : firstHiddenFocusableElementOnOverlay.current);
40794
+ event.preventDefault();
40795
+ } else {
40796
+ if (focusedOptionIndex !== -1) {
40797
+ onOptionSelect(event, visibleOptions[focusedOptionIndex]);
40798
+ }
40799
+ overlayVisibleState && hide(filter);
40800
+ }
40801
+ }
40802
+ };
40803
+ var onShiftKey = function onShiftKey() {
40804
+ setStartRangeIndex(focusedOptionIndex);
40083
40805
  };
40084
40806
  var onKeyDown = function onKeyDown(event) {
40085
- switch (event.which) {
40086
- //down
40087
- case 40:
40807
+ var metaKey = event.metaKey || event.ctrlKey;
40808
+ switch (event.code) {
40809
+ case 'ArrowUp':
40088
40810
  if (props.inline) break;
40089
- if (!overlayVisibleState && event.altKey) {
40090
- show();
40091
- event.preventDefault();
40092
- }
40811
+ onArrowUpKey(event);
40093
40812
  break;
40094
-
40095
- //space
40096
- case 32:
40813
+ case 'ArrowDown':
40097
40814
  if (props.inline) break;
40098
- overlayVisibleState ? hide() : show();
40815
+ onArrowDownKey(event);
40816
+ break;
40817
+ case 'Space':
40818
+ case 'NumpadEnter':
40819
+ case 'Enter':
40820
+ if (props.inline) break;
40821
+ onEnterKey(event);
40822
+ break;
40823
+ case 'Home':
40824
+ if (props.inline) break;
40825
+ onHomeKey(event);
40099
40826
  event.preventDefault();
40100
40827
  break;
40101
-
40102
- //escape
40103
- case 27:
40828
+ case 'End':
40829
+ if (props.inline) break;
40830
+ onEndKey(event);
40831
+ event.preventDefault();
40832
+ break;
40833
+ case 'PageDown':
40834
+ onPageDownKey(event);
40835
+ break;
40836
+ case 'PageUp':
40837
+ onPageUpKey(event);
40838
+ break;
40839
+ case 'Escape':
40104
40840
  if (props.inline) break;
40105
40841
  hide();
40106
40842
  break;
40107
-
40108
- //tab
40109
- case 9:
40110
- if (overlayVisibleState) {
40111
- var firstFocusableElement = DomHandler.getFirstFocusableElement(overlayRef.current);
40112
- if (firstFocusableElement) {
40113
- firstFocusableElement.focus();
40114
- event.preventDefault();
40115
- }
40843
+ case 'Tab':
40844
+ onTabKey(event);
40845
+ break;
40846
+ case 'ShiftLeft':
40847
+ case 'ShiftRight':
40848
+ onShiftKey();
40849
+ break;
40850
+ default:
40851
+ if (event.code === 'KeyA' && metaKey) {
40852
+ var value = visibleOptions.filter(function (option) {
40853
+ return isValidOption(option);
40854
+ }).map(function (option) {
40855
+ return getOptionValue(option);
40856
+ });
40857
+ updateModel(event, value);
40858
+ event.preventDefault();
40859
+ break;
40860
+ }
40861
+ if (!metaKey && ObjectUtils.isPrintableCharacter(event.key)) {
40862
+ !overlayVisibleState && show();
40863
+ searchOptions(event);
40864
+ event.preventDefault();
40116
40865
  }
40117
40866
  break;
40118
40867
  }
40868
+ setClicked(false);
40119
40869
  };
40120
40870
  var onSelectAll = function onSelectAll(event) {
40121
40871
  if (props.onSelectAll) {
@@ -40201,9 +40951,13 @@ var MultiSelect = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
40201
40951
  };
40202
40952
  var show = function show() {
40203
40953
  setOverlayVisibleState(true);
40954
+ setFocusedOptionIndex(focusedOptionIndex !== -1 ? focusedOptionIndex : props.autoOptionFocus ? findFirstFocusedOptionIndex() : findSelectedOptionIndex());
40955
+ DomHandler.focus(inputRef.current);
40204
40956
  };
40205
40957
  var hide = function hide() {
40958
+ setFocusedOptionIndex(-1);
40206
40959
  setOverlayVisibleState(false);
40960
+ setClicked(false);
40207
40961
  };
40208
40962
  var onOverlayEnter = function onOverlayEnter(callback) {
40209
40963
  ZIndexUtils.set('overlay', overlayRef.current, context && context.autoZIndex || PrimeReact.autoZIndex, context && context.zIndex['overlay'] || PrimeReact.zIndex['overlay']);
@@ -40397,6 +41151,100 @@ var MultiSelect = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
40397
41151
  var isOptionValueUsed = function isOptionValueUsed(option) {
40398
41152
  return !props.useOptionAsValue && props.optionValue || option && option['value'] !== undefined;
40399
41153
  };
41154
+ var isOptionGroup = function isOptionGroup(option) {
41155
+ return props.optionGroupLabel && option.optionGroup && option.group;
41156
+ };
41157
+ var hasSelectedOption = function hasSelectedOption() {
41158
+ return ObjectUtils.isNotEmpty(props.value);
41159
+ };
41160
+ var hasFocusableElements = function hasFocusableElements() {
41161
+ return DomHandler.getFocusableElements(overlayRef.current, ':not([data-p-hidden-focusable="true"])').length > 0;
41162
+ };
41163
+ var isOptionMatched = function isOptionMatched(option) {
41164
+ var _getOptionLabel;
41165
+ return isValidOption(option) && ((_getOptionLabel = getOptionLabel(option)) === null || _getOptionLabel === void 0 ? void 0 : _getOptionLabel.toLocaleLowerCase(props.filterLocale).startsWith(searchValue.current.toLocaleLowerCase(props.filterLocale)));
41166
+ };
41167
+ var isValidOption = function isValidOption(option) {
41168
+ return ObjectUtils.isNotEmpty(option) && !(isOptionDisabled(option) || isOptionGroup(option));
41169
+ };
41170
+ var isValidSelectedOption = function isValidSelectedOption(option) {
41171
+ return isValidOption(option) && isSelected(option);
41172
+ };
41173
+ var findSelectedOptionIndex = function findSelectedOptionIndex() {
41174
+ return hasSelectedOption ? visibleOptions === null || visibleOptions === void 0 ? void 0 : visibleOptions.findIndex(function (option) {
41175
+ return isValidSelectedOption(option);
41176
+ }) : -1;
41177
+ };
41178
+ var findFirstFocusedOptionIndex = function findFirstFocusedOptionIndex() {
41179
+ var selectedIndex = findSelectedOptionIndex();
41180
+ return selectedIndex < 0 ? findFirstOptionIndex() : selectedIndex;
41181
+ };
41182
+ var findLastFocusedOptionIndex = function findLastFocusedOptionIndex() {
41183
+ var selectedIndex = findSelectedOptionIndex();
41184
+ return selectedIndex < 0 ? findLastOptionIndex() : selectedIndex;
41185
+ };
41186
+ var findFirstOptionIndex = function findFirstOptionIndex() {
41187
+ return visibleOptions.findIndex(function (option) {
41188
+ return isValidOption(option);
41189
+ });
41190
+ };
41191
+ var findLastOptionIndex = function findLastOptionIndex() {
41192
+ return ObjectUtils.findLastIndex(visibleOptions, function (option) {
41193
+ return isValidOption(option);
41194
+ });
41195
+ };
41196
+ var findNextOptionIndex = function findNextOptionIndex(index) {
41197
+ var matchedOptionIndex = index < visibleOptions.length - 1 ? visibleOptions.slice(index + 1).findIndex(function (option) {
41198
+ return isValidOption(option);
41199
+ }) : -1;
41200
+ return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
41201
+ };
41202
+ var findPrevOptionIndex = function findPrevOptionIndex(index) {
41203
+ var matchedOptionIndex = index > 0 ? ObjectUtils.findLastIndex(visibleOptions.slice(0, index), function (option) {
41204
+ return isValidOption(option);
41205
+ }) : -1;
41206
+ return matchedOptionIndex > -1 ? matchedOptionIndex : index;
41207
+ };
41208
+ var searchOptions = function searchOptions(event) {
41209
+ searchValue.current = (searchValue.current || '') + event.key;
41210
+ var optionIndex = -1;
41211
+ if (ObjectUtils.isNotEmpty(searchValue.current)) {
41212
+ if (focusedOptionIndex !== -1) {
41213
+ optionIndex = visibleOptions.slice(focusedOptionIndex).findIndex(function (option) {
41214
+ return isOptionMatched(option);
41215
+ });
41216
+ optionIndex = optionIndex === -1 ? visibleOptions.slice(0, focusedOptionIndex).findIndex(function (option) {
41217
+ return isOptionMatched(option);
41218
+ }) : optionIndex + focusedOptionIndex;
41219
+ } else {
41220
+ optionIndex = visibleOptions.findIndex(function (option) {
41221
+ return isOptionMatched(option);
41222
+ });
41223
+ }
41224
+ if (optionIndex === -1 && focusedOptionIndex === -1) {
41225
+ optionIndex = findFirstFocusedOptionIndex();
41226
+ }
41227
+ if (optionIndex !== -1) {
41228
+ changeFocusedOptionIndex(event, optionIndex);
41229
+ }
41230
+ }
41231
+ if (searchTimeout.current) {
41232
+ clearTimeout(searchTimeout.current);
41233
+ }
41234
+ searchTimeout.current = setTimeout(function () {
41235
+ searchValue.current = '';
41236
+ searchTimeout.current = null;
41237
+ }, 500);
41238
+ };
41239
+ var changeFocusedOptionIndex = function changeFocusedOptionIndex(event, index) {
41240
+ if (focusedOptionIndex !== index) {
41241
+ setFocusedOptionIndex(index);
41242
+ scrollInView();
41243
+ if (props.selectOnFocus) {
41244
+ onOptionSelect(event, visibleOptions[index], false);
41245
+ }
41246
+ }
41247
+ };
40400
41248
  var removeChip = function removeChip(event, item) {
40401
41249
  var value = props.value.filter(function (val) {
40402
41250
  return !ObjectUtils.equals(val, item, equalityKey);
@@ -40537,6 +41385,7 @@ var MultiSelect = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
40537
41385
  setTimeout(function () {
40538
41386
  props.overlayVisible ? show() : hide();
40539
41387
  }, 100);
41388
+ // eslint-disable-next-line react-hooks/exhaustive-deps
40540
41389
  }, [props.overlayVisible]);
40541
41390
  useUpdateEffect(function () {
40542
41391
  if (overlayVisibleState && filterState && hasFilter) {
@@ -40621,11 +41470,31 @@ var MultiSelect = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
40621
41470
  role: 'listbox',
40622
41471
  'aria-expanded': overlayVisibleState,
40623
41472
  disabled: props.disabled,
40624
- tabIndex: props.tabIndex
41473
+ tabIndex: !props.disabled ? props.tabIndex : -1
40625
41474
  }, ariaProps), ptm('input'));
41475
+ var firstHiddenElementProps = mergeProps({
41476
+ ref: firstHiddenFocusableElementOnOverlay,
41477
+ role: 'presentation',
41478
+ 'aria-hidden': true,
41479
+ className: 'p-hidden-accessible p-hidden-focusable',
41480
+ tabIndex: '0',
41481
+ onFocus: onFirstHiddenFocus,
41482
+ 'data-p-hidden-accessible': true,
41483
+ 'data-p-hidden-focusable': true
41484
+ }, ptm('hiddenFirstFocusableEl'));
41485
+ var lastHiddenElementProps = mergeProps({
41486
+ ref: lastHiddenFocusableElementOnOverlay,
41487
+ role: 'presentation',
41488
+ 'aria-hidden': true,
41489
+ className: 'p-hidden-accessible p-hidden-focusable',
41490
+ tabIndex: '0',
41491
+ onFocus: onLastHiddenFocus,
41492
+ 'data-p-hidden-accessible': true,
41493
+ 'data-p-hidden-focusable': true
41494
+ }, ptm('hiddenLastFocusableEl'));
40626
41495
  return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement("div", rootProps, /*#__PURE__*/React__namespace.createElement("div", hiddenInputWrapperProps, /*#__PURE__*/React__namespace.createElement("input", _extends({}, inputProps, {
40627
41496
  readOnly: true
40628
- }))), !props.inline && /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, label, clearIcon, triggerIcon), /*#__PURE__*/React__namespace.createElement(MultiSelectPanel, _extends({
41497
+ }))), !props.inline && /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, label, clearIcon, triggerIcon), /*#__PURE__*/React__namespace.createElement("span", firstHiddenElementProps), /*#__PURE__*/React__namespace.createElement(MultiSelectPanel, _extends({
40629
41498
  hostName: "MultiSelect",
40630
41499
  ref: overlayRef,
40631
41500
  visibleOptions: visibleOptions
@@ -40633,6 +41502,8 @@ var MultiSelect = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
40633
41502
  onClick: onPanelClick,
40634
41503
  onOverlayHide: hide,
40635
41504
  filterValue: filterState,
41505
+ focusedOptionIndex: focusedOptionIndex,
41506
+ setFocusedOptionIndex: setFocusedOptionIndex,
40636
41507
  hasFilter: hasFilter,
40637
41508
  onFilterInputChange: onFilterInputChange,
40638
41509
  resetFilter: resetFilter,
@@ -40649,7 +41520,6 @@ var MultiSelect = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
40649
41520
  isAllSelected: isAllSelected,
40650
41521
  onOptionSelect: onOptionSelect,
40651
41522
  allowOptionSelect: allowOptionSelect,
40652
- onOptionKeyDown: onOptionKeyDown,
40653
41523
  "in": overlayVisibleState,
40654
41524
  onEnter: onOverlayEnter,
40655
41525
  onEntered: onOverlayEntered,
@@ -40660,7 +41530,7 @@ var MultiSelect = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
40660
41530
  sx: sx,
40661
41531
  isUnstyled: isUnstyled,
40662
41532
  metaData: metaData
40663
- }))), hasTooltip && /*#__PURE__*/React__namespace.createElement(Tooltip, _extends({
41533
+ })), /*#__PURE__*/React__namespace.createElement("span", lastHiddenElementProps)), hasTooltip && /*#__PURE__*/React__namespace.createElement(Tooltip, _extends({
40664
41534
  target: elementRef,
40665
41535
  content: props.tooltip
40666
41536
  }, props.tooltipOptions, {
@@ -40865,7 +41735,7 @@ var MultiStateCheckbox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React_
40865
41735
  var otherProps = MultiStateCheckboxBase.getOtherProps(props);
40866
41736
  var ariaProps = ObjectUtils.reduceKeys(otherProps, DomHandler.ARIA_PROPS);
40867
41737
  var icon = createIcon();
40868
- var ariaValueLabel = !!selectedOption ? getOptionAriaLabel(selectedOption) : ariaLabel$1('nullLabel');
41738
+ var ariaValueLabel = !!selectedOption ? getOptionAriaLabel(selectedOption) : ariaLabel('nullLabel');
40869
41739
  var ariaChecked = !!selectedOption ? 'true' : 'false';
40870
41740
  var rootProps = mergeProps({
40871
41741
  ref: elementRef,
@@ -41074,7 +41944,7 @@ var OrderListControls = /*#__PURE__*/React__namespace.memo(function (props) {
41074
41944
  icon: moveUpIcon,
41075
41945
  onClick: moveUp,
41076
41946
  disabled: isMoveDisabled,
41077
- 'aria-label': ariaLabel$1('moveUp'),
41947
+ 'aria-label': ariaLabel('moveUp'),
41078
41948
  __parentMetadata: {
41079
41949
  parent: props.metaData
41080
41950
  }
@@ -41085,7 +41955,7 @@ var OrderListControls = /*#__PURE__*/React__namespace.memo(function (props) {
41085
41955
  icon: moveTopIcon,
41086
41956
  onClick: moveTop,
41087
41957
  disabled: isMoveDisabled,
41088
- 'aria-label': ariaLabel$1('moveTop'),
41958
+ 'aria-label': ariaLabel('moveTop'),
41089
41959
  __parentMetadata: {
41090
41960
  parent: props.metaData
41091
41961
  }
@@ -41096,7 +41966,7 @@ var OrderListControls = /*#__PURE__*/React__namespace.memo(function (props) {
41096
41966
  icon: moveDownIcon,
41097
41967
  onClick: moveDown,
41098
41968
  disabled: isMoveDisabled,
41099
- 'aria-label': ariaLabel$1('moveDown'),
41969
+ 'aria-label': ariaLabel('moveDown'),
41100
41970
  __parentMetadata: {
41101
41971
  parent: props.metaData
41102
41972
  }
@@ -41107,7 +41977,7 @@ var OrderListControls = /*#__PURE__*/React__namespace.memo(function (props) {
41107
41977
  icon: moveBottomIcon,
41108
41978
  onClick: moveBottom,
41109
41979
  disabled: isMoveDisabled,
41110
- 'aria-label': ariaLabel$1('moveBottom'),
41980
+ 'aria-label': ariaLabel('moveBottom'),
41111
41981
  __parentMetadata: {
41112
41982
  parent: props.metaData
41113
41983
  }
@@ -42885,7 +43755,7 @@ var PanelMenuSub = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__names
42885
43755
  tabIndex: '-1',
42886
43756
  'aria-hidden': true
42887
43757
  }, getPTOptions(processedItem, 'action', index));
42888
- var content = /*#__PURE__*/React__namespace.createElement("a", actionProps, submenuIcon, icon, label);
43758
+ var content = /*#__PURE__*/React__namespace.createElement("a", actionProps, submenuIcon, icon, label, /*#__PURE__*/React__namespace.createElement(Ripple, null));
42889
43759
  if (item.template) {
42890
43760
  var defaultContentOptions = {
42891
43761
  className: linkClassName,
@@ -44068,17 +44938,19 @@ var Password = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
44068
44938
  var hideIconProps = mergeProps(ptm('hideIcon'));
44069
44939
  var showIconProps = mergeProps(ptm('showIcon'));
44070
44940
  if (unmaskedState) {
44071
- icon = props.hideIcon || /*#__PURE__*/React__namespace.createElement(EyeSlashIcon, hideIconProps);
44941
+ icon = props.hideIcon || /*#__PURE__*/React__namespace.createElement(EyeSlashIcon, _extends({}, hideIconProps, {
44942
+ onClick: toggleMask
44943
+ }));
44072
44944
  } else {
44073
- icon = props.showIcon || /*#__PURE__*/React__namespace.createElement(EyeIcon, showIconProps);
44945
+ icon = props.showIcon || /*#__PURE__*/React__namespace.createElement(EyeIcon, _extends({}, showIconProps, {
44946
+ onClick: toggleMask
44947
+ }));
44074
44948
  }
44075
44949
  var eyeIcon = IconUtils.getJSXIcon(icon, unmaskedState ? _objectSpread$x({}, hideIconProps) : _objectSpread$x({}, showIconProps), {
44076
44950
  props: props
44077
44951
  });
44078
44952
  if (props.toggleMask) {
44079
- var content = /*#__PURE__*/React__namespace.createElement("i", {
44080
- onClick: toggleMask
44081
- }, " ", eyeIcon, " ");
44953
+ var content = eyeIcon;
44082
44954
  if (props.icon) {
44083
44955
  var defaultIconOptions = {
44084
44956
  onClick: toggleMask,
@@ -44397,7 +45269,7 @@ var PickListControls = /*#__PURE__*/React__namespace.memo(function (props) {
44397
45269
  onClick: moveUp,
44398
45270
  pt: ptm('moveUpButton'),
44399
45271
  unstyled: unstyled,
44400
- "aria-label": ariaLabel$1('moveUp'),
45272
+ "aria-label": ariaLabel('moveUp'),
44401
45273
  __parentMetadata: {
44402
45274
  parent: props.metaData
44403
45275
  }
@@ -44408,7 +45280,7 @@ var PickListControls = /*#__PURE__*/React__namespace.memo(function (props) {
44408
45280
  onClick: moveTop,
44409
45281
  pt: ptm('moveTopButton'),
44410
45282
  unstyled: unstyled,
44411
- "aria-label": ariaLabel$1('moveTop'),
45283
+ "aria-label": ariaLabel('moveTop'),
44412
45284
  __parentMetadata: {
44413
45285
  parent: props.metaData
44414
45286
  }
@@ -44419,7 +45291,7 @@ var PickListControls = /*#__PURE__*/React__namespace.memo(function (props) {
44419
45291
  onClick: moveDown,
44420
45292
  pt: ptm('moveDownButton'),
44421
45293
  unstyled: unstyled,
44422
- "aria-label": ariaLabel$1('moveDown'),
45294
+ "aria-label": ariaLabel('moveDown'),
44423
45295
  __parentMetadata: {
44424
45296
  parent: props.metaData
44425
45297
  }
@@ -44430,7 +45302,7 @@ var PickListControls = /*#__PURE__*/React__namespace.memo(function (props) {
44430
45302
  onClick: moveBottom,
44431
45303
  pt: ptm('moveBottomButton'),
44432
45304
  unstyled: unstyled,
44433
- "aria-label": ariaLabel$1('moveBottom'),
45305
+ "aria-label": ariaLabel('moveBottom'),
44434
45306
  __parentMetadata: {
44435
45307
  parent: props.metaData
44436
45308
  }
@@ -44774,7 +45646,7 @@ var PickListTransferControls = /*#__PURE__*/React__namespace.memo(function (prop
44774
45646
  onClick: moveRight,
44775
45647
  pt: ptm('moveToTargetButton'),
44776
45648
  unstyled: unstyled,
44777
- "aria-label": ariaLabel$1('moveToTarget'),
45649
+ "aria-label": ariaLabel('moveToTarget'),
44778
45650
  __parentMetadata: {
44779
45651
  parent: props.metaData
44780
45652
  }
@@ -44785,7 +45657,7 @@ var PickListTransferControls = /*#__PURE__*/React__namespace.memo(function (prop
44785
45657
  onClick: moveAllRight,
44786
45658
  pt: ptm('moveAllToTargetButton'),
44787
45659
  unstyled: unstyled,
44788
- "aria-label": ariaLabel$1('moveAllToTarget'),
45660
+ "aria-label": ariaLabel('moveAllToTarget'),
44789
45661
  __parentMetadata: {
44790
45662
  parent: props.metaData
44791
45663
  }
@@ -44796,7 +45668,7 @@ var PickListTransferControls = /*#__PURE__*/React__namespace.memo(function (prop
44796
45668
  onClick: moveLeft,
44797
45669
  pt: ptm('moveToSourceButton'),
44798
45670
  unstyled: unstyled,
44799
- "aria-label": ariaLabel$1('moveToSource'),
45671
+ "aria-label": ariaLabel('moveToSource'),
44800
45672
  __parentMetadata: {
44801
45673
  parent: props.metaData
44802
45674
  }
@@ -44807,7 +45679,7 @@ var PickListTransferControls = /*#__PURE__*/React__namespace.memo(function (prop
44807
45679
  onClick: moveAllLeft,
44808
45680
  pt: ptm('moveAllToSourceButton'),
44809
45681
  unstyled: unstyled,
44810
- "aria-label": ariaLabel$1('moveAllToSource'),
45682
+ "aria-label": ariaLabel('moveAllToSource'),
44811
45683
  __parentMetadata: {
44812
45684
  parent: props.metaData
44813
45685
  }
@@ -45745,6 +46617,7 @@ var RadioButton = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
45745
46617
  onFocus: onFocus,
45746
46618
  onBlur: onBlur,
45747
46619
  onKeyDown: onKeyDown,
46620
+ checked: props.checked,
45748
46621
  disabled: props.disabled,
45749
46622
  required: props.required,
45750
46623
  tabIndex: props.tabIndex
@@ -45775,9 +46648,14 @@ RadioButton.displayName = 'RadioButton';
45775
46648
  var classes$l = {
45776
46649
  onIcon: 'p-rating-icon',
45777
46650
  item: function item(_ref) {
45778
- var active = _ref.active;
46651
+ var active = _ref.active,
46652
+ value = _ref.value,
46653
+ isFocusVisibleItem = _ref.isFocusVisibleItem,
46654
+ focusedOptionIndex = _ref.focusedOptionIndex;
45779
46655
  return classNames('p-rating-item', {
45780
46656
  'p-rating-item-active': active
46657
+ }, {
46658
+ 'p-focus': value === focusedOptionIndex && isFocusVisibleItem
45781
46659
  });
45782
46660
  },
45783
46661
  cancelIcon: 'p-rating-icon p-rating-cancel',
@@ -45825,6 +46703,14 @@ var Rating = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.f
45825
46703
  var mergeProps = useMergeProps();
45826
46704
  var context = React__namespace.useContext(PrimeReactContext);
45827
46705
  var props = RatingBase.getProps(inProps, context);
46706
+ var _React$useState = React__namespace.useState(-1),
46707
+ _React$useState2 = _slicedToArray(_React$useState, 2),
46708
+ focusedOptionIndex = _React$useState2[0],
46709
+ setFocusedOptionIndex = _React$useState2[1];
46710
+ var _React$useState3 = React__namespace.useState(true),
46711
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
46712
+ isFocusVisibleItem = _React$useState4[0];
46713
+ _React$useState4[1];
45828
46714
  var elementRef = React__namespace.useRef(null);
45829
46715
  var _RatingBase$setMetaDa = RatingBase.setMetaData({
45830
46716
  props: props
@@ -45862,6 +46748,7 @@ var Rating = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.f
45862
46748
  }
45863
46749
  });
45864
46750
  }
46751
+ setFocusedOptionIndex(i);
45865
46752
  event.preventDefault();
45866
46753
  };
45867
46754
  var clear = function clear(event) {
@@ -45885,10 +46772,30 @@ var Rating = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.f
45885
46772
  event.preventDefault();
45886
46773
  };
45887
46774
  var onStarKeyDown = function onStarKeyDown(event, value) {
45888
- if (event.key === 'Enter') {
45889
- rate(event, value);
46775
+ switch (event.key) {
46776
+ case 'Enter':
46777
+ case 'Space':
46778
+ rate(event, value);
46779
+ event.preventDefault();
46780
+ break;
46781
+ case 'ArrowLeft':
46782
+ case 'ArrowUp':
46783
+ event.preventDefault();
46784
+ rate(event, props.value - 1 < 1 ? props.stars : props.value - 1);
46785
+ break;
46786
+ case 'ArrowRight':
46787
+ case 'ArrowDown':
46788
+ event.preventDefault();
46789
+ rate(event, props.value + 1 > props.stars ? 1 : props.value + 1);
46790
+ break;
45890
46791
  }
45891
46792
  };
46793
+ var _onFocus = function onFocus(event, value) {
46794
+ setFocusedOptionIndex(value);
46795
+ };
46796
+ var _onBlur = function onBlur(event) {
46797
+ setFocusedOptionIndex(-1);
46798
+ };
45892
46799
  var onCancelKeyDown = function onCancelKeyDown(event) {
45893
46800
  if (event.key === 'Enter') {
45894
46801
  clear(event);
@@ -45918,14 +46825,24 @@ var Rating = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.f
45918
46825
  var itemProps = mergeProps({
45919
46826
  key: value,
45920
46827
  className: cx('item', {
45921
- active: active
46828
+ active: active,
46829
+ focusedOptionIndex: focusedOptionIndex,
46830
+ isFocusVisibleItem: isFocusVisibleItem,
46831
+ value: value
45922
46832
  }),
46833
+ 'data-p-focused': value === focusedOptionIndex,
45923
46834
  tabIndex: tabIndex,
45924
46835
  onClick: function onClick(e) {
45925
46836
  return rate(e, value);
45926
46837
  },
45927
46838
  onKeyDown: function onKeyDown(e) {
45928
46839
  return onStarKeyDown(e, value);
46840
+ },
46841
+ onFocus: function onFocus(e) {
46842
+ return _onFocus(e, value);
46843
+ },
46844
+ onBlur: function onBlur(e) {
46845
+ return _onBlur();
45929
46846
  }
45930
46847
  }, getPTOptions(props.value, 'item'));
45931
46848
  return /*#__PURE__*/React__namespace.createElement("div", _extends({
@@ -46534,7 +47451,8 @@ var SelectButtonItem = /*#__PURE__*/React__namespace.memo(function (props) {
46534
47451
  }
46535
47452
  });
46536
47453
  };
46537
- var onClick = function onClick(event) {
47454
+ var _onClick = function onClick(event, index) {
47455
+ props.setFocusedIndex(index);
46538
47456
  if (props.onClick) {
46539
47457
  props.onClick({
46540
47458
  originalEvent: event,
@@ -46548,13 +47466,46 @@ var SelectButtonItem = /*#__PURE__*/React__namespace.memo(function (props) {
46548
47466
  var onBlur = function onBlur() {
46549
47467
  setFocusedState(false);
46550
47468
  };
46551
- var onKeyDown = function onKeyDown(event) {
46552
- var keyCode = event.which;
46553
- if (keyCode === 32) {
46554
- onClick(event);
46555
- event.preventDefault();
47469
+ var _onKeyDown = function onKeyDown(event, index) {
47470
+ switch (event.code) {
47471
+ case 'Space':
47472
+ {
47473
+ _onClick(event, index);
47474
+ event.preventDefault();
47475
+ break;
47476
+ }
47477
+ case 'ArrowDown':
47478
+ case 'ArrowRight':
47479
+ {
47480
+ changeTabIndexes(event, 'next');
47481
+ event.preventDefault();
47482
+ break;
47483
+ }
47484
+ case 'ArrowUp':
47485
+ case 'ArrowLeft':
47486
+ {
47487
+ changeTabIndexes(event, 'prev');
47488
+ event.preventDefault();
47489
+ break;
47490
+ }
46556
47491
  }
46557
47492
  };
47493
+ var changeTabIndexes = function changeTabIndexes(event, direction) {
47494
+ var firstTabableChild, index;
47495
+ for (var i = 0; i <= props.elementRef.current.children.length - 1; i++) {
47496
+ if (props.elementRef.current.children[i].getAttribute('tabindex') === '0') firstTabableChild = {
47497
+ elem: props.elementRef.current.children[i],
47498
+ index: i
47499
+ };
47500
+ }
47501
+ if (direction === 'prev') {
47502
+ if (firstTabableChild.index === 0) index = props.elementRef.current.children.length - 1;else index = firstTabableChild.index - 1;
47503
+ } else {
47504
+ if (firstTabableChild.index === props.elementRef.current.children.length - 1) index = 0;else index = firstTabableChild.index + 1;
47505
+ }
47506
+ props.setFocusedIndex(index);
47507
+ props.elementRef.current.children[index].focus();
47508
+ };
46558
47509
  var createContent = function createContent() {
46559
47510
  var labelProps = mergeProps({
46560
47511
  className: cx('label')
@@ -46570,9 +47521,14 @@ var SelectButtonItem = /*#__PURE__*/React__namespace.memo(function (props) {
46570
47521
  role: 'button',
46571
47522
  'aria-label': props.label,
46572
47523
  'aria-pressed': props.selected,
46573
- onClick: onClick,
46574
- onKeyDown: onKeyDown,
47524
+ onClick: function onClick(event) {
47525
+ return _onClick(event, props.index);
47526
+ },
47527
+ onKeyDown: function onKeyDown(event) {
47528
+ return _onKeyDown(event, props.index);
47529
+ },
46575
47530
  tabIndex: props.tabIndex,
47531
+ 'aria-disabled': props.disabled,
46576
47532
  onFocus: onFocus,
46577
47533
  onBlur: onBlur
46578
47534
  }, getPTOptions('button'));
@@ -46584,6 +47540,10 @@ var SelectButton = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__names
46584
47540
  var mergeProps = useMergeProps();
46585
47541
  var context = React__namespace.useContext(PrimeReactContext);
46586
47542
  var props = SelectButtonBase.getProps(inProps, context);
47543
+ var _React$useState = React__namespace.useState(0),
47544
+ _React$useState2 = _slicedToArray(_React$useState, 2),
47545
+ focusedIndex = _React$useState2[0],
47546
+ setFocusedIndex = _React$useState2[1];
46587
47547
  var elementRef = React__namespace.useRef(null);
46588
47548
  var _SelectButtonBase$set = SelectButtonBase.setMetaData({
46589
47549
  props: props
@@ -46656,7 +47616,7 @@ var SelectButton = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__names
46656
47616
  return props.options.map(function (option, index) {
46657
47617
  var isDisabled = props.disabled || isOptionDisabled(option);
46658
47618
  var optionLabel = getOptionLabel(option);
46659
- var tabIndex = isDisabled ? null : 0;
47619
+ var tabIndex = index === focusedIndex ? '0' : '-1';
46660
47620
  var selected = isSelected(option);
46661
47621
  var key = optionLabel + '_' + index;
46662
47622
  return /*#__PURE__*/React__namespace.createElement(SelectButtonItem, {
@@ -46665,13 +47625,16 @@ var SelectButton = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__names
46665
47625
  label: optionLabel,
46666
47626
  className: option.className,
46667
47627
  option: option,
47628
+ setFocusedIndex: setFocusedIndex,
46668
47629
  onClick: onOptionClick,
46669
47630
  template: props.itemTemplate,
46670
47631
  selected: selected,
46671
47632
  tabIndex: tabIndex,
47633
+ index: index,
46672
47634
  disabled: isDisabled,
46673
47635
  ptm: ptm,
46674
- cx: cx
47636
+ cx: cx,
47637
+ elementRef: elementRef
46675
47638
  });
46676
47639
  });
46677
47640
  }
@@ -47763,10 +48726,31 @@ var Slider = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.f
47763
48726
  }
47764
48727
  handleIndex.current = index;
47765
48728
  var key = event.key;
47766
- if (key === 'ArrowRight' || key === 'ArrowUp') {
47767
- spin(event, 1);
47768
- } else if (key === 'ArrowLeft' || key === 'ArrowDown') {
47769
- spin(event, -1);
48729
+ switch (key) {
48730
+ case 'ArrowRight':
48731
+ case 'ArrowUp':
48732
+ spin(event, 1);
48733
+ break;
48734
+ case 'ArrowLeft':
48735
+ case 'ArrowDown':
48736
+ spin(event, -1);
48737
+ break;
48738
+ case 'PageUp':
48739
+ spin(event, 10);
48740
+ event.preventDefault();
48741
+ break;
48742
+ case 'PageDown':
48743
+ spin(event, -10);
48744
+ event.preventDefault();
48745
+ break;
48746
+ case 'Home':
48747
+ spin(event, -value);
48748
+ event.preventDefault();
48749
+ break;
48750
+ case 'End':
48751
+ spin(event, props.max);
48752
+ event.preventDefault();
48753
+ break;
47770
48754
  }
47771
48755
  };
47772
48756
  var onBarClick = function onBarClick(event) {
@@ -49969,6 +50953,7 @@ var Splitter = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
49969
50953
  var panelSize = function panelSize(sizes, index) {
49970
50954
  return index in sizes ? sizes[index] : props.children && [].concat(props.children)[index].props.size || 100 / childrenLength;
49971
50955
  };
50956
+ var horizontal = props.layout === 'horizontal';
49972
50957
  var metaData = {
49973
50958
  props: props,
49974
50959
  state: {
@@ -50063,10 +51048,9 @@ var Splitter = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
50063
51048
  if (stateString) setPanelSizes(JSON.parse(stateString));
50064
51049
  }, [getStorage, props.stateKey]);
50065
51050
  var onResizeStart = function onResizeStart(event, index, isKeyDown) {
50066
- gutterRef.current = gutterRefs.current[index];
50067
51051
  var pageX = event.type === 'touchstart' ? event.touches[0].pageX : event.pageX;
50068
51052
  var pageY = event.type === 'touchstart' ? event.touches[0].pageY : event.pageY;
50069
- var horizontal = props.layout === 'horizontal';
51053
+ gutterRef.current = gutterRefs.current[index];
50070
51054
  size.current = horizontal ? DomHandler.getWidth(elementRef.current) : DomHandler.getHeight(elementRef.current);
50071
51055
  dragging.current = true;
50072
51056
  startPos.current = horizontal ? pageX : pageY;
@@ -50091,7 +51075,6 @@ var Splitter = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
50091
51075
  var step = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
50092
51076
  var isKeyDown = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
50093
51077
  var newPos, newNextPanelSize, newPrevPanelSize;
50094
- var horizontal = props.layout === 'horizontal';
50095
51078
  var pageX = event.type === 'touchmove' ? event.touches[0].pageX : event.pageX;
50096
51079
  var pageY = event.type === 'touchmove' ? event.touches[0].pageY : event.pageY;
50097
51080
  if (isKeyDown) {
@@ -50141,7 +51124,7 @@ var Splitter = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
50141
51124
  switch (event.code) {
50142
51125
  case 'ArrowLeft':
50143
51126
  {
50144
- if (props.layout === 'horizontal') {
51127
+ if (horizontal) {
50145
51128
  setTimer(event, index, props.step * -1);
50146
51129
  }
50147
51130
  event.preventDefault();
@@ -50149,7 +51132,7 @@ var Splitter = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
50149
51132
  }
50150
51133
  case 'ArrowRight':
50151
51134
  {
50152
- if (props.layout === 'horizontal') {
51135
+ if (horizontal) {
50153
51136
  setTimer(event, index, props.step);
50154
51137
  }
50155
51138
  event.preventDefault();
@@ -50157,7 +51140,7 @@ var Splitter = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
50157
51140
  }
50158
51141
  case 'ArrowDown':
50159
51142
  {
50160
- if (props.layout === 'vertical') {
51143
+ if (!horizontal) {
50161
51144
  setTimer(event, index, props.step * -1);
50162
51145
  }
50163
51146
  event.preventDefault();
@@ -50165,7 +51148,7 @@ var Splitter = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
50165
51148
  }
50166
51149
  case 'ArrowUp':
50167
51150
  {
50168
- if (props.layout === 'vertical') {
51151
+ if (!horizontal) {
50169
51152
  setTimer(event, index, props.step);
50170
51153
  }
50171
51154
  event.preventDefault();
@@ -50185,7 +51168,7 @@ var Splitter = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
50185
51168
  }
50186
51169
  case 'Enter':
50187
51170
  {
50188
- if (prevSize.current > 99) {
51171
+ if (prevSize.current > 100 - (minSize || 5)) {
50189
51172
  resizePanel(index, minSize, 100);
50190
51173
  } else {
50191
51174
  resizePanel(index, 100, minSize);
@@ -50214,14 +51197,16 @@ var Splitter = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
50214
51197
  onResize(event, step, true);
50215
51198
  };
50216
51199
  var setTimer = function setTimer(event, index, step) {
50217
- clearTimer();
50218
- timer.current = setTimeout(function () {
50219
- repeat(event, index, step);
50220
- }, 40);
51200
+ if (!timer.current) {
51201
+ timer.current = setInterval(function () {
51202
+ repeat(event, index, step);
51203
+ }, 40);
51204
+ }
50221
51205
  };
50222
51206
  var clearTimer = function clearTimer() {
50223
51207
  if (timer.current) {
50224
- clearTimeout(timer.current);
51208
+ clearInterval(timer.current);
51209
+ timer.current = null;
50225
51210
  }
50226
51211
  };
50227
51212
  var onGutterMouseDown = function onGutterMouseDown(event, index) {
@@ -50282,7 +51267,7 @@ var Splitter = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
50282
51267
  return gutterRefs.current[index] = el;
50283
51268
  },
50284
51269
  className: cx('gutter'),
50285
- style: props.layout === 'horizontal' ? {
51270
+ style: horizontal ? {
50286
51271
  width: props.gutterSize + 'px'
50287
51272
  } : {
50288
51273
  height: props.gutterSize + 'px'
@@ -50309,7 +51294,7 @@ var Splitter = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
50309
51294
  var gutterHandlerProps = mergeProps({
50310
51295
  tabIndex: getPanelProp(panel, 'tabIndex') || 0,
50311
51296
  className: cx('gutterHandler'),
50312
- 'aria-orientation': props.layout === 'horizontal' ? 'vertical' : 'horizontal',
51297
+ 'aria-orientation': horizontal ? 'vertical' : 'horizontal',
50313
51298
  'aria-controls': panelId,
50314
51299
  'aria-label': getPanelProp(panel, 'aria-label'),
50315
51300
  'aria-labelledby': getPanelProp(panel, 'aria-labelledby'),
@@ -51245,8 +52230,10 @@ var TabViewBase = ComponentBase.extend({
51245
52230
  var TabPanelBase = ComponentBase.extend({
51246
52231
  defaultProps: {
51247
52232
  __TYPE: 'TabPanel',
52233
+ children: undefined,
51248
52234
  className: null,
51249
52235
  closable: false,
52236
+ closeIcon: null,
51250
52237
  contentClassName: null,
51251
52238
  contentStyle: null,
51252
52239
  disabled: false,
@@ -51255,12 +52242,11 @@ var TabPanelBase = ComponentBase.extend({
51255
52242
  headerStyle: null,
51256
52243
  headerTemplate: null,
51257
52244
  leftIcon: null,
51258
- rightIcon: null,
51259
- prevButton: null,
51260
52245
  nextButton: null,
51261
- closeIcon: null,
52246
+ prevButton: null,
52247
+ rightIcon: null,
51262
52248
  style: null,
51263
- children: undefined
52249
+ visible: true
51264
52250
  },
51265
52251
  getCProp: function getCProp(tab, name) {
51266
52252
  return ObjectUtils.getComponentProp(tab, name, TabPanelBase.defaultProps);
@@ -51354,7 +52340,7 @@ var TabView = /*#__PURE__*/React__namespace.forwardRef(function (inProps, ref) {
51354
52340
  return TabPanelBase.getCProp(tab, name);
51355
52341
  };
51356
52342
  var shouldUseTab = function shouldUseTab(tab) {
51357
- return tab && ObjectUtils.isValidChild(tab, 'TabPanel') && hiddenTabsState.every(function (_i) {
52343
+ return tab && getTabProp(tab, 'visible') && ObjectUtils.isValidChild(tab, 'TabPanel') && hiddenTabsState.every(function (_i) {
51358
52344
  return _i !== tab.key;
51359
52345
  });
51360
52346
  };
@@ -51772,7 +52758,7 @@ var TabView = /*#__PURE__*/React__namespace.forwardRef(function (inProps, ref) {
51772
52758
  ref: prevBtnRef,
51773
52759
  type: 'button',
51774
52760
  className: cx('prevbutton'),
51775
- 'aria-label': ariaLabel$1('previousPageLabel'),
52761
+ 'aria-label': ariaLabel('previousPageLabel'),
51776
52762
  onClick: function onClick(e) {
51777
52763
  return navBackward();
51778
52764
  }
@@ -51794,7 +52780,7 @@ var TabView = /*#__PURE__*/React__namespace.forwardRef(function (inProps, ref) {
51794
52780
  ref: nextBtnRef,
51795
52781
  type: 'button',
51796
52782
  className: cx('nextbutton'),
51797
- 'aria-label': ariaLabel$1('nextPageLabel'),
52783
+ 'aria-label': ariaLabel('nextPageLabel'),
51798
52784
  onClick: function onClick(e) {
51799
52785
  return navForward();
51800
52786
  }
@@ -52632,14 +53618,13 @@ var ToggleButtonBase = ComponentBase.extend({
52632
53618
  function ownKeys$b(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
52633
53619
  function _objectSpread$b(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$b(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$b(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
52634
53620
  var ToggleButton = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.forwardRef(function (inProps, ref) {
53621
+ var context = React__namespace.useContext(PrimeReactContext);
53622
+ var props = ToggleButtonBase.getProps(inProps, context);
53623
+ var elementRef = React__namespace.useRef(null);
52635
53624
  var _React$useState = React__namespace.useState(false),
52636
53625
  _React$useState2 = _slicedToArray(_React$useState, 2),
52637
53626
  focusedState = _React$useState2[0],
52638
53627
  setFocusedState = _React$useState2[1];
52639
- var mergeProps = useMergeProps();
52640
- var context = React__namespace.useContext(PrimeReactContext);
52641
- var props = ToggleButtonBase.getProps(inProps, context);
52642
- var elementRef = React__namespace.useRef(null);
52643
53628
  var _ToggleButtonBase$set = ToggleButtonBase.setMetaData({
52644
53629
  props: props,
52645
53630
  state: {
@@ -52675,6 +53660,12 @@ var ToggleButton = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__names
52675
53660
  });
52676
53661
  }
52677
53662
  };
53663
+ var onKeyDown = function onKeyDown(event) {
53664
+ if (event.keyCode === 32) {
53665
+ toggle(event);
53666
+ event.preventDefault();
53667
+ }
53668
+ };
52678
53669
  var onFocus = function onFocus(event) {
52679
53670
  setFocusedState(true);
52680
53671
  props.onFocus && props.onFocus(event);
@@ -52683,12 +53674,6 @@ var ToggleButton = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__names
52683
53674
  setFocusedState(false);
52684
53675
  props.onBlur && props.onBlur(event);
52685
53676
  };
52686
- var onKeyDown = function onKeyDown(event) {
52687
- if (event.keyCode === 32) {
52688
- toggle(event);
52689
- event.preventDefault();
52690
- }
52691
- };
52692
53677
  var createIcon = function createIcon() {
52693
53678
  if (hasIcon) {
52694
53679
  var iconProps = mergeProps({
@@ -52738,7 +53723,9 @@ var ToggleButton = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__names
52738
53723
  onKeyDown: onKeyDown,
52739
53724
  tabIndex: tabIndex,
52740
53725
  role: 'button',
52741
- 'aria-pressed': props.checked
53726
+ 'aria-pressed': props.checked,
53727
+ 'data-p-highlight': props.checked,
53728
+ 'data-p-disabled': props.disabled
52742
53729
  }, ToggleButtonBase.getOtherProps(props), ptm('root'));
52743
53730
  return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement("div", rootProps, iconElement, /*#__PURE__*/React__namespace.createElement("span", labelProps, label), /*#__PURE__*/React__namespace.createElement(Ripple, null)), hasTooltip && /*#__PURE__*/React__namespace.createElement(Tooltip, _extends({
52744
53731
  target: elementRef,
@@ -56004,7 +56991,7 @@ var TreeTableRow = /*#__PURE__*/React__namespace.memo(function (props) {
56004
56991
  return props.selectionKeys ? props.selectionKeys[props.node.key] && props.selectionKeys[props.node.key].partialChecked : false;
56005
56992
  };
56006
56993
  var createToggler = function createToggler(column) {
56007
- var label = expanded ? ariaLabel$1('collapseLabel') : ariaLabel$1('expandLabel');
56994
+ var label = expanded ? ariaLabel('collapseLabel') : ariaLabel('expandLabel');
56008
56995
  var rowTogglerIconProps = mergeProps({
56009
56996
  className: cx('rowTogglerIcon'),
56010
56997
  'aria-hidden': true
@@ -58245,7 +59232,7 @@ var TriStateCheckbox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__n
58245
59232
  setFocusedState(false);
58246
59233
  };
58247
59234
  var onKeyDown = function onKeyDown(e) {
58248
- if (e.keyCode === 32) {
59235
+ if (e.code === 'Enter' || e.code === 'Space') {
58249
59236
  toggle(e);
58250
59237
  e.preventDefault();
58251
59238
  }
@@ -58284,7 +59271,7 @@ var TriStateCheckbox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__n
58284
59271
  var checkIcon = IconUtils.getJSXIcon(icon, _objectSpread({}, checkIconProps), {
58285
59272
  props: props
58286
59273
  });
58287
- var ariaValueLabel = props.value ? ariaLabel$1('trueLabel') : props.value === false ? ariaLabel$1('falseLabel') : ariaLabel$1('nullLabel');
59274
+ var ariaValueLabel = props.value ? ariaLabel('trueLabel') : props.value === false ? ariaLabel('falseLabel') : ariaLabel('nullLabel');
58288
59275
  var ariaChecked = props.value ? 'true' : 'false';
58289
59276
  var checkboxProps = mergeProps(_objectSpread({
58290
59277
  className: cx('checkbox', {
@@ -58304,7 +59291,8 @@ var TriStateCheckbox = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__n
58304
59291
  var rootProps = mergeProps({
58305
59292
  className: classNames(props.className, cx('root')),
58306
59293
  style: props.style,
58307
- onClick: onClick
59294
+ onClick: onClick,
59295
+ 'data-p-disabled': props.disabled
58308
59296
  }, TriStateCheckboxBase.getOtherProps(props), ptm('root'));
58309
59297
  return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement("div", _extends({
58310
59298
  id: props.id,
@@ -58485,7 +59473,7 @@ exports.WindowMinimizeIcon = WindowMinimizeIcon;
58485
59473
  exports.ZIndexUtils = ZIndexUtils;
58486
59474
  exports._mergeProps = _mergeProps;
58487
59475
  exports.addLocale = addLocale;
58488
- exports.ariaLabel = ariaLabel$1;
59476
+ exports.ariaLabel = ariaLabel;
58489
59477
  exports.classNames = classNames;
58490
59478
  exports.confirmDialog = confirmDialog;
58491
59479
  exports.confirmPopup = confirmPopup;