////
///
/// Flex Helper Utilities
/// ===========================================================================
///
/// Companion helpers to `layout/_display.scss` (`ss-u-flex`,
/// `ss-u-inline-flex`).
///
/// @group Utilities.Layout
/// @author Scape Press
/// @link https://scape.style
/// @since 0.3.0
/// @access public
///
////

@layer ss.utilities {
    // Direction
    .ss-u-flex-row {
        flex-direction: row;
    }
    .ss-u-flex-row-reverse {
        flex-direction: row-reverse;
    }
    .ss-u-flex-col {
        flex-direction: column;
    }
    .ss-u-flex-col-reverse {
        flex-direction: column-reverse;
    }

    // Wrap
    .ss-u-flex-wrap {
        flex-wrap: wrap;
    }
    .ss-u-flex-wrap-reverse {
        flex-wrap: wrap-reverse;
    }
    .ss-u-flex-nowrap {
        flex-wrap: nowrap;
    }

    // Grow / shrink
    .ss-u-flex-grow-0 {
        flex-grow: 0;
    }
    .ss-u-flex-grow-1 {
        flex-grow: 1;
    }
    .ss-u-flex-shrink-0 {
        flex-shrink: 0;
    }
    .ss-u-flex-shrink-1 {
        flex-shrink: 1;
    }

    // Justify
    .ss-u-justify-start {
        justify-content: flex-start;
    }
    .ss-u-justify-end {
        justify-content: flex-end;
    }
    .ss-u-justify-center {
        justify-content: center;
    }
    .ss-u-justify-between {
        justify-content: space-between;
    }
    .ss-u-justify-around {
        justify-content: space-around;
    }
    .ss-u-justify-evenly {
        justify-content: space-evenly;
    }

    // Align items
    .ss-u-items-start {
        align-items: flex-start;
    }
    .ss-u-items-end {
        align-items: flex-end;
    }
    .ss-u-items-center {
        align-items: center;
    }
    .ss-u-items-baseline {
        align-items: baseline;
    }
    .ss-u-items-stretch {
        align-items: stretch;
    }
}
