summaryrefslogtreecommitdiff
path: root/scss/custom-properties/spacing
diff options
context:
space:
mode:
authorJoe Carstairs <118172583+jcarstairs-scottlogic@users.noreply.github.com>2024-01-19 07:32:30 +0000
committerGitHub <noreply@github.com>2024-01-19 07:32:30 +0000
commit0b2fbe3f5b9e2fcf0da2b320af504d5cca759045 (patch)
tree6616775cbd5090eca7656eefa45dc2767a602d2f /scss/custom-properties/spacing
parentda96287803ea26f4cc35173f9f34b71a1d6adfa5 (diff)
Layout and typography improvements (#63)
* Adds soft hyphens to homepage * auto-hyphenates! * Tighter line-height in logo * Fixes spacing and typography below xs breakpoint * Fixes xs-sm spacing and typography * Fixes border widths * Link hover uses wavy underline instead of fat underline * Fixes committee img layout on <xs * Nice separators between committee members * Better styling for committee member heading * Consistent start-end block padding for sections * Better breadcrumb styling * Neatens alignment in footer * Renames scss/variables -> scss/custom-properties * Pulls out colours SCSS variables * Merges margins and padding values * Moves variables/colours -> values/colours * Starts migrating spacing values to SCSS * Pulls out typography logic to SCSS variables/functions * Removes unneeded --er custom property * Calculates grid-total-width-absolute in SCSS * Forwards constants with @forward * Removes TODOs and unnecessary assignment to --width-prose
Diffstat (limited to 'scss/custom-properties/spacing')
-rw-r--r--scss/custom-properties/spacing/_mixins.scss21
-rw-r--r--scss/custom-properties/spacing/initial.scss14
-rw-r--r--scss/custom-properties/spacing/lg.scss7
-rw-r--r--scss/custom-properties/spacing/md.scss7
-rw-r--r--scss/custom-properties/spacing/sm.scss7
-rw-r--r--scss/custom-properties/spacing/xl.scss7
-rw-r--r--scss/custom-properties/spacing/xs.scss7
-rw-r--r--scss/custom-properties/spacing/xxl.scss7
8 files changed, 77 insertions, 0 deletions
diff --git a/scss/custom-properties/spacing/_mixins.scss b/scss/custom-properties/spacing/_mixins.scss
new file mode 100644
index 0000000..4e35ee7
--- /dev/null
+++ b/scss/custom-properties/spacing/_mixins.scss
@@ -0,0 +1,21 @@
+@use 'sass:map';
+
+@use '../../values/spacing' as spacing-values;
+
+@mixin spacing($breakpoint: initial) {
+ --spacing-inline-lg: #{spacing-values.spacing($direction: inline, $size: lg, $breakpoint: $breakpoint)};
+ --spacing-inline-md: #{spacing-values.spacing($direction: inline, $size: md, $breakpoint: $breakpoint)};
+ --spacing-inline-sm: #{spacing-values.spacing($direction: inline, $size: sm, $breakpoint: $breakpoint)};
+ --spacing-block-lg: #{spacing-values.spacing($direction: block, $size: lg, $breakpoint: $breakpoint)};
+ --spacing-block-md: #{spacing-values.spacing($direction: block, $size: md, $breakpoint: $breakpoint)};
+ --spacing-block-sm: #{spacing-values.spacing($direction: block, $size: sm, $breakpoint: $breakpoint)};
+}
+
+@mixin grid($breakpoint: initial) {
+ --grid-padding: #{spacing-values.grid-padding($breakpoint: $breakpoint)};
+ --grid-column-count: #{map.get(spacing-values.$grid-column-count, $breakpoint)};
+ --grid-column-width: #{spacing-values.grid-column-width($breakpoint: $breakpoint)};
+ --grid-gutter-width: #{spacing-values.grid-gutter-width($breakpoint: $breakpoint)};
+ --grid-prose-column-count: #{map.get(spacing-values.$grid-prose-column-count, $breakpoint)};
+ --grid-total-width: #{spacing-values.grid-total-width-absolute($breakpoint)};
+}
diff --git a/scss/custom-properties/spacing/initial.scss b/scss/custom-properties/spacing/initial.scss
new file mode 100644
index 0000000..a38388f
--- /dev/null
+++ b/scss/custom-properties/spacing/initial.scss
@@ -0,0 +1,14 @@
+@use 'sass:map';
+
+@use '../../values/spacing' as spacing-values;
+@use 'mixins';
+
+:root {
+ @include mixins.spacing();
+ @include mixins.grid();
+
+ --width-prose: calc(
+ var(--grid-column-width) * var(--grid-prose-column-count) +
+ var(--grid-gutter-width) * (var(--grid-prose-column-count) - 1)
+ );
+}
diff --git a/scss/custom-properties/spacing/lg.scss b/scss/custom-properties/spacing/lg.scss
new file mode 100644
index 0000000..1e9b090
--- /dev/null
+++ b/scss/custom-properties/spacing/lg.scss
@@ -0,0 +1,7 @@
+@use 'mixins';
+@use '../../values/spacing' as spacing-values;
+
+:root {
+ // No need for spacing here, since it's the same as sm.
+ @include mixins.grid($breakpoint: lg);
+}
diff --git a/scss/custom-properties/spacing/md.scss b/scss/custom-properties/spacing/md.scss
new file mode 100644
index 0000000..99b9352
--- /dev/null
+++ b/scss/custom-properties/spacing/md.scss
@@ -0,0 +1,7 @@
+@use 'mixins';
+@use '../../values/spacing' as spacing-values;
+
+:root {
+ // No need for spacing here, since it's the same as sm.
+ @include mixins.grid($breakpoint: md);
+}
diff --git a/scss/custom-properties/spacing/sm.scss b/scss/custom-properties/spacing/sm.scss
new file mode 100644
index 0000000..0fdfcfe
--- /dev/null
+++ b/scss/custom-properties/spacing/sm.scss
@@ -0,0 +1,7 @@
+@use 'mixins';
+@use '../../values/spacing' as spacing-values;
+
+:root {
+ @include mixins.spacing($breakpoint: sm);
+ @include mixins.grid($breakpoint: sm);
+}
diff --git a/scss/custom-properties/spacing/xl.scss b/scss/custom-properties/spacing/xl.scss
new file mode 100644
index 0000000..265c6e9
--- /dev/null
+++ b/scss/custom-properties/spacing/xl.scss
@@ -0,0 +1,7 @@
+@use 'mixins';
+@use '../../values/spacing' as spacing-values;
+
+:root {
+ // No need for spacing here, since it's the same as sm.
+ @include mixins.grid($breakpoint: xl);
+}
diff --git a/scss/custom-properties/spacing/xs.scss b/scss/custom-properties/spacing/xs.scss
new file mode 100644
index 0000000..13a14d6
--- /dev/null
+++ b/scss/custom-properties/spacing/xs.scss
@@ -0,0 +1,7 @@
+@use 'mixins';
+@use '../../values/spacing' as spacing-values;
+
+:root {
+ @include mixins.spacing($breakpoint: xs);
+ @include mixins.grid($breakpoint: xs);
+}
diff --git a/scss/custom-properties/spacing/xxl.scss b/scss/custom-properties/spacing/xxl.scss
new file mode 100644
index 0000000..600f74e
--- /dev/null
+++ b/scss/custom-properties/spacing/xxl.scss
@@ -0,0 +1,7 @@
+@use 'mixins';
+@use '../../values/spacing' as spacing-values;
+
+:root {
+ // No need for spacing here, since it's the same as sm.
+ @include mixins.grid($breakpoint: xxl);
+}