@use '../../../../utils/map' as *;
@use '../light/snackbar' as *;
@use '../elevation/snackbar' as *;

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

/// Generates a dark material snackbar schema.
/// @type {Map}
/// @requires $material-snackbar
$dark-material-snackbar: extend(
    $material-snackbar,
    (
        _meta: (
            theme: 'material',
            variant: 'dark',
        ),
    )
);

/// Generates a dark fluent snackbar schema.
/// @type {Map}
/// @requires $fluent-snackbar
$dark-fluent-snackbar: extend(
    $fluent-snackbar,
    (
        _meta: (
            theme: 'fluent',
            variant: 'dark',
        ),
    )
);

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

/// Generates a dark indigo snackbar schema.
/// @type {Map}
/// @prop {Map} background [color: ('gray', 300)] - The background color used in the snackbar.
/// @prop {Map} text-color [contrast-color: ('gray', 200)] - The text color used in the snackbar.
/// @prop {Map} button-color [contrast-color: ('gray', 200)] - The button color used in the snackbar.
/// @requires $indigo-snackbar
/// @requires {Map} $dark-indigo-elevation-snackbar
$dark-indigo-snackbar: extend(
    $indigo-snackbar,
    $dark-indigo-elevation-snackbar,
    (
        background: (
            color: (
                'gray',
                300,
            ),
        ),

        text-color: (
            contrast-color: (
                'gray',
                200,
            ),
        ),

        button-color: (
            contrast-color: (
                'gray',
                200,
            ),
        ),
        _meta: (
            theme: 'indigo',
            variant: 'dark',
        ),
    )
);
