Files
matrix_home_web/bower_components/uikit/scss/components/form-advanced.scss
2025-04-23 10:45:21 +02:00

128 lines
3.9 KiB
SCSS

// Name: Form advanced
// Description: Custom appearance of radio and checkbox buttons
//
// Component: `uk-form`
//
// ========================================================================
// Variables
// ========================================================================
$form-advanced-size: 14px !default;
$form-advanced-border: #aaa !default;
$form-advanced-border-width: 1px !default;
$form-advanced-margin-top: -4px !default;
$form-advanced-color: transparent !default;
$form-advanced-checked-color: #00a8e6 !default;
$form-advanced-radio-size: 8px !default;
$form-advanced-checkbox-icon: "\f00c" !default;
$form-advanced-checkbox-indeterminate-icon: "\f068" !default;
$form-advanced-checkbox-font-size: 12px !default;
$form-advanced-disabled-border: #ddd !default;
$form-advanced-disabled-color: #aaa !default;
/* ========================================================================
Component: Form advanced
Note: Only works in Webkit at the moment
========================================================================== */
/*
* 1. Style
* 2. Makes box more robust so it clips the child element
* 3. Vertical alignment
* 4. Remove default style
* 5. Fix black background on iOS
*/
.uk-form input[type="radio"],
.uk-form input[type="checkbox"] {
/* 1 */
display: inline-block;
height: $form-advanced-size;
width: $form-advanced-size;
border: $form-advanced-border-width solid $form-advanced-border;
/* 2 */
overflow: hidden;
/* 3 */
margin-top: $form-advanced-margin-top;
vertical-align: middle;
/* 4 */
-webkit-appearance: none;
outline: 0;
/* 5 */
background: $form-advanced-color;
@include hook-form-advanced();
}
/* Radio */
.uk-form input[type="radio"] { border-radius: 50%; }
/*
* Checked
*/
.uk-form input[type=radio]:before,
.uk-form input[type=checkbox]:before {
display: block;
@include hook-form-advanced-checked();
}
/* Radio */
.uk-form input[type=radio]:checked:before {
content: '';
width: $form-advanced-radio-size;
height: $form-advanced-radio-size;
margin: (($form-advanced-size - (2 * $form-advanced-border-width) - $form-advanced-radio-size) / 2) auto 0;
border-radius: 50%;
background: $form-advanced-checked-color;
@include hook-form-advanced-radio();
}
/* Checkbox */
.uk-form input[type=checkbox]:checked:before,
.uk-form input[type=checkbox]:indeterminate:before {
content: $form-advanced-checkbox-icon;
font-family: FontAwesome;
font-size: $form-advanced-checkbox-font-size;
-webkit-font-smoothing: antialiased;
text-align: center;
line-height: $form-advanced-size - (2 * $form-advanced-border-width);
color: $form-advanced-checked-color;
@include hook-form-advanced-checkbox();
}
.uk-form input[type=checkbox]:indeterminate:before { content: $form-advanced-checkbox-indeterminate-icon; }
/*
* Disabled
*/
.uk-form input[type=radio]:disabled,
.uk-form input[type=checkbox]:disabled {
border-color: $form-advanced-disabled-border;
@include hook-form-advanced-disabled();
}
.uk-form input[type=radio]:disabled:checked:before { background-color: $form-advanced-disabled-color; }
.uk-form input[type=checkbox]:disabled:checked:before,
.uk-form input[type=checkbox]:disabled:indeterminate:before { color: $form-advanced-disabled-color; }
// Hooks
// ========================================================================
@include hook-form-advanced-misc();
// @mixin hook-form-advanced(){}
// @mixin hook-form-advanced-checked(){}
// @mixin hook-form-advanced-radio(){}
// @mixin hook-form-advanced-checkbox(){}
// @mixin hook-form-advanced-disabled(){}
// @mixin hook-form-advanced-misc(){}