active_frontend 13.3.0 → 14.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (221) hide show
  1. checksums.yaml +4 -4
  2. data/.DS_Store +0 -0
  3. data/.fasterer.yml +19 -0
  4. data/.reek +27 -0
  5. data/.rubocop.yml +38 -0
  6. data/.scss-lint.yml +27 -0
  7. data/Rakefile +1 -1
  8. data/active_frontend.gemspec +21 -18
  9. data/app/.DS_Store +0 -0
  10. data/app/assets/.DS_Store +0 -0
  11. data/app/assets/fonts/.DS_Store +0 -0
  12. data/app/assets/fonts/dripicons/.DS_Store +0 -0
  13. data/app/assets/fonts/dripicons/dripicons.woff +0 -0
  14. data/app/assets/fonts/fakt-pro/.DS_Store +0 -0
  15. data/app/assets/fonts/fakt-pro/fakt-pro-bold.woff +0 -0
  16. data/app/assets/fonts/fakt-pro/fakt-pro-normal.woff +0 -0
  17. data/app/assets/fonts/fakt-pro/fakt-pro-semibold.woff +0 -0
  18. data/app/assets/fonts/fakt-pro/fakt-pro-semilight.woff +0 -0
  19. data/app/assets/fonts/fakt-soft-pro/.DS_Store +0 -0
  20. data/app/assets/fonts/fakt-soft-pro/fakt-soft-pro-bold.woff +0 -0
  21. data/app/assets/fonts/fakt-soft-pro/fakt-soft-pro-normal.woff +0 -0
  22. data/app/assets/fonts/fakt-soft-pro/fakt-soft-pro-semibold.woff +0 -0
  23. data/app/assets/fonts/fakt-soft-pro/fakt-soft-pro-semilight.woff +0 -0
  24. data/app/assets/images/.DS_Store +0 -0
  25. data/app/assets/images/.keep +0 -0
  26. data/app/assets/images/placeholders/.DS_Store +0 -0
  27. data/app/assets/images/placeholders/camera-large.png +0 -0
  28. data/app/assets/images/placeholders/camera-small.png +0 -0
  29. data/app/assets/images/placeholders/camera.png +0 -0
  30. data/app/assets/images/placeholders/document-large.png +0 -0
  31. data/app/assets/images/placeholders/document-small.png +0 -0
  32. data/app/assets/images/placeholders/document.png +0 -0
  33. data/app/assets/images/placeholders/photo-large.png +0 -0
  34. data/app/assets/images/placeholders/{picture-small.png → photo-small.png} +0 -0
  35. data/app/assets/images/placeholders/photo.png +0 -0
  36. data/app/assets/images/placeholders/store-large.png +0 -0
  37. data/app/assets/images/placeholders/store-small.png +0 -0
  38. data/app/assets/images/placeholders/store.png +0 -0
  39. data/app/assets/images/placeholders/user-large.png +0 -0
  40. data/app/assets/images/placeholders/user-small.png +0 -0
  41. data/app/assets/images/placeholders/user.png +0 -0
  42. data/app/helpers/active_frontend_helper.rb +22 -37
  43. data/lib/.DS_Store +0 -0
  44. data/lib/active_frontend.rb +3 -4
  45. data/lib/active_frontend/.DS_Store +0 -0
  46. data/lib/active_frontend/version.rb +1 -1
  47. data/lib/generators/active_frontend/install_generator.rb +3 -3
  48. data/lib/generators/active_frontend/templates/install.js +35 -30
  49. data/lib/generators/active_frontend/templates/install.scss +55 -58
  50. data/vendor/.DS_Store +0 -0
  51. data/vendor/assets/.DS_Store +0 -0
  52. data/vendor/assets/javascripts/.DS_Store +0 -0
  53. data/vendor/assets/javascripts/active_frontend.js +35 -30
  54. data/vendor/assets/javascripts/base/_affix.js +170 -0
  55. data/vendor/assets/javascripts/base/_alert.js +80 -0
  56. data/vendor/assets/javascripts/base/_animation.js +106 -0
  57. data/vendor/assets/javascripts/base/_button.js +123 -0
  58. data/vendor/assets/javascripts/base/_carousel.js +237 -0
  59. data/vendor/assets/javascripts/base/_collapse.js +200 -0
  60. data/vendor/assets/javascripts/base/_colorpicker.js +147 -0
  61. data/vendor/assets/javascripts/base/_datepicker.js +1411 -0
  62. data/vendor/assets/javascripts/base/_dropdown.js +154 -0
  63. data/vendor/assets/javascripts/base/_filepicker.js +235 -0
  64. data/vendor/assets/javascripts/base/_hoverdown.js +116 -0
  65. data/vendor/assets/javascripts/base/_layout.js +126 -0
  66. data/vendor/assets/javascripts/base/_list.js +103 -0
  67. data/vendor/assets/javascripts/{_modal.js → base/_modal.js} +170 -167
  68. data/vendor/assets/javascripts/base/_popover.js +101 -0
  69. data/vendor/assets/javascripts/base/_scrollspy.js +161 -0
  70. data/vendor/assets/javascripts/base/_switch.js +160 -0
  71. data/vendor/assets/javascripts/base/_tab.js +139 -0
  72. data/vendor/assets/javascripts/base/_table.js +224 -0
  73. data/vendor/assets/javascripts/base/_timeago.js +270 -0
  74. data/vendor/assets/javascripts/base/_timepicker.js +541 -0
  75. data/vendor/assets/javascripts/base/_tooltip.js +525 -0
  76. data/vendor/assets/javascripts/base/_tour.js +268 -0
  77. data/vendor/assets/javascripts/base/_transition.js +52 -0
  78. data/vendor/assets/javascripts/base/_typeahead.js +362 -0
  79. data/vendor/assets/javascripts/extensions/_calendar.js +4709 -0
  80. data/vendor/assets/javascripts/extensions/_chart.js +9371 -0
  81. data/vendor/assets/javascripts/extensions/_map.js +2153 -0
  82. data/vendor/assets/stylesheets/.DS_Store +0 -0
  83. data/vendor/assets/stylesheets/{_mixin.scss → _utility.scss} +96 -10
  84. data/vendor/assets/stylesheets/_variable.scss +201 -19
  85. data/vendor/assets/stylesheets/active_frontend.scss +55 -58
  86. data/vendor/assets/stylesheets/blocks/_anchor.scss +15 -0
  87. data/vendor/assets/stylesheets/blocks/_button.scss +278 -0
  88. data/vendor/assets/stylesheets/blocks/_code.scss +144 -0
  89. data/vendor/assets/stylesheets/blocks/_common.scss +127 -0
  90. data/vendor/assets/stylesheets/blocks/_form.scss +508 -0
  91. data/vendor/assets/stylesheets/blocks/_icon.scss +359 -0
  92. data/vendor/assets/stylesheets/blocks/_list.scss +76 -0
  93. data/vendor/assets/stylesheets/blocks/_multimedia.scss +62 -0
  94. data/vendor/assets/stylesheets/blocks/_reset.scss +179 -0
  95. data/vendor/assets/stylesheets/blocks/_table.scss +211 -0
  96. data/vendor/assets/stylesheets/blocks/_typography.scss +204 -0
  97. data/vendor/assets/stylesheets/components/_ad.scss +78 -0
  98. data/vendor/assets/stylesheets/components/_affix.scss +14 -0
  99. data/vendor/assets/stylesheets/components/_alert.scss +50 -0
  100. data/vendor/assets/stylesheets/components/_animation.scss +1670 -0
  101. data/vendor/assets/stylesheets/components/_breadcrumb.scss +17 -0
  102. data/vendor/assets/stylesheets/components/_calendar.scss +213 -0
  103. data/vendor/assets/stylesheets/components/_card.scss +30 -0
  104. data/vendor/assets/stylesheets/components/_carousel.scss +135 -0
  105. data/vendor/assets/stylesheets/components/_chart.scss +10 -0
  106. data/vendor/assets/stylesheets/components/_collapse.scss +17 -0
  107. data/vendor/assets/stylesheets/components/_colorpicker.scss +38 -0
  108. data/vendor/assets/stylesheets/components/_datepicker.scss +80 -0
  109. data/vendor/assets/stylesheets/components/_dropmenu.scss +151 -0
  110. data/vendor/assets/stylesheets/components/_footer.scss +11 -0
  111. data/vendor/assets/stylesheets/components/_grid.scss +144 -0
  112. data/vendor/assets/stylesheets/components/_header.scss +99 -0
  113. data/vendor/assets/stylesheets/components/_label_and_badge.scss +57 -0
  114. data/vendor/assets/stylesheets/components/_layout.scss +63 -0
  115. data/vendor/assets/stylesheets/components/_map.scss +14 -0
  116. data/vendor/assets/stylesheets/components/_milestone.scss +49 -0
  117. data/vendor/assets/stylesheets/components/_missive.scss +40 -0
  118. data/vendor/assets/stylesheets/components/_modal.scss +126 -0
  119. data/vendor/assets/stylesheets/components/_nav_and_tab.scss +202 -0
  120. data/vendor/assets/stylesheets/components/_navbar.scss +66 -0
  121. data/vendor/assets/stylesheets/components/_pagination.scss +79 -0
  122. data/vendor/assets/stylesheets/components/_placeholder.scss +23 -0
  123. data/vendor/assets/stylesheets/components/_popover.scss +167 -0
  124. data/vendor/assets/stylesheets/components/_progress.scss +62 -0
  125. data/vendor/assets/stylesheets/components/_sidebar.scss +74 -0
  126. data/vendor/assets/stylesheets/components/_spinner.scss +83 -0
  127. data/vendor/assets/stylesheets/components/_switch.scss +150 -0
  128. data/vendor/assets/stylesheets/components/_timepicker.scss +30 -0
  129. data/vendor/assets/stylesheets/components/_tooltip.scss +93 -0
  130. data/vendor/assets/stylesheets/components/_transition.scss +12 -0
  131. data/vendor/assets/stylesheets/components/_typeahead.scss +18 -0
  132. metadata +150 -94
  133. data/app/assets/fonts/gotham/gotham-bold.woff +0 -0
  134. data/app/assets/fonts/gotham/gotham-book.woff +0 -0
  135. data/app/assets/fonts/gotham/gotham-light.woff +0 -0
  136. data/app/assets/fonts/gotham/gotham-medium.woff +0 -0
  137. data/app/assets/fonts/gotham/gotham-rounded-bold.woff +0 -0
  138. data/app/assets/fonts/gotham/gotham-rounded-book.woff +0 -0
  139. data/app/assets/fonts/gotham/gotham-rounded-light.woff +0 -0
  140. data/app/assets/fonts/gotham/gotham-rounded-medium.woff +0 -0
  141. data/app/assets/images/placeholders/archive-large.png +0 -0
  142. data/app/assets/images/placeholders/archive-small.png +0 -0
  143. data/app/assets/images/placeholders/archive.png +0 -0
  144. data/app/assets/images/placeholders/picture-large.png +0 -0
  145. data/app/assets/images/placeholders/picture.png +0 -0
  146. data/vendor/assets/javascripts/_affix.js +0 -153
  147. data/vendor/assets/javascripts/_alert.js +0 -85
  148. data/vendor/assets/javascripts/_animation.js +0 -103
  149. data/vendor/assets/javascripts/_button.js +0 -107
  150. data/vendor/assets/javascripts/_carousel.js +0 -228
  151. data/vendor/assets/javascripts/_chart.js +0 -3742
  152. data/vendor/assets/javascripts/_collapse.js +0 -202
  153. data/vendor/assets/javascripts/_color_picker.js +0 -108
  154. data/vendor/assets/javascripts/_date_picker.js +0 -1650
  155. data/vendor/assets/javascripts/_dropdown.js +0 -156
  156. data/vendor/assets/javascripts/_file_input.js +0 -71
  157. data/vendor/assets/javascripts/_hoverdown.js +0 -109
  158. data/vendor/assets/javascripts/_inputmask.js +0 -341
  159. data/vendor/assets/javascripts/_loader.js +0 -361
  160. data/vendor/assets/javascripts/_map.js +0 -2401
  161. data/vendor/assets/javascripts/_popover.js +0 -99
  162. data/vendor/assets/javascripts/_scrollspy.js +0 -163
  163. data/vendor/assets/javascripts/_slider.js +0 -1572
  164. data/vendor/assets/javascripts/_sort.js +0 -1432
  165. data/vendor/assets/javascripts/_swoggle.js +0 -415
  166. data/vendor/assets/javascripts/_tab.js +0 -146
  167. data/vendor/assets/javascripts/_tablespy.js +0 -1883
  168. data/vendor/assets/javascripts/_time_ago.js +0 -206
  169. data/vendor/assets/javascripts/_time_picker.js +0 -1088
  170. data/vendor/assets/javascripts/_tooltip.js +0 -504
  171. data/vendor/assets/javascripts/_transition.js +0 -50
  172. data/vendor/assets/javascripts/_typeahead.js +0 -366
  173. data/vendor/assets/stylesheets/_ad.scss +0 -63
  174. data/vendor/assets/stylesheets/_affix.scss +0 -14
  175. data/vendor/assets/stylesheets/_alert.scss +0 -114
  176. data/vendor/assets/stylesheets/_animation.scss +0 -1370
  177. data/vendor/assets/stylesheets/_breadcrumb.scss +0 -100
  178. data/vendor/assets/stylesheets/_button.scss +0 -386
  179. data/vendor/assets/stylesheets/_canvas.scss +0 -182
  180. data/vendor/assets/stylesheets/_carousel.scss +0 -158
  181. data/vendor/assets/stylesheets/_chart.scss +0 -15
  182. data/vendor/assets/stylesheets/_code.scss +0 -150
  183. data/vendor/assets/stylesheets/_collapse.scss +0 -14
  184. data/vendor/assets/stylesheets/_color.scss +0 -55
  185. data/vendor/assets/stylesheets/_colorpicker.scss +0 -63
  186. data/vendor/assets/stylesheets/_datepicker.scss +0 -122
  187. data/vendor/assets/stylesheets/_dropdown.scss +0 -248
  188. data/vendor/assets/stylesheets/_footer.scss +0 -71
  189. data/vendor/assets/stylesheets/_form.scss +0 -661
  190. data/vendor/assets/stylesheets/_grid.scss +0 -184
  191. data/vendor/assets/stylesheets/_header.scss +0 -156
  192. data/vendor/assets/stylesheets/_icon.scss +0 -362
  193. data/vendor/assets/stylesheets/_image.scss +0 -33
  194. data/vendor/assets/stylesheets/_label_and_badge.scss +0 -104
  195. data/vendor/assets/stylesheets/_link.scss +0 -55
  196. data/vendor/assets/stylesheets/_list.scss +0 -122
  197. data/vendor/assets/stylesheets/_loader.scss +0 -71
  198. data/vendor/assets/stylesheets/_map.scss +0 -44
  199. data/vendor/assets/stylesheets/_missive.scss +0 -74
  200. data/vendor/assets/stylesheets/_modal.scss +0 -204
  201. data/vendor/assets/stylesheets/_nav_and_tab.scss +0 -230
  202. data/vendor/assets/stylesheets/_navbar.scss +0 -73
  203. data/vendor/assets/stylesheets/_pagination.scss +0 -79
  204. data/vendor/assets/stylesheets/_panel.scss +0 -80
  205. data/vendor/assets/stylesheets/_placeholder.scss +0 -63
  206. data/vendor/assets/stylesheets/_popover.scss +0 -128
  207. data/vendor/assets/stylesheets/_progress.scss +0 -86
  208. data/vendor/assets/stylesheets/_reset.scss +0 -140
  209. data/vendor/assets/stylesheets/_sidebar.scss +0 -148
  210. data/vendor/assets/stylesheets/_slider.scss +0 -151
  211. data/vendor/assets/stylesheets/_spinner.scss +0 -572
  212. data/vendor/assets/stylesheets/_subheader.scss +0 -112
  213. data/vendor/assets/stylesheets/_swoggle.scss +0 -120
  214. data/vendor/assets/stylesheets/_table.scss +0 -210
  215. data/vendor/assets/stylesheets/_timepicker.scss +0 -77
  216. data/vendor/assets/stylesheets/_toolbar.scss +0 -130
  217. data/vendor/assets/stylesheets/_tooltip.scss +0 -105
  218. data/vendor/assets/stylesheets/_transition.scss +0 -11
  219. data/vendor/assets/stylesheets/_trunk.scss +0 -147
  220. data/vendor/assets/stylesheets/_typeahead.scss +0 -18
  221. data/vendor/assets/stylesheets/_typography.scss +0 -233
@@ -0,0 +1,508 @@
1
+ // Table of Contents
2
+ // ==================================================
3
+ // Reset
4
+ // Inputs
5
+ // Selects
6
+ // Checkboxes & Radios
7
+ // Notes
8
+ // Labels
9
+ // Addons
10
+
11
+ // scss-lint:disable NestingDepth
12
+ // scss-lint:disable SelectorDepth
13
+
14
+ // Reset
15
+ // ==================================================
16
+ ::-webkit-file-upload-button { @include appearance(button); }
17
+ ::-webkit-input-placeholder {
18
+ color: color(gray);
19
+ font-weight: 300;
20
+ }
21
+ ::-moz-placeholder {
22
+ color: color(gray);
23
+ font-weight: 300;
24
+ }
25
+ :-ms-input-placeholder {
26
+ color: color(gray);
27
+ font-weight: 300;
28
+ }
29
+ fieldset,
30
+ legend { border: 0; }
31
+ legend {
32
+ border-bottom: 1px solid color(dark-haze);
33
+ box-sizing: border-box;
34
+ display: table;
35
+ max-width: 100%;
36
+ margin: 0 0 10px;
37
+ padding: 0 0 10px;
38
+ white-space: normal;
39
+ }
40
+ button,
41
+ input { overflow: visible; }
42
+ optgroup { font-weight: text-weight(semibold); }
43
+ input,
44
+ select,
45
+ textarea {
46
+ @include appearance(none);
47
+ @include transition(all 0.3s ease-in-out);
48
+ background: color(white);
49
+ border: 1px solid color(dark-haze);
50
+ border-radius: border-radius(b);
51
+ box-sizing: border-box;
52
+ display: block;
53
+ line-height: 1;
54
+ margin-bottom: 10px;
55
+ padding: 7px 15px;
56
+ width: 100%;
57
+ vertical-align: middle;
58
+
59
+ &:focus { border-color: color(blue); }
60
+ &:focus:invalid { border-color: color(red); }
61
+ &[disabled] { background: color(light-haze); }
62
+
63
+ &.dark {
64
+ &[disabled] { background: color(light-black); }
65
+ }
66
+ &.light {
67
+ &[disabled] { background: color(haze); }
68
+ }
69
+ }
70
+ input {
71
+ &::-webkit-input-placeholder { line-height: 24px; }
72
+ &::-moz-placeholder { line-height: 24px; }
73
+ &:-ms-input-placeholder { line-height: 24px; }
74
+ }
75
+ input[type='number']::-webkit-inner-spin-button,
76
+ input[type='number']::-webkit-outer-spin-button { height: auto; }
77
+ input[type='search'] {
78
+ @include appearance(textfield);
79
+ outline-offset: -2px;
80
+ }
81
+ input[type='search']::-webkit-search-cancel-button,
82
+ input[type='search']::-webkit-search-decoration { @include appearance(none); }
83
+ label {
84
+ display: inline-block;
85
+ font-weight: text-weight(semibold);
86
+ line-height: 1;
87
+ margin-bottom: 5px;
88
+ }
89
+ select {
90
+ padding: 11px 15px;
91
+
92
+ [multiple],
93
+ [size] { height: auto; }
94
+ }
95
+ textarea {
96
+ height: 140px;
97
+ overflow: auto;
98
+
99
+ &::-webkit-input-placeholder { line-height: 1; }
100
+ &::-moz-placeholder { line-height: 1; }
101
+ &:-ms-input-placeholder { line-height: 1; }
102
+ }
103
+
104
+ // Inputs
105
+ // ==================================================
106
+ .form-input {
107
+ border-color: color(dark-haze);
108
+ vertical-align: middle;
109
+
110
+ &.form-size-l,
111
+ &.form-size-m {
112
+ input,
113
+ textarea { font-size: text-size(l); }
114
+
115
+ input {
116
+ &::-webkit-input-placeholder { line-height: 30px; }
117
+ &::-moz-placeholder { line-height: 30px; }
118
+ &:-ms-input-placeholder { line-height: 30px; }
119
+ }
120
+
121
+ }
122
+ &.form-size-l {
123
+ input,
124
+ textarea { padding: 14px 20px 15px; }
125
+ textarea { height: 197px; }
126
+
127
+ &.form-height-m {
128
+ textarea { height: 266px; }
129
+ }
130
+ &.form-height-s {
131
+ textarea { height: 128px; }
132
+ }
133
+ }
134
+ &.form-size-m {
135
+ input,
136
+ textarea { padding: 10px 20px 11px; }
137
+ textarea { height: 173px; }
138
+
139
+ &.form-height-m {
140
+ textarea { height: 234px; }
141
+ }
142
+ &.form-height-s {
143
+ textarea { height: 112px; }
144
+ }
145
+ }
146
+ &.form-size-s {
147
+ input,
148
+ textarea {
149
+ font-size: text-size(s);
150
+ margin-bottom: 5px;
151
+ padding: 4px 10px;
152
+ }
153
+ input {
154
+ &::-webkit-input-placeholder { line-height: 20px; }
155
+ &::-moz-placeholder { line-height: 20px; }
156
+ &:-ms-input-placeholder { line-height: 20px; }
157
+ }
158
+ textarea { height: 103px; }
159
+
160
+ &.form-height-m {
161
+ textarea { height: 139px; }
162
+ }
163
+ &.form-height-s {
164
+ textarea { height: 67px; }
165
+ }
166
+ }
167
+ &.form-height-m {
168
+ textarea { height: 190px; }
169
+ }
170
+ &.form-height-s {
171
+ textarea { height: 90px; }
172
+ }
173
+ &.form-width-l {
174
+ input,
175
+ textarea { width: 175px; }
176
+ }
177
+ &.form-width-m {
178
+ input,
179
+ textarea { width: 125px; }
180
+ }
181
+ &.form-width-b {
182
+ input,
183
+ textarea { width: 100px; }
184
+ }
185
+ &.form-width-s {
186
+ input,
187
+ textarea { width: 75px; }
188
+ }
189
+ &.form-style-inline {
190
+ display: inline-block;
191
+ width: auto;
192
+
193
+ input,
194
+ textarea {
195
+ display: inherit;
196
+ width: inherit;
197
+ }
198
+ }
199
+ }
200
+
201
+ // Selects
202
+ // ==================================================
203
+ .form-select {
204
+ display: block;
205
+ position: relative;
206
+ vertical-align: middle;
207
+ width: 100%;
208
+
209
+ &::after {
210
+ content: '\54';
211
+ font-family: 'dripicons';
212
+ font-size: text-size(m);
213
+ line-height: 1;
214
+ margin-top: -8px;
215
+ pointer-events: none;
216
+ position: absolute;
217
+ right: 15px;
218
+ top: 50%;
219
+ }
220
+ &.form-size-l,
221
+ &.form-size-m {
222
+ select { font-size: text-size(l); }
223
+
224
+ &::after {
225
+ font-size: text-size(l);
226
+ margin-top: -9px;
227
+ right: 20px;
228
+ }
229
+ }
230
+ &.form-size-l {
231
+ select { padding: 19px 20px 20px; }
232
+ }
233
+ &.form-size-m {
234
+ select { padding: 15px 20px 16px; }
235
+ }
236
+ &.form-size-s {
237
+ select {
238
+ font-size: text-size(s);
239
+ margin-bottom: 5px;
240
+ padding: 7px 10px 8px;
241
+ }
242
+
243
+ &::after {
244
+ font-size: text-size(s);
245
+ margin-top: -7px;
246
+ right: 10px;
247
+ }
248
+ }
249
+ &.form-width-l {
250
+ select { width: 175px; }
251
+ }
252
+ &.form-width-m {
253
+ select { width: 125px; }
254
+ }
255
+ &.form-width-b {
256
+ select { width: 100px; }
257
+ }
258
+ &.form-width-s {
259
+ select { width: 75px; }
260
+ }
261
+ &.form-style-inline {
262
+ display: inline-block;
263
+ width: auto;
264
+
265
+ select {
266
+ display: inherit;
267
+ width: inherit;
268
+ }
269
+
270
+ &::after { display: none; }
271
+ }
272
+ }
273
+
274
+ // Checkboxes & Radios
275
+ // ==================================================
276
+ .form-checkbox,
277
+ .form-radio {
278
+ background: color(white);
279
+ border: 1px solid;
280
+ border-color: color(dark-haze);
281
+ border-radius: border-radius(b);
282
+ display: inline-block;
283
+ height: 18px;
284
+ line-height: 18px;
285
+ position: relative;
286
+ width: 18px;
287
+
288
+ label {
289
+ @include transition(all 0.3s ease-in-out);
290
+ border: 1px solid;
291
+ border-color: inherit;
292
+ border-radius: inherit;
293
+ color: color(transparent);
294
+ cursor: pointer;
295
+ height: 100%;
296
+ line-height: inherit;
297
+ margin: -3px 0 0 -1px;
298
+ position: absolute;
299
+ text-align: center;
300
+ width: 100%;
301
+
302
+ &:hover { background: color(haze); }
303
+ }
304
+ input[type='checkbox'],
305
+ input[type='radio'] {
306
+ margin: 0;
307
+ padding: 0;
308
+ visibility: hidden;
309
+
310
+ &:checked + label {
311
+ background: color(green);
312
+ border-color: color(green);
313
+ color: color(white);
314
+ }
315
+ }
316
+
317
+ &.form-size-l {
318
+ height: 26px;
319
+ line-height: 26px;
320
+ width: 26px;
321
+ }
322
+ &.form-size-m {
323
+ height: 22px;
324
+ line-height: 22px;
325
+ width: 22px;
326
+ }
327
+ &.form-size-s {
328
+ height: 14px;
329
+ line-height: 14px;
330
+ width: 14px;
331
+ }
332
+ &.dark {
333
+ background: color(dark-black);
334
+
335
+ label { background: color(black); }
336
+ }
337
+ &.light {
338
+ label { background: color(haze); }
339
+ }
340
+ }
341
+ .form-radio { border-radius: border-radius(xl); }
342
+
343
+ // Notes
344
+ // ==================================================
345
+ .form-note {
346
+ color: color(gray);
347
+ display: block;
348
+ font-size: text-size(xs);
349
+ font-style: italic;
350
+ margin: -10px 0 10px;
351
+ }
352
+
353
+ // Labels
354
+ // ==================================================
355
+ .form-input,
356
+ .form-select,
357
+ .form-checkbox,
358
+ .form-radio {
359
+ &.form-size-l,
360
+ &.form-size-m {
361
+ label { font-size: text-size(m); }
362
+ }
363
+ &.form-size-s {
364
+ label { font-size: text-size(s); }
365
+ }
366
+ }
367
+ .with-floating-label {
368
+ position: relative;
369
+ vertical-align: top;
370
+
371
+ label {
372
+ @include transition(all 0.3s ease-in-out);
373
+ font-size: text-size(xxs);
374
+ font-weight: text-weight(bold);
375
+ left: 18px;
376
+ margin: 2px 0 0;
377
+ opacity: 0;
378
+ position: absolute;
379
+ top: 20px;
380
+ }
381
+ &.form-size-l,
382
+ &.form-size-m {
383
+ label {
384
+ font-size: text-size(xs);
385
+ left: 22px;
386
+ margin-top: 3px;
387
+ }
388
+ }
389
+ &.form-size-s {
390
+ label {
391
+ font-size: text-size(xxxs);
392
+ left: 12px;
393
+ margin-top: 1px;
394
+ }
395
+ }
396
+ input,
397
+ textarea,
398
+ select {
399
+ &:focus + label {
400
+ opacity: 1;
401
+ top: 0;
402
+ }
403
+ }
404
+ }
405
+
406
+ // Addons
407
+ // ==================================================
408
+ .with-form-addons {
409
+ border-collapse: separate;
410
+ border-spacing: 0;
411
+ display: table;
412
+ position: relative;
413
+ width: 100%;
414
+
415
+ input,
416
+ select,
417
+ .btn,
418
+ .form-addon {
419
+ border-radius: 0;
420
+ box-sizing: border-box;
421
+ display: table-cell;
422
+ margin: 0;
423
+ vertical-align: middle;
424
+ }
425
+
426
+ .btn {
427
+ padding-left: 10px;
428
+ padding-right: 10px;
429
+ }
430
+
431
+ .form-addon {
432
+ border-style: solid;
433
+ border-width: 1px;
434
+ line-height: 1;
435
+ min-width: 40px;
436
+ padding: 0 10px;
437
+ text-align: center;
438
+ white-space: nowrap;
439
+ width: 1%;
440
+
441
+ &.dark { border-color: color(dark-black); }
442
+
443
+ i {
444
+ display: inline-block;
445
+ margin-top: -2px;
446
+ }
447
+
448
+ .form-checkbox,
449
+ .form-radio { border: 0; }
450
+
451
+ .form-checkbox {
452
+ border-radius: border-radius(b);
453
+
454
+ label,
455
+ label::after { border-radius: border-radius(s); }
456
+ }
457
+
458
+ .form-radio {
459
+ border-radius: border-radius(xl);
460
+
461
+ label,
462
+ label::after { border-radius: border-radius(xl); }
463
+ }
464
+ }
465
+
466
+ *:first-child {
467
+ border-bottom-left-radius: border-radius(b);
468
+ border-top-left-radius: border-radius(b);
469
+ }
470
+ *:last-child {
471
+ border-bottom-right-radius: border-radius(b);
472
+ border-top-right-radius: border-radius(b);
473
+ }
474
+ *:not(:last-child) { border-right: 0; }
475
+
476
+ &.form-size-l {
477
+ .form-addon {
478
+ font-size: text-size(l);
479
+ min-width: 60px;
480
+ }
481
+ }
482
+ &.form-size-m {
483
+ .form-addon {
484
+ font-size: text-size(m);
485
+ min-width: 50px;
486
+ }
487
+
488
+ i { margin-top: 2px; }
489
+ }
490
+ &.form-size-s {
491
+ .form-addon {
492
+ font-size: text-size(s);
493
+ min-width: 30px;
494
+
495
+ .color-picker {
496
+ .dropmenu { margin-left: -7px; }
497
+ .swatch.active {
498
+ height: 19px;
499
+ width: 19px;
500
+ }
501
+ }
502
+ }
503
+
504
+ i { font-size: text-size(s); }
505
+ input,
506
+ select { margin-bottom: 0; }
507
+ }
508
+ }