forlogic-core 2.2.5 → 2.2.7

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.
Files changed (69) hide show
  1. package/.note/memory/features/import/attachment-idempotency-registry.md +8 -8
  2. package/.note/memory/features/import/attachment-strategy.md +30 -30
  3. package/.note/memory/patterns/admin-i18n-policy.md +20 -20
  4. package/.note/memory/patterns/alias-url-resolution.md +69 -69
  5. package/.note/memory/patterns/doc-sync-rule.md +35 -35
  6. package/.note/memory/patterns/documentation-standard.md +17 -17
  7. package/.note/memory/patterns/dynamic-supabase-config.md +4 -4
  8. package/.note/memory/patterns/environment-detection-logic.md +35 -35
  9. package/.note/memory/patterns/i18n-architecture.md +3 -3
  10. package/README.md +120 -120
  11. package/dist/README.md +1079 -0
  12. package/dist/bin/bootstrap.js +40 -0
  13. package/dist/bin/pull-docs.js +186 -0
  14. package/dist/components/ui/color-picker.d.ts +2 -0
  15. package/dist/components/ui/combo-tree.d.ts +3 -1
  16. package/dist/components/ui/combobox.d.ts +2 -1
  17. package/dist/components/ui/select.d.ts +9 -2
  18. package/dist/docs/KNOWLEDGE.md +109 -0
  19. package/dist/index.css +1 -1
  20. package/dist/index.css.map +1 -1
  21. package/dist/index.esm.js +1 -1
  22. package/dist/index.js +1 -1
  23. package/docs/PUBLISH.md +168 -168
  24. package/docs/STORAGE_BUCKETS.md +456 -456
  25. package/docs/SUPABASE_SECRETS.md +122 -122
  26. package/docs/WORKSPACE_KNOWLEDGE.md +154 -154
  27. package/docs/design-system/buttons-actions.md +130 -130
  28. package/docs/design-system/charts-dashboards.md +301 -340
  29. package/docs/design-system/crud.md +114 -174
  30. package/docs/design-system/data-display.md +106 -106
  31. package/docs/design-system/dialogs.md +212 -212
  32. package/docs/design-system/domain.md +329 -319
  33. package/docs/design-system/examples.md +275 -275
  34. package/docs/design-system/foundation.md +1 -1
  35. package/docs/design-system/inputs.md +137 -132
  36. package/docs/design-system/layout.md +154 -202
  37. package/docs/design-system/navigation.md +331 -272
  38. package/docs/design-system/notifications-feedback.md +34 -34
  39. package/docs/design-system/patterns/README.md +53 -53
  40. package/docs/design-system/patterns/action-button.md +22 -22
  41. package/docs/design-system/patterns/alertdialog-deletion.md +46 -46
  42. package/docs/design-system/patterns/baseform-custom-fields.md +59 -59
  43. package/docs/design-system/patterns/baseform-usage.md +42 -42
  44. package/docs/design-system/patterns/body-content-scroll.md +56 -56
  45. package/docs/design-system/patterns/combo-tree.md +23 -23
  46. package/docs/design-system/patterns/components-registry.md +17 -17
  47. package/docs/design-system/patterns/core-providers.md +41 -41
  48. package/docs/design-system/patterns/crud-bulk-actions.md +12 -12
  49. package/docs/design-system/patterns/crud-config-props.md +16 -16
  50. package/docs/design-system/patterns/crud-defaults.md +17 -17
  51. package/docs/design-system/patterns/crud-toolbar.md +28 -28
  52. package/docs/design-system/patterns/delete-confirmation.md +40 -40
  53. package/docs/design-system/patterns/dialog-body-scroll.md +26 -26
  54. package/docs/design-system/patterns/dialog-structure.md +32 -32
  55. package/docs/design-system/patterns/dialog-variants.md +41 -41
  56. package/docs/design-system/patterns/feature-flags.md +81 -81
  57. package/docs/design-system/patterns/header-metadata.md +57 -57
  58. package/docs/design-system/patterns/i18n-setup.md +117 -117
  59. package/docs/design-system/patterns/pagination.md +27 -27
  60. package/docs/design-system/patterns/single-scroll.md +39 -39
  61. package/docs/design-system/patterns/vite-tailwind-setup.md +49 -49
  62. package/docs/design-system/platform.md +18 -18
  63. package/docs/design-system/selectors.md +287 -258
  64. package/docs/design-system/tables-grids.md +38 -95
  65. package/package.json +152 -152
  66. package/dist/assets/docs-BEwTKYu3.css +0 -1
  67. package/dist/assets/docs-Bgpz6ETN.js +0 -10752
  68. package/dist/assets/index-SqMwTzMJ.js +0 -97
  69. package/dist/index.html +0 -34
@@ -11,11 +11,11 @@ Um elemento de imagem com fallback para representar o usuário.
11
11
 
12
12
  **Uso:**
13
13
  ```tsx
14
- import { Avatar, AvatarImage, AvatarFallback } from "forlogic-core"
15
-
16
- <Avatar>
17
- <AvatarImage src="https://github.com/shadcn.png" alt="@shadcn" />
18
- <AvatarFallback>CN</AvatarFallback>
14
+ import { Avatar, AvatarImage, AvatarFallback } from "forlogic-core"
15
+
16
+ <Avatar>
17
+ <AvatarImage src="https://github.com/shadcn.png" alt="@shadcn" />
18
+ <AvatarFallback>CN</AvatarFallback>
19
19
  </Avatar>
20
20
  ```
21
21
 
@@ -27,12 +27,12 @@ import { Avatar, AvatarImage, AvatarFallback } from "forlogic-core"
27
27
 
28
28
  **Exemplos:**
29
29
  ```tsx
30
- <Avatar>
30
+ <Avatar>
31
31
  <AvatarImage src=
32
32
  ```
33
33
  ```tsx
34
- <Avatar>
35
- <AvatarFallback>JD</AvatarFallback>
34
+ <Avatar>
35
+ <AvatarFallback>JD</AvatarFallback>
36
36
  </Avatar>
37
37
  ```
38
38
 
@@ -41,7 +41,7 @@ import { Avatar, AvatarImage, AvatarFallback } from "forlogic-core"
41
41
  - Fallback garante que o conteúdo seja sempre exibido
42
42
  - Estrutura HTML semântica
43
43
 
44
- > Fonte: `src/design-system/docs/components/AvatarDoc.tsx`
44
+ > Fonte: `src\design-system\docs\components\AvatarDoc.tsx`
45
45
 
46
46
  ---
47
47
 
@@ -51,26 +51,26 @@ Exibe um badge ou um componente que se parece com um badge.
51
51
 
52
52
  **Uso:**
53
53
  ```tsx
54
- import { Badge, StatusBadge, createStatusConfig } from "forlogic-core"
55
-
56
- // Badge genérico
57
- <Badge>Badge</Badge>
58
- <Badge variant="success">Aprovado</Badge>
59
-
60
- // Status Badge — uso direto
61
- <StatusBadge label="Em Execução" color="#2E7D5B" icon={Play} />
62
-
63
- // Status Badge — com createStatusConfig
64
- const getStatus = createStatusConfig({
65
- pending: { label: 'Pendente', color: '#8B7355', icon: Clock },
66
- approved: { label: 'Aprovado', color: '#3D7A40', icon: CheckCircle2 },
67
- });
54
+ import { Badge, StatusBadge, createStatusConfig } from "forlogic-core"
55
+
56
+ // Badge genérico
57
+ <Badge>Badge</Badge>
58
+ <Badge variant="success">Aprovado</Badge>
59
+
60
+ // Status Badge — uso direto
61
+ <StatusBadge label="Em Execução" color="#2E7D5B" icon={Play} />
62
+
63
+ // Status Badge — com createStatusConfig
64
+ const getStatus = createStatusConfig({
65
+ pending: { label: 'Pendente', color: '#8B7355', icon: Clock },
66
+ approved: { label: 'Aprovado', color: '#3D7A40', icon: CheckCircle2 },
67
+ });
68
68
  <StatusBadge {...getStatus('pending')} />
69
69
  ```
70
70
 
71
71
  **Exemplos:**
72
72
  ```tsx
73
- <Badge>Default</Badge>
73
+ <Badge>Default</Badge>
74
74
  <Badge variant=
75
75
  ```
76
76
  ```tsx
@@ -91,7 +91,7 @@ import { StatusBadge, createStatusConfig } from
91
91
  - Funciona com leitores de tela
92
92
  - Pode ser tornado interativo com labels ARIA adequadas se necessário
93
93
 
94
- > Fonte: `src/design-system/docs/components/BadgeDoc.tsx`
94
+ > Fonte: `src\design-system\docs\components\BadgeDoc.tsx`
95
95
 
96
96
  ---
97
97
 
@@ -101,19 +101,19 @@ Exibe um card com cabeçalho, conteúdo e rodapé.
101
101
 
102
102
  **Uso:**
103
103
  ```tsx
104
- import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from "forlogic-core"
105
-
106
- <Card>
107
- <CardHeader>
108
- <CardTitle>Card Title</CardTitle>
109
- <CardDescription>Card Description</CardDescription>
110
- </CardHeader>
111
- <CardContent>
112
- <p>Card Content</p>
113
- </CardContent>
114
- <CardFooter>
115
- <p>Card Footer</p>
116
- </CardFooter>
104
+ import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from "forlogic-core"
105
+
106
+ <Card>
107
+ <CardHeader>
108
+ <CardTitle>Card Title</CardTitle>
109
+ <CardDescription>Card Description</CardDescription>
110
+ </CardHeader>
111
+ <CardContent>
112
+ <p>Card Content</p>
113
+ </CardContent>
114
+ <CardFooter>
115
+ <p>Card Footer</p>
116
+ </CardFooter>
117
117
  </Card>
118
118
  ```
119
119
 
@@ -128,7 +128,7 @@ import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter }
128
128
  - Contraste de cores acessível
129
129
  - Funciona com leitores de tela
130
130
 
131
- > Fonte: `src/design-system/docs/components/CardDoc.tsx`
131
+ > Fonte: `src\design-system\docs\components\CardDoc.tsx`
132
132
 
133
133
  ---
134
134
 
@@ -138,18 +138,18 @@ Sistema de lista de dados com composição de componentes. Ideal para exibir inf
138
138
 
139
139
  **Uso:**
140
140
  ```tsx
141
- import { DataList, Badge } from "forlogic-core"
142
-
143
- <DataList.Root>
144
- <DataList.Item onClick={() => console.log('clicked')}>
145
- <DataList.Field label="Nome" value="João Silva" />
146
- <DataList.Field label="Email" value="joao@exemplo.com" />
147
- <DataList.Field label="Status" value={<Badge>Ativo</Badge>} />
148
- </DataList.Item>
149
- <DataList.Item>
150
- <DataList.Field label="Nome" value="Maria Santos" />
151
- <DataList.Field label="Email" value="maria@exemplo.com" />
152
- </DataList.Item>
141
+ import { DataList, Badge } from "forlogic-core"
142
+
143
+ <DataList.Root>
144
+ <DataList.Item onClick={() => console.log('clicked')}>
145
+ <DataList.Field label="Nome" value="João Silva" />
146
+ <DataList.Field label="Email" value="joao@exemplo.com" />
147
+ <DataList.Field label="Status" value={<Badge>Ativo</Badge>} />
148
+ </DataList.Item>
149
+ <DataList.Item>
150
+ <DataList.Field label="Nome" value="Maria Santos" />
151
+ <DataList.Field label="Email" value="maria@exemplo.com" />
152
+ </DataList.Item>
153
153
  </DataList.Root>
154
154
  ```
155
155
 
@@ -172,7 +172,7 @@ import { DataList, Badge } from "forlogic-core"
172
172
  - 💡 Field.value aceita ReactNode - use Badge, Button, etc.
173
173
  - 💡 onClick em Item adiciona hover state automaticamente
174
174
 
175
- > Fonte: `src/design-system/docs/components/DataListDoc.tsx`
175
+ > Fonte: `src\design-system\docs\components\DataListDoc.tsx`
176
176
 
177
177
  ---
178
178
 
@@ -182,40 +182,40 @@ Componente para exibir estados vazios com ícone, mensagem e ação opcional.
182
182
 
183
183
  **Uso:**
184
184
  ```tsx
185
- import { EmptyState } from "forlogic-core"
186
-
187
- // Estado vazio padrão
188
- <EmptyState
189
- title="Nenhum item encontrado"
190
- description="Adicione seu primeiro item para começar"
191
- action={{
192
- label: "Adicionar Item",
193
- onClick: () => handleAddItem()
194
- }}
195
- />
196
-
197
- // Sem resultados de busca
198
- <EmptyState
199
- variant="search"
200
- title="Nenhum resultado encontrado"
201
- description="Tente ajustar sua busca"
202
- />
203
-
204
- // Estado de erro
205
- <EmptyState
206
- variant="error"
207
- title="Erro ao carregar dados"
208
- description="Não foi possível carregar as informações"
209
- action={{
210
- label: "Tentar Novamente",
211
- onClick: () => refetch()
212
- }}
213
- />
214
-
215
- // Ícone customizado
216
- <EmptyState
217
- icon={<Package className="h-8 w-8" />}
218
- title="Sem produtos"
185
+ import { EmptyState } from "forlogic-core"
186
+
187
+ // Estado vazio padrão
188
+ <EmptyState
189
+ title="Nenhum item encontrado"
190
+ description="Adicione seu primeiro item para começar"
191
+ action={{
192
+ label: "Adicionar Item",
193
+ onClick: () => handleAddItem()
194
+ }}
195
+ />
196
+
197
+ // Sem resultados de busca
198
+ <EmptyState
199
+ variant="search"
200
+ title="Nenhum resultado encontrado"
201
+ description="Tente ajustar sua busca"
202
+ />
203
+
204
+ // Estado de erro
205
+ <EmptyState
206
+ variant="error"
207
+ title="Erro ao carregar dados"
208
+ description="Não foi possível carregar as informações"
209
+ action={{
210
+ label: "Tentar Novamente",
211
+ onClick: () => refetch()
212
+ }}
213
+ />
214
+
215
+ // Ícone customizado
216
+ <EmptyState
217
+ icon={<Package className="h-8 w-8" />}
218
+ title="Sem produtos"
219
219
  />
220
220
  ```
221
221
 
@@ -234,7 +234,7 @@ import { EmptyState } from "forlogic-core"
234
234
  - Centralizado e responsivo
235
235
  - Suporte a ícone customizado
236
236
 
237
- > Fonte: `src/design-system/docs/components/EmptyStateDoc.tsx`
237
+ > Fonte: `src\design-system\docs\components\EmptyStateDoc.tsx`
238
238
 
239
239
  ---
240
240
 
@@ -244,9 +244,9 @@ Separa visual ou semanticamente o conteúdo.
244
244
 
245
245
  **Uso:**
246
246
  ```tsx
247
- import { Separator } from "forlogic-core"
248
-
249
- <Separator />
247
+ import { Separator } from "forlogic-core"
248
+
249
+ <Separator />
250
250
  <Separator orientation="vertical" />
251
251
  ```
252
252
 
@@ -268,7 +268,7 @@ import { Separator } from "forlogic-core"
268
268
  - Pode ser decorativo ou estrutural
269
269
  - Atributos ARIA adequados
270
270
 
271
- > Fonte: `src/design-system/docs/components/SeparatorDoc.tsx`
271
+ > Fonte: `src\design-system\docs\components\SeparatorDoc.tsx`
272
272
 
273
273
  ---
274
274
 
@@ -278,8 +278,8 @@ Exibe um indicador mostrando o progresso de conclusão de uma tarefa, tipicament
278
278
 
279
279
  **Uso:**
280
280
  ```tsx
281
- import { Progress } from "forlogic-core"
282
-
281
+ import { Progress } from "forlogic-core"
282
+
283
283
  <Progress value={60} />
284
284
  ```
285
285
 
@@ -306,7 +306,7 @@ import { Progress } from "forlogic-core"
306
306
  - Ajuste a altura via className (h-1, h-2, h-4) para diferentes contextos
307
307
  - Para uploads, mostre tamanho atual e total junto com o percentual
308
308
 
309
- > Fonte: `src/design-system/docs/components/ProgressDoc.tsx`
309
+ > Fonte: `src\design-system\docs\components\ProgressDoc.tsx`
310
310
 
311
311
  ---
312
312
 
@@ -316,17 +316,17 @@ Componentes para estados de carregamento: Skeleton (placeholders), Spinner (indi
316
316
 
317
317
  **Uso:**
318
318
  ```tsx
319
- import { Skeleton, Spinner, LoadingState } from "forlogic-core"
320
-
321
- // Skeleton básico
322
- <Skeleton className="h-4 w-[200px]" />
323
-
324
- // Spinner
325
- <Spinner size="md" />
326
-
327
- // LoadingState declarativo
328
- <LoadingState isLoading={isLoading} type="spinner">
329
- <div>Conteúdo carregado</div>
319
+ import { Skeleton, Spinner, LoadingState } from "forlogic-core"
320
+
321
+ // Skeleton básico
322
+ <Skeleton className="h-4 w-[200px]" />
323
+
324
+ // Spinner
325
+ <Spinner size="md" />
326
+
327
+ // LoadingState declarativo
328
+ <LoadingState isLoading={isLoading} type="spinner">
329
+ <div>Conteúdo carregado</div>
330
330
  </LoadingState>
331
331
  ```
332
332
 
@@ -360,6 +360,6 @@ import { Skeleton, Spinner, LoadingState } from "forlogic-core"
360
360
  - **type=
361
361
  - **: Mostra um placeholder animado no lugar dos children.
362
362
 
363
- > Fonte: `src/design-system/docs/components/SkeletonDoc.tsx`
363
+ > Fonte: `src\design-system\docs\components\SkeletonDoc.tsx`
364
364
 
365
365
  ---