cirrus-ui
Version:
A lightweight UI framework written in SCSS
104 lines (90 loc) • 3.56 kB
Plain Text
../src/internal/generator_v2';
'../src/internal' as *;
/* GRID */
:root {
--grid-template-column: repeat(#{$grid-columns}, minmax(0, 1fr));
--grid-template-rows: repeat(#{$grid-rows}, minmax(0, 1fr));
--grid-column-start: auto;
--grid-column-end: auto;
--grid-row-start: auto;
--grid-row-end: auto;
}
generator_v2.utility-with-body(
$variants: get-pseudo-variants($GRID),
)
using ($props...) {
// .grid {}
generator_v2.inline-class-generator('grid', $props...) using ($props...) {
display: grid;
grid-gap: var(--grid-gap);
grid-template-columns: var(--grid-template-column);
}
// .grid-flow-row {}
generator_v2.inline-class-generator('grid-flow-row', $props...) using ($props...) {
grid-auto-flow: row;
}
// .grid-flow-col {}
generator_v2.inline-class-generator('grid-flow-col', $props...) using ($props...) {
grid-auto-flow: column;
}
$i from 1 through $grid-columns {
/* Templates */
// .grid-cols-<i>
generator_v2.inline-class-generator('grid-cols-' + $i, $props...) using ($props...) {
--grid-template-column: repeat(#{$i}, minmax(0, 1fr));
}
/* Column expansion */
// .grid-c-<i>
generator_v2.inline-class-generator('grid-c-' + $i, $props...) using ($props...) {
grid-column: span #{$i} / span #{$i};
}
/* Cell Column Start/End */
// .grid-cs-<i>
generator_v2.inline-class-generator('grid-cs-' + $i, $props...) using ($props...) {
grid-column-start: #{$i};
}
// .grid-ce-<i>
generator_v2.inline-class-generator('grid-ce-' + $i, $props...) using ($props...) {
grid-column-end: #{$i + 1};
}
}
$i from 1 through $grid-rows {
/* Templates */
// .grid-rows-<i>
generator_v2.inline-class-generator('grid-rows-' + $i, $props...) using ($props...) {
--grid-template-row: repeat(#{$i}, minmax(0, 1fr));
grid-template-rows: var(--grid-template-row);
}
/* Column expansion */
// .grid-r-<i>
generator_v2.inline-class-generator('grid-r-' + $i, $props...) using ($props...) {
grid-row: span #{$i} / span #{$i};
}
/* Cell Column Start/End */
// .grid-rs-<i>
generator_v2.inline-class-generator('grid-rs-' + $i, $props...) using ($props...) {
grid-row-start: #{$i};
}
// .grid-re-<i>
generator_v2.inline-class-generator('grid-re-' + $i, $props...) using ($props...) {
grid-row-end: #{$i + 1};
}
}
// .grid-ce-end {}
generator_v2.inline-class-generator('grid-ce-end', $props...) using ($props...) {
grid-column-end: -1;
}
// .grid-re-end {}
generator_v2.inline-class-generator('grid-re-end', $props...) using ($props...) {
grid-row-end: -1;
}
// .grid-ce-auto {}
generator_v2.inline-class-generator('grid-ce-auto', $props...) using ($props...) {
grid-column-end: auto;
}
// .grid-re-auto {}
generator_v2.inline-class-generator('grid-re-auto', $props...) using ($props...) {
grid-row-end: auto;
}
}
'sass:map';
'