@vuetify/nightly 3.8.8-dev.2025-06-04 → 3.8.8-master.2025-06-06

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 (172) hide show
  1. package/CHANGELOG.md +5 -37
  2. package/dist/json/attributes.json +3519 -3619
  3. package/dist/json/importMap-labs.json +20 -20
  4. package/dist/json/importMap.json +148 -148
  5. package/dist/json/tags.json +0 -25
  6. package/dist/json/web-types.json +6117 -6449
  7. package/dist/vuetify-labs.cjs +144 -354
  8. package/dist/vuetify-labs.css +5834 -5868
  9. package/dist/vuetify-labs.d.ts +1899 -2397
  10. package/dist/vuetify-labs.esm.js +145 -355
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +144 -354
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +133 -348
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +4252 -4286
  17. package/dist/vuetify.d.ts +1094 -1552
  18. package/dist/vuetify.esm.js +134 -349
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +133 -348
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +1207 -1222
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAlert/VAlert.css +1 -6
  26. package/lib/components/VAlert/VAlert.d.ts +0 -35
  27. package/lib/components/VAlert/VAlert.js +10 -15
  28. package/lib/components/VAlert/VAlert.js.map +1 -1
  29. package/lib/components/VAlert/VAlert.sass +1 -7
  30. package/lib/components/VAppBar/VAppBar.d.ts +3 -15
  31. package/lib/components/VAppBar/VAppBarNavIcon.d.ts +10 -20
  32. package/lib/components/VAutocomplete/VAutocomplete.d.ts +103 -154
  33. package/lib/components/VAutocomplete/VAutocomplete.js +3 -21
  34. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  35. package/lib/components/VBtn/VBtn.d.ts +10 -20
  36. package/lib/components/VBtnGroup/VBtnGroup.css +7 -30
  37. package/lib/components/VBtnGroup/VBtnGroup.d.ts +32 -58
  38. package/lib/components/VBtnGroup/VBtnGroup.js +3 -7
  39. package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
  40. package/lib/components/VBtnGroup/VBtnGroup.sass +17 -44
  41. package/lib/components/VBtnToggle/VBtnToggle.d.ts +0 -25
  42. package/lib/components/VCard/VCard.d.ts +10 -20
  43. package/lib/components/VCheckbox/VCheckbox.d.ts +13 -23
  44. package/lib/components/VCheckbox/VCheckboxBtn.d.ts +10 -20
  45. package/lib/components/VChip/VChip.d.ts +10 -20
  46. package/lib/components/VChipGroup/VChipGroup.d.ts +0 -10
  47. package/lib/components/VCombobox/VCombobox.d.ts +103 -154
  48. package/lib/components/VCombobox/VCombobox.js +3 -22
  49. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  50. package/lib/components/VDataTable/VDataTable.d.ts +0 -60
  51. package/lib/components/VDataTable/VDataTableHeaders.d.ts +0 -13
  52. package/lib/components/VDataTable/VDataTableHeaders.js +2 -4
  53. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  54. package/lib/components/VDataTable/VDataTableServer.d.ts +0 -42
  55. package/lib/components/VDataTable/VDataTableVirtual.d.ts +0 -42
  56. package/lib/components/VDatePicker/VDatePicker.d.ts +0 -10
  57. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +0 -10
  58. package/lib/components/VDatePicker/VDatePickerMonth.js +1 -1
  59. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  60. package/lib/components/VExpansionPanel/VExpansionPanel.d.ts +10 -20
  61. package/lib/components/VExpansionPanel/VExpansionPanelTitle.d.ts +10 -20
  62. package/lib/components/VExpansionPanel/VExpansionPanels.d.ts +10 -20
  63. package/lib/components/VFab/VFab.d.ts +10 -20
  64. package/lib/components/VField/VField.d.ts +3 -3
  65. package/lib/components/VFileInput/VFileInput.d.ts +15 -15
  66. package/lib/components/VInput/VInput.d.ts +4 -4
  67. package/lib/components/VList/VList.d.ts +0 -13
  68. package/lib/components/VList/VList.js +1 -4
  69. package/lib/components/VList/VList.js.map +1 -1
  70. package/lib/components/VList/VListChildren.js.map +1 -1
  71. package/lib/components/VList/VListItem.d.ts +10 -23
  72. package/lib/components/VList/VListItem.js +3 -7
  73. package/lib/components/VList/VListItem.js.map +1 -1
  74. package/lib/components/VList/list.d.ts +2 -9
  75. package/lib/components/VList/list.js +0 -7
  76. package/lib/components/VList/list.js.map +1 -1
  77. package/lib/components/VNumberInput/VNumberInput.d.ts +89 -103
  78. package/lib/components/VNumberInput/VNumberInput.js +4 -19
  79. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  80. package/lib/components/VOtpInput/VOtpInput.js +1 -2
  81. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  82. package/lib/components/VOverlay/VOverlay.css +1 -1
  83. package/lib/components/VOverlay/_variables.scss +1 -1
  84. package/lib/components/VRadio/VRadio.d.ts +10 -20
  85. package/lib/components/VRadioGroup/VRadioGroup.d.ts +13 -23
  86. package/lib/components/VRangeSlider/VRangeSlider.d.ts +3 -3
  87. package/lib/components/VSelect/VSelect.d.ts +107 -171
  88. package/lib/components/VSelect/VSelect.js +3 -21
  89. package/lib/components/VSelect/VSelect.js.map +1 -1
  90. package/lib/components/VSelectionControl/VSelectionControl.d.ts +10 -20
  91. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.d.ts +14 -28
  92. package/lib/components/VSlideGroup/VSlideGroup.d.ts +0 -10
  93. package/lib/components/VSlideGroup/VSlideGroup.js +1 -2
  94. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  95. package/lib/components/VSlider/VSlider.d.ts +3 -3
  96. package/lib/components/VSlider/VSliderThumb.d.ts +10 -20
  97. package/lib/components/VStepper/VStepperItem.d.ts +14 -28
  98. package/lib/components/VSwitch/VSwitch.d.ts +13 -23
  99. package/lib/components/VTable/VTable.css +0 -6
  100. package/lib/components/VTable/VTable.d.ts +24 -55
  101. package/lib/components/VTable/VTable.js +2 -9
  102. package/lib/components/VTable/VTable.js.map +1 -1
  103. package/lib/components/VTable/VTable.sass +0 -14
  104. package/lib/components/VTable/_variables.scss +0 -1
  105. package/lib/components/VTabs/VTab.d.ts +28 -56
  106. package/lib/components/VTabs/VTabs.d.ts +0 -10
  107. package/lib/components/VTextField/VTextField.d.ts +27 -27
  108. package/lib/components/VTextarea/VTextarea.d.ts +15 -15
  109. package/lib/components/VToolbar/VToolbar.d.ts +3 -15
  110. package/lib/components/VToolbar/VToolbar.js +3 -6
  111. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  112. package/lib/composables/calendar.d.ts +0 -6
  113. package/lib/composables/calendar.js +1 -2
  114. package/lib/composables/calendar.js.map +1 -1
  115. package/lib/composables/date/DateAdapter.d.ts +3 -3
  116. package/lib/composables/date/DateAdapter.js.map +1 -1
  117. package/lib/composables/date/adapters/vuetify.d.ts +1 -1
  118. package/lib/composables/date/adapters/vuetify.js +4 -4
  119. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  120. package/lib/composables/date/date.d.ts +3 -3
  121. package/lib/composables/date/index.d.ts +0 -1
  122. package/lib/composables/date/index.js +0 -1
  123. package/lib/composables/date/index.js.map +1 -1
  124. package/lib/composables/filter.js +0 -3
  125. package/lib/composables/filter.js.map +1 -1
  126. package/lib/composables/icons.d.ts +6 -0
  127. package/lib/composables/icons.js.map +1 -1
  128. package/lib/composables/theme.d.ts +1 -6
  129. package/lib/composables/theme.js +26 -94
  130. package/lib/composables/theme.js.map +1 -1
  131. package/lib/composables/virtual.js +1 -6
  132. package/lib/composables/virtual.js.map +1 -1
  133. package/lib/directives/ripple/index.d.ts +1 -2
  134. package/lib/directives/ripple/index.js +7 -12
  135. package/lib/directives/ripple/index.js.map +1 -1
  136. package/lib/entry-bundler.d.ts +3 -3
  137. package/lib/entry-bundler.js +1 -1
  138. package/lib/entry-bundler.js.map +1 -1
  139. package/lib/framework.d.ts +68 -77
  140. package/lib/framework.js +1 -1
  141. package/lib/framework.js.map +1 -1
  142. package/lib/iconsets/fa.js +3 -1
  143. package/lib/iconsets/fa.js.map +1 -1
  144. package/lib/iconsets/fa4.js +3 -1
  145. package/lib/iconsets/fa4.js.map +1 -1
  146. package/lib/iconsets/md.js +3 -1
  147. package/lib/iconsets/md.js.map +1 -1
  148. package/lib/iconsets/mdi-svg.js +3 -1
  149. package/lib/iconsets/mdi-svg.js.map +1 -1
  150. package/lib/labs/VCalendar/VCalendar.d.ts +0 -10
  151. package/lib/labs/VColorInput/VColorInput.d.ts +3 -3
  152. package/lib/labs/VDateInput/VDateInput.d.ts +87 -97
  153. package/lib/labs/VFileUpload/VFileUpload.d.ts +3 -3
  154. package/lib/labs/VFileUpload/VFileUploadItem.d.ts +10 -20
  155. package/lib/labs/VIconBtn/VIconBtn.d.ts +29 -29
  156. package/lib/labs/VIconBtn/VIconBtn.js +11 -7
  157. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  158. package/lib/labs/VStepperVertical/VStepperVertical.d.ts +10 -20
  159. package/lib/labs/VStepperVertical/VStepperVerticalItem.d.ts +10 -20
  160. package/lib/labs/VTreeview/VTreeview.d.ts +0 -13
  161. package/lib/labs/VTreeview/VTreeviewItem.d.ts +10 -20
  162. package/lib/labs/entry-bundler.d.ts +3 -3
  163. package/lib/util/globals.d.ts +0 -1
  164. package/lib/util/globals.js +0 -1
  165. package/lib/util/globals.js.map +1 -1
  166. package/package.json +1 -3
  167. package/lib/composables/date/adapters/string.d.ts +0 -54
  168. package/lib/composables/date/adapters/string.js +0 -153
  169. package/lib/composables/date/adapters/string.js.map +0 -1
  170. package/lib/composables/iconSizes.d.ts +0 -28
  171. package/lib/composables/iconSizes.js +0 -23
  172. package/lib/composables/iconSizes.js.map +0 -1
@@ -189,8 +189,8 @@ function rippleCancelShow(e) {
189
189
  window.clearTimeout(element._ripple.showTimer);
190
190
  }
191
191
  let keyboardRipple = false;
192
- function keyboardRippleShow(e, keys) {
193
- if (!keyboardRipple && keys.includes(e.keyCode)) {
192
+ function keyboardRippleShow(e) {
193
+ if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {
194
194
  keyboardRipple = true;
195
195
  rippleShow(e);
196
196
  }
@@ -218,12 +218,9 @@ function updateRipple(el, binding, wasEnabled) {
218
218
  el._ripple.enabled = enabled;
219
219
  el._ripple.centered = modifiers.center;
220
220
  el._ripple.circle = modifiers.circle;
221
- const bindingValue = isObject(value) ? value : {};
222
- if (bindingValue.class) {
223
- el._ripple.class = bindingValue.class;
221
+ if (isObject(value) && value.class) {
222
+ el._ripple.class = value.class;
224
223
  }
225
- const allowedKeys = bindingValue.keys ?? [keyCodes.enter, keyCodes.space];
226
- el._ripple.keyDownHandler = e => keyboardRippleShow(e, allowedKeys);
227
224
  if (enabled && !wasEnabled) {
228
225
  if (modifiers.stop) {
229
226
  el.addEventListener('touchstart', rippleStop, {
@@ -245,7 +242,7 @@ function updateRipple(el, binding, wasEnabled) {
245
242
  el.addEventListener('mousedown', rippleShow);
246
243
  el.addEventListener('mouseup', rippleHide);
247
244
  el.addEventListener('mouseleave', rippleHide);
248
- el.addEventListener('keydown', e => keyboardRippleShow(e, allowedKeys));
245
+ el.addEventListener('keydown', keyboardRippleShow);
249
246
  el.addEventListener('keyup', keyboardRippleHide);
250
247
  el.addEventListener('blur', focusRippleHide);
251
248
 
@@ -265,9 +262,7 @@ function removeListeners(el) {
265
262
  el.removeEventListener('touchcancel', rippleHide);
266
263
  el.removeEventListener('mouseup', rippleHide);
267
264
  el.removeEventListener('mouseleave', rippleHide);
268
- if (el._ripple?.keyDownHandler) {
269
- el.removeEventListener('keydown', el._ripple.keyDownHandler);
270
- }
265
+ el.removeEventListener('keydown', keyboardRippleShow);
271
266
  el.removeEventListener('keyup', keyboardRippleHide);
272
267
  el.removeEventListener('dragstart', rippleHide);
273
268
  el.removeEventListener('blur', focusRippleHide);
@@ -276,8 +271,8 @@ function mounted(el, binding) {
276
271
  updateRipple(el, binding, false);
277
272
  }
278
273
  function unmounted(el) {
279
- removeListeners(el);
280
274
  delete el._ripple;
275
+ removeListeners(el);
281
276
  }
282
277
  function updated(el, binding) {
283
278
  if (binding.value === binding.oldValue) {
@@ -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","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":[]}
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":[]}
@@ -43,10 +43,10 @@ export declare const createVuetify: {
43
43
  startOfYear: (date: unknown) => unknown;
44
44
  endOfYear: (date: unknown) => unknown;
45
45
  isAfter: (date: unknown, comparing: unknown) => boolean;
46
- isAfterDay: (date: unknown, comparing: unknown) => boolean;
46
+ isAfterDay: (value: unknown, comparing: unknown) => boolean;
47
47
  isSameDay: (date: unknown, comparing: unknown) => boolean;
48
48
  isSameMonth: (date: unknown, comparing: unknown) => boolean;
49
- isSameYear: (date: unknown, comparing: unknown) => boolean;
49
+ isSameYear: (value: unknown, comparing: unknown) => boolean;
50
50
  isBefore: (date: unknown, comparing: unknown) => boolean;
51
51
  isEqual: (date: unknown, comparing: unknown) => boolean;
52
52
  isValid: (date: any) => boolean;
@@ -60,7 +60,7 @@ export declare const createVuetify: {
60
60
  setYear: (date: unknown, year: number) => unknown;
61
61
  getDiff: (date: unknown, comparing: unknown, unit?: string) => number;
62
62
  getWeekArray: (date: unknown, firstDayOfWeek?: number | string) => unknown[][];
63
- getWeekdays: (firstDayOfWeek?: number | string, weekdayFormat?: "long" | "short" | "narrow") => string[];
63
+ getWeekdays: (firstDayOfWeek?: number | string) => string[];
64
64
  getWeek: (date: unknown, firstDayOfWeek?: number | string, firstWeekMinSize?: number) => number;
65
65
  getMonth: (date: unknown) => number;
66
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.8-dev.2025-06-04";
19
+ export const version = "3.8.8-master.2025-06-06";
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,yBAAsB;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,4BAAsB;AAC1CN,aAAa,CAACM,OAAO,GAAGA,OAAO;AAE/B,SACET,UAAU,EACVC,UAAU,EACVC,UAAU;AACX","ignoreList":[]}
@@ -67,10 +67,10 @@ interface DateAdapter<T = unknown> {
67
67
  startOfYear(date: T): T;
68
68
  endOfYear(date: T): T;
69
69
  isAfter(date: T, comparing: T): boolean;
70
- isAfterDay(date: T, comparing: T): boolean;
70
+ isAfterDay(value: T, comparing: T): boolean;
71
71
  isSameDay(date: T, comparing: T): boolean;
72
72
  isSameMonth(date: T, comparing: T): boolean;
73
- isSameYear(date: T, comparing: T): boolean;
73
+ isSameYear(value: T, comparing: T): boolean;
74
74
  isBefore(date: T, comparing: T): boolean;
75
75
  isEqual(date: T, comparing: T): boolean;
76
76
  isValid(date: any): boolean;
@@ -84,7 +84,7 @@ interface DateAdapter<T = unknown> {
84
84
  setYear(date: T, year: number): T;
85
85
  getDiff(date: T, comparing: T | string, unit?: string): number;
86
86
  getWeekArray(date: T, firstDayOfWeek?: number | string): T[][];
87
- getWeekdays(firstDayOfWeek?: number | string, weekdayFormat?: 'long' | 'short' | 'narrow'): string[];
87
+ getWeekdays(firstDayOfWeek?: number | string): string[];
88
88
  getWeek(date: T, firstDayOfWeek?: number | string, firstWeekMinSize?: number): number;
89
89
  getMonth(date: T): number;
90
90
  setMonth(date: T, month: number): T;
@@ -148,12 +148,11 @@ type DeepPartial<T> = T extends object ? {
148
148
  } : T;
149
149
  type ThemeOptions = false | {
150
150
  cspNonce?: string;
151
- defaultTheme?: 'light' | 'dark' | 'system' | string;
151
+ defaultTheme?: string;
152
152
  variations?: false | VariationsOptions;
153
153
  themes?: Record<string, ThemeDefinition>;
154
154
  stylesheetId?: string;
155
155
  scope?: string;
156
- unimportant?: boolean;
157
156
  };
158
157
  type ThemeDefinition = DeepPartial<InternalThemeDefinition>;
159
158
  interface VariationsOptions {
@@ -190,15 +189,11 @@ interface OnColors {
190
189
  'on-info': string;
191
190
  }
192
191
  interface ThemeInstance {
193
- change: (themeName: string) => void;
194
- cycle: (themeArray?: string[]) => void;
195
- toggle: (themeArray?: [string, string]) => void;
196
192
  readonly isDisabled: boolean;
197
193
  readonly themes: Ref<Record<string, InternalThemeDefinition>>;
198
194
  readonly name: Readonly<Ref<string>>;
199
195
  readonly current: DeepReadonly<Ref<InternalThemeDefinition>>;
200
196
  readonly computedThemes: DeepReadonly<Ref<Record<string, InternalThemeDefinition>>>;
201
- readonly prefix: string;
202
197
  readonly themeClasses: Readonly<Ref<string | undefined>>;
203
198
  readonly styles: Readonly<Ref<string>>;
204
199
  readonly global: {
@@ -231,6 +226,7 @@ type IconValue = string | (string | [path: string, opacity: number])[] | JSXComp
231
226
  declare const IconValue: PropType<IconValue>;
232
227
  interface IconAliases {
233
228
  [name: string]: IconValue;
229
+ collapse: IconValue;
234
230
  complete: IconValue;
235
231
  cancel: IconValue;
236
232
  close: IconValue;
@@ -266,6 +262,11 @@ interface IconAliases {
266
262
  plus: IconValue;
267
263
  minus: IconValue;
268
264
  calendar: IconValue;
265
+ treeviewCollapse: IconValue;
266
+ treeviewExpand: IconValue;
267
+ eyeDropper: IconValue;
268
+ upload: IconValue;
269
+ color: IconValue;
269
270
  }
270
271
  interface IconProps {
271
272
  tag: string | JSXComponent;
@@ -2470,10 +2471,10 @@ declare function createVuetify(vuetify?: VuetifyOptions): {
2470
2471
  startOfYear: (date: unknown) => unknown;
2471
2472
  endOfYear: (date: unknown) => unknown;
2472
2473
  isAfter: (date: unknown, comparing: unknown) => boolean;
2473
- isAfterDay: (date: unknown, comparing: unknown) => boolean;
2474
+ isAfterDay: (value: unknown, comparing: unknown) => boolean;
2474
2475
  isSameDay: (date: unknown, comparing: unknown) => boolean;
2475
2476
  isSameMonth: (date: unknown, comparing: unknown) => boolean;
2476
- isSameYear: (date: unknown, comparing: unknown) => boolean;
2477
+ isSameYear: (value: unknown, comparing: unknown) => boolean;
2477
2478
  isBefore: (date: unknown, comparing: unknown) => boolean;
2478
2479
  isEqual: (date: unknown, comparing: unknown) => boolean;
2479
2480
  isValid: (date: any) => boolean;
@@ -2487,7 +2488,7 @@ declare function createVuetify(vuetify?: VuetifyOptions): {
2487
2488
  setYear: (date: unknown, year: number) => unknown;
2488
2489
  getDiff: (date: unknown, comparing: unknown, unit?: string) => number;
2489
2490
  getWeekArray: (date: unknown, firstDayOfWeek?: number | string) => unknown[][];
2490
- getWeekdays: (firstDayOfWeek?: number | string, weekdayFormat?: "long" | "short" | "narrow") => string[];
2491
+ getWeekdays: (firstDayOfWeek?: number | string) => string[];
2491
2492
  getWeek: (date: unknown, firstDayOfWeek?: number | string, firstWeekMinSize?: number) => number;
2492
2493
  getMonth: (date: unknown) => number;
2493
2494
  setMonth: (date: unknown, month: number) => unknown;
@@ -2555,43 +2556,34 @@ declare module 'vue' {
2555
2556
  VAlert: typeof import('vuetify/components')['VAlert']
2556
2557
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2557
2558
  VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2558
- VBadge: typeof import('vuetify/components')['VBadge']
2559
2559
  VAvatar: typeof import('vuetify/components')['VAvatar']
2560
+ VBadge: typeof import('vuetify/components')['VBadge']
2560
2561
  VBanner: typeof import('vuetify/components')['VBanner']
2561
2562
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
2562
2563
  VBannerText: typeof import('vuetify/components')['VBannerText']
2564
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2565
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2563
2566
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2564
2567
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2565
2568
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2569
+ VBtn: typeof import('vuetify/components')['VBtn']
2566
2570
  VCard: typeof import('vuetify/components')['VCard']
2567
2571
  VCardActions: typeof import('vuetify/components')['VCardActions']
2568
2572
  VCardItem: typeof import('vuetify/components')['VCardItem']
2569
2573
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2570
2574
  VCardText: typeof import('vuetify/components')['VCardText']
2571
2575
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2572
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2573
- VBtn: typeof import('vuetify/components')['VBtn']
2574
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2575
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2576
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
2577
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2578
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2579
- VChip: typeof import('vuetify/components')['VChip']
2580
- VCode: typeof import('vuetify/components')['VCode']
2581
2576
  VCarousel: typeof import('vuetify/components')['VCarousel']
2582
2577
  VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2583
- VColorPicker: typeof import('vuetify/components')['VColorPicker']
2584
2578
  VChipGroup: typeof import('vuetify/components')['VChipGroup']
2579
+ VCode: typeof import('vuetify/components')['VCode']
2580
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2581
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
2582
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2585
2583
  VCombobox: typeof import('vuetify/components')['VCombobox']
2586
2584
  VCounter: typeof import('vuetify/components')['VCounter']
2587
- VDivider: typeof import('vuetify/components')['VDivider']
2588
- VDatePicker: typeof import('vuetify/components')['VDatePicker']
2589
- VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2590
- VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2591
- VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2592
- VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2593
- VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2594
- VDialog: typeof import('vuetify/components')['VDialog']
2585
+ VColorPicker: typeof import('vuetify/components')['VColorPicker']
2586
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2595
2587
  VDataTable: typeof import('vuetify/components')['VDataTable']
2596
2588
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2597
2589
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -2599,28 +2591,36 @@ declare module 'vue' {
2599
2591
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2600
2592
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2601
2593
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2594
+ VChip: typeof import('vuetify/components')['VChip']
2595
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
2596
+ VDatePicker: typeof import('vuetify/components')['VDatePicker']
2597
+ VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2598
+ VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2599
+ VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2600
+ VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2601
+ VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2602
+ VDivider: typeof import('vuetify/components')['VDivider']
2603
+ VFab: typeof import('vuetify/components')['VFab']
2602
2604
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2603
2605
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2604
2606
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2605
2607
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2606
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
2607
- VFab: typeof import('vuetify/components')['VFab']
2608
+ VDialog: typeof import('vuetify/components')['VDialog']
2608
2609
  VField: typeof import('vuetify/components')['VField']
2609
2610
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2610
- VFooter: typeof import('vuetify/components')['VFooter']
2611
2611
  VFileInput: typeof import('vuetify/components')['VFileInput']
2612
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2612
+ VFooter: typeof import('vuetify/components')['VFooter']
2613
+ VInput: typeof import('vuetify/components')['VInput']
2613
2614
  VIcon: typeof import('vuetify/components')['VIcon']
2614
2615
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2615
2616
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2616
2617
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2617
2618
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
2618
- VInput: typeof import('vuetify/components')['VInput']
2619
- VImg: typeof import('vuetify/components')['VImg']
2620
- VLabel: typeof import('vuetify/components')['VLabel']
2619
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2621
2620
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
2622
2621
  VItem: typeof import('vuetify/components')['VItem']
2623
- VMenu: typeof import('vuetify/components')['VMenu']
2622
+ VImg: typeof import('vuetify/components')['VImg']
2623
+ VLabel: typeof import('vuetify/components')['VLabel']
2624
2624
  VKbd: typeof import('vuetify/components')['VKbd']
2625
2625
  VList: typeof import('vuetify/components')['VList']
2626
2626
  VListGroup: typeof import('vuetify/components')['VListGroup']
@@ -2631,73 +2631,71 @@ declare module 'vue' {
2631
2631
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2632
2632
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2633
2633
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2634
- VMessages: typeof import('vuetify/components')['VMessages']
2635
2634
  VMain: typeof import('vuetify/components')['VMain']
2636
- VNumberInput: typeof import('vuetify/components')['VNumberInput']
2637
2635
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2636
+ VMenu: typeof import('vuetify/components')['VMenu']
2637
+ VMessages: typeof import('vuetify/components')['VMessages']
2638
2638
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
2639
- VOverlay: typeof import('vuetify/components')['VOverlay']
2639
+ VNumberInput: typeof import('vuetify/components')['VNumberInput']
2640
2640
  VPagination: typeof import('vuetify/components')['VPagination']
2641
2641
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2642
+ VOverlay: typeof import('vuetify/components')['VOverlay']
2642
2643
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2643
2644
  VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2644
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2645
2645
  VRating: typeof import('vuetify/components')['VRating']
2646
- VSelect: typeof import('vuetify/components')['VSelect']
2646
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2647
2647
  VSheet: typeof import('vuetify/components')['VSheet']
2648
- VSnackbar: typeof import('vuetify/components')['VSnackbar']
2648
+ VSelect: typeof import('vuetify/components')['VSelect']
2649
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2650
+ VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2649
2651
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2650
2652
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2651
2653
  VSlider: typeof import('vuetify/components')['VSlider']
2652
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2654
+ VTextField: typeof import('vuetify/components')['VTextField']
2653
2655
  VStepper: typeof import('vuetify/components')['VStepper']
2654
2656
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
2655
2657
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
2656
2658
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
2657
2659
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2658
2660
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2661
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
2662
+ VSnackbar: typeof import('vuetify/components')['VSnackbar']
2659
2663
  VTab: typeof import('vuetify/components')['VTab']
2660
2664
  VTabs: typeof import('vuetify/components')['VTabs']
2661
2665
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2662
2666
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2663
- VSwitch: typeof import('vuetify/components')['VSwitch']
2664
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
2665
- VTable: typeof import('vuetify/components')['VTable']
2666
- VTimeline: typeof import('vuetify/components')['VTimeline']
2667
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2668
2667
  VTextarea: typeof import('vuetify/components')['VTextarea']
2669
- VTextField: typeof import('vuetify/components')['VTextField']
2668
+ VTable: typeof import('vuetify/components')['VTable']
2670
2669
  VWindow: typeof import('vuetify/components')['VWindow']
2671
2670
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
2672
- VTooltip: typeof import('vuetify/components')['VTooltip']
2673
2671
  VToolbar: typeof import('vuetify/components')['VToolbar']
2674
2672
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2675
2673
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2674
+ VTooltip: typeof import('vuetify/components')['VTooltip']
2675
+ VSwitch: typeof import('vuetify/components')['VSwitch']
2676
2676
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2677
2677
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
2678
2678
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2679
- VForm: typeof import('vuetify/components')['VForm']
2680
2679
  VContainer: typeof import('vuetify/components')['VContainer']
2681
2680
  VCol: typeof import('vuetify/components')['VCol']
2682
2681
  VRow: typeof import('vuetify/components')['VRow']
2683
2682
  VSpacer: typeof import('vuetify/components')['VSpacer']
2684
2683
  VHover: typeof import('vuetify/components')['VHover']
2684
+ VForm: typeof import('vuetify/components')['VForm']
2685
+ VLazy: typeof import('vuetify/components')['VLazy']
2685
2686
  VLayout: typeof import('vuetify/components')['VLayout']
2686
2687
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2687
- VLazy: typeof import('vuetify/components')['VLazy']
2688
- VNoSsr: typeof import('vuetify/components')['VNoSsr']
2689
2688
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2689
+ VNoSsr: typeof import('vuetify/components')['VNoSsr']
2690
2690
  VParallax: typeof import('vuetify/components')['VParallax']
2691
- VRadio: typeof import('vuetify/components')['VRadio']
2692
2691
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2693
2692
  VResponsive: typeof import('vuetify/components')['VResponsive']
2694
- VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2693
+ VRadio: typeof import('vuetify/components')['VRadio']
2695
2694
  VSparkline: typeof import('vuetify/components')['VSparkline']
2696
2695
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2697
2696
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2698
2697
  VValidation: typeof import('vuetify/components')['VValidation']
2699
2698
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2700
- VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2701
2699
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
2702
2700
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
2703
2701
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -2714,38 +2712,31 @@ declare module 'vue' {
2714
2712
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2715
2713
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2716
2714
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2715
+ VTimeline: typeof import('vuetify/components')['VTimeline']
2716
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2717
+ VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2717
2718
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2718
2719
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
2719
2720
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
2720
2721
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
2721
2722
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
2722
2723
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
2723
- VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2724
- VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2725
- VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2726
2724
  VPicker: typeof import('vuetify/labs/components')['VPicker']
2727
2725
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2728
- VTreeview: typeof import('vuetify/labs/components')['VTreeview']
2729
- VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
2730
- VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
2726
+ VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2731
2727
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2732
2728
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2733
2729
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2734
- VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2730
+ VTreeview: typeof import('vuetify/labs/components')['VTreeview']
2731
+ VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
2732
+ VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
2733
+ VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2734
+ VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2735
+ VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2735
2736
  VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
2736
2737
  VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
2737
2738
  VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
2738
2739
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
2739
- VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2740
- }
2741
- export interface GlobalDirectives {
2742
- vClickOutside: typeof import('vuetify/directives')['ClickOutside']
2743
- vIntersect: typeof import('vuetify/directives')['Intersect']
2744
- vMutate: typeof import('vuetify/directives')['Mutate']
2745
- vResize: typeof import('vuetify/directives')['Resize']
2746
- vRipple: typeof import('vuetify/directives')['Ripple']
2747
- vScroll: typeof import('vuetify/directives')['Scroll']
2748
- vTouch: typeof import('vuetify/directives')['Touch']
2749
- vTooltip: typeof import('vuetify/directives')['Tooltip']
2740
+ VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2750
2741
  }
2751
2742
  }
package/lib/framework.js CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
109
109
  };
110
110
  });
111
111
  }
112
- export const version = "3.8.8-dev.2025-06-04";
112
+ export const version = "3.8.8-master.2025-06-06";
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":"AAAA;AAAA,SACSA,UAAU,EAAEC,iBAAiB,EAAEC,iBAAiB;AAAA,SAChDC,cAAc,EAAEC,cAAc;AAAA,SAC9BC,aAAa,EAAEC,aAAa;AAAA,SAC5BC,UAAU,EAAEC,UAAU;AAAA,SACtBC,WAAW,EAAEC,UAAU;AAAA,SACvBC,YAAY,EAAEC,YAAY;AAAA,SAC1BC,WAAW,EAAEC,WAAW,kCAEjC;AACA,SAASC,WAAW,EAAEC,QAAQ,EAAEC,QAAQ,QAAQ,KAAK;AAAA,SAC5CC,eAAe,EAAEC,UAAU,EAAEC,SAAS,2BAE/C;AAUA;AAAA;AAAA;AAqBA,OAAO,SAASC,aAAaA,CAAA,EAAgC;EAAA,IAA9BC,OAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACzD,MAAM;IAAEG,SAAS;IAAE,GAAGC;EAAK,CAAC,GAAGL,OAAO;EACtC,MAAMM,OAAuB,GAAGR,SAAS,CAACM,SAAS,EAAEC,IAAI,CAAC;EAC1D,MAAM;IACJE,OAAO,GAAG,CAAC,CAAC;IACZC,UAAU,GAAG,CAAC,CAAC;IACfC,UAAU,GAAG,CAAC;EAChB,CAAC,GAAGH,OAAO;EAEX,MAAMI,KAAK,GAAGjB,WAAW,CAAC,CAAC;EAC3B,OAAOiB,KAAK,CAACC,GAAG,CAAC,MAAM;IACrB,MAAMC,QAAQ,GAAG/B,cAAc,CAACyB,OAAO,CAACM,QAAQ,CAAC;IACjD,MAAMC,OAAO,GAAG9B,aAAa,CAACuB,OAAO,CAACO,OAAO,EAAEP,OAAO,CAACQ,GAAG,CAAC;IAC3D,MAAMC,KAAK,GAAGxB,WAAW,CAACe,OAAO,CAACS,KAAK,CAAC;IACxC,MAAMC,KAAK,GAAG7B,WAAW,CAACmB,OAAO,CAACU,KAAK,CAAC;IACxC,MAAMC,MAAM,GAAG5B,YAAY,CAACiB,OAAO,CAACW,MAAM,CAAC;IAC3C,MAAMC,IAAI,GAAGxC,UAAU,CAAC4B,OAAO,CAACY,IAAI,EAAED,MAAM,CAAC;IAC7C,MAAME,IAAI,GAAGlC,UAAU,CAACqB,OAAO,CAACa,IAAI,EAAEF,MAAM,CAAC;IAE7C,SAASG,OAAOA,CAAEC,GAAQ,EAAE;MAC1B,KAAK,MAAMC,GAAG,IAAIb,UAAU,EAAE;QAC5BY,GAAG,CAACE,SAAS,CAACD,GAAG,EAAEb,UAAU,CAACa,GAAG,CAAC,CAAC;MACrC;MAEA,KAAK,MAAMA,GAAG,IAAId,UAAU,EAAE;QAC5Ba,GAAG,CAACG,SAAS,CAACF,GAAG,EAAEd,UAAU,CAACc,GAAG,CAAC,CAAC;MACrC;MAEA,KAAK,MAAMA,GAAG,IAAIf,OAAO,EAAE;QACzBc,GAAG,CAACG,SAAS,CAACF,GAAG,EAAE1B,eAAe,CAAC;UACjC,GAAGW,OAAO,CAACe,GAAG,CAAC;UACfG,IAAI,EAAEH,GAAG;UACTI,SAAS,EAAEnB,OAAO,CAACe,GAAG,CAAC,CAACG;QAC1B,CAAC,CAAC,CAAC;MACL;MAEA,MAAME,QAAQ,GAAGlC,WAAW,CAAC,CAAC;MAC9BkC,QAAQ,CAAChB,GAAG,CAAC,MAAM;QACjBI,KAAK,CAACK,OAAO,CAACC,GAAG,CAAC;MACpB,CAAC,CAAC;MACFA,GAAG,CAACO,SAAS,CAAC,MAAMD,QAAQ,CAACE,IAAI,CAAC,CAAC,CAAC;MAEpCR,GAAG,CAACS,OAAO,CAAChD,cAAc,EAAE8B,QAAQ,CAAC;MACrCS,GAAG,CAACS,OAAO,CAAC9C,aAAa,EAAE6B,OAAO,CAAC;MACnCQ,GAAG,CAACS,OAAO,CAACtC,WAAW,EAAEuB,KAAK,CAAC;MAC/BM,GAAG,CAACS,OAAO,CAAC1C,UAAU,EAAE4B,KAAK,CAAC;MAC9BK,GAAG,CAACS,OAAO,CAACxC,YAAY,EAAE2B,MAAM,CAAC;MACjCI,GAAG,CAACS,OAAO,CAAClD,iBAAiB,EAAEsC,IAAI,CAACZ,OAAO,CAAC;MAC5Ce,GAAG,CAACS,OAAO,CAACnD,iBAAiB,EAAEuC,IAAI,CAACa,QAAQ,CAAC;MAC7CV,GAAG,CAACS,OAAO,CAAC5C,UAAU,EAAEiC,IAAI,CAAC;MAE7B,IAAItB,UAAU,IAAIS,OAAO,CAACQ,GAAG,EAAE;QAC7B,IAAIO,GAAG,CAACW,KAAK,EAAE;UACbX,GAAG,CAACW,KAAK,CAACC,IAAI,CAAC,sBAAsB,EAAE,MAAM;YAC3CpB,OAAO,CAACqB,MAAM,CAAC,CAAC;UAClB,CAAC,CAAC;QACJ,CAAC,MAAM;UACL,MAAM;YAAEC;UAAM,CAAC,GAAGd,GAAG;UACrBA,GAAG,CAACc,KAAK,GAAG,YAAa;YACvB,MAAMC,EAAE,GAAGD,KAAK,CAAC,GAAAlC,SAAO,CAAC;YACzBP,QAAQ,CAAC,MAAMmB,OAAO,CAACqB,MAAM,CAAC,CAAC,CAAC;YAChCb,GAAG,CAACc,KAAK,GAAGA,KAAK;YACjB,OAAOC,EAAE;UACX,CAAC;QACH;MACF;MAEA,IAAI,OAAOC,mBAAmB,KAAK,SAAS,IAAIA,mBAAmB,EAAE;QACnEhB,GAAG,CAACiB,KAAK,CAAC;UACRC,QAAQ,EAAE;YACRC,QAAQA,CAAA,EAAI;cACV,OAAO7C,QAAQ,CAAC;gBACdiB,QAAQ,EAAE6B,MAAM,CAACC,IAAI,CAAC,IAAI,EAAE5D,cAAc,CAAC;gBAC3C+B,OAAO,EAAE4B,MAAM,CAACC,IAAI,CAAC,IAAI,EAAE1D,aAAa,CAAC;gBACzC+B,KAAK,EAAE0B,MAAM,CAACC,IAAI,CAAC,IAAI,EAAElD,WAAW,CAAC;gBACrCwB,KAAK,EAAEyB,MAAM,CAACC,IAAI,CAAC,IAAI,EAAEtD,UAAU,CAAC;gBACpC6B,MAAM,EAAEwB,MAAM,CAACC,IAAI,CAAC,IAAI,EAAEpD,YAAY,CAAC;gBACvC4B,IAAI,EAAEuB,MAAM,CAACC,IAAI,CAAC,IAAI,EAAE/D,iBAAiB;cAC3C,CAAC,CAAC;YACJ;UACF;QACF,CAAC,CAAC;MACJ;IACF;IAEA,SAASgE,OAAOA,CAAA,EAAI;MAClBjC,KAAK,CAACmB,IAAI,CAAC,CAAC;IACd;IAEA,OAAO;MACLT,OAAO;MACPuB,OAAO;MACP/B,QAAQ;MACRC,OAAO;MACPE,KAAK;MACLC,KAAK;MACLC,MAAM;MACNC,IAAI;MACJC;IACF,CAAC;EACH,CAAC,CAAC;AACJ;AAEA,OAAO,MAAMyB,OAAO,4BAAsB;AAC1C7C,aAAa,CAAC6C,OAAO,GAAGA,OAAO;;AAE/B;AACA,SAASH,MAAMA,CAAiCnB,GAA+B,EAAE;EAC/E,MAAMc,EAAE,GAAG,IAAI,CAACS,CAAC;EAEjB,MAAMC,QAAQ,GAAGV,EAAE,CAACW,MAAM,EAAED,QAAQ,IAAIV,EAAE,CAACY,KAAK,CAACC,UAAU,EAAEH,QAAQ;EAErE,IAAIA,QAAQ,IAAKxB,GAAG,IAAYwB,QAAQ,EAAE;IACxC,OAAOA,QAAQ,CAAExB,GAAG,CAAY;EAClC;AACF","ignoreList":[]}