@vuetify/nightly 3.0.0-beta.0 → 3.0.0-beta.10

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 (898) hide show
  1. package/CHANGELOG.md +2 -2
  2. package/_settings.scss +2 -0
  3. package/_styles.scss +1 -0
  4. package/_tools.scss +1 -0
  5. package/dist/_component-variables.sass +61 -0
  6. package/dist/json/attributes.json +860 -496
  7. package/dist/json/importMap.json +170 -194
  8. package/dist/json/tags.json +211 -139
  9. package/dist/json/web-types.json +2560 -1485
  10. package/dist/vuetify.css +3961 -4505
  11. package/dist/vuetify.d.ts +10313 -10018
  12. package/dist/vuetify.esm.js +10729 -9050
  13. package/dist/vuetify.esm.js.map +1 -1
  14. package/dist/vuetify.js +10728 -9048
  15. package/dist/vuetify.js.map +1 -1
  16. package/dist/vuetify.min.css +3 -3
  17. package/dist/vuetify.min.js +1368 -1253
  18. package/dist/vuetify.min.js.map +1 -1
  19. package/lib/blueprints/index.mjs +4 -0
  20. package/lib/blueprints/index.mjs.map +1 -0
  21. package/lib/blueprints/md1.mjs +63 -0
  22. package/lib/blueprints/md1.mjs.map +1 -0
  23. package/lib/blueprints/md2.mjs +60 -0
  24. package/lib/blueprints/md2.mjs.map +1 -0
  25. package/lib/blueprints/md3.mjs +74 -0
  26. package/lib/blueprints/md3.mjs.map +1 -0
  27. package/lib/components/VAlert/VAlert.css +36 -19
  28. package/lib/components/VAlert/VAlert.mjs +69 -40
  29. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  30. package/lib/components/VAlert/VAlert.sass +26 -11
  31. package/lib/components/VAlert/VAlertTitle.mjs +1 -0
  32. package/lib/components/VAlert/VAlertTitle.mjs.map +1 -1
  33. package/lib/components/VAlert/_variables.scss +14 -7
  34. package/lib/components/VAlert/index.mjs.map +1 -1
  35. package/lib/components/VApp/VApp.css +2 -15
  36. package/lib/components/VApp/VApp.mjs +3 -4
  37. package/lib/components/VApp/VApp.mjs.map +1 -1
  38. package/lib/components/VApp/VApp.sass +11 -20
  39. package/lib/components/VApp/index.mjs.map +1 -1
  40. package/lib/components/VApp/variables.scss +6 -0
  41. package/lib/components/VAppBar/VAppBar.css +1 -1
  42. package/lib/components/VAppBar/VAppBar.mjs +15 -10
  43. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  44. package/lib/components/VAppBar/VAppBar.sass +0 -1
  45. package/lib/components/VAppBar/VAppBarNavIcon.mjs +11 -14
  46. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  47. package/lib/components/VAppBar/VAppBarTitle.mjs +7 -4
  48. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  49. package/lib/components/VAppBar/_variables.scss +2 -0
  50. package/lib/components/VAppBar/index.mjs.map +1 -1
  51. package/lib/components/VAutocomplete/VAutocomplete.css +11 -1
  52. package/lib/components/VAutocomplete/VAutocomplete.mjs +142 -105
  53. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  54. package/lib/components/VAutocomplete/VAutocomplete.sass +10 -2
  55. package/lib/components/VAutocomplete/_variables.scss +1 -0
  56. package/lib/components/VAutocomplete/index.mjs.map +1 -1
  57. package/lib/components/VAvatar/VAvatar.css +4 -1
  58. package/lib/components/VAvatar/VAvatar.mjs +17 -15
  59. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  60. package/lib/components/VAvatar/VAvatar.sass +5 -2
  61. package/lib/components/VAvatar/_mixins.scss +0 -1
  62. package/lib/components/VAvatar/index.mjs.map +1 -1
  63. package/lib/components/VBadge/VBadge.css +3 -6
  64. package/lib/components/VBadge/VBadge.mjs +20 -49
  65. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  66. package/lib/components/VBadge/VBadge.sass +2 -5
  67. package/lib/components/VBadge/_variables.scss +3 -4
  68. package/lib/components/VBadge/index.mjs.map +1 -1
  69. package/lib/components/VBanner/VBanner.css +81 -57
  70. package/lib/components/VBanner/VBanner.mjs +45 -37
  71. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  72. package/lib/components/VBanner/VBanner.sass +60 -55
  73. package/lib/components/VBanner/VBannerActions.mjs +34 -2
  74. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  75. package/lib/components/VBanner/VBannerText.mjs.map +1 -1
  76. package/lib/components/VBanner/_variables.scss +10 -14
  77. package/lib/components/VBanner/index.mjs.map +1 -1
  78. package/lib/components/VBottomNavigation/VBottomNavigation.css +6 -13
  79. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +5 -4
  80. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  81. package/lib/components/VBottomNavigation/VBottomNavigation.sass +6 -14
  82. package/lib/components/VBottomNavigation/_variables.scss +7 -8
  83. package/lib/components/VBottomNavigation/index.mjs.map +1 -1
  84. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  85. package/lib/components/VBottomSheet/index.mjs.map +1 -1
  86. package/lib/components/VBreadcrumbs/VBreadcrumbs.css +13 -6
  87. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +35 -21
  88. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  89. package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +8 -4
  90. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  91. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +15 -17
  92. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  93. package/lib/components/VBreadcrumbs/_variables.scss +2 -1
  94. package/lib/components/VBreadcrumbs/index.mjs.map +1 -1
  95. package/lib/components/VBtn/VBtn.css +136 -28
  96. package/lib/components/VBtn/VBtn.mjs +98 -33
  97. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  98. package/lib/components/VBtn/VBtn.sass +119 -16
  99. package/lib/components/VBtn/_variables.scss +10 -1
  100. package/lib/components/VBtn/index.mjs.map +1 -1
  101. package/lib/components/VBtnGroup/VBtnGroup.css +16 -7
  102. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  103. package/lib/components/VBtnGroup/VBtnGroup.sass +14 -7
  104. package/lib/components/VBtnGroup/_variables.scss +2 -0
  105. package/lib/components/VBtnGroup/index.mjs.map +1 -1
  106. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  107. package/lib/components/VBtnToggle/VBtnToggle.sass +0 -1
  108. package/lib/components/VBtnToggle/_variables.scss +1 -0
  109. package/lib/components/VBtnToggle/index.mjs.map +1 -1
  110. package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
  111. package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
  112. package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
  113. package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
  114. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
  115. package/lib/components/VCalendar/index.mjs.map +1 -1
  116. package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
  117. package/lib/components/VCalendar/mixins/calendar-with-events.mjs +2 -6
  118. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
  119. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
  120. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  121. package/lib/components/VCalendar/mixins/times.mjs.map +1 -1
  122. package/lib/components/VCalendar/modes/column.mjs.map +1 -1
  123. package/lib/components/VCalendar/modes/common.mjs.map +1 -1
  124. package/lib/components/VCalendar/modes/index.mjs.map +1 -1
  125. package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
  126. package/lib/components/VCalendar/util/events.mjs.map +1 -1
  127. package/lib/components/VCalendar/util/parser.mjs.map +1 -1
  128. package/lib/components/VCalendar/util/props.mjs.map +1 -1
  129. package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
  130. package/lib/components/VCard/VCard.css +103 -84
  131. package/lib/components/VCard/VCard.mjs +72 -73
  132. package/lib/components/VCard/VCard.mjs.map +1 -1
  133. package/lib/components/VCard/VCard.sass +76 -61
  134. package/lib/components/VCard/VCardActions.mjs +2 -3
  135. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  136. package/lib/components/VCard/VCardItem.mjs +88 -0
  137. package/lib/components/VCard/VCardItem.mjs.map +1 -0
  138. package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
  139. package/lib/components/VCard/VCardText.mjs.map +1 -1
  140. package/lib/components/VCard/VCardTitle.mjs.map +1 -1
  141. package/lib/components/VCard/_variables.scss +45 -23
  142. package/lib/components/VCard/index.mjs +1 -4
  143. package/lib/components/VCard/index.mjs.map +1 -1
  144. package/lib/components/VCarousel/VCarousel.mjs +6 -4
  145. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  146. package/lib/components/VCarousel/VCarousel.sass +0 -1
  147. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  148. package/lib/components/VCarousel/_variables.scss +1 -0
  149. package/lib/components/VCarousel/index.mjs.map +1 -1
  150. package/lib/components/VCheckbox/VCheckbox.mjs +15 -47
  151. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  152. package/lib/components/VCheckbox/VCheckbox.sass +0 -1
  153. package/lib/components/VCheckbox/VCheckboxBtn.mjs +67 -0
  154. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -0
  155. package/lib/components/VCheckbox/index.mjs +1 -0
  156. package/lib/components/VCheckbox/index.mjs.map +1 -1
  157. package/lib/components/VChip/VChip.css +147 -68
  158. package/lib/components/VChip/VChip.mjs +83 -43
  159. package/lib/components/VChip/VChip.mjs.map +1 -1
  160. package/lib/components/VChip/VChip.sass +9 -1
  161. package/lib/components/VChip/_mixins.scss +26 -6
  162. package/lib/components/VChip/_variables.scss +4 -5
  163. package/lib/components/VChip/index.mjs.map +1 -1
  164. package/lib/components/VChipGroup/VChipGroup.mjs +5 -4
  165. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  166. package/lib/components/VChipGroup/VChipGroup.sass +1 -1
  167. package/lib/components/VChipGroup/_variables.scss +1 -1
  168. package/lib/components/VChipGroup/index.mjs.map +1 -1
  169. package/lib/components/VCode/VCode.sass +1 -2
  170. package/lib/components/VCode/_variables.scss +1 -1
  171. package/lib/components/VCode/index.mjs.map +1 -1
  172. package/lib/components/VColorPicker/VColorPicker.css +3 -3
  173. package/lib/components/VColorPicker/VColorPicker.mjs +55 -53
  174. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  175. package/lib/components/VColorPicker/VColorPicker.sass +0 -1
  176. package/lib/components/VColorPicker/VColorPickerCanvas.css +1 -1
  177. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +10 -9
  178. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  179. package/lib/components/VColorPicker/VColorPickerCanvas.sass +0 -1
  180. package/lib/components/VColorPicker/VColorPickerEdit.mjs +4 -3
  181. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  182. package/lib/components/VColorPicker/VColorPickerEdit.sass +0 -1
  183. package/lib/components/VColorPicker/VColorPickerPreview.mjs +14 -21
  184. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  185. package/lib/components/VColorPicker/VColorPickerPreview.sass +0 -1
  186. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +6 -5
  187. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  188. package/lib/components/VColorPicker/VColorPickerSwatches.sass +0 -1
  189. package/lib/components/VColorPicker/_variables.scss +17 -10
  190. package/lib/components/VColorPicker/index.mjs.map +1 -1
  191. package/lib/components/VColorPicker/util/index.mjs +1 -3
  192. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  193. package/lib/components/VCombobox/VCombobox.css +11 -1
  194. package/lib/components/VCombobox/VCombobox.mjs +145 -116
  195. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  196. package/lib/components/VCombobox/VCombobox.sass +10 -2
  197. package/lib/components/VCombobox/_variables.scss +1 -0
  198. package/lib/components/VCombobox/index.mjs.map +1 -1
  199. package/lib/components/VCounter/VCounter.mjs +16 -16
  200. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  201. package/lib/components/VCounter/VCounter.sass +1 -2
  202. package/lib/components/VCounter/_variables.scss +2 -1
  203. package/lib/components/VCounter/index.mjs.map +1 -1
  204. package/lib/components/VData/VData.mjs.map +1 -1
  205. package/lib/components/VData/index.mjs.map +1 -1
  206. package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
  207. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  208. package/lib/components/VDataIterator/index.mjs.map +1 -1
  209. package/lib/components/VDataTable/MobileRow.mjs.map +1 -1
  210. package/lib/components/VDataTable/Row.mjs.map +1 -1
  211. package/lib/components/VDataTable/RowGroup.mjs.map +1 -1
  212. package/lib/components/VDataTable/VDataTable.mjs +11 -15
  213. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  214. package/lib/components/VDataTable/VDataTableHeader.mjs.map +1 -1
  215. package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs.map +1 -1
  216. package/lib/components/VDataTable/VDataTableHeaderMobile.mjs.map +1 -1
  217. package/lib/components/VDataTable/VEditDialog.mjs.map +1 -1
  218. package/lib/components/VDataTable/VVirtualTable.mjs.map +1 -1
  219. package/lib/components/VDataTable/index.mjs.map +1 -1
  220. package/lib/components/VDataTable/mixins/header.mjs +1 -3
  221. package/lib/components/VDataTable/mixins/header.mjs.map +1 -1
  222. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  223. package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
  224. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  225. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
  226. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
  227. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  228. package/lib/components/VDatePicker/index.mjs.map +1 -1
  229. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
  230. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  231. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  232. package/lib/components/VDatePicker/util/index.mjs.map +1 -1
  233. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
  234. package/lib/components/VDatePicker/util/monthChange.mjs.map +1 -1
  235. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  236. package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +1 -1
  237. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  238. package/lib/components/VDefaultsProvider/index.mjs.map +1 -1
  239. package/lib/components/VDialog/VDialog.css +34 -17
  240. package/lib/components/VDialog/VDialog.mjs +34 -31
  241. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  242. package/lib/components/VDialog/VDialog.sass +28 -15
  243. package/lib/components/VDialog/_variables.scss +3 -8
  244. package/lib/components/VDialog/index.mjs.map +1 -1
  245. package/lib/components/VDivider/VDivider.mjs +16 -17
  246. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  247. package/lib/components/VDivider/VDivider.sass +0 -1
  248. package/lib/components/VDivider/_variables.scss +3 -1
  249. package/lib/components/VDivider/index.mjs.map +1 -1
  250. package/lib/components/VExpansionPanel/VExpansionPanel.css +10 -7
  251. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +15 -6
  252. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  253. package/lib/components/VExpansionPanel/VExpansionPanel.sass +1 -1
  254. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  255. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +14 -11
  256. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  257. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +4 -0
  258. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  259. package/lib/components/VExpansionPanel/_variables.scss +15 -10
  260. package/lib/components/VExpansionPanel/index.mjs.map +1 -1
  261. package/lib/components/VField/VField.css +54 -35
  262. package/lib/components/VField/VField.mjs +52 -36
  263. package/lib/components/VField/VField.mjs.map +1 -1
  264. package/lib/components/VField/VField.sass +39 -27
  265. package/lib/components/VField/VFieldLabel.mjs +8 -9
  266. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  267. package/lib/components/VField/_variables.scss +6 -5
  268. package/lib/components/VField/index.mjs.map +1 -1
  269. package/lib/components/VFileInput/VFileInput.css +3 -3
  270. package/lib/components/VFileInput/VFileInput.mjs +45 -44
  271. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  272. package/lib/components/VFileInput/VFileInput.sass +3 -4
  273. package/lib/components/VFileInput/index.mjs.map +1 -1
  274. package/lib/components/VFooter/VFooter.css +1 -1
  275. package/lib/components/VFooter/VFooter.mjs +36 -18
  276. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  277. package/lib/components/VFooter/VFooter.sass +0 -1
  278. package/lib/components/VFooter/_variables.scss +2 -1
  279. package/lib/components/VFooter/index.mjs.map +1 -1
  280. package/lib/components/VForm/VForm.mjs +27 -13
  281. package/lib/components/VForm/VForm.mjs.map +1 -1
  282. package/lib/components/VForm/index.mjs.map +1 -1
  283. package/lib/components/VGrid/VCol.mjs +2 -1
  284. package/lib/components/VGrid/VCol.mjs.map +1 -1
  285. package/lib/components/VGrid/VContainer.mjs +4 -3
  286. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  287. package/lib/components/VGrid/VRow.mjs +8 -3
  288. package/lib/components/VGrid/VRow.mjs.map +1 -1
  289. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  290. package/lib/components/VGrid/index.mjs.map +1 -1
  291. package/lib/components/VHover/VHover.mjs.map +1 -1
  292. package/lib/components/VHover/index.mjs.map +1 -1
  293. package/lib/components/VIcon/VIcon.css +13 -16
  294. package/lib/components/VIcon/VIcon.mjs +34 -33
  295. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  296. package/lib/components/VIcon/VIcon.sass +8 -16
  297. package/lib/components/VIcon/_variables.scss +2 -5
  298. package/lib/components/VIcon/index.mjs.map +1 -1
  299. package/lib/components/VImg/VImg.mjs +1 -0
  300. package/lib/components/VImg/VImg.mjs.map +1 -1
  301. package/lib/components/VImg/VImg.sass +0 -1
  302. package/lib/components/VImg/index.mjs.map +1 -1
  303. package/lib/components/VInput/InputIcon.mjs +33 -0
  304. package/lib/components/VInput/InputIcon.mjs.map +1 -0
  305. package/lib/components/VInput/VInput.css +5 -2
  306. package/lib/components/VInput/VInput.mjs +26 -18
  307. package/lib/components/VInput/VInput.mjs.map +1 -1
  308. package/lib/components/VInput/VInput.sass +5 -3
  309. package/lib/components/VInput/_variables.scss +4 -1
  310. package/lib/components/VInput/index.mjs.map +1 -1
  311. package/lib/components/VItemGroup/VItem.mjs +3 -0
  312. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  313. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  314. package/lib/components/VItemGroup/VItemGroup.sass +0 -1
  315. package/lib/components/VItemGroup/index.mjs.map +1 -1
  316. package/lib/components/VKbd/VKbd.css +1 -1
  317. package/lib/components/VKbd/VKbd.sass +0 -1
  318. package/lib/components/VKbd/_variables.scss +1 -1
  319. package/lib/components/VKbd/index.mjs.map +1 -1
  320. package/lib/components/VLabel/VLabel.mjs +4 -3
  321. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  322. package/lib/components/VLabel/VLabel.sass +0 -1
  323. package/lib/components/VLabel/_variables.scss +1 -0
  324. package/lib/components/VLabel/index.mjs.map +1 -1
  325. package/lib/components/VLayout/VLayout.css +0 -2
  326. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  327. package/lib/components/VLayout/VLayout.sass +0 -2
  328. package/lib/components/VLayout/VLayoutItem.mjs +1 -1
  329. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  330. package/lib/components/VLayout/index.mjs.map +1 -1
  331. package/lib/components/VLazy/VLazy.mjs +5 -3
  332. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  333. package/lib/components/VLazy/index.mjs.map +1 -1
  334. package/lib/components/VList/VList.css +14 -16
  335. package/lib/components/VList/VList.mjs +92 -59
  336. package/lib/components/VList/VList.mjs.map +1 -1
  337. package/lib/components/VList/VList.sass +9 -6
  338. package/lib/components/VList/VListChildren.mjs +69 -13
  339. package/lib/components/VList/VListChildren.mjs.map +1 -1
  340. package/lib/components/VList/VListGroup.mjs +52 -19
  341. package/lib/components/VList/VListGroup.mjs.map +1 -1
  342. package/lib/components/VList/VListImg.mjs.map +1 -1
  343. package/lib/components/VList/VListItem.css +176 -73
  344. package/lib/components/VList/VListItem.mjs +123 -81
  345. package/lib/components/VList/VListItem.mjs.map +1 -1
  346. package/lib/components/VList/VListItem.sass +125 -49
  347. package/lib/components/VList/VListItemAction.mjs +28 -0
  348. package/lib/components/VList/VListItemAction.mjs.map +1 -0
  349. package/lib/components/VList/VListItemMedia.mjs +8 -7
  350. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  351. package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
  352. package/lib/components/VList/VListItemTitle.mjs.map +1 -1
  353. package/lib/components/VList/VListSubheader.mjs +8 -7
  354. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  355. package/lib/components/VList/_variables.scss +24 -9
  356. package/lib/components/VList/index.mjs +3 -4
  357. package/lib/components/VList/index.mjs.map +1 -1
  358. package/lib/components/VList/list.mjs.map +1 -1
  359. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -3
  360. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  361. package/lib/components/VLocaleProvider/index.mjs.map +1 -1
  362. package/lib/components/VMain/VMain.css +20 -9
  363. package/lib/components/VMain/VMain.mjs +17 -11
  364. package/lib/components/VMain/VMain.mjs.map +1 -1
  365. package/lib/components/VMain/VMain.sass +17 -11
  366. package/lib/components/VMain/_variables.scss +1 -1
  367. package/lib/components/VMain/index.mjs.map +1 -1
  368. package/lib/components/VMenu/VMenu.css +3 -13
  369. package/lib/components/VMenu/VMenu.mjs +68 -34
  370. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  371. package/lib/components/VMenu/VMenu.sass +3 -7
  372. package/lib/components/VMenu/_variables.scss +0 -1
  373. package/lib/components/VMenu/index.mjs.map +1 -1
  374. package/lib/components/VMenu/shared.mjs +2 -0
  375. package/lib/components/VMenu/shared.mjs.map +1 -0
  376. package/lib/components/VMessages/VMessages.mjs +5 -3
  377. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  378. package/lib/components/VMessages/VMessages.sass +0 -1
  379. package/lib/components/VMessages/_variables.scss +1 -1
  380. package/lib/components/VMessages/index.mjs.map +1 -1
  381. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +14 -19
  382. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +60 -21
  383. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  384. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +16 -22
  385. package/lib/components/VNavigationDrawer/_variables.scss +4 -2
  386. package/lib/components/VNavigationDrawer/index.mjs.map +1 -1
  387. package/lib/components/VNavigationDrawer/sticky.mjs +70 -0
  388. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -0
  389. package/lib/components/VNavigationDrawer/touch.mjs +5 -2
  390. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  391. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  392. package/lib/components/VNoSsr/index.mjs.map +1 -1
  393. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  394. package/lib/components/VOtpInput/index.mjs.map +1 -1
  395. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  396. package/lib/components/VOverflowBtn/index.mjs.map +1 -1
  397. package/lib/components/VOverlay/VOverlay.css +7 -0
  398. package/lib/components/VOverlay/VOverlay.mjs +70 -43
  399. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  400. package/lib/components/VOverlay/VOverlay.sass +8 -1
  401. package/lib/components/VOverlay/_variables.scss +1 -1
  402. package/lib/components/VOverlay/index.mjs.map +1 -1
  403. package/lib/components/VOverlay/locationStrategies.mjs +404 -0
  404. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -0
  405. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
  406. package/lib/components/VOverlay/scrollStrategies.mjs +19 -13
  407. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  408. package/lib/components/VOverlay/useActivator.mjs +60 -17
  409. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  410. package/lib/components/VOverlay/util/point.mjs +3 -3
  411. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  412. package/lib/components/VPagination/VPagination.mjs +60 -44
  413. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  414. package/lib/components/VPagination/VPagination.sass +0 -1
  415. package/lib/components/VPagination/index.mjs.map +1 -1
  416. package/lib/components/VParallax/VParallax.mjs +8 -8
  417. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  418. package/lib/components/VParallax/index.mjs.map +1 -1
  419. package/lib/components/VPicker/VPicker.mjs.map +1 -1
  420. package/lib/components/VPicker/index.mjs.map +1 -1
  421. package/lib/components/VProgressCircular/VProgressCircular.mjs +6 -5
  422. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  423. package/lib/components/VProgressCircular/VProgressCircular.sass +0 -1
  424. package/lib/components/VProgressCircular/_variables.scss +2 -0
  425. package/lib/components/VProgressCircular/index.mjs.map +1 -1
  426. package/lib/components/VProgressLinear/VProgressLinear.css +1 -1
  427. package/lib/components/VProgressLinear/VProgressLinear.mjs +5 -3
  428. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  429. package/lib/components/VProgressLinear/VProgressLinear.sass +0 -1
  430. package/lib/components/VProgressLinear/_variables.scss +1 -0
  431. package/lib/components/VProgressLinear/index.mjs.map +1 -1
  432. package/lib/components/VRadio/VRadio.mjs +9 -17
  433. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  434. package/lib/components/VRadio/index.mjs.map +1 -1
  435. package/lib/components/VRadioGroup/VRadioGroup.mjs +30 -8
  436. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  437. package/lib/components/VRadioGroup/VRadioGroup.sass +5 -3
  438. package/lib/components/VRadioGroup/_variables.scss +3 -4
  439. package/lib/components/VRadioGroup/index.mjs.map +1 -1
  440. package/lib/components/VRangeSlider/VRangeSlider.mjs +16 -14
  441. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  442. package/lib/components/VRangeSlider/index.mjs.map +1 -1
  443. package/lib/components/VRating/VRating.css +2 -2
  444. package/lib/components/VRating/VRating.mjs +24 -18
  445. package/lib/components/VRating/VRating.mjs.map +1 -1
  446. package/lib/components/VRating/VRating.sass +4 -3
  447. package/lib/components/VRating/index.mjs.map +1 -1
  448. package/lib/components/VResponsive/VResponsive.mjs +7 -6
  449. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  450. package/lib/components/VResponsive/index.mjs.map +1 -1
  451. package/lib/components/VSelect/VSelect.css +18 -2
  452. package/lib/components/VSelect/VSelect.mjs +145 -112
  453. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  454. package/lib/components/VSelect/VSelect.sass +20 -3
  455. package/lib/components/VSelect/_variables.scss +1 -0
  456. package/lib/components/VSelect/index.mjs.map +1 -1
  457. package/lib/components/VSelectionControl/VSelectionControl.css +1 -0
  458. package/lib/components/VSelectionControl/VSelectionControl.mjs +31 -24
  459. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  460. package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
  461. package/lib/components/VSelectionControl/_variables.scss +1 -0
  462. package/lib/components/VSelectionControl/index.mjs.map +1 -1
  463. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +7 -6
  464. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  465. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +1 -6
  466. package/lib/components/VSelectionControlGroup/_variables.scss +1 -4
  467. package/lib/components/VSelectionControlGroup/index.mjs.map +1 -1
  468. package/lib/components/VSheet/VSheet.css +1 -1
  469. package/lib/components/VSheet/VSheet.mjs +10 -6
  470. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  471. package/lib/components/VSheet/VSheet.sass +0 -1
  472. package/lib/components/VSheet/_variables.scss +3 -2
  473. package/lib/components/VSheet/index.mjs.map +1 -1
  474. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  475. package/lib/components/VSkeletonLoader/index.mjs.map +1 -1
  476. package/lib/components/VSlideGroup/VSlideGroup.css +0 -5
  477. package/lib/components/VSlideGroup/VSlideGroup.mjs +105 -74
  478. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  479. package/lib/components/VSlideGroup/VSlideGroup.sass +0 -5
  480. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +10 -4
  481. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  482. package/lib/components/VSlideGroup/_variables.scss +0 -5
  483. package/lib/components/VSlideGroup/helpers.mjs +4 -15
  484. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  485. package/lib/components/VSlideGroup/index.mjs +2 -2
  486. package/lib/components/VSlideGroup/index.mjs.map +1 -1
  487. package/lib/components/VSlider/VSlider.css +7 -2
  488. package/lib/components/VSlider/VSlider.mjs +7 -9
  489. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  490. package/lib/components/VSlider/VSlider.sass +11 -7
  491. package/lib/components/VSlider/VSliderThumb.css +10 -6
  492. package/lib/components/VSlider/VSliderThumb.mjs +9 -8
  493. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  494. package/lib/components/VSlider/VSliderThumb.sass +11 -10
  495. package/lib/components/VSlider/VSliderTrack.css +6 -6
  496. package/lib/components/VSlider/VSliderTrack.mjs +17 -15
  497. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  498. package/lib/components/VSlider/VSliderTrack.sass +7 -9
  499. package/lib/components/VSlider/_variables.scss +5 -2
  500. package/lib/components/VSlider/index.mjs.map +1 -1
  501. package/lib/components/VSlider/slider.mjs +13 -23
  502. package/lib/components/VSlider/slider.mjs.map +1 -1
  503. package/lib/components/VSnackbar/VSnackbar.css +22 -40
  504. package/lib/components/VSnackbar/VSnackbar.mjs +67 -48
  505. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  506. package/lib/components/VSnackbar/VSnackbar.sass +15 -35
  507. package/lib/components/VSnackbar/_variables.scss +3 -7
  508. package/lib/components/VSnackbar/index.mjs.map +1 -1
  509. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  510. package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
  511. package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
  512. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  513. package/lib/components/VSparkline/index.mjs.map +1 -1
  514. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  515. package/lib/components/VSpeedDial/index.mjs.map +1 -1
  516. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  517. package/lib/components/VStepper/VStepperContent.mjs.map +1 -1
  518. package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
  519. package/lib/components/VStepper/index.mjs.map +1 -1
  520. package/lib/components/VSwitch/VSwitch.css +9 -2
  521. package/lib/components/VSwitch/VSwitch.mjs +15 -6
  522. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  523. package/lib/components/VSwitch/VSwitch.sass +6 -1
  524. package/lib/components/VSwitch/_variables.scss +1 -0
  525. package/lib/components/VSwitch/index.mjs.map +1 -1
  526. package/lib/components/VSystemBar/VSystemBar.css +1 -6
  527. package/lib/components/VSystemBar/VSystemBar.mjs +22 -17
  528. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  529. package/lib/components/VSystemBar/VSystemBar.sass +0 -6
  530. package/lib/components/VSystemBar/_variables.scss +2 -4
  531. package/lib/components/VSystemBar/index.mjs.map +1 -1
  532. package/lib/components/VTable/VTable.css +1 -0
  533. package/lib/components/VTable/VTable.mjs +9 -8
  534. package/lib/components/VTable/VTable.mjs.map +1 -1
  535. package/lib/components/VTable/VTable.sass +1 -1
  536. package/lib/components/VTable/_variables.scss +2 -0
  537. package/lib/components/VTable/index.mjs.map +1 -1
  538. package/lib/components/VTabs/VTab.css +6 -3
  539. package/lib/components/VTabs/VTab.mjs +33 -36
  540. package/lib/components/VTabs/VTab.mjs.map +1 -1
  541. package/lib/components/VTabs/VTab.sass +7 -4
  542. package/lib/components/VTabs/VTabs.css +16 -13
  543. package/lib/components/VTabs/VTabs.mjs +17 -15
  544. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  545. package/lib/components/VTabs/VTabs.sass +11 -8
  546. package/lib/components/VTabs/_variables.scss +2 -0
  547. package/lib/components/VTabs/index.mjs.map +1 -1
  548. package/lib/components/VTabs/shared.mjs +2 -0
  549. package/lib/components/VTabs/shared.mjs.map +1 -0
  550. package/lib/components/VTextField/VTextField.css +6 -5
  551. package/lib/components/VTextField/VTextField.mjs +42 -37
  552. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  553. package/lib/components/VTextField/VTextField.sass +7 -7
  554. package/lib/components/VTextField/_variables.scss +1 -1
  555. package/lib/components/VTextField/index.mjs.map +1 -1
  556. package/lib/components/VTextarea/VTextarea.css +12 -5
  557. package/lib/components/VTextarea/VTextarea.mjs +45 -25
  558. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  559. package/lib/components/VTextarea/VTextarea.sass +17 -8
  560. package/lib/components/VTextarea/_variables.scss +1 -1
  561. package/lib/components/VTextarea/index.mjs.map +1 -1
  562. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  563. package/lib/components/VThemeProvider/index.mjs.map +1 -1
  564. package/lib/components/VTimePicker/SelectingTimes.mjs.map +1 -1
  565. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  566. package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
  567. package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
  568. package/lib/components/VTimePicker/index.mjs.map +1 -1
  569. package/lib/components/VTimeline/VTimeline.css +220 -49
  570. package/lib/components/VTimeline/VTimeline.mjs +47 -32
  571. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  572. package/lib/components/VTimeline/VTimeline.sass +235 -55
  573. package/lib/components/VTimeline/VTimelineDivider.mjs +45 -37
  574. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  575. package/lib/components/VTimeline/VTimelineItem.mjs +17 -15
  576. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  577. package/lib/components/VTimeline/_mixins.sass +10 -0
  578. package/lib/components/VTimeline/_variables.scss +12 -6
  579. package/lib/components/VTimeline/index.mjs.map +1 -1
  580. package/lib/components/VToolbar/VToolbar.css +25 -33
  581. package/lib/components/VToolbar/VToolbar.mjs +32 -31
  582. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  583. package/lib/components/VToolbar/VToolbar.sass +18 -19
  584. package/lib/components/VToolbar/VToolbarItems.mjs +12 -9
  585. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  586. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  587. package/lib/components/VToolbar/_variables.scss +20 -8
  588. package/lib/components/VToolbar/index.mjs.map +1 -1
  589. package/lib/components/VTooltip/VTooltip.mjs +48 -41
  590. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  591. package/lib/components/VTooltip/VTooltip.sass +0 -1
  592. package/lib/components/VTooltip/_variables.scss +1 -0
  593. package/lib/components/VTooltip/index.mjs.map +1 -1
  594. package/lib/components/VTreeview/VTreeview.mjs +1 -3
  595. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  596. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  597. package/lib/components/VTreeview/index.mjs.map +1 -1
  598. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
  599. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  600. package/lib/components/VValidation/index.mjs.map +1 -1
  601. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  602. package/lib/components/VVirtualScroll/index.mjs.map +1 -1
  603. package/lib/components/VWindow/VWindow.mjs +7 -21
  604. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  605. package/lib/components/VWindow/VWindow.sass +0 -2
  606. package/lib/components/VWindow/VWindowItem.mjs +21 -11
  607. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  608. package/lib/components/VWindow/_variables.scss +1 -0
  609. package/lib/components/VWindow/index.mjs.map +1 -1
  610. package/lib/components/index.d.ts +9808 -9503
  611. package/lib/components/index.mjs.map +1 -1
  612. package/lib/components/transitions/createTransition.mjs.map +1 -1
  613. package/lib/components/transitions/dialog-transition.mjs +66 -10
  614. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  615. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  616. package/lib/components/transitions/index.mjs +0 -5
  617. package/lib/components/transitions/index.mjs.map +1 -1
  618. package/lib/composables/border.mjs +5 -6
  619. package/lib/composables/border.mjs.map +1 -1
  620. package/lib/composables/color.mjs +19 -26
  621. package/lib/composables/color.mjs.map +1 -1
  622. package/lib/composables/defaults.mjs +2 -2
  623. package/lib/composables/defaults.mjs.map +1 -1
  624. package/lib/composables/delay.mjs +1 -3
  625. package/lib/composables/delay.mjs.map +1 -1
  626. package/lib/composables/density.mjs.map +1 -1
  627. package/lib/composables/dimensions.mjs.map +1 -1
  628. package/lib/composables/display.mjs +13 -11
  629. package/lib/composables/display.mjs.map +1 -1
  630. package/lib/composables/elevation.mjs.map +1 -1
  631. package/lib/composables/filter.mjs +35 -17
  632. package/lib/composables/filter.mjs.map +1 -1
  633. package/lib/composables/focus.mjs.map +1 -1
  634. package/lib/composables/form.mjs +44 -11
  635. package/lib/composables/form.mjs.map +1 -1
  636. package/lib/composables/forwardRefs.mjs +72 -0
  637. package/lib/composables/forwardRefs.mjs.map +1 -0
  638. package/lib/composables/group.mjs +16 -12
  639. package/lib/composables/group.mjs.map +1 -1
  640. package/lib/composables/hydration.mjs.map +1 -1
  641. package/lib/composables/icons.mjs +16 -4
  642. package/lib/composables/icons.mjs.map +1 -1
  643. package/lib/composables/index.mjs +3 -2
  644. package/lib/composables/index.mjs.map +1 -1
  645. package/lib/composables/intersectionObserver.mjs.map +1 -1
  646. package/lib/composables/items.mjs +84 -0
  647. package/lib/composables/items.mjs.map +1 -0
  648. package/lib/composables/layout.mjs +24 -24
  649. package/lib/composables/layout.mjs.map +1 -1
  650. package/lib/composables/lazy.mjs.map +1 -1
  651. package/lib/composables/loader.mjs.map +1 -1
  652. package/lib/composables/locale.mjs +17 -28
  653. package/lib/composables/locale.mjs.map +1 -1
  654. package/lib/composables/location.mjs +66 -0
  655. package/lib/composables/location.mjs.map +1 -0
  656. package/lib/composables/mutationObserver.mjs +4 -6
  657. package/lib/composables/mutationObserver.mjs.map +1 -1
  658. package/lib/composables/nested/nested.mjs +34 -22
  659. package/lib/composables/nested/nested.mjs.map +1 -1
  660. package/lib/composables/nested/openStrategies.mjs +63 -36
  661. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  662. package/lib/composables/nested/selectStrategies.mjs +163 -122
  663. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  664. package/lib/composables/position.mjs +4 -25
  665. package/lib/composables/position.mjs.map +1 -1
  666. package/lib/composables/proxiedModel.mjs +2 -1
  667. package/lib/composables/proxiedModel.mjs.map +1 -1
  668. package/lib/composables/refs.mjs.map +1 -1
  669. package/lib/composables/resizeObserver.mjs +1 -9
  670. package/lib/composables/resizeObserver.mjs.map +1 -1
  671. package/lib/composables/rounded.mjs.map +1 -1
  672. package/lib/composables/router.mjs +29 -15
  673. package/lib/composables/router.mjs.map +1 -1
  674. package/lib/composables/rtl.mjs +2 -4
  675. package/lib/composables/rtl.mjs.map +1 -1
  676. package/lib/composables/scopeId.mjs +11 -0
  677. package/lib/composables/scopeId.mjs.map +1 -0
  678. package/lib/composables/scroll.mjs +1 -3
  679. package/lib/composables/scroll.mjs.map +1 -1
  680. package/lib/composables/selectLink.mjs +19 -0
  681. package/lib/composables/selectLink.mjs.map +1 -0
  682. package/lib/composables/size.mjs +18 -14
  683. package/lib/composables/size.mjs.map +1 -1
  684. package/lib/composables/ssrBoot.mjs +3 -2
  685. package/lib/composables/ssrBoot.mjs.map +1 -1
  686. package/lib/composables/stack.mjs +37 -23
  687. package/lib/composables/stack.mjs.map +1 -1
  688. package/lib/composables/tag.mjs.map +1 -1
  689. package/lib/composables/teleport.mjs.map +1 -1
  690. package/lib/composables/theme.mjs +108 -101
  691. package/lib/composables/theme.mjs.map +1 -1
  692. package/lib/composables/toggleScope.mjs +18 -0
  693. package/lib/composables/toggleScope.mjs.map +1 -0
  694. package/lib/composables/touch.mjs +1 -3
  695. package/lib/composables/touch.mjs.map +1 -1
  696. package/lib/composables/transition.mjs.map +1 -1
  697. package/lib/composables/validation.mjs +24 -10
  698. package/lib/composables/validation.mjs.map +1 -1
  699. package/lib/composables/variant.mjs +7 -8
  700. package/lib/composables/variant.mjs.map +1 -1
  701. package/lib/directives/click-outside/index.mjs.map +1 -1
  702. package/lib/directives/color/index.mjs.map +1 -1
  703. package/lib/directives/index.mjs.map +1 -1
  704. package/lib/directives/intersect/index.mjs.map +1 -1
  705. package/lib/directives/mutate/index.mjs +4 -6
  706. package/lib/directives/mutate/index.mjs.map +1 -1
  707. package/lib/directives/resize/index.mjs.map +1 -1
  708. package/lib/directives/ripple/VRipple.sass +0 -1
  709. package/lib/directives/ripple/index.mjs +16 -6
  710. package/lib/directives/ripple/index.mjs.map +1 -1
  711. package/lib/directives/scroll/index.mjs +1 -3
  712. package/lib/directives/scroll/index.mjs.map +1 -1
  713. package/lib/directives/touch/index.mjs +3 -3
  714. package/lib/directives/touch/index.mjs.map +1 -1
  715. package/lib/entry-bundler.mjs +2 -1
  716. package/lib/entry-bundler.mjs.map +1 -1
  717. package/lib/framework.mjs +49 -32
  718. package/lib/framework.mjs.map +1 -1
  719. package/lib/iconsets/fa-svg.d.ts +2 -1
  720. package/lib/iconsets/fa-svg.mjs.map +1 -1
  721. package/lib/iconsets/fa.d.ts +2 -1
  722. package/lib/iconsets/fa.mjs.map +1 -1
  723. package/lib/iconsets/fa4.d.ts +2 -1
  724. package/lib/iconsets/fa4.mjs.map +1 -1
  725. package/lib/iconsets/md.d.ts +2 -1
  726. package/lib/iconsets/md.mjs.map +1 -1
  727. package/lib/iconsets/mdi-svg.d.ts +2 -1
  728. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  729. package/lib/iconsets/mdi.d.ts +2 -1
  730. package/lib/iconsets/mdi.mjs.map +1 -1
  731. package/lib/index.d.ts +155 -136
  732. package/lib/locale/adapters/vue-i18n.mjs +1 -3
  733. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  734. package/lib/locale/adapters/vue-intl.mjs +3 -5
  735. package/lib/locale/adapters/vue-intl.mjs.map +1 -1
  736. package/lib/locale/af.mjs +5 -0
  737. package/lib/locale/af.mjs.map +1 -1
  738. package/lib/locale/ar.mjs +5 -0
  739. package/lib/locale/ar.mjs.map +1 -1
  740. package/lib/locale/az.mjs +5 -0
  741. package/lib/locale/az.mjs.map +1 -1
  742. package/lib/locale/bg.mjs +5 -0
  743. package/lib/locale/bg.mjs.map +1 -1
  744. package/lib/locale/ca.mjs +14 -9
  745. package/lib/locale/ca.mjs.map +1 -1
  746. package/lib/locale/ckb.mjs +5 -0
  747. package/lib/locale/ckb.mjs.map +1 -1
  748. package/lib/locale/cs.mjs +5 -0
  749. package/lib/locale/cs.mjs.map +1 -1
  750. package/lib/locale/da.mjs +5 -0
  751. package/lib/locale/da.mjs.map +1 -1
  752. package/lib/locale/de.mjs +5 -0
  753. package/lib/locale/de.mjs.map +1 -1
  754. package/lib/locale/el.mjs +5 -0
  755. package/lib/locale/el.mjs.map +1 -1
  756. package/lib/locale/en.mjs +5 -0
  757. package/lib/locale/en.mjs.map +1 -1
  758. package/lib/locale/es.mjs +5 -0
  759. package/lib/locale/es.mjs.map +1 -1
  760. package/lib/locale/et.mjs +5 -0
  761. package/lib/locale/et.mjs.map +1 -1
  762. package/lib/locale/fa.mjs +5 -0
  763. package/lib/locale/fa.mjs.map +1 -1
  764. package/lib/locale/fi.mjs +5 -0
  765. package/lib/locale/fi.mjs.map +1 -1
  766. package/lib/locale/fr.mjs +5 -0
  767. package/lib/locale/fr.mjs.map +1 -1
  768. package/lib/locale/he.mjs +5 -0
  769. package/lib/locale/he.mjs.map +1 -1
  770. package/lib/locale/hr.mjs +5 -0
  771. package/lib/locale/hr.mjs.map +1 -1
  772. package/lib/locale/hu.mjs +5 -0
  773. package/lib/locale/hu.mjs.map +1 -1
  774. package/lib/locale/id.mjs +5 -0
  775. package/lib/locale/id.mjs.map +1 -1
  776. package/lib/locale/index.d.ts +210 -0
  777. package/lib/locale/index.mjs.map +1 -1
  778. package/lib/locale/it.mjs +5 -0
  779. package/lib/locale/it.mjs.map +1 -1
  780. package/lib/locale/ja.mjs +5 -0
  781. package/lib/locale/ja.mjs.map +1 -1
  782. package/lib/locale/ko.mjs +5 -0
  783. package/lib/locale/ko.mjs.map +1 -1
  784. package/lib/locale/lt.mjs +5 -0
  785. package/lib/locale/lt.mjs.map +1 -1
  786. package/lib/locale/lv.mjs +5 -0
  787. package/lib/locale/lv.mjs.map +1 -1
  788. package/lib/locale/nl.mjs +5 -0
  789. package/lib/locale/nl.mjs.map +1 -1
  790. package/lib/locale/no.mjs +5 -0
  791. package/lib/locale/no.mjs.map +1 -1
  792. package/lib/locale/pl.mjs +5 -0
  793. package/lib/locale/pl.mjs.map +1 -1
  794. package/lib/locale/pt.mjs +5 -0
  795. package/lib/locale/pt.mjs.map +1 -1
  796. package/lib/locale/ro.mjs +5 -0
  797. package/lib/locale/ro.mjs.map +1 -1
  798. package/lib/locale/ru.mjs +5 -0
  799. package/lib/locale/ru.mjs.map +1 -1
  800. package/lib/locale/sk.mjs +5 -0
  801. package/lib/locale/sk.mjs.map +1 -1
  802. package/lib/locale/sl.mjs +5 -0
  803. package/lib/locale/sl.mjs.map +1 -1
  804. package/lib/locale/sr-Cyrl.mjs +5 -0
  805. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  806. package/lib/locale/sr-Latn.mjs +5 -0
  807. package/lib/locale/sr-Latn.mjs.map +1 -1
  808. package/lib/locale/sv.mjs +5 -0
  809. package/lib/locale/sv.mjs.map +1 -1
  810. package/lib/locale/th.mjs +5 -0
  811. package/lib/locale/th.mjs.map +1 -1
  812. package/lib/locale/tr.mjs +5 -0
  813. package/lib/locale/tr.mjs.map +1 -1
  814. package/lib/locale/uk.mjs +5 -0
  815. package/lib/locale/uk.mjs.map +1 -1
  816. package/lib/locale/vi.mjs +5 -0
  817. package/lib/locale/vi.mjs.map +1 -1
  818. package/lib/locale/zh-Hans.mjs +5 -0
  819. package/lib/locale/zh-Hans.mjs.map +1 -1
  820. package/lib/locale/zh-Hant.mjs +5 -0
  821. package/lib/locale/zh-Hant.mjs.map +1 -1
  822. package/lib/services/goto/easing-patterns.mjs.map +1 -1
  823. package/lib/services/goto/index.mjs.map +1 -1
  824. package/lib/services/goto/util.mjs.map +1 -1
  825. package/lib/styles/generic/_colors.scss +17 -10
  826. package/lib/styles/generic/_transitions.scss +13 -77
  827. package/lib/styles/main.css +1611 -1853
  828. package/lib/styles/settings/_elevations.scss +3 -3
  829. package/lib/styles/settings/_utilities.scss +74 -35
  830. package/lib/styles/tools/_states.sass +11 -3
  831. package/lib/styles/tools/_utilities.sass +1 -1
  832. package/lib/styles/tools/_variant.sass +6 -7
  833. package/lib/styles/utilities/_index.sass +0 -1
  834. package/lib/util/anchor.mjs +56 -0
  835. package/lib/util/anchor.mjs.map +1 -0
  836. package/lib/util/animation.mjs +18 -2
  837. package/lib/util/animation.mjs.map +1 -1
  838. package/lib/util/box.mjs +12 -0
  839. package/lib/util/box.mjs.map +1 -1
  840. package/lib/util/color/APCA.mjs.map +1 -1
  841. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  842. package/lib/util/color/transformSRGB.mjs.map +1 -1
  843. package/lib/util/colorUtils.mjs +2 -2
  844. package/lib/util/colorUtils.mjs.map +1 -1
  845. package/lib/util/colors.mjs +1 -1
  846. package/lib/util/colors.mjs.map +1 -1
  847. package/lib/util/console.mjs.map +1 -1
  848. package/lib/util/createSimpleFunctional.mjs +1 -1
  849. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  850. package/lib/util/dateTimeUtils.mjs.map +1 -1
  851. package/lib/util/defineComponent.mjs +37 -11
  852. package/lib/util/defineComponent.mjs.map +1 -1
  853. package/lib/util/dom.mjs.map +1 -1
  854. package/lib/util/easing.mjs.map +1 -1
  855. package/lib/util/getCurrentInstance.mjs +20 -1
  856. package/lib/util/getCurrentInstance.mjs.map +1 -1
  857. package/lib/util/getScrollParent.mjs +3 -1
  858. package/lib/util/getScrollParent.mjs.map +1 -1
  859. package/lib/util/globals.mjs +1 -4
  860. package/lib/util/globals.mjs.map +1 -1
  861. package/lib/util/helpers.mjs +42 -7
  862. package/lib/util/helpers.mjs.map +1 -1
  863. package/lib/util/index.mjs +1 -0
  864. package/lib/util/index.mjs.map +1 -1
  865. package/lib/util/injectSelf.mjs +12 -0
  866. package/lib/util/injectSelf.mjs.map +1 -0
  867. package/lib/util/isFixedPosition.mjs.map +1 -1
  868. package/lib/util/propsFactory.mjs.map +1 -1
  869. package/lib/util/useRender.mjs.map +1 -1
  870. package/package.json +47 -34
  871. package/lib/components/VBreadcrumbs/shared.mjs +0 -2
  872. package/lib/components/VBreadcrumbs/shared.mjs.map +0 -1
  873. package/lib/components/VCard/VCardAvatar.mjs +0 -3
  874. package/lib/components/VCard/VCardAvatar.mjs.map +0 -1
  875. package/lib/components/VCard/VCardHeader.mjs +0 -3
  876. package/lib/components/VCard/VCardHeader.mjs.map +0 -1
  877. package/lib/components/VCard/VCardHeaderText.mjs +0 -3
  878. package/lib/components/VCard/VCardHeaderText.mjs.map +0 -1
  879. package/lib/components/VCard/VCardImg.mjs +0 -3
  880. package/lib/components/VCard/VCardImg.mjs.map +0 -1
  881. package/lib/components/VList/VListItemAvatar.mjs +0 -29
  882. package/lib/components/VList/VListItemAvatar.mjs.map +0 -1
  883. package/lib/components/VList/VListItemHeader.mjs +0 -3
  884. package/lib/components/VList/VListItemHeader.mjs.map +0 -1
  885. package/lib/components/VOverlay/positionStrategies.mjs +0 -203
  886. package/lib/components/VOverlay/positionStrategies.mjs.map +0 -1
  887. package/lib/components/VOverlay/util/anchor.mjs +0 -52
  888. package/lib/components/VOverlay/util/anchor.mjs.map +0 -1
  889. package/lib/components/VTimeline/shared.mjs +0 -2
  890. package/lib/components/VTimeline/shared.mjs.map +0 -1
  891. package/lib/composables/forwardRef.mjs +0 -42
  892. package/lib/composables/forwardRef.mjs.map +0 -1
  893. package/lib/composables/overlay.mjs +0 -30
  894. package/lib/composables/overlay.mjs.map +0 -1
  895. package/lib/presets/default/index.mjs +0 -71
  896. package/lib/presets/default/index.mjs.map +0 -1
  897. package/lib/styles/utilities/_text.sass +0 -9
  898. package/lib/styles.scss +0 -4
@@ -1,7 +1,9 @@
1
- // Utilities
2
- import { getCurrentInstance, IN_BROWSER, isComponentInstance, propsFactory, SUPPORTS_FOCUS_VISIBLE } from "../../util/index.mjs";
1
+ // Composables
3
2
  import { makeDelayProps, useDelay } from "../../composables/delay.mjs";
4
- import { computed, effectScope, nextTick, onScopeDispose, ref, watch, watchEffect } from 'vue'; // Types
3
+ import { VMenuSymbol } from "../VMenu/shared.mjs"; // Utilities
4
+
5
+ import { getCurrentInstance, IN_BROWSER, isComponentInstance, propsFactory, SUPPORTS_FOCUS_VISIBLE } from "../../util/index.mjs";
6
+ import { computed, effectScope, inject, nextTick, onScopeDispose, ref, watch, watchEffect } from 'vue'; // Types
5
7
 
6
8
  export const makeActivatorProps = propsFactory({
7
9
  activator: [String, Object],
@@ -18,9 +20,14 @@ export const makeActivatorProps = propsFactory({
18
20
  type: Boolean,
19
21
  default: undefined
20
22
  },
23
+ closeOnContentClick: Boolean,
21
24
  ...makeDelayProps()
22
25
  });
23
- export function useActivator(props, isActive) {
26
+ export function useActivator(props, _ref) {
27
+ let {
28
+ isActive,
29
+ isTop
30
+ } = _ref;
24
31
  const activatorEl = ref();
25
32
  let isHovered = false;
26
33
  let isFocused = false;
@@ -30,7 +37,7 @@ export function useActivator(props, isActive) {
30
37
  runOpenDelay,
31
38
  runCloseDelay
32
39
  } = useDelay(props, value => {
33
- if (value === (props.openOnHover && isHovered || openOnFocus.value && isFocused)) {
40
+ if (value === (props.openOnHover && isHovered || openOnFocus.value && isFocused) && !(props.openOnHover && isActive.value && !isTop.value)) {
34
41
  isActive.value = value;
35
42
  }
36
43
  });
@@ -81,6 +88,37 @@ export function useActivator(props, isActive) {
81
88
 
82
89
  return events;
83
90
  });
91
+ const contentEvents = computed(() => {
92
+ const events = {};
93
+
94
+ if (props.openOnHover) {
95
+ events.mouseenter = () => {
96
+ isHovered = true;
97
+ runOpenDelay();
98
+ };
99
+
100
+ events.mouseleave = () => {
101
+ isHovered = false;
102
+ runCloseDelay();
103
+ };
104
+ }
105
+
106
+ if (props.closeOnContentClick) {
107
+ const menu = inject(VMenuSymbol, null);
108
+
109
+ events.click = () => {
110
+ isActive.value = false;
111
+ menu == null ? void 0 : menu.closeParents();
112
+ };
113
+ }
114
+
115
+ return events;
116
+ });
117
+ watch(isTop, val => {
118
+ if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))) {
119
+ isActive.value = false;
120
+ }
121
+ });
84
122
  const activatorRef = ref();
85
123
  watchEffect(() => {
86
124
  if (!activatorRef.value) return;
@@ -89,14 +127,14 @@ export function useActivator(props, isActive) {
89
127
  activatorEl.value = isComponentInstance(activator) ? activator.$el : activator;
90
128
  });
91
129
  });
130
+ const vm = getCurrentInstance('useActivator');
92
131
  let scope;
93
132
  watch(() => !!props.activator, val => {
94
133
  if (val && IN_BROWSER) {
95
134
  scope = effectScope();
96
135
  scope.run(() => {
97
- _useActivator(props, {
136
+ _useActivator(props, vm, {
98
137
  activatorEl,
99
- activatorRef,
100
138
  activatorEvents
101
139
  });
102
140
  });
@@ -110,15 +148,16 @@ export function useActivator(props, isActive) {
110
148
  return {
111
149
  activatorEl,
112
150
  activatorRef,
113
- activatorEvents
151
+ activatorEvents,
152
+ contentEvents
114
153
  };
115
154
  }
116
155
 
117
- function _useActivator(props, _ref) {
156
+ function _useActivator(props, vm, _ref2) {
118
157
  let {
119
158
  activatorEl,
120
159
  activatorEvents
121
- } = _ref;
160
+ } = _ref2;
122
161
  watch(() => props.activator, (val, oldVal) => {
123
162
  if (oldVal && val !== oldVal) {
124
163
  const activator = getActivator(oldVal);
@@ -144,8 +183,8 @@ function _useActivator(props, _ref) {
144
183
  let _props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.activatorProps;
145
184
 
146
185
  if (!el) return;
147
- Object.entries(activatorEvents.value).forEach(_ref2 => {
148
- let [name, cb] = _ref2;
186
+ Object.entries(activatorEvents.value).forEach(_ref3 => {
187
+ let [name, cb] = _ref3;
149
188
  el.addEventListener(name, cb);
150
189
  });
151
190
  Object.keys(_props).forEach(k => {
@@ -163,8 +202,8 @@ function _useActivator(props, _ref) {
163
202
  let _props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.activatorProps;
164
203
 
165
204
  if (!el) return;
166
- Object.entries(activatorEvents.value).forEach(_ref3 => {
167
- let [name, cb] = _ref3;
205
+ Object.entries(activatorEvents.value).forEach(_ref4 => {
206
+ let [name, cb] = _ref4;
168
207
  el.removeEventListener(name, cb);
169
208
  });
170
209
  Object.keys(_props).forEach(k => {
@@ -172,8 +211,6 @@ function _useActivator(props, _ref) {
172
211
  });
173
212
  }
174
213
 
175
- const vm = getCurrentInstance('useActivator');
176
-
177
214
  function getActivator() {
178
215
  var _activator;
179
216
 
@@ -184,7 +221,13 @@ function _useActivator(props, _ref) {
184
221
  if (selector === 'parent') {
185
222
  var _vm$proxy, _vm$proxy$$el;
186
223
 
187
- activator = vm == null ? void 0 : (_vm$proxy = vm.proxy) == null ? void 0 : (_vm$proxy$$el = _vm$proxy.$el) == null ? void 0 : _vm$proxy$$el.parentNode;
224
+ let el = vm == null ? void 0 : (_vm$proxy = vm.proxy) == null ? void 0 : (_vm$proxy$$el = _vm$proxy.$el) == null ? void 0 : _vm$proxy$$el.parentNode;
225
+
226
+ while (el.hasAttribute('data-no-activator')) {
227
+ el = el.parentNode;
228
+ }
229
+
230
+ activator = el;
188
231
  } else if (typeof selector === 'string') {
189
232
  // Selector
190
233
  activator = document.querySelector(selector);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VOverlay/useActivator.tsx"],"names":["getCurrentInstance","IN_BROWSER","isComponentInstance","propsFactory","SUPPORTS_FOCUS_VISIBLE","makeDelayProps","useDelay","computed","effectScope","nextTick","onScopeDispose","ref","watch","watchEffect","makeActivatorProps","activator","String","Object","activatorProps","type","default","openOnClick","Boolean","undefined","openOnHover","openOnFocus","useActivator","props","isActive","activatorEl","isHovered","isFocused","value","runOpenDelay","runCloseDelay","availableEvents","click","e","stopPropagation","currentTarget","target","mouseenter","mouseleave","focus","matches","blur","activatorEvents","events","activatorRef","$el","scope","val","run","_useActivator","stop","flush","immediate","oldVal","getActivator","unbindActivatorProps","bindActivatorProps","el","_props","entries","forEach","name","cb","addEventListener","keys","k","removeAttribute","setAttribute","removeEventListener","vm","selector","proxy","parentNode","document","querySelector","nodeType","Node","ELEMENT_NODE"],"mappings":"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","sourcesContent":["// Utilities\nimport { getCurrentInstance, IN_BROWSER, isComponentInstance, propsFactory, SUPPORTS_FOCUS_VISIBLE } from '@/util'\nimport { makeDelayProps, useDelay } from '@/composables/delay'\nimport {\n computed,\n effectScope,\n nextTick,\n onScopeDispose,\n ref,\n watch,\n watchEffect,\n} from 'vue'\n\n// Types\nimport type { DelayProps } from '@/composables/delay'\nimport type {\n ComponentPublicInstance,\n EffectScope,\n PropType,\n Ref,\n} from 'vue'\n\ninterface ActivatorProps extends DelayProps {\n activator?: 'parent' | string | Element | ComponentPublicInstance\n activatorProps: Record<string, any>\n\n openOnClick: boolean | undefined\n openOnHover: boolean\n openOnFocus: boolean | undefined\n}\n\nexport const makeActivatorProps = propsFactory({\n activator: [String, Object] as PropType<ActivatorProps['activator']>,\n activatorProps: {\n type: Object as PropType<ActivatorProps['activatorProps']>,\n default: () => ({}),\n },\n\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n openOnHover: Boolean,\n openOnFocus: {\n type: Boolean,\n default: undefined,\n },\n\n ...makeDelayProps(),\n})\n\nexport function useActivator (\n props: ActivatorProps,\n isActive: Ref<boolean>\n) {\n const activatorEl = ref<HTMLElement>()\n\n let isHovered = false\n let isFocused = false\n\n const openOnFocus = computed(() => props.openOnFocus || (props.openOnFocus == null && props.openOnHover))\n const openOnClick = computed(() => props.openOnClick || (props.openOnClick == null && !props.openOnHover && !openOnFocus.value))\n\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => {\n if (value === (\n (props.openOnHover && isHovered) ||\n (openOnFocus.value && isFocused)\n )) {\n isActive.value = value\n }\n })\n\n const availableEvents = {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n isActive.value = !isActive.value\n },\n mouseenter: (e: MouseEvent) => {\n isHovered = true\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n runOpenDelay()\n },\n mouseleave: (e: MouseEvent) => {\n isHovered = false\n runCloseDelay()\n },\n focus: (e: FocusEvent) => {\n if (\n SUPPORTS_FOCUS_VISIBLE &&\n !(e.target as HTMLElement).matches(':focus-visible')\n ) return\n\n isFocused = true\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n\n runOpenDelay()\n },\n blur: (e: FocusEvent) => {\n isFocused = false\n e.stopPropagation()\n\n runCloseDelay()\n },\n }\n\n const activatorEvents = computed(() => {\n const events: Partial<typeof availableEvents> = {}\n\n if (openOnClick.value) {\n events.click = availableEvents.click\n }\n if (props.openOnHover) {\n events.mouseenter = availableEvents.mouseenter\n events.mouseleave = availableEvents.mouseleave\n }\n if (openOnFocus.value) {\n events.focus = availableEvents.focus\n events.blur = availableEvents.blur\n }\n\n return events\n })\n\n const activatorRef = ref()\n watchEffect(() => {\n if (!activatorRef.value) return\n\n nextTick(() => {\n const activator = activatorRef.value\n activatorEl.value = isComponentInstance(activator) ? activator.$el : activator\n })\n })\n\n let scope: EffectScope\n watch(() => !!props.activator, val => {\n if (val && IN_BROWSER) {\n scope = effectScope()\n scope.run(() => {\n _useActivator(props, { activatorEl, activatorRef, activatorEvents })\n })\n } else if (scope) {\n scope.stop()\n }\n }, { flush: 'post', immediate: true })\n\n return { activatorEl, activatorRef, activatorEvents }\n}\n\nfunction _useActivator (props: ActivatorProps, { activatorEl, activatorEvents }: ReturnType<typeof useActivator>) {\n watch(() => props.activator, (val, oldVal) => {\n if (oldVal && val !== oldVal) {\n const activator = getActivator(oldVal)\n activator && unbindActivatorProps(activator)\n }\n if (val) {\n nextTick(() => bindActivatorProps())\n }\n }, { immediate: true })\n\n watch(() => props.activatorProps, () => {\n bindActivatorProps()\n })\n\n onScopeDispose(() => {\n unbindActivatorProps()\n })\n\n function bindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n Object.entries(activatorEvents.value).forEach(([name, cb]) => {\n el.addEventListener(name, cb as (e: Event) => void)\n })\n\n Object.keys(_props).forEach(k => {\n if (_props[k] == null) {\n el.removeAttribute(k)\n } else {\n el.setAttribute(k, _props[k])\n }\n })\n }\n\n function unbindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n Object.entries(activatorEvents.value).forEach(([name, cb]) => {\n el.removeEventListener(name, cb as (e: Event) => void)\n })\n\n Object.keys(_props).forEach(k => {\n el.removeAttribute(k)\n })\n }\n\n const vm = getCurrentInstance('useActivator')\n function getActivator (selector = props.activator): HTMLElement | undefined {\n let activator\n if (selector) {\n if (selector === 'parent') {\n activator = vm?.proxy?.$el?.parentNode\n } else if (typeof selector === 'string') {\n // Selector\n activator = document.querySelector(selector)\n } else if ('$el' in selector) {\n // Component (ref)\n activator = selector.$el\n } else {\n // HTMLElement | Element\n activator = selector\n }\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n return activatorEl.value\n }\n}\n"],"file":"useActivator.mjs"}
1
+ {"version":3,"file":"useActivator.mjs","names":["makeDelayProps","useDelay","VMenuSymbol","getCurrentInstance","IN_BROWSER","isComponentInstance","propsFactory","SUPPORTS_FOCUS_VISIBLE","computed","effectScope","inject","nextTick","onScopeDispose","ref","watch","watchEffect","makeActivatorProps","activator","String","Object","activatorProps","type","default","openOnClick","Boolean","undefined","openOnHover","openOnFocus","closeOnContentClick","useActivator","props","isActive","isTop","activatorEl","isHovered","isFocused","value","runOpenDelay","runCloseDelay","availableEvents","click","e","stopPropagation","currentTarget","target","mouseenter","mouseleave","focus","matches","blur","activatorEvents","events","contentEvents","menu","closeParents","val","activatorRef","$el","vm","scope","run","_useActivator","stop","flush","immediate","oldVal","getActivator","unbindActivatorProps","bindActivatorProps","el","_props","entries","forEach","name","cb","addEventListener","keys","k","removeAttribute","setAttribute","removeEventListener","selector","proxy","parentNode","hasAttribute","document","querySelector","nodeType","Node","ELEMENT_NODE"],"sources":["../../../src/components/VOverlay/useActivator.tsx"],"sourcesContent":["// Composables\nimport { makeDelayProps, useDelay } from '@/composables/delay'\nimport { VMenuSymbol } from '@/components/VMenu/shared'\n\n// Utilities\nimport { getCurrentInstance, IN_BROWSER, isComponentInstance, propsFactory, SUPPORTS_FOCUS_VISIBLE } from '@/util'\nimport {\n computed,\n effectScope,\n inject,\n nextTick,\n onScopeDispose,\n ref,\n watch,\n watchEffect,\n} from 'vue'\n\n// Types\nimport type { DelayProps } from '@/composables/delay'\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n EffectScope,\n PropType,\n Ref,\n} from 'vue'\n\ninterface ActivatorProps extends DelayProps {\n activator?: 'parent' | string | Element | ComponentPublicInstance\n activatorProps: Record<string, any>\n\n openOnClick: boolean | undefined\n openOnHover: boolean\n openOnFocus: boolean | undefined\n\n closeOnContentClick: boolean\n}\n\nexport const makeActivatorProps = propsFactory({\n activator: [String, Object] as PropType<ActivatorProps['activator']>,\n activatorProps: {\n type: Object as PropType<ActivatorProps['activatorProps']>,\n default: () => ({}),\n },\n\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n openOnHover: Boolean,\n openOnFocus: {\n type: Boolean,\n default: undefined,\n },\n\n closeOnContentClick: Boolean,\n\n ...makeDelayProps(),\n})\n\nexport function useActivator (\n props: ActivatorProps,\n { isActive, isTop }: { isActive: Ref<boolean>, isTop: Ref<boolean> }\n) {\n const activatorEl = ref<HTMLElement>()\n\n let isHovered = false\n let isFocused = false\n\n const openOnFocus = computed(() => props.openOnFocus || (props.openOnFocus == null && props.openOnHover))\n const openOnClick = computed(() => props.openOnClick || (props.openOnClick == null && !props.openOnHover && !openOnFocus.value))\n\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => {\n if (\n value === (\n (props.openOnHover && isHovered) ||\n (openOnFocus.value && isFocused)\n ) && !(props.openOnHover && isActive.value && !isTop.value)\n ) {\n isActive.value = value\n }\n })\n\n const availableEvents = {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n isActive.value = !isActive.value\n },\n mouseenter: (e: MouseEvent) => {\n isHovered = true\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n runOpenDelay()\n },\n mouseleave: (e: MouseEvent) => {\n isHovered = false\n runCloseDelay()\n },\n focus: (e: FocusEvent) => {\n if (\n SUPPORTS_FOCUS_VISIBLE &&\n !(e.target as HTMLElement).matches(':focus-visible')\n ) return\n\n isFocused = true\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n\n runOpenDelay()\n },\n blur: (e: FocusEvent) => {\n isFocused = false\n e.stopPropagation()\n\n runCloseDelay()\n },\n }\n\n const activatorEvents = computed(() => {\n const events: Partial<typeof availableEvents> = {}\n\n if (openOnClick.value) {\n events.click = availableEvents.click\n }\n if (props.openOnHover) {\n events.mouseenter = availableEvents.mouseenter\n events.mouseleave = availableEvents.mouseleave\n }\n if (openOnFocus.value) {\n events.focus = availableEvents.focus\n events.blur = availableEvents.blur\n }\n\n return events\n })\n\n const contentEvents = computed(() => {\n const events: Partial<typeof availableEvents> = {}\n\n if (props.openOnHover) {\n events.mouseenter = () => {\n isHovered = true\n runOpenDelay()\n }\n events.mouseleave = () => {\n isHovered = false\n runCloseDelay()\n }\n }\n\n if (props.closeOnContentClick) {\n const menu = inject(VMenuSymbol, null)\n events.click = () => {\n isActive.value = false\n menu?.closeParents()\n }\n }\n\n return events\n })\n\n watch(isTop, val => {\n if (val && (\n (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused)) ||\n (openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))\n )) {\n isActive.value = false\n }\n })\n\n const activatorRef = ref()\n watchEffect(() => {\n if (!activatorRef.value) return\n\n nextTick(() => {\n const activator = activatorRef.value\n activatorEl.value = isComponentInstance(activator) ? activator.$el : activator\n })\n })\n\n const vm = getCurrentInstance('useActivator')\n let scope: EffectScope\n watch(() => !!props.activator, val => {\n if (val && IN_BROWSER) {\n scope = effectScope()\n scope.run(() => {\n _useActivator(props, vm, { activatorEl, activatorEvents })\n })\n } else if (scope) {\n scope.stop()\n }\n }, { flush: 'post', immediate: true })\n\n return { activatorEl, activatorRef, activatorEvents, contentEvents }\n}\n\nfunction _useActivator (\n props: ActivatorProps,\n vm: ComponentInternalInstance,\n { activatorEl, activatorEvents }: Pick<ReturnType<typeof useActivator>, 'activatorEl' | 'activatorEvents'>\n) {\n watch(() => props.activator, (val, oldVal) => {\n if (oldVal && val !== oldVal) {\n const activator = getActivator(oldVal)\n activator && unbindActivatorProps(activator)\n }\n if (val) {\n nextTick(() => bindActivatorProps())\n }\n }, { immediate: true })\n\n watch(() => props.activatorProps, () => {\n bindActivatorProps()\n })\n\n onScopeDispose(() => {\n unbindActivatorProps()\n })\n\n function bindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n Object.entries(activatorEvents.value).forEach(([name, cb]) => {\n el.addEventListener(name, cb as (e: Event) => void)\n })\n\n Object.keys(_props).forEach(k => {\n if (_props[k] == null) {\n el.removeAttribute(k)\n } else {\n el.setAttribute(k, _props[k])\n }\n })\n }\n\n function unbindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n Object.entries(activatorEvents.value).forEach(([name, cb]) => {\n el.removeEventListener(name, cb as (e: Event) => void)\n })\n\n Object.keys(_props).forEach(k => {\n el.removeAttribute(k)\n })\n }\n\n function getActivator (selector = props.activator): HTMLElement | undefined {\n let activator\n if (selector) {\n if (selector === 'parent') {\n let el = vm?.proxy?.$el?.parentNode\n while (el.hasAttribute('data-no-activator')) {\n el = el.parentNode\n }\n activator = el\n } else if (typeof selector === 'string') {\n // Selector\n activator = document.querySelector(selector)\n } else if ('$el' in selector) {\n // Component (ref)\n activator = selector.$el\n } else {\n // HTMLElement | Element\n activator = selector\n }\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n return activatorEl.value\n }\n}\n"],"mappings":"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"}
@@ -29,18 +29,18 @@ export function anchorToPoint(anchor, box) {
29
29
  side,
30
30
  align
31
31
  } = anchor;
32
- const x = align === 'start' ? 0 : align === 'center' ? box.width / 2 : align === 'end' ? box.width : align;
32
+ const x = align === 'left' ? 0 : align === 'center' ? box.width / 2 : align === 'right' ? box.width : align;
33
33
  const y = side === 'top' ? 0 : side === 'bottom' ? box.height : side;
34
34
  return elementToViewport({
35
35
  x,
36
36
  y
37
37
  }, box);
38
- } else if (anchor.side === 'start' || anchor.side === 'end') {
38
+ } else if (anchor.side === 'left' || anchor.side === 'right') {
39
39
  const {
40
40
  side,
41
41
  align
42
42
  } = anchor;
43
- const x = side === 'start' ? 0 : side === 'end' ? box.width : side;
43
+ const x = side === 'left' ? 0 : side === 'right' ? box.width : side;
44
44
  const y = align === 'top' ? 0 : align === 'center' ? box.height / 2 : align === 'bottom' ? box.height : align;
45
45
  return elementToViewport({
46
46
  x,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VOverlay/util/point.ts"],"names":["elementToViewport","point","offset","x","y","viewportToElement","getOffset","a","b","anchorToPoint","anchor","box","side","align","width","height"],"mappings":"AAWA;AACA,OAAO,SAASA,iBAAT,CAA4BC,KAA5B,EAAiDC,MAAjD,EAAuE;AAC5E,SAAO;AACLC,IAAAA,CAAC,EAAEF,KAAK,CAACE,CAAN,GAAUD,MAAM,CAACC,CADf;AAELC,IAAAA,CAAC,EAAEH,KAAK,CAACG,CAAN,GAAUF,MAAM,CAACE;AAFf,GAAP;AAID;AAED;;AACA,OAAO,SAASC,iBAAT,CAA4BJ,KAA5B,EAAkDC,MAAlD,EAAwE;AAC7E,SAAO;AACLC,IAAAA,CAAC,EAAEF,KAAK,CAACE,CAAN,GAAUD,MAAM,CAACC,CADf;AAELC,IAAAA,CAAC,EAAEH,KAAK,CAACG,CAAN,GAAUF,MAAM,CAACE;AAFf,GAAP;AAID;AAED;;AACA,OAAO,SAASE,SAAT,CAAqCC,CAArC,EAA2CC,CAA3C,EAAiD;AACtD,SAAO;AACLL,IAAAA,CAAC,EAAEI,CAAC,CAACJ,CAAF,GAAMK,CAAC,CAACL,CADN;AAELC,IAAAA,CAAC,EAAEG,CAAC,CAACH,CAAF,GAAMI,CAAC,CAACJ;AAFN,GAAP;AAID;AAED;;AACA,OAAO,SAASK,aAAT,CAAwBC,MAAxB,EAA8CC,GAA9C,EAAuE;AAC5E,MAAID,MAAM,CAACE,IAAP,KAAgB,KAAhB,IAAyBF,MAAM,CAACE,IAAP,KAAgB,QAA7C,EAAuD;AACrD,UAAM;AAAEA,MAAAA,IAAF;AAAQC,MAAAA;AAAR,QAAkBH,MAAxB;AAEA,UAAMP,CAAS,GACbU,KAAK,KAAK,OAAV,GAAoB,CAApB,GACEA,KAAK,KAAK,QAAV,GAAqBF,GAAG,CAACG,KAAJ,GAAY,CAAjC,GACAD,KAAK,KAAK,KAAV,GAAkBF,GAAG,CAACG,KAAtB,GACAD,KAJJ;AAKA,UAAMT,CAAS,GACbQ,IAAI,KAAK,KAAT,GAAiB,CAAjB,GACEA,IAAI,KAAK,QAAT,GAAoBD,GAAG,CAACI,MAAxB,GACAH,IAHJ;AAKA,WAAOZ,iBAAiB,CAAC;AAAEG,MAAAA,CAAF;AAAKC,MAAAA;AAAL,KAAD,EAA2BO,GAA3B,CAAxB;AACD,GAdD,MAcO,IAAID,MAAM,CAACE,IAAP,KAAgB,OAAhB,IAA2BF,MAAM,CAACE,IAAP,KAAgB,KAA/C,EAAsD;AAC3D,UAAM;AAAEA,MAAAA,IAAF;AAAQC,MAAAA;AAAR,QAAkBH,MAAxB;AAEA,UAAMP,CAAS,GACbS,IAAI,KAAK,OAAT,GAAmB,CAAnB,GACEA,IAAI,KAAK,KAAT,GAAiBD,GAAG,CAACG,KAArB,GACAF,IAHJ;AAIA,UAAMR,CAAS,GACbS,KAAK,KAAK,KAAV,GAAkB,CAAlB,GACEA,KAAK,KAAK,QAAV,GAAqBF,GAAG,CAACI,MAAJ,GAAa,CAAlC,GACAF,KAAK,KAAK,QAAV,GAAqBF,GAAG,CAACI,MAAzB,GACAF,KAJJ;AAMA,WAAOb,iBAAiB,CAAC;AAAEG,MAAAA,CAAF;AAAKC,MAAAA;AAAL,KAAD,EAA2BO,GAA3B,CAAxB;AACD;;AAED,SAAOX,iBAAiB,CAAC;AACvBG,IAAAA,CAAC,EAAEQ,GAAG,CAACG,KAAJ,GAAY,CADQ;AAEvBV,IAAAA,CAAC,EAAEO,GAAG,CAACI,MAAJ,GAAa;AAFO,GAAD,EAGLJ,GAHK,CAAxB;AAID","sourcesContent":["import type { ParsedAnchor } from './anchor'\nimport type { Box } from '@/util/box'\n\ntype Point = { x: number, y: number }\ndeclare class As<T extends string> {\n private as: T\n}\ntype ElementPoint = Point & As<'element'>\ntype ViewportPoint = Point & As<'viewport'>\ntype Offset = Point & As<'offset'>\n\n/** Convert a point in local space to viewport space */\nexport function elementToViewport (point: ElementPoint, offset: Offset | Box) {\n return {\n x: point.x + offset.x,\n y: point.y + offset.y,\n } as ViewportPoint\n}\n\n/** Convert a point in viewport space to local space */\nexport function viewportToElement (point: ViewportPoint, offset: Offset | Box) {\n return {\n x: point.x - offset.x,\n y: point.y - offset.y,\n } as ElementPoint\n}\n\n/** Get the difference between two points */\nexport function getOffset<T extends Point> (a: T, b: T) {\n return {\n x: a.x - b.x,\n y: a.y - b.y,\n } as Offset\n}\n\n/** Convert an anchor object to a point in local space */\nexport function anchorToPoint (anchor: ParsedAnchor, box: Box): ViewportPoint {\n if (anchor.side === 'top' || anchor.side === 'bottom') {\n const { side, align } = anchor\n\n const x: number =\n align === 'start' ? 0\n : align === 'center' ? box.width / 2\n : align === 'end' ? box.width\n : align\n const y: number =\n side === 'top' ? 0\n : side === 'bottom' ? box.height\n : side\n\n return elementToViewport({ x, y } as ElementPoint, box)\n } else if (anchor.side === 'start' || anchor.side === 'end') {\n const { side, align } = anchor\n\n const x: number =\n side === 'start' ? 0\n : side === 'end' ? box.width\n : side\n const y: number =\n align === 'top' ? 0\n : align === 'center' ? box.height / 2\n : align === 'bottom' ? box.height\n : align\n\n return elementToViewport({ x, y } as ElementPoint, box)\n }\n\n return elementToViewport({\n x: box.width / 2,\n y: box.height / 2,\n } as ElementPoint, box)\n}\n"],"file":"point.mjs"}
1
+ {"version":3,"file":"point.mjs","names":["elementToViewport","point","offset","x","y","viewportToElement","getOffset","a","b","anchorToPoint","anchor","box","side","align","width","height"],"sources":["../../../../src/components/VOverlay/util/point.ts"],"sourcesContent":["import type { ParsedAnchor } from '@/util'\nimport type { Box } from '@/util/box'\n\ntype Point = { x: number, y: number }\ndeclare class As<T extends string> {\n private as: T\n}\ntype ElementPoint = Point & As<'element'>\ntype ViewportPoint = Point & As<'viewport'>\ntype Offset = Point & As<'offset'>\n\n/** Convert a point in local space to viewport space */\nexport function elementToViewport (point: ElementPoint, offset: Offset | Box) {\n return {\n x: point.x + offset.x,\n y: point.y + offset.y,\n } as ViewportPoint\n}\n\n/** Convert a point in viewport space to local space */\nexport function viewportToElement (point: ViewportPoint, offset: Offset | Box) {\n return {\n x: point.x - offset.x,\n y: point.y - offset.y,\n } as ElementPoint\n}\n\n/** Get the difference between two points */\nexport function getOffset<T extends Point> (a: T, b: T) {\n return {\n x: a.x - b.x,\n y: a.y - b.y,\n } as Offset\n}\n\n/** Convert an anchor object to a point in local space */\nexport function anchorToPoint (anchor: ParsedAnchor, box: Box): ViewportPoint {\n if (anchor.side === 'top' || anchor.side === 'bottom') {\n const { side, align } = anchor\n\n const x: number =\n align === 'left' ? 0\n : align === 'center' ? box.width / 2\n : align === 'right' ? box.width\n : align\n const y: number =\n side === 'top' ? 0\n : side === 'bottom' ? box.height\n : side\n\n return elementToViewport({ x, y } as ElementPoint, box)\n } else if (anchor.side === 'left' || anchor.side === 'right') {\n const { side, align } = anchor\n\n const x: number =\n side === 'left' ? 0\n : side === 'right' ? box.width\n : side\n const y: number =\n align === 'top' ? 0\n : align === 'center' ? box.height / 2\n : align === 'bottom' ? box.height\n : align\n\n return elementToViewport({ x, y } as ElementPoint, box)\n }\n\n return elementToViewport({\n x: box.width / 2,\n y: box.height / 2,\n } as ElementPoint, box)\n}\n"],"mappings":"AAWA;AACA,OAAO,SAASA,iBAAT,CAA4BC,KAA5B,EAAiDC,MAAjD,EAAuE;EAC5E,OAAO;IACLC,CAAC,EAAEF,KAAK,CAACE,CAAN,GAAUD,MAAM,CAACC,CADf;IAELC,CAAC,EAAEH,KAAK,CAACG,CAAN,GAAUF,MAAM,CAACE;EAFf,CAAP;AAID;AAED;;AACA,OAAO,SAASC,iBAAT,CAA4BJ,KAA5B,EAAkDC,MAAlD,EAAwE;EAC7E,OAAO;IACLC,CAAC,EAAEF,KAAK,CAACE,CAAN,GAAUD,MAAM,CAACC,CADf;IAELC,CAAC,EAAEH,KAAK,CAACG,CAAN,GAAUF,MAAM,CAACE;EAFf,CAAP;AAID;AAED;;AACA,OAAO,SAASE,SAAT,CAAqCC,CAArC,EAA2CC,CAA3C,EAAiD;EACtD,OAAO;IACLL,CAAC,EAAEI,CAAC,CAACJ,CAAF,GAAMK,CAAC,CAACL,CADN;IAELC,CAAC,EAAEG,CAAC,CAACH,CAAF,GAAMI,CAAC,CAACJ;EAFN,CAAP;AAID;AAED;;AACA,OAAO,SAASK,aAAT,CAAwBC,MAAxB,EAA8CC,GAA9C,EAAuE;EAC5E,IAAID,MAAM,CAACE,IAAP,KAAgB,KAAhB,IAAyBF,MAAM,CAACE,IAAP,KAAgB,QAA7C,EAAuD;IACrD,MAAM;MAAEA,IAAF;MAAQC;IAAR,IAAkBH,MAAxB;IAEA,MAAMP,CAAS,GACbU,KAAK,KAAK,MAAV,GAAmB,CAAnB,GACEA,KAAK,KAAK,QAAV,GAAqBF,GAAG,CAACG,KAAJ,GAAY,CAAjC,GACAD,KAAK,KAAK,OAAV,GAAoBF,GAAG,CAACG,KAAxB,GACAD,KAJJ;IAKA,MAAMT,CAAS,GACbQ,IAAI,KAAK,KAAT,GAAiB,CAAjB,GACEA,IAAI,KAAK,QAAT,GAAoBD,GAAG,CAACI,MAAxB,GACAH,IAHJ;IAKA,OAAOZ,iBAAiB,CAAC;MAAEG,CAAF;MAAKC;IAAL,CAAD,EAA2BO,GAA3B,CAAxB;EACD,CAdD,MAcO,IAAID,MAAM,CAACE,IAAP,KAAgB,MAAhB,IAA0BF,MAAM,CAACE,IAAP,KAAgB,OAA9C,EAAuD;IAC5D,MAAM;MAAEA,IAAF;MAAQC;IAAR,IAAkBH,MAAxB;IAEA,MAAMP,CAAS,GACbS,IAAI,KAAK,MAAT,GAAkB,CAAlB,GACEA,IAAI,KAAK,OAAT,GAAmBD,GAAG,CAACG,KAAvB,GACAF,IAHJ;IAIA,MAAMR,CAAS,GACbS,KAAK,KAAK,KAAV,GAAkB,CAAlB,GACEA,KAAK,KAAK,QAAV,GAAqBF,GAAG,CAACI,MAAJ,GAAa,CAAlC,GACAF,KAAK,KAAK,QAAV,GAAqBF,GAAG,CAACI,MAAzB,GACAF,KAJJ;IAMA,OAAOb,iBAAiB,CAAC;MAAEG,CAAF;MAAKC;IAAL,CAAD,EAA2BO,GAA3B,CAAxB;EACD;;EAED,OAAOX,iBAAiB,CAAC;IACvBG,CAAC,EAAEQ,GAAG,CAACG,KAAJ,GAAY,CADQ;IAEvBV,CAAC,EAAEO,GAAG,CAACI,MAAJ,GAAa;EAFO,CAAD,EAGLJ,GAHK,CAAxB;AAID"}
@@ -1,29 +1,32 @@
1
- import { createVNode as _createVNode } from "vue";
1
+ import { createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
2
+ // Styles
2
3
  import "./VPagination.css"; // Components
3
4
 
4
5
  import { VBtn } from "../VBtn/index.mjs"; // Composables
5
6
 
6
- import { makeTagProps } from "../../composables/tag.mjs";
7
- import { useLocale } from "../../composables/locale.mjs";
8
- import { useRtl } from "../../composables/rtl.mjs";
9
- import { makeElevationProps } from "../../composables/elevation.mjs";
7
+ import { IconValue } from "../../composables/icons.mjs";
8
+ import { makeBorderProps } from "../../composables/border.mjs";
10
9
  import { makeDensityProps } from "../../composables/density.mjs";
10
+ import { makeElevationProps } from "../../composables/elevation.mjs";
11
+ import { makeRoundedProps } from "../../composables/rounded.mjs";
11
12
  import { makeSizeProps } from "../../composables/size.mjs";
13
+ import { makeTagProps } from "../../composables/tag.mjs";
12
14
  import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
13
15
  import { makeVariantProps } from "../../composables/variant.mjs";
14
- import { useResizeObserver } from "../../composables/resizeObserver.mjs";
15
- import { makeBorderProps } from "../../composables/border.mjs";
16
- import { useRefs } from "../../composables/refs.mjs";
16
+ import { provideDefaults } from "../../composables/defaults.mjs";
17
+ import { useLocale } from "../../composables/locale.mjs";
17
18
  import { useProxiedModel } from "../../composables/proxiedModel.mjs";
18
- import { provideDefaults } from "../../composables/defaults.mjs"; // Utilities
19
+ import { useRefs } from "../../composables/refs.mjs";
20
+ import { useResizeObserver } from "../../composables/resizeObserver.mjs";
21
+ import { useRtl } from "../../composables/rtl.mjs"; // Utilities
19
22
 
20
23
  import { computed, nextTick, ref, toRef } from 'vue';
21
- import { createRange, defineComponent, keyValues } from "../../util/index.mjs"; // Types
24
+ import { createRange, defineComponent, keyValues, useRender } from "../../util/index.mjs"; // Types
22
25
 
23
- import { makeRoundedProps } from "../../composables/rounded.mjs";
24
26
  export const VPagination = defineComponent({
25
27
  name: 'VPagination',
26
28
  props: {
29
+ activeColor: String,
27
30
  start: {
28
31
  type: [Number, String],
29
32
  default: 1
@@ -40,19 +43,19 @@ export const VPagination = defineComponent({
40
43
  },
41
44
  totalVisible: [Number, String],
42
45
  firstIcon: {
43
- type: String,
46
+ type: IconValue,
44
47
  default: '$first'
45
48
  },
46
49
  prevIcon: {
47
- type: String,
50
+ type: IconValue,
48
51
  default: '$prev'
49
52
  },
50
53
  nextIcon: {
51
- type: String,
54
+ type: IconValue,
52
55
  default: '$next'
53
56
  },
54
57
  lastIcon: {
55
- type: String,
58
+ type: IconValue,
56
59
  default: '$last'
57
60
  },
58
61
  ariaLabel: {
@@ -88,10 +91,10 @@ export const VPagination = defineComponent({
88
91
  default: '...'
89
92
  },
90
93
  showFirstLastPage: Boolean,
91
- ...makeRoundedProps(),
92
94
  ...makeBorderProps(),
93
95
  ...makeDensityProps(),
94
96
  ...makeElevationProps(),
97
+ ...makeRoundedProps(),
95
98
  ...makeSizeProps(),
96
99
  ...makeTagProps({
97
100
  tag: 'nav'
@@ -140,40 +143,37 @@ export const VPagination = defineComponent({
140
143
  const firstItem = target.querySelector('.v-pagination__list > *');
141
144
  if (!firstItem) return;
142
145
  const totalWidth = contentRect.width;
143
- const itemWidth = firstItem.getBoundingClientRect().width + 10;
144
- maxButtons.value = Math.max(0, Math.floor((totalWidth - 96) / itemWidth));
146
+ const itemWidth = firstItem.getBoundingClientRect().width + parseFloat(getComputedStyle(firstItem).marginRight) * 2;
147
+ const minButtons = props.showFirstLastPage ? 5 : 3;
148
+ maxButtons.value = Math.max(0, Math.floor((totalWidth - itemWidth * minButtons) / itemWidth));
145
149
  });
146
150
  const length = computed(() => parseInt(props.length, 10));
147
151
  const start = computed(() => parseInt(props.start, 10));
148
152
  const totalVisible = computed(() => {
149
- var _props$totalVisible;
150
-
151
- if (props.totalVisible) return Math.min(parseInt((_props$totalVisible = props.totalVisible) != null ? _props$totalVisible : '', 10), length.value);else if (maxButtons.value >= 0) return maxButtons.value;
153
+ if (props.totalVisible) return parseInt(props.totalVisible, 10);else if (maxButtons.value >= 0) return maxButtons.value;
152
154
  return length.value;
153
155
  });
154
156
  const range = computed(() => {
155
- if (length.value <= 0) return [];
157
+ if (length.value <= 0 || isNaN(length.value) || length.value > Number.MAX_SAFE_INTEGER) return [];
158
+ if (totalVisible.value <= 1) return [page.value];
156
159
 
157
- if (totalVisible.value <= 3) {
158
- return [Math.min(Math.max(start.value, page.value), start.value + length.value)];
159
- }
160
-
161
- if (props.length <= totalVisible.value) {
160
+ if (length.value <= totalVisible.value) {
162
161
  return createRange(length.value, start.value);
163
162
  }
164
163
 
165
- const middle = Math.ceil(totalVisible.value / 2);
166
- const left = middle;
164
+ const even = totalVisible.value % 2 === 0;
165
+ const middle = even ? totalVisible.value / 2 : Math.floor(totalVisible.value / 2);
166
+ const left = even ? middle : middle + 1;
167
167
  const right = length.value - middle;
168
168
 
169
- if (page.value < left) {
170
- return [...createRange(Math.max(1, totalVisible.value - 2), start.value), props.ellipsis, length.value];
171
- } else if (page.value > right) {
172
- const rangeLength = totalVisible.value - 2;
169
+ if (left - page.value >= 0) {
170
+ return [...createRange(Math.max(1, totalVisible.value - 1), start.value), props.ellipsis, length.value];
171
+ } else if (page.value - right >= (even ? 1 : 0)) {
172
+ const rangeLength = totalVisible.value - 1;
173
173
  const rangeStart = length.value - rangeLength + start.value;
174
174
  return [start.value, props.ellipsis, ...createRange(rangeLength, rangeStart)];
175
175
  } else {
176
- const rangeLength = Math.max(1, totalVisible.value - 4);
176
+ const rangeLength = Math.max(1, totalVisible.value - 3);
177
177
  const rangeStart = rangeLength === 1 ? page.value : page.value - Math.ceil(rangeLength / 2) + start.value;
178
178
  return [start.value, props.ellipsis, ...createRange(rangeLength, rangeStart), props.ellipsis, length.value];
179
179
  }
@@ -190,7 +190,8 @@ export const VPagination = defineComponent({
190
190
  updateRef
191
191
  } = useRefs();
192
192
  provideDefaults({
193
- VBtn: {
193
+ VPaginationBtn: {
194
+ color: toRef(props, 'color'),
194
195
  border: toRef(props, 'border'),
195
196
  density: toRef(props, 'density'),
196
197
  size: toRef(props, 'size'),
@@ -224,7 +225,7 @@ export const VPagination = defineComponent({
224
225
  disabled: !!props.disabled || props.length < 2,
225
226
  elevation: props.elevation,
226
227
  rounded: props.rounded,
227
- color: isActive ? props.color : undefined,
228
+ color: isActive ? props.activeColor : props.color,
228
229
  ariaCurrent: isActive,
229
230
  ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, index + 1),
230
231
  onClick: e => setValue(e, item)
@@ -285,7 +286,7 @@ export const VPagination = defineComponent({
285
286
  }
286
287
  }
287
288
 
288
- return () => _createVNode(props.tag, {
289
+ useRender(() => _createVNode(props.tag, {
289
290
  "ref": resizeRef,
290
291
  "class": ['v-pagination', themeClasses.value],
291
292
  "role": "navigation",
@@ -296,27 +297,42 @@ export const VPagination = defineComponent({
296
297
  default: () => [_createVNode("ul", {
297
298
  "class": "v-pagination__list"
298
299
  }, [props.showFirstLastPage && _createVNode("li", {
300
+ "key": "first",
299
301
  "class": "v-pagination__first",
300
302
  "data-test": "v-pagination-first"
301
- }, [slots.first ? slots.first(controls.value.first) : _createVNode(VBtn, controls.value.first, null)]), _createVNode("li", {
303
+ }, [slots.first ? slots.first(controls.value.first) : _createVNode(VBtn, _mergeProps({
304
+ "_as": "VPaginationBtn"
305
+ }, controls.value.first), null)]), _createVNode("li", {
306
+ "key": "prev",
302
307
  "class": "v-pagination__prev",
303
308
  "data-test": "v-pagination-prev"
304
- }, [slots.prev ? slots.prev(controls.value.prev) : _createVNode(VBtn, controls.value.prev, null)]), items.value.map((item, index) => _createVNode("li", {
305
- "key": `${index}_${item.page}`,
309
+ }, [slots.prev ? slots.prev(controls.value.prev) : _createVNode(VBtn, _mergeProps({
310
+ "_as": "VPaginationBtn"
311
+ }, controls.value.prev), null)]), items.value.map((item, index) => _createVNode("li", {
312
+ "key": item.page,
306
313
  "class": ['v-pagination__item', {
307
314
  'v-pagination__item--is-active': item.isActive
308
315
  }],
309
316
  "data-test": "v-pagination-item"
310
- }, [slots.item ? slots.item(item) : _createVNode(VBtn, item.props, {
317
+ }, [slots.item ? slots.item(item) : _createVNode(VBtn, _mergeProps({
318
+ "_as": "VPaginationBtn"
319
+ }, item.props), {
311
320
  default: () => [item.page]
312
321
  })])), _createVNode("li", {
322
+ "key": "next",
313
323
  "class": "v-pagination__next",
314
324
  "data-test": "v-pagination-next"
315
- }, [slots.next ? slots.next(controls.value.next) : _createVNode(VBtn, controls.value.next, null)]), props.showFirstLastPage && _createVNode("li", {
325
+ }, [slots.next ? slots.next(controls.value.next) : _createVNode(VBtn, _mergeProps({
326
+ "_as": "VPaginationBtn"
327
+ }, controls.value.next), null)]), props.showFirstLastPage && _createVNode("li", {
328
+ "key": "last",
316
329
  "class": "v-pagination__last",
317
330
  "data-test": "v-pagination-last"
318
- }, [slots.last ? slots.last(controls.value.last) : _createVNode(VBtn, controls.value.last, null)])])]
319
- });
331
+ }, [slots.last ? slots.last(controls.value.last) : _createVNode(VBtn, _mergeProps({
332
+ "_as": "VPaginationBtn"
333
+ }, controls.value.last), null)])])]
334
+ }));
335
+ return {};
320
336
  }
321
337
 
322
338
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VPagination/VPagination.tsx"],"names":["VBtn","makeTagProps","useLocale","useRtl","makeElevationProps","makeDensityProps","makeSizeProps","makeThemeProps","provideTheme","makeVariantProps","useResizeObserver","makeBorderProps","useRefs","useProxiedModel","provideDefaults","computed","nextTick","ref","toRef","createRange","defineComponent","keyValues","makeRoundedProps","VPagination","name","props","start","type","Number","String","default","modelValue","disabled","Boolean","length","validator","val","totalVisible","firstIcon","prevIcon","nextIcon","lastIcon","ariaLabel","pageAriaLabel","currentPageAriaLabel","firstAriaLabel","previousAriaLabel","nextAriaLabel","lastAriaLabel","ellipsis","showFirstLastPage","tag","variant","emits","value","first","prev","next","last","setup","slots","emit","page","t","n","isRtl","themeClasses","maxButtons","undefined","scoped","resizeRef","entries","target","contentRect","firstItem","querySelector","totalWidth","width","itemWidth","getBoundingClientRect","Math","max","floor","parseInt","min","range","middle","ceil","left","right","rangeLength","rangeStart","setValue","e","event","preventDefault","refs","updateRef","border","density","size","items","map","item","index","isActive","icon","elevation","rounded","color","ariaCurrent","onClick","controls","prevDisabled","nextDisabled","ariaDisabled","updateFocus","currentIndex","$el","focus","onKeydown","key"],"mappings":"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","sourcesContent":["import './VPagination.sass'\n\n// Components\nimport { VBtn } from '../VBtn'\n\n// Composables\nimport { makeTagProps } from '@/composables/tag'\nimport { useLocale } from '@/composables/locale'\nimport { useRtl } from '@/composables/rtl'\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeDensityProps } from '@/composables/density'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeBorderProps } from '@/composables/border'\nimport { useRefs } from '@/composables/refs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { provideDefaults } from '@/composables/defaults'\n\n// Utilities\nimport { computed, nextTick, ref, toRef } from 'vue'\nimport { createRange, defineComponent, keyValues } from '@/util'\n\n// Types\nimport type { ComponentPublicInstance } from 'vue'\nimport { makeRoundedProps } from '@/composables/rounded'\n\nexport const VPagination = defineComponent({\n name: 'VPagination',\n\n props: {\n start: {\n type: [Number, String],\n default: 1,\n },\n modelValue: {\n type: Number,\n default: (props: any) => props.start,\n },\n disabled: Boolean,\n length: {\n type: [Number, String],\n default: 1,\n validator: (val: number) => val % 1 === 0,\n },\n totalVisible: [Number, String],\n firstIcon: {\n type: String,\n default: '$first',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n lastIcon: {\n type: String,\n default: '$last',\n },\n ariaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.root',\n },\n pageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.page',\n },\n currentPageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.currentPage',\n },\n firstAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.first',\n },\n previousAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.previous',\n },\n nextAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.next',\n },\n lastAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.last',\n },\n ellipsis: {\n type: String,\n default: '...',\n },\n showFirstLastPage: Boolean,\n\n ...makeRoundedProps(),\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n emits: {\n 'update:modelValue': (value: number) => true,\n first: (value: number) => true,\n prev: (value: number) => true,\n next: (value: number) => true,\n last: (value: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const page = useProxiedModel(props, 'modelValue')\n const { t, n } = useLocale()\n const { isRtl } = useRtl()\n const { themeClasses } = provideTheme(props)\n const maxButtons = ref(-1)\n\n provideDefaults(undefined, { scoped: true })\n\n const { resizeRef } = useResizeObserver((entries: ResizeObserverEntry[]) => {\n if (!entries.length) return\n\n const { target, contentRect } = entries[0]\n\n const firstItem = target.querySelector('.v-pagination__list > *')\n\n if (!firstItem) return\n\n const totalWidth = contentRect.width\n const itemWidth = firstItem.getBoundingClientRect().width + 10\n\n maxButtons.value = Math.max(0, Math.floor((totalWidth - 96) / itemWidth))\n })\n\n const length = computed(() => parseInt(props.length, 10))\n const start = computed(() => parseInt(props.start, 10))\n\n const totalVisible = computed(() => {\n if (props.totalVisible) return Math.min(parseInt(props.totalVisible ?? '', 10), length.value)\n else if (maxButtons.value >= 0) return maxButtons.value\n return length.value\n })\n\n const range = computed(() => {\n if (length.value <= 0) return []\n\n if (totalVisible.value <= 3) {\n return [Math.min(Math.max(start.value, page.value), start.value + length.value)]\n }\n\n if (props.length <= totalVisible.value) {\n return createRange(length.value, start.value)\n }\n\n const middle = Math.ceil(totalVisible.value / 2)\n const left = middle\n const right = length.value - middle\n\n if (page.value < left) {\n return [...createRange(Math.max(1, totalVisible.value - 2), start.value), props.ellipsis, length.value]\n } else if (page.value > right) {\n const rangeLength = totalVisible.value - 2\n const rangeStart = length.value - rangeLength + start.value\n return [start.value, props.ellipsis, ...createRange(rangeLength, rangeStart)]\n } else {\n const rangeLength = Math.max(1, totalVisible.value - 4)\n const rangeStart = rangeLength === 1 ? page.value : page.value - Math.ceil(rangeLength / 2) + start.value\n return [start.value, props.ellipsis, ...createRange(rangeLength, rangeStart), props.ellipsis, length.value]\n }\n })\n\n // TODO: 'first' | 'prev' | 'next' | 'last' does not work here?\n function setValue (e: Event, value: number, event?: any) {\n e.preventDefault()\n page.value = value\n event && emit(event, value)\n }\n\n const { refs, updateRef } = useRefs<ComponentPublicInstance>()\n\n provideDefaults({\n VBtn: {\n border: toRef(props, 'border'),\n density: toRef(props, 'density'),\n size: toRef(props, 'size'),\n variant: toRef(props, 'variant'),\n },\n })\n\n const items = computed(() => {\n return range.value.map((item, index) => {\n const ref = (e: any) => updateRef(e, index)\n\n if (typeof item === 'string') {\n return {\n isActive: false,\n page: item,\n props: {\n ref,\n ellipsis: true,\n icon: true,\n disabled: true,\n },\n }\n } else {\n const isActive = item === page.value\n return {\n isActive,\n page: n(item),\n props: {\n ref,\n ellipsis: false,\n icon: true,\n disabled: !!props.disabled || props.length < 2,\n elevation: props.elevation,\n rounded: props.rounded,\n color: isActive ? props.color : undefined,\n ariaCurrent: isActive,\n ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, index + 1),\n onClick: (e: Event) => setValue(e, item),\n },\n }\n }\n })\n })\n\n const controls = computed(() => {\n const prevDisabled = !!props.disabled || page.value <= start.value\n const nextDisabled = !!props.disabled || page.value >= start.value + length.value - 1\n\n return {\n first: props.showFirstLastPage ? {\n icon: isRtl.value ? props.lastIcon : props.firstIcon,\n onClick: (e: Event) => setValue(e, start.value, 'first'),\n disabled: prevDisabled,\n ariaLabel: t(props.firstAriaLabel),\n ariaDisabled: prevDisabled,\n } : undefined,\n prev: {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n onClick: (e: Event) => setValue(e, page.value - 1, 'prev'),\n disabled: prevDisabled,\n ariaLabel: t(props.previousAriaLabel),\n ariaDisabled: prevDisabled,\n },\n next: {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n onClick: (e: Event) => setValue(e, page.value + 1, 'next'),\n disabled: nextDisabled,\n ariaLabel: t(props.nextAriaLabel),\n ariaDisabled: nextDisabled,\n },\n last: props.showFirstLastPage ? {\n icon: isRtl.value ? props.firstIcon : props.lastIcon,\n onClick: (e: Event) => setValue(e, start.value + length.value - 1, 'last'),\n disabled: nextDisabled,\n ariaLabel: t(props.lastAriaLabel),\n ariaDisabled: nextDisabled,\n } : undefined,\n }\n })\n\n function updateFocus () {\n const currentIndex = page.value - start.value\n refs.value[currentIndex]?.$el.focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === keyValues.left && !props.disabled && page.value > props.start) {\n page.value = page.value - 1\n nextTick(updateFocus)\n } else if (e.key === keyValues.right && !props.disabled && page.value < start.value + length.value - 1) {\n page.value = page.value + 1\n nextTick(updateFocus)\n }\n }\n\n return () => (\n <props.tag\n ref={ resizeRef }\n class={[\n 'v-pagination',\n themeClasses.value,\n ]}\n role=\"navigation\"\n aria-label={ t(props.ariaLabel) }\n onKeydown={ onKeydown }\n data-test=\"v-pagination-root\"\n >\n <ul class=\"v-pagination__list\">\n { props.showFirstLastPage && (\n <li class=\"v-pagination__first\" data-test=\"v-pagination-first\">\n { slots.first ? slots.first(controls.value.first) : (\n <VBtn {...controls.value.first} />\n ) }\n </li>\n ) }\n\n <li class=\"v-pagination__prev\" data-test=\"v-pagination-prev\">\n { slots.prev ? slots.prev(controls.value.prev) : (\n <VBtn {...controls.value.prev} />\n ) }\n </li>\n\n { items.value.map((item, index) => (\n <li\n key={ `${index}_${item.page}` }\n class={[\n 'v-pagination__item',\n {\n 'v-pagination__item--is-active': item.isActive,\n },\n ]}\n data-test=\"v-pagination-item\"\n >\n { slots.item ? slots.item(item) : (\n <VBtn {...item.props}>{ item.page }</VBtn>\n ) }\n </li>\n )) }\n\n <li class=\"v-pagination__next\" data-test=\"v-pagination-next\">\n { slots.next ? slots.next(controls.value.next) : (\n <VBtn {...controls.value.next} />\n ) }\n </li>\n\n { props.showFirstLastPage && (\n <li class=\"v-pagination__last\" data-test=\"v-pagination-last\">\n { slots.last ? slots.last(controls.value.last) : (\n <VBtn {...controls.value.last} />\n ) }\n </li>\n ) }\n </ul>\n </props.tag>\n )\n },\n})\n\nexport type VPagination = InstanceType<typeof VPagination>\n"],"file":"VPagination.mjs"}
1
+ {"version":3,"file":"VPagination.mjs","names":["VBtn","IconValue","makeBorderProps","makeDensityProps","makeElevationProps","makeRoundedProps","makeSizeProps","makeTagProps","makeThemeProps","provideTheme","makeVariantProps","provideDefaults","useLocale","useProxiedModel","useRefs","useResizeObserver","useRtl","computed","nextTick","ref","toRef","createRange","defineComponent","keyValues","useRender","VPagination","name","props","activeColor","String","start","type","Number","default","modelValue","disabled","Boolean","length","validator","val","totalVisible","firstIcon","prevIcon","nextIcon","lastIcon","ariaLabel","pageAriaLabel","currentPageAriaLabel","firstAriaLabel","previousAriaLabel","nextAriaLabel","lastAriaLabel","ellipsis","showFirstLastPage","tag","variant","emits","value","first","prev","next","last","setup","slots","emit","page","t","n","isRtl","themeClasses","maxButtons","undefined","scoped","resizeRef","entries","target","contentRect","firstItem","querySelector","totalWidth","width","itemWidth","getBoundingClientRect","parseFloat","getComputedStyle","marginRight","minButtons","Math","max","floor","parseInt","range","isNaN","MAX_SAFE_INTEGER","even","middle","left","right","rangeLength","rangeStart","ceil","setValue","e","event","preventDefault","refs","updateRef","VPaginationBtn","color","border","density","size","items","map","item","index","isActive","icon","elevation","rounded","ariaCurrent","onClick","controls","prevDisabled","nextDisabled","ariaDisabled","updateFocus","currentIndex","$el","focus","onKeydown","key"],"sources":["../../../src/components/VPagination/VPagination.tsx"],"sourcesContent":["// Styles\nimport './VPagination.sass'\n\n// Components\nimport { VBtn } from '../VBtn'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeBorderProps } from '@/composables/border'\nimport { makeDensityProps } from '@/composables/density'\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeRoundedProps } from '@/composables/rounded'\nimport { makeSizeProps } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeVariantProps } from '@/composables/variant'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRefs } from '@/composables/refs'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { useRtl } from '@/composables/rtl'\n\n// Utilities\nimport { computed, nextTick, ref, toRef } from 'vue'\nimport { createRange, defineComponent, keyValues, useRender } from '@/util'\n\n// Types\nimport type { ComponentPublicInstance } from 'vue'\n\nexport const VPagination = defineComponent({\n name: 'VPagination',\n\n props: {\n activeColor: String,\n start: {\n type: [Number, String],\n default: 1,\n },\n modelValue: {\n type: Number,\n default: (props: any) => props.start,\n },\n disabled: Boolean,\n length: {\n type: [Number, String],\n default: 1,\n validator: (val: number) => val % 1 === 0,\n },\n totalVisible: [Number, String],\n firstIcon: {\n type: IconValue,\n default: '$first',\n },\n prevIcon: {\n type: IconValue,\n default: '$prev',\n },\n nextIcon: {\n type: IconValue,\n default: '$next',\n },\n lastIcon: {\n type: IconValue,\n default: '$last',\n },\n ariaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.root',\n },\n pageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.page',\n },\n currentPageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.currentPage',\n },\n firstAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.first',\n },\n previousAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.previous',\n },\n nextAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.next',\n },\n lastAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.last',\n },\n ellipsis: {\n type: String,\n default: '...',\n },\n showFirstLastPage: Boolean,\n\n ...makeBorderProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeTagProps({ tag: 'nav' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'text' } as const),\n },\n\n emits: {\n 'update:modelValue': (value: number) => true,\n first: (value: number) => true,\n prev: (value: number) => true,\n next: (value: number) => true,\n last: (value: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const page = useProxiedModel(props, 'modelValue')\n const { t, n } = useLocale()\n const { isRtl } = useRtl()\n const { themeClasses } = provideTheme(props)\n const maxButtons = ref(-1)\n\n provideDefaults(undefined, { scoped: true })\n\n const { resizeRef } = useResizeObserver((entries: ResizeObserverEntry[]) => {\n if (!entries.length) return\n\n const { target, contentRect } = entries[0]\n\n const firstItem = target.querySelector('.v-pagination__list > *')\n\n if (!firstItem) return\n\n const totalWidth = contentRect.width\n const itemWidth =\n firstItem.getBoundingClientRect().width +\n parseFloat(getComputedStyle(firstItem).marginRight) * 2\n const minButtons = props.showFirstLastPage ? 5 : 3\n\n maxButtons.value = Math.max(0, Math.floor((totalWidth - itemWidth * minButtons) / itemWidth))\n })\n\n const length = computed(() => parseInt(props.length, 10))\n const start = computed(() => parseInt(props.start, 10))\n\n const totalVisible = computed(() => {\n if (props.totalVisible) return parseInt(props.totalVisible, 10)\n else if (maxButtons.value >= 0) return maxButtons.value\n return length.value\n })\n\n const range = computed(() => {\n if (length.value <= 0 || isNaN(length.value) || length.value > Number.MAX_SAFE_INTEGER) return []\n\n if (totalVisible.value <= 1) return [page.value]\n\n if (length.value <= totalVisible.value) {\n return createRange(length.value, start.value)\n }\n\n const even = totalVisible.value % 2 === 0\n const middle = even ? totalVisible.value / 2 : Math.floor(totalVisible.value / 2)\n const left = even ? middle : middle + 1\n const right = length.value - middle\n\n if (left - page.value >= 0) {\n return [...createRange(Math.max(1, totalVisible.value - 1), start.value), props.ellipsis, length.value]\n } else if (page.value - right >= (even ? 1 : 0)) {\n const rangeLength = totalVisible.value - 1\n const rangeStart = length.value - rangeLength + start.value\n return [start.value, props.ellipsis, ...createRange(rangeLength, rangeStart)]\n } else {\n const rangeLength = Math.max(1, totalVisible.value - 3)\n const rangeStart = rangeLength === 1 ? page.value : page.value - Math.ceil(rangeLength / 2) + start.value\n return [start.value, props.ellipsis, ...createRange(rangeLength, rangeStart), props.ellipsis, length.value]\n }\n })\n\n // TODO: 'first' | 'prev' | 'next' | 'last' does not work here?\n function setValue (e: Event, value: number, event?: any) {\n e.preventDefault()\n page.value = value\n event && emit(event, value)\n }\n\n const { refs, updateRef } = useRefs<ComponentPublicInstance>()\n\n provideDefaults({\n VPaginationBtn: {\n color: toRef(props, 'color'),\n border: toRef(props, 'border'),\n density: toRef(props, 'density'),\n size: toRef(props, 'size'),\n variant: toRef(props, 'variant'),\n },\n })\n\n const items = computed(() => {\n return range.value.map((item, index) => {\n const ref = (e: any) => updateRef(e, index)\n\n if (typeof item === 'string') {\n return {\n isActive: false,\n page: item,\n props: {\n ref,\n ellipsis: true,\n icon: true,\n disabled: true,\n },\n }\n } else {\n const isActive = item === page.value\n return {\n isActive,\n page: n(item),\n props: {\n ref,\n ellipsis: false,\n icon: true,\n disabled: !!props.disabled || props.length < 2,\n elevation: props.elevation,\n rounded: props.rounded,\n color: isActive ? props.activeColor : props.color,\n ariaCurrent: isActive,\n ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, index + 1),\n onClick: (e: Event) => setValue(e, item),\n },\n }\n }\n })\n })\n\n const controls = computed(() => {\n const prevDisabled = !!props.disabled || page.value <= start.value\n const nextDisabled = !!props.disabled || page.value >= start.value + length.value - 1\n\n return {\n first: props.showFirstLastPage ? {\n icon: isRtl.value ? props.lastIcon : props.firstIcon,\n onClick: (e: Event) => setValue(e, start.value, 'first'),\n disabled: prevDisabled,\n ariaLabel: t(props.firstAriaLabel),\n ariaDisabled: prevDisabled,\n } : undefined,\n prev: {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n onClick: (e: Event) => setValue(e, page.value - 1, 'prev'),\n disabled: prevDisabled,\n ariaLabel: t(props.previousAriaLabel),\n ariaDisabled: prevDisabled,\n },\n next: {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n onClick: (e: Event) => setValue(e, page.value + 1, 'next'),\n disabled: nextDisabled,\n ariaLabel: t(props.nextAriaLabel),\n ariaDisabled: nextDisabled,\n },\n last: props.showFirstLastPage ? {\n icon: isRtl.value ? props.firstIcon : props.lastIcon,\n onClick: (e: Event) => setValue(e, start.value + length.value - 1, 'last'),\n disabled: nextDisabled,\n ariaLabel: t(props.lastAriaLabel),\n ariaDisabled: nextDisabled,\n } : undefined,\n }\n })\n\n function updateFocus () {\n const currentIndex = page.value - start.value\n refs.value[currentIndex]?.$el.focus()\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key === keyValues.left && !props.disabled && page.value > props.start) {\n page.value = page.value - 1\n nextTick(updateFocus)\n } else if (e.key === keyValues.right && !props.disabled && page.value < start.value + length.value - 1) {\n page.value = page.value + 1\n nextTick(updateFocus)\n }\n }\n\n useRender(() => (\n <props.tag\n ref={ resizeRef }\n class={[\n 'v-pagination',\n themeClasses.value,\n ]}\n role=\"navigation\"\n aria-label={ t(props.ariaLabel) }\n onKeydown={ onKeydown }\n data-test=\"v-pagination-root\"\n >\n <ul class=\"v-pagination__list\">\n { props.showFirstLastPage && (\n <li key=\"first\" class=\"v-pagination__first\" data-test=\"v-pagination-first\">\n { slots.first ? slots.first(controls.value.first) : (\n <VBtn _as=\"VPaginationBtn\" {...controls.value.first} />\n ) }\n </li>\n ) }\n\n <li key=\"prev\" class=\"v-pagination__prev\" data-test=\"v-pagination-prev\">\n { slots.prev ? slots.prev(controls.value.prev) : (\n <VBtn _as=\"VPaginationBtn\" {...controls.value.prev} />\n ) }\n </li>\n\n { items.value.map((item, index) => (\n <li\n key={ item.page }\n class={[\n 'v-pagination__item',\n {\n 'v-pagination__item--is-active': item.isActive,\n },\n ]}\n data-test=\"v-pagination-item\"\n >\n { slots.item ? slots.item(item) : (\n <VBtn _as=\"VPaginationBtn\" {...item.props}>{ item.page }</VBtn>\n ) }\n </li>\n )) }\n\n <li\n key=\"next\"\n class=\"v-pagination__next\"\n data-test=\"v-pagination-next\"\n >\n { slots.next ? slots.next(controls.value.next) : (\n <VBtn _as=\"VPaginationBtn\" {...controls.value.next} />\n ) }\n </li>\n\n { props.showFirstLastPage && (\n <li\n key=\"last\"\n class=\"v-pagination__last\"\n data-test=\"v-pagination-last\"\n >\n { slots.last ? slots.last(controls.value.last) : (\n <VBtn _as=\"VPaginationBtn\" {...controls.value.last} />\n ) }\n </li>\n ) }\n </ul>\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VPagination = InstanceType<typeof VPagination>\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- @forward './variables'
2
1
  @use './variables' as *
3
2
 
4
3
  .v-pagination
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VPagination/index.ts"],"names":["VPagination"],"mappings":"SAASA,W","sourcesContent":["export { VPagination } from './VPagination'\n"],"file":"index.mjs"}
1
+ {"version":3,"file":"index.mjs","names":["VPagination"],"sources":["../../../src/components/VPagination/index.ts"],"sourcesContent":["export { VPagination } from './VPagination'\n"],"mappings":"SAASA,W"}