Compare commits
136 Commits
fbd230dc4d
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 0ad6f07efe | |||
| ea0ef8e323 | |||
| 9d5f683557 | |||
| 9ffe4d62f3 | |||
| d214c21a4b | |||
| 6e6d49f460 | |||
| 4447f4c780 | |||
| c7c6b34591 | |||
| 7145bbd968 | |||
| 239c5f8d2e | |||
| 3bc4117bad | |||
| 88785f6693 | |||
| 33b1479e27 | |||
| 580ded6144 | |||
| 6a9b3b1de3 | |||
| 7c3b8b7c72 | |||
| 64272f55b5 | |||
| 51fc9b87e0 | |||
| 26764625ac | |||
| a1917120c5 | |||
| 6cfb356cbc | |||
| 63f0d01859 | |||
| 3a7d744b3d | |||
| 7151b6c669 | |||
| 2b175ea16e | |||
| ec00d82c43 | |||
| 012cbfcd0e | |||
| 1042c8449f | |||
| 080d65a684 | |||
| 7a7c40e5ec | |||
| d7f2d08a3f | |||
| 85f80a0e0f | |||
| f658cfd738 | |||
| 74a8cf7840 | |||
| 9844061bfa | |||
| 27356b4a71 | |||
| 328eeedf4b | |||
| a161b44ff6 | |||
| 2a667b4b92 | |||
| e9b3cef101 | |||
| a45c1d2974 | |||
| 3cd36d8842 | |||
| 12a94a503b | |||
| 82276bb472 | |||
| aa5c9d303a | |||
| ef47af4561 | |||
| 901077cfeb | |||
| 2cb6214f4a | |||
| d91a52ce4d | |||
| 19535784e7 | |||
| 63491caa74 | |||
| 9ef2a86ad6 | |||
| 7e4d92f445 | |||
| b6233c237a | |||
| 9b675916b5 | |||
| 84a3841007 | |||
| 421bd0eafa | |||
| a7cb1f42d8 | |||
| 595cd6ec4e | |||
| 2b42e301f0 | |||
| 04565a993a | |||
| 24d09c58d4 | |||
| 3e0b2d3e1e | |||
| dc6e563e05 | |||
| 382a52a3a7 | |||
| 77d69278e9 | |||
| 4cdb394758 | |||
| 57520565ef | |||
| c51f74f215 | |||
| 5d38204c16 | |||
| 7ea580ddb4 | |||
| 4f6456f9fb | |||
| efdb027321 | |||
| 6794dca728 | |||
| 67509db005 | |||
| 688307d5bb | |||
| 1765d95957 | |||
| cf64ce0410 | |||
| 733c9c0e03 | |||
| 4b53f69891 | |||
| 50746a365e | |||
| 230b82e2f3 | |||
| 833544d206 | |||
| 7df605aa4e | |||
| 4f8e60e0ea | |||
| 57874f9c37 | |||
| cedd1d76aa | |||
| c3c939f3a5 | |||
| f3347221d4 | |||
| 063c8a678d | |||
| 749b787f53 | |||
| f0dbdadeae | |||
| e24415d337 | |||
| 6887b36f8a | |||
| 8a3688c1f5 | |||
| eac70d487d | |||
| 39ed6474aa | |||
| 547fe0cc1f | |||
| 83b5500a23 | |||
| 86592d5bc8 | |||
| 2a99475091 | |||
| 1824b478e4 | |||
| 2d34886338 | |||
| db690e2726 | |||
| 8f77b40d81 | |||
| 19634168db | |||
| b88a75ef55 | |||
| a45975bd42 | |||
| 6c5e555e86 | |||
| 44e9a5b40f | |||
| ddb46dbac0 | |||
| 98b2695d01 | |||
| 122eddbabf | |||
| bbd60cdb7e | |||
| 5627fe28b1 | |||
| db4ef20de0 | |||
| 76e05966d0 | |||
| 6b780089f3 | |||
| d4b1506abd | |||
| ce1a3ffc8c | |||
| de28c1beef | |||
| 9e62f78446 | |||
| db4304d163 | |||
| 69b190692c | |||
| 169038fd42 | |||
| b42ba2c695 | |||
| f90a2740a9 | |||
| be2c89e10a | |||
| a14ace22e9 | |||
| 07e226e64c | |||
| 207e1aabd6 | |||
| 17a3973ddf | |||
| ac79718850 | |||
| f6213624da | |||
| 58a92bcc4b | |||
| a9953a0f33 |
@@ -1,50 +0,0 @@
|
|||||||
<!doctype html>
|
|
||||||
<html lang="de">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Styleguide – Cards Public Page</title>
|
|
||||||
<link rel="stylesheet" href="../styleguide.css">
|
|
||||||
</head>
|
|
||||||
<body class="sg-page-cards-public-page">
|
|
||||||
|
|
||||||
<h1 class="sg-main-heading">Components – Cards Public Page</h1>
|
|
||||||
|
|
||||||
<main aria-label="Cards Public Page">
|
|
||||||
|
|
||||||
<section id="component-cta-right">
|
|
||||||
<p class="sg-preview-label">Component: CTA Right</p>
|
|
||||||
|
|
||||||
<section id="component-content-wrapper-card">
|
|
||||||
<p class="sg-preview-label">Component: Content Wrapper Card</p>
|
|
||||||
|
|
||||||
<div class="sg-transparent-card" data-component="transparent-card">
|
|
||||||
<p class="sg-body">
|
|
||||||
Content Wrapper Card als Transparent Card ohne horizontale Außenabstände und mit vertikalem Abstand gemäss spacing-large.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<article class="sg-card sg-card--content-card sg-card--content-card-dark sg-cards-public-page__cta-right-card" data-component="content-card" aria-label="CTA Right">
|
|
||||||
<div class="sg-card-segment sg-card-segment--body sg-cards-public-page__cta-right-body">
|
|
||||||
<div class="sg-cards-public-page__cta-right-grid">
|
|
||||||
<div class="sg-cards-public-page__cta-right-copy">
|
|
||||||
<p class="sg-body">
|
|
||||||
Ein Satz Text als CTA-Hinweis.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="sg-cards-public-page__cta-right-buttons" data-component="link-buttons">
|
|
||||||
<button class="sg-interaction-element sg-button sg-button--active" type="button" data-component="button" data-component-state="active">
|
|
||||||
Link-Button
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</article>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
</main>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -105,6 +105,40 @@
|
|||||||
|
|
||||||
<div class="sg-preview-area">
|
<div class="sg-preview-area">
|
||||||
<article class="sg-card sg-card--content-card sg-card--content-card-dark" data-component="content-card" aria-label="Dark Content Card">
|
<article class="sg-card sg-card--content-card sg-card--content-card-dark" data-component="content-card" aria-label="Dark Content Card">
|
||||||
|
<div class="sg-card-segment sg-card-segment--body" data-component-part="card-body">
|
||||||
|
<div class="sg-text-layout-pattern__sample sg-text-layout-pattern__two-column" data-pattern-part="text-block-two-column">
|
||||||
|
<p class="sg-body sg-text-layout-pattern__column">
|
||||||
|
Footer links: Platzhaltertext fuer allgemeine Hinweise, Navigation oder Kontaktinformationen im zweispaltigen Layout.
|
||||||
|
</p>
|
||||||
|
<p class="sg-body sg-text-layout-pattern__column">
|
||||||
|
Footer rechts: Platzhaltertext fuer ergaenzende Angaben, rechtliche Hinweise oder sekundaere Footer-Inhalte im gleichen Raster.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="sg-preview-label">Variante: Green Content Card</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<article class="sg-card sg-card--content-card sg-card--content-card-green" data-component="content-card" aria-label="Green Content Card">
|
||||||
|
<div class="sg-card-segment sg-card-segment--body" data-component-part="card-body">
|
||||||
|
<div class="sg-text-layout-pattern__sample sg-text-layout-pattern__two-column" data-pattern-part="text-block-two-column">
|
||||||
|
<p class="sg-body sg-text-layout-pattern__column">
|
||||||
|
Footer links: Platzhaltertext fuer allgemeine Hinweise, Navigation oder Kontaktinformationen im zweispaltigen Layout.
|
||||||
|
</p>
|
||||||
|
<p class="sg-body sg-text-layout-pattern__column">
|
||||||
|
Footer rechts: Platzhaltertext fuer ergaenzende Angaben, rechtliche Hinweise oder sekundaere Footer-Inhalte im gleichen Raster.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="sg-preview-label">Variante: Footer Card</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<article class="sg-card sg-card--content-card sg-card--footer-card" data-component="content-card" aria-label="Footer Card">
|
||||||
<div class="sg-card-segment sg-card-segment--body" data-component-part="card-body">
|
<div class="sg-card-segment sg-card-segment--body" data-component-part="card-body">
|
||||||
<div class="sg-text-layout-pattern__sample sg-text-layout-pattern__two-column" data-pattern-part="text-block-two-column">
|
<div class="sg-text-layout-pattern__sample sg-text-layout-pattern__two-column" data-pattern-part="text-block-two-column">
|
||||||
<p class="sg-body sg-text-layout-pattern__column">
|
<p class="sg-body sg-text-layout-pattern__column">
|
||||||
|
|||||||
@@ -29,6 +29,17 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<!-- Component: Call-to-action-Button -->
|
||||||
|
<section id="component-call-to-action-button">
|
||||||
|
<p class="sg-preview-label">Component: Call-to-action-Button</p>
|
||||||
|
|
||||||
|
<div class="sg-component-row">
|
||||||
|
<button class="sg-interaction-element sg-button sg-button--cta" type="button" data-component="button" data-component-variant="cta">
|
||||||
|
Call-to-action-Button
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
<!-- Component: Prozessbutton -->
|
<!-- Component: Prozessbutton -->
|
||||||
<section id="component-process-button">
|
<section id="component-process-button">
|
||||||
<p class="sg-preview-label">Component: Prozessbutton</p>
|
<p class="sg-preview-label">Component: Prozessbutton</p>
|
||||||
|
|||||||
@@ -0,0 +1,89 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="de">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Styleguide – Public Page Components</title>
|
||||||
|
<link rel="stylesheet" href="../styleguide.css">
|
||||||
|
</head>
|
||||||
|
<body class="sg-page-public-page-components">
|
||||||
|
|
||||||
|
<h1 class="sg-main-heading">Components – Public Page Components</h1>
|
||||||
|
|
||||||
|
<div class="sg-page-layout-public__content-mirror">
|
||||||
|
<section id="component-content-group-box">
|
||||||
|
<p class="sg-preview-label">Component: Content Group Box</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<div class="sg-content-group-box" data-component="content-group-box"></div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="component-text-block">
|
||||||
|
<p class="sg-preview-label">Component: Public Page Content left</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<div class="sg-text-block" data-component="text-block">
|
||||||
|
<p class="sg-body">
|
||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillu
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="component-call-to-action-card">
|
||||||
|
<p class="sg-preview-label">Component: Call to action Card</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<article class="sg-card sg-card--content-card sg-card--content-card-dark sg-card--call-to-action-card" data-component="call-to-action-card" aria-label="Call to action Card">
|
||||||
|
<div class="sg-card-segment sg-card-segment--body sg-call-to-action-card__body" data-component-part="card-body">
|
||||||
|
<p class="sg-body sg-call-to-action-card__text">
|
||||||
|
Jetzt passende Inhalte entdecken und direkt mit dem nächsten Schritt starten.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="sg-call-to-action-card__action">
|
||||||
|
<button class="sg-interaction-element sg-button sg-button--cta" type="button" data-component="button" data-component-variant="cta">
|
||||||
|
Call-to-action-Button
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="component-call-to-action-card-three-column">
|
||||||
|
<p class="sg-preview-label">Component: Call to action Card – Drei-Spalten-Variante</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<article class="sg-card sg-card--content-card sg-card--content-card-dark sg-card--call-to-action-card sg-card--call-to-action-card--three-column" data-component="call-to-action-card" data-component-variant="three-column" aria-label="Call to action Card Drei-Spalten-Variante">
|
||||||
|
<div class="sg-card-segment sg-card-segment--body sg-call-to-action-card__body" data-component-part="card-body">
|
||||||
|
<p class="sg-body sg-call-to-action-card__text">Mit dem Newsletter immer über neue Inhalte informiert bleiben.</p>
|
||||||
|
<div class="sg-labeled-input-row" data-component="single-line-input" data-component-state="inactive-selectable">
|
||||||
|
<input class="sg-interaction-element sg-input-single-line sg-input-single-line--inactive-selectable sg-form-inactive-selectable" type="email" placeholder="E-Mail-Adresse" aria-label="E-Mail-Adresse" pattern="[^\s@]+@[^\s@]+\.[^\s@]{2,}" required>
|
||||||
|
</div>
|
||||||
|
<div class="sg-call-to-action-card__action">
|
||||||
|
<button class="sg-interaction-element sg-button sg-button--process sg-button--process-inactive" type="button" data-component="button" data-component-variant="process" data-component-state="inactive" disabled aria-disabled="true">Prozess Button</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="component-picture-full-width">
|
||||||
|
<p class="sg-preview-label">Component: Picture Full Width</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<img
|
||||||
|
class="sg-picture-full-width"
|
||||||
|
data-component="picture-full-width"
|
||||||
|
src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNjAwIiBoZWlnaHQ9IjkwMCIgdmlld0JveD0iMCAwIDE2MDAgOTAwIj48cmVjdCB3aWR0aD0iMTYwMCIgaGVpZ2h0PSI5MDAiIGZpbGw9IiMyZjM0NDAiLz48cmVjdCB4PSI2NCIgeT0iNjQiIHdpZHRoPSIxNDcyIiBoZWlnaHQ9Ijc3MiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZjNmNGY2IiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1kYXNoYXJyYXk9IjI0IDE2IiBvcGFjaXR5PSIwLjU1Ii8+PHRleHQgeD0iODAwIiB5PSI0NTAiIGZpbGw9IiNmM2Y0ZjYiIGZvbnQtZmFtaWx5PSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBmb250LXNpemU9IjUyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5QaWN0dXJlIGZ1bGwgd2lkdGg8L3RleHQ+PC9zdmc+"
|
||||||
|
alt="Platzhalterbild für die Picture Full Width Component"
|
||||||
|
width="1600"
|
||||||
|
height="900"
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -18,6 +18,11 @@
|
|||||||
<h1 class="sg-heading-h1" data-component-part="heading-h1">H1 Überschrift</h1>
|
<h1 class="sg-heading-h1" data-component-part="heading-h1">H1 Überschrift</h1>
|
||||||
<h2 class="sg-heading-h2" data-component-part="heading-h2">H2 Überschrift</h2>
|
<h2 class="sg-heading-h2" data-component-part="heading-h2">H2 Überschrift</h2>
|
||||||
<p class="sg-body" data-component-part="body-text">Body / Fließtext</p>
|
<p class="sg-body" data-component-part="body-text">Body / Fließtext</p>
|
||||||
|
<ul class="sg-bullet-list" data-component-part="bullet-list">
|
||||||
|
<li>Bullet List Eintrag 1</li>
|
||||||
|
<li>Bullet List Eintrag 2</li>
|
||||||
|
<li>Bullet List Eintrag 3</li>
|
||||||
|
</ul>
|
||||||
<p class="sg-strong" data-component-part="strong-text">Strong / hervorgehobener Text</p>
|
<p class="sg-strong" data-component-part="strong-text">Strong / hervorgehobener Text</p>
|
||||||
<p class="sg-section-title" data-component-part="section-title">Section Title</p>
|
<p class="sg-section-title" data-component-part="section-title">Section Title</p>
|
||||||
<p class="sg-bar-label" data-component-part="bar-label">Bar Label</p>
|
<p class="sg-bar-label" data-component-part="bar-label">Bar Label</p>
|
||||||
|
|||||||
@@ -0,0 +1,74 @@
|
|||||||
|
@import "./styles/01-foundations.css";
|
||||||
|
|
||||||
|
/* E-Mail-Komponenten: separater Einstiegspunkt, nicht Teil des Portal-CSS */
|
||||||
|
.sg-email-template-page {
|
||||||
|
background: var(--surface-object-card-lower-segment);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-email-template-page .sg-main-heading,
|
||||||
|
.sg-email-template-page .sg-preview-label {
|
||||||
|
color: var(--text-card-body);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-email-preview-viewport {
|
||||||
|
width: var(--dimension-email-body-max-width);
|
||||||
|
background: var(--surface-object-card-lower-segment);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-email-preview-body {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-email-header {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding:
|
||||||
|
var(--card-segment-padding-vertical)
|
||||||
|
var(--layout-page-content-inset-inline);
|
||||||
|
border: var(--border-none);
|
||||||
|
border-radius: var(--radius-card);
|
||||||
|
box-shadow: var(--shadow-none);
|
||||||
|
background: var(--surface-portal-header);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-email-header__main {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-email-header__brand {
|
||||||
|
margin: 0;
|
||||||
|
color: var(--text-portal-header-brand);
|
||||||
|
font-size: var(--font-size-portal-header-brand);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-email-card,
|
||||||
|
.sg-email-footer-card {
|
||||||
|
width: calc(100% + (2 * var(--card-segment-padding-horizontal)));
|
||||||
|
margin-inline: calc(-1 * var(--card-segment-padding-horizontal));
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-email-footer-card {
|
||||||
|
margin-top: calc(var(--spacing-large) * 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-email-footer-card .sg-body {
|
||||||
|
font-size: var(--font-size-small);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-email-card .sg-card-segment--body > .sg-body {
|
||||||
|
color: var(--text-card-body);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-email-card-action-segment {
|
||||||
|
align-items: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-email-template > .sg-heading-h1 {
|
||||||
|
color: var(--text-card-body);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-email-template > .sg-email-template__intro {
|
||||||
|
color: var(--text-card-body);
|
||||||
|
}
|
||||||
@@ -30,7 +30,9 @@
|
|||||||
<tr><td>black</td><td>#000000</td><td>Neutrale Vollton-Overlay-Farbe für starke visuelle Deaktivierung von Hintergrundobjekten.</td></tr>
|
<tr><td>black</td><td>#000000</td><td>Neutrale Vollton-Overlay-Farbe für starke visuelle Deaktivierung von Hintergrundobjekten.</td></tr>
|
||||||
<tr><td>white</td><td>#FFFFFF</td><td>Standardfläche von Buttons, Eingabefeldern, Pulldown-Triggern, Checkboxen, Radios, Toggle-Tracks und Card-Trennern.</td></tr>
|
<tr><td>white</td><td>#FFFFFF</td><td>Standardfläche von Buttons, Eingabefeldern, Pulldown-Triggern, Checkboxen, Radios, Toggle-Tracks und Card-Trennern.</td></tr>
|
||||||
<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-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>
|
||||||
@@ -157,6 +159,8 @@
|
|||||||
<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>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>
|
||||||
<tr><td>object-group-card-height</td><td>700px</td><td>Fixe Desktop-Höhe der Group Card im Pattern Object Group Card.</td></tr>
|
<tr><td>object-group-card-height</td><td>700px</td><td>Fixe Desktop-Höhe der Group Card im Pattern Object Group Card.</td></tr>
|
||||||
|
|||||||
+24
-2
@@ -28,11 +28,11 @@
|
|||||||
|
|
||||||
<ul class="sg-index-list">
|
<ul class="sg-index-list">
|
||||||
<li><a href="./components/cards.html">Cards</a></li>
|
<li><a href="./components/cards.html">Cards</a></li>
|
||||||
<li><a href="./components/cards-public-page.html">Cards Public Page</a></li>
|
|
||||||
<li><a href="./components/interactive-elements.html">Interactive Elements</a></li>
|
<li><a href="./components/interactive-elements.html">Interactive Elements</a></li>
|
||||||
<li><a href="./components/charts.html">Charts</a></li>
|
<li><a href="./components/charts.html">Charts</a></li>
|
||||||
<li><a href="./components/data-display.html">Data Display</a></li>
|
<li><a href="./components/data-display.html">Data Display</a></li>
|
||||||
<li><a href="./components/typography.html">Typography</a></li>
|
<li><a href="./components/typography.html">Typography</a></li>
|
||||||
|
<li><a href="./components/public-page-components.html">Public Page Components</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@@ -41,7 +41,6 @@
|
|||||||
|
|
||||||
<ul class="sg-index-list">
|
<ul class="sg-index-list">
|
||||||
<li><a href="./patterns/portal-header.html">Portal Header</a></li>
|
<li><a href="./patterns/portal-header.html">Portal Header</a></li>
|
||||||
<li><a href="./patterns/vsf-portal-header-public.html">VSF Portal Header Public</a></li>
|
|
||||||
<li><a href="./patterns/options-row.html">Options Row</a></li>
|
<li><a href="./patterns/options-row.html">Options Row</a></li>
|
||||||
<li><a href="./patterns/object-card.html">Object Card</a></li>
|
<li><a href="./patterns/object-card.html">Object Card</a></li>
|
||||||
<li><a href="./patterns/object-group-card.html">Object Group Card</a></li>
|
<li><a href="./patterns/object-group-card.html">Object Group Card</a></li>
|
||||||
@@ -54,6 +53,7 @@
|
|||||||
<li><a href="./patterns/multiselektions-pulldown.html">Multiselektions-Pulldown</a></li>
|
<li><a href="./patterns/multiselektions-pulldown.html">Multiselektions-Pulldown</a></li>
|
||||||
<li><a href="./patterns/text-layouts.html">Text Layouts</a></li>
|
<li><a href="./patterns/text-layouts.html">Text Layouts</a></li>
|
||||||
<li><a href="./patterns/delete-confirmation-overlay.html">Overlay Card</a></li>
|
<li><a href="./patterns/delete-confirmation-overlay.html">Overlay Card</a></li>
|
||||||
|
<li><a href="./patterns/public-page-patterns.html">Public Page Patterns</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@@ -65,6 +65,7 @@
|
|||||||
<li><a href="./patterns/card-listen-seite.html">Card Listen Seite</a></li>
|
<li><a href="./patterns/card-listen-seite.html">Card Listen Seite</a></li>
|
||||||
<li><a href="./patterns/page-layout-app.html">Page Layout App</a></li>
|
<li><a href="./patterns/page-layout-app.html">Page Layout App</a></li>
|
||||||
<li><a href="./patterns/page-layout-public.html">Page Layout Public</a></li>
|
<li><a href="./patterns/page-layout-public.html">Page Layout Public</a></li>
|
||||||
|
<li><a href="./patterns/page-layout-public-2-column.html">Page Layout Public 2 Column</a></li>
|
||||||
<li><a href="./patterns/card-listen-fundamentalanalyse-mobile.html">Card Listen Fundamentalanalyse Mobile</a></li>
|
<li><a href="./patterns/card-listen-fundamentalanalyse-mobile.html">Card Listen Fundamentalanalyse Mobile</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
@@ -82,6 +83,27 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<section class="sg-index-section">
|
||||||
|
<h2 class="sg-sub-heading">E-Mail-Templates</h2>
|
||||||
|
|
||||||
|
<h3 class="sg-sub-heading sg-section-h3">Foundations</h3>
|
||||||
|
<ul class="sg-index-list"></ul>
|
||||||
|
|
||||||
|
<h3 class="sg-sub-heading sg-section-h3">Komponenten</h3>
|
||||||
|
<ul class="sg-index-list">
|
||||||
|
<li><a href="./components/email-header.html">E-Mail Header</a></li>
|
||||||
|
<li><a href="./components/email-footer.html">E-Mail Footer</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3 class="sg-sub-heading sg-section-h3">Patterns</h3>
|
||||||
|
<ul class="sg-index-list">
|
||||||
|
<li><a href="./patterns/general-email-template.html">General E-Mail-Template</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3 class="sg-sub-heading sg-section-h3">Valuestockfinder Templates</h3>
|
||||||
|
<ul class="sg-index-list"></ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@@ -0,0 +1,88 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="de">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Styleguide – General E-Mail-Template</title>
|
||||||
|
<link rel="stylesheet" href="../styleguide.css">
|
||||||
|
<link rel="stylesheet" href="../email-styleguide.css">
|
||||||
|
</head>
|
||||||
|
<body class="sg-email-template-page">
|
||||||
|
|
||||||
|
<h1 class="sg-main-heading">General E-Mail-Template</h1>
|
||||||
|
|
||||||
|
<section id="pattern-general-email-template">
|
||||||
|
<p class="sg-preview-label">General E-Mail-Template</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<div class="sg-email-preview-viewport">
|
||||||
|
<div class="sg-email-preview-body">
|
||||||
|
<header
|
||||||
|
class="sg-email-header"
|
||||||
|
aria-label="E-Mail Header"
|
||||||
|
data-component="email-header"
|
||||||
|
data-component-variant="logo-only"
|
||||||
|
data-derived-from="portal-header-without-options-row"
|
||||||
|
>
|
||||||
|
<div class="sg-email-header__main" data-component-part="main">
|
||||||
|
<p class="sg-email-header__brand" data-component-part="brand">ValueStockFinder</p>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<article
|
||||||
|
class="sg-transparent-card sg-page-layout-app__heading-block sg-email-template"
|
||||||
|
aria-label="E-Mail Inhalt"
|
||||||
|
data-pattern="general-email-template"
|
||||||
|
data-email-subject="Bitte bestätige deine Anmeldung"
|
||||||
|
data-email-preheader="Bestätige deine E-Mail-Adresse, um Updates von ValueStockFinder zu erhalten."
|
||||||
|
>
|
||||||
|
<h1 class="sg-heading-h1">Fast geschafft</h1>
|
||||||
|
<p class="sg-body sg-email-template__intro">Lorem ipsum dolor sit amet, consectetur adipiscing elit.<br>Integer nec odio. Praesent libero.<br>Sed cursus ante dapibus diam.</p>
|
||||||
|
<article class="sg-card sg-email-card" data-component="card" data-pattern-part="confirmation-card">
|
||||||
|
<div class="sg-card-segment sg-card-segment--header sg-card-segment--darkblue" data-component-part="card-header">
|
||||||
|
<div class="sg-strong">Bitte bestätige deine Anmeldung</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="sg-card-segment sg-card-segment--body sg-card-segment--gray" data-component-part="card-body">
|
||||||
|
<p class="sg-body">Bitte bestätige jetzt deine E-Mail-Adresse. Erst danach dürfen wir dir die gewünschten Informationen per E-Mail senden.</p>
|
||||||
|
<p class="sg-body">Falls du dich nicht selbst angemeldet hast, musst du nichts weiter tun.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="sg-card-segment sg-card-segment--body sg-card-segment--gray sg-email-card-action-segment" data-component-part="card-action">
|
||||||
|
<button class="sg-interaction-element sg-button sg-button--process" type="button" data-component="button" data-component-variant="process" data-component-state="active">
|
||||||
|
Anmeldung bestätigen
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<article
|
||||||
|
class="sg-card sg-card--content-card sg-card--footer-card sg-email-footer-card"
|
||||||
|
data-component="content-card"
|
||||||
|
data-component-context="email-footer"
|
||||||
|
data-component-variant="not-subscribed"
|
||||||
|
data-pattern-part="email-footer"
|
||||||
|
aria-label="E-Mail Footer not subscribed"
|
||||||
|
>
|
||||||
|
<div class="sg-card-segment sg-card-segment--body" data-component-part="card-body">
|
||||||
|
<div class="sg-text-layout-pattern__sample sg-text-layout-pattern__two-column" data-pattern-part="text-block-two-column">
|
||||||
|
<p class="sg-body sg-text-layout-pattern__column">
|
||||||
|
© 2026 Valuestockfinder<br>
|
||||||
|
Im Hochrain 2<br>
|
||||||
|
8102 Oberengstringen<br>
|
||||||
|
Switzerland
|
||||||
|
</p>
|
||||||
|
<div class="sg-text-layout-pattern__column">
|
||||||
|
<p class="sg-body"><a class="sg-hyperlink" href="https://valuestockfinder.com/terms/" data-component="hyperlink">Allgemeine Geschäftsbedingungen</a></p>
|
||||||
|
<p class="sg-body"><a class="sg-hyperlink" href="https://valuestockfinder.com/privacypolicy/" data-component="hyperlink">Datenschutz</a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
+29
-24
@@ -79,7 +79,8 @@
|
|||||||
|
|
||||||
<div class="sg-preview-area sg-notifications-pattern">
|
<div class="sg-preview-area sg-notifications-pattern">
|
||||||
|
|
||||||
<article class="sg-card sg-notifications-pattern__card" data-pattern="notification-with-title" data-component="notification-card">
|
<p class="sg-preview-label">Pattern: Notification with title - reg</p>
|
||||||
|
<article class="sg-card sg-notifications-pattern__card" data-pattern="notification-with-title" data-pattern-variant="reg" data-component="notification-card">
|
||||||
<div class="sg-card-segment sg-card-segment--header sg-card-segment--signal-red sg-notifications-pattern__text-segment sg-notifications-pattern__title-segment" data-component-part="card-header">
|
<div class="sg-card-segment sg-card-segment--header sg-card-segment--signal-red sg-notifications-pattern__text-segment sg-notifications-pattern__title-segment" data-component-part="card-header">
|
||||||
<p class="sg-body">
|
<p class="sg-body">
|
||||||
<span class="sg-strong">Kaufsignal Veeva Systems Inc Class A</span>
|
<span class="sg-strong">Kaufsignal Veeva Systems Inc Class A</span>
|
||||||
@@ -99,7 +100,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="sg-card sg-notifications-pattern__card" data-pattern="notification-with-title" data-component="notification-card">
|
<p class="sg-preview-label">Pattern: Notification with title - green</p>
|
||||||
|
<article class="sg-card sg-notifications-pattern__card" data-pattern="notification-with-title" data-pattern-variant="green" data-component="notification-card">
|
||||||
<div class="sg-card-segment sg-card-segment--header sg-card-segment--signal-green sg-notifications-pattern__text-segment sg-notifications-pattern__title-segment" data-component-part="card-header">
|
<div class="sg-card-segment sg-card-segment--header sg-card-segment--signal-green sg-notifications-pattern__text-segment sg-notifications-pattern__title-segment" data-component-part="card-header">
|
||||||
<p class="sg-body">
|
<p class="sg-body">
|
||||||
<span class="sg-strong">Kaufsignal Veeva Systems Inc Class A</span>
|
<span class="sg-strong">Kaufsignal Veeva Systems Inc Class A</span>
|
||||||
@@ -119,7 +121,29 @@
|
|||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="sg-card sg-notifications-pattern__card" data-pattern="notification-with-title" data-component="notification-card">
|
<p class="sg-preview-label">Pattern: Notification with title - light green</p>
|
||||||
|
<article class="sg-card sg-card--notification-signal-green-light sg-notifications-pattern__card" data-pattern="notification-with-title" data-pattern-variant="light-green" data-component="notification-card">
|
||||||
|
<div class="sg-card-segment sg-card-segment--header sg-card-segment--signal-green-light sg-notifications-pattern__text-segment sg-notifications-pattern__title-segment" data-component-part="card-header">
|
||||||
|
<p class="sg-body">
|
||||||
|
<span class="sg-strong">Kaufsignal Veeva Systems Inc Class A</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="sg-card-segment sg-card-segment--header sg-card-segment--signal-green-light sg-notifications-pattern__text-segment" data-component-part="card-header">
|
||||||
|
<p class="sg-body">
|
||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur vitae velit posuere, posuere mauris eu, tincidunt lorem. Proin gravida sapien in mattis molestie. Sed non risus augue. Fusce sed odio vitae purus porta efficitur. Integer tempor congue sem, a convallis lorem ornare eget. Nam. Aenean.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="sg-card-segment sg-card-segment--body sg-card-segment--signal-green-light" data-component-part="card-body">
|
||||||
|
<button class="sg-interaction-element sg-button sg-button--active" type="button" data-component="button" data-component-state="active">
|
||||||
|
zum Unternehmen
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<p class="sg-preview-label">Pattern: Notification with title - yellow</p>
|
||||||
|
<article class="sg-card sg-notifications-pattern__card" data-pattern="notification-with-title" data-pattern-variant="yellow" data-component="notification-card">
|
||||||
<div class="sg-card-segment sg-card-segment--header sg-card-segment--signal-yellow sg-notifications-pattern__text-segment sg-notifications-pattern__title-segment" data-component-part="card-header">
|
<div class="sg-card-segment sg-card-segment--header sg-card-segment--signal-yellow sg-notifications-pattern__text-segment sg-notifications-pattern__title-segment" data-component-part="card-header">
|
||||||
<p class="sg-body">
|
<p class="sg-body">
|
||||||
<span class="sg-strong">Kaufsignal Veeva Systems Inc Class A</span>
|
<span class="sg-strong">Kaufsignal Veeva Systems Inc Class A</span>
|
||||||
@@ -139,7 +163,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="sg-card sg-card--notification-white sg-notifications-pattern__card" data-pattern="notification-with-title" data-component="notification-card">
|
<p class="sg-preview-label">Pattern: Notification with title - white</p>
|
||||||
|
<article class="sg-card sg-card--notification-white sg-notifications-pattern__card" data-pattern="notification-with-title" data-pattern-variant="white" data-component="notification-card">
|
||||||
<div class="sg-card-segment sg-card-segment--header sg-card-segment--white sg-notifications-pattern__text-segment sg-notifications-pattern__title-segment" data-component-part="card-header">
|
<div class="sg-card-segment sg-card-segment--header sg-card-segment--white sg-notifications-pattern__text-segment sg-notifications-pattern__title-segment" data-component-part="card-header">
|
||||||
<p class="sg-body">
|
<p class="sg-body">
|
||||||
<span class="sg-strong">Kaufsignal Veeva Systems Inc Class A</span>
|
<span class="sg-strong">Kaufsignal Veeva Systems Inc Class A</span>
|
||||||
@@ -174,11 +199,6 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="sg-card-segment sg-card-segment--body sg-card-segment--signal-red" data-component-part="card-body">
|
|
||||||
<button class="sg-interaction-element sg-button sg-button--active" type="button" data-component="button" data-component-state="active">
|
|
||||||
zum Unternehmen
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="sg-card sg-notifications-pattern__card" data-pattern="notification-small" data-component="notification-card">
|
<article class="sg-card sg-notifications-pattern__card" data-pattern="notification-small" data-component="notification-card">
|
||||||
@@ -188,11 +208,6 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="sg-card-segment sg-card-segment--body sg-card-segment--signal-green" data-component-part="card-body">
|
|
||||||
<button class="sg-interaction-element sg-button sg-button--active" type="button" data-component="button" data-component-state="active">
|
|
||||||
zum Unternehmen
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="sg-card sg-notifications-pattern__card" data-pattern="notification-small" data-component="notification-card">
|
<article class="sg-card sg-notifications-pattern__card" data-pattern="notification-small" data-component="notification-card">
|
||||||
@@ -202,11 +217,6 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="sg-card-segment sg-card-segment--body sg-card-segment--signal-yellow" data-component-part="card-body">
|
|
||||||
<button class="sg-interaction-element sg-button sg-button--active" type="button" data-component="button" data-component-state="active">
|
|
||||||
zum Unternehmen
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="sg-card sg-card--notification-white sg-notifications-pattern__card" data-pattern="notification-small" data-component="notification-card">
|
<article class="sg-card sg-card--notification-white sg-notifications-pattern__card" data-pattern="notification-small" data-component="notification-card">
|
||||||
@@ -216,11 +226,6 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="sg-card-segment sg-card-segment--body sg-card-segment--white" data-component-part="card-body">
|
|
||||||
<button class="sg-interaction-element sg-button sg-button--active" type="button" data-component="button" data-component-state="active">
|
|
||||||
zum Unternehmen
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -0,0 +1,97 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="de">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Styleguide – Page Layout Public 2 Column</title>
|
||||||
|
<link rel="stylesheet" href="../styleguide.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1 class="sg-main-heading">Layout – Page Layout Public 2 Column</h1>
|
||||||
|
|
||||||
|
<main aria-label="Page Layout Public 2 Column">
|
||||||
|
<header class="sg-portal-header sg-portal-header--auth-segment" aria-label="Public Portal Header" data-pattern="portal-header">
|
||||||
|
<div class="sg-portal-header__auth-row" data-pattern-part="portal-header-action">
|
||||||
|
<div class="sg-tab-button-group" role="tablist" aria-label="Anmeldung" data-component="tab-navigation" data-component-size="large" data-component-context="portal-header">
|
||||||
|
<button class="sg-interaction-element sg-button sg-tab-button" type="button" role="tab" aria-selected="false" data-component-part="tab-button" data-component-state="inactive">
|
||||||
|
Login
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<button class="sg-interaction-element sg-button sg-tab-button" type="button" role="tab" aria-selected="false" data-component-part="tab-button" data-component-state="inactive">
|
||||||
|
Registrieren
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="sg-portal-header__main" data-pattern-part="portal-header-main">
|
||||||
|
<p class="sg-portal-header__brand sg-brand-title" data-pattern-part="portal-header-brand">Portalname</p>
|
||||||
|
|
||||||
|
<nav class="sg-portal-header__tabs sg-tab-button-group" aria-label="Hauptnavigation" data-component="tab-navigation" data-component-size="large" data-component-context="portal-header" data-pattern-part="portal-header-navigation">
|
||||||
|
<button class="sg-interaction-element sg-button sg-tab-button" type="button" aria-selected="true" data-component-part="tab-button" data-component-state="active">Inhalt 1</button>
|
||||||
|
<button class="sg-interaction-element sg-button sg-tab-button" type="button" aria-selected="false" data-component-part="tab-button" data-component-state="inactive">Inhalt 2</button>
|
||||||
|
<button class="sg-interaction-element sg-button sg-tab-button" type="button" aria-selected="false" data-component-part="tab-button" data-component-state="inactive">Inhalt 3</button>
|
||||||
|
<button class="sg-interaction-element sg-button sg-tab-button" type="button" aria-selected="false" data-component-part="tab-button" data-component-state="inactive">Inhalt 4</button>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<div class="sg-page-layout-public__content-mirror">
|
||||||
|
<div class="sg-page-layout-public__heading-block" aria-label="H1 Bereich">
|
||||||
|
<h1 class="sg-heading-h1 sg-text-on-dark">H1 Überschrift</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="sg-page-layout-public-2-column__columns">
|
||||||
|
<article class="sg-card sg-card--content-card sg-card--content-card-dark" data-component="content-card" aria-label="Fusszeile">
|
||||||
|
<div class="sg-card-segment sg-card-segment--body" data-component-part="card-body">
|
||||||
|
<p class="sg-body">
|
||||||
|
Footer links: Platzhaltertext fuer allgemeine Hinweise, Navigation oder Kontaktinformationen im Layout.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<div class="sg-page-layout-public-2-column__text-column">
|
||||||
|
<p class="sg-body sg-text-on-dark">
|
||||||
|
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. Praesent eget sem vel lacus luctus blandit eu in
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<script src="../scripts/help-icon-overlays.js"></script>
|
||||||
|
<script>
|
||||||
|
document.querySelectorAll('.sg-portal-header__tabs, .sg-portal-header__auth-row .sg-tab-button-group, .sg-portal-header__menu-wrap .sg-tab-button-group').forEach((group) => {
|
||||||
|
group.querySelectorAll('.sg-tab-button').forEach((button) => {
|
||||||
|
button.addEventListener('click', () => {
|
||||||
|
group.querySelectorAll('.sg-tab-button').forEach((otherButton) => {
|
||||||
|
const isActive = otherButton === button;
|
||||||
|
otherButton.setAttribute('aria-selected', String(isActive));
|
||||||
|
otherButton.dataset.componentState = isActive ? 'active' : 'inactive';
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
document.querySelectorAll('.sg-sandwich-menu-wrap').forEach((wrap) => {
|
||||||
|
const button = wrap.querySelector('.sg-sandwich-button');
|
||||||
|
|
||||||
|
button.addEventListener('click', (event) => {
|
||||||
|
event.stopPropagation();
|
||||||
|
const nextState = wrap.dataset.open !== 'true';
|
||||||
|
document.querySelectorAll('.sg-sandwich-menu-wrap').forEach((otherWrap) => {
|
||||||
|
const otherButton = otherWrap.querySelector('.sg-sandwich-button');
|
||||||
|
otherWrap.dataset.open = 'false';
|
||||||
|
if (otherButton) {
|
||||||
|
otherButton.setAttribute('aria-expanded', 'false');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
wrap.dataset.open = String(nextState);
|
||||||
|
button.setAttribute('aria-expanded', String(nextState));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -69,7 +69,7 @@
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="sg-table-label sg-text-on-dark">
|
<p class="sg-table-label sg-text-on-dark">
|
||||||
Mobile: Login/Registrieren und Portaltitel in der ersten Zeile; Navigationstasten in einer eigenen Zeile darunter.
|
Mobile: Login/Registrieren und Portaltitel in der ersten Zeile; Hauptmenüpunkte in einer eigenen Basic Card darunter.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<article class="sg-portal-header-pattern-variant" aria-label="Public Portal Header ohne Options Row">
|
<article class="sg-portal-header-pattern-variant" aria-label="Public Portal Header ohne Options Row">
|
||||||
@@ -92,16 +92,20 @@
|
|||||||
|
|
||||||
<div class="sg-portal-header__main" data-pattern-part="portal-header-main">
|
<div class="sg-portal-header__main" data-pattern-part="portal-header-main">
|
||||||
<p class="sg-portal-header__brand sg-brand-title" data-pattern-part="portal-header-brand">Portalname</p>
|
<p class="sg-portal-header__brand sg-brand-title" data-pattern-part="portal-header-brand">Portalname</p>
|
||||||
|
|
||||||
<nav class="sg-portal-header__tabs sg-tab-button-group" aria-label="Hauptnavigation" data-component="tab-navigation" data-component-size="large" data-component-context="portal-header" data-pattern-part="portal-header-navigation">
|
|
||||||
<button class="sg-interaction-element sg-button sg-tab-button" type="button" aria-selected="true" data-component-part="tab-button" data-component-state="active">Inhalt 1</button>
|
|
||||||
<button class="sg-interaction-element sg-button sg-tab-button" type="button" aria-selected="false" data-component-part="tab-button" data-component-state="inactive">Inhalt 2</button>
|
|
||||||
<button class="sg-interaction-element sg-button sg-tab-button" type="button" aria-selected="false" data-component-part="tab-button" data-component-state="inactive">Inhalt 3</button>
|
|
||||||
<button class="sg-interaction-element sg-button sg-tab-button" type="button" aria-selected="false" data-component-part="tab-button" data-component-state="inactive">Inhalt 4</button>
|
|
||||||
</nav>
|
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
|
<article class="sg-card sg-portal-header-pattern-variant__links-card" data-component="basic-card" aria-label="Hauptnavigation">
|
||||||
|
<div class="sg-card-segment sg-card-segment--body sg-card-segment--gray" data-component-part="card-body">
|
||||||
|
<nav class="sg-portal-header__tabs" aria-label="Hauptnavigation" data-pattern-part="portal-header-navigation">
|
||||||
|
<a class="sg-hyperlink" href="#" aria-current="page" data-component="hyperlink">Inhalt 1</a>
|
||||||
|
<a class="sg-hyperlink" href="#" data-component="hyperlink">Inhalt 2</a>
|
||||||
|
<a class="sg-hyperlink" href="#" data-component="hyperlink">Inhalt 3</a>
|
||||||
|
<a class="sg-hyperlink" href="#" data-component="hyperlink">Inhalt 4</a>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
|
||||||
<p class="sg-table-label sg-portal-header-pattern-variant__next-element sg-text-on-dark">
|
<p class="sg-table-label sg-portal-header-pattern-variant__next-element sg-text-on-dark">
|
||||||
Nächstes Element (Abstand nach unten: spacing-large)
|
Nächstes Element (Abstand nach unten: spacing-large)
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -0,0 +1,356 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="de">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Styleguide – Public Page Patterns</title>
|
||||||
|
<link rel="stylesheet" href="../styleguide.css">
|
||||||
|
</head>
|
||||||
|
<body class="sg-page-public-page-patterns">
|
||||||
|
|
||||||
|
<h1 class="sg-main-heading">Patterns – Public Page Patterns</h1>
|
||||||
|
|
||||||
|
<div class="sg-page-layout-public__content-mirror">
|
||||||
|
<section id="public-page-patterns">
|
||||||
|
<p class="sg-preview-label">pattern: Public Page Content left</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<div class="sg-content-group-box" data-component="content-group-box">
|
||||||
|
<div class="sg-text-block" data-component="text-block">
|
||||||
|
<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. Praesent eget sem vel lacus luctus blandit eu in massa.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="sg-preview-label">pattern: Public Page Content right</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<div class="sg-content-group-box" data-component="content-group-box">
|
||||||
|
<div class="sg-text-block sg-text-block--align-right" data-component="text-block">
|
||||||
|
<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. Praesent eget sem vel lacus luctus blandit eu in massa.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="sg-preview-label">Pattern: text and picture right</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<div class="sg-content-group-box" data-component="content-group-box">
|
||||||
|
<div class="sg-public-page-pattern-text-and-picture-right" data-pattern="text-and-picture-right">
|
||||||
|
<h2 class="sg-heading-h2">H2 Überschrift</h2>
|
||||||
|
|
||||||
|
<div class="sg-public-page-pattern-text-and-picture-right__text">
|
||||||
|
<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. Praesent eget sem vel lacus luctus blandit eu in massa.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<img
|
||||||
|
class="sg-picture-full-width"
|
||||||
|
data-component="picture-full-width"
|
||||||
|
src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNjAwIiBoZWlnaHQ9IjkwMCIgdmlld0JveD0iMCAwIDE2MDAgOTAwIj48cmVjdCB3aWR0aD0iMTYwMCIgaGVpZ2h0PSI5MDAiIGZpbGw9IiMyZjM0NDAiLz48cmVjdCB4PSI2NCIgeT0iNjQiIHdpZHRoPSIxNDcyIiBoZWlnaHQ9Ijc3MiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZjNmNGY2IiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1kYXNoYXJyYXJ5PSIyNCAxNiIgb3BhY2l0eT0iMC41NSIvPjx0ZXh0IHg9IjgwMCIgeT0iNDUwIiBmaWxsPSIjZjNmNGY2IiBmb250LWZhbWlseT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgZm9udC1zaXplPSI1MiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+UGljdHVyZSBmdWxsIHdpZHRoPC90ZXh0Pjwvc3ZnPg=="
|
||||||
|
alt="Platzhalterbild für die Picture Full Width Component"
|
||||||
|
width="1600"
|
||||||
|
height="900"
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="sg-preview-label">Pattern: text and picture fullwidth</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<div class="sg-content-group-box" data-component="content-group-box">
|
||||||
|
<div class="sg-public-page-pattern-text-and-picture-fullwidth" data-pattern="text-and-picture-fullwidth">
|
||||||
|
<h2 class="sg-heading-h2">H2 Überschrift</h2>
|
||||||
|
|
||||||
|
<img
|
||||||
|
class="sg-picture-full-width"
|
||||||
|
data-component="picture-full-width"
|
||||||
|
src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNjAwIiBoZWlnaHQ9IjkwMCIgdmlld0JveD0iMCAwIDE2MDAgOTAwIj48cmVjdCB3aWR0aD0iMTYwMCIgaGVpZ2h0PSI5MDAiIGZpbGw9IiMyZjM0NDAiLz48cmVjdCB4PSI2NCIgeT0iNjQiIHdpZHRoPSIxNDcyIiBoZWlnaHQ9Ijc3MiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZjNmNGY2IiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1kYXNoYXJyYXJ5PSIyNCAxNiIgb3BhY2l0eT0iMC41NSIvPjx0ZXh0IHg9IjgwMCIgeT0iNDUwIiBmaWxsPSIjZjNmNGY2IiBmb250LWZhbWlseT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgZm9udC1zaXplPSI1MiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+UGljdHVyZSBmdWxsIHdpZHRoPC90ZXh0Pjwvc3ZnPg=="
|
||||||
|
alt="Platzhalterbild für die Picture Full Width Component"
|
||||||
|
width="1600"
|
||||||
|
height="900"
|
||||||
|
>
|
||||||
|
|
||||||
|
<div class="sg-public-page-pattern-text-and-picture-fullwidth__text">
|
||||||
|
<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. Praesent eget sem vel lacus luctus blandit eu in massa.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="sg-preview-label">Pattern: text and picture left</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<div class="sg-content-group-box" data-component="content-group-box">
|
||||||
|
<div class="sg-public-page-pattern-text-and-picture-left" data-pattern="text-and-picture-left">
|
||||||
|
<h2 class="sg-heading-h2">H2 Überschrift</h2>
|
||||||
|
|
||||||
|
<img
|
||||||
|
class="sg-picture-full-width"
|
||||||
|
data-component="picture-full-width"
|
||||||
|
src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNjAwIiBoZWlnaHQ9IjkwMCIgdmlld0JveD0iMCAwIDE2MDAgOTAwIj48cmVjdCB3aWR0aD0iMTYwMCIgaGVpZ2h0PSI5MDAiIGZpbGw9IiMyZjM0NDAiLz48cmVjdCB4PSI2NCIgeT0iNjQiIHdpZHRoPSIxNDcyIiBoZWlnaHQ9Ijc3MiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZjNmNGY2IiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1kYXNoYXJyYXJ5PSIyNCAxNiIgb3BhY2l0eT0iMC41NSIvPjx0ZXh0IHg9IjgwMCIgeT0iNDUwIiBmaWxsPSIjZjNmNGY2IiBmb250LWZhbWlseT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiIgZm9udC1zaXplPSI1MiIgdGV4dC1hbmNob3I9Im1pZGRsZSI+UGljdHVyZSBmdWxsIHdpZHRoPC90ZXh0Pjwvc3ZnPg=="
|
||||||
|
alt="Platzhalterbild für die Picture Full Width Component"
|
||||||
|
width="1600"
|
||||||
|
height="900"
|
||||||
|
>
|
||||||
|
|
||||||
|
<div class="sg-public-page-pattern-text-and-picture-left__text">
|
||||||
|
<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. Praesent eget sem vel lacus luctus blandit eu in massa.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="sg-preview-label">pattern: Content Focus Box</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<div class="sg-content-group-box" data-component="content-group-box">
|
||||||
|
<article class="sg-card" data-component="basic-card">
|
||||||
|
<div class="sg-card-segment sg-card-segment--body sg-card-segment--gray" data-component-part="card-body">
|
||||||
|
<div class="sg-text-layout-pattern" data-pattern="text-layout-zweispaltig-gestacked" aria-label="Text Layout zweispaltig mobil gestacked">
|
||||||
|
<div class="sg-text-layout-pattern__sample sg-text-layout-pattern__two-column sg-text-layout-pattern__two-column--stacked-mobile" data-pattern-part="text-block-two-column-stacked-mobile">
|
||||||
|
<p class="sg-body sg-text-layout-pattern__column">
|
||||||
|
Text zweispaltig links: Dieses Layout teilt den Text in zwei gleich breite Spalten mit jeweils fünfzig Prozent Breite auf. Es eignet sich besonders für längere inhaltliche Abschnitte, in denen eine kompaktere Zeilenlänge die Lesbarkeit verbessert.
|
||||||
|
</p>
|
||||||
|
<p class="sg-body sg-text-layout-pattern__column">
|
||||||
|
Text zweispaltig rechts: Gleichzeitig bleibt die Informationsdichte hoch, ohne dass der visuelle Rhythmus in langen einspaltigen Textflächen verloren geht. Durch die symmetrische Aufteilung entstehen klare Leseachsen für Analyse- und Detailseiten.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="sg-preview-label">pattern: CTA box left</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<div class="sg-content-group-box" data-component="content-group-box">
|
||||||
|
<article class="sg-card sg-card--content-card sg-card--content-card-dark sg-card--call-to-action-card" data-component="call-to-action-card" aria-label="Call to action Card">
|
||||||
|
<div class="sg-card-segment sg-card-segment--body sg-call-to-action-card__body" data-component-part="card-body">
|
||||||
|
<p class="sg-body sg-call-to-action-card__text">
|
||||||
|
Jetzt passende Inhalte entdecken und direkt mit dem nächsten Schritt starten.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="sg-call-to-action-card__action">
|
||||||
|
<button class="sg-interaction-element sg-button sg-button--cta" type="button" data-component="button" data-component-variant="cta">
|
||||||
|
Call-to-action-Button
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="sg-preview-label">pattern: CTA box left wide right</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<div class="sg-content-group-box" data-component="content-group-box">
|
||||||
|
<article class="sg-card sg-card--content-card sg-card--content-card-dark sg-card--call-to-action-card sg-card--call-to-action-card--wide" data-component="call-to-action-card" data-component-variant="wide" aria-label="Call to action Card wide right">
|
||||||
|
<div class="sg-card-segment sg-card-segment--body sg-call-to-action-card__body" data-component-part="card-body">
|
||||||
|
<p class="sg-body sg-call-to-action-card__text">
|
||||||
|
Jetzt passende Inhalte entdecken und direkt mit dem nächsten Schritt starten.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="sg-call-to-action-card__action">
|
||||||
|
<button class="sg-interaction-element sg-button sg-button--cta" type="button" data-component="button" data-component-variant="cta">
|
||||||
|
Call-to-action-Button
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="sg-preview-label">pattern: CTA box right</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<div class="sg-content-group-box" data-component="content-group-box">
|
||||||
|
<article class="sg-card sg-card--content-card sg-card--content-card-dark sg-card--call-to-action-card sg-call-to-action-card--align-right" data-component="call-to-action-card" aria-label="Call to action Card">
|
||||||
|
<div class="sg-card-segment sg-card-segment--body sg-call-to-action-card__body" data-component-part="card-body">
|
||||||
|
<p class="sg-body sg-call-to-action-card__text">
|
||||||
|
Jetzt passende Inhalte entdecken und direkt mit dem nächsten Schritt starten.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="sg-call-to-action-card__action">
|
||||||
|
<button class="sg-interaction-element sg-button sg-button--cta" type="button" data-component="button" data-component-variant="cta">
|
||||||
|
Call-to-action-Button
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="sg-preview-label">pattern: CTA small button box right</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<div class="sg-content-group-box" data-component="content-group-box">
|
||||||
|
<article class="sg-card sg-card--content-card sg-card--content-card-dark sg-card--call-to-action-card sg-call-to-action-card--align-right" data-component="call-to-action-card" aria-label="Call to action Card">
|
||||||
|
<div class="sg-card-segment sg-card-segment--body sg-call-to-action-card__body" data-component-part="card-body">
|
||||||
|
<p class="sg-body sg-call-to-action-card__text">
|
||||||
|
Jetzt passende Inhalte entdecken und direkt mit dem nächsten Schritt starten.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="sg-call-to-action-card__action">
|
||||||
|
<button class="sg-interaction-element sg-button sg-button--active" type="button" data-component="button" data-component-state="active">
|
||||||
|
Link-Button aktiv
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="sg-preview-label">pattern: CTA small button box right wide</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<div class="sg-content-group-box" data-component="content-group-box">
|
||||||
|
<article class="sg-card sg-card--content-card sg-card--content-card-dark sg-card--call-to-action-card sg-card--call-to-action-card--wide sg-call-to-action-card--align-right" data-component="call-to-action-card" data-component-variant="wide" aria-label="CTA small button box right wide">
|
||||||
|
<div class="sg-card-segment sg-card-segment--body sg-call-to-action-card__body" data-component-part="card-body">
|
||||||
|
<p class="sg-body sg-call-to-action-card__text">
|
||||||
|
Jetzt passende Inhalte entdecken und direkt mit dem nächsten Schritt starten.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="sg-call-to-action-card__action">
|
||||||
|
<button class="sg-interaction-element sg-button sg-button--active" type="button" data-component="button" data-component-state="active">
|
||||||
|
Link-Button aktiv
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="sg-preview-label">Pattern: Newsletter Form</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<div class="sg-content-group-box" data-component="content-group-box">
|
||||||
|
<article class="sg-card sg-card--content-card sg-card--content-card-dark sg-card--call-to-action-card sg-card--call-to-action-card--three-column" data-component="call-to-action-card" data-component-variant="three-column" aria-label="Newsletter Form">
|
||||||
|
<div class="sg-card-segment sg-card-segment--body sg-call-to-action-card__body" data-component-part="card-body">
|
||||||
|
<p class="sg-body sg-call-to-action-card__text">
|
||||||
|
Mit dem Newsletter immer über neue Inhalte informiert bleiben.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="sg-labeled-input-row" data-component="single-line-input" data-component-state="inactive-selectable">
|
||||||
|
<input
|
||||||
|
class="sg-interaction-element sg-input-single-line sg-input-single-line--inactive-selectable sg-form-inactive-selectable"
|
||||||
|
type="email"
|
||||||
|
placeholder="E-Mail-Adresse"
|
||||||
|
aria-label="E-Mail-Adresse"
|
||||||
|
pattern="[^\s@]+@[^\s@]+\.[^\s@]{2,}"
|
||||||
|
required
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="sg-call-to-action-card__action">
|
||||||
|
<button class="sg-interaction-element sg-button sg-button--process sg-button--process-inactive" type="submit" data-component="button" data-component-variant="process" data-component-state="inactive" disabled aria-disabled="true">
|
||||||
|
Prozess Button
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
(() => {
|
||||||
|
const newsletterForm = document.querySelector('.sg-card--call-to-action-card--three-column');
|
||||||
|
if (!newsletterForm) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const input = newsletterForm.querySelector('input[type="email"]');
|
||||||
|
const processButton = newsletterForm.querySelector('.sg-button--process');
|
||||||
|
if (!input || !processButton) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const updateProcessButtonState = () => {
|
||||||
|
const isActive = input.checkValidity();
|
||||||
|
processButton.disabled = !isActive;
|
||||||
|
processButton.setAttribute('aria-disabled', String(!isActive));
|
||||||
|
processButton.setAttribute('data-component-state', isActive ? 'active' : 'inactive');
|
||||||
|
processButton.classList.toggle('sg-button--process-inactive', !isActive);
|
||||||
|
};
|
||||||
|
|
||||||
|
input.addEventListener('input', updateProcessButtonState);
|
||||||
|
updateProcessButtonState();
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<p class="sg-preview-label">pattern: Public Call to Action Box</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<div class="sg-content-group-box" data-component="content-group-box">
|
||||||
|
<article class="sg-card sg-card--content-card sg-card--content-card-dark sg-public-page-pattern-call-to-action-box" data-pattern="public-call-to-action-box" aria-label="Public Call to Action Box">
|
||||||
|
<div class="sg-card-segment sg-card-segment--body" data-component-part="card-body">
|
||||||
|
<ul class="sg-bullet-list">
|
||||||
|
<li>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.</li>
|
||||||
|
<li>Lorem ipsum dolor sit amet, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea.</li>
|
||||||
|
<li>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod ut labore et dolore.</li>
|
||||||
|
<li>Lorem ipsum dolor sit amet, reprehenderit in voluptate velit esse cillum dolore eu fugiat.</li>
|
||||||
|
<li>Lorem ipsum dolor sit amet, cupidatat non proident, sunt in culpa qui officia deserunt mollit.</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="sg-card-segment sg-card-segment--body sg-public-page-pattern-call-to-action-box__action" data-component-part="card-action">
|
||||||
|
<button class="sg-interaction-element sg-button sg-button--cta" type="button" data-component="button" data-component-variant="cta">
|
||||||
|
Call-to-action-Button
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="sg-preview-label">pattern: Public Call to Action Box light</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<div class="sg-content-group-box" data-component="content-group-box">
|
||||||
|
<article class="sg-card sg-card--content-card sg-public-page-pattern-call-to-action-box sg-public-page-pattern-call-to-action-box--light" data-pattern="public-call-to-action-box-light" aria-label="Public Call to Action Box light">
|
||||||
|
<div class="sg-card-segment sg-card-segment--body" data-component-part="card-body">
|
||||||
|
<ul class="sg-bullet-list">
|
||||||
|
<li>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.</li>
|
||||||
|
<li>Lorem ipsum dolor sit amet, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea.</li>
|
||||||
|
<li>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod ut labore et dolore.</li>
|
||||||
|
<li>Lorem ipsum dolor sit amet, reprehenderit in voluptate velit esse cillum dolore eu fugiat.</li>
|
||||||
|
<li>Lorem ipsum dolor sit amet, cupidatat non proident, sunt in culpa qui officia deserunt mollit.</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="sg-card-segment sg-card-segment--body sg-public-page-pattern-call-to-action-box__action" data-component-part="card-action">
|
||||||
|
<button class="sg-interaction-element sg-button sg-button--cta" type="button" data-component="button" data-component-variant="cta">
|
||||||
|
Call-to-action-Button
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="sg-preview-label">pattern: picture full width</p>
|
||||||
|
|
||||||
|
<div class="sg-preview-area">
|
||||||
|
<div class="sg-content-group-box" data-component="content-group-box">
|
||||||
|
<img
|
||||||
|
class="sg-picture-full-width"
|
||||||
|
data-component="picture-full-width"
|
||||||
|
src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNjAwIiBoZWlnaHQ9IjkwMCIgdmlld0JveD0iMCAwIDE2MDAgOTAwIj48cmVjdCB3aWR0aD0iMTYwMCIgaGVpZ2h0PSI5MDAiIGZpbGw9IiMyZjM0NDAiLz48cmVjdCB4PSI2NCIgeT0iNjQiIHdpZHRoPSIxNDcyIiBoZWlnaHQ9Ijc3MiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZjNmNGY2IiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1kYXNoYXJyYXk9IjI0IDE2IiBvcGFjaXR5PSIwLjU1Ii8+PHRleHQgeD0iODAwIiB5PSI0NTAiIGZpbGw9IiNmM2Y0ZjYiIGZvbnQtZmFtaWx5PSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIiBmb250LXNpemU9IjUyIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj5QaWN0dXJlIGZ1bGwgd2lkdGg8L3RleHQ+PC9zdmc+"
|
||||||
|
alt="Platzhalterbild für die Picture Full Width Component"
|
||||||
|
width="1600"
|
||||||
|
height="900"
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
+36
-32
@@ -6,56 +6,60 @@
|
|||||||
<title>Styleguide – Pattern Text Layouts</title>
|
<title>Styleguide – Pattern Text Layouts</title>
|
||||||
<link rel="stylesheet" href="../styleguide.css">
|
<link rel="stylesheet" href="../styleguide.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body class="sg-page-text-layouts">
|
||||||
|
|
||||||
<h1 class="sg-main-heading">Pattern – Text Layouts</h1>
|
<h1 class="sg-main-heading">Pattern – Text Layouts</h1>
|
||||||
<section id="pattern-text-layouts">
|
<section id="pattern-text-layouts">
|
||||||
<p class="sg-preview-label">Pattern: Text Layout ganze Breite</p>
|
<p class="sg-preview-label">Pattern: Text Layout ganze Breite</p>
|
||||||
<div class="sg-text-layout-pattern" data-pattern="text-layout-ganze-breite" aria-label="Text Layout ganze Breite">
|
<div class="sg-text-layout-pattern" data-pattern="text-layout-ganze-breite" aria-label="Text Layout ganze Breite">
|
||||||
<div class="sg-text-layout-pattern__preview-surface">
|
<p class="sg-body sg-text-layout-pattern__sample sg-text-layout-pattern__sample--full-width" data-pattern-part="text-block-full-width">
|
||||||
<p class="sg-body sg-text-layout-pattern__sample sg-text-layout-pattern__sample--full-width" data-pattern-part="text-block-full-width">
|
Text 100% Breite: Dieser Textblock nimmt die komplette verfügbare Breite des Containers ein und eignet sich für lineare Erklärungen, einleitende Kontexte und Fliesstext ohne Nebenspalte.
|
||||||
Text 100% Breite: Dieser Textblock nimmt die komplette verfügbare Breite des Containers ein und eignet sich für lineare Erklärungen, einleitende Kontexte und Fliesstext ohne Nebenspalte.
|
</p>
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p class="sg-preview-label">Pattern: Text 60% Breite</p>
|
<p class="sg-preview-label">Pattern: Text 60% Breite</p>
|
||||||
<div class="sg-text-layout-pattern" data-pattern="text-layout-sechzig-prozent" aria-label="Text Layout 60 Prozent Breite">
|
<div class="sg-text-layout-pattern" data-pattern="text-layout-sechzig-prozent" aria-label="Text Layout 60 Prozent Breite">
|
||||||
<div class="sg-text-layout-pattern__preview-surface">
|
<p class="sg-body sg-text-layout-pattern__sample sg-text-layout-pattern__sample--sixty-width" data-pattern-part="text-block-sixty-width">
|
||||||
<p class="sg-body sg-text-layout-pattern__sample sg-text-layout-pattern__sample--sixty-width" data-pattern-part="text-block-sixty-width">
|
Text 60% Breite: Dieser Textblock nutzt sechzig Prozent der Containerbreite und schafft dadurch bewusst mehr Luft für begleitende Inhalte wie Metriken, Visuals oder Kontextinformationen.
|
||||||
Text 60% Breite: Dieser Textblock nutzt sechzig Prozent der Containerbreite und schafft dadurch bewusst mehr Luft für begleitende Inhalte wie Metriken, Visuals oder Kontextinformationen.
|
</p>
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p class="sg-preview-label">Pattern: Text zweispaltig (mobil zweispaltig)</p>
|
<p class="sg-preview-label">Pattern: Text zweispaltig (mobil zweispaltig)</p>
|
||||||
<div class="sg-text-layout-pattern" data-pattern="text-layout-zweispaltig" aria-label="Text Layout zweispaltig mobil zweispaltig">
|
<div class="sg-text-layout-pattern" data-pattern="text-layout-zweispaltig" aria-label="Text Layout zweispaltig mobil zweispaltig">
|
||||||
<div class="sg-text-layout-pattern__preview-surface">
|
<div class="sg-text-layout-pattern__sample sg-text-layout-pattern__two-column" data-pattern-part="text-block-two-column">
|
||||||
<div class="sg-text-layout-pattern__sample sg-text-layout-pattern__two-column" data-pattern-part="text-block-two-column">
|
<p class="sg-body sg-text-layout-pattern__column">
|
||||||
<p class="sg-body sg-text-layout-pattern__column">
|
Text zweispaltig links: Dieses Layout teilt den Text in zwei gleich breite Spalten mit jeweils fünfzig Prozent Breite auf. Es eignet sich besonders für längere inhaltliche Abschnitte, in denen eine kompaktere Zeilenlänge die Lesbarkeit verbessert.
|
||||||
Text zweispaltig links: Dieses Layout teilt den Text in zwei gleich breite Spalten mit jeweils fünfzig Prozent Breite auf. Es eignet sich besonders für längere inhaltliche Abschnitte, in denen eine kompaktere Zeilenlänge die Lesbarkeit verbessert.
|
</p>
|
||||||
</p>
|
<p class="sg-body sg-text-layout-pattern__column">
|
||||||
<p class="sg-body sg-text-layout-pattern__column">
|
Text zweispaltig rechts: Gleichzeitig bleibt die Informationsdichte hoch, ohne dass der visuelle Rhythmus in langen einspaltigen Textflächen verloren geht. Durch die symmetrische Aufteilung entstehen klare Leseachsen für Analyse- und Detailseiten.
|
||||||
Text zweispaltig rechts: Gleichzeitig bleibt die Informationsdichte hoch, ohne dass der visuelle Rhythmus in langen einspaltigen Textflächen verloren geht. Durch die symmetrische Aufteilung entstehen klare Leseachsen für Analyse- und Detailseiten.
|
</p>
|
||||||
</p>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<p class="sg-preview-label">Pattern: Text zweispaltig (mobil gestacked)</p>
|
||||||
|
<div class="sg-text-layout-pattern" data-pattern="text-layout-zweispaltig-gestacked" aria-label="Text Layout zweispaltig mobil gestacked">
|
||||||
|
<div class="sg-text-layout-pattern__sample sg-text-layout-pattern__two-column sg-text-layout-pattern__two-column--stacked-mobile" data-pattern-part="text-block-two-column-stacked-mobile">
|
||||||
|
<p class="sg-body sg-text-layout-pattern__column">
|
||||||
|
Text zweispaltig links: Dieses Layout teilt den Text in zwei gleich breite Spalten mit jeweils fünfzig Prozent Breite auf. Es eignet sich besonders für längere inhaltliche Abschnitte, in denen eine kompaktere Zeilenlänge die Lesbarkeit verbessert.
|
||||||
|
</p>
|
||||||
|
<p class="sg-body sg-text-layout-pattern__column">
|
||||||
|
Text zweispaltig rechts: Gleichzeitig bleibt die Informationsdichte hoch, ohne dass der visuelle Rhythmus in langen einspaltigen Textflächen verloren geht. Durch die symmetrische Aufteilung entstehen klare Leseachsen für Analyse- und Detailseiten.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p class="sg-preview-label">Pattern: Dreispaltig verteilt (mobil dreispaltig)</p>
|
<p class="sg-preview-label">Pattern: Dreispaltig verteilt (mobil dreispaltig)</p>
|
||||||
<div class="sg-text-layout-pattern" data-pattern="text-layout-dreispaltig-verteilt" aria-label="Text Layout dreispaltig verteilt mobil dreispaltig">
|
<div class="sg-text-layout-pattern" data-pattern="text-layout-dreispaltig-verteilt" aria-label="Text Layout dreispaltig verteilt mobil dreispaltig">
|
||||||
<div class="sg-text-layout-pattern__preview-surface">
|
<div class="sg-text-layout-pattern__sample sg-text-layout-pattern__three-column-distributed" data-pattern-part="text-block-three-column-distributed">
|
||||||
<div class="sg-text-layout-pattern__sample sg-text-layout-pattern__three-column-distributed" data-pattern-part="text-block-three-column-distributed">
|
<p class="sg-body sg-text-layout-pattern__column sg-text-layout-pattern__column--align-left">
|
||||||
<p class="sg-body sg-text-layout-pattern__column sg-text-layout-pattern__column--align-left">
|
Linke Spalte linksbündig: Diese Spalte führt den Inhalt mit einer klaren Startkante und eignet sich für einleitende Aussagen oder Kontext, die direkt in den Lesefluss einsteigen sollen.
|
||||||
Linke Spalte linksbündig: Diese Spalte führt den Inhalt mit einer klaren Startkante und eignet sich für einleitende Aussagen oder Kontext, die direkt in den Lesefluss einsteigen sollen.
|
</p>
|
||||||
</p>
|
<p class="sg-body sg-text-layout-pattern__column sg-text-layout-pattern__column--align-center">
|
||||||
<p class="sg-body sg-text-layout-pattern__column sg-text-layout-pattern__column--align-center">
|
Mittlere Spalte mittelachsig: Diese Spalte zentriert den Text auf der Mittelachse und eignet sich für vergleichende Kernaussagen, die visuell als Schwerpunkt zwischen den Randspalten stehen sollen.
|
||||||
Mittlere Spalte mittelachsig: Diese Spalte zentriert den Text auf der Mittelachse und eignet sich für vergleichende Kernaussagen, die visuell als Schwerpunkt zwischen den Randspalten stehen sollen.
|
</p>
|
||||||
</p>
|
<p class="sg-body sg-text-layout-pattern__column sg-text-layout-pattern__column--align-right">
|
||||||
<p class="sg-body sg-text-layout-pattern__column sg-text-layout-pattern__column--align-right">
|
Rechte Spalte rechtsbündig: Diese Spalte schließt den Abschnitt mit einer klaren Endkante ab und eignet sich für ergänzende Hinweise oder abschließende Perspektiven im gleichen Inhaltsblock.
|
||||||
Rechte Spalte rechtsbündig: Diese Spalte schließt den Abschnitt mit einer klaren Endkante ab und eignet sich für ergänzende Hinweise oder abschließende Perspektiven im gleichen Inhaltsblock.
|
</p>
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -1,283 +0,0 @@
|
|||||||
<!doctype html>
|
|
||||||
<html lang="de">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Styleguide – Pattern VSF Portal Header Public</title>
|
|
||||||
<link rel="stylesheet" href="../styleguide.css">
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<h1 class="sg-main-heading">Pattern – VSF Portal Header Public</h1>
|
|
||||||
|
|
||||||
<section id="pattern-portal-header">
|
|
||||||
<article class="sg-portal-header-pattern-variant" aria-label="Portal Header ohne Options Row">
|
|
||||||
<header class="sg-portal-header" aria-label="Portal Header" data-pattern="portal-header">
|
|
||||||
<div class="sg-portal-header__main" data-pattern-part="portal-header-main">
|
|
||||||
<p class="sg-portal-header__brand sg-brand-title" data-pattern-part="portal-header-brand">ValueStockFinder</p>
|
|
||||||
|
|
||||||
<div class="sg-portal-header__menu-wrap" data-pattern-part="portal-header-action">
|
|
||||||
<div class="sg-tab-button-group" role="tablist" aria-label="Anmeldung" data-component="tab-navigation" data-component-size="large" data-component-context="portal-header">
|
|
||||||
<button class="sg-interaction-element sg-button sg-tab-button" type="button" role="tab" aria-selected="false" data-component-part="tab-button" data-component-state="inactive">
|
|
||||||
Login
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<button class="sg-interaction-element sg-button sg-tab-button" type="button" role="tab" aria-selected="false" data-component-part="tab-button" data-component-state="inactive">
|
|
||||||
Registrieren
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<nav class="sg-portal-header__tabs sg-tab-button-group" aria-label="Hauptnavigation" data-component="tab-navigation" data-component-size="large" data-component-context="portal-header" data-pattern-part="portal-header-navigation">
|
|
||||||
<button class="sg-interaction-element sg-button sg-tab-button" type="button" aria-selected="true" data-component-part="tab-button" data-component-state="active">Übersicht</button>
|
|
||||||
<button class="sg-interaction-element sg-button sg-tab-button" type="button" aria-selected="false" data-component-part="tab-button" data-component-state="inactive">Features</button>
|
|
||||||
<button class="sg-interaction-element sg-button sg-tab-button" type="button" aria-selected="false" data-component-part="tab-button" data-component-state="inactive">Preise</button>
|
|
||||||
<button class="sg-interaction-element sg-button sg-tab-button" type="button" aria-selected="false" data-component-part="tab-button" data-component-state="inactive">Firma der Woche</button>
|
|
||||||
</nav>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<div class="sg-transparent-card sg-portal-header-pattern-variant__next-element" aria-label="Willkommen bei ValueStockFinder" data-component="transparent-card">
|
|
||||||
<h1 class="sg-heading-h1 sg-text-on-dark">Willkommen bei ValueStockFinder</h1>
|
|
||||||
</div>
|
|
||||||
</article>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<script src="../scripts/help-icon-overlays.js"></script>
|
|
||||||
<script>
|
|
||||||
document.querySelectorAll('.sg-portal-header__tabs, .sg-portal-header__menu-wrap .sg-tab-button-group').forEach((group) => {
|
|
||||||
group.querySelectorAll('.sg-tab-button').forEach((button) => {
|
|
||||||
button.addEventListener('click', () => {
|
|
||||||
group.querySelectorAll('.sg-tab-button').forEach((otherButton) => {
|
|
||||||
const isActive = otherButton === button;
|
|
||||||
otherButton.setAttribute('aria-selected', String(isActive));
|
|
||||||
otherButton.dataset.componentState = isActive ? 'active' : 'inactive';
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
document.querySelectorAll('.sg-sandwich-menu-wrap').forEach((wrap) => {
|
|
||||||
const button = wrap.querySelector('.sg-sandwich-button');
|
|
||||||
|
|
||||||
button.addEventListener('click', (event) => {
|
|
||||||
event.stopPropagation();
|
|
||||||
const nextState = wrap.dataset.open !== 'true';
|
|
||||||
document.querySelectorAll('.sg-sandwich-menu-wrap').forEach((otherWrap) => {
|
|
||||||
const otherButton = otherWrap.querySelector('.sg-sandwich-button');
|
|
||||||
otherWrap.dataset.open = 'false';
|
|
||||||
if (otherButton) {
|
|
||||||
otherButton.setAttribute('aria-expanded', 'false');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
wrap.dataset.open = String(nextState);
|
|
||||||
button.setAttribute('aria-expanded', String(nextState));
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
document.querySelectorAll('.sg-mode-toggle').forEach((toggle) => {
|
|
||||||
toggle.addEventListener('click', () => {
|
|
||||||
const nextState = toggle.dataset.active === 'relative' ? 'absolute' : 'relative';
|
|
||||||
toggle.dataset.active = nextState;
|
|
||||||
toggle.dataset.componentState = nextState;
|
|
||||||
toggle.setAttribute(
|
|
||||||
'aria-label',
|
|
||||||
`Modus Schieber global: ${nextState === 'relative' ? 'relativ' : 'absolut'} aktiv`
|
|
||||||
);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
const updatePulldownSelectionState = (demo) => {
|
|
||||||
const trigger = demo.querySelector('.sg-pulldown-demo__trigger');
|
|
||||||
const selectableOptions = demo.querySelectorAll('[data-pulldown-option]');
|
|
||||||
|
|
||||||
if (!trigger || selectableOptions.length === 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const selectedCount = Array.from(selectableOptions).filter((option) => {
|
|
||||||
return option.getAttribute('aria-checked') === 'true';
|
|
||||||
}).length;
|
|
||||||
|
|
||||||
selectableOptions.forEach((option) => {
|
|
||||||
const optionRow = option.closest('.sg-pulldown-option');
|
|
||||||
if (!optionRow) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
optionRow.classList.toggle(
|
|
||||||
'sg-pulldown-option--selected',
|
|
||||||
option.getAttribute('aria-checked') === 'true'
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
const labelBase = trigger.dataset.labelBase || 'Auswahl';
|
|
||||||
|
|
||||||
trigger.textContent = selectedCount > 0 ? `${labelBase} (${selectedCount})` : labelBase;
|
|
||||||
trigger.classList.toggle('sg-pulldown--selected', selectedCount > 0);
|
|
||||||
trigger.classList.toggle('sg-form-active', selectedCount > 0);
|
|
||||||
trigger.dataset.componentState = selectedCount > 0 ? 'selected' : 'inactive-selectable';
|
|
||||||
demo.dataset.componentState = selectedCount > 0 ? 'selected' : 'inactive-selectable';
|
|
||||||
trigger.setAttribute(
|
|
||||||
'aria-label',
|
|
||||||
selectedCount > 0 ? `Pulldown ${labelBase} mit aktiver Auswahl` : `Pulldown ${labelBase} ohne aktive Auswahl`
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
document.querySelectorAll('.sg-pulldown-demo').forEach((demo) => {
|
|
||||||
const trigger = demo.querySelector('.sg-pulldown-demo__trigger');
|
|
||||||
|
|
||||||
if (!trigger) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
trigger.addEventListener('click', (event) => {
|
|
||||||
event.stopPropagation();
|
|
||||||
const nextState = demo.dataset.open !== 'true';
|
|
||||||
|
|
||||||
document.querySelectorAll('.sg-pulldown-demo').forEach((otherDemo) => {
|
|
||||||
const otherTrigger = otherDemo.querySelector('.sg-pulldown-demo__trigger');
|
|
||||||
otherDemo.dataset.open = 'false';
|
|
||||||
if (otherTrigger) {
|
|
||||||
otherTrigger.setAttribute('aria-expanded', 'false');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
demo.dataset.align = 'left';
|
|
||||||
demo.dataset.open = String(nextState);
|
|
||||||
trigger.setAttribute('aria-expanded', String(nextState));
|
|
||||||
|
|
||||||
if (!nextState) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const panel = demo.querySelector('.sg-pulldown-panel');
|
|
||||||
if (!panel) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const panelRect = panel.getBoundingClientRect();
|
|
||||||
if (panelRect.right > window.innerWidth) {
|
|
||||||
demo.dataset.align = 'right';
|
|
||||||
}
|
|
||||||
|
|
||||||
const alignedPanelRect = panel.getBoundingClientRect();
|
|
||||||
if (alignedPanelRect.left < 0) {
|
|
||||||
demo.dataset.align = 'left';
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
document.querySelectorAll('.sg-checkbox-field').forEach((checkbox) => {
|
|
||||||
checkbox.addEventListener('click', (event) => {
|
|
||||||
event.stopPropagation();
|
|
||||||
if (checkbox.disabled) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const nextState = checkbox.getAttribute('aria-checked') !== 'true';
|
|
||||||
checkbox.setAttribute('aria-checked', String(nextState));
|
|
||||||
|
|
||||||
const pulldownDemo = checkbox.closest('.sg-pulldown-demo');
|
|
||||||
if (pulldownDemo) {
|
|
||||||
updatePulldownSelectionState(pulldownDemo);
|
|
||||||
pulldownDemo.dataset.open = 'true';
|
|
||||||
const trigger = pulldownDemo.querySelector('.sg-pulldown-demo__trigger');
|
|
||||||
if (trigger) {
|
|
||||||
trigger.setAttribute('aria-expanded', 'true');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
document.querySelectorAll('.sg-pulldown-option[data-pulldown-option]').forEach((option) => {
|
|
||||||
option.addEventListener('click', (event) => {
|
|
||||||
event.stopPropagation();
|
|
||||||
const pulldownDemo = option.closest('.sg-pulldown-demo');
|
|
||||||
if (pulldownDemo) {
|
|
||||||
const selectionMode = pulldownDemo.dataset.selectionMode || 'single';
|
|
||||||
if (selectionMode === 'multiple') {
|
|
||||||
const nextState = option.getAttribute('aria-checked') !== 'true';
|
|
||||||
option.setAttribute('aria-checked', String(nextState));
|
|
||||||
} else {
|
|
||||||
pulldownDemo.querySelectorAll('[data-pulldown-option]').forEach((otherOption) => {
|
|
||||||
otherOption.setAttribute('aria-checked', String(otherOption === option));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
updatePulldownSelectionState(pulldownDemo);
|
|
||||||
const trigger = pulldownDemo.querySelector('.sg-pulldown-demo__trigger');
|
|
||||||
if (selectionMode === 'multiple') {
|
|
||||||
pulldownDemo.dataset.open = 'true';
|
|
||||||
if (trigger) {
|
|
||||||
trigger.setAttribute('aria-expanded', 'true');
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
pulldownDemo.dataset.open = 'false';
|
|
||||||
if (trigger) {
|
|
||||||
trigger.setAttribute('aria-expanded', 'false');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
document.querySelectorAll('.sg-pulldown-demo').forEach(updatePulldownSelectionState);
|
|
||||||
|
|
||||||
window.sgInitHelpIconOverlays({
|
|
||||||
closeOnOpenSelectors: ['.sg-pulldown-demo', '.sg-sandwich-menu-wrap'],
|
|
||||||
outsideClickIgnoreSelectors: ['.sg-pulldown-demo', '.sg-sandwich-menu-wrap'],
|
|
||||||
});
|
|
||||||
|
|
||||||
document.querySelectorAll('.sg-input-single-line-wrap').forEach((wrap) => {
|
|
||||||
const input = wrap.querySelector('.sg-input-single-line');
|
|
||||||
const clearButton = wrap.querySelector('.sg-input-clear-button');
|
|
||||||
|
|
||||||
if (!input || !clearButton) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const updateState = () => {
|
|
||||||
wrap.dataset.hasValue = String(input.value.length > 0);
|
|
||||||
wrap.dataset.componentState = input.value.length > 0 ? 'active' : 'inactive-selectable';
|
|
||||||
};
|
|
||||||
|
|
||||||
input.addEventListener('input', updateState);
|
|
||||||
|
|
||||||
clearButton.addEventListener('click', () => {
|
|
||||||
input.value = '';
|
|
||||||
updateState();
|
|
||||||
input.focus();
|
|
||||||
});
|
|
||||||
|
|
||||||
updateState();
|
|
||||||
});
|
|
||||||
|
|
||||||
document.addEventListener('click', (event) => {
|
|
||||||
if (!event.target.closest('.sg-sandwich-menu-wrap')) {
|
|
||||||
document.querySelectorAll('.sg-sandwich-menu-wrap').forEach((wrap) => {
|
|
||||||
const button = wrap.querySelector('.sg-sandwich-button');
|
|
||||||
wrap.dataset.open = 'false';
|
|
||||||
if (button) {
|
|
||||||
button.setAttribute('aria-expanded', 'false');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (event.target.closest('.sg-pulldown-demo')) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
document.querySelectorAll('.sg-pulldown-demo').forEach((demo) => {
|
|
||||||
const trigger = demo.querySelector('.sg-pulldown-demo__trigger');
|
|
||||||
demo.dataset.open = 'false';
|
|
||||||
if (trigger) {
|
|
||||||
trigger.setAttribute('aria-expanded', 'false');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -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>
|
||||||
@@ -84,6 +93,50 @@
|
|||||||
</table>
|
</table>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<section id="semantic-public-page-components">
|
||||||
|
<h2 class="sg-sub-heading sg-section-h2">Public Page Components</h2>
|
||||||
|
|
||||||
|
<h3 class="sg-sub-heading sg-section-h3">Content Group Box</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>surface-content-group-box</td><td>color-transparent</td><td>Transparente Fläche der Wrapper-Component.</td></tr>
|
||||||
|
<tr><td>layout-content-group-box-gap</td><td>spacing-large</td><td>Vertikaler Abstand zwischen den direkten Abschnitts-Containern innerhalb der Wrapper-Component.</td></tr>
|
||||||
|
<tr><td>layout-content-group-box-margin-block</td><td>spacing-large</td><td>Oberer und unterer Außenabstand der Wrapper-Component.</td></tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<h3 class="sg-sub-heading sg-section-h3">Public Page Content left</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>surface-text-block</td><td>color-transparent</td><td>Transparente Fläche des Textblocks.</td></tr>
|
||||||
|
<tr><td>text-text-block</td><td>color-font-light</td><td>Standard-Textfarbe des Textblocks.</td></tr>
|
||||||
|
<tr><td>layout-text-block-width</td><td>dimension-public-content-width</td><td>Breite des Textblocks im Page-Layout.</td></tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<h3 class="sg-sub-heading sg-section-h3">Call to action Card</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>surface-call-to-action-card</td><td>surface-card-group</td><td>Fläche der Call-to-action-Card als dunkle Content-Card-Variante.</td></tr>
|
||||||
|
<tr><td>text-call-to-action-card</td><td>color-font-light</td><td>Textfarbe in der Call-to-action-Card.</td></tr>
|
||||||
|
<tr><td>layout-call-to-action-card-width</td><td>calc(var(--dimension-public-content-width) * 0.5); calc(var(--dimension-public-content-width) * 0.7) in der Wide-Variante; dimension-public-content-width in der Drei-Spalten-Variante</td><td>Breite der Card im Page-Layout; die Wide-Variante nutzt 70 % der Content-Breite und ist rechtsbündig ausgerichtet, die Drei-Spalten-Variante nutzt die volle Content-Breite.</td></tr>
|
||||||
|
<tr><td>layout-call-to-action-card-content-columns</td><td>minmax(0, 1fr) max-content; minmax(0, 1fr) 30% max-content in der Drei-Spalten-Variante</td><td>Zweispaltiges Standardlayout oder dreispaltiges Layout mit flexibler Textspalte, 30% Formularfeldspalte und Inhaltsbreite der Aktion; auf kleinen Viewports einspaltig.</td></tr>
|
||||||
|
<tr><td>layout-call-to-action-card-content-gap</td><td>spacing-large</td><td>Abstand zwischen Text und Button.</td></tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<h3 class="sg-sub-heading sg-section-h3">Picture Full Width</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>radius-picture-full-width</td><td>radius-card</td><td>Border-Radius des Full-Width-Bildes.</td></tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</section>
|
||||||
|
|
||||||
<section id="semantic-interactive">
|
<section id="semantic-interactive">
|
||||||
<h2 class="sg-sub-heading sg-section-h2">Interactive Elements</h2>
|
<h2 class="sg-sub-heading sg-section-h2">Interactive Elements</h2>
|
||||||
|
|
||||||
@@ -99,6 +152,16 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
<h3 class="sg-sub-heading sg-section-h3">Call-to-action-Button</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>surface-button-cta</td><td>color-darkblue</td><td>Fläche des Call-to-action-Buttons.</td></tr>
|
||||||
|
<tr><td>text-button-cta</td><td>color-font-light</td><td>Textfarbe des Call-to-action-Buttons.</td></tr>
|
||||||
|
<tr><td>layout-button-cta-padding</td><td>spacing-large</td><td>Innenabstand des Call-to-action-Buttons auf allen Seiten.</td></tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
<h3 class="sg-sub-heading sg-section-h3">Tabs</h3>
|
<h3 class="sg-sub-heading sg-section-h3">Tabs</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>
|
<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>surface-tab-selected</td><td>color-dark-grey</td><td>Fläche des ausgewählten Tabs.</td></tr>
|
<tr><td>surface-tab-selected</td><td>color-dark-grey</td><td>Fläche des ausgewählten Tabs.</td></tr>
|
||||||
|
|||||||
@@ -30,7 +30,8 @@
|
|||||||
<tr><td>layout-object-card-shared-width</td><td>auto</td><td>Geteilte Laufzeitbreite für gekoppelte Object-Card-Instanzen.</td></tr>
|
<tr><td>layout-object-card-shared-width</td><td>auto</td><td>Geteilte Laufzeitbreite für gekoppelte Object-Card-Instanzen.</td></tr>
|
||||||
<tr><td>layout-content-cards-group-gap</td><td>spacing-small</td><td>Abstand zwischen Inhaltsblock-Karten innerhalb der Gruppe.</td></tr>
|
<tr><td>layout-content-cards-group-gap</td><td>spacing-small</td><td>Abstand zwischen Inhaltsblock-Karten innerhalb der Gruppe.</td></tr>
|
||||||
<tr><td>layout-card-list-drawer-width</td><td>dimension-card-list-drawer-width</td><td>Breite des ausziehbaren Card-Listenbereichs relativ zum Container.</td></tr>
|
<tr><td>layout-card-list-drawer-width</td><td>dimension-card-list-drawer-width</td><td>Breite des ausziehbaren Card-Listenbereichs relativ zum Container.</td></tr>
|
||||||
<tr><td>layout-public-content-element-width</td><td>60%</td><td>Standardbreite eines rechtsbündigen Public-Content-Elements innerhalb einer Wrapper-Card.</td></tr>
|
<tr><td>layout-page-layout-public-2-column-columns</td><td>repeat(2, minmax(0, 1fr))</td><td>Spaltenraster des Layouts <code>Layout – Page Layout Public 2 Column</code>.</td></tr>
|
||||||
|
<tr><td>layout-page-layout-public-2-column-gap</td><td>spacing-large</td><td>Horizontaler Abstand zwischen den beiden Inhalts-Spalten im Layout <code>Layout – Page Layout Public 2 Column</code>.</td></tr>
|
||||||
</tbody></table>
|
</tbody></table>
|
||||||
|
|
||||||
<h3 class="sg-sub-heading sg-section-h3">Valuestockfinder Layouts</h3>
|
<h3 class="sg-sub-heading sg-section-h3">Valuestockfinder Layouts</h3>
|
||||||
|
|||||||
@@ -13,6 +13,19 @@
|
|||||||
<section id="semantic-patterns">
|
<section id="semantic-patterns">
|
||||||
<h2 class="sg-sub-heading sg-section-h2">Patterns</h2>
|
<h2 class="sg-sub-heading sg-section-h2">Patterns</h2>
|
||||||
|
|
||||||
|
<h3 class="sg-sub-heading sg-section-h3">Public Page Patterns</h3>
|
||||||
|
<table class="sg-foundation-table sg-table-label">
|
||||||
|
<thead><tr><th>Semantischer Token</th><th>Verwendeter Foundation-Token</th><th>Beschreibung Verwendungszweck im Pattern</th></tr></thead>
|
||||||
|
<tbody>
|
||||||
|
<tr><td>layout-public-page-pattern-content-width</td><td>dimension-public-content-width</td><td>Gemeinsame Breite für Inhalte im Public-Page-Pattern-Kontext.</td></tr>
|
||||||
|
<tr><td>layout-public-page-pattern-text-picture-columns</td><td>repeat(2, minmax(0, 1fr))</td><td>Spaltenraster des Patterns <code>Pattern: text and picture right</code> mit zwei gleich breiten Spalten.</td></tr>
|
||||||
|
<tr><td>layout-public-page-pattern-text-picture-gap</td><td>spacing-large</td><td>Spaltenabstand zwischen Text und Bild im Pattern <code>Pattern: text and picture right</code>.</td></tr>
|
||||||
|
<tr><td>text-public-page-pattern-text-picture</td><td>color-font-light</td><td>Textfarbe des Patterns <code>Pattern: text and picture right</code>.</td></tr>
|
||||||
|
<tr><td>layout-public-page-pattern-call-to-action-box-width</td><td>calc(var(--dimension-public-content-width) * 0.5)</td><td>Breite der dunklen Public Call to Action Box im Public-Page-Pattern-Kontext.</td></tr>
|
||||||
|
<tr><td>surface-public-page-pattern-call-to-action-box-light</td><td>color-light-grey</td><td>Hintergrundfläche der Variante <code>Pattern: Public Call to Action Box light</code>.</td></tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
<h3 class="sg-sub-heading sg-section-h3">Portal Header</h3>
|
<h3 class="sg-sub-heading sg-section-h3">Portal Header</h3>
|
||||||
<table class="sg-foundation-table sg-table-label"><thead><tr><th>Semantischer Token</th><th>Verwendeter Foundation-Token</th><th>Beschreibung Verwendungszweck im Pattern</th></tr></thead><tbody>
|
<table class="sg-foundation-table sg-table-label"><thead><tr><th>Semantischer Token</th><th>Verwendeter Foundation-Token</th><th>Beschreibung Verwendungszweck im Pattern</th></tr></thead><tbody>
|
||||||
<tr><td>surface-portal-header</td><td>color-darkblue</td><td>Header-Grundfläche.</td></tr>
|
<tr><td>surface-portal-header</td><td>color-darkblue</td><td>Header-Grundfläche.</td></tr>
|
||||||
|
|||||||
@@ -24,3 +24,5 @@
|
|||||||
@import "./styles/41-components-charts.css";
|
@import "./styles/41-components-charts.css";
|
||||||
@import "./styles/42-components-data-display.css";
|
@import "./styles/42-components-data-display.css";
|
||||||
@import "./styles/43-components-typography.css";
|
@import "./styles/43-components-typography.css";
|
||||||
|
@import "./styles/44-components-public-page-components.css";
|
||||||
|
@import "./styles/45-patterns-public-page-patterns.css";
|
||||||
|
|||||||
@@ -15,7 +15,9 @@
|
|||||||
--color-white: #FFFFFF;
|
--color-white: #FFFFFF;
|
||||||
--color-process-inactive: #FFAE79;
|
--color-process-inactive: #FFAE79;
|
||||||
--color-signal-green: #009101;
|
--color-signal-green: #009101;
|
||||||
|
--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;
|
||||||
@@ -174,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);
|
||||||
@@ -186,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);
|
||||||
@@ -193,13 +197,17 @@
|
|||||||
--surface-navigation-card-body: var(--color-white);
|
--surface-navigation-card-body: var(--color-white);
|
||||||
--surface-content-block-card-title: var(--color-light-grey);
|
--surface-content-block-card-title: var(--color-light-grey);
|
||||||
--surface-content-block-card-content: var(--color-white);
|
--surface-content-block-card-content: var(--color-white);
|
||||||
|
--surface-public-page-pattern-call-to-action-box-light: var(--color-light-grey);
|
||||||
|
--radius-picture-full-width: var(--radius-card);
|
||||||
--layout-content-cards-group-gap: var(--spacing-small);
|
--layout-content-cards-group-gap: var(--spacing-small);
|
||||||
|
--layout-public-page-pattern-call-to-action-box-width: calc(var(--dimension-public-content-width) * 0.5);
|
||||||
|
--layout-page-layout-public-2-column-columns: repeat(2, minmax(0, 1fr));
|
||||||
|
--layout-page-layout-public-2-column-gap: var(--spacing-large);
|
||||||
--surface-card-list-drawer: var(--color-background-purple);
|
--surface-card-list-drawer: var(--color-background-purple);
|
||||||
--text-content-block-card-title: var(--color-font-dark);
|
--text-content-block-card-title: var(--color-font-dark);
|
||||||
--text-content-block-card-content: var(--color-font-dark);
|
--text-content-block-card-content: var(--color-font-dark);
|
||||||
--text-card-list-drawer: var(--color-font-dark);
|
--text-card-list-drawer: var(--color-font-dark);
|
||||||
--layout-card-list-drawer-width: var(--dimension-card-list-drawer-width);
|
--layout-card-list-drawer-width: var(--dimension-card-list-drawer-width);
|
||||||
--layout-public-content-element-width: 60%;
|
|
||||||
--surface-vsf-drawer-object-card-header: var(--color-darkblue);
|
--surface-vsf-drawer-object-card-header: var(--color-darkblue);
|
||||||
--surface-vsf-drawer-object-card-body: var(--color-darkblue);
|
--surface-vsf-drawer-object-card-body: var(--color-darkblue);
|
||||||
--text-vsf-drawer-object-card-heading: var(--color-font-light);
|
--text-vsf-drawer-object-card-heading: var(--color-font-light);
|
||||||
@@ -281,10 +289,12 @@
|
|||||||
--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;
|
||||||
--dimension-search-field-width: 15.3rem;
|
--dimension-search-field-width: 15.3rem;
|
||||||
|
--dimension-public-content-width: 100%;
|
||||||
--dimension-layer-pulldown-panel: 40;
|
--dimension-layer-pulldown-panel: 40;
|
||||||
--dimension-multiselect-pulldown-panel-desktop-width: 500px;
|
--dimension-multiselect-pulldown-panel-desktop-width: 500px;
|
||||||
--dimension-options-row-mode-toggle-width: 7rem;
|
--dimension-options-row-mode-toggle-width: 7rem;
|
||||||
|
|||||||
@@ -76,6 +76,12 @@ section + section {
|
|||||||
line-height: var(--line-height-base);
|
line-height: var(--line-height-base);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (max-width: 48rem) {
|
||||||
|
.sg-heading-h2 {
|
||||||
|
font-size: calc(var(--font-size-h2) * 0.9);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.sg-preview-label {
|
.sg-preview-label {
|
||||||
margin: 0 0 var(--spacing-small) 0;
|
margin: 0 0 var(--spacing-small) 0;
|
||||||
font-family: var(--font-family-base);
|
font-family: var(--font-family-base);
|
||||||
|
|||||||
@@ -142,6 +142,17 @@
|
|||||||
color: var(--text-button-process);
|
color: var(--text-button-process);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sg-button--cta {
|
||||||
|
--surface-button-cta: var(--color-darkblue);
|
||||||
|
--text-button-cta: var(--color-font-light);
|
||||||
|
height: auto;
|
||||||
|
min-height: var(--interaction-height);
|
||||||
|
text-align: center;
|
||||||
|
background: var(--surface-button-cta);
|
||||||
|
color: var(--text-button-cta);
|
||||||
|
padding: var(--spacing-large);
|
||||||
|
}
|
||||||
|
|
||||||
.sg-button--process-inactive {
|
.sg-button--process-inactive {
|
||||||
background: var(--surface-button-process-inactive);
|
background: var(--surface-button-process-inactive);
|
||||||
color: var(--text-button-process);
|
color: var(--text-button-process);
|
||||||
|
|||||||
@@ -53,6 +53,10 @@
|
|||||||
|
|
||||||
.sg-portal-header__tabs {
|
.sg-portal-header__tabs {
|
||||||
grid-area: tabs;
|
grid-area: tabs;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
align-items: center;
|
||||||
|
gap: var(--spacing-small);
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,6 +81,19 @@
|
|||||||
margin-top: var(--spacing-large);
|
margin-top: var(--spacing-large);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sg-portal-header-pattern-variant__links-card {
|
||||||
|
margin-top: var(--spacing-small);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-portal-header-pattern-variant__links-card .sg-portal-header__tabs {
|
||||||
|
gap: var(--spacing-large);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-portal-header-pattern-variant__links-card .sg-hyperlink[aria-current="page"] {
|
||||||
|
color: var(--text-control-default);
|
||||||
|
font-weight: var(--font-weight-semibold);
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: calc(var(--layout-object-card-desktop-breakpoint) - 1px)) {
|
@media (max-width: calc(var(--layout-object-card-desktop-breakpoint) - 1px)) {
|
||||||
.sg-portal-header__main {
|
.sg-portal-header__main {
|
||||||
gap: var(--spacing-small) var(--spacing-large);
|
gap: var(--spacing-small) var(--spacing-large);
|
||||||
|
|||||||
@@ -77,6 +77,18 @@
|
|||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sg-card.sg-object-card--notification {
|
||||||
|
width: var(--layout-notification-card-width);
|
||||||
|
min-width: 0;
|
||||||
|
max-width: none;
|
||||||
|
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 +100,12 @@
|
|||||||
max-width: none;
|
max-width: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sg-card.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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,20 +2,21 @@
|
|||||||
/* Patterns: Text Layouts */
|
/* Patterns: Text Layouts */
|
||||||
/* ========================================================= */
|
/* ========================================================= */
|
||||||
|
|
||||||
|
.sg-page-text-layouts {
|
||||||
|
background: var(--surface-form-preview);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-page-text-layouts .sg-main-heading,
|
||||||
|
.sg-page-text-layouts .sg-preview-label {
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
.sg-text-layout-pattern {
|
.sg-text-layout-pattern {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: var(--spacing-small);
|
gap: var(--spacing-small);
|
||||||
}
|
}
|
||||||
|
|
||||||
.sg-text-layout-pattern__preview-surface {
|
|
||||||
width: 100%;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: var(--spacing-large);
|
|
||||||
border-radius: var(--radius-card);
|
|
||||||
background: var(--surface-text-layout-preview);
|
|
||||||
}
|
|
||||||
|
|
||||||
.sg-text-layout-pattern__sample {
|
.sg-text-layout-pattern__sample {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
@@ -40,6 +41,11 @@
|
|||||||
column-gap: var(--layout-text-layout-column-gap);
|
column-gap: var(--layout-text-layout-column-gap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sg-text-layout-pattern__two-column--stacked-mobile {
|
||||||
|
width: 100%;
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
.sg-text-layout-pattern__three-column-distributed {
|
.sg-text-layout-pattern__three-column-distributed {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
@@ -73,7 +79,13 @@
|
|||||||
.sg-text-layout-pattern__sample--sixty-width,
|
.sg-text-layout-pattern__sample--sixty-width,
|
||||||
.sg-text-layout-pattern__sample--two-column,
|
.sg-text-layout-pattern__sample--two-column,
|
||||||
.sg-text-layout-pattern__two-column,
|
.sg-text-layout-pattern__two-column,
|
||||||
|
.sg-text-layout-pattern__two-column--stacked-mobile,
|
||||||
.sg-text-layout-pattern__three-column-distributed {
|
.sg-text-layout-pattern__three-column-distributed {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sg-text-layout-pattern__two-column--stacked-mobile {
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
row-gap: var(--layout-text-layout-column-gap);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
background: var(--surface-content-block-card-content);
|
background: var(--surface-content-block-card-content);
|
||||||
}
|
}
|
||||||
|
|
||||||
.sg-content-block-card-group__content .sg-body {
|
.sg-content-block-card-group__content > .sg-body {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,28 @@ main {
|
|||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sg-page-layout-public-2-column__columns {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: var(--layout-page-layout-public-2-column-columns);
|
||||||
|
gap: var(--layout-page-layout-public-2-column-gap);
|
||||||
|
align-items: start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-page-layout-public-2-column__text-column {
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 48rem) {
|
||||||
|
.sg-page-layout-public__content-mirror {
|
||||||
|
width: min(calc(100% - (var(--spacing-small) * 2)), 1100px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-page-layout-public-2-column__columns {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.sg-page-layout-public__footer-card {
|
.sg-page-layout-public__footer-card {
|
||||||
margin-top: auto;
|
margin-top: auto;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,6 +38,32 @@
|
|||||||
color: var(--color-font-light);
|
color: var(--color-font-light);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sg-card.sg-card--content-card-green {
|
||||||
|
--surface-content-card-green: var(--color-signal-green);
|
||||||
|
--surface-card: var(--surface-content-card-green);
|
||||||
|
--surface-card-body: var(--surface-content-card-green);
|
||||||
|
--text-card-header: var(--color-font-light);
|
||||||
|
--text-card-body: var(--color-font-light);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-card.sg-card--content-card-green .sg-card-segment--body,
|
||||||
|
.sg-card.sg-card--content-card-green .sg-text-layout-pattern__column,
|
||||||
|
.sg-card.sg-card--content-card-green .sg-body {
|
||||||
|
color: var(--text-card-body);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-card.sg-card--footer-card {
|
||||||
|
--surface-card: var(--color-black);
|
||||||
|
--surface-card-body: var(--color-black);
|
||||||
|
margin-top: calc(var(--spacing-large) * 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-card.sg-card--footer-card .sg-card-segment--body,
|
||||||
|
.sg-card.sg-card--footer-card .sg-text-layout-pattern__column,
|
||||||
|
.sg-card.sg-card--footer-card .sg-body {
|
||||||
|
color: var(--color-font-light);
|
||||||
|
}
|
||||||
|
|
||||||
.sg-card.sg-card--overlay-host {
|
.sg-card.sg-card--overlay-host {
|
||||||
overflow: visible;
|
overflow: visible;
|
||||||
}
|
}
|
||||||
@@ -118,6 +144,11 @@
|
|||||||
color: var(--text-card-header);
|
color: var(--text-card-header);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sg-card-segment--signal-green-light {
|
||||||
|
background: var(--color-signal-green-light);
|
||||||
|
color: var(--text-card-header);
|
||||||
|
}
|
||||||
|
|
||||||
.sg-card-segment--signal-yellow {
|
.sg-card-segment--signal-yellow {
|
||||||
background: var(--color-signal-yellow);
|
background: var(--color-signal-yellow);
|
||||||
color: var(--text-card-header);
|
color: var(--text-card-header);
|
||||||
@@ -135,6 +166,11 @@
|
|||||||
--text-card-header: var(--text-card-body);
|
--text-card-header: var(--text-card-body);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sg-card.sg-card--notification-signal-green-light {
|
||||||
|
--text-card-header: var(--color-font-light);
|
||||||
|
--text-card-body: var(--color-font-light);
|
||||||
|
}
|
||||||
|
|
||||||
.sg-card--content-card {
|
.sg-card--content-card {
|
||||||
--surface-card-header-primary: var(--surface-content-block-card-title);
|
--surface-card-header-primary: var(--surface-content-block-card-title);
|
||||||
--surface-card-body: var(--surface-content-block-card-content);
|
--surface-card-body: var(--surface-content-block-card-content);
|
||||||
@@ -226,57 +262,12 @@
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sg-page-cards-public-page > .sg-main-heading {
|
|
||||||
margin: 0 0 var(--spacing-large) 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sg-page-cards .sg-preview-area > .sg-card,
|
.sg-page-cards .sg-preview-area > .sg-card,
|
||||||
.sg-page-cards .sg-preview-area > .sg-transparent-card {
|
.sg-page-cards .sg-preview-area > .sg-transparent-card {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
max-width: none;
|
max-width: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sg-page-cards-public-page #component-content-wrapper-card > .sg-transparent-card {
|
|
||||||
width: 100%;
|
|
||||||
max-width: none;
|
|
||||||
margin: var(--spacing-large) 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sg-page-cards-public-page .sg-cards-public-page__cta-right-card {
|
|
||||||
width: var(--layout-public-content-element-width);
|
|
||||||
max-width: none;
|
|
||||||
margin-top: var(--spacing-large);
|
|
||||||
margin-inline-start: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 48rem) {
|
|
||||||
.sg-page-cards-public-page .sg-cards-public-page__cta-right-card {
|
|
||||||
width: 100%;
|
|
||||||
margin-inline-start: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.sg-page-cards-public-page .sg-cards-public-page__cta-right-body {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sg-page-cards-public-page .sg-cards-public-page__cta-right-grid {
|
|
||||||
width: 100%;
|
|
||||||
display: grid;
|
|
||||||
grid-template-columns: minmax(0, 1fr) auto;
|
|
||||||
align-items: center;
|
|
||||||
gap: var(--spacing-large);
|
|
||||||
}
|
|
||||||
|
|
||||||
.sg-page-cards-public-page .sg-cards-public-page__cta-right-copy {
|
|
||||||
min-width: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sg-page-cards-public-page .sg-cards-public-page__cta-right-buttons {
|
|
||||||
min-width: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sg-page-cards .sg-group-card > .sg-card {
|
.sg-page-cards .sg-group-card > .sg-card {
|
||||||
flex: 0 0 100%;
|
flex: 0 0 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|||||||
@@ -15,3 +15,17 @@
|
|||||||
color: var(--text-typography-preview);
|
color: var(--text-typography-preview);
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sg-bullet-list {
|
||||||
|
margin: 0;
|
||||||
|
padding-inline-start: calc(var(--spacing-large) * 2.5);
|
||||||
|
list-style-position: outside;
|
||||||
|
color: var(--text-typography-preview);
|
||||||
|
font-family: var(--font-family-base);
|
||||||
|
font-size: var(--font-size-base);
|
||||||
|
line-height: var(--line-height-base);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-bullet-list li + li {
|
||||||
|
margin-top: var(--spacing-small);
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,127 @@
|
|||||||
|
/* ========================================================= */
|
||||||
|
/* Components: Public Page Components */
|
||||||
|
/* ========================================================= */
|
||||||
|
|
||||||
|
.sg-content-group-box {
|
||||||
|
--surface-content-group-box: var(--color-transparent);
|
||||||
|
--layout-content-group-box-gap: var(--spacing-large);
|
||||||
|
--layout-content-group-box-margin-block: var(--spacing-large);
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
margin: var(--layout-content-group-box-margin-block) 0;
|
||||||
|
background: var(--surface-content-group-box);
|
||||||
|
gap: var(--layout-content-group-box-gap);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-content-group-box > * {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-text-block {
|
||||||
|
--surface-text-block: var(--color-transparent);
|
||||||
|
--text-text-block: var(--color-font-light);
|
||||||
|
--layout-text-block-width: var(--dimension-public-content-width);
|
||||||
|
width: var(--layout-text-block-width);
|
||||||
|
box-sizing: border-box;
|
||||||
|
background: var(--surface-text-block);
|
||||||
|
color: var(--text-text-block);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-text-block--align-right {
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-text-block .sg-body {
|
||||||
|
margin: 0;
|
||||||
|
color: var(--text-text-block);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-card--call-to-action-card {
|
||||||
|
--surface-call-to-action-card: var(--surface-card-group);
|
||||||
|
--text-call-to-action-card: var(--color-font-light);
|
||||||
|
--layout-call-to-action-card-width: calc(var(--dimension-public-content-width) * 0.5);
|
||||||
|
--layout-call-to-action-card-content-columns: minmax(0, 1fr) max-content;
|
||||||
|
--layout-call-to-action-card-content-gap: var(--spacing-large);
|
||||||
|
width: var(--layout-call-to-action-card-width);
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-card--call-to-action-card--three-column {
|
||||||
|
--layout-call-to-action-card-width: var(--dimension-public-content-width);
|
||||||
|
--layout-call-to-action-card-content-columns: minmax(0, 1fr) 30% max-content;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-card--call-to-action-card--wide {
|
||||||
|
--layout-call-to-action-card-width: calc(var(--dimension-public-content-width) * 0.7);
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-card--call-to-action-card .sg-card-segment--body {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: var(--layout-call-to-action-card-content-columns);
|
||||||
|
gap: var(--layout-call-to-action-card-content-gap);
|
||||||
|
align-items: center;
|
||||||
|
background: var(--surface-call-to-action-card);
|
||||||
|
color: var(--text-call-to-action-card);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-call-to-action-card__text {
|
||||||
|
margin: 0;
|
||||||
|
min-width: 0;
|
||||||
|
color: var(--text-call-to-action-card);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-call-to-action-card__action {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-card--call-to-action-card--three-column .sg-labeled-input-row {
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-card--call-to-action-card--three-column .sg-input-single-line {
|
||||||
|
width: 100%;
|
||||||
|
min-width: 0;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-call-to-action-card--align-right {
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-picture-full-width {
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 100%;
|
||||||
|
height: auto;
|
||||||
|
border-radius: var(--radius-picture-full-width);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-page-public-page-components .sg-preview-area {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 48rem) {
|
||||||
|
.sg-text-block,
|
||||||
|
.sg-card--call-to-action-card {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-card--call-to-action-card--three-column {
|
||||||
|
--layout-call-to-action-card-content-columns: minmax(0, 1fr);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-card--call-to-action-card--wide {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-card--call-to-action-card--three-column .sg-call-to-action-card__action {
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,168 @@
|
|||||||
|
/* ========================================================= */
|
||||||
|
/* Patterns: Public Page Patterns */
|
||||||
|
/* ========================================================= */
|
||||||
|
|
||||||
|
.sg-page-public-page-patterns .sg-preview-area {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-call-to-action-box {
|
||||||
|
width: var(--layout-public-page-pattern-call-to-action-box-width);
|
||||||
|
max-width: 100%;
|
||||||
|
margin-inline: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-call-to-action-box--light {
|
||||||
|
background: var(--surface-public-page-pattern-call-to-action-box-light);
|
||||||
|
color: var(--color-font-dark);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-call-to-action-box--light
|
||||||
|
> .sg-card-segment--body {
|
||||||
|
background: var(--surface-public-page-pattern-call-to-action-box-light);
|
||||||
|
color: var(--color-font-dark);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-call-to-action-box--light .sg-bullet-list {
|
||||||
|
color: var(--color-font-dark);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-call-to-action-box__action {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-call-to-action-box__action .sg-button--cta {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-text-and-picture-right {
|
||||||
|
--layout-public-page-pattern-text-picture-columns: repeat(2, minmax(0, 1fr));
|
||||||
|
--layout-public-page-pattern-text-picture-gap: var(--spacing-large);
|
||||||
|
--text-public-page-pattern-text-picture: var(--color-font-light);
|
||||||
|
display: grid;
|
||||||
|
width: 100%;
|
||||||
|
min-width: 0;
|
||||||
|
grid-template-columns: var(--layout-public-page-pattern-text-picture-columns);
|
||||||
|
grid-template-areas:
|
||||||
|
"heading heading"
|
||||||
|
"text picture";
|
||||||
|
gap: var(--layout-public-page-pattern-text-picture-gap);
|
||||||
|
align-items: start;
|
||||||
|
color: var(--text-public-page-pattern-text-picture);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-text-and-picture-fullwidth {
|
||||||
|
--text-public-page-pattern-text-picture: var(--color-font-light);
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
width: 100%;
|
||||||
|
min-width: 0;
|
||||||
|
gap: var(--spacing-large);
|
||||||
|
color: var(--text-public-page-pattern-text-picture);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-text-and-picture-left {
|
||||||
|
--layout-public-page-pattern-text-picture-columns: repeat(2, minmax(0, 1fr));
|
||||||
|
--layout-public-page-pattern-text-picture-gap: var(--spacing-large);
|
||||||
|
--text-public-page-pattern-text-picture: var(--color-font-light);
|
||||||
|
display: grid;
|
||||||
|
width: 100%;
|
||||||
|
min-width: 0;
|
||||||
|
grid-template-columns: var(--layout-public-page-pattern-text-picture-columns);
|
||||||
|
grid-template-areas:
|
||||||
|
"heading heading"
|
||||||
|
"picture text";
|
||||||
|
gap: var(--layout-public-page-pattern-text-picture-gap);
|
||||||
|
align-items: start;
|
||||||
|
color: var(--text-public-page-pattern-text-picture);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-text-and-picture-right > .sg-heading-h2 {
|
||||||
|
grid-area: heading;
|
||||||
|
margin: 0;
|
||||||
|
color: var(--text-public-page-pattern-text-picture);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-text-and-picture-fullwidth > .sg-heading-h2 {
|
||||||
|
margin: 0;
|
||||||
|
color: var(--text-public-page-pattern-text-picture);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-text-and-picture-left > .sg-heading-h2 {
|
||||||
|
grid-area: heading;
|
||||||
|
margin: 0;
|
||||||
|
color: var(--text-public-page-pattern-text-picture);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-text-and-picture-right__text {
|
||||||
|
grid-area: text;
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-text-and-picture-fullwidth__text {
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-text-and-picture-fullwidth > .sg-picture-full-width {
|
||||||
|
width: 100%;
|
||||||
|
margin-inline: auto;
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-text-and-picture-left__text {
|
||||||
|
grid-area: text;
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-text-and-picture-right > .sg-picture-full-width {
|
||||||
|
grid-area: picture;
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-text-and-picture-left > .sg-picture-full-width {
|
||||||
|
grid-area: picture;
|
||||||
|
min-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-text-and-picture-right__text > .sg-body {
|
||||||
|
margin: 0;
|
||||||
|
color: var(--text-public-page-pattern-text-picture);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-text-and-picture-fullwidth__text > .sg-body {
|
||||||
|
margin: 0;
|
||||||
|
color: var(--text-public-page-pattern-text-picture);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-text-and-picture-left__text > .sg-body {
|
||||||
|
margin: 0;
|
||||||
|
color: var(--text-public-page-pattern-text-picture);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 48rem) {
|
||||||
|
.sg-public-page-pattern-text-and-picture-right {
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
grid-template-areas:
|
||||||
|
"heading"
|
||||||
|
"picture"
|
||||||
|
"text";
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-text-and-picture-left {
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
grid-template-areas:
|
||||||
|
"heading"
|
||||||
|
"picture"
|
||||||
|
"text";
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-text-and-picture-fullwidth > .sg-picture-full-width {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sg-public-page-pattern-call-to-action-box {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user