Skip to content

Commit 994521c

Browse files
committed
Add fallback styles to Textarea
1 parent 0014b57 commit 994521c

File tree

3 files changed

+54
-41
lines changed

3 files changed

+54
-41
lines changed

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
1010

1111
- **Button**: Fixed the button border style.
1212

13+
### Added
14+
15+
- Added fallback styles to **Textarea**.
16+
1317
## [1.13.1] - 2025-02-16
1418

1519
### Fixed
@@ -27,7 +31,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
2731
### Added
2832

2933
- **Badge**: Added `tab-header-counter` variant.
30-
- Added fallback styles from **Badge**, **Button** and **Textfield**.
34+
- Added fallback styles to **Badge**, **Button** and **Textfield**.
3135
These components still look proper even if the theme variables provided by VSCode are not present.
3236
In such cases, the components appear with the default theme (Dark Modern).
3337

src/vscode-textarea/vscode-textarea.styles.ts

Lines changed: 31 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ const styles: CSSResultGroup = [
2020
}
2121
2222
.shadow {
23-
box-shadow: var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;
23+
box-shadow: var(--vscode-scrollbar-shadow, #000000) 0 6px 6px -6px inset;
2424
display: none;
2525
inset: 0 0 auto 0;
2626
height: 6px;
@@ -34,20 +34,17 @@ const styles: CSSResultGroup = [
3434
}
3535
3636
textarea {
37-
background-color: var(--vscode-settings-textInputBackground);
38-
border-color: var(
39-
--vscode-settings-textInputBorder,
40-
var(--vscode-settings-textInputBackground)
41-
);
37+
background-color: var(--vscode-settings-textInputBackground, #313131);
38+
border-color: var(--vscode-settings-textInputBorder, transparent);
4239
border-radius: 2px;
4340
border-style: solid;
4441
border-width: 1px;
4542
box-sizing: border-box;
46-
color: var(--vscode-settings-textInputForeground);
43+
color: var(--vscode-settings-textInputForeground, #cccccc);
4744
display: block;
48-
font-family: var(--vscode-font-family);
49-
font-size: var(--vscode-font-size);
50-
font-weight: var(--vscode-font-weight);
45+
font-family: var(--vscode-font-family, sans-serif);
46+
font-size: var(--vscode-font-size, 13px);
47+
font-weight: var(--vscode-font-weight, normal);
5148
height: 100%;
5249
width: 100%;
5350
}
@@ -62,33 +59,36 @@ const styles: CSSResultGroup = [
6259
6360
:host([invalid]) textarea,
6461
:host(:invalid) textarea {
65-
background-color: var(--vscode-inputValidation-errorBackground);
62+
background-color: var(--vscode-inputValidation-errorBackground, #5a1d1d);
6663
border-color: var(--vscode-inputValidation-errorBorder, #be1100);
6764
}
6865
6966
textarea.monospace {
70-
background-color: var(--vscode-editor-background);
71-
color: var(--vscode-editor-foreground);
72-
font-family: var(--vscode-editor-font-family);
73-
font-size: var(--vscode-editor-font-size);
74-
font-weight: var(--vscode-editor-font-weight);
67+
background-color: var(--vscode-editor-background, #1f1f1f);
68+
color: var(--vscode-editor-foreground, #cccccc);
69+
font-family: var(--vscode-editor-font-family, monospace);
70+
font-size: var(--vscode-editor-font-size, 14px);
71+
font-weight: var(--vscode-editor-font-weight, normal);
7572
}
7673
7774
.textarea.monospace::placeholder {
78-
color: var(--vscode-editor-inlineValuesForeground);
75+
color: var(
76+
--vscode-editor-inlineValuesForeground,
77+
rgba(255, 255, 255, 0.5)
78+
);
7979
}
8080
8181
textarea.cursor-pointer {
8282
cursor: pointer;
8383
}
8484
8585
textarea:focus {
86-
border-color: var(--vscode-focusBorder);
86+
border-color: var(--vscode-focusBorder, #0078d4);
8787
outline: none;
8888
}
8989
9090
textarea::placeholder {
91-
color: var(--vscode-input-placeholderForeground);
91+
color: var(--vscode-input-placeholderForeground, #989898);
9292
opacity: 1;
9393
}
9494
@@ -105,15 +105,24 @@ const styles: CSSResultGroup = [
105105
}
106106
107107
textarea:hover::-webkit-scrollbar-thumb {
108-
background-color: var(--vscode-scrollbarSlider-background);
108+
background-color: var(
109+
--vscode-scrollbarSlider-background,
110+
rgba(121, 121, 121, 0.4)
111+
);
109112
}
110113
111114
textarea::-webkit-scrollbar-thumb:hover {
112-
background-color: var(--vscode-scrollbarSlider-hoverBackground);
115+
background-color: var(
116+
--vscode-scrollbarSlider-hoverBackground,
117+
rgba(100, 100, 100, 0.7)
118+
);
113119
}
114120
115121
textarea::-webkit-scrollbar-thumb:active {
116-
background-color: var(--vscode-scrollbarSlider-activeBackground);
122+
background-color: var(
123+
--vscode-scrollbarSlider-activeBackground,
124+
rgba(191, 191, 191, 0.4)
125+
);
117126
}
118127
119128
textarea::-webkit-scrollbar-corner {

src/vscode-textarea/vscode-textarea.ts

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -18,24 +18,24 @@ import styles from './vscode-textarea.styles.js';
1818
* @fires {InputEvent} input
1919
* @fires {Event} change
2020
*
21-
* @cssprop --vscode-scrollbar-shadow
22-
* @cssprop --vscode-settings-textInputBackground
23-
* @cssprop --vscode-settings-textInputBorder
24-
* @cssprop --vscode-settings-textInputForeground
25-
* @cssprop --vscode-input-placeholderForeground
26-
* @cssprop --vscode-font-family
27-
* @cssprop --vscode-font-size
28-
* @cssprop --vscode-font-weight
29-
* @cssprop --vscode-editor-background
30-
* @cssprop --vscode-editor-foreground
31-
* @cssprop --vscode-editor-font-family
32-
* @cssprop --vscode-editor-font-size
33-
* @cssprop --vscode-editor-font-weight
34-
* @cssprop --vscode-editor-inlineValuesForeground
35-
* @cssprop --vscode-focusBorder
36-
* @cssprop --vscode-scrollbarSlider-background
37-
* @cssprop --vscode-scrollbarSlider-hoverBackground
38-
* @cssprop --vscode-scrollbarSlider-activeBackground
21+
* @cssprop [--vscode-scrollbar-shadow=#000000]
22+
* @cssprop [--vscode-settings-textInputBackground=#313131]
23+
* @cssprop [--vscode-settings-textInputBorder=transparent]
24+
* @cssprop [--vscode-settings-textInputForeground=#cccccc]
25+
* @cssprop [--vscode-input-placeholderForeground=#989898]
26+
* @cssprop [--vscode-font-family=sans-serif]
27+
* @cssprop [--vscode-font-size=13px]
28+
* @cssprop [--vscode-font-weight=normal]
29+
* @cssprop [--vscode-editor-background=#1f1f1f]
30+
* @cssprop [--vscode-editor-foreground=#cccccc]
31+
* @cssprop [--vscode-editor-font-family=monospace]
32+
* @cssprop [--vscode-editor-font-size=14px]
33+
* @cssprop [--vscode-editor-font-weight=normal]
34+
* @cssprop [--vscode-editor-inlineValuesForeground=rgba(255, 255, 255, 0.5)]
35+
* @cssprop [--vscode-focusBorder=#0078d4]
36+
* @cssprop [--vscode-scrollbarSlider-background=rgba(121, 121, 121, 0.4)]
37+
* @cssprop [--vscode-scrollbarSlider-hoverBackground=rgba(100, 100, 100, 0.7)]
38+
* @cssprop [--vscode-scrollbarSlider-activeBackground=rgba(191, 191, 191, 0.4)]
3939
*/
4040
@customElement('vscode-textarea')
4141
export class VscodeTextarea

0 commit comments

Comments
 (0)