@workday/canvas-kit-mcp 15.0.0-alpha.0056-next.0 → 15.0.0-alpha.0060-next.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/README.md +6 -0
- package/dist/cli.js +272 -7
- package/dist/cli.js.map +2 -2
- package/dist/index.js +272 -7
- package/dist/index.js.map +2 -2
- package/dist/lib/{llm-txt/llm-style-props-migration.txt → llm-style-props-migration.txt} +1 -1
- package/dist/lib/theming.md +649 -0
- package/dist/lib/tokens/color-contrast.md +116 -0
- package/dist/lib/tokens/color-palette.md +141 -0
- package/dist/lib/tokens/color-roles.md +520 -0
- package/dist/lib/tokens/color-scale.md +277 -0
- package/dist/lib/tokens/color-tokens.md +130 -0
- package/dist/lib/tokens/token-migration.md +234 -0
- package/dist/lib/upgrade-guides/10.0-UPGRADE-GUIDE.md +346 -0
- package/dist/lib/upgrade-guides/11.0-UPGRADE-GUIDE.md +960 -0
- package/dist/lib/upgrade-guides/14.0-UPGRADE-GUIDE.md +1 -1
- package/dist/lib/upgrade-guides/9.0-UPGRADE-GUIDE.md +498 -0
- package/dist/types/lib/index.d.ts.map +1 -1
- package/package.json +2 -2
- /package/dist/lib/{llm-txt/llm-token-migration-14.txt → llm-token-migration-14.txt} +0 -0
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
# Color Scale
|
|
2
|
+
|
|
3
|
+
Colors are organized into scales with steps from 0 (lightest) to 1000 (darkest). Colors are designed
|
|
4
|
+
to be perceptually balanced, ensuring consistent lightness across color families. Colors with the
|
|
5
|
+
same step number serve similar purposes, regardless of hue.
|
|
6
|
+
|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
Scales are designed using the okLCH color space to create perceptually balanced colors. Color peak
|
|
10
|
+
in vividness at the midpoint (500) and decrease at the tail-ends to create softer surface colors and
|
|
11
|
+
more vibrant accents.
|
|
12
|
+

|
|
13
|
+
|
|
14
|
+
**Amber Exception:** Due to amber's natural color properties, its chroma peaks at lighter values
|
|
15
|
+
(around step 300) rather than 500. This means amber uses step 400 for primary colors to maintain
|
|
16
|
+
accessibility compliance while preserving vibrancy.
|
|
17
|
+
|
|
18
|
+

|
|
19
|
+
|
|
20
|
+

|
|
21
|
+
|
|
22
|
+
<Do>
|
|
23
|
+
|
|
24
|
+
- Apply consistent steps for similar UI elements across all color families
|
|
25
|
+
- When choosing color combinations, use the [contrast framework](/guidelines/color/color-contrast)
|
|
26
|
+
to ensure accessible contrast ratios
|
|
27
|
+
- Use steps to create visual hierarchy
|
|
28
|
+
|
|
29
|
+
</Do>
|
|
30
|
+
|
|
31
|
+
<Dont>
|
|
32
|
+
|
|
33
|
+
- Use steps for different purposes
|
|
34
|
+
- Mix steps randomly, always consider visual hierarchy
|
|
35
|
+
- Ignore contrast requirements when choosing steps
|
|
36
|
+
|
|
37
|
+
</Dont>
|
|
38
|
+
|
|
39
|
+

|
|
40
|
+
|
|
41
|
+
## Step Guidelines
|
|
42
|
+
|
|
43
|
+
Choose the right step for your UI elements:
|
|
44
|
+
|
|
45
|
+

|
|
46
|
+
|
|
47
|
+
| **Step** | **Primary Use Case** | **Description** |
|
|
48
|
+
| -------- | --------------------- | ----------------------------------------------------------------- |
|
|
49
|
+
| 0 | Page backgrounds | Lightest color (white in light mode, black in dark mode) |
|
|
50
|
+
| 25 | Input backgrounds | Subtle differentiation that maintains text contrast |
|
|
51
|
+
| 50 | Subtle backgrounds | Light surface backgrounds that don't compete with primary content |
|
|
52
|
+
| 100 | Secondary backgrounds | Clear hierarchy between subtle and primary content |
|
|
53
|
+
| 200 | Divider borders | Gentle separation, less harsh than stronger borders |
|
|
54
|
+
| 300 | Container borders | Structural definition while remaining lightweight |
|
|
55
|
+
| 400 | Disabled states | Reduced contrast for disabled input borders and text |
|
|
56
|
+
| 500 | Input borders | Meets 3:1 contrast for interactive boundaries |
|
|
57
|
+
| 600 | Accent text | Balances vividness with readability on white backgrounds |
|
|
58
|
+
| 700 | Hover states | Increased weight provides interaction feedback |
|
|
59
|
+
| 800 | Body text | Comfortable contrast for extended reading |
|
|
60
|
+
| 900 | Heading text | Strong contrast creates content hierarchy |
|
|
61
|
+
| 950 | Display text | Maximum contrast demands immediate attention |
|
|
62
|
+
| 975 | Dark mode backgrounds | Reserved for dark mode page backgrounds |
|
|
63
|
+
| 1000 | Maximum contrast | Strongest emphasis for overlays, rarely used |
|
|
64
|
+
|
|
65
|
+
### Steps 0–100 - Page Backgrounds
|
|
66
|
+
|
|
67
|
+

|
|
68
|
+
|
|
69
|
+
Use the default page background for most use cases, especially if colors will be used on top of it.
|
|
70
|
+
|
|
71
|
+
A secondary option is needed when subtle differentiaton is needed against the background.
|
|
72
|
+
|
|
73
|
+
<Do>
|
|
74
|
+
|
|
75
|
+
- Use default background for most page layouts
|
|
76
|
+
- Choose subtle alternatives when background differentiation is needed
|
|
77
|
+
- Apply very light backgrounds for disabled and error states
|
|
78
|
+
|
|
79
|
+
</Do>
|
|
80
|
+
|
|
81
|
+
<Dont>
|
|
82
|
+
|
|
83
|
+
- Use subtle backgrounds when color overlays will be present
|
|
84
|
+
- Apply alternative backgrounds without clear purpose
|
|
85
|
+
|
|
86
|
+
</Dont>
|
|
87
|
+
|
|
88
|
+
| **Color** | **Usage** |
|
|
89
|
+
| ---------- | ---------------------------------- |
|
|
90
|
+
| `base.0` | Default background color for pages |
|
|
91
|
+
| `slate.50` | Subtle background color for pages |
|
|
92
|
+
|
|
93
|
+
### Step 50 - Subtle Backgrounds
|
|
94
|
+
|
|
95
|
+
Light surfaces that don't compete with primary content.
|
|
96
|
+
|
|
97
|
+

|
|
98
|
+
|
|
99
|
+
<Do>
|
|
100
|
+
|
|
101
|
+
- Use for low emphasis status indicators
|
|
102
|
+
- Create subtle content zones that don't compete with primary content
|
|
103
|
+
- Apply when minimal visual presence is desired
|
|
104
|
+
|
|
105
|
+
</Do>
|
|
106
|
+
|
|
107
|
+
<Dont>
|
|
108
|
+
|
|
109
|
+
- Use when content needs to stand out or grab attention
|
|
110
|
+
- Apply to elements requiring clear visibility
|
|
111
|
+
|
|
112
|
+
</Dont>
|
|
113
|
+
|
|
114
|
+
### Step 100 - Secondary Backgrounds
|
|
115
|
+
|
|
116
|
+
Clear hierarchy between subtle and primary content.
|
|
117
|
+
|
|
118
|
+

|
|
119
|
+
|
|
120
|
+
<Do>
|
|
121
|
+
|
|
122
|
+
- Use for secondary button backgrounds
|
|
123
|
+
- Apply to hover states for light content
|
|
124
|
+
- Choose for UI elements needing moderate prominence
|
|
125
|
+
|
|
126
|
+
</Do>
|
|
127
|
+
|
|
128
|
+
<Dont>
|
|
129
|
+
|
|
130
|
+
- Use for primary actions or main content
|
|
131
|
+
- Apply when subtle emphasis is sufficient
|
|
132
|
+
|
|
133
|
+
</Dont>
|
|
134
|
+
|
|
135
|
+
### Step 200, 300 - Surface Borders
|
|
136
|
+
|
|
137
|
+
Visual structures for non-interactive surfaces.
|
|
138
|
+
|
|
139
|
+
<FormattedImage caption="Step 200 - Gentle separation between content.">
|
|
140
|
+
|
|
141
|
+

|
|
142
|
+
|
|
143
|
+
</FormattedImage>
|
|
144
|
+
|
|
145
|
+
<FormattedImage caption="Step 300** - Container borders indicating modular sections.">
|
|
146
|
+
|
|
147
|
+

|
|
148
|
+
|
|
149
|
+
</FormattedImage>
|
|
150
|
+
|
|
151
|
+
<Do>
|
|
152
|
+
|
|
153
|
+
- Use lighter borders for list dividers and lightweight boundaries
|
|
154
|
+
- Apply stronger borders for container definition and modular sections
|
|
155
|
+
- Choose based on visual separation needs
|
|
156
|
+
|
|
157
|
+
</Do>
|
|
158
|
+
|
|
159
|
+
<Dont>
|
|
160
|
+
|
|
161
|
+
- Use for interactive elements requiring higher contrast
|
|
162
|
+
- Apply to elements needing accessibility compliance
|
|
163
|
+
|
|
164
|
+
</Dont>
|
|
165
|
+
|
|
166
|
+
### Step 400, 500 - Interactive Elements
|
|
167
|
+
|
|
168
|
+
<FormattedImage caption="Step 400 - Disabled states with reduced contrast.">
|
|
169
|
+
|
|
170
|
+

|
|
171
|
+
|
|
172
|
+
</FormattedImage>
|
|
173
|
+
|
|
174
|
+
<FormattedImage caption="Step 500 - Interactive boundaries meeting 3:1 contrast. Midpoint with peak saturation for vibrant accents.">
|
|
175
|
+
|
|
176
|
+

|
|
177
|
+
|
|
178
|
+
</FormattedImage>
|
|
179
|
+
|
|
180
|
+
<Do>
|
|
181
|
+
|
|
182
|
+
- Use reduced contrast for disabled states and non-interactive elements
|
|
183
|
+
- Apply accessible contrast for input borders and interactive elements
|
|
184
|
+
- Meet minimum WCAG 2.1 AA compliance requirements
|
|
185
|
+
- Leverage peak saturation for vibrant accent colors
|
|
186
|
+
|
|
187
|
+
</Do>
|
|
188
|
+
|
|
189
|
+
<Dont>
|
|
190
|
+
|
|
191
|
+
- Use disabled state colors for interactive elements
|
|
192
|
+
- Apply interactive colors below minimum contrast requirements
|
|
193
|
+
- Use low contrast colors for accessibility-critical elements
|
|
194
|
+
|
|
195
|
+
</Dont>
|
|
196
|
+
|
|
197
|
+
### Step 600, 700 - Accent Backgrounds
|
|
198
|
+
|
|
199
|
+
Vibrant interactive elements with guarenteed readability with inverse text or top of default
|
|
200
|
+
backgrounds (4.5:1 contrast).
|
|
201
|
+
|
|
202
|
+

|
|
203
|
+

|
|
204
|
+
|
|
205
|
+
<Do>
|
|
206
|
+
|
|
207
|
+
- Use for interactive accent colors, like PrimaryButton backgrounds
|
|
208
|
+
- Apply to link text, error text, and hint text on default backgrounds
|
|
209
|
+
- Use the next step (700) for hover states and 800 for active states
|
|
210
|
+
|
|
211
|
+
</Do>
|
|
212
|
+
|
|
213
|
+
<Dont>
|
|
214
|
+
|
|
215
|
+
- Apply to secondary UI or prose text - Use when something more subtle is more appropriate
|
|
216
|
+
|
|
217
|
+
</Dont>
|
|
218
|
+
|
|
219
|
+
### Step 800, 900, 950 - Text Hierarchy
|
|
220
|
+
|
|
221
|
+
Text contrast levels for content hierarchy and readability.
|
|
222
|
+
|
|
223
|
+

|
|
224
|
+
|
|
225
|
+
**Step 800** - Comfortable contrast for extended reading and body text. **Step 900** - Strong
|
|
226
|
+
contrast for headings and important text. **Step 950** - Maximum contrast for display text and hero
|
|
227
|
+
headlines.
|
|
228
|
+
|
|
229
|
+
<Do>
|
|
230
|
+
|
|
231
|
+
- Use on prose content
|
|
232
|
+
- Match level of contrast to typographic hierarchy
|
|
233
|
+
|
|
234
|
+
</Do>
|
|
235
|
+
|
|
236
|
+
<Dont>
|
|
237
|
+
|
|
238
|
+
- Use for secondary or instructional text (use 600 instead)
|
|
239
|
+
- Use for accent text, like links (use 600 intead)
|
|
240
|
+
|
|
241
|
+
</Dont>
|
|
242
|
+
|
|
243
|
+
### Step 975 - Dark Mode Backgrounds
|
|
244
|
+
|
|
245
|
+
Reserved for dark mode page backgrounds to maintain consistent color relationships.
|
|
246
|
+
|
|
247
|
+

|
|
248
|
+
|
|
249
|
+
<Do>
|
|
250
|
+
|
|
251
|
+
- Use exclusively for dark mode page backgrounds
|
|
252
|
+
|
|
253
|
+
</Do>
|
|
254
|
+
|
|
255
|
+
<Dont>
|
|
256
|
+
|
|
257
|
+
- Use in light mode interfaces
|
|
258
|
+
|
|
259
|
+
</Dont>
|
|
260
|
+
|
|
261
|
+
### Step 1000 - Overlay Backgrounds
|
|
262
|
+
|
|
263
|
+
Strongest emphasis color for alpha overlays and modal dialogs.
|
|
264
|
+
|
|
265
|
+

|
|
266
|
+
|
|
267
|
+
<Do>
|
|
268
|
+
|
|
269
|
+
- Use for alpha overlays and modal dialog scrims
|
|
270
|
+
|
|
271
|
+
</Do>
|
|
272
|
+
|
|
273
|
+
<Dont>
|
|
274
|
+
|
|
275
|
+
- Use as solid color in interfaces
|
|
276
|
+
|
|
277
|
+
</Dont>
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# Color Tokens
|
|
2
|
+
|
|
3
|
+
Design tokens represent design decisions as reusable, named values that drive consistency across
|
|
4
|
+
product teams. Tokens work as a shared language between design and development teams, replacing
|
|
5
|
+
isolated color decisions with systematic choices that carry meaning and adapt to different contexts.
|
|
6
|
+
|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
## Token Types
|
|
10
|
+
|
|
11
|
+
| **Token Type** | **Example Name** | **Purpose** |
|
|
12
|
+
| -------------- | ------------------------------------ | ---------------------- |
|
|
13
|
+
| Base Palette | `blue-50`, `gray-100` | Raw color values |
|
|
14
|
+
| System Tokens | `bg.default`, `text.primary.default` | Intent-driven UI usage |
|
|
15
|
+
|
|
16
|
+
### Base Palette
|
|
17
|
+
|
|
18
|
+
Raw `oklch` colors from the [global palette](/guidelines/color/color-palette), categorized in color
|
|
19
|
+
families using the [tonal scale](/guidelines/color/color-scale) from 0 to 1000. Each number
|
|
20
|
+
represents lightness, creating perceptual uniformity across families.
|
|
21
|
+
|
|
22
|
+
### System Colors
|
|
23
|
+
|
|
24
|
+
Purpose-driven names that describe intended use rather than appearance. Follow the
|
|
25
|
+
`[property].[role].[modifier]` pattern and map to base tokens based on theme.
|
|
26
|
+
|
|
27
|
+
## Token Naming System
|
|
28
|
+
|
|
29
|
+
**`[property].[role].[modifier]`**
|
|
30
|
+
|
|
31
|
+

|
|
32
|
+
|
|
33
|
+
1. **Property**: What gets colored
|
|
34
|
+
2. **Role**: Semantic purpose
|
|
35
|
+
3. **Modifier**: Intensity or state (optional)
|
|
36
|
+
|
|
37
|
+
### Property Types
|
|
38
|
+
|
|
39
|
+
| **Property** | **Description** | **Examples** |
|
|
40
|
+
| ------------ | --------------------------------------------- | ---------------------------------------- |
|
|
41
|
+
| `bg` | Background colors for surfaces and containers | `bg.default`, `bg.primary.default` |
|
|
42
|
+
| `text` | Text and content colors | `text.default`, `text.primary.default` |
|
|
43
|
+
| `border` | Border and divider colors | `border.input.default`, `border.divider` |
|
|
44
|
+
| `icon` | Icon-specific colors when different from text | `icon.default`, `icon.primary.default` |
|
|
45
|
+
| `fg` | Foreground colors for content elements | `fg.default`, `fg.primary.default` |
|
|
46
|
+
| `shadow` | Shadow colors for depth and elevation | `shadow.default`, `shadow.1` |
|
|
47
|
+
| `static` | Static colors that don't change with themes | `static.blue.default`, `static.white` |
|
|
48
|
+
|
|
49
|
+
### Role Types
|
|
50
|
+
|
|
51
|
+
| **Role** | **Usage** | **Examples** |
|
|
52
|
+
| ------------- | --------------------------------------------- | ---------------------------------------------- |
|
|
53
|
+
| `default` | Main content and standard elements | `bg.default`, `text.default` |
|
|
54
|
+
| `primary` | Main brand and primary actions | `bg.primary.default`, `text.primary.default` |
|
|
55
|
+
| `positive` | Success states and positive feedback | `bg.positive.default`, `text.positive.default` |
|
|
56
|
+
| `critical` | Error states and destructive actions | `bg.critical.default`, `text.critical.default` |
|
|
57
|
+
| `caution` | Warning states and caution messages | `bg.caution.default`, `text.caution.default` |
|
|
58
|
+
| `info` | Informational messages and neutral feedback | `bg.info.default`, `text.info.default` |
|
|
59
|
+
| `alt` | Secondary surfaces and alternate states | `bg.alt.default`, `bg.alt.soft` |
|
|
60
|
+
| `muted` | Secondary content and subtle elements | `bg.muted.default`, `fg.muted.default` |
|
|
61
|
+
| `contrast` | High contrast elements | `bg.contrast.default`, `fg.contrast.default` |
|
|
62
|
+
| `ai` | AI-powered features and content | `bg.ai.default`, `text.ai` |
|
|
63
|
+
| `focus` | Keyboard navigation indicators | `border.primary.default` (focus) |
|
|
64
|
+
| `disabled` | Non-interactive and unavailable elements | `text.disabled`, `icon.disabled` |
|
|
65
|
+
| `inverse` | High contrast text on dark backgrounds | `text.inverse`, `icon.inverse` |
|
|
66
|
+
| `hint` | Placeholder and helper text | `text.hint` |
|
|
67
|
+
| `input` | Form field borders and interactive elements | `border.input.default` |
|
|
68
|
+
| `container` | Surfaces that exist on top of page background | `border.container` |
|
|
69
|
+
| `divider` | Content separators between sections | `border.divider` |
|
|
70
|
+
| `transparent` | Invisible elements for spacing | `bg.transparent.default` |
|
|
71
|
+
| `translucent` | Semi-transparent overlays | `bg.translucent` |
|
|
72
|
+
| `overlay` | Modal scrims and background dimming | `bg.overlay` |
|
|
73
|
+
|
|
74
|
+
### Modifier Variations
|
|
75
|
+
|
|
76
|
+
| **Modifier** | **Usage** | **Examples** |
|
|
77
|
+
| ------------ | ---------------------------------------- | ----------------------- |
|
|
78
|
+
| `default` | Standard intensity or base state | `bg.primary.default` |
|
|
79
|
+
| `soft` | Reduced intensity or subtle appearance | `bg.primary.soft` |
|
|
80
|
+
| `softer` | More reduced intensity | `bg.primary.softer` |
|
|
81
|
+
| `softest` | Minimum intensity or lightest appearance | `bg.primary.softest` |
|
|
82
|
+
| `strong` | Increased intensity or emphasis | `bg.primary.strong` |
|
|
83
|
+
| `stronger` | Higher intensity or more emphasis | `bg.primary.stronger` |
|
|
84
|
+
| `strongest` | Maximum intensity or strongest emphasis | `static.blue.strongest` |
|
|
85
|
+
| `disabled` | Disabled element states | `text.disabled` |
|
|
86
|
+
| `inverse` | Inverted color for contrast | `text.inverse` |
|
|
87
|
+
|
|
88
|
+
## Theming and Adaptation
|
|
89
|
+
|
|
90
|
+
Tokens enable flexible theming by separating purpose from appearance. System tokens maintain
|
|
91
|
+
consistent names across themes while colors adapt to match visual style.
|
|
92
|
+
|
|
93
|
+

|
|
94
|
+
|
|
95
|
+
Create multiple theme variations—light/dark modes, brand customizations, high-contrast
|
|
96
|
+
themes—without changing design logic or token names.
|
|
97
|
+
|
|
98
|
+
## Benefits of Tokens
|
|
99
|
+
|
|
100
|
+
**Consistency:** Clear relationships between colors and purposes make interfaces predictable.
|
|
101
|
+
|
|
102
|
+
**Efficiency:** Centralized decisions enable systematic updates across all platforms automatically.
|
|
103
|
+
|
|
104
|
+
**Collaboration:** Teams focus on semantic meaning rather than debating specific values.
|
|
105
|
+
|
|
106
|
+
## Working with Tokens
|
|
107
|
+
|
|
108
|
+
### Figma
|
|
109
|
+
|
|
110
|
+
Canvas tokens sync to Figma Libraries as organized color variables. Designers search by name, apply
|
|
111
|
+
to designs, and receive automatic updates when values change.
|
|
112
|
+
|
|
113
|
+

|
|
114
|
+
|
|
115
|
+
### Design-to-Development Handoff
|
|
116
|
+
|
|
117
|
+
Shared vocabulary between teams. Designers apply variables to their designs, developers view those
|
|
118
|
+
designs in Figma's Developer Mode. Tokens can be viewed as either CSS variables, SwiftUI view
|
|
119
|
+
modifiers, or Jetpack Compose theme properties - making it easy for developers to choose correct
|
|
120
|
+
colors for the platform they build for.
|
|
121
|
+
|
|
122
|
+

|
|
123
|
+
|
|
124
|
+
### Brand Customization
|
|
125
|
+
|
|
126
|
+
Brand tokens let you change the brand expression by modifying those token values without changing
|
|
127
|
+
semantic structure. This enables white-label solutions, reskinning UI without needing to completely
|
|
128
|
+
redesign the interfaces.
|
|
129
|
+
|
|
130
|
+

|