// ============================================================================
// Poster
// ============================================================================

////
/// 
/// Cursors Maps Module
/// ===========================================================================
/// 
/// @group Mouse
/// @author Scape Agency
/// @link https://move.gl
/// @since 0.1.0 initial release
/// @todo None
/// @see https://developer.mozilla.org/en-US/docs/Web/CSS/cursor
/// @access public
/// 
////


// ============================================================================
// Use
// ============================================================================



// ============================================================================
// Maps
// ============================================================================

/// 
/// Cursor Styles Map
/// ---------------------------------------------------------------------------
///
/// A map defining standard cursor styles for easy reference and extensibility.
/// Allows for uniform application of cursor styles across elements.
///
$cursor_styles: (

    // General
    "auto": auto,                   // Default cursor
    "default": default,             // The platform-dependent default cursor. Typically an arrow.
    "none": none,                   // No cursor is rendered.

    // Links & Status
    "context-menu": context-menu,   // Indicates a context menu is available
    "help": help,                   // Can be used for elements that provide additional information
    "pointer": pointer,             // Indicates a link. Typically an image of a pointing hand.
    "progress": progress,           // Indicates progress
    "wait": wait,                   // Indicates a waiting state, often used for loading

    // Selection
    "cell": cell,                   // Indicates a cell or selectable item
    "crosshair": crosshair,         // Useful for precision elements, like in a drawing tool
    "text": text,                   // The text can be selected. Typically the shape of an I-beam.
    "vertical-text": vertical-text, // The vertical text can be selected. Typically the shape of a sideways I-beam.

    // Drag & drop
    "alias": alias,                 // Can indicate an alias of/shortcut to something
    "copy": copy,                   // Indicates something can be copied
    "move": move,                   // Something is to be moved.
    "no-drop": no-drop,             // Indicates that dropping is not allowed
    "not-allowed": not-allowed,     // Indicates an action is not allowed
    "grab": grab,                   // Something can be grabbed (dragged to be moved).
    "grabbing": grabbing,           // Something is being grabbed (dragged to be moved).

    // Resizing & Scrolling
    "all-scroll": all-scroll,       // Indicates scrolling in any direction
    "col-resize": col-resize,       // Indicates that a column can be resized
    "row-resize": row-resize,       // Indicates that a row can be resized
    "n-resize": n-resize,           // thin long arrow pointing towards the top    Some edge is to be moved. For example, the se-resize cursor is used when the movement starts from the south-east corner of the box.
    // In some environments, an equivalent bidirectional resize cursor is shown. For example, n-resize and s-resize are the same as ns-resize.
    "e-resize": e-resize,           // thin long arrow pointing towards the right
    "s-resize": s-resize,           // thin long arrow pointing down
    "w-resize": w-resize,           // thin long arrow pointing towards the left
    "ne-resize": ne-resize,         // thin long arrow pointing top-right
    "nw-resize": nw-resize,         // thin long arrow pointing top-left
    "se-resize": se-resize,         // thin long arrow pointing bottom-right
    "sw-resize": sw-resize,
    "ew-resize": ew-resize,         // thin long arrow pointing left and right    Bidirectional resize cursor.
    "ns-resize": ns-resize,         // thin long arrow pointing up and down
    "nesw-resize": nesw-resize,     // thin long arrow pointing both to the top-right and bottom-left
    "nwse-resize": nwse-resize,

    // Zooming
    "zoom-in": zoom-in, // Indicates that something can be zoomed in
    "zoom-out": zoom-out, // Indicates that something can be zoomed out

    // Additions start here
    "disabled": not-allowed,
    "resize-vertical": ns-resize, // For vertical resizing
    "resize-horizontal": ew-resize, // For horizontal resizing
    "resize-diagonal-1": nwse-resize, // For diagonal resizing (top-left to bottom-right)
    "resize-diagonal-2": nesw-resize, // For diagonal resizing (top-right to bottom-left)

);
