

// ============================================================================
// icon.gl | Font Variables
// ============================================================================

@use "../variables" as *;
@use "../mixins" as *;


///
/// Generates CSS classes for each icon by iterating over a map of icon names
/// and codepoints.
/// 
/// @example
/// .i_home::before { content: "\e900"; }
/// .i_user::before { content: "\e901"; }
///
@each $icon, $codepoint in $icongl_map {
    .i_#{$icon}::before { content: $codepoint; }
}


///
/// Applies a consistent base style to all icons and icon classes.
/// This style includes setting the font family from a variable and includes
/// the `icon_style` mixin.
/// 
/// @see icon_style - Refer to the icon_style mixin for detailed style properties applied.
///
.i::before,
[class^="i_"]::before,
[class*=" i_"]::before {
    font-family: $icongl_font !important;
    @include icon_style;
}
