@vuetify/nightly 3.7.11-master.2025-02-07 → 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-07";
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-07";
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
@@ -486,49 +486,52 @@ declare module 'vue' {
486
486
  $children?: VNodeChild
487
487
  }
488
488
  export interface GlobalComponents {
489
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
490
489
  VApp: typeof import('vuetify/components')['VApp']
491
490
  VAppBar: typeof import('vuetify/components')['VAppBar']
492
491
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
493
492
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
494
493
  VAlert: typeof import('vuetify/components')['VAlert']
495
494
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
496
- VBanner: typeof import('vuetify/components')['VBanner']
497
- VBannerActions: typeof import('vuetify/components')['VBannerActions']
498
- VBannerText: typeof import('vuetify/components')['VBannerText']
499
- VBadge: typeof import('vuetify/components')['VBadge']
500
495
  VAvatar: typeof import('vuetify/components')['VAvatar']
496
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
497
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
498
+ VBadge: typeof import('vuetify/components')['VBadge']
501
499
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
502
500
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
503
501
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
504
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
505
- VBtn: typeof import('vuetify/components')['VBtn']
502
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
506
503
  VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
504
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
505
+ VBtn: typeof import('vuetify/components')['VBtn']
507
506
  VCarousel: typeof import('vuetify/components')['VCarousel']
508
507
  VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
509
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
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']
510
512
  VCheckbox: typeof import('vuetify/components')['VCheckbox']
511
513
  VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
512
- VColorPicker: typeof import('vuetify/components')['VColorPicker']
513
- VCode: typeof import('vuetify/components')['VCode']
514
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
515
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
516
- VCombobox: typeof import('vuetify/components')['VCombobox']
517
- VDatePicker: typeof import('vuetify/components')['VDatePicker']
518
- VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
519
- VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
520
- VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
521
- VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
522
- VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
523
514
  VCard: typeof import('vuetify/components')['VCard']
524
515
  VCardActions: typeof import('vuetify/components')['VCardActions']
525
516
  VCardItem: typeof import('vuetify/components')['VCardItem']
526
517
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
527
518
  VCardText: typeof import('vuetify/components')['VCardText']
528
519
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
529
- VChip: typeof import('vuetify/components')['VChip']
520
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
530
521
  VCounter: typeof import('vuetify/components')['VCounter']
522
+ VColorPicker: typeof import('vuetify/components')['VColorPicker']
523
+ VDatePicker: typeof import('vuetify/components')['VDatePicker']
524
+ VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
525
+ VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
526
+ VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
527
+ VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
528
+ VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
529
+ VCombobox: typeof import('vuetify/components')['VCombobox']
530
+ VCode: typeof import('vuetify/components')['VCode']
531
531
  VDialog: typeof import('vuetify/components')['VDialog']
532
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
533
+ VFab: typeof import('vuetify/components')['VFab']
534
+ VDivider: typeof import('vuetify/components')['VDivider']
532
535
  VDataTable: typeof import('vuetify/components')['VDataTable']
533
536
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
534
537
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -536,29 +539,27 @@ declare module 'vue' {
536
539
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
537
540
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
538
541
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
539
- VDivider: typeof import('vuetify/components')['VDivider']
540
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
541
- VFab: typeof import('vuetify/components')['VFab']
542
+ VFileInput: typeof import('vuetify/components')['VFileInput']
543
+ VFooter: typeof import('vuetify/components')['VFooter']
544
+ VField: typeof import('vuetify/components')['VField']
545
+ VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
542
546
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
543
547
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
544
548
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
545
549
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
546
- VField: typeof import('vuetify/components')['VField']
547
- VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
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
+ VImg: typeof import('vuetify/components')['VImg']
556
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
557
+ VInput: typeof import('vuetify/components')['VInput']
558
+ VLabel: typeof import('vuetify/components')['VLabel']
555
559
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
556
560
  VItem: typeof import('vuetify/components')['VItem']
557
- VInput: typeof import('vuetify/components')['VInput']
558
561
  VKbd: typeof import('vuetify/components')['VKbd']
559
- VImg: typeof import('vuetify/components')['VImg']
560
- VLabel: typeof import('vuetify/components')['VLabel']
561
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
562
+ VMain: typeof import('vuetify/components')['VMain']
562
563
  VList: typeof import('vuetify/components')['VList']
563
564
  VListGroup: typeof import('vuetify/components')['VListGroup']
564
565
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -568,72 +569,70 @@ declare module 'vue' {
568
569
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
569
570
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
570
571
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
571
- VMain: typeof import('vuetify/components')['VMain']
572
- VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
573
572
  VMenu: typeof import('vuetify/components')['VMenu']
574
573
  VMessages: typeof import('vuetify/components')['VMessages']
575
- VOverlay: typeof import('vuetify/components')['VOverlay']
576
574
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
577
- VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
575
+ VOverlay: typeof import('vuetify/components')['VOverlay']
576
+ VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
577
+ VPagination: typeof import('vuetify/components')['VPagination']
578
578
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
579
579
  VRating: typeof import('vuetify/components')['VRating']
580
- VPagination: typeof import('vuetify/components')['VPagination']
581
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
582
580
  VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
583
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
581
+ VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
584
582
  VSelect: typeof import('vuetify/components')['VSelect']
583
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
584
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
585
585
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
586
586
  VSheet: typeof import('vuetify/components')['VSheet']
587
587
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
588
588
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
589
589
  VSlider: typeof import('vuetify/components')['VSlider']
590
- VSwitch: typeof import('vuetify/components')['VSwitch']
591
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']
592
595
  VStepper: typeof import('vuetify/components')['VStepper']
593
596
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
594
597
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
595
598
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
596
599
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
597
600
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
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
601
  VTable: typeof import('vuetify/components')['VTable']
602
+ VSwitch: typeof import('vuetify/components')['VSwitch']
603
603
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
604
604
  VTextarea: typeof import('vuetify/components')['VTextarea']
605
+ VTooltip: typeof import('vuetify/components')['VTooltip']
605
606
  VToolbar: typeof import('vuetify/components')['VToolbar']
606
607
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
607
608
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
609
+ VWindow: typeof import('vuetify/components')['VWindow']
610
+ VWindowItem: typeof import('vuetify/components')['VWindowItem']
608
611
  VTimeline: typeof import('vuetify/components')['VTimeline']
609
612
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
610
- VTooltip: typeof import('vuetify/components')['VTooltip']
611
613
  VTextField: typeof import('vuetify/components')['VTextField']
612
- VWindow: typeof import('vuetify/components')['VWindow']
613
- VWindowItem: typeof import('vuetify/components')['VWindowItem']
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
622
  VLayout: typeof import('vuetify/components')['VLayout']
624
623
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
625
624
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
626
625
  VLazy: typeof import('vuetify/components')['VLazy']
627
626
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
628
- VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
629
627
  VParallax: typeof import('vuetify/components')['VParallax']
630
628
  VRadio: typeof import('vuetify/components')['VRadio']
631
- VSparkline: typeof import('vuetify/components')['VSparkline']
629
+ VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
632
630
  VResponsive: typeof import('vuetify/components')['VResponsive']
631
+ VSparkline: typeof import('vuetify/components')['VSparkline']
633
632
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
634
633
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
635
- VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
636
634
  VValidation: typeof import('vuetify/components')['VValidation']
635
+ VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
637
636
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
638
637
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
639
638
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -650,28 +649,29 @@ declare module 'vue' {
650
649
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
651
650
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
652
651
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
652
+ VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
653
653
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
654
654
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
655
655
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
656
656
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
657
657
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
658
658
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
659
- VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
660
659
  VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
661
660
  VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
662
- VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
663
- VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
664
- VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
665
661
  VPicker: typeof import('vuetify/labs/components')['VPicker']
666
662
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
663
+ VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
667
664
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
668
665
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
669
666
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
667
+ VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
668
+ VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
669
+ VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
670
670
  VTreeview: typeof import('vuetify/labs/components')['VTreeview']
671
671
  VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
672
672
  VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
673
673
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
674
- VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
675
674
  VSnackbarQueue: typeof import('vuetify/labs/components')['VSnackbarQueue']
675
+ VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
676
676
  }
677
677
  }
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-07",
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": {