]> git.ipfire.org Git - thirdparty/foundation/foundation-sites.git/commitdiff
feat: make Close Button sizing modifiers generated dynamically from "$closebutton...
authorNicolas Coden <nicolas@ncoden.fr>
Wed, 7 Nov 2018 22:58:45 +0000 (23:58 +0100)
committerNicolas Coden <nicolas@ncoden.fr>
Wed, 7 Nov 2018 22:58:45 +0000 (23:58 +0100)
scss/components/_close-button.scss

index bc0e1b82ca3ddae4360e7611cc52b573fe97aac0..c5f8a2ad59efb6abc1ec9e03ccd726387bdb275e 100644 (file)
@@ -14,6 +14,11 @@ $closebutton-position: right top !default;
 /// @type Number
 $closebutton-z-index: 10 !default;
 
+/// Button size to use as default
+/// @type String
+/// @see $closebutton-size, $closebutton-offset-horizontal, $closebutton-offset-vertical
+$closebutton-default-size: medium !default;
+
 /// Right (or left) offset(s) for a close button.
 /// @type Number|Map
 $closebutton-offset-horizontal: (
@@ -28,7 +33,7 @@ $closebutton-offset-vertical: (
   medium: 0.5rem,
 ) !default;
 
-/// Default font size(s) of the close button.
+/// Size(s) of the close button. Used to generate sizing modifiers.
 /// @type Number|Map
 $closebutton-size: (
   small: 1.5em,
@@ -101,7 +106,20 @@ $closebutton-color-hover: $black !default;
   .close-button {
     @include close-button;
 
-    &.small { @include close-button-size(small) }
-    &, &.medium { @include close-button-size(medium) }
+    // Generate a placeholder and a class for each size
+    @each $name, $size in $closebutton-size {
+      @at-root {
+        %zf-close-button--#{$name} {
+          @include close-button-size($name);
+        }
+      }
+
+      &.#{$name} {
+        @extend %zf-close-button--#{$name};
+      }
+    }
+
+    // Use by default the placeholder of the default size
+    @extend %zf-close-button--#{$closebutton-default-size};
   }
 }