////
///
/// Paragraph Default Mixins
/// ===========================================================================
///
/// Base mixins for default paragraph styles.
///
/// @group Typography.Paragraph.Base.Default
/// @author Scape Press
/// @link https://scape.style
/// @since 0.1.0 initial release
/// @access public
///
////

@use "sass:map";
@use "./paragraph-default.config" as config;

// -----------------------------------------------------------------------------
// Core
// -----------------------------------------------------------------------------

@mixin ss-paragraph-default($override: ()) {
    $settings: map.merge(config.$ss-paragraph-default-config, $override);

    text-indent: map.get($settings, text-indent);
    text-justify: map.get($settings, text-justify);
    text-overflow: map.get($settings, text-overflow);
    text-transform: map.get($settings, text-transform);
    text-decoration: map.get($settings, text-decoration);

    margin-block-end: map.get($settings, margin-block-end);

    overflow-wrap: map.get($settings, overflow-wrap);
    word-break: map.get($settings, word-break);

    @if map.get($settings, hide-empty) == true {
        &:empty {
            display: none;
        }
    }

    &:last-of-type {
        margin-block-end: 0;
    }
}

// -----------------------------------------------------------------------------
// Normal
// -----------------------------------------------------------------------------

@mixin ss-paragraph-normal {
    @include ss-paragraph-default();
}

// @use "sass:map";
// @use "./paragraph-default.config" as config;

// // ============================================================================
// // Mixins
// // ============================================================================

// /// Apply default inherited paragraph styles
// @mixin paragraph-default {
//     $cfg: config.$ss-paragraph-default-config;

//     font-family: map.get($cfg, font-family);
//     font-size: map.get($cfg, font-size);
//     font-weight: map.get($cfg, font-weight);
//     line-height: map.get($cfg, line-height);
//     color: map.get($cfg, color);
//     margin-block: map.get($cfg, margin-block);
//     text-align: map.get($cfg, text-align);
// }
