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

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

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

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

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

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

/// Generates a dark indigo validator schema.
/// @type Map
/// @prop {Map} helper-text-color [contrast-color: ('gray', 50, .8)] - The color used for helper text.
/// @prop {Map} text-error-color [contrast-color: ('gray', 50, .8)] - The color used for the error message.
/// @requires $indigo-validator
$dark-indigo-validator: extend(
    $indigo-validator,
    $dark-base-validator,
    (
        helper-text-color: (
            contrast-color: (
                'gray',
                50,
                0.8,
            ),
        ),
        text-error-color: (
            contrast-color: (
                'gray',
                50,
                0.8,
            ),
        ),
    )
);
