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 LabelDoc: VitruvioComponentDoc = {
   component: "Label",
   summary: "Documentacao do componente Label mapeada a partir de exemplos reais de XML.",
   status: "draft",
   context: {
      module: "Vitruvio",
      family: "Visualizacao",
      mappedFrom: ["Vitruvio/Paineis", "Vitruvio/Processos"],
      occurrences: { total: 2442, paineis: 1320, processos: 1122 }
   },
   sections: {
      purpose: "Componente para exibicao de informacoes, resultados e feedback visual.",
      basicUsage: "Usar Label no contexto adequado da tela; as propriedades abaixo foram observadas em exemplos reais do projeto.",
      properties: [
         "align",
         "aling",
         "caption",
         "content",
         "contentMode",
         "cssAlign",
         "description",
         "expand-ratio",
         "expandRatio",
         "for",
         "height",
         "id",
         "readOnly",
         "style",
         "updatable",
         "value",
         "visible",
         "width"
      ],
      propertyValues: {
         "align": ["BOTTOM_CENTER", "BOTTOM_LEFT", "BOTTOM_RIGHT", "MIDDLE_CENTER", "MIDDLE_LEFT", "MIDDLE_RIGHT", "TOP_CENTER", "TOP_LEFT", "TOP_RIGHT"],
         "aling": ["TOP_CENTER"],
         "caption": ["", "Acesso web", "Assinatura do Responsável: ", "AUTORIZAÇÃO DIRETORIA", "AUTORIZAÇÃO IMPORTAÇÃO", "Checklist anterior", "Checklist atual", "CONFIRMAR DESCARTE", "Dados", "Descrição", "Descrição do pagamento", "Detalhes do Pedido de Compra", "Dias Cheio?", "Diretório atual", "EmpresA", "__TRUNCADO__"],
         "content": ["HTML"],
         "contentMode": ["HTML", "PLAIN_TEXT", "RAW"],
         "cssAlign": ["top: 0%; left: 5%; z-index: 1;", "top: 2%; left: 17%; z-index: 1000;"],
         "description": ["Resumo"],
         "expand-ratio": ["0", "1.0"],
         "expandRatio": [".1", ".2", ".25", ".35", ".4", ".6", "0", "0.01", "0.1", "0.15", "0.2", "0.3", "0.4", "0.5", "0.6", "__TRUNCADO__"],
         "for": ["scales"],
         "height": ["100%", "40", "50%"],
         "id": ["", "a1", "a2", "a3", "a4", "a5", "ajudaCalculadoScript", "assinatura", "assinaturaResponsavel", "auditoriaLabel", "avisosMargem", "balancasLabel", "cabecalho", "cabecalhoImpressao", "campos", "__TRUNCADO__"],
         "readOnly": ["true"],
         "style": [" color: #03A9F4; font-weight: bold", " color: #CDDC39; font-weight: bold", "font-weight: bold;"],
         "updatable": ["true"],
         "value": ["Sem contratos vinculados", "Sem código de autorização", "Sem código de comprador", "Sem código de fornecedor"],
         "visible": ["false", "true"],
         "width": ["100%", "24px", "300px", "40%", "400px", "50%", "60%", "70px", "74%", "80%", "90%", "99%"]
      },
      propertyValueTypes: {
         "align": "enum",
         "aling": "enum",
         "caption": "text",
         "content": "enum",
         "contentMode": "enum",
         "cssAlign": "mixed",
         "description": "text",
         "expand-ratio": "numeric",
         "expandRatio": "mixed",
         "for": "enum",
         "height": "numeric",
         "id": "text",
         "readOnly": "boolean",
         "style": "mixed",
         "updatable": "boolean",
         "value": "mixed",
         "visible": "boolean",
         "width": "numeric"
      },
      events: [

      ],
      examples: [
         "Vitruvio/Paineis/Impressão de etiqueta LJ06 WS.xml:189",
         "Vitruvio/Paineis/Impressão de etiqueta LJ06 WS.xml:192",
         "Vitruvio/Paineis/Impressão de etiqueta LJ06 WS.xml:326",
         "Vitruvio/Paineis/Relatório de Transferências.xml:275",
         "Vitruvio/Paineis/imp - Pônica - aux - Detalhes Pré Pedido.xml:11",
         "Vitruvio/Paineis/imp - Pônica - aux - Detalhes Pré Pedido.xml:142",
         "Vitruvio/Paineis/imp - Pônica - aux - Detalhes Pré Pedido.xml:354",
         "Vitruvio/Paineis/imp - Pônica - aux - Detalhes Pré Pedido.xml:357",
         "Vitruvio/Paineis/imp - Pônica - aux - Detalhes Pré Pedido.xml:362",
         "Vitruvio/Paineis/imp - Pônica - aux - Detalhes Pré Pedido.xml:368",
         "Vitruvio/Paineis/imp - Pônica - aux - Detalhes Pré Pedido.xml:371",
         "Vitruvio/Paineis/imp - Pônica - aux - Detalhes Pré Pedido.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 LabelDoc;
