import { PropertyValueMap } from 'lit'; import { DdsElement } from '../../internal/dds-hu-element'; type Heading = { level: number; id: any; text: any; }; declare const DapDSTOC_base: typeof DdsElement & { new (...args: any[]): import('../../internal/mixin/sizedMixin').SizedElementInterface; prototype: import('../../internal/mixin/sizedMixin').SizedElementInterface; }; /** * `dap-ds-toc` * @summary A table of contents (TOC) is a list of links that allows users to quickly navigate to sections within a document. * @element dap-ds-toc * @title - toc * * @property { 'xs' | 'sm' | 'md' | 'lg' } size - The size of the TOC. Default is `lg. * @property {string} sizeMap - Responsive size map (e.g. "md:lg"). * * @event {{ selectedItem: HTMLAnchorElement, anchorElement: IntersectionObserverEntry | HTMLElement }} dds-anchor-change - Event that is triggered when the anchor changes. * * @csspart base - The main container of the toc. * * @cssproperty --dds-toc-border-width - Width of the TOC border. (default: var(--dds-border-width-base)) * @cssproperty --dds-toc-border-color - Color of the TOC border. (default: var(--dds-border-neutral-divider)) * @cssproperty --dds-toc-title-color - Color of the TOC title. (default: var(--dds-text-neutral-strong)) * @cssproperty --dds-toc-title-font-size - Font size of the TOC title. (default: var(--dds-font-base)) * @cssproperty --dds-toc-title-font-weight - Font weight of the TOC title. (default: var(--dds-font-weight-bold)) * @cssproperty --dds-toc-title-line-height - Line height of the TOC title. (default: 1.25) * @cssproperty --dds-toc-link-color - Color of the TOC links. (default: var(--dds-button-subtle-text-neutral-enabled)) * @cssproperty --dds-toc-link-active-color - Color of the active TOC link. (default: var(--dds-button-subtle-text-enabled)) * @cssproperty --dds-toc-link-border-color - Border color of the active TOC link. (default: var(--dds-border-brand-base)) * @cssproperty --dds-toc-link-line-height - Line height of the TOC links. (default: 1.2) * @cssproperty --dds-toc-link-padding - Padding of the TOC links. (default: var(--dds-spacing-200)) * @cssproperty --dds-toc-indent-level-0 - Indent level of the TOC items. (default: var(--dds-spacing-400)) * @cssproperty --dds-toc-indent-level-1 - Indent level of the TOC items. (default: var(--dds-spacing-800)) * @cssproperty --dds-toc-indent-level-2 - Indent level of the TOC items. (default: var(--dds-spacing-1200)) * @cssproperty --dds-toc-indent-level-3 - Indent level of the TOC items. (default: var(--dds-spacing-1600)) * @cssproperty --dds-toc-indent-level-4 - Indent level of the TOC items. (default: var(--dds-spacing-2000)) * @cssproperty --dds-toc-indent-level-5 - Indent level of the TOC items. (default: var(--dds-spacing-2400)) */ export default class DapDSTOC extends DapDSTOC_base { /** The root element to observe [`IntersectionObserver`](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#root) */ root: string; /** The margin around the root element to observe [`IntersectionObserver`](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#rootmargin) */ rootMargin: string; /** The margin around the last anchor to observe [`IntersectionObserver`](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#rootmargin) */ lastAnchorRootMargin: string; /** The threshold to trigger [`IntersectionObserver`](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#threshold) */ threshold: number[]; /** The minimum heading level to include in the TOC. The default value is `2`. */ minHeadingLevel: number; /** The maximum heading level to include in the TOC. The default value is `3`. */ maxHeadingLevel: number; /** Whether to indent the TOC items. */ noIndent: boolean; /** The header of the TOC. */ header: string; private _observer; private _lastAnchorObserver; private _anchors; private _activeAnchor; private _selectors; private _items; private _intersectionData; private _debounceTimer; static readonly styles: import('lit').CSSResult; constructor(); get activeAnchor(): HTMLAnchorElement; get anchors(): HTMLElement[]; get items(): Heading[]; connectedCallback(): void; protected firstUpdated(_changedProperties: PropertyValueMap | Map): Promise; attributeChangedCallback(name: string, oldValue: any, newValue: any): Promise; updated(changedProperties: Map): Promise; disconnectedCallback(): void; private readonly onScroll; renderTree(): Promise; getAnchors(minHeadingLevel: number, maxHeadingLevel: number): HTMLElement[]; setActiveAnchor(element: HTMLAnchorElement, entry: IntersectionObserverEntry | HTMLElement): void; private readonly getHeaders; buildTree(headers: any[]): string; private readonly _handleIntersect; private readonly _updateActiveAnchor; } export {};