/** * @license * Copyright 2021 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import '@material/web/icon/icon.js'; import '@material/web/iconbutton/filled-icon-button.js'; import '@material/web/iconbutton/filled-tonal-icon-button.js'; import '@material/web/iconbutton/icon-button.js'; import '@material/web/iconbutton/outlined-icon-button.js'; import {MaterialStoryInit} from './material-collection.js'; import {styles as typescaleStyles} from '@material/web/typography/md-typescale-styles.js'; import {css, html} from 'lit'; /** Knob types for icon button stories. */ export interface StoryKnobs { icon: string; selectedIcon: string; disabled: boolean; softDisabled: boolean; } const styles = [ typescaleStyles, css` .column { display: flex; flex-direction: column; align-items: center; } .row { display: flex; gap: 32px; } p { color: var(--md-sys-color-on-surface); } `, ]; const buttons: MaterialStoryInit = { name: 'Icon button variants', styles, render({icon, disabled, softDisabled}) { return html`

Standard

${icon || 'settings'}

Outlined

${icon || 'search'}

Filled

${icon || 'done'}

Filled tonal

${icon || 'add'}
`; }, }; const toggles: MaterialStoryInit = { name: 'Toggle icon buttons', styles, render({icon, selectedIcon, disabled, softDisabled}) { return html`

Standard

${icon || 'visibility'} ${selectedIcon || 'visibility_off'}

Outlined

${icon || 'play_arrow'} ${selectedIcon || 'pause'}

Filled

${icon || 'expand_more'} ${selectedIcon || 'expand_less'}

Filled tonal

${icon || 'menu'} ${selectedIcon || 'close'}
`; }, }; const links: MaterialStoryInit = { name: 'Links', styles, render({icon}) { return html`

Standard

${icon || 'home'}

Outlined

${icon || 'open_in_new'}

Filled

${icon || 'download'}

Filled tonal

${icon || 'logout'}
`; }, }; /** Icon button stories. */ export const stories = [buttons, toggles, links];