import { HTMLTemplateResult, PropertyValueMap } from "lit"; import { FRoot } from "../../mixins/components/f-root/f-root"; import { FDiv } from "../f-div/f-div"; import { FIcon } from "../f-icon/f-icon"; import render, { contentSectionHeader, jumplinksItems, jumplinksSection } from "./render"; import { checkInView, getAccordionPanel, getTextPanel, handleSearch, handleSelection, scrollToSectionMethod, toggleLeftColumn, traverse } from "./handler"; import { FSelect } from "../f-select/f-select"; export type FDocumentData = Record; export type FDocTextType = "heading" | "para"; export type FDocumentStatement = { title: string; data?: FDocumentData; type?: FDocTextType; open: boolean; template?: (highlightText?: string | null) => HTMLTemplateResult; }; export type FDocViewerContent = Record; export declare class FDocumentViewer extends FRoot { /** * css loaded from scss file */ static styles: import("lit").CSSResult[]; /** * @attribute json object for doc-previewer */ content: FDocViewerContent; /** * mention required fields here for generating vue types */ readonly required: string[]; /** * @attribute toggle jump-links */ jumpLinks: boolean; /** * @attribute toggle notch if jump-links present */ collapsibleJumpLinks: boolean; /** * @attribute toggle level-selector */ levelSelector: boolean; fDocViewerScrollContent: FDiv; leftColumn: FDiv; notch: FDiv; notchIcon: FIcon; leftColumnWrapper: FDiv; fSelectLevelSelector: FSelect; indexingLevelSelected: null | number; searchValue: string; deepestLevel: number; /** * return an array consisting of indexing levels for filtering the content on the basis of levels. */ inndexingArray(levels: number): { Indexing: string[]; }; /** * * @param index string or a number for unique identification * @returns a special character for dynamic id creation */ refName(index: string | number): string; /** * * @param index string or a number for unique identification * @returns a special character for dynamic id creation */ sidebarRefName(index: string | number): string; /** * * @param type para or heading * @returns text state color */ getState(type?: FDocTextType): string; /** * * @param type para or heading * @returns text weight */ getTextWeight(type?: FDocTextType): string; getAccordionPanel: typeof getAccordionPanel; getTextPanel: typeof getTextPanel; traverse: typeof traverse; scrollToSectionMethod: typeof scrollToSectionMethod; checkInView: typeof checkInView; handleSelection: typeof handleSelection; handleSearch: typeof handleSearch; toggleLeftColumn: typeof toggleLeftColumn; contentSectionHeader: typeof contentSectionHeader; jumplinksSection: typeof jumplinksSection; jumplinksItems: typeof jumplinksItems; render: typeof render; protected updated(changedProperties: PropertyValueMap | Map): void; } /** * Required for typescript */ declare global { interface HTMLElementTagNameMap { "f-document-viewer": FDocumentViewer; } }