undercase 0.2.29 → 0.2.57

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +30 -4
  3. data/Rakefile +0 -6
  4. data/app/assets/images/backgrounds/diag_black.png +0 -0
  5. data/app/assets/javascripts/undercase/patterns/AbsolutelyPositionTableCells.js +12 -0
  6. data/app/assets/javascripts/undercase/patterns/Filter.js +6 -0
  7. data/app/assets/javascripts/undercase/patterns/daterange.js +28 -0
  8. data/app/assets/javascripts/undercase/patterns/modal.js +1 -4
  9. data/app/assets/javascripts/undercase/patterns/timepicker.js +6 -1
  10. data/app/assets/javascripts/undercase/vendor/jquery-extensions/jquery.timepicker.js +1125 -0
  11. data/app/assets/stylesheets/undercase/libraries/_borders.scss +1 -0
  12. data/app/assets/stylesheets/undercase/patterns/_borders.scss +9 -0
  13. data/app/assets/stylesheets/undercase/patterns/_filters.scss +41 -10
  14. data/app/assets/stylesheets/undercase/patterns/_forms.scss +20 -1
  15. data/app/assets/stylesheets/undercase/patterns/_layout.scss +14 -0
  16. data/app/assets/stylesheets/undercase/patterns/_lists.scss +57 -0
  17. data/app/assets/stylesheets/undercase/patterns/_popovers.scss +5 -0
  18. data/app/assets/stylesheets/undercase/patterns/_tables.scss +97 -50
  19. data/app/assets/stylesheets/undercase/patterns/_typography.scss +13 -1
  20. data/app/assets/stylesheets/undercase/patterns_new_front_end/_cards.scss +45 -0
  21. data/app/assets/stylesheets/undercase/vendor_static/_all.scss +1 -0
  22. data/app/assets/stylesheets/undercase/vendor_static/_timepicker.scss +72 -0
  23. data/app/assets/stylesheets/undercase_frame/_dummy_site.scss +77 -0
  24. data/app/controllers/undercase/application_controller.rb +1 -0
  25. data/app/inputs/date_picker_input.rb +2 -2
  26. data/app/views/layouts/undercase/application.html.haml +6 -1
  27. data/app/views/undercase/patterns/_definition_list.html.haml +9 -0
  28. data/app/views/undercase/patterns/_filters.html.haml +13 -0
  29. data/app/views/undercase/patterns/_filters_show_only.html.haml +5 -0
  30. data/app/views/undercase/patterns/_grids_basic.html.haml +39 -0
  31. data/app/views/undercase/patterns/_grids_element_spacing.html.haml +94 -0
  32. data/app/views/undercase/patterns/_grids_responsive.html.haml +32 -0
  33. data/app/views/undercase/patterns/_layouts.html.haml +20 -0
  34. data/app/views/undercase/patterns/_list_long.html.haml +45 -0
  35. data/app/views/undercase/patterns/_popover.html.haml +23 -6
  36. data/app/views/undercase/patterns/_tables.html.haml +26 -0
  37. data/app/views/undercase/patterns/{_tables_small_tablet.html.haml → _tables_unsorted.html.haml} +6 -9
  38. data/app/views/undercase/patterns/_typography_highlight.html.haml +5 -0
  39. data/app/views/undercase/patterns/_uc_forms_date_range_picker.html.haml +43 -0
  40. data/app/views/undercase/patterns/_uc_history_card.html.haml +10 -0
  41. data/app/views/undercase/patterns/index.html.haml +1 -1
  42. data/lib/tasks/undercase.rake +53 -0
  43. data/lib/undercase/patterns/definition_list.yml +4 -0
  44. data/lib/undercase/patterns/grids_basic.yml +6 -0
  45. data/lib/undercase/patterns/grids_element_spacing.yml +12 -0
  46. data/lib/undercase/patterns/grids_responsive.yml +6 -0
  47. data/lib/undercase/patterns/layouts.yml +6 -0
  48. data/lib/undercase/patterns/list_long.yml +4 -0
  49. data/lib/undercase/patterns/tables.yml +4 -0
  50. data/lib/undercase/patterns/tables_unsorted.yml +4 -0
  51. data/lib/undercase/patterns/typography_highlight.yml +4 -0
  52. data/lib/undercase/patterns/uc_forms_date_range_picker.yml +4 -0
  53. data/lib/undercase/patterns/uc_history_card.yml +4 -0
  54. data/lib/undercase/version.rb +1 -1
  55. data/public/undercase-0.2.57.tar.gz +0 -0
  56. metadata +44 -11
  57. data/app/views/undercase/patterns/_grid.html.haml +0 -0
  58. data/app/views/undercase/patterns/_tables_mobile.html.haml +0 -23
  59. data/app/views/undercase/patterns/_tables_not_desktop.html.haml +0 -21
  60. data/app/views/undercase/patterns/_tables_small_mobile.html.haml +0 -23
  61. data/lib/undercase/patterns/grid.yml +0 -4
  62. data/lib/undercase/patterns/tables_mobile.yml +0 -4
  63. data/lib/undercase/patterns/tables_not_desktop.yml +0 -4
  64. data/lib/undercase/patterns/tables_small_tablet.yml +0 -4
@@ -14,6 +14,7 @@ $solid-yellow-border: $light-border-width solid $yellow;
14
14
  $solid-white-border: $light-border-width solid $white;
15
15
 
16
16
  $dashed-white-border: $medium-border-width dashed $white;
17
+ $light-yellow-border: $light-border-width solid $yellow;
17
18
  $dashed-yellow-border: $light-border-width dashed $yellow;
18
19
 
19
20
  $light-border: $light-border-width solid $light-gray;
@@ -73,6 +73,15 @@
73
73
  border-top: $dotted-yellow-border;
74
74
  }
75
75
 
76
+ .uc-border-bottom-yellow-dotted {
77
+ border-bottom: $dotted-yellow-border;
78
+ }
79
+
80
+ .uc-border-yellow-solid-wide-top {
81
+ border: $light-yellow-border;
82
+ border-top-width: $large-border-width;
83
+ }
84
+
76
85
  //
77
86
  // TODO: Does not belong here. Make it a separate pattern
78
87
  // blue background and border on hover
@@ -3,8 +3,6 @@
3
3
  //
4
4
 
5
5
  .uc-filter {
6
- border-bottom: 1px solid $lighter-gray;
7
-
8
6
  input[type=checkbox] { @include hide-accessible; } /* to hide the checkbox itself */
9
7
 
10
8
  input[type=checkbox]:focus + label {
@@ -12,7 +10,6 @@
12
10
  }
13
11
 
14
12
  input[type=checkbox]:focus + label:before {
15
- /* outline: 1px dotted $middle-gray; */
16
13
  box-shadow: 0 0 1px 2px $button-blue;
17
14
  @include border-radius(3px);
18
15
  color: $button-blue;
@@ -23,7 +20,7 @@
23
20
  font-family: Undercase-Icons;
24
21
  line-height: 1em;
25
22
  margin-right: $gutter/2;
26
- margin-bottom: 3px;
23
+ margin-bottom: $gutter*0.3;
27
24
  color: $light-gray;
28
25
  float: left;
29
26
  -moz-transform: scale(1.0, 1.0); /* Adjust anti-aliasing to prevent gap inside box-shadow on Windows */
@@ -41,13 +38,15 @@
41
38
 
42
39
  .uc-filter__header {
43
40
  background-color: $lightest-gray;
44
- border: 1px solid $light-gray;
41
+ border: $light-border-width solid $light-gray;
45
42
  border-left: none;
43
+ border-top: none;
46
44
  padding: $gutter;
47
45
  }
48
46
 
49
47
  .uc-filter__body {
50
- border-right: 1px solid $lighter-gray;
48
+ border-right: $light-border-width solid $lighter-gray;
49
+ border-bottom: $light-border-width solid $light-gray;
51
50
  }
52
51
 
53
52
  .uc-filter-heading {
@@ -69,7 +68,7 @@
69
68
 
70
69
  .uc-filter-facets {
71
70
  > li {
72
- border-top: 1px dotted $lighter-gray;
71
+ border-top: $light-border-width dotted $lighter-gray;
73
72
  &:first-child {
74
73
  border-top: none;
75
74
  }
@@ -77,8 +76,9 @@
77
76
  }
78
77
 
79
78
  .uc-filter-subfacets-container {
80
- padding: $gutter*1.5 $gutter $gutter*0.5 $gutter*3;
81
- border-top: 1px dotted $lighter-gray;
79
+ padding: $gutter*0.5 $gutter 0 $gutter*3;
80
+ margin-top: $gutter;
81
+ border-top: $light-border-width dotted $lighter-gray;
82
82
  }
83
83
 
84
84
  .uc-filter-subfacets {
@@ -105,7 +105,7 @@
105
105
  }
106
106
 
107
107
  .uc-filter-facets__facet__right-col {
108
- border-left: 1px dotted $lighter-gray;
108
+ border-left: $light-border-width dotted $lighter-gray;
109
109
  position: absolute;
110
110
  width: 20%;
111
111
  top: 0;
@@ -119,3 +119,34 @@
119
119
  width: 12px;
120
120
  }
121
121
  }
122
+
123
+ .uc-filter__collection {
124
+ &.uc-form-field {
125
+ margin-bottom: 0;
126
+ }
127
+
128
+ .uc-form-collection-item {
129
+ border-top: 1px dotted $lighter-gray;
130
+ display: block;
131
+ margin-left: 0;
132
+ padding: $gutter*1.5 $gutter;
133
+ &:first-child {
134
+ border-top: none;
135
+ }
136
+ }
137
+ }
138
+
139
+ .uc-filter__collection--show-only {
140
+ &.uc-form-field {
141
+ margin-bottom: 0;
142
+ }
143
+
144
+ .uc-form-collection-item {
145
+ display: block;
146
+ margin-left: 0;
147
+ padding: 0 0 $gutter;
148
+ &:last-of-type {
149
+ padding: 0;
150
+ }
151
+ }
152
+ }
@@ -155,7 +155,6 @@ textarea {
155
155
  .uc-form-label--secondary {
156
156
  font-weight: normal;
157
157
  }
158
-
159
158
  //
160
159
  // FIELDSETS
161
160
  //
@@ -189,6 +188,9 @@ textarea {
189
188
  .uc-form-field {
190
189
  margin-bottom: $gutter*1.5;
191
190
  }
191
+ .ongoing {
192
+ padding-top: $gutter/2;
193
+ }
192
194
  }
193
195
 
194
196
  //
@@ -334,6 +336,12 @@ textarea {
334
336
  }
335
337
  }
336
338
 
339
+ .uc-form-fieldset--secondary {
340
+ > legend {
341
+ font-weight: normal;
342
+ }
343
+ }
344
+
337
345
  .uc-form-field-datetime-date {
338
346
  display: inline-block;
339
347
  @media #{$not-desktop} {
@@ -356,6 +364,17 @@ textarea {
356
364
  vertical-align: top;
357
365
  }
358
366
 
367
+ .uc-form-daterange__start-fields {
368
+ display: inline-block;
369
+ vertical-align: top;
370
+ }
371
+
372
+ .uc-form-daterange__end-fields {
373
+ display: inline-block;
374
+ vertical-align: top;
375
+ padding-left: $gutter*2;
376
+ }
377
+
359
378
  .uc-form-field-checkbutton {
360
379
  @include border-radius(5px);
361
380
  text-transform: uppercase;
@@ -14,6 +14,20 @@
14
14
  @include respond-small-tablet;
15
15
  }
16
16
 
17
+ //
18
+ // wide sidebar layout
19
+ //
20
+ .uc-layout-sidebar-wide {
21
+ width: percentage(3 / 12);
22
+ @include respond-small-tablet;
23
+ }
24
+ .uc-layout-center-slim {
25
+ width: percentage(9 / 12);
26
+ padding-top: $gutter;
27
+ padding-bottom: $gutter;
28
+ @include respond-small-tablet;
29
+ }
30
+
17
31
  //
18
32
  // split main layout column into two, or single
19
33
  //
@@ -21,6 +21,37 @@
21
21
  }
22
22
  }
23
23
 
24
+ .uc-list-paired {
25
+ clear: both;
26
+ width: 100%;
27
+ &:after{
28
+ clear: both;
29
+ content: " ";
30
+ display: block;
31
+ font-size: 0;
32
+ height: 0;
33
+ visibility: hidden;
34
+ }
35
+ dt {
36
+ float: left;
37
+ display: inline;
38
+ clear: both;
39
+ text-align: right;
40
+ width: percentage(1/5);
41
+ color: $middle-gray;
42
+ padding-right: $gutter;
43
+ padding-bottom: $gutter/2;
44
+ }
45
+
46
+ dd {
47
+ float: left;
48
+ display: inline;
49
+ width: percentage(4/5);
50
+ word-wrap: break-word;
51
+ padding-bottom: $gutter/2;
52
+ }
53
+ }
54
+
24
55
  .uc-list-circle {
25
56
  list-style: circle;
26
57
  li {
@@ -67,6 +98,32 @@
67
98
  }
68
99
  }
69
100
 
101
+ //
102
+ // LONG LIST
103
+ //
104
+ .uc-list-long {
105
+ border: $light-border-width solid $light-gray;
106
+ max-height: 850px;
107
+ overflow-y: auto;
108
+ > li {
109
+ padding: $gutter*1.5 $gutter;
110
+
111
+ clear: both;
112
+ width: 100%;
113
+ &:after{
114
+ clear: both;
115
+ content: " ";
116
+ display: block;
117
+ font-size: 0;
118
+ height: 0;
119
+ visibility: hidden;
120
+ }
121
+ }
122
+ > li + li {
123
+ border-top: $light-border-width solid $lighter-gray;
124
+ }
125
+ }
126
+
70
127
  //
71
128
  // QUICK INFO (RIGHT SIDEBAR)
72
129
  //
@@ -1,5 +1,10 @@
1
1
  @import "bootstrap/popovers";
2
2
 
3
+ .popover {
4
+ @include border-radius(4px);
5
+ width: 300px;
6
+ }
7
+
3
8
  .popover-title {
4
9
  border-bottom: none;
5
10
  font-weight: $semibold-weight;
@@ -2,85 +2,133 @@
2
2
  // UC-TABLE
3
3
  //
4
4
  .uc-table-wrapper {
5
- width: 100%;
6
5
  overflow-x: auto;
6
+ width: 100%;
7
7
  }
8
8
 
9
9
  .uc-table {
10
- table-layout: fixed;
11
10
  border-collapse: collapse;
11
+ table-layout: fixed;
12
12
  width: 100%;
13
13
 
14
- th {
15
- position: relative;
16
- vertical-align: top;
14
+ @media #{$not-desktop} {
15
+ width: 779px;
16
+ }
17
+
18
+ thead th {
19
+ background: $lightest-gray;
20
+ border-bottom: 1px solid $light-gray;
21
+ border-left: 1px solid $light-gray;
22
+ border-right: 1px solid $light-gray;
23
+ border-top: 5px solid $light-gray;
24
+ height: 65px;
25
+ min-height: 65px;
26
+ text-align: left;
17
27
  text-transform: uppercase;
18
- font-weight: $semibold-weight;
19
- padding-bottom: $gutter;
20
- padding-left: $gutter*1.5;
21
- a:hover {
22
- cursor: pointer;
28
+ vertical-align: top;
29
+ &.active {
30
+ background: white;
31
+ border-top: 5px solid $link-blue;
32
+ }
33
+ &:hover,
34
+ &:focus {
35
+ background: white;
23
36
  }
24
37
  }
25
- td {
26
- vertical-align: top;
27
- padding: $gutter/2 $gutter/2 $gutter/2 $gutter;
38
+
39
+ thead:after {
40
+ content:"";
41
+ display:block;
42
+ background-color: white;
43
+ height: 10px;
28
44
  }
29
45
 
30
- th.align-center a.uc-icon-sort-descending,
31
- th.align-center a.uc-icon-sort-ascending {
32
- position: relative;
33
- left: 9px;
46
+ tbody {
47
+ border: 1px solid $lighter-gray;
34
48
  }
35
- > tbody tr {
49
+
50
+ tbody tr {
36
51
  &:nth-of-type(odd) {
37
- background-color: $middle-yellow;
52
+ background-color: white;
38
53
  }
39
- }
40
- .edit & {
41
- > tbody tr {
42
- &:nth-of-type(odd) {
43
- background-color: $sky-blue;
44
- }
54
+ &:nth-of-type(even) {
55
+ background-color: $lightest-gray;
56
+ border-top: 1px solid $lighter-gray;
57
+ border-bottom: 1px solid $lighter-gray;
45
58
  }
46
59
  }
47
- }
48
60
 
49
- %uc-icon-sort {
50
- position: absolute;
51
- @include icon-inline-block;
52
- margin-left: 3px;
61
+ tbody td, tbody th {
62
+ vertical-align: top;
63
+ padding: $gutter;
64
+ }
53
65
  }
54
- .uc-icon-sort-ascending:after {
55
- @extend %uc-icon-sort;
56
- content: $uc-icon-caret-up;
66
+
67
+ //
68
+ // Inner wrapper for th's
69
+ // to be able to absolutely position things in a table cell
70
+ // Generated by AbsolutelyPositionTableCells.js
71
+ //
72
+ .uc-table__th__inner-wrapper {
73
+ height: inherit;
74
+ min-height: inherit;
75
+ position: relative;
76
+ padding: $gutter/2 $gutter*2 $gutter/2 $gutter;
57
77
  }
58
- .uc-icon-sort-descending:after {
59
- @extend %uc-icon-sort;
60
- content: $uc-icon-caret-down;
78
+
79
+ .uc-table__th__inner-wrapper--sortable {
80
+ padding: 0;
61
81
  }
62
82
 
63
- .uc-table--respond-small-tablet {
64
- @extend .uc-table;
65
- @media #{$small-tablet} {
66
- width: 779px;
83
+ .uc-table__th__inner-wrapper--sortable a {
84
+ display: block;
85
+ height: inherit;
86
+ min-height: inherit;
87
+ padding: $gutter/2 $gutter*2 $gutter/2 $gutter;
88
+ text-decoration: none;
89
+ &:after {
90
+ @include icon-inline-block;
91
+ color: $light-gray;
92
+ content: $uc-icon-arrows-v;
93
+ position: absolute;
94
+ right: 10px;
95
+ top: 7px;
96
+ }
97
+ &.descending {
98
+ &:after {
99
+ content: $uc-icon-long-arrow-up;
100
+ color: $link-blue;
101
+ }
102
+ }
103
+ &.ascending {
104
+ &:after {
105
+ content: $uc-icon-long-arrow-down;
106
+ color: $link-blue;
107
+ }
67
108
  }
68
109
  }
69
110
 
70
- .uc-table--respond-not-desktop {
71
- @extend .uc-table;
72
- @media #{$not-desktop} {
73
- width: 779px;
111
+ //
112
+ // Table modifier for unsorted headers
113
+ //
114
+ .uc-table--unsorted {
115
+ thead:after {
116
+ background-color: transparent;
74
117
  }
75
- }
76
118
 
77
- .uc-table--respond-mobile {
78
- @extend .uc-table;
79
- @media #{$mobile} {
80
- width: 480px;
119
+ thead th {
120
+ background: white;
121
+ border: none;
122
+ font-weight: $semibold-weight;
123
+ height: 40px;
124
+ min-height: 40px;
125
+ padding: $gutter;
81
126
  }
82
127
  }
83
128
 
129
+ //
130
+ // Various table column widths
131
+ //
84
132
  .uc-table__col--tiny {
85
133
  width: 30px;
86
134
  }
@@ -108,4 +156,3 @@
108
156
  .uc-table__col--auto {
109
157
  width: auto;
110
158
  }
111
-