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 PrimeReact, { PrimeReactContext } from 'primereact/api';
4
4
  import { ComponentBase, useHandleStyle } from 'primereact/componentbase';
5
5
  import { CSSTransition } from 'primereact/csstransition';
6
- import { useEventListener, useResizeListener, useMountEffect, useUpdateEffect, useMatchMedia, useOverlayListener, useUnmountEffect } from 'primereact/hooks';
6
+ import { useUpdateEffect, useMatchMedia, useEventListener, useResizeListener, useMountEffect, useUnmountEffect } from 'primereact/hooks';
7
7
  import { OverlayService } from 'primereact/overlayservice';
8
8
  import { Portal } from 'primereact/portal';
9
- import { classNames, mergeProps, DomHandler, IconUtils, ObjectUtils, UniqueComponentId, ZIndexUtils } from 'primereact/utils';
9
+ import { classNames, mergeProps, DomHandler, ObjectUtils, IconUtils, UniqueComponentId, ZIndexUtils } from 'primereact/utils';
10
10
  import { AngleRightIcon } from 'primereact/icons/angleright';
11
11
  import { Ripple } from 'primereact/ripple';
12
12
 
@@ -25,6 +25,47 @@ function _extends() {
25
25
  return _extends.apply(this, arguments);
26
26
  }
27
27
 
28
+ function _typeof(o) {
29
+ "@babel/helpers - typeof";
30
+
31
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
32
+ return typeof o;
33
+ } : function (o) {
34
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
35
+ }, _typeof(o);
36
+ }
37
+
38
+ function _toPrimitive(input, hint) {
39
+ if (_typeof(input) !== "object" || input === null) return input;
40
+ var prim = input[Symbol.toPrimitive];
41
+ if (prim !== undefined) {
42
+ var res = prim.call(input, hint || "default");
43
+ if (_typeof(res) !== "object") return res;
44
+ throw new TypeError("@@toPrimitive must return a primitive value.");
45
+ }
46
+ return (hint === "string" ? String : Number)(input);
47
+ }
48
+
49
+ function _toPropertyKey(arg) {
50
+ var key = _toPrimitive(arg, "string");
51
+ return _typeof(key) === "symbol" ? key : String(key);
52
+ }
53
+
54
+ function _defineProperty(obj, key, value) {
55
+ key = _toPropertyKey(key);
56
+ if (key in obj) {
57
+ Object.defineProperty(obj, key, {
58
+ value: value,
59
+ enumerable: true,
60
+ configurable: true,
61
+ writable: true
62
+ });
63
+ } else {
64
+ obj[key] = value;
65
+ }
66
+ return obj;
67
+ }
68
+
28
69
  function _arrayWithHoles(arr) {
29
70
  if (Array.isArray(arr)) return arr;
30
71
  }
@@ -90,49 +131,39 @@ var classes = {
90
131
  'p-ripple-disabled': context && context.ripple === false || PrimeReact.ripple === false
91
132
  }, props.className);
92
133
  },
93
- separator: 'p-menu-separator',
134
+ separator: 'p-menuitem-separator',
94
135
  icon: function icon(_ref2) {
95
136
  var _icon = _ref2._icon;
96
137
  return classNames('p-menuitem-icon', _icon);
97
138
  },
139
+ content: 'p-menuitem-content',
98
140
  label: 'p-menuitem-text',
99
141
  submenuIcon: 'p-submenu-icon',
100
- action: function action(_ref3) {
101
- var disabled = _ref3.disabled;
102
- return classNames('p-menuitem-link', {
103
- 'p-disabled': disabled
104
- });
105
- },
106
- menuitem: function menuitem(_ref4) {
107
- var _className = _ref4._className,
108
- active = _ref4.active;
142
+ action: 'p-menuitem-link',
143
+ menuitem: function menuitem(_ref3) {
144
+ var _className = _ref3._className,
145
+ active = _ref3.active,
146
+ focused = _ref3.focused,
147
+ disabled = _ref3.disabled;
109
148
  return classNames('p-menuitem', {
110
- 'p-menuitem-active': active
149
+ 'p-menuitem-active p-highlight': active,
150
+ 'p-focus': focused,
151
+ 'p-disabled': disabled
111
152
  }, _className);
112
153
  },
113
- menu: function menu(_ref5) {
114
- var props = _ref5.subProps;
115
- return classNames({
116
- 'p-submenu-list': !props.root
117
- });
118
- },
119
- submenu: function submenu(_ref6) {
120
- var props = _ref6.subProps;
121
- return classNames({
122
- 'p-submenu-list': !props.root
123
- });
124
- },
154
+ menu: 'p-tieredmenu-root-list',
155
+ submenu: 'p-submenu-list',
125
156
  transition: 'p-connected-overlay'
126
157
  };
127
158
  var inlineStyles = {
128
- submenu: function submenu(_ref7) {
129
- var props = _ref7.subProps;
159
+ submenu: function submenu(_ref4) {
160
+ var props = _ref4.subProps;
130
161
  return {
131
162
  display: !props.root && props.parentActive ? 'block' : 'none'
132
163
  };
133
164
  }
134
165
  };
135
- var styles = "\n@layer primereact {\n .p-tieredmenu-overlay {\n position: absolute;\n }\n \n .p-tieredmenu ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n \n .p-tieredmenu .p-submenu-list {\n position: absolute;\n min-width: 100%;\n z-index: 1;\n display: none;\n }\n \n .p-tieredmenu .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n }\n \n .p-tieredmenu .p-menuitem-text {\n line-height: 1;\n }\n \n .p-tieredmenu .p-menuitem {\n position: relative;\n }\n \n .p-tieredmenu .p-menuitem-link .p-submenu-icon {\n margin-left: auto;\n }\n \n .p-tieredmenu .p-menuitem-active > .p-submenu-list {\n display: block;\n left: 100%;\n top: 0;\n }\n \n .p-tieredmenu .p-menuitem-active > .p-submenu-list-flipped {\n left: -100%;\n }\n}\n";
166
+ var styles = "\n@layer primereact {\n .p-tieredmenu-overlay {\n position: absolute;\n }\n\n .p-tieredmenu ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-tieredmenu .p-submenu-list {\n position: absolute;\n min-width: 100%;\n z-index: 1;\n display: none;\n }\n\n .p-tieredmenu .p-menuitem-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n }\n\n .p-tieredmenu .p-menuitem-text {\n line-height: 1;\n }\n\n .p-tieredmenu .p-menuitem {\n position: relative;\n }\n\n .p-tieredmenu .p-menuitem-link .p-submenu-icon {\n margin-left: auto;\n }\n\n .p-tieredmenu .p-menuitem-active > .p-submenu-list {\n display: block;\n left: 100%;\n top: 0;\n }\n\n .p-tieredmenu .p-menuitem-active > .p-submenu-list-flipped {\n left: -100%;\n }\n}\n";
136
167
  var TieredMenuBase = ComponentBase.extend({
137
168
  defaultProps: {
138
169
  __TYPE: 'TieredMenu',
@@ -148,6 +179,8 @@ var TieredMenuBase = ComponentBase.extend({
148
179
  appendTo: null,
149
180
  transitionOptions: null,
150
181
  onShow: null,
182
+ onFocus: null,
183
+ onBlur: null,
151
184
  onHide: null,
152
185
  submenuIcon: null,
153
186
  children: undefined
@@ -159,54 +192,9 @@ var TieredMenuBase = ComponentBase.extend({
159
192
  }
160
193
  });
161
194
 
162
- function _typeof(o) {
163
- "@babel/helpers - typeof";
164
-
165
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
166
- return typeof o;
167
- } : function (o) {
168
- return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
169
- }, _typeof(o);
170
- }
171
-
172
- function _toPrimitive(input, hint) {
173
- if (_typeof(input) !== "object" || input === null) return input;
174
- var prim = input[Symbol.toPrimitive];
175
- if (prim !== undefined) {
176
- var res = prim.call(input, hint || "default");
177
- if (_typeof(res) !== "object") return res;
178
- throw new TypeError("@@toPrimitive must return a primitive value.");
179
- }
180
- return (hint === "string" ? String : Number)(input);
181
- }
182
-
183
- function _toPropertyKey(arg) {
184
- var key = _toPrimitive(arg, "string");
185
- return _typeof(key) === "symbol" ? key : String(key);
186
- }
187
-
188
- function _defineProperty(obj, key, value) {
189
- key = _toPropertyKey(key);
190
- if (key in obj) {
191
- Object.defineProperty(obj, key, {
192
- value: value,
193
- enumerable: true,
194
- configurable: true,
195
- writable: true
196
- });
197
- } else {
198
- obj[key] = value;
199
- }
200
- return obj;
201
- }
202
-
203
- 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; }
204
- 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; }
205
- var TieredMenuSub = /*#__PURE__*/React.memo(function (props) {
206
- var _React$useState = React.useState(null),
207
- _React$useState2 = _slicedToArray(_React$useState, 2),
208
- activeItemState = _React$useState2[0],
209
- setActiveItemState = _React$useState2[1];
195
+ 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; }
196
+ 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; }
197
+ var TieredMenuSub = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (props, ref) {
210
198
  var elementRef = React.useRef(null);
211
199
  var ptm = props.ptm,
212
200
  cx = props.cx,
@@ -215,27 +203,10 @@ var TieredMenuSub = /*#__PURE__*/React.memo(function (props) {
215
203
  return ptm(key, {
216
204
  hostName: props.hostName,
217
205
  context: {
218
- active: activeItemState === item
206
+ active: isItemActive(item)
219
207
  }
220
208
  });
221
209
  };
222
- var _useEventListener = useEventListener({
223
- type: 'click',
224
- listener: function listener(event) {
225
- if (!props.isMobileMode && elementRef.current && !elementRef.current.contains(event.target)) {
226
- setActiveItemState(null);
227
- }
228
- }
229
- }),
230
- _useEventListener2 = _slicedToArray(_useEventListener, 1),
231
- bindDocumentClickListener = _useEventListener2[0];
232
- var _useResizeListener = useResizeListener({
233
- listener: function listener() {
234
- !props.isMobileMode && setActiveItemState(null);
235
- }
236
- }),
237
- _useResizeListener2 = _slicedToArray(_useResizeListener, 1),
238
- bindDocumentResizeListener = _useResizeListener2[0];
239
210
  var position = function position() {
240
211
  if (elementRef.current) {
241
212
  var parentItem = elementRef.current.parentElement;
@@ -254,21 +225,9 @@ var TieredMenuSub = /*#__PURE__*/React.memo(function (props) {
254
225
  }
255
226
  }
256
227
  };
257
- var onItemMouseEnter = function onItemMouseEnter(event, item) {
258
- if (item.disabled || props.isMobileMode) {
259
- event.preventDefault();
260
- return;
261
- }
262
- if (props.root) {
263
- if (activeItemState || props.popup) {
264
- setActiveItemState(item);
265
- }
266
- } else {
267
- setActiveItemState(item);
268
- }
269
- };
270
- var onItemClick = function onItemClick(event, item) {
271
- if (item.disabled) {
228
+ var onItemClick = function onItemClick(event, processedItem) {
229
+ var item = processedItem.item;
230
+ if (isItemDisabled(processedItem)) {
272
231
  event.preventDefault();
273
232
  return;
274
233
  }
@@ -281,82 +240,62 @@ var TieredMenuSub = /*#__PURE__*/React.memo(function (props) {
281
240
  item: item
282
241
  });
283
242
  }
284
- if (props.root || props.isMobileMode) {
285
- if (item.items) {
286
- if (activeItemState && item === activeItemState) setActiveItemState(null);else setActiveItemState(item);
287
- }
288
- }
289
- if (!item.items) {
290
- onLeafClick(event);
291
- }
243
+ props.onItemClick && props.onItemClick({
244
+ originalEvent: event,
245
+ processedItem: processedItem
246
+ });
292
247
  };
293
- var onItemKeyDown = function onItemKeyDown(event, item) {
294
- var listItem = event.currentTarget.parentElement;
295
- switch (event.which) {
296
- //down
297
- case 40:
298
- var nextItem = findNextItem(listItem);
299
- nextItem && nextItem.children[0].focus();
300
- event.preventDefault();
301
- break;
302
-
303
- //up
304
- case 38:
305
- var prevItem = findPrevItem(listItem);
306
- prevItem && prevItem.children[0].focus();
307
- event.preventDefault();
308
- break;
309
-
310
- //right
311
- case 39:
312
- if (item.items) {
313
- setActiveItemState(item);
314
- setTimeout(function () {
315
- listItem.children[1].children[0].children[0].focus();
316
- }, 50);
317
- }
318
- event.preventDefault();
319
- break;
320
- }
321
- props.onKeyDown && props.onKeyDown(event, listItem);
248
+ var getItemId = function getItemId(processedItem) {
249
+ return "".concat(props.menuId, "_").concat(processedItem.key);
322
250
  };
323
- var onChildItemKeyDown = function onChildItemKeyDown(event, childListItem) {
324
- //left
325
- if (event.which === 37) {
326
- setActiveItemState(null);
327
- childListItem.parentElement.previousElementSibling.focus();
328
- }
251
+ var getItemProp = function getItemProp(processedItem, name, params) {
252
+ return processedItem && processedItem.item ? ObjectUtils.getItemValue(processedItem.item[name], params) : undefined;
329
253
  };
330
- var findNextItem = function findNextItem(item) {
331
- var nextItem = item.nextElementSibling;
332
- return nextItem ? DomHandler.hasClass(nextItem, 'p-disabled') || !DomHandler.hasClass(nextItem, 'p-menuitem') ? findNextItem(nextItem) : nextItem : null;
254
+ var isItemActive = function isItemActive(processedItem) {
255
+ return props.activeItemPath.some(function (path) {
256
+ return path.key === processedItem.key;
257
+ });
333
258
  };
334
- var findPrevItem = function findPrevItem(item) {
335
- var prevItem = item.previousElementSibling;
336
- return prevItem ? DomHandler.hasClass(prevItem, 'p-disabled') || !DomHandler.hasClass(prevItem, 'p-menuitem') ? findPrevItem(prevItem) : prevItem : null;
259
+ var isItemVisible = function isItemVisible(processedItem) {
260
+ return getItemProp(processedItem, 'visible') !== false;
337
261
  };
338
- var onLeafClick = function onLeafClick(event) {
339
- if (!props.isMobileMode || props.popup) {
340
- setActiveItemState(null);
341
- props.onLeafClick && props.onLeafClick(event);
342
- props.onHide && props.onHide(event);
343
- }
262
+ var isItemDisabled = function isItemDisabled(processedItem) {
263
+ return getItemProp(processedItem, 'disabled');
264
+ };
265
+ var isItemFocused = function isItemFocused(processedItem) {
266
+ return props.focusedItemId === getItemId(processedItem);
267
+ };
268
+ var isItemGroup = function isItemGroup(processedItem) {
269
+ return ObjectUtils.isNotEmpty(processedItem.items);
270
+ };
271
+ var onItemMouseEnter = function onItemMouseEnter(event, processedItem) {
272
+ props.onItemMouseEnter && props.onItemMouseEnter({
273
+ originalEvent: event,
274
+ processedItem: processedItem
275
+ });
276
+ };
277
+ var getAriaSetSize = function getAriaSetSize() {
278
+ return props.model.filter(function (processedItem) {
279
+ return isItemVisible(processedItem) && !getItemProp(processedItem, 'separator');
280
+ }).length;
281
+ };
282
+ var getAriaPosInset = function getAriaPosInset(index) {
283
+ return index - props.model.slice(0, index).filter(function (processedItem) {
284
+ return isItemVisible(processedItem) && getItemProp(processedItem, 'separator');
285
+ }).length + 1;
344
286
  };
345
- useMountEffect(function () {
346
- bindDocumentClickListener();
347
- bindDocumentResizeListener();
348
- });
349
287
  useUpdateEffect(function () {
350
- if (!props.parentActive) {
351
- setActiveItemState(null);
352
- }
353
288
  if (!props.root && props.parentActive && !props.isMobileMode) {
354
289
  position();
355
290
  }
356
291
  }, [props.parentActive]);
357
- useUpdateEffect(function () {
358
- props.onItemToggle && props.onItemToggle();
359
- }, [activeItemState]);
292
+ React.useImperativeHandle(ref, function () {
293
+ return {
294
+ getElement: function getElement() {
295
+ return elementRef.current;
296
+ }
297
+ };
298
+ });
360
299
  var createSeparator = function createSeparator(index) {
361
300
  var key = 'separator_' + index;
362
301
  var separatorProps = mergeProps({
@@ -368,18 +307,22 @@ var TieredMenuSub = /*#__PURE__*/React.memo(function (props) {
368
307
  }));
369
308
  return /*#__PURE__*/React.createElement("li", separatorProps);
370
309
  };
371
- var createSubmenu = function createSubmenu(item, index) {
372
- if (item.items) {
310
+ var createSubmenu = function createSubmenu(processedItem, index) {
311
+ if (isItemGroup(processedItem)) {
373
312
  return /*#__PURE__*/React.createElement(TieredMenuSub, {
374
313
  id: props.id + '_' + index,
375
314
  menuProps: props.menuProps,
376
- model: item.items,
377
- onLeafClick: onLeafClick,
315
+ model: processedItem.items,
316
+ menuId: props.menuId,
317
+ ariaLabelledby: getItemId(item),
318
+ focusedItemId: props.focusedItemId,
319
+ activeItemPath: props.activeItemPath,
320
+ level: props.level + 1,
321
+ onItemClick: props.onItemClick,
378
322
  popup: props.popup,
379
- onKeyDown: onChildItemKeyDown,
380
- parentActive: item === activeItemState,
323
+ onItemMouseEnter: props.onItemMouseEnter,
324
+ parentActive: isItemActive(processedItem),
381
325
  isMobileMode: props.isMobileMode,
382
- onItemToggle: props.onItemToggle,
383
326
  submenuIcon: props.submenuIcon,
384
327
  ptm: props.ptm,
385
328
  cx: cx,
@@ -388,71 +331,53 @@ var TieredMenuSub = /*#__PURE__*/React.memo(function (props) {
388
331
  }
389
332
  return null;
390
333
  };
391
- var createMenuItem = function createMenuItem(item, index) {
392
- if (item.visible === false) {
334
+ var createMenuItem = function createMenuItem(processedItem, index) {
335
+ if (isItemVisible(processedItem) === false) {
393
336
  return null;
394
337
  }
395
- var id = item.id,
396
- _className = item.className,
397
- style = item.style,
398
- disabled = item.disabled,
399
- _icon = item.icon,
400
- _label = item.label,
401
- items = item.items,
402
- target = item.target,
403
- url = item.url,
404
- template = item.template;
405
- var key = id || props.id + '_' + index;
406
- var active = activeItemState === item;
407
- var linkClassName = classNames('p-menuitem-link', {
408
- 'p-disabled': disabled
409
- });
338
+ var item = processedItem.item;
339
+ var style = getItemProp(processedItem, 'style');
340
+ var _icon = getItemProp(processedItem, 'icon');
341
+ var target = getItemProp(processedItem, 'target');
342
+ var url = getItemProp(processedItem, 'url');
343
+ var key = getItemId(processedItem);
344
+ var focused = isItemFocused(processedItem);
345
+ var active = isItemActive(processedItem);
346
+ var disabled = isItemDisabled(processedItem);
347
+ var grouped = isItemGroup(processedItem);
348
+ var linkClassName = classNames('p-menuitem-link');
410
349
  var iconClassName = classNames('p-menuitem-icon', _icon);
411
350
  var iconProps = mergeProps({
412
- className: cx('icon', {
413
- _icon: _icon
414
- })
415
- }, getPTOptions(item, 'icon'));
416
- var icon = IconUtils.getJSXIcon(_icon, _objectSpread({}, iconProps), {
351
+ className: classNames(item.icon, 'p-menuitem-icon', 'icon')
352
+ }, getPTOptions(processedItem, 'icon'));
353
+ var icon = IconUtils.getJSXIcon(_icon, _objectSpread$1({}, iconProps), {
417
354
  props: props.menuProps
418
355
  });
419
356
  var labelProps = mergeProps({
420
357
  className: cx('label')
421
- }, getPTOptions(item, 'label'));
422
- var label = _label && /*#__PURE__*/React.createElement("span", labelProps, _label);
358
+ }, getPTOptions(processedItem, 'label'));
359
+ var label = item.label && /*#__PURE__*/React.createElement("span", labelProps, item.label);
423
360
  var submenuIconClassName = 'p-submenu-icon';
424
361
  var submenuIconProps = mergeProps({
425
362
  className: cx('submenuIcon')
426
- }, getPTOptions(item, 'submenuIcon'));
427
- var submenuIcon = item.items && IconUtils.getJSXIcon(props.submenuIcon || /*#__PURE__*/React.createElement(AngleRightIcon, submenuIconProps), _objectSpread({}, submenuIconProps), {
363
+ }, getPTOptions(processedItem, 'submenuIcon'));
364
+ var submenuIcon = grouped && IconUtils.getJSXIcon(props.submenuIcon || /*#__PURE__*/React.createElement(AngleRightIcon, submenuIconProps), _objectSpread$1({}, submenuIconProps), {
428
365
  props: props.menuProps
429
366
  });
430
- var submenu = createSubmenu(item, index);
367
+ var submenu = createSubmenu(processedItem, index);
431
368
  var actionProps = mergeProps({
432
369
  href: url || '#',
433
- className: cx('action', {
434
- disabled: disabled
435
- }),
436
- target: target,
437
- role: 'menuitem',
438
- 'aria-haspopup': items != null,
439
- onClick: function onClick(event) {
440
- return onItemClick(event, item);
370
+ 'aria-hidden': true,
371
+ tabIndex: '-1',
372
+ onFocus: function onFocus(event) {
373
+ return event.stopPropagation();
441
374
  },
442
- onKeyDown: function onKeyDown(event) {
443
- return onItemKeyDown(event, item);
444
- },
445
- 'aria-disabled': disabled
446
- }, getPTOptions(item, 'action'));
375
+ className: cx('action'),
376
+ target: target
377
+ }, getPTOptions(processedItem, 'action'));
447
378
  var content = /*#__PURE__*/React.createElement("a", actionProps, icon, label, submenuIcon, /*#__PURE__*/React.createElement(Ripple, null));
448
- if (template) {
379
+ if (item.template) {
449
380
  var defaultContentOptions = {
450
- onClick: function onClick(event) {
451
- return onItemClick(event, item);
452
- },
453
- onKeyDown: function onKeyDown(event) {
454
- return onItemKeyDown(event, item);
455
- },
456
381
  className: linkClassName,
457
382
  labelClassName: 'p-menuitem-text',
458
383
  iconClassName: iconClassName,
@@ -462,25 +387,46 @@ var TieredMenuSub = /*#__PURE__*/React.memo(function (props) {
462
387
  active: active,
463
388
  disabled: disabled
464
389
  };
465
- content = ObjectUtils.getJSXElement(template, item, defaultContentOptions);
390
+ content = ObjectUtils.getJSXElement(item.template, item, defaultContentOptions);
466
391
  }
392
+ var contentProps = mergeProps({
393
+ onClick: function onClick(event) {
394
+ return onItemClick(event, processedItem);
395
+ },
396
+ onMouseEnter: function onMouseEnter(event) {
397
+ return onItemMouseEnter(event, processedItem);
398
+ },
399
+ className: cx('content')
400
+ }, getPTOptions(processedItem, 'content'));
467
401
  var menuitemProps = mergeProps({
468
402
  key: key,
469
403
  id: key,
404
+ 'aria-label': item.label,
405
+ 'aria-disabled': disabled,
406
+ 'aria-expanded': grouped ? active : undefined,
407
+ 'aria-haspopup': grouped && !url ? 'menu' : undefined,
408
+ 'aria-level': props.level + 1,
409
+ 'aria-setsize': getAriaSetSize(),
410
+ 'aria-posinset': getAriaPosInset(index),
411
+ 'data-p-highlight': active,
412
+ 'data-p-disabled': disabled,
413
+ 'data-p-visited': focused,
470
414
  className: cx('menuitem', {
471
- _className: _className,
472
- active: active
415
+ className: item.className,
416
+ active: active,
417
+ focused: focused,
418
+ disabled: disabled
473
419
  }),
474
420
  style: style,
475
421
  onMouseEnter: function onMouseEnter(event) {
476
422
  return onItemMouseEnter(event, item);
477
423
  },
478
- role: 'none'
479
- }, getPTOptions(item, 'menuitem'));
480
- return /*#__PURE__*/React.createElement("li", menuitemProps, content, submenu);
424
+ role: 'menuitem'
425
+ }, getPTOptions(processedItem, 'menuitem'));
426
+ return /*#__PURE__*/React.createElement("li", menuitemProps, /*#__PURE__*/React.createElement("div", contentProps, content), submenu);
481
427
  };
482
- var createItem = function createItem(item, index) {
483
- return item.separator ? createSeparator(index) : createMenuItem(item, index);
428
+ var createItem = function createItem(processedItem, index) {
429
+ return getItemProp(processedItem, 'separator') ? createSeparator(index) : createMenuItem(processedItem, index);
484
430
  };
485
431
  var createMenu = function createMenu() {
486
432
  return props.model ? props.model.map(createItem) : null;
@@ -489,6 +435,11 @@ var TieredMenuSub = /*#__PURE__*/React.memo(function (props) {
489
435
  var ptKey = props.root ? 'menu' : 'submenu';
490
436
  var menuProps = mergeProps({
491
437
  ref: elementRef,
438
+ id: props.id,
439
+ tabIndex: props.tabIndex,
440
+ onFocus: props.onFocus,
441
+ onBlur: props.onBlur,
442
+ onKeyDown: props.onKeyDown,
492
443
  className: cx(ptKey, {
493
444
  subProps: props
494
445
  }),
@@ -496,14 +447,19 @@ var TieredMenuSub = /*#__PURE__*/React.memo(function (props) {
496
447
  subProps: props
497
448
  }),
498
449
  role: props.root ? 'menubar' : 'menu',
499
- 'aria-orientation': 'horizontal'
450
+ 'aria-label': props.ariaLabel,
451
+ 'aria-labelledby': props.ariaLabelledby,
452
+ 'aria-orientation': props.ariaOrientation,
453
+ 'aria-activedescendant': props.focusedItemId
500
454
  }, ptm(ptKey, {
501
455
  hostName: props.hostName
502
456
  }));
503
457
  return /*#__PURE__*/React.createElement("ul", menuProps, submenu);
504
- });
458
+ }));
505
459
  TieredMenuSub.displayName = 'TieredMenuSub';
506
460
 
461
+ 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; }
462
+ 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; }
507
463
  var TieredMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (inProps, ref) {
508
464
  var context = React.useContext(PrimeReactContext);
509
465
  var props = TieredMenuBase.getProps(inProps, context);
@@ -515,10 +471,46 @@ var TieredMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
515
471
  _React$useState4 = _slicedToArray(_React$useState3, 2),
516
472
  visibleState = _React$useState4[0],
517
473
  setVisibleState = _React$useState4[1];
518
- var _React$useState5 = React.useState(null),
474
+ var _React$useState5 = React.useState([]),
519
475
  _React$useState6 = _slicedToArray(_React$useState5, 2),
520
- attributeSelectorState = _React$useState6[0],
521
- setAttributeSelectorState = _React$useState6[1];
476
+ activeItemPath = _React$useState6[0],
477
+ setActiveItemPath = _React$useState6[1];
478
+ var _React$useState7 = React.useState(false),
479
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
480
+ focused = _React$useState8[0],
481
+ setFocused = _React$useState8[1];
482
+ var _React$useState9 = React.useState(null),
483
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
484
+ focusedItemId = _React$useState10[0],
485
+ setFocusedItemId = _React$useState10[1];
486
+ var _React$useState11 = React.useState({
487
+ index: -1,
488
+ level: 0,
489
+ parentKey: ''
490
+ }),
491
+ _React$useState12 = _slicedToArray(_React$useState11, 2),
492
+ focusedItemInfo = _React$useState12[0],
493
+ setFocusedItemInfo = _React$useState12[1];
494
+ var _React$useState13 = React.useState(false),
495
+ _React$useState14 = _slicedToArray(_React$useState13, 2),
496
+ dirty = _React$useState14[0],
497
+ setDirty = _React$useState14[1];
498
+ var _React$useState15 = React.useState([]),
499
+ _React$useState16 = _slicedToArray(_React$useState15, 2),
500
+ processedItems = _React$useState16[0],
501
+ setProcessedItems = _React$useState16[1];
502
+ var _React$useState17 = React.useState([]),
503
+ _React$useState18 = _slicedToArray(_React$useState17, 2),
504
+ visibleItems = _React$useState18[0],
505
+ setVisibleItems = _React$useState18[1];
506
+ var _React$useState19 = React.useState(false),
507
+ _React$useState20 = _slicedToArray(_React$useState19, 2),
508
+ focusTrigger = _React$useState20[0],
509
+ setFocusTrigger = _React$useState20[1];
510
+ var _React$useState21 = React.useState(null),
511
+ _React$useState22 = _slicedToArray(_React$useState21, 2),
512
+ attributeSelectorState = _React$useState22[0],
513
+ setAttributeSelectorState = _React$useState22[1];
522
514
  var _TieredMenuBase$setMe = TieredMenuBase.setMetaData({
523
515
  props: props,
524
516
  state: {
@@ -534,22 +526,35 @@ var TieredMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
534
526
  useHandleStyle(TieredMenuBase.css.styles, isUnstyled, {
535
527
  name: 'tieredmenu'
536
528
  });
529
+ var containerRef = React.useRef(null);
537
530
  var menuRef = React.useRef(null);
538
531
  var targetRef = React.useRef(null);
532
+ var relatedTarget = React.useRef(null);
539
533
  var styleElementRef = React.useRef(null);
534
+ var searchValue = React.useRef(null);
535
+ var searchTimeout = React.useRef(null);
540
536
  var isMobileMode = useMatchMedia("screen and (max-width: ".concat(props.breakpoint, ")"), !!props.breakpoint);
541
- var _useOverlayListener = useOverlayListener({
542
- target: targetRef,
543
- overlay: menuRef,
544
- listener: function listener(event, _ref) {
545
- var valid = _ref.valid;
546
- valid && hide(event);
547
- },
548
- when: visibleState
537
+ var _useEventListener = useEventListener({
538
+ type: 'click',
539
+ listener: function listener(event) {
540
+ var isOutsideContainer = containerRef.current && !containerRef.current.contains(event.target);
541
+ var isOutsideTarget = props.popup ? !(targetRef.current && (targetRef.current === event.target || targetRef.current.contains(event.target))) : true;
542
+ if (isOutsideContainer && isOutsideTarget) {
543
+ hide(event, !props.popup);
544
+ }
545
+ }
549
546
  }),
550
- _useOverlayListener2 = _slicedToArray(_useOverlayListener, 2),
551
- bindOverlayListener = _useOverlayListener2[0],
552
- unbindOverlayListener = _useOverlayListener2[1];
547
+ _useEventListener2 = _slicedToArray(_useEventListener, 2),
548
+ bindDocumentClickListener = _useEventListener2[0],
549
+ unbindDocumentClickListener = _useEventListener2[1];
550
+ var _useResizeListener = useResizeListener({
551
+ listener: function listener() {
552
+ !isMobileMode && hide(event, true);
553
+ }
554
+ }),
555
+ _useResizeListener2 = _slicedToArray(_useResizeListener, 2),
556
+ bindDocumentResizeListener = _useResizeListener2[0],
557
+ unbindDocumentResizeListener = _useResizeListener2[1];
553
558
  var onPanelClick = function onPanelClick(event) {
554
559
  if (props.popup) {
555
560
  OverlayService.emit('overlay-click', {
@@ -564,25 +569,436 @@ var TieredMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
564
569
  }
565
570
  };
566
571
  var show = function show(event) {
567
- targetRef.current = event.currentTarget;
568
- setVisibleState(true);
569
- props.onShow && props.onShow(event);
570
- };
571
- var hide = function hide(event) {
572
572
  if (props.popup) {
573
573
  targetRef.current = event.currentTarget;
574
+ setVisibleState(true);
575
+ props.onShow && props.onShow(event);
576
+ relatedTarget.current = event.relatedTarget || null;
577
+ }
578
+ setFocusedItemInfo({
579
+ index: findFirstFocusedItemIndex(),
580
+ level: 0,
581
+ parentKey: ''
582
+ });
583
+ };
584
+ var hide = function hide(event, isFocus) {
585
+ if (props.popup) {
574
586
  setVisibleState(false);
575
587
  props.onHide && props.onHide(event);
576
588
  }
589
+ var menuElement = getMenuElement();
590
+ setActiveItemPath([]);
591
+ setFocusedItemInfo({
592
+ index: -1,
593
+ level: 0,
594
+ parentKey: ''
595
+ });
596
+ isFocus && DomHandler.focus(relatedTarget.current || targetRef.current || menuElement);
597
+ setDirty(false);
598
+ };
599
+ var onFocus = function onFocus(event) {
600
+ setFocused(true);
601
+ setFocusedItemInfo(focusedItemInfo.index !== -1 ? focusedItemInfo : {
602
+ index: findFirstFocusedItemIndex(),
603
+ level: 0,
604
+ parentKey: ''
605
+ });
606
+ props.onFocus && props.onFocus(event);
607
+ };
608
+ var onBlur = function onBlur(event) {
609
+ setFocused(false);
610
+ setFocusedItemInfo({
611
+ index: -1,
612
+ level: 0,
613
+ parentKey: ''
614
+ });
615
+ searchValue.current = '';
616
+ setDirty(false);
617
+ props.onBlur && props.onBlur(event);
618
+ };
619
+ var onKeyDown = function onKeyDown(event) {
620
+ var metaKey = event.metaKey || event.ctrlKey;
621
+ switch (event.code) {
622
+ case 'ArrowDown':
623
+ onArrowDownKey(event);
624
+ break;
625
+ case 'ArrowUp':
626
+ onArrowUpKey(event);
627
+ break;
628
+ case 'ArrowLeft':
629
+ onArrowLeftKey(event);
630
+ break;
631
+ case 'ArrowRight':
632
+ onArrowRightKey(event);
633
+ break;
634
+ case 'Home':
635
+ onHomeKey(event);
636
+ break;
637
+ case 'End':
638
+ onEndKey(event);
639
+ break;
640
+ case 'Space':
641
+ onSpaceKey(event);
642
+ break;
643
+ case 'Enter':
644
+ onEnterKey(event);
645
+ break;
646
+ case 'Escape':
647
+ props.popup && DomHandler.focus(targetRef.current);
648
+ onEscapeKey(event);
649
+ break;
650
+ case 'Tab':
651
+ onTabKey(event);
652
+ break;
653
+ case 'PageDown':
654
+ case 'PageUp':
655
+ case 'Backspace':
656
+ case 'ShiftLeft':
657
+ case 'ShiftRight':
658
+ //NOOP
659
+ break;
660
+ default:
661
+ if (!metaKey && ObjectUtils.isPrintableCharacter(event.key)) {
662
+ searchItems(event.key);
663
+ }
664
+ break;
665
+ }
577
666
  };
578
- var onItemToggle = function onItemToggle() {
579
- if (props.popup && isMobileMode) {
580
- DomHandler.absolutePosition(menuRef.current, targetRef.current);
667
+ var onItemChange = function onItemChange(event) {
668
+ var processedItem = event.processedItem,
669
+ isFocus = event.isFocus;
670
+ if (ObjectUtils.isEmpty(processedItem)) return;
671
+ var index = processedItem.index,
672
+ key = processedItem.key,
673
+ level = processedItem.level,
674
+ parentKey = processedItem.parentKey,
675
+ items = processedItem.items;
676
+ var grouped = ObjectUtils.isNotEmpty(items);
677
+ var _activeItemPath = activeItemPath.filter(function (p) {
678
+ return p.parentKey !== parentKey && p.parentKey !== key;
679
+ });
680
+ if (grouped) {
681
+ _activeItemPath.push(processedItem);
581
682
  }
683
+ setFocusedItemInfo({
684
+ index: index,
685
+ level: level,
686
+ parentKey: parentKey
687
+ });
688
+ setActiveItemPath(_activeItemPath);
689
+ grouped && setDirty(true);
690
+ isFocus && DomHandler.focus(getMenuElement());
691
+ };
692
+ var onItemClick = function onItemClick(event) {
693
+ var originalEvent = event.originalEvent,
694
+ processedItem = event.processedItem;
695
+ if (isItemDisabled(processedItem) || props.isMobileMode) {
696
+ return;
697
+ }
698
+ var grouped = isProccessedItemGroup(processedItem);
699
+ var root = ObjectUtils.isEmpty(processedItem.parent);
700
+ var selected = isSelected(processedItem);
701
+ var menuElement = getMenuElement();
702
+ if (selected) {
703
+ var index = processedItem.index,
704
+ key = processedItem.key,
705
+ level = processedItem.level,
706
+ parentKey = processedItem.parentKey;
707
+ setActiveItemPath(activeItemPath.filter(function (p) {
708
+ return key !== p.key && key.startsWith(p.key);
709
+ }));
710
+ setFocusedItemInfo({
711
+ index: index,
712
+ level: level,
713
+ parentKey: parentKey
714
+ });
715
+ if (!grouped) {
716
+ setDirty(!root);
717
+ }
718
+ setTimeout(function () {
719
+ DomHandler.focus(menuElement);
720
+ if (grouped) {
721
+ setDirty(true);
722
+ }
723
+ }, 0);
724
+ } else {
725
+ if (grouped) {
726
+ DomHandler.focus(menuElement);
727
+ onItemChange(event);
728
+ } else {
729
+ var rootProcessedItem = root ? processedItem : activeItemPath.find(function (p) {
730
+ return p.parentKey === '';
731
+ });
732
+ var rootProcessedItemIndex = rootProcessedItem ? rootProcessedItem.index : -1;
733
+ hide(originalEvent, true);
734
+ setFocusedItemInfo({
735
+ index: rootProcessedItemIndex,
736
+ parentKey: rootProcessedItem ? rootProcessedItem.parentKey : ''
737
+ });
738
+ }
739
+ }
740
+ };
741
+ var onItemMouseEnter = function onItemMouseEnter(event) {
742
+ var originalEvent = event.originalEvent,
743
+ processedItem = event.processedItem;
744
+ if (isItemDisabled(processedItem) || props.isMobileMode) {
745
+ originalEvent.preventDefault();
746
+ return;
747
+ }
748
+ if (dirty && !props.popup) {
749
+ onItemChange(event);
750
+ }
751
+ };
752
+ var onArrowDownKey = function onArrowDownKey(event) {
753
+ var itemIndex = focusedItemInfo.index !== -1 ? findNextItemIndex(focusedItemInfo.index) : findFirstFocusedItemIndex();
754
+ changeFocusedItemIndex(itemIndex);
755
+ event.preventDefault();
756
+ };
757
+ var onArrowUpKey = function onArrowUpKey(event) {
758
+ if (event.altKey) {
759
+ if (props.popup) {
760
+ DomHandler.focus(targetRef.current);
761
+ }
762
+ if (focusedItemInfo.index !== -1) {
763
+ var processedItem = visibleItems[focusedItemInfo.index];
764
+ var grouped = isProccessedItemGroup(processedItem);
765
+ !grouped && onItemChange({
766
+ originalEvent: event,
767
+ processedItem: processedItem
768
+ });
769
+ }
770
+ props.popup && hide(event, true);
771
+ event.preventDefault();
772
+ } else {
773
+ var itemIndex = focusedItemInfo.index !== -1 ? findPrevItemIndex(focusedItemInfo.index) : findLastFocusedItemIndex();
774
+ changeFocusedItemIndex(itemIndex);
775
+ event.preventDefault();
776
+ }
777
+ };
778
+ var onArrowLeftKey = function onArrowLeftKey(event) {
779
+ var processedItem = visibleItems[focusedItemInfo.index];
780
+ var parentItem = activeItemPath.find(function (p) {
781
+ return p.key === processedItem.parentKey;
782
+ });
783
+ var root = ObjectUtils.isEmpty(processedItem.parent);
784
+ if (!root) {
785
+ setFocusedItemInfo({
786
+ index: -1,
787
+ parentKey: parentItem ? parentItem.parentKey : ''
788
+ });
789
+ searchValue.current = '';
790
+ setTimeout(function () {
791
+ return setFocusTrigger(true);
792
+ }, 0);
793
+ }
794
+ setActiveItemPath(activeItemPath.filter(function (p) {
795
+ return p.parentKey !== focusedItemInfo.parentKey;
796
+ }));
797
+ event.preventDefault();
798
+ };
799
+ var onArrowRightKey = function onArrowRightKey(event) {
800
+ var processedItem = visibleItems[focusedItemInfo.index];
801
+ var grouped = isProccessedItemGroup(processedItem);
802
+ if (grouped) {
803
+ onItemChange({
804
+ originalEvent: event,
805
+ processedItem: processedItem
806
+ });
807
+ setFocusedItemInfo({
808
+ index: -1,
809
+ parentKey: processedItem.key
810
+ });
811
+ searchValue.current = '';
812
+ setTimeout(function () {
813
+ return setFocusTrigger(true);
814
+ }, 0);
815
+ }
816
+ event.preventDefault();
817
+ };
818
+ var onHomeKey = function onHomeKey(event) {
819
+ changeFocusedItemIndex(findFirstItemIndex());
820
+ event.preventDefault();
821
+ };
822
+ var onEndKey = function onEndKey(event) {
823
+ changeFocusedItemIndex(findLastItemIndex());
824
+ event.preventDefault();
825
+ };
826
+ var onEnterKey = function onEnterKey(event) {
827
+ if (focusedItemInfo.index !== -1) {
828
+ var _element = DomHandler.findSingle(getMenuElement(), "li[id=\"".concat("".concat(focusedItemId), "\"]"));
829
+ var anchorElement = _element && DomHandler.findSingle(_element, '[data-pc-section="action"]');
830
+ props.popup && DomHandler.focus(targetRef.current);
831
+ anchorElement ? anchorElement.click() : _element && _element.click();
832
+ }
833
+ event.preventDefault();
834
+ };
835
+ var onSpaceKey = function onSpaceKey(event) {
836
+ onEnterKey(event);
837
+ };
838
+ var onEscapeKey = function onEscapeKey(event) {
839
+ hide(event, true);
840
+ !props.popup && setFocusedItemInfo(_objectSpread(_objectSpread({}, focusedItemInfo), {}, {
841
+ index: findFirstFocusedItemIndex()
842
+ }));
843
+ event.preventDefault();
844
+ };
845
+ var onTabKey = function onTabKey(event) {
846
+ if (focusedItemInfo.index !== -1) {
847
+ var processedItem = visibleItems[focusedItemInfo.index];
848
+ var grouped = isProccessedItemGroup(processedItem);
849
+ !grouped && onItemChange({
850
+ originalEvent: event,
851
+ processedItem: processedItem
852
+ });
853
+ }
854
+ hide(event);
855
+ };
856
+ var getMenuElement = function getMenuElement() {
857
+ return menuRef.current.getElement() || null;
858
+ };
859
+ var getItemProp = function getItemProp(item, name) {
860
+ return item ? ObjectUtils.getItemValue(item[name]) : undefined;
861
+ };
862
+ var getItemLabel = function getItemLabel(item) {
863
+ return getItemProp(item, 'label');
864
+ };
865
+ var isItemDisabled = function isItemDisabled(item) {
866
+ return getItemProp(item, 'disabled');
867
+ };
868
+ var isItemSeparator = function isItemSeparator(item) {
869
+ return getItemProp(item, 'separator');
870
+ };
871
+ var getProccessedItemLabel = function getProccessedItemLabel(processedItem) {
872
+ return processedItem ? getItemLabel(processedItem.item) : undefined;
873
+ };
874
+ var isProccessedItemGroup = function isProccessedItemGroup(processedItem) {
875
+ return processedItem && ObjectUtils.isNotEmpty(processedItem.items);
876
+ };
877
+ var isItemMatched = function isItemMatched(processedItem) {
878
+ return isValidItem(processedItem) && getProccessedItemLabel(processedItem).toLocaleLowerCase().startsWith(searchValue.current.toLocaleLowerCase());
879
+ };
880
+ var isValidItem = function isValidItem(processedItem) {
881
+ return !!processedItem && !isItemDisabled(processedItem.item) && !isItemSeparator(processedItem.item);
882
+ };
883
+ var isValidSelectedItem = function isValidSelectedItem(processedItem) {
884
+ return isValidItem(processedItem) && isSelected(processedItem);
885
+ };
886
+ var isSelected = function isSelected(processedItem) {
887
+ return activeItemPath.some(function (p) {
888
+ return p.key === processedItem.key;
889
+ });
890
+ };
891
+ var findFirstItemIndex = function findFirstItemIndex() {
892
+ return visibleItems.findIndex(function (processedItem) {
893
+ return isValidItem(processedItem);
894
+ });
895
+ };
896
+ var findLastItemIndex = function findLastItemIndex() {
897
+ return ObjectUtils.findLastIndex(visibleItems, function (processedItem) {
898
+ return isValidItem(processedItem);
899
+ });
900
+ };
901
+ var findNextItemIndex = function findNextItemIndex(index) {
902
+ var matchedItemIndex = index < visibleItems.length - 1 ? visibleItems.slice(index + 1).findIndex(function (processedItem) {
903
+ return isValidItem(processedItem);
904
+ }) : -1;
905
+ return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;
906
+ };
907
+ var findPrevItemIndex = function findPrevItemIndex(index) {
908
+ var matchedItemIndex = index > 0 ? ObjectUtils.findLastIndex(visibleItems.slice(0, index), function (processedItem) {
909
+ return isValidItem(processedItem);
910
+ }) : -1;
911
+ return matchedItemIndex > -1 ? matchedItemIndex : index;
912
+ };
913
+ var findSelectedItemIndex = function findSelectedItemIndex() {
914
+ return visibleItems.findIndex(function (processedItem) {
915
+ return isValidSelectedItem(processedItem);
916
+ });
917
+ };
918
+ var findFirstFocusedItemIndex = function findFirstFocusedItemIndex() {
919
+ var selectedIndex = findSelectedItemIndex();
920
+ return selectedIndex < 0 ? findFirstItemIndex() : selectedIndex;
921
+ };
922
+ var findLastFocusedItemIndex = function findLastFocusedItemIndex() {
923
+ var selectedIndex = findSelectedItemIndex();
924
+ return selectedIndex < 0 ? findLastItemIndex() : selectedIndex;
925
+ };
926
+ var searchItems = function searchItems(_char) {
927
+ searchValue.current = (searchValue.current || '') + _char;
928
+ var itemIndex = -1;
929
+ var matched = false;
930
+ if (focusedItemInfo.index !== -1) {
931
+ itemIndex = visibleItems.slice(focusedItemInfo.index).findIndex(function (processedItem) {
932
+ return isItemMatched(processedItem);
933
+ });
934
+ itemIndex = itemIndex === -1 ? visibleItems.slice(0, focusedItemInfo.index).findIndex(function (processedItem) {
935
+ return isItemMatched(processedItem);
936
+ }) : itemIndex + focusedItemInfo.index;
937
+ } else {
938
+ itemIndex = visibleItems.findIndex(function (processedItem) {
939
+ return isItemMatched(processedItem);
940
+ });
941
+ }
942
+ if (itemIndex !== -1) {
943
+ matched = true;
944
+ }
945
+ if (itemIndex === -1 && focusedItemInfo.index === -1) {
946
+ itemIndex = findFirstFocusedItemIndex();
947
+ }
948
+ if (itemIndex !== -1) {
949
+ changeFocusedItemIndex(itemIndex);
950
+ }
951
+ if (searchTimeout.current) {
952
+ clearTimeout(searchTimeout);
953
+ }
954
+ searchTimeout.current = setTimeout(function () {
955
+ searchValue.current = '';
956
+ searchTimeout.current = null;
957
+ }, 500);
958
+ return matched;
959
+ };
960
+ var changeFocusedItemIndex = function changeFocusedItemIndex(index) {
961
+ if (focusedItemInfo.index !== index) {
962
+ setFocusedItemInfo(_objectSpread(_objectSpread({}, focusedItemInfo), {}, {
963
+ index: index
964
+ }));
965
+ scrollInView();
966
+ }
967
+ };
968
+ var scrollInView = function scrollInView() {
969
+ var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
970
+ var id = index !== -1 ? "".concat(idState, "_").concat(index) : focusedItemId;
971
+ var element = DomHandler.findSingle(getMenuElement(), "li[id=\"".concat(id, "\"]"));
972
+ if (element) {
973
+ element.scrollIntoView && element.scrollIntoView({
974
+ block: 'nearest',
975
+ inline: 'start'
976
+ });
977
+ }
978
+ };
979
+ var createProcessedItems = function createProcessedItems(items) {
980
+ var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
981
+ var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
982
+ var parentKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
983
+ var processedItems = [];
984
+ items && items.forEach(function (item, index) {
985
+ var key = (parentKey !== '' ? parentKey + '_' : '') + index;
986
+ var newItem = {
987
+ item: item,
988
+ index: index,
989
+ level: level,
990
+ key: key,
991
+ parent: parent,
992
+ parentKey: parentKey
993
+ };
994
+ newItem['items'] = createProcessedItems(item.items, level + 1, newItem, key);
995
+ processedItems.push(newItem);
996
+ });
997
+ return processedItems;
582
998
  };
583
999
  var createStyle = function createStyle() {
584
1000
  if (!styleElementRef.current) {
585
- styleElementRef.current = DomHandler.createInlineStyle(context && context.nonce || PrimeReact.nonce);
1001
+ styleElementRef.current = DomHandler.createInlineStyle(context && context.nonce || PrimeReact.nonce, context && context.styleContainer);
586
1002
  var selector = "".concat(attributeSelectorState);
587
1003
  var innerHTML = "\n@media screen and (max-width: ".concat(props.breakpoint, ") {\n .p-tieredmenu[").concat(selector, "] > ul {\n max-height: ").concat(props.scrollHeight, ";\n overflow: ").concat(props.scrollHeight ? 'auto' : '', ";\n }\n\n .p-tieredmenu[").concat(selector, "] .p-submenu-list {\n position: relative;\n }\n\n .p-tieredmenu[").concat(selector, "] .p-menuitem-active > .p-submenu-list {\n left: 0;\n box-shadow: none;\n border-radius: 0;\n padding: 0 0 0 calc(var(--inline-spacing) * 2); /* @todo */\n }\n\n .p-tieredmenu[").concat(selector, "] .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {\n transform: rotate(-180deg);\n }\n\n .p-tieredmenu[").concat(selector, "] .p-submenu-icon:before {\n content: \"\\e930\";\n }\n\n ").concat(!props.popup ? ".p-tieredmenu[".concat(selector, "] { width: 100%; }") : '', "\n}\n");
588
1004
  styleElementRef.current.innerHTML = innerHTML;
@@ -591,30 +1007,41 @@ var TieredMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
591
1007
  var destroyStyle = function destroyStyle() {
592
1008
  styleElementRef.current = DomHandler.removeInlineStyle(styleElementRef.current);
593
1009
  };
1010
+ var alignOverlay = function alignOverlay() {
1011
+ DomHandler.absolutePosition(containerRef.current, targetRef.current);
1012
+ var targetWidth = DomHandler.getOuterWidth(targetRef.current);
1013
+ if (targetWidth > DomHandler.getOuterWidth(containerRef.current)) {
1014
+ containerRef.current.style.minWidth = DomHandler.getOuterWidth(targetRef.current) + 'px';
1015
+ }
1016
+ };
594
1017
  var onEnter = function onEnter() {
595
1018
  if (props.autoZIndex) {
596
- ZIndexUtils.set('menu', menuRef.current, context && context.autoZIndex || PrimeReact.autoZIndex, props.baseZIndex || context && context.zIndex['menu'] || PrimeReact.zIndex['menu']);
1019
+ ZIndexUtils.set('menu', containerRef.current, context && context.autoZIndex || PrimeReact.autoZIndex, props.baseZIndex || context && context.zIndex['menu'] || PrimeReact.zIndex['menu']);
597
1020
  }
598
- DomHandler.addStyles(menuRef.current, {
1021
+ DomHandler.addStyles(containerRef.current, {
599
1022
  position: 'absolute',
600
1023
  top: '0',
601
1024
  left: '0'
602
1025
  });
603
- DomHandler.absolutePosition(menuRef.current, targetRef.current);
1026
+ alignOverlay();
1027
+ DomHandler.focus(menuRef.current.getElement());
1028
+ scrollInView();
604
1029
  if (attributeSelectorState && props.breakpoint) {
605
- menuRef.current.setAttribute(attributeSelectorState, '');
1030
+ containerRef.current.setAttribute(attributeSelectorState, '');
606
1031
  createStyle();
607
1032
  }
608
1033
  };
609
1034
  var onEntered = function onEntered() {
610
- bindOverlayListener();
1035
+ bindDocumentClickListener();
1036
+ bindDocumentResizeListener();
611
1037
  };
612
1038
  var onExit = function onExit() {
613
1039
  targetRef.current = null;
614
- unbindOverlayListener();
1040
+ unbindDocumentClickListener();
1041
+ unbindDocumentResizeListener();
615
1042
  };
616
1043
  var onExited = function onExited() {
617
- ZIndexUtils.clear(menuRef.current);
1044
+ ZIndexUtils.clear(containerRef.current);
618
1045
  destroyStyle();
619
1046
  };
620
1047
  useMountEffect(function () {
@@ -625,8 +1052,45 @@ var TieredMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
625
1052
  }
626
1053
  });
627
1054
  useUpdateEffect(function () {
628
- if (attributeSelectorState && menuRef.current) {
629
- menuRef.current.setAttribute(attributeSelectorState, '');
1055
+ var itemsToProcess = props.model || [];
1056
+ var processed = createProcessedItems(itemsToProcess);
1057
+ setProcessedItems(processed);
1058
+ }, props.model);
1059
+ useUpdateEffect(function () {
1060
+ var processedItem = activeItemPath.find(function (p) {
1061
+ return p.key === focusedItemInfo.parentKey;
1062
+ });
1063
+ var processed = processedItem ? processedItem.items : processedItems;
1064
+ setVisibleItems(processed);
1065
+ }, [activeItemPath, focusedItemInfo, processedItems]);
1066
+ useUpdateEffect(function () {
1067
+ var focusedId = focusedItemInfo.index !== -1 ? "".concat(idState).concat(ObjectUtils.isNotEmpty(focusedItemInfo.parentKey) ? '_' + focusedItemInfo.parentKey : '', "_").concat(focusedItemInfo.index) : null;
1068
+ setFocusedItemId(focusedId);
1069
+ }, [focusedItemInfo]);
1070
+ useUpdateEffect(function () {
1071
+ if (!props.popup) {
1072
+ if (ObjectUtils.isNotEmpty(activeItemPath)) {
1073
+ bindDocumentClickListener();
1074
+ bindDocumentResizeListener();
1075
+ } else {
1076
+ unbindDocumentClickListener();
1077
+ unbindDocumentResizeListener();
1078
+ }
1079
+ }
1080
+ }, [activeItemPath]);
1081
+ useUpdateEffect(function () {
1082
+ if (focusTrigger) {
1083
+ var itemIndex = focusedItemInfo.index !== -1 ? findNextItemIndex(focusedItemInfo.index) : findFirstFocusedItemIndex();
1084
+ changeFocusedItemIndex(itemIndex);
1085
+ setActiveItemPath(activeItemPath.filter(function (p) {
1086
+ return p.parentKey !== focusedItemInfo.parentKey;
1087
+ }));
1088
+ setFocusTrigger(false);
1089
+ }
1090
+ }, [focusTrigger]);
1091
+ useUpdateEffect(function () {
1092
+ if (attributeSelectorState && containerRef.current) {
1093
+ containerRef.current.setAttribute(attributeSelectorState, '');
630
1094
  createStyle();
631
1095
  }
632
1096
  return function () {
@@ -634,7 +1098,7 @@ var TieredMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
634
1098
  };
635
1099
  }, [attributeSelectorState, props.breakpoint]);
636
1100
  useUnmountEffect(function () {
637
- ZIndexUtils.clear(menuRef.current);
1101
+ ZIndexUtils.clear(containerRef.current);
638
1102
  });
639
1103
  React.useImperativeHandle(ref, function () {
640
1104
  return {
@@ -643,13 +1107,13 @@ var TieredMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
643
1107
  show: show,
644
1108
  hide: hide,
645
1109
  getElement: function getElement() {
646
- return menuRef.current;
1110
+ return containerRef.current;
647
1111
  }
648
1112
  };
649
1113
  });
650
1114
  var createElement = function createElement() {
651
1115
  var rootProps = mergeProps({
652
- ref: menuRef,
1116
+ ref: containerRef,
653
1117
  id: props.id,
654
1118
  className: cx('root'),
655
1119
  style: props.style,
@@ -670,17 +1134,31 @@ var TieredMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function
670
1134
  onExited: onExited
671
1135
  }, ptm('transition'));
672
1136
  return /*#__PURE__*/React.createElement(CSSTransition, _extends({
673
- nodeRef: menuRef
1137
+ nodeRef: containerRef
674
1138
  }, transitionProps), /*#__PURE__*/React.createElement("div", rootProps, /*#__PURE__*/React.createElement(TieredMenuSub, {
675
- id: idState,
1139
+ id: idState + '_list',
1140
+ ref: menuRef,
676
1141
  hostName: "TieredMenu",
677
1142
  menuProps: props,
678
- model: props.model,
1143
+ tabIndex: 0,
1144
+ model: processedItems,
1145
+ ariaLabel: props.ariaLabel,
1146
+ ariaLabelledBy: props.ariaLabelledBy,
1147
+ ariaOrientation: "vertical",
1148
+ ariaActiveDescendant: focused ? focusedItemId : undefined,
1149
+ menuId: idState,
1150
+ level: 0,
1151
+ focusedItemId: focusedItemId,
1152
+ activeItemPath: activeItemPath,
1153
+ onFocus: onFocus,
1154
+ onBlur: onBlur,
1155
+ onKeyDown: onKeyDown,
1156
+ onItemClick: onItemClick,
1157
+ onItemMouseEnter: onItemMouseEnter,
679
1158
  root: true,
680
1159
  popup: props.popup,
681
1160
  onHide: hide,
682
1161
  isMobileMode: isMobileMode,
683
- onItemToggle: onItemToggle,
684
1162
  submenuIcon: props.submenuIcon,
685
1163
  ptm: ptm,
686
1164
  cx: cx,