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 WindowLayoutDoc: VitruvioComponentDoc = {
   component: "WindowLayout",
   summary: "Documentacao do componente WindowLayout mapeada a partir de exemplos reais de XML.",
   status: "draft",
   context: {
      module: "Vitruvio",
      family: "Layout",
      mappedFrom: ["Vitruvio/Paineis", "Vitruvio/Processos"],
      occurrences: { total: 704, paineis: 609, processos: 95 }
   },
   sections: {
      purpose: "Componente de organizacao visual da tela para estruturar conteudo e navegacao.",
      basicUsage: "Usar WindowLayout no contexto adequado da tela; as propriedades abaixo foram observadas em exemplos reais do projeto.",
      properties: [
         "align",
         "backgroundColor",
         "caption",
         "draggable",
         "expandRatio",
         "id",
         "isLayout",
         "windowClosable",
         "windowHeight",
         "windowModal",
         "windowResizable",
         "windowTitle",
         "windowWidth"
      ],
      propertyValues: {
         "align": ["MIDDLE_CENTER", "MIDDLE_RIGHT", "TOP_CENTER", "TOP_LEFT"],
         "backgroundColor": ["#FFFFFF"],
         "caption": ["", "Anotações", "Consulta NF de frete", "Detalhes", "Detalhes do composto", "Detalhes do produto", "Executar ação", "Gerar Gestão de Atividade", "JSON do log", "Localizar Cupom", "Log de alteração de dias de juros", "Movimentações", "Realizar importação do excel", "Receitas utilizadas", "Selecionar produtos", "__TRUNCADO__"],
         "draggable": ["true"],
         "expandRatio": ["0", "0.9", "1"],
         "id": ["add_window_cargo", "add_window_colaborador", "add_window_escala", "add_window_feriado", "add_window_setor", "add_window_visualizar_logs", "afastamentos_window_escala", "alterar_responsavel_window_escala", "atrasados_window", "cadastrar_alteracao_assistida", "cadCriterioWindow", "camposLayout", "camposLayoutAnalise", "camposRelatorio", "camposRelatorioEfetivado", "__TRUNCADO__"],
         "isLayout": ["true"],
         "windowClosable": ["false", "true"],
         "windowHeight": ["100%", "123px", "15%", "20%", "210px", "230", "240", "250", "260", "30%", "300", "300px", "310px", "32%", "35%", "__TRUNCADO__"],
         "windowModal": ["false", "true"],
         "windowResizable": ["false", "true"],
         "windowTitle": ["", "...", "Acompanhamento no vitruvio", "Adicionar agendamento", "Adicionar Regra ao tipo de endereço", "Agendamento de promoção FIFO", "Agrupadores", "Ajuda", "Alerta de Perdas", "Alterar Responsável", "Alterar Status Fornecedor", "Alteração de datas Boleto BB", "Alteração de Valor Boleto BB", "Alterações", "Anotações", "__TRUNCADO__"],
         "windowWidth": ["100%", "1000", "1024", "1200px", "1250", "30%", "300", "35%", "40%", "400px", "45%", "50%", "500", "500px", "53%", "__TRUNCADO__"]
      },
      propertyValueTypes: {
         "align": "enum",
         "backgroundColor": "enum",
         "caption": "text",
         "draggable": "boolean",
         "expandRatio": "numeric",
         "id": "text",
         "isLayout": "boolean",
         "windowClosable": "boolean",
         "windowHeight": "numeric",
         "windowModal": "boolean",
         "windowResizable": "boolean",
         "windowTitle": "text",
         "windowWidth": "numeric"
      },
      events: [

      ],
      examples: [
         "Vitruvio/Paineis/FIFO.xml:2149",
         "Vitruvio/Paineis/FIFO.xml:2268",
         "Vitruvio/Paineis/FIFO.xml:2581",
         "Vitruvio/Paineis/CD - Cadastro de Regras de Priorização WMS.xml:892",
         "Vitruvio/Paineis/Cadastro de Subtipos - Chamado Suporte TI.xml:278",
         "Vitruvio/Paineis/Cadastro de Elementos.xml:1192",
         "Vitruvio/Paineis/Cadastro de Elementos.xml:1298",
         "Vitruvio/Paineis/Cadastro de Elementos.xml:1516",
         "Vitruvio/Paineis/Cadastro de Elementos.xml:1604",
         "Vitruvio/Paineis/Nfse - TESTE.xml:3156",
         "Vitruvio/Paineis/Nfse - TESTE.xml:3357",
         "Vitruvio/Paineis/Acompanhamento das Entregas.xml:372"
      ],
      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 WindowLayoutDoc;
