primevue 3.27.0 → 3.28.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 (408) hide show
  1. package/README.md +1 -1
  2. package/autocomplete/AutoComplete.d.ts +10 -1
  3. package/autocomplete/AutoComplete.vue +1 -1
  4. package/autocomplete/autocomplete.cjs.js +4 -1
  5. package/autocomplete/autocomplete.cjs.min.js +1 -1
  6. package/autocomplete/autocomplete.esm.js +4 -1
  7. package/autocomplete/autocomplete.esm.min.js +1 -1
  8. package/autocomplete/autocomplete.js +4 -1
  9. package/autocomplete/autocomplete.min.js +1 -1
  10. package/avatar/Avatar.d.ts +44 -0
  11. package/avatar/Avatar.vue +10 -8
  12. package/avatar/avatar.cjs.js +36 -34
  13. package/avatar/avatar.cjs.min.js +1 -1
  14. package/avatar/avatar.esm.js +33 -35
  15. package/avatar/avatar.esm.min.js +1 -1
  16. package/avatar/avatar.js +37 -36
  17. package/avatar/avatar.min.js +1 -1
  18. package/avatargroup/AvatarGroup.d.ts +27 -1
  19. package/avatargroup/AvatarGroup.vue +5 -2
  20. package/avatargroup/avatargroup.cjs.js +9 -5
  21. package/avatargroup/avatargroup.cjs.min.js +1 -1
  22. package/avatargroup/avatargroup.esm.js +6 -6
  23. package/avatargroup/avatargroup.esm.min.js +1 -1
  24. package/avatargroup/avatargroup.js +10 -7
  25. package/avatargroup/avatargroup.min.js +1 -1
  26. package/badge/Badge.d.ts +32 -0
  27. package/badge/Badge.vue +3 -1
  28. package/badge/badge.cjs.js +8 -4
  29. package/badge/badge.cjs.min.js +1 -1
  30. package/badge/badge.esm.js +5 -5
  31. package/badge/badge.esm.min.js +1 -1
  32. package/badge/badge.js +9 -6
  33. package/badge/badge.min.js +1 -1
  34. package/basecomponent/BaseComponent.vue +10 -3
  35. package/basecomponent/basecomponent.cjs.js +10 -3
  36. package/basecomponent/basecomponent.cjs.min.js +1 -1
  37. package/basecomponent/basecomponent.esm.js +10 -3
  38. package/basecomponent/basecomponent.esm.min.js +1 -1
  39. package/basecomponent/basecomponent.js +10 -3
  40. package/basecomponent/basecomponent.min.js +1 -1
  41. package/baseicon/BaseIcon.vue +2 -2
  42. package/baseicon/baseicon.cjs.js +2 -2
  43. package/baseicon/baseicon.cjs.min.js +1 -1
  44. package/baseicon/baseicon.esm.js +2 -2
  45. package/baseicon/baseicon.esm.min.js +1 -1
  46. package/baseicon/baseicon.js +2 -2
  47. package/baseicon/baseicon.min.js +1 -1
  48. package/blockui/BlockUI.d.ts +44 -0
  49. package/blockui/BlockUI.vue +3 -1
  50. package/blockui/blockui.cjs.js +9 -3
  51. package/blockui/blockui.cjs.min.js +1 -1
  52. package/blockui/blockui.esm.js +6 -4
  53. package/blockui/blockui.esm.min.js +1 -1
  54. package/blockui/blockui.js +10 -5
  55. package/blockui/blockui.min.js +1 -1
  56. package/breadcrumb/Breadcrumb.d.ts +60 -0
  57. package/breadcrumb/Breadcrumb.vue +8 -6
  58. package/breadcrumb/BreadcrumbItem.vue +14 -10
  59. package/breadcrumb/breadcrumb.cjs.js +53 -51
  60. package/breadcrumb/breadcrumb.cjs.min.js +1 -1
  61. package/breadcrumb/breadcrumb.esm.js +53 -52
  62. package/breadcrumb/breadcrumb.esm.min.js +1 -1
  63. package/breadcrumb/breadcrumb.js +54 -53
  64. package/breadcrumb/breadcrumb.min.js +1 -1
  65. package/button/Button.d.ts +48 -0
  66. package/button/Button.vue +10 -9
  67. package/button/button.cjs.js +43 -44
  68. package/button/button.cjs.min.js +1 -1
  69. package/button/button.esm.js +43 -45
  70. package/button/button.esm.min.js +1 -1
  71. package/button/button.js +44 -46
  72. package/button/button.min.js +1 -1
  73. package/chart/Chart.d.ts +36 -0
  74. package/chart/Chart.vue +5 -2
  75. package/chart/chart.cjs.js +10 -5
  76. package/chart/chart.cjs.min.js +1 -1
  77. package/chart/chart.esm.js +7 -6
  78. package/chart/chart.esm.min.js +1 -1
  79. package/chart/chart.js +11 -7
  80. package/chart/chart.min.js +1 -1
  81. package/chip/Chip.d.ts +60 -0
  82. package/chip/Chip.vue +10 -9
  83. package/chip/chip.cjs.js +35 -36
  84. package/chip/chip.cjs.min.js +1 -1
  85. package/chip/chip.esm.js +35 -37
  86. package/chip/chip.esm.min.js +1 -1
  87. package/chip/chip.js +36 -38
  88. package/chip/chip.min.js +1 -1
  89. package/config/PrimeVue.d.ts +8 -0
  90. package/config/config.cjs.js +3 -1
  91. package/config/config.cjs.min.js +1 -1
  92. package/config/config.esm.js +3 -2
  93. package/config/config.esm.min.js +1 -1
  94. package/config/config.js +3 -1
  95. package/config/config.min.js +1 -1
  96. package/confirmdialog/ConfirmDialog.d.ts +88 -0
  97. package/confirmdialog/ConfirmDialog.vue +9 -6
  98. package/confirmdialog/confirmdialog.cjs.js +22 -18
  99. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  100. package/confirmdialog/confirmdialog.esm.js +22 -19
  101. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  102. package/confirmdialog/confirmdialog.js +23 -20
  103. package/confirmdialog/confirmdialog.min.js +1 -1
  104. package/confirmpopup/ConfirmPopup.d.ts +75 -0
  105. package/confirmpopup/ConfirmPopup.vue +11 -9
  106. package/confirmpopup/confirmpopup.cjs.js +27 -25
  107. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  108. package/confirmpopup/confirmpopup.esm.js +27 -26
  109. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  110. package/confirmpopup/confirmpopup.js +28 -27
  111. package/confirmpopup/confirmpopup.min.js +1 -1
  112. package/contextmenu/ContextMenu.d.ts +135 -0
  113. package/contextmenu/ContextMenu.vue +4 -1
  114. package/contextmenu/ContextMenuSub.vue +46 -10
  115. package/contextmenu/contextmenu.cjs.js +57 -46
  116. package/contextmenu/contextmenu.cjs.min.js +1 -1
  117. package/contextmenu/contextmenu.esm.js +57 -47
  118. package/contextmenu/contextmenu.esm.min.js +1 -1
  119. package/contextmenu/contextmenu.js +58 -48
  120. package/contextmenu/contextmenu.min.js +1 -1
  121. package/core/core.js +278 -246
  122. package/core/core.min.js +11 -11
  123. package/dialog/Dialog.d.ts +87 -0
  124. package/dialog/Dialog.vue +23 -10
  125. package/dialog/dialog.cjs.js +31 -30
  126. package/dialog/dialog.cjs.min.js +1 -1
  127. package/dialog/dialog.esm.js +31 -31
  128. package/dialog/dialog.esm.min.js +1 -1
  129. package/dialog/dialog.js +32 -32
  130. package/dialog/dialog.min.js +1 -1
  131. package/dock/Dock.d.ts +94 -0
  132. package/dock/Dock.vue +4 -2
  133. package/dock/DockSub.vue +30 -6
  134. package/dock/dock.cjs.js +52 -39
  135. package/dock/dock.cjs.min.js +1 -1
  136. package/dock/dock.esm.js +52 -40
  137. package/dock/dock.esm.min.js +1 -1
  138. package/dock/dock.js +53 -41
  139. package/dock/dock.min.js +1 -1
  140. package/dropdown/Dropdown.vue +1 -1
  141. package/dropdown/dropdown.cjs.js +1 -1
  142. package/dropdown/dropdown.cjs.min.js +1 -1
  143. package/dropdown/dropdown.esm.js +1 -1
  144. package/dropdown/dropdown.esm.min.js +1 -1
  145. package/dropdown/dropdown.js +1 -1
  146. package/dropdown/dropdown.min.js +1 -1
  147. package/dynamicdialog/DynamicDialog.vue +3 -1
  148. package/dynamicdialog/dynamicdialog.cjs.js +5 -1
  149. package/dynamicdialog/dynamicdialog.cjs.min.js +1 -1
  150. package/dynamicdialog/dynamicdialog.esm.js +4 -1
  151. package/dynamicdialog/dynamicdialog.esm.min.js +1 -1
  152. package/dynamicdialog/dynamicdialog.js +6 -3
  153. package/dynamicdialog/dynamicdialog.min.js +1 -1
  154. package/fileupload/FileContent.vue +11 -9
  155. package/fileupload/FileUpload.d.ts +154 -0
  156. package/fileupload/FileUpload.vue +26 -24
  157. package/fileupload/fileupload.cjs.js +100 -97
  158. package/fileupload/fileupload.cjs.min.js +1 -1
  159. package/fileupload/fileupload.esm.js +100 -98
  160. package/fileupload/fileupload.esm.min.js +1 -1
  161. package/fileupload/fileupload.js +101 -99
  162. package/fileupload/fileupload.min.js +1 -1
  163. package/inlinemessage/InlineMessage.d.ts +52 -0
  164. package/inlinemessage/InlineMessage.vue +7 -3
  165. package/inlinemessage/inlinemessage.cjs.js +12 -11
  166. package/inlinemessage/inlinemessage.cjs.min.js +1 -1
  167. package/inlinemessage/inlinemessage.esm.js +12 -12
  168. package/inlinemessage/inlinemessage.esm.min.js +1 -1
  169. package/inlinemessage/inlinemessage.js +13 -13
  170. package/inlinemessage/inlinemessage.min.js +1 -1
  171. package/inplace/Inplace.d.ts +59 -0
  172. package/inplace/Inplace.vue +7 -5
  173. package/inplace/inplace.cjs.js +17 -16
  174. package/inplace/inplace.cjs.min.js +1 -1
  175. package/inplace/inplace.esm.js +17 -17
  176. package/inplace/inplace.esm.min.js +1 -1
  177. package/inplace/inplace.js +18 -18
  178. package/inplace/inplace.min.js +1 -1
  179. package/listbox/Listbox.d.ts +1 -1
  180. package/megamenu/MegaMenu.d.ts +149 -0
  181. package/megamenu/MegaMenu.vue +6 -3
  182. package/megamenu/MegaMenuSub.vue +43 -15
  183. package/megamenu/megamenu.cjs.js +83 -75
  184. package/megamenu/megamenu.cjs.min.js +1 -1
  185. package/megamenu/megamenu.esm.js +83 -76
  186. package/megamenu/megamenu.esm.min.js +1 -1
  187. package/megamenu/megamenu.js +84 -77
  188. package/megamenu/megamenu.min.js +1 -1
  189. package/menu/Menu.d.ts +113 -0
  190. package/menu/Menu.vue +11 -8
  191. package/menu/Menuitem.vue +20 -8
  192. package/menu/menu.cjs.js +73 -62
  193. package/menu/menu.cjs.min.js +1 -1
  194. package/menu/menu.esm.js +73 -63
  195. package/menu/menu.esm.min.js +1 -1
  196. package/menu/menu.js +74 -64
  197. package/menu/menu.min.js +1 -1
  198. package/menubar/Menubar.d.ts +146 -0
  199. package/menubar/Menubar.vue +8 -5
  200. package/menubar/MenubarSub.vue +38 -10
  201. package/menubar/menubar.cjs.js +70 -60
  202. package/menubar/menubar.cjs.min.js +1 -1
  203. package/menubar/menubar.esm.js +70 -61
  204. package/menubar/menubar.esm.min.js +1 -1
  205. package/menubar/menubar.js +71 -62
  206. package/menubar/menubar.min.js +1 -1
  207. package/message/Message.d.ts +64 -1
  208. package/message/Message.vue +9 -7
  209. package/message/message.cjs.js +22 -21
  210. package/message/message.cjs.min.js +1 -1
  211. package/message/message.esm.js +22 -22
  212. package/message/message.esm.min.js +1 -1
  213. package/message/message.js +23 -23
  214. package/message/message.min.js +1 -1
  215. package/multiselect/MultiSelect.d.ts +1 -1
  216. package/overlaypanel/OverlayPanel.d.ts +56 -0
  217. package/overlaypanel/OverlayPanel.vue +6 -4
  218. package/overlaypanel/overlaypanel.cjs.js +13 -10
  219. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  220. package/overlaypanel/overlaypanel.esm.js +13 -11
  221. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  222. package/overlaypanel/overlaypanel.js +14 -12
  223. package/overlaypanel/overlaypanel.min.js +1 -1
  224. package/package.json +1 -1
  225. package/panel/Panel.d.ts +10 -1
  226. package/panel/Panel.vue +1 -1
  227. package/panel/panel.cjs.js +4 -1
  228. package/panel/panel.cjs.min.js +1 -1
  229. package/panel/panel.esm.js +4 -1
  230. package/panel/panel.esm.min.js +1 -1
  231. package/panel/panel.js +4 -1
  232. package/panel/panel.min.js +1 -1
  233. package/panelmenu/PanelMenu.d.ts +133 -0
  234. package/panelmenu/PanelMenu.vue +36 -13
  235. package/panelmenu/PanelMenuList.vue +3 -0
  236. package/panelmenu/PanelMenuSub.vue +33 -12
  237. package/panelmenu/panelmenu.cjs.js +115 -96
  238. package/panelmenu/panelmenu.cjs.min.js +1 -1
  239. package/panelmenu/panelmenu.esm.js +115 -97
  240. package/panelmenu/panelmenu.esm.min.js +1 -1
  241. package/panelmenu/panelmenu.js +116 -98
  242. package/panelmenu/panelmenu.min.js +1 -1
  243. package/password/Password.vue +2 -2
  244. package/password/password.cjs.js +2 -2
  245. package/password/password.cjs.min.js +1 -1
  246. package/password/password.esm.js +2 -2
  247. package/password/password.esm.min.js +1 -1
  248. package/password/password.js +2 -2
  249. package/password/password.min.js +1 -1
  250. package/progressbar/ProgressBar.d.ts +40 -0
  251. package/progressbar/ProgressBar.vue +8 -5
  252. package/progressbar/progressbar.cjs.js +25 -23
  253. package/progressbar/progressbar.cjs.min.js +1 -1
  254. package/progressbar/progressbar.esm.js +22 -24
  255. package/progressbar/progressbar.esm.min.js +1 -1
  256. package/progressbar/progressbar.js +26 -25
  257. package/progressbar/progressbar.min.js +1 -1
  258. package/progressspinner/ProgressSpinner.d.ts +40 -0
  259. package/progressspinner/ProgressSpinner.vue +6 -3
  260. package/progressspinner/progressspinner.cjs.js +18 -13
  261. package/progressspinner/progressspinner.cjs.min.js +1 -1
  262. package/progressspinner/progressspinner.esm.js +15 -14
  263. package/progressspinner/progressspinner.esm.min.js +1 -1
  264. package/progressspinner/progressspinner.js +19 -15
  265. package/progressspinner/progressspinner.min.js +1 -1
  266. package/resources/themes/arya-blue/theme.css +1 -1
  267. package/resources/themes/arya-green/theme.css +1 -1
  268. package/resources/themes/arya-orange/theme.css +1 -1
  269. package/resources/themes/arya-purple/theme.css +1 -1
  270. package/resources/themes/bootstrap4-dark-blue/theme.css +1 -1
  271. package/resources/themes/bootstrap4-dark-purple/theme.css +1 -1
  272. package/resources/themes/bootstrap4-light-blue/theme.css +1 -1
  273. package/resources/themes/bootstrap4-light-purple/theme.css +1 -1
  274. package/resources/themes/fluent-light/theme.css +1 -1
  275. package/resources/themes/lara-dark-blue/theme.css +1 -1
  276. package/resources/themes/lara-dark-indigo/theme.css +1 -1
  277. package/resources/themes/lara-dark-purple/theme.css +1 -1
  278. package/resources/themes/lara-dark-teal/theme.css +1 -1
  279. package/resources/themes/lara-light-blue/theme.css +1 -1
  280. package/resources/themes/lara-light-indigo/theme.css +1 -1
  281. package/resources/themes/lara-light-purple/theme.css +1 -1
  282. package/resources/themes/lara-light-teal/theme.css +1 -1
  283. package/resources/themes/luna-amber/theme.css +1 -1
  284. package/resources/themes/luna-blue/theme.css +1 -1
  285. package/resources/themes/luna-green/theme.css +1 -1
  286. package/resources/themes/luna-pink/theme.css +1 -1
  287. package/resources/themes/md-dark-deeppurple/theme.css +4 -1
  288. package/resources/themes/md-dark-indigo/theme.css +4 -1
  289. package/resources/themes/md-light-deeppurple/theme.css +4 -1
  290. package/resources/themes/md-light-indigo/theme.css +4 -1
  291. package/resources/themes/mdc-dark-deeppurple/theme.css +4 -1
  292. package/resources/themes/mdc-dark-indigo/theme.css +4 -1
  293. package/resources/themes/mdc-light-deeppurple/theme.css +4 -1
  294. package/resources/themes/mdc-light-indigo/theme.css +4 -1
  295. package/resources/themes/mira/theme.css +1 -1
  296. package/resources/themes/nano/theme.css +1 -1
  297. package/resources/themes/nova/theme.css +1 -1
  298. package/resources/themes/nova-accent/theme.css +1 -1
  299. package/resources/themes/nova-alt/theme.css +1 -1
  300. package/resources/themes/nova-vue/theme.css +1 -1
  301. package/resources/themes/rhea/theme.css +1 -1
  302. package/resources/themes/saga-blue/theme.css +1 -1
  303. package/resources/themes/saga-green/theme.css +1 -1
  304. package/resources/themes/saga-orange/theme.css +1 -1
  305. package/resources/themes/saga-purple/theme.css +1 -1
  306. package/resources/themes/soho-dark/theme.css +1 -1
  307. package/resources/themes/soho-light/theme.css +1 -1
  308. package/resources/themes/tailwind-light/theme.css +1 -1
  309. package/resources/themes/vela-blue/theme.css +1 -1
  310. package/resources/themes/vela-green/theme.css +1 -1
  311. package/resources/themes/vela-orange/theme.css +1 -1
  312. package/resources/themes/vela-purple/theme.css +1 -1
  313. package/resources/themes/viva-dark/theme.css +1 -1
  314. package/resources/themes/viva-light/theme.css +1 -1
  315. package/scrolltop/ScrollTop.d.ts +48 -0
  316. package/scrolltop/ScrollTop.vue +5 -2
  317. package/scrolltop/scrolltop.cjs.js +10 -7
  318. package/scrolltop/scrolltop.cjs.min.js +1 -1
  319. package/scrolltop/scrolltop.esm.js +10 -8
  320. package/scrolltop/scrolltop.esm.min.js +1 -1
  321. package/scrolltop/scrolltop.js +11 -9
  322. package/scrolltop/scrolltop.min.js +1 -1
  323. package/sidebar/Sidebar.d.ts +68 -0
  324. package/sidebar/Sidebar.vue +9 -7
  325. package/sidebar/sidebar.cjs.js +26 -24
  326. package/sidebar/sidebar.cjs.min.js +1 -1
  327. package/sidebar/sidebar.esm.js +26 -25
  328. package/sidebar/sidebar.esm.min.js +1 -1
  329. package/sidebar/sidebar.js +27 -26
  330. package/sidebar/sidebar.min.js +1 -1
  331. package/skeleton/Skeleton.d.ts +32 -0
  332. package/skeleton/Skeleton.vue +4 -1
  333. package/skeleton/skeleton.cjs.js +10 -4
  334. package/skeleton/skeleton.cjs.min.js +1 -1
  335. package/skeleton/skeleton.esm.js +7 -5
  336. package/skeleton/skeleton.esm.min.js +1 -1
  337. package/skeleton/skeleton.js +11 -6
  338. package/skeleton/skeleton.min.js +1 -1
  339. package/speeddial/SpeedDial.d.ts +101 -0
  340. package/speeddial/SpeedDial.vue +31 -8
  341. package/speeddial/speeddial.cjs.js +47 -33
  342. package/speeddial/speeddial.cjs.min.js +1 -1
  343. package/speeddial/speeddial.esm.js +47 -34
  344. package/speeddial/speeddial.esm.min.js +1 -1
  345. package/speeddial/speeddial.js +48 -35
  346. package/speeddial/speeddial.min.js +1 -1
  347. package/splitbutton/SplitButton.d.ts +64 -0
  348. package/splitbutton/SplitButton.vue +8 -5
  349. package/splitbutton/splitbutton.cjs.js +23 -18
  350. package/splitbutton/splitbutton.cjs.min.js +1 -1
  351. package/splitbutton/splitbutton.esm.js +23 -19
  352. package/splitbutton/splitbutton.esm.min.js +1 -1
  353. package/splitbutton/splitbutton.js +24 -20
  354. package/splitbutton/splitbutton.min.js +1 -1
  355. package/steps/Steps.d.ts +52 -0
  356. package/steps/Steps.vue +11 -8
  357. package/steps/steps.cjs.js +34 -33
  358. package/steps/steps.cjs.min.js +1 -1
  359. package/steps/steps.esm.js +31 -34
  360. package/steps/steps.esm.min.js +1 -1
  361. package/steps/steps.js +35 -35
  362. package/steps/steps.min.js +1 -1
  363. package/tabmenu/TabMenu.d.ts +79 -0
  364. package/tabmenu/TabMenu.vue +20 -10
  365. package/tabmenu/tabmenu.cjs.js +47 -41
  366. package/tabmenu/tabmenu.cjs.min.js +1 -1
  367. package/tabmenu/tabmenu.esm.js +47 -42
  368. package/tabmenu/tabmenu.esm.min.js +1 -1
  369. package/tabmenu/tabmenu.js +48 -43
  370. package/tabmenu/tabmenu.min.js +1 -1
  371. package/tag/Tag.d.ts +40 -0
  372. package/tag/Tag.vue +7 -4
  373. package/tag/tag.cjs.js +14 -12
  374. package/tag/tag.cjs.min.js +1 -1
  375. package/tag/tag.esm.js +11 -13
  376. package/tag/tag.esm.min.js +1 -1
  377. package/tag/tag.js +15 -14
  378. package/tag/tag.min.js +1 -1
  379. package/terminal/Terminal.d.ts +79 -0
  380. package/terminal/Terminal.vue +12 -10
  381. package/terminal/terminal.cjs.js +23 -28
  382. package/terminal/terminal.cjs.min.js +1 -1
  383. package/terminal/terminal.esm.js +23 -29
  384. package/terminal/terminal.esm.min.js +1 -1
  385. package/terminal/terminal.js +24 -30
  386. package/terminal/terminal.min.js +1 -1
  387. package/tieredmenu/TieredMenu.d.ts +130 -0
  388. package/tieredmenu/TieredMenu.vue +4 -1
  389. package/tieredmenu/TieredMenuSub.vue +39 -11
  390. package/tieredmenu/tieredmenu.cjs.js +53 -41
  391. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  392. package/tieredmenu/tieredmenu.esm.js +53 -42
  393. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  394. package/tieredmenu/tieredmenu.js +54 -43
  395. package/tieredmenu/tieredmenu.min.js +1 -1
  396. package/toast/Toast.d.ts +79 -0
  397. package/toast/Toast.vue +4 -1
  398. package/toast/ToastMessage.vue +12 -10
  399. package/toast/toast.cjs.js +31 -31
  400. package/toast/toast.cjs.min.js +1 -1
  401. package/toast/toast.esm.js +31 -32
  402. package/toast/toast.esm.min.js +1 -1
  403. package/toast/toast.js +32 -33
  404. package/toast/toast.min.js +1 -1
  405. package/treeselect/TreeSelect.d.ts +1 -2
  406. package/vetur-attributes.json +160 -0
  407. package/vetur-tags.json +79 -34
  408. package/web-types.json +404 -2
@@ -1,12 +1,14 @@
1
+ import BaseComponent from 'primevue/basecomponent';
1
2
  import Button from 'primevue/button';
2
3
  import PlusIcon from 'primevue/icons/plus';
3
4
  import Ripple from 'primevue/ripple';
4
5
  import Tooltip from 'primevue/tooltip';
5
6
  import { UniqueComponentId, DomHandler } from 'primevue/utils';
6
- import { resolveComponent, resolveDirective, openBlock, createElementBlock, Fragment, createElementVNode, normalizeClass, normalizeStyle, renderSlot, createVNode, withCtx, createBlock, resolveDynamicComponent, renderList, withDirectives, createCommentVNode } from 'vue';
7
+ import { resolveComponent, resolveDirective, openBlock, createElementBlock, Fragment, createElementVNode, mergeProps, renderSlot, createVNode, normalizeClass, withCtx, createBlock, resolveDynamicComponent, renderList, withDirectives, createCommentVNode } from 'vue';
7
8
 
8
9
  var script = {
9
10
  name: 'SpeedDial',
11
+ extends: BaseComponent,
10
12
  emits: ['click', 'show', 'hide', 'focus', 'blur'],
11
13
  props: {
12
14
  model: null,
@@ -113,6 +115,13 @@ var script = {
113
115
  this.unbindDocumentClickListener();
114
116
  },
115
117
  methods: {
118
+ getPTOptions(id, key) {
119
+ return this.ptm(key, {
120
+ context: {
121
+ active: this.isItemActive(id)
122
+ }
123
+ });
124
+ },
116
125
  onFocus(event) {
117
126
  this.focused = true;
118
127
 
@@ -427,6 +436,9 @@ var script = {
427
436
  isItemVisible(item) {
428
437
  return typeof item.visible === 'function' ? item.visible() : item.visible !== false;
429
438
  },
439
+ isItemActive(id) {
440
+ return id === this.focusedOptionId;
441
+ },
430
442
  containerRef(el) {
431
443
  this.container = el;
432
444
  },
@@ -436,7 +448,7 @@ var script = {
436
448
  itemClass(id) {
437
449
  return [
438
450
  {
439
- 'p-focus': id === this.focusedOptionId
451
+ 'p-focus': this.isItemActive(id)
440
452
  }
441
453
  ];
442
454
  }
@@ -495,11 +507,11 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
495
507
  const _directive_ripple = resolveDirective("ripple");
496
508
 
497
509
  return (openBlock(), createElementBlock(Fragment, null, [
498
- createElementVNode("div", {
510
+ createElementVNode("div", mergeProps({
499
511
  ref: $options.containerRef,
500
- class: normalizeClass($options.containerClass),
501
- style: normalizeStyle($props.style)
502
- }, [
512
+ class: $options.containerClass,
513
+ style: $props.style
514
+ }, _ctx.ptm('root')), [
503
515
  renderSlot(_ctx.$slots, "button", { toggle: $options.onClick }, () => [
504
516
  createVNode(_component_SDButton, {
505
517
  type: "button",
@@ -511,25 +523,26 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
511
523
  "aria-haspopup": true,
512
524
  "aria-controls": $data.id + '_list',
513
525
  "aria-label": _ctx.ariaLabel,
514
- "aria-labelledby": _ctx.ariaLabelledby
526
+ "aria-labelledby": _ctx.ariaLabelledby,
527
+ pt: _ctx.ptm('button')
515
528
  }, {
516
529
  icon: withCtx(() => [
517
530
  renderSlot(_ctx.$slots, "icon", { visible: $data.d_visible }, () => [
518
531
  ($data.d_visible && !!$props.hideIcon)
519
- ? (openBlock(), createBlock(resolveDynamicComponent($props.hideIcon ? 'span' : 'PlusIcon'), {
532
+ ? (openBlock(), createBlock(resolveDynamicComponent($props.hideIcon ? 'span' : 'PlusIcon'), mergeProps({
520
533
  key: 0,
521
- class: normalizeClass($props.hideIcon)
522
- }, null, 8, ["class"]))
523
- : (openBlock(), createBlock(resolveDynamicComponent($props.showIcon ? 'span' : 'PlusIcon'), {
534
+ class: $props.hideIcon
535
+ }, _ctx.ptm('button')['icon']), null, 16, ["class"]))
536
+ : (openBlock(), createBlock(resolveDynamicComponent($props.showIcon ? 'span' : 'PlusIcon'), mergeProps({
524
537
  key: 1,
525
- class: normalizeClass($props.showIcon)
526
- }, null, 8, ["class"]))
538
+ class: $props.showIcon
539
+ }, _ctx.ptm('button')['icon']), null, 16, ["class"]))
527
540
  ])
528
541
  ]),
529
542
  _: 3
530
- }, 8, ["class", "disabled", "onKeydown", "aria-expanded", "aria-controls", "aria-label", "aria-labelledby"])
543
+ }, 8, ["class", "disabled", "onKeydown", "aria-expanded", "aria-controls", "aria-label", "aria-labelledby", "pt"])
531
544
  ]),
532
- createElementVNode("ul", {
545
+ createElementVNode("ul", mergeProps({
533
546
  ref: $options.listRef,
534
547
  id: $data.id + '_list',
535
548
  class: "p-speeddial-list",
@@ -539,36 +552,36 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
539
552
  onKeydown: _cache[3] || (_cache[3] = (...args) => ($options.onKeyDown && $options.onKeyDown(...args))),
540
553
  "aria-activedescendant": $data.focused ? $options.focusedOptionId : undefined,
541
554
  tabindex: "-1"
542
- }, [
555
+ }, _ctx.ptm('menu')), [
543
556
  (openBlock(true), createElementBlock(Fragment, null, renderList($props.model, (item, index) => {
544
557
  return (openBlock(), createElementBlock(Fragment, { key: index }, [
545
558
  ($options.isItemVisible(item))
546
- ? (openBlock(), createElementBlock("li", {
559
+ ? (openBlock(), createElementBlock("li", mergeProps({
547
560
  key: 0,
548
561
  id: `${$data.id}_${index}`,
549
562
  "aria-controls": `${$data.id}_item`,
550
- class: normalizeClass(["p-speeddial-item", $options.itemClass(`${$data.id}_${index}`)]),
551
- style: normalizeStyle($options.getItemStyle(index)),
563
+ class: ["p-speeddial-item", $options.itemClass(`${$data.id}_${index}`)],
564
+ style: $options.getItemStyle(index),
552
565
  role: "menuitem"
553
- }, [
566
+ }, $options.getPTOptions(`${$data.id}_${index}`, 'menuitem')), [
554
567
  (!_ctx.$slots.item)
555
- ? withDirectives((openBlock(), createElementBlock("a", {
568
+ ? withDirectives((openBlock(), createElementBlock("a", mergeProps({
556
569
  key: 0,
557
570
  tabindex: -1,
558
571
  href: item.url || '#',
559
572
  role: "menuitem",
560
- class: normalizeClass(['p-speeddial-action', { 'p-disabled': item.disabled }]),
573
+ class: ['p-speeddial-action', { 'p-disabled': item.disabled }],
561
574
  target: item.target,
562
575
  onClick: $event => ($options.onItemClick($event, item)),
563
576
  "aria-label": item.label
564
- }, [
577
+ }, $options.getPTOptions(`${$data.id}_${index}`, 'action')), [
565
578
  (item.icon)
566
- ? (openBlock(), createElementBlock("span", {
579
+ ? (openBlock(), createElementBlock("span", mergeProps({
567
580
  key: 0,
568
- class: normalizeClass(['p-speeddial-action-icon', item.icon])
569
- }, null, 2))
581
+ class: ['p-speeddial-action-icon', item.icon]
582
+ }, $options.getPTOptions(`${$data.id}_${index}`, 'actionIcon')), null, 16))
570
583
  : createCommentVNode("", true)
571
- ], 10, _hoisted_3)), [
584
+ ], 16, _hoisted_3)), [
572
585
  [_directive_tooltip, { value: item.label, disabled: !$props.tooltipOptions }, $props.tooltipOptions],
573
586
  [_directive_ripple]
574
587
  ])
@@ -576,18 +589,18 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
576
589
  key: 1,
577
590
  item: item
578
591
  }, null, 8, ["item"]))
579
- ], 14, _hoisted_2))
592
+ ], 16, _hoisted_2))
580
593
  : createCommentVNode("", true)
581
594
  ], 64))
582
595
  }), 128))
583
- ], 40, _hoisted_1)
584
- ], 6),
596
+ ], 16, _hoisted_1)
597
+ ], 16),
585
598
  ($props.mask)
586
- ? (openBlock(), createElementBlock("div", {
599
+ ? (openBlock(), createElementBlock("div", mergeProps({
587
600
  key: 0,
588
- class: normalizeClass($options.maskClassName),
589
- style: normalizeStyle($props.maskStyle)
590
- }, null, 6))
601
+ class: $options.maskClassName,
602
+ style: $props.maskStyle
603
+ }, _ctx.ptm('mask')), null, 16))
591
604
  : createCommentVNode("", true)
592
605
  ], 64))
593
606
  }
@@ -1 +1 @@
1
- import e from"primevue/button";import t from"primevue/icons/plus";import i from"primevue/ripple";import n from"primevue/tooltip";import{UniqueComponentId as s,DomHandler as o}from"primevue/utils";import{resolveComponent as l,resolveDirective as a,openBlock as d,createElementBlock as r,Fragment as c,createElementVNode as p,normalizeClass as h,normalizeStyle as u,renderSlot as f,createVNode as m,withCtx as b,createBlock as y,resolveDynamicComponent as g,renderList as v,withDirectives as x,createCommentVNode as w}from"vue";var I={name:"SpeedDial",emits:["click","show","hide","focus","blur"],props:{model:null,visible:{type:Boolean,default:!1},direction:{type:String,default:"up"},transitionDelay:{type:Number,default:30},type:{type:String,default:"linear"},radius:{type:Number,default:0},mask:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},hideOnClickOutside:{type:Boolean,default:!0},buttonClass:null,maskStyle:null,maskClass:null,showIcon:{type:String,default:void 0},hideIcon:{type:String,default:void 0},rotateAnimation:{type:Boolean,default:!0},tooltipOptions:null,style:null,class:null,"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},documentClickListener:null,container:null,list:null,data(){return{id:this.$attrs.id,d_visible:this.visible,isItemClicked:!1,focused:!1,focusedOptionIndex:-1}},watch:{"$attrs.id":function(e){this.id=e||s()},visible(e){this.d_visible=e}},mounted(){if(this.id=this.id||s(),"linear"!==this.type){const e=o.findSingle(this.container,".p-speeddial-button"),t=o.findSingle(this.list,".p-speeddial-item");if(e&&t){const i=Math.abs(e.offsetWidth-t.offsetWidth),n=Math.abs(e.offsetHeight-t.offsetHeight);this.list.style.setProperty("--item-diff-x",i/2+"px"),this.list.style.setProperty("--item-diff-y",n/2+"px")}}this.hideOnClickOutside&&this.bindDocumentClickListener()},beforeMount(){this.unbindDocumentClickListener()},methods:{onFocus(e){this.focused=!0,this.$emit("focus",e)},onBlur(e){this.focused=!1,this.focusedOptionIndex=-1,this.$emit("blur",e)},onItemClick(e,t){t.command&&t.command({originalEvent:e,item:t}),this.hide(),this.isItemClicked=!0,e.preventDefault()},onClick(e){this.d_visible?this.hide():this.show(),this.isItemClicked=!0,this.$emit("click",e)},show(){this.d_visible=!0,this.$emit("show")},hide(){this.d_visible=!1,this.$emit("hide")},calculateTransitionDelay(e){const t=this.model.length;return(this.d_visible?e:t-e-1)*this.transitionDelay},onTogglerKeydown(e){switch(e.code){case"ArrowDown":case"ArrowLeft":this.onTogglerArrowDown(e);break;case"ArrowUp":case"ArrowRight":this.onTogglerArrowUp(e);break;case"Escape":this.onEscapeKey()}},onKeyDown(e){switch(e.code){case"ArrowDown":this.onArrowDown(e);break;case"ArrowUp":this.onArrowUp(e);break;case"ArrowLeft":this.onArrowLeft(e);break;case"ArrowRight":this.onArrowRight(e);break;case"Enter":case"Space":this.onEnterKey(e);break;case"Escape":this.onEscapeKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e)}},onTogglerArrowUp(e){this.focused=!0,o.focus(this.list),this.show(),this.navigatePrevItem(e),e.preventDefault()},onTogglerArrowDown(e){this.focused=!0,o.focus(this.list),this.show(),this.navigateNextItem(e),e.preventDefault()},onEnterKey(e){const t=[...o.find(this.container,".p-speeddial-item")].findIndex((e=>e.id===this.focusedOptionIndex));this.onItemClick(e,this.model[t]),this.onBlur(e);const i=o.findSingle(this.container,"button");i&&o.focus(i)},onEscapeKey(){this.hide();const e=o.findSingle(this.container,"button");e&&o.focus(e)},onArrowUp(e){"up"===this.direction?this.navigateNextItem(e):"down"===this.direction?this.navigatePrevItem(e):this.navigateNextItem(e)},onArrowDown(e){"up"===this.direction?this.navigatePrevItem(e):"down"===this.direction?this.navigateNextItem(e):this.navigatePrevItem(e)},onArrowLeft(e){["left","up-right","down-left"].includes(this.direction)?this.navigateNextItem(e):(["right","up-left","down-right"].includes(this.direction),this.navigatePrevItem(e))},onArrowRight(e){["left","up-right","down-left"].includes(this.direction)?this.navigatePrevItem(e):(["right","up-left","down-right"].includes(this.direction),this.navigateNextItem(e))},onEndKey(e){e.preventDefault(),this.focusedOptionIndex=-1,this.navigatePrevItem(e)},onHomeKey(e){e.preventDefault(),this.focusedOptionIndex=-1,this.navigateNextItem(e)},navigateNextItem(e){const t=this.findNextOptionIndex(this.focusedOptionIndex);this.changeFocusedOptionIndex(t),e.preventDefault()},navigatePrevItem(e){const t=this.findPrevOptionIndex(this.focusedOptionIndex);this.changeFocusedOptionIndex(t),e.preventDefault()},changeFocusedOptionIndex(e){const t=[...o.find(this.container,".p-speeddial-item")].filter((e=>!o.hasClass(o.findSingle(e,"a"),"p-disabled")));t[e]&&(this.focusedOptionIndex=t[e].getAttribute("id"))},findPrevOptionIndex(e){const t=[...o.find(this.container,".p-speeddial-item")].filter((e=>!o.hasClass(o.findSingle(e,"a"),"p-disabled"))),i=-1===e?t[t.length-1].id:e;let n=t.findIndex((e=>e.getAttribute("id")===i));return n=-1===e?t.length-1:n-1,n},findNextOptionIndex(e){const t=[...o.find(this.container,".p-speeddial-item")].filter((e=>!o.hasClass(o.findSingle(e,"a"),"p-disabled"))),i=-1===e?t[0].id:e;let n=t.findIndex((e=>e.getAttribute("id")===i));return n=-1===e?0:n+1,n},calculatePointStyle(e){const t=this.type;if("linear"!==t){const i=this.model.length,n=this.radius||20*i;if("circle"===t){const t=2*Math.PI/i;return{left:`calc(${n*Math.cos(t*e)}px + var(--item-diff-x, 0px))`,top:`calc(${n*Math.sin(t*e)}px + var(--item-diff-y, 0px))`}}if("semi-circle"===t){const t=this.direction,s=Math.PI/(i-1),o=`calc(${n*Math.cos(s*e)}px + var(--item-diff-x, 0px))`,l=`calc(${n*Math.sin(s*e)}px + var(--item-diff-y, 0px))`;if("up"===t)return{left:o,bottom:l};if("down"===t)return{left:o,top:l};if("left"===t)return{right:l,top:o};if("right"===t)return{left:l,top:o}}else if("quarter-circle"===t){const t=this.direction,s=Math.PI/(2*(i-1)),o=`calc(${n*Math.cos(s*e)}px + var(--item-diff-x, 0px))`,l=`calc(${n*Math.sin(s*e)}px + var(--item-diff-y, 0px))`;if("up-left"===t)return{right:o,bottom:l};if("up-right"===t)return{left:o,bottom:l};if("down-left"===t)return{right:l,top:o};if("down-right"===t)return{left:l,top:o}}}return{}},getItemStyle(e){return{transitionDelay:`${this.calculateTransitionDelay(e)}ms`,...this.calculatePointStyle(e)}},bindDocumentClickListener(){this.documentClickListener||(this.documentClickListener=e=>{this.d_visible&&this.isOutsideClicked(e)&&this.hide(),this.isItemClicked=!1},document.addEventListener("click",this.documentClickListener))},unbindDocumentClickListener(){this.documentClickListener&&(document.removeEventListener("click",this.documentClickListener),this.documentClickListener=null)},isOutsideClicked(e){return this.container&&!(this.container.isSameNode(e.target)||this.container.contains(e.target)||this.isItemClicked)},isItemVisible:e=>"function"==typeof e.visible?e.visible():!1!==e.visible,containerRef(e){this.container=e},listRef(e){this.list=e},itemClass(e){return[{"p-focus":e===this.focusedOptionId}]}},computed:{containerClass(){return[`p-speeddial p-component p-speeddial-${this.type}`,{[`p-speeddial-direction-${this.direction}`]:"circle"!==this.type,"p-speeddial-opened":this.d_visible,"p-disabled":this.disabled},this.class]},buttonClassName(){return["p-speeddial-button p-button-rounded",{"p-speeddial-rotate":this.rotateAnimation&&!this.hideIcon},this.buttonClass]},maskClassName(){return["p-speeddial-mask",{"p-speeddial-mask-visible":this.d_visible},this.maskClass]},focusedOptionId(){return-1!==this.focusedOptionIndex?this.focusedOptionIndex:null}},components:{SDButton:e,PlusIcon:t},directives:{ripple:i,tooltip:n}};const k=["id","aria-activedescendant"],C=["id","aria-controls"],D=["href","target","onClick","aria-label"];!function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===i&&n.firstChild?n.insertBefore(s,n.firstChild):n.appendChild(s),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(document.createTextNode(e))}}("\n.p-speeddial {\n position: absolute;\n display: flex;\n}\n.p-speeddial-button {\n z-index: 1;\n}\n.p-speeddial-list {\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: top 0s linear 0.2s;\n pointer-events: none;\n z-index: 2;\n}\n.p-speeddial-item {\n transform: scale(0);\n opacity: 0;\n transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, opacity 0.8s;\n will-change: transform;\n}\n.p-speeddial-action {\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n position: relative;\n overflow: hidden;\n}\n.p-speeddial-circle .p-speeddial-item,\n.p-speeddial-semi-circle .p-speeddial-item,\n.p-speeddial-quarter-circle .p-speeddial-item {\n position: absolute;\n}\n.p-speeddial-rotate {\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n will-change: transform;\n}\n.p-speeddial-mask {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n transition: opacity 250ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.p-speeddial-mask-visible {\n pointer-events: none;\n opacity: 1;\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.p-speeddial-opened .p-speeddial-list {\n pointer-events: auto;\n}\n.p-speeddial-opened .p-speeddial-item {\n transform: scale(1);\n opacity: 1;\n}\n.p-speeddial-opened .p-speeddial-rotate {\n transform: rotate(45deg);\n}\n\n/* Direction */\n.p-speeddial-direction-up {\n align-items: center;\n flex-direction: column-reverse;\n}\n.p-speeddial-direction-up .p-speeddial-list {\n flex-direction: column-reverse;\n}\n.p-speeddial-direction-down {\n align-items: center;\n flex-direction: column;\n}\n.p-speeddial-direction-down .p-speeddial-list {\n flex-direction: column;\n}\n.p-speeddial-direction-left {\n justify-content: center;\n flex-direction: row-reverse;\n}\n.p-speeddial-direction-left .p-speeddial-list {\n flex-direction: row-reverse;\n}\n.p-speeddial-direction-right {\n justify-content: center;\n flex-direction: row;\n}\n.p-speeddial-direction-right .p-speeddial-list {\n flex-direction: row;\n}\n"),I.render=function(e,t,i,n,s,o){const I=l("SDButton"),O=a("tooltip"),A=a("ripple");return d(),r(c,null,[p("div",{ref:o.containerRef,class:h(o.containerClass),style:u(i.style)},[f(e.$slots,"button",{toggle:o.onClick},(()=>[m(I,{type:"button",class:h(o.buttonClassName),onClick:t[0]||(t[0]=e=>o.onClick(e)),disabled:i.disabled,onKeydown:o.onTogglerKeydown,"aria-expanded":s.d_visible,"aria-haspopup":!0,"aria-controls":s.id+"_list","aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby},{icon:b((()=>[f(e.$slots,"icon",{visible:s.d_visible},(()=>[s.d_visible&&i.hideIcon?(d(),y(g(i.hideIcon?"span":"PlusIcon"),{key:0,class:h(i.hideIcon)},null,8,["class"])):(d(),y(g(i.showIcon?"span":"PlusIcon"),{key:1,class:h(i.showIcon)},null,8,["class"]))]))])),_:3},8,["class","disabled","onKeydown","aria-expanded","aria-controls","aria-label","aria-labelledby"])])),p("ul",{ref:o.listRef,id:s.id+"_list",class:"p-speeddial-list",role:"menu",onFocus:t[1]||(t[1]=(...e)=>o.onFocus&&o.onFocus(...e)),onBlur:t[2]||(t[2]=(...e)=>o.onBlur&&o.onBlur(...e)),onKeydown:t[3]||(t[3]=(...e)=>o.onKeyDown&&o.onKeyDown(...e)),"aria-activedescendant":s.focused?o.focusedOptionId:void 0,tabindex:"-1"},[(d(!0),r(c,null,v(i.model,((t,n)=>(d(),r(c,{key:n},[o.isItemVisible(t)?(d(),r("li",{key:0,id:`${s.id}_${n}`,"aria-controls":`${s.id}_item`,class:h(["p-speeddial-item",o.itemClass(`${s.id}_${n}`)]),style:u(o.getItemStyle(n)),role:"menuitem"},[e.$slots.item?(d(),y(g(e.$slots.item),{key:1,item:t},null,8,["item"])):x((d(),r("a",{key:0,tabindex:-1,href:t.url||"#",role:"menuitem",class:h(["p-speeddial-action",{"p-disabled":t.disabled}]),target:t.target,onClick:e=>o.onItemClick(e,t),"aria-label":t.label},[t.icon?(d(),r("span",{key:0,class:h(["p-speeddial-action-icon",t.icon])},null,2)):w("",!0)],10,D)),[[O,{value:t.label,disabled:!i.tooltipOptions},i.tooltipOptions],[A]])],14,C)):w("",!0)],64)))),128))],40,k)],6),i.mask?(d(),r("div",{key:0,class:h(o.maskClassName),style:u(i.maskStyle)},null,6)):w("",!0)],64)};export{I as default};
1
+ import e from"primevue/basecomponent";import t from"primevue/button";import i from"primevue/icons/plus";import n from"primevue/ripple";import s from"primevue/tooltip";import{UniqueComponentId as o,DomHandler as l}from"primevue/utils";import{resolveComponent as a,resolveDirective as d,openBlock as r,createElementBlock as c,Fragment as p,createElementVNode as u,mergeProps as h,renderSlot as m,createVNode as f,normalizeClass as b,withCtx as g,createBlock as v,resolveDynamicComponent as y,renderList as x,withDirectives as I,createCommentVNode as w}from"vue";var k={name:"SpeedDial",extends:e,emits:["click","show","hide","focus","blur"],props:{model:null,visible:{type:Boolean,default:!1},direction:{type:String,default:"up"},transitionDelay:{type:Number,default:30},type:{type:String,default:"linear"},radius:{type:Number,default:0},mask:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},hideOnClickOutside:{type:Boolean,default:!0},buttonClass:null,maskStyle:null,maskClass:null,showIcon:{type:String,default:void 0},hideIcon:{type:String,default:void 0},rotateAnimation:{type:Boolean,default:!0},tooltipOptions:null,style:null,class:null,"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},documentClickListener:null,container:null,list:null,data(){return{id:this.$attrs.id,d_visible:this.visible,isItemClicked:!1,focused:!1,focusedOptionIndex:-1}},watch:{"$attrs.id":function(e){this.id=e||o()},visible(e){this.d_visible=e}},mounted(){if(this.id=this.id||o(),"linear"!==this.type){const e=l.findSingle(this.container,".p-speeddial-button"),t=l.findSingle(this.list,".p-speeddial-item");if(e&&t){const i=Math.abs(e.offsetWidth-t.offsetWidth),n=Math.abs(e.offsetHeight-t.offsetHeight);this.list.style.setProperty("--item-diff-x",i/2+"px"),this.list.style.setProperty("--item-diff-y",n/2+"px")}}this.hideOnClickOutside&&this.bindDocumentClickListener()},beforeMount(){this.unbindDocumentClickListener()},methods:{getPTOptions(e,t){return this.ptm(t,{context:{active:this.isItemActive(e)}})},onFocus(e){this.focused=!0,this.$emit("focus",e)},onBlur(e){this.focused=!1,this.focusedOptionIndex=-1,this.$emit("blur",e)},onItemClick(e,t){t.command&&t.command({originalEvent:e,item:t}),this.hide(),this.isItemClicked=!0,e.preventDefault()},onClick(e){this.d_visible?this.hide():this.show(),this.isItemClicked=!0,this.$emit("click",e)},show(){this.d_visible=!0,this.$emit("show")},hide(){this.d_visible=!1,this.$emit("hide")},calculateTransitionDelay(e){const t=this.model.length;return(this.d_visible?e:t-e-1)*this.transitionDelay},onTogglerKeydown(e){switch(e.code){case"ArrowDown":case"ArrowLeft":this.onTogglerArrowDown(e);break;case"ArrowUp":case"ArrowRight":this.onTogglerArrowUp(e);break;case"Escape":this.onEscapeKey()}},onKeyDown(e){switch(e.code){case"ArrowDown":this.onArrowDown(e);break;case"ArrowUp":this.onArrowUp(e);break;case"ArrowLeft":this.onArrowLeft(e);break;case"ArrowRight":this.onArrowRight(e);break;case"Enter":case"Space":this.onEnterKey(e);break;case"Escape":this.onEscapeKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e)}},onTogglerArrowUp(e){this.focused=!0,l.focus(this.list),this.show(),this.navigatePrevItem(e),e.preventDefault()},onTogglerArrowDown(e){this.focused=!0,l.focus(this.list),this.show(),this.navigateNextItem(e),e.preventDefault()},onEnterKey(e){const t=[...l.find(this.container,".p-speeddial-item")].findIndex((e=>e.id===this.focusedOptionIndex));this.onItemClick(e,this.model[t]),this.onBlur(e);const i=l.findSingle(this.container,"button");i&&l.focus(i)},onEscapeKey(){this.hide();const e=l.findSingle(this.container,"button");e&&l.focus(e)},onArrowUp(e){"up"===this.direction?this.navigateNextItem(e):"down"===this.direction?this.navigatePrevItem(e):this.navigateNextItem(e)},onArrowDown(e){"up"===this.direction?this.navigatePrevItem(e):"down"===this.direction?this.navigateNextItem(e):this.navigatePrevItem(e)},onArrowLeft(e){["left","up-right","down-left"].includes(this.direction)?this.navigateNextItem(e):(["right","up-left","down-right"].includes(this.direction),this.navigatePrevItem(e))},onArrowRight(e){["left","up-right","down-left"].includes(this.direction)?this.navigatePrevItem(e):(["right","up-left","down-right"].includes(this.direction),this.navigateNextItem(e))},onEndKey(e){e.preventDefault(),this.focusedOptionIndex=-1,this.navigatePrevItem(e)},onHomeKey(e){e.preventDefault(),this.focusedOptionIndex=-1,this.navigateNextItem(e)},navigateNextItem(e){const t=this.findNextOptionIndex(this.focusedOptionIndex);this.changeFocusedOptionIndex(t),e.preventDefault()},navigatePrevItem(e){const t=this.findPrevOptionIndex(this.focusedOptionIndex);this.changeFocusedOptionIndex(t),e.preventDefault()},changeFocusedOptionIndex(e){const t=[...l.find(this.container,".p-speeddial-item")].filter((e=>!l.hasClass(l.findSingle(e,"a"),"p-disabled")));t[e]&&(this.focusedOptionIndex=t[e].getAttribute("id"))},findPrevOptionIndex(e){const t=[...l.find(this.container,".p-speeddial-item")].filter((e=>!l.hasClass(l.findSingle(e,"a"),"p-disabled"))),i=-1===e?t[t.length-1].id:e;let n=t.findIndex((e=>e.getAttribute("id")===i));return n=-1===e?t.length-1:n-1,n},findNextOptionIndex(e){const t=[...l.find(this.container,".p-speeddial-item")].filter((e=>!l.hasClass(l.findSingle(e,"a"),"p-disabled"))),i=-1===e?t[0].id:e;let n=t.findIndex((e=>e.getAttribute("id")===i));return n=-1===e?0:n+1,n},calculatePointStyle(e){const t=this.type;if("linear"!==t){const i=this.model.length,n=this.radius||20*i;if("circle"===t){const t=2*Math.PI/i;return{left:`calc(${n*Math.cos(t*e)}px + var(--item-diff-x, 0px))`,top:`calc(${n*Math.sin(t*e)}px + var(--item-diff-y, 0px))`}}if("semi-circle"===t){const t=this.direction,s=Math.PI/(i-1),o=`calc(${n*Math.cos(s*e)}px + var(--item-diff-x, 0px))`,l=`calc(${n*Math.sin(s*e)}px + var(--item-diff-y, 0px))`;if("up"===t)return{left:o,bottom:l};if("down"===t)return{left:o,top:l};if("left"===t)return{right:l,top:o};if("right"===t)return{left:l,top:o}}else if("quarter-circle"===t){const t=this.direction,s=Math.PI/(2*(i-1)),o=`calc(${n*Math.cos(s*e)}px + var(--item-diff-x, 0px))`,l=`calc(${n*Math.sin(s*e)}px + var(--item-diff-y, 0px))`;if("up-left"===t)return{right:o,bottom:l};if("up-right"===t)return{left:o,bottom:l};if("down-left"===t)return{right:l,top:o};if("down-right"===t)return{left:l,top:o}}}return{}},getItemStyle(e){return{transitionDelay:`${this.calculateTransitionDelay(e)}ms`,...this.calculatePointStyle(e)}},bindDocumentClickListener(){this.documentClickListener||(this.documentClickListener=e=>{this.d_visible&&this.isOutsideClicked(e)&&this.hide(),this.isItemClicked=!1},document.addEventListener("click",this.documentClickListener))},unbindDocumentClickListener(){this.documentClickListener&&(document.removeEventListener("click",this.documentClickListener),this.documentClickListener=null)},isOutsideClicked(e){return this.container&&!(this.container.isSameNode(e.target)||this.container.contains(e.target)||this.isItemClicked)},isItemVisible:e=>"function"==typeof e.visible?e.visible():!1!==e.visible,isItemActive(e){return e===this.focusedOptionId},containerRef(e){this.container=e},listRef(e){this.list=e},itemClass(e){return[{"p-focus":this.isItemActive(e)}]}},computed:{containerClass(){return[`p-speeddial p-component p-speeddial-${this.type}`,{[`p-speeddial-direction-${this.direction}`]:"circle"!==this.type,"p-speeddial-opened":this.d_visible,"p-disabled":this.disabled},this.class]},buttonClassName(){return["p-speeddial-button p-button-rounded",{"p-speeddial-rotate":this.rotateAnimation&&!this.hideIcon},this.buttonClass]},maskClassName(){return["p-speeddial-mask",{"p-speeddial-mask-visible":this.d_visible},this.maskClass]},focusedOptionId(){return-1!==this.focusedOptionIndex?this.focusedOptionIndex:null}},components:{SDButton:t,PlusIcon:i},directives:{ripple:n,tooltip:s}};const C=["id","aria-activedescendant"],O=["id","aria-controls"],$=["href","target","onClick","aria-label"];!function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===i&&n.firstChild?n.insertBefore(s,n.firstChild):n.appendChild(s),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(document.createTextNode(e))}}("\n.p-speeddial {\n position: absolute;\n display: flex;\n}\n.p-speeddial-button {\n z-index: 1;\n}\n.p-speeddial-list {\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: top 0s linear 0.2s;\n pointer-events: none;\n z-index: 2;\n}\n.p-speeddial-item {\n transform: scale(0);\n opacity: 0;\n transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, opacity 0.8s;\n will-change: transform;\n}\n.p-speeddial-action {\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n position: relative;\n overflow: hidden;\n}\n.p-speeddial-circle .p-speeddial-item,\n.p-speeddial-semi-circle .p-speeddial-item,\n.p-speeddial-quarter-circle .p-speeddial-item {\n position: absolute;\n}\n.p-speeddial-rotate {\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n will-change: transform;\n}\n.p-speeddial-mask {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n transition: opacity 250ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.p-speeddial-mask-visible {\n pointer-events: none;\n opacity: 1;\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.p-speeddial-opened .p-speeddial-list {\n pointer-events: auto;\n}\n.p-speeddial-opened .p-speeddial-item {\n transform: scale(1);\n opacity: 1;\n}\n.p-speeddial-opened .p-speeddial-rotate {\n transform: rotate(45deg);\n}\n\n/* Direction */\n.p-speeddial-direction-up {\n align-items: center;\n flex-direction: column-reverse;\n}\n.p-speeddial-direction-up .p-speeddial-list {\n flex-direction: column-reverse;\n}\n.p-speeddial-direction-down {\n align-items: center;\n flex-direction: column;\n}\n.p-speeddial-direction-down .p-speeddial-list {\n flex-direction: column;\n}\n.p-speeddial-direction-left {\n justify-content: center;\n flex-direction: row-reverse;\n}\n.p-speeddial-direction-left .p-speeddial-list {\n flex-direction: row-reverse;\n}\n.p-speeddial-direction-right {\n justify-content: center;\n flex-direction: row;\n}\n.p-speeddial-direction-right .p-speeddial-list {\n flex-direction: row;\n}\n"),k.render=function(e,t,i,n,s,o){const l=a("SDButton"),k=d("tooltip"),A=d("ripple");return r(),c(p,null,[u("div",h({ref:o.containerRef,class:o.containerClass,style:i.style},e.ptm("root")),[m(e.$slots,"button",{toggle:o.onClick},(()=>[f(l,{type:"button",class:b(o.buttonClassName),onClick:t[0]||(t[0]=e=>o.onClick(e)),disabled:i.disabled,onKeydown:o.onTogglerKeydown,"aria-expanded":s.d_visible,"aria-haspopup":!0,"aria-controls":s.id+"_list","aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,pt:e.ptm("button")},{icon:g((()=>[m(e.$slots,"icon",{visible:s.d_visible},(()=>[s.d_visible&&i.hideIcon?(r(),v(y(i.hideIcon?"span":"PlusIcon"),h({key:0,class:i.hideIcon},e.ptm("button").icon),null,16,["class"])):(r(),v(y(i.showIcon?"span":"PlusIcon"),h({key:1,class:i.showIcon},e.ptm("button").icon),null,16,["class"]))]))])),_:3},8,["class","disabled","onKeydown","aria-expanded","aria-controls","aria-label","aria-labelledby","pt"])])),u("ul",h({ref:o.listRef,id:s.id+"_list",class:"p-speeddial-list",role:"menu",onFocus:t[1]||(t[1]=(...e)=>o.onFocus&&o.onFocus(...e)),onBlur:t[2]||(t[2]=(...e)=>o.onBlur&&o.onBlur(...e)),onKeydown:t[3]||(t[3]=(...e)=>o.onKeyDown&&o.onKeyDown(...e)),"aria-activedescendant":s.focused?o.focusedOptionId:void 0,tabindex:"-1"},e.ptm("menu")),[(r(!0),c(p,null,x(i.model,((t,n)=>(r(),c(p,{key:n},[o.isItemVisible(t)?(r(),c("li",h({key:0,id:`${s.id}_${n}`,"aria-controls":`${s.id}_item`,class:["p-speeddial-item",o.itemClass(`${s.id}_${n}`)],style:o.getItemStyle(n),role:"menuitem"},o.getPTOptions(`${s.id}_${n}`,"menuitem")),[e.$slots.item?(r(),v(y(e.$slots.item),{key:1,item:t},null,8,["item"])):I((r(),c("a",h({key:0,tabindex:-1,href:t.url||"#",role:"menuitem",class:["p-speeddial-action",{"p-disabled":t.disabled}],target:t.target,onClick:e=>o.onItemClick(e,t),"aria-label":t.label},o.getPTOptions(`${s.id}_${n}`,"action")),[t.icon?(r(),c("span",h({key:0,class:["p-speeddial-action-icon",t.icon]},o.getPTOptions(`${s.id}_${n}`,"actionIcon")),null,16)):w("",!0)],16,$)),[[k,{value:t.label,disabled:!i.tooltipOptions},i.tooltipOptions],[A]])],16,O)):w("",!0)],64)))),128))],16,C)],16),i.mask?(r(),c("div",h({key:0,class:o.maskClassName,style:i.maskStyle},e.ptm("mask")),null,16)):w("",!0)],64)};export{k as default};
@@ -1,9 +1,10 @@
1
1
  this.primevue = this.primevue || {};
2
- this.primevue.speeddial = (function (Button, PlusIcon, Ripple, Tooltip, utils, vue) {
2
+ this.primevue.speeddial = (function (BaseComponent, Button, PlusIcon, Ripple, Tooltip, utils, vue) {
3
3
  'use strict';
4
4
 
5
5
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
6
6
 
7
+ var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
7
8
  var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
8
9
  var PlusIcon__default = /*#__PURE__*/_interopDefaultLegacy(PlusIcon);
9
10
  var Ripple__default = /*#__PURE__*/_interopDefaultLegacy(Ripple);
@@ -11,6 +12,7 @@ this.primevue.speeddial = (function (Button, PlusIcon, Ripple, Tooltip, utils, v
11
12
 
12
13
  var script = {
13
14
  name: 'SpeedDial',
15
+ extends: BaseComponent__default["default"],
14
16
  emits: ['click', 'show', 'hide', 'focus', 'blur'],
15
17
  props: {
16
18
  model: null,
@@ -117,6 +119,13 @@ this.primevue.speeddial = (function (Button, PlusIcon, Ripple, Tooltip, utils, v
117
119
  this.unbindDocumentClickListener();
118
120
  },
119
121
  methods: {
122
+ getPTOptions(id, key) {
123
+ return this.ptm(key, {
124
+ context: {
125
+ active: this.isItemActive(id)
126
+ }
127
+ });
128
+ },
120
129
  onFocus(event) {
121
130
  this.focused = true;
122
131
 
@@ -431,6 +440,9 @@ this.primevue.speeddial = (function (Button, PlusIcon, Ripple, Tooltip, utils, v
431
440
  isItemVisible(item) {
432
441
  return typeof item.visible === 'function' ? item.visible() : item.visible !== false;
433
442
  },
443
+ isItemActive(id) {
444
+ return id === this.focusedOptionId;
445
+ },
434
446
  containerRef(el) {
435
447
  this.container = el;
436
448
  },
@@ -440,7 +452,7 @@ this.primevue.speeddial = (function (Button, PlusIcon, Ripple, Tooltip, utils, v
440
452
  itemClass(id) {
441
453
  return [
442
454
  {
443
- 'p-focus': id === this.focusedOptionId
455
+ 'p-focus': this.isItemActive(id)
444
456
  }
445
457
  ];
446
458
  }
@@ -499,11 +511,11 @@ this.primevue.speeddial = (function (Button, PlusIcon, Ripple, Tooltip, utils, v
499
511
  const _directive_ripple = vue.resolveDirective("ripple");
500
512
 
501
513
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
502
- vue.createElementVNode("div", {
514
+ vue.createElementVNode("div", vue.mergeProps({
503
515
  ref: $options.containerRef,
504
- class: vue.normalizeClass($options.containerClass),
505
- style: vue.normalizeStyle($props.style)
506
- }, [
516
+ class: $options.containerClass,
517
+ style: $props.style
518
+ }, _ctx.ptm('root')), [
507
519
  vue.renderSlot(_ctx.$slots, "button", { toggle: $options.onClick }, () => [
508
520
  vue.createVNode(_component_SDButton, {
509
521
  type: "button",
@@ -515,25 +527,26 @@ this.primevue.speeddial = (function (Button, PlusIcon, Ripple, Tooltip, utils, v
515
527
  "aria-haspopup": true,
516
528
  "aria-controls": $data.id + '_list',
517
529
  "aria-label": _ctx.ariaLabel,
518
- "aria-labelledby": _ctx.ariaLabelledby
530
+ "aria-labelledby": _ctx.ariaLabelledby,
531
+ pt: _ctx.ptm('button')
519
532
  }, {
520
533
  icon: vue.withCtx(() => [
521
534
  vue.renderSlot(_ctx.$slots, "icon", { visible: $data.d_visible }, () => [
522
535
  ($data.d_visible && !!$props.hideIcon)
523
- ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.hideIcon ? 'span' : 'PlusIcon'), {
536
+ ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.hideIcon ? 'span' : 'PlusIcon'), vue.mergeProps({
524
537
  key: 0,
525
- class: vue.normalizeClass($props.hideIcon)
526
- }, null, 8, ["class"]))
527
- : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.showIcon ? 'span' : 'PlusIcon'), {
538
+ class: $props.hideIcon
539
+ }, _ctx.ptm('button')['icon']), null, 16, ["class"]))
540
+ : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.showIcon ? 'span' : 'PlusIcon'), vue.mergeProps({
528
541
  key: 1,
529
- class: vue.normalizeClass($props.showIcon)
530
- }, null, 8, ["class"]))
542
+ class: $props.showIcon
543
+ }, _ctx.ptm('button')['icon']), null, 16, ["class"]))
531
544
  ])
532
545
  ]),
533
546
  _: 3
534
- }, 8, ["class", "disabled", "onKeydown", "aria-expanded", "aria-controls", "aria-label", "aria-labelledby"])
547
+ }, 8, ["class", "disabled", "onKeydown", "aria-expanded", "aria-controls", "aria-label", "aria-labelledby", "pt"])
535
548
  ]),
536
- vue.createElementVNode("ul", {
549
+ vue.createElementVNode("ul", vue.mergeProps({
537
550
  ref: $options.listRef,
538
551
  id: $data.id + '_list',
539
552
  class: "p-speeddial-list",
@@ -543,36 +556,36 @@ this.primevue.speeddial = (function (Button, PlusIcon, Ripple, Tooltip, utils, v
543
556
  onKeydown: _cache[3] || (_cache[3] = (...args) => ($options.onKeyDown && $options.onKeyDown(...args))),
544
557
  "aria-activedescendant": $data.focused ? $options.focusedOptionId : undefined,
545
558
  tabindex: "-1"
546
- }, [
559
+ }, _ctx.ptm('menu')), [
547
560
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.model, (item, index) => {
548
561
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: index }, [
549
562
  ($options.isItemVisible(item))
550
- ? (vue.openBlock(), vue.createElementBlock("li", {
563
+ ? (vue.openBlock(), vue.createElementBlock("li", vue.mergeProps({
551
564
  key: 0,
552
565
  id: `${$data.id}_${index}`,
553
566
  "aria-controls": `${$data.id}_item`,
554
- class: vue.normalizeClass(["p-speeddial-item", $options.itemClass(`${$data.id}_${index}`)]),
555
- style: vue.normalizeStyle($options.getItemStyle(index)),
567
+ class: ["p-speeddial-item", $options.itemClass(`${$data.id}_${index}`)],
568
+ style: $options.getItemStyle(index),
556
569
  role: "menuitem"
557
- }, [
570
+ }, $options.getPTOptions(`${$data.id}_${index}`, 'menuitem')), [
558
571
  (!_ctx.$slots.item)
559
- ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("a", {
572
+ ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("a", vue.mergeProps({
560
573
  key: 0,
561
574
  tabindex: -1,
562
575
  href: item.url || '#',
563
576
  role: "menuitem",
564
- class: vue.normalizeClass(['p-speeddial-action', { 'p-disabled': item.disabled }]),
577
+ class: ['p-speeddial-action', { 'p-disabled': item.disabled }],
565
578
  target: item.target,
566
579
  onClick: $event => ($options.onItemClick($event, item)),
567
580
  "aria-label": item.label
568
- }, [
581
+ }, $options.getPTOptions(`${$data.id}_${index}`, 'action')), [
569
582
  (item.icon)
570
- ? (vue.openBlock(), vue.createElementBlock("span", {
583
+ ? (vue.openBlock(), vue.createElementBlock("span", vue.mergeProps({
571
584
  key: 0,
572
- class: vue.normalizeClass(['p-speeddial-action-icon', item.icon])
573
- }, null, 2))
585
+ class: ['p-speeddial-action-icon', item.icon]
586
+ }, $options.getPTOptions(`${$data.id}_${index}`, 'actionIcon')), null, 16))
574
587
  : vue.createCommentVNode("", true)
575
- ], 10, _hoisted_3)), [
588
+ ], 16, _hoisted_3)), [
576
589
  [_directive_tooltip, { value: item.label, disabled: !$props.tooltipOptions }, $props.tooltipOptions],
577
590
  [_directive_ripple]
578
591
  ])
@@ -580,18 +593,18 @@ this.primevue.speeddial = (function (Button, PlusIcon, Ripple, Tooltip, utils, v
580
593
  key: 1,
581
594
  item: item
582
595
  }, null, 8, ["item"]))
583
- ], 14, _hoisted_2))
596
+ ], 16, _hoisted_2))
584
597
  : vue.createCommentVNode("", true)
585
598
  ], 64))
586
599
  }), 128))
587
- ], 40, _hoisted_1)
588
- ], 6),
600
+ ], 16, _hoisted_1)
601
+ ], 16),
589
602
  ($props.mask)
590
- ? (vue.openBlock(), vue.createElementBlock("div", {
603
+ ? (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
591
604
  key: 0,
592
- class: vue.normalizeClass($options.maskClassName),
593
- style: vue.normalizeStyle($props.maskStyle)
594
- }, null, 6))
605
+ class: $options.maskClassName,
606
+ style: $props.maskStyle
607
+ }, _ctx.ptm('mask')), null, 16))
595
608
  : vue.createCommentVNode("", true)
596
609
  ], 64))
597
610
  }
@@ -630,4 +643,4 @@ this.primevue.speeddial = (function (Button, PlusIcon, Ripple, Tooltip, utils, v
630
643
 
631
644
  return script;
632
645
 
633
- })(primevue.button, primevue.icons.plus, primevue.ripple, primevue.tooltip, primevue.utils, Vue);
646
+ })(primevue.basecomponent, primevue.button, primevue.icons.plus, primevue.ripple, primevue.tooltip, primevue.utils, Vue);
@@ -1 +1 @@
1
- this.primevue=this.primevue||{},this.primevue.speeddial=function(e,t,i,n,s,o){"use strict";function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=l(e),d=l(t),r=l(i),c=l(n),p={name:"SpeedDial",emits:["click","show","hide","focus","blur"],props:{model:null,visible:{type:Boolean,default:!1},direction:{type:String,default:"up"},transitionDelay:{type:Number,default:30},type:{type:String,default:"linear"},radius:{type:Number,default:0},mask:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},hideOnClickOutside:{type:Boolean,default:!0},buttonClass:null,maskStyle:null,maskClass:null,showIcon:{type:String,default:void 0},hideIcon:{type:String,default:void 0},rotateAnimation:{type:Boolean,default:!0},tooltipOptions:null,style:null,class:null,"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},documentClickListener:null,container:null,list:null,data(){return{id:this.$attrs.id,d_visible:this.visible,isItemClicked:!1,focused:!1,focusedOptionIndex:-1}},watch:{"$attrs.id":function(e){this.id=e||s.UniqueComponentId()},visible(e){this.d_visible=e}},mounted(){if(this.id=this.id||s.UniqueComponentId(),"linear"!==this.type){const e=s.DomHandler.findSingle(this.container,".p-speeddial-button"),t=s.DomHandler.findSingle(this.list,".p-speeddial-item");if(e&&t){const i=Math.abs(e.offsetWidth-t.offsetWidth),n=Math.abs(e.offsetHeight-t.offsetHeight);this.list.style.setProperty("--item-diff-x",i/2+"px"),this.list.style.setProperty("--item-diff-y",n/2+"px")}}this.hideOnClickOutside&&this.bindDocumentClickListener()},beforeMount(){this.unbindDocumentClickListener()},methods:{onFocus(e){this.focused=!0,this.$emit("focus",e)},onBlur(e){this.focused=!1,this.focusedOptionIndex=-1,this.$emit("blur",e)},onItemClick(e,t){t.command&&t.command({originalEvent:e,item:t}),this.hide(),this.isItemClicked=!0,e.preventDefault()},onClick(e){this.d_visible?this.hide():this.show(),this.isItemClicked=!0,this.$emit("click",e)},show(){this.d_visible=!0,this.$emit("show")},hide(){this.d_visible=!1,this.$emit("hide")},calculateTransitionDelay(e){const t=this.model.length;return(this.d_visible?e:t-e-1)*this.transitionDelay},onTogglerKeydown(e){switch(e.code){case"ArrowDown":case"ArrowLeft":this.onTogglerArrowDown(e);break;case"ArrowUp":case"ArrowRight":this.onTogglerArrowUp(e);break;case"Escape":this.onEscapeKey()}},onKeyDown(e){switch(e.code){case"ArrowDown":this.onArrowDown(e);break;case"ArrowUp":this.onArrowUp(e);break;case"ArrowLeft":this.onArrowLeft(e);break;case"ArrowRight":this.onArrowRight(e);break;case"Enter":case"Space":this.onEnterKey(e);break;case"Escape":this.onEscapeKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e)}},onTogglerArrowUp(e){this.focused=!0,s.DomHandler.focus(this.list),this.show(),this.navigatePrevItem(e),e.preventDefault()},onTogglerArrowDown(e){this.focused=!0,s.DomHandler.focus(this.list),this.show(),this.navigateNextItem(e),e.preventDefault()},onEnterKey(e){const t=[...s.DomHandler.find(this.container,".p-speeddial-item")].findIndex((e=>e.id===this.focusedOptionIndex));this.onItemClick(e,this.model[t]),this.onBlur(e);const i=s.DomHandler.findSingle(this.container,"button");i&&s.DomHandler.focus(i)},onEscapeKey(){this.hide();const e=s.DomHandler.findSingle(this.container,"button");e&&s.DomHandler.focus(e)},onArrowUp(e){"up"===this.direction?this.navigateNextItem(e):"down"===this.direction?this.navigatePrevItem(e):this.navigateNextItem(e)},onArrowDown(e){"up"===this.direction?this.navigatePrevItem(e):"down"===this.direction?this.navigateNextItem(e):this.navigatePrevItem(e)},onArrowLeft(e){["left","up-right","down-left"].includes(this.direction)?this.navigateNextItem(e):(["right","up-left","down-right"].includes(this.direction),this.navigatePrevItem(e))},onArrowRight(e){["left","up-right","down-left"].includes(this.direction)?this.navigatePrevItem(e):(["right","up-left","down-right"].includes(this.direction),this.navigateNextItem(e))},onEndKey(e){e.preventDefault(),this.focusedOptionIndex=-1,this.navigatePrevItem(e)},onHomeKey(e){e.preventDefault(),this.focusedOptionIndex=-1,this.navigateNextItem(e)},navigateNextItem(e){const t=this.findNextOptionIndex(this.focusedOptionIndex);this.changeFocusedOptionIndex(t),e.preventDefault()},navigatePrevItem(e){const t=this.findPrevOptionIndex(this.focusedOptionIndex);this.changeFocusedOptionIndex(t),e.preventDefault()},changeFocusedOptionIndex(e){const t=[...s.DomHandler.find(this.container,".p-speeddial-item")].filter((e=>!s.DomHandler.hasClass(s.DomHandler.findSingle(e,"a"),"p-disabled")));t[e]&&(this.focusedOptionIndex=t[e].getAttribute("id"))},findPrevOptionIndex(e){const t=[...s.DomHandler.find(this.container,".p-speeddial-item")].filter((e=>!s.DomHandler.hasClass(s.DomHandler.findSingle(e,"a"),"p-disabled"))),i=-1===e?t[t.length-1].id:e;let n=t.findIndex((e=>e.getAttribute("id")===i));return n=-1===e?t.length-1:n-1,n},findNextOptionIndex(e){const t=[...s.DomHandler.find(this.container,".p-speeddial-item")].filter((e=>!s.DomHandler.hasClass(s.DomHandler.findSingle(e,"a"),"p-disabled"))),i=-1===e?t[0].id:e;let n=t.findIndex((e=>e.getAttribute("id")===i));return n=-1===e?0:n+1,n},calculatePointStyle(e){const t=this.type;if("linear"!==t){const i=this.model.length,n=this.radius||20*i;if("circle"===t){const t=2*Math.PI/i;return{left:`calc(${n*Math.cos(t*e)}px + var(--item-diff-x, 0px))`,top:`calc(${n*Math.sin(t*e)}px + var(--item-diff-y, 0px))`}}if("semi-circle"===t){const t=this.direction,s=Math.PI/(i-1),o=`calc(${n*Math.cos(s*e)}px + var(--item-diff-x, 0px))`,l=`calc(${n*Math.sin(s*e)}px + var(--item-diff-y, 0px))`;if("up"===t)return{left:o,bottom:l};if("down"===t)return{left:o,top:l};if("left"===t)return{right:l,top:o};if("right"===t)return{left:l,top:o}}else if("quarter-circle"===t){const t=this.direction,s=Math.PI/(2*(i-1)),o=`calc(${n*Math.cos(s*e)}px + var(--item-diff-x, 0px))`,l=`calc(${n*Math.sin(s*e)}px + var(--item-diff-y, 0px))`;if("up-left"===t)return{right:o,bottom:l};if("up-right"===t)return{left:o,bottom:l};if("down-left"===t)return{right:l,top:o};if("down-right"===t)return{left:l,top:o}}}return{}},getItemStyle(e){return{transitionDelay:`${this.calculateTransitionDelay(e)}ms`,...this.calculatePointStyle(e)}},bindDocumentClickListener(){this.documentClickListener||(this.documentClickListener=e=>{this.d_visible&&this.isOutsideClicked(e)&&this.hide(),this.isItemClicked=!1},document.addEventListener("click",this.documentClickListener))},unbindDocumentClickListener(){this.documentClickListener&&(document.removeEventListener("click",this.documentClickListener),this.documentClickListener=null)},isOutsideClicked(e){return this.container&&!(this.container.isSameNode(e.target)||this.container.contains(e.target)||this.isItemClicked)},isItemVisible:e=>"function"==typeof e.visible?e.visible():!1!==e.visible,containerRef(e){this.container=e},listRef(e){this.list=e},itemClass(e){return[{"p-focus":e===this.focusedOptionId}]}},computed:{containerClass(){return[`p-speeddial p-component p-speeddial-${this.type}`,{[`p-speeddial-direction-${this.direction}`]:"circle"!==this.type,"p-speeddial-opened":this.d_visible,"p-disabled":this.disabled},this.class]},buttonClassName(){return["p-speeddial-button p-button-rounded",{"p-speeddial-rotate":this.rotateAnimation&&!this.hideIcon},this.buttonClass]},maskClassName(){return["p-speeddial-mask",{"p-speeddial-mask-visible":this.d_visible},this.maskClass]},focusedOptionId(){return-1!==this.focusedOptionIndex?this.focusedOptionIndex:null}},components:{SDButton:a.default,PlusIcon:d.default},directives:{ripple:r.default,tooltip:c.default}};const u=["id","aria-activedescendant"],h=["id","aria-controls"],m=["href","target","onClick","aria-label"];return function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===i&&n.firstChild?n.insertBefore(s,n.firstChild):n.appendChild(s),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(document.createTextNode(e))}}("\n.p-speeddial {\n position: absolute;\n display: flex;\n}\n.p-speeddial-button {\n z-index: 1;\n}\n.p-speeddial-list {\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: top 0s linear 0.2s;\n pointer-events: none;\n z-index: 2;\n}\n.p-speeddial-item {\n transform: scale(0);\n opacity: 0;\n transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, opacity 0.8s;\n will-change: transform;\n}\n.p-speeddial-action {\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n position: relative;\n overflow: hidden;\n}\n.p-speeddial-circle .p-speeddial-item,\n.p-speeddial-semi-circle .p-speeddial-item,\n.p-speeddial-quarter-circle .p-speeddial-item {\n position: absolute;\n}\n.p-speeddial-rotate {\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n will-change: transform;\n}\n.p-speeddial-mask {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n transition: opacity 250ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.p-speeddial-mask-visible {\n pointer-events: none;\n opacity: 1;\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.p-speeddial-opened .p-speeddial-list {\n pointer-events: auto;\n}\n.p-speeddial-opened .p-speeddial-item {\n transform: scale(1);\n opacity: 1;\n}\n.p-speeddial-opened .p-speeddial-rotate {\n transform: rotate(45deg);\n}\n\n/* Direction */\n.p-speeddial-direction-up {\n align-items: center;\n flex-direction: column-reverse;\n}\n.p-speeddial-direction-up .p-speeddial-list {\n flex-direction: column-reverse;\n}\n.p-speeddial-direction-down {\n align-items: center;\n flex-direction: column;\n}\n.p-speeddial-direction-down .p-speeddial-list {\n flex-direction: column;\n}\n.p-speeddial-direction-left {\n justify-content: center;\n flex-direction: row-reverse;\n}\n.p-speeddial-direction-left .p-speeddial-list {\n flex-direction: row-reverse;\n}\n.p-speeddial-direction-right {\n justify-content: center;\n flex-direction: row;\n}\n.p-speeddial-direction-right .p-speeddial-list {\n flex-direction: row;\n}\n"),p.render=function(e,t,i,n,s,l){const a=o.resolveComponent("SDButton"),d=o.resolveDirective("tooltip"),r=o.resolveDirective("ripple");return o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createElementVNode("div",{ref:l.containerRef,class:o.normalizeClass(l.containerClass),style:o.normalizeStyle(i.style)},[o.renderSlot(e.$slots,"button",{toggle:l.onClick},(()=>[o.createVNode(a,{type:"button",class:o.normalizeClass(l.buttonClassName),onClick:t[0]||(t[0]=e=>l.onClick(e)),disabled:i.disabled,onKeydown:l.onTogglerKeydown,"aria-expanded":s.d_visible,"aria-haspopup":!0,"aria-controls":s.id+"_list","aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby},{icon:o.withCtx((()=>[o.renderSlot(e.$slots,"icon",{visible:s.d_visible},(()=>[s.d_visible&&i.hideIcon?(o.openBlock(),o.createBlock(o.resolveDynamicComponent(i.hideIcon?"span":"PlusIcon"),{key:0,class:o.normalizeClass(i.hideIcon)},null,8,["class"])):(o.openBlock(),o.createBlock(o.resolveDynamicComponent(i.showIcon?"span":"PlusIcon"),{key:1,class:o.normalizeClass(i.showIcon)},null,8,["class"]))]))])),_:3},8,["class","disabled","onKeydown","aria-expanded","aria-controls","aria-label","aria-labelledby"])])),o.createElementVNode("ul",{ref:l.listRef,id:s.id+"_list",class:"p-speeddial-list",role:"menu",onFocus:t[1]||(t[1]=(...e)=>l.onFocus&&l.onFocus(...e)),onBlur:t[2]||(t[2]=(...e)=>l.onBlur&&l.onBlur(...e)),onKeydown:t[3]||(t[3]=(...e)=>l.onKeyDown&&l.onKeyDown(...e)),"aria-activedescendant":s.focused?l.focusedOptionId:void 0,tabindex:"-1"},[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(i.model,((t,n)=>(o.openBlock(),o.createElementBlock(o.Fragment,{key:n},[l.isItemVisible(t)?(o.openBlock(),o.createElementBlock("li",{key:0,id:`${s.id}_${n}`,"aria-controls":`${s.id}_item`,class:o.normalizeClass(["p-speeddial-item",l.itemClass(`${s.id}_${n}`)]),style:o.normalizeStyle(l.getItemStyle(n)),role:"menuitem"},[e.$slots.item?(o.openBlock(),o.createBlock(o.resolveDynamicComponent(e.$slots.item),{key:1,item:t},null,8,["item"])):o.withDirectives((o.openBlock(),o.createElementBlock("a",{key:0,tabindex:-1,href:t.url||"#",role:"menuitem",class:o.normalizeClass(["p-speeddial-action",{"p-disabled":t.disabled}]),target:t.target,onClick:e=>l.onItemClick(e,t),"aria-label":t.label},[t.icon?(o.openBlock(),o.createElementBlock("span",{key:0,class:o.normalizeClass(["p-speeddial-action-icon",t.icon])},null,2)):o.createCommentVNode("",!0)],10,m)),[[d,{value:t.label,disabled:!i.tooltipOptions},i.tooltipOptions],[r]])],14,h)):o.createCommentVNode("",!0)],64)))),128))],40,u)],6),i.mask?(o.openBlock(),o.createElementBlock("div",{key:0,class:o.normalizeClass(l.maskClassName),style:o.normalizeStyle(i.maskStyle)},null,6)):o.createCommentVNode("",!0)],64)},p}(primevue.button,primevue.icons.plus,primevue.ripple,primevue.tooltip,primevue.utils,Vue);
1
+ this.primevue=this.primevue||{},this.primevue.speeddial=function(e,t,i,n,s,o,l){"use strict";function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=a(e),r=a(t),c=a(i),p=a(n),u=a(s),m={name:"SpeedDial",extends:d.default,emits:["click","show","hide","focus","blur"],props:{model:null,visible:{type:Boolean,default:!1},direction:{type:String,default:"up"},transitionDelay:{type:Number,default:30},type:{type:String,default:"linear"},radius:{type:Number,default:0},mask:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},hideOnClickOutside:{type:Boolean,default:!0},buttonClass:null,maskStyle:null,maskClass:null,showIcon:{type:String,default:void 0},hideIcon:{type:String,default:void 0},rotateAnimation:{type:Boolean,default:!0},tooltipOptions:null,style:null,class:null,"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},documentClickListener:null,container:null,list:null,data(){return{id:this.$attrs.id,d_visible:this.visible,isItemClicked:!1,focused:!1,focusedOptionIndex:-1}},watch:{"$attrs.id":function(e){this.id=e||o.UniqueComponentId()},visible(e){this.d_visible=e}},mounted(){if(this.id=this.id||o.UniqueComponentId(),"linear"!==this.type){const e=o.DomHandler.findSingle(this.container,".p-speeddial-button"),t=o.DomHandler.findSingle(this.list,".p-speeddial-item");if(e&&t){const i=Math.abs(e.offsetWidth-t.offsetWidth),n=Math.abs(e.offsetHeight-t.offsetHeight);this.list.style.setProperty("--item-diff-x",i/2+"px"),this.list.style.setProperty("--item-diff-y",n/2+"px")}}this.hideOnClickOutside&&this.bindDocumentClickListener()},beforeMount(){this.unbindDocumentClickListener()},methods:{getPTOptions(e,t){return this.ptm(t,{context:{active:this.isItemActive(e)}})},onFocus(e){this.focused=!0,this.$emit("focus",e)},onBlur(e){this.focused=!1,this.focusedOptionIndex=-1,this.$emit("blur",e)},onItemClick(e,t){t.command&&t.command({originalEvent:e,item:t}),this.hide(),this.isItemClicked=!0,e.preventDefault()},onClick(e){this.d_visible?this.hide():this.show(),this.isItemClicked=!0,this.$emit("click",e)},show(){this.d_visible=!0,this.$emit("show")},hide(){this.d_visible=!1,this.$emit("hide")},calculateTransitionDelay(e){const t=this.model.length;return(this.d_visible?e:t-e-1)*this.transitionDelay},onTogglerKeydown(e){switch(e.code){case"ArrowDown":case"ArrowLeft":this.onTogglerArrowDown(e);break;case"ArrowUp":case"ArrowRight":this.onTogglerArrowUp(e);break;case"Escape":this.onEscapeKey()}},onKeyDown(e){switch(e.code){case"ArrowDown":this.onArrowDown(e);break;case"ArrowUp":this.onArrowUp(e);break;case"ArrowLeft":this.onArrowLeft(e);break;case"ArrowRight":this.onArrowRight(e);break;case"Enter":case"Space":this.onEnterKey(e);break;case"Escape":this.onEscapeKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e)}},onTogglerArrowUp(e){this.focused=!0,o.DomHandler.focus(this.list),this.show(),this.navigatePrevItem(e),e.preventDefault()},onTogglerArrowDown(e){this.focused=!0,o.DomHandler.focus(this.list),this.show(),this.navigateNextItem(e),e.preventDefault()},onEnterKey(e){const t=[...o.DomHandler.find(this.container,".p-speeddial-item")].findIndex((e=>e.id===this.focusedOptionIndex));this.onItemClick(e,this.model[t]),this.onBlur(e);const i=o.DomHandler.findSingle(this.container,"button");i&&o.DomHandler.focus(i)},onEscapeKey(){this.hide();const e=o.DomHandler.findSingle(this.container,"button");e&&o.DomHandler.focus(e)},onArrowUp(e){"up"===this.direction?this.navigateNextItem(e):"down"===this.direction?this.navigatePrevItem(e):this.navigateNextItem(e)},onArrowDown(e){"up"===this.direction?this.navigatePrevItem(e):"down"===this.direction?this.navigateNextItem(e):this.navigatePrevItem(e)},onArrowLeft(e){["left","up-right","down-left"].includes(this.direction)?this.navigateNextItem(e):(["right","up-left","down-right"].includes(this.direction),this.navigatePrevItem(e))},onArrowRight(e){["left","up-right","down-left"].includes(this.direction)?this.navigatePrevItem(e):(["right","up-left","down-right"].includes(this.direction),this.navigateNextItem(e))},onEndKey(e){e.preventDefault(),this.focusedOptionIndex=-1,this.navigatePrevItem(e)},onHomeKey(e){e.preventDefault(),this.focusedOptionIndex=-1,this.navigateNextItem(e)},navigateNextItem(e){const t=this.findNextOptionIndex(this.focusedOptionIndex);this.changeFocusedOptionIndex(t),e.preventDefault()},navigatePrevItem(e){const t=this.findPrevOptionIndex(this.focusedOptionIndex);this.changeFocusedOptionIndex(t),e.preventDefault()},changeFocusedOptionIndex(e){const t=[...o.DomHandler.find(this.container,".p-speeddial-item")].filter((e=>!o.DomHandler.hasClass(o.DomHandler.findSingle(e,"a"),"p-disabled")));t[e]&&(this.focusedOptionIndex=t[e].getAttribute("id"))},findPrevOptionIndex(e){const t=[...o.DomHandler.find(this.container,".p-speeddial-item")].filter((e=>!o.DomHandler.hasClass(o.DomHandler.findSingle(e,"a"),"p-disabled"))),i=-1===e?t[t.length-1].id:e;let n=t.findIndex((e=>e.getAttribute("id")===i));return n=-1===e?t.length-1:n-1,n},findNextOptionIndex(e){const t=[...o.DomHandler.find(this.container,".p-speeddial-item")].filter((e=>!o.DomHandler.hasClass(o.DomHandler.findSingle(e,"a"),"p-disabled"))),i=-1===e?t[0].id:e;let n=t.findIndex((e=>e.getAttribute("id")===i));return n=-1===e?0:n+1,n},calculatePointStyle(e){const t=this.type;if("linear"!==t){const i=this.model.length,n=this.radius||20*i;if("circle"===t){const t=2*Math.PI/i;return{left:`calc(${n*Math.cos(t*e)}px + var(--item-diff-x, 0px))`,top:`calc(${n*Math.sin(t*e)}px + var(--item-diff-y, 0px))`}}if("semi-circle"===t){const t=this.direction,s=Math.PI/(i-1),o=`calc(${n*Math.cos(s*e)}px + var(--item-diff-x, 0px))`,l=`calc(${n*Math.sin(s*e)}px + var(--item-diff-y, 0px))`;if("up"===t)return{left:o,bottom:l};if("down"===t)return{left:o,top:l};if("left"===t)return{right:l,top:o};if("right"===t)return{left:l,top:o}}else if("quarter-circle"===t){const t=this.direction,s=Math.PI/(2*(i-1)),o=`calc(${n*Math.cos(s*e)}px + var(--item-diff-x, 0px))`,l=`calc(${n*Math.sin(s*e)}px + var(--item-diff-y, 0px))`;if("up-left"===t)return{right:o,bottom:l};if("up-right"===t)return{left:o,bottom:l};if("down-left"===t)return{right:l,top:o};if("down-right"===t)return{left:l,top:o}}}return{}},getItemStyle(e){return{transitionDelay:`${this.calculateTransitionDelay(e)}ms`,...this.calculatePointStyle(e)}},bindDocumentClickListener(){this.documentClickListener||(this.documentClickListener=e=>{this.d_visible&&this.isOutsideClicked(e)&&this.hide(),this.isItemClicked=!1},document.addEventListener("click",this.documentClickListener))},unbindDocumentClickListener(){this.documentClickListener&&(document.removeEventListener("click",this.documentClickListener),this.documentClickListener=null)},isOutsideClicked(e){return this.container&&!(this.container.isSameNode(e.target)||this.container.contains(e.target)||this.isItemClicked)},isItemVisible:e=>"function"==typeof e.visible?e.visible():!1!==e.visible,isItemActive(e){return e===this.focusedOptionId},containerRef(e){this.container=e},listRef(e){this.list=e},itemClass(e){return[{"p-focus":this.isItemActive(e)}]}},computed:{containerClass(){return[`p-speeddial p-component p-speeddial-${this.type}`,{[`p-speeddial-direction-${this.direction}`]:"circle"!==this.type,"p-speeddial-opened":this.d_visible,"p-disabled":this.disabled},this.class]},buttonClassName(){return["p-speeddial-button p-button-rounded",{"p-speeddial-rotate":this.rotateAnimation&&!this.hideIcon},this.buttonClass]},maskClassName(){return["p-speeddial-mask",{"p-speeddial-mask-visible":this.d_visible},this.maskClass]},focusedOptionId(){return-1!==this.focusedOptionIndex?this.focusedOptionIndex:null}},components:{SDButton:r.default,PlusIcon:c.default},directives:{ripple:p.default,tooltip:u.default}};const h=["id","aria-activedescendant"],f=["id","aria-controls"],b=["href","target","onClick","aria-label"];return function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===i&&n.firstChild?n.insertBefore(s,n.firstChild):n.appendChild(s),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(document.createTextNode(e))}}("\n.p-speeddial {\n position: absolute;\n display: flex;\n}\n.p-speeddial-button {\n z-index: 1;\n}\n.p-speeddial-list {\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: top 0s linear 0.2s;\n pointer-events: none;\n z-index: 2;\n}\n.p-speeddial-item {\n transform: scale(0);\n opacity: 0;\n transition: transform 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, opacity 0.8s;\n will-change: transform;\n}\n.p-speeddial-action {\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n position: relative;\n overflow: hidden;\n}\n.p-speeddial-circle .p-speeddial-item,\n.p-speeddial-semi-circle .p-speeddial-item,\n.p-speeddial-quarter-circle .p-speeddial-item {\n position: absolute;\n}\n.p-speeddial-rotate {\n transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n will-change: transform;\n}\n.p-speeddial-mask {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n transition: opacity 250ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.p-speeddial-mask-visible {\n pointer-events: none;\n opacity: 1;\n transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n.p-speeddial-opened .p-speeddial-list {\n pointer-events: auto;\n}\n.p-speeddial-opened .p-speeddial-item {\n transform: scale(1);\n opacity: 1;\n}\n.p-speeddial-opened .p-speeddial-rotate {\n transform: rotate(45deg);\n}\n\n/* Direction */\n.p-speeddial-direction-up {\n align-items: center;\n flex-direction: column-reverse;\n}\n.p-speeddial-direction-up .p-speeddial-list {\n flex-direction: column-reverse;\n}\n.p-speeddial-direction-down {\n align-items: center;\n flex-direction: column;\n}\n.p-speeddial-direction-down .p-speeddial-list {\n flex-direction: column;\n}\n.p-speeddial-direction-left {\n justify-content: center;\n flex-direction: row-reverse;\n}\n.p-speeddial-direction-left .p-speeddial-list {\n flex-direction: row-reverse;\n}\n.p-speeddial-direction-right {\n justify-content: center;\n flex-direction: row;\n}\n.p-speeddial-direction-right .p-speeddial-list {\n flex-direction: row;\n}\n"),m.render=function(e,t,i,n,s,o){const a=l.resolveComponent("SDButton"),d=l.resolveDirective("tooltip"),r=l.resolveDirective("ripple");return l.openBlock(),l.createElementBlock(l.Fragment,null,[l.createElementVNode("div",l.mergeProps({ref:o.containerRef,class:o.containerClass,style:i.style},e.ptm("root")),[l.renderSlot(e.$slots,"button",{toggle:o.onClick},(()=>[l.createVNode(a,{type:"button",class:l.normalizeClass(o.buttonClassName),onClick:t[0]||(t[0]=e=>o.onClick(e)),disabled:i.disabled,onKeydown:o.onTogglerKeydown,"aria-expanded":s.d_visible,"aria-haspopup":!0,"aria-controls":s.id+"_list","aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,pt:e.ptm("button")},{icon:l.withCtx((()=>[l.renderSlot(e.$slots,"icon",{visible:s.d_visible},(()=>[s.d_visible&&i.hideIcon?(l.openBlock(),l.createBlock(l.resolveDynamicComponent(i.hideIcon?"span":"PlusIcon"),l.mergeProps({key:0,class:i.hideIcon},e.ptm("button").icon),null,16,["class"])):(l.openBlock(),l.createBlock(l.resolveDynamicComponent(i.showIcon?"span":"PlusIcon"),l.mergeProps({key:1,class:i.showIcon},e.ptm("button").icon),null,16,["class"]))]))])),_:3},8,["class","disabled","onKeydown","aria-expanded","aria-controls","aria-label","aria-labelledby","pt"])])),l.createElementVNode("ul",l.mergeProps({ref:o.listRef,id:s.id+"_list",class:"p-speeddial-list",role:"menu",onFocus:t[1]||(t[1]=(...e)=>o.onFocus&&o.onFocus(...e)),onBlur:t[2]||(t[2]=(...e)=>o.onBlur&&o.onBlur(...e)),onKeydown:t[3]||(t[3]=(...e)=>o.onKeyDown&&o.onKeyDown(...e)),"aria-activedescendant":s.focused?o.focusedOptionId:void 0,tabindex:"-1"},e.ptm("menu")),[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(i.model,((t,n)=>(l.openBlock(),l.createElementBlock(l.Fragment,{key:n},[o.isItemVisible(t)?(l.openBlock(),l.createElementBlock("li",l.mergeProps({key:0,id:`${s.id}_${n}`,"aria-controls":`${s.id}_item`,class:["p-speeddial-item",o.itemClass(`${s.id}_${n}`)],style:o.getItemStyle(n),role:"menuitem"},o.getPTOptions(`${s.id}_${n}`,"menuitem")),[e.$slots.item?(l.openBlock(),l.createBlock(l.resolveDynamicComponent(e.$slots.item),{key:1,item:t},null,8,["item"])):l.withDirectives((l.openBlock(),l.createElementBlock("a",l.mergeProps({key:0,tabindex:-1,href:t.url||"#",role:"menuitem",class:["p-speeddial-action",{"p-disabled":t.disabled}],target:t.target,onClick:e=>o.onItemClick(e,t),"aria-label":t.label},o.getPTOptions(`${s.id}_${n}`,"action")),[t.icon?(l.openBlock(),l.createElementBlock("span",l.mergeProps({key:0,class:["p-speeddial-action-icon",t.icon]},o.getPTOptions(`${s.id}_${n}`,"actionIcon")),null,16)):l.createCommentVNode("",!0)],16,b)),[[d,{value:t.label,disabled:!i.tooltipOptions},i.tooltipOptions],[r]])],16,f)):l.createCommentVNode("",!0)],64)))),128))],16,h)],16),i.mask?(l.openBlock(),l.createElementBlock("div",l.mergeProps({key:0,class:o.maskClassName,style:i.maskStyle},e.ptm("mask")),null,16)):l.createCommentVNode("",!0)],64)},m}(primevue.basecomponent,primevue.button,primevue.icons.plus,primevue.ripple,primevue.tooltip,primevue.utils,Vue);
@@ -8,9 +8,68 @@
8
8
  *
9
9
  */
10
10
  import { ButtonHTMLAttributes, VNode } from 'vue';
11
+ import { ButtonPassThroughOptions } from '../button';
11
12
  import { MenuItem } from '../menuitem';
13
+ import { TieredMenuPassThroughOptions } from '../tieredmenu';
12
14
  import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
13
15
 
16
+ export declare type SplitButtonPassThroughOptionType = SplitButtonPassThroughAttributes | ((options: SplitButtonPassThroughMethodOptions) => SplitButtonPassThroughAttributes) | null | undefined;
17
+
18
+ /**
19
+ * Custom passthrough(pt) option method.
20
+ */
21
+ export interface SplitButtonPassThroughMethodOptions {
22
+ props: SplitButtonProps;
23
+ state: SplitButtonState;
24
+ }
25
+
26
+ /**
27
+ * Custom passthrough(pt) options.
28
+ * @see {@link SplitButtonProps.pt}
29
+ */
30
+ export interface SplitButtonPassThroughOptions {
31
+ /**
32
+ * Uses to pass attributes to the root's DOM element.
33
+ */
34
+ root?: SplitButtonPassThroughOptionType;
35
+ /**
36
+ * Uses to pass attributes to the button's DOM element.
37
+ */
38
+ button?: SplitButtonPassThroughOptionType;
39
+ /**
40
+ * Uses to pass attributes to the icon's DOM element.
41
+ */
42
+ icon?: SplitButtonPassThroughOptionType;
43
+ /**
44
+ * Uses to pass attributes to the Button component.
45
+ * @see {@link ButtonPassThroughOptions}
46
+ */
47
+ menuButton?: ButtonPassThroughOptions;
48
+ /**
49
+ * Uses to pass attributes to the TieredMenu component.
50
+ * @see {@link TieredMenuPassThroughOptions}
51
+ */
52
+ menu?: TieredMenuPassThroughOptions;
53
+ }
54
+
55
+ /**
56
+ * Custom passthrough attributes for each DOM elements
57
+ */
58
+ export interface SplitButtonPassThroughAttributes {
59
+ [key: string]: any;
60
+ }
61
+
62
+ /**
63
+ * Defines current inline state in SplitButton component.
64
+ */
65
+ export interface SplitButtonState {
66
+ /**
67
+ * Current blocked state as a boolean.
68
+ * @defaultValue false
69
+ */
70
+ isBlocked: boolean;
71
+ }
72
+
14
73
  /**
15
74
  * Defines valid properties in SplitButton component.
16
75
  */
@@ -103,6 +162,11 @@ export interface SplitButtonProps {
103
162
  * @defaultValue false
104
163
  */
105
164
  plain?: boolean | undefined;
165
+ /**
166
+ * Uses to pass attributes to DOM elements inside the component.
167
+ * @type {SplitButtonPassThroughOptions}
168
+ */
169
+ pt?: SplitButtonPassThroughOptions;
106
170
  }
107
171
 
108
172
  /**
@@ -1,10 +1,10 @@
1
1
  <template>
2
- <div :class="containerClass" :style="style">
2
+ <div :class="containerClass" :style="style" v-bind="ptm('root')">
3
3
  <slot>
4
- <PVSButton type="button" class="p-splitbutton-defaultbutton" :label="label" :disabled="disabled" :aria-label="label" @click="onDefaultButtonClick" v-bind="buttonProps">
4
+ <PVSButton type="button" class="p-splitbutton-defaultbutton" :label="label" :disabled="disabled" :aria-label="label" @click="onDefaultButtonClick" v-bind="{ ...buttonProps, ...ptm('button') }">
5
5
  <template #icon="slotProps">
6
6
  <slot name="icon">
7
- <span :class="[icon, slotProps.class]" />
7
+ <span :class="[icon, slotProps.class]" v-bind="ptm('icon')" />
8
8
  </slot>
9
9
  </template>
10
10
  </PVSButton>
@@ -19,19 +19,21 @@
19
19
  :aria-controls="ariaId + '_overlay'"
20
20
  @click="onDropdownButtonClick"
21
21
  @keydown="onDropdownKeydown"
22
+ :pt="ptm('menuButton')"
22
23
  v-bind="menuButtonProps"
23
24
  >
24
25
  <template #icon="slotProps">
25
26
  <slot name="menubuttonicon">
26
- <component :is="menuButtonIcon ? 'span' : 'ChevronDownIcon'" :class="[menuButtonIcon, slotProps.class]" />
27
+ <component :is="menuButtonIcon ? 'span' : 'ChevronDownIcon'" :class="[menuButtonIcon, slotProps.class]" v-bind="ptm('menuButton')['icon']" />
27
28
  </slot>
28
29
  </template>
29
30
  </PVSButton>
30
- <PVSMenu ref="menu" :id="ariaId + '_overlay'" :model="model" :popup="true" :autoZIndex="autoZIndex" :baseZIndex="baseZIndex" :appendTo="appendTo" />
31
+ <PVSMenu ref="menu" :id="ariaId + '_overlay'" :model="model" :popup="true" :autoZIndex="autoZIndex" :baseZIndex="baseZIndex" :appendTo="appendTo" :pt="ptm('menu')" />
31
32
  </div>
32
33
  </template>
33
34
 
34
35
  <script>
36
+ import BaseComponent from 'primevue/basecomponent';
35
37
  import Button from 'primevue/button';
36
38
  import ChevronDownIcon from 'primevue/icons/chevrondown';
37
39
  import TieredMenu from 'primevue/tieredmenu';
@@ -39,6 +41,7 @@ import { UniqueComponentId } from 'primevue/utils';
39
41
 
40
42
  export default {
41
43
  name: 'SplitButton',
44
+ extends: BaseComponent,
42
45
  emits: ['click'],
43
46
  props: {
44
47
  label: {