@vuetify/nightly 3.7.11-master.2025-02-08 → 3.7.11-master.2025-02-10

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.
@@ -22,6 +22,7 @@ html.v-overlay-scroll-blocked {
22
22
  }
23
23
 
24
24
  .v-overlay {
25
+ --v-overlay-opacity: 0.32;
25
26
  border-radius: inherit;
26
27
  display: flex;
27
28
  left: 0;
@@ -45,7 +46,7 @@ html.v-overlay-scroll-blocked {
45
46
  border-radius: inherit;
46
47
  bottom: 0;
47
48
  left: 0;
48
- opacity: var(--v-overlay-opacity, 0.32);
49
+ opacity: var(--v-overlay-opacity);
49
50
  position: fixed;
50
51
  right: 0;
51
52
  top: 0;
@@ -26,6 +26,7 @@
26
26
  height: 100%
27
27
 
28
28
  .v-overlay
29
+ --v-overlay-opacity: #{$overlay-opacity}
29
30
  border-radius: inherit
30
31
  display: flex
31
32
  left: 0
@@ -48,7 +49,7 @@
48
49
  border-radius: inherit
49
50
  bottom: 0
50
51
  left: 0
51
- opacity: $overlay-opacity
52
+ opacity: var(--v-overlay-opacity)
52
53
  position: fixed
53
54
  right: 0
54
55
  top: 0
@@ -1,3 +1,3 @@
1
1
  // Defaults
2
- $overlay-opacity: var(--v-overlay-opacity, 0.32) !default;
2
+ $overlay-opacity: 0.32 !default;
3
3
  $overlay-scrim-background: rgb(var(--v-theme-on-surface)) !default;
@@ -137,6 +137,8 @@ export const useSlider = _ref => {
137
137
  const trackContainerRef = ref();
138
138
  const activeThumbRef = ref();
139
139
  function parseMouseMove(e) {
140
+ const el = trackContainerRef.value?.$el;
141
+ if (!el) return;
140
142
  const vertical = props.direction === 'vertical';
141
143
  const start = vertical ? 'top' : 'left';
142
144
  const length = vertical ? 'height' : 'width';
@@ -144,7 +146,7 @@ export const useSlider = _ref => {
144
146
  const {
145
147
  [start]: trackStart,
146
148
  [length]: trackLength
147
- } = trackContainerRef.value?.$el.getBoundingClientRect();
149
+ } = el.getBoundingClientRect();
148
150
  const clickOffset = getPosition(e, position);
149
151
 
150
152
  // It is possible for left to be NaN, force to number
@@ -153,13 +155,17 @@ export const useSlider = _ref => {
153
155
  return roundValue(min.value + clickPos * (max.value - min.value));
154
156
  }
155
157
  const handleStop = e => {
156
- onSliderEnd({
157
- value: parseMouseMove(e)
158
- });
158
+ const value = parseMouseMove(e);
159
+ if (value != null) {
160
+ onSliderEnd({
161
+ value
162
+ });
163
+ }
159
164
  mousePressed.value = false;
160
165
  startOffset.value = 0;
161
166
  };
162
167
  const handleStart = e => {
168
+ const value = parseMouseMove(e);
163
169
  activeThumbRef.value = getActiveThumb(e);
164
170
  if (!activeThumbRef.value) return;
165
171
  mousePressed.value = true;
@@ -167,13 +173,17 @@ export const useSlider = _ref => {
167
173
  startOffset.value = getOffset(e, activeThumbRef.value, props.direction);
168
174
  } else {
169
175
  startOffset.value = 0;
170
- onSliderMove({
171
- value: parseMouseMove(e)
176
+ if (value != null) {
177
+ onSliderMove({
178
+ value
179
+ });
180
+ }
181
+ }
182
+ if (value != null) {
183
+ onSliderStart({
184
+ value
172
185
  });
173
186
  }
174
- onSliderStart({
175
- value: parseMouseMove(e)
176
- });
177
187
  nextTick(() => activeThumbRef.value?.focus());
178
188
  };
179
189
  const moveListenerOptions = {
@@ -181,9 +191,12 @@ export const useSlider = _ref => {
181
191
  capture: true
182
192
  };
183
193
  function onMouseMove(e) {
184
- onSliderMove({
185
- value: parseMouseMove(e)
186
- });
194
+ const value = parseMouseMove(e);
195
+ if (value != null) {
196
+ onSliderMove({
197
+ value
198
+ });
199
+ }
187
200
  }
188
201
  function onSliderMouseUp(e) {
189
202
  e.stopPropagation();
@@ -1 +1 @@
1
- {"version":3,"file":"slider.mjs","names":["makeElevationProps","useRtl","makeRoundedProps","computed","nextTick","provide","ref","shallowRef","toRef","clamp","createRange","getDecimals","propsFactory","VSliderSymbol","Symbol","for","getOffset","e","el","direction","vertical","rect","getBoundingClientRect","touch","touches","clientY","top","height","clientX","left","width","getPosition","position","length","changedTouches","makeSliderProps","disabled","type","Boolean","default","error","readonly","max","Number","String","min","step","thumbColor","thumbLabel","undefined","validator","v","thumbSize","showTicks","ticks","Array","Object","tickSize","color","trackColor","trackFillColor","trackSize","includes","reverse","elevation","ripple","useSteps","props","parseFloat","decimals","Math","value","roundValue","clamped","offset","newValue","round","toFixed","useSlider","_ref","steps","onSliderStart","onSliderMove","onSliderEnd","getActiveThumb","isRtl","isReversed","indexFromEnd","parseInt","numTicks","mousePressed","startOffset","trackContainerRef","activeThumbRef","parseMouseMove","start","trackStart","trackLength","$el","clickOffset","clickPos","handleStop","handleStart","contains","target","focus","moveListenerOptions","passive","capture","onMouseMove","onSliderMouseUp","stopPropagation","preventDefault","window","removeEventListener","onSliderTouchend","onSliderTouchstart","addEventListener","onSliderMousedown","val","percentage","isNaN","parsedTicks","Infinity","map","t","isArray","label","toString","keys","key","hasLabels","some","_ref2","data","rounded"],"sources":["../../../src/components/VSlider/slider.ts"],"sourcesContent":["/* eslint-disable max-statements */\n// Composables\nimport { makeElevationProps } from '@/composables/elevation'\nimport { useRtl } from '@/composables/locale'\nimport { makeRoundedProps } from '@/composables/rounded'\n\n// Utilities\nimport { computed, nextTick, provide, ref, shallowRef, toRef } from 'vue'\nimport { clamp, createRange, getDecimals, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, InjectionKey, PropType, Ref } from 'vue'\nimport type { VSliderTrack } from './VSliderTrack'\n\nexport type Tick = {\n value: number\n position: number\n label?: string\n}\n\ntype SliderProvide = {\n activeThumbRef: Ref<HTMLElement | undefined>\n color: Ref<string | undefined>\n decimals: Ref<number>\n direction: Ref<'vertical' | 'horizontal'>\n disabled: Ref<boolean | null | undefined>\n elevation: Ref<number | string | undefined>\n min: Ref<number>\n max: Ref<number>\n mousePressed: Ref<boolean>\n numTicks: Ref<number>\n onSliderMousedown: (e: MouseEvent) => void\n onSliderTouchstart: (e: TouchEvent) => void\n parseMouseMove: (e: MouseEvent | TouchEvent) => number\n position: (val: number) => number\n readonly: Ref<boolean | null | undefined>\n rounded: Ref<boolean | number | string | undefined>\n roundValue: (value: number) => number\n thumbLabel: Ref<boolean | string | undefined>\n showTicks: Ref<boolean | 'always'>\n startOffset: Ref<number>\n step: Ref<number>\n thumbSize: Ref<number>\n thumbColor: Ref<string | undefined>\n trackColor: Ref<string | undefined>\n trackFillColor: Ref<string | undefined>\n trackSize: Ref<number>\n ticks: Ref<readonly number[] | Record<string, string> | undefined>\n tickSize: Ref<number>\n trackContainerRef: Ref<VSliderTrack | undefined>\n vertical: Ref<boolean>\n parsedTicks: Ref<Tick[]>\n hasLabels: Ref<boolean>\n isReversed: Ref<boolean>\n indexFromEnd: Ref<boolean>\n}\n\nexport const VSliderSymbol: InjectionKey<SliderProvide> = Symbol.for('vuetify:v-slider')\n\nexport function getOffset (e: MouseEvent | TouchEvent, el: HTMLElement, direction: string) {\n const vertical = direction === 'vertical'\n const rect = el.getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n return vertical\n ? touch.clientY - (rect.top + rect.height / 2)\n : touch.clientX - (rect.left + rect.width / 2)\n}\n\nfunction getPosition (e: MouseEvent | TouchEvent, position: 'clientX' | 'clientY'): number {\n if ('touches' in e && e.touches.length) return e.touches[0][position]\n else if ('changedTouches' in e && e.changedTouches.length) return e.changedTouches[0][position]\n else return (e as MouseEvent)[position]\n}\n\nexport const makeSliderProps = propsFactory({\n disabled: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n error: Boolean,\n readonly: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 0,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType<boolean | 'always' | undefined>,\n default: undefined,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n thumbSize: {\n type: [Number, String],\n default: 20,\n },\n showTicks: {\n type: [Boolean, String] as PropType<boolean | 'always'>,\n default: false,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n ticks: {\n type: [Array, Object] as PropType<readonly number[] | Record<number, string>>,\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n color: String,\n trackColor: String,\n trackFillColor: String,\n trackSize: {\n type: [Number, String],\n default: 4,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n },\n reverse: Boolean,\n\n ...makeRoundedProps(),\n ...makeElevationProps({\n elevation: 2,\n }),\n ripple: {\n type: Boolean,\n default: true,\n },\n}, 'Slider')\n\ntype SliderProps = ExtractPropTypes<ReturnType<typeof makeSliderProps>>\n\ntype SliderData = {\n value: number\n}\n\nexport const useSteps = (props: SliderProps) => {\n const min = computed(() => parseFloat(props.min))\n const max = computed(() => parseFloat(props.max))\n const step = computed(() => +props.step > 0 ? parseFloat(props.step) : 0)\n const decimals = computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)))\n\n function roundValue (value: string | number) {\n value = parseFloat(value)\n\n if (step.value <= 0) return value\n\n const clamped = clamp(value, min.value, max.value)\n const offset = min.value % step.value\n const newValue = Math.round((clamped - offset) / step.value) * step.value + offset\n\n return parseFloat(Math.min(newValue, max.value).toFixed(decimals.value))\n }\n\n return { min, max, step, decimals, roundValue }\n}\n\nexport const useSlider = ({\n props,\n steps,\n onSliderStart,\n onSliderMove,\n onSliderEnd,\n getActiveThumb,\n}: {\n props: SliderProps\n steps: ReturnType<typeof useSteps>\n onSliderEnd: (data: SliderData) => void\n onSliderStart: (data: SliderData) => void\n onSliderMove: (data: SliderData) => void\n getActiveThumb: (e: MouseEvent | TouchEvent) => HTMLElement\n}) => {\n const { isRtl } = useRtl()\n const isReversed = toRef(props, 'reverse')\n const vertical = computed(() => props.direction === 'vertical')\n const indexFromEnd = computed(() => vertical.value !== isReversed.value)\n\n const { min, max, step, decimals, roundValue } = steps\n\n const thumbSize = computed(() => parseInt(props.thumbSize, 10))\n const tickSize = computed(() => parseInt(props.tickSize, 10))\n const trackSize = computed(() => parseInt(props.trackSize, 10))\n const numTicks = computed(() => (max.value - min.value) / step.value)\n const disabled = toRef(props, 'disabled')\n\n const thumbColor = computed(() => props.error || props.disabled ? undefined : props.thumbColor ?? props.color)\n const trackColor = computed(() => props.error || props.disabled ? undefined : props.trackColor ?? props.color)\n const trackFillColor = computed(() => props.error || props.disabled ? undefined : props.trackFillColor ?? props.color)\n\n const mousePressed = shallowRef(false)\n\n const startOffset = shallowRef(0)\n const trackContainerRef = ref<VSliderTrack | undefined>()\n const activeThumbRef = ref<HTMLElement | undefined>()\n\n function parseMouseMove (e: MouseEvent | TouchEvent): number {\n const vertical = props.direction === 'vertical'\n const start = vertical ? 'top' : 'left'\n const length = vertical ? 'height' : 'width'\n const position = vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = trackContainerRef.value?.$el.getBoundingClientRect()\n const clickOffset = getPosition(e, position)\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - startOffset.value) / trackLength, 0), 1) || 0\n\n if (vertical ? indexFromEnd.value : indexFromEnd.value !== isRtl.value) clickPos = 1 - clickPos\n\n return roundValue(min.value + clickPos * (max.value - min.value))\n }\n\n const handleStop = (e: MouseEvent | TouchEvent) => {\n onSliderEnd({ value: parseMouseMove(e) })\n\n mousePressed.value = false\n startOffset.value = 0\n }\n\n const handleStart = (e: MouseEvent | TouchEvent) => {\n activeThumbRef.value = getActiveThumb(e)\n\n if (!activeThumbRef.value) return\n\n mousePressed.value = true\n\n if (activeThumbRef.value.contains(e.target as Node)) {\n startOffset.value = getOffset(e, activeThumbRef.value, props.direction)\n } else {\n startOffset.value = 0\n onSliderMove({ value: parseMouseMove(e) })\n }\n\n onSliderStart({ value: parseMouseMove(e) })\n nextTick(() => activeThumbRef.value?.focus())\n }\n\n const moveListenerOptions = { passive: true, capture: true }\n\n function onMouseMove (e: MouseEvent | TouchEvent) {\n onSliderMove({ value: parseMouseMove(e) })\n }\n\n function onSliderMouseUp (e: MouseEvent) {\n e.stopPropagation()\n e.preventDefault()\n\n handleStop(e)\n\n window.removeEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.removeEventListener('mouseup', onSliderMouseUp)\n }\n\n function onSliderTouchend (e: TouchEvent) {\n handleStop(e)\n\n window.removeEventListener('touchmove', onMouseMove, moveListenerOptions)\n e.target?.removeEventListener('touchend', onSliderTouchend as EventListener)\n }\n\n function onSliderTouchstart (e: TouchEvent) {\n handleStart(e)\n\n window.addEventListener('touchmove', onMouseMove, moveListenerOptions)\n e.target?.addEventListener('touchend', onSliderTouchend as EventListener, { passive: false })\n }\n\n function onSliderMousedown (e: MouseEvent) {\n e.preventDefault()\n\n handleStart(e)\n\n window.addEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.addEventListener('mouseup', onSliderMouseUp, { passive: false })\n }\n\n const position = (val: number) => {\n const percentage = (val - min.value) / (max.value - min.value) * 100\n return clamp(isNaN(percentage) ? 0 : percentage, 0, 100)\n }\n\n const showTicks = toRef(props, 'showTicks')\n const parsedTicks = computed<Tick[]>(() => {\n if (!showTicks.value) return []\n\n if (!props.ticks) {\n return numTicks.value !== Infinity ? createRange(numTicks.value + 1).map(t => {\n const value = min.value + (t * step.value)\n return {\n value,\n position: position(value),\n }\n }) : []\n }\n if (Array.isArray(props.ticks)) return props.ticks.map(t => ({ value: t, position: position(t), label: t.toString() }))\n return Object.keys(props.ticks).map(key => ({\n value: parseFloat(key),\n position: position(parseFloat(key)),\n label: (props.ticks as Record<string, string>)[key],\n }))\n })\n\n const hasLabels = computed(() => parsedTicks.value.some(({ label }) => !!label))\n\n const data: SliderProvide = {\n activeThumbRef,\n color: toRef(props, 'color'),\n decimals,\n disabled,\n direction: toRef(props, 'direction'),\n elevation: toRef(props, 'elevation'),\n hasLabels,\n isReversed,\n indexFromEnd,\n min,\n max,\n mousePressed,\n numTicks,\n onSliderMousedown,\n onSliderTouchstart,\n parsedTicks,\n parseMouseMove,\n position,\n readonly: toRef(props, 'readonly'),\n rounded: toRef(props, 'rounded'),\n roundValue,\n showTicks,\n startOffset,\n step,\n thumbSize,\n thumbColor,\n thumbLabel: toRef(props, 'thumbLabel'),\n ticks: toRef(props, 'ticks'),\n tickSize,\n trackColor,\n trackContainerRef,\n trackFillColor,\n trackSize,\n vertical,\n }\n\n provide(VSliderSymbol, data)\n\n return data\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"slider.mjs","names":["makeElevationProps","useRtl","makeRoundedProps","computed","nextTick","provide","ref","shallowRef","toRef","clamp","createRange","getDecimals","propsFactory","VSliderSymbol","Symbol","for","getOffset","e","el","direction","vertical","rect","getBoundingClientRect","touch","touches","clientY","top","height","clientX","left","width","getPosition","position","length","changedTouches","makeSliderProps","disabled","type","Boolean","default","error","readonly","max","Number","String","min","step","thumbColor","thumbLabel","undefined","validator","v","thumbSize","showTicks","ticks","Array","Object","tickSize","color","trackColor","trackFillColor","trackSize","includes","reverse","elevation","ripple","useSteps","props","parseFloat","decimals","Math","value","roundValue","clamped","offset","newValue","round","toFixed","useSlider","_ref","steps","onSliderStart","onSliderMove","onSliderEnd","getActiveThumb","isRtl","isReversed","indexFromEnd","parseInt","numTicks","mousePressed","startOffset","trackContainerRef","activeThumbRef","parseMouseMove","$el","start","trackStart","trackLength","clickOffset","clickPos","handleStop","handleStart","contains","target","focus","moveListenerOptions","passive","capture","onMouseMove","onSliderMouseUp","stopPropagation","preventDefault","window","removeEventListener","onSliderTouchend","onSliderTouchstart","addEventListener","onSliderMousedown","val","percentage","isNaN","parsedTicks","Infinity","map","t","isArray","label","toString","keys","key","hasLabels","some","_ref2","data","rounded"],"sources":["../../../src/components/VSlider/slider.ts"],"sourcesContent":["/* eslint-disable max-statements */\n// Composables\nimport { makeElevationProps } from '@/composables/elevation'\nimport { useRtl } from '@/composables/locale'\nimport { makeRoundedProps } from '@/composables/rounded'\n\n// Utilities\nimport { computed, nextTick, provide, ref, shallowRef, toRef } from 'vue'\nimport { clamp, createRange, getDecimals, propsFactory } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, InjectionKey, PropType, Ref } from 'vue'\nimport type { VSliderTrack } from './VSliderTrack'\n\nexport type Tick = {\n value: number\n position: number\n label?: string\n}\n\ntype SliderProvide = {\n activeThumbRef: Ref<HTMLElement | undefined>\n color: Ref<string | undefined>\n decimals: Ref<number>\n direction: Ref<'vertical' | 'horizontal'>\n disabled: Ref<boolean | null | undefined>\n elevation: Ref<number | string | undefined>\n min: Ref<number>\n max: Ref<number>\n mousePressed: Ref<boolean>\n numTicks: Ref<number>\n onSliderMousedown: (e: MouseEvent) => void\n onSliderTouchstart: (e: TouchEvent) => void\n parseMouseMove: (e: MouseEvent | TouchEvent) => number | void\n position: (val: number) => number\n readonly: Ref<boolean | null | undefined>\n rounded: Ref<boolean | number | string | undefined>\n roundValue: (value: number) => number\n thumbLabel: Ref<boolean | string | undefined>\n showTicks: Ref<boolean | 'always'>\n startOffset: Ref<number>\n step: Ref<number>\n thumbSize: Ref<number>\n thumbColor: Ref<string | undefined>\n trackColor: Ref<string | undefined>\n trackFillColor: Ref<string | undefined>\n trackSize: Ref<number>\n ticks: Ref<readonly number[] | Record<string, string> | undefined>\n tickSize: Ref<number>\n trackContainerRef: Ref<VSliderTrack | undefined>\n vertical: Ref<boolean>\n parsedTicks: Ref<Tick[]>\n hasLabels: Ref<boolean>\n isReversed: Ref<boolean>\n indexFromEnd: Ref<boolean>\n}\n\nexport const VSliderSymbol: InjectionKey<SliderProvide> = Symbol.for('vuetify:v-slider')\n\nexport function getOffset (e: MouseEvent | TouchEvent, el: HTMLElement, direction: string) {\n const vertical = direction === 'vertical'\n const rect = el.getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n return vertical\n ? touch.clientY - (rect.top + rect.height / 2)\n : touch.clientX - (rect.left + rect.width / 2)\n}\n\nfunction getPosition (e: MouseEvent | TouchEvent, position: 'clientX' | 'clientY'): number {\n if ('touches' in e && e.touches.length) return e.touches[0][position]\n else if ('changedTouches' in e && e.changedTouches.length) return e.changedTouches[0][position]\n else return (e as MouseEvent)[position]\n}\n\nexport const makeSliderProps = propsFactory({\n disabled: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n error: Boolean,\n readonly: {\n type: Boolean as PropType<boolean | null>,\n default: null,\n },\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 0,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType<boolean | 'always' | undefined>,\n default: undefined,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n thumbSize: {\n type: [Number, String],\n default: 20,\n },\n showTicks: {\n type: [Boolean, String] as PropType<boolean | 'always'>,\n default: false,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n ticks: {\n type: [Array, Object] as PropType<readonly number[] | Record<number, string>>,\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n color: String,\n trackColor: String,\n trackFillColor: String,\n trackSize: {\n type: [Number, String],\n default: 4,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n },\n reverse: Boolean,\n\n ...makeRoundedProps(),\n ...makeElevationProps({\n elevation: 2,\n }),\n ripple: {\n type: Boolean,\n default: true,\n },\n}, 'Slider')\n\ntype SliderProps = ExtractPropTypes<ReturnType<typeof makeSliderProps>>\n\ntype SliderData = {\n value: number\n}\n\nexport const useSteps = (props: SliderProps) => {\n const min = computed(() => parseFloat(props.min))\n const max = computed(() => parseFloat(props.max))\n const step = computed(() => +props.step > 0 ? parseFloat(props.step) : 0)\n const decimals = computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)))\n\n function roundValue (value: string | number) {\n value = parseFloat(value)\n\n if (step.value <= 0) return value\n\n const clamped = clamp(value, min.value, max.value)\n const offset = min.value % step.value\n const newValue = Math.round((clamped - offset) / step.value) * step.value + offset\n\n return parseFloat(Math.min(newValue, max.value).toFixed(decimals.value))\n }\n\n return { min, max, step, decimals, roundValue }\n}\n\nexport const useSlider = ({\n props,\n steps,\n onSliderStart,\n onSliderMove,\n onSliderEnd,\n getActiveThumb,\n}: {\n props: SliderProps\n steps: ReturnType<typeof useSteps>\n onSliderEnd: (data: SliderData) => void\n onSliderStart: (data: SliderData) => void\n onSliderMove: (data: SliderData) => void\n getActiveThumb: (e: MouseEvent | TouchEvent) => HTMLElement\n}) => {\n const { isRtl } = useRtl()\n const isReversed = toRef(props, 'reverse')\n const vertical = computed(() => props.direction === 'vertical')\n const indexFromEnd = computed(() => vertical.value !== isReversed.value)\n\n const { min, max, step, decimals, roundValue } = steps\n\n const thumbSize = computed(() => parseInt(props.thumbSize, 10))\n const tickSize = computed(() => parseInt(props.tickSize, 10))\n const trackSize = computed(() => parseInt(props.trackSize, 10))\n const numTicks = computed(() => (max.value - min.value) / step.value)\n const disabled = toRef(props, 'disabled')\n\n const thumbColor = computed(() => props.error || props.disabled ? undefined : props.thumbColor ?? props.color)\n const trackColor = computed(() => props.error || props.disabled ? undefined : props.trackColor ?? props.color)\n const trackFillColor = computed(() => props.error || props.disabled ? undefined : props.trackFillColor ?? props.color)\n\n const mousePressed = shallowRef(false)\n\n const startOffset = shallowRef(0)\n const trackContainerRef = ref<VSliderTrack | undefined>()\n const activeThumbRef = ref<HTMLElement | undefined>()\n\n function parseMouseMove (e: MouseEvent | TouchEvent): number | void {\n const el: HTMLElement = trackContainerRef.value?.$el\n\n if (!el) return\n\n const vertical = props.direction === 'vertical'\n const start = vertical ? 'top' : 'left'\n const length = vertical ? 'height' : 'width'\n const position = vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = el.getBoundingClientRect()\n const clickOffset = getPosition(e, position)\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - startOffset.value) / trackLength, 0), 1) || 0\n\n if (vertical ? indexFromEnd.value : indexFromEnd.value !== isRtl.value) clickPos = 1 - clickPos\n\n return roundValue(min.value + clickPos * (max.value - min.value))\n }\n\n const handleStop = (e: MouseEvent | TouchEvent) => {\n const value = parseMouseMove(e)\n if (value != null) {\n onSliderEnd({ value })\n }\n\n mousePressed.value = false\n startOffset.value = 0\n }\n\n const handleStart = (e: MouseEvent | TouchEvent) => {\n const value = parseMouseMove(e)\n activeThumbRef.value = getActiveThumb(e)\n\n if (!activeThumbRef.value) return\n\n mousePressed.value = true\n\n if (activeThumbRef.value.contains(e.target as Node)) {\n startOffset.value = getOffset(e, activeThumbRef.value, props.direction)\n } else {\n startOffset.value = 0\n if (value != null) {\n onSliderMove({ value })\n }\n }\n\n if (value != null) {\n onSliderStart({ value })\n }\n nextTick(() => activeThumbRef.value?.focus())\n }\n\n const moveListenerOptions = { passive: true, capture: true }\n\n function onMouseMove (e: MouseEvent | TouchEvent) {\n const value = parseMouseMove(e)\n if (value != null) {\n onSliderMove({ value })\n }\n }\n\n function onSliderMouseUp (e: MouseEvent) {\n e.stopPropagation()\n e.preventDefault()\n\n handleStop(e)\n\n window.removeEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.removeEventListener('mouseup', onSliderMouseUp)\n }\n\n function onSliderTouchend (e: TouchEvent) {\n handleStop(e)\n\n window.removeEventListener('touchmove', onMouseMove, moveListenerOptions)\n e.target?.removeEventListener('touchend', onSliderTouchend as EventListener)\n }\n\n function onSliderTouchstart (e: TouchEvent) {\n handleStart(e)\n\n window.addEventListener('touchmove', onMouseMove, moveListenerOptions)\n e.target?.addEventListener('touchend', onSliderTouchend as EventListener, { passive: false })\n }\n\n function onSliderMousedown (e: MouseEvent) {\n e.preventDefault()\n\n handleStart(e)\n\n window.addEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.addEventListener('mouseup', onSliderMouseUp, { passive: false })\n }\n\n const position = (val: number) => {\n const percentage = (val - min.value) / (max.value - min.value) * 100\n return clamp(isNaN(percentage) ? 0 : percentage, 0, 100)\n }\n\n const showTicks = toRef(props, 'showTicks')\n const parsedTicks = computed<Tick[]>(() => {\n if (!showTicks.value) return []\n\n if (!props.ticks) {\n return numTicks.value !== Infinity ? createRange(numTicks.value + 1).map(t => {\n const value = min.value + (t * step.value)\n return {\n value,\n position: position(value),\n }\n }) : []\n }\n if (Array.isArray(props.ticks)) return props.ticks.map(t => ({ value: t, position: position(t), label: t.toString() }))\n return Object.keys(props.ticks).map(key => ({\n value: parseFloat(key),\n position: position(parseFloat(key)),\n label: (props.ticks as Record<string, string>)[key],\n }))\n })\n\n const hasLabels = computed(() => parsedTicks.value.some(({ label }) => !!label))\n\n const data: SliderProvide = {\n activeThumbRef,\n color: toRef(props, 'color'),\n decimals,\n disabled,\n direction: toRef(props, 'direction'),\n elevation: toRef(props, 'elevation'),\n hasLabels,\n isReversed,\n indexFromEnd,\n min,\n max,\n mousePressed,\n numTicks,\n onSliderMousedown,\n onSliderTouchstart,\n parsedTicks,\n parseMouseMove,\n position,\n readonly: toRef(props, 'readonly'),\n rounded: toRef(props, 'rounded'),\n roundValue,\n showTicks,\n startOffset,\n step,\n thumbSize,\n thumbColor,\n thumbLabel: toRef(props, 'thumbLabel'),\n ticks: toRef(props, 'ticks'),\n tickSize,\n trackColor,\n trackContainerRef,\n trackFillColor,\n trackSize,\n vertical,\n }\n\n provide(VSliderSymbol, data)\n\n return data\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  // Utilities
2
2
  import { computed, shallowRef, toRaw, watchEffect } from 'vue';
3
- import { deepEqual, getPropertyFromItem, isPrimitive, omit, propsFactory } from "../util/index.mjs"; // Types
3
+ import { deepEqual, getPropertyFromItem, isPrimitive, omit, pick, propsFactory } from "../util/index.mjs"; // Types
4
4
  // Composables
5
5
  export const makeItemsProps = propsFactory({
6
6
  items: {
@@ -45,7 +45,7 @@ export function transformItem(props, item) {
45
45
  };
46
46
  }
47
47
  export function transformItems(props, items) {
48
- const _props = toRaw(props);
48
+ const _props = pick(props, ['itemTitle', 'itemValue', 'itemChildren', 'itemProps', 'returnObject', 'valueComparator']);
49
49
  const array = [];
50
50
  for (const item of items) {
51
51
  array.push(transformItem(_props, item));
@@ -88,7 +88,7 @@ export function useItems(props) {
88
88
  const _returnObject = props.returnObject;
89
89
  const hasValueComparator = !!props.valueComparator;
90
90
  const valueComparator = props.valueComparator || deepEqual;
91
- const _props = toRaw(props);
91
+ const _props = pick(props, ['itemTitle', 'itemValue', 'itemChildren', 'itemProps', 'returnObject', 'valueComparator']);
92
92
  const returnValue = [];
93
93
  main: for (const v of _value) {
94
94
  // When the model value is null, return an InternalItem
@@ -1 +1 @@
1
- {"version":3,"file":"list-items.mjs","names":["computed","shallowRef","toRaw","watchEffect","deepEqual","getPropertyFromItem","isPrimitive","omit","propsFactory","makeItemsProps","items","type","Array","default","itemTitle","String","Function","itemValue","itemChildren","Boolean","itemProps","returnObject","valueComparator","transformItem","props","item","title","value","children","isArray","undefined","_props","transformItems","raw","array","push","useItems","hasNullItem","some","itemsMap","Map","keylessItems","_items","map","keyless","i","length","values","get","set","transformIn","_value","_allItems","_keylessItems","_hasNullItem","_returnObject","hasValueComparator","returnValue","main","v","fastItems","transformOut","_ref","_ref2"],"sources":["../../src/composables/list-items.ts"],"sourcesContent":["// Utilities\nimport { computed, shallowRef, toRaw, watchEffect } from 'vue'\nimport { deepEqual, getPropertyFromItem, isPrimitive, omit, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalItem } from '@/composables/filter'\nimport type { Primitive, SelectItemKey } from '@/util'\n\nexport interface ListItem<T = any> extends InternalItem<T> {\n title: string\n props: {\n [key: string]: any\n title: string\n value: any\n }\n children?: ListItem<T>[]\n}\n\nexport interface ItemProps {\n items: any[]\n itemTitle: SelectItemKey\n itemValue: SelectItemKey\n itemChildren: SelectItemKey\n itemProps: SelectItemKey\n returnObject: boolean\n valueComparator: typeof deepEqual | undefined\n}\n\n// Composables\nexport const makeItemsProps = propsFactory({\n items: {\n type: Array as PropType<ItemProps['items']>,\n default: () => ([]),\n },\n itemTitle: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'title',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n itemChildren: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'children',\n },\n itemProps: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'props',\n },\n returnObject: Boolean,\n valueComparator: Function as PropType<typeof deepEqual>,\n}, 'list-items')\n\nexport function transformItem (props: Omit<ItemProps, 'items'>, item: any): ListItem {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = getPropertyFromItem(item, props.itemValue, title)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true\n ? typeof item === 'object' && item != null && !Array.isArray(item)\n ? 'children' in item\n ? omit(item, ['children'])\n : item\n : undefined\n : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n title: String(_props.title ?? ''),\n value: _props.value,\n props: _props,\n children: Array.isArray(children) ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nexport function transformItems (props: Omit<ItemProps, 'items'>, items: ItemProps['items']) {\n const _props = toRaw(props)\n\n const array: ListItem[] = []\n for (const item of items) {\n array.push(transformItem(_props, item))\n }\n\n return array\n}\n\nexport function useItems (props: ItemProps) {\n const items = computed(() => transformItems(props, props.items))\n const hasNullItem = computed(() => items.value.some(item => item.value === null))\n\n const itemsMap = shallowRef<Map<Primitive, ListItem[]>>(new Map())\n const keylessItems = shallowRef<ListItem[]>([])\n watchEffect(() => {\n const _items = items.value\n const map = new Map()\n const keyless = []\n for (let i = 0; i < _items.length; i++) {\n const item = _items[i]\n if (isPrimitive(item.value) || item.value === null) {\n let values = map.get(item.value)\n if (!values) {\n values = []\n map.set(item.value, values)\n }\n values.push(item)\n } else {\n keyless.push(item)\n }\n }\n itemsMap.value = map\n keylessItems.value = keyless\n })\n\n function transformIn (value: any[]): ListItem[] {\n // Cache unrefed values outside the loop,\n // proxy getters can be slow when you call them a billion times\n const _value = toRaw(value)\n const _items = itemsMap.value\n const _allItems = items.value\n const _keylessItems = keylessItems.value\n const _hasNullItem = hasNullItem.value\n const _returnObject = props.returnObject\n const hasValueComparator = !!props.valueComparator\n const valueComparator = props.valueComparator || deepEqual\n const _props = toRaw(props)\n\n const returnValue: ListItem[] = []\n main: for (const v of _value) {\n // When the model value is null, return an InternalItem\n // based on null only if null is one of the items\n if (!_hasNullItem && v === null) continue\n\n // String model value means value is a custom input value from combobox\n // Don't look up existing items if the model value is a string\n if (_returnObject && typeof v === 'string') {\n returnValue.push(transformItem(_props, v))\n continue\n }\n\n // Fast path, items with primitive values and no\n // custom valueComparator can use a constant-time\n // map lookup instead of searching the items array\n const fastItems = _items.get(v)\n\n // Slow path, always use valueComparator.\n // This is O(n^2) so we really don't want to\n // do it for more than a couple hundred items.\n if (hasValueComparator || !fastItems) {\n for (const item of (hasValueComparator ? _allItems : _keylessItems)) {\n if (valueComparator(v, item.value)) {\n returnValue.push(item)\n continue main\n }\n }\n // Not an existing item, construct it from the model (#4000)\n returnValue.push(transformItem(_props, v))\n continue\n }\n\n returnValue.push(...fastItems)\n }\n\n return returnValue\n }\n\n function transformOut (value: ListItem[]): any[] {\n return props.returnObject\n ? value.map(({ raw }) => raw)\n : value.map(({ value }) => value)\n }\n\n return { items, transformIn, transformOut }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"list-items.mjs","names":["computed","shallowRef","toRaw","watchEffect","deepEqual","getPropertyFromItem","isPrimitive","omit","pick","propsFactory","makeItemsProps","items","type","Array","default","itemTitle","String","Function","itemValue","itemChildren","Boolean","itemProps","returnObject","valueComparator","transformItem","props","item","title","value","children","isArray","undefined","_props","transformItems","raw","array","push","useItems","hasNullItem","some","itemsMap","Map","keylessItems","_items","map","keyless","i","length","values","get","set","transformIn","_value","_allItems","_keylessItems","_hasNullItem","_returnObject","hasValueComparator","returnValue","main","v","fastItems","transformOut","_ref","_ref2"],"sources":["../../src/composables/list-items.ts"],"sourcesContent":["// Utilities\nimport { computed, shallowRef, toRaw, watchEffect } from 'vue'\nimport { deepEqual, getPropertyFromItem, isPrimitive, omit, pick, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalItem } from '@/composables/filter'\nimport type { Primitive, SelectItemKey } from '@/util'\n\nexport interface ListItem<T = any> extends InternalItem<T> {\n title: string\n props: {\n [key: string]: any\n title: string\n value: any\n }\n children?: ListItem<T>[]\n}\n\nexport interface ItemProps {\n items: any[]\n itemTitle: SelectItemKey\n itemValue: SelectItemKey\n itemChildren: SelectItemKey\n itemProps: SelectItemKey\n returnObject: boolean\n valueComparator: typeof deepEqual | undefined\n}\n\n// Composables\nexport const makeItemsProps = propsFactory({\n items: {\n type: Array as PropType<ItemProps['items']>,\n default: () => ([]),\n },\n itemTitle: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'title',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n itemChildren: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'children',\n },\n itemProps: {\n type: [Boolean, String, Array, Function] as PropType<SelectItemKey>,\n default: 'props',\n },\n returnObject: Boolean,\n valueComparator: Function as PropType<typeof deepEqual>,\n}, 'list-items')\n\nexport function transformItem (props: Omit<ItemProps, 'items'>, item: any): ListItem {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = getPropertyFromItem(item, props.itemValue, title)\n const children = getPropertyFromItem(item, props.itemChildren)\n const itemProps = props.itemProps === true\n ? typeof item === 'object' && item != null && !Array.isArray(item)\n ? 'children' in item\n ? omit(item, ['children'])\n : item\n : undefined\n : getPropertyFromItem(item, props.itemProps)\n\n const _props = {\n title,\n value,\n ...itemProps,\n }\n\n return {\n title: String(_props.title ?? ''),\n value: _props.value,\n props: _props,\n children: Array.isArray(children) ? transformItems(props, children) : undefined,\n raw: item,\n }\n}\n\nexport function transformItems (props: Omit<ItemProps, 'items'>, items: ItemProps['items']) {\n const _props = pick(props, [\n 'itemTitle',\n 'itemValue',\n 'itemChildren',\n 'itemProps',\n 'returnObject',\n 'valueComparator',\n ])\n\n const array: ListItem[] = []\n for (const item of items) {\n array.push(transformItem(_props, item))\n }\n\n return array\n}\n\nexport function useItems (props: ItemProps) {\n const items = computed(() => transformItems(props, props.items))\n const hasNullItem = computed(() => items.value.some(item => item.value === null))\n\n const itemsMap = shallowRef<Map<Primitive, ListItem[]>>(new Map())\n const keylessItems = shallowRef<ListItem[]>([])\n watchEffect(() => {\n const _items = items.value\n const map = new Map()\n const keyless = []\n for (let i = 0; i < _items.length; i++) {\n const item = _items[i]\n if (isPrimitive(item.value) || item.value === null) {\n let values = map.get(item.value)\n if (!values) {\n values = []\n map.set(item.value, values)\n }\n values.push(item)\n } else {\n keyless.push(item)\n }\n }\n itemsMap.value = map\n keylessItems.value = keyless\n })\n\n function transformIn (value: any[]): ListItem[] {\n // Cache unrefed values outside the loop,\n // proxy getters can be slow when you call them a billion times\n const _value = toRaw(value)\n const _items = itemsMap.value\n const _allItems = items.value\n const _keylessItems = keylessItems.value\n const _hasNullItem = hasNullItem.value\n const _returnObject = props.returnObject\n const hasValueComparator = !!props.valueComparator\n const valueComparator = props.valueComparator || deepEqual\n const _props = pick(props, [\n 'itemTitle',\n 'itemValue',\n 'itemChildren',\n 'itemProps',\n 'returnObject',\n 'valueComparator',\n ])\n\n const returnValue: ListItem[] = []\n main: for (const v of _value) {\n // When the model value is null, return an InternalItem\n // based on null only if null is one of the items\n if (!_hasNullItem && v === null) continue\n\n // String model value means value is a custom input value from combobox\n // Don't look up existing items if the model value is a string\n if (_returnObject && typeof v === 'string') {\n returnValue.push(transformItem(_props, v))\n continue\n }\n\n // Fast path, items with primitive values and no\n // custom valueComparator can use a constant-time\n // map lookup instead of searching the items array\n const fastItems = _items.get(v)\n\n // Slow path, always use valueComparator.\n // This is O(n^2) so we really don't want to\n // do it for more than a couple hundred items.\n if (hasValueComparator || !fastItems) {\n for (const item of (hasValueComparator ? _allItems : _keylessItems)) {\n if (valueComparator(v, item.value)) {\n returnValue.push(item)\n continue main\n }\n }\n // Not an existing item, construct it from the model (#4000)\n returnValue.push(transformItem(_props, v))\n continue\n }\n\n returnValue.push(...fastItems)\n }\n\n return returnValue\n }\n\n function transformOut (value: ListItem[]): any[] {\n return props.returnObject\n ? value.map(({ raw }) => raw)\n : value.map(({ value }) => value)\n }\n\n return { items, transformIn, transformOut }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.7.11-master.2025-02-08";
19
+ export const version = "3.7.11-master.2025-02-10";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.mjs";
package/lib/framework.mjs CHANGED
@@ -97,7 +97,7 @@ export function createVuetify() {
97
97
  goTo
98
98
  };
99
99
  }
100
- export const version = "3.7.11-master.2025-02-08";
100
+ export const version = "3.7.11-master.2025-02-10";
101
101
  createVuetify.version = version;
102
102
 
103
103
  // Vue's inject() can only be used in setup
package/lib/index.d.mts CHANGED
@@ -487,24 +487,30 @@ declare module 'vue' {
487
487
  }
488
488
  export interface GlobalComponents {
489
489
  VApp: typeof import('vuetify/components')['VApp']
490
- VAvatar: typeof import('vuetify/components')['VAvatar']
491
- VAlert: typeof import('vuetify/components')['VAlert']
492
- VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
493
490
  VAppBar: typeof import('vuetify/components')['VAppBar']
494
491
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
495
492
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
493
+ VAlert: typeof import('vuetify/components')['VAlert']
494
+ VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
495
+ VAvatar: typeof import('vuetify/components')['VAvatar']
496
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
496
497
  VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
497
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
498
498
  VBadge: typeof import('vuetify/components')['VBadge']
499
- VBanner: typeof import('vuetify/components')['VBanner']
500
- VBannerActions: typeof import('vuetify/components')['VBannerActions']
501
- VBannerText: typeof import('vuetify/components')['VBannerText']
502
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
503
- VBtn: typeof import('vuetify/components')['VBtn']
499
+ VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
500
+ VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
501
+ VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
504
502
  VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
503
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
504
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
505
+ VBtn: typeof import('vuetify/components')['VBtn']
505
506
  VCarousel: typeof import('vuetify/components')['VCarousel']
506
507
  VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
507
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
508
+ VChip: typeof import('vuetify/components')['VChip']
509
+ VBanner: typeof import('vuetify/components')['VBanner']
510
+ VBannerActions: typeof import('vuetify/components')['VBannerActions']
511
+ VBannerText: typeof import('vuetify/components')['VBannerText']
512
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
513
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
508
514
  VCard: typeof import('vuetify/components')['VCard']
509
515
  VCardActions: typeof import('vuetify/components')['VCardActions']
510
516
  VCardItem: typeof import('vuetify/components')['VCardItem']
@@ -512,22 +518,8 @@ declare module 'vue' {
512
518
  VCardText: typeof import('vuetify/components')['VCardText']
513
519
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
514
520
  VChipGroup: typeof import('vuetify/components')['VChipGroup']
515
- VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
516
- VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
517
- VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
518
- VChip: typeof import('vuetify/components')['VChip']
519
- VCode: typeof import('vuetify/components')['VCode']
520
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
521
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
522
- VColorPicker: typeof import('vuetify/components')['VColorPicker']
523
521
  VCounter: typeof import('vuetify/components')['VCounter']
524
- VDataTable: typeof import('vuetify/components')['VDataTable']
525
- VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
526
- VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
527
- VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
528
- VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
529
- VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
530
- VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
522
+ VColorPicker: typeof import('vuetify/components')['VColorPicker']
531
523
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
532
524
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
533
525
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
@@ -535,28 +527,39 @@ declare module 'vue' {
535
527
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
536
528
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
537
529
  VCombobox: typeof import('vuetify/components')['VCombobox']
530
+ VCode: typeof import('vuetify/components')['VCode']
538
531
  VDialog: typeof import('vuetify/components')['VDialog']
539
- VDivider: typeof import('vuetify/components')['VDivider']
540
532
  VEmptyState: typeof import('vuetify/components')['VEmptyState']
533
+ VFab: typeof import('vuetify/components')['VFab']
534
+ VDivider: typeof import('vuetify/components')['VDivider']
535
+ VDataTable: typeof import('vuetify/components')['VDataTable']
536
+ VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
537
+ VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
538
+ VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
539
+ VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
540
+ VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
541
+ VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
542
+ VFileInput: typeof import('vuetify/components')['VFileInput']
543
+ VFooter: typeof import('vuetify/components')['VFooter']
541
544
  VField: typeof import('vuetify/components')['VField']
542
545
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
543
- VFab: typeof import('vuetify/components')['VFab']
544
546
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
545
547
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
546
548
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
547
549
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
548
- VFileInput: typeof import('vuetify/components')['VFileInput']
549
- VFooter: typeof import('vuetify/components')['VFooter']
550
550
  VIcon: typeof import('vuetify/components')['VIcon']
551
551
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
552
552
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
553
553
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
554
554
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
555
555
  VImg: typeof import('vuetify/components')['VImg']
556
- VLabel: typeof import('vuetify/components')['VLabel']
556
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
557
557
  VInput: typeof import('vuetify/components')['VInput']
558
+ VLabel: typeof import('vuetify/components')['VLabel']
559
+ VItemGroup: typeof import('vuetify/components')['VItemGroup']
560
+ VItem: typeof import('vuetify/components')['VItem']
558
561
  VKbd: typeof import('vuetify/components')['VKbd']
559
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
562
+ VMain: typeof import('vuetify/components')['VMain']
560
563
  VList: typeof import('vuetify/components')['VList']
561
564
  VListGroup: typeof import('vuetify/components')['VListGroup']
562
565
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -566,73 +569,70 @@ declare module 'vue' {
566
569
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
567
570
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
568
571
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
569
- VItemGroup: typeof import('vuetify/components')['VItemGroup']
570
- VItem: typeof import('vuetify/components')['VItem']
571
- VMain: typeof import('vuetify/components')['VMain']
572
- VMessages: typeof import('vuetify/components')['VMessages']
573
572
  VMenu: typeof import('vuetify/components')['VMenu']
573
+ VMessages: typeof import('vuetify/components')['VMessages']
574
+ VOtpInput: typeof import('vuetify/components')['VOtpInput']
574
575
  VOverlay: typeof import('vuetify/components')['VOverlay']
575
576
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
576
- VOtpInput: typeof import('vuetify/components')['VOtpInput']
577
- VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
577
+ VPagination: typeof import('vuetify/components')['VPagination']
578
578
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
579
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
580
579
  VRating: typeof import('vuetify/components')['VRating']
581
- VPagination: typeof import('vuetify/components')['VPagination']
580
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
581
+ VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
582
582
  VSelect: typeof import('vuetify/components')['VSelect']
583
583
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
584
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
584
585
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
585
586
  VSheet: typeof import('vuetify/components')['VSheet']
586
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
587
+ VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
588
+ VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
589
+ VSlider: typeof import('vuetify/components')['VSlider']
590
+ VSnackbar: typeof import('vuetify/components')['VSnackbar']
591
+ VTab: typeof import('vuetify/components')['VTab']
592
+ VTabs: typeof import('vuetify/components')['VTabs']
593
+ VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
594
+ VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
587
595
  VStepper: typeof import('vuetify/components')['VStepper']
588
596
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
589
597
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
590
598
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
591
599
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
592
600
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
593
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
594
601
  VTable: typeof import('vuetify/components')['VTable']
595
- VSnackbar: typeof import('vuetify/components')['VSnackbar']
596
- VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
597
- VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
598
- VTab: typeof import('vuetify/components')['VTab']
599
- VTabs: typeof import('vuetify/components')['VTabs']
600
- VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
601
- VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
602
602
  VSwitch: typeof import('vuetify/components')['VSwitch']
603
- VTextField: typeof import('vuetify/components')['VTextField']
603
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
604
604
  VTextarea: typeof import('vuetify/components')['VTextarea']
605
- VSlider: typeof import('vuetify/components')['VSlider']
606
605
  VTooltip: typeof import('vuetify/components')['VTooltip']
607
606
  VToolbar: typeof import('vuetify/components')['VToolbar']
608
607
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
609
608
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
610
- VTimeline: typeof import('vuetify/components')['VTimeline']
611
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
612
609
  VWindow: typeof import('vuetify/components')['VWindow']
613
610
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
611
+ VTimeline: typeof import('vuetify/components')['VTimeline']
612
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
613
+ VTextField: typeof import('vuetify/components')['VTextField']
614
614
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
615
615
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
616
- VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
617
616
  VForm: typeof import('vuetify/components')['VForm']
617
+ VHover: typeof import('vuetify/components')['VHover']
618
618
  VContainer: typeof import('vuetify/components')['VContainer']
619
619
  VCol: typeof import('vuetify/components')['VCol']
620
620
  VRow: typeof import('vuetify/components')['VRow']
621
621
  VSpacer: typeof import('vuetify/components')['VSpacer']
622
- VHover: typeof import('vuetify/components')['VHover']
623
- VLazy: typeof import('vuetify/components')['VLazy']
624
622
  VLayout: typeof import('vuetify/components')['VLayout']
625
623
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
626
624
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
625
+ VLazy: typeof import('vuetify/components')['VLazy']
627
626
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
628
- VRadio: typeof import('vuetify/components')['VRadio']
629
627
  VParallax: typeof import('vuetify/components')['VParallax']
628
+ VRadio: typeof import('vuetify/components')['VRadio']
630
629
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
631
630
  VResponsive: typeof import('vuetify/components')['VResponsive']
632
631
  VSparkline: typeof import('vuetify/components')['VSparkline']
633
632
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
634
633
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
635
634
  VValidation: typeof import('vuetify/components')['VValidation']
635
+ VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
636
636
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
637
637
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
638
638
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -649,21 +649,21 @@ declare module 'vue' {
649
649
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
650
650
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
651
651
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
652
- VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
653
- VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
654
- VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
652
+ VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
655
653
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
656
654
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
657
655
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
658
656
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
659
657
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
660
658
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
659
+ VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
660
+ VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
661
661
  VPicker: typeof import('vuetify/labs/components')['VPicker']
662
662
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
663
+ VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
663
664
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
664
665
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
665
666
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
666
- VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
667
667
  VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
668
668
  VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
669
669
  VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vuetify/nightly",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "3.7.11-master.2025-02-08",
4
+ "version": "3.7.11-master.2025-02-10",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"
@@ -184,9 +184,9 @@
184
184
  },
185
185
  "peerDependencies": {
186
186
  "typescript": ">=4.7",
187
- "vite-plugin-vuetify": ">=2.1.0",
187
+ "vite-plugin-vuetify": ">=1.0.0",
188
188
  "vue": "^3.3.0",
189
- "webpack-plugin-vuetify": ">=3.1.0"
189
+ "webpack-plugin-vuetify": ">=2.0.0"
190
190
  },
191
191
  "peerDependenciesMeta": {
192
192
  "typescript": {