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