UNPKG

planby

Version:

<div align="center" style="margin-bottom: 10px"> <a href="https://www.npmjs.com/package/planby"> <img src="https://i.postimg.cc/J0XMPHNQ/planby-logo.png" alt="Planby logo" /> </a> </div>

92 lines (91 loc) 2.97 kB
import React from "react"; import { Channel, Program, Theme } from "../helpers/interfaces"; import { DateTime, BaseTimeFormat, Position } from "../helpers/types"; interface useEpgProps { channels: Channel[]; epg: Program[]; width?: number; height?: number; startDate?: DateTime; endDate?: DateTime; isBaseTimeFormat?: BaseTimeFormat; isSidebar?: boolean; isTimeline?: boolean; isRTL?: boolean; isLine?: boolean; theme?: Theme; globalStyles?: string; dayWidth?: number; sidebarWidth?: number; itemHeight?: number; itemOverscan?: number; } export declare function useEpg({ channels: channelsEpg, epg, startDate: startDateInput, endDate: endDateInput, isRTL, isBaseTimeFormat, isSidebar, isTimeline, isLine, theme: customTheme, globalStyles, dayWidth: customDayWidth, sidebarWidth, itemHeight, itemOverscan, width, height, }: useEpgProps): { getEpgProps: () => { isRTL: boolean; isSidebar: boolean; isLine: boolean; isTimeline: boolean; width: number | undefined; height: number | undefined; sidebarWidth: number; ref: React.RefObject<HTMLDivElement>; theme: Theme; globalStyles: string | undefined; }; getLayoutProps: () => { ref: React.RefObject<HTMLDivElement>; numberOfHoursInDay: number; offsetStartHoursRange: number; programs: { position: { width: number; height: number; top: number; left: number; edgeEnd: number; }; data: { since: string; till: string; channelUuid: string; id: string; title: string; description: string; image: string; }; }[]; channels: { position: { top: number; height: number; }; uuid: string; logo: string; }[]; startDate: DateTime; endDate: DateTime; scrollY: number; onScroll: (e: React.UIEvent<HTMLDivElement, UIEvent> & { target: Element; }) => void; isRTL: boolean; isBaseTimeFormat: boolean; isSidebar: boolean; isTimeline: boolean; isLine: boolean; isProgramVisible: (position: Position) => boolean; isChannelVisible: (position: Pick<Position, "top">) => boolean; dayWidth: number; hourWidth: number; sidebarWidth: number; itemHeight: number; }; onScrollToNow: () => void; onScrollTop: (value?: number) => void; onScrollLeft: (value?: number) => void; onScrollRight: (value?: number) => void; scrollY: number; scrollX: number; }; export {};