@equal-experts/kuat-react 0.13.0 → 0.14.0-beta.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 (150) hide show
  1. package/agent-docs/AGENTS.md +10 -0
  2. package/agent-docs/README.md +17 -0
  3. package/agent-docs/bundle-manifest.json +55 -0
  4. package/agent-docs/components/_template.md +21 -0
  5. package/agent-docs/components/button-group.md +27 -0
  6. package/agent-docs/components/button.md +50 -0
  7. package/agent-docs/components/components.manifest.json +23 -0
  8. package/agent-docs/components/kuat-header.md +27 -0
  9. package/agent-docs/external/kuat-agent-rules/reference/accessibility/README.md +7 -0
  10. package/agent-docs/external/kuat-agent-rules/reference/accessibility/accessibility.md +446 -0
  11. package/agent-docs/external/kuat-agent-rules/reference/brand/README.md +9 -0
  12. package/agent-docs/external/kuat-agent-rules/reference/brand/brand.md +109 -0
  13. package/agent-docs/external/kuat-agent-rules/reference/brand/logo.md +152 -0
  14. package/agent-docs/external/kuat-agent-rules/reference/brand/voice-and-tone.md +166 -0
  15. package/agent-docs/external/kuat-agent-rules/reference/content/README.md +12 -0
  16. package/agent-docs/external/kuat-agent-rules/reference/content/formatting.md +120 -0
  17. package/agent-docs/external/kuat-agent-rules/reference/content/numbers.md +87 -0
  18. package/agent-docs/external/kuat-agent-rules/reference/content/punctuation.md +94 -0
  19. package/agent-docs/external/kuat-agent-rules/reference/content/writing-style.md +96 -0
  20. package/agent-docs/external/kuat-agent-rules/reference/design-language/README.md +11 -0
  21. package/agent-docs/external/kuat-agent-rules/reference/design-language/borders.md +160 -0
  22. package/agent-docs/external/kuat-agent-rules/reference/design-language/colours.md +201 -0
  23. package/agent-docs/external/kuat-agent-rules/reference/design-language/design-language.md +117 -0
  24. package/agent-docs/external/kuat-agent-rules/reference/design-language/spacing.md +131 -0
  25. package/agent-docs/external/kuat-agent-rules/reference/design-language/tokens/README.md +29 -0
  26. package/agent-docs/external/kuat-agent-rules/reference/design-language/tokens/colors.tokens.json +84 -0
  27. package/agent-docs/external/kuat-agent-rules/reference/design-language/typography.md +156 -0
  28. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/README.md +10 -0
  29. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/content/README.md +26 -0
  30. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/content/blog-posts.md +29 -0
  31. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/content/marketing-content.md +61 -0
  32. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/content/seo.md +40 -0
  33. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/emails.md +68 -0
  34. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/patterns/README.md +7 -0
  35. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/patterns/marketing-pages.md +368 -0
  36. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/website.md +154 -0
  37. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/README.md +16 -0
  38. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/accessibility.md +392 -0
  39. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/component-decision-tree.md +248 -0
  40. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/component-registry.md +49 -0
  41. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/README.md +29 -0
  42. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/actions.md +45 -0
  43. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/confirmations.md +51 -0
  44. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/empty-states.md +37 -0
  45. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/errors.md +48 -0
  46. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/forms.md +68 -0
  47. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/product-content.md +128 -0
  48. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/design.md +177 -0
  49. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/emails.md +65 -0
  50. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/README.md +10 -0
  51. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/authentication.md +303 -0
  52. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/dashboards.md +313 -0
  53. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/documentation.md +333 -0
  54. package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/forms.md +361 -0
  55. package/agent-docs/kuat-docs/rules/README.md +155 -0
  56. package/agent-docs/kuat-docs/rules/design/layouts.md +394 -0
  57. package/agent-docs/kuat-docs/rules/scenarios/README.md +83 -0
  58. package/agent-docs/kuat-docs/rules/scenarios/authentication.md +301 -0
  59. package/agent-docs/kuat-docs/rules/scenarios/dashboards.md +314 -0
  60. package/agent-docs/kuat-docs/rules/scenarios/documentation.md +333 -0
  61. package/agent-docs/kuat-docs/rules/scenarios/forms.md +359 -0
  62. package/agent-docs/kuat-docs/rules/scenarios/marketing-pages.md +367 -0
  63. package/agent-docs/manifest.json +9 -0
  64. package/agent-docs/rules/LOADING-consumer.md +27 -0
  65. package/dist/accordion.d.ts +2 -0
  66. package/dist/alert-dialog.d.ts +2 -0
  67. package/dist/badge.d.ts +3 -0
  68. package/dist/button-group.d.ts +2 -0
  69. package/dist/button.d.ts +3 -0
  70. package/dist/carousel.d.ts +2 -0
  71. package/dist/checkbox.d.ts +3 -0
  72. package/dist/components/ui/accordion/accordion.d.ts +7 -0
  73. package/dist/components/ui/accordion/index.d.ts +1 -0
  74. package/dist/components/ui/alert-dialog/alert-dialog.d.ts +20 -0
  75. package/dist/components/ui/alert-dialog/index.d.ts +1 -0
  76. package/dist/components/ui/badge/badge.d.ts +16 -0
  77. package/dist/components/ui/badge/index.d.ts +2 -0
  78. package/dist/components/ui/breadcrumb/Breadcrumb.d.ts +29 -0
  79. package/dist/components/ui/breadcrumb/breadcrumb-primitives.d.ts +19 -0
  80. package/dist/components/ui/breadcrumb/index.d.ts +4 -0
  81. package/dist/components/ui/button/button.d.ts +27 -0
  82. package/dist/components/ui/button/index.d.ts +2 -0
  83. package/dist/components/ui/button-group/button-group.d.ts +23 -0
  84. package/dist/components/ui/button-group/index.d.ts +2 -0
  85. package/dist/components/ui/carousel/carousel.d.ts +50 -0
  86. package/dist/components/ui/carousel/index.d.ts +2 -0
  87. package/dist/components/ui/checkbox/checkbox-field.d.ts +23 -0
  88. package/dist/components/ui/checkbox/checkbox.d.ts +5 -0
  89. package/dist/components/ui/checkbox/index.d.ts +4 -0
  90. package/dist/components/ui/content-card/content-card.d.ts +29 -0
  91. package/dist/components/ui/content-card/index.d.ts +2 -0
  92. package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts +27 -0
  93. package/dist/components/ui/dropdown-menu/index.d.ts +1 -0
  94. package/dist/components/ui/ee-logo-icon/ee-logo-icon.d.ts +11 -0
  95. package/dist/components/ui/ee-logo-icon/index.d.ts +2 -0
  96. package/dist/components/ui/field/field.d.ts +28 -0
  97. package/dist/components/ui/field/index.d.ts +2 -0
  98. package/dist/components/ui/icon-button/icon-button.d.ts +27 -0
  99. package/dist/components/ui/icon-button/index.d.ts +2 -0
  100. package/dist/components/ui/input/index.d.ts +2 -0
  101. package/dist/components/ui/input/input.d.ts +20 -0
  102. package/dist/components/ui/kuat-carousel/index.d.ts +2 -0
  103. package/dist/components/ui/kuat-carousel/kuat-carousel.d.ts +16 -0
  104. package/dist/components/ui/kuat-header/index.d.ts +4 -0
  105. package/dist/components/ui/kuat-header/kuat-header.d.ts +16 -0
  106. package/dist/components/ui/kuat-header/kuat-header.logic.d.ts +32 -0
  107. package/dist/components/ui/kuat-header/kuat-header.types.d.ts +91 -0
  108. package/dist/components/ui/kuat-logo-lockup/index.d.ts +2 -0
  109. package/dist/components/ui/kuat-logo-lockup/kuat-logo-lockup.d.ts +17 -0
  110. package/dist/components/ui/kuat-radial-progress/index.d.ts +2 -0
  111. package/dist/components/ui/kuat-radial-progress/kuat-radial-progress.d.ts +16 -0
  112. package/dist/components/ui/radio/index.d.ts +4 -0
  113. package/dist/components/ui/radio/radio-field.d.ts +25 -0
  114. package/dist/components/ui/radio/radio.d.ts +7 -0
  115. package/dist/components/ui/select/constants.d.ts +19 -0
  116. package/dist/components/ui/select/index.d.ts +3 -0
  117. package/dist/components/ui/select/select.d.ts +53 -0
  118. package/dist/components/ui/separator/index.d.ts +2 -0
  119. package/dist/components/ui/separator/separator.d.ts +9 -0
  120. package/dist/components/ui/sonner/index.d.ts +4 -0
  121. package/dist/components/ui/sonner/sonner-content.d.ts +15 -0
  122. package/dist/components/ui/sonner/sonner.d.ts +21 -0
  123. package/dist/components/ui/switch/index.d.ts +4 -0
  124. package/dist/components/ui/switch/switch-field.d.ts +23 -0
  125. package/dist/components/ui/switch/switch.d.ts +5 -0
  126. package/dist/components/ui/textarea/index.d.ts +2 -0
  127. package/dist/components/ui/textarea/textarea.d.ts +9 -0
  128. package/dist/components/ui/toggle/constants.d.ts +4 -0
  129. package/dist/components/ui/toggle/index.d.ts +6 -0
  130. package/dist/components/ui/toggle/toggle-group.d.ts +11 -0
  131. package/dist/components/ui/toggle/toggle.d.ts +9 -0
  132. package/dist/field.d.ts +3 -0
  133. package/dist/icon-button.d.ts +3 -0
  134. package/dist/index.d.ts +47 -0
  135. package/dist/input.d.ts +3 -0
  136. package/dist/kuat-carousel.d.ts +2 -0
  137. package/dist/kuat-radial-progress.d.ts +7 -0
  138. package/dist/lib/react-node-compat.d.ts +7 -0
  139. package/dist/lib/utils.d.ts +3 -0
  140. package/dist/radio.d.ts +3 -0
  141. package/dist/select.d.ts +3 -0
  142. package/dist/sonner.d.ts +1 -0
  143. package/dist/style.css +1 -1
  144. package/dist/style.css.d.ts +2 -0
  145. package/dist/switch.d.ts +1 -0
  146. package/dist/test/setup.d.ts +1 -0
  147. package/dist/textarea.d.ts +3 -0
  148. package/dist/toggle-group.d.ts +3 -0
  149. package/dist/toggle.d.ts +3 -0
  150. package/package.json +4 -2
@@ -0,0 +1,155 @@
1
+ # Kuat rules index
2
+
3
+ Single entry point for **Equal Experts** canonical rules (vendored copy) and **Kuat**-specific implementation notes. Generic brand doctrine is **not** duplicated here—link targets live under [`external/kuat-agent-rules`](../../external/kuat-agent-rules).
4
+
5
+ > Policy: [Rules source of truth](../setup/rules-source-of-truth.md). Upstream is now a passive reference library — start at [`reference/README.md`](../../external/kuat-agent-rules/reference/README.md).
6
+
7
+ **Path prefix (this repo):** `external/kuat-agent-rules/reference/`
8
+
9
+ ---
10
+
11
+ ## Canonical EE rules (vendored)
12
+
13
+ Use these files in the synced tree. Paths below are relative to the repo root.
14
+
15
+ ### Reference index & loading
16
+
17
+ | Resource | Path |
18
+ |----------|------|
19
+ | Reference index | [`external/kuat-agent-rules/reference/README.md`](../../external/kuat-agent-rules/reference/README.md) |
20
+ | Migration map (old→new paths) | [`external/kuat-agent-rules/reference/MIGRATION-MAP.md`](../../external/kuat-agent-rules/reference/MIGRATION-MAP.md) |
21
+
22
+ ### Foundations — design language
23
+
24
+ | Topic | Path |
25
+ |-------|------|
26
+ | Design language | [`.../design-language/design-language.md`](../../external/kuat-agent-rules/reference/design-language/design-language.md) |
27
+ | Colours | [`.../design-language/colours.md`](../../external/kuat-agent-rules/reference/design-language/colours.md) |
28
+ | Typography | [`.../design-language/typography.md`](../../external/kuat-agent-rules/reference/design-language/typography.md) |
29
+ | Spacing | [`.../design-language/spacing.md`](../../external/kuat-agent-rules/reference/design-language/spacing.md) |
30
+ | Borders | [`.../design-language/borders.md`](../../external/kuat-agent-rules/reference/design-language/borders.md) |
31
+
32
+ ### Foundations — brand
33
+
34
+ | Topic | Path |
35
+ |-------|------|
36
+ | Brand | [`.../brand/brand.md`](../../external/kuat-agent-rules/reference/brand/brand.md) |
37
+ | Logo | [`.../brand/logo.md`](../../external/kuat-agent-rules/reference/brand/logo.md) |
38
+ | Voice and tone | [`.../brand/voice-and-tone.md`](../../external/kuat-agent-rules/reference/brand/voice-and-tone.md) |
39
+
40
+ ### Foundations — content
41
+
42
+ | Topic | Path |
43
+ |-------|------|
44
+ | Content index | [`.../content/README.md`](../../external/kuat-agent-rules/reference/content/README.md) |
45
+ | Writing style | [`.../content/writing-style.md`](../../external/kuat-agent-rules/reference/content/writing-style.md) |
46
+ | Formatting | [`.../content/formatting.md`](../../external/kuat-agent-rules/reference/content/formatting.md) |
47
+ | Punctuation | [`.../content/punctuation.md`](../../external/kuat-agent-rules/reference/content/punctuation.md) |
48
+ | Numbers | [`.../content/numbers.md`](../../external/kuat-agent-rules/reference/content/numbers.md) |
49
+
50
+ ### Foundations — accessibility
51
+
52
+ | Topic | Path |
53
+ |-------|------|
54
+ | Accessibility | [`.../accessibility/accessibility.md`](../../external/kuat-agent-rules/reference/accessibility/accessibility.md) |
55
+
56
+ ### Media types — web product
57
+
58
+ | Topic | Path |
59
+ |-------|------|
60
+ | Product design (layouts / navigation patterns) | [`.../media-types/web-product/design.md`](../../external/kuat-agent-rules/reference/media-types/web-product/design.md) |
61
+ | Product content | [`.../media-types/web-product/content/product-content.md`](../../external/kuat-agent-rules/reference/media-types/web-product/content/product-content.md) |
62
+ | Product content (directory) | [`.../media-types/web-product/content/`](../../external/kuat-agent-rules/reference/media-types/web-product/content/) |
63
+
64
+ ### Media types — web marketing
65
+
66
+ | Topic | Path |
67
+ |-------|------|
68
+ | Marketing website | [`.../media-types/web-marketing/website.md`](../../external/kuat-agent-rules/reference/media-types/web-marketing/website.md) |
69
+ | Marketing content | [`.../media-types/web-marketing/content/marketing-content.md`](../../external/kuat-agent-rules/reference/media-types/web-marketing/content/marketing-content.md) |
70
+ | Marketing content (directory) | [`.../media-types/web-marketing/content/`](../../external/kuat-agent-rules/reference/media-types/web-marketing/content/) |
71
+
72
+ ---
73
+
74
+ ## Kuat implementation (this monorepo)
75
+
76
+ High-level EE design language is in [`design-language.md`](../../external/kuat-agent-rules/reference/design-language/design-language.md). The sections below are **Kuat-only**: how tokens and packages map to code.
77
+
78
+ ### What is Kuat?
79
+
80
+ Kuat is the design decision layer for Equal Experts web UIs: tokens (`@equal-experts/kuat-core`), components (`@equal-experts/kuat-react`, `@equal-experts/kuat-vue`), blocks, and documentation.
81
+
82
+ ### Token architecture
83
+
84
+ **Layer 1 — Brand colours:** EE Blue, Transform Teal, Tech Blue, Equal Ember (see upstream colours doc).
85
+
86
+ **Layer 2 — Semantic tokens** (examples): `--primary`, `--secondary`, `--accent`, `--background`, `--foreground`, `--muted`, `--destructive`, `--border`, `--input`, `--ring`.
87
+
88
+ **Layer 3 — Component tokens** (examples): `--card`, `--card-foreground`, `--sidebar`, `--sidebar-foreground`, `--popover`, `--popover-foreground`.
89
+
90
+ ### Theming
91
+
92
+ - **Light:** default semantic tokens.
93
+ - **Dark:** add `.dark` on the root; semantic tokens switch; follow upstream usage for brand colours.
94
+
95
+ ### Package layout
96
+
97
+ ```
98
+ @equal-experts/kuat-core/
99
+ ├── src/variables.css
100
+ └── tailwind.config.ts
101
+
102
+ @equal-experts/kuat-react/ → src/components/
103
+ @equal-experts/kuat-vue/ → src/components/
104
+ ```
105
+
106
+ ### Integration docs
107
+
108
+ - [Integration guide](../setup/integration.md)
109
+ - [Kuat core integration](../setup/kuat-core-integration.md)
110
+
111
+ ---
112
+
113
+ ## Local rule documents (not mirrored above)
114
+
115
+ These files live only under `kuat-docs/rules/` and add Kuat or scenario-specific guidance:
116
+
117
+ | Area | Entry |
118
+ |------|--------|
119
+ | Layout primitives | [design/layouts.md](./design/layouts.md) |
120
+ | Components | [components/README.md](./components/README.md), [patterns.md](./components/patterns.md) |
121
+ | Accessibility | [accessibility/README.md](./accessibility/README.md) |
122
+ | Scenarios | [scenarios/README.md](./scenarios/README.md) |
123
+
124
+ ---
125
+
126
+ ## Quick navigation
127
+
128
+ | Category | Notes |
129
+ |----------|--------|
130
+ | **EE canonical** | Tables above → `external/kuat-agent-rules` |
131
+ | **Kuat tokens & packages** | Section *Kuat implementation* |
132
+ | **[Design — layouts](./design/layouts.md)** | Kuat layout primitives + upstream scenario links |
133
+ | **[Accessibility](./accessibility/)** | WCAG-oriented local guides |
134
+ | **[Components](./components/)** | Naming, variants, patterns |
135
+ | **[Scenarios](./scenarios/)** | Applied flows (auth, dashboards, …) |
136
+
137
+ ---
138
+
139
+ ## Implementation examples
140
+
141
+ Code samples are not in this file:
142
+
143
+ - [examples/react/](../examples/react/)
144
+ - [examples/vue/](../examples/vue/)
145
+ - [examples/css/](../examples/css/)
146
+
147
+ ---
148
+
149
+ ## For AI agents
150
+
151
+ 1. **Default:** Load **this file** (`kuat-docs/rules/README.md`), then open the specific upstream file(s) from the tables (same paths under `external/kuat-agent-rules/...`).
152
+ 2. **Design tokens / brand colour decisions:** [`design-language/colours.md`](../../external/kuat-agent-rules/reference/design-language/colours.md) (and spacing/typography/borders as needed).
153
+ 3. **Content voice / UX copy:** [`brand/voice-and-tone.md`](../../external/kuat-agent-rules/reference/brand/voice-and-tone.md) plus product or marketing content docs above.
154
+ 4. **Layout structure in code:** [design/layouts.md](./design/layouts.md).
155
+ 5. **Components:** [components/patterns.md](./components/patterns.md) + relevant `examples/{framework}/`.
@@ -0,0 +1,394 @@
1
+ # Layout Primitives
2
+
3
+ Reusable layout building blocks for the Kuat Design System. This document defines layout types, content regions, and structural guidelines - independent of framework.
4
+
5
+ For scenario-specific guidance (dashboards, authentication, marketing pages), see [Scenarios](../scenarios/).
6
+
7
+ **Upstream (brand layout patterns):** Product interfaces and dashboards follow [`media-types/web-product/design.md`](../../../external/kuat-agent-rules/reference/media-types/web-product/design.md). Marketing sites and campaigns follow [`media-types/web-marketing/website.md`](../../../external/kuat-agent-rules/reference/media-types/web-marketing/website.md). This file focuses on **Kuat layout primitives** used in code, not on replacing those reference guides.
8
+
9
+ ---
10
+
11
+ ## Overview
12
+
13
+ Layouts are the structural foundation of every page. Kuat provides five layout primitives that can be combined and configured for different use cases.
14
+
15
+ **Key principle:** Choose the layout primitive that best supports your content and navigation needs, then configure it for your specific scenario.
16
+
17
+ ---
18
+
19
+ ## Layout Types
20
+
21
+ ### 1. Horizontal Navigation Layout
22
+
23
+ Header bar with navigation, full-width content below.
24
+
25
+ ```
26
+ ┌─────────────────────────────────────────┐
27
+ │ Header Bar │
28
+ │ [Logo] [Nav Items] [Actions] │
29
+ ├─────────────────────────────────────────┤
30
+ │ │
31
+ │ Main Content Area │
32
+ │ (Full width) │
33
+ │ │
34
+ ├─────────────────────────────────────────┤
35
+ │ Footer (optional) │
36
+ └─────────────────────────────────────────┘
37
+ ```
38
+
39
+ **Use when:**
40
+ - Limited navigation items (5-7 max)
41
+ - Content is the primary focus
42
+ - Simple information architecture
43
+
44
+ **Specifications:**
45
+
46
+ | Property | Value |
47
+ |----------|-------|
48
+ | Header height | 64-80px |
49
+ | Header padding | 16-24px horizontal, 16px vertical |
50
+ | Content max-width | 1200-1400px (or full width) |
51
+ | Content padding | 24-32px |
52
+
53
+ **Variants:**
54
+ - Light header (`bg-background`) - Marketing, public-facing
55
+ - Dark header (`bg-sidebar`) - Applications, dashboards
56
+
57
+ ---
58
+
59
+ ### 2. Sidebar Navigation Layout
60
+
61
+ Fixed or collapsible sidebar with content area.
62
+
63
+ ```
64
+ ┌──────┬──────────────────────────────────┐
65
+ │ │ Top Bar (optional) │
66
+ │ Side │ [Breadcrumbs] [Actions] │
67
+ │ bar │──────────────────────────────────┤
68
+ │ │ │
69
+ │ [Logo│ Main Content Area │
70
+ │ Nav │ │
71
+ │ Items│ │
72
+ │ ]│ │
73
+ └──────┴──────────────────────────────────┘
74
+ ```
75
+
76
+ **Use when:**
77
+ - Complex navigation (8+ items)
78
+ - Hierarchical structure
79
+ - Persistent navigation needed
80
+ - Application interfaces
81
+
82
+ **Specifications:**
83
+
84
+ | Property | Value |
85
+ |----------|-------|
86
+ | Sidebar width | 240-280px expanded |
87
+ | Sidebar collapsed | 64px (icons only) |
88
+ | Top bar height | 48-64px |
89
+ | Content padding | 24-32px |
90
+
91
+ **Variants:**
92
+ - Dark sidebar (`bg-sidebar`) - Standard for apps
93
+ - Light sidebar (`bg-muted`) - Documentation sites
94
+
95
+ ---
96
+
97
+ ### 3. Single Column Layout
98
+
99
+ Centered content with no persistent navigation.
100
+
101
+ ```
102
+ ┌─────────────────────────────────────────┐
103
+ │ [Logo] (optional) │
104
+ ├─────────────────────────────────────────┤
105
+ │ │
106
+ │ ┌─────────────────────────┐ │
107
+ │ │ │ │
108
+ │ │ Centered Content │ │
109
+ │ │ (max-width card) │ │
110
+ │ │ │ │
111
+ │ └─────────────────────────┘ │
112
+ │ │
113
+ ├─────────────────────────────────────────┤
114
+ │ Footer (minimal/optional) │
115
+ └─────────────────────────────────────────┘
116
+ ```
117
+
118
+ **Use when:**
119
+ - Focused single task (login, registration)
120
+ - Error pages (404, 500)
121
+ - Confirmation/success pages
122
+ - Minimal distraction needed
123
+
124
+ **Specifications:**
125
+
126
+ | Property | Value |
127
+ |----------|-------|
128
+ | Content max-width | 400-480px |
129
+ | Content padding | 24-32px |
130
+ | Vertical alignment | Centered (min-height: 100vh) |
131
+ | Background | `bg-background` or `bg-muted` |
132
+
133
+ ---
134
+
135
+ ### 4. Multi-Column Layout
136
+
137
+ Grid-based content regions for complex pages.
138
+
139
+ ```
140
+ ┌─────────────────────────────────────────┐
141
+ │ Header │
142
+ ├─────────────────────────────────────────┤
143
+ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
144
+ │ │ Column │ │ Column │ │ Column │ │
145
+ │ │ 1 │ │ 2 │ │ 3 │ │
146
+ │ └─────────┘ └─────────┘ └─────────┘ │
147
+ │ │
148
+ │ ┌───────────────────┐ ┌───────────────┐│
149
+ │ │ Column 1 │ │ Column 2 ││
150
+ │ └───────────────────┘ └───────────────┘│
151
+ ├─────────────────────────────────────────┤
152
+ │ Footer │
153
+ └─────────────────────────────────────────┘
154
+ ```
155
+
156
+ **Use when:**
157
+ - Dashboard overviews
158
+ - Feature/comparison pages
159
+ - Card-based content displays
160
+
161
+ **Column Configurations:**
162
+
163
+ | Configuration | Use Case |
164
+ |---------------|----------|
165
+ | 2 columns (50/50) | Comparison, side-by-side |
166
+ | 2 columns (66/33) | Main content + sidebar info |
167
+ | 3 columns (equal) | Feature grids, card displays |
168
+ | 4 columns (equal) | KPI dashboards, metrics |
169
+
170
+ **Specifications:**
171
+
172
+ | Property | Value |
173
+ |----------|-------|
174
+ | Column gap | 16-24px |
175
+ | Row gap | 16-24px |
176
+ | Container max-width | 1200-1400px |
177
+
178
+ ---
179
+
180
+ ### 5. Split Layout
181
+
182
+ Two-panel layout for focused comparison or workflow.
183
+
184
+ ```
185
+ ┌────────────────────┬────────────────────┐
186
+ │ │ │
187
+ │ Left Panel │ Right Panel │
188
+ │ │ │
189
+ │ │ │
190
+ │ │ │
191
+ └────────────────────┴────────────────────┘
192
+ ```
193
+
194
+ **Use when:**
195
+ - Side-by-side comparison
196
+ - Code editor + preview
197
+ - List + detail view
198
+ - Documentation with table of contents
199
+
200
+ **Split Ratios:**
201
+
202
+ | Ratio | Use Case |
203
+ |-------|----------|
204
+ | 50/50 | Equal comparison |
205
+ | 60/40 | Primary + secondary |
206
+ | 70/30 | Main content + table of contents |
207
+ | 33/67 | Navigation + main content |
208
+
209
+ **Specifications:**
210
+
211
+ | Property | Value |
212
+ |----------|-------|
213
+ | Divider | 1px border or resizable handle |
214
+ | Min panel width | 240px |
215
+ | Panel padding | 16-24px |
216
+
217
+ ---
218
+
219
+ ## Content Regions
220
+
221
+ ### Header Region
222
+
223
+ | Property | Light Variant | Dark Variant |
224
+ |----------|---------------|--------------|
225
+ | Background | `bg-background` | `bg-sidebar` |
226
+ | Text | `text-foreground` | `text-sidebar-foreground` |
227
+ | Logo | Full-color | White monochrome |
228
+ | Height | 64-80px | 64-72px |
229
+
230
+ ### Footer Region
231
+
232
+ | Property | Value |
233
+ |----------|-------|
234
+ | Background | `bg-muted` or `bg-background` |
235
+ | Padding | 32-48px vertical |
236
+ | Content | Logo, links, legal text |
237
+
238
+ ### Main Content Region
239
+
240
+ | Property | Value |
241
+ |----------|-------|
242
+ | Background | `bg-background` |
243
+ | Padding | 24-32px |
244
+ | Max-width | Varies by layout (1200-1400px typical) |
245
+
246
+ ### Sidebar Region
247
+
248
+ | Property | Value |
249
+ |----------|-------|
250
+ | Background | `bg-sidebar` (dark) or `bg-muted` (light) |
251
+ | Width | 240-280px expanded, 64px collapsed |
252
+ | Padding | 16px |
253
+ | Scroll | Independent scroll from main content |
254
+
255
+ ---
256
+
257
+ ## Navigation Color Tokens
258
+
259
+ For dark navigation (horizontal bar or sidebar):
260
+
261
+ | Token | Purpose |
262
+ |-------|---------|
263
+ | `--sidebar` | Navigation background (Tech Blue) |
264
+ | `--sidebar-foreground` | Text color (White) |
265
+ | `--sidebar-primary` | Primary accent (EE Blue) |
266
+ | `--sidebar-primary-foreground` | Text on primary |
267
+ | `--sidebar-accent` | Hover/active background |
268
+ | `--sidebar-accent-foreground` | Text on accent |
269
+ | `--sidebar-border` | Border color |
270
+ | `--sidebar-ring` | Focus ring color |
271
+
272
+ ---
273
+
274
+ ## Spacing Guidelines
275
+
276
+ Follow the 8-point grid system:
277
+
278
+ | Element | Spacing |
279
+ |---------|---------|
280
+ | Navigation height | 64-80px (multiples of 8) |
281
+ | Sidebar width | 240-280px (multiples of 8) |
282
+ | Padding | 16px, 24px, 32px (multiples of 8) |
283
+ | Content gap | 16px, 24px (multiples of 8) |
284
+
285
+ ---
286
+
287
+ ## Layout Accessibility
288
+
289
+ **Reference:** [accessibility/technical.md](../accessibility/technical.md)
290
+
291
+ ### Landmark Roles
292
+
293
+ Every layout must include proper landmarks:
294
+
295
+ | Region | HTML Element | Role |
296
+ |--------|--------------|------|
297
+ | Header | `<header>` | banner |
298
+ | Navigation | `<nav>` | navigation |
299
+ | Main content | `<main>` | main |
300
+ | Sidebar | `<aside>` | complementary |
301
+ | Footer | `<footer>` | contentinfo |
302
+
303
+ ### Skip Links
304
+
305
+ For layouts with significant navigation, include a skip link:
306
+
307
+ ```html
308
+ <a href="#main-content" class="sr-only focus:not-sr-only">
309
+ Skip to main content
310
+ </a>
311
+ ```
312
+
313
+ ### Focus Order
314
+
315
+ - Focus order must follow visual order
316
+ - Sidebar navigation focuses before main content
317
+ - Modal/drawer navigation traps focus when open
318
+
319
+ ### Keyboard Navigation
320
+
321
+ - All navigation items reachable via Tab
322
+ - Arrow keys for navigating within menus
323
+ - Escape closes mobile/overlay navigation
324
+
325
+ ---
326
+
327
+ ## Responsive Behavior
328
+
329
+ ### Breakpoints
330
+
331
+ | Breakpoint | Width | Typical Use |
332
+ |------------|-------|-------------|
333
+ | Mobile | < 640px | Single column, overlay nav |
334
+ | Tablet | 640-1024px | Collapsed sidebar, simplified nav |
335
+ | Desktop | > 1024px | Full layout with all features |
336
+
337
+ ### Horizontal Navigation
338
+
339
+ | Breakpoint | Behavior |
340
+ |------------|----------|
341
+ | Mobile | Collapse to hamburger menu |
342
+ | Tablet | Show primary nav, hide secondary |
343
+ | Desktop | Full navigation visible |
344
+
345
+ ### Sidebar Navigation
346
+
347
+ | Breakpoint | Behavior |
348
+ |------------|----------|
349
+ | Mobile | Overlay/drawer, hidden by default |
350
+ | Tablet | Collapsible (default collapsed) |
351
+ | Desktop | Full sidebar visible (240-280px) |
352
+
353
+ ### Content Grids
354
+
355
+ | Breakpoint | Columns |
356
+ |------------|---------|
357
+ | Mobile | 1 column (stacked) |
358
+ | Tablet | 2 columns |
359
+ | Desktop | 3-4 columns |
360
+
361
+ ---
362
+
363
+ ## Applied Patterns
364
+
365
+ For scenario-specific guidance on how to use these layout primitives:
366
+
367
+ | Scenario | Recommended Layout | Reference |
368
+ |----------|-------------------|-----------|
369
+ | Authentication | Single Column | [scenarios/authentication.md](../scenarios/authentication.md) |
370
+ | Dashboards | Sidebar Navigation | [scenarios/dashboards.md](../scenarios/dashboards.md) |
371
+ | Forms & Settings | Sidebar or Single Column | [scenarios/forms.md](../scenarios/forms.md) |
372
+ | Documentation | Sidebar + Split | [scenarios/documentation.md](../scenarios/documentation.md) |
373
+ | Marketing Pages | Horizontal Navigation | [scenarios/marketing-pages.md](../scenarios/marketing-pages.md) |
374
+
375
+ ---
376
+
377
+ ## Implementation Examples
378
+
379
+ For code examples implementing these layouts:
380
+
381
+ | Framework | Guide |
382
+ |-----------|-------|
383
+ | React | [examples/react/layouts.md](../../examples/react/layouts.md) |
384
+ | Vue | [examples/vue/layouts.md](../../examples/vue/layouts.md) |
385
+ | Other | [setup/kuat-core-integration.md](../../setup/kuat-core-integration.md) |
386
+
387
+ ---
388
+
389
+ ## Related Documentation
390
+
391
+ - [Spacing](./spacing.md) - 8-point grid system
392
+ - [Colours](./colours.md) - Color tokens
393
+ - [Logo](./logo.md) - Logo usage and variants
394
+ - [Accessibility](../accessibility/technical.md) - Technical accessibility
@@ -0,0 +1,83 @@
1
+ # Scenario Patterns
2
+
3
+ Applied layout and design patterns for specific use cases.
4
+
5
+ Each scenario combines foundational EE rules (indexed in [`rules/README.md`](../README.md), files under `external/kuat-agent-rules`) with `rules/accessibility/` into actionable guidance for building complete page types.
6
+
7
+ ---
8
+
9
+ ## When to Use Scenarios
10
+
11
+ Load a scenario guide when:
12
+
13
+ - Building a specific page type (login, dashboard, pricing page)
14
+ - Need composition guidance beyond foundational design rules
15
+ - Want consistent patterns for common UI challenges
16
+
17
+ ---
18
+
19
+ ## Available Scenarios
20
+
21
+ | Scenario | Use For | Base Layout |
22
+ |----------|---------|-------------|
23
+ | [authentication.md](./authentication.md) | Login, registration, password flows, MFA | Single Column |
24
+ | [dashboards.md](./dashboards.md) | Analytics, data tables, metrics, reporting | Sidebar Navigation |
25
+ | [forms.md](./forms.md) | Settings, multi-step forms, data entry | Varies |
26
+ | [documentation.md](./documentation.md) | Docs sites, knowledge bases, API reference | Sidebar + Split |
27
+ | [marketing-pages.md](./marketing-pages.md) | Landing pages, pricing, features, case studies | Horizontal Navigation |
28
+
29
+ ---
30
+
31
+ ## Scenario Structure
32
+
33
+ Each scenario file follows a consistent structure:
34
+
35
+ | Section | Purpose |
36
+ |---------|---------|
37
+ | **Principles** | Core UX principles, user goals, success metrics |
38
+ | **Layout** | Which base layout to use, page structure, regions |
39
+ | **Design** | Color tokens, typography, spacing, components |
40
+ | **Content** | Content hierarchy, microcopy, error messaging |
41
+ | **Accessibility** | Scenario-specific a11y requirements (references base docs) |
42
+ | **Implementation** | Component composition, state patterns, responsive behavior |
43
+ | **Best Practices** | Do's/Don'ts, common mistakes, edge cases |
44
+
45
+ ---
46
+
47
+ ## How Scenarios Reference Foundations
48
+
49
+ Scenarios build on foundational documentation:
50
+
51
+ ```
52
+ ┌─────────────────────────────────────────┐
53
+ │ SCENARIOS │
54
+ │ (authentication, dashboards, etc.) │
55
+ ├─────────────────────────────────────────┤
56
+ │ References: │
57
+ │ ├── rules/README.md (EE canonical) │
58
+ │ ├── external/kuat-agent-rules/... │
59
+ │ ├── rules/design/layouts.md │
60
+ │ ├── rules/accessibility/*.md │
61
+ │ └── rules/components/ (as needed) │
62
+ └─────────────────────────────────────────┘
63
+ ```
64
+
65
+ ---
66
+
67
+ ## For AI Agents
68
+
69
+ When building a specific page type:
70
+
71
+ 1. Load the relevant scenario file
72
+ 2. Follow the recommended base layout from `rules/design/layouts.md`
73
+ 3. Reference accessibility requirements from `rules/accessibility/`
74
+ 4. Use design tokens from the EE foundations linked in [`rules/README.md`](../README.md) (e.g. `design-language/colours.md`, `typography.md` under `external/kuat-agent-rules/reference`)
75
+
76
+ ---
77
+
78
+ ## Related Documentation
79
+
80
+ - [Layout Primitives](../design/layouts.md) - Base layout building blocks
81
+ - [Accessibility](../accessibility/) - WCAG requirements
82
+ - [Rules index](../README.md) - EE canonical design/content paths and Kuat notes
83
+ - [Design — layouts](../design/layouts.md) - Layout primitives