diff --git a/foundations.html b/foundations.html
index f51a503..e7e7c63 100644
--- a/foundations.html
+++ b/foundations.html
@@ -192,8 +192,7 @@
| notifications-card-min-width | 445px | Mindestbreite der Notification Card im Pattern Notifications; 50px größer als die Object Card und Grundlage für Flex-Basis und Mindestbreite des Patterns. |
| search-field-width | 15.3rem | Fixe Breite des Suchfeld-Inputs inklusive Clear-Button-Bereich. |
| layer-pulldown-panel | 40 | Layer-Stufe für geöffnete Pulldown-Ausklappfelder, damit sie über anderen Inhalten liegen. |
- | multiselect-pulldown-panel-desktop-width | 500px | Reservierte Foundation-Breite für Multiselektions-Pulldown-Panels; aktuell nicht aktiv genutzt, da das Panel inhaltsbasiert mit Viewport-Kappe skaliert. |
- | multiselect-pulldown-panel-mobile-width | 80vw | Reservierte mobile Foundation-Breite für Multiselektions-Pulldown-Panels; aktuell nicht aktiv genutzt, da das Panel inhaltsbasiert mit Viewport-Kappe skaliert. |
+ | multiselect-pulldown-panel-desktop-width | 500px | Foundation-Breite des Multiselektions-Pulldown-Panels; wird als feste Pattern-Breite mit Viewport-Kappe wiederverwendet. |
| options-row-mode-toggle-width | 7rem | Breite des Modus-Schiebers in der Options Row. |
| options-row-help-panel-width | 16rem | Breite des Help-Panels in der Options Row. |
| card-list-drawer-width | 40% | Relative Breite des ausziehbaren Card-Listenbereichs. |
diff --git a/semantic-tokens-components.html b/semantic-tokens-components.html
index ebd5ff1..06bd0e7 100644
--- a/semantic-tokens-components.html
+++ b/semantic-tokens-components.html
@@ -199,7 +199,6 @@
| layout-pulldown-padding-inline | compact-interaction-padding-horizontal | Innenabstand links für Pulldown-Trigger und Select-Felder. |
| layout-pulldown-chevron-offset | compact-interaction-padding-horizontal | Rechter Innenabstand des Chevron-Icons im Pulldown. |
| layout-pulldown-chevron-reserved-space | spacing-large | Reservierte Breite zwischen Pulldown-Text und rechtem Chevron-Bereich. |
- | layout-pulldown-panel-form-mobile-width | 90% | Zielbreite für Pulldown-Panels mit Formularinhalt auf Mobile; wird durch die Viewport-Kappe begrenzt. |
| layer-pulldown-panel | dimension-layer-pulldown-panel | Layer-Stufe geöffneter Pulldown-Ausklappfelder über übrigen Seiteninhalten. |
| layout-multiselect-pulldown-panel-desktop-width | dimension-multiselect-pulldown-panel-desktop-width | Semantische Obergrenze für die Panelbreite geöffneter Pulldowns; das Panel darf über Triggerbreite wachsen, bleibt aber durch diese Breite und die Viewport-Kappe begrenzt. |
| surface-menu-panel-portal | color-light-grey | Fläche des Sandwich-Menü-Panels für große und kleine Variante. |
diff --git a/semantic-tokens-patterns.html b/semantic-tokens-patterns.html
index fc49664..19ae5ed 100644
--- a/semantic-tokens-patterns.html
+++ b/semantic-tokens-patterns.html
@@ -129,6 +129,16 @@
Multiselektions-Pulldown
| Semantischer Token | Verwendeter Foundation-Token | Beschreibung Verwendungszweck im Pattern |
+ | layout-multiselect-panel-width | layout-multiselect-pulldown-panel-desktop-width | Feste Breite des Multiselektions-Pulldown-Panels auf allen Viewports innerhalb der vorhandenen Viewport-Kappe. |
+ | layout-multiselect-panel-available-width | Viewportbreite minus 2 × spacing-large | Viewport-Kappe für das Multiselektions-Pulldown-Panel mit gleichmäßigem Außenabstand. |
+ | layout-multiselect-chapter-gap | spacing-large | Einheitlicher vertikaler Abstand zwischen allen direkten Elementen eines Multiselect-Blocks. |
+ | layout-multiselect-column-gap | spacing-large | Horizontaler Abstand zwischen Aktivierungsschalter und Label in den Pattern-Zeilen. |
+ | layout-multiselect-control-gap | spacing-small | Standardabstand innerhalb der Slider-Zeilen. |
+ | layout-multiselect-visual-control-gap | 2 × spacing-small | Visueller Abstand zwischen Kopfzeile und Interaktionselement bei Radio- und Pulldown-Zeilen. |
+ | layout-multiselect-control-row-height | interaction-height | Höhe der Kopfzeile in den filterbaren Pulldown-Zeilen. |
+ | layout-multiselect-value-min-width | 1.25 × interaction-height | Mindestbreite der Slider-Wertanzeige. |
+ | typography-multiselect-label-line-height | line-height-base | Zeilenhöhe der Labels in den filterbaren Pulldown-Zeilen. |
+ | opacity-multiselect-disabled | disabled-opacity | Deckkraft deaktivierter Multiselect-Inhalte. |
Overlay Card
diff --git a/styles/01-foundations.css b/styles/01-foundations.css
index a7fa680..4687a6e 100644
--- a/styles/01-foundations.css
+++ b/styles/01-foundations.css
@@ -79,7 +79,6 @@
--layout-pulldown-chevron-offset: var(--compact-interaction-padding-horizontal);
--layout-tab-navigation-large-padding-inline: var(--interaction-padding-horizontal);
--layout-pulldown-chevron-reserved-space: var(--spacing-large);
- --layout-pulldown-panel-form-mobile-width: 90%;
--layer-pulldown-panel: var(--dimension-layer-pulldown-panel);
--layout-multiselect-pulldown-panel-desktop-width: var(--dimension-multiselect-pulldown-panel-desktop-width);
--layout-input-label-width: var(--dimension-input-label-width);
diff --git a/styles/21-patterns-options-row.css b/styles/21-patterns-options-row.css
index ffb4dba..4167ee3 100644
--- a/styles/21-patterns-options-row.css
+++ b/styles/21-patterns-options-row.css
@@ -131,15 +131,6 @@
width: 100%;
}
- .sg-options-row[data-pattern="multiselektions-pulldown"] .sg-pulldown-panel {
- width: min(
- var(--layout-pulldown-panel-form-mobile-width),
- calc(100vw - (2 * var(--spacing-large)))
- );
- min-width: 0;
- max-width: calc(100vw - (2 * var(--spacing-large)));
- }
-
.sg-options-row .sg-pulldown-panel .sg-form-sections-card-wrapper,
.sg-options-row .sg-pulldown-panel .sg-form-sections-card {
min-width: 0;
diff --git a/styles/25-patterns-form-sections.css b/styles/25-patterns-form-sections.css
index e6b8e49..7668d9f 100644
--- a/styles/25-patterns-form-sections.css
+++ b/styles/25-patterns-form-sections.css
@@ -75,8 +75,21 @@
padding-left: var(--layout-form-sections-interaction-indent);
}
+.sg-options-row[data-pattern="multiselektions-pulldown"] {
+ --layout-multiselect-panel-width: var(--layout-multiselect-pulldown-panel-desktop-width);
+ --layout-multiselect-panel-available-width: calc(100vw - (2 * var(--spacing-large)));
+ --layout-multiselect-chapter-gap: var(--spacing-large);
+ --layout-multiselect-column-gap: var(--spacing-large);
+ --layout-multiselect-control-gap: var(--spacing-small);
+ --layout-multiselect-visual-control-gap: calc(var(--spacing-small) * 2);
+ --layout-multiselect-control-row-height: var(--interaction-height);
+ --layout-multiselect-value-min-width: calc(var(--interaction-height) * 1.25);
+ --typography-multiselect-label-line-height: var(--line-height-base);
+ --opacity-multiselect-disabled: var(--disabled-opacity);
+}
+
.sg-options-row[data-pattern="multiselektions-pulldown"] .sg-form-sections-card__chapter > * + * {
- margin-top: var(--spacing-large);
+ margin-top: var(--layout-multiselect-chapter-gap);
}
.sg-options-row[data-pattern="multiselektions-pulldown"] .sg-options-row__left > .sg-pulldown-demo {
@@ -90,14 +103,14 @@
.sg-options-row[data-pattern="multiselektions-pulldown"] .sg-pulldown-panel {
width: min(
- var(--layout-multiselect-pulldown-panel-desktop-width),
- calc(100vw - (2 * var(--spacing-large)))
+ var(--layout-multiselect-panel-width),
+ var(--layout-multiselect-panel-available-width)
);
min-width: min(
- var(--layout-multiselect-pulldown-panel-desktop-width),
- calc(100vw - (2 * var(--spacing-large)))
+ var(--layout-multiselect-panel-width),
+ var(--layout-multiselect-panel-available-width)
);
- max-width: calc(100vw - (2 * var(--spacing-large)));
+ max-width: var(--layout-multiselect-panel-available-width);
}
.sg-options-row[data-pattern="multiselektions-pulldown"] .sg-pulldown-panel .sg-form-sections-card-wrapper,
@@ -117,8 +130,8 @@
display: grid;
grid-template-columns: max-content minmax(0, 1fr) auto;
align-items: center;
- column-gap: var(--spacing-large);
- row-gap: var(--spacing-small);
+ column-gap: var(--layout-multiselect-column-gap);
+ row-gap: var(--layout-multiselect-control-gap);
}
.sg-options-row[data-pattern="multiselektions-pulldown"] .sg-slider-row[data-activatable="true"].sg-slider-row--inactive-selectable {
@@ -126,14 +139,14 @@
}
.sg-options-row[data-pattern="multiselektions-pulldown"] .sg-slider-row[data-activatable="true"].sg-slider-row--inactive-selectable .sg-slider {
- opacity: var(--disabled-opacity);
+ opacity: var(--opacity-multiselect-disabled);
}
.sg-options-row[data-pattern="multiselektions-pulldown"] .sg-slider-row[data-activatable="true"].sg-slider-row--inactive-selectable .sg-label,
.sg-options-row[data-pattern="multiselektions-pulldown"] .sg-slider-row[data-activatable="true"].sg-slider-row--inactive-selectable .sg-slider-value,
.sg-options-row[data-pattern="multiselektions-pulldown"] .sg-radio-activatable-group[data-component-state="inactive-selectable"] > .sg-label,
.sg-options-row[data-pattern="multiselektions-pulldown"] .sg-radio-activatable-group[data-component-state="inactive-selectable"] > .sg-radio-activatable-group__choices {
- opacity: var(--disabled-opacity);
+ opacity: var(--opacity-multiselect-disabled);
}
.sg-options-row[data-pattern="multiselektions-pulldown"] .sg-slider-row[data-activatable="true"] .sg-mode-toggle {
@@ -159,7 +172,7 @@
grid-column: 3;
grid-row: 2;
margin: 0;
- min-width: calc(var(--interaction-height) * 1.25);
+ min-width: var(--layout-multiselect-value-min-width);
line-height: 1;
align-self: center;
white-space: nowrap;
@@ -173,8 +186,8 @@
display: grid;
grid-template-columns: max-content minmax(0, 1fr);
align-items: center;
- column-gap: var(--spacing-large);
- row-gap: calc(var(--spacing-small) * 2);
+ column-gap: var(--layout-multiselect-column-gap);
+ row-gap: var(--layout-multiselect-visual-control-gap);
}
.sg-options-row[data-pattern="multiselektions-pulldown"] .sg-radio-activatable-group > .sg-label {
@@ -207,8 +220,8 @@
.sg-options-row[data-pattern="multiselektions-pulldown"] [data-pulldown-filter-row] {
display: grid;
grid-template-columns: minmax(0, 1fr);
- grid-template-rows: var(--interaction-height) auto;
- row-gap: calc(var(--spacing-small) * 2);
+ grid-template-rows: var(--layout-multiselect-control-row-height) auto;
+ row-gap: var(--layout-multiselect-visual-control-gap);
}
.sg-options-row[data-pattern="multiselektions-pulldown"] [data-pulldown-filter-row] > .sg-pulldown-panel__row-header {
@@ -216,14 +229,14 @@
grid-column: 1;
grid-row: 1;
align-items: center;
- gap: var(--spacing-large);
+ gap: var(--layout-multiselect-column-gap);
min-width: 0;
}
.sg-options-row[data-pattern="multiselektions-pulldown"] [data-pulldown-filter-row] > .sg-pulldown-panel__row-header > .sg-pulldown-panel__label {
margin: 0;
min-width: 0;
- line-height: var(--line-height-base);
+ line-height: var(--typography-multiselect-label-line-height);
}
.sg-options-row[data-pattern="multiselektions-pulldown"] [data-pulldown-filter-row] > .sg-pulldown {
@@ -237,7 +250,7 @@
.sg-options-row[data-pattern="multiselektions-pulldown"] [data-pulldown-filter-row].sg-pulldown-panel__row--disabled > .sg-pulldown-panel__row-header > .sg-pulldown-panel__label,
.sg-options-row[data-pattern="multiselektions-pulldown"] [data-pulldown-filter-row].sg-pulldown-panel__row--disabled > .sg-pulldown {
- opacity: var(--disabled-opacity);
+ opacity: var(--opacity-multiselect-disabled);
}
.sg-form-sections-card__actions {