@workday/canvas-kit-docs 16.0.0-alpha.0493-next.0 → 16.0.0-alpha.0499-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/dist/es6/lib/docs.js +12 -36
- package/dist/es6/lib/stackblitzFiles/packageJSONFile.js +1 -1
- package/dist/es6/lib/stackblitzFiles/packageJSONFile.ts +1 -1
- package/dist/mdx/16.0-UPGRADE-GUIDE.mdx +235 -115
- package/dist/mdx/icon-migration-codemod.mdx +193 -0
- package/dist/mdx/icon-migration.mdx +418 -0
- package/dist/mdx/react/segmented-control/SegmentedControl.mdx +9 -8
- package/dist/mdx/react/side-panel/SidePanel.mdx +87 -22
- package/dist/mdx/react/side-panel/examples/AlternativePanel.tsx +18 -0
- package/dist/mdx/react/side-panel/examples/Basic.tsx +2 -2
- package/dist/mdx/react/side-panel/examples/{Variant.tsx → OverlayPanel.tsx} +2 -6
- package/dist/mdx/react/side-panel/examples/RightOrigin.tsx +0 -2
- package/lib/stackblitzFiles/packageJSONFile.ts +1 -1
- package/package.json +8 -8
package/dist/es6/lib/docs.js
CHANGED
|
@@ -392762,7 +392762,11 @@ export const docs = (typeof window !== 'undefined' && window.__docs) ||
|
|
|
392762
392762
|
},
|
|
392763
392763
|
{
|
|
392764
392764
|
"kind": "string",
|
|
392765
|
-
"value": "
|
|
392765
|
+
"value": "alternative"
|
|
392766
|
+
},
|
|
392767
|
+
{
|
|
392768
|
+
"kind": "string",
|
|
392769
|
+
"value": "overlay"
|
|
392766
392770
|
}
|
|
392767
392771
|
]
|
|
392768
392772
|
}
|
|
@@ -393578,7 +393582,7 @@ export const docs = (typeof window !== 'undefined' && window.__docs) ||
|
|
|
393578
393582
|
"name": "SidePanelVariant",
|
|
393579
393583
|
"value": "SidePanelVariant"
|
|
393580
393584
|
},
|
|
393581
|
-
"description": "The style variant of the side panel
|
|
393585
|
+
"description": "The style variant of the side panel.\n- `'standard'`: navigation surface background (`system.legacy.color.surface.navigation`), no depth.\n- `'alternative'`: raised surface background (`system.legacy.color.surface.raised`), no depth.\n- `'overlay'`: default surface background (`system.legacy.color.surface.default`) with level 6 depth, for panels that need to look lifted off the page. This is a visual treatment only — it adds no dialog semantics, focus trapping, or backdrop.",
|
|
393582
393586
|
"declarations": [
|
|
393583
393587
|
{
|
|
393584
393588
|
"name": "variant",
|
|
@@ -393732,7 +393736,7 @@ export const docs = (typeof window !== 'undefined' && window.__docs) ||
|
|
|
393732
393736
|
{
|
|
393733
393737
|
"name": "ToggleButton",
|
|
393734
393738
|
"symbol": "SidePanelToggleButton",
|
|
393735
|
-
"description": "`SidePanel.ToggleButton` is a control that toggles between expanded and collapsed states.\nIt must be used within the `SidePanel` component as a child. For accessibility purposes,\nit should be the first focusable element in the panel.\n\nThe button automatically receives `aria-controls
|
|
393739
|
+
"description": "`SidePanel.ToggleButton` is a control that toggles between expanded and collapsed states.\nIt must be used within the `SidePanel` component as a child. For accessibility purposes,\nit should be the first focusable element in the panel.\n\nThe button automatically receives `aria-controls` (the panel's `id`), `aria-pressed` (`true`\nwhen the panel is collapsed), and `aria-describedby` (the heading's `id`) from the model.\nProvide a static `aria-label` for the button's accessible name — `aria-pressed` already\nconveys the state, so the label should not change between states.",
|
|
393736
393740
|
"declarations": [
|
|
393737
393741
|
{
|
|
393738
393742
|
"name": "ToggleButton",
|
|
@@ -395515,7 +395519,7 @@ export const docs = (typeof window !== 'undefined' && window.__docs) ||
|
|
|
395515
395519
|
{
|
|
395516
395520
|
"name": "useSidePanelToggleButton",
|
|
395517
395521
|
"fileName": "/home/runner/work/canvas-kit/canvas-kit/modules/react/side-panel/lib/SidePanelToggleButton.tsx",
|
|
395518
|
-
"description": "",
|
|
395522
|
+
"description": "Adds the necessary ARIA attributes to the SidePanel's toggle button.\nThis includes `aria-controls` pointing at the panel, `aria-pressed` to convey the collapsed\nstate, and `aria-describedby` pointing at the panel's heading.",
|
|
395519
395523
|
"declarations": [
|
|
395520
395524
|
{
|
|
395521
395525
|
"name": "useSidePanelToggleButton",
|
|
@@ -395829,7 +395833,7 @@ export const docs = (typeof window !== 'undefined' && window.__docs) ||
|
|
|
395829
395833
|
"value": "string"
|
|
395830
395834
|
},
|
|
395831
395835
|
"required": false,
|
|
395832
|
-
"description": "The unique ID for the panel's label element. If not provided, a unique ID will be generated.\nThis ID is used for the `aria-labelledby` attribute on
|
|
395836
|
+
"description": "The unique ID for the panel's label element. If not provided, a unique ID will be generated.\nThis ID is used for the `aria-labelledby` attribute on the panel and the `aria-describedby`\nattribute on the toggle button.",
|
|
395833
395837
|
"declarations": [
|
|
395834
395838
|
{
|
|
395835
395839
|
"name": "labelId",
|
|
@@ -395925,7 +395929,7 @@ export const docs = (typeof window !== 'undefined' && window.__docs) ||
|
|
|
395925
395929
|
"kind": "primitive",
|
|
395926
395930
|
"value": "string"
|
|
395927
395931
|
},
|
|
395928
|
-
"description": "The unique ID for the panel's label element. Used for `aria-labelledby` on the panel\
|
|
395932
|
+
"description": "The unique ID for the panel's label element. Used for `aria-labelledby` on the panel to\nprovide its accessible name, and for `aria-describedby` on the toggle button.",
|
|
395929
395933
|
"declarations": [
|
|
395930
395934
|
{
|
|
395931
395935
|
"name": "labelId",
|
|
@@ -396270,7 +396274,7 @@ export const docs = (typeof window !== 'undefined' && window.__docs) ||
|
|
|
396270
396274
|
"value": "string"
|
|
396271
396275
|
},
|
|
396272
396276
|
"required": false,
|
|
396273
|
-
"description": "The unique ID for the panel's label element. If not provided, a unique ID will be generated.\nThis ID is used for the `aria-labelledby` attribute on
|
|
396277
|
+
"description": "The unique ID for the panel's label element. If not provided, a unique ID will be generated.\nThis ID is used for the `aria-labelledby` attribute on the panel and the `aria-describedby`\nattribute on the toggle button.",
|
|
396274
396278
|
"declarations": [
|
|
396275
396279
|
{
|
|
396276
396280
|
"name": "labelId",
|
|
@@ -396701,7 +396705,7 @@ export const docs = (typeof window !== 'undefined' && window.__docs) ||
|
|
|
396701
396705
|
"kind": "primitive",
|
|
396702
396706
|
"value": "string"
|
|
396703
396707
|
},
|
|
396704
|
-
"description": "The unique ID for the panel's label element. Used for `aria-labelledby` on the panel\
|
|
396708
|
+
"description": "The unique ID for the panel's label element. Used for `aria-labelledby` on the panel to\nprovide its accessible name, and for `aria-describedby` on the toggle button.",
|
|
396705
396709
|
"declarations": [
|
|
396706
396710
|
{
|
|
396707
396711
|
"name": "labelId",
|
|
@@ -477144,34 +477148,6 @@ export const docs = (typeof window !== 'undefined' && window.__docs) ||
|
|
|
477144
477148
|
"tags": {
|
|
477145
477149
|
"default": "'accent'"
|
|
477146
477150
|
}
|
|
477147
|
-
},
|
|
477148
|
-
{
|
|
477149
|
-
"kind": "property",
|
|
477150
|
-
"name": "surfaceType",
|
|
477151
|
-
"required": false,
|
|
477152
|
-
"type": {
|
|
477153
|
-
"kind": "union",
|
|
477154
|
-
"value": [
|
|
477155
|
-
{
|
|
477156
|
-
"kind": "string",
|
|
477157
|
-
"value": "default"
|
|
477158
|
-
},
|
|
477159
|
-
{
|
|
477160
|
-
"kind": "string",
|
|
477161
|
-
"value": "inverse"
|
|
477162
|
-
}
|
|
477163
|
-
]
|
|
477164
|
-
},
|
|
477165
|
-
"description": "A string that will determine which surface overlay variant to use.",
|
|
477166
|
-
"declarations": [
|
|
477167
|
-
{
|
|
477168
|
-
"name": "surfaceType",
|
|
477169
|
-
"filePath": "/home/runner/work/canvas-kit/canvas-kit/modules/styling/lib/colorSpace.tsx"
|
|
477170
|
-
}
|
|
477171
|
-
],
|
|
477172
|
-
"tags": {
|
|
477173
|
-
"default": "'default'"
|
|
477174
|
-
}
|
|
477175
477151
|
}
|
|
477176
477152
|
]
|
|
477177
477153
|
}
|
|
@@ -23,7 +23,7 @@ export const packageJSONFile = `{
|
|
|
23
23
|
"@workday/canvas-kit-react": "15.1.4",
|
|
24
24
|
"@workday/canvas-kit-react-fonts": "^15.1.4",
|
|
25
25
|
"@workday/canvas-kit-styling": "15.1.4",
|
|
26
|
-
"@workday/canvas-system-icons-web": "5.0.
|
|
26
|
+
"@workday/canvas-system-icons-web": "^5.0.3",
|
|
27
27
|
"@workday/canvas-expressive-icons-web": "1.0.1",
|
|
28
28
|
"@workday/canvas-tokens-web": "4.4.0-beta.11"
|
|
29
29
|
},
|
|
@@ -24,7 +24,7 @@ export const packageJSONFile = `{
|
|
|
24
24
|
"@workday/canvas-kit-react": "15.1.4",
|
|
25
25
|
"@workday/canvas-kit-react-fonts": "^15.1.4",
|
|
26
26
|
"@workday/canvas-kit-styling": "15.1.4",
|
|
27
|
-
"@workday/canvas-system-icons-web": "5.0.
|
|
27
|
+
"@workday/canvas-system-icons-web": "^5.0.3",
|
|
28
28
|
"@workday/canvas-expressive-icons-web": "1.0.1",
|
|
29
29
|
"@workday/canvas-tokens-web": "4.4.0-beta.11"
|
|
30
30
|
},
|
|
@@ -12,18 +12,22 @@ Soon to be...
|
|
|
12
12
|
|
|
13
13
|
- [Codemod](#codemod)
|
|
14
14
|
- [Instructions](#instructions)
|
|
15
|
+
- [Codemod Transformations for Icons](#codemod-transformations-for-icons)
|
|
15
16
|
- [New Components](#new-components)
|
|
16
17
|
- [KBD](#kbd)
|
|
17
18
|
- [Tabs](#tabs)
|
|
18
19
|
- [Component Updates](#component-updates)
|
|
19
20
|
- [Action Bar](#action-bar)
|
|
20
|
-
- [Avatar](#avatar)
|
|
21
21
|
- [Buttons](#buttons)
|
|
22
22
|
- [Delete Button Outline Variant](#delete-button-outline-variant)
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
- [Secondary Button](#secondary-button)
|
|
24
|
+
- [Container Components](#container-components)
|
|
25
|
+
- [Card](#card)
|
|
25
26
|
- [Expandable](#expandable)
|
|
27
|
+
- [Side Panel](#side-panel)
|
|
28
|
+
- [Table](#table)
|
|
26
29
|
- [Indicators](#indicators)
|
|
30
|
+
- [Avatar](#avatar)
|
|
27
31
|
- [Banner](#banner)
|
|
28
32
|
- [Count Badge](#count-badge)
|
|
29
33
|
- [Information Highlight](#information-highlight)
|
|
@@ -42,17 +46,17 @@ Soon to be...
|
|
|
42
46
|
- [Text Input](#text-input)
|
|
43
47
|
- [Select](#select)
|
|
44
48
|
- [MultiSelect](#multiselect)
|
|
45
|
-
- [
|
|
46
|
-
|
|
49
|
+
- [Popups](#popups)
|
|
50
|
+
- [Menu](#menu)
|
|
51
|
+
- [Modal](#modal)
|
|
52
|
+
- [Popup](#popup)
|
|
53
|
+
- [Toast](#toast)
|
|
54
|
+
- [Tooltip](#tooltip)
|
|
47
55
|
- [Navigation Components](#navigation-components)
|
|
48
56
|
- [Hyperlink](#hyperlink)
|
|
49
57
|
- [Breadcrumbs](#breadcrumbs)
|
|
50
58
|
- [Pagination](#pagination)
|
|
51
|
-
- [Popup](#popup)
|
|
52
59
|
- [Segmented Control](#segmented-control)
|
|
53
|
-
- [Table](#table)
|
|
54
|
-
- [Toast](#toast)
|
|
55
|
-
- [Tooltip](#tooltip)
|
|
56
60
|
- [New Utilities](#new-utilities)
|
|
57
61
|
- [cornerShapeStencil](#cornershapestencil)
|
|
58
62
|
- [Fonts](#fonts)
|
|
@@ -122,6 +126,60 @@ yarn remove @workday/canvas-kit-codemod
|
|
|
122
126
|
> after executing the codemod, as its resulting formatting (spacing, quotes, etc.) may not match
|
|
123
127
|
> your project conventions.
|
|
124
128
|
|
|
129
|
+
## Codemod Transformations for v16
|
|
130
|
+
|
|
131
|
+
The following automated transformations are available for upgrading to v16:
|
|
132
|
+
|
|
133
|
+
- **Update Hyperlink Props**: updateHyperlinkProps
|
|
134
|
+
|
|
135
|
+
Run the codemod with: `npx @workday/canvas-kit-codemod v16 [path]`
|
|
136
|
+
|
|
137
|
+
### Codemod Transformations for Icons
|
|
138
|
+
|
|
139
|
+
#### Icon Migration Codemod
|
|
140
|
+
|
|
141
|
+
For v16, there is a **separate codemod** called `icon-migration` that updates
|
|
142
|
+
`@workday/canvas-system-icons-web` usage across your codebase. Upgrade the icon package to v5 before
|
|
143
|
+
you run it so deprecation and fallback mappings match what the transform expects.
|
|
144
|
+
|
|
145
|
+
```sh
|
|
146
|
+
yarn add @workday/canvas-system-icons-web@^5
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
The codemod reads `system.deprecated.metadata.json` from the installed icon package and rewrites
|
|
150
|
+
each deprecated export to its fallback icon. This codemod will:
|
|
151
|
+
|
|
152
|
+
- Update **named imports** and their references (for example, `uploadIcon` to `arrowUpToLineIcon`).
|
|
153
|
+
- Preserve **import aliases** and point them at the fallback export.
|
|
154
|
+
- Update **namespace imports** member access (for example, `systemIcons.uploadIcon` to
|
|
155
|
+
`systemIcons.arrowUpToLineIcon`).
|
|
156
|
+
- Resolve **chained fallbacks** when a fallback icon is itself deprecated.
|
|
157
|
+
- Remove **duplicate imports** when the fallback is already imported in the same declaration.
|
|
158
|
+
|
|
159
|
+
Because it applies every mapping in the metadata file, a single run covers both the v4 naming
|
|
160
|
+
convention migrations and the v5 Sana Canvas Assets renames and deprecations. Icons that are not
|
|
161
|
+
deprecated are left unchanged.
|
|
162
|
+
|
|
163
|
+
To run the codemod:
|
|
164
|
+
|
|
165
|
+
```sh
|
|
166
|
+
npx @workday/canvas-kit-codemod icon-migration [path]
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
> **Tip:** Provide the specific directory or directories you want to update as `[path]` to speed up
|
|
170
|
+
> migration.
|
|
171
|
+
>
|
|
172
|
+
> This codemod only touches `@workday/canvas-system-icons-web`. For accent, applet, and expressive
|
|
173
|
+
> icons, use the `v15-icons` transform covered in the
|
|
174
|
+
> [v15 upgrade guide](/docs/guides-upgrade-guides-v15-0-overview--docs#codemod-transformations-for-icons).
|
|
175
|
+
> For details on what changed in v5 and the full list of deprecated icons, see the
|
|
176
|
+
> [Sana Canvas Assets overview](/docs/guides-icon-migration-sana-canvas-assets-overview--docs) and
|
|
177
|
+
> the [Icon Migration codemod guide](/docs/guides-icon-migration-codemod--docs).
|
|
178
|
+
|
|
179
|
+
> **Note:** 🤖 The `icon-migration` codemod automates the majority of system icon migration work,
|
|
180
|
+
> but _always_ review the PR for any remaining icons the codemod could not address, especially
|
|
181
|
+
> dynamic icon selection, non-code assets, and heavily customized usages.
|
|
182
|
+
|
|
125
183
|
## New Components
|
|
126
184
|
|
|
127
185
|
### KBD
|
|
@@ -186,39 +244,6 @@ import {Tabs} from '@workday/canvas-kit-preview-react/tabs';
|
|
|
186
244
|
|
|
187
245
|
- `ActionBar` padding has been updated to `padding.md` (16px).
|
|
188
246
|
|
|
189
|
-
### Avatar
|
|
190
|
-
|
|
191
|
-
**PR:** [#3981](https://github.com/Workday/canvas-kit/pull/3981)
|
|
192
|
-
|
|
193
|
-
We've updated `Avatar` color variants to align with Sana Canvas. These changes are **only visual** —
|
|
194
|
-
the component API is unchanged except for two new `variant` options.
|
|
195
|
-
|
|
196
|
-
#### Updated Variants
|
|
197
|
-
|
|
198
|
-
Existing variants use darker background colors and updated foreground colors for improved contrast:
|
|
199
|
-
|
|
200
|
-
| Variant | Change |
|
|
201
|
-
| -------- | -------------------------------------------------------------------------------------------- |
|
|
202
|
-
| `blue` | Background updated from `blue300` to `blue600`; text now uses `system.color.fg.inverse` |
|
|
203
|
-
| `amber` | Background updated from `amber200` to `amber300`; text updated from `amber700` to `amber800` |
|
|
204
|
-
| `purple` | Background updated from `purple300` to `purple600`; text now uses `system.color.fg.inverse` |
|
|
205
|
-
|
|
206
|
-
The `teal` variant is unchanged.
|
|
207
|
-
|
|
208
|
-
#### New Variants
|
|
209
|
-
|
|
210
|
-
Two new color variants are available:
|
|
211
|
-
|
|
212
|
-
- `magenta` — `magenta600` background with `system.color.fg.inverse` text
|
|
213
|
-
- `green` — `green600` background with `system.color.fg.inverse` text
|
|
214
|
-
|
|
215
|
-
```tsx
|
|
216
|
-
import {Avatar} from '@workday/canvas-kit-react/avatar';
|
|
217
|
-
|
|
218
|
-
<Avatar name="Mary Jane" variant="magenta" />
|
|
219
|
-
<Avatar name="Green Arrow" variant="green" />
|
|
220
|
-
```
|
|
221
|
-
|
|
222
247
|
### Buttons
|
|
223
248
|
|
|
224
249
|
**PR:** [#4000](https://github.com/Workday/canvas-kit/pull/4000)
|
|
@@ -255,13 +280,19 @@ import {DeleteButton} from '@workday/canvas-kit-react/button';
|
|
|
255
280
|
<DeleteButton variant="outline">Delete</DeleteButton>;
|
|
256
281
|
```
|
|
257
282
|
|
|
283
|
+
#### Secondary Button
|
|
284
|
+
|
|
285
|
+
`SecondaryButton` now has a `transparent` `backgroundColor` and will not show on interactive states.
|
|
286
|
+
The interactive states will now show on the `border`.
|
|
287
|
+
|
|
258
288
|
### Container Components
|
|
259
289
|
|
|
260
290
|
**PR:** [#4088](https://github.com/Workday/canvas-kit/pull/4088)
|
|
261
291
|
|
|
262
292
|
#### Alt Variant Support
|
|
263
293
|
|
|
264
|
-
Several container components now support an `alt` variant that provides an elevated surface
|
|
294
|
+
Several container components now support an `alt` variant that provides an elevated surface
|
|
295
|
+
appearance:
|
|
265
296
|
|
|
266
297
|
- `Menu.Card` - Can use `variant="alt"` for elevated menu styling
|
|
267
298
|
- `Dialog.Card` - Can use `variant="alt"` for elevated dialog styling
|
|
@@ -269,7 +300,8 @@ Several container components now support an `alt` variant that provides an eleva
|
|
|
269
300
|
- `Toast` - Can use `variant="alt"` for elevated toast styling
|
|
270
301
|
- `Tooltip` - Can use `variant="alt"` for elevated tooltip styling
|
|
271
302
|
|
|
272
|
-
The `alt` variant uses `system.sana.color.surface.elevated` background with inverse borders,
|
|
303
|
+
The `alt` variant uses `system.sana.color.surface.elevated` background with inverse borders,
|
|
304
|
+
providing visual hierarchy and depth to these components when placed on an alt background.
|
|
273
305
|
|
|
274
306
|
```tsx
|
|
275
307
|
// Examples of using the alt variant
|
|
@@ -291,17 +323,20 @@ The `alt` variant uses `system.sana.color.surface.elevated` background with inve
|
|
|
291
323
|
|
|
292
324
|
#### Card
|
|
293
325
|
|
|
294
|
-
**PR:** [#4014](https://github.com/Workday/canvas-kit/pull/4014),
|
|
326
|
+
**PR:** [#4014](https://github.com/Workday/canvas-kit/pull/4014),
|
|
327
|
+
[#4088](https://github.com/Workday/canvas-kit/pull/4088)
|
|
295
328
|
|
|
296
329
|
##### Variant Changes
|
|
297
330
|
|
|
298
331
|
The `Card` component's variants have been updated:
|
|
332
|
+
|
|
299
333
|
- **Removed:** The `borderless` variant has been removed and replaced with `alt`
|
|
300
334
|
- **New:** The `alt` variant provides an elevated surface with inverse borders
|
|
301
335
|
- **Updated:** The default variant now has a visible border
|
|
302
336
|
- The `tonal` variant now uses a `system.legacy.color.surface.alt.strong` background.
|
|
303
337
|
|
|
304
|
-
**Note:** If you were previously using `variant="borderless"`, you should use `variant="alt"`
|
|
338
|
+
**Note:** If you were previously using `variant="borderless"`, you should use `variant="alt"`
|
|
339
|
+
instead. While the styles are different, both where intended to be used on an `alt` background.
|
|
305
340
|
|
|
306
341
|
🤖 The codemod will automatically update `variant="borderless"` to `variant="alt"`.
|
|
307
342
|
|
|
@@ -326,7 +361,8 @@ The `Card` component's variants have been updated:
|
|
|
326
361
|
- Card's border radius is now managed via the new `cornerShapeStencil` (see
|
|
327
362
|
[New Utilities](#new-utilities)).
|
|
328
363
|
- The default variant now includes a visible border (`system.color.border.default`).
|
|
329
|
-
- The `alt` variant uses an elevated surface color (`system.sana.color.surface.elevated`) with
|
|
364
|
+
- The `alt` variant uses an elevated surface color (`system.sana.color.surface.elevated`) with
|
|
365
|
+
inverse borders.
|
|
330
366
|
|
|
331
367
|
#### Expandable
|
|
332
368
|
|
|
@@ -339,8 +375,112 @@ The `Card` component's variants have been updated:
|
|
|
339
375
|
- `Expandable.Content` padding is now uniform `padding.xs` (8px) on all sides (previously
|
|
340
376
|
`padding.md` top / `padding.xs` sides and bottom).
|
|
341
377
|
|
|
378
|
+
#### Side Panel
|
|
379
|
+
|
|
380
|
+
**PR:** [#4107](https://github.com/Workday/canvas-kit/pull/4107)
|
|
381
|
+
|
|
382
|
+
##### Breaking Changes
|
|
383
|
+
|
|
384
|
+
The `variant` prop on `SidePanel` no longer accepts `alternate`. It has been renamed to `overlay` to
|
|
385
|
+
describe what the variant is for — a panel that floats above page content — because a second
|
|
386
|
+
non-overlay variant now occupies the "alternative surface" role.
|
|
387
|
+
|
|
388
|
+
```tsx
|
|
389
|
+
import {SidePanel} from '@workday/canvas-kit-react/side-panel';
|
|
390
|
+
|
|
391
|
+
// Before
|
|
392
|
+
<SidePanel variant="alternate">{/* ... */}</SidePanel>
|
|
393
|
+
|
|
394
|
+
// After
|
|
395
|
+
<SidePanel variant="overlay">{/* ... */}</SidePanel>
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
> 🤖 The `v16` codemod will rename `variant="alternate"` to `variant="overlay"` as shown above. It
|
|
399
|
+
> only transforms `SidePanel` imported from `@workday/canvas-kit-react`; the deprecated `SidePanel`
|
|
400
|
+
> in `@workday/canvas-kit-preview-react` is left alone.
|
|
401
|
+
|
|
402
|
+
If you were using `alternate` for a panel that sits inline with page content rather than over it,
|
|
403
|
+
switch to the new `alternative` variant instead of `overlay` to avoid picking up the elevation
|
|
404
|
+
shadow.
|
|
405
|
+
|
|
406
|
+
##### New API
|
|
407
|
+
|
|
408
|
+
- `variant="alternative"` — uses a raised surface (`system.legacy.color.surface.raised`) with no
|
|
409
|
+
depth. Use it for panels that need to stand out from the page background while remaining part of
|
|
410
|
+
the page layout.
|
|
411
|
+
|
|
412
|
+
The full set of variants is now:
|
|
413
|
+
|
|
414
|
+
| Variant | Surface | Depth |
|
|
415
|
+
| ------------- | ---------------------------------------- | ----- |
|
|
416
|
+
| `standard` | `system.legacy.color.surface.navigation` | None |
|
|
417
|
+
| `alternative` | `system.legacy.color.surface.raised` | None |
|
|
418
|
+
| `overlay` | `system.legacy.color.surface.default` | 6 |
|
|
419
|
+
|
|
420
|
+
##### Visual Updates
|
|
421
|
+
|
|
422
|
+
- The `overlay` variant's box-shadow updated from `system.depth[3]` to `system.depth[6]`.
|
|
423
|
+
- `SidePanel.ToggleButton`'s default icon changed from `extendIcon` to `sidebarLeftIcon`. The icon
|
|
424
|
+
no longer rotates as the panel expands and collapses: it keeps a single orientation in LTR and is
|
|
425
|
+
mirrored horizontally in RTL.
|
|
426
|
+
- `SidePanel.ToggleButton`'s width changed from `gap.lg` (24px) to `size.md` (40px), and its top
|
|
427
|
+
offset changed from `gap.lg` (24px) to `12px`.
|
|
428
|
+
- `SidePanel.Heading` padding changed from a symmetric `padding.xs` (8px) to `padding.sm` (12px)
|
|
429
|
+
with a `paddingInlineStart` of `padding.md` (16px), and it now has a `minHeight` of `size.xxl`
|
|
430
|
+
(64px) so the heading lines up with the toggle button and the collapsed panel width.
|
|
431
|
+
- `SidePanel.Heading` now lays out its children with flexbox and centers them vertically, so an icon
|
|
432
|
+
passed alongside the heading text aligns without extra styling.
|
|
433
|
+
|
|
434
|
+
#### Table
|
|
435
|
+
|
|
436
|
+
##### Visual Updates
|
|
437
|
+
|
|
438
|
+
- `BaseTable` / `Table` outer border color updated from `system.legacy.color.border.strong` to
|
|
439
|
+
`system.legacy.color.border.default`.
|
|
440
|
+
- `Table.Caption` divider (`borderBlockEnd`) updated from `system.legacy.color.border.strong` to
|
|
441
|
+
`system.legacy.color.border.default`.
|
|
442
|
+
- Container corner radius is now **12px** (`shape.lg`, previously `shape.md` / 8px), managed via
|
|
443
|
+
`cornerShapeStencil` (see [New Utilities](#new-utilities)).
|
|
444
|
+
- `Table.Header` (and `BaseTable.Header`) cell padding is now uniform `padding.md` (16px) on all
|
|
445
|
+
sides (previously asymmetric `padding.xs` vertically and `padding.md` horizontally).
|
|
446
|
+
- Column header label text color is now `system.color.fg.strong` (previously inherited `fg.default`
|
|
447
|
+
from the table container).
|
|
448
|
+
|
|
342
449
|
### Indicators
|
|
343
450
|
|
|
451
|
+
#### Avatar
|
|
452
|
+
|
|
453
|
+
**PR:** [#3981](https://github.com/Workday/canvas-kit/pull/3981)
|
|
454
|
+
|
|
455
|
+
We've updated `Avatar` color variants to align with Sana Canvas. These changes are **only visual** —
|
|
456
|
+
the component API is unchanged except for two new `variant` options.
|
|
457
|
+
|
|
458
|
+
##### Updated Variants
|
|
459
|
+
|
|
460
|
+
Existing variants use darker background colors and updated foreground colors for improved contrast:
|
|
461
|
+
|
|
462
|
+
| Variant | Change |
|
|
463
|
+
| -------- | -------------------------------------------------------------------------------------------- |
|
|
464
|
+
| `blue` | Background updated from `blue300` to `blue600`; text now uses `system.color.fg.inverse` |
|
|
465
|
+
| `amber` | Background updated from `amber200` to `amber300`; text updated from `amber700` to `amber800` |
|
|
466
|
+
| `purple` | Background updated from `purple300` to `purple600`; text now uses `system.color.fg.inverse` |
|
|
467
|
+
|
|
468
|
+
The `teal` variant is unchanged.
|
|
469
|
+
|
|
470
|
+
##### New Variants
|
|
471
|
+
|
|
472
|
+
Two new color variants are available:
|
|
473
|
+
|
|
474
|
+
- `magenta` — `magenta600` background with `system.color.fg.inverse` text
|
|
475
|
+
- `green` — `green600` background with `system.color.fg.inverse` text
|
|
476
|
+
|
|
477
|
+
```tsx
|
|
478
|
+
import {Avatar} from '@workday/canvas-kit-react/avatar';
|
|
479
|
+
|
|
480
|
+
<Avatar name="Mary Jane" variant="magenta" />
|
|
481
|
+
<Avatar name="Green Arrow" variant="green" />
|
|
482
|
+
```
|
|
483
|
+
|
|
344
484
|
#### Banner
|
|
345
485
|
|
|
346
486
|
**PR:** [#4087](https://github.com/Workday/canvas-kit/pull/4087)
|
|
@@ -624,11 +764,13 @@ No API changes. No migration is required unless you render a custom dropdown ind
|
|
|
624
764
|
No API changes. No migration is required unless you render a custom dropdown indicator or override
|
|
625
765
|
`multiSelectInputStencil` styles.
|
|
626
766
|
|
|
627
|
-
###
|
|
767
|
+
### Popups
|
|
768
|
+
|
|
769
|
+
#### Menu
|
|
628
770
|
|
|
629
771
|
**PR:** [#3987](https://github.com/Workday/canvas-kit/pull/3987)
|
|
630
772
|
|
|
631
|
-
|
|
773
|
+
##### Visual Updates
|
|
632
774
|
|
|
633
775
|
**Menu.Card**
|
|
634
776
|
|
|
@@ -654,7 +796,7 @@ No API changes. No migration is required unless you render a custom dropdown ind
|
|
|
654
796
|
- Text color updated from `system.color.fg.default` to `system.color.fg.strong`.
|
|
655
797
|
- Icon size updated to `md` (20px / 1.25rem).
|
|
656
798
|
|
|
657
|
-
|
|
799
|
+
##### Menu icon sizing
|
|
658
800
|
|
|
659
801
|
Menu icons are now smaller to align with Sana Canvas specs. In v15, `Menu.Item.Icon` did not set a
|
|
660
802
|
`size` prop and fell back to the `SystemIcon` default of `lg` (24px / 1.5rem). In v16, all icons
|
|
@@ -673,14 +815,14 @@ custom chevron or checkmark icons inside of menu items, update them to `size="md
|
|
|
673
815
|
|
|
674
816
|
- Padding updated to use `paddingBlock: padding.xs` with `paddingInline: padding.sm` / `padding.md`.
|
|
675
817
|
|
|
676
|
-
|
|
818
|
+
##### State Style Updates
|
|
677
819
|
|
|
678
820
|
`Menu.Item` and `Menu.Option` share the same underlying item styles via `menuItemStencil`. For
|
|
679
821
|
guidance on when to use `Menu.Item` vs `Menu.Option`, including accessibility requirements for
|
|
680
822
|
selectable menus, see the
|
|
681
823
|
[Menu accessibility documentation](https://workday.github.io/canvas-kit/?path=/docs/components-popups-menu--docs#accessibility).
|
|
682
824
|
|
|
683
|
-
|
|
825
|
+
###### Menu.Item
|
|
684
826
|
|
|
685
827
|
| State | v15 | v16 |
|
|
686
828
|
| ----------------------------------------- | ----------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
|
|
@@ -689,7 +831,7 @@ selectable menus, see the
|
|
|
689
831
|
| Disabled + Focus (`aria-disabled="true"`) | Solid blue fill and white text with disabled opacity (dims focus style) | Light blue background and blue text (`brand.surface.selected` / `brand.fg.selected`) with disabled opacity (dims focus indicator) |
|
|
690
832
|
| Expanded submenu parent + Focus | Same blue fill and white text focus style as other focused items | Focus ring removed; ancestor-trail styling shown instead (`Submenu.TargetItem`) |
|
|
691
833
|
|
|
692
|
-
|
|
834
|
+
###### Menu.Option
|
|
693
835
|
|
|
694
836
|
Used in `Select`, `Combobox`, and other listbox menus. Selected states apply when
|
|
695
837
|
`aria-selected="true"`.
|
|
@@ -703,12 +845,50 @@ Used in `Select`, `Combobox`, and other listbox menus. Selected states apply whe
|
|
|
703
845
|
| Disabled + Focus (`aria-disabled="true"`) | Solid blue fill and white text with disabled opacity (dims focus style) | Light blue background and blue text (`brand.surface.selected` / `brand.fg.selected`) with disabled opacity (dims focus indicator) |
|
|
704
846
|
| Disabled + Selected | Solid blue fill and white text with disabled opacity | Light blue background and blue text (`brand.surface.selected` / `brand.fg.selected`) with disabled opacity |
|
|
705
847
|
|
|
706
|
-
|
|
848
|
+
#### Modal
|
|
707
849
|
|
|
708
|
-
|
|
850
|
+
##### Visual Updates
|
|
709
851
|
|
|
710
852
|
- `Modal.Card` box-shadow updated from `system.depth[5]` to `system.depth[6]`.
|
|
711
853
|
|
|
854
|
+
#### Popup
|
|
855
|
+
|
|
856
|
+
##### Visual Updates
|
|
857
|
+
|
|
858
|
+
- `Popup.Card` box-shadow updated from `system.depth[3]` to `system.depth[4]`.
|
|
859
|
+
|
|
860
|
+
#### Toast
|
|
861
|
+
|
|
862
|
+
**PR:** [#4053](https://github.com/Workday/canvas-kit/pull/4053)
|
|
863
|
+
|
|
864
|
+
##### Visual Updates
|
|
865
|
+
|
|
866
|
+
- Padding is now applied to the `Toast` container itself instead of being distributed across
|
|
867
|
+
`Toast.Body` and `Toast.Icon`.
|
|
868
|
+
- Gap between the icon, body, and close icon is now `base.size150` (12px).
|
|
869
|
+
- Shape uses `system.shape.xl`.
|
|
870
|
+
- Box-shadow updated from `system.depth[3]` to `system.depth[5]`.
|
|
871
|
+
- `Toast.Body` no longer has a gap between text and link.
|
|
872
|
+
- `Toast.CloseIcon` is set to have absolute positioning and aligned with the top-right corner (in
|
|
873
|
+
LTR).
|
|
874
|
+
- `Toast.CloseIcon` was changed to be `extraSmall` tertiary button.
|
|
875
|
+
|
|
876
|
+
#### Tooltip
|
|
877
|
+
|
|
878
|
+
**PR:** [#4053](https://github.com/Workday/canvas-kit/pull/4053)
|
|
879
|
+
|
|
880
|
+
##### Visual Updates
|
|
881
|
+
|
|
882
|
+
- The default tooltip has been restyled from a dark surface to a light surface.
|
|
883
|
+
- A visible border (`system.color.border.default`) is now applied to the container, replacing the
|
|
884
|
+
previous transparent outline.
|
|
885
|
+
- Tooltip boundaries remain visible in Windows High Contrast mode: when High Contrast is detected,
|
|
886
|
+
Tooltip uses a solid outline (`outline: solid 1px CanvasText`) to ensure clear visibility.
|
|
887
|
+
- Shape is now fully rounded using `system.shape.full`.
|
|
888
|
+
- Box-shadow updated from `system.depth[2]` to `system.depth[3]`.
|
|
889
|
+
- Type level is now `subtext.lg` (previously `subtext.md`).
|
|
890
|
+
- Padding and spacing have been adjusted to accommodate the new styling.
|
|
891
|
+
|
|
712
892
|
### Navigation Components
|
|
713
893
|
|
|
714
894
|
#### Hyperlink
|
|
@@ -789,12 +969,6 @@ Run the Canvas Kit v16 codemod (`updateHyperlinkProps`) to migrate automatically
|
|
|
789
969
|
TextInput `shape.lg` (12px).
|
|
790
970
|
- GoToForm spacing uses `marginInlineStart: gap.xs` alongside Controls `gap.xs`.
|
|
791
971
|
|
|
792
|
-
### Popup
|
|
793
|
-
|
|
794
|
-
#### Visual Updates
|
|
795
|
-
|
|
796
|
-
- `Popup.Card` box-shadow updated from `system.depth[3]` to `system.depth[4]`.
|
|
797
|
-
|
|
798
972
|
### Segmented Control
|
|
799
973
|
|
|
800
974
|
**PR:** [#4048](https://github.com/Workday/canvas-kit/pull/4048)
|
|
@@ -815,53 +989,6 @@ Run the Canvas Kit v16 codemod (`updateHyperlinkProps`) to migrate automatically
|
|
|
815
989
|
- Container padding changed to `padding.md` (16px) including for mobile devices.
|
|
816
990
|
- On mobile devices, the container padding remains `padding.md` (16px).
|
|
817
991
|
|
|
818
|
-
### Table
|
|
819
|
-
|
|
820
|
-
#### Visual Updates
|
|
821
|
-
|
|
822
|
-
- `BaseTable` / `Table` outer border color updated from `system.legacy.color.border.strong` to
|
|
823
|
-
`system.legacy.color.border.default`.
|
|
824
|
-
- `Table.Caption` divider (`borderBlockEnd`) updated from `system.legacy.color.border.strong` to
|
|
825
|
-
`system.legacy.color.border.default`.
|
|
826
|
-
- Container corner radius is now **12px** (`shape.lg`, previously `shape.md` / 8px), managed via
|
|
827
|
-
`cornerShapeStencil` (see [New Utilities](#new-utilities)).
|
|
828
|
-
- `Table.Header` (and `BaseTable.Header`) cell padding is now uniform `padding.md` (16px) on all
|
|
829
|
-
sides (previously asymmetric `padding.xs` vertically and `padding.md` horizontally).
|
|
830
|
-
- Column header label text color is now `system.color.fg.strong` (previously inherited `fg.default`
|
|
831
|
-
from the table container).
|
|
832
|
-
|
|
833
|
-
### Toast
|
|
834
|
-
|
|
835
|
-
**PR:** [#4053](https://github.com/Workday/canvas-kit/pull/4053)
|
|
836
|
-
|
|
837
|
-
#### Visual Updates
|
|
838
|
-
|
|
839
|
-
- Padding is now applied to the `Toast` container itself instead of being distributed across
|
|
840
|
-
`Toast.Body` and `Toast.Icon`.
|
|
841
|
-
- Gap between the icon, body, and close icon is now `base.size150` (12px).
|
|
842
|
-
- Shape uses `system.shape.xl`.
|
|
843
|
-
- Box-shadow updated from `system.depth[3]` to `system.depth[5]`.
|
|
844
|
-
- `Toast.Body` no longer has a gap between text and link.
|
|
845
|
-
- `Toast.CloseIcon` is set to have absolute positioning and aligned with the top-right corner (in
|
|
846
|
-
LTR).
|
|
847
|
-
- `Toast.CloseIcon` was changed to be `extraSmall` tertiary button.
|
|
848
|
-
|
|
849
|
-
### Tooltip
|
|
850
|
-
|
|
851
|
-
**PR:** [#4053](https://github.com/Workday/canvas-kit/pull/4053)
|
|
852
|
-
|
|
853
|
-
#### Visual Updates
|
|
854
|
-
|
|
855
|
-
- The default tooltip has been restyled from a dark surface to a light surface.
|
|
856
|
-
- A visible border (`system.color.border.default`) is now applied to the container, replacing the
|
|
857
|
-
previous transparent outline.
|
|
858
|
-
- Tooltip boundaries remain visible in Windows High Contrast mode: when High Contrast is detected,
|
|
859
|
-
Tooltip uses a solid outline (`outline: solid 1px CanvasText`) to ensure clear visibility.
|
|
860
|
-
- Shape is now fully rounded using `system.shape.full`.
|
|
861
|
-
- Box-shadow updated from `system.depth[2]` to `system.depth[3]`.
|
|
862
|
-
- Type level is now `subtext.lg` (previously `subtext.md`).
|
|
863
|
-
- Padding and spacing have been adjusted to accommodate the new styling.
|
|
864
|
-
|
|
865
992
|
## New Utilities
|
|
866
993
|
|
|
867
994
|
### cornerShapeStencil
|
|
@@ -891,13 +1018,6 @@ export const myStencil = createStencil({
|
|
|
891
1018
|
`Card`, `Expandable` (`Expandable.Target`), `Menu` (`Menu.Card`, `Menu.List`, `Menu.Item`),
|
|
892
1019
|
`MultiSelect`, and `Table` (`BaseTable`, `Table`) extend this stencil for their rounded corners.
|
|
893
1020
|
|
|
894
|
-
## Fonts
|
|
895
|
-
|
|
896
|
-
Sana Canvas is a new theme available in v16, enabled by setting `data-theme="sana-canvas"` on
|
|
897
|
-
`<html>` (or a scoped ancestor element). See our
|
|
898
|
-
[Fonts guide](https://workday.github.io/canvas-kit/?path=/docs/guides-fonts--docs) for instructions
|
|
899
|
-
on setting up the Sana Sans font required by this theme.
|
|
900
|
-
|
|
901
1021
|
## Deprecations
|
|
902
1022
|
|
|
903
1023
|
We add the [@deprecated](https://jsdoc.app/tags-deprecated.html) JSDoc tag to code we plan to remove
|