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 PanelDoc: VitruvioComponentDoc = {
   component: "Panel",
   summary: "Documentacao do componente Panel mapeada a partir de exemplos reais de XML.",
   status: "draft",
   context: {
      module: "Vitruvio",
      family: "Layout",
      mappedFrom: ["Vitruvio/Paineis", "Vitruvio/Processos"],
      occurrences: { total: 3486, paineis: 1911, processos: 1575 }
   },
   sections: {
      purpose: "Componente de organizacao visual da tela para estruturar conteudo e navegacao.",
      basicUsage: "Usar Panel no contexto adequado da tela; as propriedades abaixo foram observadas em exemplos reais do projeto.",
      properties: [
         "align",
         "backgroundColor",
         "caption",
         "cssAlign",
         "description",
         "expandRatio",
         "height",
         "id",
         "margin",
         "spacing",
         "style",
         "visible",
         "width",
         "xmlns",
         "xmlns:xsi",
         "xsi:schemaLocation"
      ],
      propertyValues: {
         "align": ["BOTTOM_CENTER", "BOTTOM_LEFT", "MIDDLE_CENTER", "MIDDLE_LEFT", "MIDDLE_RIGHT", "TOP_CENTER", "TOP_LEFT", "TOP_RIGHT"],
         "backgroundColor": ["#006fff0d", "#00ffaa", "#45FF83", "#4F5EFA", "#5BE3DB", "#74c34c", "#87bfec", "#87CEEB", "#9AFB3E", "#A1F1F9", "#A1F9D0", "#B26ED1", "#B2DFDB", "#b3ff91", "#B8DC95", "__TRUNCADO__"],
         "caption": ["", " ", "  Dados", " Formulário está em construção, apenas salve e conclua essa etapa.", "1ª tentativa de retorno", "2ª tentativa de retorno", "2º - Periodos de Armazenagem DTA", "2º - Periodos de Armazenagem no Porto", "3º - Periodos de Armazenagem DTA", "3º - Periodos de Armazenagem no Porto", "Abatimentos e Devoluções", "Abertura", "Abertura - Loja", "ABERTURA DE CHECKLIST", "Abertura de Processo", "__TRUNCADO__"],
         "cssAlign": ["top: 0px; left: 0px;"],
         "description": ["Opções de agrupador do fornecedor do contrato."],
         "expandRatio": [".5", ".75", ".9", "0", "0.0", "0.1", "0.15", "0.2", "0.25", "0.3", "0.33", "0.34", "0.4", "0.5", "0.6", "__TRUNCADO__"],
         "height": ["100", "100%", "104px", "115", "132", "140", "160", "193", "230", "247", "270px", "275", "328", "360", "420", "__TRUNCADO__"],
         "id": [" ", "987492873", "acoesColetor", "AguaEsgotoValores", "analise", "AnaliseProdutos", "btnProduto", "btnProdutoCopia", "campos", "camposPreSelecionados", "camposReceber", "camposSelecionados", "cFornec1", "cFornec2", "cFornec3", "__TRUNCADO__"],
         "margin": ["false", "true"],
         "spacing": ["false", "true"],
         "style": ["background:#ffffff; border:1px solid #e5e7eb; border-radius:12px; box-shadow:0 4px 10px rgba(0,0,0,0.06); padding:16px;"],
         "visible": ["false", "true"],
         "width": ["10%", "100%", "1000px", "140%", "20%", "310px", "40%", "50%", "60%", "75%", "95%", "97%", "98%"],
         "xmlns": ["http://www.davinti.com.br/vitruvio/form/mobile/panel", "http://www.davinti.com.br/vitruvio/form/panel"],
         "xmlns:xsi": ["http://www.w3.org/2001/XMLSchema-instance"],
         "xsi:schemaLocation": ["http://www.davinti.com.br/vitruvio/form https://bitbucket.org/davinTI/vitruvio-xds/raw/master/vitruvio-form.xsd", "http://www.davinti.com.br/vitruvio/form https://bitbucket.org/davinTI/vitruvio-xds/raw/master/vitruvio-panel-form.xsd", "http://www.davinti.com.br/vitruvio/form/mobile/panel vitruvio-mobile-panel-form.xsd", "http://www.davinti.com.br/vitruvio/form/panel vitruvio-panel-form.xsd"]
      },
      propertyValueTypes: {
         "align": "enum",
         "backgroundColor": "text",
         "caption": "text",
         "cssAlign": "mixed",
         "description": "text",
         "expandRatio": "mixed",
         "height": "numeric",
         "id": "text",
         "margin": "boolean",
         "spacing": "boolean",
         "style": "mixed",
         "visible": "boolean",
         "width": "numeric",
         "xmlns": "enum",
         "xmlns:xsi": "enum",
         "xsi:schemaLocation": "mixed"
      },
      events: [

      ],
      examples: [
         "Vitruvio/Paineis/imp - Pônica - aux - Ações(Previsão_Real).xml:392",
         "Vitruvio/Paineis/Ficha Azul_ Cadastro de Tipo.xml:150",
         "Vitruvio/Paineis/Ficha Azul_ Cadastro de Tipo.xml:228",
         "Vitruvio/Paineis/Impressão de etiqueta LJ06 WS.xml:522",
         "Vitruvio/Paineis/Impressão de etiqueta LJ06 WS.xml:685",
         "Vitruvio/Paineis/Relatório de Transferências.xml:277",
         "Vitruvio/Paineis/imp - Pônica - aux - Detalhes Pré Pedido.xml:382",
         "Vitruvio/Paineis/Cadastro de Usuários.xml:456",
         "Vitruvio/Paineis/Cadastro de Usuários.xml:773",
         "Vitruvio/Paineis/Cadastro de Usuários.xml:916",
         "Vitruvio/Paineis/Acompanhamento dos produtos da NL.xml:324",
         "Vitruvio/Paineis/Manutenção de Gôndolas.xml:233"
      ],
      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 PanelDoc;
