@use '../../../../utils/map' as *;
@use '../../../../typography/functions' as *;
@use '../light/rating' as *;

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

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

/// Generates a dark fluent rating schema.
/// @type {Map}
/// @prop {Map} symbol-full-color [color: ('gray', 800)] - sets the color in selected state for the symbol when it is a plane text.
/// @prop {Map} symbol-empty-color [color: ('gray', 400)] - sets the idle color for the symbol when it is a plane text.
/// @prop {Map} disabled-full-symbol-color [color: ('warn', 900)] - sets the color for the symbol in selected/disabled state when it is a plane text.
/// @prop {Map} disabled-empty-symbol-color [color: ('warn', 900)] - sets the idle color for the symbol in disabled state when it is a plane text.
/// @requires $fluent-rating
$dark-fluent-rating: extend(
    $fluent-rating,
    (
        symbol-full-color: (
            color: (
                'gray',
                800,
            ),
        ),
        symbol-empty-color: (
            color: (
                'gray',
                400,
            ),
        ),
        disabled-full-symbol-color: (
            color: (
                'warn',
                900,
            ),
        ),
        disabled-empty-symbol-color: (
            color: (
                'warn',
                900,
            ),
        ),
        _meta: (
            theme: 'fluent',
            variant: 'dark',
        ),
    )
);

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

/// Generates a dark indigo rating schema.
/// @prop {Map} label-color [contrast-color: ('gray', 50, .8)] - sets the color for the label.
/// @prop {Map} value-label [contrast-color: ('gray', 50, .8)] - sets the color for the value label.
/// @prop {Map} symbol-empty-color [color: ('gray', 300)] - sets the idle color for the symbol when it is a plane text.
/// @prop {Map} disabled-label-color [color: ('contrast-color', 50, .2)] - sets the color for the label in disabled state.
/// @prop {Map} disabled-value-label [color: ('contrast-color', 50, .2)] - sets the color for the value in disabled state.
/// @prop {Map} disabled-empty-symbol-color [color: ('gray', 300, .4)] - sets the idle color for the symbol in disabled state when it is a plane text.
/// @type {Map}
/// @requires $indigo-rating
$dark-indigo-rating: extend(
    $indigo-rating,
    (
        label-color: (
            contrast-color: (
                'gray',
                50,
                0.8,
            ),
        ),
        value-label: (
            contrast-color: (
                'gray',
                50,
                0.8,
            ),
        ),
        symbol-empty-color: (
            color: (
                'gray',
                300,
            ),
        ),
        disabled-label-color: (
            contrast-color: (
                'gray',
                50,
                0.2,
            ),
        ),
        disabled-value-label: (
            contrast-color: (
                'gray',
                50,
                0.2,
            ),
        ),
        disabled-empty-symbol-color: (
            color: (
                'gray',
                300,
                0.4,
            ),
        ),
        _meta: (
            theme: 'indigo',
            variant: 'dark',
        ),
    )
);
