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 TabLayoutDoc: VitruvioComponentDoc = {
   component: "TabLayout",
   summary: "Documentacao do componente TabLayout mapeada a partir de exemplos reais de XML.",
   status: "draft",
   context: {
      module: "Vitruvio",
      family: "Layout",
      mappedFrom: ["Vitruvio/Paineis", "Vitruvio/Processos"],
      occurrences: { total: 289, paineis: 215, processos: 74 }
   },
   sections: {
      purpose: "Componente de organizacao visual da tela para estruturar conteudo e navegacao.",
      basicUsage: "Usar TabLayout no contexto adequado da tela; as propriedades abaixo foram observadas em exemplos reais do projeto.",
      properties: [
         "align",
         "backgroundColor",
         "caption",
         "centerTabs",
         "compact",
         "expandRatio",
         "framed",
         "height",
         "id",
         "spacing",
         "visible",
         "width"
      ],
      propertyValues: {
         "align": ["MIDDLE_CENTER", "TOP_CENTER", "TOP_LEFT", "TOP_RIGHT"],
         "backgroundColor": ["#E3E3E3", "WHITE"],
         "caption": ["Detalhes", "Listas", "TabLayout"],
         "centerTabs": ["false", "true"],
         "compact": ["false", "true"],
         "expandRatio": ["1", "1.0"],
         "framed": ["false", "true"],
         "height": ["100%", "500px", "650px", "80%"],
         "id": ["Abas", "abas", "AbasProdutos", "idAbas", "kpiLojasTab", "layoutPrincipal", "parDetalhesParceiro", "pnlTabs", "resultadoLayout", "tab1", "tab__amostragem", "tabCadastro", "tabContrato", "tabDistribuicaoQueijos", "tabGeral", "__TRUNCADO__"],
         "spacing": ["true"],
         "visible": ["false", "true"],
         "width": ["100%", "50%"]
      },
      propertyValueTypes: {
         "align": "enum",
         "backgroundColor": "enum",
         "caption": "text",
         "centerTabs": "boolean",
         "compact": "boolean",
         "expandRatio": "numeric",
         "framed": "boolean",
         "height": "numeric",
         "id": "text",
         "spacing": "boolean",
         "visible": "boolean",
         "width": "numeric"
      },
      events: [

      ],
      examples: [
         "Vitruvio/Paineis/imp - Pônica - aux - Ações(Previsão_Real).xml:865",
         "Vitruvio/Paineis/Relatório de Transferências.xml:282",
         "Vitruvio/Paineis/Cadastro de Usuários.xml:771",
         "Vitruvio/Paineis/Cadastro - Metas.xml:507",
         "Vitruvio/Paineis/03 - Registro Temporário de Boletos BB.xml:387",
         "Vitruvio/Paineis/Relatório de Colaboradores por Escala.xml:226",
         "Vitruvio/Paineis/CD - Cadastro de Regras de Priorização WMS.xml:894",
         "Vitruvio/Paineis/Painel de Queijos.xml:641",
         "Vitruvio/Paineis/Cadastro de Elementos.xml:853",
         "Vitruvio/Paineis/Nfse - TESTE.xml:3032",
         "Vitruvio/Paineis/Abastecimento Geral - Debug.xml:1571",
         "Vitruvio/Paineis/Configurações de Hortaliças.xml:872"
      ],
      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 TabLayoutDoc;
