ellipsis-compass 1.0.1
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/lib/ellipsis-compass.rb +4 -0
- data/stylesheets/animation/_animate.scss +1206 -0
- data/stylesheets/animation/_animation.scss +121 -0
- data/stylesheets/animation/_animations.scss +771 -0
- data/stylesheets/animation/_transit.scss +425 -0
- data/stylesheets/animation/_transitions.scss +320 -0
- data/stylesheets/base/_breakpoints.scss +64 -0
- data/stylesheets/base/_document.scss +219 -0
- data/stylesheets/base/_global.scss +88 -0
- data/stylesheets/base/_normalize.scss +406 -0
- data/stylesheets/component/_component.scss +939 -0
- data/stylesheets/component/_ui.scss +955 -0
- data/stylesheets/flexbox/_flexbox.scss +305 -0
- data/stylesheets/font/_icons.scss +1492 -0
- data/stylesheets/font/_ubuntu.scss +38 -0
- data/stylesheets/form/_form.scss +836 -0
- data/stylesheets/grid/_grid.scss +312 -0
- data/stylesheets/helpers/_all.scss +8 -0
- data/stylesheets/helpers/_component.scss +177 -0
- data/stylesheets/helpers/_convenience.scss +277 -0
- data/stylesheets/helpers/_functions.scss +427 -0
- data/stylesheets/helpers/_grid.scss +39 -0
- data/stylesheets/helpers/_hardware-acceleration.scss +22 -0
- data/stylesheets/helpers/_mixins.scss +207 -0
- data/stylesheets/helpers/_touch.scss +107 -0
- data/stylesheets/helpers/_visibility.scss +138 -0
- data/stylesheets/image/_images.scss +19 -0
- data/stylesheets/imports/elements/_autosearch.scss +11 -0
- data/stylesheets/imports/elements/_badge.scss +23 -0
- data/stylesheets/imports/elements/_barchart.scss +254 -0
- data/stylesheets/imports/elements/_form.scss +8 -0
- data/stylesheets/imports/elements/_loginform.scss +6 -0
- data/stylesheets/imports/elements/_modellist.scss +14 -0
- data/stylesheets/imports/elements/_pluralize.scss +8 -0
- data/stylesheets/imports/elements/_signupform.scss +6 -0
- data/stylesheets/imports/elements/_slidenotification.scss +65 -0
- data/stylesheets/imports/elements/_stickyreveal.scss +44 -0
- data/stylesheets/imports/elements/_template.scss +7 -0
- data/stylesheets/imports/elements/_veneer.scss +36 -0
- data/stylesheets/shared/_shared.scss +282 -0
- data/stylesheets/touch/ui/_drawer.scss +41 -0
- data/stylesheets/touch/ui/_dropdown.scss +58 -0
- data/stylesheets/touch/ui/_menu.scss +131 -0
- data/stylesheets/touch/ui/_navbar.scss +44 -0
- data/stylesheets/touch/ui/_toggle.scss +127 -0
- data/stylesheets/touch/ui/_topbar.scss +48 -0
- data/stylesheets/typography/_typography.scss +746 -0
- data/stylesheets/ui/_autocomplete.scss +117 -0
- data/stylesheets/ui/_badge.scss +73 -0
- data/stylesheets/ui/_box.scss +78 -0
- data/stylesheets/ui/_breadcrumb.scss +64 -0
- data/stylesheets/ui/_button.scss +395 -0
- data/stylesheets/ui/_carousel.scss +284 -0
- data/stylesheets/ui/_collapsible.scss +61 -0
- data/stylesheets/ui/_container.scss +297 -0
- data/stylesheets/ui/_datepicker.scss +218 -0
- data/stylesheets/ui/_drawer.scss +96 -0
- data/stylesheets/ui/_dropdown.scss +394 -0
- data/stylesheets/ui/_file.scss +147 -0
- data/stylesheets/ui/_gallery.scss +219 -0
- data/stylesheets/ui/_label.scss +167 -0
- data/stylesheets/ui/_loading.scss +70 -0
- data/stylesheets/ui/_mediaobject.scss +108 -0
- data/stylesheets/ui/_menu.scss +287 -0
- data/stylesheets/ui/_menutab.scss +175 -0
- data/stylesheets/ui/_modal.scss +47 -0
- data/stylesheets/ui/_navbar.scss +315 -0
- data/stylesheets/ui/_notification.scss +154 -0
- data/stylesheets/ui/_pagination.scss +137 -0
- data/stylesheets/ui/_parallax.scss +233 -0
- data/stylesheets/ui/_popover.scss +3 -0
- data/stylesheets/ui/_rating.scss +106 -0
- data/stylesheets/ui/_sidebar.scss +110 -0
- data/stylesheets/ui/_slidingpanel.scss +57 -0
- data/stylesheets/ui/_social.scss +213 -0
- data/stylesheets/ui/_sticky.scss +9 -0
- data/stylesheets/ui/_table.scss +423 -0
- data/stylesheets/ui/_tabs.scss +242 -0
- data/stylesheets/ui/_toggle.scss +49 -0
- data/stylesheets/ui/_tooltip.scss +57 -0
- data/stylesheets/ui/_topbar.scss +210 -0
- data/stylesheets/ui/_tree.scss +3 -0
- data/stylesheets/ui/_window.scss +205 -0
- metadata +140 -0
@@ -0,0 +1,939 @@
|
|
1
|
+
/* variables */
|
2
|
+
$include-component-gradient: true !default;
|
3
|
+
$include-component-gradient-inset: true !default;
|
4
|
+
$include-component-text-shadow: false !default;
|
5
|
+
$include-component-box-shadow: true !default;
|
6
|
+
$include-component-active-box-shadow: true !default;
|
7
|
+
$include-component-animation: false !default;
|
8
|
+
$component-animation: all 0.15s ease-in !default;
|
9
|
+
$component-hover-darken-factor: 4% !default;
|
10
|
+
$component-border-hover-darken-factor: 4% !default;
|
11
|
+
$component-border: 1px solid !default;
|
12
|
+
$component-text-shadow: 0 1px 0 !default;
|
13
|
+
$component-inset-box-shadow: rgba(0, 0, 0, .20) 0px 1px 1px, rgba(255, 255, 255, .40) 0 1px 0 0 inset !default;
|
14
|
+
$component-inset-box-shadow-30: rgba(0, 0, 0, .20) 0px 1px 1px, rgba(255, 255, 255, .30) 0 1px 0 0 inset !default;
|
15
|
+
$component-inset-box-shadow-40: rgba(0, 0, 0, .20) 0px 1px 1px, rgba(255, 255, 255, .40) 0 1px 0 0 inset !default;
|
16
|
+
$component-box-shadow: rgba(0, 0, 0, .20) 0px 1px 1px !default;
|
17
|
+
$component-box-shadow-active: inset 0 3px 5px rgba(0, 0, 0, .175) !default;
|
18
|
+
$component-background-disabled: #eee !default;
|
19
|
+
$component-font-color-disabled: darken(#eee, 5%) !default;
|
20
|
+
$component-border-disabled:1px solid transparent !important !default;
|
21
|
+
//$component-icon-text-shadow: 0 1px 0 !default;
|
22
|
+
|
23
|
+
/* mixins */
|
24
|
+
|
25
|
+
/* private -----------------------------------------------------------------------------------------------------------*/
|
26
|
+
|
27
|
+
/* mixin helpers for background */
|
28
|
+
|
29
|
+
//set a background value if passed value is color or string(e.g: none;transparent)
|
30
|
+
//if force bit is set, will otherwise set to gray if passed val not color or string
|
31
|
+
@mixin _background-set($color, $force: false) {
|
32
|
+
@if type-of($color) == color or type-of($color) == string {
|
33
|
+
background: $color;
|
34
|
+
} @else {
|
35
|
+
@if $force == true{
|
36
|
+
background: $gray;
|
37
|
+
}
|
38
|
+
}
|
39
|
+
}
|
40
|
+
|
41
|
+
//set a background gradient from a list
|
42
|
+
@mixin _background-gradient($list) {
|
43
|
+
@include mod-background-image(linear-gradient(top, $list));
|
44
|
+
}
|
45
|
+
|
46
|
+
//process a background request
|
47
|
+
@mixin _background($background, $background-alt) {
|
48
|
+
@if type-of($background) == list {
|
49
|
+
@if $include-component-gradient == true{
|
50
|
+
@include _background-set($background-alt, false);
|
51
|
+
@include _background-gradient($background);
|
52
|
+
} @else {
|
53
|
+
@include _background-set($background-alt, true);
|
54
|
+
}
|
55
|
+
} @else {
|
56
|
+
@include _background-set($background, false);
|
57
|
+
}
|
58
|
+
}
|
59
|
+
|
60
|
+
|
61
|
+
|
62
|
+
//darken a background color
|
63
|
+
@mixin _darken-background-color($color, $force: false) {
|
64
|
+
$_darkenFactor: $component-hover-darken-factor;
|
65
|
+
|
66
|
+
@if type-of($color) == color{
|
67
|
+
background: darken($color, $_darkenFactor);
|
68
|
+
} @else {
|
69
|
+
@if $force == true{
|
70
|
+
background: darken($gray, $_darkenFactor);
|
71
|
+
}
|
72
|
+
}
|
73
|
+
}
|
74
|
+
|
75
|
+
//darken a gradient background
|
76
|
+
@mixin _darken-background-gradient($list) {
|
77
|
+
$_darkenFactor: $component-hover-darken-factor;
|
78
|
+
|
79
|
+
$_start: darken(first($list), $_darkenFactor);
|
80
|
+
$_end: darken(last($list), $_darkenFactor);
|
81
|
+
@include mod-background-image(linear-gradient(top, $_start, $_end));
|
82
|
+
|
83
|
+
}
|
84
|
+
|
85
|
+
//process a background hover darken request
|
86
|
+
@mixin _background-hover($background, $background-alt) {
|
87
|
+
$_darkenFactor: $component-hover-darken-factor;
|
88
|
+
|
89
|
+
@if type-of($background) == list {
|
90
|
+
@if $include-component-gradient == true{
|
91
|
+
@include _darken-background-color($background-alt, false);
|
92
|
+
@include _darken-background-gradient($background);
|
93
|
+
|
94
|
+
} @else {
|
95
|
+
@include _darken-background-color($background-alt, true);
|
96
|
+
}
|
97
|
+
} @else {
|
98
|
+
@include _darken-background-color($background, false);
|
99
|
+
}
|
100
|
+
}
|
101
|
+
|
102
|
+
|
103
|
+
|
104
|
+
/* mixin helpers for border */
|
105
|
+
@mixin _border($border) {
|
106
|
+
@if type-of($border) == color{
|
107
|
+
border: $component-border;
|
108
|
+
border-color: $border !important;
|
109
|
+
} @else if type-of($border) == list{
|
110
|
+
@if list-has-number($border) {
|
111
|
+
border: $border !important;
|
112
|
+
|
113
|
+
} @else {
|
114
|
+
border: $component-border;
|
115
|
+
border-color: $border !important;
|
116
|
+
|
117
|
+
}
|
118
|
+
} @else {
|
119
|
+
border: none;
|
120
|
+
|
121
|
+
}
|
122
|
+
}
|
123
|
+
|
124
|
+
|
125
|
+
/* apply a darken to a border value */
|
126
|
+
@mixin _border-hover($border) {
|
127
|
+
$_darkenFactor: $component-border-hover-darken-factor;
|
128
|
+
|
129
|
+
@if type-of($border) == list{
|
130
|
+
@if list-has-number($border) {
|
131
|
+
border: $border !important;
|
132
|
+
} @else {
|
133
|
+
border: $component-border;
|
134
|
+
border-color: darken-rule($border, $_darkenFactor) !important;
|
135
|
+
}
|
136
|
+
} @else if type-of($border) == color{
|
137
|
+
border: $component-border !important;
|
138
|
+
border-color: darken-rule($border, $_darkenFactor) !important;
|
139
|
+
} @else {
|
140
|
+
border: none;
|
141
|
+
}
|
142
|
+
|
143
|
+
}
|
144
|
+
|
145
|
+
/* mixin helpers for box-shadow */
|
146
|
+
|
147
|
+
//box-shadow
|
148
|
+
@mixin _box-shadow($box-shadow) {
|
149
|
+
|
150
|
+
@if $include-component-box-shadow == true{
|
151
|
+
@if $box-shadow == null {
|
152
|
+
@include box-shadow($component-box-shadow);
|
153
|
+
} @else if type-of($box-shadow) == list {
|
154
|
+
@include box-shadow($box-shadow);
|
155
|
+
} @else {
|
156
|
+
box-shadow: none;
|
157
|
+
}
|
158
|
+
} @else {
|
159
|
+
@if type-of($box-shadow) ==list{
|
160
|
+
@include box-shadow($box-shadow);
|
161
|
+
}@else{
|
162
|
+
box-shadow: none;
|
163
|
+
}
|
164
|
+
}
|
165
|
+
}
|
166
|
+
|
167
|
+
//set default box-shadow for active if flag is true
|
168
|
+
@mixin _box-shadow-active() {
|
169
|
+
@if $include-component-active-box-shadow ==true{
|
170
|
+
@include box-shadow($component-box-shadow-active);
|
171
|
+
} @else {
|
172
|
+
box-shadow: none;
|
173
|
+
}
|
174
|
+
}
|
175
|
+
|
176
|
+
/* mixin helpers for font */
|
177
|
+
|
178
|
+
//set font for default state
|
179
|
+
@mixin _font-set($color: null, $text-shadow: null) {
|
180
|
+
|
181
|
+
@if type-of($color) == color{
|
182
|
+
color: $color;
|
183
|
+
opacity:1;
|
184
|
+
}@else if type-of($color) == number{
|
185
|
+
opacity:$color;
|
186
|
+
}
|
187
|
+
@if type-of($text-shadow) == list {
|
188
|
+
@if $include-component-text-shadow == true{
|
189
|
+
text-shadow: $text-shadow;
|
190
|
+
} @else {
|
191
|
+
text-shadow: none; //explicitly set text-shadow to avoid css-component inheriting another's text-shadow;
|
192
|
+
}
|
193
|
+
} @else {
|
194
|
+
text-shadow: none; //explicitly set text-shadow to avoid unexpected inheritance
|
195
|
+
}
|
196
|
+
}
|
197
|
+
|
198
|
+
@mixin _font-set-ext($color: null, $text-shadow: null) {
|
199
|
+
|
200
|
+
@if type-of($color) == color{
|
201
|
+
color: $color;
|
202
|
+
opacity:1;
|
203
|
+
}@else if type-of($color) == number{
|
204
|
+
opacity:$color;
|
205
|
+
}
|
206
|
+
@if type-of($text-shadow) == list {
|
207
|
+
@if $include-component-text-shadow == true{
|
208
|
+
text-shadow: $text-shadow;
|
209
|
+
} @else {
|
210
|
+
text-shadow: none;
|
211
|
+
}
|
212
|
+
} @else {
|
213
|
+
@if type-of($text-shadow) == string{
|
214
|
+
text-shadow: $text-shadow;
|
215
|
+
}
|
216
|
+
|
217
|
+
}
|
218
|
+
}
|
219
|
+
|
220
|
+
//set font for hover and active
|
221
|
+
@mixin _font-set-hover($color: null, $text-shadow: null) {
|
222
|
+
|
223
|
+
@if type-of($color) == color{
|
224
|
+
color: $color;
|
225
|
+
opacity:1;
|
226
|
+
}@else if type-of($color) == number{
|
227
|
+
opacity:$color;
|
228
|
+
}
|
229
|
+
|
230
|
+
@if type-of($text-shadow) == list {
|
231
|
+
@if $include-component-text-shadow == true{
|
232
|
+
text-shadow: $text-shadow;
|
233
|
+
}
|
234
|
+
}
|
235
|
+
}
|
236
|
+
|
237
|
+
//set the placeholder color
|
238
|
+
@mixin _placeholder-set($color:null){
|
239
|
+
&::-webkit-input-placeholder {
|
240
|
+
color: $color !important;
|
241
|
+
}
|
242
|
+
&::-moz-placeholder {
|
243
|
+
color: $color !important;
|
244
|
+
}
|
245
|
+
&::-o-placeholder {
|
246
|
+
color: $color !important;
|
247
|
+
}
|
248
|
+
&:-ms-input-placeholder {
|
249
|
+
color: $color !important;
|
250
|
+
}
|
251
|
+
}
|
252
|
+
|
253
|
+
/* mixin helper for disabled component */
|
254
|
+
|
255
|
+
//disabled component
|
256
|
+
@mixin _disabled-component($background-disabled, $font-color-disabled,$background) {
|
257
|
+
@if not(type-of($background-disabled) == color or type-of($background-disabled) == list or $background-disabled == none){
|
258
|
+
@if not(type-of($background) ==color or type-of($background) == list){
|
259
|
+
$background-disabled:none;
|
260
|
+
}@else{
|
261
|
+
$background-disabled: $component-background-disabled;
|
262
|
+
}
|
263
|
+
}
|
264
|
+
|
265
|
+
@if type-of($font-color-disabled) != color{
|
266
|
+
$font-color-disabled: $component-font-color-disabled;
|
267
|
+
}
|
268
|
+
|
269
|
+
background: $background-disabled !important;
|
270
|
+
text-shadow: none !important;
|
271
|
+
outline: none !important;
|
272
|
+
box-shadow: none !important;
|
273
|
+
border: $component-border-disabled;
|
274
|
+
cursor: default !important;
|
275
|
+
color: $font-color-disabled !important;
|
276
|
+
&:after {
|
277
|
+
background: none !important;
|
278
|
+
color: $font-color-disabled !important;
|
279
|
+
}
|
280
|
+
&:before {
|
281
|
+
background: none !important;
|
282
|
+
color: $font-color-disabled !important;
|
283
|
+
}
|
284
|
+
@include _placeholder-set($font-color-disabled);
|
285
|
+
|
286
|
+
|
287
|
+
}
|
288
|
+
|
289
|
+
@function _return-color($background, $background-alt) {
|
290
|
+
@if type-of($background) == color{
|
291
|
+
@return $background;
|
292
|
+
} @else if type-of($background-alt) == color{
|
293
|
+
@return $background-alt;
|
294
|
+
} @else {
|
295
|
+
@return $gray;
|
296
|
+
}
|
297
|
+
}
|
298
|
+
|
299
|
+
@mixin _core-color-variable-assignment($component, $background, $background-alt) {
|
300
|
+
@if $component == primary{
|
301
|
+
$primary-color: _return-color($background, $background-alt);
|
302
|
+
} @else if $component == secondary {
|
303
|
+
$secondary-color: _return-color($background, $background-alt);
|
304
|
+
} @else if $component == inverse {
|
305
|
+
$inverse-color: _return-color($background, $background-alt);
|
306
|
+
} @else if $component == default {
|
307
|
+
$default-color: _return-color($background, $background-alt);
|
308
|
+
} @else if $component == error {
|
309
|
+
$error-color: _return-color($background, $background-alt);
|
310
|
+
} @else if $component == warning {
|
311
|
+
$warning-color: _return-color($background, $background-alt);
|
312
|
+
} @else if $component == info {
|
313
|
+
$info-color: _return-color($background, $background-alt);
|
314
|
+
} @else if $component == success {
|
315
|
+
$success-color: _return-color($background, $background-alt);
|
316
|
+
}
|
317
|
+
}
|
318
|
+
|
319
|
+
/* public ------------------------------------------------------------------------------------------------------------*/
|
320
|
+
|
321
|
+
/* component mixin */
|
322
|
+
@mixin component($component: null,
|
323
|
+
$background: null,
|
324
|
+
$background-alt: null,
|
325
|
+
$background-hover: null,
|
326
|
+
$background-hover-alt: null,
|
327
|
+
$background-active: null,
|
328
|
+
$background-active-alt: null,
|
329
|
+
$font-color: $white,
|
330
|
+
$font-color-hover: null,
|
331
|
+
$font-color-active: null,
|
332
|
+
$border: null,
|
333
|
+
$border-hover: null,
|
334
|
+
$border-active: null,
|
335
|
+
$text-shadow: null,
|
336
|
+
$text-shadow-hover: null,
|
337
|
+
$text-shadow-active: null,
|
338
|
+
$box-shadow: null,
|
339
|
+
$box-shadow-hover: null,
|
340
|
+
$box-shadow-active: null,
|
341
|
+
$icon-color: null,
|
342
|
+
$icon-text-shadow: null,
|
343
|
+
$background-disabled: null,
|
344
|
+
$font-color-disabled: null,
|
345
|
+
$placeholder-color:null
|
346
|
+
) {
|
347
|
+
|
348
|
+
/* assign core components a variable {component}-color that can be used in your sass. unfortunately, no variable interpolation in sass */
|
349
|
+
@if $component == primary or $component == secondary or $component == inverse or $component == default or $component == error
|
350
|
+
or $component == info or $component == warning or $component == success {
|
351
|
+
@include _core-color-variable-assignment($component, $background, $background-alt);
|
352
|
+
}
|
353
|
+
|
354
|
+
/* background --------------------------------------------------------------------------------------------------*/
|
355
|
+
|
356
|
+
/* background for component default state */
|
357
|
+
%#{$component}-background {
|
358
|
+
|
359
|
+
@include _background($background, $background-alt);
|
360
|
+
}
|
361
|
+
|
362
|
+
/*
|
363
|
+
background for component hover state
|
364
|
+
if no values are passed, we set hover background to a darken factor of default state background
|
365
|
+
if hover values are passed, set hover background accordingly
|
366
|
+
*/
|
367
|
+
%#{$component}-background-hover {
|
368
|
+
|
369
|
+
@if $background-hover == null {
|
370
|
+
@include _background-hover($background, $background-alt);
|
371
|
+
} @else {
|
372
|
+
@include _background($background-hover, $background-hover-alt);
|
373
|
+
}
|
374
|
+
}
|
375
|
+
|
376
|
+
/* background for component active state
|
377
|
+
if no values are passed, we extend hover
|
378
|
+
if hover values are passed, set hover background accordingly
|
379
|
+
*/
|
380
|
+
%#{$component}-background-active {
|
381
|
+
|
382
|
+
@if $background-active == null {
|
383
|
+
@extend %#{$component}-background-hover !optional;
|
384
|
+
} @else {
|
385
|
+
@include _background($background-active, $background-active-alt);
|
386
|
+
}
|
387
|
+
}
|
388
|
+
|
389
|
+
/* font --------------------------------------------------------------------------------------------------*/
|
390
|
+
|
391
|
+
/* font/text for component default state */
|
392
|
+
%#{$component}-font {
|
393
|
+
@include _font-set($font-color, $text-shadow);
|
394
|
+
}
|
395
|
+
|
396
|
+
/* font/text for component hover state */
|
397
|
+
%#{$component}-font-hover {
|
398
|
+
|
399
|
+
@if $font-color-hover !=null and $text-shadow-hover != null{
|
400
|
+
@include _font-set-hover($font-color-hover, $text-shadow-hover);
|
401
|
+
} @else {
|
402
|
+
@include _font-set($font-color, $text-shadow);
|
403
|
+
//@extend %#{$component}-font !optional;
|
404
|
+
@include _font-set-hover($font-color-hover, $text-shadow-hover);
|
405
|
+
}
|
406
|
+
}
|
407
|
+
|
408
|
+
/* font/text for component active state */
|
409
|
+
%#{$component}-font-active {
|
410
|
+
@if $font-color-active !=null and $text-shadow-active != null{
|
411
|
+
@include _font-set-hover($font-color-active, $text-shadow-active);
|
412
|
+
} @else {
|
413
|
+
@extend %#{$component}-font-hover !optional;
|
414
|
+
@include _font-set-hover($font-color-active, $text-shadow-active);
|
415
|
+
}
|
416
|
+
}
|
417
|
+
|
418
|
+
/* border --------------------------------------------------------------------------------------------------*/
|
419
|
+
|
420
|
+
/* border for component default state */
|
421
|
+
%#{$component}-border {
|
422
|
+
@include _border($border);
|
423
|
+
}
|
424
|
+
|
425
|
+
/* border for component hover state */
|
426
|
+
%#{$component}-border-hover {
|
427
|
+
@if $border-hover != null {
|
428
|
+
@include _border($border-hover);
|
429
|
+
} @else {
|
430
|
+
@include _border-hover($border);
|
431
|
+
}
|
432
|
+
|
433
|
+
}
|
434
|
+
|
435
|
+
/* border for component active state */
|
436
|
+
%#{$component}-border-active {
|
437
|
+
@if $border-active == null {
|
438
|
+
@extend %#{$component}-border-hover !optional;
|
439
|
+
} @else {
|
440
|
+
@include _border($border-active);
|
441
|
+
}
|
442
|
+
}
|
443
|
+
|
444
|
+
/* box shadow --------------------------------------------------------------------------------------------------*/
|
445
|
+
|
446
|
+
/* box-shadow for component default state */
|
447
|
+
%#{$component}-box-shadow {
|
448
|
+
@include _box-shadow($box-shadow);
|
449
|
+
}
|
450
|
+
|
451
|
+
/* box-shadow for component hover state */
|
452
|
+
%#{$component}-box-shadow-hover {
|
453
|
+
@if $box-shadow-hover == null {
|
454
|
+
@extend %#{$component}-box-shadow !optional;
|
455
|
+
} @else {
|
456
|
+
@include _box-shadow($box-shadow-hover);
|
457
|
+
}
|
458
|
+
|
459
|
+
}
|
460
|
+
|
461
|
+
/* box-shadow for component active state */
|
462
|
+
%#{$component}-box-shadow-active {
|
463
|
+
@if $box-shadow-active == null {
|
464
|
+
@include _box-shadow-active();
|
465
|
+
} @else {
|
466
|
+
@include _box-shadow($box-shadow-active);
|
467
|
+
}
|
468
|
+
}
|
469
|
+
|
470
|
+
/* icon --------------------------------------------------------------------------------------------------*/
|
471
|
+
/* component icon */
|
472
|
+
%#{$component}-icon {
|
473
|
+
@if $icon-color == null and $icon-text-shadow == null{
|
474
|
+
@extend %#{$component}-font !optional;
|
475
|
+
} @else {
|
476
|
+
@extend %#{$component}-font !optional;
|
477
|
+
@include _font-set-hover($icon-color, $icon-text-shadow);
|
478
|
+
}
|
479
|
+
}
|
480
|
+
|
481
|
+
/* placeholder --------------------------------------------------------------------------------------------------*/
|
482
|
+
/* component placeholder */
|
483
|
+
%#{$component}-placeholder {
|
484
|
+
$_placeholder-color:$font-color;
|
485
|
+
@if $placeholder-color !=null{
|
486
|
+
$_placeholder-color:$placeholder-color;
|
487
|
+
}
|
488
|
+
@include _placeholder-set($_placeholder-color);
|
489
|
+
}
|
490
|
+
|
491
|
+
/* disabled --------------------------------------------------------------------------------------------------*/
|
492
|
+
/* disabled state */
|
493
|
+
%#{$component}-disabled {
|
494
|
+
@include _disabled-component($background-disabled, $font-color-disabled,$background);
|
495
|
+
|
496
|
+
}
|
497
|
+
|
498
|
+
}
|
499
|
+
|
500
|
+
/* touch component mixin
|
501
|
+
components rely on extending placeholders.
|
502
|
+
you cannot create components within a media query because of the @extending an outer selector from within @media limitation
|
503
|
+
The requirement of @extending selectors within the same directive thus necessitates a touch-component mixin that creates and extends
|
504
|
+
inside the touch breakpoint media directive
|
505
|
+
*/
|
506
|
+
@mixin touch-component($component: null,
|
507
|
+
$background: null,
|
508
|
+
$background-alt: null,
|
509
|
+
$background-hover: null,
|
510
|
+
$background-hover-alt: null,
|
511
|
+
$background-active: null,
|
512
|
+
$background-active-alt: null,
|
513
|
+
$font-color: $white,
|
514
|
+
$font-color-hover: null,
|
515
|
+
$font-color-active: null,
|
516
|
+
$border: null,
|
517
|
+
$border-hover: null,
|
518
|
+
$border-active: null,
|
519
|
+
$text-shadow: null,
|
520
|
+
$text-shadow-hover: null,
|
521
|
+
$text-shadow-active: null,
|
522
|
+
$box-shadow: null,
|
523
|
+
$box-shadow-hover: null,
|
524
|
+
$box-shadow-active: null,
|
525
|
+
$icon-color: null,
|
526
|
+
$icon-text-shadow: null,
|
527
|
+
$background-disabled: null,
|
528
|
+
$font-color-disabled: null,
|
529
|
+
$placeholder-color:null) {
|
530
|
+
|
531
|
+
// calling component but inside the touch breakpoint
|
532
|
+
@media #{$breakpoint-touch}{
|
533
|
+
@include component($component,
|
534
|
+
$background,
|
535
|
+
$background-alt,
|
536
|
+
$background-hover,
|
537
|
+
$background-hover-alt,
|
538
|
+
$background-active,
|
539
|
+
$background-active-alt,
|
540
|
+
$font-color,
|
541
|
+
$font-color-hover,
|
542
|
+
$font-color-active,
|
543
|
+
$border,
|
544
|
+
$border-hover,
|
545
|
+
$border-active,
|
546
|
+
$text-shadow,
|
547
|
+
$text-shadow-hover,
|
548
|
+
$text-shadow-active,
|
549
|
+
$box-shadow,
|
550
|
+
$box-shadow-hover,
|
551
|
+
$box-shadow-active,
|
552
|
+
$icon-color,
|
553
|
+
$icon-text-shadow,
|
554
|
+
$background-disabled,
|
555
|
+
$font-color-disabled,
|
556
|
+
$placeholder-color
|
557
|
+
);
|
558
|
+
|
559
|
+
}
|
560
|
+
|
561
|
+
}
|
562
|
+
|
563
|
+
@mixin desktop-component($component: null,
|
564
|
+
$background: null,
|
565
|
+
$background-alt: null,
|
566
|
+
$background-hover: null,
|
567
|
+
$background-hover-alt: null,
|
568
|
+
$background-active: null,
|
569
|
+
$background-active-alt: null,
|
570
|
+
$font-color: $white,
|
571
|
+
$font-color-hover: null,
|
572
|
+
$font-color-active: null,
|
573
|
+
$border: null,
|
574
|
+
$border-hover: null,
|
575
|
+
$border-active: null,
|
576
|
+
$text-shadow: null,
|
577
|
+
$text-shadow-hover: null,
|
578
|
+
$text-shadow-active: null,
|
579
|
+
$box-shadow: null,
|
580
|
+
$box-shadow-hover: null,
|
581
|
+
$box-shadow-active: null,
|
582
|
+
$icon-color: null,
|
583
|
+
$icon-text-shadow: null,
|
584
|
+
$background-disabled: null,
|
585
|
+
$font-color-disabled: null,
|
586
|
+
$placeholder-color:null) {
|
587
|
+
|
588
|
+
// calling component but inside the desktop breakpoint
|
589
|
+
@media #{$breakpoint-desktop}{
|
590
|
+
@include component($component,
|
591
|
+
$background,
|
592
|
+
$background-alt,
|
593
|
+
$background-hover,
|
594
|
+
$background-hover-alt,
|
595
|
+
$background-active,
|
596
|
+
$background-active-alt,
|
597
|
+
$font-color,
|
598
|
+
$font-color-hover,
|
599
|
+
$font-color-active,
|
600
|
+
$border,
|
601
|
+
$border-hover,
|
602
|
+
$border-active,
|
603
|
+
$text-shadow,
|
604
|
+
$text-shadow-hover,
|
605
|
+
$text-shadow-active,
|
606
|
+
$box-shadow,
|
607
|
+
$box-shadow-hover,
|
608
|
+
$box-shadow-active,
|
609
|
+
$icon-color,
|
610
|
+
$icon-text-shadow,
|
611
|
+
$background-disabled,
|
612
|
+
$font-color-disabled,
|
613
|
+
$placeholder-color
|
614
|
+
);
|
615
|
+
}
|
616
|
+
|
617
|
+
}
|
618
|
+
|
619
|
+
/*
|
620
|
+
extend component mixin
|
621
|
+
create a new component that inherits from existing component
|
622
|
+
$extend-component=existing component, $component=new component
|
623
|
+
*/
|
624
|
+
@mixin extend-component($extend-component:null, $component:null,
|
625
|
+
$background:null,
|
626
|
+
$background-alt:null,
|
627
|
+
$background-hover:null,
|
628
|
+
$background-hover-alt:null,
|
629
|
+
$background-active:null,
|
630
|
+
$background-active-alt:null,
|
631
|
+
$font-color:null,
|
632
|
+
$font-color-hover:null,
|
633
|
+
$font-color-active:null,
|
634
|
+
$border:null,
|
635
|
+
$border-hover:null,
|
636
|
+
$border-active:null,
|
637
|
+
$text-shadow:null,
|
638
|
+
$text-shadow-hover:null,
|
639
|
+
$text-shadow-active:null,
|
640
|
+
$box-shadow:null,
|
641
|
+
$box-shadow-hover:null,
|
642
|
+
$box-shadow-active:null,
|
643
|
+
$icon-color:null,
|
644
|
+
$icon-text-shadow:null,
|
645
|
+
$background-disabled:null,
|
646
|
+
$font-color-disabled:null,
|
647
|
+
$placeholder-color:null
|
648
|
+
) {
|
649
|
+
|
650
|
+
//background
|
651
|
+
%#{$component}-background {
|
652
|
+
|
653
|
+
@if $background != null {
|
654
|
+
@include _background($background,$background-alt);
|
655
|
+
} @else {
|
656
|
+
@extend %#{$extend-component}-background !optional;
|
657
|
+
}
|
658
|
+
}
|
659
|
+
%#{$component}-background-hover {
|
660
|
+
@if $background-hover == null{
|
661
|
+
@if $background != null{
|
662
|
+
@include _background-hover($background,$background-alt);
|
663
|
+
}@else{
|
664
|
+
@extend %#{$extend-component}-background-hover !optional;
|
665
|
+
}
|
666
|
+
}@else{
|
667
|
+
@include _background($background-hover,$background-hover-alt);
|
668
|
+
}
|
669
|
+
|
670
|
+
}
|
671
|
+
%#{$component}-background-active {
|
672
|
+
@if $background-active != null {
|
673
|
+
@include _background($background-active,$background-active-alt);
|
674
|
+
} @else {
|
675
|
+
@extend %#{$extend-component}-background-active !optional;
|
676
|
+
}
|
677
|
+
|
678
|
+
}
|
679
|
+
|
680
|
+
//font
|
681
|
+
%#{$component}-font {
|
682
|
+
@if type-of($font-color)== color and type-of($text-shadow)==list{
|
683
|
+
@include _font-set($font-color, $text-shadow);
|
684
|
+
} @else {
|
685
|
+
@extend %#{$extend-component}-font !optional;
|
686
|
+
@include _font-set-ext($font-color, $text-shadow);
|
687
|
+
}
|
688
|
+
|
689
|
+
}
|
690
|
+
%#{$component}-font-hover {
|
691
|
+
@if type-of($font-color-hover)== color and type-of($text-shadow-hover)==list{
|
692
|
+
@include _font-set-hover($font-color-hover, $text-shadow-hover);
|
693
|
+
} @else {
|
694
|
+
@extend %#{$extend-component}-font-hover !optional;
|
695
|
+
@include _font-set-hover($font-color-hover, $text-shadow-hover);
|
696
|
+
}
|
697
|
+
|
698
|
+
}
|
699
|
+
%#{$component}-font-active {
|
700
|
+
@if type-of($font-color-active)== color and type-of($text-shadow-active)==list{
|
701
|
+
@include _font-set-hover($font-color-active, $text-shadow-active);
|
702
|
+
} @else {
|
703
|
+
@extend %#{$extend-component}-font-active !optional;
|
704
|
+
@include _font-set-hover($font-color-active, $text-shadow-active);
|
705
|
+
}
|
706
|
+
}
|
707
|
+
|
708
|
+
//border
|
709
|
+
|
710
|
+
%#{$component}-border {
|
711
|
+
@if $border != null{
|
712
|
+
@include _border($border);
|
713
|
+
} @else {
|
714
|
+
@extend %#{$extend-component}-border !optional;
|
715
|
+
|
716
|
+
}
|
717
|
+
|
718
|
+
}
|
719
|
+
%#{$component}-border-hover {
|
720
|
+
@if $border-hover != null{
|
721
|
+
@include _border($border-hover);
|
722
|
+
} @else {
|
723
|
+
@if type-of($border)== color or type-of($border) == list{
|
724
|
+
@include _border-hover($border);
|
725
|
+
} @else {
|
726
|
+
@extend %#{$extend-component}-border-hover !optional;
|
727
|
+
}
|
728
|
+
}
|
729
|
+
}
|
730
|
+
|
731
|
+
%#{$component}-border-active {
|
732
|
+
@if $border-active != null{
|
733
|
+
@include _border($border-active);
|
734
|
+
} @else {
|
735
|
+
@extend %#{$extend-component}-border-active !optional;
|
736
|
+
}
|
737
|
+
}
|
738
|
+
|
739
|
+
|
740
|
+
//box-shadow
|
741
|
+
%#{$component}-box-shadow {
|
742
|
+
@if $box-shadow != null{
|
743
|
+
@include _box-shadow($box-shadow);
|
744
|
+
}@else{
|
745
|
+
@extend %#{$extend-component}-box-shadow !optional;
|
746
|
+
}
|
747
|
+
|
748
|
+
}
|
749
|
+
|
750
|
+
%#{$component}-box-shadow-hover {
|
751
|
+
@if $box-shadow-hover != null{
|
752
|
+
@include _box-shadow($box-shadow-hover);
|
753
|
+
}@else{
|
754
|
+
|
755
|
+
@extend %#{$extend-component}-box-shadow-hover !optional;
|
756
|
+
}
|
757
|
+
|
758
|
+
}
|
759
|
+
|
760
|
+
%#{$component}-box-shadow-active {
|
761
|
+
@if $box-shadow-active != null{
|
762
|
+
@include _box-shadow($box-shadow-active);
|
763
|
+
}@else{
|
764
|
+
@extend %#{$extend-component}-box-shadow-active !optional;
|
765
|
+
}
|
766
|
+
}
|
767
|
+
|
768
|
+
//icon
|
769
|
+
%#{$component}-icon {
|
770
|
+
@extend %#{$extend-component}-icon !optional;
|
771
|
+
@if $icon-color != null or $icon-text-shadow != null {
|
772
|
+
@include _font-set-ext($icon-color, $icon-text-shadow);
|
773
|
+
}
|
774
|
+
}
|
775
|
+
|
776
|
+
//placeholder
|
777
|
+
%#{$component}-placeholder {
|
778
|
+
@extend %#{$extend-component}-placeholder !optional;
|
779
|
+
@if $placeholder-color != null {
|
780
|
+
@include _placeholder-set($placeholder-color);
|
781
|
+
}
|
782
|
+
|
783
|
+
}
|
784
|
+
|
785
|
+
//disabled
|
786
|
+
%#{$component}-disabled {
|
787
|
+
|
788
|
+
@extend %#{$extend-component}-disabled !optional;
|
789
|
+
}
|
790
|
+
}
|
791
|
+
|
792
|
+
/* extend touch component mixin */
|
793
|
+
@mixin extend-touch-component($extend-component:null, $component:null,
|
794
|
+
$background:null,
|
795
|
+
$background-alt:null,
|
796
|
+
$background-hover:null,
|
797
|
+
$background-hover-alt:null,
|
798
|
+
$background-active:null,
|
799
|
+
$background-active-alt:null,
|
800
|
+
$font-color:null,
|
801
|
+
$font-color-hover:null,
|
802
|
+
$font-color-active:null,
|
803
|
+
$border:null,
|
804
|
+
$border-hover:null,
|
805
|
+
$border-active:null,
|
806
|
+
$text-shadow:null,
|
807
|
+
$text-shadow-hover:null,
|
808
|
+
$text-shadow-active:null,
|
809
|
+
$box-shadow:null,
|
810
|
+
$box-shadow-hover:null,
|
811
|
+
$box-shadow-active:null,
|
812
|
+
$icon-color:null,
|
813
|
+
$icon-text-shadow:null,
|
814
|
+
$background-disabled:null,
|
815
|
+
$font-color-disabled:null,
|
816
|
+
$placeholder-color:null
|
817
|
+
) {
|
818
|
+
@media #{$breakpoint-touch}{
|
819
|
+
@include extend-component($extend-component, $component,
|
820
|
+
$background,
|
821
|
+
$background-alt,
|
822
|
+
$background-hover,
|
823
|
+
$background-hover-alt,
|
824
|
+
$background-active,
|
825
|
+
$background-active-alt,
|
826
|
+
$font-color,
|
827
|
+
$font-color-hover,
|
828
|
+
$font-color-active,
|
829
|
+
$border,
|
830
|
+
$border-hover,
|
831
|
+
$border-active,
|
832
|
+
$text-shadow,
|
833
|
+
$text-shadow-hover,
|
834
|
+
$text-shadow-active,
|
835
|
+
$box-shadow,
|
836
|
+
$box-shadow-hover,
|
837
|
+
$box-shadow-active,
|
838
|
+
$icon-color,
|
839
|
+
$icon-text-shadow,
|
840
|
+
$background-disabled,
|
841
|
+
$font-color-disabled,
|
842
|
+
$placeholder-color
|
843
|
+
);
|
844
|
+
}
|
845
|
+
}
|
846
|
+
|
847
|
+
/* extend desktop component mixin */
|
848
|
+
@mixin extend-desktop-component($extend-component:null, $component:null,
|
849
|
+
$background:null,
|
850
|
+
$background-alt:null,
|
851
|
+
$background-hover:null,
|
852
|
+
$background-hover-alt:null,
|
853
|
+
$background-active:null,
|
854
|
+
$background-active-alt:null,
|
855
|
+
$font-color:null,
|
856
|
+
$font-color-hover:null,
|
857
|
+
$font-color-active:null,
|
858
|
+
$border:null,
|
859
|
+
$border-hover:null,
|
860
|
+
$border-active:null,
|
861
|
+
$text-shadow:null,
|
862
|
+
$text-shadow-hover:null,
|
863
|
+
$text-shadow-active:null,
|
864
|
+
$box-shadow:null,
|
865
|
+
$box-shadow-hover:null,
|
866
|
+
$box-shadow-active:null,
|
867
|
+
$icon-color:null,
|
868
|
+
$icon-text-shadow:null,
|
869
|
+
$background-disabled:null,
|
870
|
+
$font-color-disabled:null,
|
871
|
+
$placeholder-color:null
|
872
|
+
) {
|
873
|
+
@media #{$breakpoint-desktop}{
|
874
|
+
@include extend-component($extend-component, $component,
|
875
|
+
$background,
|
876
|
+
$background-alt,
|
877
|
+
$background-hover,
|
878
|
+
$background-hover-alt,
|
879
|
+
$background-active,
|
880
|
+
$background-active-alt,
|
881
|
+
$font-color,
|
882
|
+
$font-color-hover,
|
883
|
+
$font-color-active,
|
884
|
+
$border,
|
885
|
+
$border-hover,
|
886
|
+
$border-active,
|
887
|
+
$text-shadow,
|
888
|
+
$text-shadow-hover,
|
889
|
+
$text-shadow-active,
|
890
|
+
$box-shadow,
|
891
|
+
$box-shadow-hover,
|
892
|
+
$box-shadow-active,
|
893
|
+
$icon-color,
|
894
|
+
$icon-text-shadow,
|
895
|
+
$background-disabled,
|
896
|
+
$font-color-disabled,
|
897
|
+
$placeholder-color
|
898
|
+
);
|
899
|
+
}
|
900
|
+
}
|
901
|
+
|
902
|
+
/**********************************************************************************************************************
|
903
|
+
we call the below mixins from ui-components(or widgets) to bind a component reference to the widget css
|
904
|
+
*/
|
905
|
+
|
906
|
+
/* invoke component mixin */
|
907
|
+
@mixin invoke-component($component) {
|
908
|
+
@extend %#{$component}-background !optional;
|
909
|
+
@extend %#{$component}-border !optional;
|
910
|
+
@extend %#{$component}-box-shadow !optional;
|
911
|
+
@extend %#{$component}-font !optional;
|
912
|
+
&:hover, &:focus {
|
913
|
+
@extend %#{$component}-background-hover !optional;
|
914
|
+
@extend %#{$component}-border-hover !optional;
|
915
|
+
@extend %#{$component}-box-shadow-hover !optional;
|
916
|
+
@extend %#{$component}-font-hover !optional;
|
917
|
+
}
|
918
|
+
&:active, &.active {
|
919
|
+
@extend %#{$component}-background-active !optional;
|
920
|
+
@extend %#{$component}-border-active !optional;
|
921
|
+
@extend %#{$component}-box-shadow-active !optional;
|
922
|
+
@extend %#{$component}-font-active !optional;
|
923
|
+
}
|
924
|
+
&.disabled, &[disabled] {
|
925
|
+
@extend %#{$component}-disabled !optional;
|
926
|
+
}
|
927
|
+
}
|
928
|
+
|
929
|
+
/* invoke component default state mixin */
|
930
|
+
@mixin invoke-component-default-state($component) {
|
931
|
+
@extend %#{$component}-background !optional;
|
932
|
+
@extend %#{$component}-border !optional;
|
933
|
+
@extend %#{$component}-box-shadow !optional;
|
934
|
+
@extend %#{$component}-font !optional;
|
935
|
+
|
936
|
+
&.disabled, &[disabled] {
|
937
|
+
@extend %#{$component}-disabled !optional;
|
938
|
+
}
|
939
|
+
}
|