/** * @license * Copyright 2023 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import '@material/web/icon/icon.js'; import '@material/web/select/filled-select.js'; import '@material/web/select/outlined-select.js'; import '@material/web/select/select-option.js'; import {MaterialStoryInit} from './material-collection.js'; import {html, nothing} from 'lit'; /** Knob types for select stories. */ export interface StoryKnobs { 'md-select': void; label: string; typeaheadDelay: number; quick: boolean; required: boolean; noAsterisk: boolean; disabled: boolean; errorText: string; supportingText: string; error: boolean; clampMenuWidth: boolean; menuAlign: 'start' | 'end' | undefined; menuPositioning: 'absolute' | 'fixed' | 'popover' | undefined; 'md-select Slots': void; 'slot=leading-icon': string; 'slot=trailing-icon': string; } const selects: MaterialStoryInit = { name: 'Selects', render(knobs) { return html`
${renderIcon(knobs['slot=leading-icon'], 'leading-icon')} ${renderIcon(knobs['slot=trailing-icon'], 'trailing-icon')} ${renderItems()} ${renderIcon(knobs['slot=leading-icon'], 'leading-icon')} ${renderIcon(knobs['slot=trailing-icon'], 'trailing-icon')} ${renderItems()}
`; }, }; function renderIcon(iconName: string, slot: 'leading-icon' | 'trailing-icon') { return iconName ? html`${iconName}` : nothing; } function renderItems() { return html`
Apple
Apricot
Apricots
Avocado
Green Apple
Green Grapes
Olive
Orange
`; } /** Select stories. */ export const stories = [selects];