import { CustomElement } from '../../Abstracts/CustomElement'; import { IEpgElementProps } from './IEpgElementProps'; import { EpgChannelElement } from './EpgChannelElement'; import { EpgProgramElement } from './EpgProgramElement'; import { IItemsAware } from '../../Interfaces/IItemsAware'; declare const EpgElement_base: import("../../../../Index").ControlBehaviorReturn, import("../../../Behaviors/Variantable").IVariantableProps>, import("../../../Behaviors/Appearanceable").IAppearanceableProps>, import("../../../Behaviors/Localeable").ILocaleableProps>, import("../../../Behaviors/Boundable").IBoundableProps>, import("../../../Behaviors/Filterable").IFilterableProps>; /** * EPG - An Electronic Program Guide component for displaying TV schedules in a timeline grid. * * Renders a scrollable grid of channels and their time-slotted programs. Supports zooming, * a now-line indicator, a minimap overview, and timeline formatting. * * @name EpgElement * @element mosaik-epg * @category Selectors * * @slot - The default slot. * @slot channels - `mosaik-epg-channel` elements for each broadcast channel row * @slot toolbar - The toolbar slot. * * @csspart channels - The channels part. * @csspart content - The content part. * @csspart corner - The corner part. * @csspart filter - The filter part. * @csspart minimap - The minimap part. * @csspart root - The root part. * @csspart scroll - The scroll part. * @csspart timeline - The timeline part. * @csspart toolbar - The toolbar part. * @csspart zoomOut - The zoomOut part. * * @cssprop {String} --epg-background-color - The background color CSS custom property. * @cssprop {String} --epg-border-color - The border color CSS custom property. * @cssprop {String} --epg-border-radius - The border radius CSS custom property. * @cssprop {String} --epg-border-style - The border style CSS custom property. * @cssprop {String} --epg-border-width - The border width CSS custom property. * @cssprop {String} --epg-font-family - The font family CSS custom property. * @cssprop {String} --epg-font-letter-spacing - The font letter spacing CSS custom property. * @cssprop {String} --epg-font-line-height - The font line height CSS custom property. * @cssprop {String} --epg-font-size - The font size CSS custom property. * @cssprop {String} --epg-font-text-decoration - The font text decoration CSS custom property. * @cssprop {String} --epg-font-text-transform - The font text transform CSS custom property. * @cssprop {String} --epg-font-weight - The font weight CSS custom property. * @cssprop {String} --epg-foreground-color - The foreground color CSS custom property. * @cssprop {String} --epg-gap - The gap CSS custom property. * @cssprop {String} --epg-padding-bottom - The padding bottom CSS custom property. * @cssprop {String} --epg-padding-left - The padding left CSS custom property. * @cssprop {String} --epg-padding-right - The padding right CSS custom property. * @cssprop {String} --epg-padding-top - The padding top CSS custom property. * @cssprop {String} --epg-shadow - The shadow CSS custom property. * @cssprop {String} --epg-shadow-blur - The shadow blur CSS custom property. * @cssprop {String} --epg-shadow-color - The shadow color CSS custom property. * @cssprop {String} --epg-shadow-offset-x - The shadow offset x CSS custom property. * @cssprop {String} --epg-shadow-offset-y - The shadow offset y CSS custom property. * @cssprop {String} --epg-shadow-spread - The shadow spread CSS custom property. * @cssprop {String} --epg-transition-duration - The transition duration CSS custom property. * @cssprop {String} --epg-transition-mode - The transition mode CSS custom property. * @cssprop {String} --epg-transition-property - The transition property CSS custom property. * @cssprop {String} --epg-translate - The translate CSS custom property. * * @dependency mosaik-button - The Button element. * @dependency mosaik-button-group - The Button Group element. * @dependency mosaik-datebox - The Datebox element. * @dependency mosaik-divider - The Divider element. * @dependency mosaik-epg-minimap - The Epg Minimap element. * @dependency mosaik-epg-timeline - The Epg Timeline element. * @dependency mosaik-icon - The Icon element. * @dependency mosaik-textbox - The Textbox element. * @dependency mosaik-toolbar - The Toolbar element. * * @example * ```html * * BBC One * CNN * * ``` * * @public */ export declare class EpgElement extends EpgElement_base implements IEpgElementProps, IItemsAware { private static readonly ZOOM_FACTORS; private _timelineElement; private _timer; private _zoom; private _visibleStart; private _visibleEnd; private _isNow; private _showNowLine; private _showMinimap; private _timelineFormat; /** * @public */ constructor(); _dragStartX: number; _scrollStartX: number; /** * Returns the `is` property. * The `is` property represents natural name of this element. * * @public * @static * @readonly */ static get is(): string; /** * Gets or sets the `zoom` property. * * @public * @attr */ get zoom(): number; set zoom(value: number); /** * Gets or sets the `visibleStart` property. * * @public * @readonly */ get visibleStart(): number; private set visibleStart(value); /** * Gets or sets the `visibleEnd` property. * * @public * @readonly * */ get visibleEnd(): number; private set visibleEnd(value); /** * Gets or sets the `isNow` property. * * @public * @readonly */ get isNow(): boolean; private set isNow(value); /** * Gets or sets the `showNowLine` property. * * @public * @attr */ get showNowLine(): boolean; set showNowLine(value: boolean); /** * Gets or sets the `showMinimap` property. * * @public * @attr */ get showMinimap(): boolean; set showMinimap(value: boolean); /** * Gets or sets the `timelineFormat` property. * * @public * @attr */ get timelineFormat(): string; set timelineFormat(value: string); /** * Gets or sets the `totalWidth` property. * * @public * @readonly */ get totalWidth(): number; /** * Returns the `items` property. * * @public * @readonly */ get items(): Array; /** * @public * @override */ connectedCallback(): void; /** * @public * @override */ disconnectedCallback(): void; /** * @public */ zoomIn(): void; /** * @public */ zoomOut(): void; /** * @public */ nextDate(): void; /** * @public */ previousDate(): void; updateNowButtonVisibility(): void; scrollToNow(smooth?: boolean): void; onMinimapJump(e: CustomEvent): void; dragStart(e: MouseEvent): void; touchStart(e: TouchEvent): void; /** * @protected * @override */ protected onApplyTemplate(): void; /** * @protected */ protected onFilterPropertyChanged(_?: string, next?: string): void; } /** * @public */ export declare namespace EpgElement { type Props = IEpgElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-epg': EpgElement; } } export {}; //# sourceMappingURL=EpgElement.d.ts.map