////////////////////////////////////////////////////////////////////////////////
//
//  Licensed to the Apache Software Foundation (ASF) under one or more
//  contributor license agreements.  See the NOTICE file distributed with
//  this work for additional information regarding copyright ownership.
//  The ASF licenses this file to You under the Apache License, Version 2.0
//  (the "License"); you may not use this file except in compliance with
//  the License.  You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS,
//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//  See the License for the specific language governing permissions and
//  limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////

// Jewel RadioButton

// RadioButton variables
$radiobutton-border-radius: 50%
$radiobutton-label-separation: 8px
$radiobutton-label-font-size: 16px

.jewel.radiobutton

    // -- INPUT
    input

        + span::before
            @if $flat
                background: lighten($default-color, 15%)
                border: 1px solid $default-color
            @else
                background: linear-gradient(lighten($default-color, 15%), lighten($default-color, 10%))
                border: 1px solid darken($default-color, 15%)
            border-radius: $radiobutton-border-radius

        + span::after
            background: encodeSVG("<svg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'><rect x='0' y='0' width='22' height='22' fill-opacity='0'/><circle fill='#{$primary-color}' cx='11' cy='11' r='6'/></svg>") no-repeat center center
            border: 1px solid transparent
            border-radius: $radiobutton-border-radius
            
            transition: all .3s ease
            transform: scale(0)
        
        &:checked + span::after, &:checked:active + span::after
            transform: scale(1)
        
        &:focus + span::before, &:checked:focus + span::before, &:checked:active:focus + span::before
            @if $flat
                background: lighten($primary-color, 25%)
                border: 1px solid $primary-color
            @else
                background: linear-gradient(lighten($primary-color, 30%), lighten($primary-color, 20%))
                border: 1px solid darken($primary-color, 15%)
            border-radius: $radiobutton-border-radius

        &[disabled]
            
            & + span::before
                background: $disabled-color
                @if $flat
                    border: 1px solid $disabled-border-color
                @else
                    border: 1px solid $disabled-border-color// .094em
                border-radius: $radiobutton-border-radius

            & + span
                color: $disabled-font-color

            & + span::after
                background: encodeSVG("<svg viewBox='0 0 22 22' version='1.1' xmlns='http://www.w3.org/2000/svg'><rect x='0' y='0' width='22' height='22' fill-opacity='0'/><circle fill='#{darken($disabled-color, 15%)}' cx='11' cy='11' r='6'/></svg>") no-repeat center center

    // -- LABEL
    span
        padding-left: $radiobutton-label-separation
        //font-size: $radiobutton-label-font-size
        