import { DuetLanguage, DuetTheme } from "../../common-types"; import { ThemeableComponent } from "../../common/themeable-component"; import { DuetLangObject } from "../../utils/language-utils"; /** * @slot unnamed default slot - The component’s primary content. All child nodes that do not have a slot attribute defined are inserted into this primary slot. * @slot additional - Additional content. Anything inserted into this slot is displayed in an expandable section. */ export declare class DuetTray implements ThemeableComponent { /** * Own Properties. */ private isTicking; private hasAdditionalContent; private expandableId; expanded: boolean; /** * Reference to host HTML element. */ element: HTMLElement; /** * The state of the info panel. */ hiddenState: boolean; /** * The currently active language. This setting changes the accessible labels to match the * chosen language. * @deprecated this is now handled via the html lang tag, and is no longer used - kept to avoid breaking changes and ease unit testing * @default "fi" */ language: DuetLanguage; /** * Defaults for accessibleCloseLabel * @default {fi: "Sulje", en: "Close", sv: "Stänga"} */ accessibleCloseLabelDefaults: DuetLangObject | string; /** * Accessible label that is shown for screen reader users in the expandable * close toggle. Not visible for normal users. * @default {fi: "Sulje", en: "Close", sv: "Stänga"} */ accessibleCloseLabel: string; /** * Defaults for accessibleOpenLabel * @default {fi: "Avaa", en: "Open", sv: "Öppen"} */ accessibleOpenLabelDefaults: DuetLangObject | string; /** * Accessible label that is shown for screen reader users in the expandable * open toggle. Not visible for normal users. * @default {fi: "Avaa", en: "Open", sv: "Öppen"} */ accessibleOpenLabel: string; /** * Theme of the info panel. */ theme: DuetTheme; /** * Toggle whether the info panel is visible or not. You can use this * property e.g. when pricing information is revealed to the user. */ active: boolean; /** * Hide the info panel when user scrolls back to the top of the viewport. */ autoHide: boolean; /** * Enable or disable the automatic responsive behaviour which * makes the info panel hide on larger viewports. Settings this to * "false" means that the header panel is visible on all device sizes. */ responsive: boolean; /** * Component lifecycle events. */ componentWillLoad(): void; connectedCallback(): void; disconnectedCallback(): void; /** * Component event handling. */ getFrame(): void; handleBodyClick(e: any): void; /** * Local methods. */ private animationLoop; private toggleExpandable; /** * render() function * Always the last one in the class. */ render(): any; }