Browse Source

Bunch of new doc writing

pull/13/head
Jack Lukic 11 years ago
parent
commit
d58581eac5
28 changed files with 527 additions and 208 deletions
  1. 2
      build/minified/collections/menu.min.css
  2. 2
      build/minified/elements/button.min.css
  3. 2
      build/minified/elements/label.min.css
  4. 8
      build/minified/modules/transition.js
  5. 2
      build/minified/modules/transition.min.js
  6. 8
      build/packaged/modules/transition.js
  7. 2
      build/packaged/semantic.min.css
  8. 2
      build/packaged/semantic.min.js
  9. 2
      build/uncompressed/collections/menu.css
  10. 68
      build/uncompressed/elements/button.css
  11. 1
      build/uncompressed/elements/label.css
  12. 8
      build/uncompressed/modules/transition.js
  13. 4
      node/src/documents/elements/button.html
  14. 102
      node/src/documents/introduction.html
  15. 162
      node/src/documents/introduction/definitions.html
  16. 102
      node/src/documents/introduction/types.html
  17. 81
      node/src/documents/introduction/variations.html
  18. 2
      node/src/files/components/semantic/collections/menu.css
  19. 68
      node/src/files/components/semantic/elements/button.css
  20. 1
      node/src/files/components/semantic/elements/label.css
  21. 8
      node/src/files/components/semantic/modules/transition.js
  22. 15
      node/src/files/javascript/semantic.js
  23. 1
      node/src/files/stylesheets/semantic.css
  24. 2
      node/src/layouts/default.html.eco
  25. 2
      src/collections/menu.less
  26. 69
      src/elements/button.less
  27. 1
      src/elements/label.less
  28. 8
      src/modules/transition.js

2
build/minified/collections/menu.min.css
File diff suppressed because it is too large
View File

2
build/minified/elements/button.min.css
File diff suppressed because it is too large
View File

2
build/minified/elements/label.min.css
File diff suppressed because it is too large
View File

8
build/minified/modules/transition.js

@ -126,10 +126,10 @@ $.fn.transition = function() {
queue: function(animation) {
module.debug('Queueing animation of', animation);
module.queuing = true;
instance.queuing = true;
$module
.one(animationEnd, function() {
module.queuing = false;
instance.queuing = false;
module.animate.apply(this, settings);
})
;
@ -138,11 +138,11 @@ $.fn.transition = function() {
complete: function () {
module.verbose('CSS animation complete', settings.animation);
if(!module.is.looping()) {
if($module.hasClass(className.outward) && !module.queuing) {
if($module.hasClass(className.outward) && !instance.queuing) {
module.restore.conditions();
module.hide();
}
else if($module.hasClass(className.inward) && !module.queuing) {
else if($module.hasClass(className.inward) && !instance.queuing) {
module.restore.conditions();
module.show();
}

2
build/minified/modules/transition.min.js
File diff suppressed because it is too large
View File

8
build/packaged/modules/transition.js

@ -126,10 +126,10 @@ $.fn.transition = function() {
queue: function(animation) {
module.debug('Queueing animation of', animation);
module.queuing = true;
instance.queuing = true;
$module
.one(animationEnd, function() {
module.queuing = false;
instance.queuing = false;
module.animate.apply(this, settings);
})
;
@ -138,11 +138,11 @@ $.fn.transition = function() {
complete: function () {
module.verbose('CSS animation complete', settings.animation);
if(!module.is.looping()) {
if($module.hasClass(className.outward) && !module.queuing) {
if($module.hasClass(className.outward) && !instance.queuing) {
module.restore.conditions();
module.hide();
}
else if($module.hasClass(className.inward) && !module.queuing) {
else if($module.hasClass(className.inward) && !instance.queuing) {
module.restore.conditions();
module.show();
}

2
build/packaged/semantic.min.css
File diff suppressed because it is too large
View File

2
build/packaged/semantic.min.js
File diff suppressed because it is too large
View File

2
build/uncompressed/collections/menu.css

@ -522,7 +522,7 @@
}
.ui.pagination.menu .item {
min-width: 2.7em;
min-height: 2.55em;
min-height: 2.57em;
text-align: center;
}
.ui.pagination.menu.floated {

68
build/uncompressed/elements/button.css

@ -30,9 +30,9 @@
font-style: normal;
text-align: center;
text-shadow: none;
-webkit-border-radius: 0.3125em;
-moz-border-radius: 0.3125em;
border-radius: 0.3125em;
-webkit-border-radius: 0.2em;
-moz-border-radius: 0.2em;
border-radius: 0.2em;
-webkit-box-shadow: 0em -0.185rem 0em rgba(0, 0, 0, 0.1) inset;
-moz-box-shadow: 0em -0.185rem 0em rgba(0, 0, 0, 0.1) inset;
box-shadow: 0em -0.185rem 0em rgba(0, 0, 0, 0.1) inset;
@ -584,9 +584,9 @@
padding-top: 0.8em;
background-color: rgba(0, 0, 0, 0.05);
text-align: center;
-webkit-border-radius: 0.3125em 0px 0px 0.3125em;
-moz-border-radius: 0.3125em 0px 0px 0.3125em;
border-radius: 0.3125em 0px 0px 0.3125em;
-webkit-border-radius: 0.2em 0px 0px 0.2em;
-moz-border-radius: 0.2em 0px 0px 0.2em;
border-radius: 0.2em 0px 0px 0.2em;
line-height: 1;
-webkit-box-shadow: -2px 0px 0px 0px rgba(0, 0, 0, 0.05) inset;
-moz-box-shadow: -2px 0px 0px 0px rgba(0, 0, 0, 0.05) inset;
@ -598,24 +598,24 @@
border-radius: 0em;
}
.ui.labeled.icon.buttons .button:first-child > .icon {
border-top-left-radius: 0.3125em;
border-bottom-left-radius: 0.3125em;
border-top-left-radius: 0.2em;
border-bottom-left-radius: 0.2em;
}
.ui.labeled.icon.buttons .button:last-child > .icon {
border-top-right-radius: 0.3125em;
border-bottom-right-radius: 0.3125em;
border-top-right-radius: 0.2em;
border-bottom-right-radius: 0.2em;
}
.ui.vertical.labeled.icon.buttons .button:first-child > .icon {
-webkit-border-radius: 0em;
-moz-border-radius: 0em;
border-radius: 0em;
border-top-left-radius: 0.3125em;
border-top-left-radius: 0.2em;
}
.ui.vertical.labeled.icon.buttons .button:last-child > .icon {
-webkit-border-radius: 0em;
-moz-border-radius: 0em;
border-radius: 0em;
border-bottom-left-radius: 0.3125em;
border-bottom-left-radius: 0.2em;
}
.ui.right.labeled.icon.button {
padding-left: 1.4em !important;
@ -662,31 +662,31 @@
box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) !important;
}
.ui.button.attached.top {
-webkit-border-radius: 0.3125em 0.3125em 0em 0em;
-moz-border-radius: 0.3125em 0.3125em 0em 0em;
border-radius: 0.3125em 0.3125em 0em 0em;
-webkit-border-radius: 0.2em 0.2em 0em 0em;
-moz-border-radius: 0.2em 0.2em 0em 0em;
border-radius: 0.2em 0.2em 0em 0em;
}
.ui.button.attached.bottom {
-webkit-border-radius: 0em 0em 0.3125em 0.3125em;
-moz-border-radius: 0em 0em 0.3125em 0.3125em;
border-radius: 0em 0em 0.3125em 0.3125em;
-webkit-border-radius: 0em 0em 0.2em 0.2em;
-moz-border-radius: 0em 0em 0.2em 0.2em;
border-radius: 0em 0em 0.2em 0.2em;
}
.ui.button.attached.left {
display: inline-block;
border-left: none;
padding-right: 0.75em;
text-align: right;
-webkit-border-radius: 0.3125em 0em 0em 0.3125em;
-moz-border-radius: 0.3125em 0em 0em 0.3125em;
border-radius: 0.3125em 0em 0em 0.3125em;
-webkit-border-radius: 0.2em 0em 0em 0.2em;
-moz-border-radius: 0.2em 0em 0em 0.2em;
border-radius: 0.2em 0em 0em 0.2em;
}
.ui.button.attached.right {
display: inline-block;
padding-left: 0.75em;
text-align: left;
-webkit-border-radius: 0em 0.3125em 0.3125em 0em;
-moz-border-radius: 0em 0.3125em 0.3125em 0em;
border-radius: 0em 0.3125em 0.3125em 0em;
-webkit-border-radius: 0em 0.2em 0.2em 0em;
-moz-border-radius: 0em 0.2em 0.2em 0em;
border-radius: 0em 0.2em 0.2em 0em;
}
/*-------------------
Or Buttons
@ -919,12 +919,12 @@
}
.ui.buttons .button:first-child {
margin-left: 0em;
border-top-left-radius: 0.3125em;
border-bottom-left-radius: 0.3125em;
border-top-left-radius: 0.2em;
border-bottom-left-radius: 0.2em;
}
.ui.buttons .button:last-child {
border-top-right-radius: 0.3125em;
border-bottom-right-radius: 0.3125em;
border-top-right-radius: 0.2em;
border-bottom-right-radius: 0.2em;
}
/* Vertical Style */
.ui.buttons.vertical {
@ -944,9 +944,9 @@
.ui.buttons.vertical .massive.button:first-child,
.ui.buttons.vertical .huge.button:first-child {
margin-top: 0px;
-moz-border-radius: 0.3125em 0.3125em 0px 0px;
-webkit-border-radius: 0.3125em 0.3125em 0px 0px;
border-radius: 0.3125em 0.3125em 0px 0px;
-moz-border-radius: 0.2em 0.2em 0px 0px;
-webkit-border-radius: 0.2em 0.2em 0px 0px;
border-radius: 0.2em 0.2em 0px 0px;
}
.ui.buttons.vertical .button:last-child,
.ui.buttons.vertical .mini.button:last-child,
@ -955,7 +955,7 @@
.ui.buttons.vertical .massive.button:last-child,
.ui.buttons.vertical .huge.button:last-child,
.ui.buttons.vertical .gigantic.button:last-child {
-moz-border-radius: 0px 0px 0.3125em 0.3125em;
-webkit-border-radius: 0px 0px 0.3125em 0.3125em;
border-radius: 0px 0px 0.3125em 0.3125em;
-moz-border-radius: 0px 0px 0.2em 0.2em;
-webkit-border-radius: 0px 0px 0.2em 0.2em;
border-radius: 0px 0px 0.2em 0.2em;
}

1
build/uncompressed/elements/label.css

@ -20,6 +20,7 @@
padding: 0.5em 0.8em;
color: rgba(0, 0, 0, 0.65);
text-transform: uppercase;
font-weight: normal;
-webkit-border-radius: 0.325em;
-moz-border-radius: 0.325em;
border-radius: 0.325em;

8
build/uncompressed/modules/transition.js

@ -126,10 +126,10 @@ $.fn.transition = function() {
queue: function(animation) {
module.debug('Queueing animation of', animation);
module.queuing = true;
instance.queuing = true;
$module
.one(animationEnd, function() {
module.queuing = false;
instance.queuing = false;
module.animate.apply(this, settings);
})
;
@ -138,11 +138,11 @@ $.fn.transition = function() {
complete: function () {
module.verbose('CSS animation complete', settings.animation);
if(!module.is.looping()) {
if($module.hasClass(className.outward) && !module.queuing) {
if($module.hasClass(className.outward) && !instance.queuing) {
module.restore.conditions();
module.hide();
}
else if($module.hasClass(className.inward) && !module.queuing) {
else if($module.hasClass(className.inward) && !instance.queuing) {
module.restore.conditions();
module.show();
}

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

@ -81,7 +81,7 @@ type : 'UI Element'
<div class="ui loading button">Loading Button</div>
</div>
<div class="example">
<!-- <div class="example">
<h4 class="ui header">Success</h4>
<p>Can alert to a succesful action:</p>
<div class="ui success button">
@ -95,7 +95,7 @@ type : 'UI Element'
<i class="icon add user"></i>
Follow User
</div>
</div>
</div> -->
<h2 class="ui dividing header">Variations</h2>

102
node/src/documents/introduction.html

@ -8,37 +8,39 @@ type : 'Semantic'
<script src="/javascript/intro.js"></script>
<div class="segment">
<div class="container">
<h1 class="ui header">Introduction</h1>
<h1 class="ui header">Introduction
<div class="ui label">Draft</div>
<div class="ui red label">Incomplete</div>
</h1>
</div>
</div>
<div class="main container">
<div class="peek">
<div class="ui vertical pointing secondary menu">
<a class="active item">Philosophy</a>
<a class="item">Getting Started</a>
</div>
</div>
<h2 class="ui header">Philosophy</h2>
<h2 class="ui dividing header">Philosophy</h2>
<p> Writing front end code shouldn't require learning the naming or programming conventions of a particular developer. Semantic is a methodology for coding front end designed to make adopting and sharing code with others easier.</p>
<p>Semantic is tag ambivalent. That means you can use it with div, article, section, span, whichever you please. However, some elements still have special meeting like anchor and table tags.</p>
<h2 class="ui header">Getting Started</h2>
<h2 class="ui dividing header">Getting Started</h2>
<p>UI definitions in Semantic are namespaced with the class name <b>ui</b>. This is to help differentiate between parts of an element, and the element itself. For example a menu may have menu items inside of it. These items are contained as part of the menu definition.</p>
<div class="code" data-type="html" data-label="true">
<div class="ui menu">
<div class="item">Home</div>
<div class="item">Inbox</div>
<a class="item">Home</a>
<a class="item">Inbox</a>
</div>
</div>
<div class="ui menu">
<div class="item">Home</div>
<div class="item">Inbox</div>
<a class="item">Home</a>
<a class="item">Inbox</a>
</div>
<div class="ui divider"></div>
<h3 class="ui header">Combining elements</h3>
<p>All UI definitions in semantic are stand-alone, and do not require other components to function. However, components can choose to have optional couplings with other components.</p>
@ -60,65 +62,29 @@ type : 'Semantic'
<div class="ui label">22</div>
</div>
</div>
<div class="ui divider"></div>
<h3 class="ui header">Altering Designs</h3>
<p>Class names in semantic always use single english words. If a class name is an adjective it is either a <b>type</b> of element or <b>variation</b> of an element.
<h4 class="ui header">Types</h4>
<p>A <b>type</b> is a mutually exclusive change to an element. It may require slightly different html structures or expect different content.</p>
<div class="code" data-type="html" data-label="true">
<div class="ui tiered menu">
<div class="menu">
<div class="active item">
<i class="home icon"></i>
Home
</div>
<div class="item">
<i class="mail icon"></i>
Mail
<div class="ui label">22</div>
</div>
</div>
<div class="sub menu">
<div class="active item">Activity</div>
<div class="item">Profile</div>
</div>
</div>
</div>
<div class="ui tiered menu">
<div class="menu">
<div class="active item">
<i class="home icon"></i>
Home
</div>
<div class="item">
<i class="mail icon"></i>
Mail
<div class="ui label">22</div>
</div>
</div>
<div class="sub menu">
<div class="active item">Activity</div>
<div class="item">Profile</div>
</div>
<h2 class="ui dividing header">Language Matters</h2>
<p>Class names in semantic always use single english words. If a class name is an adjective it is either a <b>type</b> of element or <b>variation</b> of an element. This helps prevent naming conflicts between elements (nouns) and changes to an element (adjectives)</p>
<h3 class="ui header">Defining behavior simply</h3>
<p>Modules define a public API using simple phrases involving a verb and an object the verb is acting on. This means that if you are using another developer's code, you only need to learn it's public api without having to learn the nasty tricks used to make it work.</p>
<div class="code" data-demo="true" data-title="Language in Javascript">
$('.dog.image')
.transition('horizontal flip out')
.transition('scale in', '500ms')
;
</div>
<h4 class="ui header">Variation</h4>
<p>A <b>variation</b> alters the design of an element but is not mutually exclusive. Variations can be stacked together, or be used along with altering an element's type.</p>
<h2 class="ui header">Types of UI</h2>
<p>Semantic has five different definition types. These are useful patterns for describing re-usable parts of a website.</p>
<ul class="ui list">
<li><b>Element</b> - a basic building block of a website, exists alone or in homogenous groups</li>
<li><b>Collection</b> - a heterogeneous group of several elements which are usually found together</li>
<li><b>View</b> - a way to present common website content</li>
<li><b>Module</b> - an element that also includes behavior as part of its definition</li>
<li><b>Behavior</b> - a set of behaviors not specfically tied to a design</li>
</ul>
<img src="/images/demo/vector.png" class="ui medium dog image">
<div class="ui divider"></div>
<a class="ui large right labeled teal icon button" href="/introduction/definitions.html">
Next: UI Definitions
<i class="right arrow icon"></i>
</a>
</div>

162
node/src/documents/introduction/definitions.html

@ -0,0 +1,162 @@
---
layout : 'default'
css : 'types'
title : 'Definitions'
type : 'UI Introduction'
---
<script src="/javascript/intro.js"></script>
<div class="segment">
<div class="container">
<h1 class="ui header">UI Definitions <div class="ui red label">First Draft</div> </h1>
<p>Definitions provide a re-usable format for sharing an interface design</p>
</div>
</div>
<div class="main container">
<div class="peek">
<div class="ui vertical pointing secondary menu">
<a class="active item">Definitions</a>
<a class="item">Elements</a>
<a class="item">Collections</a>
<a class="item">Modules</a>
<a class="item">Views</a>
<a class="item">Authoring</a>
</div>
</div>
<h2 class="ui dividing header">Defining Definitions</h2>
<p>Definitions in semantic are groups of css, fonts, images, and javascript which make up a single element on a page. A UI definition is portable, and stand-alone</p>
<p>Definitions avoid conflicts with other elements by descending rules from a common namespace.</p>
<p>Semantic has five different ui definitions. These are useful patterns for describing re-usable parts of a website.</p>
<ul class="ui list">
<li><b>Element</b> - a basic building block of a website, exists alone or in homogenous groups</li>
<li><b>Collection</b> - a heterogeneous group of several elements which are usually found together</li>
<li><b>View</b> - a way to present common website content</li>
<li><b>Module</b> - an element that also includes behavior as part of its definition</li>
<li><b>Behavior</b> - a set of behaviors not specfically tied to a design</li>
</ul>
<h2 class="ui dividing header">UI Elements</h2>
<p>UI Elements are interface elements which do not contain other elements inside themselves. This can be thought of as similar in definition as an "element" in chemistry.</p>
<p>UI elements can have plural definitions when they are known to exist together frequently.</p>
<p>In this case each button will be large because we understand it is a part of the large button group</p>
<div class="code" data-type="html" data-label="true">
<div class="large ui buttons">
<div class="ui button">Cancel</div>
<div class="ui button">Continue</div>
</div>
</div>
Examples of UI elements:
<ul class="ui list">
<li>Buttons</li>
<li>Labels</li>
<li>Headers</li>
<li>Progress bars</li>
</ul>
<h2 class="ui dividing header">UI Collections</h2>
<p>UI Collections are groups of heteregeneous UI elements which are usually found together. Carrying the chemistry metaphor, these can be thought of as molecules.</p>
<p>UI collections have a definition of elements that exist, or could exist inside of them. They do not usually require all elements to be found, but they describe a list of the "usual suspects". Unlike elements, collections are not typically useful to define in plural.</p>
<p>Examples of UI collections:</p>
<ul class="ui list">
<li>Forms</li>
<li>Tables</li>
<li>Grids (Layout)</li>
<li>Menus</li>
</ul>
<h2 class="ui dividing header">UI Modules</h2>
<p>UI modules are elements where it's behavior is a fundamental part of its definition. UI Modules are dependent on the javascript which carry their definition. They also may be more complex, and have a variety of different functions. Further abusing the scientific analogy: These can be thought of as "organs".</p>
<p>Examples of UI modules:</p>
<ul class="ui list">
<li>Popups</li>
<li>Modals</li>
<li>Chatrooms</li>
<li>Calendar Pickers</li>
</ul>
<h2 class="ui dividing header">UI Views</h2>
<p>UI Views are common ways to structure types of content so that it can be understood more easily. A view's definition in semantic only describes the content which typically occupies the view.</p>
<p>Examples of UI views:</p>
<ul class="ui list">
<li>Comment Feed</li>
<li>Activity Feed</li>
<li>Product List</li>
</ul>
<h2 class="ui header">Authoring UI</h2>
<p><b>All UI</b>: The specification defines class name and html structures which can be used to represent an element
</p>
<p><b>Elements</b>: An element definition gives states which an elements can occupy, common types of that element, and if necessary, defines how the element functions in groups.</p>
<p><b>Collections</b>: Collection definitions list elements that it can include, and variations which can apply to both the collection, or individual elements found in the collection.</p>
<p><b>Modules</b>: Module definitions include a list of behaviors that are commonly associated with an element</p>
<p><b>Views</b>: View specifications defines the types of content the view usually display, and the heirarchy typical to presenting this content to the user.</p>
<a class="ui large right labeled teal icon button">
Authoring Guide
<i class="right arrow icon"></i>
</a>
<h3 class="ui header">Mostly tag ambivalent</h3>
<p>Semantic is based on class names, instead of tags. This means, except for links, tables and form elements, you can use semantic with tags like <pre><code><div> <article> <nav></code></pre> without any difference.</p>
<h3 class="ui header">Context sensitive</h3>
<p>In Semantic, variations maintain context based on the element they modify, but keep the same vocabulary between elements. Just like how in English, the adjective 'big' may describe a different scale for a big planet versus a big insect.</p>
<p>For example, a form you can have a variation called "inverted". This changes the appearance of form elements to work on dark backgrounds.</p>
<div class="code" data-type="html" data-label="true">
<div class="ui inverted form">
<div class="field">
<label>Name</label>
<input type="text">
</div>
</div>
</div>
<p>The same variation can also be useful in the context of a menu.</p>
<div class="code" data-type="html" data-label="true">
<div class="ui inverted menu">
<div class="item">Section 1</div>
<div class="ui simple dropdown item">
Dropdown
<div class="menu">
<div class="item">Dropdown item 1</div>
<div class="item">Dropdown item 2</div>
</div>
</div>
</div>
</div>
<div class="ui divider"></div>
<a class="ui large right labeled teal icon button" href="/introduction/types.html">
Next: Element Types
<i class="right arrow icon"></i>
</a>
<!--
<h3 class="ui header" class="ui header">Known Limitations</h3>
<p>Semantic uses the UI namespace to separate element definitions from the content that they define. This means that namespaces might conflict with other definitions if a variation or a type used matches the namespace of another ui definition.</p>
-->
</div>

102
node/src/documents/introduction/types.html

@ -0,0 +1,102 @@
---
layout : 'default'
css : 'types'
title : 'Types'
type : 'UI Introduction'
---
<script src="/javascript/intro.js"></script>
<div class="segment">
<div class="container">
<h1 class="ui header">Element Types
<div class="ui label">Draft</div>
<div class="ui red label">Incomplete</div>
</h1>
<p>Types are exclusive versions of an element included in its definition</p>
</div>
</div>
<div class="main container">
<div class="peek">
<div class="ui vertical pointing secondary menu">
<a class="active item">Overview</a>
</div>
</div>
<h2 class="ui dividing header">Overview</h2>
<p>A <b>type</b> is a mutually exclusive change to an element. Types may require different html structures to work correctly, or expect different content.</p>
<h3 class="ui header">Content</h3>
<p>For example an icon menu might expect you to include glyphs instead of text to be formatted correctly</p>
<div class="code" data-type="html" data-label="true">
<div class="ui icon menu">
<a class="item">
<i class="mail icon"></i>
</a>
<a class="item">
<i class="lab icon"></i>
</a>
<a class="item">
<i class="star icon"></i>
</a>
</div>
</div>
<div class="ui icon menu">
<a class="item">
<i class="mail icon"></i>
</a>
<a class="item">
<i class="lab icon"></i>
</a>
<a class="item">
<i class="star icon"></i>
</a>
</div>
<h3 class="ui header">HTML Differences</h3>
<p>Types may also require different html to be formatted correctly. A tiered menu needs additional content like a sub menu to display itself correctly</p>
<div class="code" data-type="html" data-label="true">
<div class="ui tiered menu">
<div class="menu">
<div class="active item">
<i class="home icon"></i>
Home
</div>
<div class="item">
<i class="mail icon"></i>
Mail
<div class="ui label">22</div>
</div>
</div>
<div class="sub menu">
<div class="active item">Activity</div>
<div class="item">Profile</div>
</div>
</div>
</div>
<div class="ui tiered menu">
<div class="menu">
<div class="active item">
<i class="home icon"></i>
Home
</div>
<div class="item">
<i class="mail icon"></i>
Mail
<div class="ui label">22</div>
</div>
</div>
<div class="sub menu">
<div class="active item">Activity</div>
<div class="item">Profile</div>
</div>
</div>
<div class="ui divider"></div>
<a class="ui large right labeled teal icon button" href="/introduction/variations.html">
Next: UI Variations
<i class="right arrow icon"></i>
</a>
</div>

81
node/src/documents/introduction/variations.html

@ -0,0 +1,81 @@
---
layout : 'default'
css : 'types'
title : 'Variations'
type : 'UI Introduction'
---
<script src="/javascript/intro.js"></script>
<div class="segment">
<div class="container">
<h1 class="ui header">Variations
<div class="ui label">Draft</div>
<div class="ui red label">Incomplete</div>
</h1>
<p>Variations are stackable, symbiotic changes to an elements appearance.</p>
</div>
</div>
<div class="main container">
<div class="peek">
<div class="ui vertical pointing secondary menu">
<a class="active item">Overview</a>
</div>
</div>
<h2 class="ui dividing header">Overview</h2>
<p>A <b>variation</b> alters the design of an element but is not mutually exclusive. Variations can be stacked together, or be used along with altering an element's type.</p>
<p>For example, having wide menus that take up the full width of its parent may sometimes be overwhelming. You can use the compact variation of a menu to alter its format to only take up the necessary space.</p>
<div class="code" data-type="html" data-label="true">
<div class="ui compact tiered menu">
...
</div>
</div>
<div class="ui compact tiered menu">
<div class="menu">
<div class="active item">
<i class="home icon"></i>
Home
</div>
<div class="item">
<i class="mail icon"></i>
Mail
<div class="ui label">22</div>
</div>
</div>
<div class="sub menu">
<div class="active item">Activity</div>
<div class="item">Profile</div>
</div>
</div>
<h3 class="ui header">Stacking Variations</h3>
<p>Another variation of a menu is an <b>inverted menu</b>. This alters the color contrast to appear inverted for darker backgrounds. Because variations are not mutually exclusive we can use these two together to create a compact, inverted tiered menu</p>
<div class="code" data-type="html" data-label="true">
<div class="ui inverted compact tiered menu">
...
</div>
</div>
<div class="ui inverted compact tiered menu">
<div class="menu">
<div class="active item">
<i class="home icon"></i>
Home
</div>
<div class="item">
<i class="mail icon"></i>
Mail
<div class="ui teal label">22</div>
</div>
</div>
<div class="sub menu">
<div class="active item">Activity</div>
<div class="item">Profile</div>
</div>
</div>
</div>

2
node/src/files/components/semantic/collections/menu.css

@ -522,7 +522,7 @@
}
.ui.pagination.menu .item {
min-width: 2.7em;
min-height: 2.55em;
min-height: 2.57em;
text-align: center;
}
.ui.pagination.menu.floated {

68
node/src/files/components/semantic/elements/button.css

@ -30,9 +30,9 @@
font-style: normal;
text-align: center;
text-shadow: none;
-webkit-border-radius: 0.3125em;
-moz-border-radius: 0.3125em;
border-radius: 0.3125em;
-webkit-border-radius: 0.2em;
-moz-border-radius: 0.2em;
border-radius: 0.2em;
-webkit-box-shadow: 0em -0.185rem 0em rgba(0, 0, 0, 0.1) inset;
-moz-box-shadow: 0em -0.185rem 0em rgba(0, 0, 0, 0.1) inset;
box-shadow: 0em -0.185rem 0em rgba(0, 0, 0, 0.1) inset;
@ -584,9 +584,9 @@
padding-top: 0.8em;
background-color: rgba(0, 0, 0, 0.05);
text-align: center;
-webkit-border-radius: 0.3125em 0px 0px 0.3125em;
-moz-border-radius: 0.3125em 0px 0px 0.3125em;
border-radius: 0.3125em 0px 0px 0.3125em;
-webkit-border-radius: 0.2em 0px 0px 0.2em;
-moz-border-radius: 0.2em 0px 0px 0.2em;
border-radius: 0.2em 0px 0px 0.2em;
line-height: 1;
-webkit-box-shadow: -2px 0px 0px 0px rgba(0, 0, 0, 0.05) inset;
-moz-box-shadow: -2px 0px 0px 0px rgba(0, 0, 0, 0.05) inset;
@ -598,24 +598,24 @@
border-radius: 0em;
}
.ui.labeled.icon.buttons .button:first-child > .icon {
border-top-left-radius: 0.3125em;
border-bottom-left-radius: 0.3125em;
border-top-left-radius: 0.2em;
border-bottom-left-radius: 0.2em;
}
.ui.labeled.icon.buttons .button:last-child > .icon {
border-top-right-radius: 0.3125em;
border-bottom-right-radius: 0.3125em;
border-top-right-radius: 0.2em;
border-bottom-right-radius: 0.2em;
}
.ui.vertical.labeled.icon.buttons .button:first-child > .icon {
-webkit-border-radius: 0em;
-moz-border-radius: 0em;
border-radius: 0em;
border-top-left-radius: 0.3125em;
border-top-left-radius: 0.2em;
}
.ui.vertical.labeled.icon.buttons .button:last-child > .icon {
-webkit-border-radius: 0em;
-moz-border-radius: 0em;
border-radius: 0em;
border-bottom-left-radius: 0.3125em;
border-bottom-left-radius: 0.2em;
}
.ui.right.labeled.icon.button {
padding-left: 1.4em !important;
@ -662,31 +662,31 @@
box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1) !important;
}
.ui.button.attached.top {
-webkit-border-radius: 0.3125em 0.3125em 0em 0em;
-moz-border-radius: 0.3125em 0.3125em 0em 0em;
border-radius: 0.3125em 0.3125em 0em 0em;
-webkit-border-radius: 0.2em 0.2em 0em 0em;
-moz-border-radius: 0.2em 0.2em 0em 0em;
border-radius: 0.2em 0.2em 0em 0em;
}
.ui.button.attached.bottom {
-webkit-border-radius: 0em 0em 0.3125em 0.3125em;
-moz-border-radius: 0em 0em 0.3125em 0.3125em;
border-radius: 0em 0em 0.3125em 0.3125em;
-webkit-border-radius: 0em 0em 0.2em 0.2em;
-moz-border-radius: 0em 0em 0.2em 0.2em;
border-radius: 0em 0em 0.2em 0.2em;
}
.ui.button.attached.left {
display: inline-block;
border-left: none;
padding-right: 0.75em;
text-align: right;
-webkit-border-radius: 0.3125em 0em 0em 0.3125em;
-moz-border-radius: 0.3125em 0em 0em 0.3125em;
border-radius: 0.3125em 0em 0em 0.3125em;
-webkit-border-radius: 0.2em 0em 0em 0.2em;
-moz-border-radius: 0.2em 0em 0em 0.2em;
border-radius: 0.2em 0em 0em 0.2em;
}
.ui.button.attached.right {
display: inline-block;
padding-left: 0.75em;
text-align: left;
-webkit-border-radius: 0em 0.3125em 0.3125em 0em;
-moz-border-radius: 0em 0.3125em 0.3125em 0em;
border-radius: 0em 0.3125em 0.3125em 0em;
-webkit-border-radius: 0em 0.2em 0.2em 0em;
-moz-border-radius: 0em 0.2em 0.2em 0em;
border-radius: 0em 0.2em 0.2em 0em;
}
/*-------------------
Or Buttons
@ -919,12 +919,12 @@
}
.ui.buttons .button:first-child {
margin-left: 0em;
border-top-left-radius: 0.3125em;
border-bottom-left-radius: 0.3125em;
border-top-left-radius: 0.2em;
border-bottom-left-radius: 0.2em;
}
.ui.buttons .button:last-child {
border-top-right-radius: 0.3125em;
border-bottom-right-radius: 0.3125em;
border-top-right-radius: 0.2em;
border-bottom-right-radius: 0.2em;
}
/* Vertical Style */
.ui.buttons.vertical {
@ -944,9 +944,9 @@
.ui.buttons.vertical .massive.button:first-child,
.ui.buttons.vertical .huge.button:first-child {
margin-top: 0px;
-moz-border-radius: 0.3125em 0.3125em 0px 0px;
-webkit-border-radius: 0.3125em 0.3125em 0px 0px;
border-radius: 0.3125em 0.3125em 0px 0px;
-moz-border-radius: 0.2em 0.2em 0px 0px;
-webkit-border-radius: 0.2em 0.2em 0px 0px;
border-radius: 0.2em 0.2em 0px 0px;
}
.ui.buttons.vertical .button:last-child,
.ui.buttons.vertical .mini.button:last-child,
@ -955,7 +955,7 @@
.ui.buttons.vertical .massive.button:last-child,
.ui.buttons.vertical .huge.button:last-child,
.ui.buttons.vertical .gigantic.button:last-child {
-moz-border-radius: 0px 0px 0.3125em 0.3125em;
-webkit-border-radius: 0px 0px 0.3125em 0.3125em;
border-radius: 0px 0px 0.3125em 0.3125em;
-moz-border-radius: 0px 0px 0.2em 0.2em;
-webkit-border-radius: 0px 0px 0.2em 0.2em;
border-radius: 0px 0px 0.2em 0.2em;
}

1
node/src/files/components/semantic/elements/label.css

@ -20,6 +20,7 @@
padding: 0.5em 0.8em;
color: rgba(0, 0, 0, 0.65);
text-transform: uppercase;
font-weight: normal;
-webkit-border-radius: 0.325em;
-moz-border-radius: 0.325em;
border-radius: 0.325em;

8
node/src/files/components/semantic/modules/transition.js

@ -126,10 +126,10 @@ $.fn.transition = function() {
queue: function(animation) {
module.debug('Queueing animation of', animation);
module.queuing = true;
instance.queuing = true;
$module
.one(animationEnd, function() {
module.queuing = false;
instance.queuing = false;
module.animate.apply(this, settings);
})
;
@ -138,11 +138,11 @@ $.fn.transition = function() {
complete: function () {
module.verbose('CSS animation complete', settings.animation);
if(!module.is.looping()) {
if($module.hasClass(className.outward) && !module.queuing) {
if($module.hasClass(className.outward) && !instance.queuing) {
module.restore.conditions();
module.hide();
}
else if($module.hasClass(className.inward) && !module.queuing) {
else if($module.hasClass(className.inward) && !instance.queuing) {
module.restore.conditions();
module.show();
}

15
node/src/files/javascript/semantic.js

@ -167,10 +167,11 @@ semantic.ready = function() {
var
$code = $(this),
code = $code.html(),
contentType = $code.data('type') || 'javascript',
title = $code.data('title') || false,
demo = $code.data('demo') || false,
label = $code.data('label') || false,
contentType = $code.data('type') || 'javascript',
title = $code.data('title') || false,
demo = $code.data('demo') || false,
preview = $code.data('preview') || false,
label = $code.data('label') || false,
displayType = {
html : 'HTML',
javascript : 'Javascript',
@ -242,6 +243,12 @@ semantic.ready = function() {
.insertBefore ( $(this).parent() )
;
}
// add preview if specified
if(preview) {
$(code)
.insertAfter( $(this).parent() )
;
}
editor.resize();
},

1
node/src/files/stylesheets/semantic.css

@ -689,6 +689,7 @@ a:hover {
#example div.code .ace_gutter,
#example div.code .ace_scroller {
overflow: visible;
margin: 14px 10px;
}
#example div.code .ace_scrollbar {

2
node/src/layouts/default.html.eco

@ -209,12 +209,10 @@
</div>
</div>
</div>
<% if @document.title isnt 'Introduction': %>
<div class="ui black huge sidebar right attached button">
<i class="icon list layout"></i>
<span class="text">Menu</span>
</div>
<% end %>
<%- @content %>
</body>

2
src/collections/menu.less

@ -679,7 +679,7 @@
.ui.pagination.menu .item {
min-width: 2.7em;
min-height: 2.55em;
min-height: 2.57em;
text-align: center;
}
.ui.pagination.menu.floated {

69
src/elements/button.less

@ -38,10 +38,9 @@
text-align: center;
text-shadow: none;
-webkit-border-radius: 0.3125em;
-moz-border-radius: 0.3125em;
border-radius: 0.3125em;
-webkit-border-radius: 0.2em;
-moz-border-radius: 0.2em;
border-radius: 0.2em;
-webkit-box-shadow:
0em -0.185rem 0em rgba(0, 0, 0, 0.1) inset
@ -707,9 +706,9 @@
background-color: rgba(0, 0, 0, 0.05);
text-align: center;
-webkit-border-radius: 0.3125em 0px 0px 0.3125em;
-moz-border-radius: 0.3125em 0px 0px 0.3125em;
border-radius: 0.3125em 0px 0px 0.3125em;
-webkit-border-radius: 0.2em 0px 0px 0.2em;
-moz-border-radius: 0.2em 0px 0px 0.2em;
border-radius: 0.2em 0px 0px 0.2em;
line-height: 1;
@ -724,24 +723,24 @@
border-radius: 0em;
}
.ui.labeled.icon.buttons .button:first-child > .icon {
border-top-left-radius: 0.3125em;
border-bottom-left-radius: 0.3125em;
border-top-left-radius: 0.2em;
border-bottom-left-radius: 0.2em;
}
.ui.labeled.icon.buttons .button:last-child > .icon {
border-top-right-radius: 0.3125em;
border-bottom-right-radius: 0.3125em;
border-top-right-radius: 0.2em;
border-bottom-right-radius: 0.2em;
}
.ui.vertical.labeled.icon.buttons .button:first-child > .icon {
-webkit-border-radius: 0em;
-moz-border-radius: 0em;
border-radius: 0em;
border-top-left-radius: 0.3125em;
border-top-left-radius: 0.2em;
}
.ui.vertical.labeled.icon.buttons .button:last-child > .icon {
-webkit-border-radius: 0em;
-moz-border-radius: 0em;
border-radius: 0em;
border-bottom-left-radius: 0.3125em;
border-bottom-left-radius: 0.2em;
}
.ui.right.labeled.icon.button {
@ -800,14 +799,14 @@
}
.ui.button.attached.top {
-webkit-border-radius: 0.3125em 0.3125em 0em 0em;
-moz-border-radius: 0.3125em 0.3125em 0em 0em;
border-radius: 0.3125em 0.3125em 0em 0em;
-webkit-border-radius: 0.2em 0.2em 0em 0em;
-moz-border-radius: 0.2em 0.2em 0em 0em;
border-radius: 0.2em 0.2em 0em 0em;
}
.ui.button.attached.bottom {
-webkit-border-radius: 0em 0em 0.3125em 0.3125em;
-moz-border-radius: 0em 0em 0.3125em 0.3125em;
border-radius: 0em 0em 0.3125em 0.3125em;
-webkit-border-radius: 0em 0em 0.2em 0.2em;
-moz-border-radius: 0em 0em 0.2em 0.2em;
border-radius: 0em 0em 0.2em 0.2em;
}
.ui.button.attached.left {
display: inline-block;
@ -816,9 +815,9 @@
padding-right: 0.75em;
text-align: right;
-webkit-border-radius: 0.3125em 0em 0em 0.3125em;
-moz-border-radius: 0.3125em 0em 0em 0.3125em;
border-radius: 0.3125em 0em 0em 0.3125em;
-webkit-border-radius: 0.2em 0em 0em 0.2em;
-moz-border-radius: 0.2em 0em 0em 0.2em;
border-radius: 0.2em 0em 0em 0.2em;
}
.ui.button.attached.right {
display: inline-block;
@ -826,9 +825,9 @@
padding-left: 0.75em;
text-align: left;
-webkit-border-radius: 0em 0.3125em 0.3125em 0em;
-moz-border-radius: 0em 0.3125em 0.3125em 0em;
border-radius: 0em 0.3125em 0.3125em 0em;
-webkit-border-radius: 0em 0.2em 0.2em 0em;
-moz-border-radius: 0em 0.2em 0.2em 0em;
border-radius: 0em 0.2em 0.2em 0em;
}
@ -1091,12 +1090,12 @@
}
.ui.buttons .button:first-child {
margin-left: 0em;
border-top-left-radius: 0.3125em;
border-bottom-left-radius: 0.3125em;
border-top-left-radius: 0.2em;
border-bottom-left-radius: 0.2em;
}
.ui.buttons .button:last-child {
border-top-right-radius: 0.3125em;
border-bottom-right-radius: 0.3125em;
border-top-right-radius: 0.2em;
border-bottom-right-radius: 0.2em;
}
/* Vertical Style */
@ -1117,9 +1116,9 @@
.ui.buttons.vertical .massive.button:first-child,
.ui.buttons.vertical .huge.button:first-child {
margin-top: 0px;
-moz-border-radius: 0.3125em 0.3125em 0px 0px;
-webkit-border-radius: 0.3125em 0.3125em 0px 0px;
border-radius: 0.3125em 0.3125em 0px 0px;
-moz-border-radius: 0.2em 0.2em 0px 0px;
-webkit-border-radius: 0.2em 0.2em 0px 0px;
border-radius: 0.2em 0.2em 0px 0px;
}
.ui.buttons.vertical .button:last-child,
.ui.buttons.vertical .mini.button:last-child,
@ -1128,7 +1127,7 @@
.ui.buttons.vertical .massive.button:last-child,
.ui.buttons.vertical .huge.button:last-child,
.ui.buttons.vertical .gigantic.button:last-child {
-moz-border-radius: 0px 0px 0.3125em 0.3125em;
-webkit-border-radius: 0px 0px 0.3125em 0.3125em;
border-radius: 0px 0px 0.3125em 0.3125em;
-moz-border-radius: 0px 0px 0.2em 0.2em;
-webkit-border-radius: 0px 0px 0.2em 0.2em;
border-radius: 0px 0px 0.2em 0.2em;
}

1
src/elements/label.less

@ -24,6 +24,7 @@
color: rgba(0, 0, 0, 0.65);
text-transform: uppercase;
font-weight: normal;
-webkit-border-radius: 0.325em;
-moz-border-radius: 0.325em;

8
src/modules/transition.js

@ -126,10 +126,10 @@ $.fn.transition = function() {
queue: function(animation) {
module.debug('Queueing animation of', animation);
module.queuing = true;
instance.queuing = true;
$module
.one(animationEnd, function() {
module.queuing = false;
instance.queuing = false;
module.animate.apply(this, settings);
})
;
@ -138,11 +138,11 @@ $.fn.transition = function() {
complete: function () {
module.verbose('CSS animation complete', settings.animation);
if(!module.is.looping()) {
if($module.hasClass(className.outward) && !module.queuing) {
if($module.hasClass(className.outward) && !instance.queuing) {
module.restore.conditions();
module.hide();
}
else if($module.hasClass(className.inward) && !module.queuing) {
else if($module.hasClass(className.inward) && !instance.queuing) {
module.restore.conditions();
module.show();
}

Loading…
Cancel
Save