@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,45 @@
1
+ # Actions (Buttons and Links)
2
+
3
+ Guidance for button labels and link text in product interfaces.
4
+
5
+ ---
6
+
7
+ ## Buttons
8
+
9
+ **Do:**
10
+ - Use verb-driven labels
11
+ - Be specific about what happens
12
+ - Keep labels short (1–3 words ideal)
13
+ - Use sentence case
14
+
15
+ **Don't:**
16
+ - Use vague labels like "OK" or "Submit"
17
+ - Make labels overly long
18
+ - Use ALL CAPS
19
+ - Include instructions in button labels
20
+
21
+ **Good examples:**
22
+ - [Save and close]
23
+ - [Delete expense]
24
+ - [Send invoice now]
25
+ - [Connect bank]
26
+
27
+ **Bad examples:**
28
+ - [OK] (ambiguous)
29
+ - [SUBMIT FORM NOW] (shouty, vague)
30
+ - [Click here to continue] (generic)
31
+
32
+ ---
33
+
34
+ ## Links
35
+
36
+ - Use descriptive link text that states the destination or action
37
+ - Avoid "click here", "read more", or "learn more" without context
38
+ - See [content formatting](../../../content/formatting.md) for link guidelines
39
+
40
+ ---
41
+
42
+ ## Related
43
+
44
+ - [Product content](./product-content.md)
45
+ - [Confirmations](./confirmations.md)
@@ -0,0 +1,51 @@
1
+ # Confirmations
2
+
3
+ When and how to write confirmation dialogs for destructive or high-impact actions.
4
+
5
+ ---
6
+
7
+ ## When to Use Confirmations
8
+
9
+ **Use for:**
10
+ - Destructive actions (delete, remove)
11
+ - Actions that can't be undone
12
+ - Actions with significant consequences
13
+
14
+ **Don't use for:**
15
+ - Actions easily undone
16
+ - Low-stakes decisions
17
+ - Frequent actions
18
+
19
+ ---
20
+
21
+ ## Confirmation Pattern
22
+
23
+ 1. **Clear question or statement** – What is about to happen?
24
+ 2. **Consequences** – What will be affected? (list if helpful)
25
+ 3. **Irreversibility** – State if the action can't be undone
26
+ 4. **Primary action** – Specific, verb-driven (e.g. "Delete permanently")
27
+ 5. **Cancel** – "Cancel" or "Keep [item]"
28
+
29
+ ---
30
+
31
+ ## Example
32
+
33
+ ```
34
+ Delete client account?
35
+
36
+ This will permanently delete [Client Name] and all associated:
37
+ - Invoices (12)
38
+ - Payments (8)
39
+ - Transaction history
40
+
41
+ You can't undo this action.
42
+
43
+ [Delete permanently] [Cancel]
44
+ ```
45
+
46
+ ---
47
+
48
+ ## Related
49
+
50
+ - [Product content](./product-content.md)
51
+ - [Actions](./actions.md)
@@ -0,0 +1,37 @@
1
+ # Empty States
2
+
3
+ How to write copy when there's no data or content to show yet.
4
+
5
+ ---
6
+
7
+ ## Principles
8
+
9
+ **Do:**
10
+ - Explain why the state is empty
11
+ - Provide a clear next action
12
+ - Use a positive, encouraging tone
13
+
14
+ **Don't:**
15
+ - Leave the user guessing
16
+ - Use negative or blaming language
17
+ - Offer multiple competing actions without a clear primary one
18
+
19
+ ---
20
+
21
+ ## Example
22
+
23
+ ```
24
+ No invoices yet
25
+
26
+ Create your first invoice to get paid faster.
27
+ It takes less than 2 minutes.
28
+
29
+ [Create invoice]
30
+ ```
31
+
32
+ ---
33
+
34
+ ## Related
35
+
36
+ - [Product content](./product-content.md)
37
+ - [Actions](./actions.md)
@@ -0,0 +1,48 @@
1
+ # Errors
2
+
3
+ How to write error messages that help users fix the problem.
4
+
5
+ ---
6
+
7
+ ## Error Message Formula
8
+
9
+ 1. **What went wrong** – Be specific
10
+ 2. **Why it happened** – If it helps the user (e.g. which field, what rule)
11
+ 3. **How to fix it** – Actionable next step
12
+
13
+ ---
14
+
15
+ ## Do
16
+
17
+ - Be specific about the problem
18
+ - Use plain language
19
+ - Provide actionable next steps
20
+ - Take responsibility where appropriate ("We couldn't save..." rather than "You entered invalid data")
21
+
22
+ ---
23
+
24
+ ## Don't
25
+
26
+ - Blame the user
27
+ - Use technical jargon or error codes in the UI
28
+ - Be vague ("An error occurred")
29
+ - Leave the user without a next step
30
+
31
+ ---
32
+
33
+ ## Example
34
+
35
+ ```
36
+ Can't save invoice
37
+
38
+ The customer email "john@example,com" has a comma instead of a period.
39
+
40
+ Fix the email address and try again.
41
+ ```
42
+
43
+ ---
44
+
45
+ ## Related
46
+
47
+ - [Product content](./product-content.md)
48
+ - [Forms](./forms.md) – Validation messages
@@ -0,0 +1,68 @@
1
+ # Forms
2
+
3
+ Content guidance for forms: labels, placeholders, helper text, validation, and structure.
4
+
5
+ ---
6
+
7
+ ## Labels
8
+
9
+ **Do:**
10
+ - Always use a visible label (not only a placeholder)
11
+ - Keep labels short and clear
12
+ - Use sentence case
13
+ - Position labels above fields (or consistent with your design system)
14
+
15
+ **Don't:**
16
+ - Use placeholder as the only label (placeholders disappear on focus and aren’t always read by assistive tech)
17
+ - Make labels overly long
18
+ - Hide labels on focus
19
+
20
+ ---
21
+
22
+ ## Placeholders
23
+
24
+ - Use for short hints or examples (e.g. "e.g. name@example.com")
25
+ - Don’t put critical instructions only in placeholders
26
+ - Keep placeholder text brief; move longer guidance to helper text
27
+
28
+ ---
29
+
30
+ ## Helper Text
31
+
32
+ - Use for optional instructions, format requirements, or context
33
+ - Place below the field or with the label
34
+ - Keep it concise; link to full help if needed
35
+
36
+ ---
37
+
38
+ ## Validation Messages
39
+
40
+ - Show validation at the right time (e.g. on blur or submit, depending on pattern)
41
+ - Be specific: "Password must be at least 8 characters" not "Invalid password"
42
+ - Tie the message to the field (inline or next to the field) so users know what to fix
43
+ - See [Errors](./errors.md) for the problem–cause–fix pattern
44
+
45
+ ---
46
+
47
+ ## Form Structure
48
+
49
+ - Group related fields (e.g. contact details, payment)
50
+ - Use clear section headings for long forms
51
+ - Order fields in a logical flow (e.g. match the user’s mental model or task order)
52
+ - Use progressive disclosure for optional or advanced fields so the form doesn’t feel overwhelming
53
+
54
+ ---
55
+
56
+ ## Mobile
57
+
58
+ - Keep form copy short; every word counts on small screens
59
+ - Consider shorter labels or stacked layout if space is tight
60
+ - Ensure tap targets and font sizes meet accessibility guidelines
61
+
62
+ ---
63
+
64
+ ## Related
65
+
66
+ - [Product content](./product-content.md)
67
+ - [Errors](./errors.md)
68
+ - [Accessibility foundations](../../../accessibility/accessibility.md)
@@ -0,0 +1,128 @@
1
+ # Product Content Guidelines
2
+
3
+ UX writing and content guidelines for Equal Experts web applications.
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ Product content is the text inside product interfaces, designed to help users complete tasks. It's more concise than marketing content and action-oriented.
10
+
11
+ **Core purpose:** Give users exactly what they need, exactly when they need it, to complete their task successfully.
12
+
13
+ **Tone:** Helpful, concise, action-oriented, respectful
14
+
15
+ ---
16
+
17
+ ## Product Voice Formula
18
+
19
+ `[Action] + [Object] + [Benefit if needed]`
20
+
21
+ **Examples:**
22
+ - "Save invoice" (action + object)
23
+ - "Export to CSV" (action + object + format)
24
+ - "Archive project · Free up space" (action + object · benefit)
25
+
26
+ ---
27
+
28
+ ## Key Differences from Marketing
29
+
30
+ | Aspect | Marketing | Product |
31
+ |--------|-----------|---------|
32
+ | Purpose | Persuade, inform | Enable task completion |
33
+ | Length | Can be expansive | Must be concise |
34
+ | Tone | Conversational | Action-oriented |
35
+ | Style | Storytelling | Direct, functional |
36
+ | Context | User chose to read | User is trying to do |
37
+
38
+ ---
39
+
40
+ ## Foundational Principles
41
+
42
+ ### 1. Understand the Audience
43
+
44
+ Before writing, know:
45
+ - **Who** sees this? (All users? Specific segments?)
46
+ - **When** do they see it? (First login? After error?)
47
+ - **What** are they trying to do?
48
+ - **How** are they feeling? (Confident? Frustrated?)
49
+
50
+ ### 2. Keep Users Focused
51
+
52
+ - Surface information at moment of need
53
+ - Don't make users remember for later
54
+ - Remove info when no longer relevant
55
+ - Avoid "just in case" content
56
+
57
+ ### 3. Get to the Point
58
+
59
+ - Lead with most important information
60
+ - Remove filler words and phrases
61
+ - Every word should earn its place
62
+
63
+ **Common filler to remove:**
64
+ - "Please note that..."
65
+ - "At this time..."
66
+ - "In order to..."
67
+ - "You may wish to..."
68
+ - "It appears that..."
69
+
70
+ ### 4. Make It Accessible
71
+
72
+ - Ensure proper heading hierarchy
73
+ - Write descriptive link text
74
+ - Provide alt text for images
75
+ - Keep form labels clear and persistent
76
+ - Error messages must be actionable
77
+
78
+ ---
79
+
80
+ ## Common Mistakes
81
+
82
+ | Mistake | Bad | Good |
83
+ |---------|-----|------|
84
+ | Explaining obvious | "Click the button below to continue" | [Continue] |
85
+ | Technical language | "Authentication failed for endpoint" | "We couldn't log you in" |
86
+ | Being vague | "An error occurred" | "Password must be 8+ characters" |
87
+ | Overusing exclamation | "Success! Invoice sent!" | "Invoice sent" |
88
+ | Apologizing unnecessarily | "Sorry, no results found" | "No results found" |
89
+ | Marketing speak | "Leverage our innovative AI-powered categorization" | "Auto-categorize expenses" |
90
+
91
+ ---
92
+
93
+ ## Product Content Checklist
94
+
95
+ **Context and Timing:**
96
+ - [ ] Content appears at right moment
97
+ - [ ] Information directly relevant
98
+ - [ ] Content disappears when not relevant
99
+
100
+ **Clarity and Conciseness:**
101
+ - [ ] Every word carries meaning
102
+ - [ ] As short as possible while clear
103
+ - [ ] Most important info first
104
+
105
+ **Usability:**
106
+ - [ ] Users can complete task without leaving for help
107
+ - [ ] Button labels describe action clearly
108
+ - [ ] Form labels clear and persistent
109
+ - [ ] Error messages explain problem and fix
110
+
111
+ **Accessibility:**
112
+ - [ ] Accessible to screen readers
113
+ - [ ] Labels connected to inputs
114
+ - [ ] Error messages associated with fields
115
+ - [ ] Logical heading hierarchy
116
+
117
+ ---
118
+
119
+ ## Related Documentation
120
+
121
+ - [Voice and tone](../../../brand/voice-and-tone.md) - Voice, tone, style
122
+ - [Actions](./actions.md) - Buttons and links
123
+ - [Confirmations](./confirmations.md) - Confirmation dialogs
124
+ - [Empty states](./empty-states.md) - Empty state copy
125
+ - [Errors](./errors.md) - Error messages
126
+ - [Forms](./forms.md) - Form content
127
+ - [Design](../design.md) - Visual design guidelines
128
+ - [Component Decision Tree](../component-decision-tree.md) - Component development
@@ -0,0 +1,177 @@
1
+ # Product Design Rules
2
+
3
+ Design guidelines for Equal Experts web applications and product interfaces.
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ Product layouts are for web applications, dashboards, and internal tools. They use **dark navigation** for clear visual hierarchy, distinguishing them from marketing layouts.
10
+
11
+ ---
12
+
13
+ ## When to Use Product Layout
14
+
15
+ Use product layout when:
16
+ - Building web applications
17
+ - Creating dashboards or internal tools
18
+ - Data-heavy or interactive interfaces
19
+ - Requires persistent navigation
20
+ - User workflows and task completion
21
+
22
+ ---
23
+
24
+ ## Navigation Patterns
25
+
26
+ Product layouts use **dark navigation** for clear visual hierarchy. Choose one of two patterns:
27
+
28
+ ### Option 1: Dark Horizontal Navigation
29
+
30
+ Use when: Limited navigation items (5-7 items)
31
+
32
+ ```
33
+ ┌─────────────────────────────────────────┐
34
+ │ Dark Navigation Bar (Tech Blue) │
35
+ │ [Logo] [Nav Items] [User Menu] │
36
+ ├─────────────────────────────────────────┤
37
+ │ │
38
+ │ Main Content Area │
39
+ │ (Light background) │
40
+ │ │
41
+ └─────────────────────────────────────────┘
42
+ ```
43
+
44
+ **Specifications:**
45
+
46
+ | Property | Value |
47
+ |----------|-------|
48
+ | Background | `bg-sidebar` (Tech Blue) |
49
+ | Logo | White monochrome (`logo-monochrome-white.svg`), left-aligned |
50
+ | Logo size | 120-150px (min 100px) |
51
+ | Height | 64-72px fixed |
52
+ | Nav items | Horizontal, left-aligned after logo |
53
+ | User menu | Right-aligned |
54
+
55
+ ### Option 2: Dark Sidebar Navigation
56
+
57
+ Use when: Complex navigation, hierarchical structure, 8+ items
58
+
59
+ ```
60
+ ┌──────┬──────────────────────────────────┐
61
+ │ │ Top Bar (Light) │
62
+ │ Dark │ [Breadcrumbs] [User Menu] │
63
+ │ Side │──────────────────────────────────┤
64
+ │ bar │ │
65
+ │ │ Main Content Area │
66
+ │ [Logo│ (Light background) │
67
+ │ Nav] │ │
68
+ │ │ │
69
+ └──────┴──────────────────────────────────┘
70
+ ```
71
+
72
+ **Specifications:**
73
+
74
+ | Property | Value |
75
+ |----------|-------|
76
+ | Sidebar background | `bg-sidebar` (Tech Blue) |
77
+ | Sidebar width | 240-280px (collapsible to 64px) |
78
+ | Logo | White monochrome, top of sidebar |
79
+ | Logo size | 120-150px (min 100px) |
80
+ | Top bar background | `bg-background` (light) |
81
+ | Content area | Light background, full remaining width |
82
+
83
+ ---
84
+
85
+ ## Navigation Color Tokens
86
+
87
+ For dark navigation (horizontal or sidebar):
88
+
89
+ | Token | Purpose |
90
+ |-------|---------|
91
+ | `--sidebar` | Navigation background (Tech Blue) |
92
+ | `--sidebar-foreground` | Text color (White) |
93
+ | `--sidebar-primary` | Primary accent (EE Blue) |
94
+ | `--sidebar-primary-foreground` | Text on primary |
95
+ | `--sidebar-accent` | Hover/active background |
96
+ | `--sidebar-accent-foreground` | Text on accent |
97
+ | `--sidebar-border` | Border color |
98
+ | `--sidebar-ring` | Focus ring color |
99
+
100
+ ---
101
+
102
+ ## Logo Placement
103
+
104
+ | Location | Logo Variant | Size |
105
+ |----------|--------------|------|
106
+ | Horizontal nav | White monochrome | 120-150px |
107
+ | Sidebar (top) | White monochrome | 120-150px |
108
+
109
+ **Never use full-color logo on dark backgrounds.**
110
+
111
+ See [logo guidelines](../../brand/logo.md).
112
+
113
+ ---
114
+
115
+ ## Responsive Behavior
116
+
117
+ ### Horizontal Navigation
118
+
119
+ | Breakpoint | Behavior |
120
+ |------------|----------|
121
+ | Mobile | Collapse to hamburger menu |
122
+ | Tablet | Show primary nav, hide secondary |
123
+ | Desktop | Full navigation visible |
124
+
125
+ ### Sidebar Navigation
126
+
127
+ | Breakpoint | Behavior |
128
+ |------------|----------|
129
+ | Mobile | Overlay/drawer, hidden by default |
130
+ | Tablet | Collapsible (default collapsed) |
131
+ | Desktop | Full sidebar visible (240-280px) |
132
+
133
+ ---
134
+
135
+ ## Content Areas
136
+
137
+ ### Main Content
138
+
139
+ - Light background (`bg-background`)
140
+ - Adequate padding (24-32px)
141
+ - Responsive width
142
+
143
+ ### Cards and Panels
144
+
145
+ - Use `bg-card` token for card backgrounds
146
+ - Follow [borders](../../design-language/borders.md) for border styling
147
+ - Follow [spacing](../../design-language/spacing.md) for padding
148
+
149
+ ---
150
+
151
+ ## Usage Guidelines
152
+
153
+ ### Do's
154
+
155
+ 1. **Use dark navigation** - Distinguishes product from marketing
156
+ 2. **Use white/monochrome logo** - Appropriate for dark backgrounds
157
+ 3. **Choose appropriate nav pattern** - Horizontal for simple, sidebar for complex
158
+ 4. **Maintain light content areas** - Good contrast for readability
159
+ 5. **Follow spacing guidelines** - 8-point grid, consistent padding
160
+
161
+ ### Don'ts
162
+
163
+ 1. **Don't use light navigation** - That's for marketing layouts
164
+ 2. **Don't use full-color logo on dark** - Use white monochrome
165
+ 3. **Don't combine nav patterns** - Choose horizontal OR sidebar, not both
166
+ 4. **Don't ignore mobile** - All layouts must work on small screens
167
+ 5. **Don't hardcode colors** - Use design tokens
168
+
169
+ ---
170
+
171
+ ## Related Documentation
172
+
173
+ - [Reference home](../../README.md) - Brand and design language
174
+ - [Accessibility](./accessibility.md) - Technical accessibility implementation
175
+ - [Component Decision Tree](./component-decision-tree.md) - Component selection
176
+ - [Product Content](./content/product-content.md) - UX writing guidelines
177
+ - [Patterns](./patterns/) - Applied patterns for specific page types
@@ -0,0 +1,65 @@
1
+ # Product Email Rules
2
+
3
+ Guidelines for Equal Experts transactional and product-related emails.
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ Product emails are transactional communications sent from web applications, including confirmations, notifications, and system messages.
10
+
11
+ ---
12
+
13
+ ## Key Principles
14
+
15
+ 1. **Informative** - Provide necessary information clearly
16
+ 2. **Actionable** - Include clear next steps when needed
17
+ 3. **Timely** - Send at the right moment
18
+ 4. **Concise** - Respect user's time
19
+
20
+ ---
21
+
22
+ ## Email Types
23
+
24
+ - **Confirmation emails** - Account created, payment received
25
+ - **Notification emails** - New activity, status changes
26
+ - **System emails** - Password reset, security alerts
27
+ - **Digest emails** - Summary of activity
28
+
29
+ ---
30
+
31
+ ## Content Guidelines
32
+
33
+ Follow [content foundations](../../content/writing-style.md) and [product content](./content/product-content.md) for writing style.
34
+
35
+ ### Subject Lines
36
+ - Be specific about the content
37
+ - Include relevant details (order number, etc.)
38
+ - Keep concise
39
+
40
+ ### Body Content
41
+ - Lead with the most important information
42
+ - Include relevant details
43
+ - Provide clear next steps
44
+ - Link to the application for actions
45
+
46
+ ---
47
+
48
+ ## To Be Defined
49
+
50
+ - Email template designs
51
+ - Header and footer specifications
52
+ - Logo placement and sizing
53
+ - Color usage in transactional emails
54
+ - Typography for email clients
55
+ - CTA button styling
56
+ - Mobile-first design requirements
57
+ - Accessibility requirements
58
+
59
+ ---
60
+
61
+ ## Related Documentation
62
+
63
+ - [Reference home](../../README.md) - Brand and design language
64
+ - [Product Content](./content/product-content.md) - UX writing guidelines
65
+ - [Marketing Emails](../web-marketing/emails.md) - Marketing email guidelines
@@ -0,0 +1,10 @@
1
+ # Web Product Patterns
2
+
3
+ Applied layout and design patterns for web-application page types.
4
+
5
+ | Pattern | For | Base layout |
6
+ |---------|-----|-------------|
7
+ | [authentication.md](./authentication.md) | Login, registration, password flows, MFA | Single column |
8
+ | [dashboards.md](./dashboards.md) | Analytics, data tables, metrics, reporting | Sidebar navigation |
9
+ | [forms.md](./forms.md) | Settings, multi-step forms, data entry | Varies |
10
+ | [documentation.md](./documentation.md) | Docs sites, knowledge bases, API reference | Sidebar + split |