Fix multiselect pulldown control start alignment by panel label width
This commit is contained in:
@@ -389,6 +389,24 @@
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const updateMultiselectLabelAlignment = () => {
|
||||||
|
document.querySelectorAll('.sg-options-row[data-pattern="multiselektions-pulldown"] .sg-pulldown-panel').forEach((panel) => {
|
||||||
|
const labels = panel.querySelectorAll(
|
||||||
|
'.sg-slider-row[data-activatable="true"] > .sg-label, .sg-radio-activatable-group > .sg-label, [data-pulldown-filter-row] > .sg-pulldown-panel__label'
|
||||||
|
);
|
||||||
|
|
||||||
|
let maxWidth = 0;
|
||||||
|
labels.forEach((label) => {
|
||||||
|
const width = Math.ceil(label.getBoundingClientRect().width);
|
||||||
|
if (width > maxWidth) {
|
||||||
|
maxWidth = width;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
panel.style.setProperty('--sg-multiselect-label-column-width', `${maxWidth}px`);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
document.querySelectorAll('.sg-slider-row').forEach((row) => {
|
document.querySelectorAll('.sg-slider-row').forEach((row) => {
|
||||||
const slider = row.querySelector('.sg-slider');
|
const slider = row.querySelector('.sg-slider');
|
||||||
const valueOutput = row.querySelector('.sg-slider-value');
|
const valueOutput = row.querySelector('.sg-slider-value');
|
||||||
@@ -469,6 +487,9 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
updateMultiselectLabelAlignment();
|
||||||
|
window.addEventListener('resize', updateMultiselectLabelAlignment);
|
||||||
|
|
||||||
document.querySelectorAll('.sg-pulldown-demo').forEach((demo) => {
|
document.querySelectorAll('.sg-pulldown-demo').forEach((demo) => {
|
||||||
const trigger = demo.querySelector('.sg-pulldown-demo__trigger');
|
const trigger = demo.querySelector('.sg-pulldown-demo__trigger');
|
||||||
|
|
||||||
|
|||||||
@@ -73,9 +73,13 @@
|
|||||||
margin-top: var(--spacing-large);
|
margin-top: var(--spacing-large);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sg-options-row[data-pattern="multiselektions-pulldown"] .sg-pulldown-panel {
|
||||||
|
--sg-multiselect-label-column-width: max-content;
|
||||||
|
}
|
||||||
|
|
||||||
.sg-options-row[data-pattern="multiselektions-pulldown"] .sg-slider-row[data-activatable="true"] {
|
.sg-options-row[data-pattern="multiselektions-pulldown"] .sg-slider-row[data-activatable="true"] {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: max-content max-content minmax(0, 1fr) auto;
|
grid-template-columns: max-content var(--sg-multiselect-label-column-width) minmax(0, 1fr) auto;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
column-gap: var(--spacing-large);
|
column-gap: var(--spacing-large);
|
||||||
}
|
}
|
||||||
@@ -105,7 +109,7 @@
|
|||||||
|
|
||||||
.sg-options-row[data-pattern="multiselektions-pulldown"] .sg-radio-activatable-group {
|
.sg-options-row[data-pattern="multiselektions-pulldown"] .sg-radio-activatable-group {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: max-content max-content minmax(0, 1fr);
|
grid-template-columns: max-content var(--sg-multiselect-label-column-width) minmax(0, 1fr);
|
||||||
align-items: center;
|
align-items: center;
|
||||||
column-gap: var(--spacing-large);
|
column-gap: var(--spacing-large);
|
||||||
}
|
}
|
||||||
@@ -124,7 +128,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.sg-options-row[data-pattern="multiselektions-pulldown"] [data-pulldown-filter-row] {
|
.sg-options-row[data-pattern="multiselektions-pulldown"] [data-pulldown-filter-row] {
|
||||||
grid-template-columns: max-content max-content minmax(0, 1fr);
|
grid-template-columns: max-content var(--sg-multiselect-label-column-width) minmax(0, 1fr);
|
||||||
column-gap: var(--spacing-large);
|
column-gap: var(--spacing-large);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user