Repository navigation
v16.0.0
BREAKING CHANGES
- #4001 A new
KBDcomponent has been added to the Canvas Labs (@workday/canvas-kit-labs-react) package for rendering keyboard shortcuts. - #4000 Visual Changes
- #4088 - Card
variant="borderless"has been removed, usealtinstead - #4107 Side Panel (main)
alternatevariant has been renamed tooverlayto match Figma library. New variantalternativehas been added to Side Panel (main). - #4060 Legacy themes that only set
canvas.palette.<color>.mainnow default tothemeScope: 'brand'(PrimaryButton + selected states) instead of the previous implicit full ramp / broadsystem.color.brand.*forwarding. To restore v15 behavior, passthemeScope: 'full':<CanvasProvider theme={{canvas: {palette: {primary: {main: '#FF00FF'}}}, themeScope: 'full'}} > <App /> </CanvasProvider>
Components
-
test: Set sana-canvas theme on Card visual tests (@sheelah)
-
feat: Add KBD component to labs (#4001) (@RayRedGoose)
A newKBDcomponent has been added to the Canvas Labs (@workday/canvas-kit-labs-react) package for rendering keyboard shortcuts. -
chore: Remove Sana Canvas-specific Card story (@sheelah)
-
chore: Remove unnneeded data-theme (@sheelah)
-
feat: Implement Sana Canvas Text Input, Text Area, Form Field, and Color Picker (#3992) (@jamesfan)
-
feat: Update Sana Canvas Buttons (#4000) (@josh-bagwell)
This updates our Button styling to introduce Sana Canvas. -
chore: Updated colorSpace util (#4051) (@josh-bagwell)
-
feat: Add Sana styles to Canvas Switch, Radio & Checkbox (#4017) (@RayRedGoose)
-
fix: Remove duplicate opacity setting for disabled checkboxes (#4067) (@sheelah)
-
feat: Update Segmented Control and Action per Sana Canvas updates (#4048) (@mannycarrera4, manuel.carrera)
-
feat: Update Toast and Tooltip styles to match Sana (#4053) (@RayRedGoose, manuel.carrera)
-
feat: Update Sana Canvas Popup, Modal and Dialog (#4018) (@josh-bagwell, manuel.carrera, @mannycarrera4)
Updates Popup, Modal and Dialog to new Sana Canvas styling. -
chore: Update components per new depth spec (#4075) (@mannycarrera4, manuel.carrera)
Updates Canvas Kit components to use the revised system.depth token scale from the Sana Canvas depth spec. Several overlay and surface components were using depth values that no longer match the intended elevation hierarchy.Banner — adds boxShadow: system.depth[5] (previously had no box-shadow)
Modal.Card — system.depth[5] → system.depth[6]
Popup.Card — system.depth[3] → system.depth[4]
Toast — system.depth[3] → system.depth[5]
Tooltip — system.depth[2] → system.depth[3] -
feat: Add new Tabs component (#4062) (@RayRedGoose, Sheelah Brennan)
-
fix: Update icon size in menu (#4086) (@mannycarrera4, manuel.carrera)
Update Menu Icon size to 20x20 -
chore: Update Select and MultiSelect per Sana Canvas Visual updates (#4085) (@mannycarrera4, manuel.carrera)
Updates Select and MultiSelect to match Sana Canvas visuals: chevron open/closed indicators, MultiSelect shape.lg (12px) via cornerShapeStencil
Increases Menu.Popper offset from 4px to 8px (affects Select, MultiSelect, Combobox, and other menu-based dropdowns) -
fix: Pass initial values to useRef for React 19 types (#4091) (@jamesfan, @cursoragent)
-
feat: Add Sana Canvas indicator component updates (#4087) (@sheelah)
-
feat: Add Sana Canvas Expandable and Table updates (#4097) (@sheelah, Manuel Carrera)
-
chore: Set IBM Plex Mono as monospace font in Storybook (#4103) (@sheelah)
-
feat: Add alt variant to containers (#4088) (@mannycarrera4, manuel.carrera, @Copilot)
A newaltvariant has been added to our container components to be used when rendering on alt backgrounds. -
feat: Add Sana styles to Side Panel (#4107) (@RayRedGoose)
Side Panel (main)alternatevariant has been renamed tooverlayto match Figma library. New variantalternativehas been added to Side Panel (main). -
feat: Add icons migration (#4108) (@RayRedGoose, @alanbsmith)
-
fix: Fix examples for Side Panel (#4111) (@RayRedGoose)
-
chore: Updates to colorSpace and Pill (#4106) (@josh-bagwell, manuel.carrera, @sheelah)
-
fix: Fix canary (#4112) (@RayRedGoose)
-
fix: Update Canvas Provider theming (#4060) (@mannycarrera4, manuel.carrera, @claude)
CanvasProvidernow prefers a numericalbrandtheme shape (e.g.{brand: {primary: {'600': '...'}}}) for scoped theming. UsesanaCanvasProviderThemeat the root provider when global Sana CSS is loaded so menus, selects, modals, and other popups get the same brand variables. Popup forwarding no longer relies on Emotion’s legacy theme context, so numerical themes no longer incorrectly force classic Canvas defaults onto popup containers.
Dependencies
- chore: Update tokens to latest beta (#4065) (@mannycarrera4, manuel.carrera)
- feat: Add Sana Canvas Navigation component updates (#4068) (@sheelah, manuel.carrera, Manuel Carrera, manuel.carrera)
- chore: Update to latest icons package (#4094) (@mannycarrera4, manuel.carrera)
Documentation
- docs: Add upgrade guide notes for Card (@sheelah)
- docs: Add Basic Sana Canvas story (@sheelah)
- docs: Set Sana theme in Storybook docs view & canvas view (#4033) (@sheelah)
- fix: Update mcp to add info on v16 upgrade guide (#4073) (@mannycarrera4, manuel.carrera)
- chore: Update storybook theme (#4098) (@mannycarrera4, manuel.carrera)
- chore: Clean up storybook (#4099) (@mannycarrera4, manuel.carrera)
- docs: Add updated fonts documentation to Storybook (#4109) (@sheelah)
- docs: Reorganize component categories in v16 upgrade guide (#4113) (@sheelah)
Infrastructure
- chore: Add initial v16 setup (#3999) (@RayRedGoose, @Copilot)
- ci: Test GH actions (@sheelah)
- ci: Retrigger GH actions (@sheelah)
- fix: Update reference files for mcp (#4102) (@mannycarrera4, manuel.carrera)