import { CSSResultGroup, PropertyValues } from "lit"; import { M3eListItemButtonElement } from "./ListItemButtonElement"; import { M3eListItemElement } from "./ListItemElement"; /** * An item in a list that can be expanded to show more items. * * @description * The `m3e-expandable-list-item` provides a hierarchical navigation structure that allows * users to expand and collapse content sections. It follows Material 3 design principles * with smooth animations, semantic color tokens, and accessible interactions. The component * extends the base `m3e-list-item` functionality with toggle state management and nested * content support. * * @example * The following example illustrates an expandable list item. * ```html * * * Pick up supplies * Due monday *
* * Dry-erase board * $35.99 * * * Markers * $8.99 * *
*
*
* ``` * * @tag m3e-expandable-list-item * * @slot - Renders the content of the list item. * @slot leading - Renders the leading content of the list item. * @slot overline - Renders the overline of the list item. * @slot supporting-text - Renders the supporting text of the list item. * @slot toggle-icon - Renders a custom icon for the expand/collapse toggle. * @slot items - Container for child list items displayed when expanded. * @slot trailing - This component does not expose the base trailing slot. * * @attr disabled - Whether the element is disabled. * @attr open - Whether the item is expanded. * * @fires opening - Emitted when the item begins to open. * @fires opened - Emitted when the item has opened. * @fires closing - Emitted when the item begins to close. * @fires closed - Emitted when the item has closed. * * @cssprop --m3e-expandable-list-item-toggle-icon-container-width - Width of the toggle icon container. * @cssprop --m3e-expandable-list-item-toggle-icon-container-shape - Border radius of the toggle icon container. * @cssprop --m3e-expandable-list-item-toggle-icon-size - Size of the toggle icon. * @cssprop --m3e-expandable-list-item-expanded-toggle-icon-container-color - Background color of the toggle icon container when expanded. * @cssprop --m3e-expandable-list-item-bounce-duration - Duration of the bounce animation when expanding. * @cssprop --m3e-expandable-list-item-bounce-factor - Multiplication factor for the bounce effect. * @cssprop --m3e-expandable-list-item-expand-duration - Duration of the expand/collapse animation. * @cssprop --m3e-list-item-between-space - Horizontal gap between elements. * @cssprop --m3e-list-item-padding-inline - Horizontal padding for the list item. * @cssprop --m3e-list-item-padding-block - Vertical padding for the list item. * @cssprop --m3e-list-item-height - Minimum height of the list item. * @cssprop --m3e-list-item-font-size - Font size for main content. * @cssprop --m3e-list-item-font-weight - Font weight for main content. * @cssprop --m3e-list-item-line-height - Line height for main content. * @cssprop --m3e-list-item-tracking - Letter spacing for main content. * @cssprop --m3e-list-item-overline-font-size - Font size for overline slot. * @cssprop --m3e-list-item-overline-font-weight - Font weight for overline slot. * @cssprop --m3e-list-item-overline-line-height - Line height for overline slot. * @cssprop --m3e-list-item-overline-tracking - Letter spacing for overline slot. * @cssprop --m3e-list-item-supporting-text-font-size - Font size for supporting text slot. * @cssprop --m3e-list-item-supporting-text-font-weight - Font weight for supporting text slot. * @cssprop --m3e-list-item-supporting-text-line-height - Line height for supporting text slot. * @cssprop --m3e-list-item-supporting-text-tracking - Letter spacing for supporting text slot. * @cssprop --m3e-list-item-trailing-text-font-size - Font size for trailing supporting text slot. * @cssprop --m3e-list-item-trailing-text-font-weight - Font weight for trailing supporting text slot. * @cssprop --m3e-list-item-trailing-text-line-height - Line height for trailing supporting text slot. * @cssprop --m3e-list-item-trailing-text-tracking - Letter spacing for trailing supporting text slot. * @cssprop --m3e-list-item-icon-size - Size for leading/trailing icons. * @cssprop --m3e-list-item-label-text-color - Color for the main content. * @cssprop --m3e-list-item-overline-color - Color for the overline slot. * @cssprop --m3e-list-item-supporting-text-color - Color for the supporting text slot. * @cssprop --m3e-list-item-leading-color - Color for the leading content. * @cssprop --m3e-list-item-trailing-color - Color for the trailing content. * @cssprop --m3e-list-item-container-color - Background color of the list item. * @cssprop --m3e-list-item-container-shape - Border radius of the list item. * @cssprop --m3e-list-item-hover-container-shape - Border radius of the list item on hover. * @cssprop --m3e-list-item-focus-container-shape - Border radius of the list item on focus. * @cssprop --m3e-list-item-video-width - Width of the video slot. * @cssprop --m3e-list-item-video-height - Height of the video slot. * @cssprop --m3e-list-item-video-shape - Border radius of the video slot. * @cssprop --m3e-list-item-image-width - Width of the image slot. * @cssprop --m3e-list-item-image-height - Height of the image slot. * @cssprop --m3e-list-item-image-shape - Border radius of the image slot. * @cssprop --m3e-list-item-disabled-label-text-color - Color for the main content when disabled. * @cssprop --m3e-list-item-disabled-label-text-opacity - Opacity for the main content when disabled. * @cssprop --m3e-list-item-disabled-overline-color - Color for the overline slot when disabled. * @cssprop --m3e-list-item-disabled-overline-opacity - Opacity for the overline slot when disabled. * @cssprop --m3e-list-item-disabled-supporting-text-color - Color for the supporting text slot when disabled. * @cssprop --m3e-list-item-disabled-supporting-text-opacity - Opacity for the supporting text slot when disabled. * @cssprop --m3e-list-item-disabled-leading-color - Color for the leading icon when disabled. * @cssprop --m3e-list-item-disabled-leading-opacity - Opacity for the leading icon when disabled. * @cssprop --m3e-list-item-disabled-trailing-color - Color for the trailing icon when disabled. * @cssprop --m3e-list-item-disabled-trailing-opacity - Opacity for the trailing icon when disabled. * @cssprop --m3e-list-item-hover-state-layer-color - Color for the hover state layer. * @cssprop --m3e-list-item-hover-state-layer-opacity - Opacity for the hover state layer. * @cssprop --m3e-list-item-focus-state-layer-color - Color for the focus state layer. * @cssprop --m3e-list-item-focus-state-layer-opacity - Opacity for the focus state layer. * @cssprop --m3e-list-item-pressed-state-layer-color - Color for the pressed state layer. * @cssprop --m3e-list-item-pressed-state-layer-opacity - Opacity for the pressed state layer. * @cssprop --m3e-segmented-list-container-shape - Border radius of the segmented list container shape. * @cssprop --m3e-segmented-list-segment-gap - Gap between list item segments. * @cssprop --m3e-list-item-three-line-top-offset - Top offset for media in three line items. * @cssprop --m3e-list-item-disabled-media-opacity - Opacity for media when disabled. */ export declare class M3eExpandableListItem extends M3eListItemElement { #private; /** The styles of the element. */ static styles: CSSResultGroup; /** @private */ private static __nextId; /** * Whether the element is disabled. * @default false */ disabled: boolean; /** * Whether the item is expanded. * @default false */ open: boolean; /** @internal */ readonly button: M3eListItemButtonElement; /** The direct child items of this item. */ get items(): ReadonlyArray; /** @inheritdoc */ focus(options?: FocusOptions): void; /** @inheritdoc */ blur(): void; /** @inheritdoc */ click(): void; /** @inheritdoc */ protected updated(_changedProperties: PropertyValues): void; /** @inheritdoc */ protected render(): unknown; } declare global { interface HTMLElementTagNameMap { "m3e-expandable-list-item": M3eExpandableListItem; } } //# sourceMappingURL=ExpandableListItemElement.d.ts.map