primereact 8.0.0-rc.1 → 8.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/README.md +8 -5
  2. package/accordion/accordion.cjs.js +1 -1
  3. package/accordion/accordion.cjs.min.js +1 -1
  4. package/accordion/accordion.d.ts +2 -0
  5. package/accordion/accordion.esm.js +1 -1
  6. package/accordion/accordion.esm.min.js +1 -1
  7. package/accordion/accordion.js +1 -1
  8. package/accordion/accordion.min.js +1 -1
  9. package/api/api.cjs.js +2 -5
  10. package/api/api.cjs.min.js +1 -1
  11. package/api/api.esm.js +2 -5
  12. package/api/api.esm.min.js +1 -1
  13. package/api/api.js +2 -5
  14. package/api/api.min.js +1 -1
  15. package/autocomplete/autocomplete.cjs.js +5 -0
  16. package/autocomplete/autocomplete.cjs.min.js +1 -1
  17. package/autocomplete/autocomplete.d.ts +2 -1
  18. package/autocomplete/autocomplete.esm.js +5 -0
  19. package/autocomplete/autocomplete.esm.min.js +1 -1
  20. package/autocomplete/autocomplete.js +5 -0
  21. package/autocomplete/autocomplete.min.js +1 -1
  22. package/avatar/avatar.d.ts +1 -0
  23. package/avatargroup/avatargroup.d.ts +1 -0
  24. package/badge/badge.d.ts +1 -0
  25. package/blockui/blockui.d.ts +1 -0
  26. package/breadcrumb/breadcrumb.cjs.js +7 -5
  27. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  28. package/breadcrumb/breadcrumb.d.ts +1 -0
  29. package/breadcrumb/breadcrumb.esm.js +8 -6
  30. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  31. package/breadcrumb/breadcrumb.js +7 -5
  32. package/breadcrumb/breadcrumb.min.js +1 -1
  33. package/button/button.cjs.js +3 -1
  34. package/button/button.cjs.min.js +1 -1
  35. package/button/button.d.ts +1 -0
  36. package/button/button.esm.js +3 -1
  37. package/button/button.esm.min.js +1 -1
  38. package/button/button.js +3 -1
  39. package/button/button.min.css +1 -1
  40. package/button/button.min.js +1 -1
  41. package/calendar/calendar.cjs.js +314 -151
  42. package/calendar/calendar.cjs.min.js +1 -1
  43. package/calendar/calendar.d.ts +8 -0
  44. package/calendar/calendar.esm.js +314 -151
  45. package/calendar/calendar.esm.min.js +1 -1
  46. package/calendar/calendar.js +315 -152
  47. package/calendar/calendar.min.css +1 -1
  48. package/calendar/calendar.min.js +1 -1
  49. package/captcha/captcha.d.ts +1 -0
  50. package/card/card.d.ts +1 -0
  51. package/carousel/carousel.cjs.js +4 -4
  52. package/carousel/carousel.cjs.min.js +1 -1
  53. package/carousel/carousel.d.ts +1 -0
  54. package/carousel/carousel.esm.js +4 -4
  55. package/carousel/carousel.esm.min.js +1 -1
  56. package/carousel/carousel.js +4 -4
  57. package/carousel/carousel.min.js +1 -1
  58. package/cascadeselect/cascadeselect.d.ts +4 -2
  59. package/chart/chart.d.ts +1 -0
  60. package/checkbox/checkbox.cjs.js +5 -13
  61. package/checkbox/checkbox.cjs.min.js +1 -1
  62. package/checkbox/checkbox.d.ts +2 -2
  63. package/checkbox/checkbox.esm.js +5 -13
  64. package/checkbox/checkbox.esm.min.js +1 -1
  65. package/checkbox/checkbox.js +5 -13
  66. package/checkbox/checkbox.min.js +1 -1
  67. package/chip/chip.d.ts +1 -0
  68. package/chips/chips.cjs.js +6 -2
  69. package/chips/chips.cjs.min.js +1 -1
  70. package/chips/chips.d.ts +1 -0
  71. package/chips/chips.esm.js +6 -2
  72. package/chips/chips.esm.min.js +1 -1
  73. package/chips/chips.js +6 -2
  74. package/chips/chips.min.js +1 -1
  75. package/colorpicker/colorpicker.d.ts +1 -0
  76. package/column/column.d.ts +2 -1
  77. package/columngroup/columngroup.d.ts +3 -1
  78. package/common/common.min.css +1 -1
  79. package/confirmdialog/confirmdialog.cjs.js +2 -2
  80. package/confirmdialog/confirmdialog.d.ts +1 -0
  81. package/confirmdialog/confirmdialog.esm.js +2 -2
  82. package/confirmdialog/confirmdialog.js +2 -2
  83. package/confirmpopup/confirmpopup.cjs.js +2 -2
  84. package/confirmpopup/confirmpopup.d.ts +1 -0
  85. package/confirmpopup/confirmpopup.esm.js +2 -2
  86. package/confirmpopup/confirmpopup.js +2 -2
  87. package/contextmenu/contextmenu.cjs.js +6 -2
  88. package/contextmenu/contextmenu.cjs.min.js +1 -1
  89. package/contextmenu/contextmenu.d.ts +1 -0
  90. package/contextmenu/contextmenu.esm.js +7 -3
  91. package/contextmenu/contextmenu.esm.min.js +1 -1
  92. package/contextmenu/contextmenu.js +6 -2
  93. package/contextmenu/contextmenu.min.js +1 -1
  94. package/core/core.js +249 -134
  95. package/core/core.min.js +10 -10
  96. package/datascroller/datascroller.d.ts +1 -0
  97. package/datatable/datatable.cjs.js +13 -11
  98. package/datatable/datatable.cjs.min.js +1 -1
  99. package/datatable/datatable.d.ts +2 -1
  100. package/datatable/datatable.esm.js +13 -11
  101. package/datatable/datatable.esm.min.js +1 -1
  102. package/datatable/datatable.js +13 -11
  103. package/datatable/datatable.min.js +1 -1
  104. package/dataview/dataview.d.ts +2 -0
  105. package/deferredcontent/deferredcontent.d.ts +1 -0
  106. package/dialog/dialog.d.ts +1 -0
  107. package/divider/divider.d.ts +1 -0
  108. package/dock/dock.cjs.js +5 -3
  109. package/dock/dock.cjs.min.js +1 -1
  110. package/dock/dock.d.ts +1 -0
  111. package/dock/dock.esm.js +6 -4
  112. package/dock/dock.esm.min.js +1 -1
  113. package/dock/dock.js +5 -3
  114. package/dock/dock.min.js +1 -1
  115. package/dropdown/dropdown.cjs.js +2 -6
  116. package/dropdown/dropdown.cjs.min.js +1 -1
  117. package/dropdown/dropdown.d.ts +4 -2
  118. package/dropdown/dropdown.esm.js +2 -6
  119. package/dropdown/dropdown.esm.min.js +1 -1
  120. package/dropdown/dropdown.js +2 -6
  121. package/dropdown/dropdown.min.js +1 -1
  122. package/editor/editor.d.ts +1 -0
  123. package/fieldset/fieldset.d.ts +1 -0
  124. package/fileupload/fileupload.d.ts +2 -1
  125. package/fullcalendar/fullcalendar.d.ts +1 -0
  126. package/galleria/galleria.d.ts +1 -0
  127. package/gmap/gmap.cjs.js +27 -12
  128. package/gmap/gmap.cjs.min.js +1 -1
  129. package/gmap/gmap.d.ts +1 -0
  130. package/gmap/gmap.esm.js +27 -12
  131. package/gmap/gmap.esm.min.js +1 -1
  132. package/gmap/gmap.js +27 -12
  133. package/gmap/gmap.min.js +1 -1
  134. package/hooks/hooks.cjs.js +52 -0
  135. package/hooks/hooks.cjs.min.js +1 -1
  136. package/hooks/hooks.d.ts +7 -5
  137. package/hooks/hooks.esm.js +52 -1
  138. package/hooks/hooks.esm.min.js +1 -1
  139. package/hooks/hooks.js +52 -0
  140. package/hooks/hooks.min.js +1 -1
  141. package/image/image.d.ts +1 -0
  142. package/inplace/inplace.d.ts +7 -2
  143. package/inputmask/inputmask.cjs.js +2 -2
  144. package/inputmask/inputmask.cjs.min.js +1 -1
  145. package/inputmask/inputmask.d.ts +1 -1
  146. package/inputmask/inputmask.esm.js +2 -2
  147. package/inputmask/inputmask.esm.min.js +1 -1
  148. package/inputmask/inputmask.js +2 -2
  149. package/inputmask/inputmask.min.js +1 -1
  150. package/inputnumber/inputnumber.cjs.js +8 -5
  151. package/inputnumber/inputnumber.cjs.min.js +1 -1
  152. package/inputnumber/inputnumber.d.ts +1 -0
  153. package/inputnumber/inputnumber.esm.js +8 -5
  154. package/inputnumber/inputnumber.esm.min.js +1 -1
  155. package/inputnumber/inputnumber.js +8 -5
  156. package/inputnumber/inputnumber.min.js +1 -1
  157. package/inputswitch/inputswitch.cjs.js +7 -10
  158. package/inputswitch/inputswitch.cjs.min.js +1 -1
  159. package/inputswitch/inputswitch.d.ts +2 -1
  160. package/inputswitch/inputswitch.esm.js +7 -10
  161. package/inputswitch/inputswitch.esm.min.js +1 -1
  162. package/inputswitch/inputswitch.js +7 -10
  163. package/inputswitch/inputswitch.min.js +1 -1
  164. package/inputtext/inputtext.cjs.js +12 -2
  165. package/inputtext/inputtext.cjs.min.js +1 -1
  166. package/inputtext/inputtext.d.ts +1 -0
  167. package/inputtext/inputtext.esm.js +12 -2
  168. package/inputtext/inputtext.esm.min.js +1 -1
  169. package/inputtext/inputtext.js +12 -2
  170. package/inputtext/inputtext.min.js +1 -1
  171. package/inputtextarea/inputtextarea.d.ts +1 -0
  172. package/keyfilter/keyfilter.cjs.js +54 -1
  173. package/keyfilter/keyfilter.cjs.min.js +1 -1
  174. package/keyfilter/keyfilter.esm.js +54 -1
  175. package/keyfilter/keyfilter.esm.min.js +1 -1
  176. package/keyfilter/keyfilter.js +146 -93
  177. package/keyfilter/keyfilter.min.js +1 -1
  178. package/knob/knob.d.ts +1 -0
  179. package/listbox/listbox.d.ts +4 -2
  180. package/megamenu/megamenu.cjs.js +8 -5
  181. package/megamenu/megamenu.cjs.min.js +1 -1
  182. package/megamenu/megamenu.d.ts +1 -0
  183. package/megamenu/megamenu.esm.js +9 -6
  184. package/megamenu/megamenu.esm.min.js +1 -1
  185. package/megamenu/megamenu.js +8 -5
  186. package/megamenu/megamenu.min.js +1 -1
  187. package/mention/mention.d.ts +1 -0
  188. package/menu/menu.cjs.js +4 -2
  189. package/menu/menu.cjs.min.js +1 -1
  190. package/menu/menu.d.ts +1 -0
  191. package/menu/menu.esm.js +5 -3
  192. package/menu/menu.esm.min.js +1 -1
  193. package/menu/menu.js +4 -2
  194. package/menu/menu.min.js +1 -1
  195. package/menubar/menubar.cjs.js +6 -2
  196. package/menubar/menubar.cjs.min.js +1 -1
  197. package/menubar/menubar.d.ts +1 -0
  198. package/menubar/menubar.esm.js +7 -3
  199. package/menubar/menubar.esm.min.js +1 -1
  200. package/menubar/menubar.js +6 -2
  201. package/menubar/menubar.min.js +1 -1
  202. package/menuitem/menuitem.d.ts +0 -2
  203. package/message/message.d.ts +1 -0
  204. package/messages/messages.d.ts +1 -0
  205. package/multiselect/multiselect.cjs.js +5 -13
  206. package/multiselect/multiselect.cjs.min.js +1 -1
  207. package/multiselect/multiselect.d.ts +4 -2
  208. package/multiselect/multiselect.esm.js +5 -13
  209. package/multiselect/multiselect.esm.min.js +1 -1
  210. package/multiselect/multiselect.js +5 -13
  211. package/multiselect/multiselect.min.js +1 -1
  212. package/multistatecheckbox/multistatecheckbox.d.ts +1 -0
  213. package/orderlist/orderlist.d.ts +1 -0
  214. package/organizationchart/organizationchart.d.ts +1 -0
  215. package/overlaypanel/overlaypanel.d.ts +1 -0
  216. package/package.json +6 -5
  217. package/paginator/paginator.cjs.js +11 -5
  218. package/paginator/paginator.d.ts +1 -0
  219. package/paginator/paginator.esm.js +11 -5
  220. package/paginator/paginator.js +11 -5
  221. package/panel/panel.d.ts +1 -0
  222. package/panelmenu/panelmenu.cjs.js +12 -6
  223. package/panelmenu/panelmenu.cjs.min.js +1 -1
  224. package/panelmenu/panelmenu.d.ts +1 -0
  225. package/panelmenu/panelmenu.esm.js +13 -7
  226. package/panelmenu/panelmenu.esm.min.js +1 -1
  227. package/panelmenu/panelmenu.js +12 -6
  228. package/panelmenu/panelmenu.min.js +1 -1
  229. package/password/password.d.ts +1 -0
  230. package/picklist/picklist.d.ts +1 -0
  231. package/primereact.all.cjs.js +580 -275
  232. package/primereact.all.cjs.min.js +1 -1
  233. package/primereact.all.esm.js +580 -276
  234. package/primereact.all.esm.min.js +1 -1
  235. package/primereact.all.js +580 -275
  236. package/primereact.all.min.js +1 -1
  237. package/progressbar/progressbar.d.ts +1 -0
  238. package/progressspinner/progressspinner.d.ts +2 -1
  239. package/radiobutton/radiobutton.d.ts +2 -1
  240. package/rating/rating.d.ts +1 -0
  241. package/resources/primereact.css +197 -176
  242. package/resources/primereact.min.css +1 -1
  243. package/resources/themes/arya-blue/theme.css +61 -13
  244. package/resources/themes/arya-green/theme.css +61 -13
  245. package/resources/themes/arya-orange/theme.css +61 -13
  246. package/resources/themes/arya-purple/theme.css +61 -13
  247. package/resources/themes/bootstrap4-dark-blue/theme.css +61 -13
  248. package/resources/themes/bootstrap4-dark-purple/theme.css +61 -13
  249. package/resources/themes/bootstrap4-light-blue/theme.css +61 -13
  250. package/resources/themes/bootstrap4-light-purple/theme.css +61 -13
  251. package/resources/themes/fluent-light/theme.css +61 -13
  252. package/resources/themes/lara-dark-blue/theme.css +61 -13
  253. package/resources/themes/lara-dark-indigo/theme.css +61 -13
  254. package/resources/themes/lara-dark-purple/theme.css +61 -13
  255. package/resources/themes/lara-dark-teal/theme.css +61 -13
  256. package/resources/themes/lara-light-blue/theme.css +61 -13
  257. package/resources/themes/lara-light-indigo/theme.css +61 -13
  258. package/resources/themes/lara-light-purple/theme.css +61 -13
  259. package/resources/themes/lara-light-teal/theme.css +61 -13
  260. package/resources/themes/luna-amber/theme.css +61 -13
  261. package/resources/themes/luna-blue/theme.css +61 -13
  262. package/resources/themes/luna-green/theme.css +61 -13
  263. package/resources/themes/luna-pink/theme.css +61 -13
  264. package/resources/themes/md-dark-deeppurple/theme.css +64 -13
  265. package/resources/themes/md-dark-indigo/theme.css +64 -13
  266. package/resources/themes/md-light-deeppurple/theme.css +64 -13
  267. package/resources/themes/md-light-indigo/theme.css +64 -13
  268. package/resources/themes/mdc-dark-deeppurple/theme.css +64 -13
  269. package/resources/themes/mdc-dark-indigo/theme.css +64 -13
  270. package/resources/themes/mdc-light-deeppurple/theme.css +64 -13
  271. package/resources/themes/mdc-light-indigo/theme.css +64 -13
  272. package/resources/themes/nova/theme.css +61 -13
  273. package/resources/themes/nova-accent/theme.css +61 -13
  274. package/resources/themes/nova-alt/theme.css +61 -13
  275. package/resources/themes/rhea/theme.css +61 -13
  276. package/resources/themes/saga-blue/theme.css +61 -13
  277. package/resources/themes/saga-green/theme.css +61 -13
  278. package/resources/themes/saga-orange/theme.css +61 -13
  279. package/resources/themes/saga-purple/theme.css +61 -13
  280. package/resources/themes/tailwind-light/theme.css +60 -12
  281. package/resources/themes/vela-blue/theme.css +61 -13
  282. package/resources/themes/vela-green/theme.css +61 -13
  283. package/resources/themes/vela-orange/theme.css +61 -13
  284. package/resources/themes/vela-purple/theme.css +61 -13
  285. package/ripple/ripple.cjs.js +1 -0
  286. package/ripple/ripple.cjs.min.js +1 -1
  287. package/ripple/ripple.d.ts +3 -1
  288. package/ripple/ripple.esm.js +1 -0
  289. package/ripple/ripple.esm.min.js +1 -1
  290. package/ripple/ripple.js +1 -0
  291. package/ripple/ripple.min.js +1 -1
  292. package/row/row.d.ts +1 -0
  293. package/scrollpanel/scrollpanel.d.ts +1 -0
  294. package/scrolltop/scrolltop.d.ts +1 -0
  295. package/selectbutton/selectbutton.d.ts +4 -2
  296. package/selectitem/selectitem.d.ts +2 -0
  297. package/sidebar/sidebar.d.ts +1 -0
  298. package/skeleton/skeleton.d.ts +1 -0
  299. package/slidemenu/slidemenu.cjs.js +6 -2
  300. package/slidemenu/slidemenu.cjs.min.js +1 -1
  301. package/slidemenu/slidemenu.d.ts +1 -0
  302. package/slidemenu/slidemenu.esm.js +7 -3
  303. package/slidemenu/slidemenu.esm.min.js +1 -1
  304. package/slidemenu/slidemenu.js +6 -2
  305. package/slidemenu/slidemenu.min.js +1 -1
  306. package/slider/slider.d.ts +1 -0
  307. package/speeddial/speeddial.cjs.js +10 -5
  308. package/speeddial/speeddial.cjs.min.js +1 -1
  309. package/speeddial/speeddial.d.ts +1 -0
  310. package/speeddial/speeddial.esm.js +11 -6
  311. package/speeddial/speeddial.esm.min.js +1 -1
  312. package/speeddial/speeddial.js +10 -5
  313. package/speeddial/speeddial.min.js +1 -1
  314. package/splitbutton/splitbutton.cjs.js +5 -3
  315. package/splitbutton/splitbutton.cjs.min.js +1 -1
  316. package/splitbutton/splitbutton.d.ts +1 -0
  317. package/splitbutton/splitbutton.esm.js +6 -4
  318. package/splitbutton/splitbutton.esm.min.js +1 -1
  319. package/splitbutton/splitbutton.js +5 -3
  320. package/splitbutton/splitbutton.min.js +1 -1
  321. package/splitter/splitter.d.ts +2 -0
  322. package/steps/steps.cjs.js +8 -1
  323. package/steps/steps.cjs.min.js +1 -1
  324. package/steps/steps.d.ts +1 -0
  325. package/steps/steps.esm.js +9 -2
  326. package/steps/steps.esm.min.js +1 -1
  327. package/steps/steps.js +8 -1
  328. package/steps/steps.min.js +1 -1
  329. package/styleclass/styleclass.d.ts +1 -0
  330. package/tabmenu/tabmenu.cjs.js +4 -3
  331. package/tabmenu/tabmenu.cjs.min.js +1 -1
  332. package/tabmenu/tabmenu.d.ts +1 -0
  333. package/tabmenu/tabmenu.esm.js +5 -4
  334. package/tabmenu/tabmenu.esm.min.js +1 -1
  335. package/tabmenu/tabmenu.js +4 -3
  336. package/tabmenu/tabmenu.min.js +1 -1
  337. package/tabview/tabview.d.ts +2 -0
  338. package/tag/tag.d.ts +1 -0
  339. package/terminal/terminal.d.ts +1 -0
  340. package/tieredmenu/tieredmenu.cjs.js +6 -3
  341. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  342. package/tieredmenu/tieredmenu.d.ts +1 -0
  343. package/tieredmenu/tieredmenu.esm.js +7 -4
  344. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  345. package/tieredmenu/tieredmenu.js +6 -3
  346. package/tieredmenu/tieredmenu.min.js +1 -1
  347. package/timeline/timeline.d.ts +1 -0
  348. package/toast/toast.d.ts +1 -0
  349. package/togglebutton/togglebutton.cjs.js +3 -3
  350. package/togglebutton/togglebutton.cjs.min.js +1 -1
  351. package/togglebutton/togglebutton.d.ts +1 -1
  352. package/togglebutton/togglebutton.esm.js +3 -3
  353. package/togglebutton/togglebutton.esm.min.js +1 -1
  354. package/togglebutton/togglebutton.js +3 -3
  355. package/togglebutton/togglebutton.min.js +1 -1
  356. package/toolbar/toolbar.d.ts +1 -0
  357. package/tooltip/tooltip.d.ts +1 -0
  358. package/tree/tree.d.ts +1 -0
  359. package/treeselect/treeselect.cjs.js +0 -1
  360. package/treeselect/treeselect.cjs.min.js +1 -1
  361. package/treeselect/treeselect.d.ts +6 -6
  362. package/treeselect/treeselect.esm.js +0 -1
  363. package/treeselect/treeselect.esm.min.js +1 -1
  364. package/treeselect/treeselect.js +0 -1
  365. package/treeselect/treeselect.min.js +1 -1
  366. package/treetable/treetable.d.ts +2 -1
  367. package/tristatecheckbox/tristatecheckbox.d.ts +1 -0
  368. package/utils/utils.cjs.js +11 -8
  369. package/utils/utils.cjs.min.js +1 -1
  370. package/utils/utils.esm.js +11 -8
  371. package/utils/utils.esm.min.js +1 -1
  372. package/utils/utils.js +11 -8
  373. package/utils/utils.min.js +1 -1
  374. package/virtualscroller/virtualscroller.d.ts +1 -0
  375. package/web-types.json +7 -19
@@ -190,6 +190,7 @@ var ContextMenuSub = /*#__PURE__*/React__namespace.memo(function (props) {
190
190
  var createSubmenu = function createSubmenu(item) {
191
191
  if (item.items) {
192
192
  return /*#__PURE__*/React__namespace.createElement(ContextMenuSub, {
193
+ menuProps: props.menuProps,
193
194
  model: item.items,
194
195
  resetMenu: item !== activeItemState,
195
196
  onLeafClick: props.onLeafClick
@@ -210,8 +211,10 @@ var ContextMenuSub = /*#__PURE__*/React__namespace.memo(function (props) {
210
211
  });
211
212
  var iconClassName = utils.classNames('p-menuitem-icon', item.icon);
212
213
  var submenuIconClassName = 'p-submenu-icon pi pi-angle-right';
213
- var icon = item.icon && /*#__PURE__*/React__namespace.createElement("span", {
214
- className: iconClassName
214
+ var icon = utils.IconUtils.getJSXIcon(item.icon, {
215
+ className: 'p-menuitem-icon'
216
+ }, {
217
+ props: props.menuProps
215
218
  });
216
219
  var label = item.label && /*#__PURE__*/React__namespace.createElement("span", {
217
220
  className: "p-menuitem-text"
@@ -491,6 +494,7 @@ var ContextMenu = /*#__PURE__*/React__namespace.memo( /*#__PURE__*/React__namesp
491
494
  onClick: onMenuClick,
492
495
  onMouseEnter: onMenuMouseEnter
493
496
  }), /*#__PURE__*/React__namespace.createElement(ContextMenuSub, {
497
+ menuProps: props,
494
498
  model: props.model,
495
499
  root: true,
496
500
  resetMenu: resetMenuState,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/api"),n=require("primereact/csstransition"),r=require("primereact/hooks"),o=require("primereact/portal"),a=require("primereact/utils"),l=require("primereact/ripple");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var c=i(e),s=u(t);function m(){return m=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},m.apply(this,arguments)}function f(e){if(Array.isArray(e))return e}function d(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],l=!0,u=!1;try{for(n=n.call(e);!(l=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{l||null==n.return||n.return()}finally{if(u)throw o}}return a}}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function b(e,t){if(e){if("string"==typeof e)return p(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?p(e,t):void 0}}function y(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function E(e,t){return f(e)||d(e,t)||b(e,t)||y()}var v=c.memo((function(e){var t=E(c.useState(null),2),o=t[0],u=t[1],i=c.useRef(null),s=e.root||!e.resetMenu;!0===e.resetMenu&&null!==o&&u(null);var m=function(e,t){t.disabled?e.preventDefault():u(t)},f=function(t,n){n.disabled?t.preventDefault():(n.url||t.preventDefault(),n.command&&n.command({originalEvent:t,item:n}),n.items||e.onLeafClick(t))},d=function(){var e=i.current.parentElement,t=a.DomHandler.getOffset(i.current.parentElement),n=a.DomHandler.getViewport(),r=i.current.offsetParent?i.current.offsetWidth:a.DomHandler.getHiddenElementOuterWidth(i.current),o=a.DomHandler.getOuterWidth(e.children[0]);i.current.style.top="0px",i.current.style.left=parseInt(t.left,10)+o+r>n.width-a.DomHandler.calculateScrollbarWidth()?-1*r+"px":o+"px"};r.useUpdateEffect((function(){s&&d()}));var p=function(e){return c.createElement("li",{key:"separator_"+e,className:"p-menu-separator",role:"separator"})},b=function(t){return t.items?c.createElement(v,{model:t.items,resetMenu:t!==o,onLeafClick:e.onLeafClick}):null},y=function(t,n){var r=o===t,u=t.label+"_"+n,i=a.classNames("p-menuitem",{"p-menuitem-active":r},t.className),s=a.classNames("p-menuitem-link",{"p-disabled":t.disabled}),d=a.classNames("p-menuitem-icon",t.icon),p="p-submenu-icon pi pi-angle-right",y=t.icon&&c.createElement("span",{className:d}),E=t.label&&c.createElement("span",{className:"p-menuitem-text"},t.label),v=t.items&&c.createElement("span",{className:p}),h=b(t),g=c.createElement("a",{href:t.url||"#",className:s,target:t.target,onClick:function(e){return f(e,t)},role:"menuitem","aria-haspopup":null!=t.items,"aria-disabled":t.disabled},y,E,v,c.createElement(l.Ripple,null));t.template&&(g=a.ObjectUtils.getJSXElement(t.template,t,{onClick:function(e){return f(e,t)},className:s,labelClassName:"p-menuitem-text",iconClassName:d,submenuIconClassName:p,element:g,props:e,active:r}));return c.createElement("li",{key:u,role:"none",className:i,style:t.style,onMouseEnter:function(e){return m(e,t)}},g,h)},h=function(e,t){return e.separator?p(t):y(e,t)},g=a.classNames({"p-submenu-list":!e.root}),x=e.model?e.model.map(h):null;return c.createElement(n.CSSTransition,{nodeRef:i,classNames:"p-contextmenusub",in:s,timeout:{enter:0,exit:0},unmountOnExit:!0,onEnter:function(){d()}},c.createElement("ul",{ref:i,className:g},x))}));v.displayName="ContextMenuSub";var h=c.memo(c.forwardRef((function(e,t){var l=E(c.useState(!1),2),u=l[0],i=l[1],f=E(c.useState(!1),2),d=f[0],p=f[1],b=E(c.useState(!1),2),y=b[0],g=b[1],x=c.useRef(null),N=c.useRef(null),O=E(r.useEventListener({type:"click",listener:function(e){q(e)&&2!==e.button&&(P(e),g(!0))}}),2),S=O[0],H=O[1],C=E(r.useEventListener({type:"contextmenu",listener:function(e){k(e)}}),1)[0],D=E(r.useResizeListener({listener:function(e){u&&!a.DomHandler.isTouchDevice()&&P(e)}}),2),I=D[0],w=D[1],j=function(){g(!1)},M=function(){g(!1)},k=function(t){t.stopPropagation(),t.preventDefault(),N.current=t,u?p(!0):(i(!0),e.onShow&&e.onShow(N.current))},P=function(t){N.current=t,i(!1),p(!1),e.onHide&&e.onHide(N.current)},T=function(){e.autoZIndex&&a.ZIndexUtils.set("menu",x.current,s.default.autoZIndex,e.baseZIndex||s.default.zIndex.menu),R(N.current)},L=function(){A()},U=function(){W(),a.ZIndexUtils.clear(x.current)},Z=function(){a.ZIndexUtils.clear(x.current)},R=function(e){if(e){var t=e.pageX+1,n=e.pageY+1,r=x.current.offsetParent?x.current.offsetWidth:a.DomHandler.getHiddenElementOuterWidth(x.current),o=x.current.offsetParent?x.current.offsetHeight:a.DomHandler.getHiddenElementOuterHeight(x.current),l=a.DomHandler.getViewport();t+r-document.body.scrollLeft>l.width&&(t-=r),n+o-document.body.scrollTop>l.height&&(n-=o),t<document.body.scrollLeft&&(t=document.body.scrollLeft),n<document.body.scrollTop&&(n=document.body.scrollTop),x.current.style.left=t+"px",x.current.style.top=n+"px"}},_=function(e){g(!0),P(e),e.stopPropagation()},q=function(e){return x&&x.current&&!(x.current.isSameNode(e.target)||x.current.contains(e.target))},A=function(){I(),S()},W=function(){w(),H()};r.useMountEffect((function(){e.global&&C()})),r.useUpdateEffect((function(){u?(i(!1),p(!1),g(!0)):d||u||!y||k(N.current)}),[d]),r.useUnmountEffect((function(){a.ZIndexUtils.clear(x.current)})),c.useImperativeHandle(t,(function(){return{show:k,hide:P}}));var z,V,X=(z=a.ObjectUtils.findDiffKeys(e,h.defaultProps),V=a.classNames("p-contextmenu p-component",e.className),c.createElement(n.CSSTransition,{nodeRef:x,classNames:"p-contextmenu",in:u,timeout:{enter:250,exit:0},options:e.transitionOptions,unmountOnExit:!0,onEnter:T,onEntered:L,onExit:U,onExited:Z},c.createElement("div",m({ref:x,id:e.id,className:V,style:e.style},z,{onClick:j,onMouseEnter:M}),c.createElement(v,{model:e.model,root:!0,resetMenu:y,onLeafClick:_}))));return c.createElement(o.Portal,{element:X,appendTo:e.appendTo})})));h.displayName="ContextMenu",h.defaultProps={__TYPE:"ContextMenu",id:null,model:null,style:null,className:null,global:!1,autoZIndex:!0,baseZIndex:0,appendTo:null,transitionOptions:null,onShow:null,onHide:null},exports.ContextMenu=h;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/api"),n=require("primereact/csstransition"),r=require("primereact/hooks"),o=require("primereact/portal"),u=require("primereact/utils"),l=require("primereact/ripple");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var c=i(e),s=a(t);function m(){return m=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},m.apply(this,arguments)}function f(e){if(Array.isArray(e))return e}function p(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,u=[],l=!0,a=!1;try{for(n=n.call(e);!(l=(r=n.next()).done)&&(u.push(r.value),!t||u.length!==t);l=!0);}catch(e){a=!0,o=e}finally{try{l||null==n.return||n.return()}finally{if(a)throw o}}return u}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function b(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}function y(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function v(e,t){return f(e)||p(e,t)||b(e,t)||y()}var E=c.memo((function(e){var t=v(c.useState(null),2),o=t[0],a=t[1],i=c.useRef(null),s=e.root||!e.resetMenu;!0===e.resetMenu&&null!==o&&a(null);var m=function(e,t){t.disabled?e.preventDefault():a(t)},f=function(t,n){n.disabled?t.preventDefault():(n.url||t.preventDefault(),n.command&&n.command({originalEvent:t,item:n}),n.items||e.onLeafClick(t))},p=function(){var e=i.current.parentElement,t=u.DomHandler.getOffset(i.current.parentElement),n=u.DomHandler.getViewport(),r=i.current.offsetParent?i.current.offsetWidth:u.DomHandler.getHiddenElementOuterWidth(i.current),o=u.DomHandler.getOuterWidth(e.children[0]);i.current.style.top="0px",i.current.style.left=parseInt(t.left,10)+o+r>n.width-u.DomHandler.calculateScrollbarWidth()?-1*r+"px":o+"px"};r.useUpdateEffect((function(){s&&p()}));var d=function(e){return c.createElement("li",{key:"separator_"+e,className:"p-menu-separator",role:"separator"})},b=function(t){return t.items?c.createElement(E,{menuProps:e.menuProps,model:t.items,resetMenu:t!==o,onLeafClick:e.onLeafClick}):null},y=function(t,n){var r=o===t,a=t.label+"_"+n,i=u.classNames("p-menuitem",{"p-menuitem-active":r},t.className),s=u.classNames("p-menuitem-link",{"p-disabled":t.disabled}),p=u.classNames("p-menuitem-icon",t.icon),d="p-submenu-icon pi pi-angle-right",y=u.IconUtils.getJSXIcon(t.icon,{className:"p-menuitem-icon"},{props:e.menuProps}),v=t.label&&c.createElement("span",{className:"p-menuitem-text"},t.label),E=t.items&&c.createElement("span",{className:d}),g=b(t),h=c.createElement("a",{href:t.url||"#",className:s,target:t.target,onClick:function(e){return f(e,t)},role:"menuitem","aria-haspopup":null!=t.items,"aria-disabled":t.disabled},y,v,E,c.createElement(l.Ripple,null));t.template&&(h=u.ObjectUtils.getJSXElement(t.template,t,{onClick:function(e){return f(e,t)},className:s,labelClassName:"p-menuitem-text",iconClassName:p,submenuIconClassName:d,element:h,props:e,active:r}));return c.createElement("li",{key:a,role:"none",className:i,style:t.style,onMouseEnter:function(e){return m(e,t)}},h,g)},g=function(e,t){return e.separator?d(t):y(e,t)},h=u.classNames({"p-submenu-list":!e.root}),x=e.model?e.model.map(g):null;return c.createElement(n.CSSTransition,{nodeRef:i,classNames:"p-contextmenusub",in:s,timeout:{enter:0,exit:0},unmountOnExit:!0,onEnter:function(){p()}},c.createElement("ul",{ref:i,className:h},x))}));E.displayName="ContextMenuSub";var g=c.memo(c.forwardRef((function(e,t){var l=v(c.useState(!1),2),a=l[0],i=l[1],f=v(c.useState(!1),2),p=f[0],d=f[1],b=v(c.useState(!1),2),y=b[0],h=b[1],x=c.useRef(null),N=c.useRef(null),O=v(r.useEventListener({type:"click",listener:function(e){q(e)&&2!==e.button&&(k(e),h(!0))}}),2),S=O[0],H=O[1],I=v(r.useEventListener({type:"contextmenu",listener:function(e){M(e)}}),1)[0],C=v(r.useResizeListener({listener:function(e){a&&!u.DomHandler.isTouchDevice()&&k(e)}}),2),P=C[0],D=C[1],w=function(){h(!1)},j=function(){h(!1)},M=function(t){t.stopPropagation(),t.preventDefault(),N.current=t,a?d(!0):(i(!0),e.onShow&&e.onShow(N.current))},k=function(t){N.current=t,i(!1),d(!1),e.onHide&&e.onHide(N.current)},T=function(){e.autoZIndex&&u.ZIndexUtils.set("menu",x.current,s.default.autoZIndex,e.baseZIndex||s.default.zIndex.menu),R(N.current)},U=function(){A()},L=function(){W(),u.ZIndexUtils.clear(x.current)},Z=function(){u.ZIndexUtils.clear(x.current)},R=function(e){if(e){var t=e.pageX+1,n=e.pageY+1,r=x.current.offsetParent?x.current.offsetWidth:u.DomHandler.getHiddenElementOuterWidth(x.current),o=x.current.offsetParent?x.current.offsetHeight:u.DomHandler.getHiddenElementOuterHeight(x.current),l=u.DomHandler.getViewport();t+r-document.body.scrollLeft>l.width&&(t-=r),n+o-document.body.scrollTop>l.height&&(n-=o),t<document.body.scrollLeft&&(t=document.body.scrollLeft),n<document.body.scrollTop&&(n=document.body.scrollTop),x.current.style.left=t+"px",x.current.style.top=n+"px"}},_=function(e){h(!0),k(e),e.stopPropagation()},q=function(e){return x&&x.current&&!(x.current.isSameNode(e.target)||x.current.contains(e.target))},A=function(){P(),S()},W=function(){D(),H()};r.useMountEffect((function(){e.global&&I()})),r.useUpdateEffect((function(){a?(i(!1),d(!1),h(!0)):p||a||!y||M(N.current)}),[p]),r.useUnmountEffect((function(){u.ZIndexUtils.clear(x.current)})),c.useImperativeHandle(t,(function(){return{show:M,hide:k}}));var z,X,J=(z=u.ObjectUtils.findDiffKeys(e,g.defaultProps),X=u.classNames("p-contextmenu p-component",e.className),c.createElement(n.CSSTransition,{nodeRef:x,classNames:"p-contextmenu",in:a,timeout:{enter:250,exit:0},options:e.transitionOptions,unmountOnExit:!0,onEnter:T,onEntered:U,onExit:L,onExited:Z},c.createElement("div",m({ref:x,id:e.id,className:X,style:e.style},z,{onClick:w,onMouseEnter:j}),c.createElement(E,{menuProps:e,model:e.model,root:!0,resetMenu:y,onLeafClick:_}))));return c.createElement(o.Portal,{element:J,appendTo:e.appendTo})})));g.displayName="ContextMenu",g.defaultProps={__TYPE:"ContextMenu",id:null,model:null,style:null,className:null,global:!1,autoZIndex:!0,baseZIndex:0,appendTo:null,transitionOptions:null,onShow:null,onHide:null},exports.ContextMenu=g;
@@ -16,6 +16,7 @@ export interface ContextMenuProps {
16
16
  transitionOptions?: CSSTransitionProps;
17
17
  onShow?(e: React.SyntheticEvent): void;
18
18
  onHide?(e: React.SyntheticEvent): void;
19
+ children?: React.ReactNode;
19
20
  }
20
21
 
21
22
  export declare class ContextMenu extends React.Component<ContextMenuProps, any> {
@@ -3,7 +3,7 @@ import PrimeReact from 'primereact/api';
3
3
  import { CSSTransition } from 'primereact/csstransition';
4
4
  import { useUpdateEffect, useEventListener, useResizeListener, useMountEffect, useUnmountEffect } from 'primereact/hooks';
5
5
  import { Portal } from 'primereact/portal';
6
- import { classNames, DomHandler, ObjectUtils, ZIndexUtils } from 'primereact/utils';
6
+ import { classNames, DomHandler, IconUtils, ObjectUtils, ZIndexUtils } from 'primereact/utils';
7
7
  import { Ripple } from 'primereact/ripple';
8
8
 
9
9
  function _extends() {
@@ -163,6 +163,7 @@ var ContextMenuSub = /*#__PURE__*/React.memo(function (props) {
163
163
  var createSubmenu = function createSubmenu(item) {
164
164
  if (item.items) {
165
165
  return /*#__PURE__*/React.createElement(ContextMenuSub, {
166
+ menuProps: props.menuProps,
166
167
  model: item.items,
167
168
  resetMenu: item !== activeItemState,
168
169
  onLeafClick: props.onLeafClick
@@ -183,8 +184,10 @@ var ContextMenuSub = /*#__PURE__*/React.memo(function (props) {
183
184
  });
184
185
  var iconClassName = classNames('p-menuitem-icon', item.icon);
185
186
  var submenuIconClassName = 'p-submenu-icon pi pi-angle-right';
186
- var icon = item.icon && /*#__PURE__*/React.createElement("span", {
187
- className: iconClassName
187
+ var icon = IconUtils.getJSXIcon(item.icon, {
188
+ className: 'p-menuitem-icon'
189
+ }, {
190
+ props: props.menuProps
188
191
  });
189
192
  var label = item.label && /*#__PURE__*/React.createElement("span", {
190
193
  className: "p-menuitem-text"
@@ -464,6 +467,7 @@ var ContextMenu = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(functio
464
467
  onClick: onMenuClick,
465
468
  onMouseEnter: onMenuMouseEnter
466
469
  }), /*#__PURE__*/React.createElement(ContextMenuSub, {
470
+ menuProps: props,
467
471
  model: props.model,
468
472
  root: true,
469
473
  resetMenu: resetMenuState,
@@ -1 +1 @@
1
- import*as e from"react";import t from"primereact/api";import{CSSTransition as n}from"primereact/csstransition";import{useUpdateEffect as r,useEventListener as o,useResizeListener as l,useMountEffect as a,useUnmountEffect as u}from"primereact/hooks";import{Portal as i}from"primereact/portal";import{classNames as c,DomHandler as s,ObjectUtils as m,ZIndexUtils as f}from"primereact/utils";import{Ripple as p}from"primereact/ripple";function d(){return d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},d.apply(this,arguments)}function y(e){if(Array.isArray(e))return e}function b(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,l=[],a=!0,u=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);a=!0);}catch(e){u=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(u)throw o}}return l}}function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function g(e,t){if(e){if("string"==typeof e)return h(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(e,t):void 0}}function E(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function v(e,t){return y(e)||b(e,t)||g(e,t)||E()}var x=e.memo((function(t){var o=v(e.useState(null),2),l=o[0],a=o[1],u=e.useRef(null),i=t.root||!t.resetMenu;!0===t.resetMenu&&null!==l&&a(null);var f=function(e,t){t.disabled?e.preventDefault():a(t)},d=function(e,n){n.disabled?e.preventDefault():(n.url||e.preventDefault(),n.command&&n.command({originalEvent:e,item:n}),n.items||t.onLeafClick(e))},y=function(){var e=u.current.parentElement,t=s.getOffset(u.current.parentElement),n=s.getViewport(),r=u.current.offsetParent?u.current.offsetWidth:s.getHiddenElementOuterWidth(u.current),o=s.getOuterWidth(e.children[0]);u.current.style.top="0px",u.current.style.left=parseInt(t.left,10)+o+r>n.width-s.calculateScrollbarWidth()?-1*r+"px":o+"px"};r((function(){i&&y()}));var b=function(t){return e.createElement("li",{key:"separator_"+t,className:"p-menu-separator",role:"separator"})},h=function(n){return n.items?e.createElement(x,{model:n.items,resetMenu:n!==l,onLeafClick:t.onLeafClick}):null},g=function(n,r){var o=l===n,a=n.label+"_"+r,u=c("p-menuitem",{"p-menuitem-active":o},n.className),i=c("p-menuitem-link",{"p-disabled":n.disabled}),s=c("p-menuitem-icon",n.icon),y="p-submenu-icon pi pi-angle-right",b=n.icon&&e.createElement("span",{className:s}),g=n.label&&e.createElement("span",{className:"p-menuitem-text"},n.label),E=n.items&&e.createElement("span",{className:y}),v=h(n),x=e.createElement("a",{href:n.url||"#",className:i,target:n.target,onClick:function(e){return d(e,n)},role:"menuitem","aria-haspopup":null!=n.items,"aria-disabled":n.disabled},b,g,E,e.createElement(p,null));n.template&&(x=m.getJSXElement(n.template,n,{onClick:function(e){return d(e,n)},className:i,labelClassName:"p-menuitem-text",iconClassName:s,submenuIconClassName:y,element:x,props:t,active:o}));return e.createElement("li",{key:a,role:"none",className:u,style:n.style,onMouseEnter:function(e){return f(e,n)}},x,v)},E=function(e,t){return e.separator?b(t):g(e,t)},N=c({"p-submenu-list":!t.root}),S=t.model?t.model.map(E):null;return e.createElement(n,{nodeRef:u,classNames:"p-contextmenusub",in:i,timeout:{enter:0,exit:0},unmountOnExit:!0,onEnter:function(){y()}},e.createElement("ul",{ref:u,className:N},S))}));x.displayName="ContextMenuSub";var N=e.memo(e.forwardRef((function(p,y){var b=v(e.useState(!1),2),h=b[0],g=b[1],E=v(e.useState(!1),2),S=E[0],w=E[1],C=v(e.useState(!1),2),O=C[0],k=C[1],I=e.useRef(null),M=e.useRef(null),H=v(o({type:"click",listener:function(e){U(e)&&2!==e.button&&(_(e),k(!0))}}),2),P=H[0],T=H[1],L=v(o({type:"contextmenu",listener:function(e){Z(e)}}),1)[0],A=v(l({listener:function(e){h&&!s.isTouchDevice()&&_(e)}}),2),D=A[0],R=A[1],W=function(){k(!1)},j=function(){k(!1)},Z=function(e){e.stopPropagation(),e.preventDefault(),M.current=e,h?w(!0):(g(!0),p.onShow&&p.onShow(M.current))},_=function(e){M.current=e,g(!1),w(!1),p.onHide&&p.onHide(M.current)},V=function(){p.autoZIndex&&f.set("menu",I.current,t.autoZIndex,p.baseZIndex||t.zIndex.menu),J(M.current)},X=function(){$()},Y=function(){q(),f.clear(I.current)},z=function(){f.clear(I.current)},J=function(e){if(e){var t=e.pageX+1,n=e.pageY+1,r=I.current.offsetParent?I.current.offsetWidth:s.getHiddenElementOuterWidth(I.current),o=I.current.offsetParent?I.current.offsetHeight:s.getHiddenElementOuterHeight(I.current),l=s.getViewport();t+r-document.body.scrollLeft>l.width&&(t-=r),n+o-document.body.scrollTop>l.height&&(n-=o),t<document.body.scrollLeft&&(t=document.body.scrollLeft),n<document.body.scrollTop&&(n=document.body.scrollTop),I.current.style.left=t+"px",I.current.style.top=n+"px"}},K=function(e){k(!0),_(e),e.stopPropagation()},U=function(e){return I&&I.current&&!(I.current.isSameNode(e.target)||I.current.contains(e.target))},$=function(){D(),P()},q=function(){R(),T()};a((function(){p.global&&L()})),r((function(){h?(g(!1),w(!1),k(!0)):S||h||!O||Z(M.current)}),[S]),u((function(){f.clear(I.current)})),e.useImperativeHandle(y,(function(){return{show:Z,hide:_}}));var B,F,G=(B=m.findDiffKeys(p,N.defaultProps),F=c("p-contextmenu p-component",p.className),e.createElement(n,{nodeRef:I,classNames:"p-contextmenu",in:h,timeout:{enter:250,exit:0},options:p.transitionOptions,unmountOnExit:!0,onEnter:V,onEntered:X,onExit:Y,onExited:z},e.createElement("div",d({ref:I,id:p.id,className:F,style:p.style},B,{onClick:W,onMouseEnter:j}),e.createElement(x,{model:p.model,root:!0,resetMenu:O,onLeafClick:K}))));return e.createElement(i,{element:G,appendTo:p.appendTo})})));N.displayName="ContextMenu",N.defaultProps={__TYPE:"ContextMenu",id:null,model:null,style:null,className:null,global:!1,autoZIndex:!0,baseZIndex:0,appendTo:null,transitionOptions:null,onShow:null,onHide:null};export{N as ContextMenu};
1
+ import*as e from"react";import t from"primereact/api";import{CSSTransition as n}from"primereact/csstransition";import{useUpdateEffect as r,useEventListener as o,useResizeListener as l,useMountEffect as u,useUnmountEffect as a}from"primereact/hooks";import{Portal as i}from"primereact/portal";import{classNames as c,DomHandler as s,IconUtils as m,ObjectUtils as p,ZIndexUtils as f}from"primereact/utils";import{Ripple as d}from"primereact/ripple";function y(){return y=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},y.apply(this,arguments)}function b(e){if(Array.isArray(e))return e}function h(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,l=[],u=!0,a=!1;try{for(n=n.call(e);!(u=(r=n.next()).done)&&(l.push(r.value),!t||l.length!==t);u=!0);}catch(e){a=!0,o=e}finally{try{u||null==n.return||n.return()}finally{if(a)throw o}}return l}}function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function v(e,t){if(e){if("string"==typeof e)return g(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?g(e,t):void 0}}function E(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function x(e,t){return b(e)||h(e,t)||v(e,t)||E()}var N=e.memo((function(t){var o=x(e.useState(null),2),l=o[0],u=o[1],a=e.useRef(null),i=t.root||!t.resetMenu;!0===t.resetMenu&&null!==l&&u(null);var f=function(e,t){t.disabled?e.preventDefault():u(t)},y=function(e,n){n.disabled?e.preventDefault():(n.url||e.preventDefault(),n.command&&n.command({originalEvent:e,item:n}),n.items||t.onLeafClick(e))},b=function(){var e=a.current.parentElement,t=s.getOffset(a.current.parentElement),n=s.getViewport(),r=a.current.offsetParent?a.current.offsetWidth:s.getHiddenElementOuterWidth(a.current),o=s.getOuterWidth(e.children[0]);a.current.style.top="0px",a.current.style.left=parseInt(t.left,10)+o+r>n.width-s.calculateScrollbarWidth()?-1*r+"px":o+"px"};r((function(){i&&b()}));var h=function(t){return e.createElement("li",{key:"separator_"+t,className:"p-menu-separator",role:"separator"})},g=function(n){return n.items?e.createElement(N,{menuProps:t.menuProps,model:n.items,resetMenu:n!==l,onLeafClick:t.onLeafClick}):null},v=function(n,r){var o=l===n,u=n.label+"_"+r,a=c("p-menuitem",{"p-menuitem-active":o},n.className),i=c("p-menuitem-link",{"p-disabled":n.disabled}),s=c("p-menuitem-icon",n.icon),b="p-submenu-icon pi pi-angle-right",h=m.getJSXIcon(n.icon,{className:"p-menuitem-icon"},{props:t.menuProps}),v=n.label&&e.createElement("span",{className:"p-menuitem-text"},n.label),E=n.items&&e.createElement("span",{className:b}),x=g(n),N=e.createElement("a",{href:n.url||"#",className:i,target:n.target,onClick:function(e){return y(e,n)},role:"menuitem","aria-haspopup":null!=n.items,"aria-disabled":n.disabled},h,v,E,e.createElement(d,null));n.template&&(N=p.getJSXElement(n.template,n,{onClick:function(e){return y(e,n)},className:i,labelClassName:"p-menuitem-text",iconClassName:s,submenuIconClassName:b,element:N,props:t,active:o}));return e.createElement("li",{key:u,role:"none",className:a,style:n.style,onMouseEnter:function(e){return f(e,n)}},N,x)},E=function(e,t){return e.separator?h(t):v(e,t)},S=c({"p-submenu-list":!t.root}),w=t.model?t.model.map(E):null;return e.createElement(n,{nodeRef:a,classNames:"p-contextmenusub",in:i,timeout:{enter:0,exit:0},unmountOnExit:!0,onEnter:function(){b()}},e.createElement("ul",{ref:a,className:S},w))}));N.displayName="ContextMenuSub";var S=e.memo(e.forwardRef((function(m,d){var b=x(e.useState(!1),2),h=b[0],g=b[1],v=x(e.useState(!1),2),E=v[0],w=v[1],C=x(e.useState(!1),2),O=C[0],I=C[1],P=e.useRef(null),k=e.useRef(null),M=x(o({type:"click",listener:function(e){U(e)&&2!==e.button&&(_(e),I(!0))}}),2),H=M[0],T=M[1],L=x(o({type:"contextmenu",listener:function(e){Z(e)}}),1)[0],A=x(l({listener:function(e){h&&!s.isTouchDevice()&&_(e)}}),2),D=A[0],R=A[1],W=function(){I(!1)},j=function(){I(!1)},Z=function(e){e.stopPropagation(),e.preventDefault(),k.current=e,h?w(!0):(g(!0),m.onShow&&m.onShow(k.current))},_=function(e){k.current=e,g(!1),w(!1),m.onHide&&m.onHide(k.current)},X=function(){m.autoZIndex&&f.set("menu",P.current,t.autoZIndex,m.baseZIndex||t.zIndex.menu),z(k.current)},J=function(){$()},V=function(){q(),f.clear(P.current)},Y=function(){f.clear(P.current)},z=function(e){if(e){var t=e.pageX+1,n=e.pageY+1,r=P.current.offsetParent?P.current.offsetWidth:s.getHiddenElementOuterWidth(P.current),o=P.current.offsetParent?P.current.offsetHeight:s.getHiddenElementOuterHeight(P.current),l=s.getViewport();t+r-document.body.scrollLeft>l.width&&(t-=r),n+o-document.body.scrollTop>l.height&&(n-=o),t<document.body.scrollLeft&&(t=document.body.scrollLeft),n<document.body.scrollTop&&(n=document.body.scrollTop),P.current.style.left=t+"px",P.current.style.top=n+"px"}},K=function(e){I(!0),_(e),e.stopPropagation()},U=function(e){return P&&P.current&&!(P.current.isSameNode(e.target)||P.current.contains(e.target))},$=function(){D(),H()},q=function(){R(),T()};u((function(){m.global&&L()})),r((function(){h?(g(!1),w(!1),I(!0)):E||h||!O||Z(k.current)}),[E]),a((function(){f.clear(P.current)})),e.useImperativeHandle(d,(function(){return{show:Z,hide:_}}));var B,F,G=(B=p.findDiffKeys(m,S.defaultProps),F=c("p-contextmenu p-component",m.className),e.createElement(n,{nodeRef:P,classNames:"p-contextmenu",in:h,timeout:{enter:250,exit:0},options:m.transitionOptions,unmountOnExit:!0,onEnter:X,onEntered:J,onExit:V,onExited:Y},e.createElement("div",y({ref:P,id:m.id,className:F,style:m.style},B,{onClick:W,onMouseEnter:j}),e.createElement(N,{menuProps:m,model:m.model,root:!0,resetMenu:O,onLeafClick:K}))));return e.createElement(i,{element:G,appendTo:m.appendTo})})));S.displayName="ContextMenu",S.defaultProps={__TYPE:"ContextMenu",id:null,model:null,style:null,className:null,global:!1,autoZIndex:!0,baseZIndex:0,appendTo:null,transitionOptions:null,onShow:null,onHide:null};export{S as ContextMenu};
@@ -182,6 +182,7 @@ this.primereact.contextmenu = (function (exports, React, PrimeReact, csstransiti
182
182
  var createSubmenu = function createSubmenu(item) {
183
183
  if (item.items) {
184
184
  return /*#__PURE__*/React__namespace.createElement(ContextMenuSub, {
185
+ menuProps: props.menuProps,
185
186
  model: item.items,
186
187
  resetMenu: item !== activeItemState,
187
188
  onLeafClick: props.onLeafClick
@@ -202,8 +203,10 @@ this.primereact.contextmenu = (function (exports, React, PrimeReact, csstransiti
202
203
  });
203
204
  var iconClassName = utils.classNames('p-menuitem-icon', item.icon);
204
205
  var submenuIconClassName = 'p-submenu-icon pi pi-angle-right';
205
- var icon = item.icon && /*#__PURE__*/React__namespace.createElement("span", {
206
- className: iconClassName
206
+ var icon = utils.IconUtils.getJSXIcon(item.icon, {
207
+ className: 'p-menuitem-icon'
208
+ }, {
209
+ props: props.menuProps
207
210
  });
208
211
  var label = item.label && /*#__PURE__*/React__namespace.createElement("span", {
209
212
  className: "p-menuitem-text"
@@ -483,6 +486,7 @@ this.primereact.contextmenu = (function (exports, React, PrimeReact, csstransiti
483
486
  onClick: onMenuClick,
484
487
  onMouseEnter: onMenuMouseEnter
485
488
  }), /*#__PURE__*/React__namespace.createElement(ContextMenuSub, {
489
+ menuProps: props,
486
490
  model: props.model,
487
491
  root: true,
488
492
  resetMenu: resetMenuState,
@@ -1 +1 @@
1
- this.primereact=this.primereact||{},this.primereact.contextmenu=function(e,t,n,r,o,a,l,u){"use strict";function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var s=c(t),m=i(n);function f(){return f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},f.apply(this,arguments)}function d(e){if(Array.isArray(e))return e}function p(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],l=!0,u=!1;try{for(n=n.call(e);!(l=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{l||null==n.return||n.return()}finally{if(u)throw o}}return a}}function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function y(e,t){if(e){if("string"==typeof e)return b(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?b(e,t):void 0}}function h(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function E(e,t){return d(e)||p(e,t)||y(e,t)||h()}var v=s.memo((function(e){var t=E(s.useState(null),2),n=t[0],a=t[1],i=s.useRef(null),c=e.root||!e.resetMenu;!0===e.resetMenu&&null!==n&&a(null);var m=function(e,t){t.disabled?e.preventDefault():a(t)},f=function(t,n){n.disabled?t.preventDefault():(n.url||t.preventDefault(),n.command&&n.command({originalEvent:t,item:n}),n.items||e.onLeafClick(t))},d=function(){var e=i.current.parentElement,t=l.DomHandler.getOffset(i.current.parentElement),n=l.DomHandler.getViewport(),r=i.current.offsetParent?i.current.offsetWidth:l.DomHandler.getHiddenElementOuterWidth(i.current),o=l.DomHandler.getOuterWidth(e.children[0]);i.current.style.top="0px",i.current.style.left=parseInt(t.left,10)+o+r>n.width-l.DomHandler.calculateScrollbarWidth()?-1*r+"px":o+"px"};o.useUpdateEffect((function(){c&&d()}));var p=function(e){return s.createElement("li",{key:"separator_"+e,className:"p-menu-separator",role:"separator"})},b=function(t){return t.items?s.createElement(v,{model:t.items,resetMenu:t!==n,onLeafClick:e.onLeafClick}):null},y=function(t,r){var o=n===t,a=t.label+"_"+r,i=l.classNames("p-menuitem",{"p-menuitem-active":o},t.className),c=l.classNames("p-menuitem-link",{"p-disabled":t.disabled}),d=l.classNames("p-menuitem-icon",t.icon),p="p-submenu-icon pi pi-angle-right",y=t.icon&&s.createElement("span",{className:d}),h=t.label&&s.createElement("span",{className:"p-menuitem-text"},t.label),E=t.items&&s.createElement("span",{className:p}),v=b(t),g=s.createElement("a",{href:t.url||"#",className:c,target:t.target,onClick:function(e){return f(e,t)},role:"menuitem","aria-haspopup":null!=t.items,"aria-disabled":t.disabled},y,h,E,s.createElement(u.Ripple,null));t.template&&(g=l.ObjectUtils.getJSXElement(t.template,t,{onClick:function(e){return f(e,t)},className:c,labelClassName:"p-menuitem-text",iconClassName:d,submenuIconClassName:p,element:g,props:e,active:o}));return s.createElement("li",{key:a,role:"none",className:i,style:t.style,onMouseEnter:function(e){return m(e,t)}},g,v)},h=function(e,t){return e.separator?p(t):y(e,t)},g=l.classNames({"p-submenu-list":!e.root}),x=e.model?e.model.map(h):null;return s.createElement(r.CSSTransition,{nodeRef:i,classNames:"p-contextmenusub",in:c,timeout:{enter:0,exit:0},unmountOnExit:!0,onEnter:function(){d()}},s.createElement("ul",{ref:i,className:g},x))}));v.displayName="ContextMenuSub";var g=s.memo(s.forwardRef((function(e,t){var n=E(s.useState(!1),2),u=n[0],i=n[1],c=E(s.useState(!1),2),d=c[0],p=c[1],b=E(s.useState(!1),2),y=b[0],h=b[1],x=s.useRef(null),N=s.useRef(null),O=E(o.useEventListener({type:"click",listener:function(e){A(e)&&2!==e.button&&(P(e),h(!0))}}),2),S=O[0],H=O[1],C=E(o.useEventListener({type:"contextmenu",listener:function(e){k(e)}}),1)[0],D=E(o.useResizeListener({listener:function(e){u&&!l.DomHandler.isTouchDevice()&&P(e)}}),2),I=D[0],w=D[1],j=function(){h(!1)},M=function(){h(!1)},k=function(t){t.stopPropagation(),t.preventDefault(),N.current=t,u?p(!0):(i(!0),e.onShow&&e.onShow(N.current))},P=function(t){N.current=t,i(!1),p(!1),e.onHide&&e.onHide(N.current)},T=function(){e.autoZIndex&&l.ZIndexUtils.set("menu",x.current,m.default.autoZIndex,e.baseZIndex||m.default.zIndex.menu),Z(N.current)},L=function(){W()},U=function(){z(),l.ZIndexUtils.clear(x.current)},R=function(){l.ZIndexUtils.clear(x.current)},Z=function(e){if(e){var t=e.pageX+1,n=e.pageY+1,r=x.current.offsetParent?x.current.offsetWidth:l.DomHandler.getHiddenElementOuterWidth(x.current),o=x.current.offsetParent?x.current.offsetHeight:l.DomHandler.getHiddenElementOuterHeight(x.current),a=l.DomHandler.getViewport();t+r-document.body.scrollLeft>a.width&&(t-=r),n+o-document.body.scrollTop>a.height&&(n-=o),t<document.body.scrollLeft&&(t=document.body.scrollLeft),n<document.body.scrollTop&&(n=document.body.scrollTop),x.current.style.left=t+"px",x.current.style.top=n+"px"}},_=function(e){h(!0),P(e),e.stopPropagation()},A=function(e){return x&&x.current&&!(x.current.isSameNode(e.target)||x.current.contains(e.target))},W=function(){I(),S()},z=function(){w(),H()};o.useMountEffect((function(){e.global&&C()})),o.useUpdateEffect((function(){u?(i(!1),p(!1),h(!0)):d||u||!y||k(N.current)}),[d]),o.useUnmountEffect((function(){l.ZIndexUtils.clear(x.current)})),s.useImperativeHandle(t,(function(){return{show:k,hide:P}}));var V,X,Y=(V=l.ObjectUtils.findDiffKeys(e,g.defaultProps),X=l.classNames("p-contextmenu p-component",e.className),s.createElement(r.CSSTransition,{nodeRef:x,classNames:"p-contextmenu",in:u,timeout:{enter:250,exit:0},options:e.transitionOptions,unmountOnExit:!0,onEnter:T,onEntered:L,onExit:U,onExited:R},s.createElement("div",f({ref:x,id:e.id,className:X,style:e.style},V,{onClick:j,onMouseEnter:M}),s.createElement(v,{model:e.model,root:!0,resetMenu:y,onLeafClick:_}))));return s.createElement(a.Portal,{element:Y,appendTo:e.appendTo})})));return g.displayName="ContextMenu",g.defaultProps={__TYPE:"ContextMenu",id:null,model:null,style:null,className:null,global:!1,autoZIndex:!0,baseZIndex:0,appendTo:null,transitionOptions:null,onShow:null,onHide:null},e.ContextMenu=g,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.api,primereact.csstransition,primereact.hooks,primereact.portal,primereact.utils,primereact.ripple);
1
+ this.primereact=this.primereact||{},this.primereact.contextmenu=function(e,t,n,r,o,a,l,u){"use strict";function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var s=c(t),m=i(n);function f(){return f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},f.apply(this,arguments)}function p(e){if(Array.isArray(e))return e}function d(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],l=!0,u=!1;try{for(n=n.call(e);!(l=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{l||null==n.return||n.return()}finally{if(u)throw o}}return a}}function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function y(e,t){if(e){if("string"==typeof e)return b(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?b(e,t):void 0}}function h(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function E(e,t){return p(e)||d(e,t)||y(e,t)||h()}var v=s.memo((function(e){var t=E(s.useState(null),2),n=t[0],a=t[1],i=s.useRef(null),c=e.root||!e.resetMenu;!0===e.resetMenu&&null!==n&&a(null);var m=function(e,t){t.disabled?e.preventDefault():a(t)},f=function(t,n){n.disabled?t.preventDefault():(n.url||t.preventDefault(),n.command&&n.command({originalEvent:t,item:n}),n.items||e.onLeafClick(t))},p=function(){var e=i.current.parentElement,t=l.DomHandler.getOffset(i.current.parentElement),n=l.DomHandler.getViewport(),r=i.current.offsetParent?i.current.offsetWidth:l.DomHandler.getHiddenElementOuterWidth(i.current),o=l.DomHandler.getOuterWidth(e.children[0]);i.current.style.top="0px",i.current.style.left=parseInt(t.left,10)+o+r>n.width-l.DomHandler.calculateScrollbarWidth()?-1*r+"px":o+"px"};o.useUpdateEffect((function(){c&&p()}));var d=function(e){return s.createElement("li",{key:"separator_"+e,className:"p-menu-separator",role:"separator"})},b=function(t){return t.items?s.createElement(v,{menuProps:e.menuProps,model:t.items,resetMenu:t!==n,onLeafClick:e.onLeafClick}):null},y=function(t,r){var o=n===t,a=t.label+"_"+r,i=l.classNames("p-menuitem",{"p-menuitem-active":o},t.className),c=l.classNames("p-menuitem-link",{"p-disabled":t.disabled}),p=l.classNames("p-menuitem-icon",t.icon),d="p-submenu-icon pi pi-angle-right",y=l.IconUtils.getJSXIcon(t.icon,{className:"p-menuitem-icon"},{props:e.menuProps}),h=t.label&&s.createElement("span",{className:"p-menuitem-text"},t.label),E=t.items&&s.createElement("span",{className:d}),v=b(t),g=s.createElement("a",{href:t.url||"#",className:c,target:t.target,onClick:function(e){return f(e,t)},role:"menuitem","aria-haspopup":null!=t.items,"aria-disabled":t.disabled},y,h,E,s.createElement(u.Ripple,null));t.template&&(g=l.ObjectUtils.getJSXElement(t.template,t,{onClick:function(e){return f(e,t)},className:c,labelClassName:"p-menuitem-text",iconClassName:p,submenuIconClassName:d,element:g,props:e,active:o}));return s.createElement("li",{key:a,role:"none",className:i,style:t.style,onMouseEnter:function(e){return m(e,t)}},g,v)},h=function(e,t){return e.separator?d(t):y(e,t)},g=l.classNames({"p-submenu-list":!e.root}),x=e.model?e.model.map(h):null;return s.createElement(r.CSSTransition,{nodeRef:i,classNames:"p-contextmenusub",in:c,timeout:{enter:0,exit:0},unmountOnExit:!0,onEnter:function(){p()}},s.createElement("ul",{ref:i,className:g},x))}));v.displayName="ContextMenuSub";var g=s.memo(s.forwardRef((function(e,t){var n=E(s.useState(!1),2),u=n[0],i=n[1],c=E(s.useState(!1),2),p=c[0],d=c[1],b=E(s.useState(!1),2),y=b[0],h=b[1],x=s.useRef(null),N=s.useRef(null),O=E(o.useEventListener({type:"click",listener:function(e){A(e)&&2!==e.button&&(k(e),h(!0))}}),2),S=O[0],H=O[1],I=E(o.useEventListener({type:"contextmenu",listener:function(e){M(e)}}),1)[0],C=E(o.useResizeListener({listener:function(e){u&&!l.DomHandler.isTouchDevice()&&k(e)}}),2),P=C[0],D=C[1],w=function(){h(!1)},j=function(){h(!1)},M=function(t){t.stopPropagation(),t.preventDefault(),N.current=t,u?d(!0):(i(!0),e.onShow&&e.onShow(N.current))},k=function(t){N.current=t,i(!1),d(!1),e.onHide&&e.onHide(N.current)},T=function(){e.autoZIndex&&l.ZIndexUtils.set("menu",x.current,m.default.autoZIndex,e.baseZIndex||m.default.zIndex.menu),Z(N.current)},U=function(){W()},L=function(){z(),l.ZIndexUtils.clear(x.current)},R=function(){l.ZIndexUtils.clear(x.current)},Z=function(e){if(e){var t=e.pageX+1,n=e.pageY+1,r=x.current.offsetParent?x.current.offsetWidth:l.DomHandler.getHiddenElementOuterWidth(x.current),o=x.current.offsetParent?x.current.offsetHeight:l.DomHandler.getHiddenElementOuterHeight(x.current),a=l.DomHandler.getViewport();t+r-document.body.scrollLeft>a.width&&(t-=r),n+o-document.body.scrollTop>a.height&&(n-=o),t<document.body.scrollLeft&&(t=document.body.scrollLeft),n<document.body.scrollTop&&(n=document.body.scrollTop),x.current.style.left=t+"px",x.current.style.top=n+"px"}},_=function(e){h(!0),k(e),e.stopPropagation()},A=function(e){return x&&x.current&&!(x.current.isSameNode(e.target)||x.current.contains(e.target))},W=function(){P(),S()},z=function(){D(),H()};o.useMountEffect((function(){e.global&&I()})),o.useUpdateEffect((function(){u?(i(!1),d(!1),h(!0)):p||u||!y||M(N.current)}),[p]),o.useUnmountEffect((function(){l.ZIndexUtils.clear(x.current)})),s.useImperativeHandle(t,(function(){return{show:M,hide:k}}));var X,J,V=(X=l.ObjectUtils.findDiffKeys(e,g.defaultProps),J=l.classNames("p-contextmenu p-component",e.className),s.createElement(r.CSSTransition,{nodeRef:x,classNames:"p-contextmenu",in:u,timeout:{enter:250,exit:0},options:e.transitionOptions,unmountOnExit:!0,onEnter:T,onEntered:U,onExit:L,onExited:R},s.createElement("div",f({ref:x,id:e.id,className:J,style:e.style},X,{onClick:w,onMouseEnter:j}),s.createElement(v,{menuProps:e,model:e.model,root:!0,resetMenu:y,onLeafClick:_}))));return s.createElement(a.Portal,{element:V,appendTo:e.appendTo})})));return g.displayName="ContextMenu",g.defaultProps={__TYPE:"ContextMenu",id:null,model:null,style:null,className:null,global:!1,autoZIndex:!0,baseZIndex:0,appendTo:null,transitionOptions:null,onShow:null,onHide:null},e.ContextMenu=g,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.api,primereact.csstransition,primereact.hooks,primereact.portal,primereact.utils,primereact.ripple);