Materializr
Open-source parametric 3D CAD for makers — constraint sketches, solid modeling, threads, SVG & text engraving, STL/STEP export. Android, iPad, Linux, Mac, Windows. Vibe coded.
Várias camadas, arrastar para ajustar, exportação para CSS e Tailwind.
Translation pending
DesignJavaScript · CSSGitHub @wagnerglongoOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Box shadow
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Editor visual de sombras CSS. Monte a sombra em várias camadas, arraste direto na prévia para ajustar e copie o código pronto em CSS ou em classe do Tailwind.
🔗 No ar: https://box-shadow.vercel.app
box-shadow aceita sombras empilhadas, e é assim que se fazem sombras realistas. Dá para adicionar até 6 camadas, remover e escolher qual editar.| Tema | O que foi feito |
|---|---|
| Arquitetura | A lógica de transformar o estado em CSS (src/shadow.js) e de validar e serializar o estado (src/state.js) é feita de funções puras, sem DOM. A interface (src/main.js) só lê e escreve o estado e chama render(). |
| Interface gerada por dados | Os campos de cada camada vêm de uma lista de definições (rótulo, limites, unidade). Adicionar uma propriedade nova é uma linha. |
| Segurança | O estado que vem da URL é tratado como entrada não confiável: cores passam por regex, números são limitados aos intervalos, tipos são conferidos e a quantidade de camadas tem teto. Um link corrompido ou malicioso abre o estado padrão, sem erro. |
| Testes | 14 testes com o test runner nativo do Node (node --test), cobrindo conversão de cores, geração de CSS e Tailwind, ida e volta pela URL e entradas maliciosas. Rodam no GitHub Actions a cada push. |
| Acessibilidade | Camadas como radiogroup navegável por setas, abas com aria-selected, prévia operável pelo teclado, mensagens de cópia em aria-live, foco sempre visível. |
| Sem dependências | HTML, CSS e JavaScript (ES Modules) puros. Fontes hospedadas no projeto. |
├── index.html
├── src/
│ ├── shadow.js # estado → CSS / Tailwind (funções puras)
│ ├── state.js # estado padrão, modelos, validação e URL
│ └── main.js # interface, arrastar, teclado, cópia
├── tests/ # node --test
├── assets/
│ ├── css/styles.css
│ └── fonts/
├── docs/ # prints do README
└── .github/workflows/test.yml
git clone https://github.com/wagnerglongo/Box-shadow.git
cd Box-shadow
npm run dev # http://localhost:3000
npm test # roda os testes (Node 20+)
Desenvolvido por Wagner Longo.