lcms-engine 0.1.4 → 0.2.0

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