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
@@ -3,10 +3,10 @@ import * as React from 'react';
3
3
  import { PrimeReactContext } from 'primereact/api';
4
4
  import { ComponentBase, useHandleStyle } from 'primereact/componentbase';
5
5
  import { CSSTransition } from 'primereact/csstransition';
6
- import { useMountEffect, useUpdateEffect } from 'primereact/hooks';
6
+ import { useMountEffect } from 'primereact/hooks';
7
7
  import { ChevronDownIcon } from 'primereact/icons/chevrondown';
8
8
  import { ChevronRightIcon } from 'primereact/icons/chevronright';
9
- import { classNames, mergeProps, IconUtils, ObjectUtils, UniqueComponentId } from 'primereact/utils';
9
+ import { classNames, mergeProps, ObjectUtils, IconUtils, DomHandler, UniqueComponentId } from 'primereact/utils';
10
10
 
11
11
  function _extends() {
12
12
  _extends = Object.assign ? Object.assign.bind() : function (target) {
@@ -64,35 +64,8 @@ function _defineProperty(obj, key, value) {
64
64
  return obj;
65
65
  }
66
66
 
67
- function _arrayLikeToArray(arr, len) {
68
- if (len == null || len > arr.length) len = arr.length;
69
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
70
- return arr2;
71
- }
72
-
73
- function _arrayWithoutHoles(arr) {
74
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
75
- }
76
-
77
- function _iterableToArray(iter) {
78
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
79
- }
80
-
81
- function _unsupportedIterableToArray(o, minLen) {
82
- if (!o) return;
83
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
84
- var n = Object.prototype.toString.call(o).slice(8, -1);
85
- if (n === "Object" && o.constructor) n = o.constructor.name;
86
- if (n === "Map" || n === "Set") return Array.from(o);
87
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
88
- }
89
-
90
- function _nonIterableSpread() {
91
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
92
- }
93
-
94
- function _toConsumableArray(arr) {
95
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
67
+ function _readOnlyError(name) {
68
+ throw new TypeError("\"" + name + "\" is read-only");
96
69
  }
97
70
 
98
71
  function _arrayWithHoles(arr) {
@@ -127,6 +100,21 @@ function _iterableToArrayLimit(r, l) {
127
100
  }
128
101
  }
129
102
 
103
+ function _arrayLikeToArray(arr, len) {
104
+ if (len == null || len > arr.length) len = arr.length;
105
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
106
+ return arr2;
107
+ }
108
+
109
+ function _unsupportedIterableToArray(o, minLen) {
110
+ if (!o) return;
111
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
112
+ var n = Object.prototype.toString.call(o).slice(8, -1);
113
+ if (n === "Object" && o.constructor) n = o.constructor.name;
114
+ if (n === "Map" || n === "Set") return Array.from(o);
115
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
116
+ }
117
+
130
118
  function _nonIterableRest() {
131
119
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
132
120
  }
@@ -135,12 +123,25 @@ function _slicedToArray(arr, i) {
135
123
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
136
124
  }
137
125
 
126
+ /* eslint-disable */
127
+ var useUpdateEffect = function useUpdateEffect(fn, deps) {
128
+ var mounted = React.useRef(false);
129
+ return React.useEffect(function () {
130
+ if (!mounted.current) {
131
+ mounted.current = true;
132
+ return;
133
+ }
134
+ return fn && fn();
135
+ }, deps);
136
+ };
137
+ /* eslint-enable */
138
+
138
139
  var classes = {
139
140
  headerIcon: function headerIcon(_ref) {
140
141
  var item = _ref.item;
141
142
  return classNames('p-menuitem-icon', item.icon);
142
143
  },
143
- headerSubmenuIcon: 'p-panelmenu-icon',
144
+ headerSubmenuIcon: 'p-submenu-icon',
144
145
  headerLabel: 'p-menuitem-text',
145
146
  headerAction: 'p-panelmenu-header-link',
146
147
  panel: function panel(_ref2) {
@@ -155,12 +156,13 @@ var classes = {
155
156
  'p-disabled': item.disabled
156
157
  });
157
158
  },
159
+ headerContent: 'p-panelmenu-header-content',
158
160
  menuContent: 'p-panelmenu-content',
159
161
  root: function root(_ref4) {
160
162
  var props = _ref4.props;
161
163
  return classNames('p-panelmenu p-component', props.className);
162
164
  },
163
- separator: 'p-menu-separator',
165
+ separator: 'p-menuitem-separator',
164
166
  toggleableContent: function toggleableContent(_ref5) {
165
167
  var active = _ref5.active;
166
168
  return classNames('p-toggleable-content', {
@@ -172,7 +174,8 @@ var classes = {
172
174
  return classNames('p-menuitem-icon', item.icon);
173
175
  },
174
176
  label: 'p-menuitem-text',
175
- submenuicon: 'p-panelmenu-icon',
177
+ submenuicon: 'p-submenu-icon',
178
+ content: 'p-menuitem-content',
176
179
  action: function action(_ref7) {
177
180
  var item = _ref7.item;
178
181
  return classNames('p-menuitem-link', {
@@ -180,14 +183,19 @@ var classes = {
180
183
  });
181
184
  },
182
185
  menuitem: function menuitem(_ref8) {
183
- var item = _ref8.item;
184
- return classNames('p-menuitem', item.className);
186
+ var item = _ref8.item,
187
+ focused = _ref8.focused,
188
+ disabled = _ref8.disabled;
189
+ return classNames('p-menuitem', item.className, {
190
+ 'p-focus': focused,
191
+ 'p-disabled': disabled
192
+ });
185
193
  },
186
- menu: 'p-submenu-list',
194
+ menu: 'p-panelmenu-root-list',
187
195
  submenu: 'p-submenu-list',
188
196
  transition: 'p-toggleable-content'
189
197
  };
190
- var styles = "\n@layer primereact {\n .p-panelmenu .p-panelmenu-header-link {\n display: flex;\n align-items: center;\n user-select: none;\n cursor: pointer;\n position: relative;\n text-decoration: none;\n }\n \n .p-panelmenu .p-panelmenu-header-link:focus {\n z-index: 1;\n }\n \n .p-panelmenu .p-submenu-list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n \n .p-panelmenu .p-menuitem-link {\n display: flex;\n align-items: center;\n user-select: none;\n cursor: pointer;\n text-decoration: none;\n }\n \n .p-panelmenu .p-menuitem-text {\n line-height: 1;\n }\n}\n";
198
+ var styles = "\n@layer primereact {\n .p-panelmenu .p-panelmenu-header-link {\n display: flex;\n align-items: center;\n user-select: none;\n cursor: pointer;\n position: relative;\n text-decoration: none;\n }\n\n .p-panelmenu .p-panelmenu-header-link:focus {\n z-index: 1;\n }\n\n .p-panelmenu .p-submenu-list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-panelmenu .p-menuitem-link {\n display: flex;\n align-items: center;\n user-select: none;\n cursor: pointer;\n text-decoration: none;\n text-decoration: none;\n position: relative;\n overflow: hidden;\n }\n\n .p-panelmenu .p-menuitem-text {\n line-height: 1;\n }\n}\n";
191
199
  var PanelMenuBase = ComponentBase.extend({
192
200
  defaultProps: {
193
201
  __TYPE: 'PanelMenu',
@@ -195,7 +203,11 @@ var PanelMenuBase = ComponentBase.extend({
195
203
  model: null,
196
204
  style: null,
197
205
  submenuIcon: null,
206
+ expandedKeys: null,
198
207
  className: null,
208
+ onExpandedKeysChange: null,
209
+ onOpen: null,
210
+ onClose: null,
199
211
  multiple: false,
200
212
  transitionOptions: null,
201
213
  children: undefined
@@ -208,77 +220,81 @@ var PanelMenuBase = ComponentBase.extend({
208
220
 
209
221
  function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
210
222
  function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
211
- var PanelMenuSub = /*#__PURE__*/React.memo(function (props) {
212
- var _React$useState = React.useState(null),
213
- _React$useState2 = _slicedToArray(_React$useState, 2),
214
- activeItemState = _React$useState2[0],
215
- setActiveItemState = _React$useState2[1];
223
+ var PanelMenuSub = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (props, ref) {
216
224
  var ptm = props.ptm,
217
225
  cx = props.cx;
226
+ var elementRef = React.useRef(null);
218
227
  var _ptm = function _ptm(key, options) {
219
228
  return ptm(key, _objectSpread$1({
220
229
  hostName: props.hostName
221
230
  }, options));
222
231
  };
223
- var getPTOptions = function getPTOptions(item, key) {
232
+ var getPTOptions = function getPTOptions(processedItem, key, index) {
224
233
  return _ptm(key, {
225
234
  context: {
226
- active: isItemActive(item)
235
+ item: processedItem,
236
+ index: index,
237
+ active: isItemActive(processedItem),
238
+ focused: isItemFocused(processedItem),
239
+ disabled: isItemDisabled(processedItem)
227
240
  }
228
241
  });
229
242
  };
230
- var findActiveItem = function findActiveItem() {
231
- if (props.model) {
232
- if (props.multiple) {
233
- return props.model.filter(function (item) {
234
- return item.expanded;
235
- });
236
- } else {
237
- var activeItem = null;
238
- props.model.forEach(function (item) {
239
- if (item.expanded) {
240
- if (!activeItem) activeItem = item;else item.expanded = false;
241
- }
242
- });
243
- return activeItem;
244
- }
245
- }
246
- return null;
243
+ var getItemId = function getItemId(processedItem) {
244
+ return "".concat(props.panelId, "_").concat(processedItem.key);
247
245
  };
248
- var onItemClick = function onItemClick(event, item) {
249
- if (item.disabled) {
250
- event.preventDefault();
251
- return;
252
- }
253
- if (!item.url) {
246
+ var getItemProp = function getItemProp(processedItem, name, params) {
247
+ return processedItem && processedItem.item ? ObjectUtils.getItemValue(processedItem.item[name], params) : undefined;
248
+ };
249
+ var isItemActive = function isItemActive(processedItem) {
250
+ return props.activeItemPath.some(function (path) {
251
+ return path.key === processedItem.key;
252
+ });
253
+ };
254
+ var isItemVisible = function isItemVisible(processedItem) {
255
+ return getItemProp(processedItem, 'visible') !== false;
256
+ };
257
+ var isItemDisabled = function isItemDisabled(processedItem) {
258
+ return getItemProp(processedItem, 'disabled');
259
+ };
260
+ var isItemFocused = function isItemFocused(processedItem) {
261
+ return props.focusedItemId === getItemId(processedItem);
262
+ };
263
+ var isItemGroup = function isItemGroup(processedItem) {
264
+ return ObjectUtils.isNotEmpty(processedItem.items);
265
+ };
266
+ var onItemClick = function onItemClick(event, processedItem) {
267
+ if (!getItemProp(processedItem, 'url')) {
254
268
  event.preventDefault();
255
269
  }
256
- if (item.command) {
257
- item.command({
258
- originalEvent: event,
259
- item: item
260
- });
261
- }
262
- var activeItem = activeItemState;
263
- var active = isItemActive(item);
264
- if (active) {
265
- item.expanded = false;
266
- setActiveItemState(props.multiple ? activeItem.filter(function (a_item) {
267
- return a_item !== item;
268
- }) : null);
269
- } else {
270
- if (!props.multiple && activeItem) {
271
- activeItem.expanded = false;
272
- }
273
- item.expanded = true;
274
- setActiveItemState(props.multiple ? [].concat(_toConsumableArray(activeItem || []), [item]) : item);
275
- }
270
+ getItemProp(processedItem, 'command', {
271
+ originalEvent: event,
272
+ item: processedItem.item
273
+ });
274
+ onItemToggle({
275
+ processedItem: processedItem,
276
+ expanded: !isItemActive(processedItem)
277
+ });
276
278
  };
277
- var isItemActive = function isItemActive(item) {
278
- return activeItemState && (props.multiple ? activeItemState.indexOf(item) > -1 : activeItemState === item);
279
+ var onItemToggle = function onItemToggle(event) {
280
+ props.onItemToggle(event);
279
281
  };
280
- useMountEffect(function () {
281
- setActiveItemState(findActiveItem());
282
+ var getAriaSetSize = function getAriaSetSize() {
283
+ return props.model.filter(function (processedItem) {
284
+ return isItemVisible(processedItem) && !getItemProp(processedItem, 'separator');
285
+ }).length;
286
+ };
287
+ var getAriaPosInset = function getAriaPosInset(index) {
288
+ return index - props.model.slice(0, index).filter(function (processedItem) {
289
+ return isItemVisible(processedItem) && getItemProp(processedItem, 'separator');
290
+ }).length + 1;
291
+ };
292
+ React.useImperativeHandle(ref, function () {
293
+ return {
294
+ getElement: function getElement() {
295
+ return elementRef.current;
296
+ }
297
+ };
282
298
  });
283
299
  var createSeparator = function createSeparator(index) {
284
300
  var key = props.id + '_sep_' + index;
@@ -290,14 +306,14 @@ var PanelMenuSub = /*#__PURE__*/React.memo(function (props) {
290
306
  }, _ptm('separator'));
291
307
  return /*#__PURE__*/React.createElement("li", separatorProps);
292
308
  };
293
- var createSubmenu = function createSubmenu(item, active, index) {
309
+ var createSubmenu = function createSubmenu(processedItem, active) {
294
310
  var submenuRef = /*#__PURE__*/React.createRef();
295
311
  var toggleableContentProps = mergeProps({
296
312
  className: cx('toggleableContent', {
297
313
  active: active
298
314
  })
299
315
  }, _ptm('toggleableContent'));
300
- if (item.items) {
316
+ if (isItemVisible(processedItem) && isItemGroup(processedItem)) {
301
317
  var transitionProps = mergeProps({
302
318
  classNames: cx('transition'),
303
319
  timeout: {
@@ -312,10 +328,15 @@ var PanelMenuSub = /*#__PURE__*/React.memo(function (props) {
312
328
  }, transitionProps), /*#__PURE__*/React.createElement("div", _extends({
313
329
  ref: submenuRef
314
330
  }, toggleableContentProps), /*#__PURE__*/React.createElement(PanelMenuSub, {
315
- id: props.id + '_' + index,
331
+ id: getItemId(processedItem) + '_list',
332
+ role: "group",
333
+ panelId: props.panelId,
334
+ level: props.level + 1,
335
+ focusedItemId: props.focusedItemId,
336
+ activeItemPath: props.activeItemPath,
337
+ onItemToggle: onItemToggle,
316
338
  menuProps: props.menuProps,
317
- model: item.items,
318
- multiple: props.multiple,
339
+ model: processedItem.items,
319
340
  submenuIcon: props.submenuIcon,
320
341
  ptm: ptm,
321
342
  cx: cx
@@ -323,12 +344,15 @@ var PanelMenuSub = /*#__PURE__*/React.memo(function (props) {
323
344
  }
324
345
  return null;
325
346
  };
326
- var createMenuItem = function createMenuItem(item, index) {
327
- if (item.visible === false) {
347
+ var createMenuItem = function createMenuItem(processedItem, index) {
348
+ var item = processedItem.item;
349
+ if (isItemVisible(processedItem) === false) {
328
350
  return null;
329
351
  }
330
- var key = item.id || props.id + '_' + index;
331
- var active = isItemActive(item);
352
+ var key = getItemId(processedItem);
353
+ var active = isItemActive(processedItem);
354
+ var itemFocused = isItemFocused(processedItem);
355
+ var disabled = isItemDisabled(item);
332
356
  var linkClassName = classNames('p-menuitem-link', {
333
357
  'p-disabled': item.disabled
334
358
  });
@@ -337,38 +361,35 @@ var PanelMenuSub = /*#__PURE__*/React.memo(function (props) {
337
361
  className: cx('icon', {
338
362
  item: item
339
363
  })
340
- }, getPTOptions(item, 'icon'));
364
+ }, getPTOptions(processedItem, 'icon', index));
341
365
  var icon = IconUtils.getJSXIcon(item.icon, _objectSpread$1({}, iconProps), {
342
366
  props: props.menuProps
343
367
  });
344
368
  var labelProps = mergeProps({
345
369
  className: cx('label')
346
- }, getPTOptions(item, 'label'));
370
+ }, getPTOptions(processedItem, 'label', index));
347
371
  var label = item.label && /*#__PURE__*/React.createElement("span", labelProps, item.label);
348
372
  var submenuIconClassName = 'p-panelmenu-icon';
349
373
  var submenuIconProps = mergeProps({
350
374
  className: cx('submenuicon')
351
- }, getPTOptions(item, 'submenuicon'));
375
+ }, getPTOptions(processedItem, 'submenuicon', index));
352
376
  var submenuIcon = item.items && IconUtils.getJSXIcon(active ? props.submenuIcon || /*#__PURE__*/React.createElement(ChevronDownIcon, submenuIconProps) : props.submenuIcon || /*#__PURE__*/React.createElement(ChevronRightIcon, submenuIconProps));
353
- var submenu = createSubmenu(item, active, index);
377
+ var submenu = createSubmenu(processedItem, active);
354
378
  var actionProps = mergeProps({
355
379
  href: item.url || '#',
356
380
  className: cx('action', {
357
381
  item: item
358
382
  }),
359
383
  target: item.target,
360
- onClick: function onClick(event) {
361
- return onItemClick(event, item);
384
+ onFocus: function onFocus(event) {
385
+ return event.stopPropagation();
362
386
  },
363
- role: 'menuitem',
364
- 'aria-disabled': item.disabled
365
- }, getPTOptions(item, 'action'));
387
+ tabIndex: '-1',
388
+ 'aria-hidden': true
389
+ }, getPTOptions(processedItem, 'action', index));
366
390
  var content = /*#__PURE__*/React.createElement("a", actionProps, submenuIcon, icon, label);
367
391
  if (item.template) {
368
392
  var defaultContentOptions = {
369
- onClick: function onClick(event) {
370
- return onItemClick(event, item);
371
- },
372
393
  className: linkClassName,
373
394
  labelClassName: 'p-menuitem-text',
374
395
  iconClassName: iconClassName,
@@ -380,19 +401,34 @@ var PanelMenuSub = /*#__PURE__*/React.memo(function (props) {
380
401
  };
381
402
  content = ObjectUtils.getJSXElement(item.template, item, defaultContentOptions);
382
403
  }
404
+ var contentProps = mergeProps({
405
+ onClick: function onClick(event) {
406
+ return onItemClick(event, processedItem);
407
+ },
408
+ className: cx('content')
409
+ }, getPTOptions(processedItem, 'content', index));
383
410
  var menuitemProps = mergeProps({
384
411
  key: key,
385
412
  id: key,
386
413
  className: cx('menuitem', {
387
- item: item
414
+ item: item,
415
+ focused: itemFocused,
416
+ disabled: disabled
388
417
  }),
389
418
  style: item.style,
390
- role: 'none'
391
- }, getPTOptions(item, 'menuitem'));
392
- return /*#__PURE__*/React.createElement("li", menuitemProps, content, submenu);
419
+ role: 'treeitem',
420
+ 'aria-label': item.label,
421
+ 'aria-expanded': isItemGroup(item) ? active : undefined,
422
+ 'aria-level': props.level + 1,
423
+ 'aria-setsize': getAriaSetSize(),
424
+ 'aria-posinset': getAriaPosInset(index),
425
+ 'data-p-focused': itemFocused,
426
+ 'data-p-disabled': disabled
427
+ }, getPTOptions(processedItem, 'menuitem', index));
428
+ return /*#__PURE__*/React.createElement("li", menuitemProps, /*#__PURE__*/React.createElement("div", contentProps, content), submenu);
393
429
  };
394
430
  var createItem = function createItem(item, index) {
395
- return item.separator ? createSeparator(index) : createMenuItem(item, index);
431
+ return getItemProp(item, 'separator') ? createSeparator(index) : createMenuItem(item, index);
396
432
  };
397
433
  var createMenu = function createMenu() {
398
434
  return props.model ? props.model.map(createItem) : null;
@@ -400,13 +436,431 @@ var PanelMenuSub = /*#__PURE__*/React.memo(function (props) {
400
436
  var menu = createMenu();
401
437
  var ptKey = props.root ? 'menu' : 'submenu';
402
438
  var menuProps = mergeProps({
403
- className: classNames(cx(ptKey), props.className),
404
- role: 'tree'
439
+ id: props.id,
440
+ ref: elementRef,
441
+ tabIndex: props.tabIndex,
442
+ onFocus: props.onFocus,
443
+ onBlur: props.onBlur,
444
+ onKeyDown: props.onKeyDown,
445
+ 'aria-activedescendant': props.ariaActivedescendant,
446
+ role: props.role,
447
+ className: classNames(cx(ptKey), props.className)
405
448
  }, ptm(ptKey));
406
449
  return /*#__PURE__*/React.createElement("ul", menuProps, menu);
407
- });
450
+ }));
408
451
  PanelMenuSub.displayName = 'PanelMenuSub';
409
452
 
453
+ var PanelMenuList = /*#__PURE__*/React.memo(function (props) {
454
+ var ptm = props.ptm,
455
+ cx = props.cx;
456
+ var _React$useState = React.useState(false),
457
+ _React$useState2 = _slicedToArray(_React$useState, 2),
458
+ focused = _React$useState2[0],
459
+ setFocused = _React$useState2[1];
460
+ var _React$useState3 = React.useState(null),
461
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
462
+ focusedItem = _React$useState4[0],
463
+ setFocusedItem = _React$useState4[1];
464
+ var _React$useState5 = React.useState(null),
465
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
466
+ focusedItemId = _React$useState6[0],
467
+ setFocusedItemId = _React$useState6[1];
468
+ var _React$useState7 = React.useState(null),
469
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
470
+ activeItemPath = _React$useState8[0],
471
+ setActiveItemPath = _React$useState8[1];
472
+ var _React$useState9 = React.useState(null),
473
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
474
+ processedItems = _React$useState10[0],
475
+ setProcessedItems = _React$useState10[1];
476
+ var _React$useState11 = React.useState([]),
477
+ _React$useState12 = _slicedToArray(_React$useState11, 2),
478
+ visibleItems = _React$useState12[0],
479
+ setVisibleItems = _React$useState12[1];
480
+ var searchValue = React.useRef(null);
481
+ var searchTimeout = React.useRef(null);
482
+ var elementRef = React.useRef(null);
483
+ var getItemProp = function getItemProp(processedItem, name) {
484
+ return processedItem && processedItem.item ? ObjectUtils.getItemValue(processedItem.item[name]) : undefined;
485
+ };
486
+ var getItemLabel = function getItemLabel(processedItem) {
487
+ return getItemProp(processedItem, 'label');
488
+ };
489
+ var isItemVisible = function isItemVisible(processedItem) {
490
+ return getItemProp(processedItem, 'visible') !== false;
491
+ };
492
+ var isItemDisabled = function isItemDisabled(processedItem) {
493
+ return getItemProp(processedItem, 'disabled');
494
+ };
495
+ var isItemActive = function isItemActive(processedItem) {
496
+ return activeItemPath.some(function (path) {
497
+ return path.key === processedItem.parentKey;
498
+ });
499
+ };
500
+ var isItemGroup = function isItemGroup(processedItem) {
501
+ return ObjectUtils.isNotEmpty(processedItem.items);
502
+ };
503
+ var getListElement = function getListElement() {
504
+ return elementRef.current && elementRef.current.getElement();
505
+ };
506
+ var onFocus = function onFocus(event) {
507
+ setFocused(true);
508
+ var _focusedItem = focusedItem || (isElementInPanel(event, event.relatedTarget) ? findFirstItem() : findLastItem());
509
+ setFocusedItem(_focusedItem);
510
+ };
511
+ var onBlur = function onBlur() {
512
+ setFocused(false);
513
+ setFocusedItem(null);
514
+ searchValue.current = '';
515
+ };
516
+ var onKeyDown = function onKeyDown(event) {
517
+ var metaKey = event.metaKey || event.ctrlKey;
518
+ switch (event.code) {
519
+ case 'ArrowDown':
520
+ onArrowDownKey(event);
521
+ break;
522
+ case 'ArrowUp':
523
+ onArrowUpKey(event);
524
+ break;
525
+ case 'ArrowLeft':
526
+ onArrowLeftKey(event);
527
+ break;
528
+ case 'ArrowRight':
529
+ onArrowRightKey(event);
530
+ break;
531
+ case 'Home':
532
+ onHomeKey(event);
533
+ break;
534
+ case 'End':
535
+ onEndKey(event);
536
+ break;
537
+ case 'Space':
538
+ onSpaceKey(event);
539
+ break;
540
+ case 'Enter':
541
+ case 'NumpadEnter':
542
+ onEnterKey(event);
543
+ break;
544
+ case 'Escape':
545
+ case 'Tab':
546
+ case 'PageDown':
547
+ case 'PageUp':
548
+ case 'Backspace':
549
+ case 'ShiftLeft':
550
+ case 'ShiftRight':
551
+ //NOOP
552
+ break;
553
+ default:
554
+ if (!metaKey && ObjectUtils.isPrintableCharacter(event.key)) {
555
+ searchItems(event, event.key);
556
+ }
557
+ break;
558
+ }
559
+ };
560
+ var onArrowDownKey = function onArrowDownKey(event) {
561
+ var processedItem = ObjectUtils.isNotEmpty(focusedItem) ? findNextItem(focusedItem) : findFirstItem();
562
+ changeFocusedItem({
563
+ originalEvent: event,
564
+ processedItem: processedItem,
565
+ focusOnNext: true
566
+ });
567
+ event.preventDefault();
568
+ };
569
+ var onArrowUpKey = function onArrowUpKey(event) {
570
+ var processedItem = ObjectUtils.isNotEmpty(focusedItem) ? findPrevItem(focusedItem) : findLastItem();
571
+ changeFocusedItem({
572
+ originalEvent: event,
573
+ processedItem: processedItem,
574
+ selfCheck: true
575
+ });
576
+ event.preventDefault();
577
+ };
578
+ var onArrowLeftKey = function onArrowLeftKey(event) {
579
+ if (ObjectUtils.isNotEmpty(focusedItem)) {
580
+ var matched = activeItemPath.some(function (p) {
581
+ return p.key === focusedItem.key;
582
+ });
583
+ if (matched) {
584
+ setActiveItemPath(activeItemPath.filter(function (p) {
585
+ return p.key !== focusedItem.key;
586
+ }));
587
+ } else {
588
+ setFocusedItem(ObjectUtils.isNotEmpty(focusedItem.parent) ? focusedItem.parent : focusedItem);
589
+ }
590
+ event.preventDefault();
591
+ }
592
+ };
593
+ var onArrowRightKey = function onArrowRightKey(event) {
594
+ if (ObjectUtils.isNotEmpty(focusedItem)) {
595
+ var grouped = isItemGroup(focusedItem);
596
+ if (grouped) {
597
+ var matched = activeItemPath.some(function (p) {
598
+ return p.key === focusedItem.key;
599
+ });
600
+ if (matched) {
601
+ onArrowDownKey(event);
602
+ } else {
603
+ var _activeItemPath = activeItemPath.filter(function (p) {
604
+ return p.parentKey !== focusedItem.parentKey;
605
+ });
606
+ _activeItemPath.push(focusedItem);
607
+ setActiveItemPath(_activeItemPath);
608
+ }
609
+ }
610
+ event.preventDefault();
611
+ }
612
+ };
613
+ var onHomeKey = function onHomeKey(event) {
614
+ changeFocusedItem({
615
+ originalEvent: event,
616
+ processedItem: findFirstItem(),
617
+ allowHeaderFocus: false
618
+ });
619
+ event.preventDefault();
620
+ };
621
+ var onEndKey = function onEndKey(event) {
622
+ changeFocusedItem({
623
+ originalEvent: event,
624
+ processedItem: findLastItem(),
625
+ focusOnNext: true,
626
+ allowHeaderFocus: false
627
+ });
628
+ event.preventDefault();
629
+ };
630
+ var onEnterKey = function onEnterKey(event) {
631
+ if (ObjectUtils.isNotEmpty(focusedItem)) {
632
+ var element = DomHandler.findSingle(getListElement(), "li[id=\"".concat("".concat(focusedItemId), "\"]"));
633
+ var anchorElement = element && (DomHandler.findSingle(element, '[data-pc-section="action"]') || DomHandler.findSingle(element, 'a,button'));
634
+ anchorElement ? anchorElement.click() : element && element.click();
635
+ }
636
+ event.preventDefault();
637
+ };
638
+ var onSpaceKey = function onSpaceKey(event) {
639
+ onEnterKey(event);
640
+ };
641
+ var onItemToggle = function onItemToggle(event) {
642
+ var processedItem = event.processedItem,
643
+ expanded = event.expanded;
644
+ if (props.expandedKeys) {
645
+ props.onToggle && props.onToggle({
646
+ item: processedItem.item,
647
+ expanded: expanded
648
+ });
649
+ } else {
650
+ var _activeItemPath = activeItemPath.filter(function (p) {
651
+ return p.parentKey !== processedItem.parentKey;
652
+ });
653
+ expanded && _activeItemPath.push(processedItem);
654
+ setActiveItemPath(_activeItemPath);
655
+ }
656
+ DomHandler.focus(getListElement());
657
+ setFocusedItem(processedItem);
658
+ };
659
+ var isElementInPanel = function isElementInPanel(event, element) {
660
+ var panel = event.currentTarget.closest('[data-pc-section="panel"]');
661
+ return panel && panel.contains(element);
662
+ };
663
+ var isItemMatched = function isItemMatched(processedItem) {
664
+ return isValidItem(processedItem) && getItemLabel(processedItem).toLocaleLowerCase().startsWith(searchValue.current.toLocaleLowerCase());
665
+ };
666
+ var isVisibleItem = function isVisibleItem(processedItem) {
667
+ return !!processedItem && (processedItem.level === 0 || isItemActive(processedItem)) && isItemVisible(processedItem);
668
+ };
669
+ var isValidItem = function isValidItem(processedItem) {
670
+ return !!processedItem && !isItemDisabled(processedItem) && !getItemProp(processedItem, 'separator');
671
+ };
672
+ var findFirstItem = function findFirstItem() {
673
+ return visibleItems.find(function (processedItem) {
674
+ return isValidItem(processedItem);
675
+ });
676
+ };
677
+ var findLastItem = function findLastItem() {
678
+ return ObjectUtils.findLast(visibleItems, function (processedItem) {
679
+ return isValidItem(processedItem);
680
+ });
681
+ };
682
+ var findNextItem = function findNextItem(processedItem) {
683
+ var index = visibleItems.findIndex(function (item) {
684
+ return item.key === processedItem.key;
685
+ });
686
+ var matchedItem = index < visibleItems.length - 1 ? visibleItems.slice(index + 1).find(function (pItem) {
687
+ return isValidItem(pItem);
688
+ }) : undefined;
689
+ return matchedItem || processedItem;
690
+ };
691
+ var findPrevItem = function findPrevItem(processedItem) {
692
+ var index = visibleItems.findIndex(function (item) {
693
+ return item.key === processedItem.key;
694
+ });
695
+ var matchedItem = index > 0 ? ObjectUtils.findLast(visibleItems.slice(0, index), function (pItem) {
696
+ return isValidItem(pItem);
697
+ }) : undefined;
698
+ return matchedItem || processedItem;
699
+ };
700
+ var searchItems = function searchItems(event, _char) {
701
+ searchValue.current = (searchValue.current || '') + _char;
702
+ var matchedItem = null;
703
+ var matched = false;
704
+ if (ObjectUtils.isNotEmpty(focusedItem)) {
705
+ var focusedItemIndex = visibleItems.findIndex(function (processedItem) {
706
+ return processedItem.key === focusedItem.key;
707
+ });
708
+ matchedItem = visibleItems.slice(focusedItemIndex).find(function (processedItem) {
709
+ return isItemMatched(processedItem);
710
+ });
711
+ matchedItem = ObjectUtils.isEmpty(matchedItem) ? visibleItems.slice(0, focusedItemIndex).find(function (processedItem) {
712
+ return isItemMatched(processedItem);
713
+ }) : matchedItem;
714
+ } else {
715
+ matchedItem = visibleItems.find(function (processedItem) {
716
+ return isItemMatched(processedItem);
717
+ });
718
+ }
719
+ if (ObjectUtils.isNotEmpty(matchedItem)) {
720
+ matched = true;
721
+ }
722
+ if (ObjectUtils.isEmpty(matchedItem) && ObjectUtils.isEmpty(focusedItem)) {
723
+ matchedItem = findFirstItem();
724
+ }
725
+ if (ObjectUtils.isNotEmpty(matchedItem)) {
726
+ changeFocusedItem({
727
+ originalEvent: event,
728
+ processedItem: matchedItem,
729
+ allowHeaderFocus: false
730
+ });
731
+ }
732
+ if (searchTimeout) {
733
+ clearTimeout(searchTimeout.current);
734
+ }
735
+ searchTimeout.current = setTimeout(function () {
736
+ searchValue.current = '';
737
+ searchTimeout.currentt = null;
738
+ }, 500);
739
+ return matched;
740
+ };
741
+ var changeFocusedItem = function changeFocusedItem(event) {
742
+ var originalEvent = event.originalEvent,
743
+ processedItem = event.processedItem,
744
+ focusOnNext = event.focusOnNext,
745
+ selfCheck = event.selfCheck,
746
+ _event$allowHeaderFoc = event.allowHeaderFocus,
747
+ allowHeaderFocus = _event$allowHeaderFoc === void 0 ? true : _event$allowHeaderFoc;
748
+ if (ObjectUtils.isNotEmpty(focusedItem) && focusedItem.key !== processedItem.key) {
749
+ setFocusedItem(processedItem);
750
+ scrollInView();
751
+ } else if (allowHeaderFocus) {
752
+ props.onHeaderFocus && props.onHeaderFocus({
753
+ originalEvent: originalEvent,
754
+ focusOnNext: focusOnNext,
755
+ selfCheck: selfCheck
756
+ });
757
+ }
758
+ };
759
+ var scrollInView = function scrollInView() {
760
+ var element = DomHandler.findSingle(getListElement(), "li[id=\"".concat("".concat(focusedItemId), "\"]"));
761
+ if (element) {
762
+ element.scrollIntoView && element.scrollIntoView({
763
+ block: 'nearest',
764
+ inline: 'start'
765
+ });
766
+ }
767
+ };
768
+ var autoUpdateActiveItemPath = function autoUpdateActiveItemPath(expandedKeys) {
769
+ var _activeItemPath = Object.entries(expandedKeys || {}).reduce(function (acc, _ref) {
770
+ var _ref2 = _slicedToArray(_ref, 2),
771
+ key = _ref2[0],
772
+ val = _ref2[1];
773
+ if (val) {
774
+ var processedItem = findProcessedItemByItemKey(key);
775
+ processedItem && acc.push(processedItem);
776
+ }
777
+ return acc;
778
+ }, []);
779
+ setActiveItemPath(_activeItemPath);
780
+ };
781
+ var findProcessedItemByItemKey = function findProcessedItemByItemKey(key, processed) {
782
+ var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
783
+ var _processedItems = processed ? processed : level === 0 && props.model;
784
+ if (!_processedItems) return null;
785
+ for (var i = 0; i < _processedItems.length; i++) {
786
+ var processedItem = _processedItems[i];
787
+ var processedKey = getItemProp(processedItem, 'key') || processedItem.key;
788
+ if (processedKey === key) return processedItem;
789
+ var matchedItem = findProcessedItemByItemKey(key, processedItem.items, level + 1);
790
+ if (matchedItem) return matchedItem;
791
+ }
792
+ };
793
+ var createProcessedItems = function createProcessedItems(items) {
794
+ var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
795
+ var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
796
+ var parentKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
797
+ var processedItems = [];
798
+ items && items.forEach(function (item, index) {
799
+ var key = item.key ? item.key : (parentKey !== '' ? parentKey + '_' : '') + index;
800
+ var newItem = {
801
+ item: item,
802
+ index: index,
803
+ level: level,
804
+ key: key,
805
+ parent: parent,
806
+ parentKey: parentKey
807
+ };
808
+ newItem['items'] = createProcessedItems(item.items, level + 1, newItem, key);
809
+ processedItems.push(newItem);
810
+ });
811
+ return processedItems;
812
+ };
813
+ var flatItems = function flatItems(processedItems) {
814
+ var processedFlattenItems = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
815
+ processedItems && processedItems.forEach(function (processedItem) {
816
+ if (isVisibleItem(processedItem)) {
817
+ processedFlattenItems.push(processedItem);
818
+ flatItems(processedItem.items, processedFlattenItems);
819
+ }
820
+ });
821
+ return processedFlattenItems;
822
+ };
823
+ useUpdateEffect(function () {
824
+ var processed = createProcessedItems(props.model);
825
+ setProcessedItems(processed);
826
+ }, [props.model]);
827
+ useUpdateEffect(function () {
828
+ var _visibleItems = flatItems(processedItems);
829
+ setVisibleItems(_visibleItems);
830
+ }, [processedItems, activeItemPath]);
831
+ useUpdateEffect(function () {
832
+ var _id = ObjectUtils.isNotEmpty(focusedItem) ? "".concat(props.panelId, "_").concat(focusedItem.key) : null;
833
+ setFocusedItemId(_id);
834
+ }, [props.panelId, focusedItem]);
835
+ useUpdateEffect(function () {
836
+ autoUpdateActiveItemPath(props.expandedKeys);
837
+ }, [props.expandedKeys]);
838
+ return /*#__PURE__*/React.createElement(PanelMenuSub, {
839
+ hostName: "PanelMenu",
840
+ id: props.panelId + '_list',
841
+ ref: elementRef,
842
+ role: "tree",
843
+ tabIndex: -1,
844
+ ariaActivedescendant: focused ? focusedItemId : undefined,
845
+ panelId: props.panelId,
846
+ focusedItemId: focused ? focusedItemId : undefined,
847
+ model: processedItems,
848
+ activeItemPath: activeItemPath,
849
+ menuProps: props.menuProps,
850
+ onFocus: onFocus,
851
+ onBlur: onBlur,
852
+ onKeyDown: onKeyDown,
853
+ onItemToggle: onItemToggle,
854
+ level: 0,
855
+ className: cx('submenu'),
856
+ submenuIcon: props.submenuIcon,
857
+ root: true,
858
+ ptm: ptm,
859
+ cx: cx
860
+ });
861
+ });
862
+ PanelMenuList.displayName = 'PanelMenuList';
863
+
410
864
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
411
865
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
412
866
  var PanelMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (inProps, ref) {
@@ -420,19 +874,20 @@ var PanelMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
420
874
  _React$useState4 = _slicedToArray(_React$useState3, 2),
421
875
  activeItemState = _React$useState4[0],
422
876
  setActiveItemState = _React$useState4[1];
423
- var _React$useState5 = React.useState(false),
877
+ var _React$useState5 = React.useState([]),
424
878
  _React$useState6 = _slicedToArray(_React$useState5, 2),
425
- animationDisabled = _React$useState6[0],
426
- setAnimationDisabled = _React$useState6[1];
879
+ activeItemsState = _React$useState6[0],
880
+ setActiveItemsState = _React$useState6[1];
881
+ var _React$useState7 = React.useState(false),
882
+ _React$useState8 = _slicedToArray(_React$useState7, 2);
883
+ _React$useState8[0];
884
+ var setAnimationDisabled = _React$useState8[1];
427
885
  var elementRef = React.useRef(null);
428
- var headerId = idState + '_header';
429
- var contentId = idState + '_content';
430
886
  var _PanelMenuBase$setMet = PanelMenuBase.setMetaData({
431
887
  props: props,
432
888
  state: {
433
889
  id: idState,
434
- activeItem: activeItemState,
435
- animationDisabled: animationDisabled
890
+ activeItem: activeItemState
436
891
  }
437
892
  }),
438
893
  ptm = _PanelMenuBase$setMet.ptm,
@@ -441,24 +896,6 @@ var PanelMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
441
896
  useHandleStyle(PanelMenuBase.css.styles, isUnstyled, {
442
897
  name: 'panelmenu'
443
898
  });
444
- var findActiveItem = function findActiveItem() {
445
- if (props.model) {
446
- if (props.multiple) {
447
- return props.model.filter(function (item) {
448
- return item.expanded;
449
- });
450
- } else {
451
- var activeItem = null;
452
- props.model.forEach(function (item) {
453
- if (item.expanded) {
454
- if (!activeItem) activeItem = item;else item.expanded = false;
455
- }
456
- });
457
- return activeItem;
458
- }
459
- }
460
- return null;
461
- };
462
899
  var onItemClick = function onItemClick(event, item) {
463
900
  if (item.disabled) {
464
901
  event.preventDefault();
@@ -473,30 +910,163 @@ var PanelMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
473
910
  item: item
474
911
  });
475
912
  }
476
- var activeItem = activeItemState;
477
- var active = isItemActive(item);
478
- if (active) {
479
- item.expanded = false;
480
- setActiveItemState(props.multiple ? activeItem.filter(function (a_item) {
481
- return a_item !== item;
482
- }) : null);
483
- } else {
484
- if (!props.multiple && activeItem) {
485
- activeItem.expanded = false;
486
- }
487
- if (item.items) {
488
- item.expanded = true;
489
- setActiveItemState(props.multiple ? [].concat(_toConsumableArray(activeItem || []), [item]) : item);
913
+ changeActiveItem(event, item);
914
+ };
915
+ var getItemProp = function getItemProp(item, name) {
916
+ return item ? ObjectUtils.getItemValue(item[name]) : undefined;
917
+ };
918
+ var isItemActive = function isItemActive(item) {
919
+ return props.expandedKeys ? props.expandedKeys[getItemProp(item, 'key')] : props.multiple ? activeItemsState.some(function (subItem) {
920
+ return ObjectUtils.equals(item, subItem);
921
+ }) : ObjectUtils.equals(item, activeItemState);
922
+ };
923
+ var isItemVisible = function isItemVisible(item) {
924
+ return getItemProp(item, 'visible') !== false;
925
+ };
926
+ var isItemDisabled = function isItemDisabled(item) {
927
+ return getItemProp(item, 'disabled');
928
+ };
929
+ var isItemFocused = function isItemFocused(item) {
930
+ return ObjectUtils.equals(item, activeItemState);
931
+ };
932
+ var getPanelId = function getPanelId(index) {
933
+ return "".concat(idState, "_").concat(index);
934
+ };
935
+ var getHeaderId = function getHeaderId(index) {
936
+ return "".concat(getPanelId(index), "_header");
937
+ };
938
+ var getContentId = function getContentId(index) {
939
+ return "".concat(getPanelId(index), "_content");
940
+ };
941
+ var onHeaderKeyDown = function onHeaderKeyDown(event, item) {
942
+ switch (event.code) {
943
+ case 'ArrowDown':
944
+ onHeaderArrowDownKey(event);
945
+ break;
946
+ case 'ArrowUp':
947
+ onHeaderArrowUpKey(event);
948
+ break;
949
+ case 'Home':
950
+ onHeaderHomeKey(event);
951
+ break;
952
+ case 'End':
953
+ onHeaderEndKey(event);
954
+ break;
955
+ case 'Enter':
956
+ case 'NumpadEnter':
957
+ case 'Space':
958
+ onHeaderEnterKey(event, item);
959
+ break;
960
+ }
961
+ };
962
+ var onHeaderArrowDownKey = function onHeaderArrowDownKey(event) {
963
+ var rootList = DomHandler.getAttribute(event.currentTarget, 'data-p-highlight') === true ? DomHandler.findSingle(event.currentTarget.nextElementSibling, '[data-pc-section="menu"]') : null;
964
+ rootList ? DomHandler.focus(rootList) : updateFocusedHeader({
965
+ originalEvent: event,
966
+ focusOnNext: true
967
+ });
968
+ event.preventDefault();
969
+ };
970
+ var onHeaderArrowUpKey = function onHeaderArrowUpKey(event) {
971
+ var prevHeader = findPrevHeader(event.currentTarget.parentElement) || findLastHeader();
972
+ var rootList = DomHandler.getAttribute(prevHeader, 'data-p-highlight') === true ? DomHandler.findSingle(prevHeader.nextElementSibling, '[data-pc-section="menu"]') : null;
973
+ rootList ? DomHandler.focus(rootList) : updateFocusedHeader({
974
+ originalEvent: event,
975
+ focusOnNext: false
976
+ });
977
+ event.preventDefault();
978
+ };
979
+ var onHeaderHomeKey = function onHeaderHomeKey(event) {
980
+ changeFocusedHeader(event, findFirstHeader());
981
+ event.preventDefault();
982
+ };
983
+ var onHeaderEndKey = function onHeaderEndKey(event) {
984
+ changeFocusedHeader(event, findLastHeader());
985
+ event.preventDefault();
986
+ };
987
+ var onHeaderEnterKey = function onHeaderEnterKey(event, item) {
988
+ var headerAction = DomHandler.findSingle(event.currentTarget, '[data-pc-section="headeraction"]');
989
+ headerAction ? headerAction.click() : onItemClick(event, item);
990
+ event.preventDefault();
991
+ };
992
+ var findNextHeader = function findNextHeader(panelElement) {
993
+ var selfCheck = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
994
+ var nextPanelElement = selfCheck ? panelElement : panelElement.nextElementSibling;
995
+ var headerElement = DomHandler.findSingle(nextPanelElement, '[data-pc-section="header"]');
996
+ return headerElement ? DomHandler.getAttribute(headerElement, 'data-p-disabled') ? findNextHeader(headerElement.parentElement) : headerElement : null;
997
+ };
998
+ var findPrevHeader = function findPrevHeader(panelElement) {
999
+ var selfCheck = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1000
+ var prevPanelElement = selfCheck ? panelElement : panelElement.previousElementSibling;
1001
+ var headerElement = DomHandler.findSingle(prevPanelElement, '[data-pc-section="header"]');
1002
+ return headerElement ? DomHandler.getAttribute(headerElement, 'data-p-disabled') ? findPrevHeader(headerElement.parentElement) : headerElement : null;
1003
+ };
1004
+ var findFirstHeader = function findFirstHeader() {
1005
+ return findNextHeader(elementRef.current.firstElementChild, true);
1006
+ };
1007
+ var findLastHeader = function findLastHeader() {
1008
+ return findPrevHeader(elementRef.current.lastElementChild, true);
1009
+ };
1010
+ var updateFocusedHeader = function updateFocusedHeader(event) {
1011
+ var originalEvent = event.originalEvent,
1012
+ focusOnNext = event.focusOnNext,
1013
+ selfCheck = event.selfCheck;
1014
+ var panelElement = originalEvent.currentTarget.closest('[data-pc-section="panel"]');
1015
+ var header = selfCheck ? DomHandler.findSingle(panelElement, '[data-pc-section="header"]') : focusOnNext ? findNextHeader(panelElement) : findPrevHeader(panelElement);
1016
+ header ? changeFocusedHeader(originalEvent, header) : focusOnNext ? onHeaderHomeKey(originalEvent) : onHeaderEndKey(originalEvent);
1017
+ };
1018
+ var changeActiveItem = function changeActiveItem(event, item) {
1019
+ if (!isItemDisabled(item)) {
1020
+ var active = isItemActive(item);
1021
+ var isOpen = !active;
1022
+ var _activeItemState = activeItemState && ObjectUtils.equals(item, activeItemState) ? null : item;
1023
+ setActiveItemState(_activeItemState);
1024
+ if (props.multiple) {
1025
+ var activeItems = activeItemsState;
1026
+ if (activeItemsState.some(function (subItem) {
1027
+ return ObjectUtils.equals(item, subItem);
1028
+ })) {
1029
+ activeItemsState.filter(function (subItem) {
1030
+ return !ObjectUtils.equals(item, subItem);
1031
+ }), _readOnlyError("activeItems");
1032
+ } else {
1033
+ activeItems.push(item);
1034
+ }
1035
+ setActiveItemsState(activeItems);
490
1036
  }
1037
+ changeExpandedKeys({
1038
+ item: item,
1039
+ expanded: !active
1040
+ });
1041
+ isOpen ? props.onOpen && props.onOpen({
1042
+ originalEvent: event,
1043
+ item: item
1044
+ }) : props.onClose && props.onClose({
1045
+ originalEvent: event,
1046
+ item: item
1047
+ });
491
1048
  }
492
1049
  };
493
- var isItemActive = function isItemActive(item) {
494
- return activeItemState && (props.multiple ? activeItemState.indexOf(item) > -1 : activeItemState === item);
1050
+ var changeExpandedKeys = function changeExpandedKeys(_ref) {
1051
+ var item = _ref.item,
1052
+ _ref$expanded = _ref.expanded,
1053
+ expanded = _ref$expanded === void 0 ? false : _ref$expanded;
1054
+ if (props.expandedKeys) {
1055
+ var _keys = _objectSpread({}, props.expandedKeys);
1056
+ if (expanded) _keys[item.key] = true;else delete _keys[item.key];
1057
+ props.onExpandedKeysChange && props.onExpandedKeysChange(_keys);
1058
+ }
495
1059
  };
496
- var getPTOptions = function getPTOptions(item, key) {
1060
+ var changeFocusedHeader = function changeFocusedHeader(event, element) {
1061
+ element && DomHandler.focus(element);
1062
+ };
1063
+ var getPTOptions = function getPTOptions(item, key, index) {
497
1064
  return ptm(key, {
498
1065
  context: {
499
- active: isItemActive(item)
1066
+ active: isItemActive(item),
1067
+ focused: isItemFocused(item),
1068
+ disabled: isItemDisabled(item),
1069
+ index: index
500
1070
  }
501
1071
  });
502
1072
  };
@@ -512,17 +1082,15 @@ var PanelMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
512
1082
  if (!idState) {
513
1083
  setIdState(UniqueComponentId());
514
1084
  }
515
- setActiveItemState(findActiveItem());
516
1085
  });
517
1086
  useUpdateEffect(function () {
518
1087
  setAnimationDisabled(true);
519
- setActiveItemState(findActiveItem());
520
1088
  }, [props.model]);
521
1089
  var onEnter = function onEnter() {
522
1090
  setAnimationDisabled(false);
523
1091
  };
524
1092
  var createPanel = function createPanel(item, index) {
525
- if (item.visible === false) {
1093
+ if (!isItemVisible(item)) {
526
1094
  return null;
527
1095
  }
528
1096
  var key = item.id || idState + '_' + index;
@@ -532,31 +1100,25 @@ var PanelMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
532
1100
  className: cx('headerIcon', {
533
1101
  item: item
534
1102
  })
535
- }, getPTOptions(item, 'headerIcon'));
1103
+ }, getPTOptions(item, 'headerIcon', index));
536
1104
  var icon = IconUtils.getJSXIcon(item.icon, _objectSpread({}, headerIconProps), {
537
1105
  props: props
538
1106
  });
539
1107
  var submenuIconClassName = 'p-panelmenu-icon';
540
1108
  var headerSubmenuIconProps = mergeProps({
541
1109
  className: cx('headerSubmenuIcon')
542
- }, getPTOptions(item, 'headerSubmenuIcon'));
1110
+ }, getPTOptions(item, 'headerSubmenuIcon', index));
543
1111
  var submenuIcon = item.items && IconUtils.getJSXIcon(active ? props.submenuIcon || /*#__PURE__*/React.createElement(ChevronDownIcon, headerSubmenuIconProps) : props.submenuIcon || /*#__PURE__*/React.createElement(ChevronRightIcon, headerSubmenuIconProps));
544
1112
  var headerLabelProps = mergeProps({
545
1113
  className: cx('headerLabel')
546
- }, getPTOptions(item, 'headerLabel'));
1114
+ }, getPTOptions(item, 'headerLabel', index));
547
1115
  var label = item.label && /*#__PURE__*/React.createElement("span", headerLabelProps, item.label);
548
1116
  var menuContentRef = /*#__PURE__*/React.createRef();
549
1117
  var headerActionProps = mergeProps({
550
1118
  href: item.url || '#',
551
1119
  className: cx('headerAction'),
552
- onClick: function onClick(e) {
553
- return onItemClick(e, item);
554
- },
555
- 'aria-expanded': active,
556
- id: headerId,
557
- 'aria-controls': contentId,
558
- 'aria-disabled': item.disabled
559
- }, getPTOptions(item, 'headerAction'));
1120
+ tabIndex: '-1'
1121
+ }, getPTOptions(item, 'headerAction', index));
560
1122
  var content = /*#__PURE__*/React.createElement("a", headerActionProps, submenuIcon, icon, label);
561
1123
  if (item.template) {
562
1124
  var defaultContentOptions = {
@@ -580,24 +1142,42 @@ var PanelMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
580
1142
  item: item
581
1143
  }),
582
1144
  style: item.style
583
- }, getPTOptions(item, 'panel'));
1145
+ }, getPTOptions(item, 'panel', index));
584
1146
  var headerProps = mergeProps({
1147
+ id: getHeaderId(index),
585
1148
  className: cx('header', {
586
1149
  active: active,
587
1150
  item: item
588
1151
  }),
1152
+ 'aria-label': item.label,
1153
+ 'aria-expanded': active,
1154
+ 'aria-disabled': item.disabled,
1155
+ 'aria-controls': getContentId(index),
1156
+ tabIndex: item.disabled ? null : '0',
1157
+ onClick: function onClick(event) {
1158
+ return onItemClick(event, item);
1159
+ },
1160
+ onKeyDown: function onKeyDown(event) {
1161
+ return onHeaderKeyDown(event, item);
1162
+ },
1163
+ 'data-p-disabled': item.disabled,
1164
+ 'data-p-highlight': active,
1165
+ role: 'button',
589
1166
  style: item.style
590
- }, getPTOptions(item, 'header'));
1167
+ }, getPTOptions(item, 'header', index));
1168
+ var headerContentProps = mergeProps({
1169
+ className: cx('headerContent')
1170
+ }, getPTOptions(item, 'headerContent', index));
591
1171
  var menuContentProps = mergeProps({
592
1172
  className: cx('menuContent')
593
- }, getPTOptions(item, 'menuContent'));
1173
+ }, getPTOptions(item, 'menuContent', index));
594
1174
  var toggleableContentProps = mergeProps({
595
1175
  className: cx('toggleableContent', {
596
1176
  active: active
597
1177
  }),
598
1178
  role: 'region',
599
- 'aria-labelledby': headerId
600
- }, getPTOptions(item, 'toggleableContent'));
1179
+ 'aria-labelledby': getHeaderId(index)
1180
+ }, getPTOptions(item, 'toggleableContent', index));
601
1181
  var transitionProps = mergeProps({
602
1182
  classNames: cx('transition'),
603
1183
  timeout: {
@@ -605,25 +1185,25 @@ var PanelMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
605
1185
  exit: 450
606
1186
  },
607
1187
  onEnter: onEnter,
608
- disabled: animationDisabled,
609
1188
  "in": active,
610
1189
  unmountOnExit: true,
611
1190
  options: props.transitionOptions
612
- }, getPTOptions(item, 'transition'));
613
- return /*#__PURE__*/React.createElement("div", panelProps, /*#__PURE__*/React.createElement("div", headerProps, content), /*#__PURE__*/React.createElement(CSSTransition, _extends({
1191
+ }, getPTOptions(item, 'transition', index));
1192
+ return /*#__PURE__*/React.createElement("div", panelProps, /*#__PURE__*/React.createElement("div", headerProps, /*#__PURE__*/React.createElement("div", headerContentProps, content)), /*#__PURE__*/React.createElement(CSSTransition, _extends({
614
1193
  nodeRef: menuContentRef
615
1194
  }, transitionProps), /*#__PURE__*/React.createElement("div", _extends({
616
- id: contentId,
1195
+ id: getContentId(index),
617
1196
  ref: menuContentRef
618
- }, toggleableContentProps), /*#__PURE__*/React.createElement("div", menuContentProps, /*#__PURE__*/React.createElement(PanelMenuSub, {
619
- hostName: "PanelMenu",
620
- id: key,
1197
+ }, toggleableContentProps), /*#__PURE__*/React.createElement("div", menuContentProps, /*#__PURE__*/React.createElement(PanelMenuList, {
1198
+ panelId: getPanelId(index),
621
1199
  menuProps: props,
1200
+ onToggle: changeExpandedKeys,
1201
+ onHeaderFocus: updateFocusedHeader,
1202
+ level: 0,
622
1203
  model: item.items,
1204
+ expandedKeys: props.expandedKeys,
623
1205
  className: "p-panelmenu-root-submenu",
624
- multiple: props.multiple,
625
1206
  submenuIcon: props.submenuIcon,
626
- root: true,
627
1207
  ptm: ptm,
628
1208
  cx: cx
629
1209
  })))));
@@ -633,13 +1213,12 @@ var PanelMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
633
1213
  };
634
1214
  var panels = createPanels();
635
1215
  var rootProps = mergeProps({
1216
+ ref: elementRef,
636
1217
  className: cx('root'),
1218
+ id: props.id,
637
1219
  style: props.style
638
1220
  }, PanelMenuBase.getOtherProps(props), ptm('root'));
639
- return /*#__PURE__*/React.createElement("div", _extends({
640
- id: props.id,
641
- ref: elementRef
642
- }, rootProps), panels);
1221
+ return /*#__PURE__*/React.createElement("div", rootProps, panels);
643
1222
  }));
644
1223
  PanelMenu.displayName = 'PanelMenu';
645
1224