uol_frontend_framework_rails 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +21 -0
  3. data/README.md +41 -0
  4. data/lib/uol_frontend_framework_rails.rb +13 -0
  5. data/lib/uol_frontend_framework_rails/version.rb +3 -0
  6. data/vendor/assets/javascripts/bundle.js +59092 -0
  7. data/vendor/assets/stylesheets/abstracts/app/_all.scss +3 -0
  8. data/vendor/assets/stylesheets/abstracts/app/_functions.scss +1 -0
  9. data/vendor/assets/stylesheets/abstracts/app/_variables.scss +120 -0
  10. data/vendor/assets/stylesheets/abstracts/common/_functions.scss +4 -0
  11. data/vendor/assets/stylesheets/abstracts/common/_variables.scss +14 -0
  12. data/vendor/assets/stylesheets/abstracts/web/_all.scss +3 -0
  13. data/vendor/assets/stylesheets/abstracts/web/_functions.scss +1 -0
  14. data/vendor/assets/stylesheets/abstracts/web/_variables.scss +146 -0
  15. data/vendor/assets/stylesheets/app.scss +7 -0
  16. data/vendor/assets/stylesheets/base/app/_all.scss +6 -0
  17. data/vendor/assets/stylesheets/base/common/_grid.scss +67 -0
  18. data/vendor/assets/stylesheets/base/common/_helpers.scss +57 -0
  19. data/vendor/assets/stylesheets/base/common/_reset.scss +33 -0
  20. data/vendor/assets/stylesheets/base/common/_test.scss +36 -0
  21. data/vendor/assets/stylesheets/base/common/_typo.scss +40 -0
  22. data/vendor/assets/stylesheets/base/web/_all.scss +6 -0
  23. data/vendor/assets/stylesheets/components/app/_addressBox.scss +1 -0
  24. data/vendor/assets/stylesheets/components/app/_all.scss +10 -0
  25. data/vendor/assets/stylesheets/components/app/_button.scss +7 -0
  26. data/vendor/assets/stylesheets/components/app/_card.scss +57 -0
  27. data/vendor/assets/stylesheets/components/app/_clickBox.scss +1 -0
  28. data/vendor/assets/stylesheets/components/app/_datePicker.scss +1 -0
  29. data/vendor/assets/stylesheets/components/app/_form.scss +197 -0
  30. data/vendor/assets/stylesheets/components/app/_paginator.scss +3 -0
  31. data/vendor/assets/stylesheets/components/app/_tag.scss +39 -0
  32. data/vendor/assets/stylesheets/components/app/_thumbnail.scss +1 -0
  33. data/vendor/assets/stylesheets/components/common/_addressBox.scss +22 -0
  34. data/vendor/assets/stylesheets/components/common/_button.scss +187 -0
  35. data/vendor/assets/stylesheets/components/common/_clickBox.scss +39 -0
  36. data/vendor/assets/stylesheets/components/common/_datePicker.scss +22 -0
  37. data/vendor/assets/stylesheets/components/common/_thumbnail.scss +8 -0
  38. data/vendor/assets/stylesheets/components/web/_addressBox.scss +1 -0
  39. data/vendor/assets/stylesheets/components/web/_all.scss +18 -0
  40. data/vendor/assets/stylesheets/components/web/_button.scss +5 -0
  41. data/vendor/assets/stylesheets/components/web/_card.scss +58 -0
  42. data/vendor/assets/stylesheets/components/web/_clickBox.scss +1 -0
  43. data/vendor/assets/stylesheets/components/web/_datePicker.scss +1 -0
  44. data/vendor/assets/stylesheets/components/web/_definitionList.scss +12 -0
  45. data/vendor/assets/stylesheets/components/web/_dropdown.scss +14 -0
  46. data/vendor/assets/stylesheets/components/web/_form.scss +288 -0
  47. data/vendor/assets/stylesheets/components/web/_header.scss +186 -0
  48. data/vendor/assets/stylesheets/components/web/_modal.scss +30 -0
  49. data/vendor/assets/stylesheets/components/web/_nav.scss +51 -0
  50. data/vendor/assets/stylesheets/components/web/_paginator.scss +23 -0
  51. data/vendor/assets/stylesheets/components/web/_selectable.scss +361 -0
  52. data/vendor/assets/stylesheets/components/web/_table.scss +68 -0
  53. data/vendor/assets/stylesheets/components/web/_tag.scss +45 -0
  54. data/vendor/assets/stylesheets/components/web/_thumbnail.scss +1 -0
  55. data/vendor/assets/stylesheets/components/web/_typeahead.scss +51 -0
  56. data/vendor/assets/stylesheets/docs.scss +11 -0
  57. data/vendor/assets/stylesheets/vendor/app/_all.scss +0 -0
  58. data/vendor/assets/stylesheets/vendor/web/_all.scss +3 -0
  59. data/vendor/assets/stylesheets/vendor/web/_animate.scss +3340 -0
  60. data/vendor/assets/stylesheets/vendor/web/_normalize.scss +461 -0
  61. data/vendor/assets/stylesheets/web.scss +7 -0
  62. metadata +62 -2
@@ -0,0 +1 @@
1
+ @import "../common/thumbnail";
@@ -0,0 +1,22 @@
1
+ .addressBox {
2
+ background: $white;
3
+ border: 1px solid $color-border;
4
+ padding: $baseline $gutter;
5
+ }
6
+
7
+ .addressBox iframe {
8
+ margin-bottom: $baseline;
9
+ }
10
+
11
+ .addressBox li:not(:last-of-type) {
12
+ margin-bottom: $baseline/4;
13
+ }
14
+
15
+ .addressBox li:first-of-type {
16
+ margin-bottom: $baseline;
17
+ }
18
+
19
+ .addressBox a {
20
+ color: inherit;
21
+ text-decoration: underline;
22
+ }
@@ -0,0 +1,187 @@
1
+ $button-height: rem(40px) !default;
2
+
3
+ .button {
4
+ display: inline-block;
5
+ font-size: rem(13px);
6
+ height: $button-height;
7
+ line-height: $button-height;
8
+ padding: 0 $gutter*1.5;
9
+ border: 0;
10
+ border-radius: $borderRadius-button;
11
+ cursor: pointer;
12
+ box-shadow: none;
13
+ outline: 0;
14
+ vertical-align: middle;
15
+ transition: $transition-type $transition-duration background;
16
+ text-align: center;
17
+ text-decoration: none;
18
+ }
19
+
20
+ .button.button--secondary:disabled {
21
+ color: lighten($color-text, 50%);
22
+ cursor: not-allowed;
23
+ }
24
+
25
+ a.button:not(.button--asLink):hover {
26
+ text-decoration: none;
27
+ }
28
+
29
+ %button--hasDropdown {
30
+ > .fa:last-of-type { margin-left: $gutter/2; }
31
+ }
32
+
33
+ .button.button--dropdown,
34
+ .button.button--hasDropdown {
35
+ @extend %button--hasDropdown;
36
+ }
37
+
38
+ %button--unslyted {
39
+ height: auto;
40
+ border: 0;
41
+ padding: 0;
42
+ background: transparent;
43
+ }
44
+
45
+ .button.button--unstyled {
46
+ @extend %button--unstyled;
47
+ }
48
+
49
+
50
+ .button.button--primary {
51
+ color: $white;
52
+ background: $button-primary-background;
53
+ }
54
+
55
+ .button.button--primary:hover {
56
+ background: lighten($color-primary, 10%);
57
+ }
58
+
59
+ .button.button--primary.button--outlined {
60
+ background: transparent;
61
+ border: 1px solid $color-primary;
62
+ color: $color-primary;
63
+ }
64
+
65
+ .button.button--primary.button--outlined:hover {
66
+ color: darken($color-primary, 5%);
67
+ border-color: darken($color-primary, 5%);
68
+ }
69
+
70
+ .button.button--primary.button--borderLess {
71
+ color: $color-primary;
72
+ }
73
+
74
+
75
+ .button.button--secondary {
76
+ background: $button-secondary-background;
77
+ color: lighten($color-text, 25%);
78
+ }
79
+
80
+ .button.button--secondary:hover {
81
+
82
+ }
83
+
84
+ .button.button--secondary.button--outlined {
85
+ background: transparent;
86
+ border: 1px solid $color-border;
87
+ color: darken($color-border, 20%);
88
+ }
89
+
90
+ .button.button--secondary.button--outlined:hover {
91
+ border-color: darken($color-border, 10%);
92
+ color: darken($color-border, 30%);
93
+ }
94
+
95
+ .button.button--secondary.button--borderLess {
96
+ color: lighten($color-text, 25%);
97
+ }
98
+
99
+
100
+ .button.button--danger {
101
+ background: $button-danger-background;
102
+ color: $white;
103
+ }
104
+
105
+ .button.button--danger.button--outlined {
106
+ background: transparent;
107
+ color: $button-danger-background;
108
+ border: 1px solid $button-danger-background;
109
+ }
110
+
111
+ .button.button--danger.button--outlined:hover {
112
+ color: darken($button-danger-background, 5%);
113
+ border-color: darken($button-danger-background, 5%);
114
+ }
115
+
116
+ .button.button--danger.button--borderLess {
117
+ color: $button-danger-background;
118
+ }
119
+
120
+
121
+ .button.button--success {
122
+ background: $button-success-background;
123
+ color: $white;
124
+ }
125
+
126
+ .button.button--success.button--outlined {
127
+ background: transparent;
128
+ color: $button-success-background;
129
+ border: 1px solid $button-success-background;
130
+ }
131
+
132
+ .button.button--success.button--outlined:hover {
133
+ color: darken($button-success-background, 5%);
134
+ border-color: darken($button-success-background, 5%);
135
+ }
136
+
137
+ .button.button--success.button--borderLess {
138
+ color: $button-success-background;
139
+ }
140
+
141
+
142
+
143
+ .button.button--borderLess {
144
+ background: transparent;
145
+ border: 0;
146
+ padding: 0;
147
+ }
148
+
149
+ .button.button--borderLess:hover {
150
+ background: transparent;
151
+ }
152
+
153
+ .button--lightIcon {
154
+ @extend %button--unstyled;
155
+ color: $color-lightIcon;
156
+ font-size: rem(17px);
157
+ }
158
+
159
+ .button--lightIcon:hover {
160
+ color: darken($color-lightIcon, 10%);
161
+ }
162
+
163
+ .button.button--circular {
164
+ width: rem(40px);
165
+ height: rem(40px);
166
+ border: 1px solid $color-border;
167
+ }
168
+
169
+
170
+ .button.button--symmetricalIcon {
171
+ width: rem(40px);
172
+ height: rem(40px);
173
+ padding: 0;
174
+ }
175
+
176
+ .button.button--bigger {
177
+ font-size: rem(15px);
178
+ }
179
+
180
+
181
+
182
+ /**
183
+ * Button group
184
+ */
185
+ .buttonGroup > .button:not(:last-of-type) {
186
+ margin-right: $gutter/2;
187
+ }
@@ -0,0 +1,39 @@
1
+ .clickBox {
2
+ display: flex;
3
+ align-items: center;
4
+ color: inherit;
5
+ background: $white;
6
+ padding: $baseline $gutter*2;
7
+ border: 1px solid transparent;
8
+ border-radius: $borderRadius;
9
+ transition: .2s ease box-shadow, .2s ease border-color, .1s ease transform;
10
+ text-decoration: none;
11
+ }
12
+
13
+ .clickBox:hover {
14
+ box-shadow: 0 0 15px 0px rgba(0, 0, 0, 0.07);
15
+ border-color: rgba(0,0,0,.1);
16
+ text-decoration: none;
17
+ }
18
+
19
+ .clickBox:active {
20
+ transform: scale(0.99);
21
+ }
22
+
23
+ .clickBox-image {
24
+ max-width: rem(65px);
25
+ }
26
+
27
+ .clickBox-image:first-child {
28
+ margin-right: $gutter*3;
29
+ }
30
+
31
+ .clickBox p:last-child {
32
+ margin-bottom: 0;
33
+ }
34
+
35
+ @media (max-width: 800px) {
36
+ .clickBox {
37
+ border-color: $color-border;
38
+ }
39
+ }
@@ -0,0 +1,22 @@
1
+ $react-dates-color-primary: $color-primary;
2
+ $react-dates-color-primary-dark: $body-bg;
3
+ $react-dates-color-border: $color-border;
4
+ $react-dates-color-placeholder-text: $color-text;
5
+ $react-dates-color-text-focus: $color-text;
6
+ $react-dates-color-focus: $body-bg;
7
+
8
+ // @import '~react-dates/css/variables.scss';
9
+ // @import '~react-dates/css/styles.scss';
10
+
11
+ .SingleDatePickerInput {
12
+ @extend .formControl;
13
+ padding: 0;
14
+ cursor: pointer;
15
+ }
16
+
17
+ .DateInput {
18
+ font-size: $fontSize;
19
+ padding: $baseline/8 $gutter/2;
20
+ width: auto;
21
+ min-width: rem(100px);
22
+ }
@@ -0,0 +1,8 @@
1
+ .thumbnail {
2
+ width: rem(40px);
3
+ height: rem(40px);
4
+ }
5
+
6
+ .thumbnail-image {
7
+ border-radius: 2px;
8
+ }
@@ -0,0 +1 @@
1
+ @import "../common/addressBox";
@@ -0,0 +1,18 @@
1
+ @import
2
+ "header",
3
+ "nav",
4
+ "button",
5
+ "thumbnail",
6
+ "table",
7
+ "paginator",
8
+ "form",
9
+ "tag",
10
+ "definitionList",
11
+ "addressBox",
12
+ "clickBox",
13
+ "card",
14
+ "datePicker",
15
+ "dropdown",
16
+ "selectable",
17
+ "modal",
18
+ "typeahead";
@@ -0,0 +1,5 @@
1
+ @import "../common/button";
2
+
3
+ .button.button--borderLess:hover {
4
+ text-decoration: underline;
5
+ }
@@ -0,0 +1,58 @@
1
+ .card {
2
+ display: block;
3
+ background: $white;
4
+ border: 1px solid $color-border;
5
+ border-radius: $borderRadius;
6
+ }
7
+
8
+ a.card {
9
+ color: inherit;
10
+ transition: 0.2s ease box-shadow, 0.2s ease border-color, 0.1s ease transform;
11
+ -webkit-tap-highlight-color: transparent;
12
+ }
13
+
14
+ a.card:hover {
15
+ box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.07);
16
+ text-decoration: none;
17
+ }
18
+
19
+ a.card:active {
20
+ transform: scale(0.98);
21
+ }
22
+
23
+ .card:not(:last-of-type) {
24
+ margin-bottom: $baseline/2;
25
+ }
26
+
27
+ .card-header {
28
+ background: $card-header-bg;
29
+ padding: $baseline/2 $gutter;
30
+ }
31
+
32
+ .card-title {
33
+ font-weight: 600;
34
+ }
35
+
36
+ .card-header.card-header--split {
37
+ display: flex;
38
+ align-items: center;
39
+ justify-content: space-between;
40
+ }
41
+
42
+ .card-content {
43
+ padding: $baseline/2 $gutter;
44
+ }
45
+
46
+ .card-content dd {
47
+ text-align: right;
48
+ }
49
+
50
+ .card.card--invoice .grid-cell:last-child,
51
+ .card.card--bankAccounts .grid-cell:last-child {
52
+ text-align: right;
53
+ }
54
+
55
+ .card.card--invoice .grid,
56
+ .card.card--bankAccounts .grid {
57
+ align-items: center;
58
+ }
@@ -0,0 +1 @@
1
+ @import "../common/clickBox";
@@ -0,0 +1 @@
1
+ @import "../common/datePicker"
@@ -0,0 +1,12 @@
1
+ .definitionList.grid {
2
+ margin-bottom: $baseline/2;
3
+ }
4
+
5
+ .definitionList dt,
6
+ .definitionList dd {
7
+
8
+ }
9
+
10
+ .definitionList dt {
11
+ font-weight: 600;
12
+ }
@@ -0,0 +1,14 @@
1
+ .dropdown {
2
+ background: $white;
3
+ padding: $baseline $gutter*2;
4
+ border-radius: 2px;
5
+ box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.07);
6
+ }
7
+
8
+ .dropdown.dropdown--withDatePicker {
9
+ width: 350px;
10
+ }
11
+
12
+ .dropdown.dropdown--withUserMenu {
13
+ width: 250px;
14
+ }
@@ -0,0 +1,288 @@
1
+ $input-height: rem(40px);
2
+ $fittedAddon-width: rem(37px);
3
+
4
+ .formControl {
5
+ display: block;
6
+ width: 100%;
7
+ height: $input-height;
8
+ background: $white;
9
+ padding: 0 $gutter;
10
+ border: 1px solid $color-border;
11
+ border-radius: $borderRadius;
12
+ outline: none;
13
+ box-shadow: none;
14
+ transition: $transition-type $transition-duration border-color;
15
+ }
16
+
17
+ .formControl[type="text"] {
18
+ -webkit-appearance: none;
19
+ }
20
+
21
+ .formControl:disabled {
22
+ background: lighten($color-border, 10%);
23
+ cursor: not-allowed;
24
+ }
25
+
26
+ .formControl:not(:disabled):not(:focus):hover {
27
+ border-color: darken($color-border, 7%);
28
+ }
29
+
30
+ .formControl:focus {
31
+ border-color: $color-primary;
32
+ }
33
+
34
+ select.formControl {
35
+ cursor: pointer;
36
+ }
37
+
38
+ textarea.formControl {
39
+ max-width: 100%;
40
+ min-height: $baseline*4;
41
+ padding: $baseline/2 $gutter;
42
+ }
43
+
44
+ /**
45
+ * Form validation
46
+ */
47
+
48
+ .is-danger .formControl,
49
+ .is-danger .formControl:not(:focus):hover {
50
+ border-color: $color-danger;
51
+ }
52
+
53
+ .is-danger .formControlFeedback {
54
+ color: $color-danger;
55
+ }
56
+
57
+ .is-success .formControl,
58
+ .is-success .formControl:not(:focus):hover {
59
+ border-color: $color-success;
60
+ }
61
+
62
+ .is-success .formControlFeedback {
63
+ color: $color-success;
64
+ }
65
+
66
+ .is-warning .formControl,
67
+ .is-warning .formControl:not(:focus):hover {
68
+ border-color: $color-warning;
69
+ }
70
+
71
+ .is-warning .formControlFeedback {
72
+ color: $color-warning;
73
+ }
74
+
75
+
76
+ .formControlFeedback { display: none }
77
+
78
+ .is-danger .formControlFeedback,
79
+ .is-success .formControlFeedback,
80
+ .is-warning .formControlFeedback {
81
+ display: block;
82
+ font-size: $fontSize-smaller;
83
+ margin-top: $baseline/4;
84
+ }
85
+
86
+
87
+
88
+ .inputGroup {
89
+ position: relative;
90
+ display: flex;
91
+ align-items: center;
92
+ }
93
+
94
+ // FF wierd width fix
95
+ .inputGroup input.formControl {
96
+ min-width: 1px;
97
+ }
98
+
99
+ .inputGroup .formControl:not(:first-child):not(.formControl--hasFittedAddonFromLeft):not(.formControl--hasFittedAddonFromRight) {
100
+ border-top-left-radius: 0;
101
+ border-bottom-left-radius: 0;
102
+ }
103
+
104
+ .inputGroup .formControl:not(:last-child):not(.formControl--hasFittedAddonFromLeft):not(.formControl--hasFittedAddonFromRight) {
105
+ border-top-right-radius: 0;
106
+ border-bottom-right-radius: 0;
107
+ }
108
+
109
+ .inputGroup > .button {
110
+ // @extend .button--outlined;
111
+ flex-shrink: 0;
112
+ border-radius: 0;
113
+ }
114
+
115
+ // Button border from right (cause of negative margin) would overlap input's right border when hover & focus
116
+ .inputGroup .formControl {
117
+ z-index: 1;
118
+ }
119
+
120
+ .inputGroup > .button:not(:last-child),
121
+ .inputGroup > .formControl:not(:last-child) {
122
+ margin-right: -1px;
123
+ }
124
+
125
+ .inputGroup > .button:first-child {
126
+ border-radius: $borderRadius 0 0 $borderRadius;
127
+ }
128
+
129
+ .inputGroup > .button:last-child {
130
+ border-radius: 0 $borderRadius $borderRadius 0;
131
+ }
132
+
133
+ .inputGroup .button.button--increment,
134
+ .inputGroup .button.button--deduct {
135
+ flex: 0 0 rem(37px);
136
+ max-width: rem(37px);
137
+ font-size: rem(18px);
138
+ padding: 0;
139
+ }
140
+
141
+ .invoiceSummary .inputGroup.inputGroup--invoiceDiscount {
142
+ max-width: rem(80px);
143
+ }
144
+
145
+
146
+ .formControl.formControl--hasFittedAddonFromLeft { padding-left: $fittedAddon-width }
147
+ .formControl.formControl--hasFittedAddonFromRight { padding-right: $fittedAddon-width }
148
+
149
+ .inputGroup-fittedAddon {
150
+ width: $fittedAddon-width;
151
+ position: absolute;
152
+ left: 0;
153
+ top: 50%;
154
+ transform: translateY(-50%);
155
+ text-align: center;
156
+ color: $color-lightIcon;
157
+ z-index: 2;
158
+ }
159
+
160
+ .inputGroup-fittedAddon.inputGroup-fittedAddon--right {
161
+ left: auto;
162
+ right: 0;
163
+ }
164
+
165
+
166
+
167
+ /**
168
+ * Form Group
169
+ */
170
+
171
+ .formGroup:not(:last-child) {
172
+ margin-bottom: $baseline;
173
+ }
174
+
175
+ .formGroup.is-disabled {
176
+ opacity: .5;
177
+ }
178
+
179
+ .formGroup.grid {
180
+ margin-top: -($baseline/4);
181
+ margin-bottom: $baseline;
182
+ }
183
+
184
+ .formGroup.grid > .grid-cell {
185
+ padding-top: $baseline/4;
186
+ }
187
+
188
+ .formGroup > label:not(.formCheck),
189
+ .formGroup > .formGroup-label {
190
+ cursor: default;
191
+ }
192
+
193
+ .formGroup.grid > label.grid-cell,
194
+ .formGroup.grid > .formGroup-label {
195
+ padding-top: ($baseline/4) + ($baseline/2); // Fake "center" for label
196
+ }
197
+
198
+ .formGroup.formGroup--inline > .formControl {
199
+ width: auto;
200
+ display: inline-block;
201
+ }
202
+
203
+ .formGroup.formGroup--inline > label + .formControl,
204
+ .formGroup.formGroup--inline > .inputGroup .formControl {
205
+ margin-left: $gutter;
206
+ }
207
+
208
+ .formGroup.formGroup--inline .inputGroup {
209
+ display: inline-flex;
210
+ vertical-align: middle;
211
+ }
212
+
213
+
214
+
215
+ /**
216
+ * Inline form group
217
+ */
218
+
219
+ .inlineFormGroups > .inlineFormGroup { margin-bottom: $baseline/2 }
220
+
221
+ .inlineFormGroup > .grid-cell > .button { margin-top: rem(20px) } // Fake center in a row
222
+
223
+
224
+
225
+ /**
226
+ * Custom checkbox
227
+ */
228
+
229
+ .formCheck {
230
+ display: inline-block;
231
+ cursor: pointer;
232
+ }
233
+
234
+ .formCheck.is-disabled {
235
+ opacity: .5;
236
+ cursor: not-allowed;
237
+ }
238
+
239
+ .formGroup.grid .formCheck {
240
+ display: flex;
241
+ align-items: center;
242
+ height: $input-height;
243
+ }
244
+
245
+ .formCheck input {
246
+ position: absolute;
247
+ visibility: hidden;
248
+ width: 0;
249
+ height: 0;
250
+ z-index: -1;
251
+ }
252
+
253
+ .formCheck .formCheck-indicator > .fa { transition: transform .2s ease, opacity .2s ease }
254
+
255
+ .formCheck input:not(:checked) + .formCheck-indicator > .fa {
256
+ transform: scale(0);
257
+ opacity: 0;
258
+ }
259
+
260
+ .formCheck input:checked + .formCheck-indicator > .fa {
261
+ transform: scale(1);
262
+ opacity: 1;
263
+ }
264
+
265
+ .formCheck .formCheck-indicator {
266
+ display: inline-flex;
267
+ align-items: center;
268
+ justify-content: center;
269
+ width: rem(18px);
270
+ height: rem(18px);
271
+ color: $color-primary;
272
+ font-size: rem(12px);
273
+ border: 1px solid $color-border;
274
+ border-radius: $borderRadius;
275
+ margin-right: $gutter/2;
276
+ }
277
+
278
+ .formCheck:hover .formCheck-indicator { border-color: darken($color-border, 7%) }
279
+
280
+ .formCheck .formCheck-description { vertical-align: middle }
281
+
282
+ /**
283
+ * Custom radio
284
+ */
285
+
286
+ .formCheck input[type="radio"] + .formCheck-indicator {
287
+ border-radius: 999rem;
288
+ }