@mytechtoday/augment-extensions 1.2.2 → 1.3.1
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/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 -0
- package/augment-extensions/visual-design/README.md +255 -0
- package/augment-extensions/visual-design/__tests__/README.md +119 -0
- package/augment-extensions/visual-design/__tests__/style-selector.test.ts +172 -0
- package/augment-extensions/visual-design/__tests__/vendor-styles.test.ts +214 -0
- package/augment-extensions/visual-design/domains/other/ai-prompt-helper.ts +157 -0
- package/augment-extensions/visual-design/domains/other/dotnet-application.ts +156 -0
- package/augment-extensions/visual-design/domains/other/linux-platform.ts +156 -0
- package/augment-extensions/visual-design/domains/other/mobile-application.ts +157 -0
- package/augment-extensions/visual-design/domains/other/motion-picture.ts +156 -0
- package/augment-extensions/visual-design/domains/other/os-application.ts +156 -0
- package/augment-extensions/visual-design/domains/other/print-campaigns.ts +158 -0
- package/augment-extensions/visual-design/domains/other/web-app.ts +157 -0
- package/augment-extensions/visual-design/domains/other/website.ts +161 -0
- package/augment-extensions/visual-design/domains/other/windows-platform.ts +156 -0
- package/augment-extensions/visual-design/domains/web-page-styles/amazon-cloudscape.ts +506 -0
- package/augment-extensions/visual-design/domains/web-page-styles/google-modern.ts +615 -0
- package/augment-extensions/visual-design/domains/web-page-styles/microsoft-fluent.ts +531 -0
- package/augment-extensions/visual-design/examples/README.md +97 -0
- package/augment-extensions/visual-design/examples/ai-prompt-generation.md +233 -0
- package/augment-extensions/visual-design/examples/basic-usage.md +216 -0
- package/augment-extensions/visual-design/examples/domain-workflows.md +257 -0
- package/augment-extensions/visual-design/examples/vendor-comparison.md +247 -0
- package/augment-extensions/visual-design/module.json +78 -0
- package/augment-extensions/visual-design/style-selector.ts +177 -0
- package/augment-extensions/visual-design/types.ts +302 -0
- package/augment-extensions/visual-design/visual-design-core.ts +469 -0
- package/augment-extensions/workflows/adr-support/README.md +227 -0
- package/augment-extensions/workflows/adr-support/__tests__/adr-validator.test.ts +203 -0
- package/augment-extensions/workflows/adr-support/adr-validator.ts +162 -0
- package/augment-extensions/workflows/adr-support/examples/complete-lifecycle-example.md +449 -0
- package/augment-extensions/workflows/adr-support/examples/integration-example.md +580 -0
- package/augment-extensions/workflows/adr-support/examples/superseding-example.md +436 -0
- package/augment-extensions/workflows/adr-support/module.json +112 -0
- package/augment-extensions/workflows/adr-support/rules/adr-creation.md +372 -0
- package/augment-extensions/workflows/adr-support/rules/beads-integration.md +443 -0
- package/augment-extensions/workflows/adr-support/rules/conflict-detection.md +486 -0
- package/augment-extensions/workflows/adr-support/rules/decision-detection.md +362 -0
- package/augment-extensions/workflows/adr-support/rules/lifecycle-management.md +427 -0
- package/augment-extensions/workflows/adr-support/rules/openspec-integration.md +465 -0
- package/augment-extensions/workflows/adr-support/rules/template-selection.md +405 -0
- package/augment-extensions/workflows/adr-support/rules/validation-rules.md +543 -0
- package/augment-extensions/workflows/adr-support/schemas/adr-config.json +191 -0
- package/augment-extensions/workflows/adr-support/schemas/adr-metadata.json +172 -0
- package/augment-extensions/workflows/adr-support/templates/business-case.md +235 -0
- package/augment-extensions/workflows/adr-support/templates/madr-elaborate.md +197 -0
- package/augment-extensions/workflows/adr-support/templates/madr-simple.md +68 -0
- package/augment-extensions/workflows/adr-support/templates/nygard.md +84 -0
- 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/utils/auto-sync.js +19 -19
- package/package.json +5 -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
|
@@ -0,0 +1,506 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Amazon Cloudscape Design System
|
|
3
|
+
*
|
|
4
|
+
* Cloudscape (2020-present) is Amazon's open-source design system for building
|
|
5
|
+
* intuitive, efficient, and accessible web applications. Originally developed for
|
|
6
|
+
* AWS Console, it emphasizes enterprise dashboards, data-dense interfaces, and
|
|
7
|
+
* component-heavy patterns with Amazon Ember typography.
|
|
8
|
+
*
|
|
9
|
+
* Key characteristics:
|
|
10
|
+
* - Enterprise-focused: Optimized for complex, data-rich applications
|
|
11
|
+
* - Component-heavy: Extensive library of pre-built UI components
|
|
12
|
+
* - Accessibility-first: WCAG 2.1 Level AA compliance built-in
|
|
13
|
+
* - Responsive: Mobile-first approach with adaptive layouts
|
|
14
|
+
* - Dark mode: Full support for light and dark themes
|
|
15
|
+
*
|
|
16
|
+
* References:
|
|
17
|
+
* - Cloudscape Design System Documentation: https://cloudscape.design/
|
|
18
|
+
* - AWS Design Language: https://aws.amazon.com/design/
|
|
19
|
+
* - Amazon Ember Font: https://developer.amazon.com/en-US/alexa/branding/echo-guidelines/identity-guidelines/typography
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
import {
|
|
23
|
+
VendorStyle,
|
|
24
|
+
ColorPalette,
|
|
25
|
+
TypographyRules,
|
|
26
|
+
LayoutSystem,
|
|
27
|
+
MotionSystem,
|
|
28
|
+
ElevationSystem,
|
|
29
|
+
ComponentLibrary
|
|
30
|
+
} from '../../types';
|
|
31
|
+
|
|
32
|
+
// ============================================================================
|
|
33
|
+
// Color System - Cloudscape Design Tokens
|
|
34
|
+
// ============================================================================
|
|
35
|
+
|
|
36
|
+
const AMAZON_CLOUDSCAPE_COLORS: ColorPalette = {
|
|
37
|
+
primary: {
|
|
38
|
+
name: 'Primary Blue',
|
|
39
|
+
hex: '#0972D3',
|
|
40
|
+
rgb: { r: 9, g: 114, b: 211 },
|
|
41
|
+
hsl: { h: 209, s: 92, l: 43 },
|
|
42
|
+
variants: [
|
|
43
|
+
{ name: 'Blue 900', hex: '#033160', usage: 'Darkest blue, pressed states' },
|
|
44
|
+
{ name: 'Blue 800', hex: '#05467E', usage: 'Dark blue, hover states' },
|
|
45
|
+
{ name: 'Blue 700', hex: '#0762A8', usage: 'Primary dark' },
|
|
46
|
+
{ name: 'Blue 600', hex: '#0972D3', usage: 'Primary brand color' },
|
|
47
|
+
{ name: 'Blue 500', hex: '#2E8DE0', usage: 'Primary light' },
|
|
48
|
+
{ name: 'Blue 400', hex: '#539FE5', usage: 'Hover backgrounds' },
|
|
49
|
+
{ name: 'Blue 300', hex: '#7AAFEB', usage: 'Light accents' },
|
|
50
|
+
{ name: 'Blue 200', hex: '#A1C4F0', usage: 'Very light backgrounds' },
|
|
51
|
+
{ name: 'Blue 100', hex: '#C8DAF5', usage: 'Subtle highlights' },
|
|
52
|
+
{ name: 'Blue 50', hex: '#EFF4FA', usage: 'Lightest blue' }
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
secondary: {
|
|
56
|
+
name: 'Grey Neutral',
|
|
57
|
+
hex: '#5F6B7A',
|
|
58
|
+
rgb: { r: 95, g: 107, b: 122 },
|
|
59
|
+
hsl: { h: 213, s: 12, l: 43 },
|
|
60
|
+
variants: [
|
|
61
|
+
{ name: 'Grey 900', hex: '#16191F', usage: 'Text primary (dark mode)' },
|
|
62
|
+
{ name: 'Grey 800', hex: '#2A2E33', usage: 'Text secondary (dark mode)' },
|
|
63
|
+
{ name: 'Grey 700', hex: '#414750', usage: 'Borders (dark mode)' },
|
|
64
|
+
{ name: 'Grey 600', hex: '#5F6B7A', usage: 'Text tertiary' },
|
|
65
|
+
{ name: 'Grey 550', hex: '#7D8998', usage: 'Disabled text' },
|
|
66
|
+
{ name: 'Grey 500', hex: '#9BA7B6', usage: 'Placeholder text' },
|
|
67
|
+
{ name: 'Grey 450', hex: '#AAB7C3', usage: 'Dividers' },
|
|
68
|
+
{ name: 'Grey 400', hex: '#C1C9D2', usage: 'Borders' },
|
|
69
|
+
{ name: 'Grey 300', hex: '#D5DBDF', usage: 'Light borders' },
|
|
70
|
+
{ name: 'Grey 200', hex: '#E9EBED', usage: 'Background secondary' },
|
|
71
|
+
{ name: 'Grey 150', hex: '#F2F3F3', usage: 'Background tertiary' },
|
|
72
|
+
{ name: 'Grey 100', hex: '#FAFAFA', usage: 'Background primary' }
|
|
73
|
+
]
|
|
74
|
+
},
|
|
75
|
+
neutral: [
|
|
76
|
+
{ name: 'White', hex: '#FFFFFF', rgb: { r: 255, g: 255, b: 255 }, hsl: { h: 0, s: 0, l: 100 } },
|
|
77
|
+
{ name: 'Grey 100', hex: '#FAFAFA', rgb: { r: 250, g: 250, b: 250 }, hsl: { h: 0, s: 0, l: 98 } },
|
|
78
|
+
{ name: 'Grey 150', hex: '#F2F3F3', rgb: { r: 242, g: 243, b: 243 }, hsl: { h: 180, s: 2, l: 95 } },
|
|
79
|
+
{ name: 'Grey 200', hex: '#E9EBED', rgb: { r: 233, g: 235, b: 237 }, hsl: { h: 210, s: 7, l: 92 } },
|
|
80
|
+
{ name: 'Grey 300', hex: '#D5DBDF', rgb: { r: 213, g: 219, b: 223 }, hsl: { h: 204, s: 11, l: 85 } },
|
|
81
|
+
{ name: 'Grey 400', hex: '#C1C9D2', rgb: { r: 193, g: 201, b: 210 }, hsl: { h: 212, s: 14, l: 79 } },
|
|
82
|
+
{ name: 'Grey 500', hex: '#9BA7B6', rgb: { r: 155, g: 167, b: 182 }, hsl: { h: 213, s: 15, l: 66 } },
|
|
83
|
+
{ name: 'Grey 600', hex: '#5F6B7A', rgb: { r: 95, g: 107, b: 122 }, hsl: { h: 213, s: 12, l: 43 } },
|
|
84
|
+
{ name: 'Grey 700', hex: '#414750', rgb: { r: 65, g: 71, b: 80 }, hsl: { h: 216, s: 10, l: 28 } },
|
|
85
|
+
{ name: 'Grey 800', hex: '#2A2E33', rgb: { r: 42, g: 46, b: 51 }, hsl: { h: 213, s: 10, l: 18 } },
|
|
86
|
+
{ name: 'Grey 900', hex: '#16191F', rgb: { r: 22, g: 25, b: 31 }, hsl: { h: 220, s: 17, l: 10 } },
|
|
87
|
+
{ name: 'Black', hex: '#000000', rgb: { r: 0, g: 0, b: 0 }, hsl: { h: 0, s: 0, l: 0 } }
|
|
88
|
+
],
|
|
89
|
+
semantic: {
|
|
90
|
+
success: '#037F0C',
|
|
91
|
+
warning: '#8D6605',
|
|
92
|
+
error: '#D91515',
|
|
93
|
+
info: '#0972D3'
|
|
94
|
+
},
|
|
95
|
+
accessibility: {
|
|
96
|
+
minContrastRatio: 4.5,
|
|
97
|
+
wcagLevel: 'AA',
|
|
98
|
+
colorBlindSafe: true
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
// ============================================================================
|
|
103
|
+
// Typography System - Amazon Ember
|
|
104
|
+
// ============================================================================
|
|
105
|
+
|
|
106
|
+
const AMAZON_CLOUDSCAPE_TYPOGRAPHY: TypographyRules = {
|
|
107
|
+
fontFamilies: [
|
|
108
|
+
{
|
|
109
|
+
name: 'Amazon Ember',
|
|
110
|
+
fallbacks: ['-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Helvetica Neue', 'Arial', 'sans-serif'],
|
|
111
|
+
weights: [300, 400, 500, 700],
|
|
112
|
+
styles: ['normal', 'italic'],
|
|
113
|
+
usage: 'Primary font for all UI elements, optimized for readability in data-dense interfaces'
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
name: 'Amazon Ember Mono',
|
|
117
|
+
fallbacks: ['Monaco', 'Menlo', 'Consolas', 'Courier New', 'monospace'],
|
|
118
|
+
weights: [400, 700],
|
|
119
|
+
styles: ['normal'],
|
|
120
|
+
usage: 'Code snippets, technical data, API responses'
|
|
121
|
+
}
|
|
122
|
+
],
|
|
123
|
+
typeScale: {
|
|
124
|
+
base: 14,
|
|
125
|
+
ratio: 1.125,
|
|
126
|
+
sizes: {
|
|
127
|
+
'display-large': 48,
|
|
128
|
+
'display': 36,
|
|
129
|
+
'heading-xl': 28,
|
|
130
|
+
'heading-l': 24,
|
|
131
|
+
'heading-m': 20,
|
|
132
|
+
'heading-s': 18,
|
|
133
|
+
'heading-xs': 16,
|
|
134
|
+
'body-l': 16,
|
|
135
|
+
'body-m': 14,
|
|
136
|
+
'body-s': 12
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
hierarchy: {
|
|
140
|
+
h1: {
|
|
141
|
+
fontSize: '28px',
|
|
142
|
+
fontWeight: 700,
|
|
143
|
+
lineHeight: 1.3,
|
|
144
|
+
letterSpacing: '-0.01em'
|
|
145
|
+
},
|
|
146
|
+
h2: {
|
|
147
|
+
fontSize: '24px',
|
|
148
|
+
fontWeight: 700,
|
|
149
|
+
lineHeight: 1.3,
|
|
150
|
+
letterSpacing: '-0.005em'
|
|
151
|
+
},
|
|
152
|
+
h3: {
|
|
153
|
+
fontSize: '20px',
|
|
154
|
+
fontWeight: 700,
|
|
155
|
+
lineHeight: 1.4
|
|
156
|
+
},
|
|
157
|
+
h4: {
|
|
158
|
+
fontSize: '18px',
|
|
159
|
+
fontWeight: 700,
|
|
160
|
+
lineHeight: 1.4
|
|
161
|
+
},
|
|
162
|
+
h5: {
|
|
163
|
+
fontSize: '16px',
|
|
164
|
+
fontWeight: 700,
|
|
165
|
+
lineHeight: 1.5
|
|
166
|
+
},
|
|
167
|
+
h6: {
|
|
168
|
+
fontSize: '14px',
|
|
169
|
+
fontWeight: 700,
|
|
170
|
+
lineHeight: 1.5,
|
|
171
|
+
textTransform: 'uppercase',
|
|
172
|
+
letterSpacing: '0.05em'
|
|
173
|
+
},
|
|
174
|
+
body: {
|
|
175
|
+
fontSize: '14px',
|
|
176
|
+
fontWeight: 400,
|
|
177
|
+
lineHeight: 1.5
|
|
178
|
+
},
|
|
179
|
+
caption: {
|
|
180
|
+
fontSize: '12px',
|
|
181
|
+
fontWeight: 400,
|
|
182
|
+
lineHeight: 1.5
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
lineHeight: {
|
|
186
|
+
tight: 1.3,
|
|
187
|
+
normal: 1.5,
|
|
188
|
+
relaxed: 1.7
|
|
189
|
+
},
|
|
190
|
+
letterSpacing: {
|
|
191
|
+
tight: '-0.01em',
|
|
192
|
+
normal: '0',
|
|
193
|
+
wide: '0.05em'
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
// ============================================================================
|
|
199
|
+
// Layout System - Responsive Grid
|
|
200
|
+
// ============================================================================
|
|
201
|
+
|
|
202
|
+
const AMAZON_CLOUDSCAPE_LAYOUT: LayoutSystem = {
|
|
203
|
+
grid: {
|
|
204
|
+
columns: 12,
|
|
205
|
+
gutter: '20px',
|
|
206
|
+
margin: '20px',
|
|
207
|
+
maxWidth: '1600px'
|
|
208
|
+
},
|
|
209
|
+
spacing: {
|
|
210
|
+
base: 4,
|
|
211
|
+
scale: [0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 80],
|
|
212
|
+
tokens: {
|
|
213
|
+
'xxxs': '4px',
|
|
214
|
+
'xxs': '8px',
|
|
215
|
+
'xs': '12px',
|
|
216
|
+
's': '16px',
|
|
217
|
+
'm': '20px',
|
|
218
|
+
'l': '24px',
|
|
219
|
+
'xl': '32px',
|
|
220
|
+
'xxl': '40px',
|
|
221
|
+
'xxxl': '48px'
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
breakpoints: {
|
|
225
|
+
xs: '0px',
|
|
226
|
+
sm: '688px',
|
|
227
|
+
md: '1120px',
|
|
228
|
+
lg: '1440px',
|
|
229
|
+
xl: '1920px'
|
|
230
|
+
},
|
|
231
|
+
containers: {
|
|
232
|
+
maxWidth: {
|
|
233
|
+
xs: '100%',
|
|
234
|
+
sm: '688px',
|
|
235
|
+
md: '1120px',
|
|
236
|
+
lg: '1440px',
|
|
237
|
+
xl: '1600px'
|
|
238
|
+
},
|
|
239
|
+
padding: {
|
|
240
|
+
xs: '20px',
|
|
241
|
+
sm: '20px',
|
|
242
|
+
md: '40px',
|
|
243
|
+
lg: '40px',
|
|
244
|
+
xl: '40px'
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
};
|
|
248
|
+
|
|
249
|
+
// ============================================================================
|
|
250
|
+
// Motion System - Subtle Animations
|
|
251
|
+
// ============================================================================
|
|
252
|
+
|
|
253
|
+
const AMAZON_CLOUDSCAPE_MOTION: MotionSystem = {
|
|
254
|
+
durations: {
|
|
255
|
+
instant: '0ms',
|
|
256
|
+
fast: '100ms',
|
|
257
|
+
normal: '200ms',
|
|
258
|
+
slow: '300ms'
|
|
259
|
+
},
|
|
260
|
+
easings: {
|
|
261
|
+
linear: 'linear',
|
|
262
|
+
easeIn: 'cubic-bezier(0.4, 0, 1, 1)',
|
|
263
|
+
easeOut: 'cubic-bezier(0, 0, 0.2, 1)',
|
|
264
|
+
easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)'
|
|
265
|
+
},
|
|
266
|
+
animations: [
|
|
267
|
+
{
|
|
268
|
+
name: 'fade-in',
|
|
269
|
+
duration: '200ms',
|
|
270
|
+
easing: 'cubic-bezier(0, 0, 0.2, 1)',
|
|
271
|
+
properties: ['opacity']
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
name: 'slide-down',
|
|
275
|
+
duration: '200ms',
|
|
276
|
+
easing: 'cubic-bezier(0, 0, 0.2, 1)',
|
|
277
|
+
properties: ['transform', 'opacity']
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
name: 'expand',
|
|
281
|
+
duration: '300ms',
|
|
282
|
+
easing: 'cubic-bezier(0.4, 0, 0.2, 1)',
|
|
283
|
+
properties: ['height', 'opacity']
|
|
284
|
+
}
|
|
285
|
+
]
|
|
286
|
+
};
|
|
287
|
+
|
|
288
|
+
// ============================================================================
|
|
289
|
+
// Elevation System - Subtle Shadows
|
|
290
|
+
// ============================================================================
|
|
291
|
+
|
|
292
|
+
const AMAZON_CLOUDSCAPE_ELEVATION: ElevationSystem = {
|
|
293
|
+
levels: [
|
|
294
|
+
{
|
|
295
|
+
level: 0,
|
|
296
|
+
shadow: 'none',
|
|
297
|
+
usage: 'Flat surfaces, no elevation'
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
level: 1,
|
|
301
|
+
shadow: '0 1px 1px 0 rgba(0, 28, 36, 0.3), 1px 1px 1px 0 rgba(0, 28, 36, 0.15), -1px 1px 1px 0 rgba(0, 28, 36, 0.15)',
|
|
302
|
+
usage: 'Cards, containers, raised surfaces'
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
level: 2,
|
|
306
|
+
shadow: '0 4px 8px 0 rgba(0, 28, 36, 0.1), 0 1px 1px 0 rgba(0, 28, 36, 0.3)',
|
|
307
|
+
usage: 'Dropdowns, popovers, tooltips'
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
level: 3,
|
|
311
|
+
shadow: '0 8px 16px 0 rgba(0, 28, 36, 0.15), 0 2px 4px 0 rgba(0, 28, 36, 0.3)',
|
|
312
|
+
usage: 'Modals, dialogs, overlays'
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
level: 4,
|
|
316
|
+
shadow: '0 16px 24px 0 rgba(0, 28, 36, 0.2), 0 4px 8px 0 rgba(0, 28, 36, 0.3)',
|
|
317
|
+
usage: 'Sticky headers, floating action buttons'
|
|
318
|
+
}
|
|
319
|
+
],
|
|
320
|
+
shadows: {
|
|
321
|
+
none: 'none',
|
|
322
|
+
sm: '0 1px 1px 0 rgba(0, 28, 36, 0.3)',
|
|
323
|
+
md: '0 4px 8px 0 rgba(0, 28, 36, 0.1)',
|
|
324
|
+
lg: '0 8px 16px 0 rgba(0, 28, 36, 0.15)',
|
|
325
|
+
xl: '0 16px 24px 0 rgba(0, 28, 36, 0.2)'
|
|
326
|
+
}
|
|
327
|
+
};
|
|
328
|
+
|
|
329
|
+
// ============================================================================
|
|
330
|
+
// Component Library - Enterprise UI Components
|
|
331
|
+
// ============================================================================
|
|
332
|
+
|
|
333
|
+
const AMAZON_CLOUDSCAPE_COMPONENTS: ComponentLibrary = {
|
|
334
|
+
buttons: {
|
|
335
|
+
variants: ['primary', 'normal', 'link', 'icon'],
|
|
336
|
+
states: ['default', 'hover', 'active', 'disabled', 'loading'],
|
|
337
|
+
sizes: ['small', 'normal'],
|
|
338
|
+
examples: [
|
|
339
|
+
'Primary button for main actions',
|
|
340
|
+
'Normal button for secondary actions',
|
|
341
|
+
'Link button for tertiary actions',
|
|
342
|
+
'Icon button for compact interfaces'
|
|
343
|
+
]
|
|
344
|
+
},
|
|
345
|
+
inputs: {
|
|
346
|
+
variants: ['text', 'textarea', 'select', 'multiselect', 'autosuggest', 'date-picker', 'time-input'],
|
|
347
|
+
states: ['default', 'focus', 'error', 'warning', 'disabled', 'readonly'],
|
|
348
|
+
sizes: ['small', 'normal'],
|
|
349
|
+
examples: [
|
|
350
|
+
'Form input with validation',
|
|
351
|
+
'Autosuggest for search',
|
|
352
|
+
'Date picker for scheduling',
|
|
353
|
+
'Multiselect for filters'
|
|
354
|
+
]
|
|
355
|
+
},
|
|
356
|
+
cards: {
|
|
357
|
+
variants: ['container', 'expandable-section', 'tiles', 'cards'],
|
|
358
|
+
states: ['default', 'selected', 'disabled'],
|
|
359
|
+
sizes: ['default'],
|
|
360
|
+
examples: [
|
|
361
|
+
'Container for grouping content',
|
|
362
|
+
'Expandable section for progressive disclosure',
|
|
363
|
+
'Tiles for grid layouts',
|
|
364
|
+
'Cards for dashboard widgets'
|
|
365
|
+
]
|
|
366
|
+
},
|
|
367
|
+
navigation: {
|
|
368
|
+
variants: ['top-navigation', 'side-navigation', 'breadcrumb', 'pagination', 'tabs'],
|
|
369
|
+
states: ['default', 'active', 'disabled'],
|
|
370
|
+
sizes: ['default'],
|
|
371
|
+
examples: [
|
|
372
|
+
'Top navigation for global navigation',
|
|
373
|
+
'Side navigation for hierarchical navigation',
|
|
374
|
+
'Breadcrumb for location awareness',
|
|
375
|
+
'Pagination for large datasets',
|
|
376
|
+
'Tabs for content organization'
|
|
377
|
+
]
|
|
378
|
+
}
|
|
379
|
+
};
|
|
380
|
+
|
|
381
|
+
// ============================================================================
|
|
382
|
+
// Amazon Cloudscape Style Export
|
|
383
|
+
// ============================================================================
|
|
384
|
+
|
|
385
|
+
export const AMAZON_CLOUDSCAPE: VendorStyle = {
|
|
386
|
+
vendor: 'amazon',
|
|
387
|
+
name: 'Cloudscape Design System',
|
|
388
|
+
version: '3.0',
|
|
389
|
+
characteristics: [
|
|
390
|
+
'Enterprise-focused design for complex applications',
|
|
391
|
+
'Component-heavy architecture with extensive pre-built UI library',
|
|
392
|
+
'Data-dense interfaces optimized for dashboards and analytics',
|
|
393
|
+
'Amazon Ember typography for brand consistency',
|
|
394
|
+
'WCAG 2.1 Level AA accessibility compliance built-in',
|
|
395
|
+
'Full dark mode support with adaptive color tokens',
|
|
396
|
+
'Responsive design with mobile-first approach',
|
|
397
|
+
'Subtle animations and transitions for professional feel',
|
|
398
|
+
'Comprehensive form components with validation states',
|
|
399
|
+
'Advanced data visualization components (tables, charts, graphs)',
|
|
400
|
+
'Optimized for AWS Console and enterprise web applications',
|
|
401
|
+
'Consistent spacing system based on 4px grid',
|
|
402
|
+
'Extensive documentation and code examples',
|
|
403
|
+
'Open-source and actively maintained by Amazon',
|
|
404
|
+
'Cross-browser compatibility and performance optimization'
|
|
405
|
+
],
|
|
406
|
+
colorPalette: AMAZON_CLOUDSCAPE_COLORS,
|
|
407
|
+
typography: AMAZON_CLOUDSCAPE_TYPOGRAPHY,
|
|
408
|
+
layout: AMAZON_CLOUDSCAPE_LAYOUT,
|
|
409
|
+
motion: AMAZON_CLOUDSCAPE_MOTION,
|
|
410
|
+
elevation: AMAZON_CLOUDSCAPE_ELEVATION,
|
|
411
|
+
components: AMAZON_CLOUDSCAPE_COMPONENTS
|
|
412
|
+
};
|
|
413
|
+
|
|
414
|
+
// ============================================================================
|
|
415
|
+
// Design Patterns & Best Practices
|
|
416
|
+
// ============================================================================
|
|
417
|
+
|
|
418
|
+
/**
|
|
419
|
+
* Cloudscape Design Patterns
|
|
420
|
+
*
|
|
421
|
+
* Common patterns used in Cloudscape applications:
|
|
422
|
+
*
|
|
423
|
+
* 1. Dashboard Layout
|
|
424
|
+
* - Top navigation with breadcrumbs
|
|
425
|
+
* - Side navigation for hierarchical content
|
|
426
|
+
* - Main content area with cards/containers
|
|
427
|
+
* - Responsive grid for widgets
|
|
428
|
+
*
|
|
429
|
+
* 2. Data Tables
|
|
430
|
+
* - Sortable columns with clear indicators
|
|
431
|
+
* - Filterable data with inline filters
|
|
432
|
+
* - Pagination for large datasets
|
|
433
|
+
* - Row selection with checkboxes
|
|
434
|
+
* - Expandable rows for details
|
|
435
|
+
*
|
|
436
|
+
* 3. Forms
|
|
437
|
+
* - Clear labels and help text
|
|
438
|
+
* - Inline validation with error messages
|
|
439
|
+
* - Progressive disclosure for complex forms
|
|
440
|
+
* - Form sections with expandable containers
|
|
441
|
+
* - Action buttons aligned to the right
|
|
442
|
+
*
|
|
443
|
+
* 4. Modals & Dialogs
|
|
444
|
+
* - Clear title and close button
|
|
445
|
+
* - Scrollable content area
|
|
446
|
+
* - Footer with action buttons
|
|
447
|
+
* - Overlay with backdrop
|
|
448
|
+
* - Focus management for accessibility
|
|
449
|
+
*
|
|
450
|
+
* 5. Notifications
|
|
451
|
+
* - Flash messages for temporary feedback
|
|
452
|
+
* - Alert banners for important information
|
|
453
|
+
* - Toast notifications for background actions
|
|
454
|
+
* - Status indicators for system state
|
|
455
|
+
*/
|
|
456
|
+
|
|
457
|
+
/**
|
|
458
|
+
* Accessibility Guidelines
|
|
459
|
+
*
|
|
460
|
+
* Cloudscape enforces WCAG 2.1 Level AA compliance:
|
|
461
|
+
*
|
|
462
|
+
* - Color contrast: Minimum 4.5:1 for text, 3:1 for UI components
|
|
463
|
+
* - Keyboard navigation: All interactive elements accessible via keyboard
|
|
464
|
+
* - Screen reader support: Semantic HTML and ARIA labels
|
|
465
|
+
* - Focus indicators: Clear visual focus states
|
|
466
|
+
* - Responsive text: Supports browser zoom up to 200%
|
|
467
|
+
* - Motion preferences: Respects prefers-reduced-motion
|
|
468
|
+
* - Touch targets: Minimum 44x44px for mobile
|
|
469
|
+
*/
|
|
470
|
+
|
|
471
|
+
/**
|
|
472
|
+
* Component Usage Examples
|
|
473
|
+
*
|
|
474
|
+
* Button:
|
|
475
|
+
* ```tsx
|
|
476
|
+
* <Button variant="primary" onClick={handleClick}>
|
|
477
|
+
* Save changes
|
|
478
|
+
* </Button>
|
|
479
|
+
* ```
|
|
480
|
+
*
|
|
481
|
+
* Input:
|
|
482
|
+
* ```tsx
|
|
483
|
+
* <FormField label="Email" description="Enter your email address">
|
|
484
|
+
* <Input
|
|
485
|
+
* value={email}
|
|
486
|
+
* onChange={({ detail }) => setEmail(detail.value)}
|
|
487
|
+
* type="email"
|
|
488
|
+
* />
|
|
489
|
+
* </FormField>
|
|
490
|
+
* ```
|
|
491
|
+
*
|
|
492
|
+
* Table:
|
|
493
|
+
* ```tsx
|
|
494
|
+
* <Table
|
|
495
|
+
* columnDefinitions={columns}
|
|
496
|
+
* items={data}
|
|
497
|
+
* sortingColumn={sortingColumn}
|
|
498
|
+
* onSortingChange={handleSortingChange}
|
|
499
|
+
* pagination={<Pagination currentPageIndex={1} pagesCount={10} />}
|
|
500
|
+
* />
|
|
501
|
+
* ```
|
|
502
|
+
*/
|
|
503
|
+
|
|
504
|
+
export default AMAZON_CLOUDSCAPE;
|
|
505
|
+
|
|
506
|
+
|