UNPKG

bootstrap-4-grid-styl

Version:

Bootstrap 4 grid system and layout utilities using Stylus

44 lines (38 loc) 1.75 kB
// Bootstrap functions // // Utility mixins and functions for evaluating source code across our variables, maps, and mixins. // Ascending // Used to evaluate Sass maps like our grid breakpoints. _assert-ascending($map, $map-name) $prev-key = null $prev-num = null for $key, $num in $map if $prev-num == null // Do nothing else if !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 // Starts at zero // Another grid mixin that ensures the min-width of the lowest breakpoint starts at 0. _assert-starts-at-zero($map) $values = values($map) $first-value = $values[0] if $first-value != 0 warn("First breakpoint in `$grid-breakpoints` must start at 0, but starts at "+$first-value+".") // Replace `$search` with `$replace` in `$string` // Used on our SVG icon backgrounds for custom forms. // // @author Hugo Giraudel // @param {String} $string - Initial string // @param {String} $search - Substring to replace // @param {String} $replace ('') - New value // @return {String} - Updated string str-replace($string, $search, $replace = "") $index = index($string, $search) if $index slice($string, 1, $index - 1) + $replace + replace(slice($string, $index + length($search)), $search, $replace) else $string