1 | @use 'sass:map';
|
2 |
|
3 | @use '../internal' as *;
|
4 |
|
5 |
|
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 |
|
26 | .grid-cols-#{$i}#{$suffix} {
|
27 | --grid-template-column: repeat(#{$i}, minmax(0, 1fr));
|
28 | }
|
29 |
|
30 |
|
31 | .grid-c-#{$i}#{$suffix} {
|
32 | grid-column: span #{$i} / span #{$i};
|
33 | }
|
34 |
|
35 |
|
36 | .grid-r-#{$i}#{$suffix} {
|
37 | grid-row: span #{$i} / span #{$i};
|
38 | }
|
39 |
|
40 |
|
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 |
|
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 | }
|