@function breakpoint($key: "sm") { @return map-get($breakpoints, $key); } @function breakpoint-next( $name, $breakpoints: $breakpoints, $breakpoint-names: map-keys($breakpoints) ) { $n: index($breakpoint-names, $name); @return if( $n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null ); } @function breakpoint-min($name, $breakpoints: $breakpoints) { $min: map-get($breakpoints, $name); @return if($min != 0, $min, null); } @function breakpoint-max($name, $breakpoints: $breakpoints) { $next: breakpoint-next($name, $breakpoints); @return if($next, breakpoint-min($next, $breakpoints) - 0.02, null); } @function breakpoint-infix($name, $breakpoints: $breakpoints) { @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}"); }