google-buttons-sass 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. data/LICENSE +14 -0
  2. data/README.md +91 -0
  3. data/lib/google-buttons-sass/compass_functions.rb +10 -0
  4. data/lib/google-buttons-sass/engine.rb +7 -0
  5. data/lib/google-buttons-sass/rails_functions.rb +14 -0
  6. data/lib/google-buttons-sass.rb +43 -0
  7. data/templates/project/manifest.rb +17 -0
  8. data/templates/project/styles.scss +3 -0
  9. data/vendor/assets/images/checkmark.png +0 -0
  10. data/vendor/assets/images/grey-disclosure-arrow-up-down.png +0 -0
  11. data/vendor/assets/javascripts/bootstrap-popover.js +98 -0
  12. data/vendor/assets/javascripts/google-buttons.js +3 -0
  13. data/vendor/assets/javascripts/google-select-dropdown.js +89 -0
  14. data/vendor/assets/javascripts/google-select.js +84 -0
  15. data/vendor/assets/stylesheets/alerts.scss +21 -0
  16. data/vendor/assets/stylesheets/bootstrap-mixins.scss +625 -0
  17. data/vendor/assets/stylesheets/breadcrumbs.scss +8 -0
  18. data/vendor/assets/stylesheets/button-groups.scss +124 -0
  19. data/vendor/assets/stylesheets/buttons.scss +396 -0
  20. data/vendor/assets/stylesheets/dropdowns.scss +95 -0
  21. data/vendor/assets/stylesheets/forms.scss +229 -0
  22. data/vendor/assets/stylesheets/google-buttons.scss +42 -0
  23. data/vendor/assets/stylesheets/mixins.scss +44 -0
  24. data/vendor/assets/stylesheets/navs.scss +76 -0
  25. data/vendor/assets/stylesheets/pager.scss +40 -0
  26. data/vendor/assets/stylesheets/pagination.scss +68 -0
  27. data/vendor/assets/stylesheets/popovers.scss +36 -0
  28. data/vendor/assets/stylesheets/progress-bars.scss +7 -0
  29. data/vendor/assets/stylesheets/scrollbars.scss +43 -0
  30. data/vendor/assets/stylesheets/sprites.scss +12 -0
  31. data/vendor/assets/stylesheets/tooltip.scss +10 -0
  32. data/vendor/assets/stylesheets/variables.scss +199 -0
  33. data/vendor/assets/stylesheets/wells.scss +17 -0
  34. metadata +127 -0
@@ -0,0 +1,229 @@
1
+ // Forms.less
2
+ // Base styles for various input types, form layouts, and states
3
+ // -------------------------------------------------------------
4
+
5
+
6
+ // Form controls
7
+ // -------------------------
8
+
9
+ // Shared size and type resets
10
+ select,
11
+ textarea,
12
+ input[type="text"],
13
+ input[type="password"],
14
+ input[type="datetime"],
15
+ input[type="datetime-local"],
16
+ input[type="date"],
17
+ input[type="month"],
18
+ input[type="time"],
19
+ input[type="week"],
20
+ input[type="number"],
21
+ input[type="email"],
22
+ input[type="url"],
23
+ input[type="search"],
24
+ input[type="tel"],
25
+ input[type="color"],
26
+ .uneditable-input {
27
+ padding: 4px 8px;
28
+ }
29
+
30
+ // Reset appearance properties for textual inputs and textarea
31
+ // Declare width for legacy (can't be on input[type=*] selectors or it's too specific)
32
+ .g-select,
33
+ input,
34
+ textarea {
35
+ width: 210px;
36
+ }
37
+ // Reset height since textareas have rows
38
+ textarea {
39
+ padding-right: 4px;
40
+ }
41
+ // Everything else
42
+ textarea,
43
+ input[type="text"],
44
+ input[type="password"],
45
+ input[type="datetime"],
46
+ input[type="datetime-local"],
47
+ input[type="date"],
48
+ input[type="month"],
49
+ input[type="time"],
50
+ input[type="week"],
51
+ input[type="number"],
52
+ input[type="email"],
53
+ input[type="url"],
54
+ input[type="search"],
55
+ input[type="tel"],
56
+ input[type="color"],
57
+ .uneditable-input {
58
+ border: 1px solid #d9d9d9;
59
+ border-top: 1px solid #c0c0c0;
60
+ @include border-radius($inputBorderRadius);
61
+ @include box-shadow(none);
62
+ @include transition(none);
63
+
64
+ &:hover {
65
+ border: 1px solid #b9b9b9;
66
+ border-top: 1px solid #a0a0a0;
67
+ @include box-shadow(inset 0 1px 2px rgba(0,0,0,0.1));
68
+ z-index: 2;
69
+ }
70
+
71
+ // Focus state
72
+ &:focus,
73
+ &.focused {
74
+ outline: none;
75
+ border: 1px solid #4d90fe;
76
+ @include transition(none);
77
+ @include box-shadow(inset 0 1px 2px rgba(0,0,0,0.3));
78
+ }
79
+ }
80
+
81
+
82
+ // CHECKBOXES & RADIOS
83
+ // -------------------
84
+
85
+ // Google style
86
+ input[type="checkbox"],
87
+ input[type="radio"] {
88
+ -webkit-appearance: none;
89
+ appearance: none;
90
+ width: 13px;
91
+ height: 13px;
92
+ background: white;
93
+ border: 1px solid #dcdcdc;
94
+ @include border-radius(1px);
95
+ @include box-sizing(border-box);
96
+ position: relative;
97
+ }
98
+ input[type="radio"] {
99
+ @include border-radius(1em);
100
+ width: 15px;
101
+ height: 15px;
102
+ }
103
+ input[type="checkbox"]:hover {
104
+ border-color: #c6c6c6;
105
+ @include box-shadow(inset 0 1px 1px rgba(0, 0, 0, 0.1));
106
+ }
107
+ input[type="checkbox"]:active,
108
+ input[type="radio"]:active {
109
+ border-color: #c6c6c6;
110
+ background: #EBEBEB;
111
+ }
112
+ input[type="checkbox"]:checked,
113
+ input[type="radio"]:checked {
114
+ background: #fff;
115
+ }
116
+ input[type="checkbox"]:checked::after {
117
+ content: asset-url("checkmark.png", image);
118
+ display: block;
119
+ position: absolute;
120
+ top: -6px;
121
+ left: -5px;
122
+ }
123
+ input[type="radio"]:checked::after {
124
+ content: '';
125
+ display: block;
126
+ position: relative;
127
+ top: 3px;
128
+ left: 3px;
129
+ width: 7px;
130
+ height: 7px;
131
+ background: #666;
132
+ @include border-radius(1em);
133
+ }
134
+ input[type="checkbox"]:focus,
135
+ input[type="radio"]:focus {
136
+ outline: none;
137
+ border-color: #4d90fe;
138
+ }
139
+
140
+
141
+ // DISABLED STATE
142
+ // --------------
143
+
144
+ // Disabled and read-only inputs
145
+ input[disabled],
146
+ select[disabled],
147
+ textarea[disabled] {
148
+ cursor: not-allowed;
149
+ border: 1px solid #e5e5e5;
150
+ background: #f1f1f1;
151
+
152
+ &:hover {
153
+ @include box-shadow(none);
154
+ }
155
+ }
156
+ input[readonly],
157
+ select[readonly],
158
+ textarea[readonly] {
159
+ cursor: not-allowed;
160
+ border: 1px solid #d9d9d9;
161
+
162
+ &:hover,
163
+ &:focus {
164
+ @include box-shadow(none);
165
+ }
166
+ }
167
+
168
+
169
+ // FORM FIELD FEEDBACK STATES
170
+ // --------------------------
171
+
172
+ // HTML5 invalid states
173
+ // Shares styles with the .control-group.error above
174
+ .g-select:focus:required:invalid,
175
+ input:focus:required:invalid,
176
+ textarea:focus:required:invalid,
177
+ select:focus:required:invalid {
178
+ color: #b94a48;
179
+ border-color: #ee5f5b;
180
+ &:focus {
181
+ border-color: #4d90fe;
182
+ @include box-shadow(0);
183
+ }
184
+ }
185
+
186
+
187
+ // HORIZONTAL & VERTICAL FORMS
188
+ // ---------------------------
189
+
190
+ // Common properties
191
+ // -----------------
192
+
193
+ .form-search,
194
+ .form-inline,
195
+ .form-horizontal {
196
+ .g-select,
197
+ input,
198
+ textarea,
199
+ select,
200
+ .help-inline,
201
+ .uneditable-input,
202
+ .input-prepend,
203
+ .input-append {
204
+ display: inline-block;
205
+ @include ie7-inline-block();
206
+ margin-bottom: 0;
207
+ }
208
+ // Re-hide hidden elements due to specifity
209
+ .hide {
210
+ display: none;
211
+ }
212
+ }
213
+
214
+ .btn.g-select {
215
+ font-weight: bold;
216
+ text-align: left;
217
+ padding: 4px 8px;
218
+ }
219
+ .btn.g-select:after {
220
+ content: "";
221
+ position: absolute;
222
+ display: inline-block;
223
+ top: 9px;
224
+ right: 6px;
225
+ width: 7px;
226
+ height: 11px;
227
+ background-image: asset-url("grey-disclosure-arrow-up-down.png", image);
228
+ background-repeat: no-repeat;
229
+ }
@@ -0,0 +1,42 @@
1
+ /*!
2
+ * Google Buttons Bootstrap
3
+ *
4
+ * This CSS is intended to be used on top of Twitter Bootstrap, to theme
5
+ * it in the Google style.
6
+ *
7
+ * Constructed by Tim O'Donnell (http://github.com/todc)
8
+ * Gemmed by Pete Brousalis (http://github.com/brousalis)
9
+ */
10
+
11
+ // Bootstrap
12
+ @import "bootstrap-mixins";
13
+
14
+ // Core variables and mixins
15
+ @import "variables";
16
+ @import "mixins";
17
+
18
+ // Base CSS
19
+ @import "forms";
20
+
21
+ // Components: common
22
+ @import "dropdowns";
23
+ @import "wells";
24
+ @import "scrollbars";
25
+
26
+ // Components: Buttons & Alerts
27
+ @import "buttons";
28
+ @import "button-groups";
29
+ @import "alerts";
30
+
31
+ // Components: Nav
32
+ @import "navs";
33
+ @import "breadcrumbs";
34
+ @import "pagination";
35
+ @import "pager";
36
+
37
+ // Components: Popovers
38
+ @import "tooltip";
39
+ @import "popovers";
40
+
41
+ // Components: Misc
42
+ @import "progress-bars";
@@ -0,0 +1,44 @@
1
+ // Mixins.less
2
+ // Snippets of reusable CSS to develop faster and keep code readable
3
+ // -----------------------------------------------------------------
4
+
5
+ // Popover arrows
6
+ // -------------------------
7
+ // For popovers
8
+ @mixin top($arrowWidth: 9px, $color: $white) {
9
+ bottom: 0;
10
+ left: 50%;
11
+ margin-bottom: -$arrowWidth + 6px;
12
+ margin-left: -$arrowWidth;
13
+ border-left: $arrowWidth solid transparent;
14
+ border-right: $arrowWidth solid transparent;
15
+ border-top: $arrowWidth solid $color;
16
+ }
17
+ @mixin left($arrowWidth: 9px, $color: $white) {
18
+ top: 50%;
19
+ right: 0;
20
+ margin-right: -$arrowWidth + 6px;
21
+ margin-top: -$arrowWidth;
22
+ border-top: $arrowWidth solid transparent;
23
+ border-bottom: $arrowWidth solid transparent;
24
+ border-left: $arrowWidth solid $color;
25
+ }
26
+ @mixin bottom($arrowWidth: 9px, $color: $white) {
27
+ top: 0;
28
+ left: 50%;
29
+ margin-top: -$arrowWidth + 6px;
30
+ margin-left: -$arrowWidth;
31
+ border-left: $arrowWidth solid transparent;
32
+ border-right: $arrowWidth solid transparent;
33
+ border-bottom: $arrowWidth solid $color;
34
+ }
35
+ @mixin right($arrowWidth: 9px, $color: $white) {
36
+ top: 50%;
37
+ left: 0;
38
+ margin-left: -$arrowWidth + 6px;
39
+ margin-top: -$arrowWidth;
40
+ border-top: $arrowWidth solid transparent;
41
+ border-bottom: $arrowWidth solid transparent;
42
+ border-right: $arrowWidth solid $color;
43
+ border-color: transparent $color;
44
+ }
@@ -0,0 +1,76 @@
1
+ // NAVIGATIONS
2
+ // -----------
3
+
4
+ .nav-list > .active > a,
5
+ .nav-list > .active > a:hover {
6
+ background-color: #4D90FE;
7
+ }
8
+
9
+ // Actual tabs (as links)
10
+ .nav-tabs > li > a {
11
+ @include border-radius(2px 2px 0 0);
12
+ }
13
+
14
+ // Links rendered as pills
15
+ .nav-pills > li > a {
16
+ @include border-radius(2px);
17
+ }
18
+
19
+ // Active state
20
+ .nav-pills > .active > a,
21
+ .nav-pills > .active > a:hover {
22
+ background-color: #4D90FE;
23
+ }
24
+
25
+
26
+ .nav-tabs.nav-stacked > li:first-child > a {
27
+ @include border-radius(2px 2px 0 0);
28
+ }
29
+ .nav-tabs.nav-stacked > li:last-child > a {
30
+ @include border-radius(0 0 2px 2px);
31
+ }
32
+ .nav-tabs.nav-stacked > li > a:hover {
33
+ border-color: #ddd;
34
+ z-index: 2;
35
+ }
36
+
37
+
38
+ // TABS
39
+ // ----
40
+
41
+ .nav-tabs > li > a {
42
+ color: #666;
43
+ }
44
+ .nav-tabs > .active > a,
45
+ .nav-tabs > .active > a:hover {
46
+ font-weight: bold;
47
+ color: #333;
48
+ }
49
+
50
+
51
+ // DROPDOWNS
52
+ // ---------
53
+
54
+ .nav-tabs .dropdown-menu {
55
+ @include border-radius(0); // remove the top rounded corners here since there is a hard edge above the menu
56
+ }
57
+ .nav-pills .dropdown-menu {
58
+ @include border-radius(0); // make rounded corners match the pills
59
+ }
60
+
61
+ // BOTTOM
62
+ // ------
63
+
64
+ .tabs-below > .nav-tabs > li > a {
65
+ @include border-radius(0 0 2px 2px);
66
+ }
67
+
68
+ // LEFT & RIGHT
69
+ // ------------
70
+
71
+ .tabs-left > .nav-tabs > li > a {
72
+ @include border-radius(2px 0 0 2px);
73
+ }
74
+ .tabs-right > .nav-tabs > li > a {
75
+ @include border-radius(0 2px 2px 0);
76
+ }
@@ -0,0 +1,40 @@
1
+ // PAGER
2
+ // -----
3
+
4
+ .pager a {
5
+ padding: 4px 12px;
6
+
7
+ border: 1px solid #dcdcdc;
8
+ @include border-radius(2px);
9
+ background-color: $btnBackground;
10
+ @include gradient-vertical(#f5f5f5,#f1f1f1);
11
+
12
+ color: #333;
13
+ text-shadow: 0 1px 0 #fff;
14
+ text-decoration: none;
15
+ white-space: nowrap;
16
+ font-weight: bold;
17
+
18
+ cursor: default;
19
+ outline: none;
20
+ overflow: visible;
21
+ }
22
+ .pager a:hover {
23
+ border-color: #c6c6c6;
24
+ @include gradient-vertical(#f8f8f8,#f1f1f1);
25
+ @include box-shadow(0 1px 1px rgba(0,0,0,0.1));
26
+ }
27
+ .pager a:active {
28
+ background-color: #f4f4f4;
29
+ @include gradient-vertical(#f6f6f6,#f1f1f1);
30
+ @include box-shadow(inset 0 1px 2px rgba(0, 0, 0, 0.1));
31
+ }
32
+ .pager .disabled a,
33
+ .pager .disabled a:hover {
34
+ color: darken($white, 30%);
35
+ border-color: darken($white, 15%);
36
+ background-color: $btnBackground;
37
+ @include gradient-vertical(#f5f5f5,#f1f1f1);
38
+ @include box-shadow(none);
39
+ text-shadow: none;
40
+ }
@@ -0,0 +1,68 @@
1
+ // PAGINATION
2
+ // ----------
3
+
4
+ .pagination ul {
5
+ @include border-radius(2px);
6
+ }
7
+ .pagination a {
8
+ position: relative;
9
+ padding: 4px 12px;
10
+ margin-left: -1px;
11
+
12
+ border: 1px solid #dcdcdc;
13
+ background-color: $btnBackground;
14
+ @include gradient-vertical(#f5f5f5,#f1f1f1);
15
+
16
+ color: #333;
17
+ font-family: $baseFontFamily;
18
+ font-size: $baseFontSize;
19
+ font-weight: bold;
20
+ line-height: $baseLineHeight;
21
+ text-align: center;
22
+ text-shadow: 0 1px 0 #fff;
23
+ white-space: nowrap;
24
+
25
+ cursor: default;
26
+ outline: none;
27
+ overflow: visible;
28
+
29
+ z-index: 1000;
30
+ }
31
+ .pagination a:hover,
32
+ .pagination a:active {
33
+ border-color: #c6c6c6;
34
+ z-index: 1010;
35
+
36
+ background-color: #f5f5f5;
37
+ @include gradient-vertical(#f8f8f8,#f1f1f1);
38
+
39
+ @include box-shadow(0 1px 1px rgba(0,0,0,0.1));
40
+ }
41
+ .pagination a:active {
42
+ background-color: #f4f4f4;
43
+ @include gradient-vertical(#f6f6f6,#f1f1f1);
44
+ @include box-shadow(inset 0 1px 2px rgba(0, 0, 0, 0.1));
45
+ }
46
+ .pagination .active a {
47
+ color: #4D90FE;
48
+ }
49
+ .pagination .disabled span,
50
+ .pagination .disabled a,
51
+ .pagination .disabled a:hover {
52
+ color: darken($white, 30%);
53
+ border-color: darken($white, 15%);
54
+ background-color: $btnBackground;
55
+ @include gradient-vertical(#f5f5f5,#f1f1f1);
56
+ @include box-shadow(none);
57
+ text-shadow: none;
58
+ }
59
+ .pagination .disabled a [class^="icon-"] {
60
+ @include opacity(30);
61
+ }
62
+ .pagination li:first-child a {
63
+ margin-left: 0;
64
+ @include border-radius(2px 0 0 2px);
65
+ }
66
+ .pagination li:last-child a {
67
+ @include border-radius(0 2px 2px 0);
68
+ }
@@ -0,0 +1,36 @@
1
+ // POPOVERS
2
+ // --------
3
+
4
+ .popover {
5
+ &.top .arrow { @include top(); }
6
+ &.top .arrowbefore { @include top(10px, #bbb); }
7
+
8
+ &.right .arrow { @include right(); }
9
+ &.right .arrowbefore { @include right(10px, #bbb); }
10
+
11
+ &.bottom .arrow { @include bottom(); }
12
+ &.bottom .arrowbefore { @include bottom(10px, #bbb); }
13
+
14
+ &.left .arrow { @include left(); }
15
+ &.left .arrowbefore { @include left(10px, #bbb); }
16
+
17
+ .arrowbefore {
18
+ position: absolute;
19
+ width: 0;
20
+ height: 0;
21
+ }
22
+ }
23
+ .popover-inner {
24
+ padding: 0px;
25
+ border: 1px solid;
26
+ border-color: #bbb #bbb #a8a8a8;
27
+ background: #bbb; // has to be full background declaration for IE fallback
28
+ @include border-radius(0);
29
+ @include box-shadow(0 1px 3px rgba(0,0,0,0.2));
30
+ }
31
+ .popover-title {
32
+ @include border-radius(0);
33
+ }
34
+ .popover-content {
35
+ @include border-radius(0);
36
+ }
@@ -0,0 +1,7 @@
1
+ // PROGRESS BARS
2
+ // -------------
3
+
4
+ // Outer container
5
+ .progress {
6
+ @include border-radius(2px);
7
+ }
@@ -0,0 +1,43 @@
1
+ .scrollable::-webkit-scrollbar {
2
+ height: 16px;
3
+ width: 12px;
4
+ }
5
+ .scrollable::-webkit-scrollbar-button:start:decrement,
6
+ .scrollable::-webkit-scrollbar-button:end:increment {
7
+ background-color: transparent;
8
+ display: block;
9
+ height: 0;
10
+ }
11
+ .scrollable::-webkit-scrollbar-track {
12
+ background-clip: padding-box;
13
+ border: solid
14
+ transparent;
15
+ border-width: 0 0 0 4px;
16
+ }
17
+ .scrollable::-webkit-scrollbar-track-piece {
18
+ background-color: transparent;
19
+ @include border-radius(0);
20
+ }
21
+ .scrollable::-webkit-scrollbar:hover {
22
+ background-color: #f3f3f3;
23
+ border-left: 1px solid #dbdbdb;
24
+ }
25
+ .scrollable::-webkit-scrollbar-thumb:vertical,
26
+ .scrollable::-webkit-scrollbar-thumb:horizontal {
27
+ background-color: #c6c6c6;
28
+ @include border-radius(0);
29
+ }
30
+ .scrollable::-webkit-scrollbar-thumb {
31
+ background-color: rgba(0,0,0,0.2);
32
+ border: solid transparent;
33
+ border-width: 1px 1px 1px 2px;
34
+ @include box-shadow(#{"inset 1px 1px 0 rgba(0,0,0,0.10),inset 0 -1px 0 rgba(0,0,0,0.07)"});
35
+ background-clip: padding-box;
36
+ }
37
+ .scrollable::-webkit-scrollbar-thumb:hover {
38
+ background-color: #949494;
39
+ }
40
+ .scrollable::-webkit-scrollbar-thumb:active{
41
+ background-color: rgba(0,0,0,0.5);
42
+ @include box-shadow(inset 1px 1px 3px rgba(0,0,0,0.35));
43
+ }
@@ -0,0 +1,12 @@
1
+ // SPRITES
2
+ // Glyphs and icons for buttons, nav, and more
3
+ // -------------------------------------------
4
+
5
+ [class^="icon-"] {
6
+ margin-top: -2px;
7
+ }
8
+
9
+ .disabled > [class^="icon-"],
10
+ .disabled2 > [class^="icon-"] {
11
+ @include opacity(50);
12
+ }
@@ -0,0 +1,10 @@
1
+ // TOOLTIP
2
+ // ------=
3
+
4
+ .tooltip {
5
+ font-weight: bold;
6
+ &.in { @include opacity(100); }
7
+ }
8
+ .tooltip-inner {
9
+ @include border-radius(0px);
10
+ }