Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion icon/internal/icon.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import {html, LitElement} from 'lit';

/**
* TODO(b/265336902): add docs
* An icon element.
*/
export class Icon extends LitElement {
protected override render() {
Expand Down
2 changes: 1 addition & 1 deletion labs/gb/components/fab/demo/stories.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
* SPDX-License-Identifier: Apache-2.0
*/

import '@material/web/icon/icon.js';
import '@material/web/labs/gb/components/fab/md-fab.js';
import '@material/web/labs/gb/styles/icon/md-icon.js';

import {MaterialStoryInit} from './material-collection.js';
import {FabColor, FabSize} from '@material/web/labs/gb/components/fab/fab.js';
Expand Down
2 changes: 1 addition & 1 deletion labs/gb/components/iconbutton/demo/stories.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
* SPDX-License-Identifier: Apache-2.0
*/

import '@material/web/icon/icon.js';
import '@material/web/labs/gb/components/iconbutton/md-icon-button.js';
import '@material/web/labs/gb/styles/icon/md-icon.js';

import {MaterialStoryInit} from './material-collection.js';
import {
Expand Down
2 changes: 1 addition & 1 deletion labs/gb/components/list/demo/stories.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
* SPDX-License-Identifier: Apache-2.0
*/

import '@material/web/icon/icon.js';
import '@material/web/labs/gb/components/list/md-list.js';
import '@material/web/labs/gb/components/list/md-list-item.js';
import '@material/web/labs/gb/styles/icon/md-icon.js';

import {MaterialStoryInit} from './material-collection.js';
import {styles as checkboxStyles} from '@material/web/labs/gb/components/checkbox/checkbox.cssresult.js';
Expand Down
2 changes: 1 addition & 1 deletion labs/gb/components/switch/demo/stories.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
* SPDX-License-Identifier: Apache-2.0
*/

import '@material/web/icon/icon.js';
import '@material/web/labs/gb/components/switch/md-switch.js';
import '@material/web/labs/gb/styles/icon/md-icon.js';

import {MaterialStoryInit} from './material-collection.js';
import {adoptStyles} from '@material/web/labs/gb/styles/adopt-styles.js';
Expand Down
3 changes: 2 additions & 1 deletion labs/gb/styles/icon/md-icon.scss
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@
}

@layer md.sys.icon {
.md-icon {
.md-icon,
:host(.md-icon) {
display: inline-flex;
place-items: center;
place-content: center;
Expand Down
32 changes: 32 additions & 0 deletions labs/gb/styles/icon/md-icon.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/**
* @license
* Copyright 2026 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/

import {type CSSResultOrNative} from 'lit';
import {customElement} from 'lit/decorators.js';
import {Icon as IconBase} from '../../../../icon/internal/icon.js';

import iconStyles from './md-icon.css' with {type: 'css'}; // github-only
// import iconStyles from './md-icon.cssresult.js'; // google3-only

declare global {
interface HTMLElementTagNameMap {
/** A Material Design icon component. */
'md-icon': Icon;
}
}

/**
* A Material Design icon component.
*/
@customElement('md-icon')
export class Icon extends IconBase {
static override styles: CSSResultOrNative[] = [iconStyles];

override connectedCallback() {
super.connectedCallback();
this.classList.add('md-icon');
}
}
Loading