/* * # Semantic - Loader * http://github.com/semantic-org/semantic-ui/ * * * Copyright 2014 Contributor * Released under the MIT license * http://opensource.org/licenses/MIT * */ /******************************* Theme *******************************/ @type : 'element'; @element : 'loader'; @import '../../semantic.config'; /******************************* Loader *******************************/ /* Standard Size */ .ui.loader { display: none; position: absolute; top: @loaderTopOffset; left: @loaderLeftOffset; margin: 0px; text-align: center; z-index: 1000; transform: translateX(-50%) translateY(-50%); } .ui.dimmer .loader { display: block; } .ui.dimmer .ui.loader, .ui.inverted.loader { color: @loaderTextColor } /******************************* Types *******************************/ /*-------------- CSS ---------------*/ /* Flipping */ .ui.flipping.loader { width: auto; height: auto; background-image: none !important; } .ui.flipping.loader .shape { position: relative; margin: 0em auto 1em; color: transparent; box-shadow: 0px 0px 0px 1px; animation: loaderFlipping 1s infinite ease; margin-bottom: 1em; transform-style: preserve-3d; } .ui.flipping.loader .shape:before, .ui.flipping.loader .shape:after { position: absolute; content: ''; top: 0px; left: 0px; box-shadow: 0px 0px 0px 1px; backface-visibility: hidden; } .ui.flipping.loader .shape:before { background-color: @primaryColor; transform: rotateY(0deg); z-index: 2; } .ui.flipping.loader .shape:after { background-color: @secondaryColor; transform: rotateY(180deg); } /* Circular */ .ui.flipping.circular.loader .shape, .ui.flipping.circular.loader .shape:before, .ui.flipping.circular.loader .shape:after { border-radius: @circularRadius; } /* Sizes */ .ui.mini.flipping.loader .shape, .ui.mini.flipping.loader .shape:before, .ui.mini.flipping.loader .shape:after { width: @miniSize; height: @miniSize; } .ui.flipping.loader .shape, .ui.flipping.loader .shape:before, .ui.flipping.loader .shape:after { width: @mediumSize; height: @mediumSize; } @keyframes loaderFlipping { 0% { transform: perspective(6em) rotateX(0deg) rotateY(0deg); } 50% { transform: perspective(6em) rotateX(0deg) rotateY(-180deg); } 100% { transform: perspective(6em) rotateX(0deg) rotateY(-360deg); } } /*------------------- Text --------------------*/ .ui.text.loader { width: auto !important; height: auto !important; text-align: center; font-style: normal; } .ui.mini.text.loader { min-width: @miniSize; padding-top: (@miniSize + @textDistance); } .ui.small.text.loader { min-width: @smallSize; padding-top: (@smallSize + @textDistance); } .ui.text.loader { min-width: @mediumSize; padding-top: (@mediumSize + @textDistance); } .ui.large.text.loader { min-width: @largeSize; padding-top: (@largeSize + @textDistance); } /******************************* States *******************************/ .ui.loader.active, .ui.loader.visible { display: block; } .ui.loader.disabled, .ui.loader.hidden { display: none; } /******************************* Variations *******************************/ /*------------------- Sizes --------------------*/ /* Tiny Size */ .ui.inverted.dimmer .ui.mini.loader, .ui.mini.loader { width: @miniSize; height: @miniSize; font-size: @miniFontSize; background-image: url(@miniLoaderPath); } /* Small Size */ .ui.inverted.dimmer .ui.small.loader, .ui.small.loader { width: @smallSize; height: @smallSize; font-size: @smallFontSize; background-image: url(@smallLoaderPath); } .ui.inverted.dimmer .ui.loader, .ui.loader { width: @mediumSize; height: @mediumSize; font-size: @mediumFontSize; background: url(@mediumLoaderPath) no-repeat; background-position: 50% 0px; } /* Large Size */ .ui.inverted.dimmer .ui.loader.large, .ui.loader.large { width: @largeSize; height: @largeSize; font-size: @largeFontSize; background-image: url(@largeLoaderPath); } /*------------------- Inverted --------------------*/ .ui.inverted.dimmer .ui.loader { color: @invertedLoaderTextColor; } /* Tiny Size */ .ui.dimmer .mini.ui.loader, .ui.inverted .mini.ui.loader { background-image: url(@miniInvertedLoaderPath); } /* Small Size */ .ui.dimmer .small.ui.loader, .ui.inverted .small.ui.loader { background-image: url(@smallInvertedLoaderPath); } /* Standard Size */ .ui.dimmer .ui.loader, .ui.inverted.loader { background-image: url(@mediumInvertedLoaderPath); } /* Large Size */ .ui.dimmer .large.ui.loader, .ui.inverted .large.ui.loader { background-image: url(@largeInvertedLoaderPath); } /*------------------- Inline --------------------*/ .ui.inline.loader { position: static; vertical-align: middle; margin: 0em; transform: none; } .ui.inline.loader.active, .ui.inline.loader.visible { display: inline-block; } .loadUIOverrides();