lay_me_out 1.2.8

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 (52) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +172 -0
  3. data/Rakefile +89 -0
  4. data/app/assets/images/lay_me_out/crumb-arrows.png +0 -0
  5. data/app/assets/images/lay_me_out/favicon.ico +0 -0
  6. data/app/assets/images/lay_me_out/header-background.png +0 -0
  7. data/app/assets/images/lay_me_out/main-background.png +0 -0
  8. data/app/assets/images/lay_me_out/missing_profile.png +0 -0
  9. data/app/assets/images/lay_me_out/payroll-hero-logo-light.png +0 -0
  10. data/app/assets/images/lay_me_out/ph-logo.png +0 -0
  11. data/app/assets/javascripts/lay_me_out.js +18 -0
  12. data/app/assets/javascripts/lay_me_out/application-config.js +3 -0
  13. data/app/assets/javascripts/lay_me_out/navigation.js +29 -0
  14. data/app/assets/javascripts/lay_me_out/user_profile.js +25 -0
  15. data/app/assets/javascripts/lay_me_out/utils/flash-message.js +68 -0
  16. data/app/assets/javascripts/lay_me_out/utils/namespace.js +17 -0
  17. data/app/assets/stylesheets/lay_me_out.css +15 -0
  18. data/app/assets/stylesheets/lay_me_out/buttons.css.scss +55 -0
  19. data/app/assets/stylesheets/lay_me_out/colors.css.scss +31 -0
  20. data/app/assets/stylesheets/lay_me_out/flash.css.scss +40 -0
  21. data/app/assets/stylesheets/lay_me_out/flash_mobile.css.scss +7 -0
  22. data/app/assets/stylesheets/lay_me_out/forms.css.scss +79 -0
  23. data/app/assets/stylesheets/lay_me_out/headers.css.scss +50 -0
  24. data/app/assets/stylesheets/lay_me_out/layout.css.scss +377 -0
  25. data/app/assets/stylesheets/lay_me_out/mixins.css.scss +5 -0
  26. data/app/assets/stylesheets/lay_me_out/reset.css.scss +37 -0
  27. data/app/assets/stylesheets/lay_me_out/side_menu.css.scss +32 -0
  28. data/app/assets/stylesheets/lay_me_out/simple.css.scss +96 -0
  29. data/app/assets/stylesheets/lay_me_out/simple_mobile.css.scss +112 -0
  30. data/app/assets/stylesheets/lay_me_out/tables.css.scss +39 -0
  31. data/app/assets/stylesheets/lay_me_out/text.css.scss +3 -0
  32. data/app/controllers/lay_me_out/styleguide_controller.rb +11 -0
  33. data/app/helpers/lay_me_out/application_helper.rb +49 -0
  34. data/app/models/lay_me_out/user_details.rb +20 -0
  35. data/app/views/lay_me_out/common/_flash.html.haml +14 -0
  36. data/app/views/lay_me_out/common/_flash.mustache.haml +3 -0
  37. data/app/views/lay_me_out/common/_navigation.html.haml +12 -0
  38. data/app/views/lay_me_out/common/_segment_io.html.haml +3 -0
  39. data/app/views/lay_me_out/common/_user_profile.html.haml +12 -0
  40. data/app/views/lay_me_out/styleguide/index.html.haml +1786 -0
  41. data/app/views/layouts/lay_me_out/application.html.haml +47 -0
  42. data/app/views/layouts/lay_me_out/simple.html.haml +42 -0
  43. data/config/routes.rb +3 -0
  44. data/lib/lay_me_out.rb +18 -0
  45. data/lib/lay_me_out/breadcrumb_builder.rb +46 -0
  46. data/lib/lay_me_out/controllers/layout.rb +13 -0
  47. data/lib/lay_me_out/controllers/navigation.rb +36 -0
  48. data/lib/lay_me_out/engine.rb +12 -0
  49. data/lib/lay_me_out/segment_io.rb +20 -0
  50. data/lib/lay_me_out/version.rb +3 -0
  51. data/lib/tasks/lay_me_out_tasks.rake +4 -0
  52. metadata +276 -0
@@ -0,0 +1,15 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the top of the
9
+ * compiled file, but it's generally better to create a new file per style scope.
10
+ *
11
+ *= require lay_me_out/reset
12
+ *= require_self
13
+ *= require font-awesome
14
+ *= require_tree ./lay_me_out
15
+ */
@@ -0,0 +1,55 @@
1
+ @import "colors.css.scss";
2
+ @import "mixins.css.scss";
3
+
4
+ input[type="submit"],
5
+ input[type="button"],
6
+ button,
7
+ .nice-button,
8
+ {
9
+ @include background-gradient(#f8f8f8,#ededed);
10
+ padding: 7px 12px;
11
+ font-size: 12px;
12
+ font-weight: bold;
13
+ cursor: pointer;
14
+ color: #696969;
15
+ text-shadow: 1px 1px 1px #fff;
16
+ border: 1px solid rgba(0,0,0,0.15);
17
+ border-radius: 3px;
18
+
19
+ &.success-button,
20
+ &.primary-button,
21
+ &.danger-button {
22
+ box-shadow: inset 0 0 0 rgba(0,0,0,0.15),inset 0 14px 14px rgba(255,255,255,0.15),inset 0 1px 0 rgba(255,255,255,0.50);
23
+ color: #fff;
24
+ text-shadow: 0 1px 1px rgba(0,0,0,0.60);
25
+ }
26
+ }
27
+
28
+ input[type="submit"].primary-button {
29
+ background:#12598a;
30
+ }
31
+
32
+ input[type="submit"].primary-button:hover {
33
+ box-shadow: 0 0 5px rgba(0, 0, 0, 0.2), inset 0px -1px 0px rgba(0,0,0,0.15), inset 0px 14px 14px rgba(255,255,255,0.25), inset 0px 1px 0px rgba(255,255,255,0.50);
34
+ color:#fff;
35
+ }
36
+
37
+ input[type="submit"].primary-button:active{
38
+ box-shadow: inset 0px 1px 0px rgba(0,0,0,0.2);
39
+ text-shadow: 0 1px 1px rgba(0,0,0,0.40);
40
+ }
41
+
42
+ input[disabled],
43
+ input[disabled]:active,
44
+ input[disabled]:hover,
45
+ button[disabled],
46
+ button[disabled]:active,
47
+ button[disabled]:hover {
48
+ @include background-gradient(#f5f5f5, #e7e7e7);
49
+ color: $disabled-button-grey;
50
+ -webkit-transition: none;
51
+ box-shadow: none;
52
+ text-shadow: none;
53
+ cursor: not-allowed;
54
+ border: 1px solid $border-black;
55
+ }
@@ -0,0 +1,31 @@
1
+ $black: #000;
2
+ $white: #fff;
3
+
4
+ //text-colors
5
+ $text-white: #fff;
6
+ $text-white-shadow:rgba(0,0,0,0.2);
7
+ $text-blue: #2b99c7;
8
+
9
+ //heading colors
10
+ $heading-black:#2d2d2d;
11
+ $heading-blue:#2b99c7;
12
+ $heading-grey:#b3b3b3;
13
+
14
+ //side menu colors
15
+ $side-menu-background-dark:#3c3c3c;
16
+ $side-menu-background-light:#353535;
17
+ $side-menu-box-shadow:rgba(141,141,141,0.2);
18
+
19
+ //form colors
20
+ $label-light-grey:#aaa;
21
+ $input-border-grey:#d2d2d2;
22
+ $select-text-grey:#5a5a5a;
23
+
24
+ //button colors
25
+ $primary-button-navy:#12598a;
26
+ $danger-button-red:#c43c35;
27
+ $success-button-green:#57a957;
28
+ $disabled-button-grey:#aaa;
29
+
30
+ //border colors
31
+ $border-black:rgba(0,0,0,0.1);
@@ -0,0 +1,40 @@
1
+ #flash {
2
+ position: absolute;
3
+ left:0;
4
+ right:0;
5
+ margin:0 auto;
6
+ z-index:2;
7
+ pointer-events:none;
8
+
9
+ .error {
10
+ background: #fededc;
11
+ color: #696969;
12
+ border: 1px solid #eab9b6;
13
+ }
14
+
15
+ .success {
16
+ background: #defedc;
17
+ color: #696969;
18
+ border: 1px solid #b4e2b1;
19
+ }
20
+
21
+ .warning {
22
+ background: #fdf5d9;
23
+ color: #696969;
24
+ border: 1px solid #e3d8b2;
25
+ }
26
+
27
+ div {
28
+ width: 500px;
29
+ border-radius: 3px;
30
+ text-align: left;
31
+ margin: 5px auto;
32
+ padding:10px;
33
+ display:none;
34
+ pointer-events:auto;
35
+ }
36
+
37
+ p {
38
+ margin:0;
39
+ }
40
+ }
@@ -0,0 +1,7 @@
1
+ @media only
2
+ screen and (max-width: 500px)
3
+ {
4
+ #flash div {
5
+ width: 85%;
6
+ }
7
+ }
@@ -0,0 +1,79 @@
1
+ @import "colors.css.scss";
2
+
3
+ label {
4
+ display: block;
5
+ font-weight: bold;
6
+ margin: 10px 0;
7
+
8
+ span {
9
+ color: $label-light-grey;
10
+ font-weight: normal;
11
+ }
12
+ }
13
+
14
+ input[type="text"],
15
+ input[type="password"],
16
+ input[type="email"],
17
+ input[type="search"],
18
+ select,
19
+ textarea {
20
+ display: block;
21
+ margin-bottom: 20px;
22
+ border: 1px solid $input-border-grey;
23
+ font-size: 12px;
24
+ }
25
+
26
+ input[type="text"],
27
+ input[type="password"],
28
+ input[type="email"],
29
+ textarea {
30
+ background: #fff;
31
+ border-radius: 4px;
32
+ padding: 7px;
33
+ -webkit-appearance: none;
34
+ }
35
+
36
+ select {
37
+ outline: none;
38
+ color:$select-text-grey;
39
+ height: 30px;
40
+ }
41
+
42
+ input.success-button,
43
+ button.success-button {
44
+ background: $success-button-green;
45
+ }
46
+
47
+ input.danger-button,
48
+ button.danger-button {
49
+ background: $danger-button-red;
50
+ }
51
+
52
+ li [class^="icon-"], .nav li [class^="icon-"], li [class*=" icon-"], .nav li [class*=" icon-"] { width:inherit;}
53
+
54
+ [class^="icon-"]:before,
55
+ [class*=" icon-"]:before {
56
+ padding-right:5px;
57
+ }
58
+
59
+ a.font-icon {
60
+ overflow: hidden;
61
+ font-size: 17px;
62
+ width: 18px;
63
+ height: 18px;
64
+ color: #222;
65
+ opacity: .6;
66
+ display: inline-block;
67
+ vertical-align: middle;
68
+ line-height: 17px;
69
+ text-align: center;
70
+ margin-right:10px;
71
+ }
72
+
73
+ a {
74
+ color: #2b99c7;
75
+ font-weight: bold;
76
+ }
77
+ fieldset {
78
+ margin-bottom: 20px;
79
+ }
@@ -0,0 +1,50 @@
1
+ //This file contains all styling for any headers the system
2
+
3
+ @import "colors.css.scss";
4
+ @import "mixins.css.scss";
5
+
6
+ h1, h2, h3, h4, h5 {
7
+ color: $heading-black;
8
+ margin-bottom: 15px;
9
+ }
10
+
11
+ h1 {
12
+ font-size:23px;
13
+ font-weight:bold;
14
+ }
15
+
16
+ h3 {
17
+ font-size: 19px;
18
+ font-weight: bold;
19
+ color: $label-light-grey;
20
+ }
21
+
22
+ h4 {
23
+ font-size:17px;
24
+ color:$heading-blue;
25
+ border-bottom: 1px solid #ddd;
26
+ }
27
+
28
+ h5 {
29
+ font-size:15px;
30
+ }
31
+
32
+ div#side-menu h3 {
33
+ @include background-gradient($side-menu-background-dark, $side-menu-background-light);
34
+ color: $heading-grey;
35
+ font-weight: bold;
36
+ text-shadow: 0 -1px 0 black;
37
+ border-top: 1px solid $border-black;
38
+ border-left: 0;
39
+ border-bottom: 1px solid $border-black;
40
+ border-right: 0;
41
+ box-shadow: inset 0 1px 0 $side-menu-box-shadow;
42
+ margin: 0;
43
+ font-size: 12px;
44
+ height: 18px;
45
+ padding: 10px 15px 3px;
46
+
47
+ &:first-child {
48
+ border-radius: 5px 0 0 0;
49
+ }
50
+ }
@@ -0,0 +1,377 @@
1
+ @import "colors.css.scss";
2
+ @import "mixins.css.scss";
3
+
4
+ body.main {
5
+ min-width: 1000px;
6
+ -webkit-user-select: none;
7
+ user-select: none;
8
+
9
+ header {
10
+ background: image-url('lay_me_out/header-background.png') repeat-x;
11
+ height:155px;
12
+
13
+ div.tagline {
14
+ float:left;
15
+ font-size: 17px;
16
+ font-weight: lighter;
17
+ padding-left: 20px;
18
+ color: #979797;
19
+ text-shadow: 1px 1px 1px $black;
20
+ font-family: Helvetica Neue,Helvetica,Arial;
21
+ border-left: 1px solid rgba(255,255,255,0.06);
22
+ margin-left: 15px;
23
+ height:43px;
24
+
25
+ strong {
26
+ color:$text-white;
27
+ font-weight:bold;
28
+ }
29
+
30
+ p {
31
+ margin-top: 12px;
32
+ }
33
+ }
34
+
35
+
36
+ div.title-bar {
37
+ padding:30px 0 32px 0;
38
+ height:46px;
39
+ }
40
+
41
+ a#logo {
42
+ float:left;
43
+ }
44
+
45
+ div.user-profile {
46
+ float:right;
47
+ width:200px;
48
+
49
+ div {
50
+ float:left;
51
+ }
52
+
53
+ div + div {
54
+ float:right;
55
+ width:147px;
56
+ }
57
+
58
+ img {
59
+ width: 40px;
60
+ border: 2px solid #CCC;
61
+ margin-right: 7px;
62
+ border-radius: 3px;
63
+ box-shadow: 0 0 2px rgba(0,0,0,1);
64
+ }
65
+
66
+ div.drop-down,
67
+ ul.user-nav {
68
+ border: 1px solid black;
69
+ @include background-gradient(#292929, black);
70
+ border-radius: 4px;
71
+ z-index: 1;
72
+
73
+ a {
74
+ display: inline-block;
75
+ width: 95px;
76
+ font-size: 11px;
77
+ font-weight: bold;
78
+ color: #FFF;
79
+ padding: 6px 0px 6px 10px;
80
+ white-space: nowrap;
81
+ text-overflow: ellipsis;
82
+ overflow: hidden;
83
+ }
84
+ }
85
+
86
+ div.drop-down {
87
+ position:relative;
88
+ }
89
+
90
+ div.drop-down ul {
91
+ position:absolute;
92
+ }
93
+
94
+ span {
95
+ cursor: pointer;
96
+
97
+ &:after {
98
+ content:'\00a0\00a0\25be';
99
+ color:$text-white;
100
+ display:inline-block;
101
+ vertical-align:top;
102
+ padding: 5px 10px;
103
+ }
104
+ }
105
+
106
+ p {
107
+ display:inline-block;
108
+ margin: 5px 0 0 13px;
109
+ color: #AAA;
110
+ font-size: 10px;
111
+ }
112
+
113
+ ul.user-nav {
114
+ display:none;
115
+ list-style:none;
116
+ width:140px;
117
+
118
+ li:hover {
119
+ background-color:#333;
120
+ }
121
+ a {
122
+ width: 120px;
123
+ padding: 10px 10px;
124
+ }
125
+ }
126
+ }
127
+ }
128
+
129
+ footer {
130
+ overflow:auto;
131
+ margin-bottom:50px;
132
+
133
+ ul {
134
+ list-style:none;
135
+ padding-top:25px;
136
+ }
137
+
138
+ ul#footer-logo {
139
+ background: transparent image-url('lay_me_out/payroll-hero-logo-light.png') 0 0 no-repeat;
140
+ height: 45px;
141
+ padding: 25px 0 0 130px;
142
+ float:left;
143
+ margin-left:40px;
144
+ }
145
+
146
+ li {
147
+ padding-bottom:3px;
148
+ }
149
+
150
+ ul#legalese {
151
+ float:right;
152
+ margin-right:40px;
153
+
154
+ li {
155
+ display:inline-block;
156
+ }
157
+ }
158
+
159
+ li.iubenda {
160
+ vertical-align:middle;
161
+ }
162
+
163
+ li.terms-of-service, li.privacy-policy {
164
+ vertical-align:top;
165
+ background: $white;
166
+ padding: 3px 6px 4px;
167
+ font-size: 11px;
168
+ border-radius: 2px;
169
+ vertical-align: 2px;
170
+ box-shadow: 0 2px 2px rgba(0,0,0,0.1);
171
+ border: 1px solid #d0d0d0;
172
+
173
+ a {
174
+ color: #59636d;
175
+ font-weight:bold;
176
+ }
177
+
178
+ &:active {
179
+ box-shadow: inset 0 2px 4px rgba(0,0,0,0.25), 0 1px 2px rgba(0,0,0,0.05);
180
+ }
181
+ }
182
+ }
183
+
184
+ nav {
185
+ ul {
186
+ list-style: none;
187
+ }
188
+
189
+ li {
190
+ float:left;
191
+ }
192
+
193
+ a {
194
+ display: block;
195
+ }
196
+ }
197
+
198
+ nav.main > ul {
199
+ color:$text-white;
200
+ text-shadow: 0 1px 1px $text-white-shadow;
201
+ height:45px;
202
+
203
+ > li {
204
+ border-right: 1px solid #1b4f60;
205
+ }
206
+
207
+ > li + li {
208
+ border-left: 1px solid #21677e;
209
+ }
210
+
211
+ > li.active > a {
212
+ @include background-gradient(#1a5571,#205f79);
213
+ }
214
+
215
+ > li.has-sub-menu > a:after {
216
+ content:'\00a0\00a0\25be';
217
+ color:$text-white;
218
+ }
219
+
220
+ > li > a {
221
+ padding: 16px 15px;
222
+ text-align: center;
223
+ color: #d5e1e7;
224
+ font-weight: bold;
225
+ text-shadow: 0 -1px 0 #08435e;
226
+
227
+ &:hover {
228
+ @include background-gradient(#22627f,#1b536f);
229
+ }
230
+ }
231
+ }
232
+
233
+ nav.sub-menu {
234
+ @include background-gradient(#fdfdfd,#f0f0f0);
235
+ box-shadow: inset 0 1px 0 white,0 3px 3px rgba(0,0,0,0.07);
236
+ height:45px;
237
+ font-size:12px;
238
+ position: absolute;
239
+ left:0;
240
+ width: 100%;
241
+
242
+ li {
243
+ padding:10px 0;
244
+ }
245
+
246
+ a {
247
+ border: none;
248
+ color: dimGray;
249
+ text-shadow: 0 1px 0 $text-white;
250
+ background: none;
251
+ font-weight: normal;
252
+ padding: 5px 15px;
253
+ border-radius: 15px;
254
+
255
+ }
256
+
257
+ li.active a,
258
+ a:hover {
259
+ background-color: dimGray;
260
+ color:$text-white;
261
+ text-shadow: 0 1px 1px $text-white-shadow;
262
+ }
263
+ }
264
+
265
+ div.wrapper {
266
+ max-width: 1400px;
267
+ min-width: 950px;
268
+ margin: 0 auto;
269
+ padding: 0 25px;
270
+ }
271
+
272
+ section#contents-container {
273
+ margin:60px 0 50px;
274
+ }
275
+
276
+ div#content {
277
+ box-shadow: 0 4px 10px rgba(0,0,0,0.12),inset 0 1px 0 white;
278
+ border-radius: 5px;
279
+
280
+ div.main {
281
+ background: #f7f7f7;
282
+ padding: 25px;
283
+ border-radius: 0 0 5px 5px;
284
+ }
285
+
286
+ div#crumbs {
287
+ border-radius: 5px 5px 0 0;
288
+ }
289
+ }
290
+
291
+ div#content.two-column {
292
+ padding-left: 250px;
293
+ @include background-gradient(#3c3c3c, #353535);
294
+
295
+ div#side-menu {
296
+ border-radius: 5px 0 0 5px;
297
+ }
298
+
299
+ div.main {
300
+ border-radius: 0 0 5px 0;
301
+ }
302
+
303
+ div#crumbs {
304
+ border-radius: 0 5px 0 0;
305
+ }
306
+ }
307
+
308
+ div#crumbs {
309
+ color: #595959;
310
+ @include background-gradient(#f8f8f8,#f3f3f3);
311
+ border-bottom: 1px solid #e0e0e0;
312
+ box-shadow: inset 0 1px 0 $white,0 1px 0 $white;
313
+
314
+ p {
315
+ display:inline-block;
316
+ padding:10px;
317
+ position:relative;
318
+ margin:0;
319
+ }
320
+
321
+ p a {
322
+ font-size: 12px;
323
+ padding: 7px 30px 7px 10px;
324
+ text-shadow: 0 1px 0 rgba(255,255,255,0.5);
325
+ color: #666;
326
+ white-space: nowrap;
327
+ text-overflow: ellipsis;
328
+ }
329
+
330
+ p:first-child a {
331
+ font-weight: bold;
332
+ padding-left: 25px;
333
+ color: #4f656e;
334
+
335
+ &:before {
336
+ font-size:18px;
337
+ position:absolute;
338
+ top:7px;
339
+ left:10px;
340
+ }
341
+ }
342
+
343
+ p:after {
344
+ background:image-url('lay_me_out/crumb-arrows.png') no-repeat;
345
+ content:"";
346
+ position:absolute;
347
+ top:0;
348
+ right:0;
349
+ width:18px;
350
+ height:33px;
351
+ }
352
+
353
+ p:last-child a,
354
+ p:last-child {
355
+ font-weight: normal;
356
+ color: #bbb;
357
+ }
358
+ }
359
+
360
+ section.sidebox {
361
+ margin-right: 25px;
362
+ width: 250px;
363
+ }
364
+
365
+ div.infobox {
366
+ background: #e7f1f3;
367
+ border: 1px solid #c4d3d3;
368
+ margin: 0 0 20px;
369
+ padding: 20px;
370
+ color: #696969;
371
+ }
372
+
373
+ .iconset {
374
+ width:33%;
375
+ display:inline-block;
376
+ }
377
+ }