import { FASTElement } from "@microsoft/fast-element"; import type { AccordionMenuPanelMarkerPosition, AccordionMenuPanelSize } from "./accordion-menu-panel.options.js"; import { MenuList } from "../menu-list/menu-list.js"; /** * AccordionMenuPanel * @summary An AccordionMenuPanel component that provides expandable and collapsible sections within an accordion menu. * * @example * ```html * * *
Section 1
* - * + * * Content for section 1 * Content for section 2 * *
*
* ``` * * @attr {boolean} expanded - Expands or collapses the item. * @attr {boolean} disabled - Disables the accordion item. * @attr {string} id - The item ID. * @attr {AccordionMenuPanelSize} size - Defines the accordion header font size. * @attr {boolean} block - Sets the width of the focus state. * @attr {AccordionMenuPanelMarkerPosition} marker-position - Sets expand and collapsed icon position. * * @prop {ElementInternals} elementInternals - Internal element state used to manage the component. * @prop {MenuList[] | undefined} menuList - The menu list element if present. * @prop {HTMLElement | undefined} headingElement - Reference to the heading element. * @prop {boolean} expanded - Expands or collapses the item. * @prop {boolean} disabled - Disables an accordion item * @prop {string} id - The item ID. * @prop {AccordionMenuPanelSize | undefined} size - Defines accordion header font size. * @prop {boolean} block - Sets the width of the focus state. * @prop {AccordionMenuPanelMarkerPosition | undefined} markerPosition - Sets expand and collapsed icon position. * * @slot heading - Slot for the heading content. * @slot marker-expanded - Slot for the expanded icon. * @slot marker-collapsed - Slot for the collapsed icon. * @slot - Default slot for the accordion item content. * * @csspart heading - Represents the heading of the accordion item. * @csspart heading-content - Represents the content container of the heading. * @csspart markers - Represents the container for expand/collapse icons. * @csspart content - Represents the content of the accordion item. * * @method focusFirstMenuItem - Focus the first menu item in the menu list. * @method expandedChanged - Handles expanded changes. * @method disabledChanged - Handles disabled changes. * @method sizeChanged - Handles changes to size attribute. * @method blockChanged - Handles changes to block attribute. * @method markerPositionChanged - Handles changes to marker-position attribute. * * @fires expanded-change - Event fired when the expanded state changes. * * @extends FASTElement * @tagname fabric-accordion-menu-panel * @public */ export declare class AccordionMenuPanel extends FASTElement { /** Internal element state used to manage the component. */ elementInternals: ElementInternals; /** The menu list element if present */ menuList: MenuList[] | undefined; /** Reference to the heading element */ headingElement: HTMLElement | undefined; /** Constructor for the AccordionMenuPanel component. */ constructor(); /** Lifecycle method called when the component is connected to the DOM. */ connectedCallback(): void; /** Lifecycle method called when the component is disconnected from the DOM. */ disconnectedCallback(): void; /** * Handles click events. * @param e - The click event. */ handleClick: (e: MouseEvent) => void; /** * Handles keydown events. * @param e - The keyboard event. */ handleKeyDown: (e: KeyboardEvent) => void | boolean; /** * Focus the first menu item in the menu list */ private focusFirstMenuItem; /** * Handles expanded changes * @param prev - previous value * @param next - next value */ expandedChanged(prev: boolean, next: boolean): void; /** * Expands or collapses the item. * * @public * @remarks * HTML attribute: expanded */ expanded: boolean; /** * Disables an accordion item * * @public * @remarks * HTML attribute: disabled */ disabled: boolean; /** * Handles disabled changes * @param prev - previous value * @param next - next value */ disabledChanged(prev: boolean, next: boolean): void; /** * The item ID * * @public * @remarks * HTML Attribute: id */ id: string; /** * Defines accordion header font size. * * @public * @remarks * HTML Attribute: size */ size?: AccordionMenuPanelSize; /** * Handles changes to size attribute * @param prev - previous value * @param next - next value */ sizeChanged(prev: AccordionMenuPanelSize, next: AccordionMenuPanelSize): void; /** * Sets the width of the focus state. * * @public * @remarks * HTML Attribute: block */ block: boolean; /** * Handles changes to block attribute * @param prev - previous value * @param next - next value */ blockChanged(prev: boolean, next: boolean): void; /** * Sets expand and collapsed icon position. * * @public * @remarks * HTML Attribute: marker-position */ markerPosition?: AccordionMenuPanelMarkerPosition; /** * Handles changes to marker-position attribute * @param prev - previous value * @param next - next value */ markerPositionChanged(prev: AccordionMenuPanelMarkerPosition | undefined, next: AccordionMenuPanelMarkerPosition | undefined): void; } //# sourceMappingURL=accordion-menu-panel.d.ts.map