apostrophe
Version:
The Apostrophe Content Management System.
99 lines (84 loc) • 3.26 kB
CSS
.layout-widget {
display: grid;
grid-template-columns: repeat(var(--grid-columns, 12), 1fr);
grid-template-rows: repeat(var(--grid-rows), auto);
grid-gap: var(--grid-gap, 0);
justify-items: var(--justify-items);
/* stylelint-disable-next-line declaration-block-no-redundant-longhand-properties */
align-items: var(--align-items);
}
.layout-widget > div {
grid-column: var(--colstart, auto) / span var(--colspan, 1);
grid-row: var(--rowstart, auto) / span var(--rowspan, 1);
justify-self: var(--justify);
/* stylelint-disable-next-line declaration-block-no-redundant-longhand-properties */
align-self: var(--align);
order: var(--order, 0);
min-width: 0;
}
/* Tablet rules. Override $layout-breakpoint-tablet to change. */
/* stylelint-disable-next-line media-feature-name-allowed-list */
@media screen and (min-width: {$mobile-plus}px) and (max-width: {$tablet}px) {
/* Auto mode: ignore device vars, just 2 per row */
.layout-widget[data-tablet-auto="true"] {
grid-template-columns: repeat(2, 1fr);
--grid-rows: auto;
}
.layout-widget[data-tablet-auto="true"] > div {
grid-column: auto / span 1;
grid-row: auto / span 1;
order: var(--order, 0);
}
/*
The backend should mark last odd items as full width to avoid
weird spacing at the end of rows.
*/
.layout-widget[data-tablet-auto="true"] > [data-tablet-full="true"] {
grid-column: 1 / span 2;
}
/* Manual mode: use configured columns and device vars */
.layout-widget[data-tablet-auto="false"] {
--grid-rows: var(--tablet-rows, var(--grid-rows));
}
.layout-widget[data-tablet-auto="false"] > div {
grid-column: var(--tablet-colstart, auto) / span var(--tablet-colspan, 1);
grid-row: var(--tablet-rowstart, auto) / span var(--tablet-rowspan, 1);
justify-self: var(--tablet-justify);
/* stylelint-disable-next-line declaration-block-no-redundant-longhand-properties */
align-self: var(--tablet-align);
order: var(--tablet-order, var(--order, 0));
}
/* Hide items not visible on tablet */
.layout-widget > [data-visible-tablet="false"] {
display: none;
}
}
/* Mobile rules. Override $layout-breakpoint-mobile to change. */
/* stylelint-disable-next-line media-feature-name-allowed-list */
@media screen and (max-width: {$mobile}px) {
.layout-widget {
grid-template-columns: 1fr;
--grid-rows: auto;
}
.layout-widget[data-mobile-auto="true"] > div {
grid-column: auto / span 1;
grid-row: auto / span 1;
order: var(--order, 0);
}
/* Manual mode: use configured columns and device vars */
.layout-widget[data-mobile-auto="false"] {
--grid-rows: var(--mobile-rows, var(--grid-rows));
}
.layout-widget[data-mobile-auto="false"] > div {
grid-column: var(--mobile-colstart, auto) / span var(--mobile-colspan, 1);
grid-row: var(--mobile-rowstart, auto) / span var(--mobile-rowspan, 1);
justify-self: var(--mobile-justify);
/* stylelint-disable-next-line declaration-block-no-redundant-longhand-properties */
align-self: var(--mobile-align);
order: var(--mobile-order, var(--order, 0));
}
/* Hide items not visible on mobile */
.layout-widget > [data-visible-mobile="false"] {
display: none;
}
}