UNPKG

@material/web

Version:
79 lines (78 loc) 2.5 kB
/** * @license * Copyright 2022 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import '../../../focus/md-focus-ring.js'; import '../../../labs/item/item.js'; import '../../../ripple/ripple.js'; import { LitElement, nothing, PropertyValues, TemplateResult } from 'lit'; import { ClassInfo } from 'lit/directives/class-map.js'; import { ListItem } from '../list-navigation-helpers.js'; /** * Supported behaviors for a list item. */ export type ListItemType = 'text' | 'button' | 'link'; /** * @fires request-activation {Event} Requests the list to set `tabindex=0` on * the item and focus it. --bubbles --composed */ export declare class ListItemEl extends LitElement implements ListItem { /** @nocollapse */ static shadowRootOptions: { delegatesFocus: boolean; mode: ShadowRootMode; slotAssignment?: SlotAssignmentMode; }; /** * Disables the item and makes it non-selectable and non-interactive. */ disabled: boolean; /** * Sets the behavior of the list item, defaults to "text". Change to "link" or * "button" for interactive items. */ type: ListItemType; /** * READONLY. Sets the `md-list-item` attribute on the element. */ isListItem: boolean; /** * Sets the underlying `HTMLAnchorElement`'s `href` resource attribute. */ href: string; /** * Sets the underlying `HTMLAnchorElement`'s `target` attribute when `href` is * set. */ target: '_blank' | '_parent' | '_self' | '_top' | ''; protected readonly listItemRoot: HTMLElement | null; private get isDisabled(); protected willUpdate(changed: PropertyValues<ListItemEl>): void; protected render(): TemplateResult; /** * Renders the root list item. * * @param content the child content of the list item. */ protected renderListItem(content: unknown): TemplateResult; /** * Handles rendering of the ripple element. */ protected renderRipple(): TemplateResult | typeof nothing; /** * Handles rendering of the focus ring. */ protected renderFocusRing(): TemplateResult | typeof nothing; protected onFocusRingVisibilityChanged(e: Event): void; /** * Classes applied to the list item root. */ protected getRenderClasses(): ClassInfo; /** * Handles rendering the headline and supporting text. */ protected renderBody(): TemplateResult<1>; protected onFocus(): void; focus(): void; }