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

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

/// Generates a base dark splitter schema.
/// @access private
/// @type Map
/// @prop {Map} handle-color [color: ('gray', 800)] - The color for the bar drag handle.
/// @prop {Map} expander-color [color: ('gray', 800)] - The color for the arrow expander's.
$dark-base-splitter: (
    handle-color: (
        color: (
            'gray',
            800,
        ),
    ),

    expander-color: (
        color: (
            'gray',
            800,
        ),
    ),
    _meta: (
        name: 'splitter',
        variant: 'dark',
    ),
);

/// Generates a dark material splitter schema.
/// @type Map
/// @prop {Map} handle-color-active [color: ('gray', 800)] - The color for the bar drag handle when pressed.
/// @prop {Map} expander-color-active [color: ('gray', 800)] - The color for the arrow expander's when pressed.
/// @requires $light-splitter
/// @requires $dark-base-splitter
$dark-material-splitter: extend(
    $material-splitter,
    $dark-base-splitter,
    (
        handle-color-active: (
            color: (
                'gray',
                800,
            ),
        ),
        expander-color-active: (
            color: (
                'gray',
                800,
            ),
        ),
    )
);

/// Generates a dark fluent splitter schema.
/// @type Map
/// @prop {Map} handle-color-active [color: ('gray', 900)] - The color for the bar drag handle when pressed.
/// @prop {Map} expander-color-active [color: ('gray', 900)] - The color for the arrow expander's when pressed.
/// @requires $fluent-splitter
/// @requires $dark-base-splitter
$dark-fluent-splitter: extend(
    $fluent-splitter,
    $dark-base-splitter,
    (
        handle-color-active: (
            color: (
                'gray',
                900,
            ),
        ),

        expander-color-active: (
            color: (
                'gray',
                900,
            ),
        ),
    )
);

/// Generates a dark bootstrap splitter schema.
/// @type Map
/// @requires $bootstrap-splitter
$dark-bootstrap-splitter: extend(
    $bootstrap-splitter,
    (
        _meta: (
            variant: 'dark',
        ),
    )
);

/// Generates a dark indigo splitter schema.
/// @type Map
/// @prop {Map} bar-color [color: ('gray', 200)] - The background color of the bar.
/// @prop {Map} handle-color [color: ('gray', 600)] - The color for the bar drag handle.
/// @prop {Map} expander-color [color: ('gray', 600)] - The color for the arrow expander.
/// @prop {Map} bar-color-active [color: ('gray', 300)] - The background color of the bar when pressed.
/// @requires $indigo-splitter
$dark-indigo-splitter: extend(
    $indigo-splitter,
    $dark-base-splitter,
    (
        bar-color: (
            color: (
                'gray',
                200,
            ),
        ),

        handle-color: (
            color: (
                'gray',
                600,
            ),
        ),

        expander-color: (
            color: (
                'gray',
                600,
            ),
        ),

        bar-color-active: (
            color: (
                'gray',
                300,
            ),
        ),
    )
);
