@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.
Files changed (205) 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 +3 -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.vue.d.ts +26 -0
  73. package/dist/components/ui/accordion/AccordionContent.vue.d.ts +27 -0
  74. package/dist/components/ui/accordion/AccordionItem.vue.d.ts +27 -0
  75. package/dist/components/ui/accordion/AccordionTrigger.vue.d.ts +28 -0
  76. package/dist/components/ui/accordion/index.d.ts +4 -0
  77. package/dist/components/ui/alert-dialog/AlertDialog.vue.d.ts +26 -0
  78. package/dist/components/ui/alert-dialog/AlertDialogAction.vue.d.ts +27 -0
  79. package/dist/components/ui/alert-dialog/AlertDialogCancel.vue.d.ts +27 -0
  80. package/dist/components/ui/alert-dialog/AlertDialogContent.vue.d.ts +41 -0
  81. package/dist/components/ui/alert-dialog/AlertDialogDescription.vue.d.ts +27 -0
  82. package/dist/components/ui/alert-dialog/AlertDialogFooter.vue.d.ts +26 -0
  83. package/dist/components/ui/alert-dialog/AlertDialogHeader.vue.d.ts +26 -0
  84. package/dist/components/ui/alert-dialog/AlertDialogTitle.vue.d.ts +27 -0
  85. package/dist/components/ui/alert-dialog/AlertDialogTrigger.vue.d.ts +22 -0
  86. package/dist/components/ui/alert-dialog/index.d.ts +9 -0
  87. package/dist/components/ui/badge/Badge.vue.d.ts +49 -0
  88. package/dist/components/ui/badge/constants.d.ts +4 -0
  89. package/dist/components/ui/badge/index.d.ts +14 -0
  90. package/dist/components/ui/breadcrumb/Breadcrumb.vue.d.ts +34 -0
  91. package/dist/components/ui/breadcrumb/index.d.ts +2 -0
  92. package/dist/components/ui/breadcrumb/types.d.ts +8 -0
  93. package/dist/components/ui/button/Button.vue.d.ts +53 -0
  94. package/dist/components/ui/button/constants.d.ts +12 -0
  95. package/dist/components/ui/button/index.d.ts +12 -0
  96. package/dist/components/ui/button-group/ButtonGroup.vue.d.ts +43 -0
  97. package/dist/components/ui/button-group/ButtonGroupSeparator.vue.d.ts +32 -0
  98. package/dist/components/ui/button-group/ButtonGroupText.vue.d.ts +40 -0
  99. package/dist/components/ui/button-group/constants.d.ts +2 -0
  100. package/dist/components/ui/button-group/index.d.ts +14 -0
  101. package/dist/components/ui/carousel/Carousel.vue.d.ts +59 -0
  102. package/dist/components/ui/carousel/CarouselContent.vue.d.ts +25 -0
  103. package/dist/components/ui/carousel/CarouselItem.vue.d.ts +32 -0
  104. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +16 -0
  105. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +16 -0
  106. package/dist/components/ui/carousel/context.d.ts +26 -0
  107. package/dist/components/ui/carousel/index.d.ts +7 -0
  108. package/dist/components/ui/checkbox/Checkbox.vue.d.ts +13 -0
  109. package/dist/components/ui/checkbox/CheckboxField.vue.d.ts +68 -0
  110. package/dist/components/ui/checkbox/constants.d.ts +4 -0
  111. package/dist/components/ui/checkbox/index.d.ts +4 -0
  112. package/dist/components/ui/content-card/ContentCard.vue.d.ts +72 -0
  113. package/dist/components/ui/content-card/index.d.ts +1 -0
  114. package/dist/components/ui/field/Field.vue.d.ts +48 -0
  115. package/dist/components/ui/field/FieldContent.vue.d.ts +26 -0
  116. package/dist/components/ui/field/FieldDescription.vue.d.ts +26 -0
  117. package/dist/components/ui/field/FieldError.vue.d.ts +33 -0
  118. package/dist/components/ui/field/FieldGroup.vue.d.ts +26 -0
  119. package/dist/components/ui/field/FieldLabel.vue.d.ts +26 -0
  120. package/dist/components/ui/field/FieldLegend.vue.d.ts +43 -0
  121. package/dist/components/ui/field/FieldSeparator.vue.d.ts +26 -0
  122. package/dist/components/ui/field/FieldSet.vue.d.ts +26 -0
  123. package/dist/components/ui/field/FieldTitle.vue.d.ts +26 -0
  124. package/dist/components/ui/field/constants.d.ts +4 -0
  125. package/dist/components/ui/field/index.d.ts +12 -0
  126. package/dist/components/ui/icon-button/IconButton.vue.d.ts +62 -0
  127. package/dist/components/ui/icon-button/constants.d.ts +13 -0
  128. package/dist/components/ui/icon-button/index.d.ts +14 -0
  129. package/dist/components/ui/input/Input.vue.d.ts +34 -0
  130. package/dist/components/ui/input/constants.d.ts +2 -0
  131. package/dist/components/ui/input/index.d.ts +3 -0
  132. package/dist/components/ui/kuat-carousel/KuatCarousel.vue.d.ts +51 -0
  133. package/dist/components/ui/kuat-carousel/KuatCarouselContent.vue.d.ts +25 -0
  134. package/dist/components/ui/kuat-carousel/KuatCarouselItem.vue.d.ts +27 -0
  135. package/dist/components/ui/kuat-carousel/KuatCarouselNext.vue.d.ts +16 -0
  136. package/dist/components/ui/kuat-carousel/KuatCarouselPrevious.vue.d.ts +16 -0
  137. package/dist/components/ui/kuat-carousel/index.d.ts +6 -0
  138. package/dist/components/ui/kuat-header/EELogo.vue.d.ts +32 -0
  139. package/dist/components/ui/kuat-header/KuatHeader.vue.d.ts +56 -0
  140. package/dist/components/ui/kuat-header/constants.d.ts +83 -0
  141. package/dist/components/ui/kuat-header/index.d.ts +16 -0
  142. package/dist/components/ui/kuat-header/kuat-header.logic.d.ts +29 -0
  143. package/dist/components/ui/kuat-logo-lockup/EELogoIcon.vue.d.ts +18 -0
  144. package/dist/components/ui/kuat-logo-lockup/KuatLogoLockup.vue.d.ts +45 -0
  145. package/dist/components/ui/kuat-logo-lockup/constants.d.ts +4 -0
  146. package/dist/components/ui/kuat-logo-lockup/index.d.ts +4 -0
  147. package/dist/components/ui/kuat-radial-progress/KuatRadialProgress.vue.d.ts +52 -0
  148. package/dist/components/ui/kuat-radial-progress/constants.d.ts +4 -0
  149. package/dist/components/ui/kuat-radial-progress/index.d.ts +3 -0
  150. package/dist/components/ui/radio/RadioField.vue.d.ts +58 -0
  151. package/dist/components/ui/radio/RadioGroup.vue.d.ts +31 -0
  152. package/dist/components/ui/radio/RadioGroupItem.vue.d.ts +22 -0
  153. package/dist/components/ui/radio/constants.d.ts +4 -0
  154. package/dist/components/ui/radio/index.d.ts +5 -0
  155. package/dist/components/ui/select/KuatSelect.vue.d.ts +104 -0
  156. package/dist/components/ui/select/Select.vue.d.ts +28 -0
  157. package/dist/components/ui/select/SelectContent.vue.d.ts +52 -0
  158. package/dist/components/ui/select/SelectGroup.vue.d.ts +22 -0
  159. package/dist/components/ui/select/SelectItem.vue.d.ts +40 -0
  160. package/dist/components/ui/select/SelectLabel.vue.d.ts +27 -0
  161. package/dist/components/ui/select/SelectScrollDownButton.vue.d.ts +18 -0
  162. package/dist/components/ui/select/SelectScrollUpButton.vue.d.ts +18 -0
  163. package/dist/components/ui/select/SelectSeparator.vue.d.ts +18 -0
  164. package/dist/components/ui/select/SelectTrigger.vue.d.ts +72 -0
  165. package/dist/components/ui/select/SelectValue.vue.d.ts +18 -0
  166. package/dist/components/ui/select/constants.d.ts +18 -0
  167. package/dist/components/ui/select/index.d.ts +13 -0
  168. package/dist/components/ui/separator/Separator.vue.d.ts +35 -0
  169. package/dist/components/ui/separator/index.d.ts +1 -0
  170. package/dist/components/ui/sonner/KuatSonner.vue.d.ts +54 -0
  171. package/dist/components/ui/sonner/KuatSonnerContent.vue.d.ts +53 -0
  172. package/dist/components/ui/sonner/constants.d.ts +2 -0
  173. package/dist/components/ui/sonner/index.d.ts +7 -0
  174. package/dist/components/ui/sonner/toast.d.ts +17 -0
  175. package/dist/components/ui/switch/Switch.vue.d.ts +13 -0
  176. package/dist/components/ui/switch/SwitchField.vue.d.ts +68 -0
  177. package/dist/components/ui/switch/constants.d.ts +4 -0
  178. package/dist/components/ui/switch/index.d.ts +4 -0
  179. package/dist/components/ui/textarea/Textarea.vue.d.ts +24 -0
  180. package/dist/components/ui/textarea/constants.d.ts +2 -0
  181. package/dist/components/ui/textarea/index.d.ts +3 -0
  182. package/dist/components/ui/toggle/Toggle.vue.d.ts +42 -0
  183. package/dist/components/ui/toggle/constants.d.ts +4 -0
  184. package/dist/components/ui/toggle/index.d.ts +3 -0
  185. package/dist/components/ui/toggle-group/ToggleGroup.vue.d.ts +45 -0
  186. package/dist/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +49 -0
  187. package/dist/components/ui/toggle-group/constants.d.ts +2 -0
  188. package/dist/components/ui/toggle-group/index.d.ts +4 -0
  189. package/dist/field.d.ts +3 -0
  190. package/dist/icon-button.d.ts +3 -0
  191. package/dist/index.d.ts +46 -0
  192. package/dist/input.d.ts +3 -0
  193. package/dist/kuat-carousel.d.ts +2 -0
  194. package/dist/lib/utils.d.ts +3 -0
  195. package/dist/radio.d.ts +3 -0
  196. package/dist/select.d.ts +3 -0
  197. package/dist/sonner.d.ts +1 -0
  198. package/dist/style.css +1 -1
  199. package/dist/style.css.d.ts +2 -0
  200. package/dist/switch.d.ts +1 -0
  201. package/dist/test/setup.d.ts +1 -0
  202. package/dist/textarea.d.ts +3 -0
  203. package/dist/toggle-group.d.ts +5 -0
  204. package/dist/toggle.d.ts +3 -0
  205. 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