primereact 10.3.3 → 10.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. package/accordion/accordion.cjs.js +1 -1
  2. package/accordion/accordion.cjs.min.js +1 -1
  3. package/accordion/accordion.esm.js +1 -1
  4. package/accordion/accordion.esm.min.js +1 -1
  5. package/accordion/accordion.js +1 -1
  6. package/accordion/accordion.min.js +1 -1
  7. package/calendar/calendar.cjs.js +29 -14
  8. package/calendar/calendar.cjs.min.js +1 -1
  9. package/calendar/calendar.esm.js +29 -14
  10. package/calendar/calendar.esm.min.js +1 -1
  11. package/calendar/calendar.js +29 -14
  12. package/calendar/calendar.min.js +1 -1
  13. package/carousel/carousel.cjs.js +1 -0
  14. package/carousel/carousel.cjs.min.js +1 -1
  15. package/carousel/carousel.esm.js +1 -0
  16. package/carousel/carousel.esm.min.js +1 -1
  17. package/carousel/carousel.js +1 -0
  18. package/carousel/carousel.min.js +1 -1
  19. package/checkbox/checkbox.cjs.js +2 -0
  20. package/checkbox/checkbox.cjs.min.js +1 -1
  21. package/checkbox/checkbox.esm.js +2 -0
  22. package/checkbox/checkbox.esm.min.js +1 -1
  23. package/checkbox/checkbox.js +2 -0
  24. package/checkbox/checkbox.min.js +1 -1
  25. package/chips/chips.cjs.js +111 -21
  26. package/chips/chips.cjs.min.js +1 -1
  27. package/chips/chips.esm.js +111 -21
  28. package/chips/chips.esm.min.js +1 -1
  29. package/chips/chips.js +111 -21
  30. package/chips/chips.min.js +1 -1
  31. package/core/core.js +696 -505
  32. package/core/core.min.js +5 -5
  33. package/datatable/datatable.cjs.js +577 -153
  34. package/datatable/datatable.cjs.min.js +1 -1
  35. package/datatable/datatable.esm.js +573 -149
  36. package/datatable/datatable.esm.min.js +1 -1
  37. package/datatable/datatable.js +577 -153
  38. package/datatable/datatable.min.js +1 -1
  39. package/dataview/dataview.d.ts +2 -2
  40. package/divider/divider.cjs.js +2 -2
  41. package/divider/divider.cjs.min.js +1 -1
  42. package/divider/divider.esm.js +2 -2
  43. package/divider/divider.esm.min.js +1 -1
  44. package/divider/divider.js +2 -2
  45. package/divider/divider.min.js +1 -1
  46. package/dropdown/dropdown.cjs.js +327 -160
  47. package/dropdown/dropdown.cjs.min.js +1 -1
  48. package/dropdown/dropdown.d.ts +9 -0
  49. package/dropdown/dropdown.esm.js +327 -160
  50. package/dropdown/dropdown.esm.min.js +1 -1
  51. package/dropdown/dropdown.js +327 -160
  52. package/dropdown/dropdown.min.js +1 -1
  53. package/editor/editor.cjs.js +1 -1
  54. package/editor/editor.cjs.min.js +1 -1
  55. package/editor/editor.esm.js +1 -1
  56. package/editor/editor.esm.min.js +1 -1
  57. package/editor/editor.js +1 -1
  58. package/editor/editor.min.js +1 -1
  59. package/focustrap/focustrap.cjs.js +168 -0
  60. package/focustrap/focustrap.cjs.min.js +1 -0
  61. package/focustrap/focustrap.esm.js +159 -0
  62. package/focustrap/focustrap.esm.min.js +1 -0
  63. package/focustrap/focustrap.js +167 -0
  64. package/focustrap/focustrap.min.js +1 -0
  65. package/focustrap/package.json +7 -0
  66. package/galleria/galleria.cjs.js +26 -24
  67. package/galleria/galleria.cjs.min.js +1 -1
  68. package/galleria/galleria.esm.js +26 -24
  69. package/galleria/galleria.esm.min.js +1 -1
  70. package/galleria/galleria.js +26 -24
  71. package/galleria/galleria.min.js +1 -1
  72. package/hooks/hooks.d.ts +1 -1
  73. package/inputnumber/inputnumber.cjs.js +21 -17
  74. package/inputnumber/inputnumber.cjs.min.js +1 -1
  75. package/inputnumber/inputnumber.esm.js +21 -17
  76. package/inputnumber/inputnumber.esm.min.js +1 -1
  77. package/inputnumber/inputnumber.js +21 -17
  78. package/inputnumber/inputnumber.min.js +1 -1
  79. package/inputswitch/inputswitch.cjs.js +3 -1
  80. package/inputswitch/inputswitch.cjs.min.js +1 -1
  81. package/inputswitch/inputswitch.esm.js +3 -1
  82. package/inputswitch/inputswitch.esm.min.js +1 -1
  83. package/inputswitch/inputswitch.js +3 -1
  84. package/inputswitch/inputswitch.min.js +1 -1
  85. package/knob/knob.cjs.js +62 -0
  86. package/knob/knob.cjs.min.js +1 -1
  87. package/knob/knob.esm.js +62 -0
  88. package/knob/knob.esm.min.js +1 -1
  89. package/knob/knob.js +62 -0
  90. package/knob/knob.min.js +1 -1
  91. package/listbox/listbox.cjs.js +362 -92
  92. package/listbox/listbox.cjs.min.js +1 -1
  93. package/listbox/listbox.esm.js +363 -93
  94. package/listbox/listbox.esm.min.js +1 -1
  95. package/listbox/listbox.js +362 -92
  96. package/listbox/listbox.min.js +1 -1
  97. package/menu/menu.cjs.js +4 -2
  98. package/menu/menu.cjs.min.js +1 -1
  99. package/menu/menu.esm.js +4 -2
  100. package/menu/menu.esm.min.js +1 -1
  101. package/menu/menu.js +5 -4
  102. package/menu/menu.min.js +1 -1
  103. package/menubar/menubar.cjs.js +3 -0
  104. package/menubar/menubar.cjs.min.js +1 -1
  105. package/menubar/menubar.esm.js +3 -0
  106. package/menubar/menubar.esm.min.js +1 -1
  107. package/menubar/menubar.js +3 -0
  108. package/menubar/menubar.min.js +1 -1
  109. package/multiselect/multiselect.cjs.js +377 -107
  110. package/multiselect/multiselect.cjs.min.js +1 -1
  111. package/multiselect/multiselect.esm.js +377 -107
  112. package/multiselect/multiselect.esm.min.js +1 -1
  113. package/multiselect/multiselect.js +377 -107
  114. package/multiselect/multiselect.min.js +1 -1
  115. package/package.json +1 -1
  116. package/paginator/paginator.cjs.js +251 -251
  117. package/paginator/paginator.cjs.min.js +1 -1
  118. package/paginator/paginator.esm.js +258 -258
  119. package/paginator/paginator.esm.min.js +1 -1
  120. package/paginator/paginator.js +251 -251
  121. package/paginator/paginator.min.js +1 -1
  122. package/panelmenu/panelmenu.cjs.js +34 -22
  123. package/panelmenu/panelmenu.cjs.min.js +1 -1
  124. package/panelmenu/panelmenu.esm.js +34 -22
  125. package/panelmenu/panelmenu.esm.min.js +1 -1
  126. package/panelmenu/panelmenu.js +35 -24
  127. package/panelmenu/panelmenu.min.js +1 -1
  128. package/passthrough/tailwind/index.cjs.js +3 -2
  129. package/passthrough/tailwind/index.cjs.min.js +1 -1
  130. package/passthrough/tailwind/index.esm.js +3 -2
  131. package/passthrough/tailwind/index.esm.min.js +1 -1
  132. package/passthrough/tailwind/index.js +3 -2
  133. package/passthrough/tailwind/index.min.js +1 -1
  134. package/password/password.cjs.js +22 -20
  135. package/password/password.cjs.min.js +1 -1
  136. package/password/password.esm.js +22 -20
  137. package/password/password.esm.min.js +1 -1
  138. package/password/password.js +22 -20
  139. package/password/password.min.js +1 -1
  140. package/primereact.all.cjs.js +2199 -951
  141. package/primereact.all.cjs.min.js +1 -1
  142. package/primereact.all.esm.js +2199 -951
  143. package/primereact.all.esm.min.js +1 -1
  144. package/primereact.all.js +2199 -951
  145. package/primereact.all.min.js +1 -1
  146. package/radiobutton/radiobutton.cjs.js +1 -0
  147. package/radiobutton/radiobutton.cjs.min.js +1 -1
  148. package/radiobutton/radiobutton.esm.js +1 -0
  149. package/radiobutton/radiobutton.esm.min.js +1 -1
  150. package/radiobutton/radiobutton.js +1 -0
  151. package/radiobutton/radiobutton.min.js +1 -1
  152. package/rating/rating.cjs.js +103 -4
  153. package/rating/rating.cjs.min.js +1 -1
  154. package/rating/rating.esm.js +103 -4
  155. package/rating/rating.esm.min.js +1 -1
  156. package/rating/rating.js +103 -4
  157. package/rating/rating.min.js +1 -1
  158. package/resources/themes/arya-blue/theme.css +328 -67
  159. package/resources/themes/arya-green/theme.css +328 -67
  160. package/resources/themes/arya-orange/theme.css +328 -67
  161. package/resources/themes/arya-purple/theme.css +26 -6
  162. package/resources/themes/bootstrap4-dark-blue/theme.css +328 -67
  163. package/resources/themes/bootstrap4-dark-purple/theme.css +26 -6
  164. package/resources/themes/bootstrap4-light-blue/theme.css +328 -67
  165. package/resources/themes/bootstrap4-light-purple/theme.css +26 -6
  166. package/resources/themes/fluent-light/theme.css +327 -66
  167. package/resources/themes/lara-dark-amber/theme.css +328 -67
  168. package/resources/themes/lara-dark-blue/theme.css +328 -67
  169. package/resources/themes/lara-dark-cyan/theme.css +328 -67
  170. package/resources/themes/lara-dark-green/theme.css +328 -67
  171. package/resources/themes/lara-dark-indigo/theme.css +328 -67
  172. package/resources/themes/lara-dark-pink/theme.css +328 -67
  173. package/resources/themes/lara-dark-purple/theme.css +26 -6
  174. package/resources/themes/lara-dark-teal/theme.css +328 -67
  175. package/resources/themes/lara-light-amber/theme.css +328 -67
  176. package/resources/themes/lara-light-blue/theme.css +328 -67
  177. package/resources/themes/lara-light-cyan/theme.css +328 -67
  178. package/resources/themes/lara-light-green/theme.css +328 -67
  179. package/resources/themes/lara-light-indigo/theme.css +328 -67
  180. package/resources/themes/lara-light-pink/theme.css +328 -67
  181. package/resources/themes/lara-light-purple/theme.css +26 -6
  182. package/resources/themes/lara-light-teal/theme.css +328 -67
  183. package/resources/themes/luna-amber/theme.css +328 -67
  184. package/resources/themes/luna-blue/theme.css +328 -67
  185. package/resources/themes/luna-green/theme.css +328 -67
  186. package/resources/themes/luna-pink/theme.css +328 -67
  187. package/resources/themes/md-dark-deeppurple/theme.css +158 -138
  188. package/resources/themes/md-dark-indigo/theme.css +454 -193
  189. package/resources/themes/md-light-deeppurple/theme.css +26 -6
  190. package/resources/themes/md-light-indigo/theme.css +328 -67
  191. package/resources/themes/mdc-dark-deeppurple/theme.css +158 -138
  192. package/resources/themes/mdc-dark-indigo/theme.css +454 -193
  193. package/resources/themes/mdc-light-deeppurple/theme.css +26 -6
  194. package/resources/themes/mdc-light-indigo/theme.css +328 -67
  195. package/resources/themes/mira/theme.css +328 -67
  196. package/resources/themes/nano/theme.css +328 -67
  197. package/resources/themes/nova/theme.css +328 -67
  198. package/resources/themes/nova-accent/theme.css +328 -67
  199. package/resources/themes/nova-alt/theme.css +328 -67
  200. package/resources/themes/rhea/theme.css +328 -67
  201. package/resources/themes/saga-blue/theme.css +328 -67
  202. package/resources/themes/saga-green/theme.css +328 -67
  203. package/resources/themes/saga-orange/theme.css +328 -67
  204. package/resources/themes/saga-purple/theme.css +26 -6
  205. package/resources/themes/soho-dark/theme.css +353 -92
  206. package/resources/themes/soho-light/theme.css +328 -67
  207. package/resources/themes/tailwind-light/theme.css +329 -71
  208. package/resources/themes/vela-blue/theme.css +328 -67
  209. package/resources/themes/vela-green/theme.css +328 -67
  210. package/resources/themes/vela-orange/theme.css +328 -67
  211. package/resources/themes/vela-purple/theme.css +26 -6
  212. package/resources/themes/viva-dark/theme.css +328 -67
  213. package/resources/themes/viva-light/theme.css +328 -67
  214. package/selectbutton/selectbutton.cjs.js +96 -50
  215. package/selectbutton/selectbutton.cjs.min.js +1 -1
  216. package/selectbutton/selectbutton.esm.js +96 -50
  217. package/selectbutton/selectbutton.esm.min.js +1 -1
  218. package/selectbutton/selectbutton.js +96 -50
  219. package/selectbutton/selectbutton.min.js +1 -1
  220. package/sidebar/sidebar.cjs.js +18 -16
  221. package/sidebar/sidebar.cjs.min.js +1 -1
  222. package/sidebar/sidebar.esm.js +18 -16
  223. package/sidebar/sidebar.esm.min.js +1 -1
  224. package/sidebar/sidebar.js +18 -16
  225. package/sidebar/sidebar.min.js +1 -1
  226. package/slider/slider.cjs.js +25 -4
  227. package/slider/slider.cjs.min.js +1 -1
  228. package/slider/slider.esm.js +25 -4
  229. package/slider/slider.esm.min.js +1 -1
  230. package/slider/slider.js +25 -4
  231. package/slider/slider.min.js +1 -1
  232. package/splitbutton/splitbutton.cjs.js +4 -3
  233. package/splitbutton/splitbutton.cjs.min.js +1 -1
  234. package/splitbutton/splitbutton.esm.js +4 -3
  235. package/splitbutton/splitbutton.esm.min.js +1 -1
  236. package/splitbutton/splitbutton.js +4 -3
  237. package/splitbutton/splitbutton.min.js +1 -1
  238. package/splitter/splitter.cjs.js +71 -25
  239. package/splitter/splitter.cjs.min.js +1 -1
  240. package/splitter/splitter.d.ts +13 -1
  241. package/splitter/splitter.esm.js +73 -27
  242. package/splitter/splitter.esm.min.js +1 -1
  243. package/splitter/splitter.js +71 -25
  244. package/splitter/splitter.min.js +1 -1
  245. package/tabview/tabview.cjs.js +6 -5
  246. package/tabview/tabview.cjs.min.js +1 -1
  247. package/tabview/tabview.d.ts +39 -34
  248. package/tabview/tabview.esm.js +6 -5
  249. package/tabview/tabview.esm.min.js +1 -1
  250. package/tabview/tabview.js +6 -5
  251. package/tabview/tabview.min.js +1 -1
  252. package/tieredmenu/tieredmenu.cjs.js +4 -3
  253. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  254. package/tieredmenu/tieredmenu.esm.js +4 -3
  255. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  256. package/tieredmenu/tieredmenu.js +4 -3
  257. package/tieredmenu/tieredmenu.min.js +1 -1
  258. package/togglebutton/togglebutton.cjs.js +15 -14
  259. package/togglebutton/togglebutton.cjs.min.js +1 -1
  260. package/togglebutton/togglebutton.esm.js +14 -13
  261. package/togglebutton/togglebutton.esm.min.js +1 -1
  262. package/togglebutton/togglebutton.js +15 -14
  263. package/togglebutton/togglebutton.min.js +1 -1
  264. package/tree/tree.cjs.js +33 -15
  265. package/tree/tree.cjs.min.js +1 -1
  266. package/tree/tree.esm.js +34 -16
  267. package/tree/tree.esm.min.js +1 -1
  268. package/tree/tree.js +33 -15
  269. package/tree/tree.min.js +1 -1
  270. package/tristatecheckbox/tristatecheckbox.cjs.js +3 -2
  271. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  272. package/tristatecheckbox/tristatecheckbox.esm.js +3 -2
  273. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  274. package/tristatecheckbox/tristatecheckbox.js +3 -2
  275. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  276. package/web-types.json +19 -1
package/core/core.js CHANGED
@@ -28209,6 +28209,8 @@ this.primereact.checkbox = (function (exports, React, api, componentbase, hooks,
28209
28209
  onClick: function onClick(e) {
28210
28210
  return _onClick(e);
28211
28211
  },
28212
+ 'data-p-highlight': checked,
28213
+ 'data-p-disabled': props.disabled,
28212
28214
  onContextMenu: props.onContextMenu,
28213
28215
  onMouseDown: props.onMouseDown
28214
28216
  }, otherProps, ptm('root'));
@@ -29322,36 +29324,36 @@ this.primereact.inputnumber = (function (exports, React, PrimeReact, componentba
29322
29324
  if (event.altKey) {
29323
29325
  event.preventDefault();
29324
29326
  }
29325
- switch (event.which) {
29327
+ switch (event.code) {
29326
29328
  //up
29327
- case 38:
29329
+ case 'ArrowUp':
29328
29330
  spin(event, 1);
29329
29331
  event.preventDefault();
29330
29332
  break;
29331
29333
 
29332
29334
  //down
29333
- case 40:
29335
+ case 'ArrowDown':
29334
29336
  spin(event, -1);
29335
29337
  event.preventDefault();
29336
29338
  break;
29337
29339
 
29338
29340
  //left
29339
- case 37:
29341
+ case 'ArrowLeft':
29340
29342
  if (!isNumeralChar(inputValue.charAt(selectionStart - 1))) {
29341
29343
  event.preventDefault();
29342
29344
  }
29343
29345
  break;
29344
29346
 
29345
29347
  //right
29346
- case 39:
29348
+ case 'ArrowRight':
29347
29349
  if (!isNumeralChar(inputValue.charAt(selectionStart))) {
29348
29350
  event.preventDefault();
29349
29351
  }
29350
29352
  break;
29351
29353
 
29352
29354
  //enter and tab
29353
- case 13:
29354
- case 9:
29355
+ case 'Tab':
29356
+ case 'Enter':
29355
29357
  newValueStr = validateValue(parseValue(inputValue));
29356
29358
  inputRef.current.value = formatValue(newValueStr);
29357
29359
  inputRef.current.setAttribute('aria-valuenow', newValueStr);
@@ -29359,7 +29361,7 @@ this.primereact.inputnumber = (function (exports, React, PrimeReact, componentba
29359
29361
  break;
29360
29362
 
29361
29363
  //backspace
29362
- case 8:
29364
+ case 'Backspace':
29363
29365
  event.preventDefault();
29364
29366
  if (selectionStart === selectionEnd) {
29365
29367
  var deleteChar = inputValue.charAt(selectionStart - 1);
@@ -29403,7 +29405,7 @@ this.primereact.inputnumber = (function (exports, React, PrimeReact, componentba
29403
29405
  break;
29404
29406
 
29405
29407
  // del
29406
- case 46:
29408
+ case 'Delete':
29407
29409
  event.preventDefault();
29408
29410
  if (selectionStart === selectionEnd) {
29409
29411
  var _deleteChar = inputValue.charAt(selectionStart);
@@ -29438,14 +29440,18 @@ this.primereact.inputnumber = (function (exports, React, PrimeReact, componentba
29438
29440
  updateValue(event, newValueStr, null, 'delete-range');
29439
29441
  }
29440
29442
  break;
29441
-
29442
- // End
29443
- case 35:
29444
- // Home/Pos1
29445
- case 36:
29446
- setTimeout(function () {
29447
- initCursor();
29448
- });
29443
+ case 'End':
29444
+ event.preventDefault();
29445
+ if (!utils.ObjectUtils.isEmpty(props.max)) {
29446
+ updateModel(event, props.max);
29447
+ }
29448
+ break;
29449
+ case 'Home':
29450
+ event.preventDefault();
29451
+ if (!utils.ObjectUtils.isEmpty(props.min)) {
29452
+ updateModel(event, props.min);
29453
+ }
29454
+ break;
29449
29455
  }
29450
29456
  };
29451
29457
  var onInputKeyUp = function onInputKeyUp(event) {
@@ -30955,10 +30961,13 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
30955
30961
  item: function item(_ref7) {
30956
30962
  var selected = _ref7.selected,
30957
30963
  disabled = _ref7.disabled,
30958
- label = _ref7.label;
30964
+ label = _ref7.label,
30965
+ index = _ref7.index,
30966
+ focusedOptionIndex = _ref7.focusedOptionIndex;
30959
30967
  return utils.classNames('p-dropdown-item', {
30960
30968
  'p-highlight': selected,
30961
30969
  'p-disabled': disabled,
30970
+ 'p-focus': index === focusedOptionIndex,
30962
30971
  'p-dropdown-item-empty': !label || label.length === 0
30963
30972
  });
30964
30973
  },
@@ -31011,6 +31020,8 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
31011
31020
  inputId: null,
31012
31021
  inputRef: null,
31013
31022
  itemTemplate: null,
31023
+ loading: false,
31024
+ loadingIcon: null,
31014
31025
  maxLength: null,
31015
31026
  name: null,
31016
31027
  onBlur: null,
@@ -31023,6 +31034,8 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
31023
31034
  onShow: null,
31024
31035
  optionDisabled: null,
31025
31036
  optionGroupChildren: 'items',
31037
+ selectOnFocus: false,
31038
+ autoOptionFocus: false,
31026
31039
  optionGroupLabel: null,
31027
31040
  optionGroupTemplate: null,
31028
31041
  optionLabel: null,
@@ -31061,7 +31074,9 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
31061
31074
  selected = props.selected,
31062
31075
  disabled = props.disabled,
31063
31076
  option = props.option,
31064
- label = props.label;
31077
+ label = props.label,
31078
+ index = props.index,
31079
+ focusedOptionIndex = props.focusedOptionIndex;
31065
31080
  var getPTOptions = function getPTOptions(key) {
31066
31081
  return ptm(key, {
31067
31082
  context: {
@@ -31070,7 +31085,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
31070
31085
  }
31071
31086
  });
31072
31087
  };
31073
- var _onClick = function onClick(event) {
31088
+ var _onClick = function onClick(event, i) {
31074
31089
  if (props.onClick) {
31075
31090
  props.onClick({
31076
31091
  originalEvent: event,
@@ -31085,7 +31100,9 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
31085
31100
  className: utils.classNames(option.className, cx('item', {
31086
31101
  selected: selected,
31087
31102
  disabled: disabled,
31088
- label: label
31103
+ label: label,
31104
+ index: index,
31105
+ focusedOptionIndex: focusedOptionIndex
31089
31106
  })),
31090
31107
  style: props.style,
31091
31108
  onClick: function onClick(e) {
@@ -31094,6 +31111,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
31094
31111
  'aria-label': label,
31095
31112
  'aria-selected': selected,
31096
31113
  'data-p-highlight': selected,
31114
+ 'data-p-focused': focusedOptionIndex === index,
31097
31115
  'data-p-disabled': disabled
31098
31116
  }, getPTOptions('item'));
31099
31117
  return /*#__PURE__*/React__namespace.createElement("li", itemProps, content, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null));
@@ -31165,6 +31183,8 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
31165
31183
  var disabled = props.isOptionDisabled(option);
31166
31184
  return /*#__PURE__*/React__namespace.createElement(DropdownItem, {
31167
31185
  key: optionKey,
31186
+ index: j,
31187
+ focusedOptionIndex: props.focusedOptionIndex,
31168
31188
  label: optionLabel,
31169
31189
  option: option,
31170
31190
  style: style,
@@ -31212,6 +31232,8 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
31212
31232
  return /*#__PURE__*/React__namespace.createElement(DropdownItem, {
31213
31233
  key: optionKey,
31214
31234
  label: optionLabel,
31235
+ index: index,
31236
+ focusedOptionIndex: props.focusedOptionIndex,
31215
31237
  option: option,
31216
31238
  style: style,
31217
31239
  template: props.itemTemplate,
@@ -31404,20 +31426,30 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
31404
31426
  setFilterState = _React$useState2[1];
31405
31427
  var _React$useState3 = React__namespace.useState(false),
31406
31428
  _React$useState4 = _slicedToArray(_React$useState3, 2),
31407
- focusedState = _React$useState4[0],
31408
- setFocusedState = _React$useState4[1];
31429
+ clicked = _React$useState4[0],
31430
+ setClicked = _React$useState4[1];
31409
31431
  var _React$useState5 = React__namespace.useState(false),
31410
31432
  _React$useState6 = _slicedToArray(_React$useState5, 2),
31411
- overlayVisibleState = _React$useState6[0],
31412
- setOverlayVisibleState = _React$useState6[1];
31433
+ focusedState = _React$useState6[0],
31434
+ setFocusedState = _React$useState6[1];
31435
+ var _React$useState7 = React__namespace.useState(null),
31436
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
31437
+ focusedOptionIndex = _React$useState8[0],
31438
+ setFocusedOptionIndex = _React$useState8[1];
31439
+ var _React$useState9 = React__namespace.useState(false),
31440
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
31441
+ overlayVisibleState = _React$useState10[0],
31442
+ setOverlayVisibleState = _React$useState10[1];
31413
31443
  var elementRef = React__namespace.useRef(null);
31414
31444
  var overlayRef = React__namespace.useRef(null);
31445
+ var firstHiddenFocusableElementOnOverlay = React__namespace.useRef(null);
31446
+ var lastHiddenFocusableElementOnOverlay = React__namespace.useRef(null);
31415
31447
  var inputRef = React__namespace.useRef(props.inputRef);
31416
31448
  var focusInputRef = React__namespace.useRef(props.focusInputRef);
31417
31449
  var virtualScrollerRef = React__namespace.useRef(null);
31418
31450
  var searchTimeout = React__namespace.useRef(null);
31419
31451
  var searchValue = React__namespace.useRef(null);
31420
- var currentSearchChar = React__namespace.useRef(null);
31452
+ React__namespace.useRef(null);
31421
31453
  var isLazy = props.virtualScrollerOptions && props.virtualScrollerOptions.lazy;
31422
31454
  var hasFilter = utils.ObjectUtils.isNotEmpty(filterState);
31423
31455
  var appendTo = props.appendTo || context && context.appendTo || PrimeReact__default["default"].appendTo;
@@ -31481,6 +31513,14 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
31481
31513
  return props.options;
31482
31514
  }
31483
31515
  };
31516
+ var onFirstHiddenFocus = function onFirstHiddenFocus(event) {
31517
+ var focusableEl = event.relatedTarget === focusInputRef.current ? utils.DomHandler.getFirstFocusableElement(overlayRef.current, ':not([data-p-hidden-focusable="true"])') : focusInputRef.current;
31518
+ utils.DomHandler.focus(focusableEl);
31519
+ };
31520
+ var onLastHiddenFocus = function onLastHiddenFocus(event) {
31521
+ var focusableEl = event.relatedTarget === focusInputRef.current ? utils.DomHandler.getLastFocusableElement(overlayRef.current, ':not([data-p-hidden-focusable="true"])') : focusInputRef.current;
31522
+ utils.DomHandler.focus(focusableEl);
31523
+ };
31484
31524
  var isClearClicked = function isClearClicked(event) {
31485
31525
  return utils.DomHandler.isAttributeEquals(event.target, 'data-pc-section', 'clearicon') || utils.DomHandler.isAttributeEquals(event.target.parentElement || event.target, 'data-pc-section', 'filterclearicon');
31486
31526
  };
@@ -31500,6 +31540,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
31500
31540
  utils.DomHandler.focus(focusInputRef.current);
31501
31541
  overlayVisibleState ? hide() : show();
31502
31542
  }
31543
+ setClicked(true);
31503
31544
  };
31504
31545
  var onInputFocus = function onInputFocus(event) {
31505
31546
  if (props.showOnFocus && !overlayVisibleState) {
@@ -31531,6 +31572,15 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
31531
31572
  }, 200);
31532
31573
  }
31533
31574
  };
31575
+ var onOptionSelect = function onOptionSelect(event, option) {
31576
+ var isHide = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
31577
+ var value = getOptionValue(option);
31578
+ selectItem({
31579
+ originalEvent: event,
31580
+ option: value
31581
+ });
31582
+ isHide && hide();
31583
+ };
31534
31584
  var onPanelClick = function onPanelClick(event) {
31535
31585
  overlayservice.OverlayService.emit('overlay-click', {
31536
31586
  originalEvent: event,
@@ -31538,196 +31588,285 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
31538
31588
  });
31539
31589
  };
31540
31590
  var onInputKeyDown = function onInputKeyDown(event) {
31541
- switch (event.which) {
31542
- //down
31543
- case 40:
31544
- onDownKey(event);
31591
+ if (props.disabled || utils.DomHandler.isAndroid()) {
31592
+ event.preventDefault();
31593
+ return;
31594
+ }
31595
+ var metaKey = event.metaKey || event.ctrlKey;
31596
+ switch (event.code) {
31597
+ case 'ArrowDown':
31598
+ onArrowDownKey(event);
31545
31599
  break;
31546
-
31547
- //up
31548
- case 38:
31549
- onUpKey(event);
31600
+ case 'ArrowUp':
31601
+ onArrowUpKey(event);
31550
31602
  break;
31551
-
31552
- //space and enter
31553
- case 32:
31554
- case 13:
31555
- overlayVisibleState ? hide() : show();
31556
- event.preventDefault();
31603
+ case 'ArrowLeft':
31604
+ case 'ArrowRight':
31605
+ onArrowLeftKey(event, props.editable);
31557
31606
  break;
31558
-
31559
- //escape and tab
31560
- case 27:
31561
- case 9:
31562
- hide();
31607
+ case 'Home':
31608
+ onHomeKey(event);
31609
+ break;
31610
+ case 'End':
31611
+ onEndKey(event);
31612
+ break;
31613
+ case 'PageDown':
31614
+ onPageDownKey(event);
31615
+ break;
31616
+ case 'PageUp':
31617
+ onPageUpKey(event);
31618
+ break;
31619
+ case 'Space':
31620
+ onSpaceKey(event, props.editable);
31621
+ break;
31622
+ case 'NumpadEnter':
31623
+ case 'Enter':
31624
+ onEnterKey(event);
31625
+ break;
31626
+ case 'Escape':
31627
+ onEscapeKey(event);
31628
+ break;
31629
+ case 'Tab':
31630
+ onTabKey(event);
31631
+ break;
31632
+ case 'Backspace':
31633
+ onBackspaceKey(event, props.editable);
31634
+ break;
31635
+ case 'ShiftLeft':
31636
+ case 'ShiftRight':
31637
+ //NOOP
31563
31638
  break;
31564
31639
  default:
31565
- search(event);
31640
+ if (!metaKey && utils.ObjectUtils.isPrintableCharacter(event.key)) {
31641
+ !overlayVisibleState && show();
31642
+ !props.editable && searchOptions(event, event.key);
31643
+ }
31566
31644
  break;
31567
31645
  }
31646
+ setClicked(false);
31568
31647
  };
31569
31648
  var onFilterInputKeyDown = function onFilterInputKeyDown(event) {
31570
- switch (event.which) {
31571
- //down
31572
- case 40:
31573
- onDownKey(event);
31649
+ switch (event.code) {
31650
+ case 'ArrowDown':
31651
+ onArrowDownKey(event);
31574
31652
  break;
31575
-
31576
- //up
31577
- case 38:
31578
- onUpKey(event);
31653
+ case 'ArrowUp':
31654
+ onArrowUpKey(event);
31579
31655
  break;
31580
-
31581
- //enter and escape
31582
- case 13:
31583
- case 27:
31584
- hide();
31656
+ case 'ArrowLeft':
31657
+ case 'ArrowRight':
31658
+ onArrowLeftKey(event, true);
31659
+ break;
31660
+ case 'Escape':
31661
+ case 'Enter':
31662
+ onEnterKey(event);
31585
31663
  event.preventDefault();
31586
31664
  break;
31587
31665
  }
31588
31666
  };
31589
- var onUpKey = function onUpKey(event) {
31590
- if (visibleOptions) {
31591
- var prevOption = findPrevOption(getSelectedOptionIndex());
31592
- if (prevOption) {
31593
- selectItem({
31594
- originalEvent: event,
31595
- option: prevOption
31596
- });
31597
- }
31598
- }
31599
- event.preventDefault();
31667
+ var hasFocusableElements = function hasFocusableElements() {
31668
+ return utils.DomHandler.getFocusableElements(overlayRef.current, ':not([data-p-hidden-focusable="true"])').length > 0;
31669
+ };
31670
+ var isOptionMatched = function isOptionMatched(option) {
31671
+ var _getOptionLabel;
31672
+ return isValidOption(option) && ((_getOptionLabel = getOptionLabel(option)) === null || _getOptionLabel === void 0 ? void 0 : _getOptionLabel.toLocaleLowerCase(props.filterLocale).startsWith(searchValue.current.toLocaleLowerCase(props.filterLocale)));
31673
+ };
31674
+ var isValidOption = function isValidOption(option) {
31675
+ return utils.ObjectUtils.isNotEmpty(option) && !(isOptionDisabled(option) || isOptionGroup(option));
31676
+ };
31677
+ var hasSelectedOption = function hasSelectedOption() {
31678
+ return utils.ObjectUtils.isNotEmpty(props.value);
31679
+ };
31680
+ var isValidSelectedOption = function isValidSelectedOption(option) {
31681
+ return isValidOption(option) && isSelected(option);
31682
+ };
31683
+ var findSelectedOptionIndex = function findSelectedOptionIndex() {
31684
+ return hasSelectedOption ? visibleOptions.findIndex(function (option) {
31685
+ return isValidSelectedOption(option);
31686
+ }) : -1;
31600
31687
  };
31601
- var onDownKey = function onDownKey(event) {
31602
- if (visibleOptions) {
31603
- if (!overlayVisibleState && event.altKey) {
31604
- show();
31688
+ var findFirstFocusedOptionIndex = function findFirstFocusedOptionIndex() {
31689
+ var selectedIndex = findSelectedOptionIndex();
31690
+ return selectedIndex < 0 ? findFirstOptionIndex() : selectedIndex;
31691
+ };
31692
+ var searchOptions = function searchOptions(event, _char) {
31693
+ searchValue.current = (searchValue.current || '') + _char;
31694
+ var optionIndex = -1;
31695
+ var matched = false;
31696
+ if (utils.ObjectUtils.isNotEmpty(searchValue.current)) {
31697
+ if (focusedOptionIndex !== -1) {
31698
+ optionIndex = visibleOptions.slice(focusedOptionIndex).findIndex(function (option) {
31699
+ return isOptionMatched(option);
31700
+ });
31701
+ optionIndex = optionIndex === -1 ? visibleOptions.slice(0, focusedOptionIndex).findIndex(function (option) {
31702
+ return isOptionMatched(option);
31703
+ }) : optionIndex + focusedOptionIndex;
31605
31704
  } else {
31606
- var nextOption = findNextOption(getSelectedOptionIndex());
31607
- if (nextOption) {
31608
- selectItem({
31609
- originalEvent: event,
31610
- option: nextOption
31611
- });
31612
- }
31705
+ optionIndex = visibleOptions.findIndex(function (option) {
31706
+ return isOptionMatched(option);
31707
+ });
31708
+ }
31709
+ if (optionIndex !== -1) {
31710
+ matched = true;
31711
+ }
31712
+ if (optionIndex === -1 && focusedOptionIndex === -1) {
31713
+ optionIndex = findFirstFocusedOptionIndex();
31714
+ }
31715
+ if (optionIndex !== -1) {
31716
+ changeFocusedOptionIndex(event, optionIndex);
31613
31717
  }
31614
31718
  }
31615
- event.preventDefault();
31616
- };
31617
- var findNextOption = function findNextOption(index) {
31618
- if (props.optionGroupLabel) {
31619
- var groupIndex = index === -1 ? 0 : index.group;
31620
- var optionIndex = index === -1 ? -1 : index.option;
31621
- var option = findNextOptionInList(getOptionGroupChildren(visibleOptions[groupIndex]), optionIndex);
31622
- if (option) return option;else if (groupIndex + 1 !== visibleOptions.length) return findNextOption({
31623
- group: groupIndex + 1,
31624
- option: -1
31625
- });else return null;
31626
- }
31627
- return findNextOptionInList(visibleOptions, index);
31628
- };
31629
- var findNextOptionInList = function findNextOptionInList(list, index) {
31630
- var i = index + 1;
31631
- if (i === list.length) {
31632
- return null;
31719
+ if (searchTimeout.current) {
31720
+ clearTimeout(searchTimeout.current);
31633
31721
  }
31634
- var option = list[i];
31635
- return isOptionDisabled(option) ? findNextOptionInList(i) : option;
31722
+ searchTimeout.current = setTimeout(function () {
31723
+ searchValue.current = '';
31724
+ searchTimeout.current = null;
31725
+ }, 500);
31726
+ return matched;
31636
31727
  };
31637
- var findPrevOption = function findPrevOption(index) {
31638
- if (index === -1) {
31639
- return null;
31640
- }
31641
- if (props.optionGroupLabel) {
31642
- var groupIndex = index.group;
31643
- var optionIndex = index.option;
31644
- var option = findPrevOptionInList(getOptionGroupChildren(visibleOptions[groupIndex]), optionIndex);
31645
- if (option) return option;else if (groupIndex > 0) return findPrevOption({
31646
- group: groupIndex - 1,
31647
- option: getOptionGroupChildren(visibleOptions[groupIndex - 1]).length
31648
- });else return null;
31649
- }
31650
- return findPrevOptionInList(visibleOptions, index);
31651
- };
31652
- var findPrevOptionInList = function findPrevOptionInList(list, index) {
31653
- var i = index - 1;
31654
- if (i < 0) {
31655
- return null;
31656
- }
31657
- var option = list[i];
31658
- return isOptionDisabled(option) ? findPrevOption(i) : option;
31728
+ var findLastFocusedOptionIndex = function findLastFocusedOptionIndex() {
31729
+ var selectedIndex = findSelectedOptionIndex();
31730
+ return selectedIndex < 0 ? findLastOptionIndex() : selectedIndex;
31659
31731
  };
31660
- var search = function search(event) {
31661
- if (searchTimeout.current) {
31662
- clearTimeout(searchTimeout.current);
31732
+ var findFirstOptionIndex = function findFirstOptionIndex() {
31733
+ return visibleOptions.findIndex(function (option) {
31734
+ return isValidOption(option);
31735
+ });
31736
+ };
31737
+ var findLastOptionIndex = function findLastOptionIndex() {
31738
+ return utils.ObjectUtils.findLastIndex(visibleOptions, function (option) {
31739
+ return isValidOption(option);
31740
+ });
31741
+ };
31742
+ var findNextOptionIndex = function findNextOptionIndex(index) {
31743
+ var matchedOptionIndex = index < visibleOptions.length - 1 ? visibleOptions.slice(index + 1).findIndex(function (option) {
31744
+ return isValidOption(option);
31745
+ }) : -1;
31746
+ return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
31747
+ };
31748
+ var findPrevOptionIndex = function findPrevOptionIndex(index) {
31749
+ var matchedOptionIndex = index > 0 ? utils.ObjectUtils.findLastIndex(visibleOptions.slice(0, index), function (option) {
31750
+ return isValidOption(option);
31751
+ }) : -1;
31752
+ return matchedOptionIndex > -1 ? matchedOptionIndex : index;
31753
+ };
31754
+ var changeFocusedOptionIndex = function changeFocusedOptionIndex(event, index) {
31755
+ if (focusedOptionIndex !== index) {
31756
+ setFocusedOptionIndex(index);
31757
+ if (props.selectOnFocus) {
31758
+ onOptionSelect(event, visibleOptions[index], false);
31759
+ }
31663
31760
  }
31664
- var _char = event.key;
31665
- if (_char === 'Shift' || _char === 'Control' || _char === 'Alt') {
31666
- return;
31761
+ };
31762
+ var onArrowDownKey = function onArrowDownKey(event) {
31763
+ if (!overlayVisibleState) {
31764
+ show();
31765
+ props.editable && changeFocusedOptionIndex(event, findSelectedOptionIndex());
31766
+ } else {
31767
+ var optionIndex = focusedOptionIndex !== -1 ? findNextOptionIndex(focusedOptionIndex) : clicked ? findFirstOptionIndex() : findFirstFocusedOptionIndex();
31768
+ changeFocusedOptionIndex(event, optionIndex);
31667
31769
  }
31668
- if (currentSearchChar.current === _char) searchValue.current = _char;else searchValue.current = searchValue.current ? searchValue.current + _char : _char;
31669
- currentSearchChar.current = _char;
31670
- if (searchValue.current) {
31671
- var searchIndex = getSelectedOptionIndex();
31672
- var newOption = props.optionGroupLabel ? searchOptionInGroup(searchIndex) : searchOption(searchIndex + 1);
31673
- if (newOption) {
31674
- selectItem({
31675
- originalEvent: event,
31676
- option: newOption
31677
- });
31770
+ event.preventDefault();
31771
+ };
31772
+ var onArrowUpKey = function onArrowUpKey(event) {
31773
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
31774
+ if (event.altKey && !pressedInInputText) {
31775
+ if (focusedOptionIndex !== -1) {
31776
+ onOptionSelect(event, visibleOptions[focusedOptionIndex]);
31678
31777
  }
31778
+ state.overlayVisible && hide();
31779
+ event.preventDefault();
31780
+ } else {
31781
+ var optionIndex = focusedOptionIndex !== -1 ? findPrevOptionIndex(focusedOptionIndex) : clicked ? findLastOptionIndex() : findLastFocusedOptionIndex();
31782
+ changeFocusedOptionIndex(event, optionIndex);
31783
+ !overlayVisibleState && show();
31784
+ event.preventDefault();
31679
31785
  }
31680
- searchTimeout.current = setTimeout(function () {
31681
- searchValue.current = null;
31682
- }, 250);
31683
31786
  };
31684
- var searchOption = function searchOption(index) {
31685
- if (searchValue.current) {
31686
- return searchOptionInRange(index, visibleOptions.length) || searchOptionInRange(0, index);
31787
+ var onArrowLeftKey = function onArrowLeftKey(event) {
31788
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
31789
+ pressedInInputText && setFocusedOptionIndex(-1);
31790
+ };
31791
+ var onHomeKey = function onHomeKey(event) {
31792
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
31793
+ if (pressedInInputText) {
31794
+ event.currentTarget.setSelectionRange(0, 0);
31795
+ setFocusedOptionIndex(-1);
31796
+ } else {
31797
+ changeFocusedOptionIndex(event, findFirstOptionIndex());
31798
+ !overlayVisibleState && show();
31687
31799
  }
31688
- return null;
31800
+ event.preventDefault();
31689
31801
  };
31690
- var searchOptionInRange = function searchOptionInRange(start, end) {
31691
- for (var i = start; i < end; i++) {
31692
- var opt = visibleOptions[i];
31693
- if (matchesSearchValue(opt)) {
31694
- return opt;
31695
- }
31802
+ var onEndKey = function onEndKey(event) {
31803
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
31804
+ if (pressedInInputText) {
31805
+ var target = event.currentTarget;
31806
+ var len = target.value.length;
31807
+ target.setSelectionRange(len, len);
31808
+ setFocusedOptionIndex(-1);
31809
+ } else {
31810
+ changeFocusedOptionIndex(event, findLastOptionIndex());
31811
+ !overlayVisibleState && show();
31696
31812
  }
31697
- return null;
31813
+ event.preventDefault();
31698
31814
  };
31699
- var searchOptionInGroup = function searchOptionInGroup(index) {
31700
- var searchIndex = index === -1 ? {
31701
- group: 0,
31702
- option: -1
31703
- } : index;
31704
- for (var i = searchIndex.group; i < visibleOptions.length; i++) {
31705
- var groupOptions = getOptionGroupChildren(visibleOptions[i]);
31706
- for (var j = searchIndex.group === i ? searchIndex.option + 1 : 0; j < groupOptions.length; j++) {
31707
- if (matchesSearchValue(groupOptions[j])) {
31708
- return groupOptions[j];
31709
- }
31815
+ var onPageUpKey = function onPageUpKey(event) {
31816
+ event.preventDefault();
31817
+ };
31818
+ var onPageDownKey = function onPageDownKey(event) {
31819
+ event.preventDefault();
31820
+ };
31821
+ var onSpaceKey = function onSpaceKey(event) {
31822
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
31823
+ !pressedInInputText && onEnterKey(event);
31824
+ };
31825
+ var onEnterKey = function onEnterKey(event) {
31826
+ if (!overlayVisibleState) {
31827
+ setFocusedOptionIndex(-1);
31828
+ onArrowDownKey(event);
31829
+ } else {
31830
+ if (focusedOptionIndex !== -1) {
31831
+ onOptionSelect(event, visibleOptions[focusedOptionIndex]);
31710
31832
  }
31833
+ hide();
31711
31834
  }
31712
- for (var _i = 0; _i <= searchIndex.group; _i++) {
31713
- var _groupOptions = getOptionGroupChildren(visibleOptions[_i]);
31714
- for (var _j = 0; _j < (searchIndex.group === _i ? searchIndex.option : _groupOptions.length); _j++) {
31715
- if (matchesSearchValue(_groupOptions[_j])) {
31716
- return _groupOptions[_j];
31835
+ event.preventDefault();
31836
+ };
31837
+ var onEscapeKey = function onEscapeKey(event) {
31838
+ overlayVisibleState && hide();
31839
+ event.preventDefault();
31840
+ };
31841
+ var onTabKey = function onTabKey(event) {
31842
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
31843
+ if (!pressedInInputText) {
31844
+ if (overlayVisibleState && hasFocusableElements()) {
31845
+ utils.DomHandler.focus($refs.firstHiddenFocusableElementOnOverlay);
31846
+ event.preventDefault();
31847
+ } else {
31848
+ if (focusedOptionIndex !== -1) {
31849
+ onOptionSelect(event, visibleOptions[focusedOptionIndex]);
31717
31850
  }
31851
+ overlayVisibleState && hide();
31718
31852
  }
31719
31853
  }
31720
- return null;
31721
31854
  };
31722
- var matchesSearchValue = function matchesSearchValue(option) {
31723
- var label = getOptionLabel(option);
31724
- if (!label) {
31725
- return false;
31855
+ var onBackspaceKey = function onBackspaceKey(event) {
31856
+ var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
31857
+ if (pressedInInputText) {
31858
+ !overlayVisibleState && show();
31726
31859
  }
31727
- label = label.toLocaleLowerCase(props.filterLocale);
31728
- return label.startsWith(searchValue.current.toLocaleLowerCase(props.filterLocale));
31729
31860
  };
31730
31861
  var onEditableInputChange = function onEditableInputChange(event) {
31862
+ !overlayVisibleState && show();
31863
+ var searchIndex = null;
31864
+ if (event.target.value) {
31865
+ searchIndex = visibleOptions.findIndex(function (item) {
31866
+ return item.name.toLocaleLowerCase().startsWith(event.target.value.toLocaleLowerCase());
31867
+ });
31868
+ }
31869
+ setFocusedOptionIndex(searchIndex);
31731
31870
  if (props.onChange) {
31732
31871
  props.onChange({
31733
31872
  originalEvent: event.originalEvent,
@@ -31857,10 +31996,17 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
31857
31996
  return utils.ObjectUtils.equals(props.value, getOptionValue(option), equalityKey());
31858
31997
  };
31859
31998
  var show = function show() {
31999
+ setFocusedOptionIndex(focusedOptionIndex !== -1 ? focusedOptionIndex : props.autoOptionFocus ? findFirstFocusedOptionIndex() : props.editable ? -1 : findSelectedOptionIndex());
31860
32000
  setOverlayVisibleState(true);
31861
32001
  };
31862
32002
  var hide = function hide() {
31863
32003
  setOverlayVisibleState(false);
32004
+ setClicked(false);
32005
+ };
32006
+ var onFocus = function onFocus() {
32007
+ if (props.editable) {
32008
+ utils.DomHandler.focus(inputRef.current);
32009
+ }
31864
32010
  };
31865
32011
  var onOverlayEnter = function onOverlayEnter(callback) {
31866
32012
  utils.ZIndexUtils.set('overlay', overlayRef.current, context && context.autoZIndex || PrimeReact__default["default"].autoZIndex, context && context.zIndex['overlay'] || PrimeReact__default["default"].zIndex['overlay']);
@@ -31913,6 +32059,9 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
31913
32059
  var getOptionRenderKey = function getOptionRenderKey(option) {
31914
32060
  return props.dataKey ? utils.ObjectUtils.resolveFieldData(option, props.dataKey) : getOptionLabel(option);
31915
32061
  };
32062
+ var isOptionGroup = function isOptionGroup(option) {
32063
+ return props.optionGroupLabel && option.optionGroup && option.group;
32064
+ };
31916
32065
  var isOptionDisabled = function isOptionDisabled(option) {
31917
32066
  if (props.optionDisabled) {
31918
32067
  return utils.ObjectUtils.isFunction(props.optionDisabled) ? props.optionDisabled(option) : utils.ObjectUtils.resolveFieldData(option, props.optionDisabled);
@@ -32061,8 +32210,9 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
32061
32210
  maxLength: props.maxLength,
32062
32211
  onInput: onEditableInputChange,
32063
32212
  onFocus: onEditableInputFocus,
32213
+ onKeyDown: onInputKeyDown,
32064
32214
  onBlur: onInputBlur,
32065
- tabIndex: props.tabIndex || 0,
32215
+ tabIndex: !props.disabled ? props.tabIndex : -1,
32066
32216
  'aria-haspopup': 'listbox'
32067
32217
  }, ariaProps), ptm('input'));
32068
32218
  return /*#__PURE__*/React__namespace.createElement("input", inputProps);
@@ -32154,10 +32304,31 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
32154
32304
  },
32155
32305
  onMouseDown: props.onMouseDown,
32156
32306
  onContextMenu: props.onContextMenu,
32307
+ onFocus: onFocus,
32157
32308
  'data-p-disabled': props.disabled,
32158
32309
  'data-p-focus': focusedState
32159
32310
  }, otherProps, ptm('root'));
32160
- 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({
32311
+ var firstHiddenFocusableElementProps = mergeProps({
32312
+ ref: firstHiddenFocusableElementOnOverlay,
32313
+ role: 'presentation',
32314
+ 'aria-hidden': 'true',
32315
+ className: 'p-hidden-accessible p-hidden-focusable',
32316
+ tabIndex: '0',
32317
+ onFocus: onFirstHiddenFocus,
32318
+ 'data-p-hidden-accessible': true,
32319
+ 'data-p-hidden-focusable': true
32320
+ }, ptm('hiddenFirstFocusableEl'));
32321
+ var lastHiddenFocusableElementProps = mergeProps({
32322
+ ref: lastHiddenFocusableElementOnOverlay,
32323
+ role: 'presentation',
32324
+ 'aria-hidden': 'true',
32325
+ className: 'p-hidden-accessible p-hidden-focusable',
32326
+ tabIndex: '0',
32327
+ onFocus: onLastHiddenFocus,
32328
+ 'data-p-hidden-accessible': true,
32329
+ 'data-p-hidden-focusable': true
32330
+ }, ptm('hiddenLastFocusableEl'));
32331
+ 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({
32161
32332
  hostName: "Dropdown",
32162
32333
  ref: overlayRef,
32163
32334
  visibleOptions: visibleOptions,
@@ -32166,6 +32337,8 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
32166
32337
  appendTo: appendTo,
32167
32338
  onClick: onPanelClick,
32168
32339
  onOptionClick: onOptionClick,
32340
+ focusedOptionIndex: focusedOptionIndex,
32341
+ setFocusedOptionIndex: setFocusedOptionIndex,
32169
32342
  filterValue: filterState,
32170
32343
  hasFilter: hasFilter,
32171
32344
  onFilterClearIconClick: onFilterClearIconClick,
@@ -32188,7 +32361,7 @@ this.primereact.dropdown = (function (exports, React, PrimeReact, componentbase,
32188
32361
  ptm: ptm,
32189
32362
  cx: cx,
32190
32363
  sx: sx
32191
- }))), hasTooltip && /*#__PURE__*/React__namespace.createElement(tooltip.Tooltip, _extends({
32364
+ })), /*#__PURE__*/React__namespace.createElement("span", lastHiddenFocusableElementProps)), hasTooltip && /*#__PURE__*/React__namespace.createElement(tooltip.Tooltip, _extends({
32192
32365
  target: elementRef,
32193
32366
  content: props.tooltip
32194
32367
  }, props.tooltipOptions, {
@@ -33535,71 +33708,320 @@ this.primereact.paginator = (function (exports, React, api, componentbase, hooks
33535
33708
  });
33536
33709
  FirstPageLink.displayName = 'FirstPageLink';
33537
33710
 
33538
- var JumpToPageInput = /*#__PURE__*/React__namespace.memo(function (inProps) {
33539
- hooks.useMergeProps();
33540
- var context = React__namespace.useContext(api.PrimeReactContext);
33541
- var props = JumpToPageInputBase.getProps(inProps, context);
33542
- var ariaLabelValue = ariaLabel('jumpToPageInputLabel');
33543
- var onChange = function onChange(event) {
33544
- if (props.onChange) {
33545
- props.onChange(props.rows * (event.value - 1), props.rows);
33546
- }
33547
- };
33548
- var value = props.pageCount > 0 ? props.page + 1 : 0;
33549
- var element = /*#__PURE__*/React__namespace.createElement(inputnumber.InputNumber, {
33550
- value: value,
33551
- onChange: onChange,
33552
- className: "p-paginator-page-input",
33553
- disabled: props.disabled,
33554
- pt: props.ptm('JTPInput'),
33555
- unstyled: props.unstyled,
33556
- __parentMetadata: {
33557
- parent: props.metaData
33558
- },
33559
- "aria-label": ariaLabelValue
33711
+ function _defineProperties(target, props) {
33712
+ for (var i = 0; i < props.length; i++) {
33713
+ var descriptor = props[i];
33714
+ descriptor.enumerable = descriptor.enumerable || false;
33715
+ descriptor.configurable = true;
33716
+ if ("value" in descriptor) descriptor.writable = true;
33717
+ Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
33718
+ }
33719
+ }
33720
+ function _createClass(Constructor, protoProps, staticProps) {
33721
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
33722
+ if (staticProps) _defineProperties(Constructor, staticProps);
33723
+ Object.defineProperty(Constructor, "prototype", {
33724
+ writable: false
33560
33725
  });
33561
- if (props.template) {
33562
- var defaultOptions = {
33563
- value: value,
33564
- onChange: onChange,
33565
- disabled: props.disabled,
33566
- className: 'p-paginator-page-input',
33567
- ariaLabel: ariaLabelValue,
33568
- element: element,
33569
- props: props
33570
- };
33571
- return utils.ObjectUtils.getJSXElement(props.template, defaultOptions);
33726
+ return Constructor;
33727
+ }
33728
+
33729
+ function _classCallCheck(instance, Constructor) {
33730
+ if (!(instance instanceof Constructor)) {
33731
+ throw new TypeError("Cannot call a class as a function");
33572
33732
  }
33573
- return element;
33733
+ }
33734
+
33735
+ var FilterMatchMode = Object.freeze({
33736
+ STARTS_WITH: 'startsWith',
33737
+ CONTAINS: 'contains',
33738
+ NOT_CONTAINS: 'notContains',
33739
+ ENDS_WITH: 'endsWith',
33740
+ EQUALS: 'equals',
33741
+ NOT_EQUALS: 'notEquals',
33742
+ IN: 'in',
33743
+ LESS_THAN: 'lt',
33744
+ LESS_THAN_OR_EQUAL_TO: 'lte',
33745
+ GREATER_THAN: 'gt',
33746
+ GREATER_THAN_OR_EQUAL_TO: 'gte',
33747
+ BETWEEN: 'between',
33748
+ DATE_IS: 'dateIs',
33749
+ DATE_IS_NOT: 'dateIsNot',
33750
+ DATE_BEFORE: 'dateBefore',
33751
+ DATE_AFTER: 'dateAfter',
33752
+ CUSTOM: 'custom'
33574
33753
  });
33575
- JumpToPageInput.displayName = 'JumpToPageInput';
33576
33754
 
33577
- function ownKeys$3(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; }
33578
- function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
33579
- var LastPageLink = /*#__PURE__*/React__namespace.memo(function (inProps) {
33580
- var mergeProps = hooks.useMergeProps();
33581
- var context = React__namespace.useContext(api.PrimeReactContext);
33582
- var props = LastPageLinkBase.getProps(inProps, context);
33583
- var ptm = props.ptm,
33584
- cx = props.cx;
33585
- var getPTOptions = function getPTOptions(key) {
33586
- return ptm(key, {
33587
- hostName: props.hostName,
33588
- context: {
33589
- disabled: props.disabled
33590
- }
33591
- });
33592
- };
33593
- var className = utils.classNames('p-paginator-last p-paginator-element p-link', {
33594
- 'p-disabled': props.disabled
33595
- });
33596
- var iconClassName = 'p-paginator-icon';
33597
- var lastPageIconProps = mergeProps({
33598
- className: cx('lastPageIcon')
33599
- }, getPTOptions('lastPageIcon'));
33600
- var icon = props.lastPageLinkIcon || /*#__PURE__*/React__namespace.createElement(angledoubleright.AngleDoubleRightIcon, lastPageIconProps);
33601
- var lastPageLinkIcon = utils.IconUtils.getJSXIcon(icon, _objectSpread$3({}, lastPageIconProps), {
33602
- props: props
33755
+ /**
33756
+ * @deprecated please use PrimeReactContext
33757
+ */
33758
+ var PrimeReact = /*#__PURE__*/_createClass(function PrimeReact() {
33759
+ _classCallCheck(this, PrimeReact);
33760
+ });
33761
+ _defineProperty(PrimeReact, "ripple", false);
33762
+ _defineProperty(PrimeReact, "inputStyle", 'outlined');
33763
+ _defineProperty(PrimeReact, "locale", 'en');
33764
+ _defineProperty(PrimeReact, "appendTo", null);
33765
+ _defineProperty(PrimeReact, "cssTransition", true);
33766
+ _defineProperty(PrimeReact, "autoZIndex", true);
33767
+ _defineProperty(PrimeReact, "hideOverlaysOnDocumentScrolling", false);
33768
+ _defineProperty(PrimeReact, "nonce", null);
33769
+ _defineProperty(PrimeReact, "nullSortOrder", 1);
33770
+ _defineProperty(PrimeReact, "zIndex", {
33771
+ modal: 1100,
33772
+ overlay: 1000,
33773
+ menu: 1000,
33774
+ tooltip: 1100,
33775
+ toast: 1200
33776
+ });
33777
+ _defineProperty(PrimeReact, "pt", undefined);
33778
+ _defineProperty(PrimeReact, "filterMatchModeOptions", {
33779
+ text: [FilterMatchMode.STARTS_WITH, FilterMatchMode.CONTAINS, FilterMatchMode.NOT_CONTAINS, FilterMatchMode.ENDS_WITH, FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS],
33780
+ numeric: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO],
33781
+ date: [FilterMatchMode.DATE_IS, FilterMatchMode.DATE_IS_NOT, FilterMatchMode.DATE_BEFORE, FilterMatchMode.DATE_AFTER]
33782
+ });
33783
+ _defineProperty(PrimeReact, "changeTheme", function (currentTheme, newTheme, linkElementId, callback) {
33784
+ var _linkElement$parentNo;
33785
+ var linkElement = document.getElementById(linkElementId);
33786
+ var cloneLinkElement = linkElement.cloneNode(true);
33787
+ var newThemeUrl = linkElement.getAttribute('href').replace(currentTheme, newTheme);
33788
+ cloneLinkElement.setAttribute('id', linkElementId + '-clone');
33789
+ cloneLinkElement.setAttribute('href', newThemeUrl);
33790
+ cloneLinkElement.addEventListener('load', function () {
33791
+ linkElement.remove();
33792
+ cloneLinkElement.setAttribute('id', linkElementId);
33793
+ if (callback) {
33794
+ callback();
33795
+ }
33796
+ });
33797
+ (_linkElement$parentNo = linkElement.parentNode) === null || _linkElement$parentNo === void 0 || _linkElement$parentNo.insertBefore(cloneLinkElement, linkElement.nextSibling);
33798
+ });
33799
+
33800
+ var locales = {
33801
+ en: {
33802
+ startsWith: 'Starts with',
33803
+ contains: 'Contains',
33804
+ notContains: 'Not contains',
33805
+ endsWith: 'Ends with',
33806
+ equals: 'Equals',
33807
+ notEquals: 'Not equals',
33808
+ noFilter: 'No Filter',
33809
+ filter: 'Filter',
33810
+ lt: 'Less than',
33811
+ lte: 'Less than or equal to',
33812
+ gt: 'Greater than',
33813
+ gte: 'Greater than or equal to',
33814
+ dateIs: 'Date is',
33815
+ dateIsNot: 'Date is not',
33816
+ dateBefore: 'Date is before',
33817
+ dateAfter: 'Date is after',
33818
+ custom: 'Custom',
33819
+ clear: 'Clear',
33820
+ close: 'Close',
33821
+ apply: 'Apply',
33822
+ matchAll: 'Match All',
33823
+ matchAny: 'Match Any',
33824
+ addRule: 'Add Rule',
33825
+ removeRule: 'Remove Rule',
33826
+ accept: 'Yes',
33827
+ reject: 'No',
33828
+ choose: 'Choose',
33829
+ upload: 'Upload',
33830
+ cancel: 'Cancel',
33831
+ completed: 'Completed',
33832
+ pending: 'Pending',
33833
+ fileSizeTypes: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
33834
+ dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
33835
+ dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
33836
+ dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
33837
+ monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
33838
+ monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
33839
+ chooseYear: 'Choose Year',
33840
+ chooseMonth: 'Choose Month',
33841
+ chooseDate: 'Choose Date',
33842
+ prevDecade: 'Previous Decade',
33843
+ nextDecade: 'Next Decade',
33844
+ prevYear: 'Previous Year',
33845
+ nextYear: 'Next Year',
33846
+ prevMonth: 'Previous Month',
33847
+ nextMonth: 'Next Month',
33848
+ prevHour: 'Previous Hour',
33849
+ nextHour: 'Next Hour',
33850
+ prevMinute: 'Previous Minute',
33851
+ nextMinute: 'Next Minute',
33852
+ prevSecond: 'Previous Second',
33853
+ nextSecond: 'Next Second',
33854
+ prevMilliSecond: 'Previous Second',
33855
+ nextMilliSecond: 'Next Second',
33856
+ am: 'am',
33857
+ pm: 'pm',
33858
+ today: 'Today',
33859
+ now: 'Now',
33860
+ weekHeader: 'Wk',
33861
+ firstDayOfWeek: 0,
33862
+ showMonthAfterYear: false,
33863
+ dateFormat: 'mm/dd/yy',
33864
+ weak: 'Weak',
33865
+ medium: 'Medium',
33866
+ strong: 'Strong',
33867
+ passwordPrompt: 'Enter a password',
33868
+ emptyFilterMessage: 'No available options',
33869
+ emptyMessage: 'No results found',
33870
+ aria: {
33871
+ trueLabel: 'True',
33872
+ falseLabel: 'False',
33873
+ nullLabel: 'Not Selected',
33874
+ star: '1 star',
33875
+ stars: '{star} stars',
33876
+ selectAll: 'All items selected',
33877
+ unselectAll: 'All items unselected',
33878
+ close: 'Close',
33879
+ previous: 'Previous',
33880
+ next: 'Next',
33881
+ navigation: 'Navigation',
33882
+ scrollTop: 'Scroll Top',
33883
+ moveTop: 'Move Top',
33884
+ moveUp: 'Move Up',
33885
+ moveDown: 'Move Down',
33886
+ moveBottom: 'Move Bottom',
33887
+ moveToTarget: 'Move to Target',
33888
+ moveToSource: 'Move to Source',
33889
+ moveAllToTarget: 'Move All to Target',
33890
+ moveAllToSource: 'Move All to Source',
33891
+ pageLabel: 'Page {page}',
33892
+ firstPageLabel: 'First Page',
33893
+ lastPageLabel: 'Last Page',
33894
+ nextPageLabel: 'Next Page',
33895
+ previousPageLabel: 'Previous Page',
33896
+ rowsPerPageLabel: 'Rows per page',
33897
+ jumpToPageDropdownLabel: 'Jump to Page Dropdown',
33898
+ jumpToPageInputLabel: 'Jump to Page Input',
33899
+ selectRow: 'Row Selected',
33900
+ unselectRow: 'Row Unselected',
33901
+ expandRow: 'Row Expanded',
33902
+ collapseRow: 'Row Collapsed',
33903
+ showFilterMenu: 'Show Filter Menu',
33904
+ hideFilterMenu: 'Hide Filter Menu',
33905
+ filterOperator: 'Filter Operator',
33906
+ filterConstraint: 'Filter Constraint',
33907
+ editRow: 'Row Edit',
33908
+ saveEdit: 'Save Edit',
33909
+ cancelEdit: 'Cancel Edit',
33910
+ listView: 'List View',
33911
+ gridView: 'Grid View',
33912
+ slide: 'Slide',
33913
+ slideNumber: '{slideNumber}',
33914
+ zoomImage: 'Zoom Image',
33915
+ zoomIn: 'Zoom In',
33916
+ zoomOut: 'Zoom Out',
33917
+ rotateRight: 'Rotate Right',
33918
+ rotateLeft: 'Rotate Left',
33919
+ selectLabel: 'Select',
33920
+ unselectLabel: 'Unselect',
33921
+ expandLabel: 'Expand',
33922
+ collapseLabel: 'Collapse'
33923
+ }
33924
+ }
33925
+ };
33926
+
33927
+ /**
33928
+ * Find an ARIA label in the locale by key. If options are passed it will replace all options:
33929
+ * ```ts
33930
+ * const ariaValue = "Page {page}, User {user}, Role {role}";
33931
+ * const options = { page: 2, user: "John", role: "Admin" };
33932
+ * const result = ariaLabel('yourLabel', { page: 2, user: "John", role: "Admin" })
33933
+ * console.log(result); // Output: Page 2, User John, Role Admin
33934
+ * ```
33935
+ * @param {string} ariaKey key of the ARIA label to look up in locale.
33936
+ * @param {any} options JSON options like { page: 2, user: "John", role: "Admin" }
33937
+ * @returns the ARIA label with replaced values
33938
+ */
33939
+ function ariaLabel(ariaKey, options) {
33940
+ var _locale = PrimeReact.locale;
33941
+ try {
33942
+ var _ariaLabel = localeOptions(_locale)['aria'][ariaKey];
33943
+ if (_ariaLabel) {
33944
+ for (var key in options) {
33945
+ if (options.hasOwnProperty(key)) {
33946
+ _ariaLabel = _ariaLabel.replace("{".concat(key, "}"), options[key]);
33947
+ }
33948
+ }
33949
+ }
33950
+ return _ariaLabel;
33951
+ } catch (error) {
33952
+ throw new Error("The ".concat(ariaKey, " option is not found in the current locale('").concat(_locale, "')."));
33953
+ }
33954
+ }
33955
+ function localeOptions(locale) {
33956
+ var _locale = locale || PrimeReact.locale;
33957
+ return locales[_locale];
33958
+ }
33959
+
33960
+ var JumpToPageInput = /*#__PURE__*/React__namespace.memo(function (inProps) {
33961
+ hooks.useMergeProps();
33962
+ var context = React__namespace.useContext(api.PrimeReactContext);
33963
+ var props = JumpToPageInputBase.getProps(inProps, context);
33964
+ var ariaLabelValue = ariaLabel('jumpToPageInputLabel');
33965
+ var onChange = function onChange(event) {
33966
+ if (props.onChange) {
33967
+ props.onChange(props.rows * (event.value - 1), props.rows);
33968
+ }
33969
+ };
33970
+ var value = props.pageCount > 0 ? props.page + 1 : 0;
33971
+ var element = /*#__PURE__*/React__namespace.createElement(inputnumber.InputNumber, {
33972
+ value: value,
33973
+ onChange: onChange,
33974
+ className: "p-paginator-page-input",
33975
+ disabled: props.disabled,
33976
+ pt: props.ptm('JTPInput'),
33977
+ unstyled: props.unstyled,
33978
+ __parentMetadata: {
33979
+ parent: props.metaData
33980
+ },
33981
+ "aria-label": ariaLabelValue
33982
+ });
33983
+ if (props.template) {
33984
+ var defaultOptions = {
33985
+ value: value,
33986
+ onChange: onChange,
33987
+ disabled: props.disabled,
33988
+ className: 'p-paginator-page-input',
33989
+ 'aria-label': ariaLabelValue,
33990
+ element: element,
33991
+ props: props
33992
+ };
33993
+ return utils.ObjectUtils.getJSXElement(props.template, defaultOptions);
33994
+ }
33995
+ return element;
33996
+ });
33997
+ JumpToPageInput.displayName = 'JumpToPageInput';
33998
+
33999
+ function ownKeys$3(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; }
34000
+ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
34001
+ var LastPageLink = /*#__PURE__*/React__namespace.memo(function (inProps) {
34002
+ var mergeProps = hooks.useMergeProps();
34003
+ var context = React__namespace.useContext(api.PrimeReactContext);
34004
+ var props = LastPageLinkBase.getProps(inProps, context);
34005
+ var ptm = props.ptm,
34006
+ cx = props.cx;
34007
+ var getPTOptions = function getPTOptions(key) {
34008
+ return ptm(key, {
34009
+ hostName: props.hostName,
34010
+ context: {
34011
+ disabled: props.disabled
34012
+ }
34013
+ });
34014
+ };
34015
+ var className = utils.classNames('p-paginator-last p-paginator-element p-link', {
34016
+ 'p-disabled': props.disabled
34017
+ });
34018
+ var iconClassName = 'p-paginator-icon';
34019
+ var lastPageIconProps = mergeProps({
34020
+ className: cx('lastPageIcon')
34021
+ }, getPTOptions('lastPageIcon'));
34022
+ var icon = props.lastPageLinkIcon || /*#__PURE__*/React__namespace.createElement(angledoubleright.AngleDoubleRightIcon, lastPageIconProps);
34023
+ var lastPageLinkIcon = utils.IconUtils.getJSXIcon(icon, _objectSpread$3({}, lastPageIconProps), {
34024
+ props: props
33603
34025
  });
33604
34026
  var lastPageButtonProps = mergeProps({
33605
34027
  type: 'button',
@@ -33818,255 +34240,6 @@ this.primereact.paginator = (function (exports, React, api, componentbase, hooks
33818
34240
  });
33819
34241
  PrevPageLink.displayName = 'PrevPageLink';
33820
34242
 
33821
- function _defineProperties(target, props) {
33822
- for (var i = 0; i < props.length; i++) {
33823
- var descriptor = props[i];
33824
- descriptor.enumerable = descriptor.enumerable || false;
33825
- descriptor.configurable = true;
33826
- if ("value" in descriptor) descriptor.writable = true;
33827
- Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
33828
- }
33829
- }
33830
- function _createClass(Constructor, protoProps, staticProps) {
33831
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
33832
- if (staticProps) _defineProperties(Constructor, staticProps);
33833
- Object.defineProperty(Constructor, "prototype", {
33834
- writable: false
33835
- });
33836
- return Constructor;
33837
- }
33838
-
33839
- function _classCallCheck(instance, Constructor) {
33840
- if (!(instance instanceof Constructor)) {
33841
- throw new TypeError("Cannot call a class as a function");
33842
- }
33843
- }
33844
-
33845
- var FilterMatchMode = Object.freeze({
33846
- STARTS_WITH: 'startsWith',
33847
- CONTAINS: 'contains',
33848
- NOT_CONTAINS: 'notContains',
33849
- ENDS_WITH: 'endsWith',
33850
- EQUALS: 'equals',
33851
- NOT_EQUALS: 'notEquals',
33852
- IN: 'in',
33853
- LESS_THAN: 'lt',
33854
- LESS_THAN_OR_EQUAL_TO: 'lte',
33855
- GREATER_THAN: 'gt',
33856
- GREATER_THAN_OR_EQUAL_TO: 'gte',
33857
- BETWEEN: 'between',
33858
- DATE_IS: 'dateIs',
33859
- DATE_IS_NOT: 'dateIsNot',
33860
- DATE_BEFORE: 'dateBefore',
33861
- DATE_AFTER: 'dateAfter',
33862
- CUSTOM: 'custom'
33863
- });
33864
-
33865
- /**
33866
- * @deprecated please use PrimeReactContext
33867
- */
33868
- var PrimeReact = /*#__PURE__*/_createClass(function PrimeReact() {
33869
- _classCallCheck(this, PrimeReact);
33870
- });
33871
- _defineProperty(PrimeReact, "ripple", false);
33872
- _defineProperty(PrimeReact, "inputStyle", 'outlined');
33873
- _defineProperty(PrimeReact, "locale", 'en');
33874
- _defineProperty(PrimeReact, "appendTo", null);
33875
- _defineProperty(PrimeReact, "cssTransition", true);
33876
- _defineProperty(PrimeReact, "autoZIndex", true);
33877
- _defineProperty(PrimeReact, "hideOverlaysOnDocumentScrolling", false);
33878
- _defineProperty(PrimeReact, "nonce", null);
33879
- _defineProperty(PrimeReact, "nullSortOrder", 1);
33880
- _defineProperty(PrimeReact, "zIndex", {
33881
- modal: 1100,
33882
- overlay: 1000,
33883
- menu: 1000,
33884
- tooltip: 1100,
33885
- toast: 1200
33886
- });
33887
- _defineProperty(PrimeReact, "pt", undefined);
33888
- _defineProperty(PrimeReact, "filterMatchModeOptions", {
33889
- text: [FilterMatchMode.STARTS_WITH, FilterMatchMode.CONTAINS, FilterMatchMode.NOT_CONTAINS, FilterMatchMode.ENDS_WITH, FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS],
33890
- numeric: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO],
33891
- date: [FilterMatchMode.DATE_IS, FilterMatchMode.DATE_IS_NOT, FilterMatchMode.DATE_BEFORE, FilterMatchMode.DATE_AFTER]
33892
- });
33893
- _defineProperty(PrimeReact, "changeTheme", function (currentTheme, newTheme, linkElementId, callback) {
33894
- var _linkElement$parentNo;
33895
- var linkElement = document.getElementById(linkElementId);
33896
- var cloneLinkElement = linkElement.cloneNode(true);
33897
- var newThemeUrl = linkElement.getAttribute('href').replace(currentTheme, newTheme);
33898
- cloneLinkElement.setAttribute('id', linkElementId + '-clone');
33899
- cloneLinkElement.setAttribute('href', newThemeUrl);
33900
- cloneLinkElement.addEventListener('load', function () {
33901
- linkElement.remove();
33902
- cloneLinkElement.setAttribute('id', linkElementId);
33903
- if (callback) {
33904
- callback();
33905
- }
33906
- });
33907
- (_linkElement$parentNo = linkElement.parentNode) === null || _linkElement$parentNo === void 0 || _linkElement$parentNo.insertBefore(cloneLinkElement, linkElement.nextSibling);
33908
- });
33909
-
33910
- var locales = {
33911
- en: {
33912
- startsWith: 'Starts with',
33913
- contains: 'Contains',
33914
- notContains: 'Not contains',
33915
- endsWith: 'Ends with',
33916
- equals: 'Equals',
33917
- notEquals: 'Not equals',
33918
- noFilter: 'No Filter',
33919
- filter: 'Filter',
33920
- lt: 'Less than',
33921
- lte: 'Less than or equal to',
33922
- gt: 'Greater than',
33923
- gte: 'Greater than or equal to',
33924
- dateIs: 'Date is',
33925
- dateIsNot: 'Date is not',
33926
- dateBefore: 'Date is before',
33927
- dateAfter: 'Date is after',
33928
- custom: 'Custom',
33929
- clear: 'Clear',
33930
- close: 'Close',
33931
- apply: 'Apply',
33932
- matchAll: 'Match All',
33933
- matchAny: 'Match Any',
33934
- addRule: 'Add Rule',
33935
- removeRule: 'Remove Rule',
33936
- accept: 'Yes',
33937
- reject: 'No',
33938
- choose: 'Choose',
33939
- upload: 'Upload',
33940
- cancel: 'Cancel',
33941
- completed: 'Completed',
33942
- pending: 'Pending',
33943
- fileSizeTypes: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
33944
- dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
33945
- dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
33946
- dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
33947
- monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
33948
- monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
33949
- chooseYear: 'Choose Year',
33950
- chooseMonth: 'Choose Month',
33951
- chooseDate: 'Choose Date',
33952
- prevDecade: 'Previous Decade',
33953
- nextDecade: 'Next Decade',
33954
- prevYear: 'Previous Year',
33955
- nextYear: 'Next Year',
33956
- prevMonth: 'Previous Month',
33957
- nextMonth: 'Next Month',
33958
- prevHour: 'Previous Hour',
33959
- nextHour: 'Next Hour',
33960
- prevMinute: 'Previous Minute',
33961
- nextMinute: 'Next Minute',
33962
- prevSecond: 'Previous Second',
33963
- nextSecond: 'Next Second',
33964
- prevMilliSecond: 'Previous Second',
33965
- nextMilliSecond: 'Next Second',
33966
- am: 'am',
33967
- pm: 'pm',
33968
- today: 'Today',
33969
- now: 'Now',
33970
- weekHeader: 'Wk',
33971
- firstDayOfWeek: 0,
33972
- showMonthAfterYear: false,
33973
- dateFormat: 'mm/dd/yy',
33974
- weak: 'Weak',
33975
- medium: 'Medium',
33976
- strong: 'Strong',
33977
- passwordPrompt: 'Enter a password',
33978
- emptyFilterMessage: 'No available options',
33979
- emptyMessage: 'No results found',
33980
- aria: {
33981
- trueLabel: 'True',
33982
- falseLabel: 'False',
33983
- nullLabel: 'Not Selected',
33984
- star: '1 star',
33985
- stars: '{star} stars',
33986
- selectAll: 'All items selected',
33987
- unselectAll: 'All items unselected',
33988
- close: 'Close',
33989
- previous: 'Previous',
33990
- next: 'Next',
33991
- navigation: 'Navigation',
33992
- scrollTop: 'Scroll Top',
33993
- moveTop: 'Move Top',
33994
- moveUp: 'Move Up',
33995
- moveDown: 'Move Down',
33996
- moveBottom: 'Move Bottom',
33997
- moveToTarget: 'Move to Target',
33998
- moveToSource: 'Move to Source',
33999
- moveAllToTarget: 'Move All to Target',
34000
- moveAllToSource: 'Move All to Source',
34001
- pageLabel: 'Page {page}',
34002
- firstPageLabel: 'First Page',
34003
- lastPageLabel: 'Last Page',
34004
- nextPageLabel: 'Next Page',
34005
- previousPageLabel: 'Previous Page',
34006
- rowsPerPageLabel: 'Rows per page',
34007
- jumpToPageDropdownLabel: 'Jump to Page Dropdown',
34008
- jumpToPageInputLabel: 'Jump to Page Input',
34009
- selectRow: 'Row Selected',
34010
- unselectRow: 'Row Unselected',
34011
- expandRow: 'Row Expanded',
34012
- collapseRow: 'Row Collapsed',
34013
- showFilterMenu: 'Show Filter Menu',
34014
- hideFilterMenu: 'Hide Filter Menu',
34015
- filterOperator: 'Filter Operator',
34016
- filterConstraint: 'Filter Constraint',
34017
- editRow: 'Row Edit',
34018
- saveEdit: 'Save Edit',
34019
- cancelEdit: 'Cancel Edit',
34020
- listView: 'List View',
34021
- gridView: 'Grid View',
34022
- slide: 'Slide',
34023
- slideNumber: '{slideNumber}',
34024
- zoomImage: 'Zoom Image',
34025
- zoomIn: 'Zoom In',
34026
- zoomOut: 'Zoom Out',
34027
- rotateRight: 'Rotate Right',
34028
- rotateLeft: 'Rotate Left',
34029
- selectLabel: 'Select',
34030
- unselectLabel: 'Unselect',
34031
- expandLabel: 'Expand',
34032
- collapseLabel: 'Collapse'
34033
- }
34034
- }
34035
- };
34036
-
34037
- /**
34038
- * Find an ARIA label in the locale by key. If options are passed it will replace all options:
34039
- * ```ts
34040
- * const ariaValue = "Page {page}, User {user}, Role {role}";
34041
- * const options = { page: 2, user: "John", role: "Admin" };
34042
- * const result = ariaLabel('yourLabel', { page: 2, user: "John", role: "Admin" })
34043
- * console.log(result); // Output: Page 2, User John, Role Admin
34044
- * ```
34045
- * @param {string} ariaKey key of the ARIA label to look up in locale.
34046
- * @param {any} options JSON options like { page: 2, user: "John", role: "Admin" }
34047
- * @returns the ARIA label with replaced values
34048
- */
34049
- function ariaLabel$1(ariaKey, options) {
34050
- var _locale = PrimeReact.locale;
34051
- try {
34052
- var _ariaLabel = localeOptions(_locale)['aria'][ariaKey];
34053
- if (_ariaLabel) {
34054
- for (var key in options) {
34055
- if (options.hasOwnProperty(key)) {
34056
- _ariaLabel = _ariaLabel.replace("{".concat(key, "}"), options[key]);
34057
- }
34058
- }
34059
- }
34060
- return _ariaLabel;
34061
- } catch (error) {
34062
- throw new Error("The ".concat(ariaKey, " option is not found in the current locale('").concat(_locale, "')."));
34063
- }
34064
- }
34065
- function localeOptions(locale) {
34066
- var _locale = locale || PrimeReact.locale;
34067
- return locales[_locale];
34068
- }
34069
-
34070
34243
  var RowsPerPageDropdown = /*#__PURE__*/React__namespace.memo(function (inProps) {
34071
34244
  hooks.useMergeProps();
34072
34245
  var context = React__namespace.useContext(api.PrimeReactContext);
@@ -34079,7 +34252,7 @@ this.primereact.paginator = (function (exports, React, api, componentbase, hooks
34079
34252
  };
34080
34253
  }) : [];
34081
34254
  var placeholderValue = api.localeOption('choose');
34082
- var ariaLabelValue = ariaLabel$1('rowsPerPage');
34255
+ var ariaLabelValue = ariaLabel('jumpToPageDropdownLabel');
34083
34256
  var element = hasOptions ? /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, /*#__PURE__*/React__namespace.createElement(dropdown.Dropdown, {
34084
34257
  value: props.value,
34085
34258
  options: options,
@@ -34550,6 +34723,7 @@ this.primereact.tree = (function (exports, React, api, componentbase, hooks, sea
34550
34723
  loadingIcon: 'p-tree-loading-icon',
34551
34724
  loadingOverlay: 'p-tree-loading-overlay p-component-overlay',
34552
34725
  searchIcon: 'p-tree-filter-icon',
34726
+ emptyMessage: 'p-treenode p-tree-empty-message',
34553
34727
  filterContainer: 'p-tree-filter-container',
34554
34728
  input: 'p-tree-filter p-inputtext p-component',
34555
34729
  header: 'p-tree-header',
@@ -34608,6 +34782,7 @@ this.primereact.tree = (function (exports, React, api, componentbase, hooks, sea
34608
34782
  value: null,
34609
34783
  checkboxIcon: null,
34610
34784
  disabled: false,
34785
+ emptyMessage: null,
34611
34786
  selectionMode: null,
34612
34787
  selectionKeys: null,
34613
34788
  onSelectionChange: null,
@@ -35799,27 +35974,43 @@ this.primereact.tree = (function (exports, React, api, componentbase, hooks, sea
35799
35974
  togglerTemplate: props.togglerTemplate
35800
35975
  });
35801
35976
  };
35802
- var createRootChildren = function createRootChildren() {
35803
- if (props.filter) {
35804
- filterChanged.current = true;
35805
- _filter();
35806
- }
35807
- var value = getRootNode();
35977
+ var createEmptyMessageNode = function createEmptyMessageNode() {
35978
+ var emptyMessageProps = mergeProps({
35979
+ className: utils.classNames(props.contentClassName, cx('emptyMessage'))
35980
+ }, ptm('emptyMessage'));
35981
+ return /*#__PURE__*/React__namespace.createElement("li", emptyMessageProps, /*#__PURE__*/React__namespace.createElement("span", {
35982
+ className: "p-treenode-content"
35983
+ }, api.localeOption('emptyMessage')));
35984
+ };
35985
+ var createRootChildrenContainer = function createRootChildrenContainer(children) {
35986
+ var containerProps = mergeProps(_objectSpread({
35987
+ className: utils.classNames(props.contentClassName, cx('container')),
35988
+ role: 'tree',
35989
+ 'aria-label': props.ariaLabel,
35990
+ 'aria-labelledby': props.ariaLabelledBy,
35991
+ style: props.contentStyle
35992
+ }, ariaProps), ptm('container'));
35993
+ return /*#__PURE__*/React__namespace.createElement("ul", containerProps, children);
35994
+ };
35995
+ var createRootChildren = function createRootChildren(value) {
35808
35996
  return value.map(function (node, index) {
35809
35997
  return createRootChild(node, index, index === value.length - 1);
35810
35998
  });
35811
35999
  };
35812
36000
  var createModel = function createModel() {
35813
36001
  if (props.value) {
35814
- var rootNodes = createRootChildren();
35815
- var containerProps = mergeProps(_objectSpread({
35816
- className: utils.classNames(props.contentClassName, cx('container')),
35817
- role: 'tree',
35818
- 'aria-label': props.ariaLabel,
35819
- 'aria-labelledby': props.ariaLabelledBy,
35820
- style: props.contentStyle
35821
- }, ariaProps), ptm('container'));
35822
- return /*#__PURE__*/React__namespace.createElement("ul", containerProps, rootNodes);
36002
+ if (props.filter) {
36003
+ filterChanged.current = true;
36004
+ _filter();
36005
+ }
36006
+ var value = getRootNode();
36007
+ if (value.length > 0) {
36008
+ var rootNodes = createRootChildren(value);
36009
+ return createRootChildrenContainer(rootNodes);
36010
+ } else {
36011
+ var emptyMessageNode = createEmptyMessageNode();
36012
+ return createRootChildrenContainer(emptyMessageNode);
36013
+ }
35823
36014
  }
35824
36015
  return null;
35825
36016
  };