Browse Source

Iteration on design for customize/build page, first passs

1.0
jlukic 10 years ago
parent
commit
abe546b220
  1. 1
      RELEASE NOTES.md
  2. 2
      server/documents/collections/breadcrumb.html.eco
  3. 2
      server/documents/collections/form.html.eco
  4. 2
      server/documents/collections/grid.html.eco
  5. 2
      server/documents/collections/menu.html.eco
  6. 2
      server/documents/collections/message.html.eco
  7. 2
      server/documents/collections/table.html.eco
  8. 198
      server/documents/customize.html.eco
  9. 2
      server/documents/elements/button.html.eco
  10. 2
      server/documents/elements/divider.html.eco
  11. 2
      server/documents/elements/header.html.eco
  12. 2
      server/documents/elements/icon.html.eco
  13. 2
      server/documents/elements/input.html.eco
  14. 2
      server/documents/elements/label.html.eco
  15. 2
      server/documents/elements/list.html.eco
  16. 2
      server/documents/elements/loader.html.eco
  17. 2
      server/documents/elements/rail.html.eco
  18. 2
      server/documents/elements/segment.html.eco
  19. 2
      server/documents/elements/step.html.eco
  20. 8
      server/documents/index.html.eco
  21. 2
      server/documents/modules/accordion.html.eco
  22. 2
      server/documents/modules/checkbox.html.eco
  23. 2
      server/documents/modules/form.html.eco
  24. 2
      server/documents/modules/modal.html.eco
  25. 2
      server/documents/modules/popup.html.eco
  26. 2
      server/documents/modules/rating.html.eco
  27. 2
      server/documents/modules/reveal.html.eco
  28. 2
      server/documents/modules/search.html.eco
  29. 2
      server/documents/modules/sticky.html.eco
  30. 2
      server/documents/modules/tab.html.eco
  31. 2
      server/documents/modules/video.html.eco
  32. 2
      server/documents/views/card.html.eco
  33. 2
      server/documents/views/comment.html.eco
  34. 2
      server/documents/views/item.html.eco
  35. 49
      server/files/javascript/customize.js
  36. 2
      server/files/javascript/semantic.js
  37. 44
      server/files/stylesheets/customize.css
  38. 509
      server/files/stylesheets/home.css
  39. 58
      server/files/stylesheets/semantic.css
  40. 2
      server/layouts/default.html.eco
  41. 5
      src/definitions/elements/header.less
  42. 7
      src/definitions/elements/list.less
  43. 2
      src/definitions/elements/step.less
  44. 20
      src/definitions/modules/accordion.less
  45. 35
      src/definitions/modules/checkbox.js
  46. 32
      src/definitions/views/item.less
  47. 20
      src/themes/packages/default/elements/header.variables
  48. 2
      src/themes/packages/default/elements/list.variables
  49. 2
      src/themes/packages/default/modules/accordion.variables
  50. 4
      src/themes/packages/default/views/item.variables

1
RELEASE NOTES.md

@ -21,6 +21,7 @@
- **Button** - Now has compact form, used for fitting into tight spaces - **Button** - Now has compact form, used for fitting into tight spaces
- **Checkbox** - All styles have been redone. Standard checkboxes are now based around PX and not EM making sure there are no unusual circles or rounding issues. Checkboxes also now use a custom font for glyphs instead of CSS tricks. - **Checkbox** - All styles have been redone. Standard checkboxes are now based around PX and not EM making sure there are no unusual circles or rounding issues. Checkboxes also now use a custom font for glyphs instead of CSS tricks.
- **Checkbox** - Checkbox now have a ``fireOnInit`` setting for firing callbacks on page load - **Checkbox** - Checkbox now have a ``fireOnInit`` setting for firing callbacks on page load
- **Checkbox** - Checkbox now receive a ``checked`` class when checked, making it easier to write css selectors on checked checkboxes, for example when using sibling selectors ``.ui.checked.checkbox + .content { // style }``
- **Dropdown** - New dropdown type, searchable selection for large lists of choices - **Dropdown** - New dropdown type, searchable selection for large lists of choices
- **Dropdown** - Dropdowns can now be initialized directly on a ``<select>`` element without any html - **Dropdown** - Dropdowns can now be initialized directly on a ``<select>`` element without any html
- **Dropdown** - New action combo will change text of adjacent button, select will select element but not change text - **Dropdown** - New action combo will change text of adjacent button, select will select element but not change text

2
server/documents/collections/breadcrumb.html.eco

@ -6,7 +6,7 @@ element : 'breadcrumb'
elementType : 'collection' elementType : 'collection'
title : 'Breadcrumb' title : 'Breadcrumb'
description : 'A breadcrumb is used to display the relation of the current content to other content.' description : 'A breadcrumb is used to show heirarchy between content'
type : 'UI Collection' type : 'UI Collection'
themes : ['Default'] themes : ['Default']

2
server/documents/collections/form.html.eco

@ -6,7 +6,7 @@ element : 'form'
elementType : 'collection' elementType : 'collection'
title : 'Form' title : 'Form'
description : 'A form is a collection of user input elements' description : 'A form displays a set of related user input fields in a structured way'
type : 'UI Collection' type : 'UI Collection'
themes : ['Default', 'Flat', 'Chubby', 'GitHub'] themes : ['Default', 'Flat', 'Chubby', 'GitHub']

2
server/documents/collections/grid.html.eco

@ -6,7 +6,7 @@ element : 'grid'
elementType : 'collection' elementType : 'collection'
title : 'Grid' title : 'Grid'
description : 'A grid is a structure used to harmonize negative space in a layout' description : 'A grid is used to harmonize negative space in a layout'
type : 'UI Collection' type : 'UI Collection'
themes : ['Default'] themes : ['Default']

2
server/documents/collections/menu.html.eco

@ -6,7 +6,7 @@ element : 'menu'
elementType : 'collection' elementType : 'collection'
title : 'Menu' title : 'Menu'
description : 'A menu is a collection of elements showing related user actions' description : 'A menu displays grouped navigation actions'
type : 'UI Collection' type : 'UI Collection'
themes : ['Default', 'GitHub'] themes : ['Default', 'GitHub']

2
server/documents/collections/message.html.eco

@ -6,7 +6,7 @@ element : 'message'
elementType : 'collection' elementType : 'collection'
title : 'Message' title : 'Message'
description : 'A message displays information that should be read before proceeding to other nearby content.' description : 'A message displays information that explains nearby content'
type : 'UI Collection' type : 'UI Collection'
themes : ['Default', 'GitHub', 'Google'] themes : ['Default', 'GitHub', 'Google']

2
server/documents/collections/table.html.eco

@ -6,7 +6,7 @@ element : 'table'
elementType : 'collection' elementType : 'collection'
title : 'Table' title : 'Table'
description : 'Tables display collections of related data grouped into rows' description : 'A table displays a collections of data grouped into rows'
type : 'UI Collection' type : 'UI Collection'
themes : ['Default'] themes : ['Default']

198
server/documents/customize.html.eco

@ -0,0 +1,198 @@
---
layout : 'default'
css : 'custom'
title : 'Download'
description : 'Create a custom build of Semantic for your website'
type : 'Semantic'
---
<script src="/javascript/customize.js"></script>
<link rel="stylesheet" type="text/css" href="/stylesheets/customize.css">
<% uiElements = @getCollection("uiElements").toJSON() %>
<% uiCollections = @getCollection("uiCollections").toJSON() %>
<% uiViews = @getCollection("uiViews").toJSON() %>
<% uiModules = @getCollection("uiModules").toJSON() %>
<%- @partial('header') %>
<script type="text/javascript">
if(window.semantic === undefined) {
window.semantic = {};
}
if(window.semantic.config === undefined) {
window.semantic.config = {};
}
window.semantic.config.packages = {
basic: {
},
standard: {
},
premium: {
}
}
</script>
<div class="main container">
<h2 class="ui header">Configurations</h2>
<div class="ui info icon message">
<i class="circle help icon"></i>
<div class="content">
<div class="header">Choosing a package</div>
<p>
Semantic is not a stand-alone library, but many separate components.</code>
</p>
</div>
</div>
<div class="ui basic segment">
<div class="ui two item secondary pointing menu">
<div class="link item">
<div class="ui header">
Basic
</div>
1 Theme, CSS Only
</div>
<div class="active link item">
<div class="ui header">
Pro
</div>
LESS + Build System
</div>
</div>
</div>
<h2 class="ui header">Components</h2>
<div class="ui basic accordion segment">
<h3 class="ui header active title">
<i class="dropdown icon"></i>
Elements
</h3>
<div class="ui active content">
<div class="ui download divided selection list">
<% for element in uiElements: %>
<div class="item">
<div class="ui checkbox">
<input type="checkbox" checked="checked" name="<%= element.element %>" />
<label></label>
</div>
<div class="content">
<a class="ui right floated compact basic icon button" href="<%= element.url %>" target="_blank" data-content="View definition">
<i class="docs book icon"></i>
</a>
<div class="ui small header">
<%= element.title %>
<% if element.status?: %>
<span class="ui empty circular yellow label" data-content="This module is undocumented"></span>
<% end %>
</div>
<div class="description">
<%= element.description %>
</div>
</div>
</div>
<% end %>
</div>
</div>
<h3 class="ui header active title">
<i class="dropdown icon"></i>
Collections
</h3>
<div class="ui active content">
<div class="ui download divided selection list">
<% for collection in uiCollections: %>
<div class="item">
<div class="ui checkbox">
<input type="checkbox" checked="checked" name="<%= collection.element %>" />
<label></label>
</div>
<div class="content">
<a class="ui right floated compact basic icon button" href="<%= collection.url %>target="_blank" " data-content="View definition">
<i class="docs book icon"></i>
</a>
<div class="ui small header">
<%= collection.title %>
<% if collection.status?: %>
<span class="ui empty circular yellow label" data-content="This module is undocumented"></span>
<% end %>
</div>
<div class="description">
<%= collection.description %>
</div>
</div>
</div>
<% end %>
</div>
</div>
<h3 class="ui header active title">
<i class="dropdown icon"></i>
Views
</h3>
<div class="ui active content">
<div class="ui download divided selection list">
<% for view in uiViews: %>
<div class="item">
<div class="ui checkbox">
<input type="checkbox" checked="checked" name="<%= view.element %>" />
<label></label>
</div>
<div class="content">
<a class="ui right floated compact basic icon button" href="<%= view.url %>" target="_blank" data-content="View definition">
<i class="docs book icon"></i>
</a>
<div class="ui small header">
<%= view.title %>
<% if view.status?: %>
<span class="ui empty circular yellow label" data-content="This module is undocumented"></span>
<% end %>
</div>
<div class="description">
<%= view.description %>
</div>
</div>
</div>
<% end %>
</div>
</div>
<h3 class="ui header active title">
<i class="dropdown icon"></i>
Modules
</h3>
<div class="ui active content">
<div class="ui download divided selection list">
<% for module in uiModules: %>
<div class="item">
<div class="ui checkbox">
<input type="checkbox" checked="checked" name="<%= module.element %>" />
<label></label>
</div>
<div class="content">
<a class="ui right floated compact basic icon button" href="<%= module.url %>" target="_blank" data-content="View definition">
<i class="docs book icon"></i>
</a>
<div class="ui small header">
<%= module.title %>
<% if module.status?: %>
<span class="ui empty circular yellow label" data-content="This module is undocumented"></span>
<% end %>
</div>
<div class="description">
<%= module.description %>
</div>
</div>
</div>
<% end %>
</div>
</div>
</div>
</div>

2
server/documents/elements/button.html.eco

@ -5,7 +5,7 @@ element : 'button'
elementType : 'element' elementType : 'element'
title : 'Button' title : 'Button'
description : 'Buttons indicate a possible user action.' description : 'A button indicates a possible user action'
type : 'UI Element' type : 'UI Element'
themes : ['Default', 'Classic', 'Basic', 'Raised', 'Chubby', 'Round', 'Amazon', 'GitHub'] themes : ['Default', 'Classic', 'Basic', 'Raised', 'Chubby', 'Round', 'Amazon', 'GitHub']

2
server/documents/elements/divider.html.eco

@ -6,7 +6,7 @@ element : 'divider'
elementType : 'element' elementType : 'element'
title : 'Divider' title : 'Divider'
description : 'A divider visually segments content into separate groups' description : 'A divider visually segments content into groups'
type : 'UI Element' type : 'UI Element'
themes : ['default'] themes : ['default']

2
server/documents/elements/header.html.eco

@ -6,7 +6,7 @@ element : 'header'
elementType : 'element' elementType : 'element'
title : 'Header' title : 'Header'
description : 'Headers provide a short summary of content' description : 'A header provides a short summary of content'
type : 'UI Element' type : 'UI Element'
themes : ['Default', 'Bookish', 'Chubby'] themes : ['Default', 'Bookish', 'Chubby']

2
server/documents/elements/icon.html.eco

@ -6,7 +6,7 @@ element : 'icon'
elementType : 'element' elementType : 'element'
title : 'Icon' title : 'Icon'
description : 'An icon is a glyph used to represent a concept' description : 'An icon is a glyph used to respresent something else'
type : 'UI Element' type : 'UI Element'
themes : ['Default'] themes : ['Default']

2
server/documents/elements/input.html.eco

@ -6,7 +6,7 @@ element : 'input'
elementType : 'element' elementType : 'element'
title : 'Input' title : 'Input'
description : 'An input allows a site to elicit user input' description : 'An input is a field used to elicit a response from a user'
type : 'UI Element' type : 'UI Element'
themes : ['Default'] themes : ['Default']

2
server/documents/elements/label.html.eco

@ -6,7 +6,7 @@ element : 'label'
elementType : 'element' elementType : 'element'
title : 'Label' title : 'Label'
description : 'Labels give descriptions to pieces of content' description : 'A label displays content classification'
type : 'UI Element' type : 'UI Element'
themes : ['Default'] themes : ['Default']

2
server/documents/elements/list.html.eco

@ -6,7 +6,7 @@ element : 'list'
elementType : 'element' elementType : 'element'
title : 'List' title : 'List'
description : 'A list is used to group descriptions of related content' description : 'A list is used to group related content'
type : 'UI Element' type : 'UI Element'
themes : ['Default'] themes : ['Default']

2
server/documents/elements/loader.html.eco

@ -6,7 +6,7 @@ element : 'loader'
elementType : 'element' elementType : 'element'
title : 'Loader' title : 'Loader'
description : 'Loaders lets a user know to wait for activity to finish' description : 'A loader alerts a user to wait for an activity to complete'
type : 'UI Element' type : 'UI Element'
themes : ['Default'] themes : ['Default']

2
server/documents/elements/rail.html.eco

@ -5,7 +5,7 @@ element : 'rail'
elementType : 'element' elementType : 'element'
title : 'Rail' title : 'Rail'
description : 'A rail is used to show accompanying content outside the borders of the main content of a site' description : 'A rail is used to show accompanying content outside the boundaries of the main view of a site'
status : 'Undocumented' status : 'Undocumented'
type : 'UI Element' type : 'UI Element'

2
server/documents/elements/segment.html.eco

@ -6,7 +6,7 @@ element : 'segment'
elementType : 'element' elementType : 'element'
title : 'Segment' title : 'Segment'
description : 'A segment is used to create a grouping of related content.' description : 'A segment is used to create a grouping of related content'
type : 'UI Element' type : 'UI Element'
themes : ['default', 'GitHub'] themes : ['default', 'GitHub']
--- ---

2
server/documents/elements/step.html.eco

@ -6,7 +6,7 @@ element : 'step'
elementType : 'element' elementType : 'element'
title : 'Step' title : 'Step'
description : 'Steps show the completion of activities that occur in a series' description : 'A step shows the completion status of an activity in a series of activities'
type : 'UI Element' type : 'UI Element'
themes : ['default', 'Basic', 'GitHub'] themes : ['default', 'Basic', 'GitHub']

8
server/documents/index.html.eco

@ -5,16 +5,10 @@ title : 'Introduction'
type : 'Semantic' type : 'Semantic'
--- ---
<% uiElements = @getCollection("uiElements").toJSON() %>
<% uiCollections = @getCollection("uiCollections").toJSON() %>
<% uiViews = @getCollection("uiViews").toJSON() %>
<% uiModules = @getCollection("uiModules").toJSON() %>
<script src="/javascript/home.js"></script> <script src="/javascript/home.js"></script>
<link rel="stylesheet" type="text/css" href="/stylesheets/home.css"> <link rel="stylesheet" type="text/css" href="/stylesheets/home.css">
<link rel="stylesheet/less" type="text/css" href="/build/less/definitions/elements/button.less" /> <link rel="stylesheet/less" type="text/css" href="/build/less/definitions/elements/button.less" />
<div class="following bar"> <div class="following bar">
<div class="ui page grid"> <div class="ui page grid">
<div class="column"> <div class="column">
@ -60,7 +54,7 @@ type : 'Semantic'
<span class="text">is the vocabulary of the web.</span> <span class="text">is the vocabulary of the web.</span>
</h1> </h1>
<div class="ui hidden divider"></div> <div class="ui hidden divider"></div>
<a href="build/semantic.zip" class="ui huge basic inverted teal download button"> <a href="customize.html" class="ui huge basic inverted teal download button">
Download Now Download Now
<i class="right chevron icon"></i> <i class="right chevron icon"></i>
</a> </a>

2
server/documents/modules/accordion.html.eco

@ -5,7 +5,7 @@ element : 'accordion'
elementType : 'module' elementType : 'module'
title : 'Accordion' title : 'Accordion'
description : 'An accordion lets a user activate groups of collapsible content' description : 'An accordion allows users to toggle the display of sections of content'
type : 'UI Module' type : 'UI Module'
themes : ['Default', 'Chubby'] themes : ['Default', 'Chubby']

2
server/documents/modules/checkbox.html.eco

@ -5,7 +5,7 @@ element : 'checkbox'
elementType : 'module' elementType : 'module'
title : 'Checkbox' title : 'Checkbox'
description : "A checkbox indicates the current value of a selection" description : "A checkbox allows a user to select a value from a small set of options, often binary"
type : 'UI Module' type : 'UI Module'
themes : ['Default'] themes : ['Default']

2
server/documents/modules/form.html.eco

@ -6,7 +6,7 @@ element : 'form'
elementType : 'behavior' elementType : 'behavior'
title : 'Form Validation' title : 'Form Validation'
description : 'A form validation behavior checks user input data against a set of criteria before passing along the data to the server' description : 'A form validation behavior checks data against a set of criteria before passing it along to the server'
type : 'UI Behavior' type : 'UI Behavior'
--- ---

2
server/documents/modules/modal.html.eco

@ -6,7 +6,7 @@ element : 'modal'
elementType : 'module' elementType : 'module'
title : 'Modal' title : 'Modal'
description : 'A modal displays content that temporarily blocks interactions with other content' description : 'A modal displays content that temporarily blocks interactions with the main view of a site'
type : 'UI Module' type : 'UI Module'
themes : ['Default', 'Fixed-width'] themes : ['Default', 'Fixed-width']

2
server/documents/modules/popup.html.eco

@ -6,7 +6,7 @@ element : 'popup'
elementType : 'module' elementType : 'module'
title : 'Popup' title : 'Popup'
description : 'A popup displays additional information on top of a page element' description : 'A popup displays additional information on top of a page'
type : 'UI Module' type : 'UI Module'
themes : ['Default'] themes : ['Default']

2
server/documents/modules/rating.html.eco

@ -6,7 +6,7 @@ element : 'rating'
elementType : 'module' elementType : 'module'
title : 'Rating' title : 'Rating'
description : 'A rating allows a user to indicate interest in content' description : 'A rating indicates user interest in content'
type : 'UI Module' type : 'UI Module'
themes : ['Default'] themes : ['Default']

2
server/documents/modules/reveal.html.eco

@ -6,7 +6,7 @@ element : 'reveal'
elementType : 'element' elementType : 'element'
title : 'Reveal' title : 'Reveal'
description : 'A reveal hides additional content until a user engages content' description : 'A reveal displays additional content in place of previous content when activated'
type : 'UI Element' type : 'UI Element'
themes : ['Default'] themes : ['Default']

2
server/documents/modules/search.html.eco

@ -5,7 +5,7 @@ element : 'search'
elementType : 'module' elementType : 'module'
title : 'Search' title : 'Search'
description : 'A search module is used to allow a user to query a large selection of values.' description : 'A search module allows a user to query for results from a selection of data'
type : 'UI Module' type : 'UI Module'
status : 'Undocumented' status : 'Undocumented'

2
server/documents/modules/sticky.html.eco

@ -5,7 +5,7 @@ element : 'sticky'
elementType : 'module' elementType : 'module'
title : 'Sticky' title : 'Sticky'
description : 'A sticky provides a wrapper for sticky embeds from common 3rd party sources.' description : 'A sticky element sticks to the browsers viewport as page content is scrolled'
type : 'UI Module' type : 'UI Module'
status : 'Undocumented' status : 'Undocumented'

2
server/documents/modules/tab.html.eco

@ -5,7 +5,7 @@ element : 'tab'
elementType : 'module' elementType : 'module'
title : 'Tab' title : 'Tab'
description : 'A tab is a section of content tied to a navigation menu' description : 'A tab is a hidden section of content activated by a menu'
type : 'UI Module' type : 'UI Module'
themes : ['Default'] themes : ['Default']

2
server/documents/modules/video.html.eco

@ -5,7 +5,7 @@ element : 'video'
elementType : 'module' elementType : 'module'
title : 'Video' title : 'Video'
description : 'A video provides a wrapper for video embeds from common 3rd party sources.' description : 'A video is used to display moving visual images and related playback options'
type : 'UI Module' type : 'UI Module'
status : 'Undocumented' status : 'Undocumented'

2
server/documents/views/card.html.eco

@ -6,7 +6,7 @@ element : 'card'
elementType : 'view' elementType : 'view'
title : 'Card' title : 'Card'
description : 'A card view lists site content as playing cards' description : 'A card displays site content in a manner similar to a playing card'
type : 'UI View' type : 'UI View'
themes : ['Default', 'Basic', 'GitHub'] themes : ['Default', 'Basic', 'GitHub']

2
server/documents/views/comment.html.eco

@ -3,7 +3,7 @@ layout : 'default'
css : 'comment' css : 'comment'
title : 'Comment' title : 'Comment'
description : 'A comment is used to display user feedback to site content' description : 'A comment displays user feedback to site content'
type : 'UI View' type : 'UI View'
element : 'comment' element : 'comment'

2
server/documents/views/item.html.eco

@ -6,7 +6,7 @@ element : 'item'
elementType : 'view' elementType : 'view'
title : 'Item' title : 'Item'
description : 'An item view formats large collections of content for display vertically' description : 'An item view presents large collections of site content for display'
type : 'UI View' type : 'UI View'
themes : ['Default'] themes : ['Default']

49
server/files/javascript/customize.js

@ -0,0 +1,49 @@
semantic.customize = {};
// ready event
semantic.customize.ready = function() {
var
$accordion = $('.main.container .ui.accordion'),
$choice = $('.download .item'),
$popup = $('.main.container [data-content]'),
$checkbox = $('.download .item .checkbox'),
handler = {}
;
$choice
.on('click', function() {
$(this)
.find($checkbox)
.checkbox('toggle')
;
})
;
$checkbox
.checkbox()
;
$accordion
.accordion({
duration: 0,
exclusive: false,
onChange: function() {
$('.ui.sticky').sticky('refresh');
}
})
;
$popup
.popup()
;
};
// attach ready event
$(document)
.ready(semantic.customize.ready)
;

2
server/files/javascript/semantic.js

@ -890,7 +890,7 @@ semantic.ready = function() {
$menu $menu
.sidebar({ .sidebar({
transition : 'uncover', transition : 'uncover',
mobileTransition : 'scale down' mobileTransition : 'overlay'
}) })
.sidebar('attach events', '.launch.button, .view-ui, .launch.item') .sidebar('attach events', '.launch.button, .view-ui, .launch.item')
.sidebar('attach events', $hideMenu, 'hide') .sidebar('attach events', $hideMenu, 'hide')

44
server/files/stylesheets/customize.css

@ -0,0 +1,44 @@
/*******************************
Customizer
*******************************/
#example.custom .download.list {
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25em;
}
#example.custom .download.list .checkbox + .content {
opacity: 0.6;
transition: opacity 0.3s ease;
}
#example.custom .download.list .checkbox + .content .header {
transition: color 0.3s ease;
font-weight: normal;
}
#example.custom .download.list .checkbox.checked + .content {
opacity: 1;
}
#example.custom .download.list .checkbox.checked + .content .header {
color: #000000;
font-weight: bold;
}
/* Element Lists */
#example.custom .download.list .item > .checkbox {
display: block;
float: left;
margin-top: 0.75em;
margin-left: 0.5em;
}
#example.custom .download.list .item > .content {
margin-left: 3em;
}
#example.custom .download.list .item .icon.button {
opacity: 0;
margin: 0.3em 0.3em 0em 0em;
transition: opacity 0.5s ease;
}
#example.custom .download.list .item:hover .icon.button {
opacity: 1;
}

509
server/files/stylesheets/home.css

@ -0,0 +1,509 @@
/*******************************
Homepage
*******************************/
#example.index .pusher > .page {
background-color: #FFFFFF;
}
/*--------------
Masthead
---------------*/
#example.index .masthead {
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
-o-transform-style: preserve-3d;
-ms-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-perspective: 1000px;
-moz-perspective: 1000px;
-o-perspective: 1000px;
-ms-perspective: 1000px;
perspective: 1000px;
}
#example.index .masthead:before {
position: absolute;
z-index: 1;
width: 150%;
height: 200%;
top: -25%;
left: 0px;
content: '';
background: url(../images/icons-inverted.png);
-moz-transform-origin: 50% 50%;
-o-transform-origin: 50% 50%;
-ms-transform-origin: 50% 50%;
transform-origin: 50% 50%;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
-o-transform-style: preserve-3d;
-ms-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-animation-name: masthead;
-moz-animation-name: masthead;
-o-animation-name: masthead;
animation-name: masthead;
-ms-transition: opacity 5s ease-in-out, transform 5s ease-in-out;
-webkit-transition: opacity 5s ease-in-out, transform 5s ease-in-out;
-moz-transition: opacity 5s ease-in-out, transform 5s ease-in-out;
transition: opacity 5s ease-in-out, transform 5s ease-in-out;
opacity: 0.08;
-webkit-animation-duration: 15s;
-moz-animation-duration: 15s;
-ms-animation-duration: 15s;
-o-animation-duration: 15s;
animation-duration: 15s;
-webkit-animation-fill-mode: both;
-moz-animation-fill-mode: both;
-ms-animation-fill-mode: both;
-o-animation-fill-mode: both;
animation-fill-mode: both;
animation-timing-function: linear;
-webkit-animation-timing-function: linear;
-webkit-animation-iteration-count: infinite;
-moz-animation-iteration-count: infinite;
-ms-animation-iteration-count: infinite;
-o-animation-iteration-count: infinite;
animation-iteration-count: infinite;
-webkit-transform: rotateX(50deg) rotateZ(0deg) rotateY(0deg) translateY(-14%) translateX(-2%) translateZ(300px);
-moz-transform: rotateX(50deg) rotateZ(0deg) rotateY(0deg) translateY(-14%) translateX(-2%) translateZ(300px);
transform: rotateX(50deg) rotateZ(0deg) rotateY(0deg) translateY(-14%) translateX(-2%) translateZ(300px);
}
#example.index .masthead {
-ms-transition: background-color 3s ease-in-out 2s;
-moz-transition: background-color 3s ease-in-out 2s;
-webkit-transition: background-color 3s ease-in-out 2s;
transition: background-color 3s ease-in-out 2s;
background-color: #00B5AD;
background-image: radial-gradient(farthest-corner, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.95));
}
#example.index .masthead.zoomed {
background-color: #444444;
}
#example .masthead.zoomed:before {
opacity: 0.15;
-webkit-transform: rotateX(0deg) rotateZ(0deg) rotateY(0deg) translateZ(0px);
-moz-transform: rotateX(0deg) rotateZ(0deg) rotateY(0deg) translateZ(0px);
transform: rotateX(0deg) rotateZ(0deg) rotateY(0deg) translateZ(0px);
}
@keyframes masthead {
0% {
background-position: 0% 0%;
}
100% {
background-position: 0% -410px;
}
}
@-moz-keyframes masthead {
0% {
background-position: 0% 0%;
}
100% {
background-position: 0% -410px;
}
}
@-webkit-keyframes masthead {
0% {
background-position: 0% 0%;
}
100% {
background-position: 0% -410px;
}
}
@-ms-keyframes masthead {
0% {
background-position: 0% 0%;
}
100% {
background-position: 0% -410px;
}
}
@-o-keyframes masthead {
0% {
background-position: 0% 0%;
}
100% {
background-position: 0% -410px;
}
}
#example.index .masthead.segment .typed-cursor {
position: relative;
top: -0.05em;
left: -0.25em;
opacity: 1;
-webkit-animation: blink 0.7s infinite;
-moz-animation: blink 0.7s infinite;
animation: blink 0.7s infinite;
}
@keyframes blink {
0% { opacity:1; }
50% { opacity:0; }
100% { opacity:1; }
}
@-webkit-keyframes blink {
0% { opacity:1; }
50% { opacity:0; }
100% { opacity:1; }
}
@-moz-keyframes blink {
0% { opacity:1; }
50% { opacity:0; }
100% { opacity:1; }
}
#example.index .masthead {
position: relative;
overflow: hidden;
color: rgba(255, 255, 255, 0.9);
margin-bottom: 0px;
border-bottom: none;
}
#example.index .masthead.segment h1 {
font-size: 3em;
color: rgba(255, 255, 255, 0.5);
line-height: 1.2;
margin: 0px 0px 0px;
padding-bottom: 0px;
-moz-perspective: 500px;
-webkit-perspective: 500px;
perspective: 500px;
-moz-transform-style: preserve-3d;
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
}
#example.index .masthead.segment h1 > .library {
visibility: hidden;
display: block;
font-size: 1.75em;
color: #FFFFFF;
font-weight: bold;
}
#example.index .masthead.segment h1 b {
display: inline-block;
font-weight: 300;
color: #FFFFFF;
}
#example.index .masthead.segment h1 .text {
display: inline-block;
font-weight: 300;
margin-left: -0.4em;
}
#example.index .masthead h2 {
font-weight: normal;
margin: 0px 0 16px 0px;
font-size: 1.75em;
border-bottom: none;
line-height: 1;
}
#example.index .masthead p {
font-size: 1.5em;
margin: 1em 0em 1.5em;
padding: 0px;
}
#example.index .ui.header {
font-weight: normal;
}
#example.index .introduction {
position: relative;
clear: both;
display: block;
text-align: center;
margin: 15rem 0rem;
}
#example.index .introduction .buttons {
margin-top: 3em;
}
#example.index .advertisement {
padding-left: 0;
position: absolute;
left: auto;
right: 6em;
top: 50%;
transform: translateY(-50%);
vertical-align: top;
}
#example.index .fixed.launch.button {
background-color: #00b5ad;
top: 45px;
}
#example.index .main.menu {
top: 0px;
}
#example.index pre.console {
height: 120px;
}
/*--------------
Features
---------------*/
#example.index .hidden.code {
visibility: hidden;
}
#example.index .following.bar {
position: absolute;
top: 50px;
z-index: 1;
left: 0%;
width: 100%;
}
#example.index .following .logo {
float: left;
width: 35px;
}
#example.index .following .version.label {
margin: 0.25em 0px 0px 1em;
}
/*--------------
Stripes
---------------*/
#example.index .stripe .grid .row {
margin: 2rem 0rem;
}
#example.index .feature.stripe p {
min-height: 100px;
}
#example.index .demo h4 {
font-weight: bold !important;
margin: 0em 0em 1em !important;
}
#example.index .demo .ui.label:not(.empty) {
margin-bottom: 1em;
}
#example .stripe .ui.vertical.divider {
font-size: 1rem;
}
#example.index .stripe .icon.header i.icon {
font-size: 2em;
}
/* Final */
#example.index .final.stripe {
border-top: 1px solid #DDDDDD;
background-color: #F8F8F8;
}
/* Alternate */
#example .alternate.stripe {
background-color: #F2F3F5;
}
/* Inverted */
#example.index .inverted.stripe {
background-color: #1B1C1D;
}
#example.index .inverted.stripe p {
color: #FFFFFF;
}
/*--------------
Legacy?
---------------*/
/* content */
#example .solid,
#example .stripe {
padding: 6em 0px;
}
#example .stripe h1 {
font-size: 40px;
}
#example .stripe h2 {
font-size: 26px;
}
#example .stripe h3 {
font-size: 20px;
}
#example .stripe .buttons {
vertical-align: top;
}
#example .stripe .button {
margin-bottom: 0.5em;
}
#example .stripe .column > p {
font-size: 16px;
line-height: 1.6;
margin: 2em 0em;
}
#example .stripe .grid .grid p {
font-size: 15px;
line-height: 1.4;
}
#example .dark.stripe {
background-color: #333333;
background: url(/images/dark-bg.png) repeat;
color: #FFFFFF;
}
#example .stripe .column > .label {
margin-bottom: 1em;
}
#example .solid {
background-color: #FFFFFF;
-webkit-box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.1);
-moz-box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.1);
box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.1);
}
#example .solid .column {
color: #555555;
}
#example .solid .column p b {
color: rgba(0, 0, 0, 0.9);
}
#example .solid .column p {
color: rgba(0, 0, 0, 0.5);
}
#example .stripe .message {
margin: 2em 0em;
}
/*--------------
Newsletter
---------------*/
#example.index .email.stripe {
padding: 2em 0em;
}
#example.index .email.stripe p {
margin: -0.5em 0em 1em;
}
#example.index .email.stripe .input {
width: 450px;
}
#example.index .email.stripe .submit.button {
margin-left: 1em;
}
@media only screen and (max-width : 400px) {
#example.index .following.bar {
display: none;
}
#example.index .advertisement {
display: none;
margin-left: -130px !important;
}
#example.index .carbonad {
width: 260px !important;
}
}
@media only screen and (max-width : 600px) {
#example.index .feature.stripe p {
min-height: 0px;
}
#example.index .following.bar .column {
text-align: center;
}
#example.index .following .logo {
float: none;
}
#example.index .following .version.label {
vertical-align: top;
margin-top: 0em;
}
#example.index .introduction {
margin: 5rem 0rem;
}
#example.index .masthead.segment h1 {
font-size: 2.25em;
}
#example.index .email.stripe .input {
width: auto;
}
#example.index .following .secondary.menu {
display: none;
}
#example.index .email.stripe .submit.button {
margin-top: 0.5em;
}
}
@media only screen and (min-width : 600px) {
#example.index .main.menu {
display: none;
}
}
/* Homepage */
@media only screen and (max-width : 780px) {
#example.index .container {
margin-left: 2em;
margin-right: 2em;
}
}
@media only screen and (max-width: 1200px) {
#example.index .advertisement {
position: absolute;
top: auto;
left: 50%;
bottom: 2rem;
margin-left: -175px;
-webkit-transform: none;
-moz-transform: none;
-ms-transform: none;
transform: none;
}
#example.index .inverted.advertisement .carbonad-img {
margin-top: 0px;
}
#example.index #carbonads-container {
float: none;
}
#example.index .carbonad {
width: 340px;
}
#example.index .carbonad-text,
#example.index .carbonad-tag {
float: none;
display: block;
text-align: left;
margin-left: 160px;
width: 170px;
}
}

58
server/files/stylesheets/semantic.css

@ -444,64 +444,6 @@ body#example.hide {
opacity: 0.95; opacity: 0.95;
} }
/* content */
#example .solid,
#example .stripe {
padding: 6em 0px;
}
#example .stripe h1 {
font-size: 40px;
}
#example .stripe h2 {
font-size: 26px;
}
#example .stripe h3 {
font-size: 20px;
}
#example .stripe .buttons {
vertical-align: top;
}
#example .stripe .button {
margin-bottom: 0.5em;
}
#example .stripe .column > p {
font-size: 16px;
line-height: 1.6;
margin: 2em 0em;
}
#example .stripe .grid .grid p {
font-size: 15px;
line-height: 1.4;
}
#example .dark.stripe {
background-color: #333333;
background: url(/images/dark-bg.png) repeat;
color: #FFFFFF;
}
#example .stripe .column > .label {
margin-bottom: 1em;
}
#example .solid {
background-color: #FFFFFF;
-webkit-box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.1);
-moz-box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.1);
box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.1);
}
#example .solid .column {
color: #555555;
}
#example .solid .column p b {
color: rgba(0, 0, 0, 0.9);
}
#example .solid .column p {
color: rgba(0, 0, 0, 0.5);
}
#example .stripe .message {
margin: 2em 0em;
}
#example.pushable.left.overlay .fixed.launch.button { #example.pushable.left.overlay .fixed.launch.button {
transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0);
} }

2
server/layouts/default.html.eco

@ -181,7 +181,7 @@
<a class="hide item"> <a class="hide item">
<i class="close icon"></i> Close Menu <i class="close icon"></i> Close Menu
</a> </a>
<a class="item" href="/build/semantic.zip"> <a class="item" href="/customize.html">
<i class="download icon"></i> <b>Download</b> <i class="download icon"></i> <b>Download</b>
</a> </a>
<div class="item"> <div class="item">

5
src/definitions/elements/header.less

@ -459,7 +459,7 @@ a.ui.inverted.yellow.header:hover {
.ui.small.block.header { .ui.small.block.header {
font-size: @smallBlock; font-size: @smallBlock;
} }
.ui.block.header { .ui.block.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
font-size: @mediumBlock; font-size: @mediumBlock;
} }
.ui.large.block.header { .ui.large.block.header {
@ -475,7 +475,6 @@ a.ui.inverted.yellow.header:hover {
.ui.attached.header { .ui.attached.header {
background: @attachedBackground; background: @attachedBackground;
margin: 0em;
padding: @attachedVerticalPadding @attachedHorizontalPadding; padding: @attachedVerticalPadding @attachedHorizontalPadding;
box-shadow: @attachedBoxShadow; box-shadow: @attachedBoxShadow;
border: @attachedBorder; border: @attachedBorder;
@ -506,7 +505,7 @@ a.ui.inverted.yellow.header:hover {
.ui.small.attached.header { .ui.small.attached.header {
font-size: @smallAttached; font-size: @smallAttached;
} }
.ui.attached.header { .ui.attached.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
font-size: @mediumAttached; font-size: @mediumAttached;
} }
.ui.large.attached.header { .ui.large.attached.header {

7
src/definitions/elements/list.less

@ -358,7 +358,6 @@ ol.ui.list ol,
} }
/* Inverted */ /* Inverted */
.ui.inverted.selection.list .item { .ui.inverted.selection.list .item {
background: @invertedSelectionListBackground; background: @invertedSelectionListBackground;
color: @invertedSelectionListColor; color: @invertedSelectionListColor;
@ -376,6 +375,12 @@ ol.ui.list ol,
color: @invertedSelectionListActiveColor; color: @invertedSelectionListActiveColor;
} }
/* Celled / Divided Selection List */
.ui.celled.selection.list .item,
.ui.divided.selection.list .item {
border-radius: 0em;
}
/*------------------- /*-------------------
Animated Animated
--------------------*/ --------------------*/

2
src/definitions/elements/step.less

@ -117,7 +117,7 @@
.ui.ordered.steps .step > * { .ui.ordered.steps .step > * {
display: table-cell; display: table-cell;
vertical-align: top; vertical-align: @iconVerticalAlign;
} }

20
src/definitions/modules/accordion.less

@ -33,21 +33,33 @@
padding: @childAccordionPadding; padding: @childAccordionPadding;
} }
/* Title */
.ui.accordion .title, .ui.accordion .title,
.ui.accordion .accordion .title { .ui.accordion .accordion .title {
cursor: pointer; cursor: pointer;
}
/* Default Styling */
.ui.accordion .title:not(.ui) {
padding: @titlePadding;
font-family: @titleFont; font-family: @titleFont;
font-size: @titleFontSize; font-size: @titleFontSize;
padding: @titlePadding;
color: @titleColor; color: @titleColor;
} }
.ui.accordion .content,
.ui.accordion .accordion .content { /* Content */
.ui.accordion .title ~ .content,
.ui.accordion .accordion .title ~ .content {
display: none; display: none;
}
/* Default Styling */
.ui.accordion .title ~ .content:not(.ui),
.ui.accordion .accordion .title ~ .content:not(.ui) {
margin: @contentMargin; margin: @contentMargin;
padding: @contentPadding; padding: @contentPadding;
} }
.ui.accordion .content:last-child { .ui.accordion .title ~ .content:not(.ui):last-child {
padding-bottom: 0em; padding-bottom: 0em;
} }

35
src/definitions/modules/checkbox.js

@ -73,12 +73,16 @@ $.fn.checkbox = function(parameters) {
.on('click' + eventNamespace, module.toggle) .on('click' + eventNamespace, module.toggle)
; ;
} }
if(settings.fireOnInit) {
$.proxy(settings.onChange, $input.get())(); if( module.is.checked() ) {
if( module.is.checked() ) { module.set.checked();
if(settings.fireOnInit) {
$.proxy(settings.onChecked, $input.get())(); $.proxy(settings.onChecked, $input.get())();
} }
else { }
else {
module.remove.checked();
if(settings.fireOnInit) {
$.proxy(settings.onUnchecked, $input.get())(); $.proxy(settings.onUnchecked, $input.get())();
} }
} }
@ -151,12 +155,25 @@ $.fn.checkbox = function(parameters) {
} }
}, },
set: {
checked: function() {
$module.addClass(className.checked);
}
},
remove: {
checked: function() {
$module.removeClass(className.checked);
}
},
check: function() { check: function() {
module.debug('Enabling checkbox', $input); module.debug('Enabling checkbox', $input);
$input $input
.prop('checked', true) .prop('checked', true)
.trigger('change') .trigger('change')
; ;
module.set.checked();
$.proxy(settings.onChange, $input.get())(); $.proxy(settings.onChange, $input.get())();
$.proxy(settings.onChecked, $input.get())(); $.proxy(settings.onChecked, $input.get())();
}, },
@ -167,6 +184,7 @@ $.fn.checkbox = function(parameters) {
.prop('checked', false) .prop('checked', false)
.trigger('change') .trigger('change')
; ;
module.remove.checked();
$.proxy(settings.onChange, $input.get())(); $.proxy(settings.onChange, $input.get())();
$.proxy(settings.onUnchecked, $input.get())(); $.proxy(settings.onUnchecked, $input.get())();
}, },
@ -371,6 +389,11 @@ $.fn.checkbox.settings = {
fireOnInit : true, fireOnInit : true,
className: {
checked : 'checked',
radio : 'radio'
},
onChange : function(){}, onChange : function(){},
onChecked : function(){}, onChecked : function(){},
onUnchecked : function(){}, onUnchecked : function(){},
@ -384,10 +407,6 @@ $.fn.checkbox.settings = {
label : 'label' label : 'label'
}, },
className : {
radio : 'radio'
}
}; };
})( jQuery, window , document ); })( jQuery, window , document );

32
src/definitions/views/item.less

@ -385,6 +385,7 @@
Variations Variations
*******************************/ *******************************/
/*------------------- /*-------------------
Aligned Aligned
--------------------*/ --------------------*/
@ -400,6 +401,18 @@
} }
/*--------------
Relaxed
---------------*/
.ui.relaxed.items > .item {
margin: @relaxedItemSpacing 0em;
}
.ui[class*="very relaxed"].items > .item {
margin: @veryRelaxedItemSpacing 0em;
}
/*------------------- /*-------------------
Divided Divided
--------------------*/ --------------------*/
@ -411,14 +424,25 @@
} }
.ui.divided.items > .item:first-child { .ui.divided.items > .item:first-child {
border-top: none; border-top: none;
margin-top: @dividedFirstLastMargin; margin-top: @dividedFirstLastMargin !important;
padding-top: @dividedFirstLastPadding; padding-top: @dividedFirstLastPadding !important;
} }
.ui.divided.items > .item:last-child { .ui.divided.items > .item:last-child {
margin-bottom: @dividedFirstLastMargin; margin-bottom: @dividedFirstLastMargin !important;
padding-bottom: @dividedFirstLastPadding; padding-bottom: @dividedFirstLastPadding !important;
}
/* Relaxed Divided */
.ui.relaxed.divided.items > .item {
margin: 0em;
padding: @relaxedItemSpacing 0em;
}
.ui[class*="very relaxed"].divided.items > .item {
margin: 0em;
padding: @veryRelaxedItemSpacing 0em;
} }
/*------------------- /*-------------------
Link Link
--------------------*/ --------------------*/

20
src/themes/packages/default/elements/header.variables

@ -79,11 +79,11 @@
@blockVerticalPadding: 0.75rem; @blockVerticalPadding: 0.75rem;
@blockBorderRadius: 0.3125rem; @blockBorderRadius: 0.3125rem;
@tinyBlock: 0.875em; @tinyBlock: @tiny;
@smallBlock: 0.9em; @smallBlock: @small;
@mediumBlock: 1em; @mediumBlock: @medium;
@largeBlock: 1.1em; @largeBlock: @large;
@hugeBlock: 1.2em; @hugeBlock: @huge;
/* Divided */ /* Divided */
@blackDividedBorderColor: @black; @blackDividedBorderColor: @black;
@ -105,11 +105,11 @@
@attachedBorder: none; @attachedBorder: none;
@attachedBorderRadius: @blockBorderRadius; @attachedBorderRadius: @blockBorderRadius;
@tinyAttached: @tinyBlock; @tinyAttached: 0.875em;
@smallAttached: @smallBlock; @smallAttached: 0.9em;
@mediumAttached: @mediumBlock; @mediumAttached: 1em;
@largeAttached: @largeBlock; @largeAttached: 1.1em;
@hugeAttached: @hugeBlock; @hugeAttached: 1.2em;
/* Inverted */ /* Inverted */
@invertedColor: @white; @invertedColor: @white;

2
src/themes/packages/default/elements/list.variables

@ -109,6 +109,7 @@
0.2s padding-left @defaultEasing, 0.2s padding-left @defaultEasing,
0.2s background-color @defaultEasing 0.2s background-color @defaultEasing
; ;
/* Selection List States */ /* Selection List States */
@selectionListBackground: transparent; @selectionListBackground: transparent;
@selectionListColor: @unselectedTextColor; @selectionListColor: @unselectedTextColor;
@ -129,7 +130,6 @@
@invertedSelectionListActiveBackground: @transparentWhite; @invertedSelectionListActiveBackground: @transparentWhite;
@invertedSelectionListActiveColor: @invertedSelectedTextColor; @invertedSelectionListActiveColor: @invertedSelectedTextColor;
/* Animated List */ /* Animated List */
@animatedListTransition: @animatedListTransition:
0.2s color ease, 0.2s color ease,

2
src/themes/packages/default/modules/accordion.variables

@ -17,7 +17,7 @@
@iconWidth: 1.25em; @iconWidth: 1.25em;
@iconHeight: 1em; @iconHeight: 1em;
@iconDisplay: inline-block; @iconDisplay: inline-block;
@iconMargin: 0em 0.25em 0em -0.25em; @iconMargin: 0em 0.25rem 0em 0rem;
@iconTransition: @iconTransition:
transform 0.2s ease, transform 0.2s ease,
opacity 0.2s ease opacity 0.2s ease

4
src/themes/packages/default/views/item.variables

@ -136,6 +136,10 @@
Variations Variations
--------------------*/ --------------------*/
/* Relaxed */
@relaxedItemSpacing: 1.5em;
@veryRelaxedItemSpacing: 2em;
/* Divided */ /* Divided */
@dividedBorder: 1px solid @borderColor; @dividedBorder: 1px solid @borderColor;
@dividedMargin: 0em; @dividedMargin: 0em;

Loading…
Cancel
Save