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
@@ -131,27 +131,31 @@ this.primereact.menubar = (function (exports, React, PrimeReact, componentbase,
131
131
  'p-menubar-mobile-active': mobileActiveState
132
132
  });
133
133
  },
134
- separator: 'p-menu-separator',
134
+ separator: 'p-menuitem-separator',
135
135
  icon: 'p-menuitem-icon',
136
136
  label: 'p-menuitem-text',
137
137
  submenuIcon: 'p-submenu-icon',
138
138
  menuitem: function menuitem(_ref2) {
139
- var item = _ref2.item,
140
- activeItemState = _ref2.activeItemState;
139
+ var active = _ref2.active,
140
+ focused = _ref2.focused,
141
+ disabled = _ref2.disabled;
141
142
  return utils.classNames('p-menuitem', {
142
- 'p-menuitem-active': activeItemState === item
143
+ 'p-menuitem-active p-highlight': active,
144
+ 'p-focus': focused,
145
+ 'p-disabled': disabled
143
146
  });
144
147
  },
145
148
  menu: 'p-menubar-root-list',
149
+ content: 'p-menuitem-content',
146
150
  submenu: 'p-submenu-list',
147
151
  action: function action(_ref3) {
148
- var item = _ref3.item;
152
+ var disabled = _ref3.disabled;
149
153
  return utils.classNames('p-menuitem-link', {
150
- 'p-disabled': item.disabled
154
+ 'p-disabled': disabled
151
155
  });
152
156
  }
153
157
  };
154
- var styles = "\n@layer primereact {\n .p-menubar {\n display: flex;\n align-items: center;\n }\n \n .p-menubar ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n \n .p-menubar .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-menubar .p-menuitem-text {\n line-height: 1;\n }\n \n .p-menubar .p-menuitem {\n position: relative;\n }\n \n .p-menubar-root-list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n }\n \n .p-menubar-root-list > li ul {\n display: none;\n z-index: 1;\n }\n \n .p-menubar-root-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n }\n \n .p-menubar .p-submenu-list {\n display: none;\n position: absolute;\n z-index: 1;\n }\n \n .p-menubar .p-submenu-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n left: 100%;\n top: 0;\n }\n \n .p-menubar .p-submenu-list .p-menuitem-link .p-submenu-icon {\n margin-left: auto;\n }\n \n .p-menubar .p-menubar-custom,\n .p-menubar .p-menubar-end {\n margin-left: auto;\n align-self: center;\n }\n \n .p-menubar-button {\n display: none;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n }\n}\n";
158
+ var styles = "\n@layer primereact {\n .p-menubar {\n display: flex;\n align-items: center;\n }\n\n .p-menubar ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-menubar .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-menubar .p-menuitem-text {\n line-height: 1;\n }\n\n .p-menubar .p-menuitem {\n position: relative;\n }\n\n .p-menubar-root-list {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n }\n\n .p-menubar-root-list > li ul {\n display: none;\n z-index: 1;\n }\n\n .p-menubar-root-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n }\n\n .p-menubar .p-submenu-list {\n display: none;\n position: absolute;\n z-index: 1;\n }\n\n .p-menubar .p-submenu-list > .p-menuitem-active > .p-submenu-list {\n display: block;\n left: 100%;\n top: 0;\n }\n\n .p-menubar .p-submenu-list .p-menuitem .p-menuitem-content .p-menuitem-link .p-submenu-icon {\n margin-left: auto;\n }\n\n .p-menubar .p-menubar-end {\n margin-left: auto;\n align-self: center;\n }\n\n .p-menubar-button {\n display: none;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n text-decoration: none;\n }\n}\n";
155
159
  var MenubarBase = componentbase.ComponentBase.extend({
156
160
  defaultProps: {
157
161
  __TYPE: 'Menubar',
@@ -160,6 +164,10 @@ this.primereact.menubar = (function (exports, React, PrimeReact, componentbase,
160
164
  style: null,
161
165
  className: null,
162
166
  start: null,
167
+ ariaLabel: null,
168
+ ariaLabelledBy: null,
169
+ onFocus: null,
170
+ onBlur: null,
163
171
  submenuIcon: null,
164
172
  menuIcon: null,
165
173
  end: null,
@@ -174,46 +182,35 @@ this.primereact.menubar = (function (exports, React, PrimeReact, componentbase,
174
182
  function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
175
183
  function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
176
184
  var MenubarSub = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.forwardRef(function (props, ref) {
177
- var _React$useState = React__namespace.useState(null),
178
- _React$useState2 = _slicedToArray(_React$useState, 2),
179
- activeItemState = _React$useState2[0],
180
- setActiveItemState = _React$useState2[1];
181
185
  var ptm = props.ptm,
182
186
  cx = props.cx;
183
- var getPTOptions = function getPTOptions(item, key) {
187
+ var getPTOptions = function getPTOptions(processedItem, key, index) {
184
188
  return ptm(key, {
185
189
  props: props,
186
190
  hostName: props.hostName,
187
191
  context: {
188
- active: activeItemState === item
192
+ item: processedItem,
193
+ index: index,
194
+ active: isItemActive(processedItem),
195
+ focused: isItemFocused(processedItem),
196
+ disabled: isItemDisabled(processedItem),
197
+ level: props.level
189
198
  }
190
199
  });
191
200
  };
192
- var _useEventListener = hooks.useEventListener({
193
- type: 'click',
194
- listener: function listener(event) {
195
- if (ref && ref.current && !ref.current.contains(event.target)) {
196
- setActiveItemState(null);
197
- }
198
- }
199
- }),
200
- _useEventListener2 = _slicedToArray(_useEventListener, 1),
201
- bindDocumentClickListener = _useEventListener2[0];
202
201
  var onItemMouseEnter = function onItemMouseEnter(event, item) {
203
- if (item.disabled || props.mobileActive) {
202
+ if (isItemDisabled(item) || props.mobileActive) {
204
203
  event.preventDefault();
205
204
  return;
206
205
  }
207
- if (props.root) {
208
- if (activeItemState || props.popup) {
209
- setActiveItemState(item);
210
- }
211
- } else {
212
- setActiveItemState(item);
213
- }
206
+ props.onItemMouseEnter && props.onItemMouseEnter({
207
+ originalEvent: event,
208
+ processedItem: item
209
+ });
214
210
  };
215
- var onItemClick = function onItemClick(event, item) {
216
- if (item.disabled) {
211
+ var onItemClick = function onItemClick(event, processedItem) {
212
+ var item = processedItem.item;
213
+ if (isItemDisabled(processedItem)) {
217
214
  event.preventDefault();
218
215
  return;
219
216
  }
@@ -226,91 +223,48 @@ this.primereact.menubar = (function (exports, React, PrimeReact, componentbase,
226
223
  item: item
227
224
  });
228
225
  }
229
- if (item.items) activeItemState && item === activeItemState ? setActiveItemState(null) : setActiveItemState(item);else onLeafClick();
226
+ onLeafClick({
227
+ originalEvent: event,
228
+ processedItem: processedItem,
229
+ isFocus: true
230
+ });
230
231
  };
231
- var onItemKeyDown = function onItemKeyDown(event, item) {
232
- var listItem = event.currentTarget.parentElement;
233
- switch (event.which) {
234
- //down
235
- case 40:
236
- if (props.root) item.items && expandSubmenu(item, listItem);else navigateToNextItem(listItem);
237
- event.preventDefault();
238
- break;
239
-
240
- //up
241
- case 38:
242
- !props.root && navigateToPrevItem(listItem);
243
- event.preventDefault();
244
- break;
245
-
246
- //right
247
- case 39:
248
- if (props.root) {
249
- var nextItem = findNextItem(listItem);
250
- nextItem && nextItem.children[0].focus();
251
- } else {
252
- item.items && expandSubmenu(item, listItem);
253
- }
254
- event.preventDefault();
255
- break;
256
-
257
- //left
258
- case 37:
259
- props.root && navigateToPrevItem(listItem);
260
- event.preventDefault();
261
- break;
262
- }
263
- props.onKeyDown && props.onKeyDown(event, listItem);
232
+ var onLeafClick = function onLeafClick(event) {
233
+ props.onLeafClick && props.onLeafClick(event);
264
234
  };
265
- var onChildItemKeyDown = function onChildItemKeyDown(event, childListItem) {
266
- if (props.root) {
267
- //up
268
- if (event.which === 38 && childListItem.previousElementSibling == null) {
269
- collapseMenu(childListItem);
270
- }
271
- } else {
272
- //left
273
- if (event.which === 37) {
274
- collapseMenu(childListItem);
275
- }
276
- }
235
+ var getItemId = function getItemId(processedItem) {
236
+ return "".concat(props.id, "_").concat(processedItem.key);
277
237
  };
278
- var expandSubmenu = function expandSubmenu(item, listItem) {
279
- setActiveItemState(item);
280
- setTimeout(function () {
281
- listItem.children[1].children[0].children[0].focus();
282
- }, 50);
238
+ var getItemProp = function getItemProp(processedItem, name, params) {
239
+ return processedItem && processedItem.item ? utils.ObjectUtils.getItemValue(processedItem.item[name], params) : undefined;
283
240
  };
284
- var collapseMenu = function collapseMenu(listItem) {
285
- setActiveItemState(null);
286
- listItem.parentElement.previousElementSibling.focus();
241
+ var isItemActive = function isItemActive(processedItem) {
242
+ return props.activeItemPath.some(function (path) {
243
+ return path.key === processedItem.key;
244
+ });
287
245
  };
288
- var navigateToNextItem = function navigateToNextItem(listItem) {
289
- var nextItem = findNextItem(listItem);
290
- nextItem && nextItem.children[0].focus();
246
+ var isItemVisible = function isItemVisible(processedItem) {
247
+ return getItemProp(processedItem, 'visible') !== false;
291
248
  };
292
- var navigateToPrevItem = function navigateToPrevItem(listItem) {
293
- var prevItem = findPrevItem(listItem);
294
- prevItem && prevItem.children[0].focus();
249
+ var isItemDisabled = function isItemDisabled(processedItem) {
250
+ return getItemProp(processedItem, 'disabled');
295
251
  };
296
- var findNextItem = function findNextItem(item) {
297
- var nextItem = item.nextElementSibling;
298
- return nextItem ? utils.DomHandler.getAttribute(nextItem, '[data-p-disabled="true"]') || !utils.DomHandler.getAttribute(nextItem, '[data-pc-section="menuitem"]') ? findNextItem(nextItem) : nextItem : null;
252
+ var isItemFocused = function isItemFocused(processedItem) {
253
+ return props.focusedItemId === getItemId(processedItem);
299
254
  };
300
- var findPrevItem = function findPrevItem(item) {
301
- var prevItem = item.previousElementSibling;
302
- return prevItem ? utils.DomHandler.getAttribute(prevItem, '[data-p-disabled="true"]') || !utils.DomHandler.getAttribute(prevItem, '[data-pc-section="menuitem"]') ? findPrevItem(prevItem) : prevItem : null;
255
+ var isItemGroup = function isItemGroup(processedItem) {
256
+ return utils.ObjectUtils.isNotEmpty(processedItem.items);
303
257
  };
304
- var onLeafClick = function onLeafClick() {
305
- setActiveItemState(null);
306
- props.onLeafClick && props.onLeafClick();
258
+ var getAriaSetSize = function getAriaSetSize() {
259
+ return props.model.filter(function (processedItem) {
260
+ return isItemVisible(processedItem) && !getItemProp(processedItem, 'separator');
261
+ }).length;
262
+ };
263
+ var getAriaPosInset = function getAriaPosInset(index) {
264
+ return index - props.model.slice(0, index).filter(function (processedItem) {
265
+ return isItemVisible(processedItem) && getItemProp(processedItem, 'separator');
266
+ }).length + 1;
307
267
  };
308
- hooks.useMountEffect(function () {
309
- bindDocumentClickListener();
310
- });
311
- hooks.useUpdateEffect(function () {
312
- !props.parentActive && setActiveItemState(null);
313
- }, [props.parentActive]);
314
268
  var createSeparator = function createSeparator(index) {
315
269
  var key = props.id + '_separator_' + index;
316
270
  var separatorProps = utils.mergeProps({
@@ -323,77 +277,80 @@ this.primereact.menubar = (function (exports, React, PrimeReact, componentbase,
323
277
  }));
324
278
  return /*#__PURE__*/React__namespace.createElement("li", separatorProps);
325
279
  };
326
- var createSubmenu = function createSubmenu(item, index) {
327
- if (item.items) {
280
+ var createSubmenu = function createSubmenu(processedItem) {
281
+ var items = processedItem && processedItem.items;
282
+ if (items) {
328
283
  return /*#__PURE__*/React__namespace.createElement(MenubarSub, {
329
- id: props.id + '_' + index,
284
+ id: props.id,
330
285
  hostName: props.hostName,
331
286
  menuProps: props.menuProps,
332
- model: item.items,
333
- mobileActive: props.mobileActive,
287
+ level: props.level + 1,
288
+ model: items,
289
+ activeItemPath: props.activeItemPath,
290
+ focusedItemId: props.focusedItemId,
334
291
  onLeafClick: onLeafClick,
335
- onKeyDown: onChildItemKeyDown,
336
- parentActive: item === activeItemState,
292
+ onItemMouseEnter: props.onItemMouseEnter,
337
293
  submenuIcon: props.submenuIcon,
338
294
  ptm: ptm,
295
+ style: {
296
+ display: isItemActive(processedItem) ? 'block' : 'none'
297
+ },
339
298
  cx: cx
340
299
  });
341
300
  }
342
301
  return null;
343
302
  };
344
- var createMenuitem = function createMenuitem(item, index) {
345
- if (item.visible === false) {
303
+ var createMenuitem = function createMenuitem(processedItem, index) {
304
+ var item = processedItem.item;
305
+ if (!isItemVisible(processedItem)) {
346
306
  return null;
347
307
  }
348
- var key = item.id || props.id + '_' + index;
308
+ var key = getItemId(processedItem);
309
+ var active = isItemActive(processedItem);
310
+ var focused = isItemFocused(processedItem);
311
+ var disabled = isItemDisabled(processedItem) || false;
312
+ var group = isItemGroup(processedItem);
349
313
  var linkClassName = utils.classNames('p-menuitem-link', {
350
- 'p-disabled': item.disabled
314
+ 'p-disabled': disabled
351
315
  });
352
- var iconClassName = utils.classNames('p-menuitem-icon', item.icon);
316
+ var iconClassName = utils.classNames('p-menuitem-icon', getItemProp(processedItem, 'icon'));
353
317
  var iconProps = utils.mergeProps({
354
318
  className: cx('icon')
355
- }, getPTOptions(item, 'icon'));
319
+ }, getPTOptions(processedItem, 'icon', index));
356
320
  var icon = utils.IconUtils.getJSXIcon(item.icon, _objectSpread$1({}, iconProps), {
357
321
  props: props.menuProps
358
322
  });
359
323
  var labelProps = utils.mergeProps({
360
324
  className: cx('label')
361
- }, getPTOptions(item, 'label'));
325
+ }, getPTOptions(processedItem, 'label', index));
362
326
  var label = item.label && /*#__PURE__*/React__namespace.createElement("span", labelProps, item.label);
327
+ var items = getItemProp(processedItem, 'items');
363
328
  var submenuIconClassName = 'p-submenu-icon';
364
329
  var submenuIconProps = utils.mergeProps({
365
330
  className: cx('submenuIcon')
366
- }, getPTOptions(item, 'submenuIcon'));
367
- var submenuIcon = item.items && utils.IconUtils.getJSXIcon(!props.root ? props.submenuIcon || /*#__PURE__*/React__namespace.createElement(angleright.AngleRightIcon, submenuIconProps) : props.submenuIcon || /*#__PURE__*/React__namespace.createElement(angledown.AngleDownIcon, submenuIconProps), _objectSpread$1({}, submenuIconProps), {
331
+ }, getPTOptions(processedItem, 'submenuIcon', index));
332
+ var submenuIcon = items && utils.IconUtils.getJSXIcon(!props.root ? props.submenuIcon || /*#__PURE__*/React__namespace.createElement(angleright.AngleRightIcon, submenuIconProps) : props.submenuIcon || /*#__PURE__*/React__namespace.createElement(angledown.AngleDownIcon, submenuIconProps), _objectSpread$1({}, submenuIconProps), {
368
333
  props: _objectSpread$1({
369
334
  menuProps: props.menuProps
370
335
  }, props)
371
336
  });
372
- var submenu = createSubmenu(item, index);
337
+ var submenu = createSubmenu(processedItem);
373
338
  var actionProps = utils.mergeProps({
374
339
  href: item.url || '#',
375
- role: 'menuitem',
340
+ tabIndex: '-1',
341
+ 'aria-hidden': 'true',
376
342
  className: cx('action', {
377
- item: item
343
+ disabled: disabled
378
344
  }),
379
- target: item.target,
380
- 'aria-haspopup': item.items != null,
381
- onClick: function onClick(event) {
382
- return onItemClick(event, item);
345
+ onFocus: function onFocus(event) {
346
+ return event.stopPropagation();
383
347
  },
384
- onKeyDown: function onKeyDown(event) {
385
- return onItemKeyDown(event, item);
386
- }
387
- }, getPTOptions(item, 'action'));
348
+ target: getItemProp(processedItem, 'target'),
349
+ 'aria-haspopup': items != null
350
+ }, getPTOptions(processedItem, 'action', index));
388
351
  var content = /*#__PURE__*/React__namespace.createElement("a", actionProps, icon, label, submenuIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null));
389
352
  if (item.template) {
390
353
  var defaultContentOptions = {
391
- onClick: function onClick(event) {
392
- return onItemClick(event, item);
393
- },
394
- onKeyDown: function onKeyDown(event) {
395
- return onItemKeyDown(event, item);
396
- },
397
354
  className: linkClassName,
398
355
  labelClassName: 'p-menuitem-text',
399
356
  iconClassName: iconClassName,
@@ -403,36 +360,59 @@ this.primereact.menubar = (function (exports, React, PrimeReact, componentbase,
403
360
  };
404
361
  content = utils.ObjectUtils.getJSXElement(item.template, item, defaultContentOptions);
405
362
  }
406
- var menuitemProps = utils.mergeProps({
407
- id: key,
408
- key: key,
409
- role: 'none',
410
- className: utils.classNames(item.className, cx('menuitem', {
411
- item: item,
412
- activeItemState: activeItemState
413
- })),
363
+ var contentProps = utils.mergeProps({
364
+ onClick: function onClick(event) {
365
+ return onItemClick(event, processedItem);
366
+ },
414
367
  onMouseEnter: function onMouseEnter(event) {
415
- return onItemMouseEnter(event, item);
368
+ return onItemMouseEnter(event, processedItem);
416
369
  },
417
- 'data-p-disabled': item.disabled || false
418
- }, getPTOptions(item, 'menuitem'));
419
- return /*#__PURE__*/React__namespace.createElement("li", menuitemProps, content, submenu);
370
+ className: cx('content')
371
+ }, getPTOptions(processedItem, 'content', index));
372
+ var itemClassName = getItemProp(processedItem, 'className');
373
+ var menuitemProps = utils.mergeProps(_defineProperty({
374
+ id: key,
375
+ key: key,
376
+ role: 'menuitem',
377
+ 'aria-label': item.label,
378
+ 'aria-disabled': disabled,
379
+ 'aria-expanded': group ? active : undefined,
380
+ 'aria-haspopup': group && !item.url ? 'menu' : undefined,
381
+ 'aria-level': props.level + 1,
382
+ 'aria-setsize': getAriaSetSize(),
383
+ 'aria-posinset': getAriaPosInset(index),
384
+ 'data-p-highlight': active,
385
+ 'data-p-focused': focused,
386
+ 'data-p-disabled': disabled,
387
+ className: utils.classNames(itemClassName, cx('menuitem', {
388
+ active: active,
389
+ focused: focused,
390
+ disabled: disabled
391
+ }))
392
+ }, "data-p-disabled", disabled || false), getPTOptions(processedItem, 'menuitem', index));
393
+ return /*#__PURE__*/React__namespace.createElement("li", menuitemProps, /*#__PURE__*/React__namespace.createElement("div", contentProps, content), submenu);
420
394
  };
421
- var createItem = function createItem(item, index) {
422
- return item.separator ? createSeparator(index) : createMenuitem(item, index);
395
+ var createItem = function createItem(processedItem, index) {
396
+ return getItemProp(processedItem, 'separator') ? createSeparator(index) : createMenuitem(processedItem, index);
423
397
  };
424
398
  var createMenu = function createMenu() {
425
399
  return props.model ? props.model.map(createItem) : null;
426
400
  };
427
401
  var role = props.root ? 'menubar' : 'menu';
428
402
  var ptKey = props.root ? 'menu' : 'submenu';
403
+ var tabIndex = props.root ? '0' : null;
429
404
  var submenu = createMenu();
430
405
  var menuProps = utils.mergeProps({
431
406
  ref: ref,
432
407
  className: cx(ptKey),
433
- style: !props.root && {
434
- display: props.parentActive ? 'block' : 'none'
435
- },
408
+ level: props.level,
409
+ onFocus: props.onFocus,
410
+ onBlur: props.onBlur,
411
+ onKeyDown: props.onKeyDown,
412
+ id: props.id,
413
+ tabIndex: tabIndex,
414
+ 'aria-activedescendant': props.ariaActivedescendant,
415
+ style: props.style,
436
416
  role: role
437
417
  }, ptm(ptKey));
438
418
  return /*#__PURE__*/React__namespace.createElement("ul", menuProps, submenu);
@@ -452,9 +432,48 @@ this.primereact.menubar = (function (exports, React, PrimeReact, componentbase,
452
432
  _React$useState4 = _slicedToArray(_React$useState3, 2),
453
433
  mobileActiveState = _React$useState4[0],
454
434
  setMobileActiveState = _React$useState4[1];
435
+ var _React$useState5 = React__namespace.useState(false),
436
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
437
+ focused = _React$useState6[0],
438
+ setFocused = _React$useState6[1];
439
+ var _React$useState7 = React__namespace.useState({
440
+ index: -1,
441
+ level: 0,
442
+ parentKey: ''
443
+ }),
444
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
445
+ focusedItemInfo = _React$useState8[0],
446
+ setFocusedItemInfo = _React$useState8[1];
447
+ var _React$useState9 = React__namespace.useState(null),
448
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
449
+ focusedItemId = _React$useState10[0],
450
+ setFocusedItemId = _React$useState10[1];
451
+ var _React$useState11 = React__namespace.useState([]),
452
+ _React$useState12 = _slicedToArray(_React$useState11, 2),
453
+ activeItemPath = _React$useState12[0],
454
+ setActiveItemPath = _React$useState12[1];
455
+ var _React$useState13 = React__namespace.useState([]),
456
+ _React$useState14 = _slicedToArray(_React$useState13, 2),
457
+ visibleItems = _React$useState14[0],
458
+ setVisibleItems = _React$useState14[1];
459
+ var _React$useState15 = React__namespace.useState([]),
460
+ _React$useState16 = _slicedToArray(_React$useState15, 2),
461
+ processedItems = _React$useState16[0],
462
+ setProcessedItems = _React$useState16[1];
463
+ var _React$useState17 = React__namespace.useState(false),
464
+ _React$useState18 = _slicedToArray(_React$useState17, 2),
465
+ focusTrigger = _React$useState18[0],
466
+ setFocusTrigger = _React$useState18[1];
467
+ var _React$useState19 = React__namespace.useState(false),
468
+ _React$useState20 = _slicedToArray(_React$useState19, 2),
469
+ dirty = _React$useState20[0],
470
+ setDirty = _React$useState20[1];
455
471
  var elementRef = React__namespace.useRef(null);
456
472
  var rootMenuRef = React__namespace.useRef(null);
457
473
  var menuButtonRef = React__namespace.useRef(null);
474
+ var searchValue = React__namespace.useRef('');
475
+ var searchTimeout = React__namespace.useRef(null);
476
+ var reverseTrigger = React__namespace.useRef(false);
458
477
  var _MenubarBase$setMetaD = MenubarBase.setMetaData({
459
478
  props: props,
460
479
  state: {
@@ -471,26 +490,496 @@ this.primereact.menubar = (function (exports, React, PrimeReact, componentbase,
471
490
  var _useEventListener = hooks.useEventListener({
472
491
  type: 'click',
473
492
  listener: function listener(event) {
474
- if (mobileActiveState && isOutsideClicked(event)) {
475
- setMobileActiveState(false);
493
+ if (isOutsideClicked(event)) {
494
+ var isOutsideContainer = elementRef.current && !elementRef.current.contains(event.target);
495
+ if (isOutsideContainer) {
496
+ hide();
497
+ }
476
498
  }
477
499
  }
478
500
  }),
479
501
  _useEventListener2 = _slicedToArray(_useEventListener, 2),
480
- bindDocumentClickListener = _useEventListener2[0],
481
- unbindDocumentClickListener = _useEventListener2[1];
502
+ bindOutsideClickListener = _useEventListener2[0],
503
+ unbindOutsideClickListener = _useEventListener2[1];
504
+ var _useResizeListener = hooks.useResizeListener({
505
+ listener: function listener(event) {
506
+ if (!utils.DomHandler.isTouchDevice()) {
507
+ hide(event);
508
+ }
509
+ }
510
+ }),
511
+ _useResizeListener2 = _slicedToArray(_useResizeListener, 2),
512
+ bindResizeListener = _useResizeListener2[0],
513
+ unbindResizeListener = _useResizeListener2[1];
482
514
  var toggle = function toggle(event) {
515
+ if (mobileActiveState) {
516
+ setMobileActiveState(false);
517
+ hide();
518
+ } else {
519
+ setMobileActiveState(true);
520
+ setTimeout(function () {
521
+ show();
522
+ }, 1);
523
+ }
483
524
  event.preventDefault();
484
- setMobileActiveState(function (prevMobileActive) {
485
- return !prevMobileActive;
525
+ };
526
+ var show = function show() {
527
+ setFocusedItemInfo({
528
+ index: findFirstFocusedItemIndex(),
529
+ level: 0,
530
+ parentKey: ''
531
+ });
532
+ utils.DomHandler.focus(rootMenuRef.current);
533
+ };
534
+ var hide = function hide(isFocus) {
535
+ if (mobileActiveState) {
536
+ setMobileActiveState(false);
537
+ setTimeout(function () {
538
+ utils.DomHandler.focus(menuButtonRef.current);
539
+ }, 0);
540
+ }
541
+ setActiveItemPath([]);
542
+ setFocusedItemInfo({
543
+ index: -1,
544
+ level: 0,
545
+ parentKey: ''
486
546
  });
547
+ isFocus && utils.DomHandler.focus(rootMenuRef.current);
548
+ setDirty(false);
487
549
  };
488
- var onLeafClick = function onLeafClick() {
489
- setMobileActiveState(false);
550
+ var menuButtonKeydown = function menuButtonKeydown(event) {
551
+ (event.code === 'Enter' || event.code === 'Space') && toggle(event);
490
552
  };
491
553
  var isOutsideClicked = function isOutsideClicked(event) {
492
554
  return rootMenuRef.current !== event.target && !rootMenuRef.current.contains(event.target) && menuButtonRef.current !== event.target && !menuButtonRef.current.contains(event.target);
493
555
  };
556
+ var getItemProp = function getItemProp(item, name) {
557
+ return item ? utils.ObjectUtils.getItemValue(item[name]) : undefined;
558
+ };
559
+ var getItemLabel = function getItemLabel(item) {
560
+ return getItemProp(item, 'label');
561
+ };
562
+ var isItemDisabled = function isItemDisabled(item) {
563
+ return getItemProp(item, 'disabled');
564
+ };
565
+ var isItemSeparator = function isItemSeparator(item) {
566
+ return getItemProp(item, 'separator');
567
+ };
568
+ var getProccessedItemLabel = function getProccessedItemLabel(processedItem) {
569
+ return processedItem ? getItemLabel(processedItem.item) : undefined;
570
+ };
571
+ var isProccessedItemGroup = function isProccessedItemGroup(processedItem) {
572
+ return processedItem && utils.ObjectUtils.isNotEmpty(processedItem.items);
573
+ };
574
+ var onFocus = function onFocus(event) {
575
+ setFocused(true);
576
+ setFocusedItemInfo(focusedItemInfo.index !== -1 ? focusedItemInfo : {
577
+ index: findFirstFocusedItemIndex(),
578
+ level: 0,
579
+ parentKey: ''
580
+ });
581
+ props.onFocus && props.onFocus(event);
582
+ };
583
+ var onBlur = function onBlur(event) {
584
+ setFocused(false);
585
+ setFocusedItemInfo({
586
+ index: -1,
587
+ level: 0,
588
+ parentKey: ''
589
+ });
590
+ searchValue.current = '';
591
+ setDirty(false);
592
+ props.onBlur && props.onBlur(event);
593
+ };
594
+ var onKeyDown = function onKeyDown(event) {
595
+ var metaKey = event.metaKey || event.ctrlKey;
596
+ var code = event.code;
597
+ switch (code) {
598
+ case 'ArrowDown':
599
+ onArrowDownKey(event);
600
+ break;
601
+ case 'ArrowUp':
602
+ onArrowUpKey(event);
603
+ break;
604
+ case 'ArrowLeft':
605
+ onArrowLeftKey(event);
606
+ break;
607
+ case 'ArrowRight':
608
+ onArrowRightKey(event);
609
+ break;
610
+ case 'Home':
611
+ onHomeKey(event);
612
+ break;
613
+ case 'End':
614
+ onEndKey(event);
615
+ break;
616
+ case 'Space':
617
+ onSpaceKey(event);
618
+ break;
619
+ case 'Enter':
620
+ onEnterKey(event);
621
+ break;
622
+ case 'Escape':
623
+ onEscapeKey();
624
+ break;
625
+ case 'Tab':
626
+ onTabKey(event);
627
+ break;
628
+ case 'PageDown':
629
+ case 'PageUp':
630
+ case 'Backspace':
631
+ case 'ShiftLeft':
632
+ case 'ShiftRight':
633
+ break;
634
+ default:
635
+ if (!metaKey && utils.ObjectUtils.isPrintableCharacter(event.key)) {
636
+ searchItems(event, event.key);
637
+ }
638
+ break;
639
+ }
640
+ };
641
+ var onItemChange = function onItemChange(event) {
642
+ var processedItem = event.processedItem,
643
+ isFocus = event.isFocus;
644
+ if (utils.ObjectUtils.isEmpty(processedItem)) return;
645
+ var index = processedItem.index,
646
+ key = processedItem.key,
647
+ level = processedItem.level,
648
+ parentKey = processedItem.parentKey,
649
+ items = processedItem.items;
650
+ var grouped = utils.ObjectUtils.isNotEmpty(items);
651
+ var _activeItemPath = activeItemPath.filter(function (p) {
652
+ return p.parentKey !== parentKey && p.parentKey !== key;
653
+ });
654
+ grouped && _activeItemPath.push(processedItem);
655
+ setFocusedItemInfo({
656
+ index: index,
657
+ level: level,
658
+ parentKey: parentKey
659
+ });
660
+ setActiveItemPath(_activeItemPath);
661
+ grouped && setDirty(true);
662
+ isFocus && utils.DomHandler.focus(rootMenuRef.current);
663
+ };
664
+ var onItemClick = function onItemClick(event) {
665
+ var originalEvent = event.originalEvent,
666
+ processedItem = event.processedItem;
667
+ var grouped = isProccessedItemGroup(processedItem);
668
+ var root = utils.ObjectUtils.isEmpty(processedItem.parent);
669
+ var selected = isSelected(processedItem);
670
+ if (selected) {
671
+ var index = processedItem.index,
672
+ key = processedItem.key,
673
+ level = processedItem.level,
674
+ parentKey = processedItem.parentKey;
675
+ setActiveItemPath(activeItemPath.filter(function (p) {
676
+ return key !== p.key && key.startsWith(p.key);
677
+ }));
678
+ setFocusedItemInfo({
679
+ index: index,
680
+ level: level,
681
+ parentKey: parentKey
682
+ });
683
+ if (!grouped) {
684
+ setDirty(!root);
685
+ }
686
+ setTimeout(function () {
687
+ utils.DomHandler.focus(rootMenuRef.current);
688
+ if (grouped) {
689
+ setDirty(true);
690
+ }
691
+ }, 0);
692
+ } else {
693
+ if (grouped) {
694
+ utils.DomHandler.focus(rootMenuRef.current);
695
+ onItemChange({
696
+ originalEvent: originalEvent,
697
+ processedItem: processedItem
698
+ });
699
+ } else {
700
+ var rootProcessedItem = root ? processedItem : activeItemPath.find(function (p) {
701
+ return p.parentKey === '';
702
+ });
703
+ var rootProcessedItemIndex = rootProcessedItem ? rootProcessedItem.index : -1;
704
+ hide(originalEvent);
705
+ setFocusedItemInfo({
706
+ index: rootProcessedItemIndex,
707
+ parentKey: rootProcessedItem ? rootProcessedItem.parentKey : ''
708
+ });
709
+ setMobileActiveState(false);
710
+ }
711
+ }
712
+ };
713
+ var onItemMouseEnter = function onItemMouseEnter(event) {
714
+ if (!mobileActiveState && dirty) {
715
+ onItemChange(event);
716
+ }
717
+ };
718
+ var onArrowDownKey = function onArrowDownKey(event) {
719
+ var processedItem = visibleItems[focusedItemInfo.index];
720
+ var root = processedItem ? utils.ObjectUtils.isEmpty(processedItem.parent) : null;
721
+ if (root) {
722
+ var grouped = isProccessedItemGroup(processedItem);
723
+ if (grouped) {
724
+ onItemChange({
725
+ originalEvent: event,
726
+ processedItem: processedItem
727
+ });
728
+ setFocusedItemInfo({
729
+ index: -1,
730
+ parentKey: processedItem.key
731
+ });
732
+ setTimeout(function () {
733
+ return setFocusTrigger(true);
734
+ }, 0);
735
+ }
736
+ } else {
737
+ var itemIndex = focusedItemInfo.index !== -1 ? findNextItemIndex(focusedItemInfo.index) : findFirstFocusedItemIndex();
738
+ changeFocusedItemIndex(itemIndex);
739
+ }
740
+ event.preventDefault();
741
+ };
742
+ var onArrowUpKey = function onArrowUpKey(event) {
743
+ var processedItem = visibleItems[focusedItemInfo.index];
744
+ var root = utils.ObjectUtils.isEmpty(processedItem.parent);
745
+ if (root) {
746
+ var grouped = isProccessedItemGroup(processedItem);
747
+ if (grouped) {
748
+ onItemChange({
749
+ originalEvent: event,
750
+ processedItem: processedItem
751
+ });
752
+ setFocusedItemInfo({
753
+ index: -1,
754
+ parentKey: processedItem.key
755
+ });
756
+ reverseTrigger.current = true;
757
+ setTimeout(function () {
758
+ return setFocusTrigger(true);
759
+ }, 0);
760
+ }
761
+ } else {
762
+ var parentItem = activeItemPath.find(function (p) {
763
+ return p.key === processedItem.parentKey;
764
+ });
765
+ if (focusedItemInfo.index === 0 && parentItem && parentItem.parentKey === '') {
766
+ setFocusedItemInfo({
767
+ index: -1,
768
+ parentKey: parentItem ? parentItem.parentKey : ''
769
+ });
770
+ searchValue.current = '';
771
+ onArrowLeftKey(event);
772
+ } else {
773
+ var itemIndex = focusedItemInfo.index !== -1 ? findPrevItemIndex(focusedItemInfo.index) : findLastFocusedItemIndex();
774
+ changeFocusedItemIndex(itemIndex);
775
+ }
776
+ }
777
+ event.preventDefault();
778
+ };
779
+ var onArrowLeftKey = function onArrowLeftKey(event) {
780
+ var processedItem = visibleItems[focusedItemInfo.index];
781
+ var parentItem = processedItem ? activeItemPath.find(function (p) {
782
+ return p.key === processedItem.parentKey;
783
+ }) : null;
784
+ if (parentItem) {
785
+ onItemChange({
786
+ originalEvent: event,
787
+ processedItem: parentItem
788
+ });
789
+ setActiveItemPath(activeItemPath.filter(function (p) {
790
+ return p.key !== parentItem.key;
791
+ }));
792
+ } else {
793
+ var itemIndex = focusedItemInfo.index !== -1 ? findPrevItemIndex(focusedItemInfo.index) : findLastFocusedItemIndex();
794
+ changeFocusedItemIndex(itemIndex);
795
+ }
796
+ event.preventDefault();
797
+ };
798
+ var onArrowRightKey = function onArrowRightKey(event) {
799
+ var processedItem = visibleItems[focusedItemInfo.index];
800
+ var parentItem = processedItem ? activeItemPath.find(function (p) {
801
+ return p.key === processedItem.parentKey;
802
+ }) : null;
803
+ if (parentItem) {
804
+ var grouped = isProccessedItemGroup(processedItem);
805
+ if (grouped) {
806
+ onItemChange({
807
+ originalEvent: event,
808
+ processedItem: processedItem
809
+ });
810
+ setFocusedItemInfo({
811
+ index: -1,
812
+ parentKey: processedItem.key
813
+ });
814
+ setTimeout(function () {
815
+ return setFocusTrigger(true);
816
+ }, 0);
817
+ }
818
+ } else {
819
+ var itemIndex = focusedItemInfo.index !== -1 ? findNextItemIndex(focusedItemInfo.index) : findFirstFocusedItemIndex();
820
+ changeFocusedItemIndex(itemIndex);
821
+ }
822
+ event.preventDefault();
823
+ };
824
+ var onHomeKey = function onHomeKey(event) {
825
+ changeFocusedItemIndex(findFirstItemIndex());
826
+ event.preventDefault();
827
+ };
828
+ var onEndKey = function onEndKey(event) {
829
+ changeFocusedItemIndex(findLastItemIndex());
830
+ event.preventDefault();
831
+ };
832
+ var onEnterKey = function onEnterKey(event) {
833
+ if (focusedItemInfo.index !== -1) {
834
+ var element = utils.DomHandler.findSingle(rootMenuRef.current, "li[id=\"".concat("".concat(focusedItemId), "\"]"));
835
+ var anchorElement = element && utils.DomHandler.findSingle(element, 'a[data-pc-section="action"]');
836
+ anchorElement ? anchorElement.click() : element && element.click();
837
+ }
838
+ event.preventDefault();
839
+ };
840
+ var onSpaceKey = function onSpaceKey(event) {
841
+ onEnterKey(event);
842
+ };
843
+ var onEscapeKey = function onEscapeKey(event) {
844
+ hide(true);
845
+ setFocusedItemInfo({
846
+ focusedItemInfo: focusedItemInfo,
847
+ index: findFirstFocusedItemIndex()
848
+ });
849
+ };
850
+ var onTabKey = function onTabKey(event) {
851
+ if (focusedItemInfo.index !== -1) {
852
+ var processedItem = visibleItems[focusedItemInfo.index];
853
+ var grouped = isProccessedItemGroup(processedItem);
854
+ !grouped && onItemChange({
855
+ originalEvent: event,
856
+ processedItem: processedItem
857
+ });
858
+ }
859
+ hide();
860
+ };
861
+ var isItemMatched = function isItemMatched(processedItem) {
862
+ return isValidItem(processedItem) && getProccessedItemLabel(processedItem).toLocaleLowerCase().startsWith(searchValue.current.toLocaleLowerCase());
863
+ };
864
+ var isValidItem = function isValidItem(processedItem) {
865
+ return !!processedItem && !isItemDisabled(processedItem.item) && !isItemSeparator(processedItem.item);
866
+ };
867
+ var isValidSelectedItem = function isValidSelectedItem(processedItem) {
868
+ return isValidItem(processedItem) && isSelected(processedItem);
869
+ };
870
+ var isSelected = function isSelected(processedItem) {
871
+ return activeItemPath.some(function (p) {
872
+ return p.key === processedItem.key;
873
+ });
874
+ };
875
+ var findFirstItemIndex = function findFirstItemIndex() {
876
+ return visibleItems.findIndex(function (processedItem) {
877
+ return isValidItem(processedItem);
878
+ });
879
+ };
880
+ var findLastItemIndex = function findLastItemIndex() {
881
+ return utils.ObjectUtils.findLastIndex(visibleItems, function (processedItem) {
882
+ return isValidItem(processedItem);
883
+ });
884
+ };
885
+ var findNextItemIndex = function findNextItemIndex(index) {
886
+ var matchedItemIndex = index < visibleItems.length - 1 ? visibleItems.slice(index + 1).findIndex(function (processedItem) {
887
+ return isValidItem(processedItem);
888
+ }) : -1;
889
+ return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;
890
+ };
891
+ var findPrevItemIndex = function findPrevItemIndex(index) {
892
+ var matchedItemIndex = index > 0 ? utils.ObjectUtils.findLastIndex(visibleItems.slice(0, index), function (processedItem) {
893
+ return isValidItem(processedItem);
894
+ }) : -1;
895
+ return matchedItemIndex > -1 ? matchedItemIndex : index;
896
+ };
897
+ var findSelectedItemIndex = function findSelectedItemIndex() {
898
+ return visibleItems.findIndex(function (processedItem) {
899
+ return isValidSelectedItem(processedItem);
900
+ });
901
+ };
902
+ var findFirstFocusedItemIndex = function findFirstFocusedItemIndex() {
903
+ var selectedIndex = findSelectedItemIndex();
904
+ return selectedIndex < 0 ? findFirstItemIndex() : selectedIndex;
905
+ };
906
+ var findLastFocusedItemIndex = function findLastFocusedItemIndex() {
907
+ var selectedIndex = findSelectedItemIndex();
908
+ return selectedIndex < 0 ? findLastItemIndex() : selectedIndex;
909
+ };
910
+ var searchItems = function searchItems(event, _char) {
911
+ searchValue.current = (searchValue.current || '') + _char;
912
+ var itemIndex = -1;
913
+ var matched = false;
914
+ if (focusedItemInfo.index !== -1) {
915
+ itemIndex = visibleItems.slice(focusedItemInfo.index).findIndex(function (processedItem) {
916
+ return isItemMatched(processedItem);
917
+ });
918
+ itemIndex = itemIndex === -1 ? visibleItems.slice(0, focusedItemInfo.index).findIndex(function (processedItem) {
919
+ return isItemMatched(processedItem);
920
+ }) : itemIndex + focusedItemInfo.index;
921
+ } else {
922
+ itemIndex = visibleItems.findIndex(function (processedItem) {
923
+ return isItemMatched(processedItem);
924
+ });
925
+ }
926
+ if (itemIndex !== -1) {
927
+ matched = true;
928
+ }
929
+ if (itemIndex === -1 && focusedItemInfo.index === -1) {
930
+ itemIndex = findFirstFocusedItemIndex();
931
+ }
932
+ if (itemIndex !== -1) {
933
+ changeFocusedItemIndex(itemIndex);
934
+ }
935
+ if (searchTimeout.current) {
936
+ clearTimeout(searchTimeout.current);
937
+ }
938
+ searchTimeout.current = setTimeout(function () {
939
+ searchValue.current = '';
940
+ searchTimeout.current = null;
941
+ }, 500);
942
+ return matched;
943
+ };
944
+ var changeFocusedItemIndex = function changeFocusedItemIndex(index) {
945
+ if (focusedItemInfo.index !== index) {
946
+ setFocusedItemInfo(_objectSpread(_objectSpread({}, focusedItemInfo), {}, {
947
+ index: index
948
+ }));
949
+ scrollInView();
950
+ }
951
+ };
952
+ var scrollInView = function scrollInView() {
953
+ var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
954
+ var id = index !== -1 ? "".concat(idState, "_").concat(index) : focusedItemId;
955
+ var element = utils.DomHandler.findSingle(rootMenuRef.current, "li[id=\"".concat(id, "\"]"));
956
+ if (element) {
957
+ element.scrollIntoView && element.scrollIntoView({
958
+ block: 'nearest',
959
+ inline: 'start'
960
+ });
961
+ }
962
+ };
963
+ var createProcessedItems = function createProcessedItems(items) {
964
+ var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
965
+ var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
966
+ var parentKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
967
+ var _processedItems = [];
968
+ items && items.forEach(function (item, index) {
969
+ var key = (parentKey !== '' ? parentKey + '_' : '') + index;
970
+ var newItem = {
971
+ item: item,
972
+ index: index,
973
+ level: level,
974
+ key: key,
975
+ parent: parent,
976
+ parentKey: parentKey
977
+ };
978
+ newItem['items'] = createProcessedItems(item.items, level + 1, newItem, key);
979
+ _processedItems.push(newItem);
980
+ });
981
+ return _processedItems;
982
+ };
494
983
  hooks.useMountEffect(function () {
495
984
  if (!idState) {
496
985
  setIdState(utils.UniqueComponentId());
@@ -498,13 +987,47 @@ this.primereact.menubar = (function (exports, React, PrimeReact, componentbase,
498
987
  });
499
988
  hooks.useUpdateEffect(function () {
500
989
  if (mobileActiveState) {
990
+ bindOutsideClickListener();
991
+ bindResizeListener();
501
992
  utils.ZIndexUtils.set('menu', rootMenuRef.current, context && context.autoZIndex || PrimeReact__default["default"].autoZIndex, context && context.zIndex['menu'] || PrimeReact__default["default"].zIndex['menu']);
502
- bindDocumentClickListener();
503
993
  } else {
504
- unbindDocumentClickListener();
994
+ unbindResizeListener();
995
+ unbindOutsideClickListener();
505
996
  utils.ZIndexUtils.clear(rootMenuRef.current);
506
997
  }
507
998
  }, [mobileActiveState]);
999
+ hooks.useUpdateEffect(function () {
1000
+ var itemsToProcess = props.model || [];
1001
+ var processed = createProcessedItems(itemsToProcess, 0, null, '');
1002
+ setProcessedItems(processed);
1003
+ }, [props.model]);
1004
+ hooks.useUpdateEffect(function () {
1005
+ var processedItem = activeItemPath.find(function (p) {
1006
+ return p.key === focusedItemInfo.parentKey;
1007
+ });
1008
+ var _processedItems = processedItem ? processedItem.items : processedItems;
1009
+ setVisibleItems(_processedItems);
1010
+ }, [activeItemPath, focusedItemInfo, processedItems]);
1011
+ hooks.useUpdateEffect(function () {
1012
+ if (utils.ObjectUtils.isNotEmpty(activeItemPath)) {
1013
+ bindOutsideClickListener();
1014
+ bindResizeListener();
1015
+ } else {
1016
+ unbindOutsideClickListener();
1017
+ unbindResizeListener();
1018
+ }
1019
+ }, [activeItemPath]);
1020
+ hooks.useUpdateEffect(function () {
1021
+ if (focusTrigger) {
1022
+ var itemIndex = focusedItemInfo.index !== -1 ? findNextItemIndex(focusedItemInfo.index) : reverseTrigger.current ? findLastItemIndex() : findFirstFocusedItemIndex();
1023
+ changeFocusedItemIndex(itemIndex);
1024
+ reverseTrigger.current = false;
1025
+ setFocusTrigger(false);
1026
+ }
1027
+ }, [focusTrigger]);
1028
+ hooks.useUpdateEffect(function () {
1029
+ setFocusedItemId(focusedItemInfo.index !== -1 ? "".concat(idState).concat(utils.ObjectUtils.isNotEmpty(focusedItemInfo.parentKey) ? '_' + focusedItemInfo.parentKey : '', "_").concat(focusedItemInfo.index) : null);
1030
+ }, [focusedItemInfo]);
508
1031
  hooks.useUnmountEffect(function () {
509
1032
  utils.ZIndexUtils.clear(rootMenuRef.current);
510
1033
  });
@@ -547,16 +1070,20 @@ this.primereact.menubar = (function (exports, React, PrimeReact, componentbase,
547
1070
  if (props.model && props.model.length < 1) {
548
1071
  return null;
549
1072
  }
550
- var buttonProps = utils.mergeProps({
1073
+ var buttonProps = utils.mergeProps(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
551
1074
  ref: menuButtonRef,
552
1075
  href: '#',
553
- role: 'button',
554
- tabIndex: 0,
555
- className: cx('button'),
556
- onClick: function onClick(e) {
557
- return toggle(e);
558
- }
559
- }, ptm('button'));
1076
+ tabIndex: '0',
1077
+ 'aria-haspopup': mobileActiveState && props.model && props.model.lentgh > 0 ? true : false,
1078
+ 'aria-expanded': mobileActiveState,
1079
+ 'aria-label': PrimeReact.ariaLabel('navigation'),
1080
+ 'aria-controls': idState,
1081
+ role: 'button'
1082
+ }, "tabIndex", 0), "className", cx('button')), "onKeyDown", function onKeyDown(e) {
1083
+ return menuButtonKeydown(e);
1084
+ }), "onClick", function onClick(e) {
1085
+ return toggle(e);
1086
+ }), ptm('button'));
560
1087
  var popupIconProps = utils.mergeProps(ptm('popupIcon'));
561
1088
  var icon = props.menuIcon || /*#__PURE__*/React__namespace.createElement(bars.BarsIcon, popupIconProps);
562
1089
  var menuIcon = utils.IconUtils.getJSXIcon(icon, _objectSpread({}, popupIconProps), {
@@ -574,19 +1101,27 @@ this.primereact.menubar = (function (exports, React, PrimeReact, componentbase,
574
1101
  var menuButton = createMenuButton();
575
1102
  var submenu = /*#__PURE__*/React__namespace.createElement(MenubarSub, {
576
1103
  hostName: "Menubar",
1104
+ ariaActivedescendant: focused ? focusedItemId : undefined,
1105
+ level: 0,
577
1106
  id: idState,
578
1107
  ref: rootMenuRef,
579
1108
  menuProps: props,
580
- model: props.model,
1109
+ model: processedItems,
1110
+ onLeafClick: onItemClick,
1111
+ onItemMouseEnter: onItemMouseEnter,
1112
+ onFocus: onFocus,
1113
+ onBlur: onBlur,
1114
+ onKeyDown: onKeyDown,
581
1115
  root: true,
582
- mobileActive: mobileActiveState,
583
- onLeafClick: onLeafClick,
1116
+ activeItemPath: activeItemPath,
1117
+ focusedItemId: focused ? focusedItemId : undefined,
584
1118
  submenuIcon: props.submenuIcon,
585
1119
  ptm: ptm,
586
1120
  cx: cx
587
1121
  });
588
1122
  var rootProps = utils.mergeProps({
589
1123
  id: props.id,
1124
+ ref: elementRef,
590
1125
  className: utils.classNames(props.className, cx('root', {
591
1126
  mobileActiveState: mobileActiveState
592
1127
  })),