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

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

/// Generates a base dark progress-linear schema.
/// @type {Map}
/// @prop {Map} track-color [color: ('gray', 100)] - The main track color.
/// @prop {Map} stripes-color [color: ('gray', 900, .7)] - The track stripes color.
$dark-base-progress-linear: (
    track-color: (
        color: (
            'gray',
            100,
        ),
    ),

    stripes-color: (
        color: (
            'gray',
            900,
            0.7,
        ),
    ),
);

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

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

/// Generates a dark bootstrap progress-linear schema.
/// @type {Map}
/// @prop {Map} stripes-color [color: ('gray', 900, .2)] - The track stripes color.
/// @requires $bootstrap-progress-linear
$dark-bootstrap-progress-linear: extend(
    $bootstrap-progress-linear,
    (
        stripes-color: (
            color: (
                'gray',
                900,
                0.2,
            ),
        ),
        _meta: (
            theme: 'bootstrap',
            variant: 'dark',
        ),
    )
);

/// Generates a dark indigo progress-linear schema.
/// @type {Map}
/// @prop {Map} text-color [contrast-color: ('gray', 50, .8)] - The track value text color.
/// @prop {Map} track-color [contrast-color: ('gray', 50, .2)] - The main track color.
/// @requires $indigo-progress-linear
$dark-indigo-progress-linear: extend(
    $indigo-progress-linear,
    (
        text-color: (
            contrast-color: (
                'gray',
                50,
                0.8,
            ),
        ),

        track-color: (
            contrast-color: (
                'gray',
                50,
                0.2,
            ),
        ),
        _meta: (
            theme: 'indigo',
            variant: 'dark',
        ),
    )
);

/// Generates a base dark progress-circular schema.
/// @type {Map}
/// @prop {Map} base-circle-color [color: ('gray', 100)] - The main track color.
$dark-base-progress-circular: (
    base-circle-color: (
        color: (
            'gray',
            100,
        ),
    ),
);

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

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

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

/// Generates a dark indigo progress-circular schema.
/// @type {Map}
/// @prop {Map} base-circle-color [contrast-color: ('gray', 50, .2)] - The base circle fill color.
/// @prop {Map} text-color [contrast-color: ('gray', 50, .8)] - The value text color.
/// @requires $indigo-progress-circular
$dark-indigo-progress-circular: extend(
    $indigo-progress-circular,
    (
        base-circle-color: (
            contrast-color: (
                'gray',
                50,
                0.2,
            ),
        ),

        text-color: (
            contrast-color: (
                'gray',
                50,
                0.8,
            ),
        ),
        _meta: (
            theme: 'indigo',
            variant: 'dark',
        ),
    )
);
