primevue 3.27.0 → 3.29.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 (750) hide show
  1. package/README.md +4 -4
  2. package/autocomplete/AutoComplete.d.ts +163 -2
  3. package/autocomplete/AutoComplete.vue +47 -18
  4. package/autocomplete/autocomplete.cjs.js +84 -75
  5. package/autocomplete/autocomplete.cjs.min.js +1 -1
  6. package/autocomplete/autocomplete.esm.js +84 -76
  7. package/autocomplete/autocomplete.esm.min.js +1 -1
  8. package/autocomplete/autocomplete.js +85 -77
  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 +25 -4
  35. package/basecomponent/basecomponent.cjs.js +25 -4
  36. package/basecomponent/basecomponent.cjs.min.js +1 -1
  37. package/basecomponent/basecomponent.esm.js +25 -4
  38. package/basecomponent/basecomponent.esm.min.js +1 -1
  39. package/basecomponent/basecomponent.js +26 -6
  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/calendar/Calendar.d.ts +269 -0
  74. package/calendar/Calendar.vue +75 -59
  75. package/calendar/calendar.cjs.js +223 -259
  76. package/calendar/calendar.cjs.min.js +1 -1
  77. package/calendar/calendar.esm.js +223 -260
  78. package/calendar/calendar.esm.min.js +1 -1
  79. package/calendar/calendar.js +224 -261
  80. package/calendar/calendar.min.js +1 -1
  81. package/carousel/Carousel.d.ts +154 -0
  82. package/carousel/Carousel.vue +27 -14
  83. package/carousel/carousel.cjs.js +64 -65
  84. package/carousel/carousel.cjs.min.js +1 -1
  85. package/carousel/carousel.esm.js +64 -66
  86. package/carousel/carousel.esm.min.js +1 -1
  87. package/carousel/carousel.js +65 -67
  88. package/carousel/carousel.min.js +1 -1
  89. package/cascadeselect/CascadeSelect.d.ts +133 -0
  90. package/cascadeselect/CascadeSelect.vue +15 -12
  91. package/cascadeselect/CascadeSelectSub.vue +7 -3
  92. package/cascadeselect/cascadeselect.cjs.js +63 -66
  93. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  94. package/cascadeselect/cascadeselect.esm.js +63 -67
  95. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  96. package/cascadeselect/cascadeselect.js +64 -68
  97. package/cascadeselect/cascadeselect.min.js +1 -1
  98. package/chart/Chart.d.ts +36 -0
  99. package/chart/Chart.vue +5 -2
  100. package/chart/chart.cjs.js +10 -5
  101. package/chart/chart.cjs.min.js +1 -1
  102. package/chart/chart.esm.js +7 -6
  103. package/chart/chart.esm.min.js +1 -1
  104. package/chart/chart.js +11 -7
  105. package/chart/chart.min.js +1 -1
  106. package/checkbox/Checkbox.d.ts +60 -0
  107. package/checkbox/Checkbox.vue +7 -5
  108. package/checkbox/checkbox.cjs.js +17 -15
  109. package/checkbox/checkbox.cjs.min.js +1 -1
  110. package/checkbox/checkbox.esm.js +17 -16
  111. package/checkbox/checkbox.esm.min.js +1 -1
  112. package/checkbox/checkbox.js +18 -17
  113. package/checkbox/checkbox.min.js +1 -1
  114. package/chip/Chip.d.ts +60 -0
  115. package/chip/Chip.vue +10 -9
  116. package/chip/chip.cjs.js +35 -36
  117. package/chip/chip.cjs.min.js +1 -1
  118. package/chip/chip.esm.js +35 -37
  119. package/chip/chip.esm.min.js +1 -1
  120. package/chip/chip.js +36 -38
  121. package/chip/chip.min.js +1 -1
  122. package/chips/Chips.d.ts +80 -0
  123. package/chips/Chips.vue +9 -5
  124. package/chips/chips.cjs.js +23 -24
  125. package/chips/chips.cjs.min.js +1 -1
  126. package/chips/chips.esm.js +23 -25
  127. package/chips/chips.esm.min.js +1 -1
  128. package/chips/chips.js +24 -26
  129. package/chips/chips.min.js +1 -1
  130. package/colorpicker/ColorPicker.d.ts +76 -0
  131. package/colorpicker/ColorPicker.vue +11 -9
  132. package/colorpicker/colorpicker.cjs.js +28 -27
  133. package/colorpicker/colorpicker.cjs.min.js +1 -1
  134. package/colorpicker/colorpicker.esm.js +28 -28
  135. package/colorpicker/colorpicker.esm.min.js +1 -1
  136. package/colorpicker/colorpicker.js +29 -29
  137. package/colorpicker/colorpicker.min.js +1 -1
  138. package/column/Column.d.ts +303 -2
  139. package/column/Column.vue +3 -0
  140. package/column/column.cjs.js +7 -0
  141. package/column/column.cjs.min.js +1 -1
  142. package/column/column.esm.js +3 -0
  143. package/column/column.esm.min.js +1 -1
  144. package/column/column.js +7 -2
  145. package/column/column.min.js +1 -1
  146. package/columngroup/ColumnGroup.d.ts +34 -0
  147. package/columngroup/ColumnGroup.vue +3 -0
  148. package/columngroup/columngroup.cjs.js +7 -0
  149. package/columngroup/columngroup.cjs.min.js +1 -1
  150. package/columngroup/columngroup.esm.js +3 -0
  151. package/columngroup/columngroup.esm.min.js +1 -1
  152. package/columngroup/columngroup.js +7 -2
  153. package/columngroup/columngroup.min.js +1 -1
  154. package/config/PrimeVue.d.ts +169 -0
  155. package/config/config.cjs.js +3 -1
  156. package/config/config.cjs.min.js +1 -1
  157. package/config/config.esm.js +3 -2
  158. package/config/config.esm.min.js +1 -1
  159. package/config/config.js +3 -1
  160. package/config/config.min.js +1 -1
  161. package/confirmdialog/ConfirmDialog.d.ts +95 -0
  162. package/confirmdialog/ConfirmDialog.vue +9 -6
  163. package/confirmdialog/confirmdialog.cjs.js +22 -18
  164. package/confirmdialog/confirmdialog.cjs.min.js +1 -1
  165. package/confirmdialog/confirmdialog.esm.js +22 -19
  166. package/confirmdialog/confirmdialog.esm.min.js +1 -1
  167. package/confirmdialog/confirmdialog.js +23 -20
  168. package/confirmdialog/confirmdialog.min.js +1 -1
  169. package/confirmpopup/ConfirmPopup.d.ts +75 -0
  170. package/confirmpopup/ConfirmPopup.vue +11 -9
  171. package/confirmpopup/confirmpopup.cjs.js +27 -25
  172. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  173. package/confirmpopup/confirmpopup.esm.js +27 -26
  174. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  175. package/confirmpopup/confirmpopup.js +28 -27
  176. package/confirmpopup/confirmpopup.min.js +1 -1
  177. package/contextmenu/ContextMenu.d.ts +135 -0
  178. package/contextmenu/ContextMenu.vue +4 -1
  179. package/contextmenu/ContextMenuSub.vue +46 -10
  180. package/contextmenu/contextmenu.cjs.js +57 -46
  181. package/contextmenu/contextmenu.cjs.min.js +1 -1
  182. package/contextmenu/contextmenu.esm.js +57 -47
  183. package/contextmenu/contextmenu.esm.min.js +1 -1
  184. package/contextmenu/contextmenu.js +58 -48
  185. package/contextmenu/contextmenu.min.js +1 -1
  186. package/core/core.js +717 -568
  187. package/core/core.min.js +17 -17
  188. package/datatable/BodyCell.vue +29 -13
  189. package/datatable/ColumnFilter.vue +49 -20
  190. package/datatable/DataTable.d.ts +188 -1
  191. package/datatable/DataTable.vue +25 -14
  192. package/datatable/FooterCell.vue +15 -1
  193. package/datatable/HeaderCell.vue +31 -6
  194. package/datatable/HeaderCheckbox.vue +35 -5
  195. package/datatable/RowCheckbox.vue +36 -5
  196. package/datatable/RowRadioButton.vue +26 -6
  197. package/datatable/TableBody.vue +41 -11
  198. package/datatable/TableFooter.vue +31 -5
  199. package/datatable/TableHeader.vue +53 -6
  200. package/datatable/datatable.cjs.js +559 -376
  201. package/datatable/datatable.cjs.min.js +1 -1
  202. package/datatable/datatable.esm.js +559 -377
  203. package/datatable/datatable.esm.min.js +1 -1
  204. package/datatable/datatable.js +560 -378
  205. package/datatable/datatable.min.js +1 -1
  206. package/dataview/DataView.d.ts +72 -0
  207. package/dataview/DataView.vue +13 -8
  208. package/dataview/dataview.cjs.js +33 -37
  209. package/dataview/dataview.cjs.min.js +1 -1
  210. package/dataview/dataview.esm.js +33 -38
  211. package/dataview/dataview.esm.min.js +1 -1
  212. package/dataview/dataview.js +33 -38
  213. package/dataview/dataview.min.js +1 -1
  214. package/dataviewlayoutoptions/DataViewLayoutOptions.d.ts +65 -0
  215. package/dataviewlayoutoptions/DataViewLayoutOptions.vue +7 -5
  216. package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.js +19 -17
  217. package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.min.js +1 -1
  218. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.js +19 -18
  219. package/dataviewlayoutoptions/dataviewlayoutoptions.esm.min.js +1 -1
  220. package/dataviewlayoutoptions/dataviewlayoutoptions.js +20 -19
  221. package/dataviewlayoutoptions/dataviewlayoutoptions.min.js +1 -1
  222. package/dialog/Dialog.d.ts +89 -0
  223. package/dialog/Dialog.vue +23 -11
  224. package/dialog/dialog.cjs.js +30 -30
  225. package/dialog/dialog.cjs.min.js +1 -1
  226. package/dialog/dialog.esm.js +30 -31
  227. package/dialog/dialog.esm.min.js +1 -1
  228. package/dialog/dialog.js +31 -32
  229. package/dialog/dialog.min.js +1 -1
  230. package/dock/Dock.d.ts +94 -0
  231. package/dock/Dock.vue +4 -2
  232. package/dock/DockSub.vue +30 -6
  233. package/dock/dock.cjs.js +52 -39
  234. package/dock/dock.cjs.min.js +1 -1
  235. package/dock/dock.esm.js +52 -40
  236. package/dock/dock.esm.min.js +1 -1
  237. package/dock/dock.js +53 -41
  238. package/dock/dock.min.js +1 -1
  239. package/dropdown/Dropdown.d.ts +162 -1
  240. package/dropdown/Dropdown.vue +45 -26
  241. package/dropdown/dropdown.cjs.js +98 -94
  242. package/dropdown/dropdown.cjs.min.js +1 -1
  243. package/dropdown/dropdown.esm.js +98 -95
  244. package/dropdown/dropdown.esm.min.js +1 -1
  245. package/dropdown/dropdown.js +99 -96
  246. package/dropdown/dropdown.min.js +1 -1
  247. package/dynamicdialog/DynamicDialog.vue +3 -1
  248. package/dynamicdialog/dynamicdialog.cjs.js +5 -1
  249. package/dynamicdialog/dynamicdialog.cjs.min.js +1 -1
  250. package/dynamicdialog/dynamicdialog.esm.js +4 -1
  251. package/dynamicdialog/dynamicdialog.esm.min.js +1 -1
  252. package/dynamicdialog/dynamicdialog.js +6 -3
  253. package/dynamicdialog/dynamicdialog.min.js +1 -1
  254. package/editor/Editor.d.ts +67 -0
  255. package/editor/Editor.vue +35 -33
  256. package/editor/editor.cjs.js +88 -73
  257. package/editor/editor.cjs.min.js +1 -1
  258. package/editor/editor.esm.js +85 -74
  259. package/editor/editor.esm.min.js +1 -1
  260. package/editor/editor.js +89 -75
  261. package/editor/editor.min.js +1 -1
  262. package/fileupload/FileContent.vue +11 -9
  263. package/fileupload/FileUpload.d.ts +154 -0
  264. package/fileupload/FileUpload.vue +25 -23
  265. package/fileupload/fileupload.cjs.js +98 -95
  266. package/fileupload/fileupload.cjs.min.js +1 -1
  267. package/fileupload/fileupload.esm.js +98 -96
  268. package/fileupload/fileupload.esm.min.js +1 -1
  269. package/fileupload/fileupload.js +99 -97
  270. package/fileupload/fileupload.min.js +1 -1
  271. package/galleria/Galleria.d.ts +196 -0
  272. package/galleria/Galleria.vue +5 -3
  273. package/galleria/GalleriaContent.vue +10 -6
  274. package/galleria/GalleriaItem.vue +12 -9
  275. package/galleria/GalleriaThumbnails.vue +46 -9
  276. package/galleria/galleria.cjs.js +106 -104
  277. package/galleria/galleria.cjs.min.js +1 -1
  278. package/galleria/galleria.esm.js +106 -105
  279. package/galleria/galleria.esm.min.js +1 -1
  280. package/galleria/galleria.js +107 -106
  281. package/galleria/galleria.min.js +1 -1
  282. package/image/Image.d.ts +170 -0
  283. package/image/Image.vue +49 -21
  284. package/image/image.cjs.js +94 -59
  285. package/image/image.cjs.min.js +1 -1
  286. package/image/image.esm.js +94 -60
  287. package/image/image.esm.min.js +1 -1
  288. package/image/image.js +95 -61
  289. package/image/image.min.js +1 -1
  290. package/inlinemessage/InlineMessage.d.ts +52 -0
  291. package/inlinemessage/InlineMessage.vue +7 -3
  292. package/inlinemessage/inlinemessage.cjs.js +12 -11
  293. package/inlinemessage/inlinemessage.cjs.min.js +1 -1
  294. package/inlinemessage/inlinemessage.esm.js +12 -12
  295. package/inlinemessage/inlinemessage.esm.min.js +1 -1
  296. package/inlinemessage/inlinemessage.js +13 -13
  297. package/inlinemessage/inlinemessage.min.js +1 -1
  298. package/inplace/Inplace.d.ts +59 -0
  299. package/inplace/Inplace.vue +7 -5
  300. package/inplace/inplace.cjs.js +17 -16
  301. package/inplace/inplace.cjs.min.js +1 -1
  302. package/inplace/inplace.esm.js +17 -17
  303. package/inplace/inplace.esm.min.js +1 -1
  304. package/inplace/inplace.js +18 -18
  305. package/inplace/inplace.min.js +1 -1
  306. package/inputmask/InputMask.d.ts +25 -0
  307. package/inputmask/InputMask.vue +3 -1
  308. package/inputmask/inputmask.cjs.js +9 -3
  309. package/inputmask/inputmask.cjs.min.js +1 -1
  310. package/inputmask/inputmask.esm.js +6 -4
  311. package/inputmask/inputmask.esm.min.js +1 -1
  312. package/inputmask/inputmask.js +10 -5
  313. package/inputmask/inputmask.min.js +1 -1
  314. package/inputnumber/InputNumber.d.ts +69 -0
  315. package/inputnumber/InputNumber.vue +13 -11
  316. package/inputnumber/inputnumber.cjs.js +19 -28
  317. package/inputnumber/inputnumber.cjs.min.js +1 -1
  318. package/inputnumber/inputnumber.esm.js +19 -29
  319. package/inputnumber/inputnumber.esm.min.js +1 -1
  320. package/inputnumber/inputnumber.js +20 -30
  321. package/inputnumber/inputnumber.min.js +1 -1
  322. package/inputswitch/InputSwitch.d.ts +51 -0
  323. package/inputswitch/InputSwitch.vue +7 -4
  324. package/inputswitch/inputswitch.cjs.js +15 -11
  325. package/inputswitch/inputswitch.cjs.min.js +1 -1
  326. package/inputswitch/inputswitch.esm.js +12 -12
  327. package/inputswitch/inputswitch.esm.min.js +1 -1
  328. package/inputswitch/inputswitch.js +16 -13
  329. package/inputswitch/inputswitch.min.js +1 -1
  330. package/inputtext/InputText.d.ts +25 -0
  331. package/inputtext/InputText.vue +4 -1
  332. package/inputtext/inputtext.cjs.js +9 -3
  333. package/inputtext/inputtext.cjs.min.js +1 -1
  334. package/inputtext/inputtext.esm.js +6 -4
  335. package/inputtext/inputtext.esm.min.js +1 -1
  336. package/inputtext/inputtext.js +10 -5
  337. package/inputtext/inputtext.min.js +1 -1
  338. package/knob/Knob.d.ts +78 -0
  339. package/knob/Knob.vue +8 -4
  340. package/knob/knob.cjs.js +17 -13
  341. package/knob/knob.cjs.min.js +1 -1
  342. package/knob/knob.esm.js +14 -14
  343. package/knob/knob.esm.min.js +1 -1
  344. package/knob/knob.js +18 -15
  345. package/knob/knob.min.js +1 -1
  346. package/listbox/Listbox.d.ts +138 -2
  347. package/listbox/Listbox.vue +28 -15
  348. package/listbox/listbox.cjs.js +83 -78
  349. package/listbox/listbox.cjs.min.js +1 -1
  350. package/listbox/listbox.esm.js +83 -79
  351. package/listbox/listbox.esm.min.js +1 -1
  352. package/listbox/listbox.js +84 -80
  353. package/listbox/listbox.min.js +1 -1
  354. package/megamenu/MegaMenu.d.ts +149 -0
  355. package/megamenu/MegaMenu.vue +6 -3
  356. package/megamenu/MegaMenuSub.vue +43 -15
  357. package/megamenu/megamenu.cjs.js +83 -75
  358. package/megamenu/megamenu.cjs.min.js +1 -1
  359. package/megamenu/megamenu.esm.js +83 -76
  360. package/megamenu/megamenu.esm.min.js +1 -1
  361. package/megamenu/megamenu.js +84 -77
  362. package/megamenu/megamenu.min.js +1 -1
  363. package/menu/Menu.d.ts +113 -0
  364. package/menu/Menu.vue +11 -8
  365. package/menu/Menuitem.vue +20 -8
  366. package/menu/menu.cjs.js +73 -62
  367. package/menu/menu.cjs.min.js +1 -1
  368. package/menu/menu.esm.js +73 -63
  369. package/menu/menu.esm.min.js +1 -1
  370. package/menu/menu.js +74 -64
  371. package/menu/menu.min.js +1 -1
  372. package/menubar/Menubar.d.ts +146 -0
  373. package/menubar/Menubar.vue +8 -5
  374. package/menubar/MenubarSub.vue +38 -10
  375. package/menubar/menubar.cjs.js +70 -60
  376. package/menubar/menubar.cjs.min.js +1 -1
  377. package/menubar/menubar.esm.js +70 -61
  378. package/menubar/menubar.esm.min.js +1 -1
  379. package/menubar/menubar.js +71 -62
  380. package/menubar/menubar.min.js +1 -1
  381. package/message/Message.d.ts +64 -1
  382. package/message/Message.vue +9 -7
  383. package/message/message.cjs.js +22 -21
  384. package/message/message.cjs.min.js +1 -1
  385. package/message/message.esm.js +22 -22
  386. package/message/message.esm.min.js +1 -1
  387. package/message/message.js +23 -23
  388. package/message/message.min.js +1 -1
  389. package/multiselect/MultiSelect.d.ts +224 -2
  390. package/multiselect/MultiSelect.vue +72 -41
  391. package/multiselect/multiselect.cjs.js +156 -151
  392. package/multiselect/multiselect.cjs.min.js +1 -1
  393. package/multiselect/multiselect.esm.js +156 -152
  394. package/multiselect/multiselect.esm.min.js +1 -1
  395. package/multiselect/multiselect.js +157 -153
  396. package/multiselect/multiselect.min.js +1 -1
  397. package/orderlist/OrderList.d.ts +94 -0
  398. package/orderlist/OrderList.vue +38 -18
  399. package/orderlist/orderlist.cjs.js +50 -36
  400. package/orderlist/orderlist.cjs.min.js +1 -1
  401. package/orderlist/orderlist.esm.js +50 -37
  402. package/orderlist/orderlist.esm.min.js +1 -1
  403. package/orderlist/orderlist.js +51 -38
  404. package/orderlist/orderlist.min.js +1 -1
  405. package/organizationchart/OrganizationChart.d.ts +129 -0
  406. package/organizationchart/OrganizationChart.vue +14 -2
  407. package/organizationchart/OrganizationChartNode.vue +37 -16
  408. package/organizationchart/organizationchart.cjs.js +77 -61
  409. package/organizationchart/organizationchart.cjs.min.js +1 -1
  410. package/organizationchart/organizationchart.esm.js +77 -62
  411. package/organizationchart/organizationchart.esm.min.js +1 -1
  412. package/organizationchart/organizationchart.js +78 -63
  413. package/organizationchart/organizationchart.min.js +1 -1
  414. package/overlaypanel/OverlayPanel.d.ts +56 -0
  415. package/overlaypanel/OverlayPanel.vue +6 -4
  416. package/overlaypanel/overlaypanel.cjs.js +13 -10
  417. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  418. package/overlaypanel/overlaypanel.esm.js +13 -11
  419. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  420. package/overlaypanel/overlaypanel.js +14 -12
  421. package/overlaypanel/overlaypanel.min.js +1 -1
  422. package/package.json +1 -1
  423. package/paginator/CurrentPageReport.vue +5 -1
  424. package/paginator/FirstPageLink.vue +13 -2
  425. package/paginator/JumpToPageDropdown.vue +3 -1
  426. package/paginator/JumpToPageInput.vue +3 -1
  427. package/paginator/LastPageLink.vue +13 -2
  428. package/paginator/NextPageLink.vue +13 -2
  429. package/paginator/PageLinks.vue +12 -2
  430. package/paginator/Paginator.d.ts +133 -0
  431. package/paginator/Paginator.vue +23 -12
  432. package/paginator/PrevPageLink.vue +13 -2
  433. package/paginator/RowsPerPageDropdown.vue +3 -1
  434. package/paginator/paginator.cjs.js +135 -76
  435. package/paginator/paginator.cjs.min.js +1 -1
  436. package/paginator/paginator.esm.js +135 -77
  437. package/paginator/paginator.esm.min.js +1 -1
  438. package/paginator/paginator.js +136 -78
  439. package/paginator/paginator.min.js +1 -1
  440. package/panel/Panel.d.ts +10 -1
  441. package/panel/Panel.vue +1 -1
  442. package/panel/panel.cjs.js +4 -1
  443. package/panel/panel.cjs.min.js +1 -1
  444. package/panel/panel.esm.js +4 -1
  445. package/panel/panel.esm.min.js +1 -1
  446. package/panel/panel.js +4 -1
  447. package/panel/panel.min.js +1 -1
  448. package/panelmenu/PanelMenu.d.ts +129 -0
  449. package/panelmenu/PanelMenu.vue +36 -13
  450. package/panelmenu/PanelMenuList.vue +3 -0
  451. package/panelmenu/PanelMenuSub.vue +33 -12
  452. package/panelmenu/panelmenu.cjs.js +115 -96
  453. package/panelmenu/panelmenu.cjs.min.js +1 -1
  454. package/panelmenu/panelmenu.esm.js +115 -97
  455. package/panelmenu/panelmenu.esm.min.js +1 -1
  456. package/panelmenu/panelmenu.js +116 -98
  457. package/panelmenu/panelmenu.min.js +1 -1
  458. package/password/Password.d.ts +104 -0
  459. package/password/Password.vue +13 -11
  460. package/password/password.cjs.js +28 -30
  461. package/password/password.cjs.min.js +1 -1
  462. package/password/password.esm.js +28 -31
  463. package/password/password.esm.min.js +1 -1
  464. package/password/password.js +29 -32
  465. package/password/password.min.js +1 -1
  466. package/picklist/PickList.d.ts +160 -0
  467. package/picklist/PickList.vue +46 -34
  468. package/picklist/picklist.cjs.js +111 -85
  469. package/picklist/picklist.cjs.min.js +1 -1
  470. package/picklist/picklist.esm.js +111 -86
  471. package/picklist/picklist.esm.min.js +1 -1
  472. package/picklist/picklist.js +112 -87
  473. package/picklist/picklist.min.js +1 -1
  474. package/progressbar/ProgressBar.d.ts +40 -0
  475. package/progressbar/ProgressBar.vue +8 -5
  476. package/progressbar/progressbar.cjs.js +25 -23
  477. package/progressbar/progressbar.cjs.min.js +1 -1
  478. package/progressbar/progressbar.esm.js +22 -24
  479. package/progressbar/progressbar.esm.min.js +1 -1
  480. package/progressbar/progressbar.js +26 -25
  481. package/progressbar/progressbar.min.js +1 -1
  482. package/progressspinner/ProgressSpinner.d.ts +40 -0
  483. package/progressspinner/ProgressSpinner.vue +6 -3
  484. package/progressspinner/progressspinner.cjs.js +18 -13
  485. package/progressspinner/progressspinner.cjs.min.js +1 -1
  486. package/progressspinner/progressspinner.esm.js +15 -14
  487. package/progressspinner/progressspinner.esm.min.js +1 -1
  488. package/progressspinner/progressspinner.js +19 -15
  489. package/progressspinner/progressspinner.min.js +1 -1
  490. package/radiobutton/RadioButton.d.ts +55 -0
  491. package/radiobutton/RadioButton.vue +7 -5
  492. package/radiobutton/radiobutton.cjs.js +19 -16
  493. package/radiobutton/radiobutton.cjs.min.js +1 -1
  494. package/radiobutton/radiobutton.esm.js +16 -17
  495. package/radiobutton/radiobutton.esm.min.js +1 -1
  496. package/radiobutton/radiobutton.js +20 -18
  497. package/radiobutton/radiobutton.min.js +1 -1
  498. package/rating/Rating.d.ts +96 -0
  499. package/rating/Rating.vue +32 -9
  500. package/rating/rating.cjs.js +41 -34
  501. package/rating/rating.cjs.min.js +1 -1
  502. package/rating/rating.esm.js +41 -35
  503. package/rating/rating.esm.min.js +1 -1
  504. package/rating/rating.js +42 -36
  505. package/rating/rating.min.js +1 -1
  506. package/resources/themes/arya-blue/theme.css +1 -1
  507. package/resources/themes/arya-green/theme.css +1 -1
  508. package/resources/themes/arya-orange/theme.css +1 -1
  509. package/resources/themes/arya-purple/theme.css +1 -1
  510. package/resources/themes/bootstrap4-dark-blue/theme.css +1 -1
  511. package/resources/themes/bootstrap4-dark-purple/theme.css +1 -1
  512. package/resources/themes/bootstrap4-light-blue/theme.css +1 -1
  513. package/resources/themes/bootstrap4-light-purple/theme.css +1 -1
  514. package/resources/themes/fluent-light/theme.css +1 -1
  515. package/resources/themes/lara-dark-blue/theme.css +1 -1
  516. package/resources/themes/lara-dark-indigo/theme.css +1 -1
  517. package/resources/themes/lara-dark-purple/theme.css +1 -1
  518. package/resources/themes/lara-dark-teal/theme.css +1 -1
  519. package/resources/themes/lara-light-blue/theme.css +1 -1
  520. package/resources/themes/lara-light-indigo/theme.css +1 -1
  521. package/resources/themes/lara-light-purple/theme.css +1 -1
  522. package/resources/themes/lara-light-teal/theme.css +1 -1
  523. package/resources/themes/luna-amber/theme.css +1 -1
  524. package/resources/themes/luna-blue/theme.css +1 -1
  525. package/resources/themes/luna-green/theme.css +1 -1
  526. package/resources/themes/luna-pink/theme.css +1 -1
  527. package/resources/themes/md-dark-deeppurple/theme.css +4 -1
  528. package/resources/themes/md-dark-indigo/theme.css +4 -1
  529. package/resources/themes/md-light-deeppurple/theme.css +4 -1
  530. package/resources/themes/md-light-indigo/theme.css +4 -1
  531. package/resources/themes/mdc-dark-deeppurple/theme.css +4 -1
  532. package/resources/themes/mdc-dark-indigo/theme.css +4 -1
  533. package/resources/themes/mdc-light-deeppurple/theme.css +4 -1
  534. package/resources/themes/mdc-light-indigo/theme.css +4 -1
  535. package/resources/themes/mira/theme.css +1 -1
  536. package/resources/themes/nano/theme.css +1 -1
  537. package/resources/themes/nova/theme.css +1 -1
  538. package/resources/themes/nova-accent/theme.css +1 -1
  539. package/resources/themes/nova-alt/theme.css +1 -1
  540. package/resources/themes/nova-vue/theme.css +1 -1
  541. package/resources/themes/rhea/theme.css +1 -1
  542. package/resources/themes/saga-blue/theme.css +1 -1
  543. package/resources/themes/saga-green/theme.css +1 -1
  544. package/resources/themes/saga-orange/theme.css +1 -1
  545. package/resources/themes/saga-purple/theme.css +1 -1
  546. package/resources/themes/soho-dark/theme.css +1 -1
  547. package/resources/themes/soho-light/theme.css +1 -1
  548. package/resources/themes/tailwind-light/theme.css +1 -1
  549. package/resources/themes/vela-blue/theme.css +1 -1
  550. package/resources/themes/vela-green/theme.css +1 -1
  551. package/resources/themes/vela-orange/theme.css +1 -1
  552. package/resources/themes/vela-purple/theme.css +1 -1
  553. package/resources/themes/viva-dark/theme.css +1 -1
  554. package/resources/themes/viva-light/theme.css +1 -1
  555. package/row/Row.d.ts +29 -0
  556. package/row/Row.vue +3 -0
  557. package/row/row.cjs.js +7 -0
  558. package/row/row.cjs.min.js +1 -1
  559. package/row/row.esm.js +3 -0
  560. package/row/row.esm.min.js +1 -1
  561. package/row/row.js +7 -2
  562. package/row/row.min.js +1 -1
  563. package/scrolltop/ScrollTop.d.ts +48 -0
  564. package/scrolltop/ScrollTop.vue +5 -2
  565. package/scrolltop/scrolltop.cjs.js +10 -7
  566. package/scrolltop/scrolltop.cjs.min.js +1 -1
  567. package/scrolltop/scrolltop.esm.js +10 -8
  568. package/scrolltop/scrolltop.esm.min.js +1 -1
  569. package/scrolltop/scrolltop.js +11 -9
  570. package/scrolltop/scrolltop.min.js +1 -1
  571. package/selectbutton/SelectButton.d.ts +68 -0
  572. package/selectbutton/SelectButton.vue +13 -2
  573. package/selectbutton/selectbutton.cjs.js +20 -10
  574. package/selectbutton/selectbutton.cjs.min.js +1 -1
  575. package/selectbutton/selectbutton.esm.js +20 -11
  576. package/selectbutton/selectbutton.esm.min.js +1 -1
  577. package/selectbutton/selectbutton.js +21 -12
  578. package/selectbutton/selectbutton.min.js +1 -1
  579. package/sidebar/Sidebar.d.ts +68 -0
  580. package/sidebar/Sidebar.vue +9 -7
  581. package/sidebar/sidebar.cjs.js +26 -24
  582. package/sidebar/sidebar.cjs.min.js +1 -1
  583. package/sidebar/sidebar.esm.js +26 -25
  584. package/sidebar/sidebar.esm.min.js +1 -1
  585. package/sidebar/sidebar.js +27 -26
  586. package/sidebar/sidebar.min.js +1 -1
  587. package/skeleton/Skeleton.d.ts +32 -0
  588. package/skeleton/Skeleton.vue +4 -1
  589. package/skeleton/skeleton.cjs.js +10 -4
  590. package/skeleton/skeleton.cjs.min.js +1 -1
  591. package/skeleton/skeleton.esm.js +7 -5
  592. package/skeleton/skeleton.esm.min.js +1 -1
  593. package/skeleton/skeleton.js +11 -6
  594. package/skeleton/skeleton.min.js +1 -1
  595. package/slider/Slider.d.ts +48 -0
  596. package/slider/Slider.vue +7 -2
  597. package/slider/slider.cjs.js +22 -16
  598. package/slider/slider.cjs.min.js +1 -1
  599. package/slider/slider.esm.js +19 -17
  600. package/slider/slider.esm.min.js +1 -1
  601. package/slider/slider.js +23 -18
  602. package/slider/slider.min.js +1 -1
  603. package/speeddial/SpeedDial.d.ts +101 -0
  604. package/speeddial/SpeedDial.vue +31 -8
  605. package/speeddial/speeddial.cjs.js +47 -33
  606. package/speeddial/speeddial.cjs.min.js +1 -1
  607. package/speeddial/speeddial.esm.js +47 -34
  608. package/speeddial/speeddial.esm.min.js +1 -1
  609. package/speeddial/speeddial.js +48 -35
  610. package/speeddial/speeddial.min.js +1 -1
  611. package/splitbutton/SplitButton.d.ts +60 -0
  612. package/splitbutton/SplitButton.vue +8 -5
  613. package/splitbutton/splitbutton.cjs.js +25 -19
  614. package/splitbutton/splitbutton.cjs.min.js +1 -1
  615. package/splitbutton/splitbutton.esm.js +25 -20
  616. package/splitbutton/splitbutton.esm.min.js +1 -1
  617. package/splitbutton/splitbutton.js +26 -21
  618. package/splitbutton/splitbutton.min.js +1 -1
  619. package/splitter/Splitter.d.ts +3 -3
  620. package/steps/Steps.d.ts +52 -0
  621. package/steps/Steps.vue +11 -8
  622. package/steps/steps.cjs.js +34 -33
  623. package/steps/steps.cjs.min.js +1 -1
  624. package/steps/steps.esm.js +31 -34
  625. package/steps/steps.esm.min.js +1 -1
  626. package/steps/steps.js +35 -35
  627. package/steps/steps.min.js +1 -1
  628. package/tabmenu/TabMenu.d.ts +79 -0
  629. package/tabmenu/TabMenu.vue +20 -10
  630. package/tabmenu/tabmenu.cjs.js +47 -41
  631. package/tabmenu/tabmenu.cjs.min.js +1 -1
  632. package/tabmenu/tabmenu.esm.js +47 -42
  633. package/tabmenu/tabmenu.esm.min.js +1 -1
  634. package/tabmenu/tabmenu.js +48 -43
  635. package/tabmenu/tabmenu.min.js +1 -1
  636. package/tag/Tag.d.ts +40 -0
  637. package/tag/Tag.vue +7 -4
  638. package/tag/tag.cjs.js +14 -12
  639. package/tag/tag.cjs.min.js +1 -1
  640. package/tag/tag.esm.js +11 -13
  641. package/tag/tag.esm.min.js +1 -1
  642. package/tag/tag.js +15 -14
  643. package/tag/tag.min.js +1 -1
  644. package/terminal/Terminal.d.ts +79 -0
  645. package/terminal/Terminal.vue +12 -10
  646. package/terminal/terminal.cjs.js +23 -28
  647. package/terminal/terminal.cjs.min.js +1 -1
  648. package/terminal/terminal.esm.js +23 -29
  649. package/terminal/terminal.esm.min.js +1 -1
  650. package/terminal/terminal.js +24 -30
  651. package/terminal/terminal.min.js +1 -1
  652. package/textarea/Textarea.d.ts +32 -0
  653. package/textarea/Textarea.vue +4 -1
  654. package/textarea/textarea.cjs.js +9 -3
  655. package/textarea/textarea.cjs.min.js +1 -1
  656. package/textarea/textarea.esm.js +6 -4
  657. package/textarea/textarea.esm.min.js +1 -1
  658. package/textarea/textarea.js +10 -5
  659. package/textarea/textarea.min.js +1 -1
  660. package/tieredmenu/TieredMenu.d.ts +130 -0
  661. package/tieredmenu/TieredMenu.vue +4 -1
  662. package/tieredmenu/TieredMenuSub.vue +39 -11
  663. package/tieredmenu/tieredmenu.cjs.js +53 -41
  664. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  665. package/tieredmenu/tieredmenu.esm.js +53 -42
  666. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  667. package/tieredmenu/tieredmenu.js +54 -43
  668. package/tieredmenu/tieredmenu.min.js +1 -1
  669. package/timeline/Timeline.d.ts +49 -0
  670. package/timeline/Timeline.vue +9 -7
  671. package/timeline/timeline.cjs.js +19 -21
  672. package/timeline/timeline.cjs.min.js +1 -1
  673. package/timeline/timeline.esm.js +16 -22
  674. package/timeline/timeline.esm.min.js +1 -1
  675. package/timeline/timeline.js +20 -23
  676. package/timeline/timeline.min.js +1 -1
  677. package/toast/Toast.d.ts +83 -0
  678. package/toast/Toast.vue +5 -2
  679. package/toast/ToastMessage.vue +12 -10
  680. package/toast/toast.cjs.js +34 -34
  681. package/toast/toast.cjs.min.js +1 -1
  682. package/toast/toast.esm.js +34 -35
  683. package/toast/toast.esm.min.js +1 -1
  684. package/toast/toast.js +35 -36
  685. package/toast/toast.min.js +1 -1
  686. package/togglebutton/ToggleButton.d.ts +59 -0
  687. package/togglebutton/ToggleButton.vue +7 -5
  688. package/togglebutton/togglebutton.cjs.js +15 -14
  689. package/togglebutton/togglebutton.cjs.min.js +1 -1
  690. package/togglebutton/togglebutton.esm.js +15 -15
  691. package/togglebutton/togglebutton.esm.min.js +1 -1
  692. package/togglebutton/togglebutton.js +16 -16
  693. package/togglebutton/togglebutton.min.js +1 -1
  694. package/tooltip/Tooltip.d.ts +10 -0
  695. package/tooltip/tooltip.cjs.js +51 -9
  696. package/tooltip/tooltip.cjs.min.js +1 -1
  697. package/tooltip/tooltip.esm.js +52 -10
  698. package/tooltip/tooltip.esm.min.js +1 -1
  699. package/tooltip/tooltip.js +51 -9
  700. package/tooltip/tooltip.min.js +1 -1
  701. package/tree/Tree.d.ts +137 -0
  702. package/tree/Tree.vue +12 -9
  703. package/tree/TreeNode.vue +23 -10
  704. package/tree/tree.cjs.js +85 -79
  705. package/tree/tree.cjs.min.js +1 -1
  706. package/tree/tree.esm.js +85 -80
  707. package/tree/tree.esm.min.js +1 -1
  708. package/tree/tree.js +86 -81
  709. package/tree/tree.min.js +1 -1
  710. package/treeselect/TreeSelect.d.ts +104 -3
  711. package/treeselect/TreeSelect.vue +15 -12
  712. package/treeselect/treeselect.cjs.js +37 -39
  713. package/treeselect/treeselect.cjs.min.js +1 -1
  714. package/treeselect/treeselect.esm.js +37 -40
  715. package/treeselect/treeselect.esm.min.js +1 -1
  716. package/treeselect/treeselect.js +38 -41
  717. package/treeselect/treeselect.min.js +1 -1
  718. package/treetable/BodyCell.vue +38 -10
  719. package/treetable/FooterCell.vue +15 -1
  720. package/treetable/HeaderCell.vue +28 -5
  721. package/treetable/TreeTable.d.ts +162 -0
  722. package/treetable/TreeTable.vue +25 -19
  723. package/treetable/TreeTableRow.vue +5 -0
  724. package/treetable/treetable.cjs.js +205 -158
  725. package/treetable/treetable.cjs.min.js +1 -1
  726. package/treetable/treetable.esm.js +205 -159
  727. package/treetable/treetable.esm.min.js +1 -1
  728. package/treetable/treetable.js +206 -160
  729. package/treetable/treetable.min.js +1 -1
  730. package/tristatecheckbox/TriStateCheckbox.d.ts +93 -0
  731. package/tristatecheckbox/TriStateCheckbox.vue +19 -8
  732. package/tristatecheckbox/tristatecheckbox.cjs.js +31 -22
  733. package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
  734. package/tristatecheckbox/tristatecheckbox.esm.js +31 -23
  735. package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
  736. package/tristatecheckbox/tristatecheckbox.js +32 -24
  737. package/tristatecheckbox/tristatecheckbox.min.js +1 -1
  738. package/ts-helpers.d.ts +3 -1
  739. package/vetur-attributes.json +340 -0
  740. package/vetur-tags.json +173 -73
  741. package/virtualscroller/VirtualScroller.d.ts +97 -0
  742. package/virtualscroller/VirtualScroller.vue +7 -5
  743. package/virtualscroller/virtualscroller.cjs.js +22 -19
  744. package/virtualscroller/virtualscroller.cjs.min.js +1 -1
  745. package/virtualscroller/virtualscroller.esm.js +22 -20
  746. package/virtualscroller/virtualscroller.esm.min.js +1 -1
  747. package/virtualscroller/virtualscroller.js +23 -21
  748. package/virtualscroller/virtualscroller.min.js +1 -1
  749. package/web-types.json +873 -7
  750. package/datatable/TableLoadingBody.vue +0 -25
@@ -1,15 +1,17 @@
1
1
  this.primevue = this.primevue || {};
2
- this.primevue.listbox = (function (api, SearchIcon, Ripple, utils, VirtualScroller, vue) {
2
+ this.primevue.listbox = (function (api, BaseComponent, SearchIcon, Ripple, utils, VirtualScroller, 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 SearchIcon__default = /*#__PURE__*/_interopDefaultLegacy(SearchIcon);
8
9
  var Ripple__default = /*#__PURE__*/_interopDefaultLegacy(Ripple);
9
10
  var VirtualScroller__default = /*#__PURE__*/_interopDefaultLegacy(VirtualScroller);
10
11
 
11
12
  var script = {
12
13
  name: 'Listbox',
14
+ extends: BaseComponent__default["default"],
13
15
  emits: ['update:modelValue', 'change', 'focus', 'blur', 'filter'],
14
16
  props: {
15
17
  modelValue: null,
@@ -126,6 +128,15 @@ this.primevue.listbox = (function (api, SearchIcon, Ripple, utils, VirtualScroll
126
128
  getOptionRenderKey(option, index) {
127
129
  return (this.dataKey ? utils.ObjectUtils.resolveFieldData(option, this.dataKey) : this.getOptionLabel(option)) + '_' + index;
128
130
  },
131
+ getPTOptions(option, itemOptions, index, key) {
132
+ return this.ptm(key, {
133
+ context: {
134
+ selected: this.isSelected(option),
135
+ focused: this.focusedOptionIndex === this.getOptionIndex(index, itemOptions),
136
+ disabled: this.isOptionDisabled(option)
137
+ }
138
+ });
139
+ },
129
140
  isOptionDisabled(option) {
130
141
  return this.optionDisabled ? utils.ObjectUtils.resolveFieldData(option, this.optionDisabled) : false;
131
142
  },
@@ -666,67 +677,39 @@ this.primevue.listbox = (function (api, SearchIcon, Ripple, utils, VirtualScroll
666
677
 
667
678
  const _hoisted_1 = ["id"];
668
679
  const _hoisted_2 = ["tabindex"];
669
- const _hoisted_3 = {
670
- key: 0,
671
- class: "p-listbox-header"
672
- };
673
- const _hoisted_4 = { class: "p-listbox-filter-container" };
674
- const _hoisted_5 = ["placeholder", "aria-owns", "aria-activedescendant", "tabindex"];
675
- const _hoisted_6 = {
676
- role: "status",
677
- "aria-live": "polite",
678
- class: "p-hidden-accessible"
679
- };
680
- const _hoisted_7 = ["id", "aria-multiselectable", "aria-label", "aria-labelledby", "aria-activedescendant", "aria-disabled"];
681
- const _hoisted_8 = ["id"];
682
- const _hoisted_9 = ["id", "aria-label", "aria-selected", "aria-disabled", "aria-setsize", "aria-posinset", "onClick", "onMousedown", "onMousemove"];
683
- const _hoisted_10 = {
684
- key: 0,
685
- class: "p-listbox-empty-message",
686
- role: "option"
687
- };
688
- const _hoisted_11 = {
689
- key: 1,
690
- class: "p-listbox-empty-message",
691
- role: "option"
692
- };
693
- const _hoisted_12 = {
694
- key: 1,
695
- role: "status",
696
- "aria-live": "polite",
697
- class: "p-hidden-accessible"
698
- };
699
- const _hoisted_13 = {
700
- role: "status",
701
- "aria-live": "polite",
702
- class: "p-hidden-accessible"
703
- };
704
- const _hoisted_14 = ["tabindex"];
680
+ const _hoisted_3 = ["placeholder", "aria-owns", "aria-activedescendant", "tabindex"];
681
+ const _hoisted_4 = ["id", "aria-multiselectable", "aria-label", "aria-labelledby", "aria-activedescendant", "aria-disabled"];
682
+ const _hoisted_5 = ["id"];
683
+ const _hoisted_6 = ["id", "aria-label", "aria-selected", "aria-disabled", "aria-setsize", "aria-posinset", "onClick", "onMousedown", "onMousemove"];
684
+ const _hoisted_7 = ["tabindex"];
705
685
 
706
686
  function render(_ctx, _cache, $props, $setup, $data, $options) {
707
687
  const _component_VirtualScroller = vue.resolveComponent("VirtualScroller");
708
688
  const _directive_ripple = vue.resolveDirective("ripple");
709
689
 
710
- return (vue.openBlock(), vue.createElementBlock("div", {
690
+ return (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
711
691
  id: $data.id,
712
- class: vue.normalizeClass($options.containerClass),
692
+ class: $options.containerClass,
713
693
  onFocusout: _cache[10] || (_cache[10] = (...args) => ($options.onFocusout && $options.onFocusout(...args)))
714
- }, [
715
- vue.createElementVNode("span", {
694
+ }, _ctx.ptm('root')), [
695
+ vue.createElementVNode("span", vue.mergeProps({
716
696
  ref: "firstHiddenFocusableElement",
717
697
  role: "presentation",
718
698
  "aria-hidden": "true",
719
699
  class: "p-hidden-accessible p-hidden-focusable",
720
700
  tabindex: !$props.disabled ? $props.tabindex : -1,
721
701
  onFocus: _cache[0] || (_cache[0] = (...args) => ($options.onFirstHiddenFocus && $options.onFirstHiddenFocus(...args)))
722
- }, null, 40, _hoisted_2),
702
+ }, _ctx.ptm('hiddenFirstFocusableEl')), null, 16, _hoisted_2),
723
703
  vue.renderSlot(_ctx.$slots, "header", {
724
704
  value: $props.modelValue,
725
705
  options: $options.visibleOptions
726
706
  }),
727
707
  ($props.filter)
728
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, [
729
- vue.createElementVNode("div", _hoisted_4, [
708
+ ? (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
709
+ key: 0,
710
+ class: "p-listbox-header"
711
+ }, _ctx.ptm('header')), [
712
+ vue.createElementVNode("div", vue.mergeProps({ class: "p-listbox-filter-container" }, _ctx.ptm('filterContainer')), [
730
713
  vue.withDirectives(vue.createElementVNode("input", vue.mergeProps({
731
714
  ref: "filterInput",
732
715
  "onUpdate:modelValue": _cache[1] || (_cache[1] = $event => (($data.filterValue) = $event)),
@@ -741,35 +724,39 @@ this.primevue.listbox = (function (api, SearchIcon, Ripple, utils, VirtualScroll
741
724
  onInput: _cache[2] || (_cache[2] = (...args) => ($options.onFilterChange && $options.onFilterChange(...args))),
742
725
  onBlur: _cache[3] || (_cache[3] = (...args) => ($options.onFilterBlur && $options.onFilterBlur(...args))),
743
726
  onKeydown: _cache[4] || (_cache[4] = (...args) => ($options.onFilterKeyDown && $options.onFilterKeyDown(...args)))
744
- }, $props.filterInputProps), null, 16, _hoisted_5), [
727
+ }, { ...$props.filterInputProps, ..._ctx.ptm('filterInput') }), null, 16, _hoisted_3), [
745
728
  [vue.vModelText, $data.filterValue]
746
729
  ]),
747
730
  vue.renderSlot(_ctx.$slots, "filtericon", {}, () => [
748
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.filterIcon ? 'span' : 'SearchIcon'), {
749
- class: vue.normalizeClass(['p-listbox-filter-icon', $props.filterIcon])
750
- }, null, 8, ["class"]))
731
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.filterIcon ? 'span' : 'SearchIcon'), vue.mergeProps({
732
+ class: ['p-listbox-filter-icon', $props.filterIcon]
733
+ }, _ctx.ptm('filterIcon')), null, 16, ["class"]))
751
734
  ])
752
- ]),
753
- vue.createElementVNode("span", _hoisted_6, vue.toDisplayString($options.filterResultMessageText), 1)
754
- ]))
735
+ ], 16),
736
+ vue.createElementVNode("span", vue.mergeProps({
737
+ role: "status",
738
+ "aria-live": "polite",
739
+ class: "p-hidden-accessible"
740
+ }, _ctx.ptm('hiddenFilterResult')), vue.toDisplayString($options.filterResultMessageText), 17)
741
+ ], 16))
755
742
  : vue.createCommentVNode("", true),
756
- vue.createElementVNode("div", {
743
+ vue.createElementVNode("div", vue.mergeProps({
757
744
  ref: "listWrapper",
758
745
  class: "p-listbox-list-wrapper",
759
- style: vue.normalizeStyle($props.listStyle)
760
- }, [
761
- vue.createVNode(_component_VirtualScroller, vue.mergeProps({ ref: $options.virtualScrollerRef }, $props.virtualScrollerOptions, {
746
+ style: $props.listStyle
747
+ }, _ctx.ptm('wrapper')), [
748
+ vue.createVNode(_component_VirtualScroller, vue.mergeProps({ ref: $options.virtualScrollerRef }, { ...$props.virtualScrollerOptions, ..._ctx.ptm('virtualScroller') }, {
762
749
  style: $props.listStyle,
763
750
  items: $options.visibleOptions,
764
751
  tabindex: -1,
765
752
  disabled: $options.virtualScrollerDisabled
766
753
  }), vue.createSlots({
767
754
  content: vue.withCtx(({ styleClass, contentRef, items, getItemOptions, contentStyle, itemSize }) => [
768
- vue.createElementVNode("ul", {
755
+ vue.createElementVNode("ul", vue.mergeProps({
769
756
  ref: (el) => $options.listRef(el, contentRef),
770
757
  id: $data.id + '_list',
771
- class: vue.normalizeClass(['p-listbox-list', styleClass]),
772
- style: vue.normalizeStyle(contentStyle),
758
+ class: ['p-listbox-list', styleClass],
759
+ style: contentStyle,
773
760
  tabindex: -1,
774
761
  role: "listbox",
775
762
  "aria-multiselectable": $props.multiple,
@@ -780,31 +767,31 @@ this.primevue.listbox = (function (api, SearchIcon, Ripple, utils, VirtualScroll
780
767
  onFocus: _cache[6] || (_cache[6] = (...args) => ($options.onListFocus && $options.onListFocus(...args))),
781
768
  onBlur: _cache[7] || (_cache[7] = (...args) => ($options.onListBlur && $options.onListBlur(...args))),
782
769
  onKeydown: _cache[8] || (_cache[8] = (...args) => ($options.onListKeyDown && $options.onListKeyDown(...args)))
783
- }, [
770
+ }, _ctx.ptm('list')), [
784
771
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(items, (option, i) => {
785
772
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
786
773
  key: $options.getOptionRenderKey(option, $options.getOptionIndex(i, getItemOptions))
787
774
  }, [
788
775
  ($options.isOptionGroup(option))
789
- ? (vue.openBlock(), vue.createElementBlock("li", {
776
+ ? (vue.openBlock(), vue.createElementBlock("li", vue.mergeProps({
790
777
  key: 0,
791
778
  id: $data.id + '_' + $options.getOptionIndex(i, getItemOptions),
792
- style: vue.normalizeStyle({ height: itemSize ? itemSize + 'px' : undefined }),
779
+ style: { height: itemSize ? itemSize + 'px' : undefined },
793
780
  class: "p-listbox-item-group",
794
781
  role: "option"
795
- }, [
782
+ }, _ctx.ptm('itemGroup')), [
796
783
  vue.renderSlot(_ctx.$slots, "optiongroup", {
797
784
  option: option.optionGroup,
798
785
  index: $options.getOptionIndex(i, getItemOptions)
799
786
  }, () => [
800
787
  vue.createTextVNode(vue.toDisplayString($options.getOptionGroupLabel(option.optionGroup)), 1)
801
788
  ])
802
- ], 12, _hoisted_8))
803
- : vue.withDirectives((vue.openBlock(), vue.createElementBlock("li", {
789
+ ], 16, _hoisted_5))
790
+ : vue.withDirectives((vue.openBlock(), vue.createElementBlock("li", vue.mergeProps({
804
791
  key: 1,
805
792
  id: $data.id + '_' + $options.getOptionIndex(i, getItemOptions),
806
- style: vue.normalizeStyle({ height: itemSize ? itemSize + 'px' : undefined }),
807
- class: vue.normalizeClass(['p-listbox-item', { 'p-highlight': $options.isSelected(option), 'p-focus': $data.focusedOptionIndex === $options.getOptionIndex(i, getItemOptions), 'p-disabled': $options.isOptionDisabled(option) }]),
793
+ style: { height: itemSize ? itemSize + 'px' : undefined },
794
+ class: ['p-listbox-item', { 'p-highlight': $options.isSelected(option), 'p-focus': $data.focusedOptionIndex === $options.getOptionIndex(i, getItemOptions), 'p-disabled': $options.isOptionDisabled(option) }],
808
795
  role: "option",
809
796
  "aria-label": $options.getOptionLabel(option),
810
797
  "aria-selected": $options.isSelected(option),
@@ -815,32 +802,40 @@ this.primevue.listbox = (function (api, SearchIcon, Ripple, utils, VirtualScroll
815
802
  onMousedown: $event => ($options.onOptionMouseDown($event, $options.getOptionIndex(i, getItemOptions))),
816
803
  onMousemove: $event => ($options.onOptionMouseMove($event, $options.getOptionIndex(i, getItemOptions))),
817
804
  onTouchend: _cache[5] || (_cache[5] = $event => ($options.onOptionTouchEnd()))
818
- }, [
805
+ }, $options.getPTOptions(option, getItemOptions, i, 'item')), [
819
806
  vue.renderSlot(_ctx.$slots, "option", {
820
807
  option: option,
821
808
  index: $options.getOptionIndex(i, getItemOptions)
822
809
  }, () => [
823
810
  vue.createTextVNode(vue.toDisplayString($options.getOptionLabel(option)), 1)
824
811
  ])
825
- ], 46, _hoisted_9)), [
812
+ ], 16, _hoisted_6)), [
826
813
  [_directive_ripple]
827
814
  ])
828
815
  ], 64))
829
816
  }), 128)),
830
817
  ($data.filterValue && (!items || (items && items.length === 0)))
831
- ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_10, [
818
+ ? (vue.openBlock(), vue.createElementBlock("li", vue.mergeProps({
819
+ key: 0,
820
+ class: "p-listbox-empty-message",
821
+ role: "option"
822
+ }, _ctx.ptm('emptyMessage')), [
832
823
  vue.renderSlot(_ctx.$slots, "emptyfilter", {}, () => [
833
824
  vue.createTextVNode(vue.toDisplayString($options.emptyFilterMessageText), 1)
834
825
  ])
835
- ]))
826
+ ], 16))
836
827
  : (!$props.options || ($props.options && $props.options.length === 0))
837
- ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_11, [
828
+ ? (vue.openBlock(), vue.createElementBlock("li", vue.mergeProps({
829
+ key: 1,
830
+ class: "p-listbox-empty-message",
831
+ role: "option"
832
+ }, _ctx.ptm('emptyMessage')), [
838
833
  vue.renderSlot(_ctx.$slots, "empty", {}, () => [
839
834
  vue.createTextVNode(vue.toDisplayString($options.emptyMessageText), 1)
840
835
  ])
841
- ]))
836
+ ], 16))
842
837
  : vue.createCommentVNode("", true)
843
- ], 46, _hoisted_7)
838
+ ], 16, _hoisted_4)
844
839
  ]),
845
840
  _: 2
846
841
  }, [
@@ -854,24 +849,33 @@ this.primevue.listbox = (function (api, SearchIcon, Ripple, utils, VirtualScroll
854
849
  }
855
850
  : undefined
856
851
  ]), 1040, ["style", "items", "disabled"])
857
- ], 4),
852
+ ], 16),
858
853
  vue.renderSlot(_ctx.$slots, "footer", {
859
854
  value: $props.modelValue,
860
855
  options: $options.visibleOptions
861
856
  }),
862
857
  (!$props.options || ($props.options && $props.options.length === 0))
863
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_12, vue.toDisplayString($options.emptyMessageText), 1))
858
+ ? (vue.openBlock(), vue.createElementBlock("span", vue.mergeProps({
859
+ key: 1,
860
+ role: "status",
861
+ "aria-live": "polite",
862
+ class: "p-hidden-accessible"
863
+ }, _ctx.ptm('emptyMessage')), vue.toDisplayString($options.emptyMessageText), 17))
864
864
  : vue.createCommentVNode("", true),
865
- vue.createElementVNode("span", _hoisted_13, vue.toDisplayString($options.selectedMessageText), 1),
866
- vue.createElementVNode("span", {
865
+ vue.createElementVNode("span", vue.mergeProps({
866
+ role: "status",
867
+ "aria-live": "polite",
868
+ class: "p-hidden-accessible"
869
+ }, _ctx.ptm('hiddenSelectedMessage')), vue.toDisplayString($options.selectedMessageText), 17),
870
+ vue.createElementVNode("span", vue.mergeProps({
867
871
  ref: "lastHiddenFocusableElement",
868
872
  role: "presentation",
869
873
  "aria-hidden": "true",
870
874
  class: "p-hidden-accessible p-hidden-focusable",
871
875
  tabindex: !$props.disabled ? $props.tabindex : -1,
872
876
  onFocus: _cache[9] || (_cache[9] = (...args) => ($options.onLastHiddenFocus && $options.onLastHiddenFocus(...args)))
873
- }, null, 40, _hoisted_14)
874
- ], 42, _hoisted_1))
877
+ }, _ctx.ptm('hiddenLastFocusableEl')), null, 16, _hoisted_7)
878
+ ], 16, _hoisted_1))
875
879
  }
876
880
 
877
881
  function styleInject(css, ref) {
@@ -908,4 +912,4 @@ this.primevue.listbox = (function (api, SearchIcon, Ripple, utils, VirtualScroll
908
912
 
909
913
  return script;
910
914
 
911
- })(primevue.api, primevue.icons.search, primevue.ripple, primevue.utils, primevue.virtualscroller, Vue);
915
+ })(primevue.api, primevue.basecomponent, primevue.icons.search, primevue.ripple, primevue.utils, primevue.virtualscroller, Vue);
@@ -1 +1 @@
1
- this.primevue=this.primevue||{},this.primevue.listbox=function(e,t,i,s,n,o){"use strict";function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=l(t),r=l(i),d=l(n),p={name:"Listbox",emits:["update:modelValue","change","focus","blur","filter"],props:{modelValue:null,options:Array,optionLabel:null,optionValue:null,optionDisabled:null,optionGroupLabel:null,optionGroupChildren:null,listStyle:null,disabled:Boolean,dataKey:null,multiple:Boolean,metaKeySelection:Boolean,filter:Boolean,filterPlaceholder:String,filterLocale:String,filterMatchMode:{type:String,default:"contains"},filterFields:{type:Array,default:null},filterInputProps:null,virtualScrollerOptions:{type:Object,default:null},autoOptionFocus:{type:Boolean,default:!0},selectOnFocus:{type:Boolean,default:!1},filterMessage:{type:String,default:null},selectionMessage:{type:String,default:null},emptySelectionMessage:{type:String,default:null},emptyFilterMessage:{type:String,default:null},emptyMessage:{type:String,default:null},filterIcon:{type:String,default:void 0},tabindex:{type:Number,default:0},"aria-label":{type:String,default:null},"aria-labelledby":{type:String,default:null}},list:null,virtualScroller:null,optionTouched:!1,startRangeIndex:-1,searchTimeout:null,searchValue:"",focusOnHover:!1,data(){return{id:this.$attrs.id,filterValue:null,focused:!1,focusedOptionIndex:-1}},watch:{"$attrs.id":function(e){this.id=e||s.UniqueComponentId()},options(){this.autoUpdateModel()}},mounted(){this.id=this.id||s.UniqueComponentId(),this.autoUpdateModel()},methods:{getOptionIndex(e,t){return this.virtualScrollerDisabled?e:t&&t(e).index},getOptionLabel(e){return this.optionLabel?s.ObjectUtils.resolveFieldData(e,this.optionLabel):e},getOptionValue(e){return this.optionValue?s.ObjectUtils.resolveFieldData(e,this.optionValue):e},getOptionRenderKey(e,t){return(this.dataKey?s.ObjectUtils.resolveFieldData(e,this.dataKey):this.getOptionLabel(e))+"_"+t},isOptionDisabled(e){return!!this.optionDisabled&&s.ObjectUtils.resolveFieldData(e,this.optionDisabled)},isOptionGroup(e){return this.optionGroupLabel&&e.optionGroup&&e.group},getOptionGroupLabel(e){return s.ObjectUtils.resolveFieldData(e,this.optionGroupLabel)},getOptionGroupChildren(e){return s.ObjectUtils.resolveFieldData(e,this.optionGroupChildren)},getAriaPosInset(e){return(this.optionGroupLabel?e-this.visibleOptions.slice(0,e).filter((e=>this.isOptionGroup(e))).length:e)+1},onFirstHiddenFocus(){s.DomHandler.focus(this.list);const e=s.DomHandler.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");this.$refs.lastHiddenFocusableElement.tabIndex=s.ObjectUtils.isEmpty(e)?-1:void 0,this.$refs.firstHiddenFocusableElement.tabIndex=-1},onLastHiddenFocus(e){if(e.relatedTarget===this.list){const e=s.DomHandler.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");s.DomHandler.focus(e),this.$refs.firstHiddenFocusableElement.tabIndex=void 0}else s.DomHandler.focus(this.$refs.firstHiddenFocusableElement);this.$refs.lastHiddenFocusableElement.tabIndex=-1},onFocusout(e){!this.$el.contains(e.relatedTarget)&&this.$refs.lastHiddenFocusableElement&&this.$refs.firstHiddenFocusableElement&&(this.$refs.lastHiddenFocusableElement.tabIndex=this.$refs.firstHiddenFocusableElement.tabIndex=void 0)},onListFocus(e){this.focused=!0,this.focusedOptionIndex=-1!==this.focusedOptionIndex?this.focusedOptionIndex:this.autoOptionFocus?this.findFirstFocusedOptionIndex():-1,this.$emit("focus",e)},onListBlur(e){this.focused=!1,this.focusedOptionIndex=this.startRangeIndex=-1,this.searchValue="",this.$emit("blur",e)},onListKeyDown(e){const t=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e);break;case"PageDown":this.onPageDownKey(e);break;case"PageUp":this.onPageUpKey(e);break;case"Enter":case"Space":this.onSpaceKey(e);break;case"Tab":break;case"ShiftLeft":case"ShiftRight":this.onShiftKey(e);break;default:if(this.multiple&&"KeyA"===e.code&&t){const t=this.visibleOptions.filter((e=>this.isValidOption(e))).map((e=>this.getOptionValue(e)));this.updateModel(e,t),e.preventDefault();break}!t&&s.ObjectUtils.isPrintableCharacter(e.key)&&(this.searchOptions(e,e.key),e.preventDefault())}},onOptionSelect(e,t,i=-1){this.disabled||this.isOptionDisabled(t)||(this.multiple?this.onOptionSelectMultiple(e,t):this.onOptionSelectSingle(e,t),this.optionTouched=!1,-1!==i&&(this.focusedOptionIndex=i))},onOptionMouseDown(e,t){this.changeFocusedOptionIndex(e,t)},onOptionMouseMove(e,t){this.focusOnHover&&this.changeFocusedOptionIndex(e,t)},onOptionTouchEnd(){this.disabled||(this.optionTouched=!0)},onOptionSelectSingle(e,t){let i=this.isSelected(t),s=!1,n=null;if(!this.optionTouched&&this.metaKeySelection){let o=e.metaKey||e.ctrlKey;i?o&&(n=null,s=!0):(n=this.getOptionValue(t),s=!0)}else n=i?null:this.getOptionValue(t),s=!0;s&&this.updateModel(e,n)},onOptionSelectMultiple(e,t){let i=this.isSelected(t),s=null;if(!this.optionTouched&&this.metaKeySelection){let n=e.metaKey||e.ctrlKey;i?s=n?this.removeOption(t):[this.getOptionValue(t)]:(s=n&&this.modelValue||[],s=[...s,this.getOptionValue(t)])}else s=i?this.removeOption(t):[...this.modelValue||[],this.getOptionValue(t)];this.updateModel(e,s)},onOptionSelectRange(e,t=-1,i=-1){if(-1===t&&(t=this.findNearestSelectedOptionIndex(i,!0)),-1===i&&(i=this.findNearestSelectedOptionIndex(t)),-1!==t&&-1!==i){const s=Math.min(t,i),n=Math.max(t,i),o=this.visibleOptions.slice(s,n+1).filter((e=>this.isValidOption(e))).map((e=>this.getOptionValue(e)));this.updateModel(e,o)}},onFilterChange(e){this.$emit("filter",{originalEvent:e,value:e.target.value}),this.focusedOptionIndex=this.startRangeIndex=-1},onFilterBlur(){this.focusedOptionIndex=this.startRangeIndex=-1},onFilterKeyDown(e){switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"ArrowLeft":case"ArrowRight":this.onArrowLeftKey(e,!0);break;case"Home":this.onHomeKey(e,!0);break;case"End":this.onEndKey(e,!0);break;case"Enter":this.onEnterKey(e);break;case"ShiftLeft":case"ShiftRight":this.onShiftKey(e)}},onArrowDownKey(e){const t=-1!==this.focusedOptionIndex?this.findNextOptionIndex(this.focusedOptionIndex):this.findFirstFocusedOptionIndex();this.multiple&&e.shiftKey&&this.onOptionSelectRange(e,this.startRangeIndex,t),this.changeFocusedOptionIndex(e,t),e.preventDefault()},onArrowUpKey(e){const t=-1!==this.focusedOptionIndex?this.findPrevOptionIndex(this.focusedOptionIndex):this.findLastFocusedOptionIndex();this.multiple&&e.shiftKey&&this.onOptionSelectRange(e,t,this.startRangeIndex),this.changeFocusedOptionIndex(e,t),e.preventDefault()},onArrowLeftKey(e,t=!1){t&&(this.focusedOptionIndex=-1)},onHomeKey(e,t=!1){if(t)e.currentTarget.setSelectionRange(0,0),this.focusedOptionIndex=-1;else{let t=e.metaKey||e.ctrlKey,i=this.findFirstOptionIndex();this.multiple&&e.shiftKey&&t&&this.onOptionSelectRange(e,i,this.startRangeIndex),this.changeFocusedOptionIndex(e,i)}e.preventDefault()},onEndKey(e,t=!1){if(t){const t=e.currentTarget,i=t.value.length;t.setSelectionRange(i,i),this.focusedOptionIndex=-1}else{let t=e.metaKey||e.ctrlKey,i=this.findLastOptionIndex();this.multiple&&e.shiftKey&&t&&this.onOptionSelectRange(e,this.startRangeIndex,i),this.changeFocusedOptionIndex(e,i)}e.preventDefault()},onPageUpKey(e){this.scrollInView(0),e.preventDefault()},onPageDownKey(e){this.scrollInView(this.visibleOptions.length-1),e.preventDefault()},onEnterKey(e){-1!==this.focusedOptionIndex&&(this.multiple&&e.shiftKey?this.onOptionSelectRange(e,this.focusedOptionIndex):this.onOptionSelect(e,this.visibleOptions[this.focusedOptionIndex])),e.preventDefault()},onSpaceKey(e){this.onEnterKey(e)},onShiftKey(){this.startRangeIndex=this.focusedOptionIndex},isOptionMatched(e){return this.isValidOption(e)&&this.getOptionLabel(e).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))},isValidOption(e){return e&&!(this.isOptionDisabled(e)||this.isOptionGroup(e))},isValidSelectedOption(e){return this.isValidOption(e)&&this.isSelected(e)},isSelected(e){const t=this.getOptionValue(e);return this.multiple?(this.modelValue||[]).some((e=>s.ObjectUtils.equals(e,t,this.equalityKey))):s.ObjectUtils.equals(this.modelValue,t,this.equalityKey)},findFirstOptionIndex(){return this.visibleOptions.findIndex((e=>this.isValidOption(e)))},findLastOptionIndex(){return s.ObjectUtils.findLastIndex(this.visibleOptions,(e=>this.isValidOption(e)))},findNextOptionIndex(e){const t=e<this.visibleOptions.length-1?this.visibleOptions.slice(e+1).findIndex((e=>this.isValidOption(e))):-1;return t>-1?t+e+1:e},findPrevOptionIndex(e){const t=e>0?s.ObjectUtils.findLastIndex(this.visibleOptions.slice(0,e),(e=>this.isValidOption(e))):-1;return t>-1?t:e},findFirstSelectedOptionIndex(){return this.hasSelectedOption?this.visibleOptions.findIndex((e=>this.isValidSelectedOption(e))):-1},findLastSelectedOptionIndex(){return this.hasSelectedOption?s.ObjectUtils.findLastIndex(this.visibleOptions,(e=>this.isValidSelectedOption(e))):-1},findNextSelectedOptionIndex(e){const t=this.hasSelectedOption&&e<this.visibleOptions.length-1?this.visibleOptions.slice(e+1).findIndex((e=>this.isValidSelectedOption(e))):-1;return t>-1?t+e+1:-1},findPrevSelectedOptionIndex(e){const t=this.hasSelectedOption&&e>0?s.ObjectUtils.findLastIndex(this.visibleOptions.slice(0,e),(e=>this.isValidSelectedOption(e))):-1;return t>-1?t:-1},findNearestSelectedOptionIndex(e,t=!1){let i=-1;return this.hasSelectedOption&&(t?(i=this.findPrevSelectedOptionIndex(e),i=-1===i?this.findNextSelectedOptionIndex(e):i):(i=this.findNextSelectedOptionIndex(e),i=-1===i?this.findPrevSelectedOptionIndex(e):i)),i>-1?i:e},findFirstFocusedOptionIndex(){const e=this.findFirstSelectedOptionIndex();return e<0?this.findFirstOptionIndex():e},findLastFocusedOptionIndex(){const e=this.findLastSelectedOptionIndex();return e<0?this.findLastOptionIndex():e},searchOptions(e,t){this.searchValue=(this.searchValue||"")+t;let i=-1;-1!==this.focusedOptionIndex?(i=this.visibleOptions.slice(this.focusedOptionIndex).findIndex((e=>this.isOptionMatched(e))),i=-1===i?this.visibleOptions.slice(0,this.focusedOptionIndex).findIndex((e=>this.isOptionMatched(e))):i+this.focusedOptionIndex):i=this.visibleOptions.findIndex((e=>this.isOptionMatched(e))),-1===i&&-1===this.focusedOptionIndex&&(i=this.findFirstFocusedOptionIndex()),-1!==i&&this.changeFocusedOptionIndex(e,i),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((()=>{this.searchValue="",this.searchTimeout=null}),500)},removeOption(e){return this.modelValue.filter((t=>!s.ObjectUtils.equals(t,this.getOptionValue(e),this.equalityKey)))},changeFocusedOptionIndex(e,t){this.focusedOptionIndex!==t&&(this.focusedOptionIndex=t,this.scrollInView(),this.selectOnFocus&&!this.multiple&&this.onOptionSelect(e,this.visibleOptions[t]))},scrollInView(e=-1){const t=-1!==e?`${this.id}_${e}`:this.focusedOptionId,i=s.DomHandler.findSingle(this.list,`li[id="${t}"]`);i?i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"nearest"}):this.virtualScrollerDisabled||this.virtualScroller&&this.virtualScroller.scrollToIndex(-1!==e?e:this.focusedOptionIndex)},autoUpdateModel(){this.selectOnFocus&&this.autoOptionFocus&&!this.hasSelectedOption&&!this.multiple&&(this.focusedOptionIndex=this.findFirstFocusedOptionIndex(),this.onOptionSelect(null,this.visibleOptions[this.focusedOptionIndex]))},updateModel(e,t){this.$emit("update:modelValue",t),this.$emit("change",{originalEvent:e,value:t})},flatOptions(e){return(e||[]).reduce(((e,t,i)=>{e.push({optionGroup:t,group:!0,index:i});const s=this.getOptionGroupChildren(t);return s&&s.forEach((t=>e.push(t))),e}),[])},listRef(e,t){this.list=e,t&&t(e)},virtualScrollerRef(e){this.virtualScroller=e}},computed:{containerClass(){return["p-listbox p-component",{"p-focus":this.focused,"p-disabled":this.disabled}]},visibleOptions(){const t=this.optionGroupLabel?this.flatOptions(this.options):this.options||[];return this.filterValue?e.FilterService.filter(t,this.searchFields,this.filterValue,this.filterMatchMode,this.filterLocale):t},hasSelectedOption(){return s.ObjectUtils.isNotEmpty(this.modelValue)},equalityKey(){return this.optionValue?null:this.dataKey},searchFields(){return this.filterFields||[this.optionLabel]},filterResultMessageText(){return s.ObjectUtils.isNotEmpty(this.visibleOptions)?this.filterMessageText.replaceAll("{0}",this.visibleOptions.length):this.emptyFilterMessageText},filterMessageText(){return this.filterMessage||this.$primevue.config.locale.searchMessage||""},emptyFilterMessageText(){return this.emptyFilterMessage||this.$primevue.config.locale.emptySearchMessage||this.$primevue.config.locale.emptyFilterMessage||""},emptyMessageText(){return this.emptyMessage||this.$primevue.config.locale.emptyMessage||""},selectionMessageText(){return this.selectionMessage||this.$primevue.config.locale.selectionMessage||""},emptySelectionMessageText(){return this.emptySelectionMessage||this.$primevue.config.locale.emptySelectionMessage||""},selectedMessageText(){return this.hasSelectedOption?this.selectionMessageText.replaceAll("{0}",this.multiple?this.modelValue.length:"1"):this.emptySelectionMessageText},focusedOptionId(){return-1!==this.focusedOptionIndex?`${this.id}_${this.focusedOptionIndex}`:null},ariaSetSize(){return this.visibleOptions.filter((e=>!this.isOptionGroup(e))).length},virtualScrollerDisabled(){return!this.virtualScrollerOptions}},directives:{ripple:r.default},components:{VirtualScroller:d.default,SearchIcon:a.default}};const c=["id"],u=["tabindex"],h={key:0,class:"p-listbox-header"},f={class:"p-listbox-filter-container"},O=["placeholder","aria-owns","aria-activedescendant","tabindex"],m={role:"status","aria-live":"polite",class:"p-hidden-accessible"},b=["id","aria-multiselectable","aria-label","aria-labelledby","aria-activedescendant","aria-disabled"],x=["id"],g=["id","aria-label","aria-selected","aria-disabled","aria-setsize","aria-posinset","onClick","onMousedown","onMousemove"],y={key:0,class:"p-listbox-empty-message",role:"option"},I={key:1,class:"p-listbox-empty-message",role:"option"},S={key:1,role:"status","aria-live":"polite",class:"p-hidden-accessible"},v={role:"status","aria-live":"polite",class:"p-hidden-accessible"},F=["tabindex"];return function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&s.firstChild?s.insertBefore(n,s.firstChild):s.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-listbox-list-wrapper {\n overflow: auto;\n}\n.p-listbox-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.p-listbox-item {\n cursor: pointer;\n position: relative;\n overflow: hidden;\n}\n.p-listbox-item-group {\n cursor: auto;\n}\n.p-listbox-filter-container {\n position: relative;\n}\n.p-listbox-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n}\n.p-listbox-filter {\n width: 100%;\n}\n"),p.render=function(e,t,i,s,n,l){const a=o.resolveComponent("VirtualScroller"),r=o.resolveDirective("ripple");return o.openBlock(),o.createElementBlock("div",{id:n.id,class:o.normalizeClass(l.containerClass),onFocusout:t[10]||(t[10]=(...e)=>l.onFocusout&&l.onFocusout(...e))},[o.createElementVNode("span",{ref:"firstHiddenFocusableElement",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:i.disabled?-1:i.tabindex,onFocus:t[0]||(t[0]=(...e)=>l.onFirstHiddenFocus&&l.onFirstHiddenFocus(...e))},null,40,u),o.renderSlot(e.$slots,"header",{value:i.modelValue,options:l.visibleOptions}),i.filter?(o.openBlock(),o.createElementBlock("div",h,[o.createElementVNode("div",f,[o.withDirectives(o.createElementVNode("input",o.mergeProps({ref:"filterInput","onUpdate:modelValue":t[1]||(t[1]=e=>n.filterValue=e),type:"text",class:"p-listbox-filter p-inputtext p-component",placeholder:i.filterPlaceholder,role:"searchbox",autocomplete:"off","aria-owns":n.id+"_list","aria-activedescendant":l.focusedOptionId,tabindex:i.disabled||n.focused?-1:i.tabindex,onInput:t[2]||(t[2]=(...e)=>l.onFilterChange&&l.onFilterChange(...e)),onBlur:t[3]||(t[3]=(...e)=>l.onFilterBlur&&l.onFilterBlur(...e)),onKeydown:t[4]||(t[4]=(...e)=>l.onFilterKeyDown&&l.onFilterKeyDown(...e))},i.filterInputProps),null,16,O),[[o.vModelText,n.filterValue]]),o.renderSlot(e.$slots,"filtericon",{},(()=>[(o.openBlock(),o.createBlock(o.resolveDynamicComponent(i.filterIcon?"span":"SearchIcon"),{class:o.normalizeClass(["p-listbox-filter-icon",i.filterIcon])},null,8,["class"]))]))]),o.createElementVNode("span",m,o.toDisplayString(l.filterResultMessageText),1)])):o.createCommentVNode("",!0),o.createElementVNode("div",{ref:"listWrapper",class:"p-listbox-list-wrapper",style:o.normalizeStyle(i.listStyle)},[o.createVNode(a,o.mergeProps({ref:l.virtualScrollerRef},i.virtualScrollerOptions,{style:i.listStyle,items:l.visibleOptions,tabindex:-1,disabled:l.virtualScrollerDisabled}),o.createSlots({content:o.withCtx((({styleClass:s,contentRef:a,items:d,getItemOptions:p,contentStyle:c,itemSize:u})=>[o.createElementVNode("ul",{ref:e=>l.listRef(e,a),id:n.id+"_list",class:o.normalizeClass(["p-listbox-list",s]),style:o.normalizeStyle(c),tabindex:-1,role:"listbox","aria-multiselectable":i.multiple,"aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-activedescendant":n.focused?l.focusedOptionId:void 0,"aria-disabled":i.disabled,onFocus:t[6]||(t[6]=(...e)=>l.onListFocus&&l.onListFocus(...e)),onBlur:t[7]||(t[7]=(...e)=>l.onListBlur&&l.onListBlur(...e)),onKeydown:t[8]||(t[8]=(...e)=>l.onListKeyDown&&l.onListKeyDown(...e))},[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(d,((i,s)=>(o.openBlock(),o.createElementBlock(o.Fragment,{key:l.getOptionRenderKey(i,l.getOptionIndex(s,p))},[l.isOptionGroup(i)?(o.openBlock(),o.createElementBlock("li",{key:0,id:n.id+"_"+l.getOptionIndex(s,p),style:o.normalizeStyle({height:u?u+"px":void 0}),class:"p-listbox-item-group",role:"option"},[o.renderSlot(e.$slots,"optiongroup",{option:i.optionGroup,index:l.getOptionIndex(s,p)},(()=>[o.createTextVNode(o.toDisplayString(l.getOptionGroupLabel(i.optionGroup)),1)]))],12,x)):o.withDirectives((o.openBlock(),o.createElementBlock("li",{key:1,id:n.id+"_"+l.getOptionIndex(s,p),style:o.normalizeStyle({height:u?u+"px":void 0}),class:o.normalizeClass(["p-listbox-item",{"p-highlight":l.isSelected(i),"p-focus":n.focusedOptionIndex===l.getOptionIndex(s,p),"p-disabled":l.isOptionDisabled(i)}]),role:"option","aria-label":l.getOptionLabel(i),"aria-selected":l.isSelected(i),"aria-disabled":l.isOptionDisabled(i),"aria-setsize":l.ariaSetSize,"aria-posinset":l.getAriaPosInset(l.getOptionIndex(s,p)),onClick:e=>l.onOptionSelect(e,i,l.getOptionIndex(s,p)),onMousedown:e=>l.onOptionMouseDown(e,l.getOptionIndex(s,p)),onMousemove:e=>l.onOptionMouseMove(e,l.getOptionIndex(s,p)),onTouchend:t[5]||(t[5]=e=>l.onOptionTouchEnd())},[o.renderSlot(e.$slots,"option",{option:i,index:l.getOptionIndex(s,p)},(()=>[o.createTextVNode(o.toDisplayString(l.getOptionLabel(i)),1)]))],46,g)),[[r]])],64)))),128)),n.filterValue&&(!d||d&&0===d.length)?(o.openBlock(),o.createElementBlock("li",y,[o.renderSlot(e.$slots,"emptyfilter",{},(()=>[o.createTextVNode(o.toDisplayString(l.emptyFilterMessageText),1)]))])):!i.options||i.options&&0===i.options.length?(o.openBlock(),o.createElementBlock("li",I,[o.renderSlot(e.$slots,"empty",{},(()=>[o.createTextVNode(o.toDisplayString(l.emptyMessageText),1)]))])):o.createCommentVNode("",!0)],46,b)])),_:2},[e.$slots.loader?{name:"loader",fn:o.withCtx((({options:t})=>[o.renderSlot(e.$slots,"loader",{options:t})])),key:"0"}:void 0]),1040,["style","items","disabled"])],4),o.renderSlot(e.$slots,"footer",{value:i.modelValue,options:l.visibleOptions}),!i.options||i.options&&0===i.options.length?(o.openBlock(),o.createElementBlock("span",S,o.toDisplayString(l.emptyMessageText),1)):o.createCommentVNode("",!0),o.createElementVNode("span",v,o.toDisplayString(l.selectedMessageText),1),o.createElementVNode("span",{ref:"lastHiddenFocusableElement",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:i.disabled?-1:i.tabindex,onFocus:t[9]||(t[9]=(...e)=>l.onLastHiddenFocus&&l.onLastHiddenFocus(...e))},null,40,F)],42,c)},p}(primevue.api,primevue.icons.search,primevue.ripple,primevue.utils,primevue.virtualscroller,Vue);
1
+ this.primevue=this.primevue||{},this.primevue.listbox=function(e,t,i,s,n,o,l){"use strict";function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=a(t),d=a(i),p=a(s),c=a(o),u={name:"Listbox",extends:r.default,emits:["update:modelValue","change","focus","blur","filter"],props:{modelValue:null,options:Array,optionLabel:null,optionValue:null,optionDisabled:null,optionGroupLabel:null,optionGroupChildren:null,listStyle:null,disabled:Boolean,dataKey:null,multiple:Boolean,metaKeySelection:Boolean,filter:Boolean,filterPlaceholder:String,filterLocale:String,filterMatchMode:{type:String,default:"contains"},filterFields:{type:Array,default:null},filterInputProps:null,virtualScrollerOptions:{type:Object,default:null},autoOptionFocus:{type:Boolean,default:!0},selectOnFocus:{type:Boolean,default:!1},filterMessage:{type:String,default:null},selectionMessage:{type:String,default:null},emptySelectionMessage:{type:String,default:null},emptyFilterMessage:{type:String,default:null},emptyMessage:{type:String,default:null},filterIcon:{type:String,default:void 0},tabindex:{type:Number,default:0},"aria-label":{type:String,default:null},"aria-labelledby":{type:String,default:null}},list:null,virtualScroller:null,optionTouched:!1,startRangeIndex:-1,searchTimeout:null,searchValue:"",focusOnHover:!1,data(){return{id:this.$attrs.id,filterValue:null,focused:!1,focusedOptionIndex:-1}},watch:{"$attrs.id":function(e){this.id=e||n.UniqueComponentId()},options(){this.autoUpdateModel()}},mounted(){this.id=this.id||n.UniqueComponentId(),this.autoUpdateModel()},methods:{getOptionIndex(e,t){return this.virtualScrollerDisabled?e:t&&t(e).index},getOptionLabel(e){return this.optionLabel?n.ObjectUtils.resolveFieldData(e,this.optionLabel):e},getOptionValue(e){return this.optionValue?n.ObjectUtils.resolveFieldData(e,this.optionValue):e},getOptionRenderKey(e,t){return(this.dataKey?n.ObjectUtils.resolveFieldData(e,this.dataKey):this.getOptionLabel(e))+"_"+t},getPTOptions(e,t,i,s){return this.ptm(s,{context:{selected:this.isSelected(e),focused:this.focusedOptionIndex===this.getOptionIndex(i,t),disabled:this.isOptionDisabled(e)}})},isOptionDisabled(e){return!!this.optionDisabled&&n.ObjectUtils.resolveFieldData(e,this.optionDisabled)},isOptionGroup(e){return this.optionGroupLabel&&e.optionGroup&&e.group},getOptionGroupLabel(e){return n.ObjectUtils.resolveFieldData(e,this.optionGroupLabel)},getOptionGroupChildren(e){return n.ObjectUtils.resolveFieldData(e,this.optionGroupChildren)},getAriaPosInset(e){return(this.optionGroupLabel?e-this.visibleOptions.slice(0,e).filter((e=>this.isOptionGroup(e))).length:e)+1},onFirstHiddenFocus(){n.DomHandler.focus(this.list);const e=n.DomHandler.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");this.$refs.lastHiddenFocusableElement.tabIndex=n.ObjectUtils.isEmpty(e)?-1:void 0,this.$refs.firstHiddenFocusableElement.tabIndex=-1},onLastHiddenFocus(e){if(e.relatedTarget===this.list){const e=n.DomHandler.getFirstFocusableElement(this.$el,":not(.p-hidden-focusable)");n.DomHandler.focus(e),this.$refs.firstHiddenFocusableElement.tabIndex=void 0}else n.DomHandler.focus(this.$refs.firstHiddenFocusableElement);this.$refs.lastHiddenFocusableElement.tabIndex=-1},onFocusout(e){!this.$el.contains(e.relatedTarget)&&this.$refs.lastHiddenFocusableElement&&this.$refs.firstHiddenFocusableElement&&(this.$refs.lastHiddenFocusableElement.tabIndex=this.$refs.firstHiddenFocusableElement.tabIndex=void 0)},onListFocus(e){this.focused=!0,this.focusedOptionIndex=-1!==this.focusedOptionIndex?this.focusedOptionIndex:this.autoOptionFocus?this.findFirstFocusedOptionIndex():-1,this.$emit("focus",e)},onListBlur(e){this.focused=!1,this.focusedOptionIndex=this.startRangeIndex=-1,this.searchValue="",this.$emit("blur",e)},onListKeyDown(e){const t=e.metaKey||e.ctrlKey;switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"Home":this.onHomeKey(e);break;case"End":this.onEndKey(e);break;case"PageDown":this.onPageDownKey(e);break;case"PageUp":this.onPageUpKey(e);break;case"Enter":case"Space":this.onSpaceKey(e);break;case"Tab":break;case"ShiftLeft":case"ShiftRight":this.onShiftKey(e);break;default:if(this.multiple&&"KeyA"===e.code&&t){const t=this.visibleOptions.filter((e=>this.isValidOption(e))).map((e=>this.getOptionValue(e)));this.updateModel(e,t),e.preventDefault();break}!t&&n.ObjectUtils.isPrintableCharacter(e.key)&&(this.searchOptions(e,e.key),e.preventDefault())}},onOptionSelect(e,t,i=-1){this.disabled||this.isOptionDisabled(t)||(this.multiple?this.onOptionSelectMultiple(e,t):this.onOptionSelectSingle(e,t),this.optionTouched=!1,-1!==i&&(this.focusedOptionIndex=i))},onOptionMouseDown(e,t){this.changeFocusedOptionIndex(e,t)},onOptionMouseMove(e,t){this.focusOnHover&&this.changeFocusedOptionIndex(e,t)},onOptionTouchEnd(){this.disabled||(this.optionTouched=!0)},onOptionSelectSingle(e,t){let i=this.isSelected(t),s=!1,n=null;if(!this.optionTouched&&this.metaKeySelection){let o=e.metaKey||e.ctrlKey;i?o&&(n=null,s=!0):(n=this.getOptionValue(t),s=!0)}else n=i?null:this.getOptionValue(t),s=!0;s&&this.updateModel(e,n)},onOptionSelectMultiple(e,t){let i=this.isSelected(t),s=null;if(!this.optionTouched&&this.metaKeySelection){let n=e.metaKey||e.ctrlKey;i?s=n?this.removeOption(t):[this.getOptionValue(t)]:(s=n&&this.modelValue||[],s=[...s,this.getOptionValue(t)])}else s=i?this.removeOption(t):[...this.modelValue||[],this.getOptionValue(t)];this.updateModel(e,s)},onOptionSelectRange(e,t=-1,i=-1){if(-1===t&&(t=this.findNearestSelectedOptionIndex(i,!0)),-1===i&&(i=this.findNearestSelectedOptionIndex(t)),-1!==t&&-1!==i){const s=Math.min(t,i),n=Math.max(t,i),o=this.visibleOptions.slice(s,n+1).filter((e=>this.isValidOption(e))).map((e=>this.getOptionValue(e)));this.updateModel(e,o)}},onFilterChange(e){this.$emit("filter",{originalEvent:e,value:e.target.value}),this.focusedOptionIndex=this.startRangeIndex=-1},onFilterBlur(){this.focusedOptionIndex=this.startRangeIndex=-1},onFilterKeyDown(e){switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"ArrowUp":this.onArrowUpKey(e);break;case"ArrowLeft":case"ArrowRight":this.onArrowLeftKey(e,!0);break;case"Home":this.onHomeKey(e,!0);break;case"End":this.onEndKey(e,!0);break;case"Enter":this.onEnterKey(e);break;case"ShiftLeft":case"ShiftRight":this.onShiftKey(e)}},onArrowDownKey(e){const t=-1!==this.focusedOptionIndex?this.findNextOptionIndex(this.focusedOptionIndex):this.findFirstFocusedOptionIndex();this.multiple&&e.shiftKey&&this.onOptionSelectRange(e,this.startRangeIndex,t),this.changeFocusedOptionIndex(e,t),e.preventDefault()},onArrowUpKey(e){const t=-1!==this.focusedOptionIndex?this.findPrevOptionIndex(this.focusedOptionIndex):this.findLastFocusedOptionIndex();this.multiple&&e.shiftKey&&this.onOptionSelectRange(e,t,this.startRangeIndex),this.changeFocusedOptionIndex(e,t),e.preventDefault()},onArrowLeftKey(e,t=!1){t&&(this.focusedOptionIndex=-1)},onHomeKey(e,t=!1){if(t)e.currentTarget.setSelectionRange(0,0),this.focusedOptionIndex=-1;else{let t=e.metaKey||e.ctrlKey,i=this.findFirstOptionIndex();this.multiple&&e.shiftKey&&t&&this.onOptionSelectRange(e,i,this.startRangeIndex),this.changeFocusedOptionIndex(e,i)}e.preventDefault()},onEndKey(e,t=!1){if(t){const t=e.currentTarget,i=t.value.length;t.setSelectionRange(i,i),this.focusedOptionIndex=-1}else{let t=e.metaKey||e.ctrlKey,i=this.findLastOptionIndex();this.multiple&&e.shiftKey&&t&&this.onOptionSelectRange(e,this.startRangeIndex,i),this.changeFocusedOptionIndex(e,i)}e.preventDefault()},onPageUpKey(e){this.scrollInView(0),e.preventDefault()},onPageDownKey(e){this.scrollInView(this.visibleOptions.length-1),e.preventDefault()},onEnterKey(e){-1!==this.focusedOptionIndex&&(this.multiple&&e.shiftKey?this.onOptionSelectRange(e,this.focusedOptionIndex):this.onOptionSelect(e,this.visibleOptions[this.focusedOptionIndex])),e.preventDefault()},onSpaceKey(e){this.onEnterKey(e)},onShiftKey(){this.startRangeIndex=this.focusedOptionIndex},isOptionMatched(e){return this.isValidOption(e)&&this.getOptionLabel(e).toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale))},isValidOption(e){return e&&!(this.isOptionDisabled(e)||this.isOptionGroup(e))},isValidSelectedOption(e){return this.isValidOption(e)&&this.isSelected(e)},isSelected(e){const t=this.getOptionValue(e);return this.multiple?(this.modelValue||[]).some((e=>n.ObjectUtils.equals(e,t,this.equalityKey))):n.ObjectUtils.equals(this.modelValue,t,this.equalityKey)},findFirstOptionIndex(){return this.visibleOptions.findIndex((e=>this.isValidOption(e)))},findLastOptionIndex(){return n.ObjectUtils.findLastIndex(this.visibleOptions,(e=>this.isValidOption(e)))},findNextOptionIndex(e){const t=e<this.visibleOptions.length-1?this.visibleOptions.slice(e+1).findIndex((e=>this.isValidOption(e))):-1;return t>-1?t+e+1:e},findPrevOptionIndex(e){const t=e>0?n.ObjectUtils.findLastIndex(this.visibleOptions.slice(0,e),(e=>this.isValidOption(e))):-1;return t>-1?t:e},findFirstSelectedOptionIndex(){return this.hasSelectedOption?this.visibleOptions.findIndex((e=>this.isValidSelectedOption(e))):-1},findLastSelectedOptionIndex(){return this.hasSelectedOption?n.ObjectUtils.findLastIndex(this.visibleOptions,(e=>this.isValidSelectedOption(e))):-1},findNextSelectedOptionIndex(e){const t=this.hasSelectedOption&&e<this.visibleOptions.length-1?this.visibleOptions.slice(e+1).findIndex((e=>this.isValidSelectedOption(e))):-1;return t>-1?t+e+1:-1},findPrevSelectedOptionIndex(e){const t=this.hasSelectedOption&&e>0?n.ObjectUtils.findLastIndex(this.visibleOptions.slice(0,e),(e=>this.isValidSelectedOption(e))):-1;return t>-1?t:-1},findNearestSelectedOptionIndex(e,t=!1){let i=-1;return this.hasSelectedOption&&(t?(i=this.findPrevSelectedOptionIndex(e),i=-1===i?this.findNextSelectedOptionIndex(e):i):(i=this.findNextSelectedOptionIndex(e),i=-1===i?this.findPrevSelectedOptionIndex(e):i)),i>-1?i:e},findFirstFocusedOptionIndex(){const e=this.findFirstSelectedOptionIndex();return e<0?this.findFirstOptionIndex():e},findLastFocusedOptionIndex(){const e=this.findLastSelectedOptionIndex();return e<0?this.findLastOptionIndex():e},searchOptions(e,t){this.searchValue=(this.searchValue||"")+t;let i=-1;-1!==this.focusedOptionIndex?(i=this.visibleOptions.slice(this.focusedOptionIndex).findIndex((e=>this.isOptionMatched(e))),i=-1===i?this.visibleOptions.slice(0,this.focusedOptionIndex).findIndex((e=>this.isOptionMatched(e))):i+this.focusedOptionIndex):i=this.visibleOptions.findIndex((e=>this.isOptionMatched(e))),-1===i&&-1===this.focusedOptionIndex&&(i=this.findFirstFocusedOptionIndex()),-1!==i&&this.changeFocusedOptionIndex(e,i),this.searchTimeout&&clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((()=>{this.searchValue="",this.searchTimeout=null}),500)},removeOption(e){return this.modelValue.filter((t=>!n.ObjectUtils.equals(t,this.getOptionValue(e),this.equalityKey)))},changeFocusedOptionIndex(e,t){this.focusedOptionIndex!==t&&(this.focusedOptionIndex=t,this.scrollInView(),this.selectOnFocus&&!this.multiple&&this.onOptionSelect(e,this.visibleOptions[t]))},scrollInView(e=-1){const t=-1!==e?`${this.id}_${e}`:this.focusedOptionId,i=n.DomHandler.findSingle(this.list,`li[id="${t}"]`);i?i.scrollIntoView&&i.scrollIntoView({block:"nearest",inline:"nearest"}):this.virtualScrollerDisabled||this.virtualScroller&&this.virtualScroller.scrollToIndex(-1!==e?e:this.focusedOptionIndex)},autoUpdateModel(){this.selectOnFocus&&this.autoOptionFocus&&!this.hasSelectedOption&&!this.multiple&&(this.focusedOptionIndex=this.findFirstFocusedOptionIndex(),this.onOptionSelect(null,this.visibleOptions[this.focusedOptionIndex]))},updateModel(e,t){this.$emit("update:modelValue",t),this.$emit("change",{originalEvent:e,value:t})},flatOptions(e){return(e||[]).reduce(((e,t,i)=>{e.push({optionGroup:t,group:!0,index:i});const s=this.getOptionGroupChildren(t);return s&&s.forEach((t=>e.push(t))),e}),[])},listRef(e,t){this.list=e,t&&t(e)},virtualScrollerRef(e){this.virtualScroller=e}},computed:{containerClass(){return["p-listbox p-component",{"p-focus":this.focused,"p-disabled":this.disabled}]},visibleOptions(){const t=this.optionGroupLabel?this.flatOptions(this.options):this.options||[];return this.filterValue?e.FilterService.filter(t,this.searchFields,this.filterValue,this.filterMatchMode,this.filterLocale):t},hasSelectedOption(){return n.ObjectUtils.isNotEmpty(this.modelValue)},equalityKey(){return this.optionValue?null:this.dataKey},searchFields(){return this.filterFields||[this.optionLabel]},filterResultMessageText(){return n.ObjectUtils.isNotEmpty(this.visibleOptions)?this.filterMessageText.replaceAll("{0}",this.visibleOptions.length):this.emptyFilterMessageText},filterMessageText(){return this.filterMessage||this.$primevue.config.locale.searchMessage||""},emptyFilterMessageText(){return this.emptyFilterMessage||this.$primevue.config.locale.emptySearchMessage||this.$primevue.config.locale.emptyFilterMessage||""},emptyMessageText(){return this.emptyMessage||this.$primevue.config.locale.emptyMessage||""},selectionMessageText(){return this.selectionMessage||this.$primevue.config.locale.selectionMessage||""},emptySelectionMessageText(){return this.emptySelectionMessage||this.$primevue.config.locale.emptySelectionMessage||""},selectedMessageText(){return this.hasSelectedOption?this.selectionMessageText.replaceAll("{0}",this.multiple?this.modelValue.length:"1"):this.emptySelectionMessageText},focusedOptionId(){return-1!==this.focusedOptionIndex?`${this.id}_${this.focusedOptionIndex}`:null},ariaSetSize(){return this.visibleOptions.filter((e=>!this.isOptionGroup(e))).length},virtualScrollerDisabled(){return!this.virtualScrollerOptions}},directives:{ripple:p.default},components:{VirtualScroller:c.default,SearchIcon:d.default}};const h=["id"],f=["tabindex"],O=["placeholder","aria-owns","aria-activedescendant","tabindex"],m=["id","aria-multiselectable","aria-label","aria-labelledby","aria-activedescendant","aria-disabled"],b=["id"],g=["id","aria-label","aria-selected","aria-disabled","aria-setsize","aria-posinset","onClick","onMousedown","onMousemove"],x=["tabindex"];return function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&s.firstChild?s.insertBefore(n,s.firstChild):s.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-listbox-list-wrapper {\n overflow: auto;\n}\n.p-listbox-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.p-listbox-item {\n cursor: pointer;\n position: relative;\n overflow: hidden;\n}\n.p-listbox-item-group {\n cursor: auto;\n}\n.p-listbox-filter-container {\n position: relative;\n}\n.p-listbox-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n}\n.p-listbox-filter {\n width: 100%;\n}\n"),u.render=function(e,t,i,s,n,o){const a=l.resolveComponent("VirtualScroller"),r=l.resolveDirective("ripple");return l.openBlock(),l.createElementBlock("div",l.mergeProps({id:n.id,class:o.containerClass,onFocusout:t[10]||(t[10]=(...e)=>o.onFocusout&&o.onFocusout(...e))},e.ptm("root")),[l.createElementVNode("span",l.mergeProps({ref:"firstHiddenFocusableElement",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:i.disabled?-1:i.tabindex,onFocus:t[0]||(t[0]=(...e)=>o.onFirstHiddenFocus&&o.onFirstHiddenFocus(...e))},e.ptm("hiddenFirstFocusableEl")),null,16,f),l.renderSlot(e.$slots,"header",{value:i.modelValue,options:o.visibleOptions}),i.filter?(l.openBlock(),l.createElementBlock("div",l.mergeProps({key:0,class:"p-listbox-header"},e.ptm("header")),[l.createElementVNode("div",l.mergeProps({class:"p-listbox-filter-container"},e.ptm("filterContainer")),[l.withDirectives(l.createElementVNode("input",l.mergeProps({ref:"filterInput","onUpdate:modelValue":t[1]||(t[1]=e=>n.filterValue=e),type:"text",class:"p-listbox-filter p-inputtext p-component",placeholder:i.filterPlaceholder,role:"searchbox",autocomplete:"off","aria-owns":n.id+"_list","aria-activedescendant":o.focusedOptionId,tabindex:i.disabled||n.focused?-1:i.tabindex,onInput:t[2]||(t[2]=(...e)=>o.onFilterChange&&o.onFilterChange(...e)),onBlur:t[3]||(t[3]=(...e)=>o.onFilterBlur&&o.onFilterBlur(...e)),onKeydown:t[4]||(t[4]=(...e)=>o.onFilterKeyDown&&o.onFilterKeyDown(...e))},{...i.filterInputProps,...e.ptm("filterInput")}),null,16,O),[[l.vModelText,n.filterValue]]),l.renderSlot(e.$slots,"filtericon",{},(()=>[(l.openBlock(),l.createBlock(l.resolveDynamicComponent(i.filterIcon?"span":"SearchIcon"),l.mergeProps({class:["p-listbox-filter-icon",i.filterIcon]},e.ptm("filterIcon")),null,16,["class"]))]))],16),l.createElementVNode("span",l.mergeProps({role:"status","aria-live":"polite",class:"p-hidden-accessible"},e.ptm("hiddenFilterResult")),l.toDisplayString(o.filterResultMessageText),17)],16)):l.createCommentVNode("",!0),l.createElementVNode("div",l.mergeProps({ref:"listWrapper",class:"p-listbox-list-wrapper",style:i.listStyle},e.ptm("wrapper")),[l.createVNode(a,l.mergeProps({ref:o.virtualScrollerRef},{...i.virtualScrollerOptions,...e.ptm("virtualScroller")},{style:i.listStyle,items:o.visibleOptions,tabindex:-1,disabled:o.virtualScrollerDisabled}),l.createSlots({content:l.withCtx((({styleClass:s,contentRef:a,items:d,getItemOptions:p,contentStyle:c,itemSize:u})=>[l.createElementVNode("ul",l.mergeProps({ref:e=>o.listRef(e,a),id:n.id+"_list",class:["p-listbox-list",s],style:c,tabindex:-1,role:"listbox","aria-multiselectable":i.multiple,"aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,"aria-activedescendant":n.focused?o.focusedOptionId:void 0,"aria-disabled":i.disabled,onFocus:t[6]||(t[6]=(...e)=>o.onListFocus&&o.onListFocus(...e)),onBlur:t[7]||(t[7]=(...e)=>o.onListBlur&&o.onListBlur(...e)),onKeydown:t[8]||(t[8]=(...e)=>o.onListKeyDown&&o.onListKeyDown(...e))},e.ptm("list")),[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(d,((i,s)=>(l.openBlock(),l.createElementBlock(l.Fragment,{key:o.getOptionRenderKey(i,o.getOptionIndex(s,p))},[o.isOptionGroup(i)?(l.openBlock(),l.createElementBlock("li",l.mergeProps({key:0,id:n.id+"_"+o.getOptionIndex(s,p),style:{height:u?u+"px":void 0},class:"p-listbox-item-group",role:"option"},e.ptm("itemGroup")),[l.renderSlot(e.$slots,"optiongroup",{option:i.optionGroup,index:o.getOptionIndex(s,p)},(()=>[l.createTextVNode(l.toDisplayString(o.getOptionGroupLabel(i.optionGroup)),1)]))],16,b)):l.withDirectives((l.openBlock(),l.createElementBlock("li",l.mergeProps({key:1,id:n.id+"_"+o.getOptionIndex(s,p),style:{height:u?u+"px":void 0},class:["p-listbox-item",{"p-highlight":o.isSelected(i),"p-focus":n.focusedOptionIndex===o.getOptionIndex(s,p),"p-disabled":o.isOptionDisabled(i)}],role:"option","aria-label":o.getOptionLabel(i),"aria-selected":o.isSelected(i),"aria-disabled":o.isOptionDisabled(i),"aria-setsize":o.ariaSetSize,"aria-posinset":o.getAriaPosInset(o.getOptionIndex(s,p)),onClick:e=>o.onOptionSelect(e,i,o.getOptionIndex(s,p)),onMousedown:e=>o.onOptionMouseDown(e,o.getOptionIndex(s,p)),onMousemove:e=>o.onOptionMouseMove(e,o.getOptionIndex(s,p)),onTouchend:t[5]||(t[5]=e=>o.onOptionTouchEnd())},o.getPTOptions(i,p,s,"item")),[l.renderSlot(e.$slots,"option",{option:i,index:o.getOptionIndex(s,p)},(()=>[l.createTextVNode(l.toDisplayString(o.getOptionLabel(i)),1)]))],16,g)),[[r]])],64)))),128)),n.filterValue&&(!d||d&&0===d.length)?(l.openBlock(),l.createElementBlock("li",l.mergeProps({key:0,class:"p-listbox-empty-message",role:"option"},e.ptm("emptyMessage")),[l.renderSlot(e.$slots,"emptyfilter",{},(()=>[l.createTextVNode(l.toDisplayString(o.emptyFilterMessageText),1)]))],16)):!i.options||i.options&&0===i.options.length?(l.openBlock(),l.createElementBlock("li",l.mergeProps({key:1,class:"p-listbox-empty-message",role:"option"},e.ptm("emptyMessage")),[l.renderSlot(e.$slots,"empty",{},(()=>[l.createTextVNode(l.toDisplayString(o.emptyMessageText),1)]))],16)):l.createCommentVNode("",!0)],16,m)])),_:2},[e.$slots.loader?{name:"loader",fn:l.withCtx((({options:t})=>[l.renderSlot(e.$slots,"loader",{options:t})])),key:"0"}:void 0]),1040,["style","items","disabled"])],16),l.renderSlot(e.$slots,"footer",{value:i.modelValue,options:o.visibleOptions}),!i.options||i.options&&0===i.options.length?(l.openBlock(),l.createElementBlock("span",l.mergeProps({key:1,role:"status","aria-live":"polite",class:"p-hidden-accessible"},e.ptm("emptyMessage")),l.toDisplayString(o.emptyMessageText),17)):l.createCommentVNode("",!0),l.createElementVNode("span",l.mergeProps({role:"status","aria-live":"polite",class:"p-hidden-accessible"},e.ptm("hiddenSelectedMessage")),l.toDisplayString(o.selectedMessageText),17),l.createElementVNode("span",l.mergeProps({ref:"lastHiddenFocusableElement",role:"presentation","aria-hidden":"true",class:"p-hidden-accessible p-hidden-focusable",tabindex:i.disabled?-1:i.tabindex,onFocus:t[9]||(t[9]=(...e)=>o.onLastHiddenFocus&&o.onLastHiddenFocus(...e))},e.ptm("hiddenLastFocusableEl")),null,16,x)],16,h)},u}(primevue.api,primevue.basecomponent,primevue.icons.search,primevue.ripple,primevue.utils,primevue.virtualscroller,Vue);
@@ -11,6 +11,150 @@ import { VNode } from 'vue';
11
11
  import { MenuItem } from '../menuitem';
12
12
  import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
13
13
 
14
+ export declare type MegaMenuPassThroughOptionType = MegaMenuPassThroughAttributes | ((options: MegaMenuPassThroughMethodOptions) => MegaMenuPassThroughAttributes) | null | undefined;
15
+
16
+ /**
17
+ * Custom passthrough(pt) option method.
18
+ */
19
+ export interface MegaMenuPassThroughMethodOptions {
20
+ props: MegaMenuProps;
21
+ state: MegaMenuState;
22
+ context: MegaMenuContext;
23
+ }
24
+
25
+ /**
26
+ * Custom passthrough(pt) options.
27
+ * @see {@link MegaMenuProps.pt}
28
+ */
29
+ export interface MegaMenuPassThroughOptions {
30
+ /**
31
+ * Uses to pass attributes to the root's DOM element.
32
+ */
33
+ root?: MegaMenuPassThroughOptionType;
34
+ /**
35
+ * Uses to pass attributes to the list's DOM element.
36
+ */
37
+ menu?: MegaMenuPassThroughOptionType;
38
+ /**
39
+ * Uses to pass attributes to the list item's DOM element.
40
+ */
41
+ menuitem?: MegaMenuPassThroughOptionType;
42
+ /**
43
+ * Uses to pass attributes to the content's DOM element.
44
+ */
45
+ content?: MegaMenuPassThroughOptionType;
46
+ /**
47
+ * Uses to pass attributes to the action's DOM element.
48
+ */
49
+ action?: MegaMenuPassThroughOptionType;
50
+ /**
51
+ * Uses to pass attributes to the icon's DOM element.
52
+ */
53
+ icon?: MegaMenuPassThroughOptionType;
54
+ /**
55
+ * Uses to pass attributes to the label's DOM element.
56
+ */
57
+ label?: MegaMenuPassThroughOptionType;
58
+ /**
59
+ * Uses to pass attributes to the submenu icon's DOM element.
60
+ */
61
+ submenuIcon?: MegaMenuPassThroughOptionType;
62
+ /**
63
+ * Uses to pass attributes to the panel's DOM element.
64
+ */
65
+ panel?: MegaMenuPassThroughOptionType;
66
+ /**
67
+ * Uses to pass attributes to the grid's DOM element.
68
+ */
69
+ grid?: MegaMenuPassThroughOptionType;
70
+ /**
71
+ * Uses to pass attributes to the column's DOM element.
72
+ */
73
+ column?: MegaMenuPassThroughOptionType;
74
+ /**
75
+ * Uses to pass attributes to the submenu header's DOM element.
76
+ */
77
+ submenuHeader?: MegaMenuPassThroughOptionType;
78
+ /**
79
+ * Uses to pass attributes to the separator's DOM element.
80
+ */
81
+ separator?: MegaMenuPassThroughOptionType;
82
+ /**
83
+ * Uses to pass attributes to the start of the component.
84
+ */
85
+ start?: MegaMenuPassThroughOptionType;
86
+ /**
87
+ * Uses to pass attributes to the end of the component.
88
+ */
89
+ end?: MegaMenuPassThroughOptionType;
90
+ }
91
+
92
+ /**
93
+ * Custom passthrough attributes for each DOM elements
94
+ */
95
+ export interface MegaMenuPassThroughAttributes {
96
+ [key: string]: any;
97
+ }
98
+
99
+ /**
100
+ * Defines focused item info
101
+ */
102
+ export interface MegaMenuFocusedItemInfo {
103
+ /**
104
+ * Active item index
105
+ */
106
+ index: number;
107
+ /**
108
+ * Active item level
109
+ */
110
+ level: number;
111
+ /**
112
+ * Parent key info
113
+ */
114
+ parentKey: string;
115
+ }
116
+
117
+ /**
118
+ * Defines current inline state in MegaMenu component.
119
+ */
120
+ export interface MegaMenuState {
121
+ /**
122
+ * Current id state as a string.
123
+ */
124
+ id: string;
125
+ /**
126
+ * Current focus state as a boolean.
127
+ * @defaultValue false
128
+ */
129
+ focused: boolean;
130
+ /**
131
+ * Current focused item info.
132
+ * @type {MegaMenuFocusedItemInfo}
133
+ */
134
+ focusedItemInfo: MegaMenuFocusedItemInfo;
135
+ /**
136
+ * Active item path.
137
+ * @type {MenuItem}
138
+ */
139
+ activeItem: MenuItem;
140
+ }
141
+
142
+ /**
143
+ * Defines current options in MegaMenu component.
144
+ */
145
+ export interface MegaMenuContext {
146
+ /**
147
+ * Current active state of menuitem as a boolean.
148
+ * @defaultValue false
149
+ */
150
+ active: boolean;
151
+ /**
152
+ * Current focused state of menuitem as a boolean.
153
+ * @defaultValue false
154
+ */
155
+ focused: boolean;
156
+ }
157
+
14
158
  /**
15
159
  * Defines valid properties in MegaMenu component.
16
160
  */
@@ -46,6 +190,11 @@ export interface MegaMenuProps {
46
190
  * Identifier of the underlying menu element.
47
191
  */
48
192
  'aria-labelledby'?: string | undefined;
193
+ /**
194
+ * Uses to pass attributes to DOM elements inside the component.
195
+ * @type {MegaMenuPassThroughOptions}
196
+ */
197
+ pt?: MegaMenuPassThroughOptions;
49
198
  }
50
199
 
51
200
  /**
@@ -1,6 +1,6 @@
1
1
  <template>
2
- <div :ref="containerRef" :id="id" :class="containerClass">
3
- <div v-if="$slots.start" class="p-megamenu-start">
2
+ <div :ref="containerRef" :id="id" :class="containerClass" v-bind="ptm('root')">
3
+ <div v-if="$slots.start" class="p-megamenu-start" v-bind="ptm('start')">
4
4
  <slot name="start"></slot>
5
5
  </div>
6
6
  <MegaMenuSub
@@ -22,24 +22,27 @@
22
22
  :activeItem="activeItem"
23
23
  :exact="exact"
24
24
  :level="0"
25
+ :pt="pt"
25
26
  @focus="onFocus"
26
27
  @blur="onBlur"
27
28
  @keydown="onKeyDown"
28
29
  @item-click="onItemClick"
29
30
  @item-mouseenter="onItemMouseEnter"
30
31
  />
31
- <div v-if="$slots.end" class="p-megamenu-end">
32
+ <div v-if="$slots.end" class="p-megamenu-end" v-bind="ptm('end')">
32
33
  <slot name="end"></slot>
33
34
  </div>
34
35
  </div>
35
36
  </template>
36
37
 
37
38
  <script>
39
+ import BaseComponent from 'primevue/basecomponent';
38
40
  import { DomHandler, ObjectUtils, UniqueComponentId } from 'primevue/utils';
39
41
  import MegaMenuSub from './MegaMenuSub.vue';
40
42
 
41
43
  export default {
42
44
  name: 'MegaMenu',
45
+ extends: BaseComponent,
43
46
  emits: ['focus', 'blur'],
44
47
  props: {
45
48
  model: {