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 PopupButtonLayoutDoc: VitruvioComponentDoc = {
   component: "PopupButtonLayout",
   summary: "Documentacao do componente PopupButtonLayout mapeada a partir de exemplos reais de XML.",
   status: "draft",
   context: {
      module: "Vitruvio",
      family: "Layout",
      mappedFrom: ["Vitruvio/Paineis", "Vitruvio/Processos"],
      occurrences: { total: 153, paineis: 153, processos: 0 }
   },
   sections: {
      purpose: "Componente de organizacao visual da tela para estruturar conteudo e navegacao.",
      basicUsage: "Usar PopupButtonLayout no contexto adequado da tela; as propriedades abaixo foram observadas em exemplos reais do projeto.",
      properties: [
         "align",
         "closePopupOnOutsideClick",
         "cssAlign",
         "description",
         "draggable",
         "id",
         "visible"
      ],
      propertyValues: {
         "align": ["BOTTOM_LEFT"],
         "closePopupOnOutsideClick": ["false", "true"],
         "cssAlign": ["top: 0px; left: 950px;", "top: 10%; left: 85%;", "top: 120px; left: 700px;", "top: 20px; left: 50px;", "top: 3px; left: 1080px;", "top: 3px; left: 710px;", "top: 3px; left: 900px;", "top: 3px; left: 910px;", "top: 5px; left: 1100px;", "top: 5px; left: 90%;", "top: 5px; left: 950px;"],
         "description": ["Filtros"],
         "draggable": ["true"],
         "id": ["aggLayout", "filterLayout"],
         "visible": ["false", "true"]
      },
      propertyValueTypes: {
         "align": "enum",
         "closePopupOnOutsideClick": "boolean",
         "cssAlign": "mixed",
         "description": "text",
         "draggable": "boolean",
         "id": "enum",
         "visible": "boolean"
      },
      events: [

      ],
      examples: [
         "Vitruvio/Paineis/Expedição - Ranking - Área Climatizada - CX.xml:737",
         "Vitruvio/Paineis/Gráfico CheckList - Resultado por Bimestre Loja.xml:661",
         "Vitruvio/Paineis/Venda produto Unidade.xml:158",
         "Vitruvio/Paineis/recebimento seca teste danilo.xml:1137",
         "Vitruvio/Paineis/Usuários - old.xml:413",
         "Vitruvio/Paineis/Análise de Movimentação de Produtos.xml:484",
         "Vitruvio/Paineis/Ativos X Finalizados (Loja).xml:81",
         "Vitruvio/Paineis/Gráfico CheckList - % de Notas Verdes Bimestre.xml:480",
         "Vitruvio/Paineis/Chamados Ativos X Finalizados (Tipo).xml:44",
         "Vitruvio/Paineis/Teste Lázaro De Prod.xml:1132",
         "Vitruvio/Paineis/Análise Importações Abertas - grid.xml:91",
         "Vitruvio/Paineis/Checklists - Conformes e não conformes.xml:307"
      ],
      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 PopupButtonLayoutDoc;
