@vuetify/nightly 3.2.0-dev-20230214.0 → 3.2.0-dev-20230322.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 (336) hide show
  1. package/CHANGELOG.md +5 -17
  2. package/dist/json/attributes.json +243 -59
  3. package/dist/json/tags.json +48 -2
  4. package/dist/json/web-types.json +1648 -279
  5. package/dist/vuetify-labs.css +666 -482
  6. package/dist/vuetify-labs.d.ts +59419 -13475
  7. package/dist/vuetify-labs.esm.js +797 -531
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +797 -531
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +524 -355
  12. package/dist/vuetify.d.ts +55670 -14368
  13. package/dist/vuetify.esm.js +607 -462
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +607 -462
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +793 -793
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/blueprints/index.d.ts +6 -9
  21. package/lib/blueprints/md1.d.ts +6 -9
  22. package/lib/blueprints/md2.d.ts +6 -9
  23. package/lib/blueprints/md3.d.ts +6 -9
  24. package/lib/blueprints/md3.mjs +6 -0
  25. package/lib/blueprints/md3.mjs.map +1 -1
  26. package/lib/components/VAlert/VAlert.css +1 -1
  27. package/lib/components/VAlert/VAlert.mjs +29 -15
  28. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  29. package/lib/components/VAlert/_variables.scss +1 -1
  30. package/lib/components/VAlert/index.d.ts +515 -65
  31. package/lib/components/VApp/VApp.css +1 -0
  32. package/lib/components/VApp/VApp.sass +1 -0
  33. package/lib/components/VApp/index.d.ts +161 -17
  34. package/lib/components/VAppBar/VAppBar.mjs +9 -4
  35. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  36. package/lib/components/VAppBar/index.d.ts +624 -82
  37. package/lib/components/VAutocomplete/VAutocomplete.mjs +23 -8
  38. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  39. package/lib/components/VAutocomplete/index.d.ts +1744 -113
  40. package/lib/components/VAvatar/index.d.ts +207 -25
  41. package/lib/components/VBadge/index.d.ts +286 -36
  42. package/lib/components/VBanner/VBanner.mjs +19 -12
  43. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  44. package/lib/components/VBanner/index.d.ts +485 -67
  45. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +6 -2
  46. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  47. package/lib/components/VBottomNavigation/index.d.ts +323 -36
  48. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +11 -7
  49. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  50. package/lib/components/VBreadcrumbs/index.d.ts +346 -42
  51. package/lib/components/VBtn/VBtn.css +0 -5
  52. package/lib/components/VBtn/VBtn.mjs +65 -58
  53. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  54. package/lib/components/VBtn/VBtn.sass +0 -7
  55. package/lib/components/VBtn/_variables.scss +0 -2
  56. package/lib/components/VBtn/index.d.ts +454 -59
  57. package/lib/components/VBtnGroup/VBtnGroup.mjs +1 -7
  58. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  59. package/lib/components/VBtnGroup/index.d.ts +187 -22
  60. package/lib/components/VBtnToggle/VBtnToggle.mjs +2 -2
  61. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  62. package/lib/components/VBtnToggle/index.d.ts +248 -32
  63. package/lib/components/VCard/VCard.mjs +10 -6
  64. package/lib/components/VCard/VCard.mjs.map +1 -1
  65. package/lib/components/VCard/VCardItem.mjs +27 -23
  66. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  67. package/lib/components/VCard/index.d.ts +958 -132
  68. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  69. package/lib/components/VCarousel/index.d.ts +585 -87
  70. package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
  71. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  72. package/lib/components/VCheckbox/VCheckboxBtn.mjs +1 -4
  73. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  74. package/lib/components/VCheckbox/index.d.ts +841 -119
  75. package/lib/components/VChip/VChip.css +110 -90
  76. package/lib/components/VChip/VChip.mjs +70 -48
  77. package/lib/components/VChip/VChip.mjs.map +1 -1
  78. package/lib/components/VChip/_mixins.scss +27 -23
  79. package/lib/components/VChip/index.d.ts +476 -66
  80. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  81. package/lib/components/VChipGroup/index.d.ts +229 -28
  82. package/lib/components/VCode/index.d.ts +112 -13
  83. package/lib/components/VColorPicker/VColorPicker.mjs +9 -1
  84. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  85. package/lib/components/VColorPicker/VColorPickerCanvas.css +2 -1
  86. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +36 -18
  87. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  88. package/lib/components/VColorPicker/VColorPickerCanvas.sass +2 -1
  89. package/lib/components/VColorPicker/VColorPickerEdit.mjs +4 -4
  90. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  91. package/lib/components/VColorPicker/VColorPickerPreview.mjs +2 -2
  92. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  93. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  94. package/lib/components/VColorPicker/index.d.ts +284 -20
  95. package/lib/components/VColorPicker/util/index.mjs +2 -5
  96. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  97. package/lib/components/VCombobox/VCombobox.mjs +23 -8
  98. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  99. package/lib/components/VCombobox/index.d.ts +1756 -113
  100. package/lib/components/VCounter/index.d.ts +1909 -78
  101. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +4 -1
  102. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  103. package/lib/components/VDefaultsProvider/index.d.ts +136 -18
  104. package/lib/components/VDialog/VDialog.css +31 -24
  105. package/lib/components/VDialog/VDialog.mjs +2 -2
  106. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  107. package/lib/components/VDialog/VDialog.sass +19 -12
  108. package/lib/components/VDialog/index.d.ts +2403 -124
  109. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  110. package/lib/components/VDivider/index.d.ts +132 -19
  111. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  112. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  113. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  114. package/lib/components/VExpansionPanel/index.d.ts +741 -104
  115. package/lib/components/VField/VField.mjs.map +1 -1
  116. package/lib/components/VField/index.d.ts +179 -23
  117. package/lib/components/VFileInput/VFileInput.mjs +1 -0
  118. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  119. package/lib/components/VFileInput/index.d.ts +1069 -93
  120. package/lib/components/VFooter/VFooter.css +2 -0
  121. package/lib/components/VFooter/VFooter.sass +2 -0
  122. package/lib/components/VFooter/_variables.scss +2 -0
  123. package/lib/components/VFooter/index.d.ts +206 -25
  124. package/lib/components/VForm/index.d.ts +207 -20
  125. package/lib/components/VGrid/VCol.mjs +6 -5
  126. package/lib/components/VGrid/VCol.mjs.map +1 -1
  127. package/lib/components/VGrid/VRow.mjs +4 -4
  128. package/lib/components/VGrid/VRow.mjs.map +1 -1
  129. package/lib/components/VGrid/index.d.ts +745 -64
  130. package/lib/components/VHover/index.d.ts +188 -29
  131. package/lib/components/VIcon/index.d.ts +500 -44
  132. package/lib/components/VImg/VImg.mjs +2 -2
  133. package/lib/components/VImg/VImg.mjs.map +1 -1
  134. package/lib/components/VImg/index.d.ts +281 -40
  135. package/lib/components/VInput/VInput.mjs.map +1 -1
  136. package/lib/components/VInput/index.d.ts +321 -47
  137. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  138. package/lib/components/VItemGroup/index.d.ts +313 -45
  139. package/lib/components/VKbd/VKbd.css +1 -0
  140. package/lib/components/VKbd/VKbd.sass +1 -0
  141. package/lib/components/VKbd/_variables.scss +1 -0
  142. package/lib/components/VKbd/index.d.ts +112 -13
  143. package/lib/components/VLabel/index.d.ts +115 -16
  144. package/lib/components/VLayout/index.d.ts +302 -35
  145. package/lib/components/VLazy/VLazy.mjs +4 -1
  146. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  147. package/lib/components/VLazy/index.d.ts +222 -27
  148. package/lib/components/VList/VListChildren.mjs +2 -2
  149. package/lib/components/VList/VListChildren.mjs.map +1 -1
  150. package/lib/components/VList/VListGroup.mjs +1 -4
  151. package/lib/components/VList/VListGroup.mjs.map +1 -1
  152. package/lib/components/VList/VListItem.mjs +23 -19
  153. package/lib/components/VList/VListItem.mjs.map +1 -1
  154. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  155. package/lib/components/VList/index.d.ts +1500 -191
  156. package/lib/components/VLocaleProvider/index.d.ts +123 -16
  157. package/lib/components/VMain/index.d.ts +121 -14
  158. package/lib/components/VMenu/VMenu.css +4 -4
  159. package/lib/components/VMenu/VMenu.mjs +8 -7
  160. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  161. package/lib/components/VMenu/VMenu.sass +1 -1
  162. package/lib/components/VMenu/index.d.ts +2411 -121
  163. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  164. package/lib/components/VMessages/index.d.ts +1934 -87
  165. package/lib/components/VNavigationDrawer/index.d.ts +382 -47
  166. package/lib/components/VNoSsr/index.d.ts +6 -0
  167. package/lib/components/VOverlay/VOverlay.css +2 -2
  168. package/lib/components/VOverlay/VOverlay.mjs +1 -4
  169. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  170. package/lib/components/VOverlay/VOverlay.sass +1 -1
  171. package/lib/components/VOverlay/_variables.scss +1 -1
  172. package/lib/components/VOverlay/index.d.ts +527 -75
  173. package/lib/components/VOverlay/scrollStrategies.mjs +2 -2
  174. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  175. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  176. package/lib/components/VPagination/index.d.ts +504 -56
  177. package/lib/components/VParallax/VParallax.mjs +3 -3
  178. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  179. package/lib/components/VParallax/index.d.ts +144 -19
  180. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  181. package/lib/components/VProgressCircular/index.d.ts +189 -22
  182. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  183. package/lib/components/VProgressLinear/index.d.ts +325 -42
  184. package/lib/components/VRadio/index.d.ts +318 -46
  185. package/lib/components/VRadioGroup/VRadioGroup.mjs +4 -6
  186. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  187. package/lib/components/VRadioGroup/index.d.ts +468 -66
  188. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  189. package/lib/components/VRangeSlider/index.d.ts +530 -66
  190. package/lib/components/VRating/VRating.css +0 -4
  191. package/lib/components/VRating/VRating.mjs +6 -35
  192. package/lib/components/VRating/VRating.mjs.map +1 -1
  193. package/lib/components/VRating/VRating.sass +0 -5
  194. package/lib/components/VRating/index.d.ts +309 -38
  195. package/lib/components/VResponsive/index.d.ts +144 -21
  196. package/lib/components/VSelect/VSelect.mjs +23 -8
  197. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  198. package/lib/components/VSelect/index.d.ts +3150 -247
  199. package/lib/components/VSelectionControl/VSelectionControl.mjs +1 -4
  200. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  201. package/lib/components/VSelectionControl/index.d.ts +90 -10
  202. package/lib/components/VSelectionControlGroup/index.d.ts +245 -35
  203. package/lib/components/VSheet/VSheet.mjs +16 -12
  204. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  205. package/lib/components/VSheet/index.d.ts +196 -27
  206. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  207. package/lib/components/VSlideGroup/index.d.ts +488 -70
  208. package/lib/components/VSlider/VSliderTrack.mjs +1 -0
  209. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  210. package/lib/components/VSlider/index.d.ts +523 -65
  211. package/lib/components/VSlider/slider.mjs +5 -6
  212. package/lib/components/VSlider/slider.mjs.map +1 -1
  213. package/lib/components/VSnackbar/VSnackbar.css +2 -9
  214. package/lib/components/VSnackbar/VSnackbar.mjs +10 -11
  215. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  216. package/lib/components/VSnackbar/VSnackbar.sass +3 -10
  217. package/lib/components/VSnackbar/index.d.ts +1255 -74
  218. package/lib/components/VSwitch/VSwitch.mjs +2 -2
  219. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  220. package/lib/components/VSwitch/index.d.ts +503 -75
  221. package/lib/components/VSystemBar/VSystemBar.css +5 -1
  222. package/lib/components/VSystemBar/VSystemBar.mjs +6 -2
  223. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  224. package/lib/components/VSystemBar/VSystemBar.sass +5 -1
  225. package/lib/components/VSystemBar/_variables.scss +4 -1
  226. package/lib/components/VSystemBar/index.d.ts +186 -23
  227. package/lib/components/VTable/VTable.mjs.map +1 -1
  228. package/lib/components/VTable/index.d.ts +193 -26
  229. package/lib/components/VTabs/VTab.mjs +7 -23
  230. package/lib/components/VTabs/VTab.mjs.map +1 -1
  231. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  232. package/lib/components/VTabs/index.d.ts +628 -64
  233. package/lib/components/VTextField/VTextField.mjs +9 -5
  234. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  235. package/lib/components/VTextField/index.d.ts +1447 -101
  236. package/lib/components/VTextarea/VTextarea.mjs +8 -1
  237. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  238. package/lib/components/VTextarea/index.d.ts +1043 -93
  239. package/lib/components/VThemeProvider/index.d.ts +127 -16
  240. package/lib/components/VTimeline/VTimelineDivider.mjs +18 -10
  241. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  242. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  243. package/lib/components/VTimeline/index.d.ts +446 -60
  244. package/lib/components/VToolbar/VToolbar.mjs +10 -9
  245. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  246. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  247. package/lib/components/VToolbar/index.d.ts +552 -73
  248. package/lib/components/VTooltip/VTooltip.css +3 -3
  249. package/lib/components/VTooltip/VTooltip.mjs +4 -4
  250. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  251. package/lib/components/VTooltip/VTooltip.sass +1 -1
  252. package/lib/components/VTooltip/index.d.ts +1315 -73
  253. package/lib/components/VValidation/index.d.ts +204 -27
  254. package/lib/components/VWindow/index.d.ts +541 -75
  255. package/lib/components/index.d.ts +55694 -14389
  256. package/lib/components/transitions/createTransition.mjs +1 -1
  257. package/lib/components/transitions/createTransition.mjs.map +1 -1
  258. package/lib/components/transitions/index.d.ts +2144 -259
  259. package/lib/composables/defaults.mjs +5 -1
  260. package/lib/composables/defaults.mjs.map +1 -1
  261. package/lib/composables/display.mjs +15 -10
  262. package/lib/composables/display.mjs.map +1 -1
  263. package/lib/composables/form.mjs.map +1 -1
  264. package/lib/composables/loader.mjs.map +1 -1
  265. package/lib/composables/nested/nested.mjs +2 -2
  266. package/lib/composables/nested/nested.mjs.map +1 -1
  267. package/lib/composables/nested/selectStrategies.mjs +7 -1
  268. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  269. package/lib/composables/proxiedModel.mjs +1 -1
  270. package/lib/composables/proxiedModel.mjs.map +1 -1
  271. package/lib/composables/resizeObserver.mjs.map +1 -1
  272. package/lib/composables/stack.mjs +2 -2
  273. package/lib/composables/stack.mjs.map +1 -1
  274. package/lib/composables/theme.mjs +28 -23
  275. package/lib/composables/theme.mjs.map +1 -1
  276. package/lib/composables/variant.mjs.map +1 -1
  277. package/lib/entry-bundler.mjs +1 -1
  278. package/lib/framework.mjs +1 -1
  279. package/lib/index.d.ts +6 -9
  280. package/lib/labs/VDataTable/VDataTable.css +15 -0
  281. package/lib/labs/VDataTable/VDataTable.mjs +45 -19
  282. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  283. package/lib/labs/VDataTable/VDataTable.sass +9 -0
  284. package/lib/labs/VDataTable/VDataTableFooter.mjs +3 -2
  285. package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
  286. package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
  287. package/lib/labs/VDataTable/VDataTableRow.mjs +8 -2
  288. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  289. package/lib/labs/VDataTable/VDataTableRows.mjs +6 -7
  290. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  291. package/lib/labs/VDataTable/VDataTableServer.mjs +41 -19
  292. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  293. package/lib/labs/VDataTable/VDataTableVirtual.mjs +27 -14
  294. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  295. package/lib/labs/VDataTable/composables/expand.mjs +1 -1
  296. package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
  297. package/lib/labs/VDataTable/composables/group.mjs +12 -1
  298. package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
  299. package/lib/labs/VDataTable/composables/options.mjs +4 -10
  300. package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
  301. package/lib/labs/VDataTable/composables/paginate.mjs +25 -4
  302. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  303. package/lib/labs/VDataTable/composables/select.mjs +1 -1
  304. package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
  305. package/lib/labs/VDataTable/composables/sort.mjs +19 -3
  306. package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
  307. package/lib/labs/VDataTable/index.d.ts +4934 -317
  308. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs +18 -5
  309. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  310. package/lib/labs/VVirtualScroll/index.d.ts +41 -7
  311. package/lib/labs/components.d.ts +4970 -324
  312. package/lib/locale/adapters/vue-i18n.d.ts +1 -1
  313. package/lib/locale/adapters/vue-i18n.mjs +1 -1
  314. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  315. package/lib/locale/index.mjs +1 -1
  316. package/lib/locale/index.mjs.map +1 -1
  317. package/lib/styles/elements/_global.sass +0 -4
  318. package/lib/styles/generic/_index.scss +0 -1
  319. package/lib/styles/generic/_transitions.scss +111 -9
  320. package/lib/styles/main.css +316 -167
  321. package/lib/styles/settings/_utilities.scss +7 -0
  322. package/lib/styles/tools/_sheet.sass +3 -6
  323. package/lib/styles/utilities/_display.sass +6 -5
  324. package/lib/styles/utilities/_elevation.scss +13 -0
  325. package/lib/styles/utilities/_index.sass +3 -2
  326. package/lib/styles/utilities/_screenreaders.sass +13 -11
  327. package/lib/util/animation.mjs +8 -1
  328. package/lib/util/animation.mjs.map +1 -1
  329. package/lib/util/colorUtils.mjs +4 -5
  330. package/lib/util/colorUtils.mjs.map +1 -1
  331. package/lib/util/defineComponent.mjs +15 -7
  332. package/lib/util/defineComponent.mjs.map +1 -1
  333. package/lib/util/helpers.mjs +4 -0
  334. package/lib/util/helpers.mjs.map +1 -1
  335. package/package.json +15 -7
  336. package/lib/styles/generic/_elevation.scss +0 -10
@@ -1,15 +1,19 @@
1
1
  import * as vue from 'vue';
2
- import { JSXComponent, PropType, WritableComputedRef, Ref, CSSProperties, ComputedRef } from 'vue';
2
+ import { ComponentPropsOptions, ExtractPropTypes, PropType, JSXComponent, WritableComputedRef, Ref, CSSProperties, ComputedRef } from 'vue';
3
3
 
4
- type Density = null | 'default' | 'comfortable' | 'compact';
5
-
6
- type IconValue = string | JSXComponent;
7
- declare const IconValue: PropType<IconValue>;
4
+ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
5
+ filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>];
6
+ }
8
7
 
9
8
  declare function deepEqual(a: any, b: any): boolean;
10
9
  type EventProp<T = (...args: any[]) => any> = T | T[];
11
10
  declare const EventProp: PropType<EventProp<(...args: any[]) => any>>;
12
11
 
12
+ type Density = null | 'default' | 'comfortable' | 'compact';
13
+
14
+ type IconValue = string | JSXComponent;
15
+ declare const IconValue: PropType<IconValue>;
16
+
13
17
  type SelectionControlSlot = {
14
18
  model: WritableComputedRef<any>;
15
19
  textColorClasses: Ref<string[]>;
@@ -38,7 +42,321 @@ interface VInputSlot {
38
42
  validate: () => void;
39
43
  }
40
44
 
41
- declare const VRadioGroup: vue.DefineComponent<{
45
+ declare const VRadioGroup: {
46
+ new (...args: any[]): {
47
+ $: vue.ComponentInternalInstance;
48
+ $data: {};
49
+ $props: Partial<{
50
+ type: string;
51
+ inline: boolean;
52
+ error: boolean;
53
+ height: string | number;
54
+ direction: "horizontal" | "vertical";
55
+ disabled: boolean;
56
+ readonly: boolean;
57
+ messages: string | string[];
58
+ density: Density;
59
+ ripple: boolean;
60
+ focused: boolean;
61
+ errorMessages: string | string[];
62
+ maxErrors: string | number;
63
+ rules: ValidationRule[];
64
+ falseIcon: IconValue;
65
+ trueIcon: IconValue;
66
+ valueComparator: typeof deepEqual;
67
+ }> & Omit<{
68
+ type: string;
69
+ inline: boolean;
70
+ error: boolean;
71
+ height: string | number;
72
+ direction: "horizontal" | "vertical";
73
+ disabled: boolean;
74
+ readonly: boolean;
75
+ messages: string | string[];
76
+ density: Density;
77
+ ripple: boolean;
78
+ focused: boolean;
79
+ errorMessages: string | string[];
80
+ maxErrors: string | number;
81
+ rules: ValidationRule[];
82
+ falseIcon: IconValue;
83
+ trueIcon: IconValue;
84
+ valueComparator: typeof deepEqual;
85
+ } & {
86
+ id?: string | undefined;
87
+ name?: string | undefined;
88
+ color?: string | undefined;
89
+ label?: string | undefined;
90
+ theme?: string | undefined;
91
+ modelValue?: any;
92
+ prependIcon?: IconValue | undefined;
93
+ appendIcon?: IconValue | undefined;
94
+ 'onClick:append'?: EventProp<(...args: any[]) => any> | undefined;
95
+ 'onClick:prepend'?: EventProp<(...args: any[]) => any> | undefined;
96
+ validateOn?: "input" | "blur" | "submit" | undefined;
97
+ validationValue?: any;
98
+ hideDetails?: boolean | "auto" | undefined;
99
+ } & {
100
+ $children?: {} | vue.VNodeChild | {
101
+ default?: (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
102
+ prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
103
+ append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
104
+ details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
105
+ label?: ((args_0: {
106
+ label: string | undefined;
107
+ props: Record<string, unknown>;
108
+ }) => vue.VNodeChild) | undefined;
109
+ input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
110
+ };
111
+ $slots?: {
112
+ default?: (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
113
+ prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
114
+ append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
115
+ details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
116
+ label?: ((args_0: {
117
+ label: string | undefined;
118
+ props: Record<string, unknown>;
119
+ }) => vue.VNodeChild) | undefined;
120
+ input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
121
+ } | undefined;
122
+ 'v-slots'?: {
123
+ default?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
124
+ prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
125
+ append?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
126
+ details?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
127
+ label?: false | ((args_0: {
128
+ label: string | undefined;
129
+ props: Record<string, unknown>;
130
+ }) => vue.VNodeChild) | undefined;
131
+ input?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
132
+ } | undefined;
133
+ } & {
134
+ "v-slot:default"?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
135
+ "v-slot:prepend"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
136
+ "v-slot:append"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
137
+ "v-slot:details"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
138
+ "v-slot:label"?: false | ((args_0: {
139
+ label: string | undefined;
140
+ props: Record<string, unknown>;
141
+ }) => vue.VNodeChild) | undefined;
142
+ "v-slot:input"?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
143
+ } & {
144
+ "onUpdate:modelValue"?: ((val: any) => any) | undefined;
145
+ } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "type" | "inline" | "error" | "height" | "direction" | "disabled" | "readonly" | "messages" | "density" | "ripple" | "focused" | "errorMessages" | "maxErrors" | "rules" | "falseIcon" | "trueIcon" | "valueComparator">;
146
+ $attrs: {
147
+ [x: string]: unknown;
148
+ };
149
+ $refs: {
150
+ [x: string]: unknown;
151
+ };
152
+ $slots: Readonly<{
153
+ [name: string]: vue.Slot | undefined;
154
+ }>;
155
+ $root: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
156
+ $parent: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
157
+ $emit: (event: "update:modelValue", val: any) => void;
158
+ $el: any;
159
+ $options: vue.ComponentOptionsBase<{
160
+ type: string;
161
+ inline: boolean;
162
+ error: boolean;
163
+ height: string | number;
164
+ direction: "horizontal" | "vertical";
165
+ disabled: boolean;
166
+ readonly: boolean;
167
+ messages: string | string[];
168
+ density: Density;
169
+ ripple: boolean;
170
+ focused: boolean;
171
+ errorMessages: string | string[];
172
+ maxErrors: string | number;
173
+ rules: ValidationRule[];
174
+ falseIcon: IconValue;
175
+ trueIcon: IconValue;
176
+ valueComparator: typeof deepEqual;
177
+ } & {
178
+ id?: string | undefined;
179
+ name?: string | undefined;
180
+ color?: string | undefined;
181
+ label?: string | undefined;
182
+ theme?: string | undefined;
183
+ modelValue?: any;
184
+ prependIcon?: IconValue | undefined;
185
+ appendIcon?: IconValue | undefined;
186
+ 'onClick:append'?: EventProp<(...args: any[]) => any> | undefined;
187
+ 'onClick:prepend'?: EventProp<(...args: any[]) => any> | undefined;
188
+ validateOn?: "input" | "blur" | "submit" | undefined;
189
+ validationValue?: any;
190
+ hideDetails?: boolean | "auto" | undefined;
191
+ } & {
192
+ $children?: {} | vue.VNodeChild | {
193
+ default?: (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
194
+ prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
195
+ append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
196
+ details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
197
+ label?: ((args_0: {
198
+ label: string | undefined;
199
+ props: Record<string, unknown>;
200
+ }) => vue.VNodeChild) | undefined;
201
+ input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
202
+ };
203
+ $slots?: {
204
+ default?: (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
205
+ prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
206
+ append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
207
+ details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
208
+ label?: ((args_0: {
209
+ label: string | undefined;
210
+ props: Record<string, unknown>;
211
+ }) => vue.VNodeChild) | undefined;
212
+ input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
213
+ } | undefined;
214
+ 'v-slots'?: {
215
+ default?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
216
+ prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
217
+ append?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
218
+ details?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
219
+ label?: false | ((args_0: {
220
+ label: string | undefined;
221
+ props: Record<string, unknown>;
222
+ }) => vue.VNodeChild) | undefined;
223
+ input?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
224
+ } | undefined;
225
+ } & {
226
+ "v-slot:default"?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
227
+ "v-slot:prepend"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
228
+ "v-slot:append"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
229
+ "v-slot:details"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
230
+ "v-slot:label"?: false | ((args_0: {
231
+ label: string | undefined;
232
+ props: Record<string, unknown>;
233
+ }) => vue.VNodeChild) | undefined;
234
+ "v-slot:input"?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
235
+ } & {
236
+ "onUpdate:modelValue"?: ((val: any) => any) | undefined;
237
+ }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
238
+ 'update:modelValue': (val: any) => boolean;
239
+ }, string, {
240
+ type: string;
241
+ inline: boolean;
242
+ error: boolean;
243
+ height: string | number;
244
+ direction: "horizontal" | "vertical";
245
+ disabled: boolean;
246
+ readonly: boolean;
247
+ messages: string | string[];
248
+ density: Density;
249
+ ripple: boolean;
250
+ focused: boolean;
251
+ errorMessages: string | string[];
252
+ maxErrors: string | number;
253
+ rules: ValidationRule[];
254
+ falseIcon: IconValue;
255
+ trueIcon: IconValue;
256
+ valueComparator: typeof deepEqual;
257
+ }, {}, string> & {
258
+ beforeCreate?: ((() => void) | (() => void)[]) | undefined;
259
+ created?: ((() => void) | (() => void)[]) | undefined;
260
+ beforeMount?: ((() => void) | (() => void)[]) | undefined;
261
+ mounted?: ((() => void) | (() => void)[]) | undefined;
262
+ beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
263
+ updated?: ((() => void) | (() => void)[]) | undefined;
264
+ activated?: ((() => void) | (() => void)[]) | undefined;
265
+ deactivated?: ((() => void) | (() => void)[]) | undefined;
266
+ beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
267
+ beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
268
+ destroyed?: ((() => void) | (() => void)[]) | undefined;
269
+ unmounted?: ((() => void) | (() => void)[]) | undefined;
270
+ renderTracked?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined;
271
+ renderTriggered?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined;
272
+ errorCaptured?: (((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void)[]) | undefined;
273
+ };
274
+ $forceUpdate: () => void;
275
+ $nextTick: typeof vue.nextTick;
276
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle;
277
+ } & {
278
+ type: string;
279
+ inline: boolean;
280
+ error: boolean;
281
+ height: string | number;
282
+ direction: "horizontal" | "vertical";
283
+ disabled: boolean;
284
+ readonly: boolean;
285
+ messages: string | string[];
286
+ density: Density;
287
+ ripple: boolean;
288
+ focused: boolean;
289
+ errorMessages: string | string[];
290
+ maxErrors: string | number;
291
+ rules: ValidationRule[];
292
+ falseIcon: IconValue;
293
+ trueIcon: IconValue;
294
+ valueComparator: typeof deepEqual;
295
+ } & {
296
+ id?: string | undefined;
297
+ name?: string | undefined;
298
+ color?: string | undefined;
299
+ label?: string | undefined;
300
+ theme?: string | undefined;
301
+ modelValue?: any;
302
+ prependIcon?: IconValue | undefined;
303
+ appendIcon?: IconValue | undefined;
304
+ 'onClick:append'?: EventProp<(...args: any[]) => any> | undefined;
305
+ 'onClick:prepend'?: EventProp<(...args: any[]) => any> | undefined;
306
+ validateOn?: "input" | "blur" | "submit" | undefined;
307
+ validationValue?: any;
308
+ hideDetails?: boolean | "auto" | undefined;
309
+ } & {
310
+ $children?: {} | vue.VNodeChild | {
311
+ default?: (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
312
+ prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
313
+ append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
314
+ details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
315
+ label?: ((args_0: {
316
+ label: string | undefined;
317
+ props: Record<string, unknown>;
318
+ }) => vue.VNodeChild) | undefined;
319
+ input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
320
+ };
321
+ $slots?: {
322
+ default?: (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
323
+ prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
324
+ append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
325
+ details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
326
+ label?: ((args_0: {
327
+ label: string | undefined;
328
+ props: Record<string, unknown>;
329
+ }) => vue.VNodeChild) | undefined;
330
+ input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
331
+ } | undefined;
332
+ 'v-slots'?: {
333
+ default?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
334
+ prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
335
+ append?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
336
+ details?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
337
+ label?: false | ((args_0: {
338
+ label: string | undefined;
339
+ props: Record<string, unknown>;
340
+ }) => vue.VNodeChild) | undefined;
341
+ input?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
342
+ } | undefined;
343
+ } & {
344
+ "v-slot:default"?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
345
+ "v-slot:prepend"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
346
+ "v-slot:append"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
347
+ "v-slot:details"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
348
+ "v-slot:label"?: false | ((args_0: {
349
+ label: string | undefined;
350
+ props: Record<string, unknown>;
351
+ }) => vue.VNodeChild) | undefined;
352
+ "v-slot:input"?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
353
+ } & {
354
+ "onUpdate:modelValue"?: ((val: any) => any) | undefined;
355
+ } & vue.ShallowUnwrapRef<{}> & {} & vue.ComponentCustomProperties & {};
356
+ __isFragment?: undefined;
357
+ __isTeleport?: undefined;
358
+ __isSuspense?: undefined;
359
+ } & vue.ComponentOptionsBase<{
42
360
  type: string;
43
361
  inline: boolean;
44
362
  error: boolean;
@@ -82,63 +400,7 @@ declare const VRadioGroup: vue.DefineComponent<{
82
400
  }) => vue.VNodeChild) | undefined;
83
401
  input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
84
402
  };
85
- 'v-slots'?: {
86
- default?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
87
- prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
88
- append?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
89
- details?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
90
- label?: false | ((args_0: {
91
- label: string | undefined;
92
- props: Record<string, unknown>;
93
- }) => vue.VNodeChild) | undefined;
94
- input?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
95
- } | undefined;
96
- } & {
97
- "v-slot:default"?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
98
- "v-slot:prepend"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
99
- "v-slot:append"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
100
- "v-slot:details"?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
101
- "v-slot:label"?: false | ((args_0: {
102
- label: string | undefined;
103
- props: Record<string, unknown>;
104
- }) => vue.VNodeChild) | undefined;
105
- "v-slot:input"?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
106
- }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
107
- 'update:modelValue': (val: any) => boolean;
108
- }, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, {
109
- type: string;
110
- inline: boolean;
111
- error: boolean;
112
- height: string | number;
113
- direction: "horizontal" | "vertical";
114
- disabled: boolean;
115
- readonly: boolean;
116
- messages: string | string[];
117
- density: Density;
118
- ripple: boolean;
119
- focused: boolean;
120
- errorMessages: string | string[];
121
- maxErrors: string | number;
122
- rules: ValidationRule[];
123
- falseIcon: IconValue;
124
- trueIcon: IconValue;
125
- valueComparator: typeof deepEqual;
126
- } & {
127
- id?: string | undefined;
128
- name?: string | undefined;
129
- color?: string | undefined;
130
- label?: string | undefined;
131
- theme?: string | undefined;
132
- modelValue?: any;
133
- prependIcon?: IconValue | undefined;
134
- appendIcon?: IconValue | undefined;
135
- 'onClick:append'?: EventProp<(...args: any[]) => any> | undefined;
136
- 'onClick:prepend'?: EventProp<(...args: any[]) => any> | undefined;
137
- validateOn?: "input" | "blur" | "submit" | undefined;
138
- validationValue?: any;
139
- hideDetails?: boolean | "auto" | undefined;
140
- } & {
141
- $children?: {} | vue.VNodeChild | {
403
+ $slots?: {
142
404
  default?: (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
143
405
  prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
144
406
  append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -148,7 +410,7 @@ declare const VRadioGroup: vue.DefineComponent<{
148
410
  props: Record<string, unknown>;
149
411
  }) => vue.VNodeChild) | undefined;
150
412
  input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
151
- };
413
+ } | undefined;
152
414
  'v-slots'?: {
153
415
  default?: false | (((args_0: VInputSlot) => vue.VNodeChild) & (() => vue.VNodeChild)) | undefined;
154
416
  prepend?: false | ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
@@ -172,7 +434,9 @@ declare const VRadioGroup: vue.DefineComponent<{
172
434
  "v-slot:input"?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
173
435
  } & {
174
436
  "onUpdate:modelValue"?: ((val: any) => any) | undefined;
175
- }, {
437
+ }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
438
+ 'update:modelValue': (val: any) => boolean;
439
+ }, string, {
176
440
  type: string;
177
441
  inline: boolean;
178
442
  error: boolean;
@@ -190,7 +454,145 @@ declare const VRadioGroup: vue.DefineComponent<{
190
454
  falseIcon: IconValue;
191
455
  trueIcon: IconValue;
192
456
  valueComparator: typeof deepEqual;
193
- }>;
457
+ }, {}, string> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
458
+ trueIcon: {
459
+ type: vue.PropType<IconValue>;
460
+ default: string;
461
+ };
462
+ falseIcon: {
463
+ type: vue.PropType<IconValue>;
464
+ default: string;
465
+ };
466
+ type: {
467
+ type: StringConstructor;
468
+ default: string;
469
+ };
470
+ inline: BooleanConstructor;
471
+ error: BooleanConstructor;
472
+ id: StringConstructor;
473
+ name: StringConstructor;
474
+ color: StringConstructor;
475
+ disabled: BooleanConstructor;
476
+ readonly: BooleanConstructor;
477
+ theme: StringConstructor;
478
+ density: {
479
+ type: vue.PropType<Density>;
480
+ default: string;
481
+ validator: (v: any) => boolean;
482
+ };
483
+ modelValue: null;
484
+ ripple: {
485
+ type: BooleanConstructor;
486
+ default: boolean;
487
+ };
488
+ valueComparator: {
489
+ type: vue.PropType<typeof deepEqual>;
490
+ default: typeof deepEqual;
491
+ };
492
+ focused: BooleanConstructor;
493
+ errorMessages: {
494
+ type: vue.PropType<string | string[]>;
495
+ default: () => never[];
496
+ };
497
+ maxErrors: {
498
+ type: (StringConstructor | NumberConstructor)[];
499
+ default: number;
500
+ };
501
+ label: StringConstructor;
502
+ rules: {
503
+ type: vue.PropType<ValidationRule[]>;
504
+ default: () => never[];
505
+ };
506
+ validateOn: vue.PropType<"input" | "blur" | "submit" | undefined>;
507
+ validationValue: null;
508
+ appendIcon: vue.PropType<IconValue>;
509
+ prependIcon: vue.PropType<IconValue>;
510
+ hideDetails: vue.PropType<boolean | "auto">;
511
+ messages: {
512
+ type: vue.PropType<string | string[]>;
513
+ default: () => never[];
514
+ };
515
+ direction: {
516
+ type: vue.PropType<"horizontal" | "vertical">;
517
+ default: string;
518
+ validator: (v: any) => boolean;
519
+ };
520
+ 'onClick:prepend': vue.PropType<EventProp<(...args: any[]) => any>>;
521
+ 'onClick:append': vue.PropType<EventProp<(...args: any[]) => any>>;
522
+ height: {
523
+ type: (StringConstructor | NumberConstructor)[];
524
+ default: string;
525
+ };
526
+ }, vue.ExtractPropTypes<{
527
+ trueIcon: {
528
+ type: vue.PropType<IconValue>;
529
+ default: string;
530
+ };
531
+ falseIcon: {
532
+ type: vue.PropType<IconValue>;
533
+ default: string;
534
+ };
535
+ type: {
536
+ type: StringConstructor;
537
+ default: string;
538
+ };
539
+ inline: BooleanConstructor;
540
+ error: BooleanConstructor;
541
+ id: StringConstructor;
542
+ name: StringConstructor;
543
+ color: StringConstructor;
544
+ disabled: BooleanConstructor;
545
+ readonly: BooleanConstructor;
546
+ theme: StringConstructor;
547
+ density: {
548
+ type: vue.PropType<Density>;
549
+ default: string;
550
+ validator: (v: any) => boolean;
551
+ };
552
+ modelValue: null;
553
+ ripple: {
554
+ type: BooleanConstructor;
555
+ default: boolean;
556
+ };
557
+ valueComparator: {
558
+ type: vue.PropType<typeof deepEqual>;
559
+ default: typeof deepEqual;
560
+ };
561
+ focused: BooleanConstructor;
562
+ errorMessages: {
563
+ type: vue.PropType<string | string[]>;
564
+ default: () => never[];
565
+ };
566
+ maxErrors: {
567
+ type: (StringConstructor | NumberConstructor)[];
568
+ default: number;
569
+ };
570
+ label: StringConstructor;
571
+ rules: {
572
+ type: vue.PropType<ValidationRule[]>;
573
+ default: () => never[];
574
+ };
575
+ validateOn: vue.PropType<"input" | "blur" | "submit" | undefined>;
576
+ validationValue: null;
577
+ appendIcon: vue.PropType<IconValue>;
578
+ prependIcon: vue.PropType<IconValue>;
579
+ hideDetails: vue.PropType<boolean | "auto">;
580
+ messages: {
581
+ type: vue.PropType<string | string[]>;
582
+ default: () => never[];
583
+ };
584
+ direction: {
585
+ type: vue.PropType<"horizontal" | "vertical">;
586
+ default: string;
587
+ validator: (v: any) => boolean;
588
+ };
589
+ 'onClick:prepend': vue.PropType<EventProp<(...args: any[]) => any>>;
590
+ 'onClick:append': vue.PropType<EventProp<(...args: any[]) => any>>;
591
+ height: {
592
+ type: (StringConstructor | NumberConstructor)[];
593
+ default: string;
594
+ };
595
+ }>>;
194
596
  type VRadioGroup = InstanceType<typeof VRadioGroup>;
195
597
 
196
598
  export { VRadioGroup };
@@ -1 +1 @@
1
- {"version":3,"file":"VRangeSlider.mjs","names":["filterInputProps","makeVInputProps","VInput","getOffset","makeSliderProps","useSlider","VLabel","VSliderThumb","VSliderTrack","makeFocusProps","useFocus","useProxiedModel","computed","ref","genericComponent","useRender","VRangeSlider","name","props","strict","Boolean","modelValue","type","Array","default","emits","value","setup","slots","startThumbRef","stopThumbRef","inputRef","getActiveThumb","e","startOffset","$el","direction","stopOffset","a","Math","abs","b","activeThumbRef","hasLabels","max","min","mousePressed","onSliderMousedown","onSliderTouchstart","position","roundValue","trackContainerRef","handleSliderMouseUp","newValue","model","handleMouseMove","start","stop","focus","undefined","arr","length","map","isFocused","blur","trackStart","trackStop","inputProps","_","hasPrepend","label","prepend","disabled","slotProps","id","messagesId","readonly","v","relatedTarget"],"sources":["../../../src/components/VRangeSlider/VRangeSlider.tsx"],"sourcesContent":["// Styles\nimport '../VSlider/VSlider.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { getOffset, makeSliderProps, useSlider } from '@/components/VSlider/slider'\nimport { VLabel } from '@/components/VLabel'\nimport { VSliderThumb } from '@/components/VSlider/VSliderThumb'\nimport { VSliderTrack } from '@/components/VSlider/VSliderTrack'\n\n// Composables\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType, WritableComputedRef } from 'vue'\nimport type { VSliderSlots } from '../VSlider/VSlider'\n\nexport const VRangeSlider = genericComponent<VSliderSlots>()({\n name: 'VRangeSlider',\n\n props: {\n ...makeFocusProps(),\n ...makeVInputProps(),\n ...makeSliderProps(),\n\n strict: Boolean,\n modelValue: {\n type: Array as PropType<number[]>,\n default: () => ([0, 0]),\n },\n },\n\n emits: {\n 'update:focused': (value: boolean) => true,\n 'update:modelValue': (value: [number, number]) => true,\n },\n\n setup (props, { slots }) {\n const startThumbRef = ref<VSliderThumb>()\n const stopThumbRef = ref<VSliderThumb>()\n const inputRef = ref<VInput>()\n\n function getActiveThumb (e: MouseEvent | TouchEvent) {\n if (!startThumbRef.value || !stopThumbRef.value) return\n\n const startOffset = getOffset(e, startThumbRef.value.$el, props.direction)\n const stopOffset = getOffset(e, stopThumbRef.value.$el, props.direction)\n\n const a = Math.abs(startOffset)\n const b = Math.abs(stopOffset)\n\n return (a < b || (a === b && startOffset < 0)) ? startThumbRef.value.$el : stopThumbRef.value.$el\n }\n\n const {\n activeThumbRef,\n hasLabels,\n max,\n min,\n mousePressed,\n onSliderMousedown,\n onSliderTouchstart,\n position,\n roundValue,\n trackContainerRef,\n } = useSlider({\n /* eslint-disable @typescript-eslint/no-use-before-define */\n props,\n handleSliderMouseUp: newValue => {\n model.value = activeThumbRef.value === startThumbRef.value?.$el ? [newValue, model.value[1]] : [model.value[0], newValue]\n },\n handleMouseMove: newValue => {\n const [start, stop] = model.value\n\n if (!props.strict && start === stop && start !== min.value) {\n activeThumbRef.value = newValue > start ? stopThumbRef.value?.$el : startThumbRef.value?.$el\n activeThumbRef.value?.focus()\n }\n\n if (activeThumbRef.value === startThumbRef.value?.$el) {\n model.value = [Math.min(newValue, stop), stop]\n } else {\n model.value = [start, Math.max(start, newValue)]\n }\n },\n getActiveThumb,\n /* eslint-enable @typescript-eslint/no-use-before-define */\n })\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n arr => {\n // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n if (!arr || !arr.length) return [0, 0]\n\n return arr.map(value => roundValue(value))\n },\n ) as WritableComputedRef<[number, number]> & { readonly externalValue: number[] }\n\n const { isFocused, focus, blur } = useFocus(props)\n const trackStart = computed(() => position(model.value[0]))\n const trackStop = computed(() => position(model.value[1]))\n\n useRender(() => {\n const [inputProps, _] = filterInputProps(props)\n const hasPrepend = !!(props.label || slots.label || slots.prepend)\n\n return (\n <VInput\n class={[\n 'v-slider',\n 'v-range-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n ]}\n ref={ inputRef }\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n prepend: hasPrepend ? slotProps => (\n <>\n { slots.label?.(slotProps) ?? props.label\n ? (\n <VLabel\n class=\"v-slider__label\"\n text={ props.label }\n />\n ) : undefined\n }\n\n { slots.prepend?.(slotProps) }\n </>\n ) : undefined,\n default: ({ id, messagesId }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ onSliderMousedown }\n onTouchstartPassive={ onSliderTouchstart }\n >\n <input\n id={ `${id.value}_start` }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value[0] }\n />\n\n <input\n id={ `${id.value}_stop` }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value[1] }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ trackStart.value }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ startThumbRef }\n aria-describedby={ messagesId.value }\n focused={ isFocused && activeThumbRef.value === startThumbRef.value?.$el }\n modelValue={ model.value[0] }\n onUpdate:modelValue={ v => (model.value = [v, model.value[1]]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n activeThumbRef.value = startThumbRef.value?.$el\n\n // Make sure second thumb is focused if\n // the thumbs are on top of each other\n // and they are both at minimum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[1] === min.value &&\n e.relatedTarget !== stopThumbRef.value?.$el\n ) {\n startThumbRef.value?.$el.blur()\n stopThumbRef.value?.$el.focus()\n }\n } }\n onBlur={ () => {\n blur()\n activeThumbRef.value = undefined\n } }\n min={ min.value }\n max={ model.value[1] }\n position={ trackStart.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n\n <VSliderThumb\n ref={ stopThumbRef }\n aria-describedby={ messagesId.value }\n focused={ isFocused && activeThumbRef.value === stopThumbRef.value?.$el }\n modelValue={ model.value[1] }\n onUpdate:modelValue={ v => (model.value = [model.value[0], v]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n activeThumbRef.value = stopThumbRef.value?.$el\n\n // Make sure first thumb is focused if\n // the thumbs are on top of each other\n // and they are both at maximum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[0] === max.value &&\n e.relatedTarget !== startThumbRef.value?.$el\n ) {\n stopThumbRef.value?.$el.blur()\n startThumbRef.value?.$el.focus()\n }\n } }\n onBlur={ () => {\n blur()\n activeThumbRef.value = undefined\n } }\n min={ model.value[0] }\n max={ max.value }\n position={ trackStop.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VRangeSlider = InstanceType<typeof VRangeSlider>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VRangeSlider.mjs","names":["filterInputProps","makeVInputProps","VInput","getOffset","makeSliderProps","useSlider","VLabel","VSliderThumb","VSliderTrack","makeFocusProps","useFocus","useProxiedModel","computed","ref","genericComponent","useRender","VRangeSlider","name","props","strict","Boolean","modelValue","type","Array","default","emits","value","setup","slots","startThumbRef","stopThumbRef","inputRef","getActiveThumb","e","startOffset","$el","direction","stopOffset","a","Math","abs","b","activeThumbRef","hasLabels","max","min","mousePressed","onSliderMousedown","onSliderTouchstart","position","roundValue","trackContainerRef","handleSliderMouseUp","newValue","model","handleMouseMove","start","stop","focus","undefined","arr","length","map","isFocused","blur","trackStart","trackStop","inputProps","_","hasPrepend","label","prepend","disabled","slotProps","id","messagesId","readonly","v","relatedTarget"],"sources":["../../../src/components/VRangeSlider/VRangeSlider.tsx"],"sourcesContent":["// Styles\nimport '../VSlider/VSlider.sass'\n\n// Components\nimport { filterInputProps, makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { getOffset, makeSliderProps, useSlider } from '@/components/VSlider/slider'\nimport { VLabel } from '@/components/VLabel'\nimport { VSliderThumb } from '@/components/VSlider/VSliderThumb'\nimport { VSliderTrack } from '@/components/VSlider/VSliderTrack'\n\n// Composables\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType, WritableComputedRef } from 'vue'\nimport type { VSliderSlots } from '../VSlider/VSlider'\n\nexport const VRangeSlider = genericComponent<VSliderSlots>()({\n name: 'VRangeSlider',\n\n props: {\n ...makeFocusProps(),\n ...makeVInputProps(),\n ...makeSliderProps(),\n\n strict: Boolean,\n modelValue: {\n type: Array as PropType<number[]>,\n default: () => ([0, 0]),\n },\n },\n\n emits: {\n 'update:focused': (value: boolean) => true,\n 'update:modelValue': (value: [number, number]) => true,\n },\n\n setup (props, { slots }) {\n const startThumbRef = ref<VSliderThumb>()\n const stopThumbRef = ref<VSliderThumb>()\n const inputRef = ref<VInput>()\n\n function getActiveThumb (e: MouseEvent | TouchEvent) {\n if (!startThumbRef.value || !stopThumbRef.value) return\n\n const startOffset = getOffset(e, startThumbRef.value.$el, props.direction)\n const stopOffset = getOffset(e, stopThumbRef.value.$el, props.direction)\n\n const a = Math.abs(startOffset)\n const b = Math.abs(stopOffset)\n\n return (a < b || (a === b && startOffset < 0)) ? startThumbRef.value.$el : stopThumbRef.value.$el\n }\n\n const {\n activeThumbRef,\n hasLabels,\n max,\n min,\n mousePressed,\n onSliderMousedown,\n onSliderTouchstart,\n position,\n roundValue,\n trackContainerRef,\n } = useSlider({\n /* eslint-disable @typescript-eslint/no-use-before-define */\n props,\n handleSliderMouseUp: newValue => {\n model.value = activeThumbRef.value === startThumbRef.value?.$el ? [newValue, model.value[1]] : [model.value[0], newValue]\n },\n handleMouseMove: newValue => {\n const [start, stop] = model.value\n\n if (!props.strict && start === stop && start !== min.value) {\n activeThumbRef.value = newValue > start ? stopThumbRef.value?.$el : startThumbRef.value?.$el\n activeThumbRef.value?.focus()\n }\n\n if (activeThumbRef.value === startThumbRef.value?.$el) {\n model.value = [Math.min(newValue, stop), stop]\n } else {\n model.value = [start, Math.max(start, newValue)]\n }\n },\n getActiveThumb,\n /* eslint-enable @typescript-eslint/no-use-before-define */\n })\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n arr => {\n // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n if (!arr || !arr.length) return [0, 0]\n\n return arr.map(value => roundValue(value))\n },\n ) as WritableComputedRef<[number, number]> & { readonly externalValue: number[] }\n\n const { isFocused, focus, blur } = useFocus(props)\n const trackStart = computed(() => position(model.value[0]))\n const trackStop = computed(() => position(model.value[1]))\n\n useRender(() => {\n const [inputProps, _] = filterInputProps(props)\n const hasPrepend = !!(props.label || slots.label || slots.prepend)\n\n return (\n <VInput\n class={[\n 'v-slider',\n 'v-range-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n ]}\n ref={ inputRef }\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n prepend: hasPrepend ? slotProps => (\n <>\n { slots.label?.(slotProps) ?? props.label\n ? (\n <VLabel\n class=\"v-slider__label\"\n text={ props.label }\n />\n ) : undefined\n }\n\n { slots.prepend?.(slotProps) }\n </>\n ) : undefined,\n default: ({ id, messagesId }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ onSliderMousedown }\n onTouchstartPassive={ onSliderTouchstart }\n >\n <input\n id={ `${id.value}_start` }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value[0] }\n />\n\n <input\n id={ `${id.value}_stop` }\n name={ props.name || id.value }\n disabled={ props.disabled }\n readonly={ props.readonly }\n tabindex=\"-1\"\n value={ model.value[1] }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ trackStart.value }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ startThumbRef }\n aria-describedby={ messagesId.value }\n focused={ isFocused && activeThumbRef.value === startThumbRef.value?.$el }\n modelValue={ model.value[0] }\n onUpdate:modelValue={ v => (model.value = [v, model.value[1]]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n activeThumbRef.value = startThumbRef.value?.$el\n\n // Make sure second thumb is focused if\n // the thumbs are on top of each other\n // and they are both at minimum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[1] === min.value &&\n e.relatedTarget !== stopThumbRef.value?.$el\n ) {\n startThumbRef.value?.$el.blur()\n stopThumbRef.value?.$el.focus()\n }\n }}\n onBlur={ () => {\n blur()\n activeThumbRef.value = undefined\n }}\n min={ min.value }\n max={ model.value[1] }\n position={ trackStart.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n\n <VSliderThumb\n ref={ stopThumbRef }\n aria-describedby={ messagesId.value }\n focused={ isFocused && activeThumbRef.value === stopThumbRef.value?.$el }\n modelValue={ model.value[1] }\n onUpdate:modelValue={ v => (model.value = [model.value[0], v]) }\n onFocus={ (e: FocusEvent) => {\n focus()\n activeThumbRef.value = stopThumbRef.value?.$el\n\n // Make sure first thumb is focused if\n // the thumbs are on top of each other\n // and they are both at maximum value\n // but only if focused from outside.\n if (\n model.value[0] === model.value[1] &&\n model.value[0] === max.value &&\n e.relatedTarget !== startThumbRef.value?.$el\n ) {\n stopThumbRef.value?.$el.blur()\n startThumbRef.value?.$el.focus()\n }\n }}\n onBlur={ () => {\n blur()\n activeThumbRef.value = undefined\n }}\n min={ model.value[0] }\n max={ max.value }\n position={ trackStop.value }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VRangeSlider = InstanceType<typeof VRangeSlider>\n"],"mappings":"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"}