import { default as WJElement } from '../wje-element/element.js'; /** * @summary This class represents a Breadcrumbs container, extending the WJElement class. It acts as a wrapper for individual breadcrumb elements and manages their behavior, such as collapsing and marking the last breadcrumb. * @documentation https://elements.webjet.sk/components/breadcrumbs * @status stable * @augments WJElement * @slot - The container for breadcrumb elements. * @csspart container - The component's container wrapper. * @attribute {number} max-items - The maximum number of visible breadcrumbs before collapsing. * @attribute {number} items-before-collapse - The number of breadcrumbs to show before the collapsed indicator. * @attribute {number} items-after-collapse - The number of breadcrumbs to show after the collapsed indicator. * @tag wje-breadcrumbs * @example * * * Home * About * Services * Portfolio * Contact * * * */ export default class Breadcrumbs extends WJElement { static BREAKPOINTS: { sm: number; md: number; lg: number; xl: number; '2xl': number; xxl: number; }; /** * Get CSS stylesheet for the Breadcrumbs 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; /** * Last breadcrumb flag * @type {boolean} */ last: boolean; _isCollapsedByBreakpoint: boolean; /** * Set variant attribute for the Breadcrumbs element. * @param value */ set variant(value: string); /** * Get variant attribute for the Breadcrumbs element. * @returns {string} */ get variant(): string; /** * Get the collapsed indicator variant. * @returns {string} */ get collapsedVariant(): string; /** * Sets the collapse breakpoint token or value. * @param {string} value Breakpoint token or CSS size. */ set breakpoint(value: string); /** * Gets the collapse breakpoint token or value. * @returns {string} */ get breakpoint(): string; /** * Get items before collapse attribute. * @param {string} value */ set maxItems(value: string); /** * Get items before collapse attribute. * @returns {number} */ get maxItems(): number; /** * Get items before collapse attribute. * @param value */ set itemsBeforeCollapse(value: number); /** * Get items before collapse attribute. * @returns {number} */ get itemsBeforeCollapse(): number; /** * Get items after collapse attribute. * @param value */ set itemsAfterCollapse(value: number); /** * Get items after collapse attribute. * @returns {number} */ get itemsAfterCollapse(): number; /** * Draw method for the Breadcrumbs element. * @returns {object} fragment - The document fragment */ draw(): object; defaultSlot: HTMLSlotElement; /** * Updates the breadcrumb elements after they are drawn on the page. * It manages attributes on breadcrumb items and handles the logic for collapsing breadcrumbs * if the total exceeds the specified maximum items. * @returns {void} This method does not return a value. */ afterDraw(): void; onSlotChange: () => void; handleResize: () => void; /** * Reacts to viewport resize only when the breakpoint mode actually changes. * @returns {void} */ handleBreakpointResize(): void; /** * Recalculates breadcrumb collapse state. * @returns {void} */ updateCollapse(): void; /** * Clears attributes/classes managed by the collapse algorithm. * @param {Array} breadcrumbs Breadcrumb items. */ resetCollapseState(breadcrumbs?: Array): void; /** * Applies a managed boolean attribute only when its value truly changes. * @param {Element} element Breadcrumb item whose responsive state is being synchronized. * @param {string} name Managed state flag that should be synchronized on the breadcrumb item. * @param {boolean} isEnabled Whether the attribute should be present. */ syncManagedAttribute(element: Element, name: string, isEnabled: boolean): void; /** * Returns whether collapse rules should currently be applied. * @returns {boolean} */ shouldApplyBreakpointCollapse(): boolean; /** * Resolves the configured breakpoint to a pixel width. * @returns {number|null} */ getBreakpointWidth(): number | null; /** * Retrieves all breadcrumb elements within the current instance. * @returns {Array} An array of breadcrumb elements (`wje-breadcrumb`) found within the instance. Returns an empty array if no breadcrumbs are found. */ getBreadcrumbs(): Array; /** * Retrieves all breadcrumb elements that have the 'collapsed' attribute. * @returns {Array} An array of DOM elements representing breadcrumbs with the 'collapsed' attribute. */ getBreadcrumbsCollapsed(): Array; }