export type VitruvioComponentDoc = {
   component: string;
   summary: string;
   status: "draft" | "review" | "ready";
   context: {
      module: string;
      family: string;
      mappedFrom: string[];
      occurrences: {
         total: number;
         paineis: number;
         processos: number;
      };
   };
   sections: {
      purpose: string;
      basicUsage: string;
      properties: string[];
      propertyValues: { [property: string]: string[] };
      propertyValueTypes: { [property: string]: "boolean" | "enum" | "numeric" | "text" | "mixed" };
      events: string[];
      examples: string[];
      notes: string[];
   };
};

const ControlButtonDoc: VitruvioComponentDoc = {
   component: "ControlButton",
   summary: "Documentacao do componente ControlButton mapeada a partir de exemplos reais de XML.",
   status: "draft",
   context: {
      module: "Vitruvio",
      family: "Acao",
      mappedFrom: ["Vitruvio/Paineis", "Vitruvio/Processos"],
      occurrences: { total: 26, paineis: 26, processos: 0 }
   },
   sections: {
      purpose: "Componente de interacao para disparar acoes e fluxos de processo.",
      basicUsage: "Usar ControlButton no contexto adequado da tela; as propriedades abaixo foram observadas em exemplos reais do projeto.",
      properties: [
         "align",
         "caption",
         "expandRatio",
         "height",
         "icon",
         "size",
         "style"
      ],
      propertyValues: {
         "align": ["BOTTOM_RIGHT"],
         "caption": ["Config.", "Config. Kanban", "Log's", "Raio X Dev", "Relat.", "Relatório", "Sprints Det."],
         "expandRatio": ["0.8"],
         "height": ["26px"],
         "icon": ["font://fa/BARS", "font://va/CALENDAR_O", "font://va/EDIT", "font://va/PRINT", "font://va/SERVER"],
         "size": ["SMALL", "TINY"],
         "style": ["PRIMARY"]
      },
      propertyValueTypes: {
         "align": "enum",
         "caption": "text",
         "expandRatio": "numeric",
         "height": "numeric",
         "icon": "enum",
         "size": "enum",
         "style": "enum"
      },
      events: [

      ],
      examples: [
         "Vitruvio/Paineis/hml - kanban proj.xml:1202",
         "Vitruvio/Paineis/Kanban - Gestão de Projetos - Análise.xml:1287",
         "Vitruvio/Paineis/Teste Danilo.xml:1427",
         "Vitruvio/Paineis/Teste Danilo.xml:1575",
         "Vitruvio/Paineis/Kanban - Senior.xml:1250",
         "Vitruvio/Paineis/(TESTE) Painel de Importação (Pônica).xml:2193",
         "Vitruvio/Paineis/(TESTE) Painel de Importação (Pônica).xml:2383",
         "Vitruvio/Paineis/Cadastro de Contagem - Produtos e Agenda.xml:523",
         "Vitruvio/Paineis/Rateio de Matéria Prima e Embalagem - TESTE.xml:762",
         "Vitruvio/Paineis/Ponica - Eduardo DEV.xml:785",
         "Vitruvio/Paineis/Kanban - Gestão de Projetos.xml:1636",
         "Vitruvio/Paineis/Kanban - Gestão de Projetos.xml:1759"
      ],
      notes: [
         "Mapeamento automatico baseado em uso observado nos XMLs de paineis e processos.",
         "Valores ruidosos/textos muito longos sao filtrados para facilitar consulta.",
         "propertyValueTypes classifica o perfil observado da propriedade (boolean, enum, numeric, text ou mixed).",
         "Validar com documentacao oficial do Vitruvio quando houver divergencia funcional."
      ]
   }
};

export default ControlButtonDoc;
