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 ComplexPanelDoc: VitruvioComponentDoc = {
   component: "ComplexPanel",
   summary: "Documentacao do componente ComplexPanel mapeada a partir de exemplos reais de XML.",
   status: "draft",
   context: {
      module: "Vitruvio",
      family: "Layout",
      mappedFrom: ["Vitruvio/Paineis", "Vitruvio/Processos"],
      occurrences: { total: 200, paineis: 151, processos: 49 }
   },
   sections: {
      purpose: "Componente de organizacao visual da tela para estruturar conteudo e navegacao.",
      basicUsage: "Usar ComplexPanel no contexto adequado da tela; as propriedades abaixo foram observadas em exemplos reais do projeto.",
      properties: [
         "align",
         "backgroundColor",
         "caption",
         "captionSize",
         "expandRatio",
         "height",
         "id",
         "margin",
         "visible",
         "width"
      ],
      propertyValues: {
         "align": ["BOTTOM_CENTER", "MIDDLE_CENTER", "TOP_CENTER", "TOP_LEFT"],
         "backgroundColor": ["#39bd71", "#7d83e8", "#D9D7D7", "#F7F7F7", "#FFFFFF", "azure", "Snow", "white"],
         "caption": ["", "Acompanhamento - Planejamento PCP", "Acompanhamento Ruptura - Verifique o status de cada tarefa", "Ajuste de Informação", "Anexar Nota Fiscal - Obrigatório", "Aprovar e Direcionar Solicitação", "Aprovar Entrega", "Atender a Solicitação", "CODIFICAR", "Comras efetuadas ainda não recebidas", "CONCLUÍDO", "CONTROLE DE SAÍDA DE NF", "Corrigir dados da Abertura", "Critérios", "Dados abertura", "__TRUNCADO__"],
         "captionSize": ["H2", "H3", "H4", "LIGHT"],
         "expandRatio": ["0.2", "0.4", "0.5", "0.6", "1"],
         "height": ["100%", "200px", "230px", "250px", "500px", "80%"],
         "id": ["col", "complexBotoesSuperiores", "complexFinalizadoraOrigem", "complexListaCupons", "complexListaCupons1", "complexListaToBe", "complexPixConcilia", "cpCobranca", "cplEfetiva", "cplEstima", "cpParceiro", "Emb", "IncluirValidador", "PanelObs", "plnAbertura", "__TRUNCADO__"],
         "margin": ["false", "true"],
         "visible": ["true"],
         "width": ["100%"]
      },
      propertyValueTypes: {
         "align": "enum",
         "backgroundColor": "enum",
         "caption": "text",
         "captionSize": "text",
         "expandRatio": "numeric",
         "height": "numeric",
         "id": "text",
         "margin": "boolean",
         "visible": "boolean",
         "width": "numeric"
      },
      events: [

      ],
      examples: [
         "Vitruvio/Paineis/Pedido Semanal.xml:672",
         "Vitruvio/Paineis/homologação.xml:491",
         "Vitruvio/Paineis/homologação.xml:688",
         "Vitruvio/Paineis/homologação.xml:921",
         "Vitruvio/Paineis/homologação.xml:987",
         "Vitruvio/Paineis/hml - kanban proj.xml:1802",
         "Vitruvio/Paineis/hml - kanban proj.xml:1999",
         "Vitruvio/Paineis/hml - kanban proj.xml:2232",
         "Vitruvio/Paineis/hml - kanban proj.xml:2429",
         "Vitruvio/Paineis/hml - kanban proj.xml:2608",
         "Vitruvio/Paineis/hml - kanban proj.xml:2799",
         "Vitruvio/Paineis/Rebate - rel hml.xml:211"
      ],
      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 ComplexPanelDoc;
