undercase 0.2.29 → 0.2.57

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 (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
-