Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions core/layout.css
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,22 @@
.sf-stack--end { align-items: flex-end; }
.sf-stack--stretch { align-items: stretch; }

/* -- Gap ----------------------------------------------------
Injects gap into any existing flex or grid container without
imposing a display type or axis. Unlike .sf-stack (flex
column) or .sf-cluster (flex-wrap row), .sf-gap is layout-
agnostic — use it on elements that already have their own
display context.
Override: style="--sf-gap-size: 2rem"
---------------------------------------------------------- */
.sf-gap { gap: var(--sf-gap-size); }
.sf-gap--xs { gap: var(--sf-space-xs); }
.sf-gap--s { gap: var(--sf-space-s); }
.sf-gap--m { gap: var(--sf-space-m); }
.sf-gap--l { gap: var(--sf-space-l); }
.sf-gap--xl { gap: var(--sf-space-xl); }
.sf-gap--2xl { gap: var(--sf-space-2xl); }

/* -- Box -----------------------------------------------------
Isolated unit with padding and an optional border.
Outline instead of border — doesn't disturb the box model when toggled.
Expand Down Expand Up @@ -446,6 +462,23 @@
.sf-grid-3-1 { grid-template-columns: 3fr 1fr; }
}

/* -- Equal columns ------------------------------------------
Fixed N-column grid. Column count NEVER collapses — unlike
.sf-grid-N which uses container queries to stack at small
sizes. Use when the layout must remain N columns at all
widths; the caller is responsible for overflow handling.
Override: style="--sf-equal-cols: 3"
---------------------------------------------------------- */
.sf-equal {
display: grid;
grid-template-columns: repeat(var(--sf-equal-cols), 1fr);
gap: var(--sf-equal-gap);
}
.sf-equal--2 { --sf-equal-cols: 2; }
.sf-equal--3 { --sf-equal-cols: 3; }
.sf-equal--4 { --sf-equal-cols: 4; }
.sf-equal--6 { --sf-equal-cols: 6; }

/* -- Content grid (breakout pattern) -------------------------
Full-width grid that lets items break out to breakout or full
width. Children default to the content column.
Expand Down
11 changes: 11 additions & 0 deletions core/tokens.layout.css
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@
---------------------------------------------------------- */
--sf-stack-gap: var(--sf-space-content);

/* ----------------------------------------------------------
Gap
---------------------------------------------------------- */
--sf-gap-size: var(--sf-space-gap);

/* ----------------------------------------------------------
Box
---------------------------------------------------------- */
Expand Down Expand Up @@ -82,6 +87,12 @@
--sf-grid-min-xl: 24rem;
--sf-grid-min-2xl: 28rem;

/* ----------------------------------------------------------
Equal columns (fixed, non-responsive)
---------------------------------------------------------- */
--sf-equal-cols: 2;
--sf-equal-gap: var(--sf-space-gap);

/* ----------------------------------------------------------
Cover
---------------------------------------------------------- */
Expand Down
44 changes: 44 additions & 0 deletions dist/slashed.essential.css
Original file line number Diff line number Diff line change
Expand Up @@ -1056,6 +1056,11 @@
---------------------------------------------------------- */
--sf-stack-gap: var(--sf-space-content);

/* ----------------------------------------------------------
Gap
---------------------------------------------------------- */
--sf-gap-size: var(--sf-space-gap);

/* ----------------------------------------------------------
Box
---------------------------------------------------------- */
Expand Down Expand Up @@ -1102,6 +1107,12 @@
--sf-grid-min-xl: 24rem;
--sf-grid-min-2xl: 28rem;

/* ----------------------------------------------------------
Equal columns (fixed, non-responsive)
---------------------------------------------------------- */
--sf-equal-cols: 2;
--sf-equal-gap: var(--sf-space-gap);

/* ----------------------------------------------------------
Cover
---------------------------------------------------------- */
Expand Down Expand Up @@ -1770,6 +1781,22 @@
.sf-stack--end { align-items: flex-end; }
.sf-stack--stretch { align-items: stretch; }

/* -- Gap ----------------------------------------------------
Injects gap into any existing flex or grid container without
imposing a display type or axis. Unlike .sf-stack (flex
column) or .sf-cluster (flex-wrap row), .sf-gap is layout-
agnostic — use it on elements that already have their own
display context.
Override: style="--sf-gap-size: 2rem"
---------------------------------------------------------- */
.sf-gap { gap: var(--sf-gap-size); }
.sf-gap--xs { gap: var(--sf-space-xs); }
.sf-gap--s { gap: var(--sf-space-s); }
.sf-gap--m { gap: var(--sf-space-m); }
.sf-gap--l { gap: var(--sf-space-l); }
.sf-gap--xl { gap: var(--sf-space-xl); }
.sf-gap--2xl { gap: var(--sf-space-2xl); }

/* -- Box -----------------------------------------------------
Isolated unit with padding and an optional border.
Outline instead of border — doesn't disturb the box model when toggled.
Expand Down Expand Up @@ -2113,6 +2140,23 @@
.sf-grid-3-1 { grid-template-columns: 3fr 1fr; }
}

/* -- Equal columns ------------------------------------------
Fixed N-column grid. Column count NEVER collapses — unlike
.sf-grid-N which uses container queries to stack at small
sizes. Use when the layout must remain N columns at all
widths; the caller is responsible for overflow handling.
Override: style="--sf-equal-cols: 3"
---------------------------------------------------------- */
.sf-equal {
display: grid;
grid-template-columns: repeat(var(--sf-equal-cols), 1fr);
gap: var(--sf-equal-gap);
}
.sf-equal--2 { --sf-equal-cols: 2; }
.sf-equal--3 { --sf-equal-cols: 3; }
.sf-equal--4 { --sf-equal-cols: 4; }
.sf-equal--6 { --sf-equal-cols: 6; }

/* -- Content grid (breakout pattern) -------------------------
Full-width grid that lets items break out to breakout or full
width. Children default to the content column.
Expand Down
44 changes: 44 additions & 0 deletions dist/slashed.essential.flat.css
Original file line number Diff line number Diff line change
Expand Up @@ -1035,6 +1035,11 @@
---------------------------------------------------------- */
--sf-stack-gap: var(--sf-space-content);

/* ----------------------------------------------------------
Gap
---------------------------------------------------------- */
--sf-gap-size: var(--sf-space-gap);

/* ----------------------------------------------------------
Box
---------------------------------------------------------- */
Expand Down Expand Up @@ -1081,6 +1086,12 @@
--sf-grid-min-xl: 24rem;
--sf-grid-min-2xl: 28rem;

/* ----------------------------------------------------------
Equal columns (fixed, non-responsive)
---------------------------------------------------------- */
--sf-equal-cols: 2;
--sf-equal-gap: var(--sf-space-gap);

/* ----------------------------------------------------------
Cover
---------------------------------------------------------- */
Expand Down Expand Up @@ -1736,6 +1747,22 @@ td, th {
.sf-stack--end { align-items: flex-end; }
.sf-stack--stretch { align-items: stretch; }

/* -- Gap ----------------------------------------------------
Injects gap into any existing flex or grid container without
imposing a display type or axis. Unlike .sf-stack (flex
column) or .sf-cluster (flex-wrap row), .sf-gap is layout-
agnostic — use it on elements that already have their own
display context.
Override: style="--sf-gap-size: 2rem"
---------------------------------------------------------- */
.sf-gap { gap: var(--sf-gap-size); }
.sf-gap--xs { gap: var(--sf-space-xs); }
.sf-gap--s { gap: var(--sf-space-s); }
.sf-gap--m { gap: var(--sf-space-m); }
.sf-gap--l { gap: var(--sf-space-l); }
.sf-gap--xl { gap: var(--sf-space-xl); }
.sf-gap--2xl { gap: var(--sf-space-2xl); }

/* -- Box -----------------------------------------------------
Isolated unit with padding and an optional border.
Outline instead of border — doesn't disturb the box model when toggled.
Expand Down Expand Up @@ -2079,6 +2106,23 @@ td, th {
.sf-grid-3-1 { grid-template-columns: 3fr 1fr; }
}

/* -- Equal columns ------------------------------------------
Fixed N-column grid. Column count NEVER collapses — unlike
.sf-grid-N which uses container queries to stack at small
sizes. Use when the layout must remain N columns at all
widths; the caller is responsible for overflow handling.
Override: style="--sf-equal-cols: 3"
---------------------------------------------------------- */
.sf-equal {
display: grid;
grid-template-columns: repeat(var(--sf-equal-cols), 1fr);
gap: var(--sf-equal-gap);
}
.sf-equal--2 { --sf-equal-cols: 2; }
.sf-equal--3 { --sf-equal-cols: 3; }
.sf-equal--4 { --sf-equal-cols: 4; }
.sf-equal--6 { --sf-equal-cols: 6; }

/* -- Content grid (breakout pattern) -------------------------
Full-width grid that lets items break out to breakout or full
width. Children default to the content column.
Expand Down
2 changes: 1 addition & 1 deletion dist/slashed.essential.flat.min.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/slashed.essential.flat.min.css.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/slashed.essential.min.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/slashed.essential.min.css.map

Large diffs are not rendered by default.

44 changes: 44 additions & 0 deletions dist/slashed.full.css
Original file line number Diff line number Diff line change
Expand Up @@ -1056,6 +1056,11 @@
---------------------------------------------------------- */
--sf-stack-gap: var(--sf-space-content);

/* ----------------------------------------------------------
Gap
---------------------------------------------------------- */
--sf-gap-size: var(--sf-space-gap);

/* ----------------------------------------------------------
Box
---------------------------------------------------------- */
Expand Down Expand Up @@ -1102,6 +1107,12 @@
--sf-grid-min-xl: 24rem;
--sf-grid-min-2xl: 28rem;

/* ----------------------------------------------------------
Equal columns (fixed, non-responsive)
---------------------------------------------------------- */
--sf-equal-cols: 2;
--sf-equal-gap: var(--sf-space-gap);

/* ----------------------------------------------------------
Cover
---------------------------------------------------------- */
Expand Down Expand Up @@ -1770,6 +1781,22 @@
.sf-stack--end { align-items: flex-end; }
.sf-stack--stretch { align-items: stretch; }

/* -- Gap ----------------------------------------------------
Injects gap into any existing flex or grid container without
imposing a display type or axis. Unlike .sf-stack (flex
column) or .sf-cluster (flex-wrap row), .sf-gap is layout-
agnostic — use it on elements that already have their own
display context.
Override: style="--sf-gap-size: 2rem"
---------------------------------------------------------- */
.sf-gap { gap: var(--sf-gap-size); }
.sf-gap--xs { gap: var(--sf-space-xs); }
.sf-gap--s { gap: var(--sf-space-s); }
.sf-gap--m { gap: var(--sf-space-m); }
.sf-gap--l { gap: var(--sf-space-l); }
.sf-gap--xl { gap: var(--sf-space-xl); }
.sf-gap--2xl { gap: var(--sf-space-2xl); }

/* -- Box -----------------------------------------------------
Isolated unit with padding and an optional border.
Outline instead of border — doesn't disturb the box model when toggled.
Expand Down Expand Up @@ -2113,6 +2140,23 @@
.sf-grid-3-1 { grid-template-columns: 3fr 1fr; }
}

/* -- Equal columns ------------------------------------------
Fixed N-column grid. Column count NEVER collapses — unlike
.sf-grid-N which uses container queries to stack at small
sizes. Use when the layout must remain N columns at all
widths; the caller is responsible for overflow handling.
Override: style="--sf-equal-cols: 3"
---------------------------------------------------------- */
.sf-equal {
display: grid;
grid-template-columns: repeat(var(--sf-equal-cols), 1fr);
gap: var(--sf-equal-gap);
}
.sf-equal--2 { --sf-equal-cols: 2; }
.sf-equal--3 { --sf-equal-cols: 3; }
.sf-equal--4 { --sf-equal-cols: 4; }
.sf-equal--6 { --sf-equal-cols: 6; }

/* -- Content grid (breakout pattern) -------------------------
Full-width grid that lets items break out to breakout or full
width. Children default to the content column.
Expand Down
44 changes: 44 additions & 0 deletions dist/slashed.full.flat.css
Original file line number Diff line number Diff line change
Expand Up @@ -1035,6 +1035,11 @@
---------------------------------------------------------- */
--sf-stack-gap: var(--sf-space-content);

/* ----------------------------------------------------------
Gap
---------------------------------------------------------- */
--sf-gap-size: var(--sf-space-gap);

/* ----------------------------------------------------------
Box
---------------------------------------------------------- */
Expand Down Expand Up @@ -1081,6 +1086,12 @@
--sf-grid-min-xl: 24rem;
--sf-grid-min-2xl: 28rem;

/* ----------------------------------------------------------
Equal columns (fixed, non-responsive)
---------------------------------------------------------- */
--sf-equal-cols: 2;
--sf-equal-gap: var(--sf-space-gap);

/* ----------------------------------------------------------
Cover
---------------------------------------------------------- */
Expand Down Expand Up @@ -1736,6 +1747,22 @@ td, th {
.sf-stack--end { align-items: flex-end; }
.sf-stack--stretch { align-items: stretch; }

/* -- Gap ----------------------------------------------------
Injects gap into any existing flex or grid container without
imposing a display type or axis. Unlike .sf-stack (flex
column) or .sf-cluster (flex-wrap row), .sf-gap is layout-
agnostic — use it on elements that already have their own
display context.
Override: style="--sf-gap-size: 2rem"
---------------------------------------------------------- */
.sf-gap { gap: var(--sf-gap-size); }
.sf-gap--xs { gap: var(--sf-space-xs); }
.sf-gap--s { gap: var(--sf-space-s); }
.sf-gap--m { gap: var(--sf-space-m); }
.sf-gap--l { gap: var(--sf-space-l); }
.sf-gap--xl { gap: var(--sf-space-xl); }
.sf-gap--2xl { gap: var(--sf-space-2xl); }

/* -- Box -----------------------------------------------------
Isolated unit with padding and an optional border.
Outline instead of border — doesn't disturb the box model when toggled.
Expand Down Expand Up @@ -2079,6 +2106,23 @@ td, th {
.sf-grid-3-1 { grid-template-columns: 3fr 1fr; }
}

/* -- Equal columns ------------------------------------------
Fixed N-column grid. Column count NEVER collapses — unlike
.sf-grid-N which uses container queries to stack at small
sizes. Use when the layout must remain N columns at all
widths; the caller is responsible for overflow handling.
Override: style="--sf-equal-cols: 3"
---------------------------------------------------------- */
.sf-equal {
display: grid;
grid-template-columns: repeat(var(--sf-equal-cols), 1fr);
gap: var(--sf-equal-gap);
}
.sf-equal--2 { --sf-equal-cols: 2; }
.sf-equal--3 { --sf-equal-cols: 3; }
.sf-equal--4 { --sf-equal-cols: 4; }
.sf-equal--6 { --sf-equal-cols: 6; }

/* -- Content grid (breakout pattern) -------------------------
Full-width grid that lets items break out to breakout or full
width. Children default to the content column.
Expand Down
2 changes: 1 addition & 1 deletion dist/slashed.full.flat.min.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/slashed.full.flat.min.css.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/slashed.full.min.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/slashed.full.min.css.map

Large diffs are not rendered by default.

Loading