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 PDFWidgetDoc: VitruvioComponentDoc = {
   component: "PDFWidget",
   summary: "Documentacao do componente PDFWidget mapeada a partir de exemplos reais de XML.",
   status: "draft",
   context: {
      module: "Vitruvio",
      family: "Visualizacao",
      mappedFrom: ["Vitruvio/Paineis", "Vitruvio/Processos"],
      occurrences: { total: 14, paineis: 0, processos: 14 }
   },
   sections: {
      purpose: "Componente para exibicao de informacoes, resultados e feedback visual.",
      basicUsage: "Usar PDFWidget no contexto adequado da tela; as propriedades abaixo foram observadas em exemplos reais do projeto.",
      properties: [
         "caption",
         "hideWhenNoFiles",
         "horizontal",
         "id",
         "navigator",
         "shareEnabled",
         "vertical"
      ],
      propertyValues: {
         "caption": ["Anexos", "Contrato", "Nota fiscal", "Notas"],
         "hideWhenNoFiles": ["true"],
         "horizontal": ["true"],
         "id": ["pdf1", "pdf2", "pdfRelatorio"],
         "navigator": ["true"],
         "shareEnabled": ["true"],
         "vertical": ["true"]
      },
      propertyValueTypes: {
         "caption": "text",
         "hideWhenNoFiles": "boolean",
         "horizontal": "boolean",
         "id": "enum",
         "navigator": "boolean",
         "shareEnabled": "boolean",
         "vertical": "boolean"
      },
      events: [

      ],
      examples: [
         "Vitruvio/Processos/Classificação de Notas Fiscais/form_web_mobile.xml:404",
         "Vitruvio/Processos/Devolução de Produtos Impróprios/form_web_mobile.xml:2150",
         "Vitruvio/Processos/Devolução de Produtos Impróprios/form_web_mobile.xml:2286",
         "Vitruvio/Processos/Geração de Contratos/form_web_mobile.xml:18",
         "Vitruvio/Processos/Geração de Contratos/form_web_mobile.xml:146",
         "Vitruvio/Processos/Geração de Contratos/form_web_mobile.xml:760",
         "Vitruvio/Processos/Relatório Visual/form_web_mobile.xml:749",
         "Vitruvio/Processos/Perda de Impróprios Conferência/form_web_mobile.xml:124",
         "Vitruvio/Processos/Aprovação de pagamento/form_web_mobile.xml:138",
         "Vitruvio/Processos/Aprovação de pagamento/form_web_mobile.xml:305",
         "Vitruvio/Processos/Perda e Transferência de Impróprios/form_web_mobile.xml:1495",
         "Vitruvio/Processos/Aprovação Geral/form_web_mobile.xml:450"
      ],
      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 PDFWidgetDoc;
