@vuetify/nightly 3.0.0-alpha.3 → 3.0.0-beta.2

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 (1247) hide show
  1. package/CHANGELOG.md +41 -98
  2. package/dist/json/attributes.json +5378 -0
  3. package/dist/json/importMap.json +585 -0
  4. package/dist/json/tags.json +1933 -0
  5. package/dist/json/web-types.json +18314 -0
  6. package/dist/vuetify.css +12154 -8451
  7. package/dist/vuetify.d.ts +15974 -0
  8. package/dist/vuetify.esm.js +17658 -0
  9. package/dist/vuetify.esm.js.map +1 -0
  10. package/dist/vuetify.js +16972 -9378
  11. package/dist/vuetify.js.map +1 -1
  12. package/dist/vuetify.min.css +6 -3
  13. package/dist/vuetify.min.js +1466 -5252
  14. package/dist/vuetify.min.js.map +1 -1
  15. package/lib/components/VAlert/VAlert.css +214 -0
  16. package/lib/components/VAlert/VAlert.mjs +157 -206
  17. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  18. package/lib/components/VAlert/VAlert.sass +106 -159
  19. package/lib/components/VAlert/VAlertTitle.mjs +4 -0
  20. package/lib/components/VAlert/VAlertTitle.mjs.map +1 -0
  21. package/lib/components/VAlert/_variables.scss +50 -14
  22. package/lib/components/VAlert/index.mjs +2 -3
  23. package/lib/components/VAlert/index.mjs.map +1 -1
  24. package/lib/components/VApp/VApp.css +29 -0
  25. package/lib/components/VApp/VApp.mjs +36 -22
  26. package/lib/components/VApp/VApp.mjs.map +1 -1
  27. package/lib/components/VApp/VApp.sass +1 -4
  28. package/lib/components/VApp/index.mjs +1 -1
  29. package/lib/components/VApp/index.mjs.map +1 -1
  30. package/lib/components/VAppBar/VAppBar.css +10 -0
  31. package/lib/components/VAppBar/VAppBar.mjs +63 -227
  32. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  33. package/lib/components/VAppBar/VAppBar.sass +8 -54
  34. package/lib/components/VAppBar/VAppBarNavIcon.mjs +24 -25
  35. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  36. package/lib/components/VAppBar/VAppBarTitle.mjs +15 -62
  37. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  38. package/lib/components/VAppBar/_variables.scss +39 -4
  39. package/lib/components/VAppBar/index.mjs +3 -11
  40. package/lib/components/VAppBar/index.mjs.map +1 -1
  41. package/lib/components/VAutocomplete/VAutocomplete.css +57 -0
  42. package/lib/components/VAutocomplete/VAutocomplete.mjs +240 -357
  43. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  44. package/lib/components/VAutocomplete/VAutocomplete.sass +69 -33
  45. package/lib/components/VAutocomplete/_variables.scss +7 -4
  46. package/lib/components/VAutocomplete/index.mjs +1 -3
  47. package/lib/components/VAutocomplete/index.mjs.map +1 -1
  48. package/lib/components/VAvatar/VAvatar.css +43 -0
  49. package/lib/components/VAvatar/VAvatar.mjs +49 -27
  50. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  51. package/lib/components/VAvatar/VAvatar.sass +9 -13
  52. package/lib/components/VAvatar/_mixins.scss +32 -0
  53. package/lib/components/VAvatar/_variables.scss +19 -8
  54. package/lib/components/VAvatar/index.mjs +1 -1
  55. package/lib/components/VAvatar/index.mjs.map +1 -1
  56. package/lib/components/VBadge/VBadge.css +74 -0
  57. package/lib/components/VBadge/VBadge.mjs +51 -35
  58. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  59. package/lib/components/VBadge/VBadge.sass +5 -5
  60. package/lib/components/VBadge/_variables.scss +11 -3
  61. package/lib/components/VBadge/index.mjs +1 -1
  62. package/lib/components/VBadge/index.mjs.map +1 -1
  63. package/lib/components/VBanner/VBanner.css +157 -0
  64. package/lib/components/VBanner/VBanner.mjs +75 -46
  65. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  66. package/lib/components/VBanner/VBanner.sass +80 -122
  67. package/lib/components/VBanner/VBannerActions.mjs +35 -0
  68. package/lib/components/VBanner/VBannerActions.mjs.map +1 -0
  69. package/lib/components/VBanner/VBannerAvatar.mjs +20 -0
  70. package/lib/components/VBanner/VBannerAvatar.mjs.map +1 -0
  71. package/lib/components/VBanner/VBannerIcon.mjs +20 -0
  72. package/lib/components/VBanner/VBannerIcon.mjs.map +1 -0
  73. package/lib/components/VBanner/VBannerText.mjs +3 -0
  74. package/lib/components/VBanner/VBannerText.mjs.map +1 -0
  75. package/lib/components/VBanner/_variables.scss +37 -45
  76. package/lib/components/VBanner/index.mjs +5 -1
  77. package/lib/components/VBanner/index.mjs.map +1 -1
  78. package/lib/components/VBottomNavigation/VBottomNavigation.css +61 -0
  79. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +104 -111
  80. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  81. package/lib/components/VBottomNavigation/VBottomNavigation.sass +48 -74
  82. package/lib/components/VBottomNavigation/_variables.scss +42 -6
  83. package/lib/components/VBottomNavigation/index.mjs +1 -3
  84. package/lib/components/VBottomNavigation/index.mjs.map +1 -1
  85. package/lib/components/VBottomSheet/VBottomSheet.mjs +1 -1
  86. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  87. package/lib/components/VBreadcrumbs/VBreadcrumbs.css +48 -0
  88. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +81 -51
  89. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  90. package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +26 -30
  91. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs +2 -5
  92. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  93. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +56 -35
  94. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  95. package/lib/components/VBreadcrumbs/_variables.scss +15 -7
  96. package/lib/components/VBreadcrumbs/index.mjs +3 -11
  97. package/lib/components/VBreadcrumbs/index.mjs.map +1 -1
  98. package/lib/components/VBreadcrumbs/shared.mjs +2 -0
  99. package/lib/components/VBreadcrumbs/shared.mjs.map +1 -0
  100. package/lib/components/VBtn/VBtn.css +319 -0
  101. package/lib/components/VBtn/VBtn.mjs +103 -67
  102. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  103. package/lib/components/VBtn/VBtn.sass +101 -34
  104. package/lib/components/VBtn/_mixins.scss +31 -7
  105. package/lib/components/VBtn/_variables.scss +66 -29
  106. package/lib/components/VBtn/index.mjs +1 -1
  107. package/lib/components/VBtn/index.mjs.map +1 -1
  108. package/lib/components/VBtnGroup/VBtnGroup.css +57 -0
  109. package/lib/components/VBtnGroup/VBtnGroup.mjs +67 -0
  110. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -0
  111. package/lib/components/VBtnGroup/VBtnGroup.sass +52 -0
  112. package/lib/components/VBtnGroup/_variables.scss +25 -0
  113. package/lib/components/VBtnGroup/index.mjs +2 -0
  114. package/lib/components/VBtnGroup/index.mjs.map +1 -0
  115. package/lib/components/VBtnToggle/VBtnToggle.css +3 -0
  116. package/lib/components/VBtnToggle/VBtnToggle.mjs +45 -39
  117. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  118. package/lib/components/VBtnToggle/VBtnToggle.sass +5 -95
  119. package/lib/components/VBtnToggle/_variables.scss +3 -10
  120. package/lib/components/VBtnToggle/index.mjs +1 -3
  121. package/lib/components/VBtnToggle/index.mjs.map +1 -1
  122. package/lib/components/VCalendar/VCalendar.mjs +15 -6
  123. package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
  124. package/lib/components/VCalendar/VCalendarCategory.mjs +5 -4
  125. package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
  126. package/lib/components/VCalendar/VCalendarCategory.sass +67 -0
  127. package/lib/components/VCalendar/VCalendarDaily.mjs +1 -1
  128. package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
  129. package/lib/components/VCalendar/VCalendarMonthly.mjs +1 -1
  130. package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
  131. package/lib/components/VCalendar/VCalendarWeekly.mjs +1 -1
  132. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
  133. package/lib/components/VCalendar/_variables.scss +4 -0
  134. package/lib/components/VCalendar/mixins/calendar-base.mjs +5 -4
  135. package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
  136. package/lib/components/VCalendar/mixins/calendar-with-events.mjs +40 -33
  137. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
  138. package/lib/components/VCalendar/mixins/calendar-with-events.sass +7 -1
  139. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs +2 -1
  140. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
  141. package/lib/components/VCalendar/mixins/mouse.mjs +20 -1
  142. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  143. package/lib/components/VCalendar/modes/common.mjs +7 -3
  144. package/lib/components/VCalendar/modes/common.mjs.map +1 -1
  145. package/lib/components/VCalendar/modes/stack.mjs +2 -1
  146. package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
  147. package/lib/components/VCalendar/util/events.mjs +8 -3
  148. package/lib/components/VCalendar/util/events.mjs.map +1 -1
  149. package/lib/components/VCalendar/util/parser.mjs +1 -3
  150. package/lib/components/VCalendar/util/parser.mjs.map +1 -1
  151. package/lib/components/VCalendar/util/timestamp.mjs +24 -12
  152. package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
  153. package/lib/components/VCard/VCard.css +270 -0
  154. package/lib/components/VCard/VCard.mjs +163 -65
  155. package/lib/components/VCard/VCard.mjs.map +1 -1
  156. package/lib/components/VCard/VCard.sass +147 -119
  157. package/lib/components/VCard/VCardActions.mjs +29 -0
  158. package/lib/components/VCard/VCardActions.mjs.map +1 -0
  159. package/lib/components/VCard/VCardAvatar.mjs +3 -0
  160. package/lib/components/VCard/VCardAvatar.mjs.map +1 -0
  161. package/lib/components/VCard/VCardContent.mjs +3 -0
  162. package/lib/components/VCard/VCardContent.mjs.map +1 -0
  163. package/lib/components/VCard/VCardHeader.mjs +3 -0
  164. package/lib/components/VCard/VCardHeader.mjs.map +1 -0
  165. package/lib/components/VCard/VCardHeaderText.mjs +3 -0
  166. package/lib/components/VCard/VCardHeaderText.mjs.map +1 -0
  167. package/lib/components/VCard/VCardImg.mjs +3 -0
  168. package/lib/components/VCard/VCardImg.mjs.map +1 -0
  169. package/lib/components/VCard/VCardSubtitle.mjs +3 -0
  170. package/lib/components/VCard/VCardSubtitle.mjs.map +1 -0
  171. package/lib/components/VCard/VCardText.mjs +3 -0
  172. package/lib/components/VCard/VCardText.mjs.map +1 -0
  173. package/lib/components/VCard/VCardTitle.mjs +3 -0
  174. package/lib/components/VCard/VCardTitle.mjs.map +1 -0
  175. package/lib/components/VCard/_mixins.scss +13 -0
  176. package/lib/components/VCard/_variables.scss +106 -26
  177. package/lib/components/VCard/index.mjs +10 -16
  178. package/lib/components/VCard/index.mjs.map +1 -1
  179. package/lib/components/VCarousel/VCarousel.css +63 -0
  180. package/lib/components/VCarousel/VCarousel.mjs +99 -185
  181. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  182. package/lib/components/VCarousel/VCarousel.sass +7 -2
  183. package/lib/components/VCarousel/VCarouselItem.mjs +22 -42
  184. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  185. package/lib/components/VCarousel/_variables.scss +1 -3
  186. package/lib/components/VCarousel/index.mjs +2 -9
  187. package/lib/components/VCarousel/index.mjs.map +1 -1
  188. package/lib/components/VCheckbox/VCheckbox.css +3 -0
  189. package/lib/components/VCheckbox/VCheckbox.mjs +56 -83
  190. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  191. package/lib/components/VCheckbox/VCheckbox.sass +8 -8
  192. package/lib/components/VCheckbox/_variables.scss +2 -4
  193. package/lib/components/VCheckbox/index.mjs +1 -9
  194. package/lib/components/VCheckbox/index.mjs.map +1 -1
  195. package/lib/components/VChip/VChip.css +276 -0
  196. package/lib/components/VChip/VChip.mjs +153 -143
  197. package/lib/components/VChip/VChip.mjs.map +1 -1
  198. package/lib/components/VChip/VChip.sass +41 -177
  199. package/lib/components/VChip/_mixins.scss +65 -0
  200. package/lib/components/VChip/_variables.scss +48 -49
  201. package/lib/components/VChip/index.mjs +1 -3
  202. package/lib/components/VChip/index.mjs.map +1 -1
  203. package/lib/components/VChipGroup/VChipGroup.css +18 -0
  204. package/lib/components/VChipGroup/VChipGroup.mjs +66 -38
  205. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  206. package/lib/components/VChipGroup/VChipGroup.sass +11 -17
  207. package/lib/components/VChipGroup/_variables.scss +3 -5
  208. package/lib/components/VChipGroup/index.mjs +1 -3
  209. package/lib/components/VChipGroup/index.mjs.map +1 -1
  210. package/lib/components/VCode/VCode.css +7 -0
  211. package/lib/components/VCode/VCode.sass +9 -0
  212. package/lib/components/VCode/_variables.scss +5 -0
  213. package/lib/components/VCode/index.mjs +4 -0
  214. package/lib/components/VCode/index.mjs.map +1 -0
  215. package/lib/components/VColorPicker/VColorPicker.css +21 -0
  216. package/lib/components/VColorPicker/VColorPicker.mjs +103 -133
  217. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  218. package/lib/components/VColorPicker/VColorPicker.sass +10 -17
  219. package/lib/components/VColorPicker/VColorPickerCanvas.css +21 -0
  220. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +139 -121
  221. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  222. package/lib/components/VColorPicker/VColorPickerCanvas.sass +5 -3
  223. package/lib/components/VColorPicker/VColorPickerEdit.css +31 -0
  224. package/lib/components/VColorPicker/VColorPickerEdit.mjs +74 -134
  225. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  226. package/lib/components/VColorPicker/VColorPickerEdit.sass +9 -6
  227. package/lib/components/VColorPicker/VColorPickerPreview.css +67 -0
  228. package/lib/components/VColorPicker/VColorPickerPreview.mjs +65 -83
  229. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  230. package/lib/components/VColorPicker/VColorPickerPreview.sass +42 -39
  231. package/lib/components/VColorPicker/VColorPickerSwatches.css +35 -0
  232. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +34 -54
  233. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  234. package/lib/components/VColorPicker/VColorPickerSwatches.sass +6 -4
  235. package/lib/components/VColorPicker/_variables.scss +5 -9
  236. package/lib/components/VColorPicker/index.mjs +1 -5
  237. package/lib/components/VColorPicker/index.mjs.map +1 -1
  238. package/lib/components/VColorPicker/util/index.mjs +141 -97
  239. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  240. package/lib/components/VCombobox/VCombobox.css +66 -0
  241. package/lib/components/VCombobox/VCombobox.mjs +336 -200
  242. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  243. package/lib/components/VCombobox/VCombobox.sass +91 -0
  244. package/lib/components/VCombobox/_variables.scss +8 -0
  245. package/lib/components/VCombobox/index.mjs +1 -3
  246. package/lib/components/VCombobox/index.mjs.map +1 -1
  247. package/lib/components/VCounter/VCounter.css +6 -0
  248. package/lib/components/VCounter/VCounter.mjs +36 -27
  249. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  250. package/lib/components/VCounter/VCounter.sass +5 -7
  251. package/lib/components/VCounter/_variables.scss +3 -2
  252. package/lib/components/VCounter/index.mjs +1 -3
  253. package/lib/components/VCounter/index.mjs.map +1 -1
  254. package/lib/components/VData/VData.mjs +8 -3
  255. package/lib/components/VData/VData.mjs.map +1 -1
  256. package/lib/components/VDataIterator/VDataFooter.mjs +1 -1
  257. package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
  258. package/lib/components/VDataIterator/VDataIterator.mjs +20 -8
  259. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  260. package/lib/components/VDataIterator/_variables.scss +2 -2
  261. package/lib/components/VDataTable/MobileRow.mjs +6 -5
  262. package/lib/components/VDataTable/MobileRow.mjs.map +1 -1
  263. package/lib/components/VDataTable/Row.mjs +20 -12
  264. package/lib/components/VDataTable/Row.mjs.map +1 -1
  265. package/lib/components/VDataTable/RowGroup.mjs +5 -4
  266. package/lib/components/VDataTable/RowGroup.mjs.map +1 -1
  267. package/lib/components/VDataTable/VDataTable.mjs +11 -6
  268. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  269. package/lib/components/VDataTable/VDataTable.sass +5 -0
  270. package/lib/components/VDataTable/VDataTableHeader.mjs +7 -6
  271. package/lib/components/VDataTable/VDataTableHeader.mjs.map +1 -1
  272. package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs +3 -3
  273. package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs.map +1 -1
  274. package/lib/components/VDataTable/VDataTableHeaderMobile.mjs +2 -2
  275. package/lib/components/VDataTable/VDataTableHeaderMobile.mjs.map +1 -1
  276. package/lib/components/VDataTable/VEditDialog.mjs +7 -6
  277. package/lib/components/VDataTable/VEditDialog.mjs.map +1 -1
  278. package/lib/components/VDataTable/VVirtualTable.mjs +2 -2
  279. package/lib/components/VDataTable/VVirtualTable.mjs.map +1 -1
  280. package/lib/components/VDataTable/_variables.scss +2 -2
  281. package/lib/components/VDatePicker/VDatePicker.mjs +13 -13
  282. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  283. package/lib/components/VDatePicker/VDatePickerDateTable.mjs +5 -5
  284. package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
  285. package/lib/components/VDatePicker/VDatePickerHeader.mjs +5 -5
  286. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  287. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs +2 -2
  288. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
  289. package/lib/components/VDatePicker/VDatePickerTitle.mjs +2 -2
  290. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
  291. package/lib/components/VDatePicker/VDatePickerYears.mjs +4 -4
  292. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  293. package/lib/components/VDatePicker/mixins/date-picker-table.mjs +20 -9
  294. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
  295. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs +7 -5
  296. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  297. package/lib/components/VDatePicker/util/eventHelpers.mjs +1 -0
  298. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  299. package/lib/components/VDatePicker/util/monthChange.mjs +3 -3
  300. package/lib/components/VDatePicker/util/monthChange.mjs.map +1 -1
  301. package/lib/components/VDatePicker/util/pad.mjs +4 -1
  302. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  303. package/lib/components/VDatePicker/util/sanitizeDateString.mjs +1 -1
  304. package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +1 -1
  305. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +38 -0
  306. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -0
  307. package/lib/components/VDefaultsProvider/index.mjs +2 -0
  308. package/lib/components/VDefaultsProvider/index.mjs.map +1 -0
  309. package/lib/components/VDialog/VDialog.css +77 -0
  310. package/lib/components/VDialog/VDialog.mjs +91 -279
  311. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  312. package/lib/components/VDialog/VDialog.sass +53 -81
  313. package/lib/components/VDialog/_variables.scss +12 -10
  314. package/lib/components/VDialog/index.mjs +1 -3
  315. package/lib/components/VDialog/index.mjs.map +1 -1
  316. package/lib/components/VDivider/VDivider.css +30 -0
  317. package/lib/components/VDivider/VDivider.mjs +25 -17
  318. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  319. package/lib/components/VDivider/VDivider.sass +5 -9
  320. package/lib/components/VDivider/_variables.scss +9 -11
  321. package/lib/components/VDivider/index.mjs +1 -1
  322. package/lib/components/VDivider/index.mjs.map +1 -1
  323. package/lib/components/VExpansionPanel/VExpansionPanel.css +190 -0
  324. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +87 -83
  325. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  326. package/lib/components/VExpansionPanel/VExpansionPanel.sass +91 -129
  327. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +42 -0
  328. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -0
  329. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +79 -0
  330. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -0
  331. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +45 -59
  332. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  333. package/lib/components/VExpansionPanel/_variables.scss +13 -7
  334. package/lib/components/VExpansionPanel/index.mjs +4 -13
  335. package/lib/components/VExpansionPanel/index.mjs.map +1 -1
  336. package/lib/components/VField/VField.css +410 -0
  337. package/lib/components/VField/VField.mjs +248 -0
  338. package/lib/components/VField/VField.mjs.map +1 -0
  339. package/lib/components/VField/VField.sass +392 -0
  340. package/lib/components/VField/VFieldLabel.mjs +27 -0
  341. package/lib/components/VField/VFieldLabel.mjs.map +1 -0
  342. package/lib/components/VField/_variables.scss +44 -0
  343. package/lib/components/VField/index.mjs +3 -0
  344. package/lib/components/VField/index.mjs.map +1 -0
  345. package/lib/components/VFileInput/VFileInput.css +8 -0
  346. package/lib/components/VFileInput/VFileInput.mjs +181 -224
  347. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  348. package/lib/components/VFileInput/VFileInput.sass +3 -51
  349. package/lib/components/VFileInput/_variables.scss +2 -6
  350. package/lib/components/VFileInput/index.mjs +1 -3
  351. package/lib/components/VFileInput/index.mjs.map +1 -1
  352. package/lib/components/VFooter/VFooter.css +20 -0
  353. package/lib/components/VFooter/VFooter.mjs +54 -31
  354. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  355. package/lib/components/VFooter/VFooter.sass +10 -7
  356. package/lib/components/VFooter/_variables.scss +13 -3
  357. package/lib/components/VFooter/index.mjs +1 -1
  358. package/lib/components/VFooter/index.mjs.map +1 -1
  359. package/lib/components/VForm/VForm.mjs +55 -122
  360. package/lib/components/VForm/VForm.mjs.map +1 -1
  361. package/lib/components/VForm/index.mjs +1 -3
  362. package/lib/components/VForm/index.mjs.map +1 -1
  363. package/lib/components/VGrid/VCol.mjs +23 -18
  364. package/lib/components/VGrid/VCol.mjs.map +1 -1
  365. package/lib/components/VGrid/VContainer.mjs +10 -12
  366. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  367. package/lib/components/VGrid/VGrid.css +1002 -0
  368. package/lib/components/VGrid/VGrid.sass +9 -8
  369. package/lib/components/VGrid/VRow.mjs +22 -17
  370. package/lib/components/VGrid/VRow.mjs.map +1 -1
  371. package/lib/components/VGrid/VSpacer.mjs +1 -1
  372. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  373. package/lib/components/VGrid/_mixins.sass +26 -21
  374. package/lib/components/VGrid/index.mjs +4 -4
  375. package/lib/components/VGrid/index.mjs.map +1 -1
  376. package/lib/components/VHover/VHover.mjs +31 -61
  377. package/lib/components/VHover/VHover.mjs.map +1 -1
  378. package/lib/components/VHover/index.mjs +1 -3
  379. package/lib/components/VHover/index.mjs.map +1 -1
  380. package/lib/components/VIcon/VIcon.css +65 -0
  381. package/lib/components/VIcon/VIcon.mjs +36 -29
  382. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  383. package/lib/components/VIcon/VIcon.sass +31 -49
  384. package/lib/components/VIcon/_variables.scss +17 -20
  385. package/lib/components/VIcon/index.mjs +1 -1
  386. package/lib/components/VIcon/index.mjs.map +1 -1
  387. package/lib/components/VImg/VImg.css +34 -0
  388. package/lib/components/VImg/VImg.mjs +121 -71
  389. package/lib/components/VImg/VImg.mjs.map +1 -1
  390. package/lib/components/VImg/VImg.sass +14 -8
  391. package/lib/components/VImg/_variables.scss +1 -0
  392. package/lib/components/VImg/index.mjs +1 -1
  393. package/lib/components/VImg/index.mjs.map +1 -1
  394. package/lib/components/VInput/VInput.css +112 -0
  395. package/lib/components/VInput/VInput.mjs +102 -278
  396. package/lib/components/VInput/VInput.mjs.map +1 -1
  397. package/lib/components/VInput/VInput.sass +77 -117
  398. package/lib/components/VInput/_variables.scss +21 -13
  399. package/lib/components/VInput/index.mjs +1 -3
  400. package/lib/components/VInput/index.mjs.map +1 -1
  401. package/lib/components/VItemGroup/VItem.mjs +33 -62
  402. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  403. package/lib/components/VItemGroup/VItemGroup.css +6 -0
  404. package/lib/components/VItemGroup/VItemGroup.mjs +45 -215
  405. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  406. package/lib/components/VItemGroup/VItemGroup.sass +3 -2
  407. package/lib/components/VItemGroup/_variables.scss +3 -2
  408. package/lib/components/VItemGroup/index.mjs +2 -9
  409. package/lib/components/VItemGroup/index.mjs.map +1 -1
  410. package/lib/components/VKbd/VKbd.css +9 -0
  411. package/lib/components/VKbd/VKbd.sass +13 -0
  412. package/lib/components/VKbd/_variables.scss +6 -0
  413. package/lib/components/VKbd/index.mjs +4 -0
  414. package/lib/components/VKbd/index.mjs.map +1 -0
  415. package/lib/components/VLabel/VLabel.css +12 -0
  416. package/lib/components/VLabel/VLabel.mjs +18 -56
  417. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  418. package/lib/components/VLabel/VLabel.sass +13 -11
  419. package/lib/components/VLabel/_variables.scss +7 -4
  420. package/lib/components/VLabel/index.mjs +1 -3
  421. package/lib/components/VLabel/index.mjs.map +1 -1
  422. package/lib/components/VLayout/VLayout.css +11 -0
  423. package/lib/components/VLayout/VLayout.mjs +20 -15
  424. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  425. package/lib/components/VLayout/VLayout.sass +5 -3
  426. package/lib/components/VLayout/VLayoutItem.css +8 -0
  427. package/lib/components/VLayout/VLayoutItem.mjs +36 -17
  428. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  429. package/lib/components/VLayout/VLayoutItem.sass +8 -0
  430. package/lib/components/VLayout/index.mjs +2 -2
  431. package/lib/components/VLayout/index.mjs.map +1 -1
  432. package/lib/components/VLazy/VLazy.mjs +41 -51
  433. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  434. package/lib/components/VLazy/index.mjs +1 -3
  435. package/lib/components/VLazy/index.mjs.map +1 -1
  436. package/lib/components/VList/VList.css +107 -0
  437. package/lib/components/VList/VList.mjs +140 -73
  438. package/lib/components/VList/VList.mjs.map +1 -1
  439. package/lib/components/VList/VList.sass +88 -94
  440. package/lib/components/VList/VListChildren.mjs +53 -0
  441. package/lib/components/VList/VListChildren.mjs.map +1 -0
  442. package/lib/components/VList/VListGroup.mjs +84 -164
  443. package/lib/components/VList/VListGroup.mjs.map +1 -1
  444. package/lib/components/VList/VListImg.mjs +3 -0
  445. package/lib/components/VList/VListImg.mjs.map +1 -0
  446. package/lib/components/VList/VListItem.css +350 -0
  447. package/lib/components/VList/VListItem.mjs +184 -141
  448. package/lib/components/VList/VListItem.mjs.map +1 -1
  449. package/lib/components/VList/VListItem.sass +178 -228
  450. package/lib/components/VList/VListItemAction.mjs +23 -19
  451. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  452. package/lib/components/VList/VListItemAvatar.mjs +16 -29
  453. package/lib/components/VList/VListItemAvatar.mjs.map +1 -1
  454. package/lib/components/VList/VListItemHeader.mjs +3 -0
  455. package/lib/components/VList/VListItemHeader.mjs.map +1 -0
  456. package/lib/components/VList/VListItemIcon.mjs +17 -15
  457. package/lib/components/VList/VListItemIcon.mjs.map +1 -1
  458. package/lib/components/VList/VListItemMedia.mjs +29 -0
  459. package/lib/components/VList/VListItemMedia.mjs.map +1 -0
  460. package/lib/components/VList/VListItemSubtitle.mjs +3 -0
  461. package/lib/components/VList/VListItemSubtitle.mjs.map +1 -0
  462. package/lib/components/VList/VListItemTitle.mjs +3 -0
  463. package/lib/components/VList/VListItemTitle.mjs.map +1 -0
  464. package/lib/components/VList/VListSubheader.mjs +47 -0
  465. package/lib/components/VList/VListSubheader.mjs.map +1 -0
  466. package/lib/components/VList/_variables.scss +154 -57
  467. package/lib/components/VList/index.mjs +12 -28
  468. package/lib/components/VList/index.mjs.map +1 -1
  469. package/lib/components/VList/list.mjs +31 -0
  470. package/lib/components/VList/list.mjs.map +1 -0
  471. package/lib/components/VLocaleProvider/VLocaleProvider.css +3 -0
  472. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +19 -10
  473. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  474. package/lib/components/VLocaleProvider/VLocaleProvider.sass +2 -0
  475. package/lib/components/VLocaleProvider/index.mjs +1 -1
  476. package/lib/components/VLocaleProvider/index.mjs.map +1 -1
  477. package/lib/components/VMain/VMain.css +18 -0
  478. package/lib/components/VMain/VMain.mjs +23 -19
  479. package/lib/components/VMain/VMain.mjs.map +1 -1
  480. package/lib/components/VMain/VMain.sass +2 -1
  481. package/lib/components/VMain/_variables.scss +3 -1
  482. package/lib/components/VMain/index.mjs +1 -1
  483. package/lib/components/VMain/index.mjs.map +1 -1
  484. package/lib/components/VMenu/VMenu.css +14 -0
  485. package/lib/components/VMenu/VMenu.mjs +78 -447
  486. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  487. package/lib/components/VMenu/VMenu.sass +17 -71
  488. package/lib/components/VMenu/_variables.scss +3 -2
  489. package/lib/components/VMenu/index.mjs +1 -3
  490. package/lib/components/VMenu/index.mjs.map +1 -1
  491. package/lib/components/VMenu/shared.mjs +2 -0
  492. package/lib/components/VMenu/shared.mjs.map +1 -0
  493. package/lib/components/VMessages/VMessages.css +16 -0
  494. package/lib/components/VMessages/VMessages.mjs +42 -41
  495. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  496. package/lib/components/VMessages/VMessages.sass +5 -10
  497. package/lib/components/VMessages/_variables.scss +3 -2
  498. package/lib/components/VMessages/index.mjs +1 -3
  499. package/lib/components/VMessages/index.mjs.map +1 -1
  500. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +93 -0
  501. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +124 -55
  502. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  503. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +36 -23
  504. package/lib/components/VNavigationDrawer/_variables.scss +16 -9
  505. package/lib/components/VNavigationDrawer/index.mjs +1 -1
  506. package/lib/components/VNavigationDrawer/index.mjs.map +1 -1
  507. package/lib/components/VNavigationDrawer/touch.mjs +139 -0
  508. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -0
  509. package/lib/components/VNoSsr/VNoSsr.mjs +23 -0
  510. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -0
  511. package/lib/components/VNoSsr/index.mjs +2 -0
  512. package/lib/components/VNoSsr/index.mjs.map +1 -0
  513. package/lib/components/VOtpInput/VOtpInput.mjs +345 -0
  514. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -0
  515. package/lib/components/VOtpInput/VOtpInput.sass +37 -0
  516. package/lib/components/VOtpInput/_variables.scss +4 -0
  517. package/lib/components/VOtpInput/index.mjs +4 -0
  518. package/lib/components/VOtpInput/index.mjs.map +1 -0
  519. package/lib/components/VOverflowBtn/VOverflowBtn.mjs +1 -1
  520. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  521. package/lib/components/VOverlay/VOverlay.css +63 -0
  522. package/lib/components/VOverlay/VOverlay.mjs +229 -67
  523. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  524. package/lib/components/VOverlay/VOverlay.sass +39 -19
  525. package/lib/components/VOverlay/_variables.scss +4 -3
  526. package/lib/components/VOverlay/index.mjs +1 -3
  527. package/lib/components/VOverlay/index.mjs.map +1 -1
  528. package/lib/components/VOverlay/positionStrategies.mjs +207 -0
  529. package/lib/components/VOverlay/positionStrategies.mjs.map +1 -0
  530. package/lib/components/VOverlay/requestNewFrame.mjs +28 -0
  531. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -0
  532. package/lib/components/VOverlay/scrollStrategies.mjs +137 -0
  533. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -0
  534. package/lib/components/VOverlay/useActivator.mjs +241 -0
  535. package/lib/components/VOverlay/useActivator.mjs.map +1 -0
  536. package/lib/components/VOverlay/util/anchor.mjs +52 -0
  537. package/lib/components/VOverlay/util/anchor.mjs.map +1 -0
  538. package/lib/components/VOverlay/util/point.mjs +56 -0
  539. package/lib/components/VOverlay/util/point.mjs.map +1 -0
  540. package/lib/components/VPagination/VPagination.css +9 -0
  541. package/lib/components/VPagination/VPagination.mjs +261 -176
  542. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  543. package/lib/components/VPagination/VPagination.sass +11 -77
  544. package/lib/components/VPagination/_variables.scss +1 -15
  545. package/lib/components/VPagination/index.mjs +1 -3
  546. package/lib/components/VPagination/index.mjs.map +1 -1
  547. package/lib/components/VParallax/VParallax.css +7 -0
  548. package/lib/components/VParallax/VParallax.mjs +71 -77
  549. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  550. package/lib/components/VParallax/VParallax.sass +1 -32
  551. package/lib/components/VParallax/index.mjs +1 -3
  552. package/lib/components/VParallax/index.mjs.map +1 -1
  553. package/lib/components/VPicker/VPicker.mjs +5 -5
  554. package/lib/components/VPicker/VPicker.mjs.map +1 -1
  555. package/lib/components/VProgressCircular/VProgressCircular.css +101 -0
  556. package/lib/components/VProgressCircular/VProgressCircular.mjs +110 -141
  557. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  558. package/lib/components/VProgressCircular/VProgressCircular.sass +57 -36
  559. package/lib/components/VProgressCircular/_variables.scss +12 -5
  560. package/lib/components/VProgressCircular/index.mjs +1 -3
  561. package/lib/components/VProgressCircular/index.mjs.map +1 -1
  562. package/lib/components/VProgressLinear/VProgressLinear.css +212 -0
  563. package/lib/components/VProgressLinear/VProgressLinear.mjs +138 -226
  564. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  565. package/lib/components/VProgressLinear/VProgressLinear.sass +83 -157
  566. package/lib/components/VProgressLinear/_variables.scss +11 -3
  567. package/lib/components/VProgressLinear/index.mjs +1 -3
  568. package/lib/components/VProgressLinear/index.mjs.map +1 -1
  569. package/lib/components/VRadio/VRadio.mjs +33 -0
  570. package/lib/components/VRadio/VRadio.mjs.map +1 -0
  571. package/lib/components/VRadio/index.mjs +2 -0
  572. package/lib/components/VRadio/index.mjs.map +1 -0
  573. package/lib/components/VRadioGroup/VRadioGroup.css +10 -0
  574. package/lib/components/VRadioGroup/VRadioGroup.mjs +66 -69
  575. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  576. package/lib/components/VRadioGroup/VRadioGroup.sass +7 -37
  577. package/lib/components/VRadioGroup/_variables.scss +3 -3
  578. package/lib/components/VRadioGroup/index.mjs +1 -9
  579. package/lib/components/VRadioGroup/index.mjs.map +1 -1
  580. package/lib/components/VRangeSlider/VRangeSlider.mjs +194 -206
  581. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  582. package/lib/components/VRangeSlider/index.mjs +1 -3
  583. package/lib/components/VRangeSlider/index.mjs.map +1 -1
  584. package/lib/components/VRating/VRating.css +58 -0
  585. package/lib/components/VRating/VRating.mjs +202 -177
  586. package/lib/components/VRating/VRating.mjs.map +1 -1
  587. package/lib/components/VRating/VRating.sass +51 -18
  588. package/lib/components/VRating/_variables.scss +9 -4
  589. package/lib/components/VRating/index.mjs +1 -3
  590. package/lib/components/VRating/index.mjs.map +1 -1
  591. package/lib/components/VResponsive/VResponsive.css +23 -0
  592. package/lib/components/VResponsive/VResponsive.mjs +24 -19
  593. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  594. package/lib/components/VResponsive/VResponsive.sass +5 -7
  595. package/lib/components/VResponsive/index.mjs +1 -1
  596. package/lib/components/VResponsive/index.mjs.map +1 -1
  597. package/lib/components/VSelect/VSelect.css +34 -0
  598. package/lib/components/VSelect/VSelect.mjs +170 -781
  599. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  600. package/lib/components/VSelect/VSelect.sass +44 -153
  601. package/lib/components/VSelect/_variables.scss +7 -21
  602. package/lib/components/VSelect/index.mjs +1 -3
  603. package/lib/components/VSelect/index.mjs.map +1 -1
  604. package/lib/components/VSelectionControl/VSelectionControl.css +97 -0
  605. package/lib/components/VSelectionControl/VSelectionControl.mjs +210 -0
  606. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -0
  607. package/lib/components/VSelectionControl/VSelectionControl.sass +96 -0
  608. package/lib/components/VSelectionControl/_variables.scss +9 -0
  609. package/lib/components/VSelectionControl/index.mjs +2 -0
  610. package/lib/components/VSelectionControl/index.mjs.map +1 -0
  611. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.css +3 -0
  612. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +64 -0
  613. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -0
  614. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +9 -0
  615. package/lib/components/VSelectionControlGroup/_variables.scss +4 -0
  616. package/lib/components/VSelectionControlGroup/index.mjs +2 -0
  617. package/lib/components/VSelectionControlGroup/index.mjs.map +1 -0
  618. package/lib/components/VSheet/VSheet.css +23 -0
  619. package/lib/components/VSheet/VSheet.mjs +18 -18
  620. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  621. package/lib/components/VSheet/VSheet.sass +11 -7
  622. package/lib/components/VSheet/_variables.scss +15 -4
  623. package/lib/components/VSheet/index.mjs +1 -1
  624. package/lib/components/VSheet/index.mjs.map +1 -1
  625. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +8 -8
  626. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  627. package/lib/components/VSlideGroup/VSlideGroup.css +42 -0
  628. package/lib/components/VSlideGroup/VSlideGroup.mjs +301 -361
  629. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  630. package/lib/components/VSlideGroup/VSlideGroup.sass +21 -25
  631. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +29 -0
  632. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -0
  633. package/lib/components/VSlideGroup/_variables.scss +4 -1
  634. package/lib/components/VSlideGroup/helpers.mjs +54 -0
  635. package/lib/components/VSlideGroup/helpers.mjs.map +1 -0
  636. package/lib/components/VSlideGroup/index.mjs +2 -9
  637. package/lib/components/VSlideGroup/index.mjs.map +1 -1
  638. package/lib/components/VSlider/VSlider.css +53 -0
  639. package/lib/components/VSlider/VSlider.mjs +113 -538
  640. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  641. package/lib/components/VSlider/VSlider.sass +38 -274
  642. package/lib/components/VSlider/VSliderThumb.css +142 -0
  643. package/lib/components/VSlider/VSliderThumb.mjs +165 -0
  644. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -0
  645. package/lib/components/VSlider/VSliderThumb.sass +147 -0
  646. package/lib/components/VSlider/VSliderTrack.css +150 -0
  647. package/lib/components/VSlider/VSliderTrack.mjs +121 -0
  648. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -0
  649. package/lib/components/VSlider/VSliderTrack.sass +159 -0
  650. package/lib/components/VSlider/_variables.scss +23 -14
  651. package/lib/components/VSlider/index.mjs +1 -3
  652. package/lib/components/VSlider/index.mjs.map +1 -1
  653. package/lib/components/VSlider/slider.mjs +300 -0
  654. package/lib/components/VSlider/slider.mjs.map +1 -0
  655. package/lib/components/VSnackbar/VSnackbar.css +137 -0
  656. package/lib/components/VSnackbar/VSnackbar.mjs +101 -168
  657. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  658. package/lib/components/VSnackbar/VSnackbar.sass +43 -79
  659. package/lib/components/VSnackbar/_variables.scss +20 -25
  660. package/lib/components/VSnackbar/index.mjs +1 -3
  661. package/lib/components/VSnackbar/index.mjs.map +1 -1
  662. package/lib/components/VSparkline/VSparkline.mjs +13 -13
  663. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  664. package/lib/components/VSparkline/helpers/path.mjs +7 -5
  665. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  666. package/lib/components/VSpeedDial/VSpeedDial.mjs +4 -4
  667. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  668. package/lib/components/VStepper/VStepper.mjs +2 -2
  669. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  670. package/lib/components/VStepper/VStepper.sass +5 -1
  671. package/lib/components/VStepper/VStepperStep.mjs +1 -1
  672. package/lib/components/VStepper/_variables.scss +6 -5
  673. package/lib/components/VSwitch/VSwitch.css +69 -0
  674. package/lib/components/VSwitch/VSwitch.mjs +99 -107
  675. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  676. package/lib/components/VSwitch/VSwitch.sass +71 -129
  677. package/lib/components/VSwitch/_variables.scss +10 -23
  678. package/lib/components/VSwitch/index.mjs +1 -3
  679. package/lib/components/VSwitch/index.mjs.map +1 -1
  680. package/lib/components/VSystemBar/VSystemBar.css +35 -0
  681. package/lib/components/VSystemBar/VSystemBar.mjs +52 -37
  682. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  683. package/lib/components/VSystemBar/VSystemBar.sass +14 -26
  684. package/lib/components/VSystemBar/_variables.scss +27 -17
  685. package/lib/components/VSystemBar/index.mjs +1 -1
  686. package/lib/components/VSystemBar/index.mjs.map +1 -1
  687. package/lib/components/VTable/VTable.css +143 -0
  688. package/lib/components/VTable/VTable.mjs +54 -0
  689. package/lib/components/VTable/VTable.mjs.map +1 -0
  690. package/lib/components/VTable/VTable.sass +156 -0
  691. package/lib/components/VTable/_mixins.scss +25 -0
  692. package/lib/components/VTable/_variables.scss +21 -0
  693. package/lib/components/VTable/index.mjs +2 -0
  694. package/lib/components/VTable/index.mjs.map +1 -0
  695. package/lib/components/VTabs/VTab.css +29 -0
  696. package/lib/components/VTabs/VTab.mjs +109 -69
  697. package/lib/components/VTabs/VTab.mjs.map +1 -1
  698. package/lib/components/VTabs/VTab.sass +30 -0
  699. package/lib/components/VTabs/VTabs.css +71 -0
  700. package/lib/components/VTabs/VTabs.mjs +86 -283
  701. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  702. package/lib/components/VTabs/VTabs.sass +40 -202
  703. package/lib/components/VTabs/_variables.scss +10 -18
  704. package/lib/components/VTabs/index.mjs +2 -15
  705. package/lib/components/VTabs/index.mjs.map +1 -1
  706. package/lib/components/VTabs/shared.mjs +2 -0
  707. package/lib/components/VTabs/shared.mjs.map +1 -0
  708. package/lib/components/VTextField/VTextField.css +70 -0
  709. package/lib/components/VTextField/VTextField.mjs +162 -483
  710. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  711. package/lib/components/VTextField/VTextField.sass +56 -493
  712. package/lib/components/VTextField/_variables.scss +10 -50
  713. package/lib/components/VTextField/index.mjs +1 -3
  714. package/lib/components/VTextField/index.mjs.map +1 -1
  715. package/lib/components/VTextarea/VTextarea.css +37 -0
  716. package/lib/components/VTextarea/VTextarea.mjs +210 -74
  717. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  718. package/lib/components/VTextarea/VTextarea.sass +35 -75
  719. package/lib/components/VTextarea/_variables.scss +2 -4
  720. package/lib/components/VTextarea/index.mjs +1 -3
  721. package/lib/components/VTextarea/index.mjs.map +1 -1
  722. package/lib/components/VThemeProvider/VThemeProvider.css +4 -0
  723. package/lib/components/VThemeProvider/VThemeProvider.mjs +23 -18
  724. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  725. package/lib/components/VThemeProvider/index.mjs +1 -1
  726. package/lib/components/VThemeProvider/index.mjs.map +1 -1
  727. package/lib/components/VTimePicker/VTimePicker.mjs +4 -4
  728. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  729. package/lib/components/VTimePicker/VTimePickerClock.mjs +9 -9
  730. package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
  731. package/lib/components/VTimePicker/VTimePickerTitle.mjs +2 -2
  732. package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
  733. package/lib/components/VTimeline/VTimeline.css +399 -0
  734. package/lib/components/VTimeline/VTimeline.mjs +89 -34
  735. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  736. package/lib/components/VTimeline/VTimeline.sass +347 -115
  737. package/lib/components/VTimeline/VTimelineDivider.mjs +76 -0
  738. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -0
  739. package/lib/components/VTimeline/VTimelineItem.mjs +68 -90
  740. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  741. package/lib/components/VTimeline/_mixins.sass +21 -32
  742. package/lib/components/VTimeline/_variables.scss +28 -15
  743. package/lib/components/VTimeline/index.mjs +2 -9
  744. package/lib/components/VTimeline/index.mjs.map +1 -1
  745. package/lib/components/VTimeline/shared.mjs +2 -0
  746. package/lib/components/VTimeline/shared.mjs.map +1 -0
  747. package/lib/components/VToolbar/VToolbar.css +145 -0
  748. package/lib/components/VToolbar/VToolbar.mjs +135 -141
  749. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  750. package/lib/components/VToolbar/VToolbar.sass +75 -123
  751. package/lib/components/VToolbar/VToolbarItems.mjs +32 -0
  752. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -0
  753. package/lib/components/VToolbar/VToolbarTitle.mjs +34 -0
  754. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -0
  755. package/lib/components/VToolbar/_variables.scss +65 -15
  756. package/lib/components/VToolbar/index.mjs +3 -14
  757. package/lib/components/VToolbar/index.mjs.map +1 -1
  758. package/lib/components/VTooltip/VTooltip.css +22 -0
  759. package/lib/components/VTooltip/VTooltip.mjs +73 -199
  760. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  761. package/lib/components/VTooltip/VTooltip.sass +8 -15
  762. package/lib/components/VTooltip/_variables.scss +6 -6
  763. package/lib/components/VTooltip/index.mjs +1 -3
  764. package/lib/components/VTooltip/index.mjs.map +1 -1
  765. package/lib/components/VTreeview/VTreeview.mjs +18 -9
  766. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  767. package/lib/components/VTreeview/VTreeviewNode.mjs +4 -2
  768. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  769. package/lib/components/VTreeview/_mixins.sass +3 -3
  770. package/lib/components/VValidation/VValidation.mjs +26 -0
  771. package/lib/components/VValidation/VValidation.mjs.map +1 -0
  772. package/lib/components/VValidation/index.mjs +2 -0
  773. package/lib/components/VValidation/index.mjs.map +1 -0
  774. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +1 -1
  775. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  776. package/lib/components/VWindow/VWindow.css +70 -0
  777. package/lib/components/VWindow/VWindow.mjs +158 -233
  778. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  779. package/lib/components/VWindow/VWindow.sass +29 -51
  780. package/lib/components/VWindow/VWindowItem.mjs +72 -98
  781. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  782. package/lib/components/VWindow/_variables.scss +2 -3
  783. package/lib/components/VWindow/index.mjs +2 -9
  784. package/lib/components/VWindow/index.mjs.map +1 -1
  785. package/lib/components/index.d.ts +15391 -0
  786. package/lib/components/index.mjs +75 -65
  787. package/lib/components/index.mjs.map +1 -1
  788. package/lib/components/transitions/createTransition.mjs +61 -16
  789. package/lib/components/transitions/createTransition.mjs.map +1 -1
  790. package/lib/components/transitions/dialog-transition.mjs +107 -0
  791. package/lib/components/transitions/dialog-transition.mjs.map +1 -0
  792. package/lib/components/transitions/expand-transition.mjs +6 -4
  793. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  794. package/lib/components/transitions/index.mjs +1 -1
  795. package/lib/components/transitions/index.mjs.map +1 -1
  796. package/lib/composables/border.mjs +9 -7
  797. package/lib/composables/border.mjs.map +1 -1
  798. package/lib/composables/color.mjs +2 -2
  799. package/lib/composables/color.mjs.map +1 -1
  800. package/lib/composables/defaults.mjs +42 -0
  801. package/lib/composables/defaults.mjs.map +1 -0
  802. package/lib/composables/density.mjs +5 -4
  803. package/lib/composables/density.mjs.map +1 -1
  804. package/lib/composables/display.mjs +4 -3
  805. package/lib/composables/display.mjs.map +1 -1
  806. package/lib/composables/elevation.mjs +4 -3
  807. package/lib/composables/elevation.mjs.map +1 -1
  808. package/lib/composables/filter.mjs +87 -0
  809. package/lib/composables/filter.mjs.map +1 -0
  810. package/lib/composables/focus.mjs +35 -0
  811. package/lib/composables/focus.mjs.map +1 -0
  812. package/lib/composables/form.mjs +116 -0
  813. package/lib/composables/form.mjs.map +1 -0
  814. package/lib/composables/forwardRef.mjs +46 -0
  815. package/lib/composables/forwardRef.mjs.map +1 -0
  816. package/lib/composables/group.mjs +135 -45
  817. package/lib/composables/group.mjs.map +1 -1
  818. package/lib/composables/hydration.mjs +12 -0
  819. package/lib/composables/hydration.mjs.map +1 -0
  820. package/lib/composables/icons.mjs +24 -30
  821. package/lib/composables/icons.mjs.map +1 -1
  822. package/lib/composables/index.mjs +9 -0
  823. package/lib/composables/index.mjs.map +1 -0
  824. package/lib/composables/intersectionObserver.mjs +33 -0
  825. package/lib/composables/intersectionObserver.mjs.map +1 -0
  826. package/lib/composables/items.mjs +56 -0
  827. package/lib/composables/items.mjs.map +1 -0
  828. package/lib/composables/layout.mjs +157 -66
  829. package/lib/composables/layout.mjs.map +1 -1
  830. package/lib/composables/lazy.mjs +23 -0
  831. package/lib/composables/lazy.mjs.map +1 -0
  832. package/lib/composables/loader.mjs +39 -0
  833. package/lib/composables/loader.mjs.map +1 -0
  834. package/lib/composables/locale.mjs +25 -13
  835. package/lib/composables/locale.mjs.map +1 -1
  836. package/lib/composables/mutationObserver.mjs +43 -0
  837. package/lib/composables/mutationObserver.mjs.map +1 -0
  838. package/lib/composables/nested/nested.mjs +207 -0
  839. package/lib/composables/nested/nested.mjs.map +1 -0
  840. package/lib/composables/nested/openStrategies.mjs +76 -0
  841. package/lib/composables/nested/openStrategies.mjs.map +1 -0
  842. package/lib/composables/nested/selectStrategies.mjs +198 -0
  843. package/lib/composables/nested/selectStrategies.mjs.map +1 -0
  844. package/lib/composables/overlay.mjs +34 -0
  845. package/lib/composables/overlay.mjs.map +1 -0
  846. package/lib/composables/position.mjs +6 -5
  847. package/lib/composables/position.mjs.map +1 -1
  848. package/lib/composables/proxiedModel.mjs +13 -8
  849. package/lib/composables/proxiedModel.mjs.map +1 -1
  850. package/lib/composables/refs.mjs +16 -0
  851. package/lib/composables/refs.mjs.map +1 -0
  852. package/lib/composables/resizeObserver.mjs +35 -0
  853. package/lib/composables/resizeObserver.mjs.map +1 -0
  854. package/lib/composables/rounded.mjs +10 -8
  855. package/lib/composables/rounded.mjs.map +1 -1
  856. package/lib/composables/router.mjs +82 -0
  857. package/lib/composables/router.mjs.map +1 -0
  858. package/lib/composables/rtl.mjs +5 -5
  859. package/lib/composables/rtl.mjs.map +1 -1
  860. package/lib/composables/scroll.mjs +3 -2
  861. package/lib/composables/scroll.mjs.map +1 -1
  862. package/lib/composables/selectLink.mjs +19 -0
  863. package/lib/composables/selectLink.mjs.map +1 -0
  864. package/lib/composables/size.mjs +4 -3
  865. package/lib/composables/size.mjs.map +1 -1
  866. package/lib/composables/stack.mjs +36 -0
  867. package/lib/composables/stack.mjs.map +1 -0
  868. package/lib/composables/teleport.mjs +30 -0
  869. package/lib/composables/teleport.mjs.map +1 -0
  870. package/lib/composables/theme.mjs +147 -96
  871. package/lib/composables/theme.mjs.map +1 -1
  872. package/lib/composables/touch.mjs +129 -0
  873. package/lib/composables/touch.mjs.map +1 -0
  874. package/lib/composables/transition.mjs +20 -0
  875. package/lib/composables/transition.mjs.map +1 -1
  876. package/lib/composables/validation.mjs +119 -0
  877. package/lib/composables/validation.mjs.map +1 -0
  878. package/lib/composables/variant.mjs +50 -0
  879. package/lib/composables/variant.mjs.map +1 -0
  880. package/lib/directives/click-outside/index.mjs +23 -11
  881. package/lib/directives/click-outside/index.mjs.map +1 -1
  882. package/lib/directives/color/index.mjs +1 -1
  883. package/lib/directives/color/index.mjs.map +1 -1
  884. package/lib/directives/index.d.ts +58 -0
  885. package/lib/directives/index.mjs +2 -2
  886. package/lib/directives/index.mjs.map +1 -1
  887. package/lib/directives/intersect/index.mjs +26 -19
  888. package/lib/directives/intersect/index.mjs.map +1 -1
  889. package/lib/directives/mutate/index.mjs +33 -34
  890. package/lib/directives/mutate/index.mjs.map +1 -1
  891. package/lib/directives/resize/index.mjs +10 -7
  892. package/lib/directives/resize/index.mjs.map +1 -1
  893. package/lib/directives/ripple/VRipple.css +34 -0
  894. package/lib/directives/ripple/VRipple.sass +2 -1
  895. package/lib/directives/ripple/_variables.scss +4 -4
  896. package/lib/directives/ripple/index.mjs +35 -20
  897. package/lib/directives/ripple/index.mjs.map +1 -1
  898. package/lib/directives/scroll/index.mjs +9 -6
  899. package/lib/directives/scroll/index.mjs.map +1 -1
  900. package/lib/directives/touch/index.mjs +17 -7
  901. package/lib/directives/touch/index.mjs.map +1 -1
  902. package/lib/entry-bundler.mjs +8 -6
  903. package/lib/entry-bundler.mjs.map +1 -1
  904. package/lib/framework.mjs +55 -36
  905. package/lib/framework.mjs.map +1 -1
  906. package/lib/iconsets/fa-svg.d.ts +54 -0
  907. package/lib/iconsets/fa.d.ts +54 -0
  908. package/lib/iconsets/fa.mjs +1 -0
  909. package/lib/iconsets/fa.mjs.map +1 -1
  910. package/lib/iconsets/fa4.d.ts +54 -0
  911. package/lib/iconsets/fa4.mjs +2 -1
  912. package/lib/iconsets/fa4.mjs.map +1 -1
  913. package/lib/iconsets/md.d.ts +54 -0
  914. package/lib/iconsets/md.mjs +2 -1
  915. package/lib/iconsets/md.mjs.map +1 -1
  916. package/lib/iconsets/mdi-svg.d.ts +54 -0
  917. package/lib/iconsets/mdi-svg.mjs +1 -1
  918. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  919. package/lib/iconsets/mdi.d.ts +54 -0
  920. package/lib/iconsets/mdi.mjs +4 -3
  921. package/lib/iconsets/mdi.mjs.map +1 -1
  922. package/lib/index.d.ts +450 -0
  923. package/lib/locale/adapters/vue-i18n.mjs +64 -0
  924. package/lib/locale/adapters/vue-i18n.mjs.map +1 -0
  925. package/lib/locale/adapters/vue-intl.mjs +67 -0
  926. package/lib/locale/adapters/vue-intl.mjs.map +1 -0
  927. package/lib/locale/af.mjs +5 -3
  928. package/lib/locale/af.mjs.map +1 -1
  929. package/lib/locale/ar.mjs +5 -3
  930. package/lib/locale/ar.mjs.map +1 -1
  931. package/lib/locale/az.mjs +5 -3
  932. package/lib/locale/az.mjs.map +1 -1
  933. package/lib/locale/bg.mjs +5 -3
  934. package/lib/locale/bg.mjs.map +1 -1
  935. package/lib/locale/ca.mjs +12 -10
  936. package/lib/locale/ca.mjs.map +1 -1
  937. package/lib/locale/ckb.mjs +5 -3
  938. package/lib/locale/ckb.mjs.map +1 -1
  939. package/lib/locale/cs.mjs +6 -4
  940. package/lib/locale/cs.mjs.map +1 -1
  941. package/lib/locale/da.mjs +72 -0
  942. package/lib/locale/da.mjs.map +1 -0
  943. package/lib/locale/de.mjs +5 -3
  944. package/lib/locale/de.mjs.map +1 -1
  945. package/lib/locale/el.mjs +5 -3
  946. package/lib/locale/el.mjs.map +1 -1
  947. package/lib/locale/en.mjs +5 -3
  948. package/lib/locale/en.mjs.map +1 -1
  949. package/lib/locale/es.mjs +6 -4
  950. package/lib/locale/es.mjs.map +1 -1
  951. package/lib/locale/et.mjs +5 -3
  952. package/lib/locale/et.mjs.map +1 -1
  953. package/lib/locale/fa.mjs +5 -3
  954. package/lib/locale/fa.mjs.map +1 -1
  955. package/lib/locale/fi.mjs +5 -3
  956. package/lib/locale/fi.mjs.map +1 -1
  957. package/lib/locale/fr.mjs +7 -5
  958. package/lib/locale/fr.mjs.map +1 -1
  959. package/lib/locale/he.mjs +5 -3
  960. package/lib/locale/he.mjs.map +1 -1
  961. package/lib/locale/hr.mjs +5 -3
  962. package/lib/locale/hr.mjs.map +1 -1
  963. package/lib/locale/hu.mjs +5 -3
  964. package/lib/locale/hu.mjs.map +1 -1
  965. package/lib/locale/id.mjs +5 -3
  966. package/lib/locale/id.mjs.map +1 -1
  967. package/lib/locale/index.d.ts +3111 -0
  968. package/lib/locale/index.mjs +1 -0
  969. package/lib/locale/index.mjs.map +1 -1
  970. package/lib/locale/it.mjs +8 -6
  971. package/lib/locale/it.mjs.map +1 -1
  972. package/lib/locale/ja.mjs +5 -3
  973. package/lib/locale/ja.mjs.map +1 -1
  974. package/lib/locale/ko.mjs +5 -3
  975. package/lib/locale/ko.mjs.map +1 -1
  976. package/lib/locale/lt.mjs +5 -3
  977. package/lib/locale/lt.mjs.map +1 -1
  978. package/lib/locale/lv.mjs +5 -3
  979. package/lib/locale/lv.mjs.map +1 -1
  980. package/lib/locale/nl.mjs +5 -3
  981. package/lib/locale/nl.mjs.map +1 -1
  982. package/lib/locale/no.mjs +5 -3
  983. package/lib/locale/no.mjs.map +1 -1
  984. package/lib/locale/pl.mjs +5 -3
  985. package/lib/locale/pl.mjs.map +1 -1
  986. package/lib/locale/pt.mjs +5 -3
  987. package/lib/locale/pt.mjs.map +1 -1
  988. package/lib/locale/ro.mjs +5 -3
  989. package/lib/locale/ro.mjs.map +1 -1
  990. package/lib/locale/ru.mjs +5 -3
  991. package/lib/locale/ru.mjs.map +1 -1
  992. package/lib/locale/sk.mjs +5 -3
  993. package/lib/locale/sk.mjs.map +1 -1
  994. package/lib/locale/sl.mjs +5 -3
  995. package/lib/locale/sl.mjs.map +1 -1
  996. package/lib/locale/sr-Cyrl.mjs +5 -3
  997. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  998. package/lib/locale/sr-Latn.mjs +5 -3
  999. package/lib/locale/sr-Latn.mjs.map +1 -1
  1000. package/lib/locale/sv.mjs +5 -3
  1001. package/lib/locale/sv.mjs.map +1 -1
  1002. package/lib/locale/th.mjs +5 -3
  1003. package/lib/locale/th.mjs.map +1 -1
  1004. package/lib/locale/tr.mjs +5 -3
  1005. package/lib/locale/tr.mjs.map +1 -1
  1006. package/lib/locale/uk.mjs +5 -3
  1007. package/lib/locale/uk.mjs.map +1 -1
  1008. package/lib/locale/vi.mjs +5 -3
  1009. package/lib/locale/vi.mjs.map +1 -1
  1010. package/lib/locale/zh-Hans.mjs +5 -3
  1011. package/lib/locale/zh-Hans.mjs.map +1 -1
  1012. package/lib/locale/zh-Hant.mjs +5 -3
  1013. package/lib/locale/zh-Hant.mjs.map +1 -1
  1014. package/lib/presets/default/index.mjs +1 -1
  1015. package/lib/presets/default/index.mjs.map +1 -1
  1016. package/lib/services/goto/easing-patterns.mjs +0 -3
  1017. package/lib/services/goto/easing-patterns.mjs.map +1 -1
  1018. package/lib/services/goto/index.mjs +17 -17
  1019. package/lib/services/goto/index.mjs.map +1 -1
  1020. package/lib/services/goto/util.mjs +2 -2
  1021. package/lib/services/goto/util.mjs.map +1 -1
  1022. package/lib/styles/elements/_blockquote.sass +6 -4
  1023. package/lib/styles/elements/_global.sass +12 -8
  1024. package/lib/styles/elements/_index.sass +2 -6
  1025. package/lib/styles/generic/_colors.scss +31 -11
  1026. package/lib/styles/generic/_elevation.scss +3 -3
  1027. package/lib/styles/generic/_index.scss +6 -6
  1028. package/lib/styles/generic/_reset.scss +236 -226
  1029. package/lib/styles/generic/_transitions.scss +20 -4
  1030. package/lib/styles/main.css +18620 -0
  1031. package/lib/styles/main.sass +4 -5
  1032. package/lib/styles/settings/_colors.scss +431 -7
  1033. package/lib/styles/settings/_elevations.scss +1 -1
  1034. package/lib/styles/settings/_index.sass +4 -10
  1035. package/lib/styles/settings/_utilities.scss +514 -463
  1036. package/lib/styles/settings/_variables.scss +59 -64
  1037. package/lib/styles/tools/_absolute.sass +8 -0
  1038. package/lib/styles/tools/_border.sass +6 -1
  1039. package/lib/styles/tools/_density.sass +5 -9
  1040. package/lib/styles/tools/_display.sass +11 -0
  1041. package/lib/styles/tools/_elevation.sass +4 -2
  1042. package/lib/styles/tools/_functions.sass +32 -24
  1043. package/lib/styles/tools/_index.sass +17 -22
  1044. package/lib/styles/tools/_radius.sass +5 -2
  1045. package/lib/styles/tools/_rtl.sass +2 -0
  1046. package/lib/styles/tools/_sheet.sass +7 -4
  1047. package/lib/styles/tools/_states.sass +18 -8
  1048. package/lib/styles/tools/_theme.sass +3 -5
  1049. package/lib/styles/tools/_typography.sass +6 -0
  1050. package/lib/styles/tools/_utilities.sass +27 -24
  1051. package/lib/styles/tools/_variant.sass +53 -0
  1052. package/lib/styles/utilities/_display.sass +7 -6
  1053. package/lib/styles/utilities/_index.sass +25 -22
  1054. package/lib/styles/utilities/_text.sass +8 -7
  1055. package/lib/styles.scss +4 -0
  1056. package/lib/util/animation.mjs +43 -0
  1057. package/lib/util/animation.mjs.map +1 -0
  1058. package/lib/util/box.mjs +32 -0
  1059. package/lib/util/box.mjs.map +1 -0
  1060. package/lib/util/color/APCA.mjs +85 -0
  1061. package/lib/util/color/APCA.mjs.map +1 -0
  1062. package/lib/util/colorUtils.mjs +10 -7
  1063. package/lib/util/colorUtils.mjs.map +1 -1
  1064. package/lib/util/console.mjs +8 -7
  1065. package/lib/util/console.mjs.map +1 -1
  1066. package/lib/util/createSimpleFunctional.mjs +18 -11
  1067. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  1068. package/lib/util/dateTimeUtils.mjs +3 -1
  1069. package/lib/util/dateTimeUtils.mjs.map +1 -1
  1070. package/lib/util/defineComponent.mjs +92 -0
  1071. package/lib/util/defineComponent.mjs.map +1 -0
  1072. package/lib/util/easing.mjs +5 -0
  1073. package/lib/util/easing.mjs.map +1 -0
  1074. package/lib/util/getCurrentInstance.mjs +19 -0
  1075. package/lib/util/getCurrentInstance.mjs.map +1 -0
  1076. package/lib/util/getScrollParent.mjs +24 -0
  1077. package/lib/util/getScrollParent.mjs.map +1 -0
  1078. package/lib/util/globals.mjs +1 -0
  1079. package/lib/util/globals.mjs.map +1 -1
  1080. package/lib/util/helpers.mjs +194 -41
  1081. package/lib/util/helpers.mjs.map +1 -1
  1082. package/lib/util/index.mjs +6 -2
  1083. package/lib/util/isFixedPosition.mjs +12 -0
  1084. package/lib/util/isFixedPosition.mjs.map +1 -0
  1085. package/lib/util/propsFactory.mjs.map +1 -1
  1086. package/lib/util/useRender.mjs +4 -2
  1087. package/lib/util/useRender.mjs.map +1 -1
  1088. package/package.json +109 -42
  1089. package/dist/vuetify.css.map +0 -1
  1090. package/lib/components/VApp/_index.scss +0 -1
  1091. package/lib/components/VAvatar/_index.scss +0 -2
  1092. package/lib/components/VBadge/_index.scss +0 -2
  1093. package/lib/components/VBanner/_index.scss +0 -2
  1094. package/lib/components/VBtn/_index.scss +0 -3
  1095. package/lib/components/VCheckbox/VSimpleCheckbox.mjs +0 -92
  1096. package/lib/components/VCheckbox/VSimpleCheckbox.mjs.map +0 -1
  1097. package/lib/components/VCheckbox/VSimpleCheckbox.sass +0 -16
  1098. package/lib/components/VDataTable/VSimpleTable.mjs +0 -48
  1099. package/lib/components/VDataTable/VSimpleTable.mjs.map +0 -1
  1100. package/lib/components/VDataTable/VSimpleTable.sass +0 -179
  1101. package/lib/components/VDivider/_index.scss +0 -2
  1102. package/lib/components/VExpansionPanel/VExpansionPanelContent.mjs +0 -47
  1103. package/lib/components/VExpansionPanel/VExpansionPanelContent.mjs.map +0 -1
  1104. package/lib/components/VExpansionPanel/VExpansionPanelHeader.mjs +0 -112
  1105. package/lib/components/VExpansionPanel/VExpansionPanelHeader.mjs.map +0 -1
  1106. package/lib/components/VFooter/_index.scss +0 -2
  1107. package/lib/components/VGrid/_index.scss +0 -2
  1108. package/lib/components/VIcon/_index.scss +0 -2
  1109. package/lib/components/VImg/_index.scss +0 -2
  1110. package/lib/components/VLayout/_index.scss +0 -1
  1111. package/lib/components/VList/VListGroup.sass +0 -111
  1112. package/lib/components/VList/VListItemGroup.mjs +0 -41
  1113. package/lib/components/VList/VListItemGroup.mjs.map +0 -1
  1114. package/lib/components/VList/VListItemGroup.sass +0 -5
  1115. package/lib/components/VList/_mixins.sass +0 -18
  1116. package/lib/components/VMain/_index.scss +0 -2
  1117. package/lib/components/VNavigationDrawer/_index.scss +0 -2
  1118. package/lib/components/VParallax/_variables.scss +0 -4
  1119. package/lib/components/VRadioGroup/VRadio.mjs +0 -179
  1120. package/lib/components/VRadioGroup/VRadio.mjs.map +0 -1
  1121. package/lib/components/VRadioGroup/VRadio.sass +0 -25
  1122. package/lib/components/VRangeSlider/VRangeSlider.sass +0 -19
  1123. package/lib/components/VResponsive/_index.scss +0 -1
  1124. package/lib/components/VSelect/VSelectList.mjs +0 -251
  1125. package/lib/components/VSelect/VSelectList.mjs.map +0 -1
  1126. package/lib/components/VSheet/_index.scss +0 -2
  1127. package/lib/components/VSlideGroup/VSlideItem.mjs +0 -14
  1128. package/lib/components/VSlideGroup/VSlideItem.mjs.map +0 -1
  1129. package/lib/components/VSubheader/VSubheader.mjs +0 -31
  1130. package/lib/components/VSubheader/VSubheader.mjs.map +0 -1
  1131. package/lib/components/VSubheader/VSubheader.sass +0 -15
  1132. package/lib/components/VSubheader/_variables.scss +0 -6
  1133. package/lib/components/VSubheader/index.mjs +0 -4
  1134. package/lib/components/VSubheader/index.mjs.map +0 -1
  1135. package/lib/components/VSystemBar/_index.scss +0 -2
  1136. package/lib/components/VTabs/VTabItem.mjs +0 -23
  1137. package/lib/components/VTabs/VTabItem.mjs.map +0 -1
  1138. package/lib/components/VTabs/VTabsBar.mjs +0 -86
  1139. package/lib/components/VTabs/VTabsBar.mjs.map +0 -1
  1140. package/lib/components/VTabs/VTabsItems.mjs +0 -37
  1141. package/lib/components/VTabs/VTabsItems.mjs.map +0 -1
  1142. package/lib/components/VTabs/VTabsSlider.mjs +0 -20
  1143. package/lib/components/VTabs/VTabsSlider.mjs.map +0 -1
  1144. package/lib/components/VTextField/_mixins.sass +0 -18
  1145. package/lib/components/VToolbar/_index.scss +0 -2
  1146. package/lib/entry.mjs +0 -4
  1147. package/lib/entry.mjs.map +0 -1
  1148. package/lib/globals.d.mjs +0 -2
  1149. package/lib/globals.d.mjs.map +0 -1
  1150. package/lib/mixins/activatable/index.mjs +0 -196
  1151. package/lib/mixins/activatable/index.mjs.map +0 -1
  1152. package/lib/mixins/applicationable/index.mjs +0 -72
  1153. package/lib/mixins/applicationable/index.mjs.map +0 -1
  1154. package/lib/mixins/binds-attrs/index.mjs +0 -42
  1155. package/lib/mixins/binds-attrs/index.mjs.map +0 -1
  1156. package/lib/mixins/bootable/index.mjs +0 -54
  1157. package/lib/mixins/bootable/index.mjs.map +0 -1
  1158. package/lib/mixins/button-group/index.mjs +0 -28
  1159. package/lib/mixins/button-group/index.mjs.map +0 -1
  1160. package/lib/mixins/colorable/index.mjs +0 -78
  1161. package/lib/mixins/colorable/index.mjs.map +0 -1
  1162. package/lib/mixins/comparable/index.mjs +0 -15
  1163. package/lib/mixins/comparable/index.mjs.map +0 -1
  1164. package/lib/mixins/dependent/index.mjs +0 -73
  1165. package/lib/mixins/dependent/index.mjs.map +0 -1
  1166. package/lib/mixins/detachable/index.mjs +0 -128
  1167. package/lib/mixins/detachable/index.mjs.map +0 -1
  1168. package/lib/mixins/elevatable/index.mjs +0 -26
  1169. package/lib/mixins/elevatable/index.mjs.map +0 -1
  1170. package/lib/mixins/filterable/index.mjs +0 -16
  1171. package/lib/mixins/filterable/index.mjs.map +0 -1
  1172. package/lib/mixins/intersectable/index.mjs +0 -53
  1173. package/lib/mixins/intersectable/index.mjs.map +0 -1
  1174. package/lib/mixins/loadable/index.mjs +0 -45
  1175. package/lib/mixins/loadable/index.mjs.map +0 -1
  1176. package/lib/mixins/localable/index.mjs +0 -17
  1177. package/lib/mixins/localable/index.mjs.map +0 -1
  1178. package/lib/mixins/menuable/index.mjs +0 -361
  1179. package/lib/mixins/menuable/index.mjs.map +0 -1
  1180. package/lib/mixins/mobile/index.mjs +0 -50
  1181. package/lib/mixins/mobile/index.mjs.map +0 -1
  1182. package/lib/mixins/overlayable/index.mjs +0 -201
  1183. package/lib/mixins/overlayable/index.mjs.map +0 -1
  1184. package/lib/mixins/picker/index.mjs +0 -75
  1185. package/lib/mixins/picker/index.mjs.map +0 -1
  1186. package/lib/mixins/picker-button/index.mjs +0 -35
  1187. package/lib/mixins/picker-button/index.mjs.map +0 -1
  1188. package/lib/mixins/proxyable/index.mjs +0 -50
  1189. package/lib/mixins/proxyable/index.mjs.map +0 -1
  1190. package/lib/mixins/returnable/index.mjs +0 -36
  1191. package/lib/mixins/returnable/index.mjs.map +0 -1
  1192. package/lib/mixins/rippleable/index.mjs +0 -35
  1193. package/lib/mixins/rippleable/index.mjs.map +0 -1
  1194. package/lib/mixins/roundable/index.mjs +0 -37
  1195. package/lib/mixins/roundable/index.mjs.map +0 -1
  1196. package/lib/mixins/routable/index.mjs +0 -146
  1197. package/lib/mixins/routable/index.mjs.map +0 -1
  1198. package/lib/mixins/selectable/index.mjs +0 -167
  1199. package/lib/mixins/selectable/index.mjs.map +0 -1
  1200. package/lib/mixins/stackable/index.mjs +0 -55
  1201. package/lib/mixins/stackable/index.mjs.map +0 -1
  1202. package/lib/mixins/themeable/index.mjs +0 -111
  1203. package/lib/mixins/themeable/index.mjs.map +0 -1
  1204. package/lib/mixins/toggleable/index.mjs +0 -40
  1205. package/lib/mixins/toggleable/index.mjs.map +0 -1
  1206. package/lib/mixins/transitionable/index.mjs +0 -13
  1207. package/lib/mixins/transitionable/index.mjs.map +0 -1
  1208. package/lib/mixins/translatable/index.mjs +0 -59
  1209. package/lib/mixins/translatable/index.mjs.map +0 -1
  1210. package/lib/mixins/validatable/index.mjs +0 -263
  1211. package/lib/mixins/validatable/index.mjs.map +0 -1
  1212. package/lib/services/application/index.mjs +0 -44
  1213. package/lib/services/application/index.mjs.map +0 -1
  1214. package/lib/services/breakpoint/index.mjs +0 -151
  1215. package/lib/services/breakpoint/index.mjs.map +0 -1
  1216. package/lib/services/index.mjs +0 -10
  1217. package/lib/services/index.mjs.map +0 -1
  1218. package/lib/services/lang/index.mjs +0 -69
  1219. package/lib/services/lang/index.mjs.map +0 -1
  1220. package/lib/services/service/index.mjs +0 -8
  1221. package/lib/services/service/index.mjs.map +0 -1
  1222. package/lib/styles/components/_index.sass +0 -1
  1223. package/lib/styles/components/_selection-controls.sass +0 -119
  1224. package/lib/styles/elements/_code.sass +0 -23
  1225. package/lib/styles/elements/_headings.sass +0 -8
  1226. package/lib/styles/elements/_lists.sass +0 -3
  1227. package/lib/styles/elements/_typography.sass +0 -88
  1228. package/lib/styles/settings/_dark.scss +0 -145
  1229. package/lib/styles/settings/_light.scss +0 -126
  1230. package/lib/styles/settings/_theme.scss +0 -1
  1231. package/lib/styles/styles.sass +0 -2
  1232. package/lib/util/makeProps.mjs +0 -52
  1233. package/lib/util/makeProps.mjs.map +0 -1
  1234. package/lib/util/useDirective.mjs +0 -7
  1235. package/lib/util/useDirective.mjs.map +0 -1
  1236. package/types/.npmignore +0 -2
  1237. package/types/alacarte.d.ts +0 -49
  1238. package/types/colors.d.ts +0 -107
  1239. package/types/index.d.ts +0 -300
  1240. package/types/lib.d.ts +0 -380
  1241. package/types/services/application.d.ts +0 -27
  1242. package/types/services/breakpoint.d.ts +0 -45
  1243. package/types/services/goto.d.ts +0 -31
  1244. package/types/services/icons.d.ts +0 -71
  1245. package/types/services/index.d.ts +0 -16
  1246. package/types/services/lang.d.ts +0 -19
  1247. package/types/services/theme.d.ts +0 -83
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/VOverlay/positionStrategies.ts"],"names":["computed","effectScope","nextTick","onScopeDispose","ref","watch","watchEffect","convertToUnit","getScrollParent","IN_BROWSER","isFixedPosition","nullifyTransforms","propsFactory","oppositeAnchor","parseAnchor","physicalAnchor","anchorToPoint","getOffset","Box","positionStrategies","static","staticPositionStrategy","connected","connectedPositionStrategy","makePositionStrategyProps","positionStrategy","type","String","Function","default","validator","val","anchor","origin","offset","Number","usePositionStrategies","props","data","contentStyles","updatePosition","scope","stop","value","undefined","isActive","run","window","addEventListener","onResize","passive","removeEventListener","e","activatorFixed","activatorEl","Object","assign","position","preferredAnchor","preferredOrigin","doesOverlap","side","configuredMaxHeight","parseFloat","maxHeight","isNaN","Infinity","configuredMinWidth","minWidth","observe","observer","ResizeObserver","contentEl","disconnect","requestAnimationFrame","targetBox","getBoundingClientRect","x","y","width","height","scrollParent","viewportWidth","clientWidth","viewportHeight","Math","min","clientHeight","innerHeight","contentBox","scrollables","Map","querySelectorAll","forEach","el","scrollLeft","scrollTop","set","initialMaxWidth","style","maxWidth","initialMaxHeight","removeProperty","left","top","scrollTo","contentHeight","maxFreeSpaceWidth","MAX_VALUE","parseInt","viewportMargin","freeSpace","bottom","right","fitsY","canFill","includes","max","floor","targetPoint","contentPoint","round","transformOrigin","immediate"],"mappings":"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","sourcesContent":["// Utilities\nimport { computed, effectScope, nextTick, onScopeDispose, ref, watch, watchEffect } from 'vue'\nimport { convertToUnit, getScrollParent, IN_BROWSER, isFixedPosition, nullifyTransforms, propsFactory } from '@/util'\nimport { oppositeAnchor, parseAnchor, physicalAnchor } from './util/anchor'\nimport { anchorToPoint, getOffset } from './util/point'\n\n// Types\nimport type { EffectScope, PropType, Ref } from 'vue'\nimport type { Anchor } from './util/anchor'\nimport { Box } from '@/util/box'\n\nexport interface PositionStrategyData {\n contentEl: Ref<HTMLElement | undefined>\n activatorEl: Ref<HTMLElement | undefined>\n isActive: Ref<boolean>\n}\n\nconst positionStrategies = {\n static: staticPositionStrategy, // specific viewport position, usually centered\n connected: connectedPositionStrategy, // connected to a certain element\n}\n\nexport interface StrategyProps {\n positionStrategy: keyof typeof positionStrategies | (\n (\n data: PositionStrategyData,\n props: StrategyProps,\n contentStyles: Ref<Record<string, string>>\n ) => undefined | { updatePosition: (e: Event) => void }\n )\n anchor: Anchor\n origin: Anchor | 'auto' | 'overlap'\n offset?: number | string\n maxHeight?: number | string\n maxWidth?: number | string\n minHeight?: number | string\n minWidth?: number | string\n}\n\nexport const makePositionStrategyProps = propsFactory({\n positionStrategy: {\n type: [String, Function] as PropType<StrategyProps['positionStrategy']>,\n default: 'static',\n validator: (val: any) => typeof val === 'function' || val in positionStrategies,\n },\n anchor: {\n type: String as PropType<StrategyProps['anchor']>,\n default: 'bottom',\n },\n origin: {\n type: String as PropType<StrategyProps['origin']>,\n default: 'auto',\n },\n offset: [Number, String],\n})\n\nexport function usePositionStrategies (\n props: StrategyProps,\n data: PositionStrategyData\n) {\n const contentStyles = ref({})\n const updatePosition = ref<(e: Event) => void>()\n\n let scope: EffectScope | undefined\n watchEffect(async () => {\n scope?.stop()\n updatePosition.value = undefined\n\n if (!(IN_BROWSER && data.isActive.value && props.positionStrategy)) return\n\n scope = effectScope()\n await nextTick()\n scope.run(() => {\n if (typeof props.positionStrategy === 'function') {\n updatePosition.value = props.positionStrategy(data, props, contentStyles)?.updatePosition\n } else {\n updatePosition.value = positionStrategies[props.positionStrategy](data, props, contentStyles)?.updatePosition\n }\n })\n })\n\n IN_BROWSER && window.addEventListener('resize', onResize, { passive: true })\n\n onScopeDispose(() => {\n IN_BROWSER && window.removeEventListener('resize', onResize)\n updatePosition.value = undefined\n scope?.stop()\n })\n\n function onResize (e: Event) {\n updatePosition.value?.(e)\n }\n\n return {\n contentStyles,\n updatePosition,\n }\n}\n\nfunction staticPositionStrategy () {\n // TODO\n}\n\nfunction connectedPositionStrategy (data: PositionStrategyData, props: StrategyProps, contentStyles: Ref<Record<string, string>>) {\n const activatorFixed = isFixedPosition(data.activatorEl.value)\n if (activatorFixed) {\n Object.assign(contentStyles.value, {\n position: 'fixed',\n })\n }\n\n const preferredAnchor = computed(() => parseAnchor(props.anchor))\n const preferredOrigin = computed(() =>\n props.origin === 'overlap' ? preferredAnchor.value\n : props.origin === 'auto' ? oppositeAnchor(preferredAnchor.value)\n : parseAnchor(props.origin)\n )\n const doesOverlap = computed(() => {\n return preferredAnchor.value.side === preferredOrigin.value.side\n })\n\n const configuredMaxHeight = computed(() => {\n const val = parseFloat(props.maxHeight!)\n return isNaN(val) ? Infinity : val\n })\n\n const configuredMinWidth = computed(() => {\n const val = parseFloat(props.minWidth!)\n return isNaN(val) ? Infinity : val\n })\n\n let observe = false\n if (IN_BROWSER) {\n const observer = new ResizeObserver(() => {\n if (observe) updatePosition()\n })\n observer.observe(data.activatorEl.value!)\n observer.observe(data.contentEl.value!)\n\n onScopeDispose(() => {\n observer.disconnect()\n })\n }\n\n // eslint-disable-next-line max-statements\n function updatePosition () {\n observe = false\n requestAnimationFrame(() => {\n requestAnimationFrame(() => observe = true)\n })\n\n const targetBox = data.activatorEl.value!.getBoundingClientRect()\n // TODO: offset shouldn't affect width\n if (props.offset) {\n targetBox.x -= +props.offset\n targetBox.y -= +props.offset\n targetBox.width += +props.offset * 2\n targetBox.height += +props.offset * 2\n }\n\n const scrollParent = getScrollParent(data.contentEl.value)\n const viewportWidth = scrollParent.clientWidth\n const viewportHeight = Math.min(scrollParent.clientHeight, window.innerHeight)\n\n let contentBox\n {\n const scrollables = new Map<Element, [number, number]>()\n data.contentEl.value!.querySelectorAll('*').forEach(el => {\n const x = el.scrollLeft\n const y = el.scrollTop\n if (x || y) {\n scrollables.set(el, [x, y])\n }\n })\n\n const initialMaxWidth = data.contentEl.value!.style.maxWidth\n const initialMaxHeight = data.contentEl.value!.style.maxHeight\n data.contentEl.value!.style.removeProperty('max-width')\n data.contentEl.value!.style.removeProperty('max-height')\n\n contentBox = nullifyTransforms(data.contentEl.value!)\n contentBox.x -= parseFloat(data.contentEl.value!.style.left) || 0\n contentBox.y -= parseFloat(data.contentEl.value!.style.top) || 0\n\n data.contentEl.value!.style.maxWidth = initialMaxWidth\n data.contentEl.value!.style.maxHeight = initialMaxHeight\n scrollables.forEach((position, el) => {\n el.scrollTo(...position)\n })\n }\n\n const contentHeight = Math.min(configuredMaxHeight.value, contentBox.height)\n\n // Regard undefined maxWidth as maximally occupying whole remaining space by default\n const maxFreeSpaceWidth = props.maxWidth === undefined ? Number.MAX_VALUE : parseInt(props.maxWidth ?? 0, 10)\n\n const viewportMargin = 12\n const freeSpace = {\n top: targetBox.top - viewportMargin,\n bottom: viewportHeight - targetBox.bottom - viewportMargin,\n left: Math.min(targetBox.left - viewportMargin, maxFreeSpaceWidth),\n right: Math.min(viewportWidth - targetBox.right - viewportMargin, maxFreeSpaceWidth),\n }\n\n const fitsY = (preferredAnchor.value.side === 'bottom' && contentHeight <= freeSpace.bottom) ||\n (preferredAnchor.value.side === 'top' && contentHeight <= freeSpace.top)\n\n const anchor = fitsY ? preferredAnchor.value\n : (preferredAnchor.value.side === 'bottom' && freeSpace.top > freeSpace.bottom) ||\n (preferredAnchor.value.side === 'top' && freeSpace.bottom > freeSpace.top) ? oppositeAnchor(preferredAnchor.value)\n : preferredAnchor.value\n const origin = fitsY ? preferredOrigin.value : oppositeAnchor(anchor)\n\n const canFill = doesOverlap.value || ['center', 'top', 'bottom'].includes(anchor.side)\n\n const maxWidth = canFill ? Math.min(viewportWidth, Math.max(targetBox.width, viewportWidth - viewportMargin * 2))\n : anchor.side === 'end' ? freeSpace.right\n : anchor.side === 'start' ? freeSpace.left\n : null\n const minWidth = Math.min(configuredMinWidth.value, maxWidth!, targetBox.width)\n const maxHeight = fitsY ? configuredMaxHeight.value : Math.min(\n configuredMaxHeight.value,\n Math.floor(anchor.side === 'top' ? freeSpace.top : freeSpace.bottom)\n )\n\n const targetPoint = anchorToPoint(anchor, targetBox)\n const contentPoint = anchorToPoint(origin, new Box({\n ...contentBox,\n height: Math.min(contentHeight, maxHeight),\n }))\n\n const { x, y } = getOffset(targetPoint, contentPoint)\n\n Object.assign(contentStyles.value, {\n '--v-overlay-anchor-origin': physicalAnchor(anchor, data.activatorEl.value!),\n top: convertToUnit(Math.round(y)),\n left: convertToUnit(Math.round(x)), // TODO: right for origin=\"end\", rtl\n transformOrigin: physicalAnchor(origin, data.activatorEl.value!),\n minWidth: convertToUnit(minWidth),\n maxWidth: convertToUnit(maxWidth),\n maxHeight: convertToUnit(maxHeight),\n })\n }\n\n watch(\n () => [preferredAnchor.value, preferredOrigin.value, props.offset],\n () => updatePosition(),\n { immediate: !activatorFixed }\n )\n\n if (activatorFixed) nextTick(() => updatePosition())\n requestAnimationFrame(() => {\n if (contentStyles.value.maxHeight) updatePosition()\n })\n\n return { updatePosition }\n}\n"],"file":"positionStrategies.mjs"}
@@ -0,0 +1,28 @@
1
+ let clean = true;
2
+ const frames = [];
3
+ /**
4
+ * Schedule a task to run in an animation frame on its own
5
+ * This is useful for heavy tasks that may cause jank if all ran together
6
+ */
7
+
8
+ export function requestNewFrame(cb) {
9
+ if (!clean || frames.length) {
10
+ frames.push(cb);
11
+ run();
12
+ } else {
13
+ clean = false;
14
+ cb();
15
+ run();
16
+ }
17
+ }
18
+ let raf = -1;
19
+
20
+ function run() {
21
+ cancelAnimationFrame(raf);
22
+ raf = requestAnimationFrame(() => {
23
+ const frame = frames.shift();
24
+ if (frame) frame();
25
+ if (frames.length) run();else clean = true;
26
+ });
27
+ }
28
+ //# sourceMappingURL=requestNewFrame.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/VOverlay/requestNewFrame.ts"],"names":["clean","frames","requestNewFrame","cb","length","push","run","raf","cancelAnimationFrame","requestAnimationFrame","frame","shift"],"mappings":"AAAA,IAAIA,KAAK,GAAG,IAAZ;AACA,MAAMC,MAAM,GAAG,EAAf;AAEA;AACA;AACA;AACA;;AACA,OAAO,SAASC,eAAT,CAA0BC,EAA1B,EAA0C;AAC/C,MAAI,CAACH,KAAD,IAAUC,MAAM,CAACG,MAArB,EAA6B;AAC3BH,IAAAA,MAAM,CAACI,IAAP,CAAYF,EAAZ;AACAG,IAAAA,GAAG;AACJ,GAHD,MAGO;AACLN,IAAAA,KAAK,GAAG,KAAR;AACAG,IAAAA,EAAE;AACFG,IAAAA,GAAG;AACJ;AACF;AAED,IAAIC,GAAG,GAAG,CAAC,CAAX;;AACA,SAASD,GAAT,GAAgB;AACdE,EAAAA,oBAAoB,CAACD,GAAD,CAApB;AACAA,EAAAA,GAAG,GAAGE,qBAAqB,CAAC,MAAM;AAChC,UAAMC,KAAK,GAAGT,MAAM,CAACU,KAAP,EAAd;AACA,QAAID,KAAJ,EAAWA,KAAK;AAEhB,QAAIT,MAAM,CAACG,MAAX,EAAmBE,GAAG,GAAtB,KACKN,KAAK,GAAG,IAAR;AACN,GAN0B,CAA3B;AAOD","sourcesContent":["let clean = true\nconst frames = [] as any[]\n\n/**\n * Schedule a task to run in an animation frame on its own\n * This is useful for heavy tasks that may cause jank if all ran together\n */\nexport function requestNewFrame (cb: () => void) {\n if (!clean || frames.length) {\n frames.push(cb)\n run()\n } else {\n clean = false\n cb()\n run()\n }\n}\n\nlet raf = -1\nfunction run () {\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(() => {\n const frame = frames.shift()\n if (frame) frame()\n\n if (frames.length) run()\n else clean = true\n })\n}\n"],"file":"requestNewFrame.mjs"}
@@ -0,0 +1,137 @@
1
+ // Utilities
2
+ import { convertToUnit, getScrollParents, hasScrollbar, IN_BROWSER, propsFactory } from "../../util/index.mjs";
3
+ import { effectScope, nextTick, onScopeDispose, watchEffect } from 'vue';
4
+ import { requestNewFrame } from "./requestNewFrame.mjs"; // Types
5
+
6
+ const scrollStrategies = {
7
+ none: null,
8
+ close: closeScrollStrategy,
9
+ block: blockScrollStrategy,
10
+ reposition: repositionScrollStrategy
11
+ };
12
+ export const makeScrollStrategyProps = propsFactory({
13
+ scrollStrategy: {
14
+ type: [String, Function],
15
+ default: 'block',
16
+ validator: val => typeof val === 'function' || val in scrollStrategies
17
+ }
18
+ });
19
+ export function useScrollStrategies(props, data) {
20
+ if (!IN_BROWSER) return;
21
+ let scope;
22
+ watchEffect(async () => {
23
+ var _scope;
24
+
25
+ (_scope = scope) == null ? void 0 : _scope.stop();
26
+ if (!(data.isActive.value && props.scrollStrategy)) return;
27
+ scope = effectScope();
28
+ await nextTick();
29
+ scope.run(() => {
30
+ if (typeof props.scrollStrategy === 'function') {
31
+ props.scrollStrategy(data);
32
+ } else {
33
+ var _scrollStrategies$pro;
34
+
35
+ (_scrollStrategies$pro = scrollStrategies[props.scrollStrategy]) == null ? void 0 : _scrollStrategies$pro.call(scrollStrategies, data);
36
+ }
37
+ });
38
+ });
39
+ }
40
+
41
+ function closeScrollStrategy(data) {
42
+ var _data$activatorEl$val;
43
+
44
+ function onScroll(e) {
45
+ data.isActive.value = false;
46
+ }
47
+
48
+ bindScroll((_data$activatorEl$val = data.activatorEl.value) != null ? _data$activatorEl$val : data.contentEl.value, onScroll);
49
+ }
50
+
51
+ function blockScrollStrategy(data) {
52
+ var _data$root$value;
53
+
54
+ const scrollElements = [...new Set([...getScrollParents(data.activatorEl.value), ...getScrollParents(data.contentEl.value)])].filter(el => !el.classList.contains('v-overlay-scroll-blocked'));
55
+ const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth;
56
+
57
+ const scrollableParent = (el => hasScrollbar(el) && el)(((_data$root$value = data.root.value) == null ? void 0 : _data$root$value.offsetParent) || document.documentElement);
58
+
59
+ if (scrollableParent) {
60
+ data.root.value.classList.add('v-overlay--scroll-blocked');
61
+ }
62
+
63
+ scrollElements.forEach((el, i) => {
64
+ el.style.setProperty('--v-body-scroll-x', convertToUnit(-el.scrollLeft));
65
+ el.style.setProperty('--v-body-scroll-y', convertToUnit(-el.scrollTop));
66
+ el.style.setProperty('--v-scrollbar-offset', convertToUnit(scrollbarWidth));
67
+ el.classList.add('v-overlay-scroll-blocked');
68
+ });
69
+ onScopeDispose(() => {
70
+ scrollElements.forEach((el, i) => {
71
+ const x = parseFloat(el.style.getPropertyValue('--v-body-scroll-x'));
72
+ const y = parseFloat(el.style.getPropertyValue('--v-body-scroll-y'));
73
+ el.style.removeProperty('--v-body-scroll-x');
74
+ el.style.removeProperty('--v-body-scroll-y');
75
+ el.style.removeProperty('--v-scrollbar-offset');
76
+ el.classList.remove('v-overlay-scroll-blocked');
77
+ el.scrollLeft = -x;
78
+ el.scrollTop = -y;
79
+ });
80
+
81
+ if (scrollableParent) {
82
+ data.root.value.classList.remove('v-overlay--scroll-blocked');
83
+ }
84
+ });
85
+ }
86
+
87
+ function repositionScrollStrategy(data) {
88
+ var _data$activatorEl$val2;
89
+
90
+ let slow = false;
91
+ let raf = -1;
92
+
93
+ function update(e) {
94
+ requestNewFrame(() => {
95
+ var _data$updatePosition$, _data$updatePosition;
96
+
97
+ const start = performance.now();
98
+ (_data$updatePosition$ = (_data$updatePosition = data.updatePosition).value) == null ? void 0 : _data$updatePosition$.call(_data$updatePosition, e);
99
+ const time = performance.now() - start;
100
+ slow = time / (1000 / 60) > 2;
101
+ });
102
+ }
103
+
104
+ bindScroll((_data$activatorEl$val2 = data.activatorEl.value) != null ? _data$activatorEl$val2 : data.contentEl.value, e => {
105
+ if (slow) {
106
+ // If the position calculation is slow,
107
+ // defer updates until scrolling is finished.
108
+ // Browsers usually fire one scroll event per frame so
109
+ // we just wait until we've got two frames without an event
110
+ cancelAnimationFrame(raf);
111
+ raf = requestAnimationFrame(() => {
112
+ raf = requestAnimationFrame(() => {
113
+ update(e);
114
+ });
115
+ });
116
+ } else {
117
+ update(e);
118
+ }
119
+ });
120
+ }
121
+ /** @private */
122
+
123
+
124
+ function bindScroll(el, onScroll) {
125
+ const scrollElements = [document, ...getScrollParents(el)];
126
+ scrollElements.forEach(el => {
127
+ el.addEventListener('scroll', onScroll, {
128
+ passive: true
129
+ });
130
+ });
131
+ onScopeDispose(() => {
132
+ scrollElements.forEach(el => {
133
+ el.removeEventListener('scroll', onScroll);
134
+ });
135
+ });
136
+ }
137
+ //# sourceMappingURL=scrollStrategies.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/VOverlay/scrollStrategies.ts"],"names":["convertToUnit","getScrollParents","hasScrollbar","IN_BROWSER","propsFactory","effectScope","nextTick","onScopeDispose","watchEffect","requestNewFrame","scrollStrategies","none","close","closeScrollStrategy","block","blockScrollStrategy","reposition","repositionScrollStrategy","makeScrollStrategyProps","scrollStrategy","type","String","Function","default","validator","val","useScrollStrategies","props","data","scope","stop","isActive","value","run","onScroll","e","bindScroll","activatorEl","contentEl","scrollElements","Set","filter","el","classList","contains","scrollbarWidth","window","innerWidth","document","documentElement","offsetWidth","scrollableParent","root","offsetParent","add","forEach","i","style","setProperty","scrollLeft","scrollTop","x","parseFloat","getPropertyValue","y","removeProperty","remove","slow","raf","update","start","performance","now","updatePosition","time","cancelAnimationFrame","requestAnimationFrame","addEventListener","passive","removeEventListener"],"mappings":"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","sourcesContent":["// Utilities\nimport { convertToUnit, getScrollParents, hasScrollbar, IN_BROWSER, propsFactory } from '@/util'\nimport { effectScope, nextTick, onScopeDispose, watchEffect } from 'vue'\nimport { requestNewFrame } from './requestNewFrame'\n\n// Types\nimport type { EffectScope, PropType, Ref } from 'vue'\n\nexport interface ScrollStrategyData {\n root: Ref<HTMLElement | undefined>\n contentEl: Ref<HTMLElement | undefined>\n activatorEl: Ref<HTMLElement | undefined>\n isActive: Ref<boolean>\n updatePosition: Ref<((e: Event) => void) | undefined>\n}\n\nconst scrollStrategies = {\n none: null,\n close: closeScrollStrategy,\n block: blockScrollStrategy,\n reposition: repositionScrollStrategy,\n}\n\ninterface StrategyProps {\n scrollStrategy: keyof typeof scrollStrategies | ((data: ScrollStrategyData) => void)\n}\n\nexport const makeScrollStrategyProps = propsFactory({\n scrollStrategy: {\n type: [String, Function] as PropType<StrategyProps['scrollStrategy']>,\n default: 'block',\n validator: (val: any) => typeof val === 'function' || val in scrollStrategies,\n },\n})\n\nexport function useScrollStrategies (\n props: StrategyProps,\n data: ScrollStrategyData\n) {\n if (!IN_BROWSER) return\n\n let scope: EffectScope | undefined\n watchEffect(async () => {\n scope?.stop()\n\n if (!(data.isActive.value && props.scrollStrategy)) return\n\n scope = effectScope()\n await nextTick()\n scope.run(() => {\n if (typeof props.scrollStrategy === 'function') {\n props.scrollStrategy(data)\n } else {\n scrollStrategies[props.scrollStrategy]?.(data)\n }\n })\n })\n}\n\nfunction closeScrollStrategy (data: ScrollStrategyData) {\n function onScroll (e: Event) {\n data.isActive.value = false\n }\n\n bindScroll(data.activatorEl.value ?? data.contentEl.value, onScroll)\n}\n\nfunction blockScrollStrategy (data: ScrollStrategyData) {\n const scrollElements = [...new Set([\n ...getScrollParents(data.activatorEl.value),\n ...getScrollParents(data.contentEl.value),\n ])].filter(el => !el.classList.contains('v-overlay-scroll-blocked'))\n const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth\n\n const scrollableParent = (el => hasScrollbar(el) && el)(data.root.value?.offsetParent || document.documentElement)\n if (scrollableParent) {\n data.root.value!.classList.add('v-overlay--scroll-blocked')\n }\n\n scrollElements.forEach((el, i) => {\n el.style.setProperty('--v-body-scroll-x', convertToUnit(-el.scrollLeft))\n el.style.setProperty('--v-body-scroll-y', convertToUnit(-el.scrollTop))\n el.style.setProperty('--v-scrollbar-offset', convertToUnit(scrollbarWidth))\n el.classList.add('v-overlay-scroll-blocked')\n })\n\n onScopeDispose(() => {\n scrollElements.forEach((el, i) => {\n const x = parseFloat(el.style.getPropertyValue('--v-body-scroll-x'))\n const y = parseFloat(el.style.getPropertyValue('--v-body-scroll-y'))\n\n el.style.removeProperty('--v-body-scroll-x')\n el.style.removeProperty('--v-body-scroll-y')\n el.style.removeProperty('--v-scrollbar-offset')\n el.classList.remove('v-overlay-scroll-blocked')\n\n el.scrollLeft = -x\n el.scrollTop = -y\n })\n if (scrollableParent) {\n data.root.value!.classList.remove('v-overlay--scroll-blocked')\n }\n })\n}\n\nfunction repositionScrollStrategy (data: ScrollStrategyData) {\n let slow = false\n let raf = -1\n\n function update (e: Event) {\n requestNewFrame(() => {\n const start = performance.now()\n data.updatePosition.value?.(e)\n const time = performance.now() - start\n slow = time / (1000 / 60) > 2\n })\n }\n\n bindScroll(data.activatorEl.value ?? data.contentEl.value, e => {\n if (slow) {\n // If the position calculation is slow,\n // defer updates until scrolling is finished.\n // Browsers usually fire one scroll event per frame so\n // we just wait until we've got two frames without an event\n cancelAnimationFrame(raf)\n raf = requestAnimationFrame(() => {\n raf = requestAnimationFrame(() => {\n update(e)\n })\n })\n } else {\n update(e)\n }\n })\n}\n\n/** @private */\nfunction bindScroll (el: HTMLElement | undefined, onScroll: (e: Event) => void) {\n const scrollElements = [document, ...getScrollParents(el)]\n scrollElements.forEach(el => {\n el.addEventListener('scroll', onScroll, { passive: true })\n })\n\n onScopeDispose(() => {\n scrollElements.forEach(el => {\n el.removeEventListener('scroll', onScroll)\n })\n })\n}\n"],"file":"scrollStrategies.mjs"}
@@ -0,0 +1,241 @@
1
+ // Utilities
2
+ import { getCurrentInstance, IN_BROWSER, isComponentInstance, propsFactory, SUPPORTS_FOCUS_VISIBLE } from "../../util/index.mjs";
3
+ import { makeDelayProps, useDelay } from "../../composables/delay.mjs";
4
+ import { VMenuSymbol } from "../VMenu/shared.mjs";
5
+ import { computed, effectScope, inject, nextTick, onScopeDispose, ref, watch, watchEffect } from 'vue'; // Types
6
+
7
+ export const makeActivatorProps = propsFactory({
8
+ activator: [String, Object],
9
+ activatorProps: {
10
+ type: Object,
11
+ default: () => ({})
12
+ },
13
+ openOnClick: {
14
+ type: Boolean,
15
+ default: undefined
16
+ },
17
+ openOnHover: Boolean,
18
+ openOnFocus: {
19
+ type: Boolean,
20
+ default: undefined
21
+ },
22
+ closeOnContentClick: Boolean,
23
+ ...makeDelayProps()
24
+ });
25
+ export function useActivator(props, _ref) {
26
+ let {
27
+ isActive,
28
+ isTop
29
+ } = _ref;
30
+ const activatorEl = ref();
31
+ let isHovered = false;
32
+ let isFocused = false;
33
+ const openOnFocus = computed(() => props.openOnFocus || props.openOnFocus == null && props.openOnHover);
34
+ const openOnClick = computed(() => props.openOnClick || props.openOnClick == null && !props.openOnHover && !openOnFocus.value);
35
+ const {
36
+ runOpenDelay,
37
+ runCloseDelay
38
+ } = useDelay(props, value => {
39
+ if (value === (props.openOnHover && isHovered || openOnFocus.value && isFocused) && !(props.openOnHover && isActive.value && !isTop.value)) {
40
+ isActive.value = value;
41
+ }
42
+ });
43
+ const availableEvents = {
44
+ click: e => {
45
+ e.stopPropagation();
46
+ activatorEl.value = e.currentTarget || e.target;
47
+ isActive.value = !isActive.value;
48
+ },
49
+ mouseenter: e => {
50
+ isHovered = true;
51
+ activatorEl.value = e.currentTarget || e.target;
52
+ runOpenDelay();
53
+ },
54
+ mouseleave: e => {
55
+ isHovered = false;
56
+ runCloseDelay();
57
+ },
58
+ focus: e => {
59
+ if (SUPPORTS_FOCUS_VISIBLE && !e.target.matches(':focus-visible')) return;
60
+ isFocused = true;
61
+ e.stopPropagation();
62
+ activatorEl.value = e.currentTarget || e.target;
63
+ runOpenDelay();
64
+ },
65
+ blur: e => {
66
+ isFocused = false;
67
+ e.stopPropagation();
68
+ runCloseDelay();
69
+ }
70
+ };
71
+ const activatorEvents = computed(() => {
72
+ const events = {};
73
+
74
+ if (openOnClick.value) {
75
+ events.click = availableEvents.click;
76
+ }
77
+
78
+ if (props.openOnHover) {
79
+ events.mouseenter = availableEvents.mouseenter;
80
+ events.mouseleave = availableEvents.mouseleave;
81
+ }
82
+
83
+ if (openOnFocus.value) {
84
+ events.focus = availableEvents.focus;
85
+ events.blur = availableEvents.blur;
86
+ }
87
+
88
+ return events;
89
+ });
90
+ const contentEvents = computed(() => {
91
+ const events = {};
92
+
93
+ if (props.openOnHover) {
94
+ events.mouseenter = () => {
95
+ isHovered = true;
96
+ runOpenDelay();
97
+ };
98
+
99
+ events.mouseleave = () => {
100
+ isHovered = false;
101
+ runCloseDelay();
102
+ };
103
+ }
104
+
105
+ if (props.closeOnContentClick) {
106
+ const menu = inject(VMenuSymbol, null);
107
+
108
+ events.click = () => {
109
+ isActive.value = false;
110
+ menu == null ? void 0 : menu.closeParents();
111
+ };
112
+ }
113
+
114
+ return events;
115
+ });
116
+ watch(isTop, val => {
117
+ if (val && props.openOnHover && !isHovered) {
118
+ isActive.value = false;
119
+ }
120
+ });
121
+ const activatorRef = ref();
122
+ watchEffect(() => {
123
+ if (!activatorRef.value) return;
124
+ nextTick(() => {
125
+ const activator = activatorRef.value;
126
+ activatorEl.value = isComponentInstance(activator) ? activator.$el : activator;
127
+ });
128
+ });
129
+ const vm = getCurrentInstance('useActivator');
130
+ let scope;
131
+ watch(() => !!props.activator, val => {
132
+ if (val && IN_BROWSER) {
133
+ scope = effectScope();
134
+ scope.run(() => {
135
+ _useActivator(props, vm, {
136
+ activatorEl,
137
+ activatorEvents
138
+ });
139
+ });
140
+ } else if (scope) {
141
+ scope.stop();
142
+ }
143
+ }, {
144
+ flush: 'post',
145
+ immediate: true
146
+ });
147
+ return {
148
+ activatorEl,
149
+ activatorRef,
150
+ activatorEvents,
151
+ contentEvents
152
+ };
153
+ }
154
+
155
+ function _useActivator(props, vm, _ref2) {
156
+ let {
157
+ activatorEl,
158
+ activatorEvents
159
+ } = _ref2;
160
+ watch(() => props.activator, (val, oldVal) => {
161
+ if (oldVal && val !== oldVal) {
162
+ const activator = getActivator(oldVal);
163
+ activator && unbindActivatorProps(activator);
164
+ }
165
+
166
+ if (val) {
167
+ nextTick(() => bindActivatorProps());
168
+ }
169
+ }, {
170
+ immediate: true
171
+ });
172
+ watch(() => props.activatorProps, () => {
173
+ bindActivatorProps();
174
+ });
175
+ onScopeDispose(() => {
176
+ unbindActivatorProps();
177
+ });
178
+
179
+ function bindActivatorProps() {
180
+ let el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getActivator();
181
+
182
+ let _props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.activatorProps;
183
+
184
+ if (!el) return;
185
+ Object.entries(activatorEvents.value).forEach(_ref3 => {
186
+ let [name, cb] = _ref3;
187
+ el.addEventListener(name, cb);
188
+ });
189
+ Object.keys(_props).forEach(k => {
190
+ if (_props[k] == null) {
191
+ el.removeAttribute(k);
192
+ } else {
193
+ el.setAttribute(k, _props[k]);
194
+ }
195
+ });
196
+ }
197
+
198
+ function unbindActivatorProps() {
199
+ let el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getActivator();
200
+
201
+ let _props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.activatorProps;
202
+
203
+ if (!el) return;
204
+ Object.entries(activatorEvents.value).forEach(_ref4 => {
205
+ let [name, cb] = _ref4;
206
+ el.removeEventListener(name, cb);
207
+ });
208
+ Object.keys(_props).forEach(k => {
209
+ el.removeAttribute(k);
210
+ });
211
+ }
212
+
213
+ function getActivator() {
214
+ var _activator;
215
+
216
+ let selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : props.activator;
217
+ let activator;
218
+
219
+ if (selector) {
220
+ if (selector === 'parent') {
221
+ var _vm$proxy, _vm$proxy$$el;
222
+
223
+ activator = vm == null ? void 0 : (_vm$proxy = vm.proxy) == null ? void 0 : (_vm$proxy$$el = _vm$proxy.$el) == null ? void 0 : _vm$proxy$$el.parentNode;
224
+ } else if (typeof selector === 'string') {
225
+ // Selector
226
+ activator = document.querySelector(selector);
227
+ } else if ('$el' in selector) {
228
+ // Component (ref)
229
+ activator = selector.$el;
230
+ } else {
231
+ // HTMLElement | Element
232
+ activator = selector;
233
+ }
234
+ } // The activator should only be a valid element (Ignore comments and text nodes)
235
+
236
+
237
+ activatorEl.value = ((_activator = activator) == null ? void 0 : _activator.nodeType) === Node.ELEMENT_NODE ? activator : null;
238
+ return activatorEl.value;
239
+ }
240
+ }
241
+ //# sourceMappingURL=useActivator.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/VOverlay/useActivator.tsx"],"names":["getCurrentInstance","IN_BROWSER","isComponentInstance","propsFactory","SUPPORTS_FOCUS_VISIBLE","makeDelayProps","useDelay","VMenuSymbol","computed","effectScope","inject","nextTick","onScopeDispose","ref","watch","watchEffect","makeActivatorProps","activator","String","Object","activatorProps","type","default","openOnClick","Boolean","undefined","openOnHover","openOnFocus","closeOnContentClick","useActivator","props","isActive","isTop","activatorEl","isHovered","isFocused","value","runOpenDelay","runCloseDelay","availableEvents","click","e","stopPropagation","currentTarget","target","mouseenter","mouseleave","focus","matches","blur","activatorEvents","events","contentEvents","menu","closeParents","val","activatorRef","$el","vm","scope","run","_useActivator","stop","flush","immediate","oldVal","getActivator","unbindActivatorProps","bindActivatorProps","el","_props","entries","forEach","name","cb","addEventListener","keys","k","removeAttribute","setAttribute","removeEventListener","selector","proxy","parentNode","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 { VMenuSymbol } from '@/components/VMenu/shared'\nimport {\n computed,\n effectScope,\n inject,\n nextTick,\n onScopeDispose,\n ref,\n watch,\n watchEffect,\n} from 'vue'\n\n// Types\nimport type { DelayProps } from '@/composables/delay'\nimport type {\n ComponentInternalInstance,\n ComponentPublicInstance,\n EffectScope,\n PropType,\n Ref,\n} from 'vue'\n\ninterface ActivatorProps extends DelayProps {\n activator?: 'parent' | string | Element | ComponentPublicInstance\n activatorProps: Record<string, any>\n\n openOnClick: boolean | undefined\n openOnHover: boolean\n openOnFocus: boolean | undefined\n\n closeOnContentClick: boolean\n}\n\nexport const makeActivatorProps = propsFactory({\n activator: [String, Object] as PropType<ActivatorProps['activator']>,\n activatorProps: {\n type: Object as PropType<ActivatorProps['activatorProps']>,\n default: () => ({}),\n },\n\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n openOnHover: Boolean,\n openOnFocus: {\n type: Boolean,\n default: undefined,\n },\n\n closeOnContentClick: Boolean,\n\n ...makeDelayProps(),\n})\n\nexport function useActivator (\n props: ActivatorProps,\n { isActive, isTop }: { isActive: Ref<boolean>, isTop: Ref<boolean> }\n) {\n const activatorEl = ref<HTMLElement>()\n\n let isHovered = false\n let isFocused = false\n\n const openOnFocus = computed(() => props.openOnFocus || (props.openOnFocus == null && props.openOnHover))\n const openOnClick = computed(() => props.openOnClick || (props.openOnClick == null && !props.openOnHover && !openOnFocus.value))\n\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => {\n if (\n value === (\n (props.openOnHover && isHovered) ||\n (openOnFocus.value && isFocused)\n ) && !(props.openOnHover && isActive.value && !isTop.value)\n ) {\n isActive.value = value\n }\n })\n\n const availableEvents = {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n isActive.value = !isActive.value\n },\n mouseenter: (e: MouseEvent) => {\n isHovered = true\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n runOpenDelay()\n },\n mouseleave: (e: MouseEvent) => {\n isHovered = false\n runCloseDelay()\n },\n focus: (e: FocusEvent) => {\n if (\n SUPPORTS_FOCUS_VISIBLE &&\n !(e.target as HTMLElement).matches(':focus-visible')\n ) return\n\n isFocused = true\n e.stopPropagation()\n activatorEl.value = (e.currentTarget || e.target) as HTMLElement\n\n runOpenDelay()\n },\n blur: (e: FocusEvent) => {\n isFocused = false\n e.stopPropagation()\n\n runCloseDelay()\n },\n }\n\n const activatorEvents = computed(() => {\n const events: Partial<typeof availableEvents> = {}\n\n if (openOnClick.value) {\n events.click = availableEvents.click\n }\n if (props.openOnHover) {\n events.mouseenter = availableEvents.mouseenter\n events.mouseleave = availableEvents.mouseleave\n }\n if (openOnFocus.value) {\n events.focus = availableEvents.focus\n events.blur = availableEvents.blur\n }\n\n return events\n })\n\n const contentEvents = computed(() => {\n const events: Partial<typeof availableEvents> = {}\n\n if (props.openOnHover) {\n events.mouseenter = () => {\n isHovered = true\n runOpenDelay()\n }\n events.mouseleave = () => {\n isHovered = false\n runCloseDelay()\n }\n }\n\n if (props.closeOnContentClick) {\n const menu = inject(VMenuSymbol, null)\n events.click = () => {\n isActive.value = false\n menu?.closeParents()\n }\n }\n\n return events\n })\n\n watch(isTop, val => {\n if (val && props.openOnHover && !isHovered) {\n isActive.value = false\n }\n })\n\n const activatorRef = ref()\n watchEffect(() => {\n if (!activatorRef.value) return\n\n nextTick(() => {\n const activator = activatorRef.value\n activatorEl.value = isComponentInstance(activator) ? activator.$el : activator\n })\n })\n\n const vm = getCurrentInstance('useActivator')\n let scope: EffectScope\n watch(() => !!props.activator, val => {\n if (val && IN_BROWSER) {\n scope = effectScope()\n scope.run(() => {\n _useActivator(props, vm, { activatorEl, activatorEvents })\n })\n } else if (scope) {\n scope.stop()\n }\n }, { flush: 'post', immediate: true })\n\n return { activatorEl, activatorRef, activatorEvents, contentEvents }\n}\n\nfunction _useActivator (\n props: ActivatorProps,\n vm: ComponentInternalInstance,\n { activatorEl, activatorEvents }: Pick<ReturnType<typeof useActivator>, 'activatorEl' | 'activatorEvents'>\n) {\n watch(() => props.activator, (val, oldVal) => {\n if (oldVal && val !== oldVal) {\n const activator = getActivator(oldVal)\n activator && unbindActivatorProps(activator)\n }\n if (val) {\n nextTick(() => bindActivatorProps())\n }\n }, { immediate: true })\n\n watch(() => props.activatorProps, () => {\n bindActivatorProps()\n })\n\n onScopeDispose(() => {\n unbindActivatorProps()\n })\n\n function bindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n Object.entries(activatorEvents.value).forEach(([name, cb]) => {\n el.addEventListener(name, cb as (e: Event) => void)\n })\n\n Object.keys(_props).forEach(k => {\n if (_props[k] == null) {\n el.removeAttribute(k)\n } else {\n el.setAttribute(k, _props[k])\n }\n })\n }\n\n function unbindActivatorProps (el = getActivator(), _props = props.activatorProps) {\n if (!el) return\n\n Object.entries(activatorEvents.value).forEach(([name, cb]) => {\n el.removeEventListener(name, cb as (e: Event) => void)\n })\n\n Object.keys(_props).forEach(k => {\n el.removeAttribute(k)\n })\n }\n\n function getActivator (selector = props.activator): HTMLElement | undefined {\n let activator\n if (selector) {\n if (selector === 'parent') {\n 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"}
@@ -0,0 +1,52 @@
1
+ const block = ['top', 'bottom'];
2
+ const inline = ['start', 'end'];
3
+
4
+ /** Parse a raw anchor string into an object */
5
+ export function parseAnchor(anchor) {
6
+ let [side, align] = anchor.split(' ');
7
+
8
+ if (!align) {
9
+ align = side === 'top' || side === 'bottom' ? 'start' : side === 'start' || side === 'end' ? 'top' : 'center';
10
+ }
11
+
12
+ return {
13
+ side,
14
+ align
15
+ };
16
+ }
17
+ /** Get an anchor directly opposite, with the same alignment */
18
+
19
+ export function oppositeAnchor(anchor) {
20
+ return {
21
+ side: {
22
+ center: 'center',
23
+ top: 'bottom',
24
+ bottom: 'top',
25
+ start: 'end',
26
+ end: 'start'
27
+ }[anchor.side],
28
+ align: anchor.align
29
+ };
30
+ }
31
+ /** Convert start/end into left/right */
32
+
33
+ export function physicalAnchor(anchor, el) {
34
+ var _map$side, _map$align;
35
+
36
+ const {
37
+ side,
38
+ align
39
+ } = anchor;
40
+ const {
41
+ direction
42
+ } = window.getComputedStyle(el);
43
+ const map = direction === 'ltr' ? {
44
+ start: 'left',
45
+ end: 'right'
46
+ } : {
47
+ start: 'right',
48
+ end: 'left'
49
+ };
50
+ return ((_map$side = map[side]) != null ? _map$side : side) + ' ' + ((_map$align = map[align]) != null ? _map$align : align);
51
+ }
52
+ //# sourceMappingURL=anchor.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/VOverlay/util/anchor.ts"],"names":["block","inline","parseAnchor","anchor","side","align","split","oppositeAnchor","center","top","bottom","start","end","physicalAnchor","el","direction","window","getComputedStyle","map"],"mappings":"AAAA,MAAMA,KAAK,GAAG,CAAC,KAAD,EAAQ,QAAR,CAAd;AACA,MAAMC,MAAM,GAAG,CAAC,OAAD,EAAU,KAAV,CAAf;;AAeA;AACA,OAAO,SAASC,WAAT,CAAsBC,MAAtB,EAAsC;AAC3C,MAAI,CAACC,IAAD,EAAOC,KAAP,IAAgBF,MAAM,CAACG,KAAP,CAAa,GAAb,CAApB;;AACA,MAAI,CAACD,KAAL,EAAY;AACVA,IAAAA,KAAK,GACHD,IAAI,KAAK,KAAT,IAAkBA,IAAI,KAAK,QAA3B,GAAsC,OAAtC,GACEA,IAAI,KAAK,OAAT,IAAoBA,IAAI,KAAK,KAA7B,GAAqC,KAArC,GACA,QAHJ;AAID;;AACD,SAAO;AACLA,IAAAA,IADK;AAELC,IAAAA;AAFK,GAAP;AAID;AAED;;AACA,OAAO,SAASE,cAAT,CAAyBJ,MAAzB,EAA+C;AACpD,SAAO;AACLC,IAAAA,IAAI,EAAE;AACJI,MAAAA,MAAM,EAAE,QADJ;AAEJC,MAAAA,GAAG,EAAE,QAFD;AAGJC,MAAAA,MAAM,EAAE,KAHJ;AAIJC,MAAAA,KAAK,EAAE,KAJH;AAKJC,MAAAA,GAAG,EAAE;AALD,MAMJT,MAAM,CAACC,IANH,CADD;AAQLC,IAAAA,KAAK,EAAEF,MAAM,CAACE;AART,GAAP;AAUD;AAED;;AACA,OAAO,SAASQ,cAAT,CAAyBV,MAAzB,EAA+CW,EAA/C,EAAgE;AAAA;;AACrE,QAAM;AAAEV,IAAAA,IAAF;AAAQC,IAAAA;AAAR,MAAkBF,MAAxB;AACA,QAAM;AAAEY,IAAAA;AAAF,MAAgBC,MAAM,CAACC,gBAAP,CAAwBH,EAAxB,CAAtB;AAEA,QAAMI,GAAuC,GAAGH,SAAS,KAAK,KAAd,GAAsB;AACpEJ,IAAAA,KAAK,EAAE,MAD6D;AAEpEC,IAAAA,GAAG,EAAE;AAF+D,GAAtB,GAG5C;AACFD,IAAAA,KAAK,EAAE,OADL;AAEFC,IAAAA,GAAG,EAAE;AAFH,GAHJ;AAQA,SAAO,cAACM,GAAG,CAACd,IAAD,CAAJ,wBAAcA,IAAd,IAAsB,GAAtB,kBAA6Bc,GAAG,CAACb,KAAD,CAAhC,yBAA2CA,KAA3C,CAAP;AACD","sourcesContent":["const block = ['top', 'bottom'] as const\nconst inline = ['start', 'end'] as const\ntype Tblock = typeof block[number]\ntype Tinline = typeof inline [number]\nexport type Anchor =\n | Tblock\n | Tinline\n | 'center'\n | 'center center'\n | `${Tblock} ${Tinline | 'center'}`\n | `${Tinline} ${Tblock | 'center'}`\nexport type ParsedAnchor =\n | { side: 'center', align: 'center' }\n | { side: Tblock, align: Tinline | 'center' }\n | { side: Tinline, align: Tblock | 'center' }\n\n/** Parse a raw anchor string into an object */\nexport function parseAnchor (anchor: Anchor) {\n let [side, align] = anchor.split(' ')\n if (!align) {\n align =\n side === 'top' || side === 'bottom' ? 'start'\n : side === 'start' || side === 'end' ? 'top'\n : 'center'\n }\n return {\n side,\n align,\n } as ParsedAnchor\n}\n\n/** Get an anchor directly opposite, with the same alignment */\nexport function oppositeAnchor (anchor: ParsedAnchor) {\n return {\n side: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n start: 'end',\n end: 'start',\n }[anchor.side],\n align: anchor.align,\n } as ParsedAnchor\n}\n\n/** Convert start/end into left/right */\nexport function physicalAnchor (anchor: ParsedAnchor, el: HTMLElement) {\n const { side, align } = anchor\n const { direction } = window.getComputedStyle(el)\n\n const map: Record<string, string | undefined> = direction === 'ltr' ? {\n start: 'left',\n end: 'right',\n } : {\n start: 'right',\n end: 'left',\n }\n\n return (map[side] ?? side) + ' ' + (map[align] ?? align)\n}\n"],"file":"anchor.mjs"}
@@ -0,0 +1,56 @@
1
+ /** Convert a point in local space to viewport space */
2
+ export function elementToViewport(point, offset) {
3
+ return {
4
+ x: point.x + offset.x,
5
+ y: point.y + offset.y
6
+ };
7
+ }
8
+ /** Convert a point in viewport space to local space */
9
+
10
+ export function viewportToElement(point, offset) {
11
+ return {
12
+ x: point.x - offset.x,
13
+ y: point.y - offset.y
14
+ };
15
+ }
16
+ /** Get the difference between two points */
17
+
18
+ export function getOffset(a, b) {
19
+ return {
20
+ x: a.x - b.x,
21
+ y: a.y - b.y
22
+ };
23
+ }
24
+ /** Convert an anchor object to a point in local space */
25
+
26
+ export function anchorToPoint(anchor, box) {
27
+ if (anchor.side === 'top' || anchor.side === 'bottom') {
28
+ const {
29
+ side,
30
+ align
31
+ } = anchor;
32
+ const x = align === 'start' ? 0 : align === 'center' ? box.width / 2 : align === 'end' ? box.width : align;
33
+ const y = side === 'top' ? 0 : side === 'bottom' ? box.height : side;
34
+ return elementToViewport({
35
+ x,
36
+ y
37
+ }, box);
38
+ } else if (anchor.side === 'start' || anchor.side === 'end') {
39
+ const {
40
+ side,
41
+ align
42
+ } = anchor;
43
+ const x = side === 'start' ? 0 : side === 'end' ? box.width : side;
44
+ const y = align === 'top' ? 0 : align === 'center' ? box.height / 2 : align === 'bottom' ? box.height : align;
45
+ return elementToViewport({
46
+ x,
47
+ y
48
+ }, box);
49
+ }
50
+
51
+ return elementToViewport({
52
+ x: box.width / 2,
53
+ y: box.height / 2
54
+ }, box);
55
+ }
56
+ //# sourceMappingURL=point.mjs.map
@@ -0,0 +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"}