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

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 (840) hide show
  1. package/CHANGELOG.md +23 -5
  2. package/dist/json/importMap.json +26 -30
  3. package/dist/vuetify.css +262 -173
  4. package/dist/vuetify.d.ts +16645 -7306
  5. package/dist/vuetify.esm.js +1040 -2004
  6. package/dist/vuetify.esm.js.map +1 -1
  7. package/dist/vuetify.js +1038 -2003
  8. package/dist/vuetify.js.map +1 -1
  9. package/dist/vuetify.min.css +2 -2
  10. package/dist/vuetify.min.js +531 -537
  11. package/dist/vuetify.min.js.map +1 -1
  12. package/lib/blueprints/index.d.ts +24 -32
  13. package/lib/blueprints/index.mjs.map +1 -1
  14. package/lib/blueprints/md1.d.ts +24 -32
  15. package/lib/blueprints/md1.mjs +3 -1
  16. package/lib/blueprints/md1.mjs.map +1 -1
  17. package/lib/blueprints/md2.d.ts +24 -32
  18. package/lib/blueprints/md2.mjs +3 -1
  19. package/lib/blueprints/md2.mjs.map +1 -1
  20. package/lib/blueprints/md3.d.ts +24 -32
  21. package/lib/blueprints/md3.mjs +2 -2
  22. package/lib/blueprints/md3.mjs.map +1 -1
  23. package/lib/components/VAlert/VAlert.mjs +2 -9
  24. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  25. package/lib/components/VAlert/VAlertTitle.mjs.map +1 -1
  26. package/lib/components/VAlert/index.d.ts +7 -5
  27. package/lib/components/VAlert/index.mjs.map +1 -1
  28. package/lib/components/VApp/VApp.mjs +5 -7
  29. package/lib/components/VApp/VApp.mjs.map +1 -1
  30. package/lib/components/VApp/index.d.ts +4 -2
  31. package/lib/components/VApp/index.mjs.map +1 -1
  32. package/lib/components/VAppBar/VAppBar.mjs +4 -8
  33. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  34. package/lib/components/VAppBar/VAppBarNavIcon.mjs +0 -4
  35. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  36. package/lib/components/VAppBar/VAppBarTitle.mjs +2 -4
  37. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  38. package/lib/components/VAppBar/index.d.ts +7 -3
  39. package/lib/components/VAppBar/index.mjs.map +1 -1
  40. package/lib/components/VAutocomplete/VAutocomplete.css +18 -1
  41. package/lib/components/VAutocomplete/VAutocomplete.mjs +16 -35
  42. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  43. package/lib/components/VAutocomplete/VAutocomplete.sass +11 -1
  44. package/lib/components/VAutocomplete/_variables.scss +1 -0
  45. package/lib/components/VAutocomplete/index.d.ts +267 -376
  46. package/lib/components/VAutocomplete/index.mjs.map +1 -1
  47. package/lib/components/VAvatar/VAvatar.mjs +3 -7
  48. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  49. package/lib/components/VAvatar/index.d.ts +5 -3
  50. package/lib/components/VAvatar/index.mjs.map +1 -1
  51. package/lib/components/VBadge/VBadge.mjs +2 -6
  52. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  53. package/lib/components/VBadge/index.mjs.map +1 -1
  54. package/lib/components/VBanner/VBanner.mjs +5 -7
  55. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  56. package/lib/components/VBanner/VBannerActions.mjs +0 -4
  57. package/lib/components/VBanner/VBannerActions.mjs.map +1 -1
  58. package/lib/components/VBanner/VBannerText.mjs.map +1 -1
  59. package/lib/components/VBanner/index.d.ts +7 -3
  60. package/lib/components/VBanner/index.mjs.map +1 -1
  61. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +2 -5
  62. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  63. package/lib/components/VBottomNavigation/index.d.ts +5 -3
  64. package/lib/components/VBottomNavigation/index.mjs.map +1 -1
  65. package/lib/components/VBottomSheet/VBottomSheet.mjs +5 -5
  66. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  67. package/lib/components/VBottomSheet/index.mjs.map +1 -1
  68. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +5 -9
  69. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  70. package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs.map +1 -1
  71. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +0 -5
  72. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  73. package/lib/components/VBreadcrumbs/index.d.ts +50 -40
  74. package/lib/components/VBreadcrumbs/index.mjs.map +1 -1
  75. package/lib/components/VBtn/VBtn.mjs +2 -10
  76. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  77. package/lib/components/VBtn/index.d.ts +5 -3
  78. package/lib/components/VBtn/index.mjs.map +1 -1
  79. package/lib/components/VBtnGroup/VBtnGroup.mjs +2 -4
  80. package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
  81. package/lib/components/VBtnGroup/index.d.ts +6 -3
  82. package/lib/components/VBtnGroup/index.mjs.map +1 -1
  83. package/lib/components/VBtnToggle/VBtnToggle.mjs +2 -7
  84. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  85. package/lib/components/VBtnToggle/index.d.ts +20 -25
  86. package/lib/components/VBtnToggle/index.mjs.map +1 -1
  87. package/lib/components/VCalendar/VCalendar.mjs +6 -67
  88. package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
  89. package/lib/components/VCalendar/VCalendarCategory.mjs +7 -18
  90. package/lib/components/VCalendar/VCalendarCategory.mjs.map +1 -1
  91. package/lib/components/VCalendar/VCalendarDaily.mjs +3 -34
  92. package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
  93. package/lib/components/VCalendar/VCalendarMonthly.mjs +3 -7
  94. package/lib/components/VCalendar/VCalendarMonthly.mjs.map +1 -1
  95. package/lib/components/VCalendar/VCalendarWeekly.mjs +3 -32
  96. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
  97. package/lib/components/VCalendar/index.mjs.map +1 -1
  98. package/lib/components/VCalendar/mixins/calendar-base.mjs +1 -19
  99. package/lib/components/VCalendar/mixins/calendar-base.mjs.map +1 -1
  100. package/lib/components/VCalendar/mixins/calendar-with-events.mjs +14 -78
  101. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
  102. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs +0 -30
  103. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +1 -1
  104. package/lib/components/VCalendar/mixins/mouse.mjs +7 -17
  105. package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
  106. package/lib/components/VCalendar/mixins/times.mjs +1 -9
  107. package/lib/components/VCalendar/mixins/times.mjs.map +1 -1
  108. package/lib/components/VCalendar/modes/column.mjs +0 -3
  109. package/lib/components/VCalendar/modes/column.mjs.map +1 -1
  110. package/lib/components/VCalendar/modes/common.mjs +0 -14
  111. package/lib/components/VCalendar/modes/common.mjs.map +1 -1
  112. package/lib/components/VCalendar/modes/index.mjs +0 -1
  113. package/lib/components/VCalendar/modes/index.mjs.map +1 -1
  114. package/lib/components/VCalendar/modes/stack.mjs +3 -45
  115. package/lib/components/VCalendar/modes/stack.mjs.map +1 -1
  116. package/lib/components/VCalendar/util/events.mjs +0 -1
  117. package/lib/components/VCalendar/util/events.mjs.map +1 -1
  118. package/lib/components/VCalendar/util/parser.mjs +3 -4
  119. package/lib/components/VCalendar/util/parser.mjs.map +1 -1
  120. package/lib/components/VCalendar/util/props.mjs +0 -13
  121. package/lib/components/VCalendar/util/props.mjs.map +1 -1
  122. package/lib/components/VCalendar/util/timestamp.mjs +2 -64
  123. package/lib/components/VCalendar/util/timestamp.mjs.map +1 -1
  124. package/lib/components/VCard/VCard.mjs +3 -8
  125. package/lib/components/VCard/VCard.mjs.map +1 -1
  126. package/lib/components/VCard/VCardActions.mjs +0 -4
  127. package/lib/components/VCard/VCardActions.mjs.map +1 -1
  128. package/lib/components/VCard/VCardItem.mjs +0 -5
  129. package/lib/components/VCard/VCardItem.mjs.map +1 -1
  130. package/lib/components/VCard/VCardSubtitle.mjs.map +1 -1
  131. package/lib/components/VCard/VCardText.mjs.map +1 -1
  132. package/lib/components/VCard/VCardTitle.mjs.map +1 -1
  133. package/lib/components/VCard/index.d.ts +13 -6
  134. package/lib/components/VCard/index.mjs.map +1 -1
  135. package/lib/components/VCarousel/VCarousel.mjs +5 -9
  136. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  137. package/lib/components/VCarousel/VCarouselItem.mjs +0 -3
  138. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  139. package/lib/components/VCarousel/index.d.ts +1 -0
  140. package/lib/components/VCarousel/index.mjs.map +1 -1
  141. package/lib/components/VCheckbox/VCheckbox.mjs +6 -6
  142. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  143. package/lib/components/VCheckbox/VCheckboxBtn.mjs +7 -15
  144. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  145. package/lib/components/VCheckbox/index.d.ts +24 -22
  146. package/lib/components/VCheckbox/index.mjs.map +1 -1
  147. package/lib/components/VChip/VChip.css +25 -0
  148. package/lib/components/VChip/VChip.mjs +2 -10
  149. package/lib/components/VChip/VChip.mjs.map +1 -1
  150. package/lib/components/VChip/VChip.sass +1 -0
  151. package/lib/components/VChip/index.d.ts +5 -3
  152. package/lib/components/VChip/index.mjs.map +1 -1
  153. package/lib/components/VChipGroup/VChipGroup.mjs +5 -6
  154. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  155. package/lib/components/VChipGroup/index.mjs.map +1 -1
  156. package/lib/components/VCode/index.d.ts +1 -0
  157. package/lib/components/VCode/index.mjs.map +1 -1
  158. package/lib/components/VColorPicker/VColorPicker.mjs +9 -12
  159. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  160. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -20
  161. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  162. package/lib/components/VColorPicker/VColorPickerEdit.mjs +6 -10
  163. package/lib/components/VColorPicker/VColorPickerEdit.mjs.map +1 -1
  164. package/lib/components/VColorPicker/VColorPickerPreview.mjs +6 -8
  165. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  166. package/lib/components/VColorPicker/VColorPickerSwatches.mjs +2 -6
  167. package/lib/components/VColorPicker/VColorPickerSwatches.mjs.map +1 -1
  168. package/lib/components/VColorPicker/index.mjs.map +1 -1
  169. package/lib/components/VColorPicker/util/index.mjs +24 -26
  170. package/lib/components/VColorPicker/util/index.mjs.map +1 -1
  171. package/lib/components/VCombobox/VCombobox.css +13 -0
  172. package/lib/components/VCombobox/VCombobox.mjs +23 -50
  173. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  174. package/lib/components/VCombobox/VCombobox.sass +5 -0
  175. package/lib/components/VCombobox/_variables.scss +1 -0
  176. package/lib/components/VCombobox/index.d.ts +275 -384
  177. package/lib/components/VCombobox/index.mjs.map +1 -1
  178. package/lib/components/VCounter/VCounter.mjs +2 -5
  179. package/lib/components/VCounter/VCounter.mjs.map +1 -1
  180. package/lib/components/VCounter/index.d.ts +1 -0
  181. package/lib/components/VCounter/index.mjs.map +1 -1
  182. package/lib/components/VData/VData.mjs +9 -67
  183. package/lib/components/VData/VData.mjs.map +1 -1
  184. package/lib/components/VData/index.mjs.map +1 -1
  185. package/lib/components/VDataIterator/VDataFooter.mjs +6 -25
  186. package/lib/components/VDataIterator/VDataFooter.mjs.map +1 -1
  187. package/lib/components/VDataIterator/VDataIterator.mjs +12 -51
  188. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  189. package/lib/components/VDataIterator/index.mjs.map +1 -1
  190. package/lib/components/VDataTable/MobileRow.mjs +3 -8
  191. package/lib/components/VDataTable/MobileRow.mjs.map +1 -1
  192. package/lib/components/VDataTable/Row.mjs +1 -8
  193. package/lib/components/VDataTable/Row.mjs.map +1 -1
  194. package/lib/components/VDataTable/RowGroup.mjs +1 -7
  195. package/lib/components/VDataTable/RowGroup.mjs.map +1 -1
  196. package/lib/components/VDataTable/VDataTable.mjs +42 -90
  197. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  198. package/lib/components/VDataTable/VDataTableHeader.mjs +6 -10
  199. package/lib/components/VDataTable/VDataTableHeader.mjs.map +1 -1
  200. package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs +0 -18
  201. package/lib/components/VDataTable/VDataTableHeaderDesktop.mjs.map +1 -1
  202. package/lib/components/VDataTable/VDataTableHeaderMobile.mjs +0 -9
  203. package/lib/components/VDataTable/VDataTableHeaderMobile.mjs.map +1 -1
  204. package/lib/components/VDataTable/VEditDialog.mjs +3 -17
  205. package/lib/components/VDataTable/VEditDialog.mjs.map +1 -1
  206. package/lib/components/VDataTable/VVirtualTable.mjs +3 -28
  207. package/lib/components/VDataTable/VVirtualTable.mjs.map +1 -1
  208. package/lib/components/VDataTable/index.mjs +0 -1
  209. package/lib/components/VDataTable/index.mjs.map +1 -1
  210. package/lib/components/VDataTable/mixins/header.mjs +0 -5
  211. package/lib/components/VDataTable/mixins/header.mjs.map +1 -1
  212. package/lib/components/VDatePicker/VDatePicker.mjs +2 -69
  213. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  214. package/lib/components/VDatePicker/VDatePickerDateTable.mjs +1 -29
  215. package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +1 -1
  216. package/lib/components/VDatePicker/VDatePickerHeader.mjs +4 -17
  217. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  218. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs +1 -12
  219. package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +1 -1
  220. package/lib/components/VDatePicker/VDatePickerTitle.mjs +4 -15
  221. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +1 -1
  222. package/lib/components/VDatePicker/VDatePickerYears.mjs +4 -18
  223. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  224. package/lib/components/VDatePicker/index.mjs.map +1 -1
  225. package/lib/components/VDatePicker/mixins/date-picker-table.mjs +6 -33
  226. package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +1 -1
  227. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs +0 -5
  228. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -1
  229. package/lib/components/VDatePicker/util/eventHelpers.mjs +2 -3
  230. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +1 -1
  231. package/lib/components/VDatePicker/util/index.mjs +0 -1
  232. package/lib/components/VDatePicker/util/index.mjs.map +1 -1
  233. package/lib/components/VDatePicker/util/isDateAllowed.mjs +1 -1
  234. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +1 -1
  235. package/lib/components/VDatePicker/util/monthChange.mjs +0 -3
  236. package/lib/components/VDatePicker/util/monthChange.mjs.map +1 -1
  237. package/lib/components/VDatePicker/util/pad.mjs +1 -6
  238. package/lib/components/VDatePicker/util/pad.mjs.map +1 -1
  239. package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +1 -1
  240. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +2 -4
  241. package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
  242. package/lib/components/VDefaultsProvider/index.d.ts +1 -0
  243. package/lib/components/VDefaultsProvider/index.mjs.map +1 -1
  244. package/lib/components/VDialog/VDialog.mjs +7 -20
  245. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  246. package/lib/components/VDialog/index.d.ts +1208 -188
  247. package/lib/components/VDialog/index.mjs.map +1 -1
  248. package/lib/components/VDivider/VDivider.mjs +2 -8
  249. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  250. package/lib/components/VDivider/index.d.ts +1 -0
  251. package/lib/components/VDivider/index.mjs.map +1 -1
  252. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +0 -5
  253. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  254. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +2 -6
  255. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  256. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +3 -8
  257. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  258. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +2 -5
  259. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  260. package/lib/components/VExpansionPanel/index.mjs.map +1 -1
  261. package/lib/components/VField/VField.css +1 -1
  262. package/lib/components/VField/VField.mjs +4 -11
  263. package/lib/components/VField/VField.mjs.map +1 -1
  264. package/lib/components/VField/VField.sass +0 -1
  265. package/lib/components/VField/VFieldLabel.mjs +0 -3
  266. package/lib/components/VField/VFieldLabel.mjs.map +1 -1
  267. package/lib/components/VField/index.d.ts +33 -59
  268. package/lib/components/VField/index.mjs.map +1 -1
  269. package/lib/components/VFileInput/VFileInput.css +16 -0
  270. package/lib/components/VFileInput/VFileInput.mjs +6 -20
  271. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  272. package/lib/components/VFileInput/VFileInput.sass +10 -0
  273. package/lib/components/VFileInput/_variables.scss +2 -0
  274. package/lib/components/VFileInput/index.d.ts +233 -5
  275. package/lib/components/VFileInput/index.mjs.map +1 -1
  276. package/lib/components/VFooter/VFooter.mjs +2 -4
  277. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  278. package/lib/components/VFooter/index.d.ts +1 -0
  279. package/lib/components/VFooter/index.mjs.map +1 -1
  280. package/lib/components/VForm/VForm.mjs +2 -13
  281. package/lib/components/VForm/VForm.mjs.map +1 -1
  282. package/lib/components/VForm/index.d.ts +1 -1
  283. package/lib/components/VForm/index.mjs.map +1 -1
  284. package/lib/components/VGrid/VCol.mjs +8 -23
  285. package/lib/components/VGrid/VCol.mjs.map +1 -1
  286. package/lib/components/VGrid/VContainer.mjs +2 -4
  287. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  288. package/lib/components/VGrid/VRow.mjs +6 -24
  289. package/lib/components/VGrid/VRow.mjs.map +1 -1
  290. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  291. package/lib/components/VGrid/index.d.ts +2 -0
  292. package/lib/components/VGrid/index.mjs.map +1 -1
  293. package/lib/components/VHover/VHover.mjs +0 -4
  294. package/lib/components/VHover/VHover.mjs.map +1 -1
  295. package/lib/components/VHover/index.d.ts +1 -0
  296. package/lib/components/VHover/index.mjs.map +1 -1
  297. package/lib/components/VIcon/VIcon.mjs +2 -8
  298. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  299. package/lib/components/VIcon/index.d.ts +1 -0
  300. package/lib/components/VIcon/index.mjs.map +1 -1
  301. package/lib/components/VImg/VImg.mjs +9 -35
  302. package/lib/components/VImg/VImg.mjs.map +1 -1
  303. package/lib/components/VImg/index.d.ts +8 -4
  304. package/lib/components/VImg/index.mjs.map +1 -1
  305. package/lib/components/VInput/InputIcon.mjs +0 -2
  306. package/lib/components/VInput/InputIcon.mjs.map +1 -1
  307. package/lib/components/VInput/VInput.mjs +5 -9
  308. package/lib/components/VInput/VInput.mjs.map +1 -1
  309. package/lib/components/VInput/index.d.ts +29 -45
  310. package/lib/components/VInput/index.mjs.map +1 -1
  311. package/lib/components/VItemGroup/VItem.mjs +0 -5
  312. package/lib/components/VItemGroup/VItem.mjs.map +1 -1
  313. package/lib/components/VItemGroup/VItemGroup.mjs +4 -6
  314. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  315. package/lib/components/VItemGroup/index.d.ts +19 -25
  316. package/lib/components/VItemGroup/index.mjs.map +1 -1
  317. package/lib/components/VKbd/index.d.ts +1 -0
  318. package/lib/components/VKbd/index.mjs.map +1 -1
  319. package/lib/components/VLabel/VLabel.mjs +2 -5
  320. package/lib/components/VLabel/VLabel.mjs.map +1 -1
  321. package/lib/components/VLabel/index.mjs.map +1 -1
  322. package/lib/components/VLayout/VLayout.mjs +2 -5
  323. package/lib/components/VLayout/VLayout.mjs.map +1 -1
  324. package/lib/components/VLayout/VLayoutItem.mjs +2 -6
  325. package/lib/components/VLayout/VLayoutItem.mjs.map +1 -1
  326. package/lib/components/VLayout/index.d.ts +5 -2
  327. package/lib/components/VLayout/index.mjs.map +1 -1
  328. package/lib/components/VLazy/VLazy.mjs +0 -8
  329. package/lib/components/VLazy/VLazy.mjs.map +1 -1
  330. package/lib/components/VLazy/index.d.ts +1 -0
  331. package/lib/components/VLazy/index.mjs.map +1 -1
  332. package/lib/components/VList/VList.mjs +2 -11
  333. package/lib/components/VList/VList.mjs.map +1 -1
  334. package/lib/components/VList/VListChildren.mjs +12 -21
  335. package/lib/components/VList/VListChildren.mjs.map +1 -1
  336. package/lib/components/VList/VListGroup.mjs +1 -12
  337. package/lib/components/VList/VListGroup.mjs.map +1 -1
  338. package/lib/components/VList/VListImg.mjs.map +1 -1
  339. package/lib/components/VList/VListItem.mjs +2 -12
  340. package/lib/components/VList/VListItem.mjs.map +1 -1
  341. package/lib/components/VList/VListItemAction.mjs +0 -3
  342. package/lib/components/VList/VListItemAction.mjs.map +1 -1
  343. package/lib/components/VList/VListItemMedia.mjs +0 -3
  344. package/lib/components/VList/VListItemMedia.mjs.map +1 -1
  345. package/lib/components/VList/VListItemSubtitle.mjs.map +1 -1
  346. package/lib/components/VList/VListItemTitle.mjs.map +1 -1
  347. package/lib/components/VList/VListSubheader.mjs +0 -4
  348. package/lib/components/VList/VListSubheader.mjs.map +1 -1
  349. package/lib/components/VList/index.d.ts +147 -170
  350. package/lib/components/VList/index.mjs.map +1 -1
  351. package/lib/components/VList/list.mjs +5 -2
  352. package/lib/components/VList/list.mjs.map +1 -1
  353. package/lib/components/VLocaleProvider/VLocaleProvider.mjs +4 -9
  354. package/lib/components/VLocaleProvider/VLocaleProvider.mjs.map +1 -1
  355. package/lib/components/VLocaleProvider/index.d.ts +1 -0
  356. package/lib/components/VLocaleProvider/index.mjs.map +1 -1
  357. package/lib/components/VMain/VMain.mjs +2 -5
  358. package/lib/components/VMain/VMain.mjs.map +1 -1
  359. package/lib/components/VMain/index.d.ts +1 -0
  360. package/lib/components/VMain/index.mjs.map +1 -1
  361. package/lib/components/VMenu/VMenu.mjs +3 -14
  362. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  363. package/lib/components/VMenu/index.d.ts +1203 -183
  364. package/lib/components/VMenu/index.mjs.map +1 -1
  365. package/lib/components/VMenu/shared.mjs.map +1 -1
  366. package/lib/components/VMessages/VMessages.mjs +2 -6
  367. package/lib/components/VMessages/VMessages.mjs.map +1 -1
  368. package/lib/components/VMessages/index.d.ts +1 -0
  369. package/lib/components/VMessages/index.mjs.map +1 -1
  370. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +6 -11
  371. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  372. package/lib/components/VNavigationDrawer/index.mjs.map +1 -1
  373. package/lib/components/VNavigationDrawer/sticky.mjs +0 -4
  374. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
  375. package/lib/components/VNavigationDrawer/touch.mjs +2 -15
  376. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  377. package/lib/components/VNoSsr/VNoSsr.mjs +0 -4
  378. package/lib/components/VNoSsr/VNoSsr.mjs.map +1 -1
  379. package/lib/components/VNoSsr/index.d.ts +1 -0
  380. package/lib/components/VNoSsr/index.mjs.map +1 -1
  381. package/lib/components/VOtpInput/VOtpInput.mjs +7 -58
  382. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  383. package/lib/components/VOtpInput/index.mjs.map +1 -1
  384. package/lib/components/VOverflowBtn/VOverflowBtn.mjs +7 -19
  385. package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
  386. package/lib/components/VOverflowBtn/index.mjs.map +1 -1
  387. package/lib/components/VOverlay/VOverlay.mjs +8 -17
  388. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  389. package/lib/components/VOverlay/index.d.ts +32 -60
  390. package/lib/components/VOverlay/index.mjs.map +1 -1
  391. package/lib/components/VOverlay/locationStrategies.mjs +23 -56
  392. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  393. package/lib/components/VOverlay/requestNewFrame.mjs +1 -2
  394. package/lib/components/VOverlay/requestNewFrame.mjs.map +1 -1
  395. package/lib/components/VOverlay/scrollStrategies.mjs +2 -18
  396. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  397. package/lib/components/VOverlay/useActivator.mjs +6 -32
  398. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  399. package/lib/components/VOverlay/util/point.mjs +3 -4
  400. package/lib/components/VOverlay/util/point.mjs.map +1 -1
  401. package/lib/components/VPagination/VPagination.mjs +11 -23
  402. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  403. package/lib/components/VPagination/index.d.ts +5 -3
  404. package/lib/components/VPagination/index.mjs.map +1 -1
  405. package/lib/components/VParallax/VParallax.mjs +6 -12
  406. package/lib/components/VParallax/VParallax.mjs.map +1 -1
  407. package/lib/components/VParallax/index.mjs.map +1 -1
  408. package/lib/components/VPicker/VPicker.mjs +3 -12
  409. package/lib/components/VPicker/VPicker.mjs.map +1 -1
  410. package/lib/components/VPicker/index.mjs.map +1 -1
  411. package/lib/components/VProgressCircular/VProgressCircular.mjs +2 -5
  412. package/lib/components/VProgressCircular/VProgressCircular.mjs.map +1 -1
  413. package/lib/components/VProgressCircular/index.d.ts +1 -0
  414. package/lib/components/VProgressCircular/index.mjs.map +1 -1
  415. package/lib/components/VProgressLinear/VProgressLinear.mjs +5 -8
  416. package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
  417. package/lib/components/VProgressLinear/index.d.ts +1 -0
  418. package/lib/components/VProgressLinear/index.mjs.map +1 -1
  419. package/lib/components/VRadio/VRadio.mjs +2 -4
  420. package/lib/components/VRadio/VRadio.mjs.map +1 -1
  421. package/lib/components/VRadio/index.d.ts +13 -11
  422. package/lib/components/VRadio/index.mjs.map +1 -1
  423. package/lib/components/VRadioGroup/VRadioGroup.mjs +15 -20
  424. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  425. package/lib/components/VRadioGroup/index.d.ts +26 -38
  426. package/lib/components/VRadioGroup/index.mjs.map +1 -1
  427. package/lib/components/VRangeSlider/VRangeSlider.mjs +13 -26
  428. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  429. package/lib/components/VRangeSlider/index.d.ts +5 -3
  430. package/lib/components/VRangeSlider/index.mjs.map +1 -1
  431. package/lib/components/VRating/VRating.mjs +4 -22
  432. package/lib/components/VRating/VRating.mjs.map +1 -1
  433. package/lib/components/VRating/index.d.ts +32 -40
  434. package/lib/components/VRating/index.mjs.map +1 -1
  435. package/lib/components/VResponsive/VResponsive.mjs +2 -5
  436. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  437. package/lib/components/VResponsive/index.d.ts +1 -0
  438. package/lib/components/VResponsive/index.mjs.map +1 -1
  439. package/lib/components/VSelect/VSelect.css +13 -0
  440. package/lib/components/VSelect/VSelect.mjs +9 -22
  441. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  442. package/lib/components/VSelect/VSelect.sass +6 -0
  443. package/lib/components/VSelect/_variables.scss +1 -0
  444. package/lib/components/VSelect/index.d.ts +4264 -776
  445. package/lib/components/VSelect/index.mjs.map +1 -1
  446. package/lib/components/VSelectionControl/VSelectionControl.mjs +14 -58
  447. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  448. package/lib/components/VSelectionControl/index.d.ts +62 -78
  449. package/lib/components/VSelectionControl/index.mjs.map +1 -1
  450. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.css +1 -0
  451. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +56 -28
  452. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  453. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.sass +1 -0
  454. package/lib/components/VSelectionControlGroup/index.d.ts +53 -4
  455. package/lib/components/VSelectionControlGroup/index.mjs.map +1 -1
  456. package/lib/components/VSheet/VSheet.mjs +2 -4
  457. package/lib/components/VSheet/VSheet.mjs.map +1 -1
  458. package/lib/components/VSheet/index.d.ts +1 -0
  459. package/lib/components/VSheet/index.mjs.map +1 -1
  460. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +19 -32
  461. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  462. package/lib/components/VSkeletonLoader/index.mjs.map +1 -1
  463. package/lib/components/VSlideGroup/VSlideGroup.mjs +16 -47
  464. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  465. package/lib/components/VSlideGroup/VSlideGroupItem.mjs +5 -9
  466. package/lib/components/VSlideGroup/VSlideGroupItem.mjs.map +1 -1
  467. package/lib/components/VSlideGroup/helpers.mjs +0 -2
  468. package/lib/components/VSlideGroup/helpers.mjs.map +1 -1
  469. package/lib/components/VSlideGroup/index.d.ts +342 -59
  470. package/lib/components/VSlideGroup/index.mjs.map +1 -1
  471. package/lib/components/VSlider/VSlider.mjs +6 -9
  472. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  473. package/lib/components/VSlider/VSliderThumb.mjs +4 -15
  474. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  475. package/lib/components/VSlider/VSliderTrack.mjs +6 -8
  476. package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
  477. package/lib/components/VSlider/index.d.ts +5 -3
  478. package/lib/components/VSlider/index.mjs.map +1 -1
  479. package/lib/components/VSlider/slider.mjs +6 -27
  480. package/lib/components/VSlider/slider.mjs.map +1 -1
  481. package/lib/components/VSnackbar/VSnackbar.mjs +3 -10
  482. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  483. package/lib/components/VSnackbar/index.d.ts +1215 -191
  484. package/lib/components/VSnackbar/index.mjs.map +1 -1
  485. package/lib/components/VSparkline/VSparkline.mjs +5 -40
  486. package/lib/components/VSparkline/VSparkline.mjs.map +1 -1
  487. package/lib/components/VSparkline/helpers/core.mjs +1 -1
  488. package/lib/components/VSparkline/helpers/core.mjs.map +1 -1
  489. package/lib/components/VSparkline/helpers/math.mjs +2 -3
  490. package/lib/components/VSparkline/helpers/math.mjs.map +1 -1
  491. package/lib/components/VSparkline/helpers/path.mjs +0 -4
  492. package/lib/components/VSparkline/helpers/path.mjs.map +1 -1
  493. package/lib/components/VSparkline/index.mjs.map +1 -1
  494. package/lib/components/VSpeedDial/VSpeedDial.mjs +3 -12
  495. package/lib/components/VSpeedDial/VSpeedDial.mjs.map +1 -1
  496. package/lib/components/VSpeedDial/index.mjs.map +1 -1
  497. package/lib/components/VStepper/VStepper.mjs +5 -24
  498. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  499. package/lib/components/VStepper/VStepperContent.mjs +4 -25
  500. package/lib/components/VStepper/VStepperContent.mjs.map +1 -1
  501. package/lib/components/VStepper/VStepperStep.mjs +0 -24
  502. package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
  503. package/lib/components/VStepper/index.mjs.map +1 -1
  504. package/lib/components/VSwitch/VSwitch.mjs +14 -15
  505. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  506. package/lib/components/VSwitch/index.d.ts +15 -11
  507. package/lib/components/VSwitch/index.mjs.map +1 -1
  508. package/lib/components/VSystemBar/VSystemBar.mjs +2 -4
  509. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  510. package/lib/components/VSystemBar/index.d.ts +1 -0
  511. package/lib/components/VSystemBar/index.mjs.map +1 -1
  512. package/lib/components/VTable/VTable.css +3 -3
  513. package/lib/components/VTable/VTable.mjs +5 -6
  514. package/lib/components/VTable/VTable.mjs.map +1 -1
  515. package/lib/components/VTable/VTable.sass +9 -3
  516. package/lib/components/VTable/index.d.ts +8 -3
  517. package/lib/components/VTable/index.mjs.map +1 -1
  518. package/lib/components/VTabs/VTab.mjs +2 -10
  519. package/lib/components/VTabs/VTab.mjs.map +1 -1
  520. package/lib/components/VTabs/VTabs.css +5 -5
  521. package/lib/components/VTabs/VTabs.mjs +12 -17
  522. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  523. package/lib/components/VTabs/VTabs.sass +4 -4
  524. package/lib/components/VTabs/_variables.scss +1 -1
  525. package/lib/components/VTabs/index.d.ts +23 -15
  526. package/lib/components/VTabs/index.mjs.map +1 -1
  527. package/lib/components/VTabs/shared.mjs.map +1 -1
  528. package/lib/components/VTextField/VTextField.mjs +13 -24
  529. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  530. package/lib/components/VTextField/index.d.ts +1375 -191
  531. package/lib/components/VTextField/index.mjs.map +1 -1
  532. package/lib/components/VTextarea/VTextarea.mjs +6 -24
  533. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  534. package/lib/components/VTextarea/index.d.ts +233 -5
  535. package/lib/components/VTextarea/index.mjs.map +1 -1
  536. package/lib/components/VThemeProvider/VThemeProvider.mjs +2 -5
  537. package/lib/components/VThemeProvider/VThemeProvider.mjs.map +1 -1
  538. package/lib/components/VThemeProvider/index.d.ts +1 -0
  539. package/lib/components/VThemeProvider/index.mjs.map +1 -1
  540. package/lib/components/VTimePicker/SelectingTimes.mjs +0 -3
  541. package/lib/components/VTimePicker/SelectingTimes.mjs.map +1 -1
  542. package/lib/components/VTimePicker/VTimePicker.mjs +3 -53
  543. package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
  544. package/lib/components/VTimePicker/VTimePickerClock.mjs +6 -42
  545. package/lib/components/VTimePicker/VTimePickerClock.mjs.map +1 -1
  546. package/lib/components/VTimePicker/VTimePickerTitle.mjs +4 -13
  547. package/lib/components/VTimePicker/VTimePickerTitle.mjs.map +1 -1
  548. package/lib/components/VTimePicker/index.mjs.map +1 -1
  549. package/lib/components/VTimeline/VTimeline.mjs +2 -9
  550. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  551. package/lib/components/VTimeline/VTimelineDivider.mjs +0 -5
  552. package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
  553. package/lib/components/VTimeline/VTimelineItem.mjs +0 -6
  554. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  555. package/lib/components/VTimeline/index.d.ts +7 -3
  556. package/lib/components/VTimeline/index.mjs.map +1 -1
  557. package/lib/components/VToolbar/VToolbar.mjs +2 -8
  558. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  559. package/lib/components/VToolbar/VToolbarItems.mjs +0 -4
  560. package/lib/components/VToolbar/VToolbarItems.mjs.map +1 -1
  561. package/lib/components/VToolbar/VToolbarTitle.mjs +0 -5
  562. package/lib/components/VToolbar/VToolbarTitle.mjs.map +1 -1
  563. package/lib/components/VToolbar/index.d.ts +34 -71
  564. package/lib/components/VToolbar/index.mjs.map +1 -1
  565. package/lib/components/VTooltip/VTooltip.mjs +2 -8
  566. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  567. package/lib/components/VTooltip/index.d.ts +1196 -176
  568. package/lib/components/VTooltip/index.mjs.map +1 -1
  569. package/lib/components/VTreeview/VTreeview.mjs +17 -72
  570. package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
  571. package/lib/components/VTreeview/VTreeviewNode.mjs +2 -32
  572. package/lib/components/VTreeview/VTreeviewNode.mjs.map +1 -1
  573. package/lib/components/VTreeview/index.mjs.map +1 -1
  574. package/lib/components/VTreeview/util/filterTreeItems.mjs +0 -6
  575. package/lib/components/VTreeview/util/filterTreeItems.mjs.map +1 -1
  576. package/lib/components/VValidation/VValidation.mjs +2 -5
  577. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  578. package/lib/components/VValidation/index.d.ts +1 -0
  579. package/lib/components/VValidation/index.mjs.map +1 -1
  580. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +3 -18
  581. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  582. package/lib/components/VVirtualScroll/index.mjs.map +1 -1
  583. package/lib/components/VWindow/VWindow.mjs +5 -15
  584. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  585. package/lib/components/VWindow/VWindowItem.mjs +8 -21
  586. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  587. package/lib/components/VWindow/index.d.ts +37 -87
  588. package/lib/components/VWindow/index.mjs.map +1 -1
  589. package/lib/components/index.d.ts +16084 -6799
  590. package/lib/components/index.mjs +0 -11
  591. package/lib/components/index.mjs.map +1 -1
  592. package/lib/components/transitions/createTransition.mjs +0 -10
  593. package/lib/components/transitions/createTransition.mjs.map +1 -1
  594. package/lib/components/transitions/dialog-transition.mjs +3 -18
  595. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  596. package/lib/components/transitions/expand-transition.mjs +2 -11
  597. package/lib/components/transitions/expand-transition.mjs.map +1 -1
  598. package/lib/components/transitions/index.d.ts +16 -0
  599. package/lib/components/transitions/index.mjs +5 -4
  600. package/lib/components/transitions/index.mjs.map +1 -1
  601. package/lib/composables/border.mjs +0 -3
  602. package/lib/composables/border.mjs.map +1 -1
  603. package/lib/composables/color.mjs +0 -4
  604. package/lib/composables/color.mjs.map +1 -1
  605. package/lib/composables/defaults.mjs +0 -5
  606. package/lib/composables/defaults.mjs.map +1 -1
  607. package/lib/composables/delay.mjs +0 -3
  608. package/lib/composables/delay.mjs.map +1 -1
  609. package/lib/composables/density.mjs +4 -1
  610. package/lib/composables/density.mjs.map +1 -1
  611. package/lib/composables/dimensions.mjs +0 -1
  612. package/lib/composables/dimensions.mjs.map +1 -1
  613. package/lib/composables/display.mjs +7 -20
  614. package/lib/composables/display.mjs.map +1 -1
  615. package/lib/composables/elevation.mjs +2 -4
  616. package/lib/composables/elevation.mjs.map +1 -1
  617. package/lib/composables/filter.mjs +7 -14
  618. package/lib/composables/filter.mjs.map +1 -1
  619. package/lib/composables/focus.mjs +0 -5
  620. package/lib/composables/focus.mjs.map +1 -1
  621. package/lib/composables/form.mjs +1 -14
  622. package/lib/composables/form.mjs.map +1 -1
  623. package/lib/composables/forwardRefs.mjs +9 -16
  624. package/lib/composables/forwardRefs.mjs.map +1 -1
  625. package/lib/composables/group.mjs +10 -33
  626. package/lib/composables/group.mjs.map +1 -1
  627. package/lib/composables/hydration.mjs +0 -1
  628. package/lib/composables/hydration.mjs.map +1 -1
  629. package/lib/composables/icons.mjs +4 -17
  630. package/lib/composables/icons.mjs.map +1 -1
  631. package/lib/composables/index.mjs +1 -2
  632. package/lib/composables/index.mjs.map +1 -1
  633. package/lib/composables/intersectionObserver.mjs +0 -3
  634. package/lib/composables/intersectionObserver.mjs.map +1 -1
  635. package/lib/composables/items.mjs +3 -15
  636. package/lib/composables/items.mjs.map +1 -1
  637. package/lib/composables/layout.mjs +29 -31
  638. package/lib/composables/layout.mjs.map +1 -1
  639. package/lib/composables/lazy.mjs +2 -3
  640. package/lib/composables/lazy.mjs.map +1 -1
  641. package/lib/composables/loader.mjs +0 -3
  642. package/lib/composables/loader.mjs.map +1 -1
  643. package/lib/composables/locale.mjs +46 -118
  644. package/lib/composables/locale.mjs.map +1 -1
  645. package/lib/composables/location.mjs +1 -8
  646. package/lib/composables/location.mjs.map +1 -1
  647. package/lib/composables/mutationObserver.mjs +3 -1
  648. package/lib/composables/mutationObserver.mjs.map +1 -1
  649. package/lib/composables/nested/nested.mjs +4 -20
  650. package/lib/composables/nested/nested.mjs.map +1 -1
  651. package/lib/composables/nested/openStrategies.mjs +0 -9
  652. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  653. package/lib/composables/nested/selectStrategies.mjs +6 -21
  654. package/lib/composables/nested/selectStrategies.mjs.map +1 -1
  655. package/lib/composables/position.mjs +1 -4
  656. package/lib/composables/position.mjs.map +1 -1
  657. package/lib/composables/proxiedModel.mjs +3 -9
  658. package/lib/composables/proxiedModel.mjs.map +1 -1
  659. package/lib/composables/refs.mjs +0 -2
  660. package/lib/composables/refs.mjs.map +1 -1
  661. package/lib/composables/resizeObserver.mjs +0 -3
  662. package/lib/composables/resizeObserver.mjs.map +1 -1
  663. package/lib/composables/rounded.mjs +0 -3
  664. package/lib/composables/rounded.mjs.map +1 -1
  665. package/lib/composables/router.mjs +3 -11
  666. package/lib/composables/router.mjs.map +1 -1
  667. package/lib/composables/scopeId.mjs.map +1 -1
  668. package/lib/composables/scroll.mjs +3 -9
  669. package/lib/composables/scroll.mjs.map +1 -1
  670. package/lib/composables/selectLink.mjs +3 -2
  671. package/lib/composables/selectLink.mjs.map +1 -1
  672. package/lib/composables/size.mjs +0 -3
  673. package/lib/composables/size.mjs.map +1 -1
  674. package/lib/composables/ssrBoot.mjs +2 -1
  675. package/lib/composables/ssrBoot.mjs.map +1 -1
  676. package/lib/composables/stack.mjs +0 -6
  677. package/lib/composables/stack.mjs.map +1 -1
  678. package/lib/composables/tag.mjs +0 -1
  679. package/lib/composables/tag.mjs.map +1 -1
  680. package/lib/composables/teleport.mjs +0 -4
  681. package/lib/composables/teleport.mjs.map +1 -1
  682. package/lib/composables/theme.mjs +18 -38
  683. package/lib/composables/theme.mjs.map +1 -1
  684. package/lib/composables/toggleScope.mjs +0 -1
  685. package/lib/composables/toggleScope.mjs.map +1 -1
  686. package/lib/composables/touch.mjs +5 -28
  687. package/lib/composables/touch.mjs.map +1 -1
  688. package/lib/composables/transition.mjs +0 -2
  689. package/lib/composables/transition.mjs.map +1 -1
  690. package/lib/composables/validation.mjs +3 -13
  691. package/lib/composables/validation.mjs.map +1 -1
  692. package/lib/composables/variant.mjs +0 -2
  693. package/lib/composables/variant.mjs.map +1 -1
  694. package/lib/directives/click-outside/index.mjs +10 -22
  695. package/lib/directives/click-outside/index.mjs.map +1 -1
  696. package/lib/directives/color/index.mjs +0 -11
  697. package/lib/directives/color/index.mjs.map +1 -1
  698. package/lib/directives/index.d.ts +104 -13
  699. package/lib/directives/index.mjs +0 -1
  700. package/lib/directives/index.mjs.map +1 -1
  701. package/lib/directives/intersect/index.mjs +3 -10
  702. package/lib/directives/intersect/index.mjs.map +1 -1
  703. package/lib/directives/mutate/index.mjs +1 -5
  704. package/lib/directives/mutate/index.mjs.map +1 -1
  705. package/lib/directives/resize/index.mjs +0 -5
  706. package/lib/directives/resize/index.mjs.map +1 -1
  707. package/lib/directives/ripple/index.mjs +11 -63
  708. package/lib/directives/ripple/index.mjs.map +1 -1
  709. package/lib/directives/scroll/index.mjs +0 -4
  710. package/lib/directives/scroll/index.mjs.map +1 -1
  711. package/lib/directives/touch/index.mjs +0 -15
  712. package/lib/directives/touch/index.mjs.map +1 -1
  713. package/lib/entry-bundler.mjs +1 -1
  714. package/lib/entry-bundler.mjs.map +1 -1
  715. package/lib/framework.mjs +24 -22
  716. package/lib/framework.mjs.map +1 -1
  717. package/lib/iconsets/fa-svg.mjs +0 -1
  718. package/lib/iconsets/fa-svg.mjs.map +1 -1
  719. package/lib/iconsets/fa.mjs +0 -1
  720. package/lib/iconsets/fa.mjs.map +1 -1
  721. package/lib/iconsets/fa4.mjs +4 -3
  722. package/lib/iconsets/fa4.mjs.map +1 -1
  723. package/lib/iconsets/md.mjs +4 -3
  724. package/lib/iconsets/md.mjs.map +1 -1
  725. package/lib/iconsets/mdi-svg.mjs +0 -1
  726. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  727. package/lib/iconsets/mdi.mjs +4 -3
  728. package/lib/iconsets/mdi.mjs.map +1 -1
  729. package/lib/index.d.ts +92 -106
  730. package/lib/locale/adapters/vue-i18n.d.ts +10 -16
  731. package/lib/locale/adapters/vue-i18n.mjs +59 -52
  732. package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
  733. package/lib/locale/adapters/vuetify.d.ts +24 -0
  734. package/lib/locale/adapters/vuetify.mjs +97 -0
  735. package/lib/locale/adapters/vuetify.mjs.map +1 -0
  736. package/lib/locale/af.mjs.map +1 -1
  737. package/lib/locale/ar.mjs.map +1 -1
  738. package/lib/locale/az.mjs.map +1 -1
  739. package/lib/locale/bg.mjs.map +1 -1
  740. package/lib/locale/ca.mjs.map +1 -1
  741. package/lib/locale/ckb.mjs.map +1 -1
  742. package/lib/locale/cs.mjs.map +1 -1
  743. package/lib/locale/da.mjs.map +1 -1
  744. package/lib/locale/de.mjs.map +1 -1
  745. package/lib/locale/el.mjs.map +1 -1
  746. package/lib/locale/en.mjs.map +1 -1
  747. package/lib/locale/es.mjs.map +1 -1
  748. package/lib/locale/et.mjs.map +1 -1
  749. package/lib/locale/fa.mjs.map +1 -1
  750. package/lib/locale/fi.mjs.map +1 -1
  751. package/lib/locale/fr.mjs.map +1 -1
  752. package/lib/locale/he.mjs.map +1 -1
  753. package/lib/locale/hr.mjs.map +1 -1
  754. package/lib/locale/hu.mjs.map +1 -1
  755. package/lib/locale/id.mjs.map +1 -1
  756. package/lib/locale/index.d.ts +2 -2
  757. package/lib/locale/index.mjs +1 -1
  758. package/lib/locale/index.mjs.map +1 -1
  759. package/lib/locale/it.mjs.map +1 -1
  760. package/lib/locale/ja.mjs.map +1 -1
  761. package/lib/locale/ko.mjs.map +1 -1
  762. package/lib/locale/lt.mjs.map +1 -1
  763. package/lib/locale/lv.mjs.map +1 -1
  764. package/lib/locale/nl.mjs.map +1 -1
  765. package/lib/locale/no.mjs.map +1 -1
  766. package/lib/locale/pl.mjs +7 -7
  767. package/lib/locale/pl.mjs.map +1 -1
  768. package/lib/locale/pt.mjs.map +1 -1
  769. package/lib/locale/ro.mjs.map +1 -1
  770. package/lib/locale/ru.mjs.map +1 -1
  771. package/lib/locale/sk.mjs.map +1 -1
  772. package/lib/locale/sl.mjs.map +1 -1
  773. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  774. package/lib/locale/sr-Latn.mjs.map +1 -1
  775. package/lib/locale/sv.mjs.map +1 -1
  776. package/lib/locale/th.mjs.map +1 -1
  777. package/lib/locale/tr.mjs.map +1 -1
  778. package/lib/locale/uk.mjs.map +1 -1
  779. package/lib/locale/vi.mjs.map +1 -1
  780. package/lib/locale/zh-Hans.mjs.map +1 -1
  781. package/lib/locale/zh-Hant.mjs.map +1 -1
  782. package/lib/services/goto/easing-patterns.mjs +24 -24
  783. package/lib/services/goto/easing-patterns.mjs.map +1 -1
  784. package/lib/services/goto/index.mjs +11 -15
  785. package/lib/services/goto/index.mjs.map +1 -1
  786. package/lib/services/goto/util.mjs +1 -8
  787. package/lib/services/goto/util.mjs.map +1 -1
  788. package/lib/styles/main.css +4 -0
  789. package/lib/styles/settings/_utilities.scss +7 -0
  790. package/lib/util/anchor.mjs +0 -3
  791. package/lib/util/anchor.mjs.map +1 -1
  792. package/lib/util/animation.mjs +0 -6
  793. package/lib/util/animation.mjs.map +1 -1
  794. package/lib/util/box.mjs +0 -5
  795. package/lib/util/box.mjs.map +1 -1
  796. package/lib/util/color/APCA.mjs +23 -21
  797. package/lib/util/color/APCA.mjs.map +1 -1
  798. package/lib/util/color/transformCIELAB.mjs +0 -2
  799. package/lib/util/color/transformCIELAB.mjs.map +1 -1
  800. package/lib/util/color/transformSRGB.mjs +14 -12
  801. package/lib/util/color/transformSRGB.mjs.map +1 -1
  802. package/lib/util/colorUtils.mjs +8 -25
  803. package/lib/util/colorUtils.mjs.map +1 -1
  804. package/lib/util/colors.mjs.map +1 -1
  805. package/lib/util/console.mjs +5 -14
  806. package/lib/util/console.mjs.map +1 -1
  807. package/lib/util/createSimpleFunctional.mjs +0 -3
  808. package/lib/util/createSimpleFunctional.mjs.map +1 -1
  809. package/lib/util/dateTimeUtils.mjs +0 -10
  810. package/lib/util/dateTimeUtils.mjs.map +1 -1
  811. package/lib/util/defineComponent.mjs +6 -22
  812. package/lib/util/defineComponent.mjs.map +1 -1
  813. package/lib/util/dom.mjs +4 -4
  814. package/lib/util/dom.mjs.map +1 -1
  815. package/lib/util/easing.mjs +0 -1
  816. package/lib/util/easing.mjs.map +1 -1
  817. package/lib/util/getCurrentInstance.mjs +1 -7
  818. package/lib/util/getCurrentInstance.mjs.map +1 -1
  819. package/lib/util/getScrollParent.mjs +0 -3
  820. package/lib/util/getScrollParent.mjs.map +1 -1
  821. package/lib/util/globals.mjs.map +1 -1
  822. package/lib/util/helpers.mjs +18 -75
  823. package/lib/util/helpers.mjs.map +1 -1
  824. package/lib/util/injectSelf.mjs +0 -1
  825. package/lib/util/injectSelf.mjs.map +1 -1
  826. package/lib/util/isFixedPosition.mjs +0 -2
  827. package/lib/util/isFixedPosition.mjs.map +1 -1
  828. package/lib/util/propsFactory.mjs +11 -5
  829. package/lib/util/propsFactory.mjs.map +1 -1
  830. package/lib/util/useRender.mjs +0 -1
  831. package/lib/util/useRender.mjs.map +1 -1
  832. package/package.json +6 -10
  833. package/dist/json/attributes.json +0 -5602
  834. package/dist/json/tags.json +0 -1945
  835. package/dist/json/web-types.json +0 -19006
  836. package/lib/composables/rtl.mjs +0 -42
  837. package/lib/composables/rtl.mjs.map +0 -1
  838. package/lib/locale/adapters/vue-intl.d.ts +0 -42
  839. package/lib/locale/adapters/vue-intl.mjs +0 -65
  840. package/lib/locale/adapters/vue-intl.mjs.map +0 -1
@@ -3,13 +3,12 @@ import { computed, effectScope, nextTick, onScopeDispose, ref, watch, watchEffec
3
3
  import { clamp, consoleError, convertToUnit, destructComputed, flipAlign, flipCorner, flipSide, getAxis, getScrollParents, IN_BROWSER, isFixedPosition, nullifyTransforms, parseAnchor, propsFactory } from "../../util/index.mjs";
4
4
  import { Box, getOverflow } from "../../util/box.mjs";
5
5
  import { anchorToPoint, getOffset } from "./util/point.mjs"; // Types
6
-
7
6
  const locationStrategies = {
8
7
  static: staticLocationStrategy,
9
8
  // specific viewport position, usually centered
10
9
  connected: connectedLocationStrategy // connected to a certain element
11
-
12
10
  };
11
+
13
12
  export const makeLocationStrategyProps = propsFactory({
14
13
  locationStrategy: {
15
14
  type: [String, Function],
@@ -25,14 +24,13 @@ export const makeLocationStrategyProps = propsFactory({
25
24
  default: 'auto'
26
25
  },
27
26
  offset: [Number, String, Array]
28
- });
27
+ }, 'VOverlay/locationStrategies');
29
28
  export function useLocationStrategies(props, data) {
30
29
  const contentStyles = ref({});
31
30
  const updateLocation = ref();
32
31
  let scope;
33
32
  watchEffect(async () => {
34
33
  var _scope;
35
-
36
34
  (_scope = scope) == null ? void 0 : _scope.stop();
37
35
  updateLocation.value = undefined;
38
36
  if (!(IN_BROWSER && data.isActive.value && props.locationStrategy)) return;
@@ -41,11 +39,9 @@ export function useLocationStrategies(props, data) {
41
39
  scope.run(() => {
42
40
  if (typeof props.locationStrategy === 'function') {
43
41
  var _props$locationStrate;
44
-
45
42
  updateLocation.value = (_props$locationStrate = props.locationStrategy(data, props, contentStyles)) == null ? void 0 : _props$locationStrate.updateLocation;
46
43
  } else {
47
44
  var _locationStrategies$p;
48
-
49
45
  updateLocation.value = (_locationStrategies$p = locationStrategies[props.locationStrategy](data, props, contentStyles)) == null ? void 0 : _locationStrategies$p.updateLocation;
50
46
  }
51
47
  });
@@ -55,29 +51,24 @@ export function useLocationStrategies(props, data) {
55
51
  });
56
52
  onScopeDispose(() => {
57
53
  var _scope2;
58
-
59
54
  IN_BROWSER && window.removeEventListener('resize', onResize);
60
55
  updateLocation.value = undefined;
61
56
  (_scope2 = scope) == null ? void 0 : _scope2.stop();
62
57
  });
63
-
64
58
  function onResize(e) {
65
59
  var _updateLocation$value;
66
-
67
60
  (_updateLocation$value = updateLocation.value) == null ? void 0 : _updateLocation$value.call(updateLocation, e);
68
61
  }
69
-
70
62
  return {
71
63
  contentStyles,
72
64
  updateLocation
73
65
  };
74
66
  }
75
-
76
- function staticLocationStrategy() {// TODO
67
+ function staticLocationStrategy() {
68
+ // TODO
77
69
  }
78
- /** Get size of element ignoring max-width/max-height */
79
-
80
70
 
71
+ /** Get size of element ignoring max-width/max-height */
81
72
  function getIntrinsicSize(el) {
82
73
  // const scrollables = new Map<Element, [number, number]>()
83
74
  // el.querySelectorAll('*').forEach(el => {
@@ -87,6 +78,7 @@ function getIntrinsicSize(el) {
87
78
  // scrollables.set(el, [x, y])
88
79
  // }
89
80
  // })
81
+
90
82
  // const initialMaxWidth = el.style.maxWidth
91
83
  // const initialMaxHeight = el.style.maxHeight
92
84
  // el.style.removeProperty('max-width')
@@ -95,7 +87,9 @@ function getIntrinsicSize(el) {
95
87
  /* eslint-disable-next-line sonarjs/prefer-immediate-return */
96
88
  const contentBox = nullifyTransforms(el);
97
89
  contentBox.x -= parseFloat(el.style.left || 0);
98
- contentBox.y -= parseFloat(el.style.top || 0); // el.style.maxWidth = initialMaxWidth
90
+ contentBox.y -= parseFloat(el.style.top || 0);
91
+
92
+ // el.style.maxWidth = initialMaxWidth
99
93
  // el.style.maxHeight = initialMaxHeight
100
94
  // scrollables.forEach((position, el) => {
101
95
  // el.scrollTo(...position)
@@ -103,23 +97,21 @@ function getIntrinsicSize(el) {
103
97
 
104
98
  return contentBox;
105
99
  }
106
-
107
100
  function connectedLocationStrategy(data, props, contentStyles) {
108
101
  const activatorFixed = isFixedPosition(data.activatorEl.value);
109
-
110
102
  if (activatorFixed) {
111
103
  Object.assign(contentStyles.value, {
112
104
  position: 'fixed'
113
105
  });
114
106
  }
115
-
116
107
  const {
117
108
  preferredAnchor,
118
109
  preferredOrigin
119
110
  } = destructComputed(() => {
120
111
  const parsedAnchor = parseAnchor(props.location, data.isRtl.value);
121
- const parsedOrigin = props.origin === 'overlap' ? parsedAnchor : props.origin === 'auto' ? flipSide(parsedAnchor) : parseAnchor(props.origin, data.isRtl.value); // Some combinations of props may produce an invalid origin
112
+ const parsedOrigin = props.origin === 'overlap' ? parsedAnchor : props.origin === 'auto' ? flipSide(parsedAnchor) : parseAnchor(props.origin, data.isRtl.value);
122
113
 
114
+ // Some combinations of props may produce an invalid origin
123
115
  if (parsedAnchor.side === parsedOrigin.side && parsedAnchor.align === flipAlign(parsedOrigin).align) {
124
116
  return {
125
117
  preferredAnchor: flipCorner(parsedAnchor),
@@ -142,17 +134,14 @@ function connectedLocationStrategy(data, props, contentStyles) {
142
134
  if (Array.isArray(props.offset)) {
143
135
  return props.offset;
144
136
  }
145
-
146
137
  if (typeof props.offset === 'string') {
147
138
  const offset = props.offset.split(' ').map(parseFloat);
148
139
  if (offset.length < 2) offset.push(0);
149
140
  return offset;
150
141
  }
151
-
152
142
  return typeof props.offset === 'number' ? [props.offset, 0] : [0, 0];
153
143
  });
154
144
  let observe = false;
155
-
156
145
  if (IN_BROWSER) {
157
146
  const observer = new ResizeObserver(() => {
158
147
  if (observe) updateLocation();
@@ -170,9 +159,9 @@ function connectedLocationStrategy(data, props, contentStyles) {
170
159
  onScopeDispose(() => {
171
160
  observer.disconnect();
172
161
  });
173
- } // eslint-disable-next-line max-statements
174
-
162
+ }
175
163
 
164
+ // eslint-disable-next-line max-statements
176
165
  function updateLocation() {
177
166
  observe = false;
178
167
  requestAnimationFrame(() => {
@@ -183,16 +172,13 @@ function connectedLocationStrategy(data, props, contentStyles) {
183
172
  const contentBox = getIntrinsicSize(data.contentEl.value);
184
173
  const scrollParents = getScrollParents(data.contentEl.value);
185
174
  const viewportMargin = 12;
186
-
187
175
  if (!scrollParents.length) {
188
176
  scrollParents.push(document.documentElement);
189
-
190
177
  if (!(data.contentEl.value.style.top && data.contentEl.value.style.left)) {
191
178
  contentBox.x += parseFloat(document.documentElement.style.getPropertyValue('--v-body-scroll-x') || 0);
192
179
  contentBox.y += parseFloat(document.documentElement.style.getPropertyValue('--v-body-scroll-y') || 0);
193
180
  }
194
181
  }
195
-
196
182
  const viewport = scrollParents.reduce((box, el) => {
197
183
  const rect = el.getBoundingClientRect();
198
184
  const scrollBox = new Box({
@@ -201,7 +187,6 @@ function connectedLocationStrategy(data, props, contentStyles) {
201
187
  width: el.clientWidth,
202
188
  height: el.clientHeight
203
189
  });
204
-
205
190
  if (box) {
206
191
  return new Box({
207
192
  x: Math.max(box.left, scrollBox.left),
@@ -210,7 +195,6 @@ function connectedLocationStrategy(data, props, contentStyles) {
210
195
  height: Math.min(box.bottom, scrollBox.bottom) - Math.max(box.top, scrollBox.top)
211
196
  });
212
197
  }
213
-
214
198
  return scrollBox;
215
199
  }, undefined);
216
200
  viewport.x += viewportMargin;
@@ -221,7 +205,6 @@ function connectedLocationStrategy(data, props, contentStyles) {
221
205
  anchor: preferredAnchor.value,
222
206
  origin: preferredOrigin.value
223
207
  };
224
-
225
208
  function checkOverflow(_placement) {
226
209
  const box = new Box(contentBox);
227
210
  const targetPoint = anchorToPoint(_placement.anchor, targetBox);
@@ -230,43 +213,34 @@ function connectedLocationStrategy(data, props, contentStyles) {
230
213
  x,
231
214
  y
232
215
  } = getOffset(targetPoint, contentPoint);
233
-
234
216
  switch (_placement.anchor.side) {
235
217
  case 'top':
236
218
  y -= offset.value[0];
237
219
  break;
238
-
239
220
  case 'bottom':
240
221
  y += offset.value[0];
241
222
  break;
242
-
243
223
  case 'left':
244
224
  x -= offset.value[0];
245
225
  break;
246
-
247
226
  case 'right':
248
227
  x += offset.value[0];
249
228
  break;
250
229
  }
251
-
252
230
  switch (_placement.anchor.align) {
253
231
  case 'top':
254
232
  y -= offset.value[1];
255
233
  break;
256
-
257
234
  case 'bottom':
258
235
  y += offset.value[1];
259
236
  break;
260
-
261
237
  case 'left':
262
238
  x -= offset.value[1];
263
239
  break;
264
-
265
240
  case 'right':
266
241
  x += offset.value[1];
267
242
  break;
268
243
  }
269
-
270
244
  box.x += x;
271
245
  box.y += y;
272
246
  box.width = Math.min(box.width, maxWidth.value);
@@ -278,7 +252,6 @@ function connectedLocationStrategy(data, props, contentStyles) {
278
252
  y
279
253
  };
280
254
  }
281
-
282
255
  let x = 0;
283
256
  let y = 0;
284
257
  const available = {
@@ -290,13 +263,11 @@ function connectedLocationStrategy(data, props, contentStyles) {
290
263
  y: false
291
264
  };
292
265
  let resets = -1;
293
-
294
266
  while (true) {
295
267
  if (resets++ > 10) {
296
268
  consoleError('Infinite loop detected in connectedLocationStrategy');
297
269
  break;
298
270
  }
299
-
300
271
  const {
301
272
  x: _x,
302
273
  y: _y,
@@ -305,8 +276,9 @@ function connectedLocationStrategy(data, props, contentStyles) {
305
276
  x += _x;
306
277
  y += _y;
307
278
  contentBox.x += _x;
308
- contentBox.y += _y; // flip
279
+ contentBox.y += _y;
309
280
 
281
+ // flip
310
282
  {
311
283
  const axis = getAxis(placement.anchor);
312
284
  const hasOverflowX = overflows.x.before || overflows.x.after;
@@ -315,9 +287,11 @@ function connectedLocationStrategy(data, props, contentStyles) {
315
287
  ['x', 'y'].forEach(key => {
316
288
  if (key === 'x' && hasOverflowX && !flipped.x || key === 'y' && hasOverflowY && !flipped.y) {
317
289
  const newPlacement = {
318
- anchor: { ...placement.anchor
290
+ anchor: {
291
+ ...placement.anchor
319
292
  },
320
- origin: { ...placement.origin
293
+ origin: {
294
+ ...placement.origin
321
295
  }
322
296
  };
323
297
  const flip = key === 'x' ? axis === 'y' ? flipAlign : flipSide : axis === 'y' ? flipSide : flipAlign;
@@ -326,7 +300,6 @@ function connectedLocationStrategy(data, props, contentStyles) {
326
300
  const {
327
301
  overflows: newOverflows
328
302
  } = checkOverflow(newPlacement);
329
-
330
303
  if (newOverflows[key].before <= overflows[key].before && newOverflows[key].after <= overflows[key].after || newOverflows[key].before + newOverflows[key].after < (overflows[key].before + overflows[key].after) / 2) {
331
304
  placement = newPlacement;
332
305
  reset = flipped[key] = true;
@@ -334,29 +307,27 @@ function connectedLocationStrategy(data, props, contentStyles) {
334
307
  }
335
308
  });
336
309
  if (reset) continue;
337
- } // shift
310
+ }
338
311
 
312
+ // shift
339
313
  if (overflows.x.before) {
340
314
  x += overflows.x.before;
341
315
  contentBox.x += overflows.x.before;
342
316
  }
343
-
344
317
  if (overflows.x.after) {
345
318
  x -= overflows.x.after;
346
319
  contentBox.x -= overflows.x.after;
347
320
  }
348
-
349
321
  if (overflows.y.before) {
350
322
  y += overflows.y.before;
351
323
  contentBox.y += overflows.y.before;
352
324
  }
353
-
354
325
  if (overflows.y.after) {
355
326
  y -= overflows.y.after;
356
327
  contentBox.y -= overflows.y.after;
357
- } // size
358
-
328
+ }
359
329
 
330
+ // size
360
331
  {
361
332
  const overflows = getOverflow(contentBox, viewport);
362
333
  available.x = viewport.width - overflows.x.before - overflows.x.after;
@@ -368,7 +339,6 @@ function connectedLocationStrategy(data, props, contentStyles) {
368
339
  }
369
340
  break;
370
341
  }
371
-
372
342
  const axis = getAxis(placement.anchor);
373
343
  Object.assign(contentStyles.value, {
374
344
  '--v-overlay-anchor-origin': `${placement.anchor.side} ${placement.anchor.align}`,
@@ -381,7 +351,6 @@ function connectedLocationStrategy(data, props, contentStyles) {
381
351
  maxHeight: convertToUnit(pixelCeil(clamp(available.y, minHeight.value === Infinity ? 0 : minHeight.value, maxHeight.value)))
382
352
  });
383
353
  }
384
-
385
354
  watch(() => [preferredAnchor.value, preferredOrigin.value, props.offset, props.minWidth, props.minHeight, props.maxWidth, props.maxHeight], () => updateLocation(), {
386
355
  immediate: !activatorFixed
387
356
  });
@@ -393,11 +362,9 @@ function connectedLocationStrategy(data, props, contentStyles) {
393
362
  updateLocation
394
363
  };
395
364
  }
396
-
397
365
  function pixelRound(val) {
398
366
  return Math.round(val * devicePixelRatio) / devicePixelRatio;
399
367
  }
400
-
401
368
  function pixelCeil(val) {
402
369
  return Math.ceil(val * devicePixelRatio) / devicePixelRatio;
403
370
  }
@@ -1 +1 @@
1
- {"version":3,"file":"locationStrategies.mjs","names":["computed","effectScope","nextTick","onScopeDispose","ref","watch","watchEffect","clamp","consoleError","convertToUnit","destructComputed","flipAlign","flipCorner","flipSide","getAxis","getScrollParents","IN_BROWSER","isFixedPosition","nullifyTransforms","parseAnchor","propsFactory","Box","getOverflow","anchorToPoint","getOffset","locationStrategies","static","staticLocationStrategy","connected","connectedLocationStrategy","makeLocationStrategyProps","locationStrategy","type","String","Function","default","validator","val","location","origin","offset","Number","Array","useLocationStrategies","props","data","contentStyles","updateLocation","scope","stop","value","undefined","isActive","run","window","addEventListener","onResize","passive","removeEventListener","e","getIntrinsicSize","el","contentBox","x","parseFloat","style","left","y","top","activatorFixed","activatorEl","Object","assign","position","preferredAnchor","preferredOrigin","parsedAnchor","isRtl","parsedOrigin","side","align","minWidth","minHeight","maxWidth","maxHeight","map","key","isNaN","Infinity","isArray","split","length","push","observe","observer","ResizeObserver","contentEl","newActivatorEl","newContentEl","oldActivatorEl","oldContentEl","unobserve","immediate","disconnect","requestAnimationFrame","targetBox","getBoundingClientRect","scrollParents","viewportMargin","document","documentElement","getPropertyValue","viewport","reduce","box","rect","scrollBox","width","clientWidth","height","clientHeight","Math","max","min","right","bottom","placement","anchor","checkOverflow","_placement","targetPoint","contentPoint","overflows","available","flipped","resets","_x","_y","axis","hasOverflowX","before","after","hasOverflowY","reset","forEach","newPlacement","flip","newOverflows","transformOrigin","pixelRound","pixelCeil","round","devicePixelRatio","ceil"],"sources":["../../../src/components/VOverlay/locationStrategies.ts"],"sourcesContent":["// Utilities\nimport { computed, effectScope, nextTick, onScopeDispose, ref, watch, watchEffect } from 'vue'\nimport {\n clamp,\n consoleError,\n convertToUnit,\n destructComputed,\n flipAlign,\n flipCorner,\n flipSide,\n getAxis,\n getScrollParents,\n IN_BROWSER,\n isFixedPosition,\n nullifyTransforms,\n parseAnchor,\n propsFactory,\n} from '@/util'\nimport { Box, getOverflow } from '@/util/box'\nimport { anchorToPoint, getOffset } from './util/point'\n\n// Types\nimport type { EffectScope, PropType, Ref } from 'vue'\nimport type { Anchor } from '@/util'\n\nexport interface LocationStrategyData {\n contentEl: Ref<HTMLElement | undefined>\n activatorEl: Ref<HTMLElement | undefined>\n isActive: Ref<boolean>\n isRtl: Ref<boolean>\n}\n\nconst locationStrategies = {\n static: staticLocationStrategy, // specific viewport position, usually centered\n connected: connectedLocationStrategy, // connected to a certain element\n}\n\nexport interface StrategyProps {\n locationStrategy: keyof typeof locationStrategies | (\n (\n data: LocationStrategyData,\n props: StrategyProps,\n contentStyles: Ref<Record<string, string>>\n ) => undefined | { updateLocation: (e: Event) => void }\n )\n location: Anchor\n origin: Anchor | 'auto' | 'overlap'\n offset?: number | string | number[]\n maxHeight?: number | string\n maxWidth?: number | string\n minHeight?: number | string\n minWidth?: number | string\n}\n\nexport const makeLocationStrategyProps = propsFactory({\n locationStrategy: {\n type: [String, Function] as PropType<StrategyProps['locationStrategy']>,\n default: 'static',\n validator: (val: any) => typeof val === 'function' || val in locationStrategies,\n },\n location: {\n type: String as PropType<StrategyProps['location']>,\n default: 'bottom',\n },\n origin: {\n type: String as PropType<StrategyProps['origin']>,\n default: 'auto',\n },\n offset: [Number, String, Array] as PropType<StrategyProps['offset']>,\n})\n\nexport function useLocationStrategies (\n props: StrategyProps,\n data: LocationStrategyData\n) {\n const contentStyles = ref({})\n const updateLocation = ref<(e: Event) => void>()\n\n let scope: EffectScope | undefined\n watchEffect(async () => {\n scope?.stop()\n updateLocation.value = undefined\n\n if (!(IN_BROWSER && data.isActive.value && props.locationStrategy)) return\n\n scope = effectScope()\n await nextTick()\n scope.run(() => {\n if (typeof props.locationStrategy === 'function') {\n updateLocation.value = props.locationStrategy(data, props, contentStyles)?.updateLocation\n } else {\n updateLocation.value = locationStrategies[props.locationStrategy](data, props, contentStyles)?.updateLocation\n }\n })\n })\n\n IN_BROWSER && window.addEventListener('resize', onResize, { passive: true })\n\n onScopeDispose(() => {\n IN_BROWSER && window.removeEventListener('resize', onResize)\n updateLocation.value = undefined\n scope?.stop()\n })\n\n function onResize (e: Event) {\n updateLocation.value?.(e)\n }\n\n return {\n contentStyles,\n updateLocation,\n }\n}\n\nfunction staticLocationStrategy () {\n // TODO\n}\n\n/** Get size of element ignoring max-width/max-height */\nfunction getIntrinsicSize (el: HTMLElement) {\n // const scrollables = new Map<Element, [number, number]>()\n // el.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 = el.style.maxWidth\n // const initialMaxHeight = el.style.maxHeight\n // el.style.removeProperty('max-width')\n // el.style.removeProperty('max-height')\n\n /* eslint-disable-next-line sonarjs/prefer-immediate-return */\n const contentBox = nullifyTransforms(el)\n\n contentBox.x -= parseFloat(el.style.left || 0)\n contentBox.y -= parseFloat(el.style.top || 0)\n\n // el.style.maxWidth = initialMaxWidth\n // el.style.maxHeight = initialMaxHeight\n // scrollables.forEach((position, el) => {\n // el.scrollTo(...position)\n // })\n\n return contentBox\n}\n\nfunction connectedLocationStrategy (data: LocationStrategyData, 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, preferredOrigin } = destructComputed(() => {\n const parsedAnchor = parseAnchor(props.location, data.isRtl.value)\n const parsedOrigin =\n props.origin === 'overlap' ? parsedAnchor\n : props.origin === 'auto' ? flipSide(parsedAnchor)\n : parseAnchor(props.origin, data.isRtl.value)\n\n // Some combinations of props may produce an invalid origin\n if (parsedAnchor.side === parsedOrigin.side && parsedAnchor.align === flipAlign(parsedOrigin).align) {\n return {\n preferredAnchor: flipCorner(parsedAnchor),\n preferredOrigin: flipCorner(parsedOrigin),\n }\n } else {\n return {\n preferredAnchor: parsedAnchor,\n preferredOrigin: parsedOrigin,\n }\n }\n })\n\n const [minWidth, minHeight, maxWidth, maxHeight] =\n (['minWidth', 'minHeight', 'maxWidth', 'maxHeight'] as const).map(key => {\n return computed(() => {\n const val = parseFloat(props[key]!)\n return isNaN(val) ? Infinity : val\n })\n })\n\n const offset = computed(() => {\n if (Array.isArray(props.offset)) {\n return props.offset\n }\n if (typeof props.offset === 'string') {\n const offset = props.offset.split(' ').map(parseFloat)\n if (offset.length < 2) offset.push(0)\n return offset\n }\n return typeof props.offset === 'number' ? [props.offset, 0] : [0, 0]\n })\n\n let observe = false\n if (IN_BROWSER) {\n const observer = new ResizeObserver(() => {\n if (observe) updateLocation()\n })\n\n watch([data.activatorEl, data.contentEl], ([newActivatorEl, newContentEl], [oldActivatorEl, oldContentEl]) => {\n if (oldActivatorEl) observer.unobserve(oldActivatorEl)\n if (newActivatorEl) observer.observe(newActivatorEl)\n\n if (oldContentEl) observer.unobserve(oldContentEl)\n if (newContentEl) observer.observe(newContentEl)\n }, {\n immediate: true,\n })\n\n onScopeDispose(() => {\n observer.disconnect()\n })\n }\n\n // eslint-disable-next-line max-statements\n function updateLocation () {\n observe = false\n requestAnimationFrame(() => {\n requestAnimationFrame(() => observe = true)\n })\n\n if (!data.activatorEl.value || !data.contentEl.value) return\n\n const targetBox = data.activatorEl.value.getBoundingClientRect()\n const contentBox = getIntrinsicSize(data.contentEl.value)\n const scrollParents = getScrollParents(data.contentEl.value)\n const viewportMargin = 12\n\n if (!scrollParents.length) {\n scrollParents.push(document.documentElement)\n if (!(data.contentEl.value.style.top && data.contentEl.value.style.left)) {\n contentBox.x += parseFloat(document.documentElement.style.getPropertyValue('--v-body-scroll-x') || 0)\n contentBox.y += parseFloat(document.documentElement.style.getPropertyValue('--v-body-scroll-y') || 0)\n }\n }\n\n const viewport = scrollParents.reduce<Box>((box: Box | undefined, el) => {\n const rect = el.getBoundingClientRect()\n const scrollBox = new Box({\n x: el === document.documentElement ? 0 : rect.x,\n y: el === document.documentElement ? 0 : rect.y,\n width: el.clientWidth,\n height: el.clientHeight,\n })\n\n if (box) {\n return new Box({\n x: Math.max(box.left, scrollBox.left),\n y: Math.max(box.top, scrollBox.top),\n width: Math.min(box.right, scrollBox.right) - Math.max(box.left, scrollBox.left),\n height: Math.min(box.bottom, scrollBox.bottom) - Math.max(box.top, scrollBox.top),\n })\n }\n return scrollBox\n }, undefined!)\n viewport.x += viewportMargin\n viewport.y += viewportMargin\n viewport.width -= viewportMargin * 2\n viewport.height -= viewportMargin * 2\n\n let placement = {\n anchor: preferredAnchor.value,\n origin: preferredOrigin.value,\n }\n\n function checkOverflow (_placement: typeof placement) {\n const box = new Box(contentBox)\n const targetPoint = anchorToPoint(_placement.anchor, targetBox)\n const contentPoint = anchorToPoint(_placement.origin, box)\n\n let { x, y } = getOffset(targetPoint, contentPoint)\n\n switch (_placement.anchor.side) {\n case 'top': y -= offset.value[0]; break\n case 'bottom': y += offset.value[0]; break\n case 'left': x -= offset.value[0]; break\n case 'right': x += offset.value[0]; break\n }\n\n switch (_placement.anchor.align) {\n case 'top': y -= offset.value[1]; break\n case 'bottom': y += offset.value[1]; break\n case 'left': x -= offset.value[1]; break\n case 'right': x += offset.value[1]; break\n }\n\n box.x += x\n box.y += y\n\n box.width = Math.min(box.width, maxWidth.value)\n box.height = Math.min(box.height, maxHeight.value)\n\n const overflows = getOverflow(box, viewport)\n\n return { overflows, x, y }\n }\n\n let x = 0; let y = 0\n const available = { x: 0, y: 0 }\n const flipped = { x: false, y: false }\n let resets = -1\n while (true) {\n if (resets++ > 10) {\n consoleError('Infinite loop detected in connectedLocationStrategy')\n break\n }\n\n const { x: _x, y: _y, overflows } = checkOverflow(placement)\n\n x += _x\n y += _y\n\n contentBox.x += _x\n contentBox.y += _y\n\n // flip\n {\n const axis = getAxis(placement.anchor)\n const hasOverflowX = overflows.x.before || overflows.x.after\n const hasOverflowY = overflows.y.before || overflows.y.after\n\n let reset = false\n ;['x', 'y'].forEach(key => {\n if (\n (key === 'x' && hasOverflowX && !flipped.x) ||\n (key === 'y' && hasOverflowY && !flipped.y)\n ) {\n const newPlacement = { anchor: { ...placement.anchor }, origin: { ...placement.origin } }\n const flip = key === 'x'\n ? axis === 'y' ? flipAlign : flipSide\n : axis === 'y' ? flipSide : flipAlign\n newPlacement.anchor = flip(newPlacement.anchor)\n newPlacement.origin = flip(newPlacement.origin)\n const { overflows: newOverflows } = checkOverflow(newPlacement)\n if (\n (newOverflows[key].before <= overflows[key].before &&\n newOverflows[key].after <= overflows[key].after) ||\n (newOverflows[key].before + newOverflows[key].after <\n (overflows[key].before + overflows[key].after) / 2)\n ) {\n placement = newPlacement\n reset = flipped[key] = true\n }\n }\n })\n if (reset) continue\n }\n\n // shift\n if (overflows.x.before) {\n x += overflows.x.before\n contentBox.x += overflows.x.before\n }\n if (overflows.x.after) {\n x -= overflows.x.after\n contentBox.x -= overflows.x.after\n }\n if (overflows.y.before) {\n y += overflows.y.before\n contentBox.y += overflows.y.before\n }\n if (overflows.y.after) {\n y -= overflows.y.after\n contentBox.y -= overflows.y.after\n }\n\n // size\n {\n const overflows = getOverflow(contentBox, viewport)\n available.x = viewport.width - overflows.x.before - overflows.x.after\n available.y = viewport.height - overflows.y.before - overflows.y.after\n\n x += overflows.x.before\n contentBox.x += overflows.x.before\n y += overflows.y.before\n contentBox.y += overflows.y.before\n }\n\n break\n }\n\n const axis = getAxis(placement.anchor)\n\n Object.assign(contentStyles.value, {\n '--v-overlay-anchor-origin': `${placement.anchor.side} ${placement.anchor.align}`,\n transformOrigin: `${placement.origin.side} ${placement.origin.align}`,\n // transform: `translate(${pixelRound(x)}px, ${pixelRound(y)}px)`,\n top: convertToUnit(pixelRound(y)),\n left: convertToUnit(pixelRound(x)),\n minWidth: convertToUnit(axis === 'y' ? Math.min(minWidth.value, targetBox.width) : minWidth.value),\n maxWidth: convertToUnit(pixelCeil(clamp(available.x, minWidth.value === Infinity ? 0 : minWidth.value, maxWidth.value))),\n maxHeight: convertToUnit(pixelCeil(clamp(available.y, minHeight.value === Infinity ? 0 : minHeight.value, maxHeight.value))),\n })\n }\n\n watch(\n () => [\n preferredAnchor.value,\n preferredOrigin.value,\n props.offset,\n props.minWidth,\n props.minHeight,\n props.maxWidth,\n props.maxHeight,\n ],\n () => updateLocation(),\n { immediate: !activatorFixed }\n )\n\n if (activatorFixed) nextTick(() => updateLocation())\n requestAnimationFrame(() => {\n if (contentStyles.value.maxHeight) updateLocation()\n })\n\n return { updateLocation }\n}\n\nfunction pixelRound (val: number) {\n return Math.round(val * devicePixelRatio) / devicePixelRatio\n}\n\nfunction pixelCeil (val: number) {\n return Math.ceil(val * devicePixelRatio) / devicePixelRatio\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"locationStrategies.mjs","names":["computed","effectScope","nextTick","onScopeDispose","ref","watch","watchEffect","clamp","consoleError","convertToUnit","destructComputed","flipAlign","flipCorner","flipSide","getAxis","getScrollParents","IN_BROWSER","isFixedPosition","nullifyTransforms","parseAnchor","propsFactory","Box","getOverflow","anchorToPoint","getOffset","locationStrategies","static","staticLocationStrategy","connected","connectedLocationStrategy","makeLocationStrategyProps","locationStrategy","type","String","Function","default","validator","val","location","origin","offset","Number","Array","useLocationStrategies","props","data","contentStyles","updateLocation","scope","stop","value","undefined","isActive","run","window","addEventListener","onResize","passive","removeEventListener","e","getIntrinsicSize","el","contentBox","x","parseFloat","style","left","y","top","activatorFixed","activatorEl","Object","assign","position","preferredAnchor","preferredOrigin","parsedAnchor","isRtl","parsedOrigin","side","align","minWidth","minHeight","maxWidth","maxHeight","map","key","isNaN","Infinity","isArray","split","length","push","observe","observer","ResizeObserver","contentEl","newActivatorEl","newContentEl","oldActivatorEl","oldContentEl","unobserve","immediate","disconnect","requestAnimationFrame","targetBox","getBoundingClientRect","scrollParents","viewportMargin","document","documentElement","getPropertyValue","viewport","reduce","box","rect","scrollBox","width","clientWidth","height","clientHeight","Math","max","min","right","bottom","placement","anchor","checkOverflow","_placement","targetPoint","contentPoint","overflows","available","flipped","resets","_x","_y","axis","hasOverflowX","before","after","hasOverflowY","reset","forEach","newPlacement","flip","newOverflows","transformOrigin","pixelRound","pixelCeil","round","devicePixelRatio","ceil"],"sources":["../../../src/components/VOverlay/locationStrategies.ts"],"sourcesContent":["// Utilities\nimport { computed, effectScope, nextTick, onScopeDispose, ref, watch, watchEffect } from 'vue'\nimport {\n clamp,\n consoleError,\n convertToUnit,\n destructComputed,\n flipAlign,\n flipCorner,\n flipSide,\n getAxis,\n getScrollParents,\n IN_BROWSER,\n isFixedPosition,\n nullifyTransforms,\n parseAnchor,\n propsFactory,\n} from '@/util'\nimport { Box, getOverflow } from '@/util/box'\nimport { anchorToPoint, getOffset } from './util/point'\n\n// Types\nimport type { EffectScope, PropType, Ref } from 'vue'\nimport type { Anchor } from '@/util'\n\nexport interface LocationStrategyData {\n contentEl: Ref<HTMLElement | undefined>\n activatorEl: Ref<HTMLElement | undefined>\n isActive: Ref<boolean>\n isRtl: Ref<boolean>\n}\n\ntype LocationStrategyFn = (\n data: LocationStrategyData,\n props: StrategyProps,\n contentStyles: Ref<Record<string, string>>\n) => undefined | { updateLocation: (e: Event) => void }\n\nconst locationStrategies = {\n static: staticLocationStrategy, // specific viewport position, usually centered\n connected: connectedLocationStrategy, // connected to a certain element\n}\n\nexport interface StrategyProps {\n locationStrategy: keyof typeof locationStrategies | LocationStrategyFn\n location: Anchor\n origin: Anchor | 'auto' | 'overlap'\n offset?: number | string | number[]\n maxHeight?: number | string\n maxWidth?: number | string\n minHeight?: number | string\n minWidth?: number | string\n}\n\nexport const makeLocationStrategyProps = propsFactory({\n locationStrategy: {\n type: [String, Function] as PropType<StrategyProps['locationStrategy']>,\n default: 'static',\n validator: (val: any) => typeof val === 'function' || val in locationStrategies,\n },\n location: {\n type: String as PropType<StrategyProps['location']>,\n default: 'bottom',\n },\n origin: {\n type: String as PropType<StrategyProps['origin']>,\n default: 'auto',\n },\n offset: [Number, String, Array] as PropType<StrategyProps['offset']>,\n}, 'VOverlay/locationStrategies')\n\nexport function useLocationStrategies (\n props: StrategyProps,\n data: LocationStrategyData\n) {\n const contentStyles = ref({})\n const updateLocation = ref<(e: Event) => void>()\n\n let scope: EffectScope | undefined\n watchEffect(async () => {\n scope?.stop()\n updateLocation.value = undefined\n\n if (!(IN_BROWSER && data.isActive.value && props.locationStrategy)) return\n\n scope = effectScope()\n await nextTick()\n scope.run(() => {\n if (typeof props.locationStrategy === 'function') {\n updateLocation.value = props.locationStrategy(data, props, contentStyles)?.updateLocation\n } else {\n updateLocation.value = locationStrategies[props.locationStrategy](data, props, contentStyles)?.updateLocation\n }\n })\n })\n\n IN_BROWSER && window.addEventListener('resize', onResize, { passive: true })\n\n onScopeDispose(() => {\n IN_BROWSER && window.removeEventListener('resize', onResize)\n updateLocation.value = undefined\n scope?.stop()\n })\n\n function onResize (e: Event) {\n updateLocation.value?.(e)\n }\n\n return {\n contentStyles,\n updateLocation,\n }\n}\n\nfunction staticLocationStrategy () {\n // TODO\n}\n\n/** Get size of element ignoring max-width/max-height */\nfunction getIntrinsicSize (el: HTMLElement) {\n // const scrollables = new Map<Element, [number, number]>()\n // el.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 = el.style.maxWidth\n // const initialMaxHeight = el.style.maxHeight\n // el.style.removeProperty('max-width')\n // el.style.removeProperty('max-height')\n\n /* eslint-disable-next-line sonarjs/prefer-immediate-return */\n const contentBox = nullifyTransforms(el)\n\n contentBox.x -= parseFloat(el.style.left || 0)\n contentBox.y -= parseFloat(el.style.top || 0)\n\n // el.style.maxWidth = initialMaxWidth\n // el.style.maxHeight = initialMaxHeight\n // scrollables.forEach((position, el) => {\n // el.scrollTo(...position)\n // })\n\n return contentBox\n}\n\nfunction connectedLocationStrategy (data: LocationStrategyData, 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, preferredOrigin } = destructComputed(() => {\n const parsedAnchor = parseAnchor(props.location, data.isRtl.value)\n const parsedOrigin =\n props.origin === 'overlap' ? parsedAnchor\n : props.origin === 'auto' ? flipSide(parsedAnchor)\n : parseAnchor(props.origin, data.isRtl.value)\n\n // Some combinations of props may produce an invalid origin\n if (parsedAnchor.side === parsedOrigin.side && parsedAnchor.align === flipAlign(parsedOrigin).align) {\n return {\n preferredAnchor: flipCorner(parsedAnchor),\n preferredOrigin: flipCorner(parsedOrigin),\n }\n } else {\n return {\n preferredAnchor: parsedAnchor,\n preferredOrigin: parsedOrigin,\n }\n }\n })\n\n const [minWidth, minHeight, maxWidth, maxHeight] =\n (['minWidth', 'minHeight', 'maxWidth', 'maxHeight'] as const).map(key => {\n return computed(() => {\n const val = parseFloat(props[key]!)\n return isNaN(val) ? Infinity : val\n })\n })\n\n const offset = computed(() => {\n if (Array.isArray(props.offset)) {\n return props.offset\n }\n if (typeof props.offset === 'string') {\n const offset = props.offset.split(' ').map(parseFloat)\n if (offset.length < 2) offset.push(0)\n return offset\n }\n return typeof props.offset === 'number' ? [props.offset, 0] : [0, 0]\n })\n\n let observe = false\n if (IN_BROWSER) {\n const observer = new ResizeObserver(() => {\n if (observe) updateLocation()\n })\n\n watch([data.activatorEl, data.contentEl], ([newActivatorEl, newContentEl], [oldActivatorEl, oldContentEl]) => {\n if (oldActivatorEl) observer.unobserve(oldActivatorEl)\n if (newActivatorEl) observer.observe(newActivatorEl)\n\n if (oldContentEl) observer.unobserve(oldContentEl)\n if (newContentEl) observer.observe(newContentEl)\n }, {\n immediate: true,\n })\n\n onScopeDispose(() => {\n observer.disconnect()\n })\n }\n\n // eslint-disable-next-line max-statements\n function updateLocation () {\n observe = false\n requestAnimationFrame(() => {\n requestAnimationFrame(() => observe = true)\n })\n\n if (!data.activatorEl.value || !data.contentEl.value) return\n\n const targetBox = data.activatorEl.value.getBoundingClientRect()\n const contentBox = getIntrinsicSize(data.contentEl.value)\n const scrollParents = getScrollParents(data.contentEl.value)\n const viewportMargin = 12\n\n if (!scrollParents.length) {\n scrollParents.push(document.documentElement)\n if (!(data.contentEl.value.style.top && data.contentEl.value.style.left)) {\n contentBox.x += parseFloat(document.documentElement.style.getPropertyValue('--v-body-scroll-x') || 0)\n contentBox.y += parseFloat(document.documentElement.style.getPropertyValue('--v-body-scroll-y') || 0)\n }\n }\n\n const viewport = scrollParents.reduce<Box>((box: Box | undefined, el) => {\n const rect = el.getBoundingClientRect()\n const scrollBox = new Box({\n x: el === document.documentElement ? 0 : rect.x,\n y: el === document.documentElement ? 0 : rect.y,\n width: el.clientWidth,\n height: el.clientHeight,\n })\n\n if (box) {\n return new Box({\n x: Math.max(box.left, scrollBox.left),\n y: Math.max(box.top, scrollBox.top),\n width: Math.min(box.right, scrollBox.right) - Math.max(box.left, scrollBox.left),\n height: Math.min(box.bottom, scrollBox.bottom) - Math.max(box.top, scrollBox.top),\n })\n }\n return scrollBox\n }, undefined!)\n viewport.x += viewportMargin\n viewport.y += viewportMargin\n viewport.width -= viewportMargin * 2\n viewport.height -= viewportMargin * 2\n\n let placement = {\n anchor: preferredAnchor.value,\n origin: preferredOrigin.value,\n }\n\n function checkOverflow (_placement: typeof placement) {\n const box = new Box(contentBox)\n const targetPoint = anchorToPoint(_placement.anchor, targetBox)\n const contentPoint = anchorToPoint(_placement.origin, box)\n\n let { x, y } = getOffset(targetPoint, contentPoint)\n\n switch (_placement.anchor.side) {\n case 'top': y -= offset.value[0]; break\n case 'bottom': y += offset.value[0]; break\n case 'left': x -= offset.value[0]; break\n case 'right': x += offset.value[0]; break\n }\n\n switch (_placement.anchor.align) {\n case 'top': y -= offset.value[1]; break\n case 'bottom': y += offset.value[1]; break\n case 'left': x -= offset.value[1]; break\n case 'right': x += offset.value[1]; break\n }\n\n box.x += x\n box.y += y\n\n box.width = Math.min(box.width, maxWidth.value)\n box.height = Math.min(box.height, maxHeight.value)\n\n const overflows = getOverflow(box, viewport)\n\n return { overflows, x, y }\n }\n\n let x = 0; let y = 0\n const available = { x: 0, y: 0 }\n const flipped = { x: false, y: false }\n let resets = -1\n while (true) {\n if (resets++ > 10) {\n consoleError('Infinite loop detected in connectedLocationStrategy')\n break\n }\n\n const { x: _x, y: _y, overflows } = checkOverflow(placement)\n\n x += _x\n y += _y\n\n contentBox.x += _x\n contentBox.y += _y\n\n // flip\n {\n const axis = getAxis(placement.anchor)\n const hasOverflowX = overflows.x.before || overflows.x.after\n const hasOverflowY = overflows.y.before || overflows.y.after\n\n let reset = false\n ;['x', 'y'].forEach(key => {\n if (\n (key === 'x' && hasOverflowX && !flipped.x) ||\n (key === 'y' && hasOverflowY && !flipped.y)\n ) {\n const newPlacement = { anchor: { ...placement.anchor }, origin: { ...placement.origin } }\n const flip = key === 'x'\n ? axis === 'y' ? flipAlign : flipSide\n : axis === 'y' ? flipSide : flipAlign\n newPlacement.anchor = flip(newPlacement.anchor)\n newPlacement.origin = flip(newPlacement.origin)\n const { overflows: newOverflows } = checkOverflow(newPlacement)\n if (\n (newOverflows[key].before <= overflows[key].before &&\n newOverflows[key].after <= overflows[key].after) ||\n (newOverflows[key].before + newOverflows[key].after <\n (overflows[key].before + overflows[key].after) / 2)\n ) {\n placement = newPlacement\n reset = flipped[key] = true\n }\n }\n })\n if (reset) continue\n }\n\n // shift\n if (overflows.x.before) {\n x += overflows.x.before\n contentBox.x += overflows.x.before\n }\n if (overflows.x.after) {\n x -= overflows.x.after\n contentBox.x -= overflows.x.after\n }\n if (overflows.y.before) {\n y += overflows.y.before\n contentBox.y += overflows.y.before\n }\n if (overflows.y.after) {\n y -= overflows.y.after\n contentBox.y -= overflows.y.after\n }\n\n // size\n {\n const overflows = getOverflow(contentBox, viewport)\n available.x = viewport.width - overflows.x.before - overflows.x.after\n available.y = viewport.height - overflows.y.before - overflows.y.after\n\n x += overflows.x.before\n contentBox.x += overflows.x.before\n y += overflows.y.before\n contentBox.y += overflows.y.before\n }\n\n break\n }\n\n const axis = getAxis(placement.anchor)\n\n Object.assign(contentStyles.value, {\n '--v-overlay-anchor-origin': `${placement.anchor.side} ${placement.anchor.align}`,\n transformOrigin: `${placement.origin.side} ${placement.origin.align}`,\n // transform: `translate(${pixelRound(x)}px, ${pixelRound(y)}px)`,\n top: convertToUnit(pixelRound(y)),\n left: convertToUnit(pixelRound(x)),\n minWidth: convertToUnit(axis === 'y' ? Math.min(minWidth.value, targetBox.width) : minWidth.value),\n maxWidth: convertToUnit(pixelCeil(clamp(available.x, minWidth.value === Infinity ? 0 : minWidth.value, maxWidth.value))),\n maxHeight: convertToUnit(pixelCeil(clamp(available.y, minHeight.value === Infinity ? 0 : minHeight.value, maxHeight.value))),\n })\n }\n\n watch(\n () => [\n preferredAnchor.value,\n preferredOrigin.value,\n props.offset,\n props.minWidth,\n props.minHeight,\n props.maxWidth,\n props.maxHeight,\n ],\n () => updateLocation(),\n { immediate: !activatorFixed }\n )\n\n if (activatorFixed) nextTick(() => updateLocation())\n requestAnimationFrame(() => {\n if (contentStyles.value.maxHeight) updateLocation()\n })\n\n return { updateLocation }\n}\n\nfunction pixelRound (val: number) {\n return Math.round(val * devicePixelRatio) / devicePixelRatio\n}\n\nfunction pixelCeil (val: number) {\n return Math.ceil(val * devicePixelRatio) / devicePixelRatio\n}\n"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  let clean = true;
2
2
  const frames = [];
3
+
3
4
  /**
4
5
  * Schedule a task to run in an animation frame on its own
5
6
  * This is useful for heavy tasks that may cause jank if all ran together
6
7
  */
7
-
8
8
  export function requestNewFrame(cb) {
9
9
  if (!clean || frames.length) {
10
10
  frames.push(cb);
@@ -16,7 +16,6 @@ export function requestNewFrame(cb) {
16
16
  }
17
17
  }
18
18
  let raf = -1;
19
-
20
19
  function run() {
21
20
  cancelAnimationFrame(raf);
22
21
  raf = requestAnimationFrame(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"requestNewFrame.mjs","names":["clean","frames","requestNewFrame","cb","length","push","run","raf","cancelAnimationFrame","requestAnimationFrame","frame","shift"],"sources":["../../../src/components/VOverlay/requestNewFrame.ts"],"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"],"mappings":"AAAA,IAAIA,KAAK,GAAG,IAAZ;AACA,MAAMC,MAAM,GAAG,EAAf;AAEA;AACA;AACA;AACA;;AACA,OAAO,SAASC,eAAT,CAA0BC,EAA1B,EAA0C;EAC/C,IAAI,CAACH,KAAD,IAAUC,MAAM,CAACG,MAArB,EAA6B;IAC3BH,MAAM,CAACI,IAAP,CAAYF,EAAZ;IACAG,GAAG;EACJ,CAHD,MAGO;IACLN,KAAK,GAAG,KAAR;IACAG,EAAE;IACFG,GAAG;EACJ;AACF;AAED,IAAIC,GAAG,GAAG,CAAC,CAAX;;AACA,SAASD,GAAT,GAAgB;EACdE,oBAAoB,CAACD,GAAD,CAApB;EACAA,GAAG,GAAGE,qBAAqB,CAAC,MAAM;IAChC,MAAMC,KAAK,GAAGT,MAAM,CAACU,KAAP,EAAd;IACA,IAAID,KAAJ,EAAWA,KAAK;IAEhB,IAAIT,MAAM,CAACG,MAAX,EAAmBE,GAAG,GAAtB,KACKN,KAAK,GAAG,IAAR;EACN,CAN0B,CAA3B;AAOD"}
1
+ {"version":3,"file":"requestNewFrame.mjs","names":["clean","frames","requestNewFrame","cb","length","push","run","raf","cancelAnimationFrame","requestAnimationFrame","frame","shift"],"sources":["../../../src/components/VOverlay/requestNewFrame.ts"],"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"],"mappings":"AAAA,IAAIA,KAAK,GAAG,IAAI;AAChB,MAAMC,MAAM,GAAG,EAAW;;AAE1B;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAe,CAAEC,EAAc,EAAE;EAC/C,IAAI,CAACH,KAAK,IAAIC,MAAM,CAACG,MAAM,EAAE;IAC3BH,MAAM,CAACI,IAAI,CAACF,EAAE,CAAC;IACfG,GAAG,EAAE;EACP,CAAC,MAAM;IACLN,KAAK,GAAG,KAAK;IACbG,EAAE,EAAE;IACJG,GAAG,EAAE;EACP;AACF;AAEA,IAAIC,GAAG,GAAG,CAAC,CAAC;AACZ,SAASD,GAAG,GAAI;EACdE,oBAAoB,CAACD,GAAG,CAAC;EACzBA,GAAG,GAAGE,qBAAqB,CAAC,MAAM;IAChC,MAAMC,KAAK,GAAGT,MAAM,CAACU,KAAK,EAAE;IAC5B,IAAID,KAAK,EAAEA,KAAK,EAAE;IAElB,IAAIT,MAAM,CAACG,MAAM,EAAEE,GAAG,EAAE,MACnBN,KAAK,GAAG,IAAI;EACnB,CAAC,CAAC;AACJ"}
@@ -2,7 +2,6 @@
2
2
  import { convertToUnit, getScrollParents, hasScrollbar, IN_BROWSER, propsFactory } from "../../util/index.mjs";
3
3
  import { effectScope, nextTick, onScopeDispose, watchEffect } from 'vue';
4
4
  import { requestNewFrame } from "./requestNewFrame.mjs"; // Types
5
-
6
5
  const scrollStrategies = {
7
6
  none: null,
8
7
  close: closeScrollStrategy,
@@ -15,13 +14,12 @@ export const makeScrollStrategyProps = propsFactory({
15
14
  default: 'block',
16
15
  validator: val => typeof val === 'function' || val in scrollStrategies
17
16
  }
18
- });
17
+ }, 'VOverlay/scrollStrategies');
19
18
  export function useScrollStrategies(props, data) {
20
19
  if (!IN_BROWSER) return;
21
20
  let scope;
22
21
  watchEffect(async () => {
23
22
  var _scope;
24
-
25
23
  (_scope = scope) == null ? void 0 : _scope.stop();
26
24
  if (!(data.isActive.value && props.scrollStrategy)) return;
27
25
  scope = effectScope();
@@ -31,34 +29,26 @@ export function useScrollStrategies(props, data) {
31
29
  props.scrollStrategy(data, props);
32
30
  } else {
33
31
  var _scrollStrategies$pro;
34
-
35
32
  (_scrollStrategies$pro = scrollStrategies[props.scrollStrategy]) == null ? void 0 : _scrollStrategies$pro.call(scrollStrategies, data, props);
36
33
  }
37
34
  });
38
35
  });
39
36
  }
40
-
41
37
  function closeScrollStrategy(data) {
42
38
  function onScroll(e) {
43
39
  data.isActive.value = false;
44
40
  }
45
-
46
41
  bindScroll(data.activatorEl.value ?? data.contentEl.value, onScroll);
47
42
  }
48
-
49
43
  function blockScrollStrategy(data, props) {
50
44
  var _data$root$value;
51
-
52
45
  const offsetParent = (_data$root$value = data.root.value) == null ? void 0 : _data$root$value.offsetParent;
53
46
  const scrollElements = [...new Set([...getScrollParents(data.activatorEl.value, props.contained ? offsetParent : undefined), ...getScrollParents(data.contentEl.value, props.contained ? offsetParent : undefined)])].filter(el => !el.classList.contains('v-overlay-scroll-blocked'));
54
47
  const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth;
55
-
56
48
  const scrollableParent = (el => hasScrollbar(el) && el)(offsetParent || document.documentElement);
57
-
58
49
  if (scrollableParent) {
59
50
  data.root.value.classList.add('v-overlay--scroll-blocked');
60
51
  }
61
-
62
52
  scrollElements.forEach((el, i) => {
63
53
  el.style.setProperty('--v-body-scroll-x', convertToUnit(-el.scrollLeft));
64
54
  el.style.setProperty('--v-body-scroll-y', convertToUnit(-el.scrollTop));
@@ -76,28 +66,23 @@ function blockScrollStrategy(data, props) {
76
66
  el.scrollLeft = -x;
77
67
  el.scrollTop = -y;
78
68
  });
79
-
80
69
  if (scrollableParent) {
81
70
  data.root.value.classList.remove('v-overlay--scroll-blocked');
82
71
  }
83
72
  });
84
73
  }
85
-
86
74
  function repositionScrollStrategy(data) {
87
75
  let slow = false;
88
76
  let raf = -1;
89
-
90
77
  function update(e) {
91
78
  requestNewFrame(() => {
92
79
  var _data$updateLocation$, _data$updateLocation;
93
-
94
80
  const start = performance.now();
95
81
  (_data$updateLocation$ = (_data$updateLocation = data.updateLocation).value) == null ? void 0 : _data$updateLocation$.call(_data$updateLocation, e);
96
82
  const time = performance.now() - start;
97
83
  slow = time / (1000 / 60) > 2;
98
84
  });
99
85
  }
100
-
101
86
  bindScroll(data.activatorEl.value ?? data.contentEl.value, e => {
102
87
  if (slow) {
103
88
  // If the position calculation is slow,
@@ -115,9 +100,8 @@ function repositionScrollStrategy(data) {
115
100
  }
116
101
  });
117
102
  }
118
- /** @private */
119
-
120
103
 
104
+ /** @private */
121
105
  function bindScroll(el, onScroll) {
122
106
  const scrollElements = [document, ...getScrollParents(el)];
123
107
  scrollElements.forEach(el => {