primereact 10.2.1 → 10.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (654) hide show
  1. package/accordion/accordion.cjs.js +83 -8
  2. package/accordion/accordion.cjs.min.js +1 -1
  3. package/accordion/accordion.d.ts +35 -0
  4. package/accordion/accordion.esm.js +85 -10
  5. package/accordion/accordion.esm.min.js +1 -1
  6. package/accordion/accordion.js +83 -8
  7. package/accordion/accordion.min.js +1 -1
  8. package/api/api.cjs.js +63 -33
  9. package/api/api.cjs.min.js +1 -1
  10. package/api/api.d.ts +24 -246
  11. package/api/api.esm.js +63 -33
  12. package/api/api.esm.min.js +1 -1
  13. package/api/api.js +63 -33
  14. package/api/api.min.js +1 -1
  15. package/autocomplete/autocomplete.cjs.js +3 -2
  16. package/autocomplete/autocomplete.cjs.min.js +1 -1
  17. package/autocomplete/autocomplete.d.ts +6 -1
  18. package/autocomplete/autocomplete.esm.js +3 -2
  19. package/autocomplete/autocomplete.esm.min.js +1 -1
  20. package/autocomplete/autocomplete.js +3 -2
  21. package/autocomplete/autocomplete.min.js +1 -1
  22. package/blockui/blockui.cjs.js +8 -5
  23. package/blockui/blockui.cjs.min.js +1 -1
  24. package/blockui/blockui.esm.js +8 -5
  25. package/blockui/blockui.esm.min.js +1 -1
  26. package/blockui/blockui.js +8 -5
  27. package/blockui/blockui.min.js +1 -1
  28. package/breadcrumb/breadcrumb.cjs.js +12 -6
  29. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  30. package/breadcrumb/breadcrumb.esm.js +12 -6
  31. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  32. package/breadcrumb/breadcrumb.js +12 -6
  33. package/breadcrumb/breadcrumb.min.js +1 -1
  34. package/calendar/calendar.cjs.js +71 -37
  35. package/calendar/calendar.cjs.min.js +1 -1
  36. package/calendar/calendar.d.ts +3 -5
  37. package/calendar/calendar.esm.js +71 -37
  38. package/calendar/calendar.esm.min.js +1 -1
  39. package/calendar/calendar.js +71 -37
  40. package/calendar/calendar.min.js +1 -1
  41. package/carousel/carousel.cjs.js +103 -9
  42. package/carousel/carousel.cjs.min.js +1 -1
  43. package/carousel/carousel.esm.js +104 -10
  44. package/carousel/carousel.esm.min.js +1 -1
  45. package/carousel/carousel.js +103 -9
  46. package/carousel/carousel.min.js +1 -1
  47. package/cascadeselect/cascadeselect.cjs.js +64 -23
  48. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  49. package/cascadeselect/cascadeselect.d.ts +27 -4
  50. package/cascadeselect/cascadeselect.esm.js +65 -24
  51. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  52. package/cascadeselect/cascadeselect.js +65 -25
  53. package/cascadeselect/cascadeselect.min.js +1 -1
  54. package/checkbox/checkbox.cjs.js +25 -25
  55. package/checkbox/checkbox.cjs.min.js +1 -1
  56. package/checkbox/checkbox.esm.js +25 -25
  57. package/checkbox/checkbox.esm.min.js +1 -1
  58. package/checkbox/checkbox.js +26 -26
  59. package/checkbox/checkbox.min.js +1 -1
  60. package/chip/chip.cjs.js +5 -2
  61. package/chip/chip.cjs.min.js +1 -1
  62. package/chip/chip.d.ts +17 -2
  63. package/chip/chip.esm.js +5 -2
  64. package/chip/chip.esm.min.js +1 -1
  65. package/chip/chip.js +5 -2
  66. package/chip/chip.min.js +1 -1
  67. package/colorpicker/colorpicker.d.ts +1 -1
  68. package/componentbase/componentbase.cjs.js +49 -8
  69. package/componentbase/componentbase.cjs.min.js +1 -1
  70. package/componentbase/componentbase.esm.js +50 -9
  71. package/componentbase/componentbase.esm.min.js +1 -1
  72. package/componentbase/componentbase.js +49 -8
  73. package/componentbase/componentbase.min.js +1 -1
  74. package/confirmdialog/confirmdialog.cjs.js +30 -22
  75. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  76. package/confirmdialog/confirmdialog.d.ts +19 -3
  77. package/confirmdialog/confirmdialog.esm.js +30 -22
  78. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  79. package/confirmdialog/confirmdialog.js +30 -22
  80. package/confirmdialog/confirmdialog.min.js +1 -1
  81. package/confirmpopup/confirmpopup.cjs.js +85 -152
  82. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  83. package/confirmpopup/confirmpopup.d.ts +40 -1
  84. package/confirmpopup/confirmpopup.esm.js +88 -155
  85. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  86. package/confirmpopup/confirmpopup.js +85 -152
  87. package/confirmpopup/confirmpopup.min.js +1 -1
  88. package/contextmenu/contextmenu.cjs.js +641 -99
  89. package/contextmenu/contextmenu.cjs.min.js +1 -1
  90. package/contextmenu/contextmenu.d.ts +23 -1
  91. package/contextmenu/contextmenu.esm.js +641 -99
  92. package/contextmenu/contextmenu.esm.min.js +1 -1
  93. package/contextmenu/contextmenu.js +641 -99
  94. package/contextmenu/contextmenu.min.js +1 -1
  95. package/core/core.js +1217 -484
  96. package/core/core.min.js +40 -40
  97. package/datatable/datatable.cjs.js +30 -26
  98. package/datatable/datatable.cjs.min.js +1 -1
  99. package/datatable/datatable.d.ts +5 -4
  100. package/datatable/datatable.esm.js +30 -26
  101. package/datatable/datatable.esm.min.js +1 -1
  102. package/datatable/datatable.js +30 -26
  103. package/datatable/datatable.min.js +1 -1
  104. package/dataview/dataview.d.ts +1 -1
  105. package/dialog/dialog.cjs.js +108 -151
  106. package/dialog/dialog.cjs.min.js +1 -1
  107. package/dialog/dialog.d.ts +60 -1
  108. package/dialog/dialog.esm.js +115 -158
  109. package/dialog/dialog.esm.min.js +1 -1
  110. package/dialog/dialog.js +109 -152
  111. package/dialog/dialog.min.js +1 -1
  112. package/divider/divider.cjs.js +1 -0
  113. package/divider/divider.cjs.min.js +1 -1
  114. package/divider/divider.esm.js +1 -0
  115. package/divider/divider.esm.min.js +1 -1
  116. package/divider/divider.js +1 -0
  117. package/divider/divider.min.js +1 -1
  118. package/dock/dock.cjs.js +169 -33
  119. package/dock/dock.cjs.min.js +1 -1
  120. package/dock/dock.d.ts +15 -0
  121. package/dock/dock.esm.js +170 -34
  122. package/dock/dock.esm.min.js +1 -1
  123. package/dock/dock.js +169 -33
  124. package/dock/dock.min.js +1 -1
  125. package/dropdown/dropdown.cjs.js +29 -4
  126. package/dropdown/dropdown.cjs.min.js +1 -1
  127. package/dropdown/dropdown.d.ts +1 -1
  128. package/dropdown/dropdown.esm.js +29 -4
  129. package/dropdown/dropdown.esm.min.js +1 -1
  130. package/dropdown/dropdown.js +30 -6
  131. package/dropdown/dropdown.min.js +1 -1
  132. package/fieldset/fieldset.cjs.js +12 -5
  133. package/fieldset/fieldset.cjs.min.js +1 -1
  134. package/fieldset/fieldset.esm.js +12 -5
  135. package/fieldset/fieldset.esm.min.js +1 -1
  136. package/fieldset/fieldset.js +12 -5
  137. package/fieldset/fieldset.min.js +1 -1
  138. package/fileupload/fileupload.cjs.js +14 -6
  139. package/fileupload/fileupload.cjs.min.js +1 -1
  140. package/fileupload/fileupload.d.ts +17 -1
  141. package/fileupload/fileupload.esm.js +14 -6
  142. package/fileupload/fileupload.esm.min.js +1 -1
  143. package/fileupload/fileupload.js +14 -6
  144. package/fileupload/fileupload.min.js +1 -1
  145. package/galleria/galleria.cjs.js +223 -43
  146. package/galleria/galleria.cjs.min.js +1 -1
  147. package/galleria/galleria.esm.js +225 -45
  148. package/galleria/galleria.esm.min.js +1 -1
  149. package/galleria/galleria.js +223 -43
  150. package/galleria/galleria.min.js +1 -1
  151. package/hooks/hooks.cjs.js +219 -78
  152. package/hooks/hooks.cjs.min.js +1 -1
  153. package/hooks/hooks.d.ts +8 -4
  154. package/hooks/hooks.esm.js +219 -80
  155. package/hooks/hooks.esm.min.js +1 -1
  156. package/hooks/hooks.js +219 -78
  157. package/hooks/hooks.min.js +1 -1
  158. package/icons/arrowdown/index.cjs.js +13 -2
  159. package/icons/arrowdown/index.cjs.min.js +1 -1
  160. package/icons/arrowdown/index.esm.js +13 -2
  161. package/icons/arrowdown/index.esm.min.js +1 -1
  162. package/icons/arrowdown/index.js +13 -2
  163. package/icons/arrowdown/index.min.js +1 -1
  164. package/icons/arrowup/index.cjs.js +13 -2
  165. package/icons/arrowup/index.cjs.min.js +1 -1
  166. package/icons/arrowup/index.esm.js +13 -2
  167. package/icons/arrowup/index.esm.min.js +1 -1
  168. package/icons/arrowup/index.js +13 -2
  169. package/icons/arrowup/index.min.js +1 -1
  170. package/icons/ban/index.cjs.js +13 -2
  171. package/icons/ban/index.cjs.min.js +1 -1
  172. package/icons/ban/index.esm.js +13 -2
  173. package/icons/ban/index.esm.min.js +1 -1
  174. package/icons/ban/index.js +13 -2
  175. package/icons/ban/index.min.js +1 -1
  176. package/icons/download/index.cjs.js +13 -2
  177. package/icons/download/index.cjs.min.js +1 -1
  178. package/icons/download/index.esm.js +13 -2
  179. package/icons/download/index.esm.min.js +1 -1
  180. package/icons/download/index.js +13 -2
  181. package/icons/download/index.min.js +1 -1
  182. package/icons/exclamationtriangle/index.cjs.js +13 -2
  183. package/icons/exclamationtriangle/index.cjs.min.js +1 -1
  184. package/icons/exclamationtriangle/index.esm.js +13 -2
  185. package/icons/exclamationtriangle/index.esm.min.js +1 -1
  186. package/icons/exclamationtriangle/index.js +13 -2
  187. package/icons/exclamationtriangle/index.min.js +1 -1
  188. package/icons/eyeslash/index.cjs.js +13 -2
  189. package/icons/eyeslash/index.cjs.min.js +1 -1
  190. package/icons/eyeslash/index.esm.js +13 -2
  191. package/icons/eyeslash/index.esm.min.js +1 -1
  192. package/icons/eyeslash/index.js +13 -2
  193. package/icons/eyeslash/index.min.js +1 -1
  194. package/icons/filter/index.cjs.js +13 -2
  195. package/icons/filter/index.cjs.min.js +1 -1
  196. package/icons/filter/index.esm.js +13 -2
  197. package/icons/filter/index.esm.min.js +1 -1
  198. package/icons/filter/index.js +13 -2
  199. package/icons/filter/index.min.js +1 -1
  200. package/icons/filterslash/index.cjs.js +13 -2
  201. package/icons/filterslash/index.cjs.min.js +1 -1
  202. package/icons/filterslash/index.esm.js +13 -2
  203. package/icons/filterslash/index.esm.min.js +1 -1
  204. package/icons/filterslash/index.js +13 -2
  205. package/icons/filterslash/index.min.js +1 -1
  206. package/icons/infocircle/index.cjs.js +13 -2
  207. package/icons/infocircle/index.cjs.min.js +1 -1
  208. package/icons/infocircle/index.esm.js +13 -2
  209. package/icons/infocircle/index.esm.min.js +1 -1
  210. package/icons/infocircle/index.js +13 -2
  211. package/icons/infocircle/index.min.js +1 -1
  212. package/icons/pencil/index.cjs.js +13 -2
  213. package/icons/pencil/index.cjs.min.js +1 -1
  214. package/icons/pencil/index.esm.js +13 -2
  215. package/icons/pencil/index.esm.min.js +1 -1
  216. package/icons/pencil/index.js +13 -2
  217. package/icons/pencil/index.min.js +1 -1
  218. package/icons/plus/index.cjs.js +13 -2
  219. package/icons/plus/index.cjs.min.js +1 -1
  220. package/icons/plus/index.esm.js +13 -2
  221. package/icons/plus/index.esm.min.js +1 -1
  222. package/icons/plus/index.js +13 -2
  223. package/icons/plus/index.min.js +1 -1
  224. package/icons/refresh/index.cjs.js +13 -2
  225. package/icons/refresh/index.cjs.min.js +1 -1
  226. package/icons/refresh/index.esm.js +13 -2
  227. package/icons/refresh/index.esm.min.js +1 -1
  228. package/icons/refresh/index.js +13 -2
  229. package/icons/refresh/index.min.js +1 -1
  230. package/icons/search/index.cjs.js +13 -2
  231. package/icons/search/index.cjs.min.js +1 -1
  232. package/icons/search/index.esm.js +13 -2
  233. package/icons/search/index.esm.min.js +1 -1
  234. package/icons/search/index.js +13 -2
  235. package/icons/search/index.min.js +1 -1
  236. package/icons/searchminus/index.cjs.js +13 -2
  237. package/icons/searchminus/index.cjs.min.js +1 -1
  238. package/icons/searchminus/index.esm.js +13 -2
  239. package/icons/searchminus/index.esm.min.js +1 -1
  240. package/icons/searchminus/index.js +13 -2
  241. package/icons/searchminus/index.min.js +1 -1
  242. package/icons/searchplus/index.cjs.js +13 -2
  243. package/icons/searchplus/index.cjs.min.js +1 -1
  244. package/icons/searchplus/index.esm.js +13 -2
  245. package/icons/searchplus/index.esm.min.js +1 -1
  246. package/icons/searchplus/index.js +13 -2
  247. package/icons/searchplus/index.min.js +1 -1
  248. package/icons/sortalt/index.cjs.js +13 -2
  249. package/icons/sortalt/index.cjs.min.js +1 -1
  250. package/icons/sortalt/index.esm.js +13 -2
  251. package/icons/sortalt/index.esm.min.js +1 -1
  252. package/icons/sortalt/index.js +13 -2
  253. package/icons/sortalt/index.min.js +1 -1
  254. package/icons/sortamountdown/index.cjs.js +13 -2
  255. package/icons/sortamountdown/index.cjs.min.js +1 -1
  256. package/icons/sortamountdown/index.esm.js +13 -2
  257. package/icons/sortamountdown/index.esm.min.js +1 -1
  258. package/icons/sortamountdown/index.js +13 -2
  259. package/icons/sortamountdown/index.min.js +1 -1
  260. package/icons/sortamountupalt/index.cjs.js +13 -2
  261. package/icons/sortamountupalt/index.cjs.min.js +1 -1
  262. package/icons/sortamountupalt/index.esm.js +13 -2
  263. package/icons/sortamountupalt/index.esm.min.js +1 -1
  264. package/icons/sortamountupalt/index.js +13 -2
  265. package/icons/sortamountupalt/index.min.js +1 -1
  266. package/icons/spinner/index.cjs.js +13 -2
  267. package/icons/spinner/index.cjs.min.js +1 -1
  268. package/icons/spinner/index.esm.js +13 -2
  269. package/icons/spinner/index.esm.min.js +1 -1
  270. package/icons/spinner/index.js +13 -2
  271. package/icons/spinner/index.min.js +1 -1
  272. package/icons/star/index.cjs.js +13 -2
  273. package/icons/star/index.cjs.min.js +1 -1
  274. package/icons/star/index.esm.js +13 -2
  275. package/icons/star/index.esm.min.js +1 -1
  276. package/icons/star/index.js +13 -2
  277. package/icons/star/index.min.js +1 -1
  278. package/icons/starfill/index.cjs.js +13 -2
  279. package/icons/starfill/index.cjs.min.js +1 -1
  280. package/icons/starfill/index.esm.js +13 -2
  281. package/icons/starfill/index.esm.min.js +1 -1
  282. package/icons/starfill/index.js +13 -2
  283. package/icons/starfill/index.min.js +1 -1
  284. package/icons/thlarge/index.cjs.js +13 -2
  285. package/icons/thlarge/index.cjs.min.js +1 -1
  286. package/icons/thlarge/index.esm.js +13 -2
  287. package/icons/thlarge/index.esm.min.js +1 -1
  288. package/icons/thlarge/index.js +13 -2
  289. package/icons/thlarge/index.min.js +1 -1
  290. package/icons/timescircle/index.cjs.js +13 -2
  291. package/icons/timescircle/index.cjs.min.js +1 -1
  292. package/icons/timescircle/index.esm.js +13 -2
  293. package/icons/timescircle/index.esm.min.js +1 -1
  294. package/icons/timescircle/index.js +13 -2
  295. package/icons/timescircle/index.min.js +1 -1
  296. package/icons/trash/index.cjs.js +13 -2
  297. package/icons/trash/index.cjs.min.js +1 -1
  298. package/icons/trash/index.esm.js +13 -2
  299. package/icons/trash/index.esm.min.js +1 -1
  300. package/icons/trash/index.js +13 -2
  301. package/icons/trash/index.min.js +1 -1
  302. package/icons/undo/index.cjs.js +13 -2
  303. package/icons/undo/index.cjs.min.js +1 -1
  304. package/icons/undo/index.esm.js +13 -2
  305. package/icons/undo/index.esm.min.js +1 -1
  306. package/icons/undo/index.js +13 -2
  307. package/icons/undo/index.min.js +1 -1
  308. package/icons/upload/index.cjs.js +13 -2
  309. package/icons/upload/index.cjs.min.js +1 -1
  310. package/icons/upload/index.esm.js +13 -2
  311. package/icons/upload/index.esm.min.js +1 -1
  312. package/icons/upload/index.js +13 -2
  313. package/icons/upload/index.min.js +1 -1
  314. package/icons/windowmaximize/index.cjs.js +13 -2
  315. package/icons/windowmaximize/index.cjs.min.js +1 -1
  316. package/icons/windowmaximize/index.esm.js +13 -2
  317. package/icons/windowmaximize/index.esm.min.js +1 -1
  318. package/icons/windowmaximize/index.js +13 -2
  319. package/icons/windowmaximize/index.min.js +1 -1
  320. package/icons/windowminimize/index.cjs.js +13 -2
  321. package/icons/windowminimize/index.cjs.min.js +1 -1
  322. package/icons/windowminimize/index.esm.js +13 -2
  323. package/icons/windowminimize/index.esm.min.js +1 -1
  324. package/icons/windowminimize/index.js +13 -2
  325. package/icons/windowminimize/index.min.js +1 -1
  326. package/image/image.cjs.js +85 -119
  327. package/image/image.cjs.min.js +1 -1
  328. package/image/image.esm.js +87 -121
  329. package/image/image.esm.min.js +1 -1
  330. package/image/image.js +86 -120
  331. package/image/image.min.js +1 -1
  332. package/inplace/inplace.cjs.js +7 -0
  333. package/inplace/inplace.cjs.min.js +1 -1
  334. package/inplace/inplace.esm.js +7 -0
  335. package/inplace/inplace.esm.min.js +1 -1
  336. package/inplace/inplace.js +8 -2
  337. package/inplace/inplace.min.js +1 -1
  338. package/inputnumber/inputnumber.cjs.js +63 -19
  339. package/inputnumber/inputnumber.cjs.min.js +1 -1
  340. package/inputnumber/inputnumber.d.ts +7 -0
  341. package/inputnumber/inputnumber.esm.js +63 -19
  342. package/inputnumber/inputnumber.esm.min.js +1 -1
  343. package/inputnumber/inputnumber.js +63 -19
  344. package/inputnumber/inputnumber.min.js +1 -1
  345. package/inputswitch/inputswitch.cjs.js +3 -3
  346. package/inputswitch/inputswitch.cjs.min.js +1 -1
  347. package/inputswitch/inputswitch.esm.js +3 -3
  348. package/inputswitch/inputswitch.esm.min.js +1 -1
  349. package/inputswitch/inputswitch.js +3 -3
  350. package/inputswitch/inputswitch.min.js +1 -1
  351. package/inputtext/inputtext.cjs.js +7 -6
  352. package/inputtext/inputtext.cjs.min.js +1 -1
  353. package/inputtext/inputtext.esm.js +7 -6
  354. package/inputtext/inputtext.esm.min.js +1 -1
  355. package/inputtext/inputtext.js +7 -6
  356. package/inputtext/inputtext.min.js +1 -1
  357. package/listbox/listbox.cjs.js +14 -1
  358. package/listbox/listbox.cjs.min.js +1 -1
  359. package/listbox/listbox.d.ts +8 -3
  360. package/listbox/listbox.esm.js +14 -1
  361. package/listbox/listbox.esm.min.js +1 -1
  362. package/listbox/listbox.js +14 -1
  363. package/listbox/listbox.min.js +1 -1
  364. package/megamenu/megamenu.cjs.js +799 -179
  365. package/megamenu/megamenu.cjs.min.js +1 -1
  366. package/megamenu/megamenu.d.ts +14 -0
  367. package/megamenu/megamenu.esm.js +801 -181
  368. package/megamenu/megamenu.esm.min.js +1 -1
  369. package/megamenu/megamenu.js +799 -179
  370. package/megamenu/megamenu.min.js +1 -1
  371. package/mention/mention.cjs.js +7 -9
  372. package/mention/mention.cjs.min.js +1 -1
  373. package/mention/mention.esm.js +7 -9
  374. package/mention/mention.esm.min.js +1 -1
  375. package/mention/mention.js +7 -9
  376. package/mention/mention.min.js +1 -1
  377. package/menu/menu.cjs.js +217 -166
  378. package/menu/menu.cjs.min.js +1 -1
  379. package/menu/menu.d.ts +15 -1
  380. package/menu/menu.esm.js +220 -169
  381. package/menu/menu.esm.min.js +1 -1
  382. package/menu/menu.js +217 -166
  383. package/menu/menu.min.js +1 -1
  384. package/menubar/menubar.cjs.js +714 -179
  385. package/menubar/menubar.cjs.min.js +1 -1
  386. package/menubar/menubar.d.ts +18 -0
  387. package/menubar/menubar.esm.js +717 -182
  388. package/menubar/menubar.esm.min.js +1 -1
  389. package/menubar/menubar.js +714 -179
  390. package/menubar/menubar.min.js +1 -1
  391. package/message/message.cjs.js +2 -1
  392. package/message/message.cjs.min.js +1 -1
  393. package/message/message.esm.js +2 -1
  394. package/message/message.esm.min.js +1 -1
  395. package/message/message.js +2 -1
  396. package/message/message.min.js +1 -1
  397. package/messages/messages.cjs.js +5 -3
  398. package/messages/messages.cjs.min.js +1 -1
  399. package/messages/messages.esm.js +5 -3
  400. package/messages/messages.esm.min.js +1 -1
  401. package/messages/messages.js +5 -3
  402. package/messages/messages.min.js +1 -1
  403. package/multiselect/multiselect.cjs.js +58 -35
  404. package/multiselect/multiselect.cjs.min.js +1 -1
  405. package/multiselect/multiselect.d.ts +5 -1
  406. package/multiselect/multiselect.esm.js +58 -35
  407. package/multiselect/multiselect.esm.min.js +1 -1
  408. package/multiselect/multiselect.js +59 -37
  409. package/multiselect/multiselect.min.js +1 -1
  410. package/orderlist/orderlist.cjs.js +260 -105
  411. package/orderlist/orderlist.cjs.min.js +1 -1
  412. package/orderlist/orderlist.d.ts +18 -0
  413. package/orderlist/orderlist.esm.js +261 -106
  414. package/orderlist/orderlist.esm.min.js +1 -1
  415. package/orderlist/orderlist.js +260 -105
  416. package/orderlist/orderlist.min.js +1 -1
  417. package/organizationchart/organizationchart.cjs.js +10 -0
  418. package/organizationchart/organizationchart.cjs.min.js +1 -1
  419. package/organizationchart/organizationchart.esm.js +10 -0
  420. package/organizationchart/organizationchart.esm.min.js +1 -1
  421. package/organizationchart/organizationchart.js +10 -0
  422. package/organizationchart/organizationchart.min.js +1 -1
  423. package/overlaypanel/overlaypanel.cjs.js +9 -102
  424. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  425. package/overlaypanel/overlaypanel.d.ts +1 -1
  426. package/overlaypanel/overlaypanel.esm.js +11 -104
  427. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  428. package/overlaypanel/overlaypanel.js +10 -103
  429. package/overlaypanel/overlaypanel.min.js +1 -1
  430. package/package.json +1 -1
  431. package/paginator/paginator.d.ts +2 -2
  432. package/panel/panel.cjs.js +22 -19
  433. package/panel/panel.cjs.min.js +1 -1
  434. package/panel/panel.esm.js +22 -19
  435. package/panel/panel.esm.min.js +1 -1
  436. package/panel/panel.js +22 -19
  437. package/panel/panel.min.js +1 -1
  438. package/panelmenu/panelmenu.cjs.js +774 -195
  439. package/panelmenu/panelmenu.cjs.min.js +1 -1
  440. package/panelmenu/panelmenu.d.ts +15 -0
  441. package/panelmenu/panelmenu.esm.js +775 -196
  442. package/panelmenu/panelmenu.esm.min.js +1 -1
  443. package/panelmenu/panelmenu.js +774 -195
  444. package/panelmenu/panelmenu.min.js +1 -1
  445. package/passthrough/tailwind/index.cjs.js +163 -159
  446. package/passthrough/tailwind/index.cjs.min.js +1 -1
  447. package/passthrough/tailwind/index.esm.js +163 -159
  448. package/passthrough/tailwind/index.esm.min.js +1 -1
  449. package/passthrough/tailwind/index.js +163 -159
  450. package/passthrough/tailwind/index.min.js +1 -1
  451. package/password/password.cjs.js +7 -2
  452. package/password/password.cjs.min.js +1 -1
  453. package/password/password.d.ts +1 -1
  454. package/password/password.esm.js +8 -3
  455. package/password/password.esm.min.js +1 -1
  456. package/password/password.js +7 -2
  457. package/password/password.min.js +1 -1
  458. package/picklist/picklist.cjs.js +709 -181
  459. package/picklist/picklist.cjs.min.js +1 -1
  460. package/picklist/picklist.d.ts +10 -0
  461. package/picklist/picklist.esm.js +708 -180
  462. package/picklist/picklist.esm.min.js +1 -1
  463. package/picklist/picklist.js +709 -181
  464. package/picklist/picklist.min.js +1 -1
  465. package/portal/portal.cjs.js +7 -1
  466. package/portal/portal.cjs.min.js +1 -1
  467. package/portal/portal.esm.js +7 -1
  468. package/portal/portal.esm.min.js +1 -1
  469. package/portal/portal.js +7 -1
  470. package/portal/portal.min.js +1 -1
  471. package/primereact.all.cjs.js +8352 -3145
  472. package/primereact.all.cjs.min.js +1 -1
  473. package/primereact.all.esm.js +8351 -3146
  474. package/primereact.all.esm.min.js +1 -1
  475. package/primereact.all.js +8352 -3145
  476. package/primereact.all.min.js +1 -1
  477. package/radiobutton/radiobutton.cjs.js +27 -26
  478. package/radiobutton/radiobutton.cjs.min.js +1 -1
  479. package/radiobutton/radiobutton.esm.js +27 -26
  480. package/radiobutton/radiobutton.esm.min.js +1 -1
  481. package/radiobutton/radiobutton.js +28 -27
  482. package/radiobutton/radiobutton.min.js +1 -1
  483. package/resources/themes/arya-blue/theme.css +854 -790
  484. package/resources/themes/arya-green/theme.css +854 -790
  485. package/resources/themes/arya-orange/theme.css +854 -790
  486. package/resources/themes/arya-purple/theme.css +854 -790
  487. package/resources/themes/bootstrap4-dark-blue/theme.css +678 -615
  488. package/resources/themes/bootstrap4-dark-purple/theme.css +678 -615
  489. package/resources/themes/bootstrap4-light-blue/theme.css +679 -616
  490. package/resources/themes/bootstrap4-light-purple/theme.css +679 -616
  491. package/resources/themes/fluent-light/theme.css +686 -638
  492. package/resources/themes/lara-dark-amber/theme.css +679 -630
  493. package/resources/themes/lara-dark-blue/theme.css +679 -630
  494. package/resources/themes/lara-dark-cyan/theme.css +679 -630
  495. package/resources/themes/lara-dark-green/theme.css +679 -630
  496. package/resources/themes/lara-dark-indigo/theme.css +679 -630
  497. package/resources/themes/lara-dark-pink/theme.css +679 -630
  498. package/resources/themes/lara-dark-purple/theme.css +679 -630
  499. package/resources/themes/lara-dark-teal/theme.css +679 -630
  500. package/resources/themes/lara-light-amber/theme.css +776 -725
  501. package/resources/themes/lara-light-blue/theme.css +1011 -960
  502. package/resources/themes/lara-light-cyan/theme.css +776 -725
  503. package/resources/themes/lara-light-green/theme.css +820 -769
  504. package/resources/themes/lara-light-indigo/theme.css +1016 -965
  505. package/resources/themes/lara-light-pink/theme.css +776 -725
  506. package/resources/themes/lara-light-purple/theme.css +1016 -965
  507. package/resources/themes/lara-light-teal/theme.css +776 -725
  508. package/resources/themes/luna-amber/theme.css +950 -887
  509. package/resources/themes/luna-blue/theme.css +950 -887
  510. package/resources/themes/luna-green/theme.css +950 -887
  511. package/resources/themes/luna-pink/theme.css +950 -887
  512. package/resources/themes/md-dark-deeppurple/theme.css +918 -950
  513. package/resources/themes/md-dark-indigo/theme.css +918 -950
  514. package/resources/themes/md-light-deeppurple/theme.css +878 -910
  515. package/resources/themes/md-light-indigo/theme.css +878 -910
  516. package/resources/themes/mdc-dark-deeppurple/theme.css +918 -950
  517. package/resources/themes/mdc-dark-indigo/theme.css +918 -950
  518. package/resources/themes/mdc-light-deeppurple/theme.css +878 -910
  519. package/resources/themes/mdc-light-indigo/theme.css +878 -910
  520. package/resources/themes/mira/theme.css +1562 -1532
  521. package/resources/themes/nano/theme.css +707 -641
  522. package/resources/themes/nova/theme.css +705 -643
  523. package/resources/themes/nova-accent/theme.css +701 -636
  524. package/resources/themes/nova-alt/theme.css +705 -643
  525. package/resources/themes/rhea/theme.css +876 -811
  526. package/resources/themes/saga-blue/theme.css +896 -832
  527. package/resources/themes/saga-green/theme.css +896 -832
  528. package/resources/themes/saga-orange/theme.css +896 -832
  529. package/resources/themes/saga-purple/theme.css +896 -832
  530. package/resources/themes/soho-dark/theme.css +701 -643
  531. package/resources/themes/soho-light/theme.css +690 -634
  532. package/resources/themes/tailwind-light/theme.css +1370 -1306
  533. package/resources/themes/vela-blue/theme.css +862 -798
  534. package/resources/themes/vela-green/theme.css +862 -798
  535. package/resources/themes/vela-orange/theme.css +862 -798
  536. package/resources/themes/vela-purple/theme.css +862 -798
  537. package/resources/themes/viva-dark/theme.css +655 -612
  538. package/resources/themes/viva-light/theme.css +737 -694
  539. package/ripple/ripple.cjs.js +71 -5
  540. package/ripple/ripple.cjs.min.js +1 -1
  541. package/ripple/ripple.esm.js +71 -5
  542. package/ripple/ripple.esm.min.js +1 -1
  543. package/ripple/ripple.js +71 -5
  544. package/ripple/ripple.min.js +1 -1
  545. package/scrollpanel/scrollpanel.cjs.js +183 -3
  546. package/scrollpanel/scrollpanel.cjs.min.js +1 -1
  547. package/scrollpanel/scrollpanel.esm.js +184 -4
  548. package/scrollpanel/scrollpanel.esm.min.js +1 -1
  549. package/scrollpanel/scrollpanel.js +183 -3
  550. package/scrollpanel/scrollpanel.min.js +1 -1
  551. package/sidebar/sidebar.cjs.js +62 -146
  552. package/sidebar/sidebar.cjs.min.js +1 -1
  553. package/sidebar/sidebar.d.ts +25 -3
  554. package/sidebar/sidebar.esm.js +65 -149
  555. package/sidebar/sidebar.esm.min.js +1 -1
  556. package/sidebar/sidebar.js +63 -147
  557. package/sidebar/sidebar.min.js +1 -1
  558. package/slidemenu/slidemenu.cjs.js +7 -100
  559. package/slidemenu/slidemenu.cjs.min.js +1 -1
  560. package/slidemenu/slidemenu.d.ts +1 -1
  561. package/slidemenu/slidemenu.esm.js +10 -103
  562. package/slidemenu/slidemenu.esm.min.js +1 -1
  563. package/slidemenu/slidemenu.js +7 -100
  564. package/slidemenu/slidemenu.min.js +1 -1
  565. package/speeddial/speeddial.cjs.js +275 -32
  566. package/speeddial/speeddial.cjs.min.js +1 -1
  567. package/speeddial/speeddial.esm.js +277 -34
  568. package/speeddial/speeddial.esm.min.js +1 -1
  569. package/speeddial/speeddial.js +275 -32
  570. package/speeddial/speeddial.min.js +1 -1
  571. package/splitbutton/splitbutton.cjs.js +1098 -309
  572. package/splitbutton/splitbutton.cjs.min.js +1 -1
  573. package/splitbutton/splitbutton.d.ts +5 -5
  574. package/splitbutton/splitbutton.esm.js +1100 -311
  575. package/splitbutton/splitbutton.esm.min.js +1 -1
  576. package/splitbutton/splitbutton.js +1096 -309
  577. package/splitbutton/splitbutton.min.js +1 -1
  578. package/splitter/splitter.cjs.js +103 -15
  579. package/splitter/splitter.cjs.min.js +1 -1
  580. package/splitter/splitter.d.ts +5 -0
  581. package/splitter/splitter.esm.js +103 -15
  582. package/splitter/splitter.esm.min.js +1 -1
  583. package/splitter/splitter.js +103 -15
  584. package/splitter/splitter.min.js +1 -1
  585. package/steps/steps.cjs.js +99 -13
  586. package/steps/steps.cjs.min.js +1 -1
  587. package/steps/steps.esm.js +100 -14
  588. package/steps/steps.esm.min.js +1 -1
  589. package/steps/steps.js +99 -13
  590. package/steps/steps.min.js +1 -1
  591. package/tabmenu/tabmenu.cjs.js +113 -17
  592. package/tabmenu/tabmenu.cjs.min.js +1 -1
  593. package/tabmenu/tabmenu.esm.js +113 -17
  594. package/tabmenu/tabmenu.esm.min.js +1 -1
  595. package/tabmenu/tabmenu.js +113 -17
  596. package/tabmenu/tabmenu.min.js +1 -1
  597. package/tabview/tabview.cjs.js +128 -20
  598. package/tabview/tabview.cjs.min.js +1 -1
  599. package/tabview/tabview.d.ts +35 -0
  600. package/tabview/tabview.esm.js +128 -20
  601. package/tabview/tabview.esm.min.js +1 -1
  602. package/tabview/tabview.js +128 -20
  603. package/tabview/tabview.min.js +1 -1
  604. package/tieredmenu/tieredmenu.cjs.js +753 -275
  605. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  606. package/tieredmenu/tieredmenu.d.ts +11 -1
  607. package/tieredmenu/tieredmenu.esm.js +755 -277
  608. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  609. package/tieredmenu/tieredmenu.js +753 -275
  610. package/tieredmenu/tieredmenu.min.js +1 -1
  611. package/toast/toast.cjs.js +6 -1
  612. package/toast/toast.cjs.min.js +1 -1
  613. package/toast/toast.d.ts +36 -2
  614. package/toast/toast.esm.js +6 -1
  615. package/toast/toast.esm.min.js +1 -1
  616. package/toast/toast.js +6 -1
  617. package/toast/toast.min.js +1 -1
  618. package/togglebutton/togglebutton.cjs.js +74 -4
  619. package/togglebutton/togglebutton.cjs.min.js +1 -1
  620. package/togglebutton/togglebutton.esm.js +74 -4
  621. package/togglebutton/togglebutton.esm.min.js +1 -1
  622. package/togglebutton/togglebutton.js +75 -5
  623. package/togglebutton/togglebutton.min.js +1 -1
  624. package/tooltip/tooltip.d.ts +27 -0
  625. package/tooltip/tooltipoptions.d.ts +1 -1
  626. package/tree/tree.cjs.js +198 -88
  627. package/tree/tree.cjs.min.js +1 -1
  628. package/tree/tree.d.ts +8 -0
  629. package/tree/tree.esm.js +199 -89
  630. package/tree/tree.esm.min.js +1 -1
  631. package/tree/tree.js +198 -88
  632. package/tree/tree.min.js +1 -1
  633. package/treeselect/treeselect.cjs.js +185 -49
  634. package/treeselect/treeselect.cjs.min.js +1 -1
  635. package/treeselect/treeselect.d.ts +26 -1
  636. package/treeselect/treeselect.esm.js +186 -50
  637. package/treeselect/treeselect.esm.min.js +1 -1
  638. package/treeselect/treeselect.js +186 -51
  639. package/treeselect/treeselect.min.js +1 -1
  640. package/treetable/treetable.cjs.js +59 -53
  641. package/treetable/treetable.cjs.min.js +1 -1
  642. package/treetable/treetable.d.ts +3 -3
  643. package/treetable/treetable.esm.js +59 -53
  644. package/treetable/treetable.esm.min.js +1 -1
  645. package/treetable/treetable.js +59 -53
  646. package/treetable/treetable.min.js +1 -1
  647. package/utils/utils.cjs.js +19 -5
  648. package/utils/utils.cjs.min.js +1 -1
  649. package/utils/utils.d.ts +1 -1
  650. package/utils/utils.esm.js +19 -5
  651. package/utils/utils.esm.min.js +1 -1
  652. package/utils/utils.js +19 -5
  653. package/utils/utils.min.js +1 -1
  654. package/web-types.json +402 -33
@@ -92,6 +92,10 @@ function _defineProperty(obj, key, value) {
92
92
  return obj;
93
93
  }
94
94
 
95
+ function _readOnlyError(name) {
96
+ throw new TypeError("\"" + name + "\" is read-only");
97
+ }
98
+
95
99
  function _arrayWithHoles(arr) {
96
100
  if (Array.isArray(arr)) return arr;
97
101
  }
@@ -157,7 +161,8 @@ var classes = {
157
161
  'p-megamenu-mobile-active': mobileActiveState
158
162
  });
159
163
  },
160
- separator: 'p-menu-separator',
164
+ content: 'p-menuitem-content',
165
+ separator: 'p-menuitem-separator',
161
166
  submenuIcon: 'p-submenu-icon',
162
167
  action: function action(_ref2) {
163
168
  var item = _ref2.item;
@@ -165,20 +170,29 @@ var classes = {
165
170
  'p-disabled': item.disabled
166
171
  });
167
172
  },
168
- submenuItem: 'p-menuitem',
169
- submenuHeader: function submenuHeader(_ref3) {
170
- var submenu = _ref3.submenu;
171
- return utils.classNames('p-megamenu-submenu-header', {
172
- 'p-disabled': submenu.disabled
173
+ submenuItem: function submenuItem(_ref3) {
174
+ var focused = _ref3.focused,
175
+ disabled = _ref3.disabled,
176
+ active = _ref3.active;
177
+ return utils.classNames('p-menuitem', {
178
+ 'p-menuitem-active': active,
179
+ 'p-focus': focused,
180
+ 'p-disabled': disabled
173
181
  });
174
182
  },
175
- submenu: 'p-megamenu-submenu',
183
+ submenuHeader: function submenuHeader(_ref4) {
184
+ var disabled = _ref4.disabled;
185
+ return utils.classNames('p-megamenu-submenu-header p-submenu-header', {
186
+ 'p-disabled': disabled
187
+ });
188
+ },
189
+ submenu: 'p-submenu-list p-megamenu-submenu',
176
190
  panel: 'p-megamenu-panel',
177
191
  grid: 'p-megamenu-grid',
178
192
  icon: 'p-menuitem-icon',
179
193
  label: 'p-menuitem-text',
180
- column: function column(_ref4) {
181
- var category = _ref4.category;
194
+ column: function column(_ref5) {
195
+ var category = _ref5.category;
182
196
  var length = category.items ? category.items.length : 0;
183
197
  var columnClass;
184
198
  switch (length) {
@@ -200,18 +214,16 @@ var classes = {
200
214
  }
201
215
  return columnClass;
202
216
  },
203
- headerAction: function headerAction(_ref5) {
204
- var category = _ref5.category;
205
- return utils.classNames('p-menuitem-link', {
206
- 'p-disabled': category.disabled
207
- });
208
- },
209
217
  menuButton: 'p-megamenu-button',
210
218
  menuitem: function menuitem(_ref6) {
211
219
  var category = _ref6.category,
212
- activeItemState = _ref6.activeItemState;
220
+ activeItemState = _ref6.activeItemState,
221
+ focused = _ref6.focused,
222
+ disabled = _ref6.disabled;
213
223
  return utils.classNames('p-menuitem', {
214
- 'p-menuitem-active': category === activeItemState
224
+ 'p-menuitem-active p-highlight': activeItemState && activeItemState.item === category,
225
+ 'p-focus': focused,
226
+ 'p-disabled': disabled
215
227
  });
216
228
  },
217
229
  menubar: 'p-megamenu-root-list',
@@ -219,7 +231,7 @@ var classes = {
219
231
  start: 'p-megamenu-start',
220
232
  end: 'p-megamenu-end'
221
233
  };
222
- var styles = "\n@layer primereact {\n .p-megamenu {\n display: flex;\n }\n \n .p-megamenu-root-list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n \n .p-megamenu-root-list > .p-menuitem {\n position: relative;\n }\n \n .p-megamenu .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-megamenu .p-menuitem-text {\n line-height: 1;\n }\n \n .p-megamenu-panel {\n display: none;\n position: absolute;\n width: auto;\n z-index: 1;\n }\n \n .p-megamenu-root-list > .p-menuitem-active > .p-megamenu-panel {\n display: block;\n }\n \n .p-megamenu-submenu {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n \n /* Horizontal */\n .p-megamenu-horizontal {\n align-items: center;\n }\n \n .p-megamenu-horizontal .p-megamenu-root-list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n }\n \n .p-megamenu-horizontal .p-megamenu-custom,\n .p-megamenu-horizontal .p-megamenu-end {\n margin-left: auto;\n align-self: center;\n }\n \n /* Vertical */\n .p-megamenu-vertical {\n flex-direction: column;\n }\n \n .p-megamenu-vertical .p-megamenu-root-list {\n flex-direction: column;\n }\n \n .p-megamenu-vertical .p-megamenu-root-list > .p-menuitem-active > .p-megamenu-panel {\n left: 100%;\n top: 0;\n }\n \n .p-megamenu-vertical .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon {\n margin-left: auto;\n }\n \n .p-megamenu-grid {\n display: flex;\n }\n \n .p-megamenu-col-2,\n .p-megamenu-col-3,\n .p-megamenu-col-4,\n .p-megamenu-col-6,\n .p-megamenu-col-12 {\n flex: 0 0 auto;\n padding: 0.5rem;\n }\n \n .p-megamenu-col-2 {\n width: 16.6667%;\n }\n \n .p-megamenu-col-3 {\n width: 25%;\n }\n \n .p-megamenu-col-4 {\n width: 33.3333%;\n }\n \n .p-megamenu-col-6 {\n width: 50%;\n }\n \n .p-megamenu-col-12 {\n width: 100%;\n }\n \n .p-megamenu-button {\n display: none;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n }\n}\n";
234
+ var styles = "\n@layer primereact {\n .p-megamenu {\n display: flex;\n }\n\n .p-megamenu-root-list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-megamenu-root-list > .p-menuitem {\n position: relative;\n }\n\n .p-megamenu .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-megamenu .p-menuitem-text {\n line-height: 1;\n }\n\n .p-megamenu-panel {\n display: none;\n position: absolute;\n width: auto;\n z-index: 1;\n }\n\n .p-megamenu-root-list > .p-menuitem-active > .p-megamenu-panel {\n display: block;\n }\n\n .p-megamenu-submenu {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n /* Horizontal */\n .p-megamenu-horizontal {\n align-items: center;\n }\n\n .p-megamenu-horizontal .p-megamenu-root-list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n }\n\n .p-megamenu-horizontal .p-megamenu-custom,\n .p-megamenu-horizontal .p-megamenu-end {\n margin-left: auto;\n align-self: center;\n }\n\n /* Vertical */\n .p-megamenu-vertical {\n flex-direction: column;\n }\n\n .p-megamenu-vertical .p-megamenu-root-list {\n flex-direction: column;\n }\n\n .p-megamenu-vertical .p-megamenu-root-list > .p-menuitem-active > .p-megamenu-panel {\n left: 100%;\n top: 0;\n }\n\n .p-megamenu-vertical .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon {\n margin-left: auto;\n }\n\n .p-megamenu-grid {\n display: flex;\n }\n\n .p-megamenu-col-2,\n .p-megamenu-col-3,\n .p-megamenu-col-4,\n .p-megamenu-col-6,\n .p-megamenu-col-12 {\n flex: 0 0 auto;\n padding: 0.5rem;\n }\n\n .p-megamenu-col-2 {\n width: 16.6667%;\n }\n\n .p-megamenu-col-3 {\n width: 25%;\n }\n\n .p-megamenu-col-4 {\n width: 33.3333%;\n }\n\n .p-megamenu-col-6 {\n width: 50%;\n }\n\n .p-megamenu-col-12 {\n width: 100%;\n }\n\n .p-megamenu-button {\n display: none;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n }\n}\n";
223
235
  var MegaMenuBase = componentbase.ComponentBase.extend({
224
236
  defaultProps: {
225
237
  __TYPE: 'MegaMenu',
@@ -232,6 +244,9 @@ var MegaMenuBase = componentbase.ComponentBase.extend({
232
244
  scrollHeight: '400px',
233
245
  start: null,
234
246
  submenuIcon: null,
247
+ onFocus: null,
248
+ onBlur: null,
249
+ tabIndex: 0,
235
250
  menuIcon: null,
236
251
  end: null,
237
252
  children: undefined
@@ -257,13 +272,48 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
257
272
  setActiveItemState = _React$useState4[1];
258
273
  var _React$useState5 = React__namespace.useState(null),
259
274
  _React$useState6 = _slicedToArray(_React$useState5, 2),
260
- attributeSelectorState = _React$useState6[0],
261
- setAttributeSelectorState = _React$useState6[1];
262
- var _React$useState7 = React__namespace.useState(false),
275
+ focused = _React$useState6[0],
276
+ setFocused = _React$useState6[1];
277
+ var _React$useState7 = React__namespace.useState({
278
+ index: -1,
279
+ key: '',
280
+ parentKey: ''
281
+ }),
263
282
  _React$useState8 = _slicedToArray(_React$useState7, 2),
264
- mobileActiveState = _React$useState8[0],
265
- setMobileActiveState = _React$useState8[1];
283
+ focusedItemInfo = _React$useState8[0],
284
+ setFocusedItemInfo = _React$useState8[1];
285
+ var _React$useState9 = React__namespace.useState(null),
286
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
287
+ focusedItemId = _React$useState10[0],
288
+ setFocusedItemId = _React$useState10[1];
289
+ var _React$useState11 = React__namespace.useState(false),
290
+ _React$useState12 = _slicedToArray(_React$useState11, 2),
291
+ dirty = _React$useState12[0],
292
+ setDirty = _React$useState12[1];
293
+ var _React$useState13 = React__namespace.useState(null),
294
+ _React$useState14 = _slicedToArray(_React$useState13, 2),
295
+ processedItems = _React$useState14[0],
296
+ setProcessedItems = _React$useState14[1];
297
+ var _React$useState15 = React__namespace.useState([]),
298
+ _React$useState16 = _slicedToArray(_React$useState15, 2),
299
+ visibleItems = _React$useState16[0],
300
+ setVisibleItems = _React$useState16[1];
301
+ var _React$useState17 = React__namespace.useState(null),
302
+ _React$useState18 = _slicedToArray(_React$useState17, 2),
303
+ attributeSelectorState = _React$useState18[0],
304
+ setAttributeSelectorState = _React$useState18[1];
305
+ var _React$useState19 = React__namespace.useState(false),
306
+ _React$useState20 = _slicedToArray(_React$useState19, 2),
307
+ mobileActiveState = _React$useState20[0],
308
+ setMobileActiveState = _React$useState20[1];
309
+ var _React$useState21 = React__namespace.useState(false),
310
+ _React$useState22 = _slicedToArray(_React$useState21, 2),
311
+ focusTrigger = _React$useState22[0],
312
+ setFocusTrigger = _React$useState22[1];
313
+ var searchValue = React__namespace.useRef('');
314
+ var searchTimeout = React__namespace.useRef(null);
266
315
  var elementRef = React__namespace.useRef(null);
316
+ var menubarRef = React__namespace.useRef(null);
267
317
  var styleElementRef = React__namespace.useRef(null);
268
318
  var menuButtonRef = React__namespace.useRef(null);
269
319
  var horizontal = props.orientation === 'horizontal';
@@ -273,7 +323,7 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
273
323
  props: props,
274
324
  state: {
275
325
  id: idState,
276
- activeItem: activeItemState,
326
+ activeItem: activeItemState && activeItemState.item,
277
327
  attributeSelector: attributeSelectorState,
278
328
  mobileActive: mobileActiveState
279
329
  }
@@ -284,11 +334,13 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
284
334
  componentbase.useHandleStyle(MegaMenuBase.css.styles, isUnstyled, {
285
335
  name: 'megamenu'
286
336
  });
287
- var getPTOptions = function getPTOptions(item, key, index) {
337
+ var getPTOptions = function getPTOptions(processedItem, key, index) {
288
338
  return ptm(key, {
289
339
  context: {
290
- active: activeItemState === item,
291
- item: item,
340
+ active: isItemActive(processedItem),
341
+ focused: isItemFocused(processedItem),
342
+ disabled: isItemDisabled(processedItem),
343
+ item: processedItem,
292
344
  index: index
293
345
  }
294
346
  });
@@ -296,128 +348,181 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
296
348
  var _useEventListener = hooks.useEventListener({
297
349
  type: 'click',
298
350
  listener: function listener(event) {
299
- if ((!isMobileMode || mobileActiveState) && isOutsideClicked(event)) {
300
- setActiveItemState(null);
301
- setMobileActiveState(false);
351
+ if (isOutsideClicked(event)) {
352
+ hide();
302
353
  }
303
354
  }
304
355
  }),
305
- _useEventListener2 = _slicedToArray(_useEventListener, 1),
306
- bindDocumentClickListener = _useEventListener2[0];
356
+ _useEventListener2 = _slicedToArray(_useEventListener, 2),
357
+ bindDocumentClickListener = _useEventListener2[0],
358
+ unbindDocumentClickListener = _useEventListener2[1];
307
359
  var _useResizeListener = hooks.useResizeListener({
360
+ type: 'resize',
308
361
  listener: function listener() {
309
- if (!isMobileMode || mobileActiveState) {
310
- setActiveItemState(null);
311
- setMobileActiveState(false);
312
- }
362
+ hide();
313
363
  }
314
364
  }),
315
- _useResizeListener2 = _slicedToArray(_useResizeListener, 1),
316
- bindDocumentResizeListener = _useResizeListener2[0];
317
- var onLeafClick = function onLeafClick(event, item) {
365
+ _useResizeListener2 = _slicedToArray(_useResizeListener, 2),
366
+ bindDocumentResizeListener = _useResizeListener2[0],
367
+ unbindDocumentResizeListener = _useResizeListener2[1];
368
+ var bindListeners = function bindListeners() {
369
+ bindDocumentClickListener();
370
+ bindDocumentResizeListener();
371
+ };
372
+ var unbindListeners = function unbindListeners() {
373
+ unbindDocumentClickListener();
374
+ unbindDocumentResizeListener();
375
+ };
376
+ var onLeafClick = function onLeafClick(event) {
377
+ var originalEvent = event.originalEvent,
378
+ processedItem = event.processedItem;
379
+ var item = processedItem.item;
318
380
  if (item.disabled) {
319
- event.preventDefault();
381
+ originalEvent.preventDefault();
320
382
  return;
321
383
  }
322
384
  if (!item.url) {
323
- event.preventDefault();
385
+ originalEvent.preventDefault();
324
386
  }
325
387
  if (item.command) {
326
388
  item.command({
327
- originalEvent: event,
389
+ originalEvent: originalEvent,
328
390
  item: item
329
391
  });
330
392
  }
331
- setActiveItemState(null);
332
- setMobileActiveState(false);
333
- };
334
- var onCategoryMouseEnter = function onCategoryMouseEnter(event, item) {
335
- if (item.disabled || isMobileMode) {
336
- event.preventDefault();
337
- return;
393
+ var grouped = isProccessedItemGroup(processedItem);
394
+ var selected = isSelected(processedItem);
395
+ if (selected) {
396
+ var index = processedItem.index,
397
+ key = processedItem.key,
398
+ parentKey = processedItem.parentKey;
399
+ setActiveItemState(null);
400
+ setFocusedItemInfo({
401
+ index: index,
402
+ key: key,
403
+ parentKey: parentKey
404
+ });
405
+ } else {
406
+ if (grouped) {
407
+ onItemChange(event);
408
+ } else {
409
+ var rootProcessedItemIndex = activeItemState ? activeItemState.index : -1;
410
+ var rootProcessedItemKey = activeItemState ? activeItemState.key : '';
411
+ hide(originalEvent);
412
+ setFocusedItemInfo({
413
+ index: rootProcessedItemIndex,
414
+ key: rootProcessedItemKey,
415
+ parentKey: ''
416
+ });
417
+ setMobileActiveState(false);
418
+ }
338
419
  }
339
- if (activeItemState) {
340
- setActiveItemState(item);
420
+ };
421
+ var onItemChange = function onItemChange(event) {
422
+ var processedItem = event.processedItem,
423
+ isFocus = event.isFocus;
424
+ if (utils.ObjectUtils.isEmpty(processedItem)) return;
425
+ var index = processedItem.index,
426
+ key = processedItem.key,
427
+ parentKey = processedItem.parentKey,
428
+ items = processedItem.items;
429
+ var grouped = utils.ObjectUtils.isNotEmpty(items);
430
+ grouped && setActiveItemState(processedItem);
431
+ setFocusedItemInfo({
432
+ index: index,
433
+ key: key,
434
+ parentKey: parentKey
435
+ });
436
+ grouped && setDirty(true);
437
+ isFocus && utils.DomHandler.focus(menubarRef.current);
438
+ };
439
+ var onCategoryMouseEnter = function onCategoryMouseEnter(event) {
440
+ if (!mobileActiveState && dirty) {
441
+ onItemChange(event);
341
442
  }
342
443
  };
343
- var onCategoryClick = function onCategoryClick(event, item) {
444
+ var onCategoryClick = function onCategoryClick(event) {
445
+ var originalEvent = event.originalEvent,
446
+ processedItem = event.processedItem;
447
+ var item = processedItem.item;
344
448
  if (item.disabled) {
345
- event.preventDefault();
449
+ originalEvent.preventDefault();
346
450
  return;
347
451
  }
348
452
  if (!item.url) {
349
- event.preventDefault();
453
+ originalEvent.preventDefault();
350
454
  }
351
455
  if (item.command) {
352
456
  item.command({
353
- originalEvent: event,
457
+ originalEvent: originalEvent,
354
458
  item: props.item
355
459
  });
356
- event.preventDefault();
460
+ originalEvent.preventDefault();
357
461
  }
358
- if (item.items) {
359
- activeItemState && activeItemState === item ? setActiveItemState(null) : setActiveItemState(item);
360
- event.preventDefault();
462
+ var grouped = isProccessedItemGroup(processedItem);
463
+ var root = utils.ObjectUtils.isEmpty(processedItem.parent);
464
+ var selected = isSelected(processedItem);
465
+ if (selected) {
466
+ var index = processedItem.index,
467
+ key = processedItem.key,
468
+ parentKey = processedItem.parentKey;
469
+ setActiveItemState(null);
470
+ setFocusedItemInfo({
471
+ index: index,
472
+ key: key,
473
+ parentKey: parentKey
474
+ });
475
+ setDirty(!root);
476
+ } else {
477
+ if (grouped) {
478
+ onItemChange(event);
479
+ } else {
480
+ var rootProcessedItem = root ? processedItem : activeItemState;
481
+ hide();
482
+ changeFocusedItemInfo(originalEvent, rootProcessedItem ? rootProcessedItem.index : -1);
483
+ setMobileActiveState(false);
484
+ utils.DomHandler.focus(menubarRef.current);
485
+ }
361
486
  }
362
487
  };
363
- var onCategoryKeyDown = function onCategoryKeyDown(event, item) {
364
- var listItem = event.currentTarget.parentElement;
365
- switch (event.which) {
366
- //down
367
- case 40:
368
- horizontal ? expandMenu(item) : navigateToNextItem(listItem);
369
- event.preventDefault();
370
- break;
371
-
372
- //up
373
- case 38:
374
- vertical ? navigateToPrevItem(listItem) : item.items && item === activeItemState && collapseMenu();
375
- event.preventDefault();
376
- break;
377
-
378
- //right
379
- case 39:
380
- horizontal ? navigateToNextItem(listItem) : expandMenu(item);
381
- event.preventDefault();
382
- break;
383
-
384
- //left
385
- case 37:
386
- horizontal ? navigateToPrevItem(listItem) : item.items && item === activeItemState && collapseMenu();
387
- event.preventDefault();
388
- break;
389
- }
488
+ var show = function show() {
489
+ setFocusedItemInfo({
490
+ index: findFirstFocusedItemIndex(),
491
+ level: 0,
492
+ parentKey: ''
493
+ });
390
494
  };
391
- var expandMenu = function expandMenu(item) {
392
- if (item.items) {
393
- setActiveItemState(item);
495
+ var hide = function hide(isFocus) {
496
+ if (mobileActiveState) {
497
+ setMobileActiveState(false);
498
+ setTimeout(function () {
499
+ utils.DomHandler.focus(menuButtonRef.current);
500
+ }, 0);
394
501
  }
395
- };
396
- var collapseMenu = function collapseMenu(item) {
397
502
  setActiveItemState(null);
503
+ if (isFocus) {
504
+ setFocusedItemInfo({
505
+ index: -1,
506
+ key: '',
507
+ parentKey: ''
508
+ });
509
+ utils.DomHandler.focus(menubarRef.current);
510
+ }
511
+ setDirty(false);
398
512
  };
399
513
  var toggle = function toggle(event) {
400
514
  event.preventDefault();
401
- setMobileActiveState(function (prevMobileActive) {
402
- return !prevMobileActive;
403
- });
404
- setActiveItemState(null);
405
- };
406
- var findNextItem = function findNextItem(item) {
407
- var nextItem = item.nextElementSibling;
408
- return nextItem ? utils.DomHandler.getAttribute(nextItem, '[data-p-disabled="true"]') || !utils.DomHandler.getAttribute(nextItem, '[data-pc-section="menuitem"]') ? findNextItem(nextItem) : nextItem : null;
409
- };
410
- var findPrevItem = function findPrevItem(item) {
411
- var prevItem = item.previousElementSibling;
412
- return prevItem ? utils.DomHandler.getAttribute(prevItem, '[data-p-disabled="true"]') || !utils.DomHandler.getAttribute(prevItem, '[data-pc-section="menuitem"]') ? findPrevItem(prevItem) : prevItem : null;
413
- };
414
- var navigateToNextItem = function navigateToNextItem(listItem) {
415
- var nextItem = findNextItem(listItem);
416
- nextItem && nextItem.children[0].focus();
417
- };
418
- var navigateToPrevItem = function navigateToPrevItem(listItem) {
419
- var prevItem = findPrevItem(listItem);
420
- prevItem && prevItem.children[0].focus();
515
+ if (mobileActiveState) {
516
+ setMobileActiveState(false);
517
+ utils.ZIndexUtils.clear(menubarRef.current);
518
+ hide();
519
+ } else {
520
+ setMobileActiveState(true);
521
+ utils.ZIndexUtils.set('menu', menubarRef.current, context && context.autoZIndex || PrimeReact__default["default"].autoZIndex, context && context.zIndex['menu'] || PrimeReact__default["default"].zIndex['menu']);
522
+ setTimeout(function () {
523
+ show();
524
+ }, 1);
525
+ }
421
526
  };
422
527
  var isOutsideClicked = function isOutsideClicked(event) {
423
528
  return elementRef.current && !(elementRef.current.isSameNode(event.target) || elementRef.current.contains(event.target) || menuButtonRef.current && menuButtonRef.current.contains(event.target));
@@ -436,13 +541,39 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
436
541
  if (props.breakpoint) {
437
542
  !attributeSelectorState && setAttributeSelectorState(uniqueId);
438
543
  }
439
- bindDocumentClickListener();
440
- bindDocumentResizeListener();
441
544
  });
545
+ hooks.useUpdateEffect(function () {
546
+ if (attributeSelectorState && elementRef.current) {
547
+ elementRef.current.setAttribute(attributeSelectorState, '');
548
+ createStyle();
549
+ }
550
+ return function () {
551
+ destroyStyle();
552
+ };
553
+ }, [attributeSelectorState, props.breakpoint]);
554
+ hooks.useUpdateEffect(function () {
555
+ if (mobileActiveState) {
556
+ bindListeners();
557
+ } else {
558
+ unbindListeners();
559
+ }
560
+ }, [mobileActiveState]);
561
+ hooks.useUpdateEffect(function () {
562
+ if (focusTrigger) {
563
+ var itemIndex = focusedItemInfo.index !== -1 ? findNextItemIndex(focusedItemInfo.index) : findFirstFocusedItemIndex();
564
+ changeFocusedItemInfo(itemIndex);
565
+ setFocusTrigger(false);
566
+ }
567
+ }, [focusTrigger]);
442
568
  hooks.useUpdateEffect(function () {
443
569
  var currentPanel = utils.DomHandler.findSingle(elementRef.current, '.p-menuitem-active > .p-megamenu-panel');
444
- if (activeItemState && !isMobileMode) {
445
- utils.ZIndexUtils.set('menu', currentPanel, context && context.autoZIndex || PrimeReact__default["default"].autoZIndex, context && context.zIndex['menu'] || PrimeReact__default["default"].zIndex['menu']);
570
+ if (activeItemState) {
571
+ bindListeners();
572
+ if (!isMobileMode) {
573
+ utils.ZIndexUtils.set('menu', currentPanel, context && context.autoZIndex || PrimeReact__default["default"].autoZIndex, context && context.zIndex['menu'] || PrimeReact__default["default"].zIndex['menu']);
574
+ }
575
+ } else {
576
+ unbindListeners();
446
577
  }
447
578
  if (isMobileMode) {
448
579
  currentPanel && currentPanel.previousElementSibling.scrollIntoView({
@@ -451,9 +582,442 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
451
582
  });
452
583
  }
453
584
  return function () {
585
+ unbindListeners();
454
586
  utils.ZIndexUtils.clear(currentPanel);
455
587
  };
456
- }, [activeItemState]);
588
+ }, [activeItemState, isMobileMode]);
589
+ hooks.useUpdateEffect(function () {
590
+ var _focusedItemId = utils.ObjectUtils.isNotEmpty(focusedItemInfo.key) ? "".concat(idState, "_").concat(focusedItemInfo.key) : null;
591
+ setFocusedItemId(_focusedItemId);
592
+ }, [focusedItemInfo]);
593
+ React__namespace.useEffect(function () {
594
+ var itemsToProcess = props.model || [];
595
+ var processed = createProcessedItems(itemsToProcess, 0, null, '');
596
+ setProcessedItems(processed);
597
+ // eslint-disable-next-line react-hooks/exhaustive-deps
598
+ }, [props.model]);
599
+ hooks.useUpdateEffect(function () {
600
+ var processedItem = utils.ObjectUtils.isNotEmpty(activeItemState) ? activeItemState : null;
601
+ var _visibleItems = processedItem && processedItem.key === focusedItemInfo.parentKey ? processedItem.items.reduce(function (items, col) {
602
+ col.forEach(function (submenu) {
603
+ submenu.items.forEach(function (a) {
604
+ items.push(a);
605
+ });
606
+ });
607
+ return items;
608
+ }, []) : processedItems;
609
+ setVisibleItems(_visibleItems);
610
+ }, [focusedItemInfo, activeItemState, processedItems]);
611
+ var onFocus = function onFocus(event) {
612
+ setFocused(true);
613
+ if (focusedItemInfo.index === -1) {
614
+ var index = findFirstFocusedItemIndex();
615
+ var processedItem = findVisibleItem(index);
616
+ setFocusedItemInfo({
617
+ index: index,
618
+ key: processedItem.key,
619
+ parentKey: processedItem.parentKey
620
+ });
621
+ }
622
+ props.onFocus && props.onFocus(event);
623
+ };
624
+ var onBlur = function onBlur(event) {
625
+ setFocused(false);
626
+ setFocusedItemInfo({
627
+ index: -1,
628
+ key: '',
629
+ parentKey: ''
630
+ });
631
+ searchValue.current = '';
632
+ setDirty(false);
633
+ props.onBlur && props.onBlur(event);
634
+ };
635
+ var onKeyDown = function onKeyDown(event) {
636
+ var metaKey = event.metaKey || event.ctrlKey;
637
+ switch (event.code) {
638
+ case 'ArrowDown':
639
+ onArrowDownKey(event);
640
+ break;
641
+ case 'ArrowUp':
642
+ onArrowUpKey(event);
643
+ break;
644
+ case 'ArrowLeft':
645
+ onArrowLeftKey(event);
646
+ break;
647
+ case 'ArrowRight':
648
+ onArrowRightKey(event);
649
+ break;
650
+ case 'Home':
651
+ onHomeKey(event);
652
+ break;
653
+ case 'End':
654
+ onEndKey(event);
655
+ break;
656
+ case 'Space':
657
+ onSpaceKey(event);
658
+ break;
659
+ case 'Enter':
660
+ onEnterKey(event);
661
+ break;
662
+ case 'Escape':
663
+ onEscapeKey(event);
664
+ break;
665
+ case 'Tab':
666
+ onTabKey(event);
667
+ break;
668
+ case 'PageDown':
669
+ case 'PageUp':
670
+ case 'Backspace':
671
+ case 'ShiftLeft':
672
+ case 'ShiftRight':
673
+ //NOOP
674
+ break;
675
+ default:
676
+ if (!metaKey && utils.ObjectUtils.isPrintableCharacter(event.key)) {
677
+ searchItems(event, event.key);
678
+ }
679
+ break;
680
+ }
681
+ };
682
+ var onArrowDownKey = function onArrowDownKey(event) {
683
+ event.preventDefault();
684
+ if (horizontal) {
685
+ var _focusedItemInfo = focusedItemInfo;
686
+ if (utils.ObjectUtils.isNotEmpty(activeItemState) && activeItemState.key === focusedItemInfo.key) {
687
+ (({
688
+ index: -1,
689
+ key: '',
690
+ parentKey: activeItemState.key
691
+ })), _readOnlyError("_focusedItemInfo");
692
+ setFocusedItemInfo(_focusedItemInfo);
693
+ } else {
694
+ var processedItem = findVisibleItem(focusedItemInfo.index);
695
+ var grouped = isProccessedItemGroup(processedItem);
696
+ if (grouped) {
697
+ onItemChange({
698
+ originalEvent: event,
699
+ processedItem: processedItem
700
+ });
701
+ (({
702
+ index: -1,
703
+ key: processedItem.key,
704
+ parentKey: processedItem.parentKey
705
+ })), _readOnlyError("_focusedItemInfo");
706
+ setFocusedItemInfo(_focusedItemInfo);
707
+ searchValue.current = '';
708
+ }
709
+ }
710
+ setTimeout(function () {
711
+ return setFocusTrigger(true);
712
+ }, 0);
713
+ } else {
714
+ var itemIndex = focusedItemInfo.index !== -1 ? findNextItemIndex(focusedItemInfo.index) : findFirstFocusedItemIndex();
715
+ changeFocusedItemInfo(itemIndex);
716
+ }
717
+ };
718
+ var onArrowUpKey = function onArrowUpKey(event) {
719
+ var processedItem = findVisibleItem(focusedItemInfo.index);
720
+ var grouped = isProccessedItemGroup(processedItem);
721
+ if (event.altKey && horizontal) {
722
+ if (focusedItemInfo.index !== -1) {
723
+ if (!grouped && utils.ObjectUtils.isNotEmpty(activeItemState)) {
724
+ if (focusedItemInfo.index === 0) {
725
+ setFocusedItemInfo({
726
+ index: activeItemState.index,
727
+ key: activeItemState.key,
728
+ parentKey: activeItemState.parentKey
729
+ });
730
+ setActiveItemState(null);
731
+ } else {
732
+ changeFocusedItemInfo(findFirstItemIndex());
733
+ }
734
+ }
735
+ }
736
+ } else {
737
+ var itemIndex = focusedItemInfo.index !== -1 ? findPrevItemIndex(focusedItemInfo.index) : findLastFocusedItemIndex();
738
+ changeFocusedItemInfo(itemIndex);
739
+ }
740
+ event.preventDefault();
741
+ };
742
+ var onArrowLeftKey = function onArrowLeftKey(event) {
743
+ var processedItem = findVisibleItem(focusedItemInfo.index);
744
+ var grouped = isProccessedItemGroup(processedItem);
745
+ if (grouped) {
746
+ if (horizontal) {
747
+ var itemIndex = focusedItemInfo.index !== -1 ? findPrevItemIndex(focusedItemInfo.index) : findLastFocusedItemIndex();
748
+ changeFocusedItemInfo(itemIndex);
749
+ }
750
+ } else {
751
+ if (vertical && utils.ObjectUtils.isNotEmpty(activeItemState)) {
752
+ if (processedItem.columnIndex === 0) {
753
+ setFocusedItemInfo({
754
+ index: activeItemState.index,
755
+ key: activeItemState.key,
756
+ parentKey: activeItemState.parentKey
757
+ });
758
+ setActiveItemState(null);
759
+ }
760
+ }
761
+ var columnIndex = processedItem.columnIndex - 1;
762
+ var _itemIndex = visibleItems.findIndex(function (item) {
763
+ return item.columnIndex === columnIndex;
764
+ });
765
+ _itemIndex !== -1 && changeFocusedItemInfo(_itemIndex);
766
+ }
767
+ event.preventDefault();
768
+ };
769
+ var onArrowRightKey = function onArrowRightKey(event) {
770
+ event.preventDefault();
771
+ var processedItem = findVisibleItem(focusedItemInfo.index);
772
+ var grouped = isProccessedItemGroup(processedItem);
773
+ if (grouped) {
774
+ if (vertical) {
775
+ if (utils.ObjectUtils.isNotEmpty(activeItemState) && activeItemState.key === processedItem.key) {
776
+ setFocusedItemInfo({
777
+ index: -1,
778
+ key: '',
779
+ parentKey: activeItemState.key
780
+ });
781
+ } else {
782
+ var _processedItem = findVisibleItem(focusedItemInfo.index);
783
+ var _grouped = isProccessedItemGroup(_processedItem);
784
+ if (_grouped) {
785
+ onItemChange({
786
+ originalEvent: event,
787
+ processedItem: _processedItem
788
+ });
789
+ setFocusedItemInfo({
790
+ index: -1,
791
+ key: _processedItem.key,
792
+ parentKey: _processedItem.parentKey
793
+ });
794
+ searchValue.current = '';
795
+ }
796
+ }
797
+ }
798
+ setTimeout(function () {
799
+ return setFocusTrigger(true);
800
+ }, 0);
801
+ } else {
802
+ var columnIndex = processedItem.columnIndex + 1;
803
+ var itemIndex = visibleItems.findIndex(function (item) {
804
+ return item.columnIndex === columnIndex;
805
+ });
806
+ itemIndex !== -1 && changeFocusedItemInfo(itemIndex);
807
+ }
808
+ };
809
+ var onHomeKey = function onHomeKey(event) {
810
+ changeFocusedItemInfo(findFirstItemIndex());
811
+ event.preventDefault();
812
+ };
813
+ var onEndKey = function onEndKey(event) {
814
+ changeFocusedItemInfo(findLastItemIndex());
815
+ event.preventDefault();
816
+ };
817
+ var onEnterKey = function onEnterKey(event) {
818
+ if (focusedItemInfo.index !== -1) {
819
+ var element = utils.DomHandler.findSingle(menubarRef.current, "li[id=\"".concat(focusedItemId, "\"]"));
820
+ var anchorElement = element && utils.DomHandler.findSingle(element, 'a[data-pc-section="action"]');
821
+ anchorElement ? anchorElement.click() : element && element.click();
822
+ }
823
+ event.preventDefault();
824
+ };
825
+ var onSpaceKey = function onSpaceKey(event) {
826
+ onEnterKey(event);
827
+ };
828
+ var onEscapeKey = function onEscapeKey(event) {
829
+ if (utils.ObjectUtils.isNotEmpty(activeItemState)) {
830
+ setFocusedItemInfo({
831
+ index: activeItemState.index,
832
+ key: activeItemState.key
833
+ });
834
+ setActiveItemState(null);
835
+ }
836
+ event.preventDefault();
837
+ };
838
+ var onTabKey = function onTabKey(event) {
839
+ if (focusedItemInfo.index !== -1) {
840
+ var processedItem = findVisibleItem(focusedItemInfo.index);
841
+ var grouped = isProccessedItemGroup(processedItem);
842
+ !grouped && onItemChange({
843
+ originalEvent: event,
844
+ processedItem: processedItem
845
+ });
846
+ }
847
+ hide();
848
+ };
849
+ var isItemMatched = function isItemMatched(processedItem) {
850
+ var label = getProccessedItemLabel(processedItem);
851
+ return isValidItem(processedItem) && label && label.toLocaleLowerCase().startsWith(searchValue.current.toLocaleLowerCase());
852
+ };
853
+ var isValidItem = function isValidItem(processedItem) {
854
+ return !!processedItem && !isItemDisabled(processedItem.item) && !isItemSeparator(processedItem.item);
855
+ };
856
+ var isValidSelectedItem = function isValidSelectedItem(processedItem) {
857
+ return isValidItem(processedItem) && isSelected(processedItem);
858
+ };
859
+ var isSelected = function isSelected(processedItem) {
860
+ return utils.ObjectUtils.isNotEmpty(activeItemState) ? activeItemState.key === processedItem.key : false;
861
+ };
862
+ var findFirstItemIndex = function findFirstItemIndex() {
863
+ return visibleItems.findIndex(function (processedItem) {
864
+ return isValidItem(processedItem);
865
+ });
866
+ };
867
+ var findLastItemIndex = function findLastItemIndex() {
868
+ return utils.ObjectUtils.findLastIndex(visibleItems, function (processedItem) {
869
+ return isValidItem(processedItem);
870
+ });
871
+ };
872
+ var findNextItemIndex = function findNextItemIndex(index) {
873
+ var matchedItemIndex = index < visibleItems.length - 1 ? visibleItems.slice(index + 1).findIndex(function (processedItem) {
874
+ return isValidItem(processedItem);
875
+ }) : -1;
876
+ return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;
877
+ };
878
+ var findPrevItemIndex = function findPrevItemIndex(index) {
879
+ var matchedItemIndex = index > 0 ? utils.ObjectUtils.findLastIndex(visibleItems.slice(0, index), function (processedItem) {
880
+ return isValidItem(processedItem);
881
+ }) : -1;
882
+ return matchedItemIndex > -1 ? matchedItemIndex : index;
883
+ };
884
+ var findSelectedItemIndex = function findSelectedItemIndex() {
885
+ return visibleItems && visibleItems.findIndex(function (processedItem) {
886
+ return isValidSelectedItem(processedItem);
887
+ });
888
+ };
889
+ var findFirstFocusedItemIndex = function findFirstFocusedItemIndex() {
890
+ var selectedIndex = findSelectedItemIndex();
891
+ return selectedIndex < 0 ? findFirstItemIndex() : selectedIndex;
892
+ };
893
+ var findLastFocusedItemIndex = function findLastFocusedItemIndex() {
894
+ var selectedIndex = findSelectedItemIndex();
895
+ return selectedIndex < 0 ? findLastItemIndex() : selectedIndex;
896
+ };
897
+ var findVisibleItem = function findVisibleItem(index) {
898
+ return utils.ObjectUtils.isNotEmpty(visibleItems) ? visibleItems[index] : null;
899
+ };
900
+ var getProccessedItemLabel = function getProccessedItemLabel(processedItem) {
901
+ return processedItem && processedItem.item ? getItemLabel(processedItem) : undefined;
902
+ };
903
+ var searchItems = function searchItems(event, _char) {
904
+ searchValue.current = (searchValue.current || '') + _char;
905
+ var itemIndex = -1;
906
+ var matched = false;
907
+ if (focusedItemInfo.index !== -1) {
908
+ itemIndex = visibleItems.slice(focusedItemInfo.index).findIndex(function (processedItem) {
909
+ return isItemMatched(processedItem);
910
+ });
911
+ itemIndex = itemIndex === -1 ? visibleItems.slice(0, focusedItemInfo.index).findIndex(function (processedItem) {
912
+ return isItemMatched(processedItem);
913
+ }) : itemIndex + focusedItemInfo.index;
914
+ } else {
915
+ itemIndex = visibleItems.findIndex(function (processedItem) {
916
+ return isItemMatched(processedItem);
917
+ });
918
+ }
919
+ if (itemIndex !== -1) {
920
+ matched = true;
921
+ }
922
+ if (itemIndex === -1 && focusedItemInfo.index === -1) {
923
+ itemIndex = findFirstFocusedItemIndex();
924
+ }
925
+ if (itemIndex !== -1) {
926
+ changeFocusedItemInfo(itemIndex);
927
+ }
928
+ if (searchTimeout) {
929
+ clearTimeout(searchTimeout);
930
+ }
931
+ searchTimeout.current = setTimeout(function () {
932
+ searchValue.current = '';
933
+ searchTimeout.current = null;
934
+ }, 500);
935
+ return matched;
936
+ };
937
+ var changeFocusedItemInfo = function changeFocusedItemInfo(index) {
938
+ var processedItem = findVisibleItem(index);
939
+ var key = utils.ObjectUtils.isNotEmpty(processedItem) ? processedItem.key : '';
940
+ setFocusedItemInfo(_objectSpread(_objectSpread({}, focusedItemInfo), {}, {
941
+ index: index,
942
+ key: key
943
+ }));
944
+ scrollInView();
945
+ };
946
+ var scrollInView = function scrollInView() {
947
+ var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
948
+ var id = index !== -1 ? "".concat(idState, "_").concat(index) : focusedItemId;
949
+ var element = utils.DomHandler.findSingle(menubarRef.current, "li[id=\"".concat(id, "\"]"));
950
+ if (element) {
951
+ element.scrollIntoView && element.scrollIntoView({
952
+ block: 'nearest',
953
+ inline: 'start'
954
+ });
955
+ }
956
+ };
957
+ var getItemId = function getItemId(processedItem) {
958
+ return "".concat(idState, "_").concat(processedItem.key);
959
+ };
960
+ var getItemProp = function getItemProp(processedItem, name, params) {
961
+ return processedItem && processedItem.item ? utils.ObjectUtils.getItemValue(processedItem.item[name], params) : undefined;
962
+ };
963
+ var getItemLabel = function getItemLabel(processedItem) {
964
+ return getItemProp(processedItem, 'label');
965
+ };
966
+ var isItemActive = function isItemActive(processedItem) {
967
+ return utils.ObjectUtils.isNotEmpty(activeItemState) ? activeItemState.key === processedItem.key : false;
968
+ };
969
+ var isItemVisible = function isItemVisible(processedItem) {
970
+ return getItemProp(processedItem, 'visible') !== false;
971
+ };
972
+ var isItemDisabled = function isItemDisabled(processedItem) {
973
+ return getItemProp(processedItem, 'disabled');
974
+ };
975
+ var isItemFocused = function isItemFocused(processedItem) {
976
+ return focusedItemId === getItemId(processedItem);
977
+ };
978
+ var isItemGroup = function isItemGroup(processedItem) {
979
+ return utils.ObjectUtils.isNotEmpty(processedItem.items);
980
+ };
981
+ var isItemSeparator = function isItemSeparator(item) {
982
+ return getItemProp(item, 'separator');
983
+ };
984
+ var isProccessedItemGroup = function isProccessedItemGroup(processedItem) {
985
+ return processedItem && utils.ObjectUtils.isNotEmpty(processedItem.items);
986
+ };
987
+ var getAriaSetSize = function getAriaSetSize() {
988
+ return props.model.filter(function (processedItem) {
989
+ return isItemVisible(processedItem) && !getItemProp(processedItem, 'separator');
990
+ }).length;
991
+ };
992
+ var getAriaPosInset = function getAriaPosInset(index) {
993
+ return index - props.model.slice(0, index).filter(function (processedItem) {
994
+ return isItemVisible(processedItem) && getItemProp(processedItem, 'separator');
995
+ }).length + 1;
996
+ };
997
+ var createProcessedItems = function createProcessedItems(items) {
998
+ var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
999
+ var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
1000
+ var parentKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
1001
+ var columnIndex = arguments.length > 4 ? arguments[4] : undefined;
1002
+ var _processedItems = [];
1003
+ items && items.forEach(function (item, index) {
1004
+ var key = (parentKey !== '' ? parentKey + '_' : '') + (columnIndex !== undefined ? columnIndex + '_' : '') + index;
1005
+ var newItem = {
1006
+ item: item,
1007
+ index: index,
1008
+ level: level,
1009
+ key: key,
1010
+ parent: parent,
1011
+ parentKey: parentKey,
1012
+ columnIndex: columnIndex !== undefined ? columnIndex : parent && parent.columnIndex !== undefined ? parent.columnIndex : index
1013
+ };
1014
+ newItem['items'] = level === 0 && item.items && item.items.length > 0 ? item.items.map(function (_items, _index) {
1015
+ return createProcessedItems(_items, level + 1, newItem, key, _index);
1016
+ }) : createProcessedItems(item.items, level + 1, newItem, key);
1017
+ _processedItems.push(newItem);
1018
+ });
1019
+ return _processedItems;
1020
+ };
457
1021
  var createSeparator = function createSeparator(index) {
458
1022
  var key = idState + '_separator__' + index;
459
1023
  var separatorProps = utils.mergeProps({
@@ -477,14 +1041,15 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
477
1041
  }
478
1042
  return null;
479
1043
  };
480
- var createSubmenuItem = function createSubmenuItem(item, index) {
1044
+ var createSubmenuItem = function createSubmenuItem(processedItem, index) {
1045
+ var item = processedItem.item;
481
1046
  if (item.visible === false) {
482
1047
  return null;
483
1048
  }
484
1049
  if (item.separator) {
485
1050
  return createSeparator(index);
486
1051
  } else {
487
- var key = item.id || idState + '_' + index;
1052
+ var key = getItemId(processedItem);
488
1053
  var linkClassName = utils.classNames('p-menuitem-link', {
489
1054
  'p-disabled': item.disabled
490
1055
  });
@@ -505,25 +1070,46 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
505
1070
  item: item
506
1071
  }),
507
1072
  target: item.target,
508
- onClick: function onClick(event) {
509
- return onLeafClick(event, item);
510
- },
511
- role: 'menuitem',
512
- 'aria-disabled': item.disabled
513
- }, getPTOptions(item, 'action', index));
1073
+ tabIndex: '-1',
1074
+ 'aria-hidden': true
1075
+ }, getPTOptions(processedItem, 'action', index));
1076
+ var isFocused = isItemFocused(processedItem);
1077
+ var isDisabled = isItemDisabled(processedItem);
1078
+ var isGroup = isItemGroup(processedItem);
1079
+ var isActive = isItemActive(processedItem);
514
1080
  var submenuItemProps = utils.mergeProps({
515
1081
  key: key,
516
1082
  id: key,
517
- className: utils.classNames(item.className, cx('submenuItem')),
1083
+ 'aria-label': getItemLabel(processedItem),
1084
+ 'aria-disabled': isDisabled,
1085
+ 'aria-haspopup': isGroup ? 'menu' : undefined,
1086
+ 'aria-level': '2',
1087
+ 'aria-expanded': isGroup ? isActive : undefined,
1088
+ 'aria-setsize': getAriaSetSize(),
1089
+ 'aria-posinset': getAriaPosInset(index),
1090
+ 'data-p-highlight': isActive,
1091
+ 'data-p-disabled': isDisabled,
1092
+ 'data-p-focused': isFocused,
1093
+ className: utils.classNames(item.className, cx('submenuItem', {
1094
+ focused: isFocused,
1095
+ disabled: isDisabled,
1096
+ active: isActive
1097
+ })),
518
1098
  style: item.style,
519
- role: 'none'
520
- }, getPTOptions(item, 'submenuItem', index));
1099
+ role: 'menuitem'
1100
+ }, getPTOptions(processedItem, 'submenuItem', index));
1101
+ var contentProps = utils.mergeProps({
1102
+ onClick: function onClick(event) {
1103
+ return onLeafClick({
1104
+ originalEvent: event,
1105
+ processedItem: processedItem
1106
+ });
1107
+ },
1108
+ className: cx('content')
1109
+ }, getPTOptions(processedItem, 'content', index));
521
1110
  var content = /*#__PURE__*/React__namespace.createElement("a", actionProps, icon, label, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null));
522
1111
  if (item.template) {
523
1112
  var defaultContentOptions = {
524
- onClick: function onClick(event) {
525
- return onLeafClick(event, item);
526
- },
527
1113
  className: linkClassName,
528
1114
  labelClassName: 'p-menuitem-text',
529
1115
  iconClassName: iconClassName,
@@ -532,47 +1118,52 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
532
1118
  };
533
1119
  content = utils.ObjectUtils.getJSXElement(item.template, item, defaultContentOptions);
534
1120
  }
535
- return /*#__PURE__*/React__namespace.createElement("li", submenuItemProps, content);
1121
+ return /*#__PURE__*/React__namespace.createElement("li", submenuItemProps, /*#__PURE__*/React__namespace.createElement("div", contentProps, content));
536
1122
  }
537
1123
  };
538
1124
  var createSubmenu = function createSubmenu(submenu, index) {
539
- if (submenu.visible === false) {
1125
+ if (!isItemVisible(submenu)) {
540
1126
  return null;
541
1127
  }
542
1128
  var items = submenu.items.map(createSubmenuItem);
543
1129
  var key = submenu.id || idState + '_sub_' + index;
1130
+ var label = getItemLabel(submenu);
1131
+ var isDisabled = isItemDisabled(submenu);
544
1132
  var submenuHeaderProps = utils.mergeProps({
545
1133
  id: key,
546
1134
  key: key,
547
1135
  className: utils.classNames(submenu.className, cx('submenuHeader', {
548
- submenu: submenu
1136
+ disabled: isDisabled
549
1137
  })),
550
1138
  style: submenu.style,
551
1139
  role: 'presentation',
552
- 'data-p-disabled': submenu.disabled
1140
+ 'data-p-disabled': isDisabled
553
1141
  }, ptm('submenuHeader'));
554
1142
  return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, {
555
1143
  key: key
556
- }, /*#__PURE__*/React__namespace.createElement("li", submenuHeaderProps, submenu.label), items);
1144
+ }, /*#__PURE__*/React__namespace.createElement("li", submenuHeaderProps, label), items);
557
1145
  };
558
1146
  var createSubmenus = function createSubmenus(column) {
559
1147
  return column.map(createSubmenu);
560
1148
  };
561
- var createColumn = function createColumn(category, column, index) {
1149
+ var createColumn = function createColumn(processedItem, processedColumn, index) {
1150
+ var category = processedItem.item;
562
1151
  var key = category.label + '_column_' + index;
563
- var submenus = createSubmenus(column);
1152
+ var submenus = createSubmenus(processedColumn);
564
1153
  var columnProps = utils.mergeProps({
565
1154
  key: key,
566
1155
  className: cx('column', {
567
1156
  category: category
568
1157
  })
569
1158
  }, ptm('column'));
1159
+ var display = activeItemState && activeItemState.item === category ? 'block' : 'none';
570
1160
  var submenuProps = utils.mergeProps({
1161
+ role: 'menu',
1162
+ tabIndex: props.disabled ? null : props.tabIndex || '0',
571
1163
  className: cx('submenu'),
572
1164
  style: {
573
- display: activeItemState === category ? 'block' : 'none'
574
- },
575
- role: 'menu'
1165
+ display: display
1166
+ }
576
1167
  }, ptm('submenu'));
577
1168
  return /*#__PURE__*/React__namespace.createElement("div", columnProps, /*#__PURE__*/React__namespace.createElement("ul", submenuProps, submenus));
578
1169
  };
@@ -584,9 +1175,10 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
584
1175
  }
585
1176
  return null;
586
1177
  };
587
- var createCategoryPanel = function createCategoryPanel(category) {
1178
+ var createCategoryPanel = function createCategoryPanel(processedItem) {
1179
+ var category = processedItem.item;
588
1180
  if (category.items) {
589
- var columns = createColumns(category);
1181
+ var columns = createColumns(processedItem);
590
1182
  var panelProps = utils.mergeProps({
591
1183
  className: cx('panel')
592
1184
  }, ptm('panel'));
@@ -599,7 +1191,7 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
599
1191
  };
600
1192
  var createStyle = function createStyle() {
601
1193
  if (!styleElementRef.current) {
602
- styleElementRef.current = utils.DomHandler.createInlineStyle(context && context.nonce || PrimeReact__default["default"].nonce);
1194
+ styleElementRef.current = utils.DomHandler.createInlineStyle(context && context.nonce || PrimeReact__default["default"].nonce, context && context.styleContainer);
603
1195
  var selector = "".concat(attributeSelectorState);
604
1196
  var innerHTML = "\n@media screen and (max-width: ".concat(props.breakpoint, ") {\n .p-megamenu[").concat(selector, "] > .p-megamenu-root-list .p-menuitem-active .p-megamenu-panel {\n position: relative;\n left: 0;\n box-shadow: none;\n border-radius: 0;\n background: inherit;\n }\n\n .p-megamenu[").concat(selector, "] .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {\n transform: rotate(-180deg);\n }\n\n .p-megamenu[").concat(selector, "] .p-megamenu-grid {\n flex-wrap: wrap;\n }\n\n ").concat(horizontal ? "\n.p-megamenu[".concat(selector, "] .p-megamenu-button {\n display: flex;\n}\n\n.p-megamenu[").concat(selector, "].p-megamenu-horizontal {\n position: relative;\n}\n\n.p-megamenu[").concat(selector, "].p-megamenu-horizontal .p-megamenu-root-list {\n display: none;\n}\n\n.p-megamenu-horizontal[").concat(selector, "] div[class*=\"p-megamenu-col-\"] {\n width: auto;\n flex: 1;\n padding: 0;\n}\n\n.p-megamenu[").concat(selector, "].p-megamenu-mobile-active .p-megamenu-root-list {\n display: flex;\n flex-direction: column;\n position: absolute;\n width: 100%;\n top: 100%;\n left: 0;\n z-index: 1;\n}\n ") : '', "\n\n ").concat(vertical ? "\n.p-megamenu-vertical[".concat(selector, "] {\n width: 100%;\n}\n\n.p-megamenu-vertical[").concat(selector, "] .p-megamenu-root-list {\n max-height: ").concat(props.scrollHeight, ";\n overflow: ").concat(props.scrollHeight ? 'auto' : '', ";\n}\n.p-megamenu-vertical[").concat(selector, "] div[class*=\"p-megamenu-col-\"] {\n width: 100%;\n padding: 0;\n}\n\n.p-megamenu-vertical[").concat(selector, "] .p-megamenu-submenu {\n width: 100%;\n}\n\n.p-megamenu-vertical[").concat(selector, "] div[class*=\"p-megamenu-col-\"] .p-megamenu-submenu-header {\n background: inherit;\n}\n\n.p-megamenu-vertical[").concat(selector, "] .p-submenu-icon:before {\n content: \"\\e930\";\n}\n ") : '', "\n}\n");
605
1197
  styleElementRef.current.innerHTML = innerHTML;
@@ -608,69 +1200,92 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
608
1200
  var destroyStyle = function destroyStyle() {
609
1201
  styleElementRef.current = utils.DomHandler.removeInlineStyle(styleElementRef.current);
610
1202
  };
611
- hooks.useUpdateEffect(function () {
612
- if (attributeSelectorState && elementRef.current) {
613
- elementRef.current.setAttribute(attributeSelectorState, '');
614
- createStyle();
615
- }
616
- return function () {
617
- destroyStyle();
618
- };
619
- }, [attributeSelectorState, props.breakpoint]);
620
- var createCategory = function createCategory(category, index) {
1203
+ var createCategory = function createCategory(processedItem, index) {
1204
+ var category = processedItem.item;
621
1205
  var iconProps = utils.mergeProps({
622
1206
  className: cx('icon')
623
- }, getPTOptions(category, 'icon', index));
1207
+ }, getPTOptions(processedItem, 'icon', index));
624
1208
  var icon = utils.IconUtils.getJSXIcon(category.icon, _objectSpread({}, iconProps), {
625
1209
  props: props
626
1210
  });
627
1211
  var labelProps = utils.mergeProps({
628
1212
  className: cx('label')
629
- }, getPTOptions(category, 'label', index));
1213
+ }, getPTOptions(processedItem, 'label', index));
630
1214
  var label = category.label && /*#__PURE__*/React__namespace.createElement("span", labelProps, category.label);
631
- var itemContent = category.template ? utils.ObjectUtils.getJSXElement(category.template, category) : null;
632
1215
  var submenuIcon = createSubmenuIcon(category);
633
- var panel = createCategoryPanel(category);
1216
+ var panel = createCategoryPanel(processedItem);
634
1217
  var headerActionProps = utils.mergeProps({
635
1218
  href: category.url || '#',
636
- className: cx('headerAction', {
637
- category: category
1219
+ className: cx('action', {
1220
+ item: category
638
1221
  }),
639
1222
  target: category.target,
640
- onClick: function onClick(e) {
641
- return onCategoryClick(e, category);
642
- },
643
- onKeyDown: function onKeyDown(e) {
644
- return onCategoryKeyDown(e, category);
1223
+ onFocus: function onFocus(event) {
1224
+ return event.stopPropagation();
645
1225
  },
646
- role: 'menuitem',
647
- 'aria-haspopup': category.items != null,
648
- 'data-p-disabled': category.disabled
649
- }, getPTOptions(category, 'headerAction', index));
650
- var key = category.id || idState + '_cat_' + index;
651
- var menuItemProps = utils.mergeProps({
1226
+ tabIndex: '-1',
1227
+ 'aria-hidden': true
1228
+ }, getPTOptions(processedItem, 'action', index));
1229
+ var itemContent = category.template ? utils.ObjectUtils.getJSXElement(category.template, category, headerActionProps) : /*#__PURE__*/React__namespace.createElement("a", headerActionProps, icon, label, submenuIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null));
1230
+ var key = getItemId(processedItem);
1231
+ var isFocused = isItemFocused(processedItem);
1232
+ var isDisabled = isItemDisabled(processedItem);
1233
+ var menuItemProps = utils.mergeProps(_defineProperty({
652
1234
  key: key,
653
1235
  id: key,
654
1236
  className: utils.classNames(category.className, cx('menuitem', {
655
1237
  category: category,
656
- activeItemState: activeItemState
1238
+ activeItemState: activeItemState,
1239
+ focused: isFocused,
1240
+ disabled: isDisabled
657
1241
  })),
1242
+ 'aria-label': getItemLabel(category),
1243
+ 'aria-level': '1',
1244
+ 'aria-setsize': getAriaSetSize(),
1245
+ 'aria-posinset': getAriaPosInset(index),
1246
+ 'aria-expanded': isItemGroup(processedItem) ? isItemActive(processedItem) : undefined,
1247
+ 'aria-haspopup': isItemGroup(processedItem) ? 'menu' : undefined,
1248
+ 'aria-disabled': isItemDisabled(processedItem),
1249
+ 'data-p-highlight': isItemActive(category),
1250
+ 'data-p-disabled': isDisabled,
1251
+ 'data-p-focused': isFocused,
658
1252
  style: category.style,
1253
+ role: 'menuitem'
1254
+ }, "data-p-disabled", category.disabled || false), getPTOptions(processedItem, 'menuitem', index));
1255
+ var contentProps = utils.mergeProps({
1256
+ onClick: function onClick(event) {
1257
+ return onCategoryClick({
1258
+ originalEvent: event,
1259
+ processedItem: processedItem
1260
+ });
1261
+ },
659
1262
  onMouseEnter: function onMouseEnter(e) {
660
- return onCategoryMouseEnter(e, category);
1263
+ return onCategoryMouseEnter({
1264
+ originalEvent: e,
1265
+ processedItem: processedItem
1266
+ });
661
1267
  },
662
- role: 'none',
663
- 'data-p-disabled': category.disabled || false
664
- }, getPTOptions(category, 'menuitem', index));
665
- return /*#__PURE__*/React__namespace.createElement("li", menuItemProps, /*#__PURE__*/React__namespace.createElement("a", headerActionProps, icon, label, itemContent, submenuIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null)), panel);
1268
+ className: cx('content')
1269
+ }, getPTOptions(processedItem, 'content', index));
1270
+ return /*#__PURE__*/React__namespace.createElement("li", menuItemProps, /*#__PURE__*/React__namespace.createElement("div", contentProps, itemContent), panel);
666
1271
  };
667
1272
  var createMenu = function createMenu() {
668
1273
  var menuProps = utils.mergeProps({
1274
+ ref: menubarRef,
1275
+ tabIndex: props.disabled ? null : props.tabIndex || '0',
669
1276
  className: cx('menu'),
1277
+ onFocus: onFocus,
1278
+ onBlur: onBlur,
1279
+ onKeyDown: onKeyDown,
1280
+ 'aria-label': props.ariaLabel,
1281
+ 'aria-labelledby': props.ariaLabelledBy,
1282
+ 'aria-orientation': vertical ? 'vertical' : 'horizontal',
1283
+ 'aria-activedescendant': focused ? focusedItemId : null,
1284
+ id: idState + '_list',
670
1285
  role: 'menubar'
671
1286
  }, ptm('menu'));
672
- if (props.model) {
673
- return /*#__PURE__*/React__namespace.createElement("ul", menuProps, props.model.map(function (item, index) {
1287
+ if (processedItems) {
1288
+ return /*#__PURE__*/React__namespace.createElement("ul", menuProps, processedItems.map(function (item, index) {
674
1289
  return createCategory(item, index);
675
1290
  }));
676
1291
  }
@@ -697,13 +1312,17 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
697
1312
  return null;
698
1313
  };
699
1314
  var createMenuButton = function createMenuButton() {
700
- if (props.orientation === 'vertical' || props.model && props.model.length < 1) {
1315
+ if (vertical || props.model && props.model.length < 1) {
701
1316
  return null;
702
1317
  }
703
1318
  var menuButtonProps = utils.mergeProps({
704
1319
  className: cx('menuButton'),
705
1320
  href: '#',
706
1321
  role: 'button',
1322
+ 'aria-haspopup': props.model && props.model.length > 0 ? true : false,
1323
+ 'aria-expanded': mobileActiveState,
1324
+ 'aria-controls': idState,
1325
+ 'aria-label': PrimeReact.ariaLabel('navigation'),
707
1326
  tabIndex: 0,
708
1327
  onClick: function onClick(e) {
709
1328
  return toggle(e);
@@ -726,6 +1345,7 @@ var MegaMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace
726
1345
  className: utils.classNames(props.className, cx('root', {
727
1346
  mobileActiveState: mobileActiveState
728
1347
  })),
1348
+ id: idState,
729
1349
  style: props.style
730
1350
  }, MegaMenuBase.getOtherProps(props), ptm('root'));
731
1351
  var menu = createMenu();