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
@@ -1,104 +0,0 @@
1
- // -------------------------------------------------------------------------------
2
- // Globals
3
- // -------------------------------------------------------------------------------
4
-
5
- // Font and Baseline
6
- // -------------------------------------------------
7
- $font-size: 12px !default;
8
- $line-height: 24px !default;
9
-
10
-
11
- // Selection states (hot pink action!)
12
- // -------------------------------------------------
13
- $selection-background-color: #fe57a1 !default;
14
- $selection-color: #ffffff !default;
15
-
16
-
17
- // Default font color and family
18
- // -------------------------------------------------
19
- $font-color: #444 !default;
20
- $font-family: 'Helvetica Nueue', 'Helvetica', 'Arial', sans-serif !default;
21
- $default-font-family: $font-family !default;
22
- $fixed-font-family:"andale mono", "lucida console", monospace !default;
23
-
24
- // Link colors
25
- // -------------------------------------------------
26
- $link-color: #00e !default;
27
- $link-active-color: lighten($link-color, 5%) !default;
28
- $link-hover-color: lighten($link-color, 5%) !default;
29
- $link-visited-color: #551a8b !default;
30
-
31
-
32
- // Forms and fields
33
- // -------------------------------------------------
34
-
35
- // Default state
36
- $input-border-radius: 2px !default;
37
- $input-font-size: .95em !default;
38
- $input-color: $font-color !default;
39
- $input-border-color: #bbbbbb !default;
40
- $input-background-color: white !default;
41
- $input-padding: 0.65em 0.35em !default;
42
- $input-placeholder-color: #888888;
43
-
44
- // Disabled state
45
- $disabled-input-color: #777 !default;
46
- $disabled-input-background-color: #aaa !default;
47
- $disabled-input-border-color: #666 !default;
48
-
49
- // Focus state
50
- $focus-input-border-color: #666666 !default;
51
- $focus-input-background-color: $input-background-color !default;
52
- $focus-input-color: $input-color !default;
53
-
54
- // General
55
- $form-hint-color: #ccc !default;
56
- $fieldset-border-color: #ccc !default;
57
-
58
- // Buttons
59
- $button-color:#333333 !default;
60
- $button-border-color:#dddddd #bbbbbb #999999 !default;
61
- $button-padding: 0.5em 1em !default;
62
- $button-border-radius: 5px !default;
63
-
64
- $select-arrow-image:'/images/select_arrow.gif' !default;
65
-
66
- // Visual cues
67
- // -------------------------------------------------
68
-
69
- // Error colors, red by refault
70
- $error-color: #bd132a !default;
71
- $error-background-color: #fde0e4 !default;
72
- $error-border-color: #E41D38 !default;
73
-
74
- // Success colors, green by default
75
- $success-color:#264409 !default;
76
- $success-background-color:#e6efc2 !default;
77
- $success-border-color:#c6d880 !default;
78
-
79
- // Notice colors, yellow by default
80
- $notice-color:#514721 !default;
81
- $notice-background-color:#fff6bf !default;
82
- $notice-border-color:#ffd324 !default;
83
-
84
- // Standard info colors, blue by default
85
- $info-color:#205791 !default;
86
- $info-background-color:#d5edf8 !default;
87
- $info-border-color:#92cae4 !default;
88
-
89
- $invalid-input-border-color: $error-border-color !default;
90
- $invalid-input-background-color: $error-background-color !default;
91
- $invalid-input-color: $error-color !default;
92
-
93
- // Flash messages
94
- $flash-success-class: 'success';
95
- $flash-notice-class: 'notice';
96
- $flash-error-class: 'error';
97
-
98
- // Misc typography
99
- //-------------------------------------------------
100
-
101
- $horizontal-rule-color:#ccc !default;
102
- $horizontal-rule-size:1px !default;
103
-
104
- @import 'facades/utilities';
@@ -1,2 +0,0 @@
1
- @import 'facades/typography/shadow';
2
- @import 'facades/typography/lists';
@@ -1,3 +0,0 @@
1
- @import 'facades/ui/tool-tip';
2
- @import 'facades/ui/flash-messages';
3
- @import 'facades/ui/buttons';
@@ -1,32 +0,0 @@
1
- /* =====================================================
2
- Misc utilities
3
- ===================================================== */
4
-
5
- @import 'facades/utilities/clearfix';
6
- @import 'facades/utilities/cursors';
7
-
8
- // Alternative to display:none for hiding important elements
9
-
10
- @mixin clipped{
11
- clip:rect(1px 1px 1px 1px);
12
- clip:rect(1px, 1px, 1px, 1px); // Stupid IE
13
- position: absolute;
14
- }
15
-
16
-
17
- // Simple mixin to reset boxes to margin-less/padding-less/border-less
18
- @mixin box-reset{
19
- margin: 0;
20
- padding: 0;
21
- border: 0;
22
- }
23
-
24
- // Cross browser inline-block implementations
25
- @mixin inline-block {
26
- &{ *display: inline; } // IE7
27
- display: -moz-inline-box;
28
- -moz-box-orient: vertical;
29
- display: inline-block;
30
- vertical-align: middle;
31
- *vertical-align: auto; // IE7..again
32
- }
@@ -1,7 +0,0 @@
1
- @mixin dropdown-list($left:0px, $top:100%, $position:'absolute'){
2
- li{ position:relative;
3
- ol{ position:unquote($position); top:$top; left:$left; display:none; }
4
- ol li{ text-align:left; }
5
- &:hover ol{ display:block; }
6
- }
7
- }
@@ -1,53 +0,0 @@
1
- @import 'facades/utilities';
2
- @import 'facades/typography/lists';
3
-
4
- // Creates a column based list of fields within a form.
5
- // Form elements should be marked up using ordered lists for semantic value.
6
- //-----------------------------------------------------------------------------------------------
7
-
8
- @mixin form-split-field-list{
9
- @include pie-clearfix;
10
- @include no-list;
11
-
12
- display:block;
13
- clear:both;
14
- margin:-.5em 0px;
15
-
16
- li{ float:left;
17
- margin:0 1em 0 0;
18
- vertical-align:middle;
19
- label, input[type=text], input[type=password],input[type=email]{
20
- display:block;
21
- }
22
- &.clear{ clear:both; }
23
- &.buttons{ clear:both; padding:.25em 0px 0px 0px; }
24
- &.inline label{ @include inline-block; }
25
- &.multifield{
26
- input, select{ @include inline-block; }
27
- }
28
- select{ margin:.75em 0px; }
29
- }
30
- }
31
-
32
-
33
- // Creates a single column list of fields within a form.
34
- // Form elements should be marked up using ordered lists for semantic value.
35
- // --------------------------------------------------------------------------------------------------
36
-
37
- @mixin form-field-list{
38
-
39
- @include no-list;
40
- padding-right:10px;
41
-
42
- li{ padding:.5em 0px;
43
- &.clear{ clear:both; }
44
- &.buttons{ clear:both; padding:.25em 0px 0px 0px; }
45
- &.inline label{ @include inline-block; }
46
- &.multifield{
47
- input, select{ @include inline-block; }
48
- }
49
- ol{ @include form-split-field-list; }
50
- }
51
-
52
- fieldset{ border:none; }
53
- }
@@ -1,49 +0,0 @@
1
- // Fixed grid system based on a merge of Blueprint and 960gs.
2
- $grid-gutter-width: 10px !default;
3
- $grid-width: 960px !default;
4
- $grid-columns: 24 !default;
5
- $grid-column-width: $grid-width / $grid-columns * 1 - $grid-gutter-width;
6
-
7
- @mixin container{
8
- margin-left: auto;
9
- margin-right: auto;
10
- width: $grid-width;
11
- @include pie-clearfix;
12
- }
13
-
14
- @function span($n){
15
- @return $grid-width / $grid-columns * $n - $grid-gutter-width;
16
- }
17
-
18
- @mixin column-base($gutter: $grid-gutter-width){
19
- display: inline; float: left;
20
- margin-left: $gutter / 2;
21
- margin-right: $gutter / 2;
22
- }
23
-
24
- @mixin column($n, $last:false){
25
- @include column-base($grid-gutter-width);
26
- @if $last{ margin-right:0; }
27
- width:span($n);
28
- }
29
-
30
- @mixin first{ margin-left:0; }
31
- @mixin last{ margin-right:0; }
32
-
33
- @mixin prefix($n, $cols: $grid-columns){
34
- padding-left: $grid-width / $grid-columns * $n;
35
- }
36
-
37
- @mixin suffix($n, $cols: $grid-columns){
38
- padding-right: $grid-width / $grid-columns * $n;
39
- }
40
-
41
- @mixin push($n){
42
- position:relative;
43
- left: ($grid-width / $grid-columns * $n);
44
- }
45
-
46
- @mixin pull($n){
47
- position:relative;
48
- left: -($grid-width / $grid-columns * $n);
49
- }
@@ -1,164 +0,0 @@
1
- /* Arfully Masterminded by ZURB */
2
-
3
- /* --------------------------------------------------
4
- :: Grid
5
-
6
- This is the mobile-friendly, responsive grid that
7
- lets Foundation work much of its magic.
8
-
9
- -------------------------------------------------- */
10
-
11
- $grid-width: 980px !default;
12
- $_grid-column-widths: 4.3% 13% 21.68% 30.37% 39.1% 47.8% 56.5% 65.2% 73.9% 82.6% 91.3% 100%;
13
- $_grid-gutter-width: 4.4%;
14
-
15
- @mixin row{
16
- width:100%;
17
- max-width: $grid-width;
18
- min-width: 727px;
19
- margin:0 auto;
20
- zoom:1;
21
-
22
- .row{
23
- min-width:0;
24
- }
25
-
26
- &:before, &:after { content: ""; display: table; }
27
- &:after { clear: both; }
28
- zoom: 1;
29
-
30
- @media only screen and (max-width: 767px) {
31
- min-width:0px;
32
- width: 99%;
33
- min-width: 0;
34
- margin-left: 0;
35
- margin-right: 0;
36
- }
37
- }
38
-
39
- @mixin container{
40
- padding:0 20px;
41
- margin:0 auto;
42
- @media only screen and (max-width: 767px) {
43
- padding:0;
44
- }
45
- }
46
-
47
- @mixin column($num:1){
48
- @if( $num < length($_grid-column-widths) ){
49
- margin-left:$_grid-gutter-width;
50
- }
51
- float:left;
52
- min-height:1px;
53
- width:width($num);
54
-
55
- &.first, &:first-child{
56
- margin-left:0;
57
- }
58
-
59
- @media only screen and (max-width: 767px) {
60
- width: width($num) / 3;
61
- margin-left: $_grid-gutter-width / 6;
62
- margin-right: $_grid-gutter-width / 6;
63
- }
64
- }
65
-
66
- @mixin offset($num:1){
67
- $widths: 13.1% 21.8% 30.5% 39.2% 47.9% 56.6% 65.3% 74.0% 82.7% 91.4%;
68
- $childs: 8.7% 17.4% 26.1% 34.8% 43.5% 52.2% 60.9% 69.6% 78.3% 87% 95.7%;
69
- margin-left:nth($widths, $num);
70
- &:first-child{
71
- margin-left:nth($childs, $num);
72
- }
73
-
74
- @media only screen and (max-width: 767px) {
75
- margin-left:0px;
76
- &:first-child{ margin-left:0px; }
77
- }
78
- }
79
-
80
- @mixin push($num:1){
81
- position:relative;
82
- left: (width($num) + $_grid-gutter-width);
83
- }
84
-
85
- @mixin pull($num:1){
86
- position:relative;
87
- right: (width($num) + $_grid-gutter-width);
88
- }
89
-
90
- @function width($cols:1){
91
- @return nth($_grid-column-widths, $cols);
92
- }
93
-
94
- // Convert classes to top-level mixin
95
-
96
- @mixin responsive-grid-classes{
97
- .container { padding: 0 20px; }
98
-
99
- .row { width: 100%; max-width: 980px; min-width: 727px; margin: 0 auto; }
100
- /* To fix the grid into a certain size, set max-width to width */
101
- .row .row { min-width: 0; }
102
-
103
- .column, .columns { margin-left: 4.4%; float: left; min-height: 1px; position: relative; }
104
- .column:first-child, .columns:first-child { margin-left: 0; }
105
-
106
- .row .one.columns { width: 4.3%; }
107
- .row .two.columns { width: 13%; }
108
- .row .three.columns { width: 21.68%; }
109
- .row .four.columns { width: 30.37%; }
110
- .row .five.columns { width: 39.1%; }
111
- .row .six.columns { width: 47.8%; }
112
- .row .seven.columns { width: 56.5%; }
113
- .row .eight.columns { width: 65.2%; }
114
- .row .nine.columns { width: 73.9%; }
115
- .row .ten.columns { width: 82.6%; }
116
- .row .eleven.columns { width: 91.3%; }
117
- .row .twelve.columns { width: 100%; }
118
-
119
- .row .offset-by-one { margin-left: 13.1%; }
120
- .row .offset-by-two { margin-left: 21.8%; }
121
- .row .offset-by-three { margin-left: 30.5%; }
122
- .row .offset-by-four { margin-left: 39.2%; }
123
- .row .offset-by-five { margin-left: 47.9%; }
124
- .row .offset-by-six { margin-left: 56.6%; }
125
- .row .offset-by-seven { margin-left: 65.3%; }
126
- .row .offset-by-eight { margin-left: 74.0%; }
127
- .row .offset-by-nine { margin-left: 82.7%; }
128
- .row .offset-by-ten { margin-left: 91.4%; }
129
-
130
- .row .centered { float: none; margin: 0 auto; }
131
-
132
- .row .offset-by-one:first-child { margin-left: 8.7%; }
133
- .row .offset-by-two:first-child { margin-left: 17.4%; }
134
- .row .offset-by-three:first-child { margin-left: 26.1%; }
135
- .row .offset-by-four:first-child { margin-left: 34.8%; }
136
- .row .offset-by-five:first-child { margin-left: 43.5%; }
137
- .row .offset-by-six:first-child { margin-left: 52.2%; }
138
- .row .offset-by-seven:first-child { margin-left: 60.9%; }
139
- .row .offset-by-eight:first-child { margin-left: 69.6%; }
140
- .row .offset-by-nine:first-child { margin-left: 78.3%; }
141
- .row .offset-by-ten:first-child { margin-left: 87%; }
142
- .row .offset-by-eleven:first-child { margin-left: 95.7%; }
143
-
144
- /* Source Ordering */
145
- .push-two { left: 17.4% }
146
- .push-three { left: 26.1%; }
147
- .push-four { left: 34.8%; }
148
- .push-five { left: 43.5%; }
149
- .push-six { left: 52.2%; }
150
- .push-seven { left: 60.9%; }
151
- .push-eight { left: 69.6%; }
152
- .push-nine { left: 78.3%; }
153
- .push-ten { left: 87%; }
154
-
155
- .pull-two { right: 17.4% }
156
- .pull-three { right: 26.1%; }
157
- .pull-four { right: 34.8%; }
158
- .pull-five { right: 43.5%; }
159
- .pull-six { right: 52.2%; }
160
- .pull-seven { right: 60.9%; }
161
- .pull-eight { right: 69.6%; }
162
- .pull-nine { right: 78.3%; }
163
- .pull-ten { right: 87%; }
164
- }
@@ -1,284 +0,0 @@
1
- form{
2
- margin-bottom:1em;
3
- }
4
-
5
- fieldset{
6
- margin-bottom:1em;
7
- }
8
-
9
- select{
10
- padding: 0;
11
- }
12
-
13
- label, legend {
14
- abbr[title]{
15
- outline:none;
16
- border:none;
17
- color:red;
18
- }
19
-
20
- display: block;
21
- font-weight: bold;
22
- font-size: $font-size;
23
- }
24
-
25
-
26
- // Make UI consistant across all browsers.
27
- //----------------------------------------------------------------------------------------------------
28
-
29
- ::-moz-focus-inner {
30
- border: 0;
31
- padding: 0;
32
- }
33
-
34
- input[type="search"]::-webkit-search-decoration {
35
- display: none;
36
- }
37
-
38
- input, button, select, textarea {
39
- margin: 0;
40
- vertical-align: middle;
41
- }
42
-
43
- input[type="radio"],
44
- input[type="checkbox"] {
45
- position: relative;
46
- vertical-align: top;
47
- top: 0.5em;
48
- // IE8, IE9, IE10
49
- top: 0 \0;
50
- // IE7
51
- *top: -3px;
52
- }
53
-
54
- // iPad
55
- @media (-webkit-min-device-pixel-ratio: 1) and (max-device-width: 1024px) {
56
- input[type="radio"],
57
- input[type="checkbox"] {
58
- vertical-align: baseline;
59
- top: 2px;
60
- }
61
- }
62
-
63
- // iPhone 3
64
- @media (-webkit-min-device-pixel-ratio: 1) and (max-device-width: 480px) {
65
- input[type="radio"],
66
- input[type="checkbox"] {
67
- vertical-align: baseline;
68
- top: 0;
69
- }
70
- }
71
-
72
- // iPhone 4
73
- @media (-webkit-min-device-pixel-ratio: 2) and (max-device-width: 480px) {
74
- input[type="radio"],
75
- input[type="checkbox"] {
76
- vertical-align: baseline;
77
- top: 0;
78
- }
79
- }
80
-
81
- button, input[type="reset"], input[type="submit"], input[type="button"] {
82
- -webkit-appearance: none;
83
- background: #dddddd;
84
- -moz-background-clip: border-box;
85
- -webkit-background-clip: border-box;
86
- background-clip: border-box;
87
-
88
- @if $button-border-radius not 0px{
89
- -webkit-border-radius: $button-border-radius;
90
- -moz-border-radius: $button-border-radius;
91
- border-radius: $button-border-radius;
92
- }
93
-
94
- @if $button-border-color not none{
95
- border: 1px solid;
96
- border-color: $button-border-color;
97
- }
98
-
99
- cursor: pointer;
100
- color: $button-color;
101
- font: bold 12px / 1.3 "Helvetica Neue", Arial, "Liberation Sans", FreeSans, sans-serif;
102
- outline: 0;
103
- overflow: visible;
104
- padding: $button-padding;
105
- width: auto;
106
- user-select:none;
107
- // IE7
108
- *padding-top: 2px;
109
- *padding-bottom: 0px;
110
- }
111
-
112
- button {
113
- // IE7
114
- *padding-top: 1px;
115
- *padding-bottom: 1px;
116
- }
117
-
118
- textarea, select, input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"],
119
- input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"],
120
- input[type="time"], input[type="url"], input[type="week"] {
121
- -webkit-appearance: none;
122
- -webkit-box-sizing: content-box;
123
- -moz-box-sizing: content-box;
124
- box-sizing: content-box;
125
- -ms-box-sizing:content-box;
126
- -moz-background-clip: padding;
127
- -webkit-background-clip: padding;
128
- background-clip: padding-box;
129
- background-color: white;
130
-
131
- @if $input-border-color not none{
132
- border: 1px solid;
133
- border-color: $input-border-color;
134
- }
135
-
136
- @if $input-border-radius not none and $input-border-radius not 0px{
137
- -webkit-border-radius: $input-border-radius;
138
- -moz-border-radius: $input-border-radius;
139
- border-radius: $input-border-radius;
140
- }
141
-
142
- color: $input-color;
143
- outline: 0;
144
- height:auto;
145
- padding: $input-padding;
146
- font-size: $input-font-size;
147
- // Leaving out Helvetica Neue, to not throw off size="..."
148
- // on inputs. Arial is more reliable, on Windows and OS X.
149
- font-family: Arial, "Liberation Sans", FreeSans, sans-serif;
150
- // IE7
151
- *padding-top: 2px;
152
- *padding-bottom: 1px;
153
- *height: auto;
154
- min-width:100px;
155
-
156
- &[disabled]{
157
- color: $disabled-input-color;
158
- border-color: $disabled-input-border-color;
159
- background-color: $disabled-input-background-color;
160
- }
161
-
162
- &:focus, &:active{
163
- color:$focus-input-color;
164
- border-color:$focus-input-border-color;
165
- background-color:$focus-input-background-color;
166
- }
167
- }
168
-
169
- // Separate rule for Firefox.
170
- // Separate rule for IE, too.
171
- // Cannot stack with WebKit's.
172
- ::-webkit-input-placeholder {
173
- color: $input-placeholder-color;
174
- }
175
-
176
- input:-moz-placeholder, textarea:-moz-placeholder{
177
- color: $input-placeholder-color;
178
- }
179
-
180
- input.placeholder-text, textarea.placeholder-text{
181
- color: $input-placeholder-color;
182
- }
183
-
184
- :invalid {
185
- // Suppress red glow that Firefox
186
- // adds to form fields by default,
187
- // even when user is still typing.
188
- -moz-box-shadow: none;
189
- -webkit-box-shadow: none;
190
- box-shadow: none;
191
- }
192
-
193
- button:focus, button:active, input:focus, input:active,
194
- select:focus, select:active, textarea:focus, textarea:active {
195
- z-index: 1;
196
- outline: none;
197
- }
198
-
199
-
200
- button[disabled], input[disabled], select[disabled], select[disabled] option, select[disabled] optgroup, textarea[disabled] {
201
- -moz-box-shadow: none;
202
- -webkit-box-shadow: none;
203
- box-shadow: none;
204
- -webkit-user-select: none;
205
- -moz-user-select: none;
206
- user-select: none;
207
- color: $font-color;
208
- cursor: default;
209
- }
210
-
211
- textarea, select[size], select[multiple] {
212
- height: auto;
213
- }
214
-
215
- select[size]{ padding:0.35em; }
216
-
217
- // Tweaks for Safari + Chrome.
218
- @media (-webkit-min-device-pixel-ratio: 0) {
219
- select {
220
-
221
- @if($select-arrow-image not false and $select-arrow-image not "" ){
222
- background-image:url($select-arrow-image);
223
- background-repeat: no-repeat;
224
- background-position: 98% 50%;
225
- }
226
-
227
- padding-right: 20px;
228
- }
229
-
230
- select[size], select[multiple] {
231
- background-image: none;
232
- padding: 0;
233
- }
234
- ::-webkit-validation-bubble-message {
235
- border: 1px solid;
236
- border-color: $input-border-color;
237
- color: white;
238
- font: 13px / 17px "Lucida Grande", Arial, "Liberation Sans", FreeSans, sans-serif;
239
- overflow: hidden;
240
- padding: 15px 15px 17px;
241
- text-shadow: black 0 0 1px;
242
- height: 16px;
243
- }
244
- ::-webkit-validation-bubble-arrow,
245
- ::-webkit-validation-bubble-top-outer-arrow,
246
- ::-webkit-validation-bubble-top-inner-arrow {
247
- -webkit-box-shadow: none;
248
- box-shadow: none;
249
- background: #666666;
250
- border: 0;
251
- }
252
- }
253
-
254
- textarea {
255
- min-height: 40px;
256
- overflow: auto;
257
- resize: vertical;
258
- width: 100%;
259
- }
260
-
261
- optgroup {
262
- color: black;
263
- font-style: normal;
264
- font-weight: normal;
265
- }
266
-
267
- span.field-with-error, span.field-with-errors{ position:relative; @include inline-block; padding-bottom:10px;
268
- textarea, select, input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"],
269
- input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"],
270
- input[type="time"], input[type="url"], input[type="week"]{
271
- border-color:$invalid-input-border-color;
272
- color:$invalid-input-color;
273
- background-color:$invalid-input-background-color;
274
- }
275
-
276
- span.errors-for-field, span.error-for-field{
277
- font-size:11px;
278
- position:absolute;
279
- bottom:-5px;
280
- left:0px;
281
- display:block;
282
- color:$error-color;
283
- }
284
- }