This box should not scroll when the focus is inside the diff --git a/packages/textfield/src/spectrum-config.js b/packages/textfield/src/spectrum-config.js index fec9c085e58..f856845db03 100644 --- a/packages/textfield/src/spectrum-config.js +++ b/packages/textfield/src/spectrum-config.js @@ -45,84 +45,6 @@ export default { }, // Default to `size='m'` without needing the attribute converter.classToHost('spectrum-Textfield--sizeM'), - { - find: [builder.class('spectrum-Textfield--sizeS')], - replace: [ - { - replace: builder.id('textfield'), - }, - { - replace: builder.attribute('size', 's'), - }, - ], - }, - { - find: [builder.class('spectrum-Textfield--sizeL')], - replace: [ - { - replace: builder.id('textfield'), - }, - { - replace: builder.attribute('size', 'l'), - }, - ], - }, - { - find: [builder.class('spectrum-Textfield--sizeXL')], - replace: [ - { - replace: builder.id('textfield'), - }, - { - replace: builder.attribute('size', 'xl'), - }, - ], - }, - { - // .spectrum-Textfield--quiet:after - find: [ - builder.class('spectrum-Textfield--quiet'), - builder.pseudoElement('after'), - ], - // :host([quiet]) #textfield:after { - replace: [ - { - replace: builder.attribute('quiet'), - }, - { - replace: builder.id('textfield'), - }, - { - replace: builder.pseudoElement('after'), - }, - ], - }, - { - // .spectrum-Textfield--quiet.is-keyboardFocused:after - find: [ - builder.class('spectrum-Textfield--quiet'), - builder.class('is-keyboardFocused'), - builder.pseudoElement('after'), - ], - // :host([quiet][focused]) #textfield:after - replace: [ - { - replace: builder.attribute('quiet'), - }, - { - replace: builder.attribute('focused'), - }, - { - replace: builder.combinator(' '), - }, - { - replace: builder.id('textfield'), - }, - { - replace: builder.pseudoElement('after'), - }, - ], - }, ...converter.enumerateAttributes( [ ['spectrum-Textfield--sizeS', 's'], diff --git a/packages/textfield/src/spectrum-textfield.css b/packages/textfield/src/spectrum-textfield.css index 040f93e0fe5..8d5ac6ac94a 100644 --- a/packages/textfield/src/spectrum-textfield.css +++ b/packages/textfield/src/spectrum-textfield.css @@ -71,7 +71,7 @@ governing permissions and limitations under the License. --spectrum-text-area-min-block-size-quiet: var(--spectrum-component-height-100); } -:host([size='s']) #textfield { +:host([size='s']) { --spectrum-textfield-height: var(--spectrum-component-height-75); --spectrum-textfield-label-spacing-block-quiet: var(--spectrum-field-label-to-component-quiet-small); --spectrum-textfield-label-spacing-inline-side-label: var(--spectrum-spacing-100); @@ -91,7 +91,7 @@ governing permissions and limitations under the License. --spectrum-text-area-min-block-size-quiet: var(--spectrum-component-height-75); } -:host([size='l']) #textfield { +:host([size='l']) { --spectrum-textfield-height: var(--spectrum-component-height-200); --spectrum-textfield-label-spacing-block-quiet: var(--spectrum-field-label-to-component-quiet-large); --spectrum-textfield-label-spacing-inline-side-label: var(--spectrum-spacing-200); @@ -111,7 +111,7 @@ governing permissions and limitations under the License. --spectrum-text-area-min-block-size-quiet: var(--spectrum-component-height-200); } -:host([size='xl']) #textfield { +:host([size='xl']) { --spectrum-textfield-height: var(--spectrum-component-height-300); --spectrum-textfield-label-spacing-block-quiet: var(--spectrum-field-label-to-component-quiet-extra-large); --spectrum-textfield-label-spacing-inline-side-label: var(--spectrum-spacing-200); @@ -506,7 +506,7 @@ governing permissions and limitations under the License. overflow-y: hidden; } -:host([quiet]) #textfield:after { +:host([quiet]):after { content: ''; pointer-events: none; inline-size: 100%; @@ -516,7 +516,7 @@ governing permissions and limitations under the License. inset-inline-start: 0; } -:host([quiet][focused]) #textfield:after { +:host([quiet][focused]):after { background-color: var(--highcontrast-textfield-focus-indicator-color, var(--mod-textfield-focus-indicator-color, var(--spectrum-textfield-focus-indicator-color))); } diff --git a/packages/textfield/src/textfield-overrides.css b/packages/textfield/src/textfield-overrides.css index 21159535aec..98c8b6fddc4 100644 --- a/packages/textfield/src/textfield-overrides.css +++ b/packages/textfield/src/textfield-overrides.css @@ -40,19 +40,19 @@ governing permissions and limitations under the License. ); } -:host([size='s']) #textfield#textfield { +:host([size='s']) #textfield { --spectrum-textfield-icon-spacing-block-invalid: var( --system-textfield-size-s-icon-spacing-block-invalid ); } -:host([size='l']) #textfield#textfield { +:host([size='l']) #textfield { --spectrum-textfield-icon-spacing-block-invalid: var( --system-textfield-size-l-icon-spacing-block-invalid ); } -:host([size='xl']) #textfield#textfield { +:host([size='xl']) #textfield { --spectrum-textfield-icon-spacing-block-invalid: var( --system-textfield-size-xl-icon-spacing-block-invalid ); diff --git a/packages/textfield/src/textfield.css b/packages/textfield/src/textfield.css index db556748a82..aaab2f38bab 100644 --- a/packages/textfield/src/textfield.css +++ b/packages/textfield/src/textfield.css @@ -32,6 +32,8 @@ governing permissions and limitations under the License. } #textfield { + --spectrum-textfield-input-line-height: var(--spectrum-textfield-height); + inline-size: 100%; } @@ -41,7 +43,10 @@ textarea { } .input { - min-inline-size: var(--spectrum-textfield-min-width); + min-inline-size: var( + --mod-textfield-min-width, + var(--spectrum-textfield-width) + ); } :host([focused]) .input {