////
///
/// Cursor Utilities
/// ===========================================================================
///
/// Single-property utilities for setting `cursor` on any element.
/// Ported from the legacy `bup/mixins/body_atoms/layout/_cursor.scss`.
///
/// @group Utilities.Interaction
/// @author Scape Press
/// @link https://scape.style
/// @since 0.4.0
/// @access public
///
////

@layer ss.utilities {
    // -----------------------------------------------------------------------
    // Interaction
    // -----------------------------------------------------------------------
    .ss-u-cursor--pointer {
        cursor: pointer;
    }
    .ss-u-cursor--default {
        cursor: default;
    }
    .ss-u-cursor--auto {
        cursor: auto;
    }

    // -----------------------------------------------------------------------
    // Drag
    // -----------------------------------------------------------------------
    .ss-u-cursor--grab {
        cursor: grab;
    }
    .ss-u-cursor--grabbing {
        cursor: grabbing;
    }
    .ss-u-cursor--move {
        cursor: move;
    }
    .ss-u-cursor--all-scroll {
        cursor: all-scroll;
    }

    // -----------------------------------------------------------------------
    // Resize
    // -----------------------------------------------------------------------
    .ss-u-cursor--resize-n {
        cursor: n-resize;
    }
    .ss-u-cursor--resize-s {
        cursor: s-resize;
    }
    .ss-u-cursor--resize-e {
        cursor: e-resize;
    }
    .ss-u-cursor--resize-w {
        cursor: w-resize;
    }
    .ss-u-cursor--resize-ne {
        cursor: ne-resize;
    }
    .ss-u-cursor--resize-nw {
        cursor: nw-resize;
    }
    .ss-u-cursor--resize-se {
        cursor: se-resize;
    }
    .ss-u-cursor--resize-sw {
        cursor: sw-resize;
    }
    .ss-u-cursor--resize-ew {
        cursor: ew-resize;
    }
    .ss-u-cursor--resize-ns {
        cursor: ns-resize;
    }
    .ss-u-cursor--resize-nesw {
        cursor: nesw-resize;
    }
    .ss-u-cursor--resize-nwse {
        cursor: nwse-resize;
    }

    // -----------------------------------------------------------------------
    // Special
    // -----------------------------------------------------------------------
    .ss-u-cursor--text {
        cursor: text;
    }
    .ss-u-cursor--wait {
        cursor: wait;
    }
    .ss-u-cursor--progress {
        cursor: progress;
    }
    .ss-u-cursor--help {
        cursor: help;
    }
    .ss-u-cursor--not-allowed {
        cursor: not-allowed;
    }
    .ss-u-cursor--no-drop {
        cursor: no-drop;
    }
    .ss-u-cursor--crosshair {
        cursor: crosshair;
    }
}
