diff --git a/projects/components/src/toggle-group/toggle-group.component.test.ts b/projects/components/src/toggle-group/toggle-group.component.test.ts index 46ee5a508..e7f33907c 100644 --- a/projects/components/src/toggle-group/toggle-group.component.test.ts +++ b/projects/components/src/toggle-group/toggle-group.component.test.ts @@ -1,4 +1,5 @@ import { fakeAsync } from '@angular/core/testing'; +import { IconType } from '@hypertrace/assets-library'; import { createHostFactory, Spectator } from '@ngneat/spectator/jest'; import { MockComponent } from 'ng-mocks'; import { LabelComponent } from '../label/label.component'; @@ -23,6 +24,7 @@ describe('Toggle Group Component', () => { }, { label: 'Second', + icon: IconType.Add, value: 'second-value' } ]; diff --git a/projects/components/src/toggle-group/toggle-group.component.ts b/projects/components/src/toggle-group/toggle-group.component.ts index 615e99eda..40f639fc0 100644 --- a/projects/components/src/toggle-group/toggle-group.component.ts +++ b/projects/components/src/toggle-group/toggle-group.component.ts @@ -28,7 +28,12 @@ import { ToggleItemComponent } from './toggle-item.component'; >
- +
diff --git a/projects/components/src/toggle-group/toggle-group.module.ts b/projects/components/src/toggle-group/toggle-group.module.ts index 6eada7d9c..2bb94b7b7 100644 --- a/projects/components/src/toggle-group/toggle-group.module.ts +++ b/projects/components/src/toggle-group/toggle-group.module.ts @@ -1,11 +1,12 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; +import { IconModule } from '../icon/icon.module'; import { LabelModule } from '../label/label.module'; import { ToggleGroupComponent } from './toggle-group.component'; import { ToggleItemComponent } from './toggle-item.component'; @NgModule({ - imports: [CommonModule, LabelModule], + imports: [CommonModule, LabelModule, IconModule], exports: [ToggleGroupComponent], declarations: [ToggleGroupComponent, ToggleItemComponent] }) diff --git a/projects/components/src/toggle-group/toggle-item.component.scss b/projects/components/src/toggle-group/toggle-item.component.scss index a5dbd41f6..d11dd924f 100644 --- a/projects/components/src/toggle-group/toggle-item.component.scss +++ b/projects/components/src/toggle-group/toggle-item.component.scss @@ -8,7 +8,8 @@ padding: 0 12px; cursor: pointer; - .label { + .label, + .icon { z-index: 1; // Needs to stack above the active element pointer-events: none; // Make this label ignore hover so active element gets it } diff --git a/projects/components/src/toggle-group/toggle-item.component.ts b/projects/components/src/toggle-group/toggle-item.component.ts index 76c683560..bfeef762a 100644 --- a/projects/components/src/toggle-group/toggle-item.component.ts +++ b/projects/components/src/toggle-group/toggle-item.component.ts @@ -1,4 +1,6 @@ import { ChangeDetectionStrategy, Component, ElementRef, Input } from '@angular/core'; +import { IconType } from '@hypertrace/assets-library'; +import { IconSize } from '../icon/icon-size'; @Component({ selector: 'ht-toggle-item', @@ -6,7 +8,10 @@ import { ChangeDetectionStrategy, Component, ElementRef, Input } from '@angular/ changeDetection: ChangeDetectionStrategy.OnPush, template: `
- + + + +
` }) @@ -14,5 +19,8 @@ export class ToggleItemComponent { @Input() public label?: string; + @Input() + public icon?: IconType; + public constructor(public readonly elementRef: ElementRef) {} } diff --git a/projects/components/src/toggle-group/toggle-item.ts b/projects/components/src/toggle-group/toggle-item.ts index 1251baeb0..c98b19a1a 100644 --- a/projects/components/src/toggle-group/toggle-item.ts +++ b/projects/components/src/toggle-group/toggle-item.ts @@ -1,4 +1,7 @@ +import { IconType } from '@hypertrace/assets-library'; + export interface ToggleItem { - label: string; + label?: string; + icon?: IconType; value?: TValue; }