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