@use '../utils' as *;
@use '../site' as *;
@use './helpers.scss' as *;

// -----------------------------------------------------------------------------
/// Base mixin for controls (sets and resets common control properties)

@function control-base() {
    // locals (not expected to customized)
    $css: (
        appearance: none,
        box-sizing: border-box,
        position: relative,
        display: inline-flex,
        align-items: center,
        outline: none,
        border: none,
        white-space: nowrap,
        disabled: (
            cursor: not-allowed,
        ),
    );

    // merge config
    $css: flat-merge($css, get('controls:base'));

    // return the css map
    @return $css;
}

@mixin control-base() {
    @include css-map(control-base());
}
