@mytechtoday/augment-extensions 1.3.0 → 1.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/LICENSE +22 -22
- package/README.md +105 -6
- package/augment-extensions/domain-rules/software-architecture/README.md +143 -143
- package/augment-extensions/domain-rules/software-architecture/examples/banking-layered.md +961 -961
- package/augment-extensions/domain-rules/software-architecture/examples/ecommerce-microservices.md +990 -990
- package/augment-extensions/domain-rules/software-architecture/examples/iot-eventdriven.md +882 -882
- package/augment-extensions/domain-rules/software-architecture/examples/monolith-to-microservices-migration.md +703 -703
- package/augment-extensions/domain-rules/software-architecture/examples/serverless-imageprocessing.md +957 -957
- package/augment-extensions/domain-rules/software-architecture/examples/trading-eventdriven.md +747 -747
- package/augment-extensions/domain-rules/software-architecture/module.json +119 -119
- package/augment-extensions/domain-rules/software-architecture/rules/challenges-solutions.md +763 -763
- package/augment-extensions/domain-rules/software-architecture/rules/definitions-terminology.md +409 -409
- package/augment-extensions/domain-rules/software-architecture/rules/design-principles.md +684 -684
- package/augment-extensions/domain-rules/software-architecture/rules/evaluation-testing.md +1381 -1381
- package/augment-extensions/domain-rules/software-architecture/rules/event-driven-architecture.md +616 -616
- package/augment-extensions/domain-rules/software-architecture/rules/fundamentals.md +306 -306
- package/augment-extensions/domain-rules/software-architecture/rules/industry-architectures.md +554 -554
- package/augment-extensions/domain-rules/software-architecture/rules/layered-architecture.md +776 -776
- package/augment-extensions/domain-rules/software-architecture/rules/microservices-architecture.md +503 -503
- package/augment-extensions/domain-rules/software-architecture/rules/modeling-documentation.md +1199 -1199
- package/augment-extensions/domain-rules/software-architecture/rules/monolithic-architecture.md +351 -351
- package/augment-extensions/domain-rules/software-architecture/rules/principles.md +556 -556
- package/augment-extensions/domain-rules/software-architecture/rules/quality-attributes.md +797 -797
- package/augment-extensions/domain-rules/software-architecture/rules/scalability-performance.md +1345 -1345
- package/augment-extensions/domain-rules/software-architecture/rules/security-architecture.md +1039 -1039
- package/augment-extensions/domain-rules/software-architecture/rules/serverless-architecture.md +711 -711
- package/augment-extensions/domain-rules/software-architecture/rules/skills-development.md +568 -568
- package/augment-extensions/domain-rules/software-architecture/rules/tools-methodologies.md +961 -961
- package/augment-extensions/visual-design/CHANGELOG.md +132 -132
- package/augment-extensions/visual-design/README.md +255 -255
- package/augment-extensions/visual-design/__tests__/README.md +119 -119
- package/augment-extensions/visual-design/__tests__/style-selector.test.ts +172 -172
- package/augment-extensions/visual-design/__tests__/vendor-styles.test.ts +214 -214
- package/augment-extensions/visual-design/domains/other/ai-prompt-helper.ts +157 -157
- package/augment-extensions/visual-design/domains/other/dotnet-application.ts +156 -156
- package/augment-extensions/visual-design/domains/other/linux-platform.ts +156 -156
- package/augment-extensions/visual-design/domains/other/mobile-application.ts +157 -157
- package/augment-extensions/visual-design/domains/other/motion-picture.ts +156 -156
- package/augment-extensions/visual-design/domains/other/os-application.ts +156 -156
- package/augment-extensions/visual-design/domains/other/print-campaigns.ts +158 -158
- package/augment-extensions/visual-design/domains/other/web-app.ts +157 -157
- package/augment-extensions/visual-design/domains/other/website.ts +161 -161
- package/augment-extensions/visual-design/domains/other/windows-platform.ts +156 -156
- package/augment-extensions/visual-design/domains/web-page-styles/amazon-cloudscape.ts +506 -506
- package/augment-extensions/visual-design/domains/web-page-styles/google-modern.ts +615 -615
- package/augment-extensions/visual-design/domains/web-page-styles/microsoft-fluent.ts +531 -531
- package/augment-extensions/visual-design/examples/README.md +97 -97
- package/augment-extensions/visual-design/examples/ai-prompt-generation.md +233 -233
- package/augment-extensions/visual-design/examples/basic-usage.md +216 -216
- package/augment-extensions/visual-design/examples/domain-workflows.md +257 -257
- package/augment-extensions/visual-design/examples/vendor-comparison.md +247 -247
- package/augment-extensions/visual-design/module.json +78 -78
- package/augment-extensions/visual-design/style-selector.ts +177 -177
- package/augment-extensions/visual-design/types.ts +302 -302
- package/augment-extensions/visual-design/visual-design-core.ts +469 -469
- package/augment-extensions/workflows/adr-support/README.md +227 -227
- package/augment-extensions/workflows/adr-support/__tests__/adr-validator.test.ts +203 -203
- package/augment-extensions/workflows/adr-support/adr-validator.ts +162 -162
- package/augment-extensions/workflows/adr-support/examples/complete-lifecycle-example.md +449 -449
- package/augment-extensions/workflows/adr-support/examples/integration-example.md +580 -580
- package/augment-extensions/workflows/adr-support/examples/superseding-example.md +436 -436
- package/augment-extensions/workflows/adr-support/module.json +112 -112
- package/augment-extensions/workflows/adr-support/rules/adr-creation.md +372 -372
- package/augment-extensions/workflows/adr-support/rules/beads-integration.md +443 -443
- package/augment-extensions/workflows/adr-support/rules/conflict-detection.md +486 -486
- package/augment-extensions/workflows/adr-support/rules/decision-detection.md +362 -362
- package/augment-extensions/workflows/adr-support/rules/lifecycle-management.md +427 -427
- package/augment-extensions/workflows/adr-support/rules/openspec-integration.md +465 -465
- package/augment-extensions/workflows/adr-support/rules/template-selection.md +405 -405
- package/augment-extensions/workflows/adr-support/rules/validation-rules.md +543 -543
- package/augment-extensions/workflows/adr-support/schemas/adr-config.json +191 -191
- package/augment-extensions/workflows/adr-support/schemas/adr-metadata.json +172 -172
- package/augment-extensions/workflows/adr-support/templates/business-case.md +235 -235
- package/augment-extensions/workflows/adr-support/templates/madr-elaborate.md +197 -197
- package/augment-extensions/workflows/adr-support/templates/madr-simple.md +68 -68
- package/augment-extensions/workflows/adr-support/templates/nygard.md +84 -84
- package/augment-extensions/writing-standards/screenplay/rules/file-organization.md +213 -213
- package/augment-extensions/writing-standards/screenplay/utils/__tests__/file-organization.test.ts +169 -169
- package/augment-extensions/writing-standards/screenplay/utils/file-organization.ts +165 -165
- package/cli/dist/commands/agent.d.ts +37 -0
- package/cli/dist/commands/agent.d.ts.map +1 -0
- package/cli/dist/commands/agent.js +222 -0
- package/cli/dist/commands/agent.js.map +1 -0
- package/cli/dist/commands/beads.d.ts +64 -0
- package/cli/dist/commands/beads.d.ts.map +1 -0
- package/cli/dist/commands/beads.js +377 -0
- package/cli/dist/commands/beads.js.map +1 -0
- package/cli/dist/commands/change.d.ts +54 -0
- package/cli/dist/commands/change.d.ts.map +1 -0
- package/cli/dist/commands/change.js +243 -0
- package/cli/dist/commands/change.js.map +1 -0
- package/cli/dist/commands/clean.d.ts +15 -0
- package/cli/dist/commands/clean.d.ts.map +1 -0
- package/cli/dist/commands/clean.js +63 -0
- package/cli/dist/commands/clean.js.map +1 -0
- package/cli/dist/commands/clone.d.ts +15 -0
- package/cli/dist/commands/clone.d.ts.map +1 -0
- package/cli/dist/commands/clone.js +49 -0
- package/cli/dist/commands/clone.js.map +1 -0
- package/cli/dist/commands/config.d.ts +33 -0
- package/cli/dist/commands/config.d.ts.map +1 -0
- package/cli/dist/commands/config.js +166 -0
- package/cli/dist/commands/config.js.map +1 -0
- package/cli/dist/commands/context.d.ts +38 -0
- package/cli/dist/commands/context.d.ts.map +1 -0
- package/cli/dist/commands/context.js +205 -0
- package/cli/dist/commands/context.js.map +1 -0
- package/cli/dist/commands/create.d.ts +18 -0
- package/cli/dist/commands/create.d.ts.map +1 -0
- package/cli/dist/commands/create.js +178 -0
- package/cli/dist/commands/create.js.map +1 -0
- package/cli/dist/commands/diff.d.ts +19 -0
- package/cli/dist/commands/diff.d.ts.map +1 -0
- package/cli/dist/commands/diff.js +104 -0
- package/cli/dist/commands/diff.js.map +1 -0
- package/cli/dist/commands/doctor.d.ts +14 -0
- package/cli/dist/commands/doctor.d.ts.map +1 -0
- package/cli/dist/commands/doctor.js +62 -0
- package/cli/dist/commands/doctor.js.map +1 -0
- package/cli/dist/commands/export.d.ts +28 -0
- package/cli/dist/commands/export.d.ts.map +1 -0
- package/cli/dist/commands/export.js +135 -0
- package/cli/dist/commands/export.js.map +1 -0
- package/cli/dist/commands/import.d.ts +23 -0
- package/cli/dist/commands/import.d.ts.map +1 -0
- package/cli/dist/commands/import.js +118 -0
- package/cli/dist/commands/import.js.map +1 -0
- package/cli/dist/commands/prompt.d.ts +45 -0
- package/cli/dist/commands/prompt.d.ts.map +1 -0
- package/cli/dist/commands/prompt.js +223 -0
- package/cli/dist/commands/prompt.js.map +1 -0
- package/cli/dist/commands/spec.d.ts +57 -0
- package/cli/dist/commands/spec.d.ts.map +1 -0
- package/cli/dist/commands/spec.js +279 -0
- package/cli/dist/commands/spec.js.map +1 -0
- package/cli/dist/commands/stats.d.ts +18 -0
- package/cli/dist/commands/stats.d.ts.map +1 -0
- package/cli/dist/commands/stats.js +85 -0
- package/cli/dist/commands/stats.js.map +1 -0
- package/cli/dist/commands/task.d.ts +65 -0
- package/cli/dist/commands/task.d.ts.map +1 -0
- package/cli/dist/commands/task.js +282 -0
- package/cli/dist/commands/task.js.map +1 -0
- package/cli/dist/commands/template.d.ts +17 -0
- package/cli/dist/commands/template.d.ts.map +1 -0
- package/cli/dist/commands/template.js +55 -0
- package/cli/dist/commands/template.js.map +1 -0
- package/cli/dist/utils/agent-config.d.ts +129 -0
- package/cli/dist/utils/agent-config.d.ts.map +1 -0
- package/cli/dist/utils/agent-config.js +297 -0
- package/cli/dist/utils/agent-config.js.map +1 -0
- package/cli/dist/utils/auto-sync.js +19 -19
- package/cli/dist/utils/beads-graph.d.ts +17 -0
- package/cli/dist/utils/beads-graph.d.ts.map +1 -0
- package/cli/dist/utils/beads-graph.js +150 -0
- package/cli/dist/utils/beads-graph.js.map +1 -0
- package/cli/dist/utils/beads-integration.d.ts +112 -0
- package/cli/dist/utils/beads-integration.d.ts.map +1 -0
- package/cli/dist/utils/beads-integration.js +312 -0
- package/cli/dist/utils/beads-integration.js.map +1 -0
- package/cli/dist/utils/beads-reporter.d.ts +17 -0
- package/cli/dist/utils/beads-reporter.d.ts.map +1 -0
- package/cli/dist/utils/beads-reporter.js +160 -0
- package/cli/dist/utils/beads-reporter.js.map +1 -0
- package/cli/dist/utils/cache-manager.d.ts +55 -0
- package/cli/dist/utils/cache-manager.d.ts.map +1 -0
- package/cli/dist/utils/cache-manager.js +150 -0
- package/cli/dist/utils/cache-manager.js.map +1 -0
- package/cli/dist/utils/change-manager.d.ts +70 -0
- package/cli/dist/utils/change-manager.d.ts.map +1 -0
- package/cli/dist/utils/change-manager.js +412 -0
- package/cli/dist/utils/change-manager.js.map +1 -0
- package/cli/dist/utils/config-manager-enhanced.d.ts +66 -0
- package/cli/dist/utils/config-manager-enhanced.d.ts.map +1 -0
- package/cli/dist/utils/config-manager-enhanced.js +77 -0
- package/cli/dist/utils/config-manager-enhanced.js.map +1 -0
- package/cli/dist/utils/context-manager.d.ts +96 -0
- package/cli/dist/utils/context-manager.d.ts.map +1 -0
- package/cli/dist/utils/context-manager.js +258 -0
- package/cli/dist/utils/context-manager.js.map +1 -0
- package/cli/dist/utils/diff-engine.d.ts +78 -0
- package/cli/dist/utils/diff-engine.d.ts.map +1 -0
- package/cli/dist/utils/diff-engine.js +233 -0
- package/cli/dist/utils/diff-engine.js.map +1 -0
- package/cli/dist/utils/export-system.d.ts +101 -0
- package/cli/dist/utils/export-system.d.ts.map +1 -0
- package/cli/dist/utils/export-system.js +289 -0
- package/cli/dist/utils/export-system.js.map +1 -0
- package/cli/dist/utils/health-checker.d.ts +66 -0
- package/cli/dist/utils/health-checker.d.ts.map +1 -0
- package/cli/dist/utils/health-checker.js +285 -0
- package/cli/dist/utils/health-checker.js.map +1 -0
- package/cli/dist/utils/import-system.d.ts +74 -0
- package/cli/dist/utils/import-system.d.ts.map +1 -0
- package/cli/dist/utils/import-system.js +317 -0
- package/cli/dist/utils/import-system.js.map +1 -0
- package/cli/dist/utils/module-cloner.d.ts +40 -0
- package/cli/dist/utils/module-cloner.d.ts.map +1 -0
- package/cli/dist/utils/module-cloner.js +136 -0
- package/cli/dist/utils/module-cloner.js.map +1 -0
- package/cli/dist/utils/prompt-manager.d.ts +90 -0
- package/cli/dist/utils/prompt-manager.d.ts.map +1 -0
- package/cli/dist/utils/prompt-manager.js +302 -0
- package/cli/dist/utils/prompt-manager.js.map +1 -0
- package/cli/dist/utils/spec-manager.d.ts +65 -0
- package/cli/dist/utils/spec-manager.d.ts.map +1 -0
- package/cli/dist/utils/spec-manager.js +329 -0
- package/cli/dist/utils/spec-manager.js.map +1 -0
- package/cli/dist/utils/stats-collector.d.ts +74 -0
- package/cli/dist/utils/stats-collector.d.ts.map +1 -0
- package/cli/dist/utils/stats-collector.js +164 -0
- package/cli/dist/utils/stats-collector.js.map +1 -0
- package/cli/dist/utils/template-engine.d.ts +47 -0
- package/cli/dist/utils/template-engine.d.ts.map +1 -0
- package/cli/dist/utils/template-engine.js +204 -0
- package/cli/dist/utils/template-engine.js.map +1 -0
- package/package.json +12 -3
- package/augment-extensions/workflows/openspec/README.md +0 -96
- package/augment-extensions/workflows/openspec/examples/complete-change-example.md +0 -244
- package/augment-extensions/workflows/openspec/module.json +0 -54
- package/augment-extensions/workflows/openspec/rules/best-practices.md +0 -272
- package/augment-extensions/workflows/openspec/rules/manual-setup.md +0 -231
- package/augment-extensions/workflows/openspec/rules/spec-format.md +0 -236
- package/augment-extensions/workflows/openspec/rules/workflow.md +0 -214
- package/cli/dist/utils/__tests__/adr-validator.example.d.ts +0 -6
- package/cli/dist/utils/__tests__/adr-validator.example.d.ts.map +0 -1
- package/cli/dist/utils/__tests__/adr-validator.example.js +0 -148
- package/cli/dist/utils/__tests__/adr-validator.example.js.map +0 -1
- package/cli/dist/utils/adr-validator.d.ts +0 -65
- package/cli/dist/utils/adr-validator.d.ts.map +0 -1
- package/cli/dist/utils/adr-validator.js +0 -203
- package/cli/dist/utils/adr-validator.js.map +0 -1
|
@@ -1,158 +1,158 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Print Campaigns Domain Module
|
|
3
|
-
*
|
|
4
|
-
* Design patterns for print media including flyers, posters,
|
|
5
|
-
* banners, and billboards with CMYK color and print specifications.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { DomainStyle, ColorPalette, TypographyRules, LayoutSystem } from '../../types';
|
|
9
|
-
|
|
10
|
-
// ============================================================================
|
|
11
|
-
// Print Campaigns Color Palette
|
|
12
|
-
// ============================================================================
|
|
13
|
-
|
|
14
|
-
const PRINT_COLORS: ColorPalette = {
|
|
15
|
-
primary: {
|
|
16
|
-
name: 'Print Red',
|
|
17
|
-
hex: '#E63946',
|
|
18
|
-
rgb: { r: 230, g: 57, b: 70 },
|
|
19
|
-
hsl: { h: 356, s: 78, l: 56 },
|
|
20
|
-
variants: [
|
|
21
|
-
{ name: 'Red Light', hex: '#FF6B6B', usage: 'Highlights' },
|
|
22
|
-
{ name: 'Red Dark', hex: '#C1121F', usage: 'Emphasis' }
|
|
23
|
-
]
|
|
24
|
-
},
|
|
25
|
-
neutral: [
|
|
26
|
-
{ name: 'White', hex: '#FFFFFF', rgb: { r: 255, g: 255, b: 255 }, hsl: { h: 0, s: 0, l: 100 } },
|
|
27
|
-
{ name: 'Light Gray', hex: '#F1FAEE', rgb: { r: 241, g: 250, b: 238 }, hsl: { h: 105, s: 60, l: 96 } },
|
|
28
|
-
{ name: 'Mid Gray', hex: '#A8DADC', rgb: { r: 168, g: 218, b: 220 }, hsl: { h: 182, s: 41, l: 76 } },
|
|
29
|
-
{ name: 'Dark Gray', hex: '#457B9D', rgb: { r: 69, g: 123, b: 157 }, hsl: { h: 203, s: 39, l: 44 } },
|
|
30
|
-
{ name: 'Black', hex: '#1D3557', rgb: { r: 29, g: 53, b: 87 }, hsl: { h: 215, s: 50, l: 23 } }
|
|
31
|
-
],
|
|
32
|
-
semantic: {
|
|
33
|
-
success: { hex: '#2A9D8F', usage: 'Positive messaging' },
|
|
34
|
-
warning: { hex: '#F4A261', usage: 'Attention grabbing' },
|
|
35
|
-
error: { hex: '#E76F51', usage: 'Urgent calls-to-action' },
|
|
36
|
-
info: { hex: '#264653', usage: 'Information blocks' }
|
|
37
|
-
},
|
|
38
|
-
accessibility: {
|
|
39
|
-
minimumContrast: 4.5,
|
|
40
|
-
targetContrast: 7,
|
|
41
|
-
colorBlindSafe: true,
|
|
42
|
-
guidelines: [
|
|
43
|
-
'Use CMYK color mode for print',
|
|
44
|
-
'Ensure 300 DPI resolution minimum',
|
|
45
|
-
'Add bleed area (0.125" standard)',
|
|
46
|
-
'Test with print proofs before production'
|
|
47
|
-
]
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
// ============================================================================
|
|
52
|
-
// Print Campaigns Typography
|
|
53
|
-
// ============================================================================
|
|
54
|
-
|
|
55
|
-
const PRINT_TYPOGRAPHY: TypographyRules = {
|
|
56
|
-
fontFamilies: {
|
|
57
|
-
primary: '"Helvetica", "Arial", sans-serif',
|
|
58
|
-
secondary: '"Garamond", "Georgia", serif',
|
|
59
|
-
monospace: '"Courier", monospace'
|
|
60
|
-
},
|
|
61
|
-
hierarchy: {
|
|
62
|
-
h1: { fontSize: '72pt', fontWeight: 700, lineHeight: 1.1, letterSpacing: '-0.02em' },
|
|
63
|
-
h2: { fontSize: '48pt', fontWeight: 700, lineHeight: 1.2, letterSpacing: '-0.01em' },
|
|
64
|
-
h3: { fontSize: '36pt', fontWeight: 600, lineHeight: 1.3, letterSpacing: '0' },
|
|
65
|
-
h4: { fontSize: '24pt', fontWeight: 600, lineHeight: 1.4, letterSpacing: '0' },
|
|
66
|
-
h5: { fontSize: '18pt', fontWeight: 600, lineHeight: 1.4, letterSpacing: '0' },
|
|
67
|
-
h6: { fontSize: '14pt', fontWeight: 600, lineHeight: 1.5, letterSpacing: '0' },
|
|
68
|
-
body: { fontSize: '12pt', fontWeight: 400, lineHeight: 1.5, letterSpacing: '0' },
|
|
69
|
-
small: { fontSize: '10pt', fontWeight: 400, lineHeight: 1.4, letterSpacing: '0' },
|
|
70
|
-
caption: { fontSize: '8pt', fontWeight: 400, lineHeight: 1.3, letterSpacing: '0' }
|
|
71
|
-
},
|
|
72
|
-
scale: {
|
|
73
|
-
base: 12,
|
|
74
|
-
ratio: 1.5,
|
|
75
|
-
sizes: [8, 10, 12, 14, 18, 24, 36, 48, 72]
|
|
76
|
-
},
|
|
77
|
-
guidelines: [
|
|
78
|
-
'Use points (pt) instead of pixels',
|
|
79
|
-
'Embed fonts or convert to outlines',
|
|
80
|
-
'Ensure minimum 8pt for body text',
|
|
81
|
-
'Use high-quality font files',
|
|
82
|
-
'Test readability at actual print size'
|
|
83
|
-
]
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
// ============================================================================
|
|
87
|
-
// Print Campaigns Layout System
|
|
88
|
-
// ============================================================================
|
|
89
|
-
|
|
90
|
-
const PRINT_LAYOUT: LayoutSystem = {
|
|
91
|
-
grid: {
|
|
92
|
-
columns: 12,
|
|
93
|
-
gutter: '0.25in',
|
|
94
|
-
margin: '0.5in',
|
|
95
|
-
breakpoints: {
|
|
96
|
-
flyer: '8.5x11in',
|
|
97
|
-
poster: '18x24in',
|
|
98
|
-
banner: '3x6ft',
|
|
99
|
-
billboard: '14x48ft'
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
|
-
spacing: {
|
|
103
|
-
unit: 0.125,
|
|
104
|
-
scale: [0, 0.125, 0.25, 0.5, 0.75, 1, 1.5, 2],
|
|
105
|
-
guidelines: [
|
|
106
|
-
'Use inches for measurements',
|
|
107
|
-
'Add 0.125" bleed on all sides',
|
|
108
|
-
'Maintain 0.25" safe zone from trim',
|
|
109
|
-
'Use consistent margins'
|
|
110
|
-
]
|
|
111
|
-
},
|
|
112
|
-
containerWidths: {
|
|
113
|
-
flyer: '8.5in',
|
|
114
|
-
poster: '24in',
|
|
115
|
-
banner: '72in',
|
|
116
|
-
billboard: '576in'
|
|
117
|
-
},
|
|
118
|
-
guidelines: [
|
|
119
|
-
'Design at actual size or proportional scale',
|
|
120
|
-
'Use CMYK color mode',
|
|
121
|
-
'Set resolution to 300 DPI minimum',
|
|
122
|
-
'Add bleed and crop marks',
|
|
123
|
-
'Convert text to outlines before printing',
|
|
124
|
-
'Use high-resolution images only'
|
|
125
|
-
]
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
// ============================================================================
|
|
129
|
-
// Print Campaigns Domain Export
|
|
130
|
-
// ============================================================================
|
|
131
|
-
|
|
132
|
-
export const PRINT_CAMPAIGNS_DOMAIN: DomainStyle = {
|
|
133
|
-
domain: 'print-campaigns',
|
|
134
|
-
characteristics: [
|
|
135
|
-
'CMYK color mode for accurate printing',
|
|
136
|
-
'300 DPI resolution minimum',
|
|
137
|
-
'Bleed area (0.125" standard)',
|
|
138
|
-
'Safe zone for important content',
|
|
139
|
-
'High-contrast for visibility',
|
|
140
|
-
'Large, readable typography',
|
|
141
|
-
'Clear visual hierarchy',
|
|
142
|
-
'Strong call-to-action placement',
|
|
143
|
-
'Brand consistency across materials',
|
|
144
|
-
'Print-ready file formats (PDF, EPS)'
|
|
145
|
-
],
|
|
146
|
-
colorScheme: PRINT_COLORS,
|
|
147
|
-
typography: PRINT_TYPOGRAPHY,
|
|
148
|
-
layout: PRINT_LAYOUT,
|
|
149
|
-
examples: [
|
|
150
|
-
'Event flyer (8.5x11") with bold headline and event details',
|
|
151
|
-
'Concert poster (18x24") with artist photo and venue info',
|
|
152
|
-
'Trade show banner (3x6ft) with company branding',
|
|
153
|
-
'Highway billboard (14x48ft) with simple message',
|
|
154
|
-
'Business card (3.5x2") with contact information',
|
|
155
|
-
'Brochure (tri-fold) with product features'
|
|
156
|
-
]
|
|
157
|
-
};
|
|
158
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Print Campaigns Domain Module
|
|
3
|
+
*
|
|
4
|
+
* Design patterns for print media including flyers, posters,
|
|
5
|
+
* banners, and billboards with CMYK color and print specifications.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { DomainStyle, ColorPalette, TypographyRules, LayoutSystem } from '../../types';
|
|
9
|
+
|
|
10
|
+
// ============================================================================
|
|
11
|
+
// Print Campaigns Color Palette
|
|
12
|
+
// ============================================================================
|
|
13
|
+
|
|
14
|
+
const PRINT_COLORS: ColorPalette = {
|
|
15
|
+
primary: {
|
|
16
|
+
name: 'Print Red',
|
|
17
|
+
hex: '#E63946',
|
|
18
|
+
rgb: { r: 230, g: 57, b: 70 },
|
|
19
|
+
hsl: { h: 356, s: 78, l: 56 },
|
|
20
|
+
variants: [
|
|
21
|
+
{ name: 'Red Light', hex: '#FF6B6B', usage: 'Highlights' },
|
|
22
|
+
{ name: 'Red Dark', hex: '#C1121F', usage: 'Emphasis' }
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
neutral: [
|
|
26
|
+
{ name: 'White', hex: '#FFFFFF', rgb: { r: 255, g: 255, b: 255 }, hsl: { h: 0, s: 0, l: 100 } },
|
|
27
|
+
{ name: 'Light Gray', hex: '#F1FAEE', rgb: { r: 241, g: 250, b: 238 }, hsl: { h: 105, s: 60, l: 96 } },
|
|
28
|
+
{ name: 'Mid Gray', hex: '#A8DADC', rgb: { r: 168, g: 218, b: 220 }, hsl: { h: 182, s: 41, l: 76 } },
|
|
29
|
+
{ name: 'Dark Gray', hex: '#457B9D', rgb: { r: 69, g: 123, b: 157 }, hsl: { h: 203, s: 39, l: 44 } },
|
|
30
|
+
{ name: 'Black', hex: '#1D3557', rgb: { r: 29, g: 53, b: 87 }, hsl: { h: 215, s: 50, l: 23 } }
|
|
31
|
+
],
|
|
32
|
+
semantic: {
|
|
33
|
+
success: { hex: '#2A9D8F', usage: 'Positive messaging' },
|
|
34
|
+
warning: { hex: '#F4A261', usage: 'Attention grabbing' },
|
|
35
|
+
error: { hex: '#E76F51', usage: 'Urgent calls-to-action' },
|
|
36
|
+
info: { hex: '#264653', usage: 'Information blocks' }
|
|
37
|
+
},
|
|
38
|
+
accessibility: {
|
|
39
|
+
minimumContrast: 4.5,
|
|
40
|
+
targetContrast: 7,
|
|
41
|
+
colorBlindSafe: true,
|
|
42
|
+
guidelines: [
|
|
43
|
+
'Use CMYK color mode for print',
|
|
44
|
+
'Ensure 300 DPI resolution minimum',
|
|
45
|
+
'Add bleed area (0.125" standard)',
|
|
46
|
+
'Test with print proofs before production'
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
// ============================================================================
|
|
52
|
+
// Print Campaigns Typography
|
|
53
|
+
// ============================================================================
|
|
54
|
+
|
|
55
|
+
const PRINT_TYPOGRAPHY: TypographyRules = {
|
|
56
|
+
fontFamilies: {
|
|
57
|
+
primary: '"Helvetica", "Arial", sans-serif',
|
|
58
|
+
secondary: '"Garamond", "Georgia", serif',
|
|
59
|
+
monospace: '"Courier", monospace'
|
|
60
|
+
},
|
|
61
|
+
hierarchy: {
|
|
62
|
+
h1: { fontSize: '72pt', fontWeight: 700, lineHeight: 1.1, letterSpacing: '-0.02em' },
|
|
63
|
+
h2: { fontSize: '48pt', fontWeight: 700, lineHeight: 1.2, letterSpacing: '-0.01em' },
|
|
64
|
+
h3: { fontSize: '36pt', fontWeight: 600, lineHeight: 1.3, letterSpacing: '0' },
|
|
65
|
+
h4: { fontSize: '24pt', fontWeight: 600, lineHeight: 1.4, letterSpacing: '0' },
|
|
66
|
+
h5: { fontSize: '18pt', fontWeight: 600, lineHeight: 1.4, letterSpacing: '0' },
|
|
67
|
+
h6: { fontSize: '14pt', fontWeight: 600, lineHeight: 1.5, letterSpacing: '0' },
|
|
68
|
+
body: { fontSize: '12pt', fontWeight: 400, lineHeight: 1.5, letterSpacing: '0' },
|
|
69
|
+
small: { fontSize: '10pt', fontWeight: 400, lineHeight: 1.4, letterSpacing: '0' },
|
|
70
|
+
caption: { fontSize: '8pt', fontWeight: 400, lineHeight: 1.3, letterSpacing: '0' }
|
|
71
|
+
},
|
|
72
|
+
scale: {
|
|
73
|
+
base: 12,
|
|
74
|
+
ratio: 1.5,
|
|
75
|
+
sizes: [8, 10, 12, 14, 18, 24, 36, 48, 72]
|
|
76
|
+
},
|
|
77
|
+
guidelines: [
|
|
78
|
+
'Use points (pt) instead of pixels',
|
|
79
|
+
'Embed fonts or convert to outlines',
|
|
80
|
+
'Ensure minimum 8pt for body text',
|
|
81
|
+
'Use high-quality font files',
|
|
82
|
+
'Test readability at actual print size'
|
|
83
|
+
]
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
// ============================================================================
|
|
87
|
+
// Print Campaigns Layout System
|
|
88
|
+
// ============================================================================
|
|
89
|
+
|
|
90
|
+
const PRINT_LAYOUT: LayoutSystem = {
|
|
91
|
+
grid: {
|
|
92
|
+
columns: 12,
|
|
93
|
+
gutter: '0.25in',
|
|
94
|
+
margin: '0.5in',
|
|
95
|
+
breakpoints: {
|
|
96
|
+
flyer: '8.5x11in',
|
|
97
|
+
poster: '18x24in',
|
|
98
|
+
banner: '3x6ft',
|
|
99
|
+
billboard: '14x48ft'
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
spacing: {
|
|
103
|
+
unit: 0.125,
|
|
104
|
+
scale: [0, 0.125, 0.25, 0.5, 0.75, 1, 1.5, 2],
|
|
105
|
+
guidelines: [
|
|
106
|
+
'Use inches for measurements',
|
|
107
|
+
'Add 0.125" bleed on all sides',
|
|
108
|
+
'Maintain 0.25" safe zone from trim',
|
|
109
|
+
'Use consistent margins'
|
|
110
|
+
]
|
|
111
|
+
},
|
|
112
|
+
containerWidths: {
|
|
113
|
+
flyer: '8.5in',
|
|
114
|
+
poster: '24in',
|
|
115
|
+
banner: '72in',
|
|
116
|
+
billboard: '576in'
|
|
117
|
+
},
|
|
118
|
+
guidelines: [
|
|
119
|
+
'Design at actual size or proportional scale',
|
|
120
|
+
'Use CMYK color mode',
|
|
121
|
+
'Set resolution to 300 DPI minimum',
|
|
122
|
+
'Add bleed and crop marks',
|
|
123
|
+
'Convert text to outlines before printing',
|
|
124
|
+
'Use high-resolution images only'
|
|
125
|
+
]
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
// ============================================================================
|
|
129
|
+
// Print Campaigns Domain Export
|
|
130
|
+
// ============================================================================
|
|
131
|
+
|
|
132
|
+
export const PRINT_CAMPAIGNS_DOMAIN: DomainStyle = {
|
|
133
|
+
domain: 'print-campaigns',
|
|
134
|
+
characteristics: [
|
|
135
|
+
'CMYK color mode for accurate printing',
|
|
136
|
+
'300 DPI resolution minimum',
|
|
137
|
+
'Bleed area (0.125" standard)',
|
|
138
|
+
'Safe zone for important content',
|
|
139
|
+
'High-contrast for visibility',
|
|
140
|
+
'Large, readable typography',
|
|
141
|
+
'Clear visual hierarchy',
|
|
142
|
+
'Strong call-to-action placement',
|
|
143
|
+
'Brand consistency across materials',
|
|
144
|
+
'Print-ready file formats (PDF, EPS)'
|
|
145
|
+
],
|
|
146
|
+
colorScheme: PRINT_COLORS,
|
|
147
|
+
typography: PRINT_TYPOGRAPHY,
|
|
148
|
+
layout: PRINT_LAYOUT,
|
|
149
|
+
examples: [
|
|
150
|
+
'Event flyer (8.5x11") with bold headline and event details',
|
|
151
|
+
'Concert poster (18x24") with artist photo and venue info',
|
|
152
|
+
'Trade show banner (3x6ft) with company branding',
|
|
153
|
+
'Highway billboard (14x48ft) with simple message',
|
|
154
|
+
'Business card (3.5x2") with contact information',
|
|
155
|
+
'Brochure (tri-fold) with product features'
|
|
156
|
+
]
|
|
157
|
+
};
|
|
158
|
+
|
|
@@ -1,157 +1,157 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Web-app Domain Module
|
|
3
|
-
*
|
|
4
|
-
* Interactive SPA/PWA patterns for single-page applications
|
|
5
|
-
* with dynamic content, state management, and app-like experiences.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { DomainStyle, ColorPalette, TypographyRules, LayoutSystem } from '../../types';
|
|
9
|
-
|
|
10
|
-
// ============================================================================
|
|
11
|
-
// Web-app Color Palette
|
|
12
|
-
// ============================================================================
|
|
13
|
-
|
|
14
|
-
const WEBAPP_COLORS: ColorPalette = {
|
|
15
|
-
primary: {
|
|
16
|
-
name: 'App Primary',
|
|
17
|
-
hex: '#6366F1',
|
|
18
|
-
rgb: { r: 99, g: 102, b: 241 },
|
|
19
|
-
hsl: { h: 239, s: 84, l: 67 },
|
|
20
|
-
variants: [
|
|
21
|
-
{ name: 'Primary Light', hex: '#A5B4FC', usage: 'Hover states, highlights' },
|
|
22
|
-
{ name: 'Primary Dark', hex: '#4F46E5', usage: 'Active states, pressed' }
|
|
23
|
-
]
|
|
24
|
-
},
|
|
25
|
-
neutral: [
|
|
26
|
-
{ name: 'White', hex: '#FFFFFF', rgb: { r: 255, g: 255, b: 255 }, hsl: { h: 0, s: 0, l: 100 } },
|
|
27
|
-
{ name: 'Gray 50', hex: '#F9FAFB', rgb: { r: 249, g: 250, b: 251 }, hsl: { h: 210, s: 20, l: 98 } },
|
|
28
|
-
{ name: 'Gray 100', hex: '#F3F4F6', rgb: { r: 243, g: 244, b: 246 }, hsl: { h: 220, s: 14, l: 96 } },
|
|
29
|
-
{ name: 'Gray 700', hex: '#374151', rgb: { r: 55, g: 65, b: 81 }, hsl: { h: 217, s: 19, l: 27 } },
|
|
30
|
-
{ name: 'Gray 900', hex: '#111827', rgb: { r: 17, g: 24, b: 39 }, hsl: { h: 221, s: 39, l: 11 } }
|
|
31
|
-
],
|
|
32
|
-
semantic: {
|
|
33
|
-
success: { hex: '#10B981', usage: 'Success states, confirmations' },
|
|
34
|
-
warning: { hex: '#F59E0B', usage: 'Warnings, pending states' },
|
|
35
|
-
error: { hex: '#EF4444', usage: 'Errors, validation failures' },
|
|
36
|
-
info: { hex: '#3B82F6', usage: 'Information, tooltips' }
|
|
37
|
-
},
|
|
38
|
-
accessibility: {
|
|
39
|
-
minimumContrast: 4.5,
|
|
40
|
-
targetContrast: 7,
|
|
41
|
-
colorBlindSafe: true,
|
|
42
|
-
guidelines: [
|
|
43
|
-
'Ensure 4.5:1 contrast for all interactive elements',
|
|
44
|
-
'Use focus indicators with 3:1 contrast',
|
|
45
|
-
'Support dark mode with proper contrast',
|
|
46
|
-
'Test with accessibility tools'
|
|
47
|
-
]
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
// ============================================================================
|
|
52
|
-
// Web-app Typography
|
|
53
|
-
// ============================================================================
|
|
54
|
-
|
|
55
|
-
const WEBAPP_TYPOGRAPHY: TypographyRules = {
|
|
56
|
-
fontFamilies: {
|
|
57
|
-
primary: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif',
|
|
58
|
-
secondary: 'Inter, system-ui, sans-serif',
|
|
59
|
-
monospace: '"SF Mono", Monaco, "Cascadia Code", monospace'
|
|
60
|
-
},
|
|
61
|
-
hierarchy: {
|
|
62
|
-
h1: { fontSize: '32px', fontWeight: 700, lineHeight: 1.2, letterSpacing: '-0.02em' },
|
|
63
|
-
h2: { fontSize: '24px', fontWeight: 600, lineHeight: 1.3, letterSpacing: '-0.01em' },
|
|
64
|
-
h3: { fontSize: '20px', fontWeight: 600, lineHeight: 1.4, letterSpacing: '0' },
|
|
65
|
-
h4: { fontSize: '18px', fontWeight: 600, lineHeight: 1.4, letterSpacing: '0' },
|
|
66
|
-
h5: { fontSize: '16px', fontWeight: 600, lineHeight: 1.5, letterSpacing: '0' },
|
|
67
|
-
h6: { fontSize: '14px', fontWeight: 600, lineHeight: 1.5, letterSpacing: '0' },
|
|
68
|
-
body: { fontSize: '14px', fontWeight: 400, lineHeight: 1.5, letterSpacing: '0' },
|
|
69
|
-
small: { fontSize: '12px', fontWeight: 400, lineHeight: 1.4, letterSpacing: '0' },
|
|
70
|
-
caption: { fontSize: '11px', fontWeight: 400, lineHeight: 1.3, letterSpacing: '0.01em' }
|
|
71
|
-
},
|
|
72
|
-
scale: {
|
|
73
|
-
base: 14,
|
|
74
|
-
ratio: 1.2,
|
|
75
|
-
sizes: [11, 12, 14, 16, 18, 20, 24, 32, 40]
|
|
76
|
-
},
|
|
77
|
-
guidelines: [
|
|
78
|
-
'Use system fonts for native app feel',
|
|
79
|
-
'Smaller base size (14px) for dense interfaces',
|
|
80
|
-
'Consistent font weights for UI hierarchy',
|
|
81
|
-
'Monospace for code and data display',
|
|
82
|
-
'Optimize for readability at small sizes'
|
|
83
|
-
]
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
// ============================================================================
|
|
87
|
-
// Web-app Layout System
|
|
88
|
-
// ============================================================================
|
|
89
|
-
|
|
90
|
-
const WEBAPP_LAYOUT: LayoutSystem = {
|
|
91
|
-
grid: {
|
|
92
|
-
columns: 12,
|
|
93
|
-
gutter: '16px',
|
|
94
|
-
margin: '16px',
|
|
95
|
-
breakpoints: {
|
|
96
|
-
mobile: '0-639px',
|
|
97
|
-
tablet: '640-1023px',
|
|
98
|
-
desktop: '1024px+'
|
|
99
|
-
}
|
|
100
|
-
},
|
|
101
|
-
spacing: {
|
|
102
|
-
unit: 4,
|
|
103
|
-
scale: [0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64],
|
|
104
|
-
guidelines: [
|
|
105
|
-
'Use 4px base unit for tight spacing',
|
|
106
|
-
'Compact spacing for dense interfaces',
|
|
107
|
-
'Consistent padding in panels and cards',
|
|
108
|
-
'Minimal margins for app-like feel'
|
|
109
|
-
]
|
|
110
|
-
},
|
|
111
|
-
containerWidths: {
|
|
112
|
-
mobile: '100%',
|
|
113
|
-
tablet: '100%',
|
|
114
|
-
desktop: '100%',
|
|
115
|
-
fullscreen: '100vw'
|
|
116
|
-
},
|
|
117
|
-
guidelines: [
|
|
118
|
-
'Use app shell pattern (persistent header/sidebar)',
|
|
119
|
-
'Implement virtual scrolling for large lists',
|
|
120
|
-
'Use fixed positioning for navigation',
|
|
121
|
-
'Optimize for single-hand mobile use',
|
|
122
|
-
'Support offline-first architecture',
|
|
123
|
-
'Implement skeleton screens for loading states'
|
|
124
|
-
]
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
// ============================================================================
|
|
128
|
-
// Web-app Domain Export
|
|
129
|
-
// ============================================================================
|
|
130
|
-
|
|
131
|
-
export const WEBAPP_DOMAIN: DomainStyle = {
|
|
132
|
-
domain: 'web-app',
|
|
133
|
-
characteristics: [
|
|
134
|
-
'Single-page application architecture',
|
|
135
|
-
'Client-side routing and state management',
|
|
136
|
-
'Real-time data updates and synchronization',
|
|
137
|
-
'Offline-first with service workers',
|
|
138
|
-
'App-like navigation patterns',
|
|
139
|
-
'Persistent UI shell (header, sidebar)',
|
|
140
|
-
'Loading states and skeleton screens',
|
|
141
|
-
'Optimistic UI updates',
|
|
142
|
-
'Touch-friendly interactions',
|
|
143
|
-
'Progressive Web App capabilities'
|
|
144
|
-
],
|
|
145
|
-
colorScheme: WEBAPP_COLORS,
|
|
146
|
-
typography: WEBAPP_TYPOGRAPHY,
|
|
147
|
-
layout: WEBAPP_LAYOUT,
|
|
148
|
-
examples: [
|
|
149
|
-
'Dashboard with data visualization and charts',
|
|
150
|
-
'Project management tool with kanban boards',
|
|
151
|
-
'Email client with inbox and compose views',
|
|
152
|
-
'Social media feed with infinite scroll',
|
|
153
|
-
'Collaborative document editor',
|
|
154
|
-
'Task management app with drag-and-drop'
|
|
155
|
-
]
|
|
156
|
-
};
|
|
157
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Web-app Domain Module
|
|
3
|
+
*
|
|
4
|
+
* Interactive SPA/PWA patterns for single-page applications
|
|
5
|
+
* with dynamic content, state management, and app-like experiences.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { DomainStyle, ColorPalette, TypographyRules, LayoutSystem } from '../../types';
|
|
9
|
+
|
|
10
|
+
// ============================================================================
|
|
11
|
+
// Web-app Color Palette
|
|
12
|
+
// ============================================================================
|
|
13
|
+
|
|
14
|
+
const WEBAPP_COLORS: ColorPalette = {
|
|
15
|
+
primary: {
|
|
16
|
+
name: 'App Primary',
|
|
17
|
+
hex: '#6366F1',
|
|
18
|
+
rgb: { r: 99, g: 102, b: 241 },
|
|
19
|
+
hsl: { h: 239, s: 84, l: 67 },
|
|
20
|
+
variants: [
|
|
21
|
+
{ name: 'Primary Light', hex: '#A5B4FC', usage: 'Hover states, highlights' },
|
|
22
|
+
{ name: 'Primary Dark', hex: '#4F46E5', usage: 'Active states, pressed' }
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
neutral: [
|
|
26
|
+
{ name: 'White', hex: '#FFFFFF', rgb: { r: 255, g: 255, b: 255 }, hsl: { h: 0, s: 0, l: 100 } },
|
|
27
|
+
{ name: 'Gray 50', hex: '#F9FAFB', rgb: { r: 249, g: 250, b: 251 }, hsl: { h: 210, s: 20, l: 98 } },
|
|
28
|
+
{ name: 'Gray 100', hex: '#F3F4F6', rgb: { r: 243, g: 244, b: 246 }, hsl: { h: 220, s: 14, l: 96 } },
|
|
29
|
+
{ name: 'Gray 700', hex: '#374151', rgb: { r: 55, g: 65, b: 81 }, hsl: { h: 217, s: 19, l: 27 } },
|
|
30
|
+
{ name: 'Gray 900', hex: '#111827', rgb: { r: 17, g: 24, b: 39 }, hsl: { h: 221, s: 39, l: 11 } }
|
|
31
|
+
],
|
|
32
|
+
semantic: {
|
|
33
|
+
success: { hex: '#10B981', usage: 'Success states, confirmations' },
|
|
34
|
+
warning: { hex: '#F59E0B', usage: 'Warnings, pending states' },
|
|
35
|
+
error: { hex: '#EF4444', usage: 'Errors, validation failures' },
|
|
36
|
+
info: { hex: '#3B82F6', usage: 'Information, tooltips' }
|
|
37
|
+
},
|
|
38
|
+
accessibility: {
|
|
39
|
+
minimumContrast: 4.5,
|
|
40
|
+
targetContrast: 7,
|
|
41
|
+
colorBlindSafe: true,
|
|
42
|
+
guidelines: [
|
|
43
|
+
'Ensure 4.5:1 contrast for all interactive elements',
|
|
44
|
+
'Use focus indicators with 3:1 contrast',
|
|
45
|
+
'Support dark mode with proper contrast',
|
|
46
|
+
'Test with accessibility tools'
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
// ============================================================================
|
|
52
|
+
// Web-app Typography
|
|
53
|
+
// ============================================================================
|
|
54
|
+
|
|
55
|
+
const WEBAPP_TYPOGRAPHY: TypographyRules = {
|
|
56
|
+
fontFamilies: {
|
|
57
|
+
primary: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif',
|
|
58
|
+
secondary: 'Inter, system-ui, sans-serif',
|
|
59
|
+
monospace: '"SF Mono", Monaco, "Cascadia Code", monospace'
|
|
60
|
+
},
|
|
61
|
+
hierarchy: {
|
|
62
|
+
h1: { fontSize: '32px', fontWeight: 700, lineHeight: 1.2, letterSpacing: '-0.02em' },
|
|
63
|
+
h2: { fontSize: '24px', fontWeight: 600, lineHeight: 1.3, letterSpacing: '-0.01em' },
|
|
64
|
+
h3: { fontSize: '20px', fontWeight: 600, lineHeight: 1.4, letterSpacing: '0' },
|
|
65
|
+
h4: { fontSize: '18px', fontWeight: 600, lineHeight: 1.4, letterSpacing: '0' },
|
|
66
|
+
h5: { fontSize: '16px', fontWeight: 600, lineHeight: 1.5, letterSpacing: '0' },
|
|
67
|
+
h6: { fontSize: '14px', fontWeight: 600, lineHeight: 1.5, letterSpacing: '0' },
|
|
68
|
+
body: { fontSize: '14px', fontWeight: 400, lineHeight: 1.5, letterSpacing: '0' },
|
|
69
|
+
small: { fontSize: '12px', fontWeight: 400, lineHeight: 1.4, letterSpacing: '0' },
|
|
70
|
+
caption: { fontSize: '11px', fontWeight: 400, lineHeight: 1.3, letterSpacing: '0.01em' }
|
|
71
|
+
},
|
|
72
|
+
scale: {
|
|
73
|
+
base: 14,
|
|
74
|
+
ratio: 1.2,
|
|
75
|
+
sizes: [11, 12, 14, 16, 18, 20, 24, 32, 40]
|
|
76
|
+
},
|
|
77
|
+
guidelines: [
|
|
78
|
+
'Use system fonts for native app feel',
|
|
79
|
+
'Smaller base size (14px) for dense interfaces',
|
|
80
|
+
'Consistent font weights for UI hierarchy',
|
|
81
|
+
'Monospace for code and data display',
|
|
82
|
+
'Optimize for readability at small sizes'
|
|
83
|
+
]
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
// ============================================================================
|
|
87
|
+
// Web-app Layout System
|
|
88
|
+
// ============================================================================
|
|
89
|
+
|
|
90
|
+
const WEBAPP_LAYOUT: LayoutSystem = {
|
|
91
|
+
grid: {
|
|
92
|
+
columns: 12,
|
|
93
|
+
gutter: '16px',
|
|
94
|
+
margin: '16px',
|
|
95
|
+
breakpoints: {
|
|
96
|
+
mobile: '0-639px',
|
|
97
|
+
tablet: '640-1023px',
|
|
98
|
+
desktop: '1024px+'
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
spacing: {
|
|
102
|
+
unit: 4,
|
|
103
|
+
scale: [0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64],
|
|
104
|
+
guidelines: [
|
|
105
|
+
'Use 4px base unit for tight spacing',
|
|
106
|
+
'Compact spacing for dense interfaces',
|
|
107
|
+
'Consistent padding in panels and cards',
|
|
108
|
+
'Minimal margins for app-like feel'
|
|
109
|
+
]
|
|
110
|
+
},
|
|
111
|
+
containerWidths: {
|
|
112
|
+
mobile: '100%',
|
|
113
|
+
tablet: '100%',
|
|
114
|
+
desktop: '100%',
|
|
115
|
+
fullscreen: '100vw'
|
|
116
|
+
},
|
|
117
|
+
guidelines: [
|
|
118
|
+
'Use app shell pattern (persistent header/sidebar)',
|
|
119
|
+
'Implement virtual scrolling for large lists',
|
|
120
|
+
'Use fixed positioning for navigation',
|
|
121
|
+
'Optimize for single-hand mobile use',
|
|
122
|
+
'Support offline-first architecture',
|
|
123
|
+
'Implement skeleton screens for loading states'
|
|
124
|
+
]
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
// ============================================================================
|
|
128
|
+
// Web-app Domain Export
|
|
129
|
+
// ============================================================================
|
|
130
|
+
|
|
131
|
+
export const WEBAPP_DOMAIN: DomainStyle = {
|
|
132
|
+
domain: 'web-app',
|
|
133
|
+
characteristics: [
|
|
134
|
+
'Single-page application architecture',
|
|
135
|
+
'Client-side routing and state management',
|
|
136
|
+
'Real-time data updates and synchronization',
|
|
137
|
+
'Offline-first with service workers',
|
|
138
|
+
'App-like navigation patterns',
|
|
139
|
+
'Persistent UI shell (header, sidebar)',
|
|
140
|
+
'Loading states and skeleton screens',
|
|
141
|
+
'Optimistic UI updates',
|
|
142
|
+
'Touch-friendly interactions',
|
|
143
|
+
'Progressive Web App capabilities'
|
|
144
|
+
],
|
|
145
|
+
colorScheme: WEBAPP_COLORS,
|
|
146
|
+
typography: WEBAPP_TYPOGRAPHY,
|
|
147
|
+
layout: WEBAPP_LAYOUT,
|
|
148
|
+
examples: [
|
|
149
|
+
'Dashboard with data visualization and charts',
|
|
150
|
+
'Project management tool with kanban boards',
|
|
151
|
+
'Email client with inbox and compose views',
|
|
152
|
+
'Social media feed with infinite scroll',
|
|
153
|
+
'Collaborative document editor',
|
|
154
|
+
'Task management app with drag-and-drop'
|
|
155
|
+
]
|
|
156
|
+
};
|
|
157
|
+
|