@vuetify/nightly 3.9.2-master.2025-07-25 → 3.9.2-master.2025-07-27
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.
- package/CHANGELOG.md +12 -3
- package/dist/json/attributes.json +3358 -3358
- package/dist/json/importMap-labs.json +30 -30
- package/dist/json/importMap.json +132 -132
- package/dist/json/web-types.json +6344 -6332
- package/dist/vuetify-labs.cjs +14 -7
- package/dist/vuetify-labs.css +4884 -4884
- package/dist/vuetify-labs.d.ts +91 -50
- package/dist/vuetify-labs.esm.js +14 -7
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +14 -7
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +5 -3
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3026 -3026
- package/dist/vuetify.d.ts +50 -50
- package/dist/vuetify.esm.js +5 -3
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +5 -3
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +6 -4
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.js +2 -0
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +50 -50
- package/lib/framework.js +1 -1
- package/lib/labs/VPie/VPie.css +1 -1
- package/lib/labs/VPie/VPie.d.ts +50 -0
- package/lib/labs/VPie/VPie.js +9 -4
- package/lib/labs/VPie/VPie.js.map +1 -1
- package/lib/labs/VPie/VPie.sass +1 -1
- package/package.json +1 -1
@@ -200,6 +200,8 @@ export const VNumberInput = genericComponent()({
|
|
200
200
|
if (potentialNewInputVal.split(decimalSeparator.value)[1]?.length > props.precision) {
|
201
201
|
e.preventDefault();
|
202
202
|
inputElement.value = potentialNewNumber;
|
203
|
+
const cursorPosition = (selectionStart ?? 0) + e.data.length;
|
204
|
+
inputElement.setSelectionRange(cursorPosition, cursorPosition);
|
203
205
|
}
|
204
206
|
// Ignore decimal separator when precision = 0
|
205
207
|
if (props.precision === 0 && potentialNewInputVal.includes(decimalSeparator.value)) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VNumberInput.js","names":["VBtn","VDefaultsProvider","VDivider","makeVTextFieldProps","VTextField","useHold","useForm","forwardRefs","useLocale","useProxiedModel","computed","nextTick","onMounted","ref","shallowRef","toRef","watch","watchEffect","clamp","escapeForRegex","extractNumber","genericComponent","omit","propsFactory","useRender","makeVNumberInputProps","controlVariant","type","String","default","inset","Boolean","hideInput","modelValue","Number","min","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","step","precision","minFractionDigits","decimalSeparator","validator","v","length","VNumberInput","name","props","emits","val","setup","_ref","slots","vTextFieldRef","holdStart","holdStop","toggleUpDown","form","controlsDisabled","isDisabled","value","isReadonly","isFocused","focused","decimalSeparatorFromLocale","correctPrecision","arguments","undefined","trim","fixed","toFixed","toString","replace","baseDigits","fractionDigits","split","padEnd","RegExp","filter","join","model","_inputText","isNaN","inputText","get","set","parsedValue","canIncrease","canDecrease","incrementIcon","decrementIcon","controlNodeSize","controlNodeDefaultHeight","incrementSlotProps","onClick","onControlClick","onPointerup","onControlMouseup","onPointerdown","onUpControlMousedown","onPointercancel","decrementSlotProps","onDownControlMousedown","formatInputValue","clampModel","inferPrecision","str","idx","indexOf","increment","inferredPrecision","Math","onBeforeinput","e","data","inputElement","target","existingTxt","selectionStart","selectionEnd","potentialNewInputVal","slice","potentialNewNumber","test","preventDefault","includes","onKeydown","key","ctrlKey","stopPropagation","el","currentTarget","releasePointerCapture","pointerId","setPointerCapture","actualText","trimDecimalZeros","onFocus","onBlur","_","textFieldProps","filterProps","incrementControlNode","_createVNode","disabled","flat","height","size","icon","decrementControlNode","decrement","controlNode","_createElementVNode","dividerNode","appendInnerControl","reverse","_Fragment","hasAppendInner","prependInnerControl","hasPrependInner","_mergeProps","$event","class","style","_len","args","Array","_key","_len2","_key2"],"sources":["../../../src/components/VNumberInput/VNumberInput.tsx"],"sourcesContent":["// Styles\nimport './VNumberInput.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VDivider } from '@/components/VDivider'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useHold } from './hold'\nimport { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, onMounted, ref, shallowRef, toRef, watch, watchEffect } from 'vue'\nimport { clamp, escapeForRegex, extractNumber, genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\ntype ControlSlot = {\n props: Record<string, unknown>\n}\n\ntype VNumberInputSlots = Omit<VTextFieldSlots, 'default'> & {\n increment: ControlSlot\n decrement: ControlSlot\n}\n\ntype ControlVariant = 'default' | 'stacked' | 'split' | 'hidden'\n\nconst makeVNumberInputProps = propsFactory({\n controlVariant: {\n type: String as PropType<ControlVariant>,\n default: 'default',\n },\n inset: Boolean,\n hideInput: Boolean,\n modelValue: {\n type: Number as PropType<number | null>,\n default: null,\n },\n min: {\n type: Number,\n default: Number.MIN_SAFE_INTEGER,\n },\n max: {\n type: Number,\n default: Number.MAX_SAFE_INTEGER,\n },\n step: {\n type: Number,\n default: 1,\n },\n precision: {\n type: Number as PropType<number | null>,\n default: 0,\n },\n minFractionDigits: {\n type: Number as PropType<number | null>,\n default: null,\n },\n decimalSeparator: {\n type: String,\n validator: (v: any) => !v || v.length === 1,\n },\n\n ...omit(makeVTextFieldProps(), ['modelValue', 'validationValue']),\n}, 'VNumberInput')\n\nexport const VNumberInput = genericComponent<VNumberInputSlots>()({\n name: 'VNumberInput',\n\n props: {\n ...makeVNumberInputProps(),\n },\n\n emits: {\n 'update:focused': (val: boolean) => true,\n 'update:modelValue': (val: number) => true,\n },\n\n setup (props, { slots }) {\n const vTextFieldRef = ref<VTextField>()\n\n const { holdStart, holdStop } = useHold({ toggleUpDown })\n const form = useForm(props)\n const controlsDisabled = computed(() => (\n form.isDisabled.value || form.isReadonly.value\n ))\n\n const isFocused = shallowRef(props.focused)\n\n const { decimalSeparator: decimalSeparatorFromLocale } = useLocale()\n const decimalSeparator = computed(() => props.decimalSeparator?.[0] || decimalSeparatorFromLocale.value)\n\n function correctPrecision (val: number, precision = props.precision, trim = true) {\n const fixed = precision == null\n ? String(val)\n : val.toFixed(precision)\n\n if (isFocused.value && trim) {\n return Number(fixed).toString() // trim zeros\n .replace('.', decimalSeparator.value)\n }\n\n if (props.minFractionDigits === null || (precision !== null && precision < props.minFractionDigits)) {\n return fixed.replace('.', decimalSeparator.value)\n }\n\n let [baseDigits, fractionDigits] = fixed.split('.')\n\n fractionDigits = (fractionDigits ?? '').padEnd(props.minFractionDigits, '0')\n .replace(new RegExp(`(?<=\\\\d{${props.minFractionDigits}})0`, 'g'), '')\n\n return [\n baseDigits,\n fractionDigits,\n ].filter(Boolean).join(decimalSeparator.value)\n }\n\n const model = useProxiedModel(props, 'modelValue', null,\n val => val ?? null,\n val => val == null\n ? val ?? null\n : clamp(Number(val), props.min, props.max)\n )\n\n const _inputText = shallowRef<string | null>(null)\n watchEffect(() => {\n if (isFocused.value && !controlsDisabled.value) {\n // ignore external changes\n } else if (model.value == null) {\n _inputText.value = null\n } else if (!isNaN(model.value)) {\n _inputText.value = correctPrecision(model.value)\n }\n })\n const inputText = computed<string | null>({\n get: () => _inputText.value,\n set (val) {\n if (val === null || val === '') {\n model.value = null\n _inputText.value = null\n return\n }\n const parsedValue = Number(val.replace(decimalSeparator.value, '.'))\n if (!isNaN(parsedValue) && parsedValue <= props.max && parsedValue >= props.min) {\n model.value = parsedValue\n _inputText.value = val\n }\n },\n })\n\n const canIncrease = computed(() => {\n if (controlsDisabled.value) return false\n return (model.value ?? 0) as number + props.step <= props.max\n })\n const canDecrease = computed(() => {\n if (controlsDisabled.value) return false\n return (model.value ?? 0) as number - props.step >= props.min\n })\n\n const controlVariant = computed(() => {\n return props.hideInput ? 'stacked' : props.controlVariant\n })\n\n const incrementIcon = toRef(() => controlVariant.value === 'split' ? '$plus' : '$collapse')\n const decrementIcon = toRef(() => controlVariant.value === 'split' ? '$minus' : '$expand')\n const controlNodeSize = toRef(() => controlVariant.value === 'split' ? 'default' : 'small')\n const controlNodeDefaultHeight = toRef(() => controlVariant.value === 'stacked' ? 'auto' : '100%')\n\n const incrementSlotProps = {\n props: {\n onClick: onControlClick,\n onPointerup: onControlMouseup,\n onPointerdown: onUpControlMousedown,\n onPointercancel: onControlMouseup,\n },\n }\n const decrementSlotProps = {\n props: {\n onClick: onControlClick,\n onPointerup: onControlMouseup,\n onPointerdown: onDownControlMousedown,\n onPointercancel: onControlMouseup,\n },\n }\n\n watch(() => props.precision, () => formatInputValue())\n watch(() => props.minFractionDigits, () => formatInputValue())\n\n onMounted(() => {\n clampModel()\n })\n\n function inferPrecision (value: number | null) {\n if (value == null) return 0\n const str = value.toString()\n const idx = str.indexOf('.')\n return ~idx ? str.length - idx : 0\n }\n\n function toggleUpDown (increment = true) {\n if (controlsDisabled.value) return\n if (model.value == null) {\n inputText.value = correctPrecision(clamp(0, props.min, props.max))\n return\n }\n\n let inferredPrecision = Math.max(inferPrecision(model.value), inferPrecision(props.step))\n if (props.precision != null) inferredPrecision = Math.max(inferredPrecision, props.precision)\n if (increment) {\n if (canIncrease.value) inputText.value = correctPrecision(model.value + props.step, inferredPrecision)\n } else {\n if (canDecrease.value) inputText.value = correctPrecision(model.value - props.step, inferredPrecision)\n }\n }\n\n function onBeforeinput (e: InputEvent) {\n if (!e.data) return\n const inputElement = e.target as HTMLInputElement\n const { value: existingTxt, selectionStart, selectionEnd } = inputElement ?? {}\n\n const potentialNewInputVal =\n existingTxt\n ? existingTxt.slice(0, selectionStart as number | undefined) + e.data + existingTxt.slice(selectionEnd as number | undefined)\n : e.data\n\n const potentialNewNumber = extractNumber(potentialNewInputVal, props.precision, decimalSeparator.value)\n\n // Allow only numbers, \"-\" and {decimal separator}\n // Allow \"-\" and {decimal separator} only once\n // Allow \"-\" only at the start\n if (!new RegExp(`^-?\\\\d*${escapeForRegex(decimalSeparator.value)}?\\\\d*$`).test(potentialNewInputVal)) {\n e.preventDefault()\n inputElement!.value = potentialNewNumber\n }\n\n if (props.precision == null) return\n\n // Ignore decimal digits above precision limit\n if (potentialNewInputVal.split(decimalSeparator.value)[1]?.length > props.precision) {\n e.preventDefault()\n inputElement!.value = potentialNewNumber\n }\n // Ignore decimal separator when precision = 0\n if (props.precision === 0 && potentialNewInputVal.includes(decimalSeparator.value)) {\n e.preventDefault()\n inputElement!.value = potentialNewNumber\n }\n }\n\n async function onKeydown (e: KeyboardEvent) {\n if (\n ['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].includes(e.key) ||\n e.ctrlKey\n ) return\n\n if (['ArrowDown', 'ArrowUp'].includes(e.key)) {\n e.preventDefault()\n clampModel()\n // _model is controlled, so need to wait until props['modelValue'] is updated\n await nextTick()\n if (e.key === 'ArrowDown') {\n toggleUpDown(false)\n } else {\n toggleUpDown()\n }\n }\n }\n\n function onControlClick (e: MouseEvent) {\n e.stopPropagation()\n }\n\n function onControlMouseup (e: PointerEvent) {\n const el = e.currentTarget as HTMLElement\n el?.releasePointerCapture(e.pointerId)\n e.preventDefault()\n holdStop()\n }\n\n function onUpControlMousedown (e: PointerEvent) {\n const el = e.currentTarget as HTMLElement\n el?.setPointerCapture(e.pointerId)\n e.preventDefault()\n e.stopPropagation()\n holdStart('up')\n }\n\n function onDownControlMousedown (e: PointerEvent) {\n const el = e.currentTarget as HTMLElement\n el?.setPointerCapture(e.pointerId)\n e.preventDefault()\n e.stopPropagation()\n holdStart('down')\n }\n\n function clampModel () {\n if (controlsDisabled.value) return\n if (!vTextFieldRef.value) return\n const actualText = vTextFieldRef.value.value\n const parsedValue = Number(actualText.replace(decimalSeparator.value, '.'))\n if (actualText && !isNaN(parsedValue)) {\n inputText.value = correctPrecision(clamp(parsedValue, props.min, props.max))\n } else {\n inputText.value = null\n }\n }\n\n function formatInputValue () {\n if (controlsDisabled.value) return\n inputText.value = model.value !== null && !isNaN(model.value)\n ? correctPrecision(model.value, props.precision, false)\n : null\n }\n\n function trimDecimalZeros () {\n if (controlsDisabled.value) return\n if (model.value === null || isNaN(model.value)) {\n inputText.value = null\n return\n }\n inputText.value = model.value.toString()\n .replace('.', decimalSeparator.value)\n }\n\n function onFocus () {\n trimDecimalZeros()\n }\n\n function onBlur () {\n clampModel()\n }\n\n useRender(() => {\n const { modelValue: _, ...textFieldProps } = VTextField.filterProps(props)\n\n function incrementControlNode () {\n return !slots.increment ? (\n <VBtn\n aria-hidden=\"true\"\n data-testid=\"increment\"\n disabled={ !canIncrease.value }\n flat\n height={ controlNodeDefaultHeight.value }\n icon={ incrementIcon.value }\n key=\"increment-btn\"\n onClick={ onControlClick }\n onPointerdown={ onUpControlMousedown }\n onPointerup={ onControlMouseup }\n onPointercancel={ onControlMouseup }\n size={ controlNodeSize.value }\n tabindex=\"-1\"\n />\n ) : (\n <VDefaultsProvider\n key=\"increment-defaults\"\n defaults={{\n VBtn: {\n disabled: !canIncrease.value,\n flat: true,\n height: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: incrementIcon.value,\n },\n }}\n >\n { slots.increment(incrementSlotProps) }\n </VDefaultsProvider>\n )\n }\n\n function decrementControlNode () {\n return !slots.decrement ? (\n <VBtn\n aria-hidden=\"true\"\n data-testid=\"decrement\"\n disabled={ !canDecrease.value }\n flat\n height={ controlNodeDefaultHeight.value }\n icon={ decrementIcon.value }\n key=\"decrement-btn\"\n onClick={ onControlClick }\n onPointerdown={ onDownControlMousedown }\n onPointerup={ onControlMouseup }\n onPointercancel={ onControlMouseup }\n size={ controlNodeSize.value }\n tabindex=\"-1\"\n />\n ) : (\n <VDefaultsProvider\n key=\"decrement-defaults\"\n defaults={{\n VBtn: {\n disabled: !canDecrease.value,\n flat: true,\n height: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: decrementIcon.value,\n },\n }}\n >\n { slots.decrement(decrementSlotProps) }\n </VDefaultsProvider>\n )\n }\n\n function controlNode () {\n return (\n <div class=\"v-number-input__control\">\n { decrementControlNode() }\n\n <VDivider\n vertical={ controlVariant.value !== 'stacked' }\n />\n\n { incrementControlNode() }\n </div>\n )\n }\n\n function dividerNode () {\n return !props.hideInput && !props.inset ? <VDivider vertical /> : undefined\n }\n\n const appendInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n <VDivider vertical />\n\n { incrementControlNode() }\n </div>\n ) : (props.reverse || controlVariant.value === 'hidden'\n ? undefined\n : <>{ dividerNode() }{ controlNode() }</>)\n\n const hasAppendInner = slots['append-inner'] || appendInnerControl\n\n const prependInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n { decrementControlNode() }\n\n <VDivider vertical />\n </div>\n ) : (props.reverse && controlVariant.value !== 'hidden'\n ? <>{ controlNode() }{ dividerNode() }</>\n : undefined)\n\n const hasPrependInner = slots['prepend-inner'] || prependInnerControl\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n v-model={ inputText.value }\n v-model:focused={ isFocused.value }\n validationValue={ model.value }\n onBeforeinput={ onBeforeinput }\n onFocus={ onFocus }\n onBlur={ onBlur }\n onKeydown={ onKeydown }\n class={[\n 'v-number-input',\n {\n 'v-number-input--default': controlVariant.value === 'default',\n 'v-number-input--hide-input': props.hideInput,\n 'v-number-input--inset': props.inset,\n 'v-number-input--reverse': props.reverse,\n 'v-number-input--split': controlVariant.value === 'split',\n 'v-number-input--stacked': controlVariant.value === 'stacked',\n },\n props.class,\n ]}\n style={ props.style }\n inputmode=\"decimal\"\n >\n {{\n ...slots,\n 'append-inner': hasAppendInner ? (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { appendInnerControl }\n </>\n ) : undefined,\n 'prepend-inner': hasPrependInner ? (...args) => (\n <>\n { prependInnerControl }\n { slots['prepend-inner']?.(...args) }\n </>\n ) : undefined,\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({}, vTextFieldRef)\n },\n})\n\nexport type VNumberInput = InstanceType<typeof VNumberInput>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VNumberInput.js","names":["VBtn","VDefaultsProvider","VDivider","makeVTextFieldProps","VTextField","useHold","useForm","forwardRefs","useLocale","useProxiedModel","computed","nextTick","onMounted","ref","shallowRef","toRef","watch","watchEffect","clamp","escapeForRegex","extractNumber","genericComponent","omit","propsFactory","useRender","makeVNumberInputProps","controlVariant","type","String","default","inset","Boolean","hideInput","modelValue","Number","min","MIN_SAFE_INTEGER","max","MAX_SAFE_INTEGER","step","precision","minFractionDigits","decimalSeparator","validator","v","length","VNumberInput","name","props","emits","val","setup","_ref","slots","vTextFieldRef","holdStart","holdStop","toggleUpDown","form","controlsDisabled","isDisabled","value","isReadonly","isFocused","focused","decimalSeparatorFromLocale","correctPrecision","arguments","undefined","trim","fixed","toFixed","toString","replace","baseDigits","fractionDigits","split","padEnd","RegExp","filter","join","model","_inputText","isNaN","inputText","get","set","parsedValue","canIncrease","canDecrease","incrementIcon","decrementIcon","controlNodeSize","controlNodeDefaultHeight","incrementSlotProps","onClick","onControlClick","onPointerup","onControlMouseup","onPointerdown","onUpControlMousedown","onPointercancel","decrementSlotProps","onDownControlMousedown","formatInputValue","clampModel","inferPrecision","str","idx","indexOf","increment","inferredPrecision","Math","onBeforeinput","e","data","inputElement","target","existingTxt","selectionStart","selectionEnd","potentialNewInputVal","slice","potentialNewNumber","test","preventDefault","cursorPosition","setSelectionRange","includes","onKeydown","key","ctrlKey","stopPropagation","el","currentTarget","releasePointerCapture","pointerId","setPointerCapture","actualText","trimDecimalZeros","onFocus","onBlur","_","textFieldProps","filterProps","incrementControlNode","_createVNode","disabled","flat","height","size","icon","decrementControlNode","decrement","controlNode","_createElementVNode","dividerNode","appendInnerControl","reverse","_Fragment","hasAppendInner","prependInnerControl","hasPrependInner","_mergeProps","$event","class","style","_len","args","Array","_key","_len2","_key2"],"sources":["../../../src/components/VNumberInput/VNumberInput.tsx"],"sourcesContent":["// Styles\nimport './VNumberInput.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VDivider } from '@/components/VDivider'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useHold } from './hold'\nimport { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, nextTick, onMounted, ref, shallowRef, toRef, watch, watchEffect } from 'vue'\nimport { clamp, escapeForRegex, extractNumber, genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\ntype ControlSlot = {\n props: Record<string, unknown>\n}\n\ntype VNumberInputSlots = Omit<VTextFieldSlots, 'default'> & {\n increment: ControlSlot\n decrement: ControlSlot\n}\n\ntype ControlVariant = 'default' | 'stacked' | 'split' | 'hidden'\n\nconst makeVNumberInputProps = propsFactory({\n controlVariant: {\n type: String as PropType<ControlVariant>,\n default: 'default',\n },\n inset: Boolean,\n hideInput: Boolean,\n modelValue: {\n type: Number as PropType<number | null>,\n default: null,\n },\n min: {\n type: Number,\n default: Number.MIN_SAFE_INTEGER,\n },\n max: {\n type: Number,\n default: Number.MAX_SAFE_INTEGER,\n },\n step: {\n type: Number,\n default: 1,\n },\n precision: {\n type: Number as PropType<number | null>,\n default: 0,\n },\n minFractionDigits: {\n type: Number as PropType<number | null>,\n default: null,\n },\n decimalSeparator: {\n type: String,\n validator: (v: any) => !v || v.length === 1,\n },\n\n ...omit(makeVTextFieldProps(), ['modelValue', 'validationValue']),\n}, 'VNumberInput')\n\nexport const VNumberInput = genericComponent<VNumberInputSlots>()({\n name: 'VNumberInput',\n\n props: {\n ...makeVNumberInputProps(),\n },\n\n emits: {\n 'update:focused': (val: boolean) => true,\n 'update:modelValue': (val: number) => true,\n },\n\n setup (props, { slots }) {\n const vTextFieldRef = ref<VTextField>()\n\n const { holdStart, holdStop } = useHold({ toggleUpDown })\n const form = useForm(props)\n const controlsDisabled = computed(() => (\n form.isDisabled.value || form.isReadonly.value\n ))\n\n const isFocused = shallowRef(props.focused)\n\n const { decimalSeparator: decimalSeparatorFromLocale } = useLocale()\n const decimalSeparator = computed(() => props.decimalSeparator?.[0] || decimalSeparatorFromLocale.value)\n\n function correctPrecision (val: number, precision = props.precision, trim = true) {\n const fixed = precision == null\n ? String(val)\n : val.toFixed(precision)\n\n if (isFocused.value && trim) {\n return Number(fixed).toString() // trim zeros\n .replace('.', decimalSeparator.value)\n }\n\n if (props.minFractionDigits === null || (precision !== null && precision < props.minFractionDigits)) {\n return fixed.replace('.', decimalSeparator.value)\n }\n\n let [baseDigits, fractionDigits] = fixed.split('.')\n\n fractionDigits = (fractionDigits ?? '').padEnd(props.minFractionDigits, '0')\n .replace(new RegExp(`(?<=\\\\d{${props.minFractionDigits}})0`, 'g'), '')\n\n return [\n baseDigits,\n fractionDigits,\n ].filter(Boolean).join(decimalSeparator.value)\n }\n\n const model = useProxiedModel(props, 'modelValue', null,\n val => val ?? null,\n val => val == null\n ? val ?? null\n : clamp(Number(val), props.min, props.max)\n )\n\n const _inputText = shallowRef<string | null>(null)\n watchEffect(() => {\n if (isFocused.value && !controlsDisabled.value) {\n // ignore external changes\n } else if (model.value == null) {\n _inputText.value = null\n } else if (!isNaN(model.value)) {\n _inputText.value = correctPrecision(model.value)\n }\n })\n const inputText = computed<string | null>({\n get: () => _inputText.value,\n set (val) {\n if (val === null || val === '') {\n model.value = null\n _inputText.value = null\n return\n }\n const parsedValue = Number(val.replace(decimalSeparator.value, '.'))\n if (!isNaN(parsedValue) && parsedValue <= props.max && parsedValue >= props.min) {\n model.value = parsedValue\n _inputText.value = val\n }\n },\n })\n\n const canIncrease = computed(() => {\n if (controlsDisabled.value) return false\n return (model.value ?? 0) as number + props.step <= props.max\n })\n const canDecrease = computed(() => {\n if (controlsDisabled.value) return false\n return (model.value ?? 0) as number - props.step >= props.min\n })\n\n const controlVariant = computed(() => {\n return props.hideInput ? 'stacked' : props.controlVariant\n })\n\n const incrementIcon = toRef(() => controlVariant.value === 'split' ? '$plus' : '$collapse')\n const decrementIcon = toRef(() => controlVariant.value === 'split' ? '$minus' : '$expand')\n const controlNodeSize = toRef(() => controlVariant.value === 'split' ? 'default' : 'small')\n const controlNodeDefaultHeight = toRef(() => controlVariant.value === 'stacked' ? 'auto' : '100%')\n\n const incrementSlotProps = {\n props: {\n onClick: onControlClick,\n onPointerup: onControlMouseup,\n onPointerdown: onUpControlMousedown,\n onPointercancel: onControlMouseup,\n },\n }\n const decrementSlotProps = {\n props: {\n onClick: onControlClick,\n onPointerup: onControlMouseup,\n onPointerdown: onDownControlMousedown,\n onPointercancel: onControlMouseup,\n },\n }\n\n watch(() => props.precision, () => formatInputValue())\n watch(() => props.minFractionDigits, () => formatInputValue())\n\n onMounted(() => {\n clampModel()\n })\n\n function inferPrecision (value: number | null) {\n if (value == null) return 0\n const str = value.toString()\n const idx = str.indexOf('.')\n return ~idx ? str.length - idx : 0\n }\n\n function toggleUpDown (increment = true) {\n if (controlsDisabled.value) return\n if (model.value == null) {\n inputText.value = correctPrecision(clamp(0, props.min, props.max))\n return\n }\n\n let inferredPrecision = Math.max(inferPrecision(model.value), inferPrecision(props.step))\n if (props.precision != null) inferredPrecision = Math.max(inferredPrecision, props.precision)\n if (increment) {\n if (canIncrease.value) inputText.value = correctPrecision(model.value + props.step, inferredPrecision)\n } else {\n if (canDecrease.value) inputText.value = correctPrecision(model.value - props.step, inferredPrecision)\n }\n }\n\n function onBeforeinput (e: InputEvent) {\n if (!e.data) return\n const inputElement = e.target as HTMLInputElement\n const { value: existingTxt, selectionStart, selectionEnd } = inputElement ?? {}\n\n const potentialNewInputVal =\n existingTxt\n ? existingTxt.slice(0, selectionStart as number | undefined) + e.data + existingTxt.slice(selectionEnd as number | undefined)\n : e.data\n\n const potentialNewNumber = extractNumber(potentialNewInputVal, props.precision, decimalSeparator.value)\n\n // Allow only numbers, \"-\" and {decimal separator}\n // Allow \"-\" and {decimal separator} only once\n // Allow \"-\" only at the start\n if (!new RegExp(`^-?\\\\d*${escapeForRegex(decimalSeparator.value)}?\\\\d*$`).test(potentialNewInputVal)) {\n e.preventDefault()\n inputElement!.value = potentialNewNumber\n }\n\n if (props.precision == null) return\n\n // Ignore decimal digits above precision limit\n if (potentialNewInputVal.split(decimalSeparator.value)[1]?.length > props.precision) {\n e.preventDefault()\n inputElement!.value = potentialNewNumber\n\n const cursorPosition = (selectionStart ?? 0) + e.data.length\n inputElement!.setSelectionRange(cursorPosition, cursorPosition)\n }\n // Ignore decimal separator when precision = 0\n if (props.precision === 0 && potentialNewInputVal.includes(decimalSeparator.value)) {\n e.preventDefault()\n inputElement!.value = potentialNewNumber\n }\n }\n\n async function onKeydown (e: KeyboardEvent) {\n if (\n ['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].includes(e.key) ||\n e.ctrlKey\n ) return\n\n if (['ArrowDown', 'ArrowUp'].includes(e.key)) {\n e.preventDefault()\n clampModel()\n // _model is controlled, so need to wait until props['modelValue'] is updated\n await nextTick()\n if (e.key === 'ArrowDown') {\n toggleUpDown(false)\n } else {\n toggleUpDown()\n }\n }\n }\n\n function onControlClick (e: MouseEvent) {\n e.stopPropagation()\n }\n\n function onControlMouseup (e: PointerEvent) {\n const el = e.currentTarget as HTMLElement\n el?.releasePointerCapture(e.pointerId)\n e.preventDefault()\n holdStop()\n }\n\n function onUpControlMousedown (e: PointerEvent) {\n const el = e.currentTarget as HTMLElement\n el?.setPointerCapture(e.pointerId)\n e.preventDefault()\n e.stopPropagation()\n holdStart('up')\n }\n\n function onDownControlMousedown (e: PointerEvent) {\n const el = e.currentTarget as HTMLElement\n el?.setPointerCapture(e.pointerId)\n e.preventDefault()\n e.stopPropagation()\n holdStart('down')\n }\n\n function clampModel () {\n if (controlsDisabled.value) return\n if (!vTextFieldRef.value) return\n const actualText = vTextFieldRef.value.value\n const parsedValue = Number(actualText.replace(decimalSeparator.value, '.'))\n if (actualText && !isNaN(parsedValue)) {\n inputText.value = correctPrecision(clamp(parsedValue, props.min, props.max))\n } else {\n inputText.value = null\n }\n }\n\n function formatInputValue () {\n if (controlsDisabled.value) return\n inputText.value = model.value !== null && !isNaN(model.value)\n ? correctPrecision(model.value, props.precision, false)\n : null\n }\n\n function trimDecimalZeros () {\n if (controlsDisabled.value) return\n if (model.value === null || isNaN(model.value)) {\n inputText.value = null\n return\n }\n inputText.value = model.value.toString()\n .replace('.', decimalSeparator.value)\n }\n\n function onFocus () {\n trimDecimalZeros()\n }\n\n function onBlur () {\n clampModel()\n }\n\n useRender(() => {\n const { modelValue: _, ...textFieldProps } = VTextField.filterProps(props)\n\n function incrementControlNode () {\n return !slots.increment ? (\n <VBtn\n aria-hidden=\"true\"\n data-testid=\"increment\"\n disabled={ !canIncrease.value }\n flat\n height={ controlNodeDefaultHeight.value }\n icon={ incrementIcon.value }\n key=\"increment-btn\"\n onClick={ onControlClick }\n onPointerdown={ onUpControlMousedown }\n onPointerup={ onControlMouseup }\n onPointercancel={ onControlMouseup }\n size={ controlNodeSize.value }\n tabindex=\"-1\"\n />\n ) : (\n <VDefaultsProvider\n key=\"increment-defaults\"\n defaults={{\n VBtn: {\n disabled: !canIncrease.value,\n flat: true,\n height: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: incrementIcon.value,\n },\n }}\n >\n { slots.increment(incrementSlotProps) }\n </VDefaultsProvider>\n )\n }\n\n function decrementControlNode () {\n return !slots.decrement ? (\n <VBtn\n aria-hidden=\"true\"\n data-testid=\"decrement\"\n disabled={ !canDecrease.value }\n flat\n height={ controlNodeDefaultHeight.value }\n icon={ decrementIcon.value }\n key=\"decrement-btn\"\n onClick={ onControlClick }\n onPointerdown={ onDownControlMousedown }\n onPointerup={ onControlMouseup }\n onPointercancel={ onControlMouseup }\n size={ controlNodeSize.value }\n tabindex=\"-1\"\n />\n ) : (\n <VDefaultsProvider\n key=\"decrement-defaults\"\n defaults={{\n VBtn: {\n disabled: !canDecrease.value,\n flat: true,\n height: controlNodeDefaultHeight.value,\n size: controlNodeSize.value,\n icon: decrementIcon.value,\n },\n }}\n >\n { slots.decrement(decrementSlotProps) }\n </VDefaultsProvider>\n )\n }\n\n function controlNode () {\n return (\n <div class=\"v-number-input__control\">\n { decrementControlNode() }\n\n <VDivider\n vertical={ controlVariant.value !== 'stacked' }\n />\n\n { incrementControlNode() }\n </div>\n )\n }\n\n function dividerNode () {\n return !props.hideInput && !props.inset ? <VDivider vertical /> : undefined\n }\n\n const appendInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n <VDivider vertical />\n\n { incrementControlNode() }\n </div>\n ) : (props.reverse || controlVariant.value === 'hidden'\n ? undefined\n : <>{ dividerNode() }{ controlNode() }</>)\n\n const hasAppendInner = slots['append-inner'] || appendInnerControl\n\n const prependInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n { decrementControlNode() }\n\n <VDivider vertical />\n </div>\n ) : (props.reverse && controlVariant.value !== 'hidden'\n ? <>{ controlNode() }{ dividerNode() }</>\n : undefined)\n\n const hasPrependInner = slots['prepend-inner'] || prependInnerControl\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n v-model={ inputText.value }\n v-model:focused={ isFocused.value }\n validationValue={ model.value }\n onBeforeinput={ onBeforeinput }\n onFocus={ onFocus }\n onBlur={ onBlur }\n onKeydown={ onKeydown }\n class={[\n 'v-number-input',\n {\n 'v-number-input--default': controlVariant.value === 'default',\n 'v-number-input--hide-input': props.hideInput,\n 'v-number-input--inset': props.inset,\n 'v-number-input--reverse': props.reverse,\n 'v-number-input--split': controlVariant.value === 'split',\n 'v-number-input--stacked': controlVariant.value === 'stacked',\n },\n props.class,\n ]}\n style={ props.style }\n inputmode=\"decimal\"\n >\n {{\n ...slots,\n 'append-inner': hasAppendInner ? (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { appendInnerControl }\n </>\n ) : undefined,\n 'prepend-inner': hasPrependInner ? (...args) => (\n <>\n { prependInnerControl }\n { slots['prepend-inner']?.(...args) }\n </>\n ) : undefined,\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({}, vTextFieldRef)\n },\n})\n\nexport type VNumberInput = InstanceType<typeof VNumberInput>\n"],"mappings":"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","ignoreList":[]}
|
package/lib/entry-bundler.js
CHANGED
@@ -16,7 +16,7 @@ export const createVuetify = function () {
|
|
16
16
|
...options
|
17
17
|
});
|
18
18
|
};
|
19
|
-
export const version = "3.9.2-master.2025-07-
|
19
|
+
export const version = "3.9.2-master.2025-07-27";
|
20
20
|
createVuetify.version = version;
|
21
21
|
export { blueprints, components, directives };
|
22
22
|
export * from "./composables/index.js";
|
package/lib/framework.d.ts
CHANGED
@@ -2605,24 +2605,26 @@ declare module 'vue' {
|
|
2605
2605
|
}
|
2606
2606
|
export interface GlobalComponents {
|
2607
2607
|
VApp: typeof import('vuetify/components')['VApp']
|
2608
|
+
VAlert: typeof import('vuetify/components')['VAlert']
|
2609
|
+
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
2608
2610
|
VAppBar: typeof import('vuetify/components')['VAppBar']
|
2609
2611
|
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
2610
2612
|
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
2611
|
-
VAvatar: typeof import('vuetify/components')['VAvatar']
|
2612
2613
|
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
2613
|
-
|
2614
|
-
|
2614
|
+
VAvatar: typeof import('vuetify/components')['VAvatar']
|
2615
|
+
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
2616
|
+
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
2617
|
+
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
2615
2618
|
VBadge: typeof import('vuetify/components')['VBadge']
|
2619
|
+
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
2620
|
+
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
2616
2621
|
VBanner: typeof import('vuetify/components')['VBanner']
|
2617
2622
|
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
2618
2623
|
VBannerText: typeof import('vuetify/components')['VBannerText']
|
2619
|
-
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
2620
|
-
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
2621
|
-
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
2622
|
-
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
2623
|
-
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
2624
|
-
VBtn: typeof import('vuetify/components')['VBtn']
|
2625
2624
|
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
2625
|
+
VBtn: typeof import('vuetify/components')['VBtn']
|
2626
|
+
VCarousel: typeof import('vuetify/components')['VCarousel']
|
2627
|
+
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
2626
2628
|
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
2627
2629
|
VCard: typeof import('vuetify/components')['VCard']
|
2628
2630
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
@@ -2630,14 +2632,12 @@ declare module 'vue' {
|
|
2630
2632
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
2631
2633
|
VCardText: typeof import('vuetify/components')['VCardText']
|
2632
2634
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
2635
|
+
VCode: typeof import('vuetify/components')['VCode']
|
2636
|
+
VChip: typeof import('vuetify/components')['VChip']
|
2637
|
+
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
2633
2638
|
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
2634
2639
|
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
2635
|
-
VCarousel: typeof import('vuetify/components')['VCarousel']
|
2636
|
-
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
2637
|
-
VChip: typeof import('vuetify/components')['VChip']
|
2638
2640
|
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
2639
|
-
VCode: typeof import('vuetify/components')['VCode']
|
2640
|
-
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
2641
2641
|
VCounter: typeof import('vuetify/components')['VCounter']
|
2642
2642
|
VDataTable: typeof import('vuetify/components')['VDataTable']
|
2643
2643
|
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
@@ -2646,26 +2646,25 @@ declare module 'vue' {
|
|
2646
2646
|
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
2647
2647
|
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
2648
2648
|
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
2649
|
-
VCombobox: typeof import('vuetify/components')['VCombobox']
|
2650
2649
|
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
2651
2650
|
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
2652
2651
|
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
2653
2652
|
VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
|
2654
2653
|
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
2655
2654
|
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
2655
|
+
VCombobox: typeof import('vuetify/components')['VCombobox']
|
2656
2656
|
VDialog: typeof import('vuetify/components')['VDialog']
|
2657
|
+
VDivider: typeof import('vuetify/components')['VDivider']
|
2657
2658
|
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
2658
2659
|
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
2659
2660
|
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
2660
2661
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
2662
|
+
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
2663
|
+
VFileInput: typeof import('vuetify/components')['VFileInput']
|
2661
2664
|
VField: typeof import('vuetify/components')['VField']
|
2662
2665
|
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
2663
|
-
VFab: typeof import('vuetify/components')['VFab']
|
2664
|
-
VDivider: typeof import('vuetify/components')['VDivider']
|
2665
|
-
VFileInput: typeof import('vuetify/components')['VFileInput']
|
2666
2666
|
VFooter: typeof import('vuetify/components')['VFooter']
|
2667
|
-
|
2668
|
-
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
2667
|
+
VFab: typeof import('vuetify/components')['VFab']
|
2669
2668
|
VImg: typeof import('vuetify/components')['VImg']
|
2670
2669
|
VIcon: typeof import('vuetify/components')['VIcon']
|
2671
2670
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
@@ -2673,10 +2672,10 @@ declare module 'vue' {
|
|
2673
2672
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
2674
2673
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
2675
2674
|
VInput: typeof import('vuetify/components')['VInput']
|
2676
|
-
|
2677
|
-
VKbd: typeof import('vuetify/components')['VKbd']
|
2675
|
+
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
2678
2676
|
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
2679
2677
|
VItem: typeof import('vuetify/components')['VItem']
|
2678
|
+
VLabel: typeof import('vuetify/components')['VLabel']
|
2680
2679
|
VList: typeof import('vuetify/components')['VList']
|
2681
2680
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
2682
2681
|
VListImg: typeof import('vuetify/components')['VListImg']
|
@@ -2686,76 +2685,80 @@ declare module 'vue' {
|
|
2686
2685
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
2687
2686
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
2688
2687
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
2689
|
-
|
2688
|
+
VKbd: typeof import('vuetify/components')['VKbd']
|
2689
|
+
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
2690
2690
|
VMenu: typeof import('vuetify/components')['VMenu']
|
2691
|
+
VMain: typeof import('vuetify/components')['VMain']
|
2691
2692
|
VMessages: typeof import('vuetify/components')['VMessages']
|
2692
|
-
VOverlay: typeof import('vuetify/components')['VOverlay']
|
2693
2693
|
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
2694
|
+
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
2694
2695
|
VPagination: typeof import('vuetify/components')['VPagination']
|
2695
2696
|
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
2696
|
-
|
2697
|
-
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
2697
|
+
VOverlay: typeof import('vuetify/components')['VOverlay']
|
2698
2698
|
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
2699
|
-
|
2699
|
+
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
2700
2700
|
VSelect: typeof import('vuetify/components')['VSelect']
|
2701
|
+
VRating: typeof import('vuetify/components')['VRating']
|
2701
2702
|
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
2702
|
-
VSheet: typeof import('vuetify/components')['VSheet']
|
2703
2703
|
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
2704
2704
|
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
2705
|
-
|
2705
|
+
VSheet: typeof import('vuetify/components')['VSheet']
|
2706
2706
|
VSlider: typeof import('vuetify/components')['VSlider']
|
2707
|
+
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
2707
2708
|
VStepper: typeof import('vuetify/components')['VStepper']
|
2708
2709
|
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
2709
2710
|
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
2710
2711
|
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
2711
2712
|
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
2712
2713
|
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
2714
|
+
VSwitch: typeof import('vuetify/components')['VSwitch']
|
2713
2715
|
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
2714
2716
|
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
2715
2717
|
VTab: typeof import('vuetify/components')['VTab']
|
2716
2718
|
VTabs: typeof import('vuetify/components')['VTabs']
|
2717
2719
|
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
2718
2720
|
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
2719
|
-
|
2720
|
-
VTextarea: typeof import('vuetify/components')['VTextarea']
|
2721
|
+
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
2721
2722
|
VTimeline: typeof import('vuetify/components')['VTimeline']
|
2722
2723
|
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
2723
2724
|
VTextField: typeof import('vuetify/components')['VTextField']
|
2724
|
-
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
2725
2725
|
VTimePicker: typeof import('vuetify/components')['VTimePicker']
|
2726
2726
|
VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
|
2727
2727
|
VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
|
2728
2728
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
2729
2729
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
2730
2730
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
2731
|
-
|
2731
|
+
VTextarea: typeof import('vuetify/components')['VTextarea']
|
2732
2732
|
VTreeview: typeof import('vuetify/components')['VTreeview']
|
2733
2733
|
VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
|
2734
2734
|
VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
|
2735
2735
|
VTable: typeof import('vuetify/components')['VTable']
|
2736
2736
|
VWindow: typeof import('vuetify/components')['VWindow']
|
2737
2737
|
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
2738
|
+
VTooltip: typeof import('vuetify/components')['VTooltip']
|
2738
2739
|
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
2740
|
+
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
2739
2741
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
2740
2742
|
VContainer: typeof import('vuetify/components')['VContainer']
|
2741
2743
|
VCol: typeof import('vuetify/components')['VCol']
|
2742
2744
|
VRow: typeof import('vuetify/components')['VRow']
|
2743
2745
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
2746
|
+
VForm: typeof import('vuetify/components')['VForm']
|
2744
2747
|
VHover: typeof import('vuetify/components')['VHover']
|
2748
|
+
VLazy: typeof import('vuetify/components')['VLazy']
|
2745
2749
|
VLayout: typeof import('vuetify/components')['VLayout']
|
2746
2750
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
2747
|
-
VLazy: typeof import('vuetify/components')['VLazy']
|
2748
2751
|
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
2749
2752
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
2750
2753
|
VParallax: typeof import('vuetify/components')['VParallax']
|
2751
|
-
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
2752
2754
|
VRadio: typeof import('vuetify/components')['VRadio']
|
2755
|
+
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
2756
|
+
VSparkline: typeof import('vuetify/components')['VSparkline']
|
2753
2757
|
VResponsive: typeof import('vuetify/components')['VResponsive']
|
2754
2758
|
VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
|
2755
|
-
VSparkline: typeof import('vuetify/components')['VSparkline']
|
2756
2759
|
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
2757
|
-
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
2758
2760
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
2761
|
+
VValidation: typeof import('vuetify/components')['VValidation']
|
2759
2762
|
VFabTransition: typeof import('vuetify/components')['VFabTransition']
|
2760
2763
|
VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
|
2761
2764
|
VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
|
@@ -2772,35 +2775,32 @@ declare module 'vue' {
|
|
2772
2775
|
VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
|
2773
2776
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
2774
2777
|
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
2775
|
-
|
2776
|
-
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
2777
|
-
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
2778
|
-
VForm: typeof import('vuetify/components')['VForm']
|
2778
|
+
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
2779
2779
|
VCalendar: typeof import('vuetify/labs/components')['VCalendar']
|
2780
2780
|
VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
|
2781
2781
|
VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
|
2782
2782
|
VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
|
2783
2783
|
VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
|
2784
2784
|
VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
|
2785
|
+
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
2786
|
+
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
2785
2787
|
VPie: typeof import('vuetify/labs/components')['VPie']
|
2786
2788
|
VPieSegment: typeof import('vuetify/labs/components')['VPieSegment']
|
2787
2789
|
VPieTooltip: typeof import('vuetify/labs/components')['VPieTooltip']
|
2790
|
+
VColorInput: typeof import('vuetify/labs/components')['VColorInput']
|
2791
|
+
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
2792
|
+
VHotkey: typeof import('vuetify/labs/components')['VHotkey']
|
2788
2793
|
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
2789
2794
|
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
2790
|
-
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
2791
|
-
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
2792
|
-
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
2793
|
-
VHotkey: typeof import('vuetify/labs/components')['VHotkey']
|
2794
|
-
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
2795
|
-
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
2796
2795
|
VVideo: typeof import('vuetify/labs/components')['VVideo']
|
2797
2796
|
VVideoControls: typeof import('vuetify/labs/components')['VVideoControls']
|
2798
2797
|
VVideoVolume: typeof import('vuetify/labs/components')['VVideoVolume']
|
2798
|
+
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
2799
|
+
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
2800
|
+
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
2799
2801
|
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
2800
|
-
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
2801
2802
|
VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
|
2802
|
-
|
2803
|
-
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
2803
|
+
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
2804
2804
|
}
|
2805
2805
|
export interface GlobalDirectives {
|
2806
2806
|
vClickOutside: typeof import('vuetify/directives')['ClickOutside']
|
package/lib/framework.js
CHANGED
package/lib/labs/VPie/VPie.css
CHANGED