chromium/third_party/material_web_components/components-chromium/node_modules/@material/web/list/internal/listitem/list-item.d.ts

/**
 * @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';
declare const listItemBaseClass: import("../../../labs/behaviors/mixin.js").MixinReturn<typeof LitElement>;
/**
 * @fires request-activation {Event} Requests the list to set `tabindex=0` on
 * the item and focus it. --bubbles --composed
 */
export declare class ListItemEl extends listItemBaseClass 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;
}
export {};