diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml index 366346cd4..e7cc7eb61 100644 --- a/.github/workflows/verify.yml +++ b/.github/workflows/verify.yml @@ -24,6 +24,9 @@ jobs: - name: Install dependencies run: npm ci + - name: Transpile files + run: npm run build:ts + - name: Prettier run: npm run prettier diff --git a/dev/vscode-button-group.html b/dev/vscode-button-group.html deleted file mode 100644 index 0913083f9..000000000 --- a/dev/vscode-button-group.html +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - <vscode-button-group> Demo - - - - - - - -
-

Basic example

- - -

- - Hello World - - -

- -

- - Left - - Right - -

- -

- - Left - - Right - -

- -

- - Primary - Secondary - -

-
-
- - diff --git a/dev/vscode-button-group/vscode-button-group.html b/dev/vscode-button-group/vscode-button-group.html new file mode 100644 index 000000000..dcc2c9726 --- /dev/null +++ b/dev/vscode-button-group/vscode-button-group.html @@ -0,0 +1,157 @@ + + + + + + <vscode-button-group> Demo + + + + + + + +
+

Basic example

+ + +

+ + Hello World + + +

+ +

+ + Left + + Right + +

+ +

+ + Left + + Right + +

+ +

+ + Primary + Secondary + +

+ +
+ + + + + + + + + + + + + + B + I + U + +
+
+
+ + diff --git a/dev/vscode-button/icon-button.html b/dev/vscode-button/icon-button.html new file mode 100644 index 000000000..9a610b8e8 --- /dev/null +++ b/dev/vscode-button/icon-button.html @@ -0,0 +1,34 @@ + + + + + + VSCode Elements + + + + + + + +
+ + + + +
+ + diff --git a/src/vscode-button-group/vscode-button-group.styles.ts b/src/vscode-button-group/vscode-button-group.styles.ts index 5b8e5191c..6a80d0cb6 100644 --- a/src/vscode-button-group/vscode-button-group.styles.ts +++ b/src/vscode-button-group/vscode-button-group.styles.ts @@ -6,7 +6,7 @@ const styles: CSSResultGroup = [ defaultStyles, css` :host { - display: flex; + display: inline-flex; align-items: stretch; padding: 0; border: none; diff --git a/src/vscode-button/vscode-button.styles.ts b/src/vscode-button/vscode-button.styles.ts index 3dfb0bb86..f8b4bfa64 100644 --- a/src/vscode-button/vscode-button.styles.ts +++ b/src/vscode-button/vscode-button.styles.ts @@ -62,7 +62,7 @@ const styles: CSSResultGroup = [ outline: none; } - :host(:focus) { + :host(:focus-visible) { background-color: var(--vscode-button-hoverBackground, #026ec1); outline: 1px solid var(--vscode-focusBorder, #0078d4); outline-offset: 2px; @@ -110,7 +110,10 @@ const styles: CSSResultGroup = [ padding: 1px 13px; } - :host(:empty) .wrapper { + :host(:empty) .wrapper, + :host([icon-only]) .wrapper { + min-height: 24px; + min-width: 16px; padding: 1px 5px; } diff --git a/src/vscode-button/vscode-button.ts b/src/vscode-button/vscode-button.ts index 66208d23a..2b8160b2c 100644 --- a/src/vscode-button/vscode-button.ts +++ b/src/vscode-button/vscode-button.ts @@ -98,6 +98,9 @@ export class VscodeButton extends VscElement { @property({type: String, reflect: true}) name: string | undefined = undefined; + @property({type: Boolean, reflect: true, attribute: 'icon-only'}) + iconOnly = false; + @property({reflect: true}) type: 'submit' | 'reset' | 'button' = 'button'; @@ -241,6 +244,7 @@ export class VscodeButton extends VscElement { wrapper: true, 'has-icon-before': hasIcon, 'has-icon-after': hasIconAfter, + 'icon-only': this.iconOnly, }; const iconElem = hasIcon