@vuetify/nightly 3.8.9-master.2025-06-14 → 3.8.10-dev.2025-06-18

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 (231) hide show
  1. package/CHANGELOG.md +46 -14
  2. package/dist/json/attributes.json +3541 -3137
  3. package/dist/json/importMap-labs.json +30 -26
  4. package/dist/json/importMap.json +174 -174
  5. package/dist/json/tags.json +108 -2
  6. package/dist/json/web-types.json +7295 -5648
  7. package/dist/vuetify-labs.cjs +795 -198
  8. package/dist/vuetify-labs.css +4855 -4806
  9. package/dist/vuetify-labs.d.ts +10430 -3099
  10. package/dist/vuetify-labs.esm.js +796 -199
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +795 -198
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +520 -183
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +2398 -2349
  17. package/dist/vuetify.d.ts +2798 -2091
  18. package/dist/vuetify.esm.js +521 -184
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +520 -183
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +1257 -1234
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAlert/VAlert.css +6 -1
  26. package/lib/components/VAlert/VAlert.d.ts +35 -0
  27. package/lib/components/VAlert/VAlert.js +15 -10
  28. package/lib/components/VAlert/VAlert.js.map +1 -1
  29. package/lib/components/VAlert/VAlert.sass +7 -1
  30. package/lib/components/VAppBar/VAppBar.d.ts +15 -3
  31. package/lib/components/VAppBar/VAppBarNavIcon.d.ts +20 -10
  32. package/lib/components/VAutocomplete/VAutocomplete.d.ts +175 -110
  33. package/lib/components/VAutocomplete/VAutocomplete.js +21 -3
  34. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  35. package/lib/components/VBadge/VBadge.d.ts +60 -0
  36. package/lib/components/VBadge/VBadge.js +7 -2
  37. package/lib/components/VBadge/VBadge.js.map +1 -1
  38. package/lib/components/VBtn/VBtn.css +3 -0
  39. package/lib/components/VBtn/VBtn.d.ts +20 -10
  40. package/lib/components/VBtn/VBtn.sass +3 -0
  41. package/lib/components/VBtnGroup/VBtnGroup.css +32 -8
  42. package/lib/components/VBtnGroup/VBtnGroup.d.ts +58 -32
  43. package/lib/components/VBtnGroup/VBtnGroup.js +7 -3
  44. package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
  45. package/lib/components/VBtnGroup/VBtnGroup.sass +46 -18
  46. package/lib/components/VBtnToggle/VBtnToggle.d.ts +25 -0
  47. package/lib/components/VCard/VCard.d.ts +20 -10
  48. package/lib/components/VCheckbox/VCheckbox.d.ts +23 -13
  49. package/lib/components/VCheckbox/VCheckboxBtn.d.ts +20 -10
  50. package/lib/components/VChip/VChip.d.ts +20 -10
  51. package/lib/components/VChipGroup/VChipGroup.d.ts +10 -0
  52. package/lib/components/VCombobox/VCombobox.d.ts +175 -110
  53. package/lib/components/VCombobox/VCombobox.js +22 -3
  54. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  55. package/lib/components/VDataTable/VDataTable.d.ts +60 -0
  56. package/lib/components/VDataTable/VDataTableHeaders.d.ts +13 -0
  57. package/lib/components/VDataTable/VDataTableHeaders.js +4 -2
  58. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  59. package/lib/components/VDataTable/VDataTableServer.d.ts +42 -0
  60. package/lib/components/VDataTable/VDataTableVirtual.d.ts +42 -0
  61. package/lib/components/VDatePicker/VDatePicker.d.ts +80 -5
  62. package/lib/components/VDatePicker/VDatePicker.js +10 -4
  63. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  64. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +10 -0
  65. package/lib/components/VDatePicker/VDatePickerMonth.js +1 -1
  66. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  67. package/lib/components/VExpansionPanel/VExpansionPanel.d.ts +20 -10
  68. package/lib/components/VExpansionPanel/VExpansionPanelTitle.d.ts +20 -10
  69. package/lib/components/VExpansionPanel/VExpansionPanels.d.ts +20 -10
  70. package/lib/components/VFab/VFab.d.ts +20 -10
  71. package/lib/components/VField/VField.d.ts +3 -3
  72. package/lib/components/VFileInput/VFileInput.d.ts +15 -15
  73. package/lib/components/VInfiniteScroll/VInfiniteScroll.d.ts +9 -3
  74. package/lib/components/VInfiniteScroll/VInfiniteScroll.js +29 -0
  75. package/lib/components/VInfiniteScroll/VInfiniteScroll.js.map +1 -1
  76. package/lib/components/VInput/VInput.d.ts +4 -4
  77. package/lib/components/VKbd/VKbd.css +13 -2
  78. package/lib/components/VKbd/VKbd.d.ts +221 -0
  79. package/lib/components/VKbd/VKbd.js +55 -0
  80. package/lib/components/VKbd/VKbd.js.map +1 -0
  81. package/lib/components/VKbd/VKbd.sass +2 -1
  82. package/lib/components/VKbd/_variables.scss +12 -1
  83. package/lib/components/VKbd/index.d.ts +1 -95
  84. package/lib/components/VKbd/index.js +1 -4
  85. package/lib/components/VKbd/index.js.map +1 -1
  86. package/lib/components/VList/VList.d.ts +13 -0
  87. package/lib/components/VList/VList.js +4 -1
  88. package/lib/components/VList/VList.js.map +1 -1
  89. package/lib/components/VList/VListChildren.js +4 -3
  90. package/lib/components/VList/VListChildren.js.map +1 -1
  91. package/lib/components/VList/VListGroup.d.ts +10 -0
  92. package/lib/components/VList/VListGroup.js +2 -2
  93. package/lib/components/VList/VListGroup.js.map +1 -1
  94. package/lib/components/VList/VListItem.d.ts +28 -10
  95. package/lib/components/VList/VListItem.js +7 -3
  96. package/lib/components/VList/VListItem.js.map +1 -1
  97. package/lib/components/VList/list.d.ts +9 -2
  98. package/lib/components/VList/list.js +7 -0
  99. package/lib/components/VList/list.js.map +1 -1
  100. package/lib/components/VMenu/VMenu.d.ts +13 -0
  101. package/lib/components/VMenu/VMenu.js +2 -1
  102. package/lib/components/VMenu/VMenu.js.map +1 -1
  103. package/lib/components/VNumberInput/VNumberInput.d.ts +114 -89
  104. package/lib/components/VNumberInput/VNumberInput.js +43 -20
  105. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  106. package/lib/components/VOtpInput/VOtpInput.js +19 -2
  107. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  108. package/lib/components/VOverlay/VOverlay.css +1 -1
  109. package/lib/components/VOverlay/_variables.scss +1 -1
  110. package/lib/components/VRadio/VRadio.d.ts +20 -10
  111. package/lib/components/VRadioGroup/VRadioGroup.d.ts +23 -13
  112. package/lib/components/VRangeSlider/VRangeSlider.d.ts +3 -3
  113. package/lib/components/VSelect/VSelect.d.ts +204 -118
  114. package/lib/components/VSelect/VSelect.js +21 -3
  115. package/lib/components/VSelect/VSelect.js.map +1 -1
  116. package/lib/components/VSelectionControl/VSelectionControl.d.ts +20 -10
  117. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.d.ts +28 -14
  118. package/lib/components/VSlideGroup/VSlideGroup.d.ts +10 -0
  119. package/lib/components/VSlideGroup/VSlideGroup.js +2 -1
  120. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  121. package/lib/components/VSlider/VSlider.d.ts +3 -3
  122. package/lib/components/VSlider/VSliderThumb.d.ts +20 -10
  123. package/lib/components/VSpeedDial/VSpeedDial.d.ts +13 -0
  124. package/lib/components/VStepper/VStepperItem.d.ts +28 -14
  125. package/lib/components/VSwitch/VSwitch.d.ts +23 -13
  126. package/lib/components/VTable/VTable.css +6 -0
  127. package/lib/components/VTable/VTable.d.ts +55 -24
  128. package/lib/components/VTable/VTable.js +9 -2
  129. package/lib/components/VTable/VTable.js.map +1 -1
  130. package/lib/components/VTable/VTable.sass +14 -0
  131. package/lib/components/VTable/_variables.scss +1 -0
  132. package/lib/components/VTabs/VTab.d.ts +56 -28
  133. package/lib/components/VTabs/VTabs.d.ts +10 -0
  134. package/lib/components/VTextField/VTextField.d.ts +27 -27
  135. package/lib/components/VTextField/VTextField.js +4 -4
  136. package/lib/components/VTextField/VTextField.js.map +1 -1
  137. package/lib/components/VTextarea/VTextarea.d.ts +15 -15
  138. package/lib/components/VTextarea/VTextarea.js +4 -4
  139. package/lib/components/VTextarea/VTextarea.js.map +1 -1
  140. package/lib/components/VToolbar/VToolbar.d.ts +15 -3
  141. package/lib/components/VToolbar/VToolbar.js +6 -3
  142. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  143. package/lib/composables/autofocus.d.ts +7 -0
  144. package/lib/composables/autofocus.js +10 -0
  145. package/lib/composables/autofocus.js.map +1 -0
  146. package/lib/composables/calendar.d.ts +5 -0
  147. package/lib/composables/calendar.js +2 -1
  148. package/lib/composables/calendar.js.map +1 -1
  149. package/lib/composables/date/DateAdapter.d.ts +3 -3
  150. package/lib/composables/date/DateAdapter.js.map +1 -1
  151. package/lib/composables/date/adapters/string.d.ts +54 -0
  152. package/lib/composables/date/adapters/string.js +153 -0
  153. package/lib/composables/date/adapters/string.js.map +1 -0
  154. package/lib/composables/date/adapters/vuetify.d.ts +1 -1
  155. package/lib/composables/date/adapters/vuetify.js +4 -4
  156. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  157. package/lib/composables/date/date.d.ts +3 -3
  158. package/lib/composables/date/index.d.ts +1 -0
  159. package/lib/composables/date/index.js +1 -0
  160. package/lib/composables/date/index.js.map +1 -1
  161. package/lib/composables/filter.js +3 -0
  162. package/lib/composables/filter.js.map +1 -1
  163. package/lib/composables/group.js +1 -0
  164. package/lib/composables/group.js.map +1 -1
  165. package/lib/composables/iconSizes.d.ts +28 -0
  166. package/lib/composables/iconSizes.js +23 -0
  167. package/lib/composables/iconSizes.js.map +1 -0
  168. package/lib/composables/intersectionObserver.js +2 -2
  169. package/lib/composables/intersectionObserver.js.map +1 -1
  170. package/lib/composables/locale.d.ts +5 -1
  171. package/lib/composables/locale.js.map +1 -1
  172. package/lib/composables/mask.d.ts +38 -0
  173. package/lib/composables/mask.js +183 -0
  174. package/lib/composables/mask.js.map +1 -0
  175. package/lib/composables/selectLink.js +2 -2
  176. package/lib/composables/selectLink.js.map +1 -1
  177. package/lib/composables/theme.d.ts +6 -1
  178. package/lib/composables/theme.js +97 -29
  179. package/lib/composables/theme.js.map +1 -1
  180. package/lib/composables/virtual.js +6 -1
  181. package/lib/composables/virtual.js.map +1 -1
  182. package/lib/directives/ripple/index.d.ts +2 -1
  183. package/lib/directives/ripple/index.js +12 -7
  184. package/lib/directives/ripple/index.js.map +1 -1
  185. package/lib/entry-bundler.d.ts +4 -3
  186. package/lib/entry-bundler.js +1 -1
  187. package/lib/entry-bundler.js.map +1 -1
  188. package/lib/framework.d.ts +92 -73
  189. package/lib/framework.js +1 -1
  190. package/lib/framework.js.map +1 -1
  191. package/lib/labs/VCalendar/VCalendar.d.ts +10 -0
  192. package/lib/labs/VColorInput/VColorInput.d.ts +3 -3
  193. package/lib/labs/VDateInput/VDateInput.d.ts +97 -87
  194. package/lib/labs/VFileUpload/VFileUpload.d.ts +3 -3
  195. package/lib/labs/VFileUpload/VFileUploadItem.d.ts +20 -10
  196. package/lib/labs/VIconBtn/VIconBtn.d.ts +29 -29
  197. package/lib/labs/VIconBtn/VIconBtn.js +7 -11
  198. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  199. package/lib/labs/VMaskInput/VMaskInput.d.ts +6993 -0
  200. package/lib/labs/VMaskInput/VMaskInput.js +67 -0
  201. package/lib/labs/VMaskInput/VMaskInput.js.map +1 -0
  202. package/lib/labs/VMaskInput/index.d.ts +1 -0
  203. package/lib/labs/VMaskInput/index.js +2 -0
  204. package/lib/labs/VMaskInput/index.js.map +1 -0
  205. package/lib/labs/VStepperVertical/VStepperVertical.d.ts +20 -10
  206. package/lib/labs/VStepperVertical/VStepperVerticalItem.d.ts +20 -10
  207. package/lib/labs/VTreeview/VTreeview.d.ts +51 -38
  208. package/lib/labs/VTreeview/VTreeview.js +1 -1
  209. package/lib/labs/VTreeview/VTreeview.js.map +1 -1
  210. package/lib/labs/VTreeview/VTreeviewChildren.d.ts +35 -0
  211. package/lib/labs/VTreeview/VTreeviewChildren.js +21 -3
  212. package/lib/labs/VTreeview/VTreeviewChildren.js.map +1 -1
  213. package/lib/labs/VTreeview/VTreeviewGroup.d.ts +10 -0
  214. package/lib/labs/VTreeview/VTreeviewItem.d.ts +20 -10
  215. package/lib/labs/VTreeview/VTreeviewItem.js +1 -0
  216. package/lib/labs/VTreeview/VTreeviewItem.js.map +1 -1
  217. package/lib/labs/components.d.ts +1 -0
  218. package/lib/labs/components.js +1 -0
  219. package/lib/labs/components.js.map +1 -1
  220. package/lib/labs/entry-bundler.d.ts +4 -3
  221. package/lib/locale/adapters/vue-i18n.js +6 -1
  222. package/lib/locale/adapters/vue-i18n.js.map +1 -1
  223. package/lib/locale/adapters/vuetify.js +7 -1
  224. package/lib/locale/adapters/vuetify.js.map +1 -1
  225. package/lib/util/globals.d.ts +1 -0
  226. package/lib/util/globals.js +1 -0
  227. package/lib/util/globals.js.map +1 -1
  228. package/lib/util/helpers.d.ts +2 -1
  229. package/lib/util/helpers.js +12 -7
  230. package/lib/util/helpers.js.map +1 -1
  231. package/package.json +9 -7
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["isObject","keyCodes","stopSymbol","Symbol","DELAY_RIPPLE","transform","el","value","style","webkitTransform","isTouchEvent","e","constructor","name","isKeyboardEvent","calculate","arguments","length","undefined","localX","localY","offset","getBoundingClientRect","target","touches","clientX","left","clientY","top","radius","scale","_ripple","circle","clientWidth","center","Math","sqrt","clientHeight","centerX","centerY","x","y","ripples","show","enabled","container","document","createElement","animation","appendChild","className","class","size","width","height","computed","window","getComputedStyle","position","dataset","previousPosition","classList","add","activated","String","performance","now","requestAnimationFrame","remove","hide","getElementsByClassName","isHiding","diff","Number","delay","max","setTimeout","parentNode","removeChild","isRippleEnabled","rippleShow","element","currentTarget","touched","isTouch","centered","showTimerCommit","showTimer","rippleStop","rippleHide","clearTimeout","type","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyCode","enter","space","keyboardRippleHide","focusRippleHide","updateRipple","binding","wasEnabled","modifiers","stop","addEventListener","passive","removeListeners","removeEventListener","mounted","unmounted","updated","oldValue","Ripple"],"sources":["../../../src/directives/ripple/index.ts"],"sourcesContent":["// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { isObject, keyCodes } from '@/util'\n\n// Types\nimport type { DirectiveBinding } from 'vue'\n\nconst stopSymbol = Symbol('rippleStop')\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { [stopSymbol]?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\ninterface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nexport interface RippleDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: boolean | { class: string }\n modifiers: {\n center?: boolean\n circle?: boolean\n stop?: boolean\n }\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple?.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el?._ripple?.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n animation.dataset.activated = String(performance.now())\n\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n })\n })\n },\n\n hide (el: HTMLElement | null) {\n if (!el?._ripple?.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n if (animation.parentNode?.parentNode === el) el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element?._ripple || element._ripple.touched || e[stopSymbol]) return\n\n // Don't allow the event to trigger ripples on any other elements\n e[stopSymbol] = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element?._ripple?.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleStop (e: VuetifyRippleEvent) {\n e[stopSymbol] = true\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element?._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = window.setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element?._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: RippleDirectiveBinding, wasEnabled: boolean) {\n const { value, modifiers } = binding\n const enabled = isRippleEnabled(value)\n if (!enabled) {\n ripples.hide(el)\n }\n\n el._ripple = el._ripple ?? {}\n el._ripple.enabled = enabled\n el._ripple.centered = modifiers.center\n el._ripple.circle = modifiers.circle\n if (isObject(value) && value.class) {\n el._ripple.class = value.class\n }\n\n if (enabled && !wasEnabled) {\n if (modifiers.stop) {\n el.addEventListener('touchstart', rippleStop, { passive: true })\n el.addEventListener('mousedown', rippleStop)\n return\n }\n\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction mounted (el: HTMLElement, binding: RippleDirectiveBinding) {\n updateRipple(el, binding, false)\n}\n\nfunction unmounted (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction updated (el: HTMLElement, binding: RippleDirectiveBinding) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Ripple\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["isObject","keyCodes","stopSymbol","Symbol","DELAY_RIPPLE","transform","el","value","style","webkitTransform","isTouchEvent","e","constructor","name","isKeyboardEvent","calculate","arguments","length","undefined","localX","localY","offset","getBoundingClientRect","target","touches","clientX","left","clientY","top","radius","scale","_ripple","circle","clientWidth","center","Math","sqrt","clientHeight","centerX","centerY","x","y","ripples","show","enabled","container","document","createElement","animation","appendChild","className","class","size","width","height","computed","window","getComputedStyle","position","dataset","previousPosition","classList","add","activated","String","performance","now","requestAnimationFrame","remove","hide","getElementsByClassName","isHiding","diff","Number","delay","max","setTimeout","parentNode","removeChild","isRippleEnabled","rippleShow","element","currentTarget","touched","isTouch","centered","showTimerCommit","showTimer","rippleStop","rippleHide","clearTimeout","type","rippleCancelShow","keyboardRipple","keyboardRippleShow","keys","includes","keyCode","keyboardRippleHide","focusRippleHide","updateRipple","binding","wasEnabled","modifiers","bindingValue","allowedKeys","enter","space","keyDownHandler","stop","addEventListener","passive","removeListeners","removeEventListener","mounted","unmounted","updated","oldValue","Ripple"],"sources":["../../../src/directives/ripple/index.ts"],"sourcesContent":["// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { isObject, keyCodes } from '@/util'\n\n// Types\nimport type { DirectiveBinding } from 'vue'\n\nconst stopSymbol = Symbol('rippleStop')\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { [stopSymbol]?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\ninterface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nexport interface RippleDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: boolean | {\n class?: string\n keys?: number[]\n }\n modifiers: {\n center?: boolean\n circle?: boolean\n stop?: boolean\n }\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple?.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el?._ripple?.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n animation.dataset.activated = String(performance.now())\n\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n })\n })\n },\n\n hide (el: HTMLElement | null) {\n if (!el?._ripple?.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n if (animation.parentNode?.parentNode === el) el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any) {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element?._ripple || element._ripple.touched || e[stopSymbol]) return\n\n // Don't allow the event to trigger ripples on any other elements\n e[stopSymbol] = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element?._ripple?.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleStop (e: VuetifyRippleEvent) {\n e[stopSymbol] = true\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element?._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = window.setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element?._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent, keys: number[]) {\n if (!keyboardRipple && keys.includes(e.keyCode)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: RippleDirectiveBinding, wasEnabled: boolean) {\n const { value, modifiers } = binding\n\n const enabled = isRippleEnabled(value)\n if (!enabled) {\n ripples.hide(el)\n }\n\n el._ripple = el._ripple ?? {}\n el._ripple.enabled = enabled\n el._ripple.centered = modifiers.center\n el._ripple.circle = modifiers.circle\n\n const bindingValue = isObject(value) ? value : {}\n if (bindingValue.class) {\n el._ripple.class = bindingValue.class\n }\n\n const allowedKeys = bindingValue.keys ?? [keyCodes.enter, keyCodes.space]\n el._ripple.keyDownHandler = (e: KeyboardEvent) => keyboardRippleShow(e, allowedKeys)\n\n if (enabled && !wasEnabled) {\n if (modifiers.stop) {\n el.addEventListener('touchstart', rippleStop, { passive: true })\n el.addEventListener('mousedown', rippleStop)\n return\n }\n\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', e => keyboardRippleShow(e, allowedKeys))\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n if (el._ripple?.keyDownHandler) {\n el.removeEventListener('keydown', el._ripple.keyDownHandler)\n }\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction mounted (el: HTMLElement, binding: RippleDirectiveBinding) {\n updateRipple(el, binding, false)\n}\n\nfunction unmounted (el: HTMLElement) {\n removeListeners(el)\n delete el._ripple\n}\n\nfunction updated (el: HTMLElement, binding: RippleDirectiveBinding) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Ripple\n"],"mappings":"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","ignoreList":[]}
@@ -17,6 +17,7 @@ export declare const createVuetify: {
17
17
  rtl: import("vue").Ref<Record<string, boolean>>;
18
18
  rtlClasses: import("vue").Ref<string>;
19
19
  name: string;
20
+ decimalSeparator: import("vue").ShallowRef<string>;
20
21
  messages: import("vue").Ref<import("./types.js").LocaleMessages>;
21
22
  current: import("vue").Ref<string>;
22
23
  fallback: import("vue").Ref<string>;
@@ -42,10 +43,10 @@ export declare const createVuetify: {
42
43
  startOfYear: (date: unknown) => unknown;
43
44
  endOfYear: (date: unknown) => unknown;
44
45
  isAfter: (date: unknown, comparing: unknown) => boolean;
45
- isAfterDay: (value: unknown, comparing: unknown) => boolean;
46
+ isAfterDay: (date: unknown, comparing: unknown) => boolean;
46
47
  isSameDay: (date: unknown, comparing: unknown) => boolean;
47
48
  isSameMonth: (date: unknown, comparing: unknown) => boolean;
48
- isSameYear: (value: unknown, comparing: unknown) => boolean;
49
+ isSameYear: (date: unknown, comparing: unknown) => boolean;
49
50
  isBefore: (date: unknown, comparing: unknown) => boolean;
50
51
  isEqual: (date: unknown, comparing: unknown) => boolean;
51
52
  isValid: (date: any) => boolean;
@@ -59,7 +60,7 @@ export declare const createVuetify: {
59
60
  setYear: (date: unknown, year: number) => unknown;
60
61
  getDiff: (date: unknown, comparing: unknown, unit?: string) => number;
61
62
  getWeekArray: (date: unknown, firstDayOfWeek?: number | string) => unknown[][];
62
- getWeekdays: (firstDayOfWeek?: number | string) => string[];
63
+ getWeekdays: (firstDayOfWeek?: number | string, weekdayFormat?: "long" | "short" | "narrow") => string[];
63
64
  getWeek: (date: unknown, firstDayOfWeek?: number | string, firstWeekMinSize?: number) => number;
64
65
  getMonth: (date: unknown) => number;
65
66
  setMonth: (date: unknown, month: number) => unknown;
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.8.9-master.2025-06-14";
19
+ export const version = "3.8.10-dev.2025-06-18";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"entry-bundler.js","names":["blueprints","components","directives","createVuetify","_createVuetify","options","arguments","length","undefined","version"],"sources":["../src/entry-bundler.ts"],"sourcesContent":["/* eslint-disable local-rules/sort-imports */\n\n// Styles\nimport './styles/main.sass'\n\n// Components\nimport * as blueprints from './blueprints'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\n\n// Types\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\nexport {\n blueprints,\n components,\n directives,\n}\nexport * from './composables'\n"],"mappings":"AAAA;;AAEA;AACA;;AAEA;AAAA,OACO,KAAKA,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,SACbC,aAAa,IAAIC,cAAc,0BAExC;AAGA,OAAO,MAAMD,aAAa,GAAG,SAAAA,CAAA,EAAkC;EAAA,IAAjCE,OAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxD,OAAOF,cAAc,CAAC;IAAEH,UAAU;IAAEC,UAAU;IAAE,GAAGG;EAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,OAAO,MAAMI,OAAO,4BAAsB;AAC1CN,aAAa,CAACM,OAAO,GAAGA,OAAO;AAE/B,SACET,UAAU,EACVC,UAAU,EACVC,UAAU;AACX","ignoreList":[]}
1
+ {"version":3,"file":"entry-bundler.js","names":["blueprints","components","directives","createVuetify","_createVuetify","options","arguments","length","undefined","version"],"sources":["../src/entry-bundler.ts"],"sourcesContent":["/* eslint-disable local-rules/sort-imports */\n\n// Styles\nimport './styles/main.sass'\n\n// Components\nimport * as blueprints from './blueprints'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\n\n// Types\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\nexport {\n blueprints,\n components,\n directives,\n}\nexport * from './composables'\n"],"mappings":"AAAA;;AAEA;AACA;;AAEA;AAAA,OACO,KAAKA,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,SACbC,aAAa,IAAIC,cAAc,0BAExC;AAGA,OAAO,MAAMD,aAAa,GAAG,SAAAA,CAAA,EAAkC;EAAA,IAAjCE,OAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxD,OAAOF,cAAc,CAAC;IAAEH,UAAU;IAAEC,UAAU;IAAE,GAAGG;EAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,OAAO,MAAMI,OAAO,0BAAsB;AAC1CN,aAAa,CAACM,OAAO,GAAGA,OAAO;AAE/B,SACET,UAAU,EACVC,UAAU,EACVC,UAAU;AACX","ignoreList":[]}
@@ -1,11 +1,12 @@
1
1
  import * as vue from 'vue';
2
- import { Ref, ComponentPublicInstance, DeepReadonly, FunctionalComponent, ComponentPropsOptions, ExtractPropTypes, PropType, CSSProperties, EffectScope, nextTick, VNodeProps, App } from 'vue';
2
+ import { ShallowRef, Ref, ComponentPublicInstance, DeepReadonly, FunctionalComponent, ComponentPropsOptions, ExtractPropTypes, PropType, CSSProperties, EffectScope, nextTick, VNodeProps, App } from 'vue';
3
3
  import * as _vue_reactivity from '@vue/reactivity';
4
4
 
5
5
  interface LocaleMessages {
6
6
  [key: string]: LocaleMessages | string;
7
7
  }
8
8
  interface LocaleOptions {
9
+ decimalSeparator?: string;
9
10
  messages?: LocaleMessages;
10
11
  locale?: string;
11
12
  fallback?: string;
@@ -13,6 +14,7 @@ interface LocaleOptions {
13
14
  }
14
15
  interface LocaleInstance {
15
16
  name: string;
17
+ decimalSeparator: ShallowRef<string>;
16
18
  messages: Ref<LocaleMessages>;
17
19
  current: Ref<string>;
18
20
  fallback: Ref<string>;
@@ -67,10 +69,10 @@ interface DateAdapter<T = unknown> {
67
69
  startOfYear(date: T): T;
68
70
  endOfYear(date: T): T;
69
71
  isAfter(date: T, comparing: T): boolean;
70
- isAfterDay(value: T, comparing: T): boolean;
72
+ isAfterDay(date: T, comparing: T): boolean;
71
73
  isSameDay(date: T, comparing: T): boolean;
72
74
  isSameMonth(date: T, comparing: T): boolean;
73
- isSameYear(value: T, comparing: T): boolean;
75
+ isSameYear(date: T, comparing: T): boolean;
74
76
  isBefore(date: T, comparing: T): boolean;
75
77
  isEqual(date: T, comparing: T): boolean;
76
78
  isValid(date: any): boolean;
@@ -84,7 +86,7 @@ interface DateAdapter<T = unknown> {
84
86
  setYear(date: T, year: number): T;
85
87
  getDiff(date: T, comparing: T | string, unit?: string): number;
86
88
  getWeekArray(date: T, firstDayOfWeek?: number | string): T[][];
87
- getWeekdays(firstDayOfWeek?: number | string): string[];
89
+ getWeekdays(firstDayOfWeek?: number | string, weekdayFormat?: 'long' | 'short' | 'narrow'): string[];
88
90
  getWeek(date: T, firstDayOfWeek?: number | string, firstWeekMinSize?: number): number;
89
91
  getMonth(date: T): number;
90
92
  setMonth(date: T, month: number): T;
@@ -147,11 +149,12 @@ type DeepPartial<T> = T extends object ? {
147
149
  } : T;
148
150
  type ThemeOptions = false | {
149
151
  cspNonce?: string;
150
- defaultTheme?: string;
152
+ defaultTheme?: 'light' | 'dark' | 'system' | string;
151
153
  variations?: false | VariationsOptions;
152
154
  themes?: Record<string, ThemeDefinition>;
153
155
  stylesheetId?: string;
154
156
  scope?: string;
157
+ unimportant?: boolean;
155
158
  };
156
159
  type ThemeDefinition = DeepPartial<InternalThemeDefinition>;
157
160
  interface VariationsOptions {
@@ -188,11 +191,15 @@ interface OnColors {
188
191
  'on-info': string;
189
192
  }
190
193
  interface ThemeInstance {
194
+ change: (themeName: string) => void;
195
+ cycle: (themeArray?: string[]) => void;
196
+ toggle: (themeArray?: [string, string]) => void;
191
197
  readonly isDisabled: boolean;
192
198
  readonly themes: Ref<Record<string, InternalThemeDefinition>>;
193
199
  readonly name: Readonly<Ref<string>>;
194
200
  readonly current: DeepReadonly<Ref<InternalThemeDefinition>>;
195
201
  readonly computedThemes: DeepReadonly<Ref<Record<string, InternalThemeDefinition>>>;
202
+ readonly prefix: string;
196
203
  readonly themeClasses: Readonly<Ref<string | undefined>>;
197
204
  readonly styles: Readonly<Ref<string>>;
198
205
  readonly global: {
@@ -2444,6 +2451,7 @@ declare function createVuetify(vuetify?: VuetifyOptions): {
2444
2451
  rtl: vue.Ref<Record<string, boolean>>;
2445
2452
  rtlClasses: vue.Ref<string>;
2446
2453
  name: string;
2454
+ decimalSeparator: vue.ShallowRef<string>;
2447
2455
  messages: vue.Ref<LocaleMessages>;
2448
2456
  current: vue.Ref<string>;
2449
2457
  fallback: vue.Ref<string>;
@@ -2469,10 +2477,10 @@ declare function createVuetify(vuetify?: VuetifyOptions): {
2469
2477
  startOfYear: (date: unknown) => unknown;
2470
2478
  endOfYear: (date: unknown) => unknown;
2471
2479
  isAfter: (date: unknown, comparing: unknown) => boolean;
2472
- isAfterDay: (value: unknown, comparing: unknown) => boolean;
2480
+ isAfterDay: (date: unknown, comparing: unknown) => boolean;
2473
2481
  isSameDay: (date: unknown, comparing: unknown) => boolean;
2474
2482
  isSameMonth: (date: unknown, comparing: unknown) => boolean;
2475
- isSameYear: (value: unknown, comparing: unknown) => boolean;
2483
+ isSameYear: (date: unknown, comparing: unknown) => boolean;
2476
2484
  isBefore: (date: unknown, comparing: unknown) => boolean;
2477
2485
  isEqual: (date: unknown, comparing: unknown) => boolean;
2478
2486
  isValid: (date: any) => boolean;
@@ -2486,7 +2494,7 @@ declare function createVuetify(vuetify?: VuetifyOptions): {
2486
2494
  setYear: (date: unknown, year: number) => unknown;
2487
2495
  getDiff: (date: unknown, comparing: unknown, unit?: string) => number;
2488
2496
  getWeekArray: (date: unknown, firstDayOfWeek?: number | string) => unknown[][];
2489
- getWeekdays: (firstDayOfWeek?: number | string) => string[];
2497
+ getWeekdays: (firstDayOfWeek?: number | string, weekdayFormat?: "long" | "short" | "narrow") => string[];
2490
2498
  getWeek: (date: unknown, firstDayOfWeek?: number | string, firstWeekMinSize?: number) => number;
2491
2499
  getMonth: (date: unknown) => number;
2492
2500
  setMonth: (date: unknown, month: number) => unknown;
@@ -2547,80 +2555,71 @@ declare module 'vue' {
2547
2555
  export interface GlobalComponents {
2548
2556
  VAlert: typeof import('vuetify/components')['VAlert']
2549
2557
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2558
+ VBanner: typeof import('vuetify/components')['VBanner']
2559
+ VBannerActions: typeof import('vuetify/components')['VBannerActions']
2560
+ VBannerText: typeof import('vuetify/components')['VBannerText']
2550
2561
  VAppBar: typeof import('vuetify/components')['VAppBar']
2551
2562
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2552
2563
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2564
+ VAvatar: typeof import('vuetify/components')['VAvatar']
2553
2565
  VApp: typeof import('vuetify/components')['VApp']
2554
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2555
- VBanner: typeof import('vuetify/components')['VBanner']
2556
- VBannerActions: typeof import('vuetify/components')['VBannerActions']
2557
- VBannerText: typeof import('vuetify/components')['VBannerText']
2558
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2559
- VBadge: typeof import('vuetify/components')['VBadge']
2566
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2567
+ VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2568
+ VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2569
+ VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2570
+ VBtn: typeof import('vuetify/components')['VBtn']
2571
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2560
2572
  VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2561
- VAvatar: typeof import('vuetify/components')['VAvatar']
2562
2573
  VCard: typeof import('vuetify/components')['VCard']
2563
2574
  VCardActions: typeof import('vuetify/components')['VCardActions']
2564
2575
  VCardItem: typeof import('vuetify/components')['VCardItem']
2565
2576
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2566
2577
  VCardText: typeof import('vuetify/components')['VCardText']
2567
2578
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2568
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2569
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2570
- VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2571
- VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2572
- VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2573
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
2574
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2575
- VBtn: typeof import('vuetify/components')['VBtn']
2576
2579
  VCarousel: typeof import('vuetify/components')['VCarousel']
2577
2580
  VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2578
- VChip: typeof import('vuetify/components')['VChip']
2581
+ VBadge: typeof import('vuetify/components')['VBadge']
2582
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2583
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2584
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
2585
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2586
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
2579
2587
  VCode: typeof import('vuetify/components')['VCode']
2580
- VCombobox: typeof import('vuetify/components')['VCombobox']
2581
- VCounter: typeof import('vuetify/components')['VCounter']
2588
+ VChip: typeof import('vuetify/components')['VChip']
2582
2589
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
2583
- VDataTable: typeof import('vuetify/components')['VDataTable']
2584
- VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2585
- VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
2586
- VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
2587
- VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2588
- VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2589
- VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2590
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
2590
+ VCombobox: typeof import('vuetify/components')['VCombobox']
2591
2591
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
2592
2592
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2593
2593
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2594
2594
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2595
2595
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2596
2596
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2597
+ VCounter: typeof import('vuetify/components')['VCounter']
2598
+ VDivider: typeof import('vuetify/components')['VDivider']
2597
2599
  VDialog: typeof import('vuetify/components')['VDialog']
2598
2600
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2599
2601
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2600
2602
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2601
2603
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2602
- VDivider: typeof import('vuetify/components')['VDivider']
2603
- VFooter: typeof import('vuetify/components')['VFooter']
2604
2604
  VFab: typeof import('vuetify/components')['VFab']
2605
- VField: typeof import('vuetify/components')['VField']
2606
- VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2605
+ VFooter: typeof import('vuetify/components')['VFooter']
2607
2606
  VEmptyState: typeof import('vuetify/components')['VEmptyState']
2608
- VFileInput: typeof import('vuetify/components')['VFileInput']
2607
+ VDataTable: typeof import('vuetify/components')['VDataTable']
2608
+ VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2609
+ VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
2610
+ VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
2611
+ VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2612
+ VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2613
+ VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2609
2614
  VIcon: typeof import('vuetify/components')['VIcon']
2610
2615
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2611
2616
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2612
2617
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2613
2618
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2614
- VImg: typeof import('vuetify/components')['VImg']
2615
2619
  VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2616
- VItemGroup: typeof import('vuetify/components')['VItemGroup']
2617
- VItem: typeof import('vuetify/components')['VItem']
2620
+ VImg: typeof import('vuetify/components')['VImg']
2618
2621
  VInput: typeof import('vuetify/components')['VInput']
2619
- VMenu: typeof import('vuetify/components')['VMenu']
2620
- VKbd: typeof import('vuetify/components')['VKbd']
2621
2622
  VLabel: typeof import('vuetify/components')['VLabel']
2622
- VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2623
- VMessages: typeof import('vuetify/components')['VMessages']
2624
2623
  VList: typeof import('vuetify/components')['VList']
2625
2624
  VListGroup: typeof import('vuetify/components')['VListGroup']
2626
2625
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -2630,71 +2629,79 @@ declare module 'vue' {
2630
2629
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2631
2630
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2632
2631
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2632
+ VItemGroup: typeof import('vuetify/components')['VItemGroup']
2633
+ VItem: typeof import('vuetify/components')['VItem']
2634
+ VMenu: typeof import('vuetify/components')['VMenu']
2635
+ VMain: typeof import('vuetify/components')['VMain']
2636
+ VMessages: typeof import('vuetify/components')['VMessages']
2637
+ VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2633
2638
  VNumberInput: typeof import('vuetify/components')['VNumberInput']
2634
- VOtpInput: typeof import('vuetify/components')['VOtpInput']
2635
2639
  VOverlay: typeof import('vuetify/components')['VOverlay']
2640
+ VOtpInput: typeof import('vuetify/components')['VOtpInput']
2641
+ VPagination: typeof import('vuetify/components')['VPagination']
2636
2642
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2637
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2638
2643
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2639
- VPagination: typeof import('vuetify/components')['VPagination']
2640
- VSelect: typeof import('vuetify/components')['VSelect']
2644
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2645
+ VRating: typeof import('vuetify/components')['VRating']
2641
2646
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2642
2647
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2643
- VRating: typeof import('vuetify/components')['VRating']
2644
- VSheet: typeof import('vuetify/components')['VSheet']
2645
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2646
2648
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2647
2649
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2650
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2651
+ VSnackbar: typeof import('vuetify/components')['VSnackbar']
2652
+ VSheet: typeof import('vuetify/components')['VSheet']
2653
+ VSelect: typeof import('vuetify/components')['VSelect']
2648
2654
  VStepper: typeof import('vuetify/components')['VStepper']
2649
2655
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
2650
2656
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
2651
2657
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
2652
2658
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2653
2659
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2654
- VSnackbar: typeof import('vuetify/components')['VSnackbar']
2655
2660
  VSlider: typeof import('vuetify/components')['VSlider']
2656
2661
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
2657
- VSwitch: typeof import('vuetify/components')['VSwitch']
2658
- VTextarea: typeof import('vuetify/components')['VTextarea']
2659
2662
  VTable: typeof import('vuetify/components')['VTable']
2660
- VTextField: typeof import('vuetify/components')['VTextField']
2663
+ VSwitch: typeof import('vuetify/components')['VSwitch']
2661
2664
  VTab: typeof import('vuetify/components')['VTab']
2662
2665
  VTabs: typeof import('vuetify/components')['VTabs']
2663
2666
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2664
2667
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2665
- VTooltip: typeof import('vuetify/components')['VTooltip']
2666
- VWindow: typeof import('vuetify/components')['VWindow']
2667
- VWindowItem: typeof import('vuetify/components')['VWindowItem']
2668
+ VTextarea: typeof import('vuetify/components')['VTextarea']
2669
+ VTextField: typeof import('vuetify/components')['VTextField']
2668
2670
  VTimeline: typeof import('vuetify/components')['VTimeline']
2669
2671
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2672
+ VTooltip: typeof import('vuetify/components')['VTooltip']
2670
2673
  VToolbar: typeof import('vuetify/components')['VToolbar']
2671
2674
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2672
2675
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2673
- VMain: typeof import('vuetify/components')['VMain']
2676
+ VWindow: typeof import('vuetify/components')['VWindow']
2677
+ VWindowItem: typeof import('vuetify/components')['VWindowItem']
2678
+ VField: typeof import('vuetify/components')['VField']
2679
+ VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2680
+ VFileInput: typeof import('vuetify/components')['VFileInput']
2674
2681
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2675
2682
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
2676
2683
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2677
- VForm: typeof import('vuetify/components')['VForm']
2678
2684
  VContainer: typeof import('vuetify/components')['VContainer']
2679
2685
  VCol: typeof import('vuetify/components')['VCol']
2680
2686
  VRow: typeof import('vuetify/components')['VRow']
2681
2687
  VSpacer: typeof import('vuetify/components')['VSpacer']
2682
2688
  VHover: typeof import('vuetify/components')['VHover']
2689
+ VForm: typeof import('vuetify/components')['VForm']
2683
2690
  VLayout: typeof import('vuetify/components')['VLayout']
2684
2691
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2685
2692
  VLazy: typeof import('vuetify/components')['VLazy']
2693
+ VKbd: typeof import('vuetify/components')['VKbd']
2686
2694
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2687
2695
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2688
- VRadio: typeof import('vuetify/components')['VRadio']
2689
2696
  VParallax: typeof import('vuetify/components')['VParallax']
2697
+ VRadio: typeof import('vuetify/components')['VRadio']
2690
2698
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2691
2699
  VResponsive: typeof import('vuetify/components')['VResponsive']
2692
- VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2693
2700
  VSparkline: typeof import('vuetify/components')['VSparkline']
2694
2701
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2695
- VValidation: typeof import('vuetify/components')['VValidation']
2696
- VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2697
2702
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2703
+ VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2704
+ VValidation: typeof import('vuetify/components')['VValidation']
2698
2705
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
2699
2706
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
2700
2707
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -2711,28 +2718,40 @@ declare module 'vue' {
2711
2718
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2712
2719
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2713
2720
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2721
+ VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2722
+ VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2714
2723
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2715
2724
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
2716
2725
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
2717
2726
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
2718
2727
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
2719
2728
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
2729
+ VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2720
2730
  VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2721
2731
  VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2722
- VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2732
+ VPicker: typeof import('vuetify/labs/components')['VPicker']
2733
+ VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2734
+ VTreeview: typeof import('vuetify/labs/components')['VTreeview']
2735
+ VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
2736
+ VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
2723
2737
  VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
2724
2738
  VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
2725
2739
  VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
2726
- VPicker: typeof import('vuetify/labs/components')['VPicker']
2727
- VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2728
2740
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2729
2741
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2730
2742
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2743
+ VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
2731
2744
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2732
2745
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
2733
- VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2734
- VTreeview: typeof import('vuetify/labs/components')['VTreeview']
2735
- VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
2736
- VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
2746
+ }
2747
+ export interface GlobalDirectives {
2748
+ vClickOutside: typeof import('vuetify/directives')['ClickOutside']
2749
+ vIntersect: typeof import('vuetify/directives')['Intersect']
2750
+ vMutate: typeof import('vuetify/directives')['Mutate']
2751
+ vResize: typeof import('vuetify/directives')['Resize']
2752
+ vRipple: typeof import('vuetify/directives')['Ripple']
2753
+ vScroll: typeof import('vuetify/directives')['Scroll']
2754
+ vTouch: typeof import('vuetify/directives')['Touch']
2755
+ vTooltip: typeof import('vuetify/directives')['Tooltip']
2737
2756
  }
2738
2757
  }
package/lib/framework.js CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
109
109
  };
110
110
  });
111
111
  }
112
- export const version = "3.8.9-master.2025-06-14";
112
+ export const version = "3.8.10-dev.2025-06-18";
113
113
  createVuetify.version = version;
114
114
 
115
115
  // Vue's inject() can only be used in setup
@@ -1 +1 @@
1
- {"version":3,"file":"framework.js","names":["createDate","DateAdapterSymbol","DateOptionsSymbol","createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createGoTo","GoToSymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","effectScope","nextTick","reactive","defineComponent","IN_BROWSER","mergeDeep","createVuetify","vuetify","arguments","length","undefined","blueprint","rest","options","aliases","components","directives","scope","run","defaults","display","ssr","theme","icons","locale","date","goTo","install","app","key","directive","component","name","aliasName","appScope","onUnmount","stop","provide","instance","$nuxt","hook","update","mount","vm","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","unmount","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDate, DateAdapterSymbol, DateOptionsSymbol } from '@/composables/date/date'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createGoTo, GoToSymbol } from '@/composables/goto'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { effectScope, nextTick, reactive } from 'vue'\nimport { defineComponent, IN_BROWSER, mergeDeep } from '@/util'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DateOptions } from '@/composables/date'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions, SSROptions } from '@/composables/display'\nimport type { GoToOptions } from '@/composables/goto'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\n\n// Exports\nexport * from './composables'\nexport * from './types'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n date?: DateOptions\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n goTo?: GoToOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: SSROptions\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options: VuetifyOptions = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const scope = effectScope()\n return scope.run(() => {\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n const date = createDate(options.date, locale)\n const goTo = createGoTo(options.goTo, locale)\n\n function install (app: App) {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n const appScope = effectScope()\n appScope.run(() => {\n theme.install(app)\n })\n app.onUnmount(() => appScope.stop())\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n app.provide(DateOptionsSymbol, date.options)\n app.provide(DateAdapterSymbol, date.instance)\n app.provide(GoToSymbol, goTo)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n date: inject.call(this, DateAdapterSymbol),\n })\n },\n },\n })\n }\n }\n\n function unmount () {\n scope.stop()\n }\n\n return {\n install,\n unmount,\n defaults,\n display,\n theme,\n icons,\n locale,\n date,\n goTo,\n }\n })!\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"framework.js","names":["createDate","DateAdapterSymbol","DateOptionsSymbol","createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createGoTo","GoToSymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","effectScope","nextTick","reactive","defineComponent","IN_BROWSER","mergeDeep","createVuetify","vuetify","arguments","length","undefined","blueprint","rest","options","aliases","components","directives","scope","run","defaults","display","ssr","theme","icons","locale","date","goTo","install","app","key","directive","component","name","aliasName","appScope","onUnmount","stop","provide","instance","$nuxt","hook","update","mount","vm","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","unmount","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDate, DateAdapterSymbol, DateOptionsSymbol } from '@/composables/date/date'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createGoTo, GoToSymbol } from '@/composables/goto'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { effectScope, nextTick, reactive } from 'vue'\nimport { defineComponent, IN_BROWSER, mergeDeep } from '@/util'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DateOptions } from '@/composables/date'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions, SSROptions } from '@/composables/display'\nimport type { GoToOptions } from '@/composables/goto'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\n\n// Exports\nexport * from './composables'\nexport * from './types'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n date?: DateOptions\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n goTo?: GoToOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: SSROptions\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options: VuetifyOptions = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const scope = effectScope()\n return scope.run(() => {\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n const date = createDate(options.date, locale)\n const goTo = createGoTo(options.goTo, locale)\n\n function install (app: App) {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n const appScope = effectScope()\n appScope.run(() => {\n theme.install(app)\n })\n app.onUnmount(() => appScope.stop())\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n app.provide(DateOptionsSymbol, date.options)\n app.provide(DateAdapterSymbol, date.instance)\n app.provide(GoToSymbol, goTo)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n date: inject.call(this, DateAdapterSymbol),\n })\n },\n },\n })\n }\n }\n\n function unmount () {\n scope.stop()\n }\n\n return {\n install,\n unmount,\n defaults,\n display,\n theme,\n icons,\n locale,\n date,\n goTo,\n }\n })!\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"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","ignoreList":[]}