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

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

/// Generates a base dark dialog schema.
/// @type {Map}
/// @prop {Map} message-color [color: ('gray', 500)] - The dialog message text color.
$base-dark-dialog: (
    message-color: (
        color: (
            'gray',
            500,
        ),
    ),
);

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

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

/// Generates a dark bootstrap dialog schema.
/// @type {Map}
/// @prop {Map} border-color [color: ('gray', 100)] - The border color for dialog component.
/// @requires $bootstrap-dialog
/// @requires $base-dark-dialog
$dark-bootstrap-dialog: extend(
    $bootstrap-dialog,
    $base-dark-dialog,
    (
        border-color: (
            color: (
                'gray',
                100,
            ),
        ),
        _meta: (
            theme: 'bootstrap',
            variant: 'dark',
        ),
    )
);

/// Generates a dark indigo dialog schema.
/// @type {Map}
/// @prop {Map} background [color: ('gray', 50)] - The dialog background color.
/// @prop {Number} elevation [23] - The elevation level, between 0-24, to be used for the dialog.
/// @requires $indigo-dialog
/// @requires $dark-indigo-elevation-dialog
$dark-indigo-dialog: extend(
    $indigo-dialog,
    $dark-indigo-elevation-dialog,
    (
        background: (
            color: (
                'gray',
                50,
            ),
        ),
        _meta: (
            theme: 'indigo',
            variant: 'dark',
        ),
    )
);
