diff --git a/alfa-client/libs/design-system/.storybook/preview.ts b/alfa-client/libs/design-system/.storybook/preview.ts
index d57171a4c3eea38e3c946daa2bbc42124a3cde87..3c1f85a5675655fcfc60d365ed14751832b4a9a3 100644
--- a/alfa-client/libs/design-system/.storybook/preview.ts
+++ b/alfa-client/libs/design-system/.storybook/preview.ts
@@ -21,13 +21,21 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-import { Preview } from '@storybook/angular';
+import { provideHttpClient } from '@angular/common/http';
+import { provideZoneChangeDetection } from '@angular/core';
+import { applicationConfig, Preview } from '@storybook/angular';
+import { provideAngularSvgIcon } from 'angular-svg-icon';
 
 const preview: Preview = {
   globalTypes: {
     darkMode: { defaultValue: false },
   },
+  decorators: [
+    applicationConfig({
+      providers: [provideZoneChangeDetection({ eventCoalescing: true }), provideHttpClient(), provideAngularSvgIcon()],
+    }),
+  ],
 
-  tags: ['autodocs']
+  tags: ['autodocs'],
 };
 export default preview;
diff --git a/alfa-client/libs/design-system/project.json b/alfa-client/libs/design-system/project.json
index bc681e80f5d762322adf47a62dba25464c0a7a0d..d5d0f6b7252ba57792da4fe1b9babdba50897a01 100644
--- a/alfa-client/libs/design-system/project.json
+++ b/alfa-client/libs/design-system/project.json
@@ -25,7 +25,14 @@
         "configDir": "libs/design-system/.storybook",
         "browserTarget": "design-system:build-storybook",
         "compodoc": false,
-        "styles": ["libs/design-system/.storybook/styles.scss"]
+        "styles": ["libs/design-system/.storybook/styles.scss"],
+        "assets": [
+          {
+            "input": "libs/design-system/src/assets",
+            "glob": "**/*",
+            "output": "assets/icons"
+          }
+        ]
       },
       "configurations": {
         "ci": {
@@ -41,7 +48,14 @@
         "configDir": "libs/design-system/.storybook",
         "browserTarget": "design-system:build-storybook",
         "compodoc": false,
-        "styles": ["libs/design-system/.storybook/styles.scss"]
+        "styles": ["libs/design-system/.storybook/styles.scss"],
+        "assets": [
+          {
+            "input": "libs/design-system/src/assets",
+            "glob": "**/*",
+            "output": "assets/icons"
+          }
+        ]
       },
       "configurations": {
         "ci": {
@@ -58,9 +72,7 @@
         "metadata": {
           "images": ["docker.ozg-sh.de/storybook"],
           "load": true,
-          "tags": [
-            "build-latest"
-          ]
+          "tags": ["build-latest"]
         }
       }
     }
diff --git a/alfa-client/libs/design-system/src/lib/attachment-header/attachment-header.stories.ts b/alfa-client/libs/design-system/src/lib/attachment-header/attachment-header.stories.ts
index 6ab4a39444a60e22fa59c6350f5e4d1583fa7106..99c277f893f236b63b6858a1915a39dc16715df1 100644
--- a/alfa-client/libs/design-system/src/lib/attachment-header/attachment-header.stories.ts
+++ b/alfa-client/libs/design-system/src/lib/attachment-header/attachment-header.stories.ts
@@ -24,6 +24,7 @@
 import { argsToTemplate, moduleMetadata, type Meta, type StoryObj } from '@storybook/angular';
 
 import { AttachmentComponent } from '../attachment/attachment.component';
+import { IconComponent } from '../icon/icon.component';
 import { AttachmentHeaderComponent } from './attachment-header.component';
 
 const meta: Meta<AttachmentHeaderComponent> = {
@@ -38,7 +39,7 @@ const meta: Meta<AttachmentHeaderComponent> = {
   },
   decorators: [
     moduleMetadata({
-      imports: [AttachmentHeaderComponent, AttachmentComponent],
+      imports: [AttachmentHeaderComponent, AttachmentComponent, IconComponent],
     }),
   ],
   excludeStories: /.*Data$/,
@@ -61,8 +62,7 @@ export const Default: Story = {
     props: args,
     template: `<ods-attachment-header ${argsToTemplate(args)}>
         <button action-buttons>
-        //TODO OZG-7707
-          <ods-save-icon size="small" class="fill-text" />
+          <ods-icon name="save" size="small" fill="text" />
         </button>
     </ods-attachment-header>`,
   }),
diff --git a/alfa-client/libs/design-system/src/lib/attachment-wrapper/attachment-wrapper.stories.ts b/alfa-client/libs/design-system/src/lib/attachment-wrapper/attachment-wrapper.stories.ts
index 4ea7a26b7956c2a1d0ca00a389e1748221d891a5..96ca28e29ee7e8859a845d566178f456f9531a6d 100644
--- a/alfa-client/libs/design-system/src/lib/attachment-wrapper/attachment-wrapper.stories.ts
+++ b/alfa-client/libs/design-system/src/lib/attachment-wrapper/attachment-wrapper.stories.ts
@@ -25,6 +25,7 @@ import { moduleMetadata, type Meta, type StoryObj } from '@storybook/angular';
 
 import { AttachmentHeaderComponent } from '../attachment-header/attachment-header.component';
 import { AttachmentComponent } from '../attachment/attachment.component';
+import { IconComponent } from '../icon/icon.component';
 import { AttachmentWrapperComponent } from './attachment-wrapper.component';
 
 const meta: Meta<AttachmentWrapperComponent> = {
@@ -39,7 +40,7 @@ const meta: Meta<AttachmentWrapperComponent> = {
   },
   decorators: [
     moduleMetadata({
-      imports: [AttachmentWrapperComponent, AttachmentComponent, AttachmentHeaderComponent],
+      imports: [AttachmentWrapperComponent, AttachmentComponent, AttachmentHeaderComponent, IconComponent],
     }),
   ],
   excludeStories: /.*Data$/,
@@ -54,8 +55,7 @@ export const Default: Story = {
     template: `<ods-attachment-wrapper>
         <ods-attachment-header title="Anhänge">
           <button action-buttons>
-          //TODO OZG-7707
-            <ods-save-icon size="small" class="fill-text" />
+            <ods-icon name="save" size="small" fill="text" />
           </button>
         </ods-attachment-header>
         <ods-attachment caption="Attachment" description="200 kB" fileType="pdf"></ods-attachment>
diff --git a/alfa-client/libs/design-system/src/lib/button-card/button-card.stories.ts b/alfa-client/libs/design-system/src/lib/button-card/button-card.stories.ts
index 86908c6adceb4ff9f3120a8880a4451eb6221442..f741322f7f4ca7529f52f5ace8a27929d800735a 100644
--- a/alfa-client/libs/design-system/src/lib/button-card/button-card.stories.ts
+++ b/alfa-client/libs/design-system/src/lib/button-card/button-card.stories.ts
@@ -23,6 +23,7 @@
  */
 import { argsToTemplate, moduleMetadata, type Meta, type StoryObj } from '@storybook/angular';
 
+import { IconComponent } from '../icon/icon.component';
 import { ButtonCardComponent } from './button-card.component';
 
 const meta: Meta<ButtonCardComponent> = {
@@ -37,7 +38,7 @@ const meta: Meta<ButtonCardComponent> = {
   },
   decorators: [
     moduleMetadata({
-      imports: [ButtonCardComponent],
+      imports: [ButtonCardComponent, IconComponent],
     }),
   ],
   excludeStories: /.*Data$/,
@@ -60,8 +61,7 @@ export const Default: Story = {
   render: (args: ButtonCardComponent) => ({
     props: args,
     template: `<ods-button-card ${argsToTemplate(args)} class="w-72">
-        //TODO OZG-7707
-        <ods-bescheid-generate-icon icon fileType="auto"></ods-bescheid-generate-icon>
+        <ods-icon icon name="bescheid-generate" fill="pdf" size="extra-large" />
       </ods-button-card>`,
   }),
 };
diff --git a/alfa-client/libs/design-system/src/lib/button/button.stories.ts b/alfa-client/libs/design-system/src/lib/button/button.stories.ts
index fa8a838ccf850cc094f5b32a2bdfa08abbddf71e..45acb55a32a841382d3ed5ab201a7ea917ccfe25 100644
--- a/alfa-client/libs/design-system/src/lib/button/button.stories.ts
+++ b/alfa-client/libs/design-system/src/lib/button/button.stories.ts
@@ -23,6 +23,7 @@
  */
 import { argsToTemplate, moduleMetadata, type Meta, type StoryObj } from '@storybook/angular';
 
+import { IconComponent } from '../icon/icon.component';
 import { ButtonComponent } from './button.component';
 
 const meta: Meta<ButtonComponent> = {
@@ -30,7 +31,7 @@ const meta: Meta<ButtonComponent> = {
   component: ButtonComponent,
   decorators: [
     moduleMetadata({
-      imports: [ButtonComponent],
+      imports: [ButtonComponent, IconComponent],
     }),
   ],
   excludeStories: /.*Data$/,
@@ -80,8 +81,7 @@ export const PrimaryWithIcon: Story = {
   render: (args) => ({
     props: args,
     template: `<ods-button ${argsToTemplate(args)}>
-        //TODO OZG-7707
-      <ods-save-icon icon size="small" class="fill-whitetext" />
+      <ods-icon icon name="save" size="small" fill="whitetext" />
     </ods-button>`,
   }),
 };
@@ -94,7 +94,7 @@ export const SecondaryWithIcon: Story = {
   render: (args) => ({
     props: args,
     template: `<ods-button ${argsToTemplate(args)}>
-      <ods-save-icon icon size="small" />
+      <ods-icon icon name="save" size="small" />
     </ods-button>`,
   }),
 };
@@ -107,7 +107,7 @@ export const SecondaryIconOnly: Story = {
   render: (args) => ({
     props: args,
     template: `<ods-button ${argsToTemplate(args)}>
-      <ods-save-icon icon size="small" />
+      <ods-icon icon name="save" size="small" />
     </ods-button>`,
   }),
 };
@@ -134,7 +134,7 @@ export const GhostIcon: Story = {
   render: (args) => ({
     props: args,
     template: `<ods-button ${argsToTemplate(args)}>
-      <ods-save-icon icon size='medium' />
+      <ods-icon icon name="save" />
     </ods-button>`,
   }),
 };
@@ -148,7 +148,7 @@ export const GhostIconDestructive: Story = {
   render: (args) => ({
     props: args,
     template: `<ods-button ${argsToTemplate(args)}>
-      <ods-save-icon icon size='medium' class="fill-destructive" />
+      <ods-icon icon name="save" fill="destructive" />
     </ods-button>`,
   }),
 };
@@ -162,7 +162,7 @@ export const GhostLoadingIcon: Story = {
   render: (args) => ({
     props: args,
     template: `<ods-button ${argsToTemplate(args)}>
-      <ods-save-icon icon size='medium' />
+      <ods-icon icon name="save" />
     </ods-button>`,
   }),
 };
diff --git a/alfa-client/libs/design-system/src/lib/dropdown-menu/dropdown-menu/dropdown-menu.stories.ts b/alfa-client/libs/design-system/src/lib/dropdown-menu/dropdown-menu/dropdown-menu.stories.ts
index 0f0a475073d758e8ebc9063bf7727540c8708ddd..5c81f238c6c862110789d4642f846727db6e2120 100644
--- a/alfa-client/libs/design-system/src/lib/dropdown-menu/dropdown-menu/dropdown-menu.stories.ts
+++ b/alfa-client/libs/design-system/src/lib/dropdown-menu/dropdown-menu/dropdown-menu.stories.ts
@@ -23,6 +23,7 @@
  */
 import { argsToTemplate, componentWrapperDecorator, moduleMetadata, type Meta, type StoryObj } from '@storybook/angular';
 
+import { IconComponent } from '../../icon/icon.component';
 import { DropdownMenuButtonItemComponent } from '../dropdown-menu-button-item/dropdown-menu-button-item.component';
 import { DropdownMenuItemComponent } from '../dropdown-menu-item/dropdown-menu-item.component';
 import { DropdownMenuTextItemComponent } from '../dropdown-menu-text-item/dropdown-menu-text-item.component';
@@ -33,7 +34,13 @@ const meta: Meta<DropdownMenuComponent> = {
   component: DropdownMenuComponent,
   decorators: [
     moduleMetadata({
-      imports: [DropdownMenuComponent, DropdownMenuItemComponent, DropdownMenuButtonItemComponent, DropdownMenuTextItemComponent],
+      imports: [
+        DropdownMenuComponent,
+        DropdownMenuItemComponent,
+        DropdownMenuButtonItemComponent,
+        DropdownMenuTextItemComponent,
+        IconComponent,
+      ],
     }),
     componentWrapperDecorator((story) => `<div class="flex justify-center mb-32">${story}</div>`),
   ],
@@ -60,8 +67,7 @@ export const Button: Story = {
   render: (args) => ({
     props: args,
     template: `<ods-dropdown-menu ${argsToTemplate(args)}>
-        //TODO OZG-7707
-        <ods-user-icon button-content />
+        <ods-icon button-content name="user" size="extra-large" fill="neutral" />
         <ods-dropdown-menu-button-item caption="Lorem" />
         <ods-dropdown-menu-button-item caption="Ipsum" />
         <ods-dropdown-menu-button-item caption="Dolor" />
@@ -86,11 +92,10 @@ export const ButtonWithIcon: Story = {
     template: `<ods-dropdown-menu ${argsToTemplate(args)}>
         <p button-content>Trigger menu</p>
         <ods-dropdown-menu-button-item caption="Lorem">
-        //TODO OZG-7707
-          <ods-save-icon icon size="small" />
+          <ods-icon icon name="save" size="small" />
         </ods-dropdown-menu-button-item>
         <ods-dropdown-menu-button-item caption="Lorem ipsum dolor sit amet">
-          <ods-save-icon icon size="small" />
+          <ods-icon icon name="save" size="small" />
         </ods-dropdown-menu-button-item>
       </ods-dropdown-menu>`,
   }),
@@ -104,10 +109,10 @@ export const StructuredContent: Story = {
         <ods-dropdown-menu-text-item title="Item 1" description="The quick brown fox jumps over the lazy dog">
         </ods-dropdown-menu-text-item>
         <ods-dropdown-menu-text-item title="Item 2" description="The quick brown fox jumps over the lazy dog">
-          <ods-save-icon icon size="large" />
+          <ods-icon icon name="save" size="large" />
         </ods-dropdown-menu-text-item>
         <ods-dropdown-menu-text-item title="Item 3" description="The quick brown fox jumps over the lazy dog">
-          <ods-save-icon icon size="large" />
+          <ods-icon icon name="save" size="large" />
           <button additionalContent class="border">Button</button>
         </ods-dropdown-menu-text-item>
       </ods-dropdown-menu>`,
@@ -120,7 +125,9 @@ export const AnyContent: Story = {
     template: `<ods-dropdown-menu ${argsToTemplate(args)}>
         <p button-content>Trigger menu</p>
         <ods-dropdown-menu-item class="border-t">Item 1</ods-dropdown-menu-item>
-        <ods-dropdown-menu-item class="border-t border-b"><ods-save-icon size="small" /> Text <ods-save-icon size="large" /></ods-dropdown-menu-item>
+        <ods-dropdown-menu-item class="border-t border-b">
+          <ods-icon icon name="save" size="small" /> Text <ods-icon icon name="save" size="large" />
+        </ods-dropdown-menu-item>
       </ods-dropdown-menu>`,
   }),
 };
diff --git a/alfa-client/libs/design-system/src/lib/form/file-upload-button/file-upload-button.stories.ts b/alfa-client/libs/design-system/src/lib/form/file-upload-button/file-upload-button.stories.ts
index 5dd83fb819a2702ecad896a7131b2147ae2aa29b..b4ca47e18d7c5775623c02098fc8a849642d48dd 100644
--- a/alfa-client/libs/design-system/src/lib/form/file-upload-button/file-upload-button.stories.ts
+++ b/alfa-client/libs/design-system/src/lib/form/file-upload-button/file-upload-button.stories.ts
@@ -24,7 +24,7 @@
 import { CommonModule } from '@angular/common';
 import { argsToTemplate, moduleMetadata, type Meta, type StoryObj } from '@storybook/angular';
 
-import { AttachmentIconComponent } from '../../icons/attachment-icon/attachment-icon.component';
+import { IconComponent } from '../../icon/icon.component';
 import { SpinnerIconComponent } from '../../icons/spinner-icon/spinner-icon.component';
 import { FileUploadButtonComponent } from './file-upload-button.component';
 
@@ -33,7 +33,7 @@ const meta: Meta<FileUploadButtonComponent> = {
   component: FileUploadButtonComponent,
   decorators: [
     moduleMetadata({
-      imports: [CommonModule, FileUploadButtonComponent, AttachmentIconComponent, SpinnerIconComponent],
+      imports: [CommonModule, FileUploadButtonComponent, SpinnerIconComponent, IconComponent],
     }),
   ],
   excludeStories: /.*Data$/,
@@ -51,8 +51,7 @@ export const Upload: Story = {
   render: (args: FileUploadButtonComponent) => ({
     props: args,
     template: `<ods-file-upload-button ${argsToTemplate(args)}>
-      // TODO OZG-7707
-      <ods-attachment-icon icon></ods-attachment-icon>
+      <ods-icon icon name="attachment" />
       <ods-spinner-icon spinner size="medium"></ods-spinner-icon>
       <p text>Anhang hochladen</p>
     </ods-file-upload-button>`,
diff --git a/alfa-client/libs/design-system/src/lib/form/radio-button-card/radio-button-card.stories.ts b/alfa-client/libs/design-system/src/lib/form/radio-button-card/radio-button-card.stories.ts
index c198e906ad669ba0fd2aa3737b185ed54f159129..7d60189700568a9c5549420430195bc55b44782b 100644
--- a/alfa-client/libs/design-system/src/lib/form/radio-button-card/radio-button-card.stories.ts
+++ b/alfa-client/libs/design-system/src/lib/form/radio-button-card/radio-button-card.stories.ts
@@ -25,6 +25,7 @@ import { CommonModule } from '@angular/common';
 import { FormGroupDirective } from '@angular/forms';
 import { argsToTemplate, moduleMetadata, type Meta, type StoryObj } from '@storybook/angular';
 
+import { IconComponent } from '../../icon/icon.component';
 import { RadioButtonCardComponent } from './radio-button-card.component';
 
 const meta: Meta<RadioButtonCardComponent> = {
@@ -32,7 +33,7 @@ const meta: Meta<RadioButtonCardComponent> = {
   component: RadioButtonCardComponent,
   decorators: [
     moduleMetadata({
-      imports: [CommonModule, RadioButtonCardComponent],
+      imports: [CommonModule, RadioButtonCardComponent, IconComponent],
       providers: [FormGroupDirective],
     }),
   ],
@@ -57,8 +58,7 @@ export const Default: Story = {
     <ods-radio-button-card
       ${argsToTemplate(args)}
     >
-      //TODO OZG-7707
-      <ods-stamp-icon />
+      <ods-icon name="stamp" fill="bewilligt" />
     </ods-radio-button-card>
     <ods-radio-button-card
       label="abgelehnt"
@@ -66,8 +66,7 @@ export const Default: Story = {
       value="abgelehnt"
       variant="bescheid_abgelehnt"
     >
-      //TODO OZG-7707
-      <ods-close-icon class="fill-abgelehnt" size="large" />
+      <ods-icon name="close" fill="abgelehnt" size="large" />
     </ods-radio-button-card>
   </div>`,
   }),
@@ -92,20 +91,18 @@ export const Message: Story = {
         name="nachrichtOrManual"
         variant="bescheid_save"
         [fullWidthText]="true"
-        >
-        //TODO OZG-7707
-          <ods-send-icon></ods-send-icon
-      ></ods-radio-button-card>
+      >
+        <ods-icon name="send" />
+      </ods-radio-button-card>
       <ods-radio-button-card
         label="Nur speichern"
         value="MANUAL"
         name="nachrichtOrManual"
         variant="bescheid_save"
         [fullWidthText]="true"
-        >
-          //TODO OZG-7707
-          <ods-save-icon></ods-save-icon
-      ></ods-radio-button-card>
+      >
+        <ods-icon name="save" />
+      </ods-radio-button-card>
   </div>`,
   }),
 };
diff --git a/alfa-client/libs/design-system/src/lib/icon/icon.component.ts b/alfa-client/libs/design-system/src/lib/icon/icon.component.ts
index 835fe41dfa94a32686e8ec09d8ac0818f06d65c1..0c4b0f5f3ff4b8828cbfd90ad946d212782926c1 100644
--- a/alfa-client/libs/design-system/src/lib/icon/icon.component.ts
+++ b/alfa-client/libs/design-system/src/lib/icon/icon.component.ts
@@ -46,6 +46,7 @@ const iconVariants = cva('', {
       neutral: 'fill-neutral-500 dark:fill-neutral-400',
       bewilligt: 'fill-bewilligt',
       abgelehnt: 'fill-abgelehnt',
+      destructive: 'fill-destructive',
     },
   },
 });
diff --git a/alfa-client/libs/design-system/src/lib/icon/icon.stories.ts b/alfa-client/libs/design-system/src/lib/icon/icon.stories.ts
index 6f92ea55f26a052607f3858f7bc957449d4782e4..9dca7ffa6b29759768a9f714bce77f411d2069b3 100644
--- a/alfa-client/libs/design-system/src/lib/icon/icon.stories.ts
+++ b/alfa-client/libs/design-system/src/lib/icon/icon.stories.ts
@@ -23,23 +23,114 @@
  */
 import { moduleMetadata, type Meta, type StoryObj } from '@storybook/angular';
 
+import { CommonModule } from '@angular/common';
 import { IconComponent } from './icon.component';
 
 const meta: Meta<IconComponent> = {
   title: 'Icon',
+  parameters: {
+    docs: {
+      description: {
+        component: 'Generic icon component',
+      },
+    },
+  },
   component: IconComponent,
   decorators: [
     moduleMetadata({
-      imports: [IconComponent],
+      imports: [IconComponent, CommonModule],
     }),
   ],
   excludeStories: /.*Data$/,
   tags: ['autodocs'],
 };
 
+const ICONS_LIST: string[] = [
+  'accessibility',
+  'account-circle',
+  'admin-logo',
+  'archive',
+  'arrow-back',
+  'attachment',
+  'bescheid-generate',
+  'bescheid-upload',
+  'check-circle',
+  'check',
+  'close',
+  'delete-vorgang-finally',
+  'delete',
+  'discard-vorgang',
+  'edit',
+  'error',
+  'exclamation',
+  'external-unit',
+  'forward-vorgang',
+  'help',
+  'info',
+  'logout',
+  'mailbox',
+  'more',
+  'office',
+  'open-link',
+  'orga-unit',
+  'ozg-logo',
+  'person',
+  'plus',
+  'public-administration',
+  'request-vorgang-deletion',
+  'save',
+  'search',
+  'send',
+  'settings',
+  'stamp',
+  'statistic',
+  'undo-request-vorgang-deletion',
+  'undo',
+  'update',
+  'user',
+  'users',
+];
+const stringifiedIcons: string = JSON.stringify(ICONS_LIST);
+
 export default meta;
 type Story = StoryObj<IconComponent>;
 
 export const Default: Story = {
-  args: {},
+  args: {
+    name: 'mailbox',
+    size: 'extra-large',
+    fill: 'primary',
+    class: '',
+  },
+  argTypes: {
+    name: { description: 'Name of the icon' },
+    size: {
+      description: 'Size of the icon. "Full" stands for 100%',
+      control: 'select',
+      options: ['small', 'medium', 'large', 'extra-large', 'xxl', 'full'],
+      table: { defaultValue: { summary: 'medium' } },
+    },
+    fill: {
+      description: 'Fill color of the icon',
+      control: 'select',
+      options: ['primary', 'text', 'whitetext', 'neutral', 'error', 'pdf', 'bewilligt', 'abgelehnt'],
+      table: { defaultValue: { summary: 'primary' } },
+    },
+    class: { description: 'Additional (tailwind) classes for the icon' },
+  },
+};
+
+export const AllIcons: Story = {
+  render: () => {
+    return {
+      template: `<div class="flex gap-6 w-full flex-wrap justify-around">
+        @for (icon of ${stringifiedIcons}; track $index) {
+          <div class="flex flex-col items-center">
+            <ods-icon [name]="icon" size="extra-large" />
+            <p class="text-pretty">{{ icon }}</p>
+          </div>
+        }
+      </div>`,
+    };
+  },
 };
diff --git a/alfa-client/libs/design-system/src/lib/link/link.stories.ts b/alfa-client/libs/design-system/src/lib/link/link.stories.ts
index f4cad5258e5bc811593066f13a2fa7b844dbcd58..ebf0cb95701c759ff76fa44f4bae8697b61dff7c 100644
--- a/alfa-client/libs/design-system/src/lib/link/link.stories.ts
+++ b/alfa-client/libs/design-system/src/lib/link/link.stories.ts
@@ -1,6 +1,6 @@
 import { argsToTemplate, moduleMetadata, type Meta, type StoryObj } from '@storybook/angular';
 
-import { AccessibilityIconComponent } from '../icons/accessibility-icon/accessibility-icon.component';
+import { IconComponent } from '../icon/icon.component';
 import { LinkComponent } from './link.component';
 
 const meta: Meta<LinkComponent> = {
@@ -8,7 +8,7 @@ const meta: Meta<LinkComponent> = {
   component: LinkComponent,
   decorators: [
     moduleMetadata({
-      imports: [LinkComponent, AccessibilityIconComponent],
+      imports: [LinkComponent, IconComponent],
     }),
   ],
   excludeStories: /.*Data$/,
@@ -30,7 +30,7 @@ export const Default: Story = {
   },
   render: (args) => ({
     props: args,
-    template: `<ods-link ${argsToTemplate(args)}>
+    template: `<ods-link ${argsToTemplate(args)} class="w-fit">
       Link with text
     </ods-link>`,
   }),
@@ -43,8 +43,8 @@ export const WithIcon: Story = {
   },
   render: (args) => ({
     props: args,
-    template: `<ods-link ${argsToTemplate(args)}>
-      <ods-accessibility-icon size="large" />
+    template: `<ods-link ${argsToTemplate(args)} class="w-fit">
+      <ods-icon name="accessibility" size="large" />
     </ods-link>`,
   }),
 };
diff --git a/alfa-client/libs/design-system/src/lib/navbar/navbar/navbar.stories.ts b/alfa-client/libs/design-system/src/lib/navbar/navbar/navbar.stories.ts
index 00bdcbaf4c9c016b71970e5ef880c514e0a40712..20911e3aa601b25c0b8014d5b92e6d4d54f00b76 100644
--- a/alfa-client/libs/design-system/src/lib/navbar/navbar/navbar.stories.ts
+++ b/alfa-client/libs/design-system/src/lib/navbar/navbar/navbar.stories.ts
@@ -25,6 +25,7 @@ import { APP_BASE_HREF } from '@angular/common';
 import { importProvidersFrom } from '@angular/core';
 import { RouterModule } from '@angular/router';
 import { applicationConfig, moduleMetadata, type Meta, type StoryObj } from '@storybook/angular';
+import { IconComponent } from '../../icon/icon.component';
 import { NavItemComponent } from '../nav-item/nav-item.component';
 import { NavbarComponent } from './navbar.component';
 
@@ -38,7 +39,7 @@ const meta: Meta<NavbarComponent> = {
       providers: [importProvidersFrom(RouterModule.forRoot([]))],
     }),
     moduleMetadata({
-      imports: [NavItemComponent],
+      imports: [NavItemComponent, IconComponent],
       providers: [
         {
           provide: APP_BASE_HREF,
@@ -56,11 +57,10 @@ export const Default: Story = {
   args: {},
   render: () => ({
     template: `<ods-navbar>
-    //TODO OZG-7077
-      <ods-nav-item caption="First link" path="/"><ods-office-icon icon /></ods-nav-item>
-      <ods-nav-item caption="Second link" path="/second"><ods-office-icon icon /></ods-nav-item>
+      <ods-nav-item caption="First link" path="/"><ods-icon icon name="office" /></ods-nav-item>
+      <ods-nav-item caption="Second link" path="/second"><ods-icon icon name="office" /></ods-nav-item>
       <hr />
-      <ods-nav-item caption="Third link" path="/third"><ods-office-icon icon /></ods-nav-item>
+      <ods-nav-item caption="Third link" path="/third"><ods-icon icon name="office" /></ods-nav-item>
     </ods-navbar>`,
   }),
 };