summaryrefslogtreecommitdiff
path: root/scss/values/spacing/_spacing.scss
diff options
context:
space:
mode:
authorJoe Carstairs <118172583+jcarstairs-scottlogic@users.noreply.github.com>2024-01-19 09:33:11 +0000
committerGitHub <noreply@github.com>2024-01-19 09:33:11 +0000
commit7140956da0820d4b818119eff7dfc72345f3328e (patch)
tree503e1129a999fe834d2a7b98a4e82bf07264f49f /scss/values/spacing/_spacing.scss
parenta4f3cb02befe658594c076144be2e5200f36682a (diff)
parent83c3460191a2089b56b091a7f4e09f39ac636e1e (diff)
Merge pull request #65 from joeacarstairs/deployment-staging
Update production
Diffstat (limited to 'scss/values/spacing/_spacing.scss')
-rw-r--r--scss/values/spacing/_spacing.scss32
1 files changed, 32 insertions, 0 deletions
diff --git a/scss/values/spacing/_spacing.scss b/scss/values/spacing/_spacing.scss
new file mode 100644
index 0000000..4fd94e8
--- /dev/null
+++ b/scss/values/spacing/_spacing.scss
@@ -0,0 +1,32 @@
+@use 'sass:list';
+@use 'sass:map';
+
+@use 'constants';
+@use 'grid';
+
+/**
+ * - size: sm, md, lg
+ * - direction: inline, block
+ */
+@function spacing($direction, $size, $breakpoint: initial) {
+ $factor: map.get(
+ map.get(constants.$spacing-factor, $direction),
+ $size
+ );
+
+ @if list.index([xxl xl lg md sm], ($breakpoint)) {
+ @return grid.er-to-absolute($factor, $breakpoint);
+ }
+ @else if $breakpoint == xs {
+ @return clamp(
+ spacing($direction, $size, initial),
+ grid.er-to-absolute($factor, xs),
+ spacing($direction, $size, sm)
+ );
+ }
+ @else if $breakpoint == initial {
+ @return calc($factor * 0.0625rem);
+ }
+ @error "Invalid breakpoint: #{$breakpoint}";
+}
+