This PR migrates `libs/components` to use strict TypeScript.
- Remove `@ts-strict-ignore` from each file in `libs/components` and resolved any new compilation errors
- Converted ViewChild and ContentChild decorators to use the new signal-based queries using the [Angular signal queries migration](https://angular.dev/reference/migrations/signal-queries)
- Made view/content children `required` where appropriate, eliminating the need for additional null checking. This helped simplify the strict migration.
---
Co-authored-by: Vicki League <vleague@bitwarden.com>
* add basic new nav item styling
* update alt-3 bg color
* add x padding to item
* remove copy left in error
* style app switcher to match nav items
* adding new button hover colors
* add new logo lockups
* use new logos in web vault
* fix color and svg fills
* use set height for nav items
* optimize SVGs
* move if logic
* use rem for icon size
* move shield logo
* use shield svg for collapsed icon
* remove unused eslint disable directive
* run prettier
* remove variables
* update logo hover styles
* use more standard flow control syntax
* update admin console logo svg
* add new hover variables
* use class instead of fill
* use variable for logo hover
* remove unnecessary container
* use hover variable for nav switcher
* use correct variables for fill colors
* update hover state to use variable left in error
* give icon width to preserve text alignment
* remove tree story as functionality no longer supported
* remove nested styles helper
* remove obsolete afterContentInit
* remove tree example from layout story
* remove tree example from secondary layout story
* remove tree example from kitchen sink story
* Fix interaction test
* remove remaining references to tree variant
* Use typescript-strict-plugin to iteratively turn on strict
* Add strict testing to pipeline
Can be executed locally through either `npm run test:types` for full type checking including spec files, or `npx tsc-strict` for only tsconfig.json included files.
* turn on strict for scripts directory
* Use plugin for all tsconfigs in monorepo
vscode is capable of executing tsc with plugins, but uses the most relevant tsconfig to do so. If the plugin is not a part of that config, it is skipped and developers get no feedback of strict compile time issues. These updates remedy that at the cost of slightly more complex removal of the plugin when the time comes.
* remove plugin from configs that extend one that already has it
* Update workspace settings to honor strict plugin
* Apply strict-plugin to native message test runner
* Update vscode workspace to use root tsc version
* `./node_modules/.bin/update-strict-comments` 🤖
This is a one-time operation. All future files should adhere to strict type checking.
* Add fixme to `ts-strict-ignore` comments
* `update-strict-comments` 🤖
repeated for new merge files