primevue 4.2.5 → 4.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 (496) hide show
  1. package/LICENSE.md +1 -1
  2. package/accordion/Accordion.vue +0 -8
  3. package/accordion/index.mjs +1 -9
  4. package/accordion/index.mjs.map +1 -1
  5. package/accordion/style/index.mjs +2 -5
  6. package/accordion/style/index.mjs.map +1 -1
  7. package/accordioncontent/index.mjs +1 -1
  8. package/accordionheader/AccordionHeader.vue +2 -2
  9. package/accordionheader/index.mjs +4 -4
  10. package/accordionheader/index.mjs.map +1 -1
  11. package/accordionpanel/index.mjs +1 -1
  12. package/animateonscroll/index.d.ts +1 -1
  13. package/animateonscroll/index.mjs +4 -4
  14. package/animateonscroll/index.mjs.map +1 -1
  15. package/animateonscroll/style/index.d.ts +1 -1
  16. package/autocomplete/AutoComplete.vue +90 -23
  17. package/autocomplete/index.d.ts +19 -2
  18. package/autocomplete/index.mjs +127 -55
  19. package/autocomplete/index.mjs.map +1 -1
  20. package/autocomplete/style/index.mjs +15 -19
  21. package/autocomplete/style/index.mjs.map +1 -1
  22. package/avatar/index.mjs +1 -1
  23. package/avatar/style/index.mjs +4 -7
  24. package/avatar/style/index.mjs.map +1 -1
  25. package/avatargroup/index.mjs +1 -1
  26. package/badge/index.mjs +1 -1
  27. package/badge/style/index.mjs +6 -9
  28. package/badge/style/index.mjs.map +1 -1
  29. package/badgedirective/index.mjs +6 -6
  30. package/badgedirective/index.mjs.map +1 -1
  31. package/blockui/BlockUI.vue +2 -1
  32. package/blockui/index.mjs +3 -2
  33. package/blockui/index.mjs.map +1 -1
  34. package/blockui/style/index.mjs +2 -5
  35. package/blockui/style/index.mjs.map +1 -1
  36. package/breadcrumb/index.mjs +1 -1
  37. package/breadcrumb/style/index.mjs +4 -7
  38. package/breadcrumb/style/index.mjs.map +1 -1
  39. package/button/Button.vue +1 -1
  40. package/button/index.d.ts +11 -1
  41. package/button/index.mjs +5 -4
  42. package/button/index.mjs.map +1 -1
  43. package/button/style/index.mjs +9 -12
  44. package/button/style/index.mjs.map +1 -1
  45. package/buttongroup/index.mjs +1 -1
  46. package/buttongroup/style/index.mjs +2 -5
  47. package/buttongroup/style/index.mjs.map +1 -1
  48. package/card/index.mjs +1 -1
  49. package/card/style/index.mjs +2 -5
  50. package/card/style/index.mjs.map +1 -1
  51. package/carousel/index.mjs +2 -2
  52. package/carousel/index.mjs.map +1 -1
  53. package/carousel/style/index.mjs +19 -22
  54. package/carousel/style/index.mjs.map +1 -1
  55. package/cascadeselect/CascadeSelect.vue +16 -17
  56. package/cascadeselect/CascadeSelectSub.vue +1 -1
  57. package/cascadeselect/index.d.ts +2 -2
  58. package/cascadeselect/index.mjs +26 -28
  59. package/cascadeselect/index.mjs.map +1 -1
  60. package/cascadeselect/style/index.mjs +17 -19
  61. package/cascadeselect/style/index.mjs.map +1 -1
  62. package/chart/index.mjs +4 -4
  63. package/checkbox/index.d.ts +2 -2
  64. package/checkbox/index.mjs +2 -2
  65. package/checkbox/index.mjs.map +1 -1
  66. package/checkbox/style/index.mjs +5 -8
  67. package/checkbox/style/index.mjs.map +1 -1
  68. package/checkboxgroup/index.mjs +1 -1
  69. package/checkboxgroup/style/index.mjs +2 -5
  70. package/checkboxgroup/style/index.mjs.map +1 -1
  71. package/chip/index.mjs +1 -1
  72. package/chip/style/index.mjs +2 -5
  73. package/chip/style/index.mjs.map +1 -1
  74. package/colorpicker/ColorPicker.vue +2 -2
  75. package/colorpicker/index.mjs +7 -7
  76. package/colorpicker/index.mjs.map +1 -1
  77. package/colorpicker/style/index.mjs +7 -10
  78. package/colorpicker/style/index.mjs.map +1 -1
  79. package/column/BaseColumn.vue +1 -1
  80. package/column/index.d.ts +2 -2
  81. package/column/index.mjs +1 -1
  82. package/column/index.mjs.map +1 -1
  83. package/columngroup/index.mjs.map +1 -1
  84. package/confirmdialog/index.d.ts +4 -0
  85. package/confirmdialog/index.mjs +1 -1
  86. package/confirmdialog/index.mjs.map +1 -1
  87. package/confirmdialog/style/index.mjs +2 -5
  88. package/confirmdialog/style/index.mjs.map +1 -1
  89. package/confirmpopup/ConfirmPopup.vue +2 -2
  90. package/confirmpopup/index.mjs +4 -4
  91. package/confirmpopup/index.mjs.map +1 -1
  92. package/confirmpopup/style/index.mjs +2 -5
  93. package/confirmpopup/style/index.mjs.map +1 -1
  94. package/contextmenu/ContextMenu.vue +6 -12
  95. package/contextmenu/index.mjs +9 -15
  96. package/contextmenu/index.mjs.map +1 -1
  97. package/contextmenu/style/index.mjs +7 -10
  98. package/contextmenu/style/index.mjs.map +1 -1
  99. package/datatable/BodyCell.vue +24 -14
  100. package/datatable/BodyRow.vue +0 -1
  101. package/datatable/ColumnFilter.vue +10 -16
  102. package/datatable/DataTable.vue +6 -6
  103. package/datatable/FilterHeaderCell.vue +189 -0
  104. package/datatable/FooterCell.vue +2 -2
  105. package/datatable/HeaderCell.vue +4 -4
  106. package/datatable/TableBody.vue +3 -10
  107. package/datatable/TableHeader.vue +23 -50
  108. package/datatable/index.d.ts +89 -39
  109. package/datatable/index.mjs +444 -234
  110. package/datatable/index.mjs.map +1 -1
  111. package/datatable/style/index.mjs +32 -36
  112. package/datatable/style/index.mjs.map +1 -1
  113. package/dataview/index.mjs +2 -2
  114. package/dataview/index.mjs.map +1 -1
  115. package/dataview/style/index.mjs +6 -9
  116. package/dataview/style/index.mjs.map +1 -1
  117. package/datepicker/BaseDatePicker.vue +0 -4
  118. package/datepicker/DatePicker.vue +46 -20
  119. package/datepicker/index.d.ts +2 -6
  120. package/datepicker/index.mjs +78 -52
  121. package/datepicker/index.mjs.map +1 -1
  122. package/datepicker/style/index.mjs +26 -28
  123. package/datepicker/style/index.mjs.map +1 -1
  124. package/deferredcontent/index.mjs +1 -1
  125. package/dialog/Dialog.vue +3 -11
  126. package/dialog/index.d.ts +1 -1
  127. package/dialog/index.mjs +7 -14
  128. package/dialog/index.mjs.map +1 -1
  129. package/dialog/style/index.mjs +10 -14
  130. package/dialog/style/index.mjs.map +1 -1
  131. package/divider/index.mjs +1 -1
  132. package/divider/style/index.mjs +6 -10
  133. package/divider/style/index.mjs.map +1 -1
  134. package/dock/DockSub.vue +5 -13
  135. package/dock/index.mjs +6 -14
  136. package/dock/index.mjs.map +1 -1
  137. package/dock/style/index.mjs +9 -12
  138. package/dock/style/index.mjs.map +1 -1
  139. package/drawer/Drawer.vue +7 -4
  140. package/drawer/index.d.ts +4 -0
  141. package/drawer/index.mjs +7 -5
  142. package/drawer/index.mjs.map +1 -1
  143. package/drawer/style/index.mjs +10 -13
  144. package/drawer/style/index.mjs.map +1 -1
  145. package/dynamicdialog/DynamicDialog.vue +5 -5
  146. package/dynamicdialog/index.mjs +8 -6
  147. package/dynamicdialog/index.mjs.map +1 -1
  148. package/editor/Editor.vue +9 -11
  149. package/editor/index.d.ts +0 -15
  150. package/editor/index.mjs +16 -16
  151. package/editor/index.mjs.map +1 -1
  152. package/editor/style/index.mjs +4 -7
  153. package/editor/style/index.mjs.map +1 -1
  154. package/fieldset/Fieldset.vue +4 -12
  155. package/fieldset/index.mjs +9 -17
  156. package/fieldset/index.mjs.map +1 -1
  157. package/fieldset/style/index.mjs +4 -7
  158. package/fieldset/style/index.mjs.map +1 -1
  159. package/fileupload/FileUpload.vue +9 -7
  160. package/fileupload/index.d.ts +3 -3
  161. package/fileupload/index.mjs +12 -10
  162. package/fileupload/index.mjs.map +1 -1
  163. package/fileupload/style/index.mjs +4 -7
  164. package/fileupload/style/index.mjs.map +1 -1
  165. package/floatlabel/index.mjs +1 -1
  166. package/floatlabel/style/index.mjs +4 -8
  167. package/floatlabel/style/index.mjs.map +1 -1
  168. package/fluid/index.mjs +1 -1
  169. package/focustrap/index.mjs +4 -4
  170. package/focustrap/index.mjs.map +1 -1
  171. package/galleria/Galleria.vue +2 -1
  172. package/galleria/GalleriaContent.vue +3 -11
  173. package/galleria/GalleriaThumbnails.vue +15 -8
  174. package/galleria/index.mjs +28 -30
  175. package/galleria/index.mjs.map +1 -1
  176. package/galleria/style/index.mjs +23 -26
  177. package/galleria/style/index.mjs.map +1 -1
  178. package/iconfield/index.mjs +1 -1
  179. package/iconfield/style/index.mjs +2 -5
  180. package/iconfield/style/index.mjs.map +1 -1
  181. package/iftalabel/index.mjs +1 -1
  182. package/iftalabel/style/index.mjs +2 -5
  183. package/iftalabel/style/index.mjs.map +1 -1
  184. package/image/Image.vue +2 -1
  185. package/image/index.d.ts +4 -0
  186. package/image/index.mjs +6 -5
  187. package/image/index.mjs.map +1 -1
  188. package/image/style/index.mjs +8 -11
  189. package/image/style/index.mjs.map +1 -1
  190. package/imagecompare/index.mjs +1 -1
  191. package/imagecompare/style/index.mjs +2 -5
  192. package/imagecompare/style/index.mjs.map +1 -1
  193. package/index.d.ts +3 -0
  194. package/index.mjs +1 -0
  195. package/index.mjs.map +1 -1
  196. package/inlinemessage/index.mjs +1 -1
  197. package/inlinemessage/style/index.mjs +7 -10
  198. package/inlinemessage/style/index.mjs.map +1 -1
  199. package/inplace/index.mjs +4 -4
  200. package/inplace/style/index.mjs +4 -7
  201. package/inplace/style/index.mjs.map +1 -1
  202. package/inputchips/InputChips.vue +2 -10
  203. package/inputchips/index.mjs +6 -14
  204. package/inputchips/index.mjs.map +1 -1
  205. package/inputchips/style/index.mjs +11 -14
  206. package/inputchips/style/index.mjs.map +1 -1
  207. package/inputgroup/index.mjs +1 -1
  208. package/inputgroup/style/index.mjs +2 -5
  209. package/inputgroup/style/index.mjs.map +1 -1
  210. package/inputgroupaddon/index.mjs +1 -1
  211. package/inputicon/index.mjs +1 -1
  212. package/inputmask/InputMask.vue +26 -17
  213. package/inputmask/index.d.ts +2 -2
  214. package/inputmask/index.mjs +28 -17
  215. package/inputmask/index.mjs.map +1 -1
  216. package/inputnumber/InputNumber.vue +17 -6
  217. package/inputnumber/index.d.ts +4 -4
  218. package/inputnumber/index.mjs +20 -12
  219. package/inputnumber/index.mjs.map +1 -1
  220. package/inputnumber/style/index.mjs +12 -14
  221. package/inputnumber/style/index.mjs.map +1 -1
  222. package/inputotp/index.d.ts +23 -8
  223. package/inputotp/index.mjs +1 -1
  224. package/inputotp/style/index.mjs +2 -5
  225. package/inputotp/style/index.mjs.map +1 -1
  226. package/inputtext/InputText.vue +1 -1
  227. package/inputtext/index.d.ts +1 -1
  228. package/inputtext/index.mjs +3 -2
  229. package/inputtext/index.mjs.map +1 -1
  230. package/inputtext/style/index.mjs +5 -8
  231. package/inputtext/style/index.mjs.map +1 -1
  232. package/keyfilter/index.mjs +8 -9
  233. package/keyfilter/index.mjs.map +1 -1
  234. package/knob/index.mjs +3 -3
  235. package/knob/index.mjs.map +1 -1
  236. package/knob/style/index.mjs +5 -8
  237. package/knob/style/index.mjs.map +1 -1
  238. package/listbox/Listbox.vue +7 -13
  239. package/listbox/index.mjs +10 -16
  240. package/listbox/index.mjs.map +1 -1
  241. package/listbox/style/index.mjs +11 -14
  242. package/listbox/style/index.mjs.map +1 -1
  243. package/megamenu/MegaMenu.vue +9 -15
  244. package/megamenu/index.mjs +12 -18
  245. package/megamenu/index.mjs.map +1 -1
  246. package/megamenu/style/index.mjs +15 -18
  247. package/megamenu/style/index.mjs.map +1 -1
  248. package/menu/Menu.vue +9 -17
  249. package/menu/index.d.ts +10 -0
  250. package/menu/index.mjs +10 -17
  251. package/menu/index.mjs.map +1 -1
  252. package/menu/style/index.mjs +6 -9
  253. package/menu/style/index.mjs.map +1 -1
  254. package/menubar/Menubar.vue +10 -16
  255. package/menubar/index.mjs +14 -20
  256. package/menubar/index.mjs.map +1 -1
  257. package/menubar/style/index.mjs +10 -13
  258. package/menubar/style/index.mjs.map +1 -1
  259. package/message/index.mjs +4 -4
  260. package/message/style/index.mjs +4 -7
  261. package/message/style/index.mjs.map +1 -1
  262. package/metergroup/index.mjs +1 -1
  263. package/metergroup/style/index.mjs +6 -9
  264. package/metergroup/style/index.mjs.map +1 -1
  265. package/multiselect/MultiSelect.vue +23 -18
  266. package/multiselect/index.d.ts +12 -6
  267. package/multiselect/index.mjs +32 -28
  268. package/multiselect/index.mjs.map +1 -1
  269. package/multiselect/style/index.mjs +17 -20
  270. package/multiselect/style/index.mjs.map +1 -1
  271. package/orderlist/OrderList.vue +1 -10
  272. package/orderlist/index.mjs +7 -15
  273. package/orderlist/index.mjs.map +1 -1
  274. package/orderlist/style/index.mjs +2 -5
  275. package/orderlist/style/index.mjs.map +1 -1
  276. package/organizationchart/index.mjs +4 -4
  277. package/organizationchart/style/index.mjs +9 -12
  278. package/organizationchart/style/index.mjs.map +1 -1
  279. package/overlaybadge/index.mjs +1 -1
  280. package/overlaybadge/style/index.mjs +2 -5
  281. package/overlaybadge/style/index.mjs.map +1 -1
  282. package/package.json +6 -5
  283. package/paginator/index.mjs +2 -2
  284. package/paginator/index.mjs.map +1 -1
  285. package/paginator/style/index.mjs +18 -21
  286. package/paginator/style/index.mjs.map +1 -1
  287. package/panel/Panel.vue +5 -13
  288. package/panel/index.mjs +7 -15
  289. package/panel/index.mjs.map +1 -1
  290. package/panel/style/index.mjs +4 -7
  291. package/panel/style/index.mjs.map +1 -1
  292. package/panelmenu/PanelMenu.vue +2 -12
  293. package/panelmenu/index.mjs +8 -18
  294. package/panelmenu/index.mjs.map +1 -1
  295. package/panelmenu/style/index.mjs +8 -11
  296. package/panelmenu/style/index.mjs.map +1 -1
  297. package/passthrough/index.mjs +3 -3
  298. package/password/Password.vue +3 -10
  299. package/password/index.d.ts +2 -2
  300. package/password/index.mjs +9 -16
  301. package/password/index.mjs.map +1 -1
  302. package/password/style/index.mjs +8 -11
  303. package/password/style/index.mjs.map +1 -1
  304. package/picklist/PickList.vue +2 -9
  305. package/picklist/index.mjs +8 -14
  306. package/picklist/index.mjs.map +1 -1
  307. package/picklist/style/index.mjs +2 -5
  308. package/picklist/style/index.mjs.map +1 -1
  309. package/popover/Popover.vue +2 -2
  310. package/popover/index.mjs +4 -4
  311. package/popover/index.mjs.map +1 -1
  312. package/popover/style/index.mjs +2 -5
  313. package/popover/style/index.mjs.map +1 -1
  314. package/portal/index.mjs +1 -1
  315. package/progressbar/index.mjs +1 -1
  316. package/progressbar/style/index.mjs +4 -7
  317. package/progressbar/style/index.mjs.map +1 -1
  318. package/progressspinner/index.mjs +1 -1
  319. package/progressspinner/style/index.mjs +2 -5
  320. package/progressspinner/style/index.mjs.map +1 -1
  321. package/radiobutton/index.d.ts +2 -2
  322. package/radiobutton/index.mjs +1 -1
  323. package/radiobutton/index.mjs.map +1 -1
  324. package/radiobutton/style/index.mjs +5 -8
  325. package/radiobutton/style/index.mjs.map +1 -1
  326. package/radiobuttongroup/index.mjs +1 -1
  327. package/radiobuttongroup/style/index.mjs +2 -5
  328. package/radiobuttongroup/style/index.mjs.map +1 -1
  329. package/rating/Rating.vue +6 -11
  330. package/rating/index.mjs +7 -12
  331. package/rating/index.mjs.map +1 -1
  332. package/rating/style/index.mjs +11 -14
  333. package/rating/style/index.mjs.map +1 -1
  334. package/ripple/index.mjs +16 -13
  335. package/ripple/index.mjs.map +1 -1
  336. package/ripple/style/index.mjs +2 -5
  337. package/ripple/style/index.mjs.map +1 -1
  338. package/row/index.mjs.map +1 -1
  339. package/scrollpanel/ScrollPanel.vue +1 -10
  340. package/scrollpanel/index.mjs +3 -11
  341. package/scrollpanel/index.mjs.map +1 -1
  342. package/scrollpanel/style/index.mjs +2 -5
  343. package/scrollpanel/style/index.mjs.map +1 -1
  344. package/scrolltop/index.mjs +1 -1
  345. package/scrolltop/style/index.mjs +4 -7
  346. package/scrolltop/style/index.mjs.map +1 -1
  347. package/select/Select.vue +55 -26
  348. package/select/index.d.ts +9 -5
  349. package/select/index.mjs +89 -63
  350. package/select/index.mjs.map +1 -1
  351. package/select/style/index.mjs +15 -18
  352. package/select/style/index.mjs.map +1 -1
  353. package/selectbutton/index.mjs +3 -3
  354. package/selectbutton/style/index.mjs +4 -7
  355. package/selectbutton/style/index.mjs.map +1 -1
  356. package/skeleton/index.mjs +1 -1
  357. package/skeleton/style/index.mjs +4 -7
  358. package/skeleton/style/index.mjs.map +1 -1
  359. package/slider/Slider.vue +1 -1
  360. package/slider/index.mjs +3 -3
  361. package/slider/index.mjs.map +1 -1
  362. package/slider/style/index.mjs +5 -8
  363. package/slider/style/index.mjs.map +1 -1
  364. package/speeddial/SpeedDial.vue +8 -15
  365. package/speeddial/index.d.ts +1 -1
  366. package/speeddial/index.mjs +13 -19
  367. package/speeddial/index.mjs.map +1 -1
  368. package/speeddial/style/index.mjs +15 -18
  369. package/speeddial/style/index.mjs.map +1 -1
  370. package/splitbutton/SplitButton.vue +2 -11
  371. package/splitbutton/index.d.ts +2 -2
  372. package/splitbutton/index.mjs +3 -11
  373. package/splitbutton/index.mjs.map +1 -1
  374. package/splitbutton/style/index.mjs +5 -8
  375. package/splitbutton/style/index.mjs.map +1 -1
  376. package/splitter/Splitter.vue +31 -14
  377. package/splitter/index.d.ts +1 -1
  378. package/splitter/index.mjs +28 -14
  379. package/splitter/index.mjs.map +1 -1
  380. package/splitter/style/index.mjs +6 -9
  381. package/splitter/style/index.mjs.map +1 -1
  382. package/splitterpanel/index.mjs +1 -1
  383. package/step/index.mjs +1 -1
  384. package/step/index.mjs.map +1 -1
  385. package/stepitem/index.mjs +1 -1
  386. package/stepitem/index.mjs.map +1 -1
  387. package/steplist/index.mjs +1 -1
  388. package/steppanel/index.mjs +1 -1
  389. package/steppanel/index.mjs.map +1 -1
  390. package/steppanels/index.mjs +1 -1
  391. package/stepper/Stepper.vue +0 -8
  392. package/stepper/index.mjs +1 -9
  393. package/stepper/index.mjs.map +1 -1
  394. package/stepper/style/index.mjs +4 -7
  395. package/stepper/style/index.mjs.map +1 -1
  396. package/steps/index.mjs +2 -2
  397. package/steps/style/index.mjs +8 -11
  398. package/steps/style/index.mjs.map +1 -1
  399. package/styleclass/index.mjs +1 -1
  400. package/tab/Tab.vue +3 -3
  401. package/tab/index.mjs +4 -4
  402. package/tab/index.mjs.map +1 -1
  403. package/tablist/TabList.vue +2 -2
  404. package/tablist/index.mjs +4 -4
  405. package/tablist/index.mjs.map +1 -1
  406. package/tabmenu/index.mjs +2 -2
  407. package/tabmenu/index.mjs.map +1 -1
  408. package/tabmenu/style/index.mjs +6 -9
  409. package/tabmenu/style/index.mjs.map +1 -1
  410. package/tabpanel/index.mjs +1 -1
  411. package/tabpanel/index.mjs.map +1 -1
  412. package/tabpanels/index.mjs +1 -1
  413. package/tabs/Tabs.vue +0 -8
  414. package/tabs/index.mjs +1 -9
  415. package/tabs/index.mjs.map +1 -1
  416. package/tabs/style/index.mjs +4 -7
  417. package/tabs/style/index.mjs.map +1 -1
  418. package/tabview/TabView.vue +3 -9
  419. package/tabview/index.mjs +7 -13
  420. package/tabview/index.mjs.map +1 -1
  421. package/tabview/style/index.mjs +11 -14
  422. package/tabview/style/index.mjs.map +1 -1
  423. package/tag/index.mjs +1 -1
  424. package/tag/style/index.mjs +4 -7
  425. package/tag/style/index.mjs.map +1 -1
  426. package/terminal/index.mjs +1 -1
  427. package/terminal/style/index.mjs +2 -5
  428. package/terminal/style/index.mjs.map +1 -1
  429. package/textarea/Textarea.vue +5 -2
  430. package/textarea/index.d.ts +4 -4
  431. package/textarea/index.mjs +7 -3
  432. package/textarea/index.mjs.map +1 -1
  433. package/textarea/style/index.mjs +5 -8
  434. package/textarea/style/index.mjs.map +1 -1
  435. package/tieredmenu/TieredMenu.vue +8 -13
  436. package/tieredmenu/index.mjs +11 -16
  437. package/tieredmenu/index.mjs.map +1 -1
  438. package/tieredmenu/style/index.mjs +11 -14
  439. package/tieredmenu/style/index.mjs.map +1 -1
  440. package/timeline/index.d.ts +4 -0
  441. package/timeline/index.mjs +1 -1
  442. package/timeline/style/index.mjs +4 -7
  443. package/timeline/style/index.mjs.map +1 -1
  444. package/toast/BaseToast.vue +12 -0
  445. package/toast/ToastMessage.vue +38 -4
  446. package/toast/index.d.ts +12 -0
  447. package/toast/index.mjs +79 -15
  448. package/toast/index.mjs.map +1 -1
  449. package/toast/style/index.mjs +12 -15
  450. package/toast/style/index.mjs.map +1 -1
  451. package/togglebutton/ToggleButton.vue +1 -0
  452. package/togglebutton/index.mjs +3 -2
  453. package/togglebutton/index.mjs.map +1 -1
  454. package/togglebutton/style/index.mjs +5 -8
  455. package/togglebutton/style/index.mjs.map +1 -1
  456. package/toggleswitch/index.mjs +1 -1
  457. package/toggleswitch/index.mjs.map +1 -1
  458. package/toggleswitch/style/index.mjs +5 -8
  459. package/toggleswitch/style/index.mjs.map +1 -1
  460. package/toolbar/index.mjs +1 -1
  461. package/toolbar/style/index.mjs +2 -5
  462. package/toolbar/style/index.mjs.map +1 -1
  463. package/tooltip/index.mjs +62 -14
  464. package/tooltip/index.mjs.map +1 -1
  465. package/tooltip/style/index.mjs +2 -5
  466. package/tooltip/style/index.mjs.map +1 -1
  467. package/tree/Tree.vue +2 -2
  468. package/tree/index.mjs +16 -16
  469. package/tree/index.mjs.map +1 -1
  470. package/tree/style/index.mjs +8 -11
  471. package/tree/style/index.mjs.map +1 -1
  472. package/treeselect/TreeSelect.vue +21 -26
  473. package/treeselect/index.d.ts +2 -2
  474. package/treeselect/index.mjs +56 -72
  475. package/treeselect/index.mjs.map +1 -1
  476. package/treeselect/style/index.mjs +10 -13
  477. package/treeselect/style/index.mjs.map +1 -1
  478. package/treetable/BodyCell.vue +8 -5
  479. package/treetable/FooterCell.vue +2 -2
  480. package/treetable/HeaderCell.vue +4 -4
  481. package/treetable/index.d.ts +29 -0
  482. package/treetable/index.mjs +42 -35
  483. package/treetable/index.mjs.map +1 -1
  484. package/treetable/style/index.mjs +22 -25
  485. package/treetable/style/index.mjs.map +1 -1
  486. package/umd/primevue.min.js +1 -1
  487. package/utils/index.d.ts +9 -0
  488. package/utils/index.mjs +16 -0
  489. package/utils/index.mjs.map +1 -0
  490. package/utils/package.json +5 -0
  491. package/virtualscroller/VirtualScroller.vue +16 -10
  492. package/virtualscroller/index.mjs +21 -15
  493. package/virtualscroller/index.mjs.map +1 -1
  494. package/virtualscroller/style/index.mjs +2 -5
  495. package/virtualscroller/style/index.mjs.map +1 -1
  496. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/menu/BaseMenu.vue","../../src/menu/Menuitem.vue","../../src/menu/Menuitem.vue?vue&type=template&id=e64d2dd2&lang.js","../../src/menu/Menu.vue","../../src/menu/Menu.vue?vue&type=template&id=068ae026&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport MenuStyle from 'primevue/menu/style';\n\nexport default {\n name: 'BaseMenu',\n extends: BaseComponent,\n props: {\n popup: {\n type: Boolean,\n default: false\n },\n model: {\n type: Array,\n default: null\n },\n appendTo: {\n type: [String, Object],\n default: 'body'\n },\n autoZIndex: {\n type: Boolean,\n default: true\n },\n baseZIndex: {\n type: Number,\n default: 0\n },\n tabindex: {\n type: Number,\n default: 0\n },\n ariaLabel: {\n type: String,\n default: null\n },\n ariaLabelledby: {\n type: String,\n default: null\n }\n },\n style: MenuStyle,\n provide() {\n return {\n $pcMenu: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <li\n v-if=\"visible()\"\n :id=\"id\"\n :class=\"[cx('item'), item.class]\"\n role=\"menuitem\"\n :style=\"item.style\"\n :aria-label=\"label()\"\n :aria-disabled=\"disabled()\"\n v-bind=\"getPTOptions('item')\"\n :data-p-focused=\"isItemFocused()\"\n :data-p-disabled=\"disabled() || false\"\n >\n <div :class=\"cx('itemContent')\" @click=\"onItemClick($event)\" @mousemove=\"onItemMouseMove($event)\" v-bind=\"getPTOptions('itemContent')\">\n <template v-if=\"!templates.item\">\n <a v-ripple :href=\"item.url\" :class=\"cx('itemLink')\" :target=\"item.target\" tabindex=\"-1\" v-bind=\"getPTOptions('itemLink')\">\n <component v-if=\"templates.itemicon\" :is=\"templates.itemicon\" :item=\"item\" :class=\"cx('itemIcon')\" />\n <span v-else-if=\"item.icon\" :class=\"[cx('itemIcon'), item.icon]\" v-bind=\"getPTOptions('itemIcon')\" />\n <span :class=\"cx('itemLabel')\" v-bind=\"getPTOptions('itemLabel')\">{{ label() }}</span>\n </a>\n </template>\n <component v-else-if=\"templates.item\" :is=\"templates.item\" :item=\"item\" :label=\"label()\" :props=\"getMenuItemProps(item)\"></component>\n </div>\n </li>\n</template>\n\n<script>\nimport { resolve } from '@primeuix/utils/object';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\n\nexport default {\n name: 'Menuitem',\n hostName: 'Menu',\n extends: BaseComponent,\n inheritAttrs: false,\n emits: ['item-click', 'item-mousemove'],\n props: {\n item: null,\n templates: null,\n id: null,\n focusedOptionId: null,\n index: null\n },\n methods: {\n getItemProp(processedItem, name) {\n return processedItem && processedItem.item ? resolve(processedItem.item[name]) : undefined;\n },\n getPTOptions(key) {\n return this.ptm(key, {\n context: {\n item: this.item,\n index: this.index,\n focused: this.isItemFocused(),\n disabled: this.disabled()\n }\n });\n },\n isItemFocused() {\n return this.focusedOptionId === this.id;\n },\n onItemClick(event) {\n const command = this.getItemProp(this.item, 'command');\n\n command && command({ originalEvent: event, item: this.item.item });\n this.$emit('item-click', { originalEvent: event, item: this.item, id: this.id });\n },\n onItemMouseMove(event) {\n this.$emit('item-mousemove', { originalEvent: event, item: this.item, id: this.id });\n },\n visible() {\n return typeof this.item.visible === 'function' ? this.item.visible() : this.item.visible !== false;\n },\n disabled() {\n return typeof this.item.disabled === 'function' ? this.item.disabled() : this.item.disabled;\n },\n label() {\n return typeof this.item.label === 'function' ? this.item.label() : this.item.label;\n },\n getMenuItemProps(item) {\n return {\n action: mergeProps(\n {\n class: this.cx('itemLink'),\n tabindex: '-1'\n },\n this.getPTOptions('itemLink')\n ),\n icon: mergeProps(\n {\n class: [this.cx('itemIcon'), item.icon]\n },\n this.getPTOptions('itemIcon')\n ),\n label: mergeProps(\n {\n class: this.cx('itemLabel')\n },\n this.getPTOptions('itemLabel')\n )\n };\n }\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <li\n v-if=\"visible()\"\n :id=\"id\"\n :class=\"[cx('item'), item.class]\"\n role=\"menuitem\"\n :style=\"item.style\"\n :aria-label=\"label()\"\n :aria-disabled=\"disabled()\"\n v-bind=\"getPTOptions('item')\"\n :data-p-focused=\"isItemFocused()\"\n :data-p-disabled=\"disabled() || false\"\n >\n <div :class=\"cx('itemContent')\" @click=\"onItemClick($event)\" @mousemove=\"onItemMouseMove($event)\" v-bind=\"getPTOptions('itemContent')\">\n <template v-if=\"!templates.item\">\n <a v-ripple :href=\"item.url\" :class=\"cx('itemLink')\" :target=\"item.target\" tabindex=\"-1\" v-bind=\"getPTOptions('itemLink')\">\n <component v-if=\"templates.itemicon\" :is=\"templates.itemicon\" :item=\"item\" :class=\"cx('itemIcon')\" />\n <span v-else-if=\"item.icon\" :class=\"[cx('itemIcon'), item.icon]\" v-bind=\"getPTOptions('itemIcon')\" />\n <span :class=\"cx('itemLabel')\" v-bind=\"getPTOptions('itemLabel')\">{{ label() }}</span>\n </a>\n </template>\n <component v-else-if=\"templates.item\" :is=\"templates.item\" :item=\"item\" :label=\"label()\" :props=\"getMenuItemProps(item)\"></component>\n </div>\n </li>\n</template>\n\n<script>\nimport { resolve } from '@primeuix/utils/object';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\n\nexport default {\n name: 'Menuitem',\n hostName: 'Menu',\n extends: BaseComponent,\n inheritAttrs: false,\n emits: ['item-click', 'item-mousemove'],\n props: {\n item: null,\n templates: null,\n id: null,\n focusedOptionId: null,\n index: null\n },\n methods: {\n getItemProp(processedItem, name) {\n return processedItem && processedItem.item ? resolve(processedItem.item[name]) : undefined;\n },\n getPTOptions(key) {\n return this.ptm(key, {\n context: {\n item: this.item,\n index: this.index,\n focused: this.isItemFocused(),\n disabled: this.disabled()\n }\n });\n },\n isItemFocused() {\n return this.focusedOptionId === this.id;\n },\n onItemClick(event) {\n const command = this.getItemProp(this.item, 'command');\n\n command && command({ originalEvent: event, item: this.item.item });\n this.$emit('item-click', { originalEvent: event, item: this.item, id: this.id });\n },\n onItemMouseMove(event) {\n this.$emit('item-mousemove', { originalEvent: event, item: this.item, id: this.id });\n },\n visible() {\n return typeof this.item.visible === 'function' ? this.item.visible() : this.item.visible !== false;\n },\n disabled() {\n return typeof this.item.disabled === 'function' ? this.item.disabled() : this.item.disabled;\n },\n label() {\n return typeof this.item.label === 'function' ? this.item.label() : this.item.label;\n },\n getMenuItemProps(item) {\n return {\n action: mergeProps(\n {\n class: this.cx('itemLink'),\n tabindex: '-1'\n },\n this.getPTOptions('itemLink')\n ),\n icon: mergeProps(\n {\n class: [this.cx('itemIcon'), item.icon]\n },\n this.getPTOptions('itemIcon')\n ),\n label: mergeProps(\n {\n class: this.cx('itemLabel')\n },\n this.getPTOptions('itemLabel')\n )\n };\n }\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <Portal :appendTo=\"appendTo\" :disabled=\"!popup\">\n <transition name=\"p-connected-overlay\" @enter=\"onEnter\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"popup ? overlayVisible : true\" :ref=\"containerRef\" :id=\"id\" :class=\"cx('root')\" @click=\"onOverlayClick\" v-bind=\"ptmi('root')\">\n <div v-if=\"$slots.start\" :class=\"cx('start')\" v-bind=\"ptm('start')\">\n <slot name=\"start\"></slot>\n </div>\n <ul\n :ref=\"listRef\"\n :id=\"id + '_list'\"\n :class=\"cx('list')\"\n role=\"menu\"\n :tabindex=\"tabindex\"\n :aria-activedescendant=\"focused ? focusedOptionId : undefined\"\n :aria-label=\"ariaLabel\"\n :aria-labelledby=\"ariaLabelledby\"\n @focus=\"onListFocus\"\n @blur=\"onListBlur\"\n @keydown=\"onListKeyDown\"\n v-bind=\"ptm('list')\"\n >\n <template v-for=\"(item, i) of model\" :key=\"label(item) + i.toString()\">\n <template v-if=\"item.items && visible(item) && !item.separator\">\n <li v-if=\"item.items\" :id=\"id + '_' + i\" :class=\"[cx('submenuLabel'), item.class]\" role=\"none\" v-bind=\"ptm('submenuLabel')\">\n <!--TODO: submenuheader deprecated since v4.0. Use submenulabel-->\n <slot :name=\"$slots.submenulabel ? 'submenulabel' : 'submenuheader'\" :item=\"item\">{{ label(item) }}</slot>\n </li>\n <template v-for=\"(child, j) of item.items\" :key=\"child.label + i + '_' + j\">\n <PVMenuitem\n v-if=\"visible(child) && !child.separator\"\n :id=\"id + '_' + i + '_' + j\"\n :item=\"child\"\n :templates=\"$slots\"\n :focusedOptionId=\"focusedOptionId\"\n :unstyled=\"unstyled\"\n @item-click=\"itemClick\"\n @item-mousemove=\"itemMouseMove\"\n :pt=\"pt\"\n />\n <li v-else-if=\"visible(child) && child.separator\" :key=\"'separator' + i + j\" :class=\"[cx('separator'), item.class]\" :style=\"child.style\" role=\"separator\" v-bind=\"ptm('separator')\"></li>\n </template>\n </template>\n <li v-else-if=\"visible(item) && item.separator\" :key=\"'separator' + i.toString()\" :class=\"[cx('separator'), item.class]\" :style=\"item.style\" role=\"separator\" v-bind=\"ptm('separator')\"></li>\n <PVMenuitem\n v-else\n :key=\"label(item) + i.toString()\"\n :id=\"id + '_' + i\"\n :item=\"item\"\n :index=\"i\"\n :templates=\"$slots\"\n :focusedOptionId=\"focusedOptionId\"\n :unstyled=\"unstyled\"\n @item-click=\"itemClick\"\n @item-mousemove=\"itemMouseMove\"\n :pt=\"pt\"\n />\n </template>\n </ul>\n <div v-if=\"$slots.end\" :class=\"cx('end')\" v-bind=\"ptm('end')\">\n <slot name=\"end\"></slot>\n </div>\n </div>\n </transition>\n </Portal>\n</template>\n\n<script>\nimport { ConnectedOverlayScrollHandler, UniqueComponentId } from '@primevue/core/utils';\nimport { focus, find, findSingle, addStyle, absolutePosition, getOuterWidth, isTouchDevice } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport BaseMenu from './BaseMenu.vue';\nimport Menuitem from './Menuitem.vue';\n\nexport default {\n name: 'Menu',\n extends: BaseMenu,\n inheritAttrs: false,\n emits: ['show', 'hide', 'focus', 'blur'],\n data() {\n return {\n id: this.$attrs.id,\n overlayVisible: false,\n focused: false,\n focusedOptionIndex: -1,\n selectedOptionIndex: -1\n };\n },\n watch: {\n '$attrs.id': function (newValue) {\n this.id = newValue || UniqueComponentId();\n }\n },\n target: null,\n outsideClickListener: null,\n scrollHandler: null,\n resizeListener: null,\n container: null,\n list: null,\n mounted() {\n this.id = this.id || UniqueComponentId();\n\n if (!this.popup) {\n this.bindResizeListener();\n this.bindOutsideClickListener();\n }\n },\n beforeUnmount() {\n this.unbindResizeListener();\n this.unbindOutsideClickListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n this.target = null;\n\n if (this.container && this.autoZIndex) {\n ZIndex.clear(this.container);\n }\n\n this.container = null;\n },\n methods: {\n itemClick(event) {\n const item = event.item;\n\n if (this.disabled(item)) {\n return;\n }\n\n if (item.command) {\n item.command(event);\n }\n\n if (this.overlayVisible) this.hide();\n\n if (!this.popup && this.focusedOptionIndex !== event.id) {\n this.focusedOptionIndex = event.id;\n }\n },\n itemMouseMove(event) {\n if (this.focused) {\n this.focusedOptionIndex = event.id;\n }\n },\n onListFocus(event) {\n this.focused = true;\n !this.popup && this.changeFocusedOptionIndex(0);\n\n this.$emit('focus', event);\n },\n onListBlur(event) {\n this.focused = false;\n this.focusedOptionIndex = -1;\n this.$emit('blur', event);\n },\n onListKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Space':\n this.onSpaceKey(event);\n break;\n\n case 'Escape':\n if (this.popup) {\n focus(this.target);\n this.hide();\n }\n\n case 'Tab':\n this.overlayVisible && this.hide();\n break;\n\n default:\n break;\n }\n },\n onArrowDownKey(event) {\n const optionIndex = this.findNextOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n event.preventDefault();\n },\n onArrowUpKey(event) {\n if (event.altKey && this.popup) {\n focus(this.target);\n this.hide();\n event.preventDefault();\n } else {\n const optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n event.preventDefault();\n }\n },\n onHomeKey(event) {\n this.changeFocusedOptionIndex(0);\n event.preventDefault();\n },\n onEndKey(event) {\n this.changeFocusedOptionIndex(find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]').length - 1);\n event.preventDefault();\n },\n onEnterKey(event) {\n const element = findSingle(this.list, `li[id=\"${`${this.focusedOptionIndex}`}\"]`);\n const anchorElement = element && findSingle(element, 'a[data-pc-section=\"itemlink\"]');\n\n this.popup && focus(this.target);\n anchorElement ? anchorElement.click() : element && element.click();\n\n event.preventDefault();\n },\n onSpaceKey(event) {\n this.onEnterKey(event);\n },\n findNextOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n const matchedOptionIndex = [...links].findIndex((link) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + 1 : 0;\n },\n findPrevOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n const matchedOptionIndex = [...links].findIndex((link) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex - 1 : 0;\n },\n changeFocusedOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n let order = index >= links.length ? links.length - 1 : index < 0 ? 0 : index;\n\n order > -1 && (this.focusedOptionIndex = links[order].getAttribute('id'));\n },\n toggle(event) {\n if (this.overlayVisible) this.hide();\n else this.show(event);\n },\n show(event) {\n this.overlayVisible = true;\n this.target = event.currentTarget;\n },\n hide() {\n this.overlayVisible = false;\n this.target = null;\n },\n onEnter(el) {\n addStyle(el, { position: 'absolute', top: '0', left: '0' });\n this.alignOverlay();\n this.bindOutsideClickListener();\n this.bindResizeListener();\n this.bindScrollListener();\n\n if (this.autoZIndex) {\n ZIndex.set('menu', el, this.baseZIndex + this.$primevue.config.zIndex.menu);\n }\n\n if (this.popup) {\n focus(this.list);\n }\n\n this.$emit('show');\n },\n onLeave() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n this.unbindScrollListener();\n this.$emit('hide');\n },\n onAfterLeave(el) {\n if (this.autoZIndex) {\n ZIndex.clear(el);\n }\n },\n alignOverlay() {\n absolutePosition(this.container, this.target);\n const targetWidth = getOuterWidth(this.target);\n\n if (targetWidth > getOuterWidth(this.container)) {\n this.container.style.minWidth = getOuterWidth(this.target) + 'px';\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n const isOutsideContainer = this.container && !this.container.contains(event.target);\n const isOutsideTarget = !(this.target && (this.target === event.target || this.target.contains(event.target)));\n\n if (this.overlayVisible && isOutsideContainer && isOutsideTarget) {\n this.hide();\n } else if (!this.popup && isOutsideContainer && isOutsideTarget) {\n this.focusedOptionIndex = -1;\n }\n };\n\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible && !isTouchDevice()) {\n this.hide();\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n visible(item) {\n return typeof item.visible === 'function' ? item.visible() : item.visible !== false;\n },\n disabled(item) {\n return typeof item.disabled === 'function' ? item.disabled() : item.disabled;\n },\n label(item) {\n return typeof item.label === 'function' ? item.label() : item.label;\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.target\n });\n },\n containerRef(el) {\n this.container = el;\n },\n listRef(el) {\n this.list = el;\n }\n },\n computed: {\n focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : null;\n }\n },\n components: {\n PVMenuitem: Menuitem,\n Portal: Portal\n }\n};\n</script>\n","<template>\n <Portal :appendTo=\"appendTo\" :disabled=\"!popup\">\n <transition name=\"p-connected-overlay\" @enter=\"onEnter\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"popup ? overlayVisible : true\" :ref=\"containerRef\" :id=\"id\" :class=\"cx('root')\" @click=\"onOverlayClick\" v-bind=\"ptmi('root')\">\n <div v-if=\"$slots.start\" :class=\"cx('start')\" v-bind=\"ptm('start')\">\n <slot name=\"start\"></slot>\n </div>\n <ul\n :ref=\"listRef\"\n :id=\"id + '_list'\"\n :class=\"cx('list')\"\n role=\"menu\"\n :tabindex=\"tabindex\"\n :aria-activedescendant=\"focused ? focusedOptionId : undefined\"\n :aria-label=\"ariaLabel\"\n :aria-labelledby=\"ariaLabelledby\"\n @focus=\"onListFocus\"\n @blur=\"onListBlur\"\n @keydown=\"onListKeyDown\"\n v-bind=\"ptm('list')\"\n >\n <template v-for=\"(item, i) of model\" :key=\"label(item) + i.toString()\">\n <template v-if=\"item.items && visible(item) && !item.separator\">\n <li v-if=\"item.items\" :id=\"id + '_' + i\" :class=\"[cx('submenuLabel'), item.class]\" role=\"none\" v-bind=\"ptm('submenuLabel')\">\n <!--TODO: submenuheader deprecated since v4.0. Use submenulabel-->\n <slot :name=\"$slots.submenulabel ? 'submenulabel' : 'submenuheader'\" :item=\"item\">{{ label(item) }}</slot>\n </li>\n <template v-for=\"(child, j) of item.items\" :key=\"child.label + i + '_' + j\">\n <PVMenuitem\n v-if=\"visible(child) && !child.separator\"\n :id=\"id + '_' + i + '_' + j\"\n :item=\"child\"\n :templates=\"$slots\"\n :focusedOptionId=\"focusedOptionId\"\n :unstyled=\"unstyled\"\n @item-click=\"itemClick\"\n @item-mousemove=\"itemMouseMove\"\n :pt=\"pt\"\n />\n <li v-else-if=\"visible(child) && child.separator\" :key=\"'separator' + i + j\" :class=\"[cx('separator'), item.class]\" :style=\"child.style\" role=\"separator\" v-bind=\"ptm('separator')\"></li>\n </template>\n </template>\n <li v-else-if=\"visible(item) && item.separator\" :key=\"'separator' + i.toString()\" :class=\"[cx('separator'), item.class]\" :style=\"item.style\" role=\"separator\" v-bind=\"ptm('separator')\"></li>\n <PVMenuitem\n v-else\n :key=\"label(item) + i.toString()\"\n :id=\"id + '_' + i\"\n :item=\"item\"\n :index=\"i\"\n :templates=\"$slots\"\n :focusedOptionId=\"focusedOptionId\"\n :unstyled=\"unstyled\"\n @item-click=\"itemClick\"\n @item-mousemove=\"itemMouseMove\"\n :pt=\"pt\"\n />\n </template>\n </ul>\n <div v-if=\"$slots.end\" :class=\"cx('end')\" v-bind=\"ptm('end')\">\n <slot name=\"end\"></slot>\n </div>\n </div>\n </transition>\n </Portal>\n</template>\n\n<script>\nimport { ConnectedOverlayScrollHandler, UniqueComponentId } from '@primevue/core/utils';\nimport { focus, find, findSingle, addStyle, absolutePosition, getOuterWidth, isTouchDevice } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport BaseMenu from './BaseMenu.vue';\nimport Menuitem from './Menuitem.vue';\n\nexport default {\n name: 'Menu',\n extends: BaseMenu,\n inheritAttrs: false,\n emits: ['show', 'hide', 'focus', 'blur'],\n data() {\n return {\n id: this.$attrs.id,\n overlayVisible: false,\n focused: false,\n focusedOptionIndex: -1,\n selectedOptionIndex: -1\n };\n },\n watch: {\n '$attrs.id': function (newValue) {\n this.id = newValue || UniqueComponentId();\n }\n },\n target: null,\n outsideClickListener: null,\n scrollHandler: null,\n resizeListener: null,\n container: null,\n list: null,\n mounted() {\n this.id = this.id || UniqueComponentId();\n\n if (!this.popup) {\n this.bindResizeListener();\n this.bindOutsideClickListener();\n }\n },\n beforeUnmount() {\n this.unbindResizeListener();\n this.unbindOutsideClickListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n this.target = null;\n\n if (this.container && this.autoZIndex) {\n ZIndex.clear(this.container);\n }\n\n this.container = null;\n },\n methods: {\n itemClick(event) {\n const item = event.item;\n\n if (this.disabled(item)) {\n return;\n }\n\n if (item.command) {\n item.command(event);\n }\n\n if (this.overlayVisible) this.hide();\n\n if (!this.popup && this.focusedOptionIndex !== event.id) {\n this.focusedOptionIndex = event.id;\n }\n },\n itemMouseMove(event) {\n if (this.focused) {\n this.focusedOptionIndex = event.id;\n }\n },\n onListFocus(event) {\n this.focused = true;\n !this.popup && this.changeFocusedOptionIndex(0);\n\n this.$emit('focus', event);\n },\n onListBlur(event) {\n this.focused = false;\n this.focusedOptionIndex = -1;\n this.$emit('blur', event);\n },\n onListKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Space':\n this.onSpaceKey(event);\n break;\n\n case 'Escape':\n if (this.popup) {\n focus(this.target);\n this.hide();\n }\n\n case 'Tab':\n this.overlayVisible && this.hide();\n break;\n\n default:\n break;\n }\n },\n onArrowDownKey(event) {\n const optionIndex = this.findNextOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n event.preventDefault();\n },\n onArrowUpKey(event) {\n if (event.altKey && this.popup) {\n focus(this.target);\n this.hide();\n event.preventDefault();\n } else {\n const optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n event.preventDefault();\n }\n },\n onHomeKey(event) {\n this.changeFocusedOptionIndex(0);\n event.preventDefault();\n },\n onEndKey(event) {\n this.changeFocusedOptionIndex(find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]').length - 1);\n event.preventDefault();\n },\n onEnterKey(event) {\n const element = findSingle(this.list, `li[id=\"${`${this.focusedOptionIndex}`}\"]`);\n const anchorElement = element && findSingle(element, 'a[data-pc-section=\"itemlink\"]');\n\n this.popup && focus(this.target);\n anchorElement ? anchorElement.click() : element && element.click();\n\n event.preventDefault();\n },\n onSpaceKey(event) {\n this.onEnterKey(event);\n },\n findNextOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n const matchedOptionIndex = [...links].findIndex((link) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + 1 : 0;\n },\n findPrevOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n const matchedOptionIndex = [...links].findIndex((link) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex - 1 : 0;\n },\n changeFocusedOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n let order = index >= links.length ? links.length - 1 : index < 0 ? 0 : index;\n\n order > -1 && (this.focusedOptionIndex = links[order].getAttribute('id'));\n },\n toggle(event) {\n if (this.overlayVisible) this.hide();\n else this.show(event);\n },\n show(event) {\n this.overlayVisible = true;\n this.target = event.currentTarget;\n },\n hide() {\n this.overlayVisible = false;\n this.target = null;\n },\n onEnter(el) {\n addStyle(el, { position: 'absolute', top: '0', left: '0' });\n this.alignOverlay();\n this.bindOutsideClickListener();\n this.bindResizeListener();\n this.bindScrollListener();\n\n if (this.autoZIndex) {\n ZIndex.set('menu', el, this.baseZIndex + this.$primevue.config.zIndex.menu);\n }\n\n if (this.popup) {\n focus(this.list);\n }\n\n this.$emit('show');\n },\n onLeave() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n this.unbindScrollListener();\n this.$emit('hide');\n },\n onAfterLeave(el) {\n if (this.autoZIndex) {\n ZIndex.clear(el);\n }\n },\n alignOverlay() {\n absolutePosition(this.container, this.target);\n const targetWidth = getOuterWidth(this.target);\n\n if (targetWidth > getOuterWidth(this.container)) {\n this.container.style.minWidth = getOuterWidth(this.target) + 'px';\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n const isOutsideContainer = this.container && !this.container.contains(event.target);\n const isOutsideTarget = !(this.target && (this.target === event.target || this.target.contains(event.target)));\n\n if (this.overlayVisible && isOutsideContainer && isOutsideTarget) {\n this.hide();\n } else if (!this.popup && isOutsideContainer && isOutsideTarget) {\n this.focusedOptionIndex = -1;\n }\n };\n\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible && !isTouchDevice()) {\n this.hide();\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n visible(item) {\n return typeof item.visible === 'function' ? item.visible() : item.visible !== false;\n },\n disabled(item) {\n return typeof item.disabled === 'function' ? item.disabled() : item.disabled;\n },\n label(item) {\n return typeof item.label === 'function' ? item.label() : item.label;\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.target\n });\n },\n containerRef(el) {\n this.container = el;\n },\n listRef(el) {\n this.list = el;\n }\n },\n computed: {\n focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : null;\n }\n },\n components: {\n PVMenuitem: Menuitem,\n Portal: Portal\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","popup","type","Boolean","model","Array","appendTo","String","Object","autoZIndex","baseZIndex","Number","tabindex","ariaLabel","ariaLabelledby","style","MenuStyle","provide","$pcMenu","$parentInstance","hostName","inheritAttrs","emits","item","templates","id","focusedOptionId","index","methods","getItemProp","processedItem","resolve","undefined","getPTOptions","key","ptm","context","focused","isItemFocused","disabled","onItemClick","event","command","originalEvent","$emit","onItemMouseMove","visible","label","getMenuItemProps","action","mergeProps","cx","icon","directives","ripple","Ripple","$options","_openBlock","_createElementBlock","_mergeProps","$props","_ctx","role","_createElementVNode","onClick","_cache","$event","onMousemove","_withDirectives","href","url","target","itemicon","_createBlock","_resolveDynamicComponent","BaseMenu","data","$attrs","overlayVisible","focusedOptionIndex","selectedOptionIndex","watch","$attrsId","newValue","UniqueComponentId","outsideClickListener","scrollHandler","resizeListener","container","list","mounted","bindResizeListener","bindOutsideClickListener","beforeUnmount","unbindResizeListener","unbindOutsideClickListener","destroy","ZIndex","clear","itemClick","hide","itemMouseMove","onListFocus","changeFocusedOptionIndex","onListBlur","onListKeyDown","code","onArrowDownKey","onArrowUpKey","onHomeKey","onEndKey","onEnterKey","onSpaceKey","focus","optionIndex","findNextOptionIndex","preventDefault","altKey","findPrevOptionIndex","find","length","element","findSingle","concat","anchorElement","click","links","matchedOptionIndex","_toConsumableArray","findIndex","link","order","getAttribute","toggle","show","currentTarget","onEnter","el","addStyle","position","top","left","alignOverlay","bindScrollListener","set","$primevue","config","zIndex","menu","onLeave","unbindScrollListener","onAfterLeave","absolutePosition","targetWidth","getOuterWidth","minWidth","_this","isOutsideContainer","contains","isOutsideTarget","document","addEventListener","removeEventListener","_this2","ConnectedOverlayScrollHandler","_this3","isTouchDevice","window","onOverlayClick","OverlayEventBus","emit","containerRef","listRef","computed","components","PVMenuitem","Menuitem","Portal","_component_Portal","_createVNode","_Transition","$data","ref","apply","arguments","ptmi","$slots","start","_renderSlot","onFocus","onBlur","onKeydown","_Fragment","_renderList","i","toString","items","separator","submenulabel","_createTextVNode","_toDisplayString","child","j","_component_PVMenuitem","unstyled","onItemMousemove","pt","end"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/menu/BaseMenu.vue","../../src/menu/Menuitem.vue","../../src/menu/Menuitem.vue?vue&type=template&id=e64d2dd2&lang.js","../../src/menu/Menu.vue","../../src/menu/Menu.vue?vue&type=template&id=16dc8f9f&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport MenuStyle from 'primevue/menu/style';\n\nexport default {\n name: 'BaseMenu',\n extends: BaseComponent,\n props: {\n popup: {\n type: Boolean,\n default: false\n },\n model: {\n type: Array,\n default: null\n },\n appendTo: {\n type: [String, Object],\n default: 'body'\n },\n autoZIndex: {\n type: Boolean,\n default: true\n },\n baseZIndex: {\n type: Number,\n default: 0\n },\n tabindex: {\n type: Number,\n default: 0\n },\n ariaLabel: {\n type: String,\n default: null\n },\n ariaLabelledby: {\n type: String,\n default: null\n }\n },\n style: MenuStyle,\n provide() {\n return {\n $pcMenu: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <li\n v-if=\"visible()\"\n :id=\"id\"\n :class=\"[cx('item'), item.class]\"\n role=\"menuitem\"\n :style=\"item.style\"\n :aria-label=\"label()\"\n :aria-disabled=\"disabled()\"\n v-bind=\"getPTOptions('item')\"\n :data-p-focused=\"isItemFocused()\"\n :data-p-disabled=\"disabled() || false\"\n >\n <div :class=\"cx('itemContent')\" @click=\"onItemClick($event)\" @mousemove=\"onItemMouseMove($event)\" v-bind=\"getPTOptions('itemContent')\">\n <template v-if=\"!templates.item\">\n <a v-ripple :href=\"item.url\" :class=\"cx('itemLink')\" :target=\"item.target\" tabindex=\"-1\" v-bind=\"getPTOptions('itemLink')\">\n <component v-if=\"templates.itemicon\" :is=\"templates.itemicon\" :item=\"item\" :class=\"cx('itemIcon')\" />\n <span v-else-if=\"item.icon\" :class=\"[cx('itemIcon'), item.icon]\" v-bind=\"getPTOptions('itemIcon')\" />\n <span :class=\"cx('itemLabel')\" v-bind=\"getPTOptions('itemLabel')\">{{ label() }}</span>\n </a>\n </template>\n <component v-else-if=\"templates.item\" :is=\"templates.item\" :item=\"item\" :label=\"label()\" :props=\"getMenuItemProps(item)\"></component>\n </div>\n </li>\n</template>\n\n<script>\nimport { resolve } from '@primeuix/utils/object';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\n\nexport default {\n name: 'Menuitem',\n hostName: 'Menu',\n extends: BaseComponent,\n inheritAttrs: false,\n emits: ['item-click', 'item-mousemove'],\n props: {\n item: null,\n templates: null,\n id: null,\n focusedOptionId: null,\n index: null\n },\n methods: {\n getItemProp(processedItem, name) {\n return processedItem && processedItem.item ? resolve(processedItem.item[name]) : undefined;\n },\n getPTOptions(key) {\n return this.ptm(key, {\n context: {\n item: this.item,\n index: this.index,\n focused: this.isItemFocused(),\n disabled: this.disabled()\n }\n });\n },\n isItemFocused() {\n return this.focusedOptionId === this.id;\n },\n onItemClick(event) {\n const command = this.getItemProp(this.item, 'command');\n\n command && command({ originalEvent: event, item: this.item.item });\n this.$emit('item-click', { originalEvent: event, item: this.item, id: this.id });\n },\n onItemMouseMove(event) {\n this.$emit('item-mousemove', { originalEvent: event, item: this.item, id: this.id });\n },\n visible() {\n return typeof this.item.visible === 'function' ? this.item.visible() : this.item.visible !== false;\n },\n disabled() {\n return typeof this.item.disabled === 'function' ? this.item.disabled() : this.item.disabled;\n },\n label() {\n return typeof this.item.label === 'function' ? this.item.label() : this.item.label;\n },\n getMenuItemProps(item) {\n return {\n action: mergeProps(\n {\n class: this.cx('itemLink'),\n tabindex: '-1'\n },\n this.getPTOptions('itemLink')\n ),\n icon: mergeProps(\n {\n class: [this.cx('itemIcon'), item.icon]\n },\n this.getPTOptions('itemIcon')\n ),\n label: mergeProps(\n {\n class: this.cx('itemLabel')\n },\n this.getPTOptions('itemLabel')\n )\n };\n }\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <li\n v-if=\"visible()\"\n :id=\"id\"\n :class=\"[cx('item'), item.class]\"\n role=\"menuitem\"\n :style=\"item.style\"\n :aria-label=\"label()\"\n :aria-disabled=\"disabled()\"\n v-bind=\"getPTOptions('item')\"\n :data-p-focused=\"isItemFocused()\"\n :data-p-disabled=\"disabled() || false\"\n >\n <div :class=\"cx('itemContent')\" @click=\"onItemClick($event)\" @mousemove=\"onItemMouseMove($event)\" v-bind=\"getPTOptions('itemContent')\">\n <template v-if=\"!templates.item\">\n <a v-ripple :href=\"item.url\" :class=\"cx('itemLink')\" :target=\"item.target\" tabindex=\"-1\" v-bind=\"getPTOptions('itemLink')\">\n <component v-if=\"templates.itemicon\" :is=\"templates.itemicon\" :item=\"item\" :class=\"cx('itemIcon')\" />\n <span v-else-if=\"item.icon\" :class=\"[cx('itemIcon'), item.icon]\" v-bind=\"getPTOptions('itemIcon')\" />\n <span :class=\"cx('itemLabel')\" v-bind=\"getPTOptions('itemLabel')\">{{ label() }}</span>\n </a>\n </template>\n <component v-else-if=\"templates.item\" :is=\"templates.item\" :item=\"item\" :label=\"label()\" :props=\"getMenuItemProps(item)\"></component>\n </div>\n </li>\n</template>\n\n<script>\nimport { resolve } from '@primeuix/utils/object';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\n\nexport default {\n name: 'Menuitem',\n hostName: 'Menu',\n extends: BaseComponent,\n inheritAttrs: false,\n emits: ['item-click', 'item-mousemove'],\n props: {\n item: null,\n templates: null,\n id: null,\n focusedOptionId: null,\n index: null\n },\n methods: {\n getItemProp(processedItem, name) {\n return processedItem && processedItem.item ? resolve(processedItem.item[name]) : undefined;\n },\n getPTOptions(key) {\n return this.ptm(key, {\n context: {\n item: this.item,\n index: this.index,\n focused: this.isItemFocused(),\n disabled: this.disabled()\n }\n });\n },\n isItemFocused() {\n return this.focusedOptionId === this.id;\n },\n onItemClick(event) {\n const command = this.getItemProp(this.item, 'command');\n\n command && command({ originalEvent: event, item: this.item.item });\n this.$emit('item-click', { originalEvent: event, item: this.item, id: this.id });\n },\n onItemMouseMove(event) {\n this.$emit('item-mousemove', { originalEvent: event, item: this.item, id: this.id });\n },\n visible() {\n return typeof this.item.visible === 'function' ? this.item.visible() : this.item.visible !== false;\n },\n disabled() {\n return typeof this.item.disabled === 'function' ? this.item.disabled() : this.item.disabled;\n },\n label() {\n return typeof this.item.label === 'function' ? this.item.label() : this.item.label;\n },\n getMenuItemProps(item) {\n return {\n action: mergeProps(\n {\n class: this.cx('itemLink'),\n tabindex: '-1'\n },\n this.getPTOptions('itemLink')\n ),\n icon: mergeProps(\n {\n class: [this.cx('itemIcon'), item.icon]\n },\n this.getPTOptions('itemIcon')\n ),\n label: mergeProps(\n {\n class: this.cx('itemLabel')\n },\n this.getPTOptions('itemLabel')\n )\n };\n }\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <Portal :appendTo=\"appendTo\" :disabled=\"!popup\">\n <transition name=\"p-connected-overlay\" @enter=\"onEnter\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"popup ? overlayVisible : true\" :ref=\"containerRef\" :id=\"$id\" :class=\"cx('root')\" @click=\"onOverlayClick\" v-bind=\"ptmi('root')\">\n <div v-if=\"$slots.start\" :class=\"cx('start')\" v-bind=\"ptm('start')\">\n <slot name=\"start\"></slot>\n </div>\n <ul\n :ref=\"listRef\"\n :id=\"$id + '_list'\"\n :class=\"cx('list')\"\n role=\"menu\"\n :tabindex=\"tabindex\"\n :aria-activedescendant=\"focused ? focusedOptionId : undefined\"\n :aria-label=\"ariaLabel\"\n :aria-labelledby=\"ariaLabelledby\"\n @focus=\"onListFocus\"\n @blur=\"onListBlur\"\n @keydown=\"onListKeyDown\"\n v-bind=\"ptm('list')\"\n >\n <template v-for=\"(item, i) of model\" :key=\"label(item) + i.toString()\">\n <template v-if=\"item.items && visible(item) && !item.separator\">\n <li v-if=\"item.items\" :id=\"$id + '_' + i\" :class=\"[cx('submenuLabel'), item.class]\" role=\"none\" v-bind=\"ptm('submenuLabel')\">\n <!--TODO: submenuheader deprecated since v4.0. Use submenulabel-->\n <slot :name=\"$slots.submenulabel ? 'submenulabel' : 'submenuheader'\" :item=\"item\">{{ label(item) }}</slot>\n </li>\n <template v-for=\"(child, j) of item.items\" :key=\"child.label + i + '_' + j\">\n <PVMenuitem\n v-if=\"visible(child) && !child.separator\"\n :id=\"$id + '_' + i + '_' + j\"\n :item=\"child\"\n :templates=\"$slots\"\n :focusedOptionId=\"focusedOptionId\"\n :unstyled=\"unstyled\"\n @item-click=\"itemClick\"\n @item-mousemove=\"itemMouseMove\"\n :pt=\"pt\"\n />\n <li v-else-if=\"visible(child) && child.separator\" :key=\"'separator' + i + j\" :class=\"[cx('separator'), item.class]\" :style=\"child.style\" role=\"separator\" v-bind=\"ptm('separator')\"></li>\n </template>\n </template>\n <li v-else-if=\"visible(item) && item.separator\" :key=\"'separator' + i.toString()\" :class=\"[cx('separator'), item.class]\" :style=\"item.style\" role=\"separator\" v-bind=\"ptm('separator')\"></li>\n <PVMenuitem\n v-else\n :key=\"label(item) + i.toString()\"\n :id=\"$id + '_' + i\"\n :item=\"item\"\n :index=\"i\"\n :templates=\"$slots\"\n :focusedOptionId=\"focusedOptionId\"\n :unstyled=\"unstyled\"\n @item-click=\"itemClick\"\n @item-mousemove=\"itemMouseMove\"\n :pt=\"pt\"\n />\n </template>\n </ul>\n <div v-if=\"$slots.end\" :class=\"cx('end')\" v-bind=\"ptm('end')\">\n <slot name=\"end\"></slot>\n </div>\n </div>\n </transition>\n </Portal>\n</template>\n\n<script>\nimport { absolutePosition, addStyle, find, findSingle, focus, getOuterWidth, isTouchDevice } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport BaseMenu from './BaseMenu.vue';\nimport Menuitem from './Menuitem.vue';\n\nexport default {\n name: 'Menu',\n extends: BaseMenu,\n inheritAttrs: false,\n emits: ['show', 'hide', 'focus', 'blur'],\n data() {\n return {\n overlayVisible: false,\n focused: false,\n focusedOptionIndex: -1,\n selectedOptionIndex: -1\n };\n },\n target: null,\n outsideClickListener: null,\n scrollHandler: null,\n resizeListener: null,\n container: null,\n list: null,\n mounted() {\n if (!this.popup) {\n this.bindResizeListener();\n this.bindOutsideClickListener();\n }\n },\n beforeUnmount() {\n this.unbindResizeListener();\n this.unbindOutsideClickListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n this.target = null;\n\n if (this.container && this.autoZIndex) {\n ZIndex.clear(this.container);\n }\n\n this.container = null;\n },\n methods: {\n itemClick(event) {\n const item = event.item;\n\n if (this.disabled(item)) {\n return;\n }\n\n if (item.command) {\n item.command(event);\n }\n\n if (this.overlayVisible) this.hide();\n\n if (!this.popup && this.focusedOptionIndex !== event.id) {\n this.focusedOptionIndex = event.id;\n }\n },\n itemMouseMove(event) {\n if (this.focused) {\n this.focusedOptionIndex = event.id;\n }\n },\n onListFocus(event) {\n this.focused = true;\n !this.popup && this.changeFocusedOptionIndex(0);\n\n this.$emit('focus', event);\n },\n onListBlur(event) {\n this.focused = false;\n this.focusedOptionIndex = -1;\n this.$emit('blur', event);\n },\n onListKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Space':\n this.onSpaceKey(event);\n break;\n\n case 'Escape':\n if (this.popup) {\n focus(this.target);\n this.hide();\n }\n\n case 'Tab':\n this.overlayVisible && this.hide();\n break;\n\n default:\n break;\n }\n },\n onArrowDownKey(event) {\n const optionIndex = this.findNextOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n event.preventDefault();\n },\n onArrowUpKey(event) {\n if (event.altKey && this.popup) {\n focus(this.target);\n this.hide();\n event.preventDefault();\n } else {\n const optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n event.preventDefault();\n }\n },\n onHomeKey(event) {\n this.changeFocusedOptionIndex(0);\n event.preventDefault();\n },\n onEndKey(event) {\n this.changeFocusedOptionIndex(find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]').length - 1);\n event.preventDefault();\n },\n onEnterKey(event) {\n const element = findSingle(this.list, `li[id=\"${`${this.focusedOptionIndex}`}\"]`);\n const anchorElement = element && findSingle(element, 'a[data-pc-section=\"itemlink\"]');\n\n this.popup && focus(this.target);\n anchorElement ? anchorElement.click() : element && element.click();\n\n event.preventDefault();\n },\n onSpaceKey(event) {\n this.onEnterKey(event);\n },\n findNextOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n const matchedOptionIndex = [...links].findIndex((link) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + 1 : 0;\n },\n findPrevOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n const matchedOptionIndex = [...links].findIndex((link) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex - 1 : 0;\n },\n changeFocusedOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n let order = index >= links.length ? links.length - 1 : index < 0 ? 0 : index;\n\n order > -1 && (this.focusedOptionIndex = links[order].getAttribute('id'));\n },\n toggle(event) {\n if (this.overlayVisible) this.hide();\n else this.show(event);\n },\n show(event) {\n this.overlayVisible = true;\n this.target = event.currentTarget;\n },\n hide() {\n this.overlayVisible = false;\n this.target = null;\n },\n onEnter(el) {\n addStyle(el, { position: 'absolute', top: '0', left: '0' });\n this.alignOverlay();\n this.bindOutsideClickListener();\n this.bindResizeListener();\n this.bindScrollListener();\n\n if (this.autoZIndex) {\n ZIndex.set('menu', el, this.baseZIndex + this.$primevue.config.zIndex.menu);\n }\n\n if (this.popup) {\n focus(this.list);\n }\n\n this.$emit('show');\n },\n onLeave() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n this.unbindScrollListener();\n this.$emit('hide');\n },\n onAfterLeave(el) {\n if (this.autoZIndex) {\n ZIndex.clear(el);\n }\n },\n alignOverlay() {\n absolutePosition(this.container, this.target);\n const targetWidth = getOuterWidth(this.target);\n\n if (targetWidth > getOuterWidth(this.container)) {\n this.container.style.minWidth = getOuterWidth(this.target) + 'px';\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n const isOutsideContainer = this.container && !this.container.contains(event.target);\n const isOutsideTarget = !(this.target && (this.target === event.target || this.target.contains(event.target)));\n\n if (this.overlayVisible && isOutsideContainer && isOutsideTarget) {\n this.hide();\n } else if (!this.popup && isOutsideContainer && isOutsideTarget) {\n this.focusedOptionIndex = -1;\n }\n };\n\n document.addEventListener('click', this.outsideClickListener, true);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener, true);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible && !isTouchDevice()) {\n this.hide();\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n visible(item) {\n return typeof item.visible === 'function' ? item.visible() : item.visible !== false;\n },\n disabled(item) {\n return typeof item.disabled === 'function' ? item.disabled() : item.disabled;\n },\n label(item) {\n return typeof item.label === 'function' ? item.label() : item.label;\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.target\n });\n },\n containerRef(el) {\n this.container = el;\n },\n listRef(el) {\n this.list = el;\n }\n },\n computed: {\n focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : null;\n }\n },\n components: {\n PVMenuitem: Menuitem,\n Portal: Portal\n }\n};\n</script>\n","<template>\n <Portal :appendTo=\"appendTo\" :disabled=\"!popup\">\n <transition name=\"p-connected-overlay\" @enter=\"onEnter\" @leave=\"onLeave\" @after-leave=\"onAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"popup ? overlayVisible : true\" :ref=\"containerRef\" :id=\"$id\" :class=\"cx('root')\" @click=\"onOverlayClick\" v-bind=\"ptmi('root')\">\n <div v-if=\"$slots.start\" :class=\"cx('start')\" v-bind=\"ptm('start')\">\n <slot name=\"start\"></slot>\n </div>\n <ul\n :ref=\"listRef\"\n :id=\"$id + '_list'\"\n :class=\"cx('list')\"\n role=\"menu\"\n :tabindex=\"tabindex\"\n :aria-activedescendant=\"focused ? focusedOptionId : undefined\"\n :aria-label=\"ariaLabel\"\n :aria-labelledby=\"ariaLabelledby\"\n @focus=\"onListFocus\"\n @blur=\"onListBlur\"\n @keydown=\"onListKeyDown\"\n v-bind=\"ptm('list')\"\n >\n <template v-for=\"(item, i) of model\" :key=\"label(item) + i.toString()\">\n <template v-if=\"item.items && visible(item) && !item.separator\">\n <li v-if=\"item.items\" :id=\"$id + '_' + i\" :class=\"[cx('submenuLabel'), item.class]\" role=\"none\" v-bind=\"ptm('submenuLabel')\">\n <!--TODO: submenuheader deprecated since v4.0. Use submenulabel-->\n <slot :name=\"$slots.submenulabel ? 'submenulabel' : 'submenuheader'\" :item=\"item\">{{ label(item) }}</slot>\n </li>\n <template v-for=\"(child, j) of item.items\" :key=\"child.label + i + '_' + j\">\n <PVMenuitem\n v-if=\"visible(child) && !child.separator\"\n :id=\"$id + '_' + i + '_' + j\"\n :item=\"child\"\n :templates=\"$slots\"\n :focusedOptionId=\"focusedOptionId\"\n :unstyled=\"unstyled\"\n @item-click=\"itemClick\"\n @item-mousemove=\"itemMouseMove\"\n :pt=\"pt\"\n />\n <li v-else-if=\"visible(child) && child.separator\" :key=\"'separator' + i + j\" :class=\"[cx('separator'), item.class]\" :style=\"child.style\" role=\"separator\" v-bind=\"ptm('separator')\"></li>\n </template>\n </template>\n <li v-else-if=\"visible(item) && item.separator\" :key=\"'separator' + i.toString()\" :class=\"[cx('separator'), item.class]\" :style=\"item.style\" role=\"separator\" v-bind=\"ptm('separator')\"></li>\n <PVMenuitem\n v-else\n :key=\"label(item) + i.toString()\"\n :id=\"$id + '_' + i\"\n :item=\"item\"\n :index=\"i\"\n :templates=\"$slots\"\n :focusedOptionId=\"focusedOptionId\"\n :unstyled=\"unstyled\"\n @item-click=\"itemClick\"\n @item-mousemove=\"itemMouseMove\"\n :pt=\"pt\"\n />\n </template>\n </ul>\n <div v-if=\"$slots.end\" :class=\"cx('end')\" v-bind=\"ptm('end')\">\n <slot name=\"end\"></slot>\n </div>\n </div>\n </transition>\n </Portal>\n</template>\n\n<script>\nimport { absolutePosition, addStyle, find, findSingle, focus, getOuterWidth, isTouchDevice } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport BaseMenu from './BaseMenu.vue';\nimport Menuitem from './Menuitem.vue';\n\nexport default {\n name: 'Menu',\n extends: BaseMenu,\n inheritAttrs: false,\n emits: ['show', 'hide', 'focus', 'blur'],\n data() {\n return {\n overlayVisible: false,\n focused: false,\n focusedOptionIndex: -1,\n selectedOptionIndex: -1\n };\n },\n target: null,\n outsideClickListener: null,\n scrollHandler: null,\n resizeListener: null,\n container: null,\n list: null,\n mounted() {\n if (!this.popup) {\n this.bindResizeListener();\n this.bindOutsideClickListener();\n }\n },\n beforeUnmount() {\n this.unbindResizeListener();\n this.unbindOutsideClickListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n this.target = null;\n\n if (this.container && this.autoZIndex) {\n ZIndex.clear(this.container);\n }\n\n this.container = null;\n },\n methods: {\n itemClick(event) {\n const item = event.item;\n\n if (this.disabled(item)) {\n return;\n }\n\n if (item.command) {\n item.command(event);\n }\n\n if (this.overlayVisible) this.hide();\n\n if (!this.popup && this.focusedOptionIndex !== event.id) {\n this.focusedOptionIndex = event.id;\n }\n },\n itemMouseMove(event) {\n if (this.focused) {\n this.focusedOptionIndex = event.id;\n }\n },\n onListFocus(event) {\n this.focused = true;\n !this.popup && this.changeFocusedOptionIndex(0);\n\n this.$emit('focus', event);\n },\n onListBlur(event) {\n this.focused = false;\n this.focusedOptionIndex = -1;\n this.$emit('blur', event);\n },\n onListKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Space':\n this.onSpaceKey(event);\n break;\n\n case 'Escape':\n if (this.popup) {\n focus(this.target);\n this.hide();\n }\n\n case 'Tab':\n this.overlayVisible && this.hide();\n break;\n\n default:\n break;\n }\n },\n onArrowDownKey(event) {\n const optionIndex = this.findNextOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n event.preventDefault();\n },\n onArrowUpKey(event) {\n if (event.altKey && this.popup) {\n focus(this.target);\n this.hide();\n event.preventDefault();\n } else {\n const optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n event.preventDefault();\n }\n },\n onHomeKey(event) {\n this.changeFocusedOptionIndex(0);\n event.preventDefault();\n },\n onEndKey(event) {\n this.changeFocusedOptionIndex(find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]').length - 1);\n event.preventDefault();\n },\n onEnterKey(event) {\n const element = findSingle(this.list, `li[id=\"${`${this.focusedOptionIndex}`}\"]`);\n const anchorElement = element && findSingle(element, 'a[data-pc-section=\"itemlink\"]');\n\n this.popup && focus(this.target);\n anchorElement ? anchorElement.click() : element && element.click();\n\n event.preventDefault();\n },\n onSpaceKey(event) {\n this.onEnterKey(event);\n },\n findNextOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n const matchedOptionIndex = [...links].findIndex((link) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + 1 : 0;\n },\n findPrevOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n const matchedOptionIndex = [...links].findIndex((link) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex - 1 : 0;\n },\n changeFocusedOptionIndex(index) {\n const links = find(this.container, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n let order = index >= links.length ? links.length - 1 : index < 0 ? 0 : index;\n\n order > -1 && (this.focusedOptionIndex = links[order].getAttribute('id'));\n },\n toggle(event) {\n if (this.overlayVisible) this.hide();\n else this.show(event);\n },\n show(event) {\n this.overlayVisible = true;\n this.target = event.currentTarget;\n },\n hide() {\n this.overlayVisible = false;\n this.target = null;\n },\n onEnter(el) {\n addStyle(el, { position: 'absolute', top: '0', left: '0' });\n this.alignOverlay();\n this.bindOutsideClickListener();\n this.bindResizeListener();\n this.bindScrollListener();\n\n if (this.autoZIndex) {\n ZIndex.set('menu', el, this.baseZIndex + this.$primevue.config.zIndex.menu);\n }\n\n if (this.popup) {\n focus(this.list);\n }\n\n this.$emit('show');\n },\n onLeave() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n this.unbindScrollListener();\n this.$emit('hide');\n },\n onAfterLeave(el) {\n if (this.autoZIndex) {\n ZIndex.clear(el);\n }\n },\n alignOverlay() {\n absolutePosition(this.container, this.target);\n const targetWidth = getOuterWidth(this.target);\n\n if (targetWidth > getOuterWidth(this.container)) {\n this.container.style.minWidth = getOuterWidth(this.target) + 'px';\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n const isOutsideContainer = this.container && !this.container.contains(event.target);\n const isOutsideTarget = !(this.target && (this.target === event.target || this.target.contains(event.target)));\n\n if (this.overlayVisible && isOutsideContainer && isOutsideTarget) {\n this.hide();\n } else if (!this.popup && isOutsideContainer && isOutsideTarget) {\n this.focusedOptionIndex = -1;\n }\n };\n\n document.addEventListener('click', this.outsideClickListener, true);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener, true);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible && !isTouchDevice()) {\n this.hide();\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n visible(item) {\n return typeof item.visible === 'function' ? item.visible() : item.visible !== false;\n },\n disabled(item) {\n return typeof item.disabled === 'function' ? item.disabled() : item.disabled;\n },\n label(item) {\n return typeof item.label === 'function' ? item.label() : item.label;\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.target\n });\n },\n containerRef(el) {\n this.container = el;\n },\n listRef(el) {\n this.list = el;\n }\n },\n computed: {\n focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : null;\n }\n },\n components: {\n PVMenuitem: Menuitem,\n Portal: Portal\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","popup","type","Boolean","model","Array","appendTo","String","Object","autoZIndex","baseZIndex","Number","tabindex","ariaLabel","ariaLabelledby","style","MenuStyle","provide","$pcMenu","$parentInstance","hostName","inheritAttrs","emits","item","templates","id","focusedOptionId","index","methods","getItemProp","processedItem","resolve","undefined","getPTOptions","key","ptm","context","focused","isItemFocused","disabled","onItemClick","event","command","originalEvent","$emit","onItemMouseMove","visible","label","getMenuItemProps","action","mergeProps","cx","icon","directives","ripple","Ripple","$options","_openBlock","_createElementBlock","_mergeProps","$props","_ctx","role","_createElementVNode","onClick","_cache","$event","onMousemove","_withDirectives","href","url","target","itemicon","_createBlock","_resolveDynamicComponent","BaseMenu","data","overlayVisible","focusedOptionIndex","selectedOptionIndex","outsideClickListener","scrollHandler","resizeListener","container","list","mounted","bindResizeListener","bindOutsideClickListener","beforeUnmount","unbindResizeListener","unbindOutsideClickListener","destroy","ZIndex","clear","itemClick","hide","itemMouseMove","onListFocus","changeFocusedOptionIndex","onListBlur","onListKeyDown","code","onArrowDownKey","onArrowUpKey","onHomeKey","onEndKey","onEnterKey","onSpaceKey","focus","optionIndex","findNextOptionIndex","preventDefault","altKey","findPrevOptionIndex","find","length","element","findSingle","concat","anchorElement","click","links","matchedOptionIndex","_toConsumableArray","findIndex","link","order","getAttribute","toggle","show","currentTarget","onEnter","el","addStyle","position","top","left","alignOverlay","bindScrollListener","set","$primevue","config","zIndex","menu","onLeave","unbindScrollListener","onAfterLeave","absolutePosition","targetWidth","getOuterWidth","minWidth","_this","isOutsideContainer","contains","isOutsideTarget","document","addEventListener","removeEventListener","_this2","ConnectedOverlayScrollHandler","_this3","isTouchDevice","window","onOverlayClick","OverlayEventBus","emit","containerRef","listRef","computed","components","PVMenuitem","Menuitem","Portal","_component_Portal","_createVNode","_Transition","$data","ref","$id","apply","arguments","ptmi","$slots","start","_renderSlot","onFocus","onBlur","onKeydown","_Fragment","_renderList","i","toString","items","separator","submenulabel","_createTextVNode","_toDisplayString","child","j","_component_PVMenuitem","unstyled","onItemMousemove","pt","end"],"mappings":"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"}
@@ -1,12 +1,9 @@
1
+ import { style } from '@primeuix/styles/menu';
1
2
  import BaseStyle from '@primevue/core/base/style';
2
3
 
3
- var theme = function theme(_ref) {
4
- var dt = _ref.dt;
5
- return "\n.p-menu {\n background: ".concat(dt('menu.background'), ";\n color: ").concat(dt('menu.color'), ";\n border: 1px solid ").concat(dt('menu.border.color'), ";\n border-radius: ").concat(dt('menu.border.radius'), ";\n min-width: 12.5rem;\n}\n\n.p-menu-list {\n margin: 0;\n padding: ").concat(dt('menu.list.padding'), ";\n outline: 0 none;\n list-style: none;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt('menu.list.gap'), ";\n}\n\n.p-menu-item-content {\n transition: background ").concat(dt('menu.transition.duration'), ", color ").concat(dt('menu.transition.duration'), ";\n border-radius: ").concat(dt('menu.item.border.radius'), ";\n color: ").concat(dt('menu.item.color'), ";\n}\n\n.p-menu-item-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n color: inherit;\n padding: ").concat(dt('menu.item.padding'), ";\n gap: ").concat(dt('menu.item.gap'), ";\n user-select: none;\n outline: 0 none;\n}\n\n.p-menu-item-label {\n line-height: 1;\n}\n\n.p-menu-item-icon {\n color: ").concat(dt('menu.item.icon.color'), ";\n}\n\n.p-menu-item.p-focus .p-menu-item-content {\n color: ").concat(dt('menu.item.focus.color'), ";\n background: ").concat(dt('menu.item.focus.background'), ";\n}\n\n.p-menu-item.p-focus .p-menu-item-icon {\n color: ").concat(dt('menu.item.icon.focus.color'), ";\n}\n\n.p-menu-item:not(.p-disabled) .p-menu-item-content:hover {\n color: ").concat(dt('menu.item.focus.color'), ";\n background: ").concat(dt('menu.item.focus.background'), ";\n}\n\n.p-menu-item:not(.p-disabled) .p-menu-item-content:hover .p-menu-item-icon {\n color: ").concat(dt('menu.item.icon.focus.color'), ";\n}\n\n.p-menu-overlay {\n box-shadow: ").concat(dt('menu.shadow'), ";\n}\n\n.p-menu-submenu-label {\n background: ").concat(dt('menu.submenu.label.background'), ";\n padding: ").concat(dt('menu.submenu.label.padding'), ";\n color: ").concat(dt('menu.submenu.label.color'), ";\n font-weight: ").concat(dt('menu.submenu.label.font.weight'), ";\n}\n\n.p-menu-separator {\n border-block-start: 1px solid ").concat(dt('menu.separator.border.color'), ";\n}\n");
6
- };
7
4
  var classes = {
8
- root: function root(_ref2) {
9
- var props = _ref2.props;
5
+ root: function root(_ref) {
6
+ var props = _ref.props;
10
7
  return ['p-menu p-component', {
11
8
  'p-menu-overlay': props.popup
12
9
  }];
@@ -16,8 +13,8 @@ var classes = {
16
13
  submenuLabel: 'p-menu-submenu-label',
17
14
  separator: 'p-menu-separator',
18
15
  end: 'p-menu-end',
19
- item: function item(_ref3) {
20
- var instance = _ref3.instance;
16
+ item: function item(_ref2) {
17
+ var instance = _ref2.instance;
21
18
  return ['p-menu-item', {
22
19
  'p-focus': instance.id === instance.focusedOptionId,
23
20
  'p-disabled': instance.disabled()
@@ -30,7 +27,7 @@ var classes = {
30
27
  };
31
28
  var MenuStyle = BaseStyle.extend({
32
29
  name: 'menu',
33
- theme: theme,
30
+ style: style,
34
31
  classes: classes
35
32
  });
36
33
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/menu/style/MenuStyle.js"],"sourcesContent":["import BaseStyle from '@primevue/core/base/style';\n\nconst theme = ({ dt }) => `\n.p-menu {\n background: ${dt('menu.background')};\n color: ${dt('menu.color')};\n border: 1px solid ${dt('menu.border.color')};\n border-radius: ${dt('menu.border.radius')};\n min-width: 12.5rem;\n}\n\n.p-menu-list {\n margin: 0;\n padding: ${dt('menu.list.padding')};\n outline: 0 none;\n list-style: none;\n display: flex;\n flex-direction: column;\n gap: ${dt('menu.list.gap')};\n}\n\n.p-menu-item-content {\n transition: background ${dt('menu.transition.duration')}, color ${dt('menu.transition.duration')};\n border-radius: ${dt('menu.item.border.radius')};\n color: ${dt('menu.item.color')};\n}\n\n.p-menu-item-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n color: inherit;\n padding: ${dt('menu.item.padding')};\n gap: ${dt('menu.item.gap')};\n user-select: none;\n outline: 0 none;\n}\n\n.p-menu-item-label {\n line-height: 1;\n}\n\n.p-menu-item-icon {\n color: ${dt('menu.item.icon.color')};\n}\n\n.p-menu-item.p-focus .p-menu-item-content {\n color: ${dt('menu.item.focus.color')};\n background: ${dt('menu.item.focus.background')};\n}\n\n.p-menu-item.p-focus .p-menu-item-icon {\n color: ${dt('menu.item.icon.focus.color')};\n}\n\n.p-menu-item:not(.p-disabled) .p-menu-item-content:hover {\n color: ${dt('menu.item.focus.color')};\n background: ${dt('menu.item.focus.background')};\n}\n\n.p-menu-item:not(.p-disabled) .p-menu-item-content:hover .p-menu-item-icon {\n color: ${dt('menu.item.icon.focus.color')};\n}\n\n.p-menu-overlay {\n box-shadow: ${dt('menu.shadow')};\n}\n\n.p-menu-submenu-label {\n background: ${dt('menu.submenu.label.background')};\n padding: ${dt('menu.submenu.label.padding')};\n color: ${dt('menu.submenu.label.color')};\n font-weight: ${dt('menu.submenu.label.font.weight')};\n}\n\n.p-menu-separator {\n border-block-start: 1px solid ${dt('menu.separator.border.color')};\n}\n`;\n\nconst classes = {\n root: ({ props }) => [\n 'p-menu p-component',\n {\n 'p-menu-overlay': props.popup\n }\n ],\n start: 'p-menu-start',\n list: 'p-menu-list',\n submenuLabel: 'p-menu-submenu-label',\n separator: 'p-menu-separator',\n end: 'p-menu-end',\n item: ({ instance }) => [\n 'p-menu-item',\n {\n 'p-focus': instance.id === instance.focusedOptionId,\n 'p-disabled': instance.disabled()\n }\n ],\n itemContent: 'p-menu-item-content',\n itemLink: 'p-menu-item-link',\n itemIcon: 'p-menu-item-icon',\n itemLabel: 'p-menu-item-label'\n};\n\nexport default BaseStyle.extend({\n name: 'menu',\n theme,\n classes\n});\n"],"names":["theme","_ref","dt","concat","classes","root","_ref2","props","popup","start","list","submenuLabel","separator","end","item","_ref3","instance","id","focusedOptionId","disabled","itemContent","itemLink","itemIcon","itemLabel","BaseStyle","extend","name"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/menu/style/MenuStyle.js"],"sourcesContent":["import { style } from '@primeuix/styles/menu';\nimport BaseStyle from '@primevue/core/base/style';\n\nconst classes = {\n root: ({ props }) => [\n 'p-menu p-component',\n {\n 'p-menu-overlay': props.popup\n }\n ],\n start: 'p-menu-start',\n list: 'p-menu-list',\n submenuLabel: 'p-menu-submenu-label',\n separator: 'p-menu-separator',\n end: 'p-menu-end',\n item: ({ instance }) => [\n 'p-menu-item',\n {\n 'p-focus': instance.id === instance.focusedOptionId,\n 'p-disabled': instance.disabled()\n }\n ],\n itemContent: 'p-menu-item-content',\n itemLink: 'p-menu-item-link',\n itemIcon: 'p-menu-item-icon',\n itemLabel: 'p-menu-item-label'\n};\n\nexport default BaseStyle.extend({\n name: 'menu',\n style,\n classes\n});\n"],"names":["classes","root","_ref","props","popup","start","list","submenuLabel","separator","end","item","_ref2","instance","id","focusedOptionId","disabled","itemContent","itemLink","itemIcon","itemLabel","BaseStyle","extend","name","style"],"mappings":";;;AAGA,IAAMA,OAAO,GAAG;AACZC,EAAAA,IAAI,EAAE,SAANA,IAAIA,CAAAC,IAAA,EAAA;AAAA,IAAA,IAAKC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAA,OAAO,CACjB,oBAAoB,EACpB;MACI,gBAAgB,EAAEA,KAAK,CAACC;AAC5B,KAAC,CACJ;AAAA,GAAA;AACDC,EAAAA,KAAK,EAAE,cAAc;AACrBC,EAAAA,IAAI,EAAE,aAAa;AACnBC,EAAAA,YAAY,EAAE,sBAAsB;AACpCC,EAAAA,SAAS,EAAE,kBAAkB;AAC7BC,EAAAA,GAAG,EAAE,YAAY;AACjBC,EAAAA,IAAI,EAAE,SAANA,IAAIA,CAAAC,KAAA,EAAA;AAAA,IAAA,IAAKC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IAAA,OAAO,CACpB,aAAa,EACb;AACI,MAAA,SAAS,EAAEA,QAAQ,CAACC,EAAE,KAAKD,QAAQ,CAACE,eAAe;AACnD,MAAA,YAAY,EAAEF,QAAQ,CAACG,QAAQ;AACnC,KAAC,CACJ;AAAA,GAAA;AACDC,EAAAA,WAAW,EAAE,qBAAqB;AAClCC,EAAAA,QAAQ,EAAE,kBAAkB;AAC5BC,EAAAA,QAAQ,EAAE,kBAAkB;AAC5BC,EAAAA,SAAS,EAAE;AACf,CAAC;AAED,gBAAeC,SAAS,CAACC,MAAM,CAAC;AAC5BC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,KAAK,EAALA,KAAK;AACLvB,EAAAA,OAAO,EAAPA;AACJ,CAAC,CAAC;;;;"}
@@ -3,7 +3,7 @@
3
3
  <div v-if="$slots.start" :class="cx('start')" v-bind="ptm('start')">
4
4
  <slot name="start"></slot>
5
5
  </div>
6
- <slot :id="id" :name="$slots.button ? 'button' : 'menubutton'" :class="cx('button')" :toggleCallback="(event) => menuButtonClick(event)">
6
+ <slot :id="$id" :name="$slots.button ? 'button' : 'menubutton'" :class="cx('button')" :toggleCallback="(event) => menuButtonClick(event)">
7
7
  <!-- TODO: menubutton deprecated since v4.0-->
8
8
  <a
9
9
  v-if="model && model.length > 0"
@@ -13,7 +13,7 @@
13
13
  :class="cx('button')"
14
14
  :aria-haspopup="model.length && model.length > 0 ? true : false"
15
15
  :aria-expanded="mobileActive"
16
- :aria-controls="id"
16
+ :aria-controls="$id"
17
17
  :aria-label="$primevue.config.locale.aria?.navigation"
18
18
  @click="menuButtonClick($event)"
19
19
  @keydown="menuButtonKeydown($event)"
@@ -27,7 +27,7 @@
27
27
  </slot>
28
28
  <MenubarSub
29
29
  :ref="menubarRef"
30
- :id="id + '_list'"
30
+ :id="$id + '_list'"
31
31
  role="menubar"
32
32
  :items="processedItems"
33
33
  :templates="$slots"
@@ -35,7 +35,7 @@
35
35
  :mobileActive="mobileActive"
36
36
  tabindex="0"
37
37
  :aria-activedescendant="focused ? focusedItemId : undefined"
38
- :menuId="id"
38
+ :menuId="$id"
39
39
  :focusedItemId="focused ? focusedItemId : undefined"
40
40
  :activeItemPath="activeItemPath"
41
41
  :level="0"
@@ -57,9 +57,8 @@
57
57
  </template>
58
58
 
59
59
  <script>
60
- import { UniqueComponentId } from '@primevue/core/utils';
61
- import { focus, isTouchDevice, findSingle } from '@primeuix/utils/dom';
62
- import { isNotEmpty, resolve, isPrintableCharacter, isEmpty, findLastIndex } from '@primeuix/utils/object';
60
+ import { findSingle, focus, isTouchDevice } from '@primeuix/utils/dom';
61
+ import { findLastIndex, isEmpty, isNotEmpty, isPrintableCharacter, resolve } from '@primeuix/utils/object';
63
62
  import { ZIndex } from '@primeuix/utils/zindex';
64
63
  import BarsIcon from '@primevue/icons/bars';
65
64
  import BaseMenubar from './BaseMenubar.vue';
@@ -73,7 +72,6 @@ export default {
73
72
  matchMediaListener: null,
74
73
  data() {
75
74
  return {
76
- id: this.$attrs.id,
77
75
  mobileActive: false,
78
76
  focused: false,
79
77
  focusedItemInfo: { index: -1, level: 0, parentKey: '' },
@@ -84,9 +82,6 @@ export default {
84
82
  };
85
83
  },
86
84
  watch: {
87
- '$attrs.id': function (newValue) {
88
- this.id = newValue || UniqueComponentId();
89
- },
90
85
  activeItemPath(newPath) {
91
86
  if (isNotEmpty(newPath)) {
92
87
  this.bindOutsideClickListener();
@@ -101,7 +96,6 @@ export default {
101
96
  container: null,
102
97
  menubar: null,
103
98
  mounted() {
104
- this.id = this.id || UniqueComponentId();
105
99
  this.bindMatchMediaListener();
106
100
  },
107
101
  beforeUnmount() {
@@ -457,12 +451,12 @@ export default {
457
451
  }
458
452
  };
459
453
 
460
- document.addEventListener('click', this.outsideClickListener);
454
+ document.addEventListener('click', this.outsideClickListener, true);
461
455
  }
462
456
  },
463
457
  unbindOutsideClickListener() {
464
458
  if (this.outsideClickListener) {
465
- document.removeEventListener('click', this.outsideClickListener);
459
+ document.removeEventListener('click', this.outsideClickListener, true);
466
460
  this.outsideClickListener = null;
467
461
  }
468
462
  },
@@ -590,7 +584,7 @@ export default {
590
584
  }
591
585
  },
592
586
  scrollInView(index = -1) {
593
- const id = index !== -1 ? `${this.id}_${index}` : this.focusedItemId;
587
+ const id = index !== -1 ? `${this.$id}_${index}` : this.focusedItemId;
594
588
  const element = findSingle(this.menubar, `li[id="${id}"]`);
595
589
 
596
590
  if (element) {
@@ -635,7 +629,7 @@ export default {
635
629
  return processedItem ? processedItem.items : this.processedItems;
636
630
  },
637
631
  focusedItemId() {
638
- return this.focusedItemInfo.index !== -1 ? `${this.id}${isNotEmpty(this.focusedItemInfo.parentKey) ? '_' + this.focusedItemInfo.parentKey : ''}_${this.focusedItemInfo.index}` : null;
632
+ return this.focusedItemInfo.index !== -1 ? `${this.$id}${isNotEmpty(this.focusedItemInfo.parentKey) ? '_' + this.focusedItemInfo.parentKey : ''}_${this.focusedItemInfo.index}` : null;
639
633
  }
640
634
  },
641
635
  components: {