form-jekyll 0.3.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 (40) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +83 -0
  3. data/_includes/elements/helptext.html +3 -0
  4. data/_includes/elements/label.html +1 -0
  5. data/_includes/fields/address.html +41 -0
  6. data/_includes/fields/checkbox.html +27 -0
  7. data/_includes/fields/email.html +12 -0
  8. data/_includes/fields/file.html +14 -0
  9. data/_includes/fields/group.html +3 -0
  10. data/_includes/fields/header.html +3 -0
  11. data/_includes/fields/link.html +6 -0
  12. data/_includes/fields/number.html +20 -0
  13. data/_includes/fields/paragraph.html +1 -0
  14. data/_includes/fields/phone.html +14 -0
  15. data/_includes/fields/price.html +16 -0
  16. data/_includes/fields/radio.html +34 -0
  17. data/_includes/fields/select.html +15 -0
  18. data/_includes/fields/text.html +18 -0
  19. data/_includes/fields/textarea.html +12 -0
  20. data/_includes/pagination.html +14 -0
  21. data/_includes/render_field.html +55 -0
  22. data/_includes/render_form.html +34 -0
  23. data/_includes/sfgov/alpha-banner.html +7 -0
  24. data/_includes/sfgov/footer.html +49 -0
  25. data/_includes/sfgov/header.html +47 -0
  26. data/_layouts/default.html +59 -0
  27. data/_sass/sfgov.scss +471 -0
  28. data/_sass/variables.scss +462 -0
  29. data/assets/css/main.scss +886 -0
  30. data/assets/css/style.scss +146 -0
  31. data/assets/favicon.ico +0 -0
  32. data/assets/images/globe-blue.svg +1 -0
  33. data/assets/images/logo-white.svg +100 -0
  34. data/assets/images/logo.svg +1 -0
  35. data/assets/images/settings-toggle.svg +3 -0
  36. data/assets/images/sfgov.svg +8 -0
  37. data/assets/js/jquery.js +2 -0
  38. data/assets/js/script.js +187 -0
  39. data/assets/js/validator.js +9 -0
  40. metadata +129 -0
@@ -0,0 +1,462 @@
1
+ // Color variables
2
+
3
+ $black: #212123;
4
+ $white: #FFFFFF;
5
+ $dark-blue: #0C1464;
6
+ $slate-blue: #1C3E57;
7
+ $bright-blue: #4F66EE;
8
+
9
+ $red-1: #F5E9E5;
10
+ $red-2: #EFCABB;
11
+ $red-3: #C9563A;
12
+ $red-4: #BC4427;
13
+
14
+ $yellow-1: #F8F1DF;
15
+ $yellow-2: #F9E3A3;
16
+ $yellow-3: #F4C435;
17
+ $yellow-4: #E7B22E;
18
+
19
+ $green-1: #E9F7EC;
20
+ $green-2: #C0E2C5;
21
+ $green-3: #00896D;
22
+ $green-4: #1B674D;
23
+
24
+ $blue-1: #EDF4F7;
25
+ $blue-2: #A9D6EA;
26
+
27
+ $purple-1: #EDEBF6;
28
+ $purple-2: #CCCCED;
29
+ $purple-3: #8266BC;
30
+ $purple-4: #5D4099;
31
+
32
+ $grey-1: #f8f8f8;
33
+ $grey-2: #f1f1f1;
34
+ $grey-3: #e9e9e9;
35
+ $grey-4: #d3d3d3;
36
+ $grey-5: #323a45;
37
+
38
+ // Measurements
39
+
40
+ $radius: 8px;
41
+ $base-font-size: 16;
42
+ $t-light: 300;
43
+ $t-normal: 400;
44
+ $t-medium: 500;
45
+ $t-bold: 500;
46
+
47
+ $not-big: 768px;
48
+ $big: 1280px;
49
+
50
+ $z-menu-mobile: 200;
51
+ $z-menu-mobile-close: 300;
52
+ $z-search-input-clear: 300;
53
+
54
+ // @todo prefix breakpoints with $bp-
55
+ $tiny-screen: 320px;
56
+ $mobile-screen: 700px;
57
+ $medium-screen: 768px;
58
+ $narrow-screen: 950px;
59
+ $wide-screen: 1280px;
60
+
61
+ $breakpointz: (
62
+ 'not-big': $not-big,
63
+ 'big': $big
64
+ ) !default;
65
+
66
+ @mixin clearfix {
67
+ &::after,
68
+ &::before {
69
+ content: '';
70
+ display: table;
71
+ }
72
+ &::after {
73
+ clear: both;
74
+ }
75
+ }
76
+
77
+ @mixin visually-hidden {
78
+ clip: rect(1px, 1px, 1px, 1px);
79
+ width: 1px;
80
+ height: 1px;
81
+ word-wrap: normal;
82
+ overflow: hidden;
83
+ position: absolute !important;
84
+ }
85
+
86
+ .visually-hidden {
87
+ @include visually-hidden;
88
+ }
89
+
90
+ @mixin link-colors($normal, $hover: false, $active: false, $visited: false, $focus: false) {
91
+ &:link {
92
+ color: $normal;
93
+ }
94
+
95
+ @if $visited {
96
+ &:visited,
97
+ &:link:visited {
98
+ color: $visited;
99
+ }
100
+ }
101
+
102
+ @else {
103
+ &:visited,
104
+ &:link:visited {
105
+ color: $normal;
106
+ }
107
+ }
108
+
109
+ @if $focus {
110
+ &:focus {
111
+ color: $focus;
112
+ }
113
+ }
114
+
115
+ @else {
116
+ &:focus {
117
+ color: $normal;
118
+ }
119
+ }
120
+
121
+ @if $hover {
122
+ &.active:hover,
123
+ &.is-active:hover,
124
+ &.active-trail:hover,
125
+ &.visited:hover,
126
+ &:hover {
127
+ color: $hover;
128
+ }
129
+ }
130
+
131
+ @if $active {
132
+ &.is-active,
133
+ &:active,
134
+ &.active-trail {
135
+ color: $active;
136
+ }
137
+ }
138
+
139
+ @else {
140
+ &.is-active,
141
+ &:active,
142
+ &.active-trail {
143
+ color: $normal;
144
+ }
145
+ }
146
+ }
147
+
148
+ @mixin media($bp) {
149
+ @media screen and (min-width: #{$bp}) {
150
+ @content;
151
+ }
152
+ }
153
+
154
+ @mixin media-max($bp) {
155
+ @media screen and (max-width: #{$bp}) {
156
+ @content;
157
+ }
158
+ }
159
+
160
+ @mixin rubik {
161
+ font-family: "Rubik", sans-serif;
162
+ }
163
+
164
+ @mixin background-image($file-name, $position: 50% 50%, $color: transparent) {
165
+ background: url('/assets/images/#{$file-name}') no-repeat $position $color;
166
+ }
167
+
168
+ @mixin less-than($breakpoint) {
169
+ @if map-has-key($breakpointz, $breakpoint) {
170
+ @media (max-width: map-get($breakpointz, $breakpoint)) {
171
+ @content;
172
+ }
173
+ }
174
+ }
175
+
176
+ @mixin greater-than($breakpoint) {
177
+ @if map-has-key($breakpointz, $breakpoint) {
178
+ @media (min-width: map-get($breakpointz, $breakpoint)) {
179
+ @content;
180
+ }
181
+ }
182
+ }
183
+
184
+ @mixin contain { // @todo Deprecate this mixin.
185
+ margin: 0 auto;
186
+ max-width: 1276px;
187
+ padding-left: 20px;
188
+ padding-right: 20px;
189
+
190
+ @include media($medium-screen) {
191
+ padding-left: 96px;
192
+ padding-right: 96px;
193
+ }
194
+ }
195
+
196
+ @mixin contain-1280 { // Zeplin Artboard.
197
+ margin: 0 auto;
198
+ max-width: 1280px;
199
+ width: 100%;
200
+ }
201
+
202
+ @mixin contain-1210 { // Para titles.
203
+ margin: 0 auto;
204
+ max-width: 1210px;
205
+ padding-left: 20px;
206
+ padding-right: 20px;
207
+ width: 100%;
208
+
209
+ @include media($wide-screen) {
210
+ padding: 0;
211
+ }
212
+ }
213
+
214
+ @mixin contain-1150 { // Contents with offset.
215
+ margin: 0 auto;
216
+ max-width: 1210px;
217
+ padding-left: 20px;
218
+ padding-right: 20px;
219
+ width: 100%;
220
+
221
+ @include media($wide-screen) {
222
+ padding: 0 60px 0 0;
223
+ }
224
+ }
225
+
226
+ @mixin contain-1090-table { // Match 1090 spacing when a 3-column table is the child.
227
+ margin: 0 auto;
228
+ max-width: 1130px;
229
+ padding-left: 20px;
230
+ padding-right: 20px;
231
+ width: 100%;
232
+
233
+ @include media($medium-screen) {
234
+ padding: 0;
235
+ }
236
+ }
237
+
238
+ @mixin contain-1090 { // Most contents.
239
+ margin: 0 auto;
240
+ max-width: 1090px;
241
+ padding-left: 20px;
242
+ padding-right: 20px;
243
+ width: 100%;
244
+
245
+ @include media($wide-screen) {
246
+ padding: 0;
247
+ }
248
+ }
249
+
250
+
251
+ @mixin fs-display-1 {
252
+ font-size: 72px;
253
+ font-weight: $t-light;
254
+ letter-spacing: -2px;
255
+ line-height: 80.2px;
256
+ }
257
+
258
+ @mixin fs-title-1 {
259
+ font-size: 62px;
260
+ font-weight: $t-medium;
261
+ letter-spacing: 0;
262
+ line-height: 70px;
263
+ }
264
+
265
+ @mixin fs-header-title-2 {
266
+ font-size: 50px;
267
+ font-weight: $t-light;
268
+ letter-spacing: 0;
269
+ line-height: 59px;
270
+ }
271
+
272
+ @mixin fs-display-1-mobile {
273
+ font-size: 42px;
274
+ font-weight: $t-light;
275
+ letter-spacing: 0;
276
+ line-height: 43px;
277
+ }
278
+
279
+ @mixin fs-title-2 {
280
+ font-size: 40px;
281
+ font-weight: $t-medium;
282
+ line-height: 47px;
283
+ }
284
+
285
+ @mixin fs-title-1-mobile {
286
+ font-size: 33px;
287
+ font-weight: $t-medium;
288
+ line-height: 43px;
289
+ }
290
+
291
+ @mixin fs-big-description {
292
+ font-size: 24px;
293
+ font-weight: $t-normal;
294
+ line-height: 36px;
295
+ }
296
+
297
+ @mixin fs-title-5 {
298
+ font-size: 20px;
299
+ font-weight: $t-medium;
300
+ line-height: 27px;
301
+ }
302
+
303
+ @mixin fs-body-bold {
304
+ font-size: 17px;
305
+ font-weight: $t-medium;
306
+ line-height: 24px;
307
+ }
308
+
309
+ @mixin fs-body-short {
310
+ font-size: 17px;
311
+ font-weight: $t-normal;
312
+ line-height: 24px;
313
+ }
314
+
315
+ @mixin fs-body-long {
316
+ font-size: 17px;
317
+ font-weight: $t-normal;
318
+ line-height: 28px;
319
+ }
320
+
321
+ @mixin fs-title-3 {
322
+ font-size: 30px;
323
+ font-weight: $t-medium;
324
+ line-height: 42px;
325
+ }
326
+
327
+ @mixin fs-big-description-mobile {
328
+ font-size: 20px;
329
+ font-weight: $t-normal;
330
+ line-height: 29px;
331
+ }
332
+
333
+ @mixin fs-title-3-mobile {
334
+ font-size: 24px;
335
+ font-weight: $t-medium;
336
+ line-height: 30px;
337
+ }
338
+
339
+ @mixin fs-title-4 {
340
+ font-size: 24px;
341
+ font-weight: $t-normal;
342
+ line-height: 34px;
343
+ }
344
+
345
+ @mixin fs-title-3-mobile {
346
+ font-size: 24px;
347
+ font-weight: $t-medium;
348
+ line-height: 30px;
349
+ }
350
+
351
+ @mixin fs-small-text {
352
+ font-size: 14px;
353
+ font-weight: $t-normal;
354
+ line-height: 18px;
355
+ }
356
+
357
+ // Styles from older Zeplin file to deprecate.
358
+ // https://app.zeplin.io/project/5ccb490a87477603a8753db7/styleguide
359
+
360
+ @mixin fs-h1-small {
361
+ font-size: 33px;
362
+ font-weight: $t-medium;
363
+ letter-spacing: -.3px;
364
+ line-height: 43px;
365
+ }
366
+
367
+ @mixin fs-display-1-mobile {
368
+ font-size: 33px;
369
+ font-weight: $t-light;
370
+ letter-spacing: 0;
371
+ line-height: 39px;
372
+ }
373
+
374
+ @mixin fs-pull-small {
375
+ font-size: 20px;
376
+ font-weight: $t-medium;
377
+ line-height: 34px;
378
+ }
379
+
380
+ @mixin fs-pull-large {
381
+ font-size: 20px;
382
+ font-weight: $t-medium;
383
+ line-height: 32px;
384
+ }
385
+
386
+ @mixin fs-news-title {
387
+ font-size: 20px;
388
+ font-weight: $t-medium;
389
+ line-height: 30px;
390
+ }
391
+
392
+ @mixin fs-new-website-text {
393
+ font-size: 20px;
394
+ font-weight: $t-normal;
395
+ line-height: 28px;
396
+ }
397
+
398
+ @mixin fs-title-right {
399
+ font-size: 20px;
400
+ font-weight: $t-medium;
401
+ line-height: 24px;
402
+ }
403
+
404
+ @mixin fs-big-link {
405
+ font-size: 20px;
406
+ font-weight: $t-medium;
407
+ line-height: 27px;
408
+ }
409
+
410
+ @mixin fs-body-3 {
411
+ font-size: 17px;
412
+ font-weight: $t-normal;
413
+ line-height: 28.9px;
414
+ }
415
+
416
+ @mixin fs-title {
417
+ font-size: 17px;
418
+ font-weight: $t-medium;
419
+ line-height: 24px;
420
+ text-decoration: underline;
421
+ }
422
+
423
+ @mixin fs-nav-link {
424
+ font-size: 17px;
425
+ font-weight: $t-medium;
426
+ line-height: 20px;
427
+ }
428
+
429
+ @mixin fs-news-type {
430
+ font-size: 16px;
431
+ font-weight: $t-bold;
432
+ line-height: 28px;
433
+ }
434
+
435
+ // Complex mixins.
436
+ @mixin fs-h1 {
437
+ @include fs-h1-small;
438
+ @include media($medium-screen) {
439
+ @include fs-title-1;
440
+ }
441
+ }
442
+
443
+ @mixin fs-h1-default {
444
+ @include fs-display-1-mobile;
445
+ @include media($medium-screen) {
446
+ @include fs-display-1;
447
+ }
448
+ }
449
+
450
+ @mixin fs-h1-home {
451
+ @include fs-display-1-mobile;
452
+ @include media($medium-screen) {
453
+ @include fs-display-1;
454
+ }
455
+ }
456
+
457
+ @mixin fs-pull {
458
+ @include fs-pull-small;
459
+ @include media($medium-screen) {
460
+ @include fs-pull-large;
461
+ }
462
+ }