lcms-engine 0.1.4 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (165) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/CHANGELOG.md +11 -15
  4. data/Dockerfile +0 -1
  5. data/README.md +13 -4
  6. data/app/assets/javascripts/lcms/engine/admin/application.js +2 -6
  7. data/app/assets/javascripts/lcms/engine/application.js +2 -2
  8. data/app/assets/javascripts/lcms/engine/initializers/{google_analytics.js → analytics.js} +0 -0
  9. data/app/assets/javascripts/lcms/engine/initializers/lessons.js +1 -1
  10. data/app/assets/stylesheets/lcms/engine/admin.scss +1 -1
  11. data/app/assets/stylesheets/lcms/engine/application.scss +4 -3
  12. data/app/assets/stylesheets/lcms/engine/components/_curriculum-cards.scss +1 -1
  13. data/app/assets/stylesheets/lcms/engine/components/_curriculum-map.scss +4 -4
  14. data/app/assets/stylesheets/lcms/engine/components/_media-resources.scss +1 -1
  15. data/app/assets/stylesheets/lcms/engine/components/_panel-dsc.scss +1 -1
  16. data/app/assets/stylesheets/lcms/engine/components/_resource.scss +6 -6
  17. data/app/assets/stylesheets/lcms/engine/pages/_home.scss +4 -4
  18. data/app/assets/stylesheets/lcms/engine/pdf.scss +1 -1
  19. data/app/assets/stylesheets/lcms/engine/themes/_settings.scss +419 -116
  20. data/app/assets/stylesheets/lcms/engine/utils/_mixins.scss +2 -2
  21. data/app/assets/stylesheets/lcms/engine/vendors/foundation_and_overrides-pdf.scss +0 -1
  22. data/app/assets/stylesheets/lcms/engine/vendors/foundation_and_overrides.scss +13 -2
  23. data/app/controllers/lcms/engine/admin/admin_controller.rb +0 -2
  24. data/app/controllers/lcms/engine/admin/association_picker_controller.rb +10 -9
  25. data/app/controllers/lcms/engine/admin/documents_controller.rb +17 -14
  26. data/app/controllers/lcms/engine/admin/materials_controller.rb +19 -23
  27. data/app/controllers/lcms/engine/admin/resource_picker_controller.rb +2 -2
  28. data/app/controllers/lcms/engine/admin/resources_controller.rb +45 -79
  29. data/app/controllers/lcms/engine/admin/sketch_compilers_controller.rb +2 -2
  30. data/app/controllers/lcms/engine/application_controller.rb +0 -15
  31. data/app/entities/lcms/engine/pagination.rb +14 -5
  32. data/app/forms/lcms/engine/material_form.rb +0 -1
  33. data/app/helpers/lcms/engine/application_helper.rb +2 -6
  34. data/app/helpers/lcms/engine/view_helper.rb +1 -3
  35. data/app/interactors/lcms/engine/explore_curriculum_interactor.rb +1 -1
  36. data/app/javascript/components/admin/ImportStatus.jsx +1 -1
  37. data/app/javascript/components/admin/association-picker/AssociationPickerResults.jsx +1 -1
  38. data/app/javascript/components/admin/picker/pickerWindowWrapper.jsx +0 -1
  39. data/app/models/lcms/engine/access_code.rb +1 -1
  40. data/app/models/lcms/engine/application_record.rb +9 -0
  41. data/app/models/lcms/engine/author.rb +1 -1
  42. data/app/models/lcms/engine/copyright_attribution.rb +1 -1
  43. data/app/models/lcms/engine/curriculum.rb +1 -1
  44. data/app/models/lcms/engine/document.rb +3 -3
  45. data/app/models/lcms/engine/document_bundle.rb +2 -2
  46. data/app/models/lcms/engine/document_part.rb +1 -1
  47. data/app/models/lcms/engine/download.rb +3 -3
  48. data/app/models/lcms/engine/download_category.rb +1 -1
  49. data/app/models/lcms/engine/leadership_post.rb +1 -1
  50. data/app/models/lcms/engine/material.rb +2 -2
  51. data/app/models/lcms/engine/material_part.rb +1 -1
  52. data/app/models/lcms/engine/page.rb +1 -1
  53. data/app/models/lcms/engine/reading_assignment_author.rb +1 -1
  54. data/app/models/lcms/engine/reading_assignment_text.rb +1 -1
  55. data/app/models/lcms/engine/resource.rb +4 -12
  56. data/app/models/lcms/engine/resource_additional_resource.rb +1 -1
  57. data/app/models/lcms/engine/resource_download.rb +1 -1
  58. data/app/models/lcms/engine/resource_reading_assignment.rb +1 -1
  59. data/app/models/lcms/engine/resource_related_resource.rb +1 -1
  60. data/app/models/lcms/engine/resource_standard.rb +1 -1
  61. data/app/models/lcms/engine/search/elastic_search_document.rb +1 -1
  62. data/app/models/lcms/engine/settings.rb +1 -1
  63. data/app/models/lcms/engine/social_thumbnail.rb +1 -1
  64. data/app/models/lcms/engine/staff_member.rb +1 -1
  65. data/app/models/lcms/engine/standard.rb +1 -1
  66. data/app/models/lcms/engine/standard_link.rb +1 -1
  67. data/app/models/lcms/engine/user.rb +3 -3
  68. data/app/presenters/lcms/engine/content_presenter.rb +1 -1
  69. data/app/queries/lcms/engine/admin_documents_query.rb +1 -1
  70. data/app/queries/lcms/engine/admin_materials_query.rb +1 -1
  71. data/app/serializers/lcms/engine/association_item_serializer.rb +0 -1
  72. data/app/serializers/lcms/engine/curriculum_resource_serializer.rb +0 -2
  73. data/app/serializers/lcms/engine/document_material_serializer.rb +0 -1
  74. data/app/serializers/lcms/engine/material_serializer.rb +0 -1
  75. data/app/serializers/lcms/engine/previews_material_serializer.rb +0 -1
  76. data/app/serializers/lcms/engine/resource_details_serializer.rb +0 -2
  77. data/app/serializers/lcms/engine/resource_instruction_serializer.rb +0 -2
  78. data/app/serializers/lcms/engine/resource_picker_serializer.rb +0 -2
  79. data/app/serializers/lcms/engine/resource_serializer.rb +0 -2
  80. data/app/serializers/lcms/engine/search_document_serializer.rb +0 -2
  81. data/app/services/lcms/engine/document_build_service.rb +1 -0
  82. data/app/services/lcms/engine/html_sanitizer.rb +2 -2
  83. data/app/services/lcms/engine/s3_service.rb +1 -1
  84. data/app/uploaders/social_thumbnail_uploader.rb +0 -4
  85. data/app/views/layouts/lcms/engine/admin.html.erb +1 -1
  86. data/app/views/lcms/engine/admin/access_codes/index.html.erb +10 -8
  87. data/app/views/lcms/engine/admin/documents/index.html.erb +2 -2
  88. data/app/views/lcms/engine/admin/materials/index.html.erb +2 -2
  89. data/app/views/lcms/engine/admin/pages/index.html.erb +3 -3
  90. data/app/views/lcms/engine/admin/standards/index.html.erb +9 -7
  91. data/app/views/lcms/engine/admin/users/index.html.erb +16 -14
  92. data/app/views/lcms/engine/resources/_children_list.html.erb +1 -1
  93. data/app/views/lcms/engine/shared/_social_sharing_menu.html.erb +4 -4
  94. data/config/initializers/carrier_wave.rb +0 -1
  95. data/config/locales/admin/en.yml +0 -2
  96. data/db/migrate/20200422130652_add_reimported_at_to_documents.rb +7 -0
  97. data/lcms-engine.gemspec +73 -87
  98. data/lib/doc_template/document.rb +2 -2
  99. data/lib/doc_template/tables/activity.rb +2 -1
  100. data/lib/doc_template/tables/base.rb +0 -4
  101. data/lib/doc_template/tables/section.rb +2 -1
  102. data/lib/doc_template/tags/link_tag.rb +1 -1
  103. data/lib/doc_template/xpath_functions.rb +1 -3
  104. data/lib/document_exporter/base.rb +1 -2
  105. data/lib/document_exporter/docx.rb +0 -1
  106. data/lib/generators/lcms/engine/install/install_generator.rb +1 -4
  107. data/lib/generators/lcms/engine/install/templates/config/lcms.yml +1 -1
  108. data/lib/lcms/engine/engine.rb +0 -16
  109. data/lib/lcms/engine/migration.rb +2 -0
  110. data/lib/lcms/engine/version.rb +1 -1
  111. data/lib/lt/lcms/metadata/context.rb +7 -5
  112. data/spec/controllers/admin/admin_controller_spec.rb +1 -1
  113. data/spec/controllers/admin/association_picker_controller_spec.rb +2 -2
  114. data/spec/controllers/admin/curriculums_controller_spec.rb +1 -2
  115. data/spec/controllers/admin/documents_controller_spec.rb +12 -41
  116. data/spec/controllers/admin/materials_controller_spec.rb +7 -67
  117. data/spec/controllers/admin/pages_controller_spec.rb +2 -2
  118. data/spec/controllers/admin/resource_bulk_edit_controller_spec.rb +3 -3
  119. data/spec/controllers/admin/sketch_compilers_controller_spec.rb +5 -4
  120. data/spec/controllers/admin/standards_controller_spec.rb +12 -9
  121. data/spec/controllers/admin/users_controller_spec.rb +2 -2
  122. data/spec/controllers/admin/welcome_controller_spec.rb +1 -1
  123. data/spec/controllers/documents_controller_spec.rb +3 -3
  124. data/spec/controllers/enhance_instruction_controller_spec.rb +1 -1
  125. data/spec/controllers/explore_curriculum_controller_spec.rb +2 -2
  126. data/spec/controllers/find_lessons_controller_spec.rb +1 -1
  127. data/spec/controllers/pages_controller_spec.rb +9 -12
  128. data/spec/controllers/resources_controller_spec.rb +2 -2
  129. data/spec/controllers/search_controller_spec.rb +1 -1
  130. data/spec/dummy/bin/spring +2 -2
  131. data/spec/dummy/config/application.rb +3 -3
  132. data/spec/dummy/config/environments/test.rb +2 -5
  133. data/spec/dummy/config/lcms-admin.yml +3 -3
  134. data/spec/dummy/config/webpack/development.js +5 -0
  135. data/spec/dummy/config/webpack/environment.js +3 -0
  136. data/spec/dummy/config/webpack/production.js +5 -0
  137. data/spec/dummy/config/webpack/test.js +5 -0
  138. data/spec/dummy/config/webpacker.yml +96 -0
  139. data/spec/dummy/db/schema.rb +251 -275
  140. data/spec/factories/document_bundles.rb +1 -1
  141. data/spec/factories/standard_links.rb +2 -0
  142. data/spec/factories/taggings.rb +1 -0
  143. data/spec/models/document_bundle_spec.rb +0 -6
  144. data/spec/models/resource_spec.rb +0 -33
  145. data/spec/rails_helper.rb +0 -1
  146. data/spec/requests/admin/curriculum_spec.rb +17 -0
  147. data/spec/services/document_build_service_spec.rb +76 -62
  148. data/spec/services/html_sanitizer_spec.rb +0 -34
  149. data/spec/support/capybara.rb +1 -3
  150. data/spec/support/concerns/searchable.rb +2 -0
  151. data/spec/support/database_cleaner.rb +5 -16
  152. data/spec/support/devise.rb +2 -0
  153. data/yarn.lock +442 -530
  154. metadata +183 -439
  155. data/Gemfile.lock +0 -752
  156. data/config/initializers/active_record.rb +0 -3
  157. data/spec/controllers/admin/resources_controller_spec.rb +0 -84
  158. data/spec/fixtures/tables/activity-metadata-3activities.html +0 -1
  159. data/spec/fixtures/tables/document-metadata-2paragpraphs.html +0 -97
  160. data/spec/fixtures/tables/document-metadata-2spans.html +0 -96
  161. data/spec/fixtures/tables/document-metadata.html +0 -96
  162. data/spec/lib/doc_template/tables/activity_spec.rb +0 -28
  163. data/spec/lib/doc_template/tables/metadata_spec.rb +0 -40
  164. data/spec/lib/doc_template/tables/shared_examples/remove_table.rb +0 -11
  165. data/spec/support/fixture_helper.rb +0 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c987bd146276fc85ff91aca1e934d03e789ed63f7e27d9dbfa0d08ee140a65a0
4
- data.tar.gz: e947483fc4ffd1d73dce04ab6654e1f0a4a22765740b7d438ccf944b923c61ac
3
+ metadata.gz: f7883120d0d1600b048df9771c5688b3156142a71a1902aaaa86f1cb2c7cb208
4
+ data.tar.gz: 20a804da999a7572ffe86b193736d1a64a29f1a6cb127d253723ad17b868fbbc
5
5
  SHA512:
6
- metadata.gz: 19943b60c02dfd24f55cee8eaef09f21a51d0ab94605f254d7838d6391ac4bfa92c8ec8a6f480375ae67b8b5784b549c9f77a256cb2413851b3e5aa74d788956
7
- data.tar.gz: 0d1200f37cf6ce4c9215a904425cf9e9489697832896ca7f9feff6784acc161550578f542f8f5313766c49cdcf847ef14e9255ddb2d3d4214b3c489580c02e4f
6
+ metadata.gz: a1cb3dc4d42215f9e17808f6189e23c22598d6e6226acd6485413ef77541635cd2d105ce0910081269f8dfa51407c3dd60896d23c376aee172cedc472f4aa8b9
7
+ data.tar.gz: a359f0ce25be3b43f3d779556f9a90a99186ee61cb400ca99a2556695b6b8e06ff447c2de1516a039886736ce50c86855d0dca4383e272351e058407da6c4ec2
data/.gitignore CHANGED
@@ -1,4 +1,5 @@
1
1
  .bundle/
2
+ Gemfile.lock
2
3
  public/javascripts/
3
4
  public/lcms_engine_packs/
4
5
  public/packs-test/
@@ -4,24 +4,20 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
- ## [Unreleased](https://github.com/learningtapestry/lcms-engine/compare/v0.1.4...HEAD)
7
+ ## [0.2.0](https://github.com/learningtapestry/lcms-engine/compare/v0.1.2...v0.2.0) - 2020.04.27
8
8
 
9
- ## [0.1.4](https://github.com/learningtapestry/lcms-engine/compare/v0.1.3...v0.1.4) - 2020.08.20
10
-
11
- ### Changed
12
-
13
- - bigdecimal gem is locked to 1.4.x version to keep compatibility with Rails 4 [@paranoicsan](https://github.com/paranoicsan)
14
-
15
- ## [0.1.3](https://github.com/learningtapestry/lcms-engine/compare/v0.1.2...v0.1.3) - 2020.08.19
9
+ ### Added
10
+ - Add cache to index pages: Access codes, Standards, Users [@paranoicsan](https://github.com/paranoicsan)
11
+ - Add `reimported_at` field to Document object [@paranoicsan](https://github.com/paranoicsan)
16
12
 
17
- ### Changed
18
- - [Update gems and NodeJS packages](https://github.com/learningtapestry/lcms-engine/pull/134) to address high severity security issues
19
- - Add possibility to [extend permitted parameters](https://github.com/learningtapestry/lcms-engine/pull/114) inside decorators [@paranoicsan](https://github.com/paranoicsan)
20
- - Introduced method `lcms_engine_javascript_pack_tag` to be used instead of `javascript_pack_tag` when one needs to include the JS assets from the engine [@paranoicsan](https://github.com/paranoicsan)
13
+ ### Changes
14
+ - [BREAKING] Bump Rails from 4.2 to 5.2 [@paranoicsan](https://github.com/paranoicsan), [@rradonic](https://github.com/rradonic)
15
+ - Bump rubyzip from 1.3 to 2 and stick it to version 2 and above
21
16
 
22
- ### Fixed
23
- - [Fix missing content](https://github.com/learningtapestry/lcms-engine/pull/132) while sanitizing source HTML [@paranoicsan](https://github.com/paranoicsan)
24
- - Fix case insensitive metadata table HTML header searching [@shlag3n](https://github.com/shlag3n)
17
+ ### Removed
18
+ - Remove explicit cache setup. Should be defined in the host application [@paranoicsan](https://github.com/paranoicsan)
19
+ - Remove [newrelic_rpm gem](https://github.com/newrelic/rpm). One should be added directly to a host application [@paranoicsan](https://github.com/paranoicsan)
20
+ - Remove [readthis gem](https://github.com/sorentwo/readthis). Rails 5.2 has built-in replacement [@paranoicsan](https://github.com/paranoicsan)
25
21
 
26
22
  ## [0.1.2](https://github.com/learningtapestry/lcms-engine/compare/v0.1.0...v0.1.2) - 2020.04.23
27
23
 
data/Dockerfile CHANGED
@@ -1,7 +1,6 @@
1
1
  FROM ruby:2.5.7
2
2
 
3
3
  ENV APP_PATH /app/
4
- ENV LANG C.UTF-8
5
4
 
6
5
  WORKDIR $APP_PATH
7
6
 
data/README.md CHANGED
@@ -83,14 +83,23 @@ the same files, overwriting the ones provided by the engine.
83
83
 
84
84
  ## Requirements
85
85
  - Ruby 2.5 or higher
86
- - Rails 4.2.11.x
86
+ - Rails 5.2.4 or higher
87
87
  - Postgres 9.6 or higher
88
88
 
89
89
  ## Installation
90
- Include the gem in your Gemfile:
91
-
90
+ Add this to the Gemfile:
92
91
  ```ruby
93
- gem 'lcms-engine', git: 'https://github.com/learningtapestry/lcms-engine.git', branch: '0.1.x'
92
+ source 'https://rails-assets.org' do
93
+ gem 'rails-assets-classnames', '~> 2.2.5'
94
+ gem 'rails-assets-es6-promise', '~> 4.2.4'
95
+ gem 'rails-assets-eventemitter3', '~> 3.1.2'
96
+ gem 'rails-assets-fetch', '~> 3.0.0'
97
+ gem 'rails-assets-jstree', '~> 3.3.8'
98
+ gem 'rails-assets-knockout', '~> 3.5.0'
99
+ gem 'rails-assets-lodash', '~> 4.17.15'
100
+ gem 'rails-assets-selectize', '~> 0.12.6'
101
+ end
102
+ gem 'lcms-engine', git: 'https://github.com/learningtapestry/lcms-engine.git', branch: 'master'
94
103
  ```
95
104
 
96
105
  And then execute:
@@ -13,6 +13,7 @@
13
13
  //= require jquery.tagsinput
14
14
  //= require jstree
15
15
  //= require js-routes
16
+ //= require ../initializers/analytics.js
16
17
 
17
18
  document.addEventListener('turbolinks:load', function () {
18
19
  $(document).initFoundation();
@@ -22,10 +23,5 @@ document.addEventListener('turbolinks:load', function () {
22
23
  plugins: ['remove_button']
23
24
  });
24
25
 
25
- if (window.ga) {
26
- ga('set', 'location', location.href.split('#')[0]);
27
- ga('send', 'pageview', {
28
- "title": document.title
29
- });
30
- }
26
+ window.initializeGoogleAnalytics();
31
27
  });
@@ -11,10 +11,10 @@
11
11
  //= require foundation.initialize
12
12
  //= require tabs
13
13
  //= require js-routes
14
+ //= require ./initializers/analytics.js
14
15
  //= require ./initializers/heap_analytics
15
16
  //= require ./initializers/about_people
16
17
  //= require ./initializers/bundles
17
- //= require ./initializers/google_analytics
18
18
  //= require ./initializers/header_dropdown
19
19
  //= require ./initializers/leadership
20
20
  //= require ./initializers/lessons
@@ -34,7 +34,7 @@ document.addEventListener('turbolinks:load', function () {
34
34
  window.initializeAboutPeople();
35
35
  window.initializeSocialSharing();
36
36
  window.initializeLeadership();
37
- //window.initializeFreshdesk();
37
+ // window.initializeFreshdesk();
38
38
  window.initializeGoogleAnalytics();
39
39
  window.initializeSoundCloud();
40
40
  window.initializeSubscribePlaceholder();
@@ -127,7 +127,7 @@
127
127
  };
128
128
 
129
129
  var pollContentStatus = function pollContentStatus(id, key, link) {
130
- $(link).prepend('<i class="fa fa-spin fa-spinner u-margin-right--base" />');
130
+ $(link).prepend('<i class="fas fa-spin fa-spinner u-margin-right--base" />');
131
131
  return new Promise(function (resolve, reject) {
132
132
  var poll = function poll() {
133
133
  $.getJSON("".concat(location.pathname, "/export/status"), {
@@ -1,7 +1,7 @@
1
1
  @import 'application';
2
2
  @import 'selectize';
3
3
  @import 'jstree';
4
- @import 'vendors/jquery.tagsinput';
4
+ @import 'vendors/jquery.tagsinput.css';
5
5
  @import 'admin/resources';
6
6
  @import 'admin/curriculums';
7
7
  @import 'admin/standards';
@@ -16,8 +16,8 @@
16
16
  'font-awesome-sprockets',
17
17
  'font-awesome',
18
18
  'vendors/foundation_and_overrides',
19
- 'vendors/mathjax',
20
- 'vendors/swiper';
19
+ 'vendors/mathjax.css',
20
+ 'vendors/swiper.css';
21
21
 
22
22
  @import
23
23
  'utils/styles_override',
@@ -61,7 +61,8 @@
61
61
  'components/sidebar',
62
62
  'components/simple-tab',
63
63
  'components/social-sharing',
64
- 'components/support/*',
64
+ 'components/support/helpdesk',
65
+ 'components/support/survey',
65
66
  'components/titles',
66
67
  'components/top-scroll-button',
67
68
  'components/unit-bundles';
@@ -87,7 +87,7 @@ $ub-cur-card-margin: 2px;
87
87
  }
88
88
 
89
89
  @include e(body) {
90
- @include flex-grid-column($gutter: $grid-column-2xgutter);
90
+ @include flex-grid-column($gutters: $grid-column-2xgutter);
91
91
  @include zero-margin-bottom;
92
92
 
93
93
  h3 { margin-bottom: 0; }
@@ -3,12 +3,12 @@
3
3
  }
4
4
 
5
5
  @mixin curriculum-map-base {
6
- @include flex-grid-row($gutter: 0);
6
+ @include flex-grid-row($gutters: 0);
7
7
  flex-flow: column nowrap;
8
8
 
9
9
  @include e(module-wrap) {
10
10
  @extend %map-transition;
11
- //@include flex-grid-column($gutter: 0);
11
+ //@include flex-grid-column($gutters: 0);
12
12
  }
13
13
 
14
14
  @include e(module) {
@@ -24,12 +24,12 @@
24
24
 
25
25
  @include e(units-wrap) {
26
26
  width: 100%;
27
- //@include flex-grid-column($gutter: 0);
27
+ //@include flex-grid-column($gutters: 0);
28
28
  }
29
29
 
30
30
  @include e(units) {
31
31
  @extend %map-transition;
32
- @include flex-grid-row($gutter: 0);
32
+ @include flex-grid-row($gutters: 0);
33
33
  @include flex-align($x: left, $y: top);
34
34
  margin-left: 0;
35
35
  }
@@ -2,5 +2,5 @@
2
2
  }
3
3
 
4
4
  .o-media-video {
5
- @include flex-video($flexvideo-ratio-widescreen);
5
+ @include responsive-embed(map-get($responsive-embed-ratios, 'widescreen'));
6
6
  }
@@ -25,7 +25,7 @@
25
25
  }
26
26
 
27
27
  @include e(cards) {
28
- @include flex-grid-row($gutter: $grid-column-gutter);
28
+ @include flex-grid-row($gutters: $grid-column-gutter);
29
29
  @include flex-align($x: spaced);
30
30
  @extend .u-margin-bottom--large;
31
31
  }
@@ -78,7 +78,7 @@ $li-downloads-indent: 33.44px;
78
78
  padding-bottom: 10px;
79
79
 
80
80
  @include m(icons) {
81
- @include menu-icons($position: left);
81
+ @include menu-icons;
82
82
  }
83
83
 
84
84
  @each $code, $color in $ub-colorcodes {
@@ -135,7 +135,7 @@ $li-downloads-indent: 33.44px;
135
135
  @include flex-grid-row(nest);
136
136
 
137
137
  @include m(2x) {
138
- @include flex-grid-row(nest, $gutter: $grid-column-2xgutter);
138
+ @include flex-grid-row(nest, $gutters: $grid-column-2xgutter);
139
139
  }
140
140
 
141
141
  @include e(map) {
@@ -143,10 +143,10 @@ $li-downloads-indent: 33.44px;
143
143
  width: map-get($curriculum-map-width, base) + 30px;
144
144
 
145
145
  @include m(2x) {
146
- @include flex-grid-column(shrink, $gutter: $grid-column-2xgutter);
146
+ @include flex-grid-column(shrink, $gutters: $grid-column-2xgutter);
147
147
 
148
148
  @include breakpoint(small only) {
149
- @include flex-grid-column(12, $gutter: $grid-column-2xgutter);
149
+ @include flex-grid-column(12, $gutters: $grid-column-2xgutter);
150
150
  }
151
151
  }
152
152
 
@@ -176,10 +176,10 @@ $li-downloads-indent: 33.44px;
176
176
  }
177
177
 
178
178
  @include m(2x) {
179
- @include flex-grid-column($gutter: $grid-column-2xgutter);
179
+ @include flex-grid-column($gutters: $grid-column-2xgutter);
180
180
 
181
181
  @include breakpoint(small only) {
182
- @include flex-grid-column(12, $gutter: $grid-column-2xgutter);
182
+ @include flex-grid-column(12, $gutters: $grid-column-2xgutter);
183
183
  }
184
184
  }
185
185
  }
@@ -96,7 +96,7 @@ $c-hp-math-gradient: rgba(map-get($ub-colorcodes, math-base), .9);
96
96
  }
97
97
 
98
98
  @include e(item) {
99
- @include flex-grid-column(12, $gutter: $grid-column-2xgutter);
99
+ @include flex-grid-column(12, $gutters: $grid-column-2xgutter);
100
100
  @include add-top-bottom-margin(0);
101
101
  @include add-top-bottom-padding;
102
102
  flex-shrink: 1;
@@ -109,7 +109,7 @@ $c-hp-math-gradient: rgba(map-get($ub-colorcodes, math-base), .9);
109
109
  }
110
110
 
111
111
  @include e(text) {
112
- @include flex-grid-column(12, $gutter: $grid-column-2xgutter);
112
+ @include flex-grid-column(12, $gutters: $grid-column-2xgutter);
113
113
  @include add-top-bottom-margin(0);
114
114
  @include add-top-bottom-padding;
115
115
  border: 0;
@@ -117,7 +117,7 @@ $c-hp-math-gradient: rgba(map-get($ub-colorcodes, math-base), .9);
117
117
  flex-shrink: 1;
118
118
 
119
119
  @include breakpoint(medium) {
120
- @include flex-grid-column(null, $gutter: $grid-column-2xgutter);
120
+ @include flex-grid-column(null, $gutters: $grid-column-2xgutter);
121
121
  @include add-top-bottom-margin;
122
122
  @include add-top-bottom-padding(0);
123
123
  border: 0;
@@ -127,7 +127,7 @@ $c-hp-math-gradient: rgba(map-get($ub-colorcodes, math-base), .9);
127
127
 
128
128
  @include e(btn) {
129
129
  @include breakpoint(ipad down) {
130
- @include flex-grid-column(12, $gutter: $grid-column-2xgutter);
130
+ @include flex-grid-column(12, $gutters: $grid-column-2xgutter);
131
131
  margin-top: 0;
132
132
  padding-top: 0;
133
133
  }
@@ -12,7 +12,7 @@
12
12
 
13
13
  @import
14
14
  'vendors/foundation_and_overrides-pdf',
15
- 'vendors/mathjax';
15
+ 'vendors/mathjax.css';
16
16
 
17
17
  @import
18
18
  'utils/styles_override',
@@ -16,29 +16,49 @@
16
16
  // 11. Button
17
17
  // 12. Button Group
18
18
  // 13. Callout
19
- // 14. Close Button
20
- // 15. Drilldown
21
- // 16. Dropdown
22
- // 17. Dropdown Menu
23
- // 18. Flex Video
24
- // 19. Forms
25
- // 20. Label
26
- // 21. Media Object
27
- // 22. Menu
28
- // 23. Meter
29
- // 24. Off-canvas
30
- // 25. Orbit
31
- // 26. Pagination
32
- // 27. Progress Bar
33
- // 28. Reveal
34
- // 29. Slider
35
- // 30. Switch
36
- // 31. Table
37
- // 32. Tabs
38
- // 33. Thumbnail
39
- // 34. Title Bar
40
- // 35. Tooltip
41
- // 36. Top Bar
19
+ // 14. Card
20
+ // 15. Close Button
21
+ // 16. Drilldown
22
+ // 17. Dropdown
23
+ // 18. Dropdown Menu
24
+ // 19. Flexbox Utilities
25
+ // 20. Forms
26
+ // 21. Label
27
+ // 22. Media Object
28
+ // 23. Menu
29
+ // 24. Meter
30
+ // 25. Off-canvas
31
+ // 26. Orbit
32
+ // 27. Pagination
33
+ // 28. Progress Bar
34
+ // 29. Prototype Arrow
35
+ // 30. Prototype Border-Box
36
+ // 31. Prototype Border-None
37
+ // 32. Prototype Bordered
38
+ // 33. Prototype Display
39
+ // 34. Prototype Font-Styling
40
+ // 35. Prototype List-Style-Type
41
+ // 36. Prototype Overflow
42
+ // 37. Prototype Position
43
+ // 38. Prototype Rounded
44
+ // 39. Prototype Separator
45
+ // 40. Prototype Shadow
46
+ // 41. Prototype Sizing
47
+ // 42. Prototype Spacing
48
+ // 43. Prototype Text-Decoration
49
+ // 44. Prototype Text-Transformation
50
+ // 45. Prototype Text-Utilities
51
+ // 46. Responsive Embed
52
+ // 47. Reveal
53
+ // 48. Slider
54
+ // 49. Switch
55
+ // 50. Table
56
+ // 51. Tabs
57
+ // 52. Thumbnail
58
+ // 53. Title Bar
59
+ // 54. Tooltip
60
+ // 55. Top Bar
61
+ // 56. Xy Grid
42
62
 
43
63
  @import 'util/util';
44
64
 
@@ -66,14 +86,21 @@ $body-font-family: $ub-sanserif;
66
86
  $body-antialiased: true;
67
87
  $global-margin: $ub-base-margin;
68
88
  $global-padding: $ub-base-padding;
89
+ $global-position: 1rem;
69
90
  $global-weight-normal: normal;
70
91
  $global-weight-bold: bold;
71
92
  $global-radius: 2px;
93
+ $global-menu-padding: 0.7rem 1rem;
94
+ $global-menu-nested-margin: 1rem;
72
95
  $global-text-direction: ltr;
73
96
  $global-flexbox: true;
97
+ $global-prototype-breakpoints: false;
98
+ $global-button-cursor: auto;
99
+ $global-color-pick-contrast-tolerance: 0;
74
100
  $print-transparent-backgrounds: true;
75
101
 
76
102
  @include add-foundation-colors;
103
+ $print-hrefs: true;
77
104
 
78
105
  // 2. Breakpoints
79
106
  // --------------
@@ -86,6 +113,7 @@ $breakpoints: (
86
113
  xlarge: 1230px,
87
114
  xxlarge: 1440px,
88
115
  );
116
+ $print-breakpoint: large;
89
117
  $breakpoint-classes: (small medium ipad large xlarge);
90
118
 
91
119
  // 3. The Grid
@@ -106,6 +134,7 @@ $grid-column-4xgutter: (
106
134
  medium: 2 * 60px,
107
135
  );
108
136
  $grid-column-align-edge: true;
137
+ $grid-column-alias: 'columns';
109
138
  $block-grid-max: 8;
110
139
 
111
140
  // 4. Base Typography
@@ -115,27 +144,27 @@ $header-font-family: $ub-serif;
115
144
  $header-font-weight: $global-weight-normal;
116
145
  $header-font-style: normal;
117
146
  $font-family-monospace: Consolas, 'Liberation Mono', Courier, monospace;
118
- $header-sizes: (
119
- small: (
120
- 'h1': 26,
121
- 'h2': 20,
122
- 'h3': 21,
123
- 'h4': 18,
124
- 'h5': 18,
125
- 'h6': 18,
126
- ),
127
- medium: (
128
- 'h1': 34,
129
- 'h2': 22,
130
- 'h3': 26,
131
- 'h4': 21,
132
- 'h5': 22,
133
- 'h6': 18,
134
- ),
135
- );
136
- $header-color: $ub-heading-txt;
137
- $header-lineheight: 1.2;
147
+ $header-color: inherit;
148
+ $header-lineheight: 1.4;
138
149
  $header-margin-bottom: 0.5rem;
150
+ $header-styles: (
151
+ small: (
152
+ 'h1': ('font-size': 26),
153
+ 'h2': ('font-size': 20),
154
+ 'h3': ('font-size': 21),
155
+ 'h4': ('font-size': 18),
156
+ 'h5': ('font-size': 18),
157
+ 'h6': ('font-size': 18),
158
+ ),
159
+ medium: (
160
+ 'h1': ('font-size': 34),
161
+ 'h2': ('font-size': 22),
162
+ 'h3': ('font-size': 26),
163
+ 'h4': ('font-size': 21),
164
+ 'h5': ('font-size': 21),
165
+ 'h6': ('font-size': 18),
166
+ ),
167
+ );
139
168
  $header-text-rendering: optimizeLegibility;
140
169
  $small-font-size: 80%;
141
170
  $header-small-font-color: $medium-gray;
@@ -153,7 +182,7 @@ $anchor-color-hover: scale-color($anchor-color, $lightness: -14%);
153
182
  $anchor-text-decoration: none;
154
183
  $anchor-text-decoration-hover: none;
155
184
  $hr-width: $global-width;
156
- $hr-border: 1px solid $ub-hr;
185
+ $hr-border: 1px solid $medium-gray;
157
186
  $hr-margin: rem-calc(20) auto;
158
187
  $list-lineheight: $paragraph-lineheight;
159
188
  $list-margin-bottom: $paragraph-margin-bottom;
@@ -169,6 +198,7 @@ $blockquote-padding: rem-calc(9 20 0 19);
169
198
  $blockquote-border: 1px solid $medium-gray;
170
199
  $cite-font-size: rem-calc(13);
171
200
  $cite-color: $dark-gray;
201
+ $cite-pseudo-content: '\2014 \0020';
172
202
  $keystroke-font: $font-family-monospace;
173
203
  $keystroke-color: $black;
174
204
  $keystroke-background: $light-gray;
@@ -193,9 +223,9 @@ $stat-font-size: 2.5rem;
193
223
 
194
224
  $abide-inputs: true;
195
225
  $abide-labels: true;
196
- $input-background-invalid: map-get($foundation-palette, alert);
197
- $form-label-color-invalid: map-get($foundation-palette, alert);
198
- $input-error-color: map-get($foundation-palette, alert);
226
+ $input-background-invalid: get-color(alert);
227
+ $form-label-color-invalid: get-color(alert);
228
+ $input-error-color: get-color(alert);
199
229
  $input-error-font-size: rem-calc(12);
200
230
  $input-error-font-weight: $global-weight-bold;
201
231
 
@@ -204,25 +234,38 @@ $input-error-font-weight: $global-weight-bold;
204
234
 
205
235
  $accordion-background: $white;
206
236
  $accordion-plusminus: true;
207
- $accordion-item-color: foreground($accordion-background, $primary-color);
237
+ $accordion-title-font-size: rem-calc(12);
238
+ $accordion-item-color: $primary-color;
208
239
  $accordion-item-background-hover: $light-gray;
209
240
  $accordion-item-padding: 1.25rem 1rem;
210
241
  $accordion-content-background: $white;
211
242
  $accordion-content-border: 1px solid $light-gray;
212
- $accordion-content-color: foreground($accordion-background, $primary-color);
243
+ $accordion-content-color: $body-font-color;
213
244
  $accordion-content-padding: 1rem;
214
245
 
215
246
  // 8. Accordion Menu
216
247
  // -----------------
217
248
 
249
+ $accordionmenu-padding: $global-menu-padding;
250
+ $accordionmenu-nested-margin: $global-menu-nested-margin;
251
+ $accordionmenu-submenu-padding: $accordionmenu-padding;
218
252
  $accordionmenu-arrows: true;
219
253
  $accordionmenu-arrow-color: $primary-color;
254
+ $accordionmenu-item-background: null;
255
+ $accordionmenu-border: null;
256
+ $accordionmenu-submenu-toggle-background: null;
257
+ $accordion-submenu-toggle-border: $accordionmenu-border;
258
+ $accordionmenu-submenu-toggle-width: 40px;
259
+ $accordionmenu-submenu-toggle-height: $accordionmenu-submenu-toggle-width;
260
+ $accordionmenu-arrow-size: 6px;
220
261
 
221
262
  // 9. Badge
222
263
  // --------
223
264
 
224
265
  $badge-background: $primary-color;
225
- $badge-color: foreground($badge-background);
266
+ $badge-color: $white;
267
+ $badge-color-alt: $black;
268
+ $badge-palette: $foundation-palette;
226
269
  $badge-padding: 0.3em;
227
270
  $badge-minwidth: 2.1em;
228
271
  $badge-font-size: 0.6rem;
@@ -237,26 +280,36 @@ $breadcrumbs-item-color-current: $black;
237
280
  $breadcrumbs-item-color-disabled: $medium-gray;
238
281
  $breadcrumbs-item-margin: 0.75rem;
239
282
  $breadcrumbs-item-uppercase: true;
240
- $breadcrumbs-item-slash: true;
283
+ $breadcrumbs-item-separator: true;
284
+ $breadcrumbs-item-separator-item: '/';
285
+ $breadcrumbs-item-separator-item-rtl: '\\';
286
+ $breadcrumbs-item-separator-color: $medium-gray;
241
287
 
242
288
  // 11. Button
243
289
  // ----------
244
290
 
291
+ $button-font-family: inherit;
245
292
  $button-padding: 0.85em 1em;
246
293
  $button-margin: 0 0 $global-margin 0;
247
294
  $button-fill: solid;
248
- $button-background: $ub-btn-base;
295
+ $button-background: $primary-color;
249
296
  $button-background-hover: scale-color($button-background, $lightness: -15%);
250
297
  $button-color: $white;
251
298
  $button-color-alt: $black;
252
299
  $button-radius: $global-radius;
300
+ $button-hollow-border-width: 1px;
253
301
  $button-sizes: (
254
302
  tiny: 0.6rem,
255
303
  small: 0.75rem,
256
304
  default: 0.9rem,
257
305
  large: 1.25rem,
258
306
  );
307
+ $button-palette: $foundation-palette;
259
308
  $button-opacity-disabled: 0.25;
309
+ $button-background-hover-lightness: -20%;
310
+ $button-hollow-hover-lightness: -50%;
311
+ $button-transition: background-color 0.25s ease-out, color 0.25s ease-out;
312
+ $button-responsive-expanded: false;
260
313
 
261
314
  // 12. Button Group
262
315
  // ----------------
@@ -265,13 +318,14 @@ $buttongroup-margin: 1rem;
265
318
  $buttongroup-spacing: 1px;
266
319
  $buttongroup-child-selector: '.button';
267
320
  $buttongroup-expand-max: 6;
321
+ $buttongroup-radius-on-each: true;
268
322
 
269
323
  // 13. Callout
270
324
  // -----------
271
325
 
272
326
  $callout-background: $white;
273
327
  $callout-background-fade: 85%;
274
- $callout-border: 0; //1px solid rgba($black, 0.25);
328
+ $callout-border: 1px solid rgba($black, 0.25);
275
329
  $callout-margin: 0 0 1rem 0;
276
330
  $callout-padding: 1rem;
277
331
  $callout-font-color: $body-font-color;
@@ -279,56 +333,90 @@ $callout-font-color-alt: $body-background;
279
333
  $callout-radius: $global-radius;
280
334
  $callout-link-tint: 30%;
281
335
 
282
- // 14. Close Button
336
+ // 14. Card
337
+ // --------
338
+
339
+ $card-background: $white;
340
+ $card-font-color: $body-font-color;
341
+ $card-divider-background: $light-gray;
342
+ $card-border: 1px solid $light-gray;
343
+ $card-shadow: none;
344
+ $card-border-radius: $global-radius;
345
+ $card-padding: $global-padding;
346
+ $card-margin-bottom: $global-margin;
347
+
348
+ // 15. Close Button
283
349
  // ----------------
284
350
 
285
351
  $closebutton-position: right top;
286
- $closebutton-offset-horizontal: 1rem;
287
- $closebutton-offset-vertical: 0.5rem;
288
- $closebutton-size: 2em;
352
+ $closebutton-offset-horizontal: (
353
+ small: 0.66rem,
354
+ medium: 1rem,
355
+ );
356
+ $closebutton-offset-vertical: (
357
+ small: 0.33em,
358
+ medium: 0.5rem,
359
+ );
360
+ $closebutton-size: (
361
+ small: 1.5em,
362
+ medium: 2em,
363
+ );
289
364
  $closebutton-lineheight: 1;
290
365
  $closebutton-color: $dark-gray;
291
366
  $closebutton-color-hover: $black;
292
367
 
293
- // 15. Drilldown
368
+ // 16. Drilldown
294
369
  // -------------
295
370
 
296
371
  $drilldown-transition: transform 0.15s linear;
297
372
  $drilldown-arrows: true;
298
- $drilldown-arrow-color: $primary-color;
373
+ $drilldown-padding: $global-menu-padding;
374
+ $drilldown-nested-margin: 0;
299
375
  $drilldown-background: $white;
376
+ $drilldown-submenu-padding: $drilldown-padding;
377
+ $drilldown-submenu-background: $white;
378
+ $drilldown-arrow-color: $primary-color;
379
+ $drilldown-arrow-size: 6px;
300
380
 
301
- // 16. Dropdown
381
+ // 17. Dropdown
302
382
  // ------------
303
383
 
304
384
  $dropdown-padding: 1rem;
385
+ $dropdown-background: $body-background;
305
386
  $dropdown-border: 1px solid $medium-gray;
306
387
  $dropdown-font-size: 1rem;
307
388
  $dropdown-width: 300px;
308
389
  $dropdown-radius: $global-radius;
309
390
  $dropdown-sizes: (
310
- tiny: 100px,
311
- small: 200px,
312
- large: 400px,
391
+ tiny: 100px,
392
+ small: 200px,
393
+ large: 400px,
313
394
  );
314
395
 
315
- // 17. Dropdown Menu
396
+ // 18. Dropdown Menu
316
397
  // -----------------
317
398
 
318
399
  $dropdownmenu-arrows: true;
319
400
  $dropdownmenu-arrow-color: $anchor-color;
401
+ $dropdownmenu-arrow-size: 6px;
402
+ $dropdownmenu-arrow-padding: 1.5rem;
320
403
  $dropdownmenu-min-width: 200px;
321
- $dropdownmenu-background: $white;
404
+ $dropdownmenu-background: null;
405
+ $dropdownmenu-submenu-background: $white;
406
+ $dropdownmenu-padding: $global-menu-padding;
407
+ $dropdownmenu-nested-margin: 0;
408
+ $dropdownmenu-submenu-padding: $dropdownmenu-padding;
322
409
  $dropdownmenu-border: 1px solid $medium-gray;
410
+ $dropdown-menu-item-color-active: get-color(primary);
411
+ $dropdown-menu-item-background-active: transparent;
323
412
 
324
- // 18. Flex Video
325
- // --------------
413
+ // 19. Flexbox Utilities
414
+ // ---------------------
326
415
 
327
- $flexvideo-margin-bottom: rem-calc(16);
328
- $flexvideo-ratio: 4 by 3;
329
- $flexvideo-ratio-widescreen: 16 by 9;
416
+ $flex-source-ordering-count: 6;
417
+ $flexbox-responsive-breakpoints: true;
330
418
 
331
- // 19. Forms
419
+ // 20. Forms
332
420
  // ---------
333
421
 
334
422
  $fieldset-border: 1px solid $medium-gray;
@@ -340,59 +428,69 @@ $helptext-color: $black;
340
428
  $helptext-font-size: rem-calc(13);
341
429
  $helptext-font-style: italic;
342
430
  $input-prefix-color: $black;
343
- $input-prefix-background: $white;
431
+ $input-prefix-background: $light-gray;
344
432
  $input-prefix-border: 1px solid $medium-gray;
345
433
  $input-prefix-padding: 1rem;
346
434
  $form-label-color: $black;
347
435
  $form-label-font-size: rem-calc(14);
348
436
  $form-label-font-weight: $global-weight-normal;
349
437
  $form-label-line-height: 1.8;
350
- $select-background: $ub-page-bg;
351
- $select-triangle-color: $ub-txt;
438
+ $select-background: $white;
439
+ $select-triangle-color: $dark-gray;
352
440
  $select-radius: $global-radius;
353
441
  $input-color: $black;
354
442
  $input-placeholder-color: $medium-gray;
355
443
  $input-font-family: inherit;
356
444
  $input-font-size: rem-calc(16);
445
+ $input-font-weight: $global-weight-normal;
446
+ $input-line-height: $global-lineheight;
357
447
  $input-background: $white;
358
448
  $input-background-focus: $white;
359
449
  $input-background-disabled: $light-gray;
360
450
  $input-border: 1px solid $medium-gray;
361
451
  $input-border-focus: 1px solid $dark-gray;
452
+ $input-padding: $form-spacing / 2;
362
453
  $input-shadow: inset 0 1px 2px rgba($black, 0.1);
363
454
  $input-shadow-focus: 0 0 5px $medium-gray;
364
- $input-cursor-disabled: default;
455
+ $input-cursor-disabled: not-allowed;
365
456
  $input-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
366
457
  $input-number-spinners: true;
367
458
  $input-radius: $global-radius;
459
+ $form-button-radius: $global-radius;
368
460
 
369
- // 20. Label
461
+ // 21. Label
370
462
  // ---------
371
463
 
372
464
  $label-background: $primary-color;
373
- $label-color: foreground($label-background);
465
+ $label-color: $white;
466
+ $label-color-alt: $black;
467
+ $label-palette: $foundation-palette;
374
468
  $label-font-size: 0.8rem;
375
469
  $label-padding: 0.33333rem 0.5rem;
376
470
  $label-radius: $global-radius;
377
471
 
378
- // 21. Media Object
472
+ // 22. Media Object
379
473
  // ----------------
380
474
 
381
475
  $mediaobject-margin-bottom: $global-margin;
382
476
  $mediaobject-section-padding: $global-padding;
383
477
  $mediaobject-image-width-stacked: 100%;
384
478
 
385
- // 22. Menu
479
+ // 23. Menu
386
480
  // --------
387
481
 
388
482
  $menu-margin: 0;
389
- $menu-margin-nested: 1rem;
390
- $menu-item-padding: 0.7rem 1rem;
483
+ $menu-nested-margin: $global-menu-nested-margin;
484
+ $menu-items-padding: $global-menu-padding;
485
+ $menu-simple-margin: 1rem;
391
486
  $menu-item-color-active: $white;
392
- $menu-item-background-active: map-get($foundation-palette, primary);
487
+ $menu-item-background-active: get-color(primary);
393
488
  $menu-icon-spacing: 0.25rem;
489
+ $menu-state-back-compat: true;
490
+ $menu-centered-back-compat: true;
491
+ $menu-icons-back-compat: true;
394
492
 
395
- // 23. Meter
493
+ // 24. Meter
396
494
  // ---------
397
495
 
398
496
  $meter-height: 1rem;
@@ -402,20 +500,30 @@ $meter-fill-good: $success-color;
402
500
  $meter-fill-medium: $warning-color;
403
501
  $meter-fill-bad: $alert-color;
404
502
 
405
- // 24. Off-canvas
503
+ // 25. Off-canvas
406
504
  // --------------
407
505
 
408
- $offcanvas-size: 250px;
506
+ $offcanvas-sizes: (
507
+ small: 250px,
508
+ );
509
+ $offcanvas-vertical-sizes: (
510
+ small: 250px,
511
+ );
409
512
  $offcanvas-background: $light-gray;
410
- $offcanvas-zindex: -1;
513
+ $offcanvas-shadow: 0 0 10px rgba($black, 0.7);
514
+ $offcanvas-inner-shadow-size: 20px;
515
+ $offcanvas-inner-shadow-color: rgba($black, 0.25);
516
+ $offcanvas-overlay-zindex: 11;
517
+ $offcanvas-push-zindex: 12;
518
+ $offcanvas-overlap-zindex: 13;
519
+ $offcanvas-reveal-zindex: 12;
411
520
  $offcanvas-transition-length: 0.5s;
412
521
  $offcanvas-transition-timing: ease;
413
522
  $offcanvas-fixed-reveal: true;
414
523
  $offcanvas-exit-background: rgba($white, 0.25);
415
524
  $maincontent-class: 'off-canvas-content';
416
- $maincontent-shadow: 0 0 10px rgba($black, 0.5);
417
525
 
418
- // 25. Orbit
526
+ // 26. Orbit
419
527
  // ---------
420
528
 
421
529
  $orbit-bullet-background: $medium-gray;
@@ -430,7 +538,7 @@ $orbit-control-background-hover: rgba($black, 0.5);
430
538
  $orbit-control-padding: 1rem;
431
539
  $orbit-control-zindex: 10;
432
540
 
433
- // 26. Pagination
541
+ // 27. Pagination
434
542
  // --------------
435
543
 
436
544
  $pagination-font-size: rem-calc(14);
@@ -441,13 +549,14 @@ $pagination-item-spacing: rem-calc(1);
441
549
  $pagination-radius: $global-radius;
442
550
  $pagination-item-background-hover: $light-gray;
443
551
  $pagination-item-background-current: $primary-color;
444
- $pagination-item-color-current: foreground($pagination-item-background-current);
552
+ $pagination-item-color-current: $white;
445
553
  $pagination-item-color-disabled: $medium-gray;
446
554
  $pagination-ellipsis-color: $black;
447
555
  $pagination-mobile-items: false;
556
+ $pagination-mobile-current-item: false;
448
557
  $pagination-arrows: true;
449
558
 
450
- // 27. Progress Bar
559
+ // 28. Progress Bar
451
560
  // ----------------
452
561
 
453
562
  $progress-height: 1rem;
@@ -456,19 +565,189 @@ $progress-margin-bottom: $global-margin;
456
565
  $progress-meter-background: $primary-color;
457
566
  $progress-radius: $global-radius;
458
567
 
459
- // 28. Reveal
568
+ // 29. Prototype Arrow
569
+ // -------------------
570
+
571
+ $prototype-arrow-directions: (
572
+ down,
573
+ up,
574
+ right,
575
+ left
576
+ );
577
+ $prototype-arrow-size: 0.4375rem;
578
+ $prototype-arrow-color: $black;
579
+
580
+ // 30. Prototype Border-Box
581
+ // ------------------------
582
+
583
+ $prototype-border-box-breakpoints: $global-prototype-breakpoints;
584
+
585
+ // 31. Prototype Border-None
586
+ // -------------------------
587
+
588
+ $prototype-border-none-breakpoints: $global-prototype-breakpoints;
589
+
590
+ // 32. Prototype Bordered
591
+ // ----------------------
592
+
593
+ $prototype-bordered-breakpoints: $global-prototype-breakpoints;
594
+ $prototype-border-width: rem-calc(1);
595
+ $prototype-border-type: solid;
596
+ $prototype-border-color: $medium-gray;
597
+
598
+ // 33. Prototype Display
599
+ // ---------------------
600
+
601
+ $prototype-display-breakpoints: $global-prototype-breakpoints;
602
+ $prototype-display: (
603
+ inline,
604
+ inline-block,
605
+ block,
606
+ table,
607
+ table-cell
608
+ );
609
+
610
+ // 34. Prototype Font-Styling
611
+ // --------------------------
612
+
613
+ $prototype-font-breakpoints: $global-prototype-breakpoints;
614
+ $prototype-wide-letter-spacing: rem-calc(4);
615
+ $prototype-font-normal: $global-weight-normal;
616
+ $prototype-font-bold: $global-weight-bold;
617
+
618
+ // 35. Prototype List-Style-Type
619
+ // -----------------------------
620
+
621
+ $prototype-list-breakpoints: $global-prototype-breakpoints;
622
+ $prototype-style-type-unordered: (
623
+ disc,
624
+ circle,
625
+ square
626
+ );
627
+ $prototype-style-type-ordered: (
628
+ decimal,
629
+ lower-alpha,
630
+ lower-latin,
631
+ lower-roman,
632
+ upper-alpha,
633
+ upper-latin,
634
+ upper-roman
635
+ );
636
+
637
+ // 36. Prototype Overflow
638
+ // ----------------------
639
+
640
+ $prototype-overflow-breakpoints: $global-prototype-breakpoints;
641
+ $prototype-overflow: (
642
+ visible,
643
+ hidden,
644
+ scroll
645
+ );
646
+
647
+ // 37. Prototype Position
648
+ // ----------------------
649
+
650
+ $prototype-position-breakpoints: $global-prototype-breakpoints;
651
+ $prototype-position: (
652
+ static,
653
+ relative,
654
+ absolute,
655
+ fixed
656
+ );
657
+ $prototype-position-z-index: 975;
658
+
659
+ // 38. Prototype Rounded
660
+ // ---------------------
661
+
662
+ $prototype-rounded-breakpoints: $global-prototype-breakpoints;
663
+ $prototype-border-radius: rem-calc(3);
664
+
665
+ // 39. Prototype Separator
666
+ // -----------------------
667
+
668
+ $prototype-separator-breakpoints: $global-prototype-breakpoints;
669
+ $prototype-separator-align: center;
670
+ $prototype-separator-height: rem-calc(2);
671
+ $prototype-separator-width: 3rem;
672
+ $prototype-separator-background: $primary-color;
673
+ $prototype-separator-margin-top: $global-margin;
674
+
675
+ // 40. Prototype Shadow
676
+ // --------------------
677
+
678
+ $prototype-shadow-breakpoints: $global-prototype-breakpoints;
679
+ $prototype-box-shadow: 0 2px 5px 0 rgba(0,0,0,.16),
680
+ 0 2px 10px 0 rgba(0,0,0,.12);
681
+
682
+ // 41. Prototype Sizing
683
+ // --------------------
684
+
685
+ $prototype-sizing-breakpoints: $global-prototype-breakpoints;
686
+ $prototype-sizing: (
687
+ width,
688
+ height
689
+ );
690
+ $prototype-sizes: (
691
+ 25: 25%,
692
+ 50: 50%,
693
+ 75: 75%,
694
+ 100: 100%
695
+ );
696
+
697
+ // 42. Prototype Spacing
698
+ // ---------------------
699
+
700
+ $prototype-spacing-breakpoints: $global-prototype-breakpoints;
701
+ $prototype-spacers-count: 3;
702
+
703
+ // 43. Prototype Text-Decoration
704
+ // -----------------------------
705
+
706
+ $prototype-decoration-breakpoints: $global-prototype-breakpoints;
707
+ $prototype-text-decoration: (
708
+ overline,
709
+ underline,
710
+ line-through,
711
+ );
712
+
713
+ // 44. Prototype Text-Transformation
714
+ // ---------------------------------
715
+
716
+ $prototype-transformation-breakpoints: $global-prototype-breakpoints;
717
+ $prototype-text-transformation: (
718
+ lowercase,
719
+ uppercase,
720
+ capitalize
721
+ );
722
+
723
+ // 45. Prototype Text-Utilities
724
+ // ----------------------------
725
+
726
+ $prototype-utilities-breakpoints: $global-prototype-breakpoints;
727
+ $prototype-text-overflow: ellipsis;
728
+
729
+ // 46. Responsive Embed
730
+ // --------------------
731
+
732
+ $responsive-embed-margin-bottom: rem-calc(16);
733
+ $responsive-embed-ratios: (
734
+ default: 4 by 3,
735
+ widescreen: 16 by 9,
736
+ );
737
+
738
+ // 47. Reveal
460
739
  // ----------
461
740
 
462
- $reveal-background: $ub-white;
741
+ $reveal-background: $white;
463
742
  $reveal-width: 600px;
464
743
  $reveal-max-width: $global-width;
465
- $reveal-padding: 0;
744
+ $reveal-padding: $global-padding;
466
745
  $reveal-border: 1px solid $medium-gray;
467
746
  $reveal-radius: $global-radius;
468
747
  $reveal-zindex: 1005;
469
748
  $reveal-overlay-background: rgba($black, 0.45);
470
749
 
471
- // 29. Slider
750
+ // 48. Slider
472
751
  // ----------
473
752
 
474
753
  $slider-width-vertical: 0.5rem;
@@ -482,7 +761,7 @@ $slider-handle-background: $primary-color;
482
761
  $slider-opacity-disabled: 0.25;
483
762
  $slider-radius: $global-radius;
484
763
 
485
- // 30. Switch
764
+ // 49. Switch
486
765
  // ----------
487
766
 
488
767
  $switch-background: $medium-gray;
@@ -498,7 +777,7 @@ $switch-paddle-offset: 0.25rem;
498
777
  $switch-paddle-radius: $global-radius;
499
778
  $switch-paddle-transition: all 0.25s ease-out;
500
779
 
501
- // 31. Table
780
+ // 50. Table
502
781
  // ---------
503
782
 
504
783
  $table-background: $white;
@@ -508,39 +787,45 @@ $table-padding: rem-calc(8 10 10);
508
787
  $table-hover-scale: 2%;
509
788
  $table-row-hover: darken($table-background, $table-hover-scale);
510
789
  $table-row-stripe-hover: darken($table-background, $table-color-scale + $table-hover-scale);
790
+ $table-is-striped: true;
511
791
  $table-striped-background: smart-scale($table-background, $table-color-scale);
512
792
  $table-stripe: even;
513
793
  $table-head-background: smart-scale($table-background, $table-color-scale / 2);
794
+ $table-head-row-hover: darken($table-head-background, $table-hover-scale);
514
795
  $table-foot-background: smart-scale($table-background, $table-color-scale);
796
+ $table-foot-row-hover: darken($table-foot-background, $table-hover-scale);
515
797
  $table-head-font-color: $body-font-color;
798
+ $table-foot-font-color: $body-font-color;
516
799
  $show-header-for-stacked: false;
800
+ $table-stack-breakpoint: medium;
517
801
 
518
- // 32. Tabs
802
+ // 51. Tabs
519
803
  // --------
520
804
 
521
805
  $tab-margin: 0;
522
- $tab-background: none;
523
- $tab-background-active: none;
524
- $tab-item-font-size: $global-font-size;
525
- $tab-item-background-hover: none;
526
- $tab-item-padding: 0;
527
- $tab-expand-max: 6;
528
- $tab-content-background: none;
529
- $tab-content-border: 0;
530
- $tab-content-color: $ub-txt;
531
- $tab-content-padding: 0;
532
-
533
- // 33. Thumbnail
806
+ $tab-background: $white;
807
+ $tab-color: $primary-color;
808
+ $tab-background-active: $light-gray;
809
+ $tab-active-color: $primary-color;
810
+ $tab-item-font-size: rem-calc(12);
811
+ $tab-item-background-hover: $white;
812
+ $tab-item-padding: 1.25rem 1.5rem;
813
+ $tab-content-background: $white;
814
+ $tab-content-border: $light-gray;
815
+ $tab-content-color: $body-font-color;
816
+ $tab-content-padding: 1rem;
817
+
818
+ // 52. Thumbnail
534
819
  // -------------
535
820
 
536
- $thumbnail-border: solid 4px $white;
821
+ $thumbnail-border: 4px solid $white;
537
822
  $thumbnail-margin-bottom: $global-margin;
538
823
  $thumbnail-shadow: 0 0 0 1px rgba($black, 0.2);
539
824
  $thumbnail-shadow-hover: 0 0 6px 1px rgba($primary-color, 0.5);
540
825
  $thumbnail-transition: box-shadow 200ms ease-out;
541
826
  $thumbnail-radius: $global-radius;
542
827
 
543
- // 34. Title Bar
828
+ // 53. Title Bar
544
829
  // -------------
545
830
 
546
831
  $titlebar-background: $black;
@@ -551,20 +836,22 @@ $titlebar-icon-color: $white;
551
836
  $titlebar-icon-color-hover: $medium-gray;
552
837
  $titlebar-icon-spacing: 0.25rem;
553
838
 
554
- // 35. Tooltip
839
+ // 54. Tooltip
555
840
  // -----------
556
841
 
842
+ $has-tip-cursor: help;
557
843
  $has-tip-font-weight: $global-weight-bold;
558
844
  $has-tip-border-bottom: dotted 1px $dark-gray;
559
- $tooltip-background-color: $ub-tooltip;
560
- $tooltip-color: $ub-txt;
845
+ $tooltip-background-color: $black;
846
+ $tooltip-color: $white;
561
847
  $tooltip-padding: 0.75rem;
848
+ $tooltip-max-width: 10rem;
562
849
  $tooltip-font-size: $small-font-size;
563
850
  $tooltip-pip-width: 0.75rem;
564
851
  $tooltip-pip-height: $tooltip-pip-width * 0.866;
565
852
  $tooltip-radius: $global-radius;
566
853
 
567
- // 36. Top Bar
854
+ // 55. Top Bar
568
855
  // -----------
569
856
 
570
857
  $topbar-padding: 0;
@@ -573,3 +860,19 @@ $topbar-submenu-background: $topbar-background;
573
860
  $topbar-title-spacing: 1rem;
574
861
  $topbar-input-width: 200px;
575
862
  $topbar-unstack-breakpoint: large;
863
+
864
+ // 56. Xy Grid
865
+ // -----------
866
+
867
+ $xy-grid: true;
868
+ $grid-container: $global-width;
869
+ $grid-columns: 12;
870
+ $grid-margin-gutters: (
871
+ small: 20px,
872
+ medium: 30px
873
+ );
874
+ $grid-padding-gutters: $grid-margin-gutters;
875
+ $grid-container-padding: $grid-padding-gutters;
876
+ $grid-container-max: $global-width;
877
+ $xy-block-grid-max: 8;
878
+