Skip to content
Snippets Groups Projects
Commit 1587c61d authored by Alexander Reifschneider's avatar Alexander Reifschneider
Browse files

OZG-7707 replace more icons

- office icon
- open link icon
parent 0e2a30d8
Branches
Tags
1 merge request!121OZG-7707 Replace icons
Showing
with 8 additions and 301 deletions
...@@ -69,6 +69,7 @@ describe('UserProfileButtonContainerComponent', () => { ...@@ -69,6 +69,7 @@ describe('UserProfileButtonContainerComponent', () => {
MockComponent(DropdownMenuComponent), MockComponent(DropdownMenuComponent),
MockComponent(DropdownMenuButtonItemComponent), MockComponent(DropdownMenuButtonItemComponent),
MockComponent(AdminUserLogoutButtonComponent), MockComponent(AdminUserLogoutButtonComponent),
MockComponent(DocumentationComponent),
], ],
providers: [ providers: [
{ {
......
...@@ -33,7 +33,6 @@ import { ...@@ -33,7 +33,6 @@ import {
ButtonComponent, ButtonComponent,
ExternalUnitIconComponent, ExternalUnitIconComponent,
IconComponent, IconComponent,
OfficeIconComponent,
PublicAdministrationIconComponent, PublicAdministrationIconComponent,
SaveIconComponent, SaveIconComponent,
SearchIconComponent, SearchIconComponent,
...@@ -65,7 +64,6 @@ import { CollaborationRequestFormComponent } from './collaboration-in-vorgang-co ...@@ -65,7 +64,6 @@ import { CollaborationRequestFormComponent } from './collaboration-in-vorgang-co
ReactiveFormsModule, ReactiveFormsModule,
ButtonWithSpinnerComponent, ButtonWithSpinnerComponent,
ZustaendigeStelleModule, ZustaendigeStelleModule,
OfficeIconComponent,
ExternalUnitIconComponent, ExternalUnitIconComponent,
PublicAdministrationIconComponent, PublicAdministrationIconComponent,
OrganisationsEinheitListItemContainerComponent, OrganisationsEinheitListItemContainerComponent,
......
...@@ -49,7 +49,6 @@ export * from './lib/icons/external-unit-icon/external-unit-icon.component'; ...@@ -49,7 +49,6 @@ export * from './lib/icons/external-unit-icon/external-unit-icon.component';
export * from './lib/icons/file-icon/file-icon.component'; export * from './lib/icons/file-icon/file-icon.component';
export * from './lib/icons/iconVariants'; export * from './lib/icons/iconVariants';
export * from './lib/icons/mailbox-icon/mailbox-icon.component'; export * from './lib/icons/mailbox-icon/mailbox-icon.component';
export * from './lib/icons/office-icon/office-icon.component';
export * from './lib/icons/orga-unit-icon/orga-unit-icon.component'; export * from './lib/icons/orga-unit-icon/orga-unit-icon.component';
export * from './lib/icons/ozg-logo-icon/ozg-logo-icon.component'; export * from './lib/icons/ozg-logo-icon/ozg-logo-icon.component';
export * from './lib/icons/person-icon/person-icon.component'; export * from './lib/icons/person-icon/person-icon.component';
......
...@@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; ...@@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing';
import { getMockComponent } from '@alfa-client/test-utils'; import { getMockComponent } from '@alfa-client/test-utils';
import { faker } from '@faker-js/faker'; import { faker } from '@faker-js/faker';
import { LinkComponent } from '@ods/system'; import { IconComponent, LinkComponent } from '@ods/system';
import { MockComponent } from 'ng-mocks'; import { MockComponent } from 'ng-mocks';
import { DropdownMenuLinkItemComponent } from './dropdown-menu-link-item.component'; import { DropdownMenuLinkItemComponent } from './dropdown-menu-link-item.component';
...@@ -12,7 +12,7 @@ describe('DropdownMenuLinkItemComponent', () => { ...@@ -12,7 +12,7 @@ describe('DropdownMenuLinkItemComponent', () => {
beforeEach(async () => { beforeEach(async () => {
await TestBed.configureTestingModule({ await TestBed.configureTestingModule({
imports: [DropdownMenuLinkItemComponent, MockComponent(LinkComponent)], imports: [DropdownMenuLinkItemComponent, MockComponent(LinkComponent), MockComponent(IconComponent)],
}).compileComponents(); }).compileComponents();
fixture = TestBed.createComponent(DropdownMenuLinkItemComponent); fixture = TestBed.createComponent(DropdownMenuLinkItemComponent);
......
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { Component, Input } from '@angular/core'; import { Component, Input } from '@angular/core';
import { OpenLinkIconComponent } from '../../icons/open-link-icon/open-link-icon.component'; import { IconComponent } from '../../icon/icon.component';
import { LinkComponent } from '../../link/link.component'; import { LinkComponent } from '../../link/link.component';
@Component({ @Component({
selector: 'ods-dropdown-menu-link-item', selector: 'ods-dropdown-menu-link-item',
standalone: true, standalone: true,
imports: [LinkComponent, OpenLinkIconComponent, CommonModule], imports: [LinkComponent, IconComponent, CommonModule],
template: `<div class="w-full bg-whitetext p-1.5"> template: `<div class="w-full bg-whitetext p-1.5">
<ods-link [url]="url" [openInNewTab]="true"> <ods-link [url]="url" [openInNewTab]="true">
<div class="flex min-w-80 gap-3 px-3 py-1.5"> <div class="flex min-w-80 gap-3 px-3 py-1.5">
...@@ -17,7 +17,7 @@ import { LinkComponent } from '../../link/link.component'; ...@@ -17,7 +17,7 @@ import { LinkComponent } from '../../link/link.component';
} }
<div class="flex items-center gap-2"> <div class="flex items-center gap-2">
<p class="text-sm font-normal text-primary">{{ text }}</p> <p class="text-sm font-normal text-primary">{{ text }}</p>
<ods-open-link-icon size="small" /> <ods-icon name="open-link" size="small" />
<span class="sr-only">Öffnet in einem neuen Tab</span> <span class="sr-only">Öffnet in einem neuen Tab</span>
</div> </div>
</div> </div>
......
/*
* 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 { OfficeIconComponent } from './office-icon.component';
describe('SaveIconComponent', () => {
let component: OfficeIconComponent;
let fixture: ComponentFixture<OfficeIconComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
imports: [OfficeIconComponent],
}).compileComponents();
fixture = TestBed.createComponent(OfficeIconComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
/*
* 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-office-icon',
standalone: true,
imports: [NgClass],
template: `<svg
[ngClass]="twMerge(iconVariants({ size }), 'fill-black', class)"
viewBox="0 0 24 24"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M2 21V4.75L7 1L12 4.75V7H22V21H2ZM4 19H6V17H4V19ZM4 15H6V13H4V15ZM4 11H6V9H4V11ZM4 7H6V5H4V7ZM8 7H10V5H8V7ZM8 19H20V9H8V19ZM14 13V11H18V13H14ZM14 17V15H18V17H14ZM10 13V11H12V13H10ZM10 17V15H12V17H10Z"
/>
</svg>`,
})
export class OfficeIconComponent {
@Input() size: IconVariants['size'] = 'medium';
@Input() class: string = undefined;
iconVariants = iconVariants;
twMerge = twMerge;
}
/*
* 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 { OfficeIconComponent } from './office-icon.component';
const meta: Meta<OfficeIconComponent> = {
title: 'Icons/Office icon',
component: OfficeIconComponent,
excludeStories: /.*Data$/,
tags: ['autodocs'],
};
export default meta;
type Story = StoryObj<OfficeIconComponent>;
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' },
},
},
},
};
/*
* 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 { OpenLinkIconComponent } from './open-link-icon.component';
describe('OpenLinkIconComponent', () => {
let component: OpenLinkIconComponent;
let fixture: ComponentFixture<OpenLinkIconComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
imports: [OpenLinkIconComponent],
}).compileComponents();
fixture = TestBed.createComponent(OpenLinkIconComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
/*
* 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-open-link-icon',
standalone: true,
imports: [NgClass],
template: `<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
[ngClass]="twMerge(iconVariants({ size }), 'fill-primary', class)"
aria-hidden="true"
>
<path
d="M5 21c-.55 0-1.02-.196-1.413-.587A1.926 1.926 0 0 1 3 19V5c0-.55.196-1.02.587-1.413A1.926 1.926 0 0 1 5 3h7v2H5v14h14v-7h2v7c0 .55-.196 1.02-.587 1.413A1.926 1.926 0 0 1 19 21H5Zm4.7-5.3-1.4-1.4L17.6 5H14V3h7v7h-2V6.4l-9.3 9.3Z"
/>
</svg>`,
})
export class OpenLinkIconComponent {
@Input() size: IconVariants['size'] = 'medium';
@Input() class: string = undefined;
readonly iconVariants = iconVariants;
readonly twMerge = twMerge;
}
/*
* 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 { OpenLinkIconComponent } from './open-link-icon.component';
const meta: Meta<OpenLinkIconComponent> = {
title: 'Icons/Open link icon',
component: OpenLinkIconComponent,
excludeStories: /.*Data$/,
tags: ['autodocs'],
};
export default meta;
type Story = StoryObj<OpenLinkIconComponent>;
export const Default: Story = {
args: { size: 'medium' },
argTypes: {
size: {
control: 'select',
options: ['small', 'medium', 'large', 'extra-large', 'full'],
description: 'Size of icon. Property "full" means 100%',
table: {
defaultValue: { summary: 'medium' },
},
},
},
};
...@@ -25,7 +25,6 @@ import { APP_BASE_HREF } from '@angular/common'; ...@@ -25,7 +25,6 @@ import { APP_BASE_HREF } from '@angular/common';
import { importProvidersFrom } from '@angular/core'; import { importProvidersFrom } from '@angular/core';
import { RouterModule } from '@angular/router'; import { RouterModule } from '@angular/router';
import { applicationConfig, moduleMetadata, type Meta, type StoryObj } from '@storybook/angular'; import { applicationConfig, moduleMetadata, type Meta, type StoryObj } from '@storybook/angular';
import { OfficeIconComponent } from '../../icons/office-icon/office-icon.component';
import { NavItemComponent } from '../nav-item/nav-item.component'; import { NavItemComponent } from '../nav-item/nav-item.component';
import { NavbarComponent } from './navbar.component'; import { NavbarComponent } from './navbar.component';
...@@ -39,7 +38,7 @@ const meta: Meta<NavbarComponent> = { ...@@ -39,7 +38,7 @@ const meta: Meta<NavbarComponent> = {
providers: [importProvidersFrom(RouterModule.forRoot([]))], providers: [importProvidersFrom(RouterModule.forRoot([]))],
}), }),
moduleMetadata({ moduleMetadata({
imports: [NavItemComponent, OfficeIconComponent], imports: [NavItemComponent],
providers: [ providers: [
{ {
provide: APP_BASE_HREF, provide: APP_BASE_HREF,
...@@ -57,6 +56,7 @@ export const Default: Story = { ...@@ -57,6 +56,7 @@ export const Default: Story = {
args: {}, args: {},
render: () => ({ render: () => ({
template: `<ods-navbar> template: `<ods-navbar>
//TODO OZG-7077
<ods-nav-item caption="First link" path="/"><ods-office-icon icon /></ods-nav-item> <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="Second link" path="/second"><ods-office-icon icon /></ods-nav-item>
<hr /> <hr />
......
...@@ -29,7 +29,6 @@ import { ...@@ -29,7 +29,6 @@ import {
ExternalUnitIconComponent, ExternalUnitIconComponent,
IconComponent, IconComponent,
InstantSearchComponent, InstantSearchComponent,
OfficeIconComponent,
PublicAdministrationIconComponent, PublicAdministrationIconComponent,
SearchIconComponent, SearchIconComponent,
} from '@ods/system'; } from '@ods/system';
...@@ -53,7 +52,6 @@ import { ZustaendigeStelleHeaderComponent } from './zustaendige-stelle-header/zu ...@@ -53,7 +52,6 @@ import { ZustaendigeStelleHeaderComponent } from './zustaendige-stelle-header/zu
FormsModule, FormsModule,
ReactiveFormsModule, ReactiveFormsModule,
ZustaendigeStelleSharedModule, ZustaendigeStelleSharedModule,
OfficeIconComponent,
SearchIconComponent, SearchIconComponent,
ExternalUnitIconComponent, ExternalUnitIconComponent,
IconComponent, IconComponent,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment