@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.
- package/agent-docs/AGENTS.md +10 -0
- package/agent-docs/README.md +17 -0
- package/agent-docs/bundle-manifest.json +55 -0
- package/agent-docs/components/_template.md +21 -0
- package/agent-docs/components/button-group.md +27 -0
- package/agent-docs/components/button.md +50 -0
- package/agent-docs/components/components.manifest.json +23 -0
- package/agent-docs/components/kuat-header.md +27 -0
- package/agent-docs/external/kuat-agent-rules/reference/accessibility/README.md +7 -0
- package/agent-docs/external/kuat-agent-rules/reference/accessibility/accessibility.md +446 -0
- package/agent-docs/external/kuat-agent-rules/reference/brand/README.md +9 -0
- package/agent-docs/external/kuat-agent-rules/reference/brand/brand.md +109 -0
- package/agent-docs/external/kuat-agent-rules/reference/brand/logo.md +152 -0
- package/agent-docs/external/kuat-agent-rules/reference/brand/voice-and-tone.md +166 -0
- package/agent-docs/external/kuat-agent-rules/reference/content/README.md +12 -0
- package/agent-docs/external/kuat-agent-rules/reference/content/formatting.md +120 -0
- package/agent-docs/external/kuat-agent-rules/reference/content/numbers.md +87 -0
- package/agent-docs/external/kuat-agent-rules/reference/content/punctuation.md +94 -0
- package/agent-docs/external/kuat-agent-rules/reference/content/writing-style.md +96 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/README.md +11 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/borders.md +160 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/colours.md +201 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/design-language.md +117 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/spacing.md +131 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/tokens/README.md +29 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/tokens/colors.tokens.json +84 -0
- package/agent-docs/external/kuat-agent-rules/reference/design-language/typography.md +156 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/README.md +10 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/content/README.md +26 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/content/blog-posts.md +29 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/content/marketing-content.md +61 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/content/seo.md +40 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/emails.md +68 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/patterns/README.md +7 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/patterns/marketing-pages.md +368 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-marketing/website.md +154 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/README.md +16 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/accessibility.md +392 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/component-decision-tree.md +248 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/component-registry.md +49 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/README.md +29 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/actions.md +45 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/confirmations.md +51 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/empty-states.md +37 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/errors.md +48 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/forms.md +68 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/product-content.md +128 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/design.md +177 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/emails.md +65 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/README.md +10 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/authentication.md +303 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/dashboards.md +313 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/documentation.md +333 -0
- package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/forms.md +361 -0
- package/agent-docs/kuat-docs/rules/README.md +155 -0
- package/agent-docs/kuat-docs/rules/design/layouts.md +394 -0
- package/agent-docs/kuat-docs/rules/scenarios/README.md +83 -0
- package/agent-docs/kuat-docs/rules/scenarios/authentication.md +301 -0
- package/agent-docs/kuat-docs/rules/scenarios/dashboards.md +314 -0
- package/agent-docs/kuat-docs/rules/scenarios/documentation.md +333 -0
- package/agent-docs/kuat-docs/rules/scenarios/forms.md +359 -0
- package/agent-docs/kuat-docs/rules/scenarios/marketing-pages.md +367 -0
- package/agent-docs/manifest.json +9 -0
- package/agent-docs/rules/LOADING-consumer.md +27 -0
- package/dist/accordion.d.ts +2 -0
- package/dist/alert-dialog.d.ts +2 -0
- package/dist/badge.d.ts +3 -0
- package/dist/button-group.d.ts +2 -0
- package/dist/button.d.ts +3 -0
- package/dist/carousel.d.ts +2 -0
- package/dist/checkbox.d.ts +3 -0
- package/dist/components/ui/accordion/accordion.d.ts +7 -0
- package/dist/components/ui/accordion/index.d.ts +1 -0
- package/dist/components/ui/alert-dialog/alert-dialog.d.ts +20 -0
- package/dist/components/ui/alert-dialog/index.d.ts +1 -0
- package/dist/components/ui/badge/badge.d.ts +16 -0
- package/dist/components/ui/badge/index.d.ts +2 -0
- package/dist/components/ui/breadcrumb/Breadcrumb.d.ts +29 -0
- package/dist/components/ui/breadcrumb/breadcrumb-primitives.d.ts +19 -0
- package/dist/components/ui/breadcrumb/index.d.ts +4 -0
- package/dist/components/ui/button/button.d.ts +27 -0
- package/dist/components/ui/button/index.d.ts +2 -0
- package/dist/components/ui/button-group/button-group.d.ts +23 -0
- package/dist/components/ui/button-group/index.d.ts +2 -0
- package/dist/components/ui/carousel/carousel.d.ts +50 -0
- package/dist/components/ui/carousel/index.d.ts +2 -0
- package/dist/components/ui/checkbox/checkbox-field.d.ts +23 -0
- package/dist/components/ui/checkbox/checkbox.d.ts +5 -0
- package/dist/components/ui/checkbox/index.d.ts +4 -0
- package/dist/components/ui/content-card/content-card.d.ts +29 -0
- package/dist/components/ui/content-card/index.d.ts +2 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu.d.ts +27 -0
- package/dist/components/ui/dropdown-menu/index.d.ts +1 -0
- package/dist/components/ui/ee-logo-icon/ee-logo-icon.d.ts +11 -0
- package/dist/components/ui/ee-logo-icon/index.d.ts +2 -0
- package/dist/components/ui/field/field.d.ts +28 -0
- package/dist/components/ui/field/index.d.ts +2 -0
- package/dist/components/ui/icon-button/icon-button.d.ts +27 -0
- package/dist/components/ui/icon-button/index.d.ts +2 -0
- package/dist/components/ui/input/index.d.ts +2 -0
- package/dist/components/ui/input/input.d.ts +20 -0
- package/dist/components/ui/kuat-carousel/index.d.ts +2 -0
- package/dist/components/ui/kuat-carousel/kuat-carousel.d.ts +16 -0
- package/dist/components/ui/kuat-header/index.d.ts +4 -0
- package/dist/components/ui/kuat-header/kuat-header.d.ts +16 -0
- package/dist/components/ui/kuat-header/kuat-header.logic.d.ts +32 -0
- package/dist/components/ui/kuat-header/kuat-header.types.d.ts +91 -0
- package/dist/components/ui/kuat-logo-lockup/index.d.ts +2 -0
- package/dist/components/ui/kuat-logo-lockup/kuat-logo-lockup.d.ts +17 -0
- package/dist/components/ui/kuat-radial-progress/index.d.ts +2 -0
- package/dist/components/ui/kuat-radial-progress/kuat-radial-progress.d.ts +16 -0
- package/dist/components/ui/radio/index.d.ts +4 -0
- package/dist/components/ui/radio/radio-field.d.ts +25 -0
- package/dist/components/ui/radio/radio.d.ts +7 -0
- package/dist/components/ui/select/constants.d.ts +19 -0
- package/dist/components/ui/select/index.d.ts +3 -0
- package/dist/components/ui/select/select.d.ts +53 -0
- package/dist/components/ui/separator/index.d.ts +2 -0
- package/dist/components/ui/separator/separator.d.ts +9 -0
- package/dist/components/ui/sonner/index.d.ts +4 -0
- package/dist/components/ui/sonner/sonner-content.d.ts +15 -0
- package/dist/components/ui/sonner/sonner.d.ts +21 -0
- package/dist/components/ui/switch/index.d.ts +4 -0
- package/dist/components/ui/switch/switch-field.d.ts +23 -0
- package/dist/components/ui/switch/switch.d.ts +5 -0
- package/dist/components/ui/textarea/index.d.ts +2 -0
- package/dist/components/ui/textarea/textarea.d.ts +9 -0
- package/dist/components/ui/toggle/constants.d.ts +4 -0
- package/dist/components/ui/toggle/index.d.ts +6 -0
- package/dist/components/ui/toggle/toggle-group.d.ts +11 -0
- package/dist/components/ui/toggle/toggle.d.ts +9 -0
- package/dist/field.d.ts +3 -0
- package/dist/icon-button.d.ts +3 -0
- package/dist/index.d.ts +47 -0
- package/dist/input.d.ts +3 -0
- package/dist/kuat-carousel.d.ts +2 -0
- package/dist/kuat-radial-progress.d.ts +7 -0
- package/dist/lib/react-node-compat.d.ts +7 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/radio.d.ts +3 -0
- package/dist/select.d.ts +3 -0
- package/dist/sonner.d.ts +1 -0
- package/dist/style.css +1 -1
- package/dist/style.css.d.ts +2 -0
- package/dist/switch.d.ts +1 -0
- package/dist/test/setup.d.ts +1 -0
- package/dist/textarea.d.ts +3 -0
- package/dist/toggle-group.d.ts +3 -0
- package/dist/toggle.d.ts +3 -0
- package/package.json +4 -2
package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/actions.md
ADDED
|
@@ -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)
|
package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/errors.md
ADDED
|
@@ -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
|
package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/content/forms.md
ADDED
|
@@ -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
|
package/agent-docs/external/kuat-agent-rules/reference/media-types/web-product/patterns/README.md
ADDED
|
@@ -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 |
|