diff --git a/docs/_includes/search.njk b/docs/_includes/search.njk index dfbe32d01..4007def7c 100644 --- a/docs/_includes/search.njk +++ b/docs/_includes/search.njk @@ -6,7 +6,7 @@ ``` -### Filled Inputs +### Appearance -Add the `filled` attribute to draw a filled input. +Use the `appearance` attribute to change the input's visual appearance. ```html {.example} - + ``` ### Disabled diff --git a/docs/docs/components/select.md b/docs/docs/components/select.md index a56e6005f..f6b3b78a5 100644 --- a/docs/docs/components/select.md +++ b/docs/docs/components/select.md @@ -70,12 +70,12 @@ Use the `clearable` attribute to make the control clearable. The clear button on ``` -### Filled Selects +### Appearance -Add the `filled` attribute to draw a filled select. +Use the `appearance` attribute to change the select's visual appearance. ```html {.example} - + Option 1 Option 2 Option 3 diff --git a/docs/docs/components/textarea.md b/docs/docs/components/textarea.md index b32437cee..a01c4b774 100644 --- a/docs/docs/components/textarea.md +++ b/docs/docs/components/textarea.md @@ -47,12 +47,12 @@ Use the `placeholder` attribute to add a placeholder. ``` -### Filled Textareas +### Appearance -Add the `filled` attribute to draw a filled textarea. +Use the `appearance` attribute to change the textarea's visual appearance. ```html {.example} - + ``` ### Disabled diff --git a/src/components/input/input.ts b/src/components/input/input.ts index a2c21163f..6b9671cf2 100644 --- a/src/components/input/input.ts +++ b/src/components/input/input.ts @@ -122,8 +122,8 @@ export default class WaInput extends WebAwesomeFormAssociatedElement { /** The input's size. */ @property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium'; - /** Draws a filled input. */ - @property({ type: Boolean, reflect: true }) filled = false; + /** The input's visual appearance. */ + @property({ reflect: true }) appearance: 'filled' | 'outlined' = 'outlined'; /** Draws a pill-style input with rounded edges. */ @property({ type: Boolean, reflect: true }) pill = false; @@ -431,8 +431,6 @@ export default class WaInput extends WebAwesomeFormAssociatedElement { // States 'input--pill': this.pill, - 'input--standard': !this.filled, - 'input--filled': this.filled, 'input--disabled': this.disabled, 'input--focused': this.hasFocus, 'input--empty': !this.value, diff --git a/src/components/select/select.css b/src/components/select/select.css index f420b12b6..5d01cd7b1 100644 --- a/src/components/select/select.css +++ b/src/components/select/select.css @@ -9,7 +9,7 @@ display: block; } -:host([filled]) { +:host([appearance=filled]) { --background-color: var(--wa-color-neutral-fill-quiet); --border-color: var(--background-color); } diff --git a/src/components/select/select.ts b/src/components/select/select.ts index e6d889833..d2c4cbedf 100644 --- a/src/components/select/select.ts +++ b/src/components/select/select.ts @@ -197,8 +197,8 @@ export default class WaSelect extends WebAwesomeFormAssociatedElement { */ @property({ type: Boolean }) hoist = false; - /** Draws a filled select. */ - @property({ type: Boolean, reflect: true }) filled = false; + /** The select's visual appearance. */ + @property({ reflect: true }) appearance: 'filled' | 'outlined' = 'outlined'; /** Draws a pill-style select with rounded edges. */ @property({ type: Boolean, reflect: true }) pill = false; diff --git a/src/components/textarea/textarea.css b/src/components/textarea/textarea.css index e7c4139a8..ae5859119 100644 --- a/src/components/textarea/textarea.css +++ b/src/components/textarea/textarea.css @@ -9,7 +9,7 @@ display: block; } -:host([filled]) { +:host([appearance=filled]) { --background-color: var(--wa-color-neutral-fill-quiet); --border-color: var(--background-color); } diff --git a/src/components/textarea/textarea.ts b/src/components/textarea/textarea.ts index c3836b9fc..05842c24d 100644 --- a/src/components/textarea/textarea.ts +++ b/src/components/textarea/textarea.ts @@ -92,8 +92,8 @@ export default class WaTextarea extends WebAwesomeFormAssociatedElement { /** The textarea's size. */ @property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium'; - /** Draws a filled textarea. */ - @property({ type: Boolean, reflect: true }) filled = false; + /** The textarea's visual appearance. */ + @property({ reflect: true }) appearance: 'filled' | 'outlined' = 'outlined'; /** The textarea's label. If you need to display HTML, use the `label` slot instead. */ @property() label = ''; @@ -335,8 +335,8 @@ export default class WaTextarea extends WebAwesomeFormAssociatedElement { 'textarea--small': this.size === 'small', 'textarea--medium': this.size === 'medium', 'textarea--large': this.size === 'large', - 'textarea--standard': !this.filled, - 'textarea--filled': this.filled, + 'textarea--standard': this.appearance !== "filled", + 'textarea--filled': this.appearance === "filled", 'textarea--disabled': this.disabled, 'textarea--focused': this.hasFocus, 'textarea--empty': !this.value, diff --git a/src/styles/depth/2_chunky.css b/src/styles/depth/2_chunky.css index 0dc214bce..b16730b29 100644 --- a/src/styles/depth/2_chunky.css +++ b/src/styles/depth/2_chunky.css @@ -82,7 +82,7 @@ wa-button { wa-input, wa-select, wa-textarea { - &:not([filled]):not([disabled]) { + &:not([appearance='filled']):not([disabled]) { --box-shadow: var(--wa-shadow-xs); } } diff --git a/src/styles/depth/3_punchy.css b/src/styles/depth/3_punchy.css index 366c214b2..d1a7407cd 100644 --- a/src/styles/depth/3_punchy.css +++ b/src/styles/depth/3_punchy.css @@ -61,7 +61,7 @@ wa-button:not([appearance='plain']) { wa-input, wa-select, wa-textarea { - &:not([filled]):not([disabled]) { + &:not([appearance='filled']):not([disabled]) { --box-shadow: var(--wa-shadow-xs); } } diff --git a/src/styles/depth/4_glossy.css b/src/styles/depth/4_glossy.css index c2b09cfa1..b0648960a 100644 --- a/src/styles/depth/4_glossy.css +++ b/src/styles/depth/4_glossy.css @@ -237,14 +237,14 @@ wa-button:not([appearance='outlined']) { /* #region Inputs */ wa-input:not(:focus), wa-select { - &:not([filled]):not([disabled]) { + &:not([appearance='filled']):not([disabled]) { --box-shadow: var(--wa-shadow-xs), inset 0 1.25em 0 0 rgb(0 0 0 / 0.02) /* upper tint */, inset 0 -1.125em 0 0 rgb(255 255 255 / 0.05) /* lower shade */; } } wa-textarea:not(:focus) { - &:not([filled]):not([disabled]) { + &:not([appearance='filled']):not([disabled]) { --box-shadow: var(--wa-shadow-xs); } } diff --git a/src/styles/native/input.css b/src/styles/native/input.css index d73ce4635..b7113fc2e 100644 --- a/src/styles/native/input.css +++ b/src/styles/native/input.css @@ -22,10 +22,10 @@ --box-shadow: initial; } - /* Set custom properties for filled input variants via class="wa-accent" or */ + /* Set custom properties for filled input variants via class="wa-accent" or */ input:where(:not(:host input)).wa-accent:where(&), :host(.wa-accent:where(&)), - :host([filled]:where(&)) { + :host([appearance='filled']:where(&)) { --background-color: var(--wa-color-neutral-fill-quiet); --border-color: var(--background-color); } diff --git a/src/styles/themes/brutalist.css b/src/styles/themes/brutalist.css index 176a52d1c..b1f5134b4 100644 --- a/src/styles/themes/brutalist.css +++ b/src/styles/themes/brutalist.css @@ -601,8 +601,8 @@ /* preventing shadows on all form input types */ wa-input:not(:focus), - wa-input:not([filled]):not([disabled]), - wa-select:not([filled]):not([disabled]) { + wa-input:not([appearance=filled]):not([disabled]), + wa-select:not([appearance=filled]):not([disabled]) { --box-shadow: var(--wa-shadow-level-0); --border-width: 0 0 var(--wa-form-control-border-width) var(--wa-form-control-border-width); } diff --git a/src/styles/themes/classic.css b/src/styles/themes/classic.css index 9e44c8598..d3c98cca4 100644 --- a/src/styles/themes/classic.css +++ b/src/styles/themes/classic.css @@ -434,9 +434,9 @@ wa-drawer { --spacing: var(--wa-space-l); } -wa-input:not([filled]), -wa-select:not([filled]), -wa-textarea:not([filled]) { +wa-input:not([appearance=filled]), +wa-select:not([appearance=filled]), +wa-textarea:not([appearance=filled]) { --wa-focus-ring: var(--wa-focus-ring-style) var(--wa-focus-ring-width) color-mix(in oklab, var(--wa-color-focus), transparent 50%); --wa-focus-ring-offset: 0; diff --git a/src/styles/themes/playful.css b/src/styles/themes/playful.css index 080311c8e..31a21ba62 100644 --- a/src/styles/themes/playful.css +++ b/src/styles/themes/playful.css @@ -500,9 +500,9 @@ /* preventing shadows on all form input types */ wa-input:not(:focus), - wa-input:not([filled]):not([disabled]), + wa-input:not([appearance=filled]):not([disabled]), wa-checkbox:not([checked]):not([indeterminate]), - wa-select:not([filled]):not([disabled]) { + wa-select:not([appearance=filled]):not([disabled]) { --box-shadow: var(--wa-shadow-level-0); }