aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Otto <[email protected]>2017-06-13 22:21:50 -0700
committerMark Otto <[email protected]>2017-06-14 20:55:00 -0700
commit5da5a38f0d26445003467ed0b7a046fb9c3ee82b (patch)
treec7542a9a8720ecdbed6fe443f8ac5e3ab3e1d43f
parent2e798301ca15ed45c86283371d4c5a37510f945d (diff)
downloadbootstrap-5da5a38f0d26445003467ed0b7a046fb9c3ee82b.tar.xz
bootstrap-5da5a38f0d26445003467ed0b7a046fb9c3ee82b.zip
Move scss functions from top of variables to separate file, then import it into other build files
-rw-r--r--scss/_functions.scss39
-rw-r--r--scss/_variables.scss46
-rw-r--r--scss/bootstrap-grid.scss1
-rw-r--r--scss/bootstrap-reboot.scss1
-rw-r--r--scss/bootstrap.scss11
5 files changed, 42 insertions, 56 deletions
diff --git a/scss/_functions.scss b/scss/_functions.scss
new file mode 100644
index 000000000..870df42a7
--- /dev/null
+++ b/scss/_functions.scss
@@ -0,0 +1,39 @@
+@mixin _assert-ascending($map, $map-name) {
+ $prev-key: null;
+ $prev-num: null;
+ @each $key, $num in $map {
+ @if $prev-num == null {
+ // Do nothing
+ } @else if not comparable($prev-num, $num) {
+ @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
+ } @else if $prev-num >= $num {
+ @warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
+ }
+ $prev-key: $key;
+ $prev-num: $num;
+ }
+}
+
+// Replace `$search` with `$replace` in `$string`
+// @author Hugo Giraudel
+// @param {String} $string - Initial string
+// @param {String} $search - Substring to replace
+// @param {String} $replace ('') - New value
+// @return {String} - Updated string
+@function str-replace($string, $search, $replace: "") {
+ $index: str-index($string, $search);
+
+ @if $index {
+ @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
+ }
+
+ @return $string;
+}
+
+@mixin _assert-starts-at-zero($map) {
+ $values: map-values($map);
+ $first-value: nth($values, 1);
+ @if $first-value != 0 {
+ @warn "First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.";
+ }
+}
diff --git a/scss/_variables.scss b/scss/_variables.scss
index 5bd938c6b..92d5e11e0 100644
--- a/scss/_variables.scss
+++ b/scss/_variables.scss
@@ -6,7 +6,6 @@
// Variables should follow the `$component-state-property-size` formula for
// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.
-
// Table of Contents
//
// Colors
@@ -44,51 +43,6 @@
// Close
// Code
-@mixin _assert-ascending($map, $map-name) {
- $prev-key: null;
- $prev-num: null;
- @each $key, $num in $map {
- @if $prev-num == null {
- // Do nothing
- } @else if not comparable($prev-num, $num) {
- @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
- } @else if $prev-num >= $num {
- @warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
- }
- $prev-key: $key;
- $prev-num: $num;
- }
-}
-
-// Replace `$search` with `$replace` in `$string`
-// @author Hugo Giraudel
-// @param {String} $string - Initial string
-// @param {String} $search - Substring to replace
-// @param {String} $replace ('') - New value
-// @return {String} - Updated string
-@function str-replace($string, $search, $replace: "") {
- $index: str-index($string, $search);
-
- @if $index {
- @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
- }
-
- @return $string;
-}
-
-@mixin _assert-starts-at-zero($map) {
- $values: map-values($map);
- $first-value: nth($values, 1);
- @if $first-value != 0 {
- @warn "First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.";
- }
-}
-
-
-// General variable structure
-//
-// Variable format should follow the `$component-modifier-state-property` order.
-
// Colors
//
diff --git a/scss/bootstrap-grid.scss b/scss/bootstrap-grid.scss
index 2ba685877..722856c05 100644
--- a/scss/bootstrap-grid.scss
+++ b/scss/bootstrap-grid.scss
@@ -23,6 +23,7 @@ html {
}
@import "custom";
+@import "functions";
@import "variables";
//
diff --git a/scss/bootstrap-reboot.scss b/scss/bootstrap-reboot.scss
index 5867f08ec..5965022a9 100644
--- a/scss/bootstrap-reboot.scss
+++ b/scss/bootstrap-reboot.scss
@@ -3,6 +3,7 @@
// Includes only Normalize and our custom Reboot reset.
@import "custom";
+@import "functions";
@import "variables";
@import "mixins";
diff --git a/scss/bootstrap.scss b/scss/bootstrap.scss
index f7577f5c7..239d062cf 100644
--- a/scss/bootstrap.scss
+++ b/scss/bootstrap.scss
@@ -5,14 +5,11 @@
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-// Core variables and mixins
@import "custom";
+@import "functions";
@import "variables";
@import "mixins";
-
@import "print";
-
-// Core CSS
@import "reboot";
@import "type";
@import "images";
@@ -21,8 +18,6 @@
@import "tables";
@import "forms";
@import "buttons";
-
-// Components
@import "transitions";
@import "dropdown";
@import "button-group";
@@ -41,12 +36,8 @@
@import "list-group";
@import "responsive-embed";
@import "close";
-
-// Components w/ JavaScript
@import "modal";
@import "tooltip";
@import "popover";
@import "carousel";
-
-// Utility classes
@import "utilities";