UNPKG

1.73 kBSCSSView Raw
1@use 'sass:map';
2
3@use '../internal' as *;
4
5/* GRID */
6
7:root {
8 --grid-template-column: repeat(#{$grid-columns}, minmax(0, 1fr));
9 --grid-column-start: auto;
10 --grid-column-end: auto;
11 --grid-row-start: auto;
12 --grid-row-end: auto;
13}
14
15@include generate-styles-with-viewports($generate-viewports: #{get-viewport-flag($GRID)}) using ($viewport) {
16 $suffix: if($viewport != '', '-#{$viewport}', '');
17
18 .grid#{$suffix} {
19 display: grid;
20 grid-gap: var(--grid-gap);
21 grid-template-columns: var(--grid-template-column);
22 }
23
24 @for $i from 1 through $grid-columns {
25 /* Templates */
26 .grid-cols-#{$i}#{$suffix} {
27 --grid-template-column: repeat(#{$i}, minmax(0, 1fr));
28 }
29
30 /* Column expansion */
31 .grid-c-#{$i}#{$suffix} {
32 grid-column: span #{$i} / span #{$i};
33 }
34
35 /* Row expansion */
36 .grid-r-#{$i}#{$suffix} {
37 grid-row: span #{$i} / span #{$i};
38 }
39
40 /* Cell Column Start/End */
41 .grid-cs-#{$i}#{$suffix} {
42 grid-column-start: #{$i};
43 }
44 .grid-ce-#{$i}#{$suffix} {
45 grid-column-end: #{$i + 1};
46 }
47
48 /* Cell Row Start/End */
49 .grid-rs-#{$i}#{$suffix} {
50 grid-row-start: #{$i};
51 }
52 .grid-re-#{$i}#{$suffix} {
53 grid-row-end: #{$i + 1};
54 }
55 }
56
57 .grid-ce-end#{$suffix} {
58 grid-column-end: -1;
59 }
60 .grid-re-end#{$suffix} {
61 grid-row-end: -1;
62 }
63 .grid-ce-auto#{$suffix} {
64 grid-column-end: auto;
65 }
66 .grid-re-auto#{$suffix} {
67 grid-row-end: auto;
68 }
69}