facades 0.1.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (132) hide show
  1. data/.gitignore +1 -0
  2. data/.rbenv-gemsets +1 -0
  3. data/.rvmrc +1 -0
  4. data/.travis.yml +6 -0
  5. data/Gemfile +12 -0
  6. data/Guardfile +19 -0
  7. data/README.md +115 -101
  8. data/Rakefile +8 -0
  9. data/app/assets/javascripts/facades/debug/grid.js +0 -0
  10. data/app/helpers/facades_helper.rb +1 -0
  11. data/config.ru +7 -0
  12. data/facades.gemspec +9 -2
  13. data/lib/facades/helpers/layout.rb +36 -73
  14. data/lib/facades/helpers/navigation.rb +182 -110
  15. data/lib/facades/helpers/{elements.rb → notifications.rb} +9 -36
  16. data/lib/facades/helpers.rb +6 -17
  17. data/lib/facades/patterns/tabs.rb +75 -0
  18. data/lib/facades/patterns.rb +7 -0
  19. data/lib/facades/{sass_ext → sass_extensions}/color.rb +5 -13
  20. data/lib/facades/sass_extensions/conversions.rb +27 -0
  21. data/lib/facades/sass_extensions/functions.rb +84 -0
  22. data/lib/facades/sass_extensions/icons.rb +66 -0
  23. data/lib/facades/sass_extensions.rb +21 -0
  24. data/lib/facades/support/compass/project/MIT-LICENSE.txt +20 -0
  25. data/lib/facades/support/compass/project/humans.txt +8 -0
  26. data/lib/facades/support/compass/project/index.html +45 -0
  27. data/lib/facades/support/compass/project/manifest.rb +18 -0
  28. data/lib/facades/support/compass/project/robots.txt +4 -0
  29. data/lib/facades/support/compass.rb +9 -0
  30. data/lib/facades/support/rails.rb +12 -15
  31. data/lib/facades/support/simple_form.rb +32 -0
  32. data/lib/facades/version.rb +1 -1
  33. data/lib/facades.rb +21 -44
  34. data/spec/internal/app/helpers/application_helper.rb +3 -0
  35. data/spec/internal/app/views/navigation/_multi_list.html.erb +11 -0
  36. data/spec/internal/app/views/navigation/_multi_option_list.html.erb +14 -0
  37. data/spec/internal/app/views/navigation/_single_list.html.erb +9 -0
  38. data/spec/internal/config/database.yml +3 -0
  39. data/spec/internal/config/routes.rb +3 -0
  40. data/spec/internal/db/schema.rb +3 -0
  41. data/spec/internal/log/.gitignore +1 -0
  42. data/spec/internal/public/favicon.ico +0 -0
  43. data/spec/spec_helper.rb +16 -6
  44. data/spec/unit/helpers/layout_spec.rb +4 -0
  45. data/spec/unit/helpers/navigation_spec.rb +384 -0
  46. data/spec/unit/helpers/notifications_spec.rb +4 -0
  47. data/spec/unit/patterns/tabs_spec.rb +58 -0
  48. data/src/icons/facades.yml +105 -0
  49. data/src/icons/font-awesome.yml +210 -0
  50. data/src/scss/facades/_buttons.scss +10 -0
  51. data/src/scss/facades/_config.scss +99 -0
  52. data/src/scss/facades/_debug.scss +8 -0
  53. data/src/scss/facades/_forms.scss +228 -0
  54. data/src/scss/facades/_global.scss +104 -0
  55. data/src/scss/facades/_icons.scss +61 -0
  56. data/src/scss/facades/_mixins.scss +115 -0
  57. data/src/scss/facades/_mobile.scss +3 -0
  58. data/src/scss/facades/_setup.scss +191 -0
  59. data/src/scss/facades/_typography.scss +220 -0
  60. data/src/scss/facades/buttons/_glossy.scss +29 -0
  61. data/src/scss/facades/buttons/_gradient.scss +36 -0
  62. data/src/scss/facades/buttons/_shared.scss +33 -0
  63. data/src/scss/facades/buttons/_simple.scss +28 -0
  64. data/src/scss/facades/icons/_classes.scss +37 -0
  65. data/src/scss/facades/icons/_legacy.scss +27 -0
  66. data/src/scss/facades/layout/_lists.scss +43 -0
  67. data/src/scss/facades/mixins/_gradients.scss +30 -0
  68. data/src/scss/facades/mixins/_rhythm.scss +37 -0
  69. data/src/scss/facades/mobile/_buttons.scss +97 -0
  70. data/src/scss/facades/mobile/_config.scss +30 -0
  71. data/src/scss/facades/mobile/_global.scss +81 -0
  72. data/src/scss/facades/mobile/_mixins.scss +49 -0
  73. data/src/scss/facades/mobile/_setup.scss +50 -0
  74. data/src/scss/facades/mobile/patterns/_navbar.scss +21 -0
  75. data/src/scss/facades/mobile/patterns/_panel.scss +37 -0
  76. data/src/scss/facades/mobile/patterns/_stage.scss +20 -0
  77. data/src/scss/facades/mobile/patterns/_toolbar.scss +25 -0
  78. data/src/scss/facades/mobile/themes/_apple.scss +17 -0
  79. data/src/scss/facades/patterns/_labels.scss +50 -0
  80. data/src/scss/facades/patterns/_navbar.scss +4 -0
  81. data/src/scss/facades/patterns/_notifications.scss +82 -0
  82. data/src/scss/facades/patterns/_pagination.scss +4 -0
  83. data/src/scss/facades/patterns/_pills.scss +50 -0
  84. data/src/scss/facades/patterns/_tabs.scss +83 -0
  85. data/src/scss/facades/patterns/_twipsy.scss +84 -0
  86. data/src/scss/facades/typography/_tables.scss +95 -0
  87. metadata +201 -58
  88. data/app/views/facades/_pagination.html.erb +0 -20
  89. data/lib/facades/builders/form/base.rb +0 -212
  90. data/lib/facades/builders/form/elements.rb +0 -112
  91. data/lib/facades/builders/form/helper.rb +0 -29
  92. data/lib/facades/builders/form.rb +0 -22
  93. data/lib/facades/builders/sprite.rb +0 -50
  94. data/lib/facades/builders/table.rb +0 -76
  95. data/lib/facades/debug/html.rb +0 -6
  96. data/lib/facades/helpers/builders.rb +0 -24
  97. data/lib/facades/helpers/mobile.rb +0 -57
  98. data/lib/facades/helpers/pagination.rb +0 -83
  99. data/lib/facades/helpers/utility.rb +0 -31
  100. data/lib/facades/sass_ext/form_elements.rb +0 -52
  101. data/lib/facades/sass_ext/funcs.rb +0 -33
  102. data/lib/facades/sass_ext.rb +0 -14
  103. data/lib/facades/stylesheets/facades/_common.scss +0 -7
  104. data/lib/facades/stylesheets/facades/_css3.scss +0 -93
  105. data/lib/facades/stylesheets/facades/_layout.scss +0 -5
  106. data/lib/facades/stylesheets/facades/_normalize.scss +0 -5
  107. data/lib/facades/stylesheets/facades/_setup.scss +0 -104
  108. data/lib/facades/stylesheets/facades/_typography.scss +0 -2
  109. data/lib/facades/stylesheets/facades/_ui.scss +0 -3
  110. data/lib/facades/stylesheets/facades/_utilities.scss +0 -32
  111. data/lib/facades/stylesheets/facades/layout/_dropdown-list.scss +0 -7
  112. data/lib/facades/stylesheets/facades/layout/_forms.scss +0 -53
  113. data/lib/facades/stylesheets/facades/layout/_grid.scss +0 -49
  114. data/lib/facades/stylesheets/facades/layout/_responsive_grid.scss +0 -164
  115. data/lib/facades/stylesheets/facades/setup/_forms.scss +0 -284
  116. data/lib/facades/stylesheets/facades/setup/_ie.scss +0 -12
  117. data/lib/facades/stylesheets/facades/setup/_reset.scss +0 -255
  118. data/lib/facades/stylesheets/facades/typography/_baseline.scss +0 -91
  119. data/lib/facades/stylesheets/facades/typography/_lists.scss +0 -34
  120. data/lib/facades/stylesheets/facades/typography/_shadow.scss +0 -8
  121. data/lib/facades/stylesheets/facades/ui/_buttons.scss +0 -34
  122. data/lib/facades/stylesheets/facades/ui/_flash-messages.scss +0 -29
  123. data/lib/facades/stylesheets/facades/ui/_tabbed.scss +0 -5
  124. data/lib/facades/stylesheets/facades/ui/_tool-tip.scss +0 -44
  125. data/lib/facades/stylesheets/facades/utilities/_clearfix.scss +0 -20
  126. data/lib/facades/stylesheets/facades/utilities/_color.scss +0 -7
  127. data/lib/facades/stylesheets/facades/utilities/_cursors.scss +0 -4
  128. data/lib/facades/support/serve.rb +0 -17
  129. data/lib/facades/support/tipsy.rb +0 -17
  130. data/spec/facades/helpers/elements_spec.rb +0 -86
  131. data/spec/facades/helpers/layout_helpers_spec.rb +0 -5
  132. 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
+ }
@@ -0,0 +1,4 @@
1
+ //
2
+ // Navbar
3
+ // General styles for inline-list navigation bars
4
+ // ----------------------------------------------------------------------------------------