@equal-experts/kuat-vue 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 +3 -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.vue.d.ts +26 -0
- package/dist/components/ui/accordion/AccordionContent.vue.d.ts +27 -0
- package/dist/components/ui/accordion/AccordionItem.vue.d.ts +27 -0
- package/dist/components/ui/accordion/AccordionTrigger.vue.d.ts +28 -0
- package/dist/components/ui/accordion/index.d.ts +4 -0
- package/dist/components/ui/alert-dialog/AlertDialog.vue.d.ts +26 -0
- package/dist/components/ui/alert-dialog/AlertDialogAction.vue.d.ts +27 -0
- package/dist/components/ui/alert-dialog/AlertDialogCancel.vue.d.ts +27 -0
- package/dist/components/ui/alert-dialog/AlertDialogContent.vue.d.ts +41 -0
- package/dist/components/ui/alert-dialog/AlertDialogDescription.vue.d.ts +27 -0
- package/dist/components/ui/alert-dialog/AlertDialogFooter.vue.d.ts +26 -0
- package/dist/components/ui/alert-dialog/AlertDialogHeader.vue.d.ts +26 -0
- package/dist/components/ui/alert-dialog/AlertDialogTitle.vue.d.ts +27 -0
- package/dist/components/ui/alert-dialog/AlertDialogTrigger.vue.d.ts +22 -0
- package/dist/components/ui/alert-dialog/index.d.ts +9 -0
- package/dist/components/ui/badge/Badge.vue.d.ts +49 -0
- package/dist/components/ui/badge/constants.d.ts +4 -0
- package/dist/components/ui/badge/index.d.ts +14 -0
- package/dist/components/ui/breadcrumb/Breadcrumb.vue.d.ts +34 -0
- package/dist/components/ui/breadcrumb/index.d.ts +2 -0
- package/dist/components/ui/breadcrumb/types.d.ts +8 -0
- package/dist/components/ui/button/Button.vue.d.ts +53 -0
- package/dist/components/ui/button/constants.d.ts +12 -0
- package/dist/components/ui/button/index.d.ts +12 -0
- package/dist/components/ui/button-group/ButtonGroup.vue.d.ts +43 -0
- package/dist/components/ui/button-group/ButtonGroupSeparator.vue.d.ts +32 -0
- package/dist/components/ui/button-group/ButtonGroupText.vue.d.ts +40 -0
- package/dist/components/ui/button-group/constants.d.ts +2 -0
- package/dist/components/ui/button-group/index.d.ts +14 -0
- package/dist/components/ui/carousel/Carousel.vue.d.ts +59 -0
- package/dist/components/ui/carousel/CarouselContent.vue.d.ts +25 -0
- package/dist/components/ui/carousel/CarouselItem.vue.d.ts +32 -0
- package/dist/components/ui/carousel/CarouselNext.vue.d.ts +16 -0
- package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +16 -0
- package/dist/components/ui/carousel/context.d.ts +26 -0
- package/dist/components/ui/carousel/index.d.ts +7 -0
- package/dist/components/ui/checkbox/Checkbox.vue.d.ts +13 -0
- package/dist/components/ui/checkbox/CheckboxField.vue.d.ts +68 -0
- package/dist/components/ui/checkbox/constants.d.ts +4 -0
- package/dist/components/ui/checkbox/index.d.ts +4 -0
- package/dist/components/ui/content-card/ContentCard.vue.d.ts +72 -0
- package/dist/components/ui/content-card/index.d.ts +1 -0
- package/dist/components/ui/field/Field.vue.d.ts +48 -0
- package/dist/components/ui/field/FieldContent.vue.d.ts +26 -0
- package/dist/components/ui/field/FieldDescription.vue.d.ts +26 -0
- package/dist/components/ui/field/FieldError.vue.d.ts +33 -0
- package/dist/components/ui/field/FieldGroup.vue.d.ts +26 -0
- package/dist/components/ui/field/FieldLabel.vue.d.ts +26 -0
- package/dist/components/ui/field/FieldLegend.vue.d.ts +43 -0
- package/dist/components/ui/field/FieldSeparator.vue.d.ts +26 -0
- package/dist/components/ui/field/FieldSet.vue.d.ts +26 -0
- package/dist/components/ui/field/FieldTitle.vue.d.ts +26 -0
- package/dist/components/ui/field/constants.d.ts +4 -0
- package/dist/components/ui/field/index.d.ts +12 -0
- package/dist/components/ui/icon-button/IconButton.vue.d.ts +62 -0
- package/dist/components/ui/icon-button/constants.d.ts +13 -0
- package/dist/components/ui/icon-button/index.d.ts +14 -0
- package/dist/components/ui/input/Input.vue.d.ts +34 -0
- package/dist/components/ui/input/constants.d.ts +2 -0
- package/dist/components/ui/input/index.d.ts +3 -0
- package/dist/components/ui/kuat-carousel/KuatCarousel.vue.d.ts +51 -0
- package/dist/components/ui/kuat-carousel/KuatCarouselContent.vue.d.ts +25 -0
- package/dist/components/ui/kuat-carousel/KuatCarouselItem.vue.d.ts +27 -0
- package/dist/components/ui/kuat-carousel/KuatCarouselNext.vue.d.ts +16 -0
- package/dist/components/ui/kuat-carousel/KuatCarouselPrevious.vue.d.ts +16 -0
- package/dist/components/ui/kuat-carousel/index.d.ts +6 -0
- package/dist/components/ui/kuat-header/EELogo.vue.d.ts +32 -0
- package/dist/components/ui/kuat-header/KuatHeader.vue.d.ts +56 -0
- package/dist/components/ui/kuat-header/constants.d.ts +83 -0
- package/dist/components/ui/kuat-header/index.d.ts +16 -0
- package/dist/components/ui/kuat-header/kuat-header.logic.d.ts +29 -0
- package/dist/components/ui/kuat-logo-lockup/EELogoIcon.vue.d.ts +18 -0
- package/dist/components/ui/kuat-logo-lockup/KuatLogoLockup.vue.d.ts +45 -0
- package/dist/components/ui/kuat-logo-lockup/constants.d.ts +4 -0
- package/dist/components/ui/kuat-logo-lockup/index.d.ts +4 -0
- package/dist/components/ui/kuat-radial-progress/KuatRadialProgress.vue.d.ts +52 -0
- package/dist/components/ui/kuat-radial-progress/constants.d.ts +4 -0
- package/dist/components/ui/kuat-radial-progress/index.d.ts +3 -0
- package/dist/components/ui/radio/RadioField.vue.d.ts +58 -0
- package/dist/components/ui/radio/RadioGroup.vue.d.ts +31 -0
- package/dist/components/ui/radio/RadioGroupItem.vue.d.ts +22 -0
- package/dist/components/ui/radio/constants.d.ts +4 -0
- package/dist/components/ui/radio/index.d.ts +5 -0
- package/dist/components/ui/select/KuatSelect.vue.d.ts +104 -0
- package/dist/components/ui/select/Select.vue.d.ts +28 -0
- package/dist/components/ui/select/SelectContent.vue.d.ts +52 -0
- package/dist/components/ui/select/SelectGroup.vue.d.ts +22 -0
- package/dist/components/ui/select/SelectItem.vue.d.ts +40 -0
- package/dist/components/ui/select/SelectLabel.vue.d.ts +27 -0
- package/dist/components/ui/select/SelectScrollDownButton.vue.d.ts +18 -0
- package/dist/components/ui/select/SelectScrollUpButton.vue.d.ts +18 -0
- package/dist/components/ui/select/SelectSeparator.vue.d.ts +18 -0
- package/dist/components/ui/select/SelectTrigger.vue.d.ts +72 -0
- package/dist/components/ui/select/SelectValue.vue.d.ts +18 -0
- package/dist/components/ui/select/constants.d.ts +18 -0
- package/dist/components/ui/select/index.d.ts +13 -0
- package/dist/components/ui/separator/Separator.vue.d.ts +35 -0
- package/dist/components/ui/separator/index.d.ts +1 -0
- package/dist/components/ui/sonner/KuatSonner.vue.d.ts +54 -0
- package/dist/components/ui/sonner/KuatSonnerContent.vue.d.ts +53 -0
- package/dist/components/ui/sonner/constants.d.ts +2 -0
- package/dist/components/ui/sonner/index.d.ts +7 -0
- package/dist/components/ui/sonner/toast.d.ts +17 -0
- package/dist/components/ui/switch/Switch.vue.d.ts +13 -0
- package/dist/components/ui/switch/SwitchField.vue.d.ts +68 -0
- package/dist/components/ui/switch/constants.d.ts +4 -0
- package/dist/components/ui/switch/index.d.ts +4 -0
- package/dist/components/ui/textarea/Textarea.vue.d.ts +24 -0
- package/dist/components/ui/textarea/constants.d.ts +2 -0
- package/dist/components/ui/textarea/index.d.ts +3 -0
- package/dist/components/ui/toggle/Toggle.vue.d.ts +42 -0
- package/dist/components/ui/toggle/constants.d.ts +4 -0
- package/dist/components/ui/toggle/index.d.ts +3 -0
- package/dist/components/ui/toggle-group/ToggleGroup.vue.d.ts +45 -0
- package/dist/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +49 -0
- package/dist/components/ui/toggle-group/constants.d.ts +2 -0
- package/dist/components/ui/toggle-group/index.d.ts +4 -0
- package/dist/field.d.ts +3 -0
- package/dist/icon-button.d.ts +3 -0
- package/dist/index.d.ts +46 -0
- package/dist/input.d.ts +3 -0
- package/dist/kuat-carousel.d.ts +2 -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 +5 -0
- package/dist/toggle.d.ts +3 -0
- package/package.json +4 -2
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Punctuation
|
|
2
|
+
|
|
3
|
+
Guidance for commas, dashes, apostrophes, and other punctuation in Equal Experts content.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Quick Reference
|
|
8
|
+
|
|
9
|
+
- **Commas:** We don't use the serial (Oxford) comma unless it's needed to clarify meaning
|
|
10
|
+
- **Dashes:** Use a spaced en dash ( – ) to offset a phrase; an unspaced en dash for ranges (40–60)
|
|
11
|
+
- **Apostrophes:** Use for possessives and contractions; don't use for plurals
|
|
12
|
+
- **Ampersands and plus:** Spell out "and" unless "&" or "+" is part of an official name
|
|
13
|
+
- **Slashes:** Avoid; replace with words or commas
|
|
14
|
+
- **End marks:** Use one — and only one — full stop, exclamation mark, or question mark per sentence
|
|
15
|
+
- **Spaces:** A single space between sentences, never two
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Commas
|
|
20
|
+
|
|
21
|
+
- We **don't use the serial comma** (sometimes called the Oxford comma) unless it's needed to clarify meaning: "Our design service includes user experience, prototyping, content design and user testing."
|
|
22
|
+
- Use the serial comma only to remove ambiguity: "You can meet Janet, a clown and an acrobat" is unclear — add a comma if Janet is not herself the clown and acrobat
|
|
23
|
+
- Use commas to set off non-essential clauses
|
|
24
|
+
- Don't join two independent clauses with only a comma (use a full stop, semicolon, or conjunction)
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Dashes and Hyphens
|
|
29
|
+
|
|
30
|
+
- **En dash to offset a phrase (–):** When offsetting a phrase or aside, use the en dash with a **space on either side**: "Creating paved roads – build and run journeys that support secure deployment – can help reduce infrastructure complexity."
|
|
31
|
+
- **En dash for ranges (–):** Use **unspaced** for ranges: "40–60%", "March–May", "1914–18", "2020–21"
|
|
32
|
+
- **"from … to" not a dash:** When you use "from" with a start point, pair it with "to" rather than a dash: "from October to December"
|
|
33
|
+
- **Hyphen (-):** Use in compound modifiers before a noun: "well-known result", "up-to-date report". Don't hyphenate when the modifier follows the noun: "the result is well known"
|
|
34
|
+
- Equal Experts prefers the spaced en dash over the em dash (—) for breaks and asides.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Apostrophes
|
|
39
|
+
|
|
40
|
+
- **Possessives:** Add 's for singular (team's, user's); add ' for a plural already ending in s (users', teams')
|
|
41
|
+
- **Contractions:** Use for standard contractions (don't, it's, we're)
|
|
42
|
+
- **Plurals:** Don't use an apostrophe for plurals: "1990s" not "1990's"; "APIs" not "API's"
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Ampersands and Plus Symbols
|
|
47
|
+
|
|
48
|
+
- Use "&" and "+" **only** when they're part of an official title or name: "Johnson & Johnson"
|
|
49
|
+
- Otherwise spell out "and": "artificial intelligence and machine learning", not "AI & ML"
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Slashes
|
|
54
|
+
|
|
55
|
+
- Avoid the slash (/). Replace it with words or commas as appropriate
|
|
56
|
+
- A slash is often ambiguous: "the designer/researcher" — is that one person or two?
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Colons and Semicolons
|
|
61
|
+
|
|
62
|
+
- **Colon:** Use to introduce a list or an explanation that follows from the main clause. **Don't capitalise** the first word after a colon (unless it's a proper noun). One space after a colon: "I encountered two issues: compliance and security."
|
|
63
|
+
- **Semicolon:** Use to link closely related independent clauses, or to separate list items that already contain commas. Use sparingly; often a full stop is clearer.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## End Marks
|
|
68
|
+
|
|
69
|
+
- Use one — but only one — full stop, exclamation mark, or question mark at the end of every sentence
|
|
70
|
+
- Separate sentences with a **single space**, never two
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Quotation Marks
|
|
75
|
+
|
|
76
|
+
- Use **double speech marks** (" ") for direct speech and short quoted phrases
|
|
77
|
+
- Put punctuation that belongs to the quote **inside** the closing marks; punctuation that applies to the whole sentence goes outside
|
|
78
|
+
- **Attribute every quote** to someone, even if anonymised: "…Always there, always on, and always thinking." — Eric Wilson, CEO, Xinja. / "…I can't imagine how much further down the track a go-live like this could be." — CEO, US retail customer
|
|
79
|
+
- Use an **ellipsis (…)** to show where a quote has been shortened, and **square brackets** to clarify unclear elements: "[Equal Experts] have been with us every step of the way… Always there, always on, and always thinking."
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Exclamation Marks
|
|
84
|
+
|
|
85
|
+
- Use rarely; reserve for genuine emphasis or a short, positive confirmation
|
|
86
|
+
- One exclamation mark is enough; never use multiple (!!)
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Related Documentation
|
|
91
|
+
|
|
92
|
+
- [Writing style](./writing-style.md)
|
|
93
|
+
- [Formatting](./formatting.md)
|
|
94
|
+
- [Numbers](./numbers.md) - Ranges, financial years, "from … to"
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Writing Style
|
|
2
|
+
|
|
3
|
+
Style and usage principles for Equal Experts content. Be clear, precise, and conversational.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Quick Reference
|
|
8
|
+
|
|
9
|
+
**Do:**
|
|
10
|
+
- Use active voice
|
|
11
|
+
- Use everyday contractions (we're, it's, don't)
|
|
12
|
+
- Use simple verb tenses (present, past; avoid unnecessary future or perfect)
|
|
13
|
+
- Address the reader as "you"
|
|
14
|
+
- Prefer short sentences
|
|
15
|
+
|
|
16
|
+
**Don't:**
|
|
17
|
+
- Use passive voice when active is clearer
|
|
18
|
+
- Use formal or stiff phrasing
|
|
19
|
+
- Over-qualify with "in order to", "in the event that"
|
|
20
|
+
- Use jargon without explanation
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Active Voice
|
|
25
|
+
|
|
26
|
+
Prefer the subject doing the action. It's clearer and more direct.
|
|
27
|
+
|
|
28
|
+
| Prefer | Avoid |
|
|
29
|
+
|--------|--------|
|
|
30
|
+
| The team delivered the project on time | The project was delivered on time by the team |
|
|
31
|
+
| You can save your work here | Work can be saved here |
|
|
32
|
+
| We recommend testing first | It is recommended that testing be performed first |
|
|
33
|
+
|
|
34
|
+
Use passive only when the actor is unknown or irrelevant, or when you want to emphasise the action over the subject: "The health check saved the client £3 million."
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Plain Language
|
|
39
|
+
|
|
40
|
+
- Use common words instead of formal or obscure ones
|
|
41
|
+
- Prefer short words where they carry the same meaning
|
|
42
|
+
- Explain technical terms on first use
|
|
43
|
+
|
|
44
|
+
| Prefer | Avoid |
|
|
45
|
+
|--------|--------|
|
|
46
|
+
| use | utilise |
|
|
47
|
+
| help | facilitate |
|
|
48
|
+
| about | with regard to |
|
|
49
|
+
| if | in the event that |
|
|
50
|
+
| before | prior to (when "before" works) |
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Contractions
|
|
55
|
+
|
|
56
|
+
Use everyday contractions so content sounds natural and approachable.
|
|
57
|
+
|
|
58
|
+
- we're, it's, don't, can't, you'll, that's
|
|
59
|
+
- Avoid overly formal "we have not", "do not" in body copy unless tone requires it (e.g. legal, formal notices)
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Verb Tenses
|
|
64
|
+
|
|
65
|
+
- Use **present** for general truth and instructions: "The dashboard shows recent activity."
|
|
66
|
+
- Use **past** for what happened: "The deployment completed successfully."
|
|
67
|
+
- Use **future** only when necessary: "You will receive a confirmation email."
|
|
68
|
+
- Avoid unnecessary perfect tenses when simple past or present is clearer.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Conciseness
|
|
73
|
+
|
|
74
|
+
- Cut filler: "Please note that" → often delete; "at this time" → "now" or "currently"
|
|
75
|
+
- One main idea per sentence where possible
|
|
76
|
+
- Start with the most important information
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Addressing the Reader
|
|
81
|
+
|
|
82
|
+
- Speak to the reader as **"you"**
|
|
83
|
+
- Use **"we"** for Equal Experts when it's clear from context
|
|
84
|
+
- Keep "my" vs "your" consistent with the product (e.g. "your account" in product UI)
|
|
85
|
+
|
|
86
|
+
### Don't "we" all over the content
|
|
87
|
+
|
|
88
|
+
Describing ourselves as "we" humanises the brand, but using it too often can read as boastful or insincere — especially when we want to emphasise the client, their input, and the collaboration. Balance "we" with the customer's perspective.
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Related Documentation
|
|
93
|
+
|
|
94
|
+
- [Voice and tone](../brand/voice-and-tone.md) - Principles and audience
|
|
95
|
+
- [Formatting](./formatting.md) - Capitalisation, headings, lists
|
|
96
|
+
- [Inclusive language](../accessibility/accessibility.md#inclusive-language) - Accessible, bias-free word choices
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Design Language
|
|
2
|
+
|
|
3
|
+
Visual design language for Equal Experts — the tokens and principles that apply across every medium.
|
|
4
|
+
|
|
5
|
+
| File | Scope |
|
|
6
|
+
|------|-------|
|
|
7
|
+
| [design-language.md](./design-language.md) | Design principles and token overview |
|
|
8
|
+
| [colours.md](./colours.md) | Brand colour palette and usage |
|
|
9
|
+
| [typography.md](./typography.md) | Fonts and type scale |
|
|
10
|
+
| [spacing.md](./spacing.md) | Spacing system |
|
|
11
|
+
| [borders.md](./borders.md) | Border philosophy and specifications |
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# Border Rules
|
|
2
|
+
|
|
3
|
+
Border specifications for Equal Experts. This document defines border philosophy, widths, radius, and usage guidelines.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
The design system follows a **minimal border philosophy** - borders should only be used when necessary. Prefer spacing and visual hierarchy over borders.
|
|
10
|
+
|
|
11
|
+
**Key Principle:** Use borders sparingly and purposefully. Spacing and visual hierarchy should be the primary tools for creating separation.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## When to Use Borders
|
|
16
|
+
|
|
17
|
+
### Use Borders For:
|
|
18
|
+
|
|
19
|
+
1. **Creating separation** between distinct sections needing clear boundaries
|
|
20
|
+
2. **Distinguishing interactive elements** from static content
|
|
21
|
+
3. **Defining component boundaries** where spacing alone is insufficient
|
|
22
|
+
4. **Indicating state changes** (focus states, error states, selection)
|
|
23
|
+
|
|
24
|
+
### Avoid Borders When:
|
|
25
|
+
|
|
26
|
+
- Spacing alone can create sufficient separation
|
|
27
|
+
- Visual hierarchy (size, color, weight) can distinguish elements
|
|
28
|
+
- The border would create visual clutter
|
|
29
|
+
- Separation is already clear through other design elements
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Border Width
|
|
34
|
+
|
|
35
|
+
Borders should be **1-4px** in width:
|
|
36
|
+
|
|
37
|
+
| Width | Usage |
|
|
38
|
+
|-------|-------|
|
|
39
|
+
| 1px | Default for most elements (cards, dividers) |
|
|
40
|
+
| 2px | Emphasized borders, active states |
|
|
41
|
+
| 3-4px | Focus indicators, high-contrast separations |
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Border Style
|
|
46
|
+
|
|
47
|
+
**Always use solid lines.**
|
|
48
|
+
|
|
49
|
+
The design system does not use:
|
|
50
|
+
- Dashed borders
|
|
51
|
+
- Dotted borders
|
|
52
|
+
- Other border styles
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Border Color
|
|
57
|
+
|
|
58
|
+
Use brand-appropriate colors:
|
|
59
|
+
|
|
60
|
+
| Usage | Color |
|
|
61
|
+
|-------|-------|
|
|
62
|
+
| Default borders | Light gray (slate-200 light, slate-700 dark) |
|
|
63
|
+
| Focus indicators | EE Blue or appropriate focus color |
|
|
64
|
+
| Error states | Red/destructive color |
|
|
65
|
+
| Success states | Transform Teal |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Border Radius
|
|
70
|
+
|
|
71
|
+
The design system uses a **minimal radius approach**:
|
|
72
|
+
|
|
73
|
+
### Default: 0px (No Radius)
|
|
74
|
+
|
|
75
|
+
Most elements have **no border radius** by default for a clean, modern, geometric aesthetic.
|
|
76
|
+
|
|
77
|
+
**Elements with no radius:**
|
|
78
|
+
- Static containers
|
|
79
|
+
- Sections
|
|
80
|
+
- Dividers
|
|
81
|
+
- Content blocks
|
|
82
|
+
|
|
83
|
+
### Interactive Elements: 6px
|
|
84
|
+
|
|
85
|
+
**Interactive elements** use **6px border radius**:
|
|
86
|
+
|
|
87
|
+
- Buttons
|
|
88
|
+
- Clickable cards
|
|
89
|
+
- Interactive tiles
|
|
90
|
+
- Tabs
|
|
91
|
+
|
|
92
|
+
### Form Inputs: 4px
|
|
93
|
+
|
|
94
|
+
**Form input elements** use **4px border radius**:
|
|
95
|
+
|
|
96
|
+
- Text inputs
|
|
97
|
+
- Textareas
|
|
98
|
+
- Select dropdowns
|
|
99
|
+
- Search inputs
|
|
100
|
+
|
|
101
|
+
### Summary
|
|
102
|
+
|
|
103
|
+
| Element Type | Border Radius |
|
|
104
|
+
|--------------|---------------|
|
|
105
|
+
| Static content | 0px |
|
|
106
|
+
| Interactive elements | 6px |
|
|
107
|
+
| Form inputs | 4px |
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Accessibility
|
|
112
|
+
|
|
113
|
+
### Contrast Requirements
|
|
114
|
+
|
|
115
|
+
Borders must meet WCAG 2.1 Level AA for graphical objects:
|
|
116
|
+
|
|
117
|
+
- **Minimum contrast ratio:** 3:1 against adjacent colors
|
|
118
|
+
|
|
119
|
+
### Testing
|
|
120
|
+
|
|
121
|
+
- Test borders against background colors
|
|
122
|
+
- Verify visibility in both light and dark contexts
|
|
123
|
+
- Ensure sufficient contrast for all users
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Usage Guidelines
|
|
128
|
+
|
|
129
|
+
### Do's
|
|
130
|
+
|
|
131
|
+
1. **Use borders purposefully** - Only when spacing is insufficient
|
|
132
|
+
2. **Follow width guidelines** - 1px default, 2px emphasized, 3-4px focus
|
|
133
|
+
3. **Apply radius correctly** - 0px static, 6px interactive, 4px inputs
|
|
134
|
+
4. **Ensure accessibility** - 3:1 minimum contrast ratio
|
|
135
|
+
5. **Be consistent** - Same border treatment for same element types
|
|
136
|
+
|
|
137
|
+
### Don'ts
|
|
138
|
+
|
|
139
|
+
1. **Don't overuse borders** - Spacing should be the first option
|
|
140
|
+
2. **Don't use non-solid borders** - No dashed or dotted
|
|
141
|
+
3. **Don't use arbitrary radius** - Only 0px, 4px, or 6px
|
|
142
|
+
4. **Don't break accessibility** - Always verify contrast
|
|
143
|
+
5. **Don't use decorative borders** - Keep them functional
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Platform-Specific Borders
|
|
148
|
+
|
|
149
|
+
For platform-specific border guidance:
|
|
150
|
+
|
|
151
|
+
- **Web product** - See [media-types/web-product/](../media-types/web-product/)
|
|
152
|
+
- **Web marketing** - See [media-types/web-marketing/](../media-types/web-marketing/)
|
|
153
|
+
- **Graphics** - See [media-types/imagery/patterns/graphics/](../media-types/imagery/patterns/graphics/)
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Related Documentation
|
|
158
|
+
|
|
159
|
+
- [Spacing](./spacing.md) - Spacing as alternative to borders
|
|
160
|
+
- [Colours](./colours.md) - Border colors
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# Colour Rules
|
|
2
|
+
|
|
3
|
+
<!-- GENERATED FILE — DO NOT EDIT BY HAND.
|
|
4
|
+
Produced by skills/scripts/generate-tokens.mjs from
|
|
5
|
+
reference/design-language/tokens/colors.tokens.json (the source of truth).
|
|
6
|
+
Change colours in the token file, then run `npm run tokens:generate`.
|
|
7
|
+
CI runs `npm run tokens:check` and fails if this file drifts from the tokens. -->
|
|
8
|
+
|
|
9
|
+
Brand color specifications for Equal Experts. This document defines the brand colors, palette scales, and usage guidelines.
|
|
10
|
+
|
|
11
|
+
> **Source of truth:** the canonical colour tokens live **upstream in this repo** at [`tokens/colors.tokens.json`](./tokens/colors.tokens.json) (W3C design-tokens; brand palettes + aliases). **This document is generated from it** by `skills/scripts/generate-tokens.mjs`, and the downstream `@equal-experts/kuat-core` `variables.css` is generated from the same tokens — don't hand-edit either; change colours in the token file and regenerate. (kuat-core is downstream; never the reverse.) Support scales (slate/red/indigo) are *not* brand colours. Hex values below are the authoritative `…-500` brand values; full 50–950 scales + aliases live in the token file.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Brand Colors
|
|
16
|
+
|
|
17
|
+
Equal Experts uses four core brand color palettes:
|
|
18
|
+
|
|
19
|
+
### EE Blue (Primary)
|
|
20
|
+
|
|
21
|
+
**Purpose:** Trust, professionalism, technology
|
|
22
|
+
**Value:** `oklch(0.645 0.163 237.5)` / `#1795d4` (kuat-core `--ee-blue-500`)
|
|
23
|
+
|
|
24
|
+
**Use for:**
|
|
25
|
+
- Primary actions and CTAs
|
|
26
|
+
- Brand identity elements
|
|
27
|
+
- Key highlights and focus states
|
|
28
|
+
- Links and interactive elements
|
|
29
|
+
|
|
30
|
+
### Transform Teal (Secondary)
|
|
31
|
+
|
|
32
|
+
**Purpose:** Transformation, growth, innovation
|
|
33
|
+
**Value:** `oklch(0.645 0.120 185.0)` / `#269c9e` (kuat-core `--transform-teal-500`)
|
|
34
|
+
|
|
35
|
+
**Use for:**
|
|
36
|
+
- Secondary actions
|
|
37
|
+
- Accent elements and badges
|
|
38
|
+
- Success indicators
|
|
39
|
+
- Data visualization (secondary)
|
|
40
|
+
|
|
41
|
+
### Tech Blue (Supporting)
|
|
42
|
+
|
|
43
|
+
**Purpose:** Technical, professional, structural
|
|
44
|
+
**Value:** `oklch(0.435 0.090 240.0)` / `#22567c` (kuat-core `--tech-blue-500`)
|
|
45
|
+
|
|
46
|
+
**Use for:**
|
|
47
|
+
- Dark backgrounds
|
|
48
|
+
- Navigation areas
|
|
49
|
+
- Technical interfaces
|
|
50
|
+
- Depth and structure
|
|
51
|
+
|
|
52
|
+
### Equal Ember (Accent)
|
|
53
|
+
|
|
54
|
+
**Purpose:** Energy, warmth, attention
|
|
55
|
+
**Value:** `oklch(0.625 0.200 65.0)` / `#f07c00` (kuat-core `--equal-ember-500`)
|
|
56
|
+
|
|
57
|
+
**Use for:**
|
|
58
|
+
- Special highlights (use sparingly)
|
|
59
|
+
- Warning states
|
|
60
|
+
- Attention-grabbing elements
|
|
61
|
+
- Call-to-action emphasis
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Brand Color Palette Scale
|
|
66
|
+
|
|
67
|
+
Each brand color has a scale from 50 (lightest) to 950 (darkest):
|
|
68
|
+
|
|
69
|
+
| Range | Usage |
|
|
70
|
+
|-------|-------|
|
|
71
|
+
| 50-200 | Light backgrounds, subtle accents, hover states |
|
|
72
|
+
| 300-500 | Primary brand colors, main actions |
|
|
73
|
+
| 600-800 | Darker variants for depth and contrast |
|
|
74
|
+
| 900-950 | Maximum depth, dark mode, high contrast |
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Brand Aliases (semantic roles)
|
|
79
|
+
|
|
80
|
+
How the brand palettes map to semantic roles in kuat-core `variables.css`. **Use these aliases, not raw scale values.**
|
|
81
|
+
|
|
82
|
+
| Alias | Maps to | Hex |
|
|
83
|
+
|-------|---------|-----|
|
|
84
|
+
| `--primary` | EE Blue 500 | `#1795d4` |
|
|
85
|
+
| `--secondary` | Transform Teal 500 | `#269c9e` |
|
|
86
|
+
| `--sidebar` (dark nav) | Tech Blue 500 | `#22567c` |
|
|
87
|
+
| `--accent` (`--brand-ee-blue-accent`) | EE Blue 50 | `#e6f5fc` |
|
|
88
|
+
| `--foreground` (`--brand-dark-data`) | text dark | `#212526` |
|
|
89
|
+
| `--background` (`--brand-byte-white`) | white | `#ffffff` |
|
|
90
|
+
| `--muted` (`--brand-the-cloud`) | Slate 100 | `#f5f5f5` |
|
|
91
|
+
| `--destructive` | Red 600 | `#dc2626` |
|
|
92
|
+
|
|
93
|
+
Support scales (slate, red, indigo) back these aliases but are **not brand colours** — never use them directly as a brand colour.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Neutral Colors
|
|
98
|
+
|
|
99
|
+
For text, backgrounds, and UI elements:
|
|
100
|
+
|
|
101
|
+
| Color | Usage |
|
|
102
|
+
|-------|-------|
|
|
103
|
+
| White | Light backgrounds, text on dark |
|
|
104
|
+
| Slate-50 to Slate-200 | Light backgrounds, subtle borders |
|
|
105
|
+
| Slate-300 to Slate-500 | Secondary text, dividers |
|
|
106
|
+
| Slate-600 to Slate-800 | Primary text (light mode) |
|
|
107
|
+
| Slate-900 to Slate-950 | Headings, dark backgrounds |
|
|
108
|
+
| Black | Maximum contrast, specific uses |
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Color Format
|
|
113
|
+
|
|
114
|
+
All colors use **OKLCH** color space:
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
oklch(lightness chroma hue)
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**Benefits:**
|
|
121
|
+
- Perceptual uniformity (equal changes = equal perception)
|
|
122
|
+
- Better color manipulation for consistent scales
|
|
123
|
+
- Modern format with excellent support
|
|
124
|
+
|
|
125
|
+
**Hex values** are provided for tools that don't support OKLCH.
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Light and Dark Mode
|
|
130
|
+
|
|
131
|
+
Colors should adapt for light and dark contexts:
|
|
132
|
+
|
|
133
|
+
**Light Mode (default):**
|
|
134
|
+
- Light backgrounds (white, light gray)
|
|
135
|
+
- Dark text (slate-900, slate-950)
|
|
136
|
+
- Brand colors at standard values
|
|
137
|
+
|
|
138
|
+
**Dark Mode:**
|
|
139
|
+
- Dark backgrounds (slate-900, slate-950)
|
|
140
|
+
- Light text (white, slate-100)
|
|
141
|
+
- Brand colors remain consistent
|
|
142
|
+
- Supporting colors adapt for contrast
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Accessibility Requirements
|
|
147
|
+
|
|
148
|
+
All color combinations must meet **WCAG AA** standards:
|
|
149
|
+
|
|
150
|
+
| Content Type | Minimum Contrast |
|
|
151
|
+
|--------------|------------------|
|
|
152
|
+
| Normal text (14px and below) | 4.5:1 |
|
|
153
|
+
| Large text (18px+ or 14px+ bold) | 3:1 |
|
|
154
|
+
| Graphical objects/borders | 3:1 |
|
|
155
|
+
|
|
156
|
+
**Approved Combinations:**
|
|
157
|
+
- Dark text on light backgrounds ✓
|
|
158
|
+
- White text on EE Blue ✓
|
|
159
|
+
- White text on Tech Blue ✓
|
|
160
|
+
- White text on Transform Teal ✓
|
|
161
|
+
- Dark text on Equal Ember (check contrast) ✓
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Usage Guidelines
|
|
166
|
+
|
|
167
|
+
### Do's
|
|
168
|
+
|
|
169
|
+
1. **Use brand colors consistently** - EE Blue for primary, Transform Teal for secondary
|
|
170
|
+
2. **Pair colors correctly** - Ensure sufficient contrast for text
|
|
171
|
+
3. **Support light and dark contexts** - Colors work in both modes
|
|
172
|
+
4. **Respect brand hierarchy** - Primary for main actions, secondary for alternatives
|
|
173
|
+
5. **Verify accessibility** - Always check contrast ratios
|
|
174
|
+
|
|
175
|
+
### Don'ts
|
|
176
|
+
|
|
177
|
+
1. **Don't use non-brand colors** - Stick to the defined palette
|
|
178
|
+
2. **Don't mix brand colors inappropriately** - Each has a specific purpose
|
|
179
|
+
3. **Don't break accessibility** - Always verify contrast ratios
|
|
180
|
+
4. **Don't create custom variations** - Use only defined palette values
|
|
181
|
+
5. **Don't use color alone to convey meaning** - Combine with text, icons, patterns
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Platform-Specific Implementation
|
|
186
|
+
|
|
187
|
+
For platform-specific color usage:
|
|
188
|
+
|
|
189
|
+
- **Web product** - See [media-types/web-product/](../media-types/web-product/) for CSS variables and tokens
|
|
190
|
+
- **Web marketing** - See [media-types/web-marketing/](../media-types/web-marketing/)
|
|
191
|
+
- **Slides** - See [media-types/slides/](../media-types/slides/)
|
|
192
|
+
- **Graphics** - See [media-types/imagery/patterns/graphics/](../media-types/imagery/patterns/graphics/)
|
|
193
|
+
- **Charts** - See [media-types/charts-data/](../media-types/charts-data/)
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## Related Documentation
|
|
198
|
+
|
|
199
|
+
- [Brand Guidelines](../brand/brand.md) - Brand principles
|
|
200
|
+
- [Typography](./typography.md) - Font colors and text styling
|
|
201
|
+
- [Logo](../brand/logo.md) - Logo color variants
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# Design Language
|
|
2
|
+
|
|
3
|
+
High-level design principles for Equal Experts. This document provides the foundation for all visual design decisions.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
The Equal Experts design language ensures consistent, accessible, and brand-compliant outputs across all media types - web, slides, graphics, photography, and more.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Design Principles
|
|
14
|
+
|
|
15
|
+
### 1. Consistency
|
|
16
|
+
|
|
17
|
+
Use design tokens everywhere. Never use arbitrary values for colors, spacing, or typography.
|
|
18
|
+
|
|
19
|
+
**Why:** Consistency builds brand recognition and reduces cognitive load.
|
|
20
|
+
|
|
21
|
+
### 2. Accessibility
|
|
22
|
+
|
|
23
|
+
WCAG AA compliance minimum. All color combinations, interactive elements, and content must be accessible.
|
|
24
|
+
|
|
25
|
+
**Why:** Everyone should be able to access and use Equal Experts materials.
|
|
26
|
+
|
|
27
|
+
### 3. Simplicity
|
|
28
|
+
|
|
29
|
+
Minimal borders, clear hierarchy through spacing. Prefer simple solutions over complex ones.
|
|
30
|
+
|
|
31
|
+
**Why:** Simplicity communicates confidence and professionalism.
|
|
32
|
+
|
|
33
|
+
### 4. Clarity
|
|
34
|
+
|
|
35
|
+
Content-first design. Design serves content; never decorate at the expense of clarity.
|
|
36
|
+
|
|
37
|
+
**Why:** Clear communication is more valuable than visual flourish.
|
|
38
|
+
|
|
39
|
+
### 5. Flexibility
|
|
40
|
+
|
|
41
|
+
Support different contexts - light/dark, print/digital, large/small formats.
|
|
42
|
+
|
|
43
|
+
**Why:** Brand materials must work across many platforms and use cases.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Design Token Categories
|
|
48
|
+
|
|
49
|
+
| Category | What It Defines | Documentation |
|
|
50
|
+
|----------|-----------------|---------------|
|
|
51
|
+
| Colors | Brand colors, palette scales, usage | [colours.md](./colours.md) |
|
|
52
|
+
| Typography | Fonts, sizes, weights, hierarchy | [typography.md](./typography.md) |
|
|
53
|
+
| Spacing | Padding, margin, gaps, relationships | [spacing.md](./spacing.md) |
|
|
54
|
+
| Borders | Widths, styles, radius, colors | [borders.md](./borders.md) |
|
|
55
|
+
| Logo | Usage, sizing, variants, placement | [logo.md](../brand/logo.md) |
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Accessibility Standards
|
|
60
|
+
|
|
61
|
+
The design language adheres to **WCAG 2.1 Level AA**:
|
|
62
|
+
|
|
63
|
+
| Requirement | Standard |
|
|
64
|
+
|-------------|----------|
|
|
65
|
+
| Text contrast | 4.5:1 minimum |
|
|
66
|
+
| Large text contrast | 3:1 minimum |
|
|
67
|
+
| Graphical object contrast | 3:1 minimum |
|
|
68
|
+
| Color alone | Never convey meaning through color alone |
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Best Practices Summary
|
|
73
|
+
|
|
74
|
+
### Do's
|
|
75
|
+
|
|
76
|
+
1. **Use brand colors** - EE Blue, Transform Teal, Tech Blue, Equal Ember
|
|
77
|
+
2. **Follow the spacing scale** - Use defined values (4, 8, 16, 24, 32, 48px)
|
|
78
|
+
3. **Use Lexend font** - It's the brand sans-serif
|
|
79
|
+
4. **Test accessibility** - Verify contrast and readability
|
|
80
|
+
5. **Use official assets** - Logo files from brand repository
|
|
81
|
+
6. **Maintain hierarchy** - Clear visual structure
|
|
82
|
+
|
|
83
|
+
### Don'ts
|
|
84
|
+
|
|
85
|
+
1. **Don't use arbitrary values** - Always use tokens
|
|
86
|
+
2. **Don't skip heading levels** - H1 → H2 → H3
|
|
87
|
+
3. **Don't ignore contrast** - Verify all combinations
|
|
88
|
+
4. **Don't modify brand assets** - Use as provided
|
|
89
|
+
5. **Don't overcomplicate** - Simple is better
|
|
90
|
+
6. **Don't prioritize decoration over clarity** - Content first
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Platform-Specific Rules
|
|
95
|
+
|
|
96
|
+
Type-specific rules build on these general principles:
|
|
97
|
+
|
|
98
|
+
| Platform | Directory | Description |
|
|
99
|
+
|----------|-----------|-------------|
|
|
100
|
+
| Web product | [media-types/web-product/](../media-types/web-product/) | Web applications |
|
|
101
|
+
| Web marketing | [media-types/web-marketing/](../media-types/web-marketing/) | Marketing websites |
|
|
102
|
+
| Slides | [media-types/slides/](../media-types/slides/) | Presentations |
|
|
103
|
+
| Photography | [media-types/imagery/patterns/photography/](../media-types/imagery/patterns/photography/) | Photo guidelines |
|
|
104
|
+
| Graphics | [media-types/imagery/patterns/graphics/](../media-types/imagery/patterns/graphics/) | Icons, illustrations, infographics |
|
|
105
|
+
| Charts/Data | [media-types/charts-data/](../media-types/charts-data/) | Data visualization |
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Related Documentation
|
|
110
|
+
|
|
111
|
+
- [Brand Guidelines](../brand/brand.md) - Brand principles and identity
|
|
112
|
+
- [Logo](../brand/logo.md) - Logo usage guidelines
|
|
113
|
+
- [Colours](./colours.md) - Brand colors
|
|
114
|
+
- [Typography](./typography.md) - Fonts and type scale
|
|
115
|
+
- [Spacing](./spacing.md) - Spacing system
|
|
116
|
+
- [Borders](./borders.md) - Border philosophy
|
|
117
|
+
- [Writing style](../content/writing-style.md) - Writing style and usage
|