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;
}