Sobre o projeto

Filament Page Builder é um pacote Laravel que adiciona um editor de canvas visual aos painéis administrativos do Filament. Ele armazena o conteúdo da página como um array ordenado de blocos tipados em uma única coluna JSON, com o canvas e o Builder form nativo do Filament lendo e gravando os mesmos dados. As principais capacidades incluem: - Um editor de canvas em tela cheia acessível em /{record}/design, com posicionamento de blocos por arrastar e soltar em seções e colunas - Edição de texto simples inline diretamente no canvas, com campos editáveis declarados que são renderizados como marcação simples na página pública - Um inspetor de estilos usando design tokens (padding, width, background, alignment) em vez de CSS bruto - Desfazer/refazer, recuperação de ghost e um bloqueio de salvamento otimista que adia gravações no banco de dados até o salvamento explícito - Um esboço do documento e um editor responsivo de painel único no mobile Os princípios de design enfatizam que o pacote fornece o mecanismo enquanto a aplicação é dona do conteúdo. Ele não inclui nenhum modelo Page nem migration. Os blocos são classes definidas na aplicação, livres para consultar modelos e renderizar marcação personalizada. Um único registro resolve blocos no formulário, no canvas e no renderizador público, garantindo consistência. Tipos de bloco desconhecidos são ignorados em vez de causar erros fatais, então o conteúdo sobrevive a mudanças de schema. O pacote inclui assets de canvas prontos para servir, registrados sob seu próprio namespace, então os consumidores nunca precisam executar um bundler nem ter Node instalado. Os tipos de bloco integrados incluem Section, text, image, button, embed, spacer e divider, com aplicações registrando seus próprios blocos (por exemplo, Hero, RichText). O theming suporta modo claro/escuro seguindo o painel, com quatro variáveis CSS para personalização do chrome. O canvas pode ser apontado para uma view de estilos personalizada para corresponder aos design tokens do site público. As folhas de estilo dos blocos devem ser enviadas no site público para renderização adequada. O pacote suporta Filament 4.12.6+ e 5.x (v0.4.x da branch main) e Filament 3.3.53+ (v0.3.x da branch filament-3). Requer PHP 8.3+. As traduções são fornecidas em inglês, azerbaijano, francês, alemão, russo, espanhol e turco. Licenciado sob MIT.