@polymorphism-tech/morph-spec 2.2.0 → 2.4.0
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/CLAUDE.md +314 -1673
- package/LICENSE +72 -72
- package/README.md +515 -516
- package/bin/detect-agents.js +225 -225
- package/bin/morph-spec.js +358 -173
- package/bin/render-template.js +302 -302
- package/bin/semantic-detect-agents.js +246 -246
- package/bin/task-manager.js +429 -0
- package/bin/validate-agents-skills.js +251 -251
- package/bin/validate-agents.js +69 -69
- package/bin/validate-phase.js +263 -263
- package/bin/validate.js +369 -0
- package/content/.azure/README.md +293 -293
- package/content/.azure/docs/azure-devops-setup.md +454 -454
- package/content/.azure/docs/branch-strategy.md +398 -398
- package/content/.azure/docs/local-development.md +515 -515
- package/content/.azure/pipelines/pipeline-variables.yml +34 -34
- package/content/.azure/pipelines/prod-pipeline.yml +319 -319
- package/content/.azure/pipelines/staging-pipeline.yml +234 -234
- package/content/.azure/pipelines/templates/build-dotnet.yml +75 -75
- package/content/.azure/pipelines/templates/deploy-app-service.yml +94 -94
- package/content/.azure/pipelines/templates/deploy-container-app.yml +120 -120
- package/content/.azure/pipelines/templates/infra-deploy.yml +90 -90
- package/content/.claude/commands/morph-apply.md +221 -158
- package/content/.claude/commands/morph-archive.md +79 -79
- package/content/.claude/commands/morph-infra.md +209 -209
- package/content/.claude/commands/morph-preflight.md +227 -0
- package/content/.claude/commands/morph-proposal.md +122 -101
- package/content/.claude/commands/morph-status.md +86 -86
- package/content/.claude/commands/morph-troubleshoot.md +122 -0
- package/content/.claude/settings.local.json +15 -15
- package/content/.claude/skills/checklists/code-review.md +226 -0
- package/content/.claude/skills/checklists/morph-checklist.md +117 -0
- package/content/.claude/skills/checklists/simulation-checklist.md +77 -0
- package/content/.claude/skills/infra/bicep-architect.md +126 -419
- package/content/.claude/skills/infra/container-specialist.md +131 -437
- package/content/.claude/skills/infra/devops-engineer.md +119 -405
- package/content/.claude/skills/integrations/asaas-financial.md +130 -333
- package/content/.claude/skills/integrations/azure-identity.md +142 -309
- package/content/.claude/skills/integrations/clerk-auth.md +108 -290
- package/content/.claude/skills/integrations/resend-email.md +119 -0
- package/content/.claude/skills/specialists/ai-system-architect.md +192 -604
- package/content/.claude/skills/specialists/azure-architect.md +142 -142
- package/content/.claude/skills/specialists/code-analyzer.md +235 -0
- package/content/.claude/skills/specialists/dotnet-senior.md +287 -0
- package/content/.claude/skills/specialists/ef-modeler.md +113 -200
- package/content/.claude/skills/specialists/hangfire-orchestrator.md +126 -245
- package/content/.claude/skills/specialists/ms-agent-expert.md +109 -263
- package/content/.claude/skills/specialists/po-pm-advisor.md +197 -197
- package/content/.claude/skills/specialists/standards-architect.md +156 -78
- package/content/.claude/skills/specialists/testing-specialist.md +126 -0
- package/content/.claude/skills/specialists/ui-ux-designer.md +191 -1060
- package/content/.claude/skills/stacks/dotnet-blazor.md +210 -588
- package/content/.claude/skills/stacks/dotnet-nextjs.md +154 -402
- package/content/.claude/skills/workflows/morph-replicate.md +213 -0
- package/content/.claude/{commands/morph-clarify.md → skills/workflows/phase-clarify.md} +5 -58
- package/content/.claude/{commands/morph-design.md → skills/workflows/phase-design.md} +16 -86
- package/content/.claude/{commands/morph-setup.md → skills/workflows/phase-setup.md} +9 -17
- package/content/.claude/skills/workflows/phase-tasks.md +164 -0
- package/content/.claude/{commands/morph-uiux.md → skills/workflows/phase-uiux.md} +15 -88
- package/content/.morph/.morphversion +5 -5
- package/content/.morph/archive/.gitkeep +25 -25
- package/content/.morph/config/agents.json +378 -242
- package/content/.morph/config/config.template.json +89 -108
- package/content/.morph/docs/STORY-DRIVEN-DEVELOPMENT.md +392 -392
- package/content/.morph/docs/workflows/design-impl.md +37 -0
- package/content/.morph/docs/workflows/fast-track.md +29 -0
- package/content/.morph/docs/workflows/full-morph.md +76 -0
- package/content/.morph/docs/workflows/standard.md +44 -0
- package/content/.morph/docs/workflows/ui-refresh.md +39 -0
- package/content/.morph/examples/api-nextjs/README.md +241 -241
- package/content/.morph/examples/api-nextjs/contracts.ts +307 -307
- package/content/.morph/examples/api-nextjs/spec.md +399 -399
- package/content/.morph/examples/api-nextjs/tasks.md +168 -168
- package/content/.morph/examples/micro-saas/README.md +125 -125
- package/content/.morph/examples/micro-saas/contracts.cs +358 -358
- package/content/.morph/examples/micro-saas/decisions.md +246 -246
- package/content/.morph/examples/micro-saas/spec.md +236 -236
- package/content/.morph/examples/micro-saas/tasks.md +150 -150
- package/content/.morph/examples/multi-agent/README.md +309 -309
- package/content/.morph/examples/multi-agent/contracts.cs +433 -433
- package/content/.morph/examples/multi-agent/spec.md +479 -479
- package/content/.morph/examples/multi-agent/tasks.md +185 -185
- package/content/.morph/examples/scheduled-reports/decisions.md +158 -0
- package/content/.morph/examples/scheduled-reports/proposal.md +95 -0
- package/content/.morph/examples/scheduled-reports/spec.md +267 -0
- package/content/.morph/examples/state-v3.json +188 -0
- package/content/.morph/features/.gitkeep +25 -25
- package/content/.morph/hooks/README.md +190 -239
- package/content/.morph/hooks/pre-commit-agents.sh +24 -24
- package/content/.morph/hooks/pre-commit-all.sh +48 -48
- package/content/.morph/hooks/pre-commit-specs.sh +49 -49
- package/content/.morph/hooks/pre-commit-tests.sh +60 -60
- package/content/.morph/project.md +160 -160
- package/content/.morph/schemas/agent.schema.json +296 -296
- package/content/.morph/schemas/tasks.schema.json +220 -0
- package/content/.morph/specs/.gitkeep +20 -20
- package/content/.morph/standards/agent-framework-blazor-ui.md +359 -0
- package/content/.morph/standards/agent-framework-production.md +410 -0
- package/content/.morph/standards/agent-framework-setup.md +413 -453
- package/content/.morph/standards/agent-framework-workflows.md +349 -0
- package/content/.morph/standards/architecture.md +325 -325
- package/content/.morph/standards/azure.md +605 -379
- package/content/.morph/standards/coding.md +377 -377
- package/content/.morph/standards/dotnet10-migration.md +520 -494
- package/content/.morph/standards/fluent-ui-setup.md +590 -590
- package/content/.morph/standards/migration-guide.md +514 -514
- package/content/.morph/standards/passkeys-auth.md +423 -423
- package/content/.morph/standards/vector-search-rag.md +536 -536
- package/content/.morph/state.json +17 -17
- package/content/.morph/templates/FluentDesignTheme.cs +149 -149
- package/content/.morph/templates/MudTheme.cs +281 -281
- package/content/.morph/templates/agent.cs +163 -172
- package/content/.morph/templates/clarify-questions.md +159 -0
- package/content/.morph/templates/component.razor +239 -239
- package/content/.morph/templates/contracts/Commands.cs +74 -0
- package/content/.morph/templates/contracts/Entities.cs +25 -0
- package/content/.morph/templates/contracts/Queries.cs +74 -0
- package/content/.morph/templates/contracts/README.md +74 -0
- package/content/.morph/templates/contracts.cs +217 -217
- package/content/.morph/templates/decisions.md +123 -106
- package/content/.morph/templates/design-system.css +226 -226
- package/content/.morph/templates/infra/.dockerignore.example +89 -89
- package/content/.morph/templates/infra/Dockerfile.example +82 -82
- package/content/.morph/templates/infra/README.md +286 -286
- package/content/.morph/templates/infra/app-insights.bicep +63 -63
- package/content/.morph/templates/infra/app-service.bicep +164 -164
- package/content/.morph/templates/infra/container-app-env.bicep +49 -49
- package/content/.morph/templates/infra/container-app.bicep +156 -156
- package/content/.morph/templates/infra/deploy-checklist.md +426 -0
- package/content/.morph/templates/infra/deploy.ps1 +229 -229
- package/content/.morph/templates/infra/deploy.sh +208 -208
- package/content/.morph/templates/infra/key-vault.bicep +91 -91
- package/content/.morph/templates/infra/main.bicep +189 -189
- package/content/.morph/templates/infra/parameters.dev.json +29 -29
- package/content/.morph/templates/infra/parameters.prod.json +29 -29
- package/content/.morph/templates/infra/parameters.staging.json +29 -29
- package/content/.morph/templates/infra/sql-database.bicep +103 -103
- package/content/.morph/templates/infra/storage.bicep +106 -106
- package/content/.morph/templates/integrations/asaas-client.cs +387 -387
- package/content/.morph/templates/integrations/asaas-webhook.cs +351 -351
- package/content/.morph/templates/integrations/azure-identity-config.cs +288 -288
- package/content/.morph/templates/integrations/clerk-config.cs +258 -258
- package/content/.morph/templates/job.cs +171 -171
- package/content/.morph/templates/migration.cs +83 -83
- package/content/.morph/templates/proposal.md +141 -155
- package/content/.morph/templates/recap.md +94 -105
- package/content/.morph/templates/repository.cs +141 -141
- package/content/.morph/templates/saas/subscription.cs +347 -347
- package/content/.morph/templates/saas/tenant.cs +338 -338
- package/content/.morph/templates/service.cs +139 -139
- package/content/.morph/templates/simulation.md +353 -0
- package/content/.morph/templates/spec.md +149 -148
- package/content/.morph/templates/sprint-status.yaml +68 -68
- package/content/.morph/templates/state.template.json +222 -222
- package/content/.morph/templates/story.md +143 -143
- package/content/.morph/templates/tasks.md +257 -235
- package/content/.morph/templates/test.cs +239 -239
- package/content/.morph/templates/ui-components.md +362 -276
- package/content/.morph/templates/ui-design-system.md +286 -286
- package/content/.morph/templates/ui-flows.md +336 -336
- package/content/.morph/templates/ui-mockups.md +133 -133
- package/content/.morph/test-infra/example.bicep +59 -59
- package/content/CLAUDE.md +150 -442
- package/content/README.md +79 -79
- package/detectors/config-detector.js +223 -223
- package/detectors/conversation-analyzer.js +163 -163
- package/detectors/index.js +84 -84
- package/detectors/standards-generator.js +275 -275
- package/detectors/structure-detector.js +245 -250
- package/docs/README.md +144 -149
- package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +977 -977
- package/docs/api/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +1048 -1048
- package/docs/api/scripts/collapse.js +38 -38
- package/docs/api/scripts/commonNav.js +28 -28
- package/docs/api/scripts/linenumber.js +25 -25
- package/docs/api/scripts/nav.js +12 -12
- package/docs/api/scripts/polyfill.js +3 -3
- package/docs/api/scripts/prettify/Apache-License-2.0.txt +202 -202
- package/docs/api/scripts/prettify/lang-css.js +2 -2
- package/docs/api/scripts/prettify/prettify.js +28 -28
- package/docs/api/scripts/search.js +98 -98
- package/docs/api/styles/jsdoc.css +776 -776
- package/docs/api/styles/prettify.css +80 -80
- package/docs/examples.md +328 -328
- package/docs/getting-started.md +301 -302
- package/docs/installation.md +361 -361
- package/docs/templates.md +418 -418
- package/docs/validation-checklist.md +265 -266
- package/package.json +80 -80
- package/scripts/postinstall.js +132 -132
- package/src/commands/advance-phase.js +183 -0
- package/src/commands/analyze-blazor-concurrency.js +193 -0
- package/src/commands/create-story.js +351 -351
- package/src/commands/detect-agents.js +139 -0
- package/src/commands/detect.js +104 -104
- package/src/commands/doctor.js +356 -280
- package/src/commands/generate.js +149 -149
- package/src/commands/init.js +258 -245
- package/src/commands/lint-fluent.js +352 -0
- package/src/commands/rollback-phase.js +185 -0
- package/src/commands/session-summary.js +291 -0
- package/src/commands/shard-spec.js +224 -224
- package/src/commands/sprint-status.js +250 -250
- package/src/commands/state.js +333 -333
- package/src/commands/sync.js +167 -167
- package/src/commands/task.js +78 -0
- package/src/commands/troubleshoot.js +222 -0
- package/src/commands/update.js +192 -159
- package/src/commands/validate-blazor-state.js +210 -0
- package/src/commands/validate-blazor.js +156 -0
- package/src/commands/validate-css.js +84 -0
- package/src/commands/validate-phase.js +221 -0
- package/src/lib/blazor-concurrency-analyzer.js +288 -0
- package/src/lib/blazor-state-validator.js +291 -0
- package/src/lib/blazor-validator.js +374 -0
- package/src/lib/complexity-analyzer.js +441 -292
- package/src/lib/continuous-validator.js +421 -0
- package/src/lib/css-validator.js +352 -0
- package/src/lib/decision-constraint-loader.js +109 -0
- package/src/lib/design-system-generator.js +298 -298
- package/src/lib/learning-system.js +520 -0
- package/src/lib/mockup-generator.js +366 -0
- package/src/lib/recap-generator.js +205 -0
- package/src/lib/state-manager.js +397 -340
- package/src/lib/troubleshoot-grep.js +194 -0
- package/src/lib/troubleshoot-index.js +144 -0
- package/src/lib/ui-detector.js +350 -0
- package/src/lib/validation-runner.js +231 -0
- package/src/lib/validators/architecture-validator.js +387 -0
- package/src/lib/validators/contract-compliance-validator.js +273 -0
- package/src/lib/validators/package-validator.js +360 -0
- package/src/lib/validators/ui-contrast-validator.js +422 -0
- package/src/utils/file-copier.js +179 -139
- package/src/utils/logger.js +32 -32
- package/src/utils/version-checker.js +175 -175
- package/content/.claude/commands/morph-costs.md +0 -206
- package/content/.claude/commands/morph-tasks.md +0 -319
- package/content/.claude/skills/specialists/cost-guardian.md +0 -110
- package/content/.claude/skills/stacks/shopify.md +0 -445
- package/content/.morph/config/azure-pricing.json +0 -70
- package/content/.morph/config/azure-pricing.schema.json +0 -50
- package/content/.morph/hooks/pre-commit-costs.sh +0 -91
- package/docs/api/cost-calculator.js.html +0 -513
- package/docs/api/design-system-generator.js.html +0 -382
- package/docs/api/global.html +0 -5263
- package/docs/api/index.html +0 -96
- package/docs/api/state-manager.js.html +0 -423
- package/src/commands/cost.js +0 -181
- package/src/commands/update-pricing.js +0 -206
- package/src/lib/cost-calculator.js +0 -429
|
@@ -1,286 +1,286 @@
|
|
|
1
|
-
# UI Design System - {Project Name}
|
|
2
|
-
|
|
3
|
-
> Design system do projeto: cores, tipografia, espaçamento e padrões visuais.
|
|
4
|
-
> Este arquivo é a fonte da verdade para todos os aspectos visuais do projeto.
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## 🎨 Paleta de Cores
|
|
9
|
-
|
|
10
|
-
### Cores Principais
|
|
11
|
-
|
|
12
|
-
| Uso | Cor | Hex | RGB | Preview |
|
|
13
|
-
|-----|-----|-----|-----|---------|
|
|
14
|
-
| **Primária** | {Nome da cor} | `#{hex}` | `rgb({r}, {g}, {b})` | ███ |
|
|
15
|
-
| **Secundária** | {Nome da cor} | `#{hex}` | `rgb({r}, {g}, {b})` | ███ |
|
|
16
|
-
|
|
17
|
-
**Exemplo:**
|
|
18
|
-
| Uso | Cor | Hex | RGB | Preview |
|
|
19
|
-
|-----|-----|-----|-----|---------|
|
|
20
|
-
| **Primária** | Blue | `#3b82f6` | `rgb(59, 130, 246)` | 🔵 |
|
|
21
|
-
| **Secundária** | Gray | `#6b7280` | `rgb(107, 114, 128)` | ⚫ |
|
|
22
|
-
|
|
23
|
-
### Cores de Estado
|
|
24
|
-
|
|
25
|
-
| Estado | Cor | Hex | RGB | Uso |
|
|
26
|
-
|--------|-----|-----|-----|-----|
|
|
27
|
-
| **Sucesso** | {Cor} | `#{hex}` | `rgb({r}, {g}, {b})` | Confirmações, operações bem-sucedidas |
|
|
28
|
-
| **Erro** | {Cor} | `#{hex}` | `rgb({r}, {g}, {b})` | Erros, validações falhas |
|
|
29
|
-
| **Warning** | {Cor} | `#{hex}` | `rgb({r}, {g}, {b})` | Avisos, atenção necessária |
|
|
30
|
-
| **Info** | {Cor} | `#{hex}` | `rgb({r}, {g}, {b})` | Informações, dicas |
|
|
31
|
-
|
|
32
|
-
**Exemplo (Tailwind):**
|
|
33
|
-
| Estado | Cor | Hex | RGB | Uso |
|
|
34
|
-
|--------|-----|-----|-----|-----|
|
|
35
|
-
| **Sucesso** | Green | `#10b981` | `rgb(16, 185, 129)` | Confirmações |
|
|
36
|
-
| **Erro** | Red | `#ef4444` | `rgb(239, 68, 68)` | Erros |
|
|
37
|
-
| **Warning** | Amber | `#f59e0b` | `rgb(245, 158, 11)` | Avisos |
|
|
38
|
-
| **Info** | Cyan | `#06b6d4` | `rgb(6, 182, 212)` | Informações |
|
|
39
|
-
|
|
40
|
-
### Escala de Neutros (Cinzas)
|
|
41
|
-
|
|
42
|
-
| Shade | Hex | RGB | Uso |
|
|
43
|
-
|-------|-----|-----|-----|
|
|
44
|
-
| **50** | `#{hex}` | `rgb({r}, {g}, {b})` | Fundos muito claros |
|
|
45
|
-
| **100** | `#{hex}` | `rgb({r}, {g}, {b})` | Fundos claros |
|
|
46
|
-
| **200** | `#{hex}` | `rgb({r}, {g}, {b})` | Bordas suaves |
|
|
47
|
-
| **300** | `#{hex}` | `rgb({r}, {g}, {b})` | Bordas padrão |
|
|
48
|
-
| **400** | `#{hex}` | `rgb({r}, {g}, {b})` | Texto desabilitado |
|
|
49
|
-
| **500** | `#{hex}` | `rgb({r}, {g}, {b})` | Texto secundário |
|
|
50
|
-
| **600** | `#{hex}` | `rgb({r}, {g}, {b})` | Texto placeholder |
|
|
51
|
-
| **700** | `#{hex}` | `rgb({r}, {g}, {b})` | Texto principal |
|
|
52
|
-
| **800** | `#{hex}` | `rgb({r}, {g}, {b})` | Texto ênfase |
|
|
53
|
-
| **900** | `#{hex}` | `rgb({r}, {g}, {b})` | Texto super ênfase |
|
|
54
|
-
|
|
55
|
-
**Exemplo (Tailwind Gray):**
|
|
56
|
-
| Shade | Hex | RGB |
|
|
57
|
-
|-------|-----|-----|
|
|
58
|
-
| **50** | `#f9fafb` | `rgb(249, 250, 251)` |
|
|
59
|
-
| **100** | `#f3f4f6` | `rgb(243, 244, 246)` |
|
|
60
|
-
| **500** | `#6b7280` | `rgb(107, 114, 128)` |
|
|
61
|
-
| **900** | `#111827` | `rgb(17, 24, 39)` |
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
## 🔤 Tipografia
|
|
66
|
-
|
|
67
|
-
### Fontes
|
|
68
|
-
|
|
69
|
-
| Tipo | Font Family | Stack Completo | Uso |
|
|
70
|
-
|------|-------------|----------------|-----|
|
|
71
|
-
| **Sans-serif** | {Font} | `'{Font}', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif` | Texto principal, UI |
|
|
72
|
-
| **Serif** | {Font} | `'{Font}', Georgia, serif` | Títulos, ênfase (opcional) |
|
|
73
|
-
| **Monospace** | {Font} | `'{Font}', 'Courier New', monospace` | Código, dados técnicos |
|
|
74
|
-
|
|
75
|
-
**Exemplo:**
|
|
76
|
-
| Tipo | Font Family | Stack | Uso |
|
|
77
|
-
|------|-------------|-------|-----|
|
|
78
|
-
| **Sans-serif** | Inter | `'Inter', -apple-system, sans-serif` | Texto principal |
|
|
79
|
-
| **Monospace** | Fira Code | `'Fira Code', 'Courier New', monospace` | Código |
|
|
80
|
-
|
|
81
|
-
### Escala de Tamanhos
|
|
82
|
-
|
|
83
|
-
| Size | Valor | Line Height | Uso |
|
|
84
|
-
|------|-------|-------------|-----|
|
|
85
|
-
| **xs** | `{size}` | `{height}` | Texto muito pequeno, labels |
|
|
86
|
-
| **sm** | `{size}` | `{height}` | Texto pequeno, captions |
|
|
87
|
-
| **base** | `{size}` | `{height}` | Texto padrão, body |
|
|
88
|
-
| **lg** | `{size}` | `{height}` | Texto grande, leads |
|
|
89
|
-
| **xl** | `{size}` | `{height}` | Títulos H4 |
|
|
90
|
-
| **2xl** | `{size}` | `{height}` | Títulos H3 |
|
|
91
|
-
| **3xl** | `{size}` | `{height}` | Títulos H2 |
|
|
92
|
-
| **4xl** | `{size}` | `{height}` | Títulos H1 |
|
|
93
|
-
| **5xl** | `{size}` | `{height}` | Display text |
|
|
94
|
-
|
|
95
|
-
**Exemplo (Tailwind):**
|
|
96
|
-
| Size | Valor | Line Height |
|
|
97
|
-
|------|-------|-------------|
|
|
98
|
-
| **xs** | `0.75rem` (12px) | `1rem` (16px) |
|
|
99
|
-
| **sm** | `0.875rem` (14px) | `1.25rem` (20px) |
|
|
100
|
-
| **base** | `1rem` (16px) | `1.5rem` (24px) |
|
|
101
|
-
| **lg** | `1.125rem` (18px) | `1.75rem` (28px) |
|
|
102
|
-
| **xl** | `1.25rem` (20px) | `1.75rem` (28px) |
|
|
103
|
-
| **4xl** | `2.25rem` (36px) | `2.5rem` (40px) |
|
|
104
|
-
|
|
105
|
-
### Pesos (Font Weight)
|
|
106
|
-
|
|
107
|
-
| Weight | Valor | Uso |
|
|
108
|
-
|--------|-------|-----|
|
|
109
|
-
| **Light** | `300` | Texto decorativo, opcional |
|
|
110
|
-
| **Regular** | `400` | Texto padrão |
|
|
111
|
-
| **Medium** | `500` | Texto com ênfase leve |
|
|
112
|
-
| **Semibold** | `600` | Botões, labels importantes |
|
|
113
|
-
| **Bold** | `700` | Títulos, ênfase forte |
|
|
114
|
-
|
|
115
|
-
---
|
|
116
|
-
|
|
117
|
-
## 📏 Espaçamento
|
|
118
|
-
|
|
119
|
-
### Sistema Base
|
|
120
|
-
|
|
121
|
-
**Unidade base:** `{value}` (ex: 4px, 8px)
|
|
122
|
-
**Escala:** Múltiplos da unidade base
|
|
123
|
-
|
|
124
|
-
| Token | Valor | Pixels | Uso |
|
|
125
|
-
|-------|-------|--------|-----|
|
|
126
|
-
| **0** | `0` | 0px | Sem espaçamento |
|
|
127
|
-
| **1** | `{base * 1}` | {px} | Espaço mínimo |
|
|
128
|
-
| **2** | `{base * 2}` | {px} | Espaço pequeno |
|
|
129
|
-
| **3** | `{base * 3}` | {px} | Espaço médio-pequeno |
|
|
130
|
-
| **4** | `{base * 4}` | {px} | Espaço médio |
|
|
131
|
-
| **5** | `{base * 5}` | {px} | Espaço médio-grande |
|
|
132
|
-
| **6** | `{base * 6}` | {px} | Espaço grande |
|
|
133
|
-
| **8** | `{base * 8}` | {px} | Espaço muito grande |
|
|
134
|
-
| **10** | `{base * 10}` | {px} | Espaço extra grande |
|
|
135
|
-
| **12** | `{base * 12}` | {px} | Espaço gigante |
|
|
136
|
-
|
|
137
|
-
**Exemplo (base 4px = 0.25rem):**
|
|
138
|
-
| Token | Valor | Pixels | Uso |
|
|
139
|
-
|-------|-------|--------|-----|
|
|
140
|
-
| **1** | `0.25rem` | 4px | Gap mínimo entre ícones |
|
|
141
|
-
| **2** | `0.5rem` | 8px | Padding interno de botões |
|
|
142
|
-
| **4** | `1rem` | 16px | Padding padrão de cards |
|
|
143
|
-
| **6** | `1.5rem` | 24px | Margin entre seções |
|
|
144
|
-
| **8** | `2rem` | 32px | Margin grande entre blocos |
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
## 🔲 Border Radius
|
|
149
|
-
|
|
150
|
-
| Size | Valor | Uso |
|
|
151
|
-
|------|-------|-----|
|
|
152
|
-
| **none** | `0` | Sem arredondamento |
|
|
153
|
-
| **sm** | `{value}` | Arredondamento sutil |
|
|
154
|
-
| **md** | `{value}` | Arredondamento padrão |
|
|
155
|
-
| **lg** | `{value}` | Arredondamento pronunciado |
|
|
156
|
-
| **xl** | `{value}` | Muito arredondado |
|
|
157
|
-
| **full** | `9999px` | Circular (botões redondos, avatares) |
|
|
158
|
-
|
|
159
|
-
**Exemplo:**
|
|
160
|
-
| Size | Valor | Uso |
|
|
161
|
-
|------|-------|-----|
|
|
162
|
-
| **sm** | `0.125rem` (2px) | Inputs, tabelas |
|
|
163
|
-
| **md** | `0.375rem` (6px) | Botões, cards |
|
|
164
|
-
| **lg** | `0.5rem` (8px) | Modais, containers |
|
|
165
|
-
| **full** | `9999px` | Avatares, badges circulares |
|
|
166
|
-
|
|
167
|
-
---
|
|
168
|
-
|
|
169
|
-
## 🌑 Sombras (Shadows)
|
|
170
|
-
|
|
171
|
-
| Size | Valor | Uso |
|
|
172
|
-
|------|-------|-----|
|
|
173
|
-
| **sm** | `{shadow}` | Sombra sutil (hover) |
|
|
174
|
-
| **md** | `{shadow}` | Sombra padrão (cards) |
|
|
175
|
-
| **lg** | `{shadow}` | Sombra pronunciada (modals) |
|
|
176
|
-
| **xl** | `{shadow}` | Sombra forte (dropdowns) |
|
|
177
|
-
|
|
178
|
-
**Exemplo (Tailwind):**
|
|
179
|
-
| Size | Valor |
|
|
180
|
-
|------|-------|
|
|
181
|
-
| **sm** | `0 1px 2px 0 rgba(0, 0, 0, 0.05)` |
|
|
182
|
-
| **md** | `0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)` |
|
|
183
|
-
| **lg** | `0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)` |
|
|
184
|
-
|
|
185
|
-
---
|
|
186
|
-
|
|
187
|
-
## 📱 Breakpoints (Responsive)
|
|
188
|
-
|
|
189
|
-
| Breakpoint | Min Width | Dispositivos |
|
|
190
|
-
|------------|-----------|--------------|
|
|
191
|
-
| **xs** | `0px` | Mobile portrait (padrão) |
|
|
192
|
-
| **sm** | `{value}` | Mobile landscape / Tablet pequeno |
|
|
193
|
-
| **md** | `{value}` | Tablet |
|
|
194
|
-
| **lg** | `{value}` | Desktop pequeno |
|
|
195
|
-
| **xl** | `{value}` | Desktop grande |
|
|
196
|
-
| **2xl** | `{value}` | Desktop muito grande |
|
|
197
|
-
|
|
198
|
-
**Exemplo (Tailwind):**
|
|
199
|
-
| Breakpoint | Min Width |
|
|
200
|
-
|------------|-----------|
|
|
201
|
-
| **sm** | `640px` |
|
|
202
|
-
| **md** | `768px` |
|
|
203
|
-
| **lg** | `1024px` |
|
|
204
|
-
| **xl** | `1280px` |
|
|
205
|
-
| **2xl** | `1536px` |
|
|
206
|
-
|
|
207
|
-
---
|
|
208
|
-
|
|
209
|
-
## 🎯 Aplicação no Código
|
|
210
|
-
|
|
211
|
-
### CSS Variables (Recomendado)
|
|
212
|
-
|
|
213
|
-
Ver template: `design-system.css`
|
|
214
|
-
|
|
215
|
-
```css
|
|
216
|
-
:root {
|
|
217
|
-
/* Cores */
|
|
218
|
-
--color-primary: #{hex};
|
|
219
|
-
--color-secondary: #{hex};
|
|
220
|
-
|
|
221
|
-
/* Tipografia */
|
|
222
|
-
--font-sans: '{Font}', sans-serif;
|
|
223
|
-
--text-base: 1rem;
|
|
224
|
-
|
|
225
|
-
/* Espaçamento */
|
|
226
|
-
--space-4: 1rem;
|
|
227
|
-
}
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
### Fluent UI Theme (se Fluent UI)
|
|
231
|
-
|
|
232
|
-
Ver template: `FluentDesignTheme.cs`
|
|
233
|
-
|
|
234
|
-
```csharp
|
|
235
|
-
public static class FluentDesignTheme
|
|
236
|
-
{
|
|
237
|
-
public static DesignThemePalette GetPalette() => new()
|
|
238
|
-
{
|
|
239
|
-
Primary = "#{cor primária}",
|
|
240
|
-
// ...
|
|
241
|
-
};
|
|
242
|
-
}
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
### MudBlazor Theme (se MudBlazor)
|
|
246
|
-
|
|
247
|
-
Ver template: `MudTheme.cs`
|
|
248
|
-
|
|
249
|
-
```csharp
|
|
250
|
-
public static MudTheme Theme => new()
|
|
251
|
-
{
|
|
252
|
-
Palette = new PaletteLight
|
|
253
|
-
{
|
|
254
|
-
Primary = "#{cor primária}",
|
|
255
|
-
// ...
|
|
256
|
-
}
|
|
257
|
-
};
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
---
|
|
261
|
-
|
|
262
|
-
## 📋 Checklist de Consistência
|
|
263
|
-
|
|
264
|
-
- [ ] Todas as cores têm hex + rgb documentados
|
|
265
|
-
- [ ] Escala de neutros completa (50-900)
|
|
266
|
-
- [ ] Fontes têm fallback stacks completos
|
|
267
|
-
- [ ] Escala de tamanhos cobre todos os casos (xs até 5xl)
|
|
268
|
-
- [ ] Espaçamento usa múltiplos da unidade base
|
|
269
|
-
- [ ] Border radius tem tamanhos sm, md, lg, full
|
|
270
|
-
- [ ] Sombras têm variações de intensidade
|
|
271
|
-
- [ ] Breakpoints cobrem mobile até desktop grande
|
|
272
|
-
- [ ] Design system será implementado na FASE 5 (arquivos CSS/C#)
|
|
273
|
-
|
|
274
|
-
---
|
|
275
|
-
|
|
276
|
-
## 🔗 Referências
|
|
277
|
-
|
|
278
|
-
- [Fluent Design System](https://fluent2.microsoft.design/)
|
|
279
|
-
- [Material Design](https://m3.material.io/)
|
|
280
|
-
- [Tailwind CSS Palette](https://tailwindcss.com/docs/customizing-colors)
|
|
281
|
-
- [Type Scale](https://type-scale.com/)
|
|
282
|
-
- [Modular Scale](https://www.modularscale.com/)
|
|
283
|
-
|
|
284
|
-
---
|
|
285
|
-
|
|
286
|
-
*Template MORPH-SPEC v2.1.1 by Polymorphism Tech*
|
|
1
|
+
# UI Design System - {Project Name}
|
|
2
|
+
|
|
3
|
+
> Design system do projeto: cores, tipografia, espaçamento e padrões visuais.
|
|
4
|
+
> Este arquivo é a fonte da verdade para todos os aspectos visuais do projeto.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 🎨 Paleta de Cores
|
|
9
|
+
|
|
10
|
+
### Cores Principais
|
|
11
|
+
|
|
12
|
+
| Uso | Cor | Hex | RGB | Preview |
|
|
13
|
+
|-----|-----|-----|-----|---------|
|
|
14
|
+
| **Primária** | {Nome da cor} | `#{hex}` | `rgb({r}, {g}, {b})` | ███ |
|
|
15
|
+
| **Secundária** | {Nome da cor} | `#{hex}` | `rgb({r}, {g}, {b})` | ███ |
|
|
16
|
+
|
|
17
|
+
**Exemplo:**
|
|
18
|
+
| Uso | Cor | Hex | RGB | Preview |
|
|
19
|
+
|-----|-----|-----|-----|---------|
|
|
20
|
+
| **Primária** | Blue | `#3b82f6` | `rgb(59, 130, 246)` | 🔵 |
|
|
21
|
+
| **Secundária** | Gray | `#6b7280` | `rgb(107, 114, 128)` | ⚫ |
|
|
22
|
+
|
|
23
|
+
### Cores de Estado
|
|
24
|
+
|
|
25
|
+
| Estado | Cor | Hex | RGB | Uso |
|
|
26
|
+
|--------|-----|-----|-----|-----|
|
|
27
|
+
| **Sucesso** | {Cor} | `#{hex}` | `rgb({r}, {g}, {b})` | Confirmações, operações bem-sucedidas |
|
|
28
|
+
| **Erro** | {Cor} | `#{hex}` | `rgb({r}, {g}, {b})` | Erros, validações falhas |
|
|
29
|
+
| **Warning** | {Cor} | `#{hex}` | `rgb({r}, {g}, {b})` | Avisos, atenção necessária |
|
|
30
|
+
| **Info** | {Cor} | `#{hex}` | `rgb({r}, {g}, {b})` | Informações, dicas |
|
|
31
|
+
|
|
32
|
+
**Exemplo (Tailwind):**
|
|
33
|
+
| Estado | Cor | Hex | RGB | Uso |
|
|
34
|
+
|--------|-----|-----|-----|-----|
|
|
35
|
+
| **Sucesso** | Green | `#10b981` | `rgb(16, 185, 129)` | Confirmações |
|
|
36
|
+
| **Erro** | Red | `#ef4444` | `rgb(239, 68, 68)` | Erros |
|
|
37
|
+
| **Warning** | Amber | `#f59e0b` | `rgb(245, 158, 11)` | Avisos |
|
|
38
|
+
| **Info** | Cyan | `#06b6d4` | `rgb(6, 182, 212)` | Informações |
|
|
39
|
+
|
|
40
|
+
### Escala de Neutros (Cinzas)
|
|
41
|
+
|
|
42
|
+
| Shade | Hex | RGB | Uso |
|
|
43
|
+
|-------|-----|-----|-----|
|
|
44
|
+
| **50** | `#{hex}` | `rgb({r}, {g}, {b})` | Fundos muito claros |
|
|
45
|
+
| **100** | `#{hex}` | `rgb({r}, {g}, {b})` | Fundos claros |
|
|
46
|
+
| **200** | `#{hex}` | `rgb({r}, {g}, {b})` | Bordas suaves |
|
|
47
|
+
| **300** | `#{hex}` | `rgb({r}, {g}, {b})` | Bordas padrão |
|
|
48
|
+
| **400** | `#{hex}` | `rgb({r}, {g}, {b})` | Texto desabilitado |
|
|
49
|
+
| **500** | `#{hex}` | `rgb({r}, {g}, {b})` | Texto secundário |
|
|
50
|
+
| **600** | `#{hex}` | `rgb({r}, {g}, {b})` | Texto placeholder |
|
|
51
|
+
| **700** | `#{hex}` | `rgb({r}, {g}, {b})` | Texto principal |
|
|
52
|
+
| **800** | `#{hex}` | `rgb({r}, {g}, {b})` | Texto ênfase |
|
|
53
|
+
| **900** | `#{hex}` | `rgb({r}, {g}, {b})` | Texto super ênfase |
|
|
54
|
+
|
|
55
|
+
**Exemplo (Tailwind Gray):**
|
|
56
|
+
| Shade | Hex | RGB |
|
|
57
|
+
|-------|-----|-----|
|
|
58
|
+
| **50** | `#f9fafb` | `rgb(249, 250, 251)` |
|
|
59
|
+
| **100** | `#f3f4f6` | `rgb(243, 244, 246)` |
|
|
60
|
+
| **500** | `#6b7280` | `rgb(107, 114, 128)` |
|
|
61
|
+
| **900** | `#111827` | `rgb(17, 24, 39)` |
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 🔤 Tipografia
|
|
66
|
+
|
|
67
|
+
### Fontes
|
|
68
|
+
|
|
69
|
+
| Tipo | Font Family | Stack Completo | Uso |
|
|
70
|
+
|------|-------------|----------------|-----|
|
|
71
|
+
| **Sans-serif** | {Font} | `'{Font}', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif` | Texto principal, UI |
|
|
72
|
+
| **Serif** | {Font} | `'{Font}', Georgia, serif` | Títulos, ênfase (opcional) |
|
|
73
|
+
| **Monospace** | {Font} | `'{Font}', 'Courier New', monospace` | Código, dados técnicos |
|
|
74
|
+
|
|
75
|
+
**Exemplo:**
|
|
76
|
+
| Tipo | Font Family | Stack | Uso |
|
|
77
|
+
|------|-------------|-------|-----|
|
|
78
|
+
| **Sans-serif** | Inter | `'Inter', -apple-system, sans-serif` | Texto principal |
|
|
79
|
+
| **Monospace** | Fira Code | `'Fira Code', 'Courier New', monospace` | Código |
|
|
80
|
+
|
|
81
|
+
### Escala de Tamanhos
|
|
82
|
+
|
|
83
|
+
| Size | Valor | Line Height | Uso |
|
|
84
|
+
|------|-------|-------------|-----|
|
|
85
|
+
| **xs** | `{size}` | `{height}` | Texto muito pequeno, labels |
|
|
86
|
+
| **sm** | `{size}` | `{height}` | Texto pequeno, captions |
|
|
87
|
+
| **base** | `{size}` | `{height}` | Texto padrão, body |
|
|
88
|
+
| **lg** | `{size}` | `{height}` | Texto grande, leads |
|
|
89
|
+
| **xl** | `{size}` | `{height}` | Títulos H4 |
|
|
90
|
+
| **2xl** | `{size}` | `{height}` | Títulos H3 |
|
|
91
|
+
| **3xl** | `{size}` | `{height}` | Títulos H2 |
|
|
92
|
+
| **4xl** | `{size}` | `{height}` | Títulos H1 |
|
|
93
|
+
| **5xl** | `{size}` | `{height}` | Display text |
|
|
94
|
+
|
|
95
|
+
**Exemplo (Tailwind):**
|
|
96
|
+
| Size | Valor | Line Height |
|
|
97
|
+
|------|-------|-------------|
|
|
98
|
+
| **xs** | `0.75rem` (12px) | `1rem` (16px) |
|
|
99
|
+
| **sm** | `0.875rem` (14px) | `1.25rem` (20px) |
|
|
100
|
+
| **base** | `1rem` (16px) | `1.5rem` (24px) |
|
|
101
|
+
| **lg** | `1.125rem` (18px) | `1.75rem` (28px) |
|
|
102
|
+
| **xl** | `1.25rem` (20px) | `1.75rem` (28px) |
|
|
103
|
+
| **4xl** | `2.25rem` (36px) | `2.5rem` (40px) |
|
|
104
|
+
|
|
105
|
+
### Pesos (Font Weight)
|
|
106
|
+
|
|
107
|
+
| Weight | Valor | Uso |
|
|
108
|
+
|--------|-------|-----|
|
|
109
|
+
| **Light** | `300` | Texto decorativo, opcional |
|
|
110
|
+
| **Regular** | `400` | Texto padrão |
|
|
111
|
+
| **Medium** | `500` | Texto com ênfase leve |
|
|
112
|
+
| **Semibold** | `600` | Botões, labels importantes |
|
|
113
|
+
| **Bold** | `700` | Títulos, ênfase forte |
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## 📏 Espaçamento
|
|
118
|
+
|
|
119
|
+
### Sistema Base
|
|
120
|
+
|
|
121
|
+
**Unidade base:** `{value}` (ex: 4px, 8px)
|
|
122
|
+
**Escala:** Múltiplos da unidade base
|
|
123
|
+
|
|
124
|
+
| Token | Valor | Pixels | Uso |
|
|
125
|
+
|-------|-------|--------|-----|
|
|
126
|
+
| **0** | `0` | 0px | Sem espaçamento |
|
|
127
|
+
| **1** | `{base * 1}` | {px} | Espaço mínimo |
|
|
128
|
+
| **2** | `{base * 2}` | {px} | Espaço pequeno |
|
|
129
|
+
| **3** | `{base * 3}` | {px} | Espaço médio-pequeno |
|
|
130
|
+
| **4** | `{base * 4}` | {px} | Espaço médio |
|
|
131
|
+
| **5** | `{base * 5}` | {px} | Espaço médio-grande |
|
|
132
|
+
| **6** | `{base * 6}` | {px} | Espaço grande |
|
|
133
|
+
| **8** | `{base * 8}` | {px} | Espaço muito grande |
|
|
134
|
+
| **10** | `{base * 10}` | {px} | Espaço extra grande |
|
|
135
|
+
| **12** | `{base * 12}` | {px} | Espaço gigante |
|
|
136
|
+
|
|
137
|
+
**Exemplo (base 4px = 0.25rem):**
|
|
138
|
+
| Token | Valor | Pixels | Uso |
|
|
139
|
+
|-------|-------|--------|-----|
|
|
140
|
+
| **1** | `0.25rem` | 4px | Gap mínimo entre ícones |
|
|
141
|
+
| **2** | `0.5rem` | 8px | Padding interno de botões |
|
|
142
|
+
| **4** | `1rem` | 16px | Padding padrão de cards |
|
|
143
|
+
| **6** | `1.5rem` | 24px | Margin entre seções |
|
|
144
|
+
| **8** | `2rem` | 32px | Margin grande entre blocos |
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## 🔲 Border Radius
|
|
149
|
+
|
|
150
|
+
| Size | Valor | Uso |
|
|
151
|
+
|------|-------|-----|
|
|
152
|
+
| **none** | `0` | Sem arredondamento |
|
|
153
|
+
| **sm** | `{value}` | Arredondamento sutil |
|
|
154
|
+
| **md** | `{value}` | Arredondamento padrão |
|
|
155
|
+
| **lg** | `{value}` | Arredondamento pronunciado |
|
|
156
|
+
| **xl** | `{value}` | Muito arredondado |
|
|
157
|
+
| **full** | `9999px` | Circular (botões redondos, avatares) |
|
|
158
|
+
|
|
159
|
+
**Exemplo:**
|
|
160
|
+
| Size | Valor | Uso |
|
|
161
|
+
|------|-------|-----|
|
|
162
|
+
| **sm** | `0.125rem` (2px) | Inputs, tabelas |
|
|
163
|
+
| **md** | `0.375rem` (6px) | Botões, cards |
|
|
164
|
+
| **lg** | `0.5rem` (8px) | Modais, containers |
|
|
165
|
+
| **full** | `9999px` | Avatares, badges circulares |
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## 🌑 Sombras (Shadows)
|
|
170
|
+
|
|
171
|
+
| Size | Valor | Uso |
|
|
172
|
+
|------|-------|-----|
|
|
173
|
+
| **sm** | `{shadow}` | Sombra sutil (hover) |
|
|
174
|
+
| **md** | `{shadow}` | Sombra padrão (cards) |
|
|
175
|
+
| **lg** | `{shadow}` | Sombra pronunciada (modals) |
|
|
176
|
+
| **xl** | `{shadow}` | Sombra forte (dropdowns) |
|
|
177
|
+
|
|
178
|
+
**Exemplo (Tailwind):**
|
|
179
|
+
| Size | Valor |
|
|
180
|
+
|------|-------|
|
|
181
|
+
| **sm** | `0 1px 2px 0 rgba(0, 0, 0, 0.05)` |
|
|
182
|
+
| **md** | `0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)` |
|
|
183
|
+
| **lg** | `0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)` |
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## 📱 Breakpoints (Responsive)
|
|
188
|
+
|
|
189
|
+
| Breakpoint | Min Width | Dispositivos |
|
|
190
|
+
|------------|-----------|--------------|
|
|
191
|
+
| **xs** | `0px` | Mobile portrait (padrão) |
|
|
192
|
+
| **sm** | `{value}` | Mobile landscape / Tablet pequeno |
|
|
193
|
+
| **md** | `{value}` | Tablet |
|
|
194
|
+
| **lg** | `{value}` | Desktop pequeno |
|
|
195
|
+
| **xl** | `{value}` | Desktop grande |
|
|
196
|
+
| **2xl** | `{value}` | Desktop muito grande |
|
|
197
|
+
|
|
198
|
+
**Exemplo (Tailwind):**
|
|
199
|
+
| Breakpoint | Min Width |
|
|
200
|
+
|------------|-----------|
|
|
201
|
+
| **sm** | `640px` |
|
|
202
|
+
| **md** | `768px` |
|
|
203
|
+
| **lg** | `1024px` |
|
|
204
|
+
| **xl** | `1280px` |
|
|
205
|
+
| **2xl** | `1536px` |
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## 🎯 Aplicação no Código
|
|
210
|
+
|
|
211
|
+
### CSS Variables (Recomendado)
|
|
212
|
+
|
|
213
|
+
Ver template: `design-system.css`
|
|
214
|
+
|
|
215
|
+
```css
|
|
216
|
+
:root {
|
|
217
|
+
/* Cores */
|
|
218
|
+
--color-primary: #{hex};
|
|
219
|
+
--color-secondary: #{hex};
|
|
220
|
+
|
|
221
|
+
/* Tipografia */
|
|
222
|
+
--font-sans: '{Font}', sans-serif;
|
|
223
|
+
--text-base: 1rem;
|
|
224
|
+
|
|
225
|
+
/* Espaçamento */
|
|
226
|
+
--space-4: 1rem;
|
|
227
|
+
}
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### Fluent UI Theme (se Fluent UI)
|
|
231
|
+
|
|
232
|
+
Ver template: `FluentDesignTheme.cs`
|
|
233
|
+
|
|
234
|
+
```csharp
|
|
235
|
+
public static class FluentDesignTheme
|
|
236
|
+
{
|
|
237
|
+
public static DesignThemePalette GetPalette() => new()
|
|
238
|
+
{
|
|
239
|
+
Primary = "#{cor primária}",
|
|
240
|
+
// ...
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### MudBlazor Theme (se MudBlazor)
|
|
246
|
+
|
|
247
|
+
Ver template: `MudTheme.cs`
|
|
248
|
+
|
|
249
|
+
```csharp
|
|
250
|
+
public static MudTheme Theme => new()
|
|
251
|
+
{
|
|
252
|
+
Palette = new PaletteLight
|
|
253
|
+
{
|
|
254
|
+
Primary = "#{cor primária}",
|
|
255
|
+
// ...
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## 📋 Checklist de Consistência
|
|
263
|
+
|
|
264
|
+
- [ ] Todas as cores têm hex + rgb documentados
|
|
265
|
+
- [ ] Escala de neutros completa (50-900)
|
|
266
|
+
- [ ] Fontes têm fallback stacks completos
|
|
267
|
+
- [ ] Escala de tamanhos cobre todos os casos (xs até 5xl)
|
|
268
|
+
- [ ] Espaçamento usa múltiplos da unidade base
|
|
269
|
+
- [ ] Border radius tem tamanhos sm, md, lg, full
|
|
270
|
+
- [ ] Sombras têm variações de intensidade
|
|
271
|
+
- [ ] Breakpoints cobrem mobile até desktop grande
|
|
272
|
+
- [ ] Design system será implementado na FASE 5 (arquivos CSS/C#)
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## 🔗 Referências
|
|
277
|
+
|
|
278
|
+
- [Fluent Design System](https://fluent2.microsoft.design/)
|
|
279
|
+
- [Material Design](https://m3.material.io/)
|
|
280
|
+
- [Tailwind CSS Palette](https://tailwindcss.com/docs/customizing-colors)
|
|
281
|
+
- [Type Scale](https://type-scale.com/)
|
|
282
|
+
- [Modular Scale](https://www.modularscale.com/)
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
*Template MORPH-SPEC v2.1.1 by Polymorphism Tech*
|