forlogic-core 1.11.4 → 1.11.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +131 -6
- package/dist/README.md +202 -77
- package/dist/assets/{index-4tvhvbTl.js → index-COYsoxpR.js} +1866 -1866
- package/dist/assets/index-D27x4c6m.css +6 -0
- package/dist/bin/pull-docs.js +61 -0
- package/dist/index.html +2 -2
- package/dist/vite/index.esm.js +0 -9
- package/dist/vite/index.js +0 -9
- package/package.json +4 -1
- package/dist/assets/index-Boj7SL5B.css +0 -6
package/README.md
CHANGED
|
@@ -312,17 +312,16 @@ export default defineConfig(({ mode }) => ({
|
|
|
312
312
|
|
|
313
313
|
### 🏗️ Factory de Configuração Vite (Opcional)
|
|
314
314
|
|
|
315
|
-
Para projetos que desejam usar a configuração
|
|
315
|
+
Para projetos que desejam usar a configuração padronizada com segurança:
|
|
316
316
|
|
|
317
317
|
```typescript
|
|
318
318
|
// vite.config.ts
|
|
319
319
|
import { defineConfig } from 'vite';
|
|
320
320
|
import react from '@vitejs/plugin-react-swc';
|
|
321
|
+
import path from 'path';
|
|
321
322
|
import { createForlogicViteConfig } from 'forlogic-core/vite';
|
|
322
323
|
|
|
323
324
|
const forlogicConfig = createForlogicViteConfig({
|
|
324
|
-
srcAlias: '@',
|
|
325
|
-
libAlias: 'forlogic-core',
|
|
326
325
|
security: {
|
|
327
326
|
supabaseUrls: ['https://seu-projeto.supabase.co'],
|
|
328
327
|
trustedOrigins: ['https://meu-app.com'],
|
|
@@ -332,14 +331,98 @@ const forlogicConfig = createForlogicViteConfig({
|
|
|
332
331
|
});
|
|
333
332
|
|
|
334
333
|
export default defineConfig(({ mode }) => {
|
|
335
|
-
const
|
|
334
|
+
const isDev = mode === 'development';
|
|
335
|
+
const baseConfig = forlogicConfig(isDev);
|
|
336
|
+
|
|
336
337
|
return {
|
|
337
|
-
...
|
|
338
|
-
plugins: [react(), ...
|
|
338
|
+
...baseConfig,
|
|
339
|
+
plugins: [react(), ...baseConfig.plugins],
|
|
340
|
+
// IMPORTANTE: resolve.alias deve usar caminhos absolutos
|
|
341
|
+
resolve: {
|
|
342
|
+
alias: {
|
|
343
|
+
'@': path.resolve(__dirname, './src'),
|
|
344
|
+
},
|
|
345
|
+
},
|
|
339
346
|
};
|
|
340
347
|
});
|
|
341
348
|
```
|
|
342
349
|
|
|
350
|
+
> **⚠️ IMPORTANTE**: A factory **não** configura `resolve.alias` porque caminhos relativos não funcionam corretamente no build. Cada projeto deve definir seus próprios aliases com `path.resolve(__dirname, './caminho')` para garantir caminhos absolutos.
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
### 📋 Template Completo para Projetos Consumidores
|
|
355
|
+
|
|
356
|
+
Copie e adapte este template para novos projetos:
|
|
357
|
+
|
|
358
|
+
```typescript
|
|
359
|
+
// vite.config.ts
|
|
360
|
+
import { defineConfig } from 'vite';
|
|
361
|
+
import react from '@vitejs/plugin-react-swc';
|
|
362
|
+
import path from 'path';
|
|
363
|
+
import { createSecurityHeadersPlugin } from 'forlogic-core/vite';
|
|
364
|
+
|
|
365
|
+
export default defineConfig(({ mode }) => {
|
|
366
|
+
const isDev = mode === 'development';
|
|
367
|
+
|
|
368
|
+
return {
|
|
369
|
+
server: {
|
|
370
|
+
host: '::',
|
|
371
|
+
port: 8080,
|
|
372
|
+
},
|
|
373
|
+
|
|
374
|
+
// Força re-bundle quando atualizar forlogic-core
|
|
375
|
+
optimizeDeps: {
|
|
376
|
+
force: true,
|
|
377
|
+
},
|
|
378
|
+
|
|
379
|
+
plugins: [
|
|
380
|
+
react(),
|
|
381
|
+
// Headers de segurança (CSP, CORS, etc.)
|
|
382
|
+
createSecurityHeadersPlugin(isDev, {
|
|
383
|
+
supabaseUrls: [
|
|
384
|
+
'https://SEU_PROJETO.supabase.co',
|
|
385
|
+
],
|
|
386
|
+
additionalConnectSrc: [
|
|
387
|
+
'https://*.qualiex.com',
|
|
388
|
+
],
|
|
389
|
+
// Opcional: URI para relatório de violações CSP
|
|
390
|
+
cspReportUri: isDev
|
|
391
|
+
? 'https://SEU_PROJETO_DEV.supabase.co/functions/v1/csp-report'
|
|
392
|
+
: 'https://SEU_PROJETO_PROD.supabase.co/functions/v1/csp-report',
|
|
393
|
+
}),
|
|
394
|
+
],
|
|
395
|
+
|
|
396
|
+
// CRÍTICO: Aliases devem usar caminhos absolutos
|
|
397
|
+
resolve: {
|
|
398
|
+
alias: {
|
|
399
|
+
'@': path.resolve(__dirname, './src'),
|
|
400
|
+
},
|
|
401
|
+
},
|
|
402
|
+
|
|
403
|
+
publicDir: false,
|
|
404
|
+
|
|
405
|
+
esbuild: {
|
|
406
|
+
sourcemap: true,
|
|
407
|
+
target: 'es2020',
|
|
408
|
+
},
|
|
409
|
+
|
|
410
|
+
build: {
|
|
411
|
+
chunkSizeWarningLimit: 4000,
|
|
412
|
+
},
|
|
413
|
+
};
|
|
414
|
+
});
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
#### Checklist de Configuração
|
|
418
|
+
|
|
419
|
+
```markdown
|
|
420
|
+
- [ ] Substituiu `SEU_PROJETO` pelas URLs do Supabase
|
|
421
|
+
- [ ] Adicionou origens confiáveis em `additionalConnectSrc` se necessário
|
|
422
|
+
- [ ] Verificou que `resolve.alias` usa `path.resolve(__dirname, ...)`
|
|
423
|
+
- [ ] Reiniciou o servidor após modificar o arquivo
|
|
424
|
+
```
|
|
425
|
+
|
|
343
426
|
---
|
|
344
427
|
|
|
345
428
|
### 🔄 Forçar Re-bundle de Dependências
|
|
@@ -747,6 +830,48 @@ Se você não fornecer um `queryClient`, o `CoreProviders` cria um com as seguin
|
|
|
747
830
|
|
|
748
831
|
---
|
|
749
832
|
|
|
833
|
+
## 🛠️ CLI: Sincronização de Documentação
|
|
834
|
+
|
|
835
|
+
O `forlogic-core` disponibiliza um comando CLI para sincronizar a documentação centralizada do banco de dados para projetos consumidores.
|
|
836
|
+
|
|
837
|
+
### Uso
|
|
838
|
+
|
|
839
|
+
```bash
|
|
840
|
+
# Via npx (recomendado)
|
|
841
|
+
npx forlogic-core-pull-docs
|
|
842
|
+
|
|
843
|
+
# Ou adicione ao package.json do seu projeto:
|
|
844
|
+
{
|
|
845
|
+
"scripts": {
|
|
846
|
+
"pull-docs": "forlogic-core-pull-docs"
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
|
|
850
|
+
# E execute:
|
|
851
|
+
npm run pull-docs
|
|
852
|
+
```
|
|
853
|
+
|
|
854
|
+
### O que é sincronizado
|
|
855
|
+
|
|
856
|
+
| Arquivo | Descrição |
|
|
857
|
+
|---------|-----------|
|
|
858
|
+
| `docs/FORLOGIC_CORE_README.md` | README completo da biblioteca |
|
|
859
|
+
| `docs/DESIGN_SYSTEM.md` | Documentação do Design System |
|
|
860
|
+
| `docs/KNOWLEDGE.md` | Knowledge base para IA/Lovable |
|
|
861
|
+
|
|
862
|
+
### Benefícios
|
|
863
|
+
|
|
864
|
+
- ✅ **Centralizado**: Documentação mantida em um único lugar (banco de dados)
|
|
865
|
+
- ✅ **Sempre atualizado**: Execute o comando para obter a versão mais recente
|
|
866
|
+
- ✅ **Sem cópia manual**: Não precisa copiar arquivos entre projetos
|
|
867
|
+
- ✅ **Ideal para Custom Knowledge**: Use os arquivos gerados no Lovable
|
|
868
|
+
|
|
869
|
+
### Requisitos
|
|
870
|
+
|
|
871
|
+
O comando usa credenciais públicas do Supabase do forlogic-core e não requer configuração adicional.
|
|
872
|
+
|
|
873
|
+
---
|
|
874
|
+
|
|
750
875
|
<!-- AUTO_GENERATED_START -->
|
|
751
876
|
|
|
752
877
|
### 📚 Estatísticas da Documentação
|
package/dist/README.md
CHANGED
|
@@ -312,17 +312,16 @@ export default defineConfig(({ mode }) => ({
|
|
|
312
312
|
|
|
313
313
|
### 🏗️ Factory de Configuração Vite (Opcional)
|
|
314
314
|
|
|
315
|
-
Para projetos que desejam usar a configuração
|
|
315
|
+
Para projetos que desejam usar a configuração padronizada com segurança:
|
|
316
316
|
|
|
317
317
|
```typescript
|
|
318
318
|
// vite.config.ts
|
|
319
319
|
import { defineConfig } from 'vite';
|
|
320
320
|
import react from '@vitejs/plugin-react-swc';
|
|
321
|
+
import path from 'path';
|
|
321
322
|
import { createForlogicViteConfig } from 'forlogic-core/vite';
|
|
322
323
|
|
|
323
324
|
const forlogicConfig = createForlogicViteConfig({
|
|
324
|
-
srcAlias: '@',
|
|
325
|
-
libAlias: 'forlogic-core',
|
|
326
325
|
security: {
|
|
327
326
|
supabaseUrls: ['https://seu-projeto.supabase.co'],
|
|
328
327
|
trustedOrigins: ['https://meu-app.com'],
|
|
@@ -332,14 +331,98 @@ const forlogicConfig = createForlogicViteConfig({
|
|
|
332
331
|
});
|
|
333
332
|
|
|
334
333
|
export default defineConfig(({ mode }) => {
|
|
335
|
-
const
|
|
334
|
+
const isDev = mode === 'development';
|
|
335
|
+
const baseConfig = forlogicConfig(isDev);
|
|
336
|
+
|
|
336
337
|
return {
|
|
337
|
-
...
|
|
338
|
-
plugins: [react(), ...
|
|
338
|
+
...baseConfig,
|
|
339
|
+
plugins: [react(), ...baseConfig.plugins],
|
|
340
|
+
// IMPORTANTE: resolve.alias deve usar caminhos absolutos
|
|
341
|
+
resolve: {
|
|
342
|
+
alias: {
|
|
343
|
+
'@': path.resolve(__dirname, './src'),
|
|
344
|
+
},
|
|
345
|
+
},
|
|
346
|
+
};
|
|
347
|
+
});
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
> **⚠️ IMPORTANTE**: A factory **não** configura `resolve.alias` porque caminhos relativos não funcionam corretamente no build. Cada projeto deve definir seus próprios aliases com `path.resolve(__dirname, './caminho')` para garantir caminhos absolutos.
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
### 📋 Template Completo para Projetos Consumidores
|
|
355
|
+
|
|
356
|
+
Copie e adapte este template para novos projetos:
|
|
357
|
+
|
|
358
|
+
```typescript
|
|
359
|
+
// vite.config.ts
|
|
360
|
+
import { defineConfig } from 'vite';
|
|
361
|
+
import react from '@vitejs/plugin-react-swc';
|
|
362
|
+
import path from 'path';
|
|
363
|
+
import { createSecurityHeadersPlugin } from 'forlogic-core/vite';
|
|
364
|
+
|
|
365
|
+
export default defineConfig(({ mode }) => {
|
|
366
|
+
const isDev = mode === 'development';
|
|
367
|
+
|
|
368
|
+
return {
|
|
369
|
+
server: {
|
|
370
|
+
host: '::',
|
|
371
|
+
port: 8080,
|
|
372
|
+
},
|
|
373
|
+
|
|
374
|
+
// Força re-bundle quando atualizar forlogic-core
|
|
375
|
+
optimizeDeps: {
|
|
376
|
+
force: true,
|
|
377
|
+
},
|
|
378
|
+
|
|
379
|
+
plugins: [
|
|
380
|
+
react(),
|
|
381
|
+
// Headers de segurança (CSP, CORS, etc.)
|
|
382
|
+
createSecurityHeadersPlugin(isDev, {
|
|
383
|
+
supabaseUrls: [
|
|
384
|
+
'https://SEU_PROJETO.supabase.co',
|
|
385
|
+
],
|
|
386
|
+
additionalConnectSrc: [
|
|
387
|
+
'https://*.qualiex.com',
|
|
388
|
+
],
|
|
389
|
+
// Opcional: URI para relatório de violações CSP
|
|
390
|
+
cspReportUri: isDev
|
|
391
|
+
? 'https://SEU_PROJETO_DEV.supabase.co/functions/v1/csp-report'
|
|
392
|
+
: 'https://SEU_PROJETO_PROD.supabase.co/functions/v1/csp-report',
|
|
393
|
+
}),
|
|
394
|
+
],
|
|
395
|
+
|
|
396
|
+
// CRÍTICO: Aliases devem usar caminhos absolutos
|
|
397
|
+
resolve: {
|
|
398
|
+
alias: {
|
|
399
|
+
'@': path.resolve(__dirname, './src'),
|
|
400
|
+
},
|
|
401
|
+
},
|
|
402
|
+
|
|
403
|
+
publicDir: false,
|
|
404
|
+
|
|
405
|
+
esbuild: {
|
|
406
|
+
sourcemap: true,
|
|
407
|
+
target: 'es2020',
|
|
408
|
+
},
|
|
409
|
+
|
|
410
|
+
build: {
|
|
411
|
+
chunkSizeWarningLimit: 4000,
|
|
412
|
+
},
|
|
339
413
|
};
|
|
340
414
|
});
|
|
341
415
|
```
|
|
342
416
|
|
|
417
|
+
#### Checklist de Configuração
|
|
418
|
+
|
|
419
|
+
```markdown
|
|
420
|
+
- [ ] Substituiu `SEU_PROJETO` pelas URLs do Supabase
|
|
421
|
+
- [ ] Adicionou origens confiáveis em `additionalConnectSrc` se necessário
|
|
422
|
+
- [ ] Verificou que `resolve.alias` usa `path.resolve(__dirname, ...)`
|
|
423
|
+
- [ ] Reiniciou o servidor após modificar o arquivo
|
|
424
|
+
```
|
|
425
|
+
|
|
343
426
|
---
|
|
344
427
|
|
|
345
428
|
### 🔄 Forçar Re-bundle de Dependências
|
|
@@ -747,82 +830,124 @@ Se você não fornecer um `queryClient`, o `CoreProviders` cria um com as seguin
|
|
|
747
830
|
|
|
748
831
|
---
|
|
749
832
|
|
|
750
|
-
|
|
833
|
+
## 🛠️ CLI: Sincronização de Documentação
|
|
751
834
|
|
|
752
|
-
|
|
835
|
+
O `forlogic-core` disponibiliza um comando CLI para sincronizar a documentação centralizada do banco de dados para projetos consumidores.
|
|
753
836
|
|
|
754
|
-
|
|
837
|
+
### Uso
|
|
755
838
|
|
|
756
|
-
|
|
839
|
+
```bash
|
|
840
|
+
# Via npx (recomendado)
|
|
841
|
+
npx forlogic-core-pull-docs
|
|
757
842
|
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
- [Typography](./docs/DESIGN_SYSTEM.md#typographycomponent) - Componentes de tipografia para estilos de texto consistentes em toda a sua aplicação.
|
|
765
|
-
- [Typography Foundation](./docs/DESIGN_SYSTEM.md#typographyfoundation) - Sistema tipográfico completo com Display, Headings, Body e mais.
|
|
766
|
-
|
|
767
|
-
### 🧩 Componentes UI
|
|
768
|
-
|
|
769
|
-
- [Accordion](./docs/DESIGN_SYSTEM.md#accordion) - Um conjunto de cabeçalhos interativos empilhados verticalmente, onde cada um revela uma seção de conteúdo.
|
|
770
|
-
- [Action Button](./docs/DESIGN_SYSTEM.md#actionbutton) - Botão compacto otimizado para ações em linhas de tabela e menus dropdown.
|
|
771
|
-
- [Alert](./docs/DESIGN_SYSTEM.md#alert) - Exibe uma mensagem de destaque para chamar a atenção do usuário.
|
|
772
|
-
- [Aspect Ratio](./docs/DESIGN_SYSTEM.md#aspectratio) - Exibe conteúdo dentro de uma proporção desejada.
|
|
773
|
-
- [Avatar](./docs/DESIGN_SYSTEM.md#avatar) - Um elemento de imagem com fallback para representar o usuário.
|
|
774
|
-
- [Badge](./docs/DESIGN_SYSTEM.md#badge) - Exibe um badge ou um componente que se parece com um badge.
|
|
775
|
-
- [Breadcrumb](./docs/DESIGN_SYSTEM.md#breadcrumb) - Exibe o caminho até o recurso atual usando uma hierarquia de links.
|
|
776
|
-
- [Button](./docs/DESIGN_SYSTEM.md#button) - Componente de botão com variantes semânticas, tamanhos e estados. Use para ações primárias, secundárias e destrutivas.
|
|
777
|
-
- [Button Group](./docs/DESIGN_SYSTEM.md#buttongroup) - Agrupa botões relacionados com espaçamento e bordas apropriados.
|
|
778
|
-
- [Calendar & Date Picker](./docs/DESIGN_SYSTEM.md#calendar) - Componentes para seleção de datas. O Calendar exibe um calendário interativo, enquanto o Date Picker combina um campo de input com o calendário em um popover.
|
|
779
|
-
- [Card](./docs/DESIGN_SYSTEM.md#card) - Exibe um card com cabeçalho, conteúdo e rodapé.
|
|
780
|
-
- [Carousel](./docs/DESIGN_SYSTEM.md#carousel) - Um componente de carrossel para alternar entre elementos. Nota: Este componente requer a biblioteca Embla Carousel que não está incluída no forlogic-core por padrão.
|
|
781
|
-
- [Checkbox](./docs/DESIGN_SYSTEM.md#checkbox) - Um controle que permite ao usuário alternar entre marcado e desmarcado.
|
|
782
|
-
- [Collapsible](./docs/DESIGN_SYSTEM.md#collapsible) - Um componente interativo que expande/colapsa um painel.
|
|
783
|
-
- [Color Picker](./docs/DESIGN_SYSTEM.md#colorpicker) - Seletor de cores com paleta predefinida e seletor customizado.
|
|
784
|
-
- [Combobox](./docs/DESIGN_SYSTEM.md#combobox) - Componente versátil para seleção única ou múltipla com busca inteligente. Combina Popover e Command para autocomplete.
|
|
785
|
-
- [Context Menu](./docs/DESIGN_SYSTEM.md#contextmenu) - Exibe um menu ao usuário — como um conjunto de ações ou funções — acionado por um clique com o botão direito do mouse.
|
|
786
|
-
- [Dialog](./docs/DESIGN_SYSTEM.md#dialog) - Uma janela sobreposta à janela principal ou a outra janela de diálogo, tornando o conteúdo abaixo inerte. Inclui variações para seleção, tabelas e formulários.
|
|
787
|
-
- [Dropdown Menu](./docs/DESIGN_SYSTEM.md#dropdownmenu) - Exibe um menu ao usuário — como um conjunto de ações ou funções — acionado por um botão ou elemento interativo.
|
|
788
|
-
- [Empty State](./docs/DESIGN_SYSTEM.md#emptystate) - Componente para exibir estados vazios com ícone, mensagem e ação opcional.
|
|
789
|
-
- [Form](./docs/DESIGN_SYSTEM.md#form) - Construindo formulários com React Hook Form e Zod.
|
|
790
|
-
- [Grid](./docs/DESIGN_SYSTEM.md#grid) - Sistema de grid responsivo com configuração simplificada de colunas e espaçamento.
|
|
791
|
-
- [Icon Picker](./docs/DESIGN_SYSTEM.md#iconpicker) - Seletor de ícones da biblioteca Lucide React com busca integrada.
|
|
792
|
-
- [Input](./docs/DESIGN_SYSTEM.md#input) - Exibe um campo de entrada de texto.
|
|
793
|
-
- [Input Group](./docs/DESIGN_SYSTEM.md#inputgroup) - Agrupe inputs com addons de prefixo, sufixo, ícones, botões, tooltips e dropdowns. Segue a API oficial do shadcn/ui.
|
|
794
|
-
- [Input OTP](./docs/DESIGN_SYSTEM.md#inputotp) - Accessible one-time password component with customizable number of inputs. Available in the UI library but not exported from forlogic-core.
|
|
795
|
-
- [Label](./docs/DESIGN_SYSTEM.md#label) - Renderiza uma label acessível associada a controles.
|
|
796
|
-
- [Loading State](./docs/DESIGN_SYSTEM.md#loadingstate) - Componente para gerenciar estados de loading de forma declarativa com dois tipos: spinner e overlay.
|
|
797
|
-
- [Native Select](./docs/DESIGN_SYSTEM.md#nativeselect) - Elemento select nativo do HTML com estilização.
|
|
798
|
-
- [Pagination](./docs/DESIGN_SYSTEM.md#pagination) - Barra de paginação completa com seletor de itens por página e controles de navegação.
|
|
799
|
-
- [Progress](./docs/DESIGN_SYSTEM.md#progress) - Exibe um indicador mostrando o progresso de conclusão de uma tarefa, tipicamente exibido como uma barra de progresso.
|
|
800
|
-
- [Radio Group](./docs/DESIGN_SYSTEM.md#radiogroup) - Um conjunto de botões marcáveis—conhecidos como botões de rádio—onde apenas um pode ser marcado por vez.
|
|
801
|
-
- [Resizable](./docs/DESIGN_SYSTEM.md#resizable) - Grupos de painéis redimensionáveis e layouts acessíveis com suporte a teclado. Construído sobre react-resizable-panels.
|
|
802
|
-
- [Scroll Area](./docs/DESIGN_SYSTEM.md#scrollarea) - Aprimora a funcionalidade de rolagem nativa para estilização personalizada e cross-browser.
|
|
803
|
-
- [Searchbar](./docs/DESIGN_SYSTEM.md#searchbar) - Campo de busca com ícone de pesquisa integrado e botão de limpar opcional. Otimizado para experiências de busca em toda a aplicação.
|
|
804
|
-
- [Select](./docs/DESIGN_SYSTEM.md#select) - Exibe uma lista de opções para o usuário escolher—acionada por um botão.
|
|
805
|
-
- [Separator](./docs/DESIGN_SYSTEM.md#separator) - Separa visual ou semanticamente o conteúdo.
|
|
806
|
-
- [Sheet](./docs/DESIGN_SYSTEM.md#sheet) - Estende o componente Dialog para exibir conteúdo que complementa o conteúdo principal da tela.
|
|
807
|
-
- [Skeleton](./docs/DESIGN_SYSTEM.md#skeleton) - Componente de placeholder para estados de carregamento. Inclui variantes pré-configuradas para tabelas, cards, formulários e mais.
|
|
808
|
-
- [Slider](./docs/DESIGN_SYSTEM.md#slider) - Um input onde o usuário seleciona um valor dentro de um intervalo determinado.
|
|
809
|
-
- [Spinner](./docs/DESIGN_SYSTEM.md#spinner) - Um componente de spinner de carregamento para indicar estado de carregamento.
|
|
810
|
-
- [Stack](./docs/DESIGN_SYSTEM.md#stack) - Layout de pilha flexível com controle de direção, espaçamento, alinhamento e justificação.
|
|
811
|
-
- [Switch](./docs/DESIGN_SYSTEM.md#switch) - Um controle que permite ao usuário alternar entre marcado e desmarcado.
|
|
812
|
-
- [Tab Page Layout](./docs/DESIGN_SYSTEM.md#tabpagelayout) - Layout padronizado para páginas dentro de tabs com header, descrição, ações e conteúdo scrollável.
|
|
813
|
-
- [Table](./docs/DESIGN_SYSTEM.md#table) - Uma tabela semântica para exibir dados tabulares.
|
|
814
|
-
- [Tabs](./docs/DESIGN_SYSTEM.md#tabs) - Um conjunto de seções de conteúdo em camadas—conhecidas como painéis de abas—que são exibidas uma de cada vez.
|
|
815
|
-
- [Textarea](./docs/DESIGN_SYSTEM.md#textarea) - Exibe um textarea de formulário ou um componente que se parece com um textarea.
|
|
816
|
-
- [Toast](./docs/DESIGN_SYSTEM.md#toast) - Componente de notificação toast usando Sonner. Exibe mensagens temporárias para feedback de ações do usuário.
|
|
817
|
-
- [Toggle](./docs/DESIGN_SYSTEM.md#toggle) - Botões de dois estados que podem estar ligados ou desligados, individualmente ou em grupo.
|
|
818
|
-
|
|
819
|
-
### 🚀 Sistema CRUD
|
|
820
|
-
|
|
821
|
-
- [CRUD System](./docs/DESIGN_SYSTEM.md#crudsystem) - Sistema completo para criação rápida de interfaces CRUD com validação, busca, paginação e muito mais.
|
|
822
|
-
- [Wizard Form](./docs/DESIGN_SYSTEM.md#wizardform) - Formulário multi-etapas com validação, navegação entre seções e indicadores de progresso.
|
|
843
|
+
# Ou adicione ao package.json do seu projeto:
|
|
844
|
+
{
|
|
845
|
+
"scripts": {
|
|
846
|
+
"pull-docs": "forlogic-core-pull-docs"
|
|
847
|
+
}
|
|
848
|
+
}
|
|
823
849
|
|
|
824
|
-
|
|
850
|
+
# E execute:
|
|
851
|
+
npm run pull-docs
|
|
852
|
+
```
|
|
853
|
+
|
|
854
|
+
### O que é sincronizado
|
|
855
|
+
|
|
856
|
+
| Arquivo | Descrição |
|
|
857
|
+
|---------|-----------|
|
|
858
|
+
| `docs/FORLOGIC_CORE_README.md` | README completo da biblioteca |
|
|
859
|
+
| `docs/DESIGN_SYSTEM.md` | Documentação do Design System |
|
|
860
|
+
| `docs/KNOWLEDGE.md` | Knowledge base para IA/Lovable |
|
|
861
|
+
|
|
862
|
+
### Benefícios
|
|
825
863
|
|
|
826
|
-
|
|
864
|
+
- ✅ **Centralizado**: Documentação mantida em um único lugar (banco de dados)
|
|
865
|
+
- ✅ **Sempre atualizado**: Execute o comando para obter a versão mais recente
|
|
866
|
+
- ✅ **Sem cópia manual**: Não precisa copiar arquivos entre projetos
|
|
867
|
+
- ✅ **Ideal para Custom Knowledge**: Use os arquivos gerados no Lovable
|
|
868
|
+
|
|
869
|
+
### Requisitos
|
|
870
|
+
|
|
871
|
+
O comando usa credenciais públicas do Supabase do forlogic-core e não requer configuração adicional.
|
|
872
|
+
|
|
873
|
+
---
|
|
827
874
|
|
|
875
|
+
<!-- AUTO_GENERATED_START -->
|
|
876
|
+
|
|
877
|
+
### 📚 Estatísticas da Documentação
|
|
878
|
+
|
|
879
|
+
**49 Componentes UI** | **6 Tokens** | **2 Ferramentas CRUD**
|
|
880
|
+
|
|
881
|
+
---
|
|
882
|
+
|
|
883
|
+
### 🎨 Fundamentos (Tokens)
|
|
884
|
+
|
|
885
|
+
- [Colors Foundation](./docs/DESIGN_SYSTEM.md#colorsfoundation) - Sistema de cores completo com escalas neutras, de marca e funcionais.
|
|
886
|
+
- [Radius](./docs/DESIGN_SYSTEM.md#radius) - Sistema de arredondamento de bordas para consistência visual.
|
|
887
|
+
- [Shadows](./docs/DESIGN_SYSTEM.md#shadows) - Sistema de sombras e elevação para criar profundidade e hierarquia.
|
|
888
|
+
- [Spacing](./docs/DESIGN_SYSTEM.md#spacing) - Escala de espaçamento consistente baseada em uma unidade base de 4px.
|
|
889
|
+
- [Typography](./docs/DESIGN_SYSTEM.md#typographycomponent) - Componentes de tipografia para estilos de texto consistentes em toda a sua aplicação.
|
|
890
|
+
- [Typography Foundation](./docs/DESIGN_SYSTEM.md#typographyfoundation) - Sistema tipográfico completo com Display, Headings, Body e mais.
|
|
891
|
+
|
|
892
|
+
### 🧩 Componentes UI
|
|
893
|
+
|
|
894
|
+
- [Accordion](./docs/DESIGN_SYSTEM.md#accordion) - Um conjunto de cabeçalhos interativos empilhados verticalmente, onde cada um revela uma seção de conteúdo.
|
|
895
|
+
- [Action Button](./docs/DESIGN_SYSTEM.md#actionbutton) - Botão compacto otimizado para ações em linhas de tabela e menus dropdown.
|
|
896
|
+
- [Alert](./docs/DESIGN_SYSTEM.md#alert) - Exibe uma mensagem de destaque para chamar a atenção do usuário.
|
|
897
|
+
- [Aspect Ratio](./docs/DESIGN_SYSTEM.md#aspectratio) - Exibe conteúdo dentro de uma proporção desejada.
|
|
898
|
+
- [Avatar](./docs/DESIGN_SYSTEM.md#avatar) - Um elemento de imagem com fallback para representar o usuário.
|
|
899
|
+
- [Badge](./docs/DESIGN_SYSTEM.md#badge) - Exibe um badge ou um componente que se parece com um badge.
|
|
900
|
+
- [Breadcrumb](./docs/DESIGN_SYSTEM.md#breadcrumb) - Exibe o caminho até o recurso atual usando uma hierarquia de links.
|
|
901
|
+
- [Button](./docs/DESIGN_SYSTEM.md#button) - Componente de botão com variantes semânticas, tamanhos e estados. Use para ações primárias, secundárias e destrutivas.
|
|
902
|
+
- [Button Group](./docs/DESIGN_SYSTEM.md#buttongroup) - Agrupa botões relacionados com espaçamento e bordas apropriados.
|
|
903
|
+
- [Calendar & Date Picker](./docs/DESIGN_SYSTEM.md#calendar) - Componentes para seleção de datas. O Calendar exibe um calendário interativo, enquanto o Date Picker combina um campo de input com o calendário em um popover.
|
|
904
|
+
- [Card](./docs/DESIGN_SYSTEM.md#card) - Exibe um card com cabeçalho, conteúdo e rodapé.
|
|
905
|
+
- [Carousel](./docs/DESIGN_SYSTEM.md#carousel) - Um componente de carrossel para alternar entre elementos. Nota: Este componente requer a biblioteca Embla Carousel que não está incluída no forlogic-core por padrão.
|
|
906
|
+
- [Checkbox](./docs/DESIGN_SYSTEM.md#checkbox) - Um controle que permite ao usuário alternar entre marcado e desmarcado.
|
|
907
|
+
- [Collapsible](./docs/DESIGN_SYSTEM.md#collapsible) - Um componente interativo que expande/colapsa um painel.
|
|
908
|
+
- [Color Picker](./docs/DESIGN_SYSTEM.md#colorpicker) - Seletor de cores com paleta predefinida e seletor customizado.
|
|
909
|
+
- [Combobox](./docs/DESIGN_SYSTEM.md#combobox) - Componente versátil para seleção única ou múltipla com busca inteligente. Combina Popover e Command para autocomplete.
|
|
910
|
+
- [Context Menu](./docs/DESIGN_SYSTEM.md#contextmenu) - Exibe um menu ao usuário — como um conjunto de ações ou funções — acionado por um clique com o botão direito do mouse.
|
|
911
|
+
- [Dialog](./docs/DESIGN_SYSTEM.md#dialog) - Uma janela sobreposta à janela principal ou a outra janela de diálogo, tornando o conteúdo abaixo inerte. Inclui variações para seleção, tabelas e formulários.
|
|
912
|
+
- [Dropdown Menu](./docs/DESIGN_SYSTEM.md#dropdownmenu) - Exibe um menu ao usuário — como um conjunto de ações ou funções — acionado por um botão ou elemento interativo.
|
|
913
|
+
- [Empty State](./docs/DESIGN_SYSTEM.md#emptystate) - Componente para exibir estados vazios com ícone, mensagem e ação opcional.
|
|
914
|
+
- [Form](./docs/DESIGN_SYSTEM.md#form) - Construindo formulários com React Hook Form e Zod.
|
|
915
|
+
- [Grid](./docs/DESIGN_SYSTEM.md#grid) - Sistema de grid responsivo com configuração simplificada de colunas e espaçamento.
|
|
916
|
+
- [Icon Picker](./docs/DESIGN_SYSTEM.md#iconpicker) - Seletor de ícones da biblioteca Lucide React com busca integrada.
|
|
917
|
+
- [Input](./docs/DESIGN_SYSTEM.md#input) - Exibe um campo de entrada de texto.
|
|
918
|
+
- [Input Group](./docs/DESIGN_SYSTEM.md#inputgroup) - Agrupe inputs com addons de prefixo, sufixo, ícones, botões, tooltips e dropdowns. Segue a API oficial do shadcn/ui.
|
|
919
|
+
- [Input OTP](./docs/DESIGN_SYSTEM.md#inputotp) - Accessible one-time password component with customizable number of inputs. Available in the UI library but not exported from forlogic-core.
|
|
920
|
+
- [Label](./docs/DESIGN_SYSTEM.md#label) - Renderiza uma label acessível associada a controles.
|
|
921
|
+
- [Loading State](./docs/DESIGN_SYSTEM.md#loadingstate) - Componente para gerenciar estados de loading de forma declarativa com dois tipos: spinner e overlay.
|
|
922
|
+
- [Native Select](./docs/DESIGN_SYSTEM.md#nativeselect) - Elemento select nativo do HTML com estilização.
|
|
923
|
+
- [Pagination](./docs/DESIGN_SYSTEM.md#pagination) - Barra de paginação completa com seletor de itens por página e controles de navegação.
|
|
924
|
+
- [Progress](./docs/DESIGN_SYSTEM.md#progress) - Exibe um indicador mostrando o progresso de conclusão de uma tarefa, tipicamente exibido como uma barra de progresso.
|
|
925
|
+
- [Radio Group](./docs/DESIGN_SYSTEM.md#radiogroup) - Um conjunto de botões marcáveis—conhecidos como botões de rádio—onde apenas um pode ser marcado por vez.
|
|
926
|
+
- [Resizable](./docs/DESIGN_SYSTEM.md#resizable) - Grupos de painéis redimensionáveis e layouts acessíveis com suporte a teclado. Construído sobre react-resizable-panels.
|
|
927
|
+
- [Scroll Area](./docs/DESIGN_SYSTEM.md#scrollarea) - Aprimora a funcionalidade de rolagem nativa para estilização personalizada e cross-browser.
|
|
928
|
+
- [Searchbar](./docs/DESIGN_SYSTEM.md#searchbar) - Campo de busca com ícone de pesquisa integrado e botão de limpar opcional. Otimizado para experiências de busca em toda a aplicação.
|
|
929
|
+
- [Select](./docs/DESIGN_SYSTEM.md#select) - Exibe uma lista de opções para o usuário escolher—acionada por um botão.
|
|
930
|
+
- [Separator](./docs/DESIGN_SYSTEM.md#separator) - Separa visual ou semanticamente o conteúdo.
|
|
931
|
+
- [Sheet](./docs/DESIGN_SYSTEM.md#sheet) - Estende o componente Dialog para exibir conteúdo que complementa o conteúdo principal da tela.
|
|
932
|
+
- [Skeleton](./docs/DESIGN_SYSTEM.md#skeleton) - Componente de placeholder para estados de carregamento. Inclui variantes pré-configuradas para tabelas, cards, formulários e mais.
|
|
933
|
+
- [Slider](./docs/DESIGN_SYSTEM.md#slider) - Um input onde o usuário seleciona um valor dentro de um intervalo determinado.
|
|
934
|
+
- [Spinner](./docs/DESIGN_SYSTEM.md#spinner) - Um componente de spinner de carregamento para indicar estado de carregamento.
|
|
935
|
+
- [Stack](./docs/DESIGN_SYSTEM.md#stack) - Layout de pilha flexível com controle de direção, espaçamento, alinhamento e justificação.
|
|
936
|
+
- [Switch](./docs/DESIGN_SYSTEM.md#switch) - Um controle que permite ao usuário alternar entre marcado e desmarcado.
|
|
937
|
+
- [Tab Page Layout](./docs/DESIGN_SYSTEM.md#tabpagelayout) - Layout padronizado para páginas dentro de tabs com header, descrição, ações e conteúdo scrollável.
|
|
938
|
+
- [Table](./docs/DESIGN_SYSTEM.md#table) - Uma tabela semântica para exibir dados tabulares.
|
|
939
|
+
- [Tabs](./docs/DESIGN_SYSTEM.md#tabs) - Um conjunto de seções de conteúdo em camadas—conhecidas como painéis de abas—que são exibidas uma de cada vez.
|
|
940
|
+
- [Textarea](./docs/DESIGN_SYSTEM.md#textarea) - Exibe um textarea de formulário ou um componente que se parece com um textarea.
|
|
941
|
+
- [Toast](./docs/DESIGN_SYSTEM.md#toast) - Componente de notificação toast usando Sonner. Exibe mensagens temporárias para feedback de ações do usuário.
|
|
942
|
+
- [Toggle](./docs/DESIGN_SYSTEM.md#toggle) - Botões de dois estados que podem estar ligados ou desligados, individualmente ou em grupo.
|
|
943
|
+
|
|
944
|
+
### 🚀 Sistema CRUD
|
|
945
|
+
|
|
946
|
+
- [CRUD System](./docs/DESIGN_SYSTEM.md#crudsystem) - Sistema completo para criação rápida de interfaces CRUD com validação, busca, paginação e muito mais.
|
|
947
|
+
- [Wizard Form](./docs/DESIGN_SYSTEM.md#wizardform) - Formulário multi-etapas com validação, navegação entre seções e indicadores de progresso.
|
|
948
|
+
|
|
949
|
+
---
|
|
950
|
+
|
|
951
|
+
> 📘 **Documentação Completa**: Para ver detalhes de props, exemplos de uso e acessibilidade de cada componente, consulte o [Design System Completo](./docs/DESIGN_SYSTEM.md).
|
|
952
|
+
|
|
828
953
|
<!-- AUTO_GENERATED_END -->
|