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
@@ -22,7 +22,7 @@ strong {
22
22
  }
23
23
 
24
24
  //
25
- // RANDO
25
+ // RANDOM
26
26
  //
27
27
  .notification-indicator {
28
28
  @include border-radius(2px);
@@ -207,6 +207,18 @@ strong {
207
207
  line-height: 2rem;
208
208
  }
209
209
 
210
+ .uc-highlight__yellow {
211
+ background-color: $middle-dark-yellow;
212
+ font-weight: 600;
213
+ padding: 0 $gutter*0.3;
214
+ }
215
+
216
+ .uc-highlight__blue {
217
+ background-color: $sky-blue;
218
+ font-weight: 600;
219
+ padding: 0 $gutter*0.3;
220
+ }
221
+
210
222
  .uc-t-links-page-banner {
211
223
  font-size: 1.286rem;
212
224
  font-weight: 600;
@@ -64,6 +64,16 @@
64
64
  }
65
65
  }
66
66
 
67
+ .uc-history-card__header {
68
+ padding: $gutter*0.4 $gutter;
69
+ position: relative;
70
+ background-color: $light-yellow;
71
+ border-bottom: $dotted-yellow-border;
72
+ h2 {
73
+ text-transform: uppercase;
74
+ letter-spacing: 1px;
75
+ }
76
+ }
67
77
 
68
78
  //
69
79
  // CARD OTHER
@@ -78,6 +88,41 @@
78
88
  }
79
89
  }
80
90
 
91
+ .uc-history-card__label {
92
+ background-color: $yellow;
93
+ display: inline-block;
94
+ line-height: 1.75em;
95
+ padding: $gutter/4 $gutter;
96
+ margin: $gutter;
97
+ margin-left: 0;
98
+ }
99
+
100
+ .uc-history_card__info {
101
+ display: inline-block;
102
+
103
+ li {
104
+ display: inline-block;
105
+
106
+ &:last-child {
107
+ &:after {
108
+ content: none;
109
+ padding: 0;
110
+ }
111
+ }
112
+
113
+ &:after {
114
+ content: "|";
115
+ padding: 0 $gutter 0 $gutter/2;
116
+ color: $yellow;
117
+ }
118
+ }
119
+ }
120
+
121
+ .uc-paragraphs--gapped {
122
+ p {
123
+ margin-bottom: $gutter;
124
+ }
125
+ }
81
126
 
82
127
  //
83
128
  // tabs
@@ -8,5 +8,6 @@
8
8
  @import "groundworkcss/responsive/all-responsive";
9
9
 
10
10
  @import "calendrical";
11
+ @import "timepicker";
11
12
  @import "jquery-ui-1.8.13.custom";
12
13
  @import "icons";
@@ -0,0 +1,72 @@
1
+ .ui-timepicker-wrapper {
2
+ overflow-y: auto;
3
+ height: 150px;
4
+ width: 6.5em;
5
+ background: #fff;
6
+ border: 1px solid #ddd;
7
+ -webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);
8
+ -moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);
9
+ box-shadow:0 5px 10px rgba(0,0,0,0.2);
10
+ outline: none;
11
+ z-index: 10001;
12
+ margin: 0;
13
+ }
14
+
15
+ .ui-timepicker-wrapper.ui-timepicker-with-duration {
16
+ width: 13em;
17
+ }
18
+
19
+ .ui-timepicker-wrapper.ui-timepicker-with-duration.ui-timepicker-step-30,
20
+ .ui-timepicker-wrapper.ui-timepicker-with-duration.ui-timepicker-step-60 {
21
+ width: 11em;
22
+ }
23
+
24
+ .ui-timepicker-list {
25
+ margin: 0;
26
+ padding: 0;
27
+ list-style: none;
28
+ }
29
+
30
+ .ui-timepicker-duration {
31
+ margin-left: 5px; color: #888;
32
+ }
33
+
34
+ .ui-timepicker-list:hover .ui-timepicker-duration {
35
+ color: #888;
36
+ }
37
+
38
+ .ui-timepicker-list li {
39
+ padding: 3px 0 3px 5px;
40
+ cursor: pointer;
41
+ white-space: nowrap;
42
+ color: #000;
43
+ list-style: none;
44
+ margin: 0;
45
+ }
46
+
47
+ .ui-timepicker-list:hover .ui-timepicker-selected {
48
+ background: #fff; color: #000;
49
+ }
50
+
51
+ li.ui-timepicker-selected,
52
+ .ui-timepicker-list li:hover,
53
+ .ui-timepicker-list .ui-timepicker-selected:hover {
54
+ background: #1980EC; color: #fff;
55
+ }
56
+
57
+ li.ui-timepicker-selected .ui-timepicker-duration,
58
+ .ui-timepicker-list li:hover .ui-timepicker-duration {
59
+ color: #ccc;
60
+ }
61
+
62
+ .ui-timepicker-list li.ui-timepicker-disabled,
63
+ .ui-timepicker-list li.ui-timepicker-disabled:hover,
64
+ .ui-timepicker-list li.ui-timepicker-selected.ui-timepicker-disabled {
65
+ color: #888;
66
+ cursor: default;
67
+ }
68
+
69
+ .ui-timepicker-list li.ui-timepicker-disabled:hover,
70
+ .ui-timepicker-list li.ui-timepicker-selected.ui-timepicker-disabled {
71
+ background: #f2f2f2;
72
+ }
@@ -305,3 +305,80 @@
305
305
  height: 20px;
306
306
  margin-bottom: 10px;
307
307
  }
308
+
309
+ .uf-demo-set {
310
+ border: 1px dashed $light-gray;
311
+ }
312
+
313
+ .uf-demo-margins {
314
+ background: url(../assets/backgrounds/diag_black.png);
315
+ overflow: hidden;
316
+ }
317
+
318
+ .uf-demo-container {
319
+ background-color: $sky-blue;
320
+ }
321
+
322
+ .uf-demo-container-2up {
323
+ background-color: $lightest-gray;
324
+ }
325
+
326
+ .uf-demo-object {
327
+ background-color: $white;
328
+ }
329
+
330
+ .uf-responsive-demo {
331
+ &:after {
332
+ content: '$desktop and $not-mobile';
333
+ @media #{$not-desktop} {
334
+ content: '$not-mobile and $not-desktop';
335
+ }
336
+ @media #{$small-tablet} {
337
+ content: '$small-tablet, $not-mobile and $not-desktop';
338
+ }
339
+ @media #{$mobile} {
340
+ content: '$mobile and $not-desktop';
341
+ }
342
+ }
343
+ }
344
+
345
+ .uf-demo-mobile,
346
+ .uf-demo-not-mobile,
347
+ .uf-demo-small-tablet,
348
+ .uf-demo-not-desktop,
349
+ .uf-demo-desktop {
350
+ padding: $gutter;
351
+ background: $lightest-gray;
352
+ }
353
+
354
+ @mixin uf-current-breakpoint {
355
+ background: $blue;
356
+ color: $white;
357
+ font-weight: bold;
358
+ }
359
+ @media #{$mobile} {
360
+ .uf-demo-mobile {
361
+ @include uf-current-breakpoint();
362
+ }
363
+ }
364
+ @media #{$not-mobile} {
365
+ .uf-demo-not-mobile {
366
+ @include uf-current-breakpoint();
367
+ }
368
+ }
369
+ @media #{$small-tablet} {
370
+ .uf-demo-small-tablet {
371
+ @include uf-current-breakpoint();
372
+ }
373
+ }
374
+ @media #{$not-desktop} {
375
+ .uf-demo-not-desktop {
376
+ @include uf-current-breakpoint();
377
+ }
378
+ }
379
+ @media #{$desktop} {
380
+ .uf-demo-desktop {
381
+ @include uf-current-breakpoint();
382
+ }
383
+ }
384
+
@@ -1,4 +1,5 @@
1
1
  module Undercase
2
2
  class ApplicationController < ActionController::Base
3
+ http_basic_authenticate_with :name => "casebook", :password => "casebook", realm: "Undercase" unless %w(development test).include?(ENV['RACK_ENV'] || ENV['RAILS_ENV'])
3
4
  end
4
5
  end
@@ -19,7 +19,7 @@ class DatePickerInput < SimpleForm::Inputs::StringInput
19
19
  options[:hint_html] ||= {}
20
20
  options[:hint_html].merge!(id: hint_id, class: 'hidden')
21
21
  hint_text = 'Date (format: MM/DD/YYYY)'
22
- if options[:input_html]["disable-future-dates"]
22
+ if options[:input_html] && options[:input_html]["disable-future-dates"]
23
23
  hint_text << '. You cannot select a future date.'
24
24
  end
25
25
  hint_text
@@ -60,7 +60,7 @@ class DatePickerInput < SimpleForm::Inputs::StringInput
60
60
  end
61
61
 
62
62
  def date_id
63
- "#{object.class.name.underscore}_#{object_id}_datepicker"
63
+ @date_id ||= SecureRandom.uuid
64
64
  end
65
65
 
66
66
  def date_value
@@ -21,7 +21,7 @@
21
21
  %nav.uf-nav.hide-on-modal.row
22
22
  .container
23
23
  %ul.uf-nav-list.one.whole
24
- %li= link_to "Getting Started!", undercase.root_path, class: ("current" if params[:category].blank?)
24
+ %li= link_to "Getting Started", undercase.root_path, class: ("current" if params[:category].blank?)
25
25
  %li= link_to "Grids/Spacing", undercase.category_path(category: "grids"), class: ("current" if params[:category] == "grids")
26
26
  %li= link_to "Colors", undercase.category_path(category: "colors"), class: ("current" if params[:category] == "colors")
27
27
  %li= link_to "Borders", undercase.category_path(category: "borders"), class: ("current" if params[:category] == "borders")
@@ -41,6 +41,11 @@
41
41
  .row
42
42
  .one.whole.pad-left.pad-right.double-pad-bottom
43
43
  %h1.uf-h1= yield :title
44
+ - if params[:category].blank?
45
+ %p.uc-card__header__corner-links
46
+ =link_to "/undercase-#{Undercase::VERSION}.tar.gz", class: 'cc-button-flat-green-primary' do
47
+ %span.uc-icon-download.half-pad-right
48
+ %span Download
44
49
  .row
45
50
  .two.twelfths.double-pad-bottom
46
51
  %ul.uf-subnav
@@ -0,0 +1,9 @@
1
+ %dl.uc-list-paired
2
+ %dt Term
3
+ %dd Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
4
+ %dt Lorem ipsum dolor sit amet, consectetur
5
+ %dd Definition
6
+ %dt Term
7
+ %dd Definition
8
+ %dt Term
9
+ %dd Definition
@@ -208,3 +208,16 @@
208
208
  .uc-filter-facets__facet
209
209
  .uc-filter-facets__facet__left-col--no-subfacets
210
210
  %a.blue-link-clean{href: '#'} Add More Regions/Counties
211
+ %section{ data: { presents: 'Filter' } }
212
+ .uc-filter__header
213
+ %a.uc-filter-clear.blue-link-clean.js-clear-filters-link{href: '#'} Clear
214
+ %h4.uc-filter-heading
215
+ Filter By
216
+ %span.uc-filter-heading__category Kittens
217
+ .uc-filter__body
218
+ - kitten_list = ['kitten 1', 'kitten 2', 'kitten with a very long and awesome name']
219
+ = f.input :kitten_list, as: :check_boxes, label: false,
220
+ collection: kitten_list,
221
+ checked: 'kitten 1',
222
+ input_html: { class: 'js-filter__facet' },
223
+ wrapper_html: { class: 'uc-filter__collection' }
@@ -47,6 +47,11 @@
47
47
  label: 'Child & Family Team Meeting',
48
48
  input_html: { class: 'js-filter__sub-facet' },
49
49
  wrapper_html: { class: 'uc-form-field--boolean' }
50
+ - sub_things = ['Thing 1', 'Thing 2', 'Thing 3']
51
+ = f.input :sub_things, as: :check_boxes, label: false,
52
+ collection: sub_things,
53
+ wrapper_html: { class: 'uc-filter__collection--show-only' },
54
+ input_html: {class: 'js-filter__sub-facet'}
50
55
  %li.js-filter
51
56
  .uc-filter-facets__facet
52
57
  = f.input :file_uploads,
@@ -0,0 +1,39 @@
1
+ %h1 Three Column
2
+ .uf-demo-set
3
+ .row.uf-demo-container
4
+ .two.twelfths.pad-left
5
+ .uf-demo-object
6
+ %p .two.twelfths
7
+ %p .pad-left
8
+ .eight.twelfths.pad-left.pad-right
9
+ .uf-demo-object
10
+ %p .eight.twelfths
11
+ %p .pad-left.pad-right
12
+ .two.twelfths.pad-right
13
+ .uf-demo-object
14
+ %p .two.twelfths
15
+ %p .pad-right
16
+
17
+ %h1 Two Column Two/Ten Split
18
+ .uf-demo-set
19
+ .row.uf-demo-container
20
+ .two.twelfths.pad-left
21
+ .uf-demo-object
22
+ %p .two.twelfths
23
+ %p .pad-left
24
+ .ten.twelfths.pad-left.pad-right
25
+ .uf-demo-object
26
+ %p .ten.twelfths
27
+ %p .pad-left.pad-right
28
+
29
+ %h1 Dashboard Grid
30
+ .uf-demo-set
31
+ .row.uf-demo-container
32
+ .eight.twelfths.pad-left.pad-right
33
+ .uf-demo-object
34
+ %p .eight.twelfths
35
+ %p .pad-left.pad-right
36
+ .four.twelfths.pad-right
37
+ .uf-demo-object
38
+ %p .four.twelfths
39
+ %p .pad-right
@@ -0,0 +1,94 @@
1
+ %h1 Gaps and Padding
2
+ %p .padded adds padding in all directions:
3
+ .row.uf-demo-container
4
+ .padded
5
+ .uf-demo-object
6
+ %p .padded
7
+
8
+ %p.double-gap-top .gapped adds margin in all directions:
9
+ .row.uf-demo-margins
10
+ .gapped
11
+ .uf-demo-object
12
+ %p .gapped
13
+
14
+ %p.double-gap-top .double-padded and .double-gapped gives twice the padding or margin of the default classes:
15
+ .row
16
+ .one.half.uf-demo-container
17
+ .double-padded
18
+ .uf-demo-object
19
+ %p .double-padded
20
+ .one-half.uf-demo-margins
21
+ .double-gapped
22
+ .uf-demo-object
23
+ %p .double-gapped
24
+
25
+ %p.double-gap-top .one-and-a-half-padded and .one-and-a-half-gapped gives 1.5x the padding or margin of the default classes:
26
+ .row
27
+ .one.half.uf-demo-container
28
+ .one-and-a-half-padded
29
+ .uf-demo-object
30
+ %p .one-and-a-half-padded
31
+ .one-half.uf-demo-margins
32
+ .one-and-a-half-gapped
33
+ .uf-demo-object
34
+ %p .one-and-a-half-gapped
35
+
36
+ %p.double-gap-top .half-padded and .half-gapped gives half the padding or margin of the default classes:
37
+ .row
38
+ .one.half.uf-demo-container
39
+ .half-padded
40
+ .uf-demo-object
41
+ %p .half-padded
42
+ .one-half.uf-demo-margins
43
+ .half-gapped
44
+ .uf-demo-object
45
+ %p .half-gapped
46
+
47
+ %h1.double-gap-top Gap/Padding direction
48
+ %p Can be applied with both .gap-* and .pad-* classes, including size (.double-pad-right, for example). .pad-* for illustration:
49
+ .row
50
+ .one.fourth
51
+ %p To the top:
52
+ .uf-demo-set
53
+ .uf-demo-container
54
+ .pad-top
55
+ .uf-demo-object
56
+ %p .pad-top
57
+
58
+ .one.fourth
59
+ %p To the right:
60
+ .uf-demo-set
61
+ .uf-demo-container
62
+ .pad-right
63
+ .uf-demo-object
64
+ %p .pad-right
65
+
66
+ .one.fourth
67
+ %p To the bottom:
68
+ .uf-demo-set
69
+ .uf-demo-container
70
+ .pad-bottom
71
+ .uf-demo-object
72
+ %p .pad-bottom
73
+
74
+ .one.fourth
75
+ %p To the left:
76
+ .uf-demo-set
77
+ .uf-demo-container
78
+ .pad-left
79
+ .uf-demo-object
80
+ %p .pad-left
81
+
82
+ %p.double-gap-top Gap and Pad can be combined on an element. Typically on Casebook, padding is used for left/right while margin is used for top/bottom, such as this example:
83
+ .row
84
+ .uf-demo-margins
85
+ .uf-demo-container
86
+ .double-gap-top.double-gap-bottom.pad-left.pad-right
87
+ .uf-demo-object
88
+ %p .double-gap-top.double-gap-bottom.pad-left.pad-right
89
+
90
+ %h1.double-gap-top Paragraphs gapped
91
+ .uc-paragraphs--gapped
92
+ %p Candy jelly beans brownie. Donut apple pie brownie jelly beans marzipan pastry. Cake pudding cake chocolate bar.
93
+ %p Sweet roll oat cake sesame snaps marshmallow gingerbread pastry. Cheesecake powder cotton candy cake marshmallow jelly gingerbread sugar plum. Pie dessert jujubes. Powder ice cream gingerbread lollipop caramels dessert lemon drops croissant.
94
+ %p Topping tart jelly applicake croissant powder brownie. Chupa chups sweet roll cake fruitcake cookie soufflé. Jelly-o soufflé muffin.