Skip to content

Commit

Permalink
Merge branch 'main' into 3546-lead-text-add-styles-for-the-lead-text-…
Browse files Browse the repository at this point in the history
…component
  • Loading branch information
bashirkarimi authored Sep 25, 2024
2 parents 330aaa5 + 8c78c13 commit 1c07f7c
Show file tree
Hide file tree
Showing 7 changed files with 206 additions and 3 deletions.
5 changes: 5 additions & 0 deletions .changeset/lemon-clocks-clean.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@swisspost/design-system-documentation': minor
---

Added documentation outlining the mission statement of the Design System.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@
## Packages

| Name | Description | Version | Changelog URL |
| :------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------- |
| :------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |:------------------------------------------------------------------------------|
| [Styles](https://design-system.post.ch/?path=/docs/e53e2de8-0bbf-4f70-babc-074c5466f700--docs) | The styling package, including theming for [Bootstrap](https://getbootstrap.com/) and [ng-bootstrap](https://ng-bootstrap.github.io/#/home) components. | [![Styles pacakge version shield for npm](https://img.shields.io/npm/v/%40swisspost%2Fdesign-system-styles?style=flat-square&logo=npm&label=%20&color=%23fc0)](https://www.npmjs.com/package/@swisspost/design-system-styles) | [Styles changelog](/packages/styles/CHANGELOG.md) |
| [Components](https://design-system.post.ch/?path=/docs/edfb619b-fda1-4570-bf25-20830303d483--docs) | A set of standard web components for easy integration with every framework or no framework at all. | [![Components package version shield for npm](https://img.shields.io/npm/v/%40swisspost%2Fdesign-system-components?style=flat-square&logo=npm&label=%20&color=%23fc0)](https://www.npmjs.com/package/@swisspost/design-system-components) | [Components changelog](/packages/components/CHANGELOG.md) |
| [Internet Header](https://design-system.post.ch/?path=/docs/9b02bcb2-3b6a-4271-b550-675a62ff3890--docs) | The header for client facing applications. | [![Internet Header package version shield for npm](https://img.shields.io/npm/v/%40swisspost%2Finternet-header?style=flat-square&logo=npm&label=%20&color=%23fc0)](https://www.npmjs.com/package/@swisspost/internet-header) | [Interet Header changelog](/packages/internet-header/CHANGELOG.md) |
| [Internet Header](https://design-system.post.ch/?path=/docs/9b02bcb2-3b6a-4271-b550-675a62ff3890--docs) | The header for client facing applications. | [![Internet Header package version shield for npm](https://img.shields.io/npm/v/%40swisspost%2Finternet-header?style=flat-square&logo=npm&label=%20&color=%23fc0)](https://www.npmjs.com/package/@swisspost/internet-header) | [Internet Header changelog](/packages/internet-header/CHANGELOG.md) |
| [Intranet Header](https://design-system.post.ch/?path=/docs/d59a459b-6f14-47c6-9f98-a36a3f79a6e3--docs) | The Angular component for internal usage. | [![Intranet Header package version shield for npm](https://img.shields.io/npm/v/%40swisspost%2Fdesign-system-intranet-header?style=flat-square&logo=npm&label=%20&color=%23fc0)](https://www.npmjs.com/package/@swisspost/design-system-intranet-header) | [Intranet Header changelog](/packages/intranet-header-workspace/CHANGELOG.md) |
| [Icons](https://design-system.post.ch/?path=/docs/40ed323b-9c1a-42ab-91ed-15f97f214608--docs) | A collection of Post icons in svg format. | [![Icons package version shield for npm](https://img.shields.io/npm/v/%40swisspost%2Fdesign-system-icons?style=flat-square&logo=npm&label=%20&color=%23fc0)](https://www.npmjs.com/package/@swisspost/design-system-icons) | [Icons changelog](/packages/icons/CHANGELOG.md) |

Expand Down
10 changes: 9 additions & 1 deletion packages/documentation/.storybook/preview.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,15 @@ const preview: Preview = {

// Category - Getting Started
'Getting Started',
['Introduction', 'Angular', 'Compatibility', 'Packages', 'Changelogs', 'Migration Guide'],
[
'Introduction',
'Mission',
'Angular',
'Compatibility',
'Packages',
'Changelogs',
'Migration Guide',
],

// Category - Foundations
'Foundations',
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
interface Role {
role: string;
description: string;
}

interface Stakeholder {
role: string;
}

interface TeamMembers {
name: string;
icon: string;
}

export const stakeholders: Stakeholder[] = [
{
role: 'Management',
},
{
role: 'DevOps Team',
},
{
role: 'Architecture',
},
{
role: 'Project Management',
},
{
role: 'Branding',
},
];

export const roles: Role[] = [
{
role: 'Web & Mobile Developers',
description: 'Utilize the system to build responsive, accessible, and consistent interfaces.',
},
{
role: 'Digital Designers',
description:
'Rely on standardized components to create user-friendly and cohesive experiences.',
},
{
role: 'Digital Product Owners',
description:
'Ensure product development aligns with Swiss Post’s design principles and standards.',
},
];

export const teamMembers: TeamMembers[] = [
{ name: 'Development', icon: '2546' },
{ name: 'Visual Design', icon: '2591' },
{ name: 'User Experience', icon: '2336' },
];
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
import { Meta } from '@storybook/blocks';
import * as MissionStories from './mission.stories';
import { roles, stakeholders, teamMembers } from './mission.blocks';
import './mission.styles.scss';

<Meta of={MissionStories} />

# Swiss Post Mission

The Swiss Post Design System enables project teams to create seamless user experiences across all digital touchpoints by providing patterns, guidance and tools.

## Who Uses the Design System?

<ul className="roles-list no-style-list">
{roles.map((role, index) => (
<li key={index} className="role-item list-item">
<strong>{role.role}</strong>
<div className="role-description">{role.description}</div>
</li>
))}
</ul>

### The Design System is well represented and supported by our stakeholders, including:

<ul className="stakeholders-list no-style-list row row-cols-1 row-cols-md-3">
{stakeholders.map((stakeholder, index) => (
<li key={index} className="stakeholder-item list-item centered-item col">
{stakeholder.role}
</li>
))}
</ul>


### Documentation

Entry points to the Design System are public. All documentation is written in English and uses common terminology. The documentation platforms are in sync with implementations and cross-linked. Regular updates ensure that the documentation stays aligned with the latest changes and best practices.

### Core Team

<ul className="team-list no-style-list row">
{teamMembers.map((teamMember, index) => (
<li key={index} className="team-item list-item centered-item col-sm-12 col-md-4 col-lg-3 flex-lg-column">
<post-icon name={teamMember.icon} style={{ fontSize: '3rem' }} className="team-icon"></post-icon>
{teamMember.name}
</li>
))}
</ul>

These contributors are responsible for major implementations and play a central role in shaping the system. To ensure meaningful input, they have allocated time and budget to actively participate in the project, both in Figma and Web development.

### Quality & Compliance

People are using the Design System because it has a low barrier of entry, excellent documentation, is easy to use, and improves the time to market for their product significantly. It fulfills the standards of the Web Content Accessibility Guidelines (WCAG), Level AA.

<div role="alert" className="alert alert-info">
<p>Onboarding is mandatory for external agencies.</p>
</div>

<p className="quality-text">
The quality of the Design System is being measured by pre-defined KPIs and is constantly improved.
</p>

### Tooling

Design System tooling fosters collaboration between diverse disciplines and encourages contribution. It is built to provide flexibility, allowing teams to choose the platform or framework that best suits their needs.
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { MetaExtended } from '@root/types';
import { StoryObj } from '@storybook/web-components';

const meta: MetaExtended = {
id: 'b421ac9b-bac4-4e95-a909-64fdb58fc3a6',
title: 'Getting Started/Mission',
parameters: {
badges: [],
},
};

export default meta;

type Story = StoryObj;

export const Default: Story = {};
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
@use '@swisspost/design-system-styles/core.scss' as post;

.no-style-list {
margin: 0;
padding: 0;
list-style: none;
}

.roles-list {
display: grid;
grid-template-rows: repeat(3, 1fr);
justify-content: center;
}

.role-item {
margin-bottom: 1rem;
padding: 1rem;
border: 1px solid #ddd;
border-radius: 6px;
}

.stakeholders-list {
justify-content: center;
align-items: center;
}

.stakeholder-item {
padding: 1rem;
border: 1px solid #dee2e6;
text-align: center;
}

.team-list {
justify-content: center;
margin-bottom: 1rem;
}

.team-item {
display: flex;
justify-content: center;
border: 1px solid #dee2e6;
align-items: center;
padding: 1rem;
gap: 1rem;
font-weight: bold;
}

.alert {
margin-top: 1rem;
}

.quality-text {
margin-top: 1rem;
text-align: left;
}

0 comments on commit 1c07f7c

Please sign in to comment.