@omnia/fx
Version:
Provide Omnia Fx typings and tooling for clientside Omnia development.
57 lines (56 loc) • 2.38 kB
TypeScript
import { Section, SectionItem, TabbedSectionItemSettings } from "../../../../models";
import { LayoutCanvasStore } from "../../";
import { MultilingualStore } from "../../../../stores";
import { VueComponentBase } from "../../../VueComponentBase";
import { SubscriptionHandler } from "@omnia/fx";
import { DynamicStateStore } from "../../";
import { AnchorLink } from "../../../AnchorLink";
import { OmniaContext } from "../../../../contexts";
export interface SectionTabRendererProps {
section: Section;
layoutId: string;
useScrollMargingFix: boolean;
themeTargetId?: string;
}
export declare class LayoutSectionTabRenderer extends VueComponentBase<SectionTabRendererProps> {
layoutCanvasStore: LayoutCanvasStore;
multilingualStore: MultilingualStore;
tabStateStore: DynamicStateStore;
subscriptionHandler: SubscriptionHandler;
omniaContext: OmniaContext;
anchorLink: AnchorLink;
private selectedTabIndex;
private selectedAccordionIndex;
private currentSectionId;
private isEditMode;
private initialAnchorLinkResolved;
private VK_ENTER;
private isAccordionManualClicked;
section: Section;
layoutId: string;
useScrollMargingFix: boolean;
created(): void;
beforeDestroy(): void;
private handleAnchorLink;
updated(): void;
private getDefaultLabel;
private getPreferredLabel;
private getCustomAnchorName;
get selectedTab(): SectionItem<TabbedSectionItemSettings>;
onSelectTab(index: number): void;
onSelectAccordion(val: any): void;
private silentNavigateIfNeeded;
hasTabIcon(tab: SectionItem<TabbedSectionItemSettings>): boolean;
private hasAnyTabIcon;
private showIconAndTextMode;
renderLabelAndIcon(tab: SectionItem<TabbedSectionItemSettings>, itemId: string, ariaExpandedStatus: string): VueTsxSupport.JSX.Element;
private isSelectedAccordionIndex;
private ensureValueAccordion;
private renderAnchorElements;
renderAccordion(): VueTsxSupport.JSX.Element;
renderTabTitle(tab: SectionItem<TabbedSectionItemSettings>): VueTsxSupport.JSX.Element;
renderIcon(tab: SectionItem<TabbedSectionItemSettings>): VueTsxSupport.JSX.Element;
renderTab(tab: SectionItem<TabbedSectionItemSettings>, tabIndex: number): VueTsxSupport.JSX.Element;
renderTabs(): VueTsxSupport.JSX.Element;
render(): VueTsxSupport.JSX.Element;
}