Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(vfield): standardize descendants to fix spacing #16132

Closed

Conversation

kelliedlynch
Copy link
Contributor

@kelliedlynch kelliedlynch commented Nov 19, 2022

Description

Standardized the sizing and spacing of VInput-VField descendants to fix multiple bugs relating to
field resizing and text alignment. All field variants now have identical sizing whether they contain input or not.
This required changing the size of VChip elements inside a VField. Fixes #15980, #16048, and #15948

Motivation and Context

Fixes #15980, #16048, and #15948, as well as several other unreported spacing and resizing issues. Fields should no longer resize on input, and cursors and text will stay in one position regardless of field state.

How Has This Been Tested?

Comprehensive visual testing (see markup below).
Duplicated in Codepen link to compare with current version: https://codepen.io/kelliedlynch/pen/qBKXBPN

Markup:

<template>
  <v-app>
    <v-container fluid>
      <v-row class="justify-start" style="background-color:azure">
        <v-col cols="2">
          <v-checkbox
            label="Prepend Icon"
            v-model="prependIcon"
            density="none"
          />
          <v-checkbox
            label="Prepend Inner Icon"
            v-model="prependInnerIcon"
            density="none"
          />
        </v-col>
        <v-col cols="2">
          <v-checkbox
            label="Append Icon"
            v-model="appendIcon"
            density="none"
          />
          <v-checkbox
            label="Append Inner Icon"
            v-model="appendInnerIcon"
            density="none"
          />
        </v-col>
        <v-col cols="2">
          <v-select 
            label="Variant"
            :items="variants"
            v-model="variant"
            density="compact"
          />
        </v-col>
        <v-col cols="2">
          <v-select
            label="Category of Field"
            :items="pages"
            v-model="page"
            density="compact"
          />
        </v-col>
      </v-row>
      <v-row class="flex-wrap" style="margin-top:12px">
        <!-- TEXT FIELDS -->
        <v-col cols="2" class="pa-1" >
          <v-container v-for="showLabel in showLabels" class="pa-0" >
            <v-container v-for="density in densities" class="pa-0">
              <v-text-field
                :label="showLabel ? 'Text Field Labeled ' + ' ' + density + ' Dirty' : ''"
                :variant="variant.toLowerCase()"
                :density="density.toLowerCase()" 
                :model-value="showLabel ? 'Text Labeled ' + density + ' Dirty' : 'Text No-label ' + density + ' Dirty'"
                :placeholder="!showLabel ? 'Text No-Label ' + density + ' Dirty' : ''"
                clearable
                :prepend-icon="prependIcon ? 'mdi-map-marker' : ''"
                :prepend-inner-icon="prependInnerIcon ? 'mdi-map-marker' : ''"
                :append-icon="appendIcon ? 'mdi-map-marker' : ''"
                :append-inner-icon="appendInnerIcon ? 'mdi-map-marker' : ''"
              ></v-text-field>
            </v-container>
            <v-container v-for="density in densities" class="pa-0">
              <v-text-field
                :label="showLabel ? 'Text Field Labeled' + ' ' + density + ' Clean' : ''"
                :variant="variant.toLowerCase()"
                :density="density.toLowerCase()" 
                :placeholder="!showLabel ? 'Text No-Label ' + density + ' Clean' : ''"
                clearable
                :prepend-icon="prependIcon ? 'mdi-map-marker' : ''"
                :prepend-inner-icon="prependInnerIcon ? 'mdi-map-marker' : ''"
                :append-icon="appendIcon ? 'mdi-map-marker' : ''"
                :append-inner-icon="appendInnerIcon ? 'mdi-map-marker' : ''"
              ></v-text-field>
            </v-container>
          </v-container>
        </v-col>

        <!-- SINGLE-LINE TEXT FIELDS -->
        <v-col cols="2" class="pa-1" v-if="page == 'Text Fields'">
            <v-container v-for="density in densities" class="pa-0">
              <v-text-field
                :label="'Text Field Single Line ' + ' ' + density + ' Dirty'"
                :variant="variant.toLowerCase()"
                :density="density.toLowerCase()" 
                :model-value="'Text Single Line ' + density + ' Dirty'"
                clearable
                :prepend-icon="prependIcon ? 'mdi-map-marker' : ''"
                :prepend-inner-icon="prependInnerIcon ? 'mdi-map-marker' : ''"
                :append-icon="appendIcon ? 'mdi-map-marker' : ''"
                :append-inner-icon="appendInnerIcon ? 'mdi-map-marker' : ''"
                single-line
              ></v-text-field>
            </v-container>
            <v-container v-for="density in densities" class="pa-0">
              <v-text-field
                :label="'Text Field Single Line ' + ' ' + density + ' Clean'"
                :variant="variant.toLowerCase()"
                :density="density.toLowerCase()" 
                clearable
                :prepend-icon="prependIcon ? 'mdi-map-marker' : ''"
                :prepend-inner-icon="prependInnerIcon ? 'mdi-map-marker' : ''"
                :append-icon="appendIcon ? 'mdi-map-marker' : ''"
                :append-inner-icon="appendInnerIcon ? 'mdi-map-marker' : ''"
                single-line
              ></v-text-field>
            </v-container>
        </v-col>

        <!-- TEXTAREAS -->
        <v-col cols="2" class="pa-1" v-if="page == 'Textareas'" v-for="showLabel in showLabels">
            <v-container v-for="density in densities" class="pa-0">
              <VTextarea
                :label="showLabel ? 'Textarea Labeled ' + ' ' + density + ' Dirty' : ''"
                :variant="variant.toLowerCase()"
                :density="density.toLowerCase()" 
                :model-value="showLabel ? 'Text Labeled ' + density + ' Dirty' : 'Text No-label ' + density + ' Dirty'"
                :placeholder="!showLabel ? 'Text No-Label ' + density + ' Dirty' : ''"
                clearable
                auto-grow
                rows="1"
                :prepend-icon="prependIcon ? 'mdi-map-marker' : ''"
                :prepend-inner-icon="prependInnerIcon ? 'mdi-map-marker' : ''"
                :append-icon="appendIcon ? 'mdi-map-marker' : ''"
                :append-inner-icon="appendInnerIcon ? 'mdi-map-marker' : ''"
              ></VTextarea>
            </v-container>
            <v-container v-for="density in densities" class="pa-0">
              <v-textarea
                :label="showLabel ? 'Textarea Labeled' + ' ' + density + ' Clean' : ''"
                :variant="variant.toLowerCase()"
                :density="density.toLowerCase()" 
                :placeholder="!showLabel ? 'Text No-Label ' + density + ' Clean' : ''"
                clearable
                auto-grow
                rows="1"
                :prepend-icon="prependIcon ? 'mdi-map-marker' : ''"
                :prepend-inner-icon="prependInnerIcon ? 'mdi-map-marker' : ''"
                :append-icon="appendIcon ? 'mdi-map-marker' : ''"
                :append-inner-icon="appendInnerIcon ? 'mdi-map-marker' : ''"
              ></v-textarea>
            </v-container>
        </v-col>

        <!-- SELECT WITH CHIPS -->
        <v-col cols="2" class="pa-1"  v-if="page == 'Selects'">
          <v-container v-for="showLabel in showLabels" class="pa-0" >
            <v-container v-for="density in densities" class="pa-0">
              <v-select
                :label="showLabel ? 'Select Chips' + ' ' + density + ' Dirty' : ''"
                :variant="variant.toLowerCase()"
                :density="density.toLowerCase()" 
                :items="items"
                v-model="selected"
                chips
                closable-chips
                multiple
                clearable
                :prepend-icon="prependIcon ? 'mdi-map-marker' : ''"
                :prepend-inner-icon="prependInnerIcon ? 'mdi-map-marker' : ''"
                :append-icon="appendIcon ? 'mdi-map-marker' : ''"
              ></v-select>
            </v-container>
            <v-container v-for="density in densities" class="pa-0">
              <v-select
                :label="showLabel ? 'Select Chips' + ' ' + density + ' Clean' : ''"
                :variant="variant.toLowerCase()"
                :density="density.toLowerCase()" 
                :items="items"
                v-model="unselected"
                chips
                closable-chips
                multiple
                clearable
                :prepend-icon="prependIcon ? 'mdi-map-marker' : ''"
                :prepend-inner-icon="prependInnerIcon ? 'mdi-map-marker' : ''"
                :append-icon="appendIcon ? 'mdi-map-marker' : ''"
              ></v-select>
            </v-container>
          </v-container>
        </v-col>

        <!-- SELECT WITHOUT CHIPS -->
        <v-col cols="2" class="pa-1"  v-if="page == 'Selects'">
          <v-container v-for="showLabel in showLabels" class="pa-0" >
            <v-container v-for="density in densities" class="pa-0">
              <v-select
                :label="showLabel ? 'Select No-chips' + ' ' + density + ' Dirty' : ''"
                :variant="variant.toLowerCase()"
                :density="density.toLowerCase()" 
                :items="items"
                v-model="selected"
                multiple
                clearable
                :prepend-icon="prependIcon ? 'mdi-map-marker' : ''"
                :prepend-inner-icon="prependInnerIcon ? 'mdi-map-marker' : ''"
                :append-icon="appendIcon ? 'mdi-map-marker' : ''"
              ></v-select>
            </v-container>
            <v-container v-for="density in densities" class="pa-0">
              <v-select
                :label="showLabel ? 'Select No-chips' + ' ' + density + ' Clean' : ''"
                :variant="variant.toLowerCase()"
                :density="density.toLowerCase()" 
                :items="items"
                v-model="unselected"
                multiple
                clearable
                :prepend-icon="prependIcon ? 'mdi-map-marker' : ''"
                :prepend-inner-icon="prependInnerIcon ? 'mdi-map-marker' : ''"
                :append-icon="appendIcon ? 'mdi-map-marker' : ''"
              ></v-select>
            </v-container>
          </v-container>
        </v-col>

        <!-- COMBOBOX WITH CHIPS -->
        <v-col cols="2" class="pa-1"  v-if="page == 'Combos'">
          <v-container v-for="showLabel in showLabels" class="pa-0" >
            <v-container v-for="density in densities" class="pa-0">
              <v-combobox
                :label="showLabel ? 'Combobox Chips' + ' ' + density + ' Dirty' : ''"
                :variant="variant.toLowerCase()"
                :density="density.toLowerCase()" 
                :items="items"
                v-model="selected"
                chips
                closable-chips
                multiple
                clearable
                :prepend-icon="prependIcon ? 'mdi-map-marker' : ''"
                :prepend-inner-icon="prependInnerIcon ? 'mdi-map-marker' : ''"
                :append-icon="appendIcon ? 'mdi-map-marker' : ''"
              ></v-combobox>
            </v-container>
            <v-container v-for="density in densities" class="pa-0">
              <v-combobox
                :label="showLabel ? 'Combobox Chips' + ' ' + density + ' Clean' : ''"
                :variant="variant.toLowerCase()"
                :density="density.toLowerCase()" 
                :items="items"
                v-model="unselected"
                chips
                closable-chips
                multiple
                clearable
                :prepend-icon="prependIcon ? 'mdi-map-marker' : ''"
                :prepend-inner-icon="prependInnerIcon ? 'mdi-map-marker' : ''"
                :append-icon="appendIcon ? 'mdi-map-marker' : ''"
              ></v-combobox>
            </v-container>
          </v-container>
        </v-col>

        <!-- COMBOBOX WITHOUT CHIPS -->
        <v-col cols="2" class="pa-1"  v-if="page == 'Combos'">
          <v-container v-for="showLabel in showLabels" class="pa-0" >
            <v-container v-for="density in densities" class="pa-0">
              <v-combobox
                :label="showLabel ? 'Combobox No-chips' + ' ' + density + ' Dirty' : ''"
                :variant="variant.toLowerCase()"
                :density="density.toLowerCase()" 
                :items="items"
                v-model="selected"
                multiple
                clearable
                :prepend-icon="prependIcon ? 'mdi-map-marker' : ''"
                :prepend-inner-icon="prependInnerIcon ? 'mdi-map-marker' : ''"
                :append-icon="appendIcon ? 'mdi-map-marker' : ''"
              ></v-combobox>
            </v-container>
            <v-container v-for="density in densities" class="pa-0">
              <v-combobox
                :label="showLabel ? 'Combobox No-chips' + ' ' + density + ' Clean' : ''"
                :variant="variant.toLowerCase()"
                :density="density.toLowerCase()" 
                :items="items"
                v-model="unselected"
                multiple
                clearable
                :prepend-icon="prependIcon ? 'mdi-map-marker' : ''"
                :prepend-inner-icon="prependInnerIcon ? 'mdi-map-marker' : ''"
                :append-icon="appendIcon ? 'mdi-map-marker' : ''"
              ></v-combobox>
            </v-container>
          </v-container>
        </v-col>

        <!-- AUTOCOMPLETE WITH CHIPS -->
        <v-col cols="2" class="pa-1"  v-if="page == 'Combos'">
          <v-container v-for="showLabel in showLabels" class="pa-0" >
            <v-container v-for="density in densities" class="pa-0">
              <v-autocomplete
                :label="showLabel ? 'Autocomplete Chips' + ' ' + density + ' Dirty' : ''"
                :variant="variant.toLowerCase()"
                :density="density.toLowerCase()" 
                :items="items"
                v-model="selected"
                chips
                closable-chips
                multiple
                clearable
                :prepend-icon="prependIcon ? 'mdi-map-marker' : ''"
                :prepend-inner-icon="prependInnerIcon ? 'mdi-map-marker' : ''"
                :append-icon="appendIcon ? 'mdi-map-marker' : ''"
              ></v-autocomplete>
            </v-container>
            <v-container v-for="density in densities" class="pa-0">
              <v-autocomplete
                :label="showLabel ? 'Autocomplete Chips' + ' ' + density + ' Clean' : ''"
                :variant="variant.toLowerCase()"
                :density="density.toLowerCase()" 
                :items="items"
                v-model="unselected"
                chips
                closable-chips
                multiple
                clearable
                :prepend-icon="prependIcon ? 'mdi-map-marker' : ''"
                :prepend-inner-icon="prependInnerIcon ? 'mdi-map-marker' : ''"
                :append-icon="appendIcon ? 'mdi-map-marker' : ''"
              ></v-autocomplete>
            </v-container>
          </v-container>
        </v-col>

        <!-- AUTOCOMPLETE WITHOUT CHIPS -->
        <v-col cols="2" class="pa-1"  v-if="page == 'Combos'">
          <v-container v-for="showLabel in showLabels" class="pa-0" >
            <v-container v-for="density in densities" class="pa-0">
              <v-autocomplete
                :label="showLabel ? 'Autocomplete No-chips' + ' ' + density + ' Dirty' : ''"
                :variant="variant.toLowerCase()"
                :density="density.toLowerCase()" 
                :items="items"
                v-model="selected"
                multiple
                clearable
                :prepend-icon="prependIcon ? 'mdi-map-marker' : ''"
                :prepend-inner-icon="prependInnerIcon ? 'mdi-map-marker' : ''"
                :append-icon="appendIcon ? 'mdi-map-marker' : ''"
              ></v-autocomplete>
            </v-container>
            <v-container v-for="density in densities" class="pa-0">
              <v-autocomplete
                :label="showLabel ? 'Autocomplete No-chips' + ' ' + density + ' Clean' : ''"
                :variant="variant.toLowerCase()"
                :density="density.toLowerCase()" 
                :items="items"
                v-model="unselected"
                multiple
                clearable
                :prepend-icon="prependIcon ? 'mdi-map-marker' : ''"
                :prepend-inner-icon="prependInnerIcon ? 'mdi-map-marker' : ''"
                :append-icon="appendIcon ? 'mdi-map-marker' : ''"
              ></v-autocomplete>
            </v-container>
          </v-container>
        </v-col>

        <!-- FILE INPUT WITH CHIPS -->
        <v-col cols="2" class="pa-1" v-if="page == 'Text Fields'">
          <v-container v-for="showLabel in showLabels" class="pa-0" >
            <v-container v-for="density in densities" class="pa-0">
              <v-file-input
                :label="showLabel ? 'File Input Chips' + ' ' + density + ' Dirty' : ''"
                :variant="variant.toLowerCase()"
                :density="density.toLowerCase()"
                chips
                closable-chips
                multiple
                :prepend-inner-icon="prependInnerIcon ? 'mdi-map-marker' : ''"
                :append-icon="appendIcon ? 'mdi-map-marker' : ''"
                :append-inner-icon="appendInnerIcon ? 'mdi-map-marker' : ''"
              ></v-file-input>
            </v-container>
            <v-container v-for="density in densities" class="pa-0">
              <v-file-input
                :label="showLabel ? 'File Input Chips' + ' ' + density + ' Clean' : ''"
                :variant="variant.toLowerCase()"
                :density="density.toLowerCase()" 
                chips
                closable-chips
                multiple
                :prepend-inner-icon="prependInnerIcon ? 'mdi-map-marker' : ''"
                :append-icon="appendIcon ? 'mdi-map-marker' : ''"
                :append-inner-icon="appendInnerIcon ? 'mdi-map-marker' : ''"
              ></v-file-input>
            </v-container>
          </v-container>
        </v-col>

        <!-- FILE INPUT WITHOUT CHIPS -->
        <v-col cols="2" class="pa-1" v-if="page == 'Text Fields'" >
          <v-container v-for="showLabel in showLabels" class="pa-0" >
            <v-container v-for="density in densities" class="pa-0">
              <v-file-input
                :label="showLabel ? 'File Input No-chips' + ' ' + density + ' Dirty' : ''"
                :variant="variant.toLowerCase()"
                :density="density.toLowerCase()" 
                multiple
                :prepend-inner-icon="prependInnerIcon ? 'mdi-map-marker' : ''"
                :append-icon="appendIcon ? 'mdi-map-marker' : ''"
                :append-inner-icon="appendInnerIcon ? 'mdi-map-marker' : ''"
              ></v-file-input>
            </v-container>
            <v-container v-for="density in densities" class="pa-0">
              <v-file-input
                :label="showLabel ? 'File Input No-chips' + ' ' + density + ' Clean' : ''"
                :variant="variant.toLowerCase()"
                :density="density.toLowerCase()" 
                multiple
                :prepend-inner-icon="prependInnerIcon ? 'mdi-map-marker' : ''"
                :append-icon="appendIcon ? 'mdi-map-marker' : ''"
                :append-inner-icon="appendInnerIcon ? 'mdi-map-marker' : ''"
              ></v-file-input>
            </v-container>
          </v-container>
        </v-col>
      </v-row>
    </v-container>
  </v-app>
</template>

<script>
  export default {
    name: 'Playground',
    setup () {

    },
    data: () => {
      return {
        showLabels: [
          true, false
        ],
        prependIcon: false,
        prependInnerIcon: false,
        appendIcon: false,
        appendInnerIcon: false,
        pages: [
          "Text Fields",
          "Selects",
          "Combos",
          "Textareas"
        ],
        page: "Text Fields",
        variants: [
          "Filled",
          "Outlined",
          "Solo",
          "Plain",
          "Underlined",
        ],
        variant: "Filled",
        usesChips: [
          true, false
        ],
        items: [
          "lorem",
          "ipsum dolor sit amet", 
          "consectetur",
          "adipiscing elit", 
          "ut enim ad minim veniam", 
          "quis nostrud",
          "exercitation ullamco laboris"],
        selected: [
          "lorem",
        ],
        unselected: [],
        densities: [
          "Compact",
          "Comfortable",
          "Default",
        ],
        labeled: [
          "Labeled",
          "Unlabeled",
        ],
        isFieldClean: [
          true, false
        ]
      }
    }
  }
</script>

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Improvement/refactoring (non-breaking change that doesn't add any features but makes things better)

Checklist:

  • The PR title is no longer than 64 characters.
  • The PR is submitted to the correct branch (master for bug fixes and documentation updates, dev for new features and backwards compatible changes and next for non-backwards compatible changes).
  • My code follows the code style of this project.
  • I've added relevant changes to the documentation (applies to new features and breaking changes in core library)

@kelliedlynch kelliedlynch changed the title Standardize VField descendants to fix spacing fix(vfield): standardize descendants to fix spacing Nov 20, 2022
Standardized the sizing and spacing of VInput-VField descendants to fix multiple bugs relating to
field resizing and text alignment. All field densities are now identical sizes across all variants.
This required changing the size of VChip elements inside a VField.

fix vuetifyjs#15980, fix vuetifyjs#16048, fix vuetifyjs#15948
@johnleider johnleider self-requested a review November 22, 2022 16:38
@johnleider johnleider added C: VField T: bug Functionality that does not work as intended/expected labels Nov 22, 2022
@johnleider
Copy link
Member

Looking good but there are some alignment issues for filled inputs:

image

Easiest way to see this is by building Vuetify and running the docs locally and check out the Form & input controls

@kelliedlynch
Copy link
Contributor Author

Whoops--accidentally deleted something I shouldn't in my final cleanup. I'll have the fix up shortly.

@johnleider
Copy link
Member

This is what I see when I compare your branch to next:

next
15980

@johnleider johnleider added this to the v3.0.x milestone Nov 29, 2022
@kelliedlynch
Copy link
Contributor Author

Can you clarify the issue? The only difference I see is that next has inconsistent sizing, and mine doesn't. From looking at constants and defaults in next, it looks like the larger size (42/48/56px) should be the correct one, and that's the size that allows enough room for field elements.

@johnleider
Copy link
Member

Can you clarify the issue? The only difference I see is that next has inconsistent sizing, and mine doesn't. From looking at constants and defaults in next, it looks like the larger size (42/48/56px) should be the correct one, and that's the size that allows enough room for field elements.

The label is too close to the top of the input and looks offset improperly. The label should be closer to the input text:

image

Lowered floating labels slightly to match original spacing
@kelliedlynch
Copy link
Contributor Author

Got it, thanks for the clarification. Should be fixed now.

$field-control-density: ('default': 0, 'comfortable': -1, 'compact': -2) !default;
$field-chips-margin-top: ('default': 1, 'comfortable': 0, 'compact': 0) !default;
$field-chips-margin-bottom: ('default': 3, 'comfortable': 3, 'compact': 2) !default;
$field-chip-height: 20px;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
$field-chip-height: 20px;
$field-chip-height: 20px !default;

@@ -209,7 +209,7 @@ export const VSelect = genericComponent<new <
'v-select',
{
'v-select--active-menu': menu.value,
'v-select--chips': !!props.chips,
// 'v-select--chips': !!props.chips,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// 'v-select--chips': !!props.chips,

@at-root
@include tools.density('v-input', $field-control-density) using ($modifier)
--v-field-prepend-append-padding-top: #{$field-control-padding-top + $modifier}
// --v-field-padding-bottom: #{$field-control-padding-bottom + $modifier}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// --v-field-padding-bottom: #{$field-control-padding-bottom + $modifier}

@@ -213,8 +250,14 @@

.v-field--error:not(.v-field--disabled) &
color: rgb(var(--v-theme-error))

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change

@KaelWD
Copy link
Member

KaelWD commented Dec 6, 2022

Prefix and suffix are broken:
Screenshot_20221207_030905
Underlined has too much space below the label and value:
Screenshot_20221207_031127

// --v-field-padding-bottom: #{$field-control-padding-bottom + $modifier}
--v-field-padding-top: #{$field-control-padding-top + $modifier}
--v-field-padding-bottom: #{$field-control-padding-bottom + $modifier}
&.v-textarea .v-field:not(.v-field--no-label)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was trying to avoid using :not() where possible because it can increase specificity a lot and make it hard to follow what rules are being applied

@KaelWD KaelWD modified the milestones: v3.0.x, v3.1.x Jan 6, 2023
@KaelWD KaelWD added the S: has merge conflicts The pending Pull Request has merge conflicts label Jan 31, 2023
@KaelWD KaelWD marked this pull request as draft January 31, 2023 12:23
@KaelWD KaelWD changed the base branch from next to master February 5, 2023 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: VField S: has merge conflicts The pending Pull Request has merge conflicts T: bug Functionality that does not work as intended/expected
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug Report][3.0.0-beta.15] VSelect height changes between empty and non-empty states when using chips
3 participants