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 DbTableFilterDoc: VitruvioComponentDoc = {
   component: "DbTableFilter",
   summary: "Documentacao do componente DbTableFilter mapeada a partir de exemplos reais de XML.",
   status: "draft",
   context: {
      module: "Vitruvio",
      family: "Visualizacao",
      mappedFrom: ["Vitruvio/Paineis", "Vitruvio/Processos"],
      occurrences: { total: 13, paineis: 13, processos: 0 }
   },
   sections: {
      purpose: "Componente para exibicao de informacoes, resultados e feedback visual.",
      basicUsage: "Usar DbTableFilter no contexto adequado da tela; as propriedades abaixo foram observadas em exemplos reais do projeto.",
      properties: [
         "align",
         "dbtableId",
         "expandRatio",
         "id",
         "width"
      ],
      propertyValues: {
         "align": ["TOP_RIGHT"],
         "dbtableId": ["dbLotesEnderecosProtegidos", "dbLotesPickings", "dbtCardapios", "lista_alteracoes_assistidas", "lista_produtos", "listaPrincipal", "tbDetalhes"],
         "expandRatio": ["0"],
         "id": ["btnFilterProdutos", "dbFilterLotesEnderecosProtegidos", "f1", "filterLotesPickins", "filtroCardapios", "filtroDetalhes"],
         "width": ["100%"]
      },
      propertyValueTypes: {
         "align": "enum",
         "dbtableId": "enum",
         "expandRatio": "numeric",
         "id": "enum",
         "width": "numeric"
      },
      events: [

      ],
      examples: [
         "Vitruvio/Paineis/CD - Cadastro de Regras de Priorização WMS.xml:598",
         "Vitruvio/Paineis/Alterações Assistidas.xml:213",
         "Vitruvio/Paineis/Regras de Integração do Movimento Centro de Custo Senior.xml:341",
         "Vitruvio/Paineis/Cálculo Diário do Valor Futuro Previsto.xml:399",
         "Vitruvio/Paineis/PCP - Cardápio.xml:1158",
         "Vitruvio/Paineis/Picking (Validação).xml:2099",
         "Vitruvio/Paineis/Picking (Validação).xml:2197",
         "Vitruvio/Paineis/Cálculo Diário do Valor Futuro Previsto - Rafael.xml:1015",
         "Vitruvio/Paineis/Cadastro de Ponto de Coleta.xml:333",
         "Vitruvio/Paineis/Regras Contábeis.xml:355",
         "Vitruvio/Paineis/VITRUVIO - Ajuda no Vitruvio.xml:390",
         "Vitruvio/Paineis/Picking (Validação) - Endereço.xml:2098"
      ],
      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 DbTableFilterDoc;
