From 526bc1c459badc6a03d1dbd68581471899826185 Mon Sep 17 00:00:00 2001
From: Alexander Reifschneider <alexander.reifschneider@mgm-tp.com>
Date: Thu, 3 Apr 2025 16:33:56 +0200
Subject: [PATCH] OZG-7077 replace more icons - help icon - info icon

---
 .../user-form-roles.component.html            | 10 ++--
 .../user-form-roles.component.spec.ts         |  4 +-
 .../user-form-roles.component.ts              | 11 +---
 alfa-client/libs/design-system/src/index.ts   |  2 -
 .../help-icon/help-icon.component.spec.ts     | 44 ----------------
 .../icons/help-icon/help-icon.component.ts    | 50 -------------------
 .../lib/icons/help-icon/help-icon.stories.ts  | 50 -------------------
 .../info-icon/info-icon.component.spec.ts     | 44 ----------------
 .../icons/info-icon/info-icon.component.ts    | 50 -------------------
 .../lib/icons/info-icon/info-icon.stories.ts  | 50 -------------------
 .../help-button/help-button.component.html    |  4 +-
 .../help-button/help-button.component.spec.ts |  4 +-
 .../lib/help-menu/help-menu.component.spec.ts | 10 +---
 .../src/lib/user-assistance.module.ts         | 12 ++---
 14 files changed, 20 insertions(+), 325 deletions(-)
 delete mode 100644 alfa-client/libs/design-system/src/lib/icons/help-icon/help-icon.component.spec.ts
 delete mode 100644 alfa-client/libs/design-system/src/lib/icons/help-icon/help-icon.component.ts
 delete mode 100644 alfa-client/libs/design-system/src/lib/icons/help-icon/help-icon.stories.ts
 delete mode 100644 alfa-client/libs/design-system/src/lib/icons/info-icon/info-icon.component.spec.ts
 delete mode 100644 alfa-client/libs/design-system/src/lib/icons/info-icon/info-icon.component.ts
 delete mode 100644 alfa-client/libs/design-system/src/lib/icons/info-icon/info-icon.stories.ts

diff --git a/alfa-client/libs/admin/user/src/lib/user-form/user-form-roles/user-form-roles.component.html b/alfa-client/libs/admin/user/src/lib/user-form/user-form-roles/user-form-roles.component.html
index d3d39a71ce..80bf7e3280 100644
--- a/alfa-client/libs/admin/user/src/lib/user-form/user-form-roles/user-form-roles.component.html
+++ b/alfa-client/libs/admin/user/src/lib/user-form/user-form-roles/user-form-roles.component.html
@@ -15,7 +15,7 @@
           data-test-id="admin-role-info-button"
           tooltip="Diese Rolle kann Funktionen der OZG-Cloud konfigurieren, z.B. Benutzer anlegen, Organisationseinheiten hinzufügen und Rollen zuweisen."
         >
-          <ods-info-icon />
+          <ods-icon name="info" />
         </button>
       </div>
       <div class="flex items-center gap-2">
@@ -28,7 +28,7 @@
           data-test-id="datenbeauftragung-role-info-button"
           tooltip='Diese Rolle kann in der Administration unter dem Menüpunkt "Statistik" Felder zur Auswertung konfigurieren. Sie ist mit allen anderen Rollen kompatibel.'
         >
-          <ods-info-icon />
+          <ods-icon name="info" />
         </button>
       </div>
     </div>
@@ -40,7 +40,7 @@
           data-test-id="loschen-role-info-button"
           tooltip='Diese Rolle hat dieselben Rechte wie die Rolle "User". Zusätzlich kann "Löschen" Löschanträge aus Alfa bestätigen. '
         >
-          <ods-info-icon />
+          <ods-icon name="info" />
         </button>
       </div>
       <div class="flex items-center gap-2">
@@ -49,13 +49,13 @@
           data-test-id="user-role-info-button"
           tooltip="Diese Rolle kann alle Vorgänge sehen und bearbeiten, wenn diese seiner Organisationseinheit zugewiesen sind."
         >
-          <ods-info-icon />
+          <ods-icon name="info" />
         </button>
       </div>
       <div class="flex items-center gap-2">
         <ods-checkbox-editor [formControlName]="UserFormService.POSTSTELLE" label="Poststelle" inputId="post_office" />
         <button data-test-id="poststelle-role-info-button" tooltip="Diese Rolle kann alle neu eingegangenen Vorgänge sehen.">
-          <ods-info-icon />
+          <ods-icon name="info" />
         </button>
       </div>
     </div>
diff --git a/alfa-client/libs/admin/user/src/lib/user-form/user-form-roles/user-form-roles.component.spec.ts b/alfa-client/libs/admin/user/src/lib/user-form/user-form-roles/user-form-roles.component.spec.ts
index 39a21b7faf..a154d726b2 100644
--- a/alfa-client/libs/admin/user/src/lib/user-form/user-form-roles/user-form-roles.component.spec.ts
+++ b/alfa-client/libs/admin/user/src/lib/user-form/user-form-roles/user-form-roles.component.spec.ts
@@ -3,7 +3,7 @@ import { existsAsHtmlElement, getElementComponentFromFixtureByCss } from '@alfa-
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { AbstractControl, FormControl, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';
 import { expect } from '@jest/globals';
-import { InfoIconComponent, TooltipDirective } from '@ods/system';
+import { IconComponent, TooltipDirective } from '@ods/system';
 import { MockComponent, MockDirective } from 'ng-mocks';
 import { of } from 'rxjs';
 import { ValidationErrorComponent } from '../../../../../../design-component/src/lib/form/validation-error/validation-error.component';
@@ -24,7 +24,7 @@ describe('UserFormRolesComponent', () => {
       imports: [
         UserFormRolesComponent,
         ReactiveFormsModule,
-        MockComponent(InfoIconComponent),
+        MockComponent(IconComponent),
         MockComponent(ValidationErrorComponent),
         MockDirective(TooltipDirective),
       ],
diff --git a/alfa-client/libs/admin/user/src/lib/user-form/user-form-roles/user-form-roles.component.ts b/alfa-client/libs/admin/user/src/lib/user-form/user-form-roles/user-form-roles.component.ts
index 7a8c901dab..e2c967474a 100644
--- a/alfa-client/libs/admin/user/src/lib/user-form/user-form-roles/user-form-roles.component.ts
+++ b/alfa-client/libs/admin/user/src/lib/user-form/user-form-roles/user-form-roles.component.ts
@@ -3,7 +3,7 @@ import { AsyncPipe } from '@angular/common';
 import { Component, Input, OnInit } from '@angular/core';
 import { AbstractControl, FormControlStatus, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';
 import { CheckboxEditorComponent, ValidationErrorComponent } from '@ods/component';
-import { InfoIconComponent, TooltipDirective } from '@ods/system';
+import { IconComponent, TooltipDirective } from '@ods/system';
 import { isEmpty } from 'lodash-es';
 import { map, Observable, of, tap } from 'rxjs';
 import { UserFormService } from '../user.formservice';
@@ -11,14 +11,7 @@ import { UserFormService } from '../user.formservice';
 @Component({
   selector: 'admin-user-form-roles',
   standalone: true,
-  imports: [
-    CheckboxEditorComponent,
-    ReactiveFormsModule,
-    TooltipDirective,
-    InfoIconComponent,
-    ValidationErrorComponent,
-    AsyncPipe,
-  ],
+  imports: [CheckboxEditorComponent, ReactiveFormsModule, TooltipDirective, IconComponent, ValidationErrorComponent, AsyncPipe],
   templateUrl: './user-form-roles.component.html',
 })
 export class UserFormRolesComponent implements OnInit {
diff --git a/alfa-client/libs/design-system/src/index.ts b/alfa-client/libs/design-system/src/index.ts
index 489ff70ab8..0533237790 100644
--- a/alfa-client/libs/design-system/src/index.ts
+++ b/alfa-client/libs/design-system/src/index.ts
@@ -47,9 +47,7 @@ export * from './lib/forwarding-item/forwarding-item.component';
 export * from './lib/icon/icon.component';
 export * from './lib/icons/external-unit-icon/external-unit-icon.component';
 export * from './lib/icons/file-icon/file-icon.component';
-export * from './lib/icons/help-icon/help-icon.component';
 export * from './lib/icons/iconVariants';
-export * from './lib/icons/info-icon/info-icon.component';
 export * from './lib/icons/logout-icon/logout-icon.component';
 export * from './lib/icons/mailbox-icon/mailbox-icon.component';
 export * from './lib/icons/more-icon/more-icon.component';
diff --git a/alfa-client/libs/design-system/src/lib/icons/help-icon/help-icon.component.spec.ts b/alfa-client/libs/design-system/src/lib/icons/help-icon/help-icon.component.spec.ts
deleted file mode 100644
index 42c9caea29..0000000000
--- a/alfa-client/libs/design-system/src/lib/icons/help-icon/help-icon.component.spec.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { HelpIconComponent } from './help-icon.component';
-
-describe('HelpIconComponent', () => {
-  let component: HelpIconComponent;
-  let fixture: ComponentFixture<HelpIconComponent>;
-
-  beforeEach(async () => {
-    await TestBed.configureTestingModule({
-      imports: [HelpIconComponent],
-    }).compileComponents();
-
-    fixture = TestBed.createComponent(HelpIconComponent);
-    component = fixture.componentInstance;
-    fixture.detectChanges();
-  });
-
-  it('should create', () => {
-    expect(component).toBeTruthy();
-  });
-});
diff --git a/alfa-client/libs/design-system/src/lib/icons/help-icon/help-icon.component.ts b/alfa-client/libs/design-system/src/lib/icons/help-icon/help-icon.component.ts
deleted file mode 100644
index 2c80a27434..0000000000
--- a/alfa-client/libs/design-system/src/lib/icons/help-icon/help-icon.component.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-import { NgClass } from '@angular/common';
-import { Component, Input } from '@angular/core';
-import { twMerge } from 'tailwind-merge';
-import { IconVariants, iconVariants } from '../iconVariants';
-
-@Component({
-  selector: 'ods-help-icon',
-  standalone: true,
-  imports: [NgClass],
-  template: `<svg
-    [ngClass]="twMerge(iconVariants({ size }), 'fill-neutral-500 dark:fill-neutral-400', class)"
-    aria-hidden="true"
-    viewBox="0 0 24 24"
-    xmlns="http://www.w3.org/2000/svg"
-  >
-    <path
-      d="M11.95 18C12.3 18 12.5958 17.8792 12.8375 17.6375C13.0792 17.3958 13.2 17.1 13.2 16.75C13.2 16.4 13.0792 16.1042 12.8375 15.8625C12.5958 15.6208 12.3 15.5 11.95 15.5C11.6 15.5 11.3042 15.6208 11.0625 15.8625C10.8208 16.1042 10.7 16.4 10.7 16.75C10.7 17.1 10.8208 17.3958 11.0625 17.6375C11.3042 17.8792 11.6 18 11.95 18ZM11.05 14.15H12.9C12.9 13.6 12.9625 13.1667 13.0875 12.85C13.2125 12.5333 13.5667 12.1 14.15 11.55C14.5833 11.1167 14.925 10.7042 15.175 10.3125C15.425 9.92083 15.55 9.45 15.55 8.9C15.55 7.96667 15.2083 7.25 14.525 6.75C13.8417 6.25 13.0333 6 12.1 6C11.15 6 10.3792 6.25 9.7875 6.75C9.19583 7.25 8.78333 7.85 8.55 8.55L10.2 9.2C10.2833 8.9 10.4708 8.575 10.7625 8.225C11.0542 7.875 11.5 7.7 12.1 7.7C12.6333 7.7 13.0333 7.84583 13.3 8.1375C13.5667 8.42917 13.7 8.75 13.7 9.1C13.7 9.43333 13.6 9.74583 13.4 10.0375C13.2 10.3292 12.95 10.6 12.65 10.85C11.9167 11.5 11.4667 11.9917 11.3 12.325C11.1333 12.6583 11.05 13.2667 11.05 14.15ZM12 22C10.6167 22 9.31667 21.7375 8.1 21.2125C6.88333 20.6875 5.825 19.975 4.925 19.075C4.025 18.175 3.3125 17.1167 2.7875 15.9C2.2625 14.6833 2 13.3833 2 12C2 10.6167 2.2625 9.31667 2.7875 8.1C3.3125 6.88333 4.025 5.825 4.925 4.925C5.825 4.025 6.88333 3.3125 8.1 2.7875C9.31667 2.2625 10.6167 2 12 2C13.3833 2 14.6833 2.2625 15.9 2.7875C17.1167 3.3125 18.175 4.025 19.075 4.925C19.975 5.825 20.6875 6.88333 21.2125 8.1C21.7375 9.31667 22 10.6167 22 12C22 13.3833 21.7375 14.6833 21.2125 15.9C20.6875 17.1167 19.975 18.175 19.075 19.075C18.175 19.975 17.1167 20.6875 15.9 21.2125C14.6833 21.7375 13.3833 22 12 22ZM12 20C14.2333 20 16.125 19.225 17.675 17.675C19.225 16.125 20 14.2333 20 12C20 9.76667 19.225 7.875 17.675 6.325C16.125 4.775 14.2333 4 12 4C9.76667 4 7.875 4.775 6.325 6.325C4.775 7.875 4 9.76667 4 12C4 14.2333 4.775 16.125 6.325 17.675C7.875 19.225 9.76667 20 12 20Z"
-    />
-  </svg>`,
-})
-export class HelpIconComponent {
-  @Input() size: IconVariants['size'] = 'medium';
-  @Input() class: string = undefined;
-
-  protected readonly iconVariants = iconVariants;
-  protected readonly twMerge = twMerge;
-}
diff --git a/alfa-client/libs/design-system/src/lib/icons/help-icon/help-icon.stories.ts b/alfa-client/libs/design-system/src/lib/icons/help-icon/help-icon.stories.ts
deleted file mode 100644
index 5e7821e204..0000000000
--- a/alfa-client/libs/design-system/src/lib/icons/help-icon/help-icon.stories.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-import type { Meta, StoryObj } from '@storybook/angular';
-
-import { HelpIconComponent } from './help-icon.component';
-
-const meta: Meta<HelpIconComponent> = {
-  title: 'Icons/Help icon',
-  component: HelpIconComponent,
-  excludeStories: /.*Data$/,
-  tags: ['autodocs'],
-};
-
-export default meta;
-type Story = StoryObj<HelpIconComponent>;
-
-export const Default: Story = {
-  args: { size: 'large' },
-  argTypes: {
-    size: {
-      control: 'select',
-      options: ['small', 'medium', 'large', 'extra-large', 'full'],
-      description: 'Size of icon. Property "full" means 100%',
-      table: {
-        defaultValue: { summary: 'medium' },
-      },
-    },
-  },
-};
diff --git a/alfa-client/libs/design-system/src/lib/icons/info-icon/info-icon.component.spec.ts b/alfa-client/libs/design-system/src/lib/icons/info-icon/info-icon.component.spec.ts
deleted file mode 100644
index 7b0b08534c..0000000000
--- a/alfa-client/libs/design-system/src/lib/icons/info-icon/info-icon.component.spec.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2025 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { InfoIconComponent } from './info-icon.component';
-
-describe('InfoIconComponent', () => {
-  let component: InfoIconComponent;
-  let fixture: ComponentFixture<InfoIconComponent>;
-
-  beforeEach(async () => {
-    await TestBed.configureTestingModule({
-      imports: [InfoIconComponent],
-    }).compileComponents();
-
-    fixture = TestBed.createComponent(InfoIconComponent);
-    component = fixture.componentInstance;
-    fixture.detectChanges();
-  });
-
-  it('should create', () => {
-    expect(component).toBeTruthy();
-  });
-});
diff --git a/alfa-client/libs/design-system/src/lib/icons/info-icon/info-icon.component.ts b/alfa-client/libs/design-system/src/lib/icons/info-icon/info-icon.component.ts
deleted file mode 100644
index 5fd6e58c33..0000000000
--- a/alfa-client/libs/design-system/src/lib/icons/info-icon/info-icon.component.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2025 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-import { NgClass } from '@angular/common';
-import { Component, Input } from '@angular/core';
-import { twMerge } from 'tailwind-merge';
-import { IconVariants, iconVariants } from '../iconVariants';
-
-@Component({
-  selector: 'ods-info-icon',
-  standalone: true,
-  imports: [NgClass],
-  template: `<svg
-    [ngClass]="twMerge(iconVariants({ size }), 'fill-primary', class)"
-    aria-hidden="true"
-    viewBox="0 0 24 24"
-    xmlns="http://www.w3.org/2000/svg"
-  >
-    <path
-      d="M11.25 16.75H12.75V11H11.25V16.75ZM12 9.2885C12.2288 9.2885 12.4207 9.21108 12.5755 9.05625C12.7303 8.90142 12.8077 8.70958 12.8077 8.48075C12.8077 8.25192 12.7303 8.06008 12.5755 7.90525C12.4207 7.75058 12.2288 7.67325 12 7.67325C11.7712 7.67325 11.5793 7.75058 11.4245 7.90525C11.2697 8.06008 11.1923 8.25192 11.1923 8.48075C11.1923 8.70958 11.2697 8.90142 11.4245 9.05625C11.5793 9.21108 11.7712 9.2885 12 9.2885ZM12.0017 21.5C10.6877 21.5 9.45267 21.2507 8.2965 20.752C7.14033 20.2533 6.13467 19.5766 5.2795 18.7218C4.42433 17.8669 3.74725 16.8617 3.24825 15.706C2.74942 14.5503 2.5 13.3156 2.5 12.0017C2.5 10.6877 2.74933 9.45267 3.248 8.2965C3.74667 7.14033 4.42342 6.13467 5.27825 5.2795C6.13308 4.42433 7.13833 3.74725 8.294 3.24825C9.44967 2.74942 10.6844 2.5 11.9983 2.5C13.3123 2.5 14.5473 2.74933 15.7035 3.248C16.8597 3.74667 17.8653 4.42342 18.7205 5.27825C19.5757 6.13308 20.2528 7.13833 20.7518 8.294C21.2506 9.44967 21.5 10.6844 21.5 11.9983C21.5 13.3123 21.2507 14.5473 20.752 15.7035C20.2533 16.8597 19.5766 17.8653 18.7218 18.7205C17.8669 19.5757 16.8617 20.2528 15.706 20.7518C14.5503 21.2506 13.3156 21.5 12.0017 21.5ZM12 20C14.2333 20 16.125 19.225 17.675 17.675C19.225 16.125 20 14.2333 20 12C20 9.76667 19.225 7.875 17.675 6.325C16.125 4.775 14.2333 4 12 4C9.76667 4 7.875 4.775 6.325 6.325C4.775 7.875 4 9.76667 4 12C4 14.2333 4.775 16.125 6.325 17.675C7.875 19.225 9.76667 20 12 20Z"
-    />
-  </svg>`,
-})
-export class InfoIconComponent {
-  @Input() size: IconVariants['size'] = 'medium';
-  @Input() class: string = undefined;
-
-  protected readonly iconVariants = iconVariants;
-  protected readonly twMerge = twMerge;
-}
diff --git a/alfa-client/libs/design-system/src/lib/icons/info-icon/info-icon.stories.ts b/alfa-client/libs/design-system/src/lib/icons/info-icon/info-icon.stories.ts
deleted file mode 100644
index 70a6e79405..0000000000
--- a/alfa-client/libs/design-system/src/lib/icons/info-icon/info-icon.stories.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2025 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-import type { Meta, StoryObj } from '@storybook/angular';
-
-import { InfoIconComponent } from './info-icon.component';
-
-const meta: Meta<InfoIconComponent> = {
-  title: 'Icons/Info icon',
-  component: InfoIconComponent,
-  excludeStories: /.*Data$/,
-  tags: ['autodocs'],
-};
-
-export default meta;
-type Story = StoryObj<InfoIconComponent>;
-
-export const Default: Story = {
-  args: { size: 'large' },
-  argTypes: {
-    size: {
-      control: 'select',
-      options: ['small', 'medium', 'large', 'extra-large', 'full'],
-      description: 'Size of icon. Property "full" means 100%',
-      table: {
-        defaultValue: { summary: 'medium' },
-      },
-    },
-  },
-};
diff --git a/alfa-client/libs/user-assistance/src/lib/help-menu/help-button/help-button.component.html b/alfa-client/libs/user-assistance/src/lib/help-menu/help-button/help-button.component.html
index c2e1745ad1..d18dea1e0b 100644
--- a/alfa-client/libs/user-assistance/src/lib/help-menu/help-button/help-button.component.html
+++ b/alfa-client/libs/user-assistance/src/lib/help-menu/help-button/help-button.component.html
@@ -1,4 +1,4 @@
 <div class="flex items-center text-ozggray-800 dark:text-ozggray-300">
-  <ods-help-icon />
+  <ods-icon name="help" fill="neutral" />
   <div class="ml-1 text-sm font-medium">Hilfe</div>
-</div>
\ No newline at end of file
+</div>
diff --git a/alfa-client/libs/user-assistance/src/lib/help-menu/help-button/help-button.component.spec.ts b/alfa-client/libs/user-assistance/src/lib/help-menu/help-button/help-button.component.spec.ts
index 4430d6bc1e..aee29ce4ce 100644
--- a/alfa-client/libs/user-assistance/src/lib/help-menu/help-button/help-button.component.spec.ts
+++ b/alfa-client/libs/user-assistance/src/lib/help-menu/help-button/help-button.component.spec.ts
@@ -1,6 +1,6 @@
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 
-import { HelpIconComponent } from '@ods/system';
+import { IconComponent } from '@ods/system';
 import { MockComponent } from 'ng-mocks';
 import { HelpButtonComponent } from './help-button.component';
 
@@ -10,7 +10,7 @@ describe('HelpButtonComponent', () => {
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
-      imports: [HelpButtonComponent, MockComponent(HelpIconComponent)],
+      imports: [HelpButtonComponent, MockComponent(IconComponent)],
     }).compileComponents();
 
     fixture = TestBed.createComponent(HelpButtonComponent);
diff --git a/alfa-client/libs/user-assistance/src/lib/help-menu/help-menu.component.spec.ts b/alfa-client/libs/user-assistance/src/lib/help-menu/help-menu.component.spec.ts
index 870deee5a2..e072b2f659 100644
--- a/alfa-client/libs/user-assistance/src/lib/help-menu/help-menu.component.spec.ts
+++ b/alfa-client/libs/user-assistance/src/lib/help-menu/help-menu.component.spec.ts
@@ -28,13 +28,7 @@ import { OzgcloudIconComponent, OzgcloudMenuComponent } from '@alfa-client/ui';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MatMenuTrigger } from '@angular/material/menu';
 import { NoopAnimationsModule } from '@angular/platform-browser/animations';
-import {
-  DropdownMenuComponent,
-  DropdownMenuLinkItemComponent,
-  DropdownMenuTextItemComponent,
-  FileIconComponent,
-  HelpIconComponent,
-} from '@ods/system';
+import { DropdownMenuComponent, DropdownMenuLinkItemComponent, DropdownMenuTextItemComponent } from '@ods/system';
 import { createApiRootResource } from 'libs/api-root-shared/test/api-root';
 import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
 import { MockComponent } from 'ng-mocks';
@@ -60,8 +54,6 @@ describe('HelpMenuComponent', () => {
         MockComponent(DocumentationComponent),
         MockComponent(OzgcloudIconComponent),
         MockComponent(DocumentationComponent),
-        MockComponent(FileIconComponent),
-        MockComponent(HelpIconComponent),
         MockComponent(DropdownMenuTextItemComponent),
         MockComponent(DropdownMenuComponent),
         MockComponent(DropdownMenuLinkItemComponent),
diff --git a/alfa-client/libs/user-assistance/src/lib/user-assistance.module.ts b/alfa-client/libs/user-assistance/src/lib/user-assistance.module.ts
index f448be3a65..56c0c7c62f 100644
--- a/alfa-client/libs/user-assistance/src/lib/user-assistance.module.ts
+++ b/alfa-client/libs/user-assistance/src/lib/user-assistance.module.ts
@@ -21,22 +21,22 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-import { CommonModule } from '@angular/common';
 import { GetUrlPipe, HasLinkPipe } from '@alfa-client/tech-shared';
+import { OpenUrlButtonComponent } from '@alfa-client/ui';
+import { CommonModule } from '@angular/common';
 import { NgModule } from '@angular/core';
+import { MatFabButton } from '@angular/material/button';
+import { MatMenuTrigger } from '@angular/material/menu';
 import {
   DropdownMenuComponent,
   DropdownMenuLinkItemComponent,
   DropdownMenuTextItemComponent,
   FileIconComponent,
-  HelpIconComponent,
+  IconComponent,
 } from '@ods/system';
-import { MatFabButton } from '@angular/material/button';
-import { MatMenuTrigger } from '@angular/material/menu';
 import { DocumentationComponent } from './help-menu/documentation/documentation.component';
 import { HelpButtonComponent } from './help-menu/help-button/help-button.component';
 import { HelpMenuComponent } from './help-menu/help-menu.component';
-import { OpenUrlButtonComponent } from '@alfa-client/ui';
 
 @NgModule({
   imports: [
@@ -46,7 +46,7 @@ import { OpenUrlButtonComponent } from '@alfa-client/ui';
     GetUrlPipe,
     MatFabButton,
     FileIconComponent,
-    HelpIconComponent,
+    IconComponent,
     DropdownMenuComponent,
     DropdownMenuTextItemComponent,
     DropdownMenuLinkItemComponent,
-- 
GitLab