Skip to content

refactor(core): change all boolean properties to default to false#2166

Merged
danielleroux merged 27 commits into
mainfrom
refactor/3275-ban-default-true
Nov 3, 2025
Merged

refactor(core): change all boolean properties to default to false#2166
danielleroux merged 27 commits into
mainfrom
refactor/3275-ban-default-true

Conversation

@nuke-ellington

Copy link
Copy Markdown
Collaborator

💡 What is the current behavior?

GitHub Issue Number: #

🆕 What is the new behavior?

  • 🚧

🏁 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

changeset-bot Bot commented Sep 24, 2025

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: cfc7234

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 5 packages
Name Type
@siemens/ix-angular Major
@siemens/ix-react Major
@siemens/ix Major
@siemens/ix-vue Major
@siemens/ix-aggrid Patch

Not sure what this means? Click here to learn what changesets are.

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

@nuke-ellington

Copy link
Copy Markdown
Collaborator Author

/gemini review

@nuke-ellington nuke-ellington marked this pull request as draft September 24, 2025 08:31
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @nuke-ellington, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces significant refactoring to boolean properties across numerous core components, aiming for a more consistent and predictable API where boolean properties default to false. It also cleans up the codebase by removing several deprecated components and properties, ensuring the library remains modern and maintainable. These changes are part of a broader update to version 4, which includes an upgrade to Angular 20.

Highlights

  • Boolean Property Refactoring: Many boolean properties across various components have been renamed to standardize their behavior, often switching from a positive assertion (e.g., showX) to a negative one (e.g., hideX or disableX). Concurrently, the default values for these properties have been changed from true to false to align with a more intuitive 'opt-in' behavior.
  • Deprecated Component Removal: The deprecated ix-validation-tooltip and ix-input-group components have been entirely removed, along with their associated code and usage examples in test applications. The Angular-specific theme switcher service has also been removed, encouraging the use of the core @siemens/ix theme switcher.
  • Property and Type Clean-up: Several specific properties and type values have been removed or renamed: the danger type value in ix-message-bar is replaced by alarm, the unused enableSettings property in ix-menu is gone, and redundant showHour, showMinutes, showSeconds properties in ix-time-picker and ix-datetime-picker have been removed as their functionality is now derived from the format string.
  • Breaking Changes Documentation: A comprehensive BREAKING_CHANGES/v4.md document has been updated to detail all these changes, including migration steps for affected components and the new Angular 20 requirement for @siemens/ix-angular.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

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

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.

Code Review

This pull request is a large refactoring effort to align boolean properties across the library, making them default to false. The changes are extensive and touch many components, documentation, and tests. The core logic of the refactoring appears sound. My review focuses on ensuring the documentation and examples are updated correctly and consistently, and I've found several typos and inconsistencies that should be addressed for clarity and correctness.

Comment thread BREAKING_CHANGES/v4.md Outdated
Comment thread packages/html-test-app/src/preview-examples/message-bar.html Outdated
Comment thread packages/angular-test-app/src/preview-examples/message-bar.html
Comment thread BREAKING_CHANGES/v4.md
Comment thread .changeset/smooth-avocados-smoke.md Outdated
Comment thread BREAKING_CHANGES/v4.md Outdated
Comment thread BREAKING_CHANGES/v4.md Outdated
Comment thread .changeset/neat-moose-dress.md Outdated
Comment thread .changeset/empty-houses-march.md Outdated
Comment thread testing/visual-testing/tests/chip/custom/index.html Outdated

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

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.

Code Review

This is a large but valuable refactoring that improves API consistency by making boolean properties default to false. The changes are extensive and mostly correct. I've found a few typos in the changeset files and breaking changes documentation, a logic error in the breadcrumb component, and some inconsistencies in updating example files and tests. Addressing these will ensure the release is solid.

Comment thread packages/core/src/components/breadcrumb/breadcrumb.tsx Outdated
Comment thread packages/html-test-app/src/preview-examples/message-bar.html Outdated
Comment thread packages/vue-test-app/src/preview-examples/message-bar.vue
Comment thread testing/visual-testing/tests/date-picker/i18n/index.html
Comment thread BREAKING_CHANGES/v4.md Outdated
Comment thread BREAKING_CHANGES/v4.md Outdated
Comment thread BREAKING_CHANGES/v4.md Outdated
Comment thread .changeset/violet-rules-flow.md Outdated
Comment thread .changeset/smooth-avocados-smoke.md Outdated
nuke-ellington and others added 17 commits September 24, 2025 13:43
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@nuke-ellington nuke-ellington changed the base branch from release-4.0.0 to main September 30, 2025 14:21
@nuke-ellington nuke-ellington marked this pull request as ready for review September 30, 2025 14:34
@nuke-ellington

Copy link
Copy Markdown
Collaborator Author

/release:pr

@github-actions

github-actions Bot commented Oct 1, 2025

Copy link
Copy Markdown
Contributor

A new release has been made for this PR. You can install it with:

Core library:

npm i @siemens/ix@0.0.0-pr-2166-20251001083917

Angular:

npm i @siemens/ix-angular@0.0.0-pr-2166-20251001083917

React:

npm i @siemens/ix-react@0.0.0-pr-2166-20251001083917

Vue:

npm i @siemens/ix-vue@0.0.0-pr-2166-20251001083917

@nuke-ellington

Copy link
Copy Markdown
Collaborator Author

/release:pr

@github-actions

github-actions Bot commented Oct 1, 2025

Copy link
Copy Markdown
Contributor

A new release has been made for this PR. You can install it with:

Core library:

npm i @siemens/ix@0.0.0-pr-2166-20251001134702

Angular:

npm i @siemens/ix-angular@0.0.0-pr-2166-20251001134702

React:

npm i @siemens/ix-react@0.0.0-pr-2166-20251001134702

Vue:

npm i @siemens/ix-vue@0.0.0-pr-2166-20251001134702

Comment thread packages/core/scss/components/_input-group.scss
Comment thread packages/core/src/components/drawer/drawer.tsx
Comment thread packages/core/src/components/map-navigation/map-navigation.tsx
Comment thread packages/core/src/tests/utils/test/page.ts Outdated
Comment thread packages/html-test-app/src/preview-examples/validation.html Outdated
@sonarqubecloud

Copy link
Copy Markdown

@danielleroux danielleroux enabled auto-merge (squash) October 31, 2025 12:42
@danielleroux danielleroux disabled auto-merge October 31, 2025 13:43
@danielleroux danielleroux merged commit 2617f86 into main Nov 3, 2025
14 checks passed
@danielleroux danielleroux deleted the refactor/3275-ban-default-true branch November 3, 2025 07:04
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.

2 participants