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

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

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

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

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

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

/// 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
$dark-indigo-snackbar: extend(
    $indigo-snackbar,
    $dark-base-snackbar,
    (
        background: (
            color: (
                'gray',
                300,
            ),
        ),

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

        button-color: (
            contrast-color: (
                'gray',
                200,
            ),
        ),
    )
);
