Add notification object card pattern

This commit is contained in:
2026-06-29 12:58:04 +02:00
parent 85f80a0e0f
commit d7f2d08a3f
5 changed files with 49 additions and 0 deletions
+2
View File
@@ -32,6 +32,7 @@
<tr><td>signal-green</td><td>#009101</td><td>Positive Score-Balken und positive Chart-Werte.</td></tr> <tr><td>signal-green</td><td>#009101</td><td>Positive Score-Balken und positive Chart-Werte.</td></tr>
<tr><td>signal-green-light</td><td>#65A665</td><td>Hellgrüne Variante für positive Signal- und Notification-Flächen.</td></tr> <tr><td>signal-green-light</td><td>#65A665</td><td>Hellgrüne Variante für positive Signal- und Notification-Flächen.</td></tr>
<tr><td>signal-yellow</td><td>#9C7A00</td><td>Neutrale Score-Balken, neutrale Chart-Werte und Warnwerte in Tabellen.</td></tr> <tr><td>signal-yellow</td><td>#9C7A00</td><td>Neutrale Score-Balken, neutrale Chart-Werte und Warnwerte in Tabellen.</td></tr>
<tr><td>ampel-hellgelb</td><td>#D3B962</td><td>Untersegmente in der Pattern-Notification-Variante der Object Card.</td></tr>
<tr><td>signal-red</td><td>#9B3B2F</td><td>Negative Score-Balken und negative Chart-Werte.</td></tr> <tr><td>signal-red</td><td>#9B3B2F</td><td>Negative Score-Balken und negative Chart-Werte.</td></tr>
<tr><td>font-dark</td><td>#414959</td><td>Standard-Schrift auf hellen Flächen, Achsen/Marker in Charts, Sandwich-Linien und Radio-Markierung.</td></tr> <tr><td>font-dark</td><td>#414959</td><td>Standard-Schrift auf hellen Flächen, Achsen/Marker in Charts, Sandwich-Linien und Radio-Markierung.</td></tr>
<tr><td>font-light</td><td>#FFFFFF</td><td>Schrift auf dunklen Flächen, Portalheader, Card-Headern, Prozessbuttons und ausgewählten Tab-Buttons.</td></tr> <tr><td>font-light</td><td>#FFFFFF</td><td>Schrift auf dunklen Flächen, Portalheader, Card-Headern, Prozessbuttons und ausgewählten Tab-Buttons.</td></tr>
@@ -158,6 +159,7 @@
<tr><td>object-card-height</td><td>600px</td><td>Fixe Höhe der Object Card im Desktop-Layout (u. a. für Company Card).</td></tr> <tr><td>object-card-height</td><td>600px</td><td>Fixe Höhe der Object Card im Desktop-Layout (u. a. für Company Card).</td></tr>
<tr><td>content-card-margin-top-desktop</td><td>100px</td><td>Oberer Außenabstand der Content Card auf Desktop.</td></tr> <tr><td>content-card-margin-top-desktop</td><td>100px</td><td>Oberer Außenabstand der Content Card auf Desktop.</td></tr>
<tr><td>content-card-margin-top-mobile</td><td>1rem</td><td>Oberer Außenabstand der Content Card auf Mobile; entspricht spacing-large.</td></tr> <tr><td>content-card-margin-top-mobile</td><td>1rem</td><td>Oberer Außenabstand der Content Card auf Mobile; entspricht spacing-large.</td></tr>
<tr><td>notification-card-width</td><td>50%</td><td>Breite der Notification Card relativ zum übergeordneten Layout.</td></tr>
<tr><td>public-content-width</td><td>100%</td><td>Standardbreite für wiederverwendbare Public-Content-Wrapper innerhalb der durch das jeweilige Page-Layout begrenzten Breite.</td></tr> <tr><td>public-content-width</td><td>100%</td><td>Standardbreite für wiederverwendbare Public-Content-Wrapper innerhalb der durch das jeweilige Page-Layout begrenzten Breite.</td></tr>
<tr><td>object-group-card-min-width</td><td>450px</td><td>Mindestbreite der Group Card im Pattern Object Group Card.</td></tr> <tr><td>object-group-card-min-width</td><td>450px</td><td>Mindestbreite der Group Card im Pattern Object Group Card.</td></tr>
<tr><td>object-group-card-max-width</td><td>650px</td><td>Maximale Breite der Group Card im Pattern Object Group Card.</td></tr> <tr><td>object-group-card-max-width</td><td>650px</td><td>Maximale Breite der Group Card im Pattern Object Group Card.</td></tr>
+18
View File
@@ -159,6 +159,24 @@
</div> </div>
</article> </article>
</div> </div>
<h2 class="sg-sub-heading sg-section-h2">Notification</h2>
<p class="sg-preview-label">Pattern: Notification</p>
<p class="sg-body">Hinweis: Diese Variante basiert auf Object Card Content Basic, ist auf 50% Breite ausgelegt und nutzt hellgelbe Untersegmente.</p>
<article class="sg-card sg-object-card sg-object-card--content-basic sg-object-card--notification" data-pattern="object-card-notification" aria-label="Notification Card">
<header class="sg-card-segment sg-card-segment--header sg-card-segment--signal-yellow sg-object-card__header" data-pattern-part="object-card-notification-header">
<div class="sg-strong">Benachrichtigung</div>
</header>
<div class="sg-card-segment sg-card-segment--body sg-object-card__content" data-pattern-part="object-card-notification-content">
<p class="sg-body">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Donec vitae sapien ut libero venenatis faucibus.</p>
</div>
<footer class="sg-card-segment sg-card-segment--body sg-object-card__actions-segment" data-pattern-part="object-card-notification-actions">
<div class="sg-object-card__actions sg-notification-card__actions">
<button class="sg-interaction-element sg-button sg-button--active" type="button">Verstanden</button>
</div>
</footer>
</article>
</section> </section>
<script> <script>
+9
View File
@@ -62,6 +62,15 @@
</tbody> </tbody>
</table> </table>
<h3 class="sg-sub-heading sg-section-h3">Notification</h3>
<table class="sg-foundation-table sg-table-label">
<thead><tr><th>Semantischer Token</th><th>Verwendeter Foundation-Token</th><th>Beschreibung Verwendungszweck in der Komponente</th></tr></thead>
<tbody>
<tr><td>layout-notification-card-width</td><td>dimension-notification-card-width</td><td>Breite der Notification Card im Pattern Notification relativ zum übergeordneten Layout.</td></tr>
<tr><td>surface-notification-card-lower-segment</td><td>color-ampel-hellgelb</td><td>Fläche der unteren Segmente in der Notification-Variante der Object Card.</td></tr>
</tbody>
</table>
<h3 class="sg-sub-heading sg-section-h3">Text Group Box</h3> <h3 class="sg-sub-heading sg-section-h3">Text Group Box</h3>
<table class="sg-foundation-table sg-table-label"> <table class="sg-foundation-table sg-table-label">
<thead><tr><th>Semantischer Token</th><th>Verwendeter Foundation-Token</th><th>Beschreibung Verwendungszweck in der Komponente</th></tr></thead> <thead><tr><th>Semantischer Token</th><th>Verwendeter Foundation-Token</th><th>Beschreibung Verwendungszweck in der Komponente</th></tr></thead>
+4
View File
@@ -17,6 +17,7 @@
--color-signal-green: #009101; --color-signal-green: #009101;
--color-signal-green-light: #65A665; --color-signal-green-light: #65A665;
--color-signal-yellow: #9C7A00; --color-signal-yellow: #9C7A00;
--color-ampel-hellgelb: #D3B962;
--color-signal-red: #9B3B2F; --color-signal-red: #9B3B2F;
--color-font-dark: #414959; --color-font-dark: #414959;
--color-font-light: #FFFFFF; --color-font-light: #FFFFFF;
@@ -175,6 +176,7 @@
--layout-object-card-desktop-breakpoint: var(--dimension-object-card-desktop-breakpoint); --layout-object-card-desktop-breakpoint: var(--dimension-object-card-desktop-breakpoint);
--layout-content-card-margin-top-desktop: var(--dimension-content-card-margin-top-desktop); --layout-content-card-margin-top-desktop: var(--dimension-content-card-margin-top-desktop);
--layout-content-card-margin-top-mobile: var(--dimension-content-card-margin-top-mobile); --layout-content-card-margin-top-mobile: var(--dimension-content-card-margin-top-mobile);
--layout-notification-card-width: var(--dimension-notification-card-width);
--dimension-notifications-card-min-width: 445px; --dimension-notifications-card-min-width: 445px;
--layout-notifications-card-flex-basis: var(--dimension-notifications-card-min-width); --layout-notifications-card-flex-basis: var(--dimension-notifications-card-min-width);
--layout-notifications-card-min-width: var(--dimension-notifications-card-min-width); --layout-notifications-card-min-width: var(--dimension-notifications-card-min-width);
@@ -187,6 +189,7 @@
--layout-object-group-card-max-width: var(--dimension-object-group-card-max-width); --layout-object-group-card-max-width: var(--dimension-object-group-card-max-width);
--layout-object-group-card-height: var(--dimension-object-group-card-height); --layout-object-group-card-height: var(--dimension-object-group-card-height);
--surface-object-card-lower-segment: var(--color-white); --surface-object-card-lower-segment: var(--color-white);
--surface-notification-card-lower-segment: var(--color-ampel-hellgelb);
--text-company-card-data-negative: var(--chart-value-negative); --text-company-card-data-negative: var(--chart-value-negative);
--text-company-card-moat-neutral: var(--chart-value-neutral); --text-company-card-moat-neutral: var(--chart-value-neutral);
--layout-company-card-analysis-gap-after-moat: var(--spacing-large); --layout-company-card-analysis-gap-after-moat: var(--spacing-large);
@@ -286,6 +289,7 @@
--dimension-object-group-card-min-width: 450px; --dimension-object-group-card-min-width: 450px;
--dimension-object-group-card-max-width: 650px; --dimension-object-group-card-max-width: 650px;
--dimension-object-group-card-height: 700px; --dimension-object-group-card-height: 700px;
--dimension-notification-card-width: 50%;
--dimension-input-label-width: 9rem; --dimension-input-label-width: 9rem;
--dimension-input-field-desktop-width: 400px; --dimension-input-field-desktop-width: 400px;
--dimension-input-field-max-width: 600px; --dimension-input-field-max-width: 600px;
+16
View File
@@ -77,6 +77,16 @@
height: auto; height: auto;
} }
.sg-object-card--notification {
width: var(--layout-notification-card-width);
height: auto;
--surface-object-card-lower-segment: var(--surface-notification-card-lower-segment);
}
.sg-notification-card__actions {
justify-content: flex-end;
}
.sg-object-card-content-basic { .sg-object-card-content-basic {
margin-top: var(--layout-content-card-margin-top-desktop); margin-top: var(--layout-content-card-margin-top-desktop);
} }
@@ -88,6 +98,12 @@
max-width: none; max-width: none;
} }
.sg-object-card--notification {
width: var(--layout-object-card-mobile-width);
min-width: 0;
max-width: none;
}
.sg-object-card-content-basic { .sg-object-card-content-basic {
margin-top: var(--layout-content-card-margin-top-mobile); margin-top: var(--layout-content-card-margin-top-mobile);
} }