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
package/menu/menu.esm.js CHANGED
@@ -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 { useOverlayListener, useMountEffect, useUnmountEffect as useUnmountEffect$1 } from 'primereact/hooks';
6
+ import { useDisplayOrder, useGlobalOnEscapeKey, ESC_KEY_HANDLING_PRIORITIES, useOverlayListener, useMountEffect, useUnmountEffect } from 'primereact/hooks';
7
7
  import { OverlayService } from 'primereact/overlayservice';
8
8
  import { Portal } from 'primereact/portal';
9
- import { classNames, DomHandler, ObjectUtils, UniqueComponentId, ZIndexUtils, mergeProps, IconUtils } from 'primereact/utils';
9
+ import { classNames, UniqueComponentId, ZIndexUtils, mergeProps, DomHandler, IconUtils, ObjectUtils } from 'primereact/utils';
10
10
 
11
11
  function _extends() {
12
12
  _extends = Object.assign ? Object.assign.bind() : function (target) {
@@ -64,6 +64,37 @@ function _defineProperty(obj, key, value) {
64
64
  return obj;
65
65
  }
66
66
 
67
+ function _arrayLikeToArray(arr, len) {
68
+ if (len == null || len > arr.length) len = arr.length;
69
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
70
+ return arr2;
71
+ }
72
+
73
+ function _arrayWithoutHoles(arr) {
74
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
75
+ }
76
+
77
+ function _iterableToArray(iter) {
78
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
79
+ }
80
+
81
+ function _unsupportedIterableToArray(o, minLen) {
82
+ if (!o) return;
83
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
84
+ var n = Object.prototype.toString.call(o).slice(8, -1);
85
+ if (n === "Object" && o.constructor) n = o.constructor.name;
86
+ if (n === "Map" || n === "Set") return Array.from(o);
87
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
88
+ }
89
+
90
+ function _nonIterableSpread() {
91
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
92
+ }
93
+
94
+ function _toConsumableArray(arr) {
95
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
96
+ }
97
+
67
98
  function _arrayWithHoles(arr) {
68
99
  if (Array.isArray(arr)) return arr;
69
100
  }
@@ -96,21 +127,6 @@ function _iterableToArrayLimit(r, l) {
96
127
  }
97
128
  }
98
129
 
99
- function _arrayLikeToArray(arr, len) {
100
- if (len == null || len > arr.length) len = arr.length;
101
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
102
- return arr2;
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
130
  function _nonIterableRest() {
115
131
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
116
132
  }
@@ -119,7 +135,7 @@ function _slicedToArray(arr, i) {
119
135
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
120
136
  }
121
137
 
122
- var styles = "\n@layer primereact {\n .p-menu-overlay {\n position: absolute;\n /* Github #3122: Prevent animation flickering */\n top: -9999px;\n left: -9999px;\n }\n \n .p-menu ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n \n .p-menu .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-menu .p-menuitem-text {\n line-height: 1;\n }\n}\n";
138
+ var styles = "\n@layer primereact {\n .p-menu-overlay {\n position: absolute;\n /* Github #3122: Prevent animation flickering */\n top: -9999px;\n left: -9999px;\n }\n\n .p-menu ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-menu .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-menu .p-menuitem-text {\n line-height: 1;\n }\n}\n";
123
139
  var classes = {
124
140
  root: function root(_ref) {
125
141
  var props = _ref.props,
@@ -131,15 +147,21 @@ var classes = {
131
147
  });
132
148
  },
133
149
  menu: 'p-menu-list p-reset',
150
+ content: 'p-menuitem-content',
134
151
  action: function action(_ref2) {
135
152
  var item = _ref2.item;
136
153
  return classNames('p-menuitem-link', {
137
154
  'p-disabled': item.disabled
138
155
  });
139
156
  },
140
- menuitem: 'p-menuitem',
141
- submenuHeader: function submenuHeader(_ref3) {
142
- var submenu = _ref3.submenu;
157
+ menuitem: function menuitem(_ref3) {
158
+ var focused = _ref3.focused;
159
+ return classNames('p-menuitem', {
160
+ 'p-focus': focused
161
+ });
162
+ },
163
+ submenuHeader: function submenuHeader(_ref4) {
164
+ var submenu = _ref4.submenu;
143
165
  return classNames('p-submenu-header', {
144
166
  'p-disabled': submenu.disabled
145
167
  });
@@ -150,12 +172,12 @@ var classes = {
150
172
  transition: 'p-connected-overlay'
151
173
  };
152
174
  var inlineStyles = {
153
- submenuHeader: function submenuHeader(_ref4) {
154
- var submenu = _ref4.submenu;
175
+ submenuHeader: function submenuHeader(_ref5) {
176
+ var submenu = _ref5.submenu;
155
177
  return submenu.style;
156
178
  },
157
- menuitem: function menuitem(_ref5) {
158
- var item = _ref5.item;
179
+ menuitem: function menuitem(_ref6) {
180
+ var item = _ref6.item;
159
181
  return item.style;
160
182
  }
161
183
  };
@@ -163,6 +185,9 @@ var MenuBase = ComponentBase.extend({
163
185
  defaultProps: {
164
186
  __TYPE: 'Menu',
165
187
  id: null,
188
+ ariaLabel: null,
189
+ ariaLabelledBy: null,
190
+ tabIndex: 0,
166
191
  model: null,
167
192
  popup: false,
168
193
  popupAlignment: 'left',
@@ -171,6 +196,8 @@ var MenuBase = ComponentBase.extend({
171
196
  autoZIndex: true,
172
197
  baseZIndex: 0,
173
198
  appendTo: null,
199
+ onFocus: null,
200
+ onBlur: null,
174
201
  transitionOptions: null,
175
202
  onShow: null,
176
203
  onHide: null,
@@ -184,104 +211,6 @@ var MenuBase = ComponentBase.extend({
184
211
  }
185
212
  });
186
213
 
187
- var usePrevious = function usePrevious(newValue) {
188
- var ref = React.useRef(undefined);
189
- React.useEffect(function () {
190
- ref.current = newValue;
191
- });
192
- return ref.current;
193
- };
194
-
195
- /* eslint-disable */
196
- var useUnmountEffect = function useUnmountEffect(fn) {
197
- return React.useEffect(function () {
198
- return fn;
199
- }, []);
200
- };
201
- /* eslint-enable */
202
-
203
- /* eslint-disable */
204
- var useEventListener = function useEventListener(_ref) {
205
- var _ref$target = _ref.target,
206
- target = _ref$target === void 0 ? 'document' : _ref$target,
207
- type = _ref.type,
208
- listener = _ref.listener,
209
- options = _ref.options,
210
- _ref$when = _ref.when,
211
- when = _ref$when === void 0 ? true : _ref$when;
212
- var targetRef = React.useRef(null);
213
- var listenerRef = React.useRef(null);
214
- var prevOptions = usePrevious(options);
215
- var bind = function bind() {
216
- var bindOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
217
- if (ObjectUtils.isNotEmpty(bindOptions.target)) {
218
- unbind();
219
- (bindOptions.when || when) && (targetRef.current = DomHandler.getTargetElement(bindOptions.target));
220
- }
221
- if (!listenerRef.current && targetRef.current) {
222
- listenerRef.current = function (event) {
223
- return listener && listener(event);
224
- };
225
- targetRef.current.addEventListener(type, listenerRef.current, options);
226
- }
227
- };
228
- var unbind = function unbind() {
229
- if (listenerRef.current) {
230
- targetRef.current.removeEventListener(type, listenerRef.current, options);
231
- listenerRef.current = null;
232
- }
233
- };
234
- React.useEffect(function () {
235
- if (when) {
236
- targetRef.current = DomHandler.getTargetElement(target);
237
- } else {
238
- unbind();
239
- targetRef.current = null;
240
- }
241
- }, [target, when]);
242
- React.useEffect(function () {
243
- if (listenerRef.current && (listenerRef.current !== listener || prevOptions !== options)) {
244
- unbind();
245
- when && bind();
246
- }
247
- }, [listener, options]);
248
- useUnmountEffect(function () {
249
- unbind();
250
- });
251
- return [bind, unbind];
252
- };
253
- /* eslint-enable */
254
-
255
- var useOnEscapeKey = function useOnEscapeKey(ref, condition, callback) {
256
- var handleEsc = function handleEsc(event) {
257
- if (event.key === 'Esc' || event.key === 'Escape') {
258
- event.stopImmediatePropagation();
259
- callback(event);
260
- }
261
- return;
262
- };
263
- var _useEventListener = useEventListener({
264
- type: 'keydown',
265
- listener: handleEsc
266
- }),
267
- _useEventListener2 = _slicedToArray(_useEventListener, 2),
268
- bindKeyDownListener = _useEventListener2[0],
269
- unbindKeyDownListener = _useEventListener2[1];
270
- React.useEffect(function () {
271
- if (!condition) {
272
- return;
273
- }
274
- if (!ref.current) {
275
- return;
276
- }
277
- bindKeyDownListener();
278
- return function () {
279
- unbindKeyDownListener();
280
- };
281
- });
282
- return [ref, callback];
283
- };
284
-
285
214
  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; }
286
215
  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; }
287
216
  var Menu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (inProps, ref) {
@@ -295,6 +224,18 @@ var Menu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (inPr
295
224
  _React$useState4 = _slicedToArray(_React$useState3, 2),
296
225
  visibleState = _React$useState4[0],
297
226
  setVisibleState = _React$useState4[1];
227
+ var _React$useState5 = React.useState(-1),
228
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
229
+ focusedOptionIndex = _React$useState6[0],
230
+ setFocusedOptionIndex = _React$useState6[1];
231
+ var _React$useState7 = React.useState(-1),
232
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
233
+ selectedOptionIndex = _React$useState8[0],
234
+ setSelectedOptionIndex = _React$useState8[1];
235
+ var _React$useState9 = React.useState(false),
236
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
237
+ focused = _React$useState10[0],
238
+ setFocused = _React$useState10[1];
298
239
  var _MenuBase$setMetaData = MenuBase.setMetaData({
299
240
  props: props,
300
241
  state: {
@@ -310,16 +251,25 @@ var Menu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (inPr
310
251
  name: 'menu'
311
252
  });
312
253
  var menuRef = React.useRef(null);
254
+ var listRef = React.useRef(null);
313
255
  var targetRef = React.useRef(null);
314
- useOnEscapeKey(targetRef, props.popup && props.closeOnEscape, function (event) {
315
- hide(event);
256
+ var popupMenuDisplayOrder = useDisplayOrder('menu', !!(visibleState && props.popup));
257
+ useGlobalOnEscapeKey({
258
+ callback: function callback(event) {
259
+ hide(event);
260
+ },
261
+ when: visibleState && props.popup && props.closeOnEscape,
262
+ priority: [ESC_KEY_HANDLING_PRIORITIES.MENU, popupMenuDisplayOrder]
316
263
  });
317
264
  var _useOverlayListener = useOverlayListener({
318
265
  target: targetRef,
319
266
  overlay: menuRef,
320
267
  listener: function listener(event, _ref) {
321
268
  var valid = _ref.valid;
322
- valid && hide(event);
269
+ if (valid) {
270
+ hide(event);
271
+ setFocusedOptionIndex(-1);
272
+ }
323
273
  },
324
274
  when: visibleState
325
275
  }),
@@ -334,7 +284,7 @@ var Menu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (inPr
334
284
  });
335
285
  }
336
286
  };
337
- var onItemClick = function onItemClick(event, item) {
287
+ var onItemClick = function onItemClick(event, item, key) {
338
288
  if (item.disabled) {
339
289
  event.preventDefault();
340
290
  return;
@@ -351,32 +301,112 @@ var Menu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (inPr
351
301
  if (props.popup) {
352
302
  hide(event);
353
303
  }
304
+ if (!props.popup && focusedOptionIndex !== key) {
305
+ setFocusedOptionIndex(key);
306
+ }
307
+ event.preventDefault();
308
+ event.stopPropagation();
309
+ };
310
+ var onListFocus = function onListFocus(event) {
311
+ setFocused(true);
312
+ if (!props.popup) {
313
+ if (selectedOptionIndex !== -1) {
314
+ changeFocusedOptionIndex(selectedOptionIndex);
315
+ setSelectedOptionIndex(-1);
316
+ } else changeFocusedOptionIndex(0);
317
+ }
318
+ props.onFocus && props.onFocus(event);
354
319
  };
355
- var onItemKeyDown = function onItemKeyDown(event, item) {
356
- var listItem = event.currentTarget.parentElement;
357
- switch (event.which) {
358
- //down
359
- case 40:
360
- var nextItem = findNextItem(listItem);
361
- nextItem && nextItem.children[0].focus();
362
- event.preventDefault();
320
+ var onListBlur = function onListBlur(event) {
321
+ setFocused(false);
322
+ setFocusedOptionIndex(-1);
323
+ props.onBlur && props.onBlur(event);
324
+ };
325
+ var onListKeyDown = function onListKeyDown(event) {
326
+ switch (event.code) {
327
+ case 'ArrowDown':
328
+ onArrowDownKey(event);
363
329
  break;
364
-
365
- //up
366
- case 38:
367
- var prevItem = findPrevItem(listItem);
368
- prevItem && prevItem.children[0].focus();
369
- event.preventDefault();
330
+ case 'ArrowUp':
331
+ onArrowUpKey(event);
332
+ break;
333
+ case 'Home':
334
+ onHomeKey(event);
335
+ break;
336
+ case 'End':
337
+ onEndKey(event);
338
+ break;
339
+ case 'Enter':
340
+ onEnterKey(event);
341
+ break;
342
+ case 'Space':
343
+ onSpaceKey(event);
344
+ break;
345
+ case 'Escape':
346
+ if (props.popup) {
347
+ DomHandler.focus(targetRef.current);
348
+ hide(event);
349
+ }
350
+ case 'Tab':
351
+ props.popup && visibleState && hide(event);
370
352
  break;
371
353
  }
372
354
  };
373
- var findNextItem = function findNextItem(item) {
374
- var nextItem = item.nextElementSibling;
375
- return nextItem ? DomHandler.getAttribute(nextItem, '[data-p-disabled="true"]') || !DomHandler.getAttribute(nextItem, '[data-pc-section="menuitem"]') ? findNextItem(nextItem) : nextItem : null;
355
+ var onArrowDownKey = function onArrowDownKey(event) {
356
+ var optionIndex = findNextOptionIndex(focusedOptionIndex);
357
+ changeFocusedOptionIndex(optionIndex);
358
+ event.preventDefault();
376
359
  };
377
- var findPrevItem = function findPrevItem(item) {
378
- var prevItem = item.previousElementSibling;
379
- return prevItem ? DomHandler.getAttribute(prevItem, '[data-p-disabled="true"]') || !DomHandler.getAttribute(prevItem, '[data-pc-section="menuitem"]') ? findPrevItem(prevItem) : prevItem : null;
360
+ var onArrowUpKey = function onArrowUpKey(event) {
361
+ if (event.altKey && props.popup) {
362
+ DomHandler.focus(targetRef.current);
363
+ hide(event);
364
+ event.preventDefault();
365
+ } else {
366
+ var optionIndex = findPrevOptionIndex(focusedOptionIndex);
367
+ changeFocusedOptionIndex(optionIndex);
368
+ event.preventDefault();
369
+ }
370
+ };
371
+ var onHomeKey = function onHomeKey(event) {
372
+ changeFocusedOptionIndex(0);
373
+ event.preventDefault();
374
+ };
375
+ var onEndKey = function onEndKey(event) {
376
+ changeFocusedOptionIndex(DomHandler.find(menuRef.current, 'li[data-pc-section="menuitem"][data-p-disabled="false"]').length - 1);
377
+ event.preventDefault();
378
+ };
379
+ var onEnterKey = function onEnterKey(event) {
380
+ var element = DomHandler.findSingle(menuRef.current, "li[id=\"".concat("".concat(focusedOptionIndex), "\"]"));
381
+ var anchorElement = element && DomHandler.findSingle(element, 'a[data-pc-section="action"]');
382
+ props.popup && DomHandler.focus(targetRef.current);
383
+ anchorElement ? anchorElement.click() : element && element.click();
384
+ event.preventDefault();
385
+ };
386
+ var onSpaceKey = function onSpaceKey(event) {
387
+ onEnterKey(event);
388
+ };
389
+ var findNextOptionIndex = function findNextOptionIndex(index) {
390
+ var links = DomHandler.find(menuRef.current, 'li[data-pc-section="menuitem"][data-p-disabled="false"]');
391
+ var matchedOptionIndex = _toConsumableArray(links).findIndex(function (link) {
392
+ return link.id === index;
393
+ });
394
+ return matchedOptionIndex > -1 ? matchedOptionIndex + 1 : 0;
395
+ };
396
+ var findPrevOptionIndex = function findPrevOptionIndex(index) {
397
+ var links = DomHandler.find(menuRef.current, 'li[data-pc-section="menuitem"][data-p-disabled="false"]');
398
+ var matchedOptionIndex = _toConsumableArray(links).findIndex(function (link) {
399
+ return link.id === index;
400
+ });
401
+ return matchedOptionIndex > -1 ? matchedOptionIndex - 1 : 0;
402
+ };
403
+ var changeFocusedOptionIndex = function changeFocusedOptionIndex(index) {
404
+ var links = DomHandler.find(menuRef.current, 'li[data-pc-section="menuitem"][data-p-disabled="false"]');
405
+ var order = index >= links.length ? links.length - 1 : index < 0 ? 0 : index;
406
+ order > -1 && setFocusedOptionIndex(links[order].getAttribute('id'));
407
+ };
408
+ var focusedOptionId = function focusedOptionId() {
409
+ return focusedOptionIndex !== -1 ? focusedOptionIndex : null;
380
410
  };
381
411
  var toggle = function toggle(event) {
382
412
  if (props.popup) {
@@ -401,6 +431,10 @@ var Menu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (inPr
401
431
  });
402
432
  ZIndexUtils.set('menu', menuRef.current, context && context.autoZIndex || PrimeReact.autoZIndex, props.baseZIndex || context && context.zIndex['menu'] || PrimeReact.zIndex['menu']);
403
433
  DomHandler.absolutePosition(menuRef.current, targetRef.current, props.popupAlignment);
434
+ if (props.popup) {
435
+ DomHandler.focus(listRef.current);
436
+ changeFocusedOptionIndex(0);
437
+ }
404
438
  };
405
439
  var onEntered = function onEntered() {
406
440
  bindOverlayListener();
@@ -417,7 +451,7 @@ var Menu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (inPr
417
451
  setIdState(UniqueComponentId());
418
452
  }
419
453
  });
420
- useUnmountEffect$1(function () {
454
+ useUnmountEffect(function () {
421
455
  ZIndexUtils.clear(menuRef.current);
422
456
  });
423
457
  React.useImperativeHandle(ref, function () {
@@ -436,11 +470,13 @@ var Menu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (inPr
436
470
  });
437
471
  var createSubmenu = function createSubmenu(submenu, index) {
438
472
  var key = idState + '_sub_' + index;
439
- var items = submenu.items.map(createMenuItem);
473
+ var items = submenu.items.map(function (item, index) {
474
+ return createMenuItem(item, index, key);
475
+ });
440
476
  var submenuHeaderProps = mergeProps({
441
477
  id: key,
442
478
  key: key,
443
- role: 'presentation',
479
+ role: 'none',
444
480
  className: classNames(submenu.className, cx('submenuHeader', {
445
481
  submenu: submenu
446
482
  })),
@@ -464,6 +500,7 @@ var Menu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (inPr
464
500
  return /*#__PURE__*/React.createElement("li", separatorProps);
465
501
  };
466
502
  var createMenuItem = function createMenuItem(item, index) {
503
+ var parentId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
467
504
  if (item.visible === false) {
468
505
  return null;
469
506
  }
@@ -481,36 +518,36 @@ var Menu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (inPr
481
518
  className: cx('label')
482
519
  }, ptm('label'));
483
520
  var label = item.label && /*#__PURE__*/React.createElement("span", labelProps, item.label);
484
- var tabIndex = item.disabled ? null : 0;
485
- var key = item.id || idState + '_' + index;
521
+ var key = item.id || (parentId || idState) + '_' + index;
522
+ var contentProps = mergeProps({
523
+ onClick: function onClick(event) {
524
+ return onItemClick(event, item, key);
525
+ },
526
+ className: cx('content')
527
+ }, ptm('content'));
486
528
  var actionProps = mergeProps({
487
529
  href: item.url || '#',
488
530
  className: cx('action', {
489
531
  item: item
490
532
  }),
491
- role: 'menuitem',
492
- target: item.target,
493
- onClick: function onClick(event) {
494
- return onItemClick(event, item);
533
+ onFocus: function onFocus(event) {
534
+ return event.stopPropagation();
495
535
  },
496
- onKeyDown: function onKeyDown(event) {
497
- return onItemKeyDown(event);
498
- },
499
- tabIndex: tabIndex,
536
+ target: item.target,
537
+ tabIndex: '-1',
538
+ 'aria-label': item.label,
539
+ 'aria-hidden': true,
500
540
  'aria-disabled': item.disabled,
501
541
  'data-p-disabled': item.disabled
502
542
  }, ptm('action'));
503
- var content = /*#__PURE__*/React.createElement("a", actionProps, icon, label);
543
+ var content = /*#__PURE__*/React.createElement("div", contentProps, /*#__PURE__*/React.createElement("a", actionProps, icon, label));
504
544
  if (item.template) {
505
545
  var defaultContentOptions = {
506
546
  onClick: function onClick(event) {
507
- return onItemClick(event, item);
508
- },
509
- onKeyDown: function onKeyDown(event) {
510
- return onItemKeyDown(event);
547
+ return onItemClick(event, item, key);
511
548
  },
512
549
  className: linkClassName,
513
- tabIndex: tabIndex,
550
+ tabIndex: '-1',
514
551
  labelClassName: 'p-menuitem-text',
515
552
  iconClassName: iconClassName,
516
553
  element: content,
@@ -521,11 +558,16 @@ var Menu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (inPr
521
558
  var menuitemProps = mergeProps({
522
559
  id: key,
523
560
  key: key,
524
- className: classNames(item.className, cx('menuitem')),
561
+ className: classNames(item.className, cx('menuitem', {
562
+ focused: focusedOptionIndex === key
563
+ })),
525
564
  style: sx('menuitem', {
526
565
  item: item
527
566
  }),
528
- role: 'none',
567
+ role: 'menuitem',
568
+ 'aria-label': item.label,
569
+ 'aria-disabled': item.disabled,
570
+ 'data-p-focused': focusedOptionId() === key,
529
571
  'data-p-disabled': item.disabled || false
530
572
  }, ptm('menuitem'));
531
573
  return /*#__PURE__*/React.createElement("li", menuitemProps, content);
@@ -549,8 +591,17 @@ var Menu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (inPr
549
591
  }
550
592
  }, MenuBase.getOtherProps(props), ptm('root'));
551
593
  var menuProps = mergeProps({
594
+ ref: listRef,
552
595
  className: cx('menu'),
553
- role: 'menu'
596
+ id: idState + '_list',
597
+ tabIndex: props.tabIndex || '0',
598
+ role: 'menu',
599
+ 'aria-label': props.ariaLabel,
600
+ 'aria-labelledby': props.ariaLabelledBy,
601
+ 'aria-activedescendant': focused ? focusedOptionId() : undefined,
602
+ onFocus: onListFocus,
603
+ onKeyDown: onListKeyDown,
604
+ onBlur: onListBlur
554
605
  }, ptm('menu'));
555
606
  var transitionProps = mergeProps({
556
607
  classNames: cx('transition'),
@@ -1 +1 @@
1
- import*as e from"react";import t,{PrimeReactContext as n}from"primereact/api";import{ComponentBase as r,useHandleStyle as i}from"primereact/componentbase";import{CSSTransition as o}from"primereact/csstransition";import{useOverlayListener as u,useMountEffect as a,useUnmountEffect as l}from"primereact/hooks";import{OverlayService as c}from"primereact/overlayservice";import{Portal as s}from"primereact/portal";import{classNames as p,DomHandler as m,ObjectUtils as f,UniqueComponentId as d,ZIndexUtils as b,mergeProps as y,IconUtils as v}from"primereact/utils";function g(){return g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},g.apply(this,arguments)}function E(e){return E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},E(e)}function h(e,t){if("object"!==E(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==E(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function O(e){var t=h(e,"string");return"symbol"===E(t)?t:String(t)}function x(e){if(Array.isArray(e))return e}function w(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o,u,a=[],l=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(a.push(r.value),a.length!==t);l=!0);}catch(e){c=!0,i=e}finally{try{if(!l&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(c)throw i}}return a}}function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function j(e,t){if(e){if("string"==typeof e)return S(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?S(e,t):void 0}}function N(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function P(e,t){return x(e)||w(e,t)||j(e,t)||N()}var k=r.extend({defaultProps:{__TYPE:"Menu",id:null,model:null,popup:!1,popupAlignment:"left",style:null,className:null,autoZIndex:!0,baseZIndex:0,appendTo:null,transitionOptions:null,onShow:null,onHide:null,children:void 0,closeOnEscape:!0},css:{classes:{root:function(e){var n=e.context;return p("p-menu p-component",{"p-menu-overlay":e.props.popup,"p-input-filled":n&&"filled"===n.inputStyle||"filled"===t.inputStyle,"p-ripple-disabled":n&&!1===n.ripple||!1===t.ripple})},menu:"p-menu-list p-reset",action:function(e){return p("p-menuitem-link",{"p-disabled":e.item.disabled})},menuitem:"p-menuitem",submenuHeader:function(e){return p("p-submenu-header",{"p-disabled":e.submenu.disabled})},separator:"p-menu-separator",label:"p-menuitem-text",icon:"p-menuitem-icon",transition:"p-connected-overlay"},styles:"\n@layer primereact {\n .p-menu-overlay {\n position: absolute;\n /* Github #3122: Prevent animation flickering */\n top: -9999px;\n left: -9999px;\n }\n \n .p-menu ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n \n .p-menu .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-menu .p-menuitem-text {\n line-height: 1;\n }\n}\n",inlineStyles:{submenuHeader:function(e){return e.submenu.style},menuitem:function(e){return e.item.style}}}}),I=function(t){var n,r,i,o=t.target,u=void 0===o?"document":o,a=t.type,l=t.listener,c=t.options,s=t.when,p=void 0===s||s,d=e.useRef(null),b=e.useRef(null),y=(n=c,r=e.useRef(void 0),e.useEffect((function(){r.current=n})),r.current),v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};f.isNotEmpty(e.target)&&(g(),(e.when||p)&&(d.current=m.getTargetElement(e.target))),!b.current&&d.current&&(b.current=function(e){return l&&l(e)},d.current.addEventListener(a,b.current,c))},g=function(){b.current&&(d.current.removeEventListener(a,b.current,c),b.current=null)};return e.useEffect((function(){p?d.current=m.getTargetElement(u):(g(),d.current=null)}),[u,p]),e.useEffect((function(){!b.current||b.current===l&&y===c||(g(),p&&v())}),[l,c]),i=function(){g()},e.useEffect((function(){return i}),[]),[v,g]},A=function(t,n,r){var i=P(I({type:"keydown",listener:function(e){"Esc"!==e.key&&"Escape"!==e.key||(e.stopImmediatePropagation(),r(e))}}),2),o=i[0],u=i[1];return e.useEffect((function(){if(n&&t.current)return o(),function(){u()}})),[t,r]};function T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function D(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?T(Object(n),!0).forEach((function(t){var r,i,o;r=e,o=n[t],(i=O(i=t))in r?Object.defineProperty(r,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[i]=o})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):T(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var H=e.memo(e.forwardRef((function(r,E){var h=e.useContext(n),O=k.getProps(r,h),x=P(e.useState(O.id),2),w=x[0],S=x[1],j=P(e.useState(!O.popup),2),N=j[0],I=j[1],T=k.setMetaData({props:O,state:{id:w,visible:N}}),H=T.ptm,C=T.cx,R=T.sx;i(k.css.styles,T.isUnstyled,{name:"menu"});var _=e.useRef(null),Z=e.useRef(null);A(Z,O.popup&&O.closeOnEscape,(function(e){Y(e)}));var M=P(u({target:Z,overlay:_,listener:function(e,t){t.valid&&Y(e)},when:N}),2),U=M[0],z=M[1],J=function(e,t){t.disabled?e.preventDefault():(t.url||e.preventDefault(),t.command&&t.command({originalEvent:e,item:t}),O.popup&&Y(e))},K=function(e,t){var n=e.currentTarget.parentElement;switch(e.which){case 40:var r=L(n);r&&r.children[0].focus(),e.preventDefault();break;case 38:var i=X(n);i&&i.children[0].focus(),e.preventDefault()}},L=function e(t){var n=t.nextElementSibling;return n?m.getAttribute(n,'[data-p-disabled="true"]')||!m.getAttribute(n,'[data-pc-section="menuitem"]')?e(n):n:null},X=function e(t){var n=t.previousElementSibling;return n?m.getAttribute(n,'[data-p-disabled="true"]')||!m.getAttribute(n,'[data-pc-section="menuitem"]')?e(n):n:null},F=function(e){O.popup&&(N?Y(e):G(e))},G=function(e){Z.current=e.currentTarget,I(!0),O.onShow&&O.onShow(e)},Y=function(e){Z.current=e.currentTarget,I(!1),O.onHide&&O.onHide(e)},$=function(){m.addStyles(_.current,{position:"absolute",top:"0",left:"0"}),b.set("menu",_.current,h&&h.autoZIndex||t.autoZIndex,O.baseZIndex||h&&h.zIndex.menu||t.zIndex.menu),m.absolutePosition(_.current,Z.current,O.popupAlignment)},q=function(){U()},B=function(){Z.current=null,z()},Q=function(){b.clear(_.current)};a((function(){w||S(d())})),l((function(){b.clear(_.current)})),e.useImperativeHandle(E,(function(){return{props:O,toggle:F,show:G,hide:Y,getElement:function(){return _.current},getTarget:function(){return Z.current}}}));var V=function(t,n){var r=w+"_sub_"+n,i=t.items.map(ee),o=y({id:r,key:r,role:"presentation",className:p(t.className,C("submenuHeader",{submenu:t})),style:R("submenuHeader",{submenu:t}),"data-p-disabled":t.disabled},H("submenuHeader"));return e.createElement(e.Fragment,{key:r},e.createElement("li",o,t.label),i)},W=function(t){var n=w+"_separator_"+t,r=y({id:n,key:n,className:C("separator"),role:"separator"},H("separator"));return e.createElement("li",r)},ee=function(t,n){if(!1===t.visible)return null;var r=p("p-menuitem-link",{"p-disabled":t.disabled}),i=p("p-menuitem-icon",t.icon),o=y({className:C("icon")},H("icon")),u=v.getJSXIcon(t.icon,D({},o),{props:O}),a=y({className:C("label")},H("label")),l=t.label&&e.createElement("span",a,t.label),c=t.disabled?null:0,s=t.id||w+"_"+n,m=y({href:t.url||"#",className:C("action",{item:t}),role:"menuitem",target:t.target,onClick:function(e){return J(e,t)},onKeyDown:function(e){return K(e)},tabIndex:c,"aria-disabled":t.disabled,"data-p-disabled":t.disabled},H("action")),d=e.createElement("a",m,u,l);t.template&&(d=f.getJSXElement(t.template,t,{onClick:function(e){return J(e,t)},onKeyDown:function(e){return K(e)},className:r,tabIndex:c,labelClassName:"p-menuitem-text",iconClassName:i,element:d,props:O}));var b=y({id:s,key:s,className:p(t.className,C("menuitem")),style:R("menuitem",{item:t}),role:"none","data-p-disabled":t.disabled||!1},H("menuitem"));return e.createElement("li",b,d)},te=function(e,t){return e.separator?W(t):e.items?V(e,t):ee(e,t)},ne=function(){if(O.model){var t=O.model.map(te),n=y({className:p(O.className,C("root",{context:h})),style:O.style,onClick:function(e){return t=e,void(O.popup&&c.emit("overlay-click",{originalEvent:t,target:Z.current}));var t}},k.getOtherProps(O),H("root")),r=y({className:C("menu"),role:"menu"},H("menu")),i=y({classNames:C("transition"),in:N,timeout:{enter:120,exit:100},options:O.transitionOptions,unmountOnExit:!0,onEnter:$,onEntered:q,onExit:B,onExited:Q},H("transition"));return e.createElement(o,g({nodeRef:_},i),e.createElement("div",g({id:O.id,ref:_},n),e.createElement("ul",r,t)))}return null}();return O.popup?e.createElement(s,{element:ne,appendTo:O.appendTo}):ne})));H.displayName="Menu";export{H as Menu};
1
+ import*as e from"react";import n,{PrimeReactContext as t}from"primereact/api";import{ComponentBase as r,useHandleStyle as a}from"primereact/componentbase";import{CSSTransition as o}from"primereact/csstransition";import{useDisplayOrder as i,useGlobalOnEscapeKey as u,ESC_KEY_HANDLING_PRIORITIES as l,useOverlayListener as c,useMountEffect as s,useUnmountEffect as p}from"primereact/hooks";import{OverlayService as m}from"primereact/overlayservice";import{Portal as d}from"primereact/portal";import{classNames as f,UniqueComponentId as b,ZIndexUtils as y,mergeProps as v,DomHandler as g,IconUtils as h,ObjectUtils as S}from"primereact/utils";function x(){return x=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},x.apply(this,arguments)}function E(e){return E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},E(e)}function O(e,n){if("object"!==E(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!==E(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}function w(e){var n=O(e,"string");return"symbol"===E(n)?n:String(n)}function j(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function k(e){if(Array.isArray(e))return j(e)}function I(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function N(e,n){if(e){if("string"==typeof e)return j(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?j(e,n):void 0}}function P(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function D(e){return k(e)||I(e)||N(e)||P()}function A(e){if(Array.isArray(e))return e}function T(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,a,o,i,u=[],l=!0,c=!1;try{if(o=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;l=!1}else for(;!(l=(r=o.call(t)).done)&&(u.push(r.value),u.length!==n);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(c)throw a}}return u}}function H(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _(e,n){return A(e)||T(e,n)||N(e,n)||H()}var C=r.extend({defaultProps:{__TYPE:"Menu",id:null,ariaLabel:null,ariaLabelledBy:null,tabIndex:0,model:null,popup:!1,popupAlignment:"left",style:null,className:null,autoZIndex:!0,baseZIndex:0,appendTo:null,onFocus:null,onBlur:null,transitionOptions:null,onShow:null,onHide:null,children:void 0,closeOnEscape:!0},css:{classes:{root:function(e){var t=e.context;return f("p-menu p-component",{"p-menu-overlay":e.props.popup,"p-input-filled":t&&"filled"===t.inputStyle||"filled"===n.inputStyle,"p-ripple-disabled":t&&!1===t.ripple||!1===n.ripple})},menu:"p-menu-list p-reset",content:"p-menuitem-content",action:function(e){return f("p-menuitem-link",{"p-disabled":e.item.disabled})},menuitem:function(e){return f("p-menuitem",{"p-focus":e.focused})},submenuHeader:function(e){return f("p-submenu-header",{"p-disabled":e.submenu.disabled})},separator:"p-menu-separator",label:"p-menuitem-text",icon:"p-menuitem-icon",transition:"p-connected-overlay"},styles:"\n@layer primereact {\n .p-menu-overlay {\n position: absolute;\n /* Github #3122: Prevent animation flickering */\n top: -9999px;\n left: -9999px;\n }\n\n .p-menu ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .p-menu .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-menu .p-menuitem-text {\n line-height: 1;\n }\n}\n",inlineStyles:{submenuHeader:function(e){return e.submenu.style},menuitem:function(e){return e.item.style}}}});function B(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function F(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?B(Object(t),!0).forEach((function(n){var r,a,o;r=e,o=t[n],(a=w(a=n))in r?Object.defineProperty(r,a,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[a]=o})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):B(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var M=e.memo(e.forwardRef((function(r,E){var O=e.useContext(t),w=C.getProps(r,O),j=_(e.useState(w.id),2),k=j[0],I=j[1],N=_(e.useState(!w.popup),2),P=N[0],A=N[1],T=_(e.useState(-1),2),H=T[0],B=T[1],M=_(e.useState(-1),2),R=M[0],Z=M[1],L=_(e.useState(!1),2),U=L[0],z=L[1],J=C.setMetaData({props:w,state:{id:k,visible:P}}),K=J.ptm,X=J.cx,G=J.sx;a(C.css.styles,J.isUnstyled,{name:"menu"});var Y=e.useRef(null),$=e.useRef(null),q=e.useRef(null),Q=i("menu",!(!P||!w.popup));u({callback:function(e){ve(e)},when:P&&w.popup&&w.closeOnEscape,priority:[l.MENU,Q]});var V=_(c({target:q,overlay:Y,listener:function(e,n){n.valid&&(ve(e),B(-1))},when:P}),2),W=V[0],ee=V[1],ne=function(e,n,t){n.disabled?e.preventDefault():(n.url||e.preventDefault(),n.command&&n.command({originalEvent:e,item:n}),w.popup&&ve(e),w.popup||H===t||B(t),e.preventDefault(),e.stopPropagation())},te=function(e){z(!0),w.popup||(-1!==R?(de(R),Z(-1)):de(0)),w.onFocus&&w.onFocus(e)},re=function(e){z(!1),B(-1),w.onBlur&&w.onBlur(e)},ae=function(e){switch(e.code){case"ArrowDown":oe(e);break;case"ArrowUp":ie(e);break;case"Home":ue(e);break;case"End":le(e);break;case"Enter":ce(e);break;case"Space":se(e);break;case"Escape":w.popup&&(g.focus(q.current),ve(e));case"Tab":w.popup&&P&&ve(e)}},oe=function(e){var n=pe(H);de(n),e.preventDefault()},ie=function(e){if(e.altKey&&w.popup)g.focus(q.current),ve(e),e.preventDefault();else{var n=me(H);de(n),e.preventDefault()}},ue=function(e){de(0),e.preventDefault()},le=function(e){de(g.find(Y.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]').length-1),e.preventDefault()},ce=function(e){var n=g.findSingle(Y.current,'li[id="'.concat("".concat(H),'"]')),t=n&&g.findSingle(n,'a[data-pc-section="action"]');w.popup&&g.focus(q.current),t?t.click():n&&n.click(),e.preventDefault()},se=function(e){ce(e)},pe=function(e){var n=D(g.find(Y.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]')).findIndex((function(n){return n.id===e}));return n>-1?n+1:0},me=function(e){var n=D(g.find(Y.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]')).findIndex((function(n){return n.id===e}));return n>-1?n-1:0},de=function(e){var n=g.find(Y.current,'li[data-pc-section="menuitem"][data-p-disabled="false"]'),t=e>=n.length?n.length-1:e<0?0:e;t>-1&&B(n[t].getAttribute("id"))},fe=function(){return-1!==H?H:null},be=function(e){w.popup&&(P?ve(e):ye(e))},ye=function(e){q.current=e.currentTarget,A(!0),w.onShow&&w.onShow(e)},ve=function(e){q.current=e.currentTarget,A(!1),w.onHide&&w.onHide(e)},ge=function(){g.addStyles(Y.current,{position:"absolute",top:"0",left:"0"}),y.set("menu",Y.current,O&&O.autoZIndex||n.autoZIndex,w.baseZIndex||O&&O.zIndex.menu||n.zIndex.menu),g.absolutePosition(Y.current,q.current,w.popupAlignment),w.popup&&(g.focus($.current),de(0))},he=function(){W()},Se=function(){q.current=null,ee()},xe=function(){y.clear(Y.current)};s((function(){k||I(b())})),p((function(){y.clear(Y.current)})),e.useImperativeHandle(E,(function(){return{props:w,toggle:be,show:ye,hide:ve,getElement:function(){return Y.current},getTarget:function(){return q.current}}}));var Ee=function(n,t){var r=k+"_sub_"+t,a=n.items.map((function(e,n){return we(e,n,r)})),o=v({id:r,key:r,role:"none",className:f(n.className,X("submenuHeader",{submenu:n})),style:G("submenuHeader",{submenu:n}),"data-p-disabled":n.disabled},K("submenuHeader"));return e.createElement(e.Fragment,{key:r},e.createElement("li",o,n.label),a)},Oe=function(n){var t=k+"_separator_"+n,r=v({id:t,key:t,className:X("separator"),role:"separator"},K("separator"));return e.createElement("li",r)},we=function(n,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!1===n.visible)return null;var a=f("p-menuitem-link",{"p-disabled":n.disabled}),o=f("p-menuitem-icon",n.icon),i=v({className:X("icon")},K("icon")),u=h.getJSXIcon(n.icon,F({},i),{props:w}),l=v({className:X("label")},K("label")),c=n.label&&e.createElement("span",l,n.label),s=n.id||(r||k)+"_"+t,p=v({onClick:function(e){return ne(e,n,s)},className:X("content")},K("content")),m=v({href:n.url||"#",className:X("action",{item:n}),onFocus:function(e){return e.stopPropagation()},target:n.target,tabIndex:"-1","aria-label":n.label,"aria-hidden":!0,"aria-disabled":n.disabled,"data-p-disabled":n.disabled},K("action")),d=e.createElement("div",p,e.createElement("a",m,u,c));n.template&&(d=S.getJSXElement(n.template,n,{onClick:function(e){return ne(e,n,s)},className:a,tabIndex:"-1",labelClassName:"p-menuitem-text",iconClassName:o,element:d,props:w}));var b=v({id:s,key:s,className:f(n.className,X("menuitem",{focused:H===s})),style:G("menuitem",{item:n}),role:"menuitem","aria-label":n.label,"aria-disabled":n.disabled,"data-p-focused":fe()===s,"data-p-disabled":n.disabled||!1},K("menuitem"));return e.createElement("li",b,d)},je=function(e,n){return e.separator?Oe(n):e.items?Ee(e,n):we(e,n)},ke=function(){if(w.model){var n=w.model.map(je),t=v({className:f(w.className,X("root",{context:O})),style:w.style,onClick:function(e){return n=e,void(w.popup&&m.emit("overlay-click",{originalEvent:n,target:q.current}));var n}},C.getOtherProps(w),K("root")),r=v({ref:$,className:X("menu"),id:k+"_list",tabIndex:w.tabIndex||"0",role:"menu","aria-label":w.ariaLabel,"aria-labelledby":w.ariaLabelledBy,"aria-activedescendant":U?fe():void 0,onFocus:te,onKeyDown:ae,onBlur:re},K("menu")),a=v({classNames:X("transition"),in:P,timeout:{enter:120,exit:100},options:w.transitionOptions,unmountOnExit:!0,onEnter:ge,onEntered:he,onExit:Se,onExited:xe},K("transition"));return e.createElement(o,x({nodeRef:Y},a),e.createElement("div",x({id:w.id,ref:Y},t),e.createElement("ul",r,n)))}return null}();return w.popup?e.createElement(d,{element:ke,appendTo:w.appendTo}):ke})));M.displayName="Menu";export{M as Menu};