facades 0.1.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/.rbenv-gemsets +1 -0
- data/.rvmrc +1 -0
- data/.travis.yml +6 -0
- data/Gemfile +12 -0
- data/Guardfile +19 -0
- data/README.md +115 -101
- data/Rakefile +8 -0
- data/app/assets/javascripts/facades/debug/grid.js +0 -0
- data/app/helpers/facades_helper.rb +1 -0
- data/config.ru +7 -0
- data/facades.gemspec +9 -2
- data/lib/facades/helpers/layout.rb +36 -73
- data/lib/facades/helpers/navigation.rb +182 -110
- data/lib/facades/helpers/{elements.rb → notifications.rb} +9 -36
- data/lib/facades/helpers.rb +6 -17
- data/lib/facades/patterns/tabs.rb +75 -0
- data/lib/facades/patterns.rb +7 -0
- data/lib/facades/{sass_ext → sass_extensions}/color.rb +5 -13
- data/lib/facades/sass_extensions/conversions.rb +27 -0
- data/lib/facades/sass_extensions/functions.rb +84 -0
- data/lib/facades/sass_extensions/icons.rb +66 -0
- data/lib/facades/sass_extensions.rb +21 -0
- data/lib/facades/support/compass/project/MIT-LICENSE.txt +20 -0
- data/lib/facades/support/compass/project/humans.txt +8 -0
- data/lib/facades/support/compass/project/index.html +45 -0
- data/lib/facades/support/compass/project/manifest.rb +18 -0
- data/lib/facades/support/compass/project/robots.txt +4 -0
- data/lib/facades/support/compass.rb +9 -0
- data/lib/facades/support/rails.rb +12 -15
- data/lib/facades/support/simple_form.rb +32 -0
- data/lib/facades/version.rb +1 -1
- data/lib/facades.rb +21 -44
- data/spec/internal/app/helpers/application_helper.rb +3 -0
- data/spec/internal/app/views/navigation/_multi_list.html.erb +11 -0
- data/spec/internal/app/views/navigation/_multi_option_list.html.erb +14 -0
- data/spec/internal/app/views/navigation/_single_list.html.erb +9 -0
- data/spec/internal/config/database.yml +3 -0
- data/spec/internal/config/routes.rb +3 -0
- data/spec/internal/db/schema.rb +3 -0
- data/spec/internal/log/.gitignore +1 -0
- data/spec/internal/public/favicon.ico +0 -0
- data/spec/spec_helper.rb +16 -6
- data/spec/unit/helpers/layout_spec.rb +4 -0
- data/spec/unit/helpers/navigation_spec.rb +384 -0
- data/spec/unit/helpers/notifications_spec.rb +4 -0
- data/spec/unit/patterns/tabs_spec.rb +58 -0
- data/src/icons/facades.yml +105 -0
- data/src/icons/font-awesome.yml +210 -0
- data/src/scss/facades/_buttons.scss +10 -0
- data/src/scss/facades/_config.scss +99 -0
- data/src/scss/facades/_debug.scss +8 -0
- data/src/scss/facades/_forms.scss +228 -0
- data/src/scss/facades/_global.scss +104 -0
- data/src/scss/facades/_icons.scss +61 -0
- data/src/scss/facades/_mixins.scss +115 -0
- data/src/scss/facades/_mobile.scss +3 -0
- data/src/scss/facades/_setup.scss +191 -0
- data/src/scss/facades/_typography.scss +220 -0
- data/src/scss/facades/buttons/_glossy.scss +29 -0
- data/src/scss/facades/buttons/_gradient.scss +36 -0
- data/src/scss/facades/buttons/_shared.scss +33 -0
- data/src/scss/facades/buttons/_simple.scss +28 -0
- data/src/scss/facades/icons/_classes.scss +37 -0
- data/src/scss/facades/icons/_legacy.scss +27 -0
- data/src/scss/facades/layout/_lists.scss +43 -0
- data/src/scss/facades/mixins/_gradients.scss +30 -0
- data/src/scss/facades/mixins/_rhythm.scss +37 -0
- data/src/scss/facades/mobile/_buttons.scss +97 -0
- data/src/scss/facades/mobile/_config.scss +30 -0
- data/src/scss/facades/mobile/_global.scss +81 -0
- data/src/scss/facades/mobile/_mixins.scss +49 -0
- data/src/scss/facades/mobile/_setup.scss +50 -0
- data/src/scss/facades/mobile/patterns/_navbar.scss +21 -0
- data/src/scss/facades/mobile/patterns/_panel.scss +37 -0
- data/src/scss/facades/mobile/patterns/_stage.scss +20 -0
- data/src/scss/facades/mobile/patterns/_toolbar.scss +25 -0
- data/src/scss/facades/mobile/themes/_apple.scss +17 -0
- data/src/scss/facades/patterns/_labels.scss +50 -0
- data/src/scss/facades/patterns/_navbar.scss +4 -0
- data/src/scss/facades/patterns/_notifications.scss +82 -0
- data/src/scss/facades/patterns/_pagination.scss +4 -0
- data/src/scss/facades/patterns/_pills.scss +50 -0
- data/src/scss/facades/patterns/_tabs.scss +83 -0
- data/src/scss/facades/patterns/_twipsy.scss +84 -0
- data/src/scss/facades/typography/_tables.scss +95 -0
- metadata +201 -58
- data/app/views/facades/_pagination.html.erb +0 -20
- data/lib/facades/builders/form/base.rb +0 -212
- data/lib/facades/builders/form/elements.rb +0 -112
- data/lib/facades/builders/form/helper.rb +0 -29
- data/lib/facades/builders/form.rb +0 -22
- data/lib/facades/builders/sprite.rb +0 -50
- data/lib/facades/builders/table.rb +0 -76
- data/lib/facades/debug/html.rb +0 -6
- data/lib/facades/helpers/builders.rb +0 -24
- data/lib/facades/helpers/mobile.rb +0 -57
- data/lib/facades/helpers/pagination.rb +0 -83
- data/lib/facades/helpers/utility.rb +0 -31
- data/lib/facades/sass_ext/form_elements.rb +0 -52
- data/lib/facades/sass_ext/funcs.rb +0 -33
- data/lib/facades/sass_ext.rb +0 -14
- data/lib/facades/stylesheets/facades/_common.scss +0 -7
- data/lib/facades/stylesheets/facades/_css3.scss +0 -93
- data/lib/facades/stylesheets/facades/_layout.scss +0 -5
- data/lib/facades/stylesheets/facades/_normalize.scss +0 -5
- data/lib/facades/stylesheets/facades/_setup.scss +0 -104
- data/lib/facades/stylesheets/facades/_typography.scss +0 -2
- data/lib/facades/stylesheets/facades/_ui.scss +0 -3
- data/lib/facades/stylesheets/facades/_utilities.scss +0 -32
- data/lib/facades/stylesheets/facades/layout/_dropdown-list.scss +0 -7
- data/lib/facades/stylesheets/facades/layout/_forms.scss +0 -53
- data/lib/facades/stylesheets/facades/layout/_grid.scss +0 -49
- data/lib/facades/stylesheets/facades/layout/_responsive_grid.scss +0 -164
- data/lib/facades/stylesheets/facades/setup/_forms.scss +0 -284
- data/lib/facades/stylesheets/facades/setup/_ie.scss +0 -12
- data/lib/facades/stylesheets/facades/setup/_reset.scss +0 -255
- data/lib/facades/stylesheets/facades/typography/_baseline.scss +0 -91
- data/lib/facades/stylesheets/facades/typography/_lists.scss +0 -34
- data/lib/facades/stylesheets/facades/typography/_shadow.scss +0 -8
- data/lib/facades/stylesheets/facades/ui/_buttons.scss +0 -34
- data/lib/facades/stylesheets/facades/ui/_flash-messages.scss +0 -29
- data/lib/facades/stylesheets/facades/ui/_tabbed.scss +0 -5
- data/lib/facades/stylesheets/facades/ui/_tool-tip.scss +0 -44
- data/lib/facades/stylesheets/facades/utilities/_clearfix.scss +0 -20
- data/lib/facades/stylesheets/facades/utilities/_color.scss +0 -7
- data/lib/facades/stylesheets/facades/utilities/_cursors.scss +0 -4
- data/lib/facades/support/serve.rb +0 -17
- data/lib/facades/support/tipsy.rb +0 -17
- data/spec/facades/helpers/elements_spec.rb +0 -86
- data/spec/facades/helpers/layout_helpers_spec.rb +0 -5
- data/spec/facades/helpers/navigation_spec.rb +0 -107
@@ -0,0 +1,27 @@
|
|
1
|
+
/*
|
2
|
+
Icon support for IE7.
|
3
|
+
Using expressions... deal with it. Its not like IE7 performs
|
4
|
+
well anyways.
|
5
|
+
------------------------------------------------------------------
|
6
|
+
*/
|
7
|
+
|
8
|
+
$legacy-icon-format: false !default;
|
9
|
+
|
10
|
+
|
11
|
+
@mixin icon-expression($name, $size: $font-size * 1.75, $psuedo: before){
|
12
|
+
$expr-node: '<i class="ie7-psuedo-icon" style="font-size:#{$size}; font-style:normal; font-family:#{$icon-font-family};">#{icon-glyph-entity($name, $icon-pack)}</i>';
|
13
|
+
$expr-format:if( $psuedo == before, "#{$expr-node} + this.innerHtml", "this.innerHtml + #{$expr-node}");
|
14
|
+
*background-image:expression(this.runtimeStyle.backgroundImage="none",this.innerHTML = #{ unquote($expr-format) });
|
15
|
+
}
|
16
|
+
|
17
|
+
@mixin legacy-icon-classes($base-class: '.icon'){
|
18
|
+
$o-format: $legacy-icon-format;
|
19
|
+
$legacy-icon-format: true;
|
20
|
+
@include icon-classes($base-class);
|
21
|
+
i.ie7-psuedo-icon{
|
22
|
+
speak:none;
|
23
|
+
display:inline-block;
|
24
|
+
display:inline;
|
25
|
+
}
|
26
|
+
$legacy-icon-format: $o-format;
|
27
|
+
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
// used as a base for inline-list style navigations
|
2
|
+
@mixin inline-list{
|
3
|
+
white-space:nowrap;
|
4
|
+
list-style:none;
|
5
|
+
display:block;
|
6
|
+
letter-spacing: -4px;
|
7
|
+
word-spacing:-4px;
|
8
|
+
margin-left:0;
|
9
|
+
|
10
|
+
li{
|
11
|
+
@include inline-block;
|
12
|
+
letter-spacing:normal;
|
13
|
+
word-spacing:normal;
|
14
|
+
|
15
|
+
*{ letter-spacing:normal;
|
16
|
+
word-spacing:normal;
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
20
|
+
li a{
|
21
|
+
display:block;
|
22
|
+
white-space:normal;
|
23
|
+
@include inline-block;
|
24
|
+
}
|
25
|
+
|
26
|
+
}
|
27
|
+
|
28
|
+
// used as a base for floated-list style navigations
|
29
|
+
@mixin floated-list{
|
30
|
+
list-style:none;
|
31
|
+
display:block;
|
32
|
+
margin-left:0;
|
33
|
+
|
34
|
+
li{
|
35
|
+
display:block;
|
36
|
+
float:left;
|
37
|
+
}
|
38
|
+
|
39
|
+
li a{
|
40
|
+
display:block;
|
41
|
+
}
|
42
|
+
|
43
|
+
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
//
|
2
|
+
// Striped gradient action for things like progress bars.
|
3
|
+
//
|
4
|
+
|
5
|
+
@mixin gradient-stripe($color, $angle: -45deg) {
|
6
|
+
background-color: $color;
|
7
|
+
@include background-image(linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent));
|
8
|
+
}
|
9
|
+
|
10
|
+
//
|
11
|
+
// Basic gradient styles based on type.
|
12
|
+
// gradient types are: bevel, glossy, recessed, matte
|
13
|
+
//
|
14
|
+
@mixin gradient-style($color, $type: matte) {
|
15
|
+
background-color:$color;
|
16
|
+
$gradient-style:none;
|
17
|
+
@if $type == bevel {
|
18
|
+
$gradient-style: linear-gradient(lighten($color, 30%), lighten($color, 15%) 2%, lighten($color, 8%) 30%, $color 65%, darken($color, 10%));
|
19
|
+
} @else if $type == glossy {
|
20
|
+
$gradient-style: linear-gradient(lighten($color, 15%), lighten($color, 5%) 50%, $color 51%, darken($color, 5%));
|
21
|
+
} @else if $type == recessed {
|
22
|
+
$gradient-style: linear-gradient(darken($color, 10%), darken($color, 5%) 10%, $color 65%, lighten($color, .5%));
|
23
|
+
} @else if $type == matte {
|
24
|
+
$gradient-style: linear-gradient(lighten($color, 30%), lighten($color, 7%) 2%, darken($color, 7%));
|
25
|
+
} @else {
|
26
|
+
background-image: none;
|
27
|
+
}
|
28
|
+
|
29
|
+
@include background-image($gradient-style);
|
30
|
+
}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
@import 'compass/typography/vertical_rhythm';
|
2
|
+
|
3
|
+
$base-font-size: $font-size;
|
4
|
+
$base-line-height: $line-height;
|
5
|
+
|
6
|
+
@mixin font-size($size: $font-size, $lines: 1){
|
7
|
+
@include adjust-font-size-to($size, $lines);
|
8
|
+
}
|
9
|
+
|
10
|
+
@mixin leading($lines: 1, $size: $font-size){
|
11
|
+
@include adjust-leading-to($lines, $size);
|
12
|
+
}
|
13
|
+
|
14
|
+
@mixin margins($lines: 1, $size: $font-size){
|
15
|
+
@include spacing(margin, $lines, $size);
|
16
|
+
}
|
17
|
+
|
18
|
+
@mixin padding($lines: 1, $size: $font-size){
|
19
|
+
@include spacing(padding, $lines, $size);
|
20
|
+
}
|
21
|
+
|
22
|
+
|
23
|
+
@mixin spacing($type: margin, $lines: 1, $size: $font-size){
|
24
|
+
$type:unquote($type);
|
25
|
+
@if type-of($lines) == list{
|
26
|
+
@include leader(nth($lines, 1), $size, $type);
|
27
|
+
@include trailer(nth($lines, 2), $size, $type); }
|
28
|
+
@else{
|
29
|
+
@include leader($lines, $size, $type);
|
30
|
+
@include trailer($lines, $size, $type); }
|
31
|
+
}
|
32
|
+
|
33
|
+
|
34
|
+
@function border-rhythm($width: 1px, $lines:1, $size: $font-size, $leading: $line-height){
|
35
|
+
$unit: 1em;
|
36
|
+
@return $unit / $size * ($lines * $leading - $width);
|
37
|
+
}
|
@@ -0,0 +1,97 @@
|
|
1
|
+
@import 'facades/mobile/config';
|
2
|
+
@import 'facades/mixins';
|
3
|
+
|
4
|
+
@mixin button{
|
5
|
+
@include background-clip(padding-box);
|
6
|
+
@include border-radius($button-border-radius);
|
7
|
+
@include display-box;
|
8
|
+
@include box-align(center);
|
9
|
+
min-height: $button-height !important;
|
10
|
+
padding: .3em .6em;
|
11
|
+
position: relative;
|
12
|
+
overflow: hidden;
|
13
|
+
|
14
|
+
&.icon {
|
15
|
+
width: 2.1em;
|
16
|
+
height: 2.1em;
|
17
|
+
background-repeat: no-repeat;
|
18
|
+
background-position: center;
|
19
|
+
display: block;
|
20
|
+
}
|
21
|
+
|
22
|
+
&.icon-mask {
|
23
|
+
width: 1.3em;
|
24
|
+
height: 1.3em;
|
25
|
+
-webkit-mask-size: 1.3em;
|
26
|
+
}
|
27
|
+
|
28
|
+
&.disabled{
|
29
|
+
.label, .icon{
|
30
|
+
opacity:.5;
|
31
|
+
}
|
32
|
+
}
|
33
|
+
|
34
|
+
&.round {
|
35
|
+
@include border-radius($button-height/2);
|
36
|
+
padding: .1em $button-height/2;
|
37
|
+
}
|
38
|
+
|
39
|
+
&.small{
|
40
|
+
@include border-radius(.3em);
|
41
|
+
padding: .2em .4em;
|
42
|
+
min-height: 0;
|
43
|
+
|
44
|
+
.label {
|
45
|
+
font-size: .6em;
|
46
|
+
}
|
47
|
+
|
48
|
+
.icon {
|
49
|
+
width: .75em;
|
50
|
+
height: .75em;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
|
54
|
+
// Aligns icons to either the left or right side
|
55
|
+
&.icon-left, &.icon-right{
|
56
|
+
@include box-orient(horizontal);
|
57
|
+
@include box-direction(reverse);
|
58
|
+
}
|
59
|
+
|
60
|
+
&.icon-top, &.icon-bottom{
|
61
|
+
@include box-orient(vertical);
|
62
|
+
}
|
63
|
+
|
64
|
+
&.icon-bottom, &.icon-right {
|
65
|
+
@include box-direction(normal);
|
66
|
+
}
|
67
|
+
|
68
|
+
&.icon-bottom {
|
69
|
+
@include box-direction(reverse);
|
70
|
+
}
|
71
|
+
|
72
|
+
&.icon-center {
|
73
|
+
@include box-pack(center);
|
74
|
+
}
|
75
|
+
|
76
|
+
&.icon-left .label {
|
77
|
+
margin-left: 2em;
|
78
|
+
}
|
79
|
+
|
80
|
+
&.icon-right .label {
|
81
|
+
margin-right: 2em;
|
82
|
+
}
|
83
|
+
|
84
|
+
// Labels
|
85
|
+
.label {
|
86
|
+
@include box-flex(1);
|
87
|
+
@include box-align(center);
|
88
|
+
white-space: nowrap;
|
89
|
+
text-overflow: ellipsis;
|
90
|
+
text-align: center;
|
91
|
+
font-weight: bold;
|
92
|
+
line-height: 1.2em;
|
93
|
+
display: block;
|
94
|
+
overflow: hidden;
|
95
|
+
}
|
96
|
+
|
97
|
+
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
//
|
2
|
+
// Mobile configuration variables
|
3
|
+
// ----------------------------------------------------------------------------------------
|
4
|
+
|
5
|
+
$font-color: #222 !default;
|
6
|
+
$font-size: 13px !default;
|
7
|
+
$line-height: 20px !default;
|
8
|
+
|
9
|
+
$font-family: "Helvetica Neue", HelveticaNeue, "Helvetica-Neue", Helvetica, "BBAlpha Sans", sans-serif !default;
|
10
|
+
$fixed-font-family: "Monaco", 'Courier New', monospace !default;
|
11
|
+
|
12
|
+
// default gradient style for ui elements
|
13
|
+
$gradient-style: matte !default;
|
14
|
+
|
15
|
+
$button-height: 1.8em !default;
|
16
|
+
$button-border-radius: .4em !default;
|
17
|
+
$button-border-width: .1em !default;
|
18
|
+
$button-gradient-style: $gradient-style !default;
|
19
|
+
|
20
|
+
// toolbars, navbars, and lists adhere to this global height value
|
21
|
+
$row-height: 2.6em !default;
|
22
|
+
|
23
|
+
// Compass configuration
|
24
|
+
$experimental-support-for-svg: false;
|
25
|
+
$legacy-support-for-ie: false;
|
26
|
+
$experimental-support-for-khtml: false;
|
27
|
+
$expermiental-support-for-mozilla: false;
|
28
|
+
$support-for-original-webkit-gradients: false;
|
29
|
+
$experimental-support-for-opera: false;
|
30
|
+
$experimental-support-for-microsoft: false;
|
@@ -0,0 +1,81 @@
|
|
1
|
+
@import 'facades/mobile/config';
|
2
|
+
@import 'facades/mobile/setup';
|
3
|
+
@import 'facades/mixins';
|
4
|
+
@import 'facades/mobile/mixins';
|
5
|
+
@import 'facades/mobile/patterns/stage';
|
6
|
+
@import 'facades/mobile/patterns/panel';
|
7
|
+
@import 'facades/mobile/patterns/toolbar';
|
8
|
+
@import 'facades/mobile/patterns/navbar';
|
9
|
+
|
10
|
+
#viewport{
|
11
|
+
@include mobile-stage;
|
12
|
+
|
13
|
+
> .panel{
|
14
|
+
@include panel;
|
15
|
+
|
16
|
+
footer.navbar, header.navbar{
|
17
|
+
@include navbar;
|
18
|
+
}
|
19
|
+
|
20
|
+
header.toolbar, footer.toolbar{
|
21
|
+
@include toolbar
|
22
|
+
}
|
23
|
+
|
24
|
+
header.toolbar.docked, header.navbar.docked{
|
25
|
+
@include docked(top);
|
26
|
+
& + .panel-content{
|
27
|
+
padding-top:$row-height;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
footer.toolbar.docked, footer.navbar.docked{
|
32
|
+
@include docked(bottom);
|
33
|
+
}
|
34
|
+
|
35
|
+
}
|
36
|
+
|
37
|
+
|
38
|
+
&.touch-scroll:not(.animating3d){
|
39
|
+
overflow-y: auto;
|
40
|
+
-webkit-overflow-scrolling: touch;
|
41
|
+
|
42
|
+
> .panel{
|
43
|
+
height: 100%;
|
44
|
+
}
|
45
|
+
|
46
|
+
.panel-content{
|
47
|
+
@include panel-content;
|
48
|
+
}
|
49
|
+
|
50
|
+
}
|
51
|
+
|
52
|
+
.in, .out {
|
53
|
+
-webkit-animation-duration: 250ms;
|
54
|
+
-webkit-animation-fill-mode: both;
|
55
|
+
-webkit-animation-timing-function: ease-in-out;
|
56
|
+
}
|
57
|
+
|
58
|
+
.in {
|
59
|
+
z-index: 10;
|
60
|
+
&:after {
|
61
|
+
@include pseudo-element(auto);
|
62
|
+
width:auto;
|
63
|
+
top: 0;
|
64
|
+
left: 0;
|
65
|
+
bottom: 0;
|
66
|
+
right: 0;
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
.out {
|
71
|
+
z-index: 0 !important;
|
72
|
+
}
|
73
|
+
|
74
|
+
&.supports3d {
|
75
|
+
-webkit-perspective: 1000;
|
76
|
+
|
77
|
+
> * {
|
78
|
+
-webkit-transform: translate3d(0,0,0) rotate(0) scale(1);
|
79
|
+
}
|
80
|
+
}
|
81
|
+
}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
@import 'compass/css3';
|
2
|
+
|
3
|
+
@mixin docked($pos: false){
|
4
|
+
position:absolute;
|
5
|
+
left:0px;
|
6
|
+
right:0px;
|
7
|
+
|
8
|
+
@if $pos != false{
|
9
|
+
@if unquote($pos) == top{ top:0px; border-bottom:.1em solid; }
|
10
|
+
@else { bottom:0px; border-top:.1em solid; }
|
11
|
+
}
|
12
|
+
@else{
|
13
|
+
&.top{
|
14
|
+
top:0px;
|
15
|
+
border-bottom: .1em solid;
|
16
|
+
}
|
17
|
+
|
18
|
+
&.bottom {
|
19
|
+
bottom:0px;
|
20
|
+
border-top: .1em solid;
|
21
|
+
}
|
22
|
+
}
|
23
|
+
}
|
24
|
+
|
25
|
+
@mixin toolbar-gradient($color, $style: $gradient-style){
|
26
|
+
@include background-gradient($color, $style);
|
27
|
+
border-color:darken($color, 50%);
|
28
|
+
}
|
29
|
+
|
30
|
+
|
31
|
+
@mixin toolbar-title{
|
32
|
+
.title {
|
33
|
+
|
34
|
+
&.landscape{
|
35
|
+
margin-left: -125px;
|
36
|
+
width: 250px;
|
37
|
+
}
|
38
|
+
|
39
|
+
line-height: $row-height - .5em;
|
40
|
+
font-size: 1.2em;
|
41
|
+
text-align: center;
|
42
|
+
font-weight: bold;
|
43
|
+
white-space: nowrap;
|
44
|
+
overflow: hidden;
|
45
|
+
text-overflow: ellipsis;
|
46
|
+
margin: 0 0.3em;
|
47
|
+
max-width: 100%;
|
48
|
+
}
|
49
|
+
}
|
@@ -0,0 +1,50 @@
|
|
1
|
+
@import 'facades/setup';
|
2
|
+
|
3
|
+
html, body {
|
4
|
+
width: 100%;
|
5
|
+
height: 100%;
|
6
|
+
font-weight: normal;
|
7
|
+
position: relative;
|
8
|
+
overflow:hidden;
|
9
|
+
-webkit-overflow-scrolling: none;
|
10
|
+
-webkit-text-size-adjust: none;
|
11
|
+
}
|
12
|
+
|
13
|
+
|
14
|
+
body.ios {
|
15
|
+
-webkit-backface-visibility: hidden;
|
16
|
+
&.phone{
|
17
|
+
font-size: 114%;
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
body.android.phone {
|
22
|
+
font-size: 116%;
|
23
|
+
}
|
24
|
+
|
25
|
+
|
26
|
+
body.desktop {
|
27
|
+
font-size: 114%;
|
28
|
+
}
|
29
|
+
|
30
|
+
body {
|
31
|
+
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
32
|
+
-webkit-touch-callout: none;
|
33
|
+
}
|
34
|
+
|
35
|
+
a{
|
36
|
+
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
37
|
+
-webkit-user-drag: none;
|
38
|
+
}
|
39
|
+
|
40
|
+
input, textarea {
|
41
|
+
-webkit-user-select: auto;
|
42
|
+
}
|
43
|
+
|
44
|
+
.hbox {
|
45
|
+
-webkit-box-orient: horizontal;
|
46
|
+
}
|
47
|
+
|
48
|
+
.vbox {
|
49
|
+
-webkit-box-orient: vertical;
|
50
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
//
|
2
|
+
// Navbar
|
3
|
+
// Styling for navigation bars. Generally used as top toolbars
|
4
|
+
// ----------------------------------------------------------------------------------------
|
5
|
+
|
6
|
+
@import 'facades/mobile/mixins';
|
7
|
+
|
8
|
+
@mixin navbar{
|
9
|
+
height: $row-height;
|
10
|
+
padding: 0 .5em;
|
11
|
+
overflow: hidden;
|
12
|
+
position: relative;
|
13
|
+
z-index:100;
|
14
|
+
|
15
|
+
&.docked{
|
16
|
+
@include docked;
|
17
|
+
}
|
18
|
+
|
19
|
+
@include toolbar-title;
|
20
|
+
|
21
|
+
}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
//
|
2
|
+
// Panels
|
3
|
+
// All "pages" within the application are considered 'panels'.
|
4
|
+
// The content within each panel should be dictated by the class
|
5
|
+
// .panel-content
|
6
|
+
// ----------------------------------------------------------------------------------------
|
7
|
+
|
8
|
+
@mixin panel{
|
9
|
+
display: block;
|
10
|
+
left: 0;
|
11
|
+
top: 0;
|
12
|
+
min-height: 100%;
|
13
|
+
width: 100%;
|
14
|
+
overflow-x: hidden;
|
15
|
+
position: absolute;
|
16
|
+
z-index: 0;
|
17
|
+
@include display-box;
|
18
|
+
@include box-orient(vertical);
|
19
|
+
@include box-flex(1);
|
20
|
+
|
21
|
+
& .current {
|
22
|
+
z-index: 1;
|
23
|
+
}
|
24
|
+
|
25
|
+
&:not(.current) {
|
26
|
+
display: none;
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
30
|
+
@mixin panel-content{
|
31
|
+
position: relative;
|
32
|
+
padding:0 .4em;
|
33
|
+
@include box-flex(1);
|
34
|
+
overflow-y: auto;
|
35
|
+
-webkit-margin-collapse: separate;
|
36
|
+
-webkit-overflow-scrolling: touch;
|
37
|
+
}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
//
|
2
|
+
// Stage
|
3
|
+
// All application content is contained within a single stage. This mixin should be applied
|
4
|
+
// to that element only.
|
5
|
+
// ----------------------------------------------------------------------------------------
|
6
|
+
|
7
|
+
|
8
|
+
@mixin mobile-stage{
|
9
|
+
-webkit-text-size-adjust: none;
|
10
|
+
user-select:none;
|
11
|
+
-webkit-user-select:none;
|
12
|
+
font-family: "Helvetica Neue", Helvetica;
|
13
|
+
position: absolute;
|
14
|
+
right: 0;
|
15
|
+
top: 0;
|
16
|
+
left: 0;
|
17
|
+
bottom: 0;
|
18
|
+
|
19
|
+
|
20
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
//
|
2
|
+
// Toolbar
|
3
|
+
// Styling for top-docked toolbars
|
4
|
+
// ----------------------------------------------------------------------------------------
|
5
|
+
|
6
|
+
@import 'facades/mobile/mixins';
|
7
|
+
|
8
|
+
@mixin toolbar{
|
9
|
+
height: $row-height;
|
10
|
+
padding: 0 .5em;
|
11
|
+
overflow: hidden;
|
12
|
+
position: relative;
|
13
|
+
z-index:100;
|
14
|
+
|
15
|
+
& > * {
|
16
|
+
z-index: 110;
|
17
|
+
}
|
18
|
+
|
19
|
+
&.docked{
|
20
|
+
@include docked;
|
21
|
+
}
|
22
|
+
|
23
|
+
@include toolbar-title;
|
24
|
+
|
25
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
$base-color: #7c92ae;
|
2
|
+
$gradient-style: glossy;
|
3
|
+
|
4
|
+
@import 'facades/mobile/global';
|
5
|
+
|
6
|
+
.toolbar{
|
7
|
+
@include gradient-style($base-color, $gradient-style);
|
8
|
+
.title{
|
9
|
+
color:white;
|
10
|
+
@include bevel-text($base-color);
|
11
|
+
}
|
12
|
+
}
|
13
|
+
|
14
|
+
.navbar{
|
15
|
+
@include gradient-style($base-color, matte);
|
16
|
+
border-top-color:darken($base-color, 5%);
|
17
|
+
}
|
@@ -0,0 +1,50 @@
|
|
1
|
+
@import 'facades/config';
|
2
|
+
@import 'facades/mixins';
|
3
|
+
|
4
|
+
/*!
|
5
|
+
* Labels, from Bootstrap 2.0
|
6
|
+
*
|
7
|
+
* Copyright 2011 Twitter, Inc
|
8
|
+
* Licensed under the Apache License v2.0
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
*
|
11
|
+
* Designed and built with all the love in the world @twitter by @mdo and @fat.
|
12
|
+
*
|
13
|
+
* Slightly modified from the original to support a vertical rhythm.
|
14
|
+
* Implemented as a mixin.
|
15
|
+
*/
|
16
|
+
|
17
|
+
@mixin label($with-color: true){
|
18
|
+
@include inline-block(baseline);
|
19
|
+
font-size: $font-size * .75;
|
20
|
+
font-weight: bold;
|
21
|
+
@include leading(1, $font-size + 2px);
|
22
|
+
padding:1px .5em;
|
23
|
+
text-transform: uppercase;
|
24
|
+
position:relative;
|
25
|
+
top:-1px;
|
26
|
+
@include border-radius(3px);
|
27
|
+
|
28
|
+
@if $with-color{
|
29
|
+
background-color:lighten($font-color, 4%);
|
30
|
+
text-shadow:rgba(0,0,0,0.1) 0px 1px 0px;
|
31
|
+
color:white;
|
32
|
+
|
33
|
+
&.notice {
|
34
|
+
background-color: $notice-color;
|
35
|
+
}
|
36
|
+
|
37
|
+
&.success {
|
38
|
+
background-color: $success-color;
|
39
|
+
}
|
40
|
+
|
41
|
+
&.error {
|
42
|
+
background-color: $error-color;
|
43
|
+
}
|
44
|
+
|
45
|
+
&.warning {
|
46
|
+
background-color: $warning-color;
|
47
|
+
}
|
48
|
+
|
49
|
+
}
|
50
|
+
}
|