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 HorizontalLayoutDoc: VitruvioComponentDoc = {
   component: "HorizontalLayout",
   summary: "Documentacao do componente HorizontalLayout mapeada a partir de exemplos reais de XML.",
   status: "draft",
   context: {
      module: "Vitruvio",
      family: "Layout",
      mappedFrom: ["Vitruvio/Paineis", "Vitruvio/Processos"],
      occurrences: { total: 8666, paineis: 5639, processos: 3027 }
   },
   sections: {
      purpose: "Componente de organizacao visual da tela para estruturar conteudo e navegacao.",
      basicUsage: "Usar HorizontalLayout no contexto adequado da tela; as propriedades abaixo foram observadas em exemplos reais do projeto.",
      properties: [
         "align",
         "backgroundColor",
         "caption",
         "cssAlign",
         "draggable",
         "expandRatio",
         "height",
         "heigth",
         "id",
         "isLayout",
         "justifyContent",
         "margem",
         "margim",
         "margin",
         "spacing",
         "visible",
         "width",
         "wrapping"
      ],
      propertyValues: {
         "align": ["BOTTOM_CENTER", "BOTTOM_LEFT", "BOTTOM_RIGHT", "MIDDLE_CENTER", "MIDDLE_LEFT", "MIDDLE_RIGHT", "TOP_CENTER", "TOP_LEFT", "TOP_RIGHT"],
         "backgroundColor": ["", "#000000", "#585858", "#638E91", "#66ff66", "#8d9cb5", "#D2B48C", "#D8BFD8", "#DCDCDC", "#E5E5E5", "#ef940c", "#f39c99", "#FAEBD7", "#faf36e", "#ff6f6f", "__TRUNCADO__"],
         "caption": ["", "Anexo", "Anexo Etiqueta modelo", "Anexo Proforma", "Anexo relatório de conferência do Fiscal devidamente assinado", "Boletos", "Dados de Desembaraço.", "Dados do Carimbo", "Datas do Follow-UP", "Expressão", "Gestão de Corte - Ciência:", "Logs", "NF - Recebidas", "Pedido x Entrega  - Divergência Recebimento:", "Período"],
         "cssAlign": ["bottom: 5%; left: 17%; z-index: 1000;", "top: 0%; left: 0%; z-index: 1;", "top: 15%; right: 2%; z-index: 1000;", "top: 15px; left: 15px; z-index: 1000"],
         "draggable": ["false", "true"],
         "expandRatio": [".15", ".2", ".25", ".35", ".5", ".6", ".7", "0", "0.0", "0.02", "0.05", "0.1", "0.15", "0.18", "0.2", "__TRUNCADO__"],
         "height": ["0%", "10%", "100%", "100px", "105", "10px", "150", "1px", "20%", "200", "200px", "20px", "230px", "265px", "2px", "__TRUNCADO__"],
         "heigth": ["100%"],
         "id": ["", "7987239865", "alteracao_dados", "amostragens", "analiseAuto", "botoesVotacao", "btn_filter_fracionados", "btnCarregaChecagem", "btnLayout", "campo1", "campo2", "campo3", "campo4", "campo5", "campos1", "__TRUNCADO__"],
         "isLayout": ["true"],
         "justifyContent": ["space-between"],
         "margem": ["true"],
         "margim": ["true"],
         "margin": ["false", "true"],
         "spacing": ["false", "true"],
         "visible": ["false", "true"],
         "width": ["0%", "100", "100%", "100% ", "10px", "15%", "150%", "160px", "20%", "23.5%", "230px", "25%", "28%", "30%", "300", "__TRUNCADO__"],
         "wrapping": ["true"]
      },
      propertyValueTypes: {
         "align": "enum",
         "backgroundColor": "mixed",
         "caption": "text",
         "cssAlign": "mixed",
         "draggable": "boolean",
         "expandRatio": "text",
         "height": "numeric",
         "heigth": "numeric",
         "id": "text",
         "isLayout": "boolean",
         "justifyContent": "enum",
         "margem": "boolean",
         "margim": "boolean",
         "margin": "boolean",
         "spacing": "boolean",
         "visible": "boolean",
         "width": "text",
         "wrapping": "boolean"
      },
      events: [

      ],
      examples: [
         "Vitruvio/Paineis/imp - Pônica - aux - Ações(Previsão_Real).xml:391",
         "Vitruvio/Paineis/imp - Pônica - aux - Ações(Previsão_Real).xml:441",
         "Vitruvio/Paineis/imp - Pônica - aux - Ações(Previsão_Real).xml:487",
         "Vitruvio/Paineis/imp - Pônica - aux - Ações(Previsão_Real).xml:615",
         "Vitruvio/Paineis/imp - Pônica - aux - Ações(Previsão_Real).xml:633",
         "Vitruvio/Paineis/imp - Pônica - aux - Ações(Previsão_Real).xml:732",
         "Vitruvio/Paineis/Ficha Azul_ Cadastro de Tipo.xml:148",
         "Vitruvio/Paineis/Ficha Azul_ Cadastro de Tipo.xml:160",
         "Vitruvio/Paineis/Ficha Azul_ Cadastro de Tipo.xml:226",
         "Vitruvio/Paineis/Impressão de etiqueta LJ06 WS.xml:322",
         "Vitruvio/Paineis/Impressão de etiqueta LJ06 WS.xml:327",
         "Vitruvio/Paineis/Impressão de etiqueta LJ06 WS.xml:395"
      ],
      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 HorizontalLayoutDoc;
