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
@@ -51,6 +51,47 @@ function _extends() {
51
51
  return _extends.apply(this, arguments);
52
52
  }
53
53
 
54
+ function _typeof(o) {
55
+ "@babel/helpers - typeof";
56
+
57
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
58
+ return typeof o;
59
+ } : function (o) {
60
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
61
+ }, _typeof(o);
62
+ }
63
+
64
+ function _toPrimitive(input, hint) {
65
+ if (_typeof(input) !== "object" || input === null) return input;
66
+ var prim = input[Symbol.toPrimitive];
67
+ if (prim !== undefined) {
68
+ var res = prim.call(input, hint || "default");
69
+ if (_typeof(res) !== "object") return res;
70
+ throw new TypeError("@@toPrimitive must return a primitive value.");
71
+ }
72
+ return (hint === "string" ? String : Number)(input);
73
+ }
74
+
75
+ function _toPropertyKey(arg) {
76
+ var key = _toPrimitive(arg, "string");
77
+ return _typeof(key) === "symbol" ? key : String(key);
78
+ }
79
+
80
+ function _defineProperty(obj, key, value) {
81
+ key = _toPropertyKey(key);
82
+ if (key in obj) {
83
+ Object.defineProperty(obj, key, {
84
+ value: value,
85
+ enumerable: true,
86
+ configurable: true,
87
+ writable: true
88
+ });
89
+ } else {
90
+ obj[key] = value;
91
+ }
92
+ return obj;
93
+ }
94
+
54
95
  function _arrayWithHoles(arr) {
55
96
  if (Array.isArray(arr)) return arr;
56
97
  }
@@ -106,7 +147,7 @@ function _slicedToArray(arr, i) {
106
147
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
107
148
  }
108
149
 
109
- 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";
150
+ 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";
110
151
  var classes = {
111
152
  root: function root(_ref) {
112
153
  var context = _ref.context;
@@ -118,14 +159,19 @@ var classes = {
118
159
  menu: function menu(_ref2) {
119
160
  var props = _ref2.menuProps;
120
161
  return utils.classNames({
162
+ ' p-contextmenu-root-list': props.root,
121
163
  'p-submenu-list': !props.root
122
164
  });
123
165
  },
124
166
  menuitem: function menuitem(_ref3) {
125
167
  var item = _ref3.item,
126
- active = _ref3.active;
168
+ active = _ref3.active,
169
+ focused = _ref3.focused,
170
+ disabled = _ref3.disabled;
127
171
  return utils.classNames('p-menuitem', {
128
- 'p-menuitem-active': active
172
+ 'p-menuitem-active p-highlight': active,
173
+ 'p-focus': focused,
174
+ 'p-disabled': disabled
129
175
  }, item.className);
130
176
  },
131
177
  action: function action(_ref4) {
@@ -134,10 +180,11 @@ var classes = {
134
180
  'p-disabled': item.disabled
135
181
  });
136
182
  },
183
+ content: 'p-menuitem-content',
137
184
  icon: 'p-menuitem-icon',
138
185
  submenuIcon: 'p-submenu-icon',
139
186
  label: 'p-menuitem-text',
140
- separator: 'p-menu-separator',
187
+ separator: 'p-menuitem-separator',
141
188
  transition: 'p-contextmenu',
142
189
  submenuTransition: 'p-contextmenusub'
143
190
  };
@@ -145,16 +192,21 @@ var ContextMenuBase = componentbase.ComponentBase.extend({
145
192
  defaultProps: {
146
193
  __TYPE: 'ContextMenu',
147
194
  id: null,
195
+ ariaLabel: null,
196
+ ariaLabelledby: null,
148
197
  model: null,
149
198
  style: null,
150
199
  className: null,
151
200
  global: false,
152
201
  autoZIndex: true,
153
202
  baseZIndex: 0,
203
+ tabIndex: 0,
154
204
  breakpoint: undefined,
155
205
  scrollHeight: '400px',
156
206
  appendTo: null,
157
207
  transitionOptions: null,
208
+ onFocus: null,
209
+ onBlur: null,
158
210
  onShow: null,
159
211
  onHide: null,
160
212
  submenuIcon: null,
@@ -166,77 +218,36 @@ var ContextMenuBase = componentbase.ComponentBase.extend({
166
218
  }
167
219
  });
168
220
 
169
- function _typeof(o) {
170
- "@babel/helpers - typeof";
171
-
172
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
173
- return typeof o;
174
- } : function (o) {
175
- return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
176
- }, _typeof(o);
177
- }
178
-
179
- function _toPrimitive(input, hint) {
180
- if (_typeof(input) !== "object" || input === null) return input;
181
- var prim = input[Symbol.toPrimitive];
182
- if (prim !== undefined) {
183
- var res = prim.call(input, hint || "default");
184
- if (_typeof(res) !== "object") return res;
185
- throw new TypeError("@@toPrimitive must return a primitive value.");
186
- }
187
- return (hint === "string" ? String : Number)(input);
188
- }
189
-
190
- function _toPropertyKey(arg) {
191
- var key = _toPrimitive(arg, "string");
192
- return _typeof(key) === "symbol" ? key : String(key);
193
- }
194
-
195
- function _defineProperty(obj, key, value) {
196
- key = _toPropertyKey(key);
197
- if (key in obj) {
198
- Object.defineProperty(obj, key, {
199
- value: value,
200
- enumerable: true,
201
- configurable: true,
202
- writable: true
203
- });
204
- } else {
205
- obj[key] = value;
206
- }
207
- return obj;
208
- }
209
-
210
- 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; }
211
- 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; }
212
- var ContextMenuSub = /*#__PURE__*/React__namespace.memo(function (props) {
213
- var _React$useState = React__namespace.useState(null),
214
- _React$useState2 = _slicedToArray(_React$useState, 2),
215
- activeItemState = _React$useState2[0],
216
- setActiveItemState = _React$useState2[1];
221
+ 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; }
222
+ 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; }
223
+ var ContextMenuSub = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.forwardRef(function (props, ref) {
217
224
  var submenuRef = React__namespace.useRef(null);
218
225
  var active = props.root || !props.resetMenu;
219
226
  var ptm = props.ptm,
220
227
  cx = props.cx;
221
- var getPTOptions = function getPTOptions(item, key) {
228
+ var getPTOptions = function getPTOptions(processedItem, key, index) {
222
229
  return ptm(key, {
223
230
  hostName: props.hostName,
224
231
  context: {
225
- active: activeItemState === item
232
+ active: isItemActive(processedItem),
233
+ focused: isItemFocused(processedItem),
234
+ disabled: isItemDisabled(processedItem),
235
+ index: index
226
236
  }
227
237
  });
228
238
  };
229
- if (props.resetMenu === true && activeItemState !== null) {
230
- setActiveItemState(null);
231
- }
232
239
  var onItemMouseEnter = function onItemMouseEnter(event, item) {
233
240
  if (item.disabled || props.isMobileMode) {
234
241
  event.preventDefault();
235
242
  return;
236
243
  }
237
- setActiveItemState(item);
244
+ props.onItemMouseEnter({
245
+ originalEvent: event,
246
+ processedItem: item
247
+ });
238
248
  };
239
- var onItemClick = function onItemClick(event, item) {
249
+ var onItemClick = function onItemClick(event, processedItem) {
250
+ var item = processedItem.item;
240
251
  if (item.disabled) {
241
252
  event.preventDefault();
242
253
  return;
@@ -250,9 +261,11 @@ var ContextMenuSub = /*#__PURE__*/React__namespace.memo(function (props) {
250
261
  item: item
251
262
  });
252
263
  }
253
- if (props.isMobileMode && item.items) {
254
- if (activeItemState && item === activeItemState) setActiveItemState(null);else setActiveItemState(item);
255
- }
264
+ props.onItemClick({
265
+ originalEvent: event,
266
+ processedItem: processedItem,
267
+ isFocus: true
268
+ });
256
269
  if (!item.items) {
257
270
  props.onLeafClick(event);
258
271
  }
@@ -283,6 +296,47 @@ var ContextMenuSub = /*#__PURE__*/React__namespace.memo(function (props) {
283
296
  hooks.useUpdateEffect(function () {
284
297
  active && position();
285
298
  });
299
+ var getItemId = function getItemId(processedItem) {
300
+ return "".concat(props.menuId, "_").concat(processedItem.key);
301
+ };
302
+ var getItemProp = function getItemProp(processedItem, name, params) {
303
+ return processedItem && processedItem.item ? utils.ObjectUtils.getItemValue(processedItem.item[name], params) : undefined;
304
+ };
305
+ var isItemActive = function isItemActive(processedItem) {
306
+ return props.activeItemPath && props.activeItemPath.some(function (path) {
307
+ return path.key === processedItem.key;
308
+ });
309
+ };
310
+ var isItemVisible = function isItemVisible(processedItem) {
311
+ return getItemProp(processedItem, 'visible') !== false;
312
+ };
313
+ var isItemDisabled = function isItemDisabled(processedItem) {
314
+ return getItemProp(processedItem, 'disabled');
315
+ };
316
+ var isItemFocused = function isItemFocused(processedItem) {
317
+ return props.focusedItemId === getItemId(processedItem);
318
+ };
319
+ var isItemGroup = function isItemGroup(processedItem) {
320
+ return utils.ObjectUtils.isNotEmpty(processedItem.items);
321
+ };
322
+ var getAriaSetSize = function getAriaSetSize() {
323
+ return props.model.filter(function (processedItem) {
324
+ return isItemVisible(processedItem) && !getItemProp(processedItem, 'separator');
325
+ }).length;
326
+ };
327
+ var getAriaPosInset = function getAriaPosInset(index) {
328
+ return index - props.model.slice(0, index).filter(function (processedItem) {
329
+ return isItemVisible(processedItem) && getItemProp(processedItem, 'separator');
330
+ }).length + 1;
331
+ };
332
+ React__namespace.useImperativeHandle(ref, function () {
333
+ return {
334
+ props: props,
335
+ getElement: function getElement() {
336
+ return submenuRef.current;
337
+ }
338
+ };
339
+ });
286
340
  var createSeparator = function createSeparator(index) {
287
341
  var key = props.id + '_separator_' + index;
288
342
  var separatorProps = utils.mergeProps({
@@ -296,14 +350,22 @@ var ContextMenuSub = /*#__PURE__*/React__namespace.memo(function (props) {
296
350
  return /*#__PURE__*/React__namespace.createElement("li", separatorProps);
297
351
  };
298
352
  var createSubmenu = function createSubmenu(item, index) {
299
- if (item.items) {
353
+ if (isItemGroup(item)) {
300
354
  return /*#__PURE__*/React__namespace.createElement(ContextMenuSub, {
301
355
  id: props.id + '_' + index,
356
+ role: "menu",
357
+ menuId: props.menuId,
358
+ focusedItemId: props.focusedItemId,
359
+ activeItemPath: props.activeItemPath,
360
+ level: props.level + 1,
302
361
  hostName: props.hostName,
362
+ ariaLabelledby: getItemId(item),
303
363
  menuProps: props.menuProps,
304
364
  model: item.items,
305
- resetMenu: item !== activeItemState,
365
+ resetMenu: !isItemActive(item),
306
366
  onLeafClick: props.onLeafClick,
367
+ onItemClick: props.onItemClick,
368
+ onItemMouseEnter: props.onItemMouseEnter,
307
369
  isMobileMode: props.isMobileMode,
308
370
  submenuIcon: props.submenuIcon,
309
371
  ptm: ptm,
@@ -312,48 +374,46 @@ var ContextMenuSub = /*#__PURE__*/React__namespace.memo(function (props) {
312
374
  }
313
375
  return null;
314
376
  };
315
- var createMenuItem = function createMenuItem(item, index) {
316
- if (item.visible === false) {
377
+ var createMenuItem = function createMenuItem(processedItem, index) {
378
+ if (!isItemVisible(processedItem)) {
317
379
  return null;
318
380
  }
319
- var active = activeItemState === item;
320
- var key = item.id || props.id + '_' + index;
381
+ var item = processedItem.item;
382
+ var active = isItemActive(processedItem);
383
+ var disabled = isItemDisabled(processedItem);
384
+ var focused = isItemFocused(processedItem);
385
+ var isGroup = isItemGroup(processedItem);
386
+ var key = getItemId(processedItem);
321
387
  var iconProps = utils.mergeProps({
322
388
  className: cx('icon')
323
- }, getPTOptions(item, 'icon'));
324
- var icon = utils.IconUtils.getJSXIcon(item.icon, _objectSpread({}, iconProps), {
389
+ }, getPTOptions(processedItem, 'icon', index));
390
+ var icon = utils.IconUtils.getJSXIcon(item.icon, _objectSpread$1({}, iconProps), {
325
391
  props: props.menuProps
326
392
  });
327
393
  var submenuIconProps = utils.mergeProps({
328
394
  className: cx('submenuIcon')
329
- }, getPTOptions(item, 'submenuIcon'));
395
+ }, getPTOptions(processedItem, 'submenuIcon', index));
330
396
  var labelProps = utils.mergeProps({
331
397
  className: cx('label')
332
- }, getPTOptions(item, 'label'));
333
- var submenuIcon = item.items && utils.IconUtils.getJSXIcon(props.submenuIcon || /*#__PURE__*/React__namespace.createElement(angleright.AngleRightIcon, submenuIconProps), _objectSpread({}, submenuIconProps), {
398
+ }, getPTOptions(processedItem, 'label', index));
399
+ var items = getItemProp(processedItem, 'items');
400
+ var submenuIcon = items && utils.IconUtils.getJSXIcon(props.submenuIcon || /*#__PURE__*/React__namespace.createElement(angleright.AngleRightIcon, submenuIconProps), _objectSpread$1({}, submenuIconProps), {
334
401
  props: props.menuProps
335
402
  });
336
403
  var label = item.label && /*#__PURE__*/React__namespace.createElement("span", labelProps, item.label);
337
- var submenu = createSubmenu(item, index);
404
+ var submenu = createSubmenu(processedItem, index);
338
405
  var actionProps = utils.mergeProps({
339
406
  href: item.url || '#',
407
+ 'aria-hidden': true,
408
+ tabIndex: -1,
340
409
  className: cx('action', {
341
410
  item: item
342
411
  }),
343
- target: item.target,
344
- onClick: function onClick(event) {
345
- return onItemClick(event, item);
346
- },
347
- role: 'menuitem',
348
- 'aria-haspopup': item.items != null,
349
- 'aria-disabled': item.disabled
350
- }, getPTOptions(item, 'action'));
412
+ target: item.target
413
+ }, getPTOptions(processedItem, 'action', index));
351
414
  var content = /*#__PURE__*/React__namespace.createElement("a", actionProps, icon, label, submenuIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null));
352
415
  if (item.template) {
353
416
  var defaultContentOptions = {
354
- onClick: function onClick(event) {
355
- return onItemClick(event, item);
356
- },
357
417
  className: 'p-menuitem-link',
358
418
  labelClassName: 'p-menuitem-text',
359
419
  iconClassName: 'p-menuitem-icon',
@@ -364,22 +424,41 @@ var ContextMenuSub = /*#__PURE__*/React__namespace.memo(function (props) {
364
424
  };
365
425
  content = utils.ObjectUtils.getJSXElement(item.template, item, defaultContentOptions);
366
426
  }
367
- var menuitemProps = utils.mergeProps(_defineProperty(_defineProperty({
427
+ var contentProps = utils.mergeProps({
428
+ onClick: function onClick(event) {
429
+ return onItemClick(event, processedItem);
430
+ },
431
+ onMouseEnter: function onMouseEnter(event) {
432
+ return onItemMouseEnter(event, processedItem);
433
+ },
434
+ className: cx('content')
435
+ }, getPTOptions(processedItem, 'content', index));
436
+ var menuitemProps = utils.mergeProps(_defineProperty({
368
437
  id: key,
369
438
  key: key,
370
- role: 'none',
439
+ role: 'menuitem',
440
+ 'aria-label': item.label,
441
+ 'aria-disabled': disabled,
442
+ 'aria-expanded': isGroup ? active : undefined,
443
+ 'aria-haspopup': isGroup && !item.url ? 'menu' : undefined,
444
+ 'aria-level': props.level + 1,
445
+ 'aria-setsize': getAriaSetSize(),
446
+ 'aria-posinset': getAriaPosInset(index),
447
+ 'data-p-highlight': active,
448
+ 'data-p-focused': focused,
449
+ 'data-p-disabled': disabled,
371
450
  className: cx('menuitem', {
372
451
  item: item,
373
- active: active
452
+ active: active,
453
+ focused: focused,
454
+ disabled: isItemDisabled(item)
374
455
  }),
375
456
  style: item.style
376
- }, "key", key), "onMouseEnter", function onMouseEnter(event) {
377
- return onItemMouseEnter(event, item);
378
- }), getPTOptions(item, 'menuitem'));
379
- return /*#__PURE__*/React__namespace.createElement("li", menuitemProps, content, submenu);
457
+ }, "key", key), getPTOptions(processedItem, 'menuitem', index));
458
+ return /*#__PURE__*/React__namespace.createElement("li", menuitemProps, /*#__PURE__*/React__namespace.createElement("div", contentProps, content), submenu);
380
459
  };
381
- var createItem = function createItem(item, index) {
382
- return item.separator ? createSeparator(index) : createMenuItem(item, index);
460
+ var createItem = function createItem(processedItem, index) {
461
+ return processedItem.separator ? createSeparator(index) : createMenuItem(processedItem, index);
383
462
  };
384
463
  var createMenu = function createMenu() {
385
464
  return props.model ? props.model.map(createItem) : null;
@@ -388,7 +467,16 @@ var ContextMenuSub = /*#__PURE__*/React__namespace.memo(function (props) {
388
467
  var menuProps = utils.mergeProps({
389
468
  className: cx('menu', {
390
469
  menuProps: props
391
- })
470
+ }),
471
+ onFocus: props.onFocus,
472
+ onBlur: props.onBlur,
473
+ onKeyDown: props.onKeyDown,
474
+ 'aria-label': props.ariaLabel,
475
+ 'aria-labelledby': props.ariaLabelledby,
476
+ 'aria-orientation': 'vertical',
477
+ 'aria-activedescendant': props.ariaActivedescendant,
478
+ tabIndex: props.tabIndex,
479
+ role: props.role
392
480
  }, ptm('menu', {
393
481
  hostName: props.hostName
394
482
  }));
@@ -409,9 +497,11 @@ var ContextMenuSub = /*#__PURE__*/React__namespace.memo(function (props) {
409
497
  }, transitionProps), /*#__PURE__*/React__namespace.createElement("ul", _extends({
410
498
  ref: submenuRef
411
499
  }, menuProps), submenu));
412
- });
500
+ }));
413
501
  ContextMenuSub.displayName = 'ContextMenuSub';
414
502
 
503
+ 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; }
504
+ 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; }
415
505
  var ContextMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.forwardRef(function (inProps, ref) {
416
506
  var context = React__namespace.useContext(PrimeReact.PrimeReactContext);
417
507
  var props = ContextMenuBase.getProps(inProps, context);
@@ -435,6 +525,38 @@ var ContextMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
435
525
  _React$useState10 = _slicedToArray(_React$useState9, 2),
436
526
  attributeSelectorState = _React$useState10[0],
437
527
  setAttributeSelectorState = _React$useState10[1];
528
+ var _React$useState11 = React__namespace.useState(false),
529
+ _React$useState12 = _slicedToArray(_React$useState11, 2),
530
+ focused = _React$useState12[0],
531
+ setFocused = _React$useState12[1];
532
+ var _React$useState13 = React__namespace.useState(false),
533
+ _React$useState14 = _slicedToArray(_React$useState13, 2),
534
+ focusTrigger = _React$useState14[0],
535
+ setFocusTrigger = _React$useState14[1];
536
+ var _React$useState15 = React__namespace.useState({
537
+ index: -1,
538
+ level: 0,
539
+ parentKey: ''
540
+ }),
541
+ _React$useState16 = _slicedToArray(_React$useState15, 2),
542
+ focusedItemInfo = _React$useState16[0],
543
+ setFocusedItemInfo = _React$useState16[1];
544
+ var _React$useState17 = React__namespace.useState(''),
545
+ _React$useState18 = _slicedToArray(_React$useState17, 2),
546
+ activeItemPath = _React$useState18[0],
547
+ setActiveItemPath = _React$useState18[1];
548
+ var _React$useState19 = React__namespace.useState([]),
549
+ _React$useState20 = _slicedToArray(_React$useState19, 2),
550
+ processedItems = _React$useState20[0],
551
+ setProcessedItems = _React$useState20[1];
552
+ var _React$useState21 = React__namespace.useState([]),
553
+ _React$useState22 = _slicedToArray(_React$useState21, 2),
554
+ visibleItems = _React$useState22[0],
555
+ setVisibleItems = _React$useState22[1];
556
+ var _React$useState23 = React__namespace.useState(null),
557
+ _React$useState24 = _slicedToArray(_React$useState23, 2),
558
+ focusedItemId = _React$useState24[0],
559
+ setFocusedItemId = _React$useState24[1];
438
560
  var _ContextMenuBase$setM = ContextMenuBase.setMetaData({
439
561
  props: props,
440
562
  state: {
@@ -452,7 +574,10 @@ var ContextMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
452
574
  name: 'contextmenu'
453
575
  });
454
576
  var menuRef = React__namespace.useRef(null);
577
+ var listRef = React__namespace.useRef(null);
455
578
  var currentEvent = React__namespace.useRef(null);
579
+ var searchValue = React__namespace.useRef('');
580
+ var searchTimeout = React__namespace.useRef(null);
456
581
  var styleElementRef = React__namespace.useRef(null);
457
582
  var isMobileMode = hooks.useMatchMedia("screen and (max-width: ".concat(props.breakpoint, ")"), !!props.breakpoint);
458
583
  var _useEventListener = hooks.useEventListener({
@@ -488,7 +613,7 @@ var ContextMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
488
613
  unbindDocumentResizeListener = _useResizeListener2[1];
489
614
  var createStyle = function createStyle() {
490
615
  if (!styleElementRef.current) {
491
- styleElementRef.current = utils.DomHandler.createInlineStyle(context && context.nonce || PrimeReact__default["default"].nonce);
616
+ styleElementRef.current = utils.DomHandler.createInlineStyle(context && context.nonce || PrimeReact__default["default"].nonce, context && context.styleContainer);
492
617
  var selector = "".concat(attributeSelectorState);
493
618
  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");
494
619
  styleElementRef.current.innerHTML = innerHTML;
@@ -504,6 +629,12 @@ var ContextMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
504
629
  setResetMenuState(false);
505
630
  };
506
631
  var show = function show(event) {
632
+ setActiveItemPath([]);
633
+ setFocusedItemInfo({
634
+ index: -1,
635
+ level: 0,
636
+ parentKey: ''
637
+ });
507
638
  event.stopPropagation();
508
639
  event.preventDefault();
509
640
  currentEvent.current = event;
@@ -513,11 +644,20 @@ var ContextMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
513
644
  setVisibleState(true);
514
645
  props.onShow && props.onShow(currentEvent.current);
515
646
  }
647
+ Promise.resolve().then(function () {
648
+ listRef.current && utils.DomHandler.focus(listRef.current.getElement());
649
+ });
516
650
  };
517
651
  var hide = function hide(event) {
518
652
  currentEvent.current = event;
519
653
  setVisibleState(false);
520
654
  setReshowState(false);
655
+ setActiveItemPath([]);
656
+ setFocusedItemInfo({
657
+ index: -1,
658
+ level: 0,
659
+ parentKey: ''
660
+ });
521
661
  props.onHide && props.onHide(currentEvent.current);
522
662
  };
523
663
  var onEnter = function onEnter() {
@@ -575,6 +715,26 @@ var ContextMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
575
715
  menuRef.current.style.top = top + 'px';
576
716
  }
577
717
  };
718
+ var createProcessedItems = function createProcessedItems(items, level) {
719
+ var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
720
+ var parentKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
721
+ var processedItems = [];
722
+ items && items.forEach(function (item, index) {
723
+ var key = (parentKey !== '' ? parentKey + '_' : '') + index;
724
+ var newItem = {
725
+ item: item,
726
+ index: index,
727
+ level: level,
728
+ separator: item.separator,
729
+ key: key,
730
+ parent: parent,
731
+ parentKey: parentKey
732
+ };
733
+ newItem['items'] = createProcessedItems(item.items, level + 1, newItem, key);
734
+ processedItems.push(newItem);
735
+ });
736
+ return processedItems;
737
+ };
578
738
  var onLeafClick = function onLeafClick(event) {
579
739
  setResetMenuState(true);
580
740
  hide(event);
@@ -622,6 +782,32 @@ var ContextMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
622
782
  show(currentEvent.current);
623
783
  }
624
784
  }, [reshowState]);
785
+ hooks.useUpdateEffect(function () {
786
+ var itemsToProcess = props.model || [];
787
+ var processed = createProcessedItems(itemsToProcess, 0, null, '');
788
+ setProcessedItems(processed);
789
+ }, [props.model]);
790
+ hooks.useUpdateEffect(function () {
791
+ var _focusedItemId = focusedItemInfo.index !== -1 ? "".concat(idState).concat(utils.ObjectUtils.isNotEmpty(focusedItemInfo.parentKey) ? '_' + focusedItemInfo.parentKey : '', "_").concat(focusedItemInfo.index) : null;
792
+ setFocusedItemId(_focusedItemId);
793
+ }, [focusedItemInfo]);
794
+ hooks.useUpdateEffect(function () {
795
+ var processedItem = activeItemPath && activeItemPath.find(function (p) {
796
+ return p.key === focusedItemInfo.parentKey;
797
+ });
798
+ var _visibleItems = processedItem ? processedItem.items : processedItems;
799
+ setVisibleItems(_visibleItems);
800
+ }, [activeItemPath, focusedItemInfo]);
801
+ hooks.useUpdateEffect(function () {
802
+ if (focusTrigger) {
803
+ var itemIndex = focusedItemInfo.index !== -1 ? findNextItemIndex(focusedItemInfo.index) : findFirstFocusedItemIndex();
804
+ changeFocusedItemIndex(itemIndex);
805
+ setActiveItemPath(activeItemPath.filter(function (p) {
806
+ return p.parentKey !== focusedItemInfo.parentKey;
807
+ }));
808
+ setFocusTrigger(false);
809
+ }
810
+ }, [focusTrigger]);
625
811
  hooks.useUnmountEffect(function () {
626
812
  utils.ZIndexUtils.clear(menuRef.current);
627
813
  });
@@ -635,6 +821,347 @@ var ContextMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
635
821
  }
636
822
  };
637
823
  });
824
+ var onFocus = function onFocus(event) {
825
+ setFocused(true);
826
+ setFocusedItemInfo(focusedItemInfo.index !== -1 ? focusedItemInfo : {
827
+ index: -1,
828
+ level: 0,
829
+ parentKey: ''
830
+ });
831
+ props.onFocus && props.onFocus(event);
832
+ };
833
+ var onBlur = function onBlur(event) {
834
+ setFocused(false);
835
+ setFocusedItemInfo({
836
+ index: -1,
837
+ level: 0,
838
+ parentKey: ''
839
+ });
840
+ searchValue.current = '';
841
+ searchValue.current = '';
842
+ props.onBlur && props.onBlur(event);
843
+ };
844
+ var onKeyDown = function onKeyDown(event) {
845
+ var metaKey = event.metaKey || event.ctrlKey;
846
+ switch (event.code) {
847
+ case 'ArrowDown':
848
+ onArrowDownKey(event);
849
+ break;
850
+ case 'ArrowUp':
851
+ onArrowUpKey(event);
852
+ break;
853
+ case 'ArrowLeft':
854
+ onArrowLeftKey(event);
855
+ break;
856
+ case 'ArrowRight':
857
+ onArrowRightKey(event);
858
+ break;
859
+ case 'Home':
860
+ onHomeKey(event);
861
+ break;
862
+ case 'End':
863
+ onEndKey(event);
864
+ break;
865
+ case 'Space':
866
+ onSpaceKey(event);
867
+ break;
868
+ case 'Enter':
869
+ onEnterKey(event);
870
+ break;
871
+ case 'Escape':
872
+ onEscapeKey(event);
873
+ break;
874
+ case 'Tab':
875
+ onTabKey(event);
876
+ break;
877
+ case 'PageDown':
878
+ case 'PageUp':
879
+ case 'Backspace':
880
+ case 'ShiftLeft':
881
+ case 'ShiftRight':
882
+ // NOOP
883
+ break;
884
+ default:
885
+ if (!metaKey && utils.ObjectUtils.isPrintableCharacter(event.key)) {
886
+ searchItems(event, event.key);
887
+ }
888
+ break;
889
+ }
890
+ };
891
+ var onItemChange = function onItemChange(event) {
892
+ var processedItem = event.processedItem,
893
+ isFocus = event.isFocus,
894
+ _event$updateState = event.updateState,
895
+ updateState = _event$updateState === void 0 ? true : _event$updateState;
896
+ if (utils.ObjectUtils.isEmpty(processedItem)) return;
897
+ var index = processedItem.index,
898
+ key = processedItem.key,
899
+ level = processedItem.level,
900
+ parentKey = processedItem.parentKey,
901
+ items = processedItem.items;
902
+ var grouped = utils.ObjectUtils.isNotEmpty(items);
903
+ var _activeItemPath = activeItemPath.filter(function (p) {
904
+ return p.parentKey !== parentKey && p.parentKey !== key;
905
+ });
906
+ if (grouped && updateState) {
907
+ _activeItemPath.push(processedItem);
908
+ setVisibleState(true);
909
+ }
910
+ setFocusedItemInfo({
911
+ index: index,
912
+ level: level,
913
+ parentKey: parentKey
914
+ });
915
+ setActiveItemPath(_activeItemPath);
916
+ isFocus && utils.DomHandler.focus(listRef.current.getElement());
917
+ };
918
+ var onItemClick = function onItemClick(event) {
919
+ var processedItem = event.processedItem;
920
+ var grouped = isProccessedItemGroup(processedItem);
921
+ var selected = isSelected(processedItem);
922
+ if (selected) {
923
+ var index = processedItem.index,
924
+ key = processedItem.key,
925
+ level = processedItem.level,
926
+ parentKey = processedItem.parentKey;
927
+ setActiveItemPath(activeItemPath.filter(function (p) {
928
+ return key !== p.key && key.startsWith(p.key);
929
+ }));
930
+ setFocusedItemInfo({
931
+ index: index,
932
+ level: level,
933
+ parentKey: parentKey
934
+ });
935
+ utils.DomHandler.focus(listRef.current.getElement());
936
+ } else {
937
+ grouped ? onItemChange(event) : hide();
938
+ }
939
+ };
940
+ var onItemMouseEnter = function onItemMouseEnter(event) {
941
+ onItemChange(event);
942
+ };
943
+ var onArrowDownKey = function onArrowDownKey(event) {
944
+ var itemIndex = focusedItemInfo.index !== -1 ? findNextItemIndex(focusedItemInfo.index) : findFirstFocusedItemIndex();
945
+ changeFocusedItemIndex(itemIndex);
946
+ event.preventDefault();
947
+ };
948
+ var onArrowUpKey = function onArrowUpKey(event) {
949
+ if (event.altKey) {
950
+ if (focusedItemInfo.index !== -1) {
951
+ var processedItem = visibleItems[focusedItemInfo.index];
952
+ var grouped = isProccessedItemGroup(processedItem);
953
+ !grouped && onItemChange({
954
+ originalEvent: event,
955
+ processedItem: processedItem
956
+ });
957
+ }
958
+ event.preventDefault();
959
+ } else {
960
+ var itemIndex = focusedItemInfo.index !== -1 ? findPrevItemIndex(focusedItemInfo.index) : findLastFocusedItemIndex();
961
+ changeFocusedItemIndex(itemIndex);
962
+ event.preventDefault();
963
+ }
964
+ };
965
+ var onArrowLeftKey = function onArrowLeftKey(event) {
966
+ var processedItem = visibleItems[focusedItemInfo.index];
967
+ var parentItem = activeItemPath.find(function (p) {
968
+ return p.key === processedItem.parentKey;
969
+ });
970
+ var root = utils.ObjectUtils.isEmpty(processedItem.parent);
971
+ if (!root) {
972
+ setFocusedItemInfo({
973
+ index: -1,
974
+ parentKey: parentItem ? parentItem.parentKey : ''
975
+ });
976
+ searchValue.current = '';
977
+ setTimeout(function () {
978
+ return setFocusTrigger(true);
979
+ }, 0);
980
+ }
981
+ event.preventDefault();
982
+ };
983
+ var onArrowRightKey = function onArrowRightKey(event) {
984
+ var processedItem = visibleItems[focusedItemInfo.index];
985
+ var grouped = isProccessedItemGroup(processedItem);
986
+ if (grouped) {
987
+ onItemChange({
988
+ originalEvent: event,
989
+ processedItem: processedItem
990
+ });
991
+ setFocusedItemInfo({
992
+ index: -1,
993
+ parentKey: processedItem.key
994
+ });
995
+ searchValue.current = '';
996
+ setTimeout(function () {
997
+ return setFocusTrigger(true);
998
+ }, 0);
999
+ }
1000
+ event.preventDefault();
1001
+ };
1002
+ var onHomeKey = function onHomeKey(event) {
1003
+ changeFocusedItemIndex(findFirstItemIndex());
1004
+ event.preventDefault();
1005
+ };
1006
+ var onEndKey = function onEndKey(event) {
1007
+ changeFocusedItemIndex(findLastItemIndex());
1008
+ event.preventDefault();
1009
+ };
1010
+ var onEnterKey = function onEnterKey(event) {
1011
+ if (focusedItemInfo.index !== -1) {
1012
+ var _element = utils.DomHandler.findSingle(listRef.current.getElement(), "li[id=\"".concat("".concat(focusedItemId), "\"]"));
1013
+ var anchorElement = _element && utils.DomHandler.findSingle(_element, 'a[data-pc-section="action"]');
1014
+ anchorElement ? anchorElement.click() : _element && _element.click();
1015
+ var processedItem = visibleItems[focusedItemInfo.index];
1016
+ var grouped = isProccessedItemGroup(processedItem);
1017
+ !grouped && setFocusedItemInfo(_objectSpread(_objectSpread({}, focusedItemInfo), {}, {
1018
+ index: findFirstFocusedItemIndex()
1019
+ }));
1020
+ }
1021
+ event.preventDefault();
1022
+ };
1023
+ var onSpaceKey = function onSpaceKey(event) {
1024
+ onEnterKey(event);
1025
+ };
1026
+ var onEscapeKey = function onEscapeKey(event) {
1027
+ hide();
1028
+ setFocusedItemInfo({
1029
+ focusedItemInfo: focusedItemInfo,
1030
+ index: findFirstFocusedItemIndex()
1031
+ });
1032
+ event.preventDefault();
1033
+ };
1034
+ var onTabKey = function onTabKey(event) {
1035
+ if (focusedItemInfo.index !== -1) {
1036
+ var processedItem = visibleItems[focusedItemInfo.index];
1037
+ var grouped = isProccessedItemGroup(processedItem);
1038
+ !grouped && onItemChange({
1039
+ originalEvent: event,
1040
+ processedItem: processedItem
1041
+ });
1042
+ }
1043
+ hide();
1044
+ };
1045
+ var searchItems = function searchItems(event, _char) {
1046
+ searchValue.current = searchValue.current || '' + _char;
1047
+ var itemIndex = -1;
1048
+ var matched = false;
1049
+ if (focusedItemInfo.index !== -1) {
1050
+ itemIndex = visibleItems.slice(focusedItemInfo.index).findIndex(function (processedItem) {
1051
+ return isItemMatched(processedItem);
1052
+ });
1053
+ itemIndex = itemIndex === -1 ? visibleItems.slice(0, focusedItemInfo.index).findIndex(function (processedItem) {
1054
+ return isItemMatched(processedItem);
1055
+ }) : itemIndex + focusedItemInfo.index;
1056
+ } else {
1057
+ itemIndex = visibleItems.findIndex(function (processedItem) {
1058
+ return isItemMatched(processedItem);
1059
+ });
1060
+ }
1061
+ if (itemIndex !== -1) {
1062
+ matched = true;
1063
+ }
1064
+ if (itemIndex === -1 && focusedItemInfo.index === -1) {
1065
+ itemIndex = findFirstFocusedItemIndex();
1066
+ }
1067
+ if (itemIndex !== -1) {
1068
+ changeFocusedItemIndex(itemIndex);
1069
+ }
1070
+ if (searchTimeout.current) {
1071
+ clearTimeout(searchTimeout.current);
1072
+ }
1073
+ searchTimeout.current = setTimeout(function () {
1074
+ searchValue.current = '';
1075
+ searchTimeout.current = null;
1076
+ }, 500);
1077
+ return matched;
1078
+ };
1079
+ var changeFocusedItemIndex = function changeFocusedItemIndex(index) {
1080
+ if (focusedItemInfo.index !== index) {
1081
+ setFocusedItemInfo(_objectSpread(_objectSpread({}, focusedItemInfo), {}, {
1082
+ index: index
1083
+ }));
1084
+ scrollInView();
1085
+ }
1086
+ };
1087
+ var scrollInView = function scrollInView() {
1088
+ var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
1089
+ var _id = index !== -1 ? "".concat(idState, "_").concat(index) : focusedItemId;
1090
+ var element = utils.DomHandler.findSingle(listRef.current.getElement(), "li[id=\"".concat(_id, "\"]"));
1091
+ if (element) {
1092
+ element.scrollIntoView && element.scrollIntoView({
1093
+ block: 'nearest',
1094
+ inline: 'start'
1095
+ });
1096
+ }
1097
+ };
1098
+ var getItemProp = function getItemProp(item, name) {
1099
+ return item ? utils.ObjectUtils.getItemValue(item[name]) : undefined;
1100
+ };
1101
+ var getItemLabel = function getItemLabel(item) {
1102
+ return getItemProp(item, 'label');
1103
+ };
1104
+ var getProccessedItemLabel = function getProccessedItemLabel(processedItem) {
1105
+ return processedItem ? getItemLabel(processedItem.item) : undefined;
1106
+ };
1107
+ var isProccessedItemGroup = function isProccessedItemGroup(processedItem) {
1108
+ return processedItem && utils.ObjectUtils.isNotEmpty(processedItem.items);
1109
+ };
1110
+ var isItemDisabled = function isItemDisabled(item) {
1111
+ return getItemProp(item, 'disabled');
1112
+ };
1113
+ var isItemSeparator = function isItemSeparator(item) {
1114
+ return getItemProp(item, 'separator');
1115
+ };
1116
+ var isValidItem = function isValidItem(processedItem) {
1117
+ return !!processedItem && !isItemDisabled(processedItem.item) && !isItemSeparator(processedItem.item);
1118
+ };
1119
+ var isItemMatched = function isItemMatched(processedItem) {
1120
+ return isValidItem(processedItem) && getProccessedItemLabel(processedItem).toLocaleLowerCase().startsWith(searchValue.current.toLocaleLowerCase());
1121
+ };
1122
+ var findNextItemIndex = function findNextItemIndex(index) {
1123
+ var matchedItemIndex = index < visibleItems.length - 1 ? visibleItems.slice(index + 1).findIndex(function (processedItem) {
1124
+ return isValidItem(processedItem);
1125
+ }) : -1;
1126
+ return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;
1127
+ };
1128
+ var findPrevItemIndex = function findPrevItemIndex(index) {
1129
+ var matchedItemIndex = index > 0 ? utils.ObjectUtils.findLastIndex(visibleItems.slice(0, index), function (processedItem) {
1130
+ return isValidItem(processedItem);
1131
+ }) : -1;
1132
+ return matchedItemIndex > -1 ? matchedItemIndex : index;
1133
+ };
1134
+ var isSelected = function isSelected(processedItem) {
1135
+ return activeItemPath && activeItemPath.some(function (p) {
1136
+ return p.key === processedItem.key;
1137
+ });
1138
+ };
1139
+ var isValidSelectedItem = function isValidSelectedItem(processedItem) {
1140
+ return isValidItem(processedItem) && isSelected(processedItem);
1141
+ };
1142
+ var findFirstItemIndex = function findFirstItemIndex() {
1143
+ return visibleItems.findIndex(function (processedItem) {
1144
+ return isValidItem(processedItem);
1145
+ });
1146
+ };
1147
+ var findLastItemIndex = function findLastItemIndex() {
1148
+ return utils.ObjectUtils.findLastIndex(visibleItems, function (processedItem) {
1149
+ return isValidItem(processedItem);
1150
+ });
1151
+ };
1152
+ var findFirstFocusedItemIndex = function findFirstFocusedItemIndex() {
1153
+ var selectedIndex = findSelectedItemIndex();
1154
+ return selectedIndex < 0 ? findFirstItemIndex() : selectedIndex;
1155
+ };
1156
+ var findLastFocusedItemIndex = function findLastFocusedItemIndex() {
1157
+ var selectedIndex = findSelectedItemIndex();
1158
+ return selectedIndex < 0 ? findLastItemIndex() : selectedIndex;
1159
+ };
1160
+ var findSelectedItemIndex = function findSelectedItemIndex() {
1161
+ return visibleItems.findIndex(function (processedItem) {
1162
+ return isValidSelectedItem(processedItem);
1163
+ });
1164
+ };
638
1165
  var createContextMenu = function createContextMenu() {
639
1166
  var rootProps = utils.mergeProps({
640
1167
  id: props.id,
@@ -668,11 +1195,26 @@ var ContextMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
668
1195
  }, transitionProps), /*#__PURE__*/React__namespace.createElement("div", _extends({
669
1196
  ref: menuRef
670
1197
  }, rootProps), /*#__PURE__*/React__namespace.createElement(ContextMenuSub, {
1198
+ ref: listRef,
1199
+ ariaLabel: props.ariaLabel,
1200
+ ariaLabelledby: props.ariaLabelledby,
1201
+ activeItemPath: activeItemPath,
671
1202
  hostName: "ContextMenu",
672
- id: idState,
1203
+ id: idState + '_list',
1204
+ role: "menubar",
1205
+ tabIndex: props.tabIndex || 0,
1206
+ ariaActivedescendant: focused ? focusedItemId : undefined,
1207
+ menuId: idState,
1208
+ focusedItemId: focused ? focusedItemId : undefined,
673
1209
  menuProps: props,
674
- model: props.model,
1210
+ model: processedItems,
1211
+ level: 0,
675
1212
  root: true,
1213
+ onItemClick: onItemClick,
1214
+ onItemMouseEnter: onItemMouseEnter,
1215
+ onFocus: onFocus,
1216
+ onBlur: onBlur,
1217
+ onKeyDown: onKeyDown,
676
1218
  resetMenu: resetMenuState,
677
1219
  onLeafClick: onLeafClick,
678
1220
  isMobileMode: isMobileMode,