vuetify 3.10.6 → 3.10.7
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/dist/json/attributes.json +1705 -1705
- package/dist/json/importMap-labs.json +22 -22
- package/dist/json/importMap.json +164 -164
- package/dist/json/web-types.json +3230 -3230
- package/dist/vuetify-labs.cjs +28 -26
- package/dist/vuetify-labs.css +4841 -4841
- package/dist/vuetify-labs.d.ts +58 -58
- package/dist/vuetify-labs.esm.js +28 -26
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +28 -26
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +28 -26
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3692 -3692
- package/dist/vuetify.d.ts +58 -58
- package/dist/vuetify.esm.js +28 -26
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +28 -26
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +19 -19
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +2 -1
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.js +3 -2
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.js +3 -2
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +1 -1
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +2 -1
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +3 -2
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTextarea/VTextarea.d.ts +3 -3
- package/lib/components/VTextarea/VTextarea.js +3 -2
- package/lib/components/VTextarea/VTextarea.js.map +1 -1
- package/lib/components/VWindow/VWindow.js +8 -12
- package/lib/components/VWindow/VWindow.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +55 -55
- package/lib/framework.js +1 -1
- package/package.json +1 -1
|
@@ -245,12 +245,13 @@ export const VTextarea = genericComponent()({
|
|
|
245
245
|
props: {
|
|
246
246
|
class: fieldClass,
|
|
247
247
|
...slotProps
|
|
248
|
-
}
|
|
248
|
+
},
|
|
249
|
+
controlRef
|
|
249
250
|
} = _ref3;
|
|
250
251
|
return _createElementVNode(_Fragment, null, [props.prefix && _createElementVNode("span", {
|
|
251
252
|
"class": "v-text-field__prefix"
|
|
252
253
|
}, [props.prefix]), _withDirectives(_createElementVNode("textarea", _mergeProps({
|
|
253
|
-
"ref": textareaRef,
|
|
254
|
+
"ref": val => textareaRef.value = controlRef.value = val,
|
|
254
255
|
"class": fieldClass,
|
|
255
256
|
"value": model.value,
|
|
256
257
|
"onInput": onInput,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VTextarea.js","names":["VCounter","VField","makeVFieldProps","makeVInputProps","VInput","useDisplay","makeAutocompleteProps","useAutocomplete","useAutofocus","useFocus","forwardRefs","useProxiedModel","vIntersect","computed","nextTick","onBeforeUnmount","onMounted","ref","shallowRef","watch","watchEffect","callEvent","clamp","convertToUnit","filterInputAttrs","genericComponent","propsFactory","useRender","makeVTextareaProps","autoGrow","Boolean","autofocus","counter","Number","String","counterValue","Function","prefix","placeholder","persistentPlaceholder","persistentCounter","noResize","rows","type","default","validator","v","isNaN","parseFloat","maxRows","suffix","modelModifiers","Object","VTextarea","name","directives","inheritAttrs","props","emits","e","focused","val","setup","_ref","attrs","emit","slots","model","isFocused","focus","blur","onIntersect","value","toString","length","max","maxlength","undefined","vInputRef","vFieldRef","controlHeight","textareaRef","scrollbarWidth","platform","autocomplete","isActive","active","onFocus","isSuppressing","update","document","activeElement","onControlClick","onControlMousedown","onClear","stopPropagation","onInput","el","target","trim","caretPosition","selectionStart","selectionEnd","sizerRef","isPlainOrUnderlined","includes","variant","calculateInputHeight","firefox","offsetWidth","clientWidth","Math","style","getComputedStyle","fieldStyle","$el","padding","getPropertyValue","height","scrollHeight","lineHeight","minHeight","maxHeight","Infinity","newHeight","floor","density","observer","ResizeObserver","observe","disconnect","hasCounter","hasDetails","details","rootAttrs","inputAttrs","modelValue","_","inputProps","filterProps","fieldProps","_createVNode","_mergeProps","$event","class","_ref2","id","isDisabled","isDirty","isReadonly","isValid","dirty","_ref3","fieldClass","slotProps","_createElementVNode","_Fragment","_withDirectives","fieldName","fieldAutocomplete","handler","once","_normalizeClass","_vModelText","disabled"],"sources":["../../../src/components/VTextarea/VTextarea.tsx"],"sourcesContent":["// Styles\nimport './VTextarea.sass'\nimport '../VTextField/VTextField.sass'\n\n// Components\nimport { VCounter } from '@/components/VCounter/VCounter'\nimport { VField } from '@/components/VField'\nimport { makeVFieldProps } from '@/components/VField/VField'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { useDisplay } from '@/composables'\nimport { makeAutocompleteProps, useAutocomplete } from '@/composables/autocomplete'\nimport { useAutofocus } from '@/composables/autofocus'\nimport { useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport vIntersect from '@/directives/intersect'\n\n// Utilities\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, shallowRef, watch, watchEffect } from 'vue'\nimport { callEvent, clamp, convertToUnit, filterInputAttrs, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VCounterSlot } from '@/components/VCounter/VCounter'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nexport const makeVTextareaProps = propsFactory({\n autoGrow: Boolean,\n autofocus: Boolean,\n counter: [Boolean, Number, String] as PropType<true | number | string>,\n counterValue: Function as PropType<(value: any) => number>,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n noResize: Boolean,\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n maxRows: {\n type: [Number, String],\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n suffix: String,\n modelModifiers: Object as PropType<Record<string, boolean>>,\n\n ...makeAutocompleteProps(),\n ...makeVInputProps(),\n ...makeVFieldProps(),\n}, 'VTextarea')\n\ntype VTextareaSlots = Omit<VInputSlots & VFieldSlots, 'default'> & {\n counter: VCounterSlot\n}\n\nexport const VTextarea = genericComponent<VTextareaSlots>()({\n name: 'VTextarea',\n\n directives: { vIntersect },\n\n inheritAttrs: false,\n\n props: makeVTextareaProps(),\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'mousedown:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: string) => true,\n 'update:rows': (rows: number) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { isFocused, focus, blur } = useFocus(props)\n const { onIntersect } = useAutofocus(props)\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : (model.value || '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as string | number\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n const controlHeight = shallowRef('')\n const textareaRef = ref<HTMLInputElement>()\n const scrollbarWidth = ref(0)\n const { platform } = useDisplay()\n const autocomplete = useAutocomplete(props)\n const isActive = computed(() => (\n props.persistentPlaceholder ||\n isFocused.value ||\n props.active\n ))\n\n function onFocus () {\n if (autocomplete.isSuppressing.value) {\n autocomplete.update()\n }\n\n if (textareaRef.value !== document.activeElement) {\n textareaRef.value?.focus()\n }\n\n if (!isFocused.value) focus()\n }\n function onControlClick (e: MouseEvent) {\n onFocus()\n\n emit('click:control', e)\n }\n function onControlMousedown (e: MouseEvent) {\n emit('mousedown:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = ''\n\n callEvent(props['onClick:clear'], e)\n })\n }\n function onInput (e: Event) {\n const el = e.target as HTMLTextAreaElement\n model.value = el.value\n if (props.modelModifiers?.trim) {\n const caretPosition = [el.selectionStart, el.selectionEnd]\n nextTick(() => {\n el.selectionStart = caretPosition[0]\n el.selectionEnd = caretPosition[1]\n })\n }\n }\n\n const sizerRef = ref<HTMLTextAreaElement>()\n const rows = ref(Number(props.rows))\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n watchEffect(() => {\n if (!props.autoGrow) rows.value = Number(props.rows)\n })\n function calculateInputHeight () {\n nextTick(() => {\n if (!textareaRef.value) return\n if (platform.value.firefox) {\n scrollbarWidth.value = 12\n return\n }\n const { offsetWidth, clientWidth } = textareaRef.value\n scrollbarWidth.value = Math.max(0, offsetWidth - clientWidth)\n })\n\n if (!props.autoGrow) return\n\n nextTick(() => {\n if (!sizerRef.value || !vFieldRef.value) return\n\n const style = getComputedStyle(sizerRef.value)\n const fieldStyle = getComputedStyle(vFieldRef.value.$el)\n\n const padding = parseFloat(style.getPropertyValue('--v-field-padding-top')) +\n parseFloat(style.getPropertyValue('--v-input-padding-top')) +\n parseFloat(style.getPropertyValue('--v-field-padding-bottom'))\n\n const height = sizerRef.value.scrollHeight\n const lineHeight = parseFloat(style.lineHeight)\n const minHeight = Math.max(\n parseFloat(props.rows) * lineHeight + padding,\n parseFloat(fieldStyle.getPropertyValue('--v-input-control-height'))\n )\n const maxHeight = parseFloat(props.maxRows!) * lineHeight + padding || Infinity\n const newHeight = clamp(height ?? 0, minHeight, maxHeight)\n rows.value = Math.floor((newHeight - padding) / lineHeight)\n\n controlHeight.value = convertToUnit(newHeight)\n })\n }\n\n onMounted(calculateInputHeight)\n watch(model, calculateInputHeight)\n watch(() => props.rows, calculateInputHeight)\n watch(() => props.maxRows, calculateInputHeight)\n watch(() => props.density, calculateInputHeight)\n watch(rows, val => {\n emit('update:rows', val)\n })\n\n let observer: ResizeObserver | undefined\n watch(sizerRef, val => {\n if (val) {\n observer = new ResizeObserver(calculateInputHeight)\n observer.observe(sizerRef.value!)\n } else {\n observer?.disconnect()\n }\n })\n onBeforeUnmount(() => {\n observer?.disconnect()\n })\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const hasDetails = !!(hasCounter || slots.details)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const { modelValue: _, ...inputProps } = VInput.filterProps(props)\n const fieldProps = {\n ...VField.filterProps(props),\n 'onClick:clear': onClear,\n }\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-textarea v-text-field',\n {\n 'v-textarea--prefixed': props.prefix,\n 'v-textarea--suffixed': props.suffix,\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n 'v-textarea--auto-grow': props.autoGrow,\n 'v-textarea--no-resize': props.noResize || props.autoGrow,\n 'v-input--plain-underlined': isPlainOrUnderlined.value,\n },\n props.class,\n ]}\n style={[\n {\n '--v-textarea-scroll-bar-width': convertToUnit(scrollbarWidth.value),\n },\n props.style,\n ]}\n { ...rootAttrs }\n { ...inputProps }\n centerAffix={ rows.value === 1 && !isPlainOrUnderlined.value }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({\n id,\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n hasDetails,\n }) => (\n <VField\n ref={ vFieldRef }\n style={{\n '--v-textarea-control-height': controlHeight.value,\n }}\n onClick={ onControlClick }\n onMousedown={ onControlMousedown }\n onClick:prependInner={ props['onClick:prependInner'] }\n onClick:appendInner={ props['onClick:appendInner'] }\n { ...fieldProps }\n id={ id.value }\n active={ isActive.value || isDirty.value }\n centerAffix={ rows.value === 1 && !isPlainOrUnderlined.value }\n dirty={ isDirty.value || props.dirty }\n disabled={ isDisabled.value }\n focused={ isFocused.value }\n details={ hasDetails.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\">\n { props.prefix }\n </span>\n )}\n\n <textarea\n ref={ textareaRef }\n class={ fieldClass }\n value={ model.value }\n onInput={ onInput }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n placeholder={ props.placeholder }\n rows={ props.rows }\n name={ autocomplete.fieldName.value }\n autocomplete={ autocomplete.fieldAutocomplete.value }\n onFocus={ onFocus }\n onBlur={ blur }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n { props.autoGrow && (\n <textarea\n class={[\n fieldClass,\n 'v-textarea__sizer',\n ]}\n id={ `${slotProps.id}-sizer` }\n v-model={ model.value }\n ref={ sizerRef }\n readonly\n aria-hidden=\"true\"\n />\n )}\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\">\n { props.suffix }\n </span>\n )}\n </>\n ),\n }}\n </VField>\n ),\n details: hasDetails ? slotProps => (\n <>\n { slots.details?.(slotProps) }\n\n { hasCounter && (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n disabled={ props.disabled }\n v-slots:default={ slots.counter }\n />\n </>\n )}\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return forwardRefs({}, vInputRef, vFieldRef, textareaRef)\n },\n})\n\nexport type VTextarea = InstanceType<typeof VTextarea>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VTextarea.js","names":["VCounter","VField","makeVFieldProps","makeVInputProps","VInput","useDisplay","makeAutocompleteProps","useAutocomplete","useAutofocus","useFocus","forwardRefs","useProxiedModel","vIntersect","computed","nextTick","onBeforeUnmount","onMounted","ref","shallowRef","watch","watchEffect","callEvent","clamp","convertToUnit","filterInputAttrs","genericComponent","propsFactory","useRender","makeVTextareaProps","autoGrow","Boolean","autofocus","counter","Number","String","counterValue","Function","prefix","placeholder","persistentPlaceholder","persistentCounter","noResize","rows","type","default","validator","v","isNaN","parseFloat","maxRows","suffix","modelModifiers","Object","VTextarea","name","directives","inheritAttrs","props","emits","e","focused","val","setup","_ref","attrs","emit","slots","model","isFocused","focus","blur","onIntersect","value","toString","length","max","maxlength","undefined","vInputRef","vFieldRef","controlHeight","textareaRef","scrollbarWidth","platform","autocomplete","isActive","active","onFocus","isSuppressing","update","document","activeElement","onControlClick","onControlMousedown","onClear","stopPropagation","onInput","el","target","trim","caretPosition","selectionStart","selectionEnd","sizerRef","isPlainOrUnderlined","includes","variant","calculateInputHeight","firefox","offsetWidth","clientWidth","Math","style","getComputedStyle","fieldStyle","$el","padding","getPropertyValue","height","scrollHeight","lineHeight","minHeight","maxHeight","Infinity","newHeight","floor","density","observer","ResizeObserver","observe","disconnect","hasCounter","hasDetails","details","rootAttrs","inputAttrs","modelValue","_","inputProps","filterProps","fieldProps","_createVNode","_mergeProps","$event","class","_ref2","id","isDisabled","isDirty","isReadonly","isValid","dirty","_ref3","fieldClass","slotProps","controlRef","_createElementVNode","_Fragment","_withDirectives","fieldName","fieldAutocomplete","handler","once","_normalizeClass","_vModelText","disabled"],"sources":["../../../src/components/VTextarea/VTextarea.tsx"],"sourcesContent":["// Styles\nimport './VTextarea.sass'\nimport '../VTextField/VTextField.sass'\n\n// Components\nimport { VCounter } from '@/components/VCounter/VCounter'\nimport { VField } from '@/components/VField'\nimport { makeVFieldProps } from '@/components/VField/VField'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { useDisplay } from '@/composables'\nimport { makeAutocompleteProps, useAutocomplete } from '@/composables/autocomplete'\nimport { useAutofocus } from '@/composables/autofocus'\nimport { useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport vIntersect from '@/directives/intersect'\n\n// Utilities\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, shallowRef, watch, watchEffect } from 'vue'\nimport { callEvent, clamp, convertToUnit, filterInputAttrs, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VCounterSlot } from '@/components/VCounter/VCounter'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nexport const makeVTextareaProps = propsFactory({\n autoGrow: Boolean,\n autofocus: Boolean,\n counter: [Boolean, Number, String] as PropType<true | number | string>,\n counterValue: Function as PropType<(value: any) => number>,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n noResize: Boolean,\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n maxRows: {\n type: [Number, String],\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n suffix: String,\n modelModifiers: Object as PropType<Record<string, boolean>>,\n\n ...makeAutocompleteProps(),\n ...makeVInputProps(),\n ...makeVFieldProps(),\n}, 'VTextarea')\n\ntype VTextareaSlots = Omit<VInputSlots & VFieldSlots, 'default'> & {\n counter: VCounterSlot\n}\n\nexport const VTextarea = genericComponent<VTextareaSlots>()({\n name: 'VTextarea',\n\n directives: { vIntersect },\n\n inheritAttrs: false,\n\n props: makeVTextareaProps(),\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'mousedown:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: string) => true,\n 'update:rows': (rows: number) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { isFocused, focus, blur } = useFocus(props)\n const { onIntersect } = useAutofocus(props)\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function'\n ? props.counterValue(model.value)\n : (model.value || '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as string | number\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VInput>()\n const controlHeight = shallowRef('')\n const textareaRef = ref<HTMLTextAreaElement>()\n const scrollbarWidth = ref(0)\n const { platform } = useDisplay()\n const autocomplete = useAutocomplete(props)\n const isActive = computed(() => (\n props.persistentPlaceholder ||\n isFocused.value ||\n props.active\n ))\n\n function onFocus () {\n if (autocomplete.isSuppressing.value) {\n autocomplete.update()\n }\n\n if (textareaRef.value !== document.activeElement) {\n textareaRef.value?.focus()\n }\n\n if (!isFocused.value) focus()\n }\n function onControlClick (e: MouseEvent) {\n onFocus()\n\n emit('click:control', e)\n }\n function onControlMousedown (e: MouseEvent) {\n emit('mousedown:control', e)\n }\n function onClear (e: MouseEvent) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = ''\n\n callEvent(props['onClick:clear'], e)\n })\n }\n function onInput (e: Event) {\n const el = e.target as HTMLTextAreaElement\n model.value = el.value\n if (props.modelModifiers?.trim) {\n const caretPosition = [el.selectionStart, el.selectionEnd]\n nextTick(() => {\n el.selectionStart = caretPosition[0]\n el.selectionEnd = caretPosition[1]\n })\n }\n }\n\n const sizerRef = ref<HTMLTextAreaElement>()\n const rows = ref(Number(props.rows))\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n watchEffect(() => {\n if (!props.autoGrow) rows.value = Number(props.rows)\n })\n function calculateInputHeight () {\n nextTick(() => {\n if (!textareaRef.value) return\n if (platform.value.firefox) {\n scrollbarWidth.value = 12\n return\n }\n const { offsetWidth, clientWidth } = textareaRef.value\n scrollbarWidth.value = Math.max(0, offsetWidth - clientWidth)\n })\n\n if (!props.autoGrow) return\n\n nextTick(() => {\n if (!sizerRef.value || !vFieldRef.value) return\n\n const style = getComputedStyle(sizerRef.value)\n const fieldStyle = getComputedStyle(vFieldRef.value.$el)\n\n const padding = parseFloat(style.getPropertyValue('--v-field-padding-top')) +\n parseFloat(style.getPropertyValue('--v-input-padding-top')) +\n parseFloat(style.getPropertyValue('--v-field-padding-bottom'))\n\n const height = sizerRef.value.scrollHeight\n const lineHeight = parseFloat(style.lineHeight)\n const minHeight = Math.max(\n parseFloat(props.rows) * lineHeight + padding,\n parseFloat(fieldStyle.getPropertyValue('--v-input-control-height'))\n )\n const maxHeight = parseFloat(props.maxRows!) * lineHeight + padding || Infinity\n const newHeight = clamp(height ?? 0, minHeight, maxHeight)\n rows.value = Math.floor((newHeight - padding) / lineHeight)\n\n controlHeight.value = convertToUnit(newHeight)\n })\n }\n\n onMounted(calculateInputHeight)\n watch(model, calculateInputHeight)\n watch(() => props.rows, calculateInputHeight)\n watch(() => props.maxRows, calculateInputHeight)\n watch(() => props.density, calculateInputHeight)\n watch(rows, val => {\n emit('update:rows', val)\n })\n\n let observer: ResizeObserver | undefined\n watch(sizerRef, val => {\n if (val) {\n observer = new ResizeObserver(calculateInputHeight)\n observer.observe(sizerRef.value!)\n } else {\n observer?.disconnect()\n }\n })\n onBeforeUnmount(() => {\n observer?.disconnect()\n })\n\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue)\n const hasDetails = !!(hasCounter || slots.details)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const { modelValue: _, ...inputProps } = VInput.filterProps(props)\n const fieldProps = {\n ...VField.filterProps(props),\n 'onClick:clear': onClear,\n }\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-textarea v-text-field',\n {\n 'v-textarea--prefixed': props.prefix,\n 'v-textarea--suffixed': props.suffix,\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n 'v-textarea--auto-grow': props.autoGrow,\n 'v-textarea--no-resize': props.noResize || props.autoGrow,\n 'v-input--plain-underlined': isPlainOrUnderlined.value,\n },\n props.class,\n ]}\n style={[\n {\n '--v-textarea-scroll-bar-width': convertToUnit(scrollbarWidth.value),\n },\n props.style,\n ]}\n { ...rootAttrs }\n { ...inputProps }\n centerAffix={ rows.value === 1 && !isPlainOrUnderlined.value }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({\n id,\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n hasDetails,\n }) => (\n <VField\n ref={ vFieldRef }\n style={{\n '--v-textarea-control-height': controlHeight.value,\n }}\n onClick={ onControlClick }\n onMousedown={ onControlMousedown }\n onClick:prependInner={ props['onClick:prependInner'] }\n onClick:appendInner={ props['onClick:appendInner'] }\n { ...fieldProps }\n id={ id.value }\n active={ isActive.value || isDirty.value }\n centerAffix={ rows.value === 1 && !isPlainOrUnderlined.value }\n dirty={ isDirty.value || props.dirty }\n disabled={ isDisabled.value }\n focused={ isFocused.value }\n details={ hasDetails.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n controlRef,\n }) => (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\">\n { props.prefix }\n </span>\n )}\n\n <textarea\n ref={ val => textareaRef.value = controlRef.value = val as HTMLTextAreaElement }\n class={ fieldClass }\n value={ model.value }\n onInput={ onInput }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n placeholder={ props.placeholder }\n rows={ props.rows }\n name={ autocomplete.fieldName.value }\n autocomplete={ autocomplete.fieldAutocomplete.value }\n onFocus={ onFocus }\n onBlur={ blur }\n { ...slotProps }\n { ...inputAttrs }\n />\n\n { props.autoGrow && (\n <textarea\n class={[\n fieldClass,\n 'v-textarea__sizer',\n ]}\n id={ `${slotProps.id}-sizer` }\n v-model={ model.value }\n ref={ sizerRef }\n readonly\n aria-hidden=\"true\"\n />\n )}\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\">\n { props.suffix }\n </span>\n )}\n </>\n ),\n }}\n </VField>\n ),\n details: hasDetails ? slotProps => (\n <>\n { slots.details?.(slotProps) }\n\n { hasCounter && (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n disabled={ props.disabled }\n v-slots:default={ slots.counter }\n />\n </>\n )}\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return forwardRefs({}, vInputRef, vFieldRef, textareaRef)\n },\n})\n\nexport type VTextarea = InstanceType<typeof VTextarea>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -101,15 +101,13 @@ export const VWindow = genericComponent()({
|
|
|
101
101
|
watch(activeIndex, (newVal, oldVal) => {
|
|
102
102
|
let scrollableParent;
|
|
103
103
|
const savedScrollPosition = {
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
left: 0,
|
|
105
|
+
top: 0
|
|
106
106
|
};
|
|
107
107
|
if (IN_BROWSER && oldVal >= 0) {
|
|
108
108
|
scrollableParent = getScrollParent(rootRef.value);
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
savedScrollPosition.x = scrollableParent.scrollLeft;
|
|
112
|
-
savedScrollPosition.y = scrollableParent.scrollTop;
|
|
109
|
+
savedScrollPosition.left = scrollableParent?.scrollLeft;
|
|
110
|
+
savedScrollPosition.top = scrollableParent?.scrollTop;
|
|
113
111
|
}
|
|
114
112
|
const itemsLength = group.items.value.length;
|
|
115
113
|
const lastIndex = itemsLength - 1;
|
|
@@ -125,20 +123,18 @@ export const VWindow = genericComponent()({
|
|
|
125
123
|
nextTick(() => {
|
|
126
124
|
if (!IN_BROWSER || !scrollableParent) return;
|
|
127
125
|
const currentScrollY = scrollableParent.scrollTop;
|
|
128
|
-
if (currentScrollY !== savedScrollPosition.
|
|
126
|
+
if (currentScrollY !== savedScrollPosition.top) {
|
|
129
127
|
scrollableParent.scrollTo({
|
|
130
|
-
|
|
131
|
-
top: savedScrollPosition.y,
|
|
128
|
+
...savedScrollPosition,
|
|
132
129
|
behavior: 'instant'
|
|
133
130
|
});
|
|
134
131
|
}
|
|
135
132
|
requestAnimationFrame(() => {
|
|
136
133
|
if (!scrollableParent) return;
|
|
137
134
|
const rafScrollY = scrollableParent.scrollTop;
|
|
138
|
-
if (rafScrollY !== savedScrollPosition.
|
|
135
|
+
if (rafScrollY !== savedScrollPosition.top) {
|
|
139
136
|
scrollableParent.scrollTo({
|
|
140
|
-
|
|
141
|
-
top: savedScrollPosition.y,
|
|
137
|
+
...savedScrollPosition,
|
|
142
138
|
behavior: 'instant'
|
|
143
139
|
});
|
|
144
140
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VWindow.js","names":["VBtn","makeComponentProps","useGroup","useLocale","useRtl","makeTagProps","makeThemeProps","provideTheme","vTouch","computed","nextTick","provide","ref","shallowRef","toRef","watch","convertToUnit","genericComponent","IN_BROWSER","PREFERS_REDUCED_MOTION","propsFactory","useRender","getScrollParent","VWindowSymbol","Symbol","for","VWindowGroupSymbol","makeVWindowProps","continuous","Boolean","nextIcon","type","String","Function","Object","default","prevIcon","reverse","showArrows","validator","v","verticalArrows","touch","undefined","direction","modelValue","disabled","selectedClass","mandatory","crossfade","transitionDuration","Number","VWindow","name","directives","props","emits","value","setup","_ref","slots","themeClasses","isRtl","t","group","rootRef","isRtlReverse","isReversed","transition","axis","transitionCount","transitionHeight","activeIndex","items","findIndex","item","selected","includes","id","newVal","oldVal","scrollableParent","savedScrollPosition","x","y","scrollLeft","scrollTop","itemsLength","length","lastIndex","currentScrollY","scrollTo","left","top","behavior","requestAnimationFrame","rafScrollY","flush","canMoveBack","canMoveForward","prev","next","arrows","prevProps","icon","class","onClick","push","_createVNode","_createElementVNode","nextProps","touchOptions","options","right","start","_ref2","originalEvent","stopPropagation","_withDirectives","tag","_normalizeClass","_normalizeStyle","style","height","additional"],"sources":["../../../src/components/VWindow/VWindow.tsx"],"sourcesContent":["// Styles\nimport './VWindow.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useGroup } from '@/composables/group'\nimport { useLocale, useRtl } from '@/composables/locale'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Directives\nimport vTouch from '@/directives/touch'\n\n// Utilities\nimport { computed, nextTick, provide, ref, shallowRef, toRef, watch } from 'vue'\nimport { convertToUnit, genericComponent, IN_BROWSER, PREFERS_REDUCED_MOTION, propsFactory, useRender } from '@/util'\nimport { getScrollParent } from '@/util/getScrollParent'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\nimport type { GroupItemProvide, GroupProvide } from '@/composables/group'\nimport type { IconValue } from '@/composables/icons'\nimport type { TouchHandlers } from '@/directives/touch'\nimport type { GenericProps } from '@/util'\n\nexport type VWindowSlots = {\n default: { group: GroupProvide }\n additional: { group: GroupProvide }\n prev: { props: ControlProps }\n next: { props: ControlProps }\n}\n\ntype WindowProvide = {\n transition: ComputedRef<undefined | string>\n transitionCount: Ref<number>\n transitionHeight: Ref<undefined | string>\n isReversed: Ref<boolean>\n rootRef: Ref<HTMLElement | undefined>\n}\n\ntype ControlProps = {\n icon: IconValue\n class: string\n onClick: () => void\n 'aria-label': string\n}\n\nexport const VWindowSymbol: InjectionKey<WindowProvide> = Symbol.for('vuetify:v-window')\nexport const VWindowGroupSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-window-group')\n\nexport const makeVWindowProps = propsFactory({\n continuous: Boolean,\n nextIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => typeof v === 'boolean' || v === 'hover',\n },\n verticalArrows: [Boolean, String] as PropType<boolean | 'left' | 'right'>,\n touch: {\n type: [Object, Boolean] as PropType<boolean | TouchHandlers>,\n default: undefined,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n\n modelValue: null,\n disabled: Boolean,\n selectedClass: {\n type: String,\n default: 'v-window-item--active',\n },\n // TODO: mandatory should probably not be exposed but do this for now\n mandatory: {\n type: [Boolean, String] as PropType<boolean | 'force'>,\n default: 'force' as const,\n },\n crossfade: Boolean,\n transitionDuration: Number,\n\n ...makeComponentProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VWindow')\n\nexport const VWindow = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VWindowSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VWindow',\n\n directives: { vTouch },\n\n props: makeVWindowProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isRtl } = useRtl()\n const { t } = useLocale()\n\n const group = useGroup(props, VWindowGroupSymbol)\n\n const rootRef = ref()\n const isRtlReverse = computed(() => isRtl.value ? !props.reverse : props.reverse)\n const isReversed = shallowRef(false)\n const transition = computed(() => {\n if (props.crossfade) {\n return 'v-window-crossfade-transition'\n }\n\n const axis = props.direction === 'vertical' ? 'y' : 'x'\n const reverse = isRtlReverse.value ? !isReversed.value : isReversed.value\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n })\n const transitionCount = shallowRef(0)\n const transitionHeight = ref<undefined | string>(undefined)\n\n const activeIndex = computed(() => {\n return group.items.value.findIndex(item => group.selected.value.includes(item.id))\n })\n\n // Fix for https://github.com/vuetifyjs/vuetify/issues/18447\n watch(activeIndex, (newVal, oldVal) => {\n let scrollableParent: HTMLElement | undefined\n const savedScrollPosition = { x: 0, y: 0 }\n\n if (IN_BROWSER && oldVal >= 0) {\n scrollableParent = getScrollParent(rootRef.value)\n\n // Save current scroll position\n savedScrollPosition.x = scrollableParent.scrollLeft\n savedScrollPosition.y = scrollableParent.scrollTop\n }\n\n const itemsLength = group.items.value.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) {\n isReversed.value = newVal < oldVal\n } else if (newVal === lastIndex && oldVal === 0) {\n isReversed.value = true\n } else if (newVal === 0 && oldVal === lastIndex) {\n isReversed.value = false\n } else {\n isReversed.value = newVal < oldVal\n }\n\n nextTick(() => {\n if (!IN_BROWSER || !scrollableParent) return\n\n const currentScrollY = scrollableParent.scrollTop\n\n if (currentScrollY !== savedScrollPosition.y) {\n scrollableParent.scrollTo({ left: savedScrollPosition.x, top: savedScrollPosition.y, behavior: 'instant' })\n }\n\n requestAnimationFrame(() => {\n if (!scrollableParent) return\n\n const rafScrollY = scrollableParent.scrollTop\n\n if (rafScrollY !== savedScrollPosition.y) {\n scrollableParent.scrollTo({ left: savedScrollPosition.x, top: savedScrollPosition.y, behavior: 'instant' })\n }\n })\n })\n }, { flush: 'sync' }) // Run synchronously before DOM updates\n\n provide(VWindowSymbol, {\n transition,\n isReversed,\n transitionCount,\n transitionHeight,\n rootRef,\n })\n\n const canMoveBack = toRef(() => props.continuous || activeIndex.value !== 0)\n const canMoveForward = toRef(() => props.continuous || activeIndex.value !== group.items.value.length - 1)\n\n function prev () {\n canMoveBack.value && group.prev()\n }\n\n function next () {\n canMoveForward.value && group.next()\n }\n\n const arrows = computed(() => {\n const arrows = []\n\n const prevProps = {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n class: `v-window__${isRtlReverse.value ? 'right' : 'left'}`,\n onClick: group.prev,\n 'aria-label': t('$vuetify.carousel.prev'),\n }\n\n arrows.push(canMoveBack.value\n ? slots.prev\n ? slots.prev({ props: prevProps })\n : <VBtn { ...prevProps } />\n : <div />\n )\n\n const nextProps = {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,\n onClick: group.next,\n 'aria-label': t('$vuetify.carousel.next'),\n }\n\n arrows.push(canMoveForward.value\n ? slots.next\n ? slots.next({ props: nextProps })\n : <VBtn { ...nextProps } />\n : <div />\n )\n\n return arrows\n })\n\n const touchOptions = computed(() => {\n if (props.touch === false) return props.touch\n\n const options: TouchHandlers = {\n left: () => {\n isRtlReverse.value ? prev() : next()\n },\n right: () => {\n isRtlReverse.value ? next() : prev()\n },\n start: ({ originalEvent }) => {\n originalEvent.stopPropagation()\n },\n }\n\n return {\n ...options,\n ...(props.touch === true ? {} : props.touch),\n }\n })\n\n useRender(() => (\n <props.tag\n ref={ rootRef }\n class={[\n 'v-window',\n {\n 'v-window--show-arrows-on-hover': props.showArrows === 'hover',\n 'v-window--vertical-arrows': !!props.verticalArrows,\n 'v-window--crossfade': !!props.crossfade,\n },\n themeClasses.value,\n props.class,\n ]}\n style={[\n props.style,\n props.transitionDuration && !PREFERS_REDUCED_MOTION\n ? { '--v-window-transition-duration': convertToUnit(props.transitionDuration, 'ms') }\n : undefined,\n ]}\n v-touch={ touchOptions.value }\n >\n <div\n class=\"v-window__container\"\n style={{\n height: transitionHeight.value,\n }}\n >\n { slots.default?.({ group }) }\n\n { props.showArrows !== false && (\n <div\n class={[\n 'v-window__controls',\n { 'v-window__controls--left': props.verticalArrows === 'left' || props.verticalArrows === true },\n { 'v-window__controls--right': props.verticalArrows === 'right' },\n ]}\n >\n { arrows.value }\n </div>\n )}\n </div>\n\n { slots.additional?.({ group }) }\n </props.tag>\n ))\n\n return {\n group,\n }\n },\n})\n\nexport type VWindow = InstanceType<typeof VWindow>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VWindow.js","names":["VBtn","makeComponentProps","useGroup","useLocale","useRtl","makeTagProps","makeThemeProps","provideTheme","vTouch","computed","nextTick","provide","ref","shallowRef","toRef","watch","convertToUnit","genericComponent","IN_BROWSER","PREFERS_REDUCED_MOTION","propsFactory","useRender","getScrollParent","VWindowSymbol","Symbol","for","VWindowGroupSymbol","makeVWindowProps","continuous","Boolean","nextIcon","type","String","Function","Object","default","prevIcon","reverse","showArrows","validator","v","verticalArrows","touch","undefined","direction","modelValue","disabled","selectedClass","mandatory","crossfade","transitionDuration","Number","VWindow","name","directives","props","emits","value","setup","_ref","slots","themeClasses","isRtl","t","group","rootRef","isRtlReverse","isReversed","transition","axis","transitionCount","transitionHeight","activeIndex","items","findIndex","item","selected","includes","id","newVal","oldVal","scrollableParent","savedScrollPosition","left","top","scrollLeft","scrollTop","itemsLength","length","lastIndex","currentScrollY","scrollTo","behavior","requestAnimationFrame","rafScrollY","flush","canMoveBack","canMoveForward","prev","next","arrows","prevProps","icon","class","onClick","push","_createVNode","_createElementVNode","nextProps","touchOptions","options","right","start","_ref2","originalEvent","stopPropagation","_withDirectives","tag","_normalizeClass","_normalizeStyle","style","height","additional"],"sources":["../../../src/components/VWindow/VWindow.tsx"],"sourcesContent":["// Styles\nimport './VWindow.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useGroup } from '@/composables/group'\nimport { useLocale, useRtl } from '@/composables/locale'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Directives\nimport vTouch from '@/directives/touch'\n\n// Utilities\nimport { computed, nextTick, provide, ref, shallowRef, toRef, watch } from 'vue'\nimport { convertToUnit, genericComponent, IN_BROWSER, PREFERS_REDUCED_MOTION, propsFactory, useRender } from '@/util'\nimport { getScrollParent } from '@/util/getScrollParent'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\nimport type { GroupItemProvide, GroupProvide } from '@/composables/group'\nimport type { IconValue } from '@/composables/icons'\nimport type { TouchHandlers } from '@/directives/touch'\nimport type { GenericProps } from '@/util'\n\nexport type VWindowSlots = {\n default: { group: GroupProvide }\n additional: { group: GroupProvide }\n prev: { props: ControlProps }\n next: { props: ControlProps }\n}\n\ntype WindowProvide = {\n transition: ComputedRef<undefined | string>\n transitionCount: Ref<number>\n transitionHeight: Ref<undefined | string>\n isReversed: Ref<boolean>\n rootRef: Ref<HTMLElement | undefined>\n}\n\ntype ControlProps = {\n icon: IconValue\n class: string\n onClick: () => void\n 'aria-label': string\n}\n\nexport const VWindowSymbol: InjectionKey<WindowProvide> = Symbol.for('vuetify:v-window')\nexport const VWindowGroupSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-window-group')\n\nexport const makeVWindowProps = propsFactory({\n continuous: Boolean,\n nextIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => typeof v === 'boolean' || v === 'hover',\n },\n verticalArrows: [Boolean, String] as PropType<boolean | 'left' | 'right'>,\n touch: {\n type: [Object, Boolean] as PropType<boolean | TouchHandlers>,\n default: undefined,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n\n modelValue: null,\n disabled: Boolean,\n selectedClass: {\n type: String,\n default: 'v-window-item--active',\n },\n // TODO: mandatory should probably not be exposed but do this for now\n mandatory: {\n type: [Boolean, String] as PropType<boolean | 'force'>,\n default: 'force' as const,\n },\n crossfade: Boolean,\n transitionDuration: Number,\n\n ...makeComponentProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VWindow')\n\nexport const VWindow = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VWindowSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VWindow',\n\n directives: { vTouch },\n\n props: makeVWindowProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isRtl } = useRtl()\n const { t } = useLocale()\n\n const group = useGroup(props, VWindowGroupSymbol)\n\n const rootRef = ref()\n const isRtlReverse = computed(() => isRtl.value ? !props.reverse : props.reverse)\n const isReversed = shallowRef(false)\n const transition = computed(() => {\n if (props.crossfade) {\n return 'v-window-crossfade-transition'\n }\n\n const axis = props.direction === 'vertical' ? 'y' : 'x'\n const reverse = isRtlReverse.value ? !isReversed.value : isReversed.value\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n })\n const transitionCount = shallowRef(0)\n const transitionHeight = ref<undefined | string>(undefined)\n\n const activeIndex = computed(() => {\n return group.items.value.findIndex(item => group.selected.value.includes(item.id))\n })\n\n // Fix for https://github.com/vuetifyjs/vuetify/issues/18447\n watch(activeIndex, (newVal, oldVal) => {\n let scrollableParent: HTMLElement | undefined\n const savedScrollPosition = { left: 0, top: 0 }\n\n if (IN_BROWSER && oldVal >= 0) {\n scrollableParent = getScrollParent(rootRef.value)\n\n savedScrollPosition.left = scrollableParent?.scrollLeft\n savedScrollPosition.top = scrollableParent?.scrollTop\n }\n\n const itemsLength = group.items.value.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) {\n isReversed.value = newVal < oldVal\n } else if (newVal === lastIndex && oldVal === 0) {\n isReversed.value = true\n } else if (newVal === 0 && oldVal === lastIndex) {\n isReversed.value = false\n } else {\n isReversed.value = newVal < oldVal\n }\n\n nextTick(() => {\n if (!IN_BROWSER || !scrollableParent) return\n\n const currentScrollY = scrollableParent.scrollTop\n\n if (currentScrollY !== savedScrollPosition.top) {\n scrollableParent.scrollTo({ ...savedScrollPosition, behavior: 'instant' })\n }\n\n requestAnimationFrame(() => {\n if (!scrollableParent) return\n\n const rafScrollY = scrollableParent.scrollTop\n\n if (rafScrollY !== savedScrollPosition.top) {\n scrollableParent.scrollTo({ ...savedScrollPosition, behavior: 'instant' })\n }\n })\n })\n }, { flush: 'sync' }) // Run synchronously before DOM updates\n\n provide(VWindowSymbol, {\n transition,\n isReversed,\n transitionCount,\n transitionHeight,\n rootRef,\n })\n\n const canMoveBack = toRef(() => props.continuous || activeIndex.value !== 0)\n const canMoveForward = toRef(() => props.continuous || activeIndex.value !== group.items.value.length - 1)\n\n function prev () {\n canMoveBack.value && group.prev()\n }\n\n function next () {\n canMoveForward.value && group.next()\n }\n\n const arrows = computed(() => {\n const arrows = []\n\n const prevProps = {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n class: `v-window__${isRtlReverse.value ? 'right' : 'left'}`,\n onClick: group.prev,\n 'aria-label': t('$vuetify.carousel.prev'),\n }\n\n arrows.push(canMoveBack.value\n ? slots.prev\n ? slots.prev({ props: prevProps })\n : <VBtn { ...prevProps } />\n : <div />\n )\n\n const nextProps = {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,\n onClick: group.next,\n 'aria-label': t('$vuetify.carousel.next'),\n }\n\n arrows.push(canMoveForward.value\n ? slots.next\n ? slots.next({ props: nextProps })\n : <VBtn { ...nextProps } />\n : <div />\n )\n\n return arrows\n })\n\n const touchOptions = computed(() => {\n if (props.touch === false) return props.touch\n\n const options: TouchHandlers = {\n left: () => {\n isRtlReverse.value ? prev() : next()\n },\n right: () => {\n isRtlReverse.value ? next() : prev()\n },\n start: ({ originalEvent }) => {\n originalEvent.stopPropagation()\n },\n }\n\n return {\n ...options,\n ...(props.touch === true ? {} : props.touch),\n }\n })\n\n useRender(() => (\n <props.tag\n ref={ rootRef }\n class={[\n 'v-window',\n {\n 'v-window--show-arrows-on-hover': props.showArrows === 'hover',\n 'v-window--vertical-arrows': !!props.verticalArrows,\n 'v-window--crossfade': !!props.crossfade,\n },\n themeClasses.value,\n props.class,\n ]}\n style={[\n props.style,\n props.transitionDuration && !PREFERS_REDUCED_MOTION\n ? { '--v-window-transition-duration': convertToUnit(props.transitionDuration, 'ms') }\n : undefined,\n ]}\n v-touch={ touchOptions.value }\n >\n <div\n class=\"v-window__container\"\n style={{\n height: transitionHeight.value,\n }}\n >\n { slots.default?.({ group }) }\n\n { props.showArrows !== false && (\n <div\n class={[\n 'v-window__controls',\n { 'v-window__controls--left': props.verticalArrows === 'left' || props.verticalArrows === true },\n { 'v-window__controls--right': props.verticalArrows === 'right' },\n ]}\n >\n { arrows.value }\n </div>\n )}\n </div>\n\n { slots.additional?.({ group }) }\n </props.tag>\n ))\n\n return {\n group,\n }\n },\n})\n\nexport type VWindow = InstanceType<typeof VWindow>\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.10.
|
|
19
|
+
export const version = "3.10.7";
|
|
20
20
|
createVuetify.version = version;
|
|
21
21
|
export { blueprints, components, directives };
|
|
22
22
|
export * from "./composables/index.js";
|
package/lib/framework.d.ts
CHANGED
|
@@ -2715,47 +2715,38 @@ declare module 'vue' {
|
|
|
2715
2715
|
VApp: typeof import('vuetify/components')['VApp']
|
|
2716
2716
|
VAlert: typeof import('vuetify/components')['VAlert']
|
|
2717
2717
|
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
|
2718
|
+
VAvatar: typeof import('vuetify/components')['VAvatar']
|
|
2718
2719
|
VAppBar: typeof import('vuetify/components')['VAppBar']
|
|
2719
2720
|
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
|
2720
2721
|
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
|
2721
|
-
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
|
2722
2722
|
VBanner: typeof import('vuetify/components')['VBanner']
|
|
2723
2723
|
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
|
2724
2724
|
VBannerText: typeof import('vuetify/components')['VBannerText']
|
|
2725
2725
|
VBadge: typeof import('vuetify/components')['VBadge']
|
|
2726
|
-
|
|
2726
|
+
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
|
2727
2727
|
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
|
2728
|
-
|
|
2729
|
-
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
|
2730
|
-
VBtn: typeof import('vuetify/components')['VBtn']
|
|
2728
|
+
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
|
2731
2729
|
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
|
2732
2730
|
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
|
2733
2731
|
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
|
2734
|
-
|
|
2735
|
-
|
|
2736
|
-
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
|
2732
|
+
VBtn: typeof import('vuetify/components')['VBtn']
|
|
2733
|
+
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
|
2737
2734
|
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
|
2738
2735
|
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
|
2739
|
-
|
|
2736
|
+
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
|
2737
|
+
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
|
2740
2738
|
VCard: typeof import('vuetify/components')['VCard']
|
|
2741
2739
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
|
2742
2740
|
VCardItem: typeof import('vuetify/components')['VCardItem']
|
|
2743
2741
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
|
2744
2742
|
VCardText: typeof import('vuetify/components')['VCardText']
|
|
2745
2743
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
|
2746
|
-
|
|
2747
|
-
|
|
2744
|
+
VCarousel: typeof import('vuetify/components')['VCarousel']
|
|
2745
|
+
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
|
2746
|
+
VChip: typeof import('vuetify/components')['VChip']
|
|
2748
2747
|
VCode: typeof import('vuetify/components')['VCode']
|
|
2749
2748
|
VCombobox: typeof import('vuetify/components')['VCombobox']
|
|
2750
2749
|
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
|
2751
|
-
VField: typeof import('vuetify/components')['VField']
|
|
2752
|
-
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
|
2753
|
-
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
|
2754
|
-
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
|
2755
|
-
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
|
2756
|
-
VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
|
|
2757
|
-
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
|
2758
|
-
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
|
2759
2750
|
VDataTable: typeof import('vuetify/components')['VDataTable']
|
|
2760
2751
|
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
|
2761
2752
|
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
|
@@ -2763,25 +2754,36 @@ declare module 'vue' {
|
|
|
2763
2754
|
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
|
2764
2755
|
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
|
2765
2756
|
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
|
2757
|
+
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
|
2758
|
+
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
|
2759
|
+
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
|
2760
|
+
VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
|
|
2761
|
+
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
|
2762
|
+
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
|
2766
2763
|
VDivider: typeof import('vuetify/components')['VDivider']
|
|
2764
|
+
VCounter: typeof import('vuetify/components')['VCounter']
|
|
2767
2765
|
VDialog: typeof import('vuetify/components')['VDialog']
|
|
2768
|
-
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
|
2769
2766
|
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
|
2770
2767
|
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
|
2771
2768
|
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
|
2772
2769
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
|
2770
|
+
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
|
2773
2771
|
VFooter: typeof import('vuetify/components')['VFooter']
|
|
2774
|
-
VFileInput: typeof import('vuetify/components')['VFileInput']
|
|
2775
|
-
VFab: typeof import('vuetify/components')['VFab']
|
|
2776
2772
|
VImg: typeof import('vuetify/components')['VImg']
|
|
2777
|
-
|
|
2773
|
+
VField: typeof import('vuetify/components')['VField']
|
|
2774
|
+
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
|
2775
|
+
VFab: typeof import('vuetify/components')['VFab']
|
|
2776
|
+
VFileInput: typeof import('vuetify/components')['VFileInput']
|
|
2778
2777
|
VInput: typeof import('vuetify/components')['VInput']
|
|
2779
|
-
VKbd: typeof import('vuetify/components')['VKbd']
|
|
2780
2778
|
VIcon: typeof import('vuetify/components')['VIcon']
|
|
2781
2779
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
|
2782
2780
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
|
2783
2781
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
|
2784
2782
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
|
2783
|
+
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
|
2784
|
+
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
|
2785
|
+
VItem: typeof import('vuetify/components')['VItem']
|
|
2786
|
+
VKbd: typeof import('vuetify/components')['VKbd']
|
|
2785
2787
|
VLabel: typeof import('vuetify/components')['VLabel']
|
|
2786
2788
|
VList: typeof import('vuetify/components')['VList']
|
|
2787
2789
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
|
@@ -2792,67 +2794,65 @@ declare module 'vue' {
|
|
|
2792
2794
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
|
2793
2795
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
|
2794
2796
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
|
2795
|
-
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
|
2796
|
-
VItem: typeof import('vuetify/components')['VItem']
|
|
2797
|
-
VMessages: typeof import('vuetify/components')['VMessages']
|
|
2798
2797
|
VMenu: typeof import('vuetify/components')['VMenu']
|
|
2799
2798
|
VMain: typeof import('vuetify/components')['VMain']
|
|
2800
|
-
|
|
2799
|
+
VMessages: typeof import('vuetify/components')['VMessages']
|
|
2801
2800
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
|
2802
|
-
VOverlay: typeof import('vuetify/components')['VOverlay']
|
|
2803
2801
|
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
|
2804
2802
|
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
|
2803
|
+
VOverlay: typeof import('vuetify/components')['VOverlay']
|
|
2804
|
+
VPagination: typeof import('vuetify/components')['VPagination']
|
|
2805
2805
|
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
|
2806
|
-
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
|
2807
2806
|
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
|
2807
|
+
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
|
2808
|
+
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
|
2808
2809
|
VRating: typeof import('vuetify/components')['VRating']
|
|
2809
2810
|
VSelect: typeof import('vuetify/components')['VSelect']
|
|
2810
|
-
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
|
2811
2811
|
VSheet: typeof import('vuetify/components')['VSheet']
|
|
2812
|
-
|
|
2813
|
-
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
|
2814
|
-
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
|
2815
|
-
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
|
2812
|
+
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
|
2816
2813
|
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
|
2817
2814
|
VSlider: typeof import('vuetify/components')['VSlider']
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
|
|
2821
|
-
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
|
2822
|
-
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
|
2815
|
+
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
|
2816
|
+
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
|
2817
|
+
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
|
2823
2818
|
VStepper: typeof import('vuetify/components')['VStepper']
|
|
2824
2819
|
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
|
2825
2820
|
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
|
2826
2821
|
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
|
2827
2822
|
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
|
2828
2823
|
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
|
2824
|
+
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
|
2825
|
+
VTab: typeof import('vuetify/components')['VTab']
|
|
2826
|
+
VTabs: typeof import('vuetify/components')['VTabs']
|
|
2827
|
+
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
|
2828
|
+
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
|
2829
2829
|
VTextarea: typeof import('vuetify/components')['VTextarea']
|
|
2830
|
+
VSwitch: typeof import('vuetify/components')['VSwitch']
|
|
2830
2831
|
VTable: typeof import('vuetify/components')['VTable']
|
|
2832
|
+
VTextField: typeof import('vuetify/components')['VTextField']
|
|
2833
|
+
VTooltip: typeof import('vuetify/components')['VTooltip']
|
|
2831
2834
|
VTimePicker: typeof import('vuetify/components')['VTimePicker']
|
|
2832
2835
|
VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
|
|
2833
2836
|
VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
|
|
2834
|
-
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
|
2835
|
-
VTextField: typeof import('vuetify/components')['VTextField']
|
|
2836
|
-
VTooltip: typeof import('vuetify/components')['VTooltip']
|
|
2837
2837
|
VTimeline: typeof import('vuetify/components')['VTimeline']
|
|
2838
2838
|
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
|
2839
2839
|
VTreeview: typeof import('vuetify/components')['VTreeview']
|
|
2840
2840
|
VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
|
|
2841
2841
|
VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
|
|
2842
|
+
VWindow: typeof import('vuetify/components')['VWindow']
|
|
2843
|
+
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
|
2842
2844
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
|
2843
2845
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
|
2844
2846
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
|
2845
|
-
VWindow: typeof import('vuetify/components')['VWindow']
|
|
2846
|
-
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
|
2847
2847
|
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
|
2848
2848
|
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
|
2849
2849
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
|
2850
|
-
VHover: typeof import('vuetify/components')['VHover']
|
|
2851
2850
|
VForm: typeof import('vuetify/components')['VForm']
|
|
2852
2851
|
VContainer: typeof import('vuetify/components')['VContainer']
|
|
2853
2852
|
VCol: typeof import('vuetify/components')['VCol']
|
|
2854
2853
|
VRow: typeof import('vuetify/components')['VRow']
|
|
2855
2854
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
|
2855
|
+
VHover: typeof import('vuetify/components')['VHover']
|
|
2856
2856
|
VLazy: typeof import('vuetify/components')['VLazy']
|
|
2857
2857
|
VLayout: typeof import('vuetify/components')['VLayout']
|
|
2858
2858
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
|
@@ -2862,12 +2862,12 @@ declare module 'vue' {
|
|
|
2862
2862
|
VRadio: typeof import('vuetify/components')['VRadio']
|
|
2863
2863
|
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
|
2864
2864
|
VResponsive: typeof import('vuetify/components')['VResponsive']
|
|
2865
|
-
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
|
2866
2865
|
VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
|
|
2867
2866
|
VSparkline: typeof import('vuetify/components')['VSparkline']
|
|
2867
|
+
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
|
2868
2868
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
|
2869
|
-
VValidation: typeof import('vuetify/components')['VValidation']
|
|
2870
2869
|
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
|
2870
|
+
VValidation: typeof import('vuetify/components')['VValidation']
|
|
2871
2871
|
VFabTransition: typeof import('vuetify/components')['VFabTransition']
|
|
2872
2872
|
VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
|
|
2873
2873
|
VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
|
|
@@ -2884,23 +2884,23 @@ declare module 'vue' {
|
|
|
2884
2884
|
VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
|
|
2885
2885
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
|
2886
2886
|
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
|
2887
|
-
VColorInput: typeof import('vuetify/labs/components')['VColorInput']
|
|
2888
2887
|
VCalendar: typeof import('vuetify/labs/components')['VCalendar']
|
|
2889
|
-
|
|
2890
|
-
VVideo: typeof import('vuetify/labs/components')['VVideo']
|
|
2891
|
-
VVideoControls: typeof import('vuetify/labs/components')['VVideoControls']
|
|
2892
|
-
VVideoVolume: typeof import('vuetify/labs/components')['VVideoVolume']
|
|
2888
|
+
VColorInput: typeof import('vuetify/labs/components')['VColorInput']
|
|
2893
2889
|
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
|
2894
2890
|
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
|
2891
|
+
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
|
2895
2892
|
VPie: typeof import('vuetify/labs/components')['VPie']
|
|
2896
2893
|
VPieSegment: typeof import('vuetify/labs/components')['VPieSegment']
|
|
2897
2894
|
VPieTooltip: typeof import('vuetify/labs/components')['VPieTooltip']
|
|
2895
|
+
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
|
2896
|
+
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
|
2898
2897
|
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
|
2899
2898
|
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
|
2900
2899
|
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
|
2901
2900
|
VHotkey: typeof import('vuetify/labs/components')['VHotkey']
|
|
2902
|
-
|
|
2903
|
-
|
|
2901
|
+
VVideo: typeof import('vuetify/labs/components')['VVideo']
|
|
2902
|
+
VVideoControls: typeof import('vuetify/labs/components')['VVideoControls']
|
|
2903
|
+
VVideoVolume: typeof import('vuetify/labs/components')['VVideoVolume']
|
|
2904
2904
|
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
|
2905
2905
|
VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
|
|
2906
2906
|
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
package/lib/framework.js
CHANGED