diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/filter/BUILD.bazel b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/filter/BUILD.bazel index aa7f72283b3..3586e649c22 100644 --- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/filter/BUILD.bazel +++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/filter/BUILD.bazel @@ -8,6 +8,9 @@ package(default_visibility = ["//visibility:public"]) sass_binary( name = "filter_component_styles", src = "filter.component.scss", + deps = [ + "//devtools/projects/ng-devtools/src/styles:typography", + ], ) ng_project( diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/filter/filter.component.scss b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/filter/filter.component.scss index 3e21619db80..0c79e9b2998 100644 --- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/filter/filter.component.scss +++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/filter/filter.component.scss @@ -1,3 +1,5 @@ +@use '../../../../../styles/typography'; + .filter { display: flex; padding: 0px; @@ -23,6 +25,7 @@ } .filter-input { + @extend %body-01; border: none; padding: 1px; width: 100%; diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-providers/BUILD.bazel b/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-providers/BUILD.bazel index 02c347e2d16..de07638e96a 100644 --- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-providers/BUILD.bazel +++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-providers/BUILD.bazel @@ -26,6 +26,7 @@ ng_project( ], deps = [ "//:node_modules/@angular/material", + "//devtools/projects/ng-devtools/src/lib/shared/button:button_rjs", "//devtools/projects/protocol:protocol_rjs", ], ) diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-providers/injector-providers.component.html b/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-providers/injector-providers.component.html index 41ead74475e..a1e3d7e5367 100644 --- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-providers/injector-providers.component.html +++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-providers/injector-providers.component.html @@ -1,69 +1,83 @@
Token |
- - {{ provider.token }} - | -Type |
- - @if (provider.type === 'multi') { - multi (x{{ provider.index.length }}) - } @else { - {{ $any(providerTypeToLabel)[provider.type] }} - } - | -Is View Provider |
-
- |
- - |
- |
-
|---|
No such providers
- }Token |
+ + {{ provider.token }} + | +Type |
+ + @if (provider.type === 'multi') { + multi (x{{ provider.index.length }}) + } @else { + {{ $any(providerTypeToLabel)[provider.type] }} + } + | +Is View Provider |
+
+ |
+ + |
+ |
+
|---|
No such providers
+ } } diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-providers/injector-providers.component.scss b/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-providers/injector-providers.component.scss index 5925c0c2bea..8dfd006dbd8 100644 --- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-providers/injector-providers.component.scss +++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-providers/injector-providers.component.scss @@ -1,58 +1,89 @@ @use '../../../../styles/typography'; -h2 { - @extend %heading-400; -} - -.select { - cursor: pointer; -} - :host { display: block; - padding: 16px; -} + padding: 1rem; -.filter { - display: flex; - gap: 0.5rem; + h2 { + @extend %heading-400; + margin-top: 0; + } - mat-form-field { - &.token-search { + .filter { + display: flex; + gap: 0.75rem; + margin-bottom: 0.5rem; + + label, + select, + input { + display: block; + width: 100%; + } + + label { + padding-left: 0.75rem; + margin-bottom: 0.25rem; + color: var(--quaternary-contrast); + } + + .token-filter { + position: relative; flex: 1; + + input { + padding-right: 2rem; + } + + .clear-filter { + position: absolute; + right: 0.75rem; + bottom: 0.15rem; + + mat-icon { + $icon-size: 16px; + font-size: $icon-size; + width: $icon-size; + height: $icon-size; + } + } } - &.type-filter { - width: 10rem; + .type-filter { + width: 9rem; + } + } + + .no-providers-label { + padding: 0.5rem 0; + text-align: center; + } + + table { + width: 100%; + --mat-table-row-item-label-text-size: 0.8rem; + --mat-table-header-container-height: 42px; + --mat-table-row-item-container-height: 42px; + + td { + @extend %body-01; + } + + .select { + cursor: pointer; + } + + .column-title { + @extend %body-bold-01; + margin: 0; + } + + .token-cell { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 100%; + max-width: 0; } } } - -table { - width: 100%; - --mat-table-row-item-label-text-size: 0.8rem; - --mat-table-header-container-height: 42px; - --mat-table-row-item-container-height: 42px; - - td { - @extend %body-01; - } -} - -.column-title { - @extend %body-bold-01; - margin: 0; -} - -.token-cell { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 100%; - max-width: 0; -} - -.no-providers-label { - padding: 0.5rem 0; - text-align: center; -} diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-providers/injector-providers.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-providers/injector-providers.component.ts index 28c421da4f2..aa9c32b6027 100644 --- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-providers/injector-providers.component.ts +++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/injector-tree/injector-providers/injector-providers.component.ts @@ -7,11 +7,7 @@ */ import {Component, computed, inject, input, signal} from '@angular/core'; -import {MatOption} from '@angular/material/core'; -import {MatFormField, MatLabel} from '@angular/material/form-field'; import {MatIcon} from '@angular/material/icon'; -import {MatInput} from '@angular/material/input'; -import {MatSelect} from '@angular/material/select'; import {MatTableModule} from '@angular/material/table'; import {MatTooltip} from '@angular/material/tooltip'; import { @@ -20,21 +16,13 @@ import { SerializedInjector, SerializedProviderRecord, } from '../../../../../../protocol'; +import {ButtonComponent} from '../../../shared/button/button.component'; @Component({ selector: 'ng-injector-providers', templateUrl: './injector-providers.component.html', styleUrl: './injector-providers.component.scss', - imports: [ - MatTableModule, - MatIcon, - MatTooltip, - MatInput, - MatSelect, - MatFormField, - MatLabel, - MatOption, - ], + imports: [MatTableModule, MatIcon, MatTooltip, ButtonComponent], }) export class InjectorProvidersComponent { readonly injector = input.required