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