primereact 10.2.1 → 10.3.1

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 (654) hide show
  1. package/accordion/accordion.cjs.js +83 -8
  2. package/accordion/accordion.cjs.min.js +1 -1
  3. package/accordion/accordion.d.ts +35 -0
  4. package/accordion/accordion.esm.js +85 -10
  5. package/accordion/accordion.esm.min.js +1 -1
  6. package/accordion/accordion.js +83 -8
  7. package/accordion/accordion.min.js +1 -1
  8. package/api/api.cjs.js +63 -33
  9. package/api/api.cjs.min.js +1 -1
  10. package/api/api.d.ts +24 -246
  11. package/api/api.esm.js +63 -33
  12. package/api/api.esm.min.js +1 -1
  13. package/api/api.js +63 -33
  14. package/api/api.min.js +1 -1
  15. package/autocomplete/autocomplete.cjs.js +3 -2
  16. package/autocomplete/autocomplete.cjs.min.js +1 -1
  17. package/autocomplete/autocomplete.d.ts +6 -1
  18. package/autocomplete/autocomplete.esm.js +3 -2
  19. package/autocomplete/autocomplete.esm.min.js +1 -1
  20. package/autocomplete/autocomplete.js +3 -2
  21. package/autocomplete/autocomplete.min.js +1 -1
  22. package/blockui/blockui.cjs.js +8 -5
  23. package/blockui/blockui.cjs.min.js +1 -1
  24. package/blockui/blockui.esm.js +8 -5
  25. package/blockui/blockui.esm.min.js +1 -1
  26. package/blockui/blockui.js +8 -5
  27. package/blockui/blockui.min.js +1 -1
  28. package/breadcrumb/breadcrumb.cjs.js +12 -6
  29. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  30. package/breadcrumb/breadcrumb.esm.js +12 -6
  31. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  32. package/breadcrumb/breadcrumb.js +12 -6
  33. package/breadcrumb/breadcrumb.min.js +1 -1
  34. package/calendar/calendar.cjs.js +71 -37
  35. package/calendar/calendar.cjs.min.js +1 -1
  36. package/calendar/calendar.d.ts +3 -5
  37. package/calendar/calendar.esm.js +71 -37
  38. package/calendar/calendar.esm.min.js +1 -1
  39. package/calendar/calendar.js +71 -37
  40. package/calendar/calendar.min.js +1 -1
  41. package/carousel/carousel.cjs.js +103 -9
  42. package/carousel/carousel.cjs.min.js +1 -1
  43. package/carousel/carousel.esm.js +104 -10
  44. package/carousel/carousel.esm.min.js +1 -1
  45. package/carousel/carousel.js +103 -9
  46. package/carousel/carousel.min.js +1 -1
  47. package/cascadeselect/cascadeselect.cjs.js +64 -23
  48. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  49. package/cascadeselect/cascadeselect.d.ts +27 -4
  50. package/cascadeselect/cascadeselect.esm.js +65 -24
  51. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  52. package/cascadeselect/cascadeselect.js +65 -25
  53. package/cascadeselect/cascadeselect.min.js +1 -1
  54. package/checkbox/checkbox.cjs.js +25 -25
  55. package/checkbox/checkbox.cjs.min.js +1 -1
  56. package/checkbox/checkbox.esm.js +25 -25
  57. package/checkbox/checkbox.esm.min.js +1 -1
  58. package/checkbox/checkbox.js +26 -26
  59. package/checkbox/checkbox.min.js +1 -1
  60. package/chip/chip.cjs.js +5 -2
  61. package/chip/chip.cjs.min.js +1 -1
  62. package/chip/chip.d.ts +17 -2
  63. package/chip/chip.esm.js +5 -2
  64. package/chip/chip.esm.min.js +1 -1
  65. package/chip/chip.js +5 -2
  66. package/chip/chip.min.js +1 -1
  67. package/colorpicker/colorpicker.d.ts +1 -1
  68. package/componentbase/componentbase.cjs.js +49 -8
  69. package/componentbase/componentbase.cjs.min.js +1 -1
  70. package/componentbase/componentbase.esm.js +50 -9
  71. package/componentbase/componentbase.esm.min.js +1 -1
  72. package/componentbase/componentbase.js +49 -8
  73. package/componentbase/componentbase.min.js +1 -1
  74. package/confirmdialog/confirmdialog.cjs.js +30 -22
  75. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  76. package/confirmdialog/confirmdialog.d.ts +19 -3
  77. package/confirmdialog/confirmdialog.esm.js +30 -22
  78. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  79. package/confirmdialog/confirmdialog.js +30 -22
  80. package/confirmdialog/confirmdialog.min.js +1 -1
  81. package/confirmpopup/confirmpopup.cjs.js +85 -152
  82. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  83. package/confirmpopup/confirmpopup.d.ts +40 -1
  84. package/confirmpopup/confirmpopup.esm.js +88 -155
  85. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  86. package/confirmpopup/confirmpopup.js +85 -152
  87. package/confirmpopup/confirmpopup.min.js +1 -1
  88. package/contextmenu/contextmenu.cjs.js +641 -99
  89. package/contextmenu/contextmenu.cjs.min.js +1 -1
  90. package/contextmenu/contextmenu.d.ts +23 -1
  91. package/contextmenu/contextmenu.esm.js +641 -99
  92. package/contextmenu/contextmenu.esm.min.js +1 -1
  93. package/contextmenu/contextmenu.js +641 -99
  94. package/contextmenu/contextmenu.min.js +1 -1
  95. package/core/core.js +1217 -484
  96. package/core/core.min.js +40 -40
  97. package/datatable/datatable.cjs.js +30 -26
  98. package/datatable/datatable.cjs.min.js +1 -1
  99. package/datatable/datatable.d.ts +5 -4
  100. package/datatable/datatable.esm.js +30 -26
  101. package/datatable/datatable.esm.min.js +1 -1
  102. package/datatable/datatable.js +30 -26
  103. package/datatable/datatable.min.js +1 -1
  104. package/dataview/dataview.d.ts +1 -1
  105. package/dialog/dialog.cjs.js +108 -151
  106. package/dialog/dialog.cjs.min.js +1 -1
  107. package/dialog/dialog.d.ts +60 -1
  108. package/dialog/dialog.esm.js +115 -158
  109. package/dialog/dialog.esm.min.js +1 -1
  110. package/dialog/dialog.js +109 -152
  111. package/dialog/dialog.min.js +1 -1
  112. package/divider/divider.cjs.js +1 -0
  113. package/divider/divider.cjs.min.js +1 -1
  114. package/divider/divider.esm.js +1 -0
  115. package/divider/divider.esm.min.js +1 -1
  116. package/divider/divider.js +1 -0
  117. package/divider/divider.min.js +1 -1
  118. package/dock/dock.cjs.js +169 -33
  119. package/dock/dock.cjs.min.js +1 -1
  120. package/dock/dock.d.ts +15 -0
  121. package/dock/dock.esm.js +170 -34
  122. package/dock/dock.esm.min.js +1 -1
  123. package/dock/dock.js +169 -33
  124. package/dock/dock.min.js +1 -1
  125. package/dropdown/dropdown.cjs.js +29 -4
  126. package/dropdown/dropdown.cjs.min.js +1 -1
  127. package/dropdown/dropdown.d.ts +1 -1
  128. package/dropdown/dropdown.esm.js +29 -4
  129. package/dropdown/dropdown.esm.min.js +1 -1
  130. package/dropdown/dropdown.js +30 -6
  131. package/dropdown/dropdown.min.js +1 -1
  132. package/fieldset/fieldset.cjs.js +12 -5
  133. package/fieldset/fieldset.cjs.min.js +1 -1
  134. package/fieldset/fieldset.esm.js +12 -5
  135. package/fieldset/fieldset.esm.min.js +1 -1
  136. package/fieldset/fieldset.js +12 -5
  137. package/fieldset/fieldset.min.js +1 -1
  138. package/fileupload/fileupload.cjs.js +14 -6
  139. package/fileupload/fileupload.cjs.min.js +1 -1
  140. package/fileupload/fileupload.d.ts +17 -1
  141. package/fileupload/fileupload.esm.js +14 -6
  142. package/fileupload/fileupload.esm.min.js +1 -1
  143. package/fileupload/fileupload.js +14 -6
  144. package/fileupload/fileupload.min.js +1 -1
  145. package/galleria/galleria.cjs.js +223 -43
  146. package/galleria/galleria.cjs.min.js +1 -1
  147. package/galleria/galleria.esm.js +225 -45
  148. package/galleria/galleria.esm.min.js +1 -1
  149. package/galleria/galleria.js +223 -43
  150. package/galleria/galleria.min.js +1 -1
  151. package/hooks/hooks.cjs.js +219 -78
  152. package/hooks/hooks.cjs.min.js +1 -1
  153. package/hooks/hooks.d.ts +8 -4
  154. package/hooks/hooks.esm.js +219 -80
  155. package/hooks/hooks.esm.min.js +1 -1
  156. package/hooks/hooks.js +219 -78
  157. package/hooks/hooks.min.js +1 -1
  158. package/icons/arrowdown/index.cjs.js +13 -2
  159. package/icons/arrowdown/index.cjs.min.js +1 -1
  160. package/icons/arrowdown/index.esm.js +13 -2
  161. package/icons/arrowdown/index.esm.min.js +1 -1
  162. package/icons/arrowdown/index.js +13 -2
  163. package/icons/arrowdown/index.min.js +1 -1
  164. package/icons/arrowup/index.cjs.js +13 -2
  165. package/icons/arrowup/index.cjs.min.js +1 -1
  166. package/icons/arrowup/index.esm.js +13 -2
  167. package/icons/arrowup/index.esm.min.js +1 -1
  168. package/icons/arrowup/index.js +13 -2
  169. package/icons/arrowup/index.min.js +1 -1
  170. package/icons/ban/index.cjs.js +13 -2
  171. package/icons/ban/index.cjs.min.js +1 -1
  172. package/icons/ban/index.esm.js +13 -2
  173. package/icons/ban/index.esm.min.js +1 -1
  174. package/icons/ban/index.js +13 -2
  175. package/icons/ban/index.min.js +1 -1
  176. package/icons/download/index.cjs.js +13 -2
  177. package/icons/download/index.cjs.min.js +1 -1
  178. package/icons/download/index.esm.js +13 -2
  179. package/icons/download/index.esm.min.js +1 -1
  180. package/icons/download/index.js +13 -2
  181. package/icons/download/index.min.js +1 -1
  182. package/icons/exclamationtriangle/index.cjs.js +13 -2
  183. package/icons/exclamationtriangle/index.cjs.min.js +1 -1
  184. package/icons/exclamationtriangle/index.esm.js +13 -2
  185. package/icons/exclamationtriangle/index.esm.min.js +1 -1
  186. package/icons/exclamationtriangle/index.js +13 -2
  187. package/icons/exclamationtriangle/index.min.js +1 -1
  188. package/icons/eyeslash/index.cjs.js +13 -2
  189. package/icons/eyeslash/index.cjs.min.js +1 -1
  190. package/icons/eyeslash/index.esm.js +13 -2
  191. package/icons/eyeslash/index.esm.min.js +1 -1
  192. package/icons/eyeslash/index.js +13 -2
  193. package/icons/eyeslash/index.min.js +1 -1
  194. package/icons/filter/index.cjs.js +13 -2
  195. package/icons/filter/index.cjs.min.js +1 -1
  196. package/icons/filter/index.esm.js +13 -2
  197. package/icons/filter/index.esm.min.js +1 -1
  198. package/icons/filter/index.js +13 -2
  199. package/icons/filter/index.min.js +1 -1
  200. package/icons/filterslash/index.cjs.js +13 -2
  201. package/icons/filterslash/index.cjs.min.js +1 -1
  202. package/icons/filterslash/index.esm.js +13 -2
  203. package/icons/filterslash/index.esm.min.js +1 -1
  204. package/icons/filterslash/index.js +13 -2
  205. package/icons/filterslash/index.min.js +1 -1
  206. package/icons/infocircle/index.cjs.js +13 -2
  207. package/icons/infocircle/index.cjs.min.js +1 -1
  208. package/icons/infocircle/index.esm.js +13 -2
  209. package/icons/infocircle/index.esm.min.js +1 -1
  210. package/icons/infocircle/index.js +13 -2
  211. package/icons/infocircle/index.min.js +1 -1
  212. package/icons/pencil/index.cjs.js +13 -2
  213. package/icons/pencil/index.cjs.min.js +1 -1
  214. package/icons/pencil/index.esm.js +13 -2
  215. package/icons/pencil/index.esm.min.js +1 -1
  216. package/icons/pencil/index.js +13 -2
  217. package/icons/pencil/index.min.js +1 -1
  218. package/icons/plus/index.cjs.js +13 -2
  219. package/icons/plus/index.cjs.min.js +1 -1
  220. package/icons/plus/index.esm.js +13 -2
  221. package/icons/plus/index.esm.min.js +1 -1
  222. package/icons/plus/index.js +13 -2
  223. package/icons/plus/index.min.js +1 -1
  224. package/icons/refresh/index.cjs.js +13 -2
  225. package/icons/refresh/index.cjs.min.js +1 -1
  226. package/icons/refresh/index.esm.js +13 -2
  227. package/icons/refresh/index.esm.min.js +1 -1
  228. package/icons/refresh/index.js +13 -2
  229. package/icons/refresh/index.min.js +1 -1
  230. package/icons/search/index.cjs.js +13 -2
  231. package/icons/search/index.cjs.min.js +1 -1
  232. package/icons/search/index.esm.js +13 -2
  233. package/icons/search/index.esm.min.js +1 -1
  234. package/icons/search/index.js +13 -2
  235. package/icons/search/index.min.js +1 -1
  236. package/icons/searchminus/index.cjs.js +13 -2
  237. package/icons/searchminus/index.cjs.min.js +1 -1
  238. package/icons/searchminus/index.esm.js +13 -2
  239. package/icons/searchminus/index.esm.min.js +1 -1
  240. package/icons/searchminus/index.js +13 -2
  241. package/icons/searchminus/index.min.js +1 -1
  242. package/icons/searchplus/index.cjs.js +13 -2
  243. package/icons/searchplus/index.cjs.min.js +1 -1
  244. package/icons/searchplus/index.esm.js +13 -2
  245. package/icons/searchplus/index.esm.min.js +1 -1
  246. package/icons/searchplus/index.js +13 -2
  247. package/icons/searchplus/index.min.js +1 -1
  248. package/icons/sortalt/index.cjs.js +13 -2
  249. package/icons/sortalt/index.cjs.min.js +1 -1
  250. package/icons/sortalt/index.esm.js +13 -2
  251. package/icons/sortalt/index.esm.min.js +1 -1
  252. package/icons/sortalt/index.js +13 -2
  253. package/icons/sortalt/index.min.js +1 -1
  254. package/icons/sortamountdown/index.cjs.js +13 -2
  255. package/icons/sortamountdown/index.cjs.min.js +1 -1
  256. package/icons/sortamountdown/index.esm.js +13 -2
  257. package/icons/sortamountdown/index.esm.min.js +1 -1
  258. package/icons/sortamountdown/index.js +13 -2
  259. package/icons/sortamountdown/index.min.js +1 -1
  260. package/icons/sortamountupalt/index.cjs.js +13 -2
  261. package/icons/sortamountupalt/index.cjs.min.js +1 -1
  262. package/icons/sortamountupalt/index.esm.js +13 -2
  263. package/icons/sortamountupalt/index.esm.min.js +1 -1
  264. package/icons/sortamountupalt/index.js +13 -2
  265. package/icons/sortamountupalt/index.min.js +1 -1
  266. package/icons/spinner/index.cjs.js +13 -2
  267. package/icons/spinner/index.cjs.min.js +1 -1
  268. package/icons/spinner/index.esm.js +13 -2
  269. package/icons/spinner/index.esm.min.js +1 -1
  270. package/icons/spinner/index.js +13 -2
  271. package/icons/spinner/index.min.js +1 -1
  272. package/icons/star/index.cjs.js +13 -2
  273. package/icons/star/index.cjs.min.js +1 -1
  274. package/icons/star/index.esm.js +13 -2
  275. package/icons/star/index.esm.min.js +1 -1
  276. package/icons/star/index.js +13 -2
  277. package/icons/star/index.min.js +1 -1
  278. package/icons/starfill/index.cjs.js +13 -2
  279. package/icons/starfill/index.cjs.min.js +1 -1
  280. package/icons/starfill/index.esm.js +13 -2
  281. package/icons/starfill/index.esm.min.js +1 -1
  282. package/icons/starfill/index.js +13 -2
  283. package/icons/starfill/index.min.js +1 -1
  284. package/icons/thlarge/index.cjs.js +13 -2
  285. package/icons/thlarge/index.cjs.min.js +1 -1
  286. package/icons/thlarge/index.esm.js +13 -2
  287. package/icons/thlarge/index.esm.min.js +1 -1
  288. package/icons/thlarge/index.js +13 -2
  289. package/icons/thlarge/index.min.js +1 -1
  290. package/icons/timescircle/index.cjs.js +13 -2
  291. package/icons/timescircle/index.cjs.min.js +1 -1
  292. package/icons/timescircle/index.esm.js +13 -2
  293. package/icons/timescircle/index.esm.min.js +1 -1
  294. package/icons/timescircle/index.js +13 -2
  295. package/icons/timescircle/index.min.js +1 -1
  296. package/icons/trash/index.cjs.js +13 -2
  297. package/icons/trash/index.cjs.min.js +1 -1
  298. package/icons/trash/index.esm.js +13 -2
  299. package/icons/trash/index.esm.min.js +1 -1
  300. package/icons/trash/index.js +13 -2
  301. package/icons/trash/index.min.js +1 -1
  302. package/icons/undo/index.cjs.js +13 -2
  303. package/icons/undo/index.cjs.min.js +1 -1
  304. package/icons/undo/index.esm.js +13 -2
  305. package/icons/undo/index.esm.min.js +1 -1
  306. package/icons/undo/index.js +13 -2
  307. package/icons/undo/index.min.js +1 -1
  308. package/icons/upload/index.cjs.js +13 -2
  309. package/icons/upload/index.cjs.min.js +1 -1
  310. package/icons/upload/index.esm.js +13 -2
  311. package/icons/upload/index.esm.min.js +1 -1
  312. package/icons/upload/index.js +13 -2
  313. package/icons/upload/index.min.js +1 -1
  314. package/icons/windowmaximize/index.cjs.js +13 -2
  315. package/icons/windowmaximize/index.cjs.min.js +1 -1
  316. package/icons/windowmaximize/index.esm.js +13 -2
  317. package/icons/windowmaximize/index.esm.min.js +1 -1
  318. package/icons/windowmaximize/index.js +13 -2
  319. package/icons/windowmaximize/index.min.js +1 -1
  320. package/icons/windowminimize/index.cjs.js +13 -2
  321. package/icons/windowminimize/index.cjs.min.js +1 -1
  322. package/icons/windowminimize/index.esm.js +13 -2
  323. package/icons/windowminimize/index.esm.min.js +1 -1
  324. package/icons/windowminimize/index.js +13 -2
  325. package/icons/windowminimize/index.min.js +1 -1
  326. package/image/image.cjs.js +85 -119
  327. package/image/image.cjs.min.js +1 -1
  328. package/image/image.esm.js +87 -121
  329. package/image/image.esm.min.js +1 -1
  330. package/image/image.js +86 -120
  331. package/image/image.min.js +1 -1
  332. package/inplace/inplace.cjs.js +7 -0
  333. package/inplace/inplace.cjs.min.js +1 -1
  334. package/inplace/inplace.esm.js +7 -0
  335. package/inplace/inplace.esm.min.js +1 -1
  336. package/inplace/inplace.js +8 -2
  337. package/inplace/inplace.min.js +1 -1
  338. package/inputnumber/inputnumber.cjs.js +63 -19
  339. package/inputnumber/inputnumber.cjs.min.js +1 -1
  340. package/inputnumber/inputnumber.d.ts +7 -0
  341. package/inputnumber/inputnumber.esm.js +63 -19
  342. package/inputnumber/inputnumber.esm.min.js +1 -1
  343. package/inputnumber/inputnumber.js +63 -19
  344. package/inputnumber/inputnumber.min.js +1 -1
  345. package/inputswitch/inputswitch.cjs.js +3 -3
  346. package/inputswitch/inputswitch.cjs.min.js +1 -1
  347. package/inputswitch/inputswitch.esm.js +3 -3
  348. package/inputswitch/inputswitch.esm.min.js +1 -1
  349. package/inputswitch/inputswitch.js +3 -3
  350. package/inputswitch/inputswitch.min.js +1 -1
  351. package/inputtext/inputtext.cjs.js +7 -6
  352. package/inputtext/inputtext.cjs.min.js +1 -1
  353. package/inputtext/inputtext.esm.js +7 -6
  354. package/inputtext/inputtext.esm.min.js +1 -1
  355. package/inputtext/inputtext.js +7 -6
  356. package/inputtext/inputtext.min.js +1 -1
  357. package/listbox/listbox.cjs.js +14 -1
  358. package/listbox/listbox.cjs.min.js +1 -1
  359. package/listbox/listbox.d.ts +8 -3
  360. package/listbox/listbox.esm.js +14 -1
  361. package/listbox/listbox.esm.min.js +1 -1
  362. package/listbox/listbox.js +14 -1
  363. package/listbox/listbox.min.js +1 -1
  364. package/megamenu/megamenu.cjs.js +799 -179
  365. package/megamenu/megamenu.cjs.min.js +1 -1
  366. package/megamenu/megamenu.d.ts +14 -0
  367. package/megamenu/megamenu.esm.js +801 -181
  368. package/megamenu/megamenu.esm.min.js +1 -1
  369. package/megamenu/megamenu.js +799 -179
  370. package/megamenu/megamenu.min.js +1 -1
  371. package/mention/mention.cjs.js +7 -9
  372. package/mention/mention.cjs.min.js +1 -1
  373. package/mention/mention.esm.js +7 -9
  374. package/mention/mention.esm.min.js +1 -1
  375. package/mention/mention.js +7 -9
  376. package/mention/mention.min.js +1 -1
  377. package/menu/menu.cjs.js +217 -166
  378. package/menu/menu.cjs.min.js +1 -1
  379. package/menu/menu.d.ts +15 -1
  380. package/menu/menu.esm.js +220 -169
  381. package/menu/menu.esm.min.js +1 -1
  382. package/menu/menu.js +217 -166
  383. package/menu/menu.min.js +1 -1
  384. package/menubar/menubar.cjs.js +714 -179
  385. package/menubar/menubar.cjs.min.js +1 -1
  386. package/menubar/menubar.d.ts +18 -0
  387. package/menubar/menubar.esm.js +717 -182
  388. package/menubar/menubar.esm.min.js +1 -1
  389. package/menubar/menubar.js +714 -179
  390. package/menubar/menubar.min.js +1 -1
  391. package/message/message.cjs.js +2 -1
  392. package/message/message.cjs.min.js +1 -1
  393. package/message/message.esm.js +2 -1
  394. package/message/message.esm.min.js +1 -1
  395. package/message/message.js +2 -1
  396. package/message/message.min.js +1 -1
  397. package/messages/messages.cjs.js +5 -3
  398. package/messages/messages.cjs.min.js +1 -1
  399. package/messages/messages.esm.js +5 -3
  400. package/messages/messages.esm.min.js +1 -1
  401. package/messages/messages.js +5 -3
  402. package/messages/messages.min.js +1 -1
  403. package/multiselect/multiselect.cjs.js +58 -35
  404. package/multiselect/multiselect.cjs.min.js +1 -1
  405. package/multiselect/multiselect.d.ts +5 -1
  406. package/multiselect/multiselect.esm.js +58 -35
  407. package/multiselect/multiselect.esm.min.js +1 -1
  408. package/multiselect/multiselect.js +59 -37
  409. package/multiselect/multiselect.min.js +1 -1
  410. package/orderlist/orderlist.cjs.js +260 -105
  411. package/orderlist/orderlist.cjs.min.js +1 -1
  412. package/orderlist/orderlist.d.ts +18 -0
  413. package/orderlist/orderlist.esm.js +261 -106
  414. package/orderlist/orderlist.esm.min.js +1 -1
  415. package/orderlist/orderlist.js +260 -105
  416. package/orderlist/orderlist.min.js +1 -1
  417. package/organizationchart/organizationchart.cjs.js +10 -0
  418. package/organizationchart/organizationchart.cjs.min.js +1 -1
  419. package/organizationchart/organizationchart.esm.js +10 -0
  420. package/organizationchart/organizationchart.esm.min.js +1 -1
  421. package/organizationchart/organizationchart.js +10 -0
  422. package/organizationchart/organizationchart.min.js +1 -1
  423. package/overlaypanel/overlaypanel.cjs.js +9 -102
  424. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  425. package/overlaypanel/overlaypanel.d.ts +1 -1
  426. package/overlaypanel/overlaypanel.esm.js +11 -104
  427. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  428. package/overlaypanel/overlaypanel.js +10 -103
  429. package/overlaypanel/overlaypanel.min.js +1 -1
  430. package/package.json +1 -1
  431. package/paginator/paginator.d.ts +2 -2
  432. package/panel/panel.cjs.js +22 -19
  433. package/panel/panel.cjs.min.js +1 -1
  434. package/panel/panel.esm.js +22 -19
  435. package/panel/panel.esm.min.js +1 -1
  436. package/panel/panel.js +22 -19
  437. package/panel/panel.min.js +1 -1
  438. package/panelmenu/panelmenu.cjs.js +774 -195
  439. package/panelmenu/panelmenu.cjs.min.js +1 -1
  440. package/panelmenu/panelmenu.d.ts +15 -0
  441. package/panelmenu/panelmenu.esm.js +775 -196
  442. package/panelmenu/panelmenu.esm.min.js +1 -1
  443. package/panelmenu/panelmenu.js +774 -195
  444. package/panelmenu/panelmenu.min.js +1 -1
  445. package/passthrough/tailwind/index.cjs.js +163 -159
  446. package/passthrough/tailwind/index.cjs.min.js +1 -1
  447. package/passthrough/tailwind/index.esm.js +163 -159
  448. package/passthrough/tailwind/index.esm.min.js +1 -1
  449. package/passthrough/tailwind/index.js +163 -159
  450. package/passthrough/tailwind/index.min.js +1 -1
  451. package/password/password.cjs.js +7 -2
  452. package/password/password.cjs.min.js +1 -1
  453. package/password/password.d.ts +1 -1
  454. package/password/password.esm.js +8 -3
  455. package/password/password.esm.min.js +1 -1
  456. package/password/password.js +7 -2
  457. package/password/password.min.js +1 -1
  458. package/picklist/picklist.cjs.js +709 -181
  459. package/picklist/picklist.cjs.min.js +1 -1
  460. package/picklist/picklist.d.ts +10 -0
  461. package/picklist/picklist.esm.js +708 -180
  462. package/picklist/picklist.esm.min.js +1 -1
  463. package/picklist/picklist.js +709 -181
  464. package/picklist/picklist.min.js +1 -1
  465. package/portal/portal.cjs.js +7 -1
  466. package/portal/portal.cjs.min.js +1 -1
  467. package/portal/portal.esm.js +7 -1
  468. package/portal/portal.esm.min.js +1 -1
  469. package/portal/portal.js +7 -1
  470. package/portal/portal.min.js +1 -1
  471. package/primereact.all.cjs.js +8352 -3145
  472. package/primereact.all.cjs.min.js +1 -1
  473. package/primereact.all.esm.js +8351 -3146
  474. package/primereact.all.esm.min.js +1 -1
  475. package/primereact.all.js +8352 -3145
  476. package/primereact.all.min.js +1 -1
  477. package/radiobutton/radiobutton.cjs.js +27 -26
  478. package/radiobutton/radiobutton.cjs.min.js +1 -1
  479. package/radiobutton/radiobutton.esm.js +27 -26
  480. package/radiobutton/radiobutton.esm.min.js +1 -1
  481. package/radiobutton/radiobutton.js +28 -27
  482. package/radiobutton/radiobutton.min.js +1 -1
  483. package/resources/themes/arya-blue/theme.css +854 -790
  484. package/resources/themes/arya-green/theme.css +854 -790
  485. package/resources/themes/arya-orange/theme.css +854 -790
  486. package/resources/themes/arya-purple/theme.css +854 -790
  487. package/resources/themes/bootstrap4-dark-blue/theme.css +678 -615
  488. package/resources/themes/bootstrap4-dark-purple/theme.css +678 -615
  489. package/resources/themes/bootstrap4-light-blue/theme.css +679 -616
  490. package/resources/themes/bootstrap4-light-purple/theme.css +679 -616
  491. package/resources/themes/fluent-light/theme.css +686 -638
  492. package/resources/themes/lara-dark-amber/theme.css +679 -630
  493. package/resources/themes/lara-dark-blue/theme.css +679 -630
  494. package/resources/themes/lara-dark-cyan/theme.css +679 -630
  495. package/resources/themes/lara-dark-green/theme.css +679 -630
  496. package/resources/themes/lara-dark-indigo/theme.css +679 -630
  497. package/resources/themes/lara-dark-pink/theme.css +679 -630
  498. package/resources/themes/lara-dark-purple/theme.css +679 -630
  499. package/resources/themes/lara-dark-teal/theme.css +679 -630
  500. package/resources/themes/lara-light-amber/theme.css +776 -725
  501. package/resources/themes/lara-light-blue/theme.css +1011 -960
  502. package/resources/themes/lara-light-cyan/theme.css +776 -725
  503. package/resources/themes/lara-light-green/theme.css +820 -769
  504. package/resources/themes/lara-light-indigo/theme.css +1016 -965
  505. package/resources/themes/lara-light-pink/theme.css +776 -725
  506. package/resources/themes/lara-light-purple/theme.css +1016 -965
  507. package/resources/themes/lara-light-teal/theme.css +776 -725
  508. package/resources/themes/luna-amber/theme.css +950 -887
  509. package/resources/themes/luna-blue/theme.css +950 -887
  510. package/resources/themes/luna-green/theme.css +950 -887
  511. package/resources/themes/luna-pink/theme.css +950 -887
  512. package/resources/themes/md-dark-deeppurple/theme.css +918 -950
  513. package/resources/themes/md-dark-indigo/theme.css +918 -950
  514. package/resources/themes/md-light-deeppurple/theme.css +878 -910
  515. package/resources/themes/md-light-indigo/theme.css +878 -910
  516. package/resources/themes/mdc-dark-deeppurple/theme.css +918 -950
  517. package/resources/themes/mdc-dark-indigo/theme.css +918 -950
  518. package/resources/themes/mdc-light-deeppurple/theme.css +878 -910
  519. package/resources/themes/mdc-light-indigo/theme.css +878 -910
  520. package/resources/themes/mira/theme.css +1562 -1532
  521. package/resources/themes/nano/theme.css +707 -641
  522. package/resources/themes/nova/theme.css +705 -643
  523. package/resources/themes/nova-accent/theme.css +701 -636
  524. package/resources/themes/nova-alt/theme.css +705 -643
  525. package/resources/themes/rhea/theme.css +876 -811
  526. package/resources/themes/saga-blue/theme.css +896 -832
  527. package/resources/themes/saga-green/theme.css +896 -832
  528. package/resources/themes/saga-orange/theme.css +896 -832
  529. package/resources/themes/saga-purple/theme.css +896 -832
  530. package/resources/themes/soho-dark/theme.css +701 -643
  531. package/resources/themes/soho-light/theme.css +690 -634
  532. package/resources/themes/tailwind-light/theme.css +1370 -1306
  533. package/resources/themes/vela-blue/theme.css +862 -798
  534. package/resources/themes/vela-green/theme.css +862 -798
  535. package/resources/themes/vela-orange/theme.css +862 -798
  536. package/resources/themes/vela-purple/theme.css +862 -798
  537. package/resources/themes/viva-dark/theme.css +655 -612
  538. package/resources/themes/viva-light/theme.css +737 -694
  539. package/ripple/ripple.cjs.js +71 -5
  540. package/ripple/ripple.cjs.min.js +1 -1
  541. package/ripple/ripple.esm.js +71 -5
  542. package/ripple/ripple.esm.min.js +1 -1
  543. package/ripple/ripple.js +71 -5
  544. package/ripple/ripple.min.js +1 -1
  545. package/scrollpanel/scrollpanel.cjs.js +183 -3
  546. package/scrollpanel/scrollpanel.cjs.min.js +1 -1
  547. package/scrollpanel/scrollpanel.esm.js +184 -4
  548. package/scrollpanel/scrollpanel.esm.min.js +1 -1
  549. package/scrollpanel/scrollpanel.js +183 -3
  550. package/scrollpanel/scrollpanel.min.js +1 -1
  551. package/sidebar/sidebar.cjs.js +62 -146
  552. package/sidebar/sidebar.cjs.min.js +1 -1
  553. package/sidebar/sidebar.d.ts +25 -3
  554. package/sidebar/sidebar.esm.js +65 -149
  555. package/sidebar/sidebar.esm.min.js +1 -1
  556. package/sidebar/sidebar.js +63 -147
  557. package/sidebar/sidebar.min.js +1 -1
  558. package/slidemenu/slidemenu.cjs.js +7 -100
  559. package/slidemenu/slidemenu.cjs.min.js +1 -1
  560. package/slidemenu/slidemenu.d.ts +1 -1
  561. package/slidemenu/slidemenu.esm.js +10 -103
  562. package/slidemenu/slidemenu.esm.min.js +1 -1
  563. package/slidemenu/slidemenu.js +7 -100
  564. package/slidemenu/slidemenu.min.js +1 -1
  565. package/speeddial/speeddial.cjs.js +275 -32
  566. package/speeddial/speeddial.cjs.min.js +1 -1
  567. package/speeddial/speeddial.esm.js +277 -34
  568. package/speeddial/speeddial.esm.min.js +1 -1
  569. package/speeddial/speeddial.js +275 -32
  570. package/speeddial/speeddial.min.js +1 -1
  571. package/splitbutton/splitbutton.cjs.js +1098 -309
  572. package/splitbutton/splitbutton.cjs.min.js +1 -1
  573. package/splitbutton/splitbutton.d.ts +5 -5
  574. package/splitbutton/splitbutton.esm.js +1100 -311
  575. package/splitbutton/splitbutton.esm.min.js +1 -1
  576. package/splitbutton/splitbutton.js +1096 -309
  577. package/splitbutton/splitbutton.min.js +1 -1
  578. package/splitter/splitter.cjs.js +103 -15
  579. package/splitter/splitter.cjs.min.js +1 -1
  580. package/splitter/splitter.d.ts +5 -0
  581. package/splitter/splitter.esm.js +103 -15
  582. package/splitter/splitter.esm.min.js +1 -1
  583. package/splitter/splitter.js +103 -15
  584. package/splitter/splitter.min.js +1 -1
  585. package/steps/steps.cjs.js +99 -13
  586. package/steps/steps.cjs.min.js +1 -1
  587. package/steps/steps.esm.js +100 -14
  588. package/steps/steps.esm.min.js +1 -1
  589. package/steps/steps.js +99 -13
  590. package/steps/steps.min.js +1 -1
  591. package/tabmenu/tabmenu.cjs.js +113 -17
  592. package/tabmenu/tabmenu.cjs.min.js +1 -1
  593. package/tabmenu/tabmenu.esm.js +113 -17
  594. package/tabmenu/tabmenu.esm.min.js +1 -1
  595. package/tabmenu/tabmenu.js +113 -17
  596. package/tabmenu/tabmenu.min.js +1 -1
  597. package/tabview/tabview.cjs.js +128 -20
  598. package/tabview/tabview.cjs.min.js +1 -1
  599. package/tabview/tabview.d.ts +35 -0
  600. package/tabview/tabview.esm.js +128 -20
  601. package/tabview/tabview.esm.min.js +1 -1
  602. package/tabview/tabview.js +128 -20
  603. package/tabview/tabview.min.js +1 -1
  604. package/tieredmenu/tieredmenu.cjs.js +753 -275
  605. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  606. package/tieredmenu/tieredmenu.d.ts +11 -1
  607. package/tieredmenu/tieredmenu.esm.js +755 -277
  608. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  609. package/tieredmenu/tieredmenu.js +753 -275
  610. package/tieredmenu/tieredmenu.min.js +1 -1
  611. package/toast/toast.cjs.js +6 -1
  612. package/toast/toast.cjs.min.js +1 -1
  613. package/toast/toast.d.ts +36 -2
  614. package/toast/toast.esm.js +6 -1
  615. package/toast/toast.esm.min.js +1 -1
  616. package/toast/toast.js +6 -1
  617. package/toast/toast.min.js +1 -1
  618. package/togglebutton/togglebutton.cjs.js +74 -4
  619. package/togglebutton/togglebutton.cjs.min.js +1 -1
  620. package/togglebutton/togglebutton.esm.js +74 -4
  621. package/togglebutton/togglebutton.esm.min.js +1 -1
  622. package/togglebutton/togglebutton.js +75 -5
  623. package/togglebutton/togglebutton.min.js +1 -1
  624. package/tooltip/tooltip.d.ts +27 -0
  625. package/tooltip/tooltipoptions.d.ts +1 -1
  626. package/tree/tree.cjs.js +198 -88
  627. package/tree/tree.cjs.min.js +1 -1
  628. package/tree/tree.d.ts +8 -0
  629. package/tree/tree.esm.js +199 -89
  630. package/tree/tree.esm.min.js +1 -1
  631. package/tree/tree.js +198 -88
  632. package/tree/tree.min.js +1 -1
  633. package/treeselect/treeselect.cjs.js +185 -49
  634. package/treeselect/treeselect.cjs.min.js +1 -1
  635. package/treeselect/treeselect.d.ts +26 -1
  636. package/treeselect/treeselect.esm.js +186 -50
  637. package/treeselect/treeselect.esm.min.js +1 -1
  638. package/treeselect/treeselect.js +186 -51
  639. package/treeselect/treeselect.min.js +1 -1
  640. package/treetable/treetable.cjs.js +59 -53
  641. package/treetable/treetable.cjs.min.js +1 -1
  642. package/treetable/treetable.d.ts +3 -3
  643. package/treetable/treetable.esm.js +59 -53
  644. package/treetable/treetable.esm.min.js +1 -1
  645. package/treetable/treetable.js +59 -53
  646. package/treetable/treetable.min.js +1 -1
  647. package/utils/utils.cjs.js +19 -5
  648. package/utils/utils.cjs.min.js +1 -1
  649. package/utils/utils.d.ts +1 -1
  650. package/utils/utils.esm.js +19 -5
  651. package/utils/utils.esm.min.js +1 -1
  652. package/utils/utils.js +19 -5
  653. package/utils/utils.min.js +1 -1
  654. package/web-types.json +402 -33
@@ -24,6 +24,47 @@ function _extends() {
24
24
  return _extends.apply(this, arguments);
25
25
  }
26
26
 
27
+ function _typeof(o) {
28
+ "@babel/helpers - typeof";
29
+
30
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
31
+ return typeof o;
32
+ } : function (o) {
33
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
34
+ }, _typeof(o);
35
+ }
36
+
37
+ function _toPrimitive(input, hint) {
38
+ if (_typeof(input) !== "object" || input === null) return input;
39
+ var prim = input[Symbol.toPrimitive];
40
+ if (prim !== undefined) {
41
+ var res = prim.call(input, hint || "default");
42
+ if (_typeof(res) !== "object") return res;
43
+ throw new TypeError("@@toPrimitive must return a primitive value.");
44
+ }
45
+ return (hint === "string" ? String : Number)(input);
46
+ }
47
+
48
+ function _toPropertyKey(arg) {
49
+ var key = _toPrimitive(arg, "string");
50
+ return _typeof(key) === "symbol" ? key : String(key);
51
+ }
52
+
53
+ function _defineProperty(obj, key, value) {
54
+ key = _toPropertyKey(key);
55
+ if (key in obj) {
56
+ Object.defineProperty(obj, key, {
57
+ value: value,
58
+ enumerable: true,
59
+ configurable: true,
60
+ writable: true
61
+ });
62
+ } else {
63
+ obj[key] = value;
64
+ }
65
+ return obj;
66
+ }
67
+
27
68
  function _arrayWithHoles(arr) {
28
69
  if (Array.isArray(arr)) return arr;
29
70
  }
@@ -79,7 +120,7 @@ function _slicedToArray(arr, i) {
79
120
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
80
121
  }
81
122
 
82
- var styles = "\n@layer primereact {\n .p-contextmenu ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n \n .p-contextmenu .p-submenu-list {\n position: absolute;\n min-width: 100%;\n z-index: 1;\n }\n \n .p-contextmenu .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n }\n \n .p-contextmenu .p-menuitem-text {\n line-height: 1;\n }\n \n .p-contextmenu .p-menuitem {\n position: relative;\n }\n \n .p-contextmenu .p-menuitem-link .p-submenu-icon {\n margin-left: auto;\n }\n \n .p-contextmenu-enter {\n opacity: 0;\n }\n \n .p-contextmenu-enter-active {\n opacity: 1;\n transition: opacity 250ms;\n }\n}\n";
123
+ var styles = "\n@layer primereact {\n .p-contextmenu ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-contextmenu .p-submenu-list {\n position: absolute;\n min-width: 100%;\n z-index: 1;\n }\n\n .p-contextmenu .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n }\n\n .p-contextmenu .p-menuitem-text {\n line-height: 1;\n }\n\n .p-contextmenu .p-menuitem {\n position: relative;\n }\n\n .p-contextmenu .p-menuitem-link .p-submenu-icon {\n margin-left: auto;\n }\n\n .p-contextmenu-enter {\n opacity: 0;\n }\n\n .p-contextmenu-enter-active {\n opacity: 1;\n transition: opacity 250ms;\n }\n}\n";
83
124
  var classes = {
84
125
  root: function root(_ref) {
85
126
  var context = _ref.context;
@@ -91,14 +132,19 @@ var classes = {
91
132
  menu: function menu(_ref2) {
92
133
  var props = _ref2.menuProps;
93
134
  return classNames({
135
+ ' p-contextmenu-root-list': props.root,
94
136
  'p-submenu-list': !props.root
95
137
  });
96
138
  },
97
139
  menuitem: function menuitem(_ref3) {
98
140
  var item = _ref3.item,
99
- active = _ref3.active;
141
+ active = _ref3.active,
142
+ focused = _ref3.focused,
143
+ disabled = _ref3.disabled;
100
144
  return classNames('p-menuitem', {
101
- 'p-menuitem-active': active
145
+ 'p-menuitem-active p-highlight': active,
146
+ 'p-focus': focused,
147
+ 'p-disabled': disabled
102
148
  }, item.className);
103
149
  },
104
150
  action: function action(_ref4) {
@@ -107,10 +153,11 @@ var classes = {
107
153
  'p-disabled': item.disabled
108
154
  });
109
155
  },
156
+ content: 'p-menuitem-content',
110
157
  icon: 'p-menuitem-icon',
111
158
  submenuIcon: 'p-submenu-icon',
112
159
  label: 'p-menuitem-text',
113
- separator: 'p-menu-separator',
160
+ separator: 'p-menuitem-separator',
114
161
  transition: 'p-contextmenu',
115
162
  submenuTransition: 'p-contextmenusub'
116
163
  };
@@ -118,16 +165,21 @@ var ContextMenuBase = ComponentBase.extend({
118
165
  defaultProps: {
119
166
  __TYPE: 'ContextMenu',
120
167
  id: null,
168
+ ariaLabel: null,
169
+ ariaLabelledby: null,
121
170
  model: null,
122
171
  style: null,
123
172
  className: null,
124
173
  global: false,
125
174
  autoZIndex: true,
126
175
  baseZIndex: 0,
176
+ tabIndex: 0,
127
177
  breakpoint: undefined,
128
178
  scrollHeight: '400px',
129
179
  appendTo: null,
130
180
  transitionOptions: null,
181
+ onFocus: null,
182
+ onBlur: null,
131
183
  onShow: null,
132
184
  onHide: null,
133
185
  submenuIcon: null,
@@ -139,77 +191,36 @@ var ContextMenuBase = ComponentBase.extend({
139
191
  }
140
192
  });
141
193
 
142
- function _typeof(o) {
143
- "@babel/helpers - typeof";
144
-
145
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
146
- return typeof o;
147
- } : function (o) {
148
- return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
149
- }, _typeof(o);
150
- }
151
-
152
- function _toPrimitive(input, hint) {
153
- if (_typeof(input) !== "object" || input === null) return input;
154
- var prim = input[Symbol.toPrimitive];
155
- if (prim !== undefined) {
156
- var res = prim.call(input, hint || "default");
157
- if (_typeof(res) !== "object") return res;
158
- throw new TypeError("@@toPrimitive must return a primitive value.");
159
- }
160
- return (hint === "string" ? String : Number)(input);
161
- }
162
-
163
- function _toPropertyKey(arg) {
164
- var key = _toPrimitive(arg, "string");
165
- return _typeof(key) === "symbol" ? key : String(key);
166
- }
167
-
168
- function _defineProperty(obj, key, value) {
169
- key = _toPropertyKey(key);
170
- if (key in obj) {
171
- Object.defineProperty(obj, key, {
172
- value: value,
173
- enumerable: true,
174
- configurable: true,
175
- writable: true
176
- });
177
- } else {
178
- obj[key] = value;
179
- }
180
- return obj;
181
- }
182
-
183
- function ownKeys(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; }
184
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
185
- var ContextMenuSub = /*#__PURE__*/React.memo(function (props) {
186
- var _React$useState = React.useState(null),
187
- _React$useState2 = _slicedToArray(_React$useState, 2),
188
- activeItemState = _React$useState2[0],
189
- setActiveItemState = _React$useState2[1];
194
+ function ownKeys$1(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; }
195
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
196
+ var ContextMenuSub = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (props, ref) {
190
197
  var submenuRef = React.useRef(null);
191
198
  var active = props.root || !props.resetMenu;
192
199
  var ptm = props.ptm,
193
200
  cx = props.cx;
194
- var getPTOptions = function getPTOptions(item, key) {
201
+ var getPTOptions = function getPTOptions(processedItem, key, index) {
195
202
  return ptm(key, {
196
203
  hostName: props.hostName,
197
204
  context: {
198
- active: activeItemState === item
205
+ active: isItemActive(processedItem),
206
+ focused: isItemFocused(processedItem),
207
+ disabled: isItemDisabled(processedItem),
208
+ index: index
199
209
  }
200
210
  });
201
211
  };
202
- if (props.resetMenu === true && activeItemState !== null) {
203
- setActiveItemState(null);
204
- }
205
212
  var onItemMouseEnter = function onItemMouseEnter(event, item) {
206
213
  if (item.disabled || props.isMobileMode) {
207
214
  event.preventDefault();
208
215
  return;
209
216
  }
210
- setActiveItemState(item);
217
+ props.onItemMouseEnter({
218
+ originalEvent: event,
219
+ processedItem: item
220
+ });
211
221
  };
212
- var onItemClick = function onItemClick(event, item) {
222
+ var onItemClick = function onItemClick(event, processedItem) {
223
+ var item = processedItem.item;
213
224
  if (item.disabled) {
214
225
  event.preventDefault();
215
226
  return;
@@ -223,9 +234,11 @@ var ContextMenuSub = /*#__PURE__*/React.memo(function (props) {
223
234
  item: item
224
235
  });
225
236
  }
226
- if (props.isMobileMode && item.items) {
227
- if (activeItemState && item === activeItemState) setActiveItemState(null);else setActiveItemState(item);
228
- }
237
+ props.onItemClick({
238
+ originalEvent: event,
239
+ processedItem: processedItem,
240
+ isFocus: true
241
+ });
229
242
  if (!item.items) {
230
243
  props.onLeafClick(event);
231
244
  }
@@ -256,6 +269,47 @@ var ContextMenuSub = /*#__PURE__*/React.memo(function (props) {
256
269
  useUpdateEffect(function () {
257
270
  active && position();
258
271
  });
272
+ var getItemId = function getItemId(processedItem) {
273
+ return "".concat(props.menuId, "_").concat(processedItem.key);
274
+ };
275
+ var getItemProp = function getItemProp(processedItem, name, params) {
276
+ return processedItem && processedItem.item ? ObjectUtils.getItemValue(processedItem.item[name], params) : undefined;
277
+ };
278
+ var isItemActive = function isItemActive(processedItem) {
279
+ return props.activeItemPath && props.activeItemPath.some(function (path) {
280
+ return path.key === processedItem.key;
281
+ });
282
+ };
283
+ var isItemVisible = function isItemVisible(processedItem) {
284
+ return getItemProp(processedItem, 'visible') !== false;
285
+ };
286
+ var isItemDisabled = function isItemDisabled(processedItem) {
287
+ return getItemProp(processedItem, 'disabled');
288
+ };
289
+ var isItemFocused = function isItemFocused(processedItem) {
290
+ return props.focusedItemId === getItemId(processedItem);
291
+ };
292
+ var isItemGroup = function isItemGroup(processedItem) {
293
+ return ObjectUtils.isNotEmpty(processedItem.items);
294
+ };
295
+ var getAriaSetSize = function getAriaSetSize() {
296
+ return props.model.filter(function (processedItem) {
297
+ return isItemVisible(processedItem) && !getItemProp(processedItem, 'separator');
298
+ }).length;
299
+ };
300
+ var getAriaPosInset = function getAriaPosInset(index) {
301
+ return index - props.model.slice(0, index).filter(function (processedItem) {
302
+ return isItemVisible(processedItem) && getItemProp(processedItem, 'separator');
303
+ }).length + 1;
304
+ };
305
+ React.useImperativeHandle(ref, function () {
306
+ return {
307
+ props: props,
308
+ getElement: function getElement() {
309
+ return submenuRef.current;
310
+ }
311
+ };
312
+ });
259
313
  var createSeparator = function createSeparator(index) {
260
314
  var key = props.id + '_separator_' + index;
261
315
  var separatorProps = mergeProps({
@@ -269,14 +323,22 @@ var ContextMenuSub = /*#__PURE__*/React.memo(function (props) {
269
323
  return /*#__PURE__*/React.createElement("li", separatorProps);
270
324
  };
271
325
  var createSubmenu = function createSubmenu(item, index) {
272
- if (item.items) {
326
+ if (isItemGroup(item)) {
273
327
  return /*#__PURE__*/React.createElement(ContextMenuSub, {
274
328
  id: props.id + '_' + index,
329
+ role: "menu",
330
+ menuId: props.menuId,
331
+ focusedItemId: props.focusedItemId,
332
+ activeItemPath: props.activeItemPath,
333
+ level: props.level + 1,
275
334
  hostName: props.hostName,
335
+ ariaLabelledby: getItemId(item),
276
336
  menuProps: props.menuProps,
277
337
  model: item.items,
278
- resetMenu: item !== activeItemState,
338
+ resetMenu: !isItemActive(item),
279
339
  onLeafClick: props.onLeafClick,
340
+ onItemClick: props.onItemClick,
341
+ onItemMouseEnter: props.onItemMouseEnter,
280
342
  isMobileMode: props.isMobileMode,
281
343
  submenuIcon: props.submenuIcon,
282
344
  ptm: ptm,
@@ -285,48 +347,46 @@ var ContextMenuSub = /*#__PURE__*/React.memo(function (props) {
285
347
  }
286
348
  return null;
287
349
  };
288
- var createMenuItem = function createMenuItem(item, index) {
289
- if (item.visible === false) {
350
+ var createMenuItem = function createMenuItem(processedItem, index) {
351
+ if (!isItemVisible(processedItem)) {
290
352
  return null;
291
353
  }
292
- var active = activeItemState === item;
293
- var key = item.id || props.id + '_' + index;
354
+ var item = processedItem.item;
355
+ var active = isItemActive(processedItem);
356
+ var disabled = isItemDisabled(processedItem);
357
+ var focused = isItemFocused(processedItem);
358
+ var isGroup = isItemGroup(processedItem);
359
+ var key = getItemId(processedItem);
294
360
  var iconProps = mergeProps({
295
361
  className: cx('icon')
296
- }, getPTOptions(item, 'icon'));
297
- var icon = IconUtils.getJSXIcon(item.icon, _objectSpread({}, iconProps), {
362
+ }, getPTOptions(processedItem, 'icon', index));
363
+ var icon = IconUtils.getJSXIcon(item.icon, _objectSpread$1({}, iconProps), {
298
364
  props: props.menuProps
299
365
  });
300
366
  var submenuIconProps = mergeProps({
301
367
  className: cx('submenuIcon')
302
- }, getPTOptions(item, 'submenuIcon'));
368
+ }, getPTOptions(processedItem, 'submenuIcon', index));
303
369
  var labelProps = mergeProps({
304
370
  className: cx('label')
305
- }, getPTOptions(item, 'label'));
306
- var submenuIcon = item.items && IconUtils.getJSXIcon(props.submenuIcon || /*#__PURE__*/React.createElement(AngleRightIcon, submenuIconProps), _objectSpread({}, submenuIconProps), {
371
+ }, getPTOptions(processedItem, 'label', index));
372
+ var items = getItemProp(processedItem, 'items');
373
+ var submenuIcon = items && IconUtils.getJSXIcon(props.submenuIcon || /*#__PURE__*/React.createElement(AngleRightIcon, submenuIconProps), _objectSpread$1({}, submenuIconProps), {
307
374
  props: props.menuProps
308
375
  });
309
376
  var label = item.label && /*#__PURE__*/React.createElement("span", labelProps, item.label);
310
- var submenu = createSubmenu(item, index);
377
+ var submenu = createSubmenu(processedItem, index);
311
378
  var actionProps = mergeProps({
312
379
  href: item.url || '#',
380
+ 'aria-hidden': true,
381
+ tabIndex: -1,
313
382
  className: cx('action', {
314
383
  item: item
315
384
  }),
316
- target: item.target,
317
- onClick: function onClick(event) {
318
- return onItemClick(event, item);
319
- },
320
- role: 'menuitem',
321
- 'aria-haspopup': item.items != null,
322
- 'aria-disabled': item.disabled
323
- }, getPTOptions(item, 'action'));
385
+ target: item.target
386
+ }, getPTOptions(processedItem, 'action', index));
324
387
  var content = /*#__PURE__*/React.createElement("a", actionProps, icon, label, submenuIcon, /*#__PURE__*/React.createElement(Ripple, null));
325
388
  if (item.template) {
326
389
  var defaultContentOptions = {
327
- onClick: function onClick(event) {
328
- return onItemClick(event, item);
329
- },
330
390
  className: 'p-menuitem-link',
331
391
  labelClassName: 'p-menuitem-text',
332
392
  iconClassName: 'p-menuitem-icon',
@@ -337,22 +397,41 @@ var ContextMenuSub = /*#__PURE__*/React.memo(function (props) {
337
397
  };
338
398
  content = ObjectUtils.getJSXElement(item.template, item, defaultContentOptions);
339
399
  }
340
- var menuitemProps = mergeProps(_defineProperty(_defineProperty({
400
+ var contentProps = mergeProps({
401
+ onClick: function onClick(event) {
402
+ return onItemClick(event, processedItem);
403
+ },
404
+ onMouseEnter: function onMouseEnter(event) {
405
+ return onItemMouseEnter(event, processedItem);
406
+ },
407
+ className: cx('content')
408
+ }, getPTOptions(processedItem, 'content', index));
409
+ var menuitemProps = mergeProps(_defineProperty({
341
410
  id: key,
342
411
  key: key,
343
- role: 'none',
412
+ role: 'menuitem',
413
+ 'aria-label': item.label,
414
+ 'aria-disabled': disabled,
415
+ 'aria-expanded': isGroup ? active : undefined,
416
+ 'aria-haspopup': isGroup && !item.url ? 'menu' : undefined,
417
+ 'aria-level': props.level + 1,
418
+ 'aria-setsize': getAriaSetSize(),
419
+ 'aria-posinset': getAriaPosInset(index),
420
+ 'data-p-highlight': active,
421
+ 'data-p-focused': focused,
422
+ 'data-p-disabled': disabled,
344
423
  className: cx('menuitem', {
345
424
  item: item,
346
- active: active
425
+ active: active,
426
+ focused: focused,
427
+ disabled: isItemDisabled(item)
347
428
  }),
348
429
  style: item.style
349
- }, "key", key), "onMouseEnter", function onMouseEnter(event) {
350
- return onItemMouseEnter(event, item);
351
- }), getPTOptions(item, 'menuitem'));
352
- return /*#__PURE__*/React.createElement("li", menuitemProps, content, submenu);
430
+ }, "key", key), getPTOptions(processedItem, 'menuitem', index));
431
+ return /*#__PURE__*/React.createElement("li", menuitemProps, /*#__PURE__*/React.createElement("div", contentProps, content), submenu);
353
432
  };
354
- var createItem = function createItem(item, index) {
355
- return item.separator ? createSeparator(index) : createMenuItem(item, index);
433
+ var createItem = function createItem(processedItem, index) {
434
+ return processedItem.separator ? createSeparator(index) : createMenuItem(processedItem, index);
356
435
  };
357
436
  var createMenu = function createMenu() {
358
437
  return props.model ? props.model.map(createItem) : null;
@@ -361,7 +440,16 @@ var ContextMenuSub = /*#__PURE__*/React.memo(function (props) {
361
440
  var menuProps = mergeProps({
362
441
  className: cx('menu', {
363
442
  menuProps: props
364
- })
443
+ }),
444
+ onFocus: props.onFocus,
445
+ onBlur: props.onBlur,
446
+ onKeyDown: props.onKeyDown,
447
+ 'aria-label': props.ariaLabel,
448
+ 'aria-labelledby': props.ariaLabelledby,
449
+ 'aria-orientation': 'vertical',
450
+ 'aria-activedescendant': props.ariaActivedescendant,
451
+ tabIndex: props.tabIndex,
452
+ role: props.role
365
453
  }, ptm('menu', {
366
454
  hostName: props.hostName
367
455
  }));
@@ -382,9 +470,11 @@ var ContextMenuSub = /*#__PURE__*/React.memo(function (props) {
382
470
  }, transitionProps), /*#__PURE__*/React.createElement("ul", _extends({
383
471
  ref: submenuRef
384
472
  }, menuProps), submenu));
385
- });
473
+ }));
386
474
  ContextMenuSub.displayName = 'ContextMenuSub';
387
475
 
476
+ function ownKeys(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; }
477
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
388
478
  var ContextMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (inProps, ref) {
389
479
  var context = React.useContext(PrimeReactContext);
390
480
  var props = ContextMenuBase.getProps(inProps, context);
@@ -408,6 +498,38 @@ var ContextMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
408
498
  _React$useState10 = _slicedToArray(_React$useState9, 2),
409
499
  attributeSelectorState = _React$useState10[0],
410
500
  setAttributeSelectorState = _React$useState10[1];
501
+ var _React$useState11 = React.useState(false),
502
+ _React$useState12 = _slicedToArray(_React$useState11, 2),
503
+ focused = _React$useState12[0],
504
+ setFocused = _React$useState12[1];
505
+ var _React$useState13 = React.useState(false),
506
+ _React$useState14 = _slicedToArray(_React$useState13, 2),
507
+ focusTrigger = _React$useState14[0],
508
+ setFocusTrigger = _React$useState14[1];
509
+ var _React$useState15 = React.useState({
510
+ index: -1,
511
+ level: 0,
512
+ parentKey: ''
513
+ }),
514
+ _React$useState16 = _slicedToArray(_React$useState15, 2),
515
+ focusedItemInfo = _React$useState16[0],
516
+ setFocusedItemInfo = _React$useState16[1];
517
+ var _React$useState17 = React.useState(''),
518
+ _React$useState18 = _slicedToArray(_React$useState17, 2),
519
+ activeItemPath = _React$useState18[0],
520
+ setActiveItemPath = _React$useState18[1];
521
+ var _React$useState19 = React.useState([]),
522
+ _React$useState20 = _slicedToArray(_React$useState19, 2),
523
+ processedItems = _React$useState20[0],
524
+ setProcessedItems = _React$useState20[1];
525
+ var _React$useState21 = React.useState([]),
526
+ _React$useState22 = _slicedToArray(_React$useState21, 2),
527
+ visibleItems = _React$useState22[0],
528
+ setVisibleItems = _React$useState22[1];
529
+ var _React$useState23 = React.useState(null),
530
+ _React$useState24 = _slicedToArray(_React$useState23, 2),
531
+ focusedItemId = _React$useState24[0],
532
+ setFocusedItemId = _React$useState24[1];
411
533
  var _ContextMenuBase$setM = ContextMenuBase.setMetaData({
412
534
  props: props,
413
535
  state: {
@@ -425,7 +547,10 @@ var ContextMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
425
547
  name: 'contextmenu'
426
548
  });
427
549
  var menuRef = React.useRef(null);
550
+ var listRef = React.useRef(null);
428
551
  var currentEvent = React.useRef(null);
552
+ var searchValue = React.useRef('');
553
+ var searchTimeout = React.useRef(null);
429
554
  var styleElementRef = React.useRef(null);
430
555
  var isMobileMode = useMatchMedia("screen and (max-width: ".concat(props.breakpoint, ")"), !!props.breakpoint);
431
556
  var _useEventListener = useEventListener({
@@ -461,7 +586,7 @@ var ContextMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
461
586
  unbindDocumentResizeListener = _useResizeListener2[1];
462
587
  var createStyle = function createStyle() {
463
588
  if (!styleElementRef.current) {
464
- styleElementRef.current = DomHandler.createInlineStyle(context && context.nonce || PrimeReact.nonce);
589
+ styleElementRef.current = DomHandler.createInlineStyle(context && context.nonce || PrimeReact.nonce, context && context.styleContainer);
465
590
  var selector = "".concat(attributeSelectorState);
466
591
  var innerHTML = "\n@media screen and (max-width: ".concat(props.breakpoint, ") {\n .p-contextmenu[").concat(selector, "] > ul {\n max-height: ").concat(props.scrollHeight, ";\n overflow: ").concat(props.scrollHeight ? 'auto' : '', ";\n }\n\n .p-contextmenu[").concat(selector, "] .p-submenu-list {\n position: relative;\n }\n\n .p-contextmenu[").concat(selector, "] .p-menuitem-active > .p-submenu-list {\n left: 0;\n box-shadow: none;\n border-radius: 0;\n padding: 0 0 0 calc(var(--inline-spacing) * 2); /* @todo */\n }\n\n .p-contextmenu[").concat(selector, "] .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {\n transform: rotate(-180deg);\n }\n\n .p-contextmenu[").concat(selector, "] .p-submenu-icon:before {\n content: \"\\e930\";\n }\n}\n");
467
592
  styleElementRef.current.innerHTML = innerHTML;
@@ -477,6 +602,12 @@ var ContextMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
477
602
  setResetMenuState(false);
478
603
  };
479
604
  var show = function show(event) {
605
+ setActiveItemPath([]);
606
+ setFocusedItemInfo({
607
+ index: -1,
608
+ level: 0,
609
+ parentKey: ''
610
+ });
480
611
  event.stopPropagation();
481
612
  event.preventDefault();
482
613
  currentEvent.current = event;
@@ -486,11 +617,20 @@ var ContextMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
486
617
  setVisibleState(true);
487
618
  props.onShow && props.onShow(currentEvent.current);
488
619
  }
620
+ Promise.resolve().then(function () {
621
+ listRef.current && DomHandler.focus(listRef.current.getElement());
622
+ });
489
623
  };
490
624
  var hide = function hide(event) {
491
625
  currentEvent.current = event;
492
626
  setVisibleState(false);
493
627
  setReshowState(false);
628
+ setActiveItemPath([]);
629
+ setFocusedItemInfo({
630
+ index: -1,
631
+ level: 0,
632
+ parentKey: ''
633
+ });
494
634
  props.onHide && props.onHide(currentEvent.current);
495
635
  };
496
636
  var onEnter = function onEnter() {
@@ -548,6 +688,26 @@ var ContextMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
548
688
  menuRef.current.style.top = top + 'px';
549
689
  }
550
690
  };
691
+ var createProcessedItems = function createProcessedItems(items, level) {
692
+ var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
693
+ var parentKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
694
+ var processedItems = [];
695
+ items && items.forEach(function (item, index) {
696
+ var key = (parentKey !== '' ? parentKey + '_' : '') + index;
697
+ var newItem = {
698
+ item: item,
699
+ index: index,
700
+ level: level,
701
+ separator: item.separator,
702
+ key: key,
703
+ parent: parent,
704
+ parentKey: parentKey
705
+ };
706
+ newItem['items'] = createProcessedItems(item.items, level + 1, newItem, key);
707
+ processedItems.push(newItem);
708
+ });
709
+ return processedItems;
710
+ };
551
711
  var onLeafClick = function onLeafClick(event) {
552
712
  setResetMenuState(true);
553
713
  hide(event);
@@ -595,6 +755,32 @@ var ContextMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
595
755
  show(currentEvent.current);
596
756
  }
597
757
  }, [reshowState]);
758
+ useUpdateEffect(function () {
759
+ var itemsToProcess = props.model || [];
760
+ var processed = createProcessedItems(itemsToProcess, 0, null, '');
761
+ setProcessedItems(processed);
762
+ }, [props.model]);
763
+ useUpdateEffect(function () {
764
+ var _focusedItemId = focusedItemInfo.index !== -1 ? "".concat(idState).concat(ObjectUtils.isNotEmpty(focusedItemInfo.parentKey) ? '_' + focusedItemInfo.parentKey : '', "_").concat(focusedItemInfo.index) : null;
765
+ setFocusedItemId(_focusedItemId);
766
+ }, [focusedItemInfo]);
767
+ useUpdateEffect(function () {
768
+ var processedItem = activeItemPath && activeItemPath.find(function (p) {
769
+ return p.key === focusedItemInfo.parentKey;
770
+ });
771
+ var _visibleItems = processedItem ? processedItem.items : processedItems;
772
+ setVisibleItems(_visibleItems);
773
+ }, [activeItemPath, focusedItemInfo]);
774
+ useUpdateEffect(function () {
775
+ if (focusTrigger) {
776
+ var itemIndex = focusedItemInfo.index !== -1 ? findNextItemIndex(focusedItemInfo.index) : findFirstFocusedItemIndex();
777
+ changeFocusedItemIndex(itemIndex);
778
+ setActiveItemPath(activeItemPath.filter(function (p) {
779
+ return p.parentKey !== focusedItemInfo.parentKey;
780
+ }));
781
+ setFocusTrigger(false);
782
+ }
783
+ }, [focusTrigger]);
598
784
  useUnmountEffect(function () {
599
785
  ZIndexUtils.clear(menuRef.current);
600
786
  });
@@ -608,6 +794,347 @@ var ContextMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
608
794
  }
609
795
  };
610
796
  });
797
+ var onFocus = function onFocus(event) {
798
+ setFocused(true);
799
+ setFocusedItemInfo(focusedItemInfo.index !== -1 ? focusedItemInfo : {
800
+ index: -1,
801
+ level: 0,
802
+ parentKey: ''
803
+ });
804
+ props.onFocus && props.onFocus(event);
805
+ };
806
+ var onBlur = function onBlur(event) {
807
+ setFocused(false);
808
+ setFocusedItemInfo({
809
+ index: -1,
810
+ level: 0,
811
+ parentKey: ''
812
+ });
813
+ searchValue.current = '';
814
+ searchValue.current = '';
815
+ props.onBlur && props.onBlur(event);
816
+ };
817
+ var onKeyDown = function onKeyDown(event) {
818
+ var metaKey = event.metaKey || event.ctrlKey;
819
+ switch (event.code) {
820
+ case 'ArrowDown':
821
+ onArrowDownKey(event);
822
+ break;
823
+ case 'ArrowUp':
824
+ onArrowUpKey(event);
825
+ break;
826
+ case 'ArrowLeft':
827
+ onArrowLeftKey(event);
828
+ break;
829
+ case 'ArrowRight':
830
+ onArrowRightKey(event);
831
+ break;
832
+ case 'Home':
833
+ onHomeKey(event);
834
+ break;
835
+ case 'End':
836
+ onEndKey(event);
837
+ break;
838
+ case 'Space':
839
+ onSpaceKey(event);
840
+ break;
841
+ case 'Enter':
842
+ onEnterKey(event);
843
+ break;
844
+ case 'Escape':
845
+ onEscapeKey(event);
846
+ break;
847
+ case 'Tab':
848
+ onTabKey(event);
849
+ break;
850
+ case 'PageDown':
851
+ case 'PageUp':
852
+ case 'Backspace':
853
+ case 'ShiftLeft':
854
+ case 'ShiftRight':
855
+ // NOOP
856
+ break;
857
+ default:
858
+ if (!metaKey && ObjectUtils.isPrintableCharacter(event.key)) {
859
+ searchItems(event, event.key);
860
+ }
861
+ break;
862
+ }
863
+ };
864
+ var onItemChange = function onItemChange(event) {
865
+ var processedItem = event.processedItem,
866
+ isFocus = event.isFocus,
867
+ _event$updateState = event.updateState,
868
+ updateState = _event$updateState === void 0 ? true : _event$updateState;
869
+ if (ObjectUtils.isEmpty(processedItem)) return;
870
+ var index = processedItem.index,
871
+ key = processedItem.key,
872
+ level = processedItem.level,
873
+ parentKey = processedItem.parentKey,
874
+ items = processedItem.items;
875
+ var grouped = ObjectUtils.isNotEmpty(items);
876
+ var _activeItemPath = activeItemPath.filter(function (p) {
877
+ return p.parentKey !== parentKey && p.parentKey !== key;
878
+ });
879
+ if (grouped && updateState) {
880
+ _activeItemPath.push(processedItem);
881
+ setVisibleState(true);
882
+ }
883
+ setFocusedItemInfo({
884
+ index: index,
885
+ level: level,
886
+ parentKey: parentKey
887
+ });
888
+ setActiveItemPath(_activeItemPath);
889
+ isFocus && DomHandler.focus(listRef.current.getElement());
890
+ };
891
+ var onItemClick = function onItemClick(event) {
892
+ var processedItem = event.processedItem;
893
+ var grouped = isProccessedItemGroup(processedItem);
894
+ var selected = isSelected(processedItem);
895
+ if (selected) {
896
+ var index = processedItem.index,
897
+ key = processedItem.key,
898
+ level = processedItem.level,
899
+ parentKey = processedItem.parentKey;
900
+ setActiveItemPath(activeItemPath.filter(function (p) {
901
+ return key !== p.key && key.startsWith(p.key);
902
+ }));
903
+ setFocusedItemInfo({
904
+ index: index,
905
+ level: level,
906
+ parentKey: parentKey
907
+ });
908
+ DomHandler.focus(listRef.current.getElement());
909
+ } else {
910
+ grouped ? onItemChange(event) : hide();
911
+ }
912
+ };
913
+ var onItemMouseEnter = function onItemMouseEnter(event) {
914
+ onItemChange(event);
915
+ };
916
+ var onArrowDownKey = function onArrowDownKey(event) {
917
+ var itemIndex = focusedItemInfo.index !== -1 ? findNextItemIndex(focusedItemInfo.index) : findFirstFocusedItemIndex();
918
+ changeFocusedItemIndex(itemIndex);
919
+ event.preventDefault();
920
+ };
921
+ var onArrowUpKey = function onArrowUpKey(event) {
922
+ if (event.altKey) {
923
+ if (focusedItemInfo.index !== -1) {
924
+ var processedItem = visibleItems[focusedItemInfo.index];
925
+ var grouped = isProccessedItemGroup(processedItem);
926
+ !grouped && onItemChange({
927
+ originalEvent: event,
928
+ processedItem: processedItem
929
+ });
930
+ }
931
+ event.preventDefault();
932
+ } else {
933
+ var itemIndex = focusedItemInfo.index !== -1 ? findPrevItemIndex(focusedItemInfo.index) : findLastFocusedItemIndex();
934
+ changeFocusedItemIndex(itemIndex);
935
+ event.preventDefault();
936
+ }
937
+ };
938
+ var onArrowLeftKey = function onArrowLeftKey(event) {
939
+ var processedItem = visibleItems[focusedItemInfo.index];
940
+ var parentItem = activeItemPath.find(function (p) {
941
+ return p.key === processedItem.parentKey;
942
+ });
943
+ var root = ObjectUtils.isEmpty(processedItem.parent);
944
+ if (!root) {
945
+ setFocusedItemInfo({
946
+ index: -1,
947
+ parentKey: parentItem ? parentItem.parentKey : ''
948
+ });
949
+ searchValue.current = '';
950
+ setTimeout(function () {
951
+ return setFocusTrigger(true);
952
+ }, 0);
953
+ }
954
+ event.preventDefault();
955
+ };
956
+ var onArrowRightKey = function onArrowRightKey(event) {
957
+ var processedItem = visibleItems[focusedItemInfo.index];
958
+ var grouped = isProccessedItemGroup(processedItem);
959
+ if (grouped) {
960
+ onItemChange({
961
+ originalEvent: event,
962
+ processedItem: processedItem
963
+ });
964
+ setFocusedItemInfo({
965
+ index: -1,
966
+ parentKey: processedItem.key
967
+ });
968
+ searchValue.current = '';
969
+ setTimeout(function () {
970
+ return setFocusTrigger(true);
971
+ }, 0);
972
+ }
973
+ event.preventDefault();
974
+ };
975
+ var onHomeKey = function onHomeKey(event) {
976
+ changeFocusedItemIndex(findFirstItemIndex());
977
+ event.preventDefault();
978
+ };
979
+ var onEndKey = function onEndKey(event) {
980
+ changeFocusedItemIndex(findLastItemIndex());
981
+ event.preventDefault();
982
+ };
983
+ var onEnterKey = function onEnterKey(event) {
984
+ if (focusedItemInfo.index !== -1) {
985
+ var _element = DomHandler.findSingle(listRef.current.getElement(), "li[id=\"".concat("".concat(focusedItemId), "\"]"));
986
+ var anchorElement = _element && DomHandler.findSingle(_element, 'a[data-pc-section="action"]');
987
+ anchorElement ? anchorElement.click() : _element && _element.click();
988
+ var processedItem = visibleItems[focusedItemInfo.index];
989
+ var grouped = isProccessedItemGroup(processedItem);
990
+ !grouped && setFocusedItemInfo(_objectSpread(_objectSpread({}, focusedItemInfo), {}, {
991
+ index: findFirstFocusedItemIndex()
992
+ }));
993
+ }
994
+ event.preventDefault();
995
+ };
996
+ var onSpaceKey = function onSpaceKey(event) {
997
+ onEnterKey(event);
998
+ };
999
+ var onEscapeKey = function onEscapeKey(event) {
1000
+ hide();
1001
+ setFocusedItemInfo({
1002
+ focusedItemInfo: focusedItemInfo,
1003
+ index: findFirstFocusedItemIndex()
1004
+ });
1005
+ event.preventDefault();
1006
+ };
1007
+ var onTabKey = function onTabKey(event) {
1008
+ if (focusedItemInfo.index !== -1) {
1009
+ var processedItem = visibleItems[focusedItemInfo.index];
1010
+ var grouped = isProccessedItemGroup(processedItem);
1011
+ !grouped && onItemChange({
1012
+ originalEvent: event,
1013
+ processedItem: processedItem
1014
+ });
1015
+ }
1016
+ hide();
1017
+ };
1018
+ var searchItems = function searchItems(event, _char) {
1019
+ searchValue.current = searchValue.current || '' + _char;
1020
+ var itemIndex = -1;
1021
+ var matched = false;
1022
+ if (focusedItemInfo.index !== -1) {
1023
+ itemIndex = visibleItems.slice(focusedItemInfo.index).findIndex(function (processedItem) {
1024
+ return isItemMatched(processedItem);
1025
+ });
1026
+ itemIndex = itemIndex === -1 ? visibleItems.slice(0, focusedItemInfo.index).findIndex(function (processedItem) {
1027
+ return isItemMatched(processedItem);
1028
+ }) : itemIndex + focusedItemInfo.index;
1029
+ } else {
1030
+ itemIndex = visibleItems.findIndex(function (processedItem) {
1031
+ return isItemMatched(processedItem);
1032
+ });
1033
+ }
1034
+ if (itemIndex !== -1) {
1035
+ matched = true;
1036
+ }
1037
+ if (itemIndex === -1 && focusedItemInfo.index === -1) {
1038
+ itemIndex = findFirstFocusedItemIndex();
1039
+ }
1040
+ if (itemIndex !== -1) {
1041
+ changeFocusedItemIndex(itemIndex);
1042
+ }
1043
+ if (searchTimeout.current) {
1044
+ clearTimeout(searchTimeout.current);
1045
+ }
1046
+ searchTimeout.current = setTimeout(function () {
1047
+ searchValue.current = '';
1048
+ searchTimeout.current = null;
1049
+ }, 500);
1050
+ return matched;
1051
+ };
1052
+ var changeFocusedItemIndex = function changeFocusedItemIndex(index) {
1053
+ if (focusedItemInfo.index !== index) {
1054
+ setFocusedItemInfo(_objectSpread(_objectSpread({}, focusedItemInfo), {}, {
1055
+ index: index
1056
+ }));
1057
+ scrollInView();
1058
+ }
1059
+ };
1060
+ var scrollInView = function scrollInView() {
1061
+ var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
1062
+ var _id = index !== -1 ? "".concat(idState, "_").concat(index) : focusedItemId;
1063
+ var element = DomHandler.findSingle(listRef.current.getElement(), "li[id=\"".concat(_id, "\"]"));
1064
+ if (element) {
1065
+ element.scrollIntoView && element.scrollIntoView({
1066
+ block: 'nearest',
1067
+ inline: 'start'
1068
+ });
1069
+ }
1070
+ };
1071
+ var getItemProp = function getItemProp(item, name) {
1072
+ return item ? ObjectUtils.getItemValue(item[name]) : undefined;
1073
+ };
1074
+ var getItemLabel = function getItemLabel(item) {
1075
+ return getItemProp(item, 'label');
1076
+ };
1077
+ var getProccessedItemLabel = function getProccessedItemLabel(processedItem) {
1078
+ return processedItem ? getItemLabel(processedItem.item) : undefined;
1079
+ };
1080
+ var isProccessedItemGroup = function isProccessedItemGroup(processedItem) {
1081
+ return processedItem && ObjectUtils.isNotEmpty(processedItem.items);
1082
+ };
1083
+ var isItemDisabled = function isItemDisabled(item) {
1084
+ return getItemProp(item, 'disabled');
1085
+ };
1086
+ var isItemSeparator = function isItemSeparator(item) {
1087
+ return getItemProp(item, 'separator');
1088
+ };
1089
+ var isValidItem = function isValidItem(processedItem) {
1090
+ return !!processedItem && !isItemDisabled(processedItem.item) && !isItemSeparator(processedItem.item);
1091
+ };
1092
+ var isItemMatched = function isItemMatched(processedItem) {
1093
+ return isValidItem(processedItem) && getProccessedItemLabel(processedItem).toLocaleLowerCase().startsWith(searchValue.current.toLocaleLowerCase());
1094
+ };
1095
+ var findNextItemIndex = function findNextItemIndex(index) {
1096
+ var matchedItemIndex = index < visibleItems.length - 1 ? visibleItems.slice(index + 1).findIndex(function (processedItem) {
1097
+ return isValidItem(processedItem);
1098
+ }) : -1;
1099
+ return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;
1100
+ };
1101
+ var findPrevItemIndex = function findPrevItemIndex(index) {
1102
+ var matchedItemIndex = index > 0 ? ObjectUtils.findLastIndex(visibleItems.slice(0, index), function (processedItem) {
1103
+ return isValidItem(processedItem);
1104
+ }) : -1;
1105
+ return matchedItemIndex > -1 ? matchedItemIndex : index;
1106
+ };
1107
+ var isSelected = function isSelected(processedItem) {
1108
+ return activeItemPath && activeItemPath.some(function (p) {
1109
+ return p.key === processedItem.key;
1110
+ });
1111
+ };
1112
+ var isValidSelectedItem = function isValidSelectedItem(processedItem) {
1113
+ return isValidItem(processedItem) && isSelected(processedItem);
1114
+ };
1115
+ var findFirstItemIndex = function findFirstItemIndex() {
1116
+ return visibleItems.findIndex(function (processedItem) {
1117
+ return isValidItem(processedItem);
1118
+ });
1119
+ };
1120
+ var findLastItemIndex = function findLastItemIndex() {
1121
+ return ObjectUtils.findLastIndex(visibleItems, function (processedItem) {
1122
+ return isValidItem(processedItem);
1123
+ });
1124
+ };
1125
+ var findFirstFocusedItemIndex = function findFirstFocusedItemIndex() {
1126
+ var selectedIndex = findSelectedItemIndex();
1127
+ return selectedIndex < 0 ? findFirstItemIndex() : selectedIndex;
1128
+ };
1129
+ var findLastFocusedItemIndex = function findLastFocusedItemIndex() {
1130
+ var selectedIndex = findSelectedItemIndex();
1131
+ return selectedIndex < 0 ? findLastItemIndex() : selectedIndex;
1132
+ };
1133
+ var findSelectedItemIndex = function findSelectedItemIndex() {
1134
+ return visibleItems.findIndex(function (processedItem) {
1135
+ return isValidSelectedItem(processedItem);
1136
+ });
1137
+ };
611
1138
  var createContextMenu = function createContextMenu() {
612
1139
  var rootProps = mergeProps({
613
1140
  id: props.id,
@@ -641,11 +1168,26 @@ var ContextMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
641
1168
  }, transitionProps), /*#__PURE__*/React.createElement("div", _extends({
642
1169
  ref: menuRef
643
1170
  }, rootProps), /*#__PURE__*/React.createElement(ContextMenuSub, {
1171
+ ref: listRef,
1172
+ ariaLabel: props.ariaLabel,
1173
+ ariaLabelledby: props.ariaLabelledby,
1174
+ activeItemPath: activeItemPath,
644
1175
  hostName: "ContextMenu",
645
- id: idState,
1176
+ id: idState + '_list',
1177
+ role: "menubar",
1178
+ tabIndex: props.tabIndex || 0,
1179
+ ariaActivedescendant: focused ? focusedItemId : undefined,
1180
+ menuId: idState,
1181
+ focusedItemId: focused ? focusedItemId : undefined,
646
1182
  menuProps: props,
647
- model: props.model,
1183
+ model: processedItems,
1184
+ level: 0,
648
1185
  root: true,
1186
+ onItemClick: onItemClick,
1187
+ onItemMouseEnter: onItemMouseEnter,
1188
+ onFocus: onFocus,
1189
+ onBlur: onBlur,
1190
+ onKeyDown: onKeyDown,
649
1191
  resetMenu: resetMenuState,
650
1192
  onLeafClick: onLeafClick,
651
1193
  isMobileMode: isMobileMode,