Skip to content

feat: Update input components to use new v4 tokens#3719

Merged
alanbsmith merged 65 commits intoWorkday:prerelease/majorfrom
mannycarrera4:mc-refactor-inputs-v4
Feb 11, 2026
Merged

feat: Update input components to use new v4 tokens#3719
alanbsmith merged 65 commits intoWorkday:prerelease/majorfrom
mannycarrera4:mc-refactor-inputs-v4

Conversation

@mannycarrera4
Copy link
Copy Markdown
Contributor

@mannycarrera4 mannycarrera4 commented Jan 26, 2026

Summary

Fixes: #3590

Update Inputs to use v4 tokens: TextInput, FormField, Radio (Preview), TextArea, Checkbox

Release Category

Components

Release Note

Update our inputs to use new tokens.


Checklist

For the Reviewer

  • PR title is short and descriptive
  • PR summary describes the change (Fixes/Resolves linked correctly)
  • PR Release Notes describes additional information useful to call out in a release message or removed if not applicable
  • Breaking Changes provides useful information to upgrade to this code or removed if not applicable

Where Should the Reviewer Start?

Areas for Feedback? (optional)

  • Code
  • Documentation
  • Testing
  • Codemods

Testing Manually

Screenshots or GIFs (if applicable)

Thank You Gif (optional)

@cypress
Copy link
Copy Markdown

cypress Bot commented Jan 26, 2026

Workday/canvas-kit    Run #10278

Run Properties:  status check passed Passed #10278  •  git commit 01d6dcd91c ℹ️: Merge 41c6635f806104cecd91d13204a7675e022f79d5 into 5891e1cba68c0f164ce6e05925f0...
Project Workday/canvas-kit
Branch Review mc-refactor-inputs-v4
Run status status check passed Passed #10278
Run duration 02m 15s
Commit git commit 01d6dcd91c ℹ️: Merge 41c6635f806104cecd91d13204a7675e022f79d5 into 5891e1cba68c0f164ce6e05925f0...
Committer Manuel Carrera
View all properties for this run ↗︎

Test results
Tests that failed  Failures 0
Tests that were flaky  Flaky 0
Tests that did not run due to a developer annotating a test with .skip  Pending 15
Tests that did not run due to a failure in a mocha hook  Skipped 0
Tests that passed  Passing 802
View all changes introduced in this branch ↗︎
UI Coverage  19.5%
  Untested elements 1517  
  Tested elements 365  
Accessibility  99.41%
  Failed rules  5 critical   5 serious   0 moderate   2 minor
  Failed elements 72  

@mannycarrera4 mannycarrera4 marked this pull request as ready for review January 29, 2026 19:52
@RayRedGoose RayRedGoose requested a review from Copilot January 29, 2026 20:16
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates input components to use v4 tokens from @workday/canvas-tokens-web, upgrading from version 4.0.2 to 4.0.4. The changes implement a forward-compatibility strategy using cssVar with fallbacks to v3 tokens, allowing components to work with both token versions during the transition period.

Changes:

  • Upgraded @workday/canvas-tokens-web from 4.0.2 to 4.0.4 across all package.json files
  • Updated input components (TextInput, TextArea, Checkbox, Radio, FormField) to use new v4 token names with v3 fallbacks
  • Modified disabled state styling to use opacity-based approach instead of specific color changes
  • Added width constraints and positioning improvements to form field components

Reviewed changes

Copilot reviewed 34 out of 35 changed files in this pull request and generated 16 comments.

Show a summary per file
File Description
yarn.lock Updated canvas-tokens-web dependency lockfile entry to version 4.0.4
.yarnrc CRITICAL: Disabled frozen lockfile requirement
package.json Updated canvas-tokens-web to 4.0.4 in root package
modules/styling/package.json Updated canvas-tokens-web dependency to 4.0.4
modules/styling-transform/package.json Updated canvas-tokens-web dependency to 4.0.4
modules/react/package.json Updated canvas-tokens-web dependency to 4.0.4
modules/preview-react/package.json Updated canvas-tokens-web dependency to 4.0.4
modules/labs-react/package.json Updated canvas-tokens-web dependency to 4.0.4
modules/docs/package.json Updated canvas-tokens-web dependency to 4.0.4
utils/storybook/CanvasProviderDecorator.tsx Added global padding to all Storybook stories
modules/react/text-input/stories/examples/Disabled.tsx Changed default value in example to show disabled state better
modules/react/text-input/stories/TextInput.mdx Removed unused InformationHighlight import
modules/react/text-input/lib/TextInput.tsx Updated to v4 tokens with fallbacks; changed disabled state to opacity-only; removed minWidth
modules/react/text-input/lib/InputGroup.tsx Updated size tokens with v4/v3 fallbacks
modules/react/text-area/stories/TextArea.mdx Removed unused InformationHighlight import
modules/react/text-area/lib/TextArea.tsx Updated minHeight token with v4/v3 fallback; removed minWidth
modules/react/form-field/lib/formFieldStencil.ts Added width variable and default 280px width; updated spacing tokens
modules/react/form-field/lib/FormFieldLabel.tsx Updated tokens with fallbacks; removed minWidth
modules/react/form-field/lib/FormFieldHint.tsx Updated tokens with v4/v3 fallbacks
modules/react/form-field/lib/FormFieldGroupList.tsx Updated tokens with v4/v3 fallbacks for error states
modules/react/form-field/lib/FormFieldGroupLabel.tsx Updated tokens with fallbacks; removed minWidth
modules/react/form-field/lib/FormFieldField.tsx Updated gap token; added width: 100%
modules/react/form-field/lib/FormFieldContainer.tsx Updated gap token; added width: 100%
modules/react/common/lib/forwardFitTokens.ts Removed shape tokens (xs, sm, md); added color and size mappings for forward compatibility
modules/react/checkbox/lib/CheckboxRipple.tsx Updated to use v4 size and shape tokens; added parts for data-part selector
modules/react/checkbox/lib/CheckboxInput.tsx Comprehensive update to use data-part selectors and v4 tokens with fallbacks
modules/react/checkbox/lib/CheckboxContainer.tsx Updated size tokens; added position: relative to inner div
modules/react/checkbox/lib/CheckboxCheck.tsx Added variant support to indeterminate box; updated to pass variant to CheckBackground
modules/react/checkbox/lib/CheckBackground.tsx Added variant modifier and parts for data-part selector; updated tokens
modules/react/button/lib/ToolbarIconButton.tsx Changed from forwardFitTokens.system.shape.xs to system.shape.x1
modules/react/button/lib/ToolbarDropdownButton.tsx Changed from forwardFitTokens.system.shape.xs to system.shape.x1
modules/preview-react/radio/lib/StyledRadioButton.tsx CRITICAL BUG: Uses undefined checkPart parameter; updated tokens and disabled state handling
modules/preview-react/radio/lib/RadioText.tsx Simplified variant handling; updated color tokens
modules/preview-react/radio/lib/RadioLabel.tsx Updated size and gap tokens with fallbacks
modules/preview-react/radio/lib/RadioGroup.tsx Updated tokens for error states with v4/v3 fallbacks

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread modules/react/form-field/lib/FormFieldLabel.tsx
Comment thread modules/preview-react/radio/lib/StyledRadioButton.tsx
Comment thread .yarnrc Outdated
Comment thread modules/react/checkbox/lib/CheckboxCheck.tsx Outdated
Comment thread modules/react/form-field/lib/formFieldStencil.ts Outdated
Comment thread modules/react/text-input/lib/TextInput.tsx Outdated
Comment thread modules/react/form-field/lib/FormFieldGroupLabel.tsx
Comment thread modules/preview-react/radio/lib/StyledRadioButton.tsx Outdated
Comment thread modules/preview-react/radio/lib/StyledRadioButton.tsx
Comment thread modules/react/text-input/lib/TextInput.tsx Outdated
@mannycarrera4 mannycarrera4 moved this to 🏗 In progress in Canvas Kit Jan 29, 2026
Comment thread modules/preview-react/radio/lib/StyledRadioButton.tsx Outdated
Comment thread modules/react/action-bar/lib/ActionBarList.tsx Outdated
Comment thread modules/react/button/lib/BaseButton.tsx
Comment thread modules/react/button/lib/BaseButton.tsx Outdated
Comment thread modules/react/checkbox/lib/CheckBackground.tsx Outdated
Comment thread modules/react/text-input/lib/TextInput.tsx Outdated
Comment thread modules/react/text-input/lib/TextInput.tsx Outdated
Comment thread modules/react/select/lib/SelectInput.tsx Outdated
Comment thread modules/react/form-field/lib/formFieldStencil.ts Outdated
Comment thread modules/react/form-field/lib/FormFieldGroupLabel.tsx Outdated
Comment thread modules/react/checkbox/lib/CheckboxRipple.tsx Outdated
Comment thread modules/react/checkbox/lib/CheckboxContainer.tsx Outdated
Comment thread modules/preview-react/multi-select/lib/MultiSelectInput.tsx Outdated
Comment thread modules/preview-react/multi-select/lib/MultiSelectInput.tsx Outdated
Comment thread modules/preview-react/multi-select/lib/MultiSelectInput.tsx Outdated
},
'&:has(:disabled, .disabled)': {
[caretPart]: {
// TODO (forwardfit token): Revisit token, using v4 token and fallback to v3 token
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// TODO (forwardfit token): Revisit token, using v4 token and fallback to v3 token

Comment thread modules/react/text-input/lib/TextInput.tsx
Comment thread modules/react/text-input/lib/TextInput.tsx
Copy link
Copy Markdown
Contributor

@RayRedGoose RayRedGoose left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

almost here, but if visual changes are okay it looks good to go

mannycarrera4 and others added 4 commits February 11, 2026 13:27
Co-authored-by: Raisa Primerova <48605821+RayRedGoose@users.noreply.github.com>
Co-authored-by: Raisa Primerova <48605821+RayRedGoose@users.noreply.github.com>
@alanbsmith alanbsmith merged commit a516c34 into Workday:prerelease/major Feb 11, 2026
20 checks passed
@github-project-automation github-project-automation Bot moved this from 👀 In review to ✅ Done in Canvas Kit Feb 11, 2026
@alanbsmith alanbsmith mentioned this pull request Feb 25, 2026
10 tasks
@alanbsmith alanbsmith mentioned this pull request Apr 13, 2026
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automerge ready for review Code is ready for review

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

5 participants