import { default as WJElement } from '../wje-element/element.js'; /** * @summary This class represents a Breadcrumb element, extending the WJElement class. It provides a navigational aid in user interfaces, displaying the current location within a hierarchy. * @documentation https://elements.webjet.sk/components/breadcrumb * @status stable * @augments WJElement * @slot - The main content of the breadcrumb. * @slot start - Slot for content at the start of the breadcrumb. * @slot end - Slot for content at the end of the breadcrumb. * @slot separator - Slot for a custom separator between breadcrumb items. * @csspart native - The native wrapper of the breadcrumb component. * @csspart separator - The separator between breadcrumb items. * @cssproperty [--wje-breadcrumb-a=var(--wje-color-contrast-8)] - The color of the breadcrumb text. * @cssproperty [--wje-breadcrumb-a-hover=var(--wje-color-contrast-6)] - The color of the breadcrumb separator line. * @tag wje-breadcrumb */ export default class Breadcrumb extends WJElement { /** * Get CSS stylesheet for the Breadcrumb element. * @static * @returns {object} styles - The CSS styles */ static get cssStyleSheet(): object; /** * Get observed attributes for the Breadcrumb element. * @static * @returns {Array} - The observed attributes array for the Breadcrumb element. */ static get observedAttributes(): Array; _showSeparator: boolean; _showCollapsedIndicator: boolean; /** * Set show separator flag. * @param {boolean} value The value to set */ set showSeparator(value: boolean); /** * Get show separator flag. * @returns {boolean} showSeparator - The show separator flag */ get showSeparator(): boolean; /** * Set collapsed variant. * @param {string} value The value to set */ set collapsedVariant(value: string); /** * Get collapsed variant. * @returns {string} The collapsed variant value in uppercase. */ get collapsedVariant(): string; _collapsedVariant: string; /** * Handles attribute changes for the custom element and updates its behavior or appearance accordingly. * @param {string} name The name of the attribute that was changed. * @param {string|null} oldValue The previous value of the attribute before it was changed. Null if the attribute was not previously set. * @param {string|null} newValue The new value of the attribute after it was changed. Null if the attribute was removed. */ attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void; active: boolean; syncAria(): void; /** * Draw method for the Breadcrumb element. * @returns {object} fragment - The document fragment */ draw(): object; native: HTMLAnchorElement; /** * Renders the collapsed indicator based on the current collapsed variant. * If the collapsed variant is 'DROPDOWN', it invokes the collapseDropdown method. * Otherwise, it invokes the collapseButton method. * @returns {any} The rendered collapsed indicator, either as a dropdown or a button. */ drawCollapsedIndicator(): any; /** * Creates and returns a dropdown UI component for collapsed breadcrumbs. * This method generates a dropdown element with a button trigger and a menu populated with items corresponding * to the collapsed breadcrumbs. The dropdown is configured to handle specific interactions and ensure that * events are appropriately managed to avoid propagation issues. Menu items are linked to their corresponding * breadcrumbs, enabling the same functionality as clicking on the original breadcrumb. * @returns {HTMLElement} A configured dropdown element containing a button as trigger and a menu with breadcrumb items. */ collapseDropdown(): HTMLElement; /** * Creates a button element that expands hidden breadcrumbs when clicked. * The button is set with appropriate attributes and event listeners to handle * the expanding of hidden breadcrumb elements. Clicking the button will remove * the button itself, reveal hidden breadcrumbs, and stop the current event * propagation. * @returns {HTMLButtonElement} The created button configured to expand breadcrumbs. */ collapseButton(): HTMLButtonElement; /** * Retrieves the breadcrumb trail for the current element by returning its parent element. * @returns {Element} The parent element representing the breadcrumb trail. */ getBreadcrumbs(): Element; }