Draft
Conversation
Replace all decorator-based @input(), @output(), @ViewChild(), and @ContentChild() with their signal-based equivalents across 43 components. - Convert @input() to input()/input.required() with proper typing - Convert @output() with EventEmitter to output() - Convert @ViewChild() to viewChild()/viewChild.required() - Convert @ContentChild() to contentChild()/contentChild.required() - Update all templates to call signal inputs as functions (e.g. prop()) - Update TypeScript code to read signal values with () accessor - Fix components that wrote to inputs by using writable signal() instead (switch, sidebar-card, charging-page-mobile) - Remove unused EventEmitter imports - Fix circular-percentage spacing input to optional with default Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
Migrates the entire Angular frontend from decorator-based @Input/@Output/@ViewChild/@ContentChild to signal-based input()/output()/viewChild()/contentChild() APIs. Also replaces broken ngOnChanges hooks with computed() and effect() where inputs were migrated to signals.
Notes
Test Cases
Checklist
It can be helpful to check the
ChecksandFiles changedtabs.Please review the contributor guide and reach out to your Tech Lead if anything is unclear.
Please request reviewers and ping on slack only after you've gone through this whole checklist.
package-lock.jsonchanges (unless dependencies have changed)Closes #193