main
functions
fs-breakpoint
@function fs-breakpoint($keys...) { ... }
View sourceDescription
Helper to get named breakpoint value from $fs-breakpoints
map. Defaults to using 'base' as key if a single argument is passed.
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$keys | key/value | Arglist | — none |
Returns
Number
—Breakpoint width
Throws
π΄ $fs-breakpoints map does not exist
π΄ $fs-breakpoints map does not contain any items
π΄ β#{$keys}β breakpoint not found
Requires
- [function]
fs-map-deep-get
— Fetch nested keys - [variable]
fs-breakpoints
— Named breakpoints map
fs-auto-contrast
@function fs-auto-contrast($base, $colors, $ratio: 4.5, $tolerance: 0) { ... }
View sourceDescription
Pick first color in map with passing color contrast ratio
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$base | Background color | Color | — none |
$colors | List of text colors ordered by preference | Map | — none |
$ratio | Target contrast ratio | Number | 4.5 |
$tolerance | Allowed deviation from target contrast ratio | Number | 0 |
Returns
Color
Example
.demo {
color: fs-auto-contrast(darkgreen, (#fff, #555, #000));
}
Links
- https://gist.github.com/voxpelli/6304812
- https://github.com/xi/sass-planifolia/blob/master/sass/contrast.scss
Author
Based on work by voxpelli and xi
fs-color
@function fs-color($keys...) { ... }
View sourceDescription
Helper to get color value from $fs-colors
map
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$keys | key/value | Arglist | — none |
Returns
Color
—Color value
Throws
π΄ $fs-colors map does not exist
π΄ Color map does not contain any items
π΄ #{$keys} is not a valid color
Requires
- [function]
fs-map-deep-get
— Fetch nested keys - [variable]
fs-colors
— Named colors map
fs-easing
@function fs-easing($name) { ... }
View sourceDescription
Custom easing function
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$name | Name of easing | String | — none |
Returns
String
—Easing code
Requires
- [variable]
fs-easings
— Custom easing map
fs-em
@function fs-em($values, $context: $fs-base-font-size) { ... }
View sourceDescription
Convert px to em
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$values | Value or values to convert | Number or Map | — none |
$context | Base font size | Number | $fs-base-font-size |
Returns
Converted value or list of values
Throws
π΄ #{$context} size must be in pixels
Requires
- [variable]
fs-debug-mode
- [variable]
fs-base-font-size
— Base font size
Used by
- [function]
fs-scale
fs-svg
@function fs-svg($name) { ... }
View sourceDescription
β οΈ DEPRECATED: use fs-svg-url
instead. Helper to get URL-escaped inline SVG code for use with background-image
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$name | Icon name | String | — none |
Returns
Color
—$color - Fill color
Throws
π΄ icon β#{$name}β does not exists in $fs-svg-icons map
Requires
- [function]
fs-svg-url
- [function]
fs-url-encode
- [variable]
fs-svg-icons
— SVG icon map
Links
fs-rem
@function fs-rem($values, $context: $fs-base-font-size) { ... }
View sourceDescription
Convert px to rem
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$values | Value values to convert | Number or Map | — none |
$context | Base font size | Number | $fs-base-font-size |
Returns
Converted value or list of values
Requires
- [variable]
fs-debug-mode
- [variable]
fs-base-font-size
— Base font size
Used by
fs-scale
@function fs-scale($start, $end, $min-width, $max-width) { ... }
View sourceDescription
Scale a value relative to the viewport width using calc()
and viewport units
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$start | Starting value | Number | — none |
$end | Ending value | Number | — none |
$min-width | Starting viewport width | Number | — none |
$max-width | Ending viewport width | Number | — none |
Returns
String
—Custom calc()
formula
Example
p {
font-size: fs-scale(20px, 30px, 320px, 400px);
}
Throws
π΄ fs-scale() units donβt match
Requires
- [function]
fs-strip-unit
- [function]
fs-em
- [function]
fs-rem
Used by
- [mixin]
fs-scale-mq
- [mixin]
fs-scale-text
- [mixin]
fs-scale
Links
- http://www.sassmeister.com/gist/7f22e44ace49b5124eec
- http://madebymike.com.au/writing/precise-control-responsive-typography/
- https://zellwk.com/blog/viewport-based-typography/
- http://codepen.io/indrekpaas/pen/VarLaJ?editors=1100
- http://codepen.io/maranomynet/pen/ozNpXV?editors=1100
- https://www.smashingmagazine.com/2016/05/fluid-typography/
fs-svg-url
@function fs-svg-url($name, $props) { ... }
View sourceDescription
Inline SVG in url() for background-image
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$name | SVG name | String | — none |
$props | SVG attributes | Map | — none |
Returns
String
—Inline SVG as url("data:image/svg+xml,β¦")
Example
.foo {
background-image: fs-svg-url('chevDown', (fill: none, stroke: red, stroke-width: 1px));
}
Throws
π΄ $svg-map doesnβt exist
π΄ $svg-map isnβt a valid Sass map
π΄ icon β#{$name}β not found in $svg-map
Requires
- [variable]
fs-escape-chars
- [variable]
fs-svgs
- [function]
fs-str-replace
- [function]
fs-url-encode
Used by
- [function]
fs-svg
Links
- https://www.sassmeister.com/gist/c2f12e64b242469d728f335ed612ae35
- https://css-tricks.com/probably-dont-base64-svg/
- https://codepen.io/tigt/post/optimizing-svgs-in-data-uris
- https://codepen.io/jakob-e/pen/doMoML
- https://yoksel.github.io/url-encoder/
- https://www.sassmeister.com/gist/594de57bc18015df9dc568e96aff9075
fs-zindex
@function fs-zindex($keys...) { ... }
View sourceDescription
Get z-index layer from $fs-zindex
map variable
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$keys | key/value | Arglist | — none |
Returns
Number
—z-index value
Throws
π΄ $fs-zindex map does not exist
π΄ $fs-zindex map does not contain any items
Requires
- [function]
fs-map-deep-get
— Fetch nested keys - [variable]
fs-zindex
— Global z-index map
Links
mixins
fs-absolute-fill
@mixin fs-absolute-fill() { ... }
View sourceDescription
Absolutely position an element and fill available space
Parameters
None.
fs-angle
@mixin fs-angle($angle, $color, $position: 'top', $pseudo: 'before') { ... }
View sourceDescription
Apply an angled edge using a pseudo-element with a diagonal background
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$angle | Angle | Angle | — none |
$color | Background color | Color | — none |
$position | Either | String | 'top' |
$pseudo | Either | String | 'before' |
Links
Author
Hugo Giraudel
fs-aspect-ratio
@mixin fs-aspect-ratio($ratio) { ... }
View sourceDescription
Maintain aspect ratio
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$ratio | Aspect ratio (width / height) | Number | — none |
Example
16:9 aspect ratio
.foo {
@include fs-aspect-ratio(16/9);
}
fs-burger
@mixin fs-burger($width: 30px, $height: 5px, $gutter: 3px, $color: currentColor, $border-radius: 0, $transition-duration: 300ms) { ... }
View sourceDescription
Burger menu icon mixin
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$width | Icon width | Number | 30px |
$height | Bar height | Number | 5px |
$gutter | Gap between bars | Number | 3px |
$color | Icon color | Color | currentColor |
$border-radius | Border radius | Number | 0 |
$transition-duration | Transition duration | Number | 300ms |
Example
.icon {
@include fs-burger(
$color: #fff,
$gutter: 3px,
$height: 3px,
$transition-duration: 200ms,
$width: 20px
);
Links
Author
Joren Van Hee
fs-burger-to-cross
@mixin fs-burger-to-cross() { ... }
View sourceParameters
None.
Example
.icon {
@include fs-burger(
$color: #fff,
$gutter: 3px,
$height: 3px,
$transition-duration: 200ms,
$width: 20px
);
&.is-active {
@include fs-burger-to-cross;
}
}
fs-clearfix
@mixin fs-clearfix() { ... }
View sourceDescription
Clears floats in IE 8+
Parameters
None.
Links
fs-contrast-test
@mixin fs-contrast-test($color1, $color2, $threshold: 4.5) { ... }
View sourceDescription
Warn if the contrast is below a threshold
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$color1 | background color | Color | — none |
$color2 | foreground color | Color | — none |
$threshold | Minimum contrast threshold | Number | 4.5 |
Links
fs-font-smoothing
@mixin fs-font-smoothing($enabled) { ... }
View sourceDescription
Apply font smoothing in Safari, Chrome, and Firefox. Use sparringly!
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$enabled | Enable or disable smoothing | Boolean | — none |
Links
fs-hide-text
@mixin fs-hide-text() { ... }
View sourceDescription
Hide text in element, requires setting height and width
Parameters
None.
Links
fs-link-colors
@mixin fs-link-colors($static, $visited: $static, $attention) { ... }
View sourceDescription
Helper mixin to set link colors
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$static | Static link color | Color | — none |
$visited | Visited link color (optional) | Color | $static |
$attention | Hover/focus/active link color | Color | — none |
Example
a {
@include fs-link-colors(
$static: blue,
$attention: red,
$visited: purple
);
}
fs-media
@mixin fs-media($conditions) { ... }
View sourceDescription
Base media query mixin
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$conditions | Width or map of conditions | Number or Map | — none |
Example
@include fs-media((min-width: 600px)) {β¦}
@include fs-media((min-width: 600px, max-width: 900px, min-height: 500px, min-aspect-ratio: "1/1")) {β¦}
Throws
π΄ β#{$conditions}β is not a valid Sass map
Used by
- [mixin]
fs-min-width
- [mixin]
fs-max-width
- [mixin]
fs-min-height
- [mixin]
fs-max-height
fs-min-width
@mixin fs-min-width($width) { ... }
View sourceDescription
Min-width media query helper
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$width | Breakpoint width | Number | — none |
Example
@include fs-min-width(960px) {β¦}
Requires
- [mixin]
fs-media
Used by
- [mixin]
fs-scale-mq
- [mixin]
fs-scale-text
- [mixin]
fs-scale
fs-max-width
@mixin fs-max-width($width) { ... }
View sourceDescription
Max-width media query helper
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$width | Breakpoint width | Number | — none |
Example
@include fs-max-width(960px) {β¦}
Requires
- [mixin]
fs-media
Used by
- [mixin]
fs-scale
fs-min-height
@mixin fs-min-height($height) { ... }
View sourceDescription
Min-height media query helper
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$height | Breakpoint height | Number | — none |
Example
@include fs-min-height(500px) {β¦}
Requires
- [mixin]
fs-media
fs-max-height
@mixin fs-max-height($height) { ... }
View sourceDescription
Max-height media query helper
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$height | Breakpoint height | Number | — none |
Example
@include fs-max-height(500px) {β¦}
Requires
- [mixin]
fs-media
fs-print-hide
@mixin fs-print-hide() { ... }
View sourceDescription
Hide in print view
Parameters
None.
fs-print-only
@mixin fs-print-only() { ... }
View sourceDescription
Only show in print view
Parameters
None.
fs-quantity
@mixin fs-quantity($arg) { ... }
View sourceDescription
Quantity query mixin
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$arg | Quantity query | String or Number | — none |
Example
@include fs-quantity(8) {
/* Exactly 8 */
}
@include fs-quantity(8 12) {
/* At least 8 and at most 12 */
}
@include fs-quantity(odd) {
/* Odd quantity */
}
@include fs-quantity(even) {
/* Even quantity*/
}
@include fs-quantity('<8') {
/* Less than 8 */
}
@include fs-quantity('<=8') {
/* Less than or equal to 8 */
}
@include fs-quantity('>8') {
/* More than 8 */
}
@include fs-quantity('>=8') {
/* More than or equal to 8 */
}
Requires
- [function]
fs-to-number
Links
- http://sassmeister.com/gist/f48e5e34d329eaf44e37
- http://alistapart.com/article/quantity-queries-for-css
Author
Indrek Paas
fs-reset-input
@mixin fs-reset-input() { ... }
View sourceDescription
Reset input styles
Parameters
None.
Used by
- [mixin]
fs-reset-button
fs-reset-button
@mixin fs-reset-button() { ... }
View sourceDescription
Reset button styles
Parameters
None.
Requires
- [mixin]
fs-reset-input
fs-reset-textarea
@mixin fs-reset-textarea() { ... }
View sourceDescription
Reset textarea styles
Parameters
None.
fs-reset-list
@mixin fs-reset-list() { ... }
View sourceDescription
Reset list styles
Parameters
None.
fs-scale-mq
@mixin fs-scale-mq($property, $start, $end, $min-width, $max-width, $min-step: null, $max-steps: 10) { ... }
View sourceDescription
β οΈ DEPRECATED: use fs-scale
instead. Scale a value relative to the viewport width by generating media queries at set intervals
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$property | Property to scale | String | — none |
$start | Starting value | Number | — none |
$end | Ending value | Number | — none |
$min-width | Starting viewport width | Number | — none |
$max-width | Ending viewport width | Number | — none |
$min-step | Minimum increment to adjust value | Number | null |
$max-steps | Maximum number of times to adjust the value | Number | 10 |
Example
@include fs-scale-mq(line-height, 1.7, 1.5, 320px, 450px, $min-step: 0.05);
Throws
π΄ fs-scale-mq() max-width must be greater than min-width
π΄ fs-scale-mq() units donβt match
π΄ $min-step units in fs-scale-mq() donβt match
π΄ $max-steps in fs-scale-mq() must be a unitless number
Requires
- [function]
fs-scale
- [mixin]
fs-min-width
Links
fs-scale-text
@mixin fs-scale-text($start, $end, $font-increment: 2px, $line-height-increment: 0.1, $start-width: 320px, $end-width: 1000px, $context: $fs-base-font-size, $units: '%') { ... }
View sourceDescription
β οΈ DEPRECATED: use fs-scale
instead. Automatically scale font-size and line-height
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$start | Starting | Number or List | — none |
$end | Ending | Number or List | — none |
$font-increment | Font-size increment | Number | 2px |
$line-height-increment | Line-height increment (optional) | Number | 0.1 |
$start-width | Starting viewport width | Number | 320px |
$end-width | Ending viewport width | Number | 1000px |
$context | Base | Number | $fs-base-font-size |
$units |
| String | '%' |
Example
// Basic example
@include fs-scale-text(
$start: 32px,
$end: 50px,
$font-increment: 3px,
$start-width: 400px,
$end-width: 800px
);
// With line-height and custom units
@include fs-scale-text(
$start: 32px 1.25,
$end: 50px 1.1,
$font-increment: 3px,
$line-height-increment: 0.05,
$start-width: 400px,
$end-width: 800px,
$units: 'em'
);
Throws
π΄ max font size must be greater than min font size for #{&}
π΄ starting and ending font sizes must be in pixels for #{&}
π΄ font increment must be in pixels for #{&}
π΄ font context size must be in pixels for #{&}
π΄ ending width must be greater than starting width for #{&}
π΄ starting width must be a pixel value for #{&}
π΄ ending width must be a pixel value for #{&}
π΄ fs-scale-text() output units must be %, px, em, or rem for #{&}
Requires
- [function]
fs-scale
- [function]
fs-strip-unit
- [variable]
fs-debug-mode
- [mixin]
fs-min-width
— Min-width media query mixin
Links
fs-scale
@mixin fs-scale($properties, $map, $initial: true, $units: 'rem') { ... }
View sourceDescription
Scale a value for any number of properites relative to the viewport width
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$properties | Properties to scale | String or List | — none |
$map | Map of breakpoints and values | Map | — none |
$initial | Output initial value (not inside media query) | Boolean | true |
$units | Output units | String | 'rem' |
Example
@include fs-scale(font-size, (320px: 18px, 1024px: 38px));
@include fs-scale(margin-bottom margin-top, (
320px: 18px,
768px: 26px,
1024px: 38px
));
@include fs-scale(font-size, (768px: 26px, 1024px: 38px), $initial: false);
@include fs-scale(font-size, (768px: 26px, 1024px: 38px), $units: 'em');
Requires
- [function]
fs-rem
- [function]
fs-scale
- [mixin]
fs-min-width
- [mixin]
fs-max-width
Links
- http://www.sassmeister.com/gist/7f22e44ace49b5124eec
- http://madebymike.com.au/writing/precise-control-responsive-typography/
- https://zellwk.com/blog/viewport-based-typography/
- http://codepen.io/indrekpaas/pen/VarLaJ?editors=1100
- http://codepen.io/maranomynet/pen/ozNpXV?editors=1100
- https://www.smashingmagazine.com/2016/05/fluid-typography/
- https://github.com/Jakobud/poly-fluid-sizing
fs-text-optimize
@mixin fs-text-optimize() { ... }
View sourceDescription
Helper for setting text-rendering: optimizeLegibility;
Parameters
None.
fs-triangle
@mixin fs-triangle($size, $color, $direction) { ... }
View sourceDescription
Triangle mixin (from Bourbon)
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$size | Height of triangle | Number | — none |
$color | Hex color value | Color | — none |
$direction | Up, down, left, or right | String | — none |
Links
Author
fs-vert-center
@mixin fs-vert-center($position: relative) { ... }
View sourceDescription
Vertically center an element
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$position | Positioning | String | relative |
Links
fs-undo-vert-center
@mixin fs-undo-vert-center() { ... }
View sourceDescription
Reset vertical center styles
Parameters
None.
fs-break-word
@mixin fs-break-word() { ... }
View sourceDescription
Break long words, hyphenate if possible (requires lang
attribute)
Parameters
None.
Links
variables
fs-base-font-size
$fs-base-font-size: 16px !default;
View sourceDescription
Base font size
Type
Number
Used by
fs-breakpoints
$fs-breakpoints: (
'global': (
'narrow' : 320px,
'small' : 480px,
'medium' : 640px,
'wide' : 960px,
'full' : 1200px
)
) !default;
View sourceDescription
Named breakpoints map
Type
Map
Used by
- [function]
fs-breakpoint
fs-colors
$fs-colors: (
'base': (
'red': #ff4136,
'orange': #ff851b,
'yellow': #ffdc00,
'green': #2ecc40,
'blue': #0074d9,
'purple': #b10dc9,
'white': #fff,
'gray': #ccc,
'black': #000,
)
) !default;
View sourceDescription
Colors map
Type
Map
Used by
- [function]
fs-color
Links
fs-easings
$fs-easings: (
'linear' : '0.250, 0.250, 0.750, 0.750',
'ease' : '0.250, 0.100, 0.250, 1.000',
'ease-in' : '0.420, 0.000, 1.000, 1.000',
'ease-out' : '0.000, 0.000, 0.580, 1.000',
'ease-in-out' : '0.420, 0.000, 0.580, 1.000',
'easeInQuad' : '0.550, 0.085, 0.680, 0.530',
'easeInCubic' : '0.550, 0.055, 0.675, 0.190',
'easeInQuart' : '0.895, 0.030, 0.685, 0.220',
'easeInQuint' : '0.755, 0.050, 0.855, 0.060',
'easeInSine' : '0.470, 0.000, 0.745, 0.715',
'easeInExpo' : '0.950, 0.050, 0.795, 0.035',
'easeInCirc' : '0.600, 0.040, 0.980, 0.335',
'easeInBack' : '0.600, -0.280, 0.735, 0.045',
'easeOutQuad' : '0.250, 0.460, 0.450, 0.940',
'easeOutCubic' : '0.215, 0.610, 0.355, 1.000',
'easeOutQuart' : '0.165, 0.840, 0.440, 1.000',
'easeOutQuint' : '0.230, 1.000, 0.320, 1.000',
'easeOutSine' : '0.390, 0.575, 0.565, 1.000',
'easeOutExpo' : '0.190, 1.000, 0.220, 1.000',
'easeOutCirc' : '0.075, 0.820, 0.165, 1.000',
'easeOutBack' : '0.175, 0.885, 0.320, 1.275',
'easeInOutQuad' : '0.455, 0.030, 0.515, 0.955',
'easeInOutCubic' : '0.645, 0.045, 0.355, 1.000',
'easeInOutQuart' : '0.770, 0.000, 0.175, 1.000',
'easeInOutQuint' : '0.860, 0.000, 0.070, 1.000',
'easeInOutSine' : '0.445, 0.050, 0.550, 0.950',
'easeInOutExpo' : '1.000, 0.000, 0.000, 1.000',
'easeInOutCirc' : '0.785, 0.135, 0.150, 0.860',
'easeInOutBack' : '0.680, -0.550, 0.265, 1.55'
);
View sourceDescription
Custom easings map
Type
Map
Used by
- [function]
fs-easing
Links
fs-escape-chars
$fs-escape-chars: (
'"': '\'',
'%': '%25',
'#': '%23',
'<': '%3C',
'>': '%3E',
);
View sourceDescription
Characters to escape from SVGs
Type
Map
Used by
- [function]
fs-svg-url
- [function]
fs-url-encode
fs-svg-icons
$fs-svg-icons: (
close: (
height: 28,
width: 22,
data: '<path d="M20.28 20.66q0 .62-.44 1.06l-2.12 2.12q-.44.44-1.06.44t-1.07-.44l-4.6-4.6-4.6 4.6q-.43.44-1.06.44t-1.06-.44l-2.12-2.12q-.44-.44-.44-1.06t.44-1.07l4.6-4.6-4.6-4.6q-.44-.43-.44-1.06t.44-1.06l2.12-2.12q.44-.44 1.06-.44t1.07.44l4.6 4.6 4.6-4.6q.43-.44 1.06-.44t1.06.44l2.12 2.12q.44.44.44 1.06t-.44 1.07l-4.6 4.6 4.6 4.6q.44.43.44 1.06z"/>'
),
search: (
height: 28,
width: 26,
data: '<path d="M18 13q0-2.9-2.06-4.95T11 6 6.05 8.06 4 13t2.05 4.95T11 20t4.95-2.06T18 13zm8 13q0 .8-.6 1.4T24 28q-.84 0-1.4-.6l-5.37-5.34Q14.43 24 11 24q-2.23 0-4.27-.87T3.2 20.8.88 17.26 0 13t.87-4.27T3.2 5.2t3.53-2.33T11 2t4.27.87T18.8 5.2t2.33 3.53T22 13q0 3.44-1.94 6.23l5.36 5.36q.58.57.58 1.4z"/>'
)
) !default;
View sourceDescription
β οΈ DEPRECATED: use $fs-svgs
instead. SVG icon map for deprecated fs-svg()
mixin
Type
Map
Used by
- [function]
fs-svg
fs-svgs
$fs-svgs: (
'chevDown': '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 10" preserveAspectRatio="xMidYMid meet"><path d="M12 0l2 2-7 7.1-7-7L2-.1l5 5z"/></svg>'
);
View sourceDescription
SVG icons
Type
Map
Used by
- [function]
fs-svg-url
fs-zindex
$fs-zindex: (
'main': 100,
'tooltip': 200,
'nav': 300,
'modal': 9999,
) !default;
View sourceDescription
Z-index layer map
Type
Map
Used by
- [function]
fs-zindex
math
variables
fs-pi
$fs-pi: 3.141592653589793;
View sourceDescription
Pi
Type
Number
Used by
Links
Author
xi
functions
fs-pow
@function fs-pow($x, $exponent, $steps: 32) { ... }
View sourceDescription
Power function (supports fractional exponents)
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$x | Number | Number | — none |
$exponent | Exponent | Number | — none |
$steps | Steps (level of precision) | Number | 32 |
Returns
Number
Requires
- [function]
fs-strip-unit
Used by
- [function]
fs-sqrt
Links
Author
xi
fs-sqrt
@function fs-sqrt($x, $exponent, $steps: 40) { ... }
View sourceDescription
Square root function
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$x | Number | Number | — none |
$exponent | Exponent | Number | — none |
$steps | Steps (level of precision) | Number | 40 |
Returns
Number
Requires
- [function]
fs-pow
Links
Author
xi
factorial
@function factorial($number) { ... }
View sourceDescription
Factorial function
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$number | — none | Number | — none |
Returns
Number
Links
Author
Daniel Perez Alvarez
fs-sin
@function fs-sin($x, $steps: 32) { ... }
View sourceDescription
Sine function
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$x | Number | Number | — none |
$steps | Steps (level of precision) | Number | 32 |
Returns
Number
Requires
- [variable]
fs-pi
Used by
Links
Author
xi
fs-cos
@function fs-cos($x, $steps: 32) { ... }
View sourceDescription
Cosine function
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$x | Number | Number | — none |
$steps | Steps (level of precision) | Number | 32 |
Returns
Number
Requires
Used by
- [function]
fs-tan
Links
Author
xi
fs-tan
@function fs-tan($x, $steps: 32) { ... }
View sourceDescription
Tangent function
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$x | Number | Number | — none |
$steps | Steps (level of precision) | Number | 32 |
Returns
Number
Requires
Links
Author
xi
fs-ratio
@function fs-ratio($a, $b) { ... }
View sourceDescription
Return unitless ratio of two values
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$a | Dividend | Number | — none |
$b | Divisor | Number | — none |
Returns
Number
—Unitless ratio
Throws
π΄ Units do not match: fs-ratio(#{$a}, #{$b})
Requires
- [function]
fs-strip-unit
sass utils
functions
fs-contains
@function fs-contains($list, $value) { ... }
View sourceDescription
Check whether $list
contains $value
.
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$list | List of values. | List | — none |
$value | Value to check in the list. | Any | — none |
Returns
Boolean
Used by
- [function]
fs-is-length
Links
fs-is-length
@function fs-is-length($value) { ... }
View sourceDescription
Check whether $value
is a valid length.
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$value | Value to validate. | Any | — none |
Returns
Boolean
Requires
- [function]
fs-contains
Links
fs-map-deep-get
@function fs-map-deep-get($map, $keys...) { ... }
View sourceDescription
Fetch nested keys
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$map | Map | Map | — none |
$keys | Keys to fetch | Arglist | — none |
Returns
Used by
- [function]
fs-breakpoint
- [function]
fs-color
- [function]
fs-zindex
Links
Author
Hugo Giraudel
fs-map-deep-set
@function fs-map-deep-set($map, $keys..., $value) { ... }
View sourceDescription
Update a key deeply nested
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$map | Map to update | Map | — none |
$keys | Keys to access to value to update | Arglist | — none |
$value | New value (last member of | Any | — none |
Returns
Map
—Updated map
Links
Author
Hugo Giraudel
fs-map-depth
@function fs-map-depth($map) { ... }
View sourceDescription
Compute the maximum depth of a map
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$map | — none | Map | — none |
Returns
Number
—max depth of $map
Links
Author
Hugo Giraudel
fs-map-has-keys
@function fs-map-has-keys($map, $keys...) { ... }
View sourceDescription
Test if map got all $keys
at first level
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$map | Map | Map | — none |
$keys | Keys to test | Arglist | — none |
Returns
Boolean
Links
Author
Hugo Giraudel
fs-map-has-nested-keys
@function fs-map-has-nested-keys($map, $keys...) { ... }
View sourceDescription
Test if map got all $keys
nested with each others
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$map | Map | Map | — none |
$keys | Keys to test | Arglist | — none |
Returns
Boolean
Links
Author
Hugo Giraudel
fs-map-zip
@function fs-map-zip($keys, $values) { ... }
View sourceDescription
An equivalent of zip
function but for maps. Takes two lists, the first for keys, second for values.
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$keys | Keys for map | List | — none |
$values | Values for map | List | — none |
Returns
Map
—Freshly created map
Links
Author
Hugo Giraudel
fs-map-extend
@function fs-map-extend($map, $maps..., $deep) { ... }
View sourceDescription
jQuery-style extend function About map-merge()
:
- only takes 2 arguments
- is not recursive
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$map | first map | Map | — none |
$maps | other maps | Arglist | — none |
$deep | recursive mode | Boolean | — none |
Returns
Map
Links
Author
Hugo Giraudel
fs-slice
@function fs-slice($list, $start, $end) { ... }
View sourceDescription
Slices $list
between $start
and $end
.
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$list | list to slice | List | — none |
$start | (1) - start index | Number | — none |
$end | (length($list)) - end index | Number | — none |
Returns
List</code> or <code>Null
Example
fs-slice(a b c d e, 2, 4)
// b c d
fs-slice(a b c d e, 2, 2)
// b
fs-slice(a b c d e, 4, 2)
// null
fs-slice(a b c d e, -1, 6)
// null
Throws
List indexes $start and $end must be numbers for
fs-slice
.Start index has to be lesser than or equals to the end index for
fs-slice
.List indexes must be non-zero integers for
fs-slice
.Start index has to be lesser than or equal to list length for
fs-slice
.End index has to be lesser than or equal to list length for
fs-slice
.
Links
Author
Hugo Giraudel
fs-str-replace
@function fs-str-replace($string, $search, $replace) { ... }
View sourceDescription
Replace $search
with $replace
in $string
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$string | Initial string | String | — none |
$search | Substring to replace | String | — none |
$replace | ('') - New value | String | — none |
Returns
String
—Updated string
Example
fs-str-replace("abcde", "bc", "a") => "aade"
Used by
- [function]
fs-svg-url
- [function]
fs-url-encode
Links
- http://sassmeister.com/gist/1b4f2da5527830088e4d
- http://hugogiraudel.com/2014/01/13/sass-string-replacement-function/
Author
Hugo Giraudel
fs-to-length
@function fs-to-length($value, $unit) { ... }
View sourceDescription
Add $unit
to $value
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$value | Value to add unit to | Number | — none |
$unit | String representation of the unit | String | — none |
Returns
Number
—$value
expressed in $unit
Links
Author
Hugo Giraudel
fs-to-number
@function fs-to-number($value) { ... }
View sourceDescription
Casts a string into a number
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$value | Value to be parsed | String or Number | — none |
Returns
Number
Used by
- [mixin]
fs-quantity
Links
Author
Hugo Giraudel
fs-strip-unit
@function fs-strip-unit($arg) { ... }
View sourceDescription
Strip units
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$arg | Value to strip | Number | — none |
Returns
Number
—Stripped value
Throws
π΄ fs-strip-unit(#{inspect($arg)} is not a valid number
Used by
- [function]
fs-scale
- [mixin]
fs-scale-text
- [function]
fs-pow
- [function]
fs-ratio
- [function]
fs-strip
Links
fs-strip
@function fs-strip($arg) { ... }
View sourceDescription
β οΈ DEPRECATED: use fs-strip-unit
instead. Strips unit from value
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$arg | Value to strip | Number | — none |
Returns
Number
—Stripped value
Requires
- [function]
fs-strip-unit
fs-url-encode
@function fs-url-encode($string) { ... }
View sourceDescription
URL-encode string
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$string | String to encode | String | — none |
Returns
String
—URL-encoded string
Requires
- [variable]
fs-escape-chars
- [function]
fs-str-replace
Used by
- [function]
fs-svg
- [function]
fs-svg-url
variables
fs-debug-mode
$fs-debug-mode: false !default;
View sourceDescription
Debug mode toggle
Type
Boolean
Used by
- [function]
fs-em
- [function]
fs-rem
- [mixin]
fs-scale-text
- [mixin]
fs-debug
mixins
fs-debug
@mixin fs-debug($override) { ... }
View sourceDescription
Debug helper to conditionally run code
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$override | Manually override | Boolean | — none |
Requires
- [variable]
fs-debug-mode
— Global debug mode flag
selectors
mixins
fs-static-parent
@mixin fs-static-parent() { ... }
View sourceDescription
Helper mixin to apply static pesudo selectors to parent
Parameters
None.
Throws
π΄ fs-static-parent(#{inspect($parent)} is not a valid string
fs-attention-parent
@mixin fs-attention-parent() { ... }
View sourceDescription
Helper mixin to apply :hover
, :focus
, and :active
pesudo selectors to parent
Parameters
None.
Throws
π΄ fs-attention-parent(#{inspect($parent)} is not a valid string
fs-all-states-parent
@mixin fs-all-states-parent() { ... }
View sourceDescription
Helper mixin to apply all pesudo selectors to parent
Parameters
None.
Throws
π΄ fs-all-states-parent(#{inspect($parent)} is not a valid string
fs-static
@mixin fs-static() { ... }
View sourceDescription
Helper mixin to apply static pesudo selectors
Parameters
None.
fs-attention
@mixin fs-attention() { ... }
View sourceDescription
Helper mixin to apply :hover
, :focus
, and :active
pesudo selectors
Parameters
None.
fs-all-states
@mixin fs-all-states() { ... }
View sourceDescription
Helper mixin to apply all pesudo selectors
Parameters
None.
fs-root-add
@mixin fs-root-add($selector) { ... }
View sourceDescription
Add selector to root (requires Sass 3.4+)
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$selector | Selector to add to root | String | — none |
Example
.foo {
@include fs-root-add(a) {
content: 'a.foo';
}
@include fs-root-add('.bar') {
content: '.foo.bar';
}
}
Throws
π΄ selector-append() is not supported. Please upgrade to Sass 3.4+
Links
fs-root-before
@mixin fs-root-before($selector) { ... }
View sourceDescription
Prepend selector (requires Sass 3.4+)
Parameters
parameter Name | parameter Description | parameter Type | parameter Default value |
---|---|---|---|
$selector | Selector to insert before root | String | — none |
Example
.foo {
@include fs-root-before(a) {
content: 'a .foo';
}
@include fs-root-before('.bar') {
content: '.bar .foo';
}
}
Throws
π΄ selector-nest() is not supported. Please upgrade to Sass 3.4+
Links
fs-text-inputs
@mixin fs-text-inputs() { ... }
View sourceDescription
Helper to select all text input types
Parameters
None.