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 CheckBoxDoc: VitruvioComponentDoc = {
   component: "CheckBox",
   summary: "Documentacao do componente CheckBox mapeada a partir de exemplos reais de XML.",
   status: "draft",
   context: {
      module: "Vitruvio",
      family: "EntradaDeDados",
      mappedFrom: ["Vitruvio/Paineis", "Vitruvio/Processos"],
      occurrences: { total: 1636, paineis: 1093, processos: 543 }
   },
   sections: {
      purpose: "Componente de captura e edicao de dados em formularios e filtros.",
      basicUsage: "Usar CheckBox no contexto adequado da tela; as propriedades abaixo foram observadas em exemplos reais do projeto.",
      properties: [
         "align",
         "caption",
         "defaultValue",
         "description",
         "enabled",
         "expand-ratio",
         "expandRatio",
         "id",
         "immediate",
         "initialValue",
         "required",
         "size",
         "type",
         "updatable",
         "visible",
         "width"
      ],
      propertyValues: {
         "align": ["BOTTOM_CENTER", "BOTTOM_LEFT", "BOTTOM_RIGHT", "MIDDLE_CENTER", "MIDDLE_LEFT", "MIDDLE_RIGHT", "TOP_CENTER", "TOP_LEFT", "TOP_RIGHT"],
         "caption": ["", " Listar inativos", "5w2h", "A", "Abandono?", "Abertura manual", "Abril", "Abrir etapa de negociação", "Acompanhamento Hortaliças", "Agosto", "Agrupar", "Agrupar Produtos", "Agrupar Usuário pelo CheckList", "Alterar respostas", "Alteração de cor", "__TRUNCADO__"],
         "defaultValue": ["false"],
         "description": ["Aprovação do tipo Ciência", "Atualiza a lista de chamados automaticamente", "Caso marcada, não obriga checar todos os itens.", "Caso marcado, considerará o estoque no cálculo da sugestão", "Converte os campos textos em maiúsculas", "Converte os campos textos em minúsculas", "Dentro do contrato, oculta a aba Abrangência.", "Dentro do contrato, oculta a aba Lojas.", "Dentro do contrato, oculta a aba Produtos.", "Desconta PIS/Cofins do valor total do contrato.", "Envia termo de compromisso no processo de assinatura eletrônica", "Exibe a nota de cada questão no checklist executado anteriormente", "Flag para deixar o cargo temporário", "Habilita a visualização da promoção Meu Verdemar.", "Habilita ao executor escolher a matriz de risco caso habilitado", "__TRUNCADO__"],
         "enabled": ["false"],
         "expand-ratio": ["1.0"],
         "expandRatio": [".07", ".1", ".15", ".2", ".25", ".4", ".5", "0", "0.0", "0.05", "0.1", "0.15", "0.2", "0.3", "0.45", "__TRUNCADO__"],
         "id": ["aberturaAbrasf", "aberturaEmergencial", "aberturaManual", "aberturaNormal", "abril", "abrirNegociacao", "acompanhamento_hortalicas", "acompAtu", "agosto", "agrupamentoAcao", "agrupamentoTipo", "agrupaUsuChecklistRel", "alertas", "allowExtParams", "ANALISE_REDE", "__TRUNCADO__"],
         "immediate": ["true"],
         "initialValue": ["0", "false", "true"],
         "required": ["false", "true"],
         "size": ["MEDIUM"],
         "type": ["boolean", "nu", "number", "string"],
         "updatable": ["true"],
         "visible": ["false", "true"],
         "width": ["100%", "50%"]
      },
      propertyValueTypes: {
         "align": "enum",
         "caption": "text",
         "defaultValue": "boolean",
         "description": "text",
         "enabled": "boolean",
         "expand-ratio": "numeric",
         "expandRatio": "mixed",
         "id": "text",
         "immediate": "boolean",
         "initialValue": "enum",
         "required": "boolean",
         "size": "enum",
         "type": "enum",
         "updatable": "boolean",
         "visible": "boolean",
         "width": "numeric"
      },
      events: [

      ],
      examples: [
         "Vitruvio/Paineis/imp - Pônica - aux - Ações(Previsão_Real).xml:400",
         "Vitruvio/Paineis/Ficha Azul_ Cadastro de Tipo.xml:159",
         "Vitruvio/Paineis/Cadastro de Usuários.xml:295",
         "Vitruvio/Paineis/Cadastro de Usuários.xml:317",
         "Vitruvio/Paineis/Cadastro de Usuários.xml:339",
         "Vitruvio/Paineis/Cadastro de Usuários.xml:636",
         "Vitruvio/Paineis/Cadastro de Elementos.xml:1070",
         "Vitruvio/Paineis/Cadastro de Elementos.xml:1071",
         "Vitruvio/Paineis/Cadastro de Elementos.xml:1303",
         "Vitruvio/Paineis/Cadastro de Elementos.xml:1304",
         "Vitruvio/Paineis/Cadastro de Elementos.xml:1305",
         "Vitruvio/Paineis/Cadastro de Elementos.xml:1306"
      ],
      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 CheckBoxDoc;
