react-svg-seatmap
Version:
React components that render a highly-customizable seatmap based on a provided SVG
24 lines (23 loc) • 760 B
TypeScript
import { ReactNode } from 'react';
import { SeatmapControl } from '../../../types/SeatmapControl.types';
export interface GroupedSeat {
id: number;
cssSelector: string;
displayGroup?: string;
selectionGroups?: Record<string, string | {
value: string;
parent: string;
}>;
}
export interface GroupedSeatmapProps {
svg: string;
availableSeats: GroupedSeat[];
selectedSeatIds?: number[];
displayGroupMapping?: Record<string, string | ReactNode>;
onSeatSelect?: (selectedSeats: GroupedSeat[]) => void;
onSeatDeselect?: (deselectedSeats: GroupedSeat[]) => void;
leftControls?: SeatmapControl[];
rightControls?: SeatmapControl[];
withGroupSelection?: boolean;
withDragSelection?: boolean;
}