UNPKG

cirrus-ui

Version:

A lightweight UI framework written in SCSS

104 lines (90 loc) 3.56 kB
@use 'sass:map'; @use '../src/internal/generator_v2'; @use '../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; } @include generator_v2.utility-with-body( $variants: get-pseudo-variants($GRID), ) using ($props...) { // .grid {} @include 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 {} @include generator_v2.inline-class-generator('grid-flow-row', $props...) using ($props...) { grid-auto-flow: row; } // .grid-flow-col {} @include generator_v2.inline-class-generator('grid-flow-col', $props...) using ($props...) { grid-auto-flow: column; } @for $i from 1 through $grid-columns { /* Templates */ // .grid-cols-<i> @include generator_v2.inline-class-generator('grid-cols-' + $i, $props...) using ($props...) { --grid-template-column: repeat(#{$i}, minmax(0, 1fr)); } /* Column expansion */ // .grid-c-<i> @include generator_v2.inline-class-generator('grid-c-' + $i, $props...) using ($props...) { grid-column: span #{$i} / span #{$i}; } /* Cell Column Start/End */ // .grid-cs-<i> @include generator_v2.inline-class-generator('grid-cs-' + $i, $props...) using ($props...) { grid-column-start: #{$i}; } // .grid-ce-<i> @include generator_v2.inline-class-generator('grid-ce-' + $i, $props...) using ($props...) { grid-column-end: #{$i + 1}; } } @for $i from 1 through $grid-rows { /* Templates */ // .grid-rows-<i> @include 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> @include generator_v2.inline-class-generator('grid-r-' + $i, $props...) using ($props...) { grid-row: span #{$i} / span #{$i}; } /* Cell Column Start/End */ // .grid-rs-<i> @include generator_v2.inline-class-generator('grid-rs-' + $i, $props...) using ($props...) { grid-row-start: #{$i}; } // .grid-re-<i> @include generator_v2.inline-class-generator('grid-re-' + $i, $props...) using ($props...) { grid-row-end: #{$i + 1}; } } // .grid-ce-end {} @include generator_v2.inline-class-generator('grid-ce-end', $props...) using ($props...) { grid-column-end: -1; } // .grid-re-end {} @include generator_v2.inline-class-generator('grid-re-end', $props...) using ($props...) { grid-row-end: -1; } // .grid-ce-auto {} @include generator_v2.inline-class-generator('grid-ce-auto', $props...) using ($props...) { grid-column-end: auto; } // .grid-re-auto {} @include generator_v2.inline-class-generator('grid-re-auto', $props...) using ($props...) { grid-row-end: auto; } }