primereact 10.2.0 → 10.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (558) hide show
  1. package/accordion/accordion.cjs.js +83 -11
  2. package/accordion/accordion.cjs.min.js +1 -1
  3. package/accordion/accordion.d.ts +1 -1
  4. package/accordion/accordion.esm.js +83 -11
  5. package/accordion/accordion.esm.min.js +1 -1
  6. package/accordion/accordion.js +81 -9
  7. package/accordion/accordion.min.js +1 -1
  8. package/api/api.cjs.js +24 -0
  9. package/api/api.cjs.min.js +1 -1
  10. package/api/api.d.ts +13 -246
  11. package/api/api.esm.js +24 -0
  12. package/api/api.esm.min.js +1 -1
  13. package/api/api.js +24 -0
  14. package/api/api.min.js +1 -1
  15. package/breadcrumb/breadcrumb.cjs.js +12 -6
  16. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  17. package/breadcrumb/breadcrumb.esm.js +12 -6
  18. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  19. package/breadcrumb/breadcrumb.js +12 -6
  20. package/breadcrumb/breadcrumb.min.js +1 -1
  21. package/calendar/calendar.cjs.js +6 -9
  22. package/calendar/calendar.cjs.min.js +1 -1
  23. package/calendar/calendar.esm.js +6 -9
  24. package/calendar/calendar.esm.min.js +1 -1
  25. package/calendar/calendar.js +6 -9
  26. package/calendar/calendar.min.js +1 -1
  27. package/carousel/carousel.cjs.js +102 -8
  28. package/carousel/carousel.cjs.min.js +1 -1
  29. package/carousel/carousel.esm.js +103 -9
  30. package/carousel/carousel.esm.min.js +1 -1
  31. package/carousel/carousel.js +102 -8
  32. package/carousel/carousel.min.js +1 -1
  33. package/cascadeselect/cascadeselect.cjs.js +24 -5
  34. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  35. package/cascadeselect/cascadeselect.esm.js +25 -6
  36. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  37. package/cascadeselect/cascadeselect.js +25 -7
  38. package/cascadeselect/cascadeselect.min.js +1 -1
  39. package/chip/chip.cjs.js +0 -1
  40. package/chip/chip.cjs.min.js +1 -1
  41. package/chip/chip.esm.js +0 -1
  42. package/chip/chip.esm.min.js +1 -1
  43. package/chip/chip.js +0 -1
  44. package/chip/chip.min.js +1 -1
  45. package/chips/chips.cjs.js +1 -2
  46. package/chips/chips.cjs.min.js +1 -1
  47. package/chips/chips.esm.js +1 -2
  48. package/chips/chips.esm.min.js +1 -1
  49. package/chips/chips.js +1 -2
  50. package/chips/chips.min.js +1 -1
  51. package/confirmdialog/confirmdialog.cjs.js +13 -8
  52. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  53. package/confirmdialog/confirmdialog.esm.js +13 -8
  54. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  55. package/confirmdialog/confirmdialog.js +13 -8
  56. package/confirmdialog/confirmdialog.min.js +1 -1
  57. package/confirmpopup/confirmpopup.cjs.js +57 -36
  58. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  59. package/confirmpopup/confirmpopup.d.ts +29 -0
  60. package/confirmpopup/confirmpopup.esm.js +57 -36
  61. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  62. package/confirmpopup/confirmpopup.js +57 -36
  63. package/confirmpopup/confirmpopup.min.js +1 -1
  64. package/contextmenu/contextmenu.cjs.js +640 -98
  65. package/contextmenu/contextmenu.cjs.min.js +1 -1
  66. package/contextmenu/contextmenu.d.ts +22 -0
  67. package/contextmenu/contextmenu.esm.js +640 -98
  68. package/contextmenu/contextmenu.esm.min.js +1 -1
  69. package/contextmenu/contextmenu.js +640 -98
  70. package/contextmenu/contextmenu.min.js +1 -1
  71. package/core/core.js +596 -130
  72. package/core/core.min.js +35 -35
  73. package/datatable/datatable.cjs.js +4 -7
  74. package/datatable/datatable.cjs.min.js +1 -1
  75. package/datatable/datatable.d.ts +1 -1
  76. package/datatable/datatable.esm.js +4 -7
  77. package/datatable/datatable.esm.min.js +1 -1
  78. package/datatable/datatable.js +4 -7
  79. package/datatable/datatable.min.js +1 -1
  80. package/dialog/dialog.cjs.js +86 -38
  81. package/dialog/dialog.cjs.min.js +1 -1
  82. package/dialog/dialog.d.ts +59 -0
  83. package/dialog/dialog.esm.js +86 -38
  84. package/dialog/dialog.esm.min.js +1 -1
  85. package/dialog/dialog.js +86 -38
  86. package/dialog/dialog.min.js +1 -1
  87. package/divider/divider.cjs.js +1 -0
  88. package/divider/divider.cjs.min.js +1 -1
  89. package/divider/divider.esm.js +1 -0
  90. package/divider/divider.esm.min.js +1 -1
  91. package/divider/divider.js +1 -0
  92. package/divider/divider.min.js +1 -1
  93. package/dock/dock.cjs.js +169 -33
  94. package/dock/dock.cjs.min.js +1 -1
  95. package/dock/dock.d.ts +15 -0
  96. package/dock/dock.esm.js +170 -34
  97. package/dock/dock.esm.min.js +1 -1
  98. package/dock/dock.js +169 -33
  99. package/dock/dock.min.js +1 -1
  100. package/dropdown/dropdown.cjs.js +25 -2
  101. package/dropdown/dropdown.cjs.min.js +1 -1
  102. package/dropdown/dropdown.esm.js +25 -2
  103. package/dropdown/dropdown.esm.min.js +1 -1
  104. package/dropdown/dropdown.js +26 -4
  105. package/dropdown/dropdown.min.js +1 -1
  106. package/fieldset/fieldset.cjs.js +12 -5
  107. package/fieldset/fieldset.cjs.min.js +1 -1
  108. package/fieldset/fieldset.esm.js +12 -5
  109. package/fieldset/fieldset.esm.min.js +1 -1
  110. package/fieldset/fieldset.js +12 -5
  111. package/fieldset/fieldset.min.js +1 -1
  112. package/fileupload/fileupload.cjs.js +14 -6
  113. package/fileupload/fileupload.cjs.min.js +1 -1
  114. package/fileupload/fileupload.d.ts +17 -1
  115. package/fileupload/fileupload.esm.js +14 -6
  116. package/fileupload/fileupload.esm.min.js +1 -1
  117. package/fileupload/fileupload.js +14 -6
  118. package/fileupload/fileupload.min.js +1 -1
  119. package/galleria/galleria.cjs.js +222 -42
  120. package/galleria/galleria.cjs.min.js +1 -1
  121. package/galleria/galleria.esm.js +224 -44
  122. package/galleria/galleria.esm.min.js +1 -1
  123. package/galleria/galleria.js +222 -42
  124. package/galleria/galleria.min.js +1 -1
  125. package/hooks/hooks.cjs.js +4 -2
  126. package/hooks/hooks.cjs.min.js +1 -1
  127. package/hooks/hooks.esm.js +4 -2
  128. package/hooks/hooks.esm.min.js +1 -1
  129. package/hooks/hooks.js +4 -2
  130. package/hooks/hooks.min.js +1 -1
  131. package/icons/arrowdown/index.cjs.js +12 -1
  132. package/icons/arrowdown/index.cjs.min.js +1 -1
  133. package/icons/arrowdown/index.esm.js +12 -1
  134. package/icons/arrowdown/index.esm.min.js +1 -1
  135. package/icons/arrowdown/index.js +12 -1
  136. package/icons/arrowdown/index.min.js +1 -1
  137. package/icons/arrowup/index.cjs.js +12 -1
  138. package/icons/arrowup/index.cjs.min.js +1 -1
  139. package/icons/arrowup/index.esm.js +12 -1
  140. package/icons/arrowup/index.esm.min.js +1 -1
  141. package/icons/arrowup/index.js +12 -1
  142. package/icons/arrowup/index.min.js +1 -1
  143. package/icons/ban/index.cjs.js +12 -1
  144. package/icons/ban/index.cjs.min.js +1 -1
  145. package/icons/ban/index.esm.js +12 -1
  146. package/icons/ban/index.esm.min.js +1 -1
  147. package/icons/ban/index.js +12 -1
  148. package/icons/ban/index.min.js +1 -1
  149. package/icons/download/index.cjs.js +12 -1
  150. package/icons/download/index.cjs.min.js +1 -1
  151. package/icons/download/index.esm.js +12 -1
  152. package/icons/download/index.esm.min.js +1 -1
  153. package/icons/download/index.js +12 -1
  154. package/icons/download/index.min.js +1 -1
  155. package/icons/exclamationtriangle/index.cjs.js +12 -1
  156. package/icons/exclamationtriangle/index.cjs.min.js +1 -1
  157. package/icons/exclamationtriangle/index.esm.js +12 -1
  158. package/icons/exclamationtriangle/index.esm.min.js +1 -1
  159. package/icons/exclamationtriangle/index.js +12 -1
  160. package/icons/exclamationtriangle/index.min.js +1 -1
  161. package/icons/eyeslash/index.cjs.js +12 -1
  162. package/icons/eyeslash/index.cjs.min.js +1 -1
  163. package/icons/eyeslash/index.esm.js +12 -1
  164. package/icons/eyeslash/index.esm.min.js +1 -1
  165. package/icons/eyeslash/index.js +12 -1
  166. package/icons/eyeslash/index.min.js +1 -1
  167. package/icons/filter/index.cjs.js +12 -1
  168. package/icons/filter/index.cjs.min.js +1 -1
  169. package/icons/filter/index.esm.js +12 -1
  170. package/icons/filter/index.esm.min.js +1 -1
  171. package/icons/filter/index.js +12 -1
  172. package/icons/filter/index.min.js +1 -1
  173. package/icons/filterslash/index.cjs.js +12 -1
  174. package/icons/filterslash/index.cjs.min.js +1 -1
  175. package/icons/filterslash/index.esm.js +12 -1
  176. package/icons/filterslash/index.esm.min.js +1 -1
  177. package/icons/filterslash/index.js +12 -1
  178. package/icons/filterslash/index.min.js +1 -1
  179. package/icons/infocircle/index.cjs.js +12 -1
  180. package/icons/infocircle/index.cjs.min.js +1 -1
  181. package/icons/infocircle/index.esm.js +12 -1
  182. package/icons/infocircle/index.esm.min.js +1 -1
  183. package/icons/infocircle/index.js +12 -1
  184. package/icons/infocircle/index.min.js +1 -1
  185. package/icons/pencil/index.cjs.js +12 -1
  186. package/icons/pencil/index.cjs.min.js +1 -1
  187. package/icons/pencil/index.esm.js +12 -1
  188. package/icons/pencil/index.esm.min.js +1 -1
  189. package/icons/pencil/index.js +12 -1
  190. package/icons/pencil/index.min.js +1 -1
  191. package/icons/plus/index.cjs.js +12 -1
  192. package/icons/plus/index.cjs.min.js +1 -1
  193. package/icons/plus/index.esm.js +12 -1
  194. package/icons/plus/index.esm.min.js +1 -1
  195. package/icons/plus/index.js +12 -1
  196. package/icons/plus/index.min.js +1 -1
  197. package/icons/refresh/index.cjs.js +12 -1
  198. package/icons/refresh/index.cjs.min.js +1 -1
  199. package/icons/refresh/index.esm.js +12 -1
  200. package/icons/refresh/index.esm.min.js +1 -1
  201. package/icons/refresh/index.js +12 -1
  202. package/icons/refresh/index.min.js +1 -1
  203. package/icons/search/index.cjs.js +12 -1
  204. package/icons/search/index.cjs.min.js +1 -1
  205. package/icons/search/index.esm.js +12 -1
  206. package/icons/search/index.esm.min.js +1 -1
  207. package/icons/search/index.js +12 -1
  208. package/icons/search/index.min.js +1 -1
  209. package/icons/searchminus/index.cjs.js +12 -1
  210. package/icons/searchminus/index.cjs.min.js +1 -1
  211. package/icons/searchminus/index.esm.js +12 -1
  212. package/icons/searchminus/index.esm.min.js +1 -1
  213. package/icons/searchminus/index.js +12 -1
  214. package/icons/searchminus/index.min.js +1 -1
  215. package/icons/searchplus/index.cjs.js +12 -1
  216. package/icons/searchplus/index.cjs.min.js +1 -1
  217. package/icons/searchplus/index.esm.js +12 -1
  218. package/icons/searchplus/index.esm.min.js +1 -1
  219. package/icons/searchplus/index.js +12 -1
  220. package/icons/searchplus/index.min.js +1 -1
  221. package/icons/sortalt/index.cjs.js +12 -1
  222. package/icons/sortalt/index.cjs.min.js +1 -1
  223. package/icons/sortalt/index.esm.js +12 -1
  224. package/icons/sortalt/index.esm.min.js +1 -1
  225. package/icons/sortalt/index.js +12 -1
  226. package/icons/sortalt/index.min.js +1 -1
  227. package/icons/sortamountdown/index.cjs.js +12 -1
  228. package/icons/sortamountdown/index.cjs.min.js +1 -1
  229. package/icons/sortamountdown/index.esm.js +12 -1
  230. package/icons/sortamountdown/index.esm.min.js +1 -1
  231. package/icons/sortamountdown/index.js +12 -1
  232. package/icons/sortamountdown/index.min.js +1 -1
  233. package/icons/sortamountupalt/index.cjs.js +12 -1
  234. package/icons/sortamountupalt/index.cjs.min.js +1 -1
  235. package/icons/sortamountupalt/index.esm.js +12 -1
  236. package/icons/sortamountupalt/index.esm.min.js +1 -1
  237. package/icons/sortamountupalt/index.js +12 -1
  238. package/icons/sortamountupalt/index.min.js +1 -1
  239. package/icons/spinner/index.cjs.js +12 -1
  240. package/icons/spinner/index.cjs.min.js +1 -1
  241. package/icons/spinner/index.esm.js +12 -1
  242. package/icons/spinner/index.esm.min.js +1 -1
  243. package/icons/spinner/index.js +12 -1
  244. package/icons/spinner/index.min.js +1 -1
  245. package/icons/star/index.cjs.js +12 -1
  246. package/icons/star/index.cjs.min.js +1 -1
  247. package/icons/star/index.esm.js +12 -1
  248. package/icons/star/index.esm.min.js +1 -1
  249. package/icons/star/index.js +12 -1
  250. package/icons/star/index.min.js +1 -1
  251. package/icons/starfill/index.cjs.js +12 -1
  252. package/icons/starfill/index.cjs.min.js +1 -1
  253. package/icons/starfill/index.esm.js +12 -1
  254. package/icons/starfill/index.esm.min.js +1 -1
  255. package/icons/starfill/index.js +12 -1
  256. package/icons/starfill/index.min.js +1 -1
  257. package/icons/thlarge/index.cjs.js +12 -1
  258. package/icons/thlarge/index.cjs.min.js +1 -1
  259. package/icons/thlarge/index.esm.js +12 -1
  260. package/icons/thlarge/index.esm.min.js +1 -1
  261. package/icons/thlarge/index.js +12 -1
  262. package/icons/thlarge/index.min.js +1 -1
  263. package/icons/timescircle/index.cjs.js +12 -1
  264. package/icons/timescircle/index.cjs.min.js +1 -1
  265. package/icons/timescircle/index.esm.js +12 -1
  266. package/icons/timescircle/index.esm.min.js +1 -1
  267. package/icons/timescircle/index.js +12 -1
  268. package/icons/timescircle/index.min.js +1 -1
  269. package/icons/trash/index.cjs.js +12 -1
  270. package/icons/trash/index.cjs.min.js +1 -1
  271. package/icons/trash/index.esm.js +12 -1
  272. package/icons/trash/index.esm.min.js +1 -1
  273. package/icons/trash/index.js +12 -1
  274. package/icons/trash/index.min.js +1 -1
  275. package/icons/undo/index.cjs.js +12 -1
  276. package/icons/undo/index.cjs.min.js +1 -1
  277. package/icons/undo/index.esm.js +12 -1
  278. package/icons/undo/index.esm.min.js +1 -1
  279. package/icons/undo/index.js +12 -1
  280. package/icons/undo/index.min.js +1 -1
  281. package/icons/upload/index.cjs.js +12 -1
  282. package/icons/upload/index.cjs.min.js +1 -1
  283. package/icons/upload/index.esm.js +12 -1
  284. package/icons/upload/index.esm.min.js +1 -1
  285. package/icons/upload/index.js +12 -1
  286. package/icons/upload/index.min.js +1 -1
  287. package/icons/windowmaximize/index.cjs.js +12 -1
  288. package/icons/windowmaximize/index.cjs.min.js +1 -1
  289. package/icons/windowmaximize/index.esm.js +12 -1
  290. package/icons/windowmaximize/index.esm.min.js +1 -1
  291. package/icons/windowmaximize/index.js +12 -1
  292. package/icons/windowmaximize/index.min.js +1 -1
  293. package/icons/windowminimize/index.cjs.js +12 -1
  294. package/icons/windowminimize/index.cjs.min.js +1 -1
  295. package/icons/windowminimize/index.esm.js +12 -1
  296. package/icons/windowminimize/index.esm.min.js +1 -1
  297. package/icons/windowminimize/index.js +12 -1
  298. package/icons/windowminimize/index.min.js +1 -1
  299. package/image/image.cjs.js +71 -16
  300. package/image/image.cjs.min.js +1 -1
  301. package/image/image.esm.js +71 -16
  302. package/image/image.esm.min.js +1 -1
  303. package/image/image.js +71 -16
  304. package/image/image.min.js +1 -1
  305. package/megamenu/megamenu.cjs.js +787 -168
  306. package/megamenu/megamenu.cjs.min.js +1 -1
  307. package/megamenu/megamenu.d.ts +14 -0
  308. package/megamenu/megamenu.esm.js +790 -171
  309. package/megamenu/megamenu.esm.min.js +1 -1
  310. package/megamenu/megamenu.js +787 -168
  311. package/megamenu/megamenu.min.js +1 -1
  312. package/mention/mention.cjs.js +10 -9
  313. package/mention/mention.cjs.min.js +1 -1
  314. package/mention/mention.esm.js +11 -10
  315. package/mention/mention.esm.min.js +1 -1
  316. package/mention/mention.js +10 -9
  317. package/mention/mention.min.js +1 -1
  318. package/menu/menu.cjs.js +214 -68
  319. package/menu/menu.cjs.min.js +1 -1
  320. package/menu/menu.d.ts +14 -0
  321. package/menu/menu.esm.js +214 -68
  322. package/menu/menu.esm.min.js +1 -1
  323. package/menu/menu.js +214 -68
  324. package/menu/menu.min.js +1 -1
  325. package/menubar/menubar.cjs.js +714 -179
  326. package/menubar/menubar.cjs.min.js +1 -1
  327. package/menubar/menubar.d.ts +18 -0
  328. package/menubar/menubar.esm.js +717 -182
  329. package/menubar/menubar.esm.min.js +1 -1
  330. package/menubar/menubar.js +714 -179
  331. package/menubar/menubar.min.js +1 -1
  332. package/message/message.cjs.js +2 -1
  333. package/message/message.cjs.min.js +1 -1
  334. package/message/message.esm.js +2 -1
  335. package/message/message.esm.min.js +1 -1
  336. package/message/message.js +2 -1
  337. package/message/message.min.js +1 -1
  338. package/messages/messages.cjs.js +4 -2
  339. package/messages/messages.cjs.min.js +1 -1
  340. package/messages/messages.esm.js +4 -2
  341. package/messages/messages.esm.min.js +1 -1
  342. package/messages/messages.js +4 -2
  343. package/messages/messages.min.js +1 -1
  344. package/multiselect/multiselect.cjs.js +11 -5
  345. package/multiselect/multiselect.cjs.min.js +1 -1
  346. package/multiselect/multiselect.esm.js +11 -5
  347. package/multiselect/multiselect.esm.min.js +1 -1
  348. package/multiselect/multiselect.js +12 -7
  349. package/multiselect/multiselect.min.js +1 -1
  350. package/orderlist/orderlist.cjs.js +259 -104
  351. package/orderlist/orderlist.cjs.min.js +1 -1
  352. package/orderlist/orderlist.d.ts +8 -0
  353. package/orderlist/orderlist.esm.js +260 -105
  354. package/orderlist/orderlist.esm.min.js +1 -1
  355. package/orderlist/orderlist.js +259 -104
  356. package/orderlist/orderlist.min.js +1 -1
  357. package/overlaypanel/overlaypanel.cjs.js +4 -2
  358. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  359. package/overlaypanel/overlaypanel.esm.js +4 -2
  360. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  361. package/overlaypanel/overlaypanel.js +4 -2
  362. package/overlaypanel/overlaypanel.min.js +1 -1
  363. package/package.json +1 -1
  364. package/panel/panel.cjs.js +22 -19
  365. package/panel/panel.cjs.min.js +1 -1
  366. package/panel/panel.esm.js +22 -19
  367. package/panel/panel.esm.min.js +1 -1
  368. package/panel/panel.js +22 -19
  369. package/panel/panel.min.js +1 -1
  370. package/panelmenu/panelmenu.cjs.js +775 -196
  371. package/panelmenu/panelmenu.cjs.min.js +1 -1
  372. package/panelmenu/panelmenu.d.ts +15 -0
  373. package/panelmenu/panelmenu.esm.js +776 -197
  374. package/panelmenu/panelmenu.esm.min.js +1 -1
  375. package/panelmenu/panelmenu.js +775 -196
  376. package/panelmenu/panelmenu.min.js +1 -1
  377. package/passthrough/tailwind/index.cjs.js +5 -4
  378. package/passthrough/tailwind/index.cjs.min.js +1 -1
  379. package/passthrough/tailwind/index.esm.js +5 -4
  380. package/passthrough/tailwind/index.esm.min.js +1 -1
  381. package/passthrough/tailwind/index.js +5 -4
  382. package/passthrough/tailwind/index.min.js +1 -1
  383. package/password/password.cjs.js +1 -1
  384. package/password/password.cjs.min.js +1 -1
  385. package/password/password.esm.js +1 -1
  386. package/password/password.esm.min.js +1 -1
  387. package/password/password.js +1 -1
  388. package/password/password.min.js +1 -1
  389. package/primereact.all.cjs.js +9489 -5244
  390. package/primereact.all.cjs.min.js +1 -1
  391. package/primereact.all.esm.js +9489 -5244
  392. package/primereact.all.esm.min.js +1 -1
  393. package/primereact.all.js +9489 -5244
  394. package/primereact.all.min.js +1 -1
  395. package/radiobutton/radiobutton.cjs.js +3 -2
  396. package/radiobutton/radiobutton.cjs.min.js +1 -1
  397. package/radiobutton/radiobutton.esm.js +3 -2
  398. package/radiobutton/radiobutton.esm.min.js +1 -1
  399. package/radiobutton/radiobutton.js +3 -2
  400. package/radiobutton/radiobutton.min.js +1 -1
  401. package/resources/themes/arya-blue/theme.css +844 -789
  402. package/resources/themes/arya-green/theme.css +844 -789
  403. package/resources/themes/arya-orange/theme.css +844 -789
  404. package/resources/themes/arya-purple/theme.css +844 -789
  405. package/resources/themes/bootstrap4-dark-blue/theme.css +654 -600
  406. package/resources/themes/bootstrap4-dark-purple/theme.css +654 -600
  407. package/resources/themes/bootstrap4-light-blue/theme.css +658 -604
  408. package/resources/themes/bootstrap4-light-purple/theme.css +658 -604
  409. package/resources/themes/fluent-light/theme.css +661 -622
  410. package/resources/themes/lara-dark-amber/theme.css +665 -625
  411. package/resources/themes/lara-dark-blue/theme.css +665 -625
  412. package/resources/themes/lara-dark-cyan/theme.css +665 -625
  413. package/resources/themes/lara-dark-green/theme.css +665 -625
  414. package/resources/themes/lara-dark-indigo/theme.css +665 -625
  415. package/resources/themes/lara-dark-pink/theme.css +665 -625
  416. package/resources/themes/lara-dark-purple/theme.css +665 -625
  417. package/resources/themes/lara-dark-teal/theme.css +665 -625
  418. package/resources/themes/lara-light-amber/theme.css +758 -716
  419. package/resources/themes/lara-light-blue/theme.css +992 -950
  420. package/resources/themes/lara-light-cyan/theme.css +758 -716
  421. package/resources/themes/lara-light-green/theme.css +797 -755
  422. package/resources/themes/lara-light-indigo/theme.css +1008 -966
  423. package/resources/themes/lara-light-pink/theme.css +758 -716
  424. package/resources/themes/lara-light-purple/theme.css +1008 -966
  425. package/resources/themes/lara-light-teal/theme.css +758 -716
  426. package/resources/themes/luna-amber/theme.css +931 -877
  427. package/resources/themes/luna-blue/theme.css +931 -877
  428. package/resources/themes/luna-green/theme.css +931 -877
  429. package/resources/themes/luna-pink/theme.css +931 -877
  430. package/resources/themes/md-dark-deeppurple/theme.css +900 -941
  431. package/resources/themes/md-dark-indigo/theme.css +905 -946
  432. package/resources/themes/md-light-deeppurple/theme.css +862 -903
  433. package/resources/themes/md-light-indigo/theme.css +862 -903
  434. package/resources/themes/mdc-dark-deeppurple/theme.css +900 -941
  435. package/resources/themes/mdc-dark-indigo/theme.css +905 -946
  436. package/resources/themes/mdc-light-deeppurple/theme.css +862 -903
  437. package/resources/themes/mdc-light-indigo/theme.css +862 -903
  438. package/resources/themes/mira/theme.css +1546 -1525
  439. package/resources/themes/nano/theme.css +696 -639
  440. package/resources/themes/nova/theme.css +690 -637
  441. package/resources/themes/nova-accent/theme.css +692 -636
  442. package/resources/themes/nova-alt/theme.css +690 -637
  443. package/resources/themes/rhea/theme.css +865 -809
  444. package/resources/themes/saga-blue/theme.css +883 -828
  445. package/resources/themes/saga-green/theme.css +883 -828
  446. package/resources/themes/saga-orange/theme.css +883 -828
  447. package/resources/themes/saga-purple/theme.css +883 -828
  448. package/resources/themes/soho-dark/theme.css +684 -635
  449. package/resources/themes/soho-light/theme.css +672 -625
  450. package/resources/themes/tailwind-light/theme.css +1354 -1299
  451. package/resources/themes/vela-blue/theme.css +852 -797
  452. package/resources/themes/vela-green/theme.css +852 -797
  453. package/resources/themes/vela-orange/theme.css +852 -797
  454. package/resources/themes/vela-purple/theme.css +852 -797
  455. package/resources/themes/viva-dark/theme.css +647 -613
  456. package/resources/themes/viva-light/theme.css +728 -694
  457. package/ripple/ripple.cjs.js +65 -2
  458. package/ripple/ripple.cjs.min.js +1 -1
  459. package/ripple/ripple.esm.js +65 -2
  460. package/ripple/ripple.esm.min.js +1 -1
  461. package/ripple/ripple.js +65 -2
  462. package/ripple/ripple.min.js +1 -1
  463. package/scrollpanel/scrollpanel.cjs.js +183 -3
  464. package/scrollpanel/scrollpanel.cjs.min.js +1 -1
  465. package/scrollpanel/scrollpanel.esm.js +184 -4
  466. package/scrollpanel/scrollpanel.esm.min.js +1 -1
  467. package/scrollpanel/scrollpanel.js +183 -3
  468. package/scrollpanel/scrollpanel.min.js +1 -1
  469. package/sidebar/sidebar.cjs.js +58 -45
  470. package/sidebar/sidebar.cjs.min.js +1 -1
  471. package/sidebar/sidebar.d.ts +23 -1
  472. package/sidebar/sidebar.esm.js +58 -45
  473. package/sidebar/sidebar.esm.min.js +1 -1
  474. package/sidebar/sidebar.js +58 -45
  475. package/sidebar/sidebar.min.js +1 -1
  476. package/slidemenu/slidemenu.cjs.js +4 -2
  477. package/slidemenu/slidemenu.cjs.min.js +1 -1
  478. package/slidemenu/slidemenu.esm.js +4 -2
  479. package/slidemenu/slidemenu.esm.min.js +1 -1
  480. package/slidemenu/slidemenu.js +4 -2
  481. package/slidemenu/slidemenu.min.js +1 -1
  482. package/slider/slider.cjs.js +1 -1
  483. package/slider/slider.cjs.min.js +1 -1
  484. package/slider/slider.esm.js +1 -1
  485. package/slider/slider.esm.min.js +1 -1
  486. package/slider/slider.js +1 -1
  487. package/slider/slider.min.js +1 -1
  488. package/speeddial/speeddial.cjs.js +264 -29
  489. package/speeddial/speeddial.cjs.min.js +1 -1
  490. package/speeddial/speeddial.esm.js +266 -31
  491. package/speeddial/speeddial.esm.min.js +1 -1
  492. package/speeddial/speeddial.js +264 -29
  493. package/speeddial/speeddial.min.js +1 -1
  494. package/splitbutton/splitbutton.cjs.js +1048 -267
  495. package/splitbutton/splitbutton.cjs.min.js +1 -1
  496. package/splitbutton/splitbutton.d.ts +4 -4
  497. package/splitbutton/splitbutton.esm.js +1049 -268
  498. package/splitbutton/splitbutton.esm.min.js +1 -1
  499. package/splitbutton/splitbutton.js +1048 -269
  500. package/splitbutton/splitbutton.min.js +1 -1
  501. package/splitter/splitter.cjs.js +103 -15
  502. package/splitter/splitter.cjs.min.js +1 -1
  503. package/splitter/splitter.d.ts +5 -0
  504. package/splitter/splitter.esm.js +103 -15
  505. package/splitter/splitter.esm.min.js +1 -1
  506. package/splitter/splitter.js +103 -15
  507. package/splitter/splitter.min.js +1 -1
  508. package/steps/steps.cjs.js +99 -13
  509. package/steps/steps.cjs.min.js +1 -1
  510. package/steps/steps.esm.js +100 -14
  511. package/steps/steps.esm.min.js +1 -1
  512. package/steps/steps.js +99 -13
  513. package/steps/steps.min.js +1 -1
  514. package/tabmenu/tabmenu.cjs.js +104 -10
  515. package/tabmenu/tabmenu.cjs.min.js +1 -1
  516. package/tabmenu/tabmenu.esm.js +104 -10
  517. package/tabmenu/tabmenu.esm.min.js +1 -1
  518. package/tabmenu/tabmenu.js +104 -10
  519. package/tabmenu/tabmenu.min.js +1 -1
  520. package/tabview/tabview.cjs.js +106 -12
  521. package/tabview/tabview.cjs.min.js +1 -1
  522. package/tabview/tabview.esm.js +106 -12
  523. package/tabview/tabview.esm.min.js +1 -1
  524. package/tabview/tabview.js +106 -12
  525. package/tabview/tabview.min.js +1 -1
  526. package/tieredmenu/tieredmenu.cjs.js +752 -274
  527. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  528. package/tieredmenu/tieredmenu.d.ts +10 -0
  529. package/tieredmenu/tieredmenu.esm.js +754 -276
  530. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  531. package/tieredmenu/tieredmenu.js +752 -274
  532. package/tieredmenu/tieredmenu.min.js +1 -1
  533. package/toast/toast.cjs.js +6 -1
  534. package/toast/toast.cjs.min.js +1 -1
  535. package/toast/toast.d.ts +35 -1
  536. package/toast/toast.esm.js +6 -1
  537. package/toast/toast.esm.min.js +1 -1
  538. package/toast/toast.js +6 -1
  539. package/toast/toast.min.js +1 -1
  540. package/tree/tree.cjs.js +51 -54
  541. package/tree/tree.cjs.min.js +1 -1
  542. package/tree/tree.esm.js +51 -54
  543. package/tree/tree.esm.min.js +1 -1
  544. package/tree/tree.js +51 -54
  545. package/tree/tree.min.js +1 -1
  546. package/treetable/treetable.cjs.js +11 -28
  547. package/treetable/treetable.cjs.min.js +1 -1
  548. package/treetable/treetable.esm.js +11 -28
  549. package/treetable/treetable.esm.min.js +1 -1
  550. package/treetable/treetable.js +11 -28
  551. package/treetable/treetable.min.js +1 -1
  552. package/utils/utils.cjs.js +12 -1
  553. package/utils/utils.cjs.min.js +1 -1
  554. package/utils/utils.esm.js +12 -1
  555. package/utils/utils.esm.min.js +1 -1
  556. package/utils/utils.js +12 -1
  557. package/utils/utils.min.js +1 -1
  558. package/web-types.json +267 -5
@@ -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({
@@ -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,