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

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 (986) hide show
  1. package/CHANGELOG.md +13 -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 +898 -526
  7. package/dist/json/importMap.json +156 -180
  8. package/dist/json/tags.json +221 -147
  9. package/dist/json/web-types.json +2698 -1609
  10. package/dist/vuetify.css +4126 -4566
  11. package/dist/vuetify.d.ts +13705 -11374
  12. package/dist/vuetify.esm.js +11107 -9293
  13. package/dist/vuetify.esm.js.map +1 -1
  14. package/dist/vuetify.js +11015 -9200
  15. package/dist/vuetify.js.map +1 -1
  16. package/dist/vuetify.min.css +3 -3
  17. package/dist/vuetify.min.js +1375 -1254
  18. package/dist/vuetify.min.js.map +1 -1
  19. package/lib/blueprints/index.d.ts +171 -0
  20. package/lib/blueprints/index.mjs +4 -0
  21. package/lib/blueprints/index.mjs.map +1 -0
  22. package/lib/blueprints/md1.d.ts +167 -0
  23. package/lib/blueprints/md1.mjs +63 -0
  24. package/lib/blueprints/md1.mjs.map +1 -0
  25. package/lib/blueprints/md2.d.ts +167 -0
  26. package/lib/blueprints/md2.mjs +60 -0
  27. package/lib/blueprints/md2.mjs.map +1 -0
  28. package/lib/blueprints/md3.d.ts +167 -0
  29. package/lib/blueprints/md3.mjs +74 -0
  30. package/lib/blueprints/md3.mjs.map +1 -0
  31. package/lib/components/VAlert/VAlert.css +36 -19
  32. package/lib/components/VAlert/VAlert.mjs +69 -40
  33. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  34. package/lib/components/VAlert/VAlert.sass +26 -11
  35. package/lib/components/VAlert/VAlertTitle.mjs +1 -0
  36. package/lib/components/VAlert/VAlertTitle.mjs.map +1 -1
  37. package/lib/components/VAlert/_variables.scss +14 -7
  38. package/lib/components/VAlert/index.d.ts +185 -0
  39. package/lib/components/VAlert/index.mjs.map +1 -1
  40. package/lib/components/VApp/VApp.css +2 -15
  41. package/lib/components/VApp/VApp.mjs +3 -4
  42. package/lib/components/VApp/VApp.mjs.map +1 -1
  43. package/lib/components/VApp/VApp.sass +11 -20
  44. package/lib/components/VApp/index.d.ts +83 -0
  45. package/lib/components/VApp/index.mjs.map +1 -1
  46. package/lib/components/VApp/variables.scss +6 -0
  47. package/lib/components/VAppBar/VAppBar.css +4 -1
  48. package/lib/components/VAppBar/VAppBar.mjs +15 -10
  49. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  50. package/lib/components/VAppBar/VAppBar.sass +3 -1
  51. package/lib/components/VAppBar/VAppBarNavIcon.mjs +11 -14
  52. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  53. package/lib/components/VAppBar/VAppBarTitle.mjs +7 -4
  54. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  55. package/lib/components/VAppBar/_variables.scss +2 -0
  56. package/lib/components/VAppBar/index.d.ts +156 -0
  57. package/lib/components/VAppBar/index.mjs.map +1 -1
  58. package/lib/components/VAutocomplete/VAutocomplete.css +11 -1
  59. package/lib/components/VAutocomplete/VAutocomplete.mjs +142 -105
  60. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  61. package/lib/components/VAutocomplete/VAutocomplete.sass +10 -2
  62. package/lib/components/VAutocomplete/_variables.scss +1 -0
  63. package/lib/components/VAutocomplete/index.d.ts +1569 -0
  64. package/lib/components/VAutocomplete/index.mjs.map +1 -1
  65. package/lib/components/VAvatar/VAvatar.css +48 -3
  66. package/lib/components/VAvatar/VAvatar.mjs +29 -23
  67. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  68. package/lib/components/VAvatar/VAvatar.sass +10 -3
  69. package/lib/components/VAvatar/_mixins.scss +0 -1
  70. package/lib/components/VAvatar/_variables.scss +9 -4
  71. package/lib/components/VAvatar/index.d.ts +80 -0
  72. package/lib/components/VAvatar/index.mjs.map +1 -1
  73. package/lib/components/VBadge/VBadge.css +3 -6
  74. package/lib/components/VBadge/VBadge.mjs +20 -49
  75. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  76. package/lib/components/VBadge/VBadge.sass +2 -5
  77. package/lib/components/VBadge/_variables.scss +3 -4
  78. package/lib/components/VBadge/index.d.ts +123 -0
  79. package/lib/components/VBadge/index.mjs.map +1 -1
  80. package/lib/components/VBanner/VBanner.css +81 -57
  81. package/lib/components/VBanner/VBanner.mjs +45 -37
  82. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  83. package/lib/components/VBanner/VBanner.sass +60 -55
  84. package/lib/components/VBanner/VBannerActions.mjs +34 -2
  85. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  86. package/lib/components/VBanner/VBannerText.mjs.map +1 -1
  87. package/lib/components/VBanner/_variables.scss +10 -14
  88. package/lib/components/VBanner/index.d.ts +122 -0
  89. package/lib/components/VBanner/index.mjs.map +1 -1
  90. package/lib/components/VBottomNavigation/VBottomNavigation.css +6 -13
  91. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +5 -4
  92. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  93. package/lib/components/VBottomNavigation/VBottomNavigation.sass +6 -14
  94. package/lib/components/VBottomNavigation/_variables.scss +7 -8
  95. package/lib/components/VBottomNavigation/index.d.ts +143 -0
  96. package/lib/components/VBottomNavigation/index.mjs.map +1 -1
  97. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  98. package/lib/components/VBottomSheet/index.mjs.map +1 -1
  99. package/lib/components/VBreadcrumbs/VBreadcrumbs.css +13 -6
  100. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +35 -21
  101. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  102. package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +8 -4
  103. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  104. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +15 -17
  105. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  106. package/lib/components/VBreadcrumbs/_variables.scss +2 -1
  107. package/lib/components/VBreadcrumbs/index.d.ts +301 -0
  108. package/lib/components/VBreadcrumbs/index.mjs.map +1 -1
  109. package/lib/components/VBtn/VBtn.css +141 -28
  110. package/lib/components/VBtn/VBtn.mjs +109 -34
  111. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  112. package/lib/components/VBtn/VBtn.sass +119 -16
  113. package/lib/components/VBtn/_variables.scss +10 -1
  114. package/lib/components/VBtn/index.d.ts +210 -0
  115. package/lib/components/VBtn/index.mjs.map +1 -1
  116. package/lib/components/VBtnGroup/VBtnGroup.css +16 -7
  117. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  118. package/lib/components/VBtnGroup/VBtnGroup.sass +14 -7
  119. package/lib/components/VBtnGroup/_variables.scss +2 -0
  120. package/lib/components/VBtnGroup/index.d.ts +65 -0
  121. package/lib/components/VBtnGroup/index.mjs.map +1 -1
  122. package/lib/components/VBtnToggle/VBtnToggle.mjs +1 -3
  123. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  124. package/lib/components/VBtnToggle/VBtnToggle.sass +0 -1
  125. package/lib/components/VBtnToggle/_variables.scss +1 -0
  126. package/lib/components/VBtnToggle/index.d.ts +175 -0
  127. package/lib/components/VBtnToggle/index.mjs.map +1 -1
  128. package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
  129. package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
  130. package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
  131. package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
  132. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
  133. package/lib/components/VCalendar/index.mjs.map +1 -1
  134. package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
  135. package/lib/components/VCalendar/mixins/calendar-with-events.mjs +2 -6
  136. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
  137. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
  138. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  139. package/lib/components/VCalendar/mixins/times.mjs.map +1 -1
  140. package/lib/components/VCalendar/modes/column.mjs.map +1 -1
  141. package/lib/components/VCalendar/modes/common.mjs.map +1 -1
  142. package/lib/components/VCalendar/modes/index.mjs.map +1 -1
  143. package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
  144. package/lib/components/VCalendar/util/events.mjs.map +1 -1
  145. package/lib/components/VCalendar/util/parser.mjs.map +1 -1
  146. package/lib/components/VCalendar/util/props.mjs.map +1 -1
  147. package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
  148. package/lib/components/VCard/VCard.css +108 -84
  149. package/lib/components/VCard/VCard.mjs +72 -73
  150. package/lib/components/VCard/VCard.mjs.map +1 -1
  151. package/lib/components/VCard/VCard.sass +76 -61
  152. package/lib/components/VCard/VCardActions.mjs +2 -3
  153. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  154. package/lib/components/VCard/VCardItem.mjs +88 -0
  155. package/lib/components/VCard/VCardItem.mjs.map +1 -0
  156. package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
  157. package/lib/components/VCard/VCardText.mjs.map +1 -1
  158. package/lib/components/VCard/VCardTitle.mjs.map +1 -1
  159. package/lib/components/VCard/_variables.scss +45 -23
  160. package/lib/components/VCard/index.d.ts +230 -0
  161. package/lib/components/VCard/index.mjs +1 -4
  162. package/lib/components/VCard/index.mjs.map +1 -1
  163. package/lib/components/VCarousel/VCarousel.mjs +9 -7
  164. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  165. package/lib/components/VCarousel/VCarousel.sass +0 -1
  166. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  167. package/lib/components/VCarousel/_variables.scss +1 -0
  168. package/lib/components/VCarousel/index.d.ts +80 -0
  169. package/lib/components/VCarousel/index.mjs.map +1 -1
  170. package/lib/components/VCheckbox/VCheckbox.mjs +15 -47
  171. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  172. package/lib/components/VCheckbox/VCheckbox.sass +0 -1
  173. package/lib/components/VCheckbox/VCheckboxBtn.mjs +67 -0
  174. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -0
  175. package/lib/components/VCheckbox/index.d.ts +291 -0
  176. package/lib/components/VCheckbox/index.mjs +1 -0
  177. package/lib/components/VCheckbox/index.mjs.map +1 -1
  178. package/lib/components/VChip/VChip.css +147 -68
  179. package/lib/components/VChip/VChip.mjs +83 -43
  180. package/lib/components/VChip/VChip.mjs.map +1 -1
  181. package/lib/components/VChip/VChip.sass +9 -1
  182. package/lib/components/VChip/_mixins.scss +26 -6
  183. package/lib/components/VChip/_variables.scss +4 -5
  184. package/lib/components/VChip/index.d.ts +195 -0
  185. package/lib/components/VChip/index.mjs.map +1 -1
  186. package/lib/components/VChipGroup/VChipGroup.mjs +5 -4
  187. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  188. package/lib/components/VChipGroup/VChipGroup.sass +1 -1
  189. package/lib/components/VChipGroup/_variables.scss +1 -1
  190. package/lib/components/VChipGroup/index.d.ts +89 -0
  191. package/lib/components/VChipGroup/index.mjs.map +1 -1
  192. package/lib/components/VCode/VCode.sass +1 -2
  193. package/lib/components/VCode/_variables.scss +1 -1
  194. package/lib/components/VCode/index.d.ts +19 -0
  195. package/lib/components/VCode/index.mjs.map +1 -1
  196. package/lib/components/VColorPicker/VColorPicker.css +3 -3
  197. package/lib/components/VColorPicker/VColorPicker.mjs +55 -53
  198. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  199. package/lib/components/VColorPicker/VColorPicker.sass +0 -1
  200. package/lib/components/VColorPicker/VColorPickerCanvas.css +1 -1
  201. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +10 -9
  202. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  203. package/lib/components/VColorPicker/VColorPickerCanvas.sass +0 -1
  204. package/lib/components/VColorPicker/VColorPickerEdit.mjs +4 -3
  205. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  206. package/lib/components/VColorPicker/VColorPickerEdit.sass +0 -1
  207. package/lib/components/VColorPicker/VColorPickerPreview.mjs +14 -21
  208. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  209. package/lib/components/VColorPicker/VColorPickerPreview.sass +0 -1
  210. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +6 -5
  211. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  212. package/lib/components/VColorPicker/VColorPickerSwatches.sass +0 -1
  213. package/lib/components/VColorPicker/_variables.scss +17 -10
  214. package/lib/components/VColorPicker/index.d.ts +116 -0
  215. package/lib/components/VColorPicker/index.mjs.map +1 -1
  216. package/lib/components/VColorPicker/util/index.mjs +1 -3
  217. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  218. package/lib/components/VCombobox/VCombobox.css +11 -1
  219. package/lib/components/VCombobox/VCombobox.mjs +145 -116
  220. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  221. package/lib/components/VCombobox/VCombobox.sass +10 -2
  222. package/lib/components/VCombobox/_variables.scss +1 -0
  223. package/lib/components/VCombobox/index.d.ts +1590 -0
  224. package/lib/components/VCombobox/index.mjs.map +1 -1
  225. package/lib/components/VCounter/VCounter.mjs +16 -16
  226. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  227. package/lib/components/VCounter/VCounter.sass +1 -2
  228. package/lib/components/VCounter/_variables.scss +2 -1
  229. package/lib/components/VCounter/index.d.ts +223 -0
  230. package/lib/components/VCounter/index.mjs.map +1 -1
  231. package/lib/components/VData/VData.mjs.map +1 -1
  232. package/lib/components/VData/index.mjs.map +1 -1
  233. package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
  234. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  235. package/lib/components/VDataIterator/index.mjs.map +1 -1
  236. package/lib/components/VDataTable/MobileRow.mjs.map +1 -1
  237. package/lib/components/VDataTable/Row.mjs.map +1 -1
  238. package/lib/components/VDataTable/RowGroup.mjs.map +1 -1
  239. package/lib/components/VDataTable/VDataTable.mjs +11 -15
  240. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  241. package/lib/components/VDataTable/VDataTableHeader.mjs.map +1 -1
  242. package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs.map +1 -1
  243. package/lib/components/VDataTable/VDataTableHeaderMobile.mjs.map +1 -1
  244. package/lib/components/VDataTable/VEditDialog.mjs.map +1 -1
  245. package/lib/components/VDataTable/VVirtualTable.mjs.map +1 -1
  246. package/lib/components/VDataTable/index.mjs.map +1 -1
  247. package/lib/components/VDataTable/mixins/header.mjs +1 -3
  248. package/lib/components/VDataTable/mixins/header.mjs.map +1 -1
  249. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  250. package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
  251. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  252. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
  253. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
  254. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  255. package/lib/components/VDatePicker/index.mjs.map +1 -1
  256. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
  257. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  258. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  259. package/lib/components/VDatePicker/util/index.mjs.map +1 -1
  260. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
  261. package/lib/components/VDatePicker/util/monthChange.mjs.map +1 -1
  262. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  263. package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +1 -1
  264. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  265. package/lib/components/VDefaultsProvider/index.d.ts +26 -0
  266. package/lib/components/VDefaultsProvider/index.mjs.map +1 -1
  267. package/lib/components/VDialog/VDialog.css +36 -17
  268. package/lib/components/VDialog/VDialog.mjs +46 -38
  269. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  270. package/lib/components/VDialog/VDialog.sass +30 -15
  271. package/lib/components/VDialog/_variables.scss +3 -8
  272. package/lib/components/VDialog/index.d.ts +859 -0
  273. package/lib/components/VDialog/index.mjs.map +1 -1
  274. package/lib/components/VDivider/VDivider.mjs +16 -17
  275. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  276. package/lib/components/VDivider/VDivider.sass +0 -1
  277. package/lib/components/VDivider/_variables.scss +3 -1
  278. package/lib/components/VDivider/index.d.ts +22 -0
  279. package/lib/components/VDivider/index.mjs.map +1 -1
  280. package/lib/components/VExpansionPanel/VExpansionPanel.css +15 -7
  281. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +15 -6
  282. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  283. package/lib/components/VExpansionPanel/VExpansionPanel.sass +1 -1
  284. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  285. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +14 -11
  286. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  287. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +4 -0
  288. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  289. package/lib/components/VExpansionPanel/_variables.scss +15 -10
  290. package/lib/components/VExpansionPanel/index.d.ts +206 -0
  291. package/lib/components/VExpansionPanel/index.mjs.map +1 -1
  292. package/lib/components/VField/VField.css +63 -41
  293. package/lib/components/VField/VField.mjs +52 -36
  294. package/lib/components/VField/VField.mjs.map +1 -1
  295. package/lib/components/VField/VField.sass +49 -35
  296. package/lib/components/VField/VFieldLabel.mjs +8 -9
  297. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  298. package/lib/components/VField/_variables.scss +6 -5
  299. package/lib/components/VField/index.d.ts +332 -0
  300. package/lib/components/VField/index.mjs.map +1 -1
  301. package/lib/components/VFileInput/VFileInput.css +3 -3
  302. package/lib/components/VFileInput/VFileInput.mjs +48 -47
  303. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  304. package/lib/components/VFileInput/VFileInput.sass +3 -4
  305. package/lib/components/VFileInput/index.d.ts +236 -0
  306. package/lib/components/VFileInput/index.mjs.map +1 -1
  307. package/lib/components/VFooter/VFooter.css +8 -1
  308. package/lib/components/VFooter/VFooter.mjs +36 -18
  309. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  310. package/lib/components/VFooter/VFooter.sass +1 -2
  311. package/lib/components/VFooter/_variables.scss +13 -1
  312. package/lib/components/VFooter/index.d.ts +76 -0
  313. package/lib/components/VFooter/index.mjs.map +1 -1
  314. package/lib/components/VForm/VForm.mjs +27 -13
  315. package/lib/components/VForm/VForm.mjs.map +1 -1
  316. package/lib/components/VForm/index.d.ts +72 -0
  317. package/lib/components/VForm/index.mjs.map +1 -1
  318. package/lib/components/VGrid/VCol.mjs +2 -1
  319. package/lib/components/VGrid/VCol.mjs.map +1 -1
  320. package/lib/components/VGrid/VContainer.mjs +4 -3
  321. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  322. package/lib/components/VGrid/VRow.mjs +8 -3
  323. package/lib/components/VGrid/VRow.mjs.map +1 -1
  324. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  325. package/lib/components/VGrid/index.d.ts +154 -0
  326. package/lib/components/VGrid/index.mjs.map +1 -1
  327. package/lib/components/VHover/VHover.mjs.map +1 -1
  328. package/lib/components/VHover/index.d.ts +30 -0
  329. package/lib/components/VHover/index.mjs.map +1 -1
  330. package/lib/components/VIcon/VIcon.css +13 -16
  331. package/lib/components/VIcon/VIcon.mjs +34 -33
  332. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  333. package/lib/components/VIcon/VIcon.sass +8 -16
  334. package/lib/components/VIcon/_variables.scss +2 -5
  335. package/lib/components/VIcon/index.d.ts +124 -0
  336. package/lib/components/VIcon/index.mjs.map +1 -1
  337. package/lib/components/VImg/VImg.mjs +29 -26
  338. package/lib/components/VImg/VImg.mjs.map +1 -1
  339. package/lib/components/VImg/VImg.sass +0 -1
  340. package/lib/components/VImg/index.d.ts +89 -0
  341. package/lib/components/VImg/index.mjs.map +1 -1
  342. package/lib/components/VInput/InputIcon.mjs +33 -0
  343. package/lib/components/VInput/InputIcon.mjs.map +1 -0
  344. package/lib/components/VInput/VInput.css +5 -2
  345. package/lib/components/VInput/VInput.mjs +26 -18
  346. package/lib/components/VInput/VInput.mjs.map +1 -1
  347. package/lib/components/VInput/VInput.sass +5 -3
  348. package/lib/components/VInput/_variables.scss +4 -1
  349. package/lib/components/VInput/index.d.ts +325 -0
  350. package/lib/components/VInput/index.mjs.map +1 -1
  351. package/lib/components/VItemGroup/VItem.mjs +3 -0
  352. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  353. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  354. package/lib/components/VItemGroup/VItemGroup.sass +0 -1
  355. package/lib/components/VItemGroup/index.d.ts +210 -0
  356. package/lib/components/VItemGroup/index.mjs.map +1 -1
  357. package/lib/components/VKbd/VKbd.css +1 -1
  358. package/lib/components/VKbd/VKbd.sass +0 -1
  359. package/lib/components/VKbd/_variables.scss +1 -1
  360. package/lib/components/VKbd/index.d.ts +19 -0
  361. package/lib/components/VKbd/index.mjs.map +1 -1
  362. package/lib/components/VLabel/VLabel.css +4 -1
  363. package/lib/components/VLabel/VLabel.mjs +8 -4
  364. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  365. package/lib/components/VLabel/VLabel.sass +3 -2
  366. package/lib/components/VLabel/_variables.scss +1 -0
  367. package/lib/components/VLabel/index.d.ts +16 -0
  368. package/lib/components/VLabel/index.mjs.map +1 -1
  369. package/lib/components/VLayout/VLayout.css +0 -2
  370. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  371. package/lib/components/VLayout/VLayout.sass +0 -2
  372. package/lib/components/VLayout/VLayoutItem.mjs +1 -1
  373. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  374. package/lib/components/VLayout/index.d.ts +75 -0
  375. package/lib/components/VLayout/index.mjs.map +1 -1
  376. package/lib/components/VLazy/VLazy.mjs +5 -3
  377. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  378. package/lib/components/VLazy/index.d.ts +85 -0
  379. package/lib/components/VLazy/index.mjs.map +1 -1
  380. package/lib/components/VList/VList.css +14 -16
  381. package/lib/components/VList/VList.mjs +92 -59
  382. package/lib/components/VList/VList.mjs.map +1 -1
  383. package/lib/components/VList/VList.sass +9 -6
  384. package/lib/components/VList/VListChildren.mjs +69 -13
  385. package/lib/components/VList/VListChildren.mjs.map +1 -1
  386. package/lib/components/VList/VListGroup.mjs +52 -19
  387. package/lib/components/VList/VListGroup.mjs.map +1 -1
  388. package/lib/components/VList/VListImg.mjs.map +1 -1
  389. package/lib/components/VList/VListItem.css +181 -73
  390. package/lib/components/VList/VListItem.mjs +124 -82
  391. package/lib/components/VList/VListItem.mjs.map +1 -1
  392. package/lib/components/VList/VListItem.sass +125 -49
  393. package/lib/components/VList/VListItemAction.mjs +28 -0
  394. package/lib/components/VList/VListItemAction.mjs.map +1 -0
  395. package/lib/components/VList/VListItemMedia.mjs +8 -7
  396. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  397. package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
  398. package/lib/components/VList/VListItemTitle.mjs.map +1 -1
  399. package/lib/components/VList/VListSubheader.mjs +8 -7
  400. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  401. package/lib/components/VList/_variables.scss +24 -9
  402. package/lib/components/VList/index.d.ts +1250 -0
  403. package/lib/components/VList/index.mjs +3 -4
  404. package/lib/components/VList/index.mjs.map +1 -1
  405. package/lib/components/VList/list.mjs.map +1 -1
  406. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +5 -3
  407. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  408. package/lib/components/VLocaleProvider/index.d.ts +23 -0
  409. package/lib/components/VLocaleProvider/index.mjs.map +1 -1
  410. package/lib/components/VMain/VMain.css +20 -9
  411. package/lib/components/VMain/VMain.mjs +17 -11
  412. package/lib/components/VMain/VMain.mjs.map +1 -1
  413. package/lib/components/VMain/VMain.sass +17 -11
  414. package/lib/components/VMain/_variables.scss +1 -1
  415. package/lib/components/VMain/index.d.ts +26 -0
  416. package/lib/components/VMain/index.mjs.map +1 -1
  417. package/lib/components/VMenu/VMenu.css +3 -13
  418. package/lib/components/VMenu/VMenu.mjs +81 -34
  419. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  420. package/lib/components/VMenu/VMenu.sass +3 -7
  421. package/lib/components/VMenu/_variables.scss +0 -1
  422. package/lib/components/VMenu/index.d.ts +817 -0
  423. package/lib/components/VMenu/index.mjs.map +1 -1
  424. package/lib/components/VMenu/shared.mjs +2 -0
  425. package/lib/components/VMenu/shared.mjs.map +1 -0
  426. package/lib/components/VMessages/VMessages.mjs +5 -3
  427. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  428. package/lib/components/VMessages/VMessages.sass +0 -1
  429. package/lib/components/VMessages/_variables.scss +1 -1
  430. package/lib/components/VMessages/index.d.ts +234 -0
  431. package/lib/components/VMessages/index.mjs.map +1 -1
  432. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +14 -19
  433. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +60 -21
  434. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  435. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +16 -22
  436. package/lib/components/VNavigationDrawer/_variables.scss +4 -2
  437. package/lib/components/VNavigationDrawer/index.d.ts +148 -0
  438. package/lib/components/VNavigationDrawer/index.mjs.map +1 -1
  439. package/lib/components/VNavigationDrawer/sticky.mjs +70 -0
  440. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -0
  441. package/lib/components/VNavigationDrawer/touch.mjs +5 -2
  442. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  443. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  444. package/lib/components/VNoSsr/index.d.ts +7 -0
  445. package/lib/components/VNoSsr/index.mjs.map +1 -1
  446. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  447. package/lib/components/VOtpInput/index.mjs.map +1 -1
  448. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  449. package/lib/components/VOverflowBtn/index.mjs.map +1 -1
  450. package/lib/components/VOverlay/VOverlay.css +7 -0
  451. package/lib/components/VOverlay/VOverlay.mjs +73 -45
  452. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  453. package/lib/components/VOverlay/VOverlay.sass +8 -1
  454. package/lib/components/VOverlay/_variables.scss +1 -1
  455. package/lib/components/VOverlay/index.d.ts +579 -0
  456. package/lib/components/VOverlay/index.mjs.map +1 -1
  457. package/lib/components/VOverlay/locationStrategies.mjs +404 -0
  458. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -0
  459. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
  460. package/lib/components/VOverlay/scrollStrategies.mjs +19 -13
  461. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  462. package/lib/components/VOverlay/useActivator.mjs +86 -17
  463. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  464. package/lib/components/VOverlay/util/point.mjs +3 -3
  465. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  466. package/lib/components/VPagination/VPagination.mjs +63 -44
  467. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  468. package/lib/components/VPagination/VPagination.sass +0 -1
  469. package/lib/components/VPagination/index.d.ts +247 -0
  470. package/lib/components/VPagination/index.mjs.map +1 -1
  471. package/lib/components/VParallax/VParallax.mjs +30 -16
  472. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  473. package/lib/components/VParallax/index.d.ts +18 -0
  474. package/lib/components/VParallax/index.mjs.map +1 -1
  475. package/lib/components/VPicker/VPicker.mjs.map +1 -1
  476. package/lib/components/VPicker/index.mjs.map +1 -1
  477. package/lib/components/VProgressCircular/VProgressCircular.mjs +6 -5
  478. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  479. package/lib/components/VProgressCircular/VProgressCircular.sass +0 -1
  480. package/lib/components/VProgressCircular/_variables.scss +2 -0
  481. package/lib/components/VProgressCircular/index.d.ts +68 -0
  482. package/lib/components/VProgressCircular/index.mjs.map +1 -1
  483. package/lib/components/VProgressLinear/VProgressLinear.css +1 -1
  484. package/lib/components/VProgressLinear/VProgressLinear.mjs +5 -3
  485. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  486. package/lib/components/VProgressLinear/VProgressLinear.sass +0 -1
  487. package/lib/components/VProgressLinear/_variables.scss +1 -0
  488. package/lib/components/VProgressLinear/index.d.ts +101 -0
  489. package/lib/components/VProgressLinear/index.mjs.map +1 -1
  490. package/lib/components/VRadio/VRadio.mjs +9 -17
  491. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  492. package/lib/components/VRadio/index.d.ts +103 -0
  493. package/lib/components/VRadio/index.mjs.map +1 -1
  494. package/lib/components/VRadioGroup/VRadioGroup.css +2 -3
  495. package/lib/components/VRadioGroup/VRadioGroup.mjs +32 -9
  496. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  497. package/lib/components/VRadioGroup/VRadioGroup.sass +6 -4
  498. package/lib/components/VRadioGroup/_variables.scss +2 -4
  499. package/lib/components/VRadioGroup/index.d.ts +186 -0
  500. package/lib/components/VRadioGroup/index.mjs.map +1 -1
  501. package/lib/components/VRangeSlider/VRangeSlider.mjs +27 -15
  502. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  503. package/lib/components/VRangeSlider/index.d.ts +242 -0
  504. package/lib/components/VRangeSlider/index.mjs.map +1 -1
  505. package/lib/components/VRating/VRating.css +2 -2
  506. package/lib/components/VRating/VRating.mjs +24 -18
  507. package/lib/components/VRating/VRating.mjs.map +1 -1
  508. package/lib/components/VRating/VRating.sass +4 -3
  509. package/lib/components/VRating/index.d.ts +356 -0
  510. package/lib/components/VRating/index.mjs.map +1 -1
  511. package/lib/components/VResponsive/VResponsive.mjs +7 -6
  512. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  513. package/lib/components/VResponsive/index.d.ts +23 -0
  514. package/lib/components/VResponsive/index.mjs.map +1 -1
  515. package/lib/components/VSelect/VSelect.css +18 -2
  516. package/lib/components/VSelect/VSelect.mjs +145 -112
  517. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  518. package/lib/components/VSelect/VSelect.sass +20 -3
  519. package/lib/components/VSelect/_variables.scss +1 -0
  520. package/lib/components/VSelect/index.d.ts +1521 -0
  521. package/lib/components/VSelect/index.mjs.map +1 -1
  522. package/lib/components/VSelectionControl/VSelectionControl.css +1 -0
  523. package/lib/components/VSelectionControl/VSelectionControl.mjs +33 -25
  524. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  525. package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
  526. package/lib/components/VSelectionControl/_variables.scss +1 -0
  527. package/lib/components/VSelectionControl/index.d.ts +275 -0
  528. package/lib/components/VSelectionControl/index.mjs.map +1 -1
  529. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.css +5 -0
  530. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +10 -7
  531. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  532. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +6 -6
  533. package/lib/components/VSelectionControlGroup/_variables.scss +1 -4
  534. package/lib/components/VSelectionControlGroup/index.d.ts +47 -0
  535. package/lib/components/VSelectionControlGroup/index.mjs.map +1 -1
  536. package/lib/components/VSheet/VSheet.css +1 -1
  537. package/lib/components/VSheet/VSheet.mjs +10 -6
  538. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  539. package/lib/components/VSheet/VSheet.sass +0 -1
  540. package/lib/components/VSheet/_variables.scss +3 -2
  541. package/lib/components/VSheet/index.d.ts +68 -0
  542. package/lib/components/VSheet/index.mjs.map +1 -1
  543. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  544. package/lib/components/VSkeletonLoader/index.mjs.map +1 -1
  545. package/lib/components/VSlideGroup/VSlideGroup.css +0 -5
  546. package/lib/components/VSlideGroup/VSlideGroup.mjs +105 -74
  547. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  548. package/lib/components/VSlideGroup/VSlideGroup.sass +0 -5
  549. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +10 -4
  550. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  551. package/lib/components/VSlideGroup/_variables.scss +0 -5
  552. package/lib/components/VSlideGroup/helpers.mjs +4 -15
  553. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  554. package/lib/components/VSlideGroup/index.d.ts +151 -0
  555. package/lib/components/VSlideGroup/index.mjs +2 -2
  556. package/lib/components/VSlideGroup/index.mjs.map +1 -1
  557. package/lib/components/VSlider/VSlider.css +14 -4
  558. package/lib/components/VSlider/VSlider.mjs +17 -9
  559. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  560. package/lib/components/VSlider/VSlider.sass +17 -9
  561. package/lib/components/VSlider/VSliderThumb.css +10 -6
  562. package/lib/components/VSlider/VSliderThumb.mjs +9 -8
  563. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  564. package/lib/components/VSlider/VSliderThumb.sass +11 -10
  565. package/lib/components/VSlider/VSliderTrack.css +25 -25
  566. package/lib/components/VSlider/VSliderTrack.mjs +22 -16
  567. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  568. package/lib/components/VSlider/VSliderTrack.sass +20 -22
  569. package/lib/components/VSlider/_variables.scss +7 -4
  570. package/lib/components/VSlider/index.d.ts +239 -0
  571. package/lib/components/VSlider/index.mjs.map +1 -1
  572. package/lib/components/VSlider/slider.mjs +15 -25
  573. package/lib/components/VSlider/slider.mjs.map +1 -1
  574. package/lib/components/VSnackbar/VSnackbar.css +22 -40
  575. package/lib/components/VSnackbar/VSnackbar.mjs +70 -50
  576. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  577. package/lib/components/VSnackbar/VSnackbar.sass +15 -35
  578. package/lib/components/VSnackbar/_variables.scss +3 -7
  579. package/lib/components/VSnackbar/index.d.ts +892 -0
  580. package/lib/components/VSnackbar/index.mjs.map +1 -1
  581. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  582. package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
  583. package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
  584. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  585. package/lib/components/VSparkline/index.mjs.map +1 -1
  586. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  587. package/lib/components/VSpeedDial/index.mjs.map +1 -1
  588. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  589. package/lib/components/VStepper/VStepperContent.mjs.map +1 -1
  590. package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
  591. package/lib/components/VStepper/index.mjs.map +1 -1
  592. package/lib/components/VSwitch/VSwitch.css +9 -2
  593. package/lib/components/VSwitch/VSwitch.mjs +15 -6
  594. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  595. package/lib/components/VSwitch/VSwitch.sass +6 -1
  596. package/lib/components/VSwitch/_variables.scss +1 -0
  597. package/lib/components/VSwitch/index.d.ts +175 -0
  598. package/lib/components/VSwitch/index.mjs.map +1 -1
  599. package/lib/components/VSystemBar/VSystemBar.css +1 -6
  600. package/lib/components/VSystemBar/VSystemBar.mjs +22 -17
  601. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  602. package/lib/components/VSystemBar/VSystemBar.sass +0 -6
  603. package/lib/components/VSystemBar/_variables.scss +2 -4
  604. package/lib/components/VSystemBar/index.d.ts +61 -0
  605. package/lib/components/VSystemBar/index.mjs.map +1 -1
  606. package/lib/components/VTable/VTable.css +1 -0
  607. package/lib/components/VTable/VTable.mjs +9 -8
  608. package/lib/components/VTable/VTable.mjs.map +1 -1
  609. package/lib/components/VTable/VTable.sass +1 -1
  610. package/lib/components/VTable/_variables.scss +2 -0
  611. package/lib/components/VTable/index.d.ts +39 -0
  612. package/lib/components/VTable/index.mjs.map +1 -1
  613. package/lib/components/VTabs/VTab.css +6 -3
  614. package/lib/components/VTabs/VTab.mjs +34 -36
  615. package/lib/components/VTabs/VTab.mjs.map +1 -1
  616. package/lib/components/VTabs/VTab.sass +7 -4
  617. package/lib/components/VTabs/VTabs.css +16 -13
  618. package/lib/components/VTabs/VTabs.mjs +17 -15
  619. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  620. package/lib/components/VTabs/VTabs.sass +11 -8
  621. package/lib/components/VTabs/_variables.scss +2 -0
  622. package/lib/components/VTabs/index.d.ts +178 -0
  623. package/lib/components/VTabs/index.mjs.map +1 -1
  624. package/lib/components/VTabs/shared.mjs +2 -0
  625. package/lib/components/VTabs/shared.mjs.map +1 -0
  626. package/lib/components/VTextField/VTextField.css +5 -5
  627. package/lib/components/VTextField/VTextField.mjs +42 -37
  628. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  629. package/lib/components/VTextField/VTextField.sass +5 -7
  630. package/lib/components/VTextField/_variables.scss +1 -1
  631. package/lib/components/VTextField/index.d.ts +582 -0
  632. package/lib/components/VTextField/index.mjs.map +1 -1
  633. package/lib/components/VTextarea/VTextarea.css +14 -5
  634. package/lib/components/VTextarea/VTextarea.mjs +47 -26
  635. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  636. package/lib/components/VTextarea/VTextarea.sass +18 -8
  637. package/lib/components/VTextarea/_variables.scss +1 -1
  638. package/lib/components/VTextarea/index.d.ts +218 -0
  639. package/lib/components/VTextarea/index.mjs.map +1 -1
  640. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  641. package/lib/components/VThemeProvider/index.d.ts +24 -0
  642. package/lib/components/VThemeProvider/index.mjs.map +1 -1
  643. package/lib/components/VTimePicker/SelectingTimes.mjs.map +1 -1
  644. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  645. package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
  646. package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
  647. package/lib/components/VTimePicker/index.mjs.map +1 -1
  648. package/lib/components/VTimeline/VTimeline.css +241 -55
  649. package/lib/components/VTimeline/VTimeline.mjs +52 -32
  650. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  651. package/lib/components/VTimeline/VTimeline.sass +251 -57
  652. package/lib/components/VTimeline/VTimelineDivider.mjs +45 -37
  653. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  654. package/lib/components/VTimeline/VTimelineItem.mjs +17 -15
  655. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  656. package/lib/components/VTimeline/_mixins.sass +10 -0
  657. package/lib/components/VTimeline/_variables.scss +16 -9
  658. package/lib/components/VTimeline/index.d.ts +154 -0
  659. package/lib/components/VTimeline/index.mjs.map +1 -1
  660. package/lib/components/VToolbar/VToolbar.css +24 -33
  661. package/lib/components/VToolbar/VToolbar.mjs +32 -31
  662. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  663. package/lib/components/VToolbar/VToolbar.sass +17 -19
  664. package/lib/components/VToolbar/VToolbarItems.mjs +12 -9
  665. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  666. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  667. package/lib/components/VToolbar/_variables.scss +20 -8
  668. package/lib/components/VToolbar/index.d.ts +414 -0
  669. package/lib/components/VToolbar/index.mjs.map +1 -1
  670. package/lib/components/VTooltip/VTooltip.mjs +48 -41
  671. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  672. package/lib/components/VTooltip/VTooltip.sass +0 -1
  673. package/lib/components/VTooltip/_variables.scss +1 -0
  674. package/lib/components/VTooltip/index.d.ts +799 -0
  675. package/lib/components/VTooltip/index.mjs.map +1 -1
  676. package/lib/components/VTreeview/VTreeview.mjs +1 -3
  677. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  678. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  679. package/lib/components/VTreeview/index.mjs.map +1 -1
  680. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
  681. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  682. package/lib/components/VValidation/index.d.ts +61 -0
  683. package/lib/components/VValidation/index.mjs.map +1 -1
  684. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  685. package/lib/components/VVirtualScroll/index.mjs.map +1 -1
  686. package/lib/components/VWindow/VWindow.mjs +7 -21
  687. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  688. package/lib/components/VWindow/VWindow.sass +0 -2
  689. package/lib/components/VWindow/VWindowItem.mjs +21 -11
  690. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  691. package/lib/components/VWindow/_variables.scss +1 -0
  692. package/lib/components/VWindow/index.d.ts +428 -0
  693. package/lib/components/VWindow/index.mjs.map +1 -1
  694. package/lib/components/index.d.ts +14675 -12342
  695. package/lib/components/index.mjs.map +1 -1
  696. package/lib/components/transitions/createTransition.mjs.map +1 -1
  697. package/lib/components/transitions/dialog-transition.mjs +66 -10
  698. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  699. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  700. package/lib/components/transitions/index.d.ts +454 -0
  701. package/lib/components/transitions/index.mjs +0 -5
  702. package/lib/components/transitions/index.mjs.map +1 -1
  703. package/lib/composables/border.mjs +5 -6
  704. package/lib/composables/border.mjs.map +1 -1
  705. package/lib/composables/color.mjs +19 -26
  706. package/lib/composables/color.mjs.map +1 -1
  707. package/lib/composables/defaults.mjs +2 -2
  708. package/lib/composables/defaults.mjs.map +1 -1
  709. package/lib/composables/delay.mjs +1 -3
  710. package/lib/composables/delay.mjs.map +1 -1
  711. package/lib/composables/density.mjs.map +1 -1
  712. package/lib/composables/dimensions.mjs.map +1 -1
  713. package/lib/composables/display.mjs +12 -10
  714. package/lib/composables/display.mjs.map +1 -1
  715. package/lib/composables/elevation.mjs.map +1 -1
  716. package/lib/composables/filter.mjs +35 -17
  717. package/lib/composables/filter.mjs.map +1 -1
  718. package/lib/composables/focus.mjs.map +1 -1
  719. package/lib/composables/form.mjs +44 -11
  720. package/lib/composables/form.mjs.map +1 -1
  721. package/lib/composables/forwardRefs.mjs +72 -0
  722. package/lib/composables/forwardRefs.mjs.map +1 -0
  723. package/lib/composables/group.mjs +16 -12
  724. package/lib/composables/group.mjs.map +1 -1
  725. package/lib/composables/hydration.mjs.map +1 -1
  726. package/lib/composables/icons.mjs +16 -4
  727. package/lib/composables/icons.mjs.map +1 -1
  728. package/lib/composables/index.mjs +3 -2
  729. package/lib/composables/index.mjs.map +1 -1
  730. package/lib/composables/intersectionObserver.mjs.map +1 -1
  731. package/lib/composables/items.mjs +84 -0
  732. package/lib/composables/items.mjs.map +1 -0
  733. package/lib/composables/layout.mjs +24 -24
  734. package/lib/composables/layout.mjs.map +1 -1
  735. package/lib/composables/lazy.mjs.map +1 -1
  736. package/lib/composables/loader.mjs.map +1 -1
  737. package/lib/composables/locale.mjs +21 -25
  738. package/lib/composables/locale.mjs.map +1 -1
  739. package/lib/composables/location.mjs +66 -0
  740. package/lib/composables/location.mjs.map +1 -0
  741. package/lib/composables/mutationObserver.mjs +4 -6
  742. package/lib/composables/mutationObserver.mjs.map +1 -1
  743. package/lib/composables/nested/nested.mjs +34 -22
  744. package/lib/composables/nested/nested.mjs.map +1 -1
  745. package/lib/composables/nested/openStrategies.mjs +63 -36
  746. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  747. package/lib/composables/nested/selectStrategies.mjs +163 -122
  748. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  749. package/lib/composables/position.mjs +4 -25
  750. package/lib/composables/position.mjs.map +1 -1
  751. package/lib/composables/proxiedModel.mjs +29 -10
  752. package/lib/composables/proxiedModel.mjs.map +1 -1
  753. package/lib/composables/refs.mjs.map +1 -1
  754. package/lib/composables/resizeObserver.mjs +1 -9
  755. package/lib/composables/resizeObserver.mjs.map +1 -1
  756. package/lib/composables/rounded.mjs.map +1 -1
  757. package/lib/composables/router.mjs +39 -17
  758. package/lib/composables/router.mjs.map +1 -1
  759. package/lib/composables/rtl.mjs +2 -4
  760. package/lib/composables/rtl.mjs.map +1 -1
  761. package/lib/composables/scopeId.mjs +11 -0
  762. package/lib/composables/scopeId.mjs.map +1 -0
  763. package/lib/composables/scroll.mjs +1 -3
  764. package/lib/composables/scroll.mjs.map +1 -1
  765. package/lib/composables/selectLink.mjs +19 -0
  766. package/lib/composables/selectLink.mjs.map +1 -0
  767. package/lib/composables/size.mjs +18 -14
  768. package/lib/composables/size.mjs.map +1 -1
  769. package/lib/composables/ssrBoot.mjs +3 -2
  770. package/lib/composables/ssrBoot.mjs.map +1 -1
  771. package/lib/composables/stack.mjs +37 -23
  772. package/lib/composables/stack.mjs.map +1 -1
  773. package/lib/composables/tag.mjs.map +1 -1
  774. package/lib/composables/teleport.mjs.map +1 -1
  775. package/lib/composables/theme.mjs +123 -112
  776. package/lib/composables/theme.mjs.map +1 -1
  777. package/lib/composables/toggleScope.mjs +18 -0
  778. package/lib/composables/toggleScope.mjs.map +1 -0
  779. package/lib/composables/touch.mjs +1 -3
  780. package/lib/composables/touch.mjs.map +1 -1
  781. package/lib/composables/transition.mjs.map +1 -1
  782. package/lib/composables/validation.mjs +24 -10
  783. package/lib/composables/validation.mjs.map +1 -1
  784. package/lib/composables/variant.mjs +7 -8
  785. package/lib/composables/variant.mjs.map +1 -1
  786. package/lib/directives/click-outside/index.mjs.map +1 -1
  787. package/lib/directives/color/index.mjs.map +1 -1
  788. package/lib/directives/index.mjs.map +1 -1
  789. package/lib/directives/intersect/index.mjs.map +1 -1
  790. package/lib/directives/mutate/index.mjs +4 -6
  791. package/lib/directives/mutate/index.mjs.map +1 -1
  792. package/lib/directives/resize/index.mjs.map +1 -1
  793. package/lib/directives/ripple/VRipple.sass +0 -1
  794. package/lib/directives/ripple/index.mjs +16 -6
  795. package/lib/directives/ripple/index.mjs.map +1 -1
  796. package/lib/directives/scroll/index.mjs +1 -3
  797. package/lib/directives/scroll/index.mjs.map +1 -1
  798. package/lib/directives/touch/index.mjs +3 -3
  799. package/lib/directives/touch/index.mjs.map +1 -1
  800. package/lib/entry-bundler.mjs +2 -1
  801. package/lib/entry-bundler.mjs.map +1 -1
  802. package/lib/framework.mjs +59 -47
  803. package/lib/framework.mjs.map +1 -1
  804. package/lib/iconsets/fa-svg.d.ts +2 -1
  805. package/lib/iconsets/fa-svg.mjs.map +1 -1
  806. package/lib/iconsets/fa.d.ts +2 -1
  807. package/lib/iconsets/fa.mjs.map +1 -1
  808. package/lib/iconsets/fa4.d.ts +2 -1
  809. package/lib/iconsets/fa4.mjs.map +1 -1
  810. package/lib/iconsets/md.d.ts +2 -1
  811. package/lib/iconsets/md.mjs.map +1 -1
  812. package/lib/iconsets/mdi-svg.d.ts +2 -1
  813. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  814. package/lib/iconsets/mdi.d.ts +2 -1
  815. package/lib/iconsets/mdi.mjs.map +1 -1
  816. package/lib/index.d.ts +158 -130
  817. package/lib/locale/adapters/vue-i18n.d.ts +35 -0
  818. package/lib/locale/adapters/vue-i18n.mjs +1 -3
  819. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  820. package/lib/locale/adapters/vue-intl.d.ts +42 -0
  821. package/lib/locale/adapters/vue-intl.mjs +3 -5
  822. package/lib/locale/adapters/vue-intl.mjs.map +1 -1
  823. package/lib/locale/af.mjs +5 -0
  824. package/lib/locale/af.mjs.map +1 -1
  825. package/lib/locale/ar.mjs +5 -0
  826. package/lib/locale/ar.mjs.map +1 -1
  827. package/lib/locale/az.mjs +5 -0
  828. package/lib/locale/az.mjs.map +1 -1
  829. package/lib/locale/bg.mjs +5 -0
  830. package/lib/locale/bg.mjs.map +1 -1
  831. package/lib/locale/ca.mjs +14 -9
  832. package/lib/locale/ca.mjs.map +1 -1
  833. package/lib/locale/ckb.mjs +5 -0
  834. package/lib/locale/ckb.mjs.map +1 -1
  835. package/lib/locale/cs.mjs +5 -0
  836. package/lib/locale/cs.mjs.map +1 -1
  837. package/lib/locale/da.mjs +5 -0
  838. package/lib/locale/da.mjs.map +1 -1
  839. package/lib/locale/de.mjs +5 -0
  840. package/lib/locale/de.mjs.map +1 -1
  841. package/lib/locale/el.mjs +5 -0
  842. package/lib/locale/el.mjs.map +1 -1
  843. package/lib/locale/en.mjs +5 -0
  844. package/lib/locale/en.mjs.map +1 -1
  845. package/lib/locale/es.mjs +5 -0
  846. package/lib/locale/es.mjs.map +1 -1
  847. package/lib/locale/et.mjs +5 -0
  848. package/lib/locale/et.mjs.map +1 -1
  849. package/lib/locale/fa.mjs +5 -0
  850. package/lib/locale/fa.mjs.map +1 -1
  851. package/lib/locale/fi.mjs +5 -0
  852. package/lib/locale/fi.mjs.map +1 -1
  853. package/lib/locale/fr.mjs +5 -0
  854. package/lib/locale/fr.mjs.map +1 -1
  855. package/lib/locale/he.mjs +5 -0
  856. package/lib/locale/he.mjs.map +1 -1
  857. package/lib/locale/hr.mjs +5 -0
  858. package/lib/locale/hr.mjs.map +1 -1
  859. package/lib/locale/hu.mjs +5 -0
  860. package/lib/locale/hu.mjs.map +1 -1
  861. package/lib/locale/id.mjs +5 -0
  862. package/lib/locale/id.mjs.map +1 -1
  863. package/lib/locale/index.d.ts +210 -0
  864. package/lib/locale/index.mjs.map +1 -1
  865. package/lib/locale/it.mjs +5 -0
  866. package/lib/locale/it.mjs.map +1 -1
  867. package/lib/locale/ja.mjs +5 -0
  868. package/lib/locale/ja.mjs.map +1 -1
  869. package/lib/locale/ko.mjs +5 -0
  870. package/lib/locale/ko.mjs.map +1 -1
  871. package/lib/locale/lt.mjs +5 -0
  872. package/lib/locale/lt.mjs.map +1 -1
  873. package/lib/locale/lv.mjs +5 -0
  874. package/lib/locale/lv.mjs.map +1 -1
  875. package/lib/locale/nl.mjs +5 -0
  876. package/lib/locale/nl.mjs.map +1 -1
  877. package/lib/locale/no.mjs +5 -0
  878. package/lib/locale/no.mjs.map +1 -1
  879. package/lib/locale/pl.mjs +5 -0
  880. package/lib/locale/pl.mjs.map +1 -1
  881. package/lib/locale/pt.mjs +5 -0
  882. package/lib/locale/pt.mjs.map +1 -1
  883. package/lib/locale/ro.mjs +5 -0
  884. package/lib/locale/ro.mjs.map +1 -1
  885. package/lib/locale/ru.mjs +5 -0
  886. package/lib/locale/ru.mjs.map +1 -1
  887. package/lib/locale/sk.mjs +5 -0
  888. package/lib/locale/sk.mjs.map +1 -1
  889. package/lib/locale/sl.mjs +5 -0
  890. package/lib/locale/sl.mjs.map +1 -1
  891. package/lib/locale/sr-Cyrl.mjs +5 -0
  892. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  893. package/lib/locale/sr-Latn.mjs +5 -0
  894. package/lib/locale/sr-Latn.mjs.map +1 -1
  895. package/lib/locale/sv.mjs +5 -0
  896. package/lib/locale/sv.mjs.map +1 -1
  897. package/lib/locale/th.mjs +5 -0
  898. package/lib/locale/th.mjs.map +1 -1
  899. package/lib/locale/tr.mjs +5 -0
  900. package/lib/locale/tr.mjs.map +1 -1
  901. package/lib/locale/uk.mjs +5 -0
  902. package/lib/locale/uk.mjs.map +1 -1
  903. package/lib/locale/vi.mjs +5 -0
  904. package/lib/locale/vi.mjs.map +1 -1
  905. package/lib/locale/zh-Hans.mjs +5 -0
  906. package/lib/locale/zh-Hans.mjs.map +1 -1
  907. package/lib/locale/zh-Hant.mjs +5 -0
  908. package/lib/locale/zh-Hant.mjs.map +1 -1
  909. package/lib/services/goto/easing-patterns.mjs.map +1 -1
  910. package/lib/services/goto/index.mjs.map +1 -1
  911. package/lib/services/goto/util.mjs.map +1 -1
  912. package/lib/styles/generic/_colors.scss +17 -10
  913. package/lib/styles/generic/_transitions.scss +13 -77
  914. package/lib/styles/main.css +1677 -1919
  915. package/lib/styles/settings/_colors.scss +84 -84
  916. package/lib/styles/settings/_elevations.scss +3 -3
  917. package/lib/styles/settings/_utilities.scss +74 -35
  918. package/lib/styles/tools/_states.sass +18 -5
  919. package/lib/styles/tools/_utilities.sass +1 -1
  920. package/lib/styles/tools/_variant.sass +6 -7
  921. package/lib/styles/utilities/_index.sass +0 -1
  922. package/lib/util/anchor.mjs +56 -0
  923. package/lib/util/anchor.mjs.map +1 -0
  924. package/lib/util/animation.mjs +18 -2
  925. package/lib/util/animation.mjs.map +1 -1
  926. package/lib/util/box.mjs +12 -0
  927. package/lib/util/box.mjs.map +1 -1
  928. package/lib/util/color/APCA.mjs.map +1 -1
  929. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  930. package/lib/util/color/transformSRGB.mjs.map +1 -1
  931. package/lib/util/colorUtils.mjs +2 -2
  932. package/lib/util/colorUtils.mjs.map +1 -1
  933. package/lib/util/colors.mjs +1 -1
  934. package/lib/util/colors.mjs.map +1 -1
  935. package/lib/util/console.mjs.map +1 -1
  936. package/lib/util/createSimpleFunctional.mjs +1 -1
  937. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  938. package/lib/util/dateTimeUtils.mjs.map +1 -1
  939. package/lib/util/defineComponent.mjs +37 -11
  940. package/lib/util/defineComponent.mjs.map +1 -1
  941. package/lib/util/dom.mjs.map +1 -1
  942. package/lib/util/easing.mjs.map +1 -1
  943. package/lib/util/getCurrentInstance.mjs +22 -4
  944. package/lib/util/getCurrentInstance.mjs.map +1 -1
  945. package/lib/util/getScrollParent.mjs +3 -1
  946. package/lib/util/getScrollParent.mjs.map +1 -1
  947. package/lib/util/globals.mjs +1 -4
  948. package/lib/util/globals.mjs.map +1 -1
  949. package/lib/util/helpers.mjs +37 -7
  950. package/lib/util/helpers.mjs.map +1 -1
  951. package/lib/util/index.mjs +1 -0
  952. package/lib/util/index.mjs.map +1 -1
  953. package/lib/util/injectSelf.mjs +12 -0
  954. package/lib/util/injectSelf.mjs.map +1 -0
  955. package/lib/util/isFixedPosition.mjs.map +1 -1
  956. package/lib/util/propsFactory.mjs.map +1 -1
  957. package/lib/util/useRender.mjs.map +1 -1
  958. package/package.json +50 -35
  959. package/lib/components/VBreadcrumbs/shared.mjs +0 -2
  960. package/lib/components/VBreadcrumbs/shared.mjs.map +0 -1
  961. package/lib/components/VCard/VCardAvatar.mjs +0 -3
  962. package/lib/components/VCard/VCardAvatar.mjs.map +0 -1
  963. package/lib/components/VCard/VCardHeader.mjs +0 -3
  964. package/lib/components/VCard/VCardHeader.mjs.map +0 -1
  965. package/lib/components/VCard/VCardHeaderText.mjs +0 -3
  966. package/lib/components/VCard/VCardHeaderText.mjs.map +0 -1
  967. package/lib/components/VCard/VCardImg.mjs +0 -3
  968. package/lib/components/VCard/VCardImg.mjs.map +0 -1
  969. package/lib/components/VList/VListItemAvatar.mjs +0 -29
  970. package/lib/components/VList/VListItemAvatar.mjs.map +0 -1
  971. package/lib/components/VList/VListItemHeader.mjs +0 -3
  972. package/lib/components/VList/VListItemHeader.mjs.map +0 -1
  973. package/lib/components/VOverlay/positionStrategies.mjs +0 -203
  974. package/lib/components/VOverlay/positionStrategies.mjs.map +0 -1
  975. package/lib/components/VOverlay/util/anchor.mjs +0 -52
  976. package/lib/components/VOverlay/util/anchor.mjs.map +0 -1
  977. package/lib/components/VTimeline/shared.mjs +0 -2
  978. package/lib/components/VTimeline/shared.mjs.map +0 -1
  979. package/lib/composables/forwardRef.mjs +0 -42
  980. package/lib/composables/forwardRef.mjs.map +0 -1
  981. package/lib/composables/overlay.mjs +0 -30
  982. package/lib/composables/overlay.mjs.map +0 -1
  983. package/lib/presets/default/index.mjs +0 -71
  984. package/lib/presets/default/index.mjs.map +0 -1
  985. package/lib/styles/utilities/_text.sass +0 -9
  986. 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,19 +20,29 @@ 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;
34
+ let firstEnter = true;
27
35
  const openOnFocus = computed(() => props.openOnFocus || props.openOnFocus == null && props.openOnHover);
28
36
  const openOnClick = computed(() => props.openOnClick || props.openOnClick == null && !props.openOnHover && !openOnFocus.value);
29
37
  const {
30
38
  runOpenDelay,
31
39
  runCloseDelay
32
40
  } = useDelay(props, value => {
33
- if (value === (props.openOnHover && isHovered || openOnFocus.value && isFocused)) {
41
+ if (value === (props.openOnHover && isHovered || openOnFocus.value && isFocused) && !(props.openOnHover && isActive.value && !isTop.value)) {
42
+ if (isActive.value !== value) {
43
+ firstEnter = true;
44
+ }
45
+
34
46
  isActive.value = value;
35
47
  }
36
48
  });
@@ -81,6 +93,57 @@ export function useActivator(props, isActive) {
81
93
 
82
94
  return events;
83
95
  });
96
+ const contentEvents = computed(() => {
97
+ const events = {};
98
+
99
+ if (props.openOnHover) {
100
+ events.mouseenter = () => {
101
+ isHovered = true;
102
+ runOpenDelay();
103
+ };
104
+
105
+ events.mouseleave = () => {
106
+ isHovered = false;
107
+ runCloseDelay();
108
+ };
109
+ }
110
+
111
+ if (props.closeOnContentClick) {
112
+ const menu = inject(VMenuSymbol, null);
113
+
114
+ events.click = () => {
115
+ isActive.value = false;
116
+ menu == null ? void 0 : menu.closeParents();
117
+ };
118
+ }
119
+
120
+ return events;
121
+ });
122
+ const scrimEvents = computed(() => {
123
+ const events = {};
124
+
125
+ if (props.openOnHover) {
126
+ events.mouseenter = () => {
127
+ if (firstEnter) {
128
+ isHovered = true;
129
+ firstEnter = false;
130
+ runOpenDelay();
131
+ }
132
+ };
133
+
134
+ events.mouseleave = () => {
135
+ isHovered = false;
136
+ runCloseDelay();
137
+ };
138
+ }
139
+
140
+ return events;
141
+ });
142
+ watch(isTop, val => {
143
+ if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))) {
144
+ isActive.value = false;
145
+ }
146
+ });
84
147
  const activatorRef = ref();
85
148
  watchEffect(() => {
86
149
  if (!activatorRef.value) return;
@@ -89,14 +152,14 @@ export function useActivator(props, isActive) {
89
152
  activatorEl.value = isComponentInstance(activator) ? activator.$el : activator;
90
153
  });
91
154
  });
155
+ const vm = getCurrentInstance('useActivator');
92
156
  let scope;
93
157
  watch(() => !!props.activator, val => {
94
158
  if (val && IN_BROWSER) {
95
159
  scope = effectScope();
96
160
  scope.run(() => {
97
- _useActivator(props, {
161
+ _useActivator(props, vm, {
98
162
  activatorEl,
99
- activatorRef,
100
163
  activatorEvents
101
164
  });
102
165
  });
@@ -110,15 +173,17 @@ export function useActivator(props, isActive) {
110
173
  return {
111
174
  activatorEl,
112
175
  activatorRef,
113
- activatorEvents
176
+ activatorEvents,
177
+ contentEvents,
178
+ scrimEvents
114
179
  };
115
180
  }
116
181
 
117
- function _useActivator(props, _ref) {
182
+ function _useActivator(props, vm, _ref2) {
118
183
  let {
119
184
  activatorEl,
120
185
  activatorEvents
121
- } = _ref;
186
+ } = _ref2;
122
187
  watch(() => props.activator, (val, oldVal) => {
123
188
  if (oldVal && val !== oldVal) {
124
189
  const activator = getActivator(oldVal);
@@ -144,8 +209,8 @@ function _useActivator(props, _ref) {
144
209
  let _props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.activatorProps;
145
210
 
146
211
  if (!el) return;
147
- Object.entries(activatorEvents.value).forEach(_ref2 => {
148
- let [name, cb] = _ref2;
212
+ Object.entries(activatorEvents.value).forEach(_ref3 => {
213
+ let [name, cb] = _ref3;
149
214
  el.addEventListener(name, cb);
150
215
  });
151
216
  Object.keys(_props).forEach(k => {
@@ -163,8 +228,8 @@ function _useActivator(props, _ref) {
163
228
  let _props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.activatorProps;
164
229
 
165
230
  if (!el) return;
166
- Object.entries(activatorEvents.value).forEach(_ref3 => {
167
- let [name, cb] = _ref3;
231
+ Object.entries(activatorEvents.value).forEach(_ref4 => {
232
+ let [name, cb] = _ref4;
168
233
  el.removeEventListener(name, cb);
169
234
  });
170
235
  Object.keys(_props).forEach(k => {
@@ -172,8 +237,6 @@ function _useActivator(props, _ref) {
172
237
  });
173
238
  }
174
239
 
175
- const vm = getCurrentInstance('useActivator');
176
-
177
240
  function getActivator() {
178
241
  var _activator;
179
242
 
@@ -184,7 +247,13 @@ function _useActivator(props, _ref) {
184
247
  if (selector === 'parent') {
185
248
  var _vm$proxy, _vm$proxy$$el;
186
249
 
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;
250
+ 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;
251
+
252
+ while (el.hasAttribute('data-no-activator')) {
253
+ el = el.parentNode;
254
+ }
255
+
256
+ activator = el;
188
257
  } else if (typeof selector === 'string') {
189
258
  // Selector
190
259
  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","firstEnter","value","runOpenDelay","runCloseDelay","availableEvents","click","e","stopPropagation","currentTarget","target","mouseenter","mouseleave","focus","matches","blur","activatorEvents","events","contentEvents","menu","closeParents","scrimEvents","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 let firstEnter = true\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 if (isActive.value !== value) {\n firstEnter = true\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 const scrimEvents = computed(() => {\n const events: Partial<typeof availableEvents> = {}\n if (props.openOnHover) {\n events.mouseenter = () => {\n if (firstEnter) {\n isHovered = true\n firstEnter = false\n runOpenDelay()\n }\n }\n events.mouseleave = () => {\n isHovered = false\n runCloseDelay()\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, scrimEvents }\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":"AAAA;SACSA,c,EAAgBC,Q;SAChBC,W,+BAET;;SACSC,kB,EAAoBC,U,EAAYC,mB,EAAqBC,Y,EAAcC,sB;AAC5E,SACEC,QADF,EAEEC,WAFF,EAGEC,MAHF,EAIEC,QAJF,EAKEC,cALF,EAMEC,GANF,EAOEC,KAPF,EAQEC,WARF,QASO,KATP,C,CAWA;;AAqBA,OAAO,MAAMC,kBAAkB,GAAGV,YAAY,CAAC;EAC7CW,SAAS,EAAE,CAACC,MAAD,EAASC,MAAT,CADkC;EAE7CC,cAAc,EAAE;IACdC,IAAI,EAAEF,MADQ;IAEdG,OAAO,EAAE,OAAO,EAAP;EAFK,CAF6B;EAO7CC,WAAW,EAAE;IACXF,IAAI,EAAEG,OADK;IAEXF,OAAO,EAAEG;EAFE,CAPgC;EAW7CC,WAAW,EAAEF,OAXgC;EAY7CG,WAAW,EAAE;IACXN,IAAI,EAAEG,OADK;IAEXF,OAAO,EAAEG;EAFE,CAZgC;EAiB7CG,mBAAmB,EAAEJ,OAjBwB;EAmB7C,GAAGxB,cAAc;AAnB4B,CAAD,CAAvC;AAsBP,OAAO,SAAS6B,YAAT,CACLC,KADK,QAGL;EAAA,IADA;IAAEC,QAAF;IAAYC;EAAZ,CACA;EACA,MAAMC,WAAW,GAAGpB,GAAG,EAAvB;EAEA,IAAIqB,SAAS,GAAG,KAAhB;EACA,IAAIC,SAAS,GAAG,KAAhB;EACA,IAAIC,UAAU,GAAG,IAAjB;EAEA,MAAMT,WAAW,GAAGnB,QAAQ,CAAC,MAAMsB,KAAK,CAACH,WAAN,IAAsBG,KAAK,CAACH,WAAN,IAAqB,IAArB,IAA6BG,KAAK,CAACJ,WAAhE,CAA5B;EACA,MAAMH,WAAW,GAAGf,QAAQ,CAAC,MAAMsB,KAAK,CAACP,WAAN,IAAsBO,KAAK,CAACP,WAAN,IAAqB,IAArB,IAA6B,CAACO,KAAK,CAACJ,WAApC,IAAmD,CAACC,WAAW,CAACU,KAA7F,CAA5B;EAEA,MAAM;IAAEC,YAAF;IAAgBC;EAAhB,IAAkCtC,QAAQ,CAAC6B,KAAD,EAAQO,KAAK,IAAI;IAC/D,IACEA,KAAK,MACFP,KAAK,CAACJ,WAAN,IAAqBQ,SAAtB,IACCP,WAAW,CAACU,KAAZ,IAAqBF,SAFnB,CAAL,IAGK,EAAEL,KAAK,CAACJ,WAAN,IAAqBK,QAAQ,CAACM,KAA9B,IAAuC,CAACL,KAAK,CAACK,KAAhD,CAJP,EAKE;MACA,IAAIN,QAAQ,CAACM,KAAT,KAAmBA,KAAvB,EAA8B;QAC5BD,UAAU,GAAG,IAAb;MACD;;MACDL,QAAQ,CAACM,KAAT,GAAiBA,KAAjB;IACD;EACF,CAZ+C,CAAhD;EAcA,MAAMG,eAAe,GAAG;IACtBC,KAAK,EAAGC,CAAD,IAAmB;MACxBA,CAAC,CAACC,eAAF;MACAV,WAAW,CAACI,KAAZ,GAAqBK,CAAC,CAACE,aAAF,IAAmBF,CAAC,CAACG,MAA1C;MACAd,QAAQ,CAACM,KAAT,GAAiB,CAACN,QAAQ,CAACM,KAA3B;IACD,CALqB;IAMtBS,UAAU,EAAGJ,CAAD,IAAmB;MAC7BR,SAAS,GAAG,IAAZ;MACAD,WAAW,CAACI,KAAZ,GAAqBK,CAAC,CAACE,aAAF,IAAmBF,CAAC,CAACG,MAA1C;MACAP,YAAY;IACb,CAVqB;IAWtBS,UAAU,EAAGL,CAAD,IAAmB;MAC7BR,SAAS,GAAG,KAAZ;MACAK,aAAa;IACd,CAdqB;IAetBS,KAAK,EAAGN,CAAD,IAAmB;MACxB,IACEnC,sBAAsB,IACtB,CAAEmC,CAAC,CAACG,MAAH,CAA0BI,OAA1B,CAAkC,gBAAlC,CAFH,EAGE;MAEFd,SAAS,GAAG,IAAZ;MACAO,CAAC,CAACC,eAAF;MACAV,WAAW,CAACI,KAAZ,GAAqBK,CAAC,CAACE,aAAF,IAAmBF,CAAC,CAACG,MAA1C;MAEAP,YAAY;IACb,CA1BqB;IA2BtBY,IAAI,EAAGR,CAAD,IAAmB;MACvBP,SAAS,GAAG,KAAZ;MACAO,CAAC,CAACC,eAAF;MAEAJ,aAAa;IACd;EAhCqB,CAAxB;EAmCA,MAAMY,eAAe,GAAG3C,QAAQ,CAAC,MAAM;IACrC,MAAM4C,MAAuC,GAAG,EAAhD;;IAEA,IAAI7B,WAAW,CAACc,KAAhB,EAAuB;MACrBe,MAAM,CAACX,KAAP,GAAeD,eAAe,CAACC,KAA/B;IACD;;IACD,IAAIX,KAAK,CAACJ,WAAV,EAAuB;MACrB0B,MAAM,CAACN,UAAP,GAAoBN,eAAe,CAACM,UAApC;MACAM,MAAM,CAACL,UAAP,GAAoBP,eAAe,CAACO,UAApC;IACD;;IACD,IAAIpB,WAAW,CAACU,KAAhB,EAAuB;MACrBe,MAAM,CAACJ,KAAP,GAAeR,eAAe,CAACQ,KAA/B;MACAI,MAAM,CAACF,IAAP,GAAcV,eAAe,CAACU,IAA9B;IACD;;IAED,OAAOE,MAAP;EACD,CAhB+B,CAAhC;EAkBA,MAAMC,aAAa,GAAG7C,QAAQ,CAAC,MAAM;IACnC,MAAM4C,MAAuC,GAAG,EAAhD;;IAEA,IAAItB,KAAK,CAACJ,WAAV,EAAuB;MACrB0B,MAAM,CAACN,UAAP,GAAoB,MAAM;QACxBZ,SAAS,GAAG,IAAZ;QACAI,YAAY;MACb,CAHD;;MAIAc,MAAM,CAACL,UAAP,GAAoB,MAAM;QACxBb,SAAS,GAAG,KAAZ;QACAK,aAAa;MACd,CAHD;IAID;;IAED,IAAIT,KAAK,CAACF,mBAAV,EAA+B;MAC7B,MAAM0B,IAAI,GAAG5C,MAAM,CAACR,WAAD,EAAc,IAAd,CAAnB;;MACAkD,MAAM,CAACX,KAAP,GAAe,MAAM;QACnBV,QAAQ,CAACM,KAAT,GAAiB,KAAjB;QACAiB,IAAI,QAAJ,YAAAA,IAAI,CAAEC,YAAN;MACD,CAHD;IAID;;IAED,OAAOH,MAAP;EACD,CAvB6B,CAA9B;EAyBA,MAAMI,WAAW,GAAGhD,QAAQ,CAAC,MAAM;IACjC,MAAM4C,MAAuC,GAAG,EAAhD;;IACA,IAAItB,KAAK,CAACJ,WAAV,EAAuB;MACrB0B,MAAM,CAACN,UAAP,GAAoB,MAAM;QACxB,IAAIV,UAAJ,EAAgB;UACdF,SAAS,GAAG,IAAZ;UACAE,UAAU,GAAG,KAAb;UACAE,YAAY;QACb;MACF,CAND;;MAOAc,MAAM,CAACL,UAAP,GAAoB,MAAM;QACxBb,SAAS,GAAG,KAAZ;QACAK,aAAa;MACd,CAHD;IAID;;IAED,OAAOa,MAAP;EACD,CAjB2B,CAA5B;EAmBAtC,KAAK,CAACkB,KAAD,EAAQyB,GAAG,IAAI;IAClB,IAAIA,GAAG,KACJ3B,KAAK,CAACJ,WAAN,IAAqB,CAACQ,SAAtB,KAAoC,CAACP,WAAW,CAACU,KAAb,IAAsB,CAACF,SAA3D,CAAD,IACCR,WAAW,CAACU,KAAZ,IAAqB,CAACF,SAAtB,KAAoC,CAACL,KAAK,CAACJ,WAAP,IAAsB,CAACQ,SAA3D,CAFI,CAAP,EAGG;MACDH,QAAQ,CAACM,KAAT,GAAiB,KAAjB;IACD;EACF,CAPI,CAAL;EASA,MAAMqB,YAAY,GAAG7C,GAAG,EAAxB;EACAE,WAAW,CAAC,MAAM;IAChB,IAAI,CAAC2C,YAAY,CAACrB,KAAlB,EAAyB;IAEzB1B,QAAQ,CAAC,MAAM;MACb,MAAMM,SAAS,GAAGyC,YAAY,CAACrB,KAA/B;MACAJ,WAAW,CAACI,KAAZ,GAAoBhC,mBAAmB,CAACY,SAAD,CAAnB,GAAiCA,SAAS,CAAC0C,GAA3C,GAAiD1C,SAArE;IACD,CAHO,CAAR;EAID,CAPU,CAAX;EASA,MAAM2C,EAAE,GAAGzD,kBAAkB,CAAC,cAAD,CAA7B;EACA,IAAI0D,KAAJ;EACA/C,KAAK,CAAC,MAAM,CAAC,CAACgB,KAAK,CAACb,SAAf,EAA0BwC,GAAG,IAAI;IACpC,IAAIA,GAAG,IAAIrD,UAAX,EAAuB;MACrByD,KAAK,GAAGpD,WAAW,EAAnB;MACAoD,KAAK,CAACC,GAAN,CAAU,MAAM;QACdC,aAAa,CAACjC,KAAD,EAAQ8B,EAAR,EAAY;UAAE3B,WAAF;UAAekB;QAAf,CAAZ,CAAb;MACD,CAFD;IAGD,CALD,MAKO,IAAIU,KAAJ,EAAW;MAChBA,KAAK,CAACG,IAAN;IACD;EACF,CATI,EASF;IAAEC,KAAK,EAAE,MAAT;IAAiBC,SAAS,EAAE;EAA5B,CATE,CAAL;EAWA,OAAO;IAAEjC,WAAF;IAAeyB,YAAf;IAA6BP,eAA7B;IAA8CE,aAA9C;IAA6DG;EAA7D,CAAP;AACD;;AAED,SAASO,aAAT,CACEjC,KADF,EAEE8B,EAFF,SAIE;EAAA,IADA;IAAE3B,WAAF;IAAekB;EAAf,CACA;EACArC,KAAK,CAAC,MAAMgB,KAAK,CAACb,SAAb,EAAwB,CAACwC,GAAD,EAAMU,MAAN,KAAiB;IAC5C,IAAIA,MAAM,IAAIV,GAAG,KAAKU,MAAtB,EAA8B;MAC5B,MAAMlD,SAAS,GAAGmD,YAAY,CAACD,MAAD,CAA9B;MACAlD,SAAS,IAAIoD,oBAAoB,CAACpD,SAAD,CAAjC;IACD;;IACD,IAAIwC,GAAJ,EAAS;MACP9C,QAAQ,CAAC,MAAM2D,kBAAkB,EAAzB,CAAR;IACD;EACF,CARI,EAQF;IAAEJ,SAAS,EAAE;EAAb,CARE,CAAL;EAUApD,KAAK,CAAC,MAAMgB,KAAK,CAACV,cAAb,EAA6B,MAAM;IACtCkD,kBAAkB;EACnB,CAFI,CAAL;EAIA1D,cAAc,CAAC,MAAM;IACnByD,oBAAoB;EACrB,CAFa,CAAd;;EAIA,SAASC,kBAAT,GAAiF;IAAA,IAApDC,EAAoD,uEAA/CH,YAAY,EAAmC;;IAAA,IAA/BI,MAA+B,uEAAtB1C,KAAK,CAACV,cAAgB;;IAC/E,IAAI,CAACmD,EAAL,EAAS;IAETpD,MAAM,CAACsD,OAAP,CAAetB,eAAe,CAACd,KAA/B,EAAsCqC,OAAtC,CAA8C,SAAgB;MAAA,IAAf,CAACC,IAAD,EAAOC,EAAP,CAAe;MAC5DL,EAAE,CAACM,gBAAH,CAAoBF,IAApB,EAA0BC,EAA1B;IACD,CAFD;IAIAzD,MAAM,CAAC2D,IAAP,CAAYN,MAAZ,EAAoBE,OAApB,CAA4BK,CAAC,IAAI;MAC/B,IAAIP,MAAM,CAACO,CAAD,CAAN,IAAa,IAAjB,EAAuB;QACrBR,EAAE,CAACS,eAAH,CAAmBD,CAAnB;MACD,CAFD,MAEO;QACLR,EAAE,CAACU,YAAH,CAAgBF,CAAhB,EAAmBP,MAAM,CAACO,CAAD,CAAzB;MACD;IACF,CAND;EAOD;;EAED,SAASV,oBAAT,GAAmF;IAAA,IAApDE,EAAoD,uEAA/CH,YAAY,EAAmC;;IAAA,IAA/BI,MAA+B,uEAAtB1C,KAAK,CAACV,cAAgB;;IACjF,IAAI,CAACmD,EAAL,EAAS;IAETpD,MAAM,CAACsD,OAAP,CAAetB,eAAe,CAACd,KAA/B,EAAsCqC,OAAtC,CAA8C,SAAgB;MAAA,IAAf,CAACC,IAAD,EAAOC,EAAP,CAAe;MAC5DL,EAAE,CAACW,mBAAH,CAAuBP,IAAvB,EAA6BC,EAA7B;IACD,CAFD;IAIAzD,MAAM,CAAC2D,IAAP,CAAYN,MAAZ,EAAoBE,OAApB,CAA4BK,CAAC,IAAI;MAC/BR,EAAE,CAACS,eAAH,CAAmBD,CAAnB;IACD,CAFD;EAGD;;EAED,SAASX,YAAT,GAA4E;IAAA;;IAAA,IAArDe,QAAqD,uEAA1CrD,KAAK,CAACb,SAAoC;IAC1E,IAAIA,SAAJ;;IACA,IAAIkE,QAAJ,EAAc;MACZ,IAAIA,QAAQ,KAAK,QAAjB,EAA2B;QAAA;;QACzB,IAAIZ,EAAE,GAAGX,EAAH,iCAAGA,EAAE,CAAEwB,KAAP,sCAAG,UAAWzB,GAAd,qBAAG,cAAgB0B,UAAzB;;QACA,OAAOd,EAAE,CAACe,YAAH,CAAgB,mBAAhB,CAAP,EAA6C;UAC3Cf,EAAE,GAAGA,EAAE,CAACc,UAAR;QACD;;QACDpE,SAAS,GAAGsD,EAAZ;MACD,CAND,MAMO,IAAI,OAAOY,QAAP,KAAoB,QAAxB,EAAkC;QACvC;QACAlE,SAAS,GAAGsE,QAAQ,CAACC,aAAT,CAAuBL,QAAvB,CAAZ;MACD,CAHM,MAGA,IAAI,SAASA,QAAb,EAAuB;QAC5B;QACAlE,SAAS,GAAGkE,QAAQ,CAACxB,GAArB;MACD,CAHM,MAGA;QACL;QACA1C,SAAS,GAAGkE,QAAZ;MACD;IACF,CAnByE,CAqB1E;;;IACAlD,WAAW,CAACI,KAAZ,GAAoB,eAAApB,SAAS,SAAT,uBAAWwE,QAAX,MAAwBC,IAAI,CAACC,YAA7B,GAA4C1E,SAA5C,GAAwD,IAA5E;IAEA,OAAOgB,WAAW,CAACI,KAAnB;EACD;AACF"}
@@ -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,38 @@ 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.offsetWidth + parseFloat(getComputedStyle(firstItem).marginRight) * 2;
147
+ const minButtons = props.showFirstLastPage ? 5 : 3;
148
+ maxButtons.value = Math.max(0, Math.floor( // Round to two decimal places to avoid floating point errors
149
+ +((totalWidth - itemWidth * minButtons) / itemWidth).toFixed(2)));
145
150
  });
146
151
  const length = computed(() => parseInt(props.length, 10));
147
152
  const start = computed(() => parseInt(props.start, 10));
148
153
  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;
154
+ if (props.totalVisible) return parseInt(props.totalVisible, 10);else if (maxButtons.value >= 0) return maxButtons.value;
152
155
  return length.value;
153
156
  });
154
157
  const range = computed(() => {
155
- if (length.value <= 0) return [];
158
+ if (length.value <= 0 || isNaN(length.value) || length.value > Number.MAX_SAFE_INTEGER) return [];
159
+ if (totalVisible.value <= 1) return [page.value];
156
160
 
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) {
161
+ if (length.value <= totalVisible.value) {
162
162
  return createRange(length.value, start.value);
163
163
  }
164
164
 
165
- const middle = Math.ceil(totalVisible.value / 2);
166
- const left = middle;
165
+ const even = totalVisible.value % 2 === 0;
166
+ const middle = even ? totalVisible.value / 2 : Math.floor(totalVisible.value / 2);
167
+ const left = even ? middle : middle + 1;
167
168
  const right = length.value - middle;
168
169
 
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;
170
+ if (left - page.value >= 0) {
171
+ return [...createRange(Math.max(1, totalVisible.value - 1), start.value), props.ellipsis, length.value];
172
+ } else if (page.value - right >= (even ? 1 : 0)) {
173
+ const rangeLength = totalVisible.value - 1;
173
174
  const rangeStart = length.value - rangeLength + start.value;
174
175
  return [start.value, props.ellipsis, ...createRange(rangeLength, rangeStart)];
175
176
  } else {
176
- const rangeLength = Math.max(1, totalVisible.value - 4);
177
+ const rangeLength = Math.max(1, totalVisible.value - 3);
177
178
  const rangeStart = rangeLength === 1 ? page.value : page.value - Math.ceil(rangeLength / 2) + start.value;
178
179
  return [start.value, props.ellipsis, ...createRange(rangeLength, rangeStart), props.ellipsis, length.value];
179
180
  }
@@ -190,7 +191,8 @@ export const VPagination = defineComponent({
190
191
  updateRef
191
192
  } = useRefs();
192
193
  provideDefaults({
193
- VBtn: {
194
+ VPaginationBtn: {
195
+ color: toRef(props, 'color'),
194
196
  border: toRef(props, 'border'),
195
197
  density: toRef(props, 'density'),
196
198
  size: toRef(props, 'size'),
@@ -204,6 +206,7 @@ export const VPagination = defineComponent({
204
206
  if (typeof item === 'string') {
205
207
  return {
206
208
  isActive: false,
209
+ key: `ellipsis-${index}`,
207
210
  page: item,
208
211
  props: {
209
212
  ref,
@@ -216,6 +219,7 @@ export const VPagination = defineComponent({
216
219
  const isActive = item === page.value;
217
220
  return {
218
221
  isActive,
222
+ key: item,
219
223
  page: n(item),
220
224
  props: {
221
225
  ref,
@@ -224,7 +228,7 @@ export const VPagination = defineComponent({
224
228
  disabled: !!props.disabled || props.length < 2,
225
229
  elevation: props.elevation,
226
230
  rounded: props.rounded,
227
- color: isActive ? props.color : undefined,
231
+ color: isActive ? props.activeColor : props.color,
228
232
  ariaCurrent: isActive,
229
233
  ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, index + 1),
230
234
  onClick: e => setValue(e, item)
@@ -285,7 +289,7 @@ export const VPagination = defineComponent({
285
289
  }
286
290
  }
287
291
 
288
- return () => _createVNode(props.tag, {
292
+ useRender(() => _createVNode(props.tag, {
289
293
  "ref": resizeRef,
290
294
  "class": ['v-pagination', themeClasses.value],
291
295
  "role": "navigation",
@@ -296,27 +300,42 @@ export const VPagination = defineComponent({
296
300
  default: () => [_createVNode("ul", {
297
301
  "class": "v-pagination__list"
298
302
  }, [props.showFirstLastPage && _createVNode("li", {
303
+ "key": "first",
299
304
  "class": "v-pagination__first",
300
305
  "data-test": "v-pagination-first"
301
- }, [slots.first ? slots.first(controls.value.first) : _createVNode(VBtn, controls.value.first, null)]), _createVNode("li", {
306
+ }, [slots.first ? slots.first(controls.value.first) : _createVNode(VBtn, _mergeProps({
307
+ "_as": "VPaginationBtn"
308
+ }, controls.value.first), null)]), _createVNode("li", {
309
+ "key": "prev",
302
310
  "class": "v-pagination__prev",
303
311
  "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}`,
312
+ }, [slots.prev ? slots.prev(controls.value.prev) : _createVNode(VBtn, _mergeProps({
313
+ "_as": "VPaginationBtn"
314
+ }, controls.value.prev), null)]), items.value.map((item, index) => _createVNode("li", {
315
+ "key": item.key,
306
316
  "class": ['v-pagination__item', {
307
317
  'v-pagination__item--is-active': item.isActive
308
318
  }],
309
319
  "data-test": "v-pagination-item"
310
- }, [slots.item ? slots.item(item) : _createVNode(VBtn, item.props, {
320
+ }, [slots.item ? slots.item(item) : _createVNode(VBtn, _mergeProps({
321
+ "_as": "VPaginationBtn"
322
+ }, item.props), {
311
323
  default: () => [item.page]
312
324
  })])), _createVNode("li", {
325
+ "key": "next",
313
326
  "class": "v-pagination__next",
314
327
  "data-test": "v-pagination-next"
315
- }, [slots.next ? slots.next(controls.value.next) : _createVNode(VBtn, controls.value.next, null)]), props.showFirstLastPage && _createVNode("li", {
328
+ }, [slots.next ? slots.next(controls.value.next) : _createVNode(VBtn, _mergeProps({
329
+ "_as": "VPaginationBtn"
330
+ }, controls.value.next), null)]), props.showFirstLastPage && _createVNode("li", {
331
+ "key": "last",
316
332
  "class": "v-pagination__last",
317
333
  "data-test": "v-pagination-last"
318
- }, [slots.last ? slots.last(controls.value.last) : _createVNode(VBtn, controls.value.last, null)])])]
319
- });
334
+ }, [slots.last ? slots.last(controls.value.last) : _createVNode(VBtn, _mergeProps({
335
+ "_as": "VPaginationBtn"
336
+ }, controls.value.last), null)])])]
337
+ }));
338
+ return {};
320
339
  }
321
340
 
322
341
  });