themepile-abstractio 1.0.4 → 4.1.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. checksums.yaml +8 -8
  2. data/.gitignore +1 -0
  3. data/CONTRIBUTING.md +7 -7
  4. data/Gemfile.lock +19 -0
  5. data/Gruntfile.js +27 -0
  6. data/README.md +38 -38
  7. data/abstractio.gemspec +20 -18
  8. data/docs/CHANGELOG.md +275 -0
  9. data/docs/Capfile +4 -0
  10. data/docs/Gemfile +13 -0
  11. data/docs/Gemfile.lock +45 -0
  12. data/docs/Procfile +2 -0
  13. data/docs/README.md +1 -0
  14. data/docs/_sidebar-components.html.erb +115 -0
  15. data/docs/_sidebar.html.erb +115 -0
  16. data/docs/changelog.html.erb +33 -0
  17. data/docs/compile.rb +34 -0
  18. data/docs/components/alert-boxes.html.erb +204 -0
  19. data/docs/components/block-grid.html.erb +132 -0
  20. data/docs/components/breadcrumbs.html.erb +156 -0
  21. data/docs/components/button-groups.html.erb +230 -0
  22. data/docs/components/buttons.html.erb +222 -0
  23. data/docs/components/clearing.html.erb +152 -0
  24. data/docs/components/custom-forms.html.erb +309 -0
  25. data/docs/components/dropdown-buttons.html.erb +235 -0
  26. data/docs/components/dropdown.html.erb +188 -0
  27. data/docs/components/flex-video.html.erb +95 -0
  28. data/docs/components/forms.html.erb +477 -0
  29. data/docs/components/global.html.erb +92 -0
  30. data/docs/components/grid.html.erb +366 -0
  31. data/docs/components/inline-lists.html.erb +91 -0
  32. data/docs/components/joyride.html.erb +183 -0
  33. data/docs/components/keystrokes.html.erb +76 -0
  34. data/docs/components/kitchen-sink.html.erb +870 -0
  35. data/docs/components/labels.html.erb +102 -0
  36. data/docs/components/magellan.html.erb +86 -0
  37. data/docs/components/orbit.html.erb +276 -0
  38. data/docs/components/pagination.html.erb +183 -0
  39. data/docs/components/panels.html.erb +123 -0
  40. data/docs/components/pricing-tables.html.erb +156 -0
  41. data/docs/components/progress-bars.html.erb +123 -0
  42. data/docs/components/reveal.html.erb +162 -0
  43. data/docs/components/section.html.erb +1023 -0
  44. data/docs/components/side-nav.html.erb +124 -0
  45. data/docs/components/split-buttons.html.erb +220 -0
  46. data/docs/components/sub-nav.html.erb +122 -0
  47. data/docs/components/switch.html.erb +290 -0
  48. data/docs/components/tables.html.erb +125 -0
  49. data/docs/components/thumbnails.html.erb +89 -0
  50. data/docs/components/tooltips.html.erb +76 -0
  51. data/docs/components/top-bar.html.erb +300 -0
  52. data/docs/components/type.html.erb +396 -0
  53. data/docs/components/visibility.html.erb +110 -0
  54. data/docs/config.ru +12 -0
  55. data/docs/config/deploy.rb +36 -0
  56. data/docs/controller.rb +49 -0
  57. data/docs/css/_coderay.scss +116 -0
  58. data/docs/css/_settings.scss +1 -0
  59. data/docs/css/docs.scss +239 -0
  60. data/docs/css/normalize.scss +396 -0
  61. data/docs/css/qunit-composite.css +13 -0
  62. data/docs/css/qunit.css +235 -0
  63. data/docs/faq.html.erb +63 -0
  64. data/docs/img/demos/demo1-th.jpg +0 -0
  65. data/docs/img/demos/demo1.jpg +0 -0
  66. data/docs/img/demos/demo2-th.jpg +0 -0
  67. data/docs/img/demos/demo2.jpg +0 -0
  68. data/docs/img/demos/demo3-th.jpg +0 -0
  69. data/docs/img/demos/demo3.jpg +0 -0
  70. data/docs/img/demos/demo4-th.jpg +0 -0
  71. data/docs/img/demos/demo4.jpg +0 -0
  72. data/docs/img/demos/demo5-th.jpg +0 -0
  73. data/docs/img/demos/demo5.jpg +0 -0
  74. data/docs/index.html.erb +298 -0
  75. data/docs/javascript.html.erb +138 -0
  76. data/docs/js/docs.js +3 -0
  77. data/docs/js/qunit-composite.js +105 -0
  78. data/docs/js/qunit.js +1977 -0
  79. data/docs/js/tests/tabs/simple_tabs.html +57 -0
  80. data/docs/js/tests/tabs/simple_tabs.js +54 -0
  81. data/docs/js/tests/tooltips/tooltips.html +39 -0
  82. data/docs/js/tests/tooltips/tooltips.js +11 -0
  83. data/docs/layout.html.erb +128 -0
  84. data/docs/media-queries.html.erb +96 -0
  85. data/docs/rails.html.erb +76 -0
  86. data/docs/rtl.html.erb +53 -0
  87. data/docs/sass.html.erb +1297 -0
  88. data/docs/support.html.erb +143 -0
  89. data/js/{foundation/foundation.alerts.js → abstractio/abstractio.alerts.js} +2 -2
  90. data/js/{foundation/foundation.clearing.js → abstractio/abstractio.clearing.js} +6 -6
  91. data/js/{foundation/foundation.cookie.js → abstractio/abstractio.cookie.js} +1 -1
  92. data/js/{foundation/foundation.dropdown.js → abstractio/abstractio.dropdown.js} +5 -5
  93. data/js/{foundation/foundation.forms.js → abstractio/abstractio.forms.js} +7 -7
  94. data/js/{foundation/foundation.joyride.js → abstractio/abstractio.joyride.js} +5 -5
  95. data/js/{foundation/foundation.js → abstractio/abstractio.js} +13 -13
  96. data/js/{foundation/foundation.magellan.js → abstractio/abstractio.magellan.js} +3 -3
  97. data/js/{foundation/foundation.orbit.js → abstractio/abstractio.orbit.js} +6 -6
  98. data/js/{foundation/foundation.placeholder.js → abstractio/abstractio.placeholder.js} +1 -1
  99. data/js/{foundation/foundation.reveal.js → abstractio/abstractio.reveal.js} +3 -3
  100. data/js/{foundation/foundation.section.js → abstractio/abstractio.section.js} +5 -5
  101. data/js/{foundation/foundation.tooltips.js → abstractio/abstractio.tooltips.js} +6 -6
  102. data/js/{foundation/foundation.topbar.js → abstractio/abstractio.topbar.js} +3 -3
  103. data/js/abstractio/index.js +16 -0
  104. data/js/vendor/jquery.js +3 -3
  105. data/lib/abstractio/generators/USAGE +1 -1
  106. data/lib/abstractio/version.rb +1 -1
  107. data/package.json +15 -0
  108. data/scss/abstractio.scss +37 -37
  109. data/scss/abstractio/_variables.scss +1 -1
  110. data/scss/abstractio/components/_alert-boxes.scss +1 -1
  111. data/scss/abstractio/components/_block-grid.scss +2 -2
  112. data/scss/abstractio/components/_dropdown.scss +1 -1
  113. data/scss/abstractio/components/_global.scss +2 -2
  114. data/scss/abstractio/components/_joyride.scss +1 -1
  115. data/scss/abstractio/components/_pagination.scss +1 -1
  116. data/scss/abstractio/components/_switch.scss +1 -1
  117. data/scss/abstractio/components/_visibility.scss +2 -2
  118. data/templates/project/.gitignore +1 -1
  119. data/templates/project/MIT-LICENSE.txt +1 -1
  120. data/templates/project/config.rb +1 -1
  121. data/templates/project/humans.txt +2 -2
  122. data/templates/project/index.html +11 -11
  123. data/templates/project/manifest.rb +1 -1
  124. data/templates/project/scss/app.scss +38 -38
  125. data/templates/upgrade/manifest.rb +2 -2
  126. metadata +104 -22
  127. data/Gemfile +0 -4
  128. data/Rakefile +0 -2
  129. data/js/foundation/index.js +0 -16
  130. data/lib/abstractio.rb +0 -17
@@ -0,0 +1,132 @@
1
+ <% @side_nav = "grid" %>
2
+
3
+ <div class="row">
4
+ <div class="large-9 push-3 columns">
5
+
6
+ <% @page_title = "Block Grid" %>
7
+ <div class="row">
8
+ <div class="large-12 columns">
9
+ <h2><%= @page_title %></h2>
10
+ <h4 class="subheader">Block grids give you a way to evenly split contents of a list within the grid. If you wanted to create a row of 5 images or paragraphs that need to stay evenly spaced no matter the screen size, the block grid is for you.</h4>
11
+
12
+ <ul class="small-block-grid-2 large-block-grid-4">
13
+ <li><img class="th" src="../img/demos/demo1.jpg"></li>
14
+ <li><img class="th" src="../img/demos/demo2.jpg"></li>
15
+ <li><img class="th" src="../img/demos/demo3.jpg"></li>
16
+ <li><img class="th" src="../img/demos/demo4.jpg"></li>
17
+ </ul>
18
+
19
+ <hr>
20
+
21
+ <h3>Building With Predefined HTML Classes</h3>
22
+ <p>Block grids are made from a <code>ul.small-block-grid-#</code> or <code>ul.large-block-grid-#</code>. These are ideal for blocked-in content generated by an application, as they do not require rows or even numbers of elements to display correctly.</p>
23
+
24
+ <p>These have a bit of flexibility since you have access to two separate grids between our built in 768px breakpoint. If you use the <code>small-block-grid</code> only, the grid will keep its spacing and configuration no matter the screen size. If you use <code>large-block-grid</code> only, the list items will stack on top of each other for small devices. If you use both of those classes combined, you can control the configuration and layout separately for each breakpoint.</p>
25
+
26
+ <%= code_example '
27
+ <!-- Using only the small-block-grid -->
28
+ <ul class="small-block-grid-2">
29
+ <li><img src="../img/demos/demo1.png"></li>
30
+ <li><img src="../img/demos/demo2.png"></li>
31
+ <li><img src="../img/demos/demo3.png"></li>
32
+ <li><img src="../img/demos/demo4.png"></li>
33
+ </ul>
34
+
35
+ <!-- Using only the large-block-grid -->
36
+ <ul class="large-block-grid-4">
37
+ <li><img src="../img/demos/demo1.png"></li>
38
+ <li><img src="../img/demos/demo2.png"></li>
39
+ <li><img src="../img/demos/demo3.png"></li>
40
+ <li><img src="../img/demos/demo4.png"></li>
41
+ </ul>
42
+
43
+ <!-- Using both block grids together for different layouts -->
44
+ <ul class="small-block-grid-2 large-block-grid-4">
45
+ <li><img src="../img/demos/demo1.png"></li>
46
+ <li><img src="../img/demos/demo2.png"></li>
47
+ <li><img src="../img/demos/demo3.png"></li>
48
+ <li><img src="../img/demos/demo4.png"></li>
49
+ </ul>
50
+ ', :html %>
51
+
52
+ <p>For these styles to take effect, make sure you have the <strong>default Abstractio CSS package</strong> or that you've <strong>selected block grid from a custom package</strong>. These should be linked up following our default <a href="../index.html">HTML page structure</a>.</p>
53
+
54
+ <hr>
55
+
56
+ <h3>Using The Mixin</h3>
57
+ <p>We've included SCSS mixins used to style block-grids. To use the mixin, you'll need to have the <a href="../sass.html">extension installed</a> or grab <a href="https://github.com/themepile/abstractio/tree/master/scss/abstractio/components">_abstractio-global.scss</a>, <a href="https://github.com/themepile/abstractio/blob/master/scss/abstractio/components/_global.scss">_global.scss</a> and <a href="https://github.com/themepile/abstractio/tree/master/scss/abstractio/components">_block-grid.scss</a> from Github and throw them into a abstractio folder in your project directory. From there, you can import the files at the top of your own SCSS stylesheet, like so:</p>
58
+
59
+ <%= code_example '
60
+ @import "abstractio/abstractio-global", "abstractio/components/global", "abstractio/components/block-grid";
61
+ ', :css %>
62
+
63
+ <p>If you are using the mixins, you may include the styles on whatever class or ID you'd like, just make sure you follow our markup structure. Since we don't have any media queries baked into the mixin itself, you can apply the styles at whatever breakpoint you want! Just change the configuration within each.</p>
64
+
65
+ <%= code_example '
66
+ <ul class="your-class-name">
67
+ <li><img src="../img/demos/demo1.png"></li>
68
+ <li><img src="../img/demos/demo2.png"></li>
69
+ <li><img src="../img/demos/demo3.png"></li>
70
+ <li><img src="../img/demos/demo4.png"></li>
71
+ </ul>', :html %>
72
+
73
+ <h5>Quick Mixin</h5>
74
+ <p>You can build your block-grid using our global mixin by including it on your custom class or ID in your own stylesheet. The mixin contains options configuring the block grid layout and margin on the fly. The global mixin looks like this:</p>
75
+
76
+ <%= code_example '
77
+ /* Mixin and configurable options */
78
+ .your-class-name { @include block-grid($per-row, $spacing, $base-styles); }
79
+
80
+ /* This controls how many elements will be on each row of the block grid. */
81
+ /* Set this to whatever number you need, up to the max allowed in the variable */
82
+ $per-row: false
83
+
84
+ /* This controls how much space is between each item in the block grid */
85
+ $spacing: $block-grid-default-spacing
86
+
87
+ /* This controls whether or not base styles come through, set to false to leave out */
88
+ /* This is handy for when you create multiple block-grids and want less CSS output repetition */
89
+ $base-style: true
90
+ ', :css %>
91
+
92
+ <ul class="small-block-grid-5">
93
+ <li><img src="../img/demos/demo1.jpg"></li>
94
+ <li><img src="../img/demos/demo2.jpg"></li>
95
+ <li><img src="../img/demos/demo3.jpg"></li>
96
+ <li><img src="../img/demos/demo4.jpg"></li>
97
+ <li><img src="../img/demos/demo5.jpg"></li>
98
+ </ul>
99
+
100
+ <h5>Clearing Block Grid Rows</h5>
101
+ <p>We have this built into the CSS, but you'll need to add a bit of code if you want your block grid to change layout between breakpoints. If you don't use this, it will inherit whatever you put in the smallest media query. This code looks for the <code>n+1</code> of the grid so that it clears properly. That code looks like this:</p>
102
+
103
+ <%= code_example '
104
+ .your-small-class-name > li { clear: none !important; }
105
+ ', :css %>
106
+
107
+ <p><strong>Note:</strong> If you are using the same class across breakpoints, your mixin should override this and you won't need it. If you want to control the layout using different classes, use the above snippet.</p>
108
+
109
+ <h5>Available SCSS Variables</h5>
110
+
111
+ <%= code_example '
112
+ /* We use this to control the maximum blocks and spacing */
113
+ $block-grid-elements: 12;
114
+ $block-grid-default-spacing: 10px;
115
+
116
+ /* Enables media queries for block-grid classes. Set to false if writing semantic HTML. */
117
+ $block-grid-media-queries: true
118
+ ', :css %>
119
+
120
+ </div>
121
+ </div>
122
+
123
+ </div>
124
+
125
+ <div class="large-3 pull-9 columns">
126
+ <%= render "_sidebar-components.html.erb" %>
127
+ </div>
128
+ </div>
129
+
130
+
131
+
132
+
@@ -0,0 +1,156 @@
1
+ <% @side_nav = "nav" %>
2
+
3
+ <div class="row">
4
+ <div class="large-9 push-3 columns">
5
+
6
+ <% @page_title = "Breadcrumbs" %>
7
+ <div class="row">
8
+ <div class="large-12 columns">
9
+ <h2><%= @page_title %></h2>
10
+ <h4 class="subheader">Breadcrumbs come in handy to show a navigation trail for users clicking through a site or app. They'll conform to 100% of the container width you put them in.</h4>
11
+ </div>
12
+ </div>
13
+
14
+ <div class="row">
15
+ <div class="large-12 columns">
16
+ <ul class="breadcrumbs">
17
+ <li><a href="#">Home</a></li>
18
+ <li><a href="#">Features</a></li>
19
+ <li class="unavailable"><a href="#">Gene Splicing</a></li>
20
+ <li class="current"><a href="#">Cloning</a></li>
21
+ </ul>
22
+
23
+ <hr>
24
+
25
+ <h3>Build With Predefined HTML Classes</h3>
26
+ <p>There are two ways to build breadcrumbs in Abstractio 4: with our predefined HTML classes or with our structure and mixins. Building breadcrumbs using our predefined class is easy. You'll need an <code>&lt;ul class="breadcrumbs"&gt;</code> with <code>&lt;li&gt;</code> elements inside. You have access to two state classes: <code>&lt;li class="unavailable"&gt;</code> and <code>&lt;li class="current"&gt;</code> to control link intentions. The default markup looks like this:</p>
27
+
28
+ <%= code_example '
29
+ <ul class="breadcrumbs">
30
+ <li><a href="#">Home</a></li>
31
+ <li><a href="#">Features</a></li>
32
+ <li class="unavailable"><a href="#">Gene Splicing</a></li>
33
+ <li class="current"><a href="#">Cloning</a></li>
34
+ </ul>
35
+
36
+ <!-- You can also use this markup -->
37
+ <nav class="breadcrumbs">
38
+ <a href="#">Home</a>
39
+ <a href="#">Features</a>
40
+ <a class="unavailable" href="#">Gene Splicing</a>
41
+ <a class="current" href="#">Cloning</a>
42
+ </nav>', :html %>
43
+
44
+ <p>For these styles to come across, make sure you have the <strong>default Abstractio CSS package</strong> or that you've selected <strong>breadcrumbs from a custom package</strong>. These should be linked up following our default <a href="../index.html">HTML page structure</a>.</p>
45
+
46
+ <hr>
47
+
48
+ <h3>Build with Mixins</h3>
49
+ <p>We've included SCSS mixins used to style breadcrumbs. To use these mixins, you'll need to have the <a href="../sass.html">extension installed</a> or grab <a href="https://github.com/themepile/abstractio/blob/master/scss/abstractio/_abstractio-global.scss">_abstractio-global.scss</a>, <a href="https://github.com/themepile/abstractio/blob/master/scss/abstractio/components/_global.scss">_global.scss</a> and <a href="https://github.com/themepile/abstractio/blob/master/scss/abstractio/components/_breadcrumbs.scss">_breadcrumbs.scss</a> from Github and throw them into a Abstractio folder in your project directory. From there, you can import the files at the top of your own SCSS stylesheet, like so:</p>
50
+
51
+ <%= code_example '
52
+ @import "abstractio/abstractio-global", "abstractio/components/global", "abstractio/components/breadcrumbs";
53
+ ', :css %>
54
+
55
+ <p>If you are using the mixins, you may include the styles on whatever class or ID you'd like, just make sure you follow our markup structure:</p>
56
+
57
+ <%= code_example '
58
+ <ul class="your-class-name">
59
+ <li><a href="#">Home</a></li>
60
+ <li><a href="#">Features</a></li>
61
+ <li class="unavailable"><a href="#">Gene Splicing</a></li>
62
+ <li class="current"><a href="#">Cloning</a></li>
63
+ </ul>', :html %>
64
+
65
+ <h5>Container Mixin</h5>
66
+ <p>You can build your breadcrumbs using our global mixin by including it on your custom class or ID in your stylesheet. The container mixin will create the necessary style for the <code>&lt;ul&gt;</code>. The global mixin looks like this:</p>
67
+
68
+ <%= code_example '
69
+ .your-class-name { @include crumb-container; }
70
+ ', :css %>
71
+
72
+ <ul class="crumb-container">
73
+ <li><a href="#">Home</a></li>
74
+ <li><a href="#">Features</a></li>
75
+ <li class="unavailable"><a href="#">Gene Splicing</a></li>
76
+ <li class="current"><a href="#">Cloning</a></li>
77
+ </ul>
78
+
79
+ <h5>Crumbs Mixin</h5>
80
+ <p>Use this mixin to apply the list item and link styles to items inside the breadcrumb container. You attach this mixin to the list items inside of your container.</p>
81
+
82
+
83
+ <%= code_example '
84
+ .your-class-name {
85
+ @include crumb-container;
86
+
87
+ li { @include crumbs; }
88
+ }
89
+ ', :css %>
90
+
91
+ <ul class="crumb-container crumbs">
92
+ <li><a href="#">Home</a></li>
93
+ <li><a href="#">Features</a></li>
94
+ <li class="unavailable"><a href="#">Gene Splicing</a></li>
95
+ <li class="current"><a href="#">Cloning</a></li>
96
+ </ul>
97
+
98
+ <h5>Radius Mixin</h5>
99
+ <p>We've also created a global radius mixin that you can use to add border-radius to any element you'd like.</p>
100
+
101
+ <%= code_example '
102
+ .your-class-name {
103
+ @include crumb-container;
104
+ @include radius($radius);
105
+
106
+ li { @include crumbs; }
107
+ }
108
+ ', :css %>
109
+
110
+ <ul class="crumb-container crumbs radius">
111
+ <li><a href="#">Home</a></li>
112
+ <li><a href="#">Features</a></li>
113
+ <li class="unavailable"><a href="#">Gene Splicing</a></li>
114
+ <li class="current"><a href="#">Cloning</a></li>
115
+ </ul>
116
+
117
+ <h5>Default SCSS Variables</h5>
118
+ <%= code_example '
119
+ /* We use this to set the background color for the breadcrumb container */
120
+ $crumb-bg: lighten($secondaryColor, 5%);
121
+
122
+ /* We use these to set the padding around the breadcrumbs. */
123
+ $crumb-padding: emCalc(6px) emCalc(14px) emCalc(9px);
124
+ $crumb-side-padding: emCalc(12px);
125
+
126
+ /* We use these to control border styles. */
127
+ $crumb-function-factor: 10%;
128
+ $crumb-border-size: 1px;
129
+ $crumb-border-style: solid;
130
+ $crumb-border-color: darken($crumb-bg, $crumb-function-factor);
131
+ $crumb-radius: $global-radius;
132
+
133
+ /* We use these to set various text styles for breadcrumbs. */
134
+ $crumb-font-size: emCalc(11px);
135
+ $crumb-font-color: $primary-color;
136
+ $crumb-font-color-current: #333;
137
+ $crumb-font-color-unavailable: #999;
138
+ $crumb-font-transform: uppercase;
139
+ $crumb-link-decor: underline;
140
+
141
+ /* We use these to control the slash between breadcrumbs */
142
+ $crumb-slash-color: #aaa;
143
+ $crumb-slash: "/";
144
+ ', :css %>
145
+
146
+ <p><strong>Note:</strong> <code>emCalc();</code> is a function we wrote to convert <code>px</code> to <code>em</code>.</p>
147
+
148
+ </div>
149
+ </div>
150
+
151
+ </div>
152
+
153
+ <div class="large-3 pull-9 columns">
154
+ <%= render "_sidebar-components.html.erb" %>
155
+ </div>
156
+ </div>
@@ -0,0 +1,230 @@
1
+ <% @side_nav = "buttons" %>
2
+
3
+ <div class="row">
4
+ <div class="large-9 push-3 columns">
5
+
6
+ <% @page_title = "Button Groups" %>
7
+ <div class="row">
8
+ <div class="large-12 columns">
9
+ <h2><%= @page_title %></h2>
10
+ <h4 class="subheader">Button groups are great when you need to display a group of actions in a bar. These build off the button styles and work perfectly with the grid.</h4>
11
+ </div>
12
+ </div>
13
+
14
+ <div class="row">
15
+ <div class="large-12 columns">
16
+
17
+ <ul class="button-group">
18
+ <li><a href="#" class="small button">Button 1</a></li>
19
+ <li><a href="#" class="small button">Button 2</a></li>
20
+ <li><a href="#" class="small button">Button 3</a></li>
21
+ </ul>
22
+ <ul class="button-group radius">
23
+ <li><a href="#" class="button secondary">Button 1</a></li>
24
+ <li><a href="#" class="button secondary">Button 2</a></li>
25
+ <li><a href="#" class="button secondary">Button 3</a></li>
26
+ <li><a href="#" class="button secondary">Button 4</a></li>
27
+ </ul>
28
+ <ul class="button-group round even-3">
29
+ <li><a href="#" class="button alert">Button 1</a></li>
30
+ <li><a href="#" class="button alert">Button 2</a></li>
31
+ <li><a href="#" class="button alert">Button 3</a></li>
32
+ </ul>
33
+ <ul class="button-group round even-3">
34
+ <li><input type="submit" class="button success" value="Button 1"></li>
35
+ <li><input type="submit" class="button success" value="Button 2"></li>
36
+ <li><input type="submit" class="button success" value="Button 3"></li>
37
+ </ul>
38
+
39
+ <hr>
40
+
41
+ <h3>Build With Predefined HTML Classes</h3>
42
+ <p>There are two ways to build button groups in Abstractio 4: with our predefined HTML classes or with our structure and mixins. Building button groups using our predefined classes is a breeze, you'll just wrap a <a href="buttons.html">button</a> inside an <code>&lt;ul&gt;</code>.</p>
43
+
44
+ <p>The button styles will work the same as they do when building a single button, but they'll float next to each other to create a group. You also have access to the same radius classes as buttons, only they'll go on the unordered list instead of the button. You can even make sure the buttons take up even space within the container you put them in.</p>
45
+
46
+ <ul class="disc">
47
+ <li>The radius classes: <code>.radius</code> or <code>.round</code>.</li>
48
+ <li>The even classes: <code>.even-2</code> through <code>.even-8</code> to control the even widths.</li>
49
+ </ul>
50
+
51
+ <%= code_example '
52
+ <!-- A default button-group with small buttons inside -->
53
+ <ul class="button-group">
54
+ <li><a href="#" class="small button">Button 1</a></li>
55
+ <li><a href="#" class="small button">Button 2</a></li>
56
+ <li><a href="#" class="small button">Button 3</a></li>
57
+ </ul>
58
+
59
+ <!-- A round, even-3 button-group with default alert buttons inside. -->
60
+ <!-- Do not put the radius classes on the buttons themselves. -->
61
+ <ul class="button-group round even-3">
62
+ <li><a href="#" class="button alert">Button 1</a></li>
63
+ <li><a href="#" class="button alert">Button 2</a></li>
64
+ <li><a href="#" class="button alert">Button 3</a></li>
65
+ </ul>
66
+ ', :html %>
67
+
68
+ <h5>Button Bars</h5>
69
+ <p>A button bar is a group of button groups (I N C E P T I O N), perfect for situations where you want groups of actions that are all related to a similar element or page. Simply wrap two or more button groups in a <code>.button-bar</code> and Abstractio takes care of the rest.</p>
70
+
71
+ <%= code_example '
72
+ <div class="button-bar">
73
+ <ul class="button-group">
74
+ <li><a href="#" class="small button">Button 1</a></li>
75
+ <li><a href="#" class="small button">Button 2</a></li>
76
+ <li><a href="#" class="small button">Button 3</a></li>
77
+ </ul>
78
+ <ul class="button-group">
79
+ <li><a href="#" class="small button">Button 1</a></li>
80
+ <li><a href="#" class="small button">Button 2</a></li>
81
+ <li><a href="#" class="small button">Button 3</a></li>
82
+ </ul>
83
+ </div>
84
+ ', :html %>
85
+ <div class="button-bar">
86
+ <ul class="button-group">
87
+ <li><a href="#" class="small button">Button 1</a></li>
88
+ <li><a href="#" class="small button">Button 2</a></li>
89
+ <li><a href="#" class="small button">Button 3</a></li>
90
+ </ul>
91
+ <ul class="button-group secondary">
92
+ <li><a href="#" class="small button">Button 1</a></li>
93
+ <li><a href="#" class="small button">Button 2</a></li>
94
+ <li><a href="#" class="small button">Button 3</a></li>
95
+ </ul>
96
+ </div>
97
+
98
+
99
+ <p>For any of these styles to take effect, make sure you have the <strong>default Abstractio CSS package</strong> or that you've selected <strong>buttons and button-groups from a custom package</strong>. These should be linked up following our default <a href="../index.html">HTML page structure</a>.</p>
100
+
101
+ <hr>
102
+
103
+ <h3>Build with Mixins</h3>
104
+ <p>We've included SCSS mixins used to style button groups. To use these mixins, you'll need to have the <a href="../sass.html">extension installed</a> or grab <a href="https://github.com/themepile/abstractio/blob/master/scss/abstractio/_abstractio-global.scss">_abstractio-global.scss</a>, <a href="https://github.com/themepile/abstractio/blob/master/scss/abstractio/components/_global.scss">_global.scss</a>, <a href="https://github.com/themepile/abstractio/blob/master/scss/abstractio/components/_buttons.scss">_buttons.scss</a> and <a href="https://github.com/themepile/abstractio/blob/master/scss/abstractio/components/_button-groups.scss">_button-groups.scss</a> from Github and throw them into a Abstractio folder in your project directory. From there, you can import the files at the top of your own SCSS stylesheet, like so:</p>
105
+
106
+ <%= code_example '
107
+ @import "abstractio/abstractio-global", "abstractio/components/global", "abstractio/components/buttons", "abstractio/components/button-groups";
108
+ ', :css %>
109
+
110
+ <p>If you are using the mixins, you may include the styles on whatever class or ID you'd like, just make sure you follow our markup structure:</p>
111
+
112
+ <%= code_example '
113
+ <ul class="your-class-name">
114
+ <li><a href="#" class="your-button-class">Button 1</a></li>
115
+ <li><a href="#" class="your-button-class">Button 2</a></li>
116
+ <li><a href="#" class="your-button-class">Button 3</a></li>
117
+ </ul>
118
+ ', :html %>
119
+
120
+ <h5>Container Mixin</h5>
121
+ <p>Since button groups need to be within a list to work properly, you'll need to create some styles for the list container that you use.</p>
122
+
123
+ <%= code_example '
124
+ .your-class-name { @include button-group-container; }
125
+ ', :css %>
126
+
127
+ <p>You'll also need to make sure to include some styles for your buttons inside the group. Either use a class you've already styled, or apply it specifically here.</p>
128
+
129
+ <%= code_example '
130
+ .your-class-name { @include button-group-container;
131
+ .your-button-class { @include button; }
132
+ }
133
+ ', :css %>
134
+
135
+ <ul class="button-group-docs">
136
+ <li><a href="#" class="button-class">Button 1</a></li>
137
+ <li><a href="#" class="button-class">Button 2</a></li>
138
+ <li><a href="#" class="button-class">Button 3</a></li>
139
+ </ul>
140
+
141
+ <h5>Style Mixin</h5>
142
+ <p>With this mixin, you'll be able to make the rest of the button-group, including: radius, even with styles and floats. You'll apply this mixin to the <code>&lt;li&gt;</code> elements of the button group list.</p>
143
+
144
+ <%= code_example '
145
+ .your-class-name { @include button-group-container;
146
+ .your-button-class { @include button; }
147
+
148
+ & > li { @include button-group-style($radius, $even, $float); }
149
+ }
150
+
151
+ /* This controls the radius of the left and right edges. */
152
+ /* Set to true or px value */
153
+ $radius: false
154
+
155
+ /* This makes the buttons take up even space in their container */
156
+ /* Set to the number of buttons in the group */
157
+ $even: false
158
+
159
+ /* Controls how the buttons in the group floatm set to left or right */
160
+ $float: left
161
+ ', :css %>
162
+
163
+ <ul class="button-group-docs list">
164
+ <li><a href="#" class="button-class">Button 1</a></li>
165
+ <li><a href="#" class="button-class">Button 2</a></li>
166
+ <li><a href="#" class="button-class">Button 3</a></li>
167
+ </ul>
168
+
169
+ <h5>Inset Shadow, Border Radius &amp; Transition Mixin</h5>
170
+ <p>Sometimes you want to add a nice fancy shine to the edge of your buttons. And sometimes you want to make that shine look like it gets depressed upon tap or click. We've got you covered with our quick inset shadow mixin. You can use our radius mixin to quickly apply rounded corners or a transition mixin to give the buttons a fade effect.</p>
171
+
172
+ <%= code_example '
173
+ .your-class-name { @include button-group-container;
174
+ .your-button-class {
175
+ @include button;
176
+ @include inset-shadow;
177
+ @include single-transition;
178
+ }
179
+
180
+ & > li { @include button-group-style(true); }
181
+ }
182
+ ', :css %>
183
+
184
+ <ul class="button-group-docs list extras">
185
+ <li><a href="#" class="button-class">Button 1</a></li>
186
+ <li><a href="#" class="button-class">Button 2</a></li>
187
+ <li><a href="#" class="button-class">Button 3</a></li>
188
+ </ul>
189
+
190
+ <h5>Building Button Bars</h5>
191
+ <p>You can also build button bars with mixin options.</p>
192
+ <%= code_example '
193
+ <div class="your-bar-class-name">
194
+ <ul class="your-class-name">
195
+ <li><a href="#" class="your-button-class">Button 1</a></li>
196
+ <li><a href="#" class="your-button-class">Button 2</a></li>
197
+ <li><a href="#" class="your-button-class">Button 3</a></li>
198
+ </ul>
199
+ <ul class="your-class-name">
200
+ <li><a href="#" class="your-button-class">Button 1</a></li>
201
+ <li><a href="#" class="your-button-class">Button 2</a></li>
202
+ <li><a href="#" class="your-button-class">Button 3</a></li>
203
+ </ul>
204
+ </div>
205
+ ', :html %>
206
+
207
+ <%= code_example '
208
+ .your-bar-class-name { @include clearfix;
209
+ .your-button-class { @include button-group-container(false,true); }
210
+ }
211
+ ', :css %>
212
+
213
+ <h5>Default SCSS Variables</h5>
214
+ <%= code_example '
215
+ /* We use this to set the margin below button groups. */
216
+ $button-bar-margin-right: emCalc(10px);
217
+ ', :css %>
218
+
219
+ <p><strong>Note:</strong> <code>emCalc();</code> is a function we wrote to convert <code>px</code> to <code>em</code>.</p>
220
+
221
+ </div>
222
+ </div>
223
+
224
+ </div>
225
+
226
+ <div class="large-3 pull-9 columns">
227
+ <%= render "_sidebar-components.html.erb" %>
228
+ </div>
229
+ </div>
230
+