import type { ReactNode } from 'react'; /** * Estado de la mesa de restaurante */ export type TableStatus = 'available' | 'busy' | 'reserved'; /** * Forma de la mesa */ export type TableShape = 'square' | 'circle' | 'rectangle' | 'oval'; /** * Configuración de número de sillas */ export type ChairCount = 2 | 4 | 6 | 8; /** * Props del componente POSTable (Restaurant Table) */ export interface POSTableProps { /** * Número de la mesa * @example "01" */ tableNumber: string; /** * Estado de la mesa * @default 'available' */ status?: TableStatus; /** * Forma de la mesa * - square: Mesa cuadrada 64x64px con border-radius 4px * - circle: Mesa circular 64x64px con border-radius completo * - rectangle: Mesa rectangular 80x64px con border-radius 4px * - oval: Mesa ovalada 80x64px con border-radius 24px * @default 'square' */ shape?: TableShape; /** * Número de sillas alrededor de la mesa * @default 4 */ chairs?: ChairCount; /** * Si muestra las sillas alrededor de la mesa * @default true */ showChairs?: boolean; /** * Si la mesa está en estado activo (con fondo de color) * Estado "actived" muestra fondo de color según Figma * @default false */ isActive?: boolean; /** * Callback cuando se hace clic en la mesa */ onClick?: () => void; /** * Clases CSS adicionales */ className?: string; /** * Si la mesa está deshabilitada (no clickeable) * @default false */ disabled?: boolean; /** * Contenido adicional a mostrar dentro de la mesa */ children?: ReactNode; } //# sourceMappingURL=POSTable.types.d.ts.map