// Inventory Domain Components

// Focused Modal Components
export { default as CreateIngredientModal } from './CreateIngredientModal';
export { default as ShowInfoModal } from './ShowInfoModal';
export { default as StockHistoryModal } from './StockHistoryModal';
export { default as BatchModal } from './BatchModal';
export { default as DeleteIngredientModal } from './DeleteIngredientModal';

// Re-export related types from inventory types
export type {
  InventoryFilter,
  IngredientResponse,
  StockMovementResponse,
  IngredientCreate,
  IngredientUpdate,
  UnitOfMeasure,
  ProductType,
  PaginatedResponse,
} from '../../../api/types/inventory';

// Utility exports for common inventory operations
export const INVENTORY_CONSTANTS = {
  // Spanish bakery categories
  BAKERY_CATEGORIES: [
    { value: 'harinas', label: 'Harinas' },
    { value: 'levaduras', label: 'Levaduras' },
    { value: 'azucares', label: 'Az�cares y Endulzantes' },
    { value: 'chocolates', label: 'Chocolates y Cacao' },
    { value: 'frutas', label: 'Frutas y Frutos Secos' },
    { value: 'lacteos', label: 'L�cteos' },
    { value: 'huevos', label: 'Huevos' },
    { value: 'mantequillas', label: 'Mantequillas y Grasas' },
    { value: 'especias', label: 'Especias y Aromas' },
    { value: 'conservantes', label: 'Conservantes y Aditivos' },
    { value: 'decoracion', label: 'Decoraci�n' },
    { value: 'envases', label: 'Envases y Embalajes' },
    { value: 'utensilios', label: 'Utensilios y Equipos' },
    { value: 'limpieza', label: 'Limpieza e Higiene' },
  ],

  // Stock level filters
  STOCK_LEVEL_FILTERS: [
    { value: '', label: 'Todos los niveles' },
    { value: 'good', label: 'Stock Normal' },
    { value: 'low', label: 'Stock Bajo' },
    { value: 'critical', label: 'Stock Cr�tico' },
    { value: 'out', label: 'Sin Stock' },
  ],

  // Units of measure - must match backend UnitOfMeasure enum exactly
  BAKERY_UNITS: [
    { value: 'kg', label: 'Kilogramo (kg)' },
    { value: 'g', label: 'Gramo (g)' },
    { value: 'l', label: 'Litro (l)' },
    { value: 'ml', label: 'Mililitro (ml)' },
    { value: 'units', label: 'Unidades' },
    { value: 'pcs', label: 'Piezas' },
    { value: 'pkg', label: 'Paquetes' },
    { value: 'bags', label: 'Bolsas' },
    { value: 'boxes', label: 'Cajas' },
  ],

  // Default form values for new ingredients
  DEFAULT_INGREDIENT_VALUES: {
    low_stock_threshold: 10,
    reorder_point: 20,
    reorder_quantity: 50,
    is_perishable: false,
    requires_refrigeration: false,
    requires_freezing: false,
  },

  // Alert severity colors and labels
  ALERT_SEVERITY: {
    CRITICAL: { label: 'Cr�tico', color: 'error', priority: 1 },
    HIGH: { label: 'Alto', color: 'warning', priority: 2 },
    MEDIUM: { label: 'Medio', color: 'info', priority: 3 },
    LOW: { label: 'Bajo', color: 'secondary', priority: 4 },
  },

  // Stock status indicators
  STOCK_STATUS: {
    GOOD: { label: 'Normal', color: 'success' },
    LOW: { label: 'Bajo', color: 'warning' },
    CRITICAL: { label: 'Cr�tico', color: 'error' },
    OUT: { label: 'Sin Stock', color: 'error' },
    OVERSTOCKED: { label: 'Sobrestock', color: 'info' },
  },
};