/**
 *  functions
 *
 *
 *  @author Björn Hase, me@herr-hase.wtf
 *  @license http://opensource.org/licenses/MIT The MIT License
 *  @link https://gitea.node001.net/tiny-components/plain-ui.git
 *
 */


/**
 *  strip unit from value
 *
 *  @param  {mixed} $value
 *  @return {number}
 *
 */
@function stripUnit($value)
{
    @return $value / ($value * 0 + 1);
}

/**
 *
 *
 *  https://css-tricks.com/snippets/sass/str-replace-function/
 *
 */
@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;
}


/**
 *  get value of key "default" in map
 *
 *  @param  {map} $value
 *  @return {boolean|unit}
 *
 */
@function getDefault($map)
{
    $default: false;

    @if map-has-key($map, 'default') {
        $default: map-get($map, 'default');
    }

    @return $default;
}


/**
 *  factor
 *
 *
 *
 *  @param  {integer} $x
 *  @return {float}
 *
 */
@function factor($x)
{
    @return ($x * $x) / 2;
}