themepile-abstractio 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +15 -0
- data/.gitignore +28 -0
- data/.rbenv-version +1 -0
- data/CONTRIBUTING.md +53 -0
- data/Gemfile +4 -0
- data/LICENSE +22 -0
- data/README.md +136 -0
- data/Rakefile +2 -0
- data/abstractio.gemspec +18 -0
- data/js/foundation/foundation.alerts.js +50 -0
- data/js/foundation/foundation.clearing.js +516 -0
- data/js/foundation/foundation.cookie.js +74 -0
- data/js/foundation/foundation.dropdown.js +159 -0
- data/js/foundation/foundation.forms.js +516 -0
- data/js/foundation/foundation.joyride.js +842 -0
- data/js/foundation/foundation.js +403 -0
- data/js/foundation/foundation.magellan.js +130 -0
- data/js/foundation/foundation.orbit.js +373 -0
- data/js/foundation/foundation.placeholder.js +159 -0
- data/js/foundation/foundation.reveal.js +276 -0
- data/js/foundation/foundation.section.js +409 -0
- data/js/foundation/foundation.tooltips.js +206 -0
- data/js/foundation/foundation.topbar.js +252 -0
- data/js/foundation/index.js +16 -0
- data/js/vendor/custom.modernizr.js +4 -0
- data/js/vendor/jquery.js +9597 -0
- data/js/vendor/zepto.js +1884 -0
- data/lib/abstractio.rb +17 -0
- data/lib/abstractio/engine.rb +20 -0
- data/lib/abstractio/generators/USAGE +15 -0
- data/lib/abstractio/generators/install_generator.rb +54 -0
- data/lib/abstractio/generators/templates/application.html.erb +46 -0
- data/lib/abstractio/generators/templates/application.html.haml +31 -0
- data/lib/abstractio/generators/templates/application.html.slim +28 -0
- data/lib/abstractio/version.rb +3 -0
- data/lib/themepile-abstractio.rb +17 -0
- data/scss/abstractio.scss +46 -0
- data/scss/abstractio/_variables.scss +1224 -0
- data/scss/abstractio/components/_alert-boxes.scss +107 -0
- data/scss/abstractio/components/_block-grid.scss +68 -0
- data/scss/abstractio/components/_breadcrumbs.scss +125 -0
- data/scss/abstractio/components/_button-groups.scss +89 -0
- data/scss/abstractio/components/_buttons.scss +227 -0
- data/scss/abstractio/components/_clearing.scss +224 -0
- data/scss/abstractio/components/_custom-forms.scss +263 -0
- data/scss/abstractio/components/_dropdown-buttons.scss +115 -0
- data/scss/abstractio/components/_dropdown.scss +150 -0
- data/scss/abstractio/components/_flex-video.scss +46 -0
- data/scss/abstractio/components/_forms.scss +362 -0
- data/scss/abstractio/components/_global.scss +280 -0
- data/scss/abstractio/components/_grid.scss +186 -0
- data/scss/abstractio/components/_inline-lists.scss +53 -0
- data/scss/abstractio/components/_joyride.scss +215 -0
- data/scss/abstractio/components/_keystrokes.scss +57 -0
- data/scss/abstractio/components/_labels.scss +85 -0
- data/scss/abstractio/components/_magellan.scss +23 -0
- data/scss/abstractio/components/_orbit.scss +213 -0
- data/scss/abstractio/components/_pagination.scss +100 -0
- data/scss/abstractio/components/_panels.scss +77 -0
- data/scss/abstractio/components/_pricing-tables.scss +131 -0
- data/scss/abstractio/components/_progress-bars.scss +71 -0
- data/scss/abstractio/components/_reveal.scss +132 -0
- data/scss/abstractio/components/_section.scss +318 -0
- data/scss/abstractio/components/_side-nav.scss +69 -0
- data/scss/abstractio/components/_split-buttons.scss +167 -0
- data/scss/abstractio/components/_sub-nav.scss +68 -0
- data/scss/abstractio/components/_switch.scss +251 -0
- data/scss/abstractio/components/_tables.scss +84 -0
- data/scss/abstractio/components/_thumbs.scss +48 -0
- data/scss/abstractio/components/_tooltips.scss +117 -0
- data/scss/abstractio/components/_top-bar.scss +495 -0
- data/scss/abstractio/components/_type.scss +426 -0
- data/scss/abstractio/components/_visibility.scss +322 -0
- data/scss/normalize.scss +402 -0
- data/templates/project/.gitignore +44 -0
- data/templates/project/MIT-LICENSE.txt +20 -0
- data/templates/project/config.rb +26 -0
- data/templates/project/humans.txt +8 -0
- data/templates/project/index.html +124 -0
- data/templates/project/manifest.rb +45 -0
- data/templates/project/robots.txt +4 -0
- data/templates/project/scss/app.scss +48 -0
- data/templates/upgrade/manifest.rb +34 -0
- metadata +153 -0
@@ -0,0 +1,318 @@
|
|
1
|
+
//
|
2
|
+
// Section Variables
|
3
|
+
//
|
4
|
+
$include-html-section-classes: $include-html-classes !default;
|
5
|
+
|
6
|
+
// We use these to set padding and hover factor
|
7
|
+
$section-title-padding: emCalc(15px) !default;
|
8
|
+
$section-content-padding: emCalc(15px) !default;
|
9
|
+
$section-function-factor: 10% !default;
|
10
|
+
|
11
|
+
// These style the titles
|
12
|
+
$section-title-color: #333 !default;
|
13
|
+
$section-title-bg: #efefef !default;
|
14
|
+
$section-title-bg-active: darken($section-title-bg, $section-function-factor) !default;
|
15
|
+
$section-title-bg-active-tabs: #fff !default;
|
16
|
+
$section-title-bg-hover: darken($section-title-bg, $section-function-factor/2) !default;
|
17
|
+
|
18
|
+
// Want to control border size, here ya go!
|
19
|
+
$section-border-size: 1px !default;
|
20
|
+
$section-border-style: solid !default;
|
21
|
+
$section-border-color: #ccc !default;
|
22
|
+
|
23
|
+
// Font controls
|
24
|
+
$section-font-size: emCalc(14px) !default;
|
25
|
+
|
26
|
+
// Control the color of the background and some size options
|
27
|
+
$section-content-bg: #fff !default;
|
28
|
+
$section-vertical-nav-min-width: emCalc(200px) !default;
|
29
|
+
$section-vertical-tabs-title-width: emCalc(200px) !default;
|
30
|
+
$section-bottom-margin: emCalc(20px) !default;
|
31
|
+
|
32
|
+
|
33
|
+
//
|
34
|
+
// Section Mixins
|
35
|
+
//
|
36
|
+
|
37
|
+
// We use this mixin to create the basic container styles for sections when they act like accordions
|
38
|
+
@mixin section-container($base-style:true, $section-type:accordion) {
|
39
|
+
|
40
|
+
/// We can set this to false to not include these styles to avoid repeated CSS on classes.
|
41
|
+
@if $base-style {
|
42
|
+
width: 100%;
|
43
|
+
display: block;
|
44
|
+
margin-bottom: $section-bottom-margin;
|
45
|
+
}
|
46
|
+
|
47
|
+
// Accordion container border styles
|
48
|
+
@if $section-type == accordion {
|
49
|
+
border: $section-border-size $section-border-style $section-border-color;
|
50
|
+
border-top: none;
|
51
|
+
}
|
52
|
+
|
53
|
+
// Tabs container border styles
|
54
|
+
@else if $section-type == tabs {
|
55
|
+
border: 0;
|
56
|
+
position: relative;
|
57
|
+
}
|
58
|
+
|
59
|
+
// Vertical Tabs container border styles
|
60
|
+
@else if $section-type == vertical-tabs {
|
61
|
+
border: $section-border-size $section-border-style $section-border-color;
|
62
|
+
position: relative;
|
63
|
+
}
|
64
|
+
|
65
|
+
// Vertical Nav container border styles
|
66
|
+
@else if $section-type == vertical-nav {
|
67
|
+
border: 0;
|
68
|
+
position: relative;
|
69
|
+
}
|
70
|
+
|
71
|
+
// Horizontal Nav container border styles
|
72
|
+
@else if $section-type == horizontal-nav {
|
73
|
+
position: relative;
|
74
|
+
background: $section-title-bg;
|
75
|
+
border: $section-border-size $section-border-style $section-border-color;
|
76
|
+
}
|
77
|
+
|
78
|
+
}
|
79
|
+
|
80
|
+
|
81
|
+
@mixin section($section-type:accordion, $title-selector:".title", $content-selector:".content", $title-padding:$section-title-padding, $title-color:$section-title-color, $title-font-size:$section-font-size, $title-bg:$section-title-bg, $title-bg-hover:$section-title-bg-hover, $title-bg-active:$section-title-bg-active, $title-color-active:$section-title-color, $content-bg:$section-content-bg, $content-padding:$section-content-padding, $section-border-size:$section-border-size, $section-border-style:$section-border-style, $section-border-color: $section-border-color) {
|
82
|
+
|
83
|
+
// Default Styles
|
84
|
+
> #{$title-selector} {
|
85
|
+
background-color: $title-bg;
|
86
|
+
cursor: pointer;
|
87
|
+
margin-bottom: 0;
|
88
|
+
|
89
|
+
a {
|
90
|
+
padding: $title-padding;
|
91
|
+
display: inline-block;
|
92
|
+
color: $title-color;
|
93
|
+
font-size: $title-font-size;
|
94
|
+
white-space: nowrap;
|
95
|
+
}
|
96
|
+
&:hover { background-color: $title-bg-hover; }
|
97
|
+
}
|
98
|
+
|
99
|
+
#{$content-selector} {
|
100
|
+
display: none;
|
101
|
+
padding: $content-padding;
|
102
|
+
background-color: $content-bg;
|
103
|
+
|
104
|
+
&>*:last-child { margin-bottom: 0; }
|
105
|
+
&>*:first-child { padding-top: 0; }
|
106
|
+
&>*:last-child { padding-bottom: 0; }
|
107
|
+
}
|
108
|
+
|
109
|
+
&.active {
|
110
|
+
& > #{$content-selector} { display: block; }
|
111
|
+
& > #{$title-selector} { background: $title-bg-active;
|
112
|
+
a { color: $title-color-active; }
|
113
|
+
}
|
114
|
+
}
|
115
|
+
|
116
|
+
// Style for when Accordion
|
117
|
+
@if $section-type == accordion {
|
118
|
+
// border-top: $section-border-size $section-border-style $section-border-color;
|
119
|
+
position: relative;
|
120
|
+
|
121
|
+
> #{$title-selector} {
|
122
|
+
top: 0;
|
123
|
+
width: 100%;
|
124
|
+
margin: 0;
|
125
|
+
border-top: $section-border-style $section-border-size $section-border-color;
|
126
|
+
|
127
|
+
a { width: 100%; }
|
128
|
+
}
|
129
|
+
}
|
130
|
+
|
131
|
+
// Styles for when tabs
|
132
|
+
@else if $section-type == tabs {
|
133
|
+
border: 0;
|
134
|
+
position: static;
|
135
|
+
|
136
|
+
> #{$title-selector} {
|
137
|
+
width: auto;
|
138
|
+
border: $section-border-style $section-border-size $section-border-color;
|
139
|
+
border-#{$opposite-direction}: 0;
|
140
|
+
border-bottom: 0;
|
141
|
+
position: absolute;
|
142
|
+
top: 0;
|
143
|
+
z-index: 1;
|
144
|
+
|
145
|
+
a { width: 100%; }
|
146
|
+
}
|
147
|
+
&:last-child #{$title-selector} { border-#{$opposite-direction}: $section-border-style $section-border-size $section-border-color; }
|
148
|
+
|
149
|
+
#{$content-selector} {
|
150
|
+
border: $section-border-style $section-border-size $section-border-color;
|
151
|
+
position: absolute;
|
152
|
+
z-index: 10;
|
153
|
+
display: none;
|
154
|
+
top: -1px;
|
155
|
+
}
|
156
|
+
|
157
|
+
&.active {
|
158
|
+
& > #{$title-selector} {
|
159
|
+
z-index: 11;
|
160
|
+
border-bottom: 0;
|
161
|
+
background-color: $title-bg-active;
|
162
|
+
}
|
163
|
+
& > #{$content-selector} { position: relative; }
|
164
|
+
}
|
165
|
+
}
|
166
|
+
|
167
|
+
// Styles for when Vertical Tabs
|
168
|
+
@else if $section-type == vertical-tabs {
|
169
|
+
padding-top: 0 !important;
|
170
|
+
border: 0;
|
171
|
+
position: static;
|
172
|
+
|
173
|
+
> #{$title-selector} {
|
174
|
+
position: absolute;
|
175
|
+
border-top: $section-border-style $section-border-size $section-border-color;
|
176
|
+
width: $section-vertical-tabs-title-width;
|
177
|
+
}
|
178
|
+
&:first-child #{$title-selector} { border-top: 0; }
|
179
|
+
|
180
|
+
#{$content-selector} {
|
181
|
+
// Display all content blocks to account for the scrollbar
|
182
|
+
// in the outerWidth measurements. JavaScript will toggle the active tabs.
|
183
|
+
display: block;
|
184
|
+
position: relative;
|
185
|
+
left: $section-vertical-tabs-title-width;
|
186
|
+
border-left: $section-border-style $section-border-size $section-border-color;
|
187
|
+
z-index: 10;
|
188
|
+
}
|
189
|
+
|
190
|
+
&.active {
|
191
|
+
& > #{$title-selector} {
|
192
|
+
background-color: $title-bg-active;
|
193
|
+
width: $section-vertical-tabs-title-width + emCalc(1px); // Cover the content's left border
|
194
|
+
border-right: solid 0 transparent;
|
195
|
+
z-index: 11; // Put active title on top of the content
|
196
|
+
}
|
197
|
+
&:last-child #{$title-selector} { border-bottom: 0; }
|
198
|
+
}
|
199
|
+
}
|
200
|
+
|
201
|
+
// Styles for when Vertical Nav
|
202
|
+
@else if $section-type == vertical-nav {
|
203
|
+
padding-top: 0 !important;
|
204
|
+
position: relative;
|
205
|
+
|
206
|
+
> #{$title-selector} {
|
207
|
+
border-top: none;
|
208
|
+
border: $section-border-style $section-border-size $section-border-color;
|
209
|
+
|
210
|
+
a {
|
211
|
+
display: block;
|
212
|
+
width: 100%;
|
213
|
+
}
|
214
|
+
}
|
215
|
+
#{$content-selector} { display: none; }
|
216
|
+
&:first-child #{$title-selector} { border-bottom: none; }
|
217
|
+
|
218
|
+
&.active {
|
219
|
+
& > #{$content-selector} {
|
220
|
+
display: block;
|
221
|
+
position: absolute;
|
222
|
+
#{$default-float}: 100%;
|
223
|
+
top: 0px;
|
224
|
+
z-index: 999;
|
225
|
+
min-width: $section-vertical-nav-min-width;
|
226
|
+
border: $section-border-style $section-border-size $section-border-color;
|
227
|
+
}
|
228
|
+
}
|
229
|
+
}
|
230
|
+
|
231
|
+
// Styles for when Horizontal Nav
|
232
|
+
@else if $section-type == horizontal-nav {
|
233
|
+
padding-top: 0;
|
234
|
+
border: 0;
|
235
|
+
position: static;
|
236
|
+
|
237
|
+
> #{$title-selector} {
|
238
|
+
width: auto;
|
239
|
+
border: $section-border-style $section-border-size $section-border-color;
|
240
|
+
border-#{$default-float}: 0;
|
241
|
+
top: -1px;
|
242
|
+
position: absolute;
|
243
|
+
z-index: 1;
|
244
|
+
|
245
|
+
a { width: 100%; }
|
246
|
+
}
|
247
|
+
|
248
|
+
#{$content-selector} { display: none; }
|
249
|
+
|
250
|
+
&.active {
|
251
|
+
& > #{$content-selector} {
|
252
|
+
display: block;
|
253
|
+
position: absolute;
|
254
|
+
z-index: 999;
|
255
|
+
#{$default-float}: 0;
|
256
|
+
top: -2px;
|
257
|
+
min-width: $section-vertical-nav-min-width;
|
258
|
+
border: $section-border-style $section-border-size $section-border-color;
|
259
|
+
}
|
260
|
+
}
|
261
|
+
}
|
262
|
+
|
263
|
+
}
|
264
|
+
|
265
|
+
|
266
|
+
|
267
|
+
@if $include-html-section-classes != false {
|
268
|
+
|
269
|
+
/* Sections */
|
270
|
+
.section-container, .section-container.auto {
|
271
|
+
@include section-container(accordion);
|
272
|
+
|
273
|
+
&>section,
|
274
|
+
&>.section { @include section(accordion); }
|
275
|
+
}
|
276
|
+
|
277
|
+
.section-container.tabs {
|
278
|
+
@include section-container(false, tabs);
|
279
|
+
|
280
|
+
&>section,
|
281
|
+
&>.section { @include section(tabs, $title-bg-active:#fff); }
|
282
|
+
}
|
283
|
+
|
284
|
+
@media #{$small} {
|
285
|
+
|
286
|
+
.section-container.auto {
|
287
|
+
@include section-container(false, tabs);
|
288
|
+
|
289
|
+
&>section,
|
290
|
+
&>.section { @include section(tabs, $title-bg-active:#fff); }
|
291
|
+
}
|
292
|
+
.section-container.accordion .section {
|
293
|
+
padding-top: 0 !important;
|
294
|
+
}
|
295
|
+
|
296
|
+
.section-container.vertical-tabs {
|
297
|
+
@include section-container(false, vertical-tabs);
|
298
|
+
|
299
|
+
section,
|
300
|
+
.section { @include section(vertical-tabs); }
|
301
|
+
}
|
302
|
+
|
303
|
+
.section-container.vertical-nav {
|
304
|
+
@include section-container(false, vertical-nav);
|
305
|
+
|
306
|
+
&>section,
|
307
|
+
&>.section { @include section(vertical-nav); }
|
308
|
+
}
|
309
|
+
|
310
|
+
.section-container.horizontal-nav {
|
311
|
+
@include section-container(false, horizontal-nav);
|
312
|
+
|
313
|
+
&>section,
|
314
|
+
&>.section { @include section(horizontal-nav); }
|
315
|
+
}
|
316
|
+
}
|
317
|
+
|
318
|
+
}
|
@@ -0,0 +1,69 @@
|
|
1
|
+
//
|
2
|
+
// Side Nav Variables
|
3
|
+
//
|
4
|
+
$include-html-nav-classes: $include-html-classes !default;
|
5
|
+
|
6
|
+
// We use this to control padding.
|
7
|
+
$side-nav-padding: emCalc(14px) 0 !default;
|
8
|
+
|
9
|
+
// We use these to control list styles.
|
10
|
+
$side-nav-list-type: none !default;
|
11
|
+
$side-nav-list-position: inside !default;
|
12
|
+
$side-nav-list-margin: 0 0 emCalc(7px) 0 !default;
|
13
|
+
|
14
|
+
// We use these to control link styles.
|
15
|
+
$side-nav-link-color: $primary-color !default;
|
16
|
+
$side-nav-link-color-active: lighten(#000, 30%) !default;
|
17
|
+
$side-nav-font-size: emCalc(14px) !default;
|
18
|
+
$side-nav-font-weight: bold !default;
|
19
|
+
|
20
|
+
// We use these to control border styles
|
21
|
+
$side-nav-divider-size: 1px !default;
|
22
|
+
$side-nav-divider-style: solid !default;
|
23
|
+
$side-nav-divider-color: darken(#fff, 10%) !default;
|
24
|
+
|
25
|
+
|
26
|
+
//
|
27
|
+
// Side Nav Mixins
|
28
|
+
//
|
29
|
+
|
30
|
+
|
31
|
+
// We use this to style the side-nav
|
32
|
+
@mixin side-nav($divider-color:$side-nav-divider-color, $font-size:$side-nav-font-size, $link-color:$side-nav-link-color) {
|
33
|
+
display: block;
|
34
|
+
margin: 0;
|
35
|
+
padding: $side-nav-padding;
|
36
|
+
list-style-type: $side-nav-list-type;
|
37
|
+
list-style-position: $side-nav-list-position;
|
38
|
+
|
39
|
+
li {
|
40
|
+
margin: $side-nav-list-margin;
|
41
|
+
font-size: $font-size;
|
42
|
+
|
43
|
+
a {
|
44
|
+
display: block;
|
45
|
+
color: $link-color;
|
46
|
+
}
|
47
|
+
|
48
|
+
&.active > a:first-child {
|
49
|
+
color: $side-nav-link-color-active;
|
50
|
+
font-weight: $side-nav-font-weight;
|
51
|
+
}
|
52
|
+
|
53
|
+
&.divider {
|
54
|
+
border-top: $side-nav-divider-size $side-nav-divider-style;
|
55
|
+
height: 0;
|
56
|
+
padding: 0;
|
57
|
+
list-style: none;
|
58
|
+
border-top-color: $divider-color;
|
59
|
+
}
|
60
|
+
}
|
61
|
+
}
|
62
|
+
|
63
|
+
|
64
|
+
@if $include-html-nav-classes != false {
|
65
|
+
|
66
|
+
/* Side Nav */
|
67
|
+
.side-nav { @include side-nav; }
|
68
|
+
|
69
|
+
}
|
@@ -0,0 +1,167 @@
|
|
1
|
+
//
|
2
|
+
// Split Button Variables
|
3
|
+
//
|
4
|
+
$include-html-button-classes: $include-html-classes !default;
|
5
|
+
|
6
|
+
// We use these to control different shared styles for Split Buttons
|
7
|
+
$split-button-function-factor: 15% !default;
|
8
|
+
$split-button-pip-color: #fff !default;
|
9
|
+
$split-button-pip-color-alt: #333 !default;
|
10
|
+
$split-button-active-bg-tint: rgba(0,0,0,0.1) !default;
|
11
|
+
|
12
|
+
// We use these to control tiny split buttons
|
13
|
+
$split-button-padding-tny: $button-tny * 9 !default;
|
14
|
+
$split-button-span-width-tny: $button-tny * 6.5 !default;
|
15
|
+
$split-button-pip-size-tny: $button-tny !default;
|
16
|
+
$split-button-pip-top-tny: $button-tny * 2 !default;
|
17
|
+
$split-button-pip-default-float-tny: emCalc(-5px) !default;
|
18
|
+
|
19
|
+
// We use these to control small split buttons
|
20
|
+
$split-button-padding-sml: $button-sml * 7 !default;
|
21
|
+
$split-button-span-width-sml: $button-sml * 5 !default;
|
22
|
+
$split-button-pip-size-sml: $button-sml !default;
|
23
|
+
$split-button-pip-top-sml: $button-sml * 1.5 !default;
|
24
|
+
$split-button-pip-default-float-sml: emCalc(-9px) !default;
|
25
|
+
|
26
|
+
// We use these to control medium split buttons
|
27
|
+
$split-button-padding-med: $button-med * 6.4 !default;
|
28
|
+
$split-button-span-width-med: $button-med * 4 !default;
|
29
|
+
$split-button-pip-size-med: $button-med - emCalc(3px) !default;
|
30
|
+
$split-button-pip-top-med: $button-med * 1.5 !default;
|
31
|
+
$split-button-pip-default-float-med: emCalc(-9px) !default;
|
32
|
+
|
33
|
+
// We use these to control large split buttons
|
34
|
+
$split-button-padding-lrg: $button-lrg * 6 !default;
|
35
|
+
$split-button-span-width-lrg: $button-lrg * 3.75 !default;
|
36
|
+
$split-button-pip-size-lrg: $button-lrg - emCalc(6px) !default;
|
37
|
+
$split-button-pip-top-lrg: $button-lrg + emCalc(5px) !default;
|
38
|
+
$split-button-pip-default-float-lrg: emCalc(-9px) !default;
|
39
|
+
|
40
|
+
|
41
|
+
//
|
42
|
+
// Split Button Mixin
|
43
|
+
//
|
44
|
+
|
45
|
+
// We use this mixin to create split buttons that build upon the button mixins
|
46
|
+
@mixin split-button($padding:medium, $pip-color:$split-button-pip-color, $span-border:$primary-color, $base-style:true) {
|
47
|
+
|
48
|
+
// With this, we can control whether or not the base styles come through.
|
49
|
+
@if $base-style {
|
50
|
+
position: relative;
|
51
|
+
|
52
|
+
// Styling for the split arrow clickable area
|
53
|
+
span {
|
54
|
+
display: block;
|
55
|
+
height: 100%;
|
56
|
+
position: absolute;
|
57
|
+
#{$opposite-direction}: 0;
|
58
|
+
top: 0;
|
59
|
+
border-#{$default-float}: solid 1px;
|
60
|
+
|
61
|
+
// Building the triangle pip indicator
|
62
|
+
&:before {
|
63
|
+
position: absolute;
|
64
|
+
content: "";
|
65
|
+
width: 0;
|
66
|
+
height: 0;
|
67
|
+
display: block;
|
68
|
+
border-style: inset;
|
69
|
+
|
70
|
+
#{$default-float}: 50%;
|
71
|
+
}
|
72
|
+
|
73
|
+
&:active { background-color: $split-button-active-bg-tint; }
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
// Control the border color for the span area of the split button
|
78
|
+
@if $span-border {
|
79
|
+
span {
|
80
|
+
border-#{$default-float}-color: darken($span-border, $split-button-function-factor);
|
81
|
+
}
|
82
|
+
}
|
83
|
+
|
84
|
+
// Style of the button and clickable area for tiny sizes
|
85
|
+
@if $padding == tiny {
|
86
|
+
padding-#{$opposite-direction}: $split-button-padding-tny;
|
87
|
+
|
88
|
+
span { width: $split-button-span-width-tny;
|
89
|
+
&:before {
|
90
|
+
border-top-style: solid;
|
91
|
+
border-width: $split-button-pip-size-tny;
|
92
|
+
top: $split-button-pip-top-tny;
|
93
|
+
margin-#{$default-float}: $split-button-pip-default-float-tny;
|
94
|
+
}
|
95
|
+
}
|
96
|
+
}
|
97
|
+
|
98
|
+
// Style of the button and clickable area for small sizes
|
99
|
+
@else if $padding == small {
|
100
|
+
padding-#{$opposite-direction}: $split-button-padding-sml;
|
101
|
+
|
102
|
+
span { width: $split-button-span-width-sml;
|
103
|
+
&:before {
|
104
|
+
border-top-style: solid;
|
105
|
+
border-width: $split-button-pip-size-sml;
|
106
|
+
top: $split-button-pip-top-sml;
|
107
|
+
margin-#{$default-float}: $split-button-pip-default-float-sml;
|
108
|
+
}
|
109
|
+
}
|
110
|
+
}
|
111
|
+
|
112
|
+
// Style of the button and clickable area for default (medium) sizes
|
113
|
+
@else if $padding == medium {
|
114
|
+
padding-#{$opposite-direction}: $split-button-padding-med;
|
115
|
+
|
116
|
+
span { width: $split-button-span-width-med;
|
117
|
+
&:before {
|
118
|
+
border-top-style: solid;
|
119
|
+
border-width: $split-button-pip-size-med;
|
120
|
+
top: $split-button-pip-top-med;
|
121
|
+
margin-#{$default-float}: $split-button-pip-default-float-med;
|
122
|
+
}
|
123
|
+
}
|
124
|
+
}
|
125
|
+
|
126
|
+
// Style of the button and clickable area for large sizes
|
127
|
+
@else if $padding == large {
|
128
|
+
padding-#{$opposite-direction}: $split-button-padding-lrg;
|
129
|
+
|
130
|
+
span { width: $split-button-span-width-lrg;
|
131
|
+
&:before {
|
132
|
+
border-top-style: solid;
|
133
|
+
border-width: $split-button-pip-size-lrg;
|
134
|
+
top: $split-button-pip-top-lrg;
|
135
|
+
margin-#{$default-float}: $split-button-pip-default-float-lrg;
|
136
|
+
}
|
137
|
+
}
|
138
|
+
}
|
139
|
+
|
140
|
+
// Control the color of the triangle pip
|
141
|
+
@if $pip-color {
|
142
|
+
span:before { border-color: $pip-color transparent transparent transparent; }
|
143
|
+
}
|
144
|
+
}
|
145
|
+
|
146
|
+
|
147
|
+
@if $include-html-button-classes != false {
|
148
|
+
|
149
|
+
/* Split Buttons */
|
150
|
+
.split.button { @include split-button;
|
151
|
+
|
152
|
+
&.secondary { @include split-button(false, $split-button-pip-color, $secondary-color, false); }
|
153
|
+
&.alert { @include split-button(false, false, $alert-color, false); }
|
154
|
+
&.success { @include split-button(false, false, $success-color, false); }
|
155
|
+
|
156
|
+
&.tiny { @include split-button(tiny, false, false, false); }
|
157
|
+
&.small { @include split-button(small, false, false, false); }
|
158
|
+
&.large { @include split-button(large, false, false, false); }
|
159
|
+
&.expand { padding-left: 2em; }
|
160
|
+
|
161
|
+
&.secondary { @include split-button(false, $split-button-pip-color-alt, false, false); }
|
162
|
+
|
163
|
+
&.radius span { @include side-radius($opposite-direction, $global-radius); }
|
164
|
+
&.round span { @include side-radius($opposite-direction, 1000px); }
|
165
|
+
}
|
166
|
+
|
167
|
+
}
|