@uva-glass/component-library
Version:
React components UvA
32 lines (31 loc) • 1.3 kB
TypeScript
import { RefObject } from 'react';
export type PeriodWeek = {
academicWeekNumber: number;
calendarWeekNumber: number;
isBlocked: boolean;
period: number;
startDate: string;
endDate: string;
weekNumber: number;
};
export interface WeekSelectorProps {
/** Object with periodnumbers with array of weeks in period */
weeks: Record<string, PeriodWeek[]>;
/** Current period to disable previous periods */
currentPeriod?: number;
/** Default selected week */
defaultSelection?: number;
/** Prefix for the week button label */
weekPrefix: string;
/** Labels for each period */
periodLabels: string[];
/** Header text for the options container */
optionsHeader: string;
/** Callback function when a week is selected */
onSelectWeek: (weeknumber: number) => void;
/** Ref for the dropdown portal target */
portalContainerRef?: RefObject<HTMLElement | null>;
/** Optional WeekSelectorOptionContainer offset values [top, bottom] */
optionContainerOffset?: number[];
}
export declare const WeekSelector: ({ weeks, currentPeriod, defaultSelection, weekPrefix, optionsHeader, periodLabels, onSelectWeek, portalContainerRef, optionContainerOffset, }: WeekSelectorProps) => import("react/jsx-runtime").JSX.Element;