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
@@ -81,6 +81,10 @@ this.primereact.megamenu = (function (exports, React, PrimeReact, componentbase,
81
81
  return obj;
82
82
  }
83
83
 
84
+ function _readOnlyError(name) {
85
+ throw new TypeError("\"" + name + "\" is read-only");
86
+ }
87
+
84
88
  function _arrayWithHoles(arr) {
85
89
  if (Array.isArray(arr)) return arr;
86
90
  }
@@ -146,7 +150,8 @@ this.primereact.megamenu = (function (exports, React, PrimeReact, componentbase,
146
150
  'p-megamenu-mobile-active': mobileActiveState
147
151
  });
148
152
  },
149
- separator: 'p-menu-separator',
153
+ content: 'p-menuitem-content',
154
+ separator: 'p-menuitem-separator',
150
155
  submenuIcon: 'p-submenu-icon',
151
156
  action: function action(_ref2) {
152
157
  var item = _ref2.item;
@@ -154,20 +159,29 @@ this.primereact.megamenu = (function (exports, React, PrimeReact, componentbase,
154
159
  'p-disabled': item.disabled
155
160
  });
156
161
  },
157
- submenuItem: 'p-menuitem',
158
- submenuHeader: function submenuHeader(_ref3) {
159
- var submenu = _ref3.submenu;
160
- return utils.classNames('p-megamenu-submenu-header', {
161
- 'p-disabled': submenu.disabled
162
+ submenuItem: function submenuItem(_ref3) {
163
+ var focused = _ref3.focused,
164
+ disabled = _ref3.disabled,
165
+ active = _ref3.active;
166
+ return utils.classNames('p-menuitem', {
167
+ 'p-menuitem-active': active,
168
+ 'p-focus': focused,
169
+ 'p-disabled': disabled
162
170
  });
163
171
  },
164
- submenu: 'p-megamenu-submenu',
172
+ submenuHeader: function submenuHeader(_ref4) {
173
+ var disabled = _ref4.disabled;
174
+ return utils.classNames('p-megamenu-submenu-header p-submenu-header', {
175
+ 'p-disabled': disabled
176
+ });
177
+ },
178
+ submenu: 'p-submenu-list p-megamenu-submenu',
165
179
  panel: 'p-megamenu-panel',
166
180
  grid: 'p-megamenu-grid',
167
181
  icon: 'p-menuitem-icon',
168
182
  label: 'p-menuitem-text',
169
- column: function column(_ref4) {
170
- var category = _ref4.category;
183
+ column: function column(_ref5) {
184
+ var category = _ref5.category;
171
185
  var length = category.items ? category.items.length : 0;
172
186
  var columnClass;
173
187
  switch (length) {
@@ -189,18 +203,16 @@ this.primereact.megamenu = (function (exports, React, PrimeReact, componentbase,
189
203
  }
190
204
  return columnClass;
191
205
  },
192
- headerAction: function headerAction(_ref5) {
193
- var category = _ref5.category;
194
- return utils.classNames('p-menuitem-link', {
195
- 'p-disabled': category.disabled
196
- });
197
- },
198
206
  menuButton: 'p-megamenu-button',
199
207
  menuitem: function menuitem(_ref6) {
200
208
  var category = _ref6.category,
201
- activeItemState = _ref6.activeItemState;
209
+ activeItemState = _ref6.activeItemState,
210
+ focused = _ref6.focused,
211
+ disabled = _ref6.disabled;
202
212
  return utils.classNames('p-menuitem', {
203
- 'p-menuitem-active': category === activeItemState
213
+ 'p-menuitem-active p-highlight': activeItemState && activeItemState.item === category,
214
+ 'p-focus': focused,
215
+ 'p-disabled': disabled
204
216
  });
205
217
  },
206
218
  menubar: 'p-megamenu-root-list',
@@ -208,7 +220,7 @@ this.primereact.megamenu = (function (exports, React, PrimeReact, componentbase,
208
220
  start: 'p-megamenu-start',
209
221
  end: 'p-megamenu-end'
210
222
  };
211
- 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
+ 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";
212
224
  var MegaMenuBase = componentbase.ComponentBase.extend({
213
225
  defaultProps: {
214
226
  __TYPE: 'MegaMenu',
@@ -221,6 +233,9 @@ this.primereact.megamenu = (function (exports, React, PrimeReact, componentbase,
221
233
  scrollHeight: '400px',
222
234
  start: null,
223
235
  submenuIcon: null,
236
+ onFocus: null,
237
+ onBlur: null,
238
+ tabIndex: 0,
224
239
  menuIcon: null,
225
240
  end: null,
226
241
  children: undefined
@@ -246,13 +261,48 @@ this.primereact.megamenu = (function (exports, React, PrimeReact, componentbase,
246
261
  setActiveItemState = _React$useState4[1];
247
262
  var _React$useState5 = React__namespace.useState(null),
248
263
  _React$useState6 = _slicedToArray(_React$useState5, 2),
249
- attributeSelectorState = _React$useState6[0],
250
- setAttributeSelectorState = _React$useState6[1];
251
- var _React$useState7 = React__namespace.useState(false),
264
+ focused = _React$useState6[0],
265
+ setFocused = _React$useState6[1];
266
+ var _React$useState7 = React__namespace.useState({
267
+ index: -1,
268
+ key: '',
269
+ parentKey: ''
270
+ }),
252
271
  _React$useState8 = _slicedToArray(_React$useState7, 2),
253
- mobileActiveState = _React$useState8[0],
254
- setMobileActiveState = _React$useState8[1];
272
+ focusedItemInfo = _React$useState8[0],
273
+ setFocusedItemInfo = _React$useState8[1];
274
+ var _React$useState9 = React__namespace.useState(null),
275
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
276
+ focusedItemId = _React$useState10[0],
277
+ setFocusedItemId = _React$useState10[1];
278
+ var _React$useState11 = React__namespace.useState(false),
279
+ _React$useState12 = _slicedToArray(_React$useState11, 2),
280
+ dirty = _React$useState12[0],
281
+ setDirty = _React$useState12[1];
282
+ var _React$useState13 = React__namespace.useState(null),
283
+ _React$useState14 = _slicedToArray(_React$useState13, 2),
284
+ processedItems = _React$useState14[0],
285
+ setProcessedItems = _React$useState14[1];
286
+ var _React$useState15 = React__namespace.useState([]),
287
+ _React$useState16 = _slicedToArray(_React$useState15, 2),
288
+ visibleItems = _React$useState16[0],
289
+ setVisibleItems = _React$useState16[1];
290
+ var _React$useState17 = React__namespace.useState(null),
291
+ _React$useState18 = _slicedToArray(_React$useState17, 2),
292
+ attributeSelectorState = _React$useState18[0],
293
+ setAttributeSelectorState = _React$useState18[1];
294
+ var _React$useState19 = React__namespace.useState(false),
295
+ _React$useState20 = _slicedToArray(_React$useState19, 2),
296
+ mobileActiveState = _React$useState20[0],
297
+ setMobileActiveState = _React$useState20[1];
298
+ var _React$useState21 = React__namespace.useState(false),
299
+ _React$useState22 = _slicedToArray(_React$useState21, 2),
300
+ focusTrigger = _React$useState22[0],
301
+ setFocusTrigger = _React$useState22[1];
302
+ var searchValue = React__namespace.useRef('');
303
+ var searchTimeout = React__namespace.useRef(null);
255
304
  var elementRef = React__namespace.useRef(null);
305
+ var menubarRef = React__namespace.useRef(null);
256
306
  var styleElementRef = React__namespace.useRef(null);
257
307
  var menuButtonRef = React__namespace.useRef(null);
258
308
  var horizontal = props.orientation === 'horizontal';
@@ -262,7 +312,7 @@ this.primereact.megamenu = (function (exports, React, PrimeReact, componentbase,
262
312
  props: props,
263
313
  state: {
264
314
  id: idState,
265
- activeItem: activeItemState,
315
+ activeItem: activeItemState && activeItemState.item,
266
316
  attributeSelector: attributeSelectorState,
267
317
  mobileActive: mobileActiveState
268
318
  }
@@ -273,11 +323,13 @@ this.primereact.megamenu = (function (exports, React, PrimeReact, componentbase,
273
323
  componentbase.useHandleStyle(MegaMenuBase.css.styles, isUnstyled, {
274
324
  name: 'megamenu'
275
325
  });
276
- var getPTOptions = function getPTOptions(item, key, index) {
326
+ var getPTOptions = function getPTOptions(processedItem, key, index) {
277
327
  return ptm(key, {
278
328
  context: {
279
- active: activeItemState === item,
280
- item: item,
329
+ active: isItemActive(processedItem),
330
+ focused: isItemFocused(processedItem),
331
+ disabled: isItemDisabled(processedItem),
332
+ item: processedItem,
281
333
  index: index
282
334
  }
283
335
  });
@@ -285,128 +337,181 @@ this.primereact.megamenu = (function (exports, React, PrimeReact, componentbase,
285
337
  var _useEventListener = hooks.useEventListener({
286
338
  type: 'click',
287
339
  listener: function listener(event) {
288
- if ((!isMobileMode || mobileActiveState) && isOutsideClicked(event)) {
289
- setActiveItemState(null);
290
- setMobileActiveState(false);
340
+ if (isOutsideClicked(event)) {
341
+ hide();
291
342
  }
292
343
  }
293
344
  }),
294
- _useEventListener2 = _slicedToArray(_useEventListener, 1),
295
- bindDocumentClickListener = _useEventListener2[0];
345
+ _useEventListener2 = _slicedToArray(_useEventListener, 2),
346
+ bindDocumentClickListener = _useEventListener2[0],
347
+ unbindDocumentClickListener = _useEventListener2[1];
296
348
  var _useResizeListener = hooks.useResizeListener({
349
+ type: 'resize',
297
350
  listener: function listener() {
298
- if (!isMobileMode || mobileActiveState) {
299
- setActiveItemState(null);
300
- setMobileActiveState(false);
301
- }
351
+ hide();
302
352
  }
303
353
  }),
304
- _useResizeListener2 = _slicedToArray(_useResizeListener, 1),
305
- bindDocumentResizeListener = _useResizeListener2[0];
306
- var onLeafClick = function onLeafClick(event, item) {
354
+ _useResizeListener2 = _slicedToArray(_useResizeListener, 2),
355
+ bindDocumentResizeListener = _useResizeListener2[0],
356
+ unbindDocumentResizeListener = _useResizeListener2[1];
357
+ var bindListeners = function bindListeners() {
358
+ bindDocumentClickListener();
359
+ bindDocumentResizeListener();
360
+ };
361
+ var unbindListeners = function unbindListeners() {
362
+ unbindDocumentClickListener();
363
+ unbindDocumentResizeListener();
364
+ };
365
+ var onLeafClick = function onLeafClick(event) {
366
+ var originalEvent = event.originalEvent,
367
+ processedItem = event.processedItem;
368
+ var item = processedItem.item;
307
369
  if (item.disabled) {
308
- event.preventDefault();
370
+ originalEvent.preventDefault();
309
371
  return;
310
372
  }
311
373
  if (!item.url) {
312
- event.preventDefault();
374
+ originalEvent.preventDefault();
313
375
  }
314
376
  if (item.command) {
315
377
  item.command({
316
- originalEvent: event,
378
+ originalEvent: originalEvent,
317
379
  item: item
318
380
  });
319
381
  }
320
- setActiveItemState(null);
321
- setMobileActiveState(false);
322
- };
323
- var onCategoryMouseEnter = function onCategoryMouseEnter(event, item) {
324
- if (item.disabled || isMobileMode) {
325
- event.preventDefault();
326
- return;
382
+ var grouped = isProccessedItemGroup(processedItem);
383
+ var selected = isSelected(processedItem);
384
+ if (selected) {
385
+ var index = processedItem.index,
386
+ key = processedItem.key,
387
+ parentKey = processedItem.parentKey;
388
+ setActiveItemState(null);
389
+ setFocusedItemInfo({
390
+ index: index,
391
+ key: key,
392
+ parentKey: parentKey
393
+ });
394
+ } else {
395
+ if (grouped) {
396
+ onItemChange(event);
397
+ } else {
398
+ var rootProcessedItemIndex = activeItemState ? activeItemState.index : -1;
399
+ var rootProcessedItemKey = activeItemState ? activeItemState.key : '';
400
+ hide(originalEvent);
401
+ setFocusedItemInfo({
402
+ index: rootProcessedItemIndex,
403
+ key: rootProcessedItemKey,
404
+ parentKey: ''
405
+ });
406
+ setMobileActiveState(false);
407
+ }
327
408
  }
328
- if (activeItemState) {
329
- setActiveItemState(item);
409
+ };
410
+ var onItemChange = function onItemChange(event) {
411
+ var processedItem = event.processedItem,
412
+ isFocus = event.isFocus;
413
+ if (utils.ObjectUtils.isEmpty(processedItem)) return;
414
+ var index = processedItem.index,
415
+ key = processedItem.key,
416
+ parentKey = processedItem.parentKey,
417
+ items = processedItem.items;
418
+ var grouped = utils.ObjectUtils.isNotEmpty(items);
419
+ grouped && setActiveItemState(processedItem);
420
+ setFocusedItemInfo({
421
+ index: index,
422
+ key: key,
423
+ parentKey: parentKey
424
+ });
425
+ grouped && setDirty(true);
426
+ isFocus && utils.DomHandler.focus(menubarRef.current);
427
+ };
428
+ var onCategoryMouseEnter = function onCategoryMouseEnter(event) {
429
+ if (!mobileActiveState && dirty) {
430
+ onItemChange(event);
330
431
  }
331
432
  };
332
- var onCategoryClick = function onCategoryClick(event, item) {
433
+ var onCategoryClick = function onCategoryClick(event) {
434
+ var originalEvent = event.originalEvent,
435
+ processedItem = event.processedItem;
436
+ var item = processedItem.item;
333
437
  if (item.disabled) {
334
- event.preventDefault();
438
+ originalEvent.preventDefault();
335
439
  return;
336
440
  }
337
441
  if (!item.url) {
338
- event.preventDefault();
442
+ originalEvent.preventDefault();
339
443
  }
340
444
  if (item.command) {
341
445
  item.command({
342
- originalEvent: event,
446
+ originalEvent: originalEvent,
343
447
  item: props.item
344
448
  });
345
- event.preventDefault();
449
+ originalEvent.preventDefault();
346
450
  }
347
- if (item.items) {
348
- activeItemState && activeItemState === item ? setActiveItemState(null) : setActiveItemState(item);
349
- event.preventDefault();
451
+ var grouped = isProccessedItemGroup(processedItem);
452
+ var root = utils.ObjectUtils.isEmpty(processedItem.parent);
453
+ var selected = isSelected(processedItem);
454
+ if (selected) {
455
+ var index = processedItem.index,
456
+ key = processedItem.key,
457
+ parentKey = processedItem.parentKey;
458
+ setActiveItemState(null);
459
+ setFocusedItemInfo({
460
+ index: index,
461
+ key: key,
462
+ parentKey: parentKey
463
+ });
464
+ setDirty(!root);
465
+ } else {
466
+ if (grouped) {
467
+ onItemChange(event);
468
+ } else {
469
+ var rootProcessedItem = root ? processedItem : activeItemState;
470
+ hide();
471
+ changeFocusedItemInfo(originalEvent, rootProcessedItem ? rootProcessedItem.index : -1);
472
+ setMobileActiveState(false);
473
+ utils.DomHandler.focus(menubarRef.current);
474
+ }
350
475
  }
351
476
  };
352
- var onCategoryKeyDown = function onCategoryKeyDown(event, item) {
353
- var listItem = event.currentTarget.parentElement;
354
- switch (event.which) {
355
- //down
356
- case 40:
357
- horizontal ? expandMenu(item) : navigateToNextItem(listItem);
358
- event.preventDefault();
359
- break;
360
-
361
- //up
362
- case 38:
363
- vertical ? navigateToPrevItem(listItem) : item.items && item === activeItemState && collapseMenu();
364
- event.preventDefault();
365
- break;
366
-
367
- //right
368
- case 39:
369
- horizontal ? navigateToNextItem(listItem) : expandMenu(item);
370
- event.preventDefault();
371
- break;
372
-
373
- //left
374
- case 37:
375
- horizontal ? navigateToPrevItem(listItem) : item.items && item === activeItemState && collapseMenu();
376
- event.preventDefault();
377
- break;
378
- }
477
+ var show = function show() {
478
+ setFocusedItemInfo({
479
+ index: findFirstFocusedItemIndex(),
480
+ level: 0,
481
+ parentKey: ''
482
+ });
379
483
  };
380
- var expandMenu = function expandMenu(item) {
381
- if (item.items) {
382
- setActiveItemState(item);
484
+ var hide = function hide(isFocus) {
485
+ if (mobileActiveState) {
486
+ setMobileActiveState(false);
487
+ setTimeout(function () {
488
+ utils.DomHandler.focus(menuButtonRef.current);
489
+ }, 0);
383
490
  }
384
- };
385
- var collapseMenu = function collapseMenu(item) {
386
491
  setActiveItemState(null);
492
+ if (isFocus) {
493
+ setFocusedItemInfo({
494
+ index: -1,
495
+ key: '',
496
+ parentKey: ''
497
+ });
498
+ utils.DomHandler.focus(menubarRef.current);
499
+ }
500
+ setDirty(false);
387
501
  };
388
502
  var toggle = function toggle(event) {
389
503
  event.preventDefault();
390
- setMobileActiveState(function (prevMobileActive) {
391
- return !prevMobileActive;
392
- });
393
- setActiveItemState(null);
394
- };
395
- var findNextItem = function findNextItem(item) {
396
- var nextItem = item.nextElementSibling;
397
- return nextItem ? utils.DomHandler.getAttribute(nextItem, '[data-p-disabled="true"]') || !utils.DomHandler.getAttribute(nextItem, '[data-pc-section="menuitem"]') ? findNextItem(nextItem) : nextItem : null;
398
- };
399
- var findPrevItem = function findPrevItem(item) {
400
- var prevItem = item.previousElementSibling;
401
- return prevItem ? utils.DomHandler.getAttribute(prevItem, '[data-p-disabled="true"]') || !utils.DomHandler.getAttribute(prevItem, '[data-pc-section="menuitem"]') ? findPrevItem(prevItem) : prevItem : null;
402
- };
403
- var navigateToNextItem = function navigateToNextItem(listItem) {
404
- var nextItem = findNextItem(listItem);
405
- nextItem && nextItem.children[0].focus();
406
- };
407
- var navigateToPrevItem = function navigateToPrevItem(listItem) {
408
- var prevItem = findPrevItem(listItem);
409
- prevItem && prevItem.children[0].focus();
504
+ if (mobileActiveState) {
505
+ setMobileActiveState(false);
506
+ utils.ZIndexUtils.clear(menubarRef.current);
507
+ hide();
508
+ } else {
509
+ setMobileActiveState(true);
510
+ utils.ZIndexUtils.set('menu', menubarRef.current, context && context.autoZIndex || PrimeReact__default["default"].autoZIndex, context && context.zIndex['menu'] || PrimeReact__default["default"].zIndex['menu']);
511
+ setTimeout(function () {
512
+ show();
513
+ }, 1);
514
+ }
410
515
  };
411
516
  var isOutsideClicked = function isOutsideClicked(event) {
412
517
  return elementRef.current && !(elementRef.current.isSameNode(event.target) || elementRef.current.contains(event.target) || menuButtonRef.current && menuButtonRef.current.contains(event.target));
@@ -425,13 +530,39 @@ this.primereact.megamenu = (function (exports, React, PrimeReact, componentbase,
425
530
  if (props.breakpoint) {
426
531
  !attributeSelectorState && setAttributeSelectorState(uniqueId);
427
532
  }
428
- bindDocumentClickListener();
429
- bindDocumentResizeListener();
430
533
  });
534
+ hooks.useUpdateEffect(function () {
535
+ if (attributeSelectorState && elementRef.current) {
536
+ elementRef.current.setAttribute(attributeSelectorState, '');
537
+ createStyle();
538
+ }
539
+ return function () {
540
+ destroyStyle();
541
+ };
542
+ }, [attributeSelectorState, props.breakpoint]);
543
+ hooks.useUpdateEffect(function () {
544
+ if (mobileActiveState) {
545
+ bindListeners();
546
+ } else {
547
+ unbindListeners();
548
+ }
549
+ }, [mobileActiveState]);
550
+ hooks.useUpdateEffect(function () {
551
+ if (focusTrigger) {
552
+ var itemIndex = focusedItemInfo.index !== -1 ? findNextItemIndex(focusedItemInfo.index) : findFirstFocusedItemIndex();
553
+ changeFocusedItemInfo(itemIndex);
554
+ setFocusTrigger(false);
555
+ }
556
+ }, [focusTrigger]);
431
557
  hooks.useUpdateEffect(function () {
432
558
  var currentPanel = utils.DomHandler.findSingle(elementRef.current, '.p-menuitem-active > .p-megamenu-panel');
433
- if (activeItemState && !isMobileMode) {
434
- utils.ZIndexUtils.set('menu', currentPanel, context && context.autoZIndex || PrimeReact__default["default"].autoZIndex, context && context.zIndex['menu'] || PrimeReact__default["default"].zIndex['menu']);
559
+ if (activeItemState) {
560
+ bindListeners();
561
+ if (!isMobileMode) {
562
+ utils.ZIndexUtils.set('menu', currentPanel, context && context.autoZIndex || PrimeReact__default["default"].autoZIndex, context && context.zIndex['menu'] || PrimeReact__default["default"].zIndex['menu']);
563
+ }
564
+ } else {
565
+ unbindListeners();
435
566
  }
436
567
  if (isMobileMode) {
437
568
  currentPanel && currentPanel.previousElementSibling.scrollIntoView({
@@ -440,9 +571,442 @@ this.primereact.megamenu = (function (exports, React, PrimeReact, componentbase,
440
571
  });
441
572
  }
442
573
  return function () {
574
+ unbindListeners();
443
575
  utils.ZIndexUtils.clear(currentPanel);
444
576
  };
445
- }, [activeItemState]);
577
+ }, [activeItemState, isMobileMode]);
578
+ hooks.useUpdateEffect(function () {
579
+ var _focusedItemId = utils.ObjectUtils.isNotEmpty(focusedItemInfo.key) ? "".concat(idState, "_").concat(focusedItemInfo.key) : null;
580
+ setFocusedItemId(_focusedItemId);
581
+ }, [focusedItemInfo]);
582
+ React__namespace.useEffect(function () {
583
+ var itemsToProcess = props.model || [];
584
+ var processed = createProcessedItems(itemsToProcess, 0, null, '');
585
+ setProcessedItems(processed);
586
+ // eslint-disable-next-line react-hooks/exhaustive-deps
587
+ }, [props.model]);
588
+ hooks.useUpdateEffect(function () {
589
+ var processedItem = utils.ObjectUtils.isNotEmpty(activeItemState) ? activeItemState : null;
590
+ var _visibleItems = processedItem && processedItem.key === focusedItemInfo.parentKey ? processedItem.items.reduce(function (items, col) {
591
+ col.forEach(function (submenu) {
592
+ submenu.items.forEach(function (a) {
593
+ items.push(a);
594
+ });
595
+ });
596
+ return items;
597
+ }, []) : processedItems;
598
+ setVisibleItems(_visibleItems);
599
+ }, [focusedItemInfo, activeItemState, processedItems]);
600
+ var onFocus = function onFocus(event) {
601
+ setFocused(true);
602
+ if (focusedItemInfo.index === -1) {
603
+ var index = findFirstFocusedItemIndex();
604
+ var processedItem = findVisibleItem(index);
605
+ setFocusedItemInfo({
606
+ index: index,
607
+ key: processedItem.key,
608
+ parentKey: processedItem.parentKey
609
+ });
610
+ }
611
+ props.onFocus && props.onFocus(event);
612
+ };
613
+ var onBlur = function onBlur(event) {
614
+ setFocused(false);
615
+ setFocusedItemInfo({
616
+ index: -1,
617
+ key: '',
618
+ parentKey: ''
619
+ });
620
+ searchValue.current = '';
621
+ setDirty(false);
622
+ props.onBlur && props.onBlur(event);
623
+ };
624
+ var onKeyDown = function onKeyDown(event) {
625
+ var metaKey = event.metaKey || event.ctrlKey;
626
+ switch (event.code) {
627
+ case 'ArrowDown':
628
+ onArrowDownKey(event);
629
+ break;
630
+ case 'ArrowUp':
631
+ onArrowUpKey(event);
632
+ break;
633
+ case 'ArrowLeft':
634
+ onArrowLeftKey(event);
635
+ break;
636
+ case 'ArrowRight':
637
+ onArrowRightKey(event);
638
+ break;
639
+ case 'Home':
640
+ onHomeKey(event);
641
+ break;
642
+ case 'End':
643
+ onEndKey(event);
644
+ break;
645
+ case 'Space':
646
+ onSpaceKey(event);
647
+ break;
648
+ case 'Enter':
649
+ onEnterKey(event);
650
+ break;
651
+ case 'Escape':
652
+ onEscapeKey(event);
653
+ break;
654
+ case 'Tab':
655
+ onTabKey(event);
656
+ break;
657
+ case 'PageDown':
658
+ case 'PageUp':
659
+ case 'Backspace':
660
+ case 'ShiftLeft':
661
+ case 'ShiftRight':
662
+ //NOOP
663
+ break;
664
+ default:
665
+ if (!metaKey && utils.ObjectUtils.isPrintableCharacter(event.key)) {
666
+ searchItems(event, event.key);
667
+ }
668
+ break;
669
+ }
670
+ };
671
+ var onArrowDownKey = function onArrowDownKey(event) {
672
+ event.preventDefault();
673
+ if (horizontal) {
674
+ var _focusedItemInfo = focusedItemInfo;
675
+ if (utils.ObjectUtils.isNotEmpty(activeItemState) && activeItemState.key === focusedItemInfo.key) {
676
+ (({
677
+ index: -1,
678
+ key: '',
679
+ parentKey: activeItemState.key
680
+ })), _readOnlyError("_focusedItemInfo");
681
+ setFocusedItemInfo(_focusedItemInfo);
682
+ } else {
683
+ var processedItem = findVisibleItem(focusedItemInfo.index);
684
+ var grouped = isProccessedItemGroup(processedItem);
685
+ if (grouped) {
686
+ onItemChange({
687
+ originalEvent: event,
688
+ processedItem: processedItem
689
+ });
690
+ (({
691
+ index: -1,
692
+ key: processedItem.key,
693
+ parentKey: processedItem.parentKey
694
+ })), _readOnlyError("_focusedItemInfo");
695
+ setFocusedItemInfo(_focusedItemInfo);
696
+ searchValue.current = '';
697
+ }
698
+ }
699
+ setTimeout(function () {
700
+ return setFocusTrigger(true);
701
+ }, 0);
702
+ } else {
703
+ var itemIndex = focusedItemInfo.index !== -1 ? findNextItemIndex(focusedItemInfo.index) : findFirstFocusedItemIndex();
704
+ changeFocusedItemInfo(itemIndex);
705
+ }
706
+ };
707
+ var onArrowUpKey = function onArrowUpKey(event) {
708
+ var processedItem = findVisibleItem(focusedItemInfo.index);
709
+ var grouped = isProccessedItemGroup(processedItem);
710
+ if (event.altKey && horizontal) {
711
+ if (focusedItemInfo.index !== -1) {
712
+ if (!grouped && utils.ObjectUtils.isNotEmpty(activeItemState)) {
713
+ if (focusedItemInfo.index === 0) {
714
+ setFocusedItemInfo({
715
+ index: activeItemState.index,
716
+ key: activeItemState.key,
717
+ parentKey: activeItemState.parentKey
718
+ });
719
+ setActiveItemState(null);
720
+ } else {
721
+ changeFocusedItemInfo(findFirstItemIndex());
722
+ }
723
+ }
724
+ }
725
+ } else {
726
+ var itemIndex = focusedItemInfo.index !== -1 ? findPrevItemIndex(focusedItemInfo.index) : findLastFocusedItemIndex();
727
+ changeFocusedItemInfo(itemIndex);
728
+ }
729
+ event.preventDefault();
730
+ };
731
+ var onArrowLeftKey = function onArrowLeftKey(event) {
732
+ var processedItem = findVisibleItem(focusedItemInfo.index);
733
+ var grouped = isProccessedItemGroup(processedItem);
734
+ if (grouped) {
735
+ if (horizontal) {
736
+ var itemIndex = focusedItemInfo.index !== -1 ? findPrevItemIndex(focusedItemInfo.index) : findLastFocusedItemIndex();
737
+ changeFocusedItemInfo(itemIndex);
738
+ }
739
+ } else {
740
+ if (vertical && utils.ObjectUtils.isNotEmpty(activeItemState)) {
741
+ if (processedItem.columnIndex === 0) {
742
+ setFocusedItemInfo({
743
+ index: activeItemState.index,
744
+ key: activeItemState.key,
745
+ parentKey: activeItemState.parentKey
746
+ });
747
+ setActiveItemState(null);
748
+ }
749
+ }
750
+ var columnIndex = processedItem.columnIndex - 1;
751
+ var _itemIndex = visibleItems.findIndex(function (item) {
752
+ return item.columnIndex === columnIndex;
753
+ });
754
+ _itemIndex !== -1 && changeFocusedItemInfo(_itemIndex);
755
+ }
756
+ event.preventDefault();
757
+ };
758
+ var onArrowRightKey = function onArrowRightKey(event) {
759
+ event.preventDefault();
760
+ var processedItem = findVisibleItem(focusedItemInfo.index);
761
+ var grouped = isProccessedItemGroup(processedItem);
762
+ if (grouped) {
763
+ if (vertical) {
764
+ if (utils.ObjectUtils.isNotEmpty(activeItemState) && activeItemState.key === processedItem.key) {
765
+ setFocusedItemInfo({
766
+ index: -1,
767
+ key: '',
768
+ parentKey: activeItemState.key
769
+ });
770
+ } else {
771
+ var _processedItem = findVisibleItem(focusedItemInfo.index);
772
+ var _grouped = isProccessedItemGroup(_processedItem);
773
+ if (_grouped) {
774
+ onItemChange({
775
+ originalEvent: event,
776
+ processedItem: _processedItem
777
+ });
778
+ setFocusedItemInfo({
779
+ index: -1,
780
+ key: _processedItem.key,
781
+ parentKey: _processedItem.parentKey
782
+ });
783
+ searchValue.current = '';
784
+ }
785
+ }
786
+ }
787
+ setTimeout(function () {
788
+ return setFocusTrigger(true);
789
+ }, 0);
790
+ } else {
791
+ var columnIndex = processedItem.columnIndex + 1;
792
+ var itemIndex = visibleItems.findIndex(function (item) {
793
+ return item.columnIndex === columnIndex;
794
+ });
795
+ itemIndex !== -1 && changeFocusedItemInfo(itemIndex);
796
+ }
797
+ };
798
+ var onHomeKey = function onHomeKey(event) {
799
+ changeFocusedItemInfo(findFirstItemIndex());
800
+ event.preventDefault();
801
+ };
802
+ var onEndKey = function onEndKey(event) {
803
+ changeFocusedItemInfo(findLastItemIndex());
804
+ event.preventDefault();
805
+ };
806
+ var onEnterKey = function onEnterKey(event) {
807
+ if (focusedItemInfo.index !== -1) {
808
+ var element = utils.DomHandler.findSingle(menubarRef.current, "li[id=\"".concat(focusedItemId, "\"]"));
809
+ var anchorElement = element && utils.DomHandler.findSingle(element, 'a[data-pc-section="action"]');
810
+ anchorElement ? anchorElement.click() : element && element.click();
811
+ }
812
+ event.preventDefault();
813
+ };
814
+ var onSpaceKey = function onSpaceKey(event) {
815
+ onEnterKey(event);
816
+ };
817
+ var onEscapeKey = function onEscapeKey(event) {
818
+ if (utils.ObjectUtils.isNotEmpty(activeItemState)) {
819
+ setFocusedItemInfo({
820
+ index: activeItemState.index,
821
+ key: activeItemState.key
822
+ });
823
+ setActiveItemState(null);
824
+ }
825
+ event.preventDefault();
826
+ };
827
+ var onTabKey = function onTabKey(event) {
828
+ if (focusedItemInfo.index !== -1) {
829
+ var processedItem = findVisibleItem(focusedItemInfo.index);
830
+ var grouped = isProccessedItemGroup(processedItem);
831
+ !grouped && onItemChange({
832
+ originalEvent: event,
833
+ processedItem: processedItem
834
+ });
835
+ }
836
+ hide();
837
+ };
838
+ var isItemMatched = function isItemMatched(processedItem) {
839
+ var label = getProccessedItemLabel(processedItem);
840
+ return isValidItem(processedItem) && label && label.toLocaleLowerCase().startsWith(searchValue.current.toLocaleLowerCase());
841
+ };
842
+ var isValidItem = function isValidItem(processedItem) {
843
+ return !!processedItem && !isItemDisabled(processedItem.item) && !isItemSeparator(processedItem.item);
844
+ };
845
+ var isValidSelectedItem = function isValidSelectedItem(processedItem) {
846
+ return isValidItem(processedItem) && isSelected(processedItem);
847
+ };
848
+ var isSelected = function isSelected(processedItem) {
849
+ return utils.ObjectUtils.isNotEmpty(activeItemState) ? activeItemState.key === processedItem.key : false;
850
+ };
851
+ var findFirstItemIndex = function findFirstItemIndex() {
852
+ return visibleItems.findIndex(function (processedItem) {
853
+ return isValidItem(processedItem);
854
+ });
855
+ };
856
+ var findLastItemIndex = function findLastItemIndex() {
857
+ return utils.ObjectUtils.findLastIndex(visibleItems, function (processedItem) {
858
+ return isValidItem(processedItem);
859
+ });
860
+ };
861
+ var findNextItemIndex = function findNextItemIndex(index) {
862
+ var matchedItemIndex = index < visibleItems.length - 1 ? visibleItems.slice(index + 1).findIndex(function (processedItem) {
863
+ return isValidItem(processedItem);
864
+ }) : -1;
865
+ return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;
866
+ };
867
+ var findPrevItemIndex = function findPrevItemIndex(index) {
868
+ var matchedItemIndex = index > 0 ? utils.ObjectUtils.findLastIndex(visibleItems.slice(0, index), function (processedItem) {
869
+ return isValidItem(processedItem);
870
+ }) : -1;
871
+ return matchedItemIndex > -1 ? matchedItemIndex : index;
872
+ };
873
+ var findSelectedItemIndex = function findSelectedItemIndex() {
874
+ return visibleItems && visibleItems.findIndex(function (processedItem) {
875
+ return isValidSelectedItem(processedItem);
876
+ });
877
+ };
878
+ var findFirstFocusedItemIndex = function findFirstFocusedItemIndex() {
879
+ var selectedIndex = findSelectedItemIndex();
880
+ return selectedIndex < 0 ? findFirstItemIndex() : selectedIndex;
881
+ };
882
+ var findLastFocusedItemIndex = function findLastFocusedItemIndex() {
883
+ var selectedIndex = findSelectedItemIndex();
884
+ return selectedIndex < 0 ? findLastItemIndex() : selectedIndex;
885
+ };
886
+ var findVisibleItem = function findVisibleItem(index) {
887
+ return utils.ObjectUtils.isNotEmpty(visibleItems) ? visibleItems[index] : null;
888
+ };
889
+ var getProccessedItemLabel = function getProccessedItemLabel(processedItem) {
890
+ return processedItem && processedItem.item ? getItemLabel(processedItem) : undefined;
891
+ };
892
+ var searchItems = function searchItems(event, _char) {
893
+ searchValue.current = (searchValue.current || '') + _char;
894
+ var itemIndex = -1;
895
+ var matched = false;
896
+ if (focusedItemInfo.index !== -1) {
897
+ itemIndex = visibleItems.slice(focusedItemInfo.index).findIndex(function (processedItem) {
898
+ return isItemMatched(processedItem);
899
+ });
900
+ itemIndex = itemIndex === -1 ? visibleItems.slice(0, focusedItemInfo.index).findIndex(function (processedItem) {
901
+ return isItemMatched(processedItem);
902
+ }) : itemIndex + focusedItemInfo.index;
903
+ } else {
904
+ itemIndex = visibleItems.findIndex(function (processedItem) {
905
+ return isItemMatched(processedItem);
906
+ });
907
+ }
908
+ if (itemIndex !== -1) {
909
+ matched = true;
910
+ }
911
+ if (itemIndex === -1 && focusedItemInfo.index === -1) {
912
+ itemIndex = findFirstFocusedItemIndex();
913
+ }
914
+ if (itemIndex !== -1) {
915
+ changeFocusedItemInfo(itemIndex);
916
+ }
917
+ if (searchTimeout) {
918
+ clearTimeout(searchTimeout);
919
+ }
920
+ searchTimeout.current = setTimeout(function () {
921
+ searchValue.current = '';
922
+ searchTimeout.current = null;
923
+ }, 500);
924
+ return matched;
925
+ };
926
+ var changeFocusedItemInfo = function changeFocusedItemInfo(index) {
927
+ var processedItem = findVisibleItem(index);
928
+ var key = utils.ObjectUtils.isNotEmpty(processedItem) ? processedItem.key : '';
929
+ setFocusedItemInfo(_objectSpread(_objectSpread({}, focusedItemInfo), {}, {
930
+ index: index,
931
+ key: key
932
+ }));
933
+ scrollInView();
934
+ };
935
+ var scrollInView = function scrollInView() {
936
+ var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
937
+ var id = index !== -1 ? "".concat(idState, "_").concat(index) : focusedItemId;
938
+ var element = utils.DomHandler.findSingle(menubarRef.current, "li[id=\"".concat(id, "\"]"));
939
+ if (element) {
940
+ element.scrollIntoView && element.scrollIntoView({
941
+ block: 'nearest',
942
+ inline: 'start'
943
+ });
944
+ }
945
+ };
946
+ var getItemId = function getItemId(processedItem) {
947
+ return "".concat(idState, "_").concat(processedItem.key);
948
+ };
949
+ var getItemProp = function getItemProp(processedItem, name, params) {
950
+ return processedItem && processedItem.item ? utils.ObjectUtils.getItemValue(processedItem.item[name], params) : undefined;
951
+ };
952
+ var getItemLabel = function getItemLabel(processedItem) {
953
+ return getItemProp(processedItem, 'label');
954
+ };
955
+ var isItemActive = function isItemActive(processedItem) {
956
+ return utils.ObjectUtils.isNotEmpty(activeItemState) ? activeItemState.key === processedItem.key : false;
957
+ };
958
+ var isItemVisible = function isItemVisible(processedItem) {
959
+ return getItemProp(processedItem, 'visible') !== false;
960
+ };
961
+ var isItemDisabled = function isItemDisabled(processedItem) {
962
+ return getItemProp(processedItem, 'disabled');
963
+ };
964
+ var isItemFocused = function isItemFocused(processedItem) {
965
+ return focusedItemId === getItemId(processedItem);
966
+ };
967
+ var isItemGroup = function isItemGroup(processedItem) {
968
+ return utils.ObjectUtils.isNotEmpty(processedItem.items);
969
+ };
970
+ var isItemSeparator = function isItemSeparator(item) {
971
+ return getItemProp(item, 'separator');
972
+ };
973
+ var isProccessedItemGroup = function isProccessedItemGroup(processedItem) {
974
+ return processedItem && utils.ObjectUtils.isNotEmpty(processedItem.items);
975
+ };
976
+ var getAriaSetSize = function getAriaSetSize() {
977
+ return props.model.filter(function (processedItem) {
978
+ return isItemVisible(processedItem) && !getItemProp(processedItem, 'separator');
979
+ }).length;
980
+ };
981
+ var getAriaPosInset = function getAriaPosInset(index) {
982
+ return index - props.model.slice(0, index).filter(function (processedItem) {
983
+ return isItemVisible(processedItem) && getItemProp(processedItem, 'separator');
984
+ }).length + 1;
985
+ };
986
+ var createProcessedItems = function createProcessedItems(items) {
987
+ var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
988
+ var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
989
+ var parentKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
990
+ var columnIndex = arguments.length > 4 ? arguments[4] : undefined;
991
+ var _processedItems = [];
992
+ items && items.forEach(function (item, index) {
993
+ var key = (parentKey !== '' ? parentKey + '_' : '') + (columnIndex !== undefined ? columnIndex + '_' : '') + index;
994
+ var newItem = {
995
+ item: item,
996
+ index: index,
997
+ level: level,
998
+ key: key,
999
+ parent: parent,
1000
+ parentKey: parentKey,
1001
+ columnIndex: columnIndex !== undefined ? columnIndex : parent && parent.columnIndex !== undefined ? parent.columnIndex : index
1002
+ };
1003
+ newItem['items'] = level === 0 && item.items && item.items.length > 0 ? item.items.map(function (_items, _index) {
1004
+ return createProcessedItems(_items, level + 1, newItem, key, _index);
1005
+ }) : createProcessedItems(item.items, level + 1, newItem, key);
1006
+ _processedItems.push(newItem);
1007
+ });
1008
+ return _processedItems;
1009
+ };
446
1010
  var createSeparator = function createSeparator(index) {
447
1011
  var key = idState + '_separator__' + index;
448
1012
  var separatorProps = utils.mergeProps({
@@ -466,14 +1030,15 @@ this.primereact.megamenu = (function (exports, React, PrimeReact, componentbase,
466
1030
  }
467
1031
  return null;
468
1032
  };
469
- var createSubmenuItem = function createSubmenuItem(item, index) {
1033
+ var createSubmenuItem = function createSubmenuItem(processedItem, index) {
1034
+ var item = processedItem.item;
470
1035
  if (item.visible === false) {
471
1036
  return null;
472
1037
  }
473
1038
  if (item.separator) {
474
1039
  return createSeparator(index);
475
1040
  } else {
476
- var key = item.id || idState + '_' + index;
1041
+ var key = getItemId(processedItem);
477
1042
  var linkClassName = utils.classNames('p-menuitem-link', {
478
1043
  'p-disabled': item.disabled
479
1044
  });
@@ -494,25 +1059,46 @@ this.primereact.megamenu = (function (exports, React, PrimeReact, componentbase,
494
1059
  item: item
495
1060
  }),
496
1061
  target: item.target,
497
- onClick: function onClick(event) {
498
- return onLeafClick(event, item);
499
- },
500
- role: 'menuitem',
501
- 'aria-disabled': item.disabled
502
- }, getPTOptions(item, 'action', index));
1062
+ tabIndex: '-1',
1063
+ 'aria-hidden': true
1064
+ }, getPTOptions(processedItem, 'action', index));
1065
+ var isFocused = isItemFocused(processedItem);
1066
+ var isDisabled = isItemDisabled(processedItem);
1067
+ var isGroup = isItemGroup(processedItem);
1068
+ var isActive = isItemActive(processedItem);
503
1069
  var submenuItemProps = utils.mergeProps({
504
1070
  key: key,
505
1071
  id: key,
506
- className: utils.classNames(item.className, cx('submenuItem')),
1072
+ 'aria-label': getItemLabel(processedItem),
1073
+ 'aria-disabled': isDisabled,
1074
+ 'aria-haspopup': isGroup ? 'menu' : undefined,
1075
+ 'aria-level': '2',
1076
+ 'aria-expanded': isGroup ? isActive : undefined,
1077
+ 'aria-setsize': getAriaSetSize(),
1078
+ 'aria-posinset': getAriaPosInset(index),
1079
+ 'data-p-highlight': isActive,
1080
+ 'data-p-disabled': isDisabled,
1081
+ 'data-p-focused': isFocused,
1082
+ className: utils.classNames(item.className, cx('submenuItem', {
1083
+ focused: isFocused,
1084
+ disabled: isDisabled,
1085
+ active: isActive
1086
+ })),
507
1087
  style: item.style,
508
- role: 'none'
509
- }, getPTOptions(item, 'submenuItem', index));
1088
+ role: 'menuitem'
1089
+ }, getPTOptions(processedItem, 'submenuItem', index));
1090
+ var contentProps = utils.mergeProps({
1091
+ onClick: function onClick(event) {
1092
+ return onLeafClick({
1093
+ originalEvent: event,
1094
+ processedItem: processedItem
1095
+ });
1096
+ },
1097
+ className: cx('content')
1098
+ }, getPTOptions(processedItem, 'content', index));
510
1099
  var content = /*#__PURE__*/React__namespace.createElement("a", actionProps, icon, label, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null));
511
1100
  if (item.template) {
512
1101
  var defaultContentOptions = {
513
- onClick: function onClick(event) {
514
- return onLeafClick(event, item);
515
- },
516
1102
  className: linkClassName,
517
1103
  labelClassName: 'p-menuitem-text',
518
1104
  iconClassName: iconClassName,
@@ -521,47 +1107,52 @@ this.primereact.megamenu = (function (exports, React, PrimeReact, componentbase,
521
1107
  };
522
1108
  content = utils.ObjectUtils.getJSXElement(item.template, item, defaultContentOptions);
523
1109
  }
524
- return /*#__PURE__*/React__namespace.createElement("li", submenuItemProps, content);
1110
+ return /*#__PURE__*/React__namespace.createElement("li", submenuItemProps, /*#__PURE__*/React__namespace.createElement("div", contentProps, content));
525
1111
  }
526
1112
  };
527
1113
  var createSubmenu = function createSubmenu(submenu, index) {
528
- if (submenu.visible === false) {
1114
+ if (!isItemVisible(submenu)) {
529
1115
  return null;
530
1116
  }
531
1117
  var items = submenu.items.map(createSubmenuItem);
532
1118
  var key = submenu.id || idState + '_sub_' + index;
1119
+ var label = getItemLabel(submenu);
1120
+ var isDisabled = isItemDisabled(submenu);
533
1121
  var submenuHeaderProps = utils.mergeProps({
534
1122
  id: key,
535
1123
  key: key,
536
1124
  className: utils.classNames(submenu.className, cx('submenuHeader', {
537
- submenu: submenu
1125
+ disabled: isDisabled
538
1126
  })),
539
1127
  style: submenu.style,
540
1128
  role: 'presentation',
541
- 'data-p-disabled': submenu.disabled
1129
+ 'data-p-disabled': isDisabled
542
1130
  }, ptm('submenuHeader'));
543
1131
  return /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, {
544
1132
  key: key
545
- }, /*#__PURE__*/React__namespace.createElement("li", submenuHeaderProps, submenu.label), items);
1133
+ }, /*#__PURE__*/React__namespace.createElement("li", submenuHeaderProps, label), items);
546
1134
  };
547
1135
  var createSubmenus = function createSubmenus(column) {
548
1136
  return column.map(createSubmenu);
549
1137
  };
550
- var createColumn = function createColumn(category, column, index) {
1138
+ var createColumn = function createColumn(processedItem, processedColumn, index) {
1139
+ var category = processedItem.item;
551
1140
  var key = category.label + '_column_' + index;
552
- var submenus = createSubmenus(column);
1141
+ var submenus = createSubmenus(processedColumn);
553
1142
  var columnProps = utils.mergeProps({
554
1143
  key: key,
555
1144
  className: cx('column', {
556
1145
  category: category
557
1146
  })
558
1147
  }, ptm('column'));
1148
+ var display = activeItemState && activeItemState.item === category ? 'block' : 'none';
559
1149
  var submenuProps = utils.mergeProps({
1150
+ role: 'menu',
1151
+ tabIndex: props.disabled ? null : props.tabIndex || '0',
560
1152
  className: cx('submenu'),
561
1153
  style: {
562
- display: activeItemState === category ? 'block' : 'none'
563
- },
564
- role: 'menu'
1154
+ display: display
1155
+ }
565
1156
  }, ptm('submenu'));
566
1157
  return /*#__PURE__*/React__namespace.createElement("div", columnProps, /*#__PURE__*/React__namespace.createElement("ul", submenuProps, submenus));
567
1158
  };
@@ -573,9 +1164,10 @@ this.primereact.megamenu = (function (exports, React, PrimeReact, componentbase,
573
1164
  }
574
1165
  return null;
575
1166
  };
576
- var createCategoryPanel = function createCategoryPanel(category) {
1167
+ var createCategoryPanel = function createCategoryPanel(processedItem) {
1168
+ var category = processedItem.item;
577
1169
  if (category.items) {
578
- var columns = createColumns(category);
1170
+ var columns = createColumns(processedItem);
579
1171
  var panelProps = utils.mergeProps({
580
1172
  className: cx('panel')
581
1173
  }, ptm('panel'));
@@ -588,7 +1180,7 @@ this.primereact.megamenu = (function (exports, React, PrimeReact, componentbase,
588
1180
  };
589
1181
  var createStyle = function createStyle() {
590
1182
  if (!styleElementRef.current) {
591
- styleElementRef.current = utils.DomHandler.createInlineStyle(context && context.nonce || PrimeReact__default["default"].nonce);
1183
+ styleElementRef.current = utils.DomHandler.createInlineStyle(context && context.nonce || PrimeReact__default["default"].nonce, context && context.styleContainer);
592
1184
  var selector = "".concat(attributeSelectorState);
593
1185
  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");
594
1186
  styleElementRef.current.innerHTML = innerHTML;
@@ -597,69 +1189,92 @@ this.primereact.megamenu = (function (exports, React, PrimeReact, componentbase,
597
1189
  var destroyStyle = function destroyStyle() {
598
1190
  styleElementRef.current = utils.DomHandler.removeInlineStyle(styleElementRef.current);
599
1191
  };
600
- hooks.useUpdateEffect(function () {
601
- if (attributeSelectorState && elementRef.current) {
602
- elementRef.current.setAttribute(attributeSelectorState, '');
603
- createStyle();
604
- }
605
- return function () {
606
- destroyStyle();
607
- };
608
- }, [attributeSelectorState, props.breakpoint]);
609
- var createCategory = function createCategory(category, index) {
1192
+ var createCategory = function createCategory(processedItem, index) {
1193
+ var category = processedItem.item;
610
1194
  var iconProps = utils.mergeProps({
611
1195
  className: cx('icon')
612
- }, getPTOptions(category, 'icon', index));
1196
+ }, getPTOptions(processedItem, 'icon', index));
613
1197
  var icon = utils.IconUtils.getJSXIcon(category.icon, _objectSpread({}, iconProps), {
614
1198
  props: props
615
1199
  });
616
1200
  var labelProps = utils.mergeProps({
617
1201
  className: cx('label')
618
- }, getPTOptions(category, 'label', index));
1202
+ }, getPTOptions(processedItem, 'label', index));
619
1203
  var label = category.label && /*#__PURE__*/React__namespace.createElement("span", labelProps, category.label);
620
- var itemContent = category.template ? utils.ObjectUtils.getJSXElement(category.template, category) : null;
621
1204
  var submenuIcon = createSubmenuIcon(category);
622
- var panel = createCategoryPanel(category);
1205
+ var panel = createCategoryPanel(processedItem);
623
1206
  var headerActionProps = utils.mergeProps({
624
1207
  href: category.url || '#',
625
- className: cx('headerAction', {
626
- category: category
1208
+ className: cx('action', {
1209
+ item: category
627
1210
  }),
628
1211
  target: category.target,
629
- onClick: function onClick(e) {
630
- return onCategoryClick(e, category);
631
- },
632
- onKeyDown: function onKeyDown(e) {
633
- return onCategoryKeyDown(e, category);
1212
+ onFocus: function onFocus(event) {
1213
+ return event.stopPropagation();
634
1214
  },
635
- role: 'menuitem',
636
- 'aria-haspopup': category.items != null,
637
- 'data-p-disabled': category.disabled
638
- }, getPTOptions(category, 'headerAction', index));
639
- var key = category.id || idState + '_cat_' + index;
640
- var menuItemProps = utils.mergeProps({
1215
+ tabIndex: '-1',
1216
+ 'aria-hidden': true
1217
+ }, getPTOptions(processedItem, 'action', index));
1218
+ 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));
1219
+ var key = getItemId(processedItem);
1220
+ var isFocused = isItemFocused(processedItem);
1221
+ var isDisabled = isItemDisabled(processedItem);
1222
+ var menuItemProps = utils.mergeProps(_defineProperty({
641
1223
  key: key,
642
1224
  id: key,
643
1225
  className: utils.classNames(category.className, cx('menuitem', {
644
1226
  category: category,
645
- activeItemState: activeItemState
1227
+ activeItemState: activeItemState,
1228
+ focused: isFocused,
1229
+ disabled: isDisabled
646
1230
  })),
1231
+ 'aria-label': getItemLabel(category),
1232
+ 'aria-level': '1',
1233
+ 'aria-setsize': getAriaSetSize(),
1234
+ 'aria-posinset': getAriaPosInset(index),
1235
+ 'aria-expanded': isItemGroup(processedItem) ? isItemActive(processedItem) : undefined,
1236
+ 'aria-haspopup': isItemGroup(processedItem) ? 'menu' : undefined,
1237
+ 'aria-disabled': isItemDisabled(processedItem),
1238
+ 'data-p-highlight': isItemActive(category),
1239
+ 'data-p-disabled': isDisabled,
1240
+ 'data-p-focused': isFocused,
647
1241
  style: category.style,
1242
+ role: 'menuitem'
1243
+ }, "data-p-disabled", category.disabled || false), getPTOptions(processedItem, 'menuitem', index));
1244
+ var contentProps = utils.mergeProps({
1245
+ onClick: function onClick(event) {
1246
+ return onCategoryClick({
1247
+ originalEvent: event,
1248
+ processedItem: processedItem
1249
+ });
1250
+ },
648
1251
  onMouseEnter: function onMouseEnter(e) {
649
- return onCategoryMouseEnter(e, category);
1252
+ return onCategoryMouseEnter({
1253
+ originalEvent: e,
1254
+ processedItem: processedItem
1255
+ });
650
1256
  },
651
- role: 'none',
652
- 'data-p-disabled': category.disabled || false
653
- }, getPTOptions(category, 'menuitem', index));
654
- 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);
1257
+ className: cx('content')
1258
+ }, getPTOptions(processedItem, 'content', index));
1259
+ return /*#__PURE__*/React__namespace.createElement("li", menuItemProps, /*#__PURE__*/React__namespace.createElement("div", contentProps, itemContent), panel);
655
1260
  };
656
1261
  var createMenu = function createMenu() {
657
1262
  var menuProps = utils.mergeProps({
1263
+ ref: menubarRef,
1264
+ tabIndex: props.disabled ? null : props.tabIndex || '0',
658
1265
  className: cx('menu'),
1266
+ onFocus: onFocus,
1267
+ onBlur: onBlur,
1268
+ onKeyDown: onKeyDown,
1269
+ 'aria-label': props.ariaLabel,
1270
+ 'aria-labelledby': props.ariaLabelledBy,
1271
+ 'aria-orientation': vertical ? 'vertical' : 'horizontal',
1272
+ 'aria-activedescendant': focused ? focusedItemId : null,
1273
+ id: idState + '_list',
659
1274
  role: 'menubar'
660
1275
  }, ptm('menu'));
661
- if (props.model) {
662
- return /*#__PURE__*/React__namespace.createElement("ul", menuProps, props.model.map(function (item, index) {
1276
+ if (processedItems) {
1277
+ return /*#__PURE__*/React__namespace.createElement("ul", menuProps, processedItems.map(function (item, index) {
663
1278
  return createCategory(item, index);
664
1279
  }));
665
1280
  }
@@ -686,13 +1301,17 @@ this.primereact.megamenu = (function (exports, React, PrimeReact, componentbase,
686
1301
  return null;
687
1302
  };
688
1303
  var createMenuButton = function createMenuButton() {
689
- if (props.orientation === 'vertical' || props.model && props.model.length < 1) {
1304
+ if (vertical || props.model && props.model.length < 1) {
690
1305
  return null;
691
1306
  }
692
1307
  var menuButtonProps = utils.mergeProps({
693
1308
  className: cx('menuButton'),
694
1309
  href: '#',
695
1310
  role: 'button',
1311
+ 'aria-haspopup': props.model && props.model.length > 0 ? true : false,
1312
+ 'aria-expanded': mobileActiveState,
1313
+ 'aria-controls': idState,
1314
+ 'aria-label': PrimeReact.ariaLabel('navigation'),
696
1315
  tabIndex: 0,
697
1316
  onClick: function onClick(e) {
698
1317
  return toggle(e);
@@ -715,6 +1334,7 @@ this.primereact.megamenu = (function (exports, React, PrimeReact, componentbase,
715
1334
  className: utils.classNames(props.className, cx('root', {
716
1335
  mobileActiveState: mobileActiveState
717
1336
  })),
1337
+ id: idState,
718
1338
  style: props.style
719
1339
  }, MegaMenuBase.getOtherProps(props), ptm('root'));
720
1340
  var menu = createMenu();