Browse Source

removes undocumented error state for buttons, adds in draft components

pull/55/head
jlukic 11 years ago
parent
commit
5f864996a5
11 changed files with 1726 additions and 553 deletions
  1. 104
      build/less/elements/button.less
  2. 93
      build/uncompressed/elements/button.css
  3. 45
      node/src/documents/elements/button.html
  4. 327
      node/src/draft/less/carousel.js
  5. 71
      node/src/draft/less/carousel.less
  6. 1197
      node/src/draft/less/extra.transitions.less
  7. 46
      node/src/draft/less/sitemap.less
  8. 104
      node/src/files/release/less/elements/button.less
  9. 93
      node/src/files/release/uncompressed/elements/button.css
  10. 95
      spec/button.json
  11. 104
      src/elements/button.less

104
build/less/elements/button.less

@ -295,110 +295,6 @@
box-shadow: 0px 1px 0.2em 0px rgba(0, 0, 0, 0.3) inset;
}
/*--------------
Error
---------------*/
.ui.error.button {
cursor: default;
position: relative !important;
background-color: #D95C5C !important;
color: transparent !important;
text-shadow: none;
-webkit-transition: all 0s linear;
-moz-transition: all 0s linear;
-o-transition: all 0s linear;
-ms-transition: all 0s linear;
transition: all 0s linear;
}
.ui.error.button .icon {
opacity: 1;
color: #FFFFFF;
}
.ui.error.button:after {
position: absolute;
left: 50%;
content: "Error";
margin-left: -1.8em;
color: #FFFFFF;
-webkit-animation: button-text 0.5s;
-moz-animation: button-text 0.5s;
-ms-animation: button-text 0.5s;
-o-animation: button-text 0.5s;
animation: button-text 0.5s;
}
.ui.error.button .icon:before {
font-family: 'Icons';
content: '\26a0';
}
/*--------------
Success
---------------*/
.ui.success.button {
position: relative !important;
background-color: #5BBD72 !important;
color: transparent !important;
}
.ui.success.button .icon {
opacity: 1;
color: #FFFFFF;
}
.ui.success.button .icon:before {
font-family: 'Icons';
content: '\2611';
}
.ui.success.button:after {
position: absolute;
left: 50%;
content: "Success";
margin-left: -2em;
color: #FFFFFF;
-webkit-animation: button-text 0.5s;
-moz-animation: button-text 0.5s;
-ms-animation: button-text 0.5s;
-o-animation: button-text 0.5s;
animation: button-text 0.5s;
}
@-webkit-keyframes button-text {
0% {
-webkit-transform: translateY(100%);
opacity: 0;
}
100% {
opacity: 1;
-webkit-transform: translateY(0);
}
}
@-moz-keyframes button-text {
0% {
-moz-transform: translateY(100%);
opacity: 0;
}
100% {
opacity: 1;
-moz-transform: translateY(0);
}
}
@keyframes button-text {
0% {
transform: translateY(100%);
opacity: 0;
}
100% {
opacity: 1;
transform: translateY(0);
}
}
/*--------------
Loading
---------------*/

93
build/uncompressed/elements/button.css

@ -198,99 +198,6 @@
-moz-box-shadow: 0px 1px 0.2em 0px rgba(0, 0, 0, 0.3) inset;
box-shadow: 0px 1px 0.2em 0px rgba(0, 0, 0, 0.3) inset;
}
/*--------------
Error
---------------*/
.ui.error.button {
cursor: default;
position: relative !important;
background-color: #D95C5C !important;
color: transparent !important;
text-shadow: none;
-webkit-transition: all 0s linear;
-moz-transition: all 0s linear;
-o-transition: all 0s linear;
-ms-transition: all 0s linear;
transition: all 0s linear;
}
.ui.error.button .icon {
opacity: 1;
color: #FFFFFF;
}
.ui.error.button:after {
position: absolute;
left: 50%;
content: "Error";
margin-left: -1.8em;
color: #FFFFFF;
-webkit-animation: button-text 0.5s;
-moz-animation: button-text 0.5s;
-ms-animation: button-text 0.5s;
-o-animation: button-text 0.5s;
animation: button-text 0.5s;
}
.ui.error.button .icon:before {
font-family: 'Icons';
content: '\26a0';
}
/*--------------
Success
---------------*/
.ui.success.button {
position: relative !important;
background-color: #5BBD72 !important;
color: transparent !important;
}
.ui.success.button .icon {
opacity: 1;
color: #FFFFFF;
}
.ui.success.button .icon:before {
font-family: 'Icons';
content: '\2611';
}
.ui.success.button:after {
position: absolute;
left: 50%;
content: "Success";
margin-left: -2em;
color: #FFFFFF;
-webkit-animation: button-text 0.5s;
-moz-animation: button-text 0.5s;
-ms-animation: button-text 0.5s;
-o-animation: button-text 0.5s;
animation: button-text 0.5s;
}
@-webkit-keyframes button-text {
0% {
-webkit-transform: translateY(100%);
opacity: 0;
}
100% {
opacity: 1;
-webkit-transform: translateY(0);
}
}
@-moz-keyframes button-text {
0% {
-moz-transform: translateY(100%);
opacity: 0;
}
100% {
opacity: 1;
-moz-transform: translateY(0);
}
}
@keyframes button-text {
0% {
transform: translateY(100%);
opacity: 0;
}
100% {
opacity: 1;
transform: translateY(0);
}
}
/*--------------
Loading
---------------*/

45
node/src/documents/elements/button.html

@ -59,22 +59,6 @@ type : 'UI Element'
</div>
</div>
<div class="example">
<h4 class="ui header">Primary</h4>
<p>A button can be formatted to greatly emphasize interaction with a particular button</p>
<div class="ui primary button">
Add to Cart
</div>
</div>
<div class="example">
<h4 class="ui header">Secondary</h4>
<p>A button can be formatted to show slightly emphasis a particular button</p>
<div class="ui secondary button">
Save
</div>
</div>
<div class="example">
<h4 class="ui header">Social</h4>
<p>A button can be formatted to link to a social website</p>
@ -153,24 +137,6 @@ type : 'UI Element'
<div class="ui loading button">Loading Button</div>
</div>
<!-- <div class="example">
<h4 class="ui header">Success</h4>
<p>A button can alert to a succesful action:</p>
<div class="ui success button">
<i class="add user icon"></i>
Follo
w User
</div>
</div>
<div class="example">
<h4 class="ui header">Error</h4>
<p>A button can alert user of an error:</p>
<div class="ui error button">
<i class="add user icon"></i>
Follow User
</div>
</div> -->
<h2 class="ui dividing header">Variations</h2>
<div class="example">
@ -202,6 +168,17 @@ type : 'UI Element'
</div>
</div>
<div class="example">
<h4 class="ui header">Ordinality</h4>
<p>A button can be formatted to show different levels of emphasis</p>
<div class="ui primary button">
Add to Cart
</div>
<div class="ui secondary button">
Save
</div>
</div>
<div class="example">
<h4 class="ui header">Basic</h4>
<p>A basic button removes all unnecessary formatting</p>

327
node/src/draft/less/carousel.js

@ -0,0 +1,327 @@
/* ******************************
Semantic Module: Carousel
Author: Jack Lukic
Notes: First Commit May 28, 2013
A carousel alternates between
several pieces of content in sequence.
****************************** */
;(function ( $, window, document, undefined ) {
$.fn.carousel = function(parameters) {
var
$allModules = $(this),
settings = $.extend(true, {}, $.fn.carousel.settings, parameters),
eventNamespace = '.' + settings.namespace,
moduleNamespace = 'module-' + settings.namespace,
moduleSelector = $allModules.selector || '',
time = new Date().getTime(),
performance = [],
query = arguments[0],
methodInvoked = (typeof query == 'string'),
queryArguments = [].slice.call(arguments, 1),
invokedResponse
;
$allModules
.each(function() {
var
$module = $(this),
$arrows = $(settings.selector.arrows),
$leftArrow = $(settings.selector.leftArrow),
$rightArrow = $(settings.selector.rightArrow),
$content = $(settings.selector.content),
$navigation = $(settings.selector.navigation),
$navItem = $(settings.selector.navItem),
selector = $module.selector || '',
element = this,
instance = $module.data('module-' + settings.namespace),
className = settings.className,
namespace = settings.namespace,
errors = settings.errors,
module
;
module = {
initialize: function() {
module.openingAnimation();
module.marquee.autoAdvance();
$leftArrow
.on('click', module.marquee.left)
;
$rightArrow
.on('click', module.marquee.right)
;
$navItem
.on('click', module.marquee.change)
;
},
destroy: function() {
module.verbose('Destroying previous module for', $module);
$module
.off(eventNamespace)
;
},
left: function() {
var
$activeContent = $content.filter('.' + className.active),
currentIndex = $content.index($activeContent),
imageCount = $content.size(),
newIndex = (currentIndex - 1 != -1)
? (currentIndex - 1)
: (imageCount - 1)
;
$navItem
.eq(newIndex)
.trigger('click')
;
},
right: function() {
var
$activeContent = $content.filter('.' + className.active),
currentIndex = $content.index($activeContent),
imageCount = $content.size(),
newIndex = (currentIndex + 1 != imageCount)
? (currentIndex + 1)
: 0
;
$navItem
.eq(newIndex)
.trigger('click')
;
},
change: function() {
var
$selected = $(this),
selectedIndex = $navItem.index($selected),
$selectedImage = $content.eq(selectedIndex)
;
module.marquee.autoAdvance();
$selected
.addClass('active')
.siblings()
.removeClass('active')
;
$selectedImage
.addClass('active animated fadeIn')
.siblings('.' + className.active)
.removeClass('animated fadeIn scaleIn')
.animate({
opacity: 0
}, 500, function(){
$(this)
.removeClass('active')
.removeAttr('style')
;
})
;
},
autoAdvance: function() {
clearInterval(module.timer);
module.timer = setInterval(module.marquee.right, settings.duration);
},
setting: function(name, value) {
if(value !== undefined) {
if( $.isPlainObject(name) ) {
module.verbose('Modifying settings object', name, value);
$.extend(true, settings, name);
}
else {
module.verbose('Modifying setting', name, value);
settings[name] = value;
}
}
else {
return settings[name];
}
},
internal: function(name, value) {
if(value !== undefined) {
if( $.isPlainObject(name) ) {
module.verbose('Modifying internal property', name, value);
$.extend(true, module, name);
}
else {
module.verbose('Changing internal method to', value);
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.moduleName + ':');
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.moduleName + ':');
module.verbose.apply(console, arguments);
}
}
},
error: function() {
module.error = Function.prototype.bind.call(console.error, console, settings.moduleName + ':');
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' : message[1] || 'None',
'Execution Time' : executionTime
});
clearTimeout(module.performance.timer);
module.performance.timer = setTimeout(module.performance.display, 100);
}
},
display: function() {
var
title = settings.moduleName,
caption = settings.moduleName + ': ' + moduleSelector + '(' + $allModules.size() + ' elements)',
totalExecutionTime = 0
;
if(moduleSelector) {
title += ' Performance (' + moduleSelector + ')';
}
if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {
console.groupCollapsed(title);
if(console.table) {
$.each(performance, function(index, data) {
totalExecutionTime += data['Execution Time'];
});
console.table(performance);
}
else {
$.each(performance, function(index, data) {
totalExecutionTime += data['Execution Time'];
console.log(data['Name'] + ': ' + data['Execution Time']+'ms');
});
}
console.log('Total Execution Time:', totalExecutionTime +'ms');
console.groupEnd();
performance = [];
time = false;
}
}
},
invoke: function(query, passedArguments, context) {
var
maxDepth,
found
;
passedArguments = passedArguments || queryArguments;
context = element || context;
if(typeof query == 'string' && instance !== undefined) {
query = query.split(/[\. ]/);
maxDepth = query.length - 1;
$.each(query, function(depth, value) {
if( $.isPlainObject( instance[value] ) && (depth != maxDepth) ) {
instance = instance[value];
return true;
}
else if( instance[value] !== undefined ) {
found = instance[value];
return true;
}
module.error(errors.method);
return false;
});
}
if ( $.isFunction( found ) ) {
return found.apply(context, passedArguments);
}
return found || false;
}
};
if(methodInvoked) {
if(instance === undefined) {
module.initialize();
}
module.invoke(query);
}
else {
if(instance !== undefined) {
module.destroy();
}
module.initialize();
}
})
;
return (invokedResponse !== undefined)
? invokedResponse
: this
;
};
$.fn.carousel.settings = {
name : 'Carousel',
namespace : 'carousel',
verbose : true,
debug : true,
performance : true,
// delegated event context
duration: 5000,
errors : {
method : 'The method you called is not defined.'
},
selector : {
arrows : '.arrow',
leftArrow : '.left.arrow',
rightArrow : '.right.arrow',
content : '.content',
navigation : '.navigation',
navItem : '.navigation .icon'
},
className : {
active : 'active'
}
};
})( jQuery, window , document );

71
node/src/draft/less/carousel.less

@ -0,0 +1,71 @@
/*
* # Semantic Carousel
* http://github.com/quirkyinc/semantic
*
*
* Copyright 2013 Contributors
* Released under the MIT license
* http://opensource.org/licenses/MIT
*
* Released: June 03, 2013
*/
/*******************************
Carousel
*******************************/
.ui.carousel {
position: relative;
overflow: hidden;
}
.ui.carousel .arrow {
position: absolute;
font-size: 1.5em;
top: 50%;
left: 0%;
margin-top: -0.5em;
z-index: 10;
}
.ui.carousel .right.arrow {
left: auto;
right: 0%;
}
.ui.carousel .slides {
position: relative;
width: 200%;
width: 9999px;
overflow: hidden;
font-size: 0em;
}
.ui.carousel .slides .slide {
display: inline-block;
height: 100%;
font-size: 1rem;
}
.ui.carousel .slides .slide > img {
display: block;
width: 100%;
}
/*--------------------
Loading State
---------------------*/
/* On Form */
.ui.carousel.loading {
position: relative;
}
.ui.carousel.loading:after {
position: absolute;
top: 0%;
left: 0%;
content: '';
width: 100%;
height: 100%;
background: rgba(255, 255, 255, 0.8) url(../images/loader-large.gif) no-repeat 50% 50%;
visibility: visible;
}

1197
node/src/draft/less/extra.transitions.less
File diff suppressed because it is too large
View File

46
node/src/draft/less/sitemap.less

@ -0,0 +1,46 @@
/*
* # Sitemap
*
*
* Copyright 2013 Contributors
* Released under the MIT license
* http://opensource.org/licenses/MIT
*
* Released: April 17 2013
*/
/*******************************
Sitemap
*******************************/
.ui.sitemap {
margin: 0 -3rem;
font-size: 0rem;
text-align: left;
}
/*--------------
Elements
---------------*/
.ui.sitemap > .section {
display: inline-block;
vertical-align: top;
margin: 0em 3rem;
font-size: 1rem;
}
.ui.sitemap > .section > .header {
font-size: 1.125em;
color: rgba(0, 0, 0, 0.8);
padding-bottom: 0.5em;
}
.ui.sitemap > .section > a {
display: block;
padding: 0.25em 0em;
}

104
node/src/files/release/less/elements/button.less

@ -295,110 +295,6 @@
box-shadow: 0px 1px 0.2em 0px rgba(0, 0, 0, 0.3) inset;
}
/*--------------
Error
---------------*/
.ui.error.button {
cursor: default;
position: relative !important;
background-color: #D95C5C !important;
color: transparent !important;
text-shadow: none;
-webkit-transition: all 0s linear;
-moz-transition: all 0s linear;
-o-transition: all 0s linear;
-ms-transition: all 0s linear;
transition: all 0s linear;
}
.ui.error.button .icon {
opacity: 1;
color: #FFFFFF;
}
.ui.error.button:after {
position: absolute;
left: 50%;
content: "Error";
margin-left: -1.8em;
color: #FFFFFF;
-webkit-animation: button-text 0.5s;
-moz-animation: button-text 0.5s;
-ms-animation: button-text 0.5s;
-o-animation: button-text 0.5s;
animation: button-text 0.5s;
}
.ui.error.button .icon:before {
font-family: 'Icons';
content: '\26a0';
}
/*--------------
Success
---------------*/
.ui.success.button {
position: relative !important;
background-color: #5BBD72 !important;
color: transparent !important;
}
.ui.success.button .icon {
opacity: 1;
color: #FFFFFF;
}
.ui.success.button .icon:before {
font-family: 'Icons';
content: '\2611';
}
.ui.success.button:after {
position: absolute;
left: 50%;
content: "Success";
margin-left: -2em;
color: #FFFFFF;
-webkit-animation: button-text 0.5s;
-moz-animation: button-text 0.5s;
-ms-animation: button-text 0.5s;
-o-animation: button-text 0.5s;
animation: button-text 0.5s;
}
@-webkit-keyframes button-text {
0% {
-webkit-transform: translateY(100%);
opacity: 0;
}
100% {
opacity: 1;
-webkit-transform: translateY(0);
}
}
@-moz-keyframes button-text {
0% {
-moz-transform: translateY(100%);
opacity: 0;
}
100% {
opacity: 1;
-moz-transform: translateY(0);
}
}
@keyframes button-text {
0% {
transform: translateY(100%);
opacity: 0;
}
100% {
opacity: 1;
transform: translateY(0);
}
}
/*--------------
Loading
---------------*/

93
node/src/files/release/uncompressed/elements/button.css

@ -198,99 +198,6 @@
-moz-box-shadow: 0px 1px 0.2em 0px rgba(0, 0, 0, 0.3) inset;
box-shadow: 0px 1px 0.2em 0px rgba(0, 0, 0, 0.3) inset;
}
/*--------------
Error
---------------*/
.ui.error.button {
cursor: default;
position: relative !important;
background-color: #D95C5C !important;
color: transparent !important;
text-shadow: none;
-webkit-transition: all 0s linear;
-moz-transition: all 0s linear;
-o-transition: all 0s linear;
-ms-transition: all 0s linear;
transition: all 0s linear;
}
.ui.error.button .icon {
opacity: 1;
color: #FFFFFF;
}
.ui.error.button:after {
position: absolute;
left: 50%;
content: "Error";
margin-left: -1.8em;
color: #FFFFFF;
-webkit-animation: button-text 0.5s;
-moz-animation: button-text 0.5s;
-ms-animation: button-text 0.5s;
-o-animation: button-text 0.5s;
animation: button-text 0.5s;
}
.ui.error.button .icon:before {
font-family: 'Icons';
content: '\26a0';
}
/*--------------
Success
---------------*/
.ui.success.button {
position: relative !important;
background-color: #5BBD72 !important;
color: transparent !important;
}
.ui.success.button .icon {
opacity: 1;
color: #FFFFFF;
}
.ui.success.button .icon:before {
font-family: 'Icons';
content: '\2611';
}
.ui.success.button:after {
position: absolute;
left: 50%;
content: "Success";
margin-left: -2em;
color: #FFFFFF;
-webkit-animation: button-text 0.5s;
-moz-animation: button-text 0.5s;
-ms-animation: button-text 0.5s;
-o-animation: button-text 0.5s;
animation: button-text 0.5s;
}
@-webkit-keyframes button-text {
0% {
-webkit-transform: translateY(100%);
opacity: 0;
}
100% {
opacity: 1;
-webkit-transform: translateY(0);
}
}
@-moz-keyframes button-text {
0% {
-moz-transform: translateY(100%);
opacity: 0;
}
100% {
opacity: 1;
-moz-transform: translateY(0);
}
}
@keyframes button-text {
0% {
transform: translateY(100%);
opacity: 0;
}
100% {
opacity: 1;
transform: translateY(0);
}
}
/*--------------
Loading
---------------*/

95
spec/button.json

@ -1,31 +1,57 @@
{
"Name" : "Button",
"Type" : "UI Element",
// Package Name (SubType Type)
"Name" : "Semantic Button",
// Version #
"Version" : "0.1",
// Type of element
"Type" : "button",
// Type of definition
"Definition" : "Element",
// ID of UI components that must be included
"Dependencies" : [],
// list of required components in "id name" format
"Coupling" : ["semantic icon", "semantic loader"],
// List of mutually exclusive types with their koan generators <https://github.com/zodoz/jquery-ZenCoding>
"Types": {
"Singular": {
"Standard" : ".ui.button",
"Icon" : ".ui.icon.button > i.add.icon",
"Labeled Icon" : ".ui.labeled.icon.button > i.add.icon"
},
"Group": {
"Standard" : ".ui.buttons > .button+.button+.button",
"Icon" : ".ui.buttons > ( (.button > i.icon.user) + (.button > i.icon.heart) + (.button > i.icon.lab))",
"Conditional" : ".ui.buttons > .button+.or+.button",
"Vertical" : ".vertical.ui.buttons > .button+.button+.button"
}
},
"Text": {
".ui.button" : "Button"
"Singular": {
"Standard" : ".ui.button",
"Icon" : ".ui.icon.button > i.add.icon",
"Labeled Icon" : ".ui.icon.button > i.add.icon",
"Social" : [
".ui.facebook.button > i.facebook.icon",
".ui.twitter.button > i.twitter.icon"
]
},
"Plural": {
"Standard" : ".ui.buttons > .button+.button+.button",
"Icon" : ".ui.buttons > ( (.button > i.icon.user) + (.button > i.icon.heart) + (.button > i.icon.lab))",
"Conditional" : ".ui.buttons > .button+.or+.button",
"Vertical" : ".vertical.ui.buttons > .button+.button+.button"
}
},
// Set of states that an element can occupy
"States": {
"Hover" : "hover",
"Down" : "down",
"Active" : "active",
"Loading" : "loading",
"Disabled" : "disabled"
},
// Sets of variations of an element
"Variations" : {
"Circular" : "circular",
"Toggle" : "toggle",
"Fluid" : "fluid",
"Size": [
"Size" : [
"mini",
"tiny",
"small",
@ -34,7 +60,7 @@
"huge",
"massive"
],
"Color": [
"Color" : [
"black",
"green",
"red",
@ -43,9 +69,9 @@
"red",
"teal"
],
"Ordinality": [
"secondary",
"tertiary"
"Feedback": [
"positive",
"negative"
],
"Attached" : [
"attached top",
@ -53,5 +79,32 @@
"attached left",
"attached right"
]
},
// Used with generators to create example content
"Text": {
".button" : ["Button", "Follow", "Submit"]
},
// Your module may optionally include a text definition of its variations to help clarify their purpose. This may include the definition of types or variations
"Definition": {
"Standard" : "A simple button",
"Icon" : "A button icon is formatted to contain only an icon",
"Labeled Icon" : "A button can have an icon and a label",
"Social" : "A button can be formatted to link to a social website",
"Hover" : "A button can change to show a user has hovered their mouse",
"Down" : "A button can change when pressed using touch or mouse events",
"Active" : "A button can show it is currently the active user selection",
"Loading" : "A button can show a loading indicator",
"Disabled" : "A button can show it is currently unable to be interacted with",
"Attached" : "A button can attach to other content",
"Circular" : "A button can be circular",
"Color" : "A button can have different colors",
"Fluid" : "A button can be fluid",
"Ordinality" : "A button can blend into a page",
"Size" : "A button can vary in size",
"Toggle" : "A button can be formatted to toggle on and off"
}
}

104
src/elements/button.less

@ -295,110 +295,6 @@
box-shadow: 0px 1px 0.2em 0px rgba(0, 0, 0, 0.3) inset;
}
/*--------------
Error
---------------*/
.ui.error.button {
cursor: default;
position: relative !important;
background-color: #D95C5C !important;
color: transparent !important;
text-shadow: none;
-webkit-transition: all 0s linear;
-moz-transition: all 0s linear;
-o-transition: all 0s linear;
-ms-transition: all 0s linear;
transition: all 0s linear;
}
.ui.error.button .icon {
opacity: 1;
color: #FFFFFF;
}
.ui.error.button:after {
position: absolute;
left: 50%;
content: "Error";
margin-left: -1.8em;
color: #FFFFFF;
-webkit-animation: button-text 0.5s;
-moz-animation: button-text 0.5s;
-ms-animation: button-text 0.5s;
-o-animation: button-text 0.5s;
animation: button-text 0.5s;
}
.ui.error.button .icon:before {
font-family: 'Icons';
content: '\26a0';
}
/*--------------
Success
---------------*/
.ui.success.button {
position: relative !important;
background-color: #5BBD72 !important;
color: transparent !important;
}
.ui.success.button .icon {
opacity: 1;
color: #FFFFFF;
}
.ui.success.button .icon:before {
font-family: 'Icons';
content: '\2611';
}
.ui.success.button:after {
position: absolute;
left: 50%;
content: "Success";
margin-left: -2em;
color: #FFFFFF;
-webkit-animation: button-text 0.5s;
-moz-animation: button-text 0.5s;
-ms-animation: button-text 0.5s;
-o-animation: button-text 0.5s;
animation: button-text 0.5s;
}
@-webkit-keyframes button-text {
0% {
-webkit-transform: translateY(100%);
opacity: 0;
}
100% {
opacity: 1;
-webkit-transform: translateY(0);
}
}
@-moz-keyframes button-text {
0% {
-moz-transform: translateY(100%);
opacity: 0;
}
100% {
opacity: 1;
-moz-transform: translateY(0);
}
}
@keyframes button-text {
0% {
transform: translateY(100%);
opacity: 0;
}
100% {
opacity: 1;
transform: translateY(0);
}
}
/*--------------
Loading
---------------*/

Loading…
Cancel
Save