/* ------------------------------------------------------------------------------ * * # Flash of unstyled content (FOUC) * * CSS fix for FOUC issue, which pops up in latest jQuery version. These styles * are optional, but enabled by default. Feel free to turn them off in configuration. * * ---------------------------------------------------------------------------- */ // Check if component is enabled @if $enable-fouc-fix { // // Checkboxes and Radios // // for Uniform inputs // requires [data-fouc] data attribute // input[type=checkbox][data-fouc], input[type=radio][data-fouc] { visibility: hidden; @include size($checkbox-size); // Inside .form-check container .form-check & { position: absolute; } // Inline list .form-check-inline:not(.form-check-switchery) & { position: relative; margin-top: (($line-height-computed - $checkbox-size) / 2); margin-right: $form-check-inline-input-margin-x; // Right aligned .form-check-inline.form-check-right & { margin-right: 0; margin-left: $form-check-inline-input-margin-x; } } } // // Switchery // // for Switchery inputs // requires wrapper with .form-check-switchery class // // Left and right alignment .form-check-switchery { input[data-fouc] { width: ($switchery-size * 2) + rem-calc($switchery-border-width * 2); height: $switchery-size + rem-calc($switchery-border-width * 2); } } // Centered .form-check-switchery-double { &.form-check input[data-fouc] { position: static; } } // // Bootstrap switch // // for Bootstrap switch inputs // requires wrapper with .form-check-switch class // .form-check-switch { input { height: $input-height; visibility: hidden; display: inline-block; vertical-align: middle; margin: 0; // Large size &[data-size=large] { height: $input-height-lg; } // Small size &[data-size=small] { height: $input-height-sm; } } } // // Text input // // for tags, Uniform etc. // includes optional sizes // input { // Base &[type=text][data-fouc] { height: $input-height; opacity: 0; } // Large size &[type=text].form-control-lg[data-fouc] { height: $input-height-lg; } // Small size &[type=text].form-control-sm[data-fouc] { height: $input-height-sm; } } // // Selects // // for Select2 and Uniform selects // single and multiple // select { // Base &[data-fouc]:not([aria-hidden=false]) { height: $input-height; opacity: 0; } // Large size &.form-control-lg[data-fouc]:not([aria-hidden=false]) { height: $input-height-lg; } // Small size &.form-control-sm[data-fouc]:not([aria-hidden=false]) { height: $input-height-sm; } } // // File input // // for Uniform file input // includes optional sizes // input { // Base &[type=file][data-fouc] { height: $input-height; opacity: 0; } // Large size &[type=file].form-control-lg[data-fouc] { height: $input-height-lg; } // Small size &[type=file].form-control-sm[data-fouc] { height: $input-height-sm; } } // // Form wizard // // for Steps wizard // only hides main container // .wizard-form[data-fouc] { opacity: 0; // Show wizard &.wizard { opacity: 1; } // Calculate approximate container height &:not(.wizard) { padding-top: ($wizard-step-number-size + ($spacer / 2) + $line-height-computed) + ($spacer * 2); padding-bottom: (($input-padding-y * 2) + $line-height-computed + $spacer + rem-calc($input-border-width * 2)); // Hide certain elements fieldset:not(:first-of-type), h6 { display: none; } } } // // Color picker // // for Spectrum color picker // hard coded height // input[type=text].colorpicker-flat-full[data-fouc] { height: 285px; } // // Ace editor // // for code editor containers // only hides main wrapper // pre[data-fouc] { &:not(.ace_editor) { height: $pre-scrollable-max-height; } &.ace_editor { visibility: visible; } } // // Sliders // // for NoUI and ION sliders // both require .noui-pips-height-helper and .ion-height-helper classes // // NoUI slider .noui-pips-height-helper:not(.noUi-target)[data-fouc] { height: $slider-pips-spacer-y + $line-height-computed + $slider-height; } .noui-pips-height-helper.noui-slider-lg:not(.noUi-target)[data-fouc] { height: $slider-pips-spacer-y + $line-height-computed + $slider-height-lg; } .noui-pips-height-helper.noui-slider-sm:not(.noUi-target)[data-fouc] { height: $slider-pips-spacer-y + $line-height-computed + $slider-height-sm; } .noui-vertical-height-helper:not(.noUi-target)[data-fouc] { display: inline-block; height: $slider-vertical-height; } // ION range slider input[type=text].ion-height-helper[data-fouc] { height: $tooltip-arrow-height + ($tooltip-padding-y * 2) + $slider-pips-font-size + ($slider-height * 4); } input[type=text].ion-pips-height-helper[data-fouc] { height: $tooltip-arrow-height + ($tooltip-padding-y * 2) + $slider-pips-font-size + ($slider-height * 7) + $slider-pips-spacer-y; } input[type=text].noui-height-helper:not(.noUi-target)[data-fouc] { height: $slider-height; } }