@use '../../../../utils/map' as *;
@use '../light/scrollbar' as *;

////
/// @package theming
/// @group schemas
/// @access public
////

/// Generates a base dark scrollbar schema.
/// @access private
/// @type Map
$dark-base-scrollbar: (
    _meta: (
        name: 'scrollbar',
        variant: 'dark',
    ),
);

/// Generates a dark material scrollbar schema.
/// @type Map
/// @requires $material-scrollbar
$dark-material-scrollbar: extend($material-scrollbar, $dark-base-scrollbar);

/// Generates a dark fluent scrollbar schema.
/// @type Map
/// @requires $fluent-scrollbar
$dark-fluent-scrollbar: extend($fluent-scrollbar, $dark-base-scrollbar);

/// Generates a dark bootstrap scrollbar schema.
/// @type Map
/// @prop {Map} sb-thumb-bg-color [color: ('gray', 200, .5)] - The background color used for the thumb.
/// @prop {Map} sb-thumb-bg-color-hover [color: ('gray', 200, .5)] - The :hover background color of the thumb.
/// @prop {Map} sb-track-bg-color [color: ('gray', 100, .5)] - The background color used for the track.
/// @prop {Map} sb-track-bg-color-hover [color: ('gray', 100, .5)] - The :hover background color of the track.
/// @requires $bootstrap-scrollbar
$dark-bootstrap-scrollbar: extend(
    $bootstrap-scrollbar,
    $dark-base-scrollbar,
    (
        sb-thumb-bg-color: (
            color: (
                'gray',
                200,
                0.5,
            ),
        ),
        sb-thumb-bg-color-hover: (
            color: (
                'gray',
                200,
                0.5,
            ),
        ),
        sb-track-bg-color: (
            color: (
                'gray',
                100,
                0.5,
            ),
        ),
        sb-track-bg-color-hover: (
            color: (
                'gray',
                100,
                0.5,
            ),
        ),
    )
);

/// Generates a dark indigo scrollbar schema.
/// @type Map
/// @prop {Map} sb-thumb-bg-color [color: ('gray', 100)] - The background color used for the thumb.
/// @prop {Map} sb-thumb-bg-color-hover [color: ('gray', 100)] - The :hover background color of the thumb.
/// @prop {Map} sb-track-bg-color [color: ('gray', 50)] - The background color used for the track.
/// @prop {Map} sb-track-bg-color-hover [color: ('gray', 50)] - The :hover background color of the track.
/// @requires $indigo-scrollbar
$dark-indigo-scrollbar: extend(
    $indigo-scrollbar,
    $dark-base-scrollbar,
    (
        sb-thumb-bg-color: (
            color: (
                'gray',
                100,
            ),
        ),
        sb-thumb-bg-color-hover: (
            color: (
                'gray',
                100,
            ),
        ),
        sb-track-bg-color: (
            color: (
                'gray',
                50,
            ),
        ),
        sb-track-bg-color-hover: (
            color: (
                'gray',
                50,
            ),
        ),
    )
);
