Skip to content

fix(core/checkbox, aggrid): added cursor to ix-checkbox#2496

Open
GayatriK2002 wants to merge 7 commits intosiemens:mainfrom
GayatriK2002:fix-4092/checkbox-hand-icon-hover
Open

fix(core/checkbox, aggrid): added cursor to ix-checkbox#2496
GayatriK2002 wants to merge 7 commits intosiemens:mainfrom
GayatriK2002:fix-4092/checkbox-hand-icon-hover

Conversation

@GayatriK2002
Copy link
Copy Markdown
Collaborator

💡 What is the current behavior?

  • The ix-checkbox doesn't show the hand icon when we hover on it
  • The Aggrid checkbox does not get highlighted when hovered on it.

GitHub Issue Number: #
Jira Issue Number: 4092

🆕 What is the new behavior?

  • The ix-checkbox shows the hand icon when we hover on it
  • The Aggrid checkbox gets highlighted when hovered on it.

🏁 Checklist

A pull request can only be merged if all of these conditions are met (where applicable):

  • 🦮 Accessibility (a11y) features were implemented
  • 🗺️ Internationalization (i18n) - no hard coded strings
  • 📲 Responsiveness - components handle viewport changes and content overflow gracefully
  • 📕 Add or update a Storybook story
  • 📄 Documentation was reviewed/updated siemens/ix-docs
  • 🧪 Unit tests were added/updated and pass (pnpm test)
  • 📸 Visual regression tests were added/updated and pass (Guide)
  • 🧐 Static code analysis passes (pnpm lint)
  • 🏗️ Successful compilation (pnpm build, changes pushed)

👨‍💻 Help & support

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Apr 14, 2026

⚠️ No Changeset found

Latest commit: 1c5cefd

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces hover and active states for checkboxes in the ag-grid package and adds a pointer cursor to the core checkbox component. The review feedback identifies potential layout shifts caused by removing borders in the checked state and a visual bug where hover styles on the checkmark mask could make it invisible. Additionally, the reviewer noted that axe-based accessibility tests are required for these component changes to comply with the repository's style guide.

Comment thread packages/aggrid/src/checkbox.style.css Outdated
Comment on lines +45 to +50
.ag-checkbox-input-wrapper.ag-checked,
.ag-checkbox-input-wrapper.ag-indeterminate {
position: relative;
background-color: var(--theme-checkbox-checked--color);
border: none;
}
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.

high

Removing the border (border: none) while the unchecked state has a border will cause a layout shift when toggling the checkbox. It is recommended to maintain the border for visual consistency and to avoid size changes.

Suggested change
.ag-checkbox-input-wrapper.ag-checked,
.ag-checkbox-input-wrapper.ag-indeterminate {
position: relative;
background-color: var(--theme-checkbox-checked--color);
border: none;
}
.ag-checkbox-input-wrapper.ag-checked,
.ag-checkbox-input-wrapper.ag-indeterminate {
position: relative;
background-color: var(--theme-checkbox-checked--color);
border: var(--theme-checkbox--border-thickness) solid transparent;
}
References
  1. Avoid refactoring legacy tokens that are scheduled for future removal, even for consistency improvements.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Updated CSS code for only unchecked hover and active states.

Comment thread packages/aggrid/src/checkbox.style.css Outdated
Comment on lines 52 to 70
.ag-checkbox-input-wrapper.ag-checked:hover,
.ag-checkbox-input-wrapper.ag-indeterminate:hover {
background-color: var(--theme-checkbox-checked--color--hover);
}

.ag-checkbox-input-wrapper.ag-checked:hover::before,
.ag-checkbox-input-wrapper.ag-indeterminate:hover::before {
background-color: var(--theme-checkbox-checked--background--hover);
}

.ag-checkbox-input-wrapper.ag-checked:active,
.ag-checkbox-input-wrapper.ag-indeterminate:active {
background-color: var(--theme-checkbox-checked--color--active);
}

.ag-checkbox-input-wrapper.ag-checked:active::before,
.ag-checkbox-input-wrapper.ag-indeterminate:active::before {
background-color: var(--theme-checkbox-checked--background--active);
}
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.

high

Applying var(--theme-checkbox-checked--background--hover) to the ::before element (the checkmark mask) is incorrect as it would change the checkmark's color to the box's hover color, likely making it visually invisible. Additionally, the border should be maintained to prevent layout shifts.

Suggested change
.ag-checkbox-input-wrapper.ag-checked:hover,
.ag-checkbox-input-wrapper.ag-indeterminate:hover {
background-color: var(--theme-checkbox-checked--color--hover);
}
.ag-checkbox-input-wrapper.ag-checked:hover::before,
.ag-checkbox-input-wrapper.ag-indeterminate:hover::before {
background-color: var(--theme-checkbox-checked--background--hover);
}
.ag-checkbox-input-wrapper.ag-checked:active,
.ag-checkbox-input-wrapper.ag-indeterminate:active {
background-color: var(--theme-checkbox-checked--color--active);
}
.ag-checkbox-input-wrapper.ag-checked:active::before,
.ag-checkbox-input-wrapper.ag-indeterminate:active::before {
background-color: var(--theme-checkbox-checked--background--active);
}
.ag-checkbox-input-wrapper.ag-checked:hover,
.ag-checkbox-input-wrapper.ag-indeterminate:hover {
background-color: var(--theme-checkbox-checked--color--hover);
border: var(--theme-checkbox--border-thickness) solid transparent;
}
.ag-checkbox-input-wrapper.ag-checked:active,
.ag-checkbox-input-wrapper.ag-indeterminate:active {
background-color: var(--theme-checkbox-checked--color--active);
border: var(--theme-checkbox--border-thickness) solid transparent;
}
References
  1. Avoid refactoring legacy tokens that are scheduled for future removal, even for consistency improvements.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Updated CSS code for only unchecked hover and active states.


width: 100%;
height: 100%;
cursor: pointer;
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.

medium

The repository style guide requires axe-based component tests for component changes. This PR modifies the checkbox component's visual behavior but does not appear to include updated accessibility tests to ensure compliance.

References
  1. For component changes, check that accessibility coverage exists with an axe-based component test. (link)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

this CSS-only modification does not affect accessibility behavior

@GayatriK2002
Copy link
Copy Markdown
Collaborator Author

GayatriK2002 commented Apr 16, 2026

Fixed missing class="ix-form-control" in the input & label tag in the Angular standalone checkbox, checkbox-indeterminate preview example.

@sonarqubecloud
Copy link
Copy Markdown

@GayatriK2002 GayatriK2002 marked this pull request as ready for review April 20, 2026 05:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant