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

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

/// Generates a base dark avatar schema.
/// @type {Map}
/// @prop {Map} background [color: ('gray', 200)] - The background color of the avatar.
$dark-base-avatar: (
    background: (
        color: (
            'gray',
            200,
        ),
    ),
);

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

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

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

/// Generates a dark indigo avatar schema.
/// @type {Map}
/// @prop {Map} color [contrast-color: ('gray', 300)] - The text color of the avatar.
/// @prop {Map} icon-color [contrast-color: ('gray', 300)] - The icon color of the avatar.
/// @requires $indigo-avatar
$dark-indigo-avatar: extend(
    $indigo-avatar,
    (
        color: (
            contrast-color: (
                'gray',
                300,
            ),
        ),
        icon-color: (
            contrast-color: (
                'gray',
                300,
            ),
        ),
        _meta: (
            theme: 'indigo',
            variant: 'dark',
        ),
    )
);
