vuetify 3.3.2 → 3.3.3
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 +8 -8
- package/dist/json/importMap.json +4 -4
- package/dist/json/web-types.json +26 -15
- package/dist/vuetify-labs.css +53 -61
- package/dist/vuetify-labs.d.ts +253 -119
- package/dist/vuetify-labs.esm.js +196 -82
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +195 -81
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +10 -8
- package/dist/vuetify.d.ts +254 -120
- package/dist/vuetify.esm.js +191 -78
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +190 -77
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +780 -771
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.mts +2 -2
- package/lib/blueprints/md1.d.mts +2 -2
- package/lib/blueprints/md2.d.mts +2 -2
- package/lib/blueprints/md3.d.mts +2 -2
- package/lib/components/VAppBar/index.d.mts +24 -8
- package/lib/components/VAutocomplete/VAutocomplete.mjs +16 -11
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.mjs +1 -1
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/index.d.mts +24 -8
- package/lib/components/VCard/VCard.mjs +1 -1
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/index.d.mts +44 -28
- package/lib/components/VCheckbox/VCheckbox.mjs +8 -1
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.mts +7 -1
- package/lib/components/VChip/VChip.mjs +2 -2
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.mts +48 -32
- package/lib/components/VCombobox/VCombobox.mjs +16 -8
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.mts +56 -24
- package/lib/components/VField/VField.css +1 -0
- package/lib/components/VField/VField.sass +1 -0
- package/lib/components/VIcon/VIcon.mjs +2 -2
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +1 -1
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/index.d.mts +24 -8
- package/lib/components/VMenu/VMenu.mjs +29 -3
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.mjs +7 -4
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/useActivator.mjs +29 -35
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.mjs +15 -10
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.mjs +2 -2
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.css +1 -0
- package/lib/components/VTabs/VTabs.sass +1 -0
- package/lib/components/VTabs/index.d.mts +24 -8
- package/lib/components/VTextarea/VTextarea.css +7 -7
- package/lib/components/VTextarea/VTextarea.sass +9 -9
- package/lib/components/index.d.mts +251 -117
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/theme.mjs +1 -1
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/iconsets/mdi-svg.mjs +35 -35
- package/lib/iconsets/mdi-svg.mjs.map +1 -1
- package/lib/index.d.mts +3 -3
- package/lib/labs/VDataTable/VDataTable.css +4 -14
- package/lib/labs/VDataTable/VDataTable.sass +6 -15
- package/lib/labs/VDataTable/VDataTableHeaders.mjs +2 -2
- package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/select.mjs +3 -2
- package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
- package/lib/util/bindProps.mjs +49 -0
- package/lib/util/bindProps.mjs.map +1 -0
- package/lib/util/helpers.mjs +3 -0
- package/lib/util/helpers.mjs.map +1 -1
- package/lib/util/index.mjs +1 -0
- package/lib/util/index.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VSliderThumb.mjs","names":["VSliderSymbol","VScaleTransition","useTextColor","makeComponentProps","useElevation","Ripple","computed","inject","convertToUnit","genericComponent","keyValues","propsFactory","useRender","makeVSliderThumbProps","focused","Boolean","max","type","Number","required","min","modelValue","position","ripple","default","VSliderThumb","name","directives","props","emits","v","setup","_ref","slots","emit","slider","Error","thumbColor","step","vertical","disabled","thumbSize","thumbLabel","direction","readonly","elevation","isReversed","horizontalDirection","mousePressed","decimals","textColorClasses","textColorStyles","pageup","pagedown","end","home","left","right","down","up","relevantKeys","multipliers","value","parseKeydown","e","includes","key","preventDefault","_step","steps","increase","multiplier","shiftKey","ctrlKey","Math","onKeydown","newValue","positionPercentage","elevationClasses","undefined","_createVNode","class","style","_withDirectives","_resolveDirective","circle","center","toFixed","_vShow"],"sources":["../../../src/components/VSlider/VSliderThumb.tsx"],"sourcesContent":["// Styles\nimport './VSliderThumb.sass'\n\n// Components\nimport { VSliderSymbol } from './slider'\nimport { VScaleTransition } from '../transitions'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { useElevation } from '@/composables/elevation'\n\n// Directives\nimport Ripple from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, genericComponent, keyValues, propsFactory, useRender } from '@/util'\n\nexport type VSliderThumbSlots = {\n 'thumb-label': { modelValue: number }\n}\n\nexport const makeVSliderThumbProps = propsFactory({\n focused: Boolean,\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n modelValue: {\n type: Number,\n required: true,\n },\n position: {\n type: Number,\n required: true,\n },\n ripple: {\n type: Boolean,\n default: true,\n },\n\n ...makeComponentProps(),\n}, 'VSliderThumb')\n\nexport const VSliderThumb = genericComponent<VSliderThumbSlots>()({\n name: 'VSliderThumb',\n\n directives: { Ripple },\n\n props: makeVSliderThumbProps(),\n\n emits: {\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider')\n\n const {\n thumbColor,\n step,\n vertical,\n disabled,\n thumbSize,\n thumbLabel,\n direction,\n readonly,\n elevation,\n isReversed,\n horizontalDirection,\n mousePressed,\n decimals,\n } = slider\n\n const { textColorClasses, textColorStyles } = useTextColor(thumbColor)\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyValues\n const relevantKeys = [pageup, pagedown, end, home, left, right, down, up]\n\n const multipliers = computed(() => {\n if (step.value) return [1, 2, 3]\n else return [1, 5, 10]\n })\n\n function parseKeydown (e: KeyboardEvent, value: number) {\n if (!relevantKeys.includes(e.key)) return\n\n e.preventDefault()\n\n const _step = step.value || 0.1\n const steps = (props.max - props.min) / _step\n if ([left, right, down, up].includes(e.key)) {\n const increase = horizontalDirection.value === 'rtl' ? [left, up] : [right, up]\n const direction = increase.includes(e.key) ? 1 : -1\n const multiplier = e.shiftKey ? 2 : (e.ctrlKey ? 1 : 0)\n\n value = value + (direction * _step * multipliers.value[multiplier])\n } else if (e.key === home) {\n value = props.min\n } else if (e.key === end) {\n value = props.max\n } else {\n const direction = e.key === pagedown ? 1 : -1\n value = value - (direction * _step * (steps > 100 ? steps / 10 : 10))\n }\n\n return Math.max(props.min, Math.min(props.max, value))\n }\n\n function onKeydown (e: KeyboardEvent) {\n const newValue = parseKeydown(e, props.modelValue)\n\n newValue != null && emit('update:modelValue', newValue)\n }\n\n useRender(() => {\n const positionPercentage = convertToUnit((vertical.value || isReversed.value) ? 100 - props.position : props.position, '%')\n const { elevationClasses } = useElevation(computed(() => !disabled.value ? elevation.value : undefined))\n\n return (\n <div\n class={[\n 'v-slider-thumb',\n {\n 'v-slider-thumb--focused': props.focused,\n 'v-slider-thumb--pressed': props.focused && mousePressed.value,\n },\n props.class,\n ]}\n style={[\n {\n '--v-slider-thumb-position': positionPercentage,\n '--v-slider-thumb-size': convertToUnit(thumbSize.value),\n },\n props.style,\n ]}\n role=\"slider\"\n tabindex={ disabled.value ? -1 : 0 }\n aria-valuemin={ props.min }\n aria-valuemax={ props.max }\n aria-valuenow={ props.modelValue }\n aria-readonly={ !!readonly.value }\n aria-orientation={ direction.value }\n onKeydown={ !readonly.value ? onKeydown : undefined }\n >\n <div\n class={[\n 'v-slider-thumb__surface',\n textColorClasses.value,\n elevationClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-thumb__ripple',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n v-ripple={[props.ripple, null, ['circle', 'center']]}\n />\n <VScaleTransition origin=\"bottom center\">\n <div\n class=\"v-slider-thumb__label-container\"\n v-show={ (thumbLabel.value && props.focused) || thumbLabel.value === 'always' }\n >\n <div\n class={[\n 'v-slider-thumb__label',\n ]}\n >\n <div>\n { slots['thumb-label']?.({ modelValue: props.modelValue }) ?? props.modelValue.toFixed(step.value ? decimals.value : 1) }\n </div>\n </div>\n </div>\n </VScaleTransition>\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VSliderThumb = InstanceType<typeof VSliderThumb>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VSliderThumb.mjs","names":["VSliderSymbol","VScaleTransition","useTextColor","makeComponentProps","useElevation","Ripple","computed","inject","convertToUnit","genericComponent","keyValues","propsFactory","useRender","makeVSliderThumbProps","focused","Boolean","max","type","Number","required","min","modelValue","position","ripple","Object","default","VSliderThumb","name","directives","props","emits","v","setup","_ref","slots","emit","slider","Error","thumbColor","step","vertical","disabled","thumbSize","thumbLabel","direction","readonly","elevation","isReversed","horizontalDirection","mousePressed","decimals","textColorClasses","textColorStyles","pageup","pagedown","end","home","left","right","down","up","relevantKeys","multipliers","value","parseKeydown","e","includes","key","preventDefault","_step","steps","increase","multiplier","shiftKey","ctrlKey","Math","onKeydown","newValue","positionPercentage","elevationClasses","undefined","_createVNode","class","style","_withDirectives","_resolveDirective","circle","center","toFixed","_vShow"],"sources":["../../../src/components/VSlider/VSliderThumb.tsx"],"sourcesContent":["// Styles\nimport './VSliderThumb.sass'\n\n// Components\nimport { VSliderSymbol } from './slider'\nimport { VScaleTransition } from '../transitions'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { useElevation } from '@/composables/elevation'\n\n// Directives\nimport Ripple from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { convertToUnit, genericComponent, keyValues, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\nexport type VSliderThumbSlots = {\n 'thumb-label': { modelValue: number }\n}\n\nexport const makeVSliderThumbProps = propsFactory({\n focused: Boolean,\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n modelValue: {\n type: Number,\n required: true,\n },\n position: {\n type: Number,\n required: true,\n },\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: true,\n },\n\n ...makeComponentProps(),\n}, 'VSliderThumb')\n\nexport const VSliderThumb = genericComponent<VSliderThumbSlots>()({\n name: 'VSliderThumb',\n\n directives: { Ripple },\n\n props: makeVSliderThumbProps(),\n\n emits: {\n 'update:modelValue': (v: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const slider = inject(VSliderSymbol)\n\n if (!slider) throw new Error('[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider')\n\n const {\n thumbColor,\n step,\n vertical,\n disabled,\n thumbSize,\n thumbLabel,\n direction,\n readonly,\n elevation,\n isReversed,\n horizontalDirection,\n mousePressed,\n decimals,\n } = slider\n\n const { textColorClasses, textColorStyles } = useTextColor(thumbColor)\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyValues\n const relevantKeys = [pageup, pagedown, end, home, left, right, down, up]\n\n const multipliers = computed(() => {\n if (step.value) return [1, 2, 3]\n else return [1, 5, 10]\n })\n\n function parseKeydown (e: KeyboardEvent, value: number) {\n if (!relevantKeys.includes(e.key)) return\n\n e.preventDefault()\n\n const _step = step.value || 0.1\n const steps = (props.max - props.min) / _step\n if ([left, right, down, up].includes(e.key)) {\n const increase = horizontalDirection.value === 'rtl' ? [left, up] : [right, up]\n const direction = increase.includes(e.key) ? 1 : -1\n const multiplier = e.shiftKey ? 2 : (e.ctrlKey ? 1 : 0)\n\n value = value + (direction * _step * multipliers.value[multiplier])\n } else if (e.key === home) {\n value = props.min\n } else if (e.key === end) {\n value = props.max\n } else {\n const direction = e.key === pagedown ? 1 : -1\n value = value - (direction * _step * (steps > 100 ? steps / 10 : 10))\n }\n\n return Math.max(props.min, Math.min(props.max, value))\n }\n\n function onKeydown (e: KeyboardEvent) {\n const newValue = parseKeydown(e, props.modelValue)\n\n newValue != null && emit('update:modelValue', newValue)\n }\n\n useRender(() => {\n const positionPercentage = convertToUnit((vertical.value || isReversed.value) ? 100 - props.position : props.position, '%')\n const { elevationClasses } = useElevation(computed(() => !disabled.value ? elevation.value : undefined))\n\n return (\n <div\n class={[\n 'v-slider-thumb',\n {\n 'v-slider-thumb--focused': props.focused,\n 'v-slider-thumb--pressed': props.focused && mousePressed.value,\n },\n props.class,\n ]}\n style={[\n {\n '--v-slider-thumb-position': positionPercentage,\n '--v-slider-thumb-size': convertToUnit(thumbSize.value),\n },\n props.style,\n ]}\n role=\"slider\"\n tabindex={ disabled.value ? -1 : 0 }\n aria-valuemin={ props.min }\n aria-valuemax={ props.max }\n aria-valuenow={ props.modelValue }\n aria-readonly={ !!readonly.value }\n aria-orientation={ direction.value }\n onKeydown={ !readonly.value ? onKeydown : undefined }\n >\n <div\n class={[\n 'v-slider-thumb__surface',\n textColorClasses.value,\n elevationClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n }}\n />\n <div\n class={[\n 'v-slider-thumb__ripple',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n v-ripple={[props.ripple, null, ['circle', 'center']]}\n />\n <VScaleTransition origin=\"bottom center\">\n <div\n class=\"v-slider-thumb__label-container\"\n v-show={ (thumbLabel.value && props.focused) || thumbLabel.value === 'always' }\n >\n <div\n class={[\n 'v-slider-thumb__label',\n ]}\n >\n <div>\n { slots['thumb-label']?.({ modelValue: props.modelValue }) ?? props.modelValue.toFixed(step.value ? decimals.value : 1) }\n </div>\n </div>\n </div>\n </VScaleTransition>\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VSliderThumb = InstanceType<typeof VSliderThumb>\n"],"mappings":"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"}
|
|
@@ -489,7 +489,9 @@ declare const VTab: {
|
|
|
489
489
|
variant?: NonNullable<NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">> | undefined;
|
|
490
490
|
selectedClass?: string | undefined;
|
|
491
491
|
stacked?: boolean | undefined;
|
|
492
|
-
ripple?: boolean |
|
|
492
|
+
ripple?: boolean | {
|
|
493
|
+
class: string;
|
|
494
|
+
} | undefined;
|
|
493
495
|
hideSlider?: boolean | undefined;
|
|
494
496
|
key?: string | number | symbol | undefined;
|
|
495
497
|
height?: string | number | undefined;
|
|
@@ -589,7 +591,9 @@ declare const VTab: {
|
|
|
589
591
|
variant: NonNullable<NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">>;
|
|
590
592
|
selectedClass: string;
|
|
591
593
|
stacked: boolean;
|
|
592
|
-
ripple: boolean
|
|
594
|
+
ripple: boolean | {
|
|
595
|
+
class: string;
|
|
596
|
+
} | undefined;
|
|
593
597
|
hideSlider: boolean;
|
|
594
598
|
} & {
|
|
595
599
|
height?: string | number | undefined;
|
|
@@ -636,7 +640,9 @@ declare const VTab: {
|
|
|
636
640
|
variant: NonNullable<NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">>;
|
|
637
641
|
selectedClass: string;
|
|
638
642
|
stacked: boolean;
|
|
639
|
-
ripple: boolean
|
|
643
|
+
ripple: boolean | {
|
|
644
|
+
class: string;
|
|
645
|
+
} | undefined;
|
|
640
646
|
hideSlider: boolean;
|
|
641
647
|
}, {}, string, vue.SlotsType<Partial<{
|
|
642
648
|
default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
@@ -675,7 +681,9 @@ declare const VTab: {
|
|
|
675
681
|
variant: NonNullable<NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">>;
|
|
676
682
|
selectedClass: string;
|
|
677
683
|
stacked: boolean;
|
|
678
|
-
ripple: boolean
|
|
684
|
+
ripple: boolean | {
|
|
685
|
+
class: string;
|
|
686
|
+
} | undefined;
|
|
679
687
|
hideSlider: boolean;
|
|
680
688
|
} & {
|
|
681
689
|
height?: string | number | undefined;
|
|
@@ -725,7 +733,9 @@ declare const VTab: {
|
|
|
725
733
|
variant: NonNullable<NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">>;
|
|
726
734
|
selectedClass: string;
|
|
727
735
|
stacked: boolean;
|
|
728
|
-
ripple: boolean
|
|
736
|
+
ripple: boolean | {
|
|
737
|
+
class: string;
|
|
738
|
+
} | undefined;
|
|
729
739
|
hideSlider: boolean;
|
|
730
740
|
} & {
|
|
731
741
|
height?: string | number | undefined;
|
|
@@ -772,7 +782,9 @@ declare const VTab: {
|
|
|
772
782
|
variant: NonNullable<NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">>;
|
|
773
783
|
selectedClass: string;
|
|
774
784
|
stacked: boolean;
|
|
775
|
-
ripple: boolean
|
|
785
|
+
ripple: boolean | {
|
|
786
|
+
class: string;
|
|
787
|
+
} | undefined;
|
|
776
788
|
hideSlider: boolean;
|
|
777
789
|
}, {}, string, vue.SlotsType<Partial<{
|
|
778
790
|
default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
@@ -845,7 +857,9 @@ declare const VTab: {
|
|
|
845
857
|
appendIcon: PropType<IconValue>;
|
|
846
858
|
stacked: BooleanConstructor;
|
|
847
859
|
ripple: {
|
|
848
|
-
type:
|
|
860
|
+
type: PropType<boolean | {
|
|
861
|
+
class: string;
|
|
862
|
+
} | undefined>;
|
|
849
863
|
default: boolean;
|
|
850
864
|
};
|
|
851
865
|
fixed: BooleanConstructor;
|
|
@@ -922,7 +936,9 @@ declare const VTab: {
|
|
|
922
936
|
appendIcon: PropType<IconValue>;
|
|
923
937
|
stacked: BooleanConstructor;
|
|
924
938
|
ripple: {
|
|
925
|
-
type:
|
|
939
|
+
type: PropType<boolean | {
|
|
940
|
+
class: string;
|
|
941
|
+
} | undefined>;
|
|
926
942
|
default: boolean;
|
|
927
943
|
};
|
|
928
944
|
fixed: BooleanConstructor;
|
|
@@ -10,13 +10,7 @@
|
|
|
10
10
|
-webkit-mask-image: linear-gradient(to bottom, transparent, transparent calc(var(--v-field-padding-top, 0) + var(--v-input-padding-top, 0) - 6px), black calc(var(--v-field-padding-top, 0) + var(--v-input-padding-top, 0) + 4px));
|
|
11
11
|
mask-image: linear-gradient(to bottom, transparent, transparent calc(var(--v-field-padding-top, 0) + var(--v-input-padding-top, 0) - 6px), black calc(var(--v-field-padding-top, 0) + var(--v-input-padding-top, 0) + 4px));
|
|
12
12
|
}
|
|
13
|
-
.v-textarea
|
|
14
|
-
overflow: hidden;
|
|
15
|
-
}
|
|
16
|
-
.v-textarea--no-resize .v-field__input {
|
|
17
|
-
resize: none;
|
|
18
|
-
}
|
|
19
|
-
.v-textarea__sizer {
|
|
13
|
+
.v-textarea .v-field__input.v-textarea__sizer {
|
|
20
14
|
visibility: hidden;
|
|
21
15
|
position: absolute;
|
|
22
16
|
top: 0;
|
|
@@ -25,6 +19,12 @@
|
|
|
25
19
|
min-height: 0 !important;
|
|
26
20
|
pointer-events: none;
|
|
27
21
|
}
|
|
22
|
+
.v-textarea--auto-grow .v-field__input {
|
|
23
|
+
overflow: hidden;
|
|
24
|
+
}
|
|
25
|
+
.v-textarea--no-resize .v-field__input {
|
|
26
|
+
resize: none;
|
|
27
|
+
}
|
|
28
28
|
.v-textarea .v-field--no-label textarea,
|
|
29
29
|
.v-textarea .v-field--active textarea {
|
|
30
30
|
opacity: 1;
|
|
@@ -20,6 +20,15 @@
|
|
|
20
20
|
-webkit-mask-image: linear-gradient(to bottom, transparent, transparent $a, black $b)
|
|
21
21
|
mask-image: linear-gradient(to bottom, transparent, transparent $a, black $b)
|
|
22
22
|
|
|
23
|
+
&.v-textarea__sizer
|
|
24
|
+
visibility: hidden
|
|
25
|
+
position: absolute
|
|
26
|
+
top: 0
|
|
27
|
+
left: 0
|
|
28
|
+
height: 0 !important
|
|
29
|
+
min-height: 0 !important
|
|
30
|
+
pointer-events: none
|
|
31
|
+
|
|
23
32
|
&--auto-grow
|
|
24
33
|
.v-field__input
|
|
25
34
|
overflow: hidden
|
|
@@ -28,15 +37,6 @@
|
|
|
28
37
|
.v-field__input
|
|
29
38
|
resize: none
|
|
30
39
|
|
|
31
|
-
&__sizer
|
|
32
|
-
visibility: hidden
|
|
33
|
-
position: absolute
|
|
34
|
-
top: 0
|
|
35
|
-
left: 0
|
|
36
|
-
height: 0 !important
|
|
37
|
-
min-height: 0 !important
|
|
38
|
-
pointer-events: none
|
|
39
|
-
|
|
40
40
|
.v-field--no-label,
|
|
41
41
|
.v-field--active
|
|
42
42
|
textarea
|