feat: Fix semantic UI
This commit is contained in:
parent
d1df2c0de4
commit
25227d1c1c
346 changed files with 94731 additions and 2 deletions
|
|
@ -13,4 +13,6 @@ import "../css/app.scss"
|
|||
// import {Socket} from "phoenix"
|
||||
// import socket from "./socket"
|
||||
//
|
||||
import "phoenix_html"
|
||||
import "phoenix_html"
|
||||
|
||||
alert("boo")
|
||||
|
|
@ -5,7 +5,8 @@
|
|||
"scripts": {
|
||||
"deploy": "webpack --mode production",
|
||||
"watch": "webpack --mode development --watch",
|
||||
"preinstall": "npx npm-force-resolutions"
|
||||
"preinstall": "npx npm-force-resolutions",
|
||||
"profile": "webpack --mode development --plugin webpack/lib/debug/ProfilingPlugin"
|
||||
},
|
||||
"dependencies": {
|
||||
"gulp": "^4.0.2",
|
||||
|
|
|
|||
17
assets/semantic-ui/README.md
Normal file
17
assets/semantic-ui/README.md
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
# LESS Distribution
|
||||
|
||||
This repository is a distribution of [Fomantic-UI](https://fomantic-ui.com) as LESS only to provide a lightweight themeable version of Fomantic UI.
|
||||
|
||||
You can view more on Fomantic UI at [fomantic-ui.com](https://fomantic-ui.com).
|
||||
|
||||
If you have any issues please use the main [Fomantic-UI repositroy](https://github.com/fomantic/Fomantic-UI).
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
$ npm install --save fomantic-ui-less
|
||||
```
|
||||
or
|
||||
```bash
|
||||
$ git clone https://github.com/fomantic/Fomantic-UI-LESS
|
||||
```
|
||||
1177
assets/semantic-ui/definitions/behaviors/api.js
Normal file
1177
assets/semantic-ui/definitions/behaviors/api.js
Normal file
File diff suppressed because it is too large
Load diff
2007
assets/semantic-ui/definitions/behaviors/form.js
Normal file
2007
assets/semantic-ui/definitions/behaviors/form.js
Normal file
File diff suppressed because it is too large
Load diff
711
assets/semantic-ui/definitions/behaviors/state.js
Normal file
711
assets/semantic-ui/definitions/behaviors/state.js
Normal file
|
|
@ -0,0 +1,711 @@
|
|||
/*!
|
||||
* # Fomantic-UI - State
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
;(function ($, window, document, undefined) {
|
||||
|
||||
"use strict";
|
||||
|
||||
$.isFunction = $.isFunction || function(obj) {
|
||||
return typeof obj === "function" && typeof obj.nodeType !== "number";
|
||||
};
|
||||
|
||||
window = (typeof window != 'undefined' && window.Math == Math)
|
||||
? window
|
||||
: (typeof self != 'undefined' && self.Math == Math)
|
||||
? self
|
||||
: Function('return this')()
|
||||
;
|
||||
|
||||
$.fn.state = function(parameters) {
|
||||
var
|
||||
$allModules = $(this),
|
||||
|
||||
moduleSelector = $allModules.selector || '',
|
||||
|
||||
time = new Date().getTime(),
|
||||
performance = [],
|
||||
|
||||
query = arguments[0],
|
||||
methodInvoked = (typeof query == 'string'),
|
||||
queryArguments = [].slice.call(arguments, 1),
|
||||
|
||||
returnedValue
|
||||
;
|
||||
$allModules
|
||||
.each(function() {
|
||||
var
|
||||
settings = ( $.isPlainObject(parameters) )
|
||||
? $.extend(true, {}, $.fn.state.settings, parameters)
|
||||
: $.extend({}, $.fn.state.settings),
|
||||
|
||||
error = settings.error,
|
||||
metadata = settings.metadata,
|
||||
className = settings.className,
|
||||
namespace = settings.namespace,
|
||||
states = settings.states,
|
||||
text = settings.text,
|
||||
|
||||
eventNamespace = '.' + namespace,
|
||||
moduleNamespace = namespace + '-module',
|
||||
|
||||
$module = $(this),
|
||||
|
||||
element = this,
|
||||
instance = $module.data(moduleNamespace),
|
||||
|
||||
module
|
||||
;
|
||||
module = {
|
||||
|
||||
initialize: function() {
|
||||
module.verbose('Initializing module');
|
||||
|
||||
// allow module to guess desired state based on element
|
||||
if(settings.automatic) {
|
||||
module.add.defaults();
|
||||
}
|
||||
|
||||
// bind events with delegated events
|
||||
if(settings.context && moduleSelector !== '') {
|
||||
$(settings.context)
|
||||
.on(moduleSelector, 'mouseenter' + eventNamespace, module.change.text)
|
||||
.on(moduleSelector, 'mouseleave' + eventNamespace, module.reset.text)
|
||||
.on(moduleSelector, 'click' + eventNamespace, module.toggle.state)
|
||||
;
|
||||
}
|
||||
else {
|
||||
$module
|
||||
.on('mouseenter' + eventNamespace, module.change.text)
|
||||
.on('mouseleave' + eventNamespace, module.reset.text)
|
||||
.on('click' + eventNamespace, module.toggle.state)
|
||||
;
|
||||
}
|
||||
module.instantiate();
|
||||
},
|
||||
|
||||
instantiate: function() {
|
||||
module.verbose('Storing instance of module', module);
|
||||
instance = module;
|
||||
$module
|
||||
.data(moduleNamespace, module)
|
||||
;
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
module.verbose('Destroying previous module', instance);
|
||||
$module
|
||||
.off(eventNamespace)
|
||||
.removeData(moduleNamespace)
|
||||
;
|
||||
},
|
||||
|
||||
refresh: function() {
|
||||
module.verbose('Refreshing selector cache');
|
||||
$module = $(element);
|
||||
},
|
||||
|
||||
add: {
|
||||
defaults: function() {
|
||||
var
|
||||
userStates = parameters && $.isPlainObject(parameters.states)
|
||||
? parameters.states
|
||||
: {}
|
||||
;
|
||||
$.each(settings.defaults, function(type, typeStates) {
|
||||
if( module.is[type] !== undefined && module.is[type]() ) {
|
||||
module.verbose('Adding default states', type, element);
|
||||
$.extend(settings.states, typeStates, userStates);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
is: {
|
||||
|
||||
active: function() {
|
||||
return $module.hasClass(className.active);
|
||||
},
|
||||
loading: function() {
|
||||
return $module.hasClass(className.loading);
|
||||
},
|
||||
inactive: function() {
|
||||
return !( $module.hasClass(className.active) );
|
||||
},
|
||||
state: function(state) {
|
||||
if(className[state] === undefined) {
|
||||
return false;
|
||||
}
|
||||
return $module.hasClass( className[state] );
|
||||
},
|
||||
|
||||
enabled: function() {
|
||||
return !( $module.is(settings.filter.active) );
|
||||
},
|
||||
disabled: function() {
|
||||
return ( $module.is(settings.filter.active) );
|
||||
},
|
||||
textEnabled: function() {
|
||||
return !( $module.is(settings.filter.text) );
|
||||
},
|
||||
|
||||
// definitions for automatic type detection
|
||||
button: function() {
|
||||
return $module.is('.button:not(a, .submit)');
|
||||
},
|
||||
input: function() {
|
||||
return $module.is('input');
|
||||
},
|
||||
progress: function() {
|
||||
return $module.is('.ui.progress');
|
||||
}
|
||||
},
|
||||
|
||||
allow: function(state) {
|
||||
module.debug('Now allowing state', state);
|
||||
states[state] = true;
|
||||
},
|
||||
disallow: function(state) {
|
||||
module.debug('No longer allowing', state);
|
||||
states[state] = false;
|
||||
},
|
||||
|
||||
allows: function(state) {
|
||||
return states[state] || false;
|
||||
},
|
||||
|
||||
enable: function() {
|
||||
$module.removeClass(className.disabled);
|
||||
},
|
||||
|
||||
disable: function() {
|
||||
$module.addClass(className.disabled);
|
||||
},
|
||||
|
||||
setState: function(state) {
|
||||
if(module.allows(state)) {
|
||||
$module.addClass( className[state] );
|
||||
}
|
||||
},
|
||||
|
||||
removeState: function(state) {
|
||||
if(module.allows(state)) {
|
||||
$module.removeClass( className[state] );
|
||||
}
|
||||
},
|
||||
|
||||
toggle: {
|
||||
state: function() {
|
||||
var
|
||||
apiRequest,
|
||||
requestCancelled
|
||||
;
|
||||
if( module.allows('active') && module.is.enabled() ) {
|
||||
module.refresh();
|
||||
if($.fn.api !== undefined) {
|
||||
apiRequest = $module.api('get request');
|
||||
requestCancelled = $module.api('was cancelled');
|
||||
if( requestCancelled ) {
|
||||
module.debug('API Request cancelled by beforesend');
|
||||
settings.activateTest = function(){ return false; };
|
||||
settings.deactivateTest = function(){ return false; };
|
||||
}
|
||||
else if(apiRequest) {
|
||||
module.listenTo(apiRequest);
|
||||
return;
|
||||
}
|
||||
}
|
||||
module.change.state();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
listenTo: function(apiRequest) {
|
||||
module.debug('API request detected, waiting for state signal', apiRequest);
|
||||
if(apiRequest) {
|
||||
if(text.loading) {
|
||||
module.update.text(text.loading);
|
||||
}
|
||||
$.when(apiRequest)
|
||||
.then(function() {
|
||||
if(apiRequest.state() == 'resolved') {
|
||||
module.debug('API request succeeded');
|
||||
settings.activateTest = function(){ return true; };
|
||||
settings.deactivateTest = function(){ return true; };
|
||||
}
|
||||
else {
|
||||
module.debug('API request failed');
|
||||
settings.activateTest = function(){ return false; };
|
||||
settings.deactivateTest = function(){ return false; };
|
||||
}
|
||||
module.change.state();
|
||||
})
|
||||
;
|
||||
}
|
||||
},
|
||||
|
||||
// checks whether active/inactive state can be given
|
||||
change: {
|
||||
|
||||
state: function() {
|
||||
module.debug('Determining state change direction');
|
||||
// inactive to active change
|
||||
if( module.is.inactive() ) {
|
||||
module.activate();
|
||||
}
|
||||
else {
|
||||
module.deactivate();
|
||||
}
|
||||
if(settings.sync) {
|
||||
module.sync();
|
||||
}
|
||||
settings.onChange.call(element);
|
||||
},
|
||||
|
||||
text: function() {
|
||||
if( module.is.textEnabled() ) {
|
||||
if(module.is.disabled() ) {
|
||||
module.verbose('Changing text to disabled text', text.hover);
|
||||
module.update.text(text.disabled);
|
||||
}
|
||||
else if( module.is.active() ) {
|
||||
if(text.hover) {
|
||||
module.verbose('Changing text to hover text', text.hover);
|
||||
module.update.text(text.hover);
|
||||
}
|
||||
else if(text.deactivate) {
|
||||
module.verbose('Changing text to deactivating text', text.deactivate);
|
||||
module.update.text(text.deactivate);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(text.hover) {
|
||||
module.verbose('Changing text to hover text', text.hover);
|
||||
module.update.text(text.hover);
|
||||
}
|
||||
else if(text.activate){
|
||||
module.verbose('Changing text to activating text', text.activate);
|
||||
module.update.text(text.activate);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
activate: function() {
|
||||
if( settings.activateTest.call(element) ) {
|
||||
module.debug('Setting state to active');
|
||||
$module
|
||||
.addClass(className.active)
|
||||
;
|
||||
module.update.text(text.active);
|
||||
settings.onActivate.call(element);
|
||||
}
|
||||
},
|
||||
|
||||
deactivate: function() {
|
||||
if( settings.deactivateTest.call(element) ) {
|
||||
module.debug('Setting state to inactive');
|
||||
$module
|
||||
.removeClass(className.active)
|
||||
;
|
||||
module.update.text(text.inactive);
|
||||
settings.onDeactivate.call(element);
|
||||
}
|
||||
},
|
||||
|
||||
sync: function() {
|
||||
module.verbose('Syncing other buttons to current state');
|
||||
if( module.is.active() ) {
|
||||
$allModules
|
||||
.not($module)
|
||||
.state('activate');
|
||||
}
|
||||
else {
|
||||
$allModules
|
||||
.not($module)
|
||||
.state('deactivate')
|
||||
;
|
||||
}
|
||||
},
|
||||
|
||||
get: {
|
||||
text: function() {
|
||||
return (settings.selector.text)
|
||||
? $module.find(settings.selector.text).text()
|
||||
: $module.html()
|
||||
;
|
||||
},
|
||||
textFor: function(state) {
|
||||
return text[state] || false;
|
||||
}
|
||||
},
|
||||
|
||||
flash: {
|
||||
text: function(text, duration, callback) {
|
||||
var
|
||||
previousText = module.get.text()
|
||||
;
|
||||
module.debug('Flashing text message', text, duration);
|
||||
text = text || settings.text.flash;
|
||||
duration = duration || settings.flashDuration;
|
||||
callback = callback || function() {};
|
||||
module.update.text(text);
|
||||
setTimeout(function(){
|
||||
module.update.text(previousText);
|
||||
callback.call(element);
|
||||
}, duration);
|
||||
}
|
||||
},
|
||||
|
||||
reset: {
|
||||
// on mouseout sets text to previous value
|
||||
text: function() {
|
||||
var
|
||||
activeText = text.active || $module.data(metadata.storedText),
|
||||
inactiveText = text.inactive || $module.data(metadata.storedText)
|
||||
;
|
||||
if( module.is.textEnabled() ) {
|
||||
if( module.is.active() && activeText) {
|
||||
module.verbose('Resetting active text', activeText);
|
||||
module.update.text(activeText);
|
||||
}
|
||||
else if(inactiveText) {
|
||||
module.verbose('Resetting inactive text', activeText);
|
||||
module.update.text(inactiveText);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
update: {
|
||||
text: function(text) {
|
||||
var
|
||||
currentText = module.get.text()
|
||||
;
|
||||
if(text && text !== currentText) {
|
||||
module.debug('Updating text', text);
|
||||
if(settings.selector.text) {
|
||||
$module
|
||||
.data(metadata.storedText, text)
|
||||
.find(settings.selector.text)
|
||||
.text(text)
|
||||
;
|
||||
}
|
||||
else {
|
||||
$module
|
||||
.data(metadata.storedText, text)
|
||||
.html(text)
|
||||
;
|
||||
}
|
||||
}
|
||||
else {
|
||||
module.debug('Text is already set, ignoring update', text);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
setting: function(name, value) {
|
||||
module.debug('Changing setting', name, value);
|
||||
if( $.isPlainObject(name) ) {
|
||||
$.extend(true, settings, name);
|
||||
}
|
||||
else if(value !== undefined) {
|
||||
if($.isPlainObject(settings[name])) {
|
||||
$.extend(true, settings[name], value);
|
||||
}
|
||||
else {
|
||||
settings[name] = value;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return settings[name];
|
||||
}
|
||||
},
|
||||
internal: function(name, value) {
|
||||
if( $.isPlainObject(name) ) {
|
||||
$.extend(true, module, name);
|
||||
}
|
||||
else if(value !== undefined) {
|
||||
module[name] = value;
|
||||
}
|
||||
else {
|
||||
return module[name];
|
||||
}
|
||||
},
|
||||
debug: function() {
|
||||
if(!settings.silent && settings.debug) {
|
||||
if(settings.performance) {
|
||||
module.performance.log(arguments);
|
||||
}
|
||||
else {
|
||||
module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
||||
module.debug.apply(console, arguments);
|
||||
}
|
||||
}
|
||||
},
|
||||
verbose: function() {
|
||||
if(!settings.silent && settings.verbose && settings.debug) {
|
||||
if(settings.performance) {
|
||||
module.performance.log(arguments);
|
||||
}
|
||||
else {
|
||||
module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
||||
module.verbose.apply(console, arguments);
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
if(!settings.silent) {
|
||||
module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
|
||||
module.error.apply(console, arguments);
|
||||
}
|
||||
},
|
||||
performance: {
|
||||
log: function(message) {
|
||||
var
|
||||
currentTime,
|
||||
executionTime,
|
||||
previousTime
|
||||
;
|
||||
if(settings.performance) {
|
||||
currentTime = new Date().getTime();
|
||||
previousTime = time || currentTime;
|
||||
executionTime = currentTime - previousTime;
|
||||
time = currentTime;
|
||||
performance.push({
|
||||
'Name' : message[0],
|
||||
'Arguments' : [].slice.call(message, 1) || '',
|
||||
'Element' : element,
|
||||
'Execution Time' : executionTime
|
||||
});
|
||||
}
|
||||
clearTimeout(module.performance.timer);
|
||||
module.performance.timer = setTimeout(module.performance.display, 500);
|
||||
},
|
||||
display: function() {
|
||||
var
|
||||
title = settings.name + ':',
|
||||
totalTime = 0
|
||||
;
|
||||
time = false;
|
||||
clearTimeout(module.performance.timer);
|
||||
$.each(performance, function(index, data) {
|
||||
totalTime += data['Execution Time'];
|
||||
});
|
||||
title += ' ' + totalTime + 'ms';
|
||||
if(moduleSelector) {
|
||||
title += ' \'' + moduleSelector + '\'';
|
||||
}
|
||||
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
|
||||
console.groupCollapsed(title);
|
||||
if(console.table) {
|
||||
console.table(performance);
|
||||
}
|
||||
else {
|
||||
$.each(performance, function(index, data) {
|
||||
console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
|
||||
});
|
||||
}
|
||||
console.groupEnd();
|
||||
}
|
||||
performance = [];
|
||||
}
|
||||
},
|
||||
invoke: function(query, passedArguments, context) {
|
||||
var
|
||||
object = instance,
|
||||
maxDepth,
|
||||
found,
|
||||
response
|
||||
;
|
||||
passedArguments = passedArguments || queryArguments;
|
||||
context = element || context;
|
||||
if(typeof query == 'string' && object !== undefined) {
|
||||
query = query.split(/[\. ]/);
|
||||
maxDepth = query.length - 1;
|
||||
$.each(query, function(depth, value) {
|
||||
var camelCaseValue = (depth != maxDepth)
|
||||
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
||||
: query
|
||||
;
|
||||
if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {
|
||||
object = object[camelCaseValue];
|
||||
}
|
||||
else if( object[camelCaseValue] !== undefined ) {
|
||||
found = object[camelCaseValue];
|
||||
return false;
|
||||
}
|
||||
else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
|
||||
object = object[value];
|
||||
}
|
||||
else if( object[value] !== undefined ) {
|
||||
found = object[value];
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
module.error(error.method, query);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
if ( $.isFunction( found ) ) {
|
||||
response = found.apply(context, passedArguments);
|
||||
}
|
||||
else if(found !== undefined) {
|
||||
response = found;
|
||||
}
|
||||
if(Array.isArray(returnedValue)) {
|
||||
returnedValue.push(response);
|
||||
}
|
||||
else if(returnedValue !== undefined) {
|
||||
returnedValue = [returnedValue, response];
|
||||
}
|
||||
else if(response !== undefined) {
|
||||
returnedValue = response;
|
||||
}
|
||||
return found;
|
||||
}
|
||||
};
|
||||
|
||||
if(methodInvoked) {
|
||||
if(instance === undefined) {
|
||||
module.initialize();
|
||||
}
|
||||
module.invoke(query);
|
||||
}
|
||||
else {
|
||||
if(instance !== undefined) {
|
||||
instance.invoke('destroy');
|
||||
}
|
||||
module.initialize();
|
||||
}
|
||||
})
|
||||
;
|
||||
|
||||
return (returnedValue !== undefined)
|
||||
? returnedValue
|
||||
: this
|
||||
;
|
||||
};
|
||||
|
||||
$.fn.state.settings = {
|
||||
|
||||
// module info
|
||||
name : 'State',
|
||||
|
||||
// debug output
|
||||
debug : false,
|
||||
|
||||
// verbose debug output
|
||||
verbose : false,
|
||||
|
||||
// namespace for events
|
||||
namespace : 'state',
|
||||
|
||||
// debug data includes performance
|
||||
performance : true,
|
||||
|
||||
// callback occurs on state change
|
||||
onActivate : function() {},
|
||||
onDeactivate : function() {},
|
||||
onChange : function() {},
|
||||
|
||||
// state test functions
|
||||
activateTest : function() { return true; },
|
||||
deactivateTest : function() { return true; },
|
||||
|
||||
// whether to automatically map default states
|
||||
automatic : true,
|
||||
|
||||
// activate / deactivate changes all elements instantiated at same time
|
||||
sync : false,
|
||||
|
||||
// default flash text duration, used for temporarily changing text of an element
|
||||
flashDuration : 1000,
|
||||
|
||||
// selector filter
|
||||
filter : {
|
||||
text : '.loading, .disabled',
|
||||
active : '.disabled'
|
||||
},
|
||||
|
||||
context : false,
|
||||
|
||||
// error
|
||||
error: {
|
||||
beforeSend : 'The before send function has cancelled state change',
|
||||
method : 'The method you called is not defined.'
|
||||
},
|
||||
|
||||
// metadata
|
||||
metadata: {
|
||||
promise : 'promise',
|
||||
storedText : 'stored-text'
|
||||
},
|
||||
|
||||
// change class on state
|
||||
className: {
|
||||
active : 'active',
|
||||
disabled : 'disabled',
|
||||
error : 'error',
|
||||
loading : 'loading',
|
||||
success : 'success',
|
||||
warning : 'warning'
|
||||
},
|
||||
|
||||
selector: {
|
||||
// selector for text node
|
||||
text: false
|
||||
},
|
||||
|
||||
defaults : {
|
||||
input: {
|
||||
disabled : true,
|
||||
loading : true,
|
||||
active : true
|
||||
},
|
||||
button: {
|
||||
disabled : true,
|
||||
loading : true,
|
||||
active : true,
|
||||
},
|
||||
progress: {
|
||||
active : true,
|
||||
success : true,
|
||||
warning : true,
|
||||
error : true
|
||||
}
|
||||
},
|
||||
|
||||
states : {
|
||||
active : true,
|
||||
disabled : true,
|
||||
error : true,
|
||||
loading : true,
|
||||
success : true,
|
||||
warning : true
|
||||
},
|
||||
|
||||
text : {
|
||||
disabled : false,
|
||||
flash : false,
|
||||
hover : false,
|
||||
active : false,
|
||||
inactive : false,
|
||||
activate : false,
|
||||
deactivate : false
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
})( jQuery, window, document );
|
||||
1313
assets/semantic-ui/definitions/behaviors/visibility.js
Normal file
1313
assets/semantic-ui/definitions/behaviors/visibility.js
Normal file
File diff suppressed because it is too large
Load diff
122
assets/semantic-ui/definitions/collections/breadcrumb.less
Normal file
122
assets/semantic-ui/definitions/collections/breadcrumb.less
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Breadcrumb
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'collection';
|
||||
@element : 'breadcrumb';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
|
||||
/*******************************
|
||||
Breadcrumb
|
||||
*******************************/
|
||||
|
||||
.ui.breadcrumb {
|
||||
line-height: @lineHeight;
|
||||
display: @display;
|
||||
margin: @verticalMargin 0;
|
||||
vertical-align: @verticalAlign;
|
||||
}
|
||||
.ui.breadcrumb:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
.ui.breadcrumb:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Content
|
||||
*******************************/
|
||||
|
||||
/* Divider */
|
||||
.ui.breadcrumb .divider {
|
||||
display: inline-block;
|
||||
opacity: @dividerOpacity;
|
||||
margin: 0 @dividerSpacing 0;
|
||||
|
||||
font-size: @dividerSize;
|
||||
color: @dividerColor;
|
||||
vertical-align: @dividerVerticalAlign;
|
||||
}
|
||||
|
||||
/* Link */
|
||||
.ui.breadcrumb a {
|
||||
color: @linkColor;
|
||||
}
|
||||
.ui.breadcrumb a:hover {
|
||||
color: @linkHoverColor;
|
||||
}
|
||||
|
||||
|
||||
/* Icon Divider */
|
||||
.ui.breadcrumb .icon.divider {
|
||||
font-size: @iconDividerSize;
|
||||
vertical-align: @iconDividerVerticalAlign;
|
||||
}
|
||||
|
||||
/* Section */
|
||||
.ui.breadcrumb a.section {
|
||||
cursor: pointer;
|
||||
}
|
||||
.ui.breadcrumb .section {
|
||||
display: inline-block;
|
||||
margin: @sectionMargin;
|
||||
padding: @sectionPadding;
|
||||
}
|
||||
|
||||
/* Loose Coupling */
|
||||
.ui.breadcrumb.segment {
|
||||
display: inline-block;
|
||||
padding: @segmentPadding;
|
||||
}
|
||||
|
||||
& when (@variationBreadcrumbInverted) {
|
||||
/* Inverted */
|
||||
.ui.inverted.breadcrumb {
|
||||
color: @invertedColor;
|
||||
}
|
||||
.ui.inverted.breadcrumb > .active.section {
|
||||
color: @invertedActiveColor;
|
||||
}
|
||||
.ui.inverted.breadcrumb > .divider {
|
||||
color: @invertedDividerColor;
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
.ui.breadcrumb .active.section {
|
||||
font-weight: @activeFontWeight;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
.ui.breadcrumb {
|
||||
font-size: @medium;
|
||||
}
|
||||
& when not (@variationBreadcrumbSizes = false) {
|
||||
each(@variationBreadcrumbSizes, {
|
||||
@s: @@value;
|
||||
.ui.@{value}.breadcrumb {
|
||||
font-size: @s;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
1157
assets/semantic-ui/definitions/collections/form.less
Normal file
1157
assets/semantic-ui/definitions/collections/form.less
Normal file
File diff suppressed because it is too large
Load diff
1947
assets/semantic-ui/definitions/collections/grid.less
Normal file
1947
assets/semantic-ui/definitions/collections/grid.less
Normal file
File diff suppressed because it is too large
Load diff
1938
assets/semantic-ui/definitions/collections/menu.less
Normal file
1938
assets/semantic-ui/definitions/collections/menu.less
Normal file
File diff suppressed because it is too large
Load diff
414
assets/semantic-ui/definitions/collections/message.less
Normal file
414
assets/semantic-ui/definitions/collections/message.less
Normal file
|
|
@ -0,0 +1,414 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Message
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'collection';
|
||||
@element : 'message';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Message
|
||||
*******************************/
|
||||
|
||||
.ui.message {
|
||||
position: relative;
|
||||
min-height: 1em;
|
||||
margin: @verticalMargin 0;
|
||||
background: @background;
|
||||
padding: @padding;
|
||||
line-height: @lineHeight;
|
||||
color: @textColor;
|
||||
transition: @transition;
|
||||
border-radius: @borderRadius;
|
||||
box-shadow: @boxShadow;
|
||||
}
|
||||
|
||||
.ui.message:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
.ui.message:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
/*--------------
|
||||
Content
|
||||
---------------*/
|
||||
|
||||
/* Header */
|
||||
.ui.message .header {
|
||||
display: @headerDisplay;
|
||||
font-family: @headerFont;
|
||||
font-weight: @headerFontWeight;
|
||||
margin: @headerMargin;
|
||||
}
|
||||
|
||||
/* Default font size */
|
||||
.ui.message .header:not(.ui) {
|
||||
font-size: @headerFontSize;
|
||||
}
|
||||
|
||||
/* Paragraph */
|
||||
.ui.message p {
|
||||
opacity: @messageTextOpacity;
|
||||
margin: @messageParagraphMargin 0;
|
||||
}
|
||||
.ui.message p:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
.ui.message p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.ui.message .header + p {
|
||||
margin-top: @headerParagraphDistance;
|
||||
}
|
||||
|
||||
/* List */
|
||||
.ui.message .list:not(.ui) {
|
||||
text-align: left;
|
||||
padding: 0;
|
||||
opacity: @listOpacity;
|
||||
list-style-position: @listStylePosition;
|
||||
margin: @listMargin 0 0;
|
||||
}
|
||||
.ui.message .list:not(.ui):first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
.ui.message .list:not(.ui):last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.ui.message .list:not(.ui) li {
|
||||
position: relative;
|
||||
list-style-type: none;
|
||||
margin: 0 0 @listItemMargin @listItemIndent;
|
||||
padding: 0;
|
||||
}
|
||||
.ui.message .list:not(.ui) li:before {
|
||||
position: absolute;
|
||||
content: '•';
|
||||
left: -1em;
|
||||
height: 100%;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
.ui.message .list:not(.ui) li:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
/* Icon */
|
||||
.ui.message > .icon {
|
||||
margin-right: @iconDistance;
|
||||
}
|
||||
|
||||
/* Close Icon */
|
||||
.ui.message > .close.icon {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
margin: 0;
|
||||
top: @closeTopDistance;
|
||||
right: @closeRightDistance;
|
||||
opacity: @closeOpacity;
|
||||
transition: @closeTransition;
|
||||
}
|
||||
.ui.message > .close.icon:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* First / Last Element */
|
||||
.ui.message > :first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
.ui.message > :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Coupling
|
||||
*******************************/
|
||||
|
||||
.ui.dropdown .menu > .message {
|
||||
margin: 0 -@borderWidth;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
/*--------------
|
||||
Visible
|
||||
---------------*/
|
||||
|
||||
.ui.visible.visible.visible.visible.message {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.ui.icon.visible.visible.visible.visible.message {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Hidden
|
||||
---------------*/
|
||||
|
||||
.ui.hidden.hidden.hidden.hidden.message {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
& when (@variationMessageCompact) {
|
||||
/*--------------
|
||||
Compact
|
||||
---------------*/
|
||||
|
||||
.ui.compact.message {
|
||||
display: inline-block;
|
||||
}
|
||||
.ui.compact.icon.message {
|
||||
display: inline-flex;
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationMessageAttached) {
|
||||
/*--------------
|
||||
Attached
|
||||
---------------*/
|
||||
|
||||
.ui.attached.message {
|
||||
margin-bottom: @attachedYOffset;
|
||||
border-radius: @borderRadius @borderRadius 0 0;
|
||||
box-shadow: @attachedBoxShadow;
|
||||
margin-left: @attachedXOffset;
|
||||
margin-right: @attachedXOffset;
|
||||
}
|
||||
.ui.attached + .ui.attached.message:not(.top):not(.bottom) {
|
||||
margin-top: @attachedYOffset;
|
||||
border-radius: 0;
|
||||
}
|
||||
.ui.bottom.attached.message {
|
||||
margin-top: @attachedYOffset;
|
||||
border-radius: 0 0 @borderRadius @borderRadius;
|
||||
box-shadow: @attachedBottomBoxShadow;
|
||||
}
|
||||
.ui.bottom.attached.message:not(:last-child) {
|
||||
margin-bottom: @verticalMargin;
|
||||
}
|
||||
& when (@variationMessageIcon) {
|
||||
.ui.attached.icon.message {
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationMessageIcon) {
|
||||
/*--------------
|
||||
Icon
|
||||
---------------*/
|
||||
|
||||
.ui.icon.message {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
align-items: center;
|
||||
}
|
||||
.ui.icon.message > .icon:not(.close) {
|
||||
display: block;
|
||||
flex: 0 0 auto;
|
||||
width: auto;
|
||||
line-height: 1;
|
||||
vertical-align: @iconVerticalAlign;
|
||||
font-size: @iconSize;
|
||||
opacity: @iconOpacity;
|
||||
}
|
||||
.ui.icon.message > .content {
|
||||
display: block;
|
||||
flex: 1 1 auto;
|
||||
vertical-align: @iconVerticalAlign;
|
||||
}
|
||||
|
||||
|
||||
.ui.icon.message .icon:not(.close) + .content {
|
||||
padding-left: @iconContentDistance;
|
||||
}
|
||||
.ui.icon.message .circular.icon {
|
||||
width: 1em;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationMessageFloating) {
|
||||
/*--------------
|
||||
Floating
|
||||
---------------*/
|
||||
|
||||
.ui.floating.message {
|
||||
box-shadow: @floatingBoxShadow;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*--------------
|
||||
Colors
|
||||
---------------*/
|
||||
|
||||
/*--------------
|
||||
Types
|
||||
---------------*/
|
||||
& when (@variationMessageConsequences) {
|
||||
|
||||
@consequences: {
|
||||
@positive: {
|
||||
background : @positiveBackgroundColor;
|
||||
header : @positiveHeaderColor;
|
||||
boxShadow : @positiveBoxShadow;
|
||||
boxFloatShadow : @positiveBoxFloatingShadow;
|
||||
text : @positiveTextColor;
|
||||
};
|
||||
@negative: {
|
||||
background : @negativeBackgroundColor;
|
||||
header : @negativeHeaderColor;
|
||||
boxShadow : @negativeBoxShadow;
|
||||
boxFloatShadow : @negativeBoxFloatingShadow;
|
||||
text : @negativeTextColor;
|
||||
};
|
||||
@info: {
|
||||
background : @infoBackgroundColor;
|
||||
header : @infoHeaderColor;
|
||||
boxShadow : @infoBoxShadow;
|
||||
boxFloatShadow : @infoBoxFloatingShadow;
|
||||
text : @infoTextColor;
|
||||
};
|
||||
@warning: {
|
||||
background : @warningBackgroundColor;
|
||||
header : @warningHeaderColor;
|
||||
boxShadow : @warningBoxShadow;
|
||||
boxFloatShadow : @warningBoxFloatingShadow;
|
||||
text : @warningTextColor;
|
||||
};
|
||||
@error: {
|
||||
background : @errorBackgroundColor;
|
||||
header : @errorHeaderColor;
|
||||
boxShadow : @errorBoxShadow;
|
||||
boxFloatShadow : @errorBoxFloatingShadow;
|
||||
text : @errorTextColor;
|
||||
};
|
||||
@success: {
|
||||
background : @successBackgroundColor;
|
||||
header : @successHeaderColor;
|
||||
boxShadow : @successBoxShadow;
|
||||
boxFloatShadow : @successBoxFloatingShadow;
|
||||
text : @successTextColor;
|
||||
};
|
||||
}
|
||||
|
||||
/* Colors */
|
||||
|
||||
each(@consequences, {
|
||||
@color: replace(@key, '@', '');
|
||||
@bg: @consequences[@@color][background];
|
||||
@hd: @consequences[@@color][header];
|
||||
@bs: @consequences[@@color][boxShadow];
|
||||
@bfs: @consequences[@@color][boxFloatShadow];
|
||||
@t: @consequences[@@color][text];
|
||||
|
||||
.ui.@{color}.message {
|
||||
background-color: @bg;
|
||||
color: @t;
|
||||
}
|
||||
|
||||
.ui.@{color}.message,
|
||||
.ui.attached.@{color}.message {
|
||||
box-shadow: @bs;
|
||||
}
|
||||
& when (@variationMessageFloating) {
|
||||
.ui.floating.@{color}.message {
|
||||
box-shadow: @bfs;
|
||||
}
|
||||
}
|
||||
.ui.@{color}.message .header {
|
||||
color: @hd;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
each(@colors, {
|
||||
@color: replace(@key, '@', '');
|
||||
@bg: @colors[@@color][background];
|
||||
@hd: @colors[@@color][header];
|
||||
@bs: @colors[@@color][boxShadow];
|
||||
@bfs: @colors[@@color][boxFloatShadow];
|
||||
@t: @colors[@@color][text];
|
||||
@isVeryDark: @colors[@@color][isVeryDark];
|
||||
|
||||
.ui.@{color}.message {
|
||||
& when not (@isVeryDark) {
|
||||
background-color: @bg;
|
||||
color: @t;
|
||||
}
|
||||
& when (@isVeryDark) {
|
||||
background-color: @black;
|
||||
color: @invertedTextColor;
|
||||
}
|
||||
}
|
||||
|
||||
.ui.@{color}.message,
|
||||
.ui.attached.@{color}.message {
|
||||
& when not (@isVeryDark) {
|
||||
box-shadow: @bs;
|
||||
}
|
||||
}
|
||||
& when (@variationMessageFloating) {
|
||||
.ui.floating.@{color}.message {
|
||||
& when not (@isVeryDark) {
|
||||
box-shadow: @bfs;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ui.@{color}.message .header {
|
||||
& when not (@isVeryDark) {
|
||||
color: @hd;
|
||||
}
|
||||
& when (@isVeryDark) {
|
||||
color: @invertedTextColor;
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
& when (@variationMessageInverted) {
|
||||
.ui.inverted.message {
|
||||
background-color: @black;
|
||||
color: @invertedTextColor;
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Sizes
|
||||
---------------*/
|
||||
|
||||
.ui.message {
|
||||
font-size: @relativeMedium;
|
||||
}
|
||||
& when not (@variationMessageSizes = false) {
|
||||
each(@variationMessageSizes, {
|
||||
@s: @{value}MessageSize;
|
||||
.ui.@{value}.message {
|
||||
font-size: @@s;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
1322
assets/semantic-ui/definitions/collections/table.less
Normal file
1322
assets/semantic-ui/definitions/collections/table.less
Normal file
File diff suppressed because it is too large
Load diff
1881
assets/semantic-ui/definitions/elements/button.less
Normal file
1881
assets/semantic-ui/definitions/elements/button.less
Normal file
File diff suppressed because it is too large
Load diff
160
assets/semantic-ui/definitions/elements/container.less
Normal file
160
assets/semantic-ui/definitions/elements/container.less
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Container
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'element';
|
||||
@element : 'container';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Container
|
||||
*******************************/
|
||||
|
||||
/* All Sizes */
|
||||
.ui.container {
|
||||
display: block;
|
||||
max-width: @maxWidth;
|
||||
}
|
||||
|
||||
/* Mobile */
|
||||
@media only screen and (max-width: @largestMobileScreen) {
|
||||
.ui.ui.ui.container:not(.fluid) {
|
||||
width: @mobileWidth;
|
||||
margin-left: @mobileGutter;
|
||||
margin-right: @mobileGutter;
|
||||
}
|
||||
& when (@variationContainerGrid) or (@variationContainerRelaxed) {
|
||||
.ui.ui.ui.grid.container {
|
||||
width: @mobileGridWidth;
|
||||
}
|
||||
& when (@variationContainerRelaxed) {
|
||||
.ui.ui.ui.relaxed.grid.container {
|
||||
width: @mobileRelaxedGridWidth;
|
||||
}
|
||||
.ui.ui.ui.very.relaxed.grid.container {
|
||||
width: @mobileVeryRelaxedGridWidth;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Tablet */
|
||||
@media only screen and (min-width: @tabletBreakpoint) and (max-width: @largestTabletScreen) {
|
||||
.ui.ui.ui.container:not(.fluid) {
|
||||
width: @tabletWidth;
|
||||
margin-left: @tabletGutter;
|
||||
margin-right: @tabletGutter;
|
||||
}
|
||||
& when (@variationContainerGrid) or (@variationContainerRelaxed) {
|
||||
.ui.ui.ui.grid.container {
|
||||
width: @tabletGridWidth;
|
||||
}
|
||||
& when (@variationContainerRelaxed) {
|
||||
.ui.ui.ui.relaxed.grid.container {
|
||||
width: @tabletRelaxedGridWidth;
|
||||
}
|
||||
.ui.ui.ui.very.relaxed.grid.container {
|
||||
width: @tabletVeryRelaxedGridWidth;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Small Monitor */
|
||||
@media only screen and (min-width: @computerBreakpoint) and (max-width: @largestSmallMonitor) {
|
||||
.ui.ui.ui.container:not(.fluid) {
|
||||
width: @computerWidth;
|
||||
margin-left: @computerGutter;
|
||||
margin-right: @computerGutter;
|
||||
}
|
||||
& when (@variationContainerGrid) or (@variationContainerRelaxed) {
|
||||
.ui.ui.ui.grid.container {
|
||||
width: @computerGridWidth;
|
||||
}
|
||||
& when (@variationContainerRelaxed) {
|
||||
.ui.ui.ui.relaxed.grid.container {
|
||||
width: @computerRelaxedGridWidth;
|
||||
}
|
||||
.ui.ui.ui.very.relaxed.grid.container {
|
||||
width: @computerVeryRelaxedGridWidth;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Large Monitor */
|
||||
@media only screen and (min-width: @largeMonitorBreakpoint) {
|
||||
.ui.ui.ui.container:not(.fluid) {
|
||||
width: @largeMonitorWidth;
|
||||
margin-left: @largeMonitorGutter;
|
||||
margin-right: @largeMonitorGutter;
|
||||
}
|
||||
& when (@variationContainerGrid) or (@variationContainerRelaxed) {
|
||||
.ui.ui.ui.grid.container {
|
||||
width: @largeMonitorGridWidth;
|
||||
}
|
||||
& when (@variationContainerRelaxed) {
|
||||
.ui.ui.ui.relaxed.grid.container {
|
||||
width: @largeMonitorRelaxedGridWidth;
|
||||
}
|
||||
.ui.ui.ui.very.relaxed.grid.container {
|
||||
width: @largeMonitorVeryRelaxedGridWidth;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Types
|
||||
*******************************/
|
||||
|
||||
& when (@variationContainerText) {
|
||||
/* Text Container */
|
||||
.ui.text.container {
|
||||
font-family: @textFontFamily;
|
||||
max-width: @textWidth;
|
||||
line-height: @textLineHeight;
|
||||
font-size: @textSize;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationContainerFluid) {
|
||||
/* Fluid */
|
||||
.ui.fluid.container {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
& when (@variationContainerAligned) {
|
||||
.ui[class*="left aligned"].container {
|
||||
text-align: left;
|
||||
}
|
||||
.ui[class*="center aligned"].container {
|
||||
text-align: center;
|
||||
}
|
||||
.ui[class*="right aligned"].container {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
& when (@variationContainerJustified) {
|
||||
.ui.justified.container {
|
||||
text-align: justify;
|
||||
hyphens: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
298
assets/semantic-ui/definitions/elements/divider.less
Normal file
298
assets/semantic-ui/definitions/elements/divider.less
Normal file
|
|
@ -0,0 +1,298 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Divider
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'element';
|
||||
@element : 'divider';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
|
||||
/*******************************
|
||||
Divider
|
||||
*******************************/
|
||||
|
||||
.ui.divider {
|
||||
margin: @margin;
|
||||
|
||||
line-height: 1;
|
||||
height: 0;
|
||||
|
||||
font-weight: @fontWeight;
|
||||
text-transform: @textTransform;
|
||||
letter-spacing: @letterSpacing;
|
||||
color: @color;
|
||||
|
||||
user-select: none;
|
||||
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Basic
|
||||
---------------*/
|
||||
|
||||
.ui.divider:not(.vertical):not(.horizontal) {
|
||||
border-top: @shadowWidth @borderStyle @shadowColor;
|
||||
border-bottom: @highlightWidth @borderStyle @highlightColor;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Coupling
|
||||
---------------*/
|
||||
|
||||
/* Allow divider between each column row */
|
||||
.ui.grid > .column + .divider,
|
||||
.ui.grid > .row > .column + .divider {
|
||||
left: auto;
|
||||
}
|
||||
|
||||
& when (@variationDividerHorizontal) {
|
||||
/*--------------
|
||||
Horizontal
|
||||
---------------*/
|
||||
|
||||
.ui.horizontal.divider {
|
||||
display: table;
|
||||
white-space: nowrap;
|
||||
|
||||
height: auto;
|
||||
margin: @horizontalMargin;
|
||||
line-height: 1;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.ui.horizontal.divider:before,
|
||||
.ui.horizontal.divider:after {
|
||||
content: '';
|
||||
display: table-cell;
|
||||
position: relative;
|
||||
top: 50%;
|
||||
width: 50%;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.ui.horizontal.divider:before {
|
||||
background-position: right @horizontalDividerMargin top 50%;
|
||||
}
|
||||
.ui.horizontal.divider:after {
|
||||
background-position: left @horizontalDividerMargin top 50%;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationDividerVertical) {
|
||||
/*--------------
|
||||
Vertical
|
||||
---------------*/
|
||||
|
||||
.ui.vertical.divider {
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: auto;
|
||||
height: 50%;
|
||||
|
||||
line-height: 0;
|
||||
text-align: center;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
.ui.vertical.divider:before,
|
||||
.ui.vertical.divider:after {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
content: '';
|
||||
z-index: 3;
|
||||
|
||||
border-left: @shadowWidth @borderStyle @shadowColor;
|
||||
border-right: @highlightWidth @borderStyle @highlightColor;
|
||||
|
||||
width: 0;
|
||||
height: @verticalDividerHeight;
|
||||
}
|
||||
|
||||
.ui.vertical.divider:before {
|
||||
top: -100%;
|
||||
}
|
||||
.ui.vertical.divider:after {
|
||||
top: auto;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
/* Inside grid */
|
||||
@media only screen and (max-width : @largestMobileScreen) {
|
||||
|
||||
.ui.stackable.grid .ui.vertical.divider,
|
||||
.ui.grid .stackable.row .ui.vertical.divider {
|
||||
display: table;
|
||||
white-space: nowrap;
|
||||
height: auto;
|
||||
margin: @horizontalMargin;
|
||||
overflow: hidden;
|
||||
line-height: 1;
|
||||
text-align: center;
|
||||
position: static;
|
||||
top: 0;
|
||||
left: 0;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.ui.stackable.grid .ui.vertical.divider:before,
|
||||
.ui.grid .stackable.row .ui.vertical.divider:before,
|
||||
.ui.stackable.grid .ui.vertical.divider:after,
|
||||
.ui.grid .stackable.row .ui.vertical.divider:after {
|
||||
left: 0;
|
||||
border-left: none;
|
||||
border-right: none;
|
||||
content: '';
|
||||
display: table-cell;
|
||||
position: relative;
|
||||
top: 50%;
|
||||
width: 50%;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.ui.stackable.grid .ui.vertical.divider:before,
|
||||
.ui.grid .stackable.row .ui.vertical.divider:before {
|
||||
background-position: right @horizontalDividerMargin top 50%;
|
||||
}
|
||||
.ui.stackable.grid .ui.vertical.divider:after,
|
||||
.ui.grid .stackable.row .ui.vertical.divider:after {
|
||||
background-position: left @horizontalDividerMargin top 50%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationDividerIcon) {
|
||||
/*--------------
|
||||
Icon
|
||||
---------------*/
|
||||
|
||||
.ui.divider > .icon {
|
||||
margin: @dividerIconMargin;
|
||||
font-size: @dividerIconSize;
|
||||
height: 1em;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationDividerHorizontal) {
|
||||
/*--------------
|
||||
Header
|
||||
---------------*/
|
||||
.ui.horizontal.divider[class*="left aligned"] {
|
||||
&:before {
|
||||
display: none;
|
||||
}
|
||||
&:after {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
.ui.horizontal.divider[class*="right aligned"] {
|
||||
&:before {
|
||||
width: 100%;
|
||||
}
|
||||
&:after {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
& when (@variationDividerHidden) {
|
||||
/*--------------
|
||||
Hidden
|
||||
---------------*/
|
||||
|
||||
.ui.hidden.divider {
|
||||
border-color: transparent !important;
|
||||
}
|
||||
|
||||
.ui.hidden.divider:before,
|
||||
.ui.hidden.divider:after {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Inverted
|
||||
---------------*/
|
||||
& when (@variationDividerInverted) {
|
||||
.ui.divider.inverted,
|
||||
.ui.vertical.inverted.divider,
|
||||
.ui.horizontal.inverted.divider {
|
||||
color: @invertedTextColor;
|
||||
}
|
||||
.ui.divider.inverted,
|
||||
.ui.divider.inverted:after,
|
||||
.ui.divider.inverted:before {
|
||||
border-top-color: @invertedShadowColor !important;
|
||||
border-left-color: @invertedShadowColor !important;
|
||||
border-bottom-color: @invertedHighlightColor !important;
|
||||
border-right-color: @invertedHighlightColor !important;
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Fitted
|
||||
---------------*/
|
||||
& when (@variationDividerFitted) {
|
||||
.ui.fitted.divider {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationDividerClearing) {
|
||||
/*--------------
|
||||
Clearing
|
||||
---------------*/
|
||||
|
||||
.ui.clearing.divider {
|
||||
clear: both;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationDividerSection) {
|
||||
/*--------------
|
||||
Section
|
||||
---------------*/
|
||||
|
||||
.ui.section.divider {
|
||||
margin-top: @sectionMargin;
|
||||
margin-bottom: @sectionMargin;
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Sizes
|
||||
---------------*/
|
||||
|
||||
.ui.divider {
|
||||
font-size: @medium;
|
||||
}
|
||||
& when not (@variationDividerSizes = false) {
|
||||
each(@variationDividerSizes, {
|
||||
@s: @@value;
|
||||
.ui.@{value}.divider {
|
||||
font-size: @s;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
72
assets/semantic-ui/definitions/elements/emoji.less
Normal file
72
assets/semantic-ui/definitions/elements/emoji.less
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
/*!
|
||||
* # Fomantic UI - Emoji
|
||||
* https://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* https://github.com/fomantic/Fomantic-UI/blob/master/LICENSE.md
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'element';
|
||||
@element : 'emoji';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
|
||||
/*******************************
|
||||
Emoji
|
||||
*******************************/
|
||||
|
||||
|
||||
em[data-emoji] {
|
||||
opacity: @opacity;
|
||||
|
||||
speak: none;
|
||||
backface-visibility: hidden;
|
||||
}
|
||||
|
||||
em[data-emoji]:before {
|
||||
content:'\00A0\00A0\00A0\00A0\00A0\00A0\00A0';
|
||||
display: inline-block;
|
||||
line-height: @emojiLineHeight;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
& when not (@emojiFileType = 'svg') {
|
||||
background-size: contain;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
em[data-emoji].disabled {
|
||||
opacity: @disabledOpacity;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
em[data-emoji].loading:before {
|
||||
animation: loader @loadingDuration linear infinite;
|
||||
}
|
||||
|
||||
|
||||
/*-------------------
|
||||
Link
|
||||
--------------------*/
|
||||
|
||||
em[data-emoji].link:not(.disabled) {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
52
assets/semantic-ui/definitions/elements/flag.less
Normal file
52
assets/semantic-ui/definitions/elements/flag.less
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Flag
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'element';
|
||||
@element : 'flag';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
|
||||
/*******************************
|
||||
Flag
|
||||
*******************************/
|
||||
|
||||
i.flag:not(.icon) {
|
||||
display: inline-block;
|
||||
|
||||
width: @width;
|
||||
height: @height;
|
||||
|
||||
line-height: @height;
|
||||
vertical-align: @verticalAlign;
|
||||
margin: 0 @margin 0 0;
|
||||
|
||||
text-decoration: inherit;
|
||||
|
||||
speak: none;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
backface-visibility: hidden;
|
||||
}
|
||||
|
||||
/* Sprite */
|
||||
i.flag:not(.icon):before {
|
||||
display: inline-block;
|
||||
content: '';
|
||||
background: url(@spritePath) no-repeat -108px -1976px;
|
||||
width: @width;
|
||||
height: @height;
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
487
assets/semantic-ui/definitions/elements/header.less
Normal file
487
assets/semantic-ui/definitions/elements/header.less
Normal file
|
|
@ -0,0 +1,487 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Header
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'element';
|
||||
@element : 'header';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
|
||||
/*******************************
|
||||
Header
|
||||
*******************************/
|
||||
|
||||
/* Standard */
|
||||
.ui.header {
|
||||
border: none;
|
||||
margin: @margin;
|
||||
padding: @verticalPadding @horizontalPadding;
|
||||
font-family: @fontFamily;
|
||||
font-weight: @fontWeight;
|
||||
line-height: @lineHeight;
|
||||
text-transform: @textTransform;
|
||||
color: @textColor;
|
||||
}
|
||||
|
||||
.ui.header:first-child {
|
||||
margin-top: @firstMargin;
|
||||
}
|
||||
.ui.header:last-child {
|
||||
margin-bottom: @lastMargin;
|
||||
}
|
||||
|
||||
& when (@variationHeaderSub) {
|
||||
/*--------------
|
||||
Sub Header
|
||||
---------------*/
|
||||
|
||||
.ui.header .sub.header {
|
||||
display: block;
|
||||
font-weight: @normal;
|
||||
padding: 0;
|
||||
margin: @subHeaderMargin;
|
||||
font-size: @subHeaderFontSize;
|
||||
line-height: @subHeaderLineHeight;
|
||||
color: @subHeaderColor;
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Icon
|
||||
---------------*/
|
||||
|
||||
.ui.header > .icon {
|
||||
display: table-cell;
|
||||
opacity: @iconOpacity;
|
||||
font-size: @iconSize;
|
||||
padding-top: @iconOffset;
|
||||
vertical-align: @iconAlignment;
|
||||
}
|
||||
|
||||
/* With Text Node */
|
||||
.ui.header .icon:only-child {
|
||||
display: inline-block;
|
||||
padding: 0;
|
||||
margin-right: @iconMargin;
|
||||
}
|
||||
|
||||
/*-------------------
|
||||
Image
|
||||
--------------------*/
|
||||
|
||||
.ui.header > .image:not(.icon),
|
||||
.ui.header > img {
|
||||
display: inline-block;
|
||||
margin-top: @imageOffset;
|
||||
width: @imageWidth;
|
||||
height: @imageHeight;
|
||||
vertical-align: @imageAlignment;
|
||||
}
|
||||
.ui.header > .image:not(.icon):only-child,
|
||||
.ui.header > img:only-child {
|
||||
margin-right: @imageMargin;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Content
|
||||
---------------*/
|
||||
|
||||
.ui.header .content {
|
||||
display: inline-block;
|
||||
vertical-align: @contentAlignment;
|
||||
}
|
||||
|
||||
/* After Image */
|
||||
.ui.header > img + .content,
|
||||
.ui.header > .image + .content {
|
||||
padding-left: @imageMargin;
|
||||
vertical-align: @contentImageAlignment;
|
||||
}
|
||||
|
||||
/* After Icon */
|
||||
.ui.header > .icon + .content {
|
||||
padding-left: @iconMargin;
|
||||
display: table-cell;
|
||||
vertical-align: @contentIconAlignment;
|
||||
}
|
||||
|
||||
|
||||
/*--------------
|
||||
Loose Coupling
|
||||
---------------*/
|
||||
|
||||
.ui.header .ui.label {
|
||||
font-size: @labelSize;
|
||||
margin-left: @labelDistance;
|
||||
vertical-align: @labelVerticalAlign;
|
||||
}
|
||||
|
||||
/* Positioning */
|
||||
.ui.header + p {
|
||||
margin-top: @nextParagraphDistance;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************
|
||||
Types
|
||||
*******************************/
|
||||
|
||||
|
||||
/*--------------
|
||||
Page
|
||||
---------------*/
|
||||
& when not (@variationHeaderTags = false) {
|
||||
each(@variationHeaderTags, {
|
||||
@sf: @{value}SubHeaderFontSize;
|
||||
@s: @@value;
|
||||
@{value}.ui.header {
|
||||
font-size: @s;
|
||||
}
|
||||
& when (@variationHeaderSub) {
|
||||
@{value}.ui.header .sub.header {
|
||||
font-size: @@sf;
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Content Heading
|
||||
---------------*/
|
||||
|
||||
& when not (@variationHeaderSizes = false) {
|
||||
each(@variationHeaderSizes, {
|
||||
@sf: @{value}SubHeaderFontSize;
|
||||
@shf: @{value}SubHeadingSize;
|
||||
@s: @{value}FontSize;;
|
||||
.ui.@{value}.header {
|
||||
font-size: @@s;
|
||||
& when (@@s >= 2) {
|
||||
min-height: 1em;
|
||||
}
|
||||
}
|
||||
& when (@variationHeaderSub) {
|
||||
.ui.@{value}.header .sub.header {
|
||||
font-size: @@sf;
|
||||
}
|
||||
.ui.@{value}.sub.header {
|
||||
font-size: @@shf;
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
& when (@variationHeaderSub) {
|
||||
/*--------------
|
||||
Sub Heading
|
||||
---------------*/
|
||||
|
||||
.ui.sub.header {
|
||||
padding: 0;
|
||||
margin-bottom: @subHeadingDistance;
|
||||
font-weight: @subHeadingFontWeight;
|
||||
font-size: @subHeadingFontSize;
|
||||
text-transform: @subHeadingTextTransform;
|
||||
color: @subHeadingColor;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationHeaderIcon) {
|
||||
/*-------------------
|
||||
Icon
|
||||
--------------------*/
|
||||
|
||||
.ui.icon.header {
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
margin: @iconHeaderTopMargin 0 @iconHeaderBottomMargin;
|
||||
}
|
||||
.ui.icon.header:after {
|
||||
content: '';
|
||||
display: block;
|
||||
height: 0;
|
||||
clear: both;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.ui.icon.header:first-child {
|
||||
margin-top: @iconHeaderFirstMargin;
|
||||
}
|
||||
.ui.icon.header .icon {
|
||||
float: none;
|
||||
display: block;
|
||||
width: auto;
|
||||
height: auto;
|
||||
line-height: 1;
|
||||
padding: 0;
|
||||
font-size: @iconHeaderSize;
|
||||
margin: 0 auto @iconHeaderMargin;
|
||||
opacity: @iconHeaderOpacity;
|
||||
}
|
||||
.ui.icon.header .corner.icon {
|
||||
font-size: @cornerIconHeaderSize;
|
||||
}
|
||||
.ui.icon.header .content {
|
||||
display: block;
|
||||
padding: 0;
|
||||
}
|
||||
.ui.icon.header .circular.icon {
|
||||
font-size: @circularHeaderIconSize;
|
||||
}
|
||||
.ui.icon.header .square.icon {
|
||||
font-size: @squareHeaderIconSize;
|
||||
}
|
||||
& when (@variationHeaderBlock) {
|
||||
.ui.block.icon.header .icon {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
.ui.icon.header.aligned {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
& when (@variationHeaderDisabled) {
|
||||
.ui.disabled.header {
|
||||
opacity: @disabledOpacity;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
& when (@variationHeaderInverted) {
|
||||
/*-------------------
|
||||
Inverted
|
||||
--------------------*/
|
||||
|
||||
.ui.inverted.header {
|
||||
color: @invertedColor;
|
||||
}
|
||||
.ui.inverted.header .sub.header {
|
||||
color: @invertedSubHeaderColor;
|
||||
}
|
||||
& when (@variationHeaderAttached) {
|
||||
.ui.inverted.attached.header {
|
||||
background: @invertedAttachedBackground;
|
||||
box-shadow: none;
|
||||
border-color: transparent;
|
||||
}
|
||||
}
|
||||
& when (@variationHeaderBlock) {
|
||||
.ui.inverted.block.header {
|
||||
background: @invertedBlockBackground;
|
||||
box-shadow: none;
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------
|
||||
Colors
|
||||
--------------------*/
|
||||
|
||||
each(@colors, {
|
||||
@color: replace(@key, '@', '');
|
||||
@c: @colors[@@color][color];
|
||||
@l: @colors[@@color][light];
|
||||
@h: @colors[@@color][hover];
|
||||
@lh: @colors[@@color][lightHover];
|
||||
|
||||
.ui.@{color}.header {
|
||||
color: @c;
|
||||
}
|
||||
a.ui.@{color}.header:hover {
|
||||
color: @h;
|
||||
}
|
||||
& when (@variationHeaderDividing) {
|
||||
.ui.@{color}.dividing.header {
|
||||
border-bottom: @dividedColoredBorderWidth solid @c;
|
||||
}
|
||||
}
|
||||
& when (@variationHeaderInverted) {
|
||||
.ui.inverted.@{color}.header.header.header {
|
||||
color: @l;
|
||||
}
|
||||
a.ui.inverted.@{color}.header.header.header:hover {
|
||||
color: @lh;
|
||||
}
|
||||
.ui.inverted.@{color}.dividing.header {
|
||||
border-bottom: @dividedColoredBorderWidth solid @l;
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
& when (@variationHeaderAligned) {
|
||||
/*-------------------
|
||||
Aligned
|
||||
--------------------*/
|
||||
|
||||
.ui.left.aligned.header {
|
||||
text-align: left;
|
||||
}
|
||||
.ui.right.aligned.header {
|
||||
text-align: right;
|
||||
}
|
||||
.ui.centered.header,
|
||||
.ui.center.aligned.header {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationHeaderJustified) {
|
||||
.ui.justified.header {
|
||||
text-align: justify;
|
||||
}
|
||||
.ui.justified.header:after {
|
||||
display: inline-block;
|
||||
content: '';
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationHeaderFloated) {
|
||||
/*-------------------
|
||||
Floated
|
||||
--------------------*/
|
||||
|
||||
.ui.floated.header,
|
||||
.ui[class*="left floated"].header {
|
||||
float: left;
|
||||
margin-top: 0;
|
||||
margin-right: @floatedMargin;
|
||||
}
|
||||
.ui[class*="right floated"].header {
|
||||
float: right;
|
||||
margin-top: 0;
|
||||
margin-left: @floatedMargin;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationHeaderFitted) {
|
||||
/*-------------------
|
||||
Fitted
|
||||
--------------------*/
|
||||
|
||||
.ui.fitted.header {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationHeaderDividing) {
|
||||
/*-------------------
|
||||
Dividing
|
||||
--------------------*/
|
||||
|
||||
.ui.dividing.header {
|
||||
padding-bottom: @dividedBorderPadding;
|
||||
border-bottom: @dividedBorder;
|
||||
}
|
||||
.ui.dividing.header .sub.header {
|
||||
padding-bottom: @dividedSubHeaderPadding;
|
||||
}
|
||||
.ui.dividing.header .icon {
|
||||
margin-bottom: @dividedIconPadding;
|
||||
}
|
||||
& when (@variationHeaderInverted) {
|
||||
.ui.inverted.dividing.header {
|
||||
border-bottom-color: @invertedDividedBorderColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationHeaderBlock) {
|
||||
/*-------------------
|
||||
Block
|
||||
--------------------*/
|
||||
|
||||
.ui.block.header {
|
||||
background: @blockBackground;
|
||||
padding: @blockVerticalPadding @blockHorizontalPadding;
|
||||
box-shadow: @blockBoxShadow;
|
||||
border: @blockBorder;
|
||||
border-radius: @blockBorderRadius;
|
||||
}
|
||||
.ui.block.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
|
||||
font-size: @mediumBlock;
|
||||
}
|
||||
& when not (@variationHeaderSizes = false) {
|
||||
each(@variationHeaderSizes, {
|
||||
@s: @{value}Block;
|
||||
.ui.@{value}.block.header {
|
||||
font-size: @@s;
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationHeaderAttached) {
|
||||
/*-------------------
|
||||
Attached
|
||||
--------------------*/
|
||||
|
||||
.ui.attached.header {
|
||||
background: @attachedBackground;
|
||||
padding: @attachedVerticalPadding @attachedHorizontalPadding;
|
||||
margin: 0 @attachedOffset 0 @attachedOffset;
|
||||
box-shadow: @attachedBoxShadow;
|
||||
border: @attachedBorder;
|
||||
border-radius: 0;
|
||||
}
|
||||
.ui.attached.block.header {
|
||||
background: @blockBackground;
|
||||
}
|
||||
.ui.attached:not(.top).header {
|
||||
border-top: none;
|
||||
}
|
||||
.ui.top.attached.header {
|
||||
border-radius: @attachedBorderRadius @attachedBorderRadius 0 0;
|
||||
}
|
||||
.ui.bottom.attached.header {
|
||||
border-radius: 0 0 @attachedBorderRadius @attachedBorderRadius;
|
||||
}
|
||||
|
||||
/* Attached Sizes */
|
||||
.ui.attached.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
|
||||
font-size: @mediumAttachedSize;
|
||||
}
|
||||
& when not (@variationHeaderSizes = false) {
|
||||
each(@variationHeaderSizes, {
|
||||
@s: @{value}AttachedSize;
|
||||
.ui.@{value}.attached.header {
|
||||
font-size: @@s;
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------
|
||||
Sizing
|
||||
--------------------*/
|
||||
|
||||
.ui.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
|
||||
font-size: @mediumFontSize;
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
374
assets/semantic-ui/definitions/elements/icon.less
Normal file
374
assets/semantic-ui/definitions/elements/icon.less
Normal file
|
|
@ -0,0 +1,374 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Icon
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'element';
|
||||
@element : 'icon';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
|
||||
/*******************************
|
||||
Icon
|
||||
*******************************/
|
||||
|
||||
@font-face {
|
||||
font-family: 'Icons';
|
||||
src: @fallbackSRC;
|
||||
src: @src;
|
||||
font-style: normal;
|
||||
font-weight: @normal;
|
||||
font-variant: normal;
|
||||
text-decoration: inherit;
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
i.icon {
|
||||
display: inline-block;
|
||||
opacity: @opacity;
|
||||
|
||||
margin: 0 @distanceFromText 0 0;
|
||||
|
||||
width: @width;
|
||||
height: @height;
|
||||
|
||||
font-family: 'Icons';
|
||||
font-style: normal;
|
||||
font-weight: @normal;
|
||||
text-decoration: inherit;
|
||||
text-align: center;
|
||||
|
||||
speak: none;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
backface-visibility: hidden;
|
||||
}
|
||||
|
||||
i.icon:before {
|
||||
background: none !important;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Types
|
||||
*******************************/
|
||||
|
||||
& when (@variationIconLoading) {
|
||||
/*--------------
|
||||
Loading
|
||||
---------------*/
|
||||
|
||||
i.icon.loading {
|
||||
height: 1em;
|
||||
line-height: 1;
|
||||
animation: loader @loadingDuration linear infinite;
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
i.icon:hover, i.icons:hover,
|
||||
i.icon:active, i.icons:active,
|
||||
i.emphasized.icon:not(.disabled), i.emphasized.icons:not(.disabled) {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
& when (@variationIconDisabled) {
|
||||
i.disabled.icon, i.disabled.icons {
|
||||
opacity: @disabledOpacity;
|
||||
cursor: default;
|
||||
pointer-events: none;
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
& when (@variationIconFitted) {
|
||||
/*-------------------
|
||||
Fitted
|
||||
--------------------*/
|
||||
|
||||
i.fitted.icon {
|
||||
width: auto;
|
||||
margin: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationIconLink) {
|
||||
/*-------------------
|
||||
Link
|
||||
--------------------*/
|
||||
|
||||
i.link.icon:not(.disabled), i.link.icons:not(.disabled) {
|
||||
cursor: pointer;
|
||||
opacity: @linkOpacity;
|
||||
transition: opacity @defaultDuration @defaultEasing;
|
||||
}
|
||||
i.link.icon:hover, i.link.icons:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationIconCircular) {
|
||||
/*-------------------
|
||||
Circular
|
||||
--------------------*/
|
||||
|
||||
i.circular.icon {
|
||||
border-radius: 500em !important;
|
||||
line-height: 1 !important;
|
||||
|
||||
padding: @circularPadding !important;
|
||||
box-shadow: @circularShadow;
|
||||
|
||||
width: @circularSize !important;
|
||||
height: @circularSize !important;
|
||||
}
|
||||
& when (@variationIconInverted) {
|
||||
i.circular.inverted.icon {
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationIconFlipped) {
|
||||
/*-------------------
|
||||
Flipped
|
||||
--------------------*/
|
||||
|
||||
i.flipped.icon,
|
||||
i.horizontally.flipped.icon {
|
||||
transform: scale(-1, 1);
|
||||
}
|
||||
i.vertically.flipped.icon {
|
||||
transform: scale(1, -1);
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationIconRotated) {
|
||||
/*-------------------
|
||||
Rotated
|
||||
--------------------*/
|
||||
|
||||
i.rotated.icon,
|
||||
i.right.rotated.icon,
|
||||
i.clockwise.rotated.icon {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
|
||||
i.left.rotated.icon,
|
||||
i.counterclockwise.rotated.icon {
|
||||
transform: rotate(-90deg);
|
||||
}
|
||||
|
||||
i.halfway.rotated.icon {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationIconFlipped) and (@variationIconRotated) {
|
||||
/*--------------------------
|
||||
Flipped & Rotated
|
||||
---------------------------*/
|
||||
|
||||
i.rotated.flipped.icon,
|
||||
i.right.rotated.flipped.icon,
|
||||
i.clockwise.rotated.flipped.icon {
|
||||
transform: scale(-1, 1) rotate(90deg);
|
||||
}
|
||||
|
||||
i.left.rotated.flipped.icon,
|
||||
i.counterclockwise.rotated.flipped.icon {
|
||||
transform: scale(-1, 1) rotate(-90deg);
|
||||
}
|
||||
|
||||
i.halfway.rotated.flipped.icon {
|
||||
transform: scale(-1, 1) rotate(180deg);
|
||||
}
|
||||
|
||||
i.rotated.vertically.flipped.icon,
|
||||
i.right.rotated.vertically.flipped.icon,
|
||||
i.clockwise.rotated.vertically.flipped.icon {
|
||||
transform: scale(1, -1) rotate(90deg);
|
||||
}
|
||||
|
||||
i.left.rotated.vertically.flipped.icon,
|
||||
i.counterclockwise.rotated.vertically.flipped.icon {
|
||||
transform: scale(1, -1) rotate(-90deg);
|
||||
}
|
||||
|
||||
i.halfway.rotated.vertically.flipped.icon {
|
||||
transform: scale(1, -1) rotate(180deg);
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationIconBordered) {
|
||||
/*-------------------
|
||||
Bordered
|
||||
--------------------*/
|
||||
|
||||
i.bordered.icon {
|
||||
line-height: 1;
|
||||
vertical-align: baseline;
|
||||
|
||||
width: @borderedSize;
|
||||
height: @borderedSize;
|
||||
padding: @borderedVerticalPadding @borderedHorizontalPadding !important;
|
||||
box-shadow: @borderedShadow;
|
||||
}
|
||||
& when (@variationIconInverted) {
|
||||
i.bordered.inverted.icon {
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationIconInverted) {
|
||||
/*-------------------
|
||||
Inverted
|
||||
--------------------*/
|
||||
|
||||
/* Inverted Shapes */
|
||||
i.inverted.bordered.icon,
|
||||
i.inverted.circular.icon {
|
||||
background-color: @black;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
i.inverted.icon {
|
||||
color: @white;
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------
|
||||
Colors
|
||||
--------------------*/
|
||||
|
||||
each(@colors, {
|
||||
@color: replace(@key, '@', '');
|
||||
@c: @colors[@@color][color];
|
||||
@l: @colors[@@color][light];
|
||||
|
||||
i.@{color}.icon.icon.icon.icon {
|
||||
color: @c;
|
||||
}
|
||||
& when (@variationIconInverted) {
|
||||
i.inverted.@{color}.icon.icon.icon.icon {
|
||||
color: @l;
|
||||
}
|
||||
i.inverted.bordered.@{color}.icon.icon.icon.icon,
|
||||
i.inverted.circular.@{color}.icon.icon.icon.icon {
|
||||
background-color: @c;
|
||||
color: @white;
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
/*-------------------
|
||||
Sizes
|
||||
--------------------*/
|
||||
|
||||
i.icon,
|
||||
i.icons {
|
||||
font-size: @medium;
|
||||
line-height: @lineHeight;
|
||||
}
|
||||
& when not (@variationIconSizes = false) {
|
||||
each(@variationIconSizes, {
|
||||
@s: @@value;
|
||||
i.@{value}.@{value}.@{value}.icon,
|
||||
i.@{value}.@{value}.@{value}.icons {
|
||||
font-size: @s;
|
||||
vertical-align: middle;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
& when (@variationIconGroups) or (@variationIconCorner) {
|
||||
/*******************************
|
||||
Groups
|
||||
*******************************/
|
||||
|
||||
i.icons {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
i.icons .icon {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translateX(-50%) translateY(-50%);
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
i.icons .icon:first-child {
|
||||
position: static;
|
||||
width: auto;
|
||||
height: auto;
|
||||
vertical-align: top;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
& when (@variationIconCorner) {
|
||||
/* Corner Icon */
|
||||
i.icons .corner.icon {
|
||||
top: auto;
|
||||
left: auto;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
transform: none;
|
||||
font-size: @cornerIconSize;
|
||||
text-shadow: @cornerIconShadow;
|
||||
}
|
||||
i.icons .icon.corner[class*="top right"] {
|
||||
top: 0;
|
||||
left: auto;
|
||||
right: 0;
|
||||
bottom: auto;
|
||||
}
|
||||
i.icons .icon.corner[class*="top left"] {
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: auto;
|
||||
bottom: auto;
|
||||
}
|
||||
i.icons .icon.corner[class*="bottom left"] {
|
||||
top: auto;
|
||||
left: 0;
|
||||
right: auto;
|
||||
bottom: 0;
|
||||
}
|
||||
i.icons .icon.corner[class*="bottom right"] {
|
||||
top: auto;
|
||||
left: auto;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
& when (@variationIconInverted) {
|
||||
i.icons .inverted.corner.icon {
|
||||
text-shadow: @cornerIconInvertedShadow;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
305
assets/semantic-ui/definitions/elements/image.less
Normal file
305
assets/semantic-ui/definitions/elements/image.less
Normal file
|
|
@ -0,0 +1,305 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Image
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'element';
|
||||
@element : 'image';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
|
||||
/*******************************
|
||||
Image
|
||||
*******************************/
|
||||
|
||||
.ui.image {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
max-width: 100%;
|
||||
background-color: @placeholderColor;
|
||||
}
|
||||
|
||||
img.ui.image {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.ui.image svg,
|
||||
.ui.image img {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
.ui.hidden.images,
|
||||
.ui.ui.hidden.image {
|
||||
display: none;
|
||||
}
|
||||
.ui.hidden.transition.images,
|
||||
.ui.hidden.transition.image {
|
||||
display: block;
|
||||
visibility: hidden;
|
||||
}
|
||||
.ui.images > .hidden.transition {
|
||||
display: inline-block;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
& when (@variationImageDisabled) {
|
||||
.ui.disabled.images,
|
||||
.ui.disabled.image {
|
||||
cursor: default;
|
||||
opacity: @disabledOpacity;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
& when (@variationImageInline) {
|
||||
/*--------------
|
||||
Inline
|
||||
---------------*/
|
||||
|
||||
.ui.inline.image,
|
||||
.ui.inline.image svg,
|
||||
.ui.inline.image img {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationImageAligned) {
|
||||
/*------------------
|
||||
Vertical Aligned
|
||||
-------------------*/
|
||||
|
||||
.ui.top.aligned.images .image,
|
||||
.ui.top.aligned.image,
|
||||
.ui.top.aligned.image svg,
|
||||
.ui.top.aligned.image img {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
}
|
||||
.ui.middle.aligned.images .image,
|
||||
.ui.middle.aligned.image,
|
||||
.ui.middle.aligned.image svg,
|
||||
.ui.middle.aligned.image img {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.ui.bottom.aligned.images .image,
|
||||
.ui.bottom.aligned.image,
|
||||
.ui.bottom.aligned.image svg,
|
||||
.ui.bottom.aligned.image img {
|
||||
display: inline-block;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationImageRounded) {
|
||||
/*--------------
|
||||
Rounded
|
||||
---------------*/
|
||||
|
||||
.ui.rounded.images .image,
|
||||
.ui.rounded.image,
|
||||
.ui.rounded.images .image > *,
|
||||
.ui.rounded.image > * {
|
||||
border-radius: @roundedBorderRadius;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationImageBordered) {
|
||||
/*--------------
|
||||
Bordered
|
||||
---------------*/
|
||||
|
||||
.ui.bordered.images .image,
|
||||
.ui.bordered.images img,
|
||||
.ui.bordered.images svg,
|
||||
.ui.bordered.image img,
|
||||
.ui.bordered.image svg,
|
||||
img.ui.bordered.image {
|
||||
border: @imageBorder;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationImageCircular) {
|
||||
/*--------------
|
||||
Circular
|
||||
---------------*/
|
||||
|
||||
.ui.circular.images,
|
||||
.ui.circular.image {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.ui.circular.images .image,
|
||||
.ui.circular.image,
|
||||
.ui.circular.images .image > *,
|
||||
.ui.circular.image > * {
|
||||
-webkit-border-radius: @circularRadius;
|
||||
-moz-border-radius: @circularRadius;
|
||||
border-radius: @circularRadius;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationImageFluid) {
|
||||
/*--------------
|
||||
Fluid
|
||||
---------------*/
|
||||
|
||||
.ui.fluid.images,
|
||||
.ui.fluid.image,
|
||||
.ui.fluid.images img,
|
||||
.ui.fluid.images svg,
|
||||
.ui.fluid.image svg,
|
||||
.ui.fluid.image img {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationImageAvatar) {
|
||||
/*--------------
|
||||
Avatar
|
||||
---------------*/
|
||||
|
||||
.ui.avatar.images .image,
|
||||
.ui.avatar.images img,
|
||||
.ui.avatar.images svg,
|
||||
.ui.avatar.image img,
|
||||
.ui.avatar.image svg,
|
||||
.ui.avatar.image {
|
||||
margin-right: @avatarMargin;
|
||||
|
||||
display: inline-block;
|
||||
width: @avatarSize;
|
||||
height: @avatarSize;
|
||||
|
||||
-webkit-border-radius: @circularRadius;
|
||||
-moz-border-radius: @circularRadius;
|
||||
border-radius: @circularRadius;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationImageSpaced) {
|
||||
/*-------------------
|
||||
Spaced
|
||||
--------------------*/
|
||||
|
||||
.ui.spaced.image {
|
||||
display: inline-block !important;
|
||||
margin-left: @spacedDistance;
|
||||
margin-right: @spacedDistance;
|
||||
}
|
||||
|
||||
.ui[class*="left spaced"].image {
|
||||
margin-left: @spacedDistance;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.ui[class*="right spaced"].image {
|
||||
margin-left: 0;
|
||||
margin-right: @spacedDistance;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationImageFloated) {
|
||||
/*-------------------
|
||||
Floated
|
||||
--------------------*/
|
||||
|
||||
.ui.floated.image,
|
||||
.ui.floated.images {
|
||||
float: left;
|
||||
margin-right: @floatedHorizontalMargin;
|
||||
margin-bottom: @floatedVerticalMargin;
|
||||
}
|
||||
.ui.right.floated.images,
|
||||
.ui.right.floated.image {
|
||||
float: right;
|
||||
margin-right: 0;
|
||||
margin-bottom: @floatedVerticalMargin;
|
||||
margin-left: @floatedHorizontalMargin;
|
||||
}
|
||||
|
||||
.ui.floated.images:last-child,
|
||||
.ui.floated.image:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationImageCentered) {
|
||||
.ui.centered.images,
|
||||
.ui.centered.image {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Sizes
|
||||
---------------*/
|
||||
|
||||
.ui.medium.images .image,
|
||||
.ui.medium.images img,
|
||||
.ui.medium.images svg,
|
||||
.ui.medium.image {
|
||||
width: @mediumWidth;
|
||||
height: auto;
|
||||
font-size: @medium;
|
||||
}
|
||||
& when not (@variationImageSizes = false) {
|
||||
each(@variationImageSizes, {
|
||||
@w: @{value}Width;
|
||||
@s: @@value;
|
||||
.ui.@{value}.images .image,
|
||||
.ui.@{value}.images img,
|
||||
.ui.@{value}.images svg,
|
||||
.ui.@{value}.image {
|
||||
width: @@w;
|
||||
height: auto;
|
||||
font-size: @s;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
& when (@variationImageGroups) {
|
||||
/*******************************
|
||||
Groups
|
||||
*******************************/
|
||||
|
||||
.ui.images {
|
||||
font-size: 0;
|
||||
margin: 0 -@imageHorizontalMargin 0;
|
||||
}
|
||||
|
||||
.ui.images .image,
|
||||
.ui.images > img,
|
||||
.ui.images > svg {
|
||||
display: inline-block;
|
||||
margin: 0 @imageHorizontalMargin @imageVerticalMargin;
|
||||
}
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
565
assets/semantic-ui/definitions/elements/input.less
Normal file
565
assets/semantic-ui/definitions/elements/input.less
Normal file
|
|
@ -0,0 +1,565 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Input
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'element';
|
||||
@element : 'input';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
|
||||
/*******************************
|
||||
Standard
|
||||
*******************************/
|
||||
|
||||
|
||||
/*--------------------
|
||||
Inputs
|
||||
---------------------*/
|
||||
|
||||
.ui.input {
|
||||
position: relative;
|
||||
font-weight: @normal;
|
||||
font-style: normal;
|
||||
display: inline-flex;
|
||||
color: @inputColor;
|
||||
}
|
||||
.ui.input > input {
|
||||
margin: 0;
|
||||
max-width: 100%;
|
||||
flex: 1 0 auto;
|
||||
outline: none;
|
||||
-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
|
||||
text-align: @textAlign;
|
||||
line-height: @lineHeight;
|
||||
|
||||
font-family: @inputFont;
|
||||
padding: @padding;
|
||||
|
||||
background: @background;
|
||||
border: @border;
|
||||
color: @inputColor;
|
||||
border-radius: @borderRadius;
|
||||
transition: @transition;
|
||||
|
||||
box-shadow: @boxShadow;
|
||||
}
|
||||
|
||||
|
||||
/*--------------------
|
||||
Placeholder
|
||||
---------------------*/
|
||||
|
||||
/* browsers require these rules separate */
|
||||
|
||||
.ui.input > input::-webkit-input-placeholder {
|
||||
color: @placeholderColor;
|
||||
}
|
||||
.ui.input > input::-moz-placeholder {
|
||||
color: @placeholderColor;
|
||||
}
|
||||
.ui.input > input:-ms-input-placeholder {
|
||||
color: @placeholderColor;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
& when (@variationInputDisabled) {
|
||||
/*--------------------
|
||||
Disabled
|
||||
---------------------*/
|
||||
|
||||
.ui.disabled.input,
|
||||
.ui.input:not(.disabled) input[disabled] {
|
||||
opacity: @disabledOpacity;
|
||||
}
|
||||
|
||||
.ui.disabled.input > input,
|
||||
.ui.input:not(.disabled) input[disabled] {
|
||||
pointer-events: none;
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------------
|
||||
Active
|
||||
---------------------*/
|
||||
|
||||
.ui.input > input:active,
|
||||
.ui.input.down input {
|
||||
border-color: @downBorderColor;
|
||||
background: @downBackground;
|
||||
color: @downColor;
|
||||
box-shadow: @downBoxShadow;
|
||||
}
|
||||
|
||||
& when (@variationInputLoading) {
|
||||
/*--------------------
|
||||
Loading
|
||||
---------------------*/
|
||||
|
||||
.ui.loading.loading.input > i.icon:before {
|
||||
position: absolute;
|
||||
content: '';
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
|
||||
margin: @loaderMargin;
|
||||
width: @loaderSize;
|
||||
height: @loaderSize;
|
||||
|
||||
border-radius: @circularRadius;
|
||||
border: @loaderLineWidth solid @loaderFillColor;
|
||||
}
|
||||
.ui.loading.loading.input > i.icon:after {
|
||||
position: absolute;
|
||||
content: '';
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
|
||||
margin: @loaderMargin;
|
||||
width: @loaderSize;
|
||||
height: @loaderSize;
|
||||
|
||||
animation: loader @loaderSpeed infinite linear;
|
||||
|
||||
border: @loaderLineWidth solid @loaderLineColor;
|
||||
border-radius: @circularRadius;
|
||||
|
||||
box-shadow: 0 0 0 1px transparent;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*--------------------
|
||||
Focus
|
||||
---------------------*/
|
||||
|
||||
.ui.input.focus > input,
|
||||
.ui.input > input:focus {
|
||||
border-color: @focusBorderColor;
|
||||
background: @focusBackground;
|
||||
color: @focusColor;
|
||||
box-shadow: @focusBoxShadow;
|
||||
}
|
||||
.ui.input.focus > input::-webkit-input-placeholder,
|
||||
.ui.input > input:focus::-webkit-input-placeholder {
|
||||
color: @placeholderFocusColor;
|
||||
}
|
||||
.ui.input.focus > input::-moz-placeholder,
|
||||
.ui.input > input:focus::-moz-placeholder {
|
||||
color: @placeholderFocusColor;
|
||||
}
|
||||
.ui.input.focus > input:-ms-input-placeholder,
|
||||
.ui.input > input:focus:-ms-input-placeholder {
|
||||
color: @placeholderFocusColor;
|
||||
}
|
||||
|
||||
|
||||
& when (@variationInputStates) {
|
||||
/*--------------------
|
||||
States
|
||||
---------------------*/
|
||||
each(@formStates, {
|
||||
@state: replace(@key, '@', '');
|
||||
|
||||
.ui.input.@{state} > input {
|
||||
background-color: @formStates[@@state][background];
|
||||
border-color: @formStates[@@state][borderColor];
|
||||
color: @formStates[@@state][color];
|
||||
box-shadow: @formStates[@@state][boxShadow];
|
||||
}
|
||||
|
||||
/* Placeholder */
|
||||
.ui.input.@{state} > input::-webkit-input-placeholder {
|
||||
color: @formStates[@@state][inputPlaceholderColor];
|
||||
}
|
||||
.ui.input.@{state} > input::-moz-placeholder {
|
||||
color: @formStates[@@state][inputPlaceholderColor];
|
||||
}
|
||||
.ui.input.@{state} > input:-ms-input-placeholder {
|
||||
color: @formStates[@@state][inputPlaceholderColor] !important;
|
||||
}
|
||||
|
||||
/* Focused Placeholder */
|
||||
.ui.input.@{state} > input:focus::-webkit-input-placeholder {
|
||||
color: @formStates[@@state][inputPlaceholderFocusColor];
|
||||
}
|
||||
.ui.input.@{state} > input:focus::-moz-placeholder {
|
||||
color: @formStates[@@state][inputPlaceholderFocusColor];
|
||||
}
|
||||
.ui.input.@{state} > input:focus:-ms-input-placeholder {
|
||||
color: @formStates[@@state][inputPlaceholderFocusColor] !important;
|
||||
}
|
||||
})
|
||||
}
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
& when (@variationInputTransparent) {
|
||||
/*--------------------
|
||||
Transparent
|
||||
---------------------*/
|
||||
|
||||
|
||||
.ui.transparent.input > textarea,
|
||||
.ui.transparent.input > input {
|
||||
border-color: transparent !important;
|
||||
background-color: transparent !important;
|
||||
padding: 0;
|
||||
box-shadow: none !important;
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
.field .ui.transparent.input > textarea {
|
||||
padding: @padding;
|
||||
}
|
||||
|
||||
/* Transparent Icon */
|
||||
:not(.field) > .ui.transparent.icon.input > i.icon {
|
||||
width: @transparentIconWidth;
|
||||
}
|
||||
:not(.field) > .ui.ui.ui.transparent.icon.input > input {
|
||||
padding-left: 0;
|
||||
padding-right: @transparentIconMargin;
|
||||
}
|
||||
:not(.field) > .ui.ui.ui.transparent[class*="left icon"].input > input {
|
||||
padding-left: @transparentIconMargin;
|
||||
padding-right: 0;
|
||||
}
|
||||
& when (@variationInputInverted) {
|
||||
/* Transparent Inverted */
|
||||
.ui.transparent.inverted.input {
|
||||
color: @transparentInvertedColor;
|
||||
}
|
||||
.ui.ui.transparent.inverted.input > textarea,
|
||||
.ui.ui.transparent.inverted.input > input {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.ui.transparent.inverted.input > input::-webkit-input-placeholder {
|
||||
color: @transparentInvertedPlaceholderColor;
|
||||
}
|
||||
.ui.transparent.inverted.input > input::-moz-placeholder {
|
||||
color: @transparentInvertedPlaceholderColor;
|
||||
}
|
||||
.ui.transparent.inverted.input > input:-ms-input-placeholder {
|
||||
color: @transparentInvertedPlaceholderColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationInputIcon) {
|
||||
/*--------------------
|
||||
Icon
|
||||
---------------------*/
|
||||
|
||||
.ui.icon.input > i.icon {
|
||||
cursor: default;
|
||||
position: absolute;
|
||||
line-height: 1;
|
||||
text-align: center;
|
||||
top: 0;
|
||||
right: 0;
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
|
||||
width: @iconWidth;
|
||||
opacity: @iconOpacity;
|
||||
border-radius: 0 @borderRadius @borderRadius 0;
|
||||
transition: @iconTransition;
|
||||
}
|
||||
.ui.icon.input > i.icon:not(.link) {
|
||||
pointer-events: none;
|
||||
}
|
||||
.ui.ui.ui.ui.icon.input > textarea,
|
||||
.ui.ui.ui.ui.icon.input > input {
|
||||
padding-right: @iconMargin;
|
||||
}
|
||||
|
||||
.ui.icon.input > i.icon:before,
|
||||
.ui.icon.input > i.icon:after {
|
||||
left: 0;
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
top: 50%;
|
||||
width: 100%;
|
||||
margin-top: @iconOffset;
|
||||
}
|
||||
.ui.icon.input > i.link.icon {
|
||||
cursor: pointer;
|
||||
}
|
||||
.ui.icon.input > i.circular.icon {
|
||||
top: @circularIconVerticalOffset;
|
||||
right: @circularIconHorizontalOffset;
|
||||
}
|
||||
|
||||
/* Left Icon Input */
|
||||
.ui[class*="left icon"].input > i.icon {
|
||||
right: auto;
|
||||
left: @borderWidth;
|
||||
border-radius: @borderRadius 0 0 @borderRadius;
|
||||
}
|
||||
.ui[class*="left icon"].input > i.circular.icon {
|
||||
right: auto;
|
||||
left: @circularIconHorizontalOffset;
|
||||
}
|
||||
.ui.ui.ui.ui[class*="left icon"].input > textarea,
|
||||
.ui.ui.ui.ui[class*="left icon"].input > input {
|
||||
padding-left: @iconMargin;
|
||||
padding-right: @horizontalPadding;
|
||||
}
|
||||
|
||||
/* Focus */
|
||||
.ui.icon.input > textarea:focus ~ i.icon,
|
||||
.ui.icon.input > input:focus ~ i.icon {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationInputLabeled) {
|
||||
/*--------------------
|
||||
Labeled
|
||||
---------------------*/
|
||||
|
||||
/* Adjacent Label */
|
||||
.ui.labeled.input > .label {
|
||||
flex: 0 0 auto;
|
||||
margin: 0;
|
||||
font-size: @relativeMedium;
|
||||
}
|
||||
.ui.labeled.input > .label:not(.corner) {
|
||||
padding-top: @verticalPadding;
|
||||
padding-bottom: @verticalPadding;
|
||||
}
|
||||
|
||||
/* Regular Label on Left */
|
||||
.ui.labeled.input:not([class*="corner labeled"]) .label:first-child {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
.ui.labeled.input:not([class*="corner labeled"]) .label:first-child + input {
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
border-left-color: transparent;
|
||||
}
|
||||
.ui.labeled.input:not([class*="corner labeled"]) .label:first-child + input:focus {
|
||||
border-left-color: @focusBorderColor;
|
||||
}
|
||||
|
||||
/* Regular Label on Right */
|
||||
.ui[class*="right labeled"].input > input {
|
||||
border-top-right-radius: 0 !important;
|
||||
border-bottom-right-radius: 0 !important;
|
||||
border-right-color: transparent !important;
|
||||
}
|
||||
.ui[class*="right labeled"].input > input + .label {
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
.ui[class*="right labeled"].input > input:focus {
|
||||
border-right-color: @focusBorderColor !important;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationInputCorner) {
|
||||
/* Corner Label */
|
||||
.ui.labeled.input .corner.label {
|
||||
top: @labelCornerTop;
|
||||
right: @labelCornerRight;
|
||||
font-size: @labelCornerSize;
|
||||
border-radius: 0 @borderRadius 0 0;
|
||||
}
|
||||
|
||||
/* Spacing with corner label */
|
||||
.ui[class*="corner labeled"]:not([class*="left corner labeled"]).labeled.input > textarea,
|
||||
.ui[class*="corner labeled"]:not([class*="left corner labeled"]).labeled.input > input {
|
||||
padding-right: @labeledMargin !important;
|
||||
}
|
||||
.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > textarea,
|
||||
.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > input {
|
||||
padding-right: @labeledIconInputMargin !important;
|
||||
}
|
||||
.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"]) > .icon {
|
||||
margin-right: @labeledIconMargin;
|
||||
}
|
||||
|
||||
/* Left Labeled */
|
||||
.ui[class*="left corner labeled"].labeled.input > textarea,
|
||||
.ui[class*="left corner labeled"].labeled.input > input {
|
||||
padding-left: @labeledMargin !important;
|
||||
}
|
||||
& when (@variationInputIcon) {
|
||||
.ui[class*="left corner labeled"].icon.input > textarea,
|
||||
.ui[class*="left corner labeled"].icon.input > input {
|
||||
padding-left: @labeledIconInputMargin !important;
|
||||
}
|
||||
.ui[class*="left corner labeled"].icon.input > .icon {
|
||||
margin-left: @labeledIconMargin;
|
||||
}
|
||||
}
|
||||
}
|
||||
& when (@variationInputIcon) {
|
||||
.ui.icon.input > textarea ~ .icon {
|
||||
height: @textareaIconHeight;
|
||||
}
|
||||
:not(.field) > .ui.transparent.icon.input > textarea ~ .icon {
|
||||
height: @transparentTextareaIconHeight;
|
||||
}
|
||||
}
|
||||
& when (@variationInputCorner) {
|
||||
/* Corner Label Position */
|
||||
.ui.input > .ui.corner.label {
|
||||
top: @borderWidth;
|
||||
right: @borderWidth;
|
||||
}
|
||||
.ui.input > .ui.left.corner.label {
|
||||
right: auto;
|
||||
left: @borderWidth;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationInputLabeled) or (@variationInputAction) {
|
||||
/* Labeled and action input states */
|
||||
each(@formStates, {
|
||||
@state: replace(@key, '@', '');
|
||||
@borderColor: @formStates[@@state][borderColor];
|
||||
|
||||
.ui.form > .field.@{state} > .ui.action.input > .ui.button,
|
||||
.ui.form > .field.@{state} > .ui.labeled.input:not([class*="corner labeled"]) > .ui.label,
|
||||
.ui.action.input.@{state} > .ui.button,
|
||||
.ui.labeled.input.@{state}:not([class*="corner labeled"]) > .ui.label {
|
||||
border-top: @borderWidth solid @borderColor;
|
||||
border-bottom: @borderWidth solid @borderColor;
|
||||
}
|
||||
.ui.form > .field.@{state} > .ui[class*="left action"].input > .ui.button,
|
||||
.ui.form > .field.@{state} > .ui.labeled.input:not(.right):not([class*="corner labeled"]) > .ui.label,
|
||||
.ui[class*="left action"].input.@{state} > .ui.button,
|
||||
.ui.labeled.input.@{state}:not(.right):not([class*="corner labeled"]) > .ui.label {
|
||||
border-left: @borderWidth solid @borderColor;
|
||||
}
|
||||
.ui.form > .field.@{state} > .ui.action.input:not([class*="left action"]) > input + .ui.button,
|
||||
.ui.form > .field.@{state} > .ui.right.labeled.input:not([class*="corner labeled"]) > input + .ui.label,
|
||||
.ui.action.input.@{state}:not([class*="left action"]) > input + .ui.button,
|
||||
.ui.right.labeled.input.@{state}:not([class*="corner labeled"]) > input + .ui.label {
|
||||
border-right: @borderWidth solid @borderColor;
|
||||
}
|
||||
.ui.form > .field.@{state} > .ui.right.labeled.input:not([class*="corner labeled"]) > .ui.label:first-child,
|
||||
.ui.right.labeled.input.@{state}:not([class*="corner labeled"]) > .ui.label:first-child {
|
||||
border-left: @borderWidth solid @borderColor;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
& when (@variationInputAction) {
|
||||
/*--------------------
|
||||
Action
|
||||
---------------------*/
|
||||
|
||||
.ui.action.input > .button,
|
||||
.ui.action.input > .buttons {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
.ui.action.input > .button,
|
||||
.ui.action.input > .buttons > .button {
|
||||
padding-top: @verticalPadding;
|
||||
padding-bottom: @verticalPadding;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Input when ui Left*/
|
||||
.ui[class*="left action"].input > input {
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
border-left-color: transparent;
|
||||
}
|
||||
|
||||
/* Input when ui Right*/
|
||||
.ui.action.input:not([class*="left action"]) > input {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
border-right-color: transparent;
|
||||
}
|
||||
|
||||
/* Button and Dropdown */
|
||||
.ui.action.input > .dropdown:first-child,
|
||||
.ui.action.input > .button:first-child,
|
||||
.ui.action.input > .buttons:first-child > .button {
|
||||
border-radius: @borderRadius 0 0 @borderRadius;
|
||||
}
|
||||
.ui.action.input > .dropdown:not(:first-child),
|
||||
.ui.action.input > .button:not(:first-child),
|
||||
.ui.action.input > .buttons:not(:first-child) > .button {
|
||||
border-radius: 0;
|
||||
}
|
||||
.ui.action.input > .dropdown:last-child,
|
||||
.ui.action.input > .button:last-child,
|
||||
.ui.action.input > .buttons:last-child > .button {
|
||||
border-radius: 0 @borderRadius @borderRadius 0;
|
||||
}
|
||||
|
||||
/* Input Focus */
|
||||
.ui.action.input:not([class*="left action"]) > input:focus {
|
||||
border-right-color: @focusBorderColor;
|
||||
}
|
||||
|
||||
.ui.ui[class*="left action"].input > input:focus {
|
||||
border-left-color: @focusBorderColor;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationInputInverted) {
|
||||
/*--------------------
|
||||
Inverted
|
||||
---------------------*/
|
||||
|
||||
/* Standard */
|
||||
.ui.inverted.input > input {
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationInputFluid) {
|
||||
/*--------------------
|
||||
Fluid
|
||||
---------------------*/
|
||||
|
||||
.ui.fluid.input {
|
||||
display: flex;
|
||||
}
|
||||
.ui.fluid.input > input {
|
||||
width: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------------
|
||||
Size
|
||||
---------------------*/
|
||||
|
||||
.ui.input {
|
||||
font-size: @relativeMedium;
|
||||
}
|
||||
& when not (@variationInputSizes = false) {
|
||||
each(@variationInputSizes, {
|
||||
@s: @{value}InputSize;
|
||||
.ui.@{value}.input {
|
||||
font-size: @@s;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
1032
assets/semantic-ui/definitions/elements/label.less
Normal file
1032
assets/semantic-ui/definitions/elements/label.less
Normal file
File diff suppressed because it is too large
Load diff
1021
assets/semantic-ui/definitions/elements/list.less
Normal file
1021
assets/semantic-ui/definitions/elements/list.less
Normal file
File diff suppressed because it is too large
Load diff
416
assets/semantic-ui/definitions/elements/loader.less
Normal file
416
assets/semantic-ui/definitions/elements/loader.less
Normal file
|
|
@ -0,0 +1,416 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Loader
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'element';
|
||||
@element : 'loader';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Loader
|
||||
*******************************/
|
||||
|
||||
|
||||
/* Standard Size */
|
||||
.ui.loader {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: @loaderTopOffset;
|
||||
left: @loaderLeftOffset;
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
z-index: 1000;
|
||||
transform: translateX(-50%) translateY(-50%);
|
||||
}
|
||||
|
||||
/* Static Shape */
|
||||
.ui.loader:before {
|
||||
position: absolute;
|
||||
content: '';
|
||||
top: 0;
|
||||
left: 50%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
border-radius: @circularRadius;
|
||||
border: @loaderLineWidth solid @loaderFillColor;
|
||||
}
|
||||
|
||||
/* Active Shape */
|
||||
.ui.loader:after {
|
||||
position: absolute;
|
||||
content: '';
|
||||
top: 0;
|
||||
left: 50%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
animation: loader @loaderSpeed infinite linear;
|
||||
border: @loaderLineWidth solid @shapeBorderColor;
|
||||
border-radius: @circularRadius;
|
||||
|
||||
box-shadow: 0 0 0 1px transparent;
|
||||
}
|
||||
|
||||
& when (@variationLoaderSpeeds) {
|
||||
/* Speeds */
|
||||
|
||||
.ui.fast.loading.loading:after,
|
||||
.ui.fast.loading.loading .input > i.icon:after,
|
||||
.ui.fast.loading.loading > i.icon:after,
|
||||
.ui.fast.loader:after {
|
||||
animation-duration: @loaderSpeedFast;
|
||||
}
|
||||
|
||||
.ui.slow.loading.loading:after,
|
||||
.ui.slow.loading.loading .input > i.icon:after,
|
||||
.ui.slow.loading.loading > i.icon:after,
|
||||
.ui.slow.loader:after {
|
||||
animation-duration: @loaderSpeedSlow;
|
||||
}
|
||||
}
|
||||
|
||||
/* Active Animation */
|
||||
@keyframes loader {
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------
|
||||
Coupling
|
||||
--------------------*/
|
||||
|
||||
/* Show inside active dimmer */
|
||||
.ui.dimmer > .loader {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Black Dimmer */
|
||||
.ui.dimmer > .ui.loader {
|
||||
color: @invertedLoaderTextColor;
|
||||
}
|
||||
.ui.dimmer > .ui.loader:not(.elastic):before {
|
||||
border-color: @invertedLoaderFillColor;
|
||||
}
|
||||
|
||||
/* White Dimmer (Inverted) */
|
||||
.ui.inverted.dimmer > .ui.loader {
|
||||
color: @loaderTextColor;
|
||||
}
|
||||
.ui.inverted.dimmer > .ui.loader:not(.elastic):before {
|
||||
border-color: @loaderFillColor;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Types
|
||||
*******************************/
|
||||
|
||||
& when (@variationLoaderText) {
|
||||
/*-------------------
|
||||
Text
|
||||
--------------------*/
|
||||
|
||||
.ui.ui.ui.ui.text.loader {
|
||||
width: auto;
|
||||
height: auto;
|
||||
text-align: center;
|
||||
font-style: normal;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
& when (@variationLoaderIndeterminate) {
|
||||
.ui.indeterminate.loader:after {
|
||||
animation-direction: @indeterminateDirection;
|
||||
animation-duration: @indeterminateSpeed;
|
||||
}
|
||||
}
|
||||
|
||||
.ui.loader.active,
|
||||
.ui.loader.visible {
|
||||
display: block;
|
||||
}
|
||||
.ui.loader.disabled,
|
||||
.ui.loader.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
|
||||
/*-------------------
|
||||
Sizes
|
||||
--------------------*/
|
||||
|
||||
.ui.loader {
|
||||
width: @medium;
|
||||
height: @medium;
|
||||
font-size: @mediumFontSize;
|
||||
}
|
||||
.ui.loader:before,
|
||||
.ui.loader:after {
|
||||
width: @medium;
|
||||
height: @medium;
|
||||
margin: @mediumOffset;
|
||||
}
|
||||
& when (@variationLoaderText) {
|
||||
.ui.text.loader {
|
||||
min-width: @medium;
|
||||
padding-top: (@medium + @textDistance);
|
||||
}
|
||||
}
|
||||
& when not (@variationLoaderSizes = false) {
|
||||
each(@variationLoaderSizes, {
|
||||
@o: @{value}Offset;
|
||||
@f: @{value}FontSize;
|
||||
@s: @@value;
|
||||
.ui.@{value}.loader {
|
||||
width: @s;
|
||||
height: @s;
|
||||
font-size: @@f;
|
||||
}
|
||||
.ui.@{value}.loader:before,
|
||||
.ui.@{value}.loader:after {
|
||||
width: @s;
|
||||
height: @s;
|
||||
margin: @@o;
|
||||
}
|
||||
& when (@variationLoaderText) {
|
||||
.ui.@{value}.text.loader {
|
||||
min-width: @s;
|
||||
padding-top: (@s + @textDistance);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/*-------------------
|
||||
Colors
|
||||
--------------------*/
|
||||
|
||||
each(@colors, {
|
||||
@color: replace(@key, '@', '');
|
||||
@c: @colors[@@color][color];
|
||||
@l: @colors[@@color][light];
|
||||
|
||||
.ui.@{color}.elastic.loader.loader:before,
|
||||
.ui.@{color}.basic.elastic.loading.button:before,
|
||||
.ui.@{color}.basic.elastic.loading.button:after,
|
||||
.ui.@{color}.elastic.loading.loading.loading:not(.segment):before,
|
||||
.ui.@{color}.elastic.loading.loading.loading .input > i.icon:before,
|
||||
.ui.@{color}.elastic.loading.loading.loading.loading > i.icon:before,
|
||||
.ui.@{color}.loading.loading.loading.loading:not(.usual):not(.button):after,
|
||||
.ui.@{color}.loading.loading.loading.loading .input > i.icon:after,
|
||||
.ui.@{color}.loading.loading.loading.loading > i.icon:after,
|
||||
.ui.@{color}.loader.loader.loader:after {
|
||||
color: @c;
|
||||
}
|
||||
.ui.inverted.@{color}.elastic.loader:before,
|
||||
.ui.inverted.@{color}.elastic.loading.loading.loading:not(.segment):before,
|
||||
.ui.inverted.@{color}.elastic.loading.loading.loading .input > i.icon:before,
|
||||
.ui.inverted.@{color}.elastic.loading.loading.loading > i.icon:before,
|
||||
.ui.inverted.@{color}.loading.loading.loading.loading:not(.usual):after,
|
||||
.ui.inverted.@{color}.loading.loading.loading.loading .input > i.icon:after,
|
||||
.ui.inverted.@{color}.loading.loading.loading.loading > i.icon:after,
|
||||
.ui.inverted.@{color}.loader.loader.loader:after {
|
||||
color: @l;
|
||||
}
|
||||
})
|
||||
|
||||
.ui.elastic.loader.loader:before,
|
||||
.ui.elastic.loading.loading.loading:before,
|
||||
.ui.elastic.loading.loading.loading .input > i.icon:before,
|
||||
.ui.elastic.loading.loading.loading > i.icon:before,
|
||||
.ui.loading.loading.loading.loading:not(.usual):after,
|
||||
.ui.loading.loading.loading.loading .input > i.icon:after,
|
||||
.ui.loading.loading.loading.loading > i.icon:after,
|
||||
.ui.loader.loader.loader:after {
|
||||
border-color: currentColor;
|
||||
}
|
||||
.ui.elastic.loading.loading.loading.loading.button:not(.inverted):not(.basic):before {
|
||||
color: @invertedLoaderLineColor;
|
||||
}
|
||||
.ui.elastic.basic.loading.button:before,
|
||||
.ui.elastic.basic.loading.button:after {
|
||||
color: @loaderLineColor;
|
||||
}
|
||||
.ui.double.loading.loading.loading.loading.button:after {
|
||||
border-bottom-color: currentColor;
|
||||
}
|
||||
|
||||
& when (@variationLoaderInline) {
|
||||
/*-------------------
|
||||
Inline
|
||||
--------------------*/
|
||||
|
||||
.ui.inline.loader {
|
||||
position: relative;
|
||||
vertical-align: @inlineVerticalAlign;
|
||||
margin: @inlineMargin;
|
||||
left: 0;
|
||||
top: 0;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.ui.inline.loader.active,
|
||||
.ui.inline.loader.visible {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/* Centered Inline */
|
||||
.ui.centered.inline.loader.active,
|
||||
.ui.centered.inline.loader.visible {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.ui.loading.loading.loading.loading.loading.loading:after,
|
||||
.ui.loading.loading.loading.loading.loading.loading .input > i.icon:after,
|
||||
.ui.loading.loading.loading.loading.loading.loading > i.icon:after,
|
||||
.ui.loader.loader.loader.loader.loader:after {
|
||||
border-left-color:transparent;
|
||||
border-right-color:transparent;
|
||||
}
|
||||
.ui.loading.loading.loading.loading.loading.loading.loading:not(.double):after,
|
||||
.ui.loading.loading.loading.loading.loading.loading.loading:not(.double) .input > i.icon:after,
|
||||
.ui.loading.loading.loading.loading.loading.loading.loading:not(.double) > i.icon:after,
|
||||
.ui.loader.loader.loader.loader.loader.loader:not(.double):after {
|
||||
border-bottom-color: transparent;
|
||||
}
|
||||
.ui.loading.loading.loading.loading.loading.loading.segment:after,
|
||||
.ui.loading.loading.loading.loading.loading.loading.form:after {
|
||||
border-left-color:@loaderFillColor;
|
||||
border-right-color:@loaderFillColor;
|
||||
}
|
||||
.ui.loading.loading.loading.loading.loading.loading.segment:not(.double):after,
|
||||
.ui.loading.loading.loading.loading.loading.loading.form:not(.double):after {
|
||||
border-bottom-color: @loaderFillColor;
|
||||
}
|
||||
|
||||
& when (@variationLoaderElastic) {
|
||||
/*-------------------
|
||||
Elastic
|
||||
--------------------*/
|
||||
|
||||
.ui.dimmer > .ui.elastic.loader {
|
||||
color: @invertedLoaderLineColor;
|
||||
}
|
||||
.ui.inverted.dimmer > .ui.elastic.loader {
|
||||
color: @loaderLineColor;
|
||||
}
|
||||
.ui.elastic.loading.loading:not(.form):not(.segment):after,
|
||||
.ui.elastic.loading.loading .input > i.icon:after,
|
||||
.ui.elastic.loading.loading > i.icon:after,
|
||||
.ui.elastic.loader.loader:after {
|
||||
animation: loader 1s infinite cubic-bezier(.27, 1.05, .92, .61);
|
||||
animation-delay: 0.3s;
|
||||
}
|
||||
.ui.elastic.loading.loading.loading:not(.form):not(.segment):before,
|
||||
.ui.elastic.loading.loading.loading .input > i.icon:before,
|
||||
.ui.elastic.loading.loading.loading > i.icon:before,
|
||||
.ui.elastic.loader.loader:before {
|
||||
animation: elastic-loader 1s infinite cubic-bezier(.27, 1.05, .92, .61);
|
||||
-moz-animation: currentcolor-elastic-loader 1s infinite cubic-bezier(.27, 1.05, .92, .61);
|
||||
border-right-color: transparent;
|
||||
}
|
||||
& when (@variationLoaderInline) {
|
||||
.ui.elastic.inline.loader:empty {
|
||||
animation: loader 8s infinite linear;
|
||||
}
|
||||
}
|
||||
& when (@variationLoaderSpeeds) {
|
||||
.ui.slow.elastic.loading.loading:not(.form):not(.segment):after,
|
||||
.ui.slow.elastic.loading.loading .input > i.icon:after,
|
||||
.ui.slow.elastic.loading.loading > i.icon:after,
|
||||
.ui.slow.elastic.loader.loader:after {
|
||||
animation-duration: 1.5s;
|
||||
animation-delay: 0.45s;
|
||||
}
|
||||
.ui.slow.elastic.loading.loading.loading:not(.form):not(.segment):before,
|
||||
.ui.slow.elastic.loading.loading.loading .input > i.icon:before,
|
||||
.ui.slow.elastic.loading.loading.loading > i.icon:before,
|
||||
.ui.slow.elastic.loader.loader:before {
|
||||
animation-duration: 1.5s;
|
||||
}
|
||||
.ui.fast.elastic.loading.loading:not(.form):not(.segment):after,
|
||||
.ui.fast.elastic.loading.loading .input > i.icon:after,
|
||||
.ui.fast.elastic.loading.loading > i.icon:after,
|
||||
.ui.fast.elastic.loader.loader:after {
|
||||
animation-duration: 0.66s;
|
||||
animation-delay: 0.20s;
|
||||
}
|
||||
.ui.fast.elastic.loading.loading.loading:not(.form):not(.segment):before,
|
||||
.ui.fast.elastic.loading.loading.loading .input > i.icon:before,
|
||||
.ui.fast.elastic.loading.loading.loading > i.icon:before,
|
||||
.ui.fast.elastic.loader.loader:before {
|
||||
animation-duration: 0.66s;
|
||||
}
|
||||
}
|
||||
@keyframes elastic-loader {
|
||||
0%, 1% {
|
||||
border-left-color: transparent;
|
||||
border-bottom-color: transparent
|
||||
}
|
||||
1.1%, 50% {
|
||||
border-left-color: inherit;
|
||||
}
|
||||
10%, 35.1%{
|
||||
border-bottom-color: transparent;
|
||||
}
|
||||
10.1%, 35%{
|
||||
border-bottom-color: inherit;
|
||||
}
|
||||
50.1%{
|
||||
border-left-color: transparent;
|
||||
}
|
||||
100% {
|
||||
border-left-color: transparent;
|
||||
border-bottom-color: transparent;
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes currentcolor-elastic-loader {
|
||||
0%, 1% {
|
||||
border-left-color: transparent;
|
||||
border-bottom-color: transparent
|
||||
}
|
||||
1.1%, 50% {
|
||||
border-left-color: currentColor;
|
||||
}
|
||||
10%, 35.1%{
|
||||
border-bottom-color: transparent;
|
||||
}
|
||||
10.1%, 35%{
|
||||
border-bottom-color: currentColor;
|
||||
}
|
||||
50.1%{
|
||||
border-left-color: transparent;
|
||||
}
|
||||
100% {
|
||||
border-left-color: transparent;
|
||||
border-bottom-color: transparent;
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
248
assets/semantic-ui/definitions/elements/placeholder.less
Normal file
248
assets/semantic-ui/definitions/elements/placeholder.less
Normal file
|
|
@ -0,0 +1,248 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Loader
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'element';
|
||||
@element : 'placeholder';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*-------------------
|
||||
Content
|
||||
--------------------*/
|
||||
|
||||
.ui.placeholder {
|
||||
position: static;
|
||||
overflow: hidden;
|
||||
animation: placeholderShimmer @placeholderLoadingAnimationDuration linear;
|
||||
animation-iteration-count: infinite;
|
||||
background-color: @white;
|
||||
background-image: @placeholderLoadingGradient;
|
||||
background-size: @placeholderLoadingGradientWidth 100%;
|
||||
max-width: @placeholderMaxWidth;
|
||||
}
|
||||
|
||||
@keyframes placeholderShimmer{
|
||||
0% {
|
||||
background-position: -@placeholderLoadingGradientWidth 0
|
||||
}
|
||||
100% {
|
||||
background-position: @placeholderLoadingGradientWidth 0
|
||||
}
|
||||
}
|
||||
|
||||
.ui.placeholder + .ui.placeholder {
|
||||
margin-top: @consecutivePlaceholderSpacing;
|
||||
}
|
||||
.ui.placeholder + .ui.placeholder {
|
||||
animation-delay: @placeholderAnimationInterval;
|
||||
}
|
||||
.ui.placeholder + .ui.placeholder + .ui.placeholder {
|
||||
animation-delay: (@placeholderAnimationInterval * 2);
|
||||
}
|
||||
.ui.placeholder + .ui.placeholder + .ui.placeholder + .ui.placeholder {
|
||||
animation-delay: (@placeholderAnimationInterval * 3);
|
||||
}
|
||||
.ui.placeholder + .ui.placeholder + .ui.placeholder + .ui.placeholder + .ui.placeholder {
|
||||
animation-delay: (@placeholderAnimationInterval * 4);
|
||||
}
|
||||
|
||||
.ui.placeholder,
|
||||
.ui.placeholder > :before,
|
||||
.ui.placeholder .image.header:after,
|
||||
.ui.placeholder .line,
|
||||
.ui.placeholder .line:after {
|
||||
background-color: @white;
|
||||
}
|
||||
|
||||
.ui.placeholder.hidden {
|
||||
display:none;
|
||||
}
|
||||
|
||||
& when (@variationPlaceholderImage) {
|
||||
/* Image */
|
||||
.ui.placeholder .image:not(.header):not(.ui):not(.icon) {
|
||||
height: @placeholderImageHeight;
|
||||
}
|
||||
.ui.placeholder .square.image:not(.header) {
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
/* 1/1 aspect ratio */
|
||||
padding-top: 100%;
|
||||
}
|
||||
.ui.placeholder .rectangular.image:not(.header) {
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
/* 4/3 aspect ratio */
|
||||
padding-top: 75%;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationPlaceholderLine) or (@variationPlaceholderHeader) {
|
||||
/* Lines */
|
||||
.ui.placeholder .line {
|
||||
position: relative;
|
||||
height: @placeholderLineMargin;
|
||||
}
|
||||
.ui.placeholder .line:before,
|
||||
.ui.placeholder .line:after {
|
||||
top: 100%;
|
||||
position: absolute;
|
||||
content: '';
|
||||
background-color: inherit;
|
||||
}
|
||||
.ui.placeholder .line:before {
|
||||
left: 0;
|
||||
}
|
||||
.ui.placeholder .line:after {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
/* Any Lines */
|
||||
.ui.placeholder .line {
|
||||
margin-bottom: @placeholderLineHeight;
|
||||
}
|
||||
.ui.placeholder .line:before,
|
||||
.ui.placeholder .line:after {
|
||||
height: @placeholderLineHeight;
|
||||
}
|
||||
.ui.placeholder .line:not(:first-child) {
|
||||
margin-top: @placeholderLineHeight;
|
||||
}
|
||||
|
||||
/* Line Outdent */
|
||||
.ui.placeholder .line:nth-child(1):after {
|
||||
width: @placeholderLineOneOutdent;
|
||||
}
|
||||
.ui.placeholder .line:nth-child(2):after {
|
||||
width: @placeholderLineTwoOutdent;
|
||||
}
|
||||
.ui.placeholder .line:nth-child(3):after {
|
||||
width: @placeholderLineThreeOutdent;
|
||||
}
|
||||
.ui.placeholder .line:nth-child(4):after {
|
||||
width: @placeholderLineFourOutdent;
|
||||
}
|
||||
.ui.placeholder .line:nth-child(5):after {
|
||||
width: @placeholderLineFiveOutdent;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationPlaceholderHeader) {
|
||||
/* Header Image + 2 Lines */
|
||||
.ui.placeholder .header {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
/* Header Line 1 & 2*/
|
||||
.ui.placeholder .header .line {
|
||||
margin-bottom: @placeholderHeaderLineHeight;
|
||||
}
|
||||
.ui.placeholder .header .line:before,
|
||||
.ui.placeholder .header .line:after {
|
||||
height: @placeholderHeaderLineHeight;
|
||||
}
|
||||
.ui.placeholder .header .line:not(:first-child) {
|
||||
margin-top: @placeholderHeaderLineHeight;
|
||||
}
|
||||
.ui.placeholder .header .line:after {
|
||||
width: @placeholderHeaderLineOneOutdent;
|
||||
}
|
||||
.ui.placeholder .header .line:nth-child(2):after {
|
||||
width: @placeholderHeaderLineTwoOutdent;
|
||||
}
|
||||
|
||||
& when (@variationPlaceholderImage) {
|
||||
/* Image Header */
|
||||
.ui.placeholder .image.header .line {
|
||||
margin-left: @placeholderImageWidth;
|
||||
}
|
||||
.ui.placeholder .image.header .line:before {
|
||||
width: @placeholderImageTextIndent;
|
||||
}
|
||||
.ui.placeholder .image.header:after {
|
||||
display: block;
|
||||
height: @placeholderLineMargin;
|
||||
content: '';
|
||||
margin-left: @placeholderImageWidth;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Spacing */
|
||||
.ui.placeholder .image .line:first-child,
|
||||
.ui.placeholder .paragraph .line:first-child,
|
||||
.ui.placeholder .header .line:first-child {
|
||||
height: 0.01px;
|
||||
}
|
||||
.ui.placeholder .image:not(:first-child):before,
|
||||
.ui.placeholder .paragraph:not(:first-child):before,
|
||||
.ui.placeholder .header:not(:first-child):before {
|
||||
height: @placeholderSpacing;
|
||||
content: '';
|
||||
display: block;
|
||||
}
|
||||
|
||||
& when (@variationPlaceholderInverted) {
|
||||
/* Inverted Content Loader */
|
||||
.ui.inverted.placeholder {
|
||||
background-image: @placeholderInvertedLoadingGradient;
|
||||
}
|
||||
.ui.inverted.placeholder,
|
||||
.ui.inverted.placeholder > :before,
|
||||
.ui.inverted.placeholder .image.header:after,
|
||||
.ui.inverted.placeholder .line,
|
||||
.ui.inverted.placeholder .line:after {
|
||||
background-color: @black;
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
|
||||
/*-------------------
|
||||
Sizes
|
||||
--------------------*/
|
||||
& when (@variationPlaceholderLengths) {
|
||||
.ui.placeholder .full.line.line.line:after {
|
||||
width: @placeholderFullLineOutdent;
|
||||
}
|
||||
.ui.placeholder .very.long.line.line.line:after {
|
||||
width: @placeholderVeryLongLineOutdent;
|
||||
}
|
||||
.ui.placeholder .long.line.line.line:after {
|
||||
width: @placeholderLongLineOutdent;
|
||||
}
|
||||
.ui.placeholder .medium.line.line.line:after {
|
||||
width: @placeholderMediumLineOutdent;
|
||||
}
|
||||
.ui.placeholder .short.line.line.line:after {
|
||||
width: @placeholderShortLineOutdent;
|
||||
}
|
||||
.ui.placeholder .very.short.line.line.line:after {
|
||||
width: @placeholderVeryShortLineOutdent;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationPlaceholderFluid) {
|
||||
/*-------------------
|
||||
Fluid
|
||||
--------------------*/
|
||||
|
||||
.ui.fluid.placeholder {
|
||||
max-width: none;
|
||||
}
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
147
assets/semantic-ui/definitions/elements/rail.less
Normal file
147
assets/semantic-ui/definitions/elements/rail.less
Normal file
|
|
@ -0,0 +1,147 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Rail
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'element';
|
||||
@element : 'rail';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Rails
|
||||
*******************************/
|
||||
|
||||
.ui.rail {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
width: @width;
|
||||
height: @height;
|
||||
}
|
||||
|
||||
.ui.left.rail {
|
||||
left: auto;
|
||||
right: 100%;
|
||||
padding: 0 @splitDistance 0 0;
|
||||
margin: 0 @splitDistance 0 0;
|
||||
}
|
||||
|
||||
.ui.right.rail {
|
||||
left: 100%;
|
||||
right: auto;
|
||||
padding: 0 0 0 @splitDistance;
|
||||
margin: 0 0 0 @splitDistance;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
& when (@variationRailInternal) {
|
||||
/*--------------
|
||||
Internal
|
||||
---------------*/
|
||||
|
||||
.ui.left.internal.rail {
|
||||
left: 0;
|
||||
right: auto;
|
||||
padding: 0 0 0 @splitDistance;
|
||||
margin: 0 0 0 @splitDistance;
|
||||
}
|
||||
|
||||
.ui.right.internal.rail {
|
||||
left: auto;
|
||||
right: 0;
|
||||
padding: 0 @splitDistance 0 0;
|
||||
margin: 0 @splitDistance 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationRailDividing) {
|
||||
/*--------------
|
||||
Dividing
|
||||
---------------*/
|
||||
|
||||
.ui.dividing.rail {
|
||||
width: @dividingWidth;
|
||||
}
|
||||
.ui.left.dividing.rail {
|
||||
padding: 0 @splitDividingDistance 0 0;
|
||||
margin: 0 @splitDividingDistance 0 0;
|
||||
border-right: @dividingBorder;
|
||||
}
|
||||
.ui.right.dividing.rail {
|
||||
border-left: @dividingBorder;
|
||||
padding: 0 0 0 @splitDividingDistance;
|
||||
margin: 0 0 0 @splitDividingDistance;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationRailDistance) {
|
||||
/*--------------
|
||||
Distance
|
||||
---------------*/
|
||||
|
||||
.ui.close.rail {
|
||||
width: @closeWidth;
|
||||
}
|
||||
.ui.close.left.rail {
|
||||
padding: 0 @splitCloseDistance 0 0;
|
||||
margin: 0 @splitCloseDistance 0 0;
|
||||
}
|
||||
.ui.close.right.rail {
|
||||
padding: 0 0 0 @splitCloseDistance;
|
||||
margin: 0 0 0 @splitCloseDistance;
|
||||
}
|
||||
|
||||
.ui.very.close.rail {
|
||||
width: @veryCloseWidth;
|
||||
}
|
||||
.ui.very.close.left.rail {
|
||||
padding: 0 @splitVeryCloseDistance 0 0;
|
||||
margin: 0 @splitVeryCloseDistance 0 0;
|
||||
}
|
||||
.ui.very.close.right.rail {
|
||||
padding: 0 0 0 @splitVeryCloseDistance;
|
||||
margin: 0 0 0 @splitVeryCloseDistance;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationRailAttached) {
|
||||
/*--------------
|
||||
Attached
|
||||
---------------*/
|
||||
|
||||
.ui.attached.left.rail,
|
||||
.ui.attached.right.rail {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Sizing
|
||||
---------------*/
|
||||
|
||||
.ui.rail {
|
||||
font-size: @medium;
|
||||
}
|
||||
& when not (@variationRailSizes = false) {
|
||||
each(@variationRailSizes, {
|
||||
@s: @@value;
|
||||
.ui.@{value}.rail {
|
||||
font-size: @s;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
289
assets/semantic-ui/definitions/elements/reveal.less
Normal file
289
assets/semantic-ui/definitions/elements/reveal.less
Normal file
|
|
@ -0,0 +1,289 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Reveal
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'element';
|
||||
@element : 'reveal';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Reveal
|
||||
*******************************/
|
||||
|
||||
.ui.reveal {
|
||||
display: inherit;
|
||||
position: relative !important;
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
.ui.reveal > .visible.content {
|
||||
position: absolute !important;
|
||||
top: 0 !important;
|
||||
left: 0 !important;
|
||||
z-index: @topZIndex !important;
|
||||
transition: @transition;
|
||||
}
|
||||
.ui.reveal > .hidden.content {
|
||||
position: relative !important;
|
||||
z-index: @bottomZIndex !important;
|
||||
}
|
||||
|
||||
/* Make sure hovered element is on top of other reveal */
|
||||
.ui.active.reveal .visible.content,
|
||||
.ui.reveal:hover .visible.content {
|
||||
z-index: @activeZIndex !important;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Types
|
||||
*******************************/
|
||||
|
||||
& when (@variationRevealSlide) {
|
||||
/*--------------
|
||||
Slide
|
||||
---------------*/
|
||||
|
||||
.ui.slide.reveal {
|
||||
position: relative !important;
|
||||
overflow: hidden !important;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.ui.slide.reveal > .content {
|
||||
display: block;
|
||||
width: 100%;
|
||||
white-space: normal;
|
||||
float: left;
|
||||
|
||||
margin: 0;
|
||||
transition: @slideTransition;
|
||||
}
|
||||
|
||||
.ui.slide.reveal > .visible.content {
|
||||
position: relative !important;
|
||||
}
|
||||
.ui.slide.reveal > .hidden.content {
|
||||
position: absolute !important;
|
||||
left: 0 !important;
|
||||
width: 100% !important;
|
||||
transform: translateX(100%) !important;
|
||||
}
|
||||
.ui.slide.active.reveal > .visible.content,
|
||||
.ui.slide.reveal:hover > .visible.content {
|
||||
transform: translateX(-100%) !important;
|
||||
}
|
||||
.ui.slide.active.reveal > .hidden.content,
|
||||
.ui.slide.reveal:hover > .hidden.content {
|
||||
transform: translateX(0%) !important;
|
||||
}
|
||||
|
||||
.ui.slide.right.reveal > .visible.content {
|
||||
transform: translateX(0%) !important;
|
||||
}
|
||||
.ui.slide.right.reveal > .hidden.content {
|
||||
transform: translateX(-100%) !important;
|
||||
}
|
||||
.ui.slide.right.active.reveal > .visible.content,
|
||||
.ui.slide.right.reveal:hover > .visible.content {
|
||||
transform: translateX(100%) !important;
|
||||
}
|
||||
.ui.slide.right.active.reveal > .hidden.content,
|
||||
.ui.slide.right.reveal:hover > .hidden.content {
|
||||
transform: translateX(0%) !important;
|
||||
}
|
||||
|
||||
.ui.slide.up.reveal > .hidden.content {
|
||||
transform: translateY(100%) !important;
|
||||
}
|
||||
.ui.slide.up.active.reveal > .visible.content,
|
||||
.ui.slide.up.reveal:hover > .visible.content {
|
||||
transform: translateY(-100%) !important;
|
||||
}
|
||||
.ui.slide.up.active.reveal > .hidden.content,
|
||||
.ui.slide.up.reveal:hover > .hidden.content {
|
||||
transform: translateY(0%) !important;
|
||||
}
|
||||
|
||||
.ui.slide.down.reveal > .hidden.content {
|
||||
transform: translateY(-100%) !important;
|
||||
}
|
||||
.ui.slide.down.active.reveal > .visible.content,
|
||||
.ui.slide.down.reveal:hover > .visible.content {
|
||||
transform: translateY(100%) !important;
|
||||
}
|
||||
.ui.slide.down.active.reveal > .hidden.content,
|
||||
.ui.slide.down.reveal:hover > .hidden.content {
|
||||
transform: translateY(0%) !important;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationRevealFade) {
|
||||
/*--------------
|
||||
Fade
|
||||
---------------*/
|
||||
|
||||
.ui.fade.reveal > .visible.content {
|
||||
opacity: 1;
|
||||
}
|
||||
.ui.fade.active.reveal > .visible.content,
|
||||
.ui.fade.reveal:hover > .visible.content {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationRevealMove) {
|
||||
/*--------------
|
||||
Move
|
||||
---------------*/
|
||||
|
||||
.ui.move.reveal {
|
||||
position: relative !important;
|
||||
overflow: hidden !important;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.ui.move.reveal > .content {
|
||||
display: block;
|
||||
float: left;
|
||||
white-space: normal;
|
||||
|
||||
margin: 0;
|
||||
transition: @moveTransition;
|
||||
}
|
||||
|
||||
.ui.move.reveal > .visible.content {
|
||||
position: relative !important;
|
||||
}
|
||||
.ui.move.reveal > .hidden.content {
|
||||
position: absolute !important;
|
||||
left: 0 !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
.ui.move.active.reveal > .visible.content,
|
||||
.ui.move.reveal:hover > .visible.content {
|
||||
transform: translateX(-100%) !important;
|
||||
}
|
||||
.ui.move.right.active.reveal > .visible.content,
|
||||
.ui.move.right.reveal:hover > .visible.content {
|
||||
transform: translateX(100%) !important;
|
||||
}
|
||||
.ui.move.up.active.reveal > .visible.content,
|
||||
.ui.move.up.reveal:hover > .visible.content {
|
||||
transform: translateY(-100%) !important;
|
||||
}
|
||||
.ui.move.down.active.reveal > .visible.content,
|
||||
.ui.move.down.reveal:hover > .visible.content {
|
||||
transform: translateY(100%) !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
& when (@variationRevealRotate) {
|
||||
/*--------------
|
||||
Rotate
|
||||
---------------*/
|
||||
|
||||
.ui.rotate.reveal > .visible.content {
|
||||
transition-duration: @transitionDuration;
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
.ui.rotate.reveal > .visible.content,
|
||||
.ui.rotate.right.reveal > .visible.content {
|
||||
transform-origin: bottom right;
|
||||
}
|
||||
.ui.rotate.active.reveal > .visible.content,
|
||||
.ui.rotate.reveal:hover > .visible.content,
|
||||
.ui.rotate.right.active.reveal > .visible.content,
|
||||
.ui.rotate.right.reveal:hover > .visible.content {
|
||||
transform: rotate(@rotateDegrees);
|
||||
}
|
||||
|
||||
.ui.rotate.left.reveal > .visible.content {
|
||||
transform-origin: bottom left;
|
||||
}
|
||||
.ui.rotate.left.active.reveal > .visible.content,
|
||||
.ui.rotate.left.reveal:hover > .visible.content {
|
||||
transform: rotate(-@rotateDegrees);
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
& when (@variationRevealDisabled) {
|
||||
.ui.disabled.reveal:hover > .visible.visible.content {
|
||||
position: static !important;
|
||||
display: block !important;
|
||||
opacity: 1 !important;
|
||||
top: 0 !important;
|
||||
left: 0 !important;
|
||||
right: auto !important;
|
||||
bottom: auto !important;
|
||||
transform: none !important;
|
||||
}
|
||||
.ui.disabled.reveal:hover > .hidden.hidden.content {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Coupling
|
||||
*******************************/
|
||||
|
||||
.ui.reveal > .ui.ribbon.label {
|
||||
z-index: @overlayZIndex;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
/*--------------
|
||||
Visible
|
||||
---------------*/
|
||||
|
||||
.ui.visible.reveal {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Instant
|
||||
---------------*/
|
||||
|
||||
.ui.instant.reveal > .content {
|
||||
transition-delay: 0s !important;
|
||||
}
|
||||
|
||||
|
||||
/*--------------
|
||||
Sizing
|
||||
---------------*/
|
||||
|
||||
.ui.reveal > .content {
|
||||
font-size: @medium;
|
||||
}
|
||||
& when not (@variationRevealSizes = false) {
|
||||
each(@variationRevealSizes, {
|
||||
@s: @@value;
|
||||
.ui.@{value}.reveal > .content {
|
||||
font-size: @s;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
768
assets/semantic-ui/definitions/elements/segment.less
Normal file
768
assets/semantic-ui/definitions/elements/segment.less
Normal file
|
|
@ -0,0 +1,768 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Segment
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'element';
|
||||
@element : 'segment';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Segment
|
||||
*******************************/
|
||||
|
||||
.ui.segment {
|
||||
position: relative;
|
||||
background: @background;
|
||||
box-shadow: @boxShadow;
|
||||
margin: @margin;
|
||||
padding: @padding;
|
||||
border-radius: @borderRadius;
|
||||
border: @border;
|
||||
}
|
||||
|
||||
.ui.segment:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
.ui.segment:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
& when (@variationSegmentVertical) {
|
||||
/* Vertical */
|
||||
.ui.vertical.segment {
|
||||
margin: 0;
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
|
||||
background: none transparent;
|
||||
border-radius: 0;
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
border-bottom: @borderWidth solid @borderColor;
|
||||
}
|
||||
.ui.vertical.segment:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------
|
||||
Loose Coupling
|
||||
--------------------*/
|
||||
& when (@variationSegmentInverted) {
|
||||
/* Header */
|
||||
.ui.inverted.segment > .ui.header .sub.header,
|
||||
.ui.inverted.segment > .ui.header {
|
||||
color: @white;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSegmentAttached) {
|
||||
/* Label */
|
||||
.ui[class*="bottom attached"].segment > [class*="top attached"].label {
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
}
|
||||
.ui[class*="top attached"].segment > [class*="bottom attached"].label {
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
.ui.attached.segment:not(.top):not(.bottom) > [class*="top attached"].label {
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
}
|
||||
.ui.attached.segment:not(.top):not(.bottom) > [class*="bottom attached"].label {
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* Grid */
|
||||
.ui.page.grid.segment,
|
||||
.ui.grid > .row > .ui.segment.column,
|
||||
.ui.grid > .ui.segment.column {
|
||||
padding-top: @pageGridMargin;
|
||||
padding-bottom: @pageGridMargin;
|
||||
}
|
||||
.ui.grid.segment {
|
||||
margin: @margin;
|
||||
border-radius: @borderRadius;
|
||||
}
|
||||
|
||||
/* Table */
|
||||
.ui.basic.table.segment {
|
||||
background: @background;
|
||||
border: @border;
|
||||
box-shadow: @boxShadow;
|
||||
}
|
||||
.ui[class*="very basic"].table.segment {
|
||||
padding: @padding;
|
||||
}
|
||||
|
||||
/* Tab */
|
||||
.ui.segment.tab:last-child {
|
||||
margin-bottom: @verticalMargin;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Types
|
||||
*******************************/
|
||||
|
||||
& when (@variationSegmentPlaceholder) {
|
||||
/*-------------------
|
||||
Placeholder
|
||||
--------------------*/
|
||||
|
||||
.ui.placeholder.segment {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: stretch;
|
||||
max-width: initial;
|
||||
animation: none;
|
||||
overflow: visible;
|
||||
padding: @placeholderPadding;
|
||||
min-height: @placeholderMinHeight;
|
||||
background: @placeholderBackground;
|
||||
border-color: @placeholderBorderColor;
|
||||
box-shadow: @placeholderBoxShadow;
|
||||
}
|
||||
|
||||
.ui.placeholder.segment .button,
|
||||
.ui.placeholder.segment textarea {
|
||||
display: block;
|
||||
}
|
||||
.ui.placeholder.segment .field,
|
||||
.ui.placeholder.segment textarea,
|
||||
.ui.placeholder.segment > .ui.input,
|
||||
.ui.placeholder.segment .button {
|
||||
max-width: @placeholderContentMaxWidth;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
.ui.placeholder.segment .column .button,
|
||||
.ui.placeholder.segment .column .field,
|
||||
.ui.placeholder.segment .column textarea,
|
||||
.ui.placeholder.segment .column > .ui.input {
|
||||
max-width: @placeholderContentMaxWidth;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.ui.placeholder.segment > .inline {
|
||||
align-self: center;
|
||||
}
|
||||
.ui.placeholder.segment > .inline > .button {
|
||||
display: inline-block;
|
||||
width: auto;
|
||||
margin: @placeholderContentInlineButtonMargin;
|
||||
}
|
||||
.ui.placeholder.segment > .inline > .button:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSegmentPiled) {
|
||||
/*-------------------
|
||||
Piled
|
||||
--------------------*/
|
||||
|
||||
.ui.piled.segments,
|
||||
.ui.piled.segment {
|
||||
margin: @piledMargin 0;
|
||||
box-shadow: @piledBoxShadow;
|
||||
z-index: @piledZIndex;
|
||||
}
|
||||
.ui.piled.segment:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
.ui.piled.segment:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.ui.piled.segments:after,
|
||||
.ui.piled.segments:before,
|
||||
.ui.piled.segment:after,
|
||||
.ui.piled.segment:before {
|
||||
background-color: @white;
|
||||
visibility: visible;
|
||||
content: '';
|
||||
display: block;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
border: @piledBorder;
|
||||
box-shadow: @piledBoxShadow;
|
||||
}
|
||||
.ui.piled.segments:before,
|
||||
.ui.piled.segment:before {
|
||||
transform: rotate(-@piledDegrees);
|
||||
top: 0;
|
||||
z-index: -2;
|
||||
}
|
||||
.ui.piled.segments:after,
|
||||
.ui.piled.segment:after {
|
||||
transform: rotate(@piledDegrees);
|
||||
top: 0;
|
||||
z-index: -1;
|
||||
}
|
||||
& when (@variationSegmentAttached) {
|
||||
/* Piled Attached */
|
||||
.ui[class*="top attached"].piled.segment {
|
||||
margin-top: @piledMargin;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.ui.piled.segment[class*="top attached"]:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
.ui.piled.segment[class*="bottom attached"] {
|
||||
margin-top: 0;
|
||||
margin-bottom: @piledMargin;
|
||||
}
|
||||
.ui.piled.segment[class*="bottom attached"]:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSegmentStacked) {
|
||||
/*-------------------
|
||||
Stacked
|
||||
--------------------*/
|
||||
|
||||
.ui.stacked.segment {
|
||||
padding-bottom: @stackedPadding;
|
||||
}
|
||||
.ui.stacked.segments:before,
|
||||
.ui.stacked.segments:after,
|
||||
.ui.stacked.segment:before,
|
||||
.ui.stacked.segment:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
bottom: -(@stackedHeight / 2);
|
||||
left: 0;
|
||||
|
||||
border-top: 1px solid @borderColor;
|
||||
background: @stackedPageBackground;
|
||||
|
||||
width: 100%;
|
||||
height: @stackedHeight;
|
||||
visibility: visible;
|
||||
}
|
||||
.ui.stacked.segments:before,
|
||||
.ui.stacked.segment:before {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Add additional page */
|
||||
.ui.tall.stacked.segments:before,
|
||||
.ui.tall.stacked.segment:before {
|
||||
display: block;
|
||||
bottom: 0;
|
||||
}
|
||||
& when (@variationSegmentInverted) {
|
||||
/* Inverted */
|
||||
.ui.stacked.inverted.segments:before,
|
||||
.ui.stacked.inverted.segments:after,
|
||||
.ui.stacked.inverted.segment:before,
|
||||
.ui.stacked.inverted.segment:after {
|
||||
background-color: @subtleTransparentBlack;
|
||||
border-top: 1px solid @selectedBorderColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSegmentPadded) {
|
||||
/*-------------------
|
||||
Padded
|
||||
--------------------*/
|
||||
|
||||
.ui.padded.segment {
|
||||
padding: @paddedSegmentPadding;
|
||||
}
|
||||
|
||||
.ui[class*="very padded"].segment {
|
||||
padding: @veryPaddedSegmentPadding;
|
||||
}
|
||||
|
||||
& when (@variationSegmentVertical) {
|
||||
/* Padded vertical */
|
||||
.ui.padded.segment.vertical.segment,
|
||||
.ui[class*="very padded"].vertical.segment {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSegmentCompact) {
|
||||
/*-------------------
|
||||
Compact
|
||||
--------------------*/
|
||||
|
||||
.ui.compact.segment {
|
||||
display: table;
|
||||
}
|
||||
|
||||
/* Compact Group */
|
||||
.ui.compact.segments {
|
||||
display: inline-flex;
|
||||
}
|
||||
.ui.compact.segments .segment,
|
||||
.ui.segments .compact.segment {
|
||||
display: block;
|
||||
flex: 0 1 auto;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSegmentCircular) {
|
||||
/*-------------------
|
||||
Circular
|
||||
--------------------*/
|
||||
|
||||
.ui.circular.segment {
|
||||
display: table-cell;
|
||||
padding: @circularPadding;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
border-radius: 500em;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSegmentRaised) {
|
||||
/*-------------------
|
||||
Raised
|
||||
--------------------*/
|
||||
|
||||
.ui.raised.raised.segments,
|
||||
.ui.raised.raised.segment {
|
||||
box-shadow: @raisedBoxShadow;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSegmentGroups) {
|
||||
/*******************************
|
||||
Groups
|
||||
*******************************/
|
||||
|
||||
/* Group */
|
||||
.ui.segments {
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
margin: @groupedMargin;
|
||||
border: @groupedBorder;
|
||||
box-shadow: @groupedBoxShadow;
|
||||
border-radius: @groupedBorderRadius;
|
||||
}
|
||||
.ui.segments:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
.ui.segments:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
/* Nested Segment */
|
||||
.ui.segments > .segment {
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
border-radius: 0;
|
||||
margin: @groupedSegmentMargin;
|
||||
width: @groupedSegmentWidth;
|
||||
box-shadow: @groupedSegmentBoxShadow;
|
||||
border: @groupedSegmentBorder;
|
||||
border-top: @groupedSegmentDivider;
|
||||
}
|
||||
|
||||
.ui.segments:not(.horizontal) > .segment:first-child {
|
||||
top: @attachedTopOffset;
|
||||
bottom: 0;
|
||||
border-top: none;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
border-radius: @borderRadius @borderRadius 0 0;
|
||||
}
|
||||
|
||||
/* Bottom */
|
||||
.ui.segments:not(.horizontal) > .segment:last-child {
|
||||
top: @attachedBottomOffset;
|
||||
bottom: 0;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
box-shadow: @attachedBottomBoxShadow;
|
||||
border-radius: 0 0 @borderRadius @borderRadius;
|
||||
}
|
||||
|
||||
/* Only */
|
||||
.ui.segments:not(.horizontal) > .segment:only-child {
|
||||
border-radius: @borderRadius;
|
||||
}
|
||||
|
||||
|
||||
/* Nested Group */
|
||||
.ui.segments > .ui.segments {
|
||||
border-top: @groupedSegmentDivider;
|
||||
margin: @nestedGroupMargin;
|
||||
}
|
||||
.ui.segments > .segments:first-child {
|
||||
border-top: none;
|
||||
}
|
||||
.ui.segments > .segment + .segments:not(.horizontal) {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
& when (@variationSegmentHorizontal) {
|
||||
/* Horizontal Group */
|
||||
.ui.horizontal.segments {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
background-color: transparent;
|
||||
padding: 0;
|
||||
box-shadow: @boxShadow;
|
||||
margin: @margin;
|
||||
border-radius: @borderRadius;
|
||||
border: @border;
|
||||
}
|
||||
.ui.stackable.horizontal.segments {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
/* Nested Horizontal Group */
|
||||
.ui.segments > .horizontal.segments {
|
||||
margin: 0;
|
||||
background-color: transparent;
|
||||
border-radius: 0;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
border-top: @groupedSegmentDivider;
|
||||
}
|
||||
|
||||
/* Horizontal Segment */
|
||||
.ui.horizontal.segments:not(.compact) > .segment:not(.compact) {
|
||||
flex: 1 1 auto;
|
||||
-ms-flex: 1 1 0; /* Solves #2550 MS Flex */
|
||||
}
|
||||
.ui.horizontal.segments > .segment {
|
||||
margin: 0;
|
||||
min-width: 0;
|
||||
border-radius: 0;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
border-left: @borderWidth solid @borderColor;
|
||||
}
|
||||
|
||||
/* Border Fixes */
|
||||
.ui.segments > .horizontal.segments:first-child {
|
||||
border-top: none;
|
||||
}
|
||||
.ui.horizontal.segments:not(.stackable) > .segment:first-child {
|
||||
border-left: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
& when (@variationSegmentDisabled) {
|
||||
/*--------------
|
||||
Disabled
|
||||
---------------*/
|
||||
|
||||
.ui.disabled.segment {
|
||||
opacity: @disabledOpacity;
|
||||
color: @disabledTextColor;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSegmentLoading) {
|
||||
/*--------------
|
||||
Loading
|
||||
---------------*/
|
||||
|
||||
.ui.loading.segment {
|
||||
position: relative;
|
||||
cursor: default;
|
||||
pointer-events: none;
|
||||
text-shadow: none !important;
|
||||
transition: all 0s linear;
|
||||
}
|
||||
.ui.loading.segment:before {
|
||||
position: absolute;
|
||||
content: '';
|
||||
top: 0;
|
||||
left: 0;
|
||||
background: @loaderDimmerColor;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: @borderRadius;
|
||||
z-index: @loaderDimmerZIndex;
|
||||
}
|
||||
.ui.loading.segment:after {
|
||||
position: absolute;
|
||||
content: '';
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
|
||||
margin: @loaderMargin;
|
||||
width: @loaderSize;
|
||||
height: @loaderSize;
|
||||
|
||||
animation: loader @loaderSpeed infinite linear;
|
||||
border: @loaderLineWidth solid @loaderLineColor;
|
||||
border-radius: @circularRadius;
|
||||
|
||||
box-shadow: 0 0 0 1px transparent;
|
||||
visibility: visible;
|
||||
z-index: @loaderLineZIndex;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
& when (@variationSegmentBasic) {
|
||||
/*-------------------
|
||||
Basic
|
||||
--------------------*/
|
||||
|
||||
.ui.basic.segment,
|
||||
.ui.segments .ui.basic.segment,
|
||||
.ui.basic.segments {
|
||||
background: @basicBackground;
|
||||
box-shadow: @basicBoxShadow;
|
||||
border: @basicBorder;
|
||||
border-radius: @basicBorderRadius;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSegmentClearing) {
|
||||
/*-------------------
|
||||
Clearing
|
||||
--------------------*/
|
||||
|
||||
.ui.clearing.segment:after {
|
||||
content: "";
|
||||
display: block;
|
||||
clear: both;
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------
|
||||
Colors
|
||||
--------------------*/
|
||||
|
||||
each(@colors,{
|
||||
@color: replace(@key,'@','');
|
||||
@c: @colors[@@color][color];
|
||||
& when not (@color=primary) and not (@color=secondary) {
|
||||
.ui.@{color}.segment.segment.segment.segment.segment:not(.inverted) {
|
||||
border-top: @coloredBorderSize solid @c;
|
||||
}
|
||||
& when (@variationSegmentInverted) {
|
||||
.ui.inverted.@{color}.segment.segment.segment.segment.segment {
|
||||
background-color: @c;
|
||||
color: @white;
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
& when (@variationSegmentAligned) {
|
||||
/*-------------------
|
||||
Aligned
|
||||
--------------------*/
|
||||
|
||||
.ui[class*="left aligned"].segment {
|
||||
text-align: left;
|
||||
}
|
||||
.ui[class*="right aligned"].segment {
|
||||
text-align: right;
|
||||
}
|
||||
.ui[class*="center aligned"].segment {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSegmentFloating) {
|
||||
/*-------------------
|
||||
Floated
|
||||
--------------------*/
|
||||
|
||||
.ui.floated.segment,
|
||||
.ui[class*="left floated"].segment {
|
||||
float: left;
|
||||
margin-right: @floatedDistance;
|
||||
}
|
||||
.ui[class*="right floated"].segment {
|
||||
float: right;
|
||||
margin-left: @floatedDistance;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSegmentInverted) {
|
||||
/*-------------------
|
||||
Inverted
|
||||
--------------------*/
|
||||
|
||||
.ui.inverted.segment {
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
.ui.inverted.segment,
|
||||
.ui.primary.inverted.segment {
|
||||
background: @invertedBackground;
|
||||
color: @invertedTextColor;
|
||||
}
|
||||
|
||||
/* Nested */
|
||||
.ui.inverted.segment .segment {
|
||||
color: @textColor;
|
||||
}
|
||||
.ui.inverted.segment .inverted.segment {
|
||||
color: @invertedTextColor;
|
||||
}
|
||||
& when (@variationSegmentAttached) {
|
||||
/* Attached */
|
||||
.ui.inverted.attached.segment {
|
||||
border-color: @solidWhiteBorderColor;
|
||||
}
|
||||
}
|
||||
& when (@variationSegmentLoading) {
|
||||
/* Loading */
|
||||
.ui.inverted.loading.segment {
|
||||
color: @invertedLoaderLineColor;
|
||||
}
|
||||
.ui.inverted.loading.segment:before {
|
||||
background: @loaderInvertedDimmerColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------
|
||||
Emphasis
|
||||
--------------------*/
|
||||
& when (@variationSegmentSecondary) {
|
||||
/* Secondary */
|
||||
.ui.secondary.segment {
|
||||
background: @secondaryBackground;
|
||||
color: @secondaryColor;
|
||||
}
|
||||
& when (@variationSegmentInverted) {
|
||||
.ui.secondary.inverted.segment {
|
||||
background: @secondaryInvertedBackground;
|
||||
color: @secondaryInvertedColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSegmentTertiary) {
|
||||
/* Tertiary */
|
||||
.ui.tertiary.segment {
|
||||
background: @tertiaryBackground;
|
||||
color: @tertiaryColor;
|
||||
}
|
||||
& when (@variationSegmentInverted) {
|
||||
.ui.tertiary.inverted.segment {
|
||||
background: @tertiaryInvertedBackground;
|
||||
color: @tertiaryInvertedColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSegmentAttached) {
|
||||
/*-------------------
|
||||
Attached
|
||||
--------------------*/
|
||||
|
||||
/* Middle */
|
||||
.ui.attached.segment {
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
border-radius: 0;
|
||||
margin: 0 @attachedHorizontalOffset;
|
||||
width: @attachedWidth;
|
||||
max-width: @attachedWidth;
|
||||
box-shadow: @attachedBoxShadow;
|
||||
border: @attachedBorder;
|
||||
}
|
||||
.ui.attached:not(.message) + .ui.attached.segment:not(.top) {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
/* Top */
|
||||
.ui[class*="top attached"].segment {
|
||||
bottom: 0;
|
||||
margin-bottom: 0;
|
||||
top: @attachedTopOffset;
|
||||
margin-top: @verticalMargin;
|
||||
border-radius: @borderRadius @borderRadius 0 0;
|
||||
}
|
||||
.ui.segment[class*="top attached"]:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
/* Bottom */
|
||||
.ui.segment[class*="bottom attached"] {
|
||||
bottom: 0;
|
||||
margin-top: 0;
|
||||
top: @attachedBottomOffset;
|
||||
margin-bottom: @verticalMargin;
|
||||
box-shadow: @attachedBottomBoxShadow;
|
||||
border-radius: 0 0 @borderRadius @borderRadius;
|
||||
}
|
||||
.ui.segment[class*="bottom attached"]:last-child {
|
||||
margin-bottom: @verticalMargin;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSegmentFitted) {
|
||||
/*--------------
|
||||
Fitted
|
||||
---------------*/
|
||||
|
||||
.ui.fitted.segment:not(.horizontally) {
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
.ui.fitted.segment:not(.vertically) {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------
|
||||
Size
|
||||
--------------------*/
|
||||
|
||||
.ui.segments .segment,
|
||||
.ui.segment {
|
||||
font-size: @medium;
|
||||
}
|
||||
& when not (@variationSegmentSizes = false) {
|
||||
each(@variationSegmentSizes, {
|
||||
@s: @@value;
|
||||
.ui.@{value}.segments .segment,
|
||||
.ui.@{value}.segment {
|
||||
font-size: @s;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
630
assets/semantic-ui/definitions/elements/step.less
Normal file
630
assets/semantic-ui/definitions/elements/step.less
Normal file
|
|
@ -0,0 +1,630 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Step
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*******************************
|
||||
Step
|
||||
*******************************/
|
||||
|
||||
/*--------------
|
||||
Load Theme
|
||||
---------------*/
|
||||
|
||||
@type : 'element';
|
||||
@element : 'step';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Plural
|
||||
*******************************/
|
||||
|
||||
.ui.steps {
|
||||
display: inline-flex;
|
||||
flex-direction: row;
|
||||
align-items: stretch;
|
||||
margin: @stepMargin;
|
||||
background: @stepsBackground;
|
||||
box-shadow: @stepsBoxShadow;
|
||||
line-height: @lineHeight;
|
||||
border-radius: @stepsBorderRadius;
|
||||
border: @stepsBorder;
|
||||
}
|
||||
.ui.steps:not(.unstackable) {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
/* First Steps */
|
||||
.ui.steps:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
/* Last Steps */
|
||||
.ui.steps:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Singular
|
||||
*******************************/
|
||||
|
||||
.ui.steps .step {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex: 1 0 auto;
|
||||
flex-wrap: wrap;
|
||||
flex-direction: row;
|
||||
vertical-align: middle;
|
||||
align-items: center;
|
||||
justify-content: @justifyContent;
|
||||
|
||||
margin: @verticalMargin @horizontalMargin;
|
||||
padding: @verticalPadding @horizontalPadding;
|
||||
background: @background;
|
||||
color: @textColor;
|
||||
box-shadow: @boxShadow;
|
||||
border-radius: @borderRadius;
|
||||
border: @border;
|
||||
border-right: @divider;
|
||||
transition: @transition;
|
||||
}
|
||||
|
||||
/* Arrow */
|
||||
.ui.steps .step:after {
|
||||
display: none;
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
content: '';
|
||||
top: @arrowTopOffset;
|
||||
right: @arrowRightOffset;
|
||||
background-color: @arrowBackgroundColor;
|
||||
width: @arrowSize;
|
||||
height: @arrowSize;
|
||||
|
||||
border-style: solid;
|
||||
border-color: @borderColor;
|
||||
border-width: @arrowBorderWidth;
|
||||
|
||||
transition: @transition;
|
||||
transform: translateY(-50%) translateX(50%) rotate(-45deg);
|
||||
}
|
||||
|
||||
/* First Step */
|
||||
.ui.steps .step:first-child {
|
||||
padding-left: @horizontalPadding;
|
||||
border-radius: @stepsBorderRadius 0 0 @stepsBorderRadius;
|
||||
}
|
||||
|
||||
/* Last Step */
|
||||
.ui.steps .step:last-child {
|
||||
border-radius: 0 @stepsBorderRadius @stepsBorderRadius 0;
|
||||
border-right: none;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
/* Only Step */
|
||||
.ui.steps .step:only-child {
|
||||
border-radius: @stepsBorderRadius;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Content
|
||||
*******************************/
|
||||
|
||||
/* Title */
|
||||
.ui.steps .step .title {
|
||||
font-family: @titleFontFamily;
|
||||
font-size: @titleFontSize;
|
||||
font-weight: @titleFontWeight;
|
||||
}
|
||||
.ui.steps .step > .title {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Description */
|
||||
.ui.steps .step .description {
|
||||
font-weight: @descriptionFontWeight;
|
||||
font-size: @descriptionFontSize;
|
||||
color: @descriptionColor;
|
||||
}
|
||||
.ui.steps .step > .description {
|
||||
width: 100%;
|
||||
}
|
||||
.ui.steps .step .title ~ .description {
|
||||
margin-top: @descriptionDistance;
|
||||
}
|
||||
|
||||
/* Icon */
|
||||
.ui.steps .step > .icon {
|
||||
line-height: 1;
|
||||
font-size: @iconSize;
|
||||
margin: 0 @iconDistance 0 0;
|
||||
}
|
||||
.ui.steps .step > .icon,
|
||||
.ui.steps .step > .icon ~ .content {
|
||||
display: block;
|
||||
flex: 0 1 auto;
|
||||
align-self: @iconAlign;
|
||||
}
|
||||
|
||||
/* Horizontal Icon */
|
||||
.ui.steps:not(.vertical) .step > .icon {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
/* Link */
|
||||
.ui.steps .link.step,
|
||||
.ui.steps a.step {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Types
|
||||
*******************************/
|
||||
|
||||
& when (@variationStepOrdered) {
|
||||
/*--------------
|
||||
Ordered
|
||||
---------------*/
|
||||
|
||||
.ui.ordered.steps {
|
||||
counter-reset: ordered;
|
||||
}
|
||||
.ui.ordered.steps .step:before {
|
||||
display: block;
|
||||
position: static;
|
||||
text-align: center;
|
||||
content: counter(ordered);
|
||||
align-self: @iconAlign;
|
||||
margin-right: @iconDistance;
|
||||
font-size: @iconSize;
|
||||
counter-increment: ordered;
|
||||
font-family: @orderedFontFamily;
|
||||
font-weight: @orderedFontWeight;
|
||||
}
|
||||
|
||||
.ui.ordered.steps .step > * {
|
||||
display: block;
|
||||
align-self: @iconAlign;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationStepVertical) {
|
||||
/*--------------
|
||||
Vertical
|
||||
---------------*/
|
||||
|
||||
.ui.vertical.steps {
|
||||
display: inline-flex;
|
||||
flex-direction: column;
|
||||
overflow: visible;
|
||||
}
|
||||
.ui.vertical.steps .step {
|
||||
justify-content: flex-start;
|
||||
border-radius: @borderRadius;
|
||||
padding: @verticalPadding @horizontalPadding;
|
||||
border-right: none;
|
||||
border-bottom: @verticalDivider;
|
||||
}
|
||||
.ui.vertical.steps .step:first-child {
|
||||
padding: @verticalPadding @horizontalPadding;
|
||||
border-radius: @stepsBorderRadius @stepsBorderRadius 0 0;
|
||||
}
|
||||
.ui.vertical.steps .step:last-child {
|
||||
border-bottom: none;
|
||||
border-radius: 0 0 @stepsBorderRadius @stepsBorderRadius;
|
||||
}
|
||||
.ui.vertical.steps .step:only-child {
|
||||
border-radius: @stepsBorderRadius;
|
||||
}
|
||||
|
||||
|
||||
/* Arrow */
|
||||
.ui.vertical.steps .step:after {
|
||||
top: @verticalArrowTopOffset;
|
||||
right: @verticalArrowRightOffset;
|
||||
border-width: @verticalArrowBorderWidth;
|
||||
display: @verticalArrowDisplay;
|
||||
}
|
||||
.ui.right.vertical.steps .step:after {
|
||||
border-width: @verticalLeftArrowBorderWidth;
|
||||
left: @verticalLeftArrowLeftOffset;
|
||||
right: @verticalLeftArrowRightOffset;
|
||||
transform: translateY(-50%) translateX(-50%) rotate(-45deg);
|
||||
}
|
||||
|
||||
.ui.vertical.steps .active.step:after {
|
||||
display: @verticalActiveArrowDisplay;
|
||||
}
|
||||
.ui.vertical.steps .step:last-child:after {
|
||||
display: @verticalLastArrowDisplay;
|
||||
}
|
||||
.ui.vertical.steps .active.step:last-child:after {
|
||||
display: @verticalActiveLastArrowDisplay;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*---------------
|
||||
Responsive
|
||||
----------------*/
|
||||
|
||||
/* Mobile (Default) */
|
||||
@media only screen and (max-width: (@largestMobileScreen)) {
|
||||
|
||||
.ui.steps:not(.unstackable) {
|
||||
display: inline-flex;
|
||||
overflow: visible;
|
||||
flex-direction: column;
|
||||
}
|
||||
.ui.steps:not(.unstackable) .step {
|
||||
width: 100% !important;
|
||||
flex-direction: column;
|
||||
border-radius: @borderRadius;
|
||||
padding: @verticalPadding @horizontalPadding;
|
||||
border-right: none;
|
||||
border-bottom: @stepsBorder;
|
||||
}
|
||||
.ui.steps:not(.unstackable) .step:first-child {
|
||||
padding: @verticalPadding @horizontalPadding;
|
||||
border-radius: @stepsBorderRadius @stepsBorderRadius 0 0;
|
||||
}
|
||||
.ui.steps:not(.unstackable) .step:last-child {
|
||||
border-radius: 0 0 @stepsBorderRadius @stepsBorderRadius;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
/* Arrow */
|
||||
.ui.steps:not(.unstackable) .step:after {
|
||||
top: unset;
|
||||
bottom: -@arrowSize;
|
||||
right: 50%;
|
||||
transform: translateY(-50%) translateX(50%) rotate(45deg);
|
||||
}
|
||||
.ui.vertical.steps .active.step:last-child:after {
|
||||
display: none;
|
||||
}
|
||||
/* Content */
|
||||
.ui.steps:not(.unstackable) .step .content {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Icon */
|
||||
.ui.steps:not(.unstackable) .step > .icon,
|
||||
.ui.ordered.steps:not(.unstackable) .step:before {
|
||||
margin: 0 0 @mobileIconDistance 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
/* Link Hover */
|
||||
.ui.steps .link.step:hover::after,
|
||||
.ui.steps .link.step:hover,
|
||||
.ui.steps a.step:hover::after,
|
||||
.ui.steps a.step:hover {
|
||||
background: @hoverBackground;
|
||||
color: @hoverColor;
|
||||
}
|
||||
|
||||
/* Link Down */
|
||||
.ui.steps .link.step:active::after,
|
||||
.ui.steps .link.step:active,
|
||||
.ui.steps a.step:active::after,
|
||||
.ui.steps a.step:active {
|
||||
background: @downBackground;
|
||||
color: @downColor;
|
||||
}
|
||||
|
||||
/* Active */
|
||||
.ui.steps .step.active {
|
||||
cursor: auto;
|
||||
background: @activeBackground;
|
||||
}
|
||||
.ui.steps .step.active:after {
|
||||
background: @activeBackground;
|
||||
}
|
||||
.ui.steps .step.active .title {
|
||||
color: @activeColor;
|
||||
}
|
||||
.ui.ordered.steps .step.active:before,
|
||||
.ui.steps .active.step .icon {
|
||||
color: @activeIconColor;
|
||||
}
|
||||
|
||||
/* Active Arrow */
|
||||
.ui.steps .step:after {
|
||||
display: @arrowDisplay;
|
||||
}
|
||||
.ui.steps .active.step:after {
|
||||
display: @activeArrowDisplay;
|
||||
}
|
||||
.ui.steps .step:last-child:after {
|
||||
display: @lastArrowDisplay;
|
||||
}
|
||||
.ui.steps .active.step:last-child:after {
|
||||
display: @activeLastArrowDisplay;
|
||||
}
|
||||
|
||||
/* Active Hover */
|
||||
.ui.steps .link.active.step:hover::after,
|
||||
.ui.steps .link.active.step:hover,
|
||||
.ui.steps a.active.step:hover::after,
|
||||
.ui.steps a.active.step:hover {
|
||||
cursor: pointer;
|
||||
background: @activeHoverBackground;
|
||||
color: @activeHoverColor;
|
||||
}
|
||||
|
||||
/* Completed */
|
||||
.ui.steps .step.completed > .icon:before,
|
||||
.ui.ordered.steps .step.completed:before {
|
||||
color: @completedColor;
|
||||
}
|
||||
|
||||
& when (@variationStepDisabled) {
|
||||
/* Disabled */
|
||||
.ui.steps .disabled.step {
|
||||
cursor: auto;
|
||||
background: @disabledBackground;
|
||||
pointer-events: none;
|
||||
}
|
||||
.ui.steps .disabled.step,
|
||||
.ui.steps .disabled.step .title,
|
||||
.ui.steps .disabled.step .description {
|
||||
color: @disabledColor;
|
||||
}
|
||||
.ui.steps .disabled.step:after {
|
||||
background: @disabledBackground;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
& when (@variationStepStackable) {
|
||||
/*--------------
|
||||
Stackable
|
||||
---------------*/
|
||||
|
||||
/* Tablet Or Below */
|
||||
@media only screen and (max-width: @largestTabletScreen) {
|
||||
|
||||
.ui[class*="tablet stackable"].steps {
|
||||
display: inline-flex;
|
||||
overflow: visible;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
/* Steps */
|
||||
.ui[class*="tablet stackable"].steps .step {
|
||||
flex-direction: column;
|
||||
border-radius: @borderRadius;
|
||||
padding: @verticalPadding @horizontalPadding;
|
||||
border-right: none;
|
||||
border-bottom: @stepsBorder;
|
||||
}
|
||||
.ui[class*="tablet stackable"].steps .step:first-child {
|
||||
padding: @verticalPadding @horizontalPadding;
|
||||
border-radius: @stepsBorderRadius @stepsBorderRadius 0 0;
|
||||
}
|
||||
.ui[class*="tablet stackable"].steps .step:last-child {
|
||||
border-radius: 0 0 @stepsBorderRadius @stepsBorderRadius;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
/* Arrow */
|
||||
.ui[class*="tablet stackable"].steps .step:after {
|
||||
top: unset;
|
||||
bottom: -@arrowSize;
|
||||
right: 50%;
|
||||
transform: translateY(-50%) translateX(50%) rotate(45deg);
|
||||
}
|
||||
|
||||
/* Content */
|
||||
.ui[class*="tablet stackable"].steps .step .content {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Icon */
|
||||
.ui[class*="tablet stackable"].steps .step > .icon,
|
||||
.ui[class*="tablet stackable"].ordered.steps .step:before {
|
||||
margin: 0 0 @mobileIconDistance 0;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationStepFluid) {
|
||||
/*--------------
|
||||
Fluid
|
||||
---------------*/
|
||||
|
||||
/* Fluid */
|
||||
.ui.fluid.steps {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationStepAttached) {
|
||||
/*--------------
|
||||
Attached
|
||||
---------------*/
|
||||
|
||||
/* Top */
|
||||
.ui.attached.steps {
|
||||
width: @attachedWidth !important;
|
||||
margin: 0 @attachedHorizontalOffset @attachedVerticalOffset;
|
||||
max-width: @attachedWidth;
|
||||
border-radius: @stepsBorderRadius @stepsBorderRadius 0 0;
|
||||
}
|
||||
.ui.attached.steps .step:first-child {
|
||||
border-radius: @stepsBorderRadius 0 0 0;
|
||||
}
|
||||
.ui.attached.steps .step:last-child {
|
||||
border-radius: 0 @stepsBorderRadius 0 0;
|
||||
}
|
||||
|
||||
/* Bottom */
|
||||
.ui.bottom.attached.steps {
|
||||
margin: @attachedVerticalOffset @attachedHorizontalOffset 0;
|
||||
border-radius: 0 0 @stepsBorderRadius @stepsBorderRadius;
|
||||
}
|
||||
.ui.bottom.attached.steps .step:first-child {
|
||||
border-radius: 0 0 0 @stepsBorderRadius;
|
||||
}
|
||||
.ui.bottom.attached.steps .step:last-child {
|
||||
border-radius: 0 0 @stepsBorderRadius 0;
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------
|
||||
Evenly Divided
|
||||
--------------------*/
|
||||
|
||||
.ui.one.steps,
|
||||
.ui.two.steps,
|
||||
.ui.three.steps,
|
||||
.ui.four.steps,
|
||||
.ui.five.steps,
|
||||
.ui.six.steps,
|
||||
.ui.seven.steps,
|
||||
.ui.eight.steps {
|
||||
width: 100%;
|
||||
}
|
||||
.ui.one.steps > .step,
|
||||
.ui.two.steps > .step,
|
||||
.ui.three.steps > .step,
|
||||
.ui.four.steps > .step,
|
||||
.ui.five.steps > .step,
|
||||
.ui.six.steps > .step,
|
||||
.ui.seven.steps > .step,
|
||||
.ui.eight.steps > .step {
|
||||
flex-wrap: nowrap;
|
||||
}
|
||||
.ui.one.steps > .step {
|
||||
width: 100%;
|
||||
}
|
||||
.ui.two.steps > .step {
|
||||
width: 50%;
|
||||
}
|
||||
.ui.three.steps > .step {
|
||||
width: 33.333%;
|
||||
}
|
||||
.ui.four.steps > .step {
|
||||
width: 25%;
|
||||
}
|
||||
.ui.five.steps > .step {
|
||||
width: 20%;
|
||||
}
|
||||
.ui.six.steps > .step {
|
||||
width: 16.666%;
|
||||
}
|
||||
.ui.seven.steps > .step {
|
||||
width: 14.285%;
|
||||
}
|
||||
.ui.eight.steps > .step {
|
||||
width: 12.500%;
|
||||
}
|
||||
|
||||
/*-------------------
|
||||
Sizes
|
||||
--------------------*/
|
||||
|
||||
.ui.steps .step,
|
||||
.ui.step {
|
||||
font-size: @medium;
|
||||
}
|
||||
& when not (@variationStepSizes = false) {
|
||||
each(@variationStepSizes, {
|
||||
@s: @@value;
|
||||
.ui.@{value}.steps .step,
|
||||
.ui.@{value}.step {
|
||||
font-size: @s;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
& when (@variationStepInverted) {
|
||||
/*--------------
|
||||
Inverted
|
||||
---------------*/
|
||||
|
||||
.ui.inverted.steps {
|
||||
border: 1px solid @solidWhiteBorderColor;
|
||||
}
|
||||
|
||||
.ui.inverted.steps .step {
|
||||
color: @invertedTextColor;
|
||||
background: @black;
|
||||
border-color: @solidWhiteBorderColor;
|
||||
}
|
||||
|
||||
.ui.inverted.steps .step:after {
|
||||
background-color: @black;
|
||||
border-color: @solidWhiteBorderColor;
|
||||
}
|
||||
|
||||
.ui.inverted.steps .step .description {
|
||||
color: @invertedTextColor;
|
||||
}
|
||||
|
||||
/* Active */
|
||||
.ui.inverted.steps .step.active,
|
||||
.ui.inverted.steps .step.active:after {
|
||||
background: @invertedActiveBackground;
|
||||
}
|
||||
.ui.inverted.ordered.steps .step.active:before,
|
||||
.ui.inverted.steps .active.step .icon {
|
||||
color: @invertedSelectedTextColor;
|
||||
}
|
||||
|
||||
& when (@variationStepDisabled) {
|
||||
/* Disabled */
|
||||
.ui.inverted.steps .disabled.step,
|
||||
.ui.inverted.steps .disabled.step:after {
|
||||
background: @invertedDisabledBackground;
|
||||
}
|
||||
.ui.inverted.steps .disabled.step,
|
||||
.ui.inverted.steps .disabled.step .title,
|
||||
.ui.inverted.steps .disabled.step .description {
|
||||
color: @invertedDisabledTextColor;
|
||||
}
|
||||
}
|
||||
|
||||
/* Link Hover */
|
||||
.ui.inverted.steps .link.step:hover::after,
|
||||
.ui.inverted.steps .link.step:hover,
|
||||
.ui.inverted.steps a.step:hover::after,
|
||||
.ui.inverted.steps a.step:hover {
|
||||
background: @invertedHoverBackground;
|
||||
color: @invertedHoveredTextColor;
|
||||
}
|
||||
|
||||
/* Link Down */
|
||||
.ui.inverted.steps .link.step:active::after,
|
||||
.ui.inverted.steps .link.step:active,
|
||||
.ui.inverted.steps a.step:active::after,
|
||||
.ui.inverted.steps a.step:active {
|
||||
background: @invertedActiveHoverBackground;
|
||||
color: @invertedPressedTextColor;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.loadUIOverrides();
|
||||
63
assets/semantic-ui/definitions/elements/text.less
Normal file
63
assets/semantic-ui/definitions/elements/text.less
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Text
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* https://github.com/fomantic/Fomantic-UI/blob/master/LICENSE.md
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'element';
|
||||
@element : 'text';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
|
||||
/*******************************
|
||||
Text
|
||||
*******************************/
|
||||
span.ui.text {
|
||||
line-height: @lineHeight;
|
||||
}
|
||||
|
||||
each(@colors, {
|
||||
@color: replace(@key, '@', '');
|
||||
@c: @colors[@@color][color];
|
||||
@l: @colors[@@color][light];
|
||||
|
||||
span.ui.@{color}.text {
|
||||
color: @c;
|
||||
}
|
||||
& when (@variationTextInverted) {
|
||||
span.ui.inverted.@{color}.text {
|
||||
color: @l;
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
& when (@variationTextDisabled) {
|
||||
span.ui.disabled.text {
|
||||
opacity: @disabledOpacity;
|
||||
}
|
||||
}
|
||||
|
||||
/* Sizes */
|
||||
span.ui.medium.text {
|
||||
font-size: @medium;
|
||||
}
|
||||
& when not (@variationTextSizes = false) {
|
||||
each(@variationTextSizes, {
|
||||
@s: @@value;
|
||||
span.ui.@{value}.text {
|
||||
font-size: @s;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
40
assets/semantic-ui/definitions/globals/reset.less
Normal file
40
assets/semantic-ui/definitions/globals/reset.less
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Reset
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'global';
|
||||
@element : 'reset';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Reset
|
||||
*******************************/
|
||||
|
||||
/* Border-Box */
|
||||
*,
|
||||
*:before,
|
||||
*:after {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
html {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* iPad Input Shadows */
|
||||
input[type="text"], input[type="email"], input[type="search"], input[type="password"] {
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none; /* mobile firefox too! */
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
493
assets/semantic-ui/definitions/globals/site.js
Normal file
493
assets/semantic-ui/definitions/globals/site.js
Normal file
|
|
@ -0,0 +1,493 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Site
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
;(function ($, window, document, undefined) {
|
||||
|
||||
$.isFunction = $.isFunction || function(obj) {
|
||||
return typeof obj === "function" && typeof obj.nodeType !== "number";
|
||||
};
|
||||
|
||||
$.site = $.fn.site = function(parameters) {
|
||||
var
|
||||
time = new Date().getTime(),
|
||||
performance = [],
|
||||
|
||||
query = arguments[0],
|
||||
methodInvoked = (typeof query == 'string'),
|
||||
queryArguments = [].slice.call(arguments, 1),
|
||||
|
||||
settings = ( $.isPlainObject(parameters) )
|
||||
? $.extend(true, {}, $.site.settings, parameters)
|
||||
: $.extend({}, $.site.settings),
|
||||
|
||||
namespace = settings.namespace,
|
||||
error = settings.error,
|
||||
|
||||
moduleNamespace = 'module-' + namespace,
|
||||
|
||||
$document = $(document),
|
||||
$module = $document,
|
||||
element = this,
|
||||
instance = $module.data(moduleNamespace),
|
||||
|
||||
module,
|
||||
returnedValue
|
||||
;
|
||||
module = {
|
||||
|
||||
initialize: function() {
|
||||
module.instantiate();
|
||||
},
|
||||
|
||||
instantiate: function() {
|
||||
module.verbose('Storing instance of site', module);
|
||||
instance = module;
|
||||
$module
|
||||
.data(moduleNamespace, module)
|
||||
;
|
||||
},
|
||||
|
||||
normalize: function() {
|
||||
module.fix.console();
|
||||
module.fix.requestAnimationFrame();
|
||||
},
|
||||
|
||||
fix: {
|
||||
console: function() {
|
||||
module.debug('Normalizing window.console');
|
||||
if (console === undefined || console.log === undefined) {
|
||||
module.verbose('Console not available, normalizing events');
|
||||
module.disable.console();
|
||||
}
|
||||
if (typeof console.group == 'undefined' || typeof console.groupEnd == 'undefined' || typeof console.groupCollapsed == 'undefined') {
|
||||
module.verbose('Console group not available, normalizing events');
|
||||
window.console.group = function() {};
|
||||
window.console.groupEnd = function() {};
|
||||
window.console.groupCollapsed = function() {};
|
||||
}
|
||||
if (typeof console.markTimeline == 'undefined') {
|
||||
module.verbose('Mark timeline not available, normalizing events');
|
||||
window.console.markTimeline = function() {};
|
||||
}
|
||||
},
|
||||
consoleClear: function() {
|
||||
module.debug('Disabling programmatic console clearing');
|
||||
window.console.clear = function() {};
|
||||
},
|
||||
requestAnimationFrame: function() {
|
||||
module.debug('Normalizing requestAnimationFrame');
|
||||
if(window.requestAnimationFrame === undefined) {
|
||||
module.debug('RequestAnimationFrame not available, normalizing event');
|
||||
window.requestAnimationFrame = window.requestAnimationFrame
|
||||
|| window.mozRequestAnimationFrame
|
||||
|| window.webkitRequestAnimationFrame
|
||||
|| window.msRequestAnimationFrame
|
||||
|| function(callback) { setTimeout(callback, 0); }
|
||||
;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
moduleExists: function(name) {
|
||||
return ($.fn[name] !== undefined && $.fn[name].settings !== undefined);
|
||||
},
|
||||
|
||||
enabled: {
|
||||
modules: function(modules) {
|
||||
var
|
||||
enabledModules = []
|
||||
;
|
||||
modules = modules || settings.modules;
|
||||
$.each(modules, function(index, name) {
|
||||
if(module.moduleExists(name)) {
|
||||
enabledModules.push(name);
|
||||
}
|
||||
});
|
||||
return enabledModules;
|
||||
}
|
||||
},
|
||||
|
||||
disabled: {
|
||||
modules: function(modules) {
|
||||
var
|
||||
disabledModules = []
|
||||
;
|
||||
modules = modules || settings.modules;
|
||||
$.each(modules, function(index, name) {
|
||||
if(!module.moduleExists(name)) {
|
||||
disabledModules.push(name);
|
||||
}
|
||||
});
|
||||
return disabledModules;
|
||||
}
|
||||
},
|
||||
|
||||
change: {
|
||||
setting: function(setting, value, modules, modifyExisting) {
|
||||
modules = (typeof modules === 'string')
|
||||
? (modules === 'all')
|
||||
? settings.modules
|
||||
: [modules]
|
||||
: modules || settings.modules
|
||||
;
|
||||
modifyExisting = (modifyExisting !== undefined)
|
||||
? modifyExisting
|
||||
: true
|
||||
;
|
||||
$.each(modules, function(index, name) {
|
||||
var
|
||||
namespace = (module.moduleExists(name))
|
||||
? $.fn[name].settings.namespace || false
|
||||
: true,
|
||||
$existingModules
|
||||
;
|
||||
if(module.moduleExists(name)) {
|
||||
module.verbose('Changing default setting', setting, value, name);
|
||||
$.fn[name].settings[setting] = value;
|
||||
if(modifyExisting && namespace) {
|
||||
$existingModules = $(':data(module-' + namespace + ')');
|
||||
if($existingModules.length > 0) {
|
||||
module.verbose('Modifying existing settings', $existingModules);
|
||||
$existingModules[name]('setting', setting, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
settings: function(newSettings, modules, modifyExisting) {
|
||||
modules = (typeof modules === 'string')
|
||||
? [modules]
|
||||
: modules || settings.modules
|
||||
;
|
||||
modifyExisting = (modifyExisting !== undefined)
|
||||
? modifyExisting
|
||||
: true
|
||||
;
|
||||
$.each(modules, function(index, name) {
|
||||
var
|
||||
$existingModules
|
||||
;
|
||||
if(module.moduleExists(name)) {
|
||||
module.verbose('Changing default setting', newSettings, name);
|
||||
$.extend(true, $.fn[name].settings, newSettings);
|
||||
if(modifyExisting && namespace) {
|
||||
$existingModules = $(':data(module-' + namespace + ')');
|
||||
if($existingModules.length > 0) {
|
||||
module.verbose('Modifying existing settings', $existingModules);
|
||||
$existingModules[name]('setting', newSettings);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
enable: {
|
||||
console: function() {
|
||||
module.console(true);
|
||||
},
|
||||
debug: function(modules, modifyExisting) {
|
||||
modules = modules || settings.modules;
|
||||
module.debug('Enabling debug for modules', modules);
|
||||
module.change.setting('debug', true, modules, modifyExisting);
|
||||
},
|
||||
verbose: function(modules, modifyExisting) {
|
||||
modules = modules || settings.modules;
|
||||
module.debug('Enabling verbose debug for modules', modules);
|
||||
module.change.setting('verbose', true, modules, modifyExisting);
|
||||
}
|
||||
},
|
||||
disable: {
|
||||
console: function() {
|
||||
module.console(false);
|
||||
},
|
||||
debug: function(modules, modifyExisting) {
|
||||
modules = modules || settings.modules;
|
||||
module.debug('Disabling debug for modules', modules);
|
||||
module.change.setting('debug', false, modules, modifyExisting);
|
||||
},
|
||||
verbose: function(modules, modifyExisting) {
|
||||
modules = modules || settings.modules;
|
||||
module.debug('Disabling verbose debug for modules', modules);
|
||||
module.change.setting('verbose', false, modules, modifyExisting);
|
||||
}
|
||||
},
|
||||
|
||||
console: function(enable) {
|
||||
if(enable) {
|
||||
if(instance.cache.console === undefined) {
|
||||
module.error(error.console);
|
||||
return;
|
||||
}
|
||||
module.debug('Restoring console function');
|
||||
window.console = instance.cache.console;
|
||||
}
|
||||
else {
|
||||
module.debug('Disabling console function');
|
||||
instance.cache.console = window.console;
|
||||
window.console = {
|
||||
clear : function(){},
|
||||
error : function(){},
|
||||
group : function(){},
|
||||
groupCollapsed : function(){},
|
||||
groupEnd : function(){},
|
||||
info : function(){},
|
||||
log : function(){},
|
||||
markTimeline : function(){},
|
||||
warn : function(){}
|
||||
};
|
||||
}
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
module.verbose('Destroying previous site for', $module);
|
||||
$module
|
||||
.removeData(moduleNamespace)
|
||||
;
|
||||
},
|
||||
|
||||
cache: {},
|
||||
|
||||
setting: function(name, value) {
|
||||
if( $.isPlainObject(name) ) {
|
||||
$.extend(true, settings, name);
|
||||
}
|
||||
else if(value !== undefined) {
|
||||
settings[name] = value;
|
||||
}
|
||||
else {
|
||||
return settings[name];
|
||||
}
|
||||
},
|
||||
internal: function(name, value) {
|
||||
if( $.isPlainObject(name) ) {
|
||||
$.extend(true, module, name);
|
||||
}
|
||||
else if(value !== undefined) {
|
||||
module[name] = value;
|
||||
}
|
||||
else {
|
||||
return module[name];
|
||||
}
|
||||
},
|
||||
debug: function() {
|
||||
if(settings.debug) {
|
||||
if(settings.performance) {
|
||||
module.performance.log(arguments);
|
||||
}
|
||||
else {
|
||||
module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
||||
module.debug.apply(console, arguments);
|
||||
}
|
||||
}
|
||||
},
|
||||
verbose: function() {
|
||||
if(settings.verbose && settings.debug) {
|
||||
if(settings.performance) {
|
||||
module.performance.log(arguments);
|
||||
}
|
||||
else {
|
||||
module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
||||
module.verbose.apply(console, arguments);
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
|
||||
module.error.apply(console, arguments);
|
||||
},
|
||||
performance: {
|
||||
log: function(message) {
|
||||
var
|
||||
currentTime,
|
||||
executionTime,
|
||||
previousTime
|
||||
;
|
||||
if(settings.performance) {
|
||||
currentTime = new Date().getTime();
|
||||
previousTime = time || currentTime;
|
||||
executionTime = currentTime - previousTime;
|
||||
time = currentTime;
|
||||
performance.push({
|
||||
'Element' : element,
|
||||
'Name' : message[0],
|
||||
'Arguments' : [].slice.call(message, 1) || '',
|
||||
'Execution Time' : executionTime
|
||||
});
|
||||
}
|
||||
clearTimeout(module.performance.timer);
|
||||
module.performance.timer = setTimeout(module.performance.display, 500);
|
||||
},
|
||||
display: function() {
|
||||
var
|
||||
title = settings.name + ':',
|
||||
totalTime = 0
|
||||
;
|
||||
time = false;
|
||||
clearTimeout(module.performance.timer);
|
||||
$.each(performance, function(index, data) {
|
||||
totalTime += data['Execution Time'];
|
||||
});
|
||||
title += ' ' + totalTime + 'ms';
|
||||
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
|
||||
console.groupCollapsed(title);
|
||||
if(console.table) {
|
||||
console.table(performance);
|
||||
}
|
||||
else {
|
||||
$.each(performance, function(index, data) {
|
||||
console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
|
||||
});
|
||||
}
|
||||
console.groupEnd();
|
||||
}
|
||||
performance = [];
|
||||
}
|
||||
},
|
||||
invoke: function(query, passedArguments, context) {
|
||||
var
|
||||
object = instance,
|
||||
maxDepth,
|
||||
found,
|
||||
response
|
||||
;
|
||||
passedArguments = passedArguments || queryArguments;
|
||||
context = element || context;
|
||||
if(typeof query == 'string' && object !== undefined) {
|
||||
query = query.split(/[\. ]/);
|
||||
maxDepth = query.length - 1;
|
||||
$.each(query, function(depth, value) {
|
||||
var camelCaseValue = (depth != maxDepth)
|
||||
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
||||
: query
|
||||
;
|
||||
if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {
|
||||
object = object[camelCaseValue];
|
||||
}
|
||||
else if( object[camelCaseValue] !== undefined ) {
|
||||
found = object[camelCaseValue];
|
||||
return false;
|
||||
}
|
||||
else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
|
||||
object = object[value];
|
||||
}
|
||||
else if( object[value] !== undefined ) {
|
||||
found = object[value];
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
module.error(error.method, query);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
if ( $.isFunction( found ) ) {
|
||||
response = found.apply(context, passedArguments);
|
||||
}
|
||||
else if(found !== undefined) {
|
||||
response = found;
|
||||
}
|
||||
if(Array.isArray(returnedValue)) {
|
||||
returnedValue.push(response);
|
||||
}
|
||||
else if(returnedValue !== undefined) {
|
||||
returnedValue = [returnedValue, response];
|
||||
}
|
||||
else if(response !== undefined) {
|
||||
returnedValue = response;
|
||||
}
|
||||
return found;
|
||||
}
|
||||
};
|
||||
|
||||
if(methodInvoked) {
|
||||
if(instance === undefined) {
|
||||
module.initialize();
|
||||
}
|
||||
module.invoke(query);
|
||||
}
|
||||
else {
|
||||
if(instance !== undefined) {
|
||||
module.destroy();
|
||||
}
|
||||
module.initialize();
|
||||
}
|
||||
return (returnedValue !== undefined)
|
||||
? returnedValue
|
||||
: this
|
||||
;
|
||||
};
|
||||
|
||||
$.site.settings = {
|
||||
|
||||
name : 'Site',
|
||||
namespace : 'site',
|
||||
|
||||
error : {
|
||||
console : 'Console cannot be restored, most likely it was overwritten outside of module',
|
||||
method : 'The method you called is not defined.'
|
||||
},
|
||||
|
||||
debug : false,
|
||||
verbose : false,
|
||||
performance : true,
|
||||
|
||||
modules: [
|
||||
'accordion',
|
||||
'api',
|
||||
'calendar',
|
||||
'checkbox',
|
||||
'dimmer',
|
||||
'dropdown',
|
||||
'embed',
|
||||
'form',
|
||||
'modal',
|
||||
'nag',
|
||||
'popup',
|
||||
'slider',
|
||||
'rating',
|
||||
'shape',
|
||||
'sidebar',
|
||||
'state',
|
||||
'sticky',
|
||||
'tab',
|
||||
'toast',
|
||||
'transition',
|
||||
'visibility',
|
||||
'visit'
|
||||
],
|
||||
|
||||
siteNamespace : 'site',
|
||||
namespaceStub : {
|
||||
cache : {},
|
||||
config : {},
|
||||
sections : {},
|
||||
section : {},
|
||||
utilities : {}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
// allows for selection of elements with data attributes
|
||||
$.extend($.expr[ ":" ], {
|
||||
data: ($.expr.createPseudo)
|
||||
? $.expr.createPseudo(function(dataName) {
|
||||
return function(elem) {
|
||||
return !!$.data(elem, dataName);
|
||||
};
|
||||
})
|
||||
: function(elem, i, match) {
|
||||
// support: jQuery < 1.8
|
||||
return !!$.data(elem, match[ 3 ]);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
})( jQuery, window, document );
|
||||
207
assets/semantic-ui/definitions/globals/site.less
Normal file
207
assets/semantic-ui/definitions/globals/site.less
Normal file
|
|
@ -0,0 +1,207 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Site
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'global';
|
||||
@element : 'site';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Page
|
||||
*******************************/
|
||||
|
||||
.loadFonts();
|
||||
|
||||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: @emSize;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow-x: @pageOverflowX;
|
||||
min-width: @pageMinWidth;
|
||||
background: @pageBackground;
|
||||
font-family: @pageFont;
|
||||
font-size: @fontSize;
|
||||
line-height: @lineHeight;
|
||||
color: @textColor;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Headers
|
||||
*******************************/
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5 {
|
||||
font-family: @headerFont;
|
||||
line-height: @headerLineHeight;
|
||||
margin: @headerMargin;
|
||||
font-weight: @headerFontWeight;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
h1 {
|
||||
min-height: 1rem;
|
||||
font-size: @h1;
|
||||
}
|
||||
h2 {
|
||||
font-size: @h2;
|
||||
}
|
||||
h3 {
|
||||
font-size: @h3;
|
||||
}
|
||||
h4 {
|
||||
font-size: @h4;
|
||||
}
|
||||
h5 {
|
||||
font-size: @h5;
|
||||
}
|
||||
|
||||
h1:first-child,
|
||||
h2:first-child,
|
||||
h3:first-child,
|
||||
h4:first-child,
|
||||
h5:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
h1:last-child,
|
||||
h2:last-child,
|
||||
h3:last-child,
|
||||
h4:last-child,
|
||||
h5:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Text
|
||||
*******************************/
|
||||
|
||||
p {
|
||||
margin: @paragraphMargin;
|
||||
line-height: @paragraphLineHeight;
|
||||
}
|
||||
p:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/*-------------------
|
||||
Links
|
||||
--------------------*/
|
||||
|
||||
a {
|
||||
color: @linkColor;
|
||||
text-decoration: @linkUnderline;
|
||||
}
|
||||
a:hover {
|
||||
color: @linkHoverColor;
|
||||
text-decoration: @linkHoverUnderline;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Scrollbars
|
||||
*******************************/
|
||||
|
||||
.addScrollbars() when (@useCustomScrollbars) {
|
||||
|
||||
/* Force Simple Scrollbars */
|
||||
body ::-webkit-scrollbar {
|
||||
-webkit-appearance: none;
|
||||
width: @customScrollbarWidth;
|
||||
height: @customScrollbarHeight;
|
||||
}
|
||||
body ::-webkit-scrollbar-track {
|
||||
background: @trackBackground;
|
||||
border-radius: @trackBorderRadius;
|
||||
}
|
||||
body ::-webkit-scrollbar-thumb {
|
||||
cursor: pointer;
|
||||
border-radius: @thumbBorderRadius;
|
||||
background: @thumbBackground;
|
||||
transition: @thumbTransition;
|
||||
}
|
||||
body ::-webkit-scrollbar-thumb:window-inactive {
|
||||
background: @thumbInactiveBackground;
|
||||
}
|
||||
body ::-webkit-scrollbar-thumb:hover {
|
||||
background: @thumbHoverBackground;
|
||||
}
|
||||
|
||||
/* Inverted UI */
|
||||
body .ui.inverted:not(.dimmer)::-webkit-scrollbar-track {
|
||||
background: @trackInvertedBackground;
|
||||
}
|
||||
body .ui.inverted:not(.dimmer)::-webkit-scrollbar-thumb {
|
||||
background: @thumbInvertedBackground;
|
||||
}
|
||||
body .ui.inverted:not(.dimmer)::-webkit-scrollbar-thumb:window-inactive {
|
||||
background: @thumbInvertedInactiveBackground;
|
||||
}
|
||||
body .ui.inverted:not(.dimmer)::-webkit-scrollbar-thumb:hover {
|
||||
background: @thumbInvertedHoverBackground;
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Highlighting
|
||||
*******************************/
|
||||
|
||||
/* Site */
|
||||
::-webkit-selection {
|
||||
background-color: @highlightBackground;
|
||||
color: @highlightColor;
|
||||
}
|
||||
::-moz-selection {
|
||||
background-color: @highlightBackground;
|
||||
color: @highlightColor;
|
||||
}
|
||||
::selection {
|
||||
background-color: @highlightBackground;
|
||||
color: @highlightColor;
|
||||
}
|
||||
|
||||
/* Form */
|
||||
textarea::-webkit-selection,
|
||||
input::-webkit-selection {
|
||||
background-color: @inputHighlightBackground;
|
||||
color: @inputHighlightColor;
|
||||
}
|
||||
textarea::-moz-selection,
|
||||
input::-moz-selection {
|
||||
background-color: @inputHighlightBackground;
|
||||
color: @inputHighlightColor;
|
||||
}
|
||||
textarea::selection,
|
||||
input::selection {
|
||||
background-color: @inputHighlightBackground;
|
||||
color: @inputHighlightColor;
|
||||
}
|
||||
|
||||
.addScrollbars();
|
||||
.loadUIOverrides();
|
||||
618
assets/semantic-ui/definitions/modules/accordion.js
Normal file
618
assets/semantic-ui/definitions/modules/accordion.js
Normal file
|
|
@ -0,0 +1,618 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Accordion
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
;(function ($, window, document, undefined) {
|
||||
|
||||
'use strict';
|
||||
|
||||
$.isFunction = $.isFunction || function(obj) {
|
||||
return typeof obj === "function" && typeof obj.nodeType !== "number";
|
||||
};
|
||||
|
||||
window = (typeof window != 'undefined' && window.Math == Math)
|
||||
? window
|
||||
: (typeof self != 'undefined' && self.Math == Math)
|
||||
? self
|
||||
: Function('return this')()
|
||||
;
|
||||
|
||||
$.fn.accordion = function(parameters) {
|
||||
var
|
||||
$allModules = $(this),
|
||||
|
||||
time = new Date().getTime(),
|
||||
performance = [],
|
||||
|
||||
query = arguments[0],
|
||||
methodInvoked = (typeof query == 'string'),
|
||||
queryArguments = [].slice.call(arguments, 1),
|
||||
|
||||
returnedValue
|
||||
;
|
||||
$allModules
|
||||
.each(function() {
|
||||
var
|
||||
settings = ( $.isPlainObject(parameters) )
|
||||
? $.extend(true, {}, $.fn.accordion.settings, parameters)
|
||||
: $.extend({}, $.fn.accordion.settings),
|
||||
|
||||
className = settings.className,
|
||||
namespace = settings.namespace,
|
||||
selector = settings.selector,
|
||||
error = settings.error,
|
||||
|
||||
eventNamespace = '.' + namespace,
|
||||
moduleNamespace = 'module-' + namespace,
|
||||
moduleSelector = $allModules.selector || '',
|
||||
|
||||
$module = $(this),
|
||||
$title = $module.find(selector.title),
|
||||
$content = $module.find(selector.content),
|
||||
|
||||
element = this,
|
||||
instance = $module.data(moduleNamespace),
|
||||
observer,
|
||||
module
|
||||
;
|
||||
|
||||
module = {
|
||||
|
||||
initialize: function() {
|
||||
module.debug('Initializing', $module);
|
||||
module.bind.events();
|
||||
if(settings.observeChanges) {
|
||||
module.observeChanges();
|
||||
}
|
||||
module.instantiate();
|
||||
},
|
||||
|
||||
instantiate: function() {
|
||||
instance = module;
|
||||
$module
|
||||
.data(moduleNamespace, module)
|
||||
;
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
module.debug('Destroying previous instance', $module);
|
||||
$module
|
||||
.off(eventNamespace)
|
||||
.removeData(moduleNamespace)
|
||||
;
|
||||
},
|
||||
|
||||
refresh: function() {
|
||||
$title = $module.find(selector.title);
|
||||
$content = $module.find(selector.content);
|
||||
},
|
||||
|
||||
observeChanges: function() {
|
||||
if('MutationObserver' in window) {
|
||||
observer = new MutationObserver(function(mutations) {
|
||||
module.debug('DOM tree modified, updating selector cache');
|
||||
module.refresh();
|
||||
});
|
||||
observer.observe(element, {
|
||||
childList : true,
|
||||
subtree : true
|
||||
});
|
||||
module.debug('Setting up mutation observer', observer);
|
||||
}
|
||||
},
|
||||
|
||||
bind: {
|
||||
events: function() {
|
||||
module.debug('Binding delegated events');
|
||||
$module
|
||||
.on(settings.on + eventNamespace, selector.trigger, module.event.click)
|
||||
;
|
||||
}
|
||||
},
|
||||
|
||||
event: {
|
||||
click: function() {
|
||||
module.toggle.call(this);
|
||||
}
|
||||
},
|
||||
|
||||
toggle: function(query) {
|
||||
var
|
||||
$activeTitle = (query !== undefined)
|
||||
? (typeof query === 'number')
|
||||
? $title.eq(query)
|
||||
: $(query).closest(selector.title)
|
||||
: $(this).closest(selector.title),
|
||||
$activeContent = $activeTitle.next($content),
|
||||
isAnimating = $activeContent.hasClass(className.animating),
|
||||
isActive = $activeContent.hasClass(className.active),
|
||||
isOpen = (isActive && !isAnimating),
|
||||
isOpening = (!isActive && isAnimating)
|
||||
;
|
||||
module.debug('Toggling visibility of content', $activeTitle);
|
||||
if(isOpen || isOpening) {
|
||||
if(settings.collapsible) {
|
||||
module.close.call($activeTitle);
|
||||
}
|
||||
else {
|
||||
module.debug('Cannot close accordion content collapsing is disabled');
|
||||
}
|
||||
}
|
||||
else {
|
||||
module.open.call($activeTitle);
|
||||
}
|
||||
},
|
||||
|
||||
open: function(query) {
|
||||
var
|
||||
$activeTitle = (query !== undefined)
|
||||
? (typeof query === 'number')
|
||||
? $title.eq(query)
|
||||
: $(query).closest(selector.title)
|
||||
: $(this).closest(selector.title),
|
||||
$activeContent = $activeTitle.next($content),
|
||||
isAnimating = $activeContent.hasClass(className.animating),
|
||||
isActive = $activeContent.hasClass(className.active),
|
||||
isOpen = (isActive || isAnimating)
|
||||
;
|
||||
if(isOpen) {
|
||||
module.debug('Accordion already open, skipping', $activeContent);
|
||||
return;
|
||||
}
|
||||
module.debug('Opening accordion content', $activeTitle);
|
||||
settings.onOpening.call($activeContent);
|
||||
settings.onChanging.call($activeContent);
|
||||
if(settings.exclusive) {
|
||||
module.closeOthers.call($activeTitle);
|
||||
}
|
||||
$activeTitle
|
||||
.addClass(className.active)
|
||||
;
|
||||
$activeContent
|
||||
.stop(true, true)
|
||||
.addClass(className.animating)
|
||||
;
|
||||
if(settings.animateChildren) {
|
||||
if($.fn.transition !== undefined && $module.transition('is supported')) {
|
||||
$activeContent
|
||||
.children()
|
||||
.transition({
|
||||
animation : 'fade in',
|
||||
queue : false,
|
||||
useFailSafe : true,
|
||||
debug : settings.debug,
|
||||
verbose : settings.verbose,
|
||||
duration : settings.duration,
|
||||
skipInlineHidden : true,
|
||||
onComplete: function() {
|
||||
$activeContent.children().removeClass(className.transition);
|
||||
}
|
||||
})
|
||||
;
|
||||
}
|
||||
else {
|
||||
$activeContent
|
||||
.children()
|
||||
.stop(true, true)
|
||||
.animate({
|
||||
opacity: 1
|
||||
}, settings.duration, module.resetOpacity)
|
||||
;
|
||||
}
|
||||
}
|
||||
$activeContent
|
||||
.slideDown(settings.duration, settings.easing, function() {
|
||||
$activeContent
|
||||
.removeClass(className.animating)
|
||||
.addClass(className.active)
|
||||
;
|
||||
module.reset.display.call(this);
|
||||
settings.onOpen.call(this);
|
||||
settings.onChange.call(this);
|
||||
})
|
||||
;
|
||||
},
|
||||
|
||||
close: function(query) {
|
||||
var
|
||||
$activeTitle = (query !== undefined)
|
||||
? (typeof query === 'number')
|
||||
? $title.eq(query)
|
||||
: $(query).closest(selector.title)
|
||||
: $(this).closest(selector.title),
|
||||
$activeContent = $activeTitle.next($content),
|
||||
isAnimating = $activeContent.hasClass(className.animating),
|
||||
isActive = $activeContent.hasClass(className.active),
|
||||
isOpening = (!isActive && isAnimating),
|
||||
isClosing = (isActive && isAnimating)
|
||||
;
|
||||
if((isActive || isOpening) && !isClosing) {
|
||||
module.debug('Closing accordion content', $activeContent);
|
||||
settings.onClosing.call($activeContent);
|
||||
settings.onChanging.call($activeContent);
|
||||
$activeTitle
|
||||
.removeClass(className.active)
|
||||
;
|
||||
$activeContent
|
||||
.stop(true, true)
|
||||
.addClass(className.animating)
|
||||
;
|
||||
if(settings.animateChildren) {
|
||||
if($.fn.transition !== undefined && $module.transition('is supported')) {
|
||||
$activeContent
|
||||
.children()
|
||||
.transition({
|
||||
animation : 'fade out',
|
||||
queue : false,
|
||||
useFailSafe : true,
|
||||
debug : settings.debug,
|
||||
verbose : settings.verbose,
|
||||
duration : settings.duration,
|
||||
skipInlineHidden : true
|
||||
})
|
||||
;
|
||||
}
|
||||
else {
|
||||
$activeContent
|
||||
.children()
|
||||
.stop(true, true)
|
||||
.animate({
|
||||
opacity: 0
|
||||
}, settings.duration, module.resetOpacity)
|
||||
;
|
||||
}
|
||||
}
|
||||
$activeContent
|
||||
.slideUp(settings.duration, settings.easing, function() {
|
||||
$activeContent
|
||||
.removeClass(className.animating)
|
||||
.removeClass(className.active)
|
||||
;
|
||||
module.reset.display.call(this);
|
||||
settings.onClose.call(this);
|
||||
settings.onChange.call(this);
|
||||
})
|
||||
;
|
||||
}
|
||||
},
|
||||
|
||||
closeOthers: function(index) {
|
||||
var
|
||||
$activeTitle = (index !== undefined)
|
||||
? $title.eq(index)
|
||||
: $(this).closest(selector.title),
|
||||
$parentTitles = $activeTitle.parents(selector.content).prev(selector.title),
|
||||
$activeAccordion = $activeTitle.closest(selector.accordion),
|
||||
activeSelector = selector.title + '.' + className.active + ':visible',
|
||||
activeContent = selector.content + '.' + className.active + ':visible',
|
||||
$openTitles,
|
||||
$nestedTitles,
|
||||
$openContents
|
||||
;
|
||||
if(settings.closeNested) {
|
||||
$openTitles = $activeAccordion.find(activeSelector).not($parentTitles);
|
||||
$openContents = $openTitles.next($content);
|
||||
}
|
||||
else {
|
||||
$openTitles = $activeAccordion.find(activeSelector).not($parentTitles);
|
||||
$nestedTitles = $activeAccordion.find(activeContent).find(activeSelector).not($parentTitles);
|
||||
$openTitles = $openTitles.not($nestedTitles);
|
||||
$openContents = $openTitles.next($content);
|
||||
}
|
||||
if( ($openTitles.length > 0) ) {
|
||||
module.debug('Exclusive enabled, closing other content', $openTitles);
|
||||
$openTitles
|
||||
.removeClass(className.active)
|
||||
;
|
||||
$openContents
|
||||
.removeClass(className.animating)
|
||||
.stop(true, true)
|
||||
;
|
||||
if(settings.animateChildren) {
|
||||
if($.fn.transition !== undefined && $module.transition('is supported')) {
|
||||
$openContents
|
||||
.children()
|
||||
.transition({
|
||||
animation : 'fade out',
|
||||
useFailSafe : true,
|
||||
debug : settings.debug,
|
||||
verbose : settings.verbose,
|
||||
duration : settings.duration,
|
||||
skipInlineHidden : true
|
||||
})
|
||||
;
|
||||
}
|
||||
else {
|
||||
$openContents
|
||||
.children()
|
||||
.stop(true, true)
|
||||
.animate({
|
||||
opacity: 0
|
||||
}, settings.duration, module.resetOpacity)
|
||||
;
|
||||
}
|
||||
}
|
||||
$openContents
|
||||
.slideUp(settings.duration , settings.easing, function() {
|
||||
$(this).removeClass(className.active);
|
||||
module.reset.display.call(this);
|
||||
})
|
||||
;
|
||||
}
|
||||
},
|
||||
|
||||
reset: {
|
||||
|
||||
display: function() {
|
||||
module.verbose('Removing inline display from element', this);
|
||||
$(this).css('display', '');
|
||||
if( $(this).attr('style') === '') {
|
||||
$(this)
|
||||
.attr('style', '')
|
||||
.removeAttr('style')
|
||||
;
|
||||
}
|
||||
},
|
||||
|
||||
opacity: function() {
|
||||
module.verbose('Removing inline opacity from element', this);
|
||||
$(this).css('opacity', '');
|
||||
if( $(this).attr('style') === '') {
|
||||
$(this)
|
||||
.attr('style', '')
|
||||
.removeAttr('style')
|
||||
;
|
||||
}
|
||||
},
|
||||
|
||||
},
|
||||
|
||||
setting: function(name, value) {
|
||||
module.debug('Changing setting', name, value);
|
||||
if( $.isPlainObject(name) ) {
|
||||
$.extend(true, settings, name);
|
||||
}
|
||||
else if(value !== undefined) {
|
||||
if($.isPlainObject(settings[name])) {
|
||||
$.extend(true, settings[name], value);
|
||||
}
|
||||
else {
|
||||
settings[name] = value;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return settings[name];
|
||||
}
|
||||
},
|
||||
internal: function(name, value) {
|
||||
module.debug('Changing internal', name, value);
|
||||
if(value !== undefined) {
|
||||
if( $.isPlainObject(name) ) {
|
||||
$.extend(true, module, name);
|
||||
}
|
||||
else {
|
||||
module[name] = value;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return module[name];
|
||||
}
|
||||
},
|
||||
debug: function() {
|
||||
if(!settings.silent && settings.debug) {
|
||||
if(settings.performance) {
|
||||
module.performance.log(arguments);
|
||||
}
|
||||
else {
|
||||
module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
||||
module.debug.apply(console, arguments);
|
||||
}
|
||||
}
|
||||
},
|
||||
verbose: function() {
|
||||
if(!settings.silent && settings.verbose && settings.debug) {
|
||||
if(settings.performance) {
|
||||
module.performance.log(arguments);
|
||||
}
|
||||
else {
|
||||
module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
||||
module.verbose.apply(console, arguments);
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
if(!settings.silent) {
|
||||
module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
|
||||
module.error.apply(console, arguments);
|
||||
}
|
||||
},
|
||||
performance: {
|
||||
log: function(message) {
|
||||
var
|
||||
currentTime,
|
||||
executionTime,
|
||||
previousTime
|
||||
;
|
||||
if(settings.performance) {
|
||||
currentTime = new Date().getTime();
|
||||
previousTime = time || currentTime;
|
||||
executionTime = currentTime - previousTime;
|
||||
time = currentTime;
|
||||
performance.push({
|
||||
'Name' : message[0],
|
||||
'Arguments' : [].slice.call(message, 1) || '',
|
||||
'Element' : element,
|
||||
'Execution Time' : executionTime
|
||||
});
|
||||
}
|
||||
clearTimeout(module.performance.timer);
|
||||
module.performance.timer = setTimeout(module.performance.display, 500);
|
||||
},
|
||||
display: function() {
|
||||
var
|
||||
title = settings.name + ':',
|
||||
totalTime = 0
|
||||
;
|
||||
time = false;
|
||||
clearTimeout(module.performance.timer);
|
||||
$.each(performance, function(index, data) {
|
||||
totalTime += data['Execution Time'];
|
||||
});
|
||||
title += ' ' + totalTime + 'ms';
|
||||
if(moduleSelector) {
|
||||
title += ' \'' + moduleSelector + '\'';
|
||||
}
|
||||
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
|
||||
console.groupCollapsed(title);
|
||||
if(console.table) {
|
||||
console.table(performance);
|
||||
}
|
||||
else {
|
||||
$.each(performance, function(index, data) {
|
||||
console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
|
||||
});
|
||||
}
|
||||
console.groupEnd();
|
||||
}
|
||||
performance = [];
|
||||
}
|
||||
},
|
||||
invoke: function(query, passedArguments, context) {
|
||||
var
|
||||
object = instance,
|
||||
maxDepth,
|
||||
found,
|
||||
response
|
||||
;
|
||||
passedArguments = passedArguments || queryArguments;
|
||||
context = element || context;
|
||||
if(typeof query == 'string' && object !== undefined) {
|
||||
query = query.split(/[\. ]/);
|
||||
maxDepth = query.length - 1;
|
||||
$.each(query, function(depth, value) {
|
||||
var camelCaseValue = (depth != maxDepth)
|
||||
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
||||
: query
|
||||
;
|
||||
if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {
|
||||
object = object[camelCaseValue];
|
||||
}
|
||||
else if( object[camelCaseValue] !== undefined ) {
|
||||
found = object[camelCaseValue];
|
||||
return false;
|
||||
}
|
||||
else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
|
||||
object = object[value];
|
||||
}
|
||||
else if( object[value] !== undefined ) {
|
||||
found = object[value];
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
module.error(error.method, query);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
if ( $.isFunction( found ) ) {
|
||||
response = found.apply(context, passedArguments);
|
||||
}
|
||||
else if(found !== undefined) {
|
||||
response = found;
|
||||
}
|
||||
if(Array.isArray(returnedValue)) {
|
||||
returnedValue.push(response);
|
||||
}
|
||||
else if(returnedValue !== undefined) {
|
||||
returnedValue = [returnedValue, response];
|
||||
}
|
||||
else if(response !== undefined) {
|
||||
returnedValue = response;
|
||||
}
|
||||
return found;
|
||||
}
|
||||
};
|
||||
if(methodInvoked) {
|
||||
if(instance === undefined) {
|
||||
module.initialize();
|
||||
}
|
||||
module.invoke(query);
|
||||
}
|
||||
else {
|
||||
if(instance !== undefined) {
|
||||
instance.invoke('destroy');
|
||||
}
|
||||
module.initialize();
|
||||
}
|
||||
})
|
||||
;
|
||||
return (returnedValue !== undefined)
|
||||
? returnedValue
|
||||
: this
|
||||
;
|
||||
};
|
||||
|
||||
$.fn.accordion.settings = {
|
||||
|
||||
name : 'Accordion',
|
||||
namespace : 'accordion',
|
||||
|
||||
silent : false,
|
||||
debug : false,
|
||||
verbose : false,
|
||||
performance : true,
|
||||
|
||||
on : 'click', // event on title that opens accordion
|
||||
|
||||
observeChanges : true, // whether accordion should automatically refresh on DOM insertion
|
||||
|
||||
exclusive : true, // whether a single accordion content panel should be open at once
|
||||
collapsible : true, // whether accordion content can be closed
|
||||
closeNested : false, // whether nested content should be closed when a panel is closed
|
||||
animateChildren : true, // whether children opacity should be animated
|
||||
|
||||
duration : 350, // duration of animation
|
||||
easing : 'easeOutQuad', // easing equation for animation
|
||||
|
||||
onOpening : function(){}, // callback before open animation
|
||||
onClosing : function(){}, // callback before closing animation
|
||||
onChanging : function(){}, // callback before closing or opening animation
|
||||
|
||||
onOpen : function(){}, // callback after open animation
|
||||
onClose : function(){}, // callback after closing animation
|
||||
onChange : function(){}, // callback after closing or opening animation
|
||||
|
||||
error: {
|
||||
method : 'The method you called is not defined'
|
||||
},
|
||||
|
||||
className : {
|
||||
active : 'active',
|
||||
animating : 'animating',
|
||||
transition: 'transition'
|
||||
},
|
||||
|
||||
selector : {
|
||||
accordion : '.accordion',
|
||||
title : '.title',
|
||||
trigger : '.title',
|
||||
content : '.content'
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
// Adds easing
|
||||
$.extend( $.easing, {
|
||||
easeOutQuad: function (x, t, b, c, d) {
|
||||
return -c *(t/=d)*(t-2) + b;
|
||||
}
|
||||
});
|
||||
|
||||
})( jQuery, window, document );
|
||||
|
||||
219
assets/semantic-ui/definitions/modules/accordion.less
Normal file
219
assets/semantic-ui/definitions/modules/accordion.less
Normal file
|
|
@ -0,0 +1,219 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Accordion
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'module';
|
||||
@element : 'accordion';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Accordion
|
||||
*******************************/
|
||||
|
||||
.ui.accordion,
|
||||
.ui.accordion .accordion {
|
||||
max-width: 100%;
|
||||
}
|
||||
.ui.accordion .accordion {
|
||||
margin: @childAccordionMargin;
|
||||
padding: @childAccordionPadding;
|
||||
}
|
||||
|
||||
/* Title */
|
||||
.ui.accordion .title,
|
||||
.ui.accordion .accordion .title {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* Default Styling */
|
||||
.ui.accordion .title:not(.ui) {
|
||||
padding: @titlePadding;
|
||||
font-family: @titleFont;
|
||||
font-size: @titleFontSize;
|
||||
color: @titleColor;
|
||||
}
|
||||
|
||||
/* Default Styling */
|
||||
.ui.accordion:not(.styled) .title ~ .content:not(.ui),
|
||||
.ui.accordion:not(.styled) .accordion .title ~ .content:not(.ui) {
|
||||
margin: @contentMargin;
|
||||
padding: @contentPadding;
|
||||
}
|
||||
.ui.accordion:not(.styled) .title ~ .content:not(.ui):last-child {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
/* Arrow */
|
||||
.ui.accordion .title .dropdown.icon,
|
||||
.ui.accordion .accordion .title .dropdown.icon {
|
||||
display: @iconDisplay;
|
||||
float: @iconFloat;
|
||||
opacity: @iconOpacity;
|
||||
width: @iconWidth;
|
||||
height: @iconHeight;
|
||||
margin: @iconMargin;
|
||||
padding: @iconPadding;
|
||||
font-size: @iconFontSize;
|
||||
transition: @iconTransition;
|
||||
vertical-align: @iconVerticalAlign;
|
||||
transform: @iconTransform;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Coupling
|
||||
---------------*/
|
||||
|
||||
/* Menu */
|
||||
.ui.accordion.menu .item .title {
|
||||
display: block;
|
||||
padding: @menuTitlePadding;
|
||||
}
|
||||
.ui.accordion.menu .item .title > .dropdown.icon {
|
||||
float: @menuIconFloat;
|
||||
margin: @menuIconMargin;
|
||||
transform: @menuIconTransform;
|
||||
}
|
||||
|
||||
/* Header */
|
||||
.ui.accordion .ui.header .dropdown.icon {
|
||||
font-size: @iconFontSize;
|
||||
margin: @iconMargin;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
.ui.accordion .active.title .dropdown.icon,
|
||||
.ui.accordion .accordion .active.title .dropdown.icon {
|
||||
transform: @activeIconTransform;
|
||||
}
|
||||
|
||||
.ui.accordion.menu .item .active.title > .dropdown.icon {
|
||||
transform: @activeIconTransform;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Types
|
||||
*******************************/
|
||||
|
||||
& when (@variationAccordionStyled) {
|
||||
/*--------------
|
||||
Styled
|
||||
---------------*/
|
||||
|
||||
.ui.styled.accordion {
|
||||
width: @styledWidth;
|
||||
}
|
||||
|
||||
.ui.styled.accordion,
|
||||
.ui.styled.accordion .accordion {
|
||||
border-radius: @styledBorderRadius;
|
||||
background: @styledBackground;
|
||||
box-shadow: @styledBoxShadow;
|
||||
}
|
||||
.ui.styled.accordion .title,
|
||||
.ui.styled.accordion .accordion .title {
|
||||
margin: @styledTitleMargin;
|
||||
padding: @styledTitlePadding;
|
||||
color: @styledTitleColor;
|
||||
font-weight: @styledTitleFontWeight;
|
||||
border-top: @styledTitleBorder;
|
||||
transition: @styledTitleTransition;
|
||||
}
|
||||
.ui.styled.accordion > .title:first-child,
|
||||
.ui.styled.accordion .accordion .title:first-child {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
|
||||
/* Content */
|
||||
.ui.styled.accordion .content,
|
||||
.ui.styled.accordion .accordion .content {
|
||||
margin: @styledContentMargin;
|
||||
padding: @styledContentPadding;
|
||||
}
|
||||
.ui.styled.accordion .accordion .content {
|
||||
margin: @styledChildContentMargin;
|
||||
padding: @styledChildContentPadding;
|
||||
}
|
||||
|
||||
|
||||
/* Hover */
|
||||
.ui.styled.accordion .title:hover,
|
||||
.ui.styled.accordion .active.title,
|
||||
.ui.styled.accordion .accordion .title:hover,
|
||||
.ui.styled.accordion .accordion .active.title {
|
||||
background: @styledTitleHoverBackground;
|
||||
color: @styledTitleHoverColor;
|
||||
}
|
||||
.ui.styled.accordion .accordion .title:hover,
|
||||
.ui.styled.accordion .accordion .active.title {
|
||||
background: @styledHoverChildTitleBackground;
|
||||
color: @styledHoverChildTitleColor;
|
||||
}
|
||||
|
||||
|
||||
/* Active */
|
||||
.ui.styled.accordion .active.title {
|
||||
background: @styledActiveTitleBackground;
|
||||
color: @styledActiveTitleColor;
|
||||
}
|
||||
.ui.styled.accordion .accordion .active.title {
|
||||
background: @styledActiveChildTitleBackground;
|
||||
color: @styledActiveChildTitleColor;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
/*--------------
|
||||
Not Active
|
||||
---------------*/
|
||||
|
||||
.ui.accordion .title ~ .content:not(.active),
|
||||
.ui.accordion .accordion .title ~ .content:not(.active) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
& when (@variationAccordionFluid) {
|
||||
/*--------------
|
||||
Fluid
|
||||
---------------*/
|
||||
|
||||
.ui.fluid.accordion,
|
||||
.ui.fluid.accordion .accordion {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationAccordionInverted) {
|
||||
/*--------------
|
||||
Inverted
|
||||
---------------*/
|
||||
|
||||
.ui.inverted.accordion .title:not(.ui) {
|
||||
color: @invertedTitleColor;
|
||||
}
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
|
||||
1648
assets/semantic-ui/definitions/modules/calendar.js
Normal file
1648
assets/semantic-ui/definitions/modules/calendar.js
Normal file
File diff suppressed because it is too large
Load diff
186
assets/semantic-ui/definitions/modules/calendar.less
Normal file
186
assets/semantic-ui/definitions/modules/calendar.less
Normal file
|
|
@ -0,0 +1,186 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Calendar
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'module';
|
||||
@element : 'calendar';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Popup
|
||||
*******************************/
|
||||
|
||||
.ui.calendar .ui.popup {
|
||||
max-width: none;
|
||||
padding: 0;
|
||||
border: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Calendar
|
||||
*******************************/
|
||||
|
||||
.ui.calendar .calendar:focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Grid
|
||||
*******************************/
|
||||
|
||||
.ui.calendar .ui.popup .ui.grid {
|
||||
display: block;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.ui.calendar .ui.popup .ui.grid > .column {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Table
|
||||
*******************************/
|
||||
|
||||
.ui.calendar .ui.table.year,
|
||||
.ui.calendar .ui.table.month,
|
||||
.ui.calendar .ui.table.minute {
|
||||
min-width: 15em;
|
||||
}
|
||||
|
||||
.ui.calendar .ui.table.day {
|
||||
min-width: 18em;
|
||||
}
|
||||
|
||||
.ui.calendar .ui.table.day.andweek {
|
||||
min-width: 22em;
|
||||
}
|
||||
|
||||
.ui.calendar .ui.table.hour {
|
||||
min-width: 20em;
|
||||
}
|
||||
|
||||
.ui.calendar .ui.table tr th,
|
||||
.ui.calendar .ui.table tr td {
|
||||
padding: 0.5em;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.ui.calendar .ui.table tr th {
|
||||
border-left: none;
|
||||
}
|
||||
|
||||
.ui.calendar .ui.table tr th .icon {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.ui.calendar .ui.table tr:first-child th {
|
||||
position: relative;
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.ui.calendar .ui.table.day tr:first-child th {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.ui.calendar .ui.table.day tr:nth-child(2) th {
|
||||
padding-top: 0.2em;
|
||||
padding-bottom: 0.3em;
|
||||
}
|
||||
|
||||
.ui.calendar .ui.table tr td {
|
||||
padding-left: 0.1em;
|
||||
padding-right: 0.1em;
|
||||
}
|
||||
|
||||
.ui.calendar .ui.table tr .link {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.ui.calendar .ui.table tr .prev.link {
|
||||
width: 14.28571429%;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.ui.calendar .ui.table tr .next.link {
|
||||
width: 14.28571429%;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.ui.calendar .ui.table tr .disabled {
|
||||
pointer-events: auto;
|
||||
cursor: default;
|
||||
color: @disabledTextColor;
|
||||
}
|
||||
|
||||
.ui.calendar .ui.table tr .adjacent:not(.disabled) {
|
||||
color: @adjacentTextColor;
|
||||
background: @adjacentBackground;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
States
|
||||
---------------*/
|
||||
|
||||
.ui.calendar .ui.table tr td.today {
|
||||
font-weight: @todayFontWeight;
|
||||
}
|
||||
|
||||
.ui.calendar .ui.table tr td.range {
|
||||
background: @rangeBackground;
|
||||
color: @rangeTextColor;
|
||||
box-shadow: @rangeBoxShadow;
|
||||
}
|
||||
|
||||
.ui.calendar .ui.table.inverted tr td.range {
|
||||
background: @rangeInvertedBackground;
|
||||
color: @rangeInvertedTextColor;
|
||||
box-shadow: @rangeInvertedBoxShadow;
|
||||
}
|
||||
|
||||
.ui.calendar:not(.disabled) .calendar:focus .ui.table tbody tr td.focus,
|
||||
.ui.calendar:not(.disabled) .calendar.active .ui.table tbody tr td.focus {
|
||||
box-shadow: @focusBoxShadow;
|
||||
}
|
||||
|
||||
.ui.calendar:not(.disabled) .calendar:focus .ui.table.inverted tbody tr td.focus,
|
||||
.ui.calendar:not(.disabled) .calendar.active .ui.table.inverted tbody tr td.focus {
|
||||
box-shadow: @focusInvertedBoxShadow;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
& when (@variationCalendarDisabled) {
|
||||
/*--------------------
|
||||
Disabled
|
||||
---------------------*/
|
||||
|
||||
.ui.disabled.calendar {
|
||||
opacity: @disabledOpacity;
|
||||
}
|
||||
|
||||
.ui.disabled.calendar > .input,
|
||||
.ui.disabled.calendar .ui.table tr .link {
|
||||
pointer-events: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.loadUIOverrides();
|
||||
876
assets/semantic-ui/definitions/modules/checkbox.js
Normal file
876
assets/semantic-ui/definitions/modules/checkbox.js
Normal file
|
|
@ -0,0 +1,876 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Checkbox
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
;(function ($, window, document, undefined) {
|
||||
|
||||
'use strict';
|
||||
|
||||
$.isFunction = $.isFunction || function(obj) {
|
||||
return typeof obj === "function" && typeof obj.nodeType !== "number";
|
||||
};
|
||||
|
||||
window = (typeof window != 'undefined' && window.Math == Math)
|
||||
? window
|
||||
: (typeof self != 'undefined' && self.Math == Math)
|
||||
? self
|
||||
: Function('return this')()
|
||||
;
|
||||
|
||||
$.fn.checkbox = function(parameters) {
|
||||
var
|
||||
$allModules = $(this),
|
||||
moduleSelector = $allModules.selector || '',
|
||||
|
||||
time = new Date().getTime(),
|
||||
performance = [],
|
||||
|
||||
query = arguments[0],
|
||||
methodInvoked = (typeof query == 'string'),
|
||||
queryArguments = [].slice.call(arguments, 1),
|
||||
returnedValue
|
||||
;
|
||||
|
||||
$allModules
|
||||
.each(function() {
|
||||
var
|
||||
settings = $.extend(true, {}, $.fn.checkbox.settings, parameters),
|
||||
|
||||
className = settings.className,
|
||||
namespace = settings.namespace,
|
||||
selector = settings.selector,
|
||||
error = settings.error,
|
||||
|
||||
eventNamespace = '.' + namespace,
|
||||
moduleNamespace = 'module-' + namespace,
|
||||
|
||||
$module = $(this),
|
||||
$label = $(this).children(selector.label),
|
||||
$input = $(this).children(selector.input),
|
||||
input = $input[0],
|
||||
|
||||
initialLoad = false,
|
||||
shortcutPressed = false,
|
||||
instance = $module.data(moduleNamespace),
|
||||
|
||||
observer,
|
||||
element = this,
|
||||
module
|
||||
;
|
||||
|
||||
module = {
|
||||
|
||||
initialize: function() {
|
||||
module.verbose('Initializing checkbox', settings);
|
||||
|
||||
module.create.label();
|
||||
module.bind.events();
|
||||
|
||||
module.set.tabbable();
|
||||
module.hide.input();
|
||||
|
||||
module.observeChanges();
|
||||
module.instantiate();
|
||||
module.setup();
|
||||
},
|
||||
|
||||
instantiate: function() {
|
||||
module.verbose('Storing instance of module', module);
|
||||
instance = module;
|
||||
$module
|
||||
.data(moduleNamespace, module)
|
||||
;
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
module.verbose('Destroying module');
|
||||
module.unbind.events();
|
||||
module.show.input();
|
||||
$module.removeData(moduleNamespace);
|
||||
},
|
||||
|
||||
fix: {
|
||||
reference: function() {
|
||||
if( $module.is(selector.input) ) {
|
||||
module.debug('Behavior called on <input> adjusting invoked element');
|
||||
$module = $module.closest(selector.checkbox);
|
||||
module.refresh();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
setup: function() {
|
||||
module.set.initialLoad();
|
||||
if( module.is.indeterminate() ) {
|
||||
module.debug('Initial value is indeterminate');
|
||||
module.indeterminate();
|
||||
}
|
||||
else if( module.is.checked() ) {
|
||||
module.debug('Initial value is checked');
|
||||
module.check();
|
||||
}
|
||||
else {
|
||||
module.debug('Initial value is unchecked');
|
||||
module.uncheck();
|
||||
}
|
||||
module.remove.initialLoad();
|
||||
},
|
||||
|
||||
refresh: function() {
|
||||
$label = $module.children(selector.label);
|
||||
$input = $module.children(selector.input);
|
||||
input = $input[0];
|
||||
},
|
||||
|
||||
hide: {
|
||||
input: function() {
|
||||
module.verbose('Modifying <input> z-index to be unselectable');
|
||||
$input.addClass(className.hidden);
|
||||
}
|
||||
},
|
||||
show: {
|
||||
input: function() {
|
||||
module.verbose('Modifying <input> z-index to be selectable');
|
||||
$input.removeClass(className.hidden);
|
||||
}
|
||||
},
|
||||
|
||||
observeChanges: function() {
|
||||
if('MutationObserver' in window) {
|
||||
observer = new MutationObserver(function(mutations) {
|
||||
module.debug('DOM tree modified, updating selector cache');
|
||||
module.refresh();
|
||||
});
|
||||
observer.observe(element, {
|
||||
childList : true,
|
||||
subtree : true
|
||||
});
|
||||
module.debug('Setting up mutation observer', observer);
|
||||
}
|
||||
},
|
||||
|
||||
attachEvents: function(selector, event) {
|
||||
var
|
||||
$element = $(selector)
|
||||
;
|
||||
event = $.isFunction(module[event])
|
||||
? module[event]
|
||||
: module.toggle
|
||||
;
|
||||
if($element.length > 0) {
|
||||
module.debug('Attaching checkbox events to element', selector, event);
|
||||
$element
|
||||
.on('click' + eventNamespace, event)
|
||||
;
|
||||
}
|
||||
else {
|
||||
module.error(error.notFound);
|
||||
}
|
||||
},
|
||||
|
||||
preventDefaultOnInputTarget: function() {
|
||||
if(typeof event !== 'undefined' && event !== null && $(event.target).is(selector.input)) {
|
||||
module.verbose('Preventing default check action after manual check action');
|
||||
event.preventDefault();
|
||||
}
|
||||
},
|
||||
|
||||
event: {
|
||||
change: function(event) {
|
||||
if( !module.should.ignoreCallbacks() ) {
|
||||
settings.onChange.call(input);
|
||||
}
|
||||
},
|
||||
click: function(event) {
|
||||
var
|
||||
$target = $(event.target)
|
||||
;
|
||||
if( $target.is(selector.input) ) {
|
||||
module.verbose('Using default check action on initialized checkbox');
|
||||
return;
|
||||
}
|
||||
if( $target.is(selector.link) ) {
|
||||
module.debug('Clicking link inside checkbox, skipping toggle');
|
||||
return;
|
||||
}
|
||||
module.toggle();
|
||||
$input.focus();
|
||||
event.preventDefault();
|
||||
},
|
||||
keydown: function(event) {
|
||||
var
|
||||
key = event.which,
|
||||
keyCode = {
|
||||
enter : 13,
|
||||
space : 32,
|
||||
escape : 27,
|
||||
left : 37,
|
||||
up : 38,
|
||||
right : 39,
|
||||
down : 40
|
||||
}
|
||||
;
|
||||
|
||||
var r = module.get.radios(),
|
||||
rIndex = r.index($module),
|
||||
rLen = r.length,
|
||||
checkIndex = false;
|
||||
|
||||
if(key == keyCode.left || key == keyCode.up) {
|
||||
checkIndex = (rIndex === 0 ? rLen : rIndex) - 1;
|
||||
} else if(key == keyCode.right || key == keyCode.down) {
|
||||
checkIndex = rIndex === rLen-1 ? 0 : rIndex+1;
|
||||
}
|
||||
|
||||
if (!module.should.ignoreCallbacks() && checkIndex !== false) {
|
||||
if(settings.beforeUnchecked.apply(input)===false) {
|
||||
module.verbose('Option not allowed to be unchecked, cancelling key navigation');
|
||||
return false;
|
||||
}
|
||||
if (settings.beforeChecked.apply($(r[checkIndex]).children(selector.input)[0])===false) {
|
||||
module.verbose('Next option should not allow check, cancelling key navigation');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if(key == keyCode.escape) {
|
||||
module.verbose('Escape key pressed blurring field');
|
||||
$input.blur();
|
||||
shortcutPressed = true;
|
||||
}
|
||||
else if(!event.ctrlKey && ( key == keyCode.space || (key == keyCode.enter && settings.enableEnterKey)) ) {
|
||||
module.verbose('Enter/space key pressed, toggling checkbox');
|
||||
module.toggle();
|
||||
shortcutPressed = true;
|
||||
}
|
||||
else {
|
||||
shortcutPressed = false;
|
||||
}
|
||||
},
|
||||
keyup: function(event) {
|
||||
if(shortcutPressed) {
|
||||
event.preventDefault();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
check: function() {
|
||||
if( !module.should.allowCheck() ) {
|
||||
return;
|
||||
}
|
||||
module.debug('Checking checkbox', $input);
|
||||
module.set.checked();
|
||||
if( !module.should.ignoreCallbacks() ) {
|
||||
settings.onChecked.call(input);
|
||||
module.trigger.change();
|
||||
}
|
||||
module.preventDefaultOnInputTarget();
|
||||
},
|
||||
|
||||
uncheck: function() {
|
||||
if( !module.should.allowUncheck() ) {
|
||||
return;
|
||||
}
|
||||
module.debug('Unchecking checkbox');
|
||||
module.set.unchecked();
|
||||
if( !module.should.ignoreCallbacks() ) {
|
||||
settings.onUnchecked.call(input);
|
||||
module.trigger.change();
|
||||
}
|
||||
module.preventDefaultOnInputTarget();
|
||||
},
|
||||
|
||||
indeterminate: function() {
|
||||
if( module.should.allowIndeterminate() ) {
|
||||
module.debug('Checkbox is already indeterminate');
|
||||
return;
|
||||
}
|
||||
module.debug('Making checkbox indeterminate');
|
||||
module.set.indeterminate();
|
||||
if( !module.should.ignoreCallbacks() ) {
|
||||
settings.onIndeterminate.call(input);
|
||||
module.trigger.change();
|
||||
}
|
||||
},
|
||||
|
||||
determinate: function() {
|
||||
if( module.should.allowDeterminate() ) {
|
||||
module.debug('Checkbox is already determinate');
|
||||
return;
|
||||
}
|
||||
module.debug('Making checkbox determinate');
|
||||
module.set.determinate();
|
||||
if( !module.should.ignoreCallbacks() ) {
|
||||
settings.onDeterminate.call(input);
|
||||
module.trigger.change();
|
||||
}
|
||||
},
|
||||
|
||||
enable: function() {
|
||||
if( module.is.enabled() ) {
|
||||
module.debug('Checkbox is already enabled');
|
||||
return;
|
||||
}
|
||||
module.debug('Enabling checkbox');
|
||||
module.set.enabled();
|
||||
if( !module.should.ignoreCallbacks() ) {
|
||||
settings.onEnable.call(input);
|
||||
// preserve legacy callbacks
|
||||
settings.onEnabled.call(input);
|
||||
module.trigger.change();
|
||||
}
|
||||
},
|
||||
|
||||
disable: function() {
|
||||
if( module.is.disabled() ) {
|
||||
module.debug('Checkbox is already disabled');
|
||||
return;
|
||||
}
|
||||
module.debug('Disabling checkbox');
|
||||
module.set.disabled();
|
||||
if( !module.should.ignoreCallbacks() ) {
|
||||
settings.onDisable.call(input);
|
||||
// preserve legacy callbacks
|
||||
settings.onDisabled.call(input);
|
||||
module.trigger.change();
|
||||
}
|
||||
},
|
||||
|
||||
get: {
|
||||
radios: function() {
|
||||
var
|
||||
name = module.get.name()
|
||||
;
|
||||
return $('input[name="' + name + '"]').closest(selector.checkbox);
|
||||
},
|
||||
otherRadios: function() {
|
||||
return module.get.radios().not($module);
|
||||
},
|
||||
name: function() {
|
||||
return $input.attr('name');
|
||||
}
|
||||
},
|
||||
|
||||
is: {
|
||||
initialLoad: function() {
|
||||
return initialLoad;
|
||||
},
|
||||
radio: function() {
|
||||
return ($input.hasClass(className.radio) || $input.attr('type') == 'radio');
|
||||
},
|
||||
indeterminate: function() {
|
||||
return $input.prop('indeterminate') !== undefined && $input.prop('indeterminate');
|
||||
},
|
||||
checked: function() {
|
||||
return $input.prop('checked') !== undefined && $input.prop('checked');
|
||||
},
|
||||
disabled: function() {
|
||||
return $input.prop('disabled') !== undefined && $input.prop('disabled');
|
||||
},
|
||||
enabled: function() {
|
||||
return !module.is.disabled();
|
||||
},
|
||||
determinate: function() {
|
||||
return !module.is.indeterminate();
|
||||
},
|
||||
unchecked: function() {
|
||||
return !module.is.checked();
|
||||
}
|
||||
},
|
||||
|
||||
should: {
|
||||
allowCheck: function() {
|
||||
if(module.is.determinate() && module.is.checked() && !module.is.initialLoad() ) {
|
||||
module.debug('Should not allow check, checkbox is already checked');
|
||||
return false;
|
||||
}
|
||||
if(!module.should.ignoreCallbacks() && settings.beforeChecked.apply(input) === false) {
|
||||
module.debug('Should not allow check, beforeChecked cancelled');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
},
|
||||
allowUncheck: function() {
|
||||
if(module.is.determinate() && module.is.unchecked() && !module.is.initialLoad() ) {
|
||||
module.debug('Should not allow uncheck, checkbox is already unchecked');
|
||||
return false;
|
||||
}
|
||||
if(!module.should.ignoreCallbacks() && settings.beforeUnchecked.apply(input) === false) {
|
||||
module.debug('Should not allow uncheck, beforeUnchecked cancelled');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
},
|
||||
allowIndeterminate: function() {
|
||||
if(module.is.indeterminate() && !module.is.initialLoad() ) {
|
||||
module.debug('Should not allow indeterminate, checkbox is already indeterminate');
|
||||
return false;
|
||||
}
|
||||
if(!module.should.ignoreCallbacks() && settings.beforeIndeterminate.apply(input) === false) {
|
||||
module.debug('Should not allow indeterminate, beforeIndeterminate cancelled');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
},
|
||||
allowDeterminate: function() {
|
||||
if(module.is.determinate() && !module.is.initialLoad() ) {
|
||||
module.debug('Should not allow determinate, checkbox is already determinate');
|
||||
return false;
|
||||
}
|
||||
if(!module.should.ignoreCallbacks() && settings.beforeDeterminate.apply(input) === false) {
|
||||
module.debug('Should not allow determinate, beforeDeterminate cancelled');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
},
|
||||
ignoreCallbacks: function() {
|
||||
return (initialLoad && !settings.fireOnInit);
|
||||
}
|
||||
},
|
||||
|
||||
can: {
|
||||
change: function() {
|
||||
return !( $module.hasClass(className.disabled) || $module.hasClass(className.readOnly) || $input.prop('disabled') || $input.prop('readonly') );
|
||||
},
|
||||
uncheck: function() {
|
||||
return (typeof settings.uncheckable === 'boolean')
|
||||
? settings.uncheckable
|
||||
: !module.is.radio()
|
||||
;
|
||||
}
|
||||
},
|
||||
|
||||
set: {
|
||||
initialLoad: function() {
|
||||
initialLoad = true;
|
||||
},
|
||||
checked: function() {
|
||||
module.verbose('Setting class to checked');
|
||||
$module
|
||||
.removeClass(className.indeterminate)
|
||||
.addClass(className.checked)
|
||||
;
|
||||
if( module.is.radio() ) {
|
||||
module.uncheckOthers();
|
||||
}
|
||||
if(!module.is.indeterminate() && module.is.checked()) {
|
||||
module.debug('Input is already checked, skipping input property change');
|
||||
return;
|
||||
}
|
||||
module.verbose('Setting state to checked', input);
|
||||
$input
|
||||
.prop('indeterminate', false)
|
||||
.prop('checked', true)
|
||||
;
|
||||
},
|
||||
unchecked: function() {
|
||||
module.verbose('Removing checked class');
|
||||
$module
|
||||
.removeClass(className.indeterminate)
|
||||
.removeClass(className.checked)
|
||||
;
|
||||
if(!module.is.indeterminate() && module.is.unchecked() ) {
|
||||
module.debug('Input is already unchecked');
|
||||
return;
|
||||
}
|
||||
module.debug('Setting state to unchecked');
|
||||
$input
|
||||
.prop('indeterminate', false)
|
||||
.prop('checked', false)
|
||||
;
|
||||
},
|
||||
indeterminate: function() {
|
||||
module.verbose('Setting class to indeterminate');
|
||||
$module
|
||||
.addClass(className.indeterminate)
|
||||
;
|
||||
if( module.is.indeterminate() ) {
|
||||
module.debug('Input is already indeterminate, skipping input property change');
|
||||
return;
|
||||
}
|
||||
module.debug('Setting state to indeterminate');
|
||||
$input
|
||||
.prop('indeterminate', true)
|
||||
;
|
||||
},
|
||||
determinate: function() {
|
||||
module.verbose('Removing indeterminate class');
|
||||
$module
|
||||
.removeClass(className.indeterminate)
|
||||
;
|
||||
if( module.is.determinate() ) {
|
||||
module.debug('Input is already determinate, skipping input property change');
|
||||
return;
|
||||
}
|
||||
module.debug('Setting state to determinate');
|
||||
$input
|
||||
.prop('indeterminate', false)
|
||||
;
|
||||
},
|
||||
disabled: function() {
|
||||
module.verbose('Setting class to disabled');
|
||||
$module
|
||||
.addClass(className.disabled)
|
||||
;
|
||||
if( module.is.disabled() ) {
|
||||
module.debug('Input is already disabled, skipping input property change');
|
||||
return;
|
||||
}
|
||||
module.debug('Setting state to disabled');
|
||||
$input
|
||||
.prop('disabled', 'disabled')
|
||||
;
|
||||
},
|
||||
enabled: function() {
|
||||
module.verbose('Removing disabled class');
|
||||
$module.removeClass(className.disabled);
|
||||
if( module.is.enabled() ) {
|
||||
module.debug('Input is already enabled, skipping input property change');
|
||||
return;
|
||||
}
|
||||
module.debug('Setting state to enabled');
|
||||
$input
|
||||
.prop('disabled', false)
|
||||
;
|
||||
},
|
||||
tabbable: function() {
|
||||
module.verbose('Adding tabindex to checkbox');
|
||||
if( $input.attr('tabindex') === undefined) {
|
||||
$input.attr('tabindex', 0);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
remove: {
|
||||
initialLoad: function() {
|
||||
initialLoad = false;
|
||||
}
|
||||
},
|
||||
|
||||
trigger: {
|
||||
change: function() {
|
||||
var
|
||||
events = document.createEvent('HTMLEvents'),
|
||||
inputElement = $input[0]
|
||||
;
|
||||
if(inputElement) {
|
||||
module.verbose('Triggering native change event');
|
||||
events.initEvent('change', true, false);
|
||||
inputElement.dispatchEvent(events);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
create: {
|
||||
label: function() {
|
||||
if($input.prevAll(selector.label).length > 0) {
|
||||
$input.prev(selector.label).detach().insertAfter($input);
|
||||
module.debug('Moving existing label', $label);
|
||||
}
|
||||
else if( !module.has.label() ) {
|
||||
$label = $('<label>').insertAfter($input);
|
||||
module.debug('Creating label', $label);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
has: {
|
||||
label: function() {
|
||||
return ($label.length > 0);
|
||||
}
|
||||
},
|
||||
|
||||
bind: {
|
||||
events: function() {
|
||||
module.verbose('Attaching checkbox events');
|
||||
$module
|
||||
.on('click' + eventNamespace, module.event.click)
|
||||
.on('change' + eventNamespace, module.event.change)
|
||||
.on('keydown' + eventNamespace, selector.input, module.event.keydown)
|
||||
.on('keyup' + eventNamespace, selector.input, module.event.keyup)
|
||||
;
|
||||
}
|
||||
},
|
||||
|
||||
unbind: {
|
||||
events: function() {
|
||||
module.debug('Removing events');
|
||||
$module
|
||||
.off(eventNamespace)
|
||||
;
|
||||
}
|
||||
},
|
||||
|
||||
uncheckOthers: function() {
|
||||
var
|
||||
$radios = module.get.otherRadios()
|
||||
;
|
||||
module.debug('Unchecking other radios', $radios);
|
||||
$radios.removeClass(className.checked);
|
||||
},
|
||||
|
||||
toggle: function() {
|
||||
if( !module.can.change() ) {
|
||||
if(!module.is.radio()) {
|
||||
module.debug('Checkbox is read-only or disabled, ignoring toggle');
|
||||
}
|
||||
return;
|
||||
}
|
||||
if( module.is.indeterminate() || module.is.unchecked() ) {
|
||||
module.debug('Currently unchecked');
|
||||
module.check();
|
||||
}
|
||||
else if( module.is.checked() && module.can.uncheck() ) {
|
||||
module.debug('Currently checked');
|
||||
module.uncheck();
|
||||
}
|
||||
},
|
||||
setting: function(name, value) {
|
||||
module.debug('Changing setting', name, value);
|
||||
if( $.isPlainObject(name) ) {
|
||||
$.extend(true, settings, name);
|
||||
}
|
||||
else if(value !== undefined) {
|
||||
if($.isPlainObject(settings[name])) {
|
||||
$.extend(true, settings[name], value);
|
||||
}
|
||||
else {
|
||||
settings[name] = value;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return settings[name];
|
||||
}
|
||||
},
|
||||
internal: function(name, value) {
|
||||
if( $.isPlainObject(name) ) {
|
||||
$.extend(true, module, name);
|
||||
}
|
||||
else if(value !== undefined) {
|
||||
module[name] = value;
|
||||
}
|
||||
else {
|
||||
return module[name];
|
||||
}
|
||||
},
|
||||
debug: function() {
|
||||
if(!settings.silent && settings.debug) {
|
||||
if(settings.performance) {
|
||||
module.performance.log(arguments);
|
||||
}
|
||||
else {
|
||||
module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
||||
module.debug.apply(console, arguments);
|
||||
}
|
||||
}
|
||||
},
|
||||
verbose: function() {
|
||||
if(!settings.silent && settings.verbose && settings.debug) {
|
||||
if(settings.performance) {
|
||||
module.performance.log(arguments);
|
||||
}
|
||||
else {
|
||||
module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
||||
module.verbose.apply(console, arguments);
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
if(!settings.silent) {
|
||||
module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
|
||||
module.error.apply(console, arguments);
|
||||
}
|
||||
},
|
||||
performance: {
|
||||
log: function(message) {
|
||||
var
|
||||
currentTime,
|
||||
executionTime,
|
||||
previousTime
|
||||
;
|
||||
if(settings.performance) {
|
||||
currentTime = new Date().getTime();
|
||||
previousTime = time || currentTime;
|
||||
executionTime = currentTime - previousTime;
|
||||
time = currentTime;
|
||||
performance.push({
|
||||
'Name' : message[0],
|
||||
'Arguments' : [].slice.call(message, 1) || '',
|
||||
'Element' : element,
|
||||
'Execution Time' : executionTime
|
||||
});
|
||||
}
|
||||
clearTimeout(module.performance.timer);
|
||||
module.performance.timer = setTimeout(module.performance.display, 500);
|
||||
},
|
||||
display: function() {
|
||||
var
|
||||
title = settings.name + ':',
|
||||
totalTime = 0
|
||||
;
|
||||
time = false;
|
||||
clearTimeout(module.performance.timer);
|
||||
$.each(performance, function(index, data) {
|
||||
totalTime += data['Execution Time'];
|
||||
});
|
||||
title += ' ' + totalTime + 'ms';
|
||||
if(moduleSelector) {
|
||||
title += ' \'' + moduleSelector + '\'';
|
||||
}
|
||||
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
|
||||
console.groupCollapsed(title);
|
||||
if(console.table) {
|
||||
console.table(performance);
|
||||
}
|
||||
else {
|
||||
$.each(performance, function(index, data) {
|
||||
console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
|
||||
});
|
||||
}
|
||||
console.groupEnd();
|
||||
}
|
||||
performance = [];
|
||||
}
|
||||
},
|
||||
invoke: function(query, passedArguments, context) {
|
||||
var
|
||||
object = instance,
|
||||
maxDepth,
|
||||
found,
|
||||
response
|
||||
;
|
||||
passedArguments = passedArguments || queryArguments;
|
||||
context = element || context;
|
||||
if(typeof query == 'string' && object !== undefined) {
|
||||
query = query.split(/[\. ]/);
|
||||
maxDepth = query.length - 1;
|
||||
$.each(query, function(depth, value) {
|
||||
var camelCaseValue = (depth != maxDepth)
|
||||
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
||||
: query
|
||||
;
|
||||
if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {
|
||||
object = object[camelCaseValue];
|
||||
}
|
||||
else if( object[camelCaseValue] !== undefined ) {
|
||||
found = object[camelCaseValue];
|
||||
return false;
|
||||
}
|
||||
else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
|
||||
object = object[value];
|
||||
}
|
||||
else if( object[value] !== undefined ) {
|
||||
found = object[value];
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
module.error(error.method, query);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
if ( $.isFunction( found ) ) {
|
||||
response = found.apply(context, passedArguments);
|
||||
}
|
||||
else if(found !== undefined) {
|
||||
response = found;
|
||||
}
|
||||
if(Array.isArray(returnedValue)) {
|
||||
returnedValue.push(response);
|
||||
}
|
||||
else if(returnedValue !== undefined) {
|
||||
returnedValue = [returnedValue, response];
|
||||
}
|
||||
else if(response !== undefined) {
|
||||
returnedValue = response;
|
||||
}
|
||||
return found;
|
||||
}
|
||||
};
|
||||
|
||||
if(methodInvoked) {
|
||||
if(instance === undefined) {
|
||||
module.initialize();
|
||||
}
|
||||
module.invoke(query);
|
||||
}
|
||||
else {
|
||||
if(instance !== undefined) {
|
||||
instance.invoke('destroy');
|
||||
}
|
||||
module.initialize();
|
||||
}
|
||||
})
|
||||
;
|
||||
|
||||
return (returnedValue !== undefined)
|
||||
? returnedValue
|
||||
: this
|
||||
;
|
||||
};
|
||||
|
||||
$.fn.checkbox.settings = {
|
||||
|
||||
name : 'Checkbox',
|
||||
namespace : 'checkbox',
|
||||
|
||||
silent : false,
|
||||
debug : false,
|
||||
verbose : true,
|
||||
performance : true,
|
||||
|
||||
// delegated event context
|
||||
uncheckable : 'auto',
|
||||
fireOnInit : false,
|
||||
enableEnterKey : true,
|
||||
|
||||
onChange : function(){},
|
||||
|
||||
beforeChecked : function(){},
|
||||
beforeUnchecked : function(){},
|
||||
beforeDeterminate : function(){},
|
||||
beforeIndeterminate : function(){},
|
||||
|
||||
onChecked : function(){},
|
||||
onUnchecked : function(){},
|
||||
|
||||
onDeterminate : function() {},
|
||||
onIndeterminate : function() {},
|
||||
|
||||
onEnable : function(){},
|
||||
onDisable : function(){},
|
||||
|
||||
// preserve misspelled callbacks (will be removed in 3.0)
|
||||
onEnabled : function(){},
|
||||
onDisabled : function(){},
|
||||
|
||||
className : {
|
||||
checked : 'checked',
|
||||
indeterminate : 'indeterminate',
|
||||
disabled : 'disabled',
|
||||
hidden : 'hidden',
|
||||
radio : 'radio',
|
||||
readOnly : 'read-only'
|
||||
},
|
||||
|
||||
error : {
|
||||
method : 'The method you called is not defined'
|
||||
},
|
||||
|
||||
selector : {
|
||||
checkbox : '.ui.checkbox',
|
||||
label : 'label, .box',
|
||||
input : 'input[type="checkbox"], input[type="radio"]',
|
||||
link : 'a[href]'
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
})( jQuery, window, document );
|
||||
814
assets/semantic-ui/definitions/modules/checkbox.less
Normal file
814
assets/semantic-ui/definitions/modules/checkbox.less
Normal file
|
|
@ -0,0 +1,814 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Checkbox
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'module';
|
||||
@element : 'checkbox';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Checkbox
|
||||
*******************************/
|
||||
|
||||
|
||||
/*--------------
|
||||
Content
|
||||
---------------*/
|
||||
|
||||
.ui.checkbox {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
backface-visibility: hidden;
|
||||
outline: none;
|
||||
vertical-align: baseline;
|
||||
font-style: normal;
|
||||
|
||||
min-height: @checkboxSize;
|
||||
font-size: @relativeMedium;
|
||||
line-height: @checkboxLineHeight;
|
||||
min-width: @checkboxSize;
|
||||
}
|
||||
|
||||
/* HTML Checkbox */
|
||||
.ui.checkbox input[type="checkbox"],
|
||||
.ui.checkbox input[type="radio"] {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
opacity: 0 !important;
|
||||
outline: none;
|
||||
z-index: 3;
|
||||
width: @checkboxSize;
|
||||
height: @checkboxSize;
|
||||
}
|
||||
|
||||
|
||||
& when (@variationCheckboxBox) {
|
||||
/*--------------
|
||||
Box
|
||||
---------------*/
|
||||
|
||||
/* .box selector is deprecated and will be removed in v3 */
|
||||
.ui.checkbox .box {
|
||||
&:extend(.ui.checkbox label all);
|
||||
}
|
||||
.ui.checkbox + .box {
|
||||
&:extend(.ui.checkbox + label all);
|
||||
}
|
||||
.ui.checkbox input:focus ~ .box {
|
||||
&:extend(.ui.checkbox input:focus ~ label all);
|
||||
}
|
||||
.ui.checkbox input:checked ~ .box {
|
||||
&:extend(.ui.checkbox input:checked ~ label all);
|
||||
}
|
||||
& when (@variationCheckboxIndeterminate) {
|
||||
.ui.checkbox input:not([type=radio]):indeterminate ~ .box {
|
||||
&:extend(.ui.checkbox input:not([type=radio]):indeterminate ~ label all);
|
||||
}
|
||||
.ui.checkbox input:not([type=radio]):indeterminate:focus ~ .box {
|
||||
&:extend(.ui.checkbox input:not([type=radio]):indeterminate:focus ~ label all);
|
||||
}
|
||||
}
|
||||
.ui.checkbox input:checked:focus ~ .box {
|
||||
&:extend(.ui.checkbox input:checked:focus ~ label all);
|
||||
}
|
||||
& when (@variationCheckboxDisabled) {
|
||||
.ui.disabled.checkbox .box {
|
||||
&:extend(.ui.disabled.checkbox label all);
|
||||
}
|
||||
|
||||
.ui.checkbox input[disabled] ~ .box {
|
||||
&:extend(.ui.checkbox input[disabled] ~ label all);
|
||||
}
|
||||
}
|
||||
& when (@variationCheckboxRadio) {
|
||||
.ui.radio.checkbox .box {
|
||||
&:extend(.ui.radio.checkbox label all);
|
||||
}
|
||||
.ui.radio.checkbox input:focus ~ .box {
|
||||
&:extend(.ui.radio.checkbox input:focus ~ label all);
|
||||
}
|
||||
.ui.radio.checkbox input:indeterminate ~ .box {
|
||||
&:extend(.ui.radio.checkbox input:indeterminate ~ label all);
|
||||
}
|
||||
.ui.radio.checkbox input:checked ~ .box {
|
||||
&:extend(.ui.radio.checkbox input:checked ~ label all);
|
||||
}
|
||||
.ui.radio.checkbox input:focus:checked ~ .box {
|
||||
&:extend(.ui.radio.checkbox input:focus:checked ~ label all);
|
||||
}
|
||||
}
|
||||
& when (@variationCheckboxSlider) {
|
||||
.ui.slider.checkbox .box {
|
||||
&:extend(.ui.slider.checkbox label all);
|
||||
}
|
||||
.ui.slider.checkbox input:focus ~ .box {
|
||||
&:extend(.ui.slider.checkbox input:focus ~ label all);
|
||||
}
|
||||
.ui.slider.checkbox input:checked ~ .box {
|
||||
&:extend(.ui.slider.checkbox input:checked ~ label all);
|
||||
}
|
||||
.ui.slider.checkbox input:focus:checked ~ .box {
|
||||
&:extend(.ui.slider.checkbox input:focus:checked ~ label all);
|
||||
}
|
||||
}
|
||||
& when (@variationCheckboxToggle) {
|
||||
.ui.toggle.checkbox .box {
|
||||
&:extend(.ui.toggle.checkbox label all);
|
||||
}
|
||||
.ui.toggle.checkbox input ~ .box {
|
||||
&:extend(.ui.toggle.checkbox input ~ label all);
|
||||
}
|
||||
.ui.toggle.checkbox input:focus ~ .box {
|
||||
&:extend(.ui.toggle.checkbox input:focus ~ label all);
|
||||
}
|
||||
.ui.toggle.checkbox input:checked ~ .box {
|
||||
&:extend(.ui.toggle.checkbox input:checked ~ label all);
|
||||
}
|
||||
.ui.toggle.checkbox input:focus:checked ~ .box {
|
||||
&:extend(.ui.toggle.checkbox input:focus:checked ~ label all);
|
||||
}
|
||||
}
|
||||
& when (@variationCheckboxFitted) {
|
||||
.ui.fitted.checkbox .box {
|
||||
&:extend(.ui.fitted.checkbox label all);
|
||||
}
|
||||
}
|
||||
& when (@variationCheckboxInverted) {
|
||||
.ui.inverted.checkbox .box {
|
||||
&:extend(.ui.inverted.checkbox label all);
|
||||
}
|
||||
& when (@variationCheckboxSlider) {
|
||||
.ui.inverted.slider.checkbox .box {
|
||||
&:extend(.ui.inverted.slider.checkbox label all);
|
||||
}
|
||||
.ui.inverted.slider.checkbox input:checked ~ .box {
|
||||
&:extend(.ui.inverted.slider.checkbox input:checked ~ label all);
|
||||
}
|
||||
.ui.inverted.slider.checkbox input:focus:checked ~ .box {
|
||||
&:extend(.ui.inverted.slider.checkbox input:focus:checked ~ label all);
|
||||
}
|
||||
}
|
||||
& when (@variationCheckboxToggle) {
|
||||
.ui.inverted.toggle.checkbox .box {
|
||||
&:extend(.ui.inverted.toggle.checkbox label all);
|
||||
}
|
||||
.ui.inverted.toggle.checkbox input:checked ~ .box {
|
||||
&:extend(.ui.inverted.toggle.checkbox input:checked ~ label all);
|
||||
}
|
||||
.ui.inverted.toggle.checkbox input:focus:checked ~ .box {
|
||||
&:extend(.ui.inverted.toggle.checkbox input:focus:checked ~ label all);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ui.checkbox label {
|
||||
cursor: auto;
|
||||
position: relative;
|
||||
display: block;
|
||||
padding-left: @labelDistance;
|
||||
outline: none;
|
||||
font-size: @labelFontSize;
|
||||
}
|
||||
|
||||
.ui.checkbox label:before {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
||||
width: @checkboxSize;
|
||||
height: @checkboxSize;
|
||||
content: '';
|
||||
|
||||
background: @checkboxBackground;
|
||||
border-radius: @checkboxBorderRadius;
|
||||
|
||||
transition: @checkboxTransition;
|
||||
border: @checkboxBorder;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Checkmark
|
||||
---------------*/
|
||||
|
||||
.ui.checkbox label:after {
|
||||
position: absolute;
|
||||
font-size: @checkboxCheckFontSize;
|
||||
top: @checkboxCheckTop;
|
||||
left: @checkboxCheckLeft;
|
||||
width: @checkboxCheckSize;
|
||||
height: @checkboxCheckSize;
|
||||
text-align: center;
|
||||
|
||||
opacity: 0;
|
||||
color: @checkboxColor;
|
||||
transition: @checkboxTransition;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Label
|
||||
---------------*/
|
||||
|
||||
/* Inside */
|
||||
.ui.checkbox label,
|
||||
.ui.checkbox + label {
|
||||
color: @labelColor;
|
||||
transition: @labelTransition;
|
||||
}
|
||||
|
||||
/* Outside */
|
||||
.ui.checkbox + label {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
|
||||
/*--------------
|
||||
Hover
|
||||
---------------*/
|
||||
|
||||
.ui.checkbox label:hover::before {
|
||||
background: @checkboxHoverBackground;
|
||||
border-color: @checkboxHoverBorderColor;
|
||||
}
|
||||
.ui.checkbox label:hover,
|
||||
.ui.checkbox + label:hover {
|
||||
color: @labelHoverColor;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Down
|
||||
---------------*/
|
||||
|
||||
.ui.checkbox label:active::before {
|
||||
background: @checkboxPressedBackground;
|
||||
border-color: @checkboxPressedBorderColor;
|
||||
}
|
||||
.ui.checkbox label:active::after {
|
||||
color: @checkboxPressedColor;
|
||||
}
|
||||
.ui.checkbox input:active ~ label {
|
||||
color: @labelPressedColor;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Focus
|
||||
---------------*/
|
||||
|
||||
.ui.checkbox input:focus ~ label:before {
|
||||
background: @checkboxFocusBackground;
|
||||
border-color: @checkboxFocusBorderColor;
|
||||
}
|
||||
.ui.checkbox input:focus ~ label:after {
|
||||
color: @checkboxFocusCheckColor;
|
||||
}
|
||||
.ui.checkbox input:focus ~ label {
|
||||
color: @labelFocusColor;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Active
|
||||
---------------*/
|
||||
|
||||
.ui.checkbox input:checked ~ label:before {
|
||||
background: @checkboxActiveBackground;
|
||||
border-color: @checkboxActiveBorderColor;
|
||||
}
|
||||
.ui.checkbox input:checked ~ label:after {
|
||||
opacity: @checkboxActiveCheckOpacity;
|
||||
color: @checkboxActiveCheckColor;
|
||||
}
|
||||
|
||||
& when (@variationCheckboxIndeterminate){
|
||||
/*--------------
|
||||
Indeterminate
|
||||
---------------*/
|
||||
|
||||
.ui.checkbox input:not([type=radio]):indeterminate ~ label:before {
|
||||
background: @checkboxIndeterminateBackground;
|
||||
border-color: @checkboxIndeterminateBorderColor;
|
||||
}
|
||||
.ui.checkbox input:not([type=radio]):indeterminate ~ label:after {
|
||||
opacity: @checkboxIndeterminateCheckOpacity;
|
||||
color: @checkboxIndeterminateCheckColor;
|
||||
}
|
||||
.ui.indeterminate.toggle.checkbox {
|
||||
& input:not([type=radio]):indeterminate ~ label:before {
|
||||
background: @toggleCenterLaneBackground;
|
||||
}
|
||||
& input:not([type=radio]) ~ label:after {
|
||||
left: @toggleCenterOffset;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Active Focus
|
||||
---------------*/
|
||||
|
||||
.ui.checkbox input:not([type=radio]):indeterminate:focus ~ label:before,
|
||||
.ui.checkbox input:checked:focus ~ label:before {
|
||||
background: @checkboxActiveFocusBackground;
|
||||
border-color: @checkboxActiveFocusBorderColor;
|
||||
}
|
||||
.ui.checkbox input:not([type=radio]):indeterminate:focus ~ label:after,
|
||||
.ui.checkbox input:checked:focus ~ label:after {
|
||||
color: @checkboxActiveFocusCheckColor;
|
||||
}
|
||||
|
||||
|
||||
/*--------------
|
||||
Read-Only
|
||||
---------------*/
|
||||
|
||||
.ui.read-only.checkbox,
|
||||
.ui.read-only.checkbox label {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
& when (@variationCheckboxDisabled) {
|
||||
/*--------------
|
||||
Disabled
|
||||
---------------*/
|
||||
|
||||
.ui.disabled.checkbox label,
|
||||
.ui.checkbox input[disabled] ~ label {
|
||||
cursor: default !important;
|
||||
opacity: @disabledCheckboxOpacity;
|
||||
color: @disabledCheckboxLabelColor;
|
||||
pointer-events: none;
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Hidden
|
||||
---------------*/
|
||||
|
||||
/* Initialized checkbox moves input below element
|
||||
to prevent manually triggering */
|
||||
.ui.checkbox input.hidden {
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
/* Selectable Label */
|
||||
.ui.checkbox input.hidden + label {
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Types
|
||||
*******************************/
|
||||
|
||||
& when (@variationCheckboxRadio) {
|
||||
/*--------------
|
||||
Radio
|
||||
---------------*/
|
||||
|
||||
.ui.radio.checkbox {
|
||||
min-height: @radioSize;
|
||||
}
|
||||
|
||||
.ui.radio.checkbox label {
|
||||
padding-left: @radioLabelDistance;
|
||||
}
|
||||
|
||||
/* Box */
|
||||
.ui.radio.checkbox label:before {
|
||||
content: '';
|
||||
transform: none;
|
||||
|
||||
width: @radioSize;
|
||||
height: @radioSize;
|
||||
border-radius: @circularRadius;
|
||||
top: @radioTop;
|
||||
left: @radioLeft;
|
||||
}
|
||||
|
||||
/* Bullet */
|
||||
.ui.radio.checkbox label:after {
|
||||
border: none;
|
||||
content: '' !important;
|
||||
line-height: @radioSize;
|
||||
top: @bulletTop;
|
||||
left: @bulletLeft;
|
||||
width: @radioSize;
|
||||
height: @radioSize;
|
||||
border-radius: @bulletRadius;
|
||||
transform: scale(@bulletScale);
|
||||
background-color: @bulletColor;
|
||||
}
|
||||
|
||||
/* Focus */
|
||||
.ui.radio.checkbox input:focus ~ label:before {
|
||||
background-color: @radioFocusBackground;
|
||||
}
|
||||
.ui.radio.checkbox input:focus ~ label:after {
|
||||
background-color: @radioFocusBulletColor;
|
||||
}
|
||||
|
||||
/* Indeterminate */
|
||||
.ui.radio.checkbox input:indeterminate ~ label:after {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
/* Active */
|
||||
.ui.radio.checkbox input:checked ~ label:before {
|
||||
background-color: @radioActiveBackground;
|
||||
}
|
||||
.ui.radio.checkbox input:checked ~ label:after {
|
||||
background-color: @radioActiveBulletColor;
|
||||
}
|
||||
|
||||
/* Active Focus */
|
||||
.ui.radio.checkbox input:focus:checked ~ label:before {
|
||||
background-color: @radioActiveFocusBackground;
|
||||
}
|
||||
.ui.radio.checkbox input:focus:checked ~ label:after {
|
||||
background-color: @radioActiveFocusBulletColor;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationCheckboxSlider) {
|
||||
/*--------------
|
||||
Slider
|
||||
---------------*/
|
||||
|
||||
.ui.slider.checkbox {
|
||||
min-height: @sliderHeight;
|
||||
}
|
||||
|
||||
/* Input */
|
||||
.ui.slider.checkbox input {
|
||||
width: @sliderWidth;
|
||||
height: @sliderHeight;
|
||||
}
|
||||
|
||||
/* Label */
|
||||
.ui.slider.checkbox label {
|
||||
padding-left: @sliderLabelDistance;
|
||||
line-height: @sliderLabelLineHeight;
|
||||
color: @sliderOffLabelColor;
|
||||
}
|
||||
|
||||
/* Line */
|
||||
.ui.slider.checkbox label:before {
|
||||
display: block;
|
||||
position: absolute;
|
||||
content: '';
|
||||
transform: none;
|
||||
border: none !important;
|
||||
left: 0;
|
||||
z-index: 1;
|
||||
|
||||
top: @sliderLineVerticalOffset;
|
||||
|
||||
background-color: @sliderLineColor;
|
||||
width: @sliderLineWidth;
|
||||
height: @sliderLineHeight;
|
||||
|
||||
border-radius: @sliderLineRadius;
|
||||
transition: @sliderLineTransition;
|
||||
|
||||
}
|
||||
|
||||
/* Handle */
|
||||
.ui.slider.checkbox label:after {
|
||||
background: @handleBackground;
|
||||
position: absolute;
|
||||
content: '' !important;
|
||||
opacity: 1;
|
||||
z-index: 2;
|
||||
|
||||
border: none;
|
||||
box-shadow: @handleBoxShadow;
|
||||
width: @sliderHandleSize;
|
||||
height: @sliderHandleSize;
|
||||
top: @sliderHandleOffset;
|
||||
left: 0;
|
||||
transform: none;
|
||||
|
||||
border-radius: @circularRadius;
|
||||
transition: @sliderHandleTransition;
|
||||
}
|
||||
|
||||
/* Focus */
|
||||
.ui.slider.checkbox input:focus ~ label:before {
|
||||
background-color: @toggleFocusColor;
|
||||
border: none;
|
||||
}
|
||||
|
||||
/* Hover */
|
||||
.ui.slider.checkbox label:hover {
|
||||
color: @sliderHoverLabelColor;
|
||||
}
|
||||
.ui.slider.checkbox label:hover::before {
|
||||
background: @sliderHoverLaneBackground;
|
||||
}
|
||||
|
||||
/* Active */
|
||||
.ui.slider.checkbox input:checked ~ label {
|
||||
color: @sliderOnLabelColor !important;
|
||||
}
|
||||
.ui.slider.checkbox input:checked ~ label:before {
|
||||
background-color: @sliderOnLineColor !important;
|
||||
}
|
||||
.ui.slider.checkbox input:checked ~ label:after {
|
||||
left: @sliderTravelDistance;
|
||||
}
|
||||
|
||||
/* Active Focus */
|
||||
.ui.slider.checkbox input:focus:checked ~ label {
|
||||
color: @sliderOnFocusLabelColor !important;
|
||||
}
|
||||
.ui.slider.checkbox input:focus:checked ~ label:before {
|
||||
background-color: @sliderOnFocusLineColor !important;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationCheckboxToggle) {
|
||||
/*--------------
|
||||
Toggle
|
||||
---------------*/
|
||||
|
||||
.ui.toggle.checkbox {
|
||||
min-height: @toggleHeight;
|
||||
}
|
||||
|
||||
/* Input */
|
||||
.ui.toggle.checkbox input {
|
||||
width: @toggleWidth;
|
||||
height: @toggleHeight;
|
||||
}
|
||||
|
||||
/* Label */
|
||||
.ui.toggle.checkbox label {
|
||||
min-height: @toggleHandleSize;
|
||||
padding-left: @toggleLabelDistance;
|
||||
color: @toggleOffLabelColor;
|
||||
}
|
||||
.ui.toggle.checkbox label {
|
||||
padding-top: @toggleLabelOffset;
|
||||
}
|
||||
|
||||
/* Switch */
|
||||
.ui.toggle.checkbox label:before {
|
||||
display: block;
|
||||
position: absolute;
|
||||
content: '';
|
||||
z-index: 1;
|
||||
transform: none;
|
||||
border: none;
|
||||
|
||||
top: @toggleLaneVerticalOffset;
|
||||
|
||||
background: @toggleLaneBackground;
|
||||
box-shadow: @toggleLaneBoxShadow;
|
||||
width: @toggleLaneWidth;
|
||||
height: @toggleLaneHeight;
|
||||
border-radius: @toggleHandleRadius;
|
||||
}
|
||||
|
||||
/* Handle */
|
||||
.ui.toggle.checkbox label:after {
|
||||
background: @handleBackground;
|
||||
position: absolute;
|
||||
content: '' !important;
|
||||
opacity: 1;
|
||||
z-index: 2;
|
||||
|
||||
border: none;
|
||||
box-shadow: @handleBoxShadow;
|
||||
width: @toggleHandleSize;
|
||||
height: @toggleHandleSize;
|
||||
top: @toggleHandleOffset;
|
||||
left: 0;
|
||||
|
||||
border-radius: @circularRadius;
|
||||
transition: @toggleHandleTransition;
|
||||
}
|
||||
|
||||
.ui.toggle.checkbox input ~ label:after {
|
||||
left: @toggleOffOffset;
|
||||
box-shadow: @toggleOffHandleBoxShadow;
|
||||
}
|
||||
|
||||
/* Focus */
|
||||
.ui.toggle.checkbox input:focus ~ label:before {
|
||||
background-color: @toggleFocusColor;
|
||||
border: none;
|
||||
}
|
||||
|
||||
/* Hover */
|
||||
.ui.toggle.checkbox label:hover::before {
|
||||
background-color: @toggleHoverColor;
|
||||
border: none;
|
||||
}
|
||||
|
||||
/* Active */
|
||||
.ui.toggle.checkbox input:checked ~ label {
|
||||
color: @toggleOnLabelColor !important;
|
||||
}
|
||||
.ui.toggle.checkbox input:checked ~ label:before {
|
||||
background-color: @toggleOnLaneColor !important;
|
||||
}
|
||||
.ui.toggle.checkbox input:checked ~ label:after {
|
||||
left: @toggleOnOffset;
|
||||
box-shadow: @toggleOnHandleBoxShadow;
|
||||
}
|
||||
|
||||
|
||||
/* Active Focus */
|
||||
.ui.toggle.checkbox input:focus:checked ~ label {
|
||||
color: @toggleOnFocusLabelColor !important;
|
||||
}
|
||||
.ui.toggle.checkbox input:focus:checked ~ label:before {
|
||||
background-color: @toggleOnFocusLaneColor !important;
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
& when (@variationCheckboxFitted) {
|
||||
/*--------------
|
||||
Fitted
|
||||
---------------*/
|
||||
|
||||
.ui.fitted.checkbox label {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
|
||||
.ui.fitted.toggle.checkbox {
|
||||
width: @toggleWidth;
|
||||
}
|
||||
|
||||
.ui.fitted.slider.checkbox {
|
||||
width: @sliderWidth;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationCheckboxInverted) {
|
||||
/*--------------
|
||||
Inverted
|
||||
---------------*/
|
||||
.ui.inverted.checkbox label,
|
||||
.ui.inverted.checkbox + label {
|
||||
color: @invertedTextColor !important;
|
||||
}
|
||||
|
||||
/* Hover */
|
||||
.ui.inverted.checkbox label:hover {
|
||||
color: @invertedHoveredTextColor !important;
|
||||
}
|
||||
.ui.inverted.checkbox label:hover::before {
|
||||
border-color: @strongSelectedBorderColor;
|
||||
}
|
||||
& when (@variationCheckboxSlider) {
|
||||
/*Slider Label */
|
||||
.ui.inverted.slider.checkbox label {
|
||||
color: @invertedUnselectedTextColor;
|
||||
}
|
||||
|
||||
/* Slider Line */
|
||||
.ui.inverted.slider.checkbox label:before {
|
||||
background-color: @invertedUnselectedTextColor !important;
|
||||
}
|
||||
|
||||
/* Slider Hover */
|
||||
.ui.inverted.slider.checkbox label:hover::before {
|
||||
background: @invertedLightTextColor !important;
|
||||
}
|
||||
|
||||
/* Slider Active */
|
||||
.ui.inverted.slider.checkbox input:checked ~ label {
|
||||
color: @invertedSelectedTextColor !important;
|
||||
}
|
||||
.ui.inverted.slider.checkbox input:checked ~ label:before {
|
||||
background-color: @selectedWhiteBorderColor !important;
|
||||
}
|
||||
|
||||
/* Slider Active Focus */
|
||||
.ui.inverted.slider.checkbox input:focus:checked ~ label {
|
||||
color: @invertedSelectedTextColor !important;
|
||||
}
|
||||
.ui.inverted.slider.checkbox input:focus:checked ~ label:before {
|
||||
background-color: @selectedWhiteBorderColor !important;
|
||||
}
|
||||
}
|
||||
& when (@variationCheckboxToggle) {
|
||||
/* Toggle Switch */
|
||||
.ui.inverted.toggle.checkbox label:before {
|
||||
background-color: @invertedTextColor !important;
|
||||
}
|
||||
|
||||
/* Toggle Hover */
|
||||
.ui.inverted.toggle.checkbox label:hover::before {
|
||||
background: @invertedHoveredTextColor !important;
|
||||
}
|
||||
|
||||
/* Toggle Active */
|
||||
.ui.inverted.toggle.checkbox input:checked ~ label {
|
||||
color: @invertedSelectedTextColor !important;
|
||||
}
|
||||
.ui.inverted.toggle.checkbox input:checked ~ label:before {
|
||||
background-color: @toggleOnLaneColor !important;
|
||||
}
|
||||
|
||||
/* Toggle Active Focus */
|
||||
.ui.inverted.toggle.checkbox input:focus:checked ~ label {
|
||||
color: @invertedSelectedTextColor !important;
|
||||
}
|
||||
.ui.inverted.toggle.checkbox input:focus:checked ~ label:before {
|
||||
background-color: @toggleOnFocusLaneColor !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------------
|
||||
Size
|
||||
---------------------*/
|
||||
|
||||
each(@variationCheckboxSizes, {
|
||||
@raw: @{value}Raw;
|
||||
@size: @{value}CheckboxSize;
|
||||
@circleScale: @{value}CheckboxCircleScale;
|
||||
@circleLeft: @{value}CheckboxCircleLeft;
|
||||
|
||||
.ui.@{value}.checkbox {
|
||||
font-size: @@size;
|
||||
}
|
||||
|
||||
& when (@@raw > 1) {
|
||||
.ui.@{value}.form .checkbox,
|
||||
.ui.@{value}.checkbox {
|
||||
&:not(.slider):not(.toggle):not(.radio) {
|
||||
&
|
||||
label:after,
|
||||
label:before {
|
||||
transform: scale(@@raw);
|
||||
transform-origin:left;
|
||||
}
|
||||
}
|
||||
&.radio when (@variationCheckboxRadio) {
|
||||
&
|
||||
label:before {
|
||||
transform: scale(@@raw);
|
||||
transform-origin:left;
|
||||
}
|
||||
&
|
||||
label:after {
|
||||
transform:scale(@@circleScale);
|
||||
transform-origin:left;
|
||||
left: @@circleLeft;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
& when (@@raw > 1) and (@variationCheckboxBox) {
|
||||
.ui.@{value}.form .checkbox,
|
||||
.ui.@{value}.checkbox {
|
||||
&:not(.slider):not(.toggle):not(.radio) {
|
||||
&
|
||||
.box:after,
|
||||
.box:before {
|
||||
transform: scale(@@raw);
|
||||
transform-origin:left;
|
||||
}
|
||||
}
|
||||
&.radio when (@variationCheckboxRadio) {
|
||||
&
|
||||
.box:before {
|
||||
transform: scale(@@raw);
|
||||
transform-origin:left;
|
||||
}
|
||||
&
|
||||
.box:after {
|
||||
transform:scale(@@circleScale);
|
||||
transform-origin:left;
|
||||
left: @@circleLeft;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
.loadUIOverrides();
|
||||
753
assets/semantic-ui/definitions/modules/dimmer.js
Normal file
753
assets/semantic-ui/definitions/modules/dimmer.js
Normal file
|
|
@ -0,0 +1,753 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Dimmer
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
;(function ($, window, document, undefined) {
|
||||
|
||||
'use strict';
|
||||
|
||||
$.isFunction = $.isFunction || function(obj) {
|
||||
return typeof obj === "function" && typeof obj.nodeType !== "number";
|
||||
};
|
||||
|
||||
window = (typeof window != 'undefined' && window.Math == Math)
|
||||
? window
|
||||
: (typeof self != 'undefined' && self.Math == Math)
|
||||
? self
|
||||
: Function('return this')()
|
||||
;
|
||||
|
||||
$.fn.dimmer = function(parameters) {
|
||||
var
|
||||
$allModules = $(this),
|
||||
|
||||
time = new Date().getTime(),
|
||||
performance = [],
|
||||
|
||||
query = arguments[0],
|
||||
methodInvoked = (typeof query == 'string'),
|
||||
queryArguments = [].slice.call(arguments, 1),
|
||||
|
||||
returnedValue
|
||||
;
|
||||
|
||||
$allModules
|
||||
.each(function() {
|
||||
var
|
||||
settings = ( $.isPlainObject(parameters) )
|
||||
? $.extend(true, {}, $.fn.dimmer.settings, parameters)
|
||||
: $.extend({}, $.fn.dimmer.settings),
|
||||
|
||||
selector = settings.selector,
|
||||
namespace = settings.namespace,
|
||||
className = settings.className,
|
||||
error = settings.error,
|
||||
|
||||
eventNamespace = '.' + namespace,
|
||||
moduleNamespace = 'module-' + namespace,
|
||||
moduleSelector = $allModules.selector || '',
|
||||
|
||||
clickEvent = ('ontouchstart' in document.documentElement)
|
||||
? 'touchstart'
|
||||
: 'click',
|
||||
|
||||
$module = $(this),
|
||||
$dimmer,
|
||||
$dimmable,
|
||||
|
||||
element = this,
|
||||
instance = $module.data(moduleNamespace),
|
||||
module
|
||||
;
|
||||
|
||||
module = {
|
||||
|
||||
preinitialize: function() {
|
||||
if( module.is.dimmer() ) {
|
||||
|
||||
$dimmable = $module.parent();
|
||||
$dimmer = $module;
|
||||
}
|
||||
else {
|
||||
$dimmable = $module;
|
||||
if( module.has.dimmer() ) {
|
||||
if(settings.dimmerName) {
|
||||
$dimmer = $dimmable.find(selector.dimmer).filter('.' + settings.dimmerName);
|
||||
}
|
||||
else {
|
||||
$dimmer = $dimmable.find(selector.dimmer);
|
||||
}
|
||||
}
|
||||
else {
|
||||
$dimmer = module.create();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
initialize: function() {
|
||||
module.debug('Initializing dimmer', settings);
|
||||
|
||||
module.bind.events();
|
||||
module.set.dimmable();
|
||||
module.instantiate();
|
||||
},
|
||||
|
||||
instantiate: function() {
|
||||
module.verbose('Storing instance of module', module);
|
||||
instance = module;
|
||||
$module
|
||||
.data(moduleNamespace, instance)
|
||||
;
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
module.verbose('Destroying previous module', $dimmer);
|
||||
module.unbind.events();
|
||||
module.remove.variation();
|
||||
$dimmable
|
||||
.off(eventNamespace)
|
||||
;
|
||||
},
|
||||
|
||||
bind: {
|
||||
events: function() {
|
||||
if(settings.on == 'hover') {
|
||||
$dimmable
|
||||
.on('mouseenter' + eventNamespace, module.show)
|
||||
.on('mouseleave' + eventNamespace, module.hide)
|
||||
;
|
||||
}
|
||||
else if(settings.on == 'click') {
|
||||
$dimmable
|
||||
.on(clickEvent + eventNamespace, module.toggle)
|
||||
;
|
||||
}
|
||||
if( module.is.page() ) {
|
||||
module.debug('Setting as a page dimmer', $dimmable);
|
||||
module.set.pageDimmer();
|
||||
}
|
||||
|
||||
if( module.is.closable() ) {
|
||||
module.verbose('Adding dimmer close event', $dimmer);
|
||||
$dimmable
|
||||
.on(clickEvent + eventNamespace, selector.dimmer, module.event.click)
|
||||
;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
unbind: {
|
||||
events: function() {
|
||||
$module
|
||||
.removeData(moduleNamespace)
|
||||
;
|
||||
$dimmable
|
||||
.off(eventNamespace)
|
||||
;
|
||||
}
|
||||
},
|
||||
|
||||
event: {
|
||||
click: function(event) {
|
||||
module.verbose('Determining if event occured on dimmer', event);
|
||||
if( $dimmer.find(event.target).length === 0 || $(event.target).is(selector.content) ) {
|
||||
module.hide();
|
||||
event.stopImmediatePropagation();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
addContent: function(element) {
|
||||
var
|
||||
$content = $(element)
|
||||
;
|
||||
module.debug('Add content to dimmer', $content);
|
||||
if($content.parent()[0] !== $dimmer[0]) {
|
||||
$content.detach().appendTo($dimmer);
|
||||
}
|
||||
},
|
||||
|
||||
create: function() {
|
||||
var
|
||||
$element = $( settings.template.dimmer(settings) )
|
||||
;
|
||||
if(settings.dimmerName) {
|
||||
module.debug('Creating named dimmer', settings.dimmerName);
|
||||
$element.addClass(settings.dimmerName);
|
||||
}
|
||||
$element
|
||||
.appendTo($dimmable)
|
||||
;
|
||||
return $element;
|
||||
},
|
||||
|
||||
show: function(callback) {
|
||||
callback = $.isFunction(callback)
|
||||
? callback
|
||||
: function(){}
|
||||
;
|
||||
module.debug('Showing dimmer', $dimmer, settings);
|
||||
module.set.variation();
|
||||
if( (!module.is.dimmed() || module.is.animating()) && module.is.enabled() ) {
|
||||
module.animate.show(callback);
|
||||
settings.onShow.call(element);
|
||||
settings.onChange.call(element);
|
||||
}
|
||||
else {
|
||||
module.debug('Dimmer is already shown or disabled');
|
||||
}
|
||||
},
|
||||
|
||||
hide: function(callback) {
|
||||
callback = $.isFunction(callback)
|
||||
? callback
|
||||
: function(){}
|
||||
;
|
||||
if( module.is.dimmed() || module.is.animating() ) {
|
||||
module.debug('Hiding dimmer', $dimmer);
|
||||
module.animate.hide(callback);
|
||||
settings.onHide.call(element);
|
||||
settings.onChange.call(element);
|
||||
}
|
||||
else {
|
||||
module.debug('Dimmer is not visible');
|
||||
}
|
||||
},
|
||||
|
||||
toggle: function() {
|
||||
module.verbose('Toggling dimmer visibility', $dimmer);
|
||||
if( !module.is.dimmed() ) {
|
||||
module.show();
|
||||
}
|
||||
else {
|
||||
if ( module.is.closable() ) {
|
||||
module.hide();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
animate: {
|
||||
show: function(callback) {
|
||||
callback = $.isFunction(callback)
|
||||
? callback
|
||||
: function(){}
|
||||
;
|
||||
if(settings.useCSS && $.fn.transition !== undefined && $dimmer.transition('is supported')) {
|
||||
if(settings.useFlex) {
|
||||
module.debug('Using flex dimmer');
|
||||
module.remove.legacy();
|
||||
}
|
||||
else {
|
||||
module.debug('Using legacy non-flex dimmer');
|
||||
module.set.legacy();
|
||||
}
|
||||
if(settings.opacity !== 'auto') {
|
||||
module.set.opacity();
|
||||
}
|
||||
$dimmer
|
||||
.transition({
|
||||
displayType : settings.useFlex
|
||||
? 'flex'
|
||||
: 'block',
|
||||
animation : settings.transition + ' in',
|
||||
queue : false,
|
||||
duration : module.get.duration(),
|
||||
useFailSafe : true,
|
||||
onStart : function() {
|
||||
module.set.dimmed();
|
||||
},
|
||||
onComplete : function() {
|
||||
module.set.active();
|
||||
callback();
|
||||
}
|
||||
})
|
||||
;
|
||||
}
|
||||
else {
|
||||
module.verbose('Showing dimmer animation with javascript');
|
||||
module.set.dimmed();
|
||||
if(settings.opacity == 'auto') {
|
||||
settings.opacity = 0.8;
|
||||
}
|
||||
$dimmer
|
||||
.stop()
|
||||
.css({
|
||||
opacity : 0,
|
||||
width : '100%',
|
||||
height : '100%'
|
||||
})
|
||||
.fadeTo(module.get.duration(), settings.opacity, function() {
|
||||
$dimmer.removeAttr('style');
|
||||
module.set.active();
|
||||
callback();
|
||||
})
|
||||
;
|
||||
}
|
||||
},
|
||||
hide: function(callback) {
|
||||
callback = $.isFunction(callback)
|
||||
? callback
|
||||
: function(){}
|
||||
;
|
||||
if(settings.useCSS && $.fn.transition !== undefined && $dimmer.transition('is supported')) {
|
||||
module.verbose('Hiding dimmer with css');
|
||||
$dimmer
|
||||
.transition({
|
||||
displayType : settings.useFlex
|
||||
? 'flex'
|
||||
: 'block',
|
||||
animation : settings.transition + ' out',
|
||||
queue : false,
|
||||
duration : module.get.duration(),
|
||||
useFailSafe : true,
|
||||
onComplete : function() {
|
||||
module.remove.dimmed();
|
||||
module.remove.variation();
|
||||
module.remove.active();
|
||||
callback();
|
||||
}
|
||||
})
|
||||
;
|
||||
}
|
||||
else {
|
||||
module.verbose('Hiding dimmer with javascript');
|
||||
$dimmer
|
||||
.stop()
|
||||
.fadeOut(module.get.duration(), function() {
|
||||
module.remove.dimmed();
|
||||
module.remove.active();
|
||||
$dimmer.removeAttr('style');
|
||||
callback();
|
||||
})
|
||||
;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
get: {
|
||||
dimmer: function() {
|
||||
return $dimmer;
|
||||
},
|
||||
duration: function() {
|
||||
if(typeof settings.duration == 'object') {
|
||||
if( module.is.active() ) {
|
||||
return settings.duration.hide;
|
||||
}
|
||||
else {
|
||||
return settings.duration.show;
|
||||
}
|
||||
}
|
||||
return settings.duration;
|
||||
}
|
||||
},
|
||||
|
||||
has: {
|
||||
dimmer: function() {
|
||||
if(settings.dimmerName) {
|
||||
return ($module.find(selector.dimmer).filter('.' + settings.dimmerName).length > 0);
|
||||
}
|
||||
else {
|
||||
return ( $module.find(selector.dimmer).length > 0 );
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
is: {
|
||||
active: function() {
|
||||
return $dimmer.hasClass(className.active);
|
||||
},
|
||||
animating: function() {
|
||||
return ( $dimmer.is(':animated') || $dimmer.hasClass(className.animating) );
|
||||
},
|
||||
closable: function() {
|
||||
if(settings.closable == 'auto') {
|
||||
if(settings.on == 'hover') {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return settings.closable;
|
||||
},
|
||||
dimmer: function() {
|
||||
return $module.hasClass(className.dimmer);
|
||||
},
|
||||
dimmable: function() {
|
||||
return $module.hasClass(className.dimmable);
|
||||
},
|
||||
dimmed: function() {
|
||||
return $dimmable.hasClass(className.dimmed);
|
||||
},
|
||||
disabled: function() {
|
||||
return $dimmable.hasClass(className.disabled);
|
||||
},
|
||||
enabled: function() {
|
||||
return !module.is.disabled();
|
||||
},
|
||||
page: function () {
|
||||
return $dimmable.is('body');
|
||||
},
|
||||
pageDimmer: function() {
|
||||
return $dimmer.hasClass(className.pageDimmer);
|
||||
}
|
||||
},
|
||||
|
||||
can: {
|
||||
show: function() {
|
||||
return !$dimmer.hasClass(className.disabled);
|
||||
}
|
||||
},
|
||||
|
||||
set: {
|
||||
opacity: function(opacity) {
|
||||
var
|
||||
color = $dimmer.css('background-color'),
|
||||
colorArray = color.split(','),
|
||||
isRGB = (colorArray && colorArray.length == 3),
|
||||
isRGBA = (colorArray && colorArray.length == 4)
|
||||
;
|
||||
opacity = settings.opacity === 0 ? 0 : settings.opacity || opacity;
|
||||
if(isRGB || isRGBA) {
|
||||
colorArray[3] = opacity + ')';
|
||||
color = colorArray.join(',');
|
||||
}
|
||||
else {
|
||||
color = 'rgba(0, 0, 0, ' + opacity + ')';
|
||||
}
|
||||
module.debug('Setting opacity to', opacity);
|
||||
$dimmer.css('background-color', color);
|
||||
},
|
||||
legacy: function() {
|
||||
$dimmer.addClass(className.legacy);
|
||||
},
|
||||
active: function() {
|
||||
$dimmer.addClass(className.active);
|
||||
},
|
||||
dimmable: function() {
|
||||
$dimmable.addClass(className.dimmable);
|
||||
},
|
||||
dimmed: function() {
|
||||
$dimmable.addClass(className.dimmed);
|
||||
},
|
||||
pageDimmer: function() {
|
||||
$dimmer.addClass(className.pageDimmer);
|
||||
},
|
||||
disabled: function() {
|
||||
$dimmer.addClass(className.disabled);
|
||||
},
|
||||
variation: function(variation) {
|
||||
variation = variation || settings.variation;
|
||||
if(variation) {
|
||||
$dimmer.addClass(variation);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
remove: {
|
||||
active: function() {
|
||||
$dimmer
|
||||
.removeClass(className.active)
|
||||
;
|
||||
},
|
||||
legacy: function() {
|
||||
$dimmer.removeClass(className.legacy);
|
||||
},
|
||||
dimmed: function() {
|
||||
$dimmable.removeClass(className.dimmed);
|
||||
},
|
||||
disabled: function() {
|
||||
$dimmer.removeClass(className.disabled);
|
||||
},
|
||||
variation: function(variation) {
|
||||
variation = variation || settings.variation;
|
||||
if(variation) {
|
||||
$dimmer.removeClass(variation);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
setting: function(name, value) {
|
||||
module.debug('Changing setting', name, value);
|
||||
if( $.isPlainObject(name) ) {
|
||||
$.extend(true, settings, name);
|
||||
}
|
||||
else if(value !== undefined) {
|
||||
if($.isPlainObject(settings[name])) {
|
||||
$.extend(true, settings[name], value);
|
||||
}
|
||||
else {
|
||||
settings[name] = value;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return settings[name];
|
||||
}
|
||||
},
|
||||
internal: function(name, value) {
|
||||
if( $.isPlainObject(name) ) {
|
||||
$.extend(true, module, name);
|
||||
}
|
||||
else if(value !== undefined) {
|
||||
module[name] = value;
|
||||
}
|
||||
else {
|
||||
return module[name];
|
||||
}
|
||||
},
|
||||
debug: function() {
|
||||
if(!settings.silent && settings.debug) {
|
||||
if(settings.performance) {
|
||||
module.performance.log(arguments);
|
||||
}
|
||||
else {
|
||||
module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
||||
module.debug.apply(console, arguments);
|
||||
}
|
||||
}
|
||||
},
|
||||
verbose: function() {
|
||||
if(!settings.silent && settings.verbose && settings.debug) {
|
||||
if(settings.performance) {
|
||||
module.performance.log(arguments);
|
||||
}
|
||||
else {
|
||||
module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
||||
module.verbose.apply(console, arguments);
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
if(!settings.silent) {
|
||||
module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
|
||||
module.error.apply(console, arguments);
|
||||
}
|
||||
},
|
||||
performance: {
|
||||
log: function(message) {
|
||||
var
|
||||
currentTime,
|
||||
executionTime,
|
||||
previousTime
|
||||
;
|
||||
if(settings.performance) {
|
||||
currentTime = new Date().getTime();
|
||||
previousTime = time || currentTime;
|
||||
executionTime = currentTime - previousTime;
|
||||
time = currentTime;
|
||||
performance.push({
|
||||
'Name' : message[0],
|
||||
'Arguments' : [].slice.call(message, 1) || '',
|
||||
'Element' : element,
|
||||
'Execution Time' : executionTime
|
||||
});
|
||||
}
|
||||
clearTimeout(module.performance.timer);
|
||||
module.performance.timer = setTimeout(module.performance.display, 500);
|
||||
},
|
||||
display: function() {
|
||||
var
|
||||
title = settings.name + ':',
|
||||
totalTime = 0
|
||||
;
|
||||
time = false;
|
||||
clearTimeout(module.performance.timer);
|
||||
$.each(performance, function(index, data) {
|
||||
totalTime += data['Execution Time'];
|
||||
});
|
||||
title += ' ' + totalTime + 'ms';
|
||||
if(moduleSelector) {
|
||||
title += ' \'' + moduleSelector + '\'';
|
||||
}
|
||||
if($allModules.length > 1) {
|
||||
title += ' ' + '(' + $allModules.length + ')';
|
||||
}
|
||||
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
|
||||
console.groupCollapsed(title);
|
||||
if(console.table) {
|
||||
console.table(performance);
|
||||
}
|
||||
else {
|
||||
$.each(performance, function(index, data) {
|
||||
console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
|
||||
});
|
||||
}
|
||||
console.groupEnd();
|
||||
}
|
||||
performance = [];
|
||||
}
|
||||
},
|
||||
invoke: function(query, passedArguments, context) {
|
||||
var
|
||||
object = instance,
|
||||
maxDepth,
|
||||
found,
|
||||
response
|
||||
;
|
||||
passedArguments = passedArguments || queryArguments;
|
||||
context = element || context;
|
||||
if(typeof query == 'string' && object !== undefined) {
|
||||
query = query.split(/[\. ]/);
|
||||
maxDepth = query.length - 1;
|
||||
$.each(query, function(depth, value) {
|
||||
var camelCaseValue = (depth != maxDepth)
|
||||
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
||||
: query
|
||||
;
|
||||
if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {
|
||||
object = object[camelCaseValue];
|
||||
}
|
||||
else if( object[camelCaseValue] !== undefined ) {
|
||||
found = object[camelCaseValue];
|
||||
return false;
|
||||
}
|
||||
else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
|
||||
object = object[value];
|
||||
}
|
||||
else if( object[value] !== undefined ) {
|
||||
found = object[value];
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
module.error(error.method, query);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
if ( $.isFunction( found ) ) {
|
||||
response = found.apply(context, passedArguments);
|
||||
}
|
||||
else if(found !== undefined) {
|
||||
response = found;
|
||||
}
|
||||
if(Array.isArray(returnedValue)) {
|
||||
returnedValue.push(response);
|
||||
}
|
||||
else if(returnedValue !== undefined) {
|
||||
returnedValue = [returnedValue, response];
|
||||
}
|
||||
else if(response !== undefined) {
|
||||
returnedValue = response;
|
||||
}
|
||||
return found;
|
||||
}
|
||||
};
|
||||
|
||||
module.preinitialize();
|
||||
|
||||
if(methodInvoked) {
|
||||
if(instance === undefined) {
|
||||
module.initialize();
|
||||
}
|
||||
module.invoke(query);
|
||||
}
|
||||
else {
|
||||
if(instance !== undefined) {
|
||||
instance.invoke('destroy');
|
||||
}
|
||||
module.initialize();
|
||||
}
|
||||
})
|
||||
;
|
||||
|
||||
return (returnedValue !== undefined)
|
||||
? returnedValue
|
||||
: this
|
||||
;
|
||||
};
|
||||
|
||||
$.fn.dimmer.settings = {
|
||||
|
||||
name : 'Dimmer',
|
||||
namespace : 'dimmer',
|
||||
|
||||
silent : false,
|
||||
debug : false,
|
||||
verbose : false,
|
||||
performance : true,
|
||||
|
||||
// whether should use flex layout
|
||||
useFlex : true,
|
||||
|
||||
// name to distinguish between multiple dimmers in context
|
||||
dimmerName : false,
|
||||
|
||||
// whether to add a variation type
|
||||
variation : false,
|
||||
|
||||
// whether to bind close events
|
||||
closable : 'auto',
|
||||
|
||||
// whether to use css animations
|
||||
useCSS : true,
|
||||
|
||||
// css animation to use
|
||||
transition : 'fade',
|
||||
|
||||
// event to bind to
|
||||
on : false,
|
||||
|
||||
// overriding opacity value
|
||||
opacity : 'auto',
|
||||
|
||||
// transition durations
|
||||
duration : {
|
||||
show : 500,
|
||||
hide : 500
|
||||
},
|
||||
// whether the dynamically created dimmer should have a loader
|
||||
displayLoader: false,
|
||||
loaderText : false,
|
||||
loaderVariation : '',
|
||||
|
||||
onChange : function(){},
|
||||
onShow : function(){},
|
||||
onHide : function(){},
|
||||
|
||||
error : {
|
||||
method : 'The method you called is not defined.'
|
||||
},
|
||||
|
||||
className : {
|
||||
active : 'active',
|
||||
animating : 'animating',
|
||||
dimmable : 'dimmable',
|
||||
dimmed : 'dimmed',
|
||||
dimmer : 'dimmer',
|
||||
disabled : 'disabled',
|
||||
hide : 'hide',
|
||||
legacy : 'legacy',
|
||||
pageDimmer : 'page',
|
||||
show : 'show',
|
||||
loader : 'ui loader'
|
||||
},
|
||||
|
||||
selector: {
|
||||
dimmer : '> .ui.dimmer',
|
||||
content : '.ui.dimmer > .content, .ui.dimmer > .content > .center'
|
||||
},
|
||||
|
||||
template: {
|
||||
dimmer: function(settings) {
|
||||
var d = $('<div/>').addClass('ui dimmer'),l;
|
||||
if(settings.displayLoader) {
|
||||
l = $('<div/>')
|
||||
.addClass(settings.className.loader)
|
||||
.addClass(settings.loaderVariation);
|
||||
if(!!settings.loaderText){
|
||||
l.text(settings.loaderText);
|
||||
l.addClass('text');
|
||||
}
|
||||
d.append(l);
|
||||
}
|
||||
return d;
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
})( jQuery, window, document );
|
||||
390
assets/semantic-ui/definitions/modules/dimmer.less
Normal file
390
assets/semantic-ui/definitions/modules/dimmer.less
Normal file
|
|
@ -0,0 +1,390 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Dimmer
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'module';
|
||||
@element : 'dimmer';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Dimmer
|
||||
*******************************/
|
||||
|
||||
.dimmable:not(body) {
|
||||
position: @dimmablePosition;
|
||||
}
|
||||
|
||||
.ui.dimmer {
|
||||
display: none;
|
||||
position: @dimmerPosition;
|
||||
top: 0 !important;
|
||||
left: 0 !important;
|
||||
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
text-align: @textAlign;
|
||||
vertical-align: @verticalAlign;
|
||||
padding: @padding;
|
||||
|
||||
background-color: @backgroundColor;
|
||||
opacity: @hiddenOpacity;
|
||||
line-height: @lineHeight;
|
||||
|
||||
animation-fill-mode: both;
|
||||
animation-duration: @duration;
|
||||
transition: @transition;
|
||||
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
user-select: none;
|
||||
will-change: opacity;
|
||||
z-index: @zIndex;
|
||||
}
|
||||
|
||||
/* Dimmer Content */
|
||||
.ui.dimmer > .content {
|
||||
user-select: text;
|
||||
color: @textColor;
|
||||
}
|
||||
|
||||
|
||||
/* Loose Coupling */
|
||||
.ui.segment > .ui.dimmer:not(.page) {
|
||||
border-radius: inherit;
|
||||
}
|
||||
|
||||
/* Scrollbars */
|
||||
.addScrollbars() when (@useCustomScrollbars) {
|
||||
.ui.dimmer:not(.inverted)::-webkit-scrollbar-track {
|
||||
background: @trackInvertedBackground;
|
||||
}
|
||||
.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb {
|
||||
background: @thumbInvertedBackground;
|
||||
}
|
||||
.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:window-inactive {
|
||||
background: @thumbInvertedInactiveBackground;
|
||||
}
|
||||
.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:hover {
|
||||
background: @thumbInvertedHoverBackground;
|
||||
}
|
||||
}
|
||||
.addScrollbars();
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
/* Animating */
|
||||
.animating.dimmable:not(body),
|
||||
.dimmed.dimmable:not(body) {
|
||||
overflow: @overflow;
|
||||
}
|
||||
|
||||
/* Animating / Active / Visible */
|
||||
.dimmed.dimmable > .ui.animating.dimmer,
|
||||
.dimmed.dimmable > .ui.visible.dimmer,
|
||||
.ui.active.dimmer {
|
||||
display: flex;
|
||||
opacity: @visibleOpacity;
|
||||
}
|
||||
|
||||
& when (@variationDimmerDisabled) {
|
||||
/* Disabled */
|
||||
.ui.disabled.dimmer {
|
||||
width: 0 !important;
|
||||
height: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
& when (@variationDimmerLegacy) {
|
||||
/*--------------
|
||||
Legacy
|
||||
---------------*/
|
||||
|
||||
/* Animating / Active / Visible */
|
||||
.dimmed.dimmable > .ui.animating.legacy.dimmer,
|
||||
.dimmed.dimmable > .ui.visible.legacy.dimmer,
|
||||
.ui.active.legacy.dimmer {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationDimmerAligned) {
|
||||
/*--------------
|
||||
Alignment
|
||||
---------------*/
|
||||
|
||||
.ui[class*="top aligned"].dimmer {
|
||||
justify-content: flex-start;
|
||||
}
|
||||
.ui[class*="bottom aligned"].dimmer {
|
||||
justify-content: flex-end;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationDimmerPage) {
|
||||
/*--------------
|
||||
Page
|
||||
---------------*/
|
||||
|
||||
.ui.page.dimmer {
|
||||
position: @pageDimmerPosition;
|
||||
transform-style: @transformStyle;
|
||||
perspective: @perspective;
|
||||
transform-origin: center center;
|
||||
&.modals {
|
||||
-moz-perspective: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
body.animating.in.dimmable,
|
||||
body.dimmed.dimmable {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
body.dimmable > .dimmer {
|
||||
position: fixed;
|
||||
}
|
||||
|
||||
& when (@variationDimmerBlurring) {
|
||||
/*--------------
|
||||
Blurring
|
||||
---------------*/
|
||||
|
||||
.blurring.dimmable > :not(.dimmer) {
|
||||
filter: @blurredStartFilter;
|
||||
transition: @blurredTransition;
|
||||
}
|
||||
.blurring.dimmed.dimmable > :not(.dimmer):not(.popup) {
|
||||
filter: @blurredEndFilter;
|
||||
}
|
||||
|
||||
/* Dimmer Color */
|
||||
.blurring.dimmable > .dimmer {
|
||||
background-color: @blurredBackgroundColor;
|
||||
}
|
||||
.blurring.dimmable > .inverted.dimmer {
|
||||
background-color: @blurredInvertedBackgroundColor;
|
||||
}
|
||||
}
|
||||
& when (@variationDimmerAligned) {
|
||||
/*--------------
|
||||
Aligned
|
||||
---------------*/
|
||||
|
||||
.ui.dimmer > .top.aligned.content > * {
|
||||
vertical-align: top;
|
||||
}
|
||||
.ui.dimmer > .bottom.aligned.content > * {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationDimmerShades) {
|
||||
/*--------------
|
||||
Shades
|
||||
---------------*/
|
||||
|
||||
.medium.medium.medium.medium.medium.dimmer {
|
||||
background-color: @mediumBackgroundColor;
|
||||
}
|
||||
.light.light.light.light.light.dimmer {
|
||||
background-color: @lightBackgroundColor;
|
||||
}
|
||||
.very.light.light.light.light.dimmer {
|
||||
background-color: @veryLightBackgroundColor;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationDimmerInverted) {
|
||||
/*--------------
|
||||
Inverted
|
||||
---------------*/
|
||||
|
||||
.ui.inverted.dimmer {
|
||||
background-color: @invertedBackgroundColor;
|
||||
}
|
||||
.ui.inverted.dimmer > .content,
|
||||
.ui.inverted.dimmer > .content > * {
|
||||
color: @invertedTextColor;
|
||||
}
|
||||
|
||||
& when (@variationDimmerShades) {
|
||||
/*--------------
|
||||
Inverted Shades
|
||||
---------------*/
|
||||
|
||||
.medium.medium.medium.medium.medium.inverted.dimmer {
|
||||
background-color: @mediumInvertedBackgroundColor;
|
||||
}
|
||||
.light.light.light.light.light.inverted.dimmer {
|
||||
background-color: @lightInvertedBackgroundColor;
|
||||
}
|
||||
.very.light.light.light.light.inverted.dimmer {
|
||||
background-color: @veryLightInvertedBackgroundColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationDimmerSimple) {
|
||||
/*--------------
|
||||
Simple
|
||||
---------------*/
|
||||
|
||||
/* Displays without javascript */
|
||||
.ui.simple.dimmer {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
opacity: 0;
|
||||
width: 0;
|
||||
height: 0;
|
||||
z-index: -100;
|
||||
background-color: @simpleStartBackgroundColor;
|
||||
}
|
||||
.dimmed.dimmable > .ui.simple.dimmer {
|
||||
overflow: visible;
|
||||
opacity: 1;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: @simpleEndBackgroundColor;
|
||||
z-index: @simpleZIndex;
|
||||
}
|
||||
|
||||
.ui.simple.inverted.dimmer {
|
||||
background-color: @simpleInvertedStartBackgroundColor;
|
||||
}
|
||||
.dimmed.dimmable > .ui.simple.inverted.dimmer {
|
||||
background-color: @simpleInvertedEndBackgroundColor;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationDimmerPartially) {
|
||||
/*--------------
|
||||
Partially
|
||||
----------------*/
|
||||
|
||||
.ui[class*="top dimmer"],
|
||||
.ui[class*="center dimmer"],
|
||||
.ui[class*="bottom dimmer"] {
|
||||
height: auto;
|
||||
}
|
||||
.ui[class*="bottom dimmer"] {
|
||||
top: auto !important;
|
||||
bottom: 0;
|
||||
}
|
||||
.ui[class*="center dimmer"] {
|
||||
top:50% !important;
|
||||
transform: translateY(-50%);
|
||||
-webkit-transform: translateY(calc(-50% - .5px));
|
||||
}
|
||||
|
||||
.ui.segment > .ui.ui[class*="top dimmer"] {
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
.ui.segment > .ui.ui[class*="center dimmer"] {
|
||||
border-radius: 0;
|
||||
}
|
||||
.ui.segment > .ui.ui[class*="bottom dimmer"] {
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
}
|
||||
|
||||
.ui[class*="center dimmer"].transition[class*="fade up"].in {
|
||||
animation-name: fadeInUpCenter;
|
||||
}
|
||||
.ui[class*="center dimmer"].transition[class*="fade down"].in {
|
||||
animation-name: fadeInDownCenter;
|
||||
}
|
||||
.ui[class*="center dimmer"].transition[class*="fade up"].out {
|
||||
animation-name: fadeOutUpCenter;
|
||||
}
|
||||
.ui[class*="center dimmer"].transition[class*="fade down"].out {
|
||||
animation-name: fadeOutDownCenter;
|
||||
}
|
||||
.ui[class*="center dimmer"].bounce.transition {
|
||||
animation-name: bounceCenter;
|
||||
}
|
||||
@keyframes fadeInUpCenter {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: translateY(-40%);
|
||||
-webkit-transform: translateY(calc(-40% - .5px));
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: translateY(-50%);
|
||||
-webkit-transform: translateY(calc(-50% - .5px));
|
||||
}
|
||||
}
|
||||
@keyframes fadeInDownCenter {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: translateY(-60%);
|
||||
-webkit-transform: translateY(calc(-60% - .5px));
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: translateY(-50%);
|
||||
-webkit-transform: translateY(calc(-50% - .5px));
|
||||
}
|
||||
}
|
||||
@keyframes fadeOutUpCenter {
|
||||
0% {
|
||||
opacity: 1;
|
||||
transform: translateY(-50%);
|
||||
-webkit-transform: translateY(calc(-50% - .5px));
|
||||
}
|
||||
100% {
|
||||
opacity: 0;
|
||||
transform: translateY(-45%);
|
||||
-webkit-transform: translateY(calc(-45% - .5px));
|
||||
}
|
||||
}
|
||||
@keyframes fadeOutDownCenter {
|
||||
0% {
|
||||
opacity: 1;
|
||||
transform: translateY(-50%);
|
||||
-webkit-transform: translateY(calc(-50% - .5px));
|
||||
}
|
||||
100% {
|
||||
opacity: 0;
|
||||
transform: translateY(-55%);
|
||||
-webkit-transform: translateY(calc(-55% - .5px));
|
||||
}
|
||||
}
|
||||
@keyframes bounceCenter {
|
||||
0%, 20%, 50%, 80%, 100% {
|
||||
transform: translateY(-50%);
|
||||
-webkit-transform: translateY(calc(-50% - .5px));
|
||||
}
|
||||
40% {
|
||||
transform: translateY(calc(-50% - 30px));
|
||||
}
|
||||
60% {
|
||||
transform: translateY(calc(-50% - 15px));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
4202
assets/semantic-ui/definitions/modules/dropdown.js
Normal file
4202
assets/semantic-ui/definitions/modules/dropdown.js
Normal file
File diff suppressed because it is too large
Load diff
1786
assets/semantic-ui/definitions/modules/dropdown.less
Normal file
1786
assets/semantic-ui/definitions/modules/dropdown.less
Normal file
File diff suppressed because it is too large
Load diff
709
assets/semantic-ui/definitions/modules/embed.js
Normal file
709
assets/semantic-ui/definitions/modules/embed.js
Normal file
|
|
@ -0,0 +1,709 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Embed
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
;(function ($, window, document, undefined) {
|
||||
|
||||
"use strict";
|
||||
|
||||
$.isFunction = $.isFunction || function(obj) {
|
||||
return typeof obj === "function" && typeof obj.nodeType !== "number";
|
||||
};
|
||||
|
||||
window = (typeof window != 'undefined' && window.Math == Math)
|
||||
? window
|
||||
: (typeof self != 'undefined' && self.Math == Math)
|
||||
? self
|
||||
: Function('return this')()
|
||||
;
|
||||
|
||||
$.fn.embed = function(parameters) {
|
||||
|
||||
var
|
||||
$allModules = $(this),
|
||||
|
||||
moduleSelector = $allModules.selector || '',
|
||||
|
||||
time = new Date().getTime(),
|
||||
performance = [],
|
||||
|
||||
query = arguments[0],
|
||||
methodInvoked = (typeof query == 'string'),
|
||||
queryArguments = [].slice.call(arguments, 1),
|
||||
|
||||
returnedValue
|
||||
;
|
||||
|
||||
$allModules
|
||||
.each(function() {
|
||||
var
|
||||
settings = ( $.isPlainObject(parameters) )
|
||||
? $.extend(true, {}, $.fn.embed.settings, parameters)
|
||||
: $.extend({}, $.fn.embed.settings),
|
||||
|
||||
selector = settings.selector,
|
||||
className = settings.className,
|
||||
sources = settings.sources,
|
||||
error = settings.error,
|
||||
metadata = settings.metadata,
|
||||
namespace = settings.namespace,
|
||||
templates = settings.templates,
|
||||
|
||||
eventNamespace = '.' + namespace,
|
||||
moduleNamespace = 'module-' + namespace,
|
||||
|
||||
$module = $(this),
|
||||
$placeholder = $module.find(selector.placeholder),
|
||||
$icon = $module.find(selector.icon),
|
||||
$embed = $module.find(selector.embed),
|
||||
|
||||
element = this,
|
||||
instance = $module.data(moduleNamespace),
|
||||
module
|
||||
;
|
||||
|
||||
module = {
|
||||
|
||||
initialize: function() {
|
||||
module.debug('Initializing embed');
|
||||
module.determine.autoplay();
|
||||
module.create();
|
||||
module.bind.events();
|
||||
module.instantiate();
|
||||
},
|
||||
|
||||
instantiate: function() {
|
||||
module.verbose('Storing instance of module', module);
|
||||
instance = module;
|
||||
$module
|
||||
.data(moduleNamespace, module)
|
||||
;
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
module.verbose('Destroying previous instance of embed');
|
||||
module.reset();
|
||||
$module
|
||||
.removeData(moduleNamespace)
|
||||
.off(eventNamespace)
|
||||
;
|
||||
},
|
||||
|
||||
refresh: function() {
|
||||
module.verbose('Refreshing selector cache');
|
||||
$placeholder = $module.find(selector.placeholder);
|
||||
$icon = $module.find(selector.icon);
|
||||
$embed = $module.find(selector.embed);
|
||||
},
|
||||
|
||||
bind: {
|
||||
events: function() {
|
||||
if( module.has.placeholder() ) {
|
||||
module.debug('Adding placeholder events');
|
||||
$module
|
||||
.on('click' + eventNamespace, selector.placeholder, module.createAndShow)
|
||||
.on('click' + eventNamespace, selector.icon, module.createAndShow)
|
||||
;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
create: function() {
|
||||
var
|
||||
placeholder = module.get.placeholder()
|
||||
;
|
||||
if(placeholder) {
|
||||
module.createPlaceholder();
|
||||
}
|
||||
else {
|
||||
module.createAndShow();
|
||||
}
|
||||
},
|
||||
|
||||
createPlaceholder: function(placeholder) {
|
||||
var
|
||||
icon = module.get.icon(),
|
||||
url = module.get.url(),
|
||||
embed = module.generate.embed(url)
|
||||
;
|
||||
placeholder = placeholder || module.get.placeholder();
|
||||
$module.html( templates.placeholder(placeholder, icon) );
|
||||
module.debug('Creating placeholder for embed', placeholder, icon);
|
||||
},
|
||||
|
||||
createEmbed: function(url) {
|
||||
module.refresh();
|
||||
url = url || module.get.url();
|
||||
$embed = $('<div/>')
|
||||
.addClass(className.embed)
|
||||
.html( module.generate.embed(url) )
|
||||
.appendTo($module)
|
||||
;
|
||||
settings.onCreate.call(element, url);
|
||||
module.debug('Creating embed object', $embed);
|
||||
},
|
||||
|
||||
changeEmbed: function(url) {
|
||||
$embed
|
||||
.html( module.generate.embed(url) )
|
||||
;
|
||||
},
|
||||
|
||||
createAndShow: function() {
|
||||
module.createEmbed();
|
||||
module.show();
|
||||
},
|
||||
|
||||
// sets new embed
|
||||
change: function(source, id, url) {
|
||||
module.debug('Changing video to ', source, id, url);
|
||||
$module
|
||||
.data(metadata.source, source)
|
||||
.data(metadata.id, id)
|
||||
;
|
||||
if(url) {
|
||||
$module.data(metadata.url, url);
|
||||
}
|
||||
else {
|
||||
$module.removeData(metadata.url);
|
||||
}
|
||||
if(module.has.embed()) {
|
||||
module.changeEmbed();
|
||||
}
|
||||
else {
|
||||
module.create();
|
||||
}
|
||||
},
|
||||
|
||||
// clears embed
|
||||
reset: function() {
|
||||
module.debug('Clearing embed and showing placeholder');
|
||||
module.remove.data();
|
||||
module.remove.active();
|
||||
module.remove.embed();
|
||||
module.showPlaceholder();
|
||||
settings.onReset.call(element);
|
||||
},
|
||||
|
||||
// shows current embed
|
||||
show: function() {
|
||||
module.debug('Showing embed');
|
||||
module.set.active();
|
||||
settings.onDisplay.call(element);
|
||||
},
|
||||
|
||||
hide: function() {
|
||||
module.debug('Hiding embed');
|
||||
module.showPlaceholder();
|
||||
},
|
||||
|
||||
showPlaceholder: function() {
|
||||
module.debug('Showing placeholder image');
|
||||
module.remove.active();
|
||||
settings.onPlaceholderDisplay.call(element);
|
||||
},
|
||||
|
||||
get: {
|
||||
id: function() {
|
||||
return settings.id || $module.data(metadata.id);
|
||||
},
|
||||
placeholder: function() {
|
||||
return settings.placeholder || $module.data(metadata.placeholder);
|
||||
},
|
||||
icon: function() {
|
||||
return (settings.icon)
|
||||
? settings.icon
|
||||
: ($module.data(metadata.icon) !== undefined)
|
||||
? $module.data(metadata.icon)
|
||||
: module.determine.icon()
|
||||
;
|
||||
},
|
||||
source: function(url) {
|
||||
return (settings.source)
|
||||
? settings.source
|
||||
: ($module.data(metadata.source) !== undefined)
|
||||
? $module.data(metadata.source)
|
||||
: module.determine.source()
|
||||
;
|
||||
},
|
||||
type: function() {
|
||||
var source = module.get.source();
|
||||
return (sources[source] !== undefined)
|
||||
? sources[source].type
|
||||
: false
|
||||
;
|
||||
},
|
||||
url: function() {
|
||||
return (settings.url)
|
||||
? settings.url
|
||||
: ($module.data(metadata.url) !== undefined)
|
||||
? $module.data(metadata.url)
|
||||
: module.determine.url()
|
||||
;
|
||||
}
|
||||
},
|
||||
|
||||
determine: {
|
||||
autoplay: function() {
|
||||
if(module.should.autoplay()) {
|
||||
settings.autoplay = true;
|
||||
}
|
||||
},
|
||||
source: function(url) {
|
||||
var
|
||||
matchedSource = false
|
||||
;
|
||||
url = url || module.get.url();
|
||||
if(url) {
|
||||
$.each(sources, function(name, source) {
|
||||
if(url.search(source.domain) !== -1) {
|
||||
matchedSource = name;
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
return matchedSource;
|
||||
},
|
||||
icon: function() {
|
||||
var
|
||||
source = module.get.source()
|
||||
;
|
||||
return (sources[source] !== undefined)
|
||||
? sources[source].icon
|
||||
: false
|
||||
;
|
||||
},
|
||||
url: function() {
|
||||
var
|
||||
id = settings.id || $module.data(metadata.id),
|
||||
source = settings.source || $module.data(metadata.source),
|
||||
url
|
||||
;
|
||||
url = (sources[source] !== undefined)
|
||||
? sources[source].url.replace('{id}', id)
|
||||
: false
|
||||
;
|
||||
if(url) {
|
||||
$module.data(metadata.url, url);
|
||||
}
|
||||
return url;
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
set: {
|
||||
active: function() {
|
||||
$module.addClass(className.active);
|
||||
}
|
||||
},
|
||||
|
||||
remove: {
|
||||
data: function() {
|
||||
$module
|
||||
.removeData(metadata.id)
|
||||
.removeData(metadata.icon)
|
||||
.removeData(metadata.placeholder)
|
||||
.removeData(metadata.source)
|
||||
.removeData(metadata.url)
|
||||
;
|
||||
},
|
||||
active: function() {
|
||||
$module.removeClass(className.active);
|
||||
},
|
||||
embed: function() {
|
||||
$embed.empty();
|
||||
}
|
||||
},
|
||||
|
||||
encode: {
|
||||
parameters: function(parameters) {
|
||||
var
|
||||
urlString = [],
|
||||
index
|
||||
;
|
||||
for (index in parameters) {
|
||||
urlString.push( encodeURIComponent(index) + '=' + encodeURIComponent( parameters[index] ) );
|
||||
}
|
||||
return urlString.join('&');
|
||||
}
|
||||
},
|
||||
|
||||
generate: {
|
||||
embed: function(url) {
|
||||
module.debug('Generating embed html');
|
||||
var
|
||||
source = module.get.source(),
|
||||
html,
|
||||
parameters
|
||||
;
|
||||
url = module.get.url(url);
|
||||
if(url) {
|
||||
parameters = module.generate.parameters(source);
|
||||
html = templates.iframe(url, parameters);
|
||||
}
|
||||
else {
|
||||
module.error(error.noURL, $module);
|
||||
}
|
||||
return html;
|
||||
},
|
||||
parameters: function(source, extraParameters) {
|
||||
var
|
||||
parameters = (sources[source] && sources[source].parameters !== undefined)
|
||||
? sources[source].parameters(settings)
|
||||
: {}
|
||||
;
|
||||
extraParameters = extraParameters || settings.parameters;
|
||||
if(extraParameters) {
|
||||
parameters = $.extend({}, parameters, extraParameters);
|
||||
}
|
||||
parameters = settings.onEmbed(parameters);
|
||||
return module.encode.parameters(parameters);
|
||||
}
|
||||
},
|
||||
|
||||
has: {
|
||||
embed: function() {
|
||||
return ($embed.length > 0);
|
||||
},
|
||||
placeholder: function() {
|
||||
return settings.placeholder || $module.data(metadata.placeholder);
|
||||
}
|
||||
},
|
||||
|
||||
should: {
|
||||
autoplay: function() {
|
||||
return (settings.autoplay === 'auto')
|
||||
? (settings.placeholder || $module.data(metadata.placeholder) !== undefined)
|
||||
: settings.autoplay
|
||||
;
|
||||
}
|
||||
},
|
||||
|
||||
is: {
|
||||
video: function() {
|
||||
return module.get.type() == 'video';
|
||||
}
|
||||
},
|
||||
|
||||
setting: function(name, value) {
|
||||
module.debug('Changing setting', name, value);
|
||||
if( $.isPlainObject(name) ) {
|
||||
$.extend(true, settings, name);
|
||||
}
|
||||
else if(value !== undefined) {
|
||||
if($.isPlainObject(settings[name])) {
|
||||
$.extend(true, settings[name], value);
|
||||
}
|
||||
else {
|
||||
settings[name] = value;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return settings[name];
|
||||
}
|
||||
},
|
||||
internal: function(name, value) {
|
||||
if( $.isPlainObject(name) ) {
|
||||
$.extend(true, module, name);
|
||||
}
|
||||
else if(value !== undefined) {
|
||||
module[name] = value;
|
||||
}
|
||||
else {
|
||||
return module[name];
|
||||
}
|
||||
},
|
||||
debug: function() {
|
||||
if(!settings.silent && settings.debug) {
|
||||
if(settings.performance) {
|
||||
module.performance.log(arguments);
|
||||
}
|
||||
else {
|
||||
module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
||||
module.debug.apply(console, arguments);
|
||||
}
|
||||
}
|
||||
},
|
||||
verbose: function() {
|
||||
if(!settings.silent && settings.verbose && settings.debug) {
|
||||
if(settings.performance) {
|
||||
module.performance.log(arguments);
|
||||
}
|
||||
else {
|
||||
module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
||||
module.verbose.apply(console, arguments);
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
if(!settings.silent) {
|
||||
module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
|
||||
module.error.apply(console, arguments);
|
||||
}
|
||||
},
|
||||
performance: {
|
||||
log: function(message) {
|
||||
var
|
||||
currentTime,
|
||||
executionTime,
|
||||
previousTime
|
||||
;
|
||||
if(settings.performance) {
|
||||
currentTime = new Date().getTime();
|
||||
previousTime = time || currentTime;
|
||||
executionTime = currentTime - previousTime;
|
||||
time = currentTime;
|
||||
performance.push({
|
||||
'Name' : message[0],
|
||||
'Arguments' : [].slice.call(message, 1) || '',
|
||||
'Element' : element,
|
||||
'Execution Time' : executionTime
|
||||
});
|
||||
}
|
||||
clearTimeout(module.performance.timer);
|
||||
module.performance.timer = setTimeout(module.performance.display, 500);
|
||||
},
|
||||
display: function() {
|
||||
var
|
||||
title = settings.name + ':',
|
||||
totalTime = 0
|
||||
;
|
||||
time = false;
|
||||
clearTimeout(module.performance.timer);
|
||||
$.each(performance, function(index, data) {
|
||||
totalTime += data['Execution Time'];
|
||||
});
|
||||
title += ' ' + totalTime + 'ms';
|
||||
if(moduleSelector) {
|
||||
title += ' \'' + moduleSelector + '\'';
|
||||
}
|
||||
if($allModules.length > 1) {
|
||||
title += ' ' + '(' + $allModules.length + ')';
|
||||
}
|
||||
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
|
||||
console.groupCollapsed(title);
|
||||
if(console.table) {
|
||||
console.table(performance);
|
||||
}
|
||||
else {
|
||||
$.each(performance, function(index, data) {
|
||||
console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
|
||||
});
|
||||
}
|
||||
console.groupEnd();
|
||||
}
|
||||
performance = [];
|
||||
}
|
||||
},
|
||||
invoke: function(query, passedArguments, context) {
|
||||
var
|
||||
object = instance,
|
||||
maxDepth,
|
||||
found,
|
||||
response
|
||||
;
|
||||
passedArguments = passedArguments || queryArguments;
|
||||
context = element || context;
|
||||
if(typeof query == 'string' && object !== undefined) {
|
||||
query = query.split(/[\. ]/);
|
||||
maxDepth = query.length - 1;
|
||||
$.each(query, function(depth, value) {
|
||||
var camelCaseValue = (depth != maxDepth)
|
||||
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
||||
: query
|
||||
;
|
||||
if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {
|
||||
object = object[camelCaseValue];
|
||||
}
|
||||
else if( object[camelCaseValue] !== undefined ) {
|
||||
found = object[camelCaseValue];
|
||||
return false;
|
||||
}
|
||||
else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
|
||||
object = object[value];
|
||||
}
|
||||
else if( object[value] !== undefined ) {
|
||||
found = object[value];
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
module.error(error.method, query);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
if ( $.isFunction( found ) ) {
|
||||
response = found.apply(context, passedArguments);
|
||||
}
|
||||
else if(found !== undefined) {
|
||||
response = found;
|
||||
}
|
||||
if(Array.isArray(returnedValue)) {
|
||||
returnedValue.push(response);
|
||||
}
|
||||
else if(returnedValue !== undefined) {
|
||||
returnedValue = [returnedValue, response];
|
||||
}
|
||||
else if(response !== undefined) {
|
||||
returnedValue = response;
|
||||
}
|
||||
return found;
|
||||
}
|
||||
};
|
||||
|
||||
if(methodInvoked) {
|
||||
if(instance === undefined) {
|
||||
module.initialize();
|
||||
}
|
||||
module.invoke(query);
|
||||
}
|
||||
else {
|
||||
if(instance !== undefined) {
|
||||
instance.invoke('destroy');
|
||||
}
|
||||
module.initialize();
|
||||
}
|
||||
})
|
||||
;
|
||||
return (returnedValue !== undefined)
|
||||
? returnedValue
|
||||
: this
|
||||
;
|
||||
};
|
||||
|
||||
$.fn.embed.settings = {
|
||||
|
||||
name : 'Embed',
|
||||
namespace : 'embed',
|
||||
|
||||
silent : false,
|
||||
debug : false,
|
||||
verbose : false,
|
||||
performance : true,
|
||||
|
||||
icon : false,
|
||||
source : false,
|
||||
url : false,
|
||||
id : false,
|
||||
|
||||
// standard video settings
|
||||
autoplay : 'auto',
|
||||
color : '#444444',
|
||||
hd : true,
|
||||
brandedUI : false,
|
||||
|
||||
// additional parameters to include with the embed
|
||||
parameters: false,
|
||||
|
||||
onDisplay : function() {},
|
||||
onPlaceholderDisplay : function() {},
|
||||
onReset : function() {},
|
||||
onCreate : function(url) {},
|
||||
onEmbed : function(parameters) {
|
||||
return parameters;
|
||||
},
|
||||
|
||||
metadata : {
|
||||
id : 'id',
|
||||
icon : 'icon',
|
||||
placeholder : 'placeholder',
|
||||
source : 'source',
|
||||
url : 'url'
|
||||
},
|
||||
|
||||
error : {
|
||||
noURL : 'No URL specified',
|
||||
method : 'The method you called is not defined'
|
||||
},
|
||||
|
||||
className : {
|
||||
active : 'active',
|
||||
embed : 'embed'
|
||||
},
|
||||
|
||||
selector : {
|
||||
embed : '.embed',
|
||||
placeholder : '.placeholder',
|
||||
icon : '.icon'
|
||||
},
|
||||
|
||||
sources: {
|
||||
youtube: {
|
||||
name : 'youtube',
|
||||
type : 'video',
|
||||
icon : 'video play',
|
||||
domain : 'youtube.com',
|
||||
url : '//www.youtube.com/embed/{id}',
|
||||
parameters: function(settings) {
|
||||
return {
|
||||
autohide : !settings.brandedUI,
|
||||
autoplay : settings.autoplay,
|
||||
color : settings.color || undefined,
|
||||
hq : settings.hd,
|
||||
jsapi : settings.api,
|
||||
modestbranding : !settings.brandedUI
|
||||
};
|
||||
}
|
||||
},
|
||||
vimeo: {
|
||||
name : 'vimeo',
|
||||
type : 'video',
|
||||
icon : 'video play',
|
||||
domain : 'vimeo.com',
|
||||
url : '//player.vimeo.com/video/{id}',
|
||||
parameters: function(settings) {
|
||||
return {
|
||||
api : settings.api,
|
||||
autoplay : settings.autoplay,
|
||||
byline : settings.brandedUI,
|
||||
color : settings.color || undefined,
|
||||
portrait : settings.brandedUI,
|
||||
title : settings.brandedUI
|
||||
};
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
templates: {
|
||||
iframe : function(url, parameters) {
|
||||
var src = url;
|
||||
if (parameters) {
|
||||
src += '?' + parameters;
|
||||
}
|
||||
return ''
|
||||
+ '<iframe src="' + src + '"'
|
||||
+ ' width="100%" height="100%"'
|
||||
+ ' webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>'
|
||||
;
|
||||
},
|
||||
placeholder : function(image, icon) {
|
||||
var
|
||||
html = ''
|
||||
;
|
||||
if(icon) {
|
||||
html += '<i class="' + icon + ' icon"></i>';
|
||||
}
|
||||
if(image) {
|
||||
html += '<img class="placeholder" src="' + image + '">';
|
||||
}
|
||||
return html;
|
||||
}
|
||||
},
|
||||
|
||||
// NOT YET IMPLEMENTED
|
||||
api : false,
|
||||
onPause : function() {},
|
||||
onPlay : function() {},
|
||||
onStop : function() {}
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
})( jQuery, window, document );
|
||||
160
assets/semantic-ui/definitions/modules/embed.less
Normal file
160
assets/semantic-ui/definitions/modules/embed.less
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Video
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'module';
|
||||
@element : 'embed';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Types
|
||||
*******************************/
|
||||
|
||||
.ui.embed {
|
||||
position: relative;
|
||||
max-width: 100%;
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
background: @background;
|
||||
padding-bottom: @widescreenRatio;
|
||||
}
|
||||
|
||||
/*-----------------
|
||||
Embedded Content
|
||||
------------------*/
|
||||
|
||||
.ui.embed iframe,
|
||||
.ui.embed embed,
|
||||
.ui.embed object {
|
||||
position: absolute;
|
||||
border: none;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/*-----------------
|
||||
Embed
|
||||
------------------*/
|
||||
|
||||
.ui.embed > .embed {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Placeholder
|
||||
---------------*/
|
||||
|
||||
.ui.embed > .placeholder {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: @placeholderBackground;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Icon
|
||||
---------------*/
|
||||
|
||||
.ui.embed > .icon {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 2;
|
||||
}
|
||||
.ui.embed > .icon:after {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 3;
|
||||
content: '';
|
||||
background: @placeholderBackground;
|
||||
opacity: @placeholderBackgroundOpacity;
|
||||
transition: @placeholderBackgroundTransition;
|
||||
}
|
||||
.ui.embed > .icon:before {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translateX(-50%) translateY(-50%);
|
||||
|
||||
color: @iconColor;
|
||||
font-size: @iconSize;
|
||||
text-shadow: @iconShadow;
|
||||
transition: @iconTransition;
|
||||
z-index: @iconZIndex;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
/*--------------
|
||||
Hover
|
||||
---------------*/
|
||||
|
||||
.ui.embed .icon:hover:after {
|
||||
background: @hoverPlaceholderBackground;
|
||||
opacity: @hoverPlaceholderBackgroundOpacity;
|
||||
}
|
||||
.ui.embed .icon:hover:before {
|
||||
color: @hoverIconColor;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Active
|
||||
---------------*/
|
||||
|
||||
.ui.active.embed > .icon,
|
||||
.ui.active.embed > .placeholder {
|
||||
display: none;
|
||||
}
|
||||
.ui.active.embed > .embed {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
& when (@variationEmbedRatio) {
|
||||
.ui.square.embed {
|
||||
padding-bottom: @squareRatio;
|
||||
}
|
||||
.ui[class*="4:3"].embed {
|
||||
padding-bottom: @standardRatio;
|
||||
}
|
||||
.ui[class*="16:9"].embed {
|
||||
padding-bottom: @widescreenRatio;
|
||||
}
|
||||
.ui[class*="21:9"].embed {
|
||||
padding-bottom: @ultraWidescreenRatio;
|
||||
}
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
1209
assets/semantic-ui/definitions/modules/modal.js
Normal file
1209
assets/semantic-ui/definitions/modules/modal.js
Normal file
File diff suppressed because it is too large
Load diff
583
assets/semantic-ui/definitions/modules/modal.less
Normal file
583
assets/semantic-ui/definitions/modules/modal.less
Normal file
|
|
@ -0,0 +1,583 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Modal
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'module';
|
||||
@element : 'modal';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Modal
|
||||
*******************************/
|
||||
|
||||
.ui.modal {
|
||||
position: absolute;
|
||||
display: none;
|
||||
z-index: @zIndex;
|
||||
text-align: left;
|
||||
|
||||
background: @background;
|
||||
border: @border;
|
||||
box-shadow: @boxShadow;
|
||||
transform-origin: @transformOrigin;
|
||||
|
||||
flex: 0 0 auto;
|
||||
|
||||
border-radius: @borderRadius;
|
||||
user-select: text;
|
||||
will-change: top, left, margin, transform, opacity;
|
||||
}
|
||||
|
||||
.ui.modal > :first-child:not(.icon):not(.dimmer),
|
||||
.ui.modal > .icon:first-child + *,
|
||||
.ui.modal > .dimmer:first-child + *:not(.icon),
|
||||
.ui.modal > .dimmer:first-child + .icon + * {
|
||||
border-top-left-radius: @borderRadius;
|
||||
border-top-right-radius: @borderRadius;
|
||||
}
|
||||
|
||||
.ui.modal > :last-child {
|
||||
border-bottom-left-radius: @borderRadius;
|
||||
border-bottom-right-radius: @borderRadius;
|
||||
}
|
||||
|
||||
.ui.modal > .ui.dimmer {
|
||||
border-radius: inherit;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Content
|
||||
*******************************/
|
||||
|
||||
/*--------------
|
||||
Close
|
||||
---------------*/
|
||||
|
||||
.ui.modal > .close {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
top: @closeTop;
|
||||
right: @closeRight;
|
||||
z-index: 1;
|
||||
|
||||
opacity: @closeOpacity;
|
||||
font-size: @closeSize;
|
||||
color: @closeColor;
|
||||
|
||||
width: @closeHitbox;
|
||||
height: @closeHitbox;
|
||||
padding: @closePadding;
|
||||
}
|
||||
.ui.modal > .close:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Header
|
||||
---------------*/
|
||||
|
||||
.ui.modal > .header {
|
||||
display: block;
|
||||
font-family: @headerFontFamily;
|
||||
background: @headerBackground;
|
||||
margin: @headerMargin;
|
||||
padding: @headerPadding;
|
||||
box-shadow: @headerBoxShadow;
|
||||
|
||||
color: @headerColor;
|
||||
border-bottom: @headerBorder;
|
||||
}
|
||||
.ui.modal > .header:not(.ui) {
|
||||
font-size: @headerFontSize;
|
||||
line-height: @headerLineHeight;
|
||||
font-weight: @headerFontWeight;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Content
|
||||
---------------*/
|
||||
|
||||
.ui.modal > .content {
|
||||
display: block;
|
||||
width: 100%;
|
||||
font-size: @contentFontSize;
|
||||
line-height: @contentLineHeight;
|
||||
padding: @contentPadding;
|
||||
background: @contentBackground;
|
||||
}
|
||||
.ui.modal > .image.content {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
/* Image */
|
||||
.ui.modal > .content > .image {
|
||||
display: block;
|
||||
flex: 0 1 auto;
|
||||
width: @imageWidth;
|
||||
align-self: @imageVerticalAlign;
|
||||
max-width: 100%;
|
||||
}
|
||||
.ui.modal > [class*="top aligned"] {
|
||||
align-self: start;
|
||||
}
|
||||
.ui.modal > [class*="middle aligned"] {
|
||||
align-self: center;
|
||||
}
|
||||
.ui.modal > [class*="stretched"] {
|
||||
align-self: stretch;
|
||||
}
|
||||
|
||||
/* Description */
|
||||
.ui.modal > .content > .description {
|
||||
display: block;
|
||||
flex: 1 0 auto;
|
||||
min-width: 0;
|
||||
align-self: @descriptionVerticalAlign;
|
||||
}
|
||||
|
||||
.ui.modal > .content > .icon + .description,
|
||||
.ui.modal > .content > .image + .description {
|
||||
flex: 0 1 auto;
|
||||
min-width: @descriptionMinWidth;
|
||||
width: @descriptionWidth;
|
||||
padding-left: @descriptionDistance;
|
||||
}
|
||||
|
||||
/*rtl:ignore*/
|
||||
.ui.modal > .content > .image > i.icon {
|
||||
margin: 0;
|
||||
opacity: 1;
|
||||
width: auto;
|
||||
line-height: 1;
|
||||
font-size: @imageIconSize;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Actions
|
||||
---------------*/
|
||||
|
||||
.ui.modal > .actions {
|
||||
background: @actionBackground;
|
||||
padding: @actionPadding;
|
||||
border-top: @actionBorder;
|
||||
text-align: @actionAlign;
|
||||
}
|
||||
.ui.modal .actions > .button:not(.fluid) {
|
||||
margin-left: @buttonDistance;
|
||||
}
|
||||
.ui.basic.modal > .actions {
|
||||
border-top:none;
|
||||
}
|
||||
|
||||
/*-------------------
|
||||
Responsive
|
||||
--------------------*/
|
||||
|
||||
/* Modal Width */
|
||||
@media only screen and (max-width : @largestMobileScreen) {
|
||||
.ui.modal:not(.fullscreen) {
|
||||
width: @mobileWidth;
|
||||
margin: @mobileMargin;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width : @tabletBreakpoint) {
|
||||
.ui.modal:not(.fullscreen) {
|
||||
width: @tabletWidth;
|
||||
margin: @tabletMargin;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width : @computerBreakpoint) {
|
||||
.ui.modal:not(.fullscreen) {
|
||||
width: @computerWidth;
|
||||
margin: @computerMargin;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width : @largeMonitorBreakpoint) {
|
||||
.ui.modal:not(.fullscreen) {
|
||||
width: @largeMonitorWidth;
|
||||
margin: @largeMonitorMargin;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width : @widescreenMonitorBreakpoint) {
|
||||
.ui.modal:not(.fullscreen) {
|
||||
width: @widescreenMonitorWidth;
|
||||
margin: @widescreenMonitorMargin;
|
||||
}
|
||||
}
|
||||
|
||||
/* Tablet and Mobile */
|
||||
@media only screen and (max-width : @largestTabletScreen) {
|
||||
.ui.modal > .header {
|
||||
padding-right: @closeHitbox;
|
||||
}
|
||||
.ui.modal > .close {
|
||||
top: @innerCloseTop;
|
||||
right: @innerCloseRight;
|
||||
color: @innerCloseColor;
|
||||
}
|
||||
}
|
||||
|
||||
/* Mobile */
|
||||
@media only screen and (max-width : @largestMobileScreen) {
|
||||
|
||||
.ui.modal > .header {
|
||||
padding: @mobileHeaderPadding !important;
|
||||
padding-right: @closeHitbox !important;
|
||||
}
|
||||
.ui.overlay.fullscreen.modal > .content.content.content {
|
||||
min-height: @overlayFullscreenScrollingContentMaxHeightMobile;
|
||||
}
|
||||
.ui.overlay.fullscreen.modal > .scrolling.content.content.content {
|
||||
max-height: @overlayFullscreenScrollingContentMaxHeightMobile;
|
||||
}
|
||||
.ui.modal > .content {
|
||||
display: block;
|
||||
padding: @mobileContentPadding !important;
|
||||
}
|
||||
.ui.modal > .close {
|
||||
top: @mobileCloseTop !important;
|
||||
right: @mobileCloseRight !important;
|
||||
}
|
||||
|
||||
/*rtl:ignore*/
|
||||
.ui.modal .image.content {
|
||||
flex-direction: column;
|
||||
}
|
||||
.ui.modal > .content > .image {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
margin: 0 auto !important;
|
||||
text-align: center;
|
||||
padding: @mobileImagePadding !important;
|
||||
}
|
||||
.ui.modal > .content > .image > i.icon {
|
||||
font-size: @mobileImageIconSize;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/*rtl:ignore*/
|
||||
.ui.modal > .content > .description {
|
||||
display: block;
|
||||
width: 100% !important;
|
||||
margin: 0 !important;
|
||||
padding: @mobileDescriptionPadding !important;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Let Buttons Stack */
|
||||
.ui.modal > .actions {
|
||||
padding: @mobileActionPadding !important;
|
||||
}
|
||||
.ui.modal .actions > .buttons,
|
||||
.ui.modal .actions > .button {
|
||||
margin-bottom: @mobileButtonDistance;
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Coupling
|
||||
---------------*/
|
||||
|
||||
.ui.inverted.dimmer > .ui.modal {
|
||||
box-shadow: @invertedBoxShadow;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Types
|
||||
*******************************/
|
||||
& when (@variationModalBasic) {
|
||||
.ui.basic.modal {
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
box-shadow: none !important;
|
||||
color: @basicModalColor;
|
||||
}
|
||||
.ui.basic.modal > .header,
|
||||
.ui.basic.modal > .content,
|
||||
.ui.basic.modal > .actions {
|
||||
background-color: transparent;
|
||||
}
|
||||
.ui.basic.modal > .header {
|
||||
color: @basicModalHeaderColor;
|
||||
border-bottom: none;
|
||||
}
|
||||
.ui.basic.modal > .close {
|
||||
top: @basicModalCloseTop;
|
||||
right: @basicModalCloseRight;
|
||||
color: @basicInnerCloseColor;
|
||||
}
|
||||
.ui.inverted.dimmer > .basic.modal {
|
||||
color: @basicInvertedModalColor;
|
||||
}
|
||||
.ui.inverted.dimmer > .ui.basic.modal > .header {
|
||||
color: @basicInvertedModalHeaderColor;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationModalLegacy) {
|
||||
/* Resort to margin positioning if legacy */
|
||||
.ui.legacy.legacy.modal,
|
||||
.ui.legacy.legacy.page.dimmer > .ui.modal {
|
||||
left: 50% !important;
|
||||
}
|
||||
.ui.legacy.legacy.modal:not(.aligned),
|
||||
.ui.legacy.legacy.page.dimmer > .ui.modal:not(.aligned) {
|
||||
top: 50%;
|
||||
}
|
||||
.ui.legacy.legacy.page.dimmer > .ui.scrolling.modal:not(.aligned),
|
||||
.ui.page.dimmer > .ui.scrolling.legacy.legacy.modal:not(.aligned),
|
||||
.ui.top.aligned.legacy.legacy.page.dimmer > .ui.modal:not(.aligned),
|
||||
.ui.top.aligned.dimmer > .ui.legacy.legacy.modal:not(.aligned) {
|
||||
top: auto;
|
||||
}
|
||||
& when (@variationModalOverlay) {
|
||||
.ui.legacy.overlay.fullscreen.modal {
|
||||
margin-top: -@scrollingMargin !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
.ui.loading.modal {
|
||||
display: block;
|
||||
visibility: hidden;
|
||||
z-index: @loadingZIndex;
|
||||
}
|
||||
|
||||
.ui.active.modal {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
& when (@variationModalAligned) {
|
||||
/*--------------
|
||||
Aligned
|
||||
---------------*/
|
||||
|
||||
.modals.dimmer .ui.top.aligned.modal {
|
||||
top: @topAlignedMargin;
|
||||
}
|
||||
.modals.dimmer .ui.bottom.aligned.modal {
|
||||
bottom: @bottomAlignedMargin;
|
||||
}
|
||||
|
||||
@media only screen and (max-width : @largestMobileScreen) {
|
||||
.modals.dimmer .ui.top.aligned.modal {
|
||||
top: @mobileTopAlignedMargin;
|
||||
}
|
||||
.modals.dimmer .ui.bottom.aligned.modal {
|
||||
bottom: @mobileBottomAlignedMargin;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationModalScrolling) {
|
||||
/*--------------
|
||||
Scrolling
|
||||
---------------*/
|
||||
|
||||
/* Scrolling Dimmer */
|
||||
.scrolling.dimmable.dimmed {
|
||||
overflow: hidden;
|
||||
}
|
||||
.scrolling.dimmable > .dimmer {
|
||||
justify-content: flex-start;
|
||||
position: fixed;
|
||||
}
|
||||
.scrolling.dimmable.dimmed > .dimmer {
|
||||
overflow: auto;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
.modals.dimmer .ui.scrolling.modal:not(.fullscreen) {
|
||||
margin: @scrollingMargin auto;
|
||||
}
|
||||
/* Fix for Firefox, Edge, IE11 */
|
||||
.modals.dimmer .ui.scrolling.modal:not([class*="overlay fullscreen"])::after {
|
||||
content:'\00A0';
|
||||
position: absolute;
|
||||
height: @scrollingMargin;
|
||||
}
|
||||
/* Undetached Scrolling */
|
||||
.scrolling.undetached.dimmable.dimmed {
|
||||
overflow: auto;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
.scrolling.undetached.dimmable.dimmed > .dimmer {
|
||||
overflow: hidden;
|
||||
}
|
||||
.scrolling.undetached.dimmable .ui.scrolling.modal:not(.fullscreen) {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
|
||||
}
|
||||
|
||||
/* Scrolling Content */
|
||||
.ui.modal > .scrolling.content {
|
||||
max-height: @scrollingContentMaxHeight;
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationModalOverlay) {
|
||||
.ui.overlay.fullscreen.modal > .content {
|
||||
min-height: @overlayFullscreenScrollingContentMaxHeight;
|
||||
}
|
||||
.ui.overlay.fullscreen.modal > .scrolling.content {
|
||||
max-height: @overlayFullscreenScrollingContentMaxHeight;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationModalFullscreen) or (@variationModalOverlay) or (@variationModalCloseInside) {
|
||||
/*--------------
|
||||
Full Screen
|
||||
---------------*/
|
||||
|
||||
.ui.fullscreen.modal {
|
||||
width: @fullScreenWidth;
|
||||
left: @fullScreenOffset;
|
||||
margin: @fullScreenMargin;
|
||||
}
|
||||
& when (@variationModalOverlay) {
|
||||
.ui.overlay.fullscreen.modal {
|
||||
width: 100%;
|
||||
left: 0;
|
||||
margin: 0 auto;
|
||||
top: 0;
|
||||
border-radius:0;
|
||||
}
|
||||
}
|
||||
.ui.modal > .close.inside + .header,
|
||||
.ui.fullscreen.modal > .header {
|
||||
padding-right: @closeHitbox;
|
||||
}
|
||||
.ui.modal > .close.inside,
|
||||
.ui.fullscreen.modal > .close {
|
||||
top: @innerCloseTop;
|
||||
right: @innerCloseRight;
|
||||
color: @innerCloseColor;
|
||||
}
|
||||
& when (@variationModalBasic) {
|
||||
.ui.basic.fullscreen.modal > .close {
|
||||
color: @basicInnerCloseColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
/*--------------
|
||||
Size
|
||||
---------------*/
|
||||
|
||||
.ui.modal {
|
||||
font-size: @medium;
|
||||
}
|
||||
& when not (@variationModalSizes = false) {
|
||||
each(@variationModalSizes, {
|
||||
@hs: @{value}HeaderSize;
|
||||
@mw: @{value}MobileWidth;
|
||||
@mm: @{value}MobileMargin;
|
||||
@tw: @{value}TabletWidth;
|
||||
@tm: @{value}TabletMargin;
|
||||
@cw: @{value}ComputerWidth;
|
||||
@cm: @{value}ComputerMargin;
|
||||
@lw: @{value}LargeMonitorWidth;
|
||||
@lm: @{value}LargeMonitorMargin;
|
||||
@ww: @{value}WidescreenMonitorWidth;
|
||||
@wm: @{value}WidescreenMonitorMargin;
|
||||
.ui.@{value}.modal > .header:not(.ui) {
|
||||
font-size: @@hs;
|
||||
}
|
||||
@media only screen and (max-width : @largestMobileScreen) {
|
||||
.ui.@{value}.modal {
|
||||
width: @@mw;
|
||||
margin: @@mm;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width : @tabletBreakpoint) {
|
||||
.ui.@{value}.modal {
|
||||
width: @@tw;
|
||||
margin: @@tm;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width : @computerBreakpoint) {
|
||||
.ui.@{value}.modal {
|
||||
width: @@cw;
|
||||
margin: @@cm;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width : @largeMonitorBreakpoint) {
|
||||
.ui.@{value}.modal {
|
||||
width: @@lw;
|
||||
margin: @@lm;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width : @widescreenMonitorBreakpoint) {
|
||||
.ui.@{value}.modal {
|
||||
width: @@ww;
|
||||
margin: @@wm;
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
& when (@variationModalInverted) {
|
||||
/*****************************
|
||||
Inverted
|
||||
*******************************/
|
||||
|
||||
.ui.inverted.modal {
|
||||
background: @invertedBackground;
|
||||
}
|
||||
|
||||
.ui.inverted.modal > .header,
|
||||
.ui.inverted.modal > .content {
|
||||
background: @invertedBackground;
|
||||
color: @invertedHeaderColor;
|
||||
}
|
||||
|
||||
.ui.inverted.modal > .actions {
|
||||
background: @invertedActionBackground;
|
||||
border-top: @invertedActionBorder;
|
||||
color: @invertedActionColor;
|
||||
}
|
||||
|
||||
.ui.inverted.dimmer > .modal > .close {
|
||||
color: @invertedDimmerCloseColor;
|
||||
}
|
||||
|
||||
|
||||
@media only screen and (max-width: @largestTabletScreen) {
|
||||
.ui.dimmer .inverted.modal > .close {
|
||||
color: @invertedCloseColor;
|
||||
}
|
||||
}
|
||||
& when (@variationModalFullscreen) or (@variationModalCloseInside) {
|
||||
.ui.inverted.modal > .close.inside,
|
||||
.ui.inverted.fullscreen.modal > .close {
|
||||
color: @invertedCloseColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.loadUIOverrides();
|
||||
492
assets/semantic-ui/definitions/modules/nag.js
Normal file
492
assets/semantic-ui/definitions/modules/nag.js
Normal file
|
|
@ -0,0 +1,492 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Nag
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
;(function ($, window, document, undefined) {
|
||||
|
||||
'use strict';
|
||||
|
||||
$.isFunction = $.isFunction || function(obj) {
|
||||
return typeof obj === "function" && typeof obj.nodeType !== "number";
|
||||
};
|
||||
|
||||
window = (typeof window != 'undefined' && window.Math == Math)
|
||||
? window
|
||||
: (typeof self != 'undefined' && self.Math == Math)
|
||||
? self
|
||||
: Function('return this')()
|
||||
;
|
||||
|
||||
$.fn.nag = function(parameters) {
|
||||
var
|
||||
$allModules = $(this),
|
||||
moduleSelector = $allModules.selector || '',
|
||||
|
||||
time = new Date().getTime(),
|
||||
performance = [],
|
||||
|
||||
query = arguments[0],
|
||||
methodInvoked = (typeof query == 'string'),
|
||||
queryArguments = [].slice.call(arguments, 1),
|
||||
returnedValue
|
||||
;
|
||||
$allModules
|
||||
.each(function() {
|
||||
var
|
||||
settings = ( $.isPlainObject(parameters) )
|
||||
? $.extend(true, {}, $.fn.nag.settings, parameters)
|
||||
: $.extend({}, $.fn.nag.settings),
|
||||
|
||||
selector = settings.selector,
|
||||
error = settings.error,
|
||||
namespace = settings.namespace,
|
||||
|
||||
eventNamespace = '.' + namespace,
|
||||
moduleNamespace = namespace + '-module',
|
||||
|
||||
$module = $(this),
|
||||
|
||||
$context = (settings.context)
|
||||
? $(settings.context)
|
||||
: $('body'),
|
||||
|
||||
element = this,
|
||||
instance = $module.data(moduleNamespace),
|
||||
|
||||
module
|
||||
;
|
||||
module = {
|
||||
|
||||
initialize: function() {
|
||||
module.verbose('Initializing element');
|
||||
|
||||
$module
|
||||
.on('click' + eventNamespace, selector.close, module.dismiss)
|
||||
.data(moduleNamespace, module)
|
||||
;
|
||||
|
||||
if(settings.detachable && $module.parent()[0] !== $context[0]) {
|
||||
$module
|
||||
.detach()
|
||||
.prependTo($context)
|
||||
;
|
||||
}
|
||||
|
||||
if(settings.displayTime > 0) {
|
||||
setTimeout(module.hide, settings.displayTime);
|
||||
}
|
||||
module.show();
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
module.verbose('Destroying instance');
|
||||
$module
|
||||
.removeData(moduleNamespace)
|
||||
.off(eventNamespace)
|
||||
;
|
||||
},
|
||||
|
||||
show: function() {
|
||||
if( module.should.show() && !$module.is(':visible') ) {
|
||||
module.debug('Showing nag', settings.animation.show);
|
||||
if(settings.animation.show == 'fade') {
|
||||
$module
|
||||
.fadeIn(settings.duration, settings.easing)
|
||||
;
|
||||
}
|
||||
else {
|
||||
$module
|
||||
.slideDown(settings.duration, settings.easing)
|
||||
;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
hide: function() {
|
||||
module.debug('Showing nag', settings.animation.hide);
|
||||
if(settings.animation.show == 'fade') {
|
||||
$module
|
||||
.fadeIn(settings.duration, settings.easing)
|
||||
;
|
||||
}
|
||||
else {
|
||||
$module
|
||||
.slideUp(settings.duration, settings.easing)
|
||||
;
|
||||
}
|
||||
},
|
||||
|
||||
onHide: function() {
|
||||
module.debug('Removing nag', settings.animation.hide);
|
||||
$module.remove();
|
||||
if (settings.onHide) {
|
||||
settings.onHide();
|
||||
}
|
||||
},
|
||||
|
||||
dismiss: function(event) {
|
||||
if(settings.storageMethod) {
|
||||
module.storage.set(settings.key, settings.value);
|
||||
}
|
||||
module.hide();
|
||||
event.stopImmediatePropagation();
|
||||
event.preventDefault();
|
||||
},
|
||||
|
||||
should: {
|
||||
show: function() {
|
||||
if(settings.persist) {
|
||||
module.debug('Persistent nag is set, can show nag');
|
||||
return true;
|
||||
}
|
||||
if( module.storage.get(settings.key) != settings.value.toString() ) {
|
||||
module.debug('Stored value is not set, can show nag', module.storage.get(settings.key));
|
||||
return true;
|
||||
}
|
||||
module.debug('Stored value is set, cannot show nag', module.storage.get(settings.key));
|
||||
return false;
|
||||
}
|
||||
},
|
||||
|
||||
get: {
|
||||
storageOptions: function() {
|
||||
var
|
||||
options = {}
|
||||
;
|
||||
if(settings.expires) {
|
||||
options.expires = settings.expires;
|
||||
}
|
||||
if(settings.domain) {
|
||||
options.domain = settings.domain;
|
||||
}
|
||||
if(settings.path) {
|
||||
options.path = settings.path;
|
||||
}
|
||||
return options;
|
||||
}
|
||||
},
|
||||
|
||||
clear: function() {
|
||||
module.storage.remove(settings.key);
|
||||
},
|
||||
|
||||
storage: {
|
||||
set: function(key, value) {
|
||||
var
|
||||
options = module.get.storageOptions()
|
||||
;
|
||||
if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {
|
||||
window.localStorage.setItem(key, value);
|
||||
module.debug('Value stored using local storage', key, value);
|
||||
}
|
||||
else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) {
|
||||
window.sessionStorage.setItem(key, value);
|
||||
module.debug('Value stored using session storage', key, value);
|
||||
}
|
||||
else if($.cookie !== undefined) {
|
||||
$.cookie(key, value, options);
|
||||
module.debug('Value stored using cookie', key, value, options);
|
||||
}
|
||||
else {
|
||||
module.error(error.noCookieStorage);
|
||||
return;
|
||||
}
|
||||
},
|
||||
get: function(key, value) {
|
||||
var
|
||||
storedValue
|
||||
;
|
||||
if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {
|
||||
storedValue = window.localStorage.getItem(key);
|
||||
}
|
||||
else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) {
|
||||
storedValue = window.sessionStorage.getItem(key);
|
||||
}
|
||||
// get by cookie
|
||||
else if($.cookie !== undefined) {
|
||||
storedValue = $.cookie(key);
|
||||
}
|
||||
else {
|
||||
module.error(error.noCookieStorage);
|
||||
}
|
||||
if(storedValue == 'undefined' || storedValue == 'null' || storedValue === undefined || storedValue === null) {
|
||||
storedValue = undefined;
|
||||
}
|
||||
return storedValue;
|
||||
},
|
||||
remove: function(key) {
|
||||
var
|
||||
options = module.get.storageOptions()
|
||||
;
|
||||
if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {
|
||||
window.localStorage.removeItem(key);
|
||||
}
|
||||
else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) {
|
||||
window.sessionStorage.removeItem(key);
|
||||
}
|
||||
// store by cookie
|
||||
else if($.cookie !== undefined) {
|
||||
$.removeCookie(key, options);
|
||||
}
|
||||
else {
|
||||
module.error(error.noStorage);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
setting: function(name, value) {
|
||||
module.debug('Changing setting', name, value);
|
||||
if( $.isPlainObject(name) ) {
|
||||
$.extend(true, settings, name);
|
||||
}
|
||||
else if(value !== undefined) {
|
||||
if($.isPlainObject(settings[name])) {
|
||||
$.extend(true, settings[name], value);
|
||||
}
|
||||
else {
|
||||
settings[name] = value;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return settings[name];
|
||||
}
|
||||
},
|
||||
internal: function(name, value) {
|
||||
if( $.isPlainObject(name) ) {
|
||||
$.extend(true, module, name);
|
||||
}
|
||||
else if(value !== undefined) {
|
||||
module[name] = value;
|
||||
}
|
||||
else {
|
||||
return module[name];
|
||||
}
|
||||
},
|
||||
debug: function() {
|
||||
if(!settings.silent && settings.debug) {
|
||||
if(settings.performance) {
|
||||
module.performance.log(arguments);
|
||||
}
|
||||
else {
|
||||
module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
||||
module.debug.apply(console, arguments);
|
||||
}
|
||||
}
|
||||
},
|
||||
verbose: function() {
|
||||
if(!settings.silent && settings.verbose && settings.debug) {
|
||||
if(settings.performance) {
|
||||
module.performance.log(arguments);
|
||||
}
|
||||
else {
|
||||
module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
||||
module.verbose.apply(console, arguments);
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
if(!settings.silent) {
|
||||
module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
|
||||
module.error.apply(console, arguments);
|
||||
}
|
||||
},
|
||||
performance: {
|
||||
log: function(message) {
|
||||
var
|
||||
currentTime,
|
||||
executionTime,
|
||||
previousTime
|
||||
;
|
||||
if(settings.performance) {
|
||||
currentTime = new Date().getTime();
|
||||
previousTime = time || currentTime;
|
||||
executionTime = currentTime - previousTime;
|
||||
time = currentTime;
|
||||
performance.push({
|
||||
'Name' : message[0],
|
||||
'Arguments' : [].slice.call(message, 1) || '',
|
||||
'Element' : element,
|
||||
'Execution Time' : executionTime
|
||||
});
|
||||
}
|
||||
clearTimeout(module.performance.timer);
|
||||
module.performance.timer = setTimeout(module.performance.display, 500);
|
||||
},
|
||||
display: function() {
|
||||
var
|
||||
title = settings.name + ':',
|
||||
totalTime = 0
|
||||
;
|
||||
time = false;
|
||||
clearTimeout(module.performance.timer);
|
||||
$.each(performance, function(index, data) {
|
||||
totalTime += data['Execution Time'];
|
||||
});
|
||||
title += ' ' + totalTime + 'ms';
|
||||
if(moduleSelector) {
|
||||
title += ' \'' + moduleSelector + '\'';
|
||||
}
|
||||
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
|
||||
console.groupCollapsed(title);
|
||||
if(console.table) {
|
||||
console.table(performance);
|
||||
}
|
||||
else {
|
||||
$.each(performance, function(index, data) {
|
||||
console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
|
||||
});
|
||||
}
|
||||
console.groupEnd();
|
||||
}
|
||||
performance = [];
|
||||
}
|
||||
},
|
||||
invoke: function(query, passedArguments, context) {
|
||||
var
|
||||
object = instance,
|
||||
maxDepth,
|
||||
found,
|
||||
response
|
||||
;
|
||||
passedArguments = passedArguments || queryArguments;
|
||||
context = element || context;
|
||||
if(typeof query == 'string' && object !== undefined) {
|
||||
query = query.split(/[\. ]/);
|
||||
maxDepth = query.length - 1;
|
||||
$.each(query, function(depth, value) {
|
||||
var camelCaseValue = (depth != maxDepth)
|
||||
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
||||
: query
|
||||
;
|
||||
if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {
|
||||
object = object[camelCaseValue];
|
||||
}
|
||||
else if( object[camelCaseValue] !== undefined ) {
|
||||
found = object[camelCaseValue];
|
||||
return false;
|
||||
}
|
||||
else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
|
||||
object = object[value];
|
||||
}
|
||||
else if( object[value] !== undefined ) {
|
||||
found = object[value];
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
module.error(error.method, query);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
if ( $.isFunction( found ) ) {
|
||||
response = found.apply(context, passedArguments);
|
||||
}
|
||||
else if(found !== undefined) {
|
||||
response = found;
|
||||
}
|
||||
if(Array.isArray(returnedValue)) {
|
||||
returnedValue.push(response);
|
||||
}
|
||||
else if(returnedValue !== undefined) {
|
||||
returnedValue = [returnedValue, response];
|
||||
}
|
||||
else if(response !== undefined) {
|
||||
returnedValue = response;
|
||||
}
|
||||
return found;
|
||||
}
|
||||
};
|
||||
|
||||
if(methodInvoked) {
|
||||
if(instance === undefined) {
|
||||
module.initialize();
|
||||
}
|
||||
module.invoke(query);
|
||||
}
|
||||
else {
|
||||
if(instance !== undefined) {
|
||||
instance.invoke('destroy');
|
||||
}
|
||||
module.initialize();
|
||||
}
|
||||
})
|
||||
;
|
||||
|
||||
return (returnedValue !== undefined)
|
||||
? returnedValue
|
||||
: this
|
||||
;
|
||||
};
|
||||
|
||||
$.fn.nag.settings = {
|
||||
|
||||
name : 'Nag',
|
||||
|
||||
silent : false,
|
||||
debug : false,
|
||||
verbose : false,
|
||||
performance : true,
|
||||
|
||||
namespace : 'Nag',
|
||||
|
||||
// allows cookie to be overridden
|
||||
persist : false,
|
||||
|
||||
// set to zero to require manually dismissal, otherwise hides on its own
|
||||
displayTime : 0,
|
||||
|
||||
animation : {
|
||||
show : 'slide',
|
||||
hide : 'slide'
|
||||
},
|
||||
|
||||
context : false,
|
||||
detachable : false,
|
||||
|
||||
expires : 30,
|
||||
domain : false,
|
||||
path : '/',
|
||||
|
||||
// type of storage to use
|
||||
storageMethod : 'cookie',
|
||||
|
||||
// value to store in dismissed localstorage/cookie
|
||||
key : 'nag',
|
||||
value : 'dismiss',
|
||||
|
||||
error: {
|
||||
noCookieStorage : '$.cookie is not included. A storage solution is required.',
|
||||
noStorage : 'Neither $.cookie or store is defined. A storage solution is required for storing state',
|
||||
method : 'The method you called is not defined.'
|
||||
},
|
||||
|
||||
className : {
|
||||
bottom : 'bottom',
|
||||
fixed : 'fixed'
|
||||
},
|
||||
|
||||
selector : {
|
||||
close : '.close.icon'
|
||||
},
|
||||
|
||||
speed : 500,
|
||||
easing : 'easeOutQuad',
|
||||
|
||||
onHide: function() {}
|
||||
|
||||
};
|
||||
|
||||
// Adds easing
|
||||
$.extend( $.easing, {
|
||||
easeOutQuad: function (x, t, b, c, d) {
|
||||
return -c *(t/=d)*(t-2) + b;
|
||||
}
|
||||
});
|
||||
|
||||
})( jQuery, window, document );
|
||||
158
assets/semantic-ui/definitions/modules/nag.less
Normal file
158
assets/semantic-ui/definitions/modules/nag.less
Normal file
|
|
@ -0,0 +1,158 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Nag
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'module';
|
||||
@element : 'nag';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Nag
|
||||
*******************************/
|
||||
|
||||
.ui.nag {
|
||||
display: none;
|
||||
opacity: @opacity;
|
||||
position: @position;
|
||||
|
||||
top: @top;
|
||||
left: 0;
|
||||
z-index: @zIndex;
|
||||
|
||||
min-height: @minHeight;
|
||||
width: @width;
|
||||
|
||||
margin: @margin;
|
||||
padding: @padding;
|
||||
|
||||
background: @background;
|
||||
box-shadow: @boxShadow;
|
||||
|
||||
font-size: @fontSize;
|
||||
text-align: @textAlign;
|
||||
color: @color;
|
||||
|
||||
border-radius: @topBorderRadius;
|
||||
transition: @transition;
|
||||
}
|
||||
|
||||
a.ui.nag {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.ui.nag > .title {
|
||||
display: inline-block;
|
||||
margin: @titleMargin;
|
||||
color: @titleColor;
|
||||
}
|
||||
|
||||
|
||||
.ui.nag > .close.icon {
|
||||
cursor: pointer;
|
||||
opacity: @closeOpacity;
|
||||
|
||||
position: absolute;
|
||||
top: @closeTop;
|
||||
right: @closeRight;
|
||||
|
||||
font-size: @closeSize;
|
||||
|
||||
margin: @closeMargin;
|
||||
color: @closeColor;
|
||||
transition: @closeTransition;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
/* Hover */
|
||||
.ui.nag:hover {
|
||||
background: @nagHoverBackground;
|
||||
opacity: @nagHoverOpacity;
|
||||
}
|
||||
|
||||
.ui.nag .close:hover {
|
||||
opacity: @closeHoverOpacity;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
|
||||
/*--------------
|
||||
Static
|
||||
---------------*/
|
||||
|
||||
.ui.overlay.nag {
|
||||
position: absolute;
|
||||
display: block;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Fixed
|
||||
---------------*/
|
||||
|
||||
.ui.fixed.nag {
|
||||
position: fixed;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Bottom
|
||||
---------------*/
|
||||
|
||||
.ui.bottom.nags,
|
||||
.ui.bottom.nag {
|
||||
border-radius: @bottomBorderRadius;
|
||||
top: auto;
|
||||
bottom: @bottom;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
White
|
||||
---------------*/
|
||||
|
||||
.ui.inverted.nags .nag,
|
||||
.ui.inverted.nag {
|
||||
background-color: @invertedBackground;
|
||||
color: @darkTextColor;
|
||||
}
|
||||
.ui.inverted.nags .nag .close,
|
||||
.ui.inverted.nags .nag .title,
|
||||
.ui.inverted.nag .close,
|
||||
.ui.inverted.nag .title {
|
||||
color: @lightTextColor;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Groups
|
||||
*******************************/
|
||||
|
||||
.ui.nags .nag {
|
||||
border-radius: @groupedBorderRadius !important;
|
||||
}
|
||||
.ui.nags .nag:last-child {
|
||||
border-radius: @topBorderRadius;
|
||||
}
|
||||
.ui.bottom.nags .nag:last-child {
|
||||
border-radius: @bottomBorderRadius;
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
1541
assets/semantic-ui/definitions/modules/popup.js
Normal file
1541
assets/semantic-ui/definitions/modules/popup.js
Normal file
File diff suppressed because it is too large
Load diff
839
assets/semantic-ui/definitions/modules/popup.less
Normal file
839
assets/semantic-ui/definitions/modules/popup.less
Normal file
|
|
@ -0,0 +1,839 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Popup
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'module';
|
||||
@element : 'popup';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
|
||||
/*******************************
|
||||
Popup
|
||||
*******************************/
|
||||
|
||||
.ui.popup {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
|
||||
/* Fixes content being squished when inline (moz only) */
|
||||
min-width: min-content;
|
||||
z-index: @zIndex;
|
||||
|
||||
border: @border;
|
||||
line-height: @lineHeight;
|
||||
max-width: @maxWidth;
|
||||
background: @background;
|
||||
|
||||
padding: @verticalPadding @horizontalPadding;
|
||||
font-weight: @fontWeight;
|
||||
font-style: @fontStyle;
|
||||
color: @color;
|
||||
|
||||
border-radius: @borderRadius;
|
||||
box-shadow: @boxShadow;
|
||||
}
|
||||
.ui.popup > .header {
|
||||
padding: 0;
|
||||
|
||||
font-family: @headerFont;
|
||||
font-size: @headerFontSize;
|
||||
line-height: @headerLineHeight;
|
||||
font-weight: @headerFontWeight;
|
||||
}
|
||||
.ui.popup > .header + .content {
|
||||
padding-top: @headerDistance;
|
||||
}
|
||||
|
||||
.ui.popup:before {
|
||||
position: absolute;
|
||||
content: '';
|
||||
width: @arrowSize;
|
||||
height: @arrowSize;
|
||||
|
||||
background: @arrowBackground;
|
||||
transform: rotate(45deg);
|
||||
|
||||
z-index: @arrowZIndex;
|
||||
box-shadow: @arrowBoxShadow;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Types
|
||||
*******************************/
|
||||
|
||||
& when (@variationPopupTooltip) {
|
||||
/*--------------
|
||||
Tooltip
|
||||
---------------*/
|
||||
|
||||
/* Content */
|
||||
[data-tooltip] {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* Arrow */
|
||||
[data-tooltip]:before {
|
||||
pointer-events: none;
|
||||
position: absolute;
|
||||
content: '';
|
||||
font-size: @medium;
|
||||
width: @arrowSize;
|
||||
height: @arrowSize;
|
||||
|
||||
background: @tooltipArrowBackground;
|
||||
transform: rotate(45deg);
|
||||
|
||||
z-index: @arrowZIndex;
|
||||
box-shadow: @tooltipArrowBoxShadow;
|
||||
}
|
||||
|
||||
/* Popup */
|
||||
[data-tooltip]:after {
|
||||
pointer-events: none;
|
||||
content: attr(data-tooltip);
|
||||
position: absolute;
|
||||
text-transform: none;
|
||||
text-align: left;
|
||||
white-space: nowrap;
|
||||
|
||||
font-size: @tooltipFontSize;
|
||||
|
||||
border: @tooltipBorder;
|
||||
line-height: @tooltipLineHeight;
|
||||
max-width: @tooltipMaxWidth;
|
||||
background: @tooltipBackground;
|
||||
|
||||
padding: @tooltipPadding;
|
||||
font-weight: @tooltipFontWeight;
|
||||
font-style: @tooltipFontStyle;
|
||||
color: @tooltipColor;
|
||||
|
||||
border-radius: @tooltipBorderRadius;
|
||||
box-shadow: @tooltipBoxShadow;
|
||||
z-index: @tooltipZIndex;
|
||||
}
|
||||
|
||||
/* Default Position (Top Center) */
|
||||
[data-tooltip]:not([data-position]):before {
|
||||
top: auto;
|
||||
right: auto;
|
||||
bottom: 100%;
|
||||
left: 50%;
|
||||
background: @tooltipArrowBottomBackground;
|
||||
margin-left: @tooltipArrowHorizontalOffset;
|
||||
margin-bottom: -@tooltipArrowVerticalOffset;
|
||||
}
|
||||
[data-tooltip]:not([data-position]):after {
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
bottom: 100%;
|
||||
margin-bottom: @tooltipDistanceAway;
|
||||
}
|
||||
|
||||
/* Animation */
|
||||
[data-tooltip]:before,
|
||||
[data-tooltip]:after {
|
||||
pointer-events: none;
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
transition:
|
||||
transform @tooltipDuration @tooltipEasing,
|
||||
opacity @tooltipDuration @tooltipEasing
|
||||
;
|
||||
}
|
||||
[data-tooltip]:before {
|
||||
transform: rotate(45deg) scale(0) !important;
|
||||
transform-origin: center top;
|
||||
}
|
||||
[data-tooltip]:after {
|
||||
transform-origin: center bottom;
|
||||
}
|
||||
[data-tooltip]:hover:before,
|
||||
[data-tooltip]:hover:after {
|
||||
visibility: visible;
|
||||
pointer-events: auto;
|
||||
opacity: 1;
|
||||
}
|
||||
[data-tooltip]:hover:before {
|
||||
transform: rotate(45deg) scale(1) !important;
|
||||
}
|
||||
|
||||
/* Animation Position */
|
||||
[data-tooltip]:after,
|
||||
[data-tooltip][data-position="top center"]:after,
|
||||
[data-tooltip][data-position="bottom center"]:after {
|
||||
transform: translateX(-50%) scale(0) !important;
|
||||
}
|
||||
[data-tooltip]:hover:after,
|
||||
[data-tooltip][data-position="bottom center"]:hover:after {
|
||||
transform: translateX(-50%) scale(1) !important;
|
||||
}
|
||||
[data-tooltip][data-position="left center"]:after,
|
||||
[data-tooltip][data-position="right center"]:after {
|
||||
transform: translateY(-50%) scale(0) !important;
|
||||
}
|
||||
[data-tooltip][data-position="left center"]:hover:after,
|
||||
[data-tooltip][data-position="right center"]:hover:after {
|
||||
transform: translateY(-50%) scale(1) !important;
|
||||
}
|
||||
[data-tooltip][data-position="top left"]:after,
|
||||
[data-tooltip][data-position="top right"]:after,
|
||||
[data-tooltip][data-position="bottom left"]:after,
|
||||
[data-tooltip][data-position="bottom right"]:after {
|
||||
transform: scale(0) !important;
|
||||
}
|
||||
[data-tooltip][data-position="top left"]:hover:after,
|
||||
[data-tooltip][data-position="top right"]:hover:after,
|
||||
[data-tooltip][data-position="bottom left"]:hover:after,
|
||||
[data-tooltip][data-position="bottom right"]:hover:after {
|
||||
transform: scale(1) !important;
|
||||
}
|
||||
& when (@variationPopupFixed) {
|
||||
[data-tooltip][data-variation~="fixed"]:after {
|
||||
white-space: normal;
|
||||
width: @maxWidth;
|
||||
}
|
||||
[data-tooltip][data-variation*="wide fixed"]:after {
|
||||
width: @wideWidth;
|
||||
}
|
||||
[data-tooltip][data-variation*="very wide fixed"]:after {
|
||||
width: @veryWideWidth;
|
||||
}
|
||||
@media only screen and (max-width: @largestMobileScreen) {
|
||||
[data-tooltip][data-variation~="fixed"]:after {
|
||||
width: @maxWidth;
|
||||
}
|
||||
}
|
||||
}
|
||||
& when (@variationPopupInverted) {
|
||||
/*--------------
|
||||
Inverted
|
||||
---------------*/
|
||||
|
||||
/* Arrow */
|
||||
[data-tooltip][data-inverted]:before {
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
/* Arrow Position */
|
||||
[data-tooltip][data-inverted]:before {
|
||||
background: @invertedArrowBottomBackground;
|
||||
}
|
||||
|
||||
/* Popup */
|
||||
[data-tooltip][data-inverted]:after {
|
||||
background: @tooltipInvertedBackground;
|
||||
color: @tooltipInvertedColor;
|
||||
border: @tooltipInvertedBorder;
|
||||
box-shadow: @tooltipInvertedBoxShadow;
|
||||
}
|
||||
[data-tooltip][data-inverted]:after .header {
|
||||
background: @tooltipInvertedHeaderBackground;
|
||||
color: @tooltipInvertedHeaderColor;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationPopupPosition) {
|
||||
/*--------------
|
||||
Position
|
||||
---------------*/
|
||||
& when (@variationPopupTop) {
|
||||
[data-position~="top"][data-tooltip]:before {
|
||||
background: @arrowBottomBackground;
|
||||
}
|
||||
& when (@variationPopupCenter) {
|
||||
/* Top Center */
|
||||
[data-position="top center"][data-tooltip]:after {
|
||||
top: auto;
|
||||
right: auto;
|
||||
left: 50%;
|
||||
bottom: 100%;
|
||||
transform: translateX(-50%);
|
||||
margin-bottom: @tooltipDistanceAway;
|
||||
}
|
||||
[data-position="top center"][data-tooltip]:before {
|
||||
top: auto;
|
||||
right: auto;
|
||||
bottom: 100%;
|
||||
left: 50%;
|
||||
background: @tooltipArrowTopBackground;
|
||||
margin-left: @tooltipArrowHorizontalOffset;
|
||||
margin-bottom: -@tooltipArrowVerticalOffset;
|
||||
}
|
||||
}
|
||||
& when (@variationPopupLeft) {
|
||||
/* Top Left */
|
||||
[data-position="top left"][data-tooltip]:after {
|
||||
top: auto;
|
||||
right: auto;
|
||||
left: 0;
|
||||
bottom: 100%;
|
||||
margin-bottom: @tooltipDistanceAway;
|
||||
}
|
||||
[data-position="top left"][data-tooltip]:before {
|
||||
top: auto;
|
||||
right: auto;
|
||||
bottom: 100%;
|
||||
left: @arrowDistanceFromEdge;
|
||||
margin-left: @tooltipArrowHorizontalOffset;
|
||||
margin-bottom: -@tooltipArrowVerticalOffset;
|
||||
}
|
||||
}
|
||||
& when (@variationPopupRight) {
|
||||
/* Top Right */
|
||||
[data-position="top right"][data-tooltip]:after {
|
||||
top: auto;
|
||||
left: auto;
|
||||
right: 0;
|
||||
bottom: 100%;
|
||||
margin-bottom: @tooltipDistanceAway;
|
||||
}
|
||||
[data-position="top right"][data-tooltip]:before {
|
||||
top: auto;
|
||||
left: auto;
|
||||
bottom: 100%;
|
||||
right: @arrowDistanceFromEdge;
|
||||
margin-left: @tooltipArrowHorizontalOffset;
|
||||
margin-bottom: -@tooltipArrowVerticalOffset;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationPopupBottom) {
|
||||
[data-position~="bottom"][data-tooltip]:before {
|
||||
background: @arrowTopBackground;
|
||||
box-shadow: @bottomArrowBoxShadow;
|
||||
}
|
||||
& when (@variationPopupCenter) {
|
||||
/* Bottom Center */
|
||||
[data-position="bottom center"][data-tooltip]:after {
|
||||
bottom: auto;
|
||||
right: auto;
|
||||
left: 50%;
|
||||
top: 100%;
|
||||
transform: translateX(-50%);
|
||||
margin-top: @tooltipDistanceAway;
|
||||
}
|
||||
[data-position="bottom center"][data-tooltip]:before {
|
||||
bottom: auto;
|
||||
right: auto;
|
||||
top: 100%;
|
||||
left: 50%;
|
||||
margin-left: @tooltipArrowHorizontalOffset;
|
||||
margin-top: -@tooltipArrowVerticalOffset;
|
||||
}
|
||||
}
|
||||
& when (@variationPopupLeft) {
|
||||
/* Bottom Left */
|
||||
[data-position="bottom left"][data-tooltip]:after {
|
||||
left: 0;
|
||||
top: 100%;
|
||||
margin-top: @tooltipDistanceAway;
|
||||
}
|
||||
[data-position="bottom left"][data-tooltip]:before {
|
||||
bottom: auto;
|
||||
right: auto;
|
||||
top: 100%;
|
||||
left: @arrowDistanceFromEdge;
|
||||
margin-left: @tooltipArrowHorizontalOffset;
|
||||
margin-top: -@tooltipArrowVerticalOffset;
|
||||
}
|
||||
}
|
||||
& when (@variationPopupRight) {
|
||||
/* Bottom Right */
|
||||
[data-position="bottom right"][data-tooltip]:after {
|
||||
right: 0;
|
||||
top: 100%;
|
||||
margin-top: @tooltipDistanceAway;
|
||||
}
|
||||
[data-position="bottom right"][data-tooltip]:before {
|
||||
bottom: auto;
|
||||
left: auto;
|
||||
top: 100%;
|
||||
right: @arrowDistanceFromEdge;
|
||||
margin-left: @tooltipArrowVerticalOffset;
|
||||
margin-top: -@tooltipArrowHorizontalOffset;
|
||||
}
|
||||
}
|
||||
}
|
||||
& when (@variationPopupCenter) {
|
||||
& when (@variationPopupLeft) {
|
||||
/* Left Center */
|
||||
[data-position="left center"][data-tooltip]:after {
|
||||
right: 100%;
|
||||
top: 50%;
|
||||
margin-right: @tooltipDistanceAway;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
[data-position="left center"][data-tooltip]:before {
|
||||
right: 100%;
|
||||
top: 50%;
|
||||
margin-top: @tooltipArrowVerticalOffset;
|
||||
margin-right: @tooltipArrowHorizontalOffset;
|
||||
background: @arrowCenterBackground;
|
||||
box-shadow: @leftArrowBoxShadow;
|
||||
}
|
||||
}
|
||||
& when (@variationPopupRight) {
|
||||
/* Right Center */
|
||||
[data-position="right center"][data-tooltip]:after {
|
||||
left: 100%;
|
||||
top: 50%;
|
||||
margin-left: @tooltipDistanceAway;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
[data-position="right center"][data-tooltip]:before {
|
||||
left: 100%;
|
||||
top: 50%;
|
||||
margin-top: @tooltipArrowHorizontalOffset;
|
||||
margin-left: -@tooltipArrowVerticalOffset;
|
||||
background: @arrowCenterBackground;
|
||||
box-shadow: @rightArrowBoxShadow;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationPopupInverted) {
|
||||
/* Inverted Arrow Color */
|
||||
& when (@variationPopupBottom) {
|
||||
[data-inverted][data-position~="bottom"][data-tooltip]:before {
|
||||
background: @invertedArrowTopBackground;
|
||||
box-shadow: @bottomArrowBoxShadow;
|
||||
}
|
||||
}
|
||||
& when (@variationPopupCenter) {
|
||||
& when (@variationPopupLeft) {
|
||||
[data-inverted][data-position="left center"][data-tooltip]:before {
|
||||
background: @invertedArrowCenterBackground;
|
||||
box-shadow: @leftArrowBoxShadow;
|
||||
}
|
||||
}
|
||||
& when (@variationPopupRight) {
|
||||
[data-inverted][data-position="right center"][data-tooltip]:before {
|
||||
background: @invertedArrowCenterBackground;
|
||||
box-shadow: @rightArrowBoxShadow;
|
||||
}
|
||||
}
|
||||
}
|
||||
& when (@variationPopupTop) {
|
||||
[data-inverted][data-position~="top"][data-tooltip]:before {
|
||||
background: @invertedArrowBottomBackground;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationPopupBottom) {
|
||||
[data-position~="bottom"][data-tooltip]:before {
|
||||
transform-origin: center bottom;
|
||||
}
|
||||
[data-position~="bottom"][data-tooltip]:after {
|
||||
transform-origin: center top;
|
||||
}
|
||||
}
|
||||
& when (@variationPopupCenter) {
|
||||
& when (@variationPopupLeft) {
|
||||
[data-position="left center"][data-tooltip]:before {
|
||||
transform-origin: top center;
|
||||
}
|
||||
[data-position="left center"][data-tooltip]:after {
|
||||
transform-origin: right center;
|
||||
}
|
||||
}
|
||||
& when (@variationPopupRight) {
|
||||
[data-position="right center"][data-tooltip]:before {
|
||||
transform-origin: right center;
|
||||
}
|
||||
[data-position="right center"][data-tooltip]:after {
|
||||
transform-origin: left center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationPopupBasic) {
|
||||
/*--------------
|
||||
Basic
|
||||
---------------*/
|
||||
[data-tooltip][data-variation~="basic"]:before {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Spacing
|
||||
---------------*/
|
||||
|
||||
.ui.popup {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
& when (@variationPopupTop) {
|
||||
/* Extending from Top */
|
||||
.ui.top.popup {
|
||||
margin: 0 0 @popupDistanceAway;
|
||||
}
|
||||
& when (@variationPopupLeft) {
|
||||
.ui.top.left.popup {
|
||||
transform-origin: left bottom;
|
||||
}
|
||||
}
|
||||
& when (@variationPopupCenter) {
|
||||
.ui.top.center.popup {
|
||||
transform-origin: center bottom;
|
||||
}
|
||||
}
|
||||
& when (@variationPopupRight) {
|
||||
.ui.top.right.popup {
|
||||
transform-origin: right bottom;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationPopupCenter) {
|
||||
/* Extending from Vertical Center */
|
||||
& when (@variationPopupLeft) {
|
||||
.ui.left.center.popup {
|
||||
margin: 0 @popupDistanceAway 0 0;
|
||||
transform-origin: right 50%;
|
||||
}
|
||||
}
|
||||
& when (@variationPopupRight) {
|
||||
.ui.right.center.popup {
|
||||
margin: 0 0 0 @popupDistanceAway;
|
||||
transform-origin: left 50%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationPopupBottom) {
|
||||
/* Extending from Bottom */
|
||||
.ui.bottom.popup {
|
||||
margin: @popupDistanceAway 0 0;
|
||||
}
|
||||
& when (@variationPopupLeft) {
|
||||
.ui.bottom.left.popup {
|
||||
transform-origin: left top;
|
||||
}
|
||||
}
|
||||
& when (@variationPopupCenter) {
|
||||
.ui.bottom.center.popup {
|
||||
transform-origin: center top;
|
||||
}
|
||||
}
|
||||
& when (@variationPopupRight) {
|
||||
.ui.bottom.right.popup {
|
||||
transform-origin: right top;
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Pointer
|
||||
---------------*/
|
||||
|
||||
/*--- Below ---*/
|
||||
.ui.bottom.center.popup:before {
|
||||
margin-left: @arrowOffset;
|
||||
top: @arrowOffset;
|
||||
left: 50%;
|
||||
right: auto;
|
||||
bottom: auto;
|
||||
box-shadow: @bottomArrowBoxShadow;
|
||||
}
|
||||
|
||||
.ui.bottom.left.popup {
|
||||
margin-left: @boxArrowOffset;
|
||||
}
|
||||
/*rtl:rename*/
|
||||
.ui.bottom.left.popup:before {
|
||||
top: @arrowOffset;
|
||||
left: @arrowDistanceFromEdge;
|
||||
right: auto;
|
||||
bottom: auto;
|
||||
margin-left: 0;
|
||||
box-shadow: @bottomArrowBoxShadow;
|
||||
}
|
||||
|
||||
.ui.bottom.right.popup {
|
||||
margin-right: @boxArrowOffset;
|
||||
}
|
||||
/*rtl:rename*/
|
||||
.ui.bottom.right.popup:before {
|
||||
top: @arrowOffset;
|
||||
right: @arrowDistanceFromEdge;
|
||||
bottom: auto;
|
||||
left: auto;
|
||||
margin-left: 0;
|
||||
box-shadow: @bottomArrowBoxShadow;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationPopupTop) {
|
||||
/*--- Above ---*/
|
||||
& when (@variationPopupCenter) {
|
||||
.ui.top.center.popup:before {
|
||||
top: auto;
|
||||
right: auto;
|
||||
bottom: @arrowOffset;
|
||||
left: 50%;
|
||||
margin-left: @arrowOffset;
|
||||
}
|
||||
}
|
||||
& when (@variationPopupLeft) {
|
||||
.ui.top.left.popup {
|
||||
margin-left: @boxArrowOffset;
|
||||
}
|
||||
/*rtl:rename*/
|
||||
.ui.top.left.popup:before {
|
||||
bottom: @arrowOffset;
|
||||
left: @arrowDistanceFromEdge;
|
||||
top: auto;
|
||||
right: auto;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
& when (@variationPopupRight) {
|
||||
.ui.top.right.popup {
|
||||
margin-right: @boxArrowOffset;
|
||||
}
|
||||
/*rtl:rename*/
|
||||
.ui.top.right.popup:before {
|
||||
bottom: @arrowOffset;
|
||||
right: @arrowDistanceFromEdge;
|
||||
top: auto;
|
||||
left: auto;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationPopupCenter) {
|
||||
/*--- Left Center ---*/
|
||||
/*rtl:rename*/
|
||||
& when (@variationPopupLeft) {
|
||||
.ui.left.center.popup:before {
|
||||
top: 50%;
|
||||
right: @arrowOffset;
|
||||
bottom: auto;
|
||||
left: auto;
|
||||
margin-top: @arrowOffset;
|
||||
box-shadow: @leftArrowBoxShadow;
|
||||
}
|
||||
}
|
||||
& when (@variationPopupRight) {
|
||||
/*--- Right Center ---*/
|
||||
/*rtl:rename*/
|
||||
.ui.right.center.popup:before {
|
||||
top: 50%;
|
||||
left: @arrowOffset;
|
||||
bottom: auto;
|
||||
right: auto;
|
||||
margin-top: @arrowOffset;
|
||||
box-shadow: @rightArrowBoxShadow;
|
||||
}
|
||||
}
|
||||
& when (@variationPopupLeft) or (@variationPopupRight) {
|
||||
.ui.right.center.popup:before,
|
||||
.ui.left.center.popup:before {
|
||||
background: @arrowCenterBackground;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationPopupBottom) {
|
||||
/* Arrow Color By Location */
|
||||
.ui.bottom.popup:before {
|
||||
background: @arrowTopBackground;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationPopupTop) {
|
||||
.ui.top.popup:before {
|
||||
background: @arrowBottomBackground;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationPopupInverted) {
|
||||
& when (@variationPopupBottom) {
|
||||
/* Inverted Arrow Color */
|
||||
.ui.inverted.bottom.popup:before {
|
||||
background: @invertedArrowTopBackground;
|
||||
}
|
||||
}
|
||||
& when (@variationPopupCenter) {
|
||||
.ui.inverted.right.center.popup:before,
|
||||
.ui.inverted.left.center.popup:before {
|
||||
background: @invertedArrowCenterBackground;
|
||||
}
|
||||
}
|
||||
& when (@variationPopupTop) {
|
||||
.ui.inverted.top.popup:before {
|
||||
background: @invertedArrowBottomBackground;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Coupling
|
||||
*******************************/
|
||||
|
||||
/* Immediate Nested Grid */
|
||||
.ui.popup > .ui.grid:not(.padded) {
|
||||
width: @nestedGridWidth;
|
||||
margin: @nestedGridMargin;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
& when (@variationPopupLoading) {
|
||||
.ui.loading.popup {
|
||||
display: block;
|
||||
visibility: hidden;
|
||||
z-index: @loadingZIndex;
|
||||
}
|
||||
}
|
||||
|
||||
.ui.animating.popup,
|
||||
.ui.visible.popup {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.ui.visible.popup {
|
||||
transform: translateZ(0);
|
||||
backface-visibility: hidden;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
& when (@variationPopupBasic) {
|
||||
/*--------------
|
||||
Basic
|
||||
---------------*/
|
||||
|
||||
.ui.basic.popup:before {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationPopupFixed) {
|
||||
.ui.fixed.popup {
|
||||
width: @maxWidth;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationPopupWide) {
|
||||
/*--------------
|
||||
Wide
|
||||
---------------*/
|
||||
|
||||
.ui.wide.popup {
|
||||
max-width: @wideWidth;
|
||||
&.fixed when (@variationPopupFixed) {
|
||||
width: @wideWidth;
|
||||
}
|
||||
}
|
||||
.ui[class*="very wide"].popup {
|
||||
max-width: @veryWideWidth;
|
||||
&.fixed when (@variationPopupFixed) {
|
||||
width: @veryWideWidth;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: @largestMobileScreen) {
|
||||
.ui.wide.popup,
|
||||
.ui[class*="very wide"].popup {
|
||||
max-width: @maxWidth;
|
||||
&.fixed when (@variationPopupFixed) {
|
||||
width:@maxWidth;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationPopupFluid) {
|
||||
/*--------------
|
||||
Fluid
|
||||
---------------*/
|
||||
|
||||
.ui.fluid.popup {
|
||||
width: 100%;
|
||||
max-width: none;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationPopupInverted) {
|
||||
/*--------------
|
||||
Colors
|
||||
---------------*/
|
||||
|
||||
/* Inverted colors */
|
||||
.ui.inverted.popup {
|
||||
background: @invertedBackground;
|
||||
color: @invertedColor;
|
||||
border: @invertedBorder;
|
||||
box-shadow: @invertedBoxShadow;
|
||||
}
|
||||
.ui.inverted.popup .header {
|
||||
background-color: @invertedHeaderBackground;
|
||||
color: @invertedHeaderColor;
|
||||
}
|
||||
.ui.inverted.popup:before {
|
||||
background-color: @invertedArrowColor;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationPopupFlowing) {
|
||||
/*--------------
|
||||
Flowing
|
||||
---------------*/
|
||||
|
||||
.ui.flowing.popup {
|
||||
max-width: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*--------------
|
||||
Sizes
|
||||
---------------*/
|
||||
|
||||
.ui.popup {
|
||||
font-size: @medium;
|
||||
}
|
||||
& when not (@variationPopupSizes = false) {
|
||||
each(@variationPopupSizes, {
|
||||
@s: @@value;
|
||||
.ui.@{value}.popup {
|
||||
font-size: @s;
|
||||
}
|
||||
& when (@variationPopupTooltip) {
|
||||
[data-tooltip][data-variation~="@{value}"]:before,
|
||||
[data-tooltip][data-variation~="@{value}"]:after {
|
||||
font-size: @s;
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
.loadUIOverrides();
|
||||
1039
assets/semantic-ui/definitions/modules/progress.js
Normal file
1039
assets/semantic-ui/definitions/modules/progress.js
Normal file
File diff suppressed because it is too large
Load diff
618
assets/semantic-ui/definitions/modules/progress.less
Normal file
618
assets/semantic-ui/definitions/modules/progress.less
Normal file
|
|
@ -0,0 +1,618 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Progress Bar
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'module';
|
||||
@element : 'progress';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Progress
|
||||
*******************************/
|
||||
|
||||
.ui.progress {
|
||||
position: relative;
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
border: @border;
|
||||
margin: @margin;
|
||||
box-shadow: @boxShadow;
|
||||
background: @background;
|
||||
padding: @padding;
|
||||
border-radius: @borderRadius;
|
||||
}
|
||||
|
||||
.ui.progress:first-child {
|
||||
margin: @firstMargin;
|
||||
}
|
||||
.ui.progress:last-child {
|
||||
margin: @lastMargin;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Content
|
||||
*******************************/
|
||||
|
||||
/* Activity Bar */
|
||||
.ui.progress .bar {
|
||||
display: block;
|
||||
line-height: 1;
|
||||
position: @barPosition;
|
||||
width: @barInitialWidth;
|
||||
min-width: @barMinWidth;
|
||||
background: @barBackground;
|
||||
border-radius: @barBorderRadius;
|
||||
transition: @barTransition;
|
||||
overflow: hidden;
|
||||
}
|
||||
.ui.ui.ui.progress:not([data-percent]):not(.indeterminate) .bar,
|
||||
.ui.ui.ui.progress[data-percent="0"]:not(.indeterminate) .bar {
|
||||
background:transparent;
|
||||
}
|
||||
.ui.progress[data-percent="0"] .bar .progress {
|
||||
color: @textColor;
|
||||
}
|
||||
& when (@variationProgressInverted) {
|
||||
.ui.inverted.progress[data-percent="0"] .bar .progress {
|
||||
color: @invertedTextColor;
|
||||
}
|
||||
}
|
||||
|
||||
/* Percent Complete */
|
||||
.ui.progress .bar > .progress {
|
||||
white-space: nowrap;
|
||||
position: @progressPosition;
|
||||
width: @progressWidth;
|
||||
font-size: @progressSize;
|
||||
top: @progressTop;
|
||||
right: @progressRight;
|
||||
left: @progressLeft;
|
||||
bottom: @progressBottom;
|
||||
color: @progressColor;
|
||||
text-shadow: @progressTextShadow;
|
||||
margin-top: @progressOffset;
|
||||
font-weight: @progressFontWeight;
|
||||
text-align: @progressTextAlign;
|
||||
}
|
||||
|
||||
/* Label */
|
||||
.ui.progress > .label {
|
||||
position: absolute;
|
||||
width: @labelWidth;
|
||||
font-size: @labelSize;
|
||||
top: @labelTop;
|
||||
right: @labelRight;
|
||||
left: @labelLeft;
|
||||
bottom: @labelBottom;
|
||||
color: @labelColor;
|
||||
font-weight: @labelFontWeight;
|
||||
text-shadow: @labelTextShadow;
|
||||
margin-top: @labelOffset;
|
||||
text-align: @labelTextAlign;
|
||||
transition: @labelTransition;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Types
|
||||
*******************************/
|
||||
|
||||
& when (@variationProgressIndicating) {
|
||||
/* Indicating */
|
||||
.ui.indicating.progress[data-percent^="1"] .bar,
|
||||
.ui.indicating.progress[data-percent^="2"] .bar {
|
||||
background-color: @indicatingFirstColor;
|
||||
}
|
||||
.ui.indicating.progress[data-percent^="3"] .bar {
|
||||
background-color: @indicatingSecondColor;
|
||||
}
|
||||
.ui.indicating.progress[data-percent^="4"] .bar,
|
||||
.ui.indicating.progress[data-percent^="5"] .bar {
|
||||
background-color: @indicatingThirdColor;
|
||||
}
|
||||
.ui.indicating.progress[data-percent^="6"] .bar {
|
||||
background-color: @indicatingFourthColor;
|
||||
}
|
||||
.ui.indicating.progress[data-percent^="7"] .bar,
|
||||
.ui.indicating.progress[data-percent^="8"] .bar {
|
||||
background-color: @indicatingFifthColor;
|
||||
}
|
||||
.ui.indicating.progress[data-percent^="9"] .bar,
|
||||
.ui.indicating.progress[data-percent^="100"] .bar {
|
||||
background-color: @indicatingSixthColor;
|
||||
}
|
||||
|
||||
/* Indicating Label */
|
||||
.ui.indicating.progress[data-percent^="1"] .label,
|
||||
.ui.indicating.progress[data-percent^="2"] .label {
|
||||
color: @indicatingFirstLabelColor;
|
||||
}
|
||||
.ui.indicating.progress[data-percent^="3"] .label {
|
||||
color: @indicatingSecondLabelColor;
|
||||
}
|
||||
.ui.indicating.progress[data-percent^="4"] .label,
|
||||
.ui.indicating.progress[data-percent^="5"] .label {
|
||||
color: @indicatingThirdLabelColor;
|
||||
}
|
||||
.ui.indicating.progress[data-percent^="6"] .label {
|
||||
color: @indicatingFourthLabelColor;
|
||||
}
|
||||
.ui.indicating.progress[data-percent^="7"] .label,
|
||||
.ui.indicating.progress[data-percent^="8"] .label {
|
||||
color: @indicatingFifthLabelColor;
|
||||
}
|
||||
.ui.indicating.progress[data-percent^="9"] .label,
|
||||
.ui.indicating.progress[data-percent^="100"] .label {
|
||||
color: @indicatingSixthLabelColor;
|
||||
}
|
||||
|
||||
& when (@variationProgressInverted) {
|
||||
/* Inverted Indicating Label */
|
||||
.ui.inverted.indicating.progress[data-percent^="1"] .label,
|
||||
.ui.inverted.indicating.progress[data-percent^="2"] .label {
|
||||
color: @invertedIndicatingFirstLabelColor;
|
||||
}
|
||||
.ui.inverted.indicating.progress[data-percent^="3"] .label {
|
||||
color: @invertedIndicatingSecondLabelColor;
|
||||
}
|
||||
.ui.inverted.indicating.progress[data-percent^="4"] .label,
|
||||
.ui.inverted.indicating.progress[data-percent^="5"] .label {
|
||||
color: @invertedIndicatingThirdLabelColor;
|
||||
}
|
||||
.ui.inverted.indicating.progress[data-percent^="6"] .label {
|
||||
color: @invertedIndicatingFourthLabelColor;
|
||||
}
|
||||
.ui.inverted.indicating.progress[data-percent^="7"] .label,
|
||||
.ui.inverted.indicating.progress[data-percent^="8"] .label {
|
||||
color: @invertedIndicatingFifthLabelColor;
|
||||
}
|
||||
.ui.inverted.indicating.progress[data-percent^="9"] .label,
|
||||
.ui.inverted.indicating.progress[data-percent^="100"] .label {
|
||||
color: @invertedIndicatingSixthLabelColor;
|
||||
}
|
||||
}
|
||||
|
||||
/* Single Digits */
|
||||
.ui.indicating.progress[data-percent="1"] .bar, .ui.indicating.progress[data-percent^="1."] .bar,
|
||||
.ui.indicating.progress[data-percent="2"] .bar, .ui.indicating.progress[data-percent^="2."] .bar,
|
||||
.ui.indicating.progress[data-percent="3"] .bar, .ui.indicating.progress[data-percent^="3."] .bar,
|
||||
.ui.indicating.progress[data-percent="4"] .bar, .ui.indicating.progress[data-percent^="4."] .bar,
|
||||
.ui.indicating.progress[data-percent="5"] .bar, .ui.indicating.progress[data-percent^="5."] .bar,
|
||||
.ui.indicating.progress[data-percent="6"] .bar, .ui.indicating.progress[data-percent^="6."] .bar,
|
||||
.ui.indicating.progress[data-percent="7"] .bar, .ui.indicating.progress[data-percent^="7."] .bar,
|
||||
.ui.indicating.progress[data-percent="8"] .bar, .ui.indicating.progress[data-percent^="8."] .bar,
|
||||
.ui.indicating.progress[data-percent="9"] .bar, .ui.indicating.progress[data-percent^="9."] .bar {
|
||||
background-color: @indicatingFirstColor;
|
||||
}
|
||||
.ui.indicating.progress[data-percent="0"] .label, .ui.indicating.progress[data-percent^="0."] .label,
|
||||
.ui.indicating.progress[data-percent="1"] .label, .ui.indicating.progress[data-percent^="1."] .label,
|
||||
.ui.indicating.progress[data-percent="2"] .label, .ui.indicating.progress[data-percent^="2."] .label,
|
||||
.ui.indicating.progress[data-percent="3"] .label, .ui.indicating.progress[data-percent^="3."] .label,
|
||||
.ui.indicating.progress[data-percent="4"] .label, .ui.indicating.progress[data-percent^="4."] .label,
|
||||
.ui.indicating.progress[data-percent="5"] .label, .ui.indicating.progress[data-percent^="5."] .label,
|
||||
.ui.indicating.progress[data-percent="6"] .label, .ui.indicating.progress[data-percent^="6."] .label,
|
||||
.ui.indicating.progress[data-percent="7"] .label, .ui.indicating.progress[data-percent^="7."] .label,
|
||||
.ui.indicating.progress[data-percent="8"] .label, .ui.indicating.progress[data-percent^="8."] .label,
|
||||
.ui.indicating.progress[data-percent="9"] .label, .ui.indicating.progress[data-percent^="9."] .label {
|
||||
color: @indicatingFirstLabelColor;
|
||||
}
|
||||
& when (@variationProgressInverted) {
|
||||
.ui.inverted.indicating.progress[data-percent="0"] .label, .ui.inverted.indicating.progress[data-percent^="0."] .label,
|
||||
.ui.inverted.indicating.progress[data-percent="1"] .label, .ui.inverted.indicating.progress[data-percent^="1."] .label,
|
||||
.ui.inverted.indicating.progress[data-percent="2"] .label, .ui.inverted.indicating.progress[data-percent^="2."] .label,
|
||||
.ui.inverted.indicating.progress[data-percent="3"] .label, .ui.inverted.indicating.progress[data-percent^="3."] .label,
|
||||
.ui.inverted.indicating.progress[data-percent="4"] .label, .ui.inverted.indicating.progress[data-percent^="4."] .label,
|
||||
.ui.inverted.indicating.progress[data-percent="5"] .label, .ui.inverted.indicating.progress[data-percent^="5."] .label,
|
||||
.ui.inverted.indicating.progress[data-percent="6"] .label, .ui.inverted.indicating.progress[data-percent^="6."] .label,
|
||||
.ui.inverted.indicating.progress[data-percent="7"] .label, .ui.inverted.indicating.progress[data-percent^="7."] .label,
|
||||
.ui.inverted.indicating.progress[data-percent="8"] .label, .ui.inverted.indicating.progress[data-percent^="8."] .label,
|
||||
.ui.inverted.indicating.progress[data-percent="9"] .label, .ui.inverted.indicating.progress[data-percent^="9."] .label {
|
||||
color: @invertedIndicatingFirstLabelColor;
|
||||
}
|
||||
}
|
||||
|
||||
/* Indicating Success */
|
||||
.ui.ui.indicating.progress.success .label {
|
||||
color: @successHeaderColor;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationProgressMultiple) {
|
||||
/* Multiple */
|
||||
.ui.multiple.progress {
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
& when (@variationProgressSuccess) {
|
||||
/*--------------
|
||||
Success
|
||||
---------------*/
|
||||
|
||||
.ui.ui.progress.success .bar {
|
||||
background-color: @successColor;
|
||||
}
|
||||
.ui.ui.progress.success .bar,
|
||||
.ui.ui.progress.success .bar::after {
|
||||
animation: none;
|
||||
}
|
||||
.ui.progress.success > .label {
|
||||
color: @successHeaderColor;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationProgressWarning) {
|
||||
/*--------------
|
||||
Warning
|
||||
---------------*/
|
||||
|
||||
.ui.ui.progress.warning .bar {
|
||||
background-color: @warningColor;
|
||||
}
|
||||
.ui.ui.progress.warning .bar,
|
||||
.ui.ui.progress.warning .bar::after {
|
||||
animation: none;
|
||||
}
|
||||
.ui.progress.warning > .label {
|
||||
color: @warningHeaderColor;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationProgressError) {
|
||||
/*--------------
|
||||
Error
|
||||
---------------*/
|
||||
|
||||
.ui.ui.progress.error .bar {
|
||||
background-color: @errorColor;
|
||||
}
|
||||
.ui.ui.progress.error .bar,
|
||||
.ui.ui.progress.error .bar::after {
|
||||
animation: none;
|
||||
}
|
||||
.ui.progress.error > .label {
|
||||
color: @errorHeaderColor;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationProgressActive) {
|
||||
/*--------------
|
||||
Active
|
||||
---------------*/
|
||||
|
||||
.ui.active.progress .bar {
|
||||
position: relative;
|
||||
min-width: @activeMinWidth;
|
||||
}
|
||||
.ui.active.progress .bar::after {
|
||||
content: '';
|
||||
opacity: 0;
|
||||
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: @activePulseColor;
|
||||
|
||||
border-radius: @barBorderRadius;
|
||||
|
||||
animation: progress-active @activePulseDuration @defaultEasing infinite;
|
||||
transform-origin: left;
|
||||
}
|
||||
@keyframes progress-active {
|
||||
0% {
|
||||
opacity: @activePulseMaxOpacity;
|
||||
transform: scale(0, 1);
|
||||
}
|
||||
100% {
|
||||
opacity: 0;
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationProgressDisabled) {
|
||||
/*--------------
|
||||
Disabled
|
||||
---------------*/
|
||||
|
||||
.ui.disabled.progress {
|
||||
opacity: 0.35;
|
||||
}
|
||||
.ui.ui.disabled.progress .bar,
|
||||
.ui.ui.disabled.progress .bar::after {
|
||||
animation: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
& when (@variationProgressInverted) {
|
||||
/*--------------
|
||||
Inverted
|
||||
---------------*/
|
||||
|
||||
.ui.inverted.progress {
|
||||
background: @invertedBackground;
|
||||
border: @invertedBorder;
|
||||
}
|
||||
.ui.inverted.progress .bar {
|
||||
background: @invertedBarBackground;
|
||||
}
|
||||
.ui.inverted.progress .bar > .progress {
|
||||
color: @invertedProgressColor;
|
||||
}
|
||||
.ui.inverted.progress > .label {
|
||||
color: @invertedLabelColor;
|
||||
}
|
||||
& when (@variationProgressSuccess) {
|
||||
.ui.inverted.progress.success > .label {
|
||||
color: @successColor;
|
||||
}
|
||||
}
|
||||
& when (@variationProgressWarning) {
|
||||
.ui.inverted.progress.warning > .label {
|
||||
color: @warningColor;
|
||||
}
|
||||
}
|
||||
& when (@variationProgressError) {
|
||||
.ui.inverted.progress.error > .label {
|
||||
color: @errorColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationProgressAttached) {
|
||||
/*--------------
|
||||
Attached
|
||||
---------------*/
|
||||
|
||||
/* bottom attached */
|
||||
.ui.progress.attached {
|
||||
background: @attachedBackground;
|
||||
position: relative;
|
||||
border: none;
|
||||
margin: 0;
|
||||
}
|
||||
.ui.progress.attached,
|
||||
.ui.progress.attached .bar {
|
||||
display: block;
|
||||
height: @attachedHeight;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
border-radius: 0 0 @attachedBorderRadius @attachedBorderRadius;
|
||||
}
|
||||
.ui.progress.attached .bar {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
/* top attached */
|
||||
.ui.progress.top.attached,
|
||||
.ui.progress.top.attached .bar {
|
||||
top: 0;
|
||||
border-radius: @attachedBorderRadius @attachedBorderRadius 0 0;
|
||||
}
|
||||
.ui.progress.top.attached .bar {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
/* Coupling */
|
||||
|
||||
.ui.segment > .ui.attached.progress,
|
||||
.ui.card > .ui.attached.progress {
|
||||
position: absolute;
|
||||
top: auto;
|
||||
left: 0;
|
||||
bottom: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.ui.segment > .ui.bottom.attached.progress,
|
||||
.ui.card > .ui.bottom.attached.progress {
|
||||
top: 100%;
|
||||
bottom: auto;
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Colors
|
||||
---------------*/
|
||||
|
||||
each(@colors, {
|
||||
@color: replace(@key, '@', '');
|
||||
@c: @colors[@@color][color];
|
||||
@l: @colors[@@color][light];
|
||||
|
||||
.ui.indeterminate.@{color}.progress .bar::before,
|
||||
.ui.@{color}.progress .bar,
|
||||
.ui.progress .@{color}.bar {
|
||||
background-color: @c;
|
||||
}
|
||||
& when (@variationProgressInverted) {
|
||||
.ui.inverted.indeterminate.@{color}.progress .bar::before,
|
||||
.ui.@{color}.inverted.progress .bar,
|
||||
.ui.inverted.progress .@{color}.bar {
|
||||
background-color: @l;
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
/*--------------
|
||||
Sizes
|
||||
---------------*/
|
||||
|
||||
.ui.progress {
|
||||
font-size: @medium;
|
||||
}
|
||||
.ui.progress .bar {
|
||||
height: @barHeight;
|
||||
}
|
||||
& when not (@variationProgressSizes = false) {
|
||||
each(@variationProgressSizes, {
|
||||
@h: @{value}BarHeight;
|
||||
@s: @@value;
|
||||
.ui.@{value}.progress {
|
||||
font-size: @s;
|
||||
}
|
||||
.ui.@{value}.progress .bar {
|
||||
height: @@h;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
& when (@variationProgressIndeterminate) {
|
||||
/*---------------
|
||||
Indeterminate
|
||||
----------------*/
|
||||
|
||||
.ui.indeterminate.progress .bar {
|
||||
width: 100%;
|
||||
}
|
||||
.ui.indeterminate.progress .bar .progress,
|
||||
.ui.progress .bar .centered.progress {
|
||||
text-align: center;
|
||||
position: relative;
|
||||
}
|
||||
.ui.indeterminate.progress .bar::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
border-radius: @barBorderRadius;
|
||||
animation: progress-pulsating @indeterminatePulseDuration @defaultEasing infinite;
|
||||
transform-origin: center;
|
||||
width: 100%;
|
||||
}
|
||||
& when (@variationProgressSpeeds) {
|
||||
.ui.slow.indeterminate.progress .bar::before {
|
||||
animation-duration: @indeterminatePulseDurationSlow;
|
||||
}
|
||||
.ui.fast.indeterminate.progress .bar::before {
|
||||
animation-duration: @indeterminatePulseDurationFast;
|
||||
}
|
||||
}
|
||||
& when (@variationProgressSwinging) {
|
||||
.ui.swinging.indeterminate.progress .bar::before {
|
||||
transform-origin: left;
|
||||
animation-name: progress-swinging;
|
||||
}
|
||||
}
|
||||
& when (@variationProgressSliding) {
|
||||
.ui.sliding.indeterminate.progress .bar::before {
|
||||
transform-origin: left;
|
||||
animation-name: progress-sliding;
|
||||
}
|
||||
}
|
||||
& when (@variationProgressFilling) {
|
||||
.ui.filling.indeterminate.progress .bar::before {
|
||||
animation-name: progress-filling;
|
||||
}
|
||||
}
|
||||
.ui.indeterminate.progress:not(.sliding):not(.filling):not(.swinging) .bar::before {
|
||||
background: @indeterminatePulseColor;
|
||||
}
|
||||
& when (@variationProgressSliding) or (@variationProgressSwinging) or (@variationProgressFilling) {
|
||||
.ui.sliding.indeterminate.progress .bar,
|
||||
.ui.swinging.indeterminate.progress .bar,
|
||||
.ui.filling.indeterminate.progress .bar {
|
||||
background: @background;
|
||||
}
|
||||
& when (@variationProgressSliding) or (@variationProgressSwinging) {
|
||||
.ui.sliding.indeterminate.progress .bar .progress,
|
||||
.ui.swinging.indeterminate.progress .bar .progress {
|
||||
color: @invertedProgressColor;
|
||||
}
|
||||
}
|
||||
& when (@variationProgressInverted) {
|
||||
.ui.inverted.sliding.indeterminate.progress .bar,
|
||||
.ui.inverted.swinging.indeterminate.progress .bar,
|
||||
.ui.inverted.filling.indeterminate.progress .bar {
|
||||
background: @invertedBackground;
|
||||
}
|
||||
& when (@variationProgressSliding) or (@variationProgressSwinging) {
|
||||
.ui.inverted.sliding.indeterminate.progress .bar .progress,
|
||||
.ui.inverted.swinging.indeterminate.progress .bar .progress {
|
||||
color: @progressColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
& when (@variationProgressSwinging) {
|
||||
@keyframes progress-swinging {
|
||||
0%, 100% {
|
||||
width:10%;
|
||||
left:-25%;
|
||||
}
|
||||
25%, 65% {
|
||||
width:70%;
|
||||
}
|
||||
50% {
|
||||
width: 10%;
|
||||
left:100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationProgressSliding) {
|
||||
@keyframes progress-sliding {
|
||||
0% {
|
||||
width:10%;
|
||||
left:-25%;
|
||||
}
|
||||
50% {
|
||||
width:70%;
|
||||
}
|
||||
100% {
|
||||
width:10%;
|
||||
left:100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationProgressFilling) {
|
||||
@keyframes progress-filling {
|
||||
0% {
|
||||
transform: scale(0,1);
|
||||
}
|
||||
80% {
|
||||
transform: scale(1);
|
||||
opacity:1;
|
||||
}
|
||||
100% {
|
||||
opacity:0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@keyframes progress-pulsating {
|
||||
0% {
|
||||
transform: scale(0,1);
|
||||
opacity:0.7;
|
||||
}
|
||||
100% {
|
||||
transform: scale(1);
|
||||
opacity:0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
554
assets/semantic-ui/definitions/modules/rating.js
Normal file
554
assets/semantic-ui/definitions/modules/rating.js
Normal file
|
|
@ -0,0 +1,554 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Rating
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
;(function ($, window, document, undefined) {
|
||||
|
||||
'use strict';
|
||||
|
||||
$.isFunction = $.isFunction || function(obj) {
|
||||
return typeof obj === "function" && typeof obj.nodeType !== "number";
|
||||
};
|
||||
|
||||
window = (typeof window != 'undefined' && window.Math == Math)
|
||||
? window
|
||||
: (typeof self != 'undefined' && self.Math == Math)
|
||||
? self
|
||||
: Function('return this')()
|
||||
;
|
||||
|
||||
$.fn.rating = function(parameters) {
|
||||
var
|
||||
$allModules = $(this),
|
||||
moduleSelector = $allModules.selector || '',
|
||||
|
||||
time = new Date().getTime(),
|
||||
performance = [],
|
||||
|
||||
query = arguments[0],
|
||||
methodInvoked = (typeof query == 'string'),
|
||||
queryArguments = [].slice.call(arguments, 1),
|
||||
returnedValue
|
||||
;
|
||||
$allModules
|
||||
.each(function() {
|
||||
var
|
||||
settings = ( $.isPlainObject(parameters) )
|
||||
? $.extend(true, {}, $.fn.rating.settings, parameters)
|
||||
: $.extend({}, $.fn.rating.settings),
|
||||
|
||||
namespace = settings.namespace,
|
||||
className = settings.className,
|
||||
metadata = settings.metadata,
|
||||
selector = settings.selector,
|
||||
cssVars = settings.cssVars,
|
||||
|
||||
eventNamespace = '.' + namespace,
|
||||
moduleNamespace = 'module-' + namespace,
|
||||
|
||||
element = this,
|
||||
instance = $(this).data(moduleNamespace),
|
||||
|
||||
$module = $(this),
|
||||
$icon = $module.find(selector.icon),
|
||||
|
||||
initialLoad,
|
||||
module
|
||||
;
|
||||
|
||||
module = {
|
||||
|
||||
initialize: function() {
|
||||
module.verbose('Initializing rating module', settings);
|
||||
|
||||
if($icon.length === 0) {
|
||||
module.setup.layout();
|
||||
}
|
||||
|
||||
if(settings.interactive && !module.is.disabled()) {
|
||||
module.enable();
|
||||
}
|
||||
else {
|
||||
module.disable();
|
||||
}
|
||||
module.set.initialLoad();
|
||||
module.set.rating( module.get.initialRating() );
|
||||
module.remove.initialLoad();
|
||||
module.instantiate();
|
||||
},
|
||||
|
||||
instantiate: function() {
|
||||
module.verbose('Instantiating module', settings);
|
||||
instance = module;
|
||||
$module
|
||||
.data(moduleNamespace, module)
|
||||
;
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
module.verbose('Destroying previous instance', instance);
|
||||
module.remove.events();
|
||||
$module
|
||||
.removeData(moduleNamespace)
|
||||
;
|
||||
},
|
||||
|
||||
refresh: function() {
|
||||
$icon = $module.find(selector.icon);
|
||||
},
|
||||
|
||||
setup: {
|
||||
layout: function() {
|
||||
var
|
||||
maxRating = module.get.maxRating(),
|
||||
icon = module.get.icon(),
|
||||
html = $.fn.rating.settings.templates.icon(maxRating, icon)
|
||||
;
|
||||
module.debug('Generating icon html dynamically');
|
||||
$module
|
||||
.html(html)
|
||||
;
|
||||
module.refresh();
|
||||
}
|
||||
},
|
||||
|
||||
event: {
|
||||
mouseenter: function() {
|
||||
var
|
||||
$activeIcon = $(this)
|
||||
;
|
||||
$activeIcon
|
||||
.nextAll()
|
||||
.removeClass(className.selected)
|
||||
;
|
||||
$module
|
||||
.addClass(className.selected)
|
||||
;
|
||||
$activeIcon
|
||||
.addClass(className.selected)
|
||||
.prevAll()
|
||||
.addClass(className.selected)
|
||||
;
|
||||
},
|
||||
mouseleave: function() {
|
||||
$module
|
||||
.removeClass(className.selected)
|
||||
;
|
||||
$icon
|
||||
.removeClass(className.selected)
|
||||
;
|
||||
},
|
||||
click: function() {
|
||||
var
|
||||
$activeIcon = $(this),
|
||||
currentRating = module.get.rating(),
|
||||
rating = $icon.index($activeIcon) + 1,
|
||||
canClear = (settings.clearable == 'auto')
|
||||
? ($icon.length === 1)
|
||||
: settings.clearable
|
||||
;
|
||||
if(canClear && currentRating == rating) {
|
||||
module.clearRating();
|
||||
}
|
||||
else {
|
||||
module.set.rating( rating );
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
clearRating: function() {
|
||||
module.debug('Clearing current rating');
|
||||
module.set.rating(0);
|
||||
},
|
||||
|
||||
bind: {
|
||||
events: function() {
|
||||
module.verbose('Binding events');
|
||||
$module
|
||||
.on('mouseenter' + eventNamespace, selector.icon, module.event.mouseenter)
|
||||
.on('mouseleave' + eventNamespace, selector.icon, module.event.mouseleave)
|
||||
.on('click' + eventNamespace, selector.icon, module.event.click)
|
||||
;
|
||||
}
|
||||
},
|
||||
|
||||
remove: {
|
||||
events: function() {
|
||||
module.verbose('Removing events');
|
||||
$module
|
||||
.off(eventNamespace)
|
||||
;
|
||||
},
|
||||
initialLoad: function() {
|
||||
initialLoad = false;
|
||||
}
|
||||
},
|
||||
|
||||
enable: function() {
|
||||
module.debug('Setting rating to interactive mode');
|
||||
module.bind.events();
|
||||
$module
|
||||
.removeClass(className.disabled)
|
||||
;
|
||||
},
|
||||
|
||||
disable: function() {
|
||||
module.debug('Setting rating to read-only mode');
|
||||
module.remove.events();
|
||||
$module
|
||||
.addClass(className.disabled)
|
||||
;
|
||||
},
|
||||
|
||||
is: {
|
||||
initialLoad: function() {
|
||||
return initialLoad;
|
||||
},
|
||||
disabled: function() {
|
||||
return $module.hasClass(className.disabled);
|
||||
}
|
||||
},
|
||||
|
||||
get: {
|
||||
icon: function(){
|
||||
var icon = $module.data(metadata.icon);
|
||||
if (icon) {
|
||||
$module.removeData(metadata.icon);
|
||||
}
|
||||
return icon || settings.icon;
|
||||
},
|
||||
initialRating: function() {
|
||||
if($module.data(metadata.rating) !== undefined) {
|
||||
$module.removeData(metadata.rating);
|
||||
return $module.data(metadata.rating);
|
||||
}
|
||||
return settings.initialRating;
|
||||
},
|
||||
maxRating: function() {
|
||||
if($module.data(metadata.maxRating) !== undefined) {
|
||||
$module.removeData(metadata.maxRating);
|
||||
return $module.data(metadata.maxRating);
|
||||
}
|
||||
return settings.maxRating;
|
||||
},
|
||||
rating: function() {
|
||||
var
|
||||
currentRating = $icon.filter('.' + className.active).length
|
||||
;
|
||||
module.verbose('Current rating retrieved', currentRating);
|
||||
return currentRating;
|
||||
}
|
||||
},
|
||||
|
||||
set: {
|
||||
rating: function(rating) {
|
||||
var
|
||||
ratingIndex = Math.floor(
|
||||
(rating - 1 >= 0)
|
||||
? (rating - 1)
|
||||
: 0
|
||||
),
|
||||
$activeIcon = $icon.eq(ratingIndex),
|
||||
$partialActiveIcon = rating <= 1
|
||||
? $activeIcon
|
||||
: $activeIcon.next()
|
||||
,
|
||||
filledPercentage = (rating % 1) * 100
|
||||
;
|
||||
$module
|
||||
.removeClass(className.selected)
|
||||
;
|
||||
$icon
|
||||
.removeClass(className.selected)
|
||||
.removeClass(className.active)
|
||||
.removeClass(className.partiallyActive)
|
||||
;
|
||||
if(rating > 0) {
|
||||
module.verbose('Setting current rating to', rating);
|
||||
$activeIcon
|
||||
.prevAll()
|
||||
.addBack()
|
||||
.addClass(className.active)
|
||||
;
|
||||
if($activeIcon.next() && rating % 1 !== 0) {
|
||||
$partialActiveIcon
|
||||
.addClass(className.partiallyActive)
|
||||
.addClass(className.active)
|
||||
;
|
||||
$partialActiveIcon
|
||||
.css(cssVars.filledCustomPropName, filledPercentage + '%')
|
||||
;
|
||||
if($partialActiveIcon.css('backgroundColor') === 'transparent') {
|
||||
$partialActiveIcon
|
||||
.removeClass(className.partiallyActive)
|
||||
.removeClass(className.active)
|
||||
;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!module.is.initialLoad()) {
|
||||
settings.onRate.call(element, rating);
|
||||
}
|
||||
},
|
||||
initialLoad: function() {
|
||||
initialLoad = true;
|
||||
}
|
||||
},
|
||||
|
||||
setting: function(name, value) {
|
||||
module.debug('Changing setting', name, value);
|
||||
if( $.isPlainObject(name) ) {
|
||||
$.extend(true, settings, name);
|
||||
}
|
||||
else if(value !== undefined) {
|
||||
if($.isPlainObject(settings[name])) {
|
||||
$.extend(true, settings[name], value);
|
||||
}
|
||||
else {
|
||||
settings[name] = value;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return settings[name];
|
||||
}
|
||||
},
|
||||
internal: function(name, value) {
|
||||
if( $.isPlainObject(name) ) {
|
||||
$.extend(true, module, name);
|
||||
}
|
||||
else if(value !== undefined) {
|
||||
module[name] = value;
|
||||
}
|
||||
else {
|
||||
return module[name];
|
||||
}
|
||||
},
|
||||
debug: function() {
|
||||
if(!settings.silent && settings.debug) {
|
||||
if(settings.performance) {
|
||||
module.performance.log(arguments);
|
||||
}
|
||||
else {
|
||||
module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
||||
module.debug.apply(console, arguments);
|
||||
}
|
||||
}
|
||||
},
|
||||
verbose: function() {
|
||||
if(!settings.silent && settings.verbose && settings.debug) {
|
||||
if(settings.performance) {
|
||||
module.performance.log(arguments);
|
||||
}
|
||||
else {
|
||||
module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
||||
module.verbose.apply(console, arguments);
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
if(!settings.silent) {
|
||||
module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
|
||||
module.error.apply(console, arguments);
|
||||
}
|
||||
},
|
||||
performance: {
|
||||
log: function(message) {
|
||||
var
|
||||
currentTime,
|
||||
executionTime,
|
||||
previousTime
|
||||
;
|
||||
if(settings.performance) {
|
||||
currentTime = new Date().getTime();
|
||||
previousTime = time || currentTime;
|
||||
executionTime = currentTime - previousTime;
|
||||
time = currentTime;
|
||||
performance.push({
|
||||
'Name' : message[0],
|
||||
'Arguments' : [].slice.call(message, 1) || '',
|
||||
'Element' : element,
|
||||
'Execution Time' : executionTime
|
||||
});
|
||||
}
|
||||
clearTimeout(module.performance.timer);
|
||||
module.performance.timer = setTimeout(module.performance.display, 500);
|
||||
},
|
||||
display: function() {
|
||||
var
|
||||
title = settings.name + ':',
|
||||
totalTime = 0
|
||||
;
|
||||
time = false;
|
||||
clearTimeout(module.performance.timer);
|
||||
$.each(performance, function(index, data) {
|
||||
totalTime += data['Execution Time'];
|
||||
});
|
||||
title += ' ' + totalTime + 'ms';
|
||||
if(moduleSelector) {
|
||||
title += ' \'' + moduleSelector + '\'';
|
||||
}
|
||||
if($allModules.length > 1) {
|
||||
title += ' ' + '(' + $allModules.length + ')';
|
||||
}
|
||||
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
|
||||
console.groupCollapsed(title);
|
||||
if(console.table) {
|
||||
console.table(performance);
|
||||
}
|
||||
else {
|
||||
$.each(performance, function(index, data) {
|
||||
console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
|
||||
});
|
||||
}
|
||||
console.groupEnd();
|
||||
}
|
||||
performance = [];
|
||||
}
|
||||
},
|
||||
invoke: function(query, passedArguments, context) {
|
||||
var
|
||||
object = instance,
|
||||
maxDepth,
|
||||
found,
|
||||
response
|
||||
;
|
||||
passedArguments = passedArguments || queryArguments;
|
||||
context = element || context;
|
||||
if(typeof query == 'string' && object !== undefined) {
|
||||
query = query.split(/[\. ]/);
|
||||
maxDepth = query.length - 1;
|
||||
$.each(query, function(depth, value) {
|
||||
var camelCaseValue = (depth != maxDepth)
|
||||
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
||||
: query
|
||||
;
|
||||
if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {
|
||||
object = object[camelCaseValue];
|
||||
}
|
||||
else if( object[camelCaseValue] !== undefined ) {
|
||||
found = object[camelCaseValue];
|
||||
return false;
|
||||
}
|
||||
else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
|
||||
object = object[value];
|
||||
}
|
||||
else if( object[value] !== undefined ) {
|
||||
found = object[value];
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
if ( $.isFunction( found ) ) {
|
||||
response = found.apply(context, passedArguments);
|
||||
}
|
||||
else if(found !== undefined) {
|
||||
response = found;
|
||||
}
|
||||
if(Array.isArray(returnedValue)) {
|
||||
returnedValue.push(response);
|
||||
}
|
||||
else if(returnedValue !== undefined) {
|
||||
returnedValue = [returnedValue, response];
|
||||
}
|
||||
else if(response !== undefined) {
|
||||
returnedValue = response;
|
||||
}
|
||||
return found;
|
||||
}
|
||||
};
|
||||
if(methodInvoked) {
|
||||
if(instance === undefined) {
|
||||
module.initialize();
|
||||
}
|
||||
module.invoke(query);
|
||||
}
|
||||
else {
|
||||
if(instance !== undefined) {
|
||||
instance.invoke('destroy');
|
||||
}
|
||||
module.initialize();
|
||||
}
|
||||
})
|
||||
;
|
||||
|
||||
return (returnedValue !== undefined)
|
||||
? returnedValue
|
||||
: this
|
||||
;
|
||||
};
|
||||
|
||||
$.fn.rating.settings = {
|
||||
|
||||
name : 'Rating',
|
||||
namespace : 'rating',
|
||||
|
||||
icon : 'star',
|
||||
|
||||
silent : false,
|
||||
debug : false,
|
||||
verbose : false,
|
||||
performance : true,
|
||||
|
||||
initialRating : 0,
|
||||
interactive : true,
|
||||
maxRating : 4,
|
||||
clearable : 'auto',
|
||||
|
||||
fireOnInit : false,
|
||||
|
||||
onRate : function(rating){},
|
||||
|
||||
error : {
|
||||
method : 'The method you called is not defined',
|
||||
noMaximum : 'No maximum rating specified. Cannot generate HTML automatically'
|
||||
},
|
||||
|
||||
|
||||
metadata: {
|
||||
rating : 'rating',
|
||||
maxRating : 'maxRating',
|
||||
icon : 'icon'
|
||||
},
|
||||
|
||||
className : {
|
||||
active : 'active',
|
||||
disabled : 'disabled',
|
||||
selected : 'selected',
|
||||
loading : 'loading',
|
||||
partiallyActive : 'partial'
|
||||
},
|
||||
|
||||
cssVars : {
|
||||
filledCustomPropName : '--full'
|
||||
},
|
||||
|
||||
selector : {
|
||||
icon : '.icon'
|
||||
},
|
||||
|
||||
templates: {
|
||||
icon: function(maxRating, iconClass) {
|
||||
var
|
||||
icon = 1,
|
||||
html = ''
|
||||
;
|
||||
while(icon <= maxRating) {
|
||||
html += '<i class="'+iconClass+' icon"></i>';
|
||||
icon++;
|
||||
}
|
||||
return html;
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
})( jQuery, window, document );
|
||||
177
assets/semantic-ui/definitions/modules/rating.less
Normal file
177
assets/semantic-ui/definitions/modules/rating.less
Normal file
|
|
@ -0,0 +1,177 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Rating
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'module';
|
||||
@element : 'rating';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Rating
|
||||
*******************************/
|
||||
|
||||
.ui.rating {
|
||||
display: inline-flex;
|
||||
white-space: @whiteSpace;
|
||||
vertical-align: @verticalAlign;
|
||||
}
|
||||
.ui.rating:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
/* Icon */
|
||||
.ui.rating .icon {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
font-weight: @normal;
|
||||
font-style: normal;
|
||||
flex: 1 0 auto;
|
||||
cursor: @iconCursor;
|
||||
width: @iconWidth;
|
||||
height: @iconHeight;
|
||||
transition: @iconTransition;
|
||||
line-height: 1;
|
||||
backface-visibility: hidden;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Types
|
||||
*******************************/
|
||||
|
||||
|
||||
/*-------------------
|
||||
Standard
|
||||
--------------------*/
|
||||
|
||||
/* Inactive Icon */
|
||||
.ui.rating .icon {
|
||||
background: @inactiveBackground;
|
||||
color: @inactiveColor;
|
||||
}
|
||||
|
||||
/* Active Icon */
|
||||
.ui.rating .active.icon {
|
||||
background: @activeBackground;
|
||||
color: @activeColor;
|
||||
}
|
||||
|
||||
/* Partially Active Icon */
|
||||
.ui.rating .icon.partial.active {
|
||||
background: linear-gradient(to right, @activeColor 0% var(--full), @inactiveColor var(--full) 100%);
|
||||
background-clip: text;
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
/* Selected Icon */
|
||||
.ui.rating .icon.selected,
|
||||
.ui.rating .icon.selected.active,
|
||||
.ui.rating .icon.selected.partial.active {
|
||||
background: @selectedBackground;
|
||||
color: @selectedColor;
|
||||
background-clip: unset;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Colors
|
||||
-------------- */
|
||||
|
||||
each(@colors, {
|
||||
@color: replace(@key, '@', '');
|
||||
@c: @colors[@@color][color];
|
||||
@l: @colors[@@color][light];
|
||||
@h: @colors[@@color][hover];
|
||||
@lh: @colors[@@color][lightHover];
|
||||
|
||||
.ui.@{color}.rating .active.icon {
|
||||
color: @l;
|
||||
text-shadow: 0px -@shadowWidth 0px @c,
|
||||
-@shadowWidth 0px 0px @c,
|
||||
0px @shadowWidth 0px @c,
|
||||
@shadowWidth 0px 0px @c;
|
||||
}
|
||||
.ui.@{color}.rating .icon.selected,
|
||||
.ui.@{color}.rating .icon.selected.active,
|
||||
.ui.@{color}.rating .icon.selected.partial.active {
|
||||
background: inherit;
|
||||
color: @lh;
|
||||
text-shadow: 0px -@shadowWidth 0px @h,
|
||||
-@shadowWidth 0px 0px @h,
|
||||
0px @shadowWidth 0px @h,
|
||||
@shadowWidth 0px 0px @h;
|
||||
|
||||
-webkit-text-stroke: unset;
|
||||
background-clip: unset;
|
||||
}
|
||||
.ui.@{color}.rating .icon.partial.active {
|
||||
background: linear-gradient(to right, @l 0% var(--full), @inactiveColor var(--full) 100%);
|
||||
text-shadow: none;
|
||||
-webkit-text-stroke: @c 0.78px;
|
||||
background-clip: text;
|
||||
color: transparent;
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
& when (@variationRatingDisabled) {
|
||||
/*-------------------
|
||||
Disabled
|
||||
--------------------*/
|
||||
|
||||
/* disabled rating */
|
||||
.ui.disabled.rating .icon {
|
||||
cursor: default;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------
|
||||
User Interactive
|
||||
--------------------*/
|
||||
|
||||
/* Selected Rating */
|
||||
.ui.rating.selected .active.icon {
|
||||
opacity: @interactiveActiveIconOpacity;
|
||||
}
|
||||
.ui.rating.selected .icon.selected,
|
||||
.ui.rating .icon.selected {
|
||||
opacity: @interactiveSelectedIconOpacity;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
.ui.rating {
|
||||
font-size: @medium;
|
||||
}
|
||||
& when not (@variationRatingSizes = false) {
|
||||
each(@variationRatingSizes, {
|
||||
@s: @@value;
|
||||
.ui.@{value}.rating {
|
||||
font-size: @s;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
.loadUIOverrides();
|
||||
1564
assets/semantic-ui/definitions/modules/search.js
Normal file
1564
assets/semantic-ui/definitions/modules/search.js
Normal file
File diff suppressed because it is too large
Load diff
560
assets/semantic-ui/definitions/modules/search.less
Normal file
560
assets/semantic-ui/definitions/modules/search.less
Normal file
|
|
@ -0,0 +1,560 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Search
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'module';
|
||||
@element : 'search';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Search
|
||||
*******************************/
|
||||
|
||||
.ui.search {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.ui.search > .prompt {
|
||||
margin: 0;
|
||||
outline: none;
|
||||
-webkit-appearance: none;
|
||||
-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
|
||||
|
||||
text-shadow: none;
|
||||
font-style: normal;
|
||||
font-weight: @normal;
|
||||
|
||||
line-height: @promptLineHeight;
|
||||
padding: @promptPadding;
|
||||
font-size: @promptFontSize;
|
||||
|
||||
background: @promptBackground;
|
||||
border: @promptBorder;
|
||||
color: @promptColor;
|
||||
box-shadow: @promptBoxShadow;
|
||||
transition: @promptTransition;
|
||||
}
|
||||
|
||||
.ui.search .prompt {
|
||||
border-radius: @promptBorderRadius;
|
||||
}
|
||||
|
||||
|
||||
/*--------------
|
||||
Icon
|
||||
---------------*/
|
||||
|
||||
.ui.search .prompt ~ .search.icon {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Results
|
||||
---------------*/
|
||||
|
||||
.ui.search > .results {
|
||||
display: none;
|
||||
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
left: 0;
|
||||
transform-origin: center top;
|
||||
white-space: normal;
|
||||
text-align: left;
|
||||
text-transform: none;
|
||||
|
||||
background: @resultsBackground;
|
||||
|
||||
margin-top: @resultsDistance;
|
||||
width: @resultsWidth;
|
||||
|
||||
border-radius: @resultsBorderRadius;
|
||||
box-shadow: @resultsBoxShadow;
|
||||
border: @resultsBorder;
|
||||
z-index: @resultsZIndex;
|
||||
}
|
||||
.ui.search > .results > :first-child {
|
||||
border-radius: @resultsBorderRadius @resultsBorderRadius 0 0;
|
||||
}
|
||||
.ui.search > .results > :last-child {
|
||||
border-radius: 0 0 @resultsBorderRadius @resultsBorderRadius;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Result
|
||||
---------------*/
|
||||
|
||||
.ui.search > .results .result {
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
font-size: @resultFontSize;
|
||||
padding: @resultPadding;
|
||||
color: @resultTextColor;
|
||||
line-height: @resultLineHeight;
|
||||
border-bottom: @resultDivider;
|
||||
}
|
||||
.ui.search > .results .result:last-child {
|
||||
border-bottom: @resultLastDivider !important;
|
||||
}
|
||||
|
||||
/* Image */
|
||||
.ui.search > .results .result .image {
|
||||
float: @resultImageFloat;
|
||||
overflow: hidden;
|
||||
background: @resultImageBackground;
|
||||
width: @resultImageWidth;
|
||||
height: @resultImageHeight;
|
||||
border-radius: @resultImageBorderRadius;
|
||||
}
|
||||
.ui.search > .results .result .image img {
|
||||
display: block;
|
||||
width: auto;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Info
|
||||
---------------*/
|
||||
|
||||
.ui.search > .results .result .image + .content {
|
||||
margin: @resultImageMargin;
|
||||
}
|
||||
|
||||
.ui.search > .results .result .title {
|
||||
margin: @resultTitleMargin;
|
||||
font-family: @resultTitleFont;
|
||||
font-weight: @resultTitleFontWeight;
|
||||
font-size: @resultTitleFontSize;
|
||||
color: @resultTitleColor;
|
||||
}
|
||||
.ui.search > .results .result .description {
|
||||
margin-top: @resultDescriptionDistance;
|
||||
font-size: @resultDescriptionFontSize;
|
||||
color: @resultDescriptionColor;
|
||||
}
|
||||
.ui.search > .results .result .price {
|
||||
float: @resultPriceFloat;
|
||||
color: @resultPriceColor;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Message
|
||||
---------------*/
|
||||
|
||||
.ui.search > .results > .message {
|
||||
padding: @messageVerticalPadding @messageHorizontalPadding;
|
||||
}
|
||||
.ui.search > .results > .message .header {
|
||||
font-family: @headerFont;
|
||||
font-size: @messageHeaderFontSize;
|
||||
font-weight: @messageHeaderFontWeight;
|
||||
color: @messageHeaderColor;
|
||||
}
|
||||
.ui.search > .results > .message .description {
|
||||
margin-top: @messageDescriptionDistance;
|
||||
font-size: @messageDescriptionFontSize;
|
||||
color: @messageDescriptionColor;
|
||||
}
|
||||
|
||||
/* View All Results */
|
||||
.ui.search > .results > .action {
|
||||
display: block;
|
||||
border-top: @actionBorder;
|
||||
background: @actionBackground;
|
||||
padding: @actionPadding;
|
||||
color: @actionColor;
|
||||
font-weight: @actionFontWeight;
|
||||
text-align: @actionAlign;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
/*--------------------
|
||||
Focus
|
||||
---------------------*/
|
||||
|
||||
.ui.search > .prompt:focus {
|
||||
border-color: @promptFocusBorderColor;
|
||||
background: @promptFocusBackground;
|
||||
color: @promptFocusColor;
|
||||
}
|
||||
|
||||
& when (@variationSearchLoading) {
|
||||
/*--------------------
|
||||
Loading
|
||||
---------------------*/
|
||||
|
||||
.ui.loading.search .input > i.icon:before {
|
||||
position: absolute;
|
||||
content: '';
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
|
||||
margin: @loaderMargin;
|
||||
width: @loaderSize;
|
||||
height: @loaderSize;
|
||||
|
||||
border-radius: @circularRadius;
|
||||
border: @loaderLineWidth solid @loaderFillColor;
|
||||
}
|
||||
.ui.loading.search .input > i.icon:after {
|
||||
position: absolute;
|
||||
content: '';
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
|
||||
margin: @loaderMargin;
|
||||
width: @loaderSize;
|
||||
height: @loaderSize;
|
||||
|
||||
animation: loader @loaderSpeed infinite linear;
|
||||
border: @loaderLineWidth solid @loaderLineColor;
|
||||
border-radius: @circularRadius;
|
||||
|
||||
box-shadow: 0 0 0 1px transparent;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*--------------
|
||||
Hover
|
||||
---------------*/
|
||||
|
||||
.ui.search > .results .result:hover,
|
||||
.ui.category.search > .results .category .result:hover {
|
||||
background: @resultHoverBackground;
|
||||
}
|
||||
.ui.search .action:hover:not(div) {
|
||||
background: @actionHoverBackground;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Active
|
||||
---------------*/
|
||||
& when (@variationSearchCategory) {
|
||||
.ui.category.search > .results .category.active {
|
||||
background: @categoryActiveBackground;
|
||||
}
|
||||
.ui.category.search > .results .category.active > .name {
|
||||
color: @categoryNameActiveColor;
|
||||
}
|
||||
}
|
||||
|
||||
.ui.search > .results .result.active,
|
||||
.ui.category.search > .results .category .result.active {
|
||||
position: relative;
|
||||
border-left-color: @resultActiveBorderLeft;
|
||||
background: @resultActiveBackground;
|
||||
box-shadow: @resultActiveBoxShadow;
|
||||
}
|
||||
.ui.search > .results .result.active .title {
|
||||
color: @resultActiveTitleColor;
|
||||
}
|
||||
.ui.search > .results .result.active .description {
|
||||
color: @resultActiveDescriptionColor;
|
||||
}
|
||||
|
||||
& when (@variationSearchDisabled) {
|
||||
/*--------------------
|
||||
Disabled
|
||||
----------------------*/
|
||||
|
||||
/* Disabled */
|
||||
.ui.disabled.search {
|
||||
cursor: default;
|
||||
pointer-events: none;
|
||||
opacity: @disabledOpacity;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Types
|
||||
*******************************/
|
||||
|
||||
& when (@variationSearchSelection) {
|
||||
/*--------------
|
||||
Selection
|
||||
---------------*/
|
||||
|
||||
.ui.search.selection .prompt {
|
||||
border-radius: @selectionPromptBorderRadius;
|
||||
}
|
||||
|
||||
/* Remove input */
|
||||
.ui.search.selection > .icon.input > .remove.icon {
|
||||
pointer-events: none;
|
||||
position: absolute;
|
||||
left: auto;
|
||||
opacity: 0;
|
||||
color: @selectionCloseIconColor;
|
||||
top: @selectionCloseTop;
|
||||
right: @selectionCloseRight;
|
||||
transition: @selectionCloseTransition;
|
||||
}
|
||||
.ui.search.selection > .icon.input > .active.remove.icon {
|
||||
cursor: pointer;
|
||||
opacity: @selectionCloseIconOpacity;
|
||||
pointer-events: auto;
|
||||
}
|
||||
.ui.search.selection > .icon.input:not([class*="left icon"]) > .icon ~ .remove.icon {
|
||||
right: @selectionCloseIconInputRight;
|
||||
}
|
||||
.ui.search.selection > .icon.input > .remove.icon:hover {
|
||||
opacity: @selectionCloseIconHoverOpacity;
|
||||
color: @selectionCloseIconHoverColor;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSearchCategory) {
|
||||
/*--------------
|
||||
Category
|
||||
---------------*/
|
||||
|
||||
.ui.category.search .results {
|
||||
width: @categoryResultsWidth;
|
||||
}
|
||||
|
||||
.ui.category.search .results.animating,
|
||||
.ui.category.search .results.visible {
|
||||
display: table;
|
||||
}
|
||||
|
||||
/* Category */
|
||||
.ui.category.search > .results .category {
|
||||
display: table-row;
|
||||
background: @categoryBackground;
|
||||
box-shadow: @categoryBoxShadow;
|
||||
transition: @categoryTransition;
|
||||
}
|
||||
|
||||
/* Last Category */
|
||||
.ui.category.search > .results .category:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
/* First / Last */
|
||||
.ui.category.search > .results .category:first-child .name + .result {
|
||||
border-radius: 0 @resultsBorderRadius 0 0;
|
||||
}
|
||||
.ui.category.search > .results .category:last-child .result:last-child {
|
||||
border-radius: 0 0 @resultsBorderRadius 0;
|
||||
}
|
||||
|
||||
/* Category Result Name */
|
||||
.ui.category.search > .results .category > .name {
|
||||
display: table-cell;
|
||||
text-overflow: ellipsis;
|
||||
width: @categoryNameWidth;
|
||||
white-space: @categoryNameWhitespace;
|
||||
background: @categoryNameBackground;
|
||||
font-family: @categoryNameFont;
|
||||
font-size: @categoryNameFontSize;
|
||||
padding: @categoryNamePadding;
|
||||
font-weight: @categoryNameFontWeight;
|
||||
color: @categoryNameColor;
|
||||
border-bottom: @categoryDivider;
|
||||
}
|
||||
|
||||
/* Category Result */
|
||||
.ui.category.search > .results .category .results {
|
||||
display: table-cell;
|
||||
background: @categoryResultBackground;
|
||||
border-left: @categoryResultLeftBorder;
|
||||
border-bottom: @categoryDivider;
|
||||
}
|
||||
.ui.category.search > .results .category .result {
|
||||
border-bottom: @categoryResultDivider;
|
||||
transition: @categoryResultTransition;
|
||||
padding: @categoryResultPadding;
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
& when (@variationSearchScrolling),
|
||||
(@variationSearchShort),
|
||||
(@variationSearchLong) {
|
||||
|
||||
/*-------------------
|
||||
Scrolling
|
||||
--------------------*/
|
||||
|
||||
.ui.scrolling.search > .results,
|
||||
.ui.search.long > .results,
|
||||
.ui.search.short > .results {
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
backface-visibility: hidden;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
& when (@variationSearchScrolling) {
|
||||
@media only screen and (max-width : @largestMobileScreen) {
|
||||
.ui.scrolling.search > .results {
|
||||
max-height: @scrollingMobileMaxResultsHeight;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: @tabletBreakpoint) {
|
||||
.ui.scrolling.search > .results {
|
||||
max-height: @scrollingTabletMaxResultsHeight;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: @computerBreakpoint) {
|
||||
.ui.scrolling.search > .results {
|
||||
max-height: @scrollingComputerMaxResultsHeight;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: @widescreenMonitorBreakpoint) {
|
||||
.ui.scrolling.search > .results {
|
||||
max-height: @scrollingWidescreenMaxResultsHeight;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width : @largestMobileScreen) {
|
||||
& when (@variationSearchShort) {
|
||||
.ui.search.short > .results {
|
||||
max-height: @scrollingMobileMaxResultsHeight;
|
||||
}
|
||||
.ui.search[class*="very short"] > .results {
|
||||
max-height: @scrollingMobileMaxResultsHeight * 0.75;
|
||||
}
|
||||
}
|
||||
& when (@variationSearchLong) {
|
||||
.ui.search.long > .results {
|
||||
max-height: @scrollingMobileMaxResultsHeight * 2;
|
||||
}
|
||||
.ui.search[class*="very long"] > .results {
|
||||
max-height: @scrollingMobileMaxResultsHeight * 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: @tabletBreakpoint) {
|
||||
& when (@variationSearchShort) {
|
||||
.ui.search.short > .results {
|
||||
max-height: @scrollingTabletMaxResultsHeight;
|
||||
}
|
||||
.ui.search[class*="very short"] > .results {
|
||||
max-height: @scrollingTabletMaxResultsHeight * 0.75;
|
||||
}
|
||||
}
|
||||
& when (@variationSearchLong) {
|
||||
.ui.search.long > .results {
|
||||
max-height: @scrollingTabletMaxResultsHeight * 2;
|
||||
}
|
||||
.ui.search[class*="very long"] > .results {
|
||||
max-height: @scrollingTabletMaxResultsHeight * 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: @computerBreakpoint) {
|
||||
& when (@variationSearchShort) {
|
||||
.ui.search.short > .results {
|
||||
max-height: @scrollingComputerMaxResultsHeight;
|
||||
}
|
||||
.ui.search[class*="very short"] > .results {
|
||||
max-height: @scrollingComputerMaxResultsHeight * 0.75;
|
||||
}
|
||||
}
|
||||
& when (@variationSearchLong) {
|
||||
.ui.search.long > .results {
|
||||
max-height: @scrollingComputerMaxResultsHeight * 2;
|
||||
}
|
||||
.ui.search[class*="very long"] > .results {
|
||||
max-height: @scrollingComputerMaxResultsHeight * 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: @widescreenMonitorBreakpoint) {
|
||||
& when (@variationSearchShort) {
|
||||
.ui.search.short > .results {
|
||||
max-height: @scrollingWidescreenMaxResultsHeight;
|
||||
}
|
||||
.ui.search[class*="very short"] > .results {
|
||||
max-height: @scrollingWidescreenMaxResultsHeight * 0.75;
|
||||
}
|
||||
}
|
||||
& when (@variationSearchLong) {
|
||||
.ui.search.long > .results {
|
||||
max-height: @scrollingWidescreenMaxResultsHeight * 2;
|
||||
}
|
||||
.ui.search[class*="very long"] > .results {
|
||||
max-height: @scrollingWidescreenMaxResultsHeight * 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSearchAligned) {
|
||||
/*-------------------
|
||||
Left / Right
|
||||
--------------------*/
|
||||
|
||||
.ui[class*="left aligned"].search > .results {
|
||||
right: auto;
|
||||
left: 0;
|
||||
}
|
||||
.ui[class*="right aligned"].search > .results {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Fluid
|
||||
---------------*/
|
||||
|
||||
& when (@variationSearchFluid) {
|
||||
.ui.fluid.search .results {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*--------------
|
||||
Sizes
|
||||
---------------*/
|
||||
|
||||
.ui.search {
|
||||
font-size: @relativeMedium;
|
||||
}
|
||||
& when not (@variationFeedSizes = false) {
|
||||
each(@variationFeedSizes, {
|
||||
@s: @{value}SearchSize;
|
||||
.ui.@{value}.search {
|
||||
font-size: @@s;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Mobile
|
||||
---------------*/
|
||||
|
||||
@media only screen and (max-width: @largestMobileScreen) {
|
||||
.ui.search .results {
|
||||
max-width: @mobileMaxWidth;
|
||||
}
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
848
assets/semantic-ui/definitions/modules/shape.js
Normal file
848
assets/semantic-ui/definitions/modules/shape.js
Normal file
|
|
@ -0,0 +1,848 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Shape
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
;(function ($, window, document, undefined) {
|
||||
|
||||
'use strict';
|
||||
|
||||
$.isFunction = $.isFunction || function(obj) {
|
||||
return typeof obj === "function" && typeof obj.nodeType !== "number";
|
||||
};
|
||||
|
||||
window = (typeof window != 'undefined' && window.Math == Math)
|
||||
? window
|
||||
: (typeof self != 'undefined' && self.Math == Math)
|
||||
? self
|
||||
: Function('return this')()
|
||||
;
|
||||
|
||||
$.fn.shape = function(parameters) {
|
||||
var
|
||||
$allModules = $(this),
|
||||
|
||||
time = new Date().getTime(),
|
||||
performance = [],
|
||||
|
||||
query = arguments[0],
|
||||
methodInvoked = (typeof query == 'string'),
|
||||
queryArguments = [].slice.call(arguments, 1),
|
||||
|
||||
requestAnimationFrame = window.requestAnimationFrame
|
||||
|| window.mozRequestAnimationFrame
|
||||
|| window.webkitRequestAnimationFrame
|
||||
|| window.msRequestAnimationFrame
|
||||
|| function(callback) { setTimeout(callback, 0); },
|
||||
|
||||
returnedValue
|
||||
;
|
||||
|
||||
$allModules
|
||||
.each(function() {
|
||||
var
|
||||
moduleSelector = $allModules.selector || '',
|
||||
settings = ( $.isPlainObject(parameters) )
|
||||
? $.extend(true, {}, $.fn.shape.settings, parameters)
|
||||
: $.extend({}, $.fn.shape.settings),
|
||||
|
||||
// internal aliases
|
||||
namespace = settings.namespace,
|
||||
selector = settings.selector,
|
||||
error = settings.error,
|
||||
className = settings.className,
|
||||
|
||||
// define namespaces for modules
|
||||
eventNamespace = '.' + namespace,
|
||||
moduleNamespace = 'module-' + namespace,
|
||||
|
||||
// selector cache
|
||||
$module = $(this),
|
||||
$sides = $module.find('>' + selector.sides),
|
||||
$side = $sides.find('>' + selector.side),
|
||||
|
||||
// private variables
|
||||
nextIndex = false,
|
||||
$activeSide,
|
||||
$nextSide,
|
||||
|
||||
// standard module
|
||||
element = this,
|
||||
instance = $module.data(moduleNamespace),
|
||||
module
|
||||
;
|
||||
|
||||
module = {
|
||||
|
||||
initialize: function() {
|
||||
module.verbose('Initializing module for', element);
|
||||
module.set.defaultSide();
|
||||
module.instantiate();
|
||||
},
|
||||
|
||||
instantiate: function() {
|
||||
module.verbose('Storing instance of module', module);
|
||||
instance = module;
|
||||
$module
|
||||
.data(moduleNamespace, instance)
|
||||
;
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
module.verbose('Destroying previous module for', element);
|
||||
$module
|
||||
.removeData(moduleNamespace)
|
||||
.off(eventNamespace)
|
||||
;
|
||||
},
|
||||
|
||||
refresh: function() {
|
||||
module.verbose('Refreshing selector cache for', element);
|
||||
$module = $(element);
|
||||
$sides = $(this).find(selector.sides);
|
||||
$side = $(this).find(selector.side);
|
||||
},
|
||||
|
||||
repaint: function() {
|
||||
module.verbose('Forcing repaint event');
|
||||
var
|
||||
shape = $sides[0] || document.createElement('div'),
|
||||
fakeAssignment = shape.offsetWidth
|
||||
;
|
||||
},
|
||||
|
||||
animate: function(propertyObject, callback) {
|
||||
module.verbose('Animating box with properties', propertyObject);
|
||||
callback = callback || function(event) {
|
||||
module.verbose('Executing animation callback');
|
||||
if(event !== undefined) {
|
||||
event.stopPropagation();
|
||||
}
|
||||
module.reset();
|
||||
module.set.active();
|
||||
};
|
||||
settings.beforeChange.call($nextSide[0]);
|
||||
if(module.get.transitionEvent()) {
|
||||
module.verbose('Starting CSS animation');
|
||||
$module
|
||||
.addClass(className.animating)
|
||||
;
|
||||
$sides
|
||||
.css(propertyObject)
|
||||
.one(module.get.transitionEvent(), callback)
|
||||
;
|
||||
module.set.duration(settings.duration);
|
||||
requestAnimationFrame(function() {
|
||||
$module
|
||||
.addClass(className.animating)
|
||||
;
|
||||
$activeSide
|
||||
.addClass(className.hidden)
|
||||
;
|
||||
});
|
||||
}
|
||||
else {
|
||||
callback();
|
||||
}
|
||||
},
|
||||
|
||||
queue: function(method) {
|
||||
module.debug('Queueing animation of', method);
|
||||
$sides
|
||||
.one(module.get.transitionEvent(), function() {
|
||||
module.debug('Executing queued animation');
|
||||
setTimeout(function(){
|
||||
$module.shape(method);
|
||||
}, 0);
|
||||
})
|
||||
;
|
||||
},
|
||||
|
||||
reset: function() {
|
||||
module.verbose('Animating states reset');
|
||||
$module
|
||||
.removeClass(className.animating)
|
||||
.attr('style', '')
|
||||
.removeAttr('style')
|
||||
;
|
||||
// removeAttr style does not consistently work in safari
|
||||
$sides
|
||||
.attr('style', '')
|
||||
.removeAttr('style')
|
||||
;
|
||||
$side
|
||||
.attr('style', '')
|
||||
.removeAttr('style')
|
||||
.removeClass(className.hidden)
|
||||
;
|
||||
$nextSide
|
||||
.removeClass(className.animating)
|
||||
.attr('style', '')
|
||||
.removeAttr('style')
|
||||
;
|
||||
},
|
||||
|
||||
is: {
|
||||
complete: function() {
|
||||
return ($side.filter('.' + className.active)[0] == $nextSide[0]);
|
||||
},
|
||||
animating: function() {
|
||||
return $module.hasClass(className.animating);
|
||||
},
|
||||
hidden: function() {
|
||||
return $module.closest(':hidden').length > 0;
|
||||
}
|
||||
},
|
||||
|
||||
set: {
|
||||
|
||||
defaultSide: function() {
|
||||
$activeSide = $side.filter('.' + settings.className.active);
|
||||
$nextSide = ( $activeSide.next(selector.side).length > 0 )
|
||||
? $activeSide.next(selector.side)
|
||||
: $side.first()
|
||||
;
|
||||
nextIndex = false;
|
||||
module.verbose('Active side set to', $activeSide);
|
||||
module.verbose('Next side set to', $nextSide);
|
||||
},
|
||||
|
||||
duration: function(duration) {
|
||||
duration = duration || settings.duration;
|
||||
duration = (typeof duration == 'number')
|
||||
? duration + 'ms'
|
||||
: duration
|
||||
;
|
||||
module.verbose('Setting animation duration', duration);
|
||||
if(settings.duration || settings.duration === 0) {
|
||||
$sides.add($side)
|
||||
.css({
|
||||
'-webkit-transition-duration': duration,
|
||||
'-moz-transition-duration': duration,
|
||||
'-ms-transition-duration': duration,
|
||||
'-o-transition-duration': duration,
|
||||
'transition-duration': duration
|
||||
})
|
||||
;
|
||||
}
|
||||
},
|
||||
|
||||
currentStageSize: function() {
|
||||
var
|
||||
$activeSide = $side.filter('.' + settings.className.active),
|
||||
width = $activeSide.outerWidth(true),
|
||||
height = $activeSide.outerHeight(true)
|
||||
;
|
||||
$module
|
||||
.css({
|
||||
width: width,
|
||||
height: height
|
||||
})
|
||||
;
|
||||
},
|
||||
|
||||
stageSize: function() {
|
||||
var
|
||||
$clone = $module.clone().addClass(className.loading),
|
||||
$side = $clone.find('>' + selector.sides + '>' + selector.side),
|
||||
$activeSide = $side.filter('.' + settings.className.active),
|
||||
$nextSide = (nextIndex)
|
||||
? $side.eq(nextIndex)
|
||||
: ( $activeSide.next(selector.side).length > 0 )
|
||||
? $activeSide.next(selector.side)
|
||||
: $side.first(),
|
||||
newWidth = (settings.width === 'next')
|
||||
? $nextSide.outerWidth(true)
|
||||
: (settings.width === 'initial')
|
||||
? $module.width()
|
||||
: settings.width,
|
||||
newHeight = (settings.height === 'next')
|
||||
? $nextSide.outerHeight(true)
|
||||
: (settings.height === 'initial')
|
||||
? $module.height()
|
||||
: settings.height
|
||||
;
|
||||
$activeSide.removeClass(className.active);
|
||||
$nextSide.addClass(className.active);
|
||||
$clone.insertAfter($module);
|
||||
$clone.remove();
|
||||
if(settings.width !== 'auto') {
|
||||
$module.css('width', newWidth + settings.jitter);
|
||||
module.verbose('Specifying width during animation', newWidth);
|
||||
}
|
||||
if(settings.height !== 'auto') {
|
||||
$module.css('height', newHeight + settings.jitter);
|
||||
module.verbose('Specifying height during animation', newHeight);
|
||||
}
|
||||
},
|
||||
|
||||
nextSide: function(selector) {
|
||||
nextIndex = selector;
|
||||
$nextSide = $side.filter(selector);
|
||||
nextIndex = $side.index($nextSide);
|
||||
if($nextSide.length === 0) {
|
||||
module.set.defaultSide();
|
||||
module.error(error.side);
|
||||
}
|
||||
module.verbose('Next side manually set to', $nextSide);
|
||||
},
|
||||
|
||||
active: function() {
|
||||
module.verbose('Setting new side to active', $nextSide);
|
||||
$side
|
||||
.removeClass(className.active)
|
||||
;
|
||||
$nextSide
|
||||
.addClass(className.active)
|
||||
;
|
||||
settings.onChange.call($nextSide[0]);
|
||||
module.set.defaultSide();
|
||||
}
|
||||
},
|
||||
|
||||
flip: {
|
||||
to: function(type,stage){
|
||||
if(module.is.hidden()) {
|
||||
module.debug('Module not visible', $nextSide);
|
||||
return;
|
||||
}
|
||||
if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {
|
||||
module.debug('Side already visible', $nextSide);
|
||||
return;
|
||||
}
|
||||
var
|
||||
transform = module.get.transform[type]()
|
||||
;
|
||||
if( !module.is.animating()) {
|
||||
module.debug('Flipping '+type, $nextSide);
|
||||
module.set.stageSize();
|
||||
module.stage[stage]();
|
||||
module.animate(transform);
|
||||
}
|
||||
else {
|
||||
module.queue('flip '+type);
|
||||
}
|
||||
},
|
||||
|
||||
up: function() {
|
||||
module.flip.to('up','above');
|
||||
},
|
||||
|
||||
down: function() {
|
||||
module.flip.to('down','below');
|
||||
},
|
||||
|
||||
left: function() {
|
||||
module.flip.to('left','left');
|
||||
},
|
||||
|
||||
right: function() {
|
||||
module.flip.to('right','right');
|
||||
},
|
||||
|
||||
over: function() {
|
||||
module.flip.to('over','behind');
|
||||
},
|
||||
|
||||
back: function() {
|
||||
module.flip.to('back','behind');
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
get: {
|
||||
|
||||
transform: {
|
||||
up: function() {
|
||||
var
|
||||
translateZ = $activeSide.outerHeight(true) / 2,
|
||||
translateY = $nextSide.outerHeight(true) - translateZ
|
||||
;
|
||||
return {
|
||||
transform: 'translateY(' + translateY + 'px) translateZ(-'+ translateZ + 'px) rotateX(-90deg)'
|
||||
};
|
||||
},
|
||||
|
||||
down: function() {
|
||||
var
|
||||
translate = {
|
||||
z: $activeSide.outerHeight(true) / 2
|
||||
}
|
||||
;
|
||||
return {
|
||||
transform: 'translateY(-' + translate.z + 'px) translateZ(-'+ translate.z + 'px) rotateX(90deg)'
|
||||
};
|
||||
},
|
||||
|
||||
left: function() {
|
||||
var
|
||||
translateZ = $activeSide.outerWidth(true) / 2,
|
||||
translateX = $nextSide.outerWidth(true) - translateZ
|
||||
;
|
||||
return {
|
||||
transform: 'translateX(' + translateX + 'px) translateZ(-' + translateZ + 'px) rotateY(90deg)'
|
||||
};
|
||||
},
|
||||
|
||||
right: function() {
|
||||
var
|
||||
translate = {
|
||||
z : $activeSide.outerWidth(true) / 2
|
||||
}
|
||||
;
|
||||
return {
|
||||
transform: 'translateX(-' + translate.z + 'px) translateZ(-' + translate.z + 'px) rotateY(-90deg)'
|
||||
};
|
||||
},
|
||||
|
||||
over: function() {
|
||||
var
|
||||
translate = {
|
||||
x : -(($activeSide.outerWidth(true) - $nextSide.outerWidth(true)) / 2)
|
||||
}
|
||||
;
|
||||
return {
|
||||
transform: 'translateX(' + translate.x + 'px) rotateY(180deg)'
|
||||
};
|
||||
},
|
||||
|
||||
back: function() {
|
||||
var
|
||||
translate = {
|
||||
x : -(($activeSide.outerWidth(true) - $nextSide.outerWidth(true)) / 2)
|
||||
}
|
||||
;
|
||||
return {
|
||||
transform: 'translateX(' + translate.x + 'px) rotateY(-180deg)'
|
||||
};
|
||||
}
|
||||
},
|
||||
|
||||
transitionEvent: function() {
|
||||
var
|
||||
element = document.createElement('element'),
|
||||
transitions = {
|
||||
'transition' :'transitionend',
|
||||
'OTransition' :'oTransitionEnd',
|
||||
'MozTransition' :'transitionend',
|
||||
'WebkitTransition' :'webkitTransitionEnd'
|
||||
},
|
||||
transition
|
||||
;
|
||||
for(transition in transitions){
|
||||
if( element.style[transition] !== undefined ){
|
||||
return transitions[transition];
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
nextSide: function() {
|
||||
return ( $activeSide.next(selector.side).length > 0 )
|
||||
? $activeSide.next(selector.side)
|
||||
: $side.first()
|
||||
;
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
stage: {
|
||||
|
||||
above: function() {
|
||||
var
|
||||
box = {
|
||||
origin : (($activeSide.outerHeight(true) - $nextSide.outerHeight(true)) / 2),
|
||||
depth : {
|
||||
active : ($nextSide.outerHeight(true) / 2),
|
||||
next : ($activeSide.outerHeight(true) / 2)
|
||||
}
|
||||
}
|
||||
;
|
||||
module.verbose('Setting the initial animation position as above', $nextSide, box);
|
||||
$activeSide
|
||||
.css({
|
||||
'transform' : 'rotateX(0deg)'
|
||||
})
|
||||
;
|
||||
$nextSide
|
||||
.addClass(className.animating)
|
||||
.css({
|
||||
'top' : box.origin + 'px',
|
||||
'transform' : 'rotateX(90deg) translateZ(' + box.depth.next + 'px) translateY(-' + box.depth.active + 'px)'
|
||||
})
|
||||
;
|
||||
},
|
||||
|
||||
below: function() {
|
||||
var
|
||||
box = {
|
||||
origin : (($activeSide.outerHeight(true) - $nextSide.outerHeight(true)) / 2),
|
||||
depth : {
|
||||
active : ($nextSide.outerHeight(true) / 2),
|
||||
next : ($activeSide.outerHeight(true) / 2)
|
||||
}
|
||||
}
|
||||
;
|
||||
module.verbose('Setting the initial animation position as below', $nextSide, box);
|
||||
$activeSide
|
||||
.css({
|
||||
'transform' : 'rotateX(0deg)'
|
||||
})
|
||||
;
|
||||
$nextSide
|
||||
.addClass(className.animating)
|
||||
.css({
|
||||
'top' : box.origin + 'px',
|
||||
'transform' : 'rotateX(-90deg) translateZ(' + box.depth.next + 'px) translateY(' + box.depth.active + 'px)'
|
||||
})
|
||||
;
|
||||
},
|
||||
|
||||
left: function() {
|
||||
var
|
||||
height = {
|
||||
active : $activeSide.outerWidth(true),
|
||||
next : $nextSide.outerWidth(true)
|
||||
},
|
||||
box = {
|
||||
origin : ( ( height.active - height.next ) / 2),
|
||||
depth : {
|
||||
active : (height.next / 2),
|
||||
next : (height.active / 2)
|
||||
}
|
||||
}
|
||||
;
|
||||
module.verbose('Setting the initial animation position as left', $nextSide, box);
|
||||
$activeSide
|
||||
.css({
|
||||
'transform' : 'rotateY(0deg)'
|
||||
})
|
||||
;
|
||||
$nextSide
|
||||
.addClass(className.animating)
|
||||
.css({
|
||||
'left' : box.origin + 'px',
|
||||
'transform' : 'rotateY(-90deg) translateZ(' + box.depth.next + 'px) translateX(-' + box.depth.active + 'px)'
|
||||
})
|
||||
;
|
||||
},
|
||||
|
||||
right: function() {
|
||||
var
|
||||
height = {
|
||||
active : $activeSide.outerWidth(true),
|
||||
next : $nextSide.outerWidth(true)
|
||||
},
|
||||
box = {
|
||||
origin : ( ( height.active - height.next ) / 2),
|
||||
depth : {
|
||||
active : (height.next / 2),
|
||||
next : (height.active / 2)
|
||||
}
|
||||
}
|
||||
;
|
||||
module.verbose('Setting the initial animation position as right', $nextSide, box);
|
||||
$activeSide
|
||||
.css({
|
||||
'transform' : 'rotateY(0deg)'
|
||||
})
|
||||
;
|
||||
$nextSide
|
||||
.addClass(className.animating)
|
||||
.css({
|
||||
'left' : box.origin + 'px',
|
||||
'transform' : 'rotateY(90deg) translateZ(' + box.depth.next + 'px) translateX(' + box.depth.active + 'px)'
|
||||
})
|
||||
;
|
||||
},
|
||||
|
||||
behind: function() {
|
||||
var
|
||||
height = {
|
||||
active : $activeSide.outerWidth(true),
|
||||
next : $nextSide.outerWidth(true)
|
||||
},
|
||||
box = {
|
||||
origin : ( ( height.active - height.next ) / 2),
|
||||
depth : {
|
||||
active : (height.next / 2),
|
||||
next : (height.active / 2)
|
||||
}
|
||||
}
|
||||
;
|
||||
module.verbose('Setting the initial animation position as behind', $nextSide, box);
|
||||
$activeSide
|
||||
.css({
|
||||
'transform' : 'rotateY(0deg)'
|
||||
})
|
||||
;
|
||||
$nextSide
|
||||
.addClass(className.animating)
|
||||
.css({
|
||||
'left' : box.origin + 'px',
|
||||
'transform' : 'rotateY(-180deg)'
|
||||
})
|
||||
;
|
||||
}
|
||||
},
|
||||
setting: function(name, value) {
|
||||
module.debug('Changing setting', name, value);
|
||||
if( $.isPlainObject(name) ) {
|
||||
$.extend(true, settings, name);
|
||||
}
|
||||
else if(value !== undefined) {
|
||||
if($.isPlainObject(settings[name])) {
|
||||
$.extend(true, settings[name], value);
|
||||
}
|
||||
else {
|
||||
settings[name] = value;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return settings[name];
|
||||
}
|
||||
},
|
||||
internal: function(name, value) {
|
||||
if( $.isPlainObject(name) ) {
|
||||
$.extend(true, module, name);
|
||||
}
|
||||
else if(value !== undefined) {
|
||||
module[name] = value;
|
||||
}
|
||||
else {
|
||||
return module[name];
|
||||
}
|
||||
},
|
||||
debug: function() {
|
||||
if(!settings.silent && settings.debug) {
|
||||
if(settings.performance) {
|
||||
module.performance.log(arguments);
|
||||
}
|
||||
else {
|
||||
module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
||||
module.debug.apply(console, arguments);
|
||||
}
|
||||
}
|
||||
},
|
||||
verbose: function() {
|
||||
if(!settings.silent && settings.verbose && settings.debug) {
|
||||
if(settings.performance) {
|
||||
module.performance.log(arguments);
|
||||
}
|
||||
else {
|
||||
module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
||||
module.verbose.apply(console, arguments);
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
if(!settings.silent) {
|
||||
module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
|
||||
module.error.apply(console, arguments);
|
||||
}
|
||||
},
|
||||
performance: {
|
||||
log: function(message) {
|
||||
var
|
||||
currentTime,
|
||||
executionTime,
|
||||
previousTime
|
||||
;
|
||||
if(settings.performance) {
|
||||
currentTime = new Date().getTime();
|
||||
previousTime = time || currentTime;
|
||||
executionTime = currentTime - previousTime;
|
||||
time = currentTime;
|
||||
performance.push({
|
||||
'Name' : message[0],
|
||||
'Arguments' : [].slice.call(message, 1) || '',
|
||||
'Element' : element,
|
||||
'Execution Time' : executionTime
|
||||
});
|
||||
}
|
||||
clearTimeout(module.performance.timer);
|
||||
module.performance.timer = setTimeout(module.performance.display, 500);
|
||||
},
|
||||
display: function() {
|
||||
var
|
||||
title = settings.name + ':',
|
||||
totalTime = 0
|
||||
;
|
||||
time = false;
|
||||
clearTimeout(module.performance.timer);
|
||||
$.each(performance, function(index, data) {
|
||||
totalTime += data['Execution Time'];
|
||||
});
|
||||
title += ' ' + totalTime + 'ms';
|
||||
if(moduleSelector) {
|
||||
title += ' \'' + moduleSelector + '\'';
|
||||
}
|
||||
if($allModules.length > 1) {
|
||||
title += ' ' + '(' + $allModules.length + ')';
|
||||
}
|
||||
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
|
||||
console.groupCollapsed(title);
|
||||
if(console.table) {
|
||||
console.table(performance);
|
||||
}
|
||||
else {
|
||||
$.each(performance, function(index, data) {
|
||||
console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
|
||||
});
|
||||
}
|
||||
console.groupEnd();
|
||||
}
|
||||
performance = [];
|
||||
}
|
||||
},
|
||||
invoke: function(query, passedArguments, context) {
|
||||
var
|
||||
object = instance,
|
||||
maxDepth,
|
||||
found,
|
||||
response
|
||||
;
|
||||
passedArguments = passedArguments || queryArguments;
|
||||
context = element || context;
|
||||
if(typeof query == 'string' && object !== undefined) {
|
||||
query = query.split(/[\. ]/);
|
||||
maxDepth = query.length - 1;
|
||||
$.each(query, function(depth, value) {
|
||||
var camelCaseValue = (depth != maxDepth)
|
||||
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
||||
: query
|
||||
;
|
||||
if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {
|
||||
object = object[camelCaseValue];
|
||||
}
|
||||
else if( object[camelCaseValue] !== undefined ) {
|
||||
found = object[camelCaseValue];
|
||||
return false;
|
||||
}
|
||||
else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
|
||||
object = object[value];
|
||||
}
|
||||
else if( object[value] !== undefined ) {
|
||||
found = object[value];
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
if ( $.isFunction( found ) ) {
|
||||
response = found.apply(context, passedArguments);
|
||||
}
|
||||
else if(found !== undefined) {
|
||||
response = found;
|
||||
}
|
||||
if(Array.isArray(returnedValue)) {
|
||||
returnedValue.push(response);
|
||||
}
|
||||
else if(returnedValue !== undefined) {
|
||||
returnedValue = [returnedValue, response];
|
||||
}
|
||||
else if(response !== undefined) {
|
||||
returnedValue = response;
|
||||
}
|
||||
return found;
|
||||
}
|
||||
};
|
||||
|
||||
if(methodInvoked) {
|
||||
if(instance === undefined) {
|
||||
module.initialize();
|
||||
}
|
||||
var $inputs = $module.find('input');
|
||||
if( $inputs.length > 0) {
|
||||
$inputs.blur();
|
||||
setTimeout(function(){
|
||||
module.invoke(query);
|
||||
}, 150);
|
||||
} else {
|
||||
module.invoke(query);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(instance !== undefined) {
|
||||
instance.invoke('destroy');
|
||||
}
|
||||
module.initialize();
|
||||
}
|
||||
})
|
||||
;
|
||||
|
||||
return (returnedValue !== undefined)
|
||||
? returnedValue
|
||||
: this
|
||||
;
|
||||
};
|
||||
|
||||
$.fn.shape.settings = {
|
||||
|
||||
// module info
|
||||
name : 'Shape',
|
||||
|
||||
// hide all debug content
|
||||
silent : false,
|
||||
|
||||
// debug content outputted to console
|
||||
debug : false,
|
||||
|
||||
// verbose debug output
|
||||
verbose : false,
|
||||
|
||||
// fudge factor in pixels when swapping from 2d to 3d (can be useful to correct rounding errors)
|
||||
jitter : 0,
|
||||
|
||||
// performance data output
|
||||
performance: true,
|
||||
|
||||
// event namespace
|
||||
namespace : 'shape',
|
||||
|
||||
// width during animation, can be set to 'auto', initial', 'next' or pixel amount
|
||||
width: 'initial',
|
||||
|
||||
// height during animation, can be set to 'auto', 'initial', 'next' or pixel amount
|
||||
height: 'initial',
|
||||
|
||||
// callback occurs on side change
|
||||
beforeChange : function() {},
|
||||
onChange : function() {},
|
||||
|
||||
// allow animation to same side
|
||||
allowRepeats: false,
|
||||
|
||||
// animation duration
|
||||
duration : false,
|
||||
|
||||
// possible errors
|
||||
error: {
|
||||
side : 'You tried to switch to a side that does not exist.',
|
||||
method : 'The method you called is not defined'
|
||||
},
|
||||
|
||||
// classnames used
|
||||
className : {
|
||||
animating : 'animating',
|
||||
hidden : 'hidden',
|
||||
loading : 'loading',
|
||||
active : 'active'
|
||||
},
|
||||
|
||||
// selectors used
|
||||
selector : {
|
||||
sides : '.sides',
|
||||
side : '.side'
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
})( jQuery, window, document );
|
||||
155
assets/semantic-ui/definitions/modules/shape.less
Normal file
155
assets/semantic-ui/definitions/modules/shape.less
Normal file
|
|
@ -0,0 +1,155 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Shape
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'module';
|
||||
@element : 'shape';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Shape
|
||||
*******************************/
|
||||
|
||||
.ui.shape {
|
||||
position: relative;
|
||||
vertical-align: top;
|
||||
display: @display;
|
||||
perspective: @perspective;
|
||||
transition: @transition;
|
||||
}
|
||||
|
||||
.ui.shape .side,
|
||||
.ui.shape .sides {
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
|
||||
.ui.shape .side {
|
||||
display: none;
|
||||
opacity: 1;
|
||||
width: 100%;
|
||||
|
||||
margin: @sideMargin !important;
|
||||
backface-visibility: @backfaceVisibility;
|
||||
}
|
||||
|
||||
.ui.shape .side * {
|
||||
backface-visibility: visible !important;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Types
|
||||
*******************************/
|
||||
|
||||
& when (@variationShapeCube) {
|
||||
.ui.cube.shape .side {
|
||||
min-width: @cubeSize;
|
||||
height: @cubeSize;
|
||||
|
||||
padding: @cubePadding;
|
||||
|
||||
background-color: @cubeBackground;
|
||||
color: @cubeTextColor;
|
||||
box-shadow: @cubeBoxShadow;
|
||||
}
|
||||
.ui.cube.shape .side > .content {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: table;
|
||||
|
||||
text-align: @cubeTextAlign;
|
||||
user-select: text;
|
||||
}
|
||||
.ui.cube.shape .side > .content > div {
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
font-size: @cubeFontSize;
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
& when (@variationShapeText) {
|
||||
.ui.text.shape.animating .sides {
|
||||
position: static;
|
||||
}
|
||||
.ui.text.shape .side {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.ui.text.shape .side > * {
|
||||
white-space: normal;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
& when (@variationShapeLoading) {
|
||||
/*--------------
|
||||
Loading
|
||||
---------------*/
|
||||
|
||||
.ui.loading.shape {
|
||||
position: absolute;
|
||||
top: -9999px;
|
||||
left: -9999px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*--------------
|
||||
Animating
|
||||
---------------*/
|
||||
|
||||
.ui.shape .animating.side {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
display: block;
|
||||
z-index: @animatingZIndex;
|
||||
}
|
||||
.ui.shape .hidden.side {
|
||||
opacity: @hiddenSideOpacity;
|
||||
}
|
||||
|
||||
|
||||
/*--------------
|
||||
CSS
|
||||
---------------*/
|
||||
|
||||
.ui.shape.animating .sides {
|
||||
position: absolute;
|
||||
transition: @transition;
|
||||
}
|
||||
.ui.shape.animating .side {
|
||||
transition: @sideTransition;
|
||||
}
|
||||
.ui.shape .animating.side *,
|
||||
.ui.shape.animating .side * {
|
||||
transition: none;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Active
|
||||
---------------*/
|
||||
|
||||
.ui.shape .active.side {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
1036
assets/semantic-ui/definitions/modules/sidebar.js
Normal file
1036
assets/semantic-ui/definitions/modules/sidebar.js
Normal file
File diff suppressed because it is too large
Load diff
653
assets/semantic-ui/definitions/modules/sidebar.less
Normal file
653
assets/semantic-ui/definitions/modules/sidebar.less
Normal file
|
|
@ -0,0 +1,653 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Sidebar
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'module';
|
||||
@element : 'sidebar';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Sidebar
|
||||
*******************************/
|
||||
|
||||
/* Sidebar Menu */
|
||||
.ui.sidebar {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
||||
backface-visibility: hidden;
|
||||
transition: none;
|
||||
will-change: transform;
|
||||
transform: translate3d(0, 0, 0);
|
||||
visibility: hidden;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
|
||||
height: 100% !important;
|
||||
max-height: 100%;
|
||||
border-radius: 0 !important;
|
||||
margin: 0 !important;
|
||||
overflow-y: auto !important;
|
||||
z-index: @topLayer;
|
||||
}
|
||||
|
||||
/* GPU Layers for Child Elements */
|
||||
.ui.sidebar > * {
|
||||
backface-visibility: hidden;
|
||||
}
|
||||
|
||||
|
||||
/*--------------
|
||||
Direction
|
||||
---------------*/
|
||||
& when (@variationSidebarLeft) {
|
||||
.ui.left.sidebar {
|
||||
right: auto;
|
||||
left: 0;
|
||||
transform: translate3d(-100%, 0, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarRight) {
|
||||
.ui.right.sidebar {
|
||||
right: 0 !important;
|
||||
left: auto !important;
|
||||
transform: translate3d(100%, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSidebarTop) or (@variationSidebarBottom) {
|
||||
.ui.top.sidebar,
|
||||
.ui.bottom.sidebar {
|
||||
width: 100% !important;
|
||||
height: auto !important;
|
||||
}
|
||||
& when (@variationSidebarTop) {
|
||||
.ui.top.sidebar {
|
||||
top: 0 !important;
|
||||
bottom: auto !important;
|
||||
transform: translate3d(0, -100%, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarBottom) {
|
||||
.ui.bottom.sidebar {
|
||||
top: auto !important;
|
||||
bottom: 0 !important;
|
||||
transform: translate3d(0, 100%, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*--------------
|
||||
Pushable
|
||||
---------------*/
|
||||
|
||||
.pushable {
|
||||
height: 100%;
|
||||
overflow-x: hidden;
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
/* Whole Page */
|
||||
body.pushable {
|
||||
background: @canvasBackground;
|
||||
&.dimmed {
|
||||
background: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
/* Page Context */
|
||||
.pushable:not(body) {
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
.pushable:not(body) > .ui.sidebar,
|
||||
.pushable:not(body) > .fixed,
|
||||
.pushable:not(body) > .pusher:after {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
|
||||
/*--------------
|
||||
Fixed
|
||||
---------------*/
|
||||
|
||||
.pushable > .fixed {
|
||||
position: fixed;
|
||||
backface-visibility: hidden;
|
||||
|
||||
transition: transform @duration @easing;
|
||||
will-change: transform;
|
||||
z-index: @fixedLayer;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Page
|
||||
---------------*/
|
||||
|
||||
.pushable > .pusher {
|
||||
position: relative;
|
||||
backface-visibility: hidden;
|
||||
overflow: hidden;
|
||||
min-height: 100%;
|
||||
transition: transform @duration @easing;
|
||||
z-index: @middleLayer;
|
||||
|
||||
/* Pusher should inherit background from context */
|
||||
background: inherit;
|
||||
}
|
||||
|
||||
body.pushable > .pusher {
|
||||
background: @pageBackground;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Dimmer
|
||||
---------------*/
|
||||
|
||||
.pushable > .pusher:after {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 0;
|
||||
content: '';
|
||||
background-color: @dimmerColor;
|
||||
overflow: hidden;
|
||||
opacity: 0;
|
||||
transition: @dimmerTransition;
|
||||
will-change: opacity;
|
||||
z-index: @dimmerLayer;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Coupling
|
||||
---------------*/
|
||||
|
||||
.ui.sidebar.menu .item {
|
||||
border-radius: 0 !important;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
/*--------------
|
||||
Dimmed
|
||||
---------------*/
|
||||
|
||||
.pushable > .pusher.dimmed:after {
|
||||
width: 100% !important;
|
||||
height: 100% !important;
|
||||
opacity: 1 !important;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Animating
|
||||
---------------*/
|
||||
|
||||
.ui.animating.sidebar {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Visible
|
||||
---------------*/
|
||||
|
||||
.ui.visible.sidebar {
|
||||
visibility: visible;
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
|
||||
/* Shadow Direction */
|
||||
& when (@variationSidebarLeft) or (@variationSidebarRight) {
|
||||
.ui.left.visible.sidebar,
|
||||
.ui.right.visible.sidebar {
|
||||
box-shadow: @horizontalBoxShadow;
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarTop) or (@variationSidebarBottom) {
|
||||
.ui.top.visible.sidebar,
|
||||
.ui.bottom.visible.sidebar {
|
||||
box-shadow: @verticalBoxShadow;
|
||||
}
|
||||
}
|
||||
|
||||
/* Visible On Load */
|
||||
& when (@variationSidebarLeft) {
|
||||
.ui.visible.left.sidebar ~ .fixed,
|
||||
.ui.visible.left.sidebar ~ .pusher {
|
||||
transform: translate3d(@width, 0, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarRight) {
|
||||
.ui.visible.right.sidebar ~ .fixed,
|
||||
.ui.visible.right.sidebar ~ .pusher {
|
||||
transform: translate3d(-@width, 0, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarTop) {
|
||||
.ui.visible.top.sidebar ~ .fixed,
|
||||
.ui.visible.top.sidebar ~ .pusher {
|
||||
transform: translate3d(0, @height, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarBottom) {
|
||||
.ui.visible.bottom.sidebar ~ .fixed,
|
||||
.ui.visible.bottom.sidebar ~ .pusher {
|
||||
transform: translate3d(0, -@height, 0);
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSidebarLeft) or (@variationSidebarRight) {
|
||||
/* opposite sides visible forces content overlay */
|
||||
.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .fixed,
|
||||
.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher,
|
||||
.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .fixed,
|
||||
.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher {
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------
|
||||
iOS
|
||||
---------------*/
|
||||
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
/*--------------
|
||||
Width
|
||||
---------------*/
|
||||
|
||||
/* Left / Right */
|
||||
& when (@variationSidebarLeft) or (@variationSidebarRight) {
|
||||
& when (@variationSidebarThin) {
|
||||
.ui.thin.left.sidebar,
|
||||
.ui.thin.right.sidebar {
|
||||
width: @thinWidth;
|
||||
}
|
||||
|
||||
.ui[class*="very thin"].left.sidebar,
|
||||
.ui[class*="very thin"].right.sidebar {
|
||||
width: @veryThinWidth;
|
||||
}
|
||||
}
|
||||
|
||||
.ui.left.sidebar,
|
||||
.ui.right.sidebar {
|
||||
width: @width;
|
||||
}
|
||||
|
||||
& when (@variationSidebarWide) {
|
||||
.ui.wide.left.sidebar,
|
||||
.ui.wide.right.sidebar {
|
||||
width: @wideWidth;
|
||||
}
|
||||
|
||||
.ui[class*="very wide"].left.sidebar,
|
||||
.ui[class*="very wide"].right.sidebar {
|
||||
width: @veryWideWidth;
|
||||
}
|
||||
}
|
||||
|
||||
/* Left Visible */
|
||||
& when (@variationSidebarLeft) {
|
||||
& when (@variationSidebarThin) {
|
||||
.ui.visible.thin.left.sidebar ~ .fixed,
|
||||
.ui.visible.thin.left.sidebar ~ .pusher {
|
||||
transform: translate3d(@thinWidth, 0, 0);
|
||||
}
|
||||
|
||||
.ui.visible[class*="very thin"].left.sidebar ~ .fixed,
|
||||
.ui.visible[class*="very thin"].left.sidebar ~ .pusher {
|
||||
transform: translate3d(@veryThinWidth, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSidebarWide) {
|
||||
.ui.visible.wide.left.sidebar ~ .fixed,
|
||||
.ui.visible.wide.left.sidebar ~ .pusher {
|
||||
transform: translate3d(@wideWidth, 0, 0);
|
||||
}
|
||||
|
||||
.ui.visible[class*="very wide"].left.sidebar ~ .fixed,
|
||||
.ui.visible[class*="very wide"].left.sidebar ~ .pusher {
|
||||
transform: translate3d(@veryWideWidth, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Right Visible */
|
||||
& when (@variationSidebarRight) {
|
||||
& when (@variationSidebarThin) {
|
||||
.ui.visible.thin.right.sidebar ~ .fixed,
|
||||
.ui.visible.thin.right.sidebar ~ .pusher {
|
||||
transform: translate3d(-@thinWidth, 0, 0);
|
||||
}
|
||||
|
||||
.ui.visible[class*="very thin"].right.sidebar ~ .fixed,
|
||||
.ui.visible[class*="very thin"].right.sidebar ~ .pusher {
|
||||
transform: translate3d(-@veryThinWidth, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSidebarWide) {
|
||||
.ui.visible.wide.right.sidebar ~ .fixed,
|
||||
.ui.visible.wide.right.sidebar ~ .pusher {
|
||||
transform: translate3d(-@wideWidth, 0, 0);
|
||||
}
|
||||
|
||||
.ui.visible[class*="very wide"].right.sidebar ~ .fixed,
|
||||
.ui.visible[class*="very wide"].right.sidebar ~ .pusher {
|
||||
transform: translate3d(-@veryWideWidth, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************
|
||||
Animations
|
||||
*******************************/
|
||||
|
||||
& when (@variationSidebarOverlay) {
|
||||
/*--------------
|
||||
Overlay
|
||||
---------------*/
|
||||
|
||||
/* Set-up */
|
||||
.ui.overlay.sidebar {
|
||||
z-index: @topLayer;
|
||||
}
|
||||
|
||||
/* Initial */
|
||||
& when (@variationSidebarLeft) {
|
||||
.ui.left.overlay.sidebar {
|
||||
transform: translate3d(-100%, 0, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarRight) {
|
||||
.ui.right.overlay.sidebar {
|
||||
transform: translate3d(100%, 0, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarTop) {
|
||||
.ui.top.overlay.sidebar {
|
||||
transform: translate3d(0%, -100%, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarBottom) {
|
||||
.ui.bottom.overlay.sidebar {
|
||||
transform: translate3d(0%, 100%, 0);
|
||||
}
|
||||
}
|
||||
|
||||
/* Animation */
|
||||
.animating.ui.overlay.sidebar,
|
||||
.ui.visible.overlay.sidebar {
|
||||
transition: transform @duration @easing;
|
||||
}
|
||||
|
||||
/* End - Sidebar */
|
||||
& when (@variationSidebarLeft) {
|
||||
.ui.visible.left.overlay.sidebar {
|
||||
transform: translate3d(0%, 0, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarRight) {
|
||||
.ui.visible.right.overlay.sidebar {
|
||||
transform: translate3d(0%, 0, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarTop) {
|
||||
.ui.visible.top.overlay.sidebar {
|
||||
transform: translate3d(0%, 0, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarBottom) {
|
||||
.ui.visible.bottom.overlay.sidebar {
|
||||
transform: translate3d(0%, 0, 0);
|
||||
}
|
||||
}
|
||||
/* End - Pusher */
|
||||
.ui.visible.overlay.sidebar ~ .fixed,
|
||||
.ui.visible.overlay.sidebar ~ .pusher {
|
||||
transform: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
& when (@variationSidebarPush) {
|
||||
/*--------------
|
||||
Push
|
||||
---------------*/
|
||||
|
||||
/* Initial */
|
||||
.ui.push.sidebar {
|
||||
transition: transform @duration @easing;
|
||||
z-index: @topLayer;
|
||||
}
|
||||
|
||||
/* Sidebar - Initial */
|
||||
& when (@variationSidebarLeft) {
|
||||
.ui.left.push.sidebar {
|
||||
transform: translate3d(-100%, 0, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarRight) {
|
||||
.ui.right.push.sidebar {
|
||||
transform: translate3d(100%, 0, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarTop) {
|
||||
.ui.top.push.sidebar {
|
||||
transform: translate3d(0%, -100%, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarBottom) {
|
||||
.ui.bottom.push.sidebar {
|
||||
transform: translate3d(0%, 100%, 0);
|
||||
}
|
||||
}
|
||||
|
||||
/* End */
|
||||
.ui.visible.push.sidebar {
|
||||
transform: translate3d(0%, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSidebarUncover) {
|
||||
/*--------------
|
||||
Uncover
|
||||
---------------*/
|
||||
|
||||
/* Initial */
|
||||
.ui.uncover.sidebar {
|
||||
transform: translate3d(0, 0, 0);
|
||||
z-index: @bottomLayer;
|
||||
}
|
||||
|
||||
/* End */
|
||||
.ui.visible.uncover.sidebar {
|
||||
transform: translate3d(0, 0, 0);
|
||||
transition: transform @duration @easing;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSidebarSlideAlong) {
|
||||
/*--------------
|
||||
Slide Along
|
||||
---------------*/
|
||||
|
||||
/* Initial */
|
||||
.ui.slide.along.sidebar {
|
||||
z-index: @bottomLayer;
|
||||
}
|
||||
|
||||
/* Sidebar - Initial */
|
||||
& when (@variationSidebarLeft) {
|
||||
.ui.left.slide.along.sidebar {
|
||||
transform: translate3d(-50%, 0, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarRight) {
|
||||
.ui.right.slide.along.sidebar {
|
||||
transform: translate3d(50%, 0, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarTop) {
|
||||
.ui.top.slide.along.sidebar {
|
||||
transform: translate3d(0, -50%, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarBottom) {
|
||||
.ui.bottom.slide.along.sidebar {
|
||||
transform: translate3d(0%, 50%, 0);
|
||||
}
|
||||
}
|
||||
|
||||
/* Animation */
|
||||
.ui.animating.slide.along.sidebar {
|
||||
transition: transform @duration @easing;
|
||||
}
|
||||
|
||||
/* End */
|
||||
.ui.visible.slide.along.sidebar {
|
||||
transform: translate3d(0%, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSidebarSlideOut) {
|
||||
/*--------------
|
||||
Slide Out
|
||||
---------------*/
|
||||
|
||||
/* Initial */
|
||||
.ui.slide.out.sidebar {
|
||||
z-index: @bottomLayer;
|
||||
}
|
||||
|
||||
/* Sidebar - Initial */
|
||||
& when (@variationSidebarLeft) {
|
||||
.ui.left.slide.out.sidebar {
|
||||
transform: translate3d(50%, 0, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarRight) {
|
||||
.ui.right.slide.out.sidebar {
|
||||
transform: translate3d(-50%, 0, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarTop) {
|
||||
.ui.top.slide.out.sidebar {
|
||||
transform: translate3d(0%, 50%, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarBottom) {
|
||||
.ui.bottom.slide.out.sidebar {
|
||||
transform: translate3d(0%, -50%, 0);
|
||||
}
|
||||
}
|
||||
|
||||
/* Animation */
|
||||
.ui.animating.slide.out.sidebar {
|
||||
transition: transform @duration @easing;
|
||||
}
|
||||
|
||||
/* End */
|
||||
.ui.visible.slide.out.sidebar {
|
||||
transform: translate3d(0%, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSidebarScale) {
|
||||
/*--------------
|
||||
Scale Down
|
||||
---------------*/
|
||||
|
||||
/* Initial */
|
||||
.ui.scale.down.sidebar {
|
||||
transition: transform @duration @easing;
|
||||
z-index: @topLayer;
|
||||
}
|
||||
|
||||
|
||||
& when (@variationSidebarLeft) {
|
||||
.ui.left.scale.down.sidebar {
|
||||
transform: translate3d(-100%, 0, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarRight) {
|
||||
.ui.right.scale.down.sidebar {
|
||||
transform: translate3d(100%, 0, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarTop) {
|
||||
.ui.top.scale.down.sidebar {
|
||||
transform: translate3d(0%, -100%, 0);
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarBottom) {
|
||||
.ui.bottom.scale.down.sidebar {
|
||||
transform: translate3d(0%, 100%, 0);
|
||||
}
|
||||
}
|
||||
|
||||
/* Pusher - Initial */
|
||||
& when (@variationSidebarLeft) {
|
||||
.ui.scale.down.left.sidebar ~ .pusher {
|
||||
transform-origin: 75% 50%;
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarRight) {
|
||||
.ui.scale.down.right.sidebar ~ .pusher {
|
||||
transform-origin: 25% 50%;
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarTop) {
|
||||
.ui.scale.down.top.sidebar ~ .pusher {
|
||||
transform-origin: 50% 75%;
|
||||
}
|
||||
}
|
||||
& when (@variationSidebarBottom) {
|
||||
.ui.scale.down.bottom.sidebar ~ .pusher {
|
||||
transform-origin: 50% 25%;
|
||||
}
|
||||
}
|
||||
|
||||
/* Animation */
|
||||
.ui.animating.scale.down > .visible.ui.sidebar {
|
||||
transition: transform @duration @easing;
|
||||
}
|
||||
.ui.visible.scale.down.sidebar ~ .pusher,
|
||||
.ui.animating.scale.down.sidebar ~ .pusher {
|
||||
display: block !important;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
/* End */
|
||||
.ui.visible.scale.down.sidebar {
|
||||
transform: translate3d(0, 0, 0);
|
||||
}
|
||||
.ui.visible.scale.down.sidebar ~ .pusher {
|
||||
transform: scale(0.75);
|
||||
}
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
1314
assets/semantic-ui/definitions/modules/slider.js
Normal file
1314
assets/semantic-ui/definitions/modules/slider.js
Normal file
File diff suppressed because it is too large
Load diff
408
assets/semantic-ui/definitions/modules/slider.less
Normal file
408
assets/semantic-ui/definitions/modules/slider.less
Normal file
|
|
@ -0,0 +1,408 @@
|
|||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'module';
|
||||
@element : 'slider';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
.ui.slider:not(.vertical):not(.checkbox) {
|
||||
width: 100%;
|
||||
padding: @padding;
|
||||
}
|
||||
|
||||
.ui.slider:not(.checkbox) {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.ui.slider:not(.checkbox):focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.ui.slider .inner {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.ui.slider:not(.vertical) .inner {
|
||||
height: @height;
|
||||
}
|
||||
|
||||
.ui.slider .inner:hover {
|
||||
cursor: @hoverPointer;
|
||||
}
|
||||
|
||||
.ui.slider .inner .track {
|
||||
position: absolute;
|
||||
border-radius: @trackBorderRadius;
|
||||
background-color: @trackColor;
|
||||
}
|
||||
|
||||
.ui.slider:not(.vertical) .inner .track {
|
||||
width: 100%;
|
||||
height: @trackHeight;
|
||||
top: @trackPositionTop;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.ui.slider .inner .track-fill {
|
||||
position: absolute;
|
||||
border-radius: @trackFillBorderRadius;
|
||||
background-color: @trackFillColor;
|
||||
}
|
||||
|
||||
.ui.slider:not(.vertical) .inner .track-fill {
|
||||
height: @trackFillHeight;
|
||||
top: @trackPositionTop;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.ui.slider .inner .thumb {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
height: @thumbHeight;
|
||||
width: @thumbHeight;
|
||||
background: @thumbBackground;
|
||||
border-radius: @thumbBorderRadius;
|
||||
box-shadow: @thumbShadow;
|
||||
transition: @thumbTransition;
|
||||
}
|
||||
|
||||
.ui.slider:not(.disabled) .inner .thumb:hover {
|
||||
cursor: @thumbHoverPointer;
|
||||
background: @thumbHoverBackground;
|
||||
}
|
||||
|
||||
.ui.slider:not(.disabled):focus .inner .thumb {
|
||||
background: @thumbHoverBackground;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
& when (@variationSliderDisabled) {
|
||||
/*--------------
|
||||
Disabled
|
||||
---------------*/
|
||||
|
||||
.ui.disabled.slider:not(.checkbox) {
|
||||
opacity: @disabledOpactiy;
|
||||
}
|
||||
|
||||
.ui.disabled.slider .inner:hover {
|
||||
cursor: auto;
|
||||
}
|
||||
|
||||
.ui.disabled.slider .inner .track-fill {
|
||||
background: @disabledTrackFillColor;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSliderReversed) {
|
||||
/*--------------
|
||||
Reversed
|
||||
---------------*/
|
||||
|
||||
.ui.reversed.slider .inner .track-fill {
|
||||
left: auto;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.ui.reversed.slider:not(.vertical) .inner .thumb {
|
||||
left: auto;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.ui.reversed.vertical.slider .inner .thumb {
|
||||
left: @thumbVerticalSliderOffset;
|
||||
}
|
||||
|
||||
& when (@variationSliderLabeled) {
|
||||
.ui.labeled.reversed.slider > .labels .label {
|
||||
transform: translate(-100%, -100%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
& when (@variationSliderVertical) {
|
||||
/*--------------
|
||||
Vertical
|
||||
---------------*/
|
||||
|
||||
.ui.vertical.slider {
|
||||
height: 100%;
|
||||
width: @height;
|
||||
padding: @verticalPadding;
|
||||
}
|
||||
|
||||
.ui.vertical.slider .inner {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.ui.vertical.slider .inner .track {
|
||||
height: 100%;
|
||||
width: @trackHeight;
|
||||
left: @trackPositionTop;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.ui.vertical.slider .inner .track-fill {
|
||||
width: @trackFillHeight;
|
||||
left: @trackPositionTop;
|
||||
top: 0;
|
||||
}
|
||||
& when (@variationSliderReversed) {
|
||||
/* Vertical Reversed */
|
||||
.ui.vertical.reversed.slider .inner .thumb {
|
||||
top: auto;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.ui.vertical.reversed.slider .inner .track-fill {
|
||||
top: auto;
|
||||
bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSliderLabeled) {
|
||||
/*--------------
|
||||
Labeled
|
||||
---------------*/
|
||||
|
||||
.ui.labeled.slider > .labels {
|
||||
height: @labelHeight;
|
||||
width: auto;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.ui.labeled.slider:not(.vertical) > .labels {
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.ui.labeled.slider > .labels .label {
|
||||
display: inline-flex;
|
||||
position: absolute;
|
||||
transform: translate(-50%, -100%);
|
||||
}
|
||||
& when (@variationSliderTicked) {
|
||||
.ui.labeled.ticked.slider > .labels .label:after {
|
||||
content: ' ';
|
||||
height: @labelHeight;
|
||||
width: @labelWidth;
|
||||
background: @labelColor;
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
left: 50%;
|
||||
}
|
||||
.ui.labeled.ticked.slider > .labels .halftick.label:after {
|
||||
height: @labelHeight / 2;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSliderVertical) {
|
||||
/* Vertical Labels */
|
||||
|
||||
.ui.labeled.vertical.slider > .labels {
|
||||
width: @labelHeight;
|
||||
height: auto;
|
||||
left: 50%;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
.ui.labeled.vertical.slider > .labels .label {
|
||||
transform: translate(-100%, -50%);
|
||||
}
|
||||
|
||||
.ui.labeled.vertical.slider > .labels .label:after {
|
||||
width: @labelHeight;
|
||||
height: @labelWidth;
|
||||
left: 100%;
|
||||
top: 50%;
|
||||
}
|
||||
.ui.labeled.vertical.slider > .labels .halftick.label:after {
|
||||
width: @labelHeight / 2;
|
||||
height: @labelWidth;
|
||||
}
|
||||
|
||||
& when (@variationSliderReversed) {
|
||||
/* Vertical Reversed Labels */
|
||||
.ui.labeled.vertical.reversed.slider > .labels .label {
|
||||
transform: translate(-100%, 50%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Hover
|
||||
---------------*/
|
||||
|
||||
.ui.hover.slider .inner .thumb {
|
||||
opacity: @hoverVarOpacity;
|
||||
transition: @hoverOpacityTransition;
|
||||
}
|
||||
|
||||
.ui.hover.slider:not(.disabled):hover .inner .thumb, .ui.hover.slider:not(.disabled):focus .inner .thumb {
|
||||
opacity: @hoverVarHoverOpacity;
|
||||
}
|
||||
|
||||
|
||||
& when (@variationSliderInverted) {
|
||||
/*--------------
|
||||
Inverted
|
||||
---------------*/
|
||||
|
||||
.ui.inverted.slider .inner .track-fill {
|
||||
background-color: @invertedTrackFillColor;
|
||||
}
|
||||
|
||||
.ui.inverted.slider .inner .track {
|
||||
background-color: @transparentWhite;
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Colors
|
||||
---------------*/
|
||||
|
||||
each(@colors, {
|
||||
@color: replace(@key, '@', '');
|
||||
@c: @colors[@@color][color];
|
||||
@l: @colors[@@color][light];
|
||||
@h: @colors[@@color][hover];
|
||||
@lh: @colors[@@color][lightHover];
|
||||
|
||||
/* Standard */
|
||||
.ui.@{color}.slider .inner .track-fill {
|
||||
background-color: @c;
|
||||
}
|
||||
& when (@variationSliderInverted) {
|
||||
.ui.@{color}.inverted.slider .inner .track-fill {
|
||||
background-color: @l;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationSliderBasic) {
|
||||
/* Basic */
|
||||
.ui.@{color}.slider.basic .inner .thumb {
|
||||
background-color: @c;
|
||||
}
|
||||
.ui.@{color}.slider.basic .inner .thumb:hover,
|
||||
.ui.@{color}.slider.basic:focus .inner .thumb {
|
||||
background-color: @h;
|
||||
}
|
||||
& when (@variationSliderInverted) {
|
||||
/* Basic Inverted */
|
||||
.ui.@{color}.inverted.slider.basic .inner .thumb {
|
||||
background-color: @l;
|
||||
}
|
||||
.ui.@{color}.inverted.slider.basic .inner .thumb:hover,
|
||||
.ui.@{color}.inverted.slider.basic:focus .inner .thumb {
|
||||
background-color: @lh;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
& when (@variationSliderBasic) {
|
||||
/*--------------
|
||||
Basic
|
||||
---------------*/
|
||||
|
||||
/* Standard */
|
||||
.ui.slider.basic .inner .thumb {
|
||||
background-color: @trackFillColor;
|
||||
}
|
||||
.ui.slider.basic .inner .thumb:hover, .ui.slider.basic:focus .inner .thumb {
|
||||
background-color: @trackFillColorFocus;
|
||||
}
|
||||
|
||||
& when (@variationSliderInverted) {
|
||||
/*--------------
|
||||
Basic Inverted
|
||||
---------------*/
|
||||
|
||||
/* Standard */
|
||||
.ui.inverted.slider.basic .inner .thumb {
|
||||
background-color: @invertedTrackFillColor;
|
||||
}
|
||||
.ui.inverted.slider.basic .inner .thumb:hover, .ui.inverted.slider.basic:focus .inner .thumb {
|
||||
background-color: @invertedTrackFillColorFocus;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*--------------
|
||||
Sizing
|
||||
---------------*/
|
||||
|
||||
& when not (@variationSliderSizes = false) {
|
||||
each(@variationSliderSizes, {
|
||||
@h: @{value}Height;
|
||||
@th: @{value}TrackHeight;
|
||||
@tp: @{value}TrackPositionTop;
|
||||
@lh: @{value}LabelHeight;
|
||||
.ui.slider.@{value} .inner .thumb {
|
||||
height: @@h;
|
||||
width: @@h;
|
||||
}
|
||||
.ui.slider.@{value}:not(.vertical) .inner {
|
||||
height: @@h;
|
||||
}
|
||||
.ui.slider.@{value}:not(.vertical) .inner .track,
|
||||
.ui.slider.@{value}:not(.vertical) .inner .track-fill {
|
||||
height: @@th;
|
||||
top: @@tp;
|
||||
}
|
||||
& when (@variationSliderLabeled) {
|
||||
.ui.@{value}.labeled.slider:not(.vertical) > .labels,
|
||||
.ui.@{value}.labeled.slider:not(.vertical) > .labels .label:after {
|
||||
height: @@lh;
|
||||
}
|
||||
.ui.@{value}.labeled.slider:not(.vertical) > .labels .halftick.label:after {
|
||||
height: @@lh / 2;
|
||||
}
|
||||
}
|
||||
& when (@variationSliderVertical) {
|
||||
/* Small Vertical */
|
||||
.ui.slider.@{value}.vertical .inner {
|
||||
width: @@h;
|
||||
}
|
||||
.ui.slider.@{value}.vertical .inner .track,
|
||||
.ui.slider.@{value}.vertical .inner .track-fill {
|
||||
width: @@th;
|
||||
left: @@tp;
|
||||
}
|
||||
& when (@variationSliderLabeled) {
|
||||
.ui.@{value}.labeled.vertical.slider> .labels,
|
||||
.ui.@{value}.labeled.vertical.slider> .labels .label:after {
|
||||
width: @@lh;
|
||||
}
|
||||
.ui.@{value}.labeled.vertical.slider> .labels .halftick.label:after {
|
||||
width: @@lh / 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
.loadUIOverrides();
|
||||
957
assets/semantic-ui/definitions/modules/sticky.js
Normal file
957
assets/semantic-ui/definitions/modules/sticky.js
Normal file
|
|
@ -0,0 +1,957 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Sticky
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
;(function ($, window, document, undefined) {
|
||||
|
||||
'use strict';
|
||||
|
||||
$.isFunction = $.isFunction || function(obj) {
|
||||
return typeof obj === "function" && typeof obj.nodeType !== "number";
|
||||
};
|
||||
|
||||
window = (typeof window != 'undefined' && window.Math == Math)
|
||||
? window
|
||||
: (typeof self != 'undefined' && self.Math == Math)
|
||||
? self
|
||||
: Function('return this')()
|
||||
;
|
||||
|
||||
$.fn.sticky = function(parameters) {
|
||||
var
|
||||
$allModules = $(this),
|
||||
moduleSelector = $allModules.selector || '',
|
||||
|
||||
time = new Date().getTime(),
|
||||
performance = [],
|
||||
|
||||
query = arguments[0],
|
||||
methodInvoked = (typeof query == 'string'),
|
||||
queryArguments = [].slice.call(arguments, 1),
|
||||
returnedValue
|
||||
;
|
||||
|
||||
$allModules
|
||||
.each(function() {
|
||||
var
|
||||
settings = ( $.isPlainObject(parameters) )
|
||||
? $.extend(true, {}, $.fn.sticky.settings, parameters)
|
||||
: $.extend({}, $.fn.sticky.settings),
|
||||
|
||||
className = settings.className,
|
||||
namespace = settings.namespace,
|
||||
error = settings.error,
|
||||
|
||||
eventNamespace = '.' + namespace,
|
||||
moduleNamespace = 'module-' + namespace,
|
||||
|
||||
$module = $(this),
|
||||
$window = $(window),
|
||||
$scroll = $(settings.scrollContext),
|
||||
$container,
|
||||
$context,
|
||||
|
||||
instance = $module.data(moduleNamespace),
|
||||
|
||||
requestAnimationFrame = window.requestAnimationFrame
|
||||
|| window.mozRequestAnimationFrame
|
||||
|| window.webkitRequestAnimationFrame
|
||||
|| window.msRequestAnimationFrame
|
||||
|| function(callback) { setTimeout(callback, 0); },
|
||||
|
||||
element = this,
|
||||
|
||||
documentObserver,
|
||||
observer,
|
||||
module
|
||||
;
|
||||
|
||||
module = {
|
||||
|
||||
initialize: function() {
|
||||
|
||||
module.determineContainer();
|
||||
module.determineContext();
|
||||
module.verbose('Initializing sticky', settings, $container);
|
||||
|
||||
module.save.positions();
|
||||
module.checkErrors();
|
||||
module.bind.events();
|
||||
|
||||
if(settings.observeChanges) {
|
||||
module.observeChanges();
|
||||
}
|
||||
module.instantiate();
|
||||
},
|
||||
|
||||
instantiate: function() {
|
||||
module.verbose('Storing instance of module', module);
|
||||
instance = module;
|
||||
$module
|
||||
.data(moduleNamespace, module)
|
||||
;
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
module.verbose('Destroying previous instance');
|
||||
module.reset();
|
||||
if(documentObserver) {
|
||||
documentObserver.disconnect();
|
||||
}
|
||||
if(observer) {
|
||||
observer.disconnect();
|
||||
}
|
||||
$window
|
||||
.off('load' + eventNamespace, module.event.load)
|
||||
.off('resize' + eventNamespace, module.event.resize)
|
||||
;
|
||||
$scroll
|
||||
.off('scrollchange' + eventNamespace, module.event.scrollchange)
|
||||
;
|
||||
$module.removeData(moduleNamespace);
|
||||
},
|
||||
|
||||
observeChanges: function() {
|
||||
if('MutationObserver' in window) {
|
||||
documentObserver = new MutationObserver(module.event.documentChanged);
|
||||
observer = new MutationObserver(module.event.changed);
|
||||
documentObserver.observe(document, {
|
||||
childList : true,
|
||||
subtree : true
|
||||
});
|
||||
observer.observe(element, {
|
||||
childList : true,
|
||||
subtree : true
|
||||
});
|
||||
observer.observe($context[0], {
|
||||
childList : true,
|
||||
subtree : true
|
||||
});
|
||||
module.debug('Setting up mutation observer', observer);
|
||||
}
|
||||
},
|
||||
|
||||
determineContainer: function() {
|
||||
if(settings.container) {
|
||||
$container = $(settings.container);
|
||||
}
|
||||
else {
|
||||
$container = $module.offsetParent();
|
||||
}
|
||||
},
|
||||
|
||||
determineContext: function() {
|
||||
if(settings.context) {
|
||||
$context = $(settings.context);
|
||||
}
|
||||
else {
|
||||
$context = $container;
|
||||
}
|
||||
if($context.length === 0) {
|
||||
module.error(error.invalidContext, settings.context, $module);
|
||||
return;
|
||||
}
|
||||
},
|
||||
|
||||
checkErrors: function() {
|
||||
if( module.is.hidden() ) {
|
||||
module.error(error.visible, $module);
|
||||
}
|
||||
if(module.cache.element.height > module.cache.context.height) {
|
||||
module.reset();
|
||||
module.error(error.elementSize, $module);
|
||||
return;
|
||||
}
|
||||
},
|
||||
|
||||
bind: {
|
||||
events: function() {
|
||||
$window
|
||||
.on('load' + eventNamespace, module.event.load)
|
||||
.on('resize' + eventNamespace, module.event.resize)
|
||||
;
|
||||
// pub/sub pattern
|
||||
$scroll
|
||||
.off('scroll' + eventNamespace)
|
||||
.on('scroll' + eventNamespace, module.event.scroll)
|
||||
.on('scrollchange' + eventNamespace, module.event.scrollchange)
|
||||
;
|
||||
}
|
||||
},
|
||||
|
||||
event: {
|
||||
changed: function(mutations) {
|
||||
clearTimeout(module.timer);
|
||||
module.timer = setTimeout(function() {
|
||||
module.verbose('DOM tree modified, updating sticky menu', mutations);
|
||||
module.refresh();
|
||||
}, 100);
|
||||
},
|
||||
documentChanged: function(mutations) {
|
||||
[].forEach.call(mutations, function(mutation) {
|
||||
if(mutation.removedNodes) {
|
||||
[].forEach.call(mutation.removedNodes, function(node) {
|
||||
if(node == element || $(node).find(element).length > 0) {
|
||||
module.debug('Element removed from DOM, tearing down events');
|
||||
module.destroy();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
load: function() {
|
||||
module.verbose('Page contents finished loading');
|
||||
requestAnimationFrame(module.refresh);
|
||||
},
|
||||
resize: function() {
|
||||
module.verbose('Window resized');
|
||||
requestAnimationFrame(module.refresh);
|
||||
},
|
||||
scroll: function() {
|
||||
requestAnimationFrame(function() {
|
||||
$scroll.triggerHandler('scrollchange' + eventNamespace, $scroll.scrollTop() );
|
||||
});
|
||||
},
|
||||
scrollchange: function(event, scrollPosition) {
|
||||
module.stick(scrollPosition);
|
||||
settings.onScroll.call(element);
|
||||
}
|
||||
},
|
||||
|
||||
refresh: function(hardRefresh) {
|
||||
module.reset();
|
||||
if(!settings.context) {
|
||||
module.determineContext();
|
||||
}
|
||||
if(hardRefresh) {
|
||||
module.determineContainer();
|
||||
}
|
||||
module.save.positions();
|
||||
module.stick();
|
||||
settings.onReposition.call(element);
|
||||
},
|
||||
|
||||
supports: {
|
||||
sticky: function() {
|
||||
var
|
||||
$element = $('<div/>')
|
||||
;
|
||||
$element.addClass(className.supported);
|
||||
return($element.css('position').match('sticky'));
|
||||
}
|
||||
},
|
||||
|
||||
save: {
|
||||
lastScroll: function(scroll) {
|
||||
module.lastScroll = scroll;
|
||||
},
|
||||
elementScroll: function(scroll) {
|
||||
module.elementScroll = scroll;
|
||||
},
|
||||
positions: function() {
|
||||
var
|
||||
scrollContext = {
|
||||
height : $scroll.height()
|
||||
},
|
||||
element = {
|
||||
margin: {
|
||||
top : parseInt($module.css('margin-top'), 10),
|
||||
bottom : parseInt($module.css('margin-bottom'), 10),
|
||||
},
|
||||
offset : $module.offset(),
|
||||
width : $module.outerWidth(),
|
||||
height : $module.outerHeight()
|
||||
},
|
||||
context = {
|
||||
offset : $context.offset(),
|
||||
height : $context.outerHeight()
|
||||
}
|
||||
;
|
||||
if( !module.is.standardScroll() ) {
|
||||
module.debug('Non-standard scroll. Removing scroll offset from element offset');
|
||||
|
||||
scrollContext.top = $scroll.scrollTop();
|
||||
scrollContext.left = $scroll.scrollLeft();
|
||||
|
||||
element.offset.top += scrollContext.top;
|
||||
context.offset.top += scrollContext.top;
|
||||
element.offset.left += scrollContext.left;
|
||||
context.offset.left += scrollContext.left;
|
||||
}
|
||||
module.cache = {
|
||||
fits : ( (element.height + settings.offset) <= scrollContext.height),
|
||||
sameHeight : (element.height == context.height),
|
||||
scrollContext : {
|
||||
height : scrollContext.height
|
||||
},
|
||||
element: {
|
||||
margin : element.margin,
|
||||
top : element.offset.top - element.margin.top,
|
||||
left : element.offset.left,
|
||||
width : element.width,
|
||||
height : element.height,
|
||||
bottom : element.offset.top + element.height
|
||||
},
|
||||
context: {
|
||||
top : context.offset.top,
|
||||
height : context.height,
|
||||
bottom : context.offset.top + context.height
|
||||
}
|
||||
};
|
||||
module.set.containerSize();
|
||||
|
||||
module.stick();
|
||||
module.debug('Caching element positions', module.cache);
|
||||
}
|
||||
},
|
||||
|
||||
get: {
|
||||
direction: function(scroll) {
|
||||
var
|
||||
direction = 'down'
|
||||
;
|
||||
scroll = scroll || $scroll.scrollTop();
|
||||
if(module.lastScroll !== undefined) {
|
||||
if(module.lastScroll < scroll) {
|
||||
direction = 'down';
|
||||
}
|
||||
else if(module.lastScroll > scroll) {
|
||||
direction = 'up';
|
||||
}
|
||||
}
|
||||
return direction;
|
||||
},
|
||||
scrollChange: function(scroll) {
|
||||
scroll = scroll || $scroll.scrollTop();
|
||||
return (module.lastScroll)
|
||||
? (scroll - module.lastScroll)
|
||||
: 0
|
||||
;
|
||||
},
|
||||
currentElementScroll: function() {
|
||||
if(module.elementScroll) {
|
||||
return module.elementScroll;
|
||||
}
|
||||
return ( module.is.top() )
|
||||
? Math.abs(parseInt($module.css('top'), 10)) || 0
|
||||
: Math.abs(parseInt($module.css('bottom'), 10)) || 0
|
||||
;
|
||||
},
|
||||
|
||||
elementScroll: function(scroll) {
|
||||
scroll = scroll || $scroll.scrollTop();
|
||||
var
|
||||
element = module.cache.element,
|
||||
scrollContext = module.cache.scrollContext,
|
||||
delta = module.get.scrollChange(scroll),
|
||||
maxScroll = (element.height - scrollContext.height + settings.offset),
|
||||
elementScroll = module.get.currentElementScroll(),
|
||||
possibleScroll = (elementScroll + delta)
|
||||
;
|
||||
if(module.cache.fits || possibleScroll < 0) {
|
||||
elementScroll = 0;
|
||||
}
|
||||
else if(possibleScroll > maxScroll ) {
|
||||
elementScroll = maxScroll;
|
||||
}
|
||||
else {
|
||||
elementScroll = possibleScroll;
|
||||
}
|
||||
return elementScroll;
|
||||
}
|
||||
},
|
||||
|
||||
remove: {
|
||||
lastScroll: function() {
|
||||
delete module.lastScroll;
|
||||
},
|
||||
elementScroll: function(scroll) {
|
||||
delete module.elementScroll;
|
||||
},
|
||||
minimumSize: function() {
|
||||
$container
|
||||
.css('min-height', '')
|
||||
;
|
||||
},
|
||||
offset: function() {
|
||||
$module.css('margin-top', '');
|
||||
}
|
||||
},
|
||||
|
||||
set: {
|
||||
offset: function() {
|
||||
module.verbose('Setting offset on element', settings.offset);
|
||||
$module
|
||||
.css('margin-top', settings.offset)
|
||||
;
|
||||
},
|
||||
containerSize: function() {
|
||||
var
|
||||
tagName = $container.get(0).tagName
|
||||
;
|
||||
if(tagName === 'HTML' || tagName == 'body') {
|
||||
// this can trigger for too many reasons
|
||||
//module.error(error.container, tagName, $module);
|
||||
module.determineContainer();
|
||||
}
|
||||
else {
|
||||
if( Math.abs($container.outerHeight() - module.cache.context.height) > settings.jitter) {
|
||||
module.debug('Context has padding, specifying exact height for container', module.cache.context.height);
|
||||
$container.css({
|
||||
height: module.cache.context.height
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
minimumSize: function() {
|
||||
var
|
||||
element = module.cache.element
|
||||
;
|
||||
$container
|
||||
.css('min-height', element.height)
|
||||
;
|
||||
},
|
||||
scroll: function(scroll) {
|
||||
module.debug('Setting scroll on element', scroll);
|
||||
if(module.elementScroll == scroll) {
|
||||
return;
|
||||
}
|
||||
if( module.is.top() ) {
|
||||
$module
|
||||
.css('bottom', '')
|
||||
.css('top', -scroll)
|
||||
;
|
||||
}
|
||||
if( module.is.bottom() ) {
|
||||
$module
|
||||
.css('top', '')
|
||||
.css('bottom', scroll)
|
||||
;
|
||||
}
|
||||
},
|
||||
size: function() {
|
||||
if(module.cache.element.height !== 0 && module.cache.element.width !== 0) {
|
||||
element.style.setProperty('width', module.cache.element.width + 'px', 'important');
|
||||
element.style.setProperty('height', module.cache.element.height + 'px', 'important');
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
is: {
|
||||
standardScroll: function() {
|
||||
return ($scroll[0] == window);
|
||||
},
|
||||
top: function() {
|
||||
return $module.hasClass(className.top);
|
||||
},
|
||||
bottom: function() {
|
||||
return $module.hasClass(className.bottom);
|
||||
},
|
||||
initialPosition: function() {
|
||||
return (!module.is.fixed() && !module.is.bound());
|
||||
},
|
||||
hidden: function() {
|
||||
return (!$module.is(':visible'));
|
||||
},
|
||||
bound: function() {
|
||||
return $module.hasClass(className.bound);
|
||||
},
|
||||
fixed: function() {
|
||||
return $module.hasClass(className.fixed);
|
||||
}
|
||||
},
|
||||
|
||||
stick: function(scroll) {
|
||||
var
|
||||
cachedPosition = scroll || $scroll.scrollTop(),
|
||||
cache = module.cache,
|
||||
fits = cache.fits,
|
||||
sameHeight = cache.sameHeight,
|
||||
element = cache.element,
|
||||
scrollContext = cache.scrollContext,
|
||||
context = cache.context,
|
||||
offset = (module.is.bottom() && settings.pushing)
|
||||
? settings.bottomOffset
|
||||
: settings.offset,
|
||||
scroll = {
|
||||
top : cachedPosition + offset,
|
||||
bottom : cachedPosition + offset + scrollContext.height
|
||||
},
|
||||
elementScroll = (fits)
|
||||
? 0
|
||||
: module.get.elementScroll(scroll.top),
|
||||
|
||||
// shorthand
|
||||
doesntFit = !fits,
|
||||
elementVisible = (element.height !== 0)
|
||||
;
|
||||
if(elementVisible && !sameHeight) {
|
||||
|
||||
if( module.is.initialPosition() ) {
|
||||
if(scroll.top >= context.bottom) {
|
||||
module.debug('Initial element position is bottom of container');
|
||||
module.bindBottom();
|
||||
}
|
||||
else if(scroll.top > element.top) {
|
||||
if( (element.height + scroll.top - elementScroll) >= context.bottom ) {
|
||||
module.debug('Initial element position is bottom of container');
|
||||
module.bindBottom();
|
||||
}
|
||||
else {
|
||||
module.debug('Initial element position is fixed');
|
||||
module.fixTop();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if( module.is.fixed() ) {
|
||||
|
||||
// currently fixed top
|
||||
if( module.is.top() ) {
|
||||
if( scroll.top <= element.top ) {
|
||||
module.debug('Fixed element reached top of container');
|
||||
module.setInitialPosition();
|
||||
}
|
||||
else if( (element.height + scroll.top - elementScroll) >= context.bottom ) {
|
||||
module.debug('Fixed element reached bottom of container');
|
||||
module.bindBottom();
|
||||
}
|
||||
// scroll element if larger than screen
|
||||
else if(doesntFit) {
|
||||
module.set.scroll(elementScroll);
|
||||
module.save.lastScroll(scroll.top);
|
||||
module.save.elementScroll(elementScroll);
|
||||
}
|
||||
}
|
||||
|
||||
// currently fixed bottom
|
||||
else if(module.is.bottom() ) {
|
||||
|
||||
// top edge
|
||||
if( (scroll.bottom - element.height) <= element.top) {
|
||||
module.debug('Bottom fixed rail has reached top of container');
|
||||
module.setInitialPosition();
|
||||
}
|
||||
// bottom edge
|
||||
else if(scroll.bottom >= context.bottom) {
|
||||
module.debug('Bottom fixed rail has reached bottom of container');
|
||||
module.bindBottom();
|
||||
}
|
||||
// scroll element if larger than screen
|
||||
else if(doesntFit) {
|
||||
module.set.scroll(elementScroll);
|
||||
module.save.lastScroll(scroll.top);
|
||||
module.save.elementScroll(elementScroll);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else if( module.is.bottom() ) {
|
||||
if( scroll.top <= element.top ) {
|
||||
module.debug('Jumped from bottom fixed to top fixed, most likely used home/end button');
|
||||
module.setInitialPosition();
|
||||
}
|
||||
else {
|
||||
if(settings.pushing) {
|
||||
if(module.is.bound() && scroll.bottom <= context.bottom ) {
|
||||
module.debug('Fixing bottom attached element to bottom of browser.');
|
||||
module.fixBottom();
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(module.is.bound() && (scroll.top <= context.bottom - element.height) ) {
|
||||
module.debug('Fixing bottom attached element to top of browser.');
|
||||
module.fixTop();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
bindTop: function() {
|
||||
module.debug('Binding element to top of parent container');
|
||||
module.remove.offset();
|
||||
$module
|
||||
.css({
|
||||
left : '',
|
||||
top : '',
|
||||
marginBottom : ''
|
||||
})
|
||||
.removeClass(className.fixed)
|
||||
.removeClass(className.bottom)
|
||||
.addClass(className.bound)
|
||||
.addClass(className.top)
|
||||
;
|
||||
settings.onTop.call(element);
|
||||
settings.onUnstick.call(element);
|
||||
},
|
||||
bindBottom: function() {
|
||||
module.debug('Binding element to bottom of parent container');
|
||||
module.remove.offset();
|
||||
$module
|
||||
.css({
|
||||
left : '',
|
||||
top : ''
|
||||
})
|
||||
.removeClass(className.fixed)
|
||||
.removeClass(className.top)
|
||||
.addClass(className.bound)
|
||||
.addClass(className.bottom)
|
||||
;
|
||||
settings.onBottom.call(element);
|
||||
settings.onUnstick.call(element);
|
||||
},
|
||||
|
||||
setInitialPosition: function() {
|
||||
module.debug('Returning to initial position');
|
||||
module.unfix();
|
||||
module.unbind();
|
||||
},
|
||||
|
||||
|
||||
fixTop: function() {
|
||||
module.debug('Fixing element to top of page');
|
||||
if(settings.setSize) {
|
||||
module.set.size();
|
||||
}
|
||||
module.set.minimumSize();
|
||||
module.set.offset();
|
||||
$module
|
||||
.css({
|
||||
left : module.cache.element.left,
|
||||
bottom : '',
|
||||
marginBottom : ''
|
||||
})
|
||||
.removeClass(className.bound)
|
||||
.removeClass(className.bottom)
|
||||
.addClass(className.fixed)
|
||||
.addClass(className.top)
|
||||
;
|
||||
settings.onStick.call(element);
|
||||
},
|
||||
|
||||
fixBottom: function() {
|
||||
module.debug('Sticking element to bottom of page');
|
||||
if(settings.setSize) {
|
||||
module.set.size();
|
||||
}
|
||||
module.set.minimumSize();
|
||||
module.set.offset();
|
||||
$module
|
||||
.css({
|
||||
left : module.cache.element.left,
|
||||
bottom : '',
|
||||
marginBottom : ''
|
||||
})
|
||||
.removeClass(className.bound)
|
||||
.removeClass(className.top)
|
||||
.addClass(className.fixed)
|
||||
.addClass(className.bottom)
|
||||
;
|
||||
settings.onStick.call(element);
|
||||
},
|
||||
|
||||
unbind: function() {
|
||||
if( module.is.bound() ) {
|
||||
module.debug('Removing container bound position on element');
|
||||
module.remove.offset();
|
||||
$module
|
||||
.removeClass(className.bound)
|
||||
.removeClass(className.top)
|
||||
.removeClass(className.bottom)
|
||||
;
|
||||
}
|
||||
},
|
||||
|
||||
unfix: function() {
|
||||
if( module.is.fixed() ) {
|
||||
module.debug('Removing fixed position on element');
|
||||
module.remove.minimumSize();
|
||||
module.remove.offset();
|
||||
$module
|
||||
.removeClass(className.fixed)
|
||||
.removeClass(className.top)
|
||||
.removeClass(className.bottom)
|
||||
;
|
||||
settings.onUnstick.call(element);
|
||||
}
|
||||
},
|
||||
|
||||
reset: function() {
|
||||
module.debug('Resetting elements position');
|
||||
module.unbind();
|
||||
module.unfix();
|
||||
module.resetCSS();
|
||||
module.remove.offset();
|
||||
module.remove.lastScroll();
|
||||
},
|
||||
|
||||
resetCSS: function() {
|
||||
$module
|
||||
.css({
|
||||
width : '',
|
||||
height : ''
|
||||
})
|
||||
;
|
||||
$container
|
||||
.css({
|
||||
height: ''
|
||||
})
|
||||
;
|
||||
},
|
||||
|
||||
setting: function(name, value) {
|
||||
if( $.isPlainObject(name) ) {
|
||||
$.extend(true, settings, name);
|
||||
}
|
||||
else if(value !== undefined) {
|
||||
settings[name] = value;
|
||||
}
|
||||
else {
|
||||
return settings[name];
|
||||
}
|
||||
},
|
||||
internal: function(name, value) {
|
||||
if( $.isPlainObject(name) ) {
|
||||
$.extend(true, module, name);
|
||||
}
|
||||
else if(value !== undefined) {
|
||||
module[name] = value;
|
||||
}
|
||||
else {
|
||||
return module[name];
|
||||
}
|
||||
},
|
||||
debug: function() {
|
||||
if(!settings.silent && settings.debug) {
|
||||
if(settings.performance) {
|
||||
module.performance.log(arguments);
|
||||
}
|
||||
else {
|
||||
module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
||||
module.debug.apply(console, arguments);
|
||||
}
|
||||
}
|
||||
},
|
||||
verbose: function() {
|
||||
if(!settings.silent && settings.verbose && settings.debug) {
|
||||
if(settings.performance) {
|
||||
module.performance.log(arguments);
|
||||
}
|
||||
else {
|
||||
module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
||||
module.verbose.apply(console, arguments);
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
if(!settings.silent) {
|
||||
module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
|
||||
module.error.apply(console, arguments);
|
||||
}
|
||||
},
|
||||
performance: {
|
||||
log: function(message) {
|
||||
var
|
||||
currentTime,
|
||||
executionTime,
|
||||
previousTime
|
||||
;
|
||||
if(settings.performance) {
|
||||
currentTime = new Date().getTime();
|
||||
previousTime = time || currentTime;
|
||||
executionTime = currentTime - previousTime;
|
||||
time = currentTime;
|
||||
performance.push({
|
||||
'Name' : message[0],
|
||||
'Arguments' : [].slice.call(message, 1) || '',
|
||||
'Element' : element,
|
||||
'Execution Time' : executionTime
|
||||
});
|
||||
}
|
||||
clearTimeout(module.performance.timer);
|
||||
module.performance.timer = setTimeout(module.performance.display, 0);
|
||||
},
|
||||
display: function() {
|
||||
var
|
||||
title = settings.name + ':',
|
||||
totalTime = 0
|
||||
;
|
||||
time = false;
|
||||
clearTimeout(module.performance.timer);
|
||||
$.each(performance, function(index, data) {
|
||||
totalTime += data['Execution Time'];
|
||||
});
|
||||
title += ' ' + totalTime + 'ms';
|
||||
if(moduleSelector) {
|
||||
title += ' \'' + moduleSelector + '\'';
|
||||
}
|
||||
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
|
||||
console.groupCollapsed(title);
|
||||
if(console.table) {
|
||||
console.table(performance);
|
||||
}
|
||||
else {
|
||||
$.each(performance, function(index, data) {
|
||||
console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
|
||||
});
|
||||
}
|
||||
console.groupEnd();
|
||||
}
|
||||
performance = [];
|
||||
}
|
||||
},
|
||||
invoke: function(query, passedArguments, context) {
|
||||
var
|
||||
object = instance,
|
||||
maxDepth,
|
||||
found,
|
||||
response
|
||||
;
|
||||
passedArguments = passedArguments || queryArguments;
|
||||
context = element || context;
|
||||
if(typeof query == 'string' && object !== undefined) {
|
||||
query = query.split(/[\. ]/);
|
||||
maxDepth = query.length - 1;
|
||||
$.each(query, function(depth, value) {
|
||||
var camelCaseValue = (depth != maxDepth)
|
||||
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
||||
: query
|
||||
;
|
||||
if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {
|
||||
object = object[camelCaseValue];
|
||||
}
|
||||
else if( object[camelCaseValue] !== undefined ) {
|
||||
found = object[camelCaseValue];
|
||||
return false;
|
||||
}
|
||||
else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
|
||||
object = object[value];
|
||||
}
|
||||
else if( object[value] !== undefined ) {
|
||||
found = object[value];
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
if ( $.isFunction( found ) ) {
|
||||
response = found.apply(context, passedArguments);
|
||||
}
|
||||
else if(found !== undefined) {
|
||||
response = found;
|
||||
}
|
||||
if(Array.isArray(returnedValue)) {
|
||||
returnedValue.push(response);
|
||||
}
|
||||
else if(returnedValue !== undefined) {
|
||||
returnedValue = [returnedValue, response];
|
||||
}
|
||||
else if(response !== undefined) {
|
||||
returnedValue = response;
|
||||
}
|
||||
return found;
|
||||
}
|
||||
};
|
||||
|
||||
if(methodInvoked) {
|
||||
if(instance === undefined) {
|
||||
module.initialize();
|
||||
}
|
||||
module.invoke(query);
|
||||
}
|
||||
else {
|
||||
if(instance !== undefined) {
|
||||
instance.invoke('destroy');
|
||||
}
|
||||
module.initialize();
|
||||
}
|
||||
})
|
||||
;
|
||||
|
||||
return (returnedValue !== undefined)
|
||||
? returnedValue
|
||||
: this
|
||||
;
|
||||
};
|
||||
|
||||
$.fn.sticky.settings = {
|
||||
|
||||
name : 'Sticky',
|
||||
namespace : 'sticky',
|
||||
|
||||
silent : false,
|
||||
debug : false,
|
||||
verbose : true,
|
||||
performance : true,
|
||||
|
||||
// whether to stick in the opposite direction on scroll up
|
||||
pushing : false,
|
||||
|
||||
context : false,
|
||||
container : false,
|
||||
|
||||
// Context to watch scroll events
|
||||
scrollContext : window,
|
||||
|
||||
// Offset to adjust scroll
|
||||
offset : 0,
|
||||
|
||||
// Offset to adjust scroll when attached to bottom of screen
|
||||
bottomOffset : 0,
|
||||
|
||||
// will only set container height if difference between context and container is larger than this number
|
||||
jitter : 5,
|
||||
|
||||
// set width of sticky element when it is fixed to page (used to make sure 100% width is maintained if no fixed size set)
|
||||
setSize : true,
|
||||
|
||||
// Whether to automatically observe changes with Mutation Observers
|
||||
observeChanges : false,
|
||||
|
||||
// Called when position is recalculated
|
||||
onReposition : function(){},
|
||||
|
||||
// Called on each scroll
|
||||
onScroll : function(){},
|
||||
|
||||
// Called when element is stuck to viewport
|
||||
onStick : function(){},
|
||||
|
||||
// Called when element is unstuck from viewport
|
||||
onUnstick : function(){},
|
||||
|
||||
// Called when element reaches top of context
|
||||
onTop : function(){},
|
||||
|
||||
// Called when element reaches bottom of context
|
||||
onBottom : function(){},
|
||||
|
||||
error : {
|
||||
container : 'Sticky element must be inside a relative container',
|
||||
visible : 'Element is hidden, you must call refresh after element becomes visible. Use silent setting to surpress this warning in production.',
|
||||
method : 'The method you called is not defined.',
|
||||
invalidContext : 'Context specified does not exist',
|
||||
elementSize : 'Sticky element is larger than its container, cannot create sticky.'
|
||||
},
|
||||
|
||||
className : {
|
||||
bound : 'bound',
|
||||
fixed : 'fixed',
|
||||
supported : 'native',
|
||||
top : 'top',
|
||||
bottom : 'bottom'
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
})( jQuery, window, document );
|
||||
74
assets/semantic-ui/definitions/modules/sticky.less
Normal file
74
assets/semantic-ui/definitions/modules/sticky.less
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Sticky
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'module';
|
||||
@element : 'sticky';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Sticky
|
||||
*******************************/
|
||||
|
||||
.ui.sticky {
|
||||
position: static;
|
||||
transition: @transition;
|
||||
z-index: @zIndex;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
/* Bound */
|
||||
.ui.sticky.bound {
|
||||
position: absolute;
|
||||
left: auto;
|
||||
right: auto;
|
||||
}
|
||||
|
||||
/* Fixed */
|
||||
.ui.sticky.fixed {
|
||||
position: fixed;
|
||||
left: auto;
|
||||
right: auto;
|
||||
}
|
||||
|
||||
/* Bound/Fixed Position */
|
||||
.ui.sticky.bound.top,
|
||||
.ui.sticky.fixed.top {
|
||||
top: 0;
|
||||
bottom: auto;
|
||||
}
|
||||
.ui.sticky.bound.bottom,
|
||||
.ui.sticky.fixed.bottom {
|
||||
top: auto;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Types
|
||||
*******************************/
|
||||
|
||||
.ui.native.sticky {
|
||||
position: -webkit-sticky;
|
||||
position: -moz-sticky;
|
||||
position: -ms-sticky;
|
||||
position: -o-sticky;
|
||||
position: sticky;
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
1001
assets/semantic-ui/definitions/modules/tab.js
Normal file
1001
assets/semantic-ui/definitions/modules/tab.js
Normal file
File diff suppressed because it is too large
Load diff
91
assets/semantic-ui/definitions/modules/tab.less
Normal file
91
assets/semantic-ui/definitions/modules/tab.less
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Tab
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'module';
|
||||
@element : 'tab';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
UI Tabs
|
||||
*******************************/
|
||||
|
||||
.ui.tab {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
/*--------------------
|
||||
Active
|
||||
---------------------*/
|
||||
|
||||
.ui.tab.active,
|
||||
.ui.tab.open {
|
||||
display: block;
|
||||
}
|
||||
|
||||
& when (@variationTabLoading) {
|
||||
/*--------------------
|
||||
Loading
|
||||
---------------------*/
|
||||
|
||||
.ui.tab.loading {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
display: block;
|
||||
min-height: @loadingMinHeight;
|
||||
}
|
||||
.ui.tab.loading * {
|
||||
position: @loadingContentPosition !important;
|
||||
left: @loadingContentOffset !important;
|
||||
}
|
||||
|
||||
.ui.tab.loading:before,
|
||||
.ui.tab.loading.segment:before {
|
||||
position: absolute;
|
||||
content: '';
|
||||
top: @loaderDistanceFromTop;
|
||||
left: 50%;
|
||||
|
||||
margin: @loaderMargin;
|
||||
width: @loaderSize;
|
||||
height: @loaderSize;
|
||||
|
||||
border-radius: @circularRadius;
|
||||
border: @loaderLineWidth solid @loaderFillColor;
|
||||
}
|
||||
.ui.tab.loading:after,
|
||||
.ui.tab.loading.segment:after {
|
||||
position: absolute;
|
||||
content: '';
|
||||
top: @loaderDistanceFromTop;
|
||||
left: 50%;
|
||||
|
||||
margin: @loaderMargin;
|
||||
width: @loaderSize;
|
||||
height: @loaderSize;
|
||||
|
||||
animation: loader @loaderSpeed infinite linear;
|
||||
border: @loaderLineWidth solid @loaderLineColor;
|
||||
border-radius: @circularRadius;
|
||||
|
||||
box-shadow: 0 0 0 1px transparent;
|
||||
}
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
872
assets/semantic-ui/definitions/modules/toast.js
Normal file
872
assets/semantic-ui/definitions/modules/toast.js
Normal file
|
|
@ -0,0 +1,872 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Toast
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
;(function ($, window, document, undefined) {
|
||||
|
||||
'use strict';
|
||||
|
||||
$.isFunction = $.isFunction || function(obj) {
|
||||
return typeof obj === "function" && typeof obj.nodeType !== "number";
|
||||
};
|
||||
|
||||
window = (typeof window != 'undefined' && window.Math == Math)
|
||||
? window
|
||||
: (typeof self != 'undefined' && self.Math == Math)
|
||||
? self
|
||||
: Function('return this')()
|
||||
;
|
||||
|
||||
$.fn.toast = function(parameters) {
|
||||
var
|
||||
$allModules = $(this),
|
||||
moduleSelector = $allModules.selector || '',
|
||||
|
||||
time = new Date().getTime(),
|
||||
performance = [],
|
||||
|
||||
query = arguments[0],
|
||||
methodInvoked = (typeof query == 'string'),
|
||||
queryArguments = [].slice.call(arguments, 1),
|
||||
returnedValue
|
||||
;
|
||||
$allModules
|
||||
.each(function() {
|
||||
var
|
||||
settings = ( $.isPlainObject(parameters) )
|
||||
? $.extend(true, {}, $.fn.toast.settings, parameters)
|
||||
: $.extend({}, $.fn.toast.settings),
|
||||
|
||||
className = settings.className,
|
||||
selector = settings.selector,
|
||||
error = settings.error,
|
||||
namespace = settings.namespace,
|
||||
fields = settings.fields,
|
||||
|
||||
eventNamespace = '.' + namespace,
|
||||
moduleNamespace = namespace + '-module',
|
||||
|
||||
$module = $(this),
|
||||
$toastBox,
|
||||
$toast,
|
||||
$actions,
|
||||
$progress,
|
||||
$progressBar,
|
||||
$animationObject,
|
||||
$close,
|
||||
$context = (settings.context)
|
||||
? $(settings.context)
|
||||
: $('body'),
|
||||
|
||||
isToastComponent = $module.hasClass('toast') || $module.hasClass('message') || $module.hasClass('card'),
|
||||
|
||||
element = this,
|
||||
instance = isToastComponent ? $module.data(moduleNamespace) : undefined,
|
||||
|
||||
module
|
||||
;
|
||||
module = {
|
||||
|
||||
initialize: function() {
|
||||
module.verbose('Initializing element');
|
||||
if (!module.has.container()) {
|
||||
module.create.container();
|
||||
}
|
||||
if(isToastComponent || settings.message !== '' || settings.title !== '' || module.get.iconClass() !== '' || settings.showImage || module.has.configActions()) {
|
||||
if(typeof settings.showProgress !== 'string' || [className.top,className.bottom].indexOf(settings.showProgress) === -1 ) {
|
||||
settings.showProgress = false;
|
||||
}
|
||||
module.create.toast();
|
||||
if(settings.closeOnClick && (settings.closeIcon || $($toast).find(selector.input).length > 0 || module.has.configActions())){
|
||||
settings.closeOnClick = false;
|
||||
}
|
||||
if(!settings.closeOnClick) {
|
||||
$toastBox.addClass(className.unclickable);
|
||||
}
|
||||
module.bind.events();
|
||||
}
|
||||
module.instantiate();
|
||||
if($toastBox) {
|
||||
module.show();
|
||||
}
|
||||
},
|
||||
|
||||
instantiate: function() {
|
||||
module.verbose('Storing instance of toast');
|
||||
instance = module;
|
||||
$module
|
||||
.data(moduleNamespace, instance)
|
||||
;
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
if($toastBox) {
|
||||
module.debug('Removing toast', $toastBox);
|
||||
module.unbind.events();
|
||||
$toastBox.remove();
|
||||
$toastBox = undefined;
|
||||
$toast = undefined;
|
||||
$animationObject = undefined;
|
||||
settings.onRemove.call($toastBox, element);
|
||||
$progress = undefined;
|
||||
$progressBar = undefined;
|
||||
$close = undefined;
|
||||
}
|
||||
$module
|
||||
.removeData(moduleNamespace)
|
||||
;
|
||||
},
|
||||
|
||||
show: function(callback) {
|
||||
callback = callback || function(){};
|
||||
module.debug('Showing toast');
|
||||
if(settings.onShow.call($toastBox, element) === false) {
|
||||
module.debug('onShow callback returned false, cancelling toast animation');
|
||||
return;
|
||||
}
|
||||
module.animate.show(callback);
|
||||
},
|
||||
|
||||
close: function(callback) {
|
||||
callback = callback || function(){};
|
||||
module.remove.visible();
|
||||
module.unbind.events();
|
||||
module.animate.close(callback);
|
||||
|
||||
},
|
||||
|
||||
create: {
|
||||
container: function() {
|
||||
module.verbose('Creating container');
|
||||
$context.append($('<div/>',{class: settings.position + ' ' + className.container}));
|
||||
},
|
||||
toast: function() {
|
||||
$toastBox = $('<div/>', {class: className.box});
|
||||
if (!isToastComponent) {
|
||||
module.verbose('Creating toast');
|
||||
$toast = $('<div/>');
|
||||
var $content = $('<div/>', {class: className.content});
|
||||
var iconClass = module.get.iconClass();
|
||||
if (iconClass !== '') {
|
||||
$toast.append($('<i/>', {class: iconClass + ' ' + className.icon}));
|
||||
}
|
||||
|
||||
if (settings.showImage) {
|
||||
$toast.append($('<img>', {
|
||||
class: className.image + ' ' + settings.classImage,
|
||||
src: settings.showImage
|
||||
}));
|
||||
}
|
||||
if (settings.title !== '') {
|
||||
$content.append($('<div/>', {
|
||||
class: className.title,
|
||||
text: settings.title
|
||||
}));
|
||||
}
|
||||
|
||||
$content.append($('<div/>', {html: module.helpers.escape(settings.message, settings.preserveHTML)}));
|
||||
|
||||
$toast
|
||||
.addClass(settings.class + ' ' + className.toast)
|
||||
.append($content)
|
||||
;
|
||||
$toast.css('opacity', settings.opacity);
|
||||
if (settings.closeIcon) {
|
||||
$close = $('<i/>', {class: className.close + ' ' + (typeof settings.closeIcon === 'string' ? settings.closeIcon : '')});
|
||||
if($close.hasClass(className.left)) {
|
||||
$toast.prepend($close);
|
||||
} else {
|
||||
$toast.append($close);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$toast = settings.cloneModule ? $module.clone().removeAttr('id') : $module;
|
||||
$close = $toast.find('> i'+module.helpers.toClass(className.close));
|
||||
settings.closeIcon = ($close.length > 0);
|
||||
}
|
||||
if ($toast.hasClass(className.compact)) {
|
||||
settings.compact = true;
|
||||
}
|
||||
if ($toast.hasClass('card')) {
|
||||
settings.compact = false;
|
||||
}
|
||||
$actions = $toast.find('.actions');
|
||||
if (module.has.configActions()) {
|
||||
if ($actions.length === 0) {
|
||||
$actions = $('<div/>', {class: className.actions + ' ' + (settings.classActions || '')}).appendTo($toast);
|
||||
}
|
||||
if($toast.hasClass('card') && !$actions.hasClass(className.attached)) {
|
||||
$actions.addClass(className.extraContent);
|
||||
if($actions.hasClass(className.vertical)) {
|
||||
$actions.removeClass(className.vertical);
|
||||
module.error(error.verticalCard);
|
||||
}
|
||||
}
|
||||
settings.actions.forEach(function (el) {
|
||||
var icon = el[fields.icon] ? '<i class="' + module.helpers.deQuote(el[fields.icon]) + ' icon"></i>' : '',
|
||||
text = module.helpers.escape(el[fields.text] || '', settings.preserveHTML),
|
||||
cls = module.helpers.deQuote(el[fields.class] || ''),
|
||||
click = el[fields.click] && $.isFunction(el[fields.click]) ? el[fields.click] : function () {};
|
||||
$actions.append($('<button/>', {
|
||||
html: icon + text,
|
||||
class: className.button + ' ' + cls,
|
||||
click: function () {
|
||||
if (click.call(element, $module) === false) {
|
||||
return;
|
||||
}
|
||||
module.close();
|
||||
}
|
||||
}));
|
||||
});
|
||||
}
|
||||
if ($actions && $actions.hasClass(className.vertical)) {
|
||||
$toast.addClass(className.vertical);
|
||||
}
|
||||
if($actions.length > 0 && !$actions.hasClass(className.attached)) {
|
||||
if ($actions && (!$actions.hasClass(className.basic) || $actions.hasClass(className.left))) {
|
||||
$toast.addClass(className.actions);
|
||||
}
|
||||
}
|
||||
if(settings.displayTime === 'auto'){
|
||||
settings.displayTime = Math.max(settings.minDisplayTime, $toast.text().split(" ").length / settings.wordsPerMinute * 60000);
|
||||
}
|
||||
$toastBox.append($toast);
|
||||
|
||||
if($actions.length > 0 && $actions.hasClass(className.attached)) {
|
||||
$actions.addClass(className.buttons);
|
||||
$actions.detach();
|
||||
$toast.addClass(className.attached);
|
||||
if (!$actions.hasClass(className.vertical)) {
|
||||
if ($actions.hasClass(className.top)) {
|
||||
$toastBox.prepend($actions);
|
||||
$toast.addClass(className.bottom);
|
||||
} else {
|
||||
$toastBox.append($actions);
|
||||
$toast.addClass(className.top);
|
||||
}
|
||||
} else {
|
||||
$toast.wrap(
|
||||
$('<div/>',{
|
||||
class:className.vertical + ' ' +
|
||||
className.attached + ' ' +
|
||||
(settings.compact ? className.compact : '')
|
||||
})
|
||||
);
|
||||
if($actions.hasClass(className.left)) {
|
||||
$toast.addClass(className.left).parent().addClass(className.left).prepend($actions);
|
||||
} else {
|
||||
$toast.parent().append($actions);
|
||||
}
|
||||
}
|
||||
}
|
||||
if($module !== $toast) {
|
||||
$module = $toast;
|
||||
element = $toast[0];
|
||||
}
|
||||
if(settings.displayTime > 0) {
|
||||
var progressingClass = className.progressing+' '+(settings.pauseOnHover ? className.pausable:'');
|
||||
if (!!settings.showProgress) {
|
||||
$progress = $('<div/>', {
|
||||
class: className.progress + ' ' + (settings.classProgress || settings.class),
|
||||
'data-percent': ''
|
||||
});
|
||||
if(!settings.classProgress) {
|
||||
if ($toast.hasClass('toast') && !$toast.hasClass(className.inverted)) {
|
||||
$progress.addClass(className.inverted);
|
||||
} else {
|
||||
$progress.removeClass(className.inverted);
|
||||
}
|
||||
}
|
||||
$progressBar = $('<div/>', {class: 'bar '+(settings.progressUp ? 'up ' : 'down ')+progressingClass});
|
||||
$progress
|
||||
.addClass(settings.showProgress)
|
||||
.append($progressBar);
|
||||
if ($progress.hasClass(className.top)) {
|
||||
$toastBox.prepend($progress);
|
||||
} else {
|
||||
$toastBox.append($progress);
|
||||
}
|
||||
$progressBar.css('animation-duration', settings.displayTime / 1000 + 's');
|
||||
}
|
||||
$animationObject = $('<span/>',{class:'wait '+progressingClass});
|
||||
$animationObject.css('animation-duration', settings.displayTime / 1000 + 's');
|
||||
$animationObject.appendTo($toast);
|
||||
}
|
||||
if (settings.compact) {
|
||||
$toastBox.addClass(className.compact);
|
||||
$toast.addClass(className.compact);
|
||||
if($progress) {
|
||||
$progress.addClass(className.compact);
|
||||
}
|
||||
}
|
||||
if (settings.newestOnTop) {
|
||||
$toastBox.prependTo(module.get.container());
|
||||
}
|
||||
else {
|
||||
$toastBox.appendTo(module.get.container());
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
bind: {
|
||||
events: function() {
|
||||
module.debug('Binding events to toast');
|
||||
if(settings.closeOnClick || settings.closeIcon) {
|
||||
(settings.closeIcon ? $close : $toast)
|
||||
.on('click' + eventNamespace, module.event.click)
|
||||
;
|
||||
}
|
||||
if($animationObject) {
|
||||
$animationObject.on('animationend' + eventNamespace, module.close);
|
||||
}
|
||||
$toastBox
|
||||
.on('click' + eventNamespace, selector.approve, module.event.approve)
|
||||
.on('click' + eventNamespace, selector.deny, module.event.deny)
|
||||
;
|
||||
}
|
||||
},
|
||||
|
||||
unbind: {
|
||||
events: function() {
|
||||
module.debug('Unbinding events to toast');
|
||||
if(settings.closeOnClick || settings.closeIcon) {
|
||||
(settings.closeIcon ? $close : $toast)
|
||||
.off('click' + eventNamespace)
|
||||
;
|
||||
}
|
||||
if($animationObject) {
|
||||
$animationObject.off('animationend' + eventNamespace);
|
||||
}
|
||||
$toastBox
|
||||
.off('click' + eventNamespace)
|
||||
;
|
||||
}
|
||||
},
|
||||
|
||||
animate: {
|
||||
show: function(callback) {
|
||||
callback = $.isFunction(callback) ? callback : function(){};
|
||||
if(settings.transition && module.can.useElement('transition') && $module.transition('is supported')) {
|
||||
module.set.visible();
|
||||
$toastBox
|
||||
.transition({
|
||||
animation : settings.transition.showMethod + ' in',
|
||||
queue : false,
|
||||
debug : settings.debug,
|
||||
verbose : settings.verbose,
|
||||
duration : settings.transition.showDuration,
|
||||
onComplete : function() {
|
||||
callback.call($toastBox, element);
|
||||
settings.onVisible.call($toastBox, element);
|
||||
}
|
||||
})
|
||||
;
|
||||
}
|
||||
},
|
||||
close: function(callback) {
|
||||
callback = $.isFunction(callback) ? callback : function(){};
|
||||
module.debug('Closing toast');
|
||||
if(settings.onHide.call($toastBox, element) === false) {
|
||||
module.debug('onHide callback returned false, cancelling toast animation');
|
||||
return;
|
||||
}
|
||||
if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {
|
||||
$toastBox
|
||||
.transition({
|
||||
animation : settings.transition.hideMethod + ' out',
|
||||
queue : false,
|
||||
duration : settings.transition.hideDuration,
|
||||
debug : settings.debug,
|
||||
verbose : settings.verbose,
|
||||
interval : 50,
|
||||
|
||||
onBeforeHide: function(callback){
|
||||
callback = $.isFunction(callback)?callback : function(){};
|
||||
if(settings.transition.closeEasing !== ''){
|
||||
if($toastBox) {
|
||||
$toastBox.css('opacity', 0);
|
||||
$toastBox.wrap('<div/>').parent().slideUp(500, settings.transition.closeEasing, function () {
|
||||
if ($toastBox) {
|
||||
$toastBox.parent().remove();
|
||||
callback.call($toastBox);
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
callback.call($toastBox);
|
||||
}
|
||||
},
|
||||
onComplete : function() {
|
||||
callback.call($toastBox, element);
|
||||
settings.onHidden.call($toastBox, element);
|
||||
module.destroy();
|
||||
}
|
||||
})
|
||||
;
|
||||
}
|
||||
else {
|
||||
module.error(error.noTransition);
|
||||
}
|
||||
},
|
||||
pause: function() {
|
||||
$animationObject.css('animationPlayState','paused');
|
||||
if($progressBar) {
|
||||
$progressBar.css('animationPlayState', 'paused');
|
||||
}
|
||||
},
|
||||
continue: function() {
|
||||
$animationObject.css('animationPlayState','running');
|
||||
if($progressBar) {
|
||||
$progressBar.css('animationPlayState', 'running');
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
has: {
|
||||
container: function() {
|
||||
module.verbose('Determining if there is already a container');
|
||||
return ($context.find(module.helpers.toClass(settings.position) + selector.container).length > 0);
|
||||
},
|
||||
toast: function(){
|
||||
return !!module.get.toast();
|
||||
},
|
||||
toasts: function(){
|
||||
return module.get.toasts().length > 0;
|
||||
},
|
||||
configActions: function () {
|
||||
return Array.isArray(settings.actions) && settings.actions.length > 0;
|
||||
}
|
||||
},
|
||||
|
||||
get: {
|
||||
container: function() {
|
||||
return ($context.find(module.helpers.toClass(settings.position) + selector.container)[0]);
|
||||
},
|
||||
toastBox: function() {
|
||||
return $toastBox || null;
|
||||
},
|
||||
toast: function() {
|
||||
return $toast || null;
|
||||
},
|
||||
toasts: function() {
|
||||
return $(module.get.container()).find(selector.box);
|
||||
},
|
||||
iconClass: function() {
|
||||
return typeof settings.showIcon === 'string' ? settings.showIcon : settings.showIcon && settings.icons[settings.class] ? settings.icons[settings.class] : '';
|
||||
},
|
||||
remainingTime: function() {
|
||||
return $animationObject ? $animationObject.css('opacity') * settings.displayTime : 0;
|
||||
}
|
||||
},
|
||||
|
||||
set: {
|
||||
visible: function() {
|
||||
$toast.addClass(className.visible);
|
||||
}
|
||||
},
|
||||
|
||||
remove: {
|
||||
visible: function() {
|
||||
$toast.removeClass(className.visible);
|
||||
}
|
||||
},
|
||||
|
||||
event: {
|
||||
click: function(event) {
|
||||
if($(event.target).closest('a').length === 0) {
|
||||
settings.onClick.call($toastBox, element);
|
||||
module.close();
|
||||
}
|
||||
},
|
||||
approve: function() {
|
||||
if(settings.onApprove.call(element, $module) === false) {
|
||||
module.verbose('Approve callback returned false cancelling close');
|
||||
return;
|
||||
}
|
||||
module.close();
|
||||
},
|
||||
deny: function() {
|
||||
if(settings.onDeny.call(element, $module) === false) {
|
||||
module.verbose('Deny callback returned false cancelling close');
|
||||
return;
|
||||
}
|
||||
module.close();
|
||||
}
|
||||
},
|
||||
|
||||
helpers: {
|
||||
toClass: function(selector) {
|
||||
var
|
||||
classes = selector.split(' '),
|
||||
result = ''
|
||||
;
|
||||
|
||||
classes.forEach(function (element) {
|
||||
result += '.' + element;
|
||||
});
|
||||
|
||||
return result;
|
||||
},
|
||||
deQuote: function(string) {
|
||||
return String(string).replace(/"/g,"");
|
||||
},
|
||||
escape: function(string, preserveHTML) {
|
||||
if (preserveHTML){
|
||||
return string;
|
||||
}
|
||||
var
|
||||
badChars = /[<>"'`]/g,
|
||||
shouldEscape = /[&<>"'`]/,
|
||||
escape = {
|
||||
"<": "<",
|
||||
">": ">",
|
||||
'"': """,
|
||||
"'": "'",
|
||||
"`": "`"
|
||||
},
|
||||
escapedChar = function(chr) {
|
||||
return escape[chr];
|
||||
}
|
||||
;
|
||||
if(shouldEscape.test(string)) {
|
||||
string = string.replace(/&(?![a-z0-9#]{1,6};)/, "&");
|
||||
return string.replace(badChars, escapedChar);
|
||||
}
|
||||
return string;
|
||||
}
|
||||
},
|
||||
|
||||
can: {
|
||||
useElement: function(element){
|
||||
if ($.fn[element] !== undefined) {
|
||||
return true;
|
||||
}
|
||||
module.error(error.noElement.replace('{element}',element));
|
||||
return false;
|
||||
}
|
||||
},
|
||||
|
||||
setting: function(name, value) {
|
||||
module.debug('Changing setting', name, value);
|
||||
if( $.isPlainObject(name) ) {
|
||||
$.extend(true, settings, name);
|
||||
}
|
||||
else if(value !== undefined) {
|
||||
if($.isPlainObject(settings[name])) {
|
||||
$.extend(true, settings[name], value);
|
||||
}
|
||||
else {
|
||||
settings[name] = value;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return settings[name];
|
||||
}
|
||||
},
|
||||
internal: function(name, value) {
|
||||
if( $.isPlainObject(name) ) {
|
||||
$.extend(true, module, name);
|
||||
}
|
||||
else if(value !== undefined) {
|
||||
module[name] = value;
|
||||
}
|
||||
else {
|
||||
return module[name];
|
||||
}
|
||||
},
|
||||
debug: function() {
|
||||
if(!settings.silent && settings.debug) {
|
||||
if(settings.performance) {
|
||||
module.performance.log(arguments);
|
||||
}
|
||||
else {
|
||||
module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
||||
module.debug.apply(console, arguments);
|
||||
}
|
||||
}
|
||||
},
|
||||
verbose: function() {
|
||||
if(!settings.silent && settings.verbose && settings.debug) {
|
||||
if(settings.performance) {
|
||||
module.performance.log(arguments);
|
||||
}
|
||||
else {
|
||||
module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
|
||||
module.verbose.apply(console, arguments);
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
if(!settings.silent) {
|
||||
module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
|
||||
module.error.apply(console, arguments);
|
||||
}
|
||||
},
|
||||
performance: {
|
||||
log: function(message) {
|
||||
var
|
||||
currentTime,
|
||||
executionTime,
|
||||
previousTime
|
||||
;
|
||||
if(settings.performance) {
|
||||
currentTime = new Date().getTime();
|
||||
previousTime = time || currentTime;
|
||||
executionTime = currentTime - previousTime;
|
||||
time = currentTime;
|
||||
performance.push({
|
||||
'Name' : message[0],
|
||||
'Arguments' : [].slice.call(message, 1) || '',
|
||||
'Element' : element,
|
||||
'Execution Time' : executionTime
|
||||
});
|
||||
}
|
||||
clearTimeout(module.performance.timer);
|
||||
module.performance.timer = setTimeout(module.performance.display, 500);
|
||||
},
|
||||
display: function() {
|
||||
var
|
||||
title = settings.name + ':',
|
||||
totalTime = 0
|
||||
;
|
||||
time = false;
|
||||
clearTimeout(module.performance.timer);
|
||||
$.each(performance, function(index, data) {
|
||||
totalTime += data['Execution Time'];
|
||||
});
|
||||
title += ' ' + totalTime + 'ms';
|
||||
if(moduleSelector) {
|
||||
title += ' \'' + moduleSelector + '\'';
|
||||
}
|
||||
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
|
||||
console.groupCollapsed(title);
|
||||
if(console.table) {
|
||||
console.table(performance);
|
||||
}
|
||||
else {
|
||||
$.each(performance, function(index, data) {
|
||||
console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
|
||||
});
|
||||
}
|
||||
console.groupEnd();
|
||||
}
|
||||
performance = [];
|
||||
}
|
||||
},
|
||||
invoke: function(query, passedArguments, context) {
|
||||
var
|
||||
object = instance,
|
||||
maxDepth,
|
||||
found,
|
||||
response
|
||||
;
|
||||
passedArguments = passedArguments || queryArguments;
|
||||
context = element || context;
|
||||
if(typeof query == 'string' && object !== undefined) {
|
||||
query = query.split(/[\. ]/);
|
||||
maxDepth = query.length - 1;
|
||||
$.each(query, function(depth, value) {
|
||||
var camelCaseValue = (depth != maxDepth)
|
||||
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
||||
: query
|
||||
;
|
||||
if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {
|
||||
object = object[camelCaseValue];
|
||||
}
|
||||
else if( object[camelCaseValue] !== undefined ) {
|
||||
found = object[camelCaseValue];
|
||||
return false;
|
||||
}
|
||||
else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {
|
||||
object = object[value];
|
||||
}
|
||||
else if( object[value] !== undefined ) {
|
||||
found = object[value];
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
module.error(error.method, query);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
if ( $.isFunction( found ) ) {
|
||||
response = found.apply(context, passedArguments);
|
||||
}
|
||||
else if(found !== undefined) {
|
||||
response = found;
|
||||
}
|
||||
if(Array.isArray(returnedValue)) {
|
||||
returnedValue.push(response);
|
||||
}
|
||||
else if(returnedValue !== undefined) {
|
||||
returnedValue = [returnedValue, response];
|
||||
}
|
||||
else if(response !== undefined) {
|
||||
returnedValue = response;
|
||||
}
|
||||
return found;
|
||||
}
|
||||
};
|
||||
|
||||
if(methodInvoked) {
|
||||
if(instance === undefined) {
|
||||
module.initialize();
|
||||
}
|
||||
module.invoke(query);
|
||||
}
|
||||
else {
|
||||
if(instance !== undefined) {
|
||||
instance.invoke('destroy');
|
||||
}
|
||||
module.initialize();
|
||||
returnedValue = $module;
|
||||
}
|
||||
})
|
||||
;
|
||||
|
||||
return (returnedValue !== undefined)
|
||||
? returnedValue
|
||||
: this
|
||||
;
|
||||
};
|
||||
|
||||
$.fn.toast.settings = {
|
||||
|
||||
name : 'Toast',
|
||||
namespace : 'toast',
|
||||
|
||||
silent : false,
|
||||
debug : false,
|
||||
verbose : false,
|
||||
performance : true,
|
||||
|
||||
context : 'body',
|
||||
|
||||
position : 'top right',
|
||||
class : 'neutral',
|
||||
classProgress : false,
|
||||
classActions : false,
|
||||
classImage : 'mini',
|
||||
|
||||
title : '',
|
||||
message : '',
|
||||
displayTime : 3000, // set to zero to require manually dismissal, otherwise hides on its own
|
||||
minDisplayTime : 1000, // minimum displaytime in case displayTime is set to 'auto'
|
||||
wordsPerMinute : 120,
|
||||
showIcon : false,
|
||||
newestOnTop : false,
|
||||
showProgress : false,
|
||||
pauseOnHover : true,
|
||||
progressUp : false, //if true, the bar will start at 0% and increase to 100%
|
||||
opacity : 1,
|
||||
compact : true,
|
||||
closeIcon : false,
|
||||
closeOnClick : true,
|
||||
cloneModule : true,
|
||||
actions : false,
|
||||
preserveHTML : true,
|
||||
showImage : false,
|
||||
|
||||
// transition settings
|
||||
transition : {
|
||||
showMethod : 'scale',
|
||||
showDuration : 500,
|
||||
hideMethod : 'scale',
|
||||
hideDuration : 500,
|
||||
closeEasing : 'easeOutCubic' //Set to empty string to stack the closed toast area immediately (old behaviour)
|
||||
},
|
||||
|
||||
error: {
|
||||
method : 'The method you called is not defined.',
|
||||
noElement : 'This module requires ui {element}',
|
||||
verticalCard : 'Vertical but not attached actions are not supported for card layout'
|
||||
},
|
||||
|
||||
className : {
|
||||
container : 'ui toast-container',
|
||||
box : 'floating toast-box',
|
||||
progress : 'ui attached active progress',
|
||||
toast : 'ui toast',
|
||||
icon : 'centered icon',
|
||||
visible : 'visible',
|
||||
content : 'content',
|
||||
title : 'ui header',
|
||||
actions : 'actions',
|
||||
extraContent : 'extra content',
|
||||
button : 'ui button',
|
||||
buttons : 'ui buttons',
|
||||
close : 'close icon',
|
||||
image : 'ui image',
|
||||
vertical : 'vertical',
|
||||
attached : 'attached',
|
||||
inverted : 'inverted',
|
||||
compact : 'compact',
|
||||
pausable : 'pausable',
|
||||
progressing : 'progressing',
|
||||
top : 'top',
|
||||
bottom : 'bottom',
|
||||
left : 'left',
|
||||
basic : 'basic',
|
||||
unclickable : 'unclickable'
|
||||
},
|
||||
|
||||
icons : {
|
||||
info : 'info',
|
||||
success : 'checkmark',
|
||||
warning : 'warning',
|
||||
error : 'times'
|
||||
},
|
||||
|
||||
selector : {
|
||||
container : '.ui.toast-container',
|
||||
box : '.toast-box',
|
||||
toast : '.ui.toast',
|
||||
input : 'input:not([type="hidden"]), textarea, select, button, .ui.button, ui.dropdown',
|
||||
approve : '.actions .positive, .actions .approve, .actions .ok',
|
||||
deny : '.actions .negative, .actions .deny, .actions .cancel'
|
||||
},
|
||||
|
||||
fields : {
|
||||
class : 'class',
|
||||
text : 'text',
|
||||
icon : 'icon',
|
||||
click : 'click'
|
||||
},
|
||||
|
||||
// callbacks
|
||||
onShow : function(){},
|
||||
onVisible : function(){},
|
||||
onClick : function(){},
|
||||
onHide : function(){},
|
||||
onHidden : function(){},
|
||||
onRemove : function(){},
|
||||
onApprove : function(){},
|
||||
onDeny : function(){}
|
||||
};
|
||||
|
||||
$.extend( $.easing, {
|
||||
easeOutBounce: function (x, t, b, c, d) {
|
||||
if ((t/=d) < (1/2.75)) {
|
||||
return c*(7.5625*t*t) + b;
|
||||
} else if (t < (2/2.75)) {
|
||||
return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
|
||||
} else if (t < (2.5/2.75)) {
|
||||
return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
|
||||
} else {
|
||||
return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
|
||||
}
|
||||
},
|
||||
easeOutCubic: function (t) {
|
||||
return (--t)*t*t+1;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
})( jQuery, window, document );
|
||||
590
assets/semantic-ui/definitions/modules/toast.less
Normal file
590
assets/semantic-ui/definitions/modules/toast.less
Normal file
|
|
@ -0,0 +1,590 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Toast
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'module';
|
||||
@element : 'toast';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Toast container
|
||||
*******************************/
|
||||
|
||||
.ui.toast-container {
|
||||
position: fixed;
|
||||
z-index: 9999;
|
||||
&.top when (@variationToastTop) {
|
||||
&.right when (@variationToastRight) {
|
||||
top: @toastContainerDistance;
|
||||
right: @toastContainerDistance;
|
||||
margin-left: @toastContainerDistance;
|
||||
}
|
||||
&.left when (@variationToastLeft) {
|
||||
top: @toastContainerDistance;
|
||||
left: @toastContainerDistance;
|
||||
margin-right: @toastContainerDistance;
|
||||
}
|
||||
&.center when (@variationToastCenter) {
|
||||
left: 50%;
|
||||
transform: translate(-50%, 0);
|
||||
top: @toastContainerDistance;
|
||||
}
|
||||
}
|
||||
&.bottom when (@variationToastBottom) {
|
||||
&.right when (@variationToastRight) {
|
||||
bottom: @toastContainerDistance;
|
||||
right: @toastContainerDistance;
|
||||
margin-left: @toastContainerDistance;
|
||||
}
|
||||
&.left when (@variationToastLeft) {
|
||||
bottom: @toastContainerDistance;
|
||||
left: @toastContainerDistance;
|
||||
margin-right: @toastContainerDistance;
|
||||
}
|
||||
&.center when (@variationToastCenter) {
|
||||
left: 50%;
|
||||
transform: translate(-50%, 0);
|
||||
bottom: @toastContainerDistance;
|
||||
}
|
||||
}
|
||||
& .visible.toast-box,
|
||||
.animating.toast-box,
|
||||
.toast-box {
|
||||
display: table !important;
|
||||
}
|
||||
& .toast-box {
|
||||
margin-bottom: @toastBoxMarginBottom;
|
||||
border-radius: @defaultBorderRadius;
|
||||
cursor: default;
|
||||
&:hover {
|
||||
opacity: @toastOpacityOnHover;
|
||||
}
|
||||
&:not(.unclickable):hover {
|
||||
cursor: @toastCursorOnHover;
|
||||
}
|
||||
& when (@variationToastFloating) {
|
||||
&.floating,
|
||||
&.hoverfloating:hover {
|
||||
box-shadow: @floatingShadow;
|
||||
border: @toastBoxBorder;
|
||||
}
|
||||
}
|
||||
&.compact,
|
||||
> .compact {
|
||||
width: @toastWidth;
|
||||
}
|
||||
& > .ui.toast,
|
||||
> .ui.message {
|
||||
margin: @toastMargin;
|
||||
position: relative;
|
||||
}
|
||||
& > .attached.progress when (@variationToastProgress) {
|
||||
z-index:1;
|
||||
&.bottom {
|
||||
margin: @toastMarginProgress -@toastLeftRightMargin @toastMarginBottom;
|
||||
}
|
||||
&.top {
|
||||
margin: @toastMarginBottom -@toastLeftRightMargin @toastMarginProgress;
|
||||
}
|
||||
& .bar {
|
||||
min-width: 0;
|
||||
}
|
||||
&.info .bar.bar.bar {
|
||||
background: @toastInfoProgressColor;
|
||||
}
|
||||
&.warning .bar.bar.bar {
|
||||
background: @toastWarningProgressColor;
|
||||
}
|
||||
&.success .bar.bar.bar {
|
||||
background: @toastSuccessProgressColor;
|
||||
}
|
||||
.error .bar.bar.bar {
|
||||
background: @toastErrorProgressColor;
|
||||
}
|
||||
&.neutral .bar.bar.bar {
|
||||
background: @toastNeutralProgressColor;
|
||||
}
|
||||
}
|
||||
& > .ui.message when (@variationToastMessage) {
|
||||
& > .close.icon when (@variationToastClose){
|
||||
top: @toastCloseTopDistance;
|
||||
right: @toastCloseRightDistance;
|
||||
}
|
||||
& > .actions:last-child when (@variationToastActions) {
|
||||
margin-bottom: @toastActionMargin;
|
||||
}
|
||||
&.icon when (@variationToastIcon) {
|
||||
align-items: inherit;
|
||||
& > :not(.icon):not(.actions) {
|
||||
padding-left: @toastIconMessageContentPadding;
|
||||
}
|
||||
& > .icon:not(.close) when (@variationToastIcon) {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
width: @toastIconMessageWidth;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
&:not(.vertical) {
|
||||
&.actions > .icon:not(.close) when (@variationToastActions) and (@variationToastIcon) {
|
||||
top: e(%("calc(50%% - %d)", @toastIconCenteredAdjustment));
|
||||
transform: none;
|
||||
}
|
||||
&.icon.icon.icon when (@variationToastIcon){
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
& .ui.toast {
|
||||
& > .close.icon when (@variationToastClose){
|
||||
cursor: pointer;
|
||||
margin: 0;
|
||||
opacity: @toastCloseOpacity;
|
||||
transition: @toastCloseTransition;
|
||||
&:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
&.vertical > .close.icon when (@variationToastVertical) and (@variationToastClose) {
|
||||
margin-top: -@toastCloseTopDistance;
|
||||
margin-right: -@toastCloseTopDistance;
|
||||
}
|
||||
&:not(.vertical) > .close.icon when (@variationToastClose) {
|
||||
position: absolute;
|
||||
top: @toastCloseTopDistance;
|
||||
&:not(.left) {
|
||||
right: @toastCloseRightDistance;
|
||||
}
|
||||
&.left {
|
||||
margin-left: -@toastCloseRightDistance;
|
||||
}
|
||||
}
|
||||
}
|
||||
& .ui.card when (@variationToastCard) {
|
||||
margin:0;
|
||||
&.attached:not(.vertical) when (@variationToastAttached) {
|
||||
&.bottom {
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
&.horizontal {
|
||||
& > .image > img {
|
||||
border-top-left-radius: 0;
|
||||
}
|
||||
& > .image:last-child > img {
|
||||
border-top-right-radius: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.top {
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
&.horizontal {
|
||||
& > .image > img {
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
& > .image:last-child > img {
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&.horizontal.actions when (@variationToastActions) {
|
||||
& > .image > img {
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
& > .image:last-child > img {
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
& .progressing {
|
||||
animation-iteration-count: 1;
|
||||
animation-timing-function: linear;
|
||||
& when (@variationToastProgress) {
|
||||
&.up {
|
||||
animation-name: progressUp;
|
||||
}
|
||||
&.down {
|
||||
animation-name: progressDown;
|
||||
}
|
||||
}
|
||||
&.wait {
|
||||
animation-name: progressWait;
|
||||
}
|
||||
}
|
||||
&:hover .pausable.progressing {
|
||||
animation-play-state: paused;
|
||||
}
|
||||
& .ui.toast:not(.vertical) {
|
||||
display:block;
|
||||
}
|
||||
& :not(.comment) {
|
||||
&:not(.card) .actions when (@variationToastActions) {
|
||||
margin: @toastActionMarginTop @toastActionMargin @toastActionMargin @toastActionMargin;
|
||||
}
|
||||
& .actions when (@variationToastActions) {
|
||||
padding: @toastActionPadding @toastActionPadding @toastActionPaddingBottom @toastActionPadding;
|
||||
text-align: right;
|
||||
&.attached:not(.vertical) when (@variationToastAttached) {
|
||||
margin-right: @toastLeftRightMargin;
|
||||
}
|
||||
&:not(.basic):not(.attached) {
|
||||
background: @toastActionBackground;
|
||||
border-top: @toastActionBorder;
|
||||
}
|
||||
&.left {
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
}
|
||||
& when (@variationToastVertical) {
|
||||
& .vertical.actions > .button,
|
||||
& > .vertical > .vertical.vertical,
|
||||
& > .vertical.vertical.vertical {
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
& :not(.comment) .vertical.actions when (@variationToastVertical) and (@variationToastActions) {
|
||||
flex-direction: column;
|
||||
& > .button {
|
||||
justify-content: center;
|
||||
}
|
||||
&.attached > .button when (@variationToastAttached) {
|
||||
align-items: center;
|
||||
}
|
||||
&:not(.attached) {
|
||||
border-top: 0;
|
||||
margin-top: -@toastActionPaddingBottom;
|
||||
margin-bottom: -@toastActionPaddingBottom;
|
||||
margin-left: @toastActionMarginLeft;
|
||||
justify-content: space-around;
|
||||
&:not(.basic) {
|
||||
border-left: @toastActionBorder;
|
||||
}
|
||||
& > .button:not(:last-child) {
|
||||
margin-bottom: @toastActionMarginBottom;
|
||||
}
|
||||
&.top {
|
||||
justify-content: flex-start;
|
||||
}
|
||||
&.bottom {
|
||||
justify-content: flex-end;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ui.vertical.attached when (@variationToastVertical) and (@variationToastAttached) {
|
||||
&:not(.left) {
|
||||
&.card when (@variationToastCard) {
|
||||
& > .image > img {
|
||||
border-top-right-radius: 0;
|
||||
}
|
||||
&.horizontal > .image:last-child > img {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
}
|
||||
&.card,
|
||||
&.toast {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
&.actions when (@variationToastActions) {
|
||||
border-top-right-radius: @toastBorderRadius;
|
||||
border-bottom-right-radius: @toastBorderRadius;
|
||||
& .button:first-child,
|
||||
.button:last-child {
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
}
|
||||
&.message when (@variationToastMessage) {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-left-radius: @toastBorderRadius;
|
||||
}
|
||||
}
|
||||
&.left {
|
||||
&.card when (@variationToastCard) {
|
||||
& > .image > img {
|
||||
border-top-left-radius: 0;
|
||||
}
|
||||
&.horizontal > .image > img {
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
}
|
||||
&.card,
|
||||
&.toast {
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
&.actions when (@variationToastActions) {
|
||||
border-top-left-radius: @toastBorderRadius;
|
||||
border-bottom-left-radius: @toastBorderRadius;
|
||||
& .button:first-child,
|
||||
.button:last-child {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
& .button:not(:first-child):not(:last-child) {
|
||||
margin-left: -@toastLeftRightMargin;
|
||||
}
|
||||
}
|
||||
&.message.message.message when (@variationToastMessage) {
|
||||
border-top-right-radius: @toastBorderRadius;
|
||||
border-bottom-right-radius: @toastBorderRadius;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ui.attached:not(.vertical) when (@variationToastAttached) {
|
||||
&:not(.top) {
|
||||
&.actions when (@variationToastActions) {
|
||||
border-bottom-left-radius: @toastBorderRadius;
|
||||
border-bottom-right-radius: @toastBorderRadius;
|
||||
& .button:first-child {
|
||||
border-bottom-left-radius: @toastBorderRadius;
|
||||
}
|
||||
& .button:last-child {
|
||||
border-bottom-right-radius: @toastBorderRadius;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.top {
|
||||
&.actions when (@variationToastActions) {
|
||||
border-top-left-radius: @toastBorderRadius;
|
||||
border-top-right-radius: @toastBorderRadius;
|
||||
& .button:first-child {
|
||||
border-top-left-radius: @toastBorderRadius;
|
||||
}
|
||||
& .button:last-child {
|
||||
border-top-right-radius: @toastBorderRadius;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Toast
|
||||
*******************************/
|
||||
|
||||
.ui.toast {
|
||||
display: none;
|
||||
border-radius: @defaultBorderRadius;
|
||||
padding: @toastPadding;
|
||||
margin: @toastMargin;
|
||||
color: @toastInvertedTextColor;
|
||||
background-color: @toastNeutralColor;
|
||||
& > .content > .header {
|
||||
font-weight: bold;
|
||||
color: inherit;
|
||||
margin:0;
|
||||
}
|
||||
&.info when (@variationToastInfo) {
|
||||
background-color: @toastInfoColor;
|
||||
color: @toastTextColor;
|
||||
}
|
||||
&.warning when (@variationToastWarning) {
|
||||
background-color: @toastWarningColor;
|
||||
color: @toastTextColor;
|
||||
}
|
||||
&.success when (@variationToastSuccess) {
|
||||
background-color: @toastSuccessColor;
|
||||
color: @toastTextColor;
|
||||
}
|
||||
&.error when (@variationToastError) {
|
||||
background-color: @toastErrorColor;
|
||||
color: @toastTextColor;
|
||||
}
|
||||
&.neutral {
|
||||
background-color: @toastNeutralColor;
|
||||
color: @toastNeutralTextColor;
|
||||
}
|
||||
& > .icon:not(.close) when (@variationToastIcon) {
|
||||
font-size: @toastIconFontSize;
|
||||
}
|
||||
&:not(.vertical) {
|
||||
& > .icon:not(.close) when (@variationToastIcon) {
|
||||
position: absolute;
|
||||
& + .content {
|
||||
padding-left: @toastIconContentPadding;
|
||||
}
|
||||
}
|
||||
& > .close.icon + .content when (@variationToastClose){
|
||||
padding-left: @toastCloseDistance;
|
||||
}
|
||||
& > .ui.image when (@variationToastImage) {
|
||||
position: absolute;
|
||||
&.avatar + .content {
|
||||
padding-left: @toastAvatarImageContentPadding;
|
||||
min-height: @toastAvatarImageHeight;
|
||||
}
|
||||
&.mini + .content {
|
||||
padding-left: @toastMiniImageContentPadding;
|
||||
min-height: @toastMiniImageHeight;
|
||||
}
|
||||
&.tiny + .content {
|
||||
padding-left: @toastTinyImageContentPadding;
|
||||
min-height: @toastTinyImageHeight;
|
||||
}
|
||||
&.small + .content {
|
||||
padding-left: @toastSmallImageContentPadding;
|
||||
min-height: @toastSmallImageHeight;
|
||||
}
|
||||
}
|
||||
& when (@variationToastImage) or (@variationToastIcon) {
|
||||
& > .centered.image,
|
||||
> .centered.icon {
|
||||
transform: translateY(-50%);
|
||||
top: 50%;
|
||||
}
|
||||
}
|
||||
&.actions > .centered.image when (@variationToastActions) and (@variationToastImage) {
|
||||
top: e(%("calc(50%% - %d)", @toastImageCenteredAdjustment));
|
||||
}
|
||||
&.actions > .centered.icon when (@variationToastActions) and (@variationToastIcon) {
|
||||
top: e(%("calc(50%% - %d)", @toastIconCenteredAdjustment));
|
||||
}
|
||||
}
|
||||
&.vertical when (@variationToastVertical) {
|
||||
& > .close.icon + .content when (@variationToastClose){
|
||||
padding-left: @toastCloseDistanceVertical;
|
||||
}
|
||||
& when (@variationToastImage) or (@variationToastIcon) {
|
||||
& > .ui.image + .content,
|
||||
> .icon:not(.close) + .content {
|
||||
padding-left: @toastImageContentPadding;
|
||||
}
|
||||
}
|
||||
& > .ui.image when (@variationToastImage){
|
||||
align-self: flex-start;
|
||||
flex-shrink:0; /* IE11 fix */
|
||||
}
|
||||
& when (@variationToastImage) or (@variationToastIcon) {
|
||||
& > .centered.image,
|
||||
> .centered.icon {
|
||||
align-self: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.attached when (@variationToastAttached) {
|
||||
&.bottom {
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
}
|
||||
&.top {
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.ui.hoverfloating.message:hover when (@variationToastMessage) and (@variationToastFloating) {
|
||||
box-shadow: 0 0 0 1px inset, @floatingShadow;
|
||||
}
|
||||
|
||||
.ui.center.toast-container .toast-box,
|
||||
.ui.right.toast-container .toast-box {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
.ui.center.toast-container .toast-box {
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Colors
|
||||
-------------- */
|
||||
|
||||
each(@colors, {
|
||||
@color: replace(@key, '@', '');
|
||||
@c: @colors[@@color][color];
|
||||
@l: @colors[@@color][light];
|
||||
|
||||
.ui.@{color}.toast {
|
||||
background-color: @c;
|
||||
color: @toastTextColor;
|
||||
}
|
||||
& when (@variationToastInverted) {
|
||||
.ui.inverted.@{color}.toast,
|
||||
.ui.toast-container .toast-box > .inverted.@{color}.attached.progress .bar {
|
||||
background-color: @l;
|
||||
color: @toastInvertedTextColor;
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
& when (@variationToastInverted) {
|
||||
.ui.inverted.toast {
|
||||
color: @toastTextColor;
|
||||
background-color: @toastInvertedColor;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: @mobileToastBreakpoint) {
|
||||
.ui.toast-container .toast-box {
|
||||
&.toast-box,
|
||||
& > .compact,
|
||||
& > .vertical > *,
|
||||
& > * {
|
||||
width: auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
& > *:not(.vertical) {
|
||||
min-width: @mobileWidth;
|
||||
}
|
||||
& when (@variationToastCard) {
|
||||
& > .ui.card.horizontal,
|
||||
> .vertical > .ui.horizontal.card {
|
||||
min-width: initial;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*---------------
|
||||
Progress Bar
|
||||
----------------*/
|
||||
& when (@variationToastProgress) {
|
||||
@keyframes progressDown {
|
||||
0% {
|
||||
width: 100%;
|
||||
}
|
||||
100% {
|
||||
width: 0;
|
||||
}
|
||||
}
|
||||
@keyframes progressUp {
|
||||
0% {
|
||||
width: 0;
|
||||
}
|
||||
100% {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
@keyframes progressWait {
|
||||
0% {
|
||||
opacity: 1;
|
||||
}
|
||||
100% {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
1109
assets/semantic-ui/definitions/modules/transition.js
Normal file
1109
assets/semantic-ui/definitions/modules/transition.js
Normal file
File diff suppressed because it is too large
Load diff
82
assets/semantic-ui/definitions/modules/transition.less
Normal file
82
assets/semantic-ui/definitions/modules/transition.less
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Transition
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'module';
|
||||
@element : 'transition';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Transitions
|
||||
*******************************/
|
||||
|
||||
.transition {
|
||||
animation-iteration-count: 1;
|
||||
animation-duration: @transitionDefaultDuration;
|
||||
animation-timing-function: @transitionDefaultEasing;
|
||||
animation-fill-mode: @transitionDefaultFill;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
States
|
||||
*******************************/
|
||||
|
||||
|
||||
/* Animating */
|
||||
.animating.transition {
|
||||
backface-visibility: @backfaceVisibility;
|
||||
visibility: visible !important;
|
||||
}
|
||||
|
||||
& when (@variationTransitionLoading) {
|
||||
/* Loading */
|
||||
.loading.transition {
|
||||
position: absolute;
|
||||
top: -99999px;
|
||||
left: -99999px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Hidden */
|
||||
.hidden.transition {
|
||||
display: none;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
/* Visible */
|
||||
.visible.transition {
|
||||
display: block !important;
|
||||
visibility: visible !important;
|
||||
/* backface-visibility: @backfaceVisibility;
|
||||
transform: @use3DAcceleration;*/
|
||||
}
|
||||
|
||||
& when (@variationTransitionDisabled) {
|
||||
/* Disabled */
|
||||
.disabled.transition {
|
||||
animation-play-state: paused;
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
& when (@variationTransitionLoading) {
|
||||
.looping.transition {
|
||||
animation-iteration-count: infinite;
|
||||
}
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
297
assets/semantic-ui/definitions/views/ad.less
Normal file
297
assets/semantic-ui/definitions/views/ad.less
Normal file
|
|
@ -0,0 +1,297 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Ad
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Copyright 2013 Contributors
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'view';
|
||||
@element : 'ad';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Advertisement
|
||||
*******************************/
|
||||
|
||||
.ui.ad {
|
||||
display: block;
|
||||
overflow: @overflow;
|
||||
margin: @margin;
|
||||
}
|
||||
|
||||
.ui.ad:first-child {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.ui.ad:last-child {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.ui.ad iframe {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: none;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Common
|
||||
---------------*/
|
||||
& when (@variationAdLeaderboard) {
|
||||
/* Leaderboard */
|
||||
.ui.leaderboard.ad {
|
||||
width: 728px;
|
||||
height: 90px;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationAdRectangle) {
|
||||
/* Medium Rectangle */
|
||||
.ui[class*="medium rectangle"].ad {
|
||||
width: 300px;
|
||||
height: 250px;
|
||||
}
|
||||
|
||||
/* Large Rectangle */
|
||||
.ui[class*="large rectangle"].ad {
|
||||
width: 336px;
|
||||
height: 280px;
|
||||
}
|
||||
/* Half Page */
|
||||
.ui[class*="half page"].ad {
|
||||
width: 300px;
|
||||
height: 600px;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationAdSquare) {
|
||||
/*--------------
|
||||
Square
|
||||
---------------*/
|
||||
|
||||
/* Square */
|
||||
.ui.square.ad {
|
||||
width: 250px;
|
||||
height: 250px;
|
||||
}
|
||||
|
||||
/* Small Square */
|
||||
.ui[class*="small square"].ad {
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationAdRectangle) {
|
||||
/*--------------
|
||||
Rectangle
|
||||
---------------*/
|
||||
|
||||
/* Small Rectangle */
|
||||
.ui[class*="small rectangle"].ad {
|
||||
width: 180px;
|
||||
height: 150px;
|
||||
}
|
||||
|
||||
/* Vertical Rectangle */
|
||||
.ui[class*="vertical rectangle"].ad {
|
||||
width: 240px;
|
||||
height: 400px;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationAdButton) {
|
||||
/*--------------
|
||||
Button
|
||||
---------------*/
|
||||
|
||||
.ui.button.ad {
|
||||
width: 120px;
|
||||
height: 90px;
|
||||
}
|
||||
& when (@variationAdSquare) {
|
||||
.ui[class*="square button"].ad {
|
||||
width: 125px;
|
||||
height: 125px;
|
||||
}
|
||||
}
|
||||
.ui[class*="small button"].ad {
|
||||
width: 120px;
|
||||
height: 60px;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationAdSkyscraper) {
|
||||
/*--------------
|
||||
Skyscrapers
|
||||
---------------*/
|
||||
|
||||
/* Skyscraper */
|
||||
.ui.skyscraper.ad {
|
||||
width: 120px;
|
||||
height: 600px;
|
||||
}
|
||||
|
||||
/* Wide Skyscraper */
|
||||
.ui[class*="wide skyscraper"].ad {
|
||||
width: 160px;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationAdBanner) {
|
||||
/*--------------
|
||||
Banners
|
||||
---------------*/
|
||||
|
||||
/* Banner */
|
||||
.ui.banner.ad {
|
||||
width: 468px;
|
||||
height: 60px;
|
||||
}
|
||||
|
||||
/* Vertical Banner */
|
||||
.ui[class*="vertical banner"].ad {
|
||||
width: 120px;
|
||||
height: 240px;
|
||||
}
|
||||
|
||||
/* Top Banner */
|
||||
.ui[class*="top banner"].ad {
|
||||
width: 930px;
|
||||
height: 180px;
|
||||
}
|
||||
|
||||
/* Half Banner */
|
||||
.ui[class*="half banner"].ad {
|
||||
width: 234px;
|
||||
height: 60px;
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Boards
|
||||
---------------*/
|
||||
& when (@variationAdLeaderboard) {
|
||||
/* Leaderboard */
|
||||
.ui[class*="large leaderboard"].ad {
|
||||
width: 970px;
|
||||
height: 90px;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationAdBillboard) {
|
||||
/* Billboard */
|
||||
.ui.billboard.ad {
|
||||
width: 970px;
|
||||
height: 250px;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationAdPanorama) {
|
||||
/*--------------
|
||||
Panorama
|
||||
---------------*/
|
||||
|
||||
/* Panorama */
|
||||
.ui.panorama.ad {
|
||||
width: 980px;
|
||||
height: 120px;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationAdNetboard) {
|
||||
/*--------------
|
||||
Netboard
|
||||
---------------*/
|
||||
|
||||
/* Netboard */
|
||||
.ui.netboard.ad {
|
||||
width: 580px;
|
||||
height: 400px;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationAdMobile) {
|
||||
/*--------------
|
||||
Mobile
|
||||
---------------*/
|
||||
& when (@variationAdBanner) {
|
||||
/* Large Mobile Banner */
|
||||
.ui[class*="large mobile banner"].ad {
|
||||
width: 320px;
|
||||
height: 100px;
|
||||
}
|
||||
}
|
||||
& when (@variationAdLeaderboard) {
|
||||
/* Mobile Leaderboard */
|
||||
.ui[class*="mobile leaderboard"].ad {
|
||||
width: 320px;
|
||||
height: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
/*******************************
|
||||
Types
|
||||
*******************************/
|
||||
|
||||
/* Mobile Sizes */
|
||||
.ui.mobile.ad {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media only screen and (max-width : @largestMobileScreen) {
|
||||
.ui.mobile.ad {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
& when (@variationAdCentered) {
|
||||
.ui.centered.ad {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
}
|
||||
& when (@variationAdTest) {
|
||||
.ui.test.ad {
|
||||
position: relative;
|
||||
background: @testBackground;
|
||||
}
|
||||
.ui.test.ad:after {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
transform: translateX(-50%) translateY(-50%);
|
||||
|
||||
content: @testText;
|
||||
color: @testColor;
|
||||
font-size: @testFontSize;
|
||||
font-weight: @testFontWeight;
|
||||
}
|
||||
& when (@variationAdMobile) {
|
||||
.ui.mobile.test.ad:after {
|
||||
font-size: @testMobileFontSize;
|
||||
}
|
||||
}
|
||||
.ui.test.ad[data-text]:after {
|
||||
content: attr(data-text);
|
||||
}
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
978
assets/semantic-ui/definitions/views/card.less
Normal file
978
assets/semantic-ui/definitions/views/card.less
Normal file
|
|
@ -0,0 +1,978 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Card
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'view';
|
||||
@element : 'card';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Standard
|
||||
*******************************/
|
||||
|
||||
/*--------------
|
||||
Card
|
||||
---------------*/
|
||||
|
||||
.ui.cards > .card,
|
||||
.ui.card {
|
||||
max-width: 100%;
|
||||
position: relative;
|
||||
display: @display;
|
||||
flex-direction: column;
|
||||
|
||||
width: @width;
|
||||
min-height: @minHeight;
|
||||
background: @background;
|
||||
padding: @padding;
|
||||
|
||||
border: @border;
|
||||
border-radius: @borderRadius;
|
||||
box-shadow: @boxShadow;
|
||||
transition: @transition;
|
||||
z-index: @zIndex;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.ui.card {
|
||||
margin: @margin;
|
||||
}
|
||||
|
||||
.ui.cards > .card a,
|
||||
.ui.card a {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.ui.card:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
.ui.card:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Cards
|
||||
---------------*/
|
||||
|
||||
.ui.cards {
|
||||
display: @groupDisplay;
|
||||
margin: @groupMargin;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.ui.cards > .card {
|
||||
display: @groupCardDisplay;
|
||||
margin: @groupCardMargin;
|
||||
float: @groupCardFloat;
|
||||
}
|
||||
|
||||
/* Clearing */
|
||||
.ui.cards:after,
|
||||
.ui.card:after {
|
||||
display: block;
|
||||
content: ' ';
|
||||
height: 0;
|
||||
clear: both;
|
||||
overflow: hidden;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
|
||||
/* Consecutive Card Groups Preserve Row Spacing */
|
||||
.ui.cards ~ .ui.cards {
|
||||
margin-top: @consecutiveGroupDistance;
|
||||
}
|
||||
|
||||
|
||||
/*--------------
|
||||
Rounded Edges
|
||||
---------------*/
|
||||
|
||||
.ui.cards > .card > :first-child,
|
||||
.ui.card > :first-child {
|
||||
border-radius: @borderRadius @borderRadius 0 0 !important;
|
||||
border-top: none !important;
|
||||
}
|
||||
|
||||
.ui.cards > .card > :last-child,
|
||||
.ui.card > :last-child {
|
||||
border-radius: 0 0 @borderRadius @borderRadius !important;
|
||||
}
|
||||
|
||||
.ui.cards > .card > :only-child,
|
||||
.ui.card > :only-child {
|
||||
border-radius: @borderRadius !important;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Images
|
||||
---------------*/
|
||||
|
||||
.ui.cards > .card > .image,
|
||||
.ui.card > .image {
|
||||
position: relative;
|
||||
display: block;
|
||||
flex: 0 0 auto;
|
||||
padding: @imagePadding;
|
||||
background: @imageBackground;
|
||||
}
|
||||
.ui.cards > .card > .image > img,
|
||||
.ui.card > .image > img {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
border-radius: inherit;
|
||||
}
|
||||
.ui.cards > .card > .image:not(.ui) > img,
|
||||
.ui.card > .image:not(.ui) > img {
|
||||
border: @imageBorder;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Content
|
||||
---------------*/
|
||||
|
||||
.ui.cards > .card > .content,
|
||||
.ui.card > .content {
|
||||
flex-grow: 1;
|
||||
border: @contentBorder;
|
||||
border-top: @contentDivider;
|
||||
background: @contentBackground;
|
||||
margin: @contentMargin;
|
||||
padding: @contentPadding;
|
||||
box-shadow: @contentBoxShadow;
|
||||
font-size: @contentFontSize;
|
||||
border-radius: @contentBorderRadius;
|
||||
}
|
||||
|
||||
.ui.cards > .card > .content:after,
|
||||
.ui.card > .content:after {
|
||||
display: block;
|
||||
content: ' ';
|
||||
height: 0;
|
||||
clear: both;
|
||||
overflow: hidden;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.ui.cards > .card > .content > .header,
|
||||
.ui.card > .content > .header {
|
||||
display: block;
|
||||
margin: @headerMargin;
|
||||
font-family: @headerFont;
|
||||
color: @headerColor;
|
||||
}
|
||||
|
||||
/* Default Header Size */
|
||||
.ui.cards > .card > .content > .header:not(.ui),
|
||||
.ui.card > .content > .header:not(.ui) {
|
||||
font-weight: @headerFontWeight;
|
||||
font-size: @headerFontSize;
|
||||
margin-top: @headerLineHeightOffset;
|
||||
line-height: @headerLineHeight;
|
||||
}
|
||||
|
||||
.ui.cards > .card > .content > .meta + .description,
|
||||
.ui.cards > .card > .content > .header + .description,
|
||||
.ui.card > .content > .meta + .description,
|
||||
.ui.card > .content > .header + .description {
|
||||
margin-top: @descriptionDistance;
|
||||
}
|
||||
|
||||
/*----------------
|
||||
Floated Content
|
||||
-----------------*/
|
||||
|
||||
.ui.cards > .card [class*="left floated"],
|
||||
.ui.card [class*="left floated"] {
|
||||
float: left;
|
||||
}
|
||||
.ui.cards > .card [class*="right floated"],
|
||||
.ui.card [class*="right floated"] {
|
||||
float: right;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Aligned
|
||||
---------------*/
|
||||
|
||||
.ui.cards > .card [class*="left aligned"],
|
||||
.ui.card [class*="left aligned"] {
|
||||
text-align: left;
|
||||
}
|
||||
.ui.cards > .card [class*="center aligned"],
|
||||
.ui.card [class*="center aligned"] {
|
||||
text-align: center;
|
||||
}
|
||||
.ui.cards > .card [class*="right aligned"],
|
||||
.ui.card [class*="right aligned"] {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
|
||||
/*--------------
|
||||
Content Image
|
||||
---------------*/
|
||||
|
||||
.ui.cards > .card .content img,
|
||||
.ui.card .content img {
|
||||
display: inline-block;
|
||||
vertical-align: @contentImageVerticalAlign;
|
||||
width: @contentImageWidth;
|
||||
}
|
||||
.ui.cards > .card img.avatar,
|
||||
.ui.cards > .card .avatar img,
|
||||
.ui.card img.avatar,
|
||||
.ui.card .avatar img {
|
||||
width: @avatarSize;
|
||||
height: @avatarSize;
|
||||
border-radius: @avatarBorderRadius;
|
||||
}
|
||||
|
||||
|
||||
/*--------------
|
||||
Description
|
||||
---------------*/
|
||||
|
||||
.ui.cards > .card > .content > .description,
|
||||
.ui.card > .content > .description {
|
||||
clear: both;
|
||||
color: @descriptionColor;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Paragraph
|
||||
---------------*/
|
||||
|
||||
.ui.cards > .card > .content p,
|
||||
.ui.card > .content p {
|
||||
margin: 0 0 @paragraphDistance;
|
||||
}
|
||||
.ui.cards > .card > .content p:last-child,
|
||||
.ui.card > .content p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Meta
|
||||
---------------*/
|
||||
|
||||
.ui.cards > .card .meta,
|
||||
.ui.card .meta {
|
||||
font-size: @metaFontSize;
|
||||
color: @metaColor;
|
||||
}
|
||||
.ui.cards > .card .meta *,
|
||||
.ui.card .meta * {
|
||||
margin-right: @metaSpacing;
|
||||
}
|
||||
.ui.cards > .card .meta :last-child,
|
||||
.ui.card .meta :last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.ui.cards > .card .meta [class*="right floated"],
|
||||
.ui.card .meta [class*="right floated"] {
|
||||
margin-right: 0;
|
||||
margin-left: @metaSpacing;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Links
|
||||
---------------*/
|
||||
|
||||
/* Generic */
|
||||
.ui.cards > .card > .content a:not(.ui),
|
||||
.ui.card > .content a:not(.ui) {
|
||||
color: @contentLinkColor;
|
||||
transition: @contentLinkTransition;
|
||||
}
|
||||
.ui.cards > .card > .content a:not(.ui):hover,
|
||||
.ui.card > .content a:not(.ui):hover {
|
||||
color: @contentLinkHoverColor;
|
||||
}
|
||||
|
||||
/* Header */
|
||||
.ui.cards > .card > .content > a.header,
|
||||
.ui.card > .content > a.header {
|
||||
color: @headerLinkColor;
|
||||
}
|
||||
.ui.cards > .card > .content > a.header:hover,
|
||||
.ui.card > .content > a.header:hover {
|
||||
color: @headerLinkHoverColor;
|
||||
}
|
||||
|
||||
/* Meta */
|
||||
.ui.cards > .card .meta > a:not(.ui),
|
||||
.ui.card .meta > a:not(.ui) {
|
||||
color: @metaLinkColor;
|
||||
}
|
||||
.ui.cards > .card .meta > a:not(.ui):hover,
|
||||
.ui.card .meta > a:not(.ui):hover {
|
||||
color: @metaLinkHoverColor;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Buttons
|
||||
---------------*/
|
||||
|
||||
.ui.cards > .card > .buttons,
|
||||
.ui.card > .buttons,
|
||||
.ui.cards > .card > .button,
|
||||
.ui.card > .button {
|
||||
margin: @buttonMargin;
|
||||
width: @buttonWidth;
|
||||
&:last-child {
|
||||
margin-bottom: -@borderWidth;
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Dimmer
|
||||
---------------*/
|
||||
|
||||
.ui.cards > .card .dimmer,
|
||||
.ui.card .dimmer {
|
||||
background-color: @dimmerColor;
|
||||
z-index: @dimmerZIndex;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Labels
|
||||
---------------*/
|
||||
|
||||
/*-----Star----- */
|
||||
|
||||
/* Icon */
|
||||
.ui.cards > .card > .content .star.icon,
|
||||
.ui.card > .content .star.icon {
|
||||
cursor: pointer;
|
||||
opacity: @actionOpacity;
|
||||
transition: @actionTransition;
|
||||
}
|
||||
.ui.cards > .card > .content .star.icon:hover,
|
||||
.ui.card > .content .star.icon:hover {
|
||||
opacity: @actionHoverOpacity;
|
||||
color: @starColor;
|
||||
}
|
||||
.ui.cards > .card > .content .active.star.icon,
|
||||
.ui.card > .content .active.star.icon {
|
||||
color: @starActiveColor;
|
||||
}
|
||||
|
||||
/*-----Like----- */
|
||||
|
||||
/* Icon */
|
||||
.ui.cards > .card > .content .like.icon,
|
||||
.ui.card > .content .like.icon {
|
||||
cursor: pointer;
|
||||
opacity: @actionOpacity;
|
||||
transition: @actionTransition;
|
||||
}
|
||||
.ui.cards > .card > .content .like.icon:hover,
|
||||
.ui.card > .content .like.icon:hover {
|
||||
opacity: @actionHoverOpacity;
|
||||
color: @likeColor;
|
||||
}
|
||||
.ui.cards > .card > .content .active.like.icon,
|
||||
.ui.card > .content .active.like.icon {
|
||||
color: @likeActiveColor;
|
||||
}
|
||||
|
||||
/*----------------
|
||||
Extra Content
|
||||
-----------------*/
|
||||
|
||||
.ui.cards > .card > .extra,
|
||||
.ui.card > .extra {
|
||||
max-width: 100%;
|
||||
min-height: 0 !important;
|
||||
flex-grow: 0;
|
||||
border-top: @extraDivider !important;
|
||||
position: @extraPosition;
|
||||
background: @extraBackground;
|
||||
width: @extraWidth;
|
||||
margin: @extraMargin;
|
||||
padding: @extraPadding;
|
||||
top: @extraTop;
|
||||
left: @extraLeft;
|
||||
color: @extraColor;
|
||||
box-shadow: @extraBoxShadow;
|
||||
transition: @extraTransition;
|
||||
}
|
||||
.ui.cards > .card > .extra a:not(.ui),
|
||||
.ui.card > .extra a:not(.ui) {
|
||||
color: @extraLinkColor;
|
||||
}
|
||||
.ui.cards > .card > .extra a:not(.ui):hover,
|
||||
.ui.card > .extra a:not(.ui):hover {
|
||||
color: @extraLinkHoverColor;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
& when (@variationCardHorizontal) {
|
||||
/*-------------------
|
||||
Horizontal
|
||||
--------------------*/
|
||||
|
||||
.ui.horizontal.cards > .card,
|
||||
.ui.card.horizontal {
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
min-width: @horizontalMinWidth;
|
||||
width: @horizontalWidth;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.ui.horizontal.cards > .card > .image,
|
||||
.ui.card.horizontal > .image {
|
||||
border-radius: @defaultBorderRadius 0 0 @defaultBorderRadius;
|
||||
width: @horizontalImageWidth;
|
||||
}
|
||||
|
||||
.ui.horizontal.cards > .card > .image > img,
|
||||
.ui.card.horizontal > .image > img {
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
display: -webkit-box;
|
||||
display: -moz-box;
|
||||
display: -ms-flexbox;
|
||||
display: -webkit-flex;
|
||||
display: flex;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: @defaultBorderRadius 0 0 @defaultBorderRadius;
|
||||
}
|
||||
.ui.horizontal.cards > .card > .image:last-child > img,
|
||||
.ui.card.horizontal > .image:last-child > img {
|
||||
border-radius: 0 @defaultBorderRadius @defaultBorderRadius 0;
|
||||
}
|
||||
.ui.horizontal.cards > .card > .content, .ui.horizontal.card > .content {
|
||||
flex-basis: 1px;
|
||||
}
|
||||
.ui.horizontal.cards > .card > .extra, .ui.horizontal.card > .extra {
|
||||
flex-basis: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationCardRaised) {
|
||||
/*-------------------
|
||||
Raised
|
||||
--------------------*/
|
||||
|
||||
.ui.raised.cards > .card,
|
||||
.ui.raised.card {
|
||||
box-shadow: @raisedShadow;
|
||||
}
|
||||
& when (@variationCardLink) {
|
||||
.ui.raised.cards a.card:hover,
|
||||
.ui.link.cards .raised.card:hover,
|
||||
a.ui.raised.card:hover,
|
||||
.ui.link.raised.card:hover {
|
||||
box-shadow: @raisedShadowHover;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationCardCentered) {
|
||||
/*-------------------
|
||||
Centered
|
||||
--------------------*/
|
||||
|
||||
.ui.centered.cards {
|
||||
justify-content: center;
|
||||
}
|
||||
.ui.centered.card {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationCardFluid) {
|
||||
/*-------------------
|
||||
Fluid
|
||||
--------------------*/
|
||||
|
||||
.ui.fluid.card {
|
||||
width: 100%;
|
||||
max-width: 9999px;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationCardLink) {
|
||||
/*-------------------
|
||||
Link
|
||||
--------------------*/
|
||||
|
||||
.ui.cards a.card,
|
||||
.ui.link.cards .card,
|
||||
a.ui.card,
|
||||
.ui.link.card {
|
||||
transform: none;
|
||||
}
|
||||
|
||||
|
||||
.ui.cards a.card:hover,
|
||||
.ui.link.cards .card:not(.icon):hover,
|
||||
a.ui.card:hover,
|
||||
.ui.link.card:hover {
|
||||
cursor: pointer;
|
||||
z-index: @linkHoverZIndex;
|
||||
background: @linkHoverBackground;
|
||||
border: @linkHoverBorder;
|
||||
box-shadow: @linkHoverBoxShadow;
|
||||
transform: @linkHoverTransform;
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------
|
||||
Colors
|
||||
--------------------*/
|
||||
|
||||
each(@colors,{
|
||||
@color: replace(@key,'@','');
|
||||
@c: @colors[@@color][color];
|
||||
@h: @colors[@@color][hover];
|
||||
@l: @colors[@@color][light];
|
||||
@lh: @colors[@@color][lightHover];
|
||||
|
||||
.ui.@{color}.cards > .card,
|
||||
.ui.cards > .@{color}.card,
|
||||
.ui.@{color}.card {
|
||||
box-shadow:
|
||||
@borderShadow,
|
||||
0 @coloredShadowDistance 0 0 @c,
|
||||
@shadowBoxShadow
|
||||
;
|
||||
&:hover {
|
||||
box-shadow:
|
||||
@borderShadow,
|
||||
0 @coloredShadowDistance 0 0 @h,
|
||||
@shadowHoverBoxShadow
|
||||
;
|
||||
}
|
||||
}
|
||||
& when (@variationCardInverted) {
|
||||
.ui.inverted.@{color}.cards > .card,
|
||||
.ui.inverted.cards > .@{color}.card,
|
||||
.ui.inverted.@{color}.card {
|
||||
box-shadow:
|
||||
0 @shadowDistance 3px 0 @solidWhiteBorderColor,
|
||||
0 @coloredShadowDistance 0 0 @l,
|
||||
0 0 0 @borderWidth @solidWhiteBorderColor
|
||||
;
|
||||
&:hover {
|
||||
box-shadow:
|
||||
0 @shadowDistance 3px 0 @solidWhiteBorderColor,
|
||||
0 @coloredShadowDistance 0 0 @lh,
|
||||
0 0 0 @borderWidth @solidWhiteBorderColor
|
||||
;
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
/*--------------
|
||||
Card Count
|
||||
---------------*/
|
||||
|
||||
.ui.one.cards {
|
||||
margin-left: @oneCardOffset;
|
||||
margin-right: @oneCardOffset;
|
||||
}
|
||||
.ui.one.cards > .card {
|
||||
width: @oneCard;
|
||||
}
|
||||
|
||||
.ui.two.cards {
|
||||
margin-left: @twoCardOffset;
|
||||
margin-right: @twoCardOffset;
|
||||
}
|
||||
.ui.two.cards > .card {
|
||||
width: @twoCard;
|
||||
margin-left: @twoCardSpacing;
|
||||
margin-right: @twoCardSpacing;
|
||||
}
|
||||
|
||||
.ui.three.cards {
|
||||
margin-left: @threeCardOffset;
|
||||
margin-right: @threeCardOffset;
|
||||
}
|
||||
.ui.three.cards > .card {
|
||||
width: @threeCard;
|
||||
margin-left: @threeCardSpacing;
|
||||
margin-right: @threeCardSpacing;
|
||||
}
|
||||
|
||||
.ui.four.cards {
|
||||
margin-left: @fourCardOffset;
|
||||
margin-right: @fourCardOffset;
|
||||
}
|
||||
.ui.four.cards > .card {
|
||||
width: @fourCard;
|
||||
margin-left: @fourCardSpacing;
|
||||
margin-right: @fourCardSpacing;
|
||||
}
|
||||
|
||||
.ui.five.cards {
|
||||
margin-left: @fiveCardOffset;
|
||||
margin-right: @fiveCardOffset;
|
||||
}
|
||||
.ui.five.cards > .card {
|
||||
width: @fiveCard;
|
||||
margin-left: @fiveCardSpacing;
|
||||
margin-right: @fiveCardSpacing;
|
||||
}
|
||||
|
||||
.ui.six.cards {
|
||||
margin-left: @sixCardOffset;
|
||||
margin-right: @sixCardOffset;
|
||||
}
|
||||
.ui.six.cards > .card {
|
||||
width: @sixCard;
|
||||
margin-left: @sixCardSpacing;
|
||||
margin-right: @sixCardSpacing;
|
||||
}
|
||||
|
||||
.ui.seven.cards {
|
||||
margin-left: @sevenCardOffset;
|
||||
margin-right: @sevenCardOffset;
|
||||
}
|
||||
.ui.seven.cards > .card {
|
||||
width: @sevenCard;
|
||||
margin-left: @sevenCardSpacing;
|
||||
margin-right: @sevenCardSpacing;
|
||||
}
|
||||
|
||||
.ui.eight.cards {
|
||||
margin-left: @eightCardOffset;
|
||||
margin-right: @eightCardOffset;
|
||||
}
|
||||
.ui.eight.cards > .card {
|
||||
width: @eightCard;
|
||||
margin-left: @eightCardSpacing;
|
||||
margin-right: @eightCardSpacing;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.ui.nine.cards {
|
||||
margin-left: @nineCardOffset;
|
||||
margin-right: @nineCardOffset;
|
||||
}
|
||||
.ui.nine.cards > .card {
|
||||
width: @nineCard;
|
||||
margin-left: @nineCardSpacing;
|
||||
margin-right: @nineCardSpacing;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.ui.ten.cards {
|
||||
margin-left: @tenCardOffset;
|
||||
margin-right: @tenCardOffset;
|
||||
}
|
||||
.ui.ten.cards > .card {
|
||||
width: @tenCard;
|
||||
margin-left: @tenCardSpacing;
|
||||
margin-right: @tenCardSpacing;
|
||||
}
|
||||
|
||||
& when (@variationCardDoubling) {
|
||||
/*-------------------
|
||||
Doubling
|
||||
--------------------*/
|
||||
|
||||
/* Mobile Only */
|
||||
@media only screen and (max-width : @largestMobileScreen) {
|
||||
.ui.two.doubling.cards {
|
||||
margin-left: @oneCardOffset;
|
||||
margin-right: @oneCardOffset;
|
||||
}
|
||||
.ui.two.doubling.cards > .card {
|
||||
width: @oneCard;
|
||||
margin-left: @oneCardSpacing;
|
||||
margin-right: @oneCardSpacing;
|
||||
}
|
||||
.ui.three.doubling.cards {
|
||||
margin-left: @twoCardOffset;
|
||||
margin-right: @twoCardOffset;
|
||||
}
|
||||
.ui.three.doubling.cards > .card {
|
||||
width: @twoCard;
|
||||
margin-left: @twoCardSpacing;
|
||||
margin-right: @twoCardSpacing;
|
||||
}
|
||||
.ui.four.doubling.cards {
|
||||
margin-left: @twoCardOffset;
|
||||
margin-right: @twoCardOffset;
|
||||
}
|
||||
.ui.four.doubling.cards > .card {
|
||||
width: @twoCard;
|
||||
margin-left: @twoCardSpacing;
|
||||
margin-right: @twoCardSpacing;
|
||||
}
|
||||
.ui.five.doubling.cards {
|
||||
margin-left: @twoCardOffset;
|
||||
margin-right: @twoCardOffset;
|
||||
}
|
||||
.ui.five.doubling.cards > .card {
|
||||
width: @twoCard;
|
||||
margin-left: @twoCardSpacing;
|
||||
margin-right: @twoCardSpacing;
|
||||
}
|
||||
.ui.six.doubling.cards {
|
||||
margin-left: @twoCardOffset;
|
||||
margin-right: @twoCardOffset;
|
||||
}
|
||||
.ui.six.doubling.cards > .card {
|
||||
width: @twoCard;
|
||||
margin-left: @twoCardSpacing;
|
||||
margin-right: @twoCardSpacing;
|
||||
}
|
||||
.ui.seven.doubling.cards {
|
||||
margin-left: @threeCardOffset;
|
||||
margin-right: @threeCardOffset;
|
||||
}
|
||||
.ui.seven.doubling.cards > .card {
|
||||
width: @threeCard;
|
||||
margin-left: @threeCardSpacing;
|
||||
margin-right: @threeCardSpacing;
|
||||
}
|
||||
.ui.eight.doubling.cards {
|
||||
margin-left: @threeCardOffset;
|
||||
margin-right: @threeCardOffset;
|
||||
}
|
||||
.ui.eight.doubling.cards > .card {
|
||||
width: @threeCard;
|
||||
margin-left: @threeCardSpacing;
|
||||
margin-right: @threeCardSpacing;
|
||||
}
|
||||
.ui.nine.doubling.cards {
|
||||
margin-left: @threeCardOffset;
|
||||
margin-right: @threeCardOffset;
|
||||
}
|
||||
.ui.nine.doubling.cards > .card {
|
||||
width: @threeCard;
|
||||
margin-left: @threeCardSpacing;
|
||||
margin-right: @threeCardSpacing;
|
||||
}
|
||||
.ui.ten.doubling.cards {
|
||||
margin-left: @threeCardOffset;
|
||||
margin-right: @threeCardOffset;
|
||||
}
|
||||
.ui.ten.doubling.cards > .card {
|
||||
width: @threeCard;
|
||||
margin-left: @threeCardSpacing;
|
||||
margin-right: @threeCardSpacing;
|
||||
}
|
||||
}
|
||||
|
||||
/* Tablet Only */
|
||||
@media only screen and (min-width : @tabletBreakpoint) and (max-width : @largestTabletScreen) {
|
||||
.ui.two.doubling.cards {
|
||||
margin-left: @oneCardOffset;
|
||||
margin-right: @oneCardOffset;
|
||||
}
|
||||
.ui.two.doubling.cards > .card {
|
||||
width: @oneCard;
|
||||
margin-left: @oneCardSpacing;
|
||||
margin-right: @oneCardSpacing;
|
||||
}
|
||||
.ui.three.doubling.cards {
|
||||
margin-left: @twoCardOffset;
|
||||
margin-right: @twoCardOffset;
|
||||
}
|
||||
.ui.three.doubling.cards > .card {
|
||||
width: @twoCard;
|
||||
margin-left: @twoCardSpacing;
|
||||
margin-right: @twoCardSpacing;
|
||||
}
|
||||
.ui.four.doubling.cards {
|
||||
margin-left: @twoCardOffset;
|
||||
margin-right: @twoCardOffset;
|
||||
}
|
||||
.ui.four.doubling.cards > .card {
|
||||
width: @twoCard;
|
||||
margin-left: @twoCardSpacing;
|
||||
margin-right: @twoCardSpacing;
|
||||
}
|
||||
.ui.five.doubling.cards {
|
||||
margin-left: @threeCardOffset;
|
||||
margin-right: @threeCardOffset;
|
||||
}
|
||||
.ui.five.doubling.cards > .card {
|
||||
width: @threeCard;
|
||||
margin-left: @threeCardSpacing;
|
||||
margin-right: @threeCardSpacing;
|
||||
}
|
||||
.ui.six.doubling.cards {
|
||||
margin-left: @threeCardOffset;
|
||||
margin-right: @threeCardOffset;
|
||||
}
|
||||
.ui.six.doubling.cards > .card {
|
||||
width: @threeCard;
|
||||
margin-left: @threeCardSpacing;
|
||||
margin-right: @threeCardSpacing;
|
||||
}
|
||||
.ui.eight.doubling.cards {
|
||||
margin-left: @threeCardOffset;
|
||||
margin-right: @threeCardOffset;
|
||||
}
|
||||
.ui.eight.doubling.cards > .card {
|
||||
width: @threeCard;
|
||||
margin-left: @threeCardSpacing;
|
||||
margin-right: @threeCardSpacing;
|
||||
}
|
||||
.ui.eight.doubling.cards {
|
||||
margin-left: @fourCardOffset;
|
||||
margin-right: @fourCardOffset;
|
||||
}
|
||||
.ui.eight.doubling.cards > .card {
|
||||
width: @fourCard;
|
||||
margin-left: @fourCardSpacing;
|
||||
margin-right: @fourCardSpacing;
|
||||
}
|
||||
.ui.nine.doubling.cards {
|
||||
margin-left: @fourCardOffset;
|
||||
margin-right: @fourCardOffset;
|
||||
}
|
||||
.ui.nine.doubling.cards > .card {
|
||||
width: @fourCard;
|
||||
margin-left: @fourCardSpacing;
|
||||
margin-right: @fourCardSpacing;
|
||||
}
|
||||
.ui.ten.doubling.cards {
|
||||
margin-left: @fiveCardOffset;
|
||||
margin-right: @fiveCardOffset;
|
||||
}
|
||||
.ui.ten.doubling.cards > .card {
|
||||
width: @fiveCard;
|
||||
margin-left: @fiveCardSpacing;
|
||||
margin-right: @fiveCardSpacing;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationCardStackable) {
|
||||
/*-------------------
|
||||
Stackable
|
||||
--------------------*/
|
||||
|
||||
@media only screen and (max-width : @largestMobileScreen) {
|
||||
.ui.stackable.cards {
|
||||
display: block !important;
|
||||
}
|
||||
.ui.stackable.cards .card:first-child {
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
.ui.stackable.cards > .card {
|
||||
display: block !important;
|
||||
height: auto !important;
|
||||
margin: @stackableRowSpacing @stackableCardSpacing;
|
||||
padding: 0 !important;
|
||||
width: @stackableMargin !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Size
|
||||
---------------*/
|
||||
|
||||
.ui.cards > .card {
|
||||
font-size: @medium;
|
||||
}
|
||||
& when not (@variationCardSizes = false) {
|
||||
each(@variationCardSizes, {
|
||||
@s: @@value;
|
||||
.ui.@{value}.cards .card {
|
||||
font-size: @s;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
& when (@variationCardInverted) {
|
||||
/*-----------------
|
||||
Inverted
|
||||
------------------*/
|
||||
|
||||
.ui.inverted.cards > .card,
|
||||
.ui.inverted.card {
|
||||
background: @invertedBackground;
|
||||
box-shadow: @invertedBoxShadow;
|
||||
}
|
||||
|
||||
/* Content */
|
||||
.ui.inverted.cards > .card > .content,
|
||||
.ui.inverted.card > .content {
|
||||
border-top: @invertedContentDivider;
|
||||
}
|
||||
|
||||
/* Header */
|
||||
.ui.inverted.cards > .card > .content > .header,
|
||||
.ui.inverted.card > .content > .header {
|
||||
color: @invertedHeaderColor;
|
||||
}
|
||||
|
||||
/* Description */
|
||||
.ui.inverted.cards > .card > .content > .description,
|
||||
.ui.inverted.card > .content > .description {
|
||||
color: @invertedDescriptionColor;
|
||||
}
|
||||
|
||||
/* Meta */
|
||||
.ui.inverted.cards > .card .meta,
|
||||
.ui.inverted.card .meta {
|
||||
color: @invertedMetaColor;
|
||||
}
|
||||
.ui.inverted.cards > .card .meta > a:not(.ui),
|
||||
.ui.inverted.card .meta > a:not(.ui) {
|
||||
color: @invertedMetaLinkColor;
|
||||
}
|
||||
.ui.inverted.cards > .card .meta > a:not(.ui):hover,
|
||||
.ui.inverted.card .meta > a:not(.ui):hover {
|
||||
color: @invertedMetaLinkHoverColor;
|
||||
}
|
||||
|
||||
/* Extra */
|
||||
.ui.inverted.cards > .card > .extra,
|
||||
.ui.inverted.card > .extra {
|
||||
border-top: @invertedExtraDivider !important;
|
||||
color: @invertedExtraColor;
|
||||
}
|
||||
.ui.inverted.cards > .card > .extra a:not(.ui),
|
||||
.ui.inverted.card > .extra a:not(.ui) {
|
||||
color: @invertedExtraLinkColor;
|
||||
}
|
||||
.ui.inverted.cards > .card > .extra a:not(.ui):hover,
|
||||
.ui.inverted.card > .extra a:not(.ui):hover {
|
||||
color: @extraLinkHoverColor;
|
||||
}
|
||||
|
||||
/* Link card(s) */
|
||||
.ui.inverted.cards a.card:hover,
|
||||
.ui.inverted.link.cards .card:not(.icon):hover,
|
||||
a.inverted.ui.card:hover,
|
||||
.ui.inverted.link.card:hover {
|
||||
background: @invertedLinkHoverBackground;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.loadUIOverrides();
|
||||
291
assets/semantic-ui/definitions/views/comment.less
Normal file
291
assets/semantic-ui/definitions/views/comment.less
Normal file
|
|
@ -0,0 +1,291 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Comment
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'view';
|
||||
@element : 'comment';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Standard
|
||||
*******************************/
|
||||
|
||||
|
||||
/*--------------
|
||||
Comments
|
||||
---------------*/
|
||||
|
||||
.ui.comments {
|
||||
margin: @margin;
|
||||
max-width: @maxWidth;
|
||||
}
|
||||
|
||||
.ui.comments:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
.ui.comments:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Comment
|
||||
---------------*/
|
||||
|
||||
.ui.comments .comment {
|
||||
position: relative;
|
||||
background: @commentBackground;
|
||||
margin: @commentMargin;
|
||||
padding: @commentPadding;
|
||||
border: @commentBorder;
|
||||
border-top: @commentDivider;
|
||||
line-height: @commentLineHeight;
|
||||
}
|
||||
.ui.comments .comment:first-child {
|
||||
margin-top: @firstCommentMargin;
|
||||
padding-top: @firstCommentPadding;
|
||||
}
|
||||
|
||||
|
||||
/*--------------------
|
||||
Nested Comments
|
||||
---------------------*/
|
||||
|
||||
.ui.comments .comment > .comments {
|
||||
margin: @nestedCommentsMargin;
|
||||
padding: @nestedCommentsPadding;
|
||||
}
|
||||
.ui.comments .comment > .comments:before{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
.ui.comments .comment > .comments .comment {
|
||||
border: @nestedCommentBorder;
|
||||
border-top: @nestedCommentDivider;
|
||||
background: @nestedCommentBackground;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Avatar
|
||||
---------------*/
|
||||
|
||||
.ui.comments .comment .avatar {
|
||||
display: @avatarDisplay;
|
||||
width: @avatarWidth;
|
||||
height: @avatarHeight;
|
||||
float: @avatarFloat;
|
||||
margin: @avatarMargin;
|
||||
}
|
||||
.ui.comments .comment img.avatar,
|
||||
.ui.comments .comment .avatar img {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: @avatarBorderRadius;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Content
|
||||
---------------*/
|
||||
|
||||
.ui.comments .comment > .content {
|
||||
display: block;
|
||||
}
|
||||
/* If there is an avatar move content over */
|
||||
.ui.comments .comment > .avatar ~ .content {
|
||||
margin-left: @contentMargin;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Author
|
||||
---------------*/
|
||||
|
||||
.ui.comments .comment .author {
|
||||
font-size: @authorFontSize;
|
||||
color: @authorColor;
|
||||
font-weight: @authorFontWeight;
|
||||
}
|
||||
.ui.comments .comment a.author {
|
||||
cursor: pointer;
|
||||
}
|
||||
.ui.comments .comment a.author:hover {
|
||||
color: @authorHoverColor;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Metadata
|
||||
---------------*/
|
||||
|
||||
.ui.comments .comment .metadata {
|
||||
display: @metadataDisplay;
|
||||
margin-left: @metadataSpacing;
|
||||
color: @metadataColor;
|
||||
font-size: @metadataFontSize;
|
||||
}
|
||||
.ui.comments .comment .metadata > * {
|
||||
display: inline-block;
|
||||
margin: 0 @metadataContentSpacing 0 0;
|
||||
}
|
||||
.ui.comments .comment .metadata > :last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
/*--------------------
|
||||
Comment Text
|
||||
---------------------*/
|
||||
|
||||
.ui.comments .comment .text {
|
||||
margin: @textMargin;
|
||||
font-size: @textFontSize;
|
||||
word-wrap: @textWordWrap;
|
||||
color: @textColor;
|
||||
line-height: @textLineHeight;
|
||||
}
|
||||
|
||||
|
||||
/*--------------------
|
||||
User Actions
|
||||
---------------------*/
|
||||
|
||||
.ui.comments .comment .actions {
|
||||
font-size: @actionFontSize;
|
||||
}
|
||||
.ui.comments .comment .actions a {
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
margin: 0 @actionContentDistance 0 0;
|
||||
color: @actionLinkColor;
|
||||
}
|
||||
.ui.comments .comment .actions a:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
.ui.comments .comment .actions a.active,
|
||||
.ui.comments .comment .actions a:hover {
|
||||
color: @actionLinkHoverColor;
|
||||
}
|
||||
|
||||
/*--------------------
|
||||
Reply Form
|
||||
---------------------*/
|
||||
|
||||
.ui.comments > .reply.form {
|
||||
margin-top: @replyDistance;
|
||||
}
|
||||
.ui.comments .comment .reply.form {
|
||||
width: 100%;
|
||||
margin-top: @commentReplyDistance;
|
||||
}
|
||||
.ui.comments .reply.form textarea {
|
||||
font-size: @replyFontSize;
|
||||
height: @replyHeight;
|
||||
}
|
||||
|
||||
/*******************************
|
||||
State
|
||||
*******************************/
|
||||
|
||||
.ui.collapsed.comments,
|
||||
.ui.comments .collapsed.comments,
|
||||
.ui.comments .collapsed.comment {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
& when (@variationCommentThreaded) {
|
||||
/*--------------------
|
||||
Threaded
|
||||
---------------------*/
|
||||
|
||||
.ui.threaded.comments .comment > .comments {
|
||||
margin: @threadedCommentMargin;
|
||||
padding: @threadedCommentPadding;
|
||||
box-shadow: @threadedCommentBoxShadow;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationCommentMinimal) {
|
||||
/*--------------------
|
||||
Minimal
|
||||
---------------------*/
|
||||
|
||||
.ui.minimal.comments .comment .actions {
|
||||
opacity: 0;
|
||||
position: @minimalActionPosition;
|
||||
top: @minimalActionTop;
|
||||
right: @minimalActionRight;
|
||||
left: @minimalActionLeft;
|
||||
transition: @minimalTransition;
|
||||
transition-delay: @minimalTransitionDelay;
|
||||
}
|
||||
.ui.minimal.comments .comment > .content:hover > .actions {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*-------------------
|
||||
Sizes
|
||||
--------------------*/
|
||||
|
||||
.ui.comments {
|
||||
font-size: @medium;
|
||||
}
|
||||
& when not (@variationCommentSizes = false) {
|
||||
each(@variationCommentSizes, {
|
||||
@s: @@value;
|
||||
.ui.@{value}.comments {
|
||||
font-size: @s;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
& when (@variationCommentInverted) {
|
||||
/*-------------------
|
||||
Inverted
|
||||
--------------------*/
|
||||
.ui.inverted.comments .comment {
|
||||
background-color: @black;
|
||||
}
|
||||
|
||||
.ui.inverted.comments .comment .author,
|
||||
.ui.inverted.comments .comment .text {
|
||||
color: @invertedTextColor;
|
||||
}
|
||||
|
||||
.ui.inverted.comments .comment .metadata,
|
||||
.ui.inverted.comments .comment .actions a {
|
||||
color: @invertedLightTextColor;
|
||||
}
|
||||
|
||||
.ui.inverted.comments .comment a.author:hover,
|
||||
.ui.inverted.comments .comment .actions a.active,
|
||||
.ui.inverted.comments .comment .actions a:hover {
|
||||
color: @invertedHoveredTextColor;
|
||||
}
|
||||
& when (@variationCommentThreaded) {
|
||||
.ui.inverted.threaded.comments .comment > .comments {
|
||||
box-shadow: -1px 0 0 @solidWhiteBorderColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.loadUIOverrides();
|
||||
304
assets/semantic-ui/definitions/views/feed.less
Normal file
304
assets/semantic-ui/definitions/views/feed.less
Normal file
|
|
@ -0,0 +1,304 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Feed
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'view';
|
||||
@element : 'feed';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Activity Feed
|
||||
*******************************/
|
||||
|
||||
.ui.feed {
|
||||
margin: @margin;
|
||||
}
|
||||
.ui.feed:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
.ui.feed:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Content
|
||||
*******************************/
|
||||
|
||||
/* Event */
|
||||
.ui.feed > .event {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
width: @eventWidth;
|
||||
padding: @eventPadding;
|
||||
margin: @eventMargin;
|
||||
background: @eventBackground;
|
||||
border-top: @eventDivider;
|
||||
}
|
||||
.ui.feed > .event:first-child {
|
||||
border-top: 0;
|
||||
padding-top: 0;
|
||||
}
|
||||
.ui.feed > .event:last-child {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
/* Event Label */
|
||||
.ui.feed > .event > .label {
|
||||
display: block;
|
||||
flex: 0 0 auto;
|
||||
width: @labelWidth;
|
||||
height: @labelHeight;
|
||||
align-self: @labelAlignSelf;
|
||||
text-align: @labelTextAlign;
|
||||
}
|
||||
.ui.feed > .event > .label .icon {
|
||||
opacity: @iconLabelOpacity;
|
||||
font-size: @iconLabelSize;
|
||||
width: @iconLabelWidth;
|
||||
padding: @iconLabelPadding;
|
||||
background: @iconLabelBackground;
|
||||
border: @iconLabelBorder;
|
||||
border-radius: @iconLabelBorderRadius;
|
||||
color: @iconLabelColor;
|
||||
}
|
||||
.ui.feed > .event > .label img {
|
||||
width: @imageLabelWidth;
|
||||
height: @imageLabelHeight;
|
||||
border-radius: @imageLabelBorderRadius;
|
||||
}
|
||||
.ui.feed > .event > .label + .content {
|
||||
margin: @labeledContentMargin;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Content
|
||||
---------------*/
|
||||
|
||||
/* Content */
|
||||
.ui.feed > .event > .content {
|
||||
display: block;
|
||||
flex: 1 1 auto;
|
||||
align-self: @contentAlignSelf;
|
||||
text-align: @contentTextAlign;
|
||||
word-wrap: @contentWordWrap;
|
||||
}
|
||||
.ui.feed > .event:last-child > .content {
|
||||
padding-bottom: @lastLabeledContentPadding;
|
||||
}
|
||||
|
||||
/* Link */
|
||||
.ui.feed > .event > .content a {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Date
|
||||
---------------*/
|
||||
|
||||
.ui.feed > .event > .content .date {
|
||||
margin: @dateMargin;
|
||||
padding: @datePadding;
|
||||
color: @dateColor;
|
||||
font-weight: @dateFontWeight;
|
||||
font-size: @dateFontSize;
|
||||
font-style: @dateFontStyle;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Summary
|
||||
---------------*/
|
||||
|
||||
.ui.feed > .event > .content .summary {
|
||||
margin: @summaryMargin;
|
||||
font-size: @summaryFontSize;
|
||||
font-weight: @summaryFontWeight;
|
||||
color: @summaryColor;
|
||||
}
|
||||
|
||||
/* Summary Image */
|
||||
.ui.feed > .event > .content .summary img {
|
||||
display: inline-block;
|
||||
width: @summaryImageWidth;
|
||||
height: @summaryImageHeight;
|
||||
margin: @summaryImageMargin;
|
||||
border-radius: @summaryImageBorderRadius;
|
||||
vertical-align: @summaryImageVerticalAlign;
|
||||
}
|
||||
/*--------------
|
||||
User
|
||||
---------------*/
|
||||
|
||||
.ui.feed > .event > .content .user {
|
||||
display: inline-block;
|
||||
font-weight: @userFontWeight;
|
||||
margin-right: @userDistance;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
.ui.feed > .event > .content .user img {
|
||||
margin: @userImageMargin;
|
||||
width: @userImageWidth;
|
||||
height: @userImageHeight;
|
||||
vertical-align: @userImageVerticalAlign;
|
||||
}
|
||||
/*--------------
|
||||
Inline Date
|
||||
---------------*/
|
||||
|
||||
/* Date inside Summary */
|
||||
.ui.feed > .event > .content .summary > .date {
|
||||
display: @summaryDateDisplay;
|
||||
float: @summaryDateFloat;
|
||||
font-weight: @summaryDateFontWeight;
|
||||
font-size: @summaryDateFontSize;
|
||||
font-style: @summaryDateFontStyle;
|
||||
margin: @summaryDateMargin;
|
||||
padding: @summaryDatePadding;
|
||||
color: @summaryDateColor;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Extra Summary
|
||||
---------------*/
|
||||
|
||||
.ui.feed > .event > .content .extra {
|
||||
margin: @extraMargin;
|
||||
background: @extraBackground;
|
||||
padding: @extraPadding;
|
||||
color: @extraColor;
|
||||
}
|
||||
|
||||
/* Images */
|
||||
.ui.feed > .event > .content .extra.images img {
|
||||
display: inline-block;
|
||||
margin: @extraImageMargin;
|
||||
width: @extraImageWidth;
|
||||
}
|
||||
|
||||
/* Text */
|
||||
.ui.feed > .event > .content .extra.text {
|
||||
padding: @extraTextPadding;
|
||||
border-left: @extraTextPointer;
|
||||
font-size: @extraTextFontSize;
|
||||
max-width: @extraTextMaxWidth;
|
||||
line-height: @extraTextLineHeight;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Meta
|
||||
---------------*/
|
||||
|
||||
.ui.feed > .event > .content .meta {
|
||||
display: @metadataDisplay;
|
||||
font-size: @metadataFontSize;
|
||||
margin: @metadataMargin;
|
||||
background: @metadataBackground;
|
||||
border: @metadataBorder;
|
||||
border-radius: @metadataBorderRadius;
|
||||
box-shadow: @metadataBoxShadow;
|
||||
padding: @metadataPadding;
|
||||
color: @metadataColor;
|
||||
}
|
||||
|
||||
.ui.feed > .event > .content .meta > * {
|
||||
position: relative;
|
||||
margin-left: @metadataElementSpacing;
|
||||
}
|
||||
.ui.feed > .event > .content .meta > *:after {
|
||||
content: @metadataDivider;
|
||||
color: @metadataDividerColor;
|
||||
top: 0;
|
||||
left: @metadataDividerOffset;
|
||||
opacity: 1;
|
||||
position: absolute;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.ui.feed > .event > .content .meta .like {
|
||||
color: @likeColor;
|
||||
transition: @likeTransition;
|
||||
}
|
||||
.ui.feed > .event > .content .meta .like:hover .icon {
|
||||
color: @likeHoverColor;
|
||||
}
|
||||
.ui.feed > .event > .content .meta .active.like .icon {
|
||||
color: @likeActiveColor;
|
||||
}
|
||||
|
||||
/* First element */
|
||||
.ui.feed > .event > .content .meta > :first-child {
|
||||
margin-left: 0;
|
||||
}
|
||||
.ui.feed > .event > .content .meta > :first-child::after {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Action */
|
||||
.ui.feed > .event > .content .meta a,
|
||||
.ui.feed > .event > .content .meta > .icon {
|
||||
cursor: @metadataActionCursor;
|
||||
opacity: @metadataActionOpacity;
|
||||
color: @metadataActionColor;
|
||||
transition: @metadataActionTransition;
|
||||
}
|
||||
.ui.feed > .event > .content .meta a:hover,
|
||||
.ui.feed > .event > .content .meta a:hover .icon,
|
||||
.ui.feed > .event > .content .meta > .icon:hover {
|
||||
color: @metadataActionHoverColor;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
.ui.feed {
|
||||
font-size: @medium;
|
||||
}
|
||||
& when not (@variationFeedSizes = false) {
|
||||
each(@variationFeedSizes, {
|
||||
@s: @@value;
|
||||
.ui.@{value}.feed {
|
||||
font-size: @s;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
& when (@variationFeedInverted) {
|
||||
/*------------------
|
||||
Inverted
|
||||
-------------------*/
|
||||
|
||||
.ui.inverted.feed > .event {
|
||||
background: @black;
|
||||
}
|
||||
|
||||
.ui.inverted.feed > .event > .content .date,
|
||||
.ui.inverted.feed > .event > .content .meta .like {
|
||||
color: @invertedLightTextColor;
|
||||
}
|
||||
|
||||
.ui.inverted.feed > .event > .content .summary,
|
||||
.ui.inverted.feed > .event > .content .extra.text {
|
||||
color: @invertedTextColor;
|
||||
}
|
||||
|
||||
.ui.inverted.feed > .event > .content .meta .like:hover {
|
||||
color: @invertedSelectedTextColor;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.loadUIOverrides();
|
||||
559
assets/semantic-ui/definitions/views/item.less
Normal file
559
assets/semantic-ui/definitions/views/item.less
Normal file
|
|
@ -0,0 +1,559 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Item
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'view';
|
||||
@element : 'item';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Standard
|
||||
*******************************/
|
||||
|
||||
/*--------------
|
||||
Item
|
||||
---------------*/
|
||||
|
||||
.ui.items > .item {
|
||||
display: @display;
|
||||
margin: @itemSpacing 0;
|
||||
width: @width;
|
||||
min-height: @minHeight;
|
||||
background: @background;
|
||||
padding: @padding;
|
||||
|
||||
border: @border;
|
||||
border-radius: @borderRadius;
|
||||
box-shadow: @boxShadow;
|
||||
transition: @transition;
|
||||
z-index: @zIndex;
|
||||
}
|
||||
.ui.items > .item a {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Items
|
||||
---------------*/
|
||||
|
||||
.ui.items {
|
||||
margin: @groupMargin;
|
||||
}
|
||||
|
||||
.ui.items:first-child {
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
.ui.items:last-child {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Item
|
||||
---------------*/
|
||||
|
||||
.ui.items > .item:after {
|
||||
display: block;
|
||||
content: ' ';
|
||||
height: 0;
|
||||
clear: both;
|
||||
overflow: hidden;
|
||||
visibility: hidden;
|
||||
}
|
||||
.ui.items > .item:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
.ui.items > .item:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*--------------
|
||||
Images
|
||||
---------------*/
|
||||
|
||||
.ui.items > .item > .image {
|
||||
position: relative;
|
||||
flex: 0 0 auto;
|
||||
display: @imageDisplay;
|
||||
float: @imageFloat;
|
||||
margin: @imageMargin;
|
||||
padding: @imagePadding;
|
||||
max-height: @imageMaxHeight;
|
||||
align-self: @imageVerticalAlign;
|
||||
}
|
||||
.ui.items > .item > .image > img {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
border-radius: @imageBorderRadius;
|
||||
border: @imageBorder;
|
||||
}
|
||||
|
||||
.ui.items > .item > .image:only-child > img {
|
||||
border-radius: @borderRadius;
|
||||
}
|
||||
|
||||
|
||||
/*--------------
|
||||
Content
|
||||
---------------*/
|
||||
|
||||
.ui.items > .item > .content {
|
||||
display: block;
|
||||
flex: 1 1 auto;
|
||||
background: @contentBackground;
|
||||
color: @contentColor;
|
||||
margin: @contentMargin;
|
||||
padding: @contentPadding;
|
||||
box-shadow: @contentBoxShadow;
|
||||
font-size: @contentFontSize;
|
||||
border: @contentBorder;
|
||||
border-radius: @contentBorderRadius;
|
||||
}
|
||||
.ui.items > .item > .content:after {
|
||||
display: block;
|
||||
content: ' ';
|
||||
height: 0;
|
||||
clear: both;
|
||||
overflow: hidden;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.ui.items > .item > .image + .content {
|
||||
min-width: 0;
|
||||
width: @contentWidth;
|
||||
display: @contentDisplay;
|
||||
margin-left: @contentOffset;
|
||||
align-self: @contentVerticalAlign;
|
||||
padding-left: @contentImageDistance;
|
||||
}
|
||||
|
||||
.ui.items > .item > .content > .header {
|
||||
display: inline-block;
|
||||
margin: @headerMargin;
|
||||
font-family: @headerFont;
|
||||
font-weight: @headerFontWeight;
|
||||
color: @headerColor;
|
||||
}
|
||||
/* Default Header Size */
|
||||
.ui.items > .item > .content > .header:not(.ui) {
|
||||
font-size: @headerFontSize;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Floated
|
||||
---------------*/
|
||||
|
||||
.ui.items > .item [class*="left floated"] {
|
||||
float: left;
|
||||
}
|
||||
.ui.items > .item [class*="right floated"] {
|
||||
float: right;
|
||||
}
|
||||
|
||||
|
||||
/*--------------
|
||||
Content Image
|
||||
---------------*/
|
||||
|
||||
.ui.items > .item .content img {
|
||||
align-self: @contentImageVerticalAlign;
|
||||
width: @contentImageWidth;
|
||||
}
|
||||
.ui.items > .item img.avatar,
|
||||
.ui.items > .item .avatar img {
|
||||
width: @avatarSize;
|
||||
height: @avatarSize;
|
||||
border-radius: @avatarBorderRadius;
|
||||
}
|
||||
|
||||
|
||||
/*--------------
|
||||
Description
|
||||
---------------*/
|
||||
|
||||
.ui.items > .item > .content > .description {
|
||||
margin-top: @descriptionDistance;
|
||||
max-width: @descriptionMaxWidth;
|
||||
font-size: @descriptionFontSize;
|
||||
line-height: @descriptionLineHeight;
|
||||
color: @descriptionColor;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Paragraph
|
||||
---------------*/
|
||||
|
||||
.ui.items > .item > .content p {
|
||||
margin: 0 0 @paragraphDistance;
|
||||
}
|
||||
.ui.items > .item > .content p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Meta
|
||||
---------------*/
|
||||
|
||||
.ui.items > .item .meta {
|
||||
margin: @metaMargin;
|
||||
font-size: @metaFontSize;
|
||||
line-height: @metaLineHeight;
|
||||
color: @metaColor;
|
||||
}
|
||||
.ui.items > .item .meta * {
|
||||
margin-right: @metaSpacing;
|
||||
}
|
||||
.ui.items > .item .meta :last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.ui.items > .item .meta [class*="right floated"] {
|
||||
margin-right: 0;
|
||||
margin-left: @metaSpacing;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Links
|
||||
---------------*/
|
||||
|
||||
/* Generic */
|
||||
.ui.items > .item > .content a:not(.ui) {
|
||||
color: @contentLinkColor;
|
||||
transition: @contentLinkTransition;
|
||||
}
|
||||
.ui.items > .item > .content a:not(.ui):hover {
|
||||
color: @contentLinkHoverColor;
|
||||
}
|
||||
|
||||
/* Header */
|
||||
.ui.items > .item > .content > a.header {
|
||||
color: @headerLinkColor;
|
||||
}
|
||||
.ui.items > .item > .content > a.header:hover {
|
||||
color: @headerLinkHoverColor;
|
||||
}
|
||||
|
||||
/* Meta */
|
||||
.ui.items > .item .meta > a:not(.ui) {
|
||||
color: @metaLinkColor;
|
||||
}
|
||||
.ui.items > .item .meta > a:not(.ui):hover {
|
||||
color: @metaLinkHoverColor;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*--------------
|
||||
Labels
|
||||
---------------*/
|
||||
|
||||
/*-----Star----- */
|
||||
|
||||
/* Icon */
|
||||
.ui.items > .item > .content .favorite.icon {
|
||||
cursor: pointer;
|
||||
opacity: @actionOpacity;
|
||||
transition: @actionTransition;
|
||||
}
|
||||
.ui.items > .item > .content .favorite.icon:hover {
|
||||
opacity: @actionHoverOpacity;
|
||||
color: @favoriteColor;
|
||||
}
|
||||
.ui.items > .item > .content .active.favorite.icon {
|
||||
color: @favoriteActiveColor;
|
||||
}
|
||||
|
||||
/*-----Like----- */
|
||||
|
||||
/* Icon */
|
||||
.ui.items > .item > .content .like.icon {
|
||||
cursor: pointer;
|
||||
opacity: @actionOpacity;
|
||||
transition: @actionTransition;
|
||||
}
|
||||
.ui.items > .item > .content .like.icon:hover {
|
||||
opacity: @actionHoverOpacity;
|
||||
color: @likeColor;
|
||||
}
|
||||
.ui.items > .item > .content .active.like.icon {
|
||||
color: @likeActiveColor;
|
||||
}
|
||||
|
||||
/*----------------
|
||||
Extra Content
|
||||
-----------------*/
|
||||
|
||||
.ui.items > .item .extra {
|
||||
display: @extraDisplay;
|
||||
position: @extraPosition;
|
||||
background: @extraBackground;
|
||||
margin: @extraMargin;
|
||||
width: @extraWidth;
|
||||
padding: @extraPadding;
|
||||
top: @extraTop;
|
||||
left: @extraLeft;
|
||||
color: @extraColor;
|
||||
box-shadow: @extraBoxShadow;
|
||||
transition: @extraTransition;
|
||||
border-top: @extraDivider;
|
||||
}
|
||||
.ui.items > .item .extra > * {
|
||||
margin: (@extraRowSpacing / 2) @extraHorizontalSpacing (@extraRowSpacing / 2) 0;
|
||||
}
|
||||
.ui.items > .item .extra > [class*="right floated"] {
|
||||
margin: (@extraRowSpacing / 2) 0 (@extraRowSpacing / 2) @extraHorizontalSpacing;
|
||||
}
|
||||
|
||||
.ui.items > .item .extra:after {
|
||||
display: block;
|
||||
content: ' ';
|
||||
height: 0;
|
||||
clear: both;
|
||||
overflow: hidden;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Responsive
|
||||
*******************************/
|
||||
|
||||
/* Default Image Width */
|
||||
.ui.items > .item > .image:not(.ui) {
|
||||
width: @imageWidth;
|
||||
}
|
||||
|
||||
|
||||
/* Tablet Only */
|
||||
@media only screen and (min-width: @tabletBreakpoint) and (max-width: @largestTabletScreen) {
|
||||
.ui.items > .item {
|
||||
margin: @tabletItemSpacing 0;
|
||||
}
|
||||
.ui.items > .item > .image:not(.ui) {
|
||||
width: @tabletImageWidth;
|
||||
}
|
||||
.ui.items > .item > .image + .content {
|
||||
display: block;
|
||||
padding: 0 0 0 @tabletContentImageDistance;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* Mobile Only */
|
||||
@media only screen and (max-width: @largestMobileScreen) {
|
||||
.ui.items:not(.unstackable) > .item {
|
||||
flex-direction: column;
|
||||
margin: @mobileItemSpacing 0;
|
||||
}
|
||||
.ui.items:not(.unstackable) > .item > .image {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
.ui.items:not(.unstackable) > .item > .image,
|
||||
.ui.items:not(.unstackable) > .item > .image > img {
|
||||
max-width: 100% !important;
|
||||
width: @mobileImageWidth !important;
|
||||
max-height: @mobileImageMaxHeight !important;
|
||||
}
|
||||
.ui.items:not(.unstackable) > .item > .image + .content {
|
||||
display: block;
|
||||
padding: @mobileContentImageDistance 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
& when (@variationItemAligned) {
|
||||
/*-------------------
|
||||
Aligned
|
||||
--------------------*/
|
||||
|
||||
.ui.items > .item > .image + [class*="top aligned"].content {
|
||||
align-self: flex-start;
|
||||
}
|
||||
.ui.items > .item > .image + [class*="middle aligned"].content {
|
||||
align-self: center;
|
||||
}
|
||||
.ui.items > .item > .image + [class*="bottom aligned"].content {
|
||||
align-self: flex-end;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationItemRelaxed) {
|
||||
/*--------------
|
||||
Relaxed
|
||||
---------------*/
|
||||
|
||||
.ui.relaxed.items > .item {
|
||||
margin: @relaxedItemSpacing 0;
|
||||
}
|
||||
.ui[class*="very relaxed"].items > .item {
|
||||
margin: @veryRelaxedItemSpacing 0;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationItemDivided) {
|
||||
/*-------------------
|
||||
Divided
|
||||
--------------------*/
|
||||
|
||||
.ui.divided.items > .item {
|
||||
border-top: @dividedBorder;
|
||||
margin: @dividedMargin;
|
||||
padding: @dividedPadding;
|
||||
}
|
||||
.ui.divided.items > .item:first-child {
|
||||
border-top: none;
|
||||
margin-top: @dividedFirstLastMargin !important;
|
||||
padding-top: @dividedFirstLastPadding !important;
|
||||
}
|
||||
.ui.divided.items > .item:last-child {
|
||||
margin-bottom: @dividedFirstLastMargin !important;
|
||||
padding-bottom: @dividedFirstLastPadding !important;
|
||||
}
|
||||
& when (@variationItemRelaxed) {
|
||||
/* Relaxed Divided */
|
||||
.ui.relaxed.divided.items > .item {
|
||||
margin: 0;
|
||||
padding: @relaxedItemSpacing 0;
|
||||
}
|
||||
.ui[class*="very relaxed"].divided.items > .item {
|
||||
margin: 0;
|
||||
padding: @veryRelaxedItemSpacing 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationItemLink) {
|
||||
/*-------------------
|
||||
Link
|
||||
--------------------*/
|
||||
|
||||
.ui.items a.item:hover,
|
||||
.ui.link.items > .item:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.ui.items a.item:hover .content .header,
|
||||
.ui.link.items > .item:hover .content .header {
|
||||
color: @headerLinkHoverColor;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*--------------
|
||||
Size
|
||||
---------------*/
|
||||
|
||||
.ui.items > .item {
|
||||
font-size: @relativeMedium;
|
||||
}
|
||||
& when not (@variationItemSizes = false) {
|
||||
each(@variationItemSizes, {
|
||||
@s: @{value}ItemSize;
|
||||
.ui.@{value}.items > .item {
|
||||
font-size: @@s;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
& when (@variationItemUnstackable) {
|
||||
/*---------------
|
||||
Unstackable
|
||||
----------------*/
|
||||
|
||||
@media only screen and (max-width: @largestMobileScreen) {
|
||||
.ui.unstackable.items > .item > .image,
|
||||
.ui.unstackable.items > .item > .image > img {
|
||||
width: @unstackableMobileImageWidth !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationItemInverted) {
|
||||
/*--------------
|
||||
Inverted
|
||||
---------------*/
|
||||
|
||||
.ui.inverted.items > .item {
|
||||
background: @invertedBackground;
|
||||
}
|
||||
.ui.inverted.items > .item > .content {
|
||||
background: @invertedContentBackground;
|
||||
color: @invertedContentColor;
|
||||
}
|
||||
.ui.inverted.items > .item .extra {
|
||||
background: @invertedExtraBackground;
|
||||
}
|
||||
.ui.inverted.items > .item > .content > .header {
|
||||
color: @invertedHeaderColor;
|
||||
}
|
||||
.ui.inverted.items > .item > .content > .description {
|
||||
color: @invertedDescriptionColor;
|
||||
}
|
||||
.ui.inverted.items > .item .meta {
|
||||
color: @invertedMetaColor;
|
||||
}
|
||||
.ui.inverted.items > .item > .content a:not(.ui) {
|
||||
color: @invertedContentLinkColor;
|
||||
}
|
||||
.ui.inverted.items > .item > .content a:not(.ui):hover {
|
||||
color: @invertedContentLinkHoverColor;
|
||||
}
|
||||
.ui.inverted.items > .item > .content > a.header {
|
||||
color: @invertedHeaderLinkColor;
|
||||
}
|
||||
.ui.inverted.items > .item > .content > a.header:hover {
|
||||
color: @invertedHeaderLinkHoverColor;
|
||||
}
|
||||
.ui.inverted.items > .item .meta > a:not(.ui) {
|
||||
color: @invertedMetaLinkColor;
|
||||
}
|
||||
.ui.inverted.items > .item .meta > a:not(.ui):hover {
|
||||
color: @invertedMetaLinkHoverColor;
|
||||
}
|
||||
.ui.inverted.items > .item > .content .favorite.icon:hover {
|
||||
color: @invertedFavoriteColor;
|
||||
}
|
||||
.ui.inverted.items > .item > .content .active.favorite.icon {
|
||||
color: @invertedFavoriteActiveColor;
|
||||
}
|
||||
.ui.inverted.items > .item > .content .like.icon:hover {
|
||||
color: @invertedLikeColor;
|
||||
}
|
||||
.ui.inverted.items > .item > .content .active.like.icon {
|
||||
color: @invertedLikeActiveColor;
|
||||
}
|
||||
.ui.inverted.items > .item .extra {
|
||||
color: @invertedExtraColor;
|
||||
}
|
||||
.ui.inverted.items a.item:hover .content .header,
|
||||
.ui.inverted.link.items > .item:hover .content .header {
|
||||
color: @invertedHeaderLinkHoverColor;
|
||||
}
|
||||
.ui.inverted.divided.items > .item {
|
||||
border-top: @invertedDividedBorder;
|
||||
}
|
||||
.ui.inverted.divided.items > .item:first-child {
|
||||
border-top: none;
|
||||
}
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
421
assets/semantic-ui/definitions/views/statistic.less
Normal file
421
assets/semantic-ui/definitions/views/statistic.less
Normal file
|
|
@ -0,0 +1,421 @@
|
|||
/*!
|
||||
* # Fomantic-UI - Statistic
|
||||
* http://github.com/fomantic/Fomantic-UI/
|
||||
*
|
||||
*
|
||||
* Released under the MIT license
|
||||
* http://opensource.org/licenses/MIT
|
||||
*
|
||||
*/
|
||||
|
||||
/*******************************
|
||||
Theme
|
||||
*******************************/
|
||||
|
||||
@type : 'view';
|
||||
@element : 'statistic';
|
||||
|
||||
@import (multiple) '../../theme.config';
|
||||
|
||||
/*******************************
|
||||
Statistic
|
||||
*******************************/
|
||||
|
||||
/* Standalone */
|
||||
.ui.statistic {
|
||||
display: inline-flex;
|
||||
flex-direction: column;
|
||||
margin: @margin;
|
||||
max-width: @maxWidth;
|
||||
}
|
||||
|
||||
.ui.statistic + .ui.statistic {
|
||||
margin: 0 0 0 @horizontalSpacing;
|
||||
}
|
||||
|
||||
.ui.statistic:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
.ui.statistic:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************
|
||||
Group
|
||||
*******************************/
|
||||
|
||||
/* Grouped */
|
||||
.ui.statistics {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.ui.statistics > .statistic {
|
||||
display: inline-flex;
|
||||
flex: 0 1 auto;
|
||||
flex-direction: column;
|
||||
margin: @elementMargin;
|
||||
max-width: @elementMaxWidth;
|
||||
}
|
||||
.ui.statistics {
|
||||
display: flex;
|
||||
margin: @groupMargin;
|
||||
}
|
||||
|
||||
/* Clearing */
|
||||
.ui.statistics:after {
|
||||
display: block;
|
||||
content: ' ';
|
||||
height: 0;
|
||||
clear: both;
|
||||
overflow: hidden;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.ui.statistics:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
Content
|
||||
*******************************/
|
||||
|
||||
|
||||
/*--------------
|
||||
Value
|
||||
---------------*/
|
||||
|
||||
.ui.statistics .statistic > .value,
|
||||
.ui.statistic > .value {
|
||||
font-family: @valueFont;
|
||||
font-size: @valueSize;
|
||||
font-weight: @valueFontWeight;
|
||||
line-height: @valueLineHeight;
|
||||
color: @valueColor;
|
||||
text-transform: @valueTextTransform;
|
||||
text-align: @textAlign;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Label
|
||||
---------------*/
|
||||
|
||||
.ui.statistics .statistic > .label,
|
||||
.ui.statistic > .label {
|
||||
font-family: @labelFont;
|
||||
font-size: @labelSize;
|
||||
font-weight: @labelFontWeight;
|
||||
color: @labelColor;
|
||||
text-transform: @labelTextTransform;
|
||||
text-align: @textAlign;
|
||||
}
|
||||
|
||||
/* Top Label */
|
||||
.ui.statistics .statistic > .label ~ .value,
|
||||
.ui.statistic > .label ~ .value {
|
||||
margin-top: @topLabelDistance;
|
||||
}
|
||||
|
||||
/* Bottom Label */
|
||||
.ui.statistics .statistic > .value ~ .label,
|
||||
.ui.statistic > .value ~ .label {
|
||||
margin-top: @bottomLabelDistance;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************
|
||||
Types
|
||||
*******************************/
|
||||
|
||||
/*--------------
|
||||
Icon Value
|
||||
---------------*/
|
||||
|
||||
.ui.statistics .statistic > .value .icon,
|
||||
.ui.statistic > .value .icon {
|
||||
opacity: 1;
|
||||
width: auto;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Text Value
|
||||
---------------*/
|
||||
|
||||
.ui.statistics .statistic > .text.value,
|
||||
.ui.statistic > .text.value {
|
||||
line-height: @textValueLineHeight;
|
||||
min-height: @textValueMinHeight;
|
||||
font-weight: @textValueFontWeight;
|
||||
text-align: center;
|
||||
}
|
||||
.ui.statistics .statistic > .text.value + .label,
|
||||
.ui.statistic > .text.value + .label {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Image Value
|
||||
---------------*/
|
||||
|
||||
.ui.statistics .statistic > .value img,
|
||||
.ui.statistic > .value img {
|
||||
max-height: @imageHeight;
|
||||
vertical-align: @imageVerticalAlign;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************
|
||||
Variations
|
||||
*******************************/
|
||||
|
||||
|
||||
/*--------------
|
||||
Count
|
||||
---------------*/
|
||||
|
||||
|
||||
.ui.ten.statistics {
|
||||
margin: @itemGroupMargin;
|
||||
}
|
||||
.ui.ten.statistics .statistic {
|
||||
min-width: @tenColumn;
|
||||
margin: @itemMargin;
|
||||
}
|
||||
|
||||
.ui.nine.statistics {
|
||||
margin: @itemGroupMargin;
|
||||
}
|
||||
.ui.nine.statistics .statistic {
|
||||
min-width: @nineColumn;
|
||||
margin: @itemMargin;
|
||||
}
|
||||
|
||||
.ui.eight.statistics {
|
||||
margin: @itemGroupMargin;
|
||||
}
|
||||
.ui.eight.statistics .statistic {
|
||||
min-width: @eightColumn;
|
||||
margin: @itemMargin;
|
||||
}
|
||||
|
||||
.ui.seven.statistics {
|
||||
margin: @itemGroupMargin;
|
||||
}
|
||||
.ui.seven.statistics .statistic {
|
||||
min-width: @sevenColumn;
|
||||
margin: @itemMargin;
|
||||
}
|
||||
|
||||
.ui.six.statistics {
|
||||
margin: @itemGroupMargin;
|
||||
}
|
||||
.ui.six.statistics .statistic {
|
||||
min-width: @sixColumn;
|
||||
margin: @itemMargin;
|
||||
}
|
||||
|
||||
.ui.five.statistics {
|
||||
margin: @itemGroupMargin;
|
||||
}
|
||||
.ui.five.statistics .statistic {
|
||||
min-width: @fiveColumn;
|
||||
margin: @itemMargin;
|
||||
}
|
||||
|
||||
.ui.four.statistics {
|
||||
margin: @itemGroupMargin;
|
||||
}
|
||||
.ui.four.statistics .statistic {
|
||||
min-width: @fourColumn;
|
||||
margin: @itemMargin;
|
||||
}
|
||||
|
||||
.ui.three.statistics {
|
||||
margin: @itemGroupMargin;
|
||||
}
|
||||
.ui.three.statistics .statistic {
|
||||
min-width: @threeColumn;
|
||||
margin: @itemMargin;
|
||||
}
|
||||
|
||||
.ui.two.statistics {
|
||||
margin: @itemGroupMargin;
|
||||
}
|
||||
.ui.two.statistics .statistic {
|
||||
min-width: @twoColumn;
|
||||
margin: @itemMargin;
|
||||
}
|
||||
|
||||
.ui.one.statistics {
|
||||
margin: @itemGroupMargin;
|
||||
}
|
||||
.ui.one.statistics .statistic {
|
||||
min-width: @oneColumn;
|
||||
margin: @itemMargin;
|
||||
}
|
||||
|
||||
|
||||
|
||||
& when (@variationStatisticHorizontal) {
|
||||
/*--------------
|
||||
Horizontal
|
||||
---------------*/
|
||||
|
||||
.ui.horizontal.statistic {
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.ui.horizontal.statistics {
|
||||
flex-direction: column;
|
||||
margin: 0;
|
||||
max-width: none;
|
||||
}
|
||||
.ui.horizontal.statistics .statistic {
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
max-width: none;
|
||||
margin: @horizontalGroupElementMargin;
|
||||
}
|
||||
|
||||
.ui.horizontal.statistic > .text.value,
|
||||
.ui.horizontal.statistics > .statistic > .text.value {
|
||||
min-height: 0 !important;
|
||||
}
|
||||
.ui.horizontal.statistics .statistic > .value .icon,
|
||||
.ui.horizontal.statistic > .value .icon {
|
||||
width: @iconWidth;
|
||||
}
|
||||
|
||||
.ui.horizontal.statistics .statistic > .value,
|
||||
.ui.horizontal.statistic > .value {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.ui.horizontal.statistics .statistic > .label,
|
||||
.ui.horizontal.statistic > .label {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin: 0 0 0 @horizontalLabelDistance;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationStatisticInverted) {
|
||||
/*--------------
|
||||
Inverted
|
||||
---------------*/
|
||||
|
||||
.ui.inverted.statistics .statistic > .value,
|
||||
.ui.inverted.statistic .value {
|
||||
color: @invertedValueColor;
|
||||
}
|
||||
.ui.inverted.statistics .statistic > .label,
|
||||
.ui.inverted.statistic .label {
|
||||
color: @invertedLabelColor;
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Colors
|
||||
---------------*/
|
||||
|
||||
each(@colors,{
|
||||
@color: replace(@key,'@','');
|
||||
@c: @colors[@@color][color];
|
||||
@l: @colors[@@color][light];
|
||||
|
||||
.ui.@{color}.statistics .statistic > .value,
|
||||
.ui.statistics .@{color}.statistic > .value,
|
||||
.ui.@{color}.statistic > .value {
|
||||
color: @c;
|
||||
}
|
||||
& when (@variationStatisticInverted) {
|
||||
.ui.inverted.@{color}.statistics .statistic > .value,
|
||||
.ui.statistics .inverted.@{color}.statistic > .value,
|
||||
.ui.inverted.@{color}.statistic > .value {
|
||||
color: @l;
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
& when (@variationStatisticFloated) {
|
||||
/*--------------
|
||||
Floated
|
||||
---------------*/
|
||||
|
||||
.ui[class*="left floated"].statistic {
|
||||
float: left;
|
||||
margin: @leftFloatedMargin;
|
||||
}
|
||||
.ui[class*="right floated"].statistic {
|
||||
float: right;
|
||||
margin: @rightFloatedMargin;
|
||||
}
|
||||
.ui.floated.statistic:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
& when (@variationStatisticStackable) {
|
||||
/*--------------
|
||||
Stackable
|
||||
---------------*/
|
||||
|
||||
@media only screen and (max-width: @largestMobileScreen) {
|
||||
.ui.stackable.statistics {
|
||||
width: auto;
|
||||
margin-left: 0 !important;
|
||||
margin-right: 0 !important;
|
||||
}
|
||||
.ui.stackable.statistics > .statistic {
|
||||
width: 100% !important;
|
||||
margin: 0 0 !important;
|
||||
padding: (@stackableRowSpacing / 2) (@stackableGutter / 2) !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------
|
||||
Sizes
|
||||
---------------*/
|
||||
|
||||
|
||||
/* Medium */
|
||||
.ui.statistics .statistic > .value,
|
||||
.ui.statistic > .value {
|
||||
font-size: @valueSize;
|
||||
}
|
||||
.ui.horizontal.statistics .statistic > .value,
|
||||
.ui.horizontal.statistic > .value {
|
||||
font-size: @horizontalValueSize;
|
||||
}
|
||||
.ui.statistics .statistic > .text.value,
|
||||
.ui.statistic > .text.value {
|
||||
font-size: @textValueSize;
|
||||
}
|
||||
& when not (@variationStatisticSizes = false) {
|
||||
each(@variationStatisticSizes, {
|
||||
@s: @{value}ValueSize;
|
||||
@hs: @{value}HorizontalValueSize;
|
||||
@ts: @{value}TextValueSize;
|
||||
.ui.@{value}.statistics .statistic > .value,
|
||||
.ui.@{value}.statistic > .value {
|
||||
font-size: @@s;
|
||||
}
|
||||
.ui.@{value}.horizontal.statistics .statistic > .value,
|
||||
.ui.@{value}.horizontal.statistic > .value {
|
||||
font-size: @@hs;
|
||||
}
|
||||
.ui.@{value}.statistics .statistic > .text.value,
|
||||
.ui.@{value}.statistic > .text.value {
|
||||
font-size: @@ts;
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
.loadUIOverrides();
|
||||
19
assets/semantic-ui/package.json
Normal file
19
assets/semantic-ui/package.json
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"name": "fomantic-ui-less",
|
||||
"version": "2.8.6",
|
||||
"title": "Fomantic UI",
|
||||
"description": "LESS only distribution of Fomantic UI",
|
||||
"homepage": "https://fomantic-ui.com",
|
||||
"author": "hammy2899",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/fomantic/Fomantic-UI-LESS.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/fomantic/Fomantic-UI/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"jquery": "^3.4.0"
|
||||
}
|
||||
}
|
||||
72
assets/semantic-ui/semantic.less
Normal file
72
assets/semantic-ui/semantic.less
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
/*
|
||||
|
||||
███████╗███████╗███╗ ███╗ █████╗ ███╗ ██╗████████╗██╗ ██████╗ ██╗ ██╗██╗
|
||||
██╔════╝██╔════╝████╗ ████║██╔══██╗████╗ ██║╚══██╔══╝██║██╔════╝ ██║ ██║██║
|
||||
███████╗█████╗ ██╔████╔██║███████║██╔██╗ ██║ ██║ ██║██║ ██║ ██║██║
|
||||
╚════██║██╔══╝ ██║╚██╔╝██║██╔══██║██║╚██╗██║ ██║ ██║██║ ██║ ██║██║
|
||||
███████║███████╗██║ ╚═╝ ██║██║ ██║██║ ╚████║ ██║ ██║╚██████╗ ╚██████╔╝██║
|
||||
╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝
|
||||
|
||||
Import this file into your LESS project to use Fomantic-UI without build tools
|
||||
*/
|
||||
|
||||
/* Global */
|
||||
& { @import "definitions/globals/reset"; }
|
||||
& { @import "definitions/globals/site"; }
|
||||
|
||||
/* Elements */
|
||||
& { @import "definitions/elements/button"; }
|
||||
& { @import "definitions/elements/container"; }
|
||||
& { @import "definitions/elements/divider"; }
|
||||
& { @import "definitions/elements/emoji"; }
|
||||
& { @import "definitions/elements/flag"; }
|
||||
& { @import "definitions/elements/header"; }
|
||||
& { @import "definitions/elements/icon"; }
|
||||
& { @import "definitions/elements/image"; }
|
||||
& { @import "definitions/elements/input"; }
|
||||
& { @import "definitions/elements/label"; }
|
||||
& { @import "definitions/elements/list"; }
|
||||
& { @import "definitions/elements/loader"; }
|
||||
& { @import "definitions/elements/placeholder"; }
|
||||
& { @import "definitions/elements/rail"; }
|
||||
& { @import "definitions/elements/reveal"; }
|
||||
& { @import "definitions/elements/segment"; }
|
||||
& { @import "definitions/elements/step"; }
|
||||
& { @import "definitions/elements/text"; }
|
||||
|
||||
/* Collections */
|
||||
& { @import "definitions/collections/breadcrumb"; }
|
||||
& { @import "definitions/collections/form"; }
|
||||
& { @import "definitions/collections/grid"; }
|
||||
& { @import "definitions/collections/menu"; }
|
||||
& { @import "definitions/collections/message"; }
|
||||
& { @import "definitions/collections/table"; }
|
||||
|
||||
/* Views */
|
||||
& { @import "definitions/views/ad"; }
|
||||
& { @import "definitions/views/card"; }
|
||||
& { @import "definitions/views/comment"; }
|
||||
& { @import "definitions/views/feed"; }
|
||||
& { @import "definitions/views/item"; }
|
||||
& { @import "definitions/views/statistic"; }
|
||||
|
||||
/* Modules */
|
||||
& { @import "definitions/modules/accordion"; }
|
||||
& { @import "definitions/modules/calendar"; }
|
||||
& { @import "definitions/modules/checkbox"; }
|
||||
& { @import "definitions/modules/dimmer"; }
|
||||
& { @import "definitions/modules/dropdown"; }
|
||||
& { @import "definitions/modules/embed"; }
|
||||
& { @import "definitions/modules/modal"; }
|
||||
& { @import "definitions/modules/nag"; }
|
||||
& { @import "definitions/modules/popup"; }
|
||||
& { @import "definitions/modules/progress"; }
|
||||
& { @import "definitions/modules/slider"; }
|
||||
& { @import "definitions/modules/rating"; }
|
||||
& { @import "definitions/modules/search"; }
|
||||
& { @import "definitions/modules/shape"; }
|
||||
& { @import "definitions/modules/sidebar"; }
|
||||
& { @import "definitions/modules/sticky"; }
|
||||
& { @import "definitions/modules/tab"; }
|
||||
& { @import "definitions/modules/toast"; }
|
||||
& { @import "definitions/modules/transition"; }
|
||||
3
assets/semantic-ui/site/collections/breadcrumb.overrides
Normal file
3
assets/semantic-ui/site/collections/breadcrumb.overrides
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
/*******************************
|
||||
Site Overrides
|
||||
*******************************/
|
||||
3
assets/semantic-ui/site/collections/form.variables
Normal file
3
assets/semantic-ui/site/collections/form.variables
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
/*******************************
|
||||
User Variable Overrides
|
||||
*******************************/
|
||||
3
assets/semantic-ui/site/collections/menu.overrides
Normal file
3
assets/semantic-ui/site/collections/menu.overrides
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
/*******************************
|
||||
Site Overrides
|
||||
*******************************/
|
||||
3
assets/semantic-ui/site/collections/message.overrides
Normal file
3
assets/semantic-ui/site/collections/message.overrides
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
/*******************************
|
||||
Site Overrides
|
||||
*******************************/
|
||||
3
assets/semantic-ui/site/elements/flag.variables
Normal file
3
assets/semantic-ui/site/elements/flag.variables
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
/*-------------------
|
||||
Flag Variables
|
||||
--------------------*/
|
||||
3
assets/semantic-ui/site/globals/reset.variables
Normal file
3
assets/semantic-ui/site/globals/reset.variables
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
/*******************************
|
||||
User Global Variables
|
||||
*******************************/
|
||||
6
assets/semantic-ui/site/globals/site.variables
Normal file
6
assets/semantic-ui/site/globals/site.variables
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
/*******************************
|
||||
User Global Variables
|
||||
*******************************/
|
||||
|
||||
@primaryColor: #002f4e;
|
||||
@pageBackground: cyan;
|
||||
3
assets/semantic-ui/site/modules/accordion.overrides
Normal file
3
assets/semantic-ui/site/modules/accordion.overrides
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
/*******************************
|
||||
User Overrides
|
||||
*******************************/
|
||||
0
assets/semantic-ui/site/modules/embed.variables
Normal file
0
assets/semantic-ui/site/modules/embed.variables
Normal file
99
assets/semantic-ui/theme.config
Normal file
99
assets/semantic-ui/theme.config
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
/*
|
||||
|
||||
████████╗██╗ ██╗███████╗███╗ ███╗███████╗███████╗
|
||||
╚══██╔══╝██║ ██║██╔════╝████╗ ████║██╔════╝██╔════╝
|
||||
██║ ███████║█████╗ ██╔████╔██║█████╗ ███████╗
|
||||
██║ ██╔══██║██╔══╝ ██║╚██╔╝██║██╔══╝ ╚════██║
|
||||
██║ ██║ ██║███████╗██║ ╚═╝ ██║███████╗███████║
|
||||
╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝
|
||||
|
||||
*/
|
||||
|
||||
/*******************************
|
||||
Theme Selection
|
||||
*******************************/
|
||||
|
||||
/* To override a theme for an individual element
|
||||
specify theme name below
|
||||
*/
|
||||
|
||||
/* Global */
|
||||
@site : 'default';
|
||||
@reset : 'default';
|
||||
|
||||
/* Elements */
|
||||
@button : 'default';
|
||||
@container : 'default';
|
||||
@divider : 'default';
|
||||
@emoji : 'default';
|
||||
@flag : 'default';
|
||||
@header : 'default';
|
||||
@icon : 'default';
|
||||
@image : 'default';
|
||||
@input : 'default';
|
||||
@label : 'default';
|
||||
@list : 'default';
|
||||
@loader : 'default';
|
||||
@placeholder: 'default';
|
||||
@rail : 'default';
|
||||
@reveal : 'default';
|
||||
@segment : 'default';
|
||||
@step : 'default';
|
||||
@text : 'default';
|
||||
|
||||
/* Collections */
|
||||
@breadcrumb : 'default';
|
||||
@form : 'default';
|
||||
@grid : 'default';
|
||||
@menu : 'default';
|
||||
@message : 'default';
|
||||
@table : 'default';
|
||||
|
||||
/* Modules */
|
||||
@accordion : 'default';
|
||||
@calendar : 'default';
|
||||
@checkbox : 'default';
|
||||
@dimmer : 'default';
|
||||
@dropdown : 'default';
|
||||
@embed : 'default';
|
||||
@modal : 'default';
|
||||
@nag : 'default';
|
||||
@popup : 'default';
|
||||
@progress : 'default';
|
||||
@slider : 'default';
|
||||
@rating : 'default';
|
||||
@search : 'default';
|
||||
@shape : 'default';
|
||||
@sidebar : 'default';
|
||||
@sticky : 'default';
|
||||
@tab : 'default';
|
||||
@toast : 'default';
|
||||
@transition : 'default';
|
||||
|
||||
/* Views */
|
||||
@ad : 'default';
|
||||
@card : 'default';
|
||||
@comment : 'default';
|
||||
@feed : 'default';
|
||||
@item : 'default';
|
||||
@statistic : 'default';
|
||||
|
||||
/*******************************
|
||||
Folders
|
||||
*******************************/
|
||||
|
||||
/* Path to theme packages */
|
||||
@themesFolder : 'themes';
|
||||
|
||||
/* Path to site override folder */
|
||||
@siteFolder : '../semantic-ui/site';
|
||||
|
||||
|
||||
/*******************************
|
||||
Import Theme
|
||||
*******************************/
|
||||
|
||||
@import (multiple) "theme.less";
|
||||
@fontPath : "../../../themes/@{theme}/assets/fonts";
|
||||
|
||||
/* End Config */
|
||||
77
assets/semantic-ui/theme.less
Normal file
77
assets/semantic-ui/theme.less
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
/*******************************
|
||||
Import Directives
|
||||
*******************************/
|
||||
|
||||
/*------------------
|
||||
Theme
|
||||
-------------------*/
|
||||
|
||||
@theme: @@element;
|
||||
|
||||
/*--------------------
|
||||
Site Variables
|
||||
---------------------*/
|
||||
|
||||
/* Default site.variables */
|
||||
@import "@{themesFolder}/default/globals/site.variables";
|
||||
|
||||
/* Packaged site.variables */
|
||||
@import (optional) "@{themesFolder}/@{site}/globals/site.variables";
|
||||
|
||||
/* Component's site.variables */
|
||||
& when not (@theme = 'default') {
|
||||
@import (optional) "@{themesFolder}/@{theme}/globals/site.variables";
|
||||
}
|
||||
|
||||
/* Site theme site.variables */
|
||||
@import (optional) "@{siteFolder}/globals/site.variables";
|
||||
|
||||
|
||||
/*-------------------
|
||||
Component Variables
|
||||
---------------------*/
|
||||
|
||||
/* Default */
|
||||
@import "@{themesFolder}/default/@{type}s/@{element}.variables";
|
||||
|
||||
/* Packaged Theme */
|
||||
@import (optional) "@{themesFolder}/@{theme}/@{type}s/@{element}.variables";
|
||||
|
||||
/* Site Theme */
|
||||
@import (optional) "@{siteFolder}/@{type}s/@{element}.variables";
|
||||
|
||||
|
||||
/*-------------------------
|
||||
Central Color Map
|
||||
-------------------------*/
|
||||
|
||||
/* Default */
|
||||
@import "@{themesFolder}/default/globals/colors.less";
|
||||
|
||||
/* Site Theme */
|
||||
@import (optional) "@{themesFolder}/@{site}/globals/colors.less";
|
||||
|
||||
|
||||
/*******************************
|
||||
Mix-ins
|
||||
*******************************/
|
||||
|
||||
/*------------------
|
||||
Fonts
|
||||
-------------------*/
|
||||
|
||||
.loadFonts() when (@importGoogleFonts) {
|
||||
@import (css) url('@{googleProtocol}fonts.googleapis.com/css?family=@{googleFontRequest}');
|
||||
}
|
||||
|
||||
/*------------------
|
||||
Overrides
|
||||
-------------------*/
|
||||
|
||||
.loadUIOverrides() {
|
||||
& when not (@theme = 'default') {
|
||||
@import (optional) "@{themesFolder}/default/@{type}s/@{element}.overrides";
|
||||
}
|
||||
@import (optional) "@{themesFolder}/@{theme}/@{type}s/@{element}.overrides";
|
||||
@import (optional) "@{siteFolder}/@{type}s/@{element}.overrides";
|
||||
}
|
||||
46
assets/semantic-ui/themes/amazon/elements/button.overrides
Normal file
46
assets/semantic-ui/themes/amazon/elements/button.overrides
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
.ui.button {
|
||||
background-image: linear-gradient(center top , #F7F8FA, #E7E9EC) repeat scroll 0 0 rgba(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
.ui.primary.button {
|
||||
color: #111111;
|
||||
border: 1px solid;
|
||||
border-color: #C59F43 #AA8326 #957321;
|
||||
}
|
||||
.ui.primary.button:hover {
|
||||
border-color: #C59F43 #AA8326 #957321;
|
||||
color: #111111;
|
||||
}
|
||||
|
||||
.ui.secondary.button {
|
||||
border: 1px solid;
|
||||
border-color: #3D444C #2F353B #2C3137;
|
||||
}
|
||||
.ui.secondary.button:hover {
|
||||
border-color: #32373E #24282D #212429;
|
||||
}
|
||||
|
||||
|
||||
.ui.labeled.icon.buttons .button > .icon,
|
||||
.ui.labeled.icon.button > .icon {
|
||||
padding-bottom: 0.48em;
|
||||
padding-top: 0.48em;
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
width: 2em;
|
||||
height: 2em;
|
||||
top: 0.35em;
|
||||
left: 0.4em;
|
||||
border-radius: 3px;
|
||||
}
|
||||
.ui.right.labeled.icon.buttons .button > .icon,
|
||||
.ui.right.labeled.icon.button > .icon {
|
||||
left: auto;
|
||||
right: 0.4em;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.ui.basic.labeled.icon.buttons .button > .icon,
|
||||
.ui.basic.labeled.icon.button > .icon {
|
||||
padding-top: 0.4em !important;
|
||||
}
|
||||
58
assets/semantic-ui/themes/amazon/elements/button.variables
Normal file
58
assets/semantic-ui/themes/amazon/elements/button.variables
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
/*-------------------
|
||||
Button Variables
|
||||
--------------------*/
|
||||
|
||||
/* Button Variables */
|
||||
@pageFont: Helvetica Neue, Helvetica, Arial, sans-serif;
|
||||
@textTransform: none;
|
||||
@textColor: #111111;
|
||||
@fontWeight: normal;
|
||||
@transition:
|
||||
opacity @defaultDuration @defaultEasing,
|
||||
background-color @defaultDuration @defaultEasing,
|
||||
color @defaultDuration @defaultEasing,
|
||||
background @defaultDuration @defaultEasing
|
||||
;
|
||||
|
||||
@hoverBackgroundColor: #E0E0E0;
|
||||
|
||||
@borderRadius: 3px;
|
||||
@verticalPadding: 0.8em;
|
||||
@horizontalPadding: 1.75em;
|
||||
|
||||
@backgroundColor: #F7F8FA;
|
||||
@backgroundImage: linear-gradient(rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.1));
|
||||
@boxShadow:
|
||||
0 1px 0 1px rgba(255, 255, 255, 0.3) inset,
|
||||
0 0 0 1px #ADB2BB inset
|
||||
;
|
||||
|
||||
@coloredBackgroundImage: linear-gradient(rgba(255, 255, 255, 0.2), rgba(0, 0, 0, 0.2));
|
||||
@coloredBoxShadow:
|
||||
0px 1px 0px 0px rgba(255, 255, 255, 0.2) inset
|
||||
;
|
||||
|
||||
@downBoxShadow:
|
||||
0 0 0 1px #ADB2BB inset,
|
||||
0 1px 3px rgba(0, 0, 0, 0.2) inset
|
||||
;
|
||||
|
||||
@labeledIconBackgroundColor: #313A43;
|
||||
@labeledIconColor: #FFFFFF;
|
||||
@labeledIconBorder: transparent;
|
||||
|
||||
@black: #444C55;
|
||||
@orange: #F4CC67;
|
||||
|
||||
@coloredBackgroundImage: linear-gradient(rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0.1));
|
||||
@primaryColor: @orange;
|
||||
@secondaryColor: @black;
|
||||
|
||||
@mini: 10px;
|
||||
@tiny: 11px;
|
||||
@small: 12px;
|
||||
@medium: 13px;
|
||||
@large: 14px;
|
||||
@big: 16px;
|
||||
@huge: 18px;
|
||||
@massive: 22px;
|
||||
43
assets/semantic-ui/themes/amazon/globals/site.variables
Normal file
43
assets/semantic-ui/themes/amazon/globals/site.variables
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
/*******************************
|
||||
User Global Variables
|
||||
*******************************/
|
||||
|
||||
@pageMinWidth : 1049px;
|
||||
@pageOverflowX : visible;
|
||||
|
||||
@emSize: 13px;
|
||||
@fontSize : 13px;
|
||||
@fontName : 'Arial';
|
||||
@importGoogleFonts : false;
|
||||
|
||||
@h1: 2.25em;
|
||||
|
||||
@defaultBorderRadius: 0.30769em; /* 4px @ 13em */
|
||||
|
||||
@disabledOpacity: 0.3;
|
||||
|
||||
@black: #444C55;
|
||||
@orange: #FDE07B;
|
||||
|
||||
@linkColor: #0066C0;
|
||||
@linkHoverColor: #C45500;
|
||||
@linkHoverUnderline: underline;
|
||||
|
||||
@borderColor: rgba(0, 0, 0, 0.13);
|
||||
@solidBorderColor: #DDDDDD;
|
||||
@internalBorderColor: rgba(0, 0, 0, 0.06);
|
||||
@selectedBorderColor: #51A7E8;
|
||||
|
||||
/* Breakpoints */
|
||||
@largeMonitorBreakpoint: 1049px;
|
||||
@computerBreakpoint: @largeMonitorBreakpoint;
|
||||
@tabletBreakpoint: @largeMonitorBreakpoint;
|
||||
|
||||
/* Colors */
|
||||
@blue: #80A6CD;
|
||||
@green: #60B044;
|
||||
@orange: #D26911;
|
||||
|
||||
|
||||
@infoBackgroundColor: #E6F1F6;
|
||||
@infoTextColor: #4E575B;
|
||||
BIN
assets/semantic-ui/themes/basic/assets/fonts/icons.eot
Normal file
BIN
assets/semantic-ui/themes/basic/assets/fonts/icons.eot
Normal file
Binary file not shown.
450
assets/semantic-ui/themes/basic/assets/fonts/icons.svg
Normal file
450
assets/semantic-ui/themes/basic/assets/fonts/icons.svg
Normal file
|
|
@ -0,0 +1,450 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata>
|
||||
Created by FontForge 20100429 at Thu Sep 20 22:09:47 2012
|
||||
By root
|
||||
Copyright (C) 2012 by original authors @ fontello.com
|
||||
</metadata>
|
||||
<defs>
|
||||
<font id="icons" horiz-adv-x="947" >
|
||||
<font-face
|
||||
font-family="icons"
|
||||
font-weight="500"
|
||||
font-stretch="normal"
|
||||
units-per-em="1000"
|
||||
panose-1="2 0 6 3 0 0 0 0 0 0"
|
||||
ascent="800"
|
||||
descent="-200"
|
||||
bbox="-0.666667 -200.023 1350 801.8"
|
||||
underline-thickness="50"
|
||||
underline-position="-100"
|
||||
unicode-range="U+002B-1F6AB"
|
||||
/>
|
||||
<missing-glyph horiz-adv-x="364"
|
||||
d="M33 0v666h265v-666h-265zM66 33h199v600h-199v-600z" />
|
||||
<glyph glyph-name=".notdef" horiz-adv-x="364"
|
||||
d="M33 0v666h265v-666h-265zM66 33h199v600h-199v-600z" />
|
||||
<glyph glyph-name=".null" horiz-adv-x="0"
|
||||
/>
|
||||
<glyph glyph-name="nonmarkingreturn" horiz-adv-x="333"
|
||||
/>
|
||||
<glyph glyph-name="plus" unicode="+" horiz-adv-x="610"
|
||||
d="M565 350q19 0 24.5 -12.5t5.5 -37.5q0 -17 -1.5 -26t-8.5 -16.5t-20 -7.5h-210v-210q0 -19 -12.5 -24.5t-37.5 -5.5q-17 0 -26 1.5t-16.5 8.5t-7.5 20v210h-210q-19 0 -24.5 12.5t-5.5 37.5q0 17 1.5 26t8.5 16.5t20 7.5h210v210q0 19 12.5 24.5t37.5 5.5q17 0 26 -1.5
|
||||
t16.5 -8.5t7.5 -20v-210h210z" />
|
||||
<glyph glyph-name="hyphen" unicode="-" horiz-adv-x="610"
|
||||
d="M565 350q19 0 24.5 -12.5t5.5 -37.5q0 -17 -1.5 -26t-8.5 -16.5t-20 -7.5h-520q-19 0 -24.5 12.5t-5.5 37.5q0 17 1.5 26t8.5 16.5t20 7.5h520z" />
|
||||
<glyph glyph-name="at" unicode="@" horiz-adv-x="923"
|
||||
d="M849 516q25 -64 25 -138q0 -103 -46 -182q-59 -92 -163 -92q-43 0 -70 21q-21 15 -30 36q-43 -55 -114 -55q-81 0 -122 58q-41 52 -41 141q0 91 48 147q53 64 142 64q52 0 90 -37l7 26h85l-18 -259q-2 -32 9 -44q7 -7 20 -7q35 0 60 34.5t34 73.5t9 75q0 108 -68 176
|
||||
q-75 76 -208 76q-128 0 -214 -76q-102 -92 -102 -245q0 -133 86 -221q81 -82 204 -82q137 0 242 46l15 8v-96l-7 -3q-101 -50 -251 -50q-165 0 -269 97q-123 112 -123 308q0 182 116 294q57 56 133 84q77 31 168 31q178 0 284 -106q46 -44 69 -103zM465 199q46 0 69 40
|
||||
q17 31 17 85q0 45 -16 74q-20 28 -60 28q-44 0 -64 -38q-19 -33 -19 -83q0 -23 4 -43.5t21.5 -41.5t47.5 -21z" />
|
||||
<glyph glyph-name="h" unicode="h" horiz-adv-x="1228"
|
||||
d="M281 54q0 56 32 138q56 164 76 215q31 82 51 144h-25h-31h-26q-51 10 -51 51q0 51 51 51h564q51 0 51 -51q0 -41 -36 -47q-15 -5 -31 -4h-15h-20h-32q11 -41 52 -144q61 -164 77 -210q30 -92 30 -143q0 -46 -40 -87q-31 -31 -87 -31h-461q-51 0 -93 31q-36 46 -36 87z
|
||||
M481 345h318l-67 206h-184z" />
|
||||
<glyph glyph-name="uni2139" unicode="ℹ" horiz-adv-x="490"
|
||||
d="M367 800q48 0 74 -28t26 -70q0 -50 -39 -88t-95 -38q-47 0 -73.5 27t-25.5 73q0 45 36 84.5t97 39.5zM160 -200q-29 0 -45.5 13.5t-22.5 52.5t14 110l60 255q15 57 0 57q-13 0 -54.5 -18t-70.5 -38l-26 44q91 77 190 125t150 48q26 0 38.5 -20t11 -55.5t-14.5 -85.5
|
||||
l-69 -268q-16 -63 5 -63q15 0 49.5 16t69.5 44l30 -41q-84 -86 -175 -131t-140 -45z" />
|
||||
<glyph glyph-name="arrowleft" unicode="←" horiz-adv-x="789"
|
||||
d="M0 329q0 20 15 35l345 346q15 15 35 15t34 -15l52 -52q15 -14 15 -34t-15 -35l-174 -174h433q21 0 35 -14t14 -35v-74q0 -20 -14 -34t-34 -14h-434l174 -174q15 -15 15 -35t-15 -34l-52 -52q-14 -15 -34 -15t-35 15l-345 345q-15 15 -15 35z" />
|
||||
<glyph glyph-name="arrowup" unicode="↑" horiz-adv-x="789"
|
||||
d="M-0.5 329q-0.5 20 14.5 35l346 345q15 15 35 15t34 -15l346 -345q14 -15 14 -35t-14 -35l-52 -51q-15 -15 -34.5 -15t-33.5 15l-175 173v-433q0 -20 -14 -34.5t-34 -14.5h-74q-21 0 -35 14.5t-14 34.5v433l-173 -173q-15 -15 -35 -15t-35 15l-51 51q-15 15 -15.5 35z" />
|
||||
<glyph glyph-name="arrowright" unicode="→" horiz-adv-x="789"
|
||||
d="M0 293v74q0 20 14 34t34 14h434l-174 174q-14 15 -14 35t14 34l52 52q15 15 35 15t34 -15l346 -346q14 -15 14 -34.5t-14 -34.5l-346 -346q-14 -15 -34 -15t-35 15l-52 52q-14 14 -14 34t14 35l174 174h-434q-20 0 -34 14t-14 35z" />
|
||||
<glyph glyph-name="arrowdown" unicode="↓" horiz-adv-x="789"
|
||||
d="M0 328q0 20 15 35l51 51q15 15 35 15t35 -15l173 -173v433q0 20 14.5 34.5t34.5 14.5h74q21 0 34.5 -14.5t13.5 -34.5v-433l175 173q14 15 33.5 15t34.5 -15l53 -51q15 -15 15 -35t-15 -35l-347 -345q-14 -15 -34 -15t-35 15l-345 345q-15 15 -15 35z" />
|
||||
<glyph glyph-name="house" unicode="⌂" horiz-adv-x="930"
|
||||
d="M903 285q16 -16 11 -27.5t-28 -11.5h-83v-308q0 -14 -1.5 -21t-8.5 -13.5t-22 -6.5h-204v310h-204v-310h-195q-19 0 -28.5 6.5t-11 13.5t-1.5 21v308h-83q-23 0 -28 11.5t11 27.5l401 401q16 16 37 16t37 -16z" />
|
||||
<glyph glyph-name="uni25B4" unicode="▴" horiz-adv-x="490"
|
||||
d="M15 100l230 400l230 -400h-460z" />
|
||||
<glyph glyph-name="uni25B8" unicode="▸" horiz-adv-x="430"
|
||||
d="M15 530l400 -230l-400 -230v460z" />
|
||||
<glyph glyph-name="uni25BE" unicode="▾" horiz-adv-x="490"
|
||||
d="M475 500l-230 -400l-230 400h460z" />
|
||||
<glyph glyph-name="uni25C2" unicode="◂" horiz-adv-x="430"
|
||||
d="M415 530v-460l-400 230z" />
|
||||
<glyph glyph-name="uni2601" unicode="☁" horiz-adv-x="1291"
|
||||
d="M1292 155q0 -100 -68 -173.5t-167 -80.5v-1h-783v1q-7 -1 -19 -1q-106 0 -180.5 74.5t-74.5 180.5q0 66 33.5 124.5t90.5 92.5q-7 29 -7 56q0 106 74.5 180.5t180.5 74.5q92 0 167 -63q39 82 116 131t167 49q129 0 221 -92t92 -221q0 -50 -15 -93q77 -26 124.5 -92.5
|
||||
t47.5 -146.5z" />
|
||||
<glyph glyph-name="uni2611" unicode="☑"
|
||||
d="M0 92v474q0 32 12.5 61t33.5 50t50 34t62 13h553q13 0 26 -3l-96 -96h-483q-24 0 -41.5 -17.5t-17.5 -41.5v-474q0 -24 17.5 -41.5t41.5 -17.5h553q24 0 41 17.5t17 41.5v167l99 99v-266q0 -33 -12.5 -61t-34 -50t-50 -34.5t-60.5 -12.5h-553q-33 0 -62 12.5t-50 34.5
|
||||
t-33.5 50t-12.5 61zM198 431q0 17 11 28l51 51q12 12 28.5 12t28.5 -12l175 -175l335 337q12 12 29.5 12t28.5 -12l51 -50q11 -12 11 -29t-11 -28l-365 -366l-51 -50q-12 -12 -28.5 -12t-28.5 12l-51 50l-203 204q-11 11 -11 28z" />
|
||||
<glyph glyph-name="uni2661" unicode="♡" horiz-adv-x="880"
|
||||
d="M795 591q70 -65 70 -156t-70 -156l-355 -330l-355 330q-70 65 -70 156t70 156q62 58 149.5 58t149.5 -58l56 -52l56 52q62 58 149.5 58t149.5 -58zM743 330q42 38 42 105t-37 100q-42 39 -102 39q-49 0 -102 -49l-104 -91l-104 91q-53 49 -102 49q-60 0 -102 -39
|
||||
q-37 -33 -37 -100t42 -105l303 -286z" />
|
||||
<glyph glyph-name="heart" unicode="♥" horiz-adv-x="890"
|
||||
d="M804 591q70 -65 70 -156t-70 -156l-359 -330l-359 330q-70 65 -70 156t70 156q63 58 151 58t151 -58l57 -52l57 52q63 58 151 58t151 -58z" />
|
||||
<glyph glyph-name="uni2691" unicode="⚑"
|
||||
d="M0 645q0 32 23 55.5t56 23.5t56 -23.5t23 -55.5q0 -21 -10.5 -38.5t-28.5 -29.5v-623q0 -8 -6 -14t-14 -6h-40q-8 0 -13.5 6t-5.5 14v623q-18 12 -29 29.5t-11 38.5zM158 148v383q0 17 10 34t25 25q53 28 96.5 44t73.5 23q36 9 64 10q35 0 64 -6t55.5 -15.5t51.5 -21.5
|
||||
l50 -27q33 -14 75 -16q36 -3 84.5 7t106.5 45q14 9 23.5 3.5t9.5 -22.5v-384q0 -16 -9.5 -33.5t-23.5 -25.5q-58 -35 -106.5 -45t-84.5 -8q-42 3 -75 17l-50 27q-25 12 -51.5 21.5t-55.5 15.5t-64 6q-28 -1 -64 -10q-30 -7 -73.5 -23t-96.5 -45q-15 -9 -25 -2.5t-10 23.5z
|
||||
" />
|
||||
<glyph glyph-name="uni2699" unicode="⚙" horiz-adv-x="787"
|
||||
d="M0 271v117q0 7 7 9q20 6 42 9t43 5q4 0 8 0.5t9 1.5l11 29q6 14 14 29l-28 39q-15 20 -32 39q-6 5 0 13q20 24 42 46t46 42q5 5 13 0q11 -12 23.5 -21.5t24.5 -17.5q8 -5 15 -11t15 -11q27 15 58 24q3 30 6 54.5t8 47.5q2 9 10 9h117q9 0 9 -9q4 -20 7 -40l6 -41l3 -21
|
||||
q15 -5 29 -10.5t28 -13.5l14 10l12 10l28 19q13 10 26 22q6 6 12 -1l12 -12q5 -5 11 -10l32 -31l31 -34q4 -7 0 -13q-14 -16 -28 -35l-31 -42q15 -30 25 -61q13 -3 26 -4.5t27 -3.5q11 -2 24 -4l25 -4q7 -2 7 -9v-117q0 -7 -7 -10q-19 -5 -40 -7.5t-42 -4.5q-5 -1 -10 -1.5
|
||||
t-10 -1.5q-5 -15 -11 -29l-13 -29q12 -18 27.5 -38.5t32.5 -39.5q5 -5 0 -13q-40 -49 -89 -88q-5 -5 -12 0q-12 11 -24 20.5t-25 18.5q-7 5 -14.5 11t-14.5 11q-28 -15 -58 -24q-2 -25 -6 -51t-10 -51q-2 -9 -9 -9h-117q-8 0 -10 9q-3 20 -5.5 40t-5.5 41l-3 21l-29 10
|
||||
q-15 5 -28 14l-14 -10l-13 -10q-27 -19 -53 -41q-7 -6 -13 1l-11 11l-12 11l-32 31q-15 16 -30 34q-5 7 0 13q16 19 30 39l29 38q-16 30 -26 61q-12 3 -25 4.5t-26 3.5t-26 3.5t-25 4.5q-7 2 -7 9zM275 329q0 -25 9.5 -46.5t25.5 -37.5t37.5 -25.5t46 -9.5t46 9.5t37.5 25.5
|
||||
t25.5 37.5t9.5 46.5q0 24 -9.5 45.5t-25.5 37.5t-37.5 25.5t-46 9.5t-46 -9.5t-37.5 -25.5t-25.5 -37.5t-9.5 -45.5z" />
|
||||
<glyph glyph-name="uni26A0" unicode="⚠" horiz-adv-x="894"
|
||||
d="M5.5 -41q-14.5 25 6.5 59l387 671q19 35 48 35q28 0 49 -35l387 -671q20 -34 6 -59t-54 -25h-775q-40 0 -54.5 25zM168 53h558l-279 483zM389 391q0 6 4.5 10.5t9.5 4.5h89q5 0 9 -4.5t4 -10.5l-7 -192q0 -12 -14 -12h-73q-14 0 -14 12zM392 133q0 14 13 14h82
|
||||
q14 0 14 -14l1 -51q0 -14 -14 -14h-82q-13 0 -13 14z" />
|
||||
<glyph glyph-name="uni26A1" unicode="⚡" horiz-adv-x="430"
|
||||
d="M55 -150q-4 3 35 92l79 182q40 93 38 99t-94.5 45t-97.5 54q-4 12 84 120.5t179.5 210t96.5 97.5t-74.5 -186t-77.5 -188q1 -3 95 -42.5t97 -56.5q3 -20 -174 -226t-186 -201z" />
|
||||
<glyph glyph-name="uni26EF" unicode="⛯"
|
||||
d="M0 346v88q0 7 5 7q15 4 31 6l32 4q5 0 8 0.5t7 0.5q6 22 18 44q-9 15 -21 30l-24 29q-5 6 0 10q15 18 31.5 35t34.5 32q6 4 10 -1q8 -8 18 -15l18 -14l23 -16q22 11 44 18q2 22 4.5 41t6.5 37q0 5 7 5h88q7 0 7 -6q3 -15 5.5 -30.5t4.5 -31.5l2 -15q21 -7 43 -18l20 15
|
||||
l21 15q10 8 19 16q6 4 10 -1q5 -4 9 -8l9 -9l23 -23l24 -26q3 -6 0 -10q-11 -11 -22 -25l-23 -33q6 -11 11 -23l9 -23q8 -2 18 -3t21 -3l19 -2q9 -1 17 -4q7 -2 7 -7v-88q0 -6 -6 -8q-14 -3 -31 -5l-32 -4q-4 0 -14 -2q-7 -21 -18 -43q9 -15 20.5 -30t24.5 -29q4 -6 0 -10
|
||||
q-15 -18 -31.5 -35t-34.5 -32q-7 -4 -10 1q-8 7 -17.5 14.5t-19.5 13.5q-5 6 -11 9.5t-11 7.5q-22 -11 -44 -18q-2 -18 -4 -38.5t-8 -39.5q-2 -5 -7 -5h-88q-7 0 -7 5q-3 15 -5 31l-4 31l-2 16q-21 7 -43 18l-10 -7q-5 -3 -10 -8l-21 -15q-10 -8 -19 -16q-7 -4 -10 1
|
||||
q-5 4 -8 8l-10 9l-24 22q-12 12 -23 27q-4 4 0 9q12 14 23.5 29.5t20.5 29.5q-10 21 -19 46q-8 2 -18 3t-21 3l-19 2q-9 1 -19 3q-5 3 -5 8zM207 389q0 -37 26.5 -63.5t63.5 -26.5t63 26.5t26 63.5t-26 63t-63 26t-63.5 -26t-26.5 -63zM552 132q-3 6 4 9l22 8q10 4 22 8
|
||||
q1 6 1.5 10t2.5 9.5t3.5 9t4.5 8.5q-8 11 -14 21t-13 20q-3 6 2 9l66 59q4 4 9 1l18 -15l19 -16q19 8 37 9q5 11 11 21.5t11 20.5q3 5 8 3l85 -26q5 -3 5 -9q-2 -11 -4.5 -22.5t-4.5 -22.5q9 -6 15 -13.5t12 -16.5q12 1 23.5 1.5t23.5 0.5q5 0 7 -5l19 -87q2 -5 -4 -8
|
||||
q-11 -5 -21 -9l-23 -7q-1 -6 -1.5 -10t-2.5 -9.5t-4 -9t-4 -7.5l15 -21l12 -20q2 -5 -2 -9l-66 -60q-4 -4 -9 0q-9 8 -18.5 15t-17.5 15q-21 -8 -39 -9l-10 -22l-11 -20q-3 -5 -8 -3l-85 26q-5 3 -5 9q2 11 3.5 23t4.5 23q-15 13 -26 29q-12 -2 -24.5 -3t-23.5 1q-5 0 -8 5z
|
||||
M589 573q0 5 6 8q10 2 20.5 4.5t21.5 4.5q2 4 3 8.5t3 8.5t5 7t5 8q-6 10 -10 20l-8 20q-2 4 2 8l67 44q5 3 9 -1q8 -7 15 -15l14 -16q17 3 35 3q12 19 25 34q3 4 9 3l72 -36q5 -3 3 -9q-2 -10 -5.5 -19.5t-6.5 -20.5q10 -13 19 -30q11 -1 22 -1.5t22 -2.5q5 -2 5 -7l5 -81
|
||||
q0 -4 -5 -6q-10 -2 -20 -5l-22 -5q-2 -4 -3 -7.5t-3 -7.5q-3 -8 -9 -15q6 -11 10 -21t8 -19q2 -5 -3 -8l-66 -45q-6 -3 -9 1q-13 13 -29 32q-9 -2 -18 -3t-18 0q-6 -10 -12 -19l-13 -17q-3 -3 -9 -1l-72 36q-6 2 -3 7l6 21q3 10 7 20q-6 6 -11 13.5t-9 16.5q-11 1 -22 1.5
|
||||
t-22 2.5q-5 0 -5 6zM693 148q-8 -23 3 -44.5t36 -29.5q23 -8 44.5 3t28.5 35q9 23 -2 44.5t-36 30.5q-23 7 -44.5 -4t-29.5 -35zM716.5 528q7.5 -21 27.5 -32q21 -9 42 -2t31 27q10 21 3 42t-27 30q-20 11 -41 3.5t-32 -27.5t-3.5 -41z" />
|
||||
<glyph glyph-name="uni2708" unicode="✈" horiz-adv-x="1030"
|
||||
d="M282 -170l125 400h-179l-113 -100h-100l80 170l-80 170h100l113 -100h179l-125 400h100l225 -400h258q6 0 16 -0.5t36 -4t46 -10.5t36 -21t16 -34q0 -31 -37.5 -48.5t-75.5 -19.5l-37 -2h-258l-225 -400h-100z" />
|
||||
<glyph glyph-name="uni2709" unicode="✉" horiz-adv-x="930"
|
||||
d="M45 536q-23 12 -28 33q1 19 25 21h846q33 0 23 -25q-7 -19 -26 -29l-375 -202q-19 -10 -45 -10t-45 10zM896 436q15 4 17 1.5t2 -12.5v-367q0 -16 -17 -32t-33 -16h-800q-16 0 -33 16t-17 32v367q0 10 2 12.5t17 -1.5l386 -202q19 -10 45 -10t45 10z" />
|
||||
<glyph glyph-name="uni270D" unicode="✍"
|
||||
d="M0 92v474q0 32 12.5 61t33.5 50t50 34t62 13h553q2 0 5 -0.5t5 -0.5l-98 -98h-465q-24 0 -41.5 -17.5t-17.5 -41.5v-474q0 -24 17.5 -41.5t41.5 -17.5h553q24 0 41 17.5t17 41.5v229l99 98v-327q0 -33 -12.5 -61t-34 -50t-50 -34.5t-60.5 -12.5h-553q-33 0 -62 12.5
|
||||
t-50 34.5t-33.5 50t-12.5 61zM324 101l56 169l335 335l113 -114l-334 -335zM445 257q3 -4 8.5 -4t8.5 4l263 262q10 10 0.5 18.5t-18.5 -0.5l-262 -262q-9 -9 0 -18zM772 662l47 48q15 15 35 15t33 -15l24 -23l23 -23q13 -15 13.5 -34.5t-13.5 -34.5l-49 -47z" />
|
||||
<glyph glyph-name="uni2715" unicode="✕" horiz-adv-x="500"
|
||||
d="M467 142q17 -17 17 -42t-17 -42t-42 -17t-42 17l-133 151l-133 -151q-17 -17 -42 -17t-42 17t-17 42t17 42l137 158l-137 158q-17 17 -17 42t17 42t42 17t42 -17l133 -151l133 151q17 17 42 17t42 -17t17 -42t-17 -42l-137 -158z" />
|
||||
<glyph glyph-name="uni2716" unicode="✖" horiz-adv-x="870"
|
||||
d="M435 720q174 0 297 -123t123 -297t-123 -297t-297 -123t-297 123t-123 297t123 297t297 123zM521 300l153 153l-86 86l-153 -153l-153 153l-86 -86l153 -153l-153 -153l86 -87l153 154l153 -153l86 86z" />
|
||||
<glyph glyph-name="uni2731" unicode="✱" horiz-adv-x="733"
|
||||
d="M1 457q-5 19 5 37l37 64q11 18 30.5 23t37.5 -5l170 -99v197q0 21 14 35.5t36 14.5h72q21 0 35.5 -14.5t14.5 -34.5v-198l170 99q18 10 37.5 5t30.5 -23l35 -64q11 -18 6 -37t-23 -29l-171 -99l171 -99q18 -11 23 -29.5t-5 -36.5l-36 -65q-11 -17 -30.5 -22t-37.5 5
|
||||
l-170 99v-197q0 -21 -14.5 -35.5t-35.5 -14.5h-72q-22 0 -36 14.5t-14 34.5v198l-170 -99q-18 -11 -37.5 -5.5t-30.5 22.5l-37 65q-9 18 -4.5 36.5t22.5 29.5l172 99l-172 99q-18 10 -23 29z" />
|
||||
<glyph glyph-name="uni2753" unicode="❓" horiz-adv-x="610"
|
||||
d="M15 476q5 130 77 202t203 72q128 0 214 -62t86 -183q0 -68 -42 -125q-13 -19 -88 -78l-46 -32q-29 -22 -42 -43.5t-14 -60.5q0 -13 -15 -13h-129q-16 0 -16 12q2 52 6.5 79.5t20.5 45.5q17 20 49.5 46t56.5 42l23 16q61 46 61 102q0 44 -25 79q-25 36 -93 36
|
||||
q-67 0 -94 -44q-28 -45 -28 -91h-165zM292 54q45 -2 73.5 -31t27.5 -75t-31.5 -73t-75.5 -25q-44 2 -72.5 30.5t-27.5 73.5q1 46 31.5 74t74.5 26z" />
|
||||
<glyph glyph-name="uni2757" unicode="❗" horiz-adv-x="789"
|
||||
d="M0 329q0 82 31 153.5t84.5 125.5t125.5 85t154 31t153.5 -31t125 -85t84.5 -125.5t31 -153.5t-31 -153.5t-84.5 -125.5t-125 -85t-153.5 -31t-154 31t-125.5 85t-84.5 125.5t-31 153.5zM333 579l6 -365q2 -15 16 -15h80q14 0 14 15l8 365q1 6 -4 11q-4 4 -11 4h-95
|
||||
q-7 0 -10 -4q-4 -4 -4 -11zM336 66q0 -15 15 -15h89q5 0 10 4t5 11v86q0 6 -5 10.5t-10 4.5h-89q-15 0 -15 -15v-86z" />
|
||||
<glyph glyph-name="uni2795" unicode="➕" horiz-adv-x="870"
|
||||
d="M435 720q174 0 297 -123t123 -297t-123 -297t-297 -123t-297 123t-123 297t123 297t297 123zM486 249h202l-1 102h-201v201h-102v-201h-202v-102h202v-202h102v202z" />
|
||||
<glyph glyph-name="uni27A2" unicode="➢" horiz-adv-x="890"
|
||||
d="M863 717q6 -6 9 -12t2.5 -14.5t-2 -15.5t-7.5 -19.5t-12 -23.5l-16 -30l-18 -37q-54 -113 -147 -287l-158 -292l-65 -117l-54 380l-380 54q442 248 696 370l37 18l30 16q11 6 23.5 12t19.5 7.5t15.5 2t14.5 -2.5t12 -9zM772 619l-304 -279l28 -233z" />
|
||||
<glyph glyph-name="uni27A6" unicode="➦"
|
||||
d="M0 4q0 107 37 202t112 166t190.5 112.5t273.5 42.5v150q0 37 18 45t46 -18l252 -254q18 -17 18 -42q0 -24 -18 -42l-252 -254q-26 -26 -45 -18t-19 44v170q-135 -1 -237 -29t-172.5 -76t-110.5 -112.5t-51 -139.5q-2 -17 -19 -17h-1q-17 0 -19 17q-3 26 -3 53z" />
|
||||
<glyph glyph-name="uni27F2" unicode="⟲" horiz-adv-x="970"
|
||||
d="M546 710q169 0 289 -120t120 -290t-120 -290t-289 -120q-140 0 -251 87l70 75q83 -60 181 -60q127 0 217 90.5t90 217.5t-90 217t-217 90q-124 0 -213 -86.5t-93 -210.5h143l-184 -205l-184 205h123q4 167 123 283.5t285 116.5z" />
|
||||
<glyph glyph-name="uni27F3" unicode="⟳" horiz-adv-x="970"
|
||||
d="M424 710q166 0 285 -116.5t123 -283.5h123l-184 -205l-184 205h143q-4 124 -93 210.5t-213 86.5q-127 0 -217 -90t-90 -217t90 -217.5t217 -90.5q98 0 181 60l70 -75q-111 -87 -251 -87q-169 0 -289 120t-120 290t120 290t289 120z" />
|
||||
<glyph glyph-name="uni2B0C" unicode="⬌" horiz-adv-x="394"
|
||||
d="M0.5 131q4.5 12 28.5 12h100v372h-100q-24 0 -28.5 11t12.5 28l158 159q10 11 27 11q16 0 26 -11l158 -159q17 -16 12 -27.5t-29 -11.5h-100v-372h100q24 0 29 -11t-12 -28l-158 -159q-10 -11 -27 -11q-16 0 -26 11l-158 159q-17 15 -12.5 27z" />
|
||||
<glyph glyph-name="uni2B0D" unicode="⬍" horiz-adv-x="789"
|
||||
d="M0 310q0 16 11 26l158 159q16 16 27.5 11.5t11.5 -28.5v-101h373v101q0 24 11 28.5t28 -12.5l159 -158q10 -10 10 -26t-10 -26l-159 -159q-16 -17 -27.5 -12t-11.5 29v101h-373v-101q0 -24 -11 -28.5t-28 12.5l-158 158q-11 10 -11 26z" />
|
||||
<glyph glyph-name="uni2ECF" unicode="⻏" horiz-adv-x="789"
|
||||
d="M0 -30v102q0 15 10.5 25.5t25.5 10.5h718q14 0 24.5 -10.5t10.5 -25.5v-102q0 -15 -10.5 -25.5t-24.5 -10.5h-718q-15 0 -25.5 10.5t-10.5 25.5zM3 239q-9 23 8 39l358 359q11 11 25.5 11t25.5 -11l359 -359q17 -16 7 -39q-8 -22 -32 -22h-718q-24 0 -33 22z" />
|
||||
<glyph glyph-name="uniE700" unicode="" horiz-adv-x="1030"
|
||||
d="M634 78q89 -32 135 -65t46 -58v-105h-800v201q13 6 29.5 11.5t32 10t19.5 5.5q94 34 129.5 69t35.5 95q0 20 -10 31.5t-24 31.5t-21 58q-2 12 -9.5 17.5t-14.5 8t-14 17t-9 43.5q0 15 4.5 25.5t8.5 13.5l5 3q-9 50 -13 88q-2 21 5.5 47.5t27.5 55.5t63.5 48.5t104.5 19.5
|
||||
t104.5 -19.5t63.5 -48.5t27.5 -55.5t5.5 -47.5l-13 -88q18 -8 18 -42q-2 -29 -9 -43.5t-14 -17t-14.5 -8t-9.5 -17.5q-7 -38 -21 -58t-24 -31.5t-10 -31.5q0 -60 35.5 -95t129.5 -69zM865 350h150v-100h-150v-150h-100v150h-150v100h150v150h100v-150z" />
|
||||
<glyph glyph-name="uniE701" unicode="" horiz-adv-x="413"
|
||||
d="M0.5 423.5q4.5 13.5 26.5 17.5l251 35l111 228q10 20 25 20v-667l-223 -118q-22 -10 -33.5 -1.5t-6.5 31.5l43 248l-181 177q-17 16 -12.5 29.5z" />
|
||||
<glyph glyph-name="uniE704" unicode="" horiz-adv-x="950"
|
||||
d="M469 760q94 1 179.5 -34.5t148 -96t100 -145t38.5 -178.5t-34.5 -179.5t-96 -148t-145 -100t-178.5 -38.5t-179.5 34.5t-148 96t-100 145t-38.5 178.5t34.5 179.5t96 148t145 100t178.5 38.5zM535 84q1 31 -18 50t-50 20q-29 0 -48 -19t-20 -47q-1 -30 18 -48.5t50 -19.5
|
||||
q29 0 48 18t20 46zM475 486q67 0 67 -66q0 -14 -11 -31.5t-24 -27.5q-3 -1 -16 -10.5t-33 -25.5t-31 -28q-16 -19 -18 -87h107q0 21 5 34q6 16 28 34l28 19q30 23 43.5 36t26 37.5t12.5 55.5q0 74 -53.5 114t-135.5 40q-84 0 -128 -46.5t-48 -130.5h111v5q0 28 16 53
|
||||
q15 25 54 25z" />
|
||||
<glyph glyph-name="uniE705" unicode="" horiz-adv-x="950"
|
||||
d="M469 760q94 1 179.5 -34.5t148 -96t100 -145t38.5 -178.5t-34.5 -179.5t-96 -148t-145 -100t-178.5 -38.5t-179.5 34.5t-148 96t-100 145t-38.5 178.5t34.5 179.5t96 148t145 100t178.5 38.5zM520 607q-43 0 -65.5 -23.5t-22.5 -50.5q-1 -28 15.5 -43.5t48.5 -15.5
|
||||
q38 0 61 21.5t23 52.5q0 59 -60 59zM400 12q30 0 84.5 27t105.5 78l-18 24q-46 -36 -72 -36q-12 0 -3 38l42 159q26 96 -21 96q-31 0 -91 -28.5t-115 -74.5l16 -26q17 11 42.5 22t33.5 11t0 -34l-37 -151q-27 -105 33 -105z" />
|
||||
<glyph glyph-name="uniE708" unicode=""
|
||||
d="M0 -26v276q0 17 11.5 28.5t28.5 11.5h355q17 0 28.5 -11.5t11.5 -28.5v-276q0 -17 -11.5 -28.5t-28.5 -11.5h-355q-17 0 -28.5 11.5t-11.5 28.5zM0 408v277q0 16 11.5 27.5t28.5 11.5h355q17 0 28.5 -11.5t11.5 -27.5v-277q0 -17 -11.5 -28t-28.5 -11h-355
|
||||
q-17 0 -28.5 11t-11.5 28zM514 -26v276q0 17 11 28.5t28 11.5h355q16 0 27.5 -11.5t11.5 -28.5v-276q0 -17 -11.5 -28.5t-27.5 -11.5h-355q-17 0 -28 11.5t-11 28.5zM514 408v277q0 16 11 27.5t28 11.5h355q16 0 27.5 -11.5t11.5 -27.5v-277q0 -17 -11.5 -28t-27.5 -11h-355
|
||||
q-17 0 -28 11t-11 28z" />
|
||||
<glyph glyph-name="uniE70B" unicode=""
|
||||
d="M0 328.5q0 22.5 13 42.5q40 64 91.5 115t111 86.5t124.5 54t134 18.5q27 0 54 -4t53 -9l45 81q5 8 13 10q6 3 15 -1l68 -39q7 -5 10 -12.5t-1 -15.5l-398 -710q-4 -8 -12 -10q-2 -1 -5 -1t-10 2l-69 39q-8 4 -10 12t2 16l34 59q-75 34 -138.5 91t-111.5 134
|
||||
q-13 19 -13 41.5zM79 329q42 -67 98.5 -117.5t123.5 -81.5l30 54q-45 32 -71.5 81.5t-26.5 109.5q0 40 13 76.5t35 66.5q-60 -31 -111.5 -78.5t-90.5 -110.5zM316 375q0 -11 8.5 -20t21 -9t21 9t8.5 20q0 40 27 67.5t67 27.5q13 0 21.5 9t8.5 20q0 13 -8.5 21.5t-21.5 8.5
|
||||
q-31 0 -59.5 -12t-49 -32.5t-32.5 -49t-12 -60.5zM477 13l45 82q107 13 196 74.5t150 159.5q-55 87 -134 145l39 71q47 -34 88 -77t75 -97q11 -20 11 -42.5t-11 -41.5q-82 -131 -201.5 -202t-257.5 -72zM556 155l146 262q2 -10 3 -20t1 -22q0 -38 -11 -72t-31 -62.5
|
||||
t-48 -50.5t-60 -35z" />
|
||||
<glyph glyph-name="uniE70D" unicode="" horiz-adv-x="945"
|
||||
d="M0 434v229q0 25 18 43t43 18h228q26 0 57 -12.5t48 -30.5l338 -377q16 -18 16.5 -43.5t-16.5 -43.5l-266 -264q-18 -18 -43 -18.5t-43 18.5l-337 377q-17 19 -30 49t-13 55zM99 566q0 -24 17.5 -41.5t41.5 -17.5t41.5 17.5t17.5 41.5t-17.5 41.5t-41.5 17.5t-41.5 -17.5
|
||||
t-17.5 -41.5zM399 723h87q26 0 57 -13t48 -31l337 -376q17 -19 17.5 -44t-17.5 -43l-265 -264q-18 -18 -43 -18.5t-43 18.5l-6 7l258 258q18 18 17.5 43.5t-17.5 43.5l-336 377q-16 16 -43 28t-51 14z" />
|
||||
<glyph glyph-name="uniE711" unicode="" horiz-adv-x="1030"
|
||||
d="M776 443q99 0 169 -68.5t70 -165.5t-70 -165.5t-169 -68.5h-191v190h105l-175 230l-175 -230h105v-190h-249q-75 0 -128 52t-53 125t53 125t128 52q7 0 21 -2q-3 18 -3 38q0 108 78 184t188 76q89 0 159.5 -52t95.5 -133q19 3 41 3z" />
|
||||
<glyph glyph-name="uniE714" unicode="" horiz-adv-x="1350"
|
||||
d="M277 350l312 -311l-139 -139l-450 450l450 450l139 -139zM900 800l450 -450l-450 -450l-139 139l312 311l-312 311z" />
|
||||
<glyph glyph-name="uniE715" unicode=""
|
||||
d="M0 92v474q0 32 12.5 61t33.5 50t50 34t62 13h429q-3 -16 -3 -33v-26q-84 -11 -159 -40h-267q-24 0 -41.5 -17.5t-17.5 -41.5v-474q0 -24 17.5 -41.5t41.5 -17.5h553q24 0 41 17.5t17 41.5v57q9 5 17 11t16 14l66 65v-147q0 -33 -12.5 -61t-34 -50t-50 -34.5t-60.5 -12.5
|
||||
h-553q-33 0 -62 12.5t-50 34.5t-33.5 50t-12.5 61zM198 134v19q0 85 29 160.5t89 132t151 89t215 33.5v119q0 29 15 35.5t36 -14.5l201 -201q13 -13 13 -34q0 -20 -13 -32l-201 -202q-21 -21 -36 -14.5t-15 36.5v133q-106 0 -187 -22t-137 -60t-87.5 -89.5t-39.5 -110.5
|
||||
q-3 -14 -16 -14t-15 14q-2 12 -2 22z" />
|
||||
<glyph glyph-name="uniE716" unicode=""
|
||||
d="M0 -46v178q0 24 9.5 45.5t26 37.5t38 25.5t45.5 9.5h710q25 0 46.5 -9.5t37 -25.5t25 -37.5t9.5 -45.5v-178q0 -20 -20 -20h-907q-20 0 -20 20zM138 33q0 -8 5.5 -13.5t14.5 -5.5h631q9 0 14.5 5.5t5.5 13.5v20q0 9 -5.5 14.5t-14.5 5.5h-631q-9 0 -14.5 -5.5t-5.5 -14.5
|
||||
v-20zM158 309v376q0 16 11.5 27.5t28.5 11.5h335v-197q0 -25 17 -42.5t42 -17.5h197v-158h-631zM592 527v197l197 -197h-197z" />
|
||||
<glyph glyph-name="uniE718" unicode="" horiz-adv-x="830"
|
||||
d="M715 650q41 0 70.5 -29.5t29.5 -70.5v-350q0 -41 -29.5 -70.5t-70.5 -29.5h-200v-150l-200 150h-200q-41 0 -70.5 29.5t-29.5 70.5v350q0 41 29.5 70.5t70.5 29.5h600z" />
|
||||
<glyph glyph-name="uniE720" unicode=""
|
||||
d="M0 443q0 58 30.5 109t82.5 89t122 60.5t150 22.5t150 -22.5t122 -60.5t82 -89t30 -109q0 -59 -30 -110t-82 -89t-122 -60t-150 -22q-19 0 -36.5 1.5t-35.5 3.5q-36 -28 -77 -48t-89 -30q-21 -5 -42 -6q-12 -2 -17 11v1q-2 6 2 10l8 8q18 18 31.5 39t22.5 67
|
||||
q-70 38 -111 96t-41 128zM321 77l13 8q13 -2 26 -2h25q98 0 182.5 27.5t147 76t98 114.5t35.5 142q0 20 -3 41q48 -38 75 -86t27 -104q0 -69 -41 -126.5t-110 -96.5q8 -46 22 -66.5t31 -38.5q5 -5 8.5 -9.5t1.5 -9.5q-1 -6 -6.5 -10t-10.5 -3q-11 2 -21 3.5t-21 4.5
|
||||
q-93 20 -165 76q-18 -2 -36 -3.5t-37 -1.5q-69 0 -129.5 17t-111.5 47z" />
|
||||
<glyph glyph-name="uniE722" unicode="" horiz-adv-x="1030"
|
||||
d="M915 700q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-800q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h800zM915 0v600h-800v-600h800zM465 195v-90h-250v90h250zM465 345v-90h-250v90h250zM465 495v-90h-250v90h250zM810 175
|
||||
q2 0 3.5 -17.5t1.5 -35.5v-17h-250q0 70 5 70q10 2 24 7t37.5 22t23.5 37q0 16 -13.5 34.5t-27.5 45.5t-14 64q0 55 20.5 82.5t69.5 27.5t69.5 -27.5t20.5 -82.5q0 -37 -14 -64t-27.5 -45.5t-13.5 -34.5q0 -20 21.5 -36.5t42.5 -22.5z" />
|
||||
<glyph glyph-name="uniE724" unicode="" horiz-adv-x="557"
|
||||
d="M0 445q0 58 22 108.5t60 88t88.5 60t108.5 22.5t108.5 -22.5t88.5 -60t60 -88t22 -108.5q0 -42 -12.5 -79t-31.5 -71l-189 -327q-19 -34 -46 -34t-46 34l-189 327q-19 34 -31.5 71.5t-12.5 78.5zM141 444.5q0 -28.5 10.5 -53.5t29.5 -44t44.5 -29.5t53.5 -10.5t53.5 10.5
|
||||
t44 29.5t29.5 44t11 53.5t-11 54t-29.5 44t-44 29.5t-53.5 11t-53.5 -11t-44.5 -29.5t-29.5 -44t-10.5 -54z" />
|
||||
<glyph glyph-name="uniE729" unicode="" horiz-adv-x="682"
|
||||
d="M0 546.5q0 8.5 0.5 17t0.5 18.5q12 6 34.5 10t49.5 7.5t55 5.5t52 3q-3 17 -1.5 33.5t7.5 34.5q1 5 6 12.5t19.5 15.5t42.5 14t75 6t75 -6t42.5 -14t19.5 -16l6 -13q7 -18 8 -34t-1 -33q23 -1 51.5 -3t55.5 -5.5t49 -7.5t34 -10q1 -10 1 -18v-17v-17q0 -8 -1 -18
|
||||
q-10 -6 -32 -10.5t-48 -7.5t-53.5 -5t-50.5 -3t-39 -1.5t-17 -0.5l-100 -1h-14h-29q-20 0 -57 1q-2 0 -17.5 0.5t-38.5 1.5t-50.5 3t-53.5 5t-47.5 7.5t-32.5 10.5q0 10 -0.5 18t-0.5 16.5zM71 444q43 -6 88.5 -8.5t79.5 -3.5q9 -1 24 -1h78h77q15 0 24 1q35 1 80.5 3.5
|
||||
t89.5 8.5q-6 -80 -9 -163t-7 -163q-1 -20 -1.5 -44.5t-2 -47.5t-6.5 -42.5t-15 -30.5q-13 -11 -44.5 -15t-61.5 -4h-248q-31 0 -62 4t-43 15q-11 11 -15.5 30.5t-6.5 42.5t-2.5 47.5t-1.5 44.5q-4 80 -7.5 163t-7.5 163zM155 337q1 -15 1 -29t1 -23q0 -12 1 -20
|
||||
q2 -36 3.5 -72t3.5 -70q1 -9 1 -18v-21v-13q0 -6 0.5 -14.5t1.5 -20.5q1 -8 10 -14.5t15 -6.5q5 -1 10 -1t9 -1h11q5 0 5 20v301q0 9 -5.5 14.5t-14.5 5.5l-34 2q-9 0 -14 -5t-5 -14zM268.5 625.5q0.5 -6.5 2.5 -15.5q9 1 21 1h49l71 -1q1 9 1.5 15.5t-0.5 11.5
|
||||
q-12 4 -31.5 5.5t-40.5 1.5t-40.5 -1.5t-31.5 -5.5q-1 -5 -0.5 -11.5zM307 33q0 -8 5.5 -14t13.5 -6h30q8 0 14 6t6 14v300q0 9 -11.5 14t-15.5 5h-15q-3 0 -15 -5t-12 -14v-300zM455 33q0 -20 4 -20h12q3 1 13.5 1.5t15.5 0.5q5 1 9 7t5 14q0 12 0.5 20.5t0.5 14.5
|
||||
q0 7 1 13v21q0 9 1 18q2 34 3 69.5t3 71.5q0 9 1 21q1 9 1.5 23t1.5 29q0 9 -5 14t-14 5l-34 -2q-9 0 -14 -5.5t-5 -14.5v-301z" />
|
||||
<glyph glyph-name="uniE730" unicode="" horiz-adv-x="730"
|
||||
d="M615 750q41 0 70.5 -29.5t29.5 -70.5v-700q0 -41 -29.5 -70.5t-70.5 -29.5h-500q-41 0 -70.5 29.5t-29.5 70.5v700q0 41 29.5 70.5t70.5 29.5h500zM615 -50v700h-500v-700h500z" />
|
||||
<glyph glyph-name="uniE736" unicode="" horiz-adv-x="730"
|
||||
d="M665 550q21 0 35.5 -14.5t14.5 -35.5v-600q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-150q-21 0 -35.5 14.5t-14.5 35.5v600q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h150zM115 150h100v351q0 21 14 35t35 14h151v100
|
||||
h-300v-500zM615 -50v500h-300v-500h300z" />
|
||||
<glyph glyph-name="uniE73A" unicode="" horiz-adv-x="790"
|
||||
d="M15 680q155 0 295.5 -60t242.5 -162t162 -242.5t60 -295.5h-118q0 130 -51 249t-137 205t-205 137t-249 51v118zM15 443q142 0 262.5 -70t190.5 -190.5t70 -262.5h-118q0 167 -119 286t-286 119v118zM128 147q47 0 80.5 -33.5t33.5 -80.5t-33.5 -80t-80.5 -33t-80 33
|
||||
t-33 80t33 80.5t80 33.5z" />
|
||||
<glyph glyph-name="uniE73D" unicode="" horiz-adv-x="1006"
|
||||
d="M209 74q33 0 56 -23t23 -56t-23 -55t-56 -22q-31 0 -54.5 22t-23.5 55t22.5 56t55.5 23zM738.5 74q32.5 0 55 -23t22.5 -56t-22.5 -55t-55 -22t-55.5 22t-23 55t23 56t55.5 23zM261 662h565q26 0 40.5 -13.5t14.5 -36.5v-233q0 -20 -13 -34t-33 -16l-505 -57
|
||||
q-20 -2 -29 -16.5t0 -28t31 -13.5h479q27 0 37.5 -21t0 -41t-37.5 -20h-489q-52 0 -84 33t-27 77t47 76l43 32l-155 339h-76q-28 0 -39 22.5t0 45t39 22.5h89q31 0 45 -12.5t26 -41.5zM606 592h-130l26 -84h124zM294 592l38 -84h127l-28 84h-137zM402 351l100 10l-32 101
|
||||
h-119zM546 366l113 12l-25 84h-119zM812 395v67h-132l20 -78zM812 508v84h-161l19 -84h142z" />
|
||||
<glyph glyph-name="uniE744" unicode="" horiz-adv-x="789"
|
||||
d="M0 -22v269q0 27 13.5 33t33.5 -13l86 -85l141 141q6 6 15.5 6t16.5 -6l82 -82q7 -8 7 -17.5t-7 -15.5l-141 -141l86 -85q20 -20 13.5 -34t-33.5 -14h-268q-19 0 -31 13q-14 14 -14 31zM395 434.5q0 9.5 6 15.5l141 141l-85 85q-20 20 -14 34t34 14h267q19 0 32 -13
|
||||
q13 -14 13 -32v-268q0 -27 -13.5 -33t-33.5 13l-85 85l-141 -140q-7 -7 -16 -7t-17 7l-82 81q-6 8 -6 17.5z" />
|
||||
<glyph glyph-name="uniE746" unicode="" horiz-adv-x="789"
|
||||
d="M0 38.5q0 9.5 6 16.5l141 140l-85 86q-20 20 -13.5 33.5t33.5 13.5h267q20 0 32 -13q14 -13 14 -31v-269q0 -27 -14 -33t-34 14l-85 86l-141 -141q-6 -8 -15.5 -8t-17.5 8l-82 82q-6 6 -6 15.5zM395 373v269q0 27 13.5 33t33.5 -14l85 -86l141 141q7 8 16.5 8t16.5 -8
|
||||
l82 -82q6 -6 6 -15.5t-6 -16.5l-141 -140l85 -86q20 -20 14 -33.5t-34 -13.5h-267q-21 0 -32 13q-13 13 -13 31z" />
|
||||
<glyph glyph-name="uniE750" unicode="" horiz-adv-x="789"
|
||||
d="M0 394.5q0 68.5 26 128.5t70.5 104.5t104.5 70.5t128 26t128 -26t104.5 -70.5t70.5 -104.5t26 -129q0 -50 -14.5 -95.5t-40.5 -85.5l177 -176q9 -10 9 -24t-9 -23l-46 -46q-10 -10 -23.5 -10t-23.5 10l-176 177q-40 -27 -85.5 -41t-96.5 -14q-68 0 -128 25.5t-104.5 70.5
|
||||
t-70.5 104.5t-26 128zM132 394q0 -41 15 -76.5t42 -62.5t63 -42.5t77.5 -15.5t77 15.5t62.5 42.5t42 62.5t15 76.5t-15 77t-42 63t-62.5 42.5t-77 15.5t-77.5 -15.5t-63 -42.5t-42 -63t-15 -77zM198 378v33q0 7 4.5 12t11.5 5h82v82q0 6 4.5 11t12.5 5h32q8 0 12.5 -5
|
||||
t4.5 -11v-82h82q17 0 17 -17v-33q0 -16 -17 -16h-82v-83q0 -16 -17 -16h-32q-17 0 -17 16v83h-82q-7 0 -11.5 4.5t-4.5 11.5z" />
|
||||
<glyph glyph-name="uniE751" unicode="" horiz-adv-x="789"
|
||||
d="M0 394.5q0 68.5 26 128.5t70.5 104.5t104.5 70.5t128 26t128 -26t104.5 -70.5t70.5 -104.5t26 -129q0 -50 -14.5 -95.5t-40.5 -85.5l177 -176q9 -10 9 -24t-9 -23l-46 -46q-10 -10 -23.5 -10t-23.5 10l-176 177q-40 -27 -85.5 -41t-96.5 -14q-68 0 -128 25.5t-104.5 70.5
|
||||
t-70.5 104.5t-26 128zM132 394q0 -41 15 -76.5t42 -62.5t63 -42.5t77.5 -15.5t77 15.5t62.5 42.5t42 62.5t15 76.5t-15 77t-42 63t-62.5 42.5t-77 15.5t-77.5 -15.5t-63 -42.5t-42 -63t-15 -77zM198 378v33q0 7 4.5 12t11.5 5h230q17 0 17 -17v-33q0 -16 -17 -16h-230
|
||||
q-7 0 -11.5 4.5t-4.5 11.5z" />
|
||||
<glyph glyph-name="uniE75C" unicode="" horiz-adv-x="789"
|
||||
d="M0 406.5q0 19.5 15 34.5l51 52q15 15 35 15t35 -15l261 -262l257 262q14 15 34 15t35 -15l52 -52q14 -15 15 -34.5t-14 -34.5l-347 -346q-14 -15 -34 -15t-35 15l-345 346q-15 15 -15 34.5z" />
|
||||
<glyph glyph-name="uniE75D" unicode="" horiz-adv-x="495"
|
||||
d="M0 327.5q0 19.5 15 34.5l345 346q15 15 35 15t34 -15l52 -52q15 -14 15 -34t-15 -35l-261 -262l261 -257q15 -15 15 -34.5t-15 -34.5l-52 -52q-14 -15 -34 -15t-35 15l-345 346q-15 15 -15 34.5z" />
|
||||
<glyph glyph-name="uniE75E" unicode="" horiz-adv-x="495"
|
||||
d="M0 34q0 20 15 35l261 261l-261 258q-15 15 -15 34.5t15 33.5l51 53q15 15 35 15t35 -15l345 -346q15 -15 15 -35t-15 -35l-345 -345q-15 -15 -35 -15t-35 15l-51 51q-15 15 -15 35z" />
|
||||
<glyph glyph-name="uniE75F" unicode="" horiz-adv-x="789"
|
||||
d="M-0.5 116.5q-0.5 19.5 14.5 34.5l346 346q15 15 35 15t34 -15l346 -346q14 -15 14 -34.5t-14 -33.5l-52 -53q-15 -15 -35 -15t-34 15l-261 262l-257 -262q-15 -15 -35 -15t-35 15l-51 53q-15 14 -15.5 33.5z" />
|
||||
<glyph glyph-name="uniE762" unicode=""
|
||||
d="M0 -34v726q0 20 18 30q20 7 33 -8l335 -362q9 -9 9 -23t-9 -23l-335 -362q-9 -10 -22 -10q-3 0 -11 2q-18 9 -18 30zM395 -34v726q0 20 18 30q20 7 32 -8l336 -362q8 -9 8 -23t-8 -23l-336 -362q-8 -10 -21 -10q-3 0 -11 2q-18 9 -18 30zM789 -27q0 -16 12 -27.5
|
||||
t27 -11.5h79q17 0 28.5 11.5t11.5 27.5v711q0 17 -11.5 28.5t-28.5 11.5h-79q-15 0 -27 -11.5t-12 -28.5v-711z" />
|
||||
<glyph glyph-name="uniE763" unicode=""
|
||||
d="M0 -27q0 -16 11.5 -27.5t27.5 -11.5h79q17 0 28.5 11.5t11.5 27.5v711q0 17 -11.5 28.5t-28.5 11.5h-79q-16 0 -27.5 -11.5t-11.5 -28.5v-711zM158 329q0 14 8 22l336 363q7 10 21 10q3 0 12 -2q18 -10 18 -31v-725q0 -21 -18 -30q-20 -7 -33 8l-336 362q-8 9 -8 23z
|
||||
M553 329q0 14 8 22l336 363q7 10 21 10q3 0 11 -2q18 -10 18 -31v-725q0 -21 -18 -30q-20 -7 -32 8l-336 362q-8 9 -8 23z" />
|
||||
<glyph glyph-name="uniE782" unicode="" horiz-adv-x="1228"
|
||||
d="M256 38.5q0 41.5 30.5 72t71.5 30.5h513q40 0 71 -30.5t31 -72t-31 -72t-71 -30.5h-513q-41 0 -71.5 30.5t-30.5 72zM256 294.5q0 40.5 30.5 71.5t71.5 31h513q40 0 71 -31t31 -71.5t-31 -71.5t-71 -31h-513q-41 0 -71.5 31t-30.5 71.5zM256 550q0 41 30.5 72t71.5 31
|
||||
h513q40 0 71 -31t31 -72t-31 -71.5t-71 -30.5h-513q-41 0 -71.5 30.5t-30.5 71.5z" />
|
||||
<glyph glyph-name="uniE78E" unicode="" horiz-adv-x="750"
|
||||
d="M0 309q0 94 43 175.5t121 134.5q7 4 15 4q7 -1 13 -9l44 -65q10 -17 -5 -27q-54 -37 -83 -93t-29 -120q0 -53 20 -99.5t54.5 -81.5t81.5 -55t100 -20t100 20t82 55t55 81.5t20 99.5q0 64 -29.5 120t-83.5 93q-6 3 -8 12q-2 7 3 15l45 65q5 7 12.5 8.5t14.5 -3.5
|
||||
q77 -53 121 -134.5t44 -175.5q0 -78 -29.5 -146t-81 -119t-119.5 -80.5t-146 -29.5t-146 29.5t-119 80.5t-80.5 119t-29.5 146zM316 349v355q0 20 20 20h79q8 0 14 -6t6 -14v-355q0 -8 -6 -14t-14 -6h-79q-20 0 -20 20z" />
|
||||
<glyph glyph-name="uniE792" unicode=""
|
||||
d="M0 -66v790h79v-790h-79zM117 -66v790h19v-790h-19zM183 -66v790h60v-790h-60zM280 -66v790h40v-790h-40zM367 -66v790h39v-790h-39zM464 -66v790h19v-790h-19zM521 -66v790h79v-790h-79zM627 -66v790h40v-790h-40zM724 -66v790h20v-790h-20zM812 -66v790h19v-790h-19z
|
||||
M868 -66v790h79v-790h-79z" />
|
||||
<glyph glyph-name="uniE794" unicode="" horiz-adv-x="558"
|
||||
d="M0 214q0 41 11.5 79t32.5 71q11 17 35 49.5t53 76t56.5 95t44.5 107.5q5 18 18 26t28 6q16 2 29 -6t18 -26q17 -56 44.5 -107.5t56.5 -95t53 -76t35 -49.5q21 -33 32.5 -71t11.5 -79q0 -58 -22 -109t-60 -89t-89 -60t-109 -22t-108.5 22t-88.5 60t-60 89t-22 109z
|
||||
M122 152q0 -29 20.5 -49t50.5 -20q28 0 48.5 20t20.5 49q0 19 -10 38q-4 4 -10 12t-13 19t-14 24t-11 27q-4 10 -11 7q-10 3 -12 -7q-4 -14 -11.5 -27t-14.5 -24t-13 -19t-8 -12q-12 -18 -12 -38z" />
|
||||
<glyph glyph-name="uniE7A2" unicode="" horiz-adv-x="917"
|
||||
d="M842 355h-331v335q138 0 234.5 -97t96.5 -234v-4zM406 250h333v4q0 -138 -97.5 -235t-235 -97t-234.5 97t-97 234.5t97 235t234 97.5v-336z" />
|
||||
<glyph glyph-name="uniE7AC" unicode="" horiz-adv-x="1224"
|
||||
d="M144 329l285 122v86l-285 121v-89l188 -76l-188 -75v-89zM470 260h286v69h-286v-69zM1224 800v-900h-1224v900h1224z" />
|
||||
<glyph glyph-name="uniE7B5" unicode="" horiz-adv-x="1021"
|
||||
d="M475 -139v115l-150 -57l-15 26l165 101v58h-317q-19 0 -32.5 13t-13.5 32q0 17 12 29.5t30 15.5v414q-18 1 -30 13.5t-12 29.5q0 19 13.5 32t32.5 13h326l18 49h12l18 -49h332q18 0 31.5 -13t13.5 -32t-13.5 -32t-31.5 -13v-412q18 0 31.5 -13t13.5 -32t-13.5 -32
|
||||
t-31.5 -13h-328v-58l166 -101l-14 -26l-152 57v-115q0 -13 -9 -22.5t-22 -9.5q-14 0 -22 9.5t-8 22.5zM806 198v404h-595v-404h595z" />
|
||||
<glyph glyph-name="uniE800" unicode="" horiz-adv-x="828"
|
||||
d="M0.5 423.5q4.5 13.5 26.5 17.5l251 35l111 228q10 20 24.5 20t24.5 -20l113 -228l249 -35q23 -4 27.5 -17.5t-11.5 -29.5l-181 -177l42 -248q3 -17 -2.5 -26t-16.5 -9q-7 0 -20 5l-224 118l-223 -118q-13 -5 -20 -5q-12 0 -17.5 9t-2.5 26l43 248l-181 177
|
||||
q-17 16 -12.5 29.5zM143 377l105 -103l31 -28l-7 -41l-26 -147l131 70l37 19l37 -19l130 -70l-24 147l-8 41l30 28l106 103l-146 21l-41 7l-19 37l-65 132l-66 -132l-17 -37l-42 -7z" />
|
||||
<glyph glyph-name="uniE801" unicode="" horiz-adv-x="828"
|
||||
d="M0.5 423.5q4.5 13.5 26.5 17.5l251 36l111 227q11 21 25 21t24 -21l113 -227l249 -36q23 -4 27.5 -17.5t-11.5 -29.5l-181 -177l42 -248q4 -23 -7.5 -31.5t-31.5 3.5l-224 116l-223 -116q-22 -12 -33.5 -3.5t-6.5 31.5l43 248l-181 177q-17 16 -12.5 29.5z" />
|
||||
<glyph glyph-name="uniE802" unicode=""
|
||||
d="M0 377q0 72 37.5 135t101.5 110t150.5 74.5t184.5 27.5t184 -27.5t150.5 -74.5t101.5 -110t37 -134.5t-37 -135t-101.5 -110t-150.5 -74t-184 -27.5q-47 0 -89 6q-44 -33 -95 -57.5t-109 -36.5l-25 -5l-27 -4q-16 -2 -21 15v1q-2 7 4 12l9 10l21 23q10 11 17.5 25.5
|
||||
t14.5 34t12 48.5q-85 47 -135.5 118t-50.5 156z" />
|
||||
<glyph glyph-name="uniE803" unicode=""
|
||||
d="M0 63v79q0 20 20 20h113q26 0 50.5 16t48 43t46.5 61l46 72l60 90q30 45 64.5 79.5t75.5 56.5t93 22h104v94q0 21 12.5 25.5t30.5 -10.5l172 -142q11 -10 11 -24t-11 -23l-172 -144q-18 -14 -30.5 -10t-12.5 25v91h-104q-28 0 -52 -16.5t-47.5 -43.5t-47.5 -62l-46 -71
|
||||
q-28 -46 -58 -90.5t-65 -79t-76.5 -56t-91.5 -21.5h-113q-8 0 -14 5t-6 14zM0 504v79q0 8 6 14t14 6h113q54 0 98 -25t81 -65q-19 -26 -36 -52l-33 -50q-26 33 -53 53t-57 20h-113q-8 0 -14 5.5t-6 14.5zM439 134l35 51l32 51q27 -32 53.5 -52t57.5 -20h104v99q0 21 12.5 25
|
||||
t30.5 -11l172 -143q11 -9 11 -23q0 -15 -11 -24l-172 -142q-18 -15 -30.5 -11t-12.5 25v87h-104q-56 0 -98.5 24t-79.5 64z" />
|
||||
<glyph glyph-name="uniE804" unicode="" horiz-adv-x="789"
|
||||
d="M0 -34v726q0 20 18 30q20 7 33 -8l335 -362q9 -9 9 -23t-9 -23l-335 -362q-9 -10 -22 -10q-3 0 -11 2q-18 9 -18 30zM395 -34v726q0 20 18 30q20 7 32 -8l336 -362q8 -9 8 -23t-8 -23l-336 -362q-8 -10 -21 -10q-3 0 -11 2q-18 9 -18 30z" />
|
||||
<glyph glyph-name="uniE805" unicode="" horiz-adv-x="552"
|
||||
d="M0 -27q0 -16 11.5 -27.5t27.5 -11.5h79q17 0 28.5 11.5t11.5 27.5v711q0 17 -11.5 28.5t-28.5 11.5h-79q-16 0 -27.5 -11.5t-11.5 -28.5v-711zM158 329q0 14 8 22l336 363q7 10 21 10q3 0 12 -2q18 -10 18 -31v-725q0 -21 -18 -30q-20 -7 -33 8l-336 362q-8 9 -8 23z" />
|
||||
<glyph glyph-name="uniE806" unicode="" horiz-adv-x="552"
|
||||
d="M0 -34v726q0 20 18 30q20 7 33 -8l335 -362q9 -9 9 -23t-9 -23l-335 -362q-9 -10 -22 -10q-3 0 -11 2q-18 9 -18 30zM395 -27q0 -16 11.5 -27.5t27.5 -11.5h79q16 0 28 11.5t12 27.5v711q0 17 -12 28.5t-28 11.5h-79q-16 0 -27.5 -11.5t-11.5 -28.5v-711z" />
|
||||
<glyph glyph-name="uniE807" unicode="" horiz-adv-x="789"
|
||||
d="M0 -30v718q0 15 10.5 25.5t25.5 10.5h718q14 0 24.5 -10.5t10.5 -25.5v-718q0 -15 -10.5 -25.5t-24.5 -10.5h-718q-15 0 -25.5 10.5t-10.5 25.5z" />
|
||||
<glyph glyph-name="uniE808" unicode="" horiz-adv-x="789"
|
||||
d="M0 -30v718q0 15 10.5 25.5t25.5 10.5h251q15 0 25.5 -10.5t10.5 -25.5v-718q0 -15 -10.5 -25.5t-25.5 -10.5h-251q-15 0 -25.5 10.5t-10.5 25.5zM466 -30v718q0 15 10.5 25.5t25.5 10.5h252q14 0 24.5 -10.5t10.5 -25.5v-718q0 -15 -10.5 -25.5t-24.5 -10.5h-252
|
||||
q-15 0 -25.5 10.5t-10.5 25.5z" />
|
||||
<glyph glyph-name="uniE809" unicode="" horiz-adv-x="693"
|
||||
d="M0 -30v718q0 20 18 30q19 12 36 0l622 -357q18 -13 18 -32t-18 -32l-622 -358q-9 -5 -18.5 -5t-17.5 5q-18 11 -18 31z" />
|
||||
<glyph glyph-name="uniE80A" unicode="" horiz-adv-x="789"
|
||||
d="M0 433v230q0 25 18 43t43 18h230q25 0 55.5 -13t48.5 -30l377 -377q17 -18 17 -43.5t-17 -43.5l-266 -265q-18 -18 -43 -18t-43 18l-377 377q-18 18 -30.5 48.5t-12.5 55.5zM99 566q0 -24 17.5 -41.5t41.5 -17.5t41.5 17.5t17.5 41.5t-17.5 41.5t-41.5 17.5t-41.5 -17.5
|
||||
t-17.5 -41.5z" />
|
||||
<glyph glyph-name="uniE80B" unicode=""
|
||||
d="M0 -26v139q0 17 11.5 28t28.5 11h153q15 0 27 -11t12 -28v-139q0 -17 -12 -28.5t-27 -11.5h-153q-17 0 -28.5 11.5t-11.5 28.5zM0 271v116q0 17 11.5 28t28.5 11h153q15 0 27 -11t12 -28v-116q0 -17 -12 -28.5t-27 -11.5h-153q-17 0 -28.5 11.5t-11.5 28.5zM0 545v140
|
||||
q0 16 11.5 27.5t28.5 11.5h153q15 0 27 -11.5t12 -27.5v-140q0 -17 -12 -28.5t-27 -11.5h-153q-17 0 -28.5 11.5t-11.5 28.5zM311 -26v139q0 17 11.5 28t28.5 11h557q16 0 27.5 -11t11.5 -28v-139q0 -17 -11.5 -28.5t-27.5 -11.5h-557q-17 0 -28.5 11.5t-11.5 28.5zM311 271
|
||||
v116q0 17 11.5 28t28.5 11h557q16 0 27.5 -11t11.5 -28v-116q0 -17 -11.5 -28.5t-27.5 -11.5h-557q-17 0 -28.5 11.5t-11.5 28.5zM311 545v140q0 16 11.5 27.5t28.5 11.5h557q16 0 27.5 -11.5t11.5 -27.5v-140q0 -17 -11.5 -28.5t-27.5 -11.5h-557q-17 0 -28.5 11.5
|
||||
t-11.5 28.5z" />
|
||||
<glyph glyph-name="uniE80C" unicode=""
|
||||
d="M0 -26v139q0 17 11.5 28t28.5 11h184q16 0 27.5 -11t11.5 -28v-139q0 -17 -11.5 -28.5t-27.5 -11.5h-184q-17 0 -28.5 11.5t-11.5 28.5zM0 271v116q0 17 11.5 28t28.5 11h184q16 0 27.5 -11t11.5 -28v-116q0 -17 -11.5 -28.5t-27.5 -11.5h-184q-17 0 -28.5 11.5
|
||||
t-11.5 28.5zM0 545v140q0 16 11.5 27.5t28.5 11.5h184q16 0 27.5 -11.5t11.5 -27.5v-140q0 -17 -11.5 -28.5t-27.5 -11.5h-184q-17 0 -28.5 11.5t-11.5 28.5zM342 -26v139q0 17 11.5 28t28.5 11h184q16 0 27.5 -11t11.5 -28v-139q0 -17 -11.5 -28.5t-27.5 -11.5h-184
|
||||
q-17 0 -28.5 11.5t-11.5 28.5zM342 271v116q0 17 11.5 28t28.5 11h184q16 0 27.5 -11t11.5 -28v-116q0 -17 -11.5 -28.5t-27.5 -11.5h-184q-17 0 -28.5 11.5t-11.5 28.5zM342 545v140q0 16 11.5 27.5t28.5 11.5h184q16 0 27.5 -11.5t11.5 -27.5v-140q0 -17 -11.5 -28.5
|
||||
t-27.5 -11.5h-184q-17 0 -28.5 11.5t-11.5 28.5zM684 -26v139q0 17 11.5 28t28.5 11h184q16 0 27.5 -11t11.5 -28v-139q0 -17 -11.5 -28.5t-27.5 -11.5h-184q-17 0 -28.5 11.5t-11.5 28.5zM684 271v116q0 17 11.5 28t28.5 11h184q16 0 27.5 -11t11.5 -28v-116
|
||||
q0 -17 -11.5 -28.5t-27.5 -11.5h-184q-17 0 -28.5 11.5t-11.5 28.5zM684 545v140q0 16 11.5 27.5t28.5 11.5h184q16 0 27.5 -11.5t11.5 -27.5v-140q0 -17 -11.5 -28.5t-27.5 -11.5h-184q-17 0 -28.5 11.5t-11.5 28.5z" />
|
||||
<glyph glyph-name="uniE80D" unicode="" horiz-adv-x="789"
|
||||
d="M0 33q0 20 15 35l261 262l-261 257q-15 15 -15 35t15 34l51 52q15 15 35 15t35 -15l259 -259l259 259q14 15 34 15t35 -15l52 -52q14 -14 14 -34t-14 -35l-261 -262l261 -257q14 -15 14 -34.5t-14 -34.5l-52 -52q-15 -15 -35 -15t-34 15l-259 260l-260 -260
|
||||
q-15 -15 -34.5 -15t-34.5 15l-51 51q-15 15 -15 35z" />
|
||||
<glyph glyph-name="uniE80E" unicode=""
|
||||
d="M1 339q3 12 14 20l433 356q12 9 25.5 9t25.5 -9l133 -109v61q0 20 20 20h117q20 0 20 -20v-190l144 -118q10 -8 13 -20t-1 -24q-10 -25 -38 -25h-79v-316q0 -17 -11 -28.5t-28 -11.5h-216v237h-198v-237h-217q-17 0 -28.5 11.5t-11.5 28.5v316h-79q-26 0 -37 25
|
||||
q-4 12 -1 24z" />
|
||||
<glyph glyph-name="uniE80F" unicode=""
|
||||
d="M0 305.5q0 22.5 13 42.5q40 64 91.5 115t111 86.5t124.5 54t134 18.5t134.5 -18.5t124.5 -53.5t110.5 -86t92.5 -116q11 -20 11 -42.5t-11 -41.5q-41 -66 -92.5 -117t-110.5 -85.5t-124.5 -53t-134.5 -18.5t-134 18.5t-124.5 53.5t-111 86t-91.5 116q-13 19 -13 41.5z
|
||||
M79 306q34 -54 77 -98t93.5 -74.5t107 -47.5t117.5 -17t117 17t106.5 47.5t94 74.5t76.5 98q-41 66 -96 116t-121 81q26 -31 40.5 -69t14.5 -82q0 -49 -18.5 -92t-51 -75.5t-75.5 -51t-92 -18.5t-91.5 18.5t-75.5 51t-51 75.5t-18 92q0 40 13 76.5t35 65.5
|
||||
q-60 -30 -111.5 -78t-90.5 -110zM316 352q0 -11 8.5 -20t21 -9t21 9t8.5 20q0 40 27 67.5t67 27.5q13 0 21.5 9t8.5 20q0 13 -8.5 21.5t-21.5 8.5q-31 0 -59.5 -12t-49 -32.5t-32.5 -49t-12 -60.5z" />
|
||||
<glyph glyph-name="uniE810" unicode=""
|
||||
d="M0 -7v672q0 24 17.5 41.5t41.5 17.5h356q24 0 41.5 -17.5t17.5 -41.5t17 -41.5t42 -17.5h355q25 0 42 -18t17 -42v-553q0 -24 -17 -41.5t-42 -17.5h-829q-24 0 -41.5 17.5t-17.5 41.5z" />
|
||||
<glyph glyph-name="uniE811" unicode="" horiz-adv-x="530"
|
||||
d="M265 700q103 0 176.5 -73t73.5 -177q0 -67 -25.5 -148t-62.5 -149.5t-74 -127t-63 -91.5l-25 -34l-27 35q-17 22 -60 89t-76 130t-60 146t-27 150q0 104 73.5 177t176.5 73zM265 312q56 0 95.5 39.5t39.5 95.5t-39.5 95.5t-95.5 39.5t-95.5 -39.5t-39.5 -95.5t39.5 -95.5
|
||||
t95.5 -39.5z" />
|
||||
<glyph glyph-name="uniE812" unicode="" horiz-adv-x="1030"
|
||||
d="M871 466h-100l-124 151l-214 -151h-180q-53 0 -90.5 -38t-37.5 -92v-159l-107 297q-6 16 0.5 31t21.5 20l680 248q15 5 29 -2t20 -23zM977 376q16 0 27 -11.5t11 -28.5v-471q0 -17 -11 -28.5t-27 -11.5h-724q-16 0 -27 11.5t-11 28.5v471q0 17 11 28.5t27 11.5h724z
|
||||
M922 -75v161l-73 161l-167 -60l-129 -133l-139 172l-92 -215v-86h600z" />
|
||||
<glyph glyph-name="uniE813" unicode=""
|
||||
d="M0 665v39q0 20 20 20h119q8 0 19 -2.5t19 -4.5q3 -2 7 -7t8 -12t6.5 -14t3.5 -11l14 -64h692q18 0 29.5 -13.5t8.5 -30.5l-55 -297q-4 -13 -14.5 -22t-24.5 -9h-557l18 -86q2 -8 8.5 -13.5t15.5 -5.5h440q8 0 14 -5.5t6 -14.5v-40q0 -8 -6 -13.5t-14 -5.5h-84h-335h-54
|
||||
q-8 0 -18.5 1.5t-18.5 4.5q-3 2 -7 7.5t-8 12.5t-6.5 13.5t-3.5 11.5l-110 522q-3 8 -9.5 13.5t-15.5 5.5h-87q-20 0 -20 20zM299 -7q0 24 17.5 42t41.5 18q25 0 42.5 -18t17.5 -42t-17.5 -41.5t-42.5 -17.5q-24 0 -41.5 17.5t-17.5 41.5zM634 -7q0 24 17 42t41.5 18t42 -18
|
||||
t17.5 -42t-17.5 -41.5t-42 -17.5t-41.5 17.5t-17 41.5z" />
|
||||
<glyph glyph-name="uniE814" unicode="" horiz-adv-x="1228"
|
||||
d="M31 151q0 46 82 97q66 36 143 46v51q-77 77 -77 190q0 194 154 194q77 0 97 -20q26 -20 36 -92q-97 -66 -98 -246q0 -159 67 -230q-26 0 -71 -31l-36 -20l-11 -10q-15 -11 -25 -21l-26 -26q-25 0 -138 31q-97 31 -97 87zM281 -43.5q0 40.5 93 97.5q87 46 158 51v56
|
||||
q-82 77 -81 205q0 210 163.5 210t163.5 -210q0 -128 -81 -205v-56q71 -6 158 -51.5t87 -96.5q0 -41 -71 -62q-77 -21 -149 -31q-46 -5 -107.5 -5t-107.5 5q-71 10 -148.5 31t-77.5 61.5zM763 617q10 72 36 92q20 20 97 20q153 0 153 -194q0 -113 -76 -190v-51
|
||||
q76 -10 143 -46q87 -46 87 -97t-102 -87q-113 -31 -139 -31l-25 26q-10 10 -26 21l-10 10q-20 10 -36 20q-46 31 -71 31q66 71 66 230q0 180 -97 246z" />
|
||||
<glyph glyph-name="uniE815" unicode="" horiz-adv-x="1228"
|
||||
d="M358 341l384 414l-128 -358l257 -149l-384 -414l127 358z" />
|
||||
<glyph glyph-name="uniE817" unicode="" horiz-adv-x="961"
|
||||
d="M481 722q169 0 287 -117t118 -286q0 -170 -117.5 -288.5t-287.5 -118.5q-169 0 -287.5 118.5t-118.5 288.5q0 167 118.5 285t287.5 118zM504 -11q67 0 116 169q-58 -6 -116 -8v-161zM375 70q34 -81 81 -81v161q-58 2 -115 8q11 -48 34 -88zM152 272q34 -40 133 -57
|
||||
q-7 46 -7 100q0 33 3 69q-82 16 -117 31q-14 -47 -14 -96q0 -33 2 -47zM322 315q0 -57 8 -109q60 -10 126 -12v176q-76 2 -132 9q0 -11 -1 -32t-1 -32zM454 646q-43 -16 -76 -77t-48 -148q61 -5 126 -7v232h-2zM536 629q-26 17 -32 17v-232q62 1 127 7q-26 145 -95 208z
|
||||
M504 194q64 1 126 11q8 40 8 110q0 41 -2 63q-64 -7 -132 -8v-176zM680 384q2 -24 2 -69q0 -49 -6 -101q90 15 112.5 36.5t22.5 68.5q0 50 -15 95q-57 -24 -116 -30zM779 458q-57 123 -179 167q54 -70 74 -199q84 15 105 32zM248 550q-40 -36 -66 -91q6 -5 104 -31
|
||||
q22 124 75 196q-80 -38 -113 -74zM248 85q40 -44 106 -71q-40 56 -60 151q-84 19 -125 41q31 -77 79 -121zM714 85q48 45 75 116q-47 -21 -121 -37q-23 -96 -62 -150q68 28 108 71z" />
|
||||
<glyph glyph-name="uniF301" unicode="" horiz-adv-x="978"
|
||||
d="M188 800h602q73 0 123.5 -51t50.5 -123v-602q0 -72 -50.5 -123t-123.5 -51h-602q-72 0 -123 51t-51 123v602q0 72 51 123t123 51zM515 -150h141v371h139l6 134h-145v97q0 32 10.5 46t45.5 14l85 -1l4 126q-41 4 -95 4q-95 0 -143 -49t-48 -123v-114h-99v-134h99v-371z
|
||||
" />
|
||||
<glyph glyph-name="uniF303" unicode="" horiz-adv-x="1332"
|
||||
d="M1318 385q-35 -5 -77.5 -0.5t-69.5 15.5q53 4 90.5 27t51.5 57q-22 -14 -69.5 -21t-84.5 4q-1 4 -3 14.5t-4 16.5q-26 97 -105.5 161.5t-170.5 54.5l29 11q2 1 14.5 4t24 6.5t23.5 9t17.5 12t1.5 14.5q-2 7 -14.5 7.5t-29.5 -4t-32.5 -9.5t-31 -11t-18.5 -7q64 24 69 53
|
||||
q-59 -8 -103 -49q17 19 20 39q-68 -43 -115 -122.5t-89 -192.5q-62 59 -99 79q-136 73 -335 148q-4 -42 23.5 -87.5t88.5 -77.5q-27 4 -81 -9q9 -48 43 -81t104 -49q-61 -4 -90 -35q19 -37 59.5 -61.5t101.5 -18.5q-35 -15 -46.5 -36.5t-2 -39t34.5 -28.5t55 -6
|
||||
q-68 -71 -158.5 -94.5t-177 -1.5t-148.5 82q79 -108 191.5 -172.5t229 -80t237 6.5t219.5 77.5t172.5 142.5t99.5 193q101 -1 155 59z" />
|
||||
<glyph glyph-name="uniF308" unicode="" horiz-adv-x="1132"
|
||||
d="M456 224q0 51 -22 87.5t-52.5 36.5t-52 -36.5t-21.5 -87.5t21.5 -87t52.5 -36t52.5 36t21.5 87zM856 224q0 51 -22 87.5t-52.5 36.5t-53 -36.5t-22.5 -87.5t22 -87t53.5 -36t53 36t21.5 87zM933 238q0 -37 -4.5 -68.5t-14.5 -55t-21 -42.5t-29.5 -32.5t-35 -23.5
|
||||
t-42.5 -16t-46.5 -10t-52 -6t-54.5 -2.5t-58 -0.5q-65 0 -114 5.5t-97 21.5t-78 43.5t-49 74.5t-19 112q0 78 61 142q23 24 58.5 33.5t65.5 8.5t84.5 -5.5t87.5 -4.5t87 4.5t85 5.5t66.5 -8.5t57.5 -32.5q62 -67 62 -143zM724 -99q156 15 239.5 64.5t120.5 136.5q6 12 19 59
|
||||
q16 52 16 174q0 146 -102 248q31 101 -15 216q-3 1 -9 2t-27 -1t-45.5 -9t-65.5 -27t-85 -50q-91 23 -198 23q-115 0 -218 -28q-47 32 -89 53t-68.5 28t-46.5 10t-28 1l-9 -2q-21 -54 -24 -108.5t2.5 -79.5t12.5 -43q-90 -98 -90 -233q0 -115 27 -193q2 -8 22 -48
|
||||
q87 -162 364 -193h297z" />
|
||||
<glyph glyph-name="u1D30D" unicode="𝌍" horiz-adv-x="1228"
|
||||
d="M154 294q0 190 133 323q138 138 327 138q195 0 323 -138q138 -128 138 -323q0 -189 -138 -327q-133 -133 -323 -133q-184 0 -327 133q-133 143 -133 327zM251 494h30q26 -30 32 -30q25 -93 55 -108l26 -15q16 0 16 25q0 20 -10 31q0 20 4 25q11 21 21 26q10 20 15 20
|
||||
l11 -15q15 -30 30 -36v-10q6 -15 6 -20v-10q0 -6 -6 -6q0 -5 -8 -5h-12q5 0 5 -10q6 -11 10 -15l11 -26l15 -26q5 -10 15 -20q16 -31 36 -36q21 -15 56 -15v-21l11 -5q5 0 5 -5q20 0 30 5l6 -5q-6 -20 -47 -41l-40 -15v-11q0 -5 -3 -15t-3 -25q-10 -57 -15 -62q26 -6 41 -5
|
||||
q10 0 41 10l41 10q15 -10 25 -25v-15l16 -6v-20l-5 -6l5 -10h15q31 0 36 36q41 16 61 46q21 26 21 72l-5 5q-21 36 -21 46q-15 31 -15 41q10 -15 30 -15h6l26 5l-16 25v6l20 -21l-10 -26l26 16l15 -5q16 5 26 30h-10v26l-16 -10l-5 5v5q-15 0 -20 5q-6 0 -6 11v4
|
||||
q-36 21 -46 21v-21v-10h-5q-25 31 -56 31h-20q-11 10 -21 10h-10v16l-10 5q0 5 -3 15t-3 20q-5 21 -15 32l5 10h-20q-10 36 -21 35l5 26v20l-15 6q-26 0 -26 -26l16 -31q-10 -20 -10 -25q0 -16 5 -21l-5 -10q-10 -10 -11 -20v-6l-46 -35q-5 0 -5 10v10v10q0 16 -15 36l15 -5
|
||||
q16 0 26 36v20q0 21 -6 26q11 0 11 25q56 11 56 72q0 16 -15 46l-10 10h5q15 -26 30 -25q6 0 16 10q5 10 5 21q0 15 -11 25l-4 5v6q20 10 20 15q5 5 5 15v31q-51 10 -72 10q-225 0 -363 -215zM650 305v20q0 -5 11 -15zM676 238v16q0 10 5 15v-31h20v5v-5h6q10 0 15 5l10 -5
|
||||
q16 -5 16 -15q0 -5 -6 -11h-10q-20 0 -30.5 -10t-15.5 -10l-5 5q20 0 20 21v15h-15l-5 5h-5zM758 207q5 -5 10 -5v-10q-5 -10 -5 -15v10q-5 5 -5 20zM891 141q0 -16 15 -31q10 -10 26 -10l10 -5q10 0 10 -5q-15 51 -25 56q-16 16 -31 25q0 -10 -5 -20v-10z" />
|
||||
<glyph glyph-name="u1F304" unicode="🌄"
|
||||
d="M0 -7v672q0 24 17.5 41.5t41.5 17.5h829q25 0 42 -17.5t17 -41.5v-672q0 -24 -17 -41.5t-42 -17.5h-829q-24 0 -41.5 17.5t-17.5 41.5zM79 13h789v632h-789v-632zM158 92v54l142 185l97 -80l182 276l210 -218v-217h-631zM158 486q0 33 23 56.5t57 23.5q33 0 56 -23.5
|
||||
t23 -56.5t-23 -56t-56 -23q-34 0 -57 23t-23 56z" />
|
||||
<glyph glyph-name="u1F310" unicode="🌐" horiz-adv-x="1228"
|
||||
d="M307 -115q0 51 51 51h205v61q-127 16 -235 113q-11 10 -11 36q0 21 11 31q15 15 30 15q21 0 36 -15q72 -72 169 -87h102q98 15 170 87q92 92 92 220t-92 220l-31 36l138 133q10 15 30.5 15t31.5 -15q15 -10 15 -30.5t-15 -30.5l-72 -77q87 -113 87 -251q0 -159 -118 -287
|
||||
q-107 -97 -236 -113v-61h206q51 0 51 -51t-51 -51h-513q-51 0 -51 51zM364 396.5q0 102.5 74 177t176.5 74.5t176.5 -74.5t74 -177t-74 -176.5t-176.5 -74t-176.5 74t-74 176.5z" />
|
||||
<glyph glyph-name="u1F381" unicode="🎁"
|
||||
d="M0 230v198q0 8 6 14t14 6h272q-29 0 -54 10.5t-44 29.5t-30 44t-11 53.5t11 54t30 44t44 29.5t54 11q30 0 57.5 -12.5t45.5 -35.5l79 -102l79 102q18 23 45 35.5t58 12.5q28 0 53.5 -11t44.5 -29.5t30 -44t11 -54t-11 -53.5t-30 -44t-44.5 -29.5t-53.5 -10.5h271
|
||||
q9 0 14.5 -6t5.5 -14v-198q0 -8 -5.5 -13.5t-14.5 -5.5h-59v-218q0 -24 -17 -41.5t-42 -17.5h-671q-24 0 -41.5 17.5t-17.5 41.5v218h-59q-8 0 -14 5.5t-6 13.5zM232 586q0 -24 17.5 -41.5t42.5 -17.5h119l-77 99q-6 5 -16.5 12t-25.5 7q-25 0 -42.5 -17.5t-17.5 -41.5z
|
||||
M375 45q0 -16 11.5 -27.5t28.5 -11.5h118q16 0 28 11.5t12 27.5v403h-198v-403zM536 527h120q24 0 42 17.5t18 41.5t-18 41.5t-42 17.5q-16 0 -26.5 -7t-15.5 -12z" />
|
||||
<glyph glyph-name="u1F3A4" unicode="🎤" horiz-adv-x="670"
|
||||
d="M635 438q8 0 14 -6t6 -14v-138q0 -93 -69 -165t-201 -83v-132h130q8 0 14 -6t6 -14v-60q0 -8 -6 -14t-14 -6h-360q-8 0 -14 6t-6 14v60q0 8 6 14t14 6h130v132q-132 11 -201 83t-69 165v138q0 8 6 14t14 6h30q8 0 14 -6t6 -14v-138q0 -28 12 -57t38.5 -58t78 -47
|
||||
t121.5 -18t121.5 18t78 47t38.5 58t12 57v138q0 8 6 14t14 6h30zM335 200q-79 0 -114.5 25t-35.5 55v158h300v-158q0 -30 -35.5 -55t-114.5 -25zM485 720v-212h-300v212q0 30 35.5 55t114.5 25t114.5 -25t35.5 -55z" />
|
||||
<glyph glyph-name="u1F3A7" unicode="🎧"
|
||||
d="M0 309q0 57 19.5 110t52.5 99t79 83.5t98.5 65t110 42.5t114.5 15t114 -15t110 -42.5t98.5 -65t78.5 -83.5t52.5 -99t19.5 -110q0 -92 -38 -174l-13 -29l-85 -13q-14 -51 -55.5 -85t-97.5 -34v-20q0 -8 -6 -14t-14 -6h-40q-9 0 -14 6t-5 14v355q0 8 5 14t14 6h40
|
||||
q8 0 14 -6t6 -14v-19q44 0 79.5 -22t56.5 -57l20 2q15 45 15 96q0 61 -32.5 115t-84 94t-114.5 64t-124 24t-124.5 -24t-114.5 -64t-83.5 -94t-32.5 -115q0 -48 15 -96l20 -2q21 35 56 57t79 22v19q0 8 6 14t14 6h40q9 0 14 -6t5 -14v-355q0 -8 -5 -14t-14 -6h-40
|
||||
q-8 0 -14 6t-6 14v20q-55 0 -96.5 34t-55.5 85l-85 13l-14 29q-38 82 -38 174z" />
|
||||
<glyph glyph-name="u1F3C6" unicode="🏆" horiz-adv-x="930"
|
||||
d="M524 82v-65q71 -8 117 -32t46 -55q0 -37 -65 -63.5t-157 -26.5t-157 26.5t-65 63.5q0 31 46 55t117 32v65q0 50 -33 85t-112 87q-45 30 -69 47.5t-63.5 54.5t-60 72t-37 88.5t-16.5 115.5q0 14 10 24.5t25 10.5h172q21 39 81.5 66t161.5 27t161.5 -27t81.5 -66h172
|
||||
q15 0 25 -10.5t10 -24.5q0 -62 -16.5 -115.5t-37 -88.5t-60 -72t-63.5 -54.5t-69 -47.5q-79 -52 -112 -87t-33 -85zM663 335q80 54 126 112t54 150h-126q-5 -157 -54 -262zM465 699q-39 0 -72 -6t-54 -15t-36 -20t-21.5 -20t-6.5 -16t6.5 -16t21.5 -20t36 -20t54 -15t72 -6
|
||||
t72 6t54 15t36 20t21.5 20t6.5 16t-6.5 16t-21.5 20t-36 20t-54 15t-72 6zM87 597q8 -92 54 -150t126 -112q-49 105 -54 262h-126z" />
|
||||
<glyph glyph-name="u1F3C9" unicode="🏉" horiz-adv-x="868"
|
||||
d="M0 470v96q0 17 11.5 28t28.5 11h166q-1 6 -1 13v12v2q0 27 2 45t8 28t16.5 14.5t28.5 4.5h348q17 0 28 -4.5t17 -14.5t8 -28t2 -45v-14q0 -6 -1 -13h166q17 0 28.5 -11t11.5 -28v-96q0 -33 -23 -67.5t-62.5 -65.5t-92.5 -55t-114 -33q-27 -5 -47.5 -21.5t-20.5 -36.5
|
||||
q0 -18 9 -26.5t20 -15.5t20.5 -16t11.5 -27q3 -12 -1 -24q-2 -8 12.5 -12.5t35 -9.5t42 -11.5t33.5 -17.5q6 -5 9.5 -20.5t4.5 -33.5q1 -16 -3 -29.5t-15 -13.5h-506q-10 0 -14.5 13.5t-3.5 29.5q1 18 5 33.5t10 20.5q11 11 32.5 17.5t42 11.5t35 9.5t12.5 12t-2 12.5v12
|
||||
q1 18 11 27t21.5 16t20.5 15.5t9 26.5q0 20 -20.5 36.5t-47.5 21.5q-60 10 -113.5 34t-93 54.5t-62.5 65t-23 67.5zM79 470q0 -11 12 -28t34.5 -36t55 -37t72.5 -31q-13 41 -23 90t-17 98h-134v-56zM616 338q40 13 72 31t54.5 37t34.5 36t12 28v56h-134q-7 -49 -17 -98
|
||||
t-22 -90z" />
|
||||
<glyph glyph-name="u1F44D" unicode="👍" horiz-adv-x="824"
|
||||
d="M0.5 168q-1.5 59 2 118t13.5 110q47 3 98.5 3t94.5 -10q7 -40 11 -96t5.5 -116t0.5 -116.5t-5 -98.5q-19 -3 -43.5 -3.5t-51.5 1t-53 2t-47 0.5q-10 40 -17 93.5t-8.5 112.5zM96 41q0 -17 11.5 -28.5t28.5 -11.5t28 11.5t11 28.5q0 15 -11 26.5t-28 11.5t-28.5 -11.5
|
||||
t-11.5 -26.5zM253 368q23 10 37 20t25.5 22.5t24 27.5t32.5 36q16 17 29.5 28t24.5 21t20 21t18 27q17 31 22.5 68.5t13.5 71.5q0 7 7 12q20 3 37 -4t29.5 -18.5t20.5 -27.5t11 -29q7 -35 -1 -63t-20 -53l-24 -49q-11 -24 -12 -50q23 -10 55 -10.5t66.5 1.5t67 2t55 -9
|
||||
t30 -30.5t-5.5 -63.5q0 -2 -2 -5l-6 -8q-3 -5 -5 -10l-2 -3q12 -11 17 -24t5 -21q1 -41 -34 -72q11 -15 12 -32.5t-4 -33.5t-15 -28t-23 -18q6 -36 -6.5 -61.5t-37 -40.5t-59.5 -21.5t-73 -6.5t-76.5 5.5t-70.5 14.5q-21 7 -41 15l-41 15q-20 8 -43 12.5t-48 -0.5
|
||||
q2 41 2.5 89.5t-1 98.5t-4.5 97.5t-7 86.5z" />
|
||||
<glyph glyph-name="u1F44E" unicode="👎" horiz-adv-x="824"
|
||||
d="M1 410q-1 22 8 39.5t26 32.5q-10 15 -11 32.5t4 33.5t15 28t22 18q-6 36 6.5 61.5t37.5 40.5t59.5 21.5t72.5 6.5t76.5 -5.5t70.5 -14.5q21 -7 41 -15t41 -15.5t43.5 -11.5t47.5 1q-2 -41 -2.5 -90t1 -99t4 -97.5t8.5 -86.5q-24 -11 -38 -21t-25 -22t-23.5 -27t-32.5 -35
|
||||
q-16 -18 -29 -29l-24 -21q-12 -10 -21.5 -20.5t-18.5 -27.5q-17 -31 -21.5 -68.5t-14.5 -71.5q0 -9 -7 -12q-21 -3 -37.5 4t-29 18.5t-20.5 26.5t-11 30q-6 35 1.5 63t20 53t23.5 49.5t12 50.5q-22 9 -54.5 9t-67 -1.5t-66.5 -1.5t-54.5 9t-30.5 30.5t5 62.5q1 1 4 6l6 9
|
||||
q2 4 3 9l2 3q-11 11 -16.5 24t-5.5 21zM598 597.5q1 56.5 5 98.5q19 2 44.5 2.5t52 0t52.5 -1.5t47 -1q10 -40 16.5 -93.5t8 -112t-2 -118t-13.5 -110.5q-47 -4 -98 -4t-95 11q-7 40 -11 96t-5.5 116t-0.5 116.5zM649 618q0 -16 12 -28t28 -12t27.5 12t11.5 28t-11.5 27.5
|
||||
t-27.5 11.5t-28 -11.5t-12 -27.5z" />
|
||||
<glyph glyph-name="u1F464" unicode="👤" horiz-adv-x="970"
|
||||
d="M751 78q94 -34 149 -67t55 -56v-105h-940v105q0 23 55 56t149 67q93 34 128 69t35 95q0 20 -10 31.5t-24 31.5t-21 58q-2 12 -9 17.5t-14.5 8t-14 17t-8.5 43.5q0 15 4.5 25.5t8.5 13.5l5 3q-9 50 -13 88q-2 21 6 47.5t27.5 55.5t62.5 48.5t103 19.5t103 -19.5
|
||||
t62.5 -48.5t27.5 -55.5t6 -47.5l-13 -88q18 -8 18 -42q-2 -29 -8.5 -43.5t-14 -17t-14.5 -8t-9 -17.5q-7 -38 -21 -58t-24 -31.5t-10 -31.5q0 -60 35 -95t128 -69z" />
|
||||
<glyph glyph-name="u1F465" unicode="👥" horiz-adv-x="1030"
|
||||
d="M1015 -125h-225v144q0 52 -30 78.5t-154 85.5q41 29 41 81q0 14 -13.5 31.5t-18.5 49.5q-1 8 -5.5 11.5t-8.5 5t-8.5 11.5t-5.5 29q0 10 2.5 17t5.5 9l3 2q-6 33 -8 59q-1 14 3.5 31.5t16.5 37t38 32.5t62 13t62 -13t37.5 -32.5t16 -37t3.5 -31.5l-7 -59q10 -6 10 -28
|
||||
q-1 -19 -5.5 -29t-8.5 -11.5t-8.5 -5t-5.5 -11.5q-5 -32 -18.5 -49.5t-13.5 -31.5q0 -40 21 -63.5t77 -46.5q61 -25 90 -41t41 -36q5 -8 8.5 -58.5t4.5 -96.5zM526 127q89 -36 136.5 -64t47.5 -56v-132h-695v176q0 20 15.5 36t28.5 22.5t35 15.5q3 1 5 2q75 30 103 61t28 85
|
||||
q0 19 -18.5 42t-25.5 66q-2 10 -7.5 15t-11.5 7t-11 15t-7 39q0 13 3.5 22.5t7.5 12.5l4 2q-8 45 -11 79q-2 19 4.5 42t22 49t50.5 43.5t83 17.5t82.5 -17.5t50 -43.5t22 -49t4.5 -42l-10 -79q14 -7 14 -37q-2 -26 -7.5 -39t-11 -15t-11 -7t-7.5 -15q-7 -43 -25 -66t-18 -42
|
||||
q0 -54 28 -85t102 -61z" />
|
||||
<glyph glyph-name="u1F4A1" unicode="💡" horiz-adv-x="670"
|
||||
d="M473 10h-265q0 59 -21.5 114.5t-50.5 97.5l-59 86q-29 43 -47 97t-14 112q3 43 14.5 81.5t36 76t59 64.5t88.5 44t121 17t121 -17t88.5 -44t59 -64.5t36 -76t14.5 -81.5q4 -59 -12.5 -113t-43.5 -98l-56 -86q-29 -44 -49 -98t-20 -112zM203 -159v99h264v-99
|
||||
q-60 -42 -132 -41q-72 -1 -132 41z" />
|
||||
<glyph glyph-name="u1F4B0" unicode="💰" horiz-adv-x="803"
|
||||
d="M312 349q17 20 66 23v-84q-43 3 -59.5 10t-16.5 28q0 13 10 23zM420 108v91q48 -4 63 -10.5t15 -24.5q0 -45 -78 -56zM490 351q22 -12 29 -19.5t7 -17.5l8 -4l45 90l-7 5q-10 -7 -13 -7q-8 0 -13 3q-90 35 -126 35v18q0 14 20 18v9h-79v-9q17 -4 17 -18v-15
|
||||
q-73 -3 -113 -35.5t-40 -87.5t33.5 -78.5t119.5 -31.5v-96q-56 5 -86.5 23.5t-30.5 40.5l-7 4l-42 -94l7 -4q9 5 12 5q7 0 9 -3q72 -36 138 -40v-18q0 -15 -17 -20v-9h79v9q-20 5 -20 20v18q72 4 115.5 38.5t43.5 88.5q0 101 -149 115h-10v87q36 -2 70 -20zM531 532
|
||||
q89 -37 143.5 -118.5t54.5 -181.5q0 -136 -95.5 -231.5t-231.5 -95.5t-231.5 95.5t-95.5 231.5q0 100 54.5 181.5t142.5 118.5l-81 179q0 25 28 25h366q27 0 27 -25z" />
|
||||
<glyph glyph-name="u1F4B5" unicode="💵" horiz-adv-x="1293"
|
||||
d="M79 291q76 0 149 24t134.5 62t121.5 85l120 92q61 46 122.5 84t134.5 62.5t149 24.5l105 -227l90 -192q-103 0 -199.5 -42t-176.5 -102l-160 -122q-80 -62 -182.5 -110.5t-212.5 -57.5l-98 210zM199 225l63 -137l64 -136q132 26 283 137q-70 27 -107 103q-32 72 -20 168
|
||||
q-154 -112 -283 -135zM1085 372l-68 145l-59 128q-136 -25 -284 -137q67 -24 106 -103q34 -75 20 -167q151 111 285 134zM428 68q-4 6 -10 18t-8 18q-5 -3 -10 -3q1 -11 6 -40q15 3 22 7zM455 90q4 6 11 21q-24 7 -38 13q0 -2 -1.5 -3.5t-3 -3.5t-1.5 -3zM371 68q1 3 6 15.5
|
||||
t8 18.5q-5 3 -9 6q-4 -6 -13 -15t-13 -14q12 -10 21 -11zM468 148q-3 14 -6 22h-1q-15 -10 -35 -20v-1q3 -3 3 -10q21 3 39 9zM329 106q27 10 37 15q-2 8 -2 9q-14 -1 -43 -1q1 -11 8 -23zM416 161q4 5 12 17l12 17q-10 9 -19 10q-10 -25 -13 -39q1 0 4 -2t4 -3zM365 145
|
||||
q3 3 5 10l-16 13l-15 12q-8 -8 -11 -20q3 -1 11.5 -4.5t14.5 -5.5t11 -5zM392 168q0 7 -2 20t-2 20q-8 -2 -23 -7q3 -3 5 -9t4 -10q-2 4 -4 10t-5 9q3 -6 8.5 -18.5t8.5 -18.5q2 1 10 4zM872 404q-8 22 -43 94q-13 -7 -19 -12q8 -16 22 -47l20 -47q12 8 20 12zM960 446
|
||||
q-5 13 -20.5 44t-23.5 49q-4 -1 -10.5 -4.5t-9.5 -4.5l44 -91q11 3 20 7zM916 426q-6 15 -14 30l-16 35l-15 29q-3 -2 -9 -5l-10 -5q26 -51 44 -92q4 1 11 4t9 4z" />
|
||||
<glyph glyph-name="u1F4C2" unicode="📂"
|
||||
d="M0 129v536q0 24 17.5 41.5t41.5 17.5h356q24 0 41.5 -17.5t17.5 -41.5t17 -41.5t42 -17.5h227q24 0 41.5 -18t17.5 -42v-114h-632q-19 0 -36.5 -6.5t-33.5 -17.5t-27.5 -26t-17.5 -33zM22 -66l126 391q4 11 16.5 19.5t23.5 8.5h759l-133 -389q-3 -12 -16 -21t-24 -9h-752
|
||||
z" />
|
||||
<glyph glyph-name="u1F4C4" unicode="📄" horiz-adv-x="631"
|
||||
d="M0 -7v672q0 24 17.5 41.5t41.5 17.5h230v-283q0 -25 17.5 -42t41.5 -17h284v-389q0 -24 -17.5 -41.5t-41.5 -17.5h-514q-24 0 -41.5 17.5t-17.5 41.5zM348 441v280h4l276 -277v-3h-280z" />
|
||||
<glyph glyph-name="u1F4C5" unicode="📅" horiz-adv-x="789"
|
||||
d="M0 -7v578q0 24 17.5 41.5t41.5 17.5h38v-73q0 -29 20.5 -49.5t49.5 -20.5h16q30 0 51 20.5t21 49.5v73h61v-73q0 -29 20.5 -49.5t49.5 -20.5h17q30 0 50.5 20.5t20.5 49.5v73h61v-73q0 -29 21 -49.5t50 -20.5h16q30 0 50.5 20.5t20.5 49.5v73h38q24 0 41 -17.5t17 -41.5
|
||||
v-578q0 -24 -17 -41.5t-41 -17.5h-672q-24 0 -41.5 17.5t-17.5 41.5zM79 13h632v419h-632v-419zM136 557v135q0 13 9.5 22.5t21.5 9.5h16q14 0 23 -9.5t9 -22.5v-135q0 -12 -9 -21t-23 -9h-16q-12 0 -21.5 9t-9.5 21zM186 101q0 37 21 61t46 42l46 33q21 16 21 38
|
||||
q0 21 -12 30.5t-30 9.5q-12 0 -22 -4.5t-17 -12.5q-4 -4 -7.5 -8t-6.5 -9l-36 24q8 14 22 28q11 12 28.5 20.5t42.5 8.5q37 0 64.5 -22t27.5 -62q0 -22 -9.5 -38t-24.5 -29.5t-32 -24.5l-31 -20q-15 -11 -25 -22.5t-10 -26.5h97v36h44v-77h-195q-1 7 -1.5 13t-0.5 12z
|
||||
M356 557v135q0 13 9 22.5t21 9.5h17q13 0 22.5 -9.5t9.5 -22.5v-135q0 -12 -9.5 -21t-22.5 -9h-17q-12 0 -21 9t-9 21zM418 282v74h197v-35l-123 -245h-54l113 223q3 9 6 12l3 4v1q-3 0 -5 -1h-14h-79v-33h-44zM575 557v135q0 13 9 22.5t22 9.5h16q13 0 22.5 -9.5t9.5 -22.5
|
||||
v-135q0 -12 -9.5 -21t-22.5 -9h-16q-13 0 -22 9t-9 21z" />
|
||||
<glyph glyph-name="u1F4C8" unicode="📈" horiz-adv-x="1228"
|
||||
d="M205 -64v666h102v-374l251 358l220 -276l113 77l61 -82l-194 -134l-195 246l-256 -363v-16h666v-102h-768z" />
|
||||
<glyph glyph-name="u1F4CA" unicode="📊" horiz-adv-x="1228"
|
||||
d="M256 -64v307h205v-307h-205zM512 -59v712h205v-712h-205zM768 -59v507h205v-507h-205z" />
|
||||
<glyph glyph-name="u1F4CC" unicode="📌"
|
||||
d="M1 419q4 40 22 85t49.5 87t69 72t75.5 45.5t72 15t59 -19.5q27 -19 37 -52.5t6 -74.5l148 -110q55 30 107 35t89 -23q26 -20 39 -53t12 -74t-15 -88t-42 -93l212 -203q5 -5 6 -12.5t-4 -12.5q-5 -9 -16 -9q-3 0 -9 2l-255 146q-37 -39 -77.5 -66.5t-79.5 -40t-74.5 -10
|
||||
t-63.5 23.5q-36 27 -46.5 78t3.5 112l-148 112q-38 -16 -73 -16t-61 19q-25 19 -35.5 52t-6.5 73zM84 374q1 -8 9 -13q8 -8 23 -8q16 0 33 8.5t35 23t35.5 33t33.5 39.5q5 7 4 14.5t-9 13.5q-6 5 -14 4t-13 -8q-39 -52 -69 -71.5t-36 -17.5q-7 5 -14.5 4t-13.5 -8
|
||||
q-5 -6 -4 -14zM231 322l178 -134q7 -4 12 -4q11 0 16 8q5 6 4 14t-7 13l-172 128q-16 -15 -31 -25zM414 83q-11 -17 4 -29q14 -10 35 -10q20 0 43 10.5t46.5 28.5t47 41t43.5 49q5 8 4 15.5t-9 13.5q-6 5 -14 3.5t-13 -8.5q-25 -33 -50.5 -57t-47.5 -37.5t-38.5 -17.5
|
||||
t-23.5 2q-6 5 -14 3.5t-13 -7.5z" />
|
||||
<glyph glyph-name="u1F4CE" unicode="📎" horiz-adv-x="965"
|
||||
d="M259 -192q-58 0 -110 26.5t-84.5 72t-45.5 100t6.5 116t72.5 114.5l222 222l273 274q37 37 83.5 51t92.5 2q45 -12 79 -46t46 -79q12 -46 -2 -92.5t-51 -83.5l-474 -473q-24 -24 -52 -37t-60 -10t-56 27q-19 19 -25.5 46t4.5 60t40 62l333 332q11 10 25 10t24 -10t10 -24
|
||||
t-10 -25l-332 -333q-21 -21 -25.5 -40.5t5.5 -27.5q9 -9 23 -7q25 3 47 26l473 474q50 52 35 108q-8 27 -28 47t-47 28q-57 16 -108 -35l-274 -273l-222 -222q-44 -44 -56.5 -94t1 -91t45.5 -73t73 -45.5t91 -1t94 56.5l495 496q10 10 25 10t25 -10t10 -25t-10 -25
|
||||
l-496 -495q-83 -83 -185 -83z" />
|
||||
<glyph glyph-name="u1F4D6" unicode="📖" horiz-adv-x="930"
|
||||
d="M355 186v-67l-200 80v67zM355 394v-68l-200 80v68zM846 746q26 10 47.5 -6t21.5 -40v-640q0 -33 -31 -46l-400 -160q-2 0 -5.5 -1.5t-7 -2t-6.5 -0.5t-6.5 0.5t-7 2t-5.5 1.5l-400 160q-31 13 -31 46v640q0 24 21.5 40t47.5 6l381 -152zM415 -48v561l-320 128v-561z
|
||||
M835 80v561l-320 -128v-561zM775 266v-67l-200 -80v67zM775 474v-68l-200 -80v68z" />
|
||||
<glyph glyph-name="u1F50D" unicode="🔍" horiz-adv-x="820"
|
||||
d="M787 27q34 -34 7 -61l-47 -47q-14 -14 -33.5 -14t-33.5 14l-190 190q-72 -42 -156 -42q-128 0 -223.5 95.5t-95.5 223.5t90.5 218.5t218.5 90.5t223.5 -95.5t95.5 -223.5q0 -84 -45 -160zM110 386q0 -88 68 -156t156 -68t151 63t63 151t-68 156t-156 68t-151 -63
|
||||
t-63 -151z" />
|
||||
<glyph glyph-name="u1F512" unicode="🔒" horiz-adv-x="730"
|
||||
d="M655 425q21 0 40.5 -19.5t19.5 -40.5v-390q0 -21 -14 -40t-34 -25l-59 -20q-49 -15 -98 -15h-290q-49 0 -98 15l-59 20q-20 6 -34 25t-14 40v390q0 22 15 41t35 19h100v70q0 110 51 170t149 60t149 -60t51 -170v-70h90zM265 515v-90h200v90q0 53 -27 81.5t-73 28.5
|
||||
t-73 -28.5t-27 -81.5z" />
|
||||
<glyph glyph-name="u1F513" unicode="🔓" horiz-adv-x="730"
|
||||
d="M655 400q21 0 40.5 -19.5t19.5 -40.5v-390q0 -21 -14 -40t-34 -25l-59 -20q-49 -15 -98 -15h-290q-49 0 -98 15l-59 20q-20 6 -34 25t-14 40v390q0 22 15 41t35 19h400v140q0 53 -27 81.5t-73 28.5t-73 -28.5t-27 -81.5v-40h-100v20q0 110 51 170t149 60t149 -60t51 -170
|
||||
v-120h90z" />
|
||||
<glyph glyph-name="u1F516" unicode="🔖" horiz-adv-x="631"
|
||||
d="M0 -9v675q0 18 9.5 32t26.5 21q5 3 10.5 4t11.5 1h516q5 0 11 -1t11 -4q17 -7 26.5 -21t9.5 -32v-675q0 -18 -9.5 -32t-26.5 -21q-16 -7 -33.5 -3.5t-28.5 16.5l-218 218l-218 -218q-12 -13 -29 -16.5t-33 3.5q-17 8 -26.5 21.5t-9.5 31.5z" />
|
||||
<glyph glyph-name="u1F517" unicode="🔗"
|
||||
d="M0 92v474q0 32 12.5 61t33.5 50t50 34t62 13h299q-1 -8 -2 -14.5t-1 -15.5v-45q0 -12 3 -24h-299q-24 0 -41.5 -17.5t-17.5 -41.5v-474q0 -24 17.5 -41.5t41.5 -17.5h553q24 0 41 17.5t17 41.5v175q22 -16 47 -25.5t52 -10.5v-139q0 -33 -12.5 -61t-34 -50t-50 -34.5
|
||||
t-60.5 -12.5h-553q-33 0 -62 12.5t-50 34.5t-33.5 50t-12.5 61zM356 202.5q0 12.5 8 21.5l396 397h-138q-13 0 -21 8t-8 21v44q-1 12 7.5 21t21.5 9h296q11 0 20 -9t9 -21v-44v-252q0 -12 -9 -21t-20 -8h-44q-13 0 -21.5 8.5t-8.5 20.5v138l-397 -395q-8 -9 -20.5 -9
|
||||
t-21.5 9l-41 41q-8 8 -8 20.5z" />
|
||||
<glyph glyph-name="u1F525" unicode="🔥" horiz-adv-x="710"
|
||||
d="M0 159q0 62 32 126.5t87 117.5q-12 -79 0.5 -127t32.5 -75q23 -32 55 -47q-25 111 -14 215q4 44 16 92t35.5 95t61.5 90t94 78q-24 -52 -23 -95t11 -75q12 -37 36 -67l32 -39q16 -20 27 -45.5t17 -59.5t6 -82q-9 21 -28 33.5t-43 12.5q-34 0 -56.5 -23t-22.5 -56
|
||||
q0 -17 5.5 -31.5t18 -26.5t32 -18t46.5 -6q46 4 81 32q14 13 27 31.5t21.5 45.5t10.5 63t-5 85h-1q54 -53 86.5 -117.5t32.5 -126.5q0 -56 -28 -98.5t-76.5 -70t-113 -42t-138 -14.5t-138 14.5t-113 42t-76.5 70t-28 98.5z" />
|
||||
<glyph glyph-name="u1F554" unicode="🕔" horiz-adv-x="950"
|
||||
d="M475 760q125 0 231 -61.5t167.5 -167.5t61.5 -231t-61.5 -231t-167.5 -167.5t-231 -61.5t-231 61.5t-167.5 167.5t-61.5 231t61.5 231t167.5 167.5t231 61.5zM475 -60q149 0 254.5 105.5t105.5 254.5t-105.5 254.5t-254.5 105.5t-254.5 -105.5t-105.5 -254.5
|
||||
t105.5 -254.5t254.5 -105.5zM510 560v-246l150 -149l-50 -50l-170 170v275h70z" />
|
||||
<glyph glyph-name="u1F6AB" unicode="🚫" horiz-adv-x="950"
|
||||
d="M475 760q125 0 231 -61.5t167.5 -167.5t61.5 -231t-61.5 -231t-167.5 -167.5t-231 -61.5t-231 61.5t-167.5 167.5t-61.5 231t61.5 231t167.5 167.5t231 61.5zM723 547h-1h1zM125 300q0 -125 79 -222l492 493q-97 79 -221 79q-145 0 -247.5 -102.5t-102.5 -247.5zM227 53
|
||||
l1 -1zM475 -50q145 0 247.5 102.5t102.5 247.5q0 124 -79 221l-492 -492q97 -79 221 -79z" />
|
||||
</font>
|
||||
</defs></svg>
|
||||
|
After Width: | Height: | Size: 63 KiB |
BIN
assets/semantic-ui/themes/basic/assets/fonts/icons.ttf
Normal file
BIN
assets/semantic-ui/themes/basic/assets/fonts/icons.ttf
Normal file
Binary file not shown.
BIN
assets/semantic-ui/themes/basic/assets/fonts/icons.woff
Normal file
BIN
assets/semantic-ui/themes/basic/assets/fonts/icons.woff
Normal file
Binary file not shown.
|
|
@ -0,0 +1,4 @@
|
|||
/*******************************
|
||||
Overrides
|
||||
*******************************/
|
||||
|
||||
11
assets/semantic-ui/themes/basic/collections/table.variables
Normal file
11
assets/semantic-ui/themes/basic/collections/table.variables
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
/*-------------------
|
||||
Table Variables
|
||||
--------------------*/
|
||||
|
||||
@headerBackground: @white;
|
||||
@footerBackground: @white;
|
||||
|
||||
@cellVerticalPadding: 1em;
|
||||
@cellHorizontalPadding: 1em;
|
||||
|
||||
@stateMarkerWidth: 1px;
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue