@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.
@@ -392762,7 +392762,11 @@ export const docs = (typeof window !== 'undefined' && window.__docs) ||
392762
392762
  },
392763
392763
  {
392764
392764
  "kind": "string",
392765
- "value": "alternate"
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. 'standard' uses a lighter gray background (`system.color.bg.alt.softer`), no depth. 'alternate' uses a white background with depth (`system.color.bg.default` and level 3 depth).",
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`, `aria-expanded`, and `aria-labelledby`\nattributes from the model.",
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 both the panel and toggle button.",
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\nand toggle button to provide an accessible name.",
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 both the panel and toggle button.",
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\nand toggle button to provide an accessible name.",
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.1",
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.1",
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
- - [Container Components](#container-components)
24
- - [Card](#card)
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
- - [Menu](#menu)
46
- - [Modal](#modal)
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 appearance:
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, providing visual hierarchy and depth to these components when placed on an alt background.
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), [#4088](https://github.com/Workday/canvas-kit/pull/4088)
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"` instead. While the styles are different, both where intended to be used on an `alt` background.
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 inverse borders.
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
- ### Menu
767
+ ### Popups
768
+
769
+ #### Menu
628
770
 
629
771
  **PR:** [#3987](https://github.com/Workday/canvas-kit/pull/3987)
630
772
 
631
- #### Visual Updates
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
- #### Menu icon sizing
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
- #### State Style Updates
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
- ##### Menu.Item
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
- ##### Menu.Option
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
- ### Modal
848
+ #### Modal
707
849
 
708
- #### Visual Updates
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