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);
}