primereact 10.2.0 → 10.3.0

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 (558) hide show
  1. package/accordion/accordion.cjs.js +83 -11
  2. package/accordion/accordion.cjs.min.js +1 -1
  3. package/accordion/accordion.d.ts +1 -1
  4. package/accordion/accordion.esm.js +83 -11
  5. package/accordion/accordion.esm.min.js +1 -1
  6. package/accordion/accordion.js +81 -9
  7. package/accordion/accordion.min.js +1 -1
  8. package/api/api.cjs.js +24 -0
  9. package/api/api.cjs.min.js +1 -1
  10. package/api/api.d.ts +13 -246
  11. package/api/api.esm.js +24 -0
  12. package/api/api.esm.min.js +1 -1
  13. package/api/api.js +24 -0
  14. package/api/api.min.js +1 -1
  15. package/breadcrumb/breadcrumb.cjs.js +12 -6
  16. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  17. package/breadcrumb/breadcrumb.esm.js +12 -6
  18. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  19. package/breadcrumb/breadcrumb.js +12 -6
  20. package/breadcrumb/breadcrumb.min.js +1 -1
  21. package/calendar/calendar.cjs.js +6 -9
  22. package/calendar/calendar.cjs.min.js +1 -1
  23. package/calendar/calendar.esm.js +6 -9
  24. package/calendar/calendar.esm.min.js +1 -1
  25. package/calendar/calendar.js +6 -9
  26. package/calendar/calendar.min.js +1 -1
  27. package/carousel/carousel.cjs.js +102 -8
  28. package/carousel/carousel.cjs.min.js +1 -1
  29. package/carousel/carousel.esm.js +103 -9
  30. package/carousel/carousel.esm.min.js +1 -1
  31. package/carousel/carousel.js +102 -8
  32. package/carousel/carousel.min.js +1 -1
  33. package/cascadeselect/cascadeselect.cjs.js +24 -5
  34. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  35. package/cascadeselect/cascadeselect.esm.js +25 -6
  36. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  37. package/cascadeselect/cascadeselect.js +25 -7
  38. package/cascadeselect/cascadeselect.min.js +1 -1
  39. package/chip/chip.cjs.js +0 -1
  40. package/chip/chip.cjs.min.js +1 -1
  41. package/chip/chip.esm.js +0 -1
  42. package/chip/chip.esm.min.js +1 -1
  43. package/chip/chip.js +0 -1
  44. package/chip/chip.min.js +1 -1
  45. package/chips/chips.cjs.js +1 -2
  46. package/chips/chips.cjs.min.js +1 -1
  47. package/chips/chips.esm.js +1 -2
  48. package/chips/chips.esm.min.js +1 -1
  49. package/chips/chips.js +1 -2
  50. package/chips/chips.min.js +1 -1
  51. package/confirmdialog/confirmdialog.cjs.js +13 -8
  52. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  53. package/confirmdialog/confirmdialog.esm.js +13 -8
  54. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  55. package/confirmdialog/confirmdialog.js +13 -8
  56. package/confirmdialog/confirmdialog.min.js +1 -1
  57. package/confirmpopup/confirmpopup.cjs.js +57 -36
  58. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  59. package/confirmpopup/confirmpopup.d.ts +29 -0
  60. package/confirmpopup/confirmpopup.esm.js +57 -36
  61. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  62. package/confirmpopup/confirmpopup.js +57 -36
  63. package/confirmpopup/confirmpopup.min.js +1 -1
  64. package/contextmenu/contextmenu.cjs.js +640 -98
  65. package/contextmenu/contextmenu.cjs.min.js +1 -1
  66. package/contextmenu/contextmenu.d.ts +22 -0
  67. package/contextmenu/contextmenu.esm.js +640 -98
  68. package/contextmenu/contextmenu.esm.min.js +1 -1
  69. package/contextmenu/contextmenu.js +640 -98
  70. package/contextmenu/contextmenu.min.js +1 -1
  71. package/core/core.js +596 -130
  72. package/core/core.min.js +35 -35
  73. package/datatable/datatable.cjs.js +4 -7
  74. package/datatable/datatable.cjs.min.js +1 -1
  75. package/datatable/datatable.d.ts +1 -1
  76. package/datatable/datatable.esm.js +4 -7
  77. package/datatable/datatable.esm.min.js +1 -1
  78. package/datatable/datatable.js +4 -7
  79. package/datatable/datatable.min.js +1 -1
  80. package/dialog/dialog.cjs.js +86 -38
  81. package/dialog/dialog.cjs.min.js +1 -1
  82. package/dialog/dialog.d.ts +59 -0
  83. package/dialog/dialog.esm.js +86 -38
  84. package/dialog/dialog.esm.min.js +1 -1
  85. package/dialog/dialog.js +86 -38
  86. package/dialog/dialog.min.js +1 -1
  87. package/divider/divider.cjs.js +1 -0
  88. package/divider/divider.cjs.min.js +1 -1
  89. package/divider/divider.esm.js +1 -0
  90. package/divider/divider.esm.min.js +1 -1
  91. package/divider/divider.js +1 -0
  92. package/divider/divider.min.js +1 -1
  93. package/dock/dock.cjs.js +169 -33
  94. package/dock/dock.cjs.min.js +1 -1
  95. package/dock/dock.d.ts +15 -0
  96. package/dock/dock.esm.js +170 -34
  97. package/dock/dock.esm.min.js +1 -1
  98. package/dock/dock.js +169 -33
  99. package/dock/dock.min.js +1 -1
  100. package/dropdown/dropdown.cjs.js +25 -2
  101. package/dropdown/dropdown.cjs.min.js +1 -1
  102. package/dropdown/dropdown.esm.js +25 -2
  103. package/dropdown/dropdown.esm.min.js +1 -1
  104. package/dropdown/dropdown.js +26 -4
  105. package/dropdown/dropdown.min.js +1 -1
  106. package/fieldset/fieldset.cjs.js +12 -5
  107. package/fieldset/fieldset.cjs.min.js +1 -1
  108. package/fieldset/fieldset.esm.js +12 -5
  109. package/fieldset/fieldset.esm.min.js +1 -1
  110. package/fieldset/fieldset.js +12 -5
  111. package/fieldset/fieldset.min.js +1 -1
  112. package/fileupload/fileupload.cjs.js +14 -6
  113. package/fileupload/fileupload.cjs.min.js +1 -1
  114. package/fileupload/fileupload.d.ts +17 -1
  115. package/fileupload/fileupload.esm.js +14 -6
  116. package/fileupload/fileupload.esm.min.js +1 -1
  117. package/fileupload/fileupload.js +14 -6
  118. package/fileupload/fileupload.min.js +1 -1
  119. package/galleria/galleria.cjs.js +222 -42
  120. package/galleria/galleria.cjs.min.js +1 -1
  121. package/galleria/galleria.esm.js +224 -44
  122. package/galleria/galleria.esm.min.js +1 -1
  123. package/galleria/galleria.js +222 -42
  124. package/galleria/galleria.min.js +1 -1
  125. package/hooks/hooks.cjs.js +4 -2
  126. package/hooks/hooks.cjs.min.js +1 -1
  127. package/hooks/hooks.esm.js +4 -2
  128. package/hooks/hooks.esm.min.js +1 -1
  129. package/hooks/hooks.js +4 -2
  130. package/hooks/hooks.min.js +1 -1
  131. package/icons/arrowdown/index.cjs.js +12 -1
  132. package/icons/arrowdown/index.cjs.min.js +1 -1
  133. package/icons/arrowdown/index.esm.js +12 -1
  134. package/icons/arrowdown/index.esm.min.js +1 -1
  135. package/icons/arrowdown/index.js +12 -1
  136. package/icons/arrowdown/index.min.js +1 -1
  137. package/icons/arrowup/index.cjs.js +12 -1
  138. package/icons/arrowup/index.cjs.min.js +1 -1
  139. package/icons/arrowup/index.esm.js +12 -1
  140. package/icons/arrowup/index.esm.min.js +1 -1
  141. package/icons/arrowup/index.js +12 -1
  142. package/icons/arrowup/index.min.js +1 -1
  143. package/icons/ban/index.cjs.js +12 -1
  144. package/icons/ban/index.cjs.min.js +1 -1
  145. package/icons/ban/index.esm.js +12 -1
  146. package/icons/ban/index.esm.min.js +1 -1
  147. package/icons/ban/index.js +12 -1
  148. package/icons/ban/index.min.js +1 -1
  149. package/icons/download/index.cjs.js +12 -1
  150. package/icons/download/index.cjs.min.js +1 -1
  151. package/icons/download/index.esm.js +12 -1
  152. package/icons/download/index.esm.min.js +1 -1
  153. package/icons/download/index.js +12 -1
  154. package/icons/download/index.min.js +1 -1
  155. package/icons/exclamationtriangle/index.cjs.js +12 -1
  156. package/icons/exclamationtriangle/index.cjs.min.js +1 -1
  157. package/icons/exclamationtriangle/index.esm.js +12 -1
  158. package/icons/exclamationtriangle/index.esm.min.js +1 -1
  159. package/icons/exclamationtriangle/index.js +12 -1
  160. package/icons/exclamationtriangle/index.min.js +1 -1
  161. package/icons/eyeslash/index.cjs.js +12 -1
  162. package/icons/eyeslash/index.cjs.min.js +1 -1
  163. package/icons/eyeslash/index.esm.js +12 -1
  164. package/icons/eyeslash/index.esm.min.js +1 -1
  165. package/icons/eyeslash/index.js +12 -1
  166. package/icons/eyeslash/index.min.js +1 -1
  167. package/icons/filter/index.cjs.js +12 -1
  168. package/icons/filter/index.cjs.min.js +1 -1
  169. package/icons/filter/index.esm.js +12 -1
  170. package/icons/filter/index.esm.min.js +1 -1
  171. package/icons/filter/index.js +12 -1
  172. package/icons/filter/index.min.js +1 -1
  173. package/icons/filterslash/index.cjs.js +12 -1
  174. package/icons/filterslash/index.cjs.min.js +1 -1
  175. package/icons/filterslash/index.esm.js +12 -1
  176. package/icons/filterslash/index.esm.min.js +1 -1
  177. package/icons/filterslash/index.js +12 -1
  178. package/icons/filterslash/index.min.js +1 -1
  179. package/icons/infocircle/index.cjs.js +12 -1
  180. package/icons/infocircle/index.cjs.min.js +1 -1
  181. package/icons/infocircle/index.esm.js +12 -1
  182. package/icons/infocircle/index.esm.min.js +1 -1
  183. package/icons/infocircle/index.js +12 -1
  184. package/icons/infocircle/index.min.js +1 -1
  185. package/icons/pencil/index.cjs.js +12 -1
  186. package/icons/pencil/index.cjs.min.js +1 -1
  187. package/icons/pencil/index.esm.js +12 -1
  188. package/icons/pencil/index.esm.min.js +1 -1
  189. package/icons/pencil/index.js +12 -1
  190. package/icons/pencil/index.min.js +1 -1
  191. package/icons/plus/index.cjs.js +12 -1
  192. package/icons/plus/index.cjs.min.js +1 -1
  193. package/icons/plus/index.esm.js +12 -1
  194. package/icons/plus/index.esm.min.js +1 -1
  195. package/icons/plus/index.js +12 -1
  196. package/icons/plus/index.min.js +1 -1
  197. package/icons/refresh/index.cjs.js +12 -1
  198. package/icons/refresh/index.cjs.min.js +1 -1
  199. package/icons/refresh/index.esm.js +12 -1
  200. package/icons/refresh/index.esm.min.js +1 -1
  201. package/icons/refresh/index.js +12 -1
  202. package/icons/refresh/index.min.js +1 -1
  203. package/icons/search/index.cjs.js +12 -1
  204. package/icons/search/index.cjs.min.js +1 -1
  205. package/icons/search/index.esm.js +12 -1
  206. package/icons/search/index.esm.min.js +1 -1
  207. package/icons/search/index.js +12 -1
  208. package/icons/search/index.min.js +1 -1
  209. package/icons/searchminus/index.cjs.js +12 -1
  210. package/icons/searchminus/index.cjs.min.js +1 -1
  211. package/icons/searchminus/index.esm.js +12 -1
  212. package/icons/searchminus/index.esm.min.js +1 -1
  213. package/icons/searchminus/index.js +12 -1
  214. package/icons/searchminus/index.min.js +1 -1
  215. package/icons/searchplus/index.cjs.js +12 -1
  216. package/icons/searchplus/index.cjs.min.js +1 -1
  217. package/icons/searchplus/index.esm.js +12 -1
  218. package/icons/searchplus/index.esm.min.js +1 -1
  219. package/icons/searchplus/index.js +12 -1
  220. package/icons/searchplus/index.min.js +1 -1
  221. package/icons/sortalt/index.cjs.js +12 -1
  222. package/icons/sortalt/index.cjs.min.js +1 -1
  223. package/icons/sortalt/index.esm.js +12 -1
  224. package/icons/sortalt/index.esm.min.js +1 -1
  225. package/icons/sortalt/index.js +12 -1
  226. package/icons/sortalt/index.min.js +1 -1
  227. package/icons/sortamountdown/index.cjs.js +12 -1
  228. package/icons/sortamountdown/index.cjs.min.js +1 -1
  229. package/icons/sortamountdown/index.esm.js +12 -1
  230. package/icons/sortamountdown/index.esm.min.js +1 -1
  231. package/icons/sortamountdown/index.js +12 -1
  232. package/icons/sortamountdown/index.min.js +1 -1
  233. package/icons/sortamountupalt/index.cjs.js +12 -1
  234. package/icons/sortamountupalt/index.cjs.min.js +1 -1
  235. package/icons/sortamountupalt/index.esm.js +12 -1
  236. package/icons/sortamountupalt/index.esm.min.js +1 -1
  237. package/icons/sortamountupalt/index.js +12 -1
  238. package/icons/sortamountupalt/index.min.js +1 -1
  239. package/icons/spinner/index.cjs.js +12 -1
  240. package/icons/spinner/index.cjs.min.js +1 -1
  241. package/icons/spinner/index.esm.js +12 -1
  242. package/icons/spinner/index.esm.min.js +1 -1
  243. package/icons/spinner/index.js +12 -1
  244. package/icons/spinner/index.min.js +1 -1
  245. package/icons/star/index.cjs.js +12 -1
  246. package/icons/star/index.cjs.min.js +1 -1
  247. package/icons/star/index.esm.js +12 -1
  248. package/icons/star/index.esm.min.js +1 -1
  249. package/icons/star/index.js +12 -1
  250. package/icons/star/index.min.js +1 -1
  251. package/icons/starfill/index.cjs.js +12 -1
  252. package/icons/starfill/index.cjs.min.js +1 -1
  253. package/icons/starfill/index.esm.js +12 -1
  254. package/icons/starfill/index.esm.min.js +1 -1
  255. package/icons/starfill/index.js +12 -1
  256. package/icons/starfill/index.min.js +1 -1
  257. package/icons/thlarge/index.cjs.js +12 -1
  258. package/icons/thlarge/index.cjs.min.js +1 -1
  259. package/icons/thlarge/index.esm.js +12 -1
  260. package/icons/thlarge/index.esm.min.js +1 -1
  261. package/icons/thlarge/index.js +12 -1
  262. package/icons/thlarge/index.min.js +1 -1
  263. package/icons/timescircle/index.cjs.js +12 -1
  264. package/icons/timescircle/index.cjs.min.js +1 -1
  265. package/icons/timescircle/index.esm.js +12 -1
  266. package/icons/timescircle/index.esm.min.js +1 -1
  267. package/icons/timescircle/index.js +12 -1
  268. package/icons/timescircle/index.min.js +1 -1
  269. package/icons/trash/index.cjs.js +12 -1
  270. package/icons/trash/index.cjs.min.js +1 -1
  271. package/icons/trash/index.esm.js +12 -1
  272. package/icons/trash/index.esm.min.js +1 -1
  273. package/icons/trash/index.js +12 -1
  274. package/icons/trash/index.min.js +1 -1
  275. package/icons/undo/index.cjs.js +12 -1
  276. package/icons/undo/index.cjs.min.js +1 -1
  277. package/icons/undo/index.esm.js +12 -1
  278. package/icons/undo/index.esm.min.js +1 -1
  279. package/icons/undo/index.js +12 -1
  280. package/icons/undo/index.min.js +1 -1
  281. package/icons/upload/index.cjs.js +12 -1
  282. package/icons/upload/index.cjs.min.js +1 -1
  283. package/icons/upload/index.esm.js +12 -1
  284. package/icons/upload/index.esm.min.js +1 -1
  285. package/icons/upload/index.js +12 -1
  286. package/icons/upload/index.min.js +1 -1
  287. package/icons/windowmaximize/index.cjs.js +12 -1
  288. package/icons/windowmaximize/index.cjs.min.js +1 -1
  289. package/icons/windowmaximize/index.esm.js +12 -1
  290. package/icons/windowmaximize/index.esm.min.js +1 -1
  291. package/icons/windowmaximize/index.js +12 -1
  292. package/icons/windowmaximize/index.min.js +1 -1
  293. package/icons/windowminimize/index.cjs.js +12 -1
  294. package/icons/windowminimize/index.cjs.min.js +1 -1
  295. package/icons/windowminimize/index.esm.js +12 -1
  296. package/icons/windowminimize/index.esm.min.js +1 -1
  297. package/icons/windowminimize/index.js +12 -1
  298. package/icons/windowminimize/index.min.js +1 -1
  299. package/image/image.cjs.js +71 -16
  300. package/image/image.cjs.min.js +1 -1
  301. package/image/image.esm.js +71 -16
  302. package/image/image.esm.min.js +1 -1
  303. package/image/image.js +71 -16
  304. package/image/image.min.js +1 -1
  305. package/megamenu/megamenu.cjs.js +787 -168
  306. package/megamenu/megamenu.cjs.min.js +1 -1
  307. package/megamenu/megamenu.d.ts +14 -0
  308. package/megamenu/megamenu.esm.js +790 -171
  309. package/megamenu/megamenu.esm.min.js +1 -1
  310. package/megamenu/megamenu.js +787 -168
  311. package/megamenu/megamenu.min.js +1 -1
  312. package/mention/mention.cjs.js +10 -9
  313. package/mention/mention.cjs.min.js +1 -1
  314. package/mention/mention.esm.js +11 -10
  315. package/mention/mention.esm.min.js +1 -1
  316. package/mention/mention.js +10 -9
  317. package/mention/mention.min.js +1 -1
  318. package/menu/menu.cjs.js +214 -68
  319. package/menu/menu.cjs.min.js +1 -1
  320. package/menu/menu.d.ts +14 -0
  321. package/menu/menu.esm.js +214 -68
  322. package/menu/menu.esm.min.js +1 -1
  323. package/menu/menu.js +214 -68
  324. package/menu/menu.min.js +1 -1
  325. package/menubar/menubar.cjs.js +714 -179
  326. package/menubar/menubar.cjs.min.js +1 -1
  327. package/menubar/menubar.d.ts +18 -0
  328. package/menubar/menubar.esm.js +717 -182
  329. package/menubar/menubar.esm.min.js +1 -1
  330. package/menubar/menubar.js +714 -179
  331. package/menubar/menubar.min.js +1 -1
  332. package/message/message.cjs.js +2 -1
  333. package/message/message.cjs.min.js +1 -1
  334. package/message/message.esm.js +2 -1
  335. package/message/message.esm.min.js +1 -1
  336. package/message/message.js +2 -1
  337. package/message/message.min.js +1 -1
  338. package/messages/messages.cjs.js +4 -2
  339. package/messages/messages.cjs.min.js +1 -1
  340. package/messages/messages.esm.js +4 -2
  341. package/messages/messages.esm.min.js +1 -1
  342. package/messages/messages.js +4 -2
  343. package/messages/messages.min.js +1 -1
  344. package/multiselect/multiselect.cjs.js +11 -5
  345. package/multiselect/multiselect.cjs.min.js +1 -1
  346. package/multiselect/multiselect.esm.js +11 -5
  347. package/multiselect/multiselect.esm.min.js +1 -1
  348. package/multiselect/multiselect.js +12 -7
  349. package/multiselect/multiselect.min.js +1 -1
  350. package/orderlist/orderlist.cjs.js +259 -104
  351. package/orderlist/orderlist.cjs.min.js +1 -1
  352. package/orderlist/orderlist.d.ts +8 -0
  353. package/orderlist/orderlist.esm.js +260 -105
  354. package/orderlist/orderlist.esm.min.js +1 -1
  355. package/orderlist/orderlist.js +259 -104
  356. package/orderlist/orderlist.min.js +1 -1
  357. package/overlaypanel/overlaypanel.cjs.js +4 -2
  358. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  359. package/overlaypanel/overlaypanel.esm.js +4 -2
  360. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  361. package/overlaypanel/overlaypanel.js +4 -2
  362. package/overlaypanel/overlaypanel.min.js +1 -1
  363. package/package.json +1 -1
  364. package/panel/panel.cjs.js +22 -19
  365. package/panel/panel.cjs.min.js +1 -1
  366. package/panel/panel.esm.js +22 -19
  367. package/panel/panel.esm.min.js +1 -1
  368. package/panel/panel.js +22 -19
  369. package/panel/panel.min.js +1 -1
  370. package/panelmenu/panelmenu.cjs.js +775 -196
  371. package/panelmenu/panelmenu.cjs.min.js +1 -1
  372. package/panelmenu/panelmenu.d.ts +15 -0
  373. package/panelmenu/panelmenu.esm.js +776 -197
  374. package/panelmenu/panelmenu.esm.min.js +1 -1
  375. package/panelmenu/panelmenu.js +775 -196
  376. package/panelmenu/panelmenu.min.js +1 -1
  377. package/passthrough/tailwind/index.cjs.js +5 -4
  378. package/passthrough/tailwind/index.cjs.min.js +1 -1
  379. package/passthrough/tailwind/index.esm.js +5 -4
  380. package/passthrough/tailwind/index.esm.min.js +1 -1
  381. package/passthrough/tailwind/index.js +5 -4
  382. package/passthrough/tailwind/index.min.js +1 -1
  383. package/password/password.cjs.js +1 -1
  384. package/password/password.cjs.min.js +1 -1
  385. package/password/password.esm.js +1 -1
  386. package/password/password.esm.min.js +1 -1
  387. package/password/password.js +1 -1
  388. package/password/password.min.js +1 -1
  389. package/primereact.all.cjs.js +9489 -5244
  390. package/primereact.all.cjs.min.js +1 -1
  391. package/primereact.all.esm.js +9489 -5244
  392. package/primereact.all.esm.min.js +1 -1
  393. package/primereact.all.js +9489 -5244
  394. package/primereact.all.min.js +1 -1
  395. package/radiobutton/radiobutton.cjs.js +3 -2
  396. package/radiobutton/radiobutton.cjs.min.js +1 -1
  397. package/radiobutton/radiobutton.esm.js +3 -2
  398. package/radiobutton/radiobutton.esm.min.js +1 -1
  399. package/radiobutton/radiobutton.js +3 -2
  400. package/radiobutton/radiobutton.min.js +1 -1
  401. package/resources/themes/arya-blue/theme.css +844 -789
  402. package/resources/themes/arya-green/theme.css +844 -789
  403. package/resources/themes/arya-orange/theme.css +844 -789
  404. package/resources/themes/arya-purple/theme.css +844 -789
  405. package/resources/themes/bootstrap4-dark-blue/theme.css +654 -600
  406. package/resources/themes/bootstrap4-dark-purple/theme.css +654 -600
  407. package/resources/themes/bootstrap4-light-blue/theme.css +658 -604
  408. package/resources/themes/bootstrap4-light-purple/theme.css +658 -604
  409. package/resources/themes/fluent-light/theme.css +661 -622
  410. package/resources/themes/lara-dark-amber/theme.css +665 -625
  411. package/resources/themes/lara-dark-blue/theme.css +665 -625
  412. package/resources/themes/lara-dark-cyan/theme.css +665 -625
  413. package/resources/themes/lara-dark-green/theme.css +665 -625
  414. package/resources/themes/lara-dark-indigo/theme.css +665 -625
  415. package/resources/themes/lara-dark-pink/theme.css +665 -625
  416. package/resources/themes/lara-dark-purple/theme.css +665 -625
  417. package/resources/themes/lara-dark-teal/theme.css +665 -625
  418. package/resources/themes/lara-light-amber/theme.css +758 -716
  419. package/resources/themes/lara-light-blue/theme.css +992 -950
  420. package/resources/themes/lara-light-cyan/theme.css +758 -716
  421. package/resources/themes/lara-light-green/theme.css +797 -755
  422. package/resources/themes/lara-light-indigo/theme.css +1008 -966
  423. package/resources/themes/lara-light-pink/theme.css +758 -716
  424. package/resources/themes/lara-light-purple/theme.css +1008 -966
  425. package/resources/themes/lara-light-teal/theme.css +758 -716
  426. package/resources/themes/luna-amber/theme.css +931 -877
  427. package/resources/themes/luna-blue/theme.css +931 -877
  428. package/resources/themes/luna-green/theme.css +931 -877
  429. package/resources/themes/luna-pink/theme.css +931 -877
  430. package/resources/themes/md-dark-deeppurple/theme.css +900 -941
  431. package/resources/themes/md-dark-indigo/theme.css +905 -946
  432. package/resources/themes/md-light-deeppurple/theme.css +862 -903
  433. package/resources/themes/md-light-indigo/theme.css +862 -903
  434. package/resources/themes/mdc-dark-deeppurple/theme.css +900 -941
  435. package/resources/themes/mdc-dark-indigo/theme.css +905 -946
  436. package/resources/themes/mdc-light-deeppurple/theme.css +862 -903
  437. package/resources/themes/mdc-light-indigo/theme.css +862 -903
  438. package/resources/themes/mira/theme.css +1546 -1525
  439. package/resources/themes/nano/theme.css +696 -639
  440. package/resources/themes/nova/theme.css +690 -637
  441. package/resources/themes/nova-accent/theme.css +692 -636
  442. package/resources/themes/nova-alt/theme.css +690 -637
  443. package/resources/themes/rhea/theme.css +865 -809
  444. package/resources/themes/saga-blue/theme.css +883 -828
  445. package/resources/themes/saga-green/theme.css +883 -828
  446. package/resources/themes/saga-orange/theme.css +883 -828
  447. package/resources/themes/saga-purple/theme.css +883 -828
  448. package/resources/themes/soho-dark/theme.css +684 -635
  449. package/resources/themes/soho-light/theme.css +672 -625
  450. package/resources/themes/tailwind-light/theme.css +1354 -1299
  451. package/resources/themes/vela-blue/theme.css +852 -797
  452. package/resources/themes/vela-green/theme.css +852 -797
  453. package/resources/themes/vela-orange/theme.css +852 -797
  454. package/resources/themes/vela-purple/theme.css +852 -797
  455. package/resources/themes/viva-dark/theme.css +647 -613
  456. package/resources/themes/viva-light/theme.css +728 -694
  457. package/ripple/ripple.cjs.js +65 -2
  458. package/ripple/ripple.cjs.min.js +1 -1
  459. package/ripple/ripple.esm.js +65 -2
  460. package/ripple/ripple.esm.min.js +1 -1
  461. package/ripple/ripple.js +65 -2
  462. package/ripple/ripple.min.js +1 -1
  463. package/scrollpanel/scrollpanel.cjs.js +183 -3
  464. package/scrollpanel/scrollpanel.cjs.min.js +1 -1
  465. package/scrollpanel/scrollpanel.esm.js +184 -4
  466. package/scrollpanel/scrollpanel.esm.min.js +1 -1
  467. package/scrollpanel/scrollpanel.js +183 -3
  468. package/scrollpanel/scrollpanel.min.js +1 -1
  469. package/sidebar/sidebar.cjs.js +58 -45
  470. package/sidebar/sidebar.cjs.min.js +1 -1
  471. package/sidebar/sidebar.d.ts +23 -1
  472. package/sidebar/sidebar.esm.js +58 -45
  473. package/sidebar/sidebar.esm.min.js +1 -1
  474. package/sidebar/sidebar.js +58 -45
  475. package/sidebar/sidebar.min.js +1 -1
  476. package/slidemenu/slidemenu.cjs.js +4 -2
  477. package/slidemenu/slidemenu.cjs.min.js +1 -1
  478. package/slidemenu/slidemenu.esm.js +4 -2
  479. package/slidemenu/slidemenu.esm.min.js +1 -1
  480. package/slidemenu/slidemenu.js +4 -2
  481. package/slidemenu/slidemenu.min.js +1 -1
  482. package/slider/slider.cjs.js +1 -1
  483. package/slider/slider.cjs.min.js +1 -1
  484. package/slider/slider.esm.js +1 -1
  485. package/slider/slider.esm.min.js +1 -1
  486. package/slider/slider.js +1 -1
  487. package/slider/slider.min.js +1 -1
  488. package/speeddial/speeddial.cjs.js +264 -29
  489. package/speeddial/speeddial.cjs.min.js +1 -1
  490. package/speeddial/speeddial.esm.js +266 -31
  491. package/speeddial/speeddial.esm.min.js +1 -1
  492. package/speeddial/speeddial.js +264 -29
  493. package/speeddial/speeddial.min.js +1 -1
  494. package/splitbutton/splitbutton.cjs.js +1048 -267
  495. package/splitbutton/splitbutton.cjs.min.js +1 -1
  496. package/splitbutton/splitbutton.d.ts +4 -4
  497. package/splitbutton/splitbutton.esm.js +1049 -268
  498. package/splitbutton/splitbutton.esm.min.js +1 -1
  499. package/splitbutton/splitbutton.js +1048 -269
  500. package/splitbutton/splitbutton.min.js +1 -1
  501. package/splitter/splitter.cjs.js +103 -15
  502. package/splitter/splitter.cjs.min.js +1 -1
  503. package/splitter/splitter.d.ts +5 -0
  504. package/splitter/splitter.esm.js +103 -15
  505. package/splitter/splitter.esm.min.js +1 -1
  506. package/splitter/splitter.js +103 -15
  507. package/splitter/splitter.min.js +1 -1
  508. package/steps/steps.cjs.js +99 -13
  509. package/steps/steps.cjs.min.js +1 -1
  510. package/steps/steps.esm.js +100 -14
  511. package/steps/steps.esm.min.js +1 -1
  512. package/steps/steps.js +99 -13
  513. package/steps/steps.min.js +1 -1
  514. package/tabmenu/tabmenu.cjs.js +104 -10
  515. package/tabmenu/tabmenu.cjs.min.js +1 -1
  516. package/tabmenu/tabmenu.esm.js +104 -10
  517. package/tabmenu/tabmenu.esm.min.js +1 -1
  518. package/tabmenu/tabmenu.js +104 -10
  519. package/tabmenu/tabmenu.min.js +1 -1
  520. package/tabview/tabview.cjs.js +106 -12
  521. package/tabview/tabview.cjs.min.js +1 -1
  522. package/tabview/tabview.esm.js +106 -12
  523. package/tabview/tabview.esm.min.js +1 -1
  524. package/tabview/tabview.js +106 -12
  525. package/tabview/tabview.min.js +1 -1
  526. package/tieredmenu/tieredmenu.cjs.js +752 -274
  527. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  528. package/tieredmenu/tieredmenu.d.ts +10 -0
  529. package/tieredmenu/tieredmenu.esm.js +754 -276
  530. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  531. package/tieredmenu/tieredmenu.js +752 -274
  532. package/tieredmenu/tieredmenu.min.js +1 -1
  533. package/toast/toast.cjs.js +6 -1
  534. package/toast/toast.cjs.min.js +1 -1
  535. package/toast/toast.d.ts +35 -1
  536. package/toast/toast.esm.js +6 -1
  537. package/toast/toast.esm.min.js +1 -1
  538. package/toast/toast.js +6 -1
  539. package/toast/toast.min.js +1 -1
  540. package/tree/tree.cjs.js +51 -54
  541. package/tree/tree.cjs.min.js +1 -1
  542. package/tree/tree.esm.js +51 -54
  543. package/tree/tree.esm.min.js +1 -1
  544. package/tree/tree.js +51 -54
  545. package/tree/tree.min.js +1 -1
  546. package/treetable/treetable.cjs.js +11 -28
  547. package/treetable/treetable.cjs.min.js +1 -1
  548. package/treetable/treetable.esm.js +11 -28
  549. package/treetable/treetable.esm.min.js +1 -1
  550. package/treetable/treetable.js +11 -28
  551. package/treetable/treetable.min.js +1 -1
  552. package/utils/utils.cjs.js +12 -1
  553. package/utils/utils.cjs.min.js +1 -1
  554. package/utils/utils.esm.js +12 -1
  555. package/utils/utils.esm.min.js +1 -1
  556. package/utils/utils.js +12 -1
  557. package/utils/utils.min.js +1 -1
  558. package/web-types.json +267 -5
@@ -14,6 +14,8 @@ var tooltip = require('primereact/tooltip');
14
14
  var utils = require('primereact/utils');
15
15
  var csstransition = require('primereact/csstransition');
16
16
  var portal = require('primereact/portal');
17
+ var angleright = require('primereact/icons/angleright');
18
+ var ripple = require('primereact/ripple');
17
19
 
18
20
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
21
 
@@ -149,7 +151,7 @@ function _slicedToArray(arr, i) {
149
151
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
150
152
  }
151
153
 
152
- var classes = {
154
+ var classes$1 = {
153
155
  icon: 'p-button-icon p-c',
154
156
  root: function root(_ref) {
155
157
  var props = _ref.props,
@@ -179,13 +181,15 @@ var classes = {
179
181
  menuItem: 'p-menuitem',
180
182
  transition: 'p-connected-overlay'
181
183
  };
182
- var styles = "\n@layer primereact {\n .p-splitbutton {\n display: inline-flex;\n position: relative;\n }\n\n .p-splitbutton .p-splitbutton-defaultbutton,\n .p-splitbutton.p-button-rounded > .p-splitbutton-defaultbutton.p-button,\n .p-splitbutton.p-button-outlined > .p-splitbutton-defaultbutton.p-button,\n .p-splitbutton.p-button-outlined > .p-splitbutton-defaultbutton.p-button-outlined.p-button:hover {\n flex: 1 1 auto;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-right: 0 none;\n }\n\n .p-splitbutton-menubutton,\n .p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button,\n .p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button {\n display: flex;\n align-items: center;\n justify-content: center;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .p-splitbutton .p-menu {\n min-width: 100%;\n }\n\n .p-fluid .p-splitbutton {\n display: flex;\n }\n}\n";
184
+ var styles$1 = "\n@layer primereact {\n .p-splitbutton {\n display: inline-flex;\n position: relative;\n }\n\n .p-splitbutton .p-splitbutton-defaultbutton,\n .p-splitbutton.p-button-rounded > .p-splitbutton-defaultbutton.p-button,\n .p-splitbutton.p-button-outlined > .p-splitbutton-defaultbutton.p-button,\n .p-splitbutton.p-button-outlined > .p-splitbutton-defaultbutton.p-button-outlined.p-button:hover {\n flex: 1 1 auto;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-right: 0 none;\n }\n\n .p-splitbutton-menubutton,\n .p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button,\n .p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button {\n display: flex;\n align-items: center;\n justify-content: center;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .p-splitbutton .p-menu {\n min-width: 100%;\n }\n\n .p-fluid .p-splitbutton {\n display: flex;\n }\n}\n";
183
185
  var SplitButtonBase = componentbase.ComponentBase.extend({
184
186
  defaultProps: {
185
187
  __TYPE: 'SplitButton',
186
188
  id: null,
187
189
  label: null,
188
190
  icon: null,
191
+ autoZIndex: false,
192
+ baseZIndex: 0,
189
193
  loading: false,
190
194
  loadingIcon: null,
191
195
  model: null,
@@ -216,248 +220,1063 @@ var SplitButtonBase = componentbase.ComponentBase.extend({
216
220
  onHide: null,
217
221
  children: undefined
218
222
  },
223
+ css: {
224
+ classes: classes$1,
225
+ styles: styles$1
226
+ }
227
+ });
228
+
229
+ var classes = {
230
+ root: function root(_ref) {
231
+ var props = _ref.props,
232
+ context = _ref.context;
233
+ return utils.classNames('p-tieredmenu p-component', {
234
+ 'p-tieredmenu-overlay': props.popup,
235
+ 'p-input-filled': context && context.inputStyle === 'filled' || PrimeReact__default["default"].inputStyle === 'filled',
236
+ 'p-ripple-disabled': context && context.ripple === false || PrimeReact__default["default"].ripple === false
237
+ }, props.className);
238
+ },
239
+ separator: 'p-menuitem-separator',
240
+ icon: function icon(_ref2) {
241
+ var _icon = _ref2._icon;
242
+ return utils.classNames('p-menuitem-icon', _icon);
243
+ },
244
+ content: 'p-menuitem-content',
245
+ label: 'p-menuitem-text',
246
+ submenuIcon: 'p-submenu-icon',
247
+ action: 'p-menuitem-link',
248
+ menuitem: function menuitem(_ref3) {
249
+ var _className = _ref3._className,
250
+ active = _ref3.active,
251
+ focused = _ref3.focused,
252
+ disabled = _ref3.disabled;
253
+ return utils.classNames('p-menuitem', {
254
+ 'p-menuitem-active p-highlight': active,
255
+ 'p-focus': focused,
256
+ 'p-disabled': disabled
257
+ }, _className);
258
+ },
259
+ menu: 'p-tieredmenu-root-list',
260
+ submenu: 'p-submenu-list',
261
+ transition: 'p-connected-overlay'
262
+ };
263
+ var inlineStyles = {
264
+ submenu: function submenu(_ref4) {
265
+ var props = _ref4.subProps;
266
+ return {
267
+ display: !props.root && props.parentActive ? 'block' : 'none'
268
+ };
269
+ }
270
+ };
271
+ 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";
272
+ var TieredMenuBase = componentbase.ComponentBase.extend({
273
+ defaultProps: {
274
+ __TYPE: 'TieredMenu',
275
+ id: null,
276
+ model: null,
277
+ popup: false,
278
+ style: null,
279
+ className: null,
280
+ autoZIndex: true,
281
+ baseZIndex: 0,
282
+ breakpoint: undefined,
283
+ scrollHeight: '400px',
284
+ appendTo: null,
285
+ transitionOptions: null,
286
+ onShow: null,
287
+ onFocus: null,
288
+ onBlur: null,
289
+ onHide: null,
290
+ submenuIcon: null,
291
+ children: undefined
292
+ },
219
293
  css: {
220
294
  classes: classes,
221
- styles: styles
295
+ styles: styles,
296
+ inlineStyles: inlineStyles
222
297
  }
223
298
  });
224
299
 
225
300
  function ownKeys$2(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; }
226
301
  function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
227
- var SplitButtonItem = /*#__PURE__*/React__namespace.memo(function (props) {
302
+ var TieredMenuSub = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.forwardRef(function (props, ref) {
303
+ var elementRef = React__namespace.useRef(null);
228
304
  var ptm = props.ptm,
229
- cx = props.cx;
230
- var getPTOptions = function getPTOptions(key, options) {
231
- return ptm(key, _objectSpread$2({
232
- hostName: props.hostName
233
- }, options));
305
+ cx = props.cx,
306
+ sx = props.sx;
307
+ var getPTOptions = function getPTOptions(item, key) {
308
+ return ptm(key, {
309
+ hostName: props.hostName,
310
+ context: {
311
+ active: isItemActive(item)
312
+ }
313
+ });
234
314
  };
235
- var onClick = function onClick(e) {
236
- if (props.menuitem.command) {
237
- props.menuitem.command({
238
- originalEvent: e,
239
- item: props.menuitem
240
- });
315
+ var position = function position() {
316
+ if (elementRef.current) {
317
+ var parentItem = elementRef.current.parentElement;
318
+ var containerOffset = utils.DomHandler.getOffset(parentItem);
319
+ var viewport = utils.DomHandler.getViewport();
320
+ var sublistWidth = elementRef.current.offsetParent ? elementRef.current.offsetWidth : utils.DomHandler.getHiddenElementOuterWidth(elementRef.current);
321
+ var itemOuterWidth = utils.DomHandler.getOuterWidth(parentItem.children[0]);
322
+ var top = parseInt(containerOffset.top, 10) + elementRef.current.offsetHeight - utils.DomHandler.getWindowScrollTop();
323
+ if (top > viewport.height) {
324
+ elementRef.current.style.top = viewport.height - top + 'px';
325
+ } else {
326
+ elementRef.current.style.top = '0px';
327
+ }
328
+ if (parseInt(containerOffset.left, 10) + itemOuterWidth + sublistWidth > viewport.width - utils.DomHandler.calculateScrollbarWidth()) {
329
+ utils.DomHandler.addClass(elementRef.current, 'p-submenu-list-flipped');
330
+ }
331
+ }
332
+ };
333
+ var onItemClick = function onItemClick(event, processedItem) {
334
+ var item = processedItem.item;
335
+ if (isItemDisabled(processedItem)) {
336
+ event.preventDefault();
337
+ return;
338
+ }
339
+ if (!item.url) {
340
+ event.preventDefault();
241
341
  }
242
- if (props.onItemClick) {
243
- props.onItemClick(e);
342
+ if (item.command) {
343
+ item.command({
344
+ originalEvent: event,
345
+ item: item
346
+ });
244
347
  }
245
- e.preventDefault();
348
+ props.onItemClick && props.onItemClick({
349
+ originalEvent: event,
350
+ processedItem: processedItem
351
+ });
352
+ };
353
+ var getItemId = function getItemId(processedItem) {
354
+ return "".concat(props.menuId, "_").concat(processedItem.key);
355
+ };
356
+ var getItemProp = function getItemProp(processedItem, name, params) {
357
+ return processedItem && processedItem.item ? utils.ObjectUtils.getItemValue(processedItem.item[name], params) : undefined;
358
+ };
359
+ var isItemActive = function isItemActive(processedItem) {
360
+ return props.activeItemPath.some(function (path) {
361
+ return path.key === processedItem.key;
362
+ });
363
+ };
364
+ var isItemVisible = function isItemVisible(processedItem) {
365
+ return getItemProp(processedItem, 'visible') !== false;
366
+ };
367
+ var isItemDisabled = function isItemDisabled(processedItem) {
368
+ return getItemProp(processedItem, 'disabled');
369
+ };
370
+ var isItemFocused = function isItemFocused(processedItem) {
371
+ return props.focusedItemId === getItemId(processedItem);
372
+ };
373
+ var isItemGroup = function isItemGroup(processedItem) {
374
+ return utils.ObjectUtils.isNotEmpty(processedItem.items);
375
+ };
376
+ var onItemMouseEnter = function onItemMouseEnter(event, processedItem) {
377
+ props.onItemMouseEnter && props.onItemMouseEnter({
378
+ originalEvent: event,
379
+ processedItem: processedItem
380
+ });
246
381
  };
247
- var createSeparator = function createSeparator() {
382
+ var getAriaSetSize = function getAriaSetSize() {
383
+ return props.model.filter(function (processedItem) {
384
+ return isItemVisible(processedItem) && !getItemProp(processedItem, 'separator');
385
+ }).length;
386
+ };
387
+ var getAriaPosInset = function getAriaPosInset(index) {
388
+ return index - props.model.slice(0, index).filter(function (processedItem) {
389
+ return isItemVisible(processedItem) && getItemProp(processedItem, 'separator');
390
+ }).length + 1;
391
+ };
392
+ hooks.useUpdateEffect(function () {
393
+ if (!props.root && props.parentActive && !props.isMobileMode) {
394
+ position();
395
+ }
396
+ }, [props.parentActive]);
397
+ React__namespace.useImperativeHandle(ref, function () {
398
+ return {
399
+ getElement: function getElement() {
400
+ return elementRef.current;
401
+ }
402
+ };
403
+ });
404
+ var createSeparator = function createSeparator(index) {
405
+ var key = 'separator_' + index;
248
406
  var separatorProps = utils.mergeProps({
407
+ key: key,
249
408
  className: cx('separator'),
250
409
  role: 'separator'
251
- }, getPTOptions('separator'));
410
+ }, ptm('separator', {
411
+ hostName: props.hostName
412
+ }));
252
413
  return /*#__PURE__*/React__namespace.createElement("li", separatorProps);
253
414
  };
254
- var createMenuitem = function createMenuitem() {
255
- if (props.menuitem.visible === false) {
415
+ var createSubmenu = function createSubmenu(processedItem, index) {
416
+ if (isItemGroup(processedItem)) {
417
+ return /*#__PURE__*/React__namespace.createElement(TieredMenuSub, {
418
+ id: props.id + '_' + index,
419
+ menuProps: props.menuProps,
420
+ model: processedItem.items,
421
+ menuId: props.menuId,
422
+ ariaLabelledby: getItemId(item),
423
+ focusedItemId: props.focusedItemId,
424
+ activeItemPath: props.activeItemPath,
425
+ level: props.level + 1,
426
+ onItemClick: props.onItemClick,
427
+ popup: props.popup,
428
+ onItemMouseEnter: props.onItemMouseEnter,
429
+ parentActive: isItemActive(processedItem),
430
+ isMobileMode: props.isMobileMode,
431
+ submenuIcon: props.submenuIcon,
432
+ ptm: props.ptm,
433
+ cx: cx,
434
+ sx: sx
435
+ });
436
+ }
437
+ return null;
438
+ };
439
+ var createMenuItem = function createMenuItem(processedItem, index) {
440
+ if (isItemVisible(processedItem) === false) {
256
441
  return null;
257
442
  }
258
- var _props$menuitem = props.menuitem,
259
- disabled = _props$menuitem.disabled,
260
- _icon = _props$menuitem.icon,
261
- _label = _props$menuitem.label,
262
- template = _props$menuitem.template,
263
- url = _props$menuitem.url,
264
- target = _props$menuitem.target,
265
- _className = _props$menuitem.className;
266
- var className = utils.classNames('p-menuitem-link', _className, {
267
- 'p-disabled': disabled
268
- });
443
+ var item = processedItem.item;
444
+ var style = getItemProp(processedItem, 'style');
445
+ var _icon = getItemProp(processedItem, 'icon');
446
+ var target = getItemProp(processedItem, 'target');
447
+ var url = getItemProp(processedItem, 'url');
448
+ var key = getItemId(processedItem);
449
+ var focused = isItemFocused(processedItem);
450
+ var active = isItemActive(processedItem);
451
+ var disabled = isItemDisabled(processedItem);
452
+ var grouped = isItemGroup(processedItem);
453
+ var linkClassName = utils.classNames('p-menuitem-link');
269
454
  var iconClassName = utils.classNames('p-menuitem-icon', _icon);
270
- var menuIconProps = utils.mergeProps({
271
- className: cx('menuIcon')
272
- }, getPTOptions('menuIcon'));
273
- var icon = utils.IconUtils.getJSXIcon(_icon, _objectSpread$2({}, menuIconProps), {
274
- props: props.splitButtonProps
455
+ var iconProps = utils.mergeProps({
456
+ className: utils.classNames(item.icon, 'p-menuitem-icon', 'icon')
457
+ }, getPTOptions(processedItem, 'icon'));
458
+ var icon = utils.IconUtils.getJSXIcon(_icon, _objectSpread$2({}, iconProps), {
459
+ props: props.menuProps
275
460
  });
276
- var menuLabelProps = utils.mergeProps({
277
- className: cx('menuLabel')
278
- }, getPTOptions('menuLabel'));
279
- var label = _label && /*#__PURE__*/React__namespace.createElement("span", menuLabelProps, _label);
280
- var anchorProps = utils.mergeProps({
461
+ var labelProps = utils.mergeProps({
462
+ className: cx('label')
463
+ }, getPTOptions(processedItem, 'label'));
464
+ var label = item.label && /*#__PURE__*/React__namespace.createElement("span", labelProps, item.label);
465
+ var submenuIconClassName = 'p-submenu-icon';
466
+ var submenuIconProps = utils.mergeProps({
467
+ className: cx('submenuIcon')
468
+ }, getPTOptions(processedItem, 'submenuIcon'));
469
+ var submenuIcon = grouped && utils.IconUtils.getJSXIcon(props.submenuIcon || /*#__PURE__*/React__namespace.createElement(angleright.AngleRightIcon, submenuIconProps), _objectSpread$2({}, submenuIconProps), {
470
+ props: props.menuProps
471
+ });
472
+ var submenu = createSubmenu(processedItem, index);
473
+ var actionProps = utils.mergeProps({
281
474
  href: url || '#',
282
- role: 'menuitem',
283
- className: cx('anchor'),
284
- target: target,
285
- onClick: onClick,
286
- 'aria-label': _label
287
- }, getPTOptions('anchor'));
288
- var content = /*#__PURE__*/React__namespace.createElement("a", anchorProps, icon, label);
289
- if (template) {
475
+ 'aria-hidden': true,
476
+ tabIndex: '-1',
477
+ onFocus: function onFocus(event) {
478
+ return event.stopPropagation();
479
+ },
480
+ className: cx('action'),
481
+ target: target
482
+ }, getPTOptions(processedItem, 'action'));
483
+ var content = /*#__PURE__*/React__namespace.createElement("a", actionProps, icon, label, submenuIcon, /*#__PURE__*/React__namespace.createElement(ripple.Ripple, null));
484
+ if (item.template) {
290
485
  var defaultContentOptions = {
291
- onClick: onClick,
292
- className: className,
486
+ className: linkClassName,
293
487
  labelClassName: 'p-menuitem-text',
294
488
  iconClassName: iconClassName,
489
+ submenuIconClassName: submenuIconClassName,
295
490
  element: content,
296
- props: props
491
+ props: props,
492
+ active: active,
493
+ disabled: disabled
297
494
  };
298
- content = utils.ObjectUtils.getJSXElement(template, props.menuitem, defaultContentOptions);
495
+ content = utils.ObjectUtils.getJSXElement(item.template, item, defaultContentOptions);
299
496
  }
300
- var menuItemProps = utils.mergeProps({
301
- className: cx('menuItem'),
302
- role: 'none'
303
- }, getPTOptions('menuItem'));
304
- return /*#__PURE__*/React__namespace.createElement("li", menuItemProps, content);
497
+ var contentProps = utils.mergeProps({
498
+ onClick: function onClick(event) {
499
+ return onItemClick(event, processedItem);
500
+ },
501
+ onMouseEnter: function onMouseEnter(event) {
502
+ return onItemMouseEnter(event, processedItem);
503
+ },
504
+ className: cx('content')
505
+ }, getPTOptions(processedItem, 'content'));
506
+ var menuitemProps = utils.mergeProps({
507
+ key: key,
508
+ id: key,
509
+ 'aria-label': item.label,
510
+ 'aria-disabled': disabled,
511
+ 'aria-expanded': grouped ? active : undefined,
512
+ 'aria-haspopup': grouped && !url ? 'menu' : undefined,
513
+ 'aria-level': props.level + 1,
514
+ 'aria-setsize': getAriaSetSize(),
515
+ 'aria-posinset': getAriaPosInset(index),
516
+ 'data-p-highlight': active,
517
+ 'data-p-disabled': disabled,
518
+ 'data-p-visited': focused,
519
+ className: cx('menuitem', {
520
+ className: item.className,
521
+ active: active,
522
+ focused: focused,
523
+ disabled: disabled
524
+ }),
525
+ style: style,
526
+ onMouseEnter: function onMouseEnter(event) {
527
+ return onItemMouseEnter(event, item);
528
+ },
529
+ role: 'menuitem'
530
+ }, getPTOptions(processedItem, 'menuitem'));
531
+ return /*#__PURE__*/React__namespace.createElement("li", menuitemProps, /*#__PURE__*/React__namespace.createElement("div", contentProps, content), submenu);
305
532
  };
306
- var createItem = function createItem() {
307
- return props.menuitem.separator ? createSeparator() : createMenuitem();
533
+ var createItem = function createItem(processedItem, index) {
534
+ return getItemProp(processedItem, 'separator') ? createSeparator(index) : createMenuItem(processedItem, index);
308
535
  };
309
- var item = createItem();
310
- return item;
311
- });
312
- SplitButtonItem.displayName = 'SplitButtonItem';
536
+ var createMenu = function createMenu() {
537
+ return props.model ? props.model.map(createItem) : null;
538
+ };
539
+ var submenu = createMenu();
540
+ var ptKey = props.root ? 'menu' : 'submenu';
541
+ var menuProps = utils.mergeProps({
542
+ ref: elementRef,
543
+ id: props.id,
544
+ tabIndex: props.tabIndex,
545
+ onFocus: props.onFocus,
546
+ onBlur: props.onBlur,
547
+ onKeyDown: props.onKeyDown,
548
+ className: cx(ptKey, {
549
+ subProps: props
550
+ }),
551
+ style: sx(ptKey, {
552
+ subProps: props
553
+ }),
554
+ role: props.root ? 'menubar' : 'menu',
555
+ 'aria-label': props.ariaLabel,
556
+ 'aria-labelledby': props.ariaLabelledby,
557
+ 'aria-orientation': props.ariaOrientation,
558
+ 'aria-activedescendant': props.focusedItemId
559
+ }, ptm(ptKey, {
560
+ hostName: props.hostName
561
+ }));
562
+ return /*#__PURE__*/React__namespace.createElement("ul", menuProps, submenu);
563
+ }));
564
+ TieredMenuSub.displayName = 'TieredMenuSub';
313
565
 
314
566
  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; }
315
567
  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; }
316
- var SplitButtonPanel = /*#__PURE__*/React__namespace.forwardRef(function (props, ref) {
317
- var ptm = props.ptm,
318
- cx = props.cx;
319
- var getPTOptions = function getPTOptions(key, options) {
320
- return ptm(key, _objectSpread$1({
321
- hostName: props.hostName
322
- }, options));
323
- };
324
- var createElement = function createElement() {
325
- var menuProps = utils.mergeProps({
326
- ref: ref,
327
- className: cx('menu', {
328
- subProps: props
329
- }),
330
- style: props.menuStyle,
331
- onClick: props.onClick
332
- }, getPTOptions('menu'));
333
- var menuListProps = utils.mergeProps({
334
- id: props.menuId,
335
- className: cx('menuList'),
336
- role: 'menu'
337
- }, getPTOptions('menuList'));
338
- var transitionProps = utils.mergeProps({
339
- classNames: cx('transition'),
340
- "in": props["in"],
341
- timeout: {
342
- enter: 120,
343
- exit: 100
344
- },
345
- options: props.transitionOptions,
346
- unmountOnExit: true,
347
- onEnter: props.onEnter,
348
- onEntered: props.onEntered,
349
- onExit: props.onExit,
350
- onExited: props.onExited
351
- }, getPTOptions('transition'));
352
- return /*#__PURE__*/React__namespace.createElement(csstransition.CSSTransition, _extends({
353
- nodeRef: ref
354
- }, transitionProps), /*#__PURE__*/React__namespace.createElement("div", menuProps, /*#__PURE__*/React__namespace.createElement("ul", menuListProps, props.children)));
355
- };
356
- var element = createElement();
357
- return /*#__PURE__*/React__namespace.createElement(portal.Portal, {
358
- element: element,
359
- appendTo: props.appendTo
360
- });
361
- });
362
- SplitButtonPanel.displayName = 'SplitButtonPanel';
363
-
364
- var usePrevious = function usePrevious(newValue) {
365
- var ref = React__namespace.useRef(undefined);
366
- React__namespace.useEffect(function () {
367
- ref.current = newValue;
568
+ var TieredMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namespace.forwardRef(function (inProps, ref) {
569
+ var context = React__namespace.useContext(PrimeReact.PrimeReactContext);
570
+ var props = TieredMenuBase.getProps(inProps, context);
571
+ var _React$useState = React__namespace.useState(props.id),
572
+ _React$useState2 = _slicedToArray(_React$useState, 2),
573
+ idState = _React$useState2[0],
574
+ setIdState = _React$useState2[1];
575
+ var _React$useState3 = React__namespace.useState(!props.popup),
576
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
577
+ visibleState = _React$useState4[0],
578
+ setVisibleState = _React$useState4[1];
579
+ var _React$useState5 = React__namespace.useState([]),
580
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
581
+ activeItemPath = _React$useState6[0],
582
+ setActiveItemPath = _React$useState6[1];
583
+ var _React$useState7 = React__namespace.useState(false),
584
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
585
+ focused = _React$useState8[0],
586
+ setFocused = _React$useState8[1];
587
+ var _React$useState9 = React__namespace.useState(null),
588
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
589
+ focusedItemId = _React$useState10[0],
590
+ setFocusedItemId = _React$useState10[1];
591
+ var _React$useState11 = React__namespace.useState({
592
+ index: -1,
593
+ level: 0,
594
+ parentKey: ''
595
+ }),
596
+ _React$useState12 = _slicedToArray(_React$useState11, 2),
597
+ focusedItemInfo = _React$useState12[0],
598
+ setFocusedItemInfo = _React$useState12[1];
599
+ var _React$useState13 = React__namespace.useState(false),
600
+ _React$useState14 = _slicedToArray(_React$useState13, 2),
601
+ dirty = _React$useState14[0],
602
+ setDirty = _React$useState14[1];
603
+ var _React$useState15 = React__namespace.useState([]),
604
+ _React$useState16 = _slicedToArray(_React$useState15, 2),
605
+ processedItems = _React$useState16[0],
606
+ setProcessedItems = _React$useState16[1];
607
+ var _React$useState17 = React__namespace.useState([]),
608
+ _React$useState18 = _slicedToArray(_React$useState17, 2),
609
+ visibleItems = _React$useState18[0],
610
+ setVisibleItems = _React$useState18[1];
611
+ var _React$useState19 = React__namespace.useState(false),
612
+ _React$useState20 = _slicedToArray(_React$useState19, 2),
613
+ focusTrigger = _React$useState20[0],
614
+ setFocusTrigger = _React$useState20[1];
615
+ var _React$useState21 = React__namespace.useState(null),
616
+ _React$useState22 = _slicedToArray(_React$useState21, 2),
617
+ attributeSelectorState = _React$useState22[0],
618
+ setAttributeSelectorState = _React$useState22[1];
619
+ var _TieredMenuBase$setMe = TieredMenuBase.setMetaData({
620
+ props: props,
621
+ state: {
622
+ id: idState,
623
+ visible: visibleState,
624
+ attributeSelector: attributeSelectorState
625
+ }
626
+ }),
627
+ ptm = _TieredMenuBase$setMe.ptm,
628
+ cx = _TieredMenuBase$setMe.cx,
629
+ sx = _TieredMenuBase$setMe.sx,
630
+ isUnstyled = _TieredMenuBase$setMe.isUnstyled;
631
+ componentbase.useHandleStyle(TieredMenuBase.css.styles, isUnstyled, {
632
+ name: 'tieredmenu'
368
633
  });
369
- return ref.current;
370
- };
371
-
372
- /* eslint-disable */
373
- var useUnmountEffect = function useUnmountEffect(fn) {
374
- return React__namespace.useEffect(function () {
375
- return fn;
376
- }, []);
377
- };
378
- /* eslint-enable */
379
-
380
- /* eslint-disable */
381
- var useEventListener = function useEventListener(_ref) {
382
- var _ref$target = _ref.target,
383
- target = _ref$target === void 0 ? 'document' : _ref$target,
384
- type = _ref.type,
385
- listener = _ref.listener,
386
- options = _ref.options,
387
- _ref$when = _ref.when,
388
- when = _ref$when === void 0 ? true : _ref$when;
634
+ var containerRef = React__namespace.useRef(null);
635
+ var menuRef = React__namespace.useRef(null);
389
636
  var targetRef = React__namespace.useRef(null);
390
- var listenerRef = React__namespace.useRef(null);
391
- var prevOptions = usePrevious(options);
392
- var bind = function bind() {
393
- var bindOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
394
- if (utils.ObjectUtils.isNotEmpty(bindOptions.target)) {
395
- unbind();
396
- (bindOptions.when || when) && (targetRef.current = utils.DomHandler.getTargetElement(bindOptions.target));
397
- }
398
- if (!listenerRef.current && targetRef.current) {
399
- listenerRef.current = function (event) {
400
- return listener && listener(event);
401
- };
402
- targetRef.current.addEventListener(type, listenerRef.current, options);
637
+ var relatedTarget = React__namespace.useRef(null);
638
+ var styleElementRef = React__namespace.useRef(null);
639
+ var searchValue = React__namespace.useRef(null);
640
+ var searchTimeout = React__namespace.useRef(null);
641
+ var isMobileMode = hooks.useMatchMedia("screen and (max-width: ".concat(props.breakpoint, ")"), !!props.breakpoint);
642
+ var _useEventListener = hooks.useEventListener({
643
+ type: 'click',
644
+ listener: function listener(event) {
645
+ var isOutsideContainer = containerRef.current && !containerRef.current.contains(event.target);
646
+ var isOutsideTarget = props.popup ? !(targetRef.current && (targetRef.current === event.target || targetRef.current.contains(event.target))) : true;
647
+ if (isOutsideContainer && isOutsideTarget) {
648
+ hide(event, !props.popup);
649
+ }
650
+ }
651
+ }),
652
+ _useEventListener2 = _slicedToArray(_useEventListener, 2),
653
+ bindDocumentClickListener = _useEventListener2[0],
654
+ unbindDocumentClickListener = _useEventListener2[1];
655
+ var _useResizeListener = hooks.useResizeListener({
656
+ listener: function listener() {
657
+ !isMobileMode && hide(event, true);
658
+ }
659
+ }),
660
+ _useResizeListener2 = _slicedToArray(_useResizeListener, 2),
661
+ bindDocumentResizeListener = _useResizeListener2[0],
662
+ unbindDocumentResizeListener = _useResizeListener2[1];
663
+ var onPanelClick = function onPanelClick(event) {
664
+ if (props.popup) {
665
+ overlayservice.OverlayService.emit('overlay-click', {
666
+ originalEvent: event,
667
+ target: targetRef.current
668
+ });
403
669
  }
404
670
  };
405
- var unbind = function unbind() {
406
- if (listenerRef.current) {
407
- targetRef.current.removeEventListener(type, listenerRef.current, options);
408
- listenerRef.current = null;
671
+ var toggle = function toggle(event) {
672
+ if (props.popup) {
673
+ visibleState ? hide(event) : show(event);
409
674
  }
410
675
  };
411
- React__namespace.useEffect(function () {
412
- if (when) {
413
- targetRef.current = utils.DomHandler.getTargetElement(target);
414
- } else {
415
- unbind();
416
- targetRef.current = null;
417
- }
418
- }, [target, when]);
419
- React__namespace.useEffect(function () {
420
- if (listenerRef.current && (listenerRef.current !== listener || prevOptions !== options)) {
421
- unbind();
422
- when && bind();
423
- }
424
- }, [listener, options]);
425
- useUnmountEffect(function () {
426
- unbind();
427
- });
428
- return [bind, unbind];
429
- };
430
- /* eslint-enable */
431
-
432
- var useOnEscapeKey = function useOnEscapeKey(ref, condition, callback) {
433
- var handleEsc = function handleEsc(event) {
434
- if (event.key === 'Esc' || event.key === 'Escape') {
435
- event.stopImmediatePropagation();
436
- callback(event);
676
+ var show = function show(event) {
677
+ if (props.popup) {
678
+ targetRef.current = event.currentTarget;
679
+ setVisibleState(true);
680
+ props.onShow && props.onShow(event);
681
+ relatedTarget.current = event.relatedTarget || null;
437
682
  }
438
- return;
683
+ setFocusedItemInfo({
684
+ index: findFirstFocusedItemIndex(),
685
+ level: 0,
686
+ parentKey: ''
687
+ });
439
688
  };
440
- var _useEventListener = useEventListener({
441
- type: 'keydown',
442
- listener: handleEsc
443
- }),
444
- _useEventListener2 = _slicedToArray(_useEventListener, 2),
445
- bindKeyDownListener = _useEventListener2[0],
446
- unbindKeyDownListener = _useEventListener2[1];
447
- React__namespace.useEffect(function () {
448
- if (!condition) {
689
+ var hide = function hide(event, isFocus) {
690
+ if (props.popup) {
691
+ setVisibleState(false);
692
+ props.onHide && props.onHide(event);
693
+ }
694
+ var menuElement = getMenuElement();
695
+ setActiveItemPath([]);
696
+ setFocusedItemInfo({
697
+ index: -1,
698
+ level: 0,
699
+ parentKey: ''
700
+ });
701
+ isFocus && utils.DomHandler.focus(relatedTarget.current || targetRef.current || menuElement);
702
+ setDirty(false);
703
+ };
704
+ var onFocus = function onFocus(event) {
705
+ setFocused(true);
706
+ setFocusedItemInfo(focusedItemInfo.index !== -1 ? focusedItemInfo : {
707
+ index: findFirstFocusedItemIndex(),
708
+ level: 0,
709
+ parentKey: ''
710
+ });
711
+ props.onFocus && props.onFocus(event);
712
+ };
713
+ var onBlur = function onBlur(event) {
714
+ setFocused(false);
715
+ setFocusedItemInfo({
716
+ index: -1,
717
+ level: 0,
718
+ parentKey: ''
719
+ });
720
+ searchValue.current = '';
721
+ setDirty(false);
722
+ props.onBlur && props.onBlur(event);
723
+ };
724
+ var onKeyDown = function onKeyDown(event) {
725
+ var metaKey = event.metaKey || event.ctrlKey;
726
+ switch (event.code) {
727
+ case 'ArrowDown':
728
+ onArrowDownKey(event);
729
+ break;
730
+ case 'ArrowUp':
731
+ onArrowUpKey(event);
732
+ break;
733
+ case 'ArrowLeft':
734
+ onArrowLeftKey(event);
735
+ break;
736
+ case 'ArrowRight':
737
+ onArrowRightKey(event);
738
+ break;
739
+ case 'Home':
740
+ onHomeKey(event);
741
+ break;
742
+ case 'End':
743
+ onEndKey(event);
744
+ break;
745
+ case 'Space':
746
+ onSpaceKey(event);
747
+ break;
748
+ case 'Enter':
749
+ onEnterKey(event);
750
+ break;
751
+ case 'Escape':
752
+ props.popup && utils.DomHandler.focus(targetRef.current);
753
+ onEscapeKey(event);
754
+ break;
755
+ case 'Tab':
756
+ onTabKey(event);
757
+ break;
758
+ case 'PageDown':
759
+ case 'PageUp':
760
+ case 'Backspace':
761
+ case 'ShiftLeft':
762
+ case 'ShiftRight':
763
+ //NOOP
764
+ break;
765
+ default:
766
+ if (!metaKey && utils.ObjectUtils.isPrintableCharacter(event.key)) {
767
+ searchItems(event.key);
768
+ }
769
+ break;
770
+ }
771
+ };
772
+ var onItemChange = function onItemChange(event) {
773
+ var processedItem = event.processedItem,
774
+ isFocus = event.isFocus;
775
+ if (utils.ObjectUtils.isEmpty(processedItem)) return;
776
+ var index = processedItem.index,
777
+ key = processedItem.key,
778
+ level = processedItem.level,
779
+ parentKey = processedItem.parentKey,
780
+ items = processedItem.items;
781
+ var grouped = utils.ObjectUtils.isNotEmpty(items);
782
+ var _activeItemPath = activeItemPath.filter(function (p) {
783
+ return p.parentKey !== parentKey && p.parentKey !== key;
784
+ });
785
+ if (grouped) {
786
+ _activeItemPath.push(processedItem);
787
+ }
788
+ setFocusedItemInfo({
789
+ index: index,
790
+ level: level,
791
+ parentKey: parentKey
792
+ });
793
+ setActiveItemPath(_activeItemPath);
794
+ grouped && setDirty(true);
795
+ isFocus && utils.DomHandler.focus(getMenuElement());
796
+ };
797
+ var onItemClick = function onItemClick(event) {
798
+ var originalEvent = event.originalEvent,
799
+ processedItem = event.processedItem;
800
+ if (isItemDisabled(processedItem) || props.isMobileMode) {
449
801
  return;
450
802
  }
451
- if (!ref.current) {
803
+ var grouped = isProccessedItemGroup(processedItem);
804
+ var root = utils.ObjectUtils.isEmpty(processedItem.parent);
805
+ var selected = isSelected(processedItem);
806
+ var menuElement = getMenuElement();
807
+ if (selected) {
808
+ var index = processedItem.index,
809
+ key = processedItem.key,
810
+ level = processedItem.level,
811
+ parentKey = processedItem.parentKey;
812
+ setActiveItemPath(activeItemPath.filter(function (p) {
813
+ return key !== p.key && key.startsWith(p.key);
814
+ }));
815
+ setFocusedItemInfo({
816
+ index: index,
817
+ level: level,
818
+ parentKey: parentKey
819
+ });
820
+ if (!grouped) {
821
+ setDirty(!root);
822
+ }
823
+ setTimeout(function () {
824
+ utils.DomHandler.focus(menuElement);
825
+ if (grouped) {
826
+ setDirty(true);
827
+ }
828
+ }, 0);
829
+ } else {
830
+ if (grouped) {
831
+ utils.DomHandler.focus(menuElement);
832
+ onItemChange(event);
833
+ } else {
834
+ var rootProcessedItem = root ? processedItem : activeItemPath.find(function (p) {
835
+ return p.parentKey === '';
836
+ });
837
+ var rootProcessedItemIndex = rootProcessedItem ? rootProcessedItem.index : -1;
838
+ hide(originalEvent, true);
839
+ setFocusedItemInfo({
840
+ index: rootProcessedItemIndex,
841
+ parentKey: rootProcessedItem ? rootProcessedItem.parentKey : ''
842
+ });
843
+ }
844
+ }
845
+ };
846
+ var onItemMouseEnter = function onItemMouseEnter(event) {
847
+ var originalEvent = event.originalEvent,
848
+ processedItem = event.processedItem;
849
+ if (isItemDisabled(processedItem) || props.isMobileMode) {
850
+ originalEvent.preventDefault();
452
851
  return;
453
852
  }
454
- bindKeyDownListener();
853
+ if (dirty && !props.popup) {
854
+ onItemChange(event);
855
+ }
856
+ };
857
+ var onArrowDownKey = function onArrowDownKey(event) {
858
+ var itemIndex = focusedItemInfo.index !== -1 ? findNextItemIndex(focusedItemInfo.index) : findFirstFocusedItemIndex();
859
+ changeFocusedItemIndex(itemIndex);
860
+ event.preventDefault();
861
+ };
862
+ var onArrowUpKey = function onArrowUpKey(event) {
863
+ if (event.altKey) {
864
+ if (props.popup) {
865
+ utils.DomHandler.focus(targetRef.current);
866
+ }
867
+ if (focusedItemInfo.index !== -1) {
868
+ var processedItem = visibleItems[focusedItemInfo.index];
869
+ var grouped = isProccessedItemGroup(processedItem);
870
+ !grouped && onItemChange({
871
+ originalEvent: event,
872
+ processedItem: processedItem
873
+ });
874
+ }
875
+ props.popup && hide(event, true);
876
+ event.preventDefault();
877
+ } else {
878
+ var itemIndex = focusedItemInfo.index !== -1 ? findPrevItemIndex(focusedItemInfo.index) : findLastFocusedItemIndex();
879
+ changeFocusedItemIndex(itemIndex);
880
+ event.preventDefault();
881
+ }
882
+ };
883
+ var onArrowLeftKey = function onArrowLeftKey(event) {
884
+ var processedItem = visibleItems[focusedItemInfo.index];
885
+ var parentItem = activeItemPath.find(function (p) {
886
+ return p.key === processedItem.parentKey;
887
+ });
888
+ var root = utils.ObjectUtils.isEmpty(processedItem.parent);
889
+ if (!root) {
890
+ setFocusedItemInfo({
891
+ index: -1,
892
+ parentKey: parentItem ? parentItem.parentKey : ''
893
+ });
894
+ searchValue.current = '';
895
+ setTimeout(function () {
896
+ return setFocusTrigger(true);
897
+ }, 0);
898
+ }
899
+ setActiveItemPath(activeItemPath.filter(function (p) {
900
+ return p.parentKey !== focusedItemInfo.parentKey;
901
+ }));
902
+ event.preventDefault();
903
+ };
904
+ var onArrowRightKey = function onArrowRightKey(event) {
905
+ var processedItem = visibleItems[focusedItemInfo.index];
906
+ var grouped = isProccessedItemGroup(processedItem);
907
+ if (grouped) {
908
+ onItemChange({
909
+ originalEvent: event,
910
+ processedItem: processedItem
911
+ });
912
+ setFocusedItemInfo({
913
+ index: -1,
914
+ parentKey: processedItem.key
915
+ });
916
+ searchValue.current = '';
917
+ setTimeout(function () {
918
+ return setFocusTrigger(true);
919
+ }, 0);
920
+ }
921
+ event.preventDefault();
922
+ };
923
+ var onHomeKey = function onHomeKey(event) {
924
+ changeFocusedItemIndex(findFirstItemIndex());
925
+ event.preventDefault();
926
+ };
927
+ var onEndKey = function onEndKey(event) {
928
+ changeFocusedItemIndex(findLastItemIndex());
929
+ event.preventDefault();
930
+ };
931
+ var onEnterKey = function onEnterKey(event) {
932
+ if (focusedItemInfo.index !== -1) {
933
+ var _element = utils.DomHandler.findSingle(getMenuElement(), "li[id=\"".concat("".concat(focusedItemId), "\"]"));
934
+ var anchorElement = _element && utils.DomHandler.findSingle(_element, '[data-pc-section="action"]');
935
+ props.popup && utils.DomHandler.focus(targetRef.current);
936
+ anchorElement ? anchorElement.click() : _element && _element.click();
937
+ }
938
+ event.preventDefault();
939
+ };
940
+ var onSpaceKey = function onSpaceKey(event) {
941
+ onEnterKey(event);
942
+ };
943
+ var onEscapeKey = function onEscapeKey(event) {
944
+ hide(event, true);
945
+ !props.popup && setFocusedItemInfo(_objectSpread$1(_objectSpread$1({}, focusedItemInfo), {}, {
946
+ index: findFirstFocusedItemIndex()
947
+ }));
948
+ event.preventDefault();
949
+ };
950
+ var onTabKey = function onTabKey(event) {
951
+ if (focusedItemInfo.index !== -1) {
952
+ var processedItem = visibleItems[focusedItemInfo.index];
953
+ var grouped = isProccessedItemGroup(processedItem);
954
+ !grouped && onItemChange({
955
+ originalEvent: event,
956
+ processedItem: processedItem
957
+ });
958
+ }
959
+ hide(event);
960
+ };
961
+ var getMenuElement = function getMenuElement() {
962
+ return menuRef.current.getElement() || null;
963
+ };
964
+ var getItemProp = function getItemProp(item, name) {
965
+ return item ? utils.ObjectUtils.getItemValue(item[name]) : undefined;
966
+ };
967
+ var getItemLabel = function getItemLabel(item) {
968
+ return getItemProp(item, 'label');
969
+ };
970
+ var isItemDisabled = function isItemDisabled(item) {
971
+ return getItemProp(item, 'disabled');
972
+ };
973
+ var isItemSeparator = function isItemSeparator(item) {
974
+ return getItemProp(item, 'separator');
975
+ };
976
+ var getProccessedItemLabel = function getProccessedItemLabel(processedItem) {
977
+ return processedItem ? getItemLabel(processedItem.item) : undefined;
978
+ };
979
+ var isProccessedItemGroup = function isProccessedItemGroup(processedItem) {
980
+ return processedItem && utils.ObjectUtils.isNotEmpty(processedItem.items);
981
+ };
982
+ var isItemMatched = function isItemMatched(processedItem) {
983
+ return isValidItem(processedItem) && getProccessedItemLabel(processedItem).toLocaleLowerCase().startsWith(searchValue.current.toLocaleLowerCase());
984
+ };
985
+ var isValidItem = function isValidItem(processedItem) {
986
+ return !!processedItem && !isItemDisabled(processedItem.item) && !isItemSeparator(processedItem.item);
987
+ };
988
+ var isValidSelectedItem = function isValidSelectedItem(processedItem) {
989
+ return isValidItem(processedItem) && isSelected(processedItem);
990
+ };
991
+ var isSelected = function isSelected(processedItem) {
992
+ return activeItemPath.some(function (p) {
993
+ return p.key === processedItem.key;
994
+ });
995
+ };
996
+ var findFirstItemIndex = function findFirstItemIndex() {
997
+ return visibleItems.findIndex(function (processedItem) {
998
+ return isValidItem(processedItem);
999
+ });
1000
+ };
1001
+ var findLastItemIndex = function findLastItemIndex() {
1002
+ return utils.ObjectUtils.findLastIndex(visibleItems, function (processedItem) {
1003
+ return isValidItem(processedItem);
1004
+ });
1005
+ };
1006
+ var findNextItemIndex = function findNextItemIndex(index) {
1007
+ var matchedItemIndex = index < visibleItems.length - 1 ? visibleItems.slice(index + 1).findIndex(function (processedItem) {
1008
+ return isValidItem(processedItem);
1009
+ }) : -1;
1010
+ return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index;
1011
+ };
1012
+ var findPrevItemIndex = function findPrevItemIndex(index) {
1013
+ var matchedItemIndex = index > 0 ? utils.ObjectUtils.findLastIndex(visibleItems.slice(0, index), function (processedItem) {
1014
+ return isValidItem(processedItem);
1015
+ }) : -1;
1016
+ return matchedItemIndex > -1 ? matchedItemIndex : index;
1017
+ };
1018
+ var findSelectedItemIndex = function findSelectedItemIndex() {
1019
+ return visibleItems.findIndex(function (processedItem) {
1020
+ return isValidSelectedItem(processedItem);
1021
+ });
1022
+ };
1023
+ var findFirstFocusedItemIndex = function findFirstFocusedItemIndex() {
1024
+ var selectedIndex = findSelectedItemIndex();
1025
+ return selectedIndex < 0 ? findFirstItemIndex() : selectedIndex;
1026
+ };
1027
+ var findLastFocusedItemIndex = function findLastFocusedItemIndex() {
1028
+ var selectedIndex = findSelectedItemIndex();
1029
+ return selectedIndex < 0 ? findLastItemIndex() : selectedIndex;
1030
+ };
1031
+ var searchItems = function searchItems(_char) {
1032
+ searchValue.current = (searchValue.current || '') + _char;
1033
+ var itemIndex = -1;
1034
+ var matched = false;
1035
+ if (focusedItemInfo.index !== -1) {
1036
+ itemIndex = visibleItems.slice(focusedItemInfo.index).findIndex(function (processedItem) {
1037
+ return isItemMatched(processedItem);
1038
+ });
1039
+ itemIndex = itemIndex === -1 ? visibleItems.slice(0, focusedItemInfo.index).findIndex(function (processedItem) {
1040
+ return isItemMatched(processedItem);
1041
+ }) : itemIndex + focusedItemInfo.index;
1042
+ } else {
1043
+ itemIndex = visibleItems.findIndex(function (processedItem) {
1044
+ return isItemMatched(processedItem);
1045
+ });
1046
+ }
1047
+ if (itemIndex !== -1) {
1048
+ matched = true;
1049
+ }
1050
+ if (itemIndex === -1 && focusedItemInfo.index === -1) {
1051
+ itemIndex = findFirstFocusedItemIndex();
1052
+ }
1053
+ if (itemIndex !== -1) {
1054
+ changeFocusedItemIndex(itemIndex);
1055
+ }
1056
+ if (searchTimeout.current) {
1057
+ clearTimeout(searchTimeout);
1058
+ }
1059
+ searchTimeout.current = setTimeout(function () {
1060
+ searchValue.current = '';
1061
+ searchTimeout.current = null;
1062
+ }, 500);
1063
+ return matched;
1064
+ };
1065
+ var changeFocusedItemIndex = function changeFocusedItemIndex(index) {
1066
+ if (focusedItemInfo.index !== index) {
1067
+ setFocusedItemInfo(_objectSpread$1(_objectSpread$1({}, focusedItemInfo), {}, {
1068
+ index: index
1069
+ }));
1070
+ scrollInView();
1071
+ }
1072
+ };
1073
+ var scrollInView = function scrollInView() {
1074
+ var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
1075
+ var id = index !== -1 ? "".concat(idState, "_").concat(index) : focusedItemId;
1076
+ var element = utils.DomHandler.findSingle(getMenuElement(), "li[id=\"".concat(id, "\"]"));
1077
+ if (element) {
1078
+ element.scrollIntoView && element.scrollIntoView({
1079
+ block: 'nearest',
1080
+ inline: 'start'
1081
+ });
1082
+ }
1083
+ };
1084
+ var createProcessedItems = function createProcessedItems(items) {
1085
+ var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
1086
+ var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
1087
+ var parentKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
1088
+ var processedItems = [];
1089
+ items && items.forEach(function (item, index) {
1090
+ var key = (parentKey !== '' ? parentKey + '_' : '') + index;
1091
+ var newItem = {
1092
+ item: item,
1093
+ index: index,
1094
+ level: level,
1095
+ key: key,
1096
+ parent: parent,
1097
+ parentKey: parentKey
1098
+ };
1099
+ newItem['items'] = createProcessedItems(item.items, level + 1, newItem, key);
1100
+ processedItems.push(newItem);
1101
+ });
1102
+ return processedItems;
1103
+ };
1104
+ var createStyle = function createStyle() {
1105
+ if (!styleElementRef.current) {
1106
+ styleElementRef.current = utils.DomHandler.createInlineStyle(context && context.nonce || PrimeReact__default["default"].nonce);
1107
+ var selector = "".concat(attributeSelectorState);
1108
+ 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");
1109
+ styleElementRef.current.innerHTML = innerHTML;
1110
+ }
1111
+ };
1112
+ var destroyStyle = function destroyStyle() {
1113
+ styleElementRef.current = utils.DomHandler.removeInlineStyle(styleElementRef.current);
1114
+ };
1115
+ var alignOverlay = function alignOverlay() {
1116
+ utils.DomHandler.absolutePosition(containerRef.current, targetRef.current);
1117
+ var targetWidth = utils.DomHandler.getOuterWidth(targetRef.current);
1118
+ if (targetWidth > utils.DomHandler.getOuterWidth(containerRef.current)) {
1119
+ containerRef.current.style.minWidth = utils.DomHandler.getOuterWidth(targetRef.current) + 'px';
1120
+ }
1121
+ };
1122
+ var onEnter = function onEnter() {
1123
+ if (props.autoZIndex) {
1124
+ utils.ZIndexUtils.set('menu', containerRef.current, context && context.autoZIndex || PrimeReact__default["default"].autoZIndex, props.baseZIndex || context && context.zIndex['menu'] || PrimeReact__default["default"].zIndex['menu']);
1125
+ }
1126
+ utils.DomHandler.addStyles(containerRef.current, {
1127
+ position: 'absolute',
1128
+ top: '0',
1129
+ left: '0'
1130
+ });
1131
+ alignOverlay();
1132
+ utils.DomHandler.focus(menuRef.current.getElement());
1133
+ scrollInView();
1134
+ if (attributeSelectorState && props.breakpoint) {
1135
+ containerRef.current.setAttribute(attributeSelectorState, '');
1136
+ createStyle();
1137
+ }
1138
+ };
1139
+ var onEntered = function onEntered() {
1140
+ bindDocumentClickListener();
1141
+ bindDocumentResizeListener();
1142
+ };
1143
+ var onExit = function onExit() {
1144
+ targetRef.current = null;
1145
+ unbindDocumentClickListener();
1146
+ unbindDocumentResizeListener();
1147
+ };
1148
+ var onExited = function onExited() {
1149
+ utils.ZIndexUtils.clear(containerRef.current);
1150
+ destroyStyle();
1151
+ };
1152
+ hooks.useMountEffect(function () {
1153
+ var uniqueId = utils.UniqueComponentId();
1154
+ !idState && setIdState(uniqueId);
1155
+ if (props.breakpoint) {
1156
+ !attributeSelectorState && setAttributeSelectorState(uniqueId);
1157
+ }
1158
+ });
1159
+ hooks.useUpdateEffect(function () {
1160
+ var itemsToProcess = props.model || [];
1161
+ var processed = createProcessedItems(itemsToProcess);
1162
+ setProcessedItems(processed);
1163
+ }, props.model);
1164
+ hooks.useUpdateEffect(function () {
1165
+ var processedItem = activeItemPath.find(function (p) {
1166
+ return p.key === focusedItemInfo.parentKey;
1167
+ });
1168
+ var processed = processedItem ? processedItem.items : processedItems;
1169
+ setVisibleItems(processed);
1170
+ }, [activeItemPath, focusedItemInfo, processedItems]);
1171
+ hooks.useUpdateEffect(function () {
1172
+ var focusedId = focusedItemInfo.index !== -1 ? "".concat(idState).concat(utils.ObjectUtils.isNotEmpty(focusedItemInfo.parentKey) ? '_' + focusedItemInfo.parentKey : '', "_").concat(focusedItemInfo.index) : null;
1173
+ setFocusedItemId(focusedId);
1174
+ }, [focusedItemInfo]);
1175
+ hooks.useUpdateEffect(function () {
1176
+ if (!props.popup) {
1177
+ if (utils.ObjectUtils.isNotEmpty(activeItemPath)) {
1178
+ bindDocumentClickListener();
1179
+ bindDocumentResizeListener();
1180
+ } else {
1181
+ unbindDocumentClickListener();
1182
+ unbindDocumentResizeListener();
1183
+ }
1184
+ }
1185
+ }, [activeItemPath]);
1186
+ hooks.useUpdateEffect(function () {
1187
+ if (focusTrigger) {
1188
+ var itemIndex = focusedItemInfo.index !== -1 ? findNextItemIndex(focusedItemInfo.index) : findFirstFocusedItemIndex();
1189
+ changeFocusedItemIndex(itemIndex);
1190
+ setActiveItemPath(activeItemPath.filter(function (p) {
1191
+ return p.parentKey !== focusedItemInfo.parentKey;
1192
+ }));
1193
+ setFocusTrigger(false);
1194
+ }
1195
+ }, [focusTrigger]);
1196
+ hooks.useUpdateEffect(function () {
1197
+ if (attributeSelectorState && containerRef.current) {
1198
+ containerRef.current.setAttribute(attributeSelectorState, '');
1199
+ createStyle();
1200
+ }
455
1201
  return function () {
456
- unbindKeyDownListener();
1202
+ destroyStyle();
457
1203
  };
1204
+ }, [attributeSelectorState, props.breakpoint]);
1205
+ hooks.useUnmountEffect(function () {
1206
+ utils.ZIndexUtils.clear(containerRef.current);
458
1207
  });
459
- return [ref, callback];
460
- };
1208
+ React__namespace.useImperativeHandle(ref, function () {
1209
+ return {
1210
+ props: props,
1211
+ toggle: toggle,
1212
+ show: show,
1213
+ hide: hide,
1214
+ getElement: function getElement() {
1215
+ return containerRef.current;
1216
+ }
1217
+ };
1218
+ });
1219
+ var createElement = function createElement() {
1220
+ var rootProps = utils.mergeProps({
1221
+ ref: containerRef,
1222
+ id: props.id,
1223
+ className: cx('root'),
1224
+ style: props.style,
1225
+ onClick: onPanelClick
1226
+ }, TieredMenuBase.getOtherProps(props), ptm('root'));
1227
+ var transitionProps = utils.mergeProps({
1228
+ classNames: cx('transition'),
1229
+ "in": visibleState,
1230
+ timeout: {
1231
+ enter: 120,
1232
+ exit: 100
1233
+ },
1234
+ options: props.transitionOptions,
1235
+ unmountOnExit: true,
1236
+ onEnter: onEnter,
1237
+ onEntered: onEntered,
1238
+ onExit: onExit,
1239
+ onExited: onExited
1240
+ }, ptm('transition'));
1241
+ return /*#__PURE__*/React__namespace.createElement(csstransition.CSSTransition, _extends({
1242
+ nodeRef: containerRef
1243
+ }, transitionProps), /*#__PURE__*/React__namespace.createElement("div", rootProps, /*#__PURE__*/React__namespace.createElement(TieredMenuSub, {
1244
+ id: idState + '_list',
1245
+ ref: menuRef,
1246
+ hostName: "TieredMenu",
1247
+ menuProps: props,
1248
+ tabIndex: 0,
1249
+ model: processedItems,
1250
+ ariaLabel: props.ariaLabel,
1251
+ ariaLabelledBy: props.ariaLabelledBy,
1252
+ ariaOrientation: "vertical",
1253
+ ariaActiveDescendant: focused ? focusedItemId : undefined,
1254
+ menuId: idState,
1255
+ level: 0,
1256
+ focusedItemId: focusedItemId,
1257
+ activeItemPath: activeItemPath,
1258
+ onFocus: onFocus,
1259
+ onBlur: onBlur,
1260
+ onKeyDown: onKeyDown,
1261
+ onItemClick: onItemClick,
1262
+ onItemMouseEnter: onItemMouseEnter,
1263
+ root: true,
1264
+ popup: props.popup,
1265
+ onHide: hide,
1266
+ isMobileMode: isMobileMode,
1267
+ submenuIcon: props.submenuIcon,
1268
+ ptm: ptm,
1269
+ cx: cx,
1270
+ sx: sx
1271
+ })));
1272
+ };
1273
+ var element = createElement();
1274
+ return props.popup ? /*#__PURE__*/React__namespace.createElement(portal.Portal, {
1275
+ element: element,
1276
+ appendTo: props.appendTo
1277
+ }) : element;
1278
+ }));
1279
+ TieredMenu.displayName = 'TieredMenu';
461
1280
 
462
1281
  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; }
463
1282
  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; }
@@ -473,6 +1292,7 @@ var SplitButton = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
473
1292
  overlayVisibleState = _React$useState4[0],
474
1293
  setOverlayVisibleState = _React$useState4[1];
475
1294
  var elementRef = React__namespace.useRef(null);
1295
+ var menuRef = React__namespace.useRef(null);
476
1296
  var defaultButtonRef = React__namespace.useRef(null);
477
1297
  var overlayRef = React__namespace.useRef(null);
478
1298
  var metaData = {
@@ -489,57 +1309,34 @@ var SplitButton = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
489
1309
  componentbase.useHandleStyle(SplitButtonBase.css.styles, isUnstyled, {
490
1310
  name: 'splitbutton'
491
1311
  });
492
- useOnEscapeKey(overlayRef, overlayVisibleState, function () {
493
- return hide();
494
- });
495
- var _useOverlayListener = hooks.useOverlayListener({
496
- target: elementRef,
497
- overlay: overlayRef,
498
- listener: function listener(event, _ref) {
499
- var valid = _ref.valid;
500
- valid && hide();
501
- },
502
- when: overlayVisibleState
503
- }),
504
- _useOverlayListener2 = _slicedToArray(_useOverlayListener, 2),
505
- bindOverlayListener = _useOverlayListener2[0],
506
- unbindOverlayListener = _useOverlayListener2[1];
507
1312
  var onPanelClick = function onPanelClick(event) {
508
1313
  overlayservice.OverlayService.emit('overlay-click', {
509
1314
  originalEvent: event,
510
1315
  target: elementRef.current
511
1316
  });
512
1317
  };
513
- var onDropdownButtonClick = function onDropdownButtonClick() {
514
- overlayVisibleState ? hide() : show();
1318
+ var onMenuButtonKeyDown = function onMenuButtonKeyDown(event) {
1319
+ if (event.code === 'ArrowDown' || event.code === 'ArrowUp') {
1320
+ onDropdownButtonClick(event);
1321
+ event.preventDefault();
1322
+ }
515
1323
  };
516
- var onItemClick = function onItemClick() {
517
- hide();
1324
+ var onDropdownButtonClick = function onDropdownButtonClick(event) {
1325
+ overlayVisibleState ? hide(event) : show(event);
518
1326
  };
519
- var show = function show() {
1327
+ var show = function show(event) {
520
1328
  setOverlayVisibleState(true);
1329
+ menuRef.current && menuRef.current.show(event);
521
1330
  };
522
- var hide = function hide() {
1331
+ var hide = function hide(event) {
523
1332
  setOverlayVisibleState(false);
1333
+ menuRef.current && menuRef.current.hide(event);
524
1334
  };
525
- var onOverlayEnter = function onOverlayEnter() {
526
- utils.ZIndexUtils.set('overlay', overlayRef.current, context && context.autoZIndex || PrimeReact__default["default"].autoZIndex, context && context.zIndex['overlay'] || PrimeReact__default["default"].zIndex['overlay']);
527
- utils.DomHandler.addStyles(overlayRef.current, {
528
- position: 'absolute',
529
- top: '0',
530
- left: '0'
531
- });
532
- alignOverlay();
533
- };
534
- var onOverlayEntered = function onOverlayEntered() {
535
- bindOverlayListener();
1335
+ var onMenuShow = function onMenuShow() {
536
1336
  props.onShow && props.onShow();
537
1337
  };
538
- var onOverlayExit = function onOverlayExit() {
539
- unbindOverlayListener();
540
- };
541
- var onOverlayExited = function onOverlayExited() {
542
- utils.ZIndexUtils.clear(overlayRef.current);
1338
+ var onMenuHide = function onMenuHide() {
1339
+ setOverlayVisibleState(false);
543
1340
  props.onHide && props.onHide();
544
1341
  };
545
1342
  var alignOverlay = function alignOverlay() {
@@ -564,22 +1361,6 @@ var SplitButton = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
564
1361
  }
565
1362
  };
566
1363
  });
567
- var createItems = function createItems() {
568
- if (props.model) {
569
- return props.model.map(function (menuitem, index) {
570
- return /*#__PURE__*/React__namespace.createElement(SplitButtonItem, {
571
- hostName: "SplitButton",
572
- splitButtonProps: props,
573
- menuitem: menuitem,
574
- key: index,
575
- onItemClick: onItemClick,
576
- ptm: ptm,
577
- cx: cx
578
- });
579
- });
580
- }
581
- return null;
582
- };
583
1364
  if (props.visible === false) {
584
1365
  return null;
585
1366
  }
@@ -590,8 +1371,7 @@ var SplitButton = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
590
1371
  };
591
1372
  var size = sizeMapping[props.size];
592
1373
  var buttonContent = props.buttonTemplate ? utils.ObjectUtils.getJSXElement(props.buttonTemplate, props) : null;
593
- var items = createItems();
594
- var menuId = idState + '_menu';
1374
+ var menuId = idState + '_overlay';
595
1375
  var dropdownIcon = function dropdownIcon() {
596
1376
  var iconProps = utils.mergeProps({
597
1377
  className: cx('icon')
@@ -619,6 +1399,7 @@ var SplitButton = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
619
1399
  loadingIcon: props.loadingIcon,
620
1400
  severity: props.severity,
621
1401
  label: props.label,
1402
+ "aria-label": props.label,
622
1403
  raised: props.raised,
623
1404
  onClick: props.onClick,
624
1405
  disabled: props.disabled,
@@ -640,7 +1421,7 @@ var SplitButton = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
640
1421
  disabled: props.disabled,
641
1422
  "aria-expanded": overlayVisibleState,
642
1423
  "aria-haspopup": "true",
643
- "aria-controls": overlayVisibleState ? menuId : null
1424
+ "aria-controls": menuId
644
1425
  }, props.menuButtonProps, {
645
1426
  size: props.size,
646
1427
  severity: props.severity,
@@ -651,24 +1432,24 @@ var SplitButton = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
651
1432
  __parentMetadata: {
652
1433
  parent: metaData
653
1434
  },
1435
+ onKeyDown: onMenuButtonKeyDown,
654
1436
  unstyled: props.unstyled
655
- })), /*#__PURE__*/React__namespace.createElement(SplitButtonPanel, {
656
- hostName: "SplitButton",
657
- ref: overlayRef,
1437
+ })), /*#__PURE__*/React__namespace.createElement(TieredMenu, {
1438
+ ref: menuRef,
1439
+ popup: true,
1440
+ unstyled: props.unstyled,
1441
+ model: props.model,
658
1442
  appendTo: props.appendTo,
659
- menuId: menuId,
660
- menuStyle: props.menuStyle,
661
- menuClassName: props.menuClassName,
1443
+ id: menuId,
1444
+ style: props.menuStyle,
1445
+ autoZIndex: props.autoZIndex,
1446
+ baseZIndex: props.baseZIndex,
1447
+ className: props.menuClassName,
662
1448
  onClick: onPanelClick,
663
- "in": overlayVisibleState,
664
- onEnter: onOverlayEnter,
665
- onEntered: onOverlayEntered,
666
- onExit: onOverlayExit,
667
- onExited: onOverlayExited,
668
- transitionOptions: props.transitionOptions,
669
- ptm: ptm,
670
- cx: cx
671
- }, items)), hasTooltip && /*#__PURE__*/React__namespace.createElement(tooltip.Tooltip, _extends({
1449
+ onShow: onMenuShow,
1450
+ onHide: onMenuHide,
1451
+ pt: ptm('menu')
1452
+ })), hasTooltip && /*#__PURE__*/React__namespace.createElement(tooltip.Tooltip, _extends({
672
1453
  target: elementRef,
673
1454
  content: props.tooltip
674
1455
  }, props.tooltipOptions, {