@mytechtoday/augment-extensions 1.2.2 → 1.3.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.
Files changed (57) hide show
  1. package/augment-extensions/visual-design/CHANGELOG.md +132 -0
  2. package/augment-extensions/visual-design/README.md +255 -0
  3. package/augment-extensions/visual-design/__tests__/README.md +119 -0
  4. package/augment-extensions/visual-design/__tests__/style-selector.test.ts +172 -0
  5. package/augment-extensions/visual-design/__tests__/vendor-styles.test.ts +214 -0
  6. package/augment-extensions/visual-design/domains/other/ai-prompt-helper.ts +157 -0
  7. package/augment-extensions/visual-design/domains/other/dotnet-application.ts +156 -0
  8. package/augment-extensions/visual-design/domains/other/linux-platform.ts +156 -0
  9. package/augment-extensions/visual-design/domains/other/mobile-application.ts +157 -0
  10. package/augment-extensions/visual-design/domains/other/motion-picture.ts +156 -0
  11. package/augment-extensions/visual-design/domains/other/os-application.ts +156 -0
  12. package/augment-extensions/visual-design/domains/other/print-campaigns.ts +158 -0
  13. package/augment-extensions/visual-design/domains/other/web-app.ts +157 -0
  14. package/augment-extensions/visual-design/domains/other/website.ts +161 -0
  15. package/augment-extensions/visual-design/domains/other/windows-platform.ts +156 -0
  16. package/augment-extensions/visual-design/domains/web-page-styles/amazon-cloudscape.ts +506 -0
  17. package/augment-extensions/visual-design/domains/web-page-styles/google-modern.ts +615 -0
  18. package/augment-extensions/visual-design/domains/web-page-styles/microsoft-fluent.ts +531 -0
  19. package/augment-extensions/visual-design/examples/README.md +97 -0
  20. package/augment-extensions/visual-design/examples/ai-prompt-generation.md +233 -0
  21. package/augment-extensions/visual-design/examples/basic-usage.md +216 -0
  22. package/augment-extensions/visual-design/examples/domain-workflows.md +257 -0
  23. package/augment-extensions/visual-design/examples/vendor-comparison.md +247 -0
  24. package/augment-extensions/visual-design/module.json +78 -0
  25. package/augment-extensions/visual-design/style-selector.ts +177 -0
  26. package/augment-extensions/visual-design/types.ts +302 -0
  27. package/augment-extensions/visual-design/visual-design-core.ts +469 -0
  28. package/augment-extensions/workflows/adr-support/README.md +227 -0
  29. package/augment-extensions/workflows/adr-support/__tests__/adr-validator.test.ts +203 -0
  30. package/augment-extensions/workflows/adr-support/adr-validator.ts +162 -0
  31. package/augment-extensions/workflows/adr-support/examples/complete-lifecycle-example.md +449 -0
  32. package/augment-extensions/workflows/adr-support/examples/integration-example.md +580 -0
  33. package/augment-extensions/workflows/adr-support/examples/superseding-example.md +436 -0
  34. package/augment-extensions/workflows/adr-support/module.json +112 -0
  35. package/augment-extensions/workflows/adr-support/rules/adr-creation.md +372 -0
  36. package/augment-extensions/workflows/adr-support/rules/beads-integration.md +443 -0
  37. package/augment-extensions/workflows/adr-support/rules/conflict-detection.md +486 -0
  38. package/augment-extensions/workflows/adr-support/rules/decision-detection.md +362 -0
  39. package/augment-extensions/workflows/adr-support/rules/lifecycle-management.md +427 -0
  40. package/augment-extensions/workflows/adr-support/rules/openspec-integration.md +465 -0
  41. package/augment-extensions/workflows/adr-support/rules/template-selection.md +405 -0
  42. package/augment-extensions/workflows/adr-support/rules/validation-rules.md +543 -0
  43. package/augment-extensions/workflows/adr-support/schemas/adr-config.json +191 -0
  44. package/augment-extensions/workflows/adr-support/schemas/adr-metadata.json +172 -0
  45. package/augment-extensions/workflows/adr-support/templates/business-case.md +235 -0
  46. package/augment-extensions/workflows/adr-support/templates/madr-elaborate.md +197 -0
  47. package/augment-extensions/workflows/adr-support/templates/madr-simple.md +68 -0
  48. package/augment-extensions/workflows/adr-support/templates/nygard.md +84 -0
  49. package/cli/dist/utils/__tests__/adr-validator.example.d.ts +6 -0
  50. package/cli/dist/utils/__tests__/adr-validator.example.d.ts.map +1 -0
  51. package/cli/dist/utils/__tests__/adr-validator.example.js +148 -0
  52. package/cli/dist/utils/__tests__/adr-validator.example.js.map +1 -0
  53. package/cli/dist/utils/adr-validator.d.ts +65 -0
  54. package/cli/dist/utils/adr-validator.d.ts.map +1 -0
  55. package/cli/dist/utils/adr-validator.js +203 -0
  56. package/cli/dist/utils/adr-validator.js.map +1 -0
  57. package/package.json +1 -1
@@ -0,0 +1,615 @@
1
+ /**
2
+ * Google Modern (Material 3 Expressive) Design System
3
+ *
4
+ * Material Design 3 (2021-present) represents Google's evolution toward more
5
+ * expressive, personalized, and accessible design. Key characteristics include
6
+ * dynamic color theming, rounded corners, springy motion, and enhanced accessibility.
7
+ *
8
+ * References:
9
+ * - Material Design 3 Documentation (2025-2026)
10
+ * - https://m3.material.io/
11
+ */
12
+
13
+ import {
14
+ VendorStyle,
15
+ ColorPalette,
16
+ TypographyRules,
17
+ LayoutSystem,
18
+ MotionSystem,
19
+ ElevationSystem,
20
+ ComponentLibrary
21
+ } from '../../types';
22
+
23
+ // ============================================================================
24
+ // Color System - Dynamic Color Theming
25
+ // ============================================================================
26
+
27
+ const GOOGLE_MODERN_COLORS: ColorPalette = {
28
+ primary: {
29
+ name: 'Primary',
30
+ hex: '#6750A4',
31
+ rgb: 'rgb(103, 80, 164)',
32
+ usage: 'Primary brand color, key actions, important UI elements',
33
+ accessibility: 'WCAG AA compliant with white text',
34
+ tones: {
35
+ 0: '#000000',
36
+ 10: '#21005D',
37
+ 20: '#381E72',
38
+ 30: '#4F378B',
39
+ 40: '#6750A4',
40
+ 50: '#7F67BE',
41
+ 60: '#9A82DB',
42
+ 70: '#B69DF8',
43
+ 80: '#D0BCFF',
44
+ 90: '#EADDFF',
45
+ 95: '#F6EDFF',
46
+ 99: '#FFFBFE',
47
+ 100: '#FFFFFF'
48
+ }
49
+ },
50
+ secondary: {
51
+ name: 'Secondary',
52
+ hex: '#625B71',
53
+ rgb: 'rgb(98, 91, 113)',
54
+ usage: 'Secondary actions, less prominent UI elements',
55
+ accessibility: 'WCAG AA compliant',
56
+ tones: {
57
+ 0: '#000000',
58
+ 10: '#1D192B',
59
+ 20: '#332D41',
60
+ 30: '#4A4458',
61
+ 40: '#625B71',
62
+ 50: '#7A7289',
63
+ 60: '#958DA5',
64
+ 70: '#B0A7C0',
65
+ 80: '#CCC2DC',
66
+ 90: '#E8DEF8',
67
+ 95: '#F6EDFF',
68
+ 99: '#FFFBFE',
69
+ 100: '#FFFFFF'
70
+ }
71
+ },
72
+ tertiary: {
73
+ name: 'Tertiary',
74
+ hex: '#7D5260',
75
+ rgb: 'rgb(125, 82, 96)',
76
+ usage: 'Accent color, highlights, contrasting elements',
77
+ accessibility: 'WCAG AA compliant',
78
+ tones: {
79
+ 0: '#000000',
80
+ 10: '#31111D',
81
+ 20: '#492532',
82
+ 30: '#633B48',
83
+ 40: '#7D5260',
84
+ 50: '#986977',
85
+ 60: '#B58392',
86
+ 70: '#D29DAC',
87
+ 80: '#EFB8C8',
88
+ 90: '#FFD8E4',
89
+ 95: '#FFECF1',
90
+ 99: '#FFFBFA',
91
+ 100: '#FFFFFF'
92
+ }
93
+ },
94
+ error: {
95
+ name: 'Error',
96
+ hex: '#B3261E',
97
+ rgb: 'rgb(179, 38, 30)',
98
+ usage: 'Error states, destructive actions, warnings',
99
+ accessibility: 'WCAG AA compliant with white text'
100
+ },
101
+ neutral: {
102
+ name: 'Neutral',
103
+ hex: '#79747E',
104
+ rgb: 'rgb(121, 116, 126)',
105
+ usage: 'Backgrounds, surfaces, outlines',
106
+ accessibility: 'WCAG AA compliant'
107
+ },
108
+ neutralVariant: {
109
+ name: 'Neutral Variant',
110
+ hex: '#79747E',
111
+ rgb: 'rgb(121, 116, 126)',
112
+ usage: 'Medium emphasis backgrounds, subtle outlines',
113
+ accessibility: 'WCAG AA compliant'
114
+ }
115
+ };
116
+
117
+ // ============================================================================
118
+ // Typography - Google Sans & Roboto
119
+ // ============================================================================
120
+
121
+ const GOOGLE_MODERN_TYPOGRAPHY: TypographyRules = {
122
+ fontFamilies: {
123
+ primary: "'Google Sans', 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif",
124
+ secondary: "'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif",
125
+ monospace: "'Roboto Mono', 'Courier New', monospace"
126
+ },
127
+ typeScale: {
128
+ displayLarge: {
129
+ fontSize: '57px',
130
+ lineHeight: '64px',
131
+ fontWeight: 400,
132
+ letterSpacing: '-0.25px',
133
+ usage: 'Largest display text, hero sections'
134
+ },
135
+ displayMedium: {
136
+ fontSize: '45px',
137
+ lineHeight: '52px',
138
+ fontWeight: 400,
139
+ letterSpacing: '0px',
140
+ usage: 'Large display text'
141
+ },
142
+ displaySmall: {
143
+ fontSize: '36px',
144
+ lineHeight: '44px',
145
+ fontWeight: 400,
146
+ letterSpacing: '0px',
147
+ usage: 'Small display text'
148
+ },
149
+ headlineLarge: {
150
+ fontSize: '32px',
151
+ lineHeight: '40px',
152
+ fontWeight: 400,
153
+ letterSpacing: '0px',
154
+ usage: 'Large headlines'
155
+ },
156
+ headlineMedium: {
157
+ fontSize: '28px',
158
+ lineHeight: '36px',
159
+ fontWeight: 400,
160
+ letterSpacing: '0px',
161
+ usage: 'Medium headlines'
162
+ },
163
+ headlineSmall: {
164
+ fontSize: '24px',
165
+ lineHeight: '32px',
166
+ fontWeight: 400,
167
+ letterSpacing: '0px',
168
+ usage: 'Small headlines'
169
+ },
170
+ titleLarge: {
171
+ fontSize: '22px',
172
+ lineHeight: '28px',
173
+ fontWeight: 400,
174
+ letterSpacing: '0px',
175
+ usage: 'Large titles'
176
+ },
177
+ titleMedium: {
178
+ fontSize: '16px',
179
+ lineHeight: '24px',
180
+ fontWeight: 500,
181
+ letterSpacing: '0.15px',
182
+ usage: 'Medium titles, card headers'
183
+ },
184
+ titleSmall: {
185
+ fontSize: '14px',
186
+ lineHeight: '20px',
187
+ fontWeight: 500,
188
+ letterSpacing: '0.1px',
189
+ usage: 'Small titles'
190
+ },
191
+ bodyLarge: {
192
+ fontSize: '16px',
193
+ lineHeight: '24px',
194
+ fontWeight: 400,
195
+ letterSpacing: '0.5px',
196
+ usage: 'Large body text'
197
+ },
198
+ bodyMedium: {
199
+ fontSize: '14px',
200
+ lineHeight: '20px',
201
+ fontWeight: 400,
202
+ letterSpacing: '0.25px',
203
+ usage: 'Default body text'
204
+ },
205
+ bodySmall: {
206
+ fontSize: '12px',
207
+ lineHeight: '16px',
208
+ fontWeight: 400,
209
+ letterSpacing: '0.4px',
210
+ usage: 'Small body text, captions'
211
+ },
212
+ labelLarge: {
213
+ fontSize: '14px',
214
+ lineHeight: '20px',
215
+ fontWeight: 500,
216
+ letterSpacing: '0.1px',
217
+ usage: 'Large labels, buttons'
218
+ },
219
+ labelMedium: {
220
+ fontSize: '12px',
221
+ lineHeight: '16px',
222
+ fontWeight: 500,
223
+ letterSpacing: '0.5px',
224
+ usage: 'Medium labels'
225
+ },
226
+ labelSmall: {
227
+ fontSize: '11px',
228
+ lineHeight: '16px',
229
+ fontWeight: 500,
230
+ letterSpacing: '0.5px',
231
+ usage: 'Small labels'
232
+ }
233
+ },
234
+ guidelines: [
235
+ 'Use Google Sans for display and headlines',
236
+ 'Use Roboto for body text and UI elements',
237
+ 'Maintain consistent type scale across application',
238
+ 'Ensure minimum 16px font size for body text',
239
+ 'Use font weights: 400 (regular), 500 (medium), 700 (bold)',
240
+ 'Apply appropriate letter spacing for readability'
241
+ ]
242
+ };
243
+
244
+
245
+ // ============================================================================
246
+ // Layout System - Responsive Grid
247
+ // ============================================================================
248
+
249
+ const GOOGLE_MODERN_LAYOUT: LayoutSystem = {
250
+ grid: {
251
+ columns: 12,
252
+ gutter: '16px',
253
+ margin: '16px',
254
+ breakpoints: {
255
+ compact: '0-599px',
256
+ medium: '600-839px',
257
+ expanded: '840-1199px',
258
+ large: '1200-1599px',
259
+ extraLarge: '1600px+'
260
+ }
261
+ },
262
+ spacing: {
263
+ unit: 4,
264
+ scale: [0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 80, 96, 128],
265
+ guidelines: [
266
+ 'Use 4px base unit for all spacing',
267
+ 'Apply consistent spacing scale',
268
+ 'Use larger spacing for visual hierarchy',
269
+ 'Maintain breathing room around interactive elements'
270
+ ]
271
+ },
272
+ containerWidths: {
273
+ compact: '100%',
274
+ medium: '840px',
275
+ expanded: '1200px',
276
+ large: '1600px'
277
+ },
278
+ guidelines: [
279
+ 'Use 12-column grid for flexible layouts',
280
+ 'Apply responsive breakpoints for different screen sizes',
281
+ 'Maintain consistent spacing using 4px base unit',
282
+ 'Use container widths for content readability',
283
+ 'Apply adaptive layouts for different form factors'
284
+ ]
285
+ };
286
+
287
+ // ============================================================================
288
+ // Motion System - Springy, Expressive Animations
289
+ // ============================================================================
290
+
291
+ const GOOGLE_MODERN_MOTION: MotionSystem = {
292
+ durations: {
293
+ short1: '50ms',
294
+ short2: '100ms',
295
+ short3: '150ms',
296
+ short4: '200ms',
297
+ medium1: '250ms',
298
+ medium2: '300ms',
299
+ medium3: '350ms',
300
+ medium4: '400ms',
301
+ long1: '450ms',
302
+ long2: '500ms',
303
+ long3: '550ms',
304
+ long4: '600ms',
305
+ extraLong1: '700ms',
306
+ extraLong2: '800ms',
307
+ extraLong3: '900ms',
308
+ extraLong4: '1000ms'
309
+ },
310
+ easings: {
311
+ standard: 'cubic-bezier(0.2, 0.0, 0, 1.0)',
312
+ standardAccelerate: 'cubic-bezier(0.3, 0.0, 1, 1)',
313
+ standardDecelerate: 'cubic-bezier(0, 0.0, 0, 1)',
314
+ emphasized: 'cubic-bezier(0.2, 0.0, 0, 1.0)',
315
+ emphasizedAccelerate: 'cubic-bezier(0.3, 0.0, 0.8, 0.15)',
316
+ emphasizedDecelerate: 'cubic-bezier(0.05, 0.7, 0.1, 1.0)',
317
+ legacy: 'cubic-bezier(0.4, 0.0, 0.2, 1)',
318
+ legacyAccelerate: 'cubic-bezier(0.4, 0.0, 1, 1)',
319
+ legacyDecelerate: 'cubic-bezier(0.0, 0.0, 0.2, 1)'
320
+ },
321
+ patterns: {
322
+ fadeIn: {
323
+ duration: '300ms',
324
+ easing: 'emphasizedDecelerate',
325
+ properties: ['opacity']
326
+ },
327
+ fadeOut: {
328
+ duration: '200ms',
329
+ easing: 'emphasizedAccelerate',
330
+ properties: ['opacity']
331
+ },
332
+ scaleUp: {
333
+ duration: '300ms',
334
+ easing: 'emphasizedDecelerate',
335
+ properties: ['transform', 'opacity']
336
+ },
337
+ scaleDown: {
338
+ duration: '200ms',
339
+ easing: 'emphasizedAccelerate',
340
+ properties: ['transform', 'opacity']
341
+ },
342
+ slideIn: {
343
+ duration: '400ms',
344
+ easing: 'emphasizedDecelerate',
345
+ properties: ['transform']
346
+ },
347
+ slideOut: {
348
+ duration: '300ms',
349
+ easing: 'emphasizedAccelerate',
350
+ properties: ['transform']
351
+ }
352
+ },
353
+ guidelines: [
354
+ 'Use emphasized easing for important transitions',
355
+ 'Apply standard easing for common UI interactions',
356
+ 'Keep durations short for micro-interactions (50-200ms)',
357
+ 'Use medium durations for component transitions (250-400ms)',
358
+ 'Apply long durations for page transitions (450-600ms)',
359
+ 'Ensure animations are smooth and natural',
360
+ 'Provide reduced motion alternatives for accessibility'
361
+ ]
362
+ };
363
+
364
+ // ============================================================================
365
+ // Elevation System - Subtle Shadows
366
+ // ============================================================================
367
+
368
+ const GOOGLE_MODERN_ELEVATION: ElevationSystem = {
369
+ levels: {
370
+ level0: {
371
+ shadow: 'none',
372
+ usage: 'No elevation, flat surface'
373
+ },
374
+ level1: {
375
+ shadow: '0px 1px 2px rgba(0, 0, 0, 0.3), 0px 1px 3px 1px rgba(0, 0, 0, 0.15)',
376
+ usage: 'Minimal elevation, cards at rest'
377
+ },
378
+ level2: {
379
+ shadow: '0px 1px 2px rgba(0, 0, 0, 0.3), 0px 2px 6px 2px rgba(0, 0, 0, 0.15)',
380
+ usage: 'Low elevation, raised cards'
381
+ },
382
+ level3: {
383
+ shadow: '0px 4px 8px 3px rgba(0, 0, 0, 0.15), 0px 1px 3px rgba(0, 0, 0, 0.3)',
384
+ usage: 'Medium elevation, dialogs, menus'
385
+ },
386
+ level4: {
387
+ shadow: '0px 6px 10px 4px rgba(0, 0, 0, 0.15), 0px 2px 3px rgba(0, 0, 0, 0.3)',
388
+ usage: 'High elevation, navigation drawer'
389
+ },
390
+ level5: {
391
+ shadow: '0px 8px 12px 6px rgba(0, 0, 0, 0.15), 0px 4px 4px rgba(0, 0, 0, 0.3)',
392
+ usage: 'Highest elevation, modal dialogs'
393
+ }
394
+ },
395
+ guidelines: [
396
+ 'Use elevation to establish visual hierarchy',
397
+ 'Apply consistent elevation levels across similar components',
398
+ 'Increase elevation for interactive states (hover, focus)',
399
+ 'Use level 0-1 for most surfaces',
400
+ 'Reserve level 3-5 for overlays and modals',
401
+ 'Ensure shadows are subtle and natural'
402
+ ]
403
+ };
404
+
405
+ // ============================================================================
406
+ // Component Library - Material 3 Components
407
+ // ============================================================================
408
+
409
+ const GOOGLE_MODERN_COMPONENTS: ComponentLibrary = {
410
+ buttons: {
411
+ variants: [
412
+ 'filled',
413
+ 'outlined',
414
+ 'text',
415
+ 'elevated',
416
+ 'tonal'
417
+ ],
418
+ states: [
419
+ 'enabled',
420
+ 'disabled',
421
+ 'hovered',
422
+ 'focused',
423
+ 'pressed'
424
+ ],
425
+ sizes: [
426
+ 'small',
427
+ 'medium',
428
+ 'large'
429
+ ],
430
+ examples: [
431
+ 'Filled button: Primary actions with solid background',
432
+ 'Outlined button: Secondary actions with border',
433
+ 'Text button: Low-emphasis actions without background',
434
+ 'Elevated button: Raised appearance with shadow',
435
+ 'Tonal button: Medium-emphasis with tinted background'
436
+ ]
437
+ },
438
+ inputs: {
439
+ variants: [
440
+ 'filled',
441
+ 'outlined'
442
+ ],
443
+ states: [
444
+ 'enabled',
445
+ 'disabled',
446
+ 'error',
447
+ 'focused',
448
+ 'populated'
449
+ ],
450
+ sizes: [
451
+ 'small',
452
+ 'medium',
453
+ 'large'
454
+ ],
455
+ examples: [
456
+ 'Filled text field: Default input with filled background',
457
+ 'Outlined text field: Input with border outline',
458
+ 'Text area: Multi-line input field',
459
+ 'Select dropdown: Single or multi-select options',
460
+ 'Checkbox: Binary selection control',
461
+ 'Radio button: Single selection from group',
462
+ 'Switch: Toggle between two states'
463
+ ]
464
+ },
465
+ cards: {
466
+ variants: [
467
+ 'elevated',
468
+ 'filled',
469
+ 'outlined'
470
+ ],
471
+ states: [
472
+ 'enabled',
473
+ 'disabled',
474
+ 'hovered',
475
+ 'pressed',
476
+ 'dragged'
477
+ ],
478
+ sizes: [
479
+ 'compact',
480
+ 'medium',
481
+ 'expanded'
482
+ ],
483
+ examples: [
484
+ 'Elevated card: Card with shadow elevation',
485
+ 'Filled card: Card with tinted background',
486
+ 'Outlined card: Card with border outline',
487
+ 'Interactive card: Clickable card with hover state',
488
+ 'Media card: Card with image or video content'
489
+ ]
490
+ },
491
+ navigation: {
492
+ variants: [
493
+ 'navigation-bar',
494
+ 'navigation-drawer',
495
+ 'navigation-rail',
496
+ 'top-app-bar',
497
+ 'bottom-app-bar',
498
+ 'tabs'
499
+ ],
500
+ states: [
501
+ 'active',
502
+ 'inactive',
503
+ 'selected',
504
+ 'hovered',
505
+ 'focused'
506
+ ],
507
+ sizes: [
508
+ 'compact',
509
+ 'medium',
510
+ 'expanded'
511
+ ],
512
+ examples: [
513
+ 'Navigation bar: Bottom navigation for mobile',
514
+ 'Navigation drawer: Side navigation panel',
515
+ 'Navigation rail: Compact side navigation',
516
+ 'Top app bar: Header with title and actions',
517
+ 'Bottom app bar: Footer with actions',
518
+ 'Tabs: Horizontal navigation between views'
519
+ ]
520
+ }
521
+ };
522
+
523
+ // ============================================================================
524
+ // Google Modern Style Export
525
+ // ============================================================================
526
+
527
+ export const GOOGLE_MODERN: VendorStyle = {
528
+ vendor: 'google',
529
+ name: 'Material 3 Expressive',
530
+ version: '3.0',
531
+ characteristics: [
532
+ 'Dynamic color theming with tonal palettes',
533
+ 'Rounded corners (8px-24px radius)',
534
+ 'Springy, expressive motion with emphasized easing',
535
+ 'High accessibility standards (WCAG 2.1 AA+)',
536
+ 'Personalized and adaptive design',
537
+ 'Subtle elevation with layered shadows',
538
+ 'Google Sans and Roboto typography',
539
+ 'Responsive 12-column grid system',
540
+ 'Component-based architecture',
541
+ 'Support for light and dark themes',
542
+ 'Emphasis on user expression and customization'
543
+ ],
544
+ colorPalette: GOOGLE_MODERN_COLORS,
545
+ typography: GOOGLE_MODERN_TYPOGRAPHY,
546
+ layout: GOOGLE_MODERN_LAYOUT,
547
+ motion: GOOGLE_MODERN_MOTION,
548
+ elevation: GOOGLE_MODERN_ELEVATION,
549
+ components: GOOGLE_MODERN_COMPONENTS
550
+ };
551
+
552
+ // ============================================================================
553
+ // Usage Guidelines
554
+ // ============================================================================
555
+
556
+ /**
557
+ * USAGE GUIDELINES FOR AI AGENTS
558
+ *
559
+ * When applying Google Modern (Material 3 Expressive) design:
560
+ *
561
+ * 1. COLOR THEMING
562
+ * - Use dynamic color system with tonal palettes
563
+ * - Apply primary color for key actions and branding
564
+ * - Use secondary and tertiary for supporting elements
565
+ * - Ensure WCAG AA compliance for all color combinations
566
+ * - Support both light and dark themes
567
+ *
568
+ * 2. TYPOGRAPHY
569
+ * - Use Google Sans for display and headlines
570
+ * - Use Roboto for body text and UI elements
571
+ * - Follow type scale for consistent hierarchy
572
+ * - Maintain minimum 16px for body text
573
+ * - Apply appropriate letter spacing
574
+ *
575
+ * 3. LAYOUT
576
+ * - Use 12-column responsive grid
577
+ * - Apply 4px base spacing unit
578
+ * - Use breakpoints for responsive design
579
+ * - Maintain consistent spacing scale
580
+ *
581
+ * 4. MOTION
582
+ * - Use emphasized easing for important transitions
583
+ * - Keep micro-interactions short (50-200ms)
584
+ * - Apply medium durations for components (250-400ms)
585
+ * - Provide reduced motion alternatives
586
+ *
587
+ * 5. ELEVATION
588
+ * - Use subtle shadows for depth
589
+ * - Apply consistent elevation levels
590
+ * - Increase elevation for interactive states
591
+ * - Reserve high elevation for modals
592
+ *
593
+ * 6. COMPONENTS
594
+ * - Use Material 3 component variants
595
+ * - Apply appropriate states (hover, focus, pressed)
596
+ * - Maintain consistent sizing
597
+ * - Follow accessibility guidelines
598
+ *
599
+ * 7. ACCESSIBILITY
600
+ * - Ensure WCAG 2.1 AA compliance minimum
601
+ * - Provide sufficient color contrast
602
+ * - Support keyboard navigation
603
+ * - Include ARIA labels and roles
604
+ * - Provide reduced motion alternatives
605
+ * - Ensure touch targets are at least 48x48px
606
+ *
607
+ * REFERENCES:
608
+ * - Material Design 3: https://m3.material.io/
609
+ * - Color System: https://m3.material.io/styles/color/overview
610
+ * - Typography: https://m3.material.io/styles/typography/overview
611
+ * - Motion: https://m3.material.io/styles/motion/overview
612
+ * - Components: https://m3.material.io/components
613
+ */
614
+
615
+