@charset 'utf-8';

/*  ========================================================================
    JUICE -> ELEMENTS -> FORM -> LABEL
    ========================================================================  */

// Check if the elements with label should be imported
@if $import-elements and $import-element-label {
    label {
        color: $label-font-color;
        cursor: pointer;
        display: block;
        font-family: $label-font-family;
        font-size: $label-font-size;
        margin: 0;
        margin-bottom: $label-element-spacing;
        padding: 0;
        user-select: none;

        // Modifiers: Props
        &[disabled] {
            @include disabled();
        }

        // Check if the label size modifiers should be declared
        @if $label-size-modifiers {
            // Cycle through all of the sizes
            @each $size in $sizes {
                // Modifiers: Sizes
                &.is-#{$size} {
                    font-size: map-get($label-font-size-sizes, $size);
                }

                // Check if the label size modifiers with breakpoints should be declared
                @if $label-size-modifiers-with-breakpoints {
                    // Cycle through all of the breakpoints
                    @each $breakpoint-name, $breakpoint-value in $breakpoints {
                        // Breakpoint
                        @include breakpoint($breakpoint-name) {
                            // Modifiers: Size
                            &.is-#{$size}\@#{$breakpoint-name} {
                                font-size: map-get($label-font-size-sizes, $size);
                            }
                        }
                    }
                }
            }
        }

        // Check if the label feedback modifiers should be declared
        @if $label-feedback-modifiers {
            // Cycle through all of the feedback colors
            @each $feedback-name, $feedback-value in $feedback-colors {
                // Modifiers: Feedback colors
                &.has-#{$feedback-name} {
                    color: feedback-color($feedback-name);
                }
            }
        }

        // Check if the label inline modifier should be declared
        @if $label-inline-modifier {
            // Modifiers
            &.label--inline {
                display: inline-block;
            }
        }
    }
}
