// Config panels for different web types
export { TextConfigPanel } from "./TextConfigPanel";
export { NumberConfigPanel } from "./NumberConfigPanel";
export { DateConfigPanel } from "./DateConfigPanel";
export { SelectConfigPanel } from "./SelectConfigPanel";
export { TextareaConfigPanel } from "./TextareaConfigPanel";
export { CheckboxConfigPanel } from "./CheckboxConfigPanel";
export { RadioConfigPanel } from "./RadioConfigPanel";
export { FileConfigPanel } from "./FileConfigPanel";
export { CodeConfigPanel } from "./CodeConfigPanel";
export { EntityConfigPanel } from "./EntityConfigPanel";

// Config panel registry mapping
export const CONFIG_PANEL_REGISTRY = {
  // Text-based types
  text: "TextConfigPanel",
  email: "TextConfigPanel",
  password: "TextConfigPanel",
  tel: "TextConfigPanel",

  // Number types
  number: "NumberConfigPanel",
  decimal: "NumberConfigPanel",

  // Date types
  date: "DateConfigPanel",
  datetime: "DateConfigPanel",

  // Selection types
  select: "SelectConfigPanel",
  dropdown: "SelectConfigPanel",

  // Text area
  textarea: "TextareaConfigPanel",
  text_area: "TextareaConfigPanel",

  // Boolean/Checkbox types
  boolean: "CheckboxConfigPanel",
  checkbox: "CheckboxConfigPanel",

  // Radio button
  radio: "RadioConfigPanel",

  // File upload
  file: "FileConfigPanel",

  // Code editor
  code: "CodeConfigPanel",

  // Entity selection
  entity: "EntityConfigPanel",
} as const;

export type ConfigPanelType = keyof typeof CONFIG_PANEL_REGISTRY;
export type ConfigPanelComponent = (typeof CONFIG_PANEL_REGISTRY)[ConfigPanelType];


