decidim-core 0.7.4 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (132) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +9 -2
  3. data/app/assets/javascripts/decidim.js.es6 +1 -0
  4. data/app/assets/javascripts/decidim/editor.js.es6 +8 -2
  5. data/app/assets/javascripts/decidim/form_filter.component.js.es6 +2 -2
  6. data/app/assets/javascripts/decidim/foundation.js.es6 +18 -8
  7. data/app/assets/javascripts/decidim/select2.js.es6 +3 -0
  8. data/app/assets/stylesheets/decidim/_decidim.scss +1 -1
  9. data/app/assets/stylesheets/decidim/modules/_buttons.scss +0 -4
  10. data/app/assets/stylesheets/decidim/modules/_cards.scss +41 -1
  11. data/app/assets/stylesheets/decidim/modules/_messages.scss +35 -0
  12. data/app/assets/stylesheets/decidim/modules/_modules.scss +1 -0
  13. data/app/assets/stylesheets/decidim/modules/_navbar.scss +2 -1
  14. data/app/assets/stylesheets/decidim/utils/_settings.scss +363 -69
  15. data/app/commands/decidim/messaging/reply_to_conversation.rb +55 -0
  16. data/app/commands/decidim/messaging/start_conversation.rb +55 -0
  17. data/app/controllers/concerns/decidim/action_authorization.rb +6 -22
  18. data/app/controllers/concerns/decidim/user_profile.rb +5 -3
  19. data/app/controllers/decidim/application_controller.rb +1 -0
  20. data/app/controllers/decidim/devise/omniauth_registrations_controller.rb +2 -2
  21. data/app/controllers/decidim/devise/sessions_controller.rb +5 -3
  22. data/app/controllers/decidim/features/base_controller.rb +1 -0
  23. data/app/controllers/decidim/messaging/conversations_controller.rb +81 -0
  24. data/app/controllers/decidim/pages_controller.rb +2 -11
  25. data/app/forms/decidim/messaging/conversation_form.rb +19 -0
  26. data/app/forms/decidim/messaging/message_form.rb +14 -0
  27. data/app/forms/translatable_presence_validator.rb +7 -10
  28. data/app/helpers/decidim/authorization_form_helper.rb +1 -1
  29. data/app/helpers/decidim/cta_button_helper.rb +1 -1
  30. data/app/helpers/decidim/datetime_helper.rb +23 -0
  31. data/app/helpers/decidim/feature_path_helper.rb +4 -2
  32. data/app/helpers/decidim/layout_helper.rb +0 -2
  33. data/app/helpers/decidim/menu_helper.rb +10 -0
  34. data/app/helpers/decidim/messaging/conversation_helper.rb +36 -0
  35. data/app/helpers/decidim/sanitize_helper.rb +19 -0
  36. data/app/helpers/decidim/traceability_helper.rb +89 -0
  37. data/app/helpers/decidim/translations_helper.rb +4 -2
  38. data/app/helpers/decidim/view_hooks_helper.rb +15 -0
  39. data/app/jobs/decidim/email_notification_generator_job.rb +1 -1
  40. data/app/jobs/decidim/notification_generator_for_recipient_job.rb +1 -1
  41. data/app/jobs/decidim/notification_generator_job.rb +1 -1
  42. data/app/mailers/decidim/messaging/conversation_mailer.rb +47 -0
  43. data/app/mailers/decidim/newsletter_mailer.rb +1 -0
  44. data/app/models/decidim/abilities/base_ability.rb +16 -2
  45. data/app/models/decidim/authorization.rb +20 -2
  46. data/app/models/decidim/messaging/conversation.rb +129 -0
  47. data/app/models/decidim/messaging/message.rb +49 -0
  48. data/app/models/decidim/messaging/participation.rb +23 -0
  49. data/app/models/decidim/messaging/receipt.rb +27 -0
  50. data/app/models/decidim/moderation.rb +1 -1
  51. data/app/models/decidim/organization.rb +2 -2
  52. data/app/models/decidim/scope.rb +2 -1
  53. data/app/models/decidim/scope_type.rb +1 -1
  54. data/app/models/decidim/user.rb +11 -5
  55. data/app/models/decidim/user_group.rb +1 -1
  56. data/app/presenters/decidim/inline_menu_presenter.rb +10 -0
  57. data/app/presenters/decidim/menu_presenter.rb +1 -1
  58. data/app/queries/decidim/messaging/user_conversations.rb +29 -0
  59. data/app/scrubbers/decidim/user_input_scrubber.rb +31 -0
  60. data/app/services/decidim/action_authorizer.rb +48 -12
  61. data/app/services/decidim/traceability.rb +91 -0
  62. data/app/views/decidim/messaging/conversation_mailer/new_conversation.html.erb +9 -0
  63. data/app/views/decidim/messaging/conversation_mailer/new_message.html.erb +9 -0
  64. data/app/views/decidim/messaging/conversations/_message.html.erb +20 -0
  65. data/app/views/decidim/messaging/conversations/_reply.html.erb +11 -0
  66. data/app/views/decidim/messaging/conversations/_show.html.erb +21 -0
  67. data/app/views/decidim/messaging/conversations/_start.html.erb +12 -0
  68. data/app/views/decidim/messaging/conversations/create.js.erb +2 -0
  69. data/app/views/decidim/messaging/conversations/index.html.erb +51 -0
  70. data/app/views/decidim/messaging/conversations/new.html.erb +5 -0
  71. data/app/views/decidim/messaging/conversations/show.html.erb +9 -0
  72. data/app/views/decidim/messaging/conversations/update.js.erb +1 -0
  73. data/app/views/decidim/newsletter_mailer/newsletter.html.erb +1 -1
  74. data/app/views/decidim/notifications/_notification.html.erb +1 -1
  75. data/app/views/decidim/shared/_action_authorization_modal.html.erb +11 -1
  76. data/app/views/decidim/shared/_announcement.html.erb +1 -1
  77. data/app/views/decidim/shared/_version_author.html.erb +18 -0
  78. data/app/views/layouts/decidim/_wrapper.html.erb +3 -0
  79. data/app/views/layouts/decidim/user_profile.html.erb +1 -9
  80. data/app/views/pages/decidim_page.html.erb +1 -1
  81. data/app/views/pages/home.html.erb +0 -2
  82. data/app/views/pages/home/_footer_sub_hero.html.erb +5 -3
  83. data/app/views/pages/home/_hero.html.erb +1 -1
  84. data/app/views/pages/home/_highlighted_processes.html.erb +7 -37
  85. data/app/views/pages/home/_sub_hero.html.erb +6 -4
  86. data/config/locales/ca.yml +49 -21
  87. data/config/locales/en.yml +47 -19
  88. data/config/locales/es.yml +48 -20
  89. data/config/locales/eu.yml +51 -23
  90. data/config/locales/fi.yml +50 -22
  91. data/config/locales/fr.yml +50 -22
  92. data/config/locales/it.yml +89 -61
  93. data/config/locales/nl.yml +72 -44
  94. data/config/locales/pl.yml +49 -21
  95. data/config/locales/pt.yml +431 -0
  96. data/config/locales/ru.yml +4 -27
  97. data/config/locales/uk.yml +10 -23
  98. data/config/routes.rb +3 -5
  99. data/db/migrate/20170313095436_add_available_authorizations_to_organization.rb +2 -2
  100. data/db/migrate/20170713131308_migrate_user_roles_to_participatory_process_roles.rb +7 -3
  101. data/db/migrate/20170914092117_add_status_to_authorizations.rb +9 -0
  102. data/db/migrate/20171011194251_add_verification_metadata_to_authorizations.rb +11 -0
  103. data/db/migrate/20171013124505_add_verification_attachment_to_authorizations.rb +9 -0
  104. data/db/migrate/20171023123330_create_decidim_messaging.rb +23 -0
  105. data/db/migrate/20171107103253_create_versions.rb +18 -0
  106. data/db/migrate/20171107103254_add_object_changes_to_versions.rb +14 -0
  107. data/db/migrate/20171117100533_create_decidim_receipts.rb +13 -0
  108. data/db/seeds.rb +13 -3
  109. data/lib/decidim/core.rb +13 -6
  110. data/lib/decidim/core/engine.rb +37 -0
  111. data/lib/decidim/core/test/factories.rb +33 -21
  112. data/lib/decidim/core/test/shared_examples/follows_examples.rb +1 -1
  113. data/lib/decidim/core/test/shared_examples/manage_moderations_examples.rb +6 -11
  114. data/lib/decidim/core/test/shared_examples/process_announcements_examples.rb +2 -4
  115. data/lib/decidim/core/test/shared_examples/reportable.rb +33 -31
  116. data/lib/decidim/core/test/shared_examples/scope_helper_examples.rb +29 -31
  117. data/lib/decidim/core/version.rb +1 -1
  118. data/lib/decidim/engine_router.rb +4 -2
  119. data/lib/decidim/has_reference.rb +10 -2
  120. data/lib/decidim/messaging.rb +9 -0
  121. data/lib/decidim/participable.rb +1 -1
  122. data/lib/decidim/traceable.rb +31 -0
  123. data/lib/decidim/view_hooks.rb +108 -0
  124. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.es.js +4 -2
  125. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.pt.js +14 -0
  126. metadata +179 -113
  127. data/app/commands/decidim/authorize_user.rb +0 -59
  128. data/app/controllers/decidim/authorizations_controller.rb +0 -80
  129. data/app/services/decidim/authorization_handler.rb +0 -95
  130. data/app/views/decidim/authorizations/first_login.html.erb +0 -22
  131. data/app/views/decidim/authorizations/index.html.erb +0 -49
  132. data/app/views/decidim/authorizations/new.html.erb +0 -33
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: a5e86343dda3dd74be24a48afd6190d43837f1ab051c012bc3ecdf444e0f1a00
4
- data.tar.gz: 72035e2c9a03d694e668aae2f69cecb74431a2278359a40becd03059d4845797
2
+ SHA1:
3
+ metadata.gz: 23590fb3166e817a39cb90d6420920af61f077b4
4
+ data.tar.gz: baef816d7299d65e43974240d2d5a0d8e7047695
5
5
  SHA512:
6
- metadata.gz: 6c0eff9c8ccf0cf6e2341dded5b53782527430ad3d1e569ab9868b9e632983a9d552b5c8bd9f03687f1d8f5be3fd651a1be4212891b4acd5642f08c556c6eba1
7
- data.tar.gz: f961ae555068538f7b9017ead8a1d5a445c17dd497aba25415180f0774e89829abee08057d7029cecc61d89b7446f2bd0bbbcf7a33cebad0c04fc8cf9b2dcc7e
6
+ metadata.gz: d15ff7ec79b15e24b3c5d5509b544b50c52b3f7fd5d7a2088a9eaefc43787dd1524f89c77edbadedb34510be87e02056ff6c295099b98bffef970902ec41ef01
7
+ data.tar.gz: d34ca3cde081701d22c4129b324c89439b9854cdb3de33e5cf3b1960936d4cf3f5de274d37b7527a8c0891cdc44cc1498d7ebd01ab666a70c70f2c69161cef0b
data/README.md CHANGED
@@ -1,10 +1,13 @@
1
1
  # Decidim
2
+
2
3
  Short description and motivation.
3
4
 
4
5
  ## Usage
6
+
5
7
  How to use my plugin.
6
8
 
7
9
  ## Installation
10
+
8
11
  Add this line to your application's Gemfile:
9
12
 
10
13
  ```ruby
@@ -12,17 +15,21 @@ gem 'decidim'
12
15
  ```
13
16
 
14
17
  And then execute:
18
+
15
19
  ```bash
16
- $ bundle
20
+ bundle
17
21
  ```
18
22
 
19
23
  Or install it yourself as:
24
+
20
25
  ```bash
21
- $ gem install decidim
26
+ gem install decidim
22
27
  ```
23
28
 
24
29
  ## Contributing
30
+
25
31
  Contribution directions go here.
26
32
 
27
33
  ## License
34
+
28
35
  The gem is available as open source under the terms of the [AGPLv3 License](https://opensource.org/licenses/AGPL-3.0).
@@ -1,4 +1,5 @@
1
1
  // = require jquery
2
+ // = require rails-ujs
2
3
  // = require decidim/foundation
3
4
  // = require modernizr
4
5
  // = require svg4everybody.min
@@ -11,13 +11,19 @@ $(() => {
11
11
  let quillToolbar = [
12
12
  ['bold', 'italic', 'underline'],
13
13
  [{ list: 'ordered' }, { list: 'bullet' }],
14
- ['link', 'video', 'clean']
14
+ ['link', 'clean']
15
15
  ];
16
16
 
17
17
  if (toolbar === 'full') {
18
18
  quillToolbar = [
19
19
  [{ header: [1, 2, 3, 4, 5, 6, false] }],
20
- ...quillToolbar
20
+ ...quillToolbar,
21
+ ['video']
22
+ ];
23
+ } else if (toolbar === 'basic') {
24
+ quillToolbar = [
25
+ ...quillToolbar,
26
+ ['video']
21
27
  ];
22
28
  }
23
29
 
@@ -196,7 +196,7 @@
196
196
 
197
197
  // Only one instance should submit the form on browser history navigation
198
198
  if (this.popStateSubmiter) {
199
- this.$form.submit();
199
+ exports.Rails.fire(this.$form[0], 'submit');
200
200
  }
201
201
  }
202
202
 
@@ -211,7 +211,7 @@
211
211
 
212
212
  let newUrl = '';
213
213
 
214
- this.$form.submit();
214
+ exports.Rails.fire(this.$form[0], 'submit');
215
215
 
216
216
  if (formAction.indexOf('?') < 0) {
217
217
  newUrl = `${formAction}?${params}`;
@@ -1,6 +1,23 @@
1
1
  // = require foundation.core.js
2
+ // = require foundation.util.box.js
3
+ // = require foundation.util.imageLoader.js
4
+ // = require foundation.util.keyboard.js
5
+ // = require foundation.util.mediaQuery.js
6
+ // = require foundation.util.motion.js
7
+ // = require foundation.util.nest.js
8
+ // = require foundation.util.timer.js
9
+ // = require foundation.util.timerAndImageLoader.js
10
+ // = require foundation.util.touch.js
11
+ // = require foundation.util.triggers.js
12
+ // = require foundation.abide.js
13
+ // = require foundation.accordion.js
14
+ // = require foundation.accordionMenu.js
15
+ // = require foundation.drilldown.js
2
16
  // = require foundation.dropdown.js
3
17
  // = require foundation.dropdownMenu.js
18
+ // = require foundation.equalizer.js
19
+ // = require foundation.interchange.js
20
+ // = require foundation.magellan.js
4
21
  // = require foundation.offcanvas.js
5
22
  // = require foundation.responsiveMenu.js
6
23
  // = require foundation.responsiveToggle.js
@@ -9,11 +26,4 @@
9
26
  // = require foundation.tabs.js
10
27
  // = require foundation.toggler.js
11
28
  // = require foundation.tooltip.js
12
- // = require foundation.util.box.js
13
- // = require foundation.util.keyboard.js
14
- // = require foundation.util.mediaQuery.js
15
- // = require foundation.util.motion.js
16
- // = require foundation.util.nest.js
17
- // = require foundation.util.touch.js
18
- // = require foundation.util.triggers.js
19
- // = require foundation.abide.js
29
+ // = require foundation.zf.responsiveAccordionTabs.js
@@ -6,3 +6,6 @@
6
6
  // = require select2_locale_fr
7
7
  // = require select2_locale_it
8
8
  // = require select2_locale_nl
9
+ // = require select2_locale_pt
10
+ // = require select2_locale_uk
11
+ // = require select2_locale_ru
@@ -2,7 +2,7 @@
2
2
  @import "utils/*";
3
3
 
4
4
  @import "foundation";
5
- @include foundation-everything;
5
+ @include foundation-everything($flex: false);
6
6
 
7
7
  @import "select2";
8
8
  @import "plugins/select2";
@@ -86,10 +86,6 @@
86
86
  font-weight: 600;
87
87
  }
88
88
 
89
- .link--no-color{
90
- color: inherit;
91
- }
92
-
93
89
  .muted-link{
94
90
  font-weight: 600;
95
91
  color: $muted;
@@ -296,7 +296,8 @@ $datetime-bg: $primary;
296
296
 
297
297
  /* Card list */
298
298
  .card--list{
299
- .card--list__item:not(:last-of-type){
299
+ .card--list__item:not(:last-of-type),
300
+ *:not(:last-of-type) .card--list__item {
300
301
  border-bottom: $border;
301
302
  }
302
303
  }
@@ -392,6 +393,45 @@ $datetime-bg: $primary;
392
393
  font-size: 1.5rem;
393
394
  }
394
395
 
396
+ .card--list__titled-text{
397
+ @extend .card--list__text;
398
+ flex-wrap: wrap;
399
+
400
+ $date-width: 28px;
401
+
402
+ .card--list__heading{
403
+ margin-bottom: 5px;
404
+ width: calc(100% - #{$date-width});
405
+ }
406
+
407
+ .card--list__annotation{
408
+ text-transform: uppercase;
409
+ letter-spacing: .03em;
410
+ font-size: .7em;
411
+ font-weight: 600;
412
+ width: $date-width;
413
+ }
414
+
415
+ .card--list__counter{
416
+ $counter-size: 20px;
417
+ $counter-font-size: $counter-size - 8px;
418
+
419
+ background-color: $secondary;
420
+ border-radius: 50%;
421
+ color: $white;
422
+ font-size: $counter-font-size;
423
+ font-weight: 600;
424
+ margin-left: auto;
425
+ width: $counter-size;
426
+
427
+ span {
428
+ display: block;
429
+ line-height: $counter-size;
430
+ text-align: center;
431
+ }
432
+ }
433
+ }
434
+
395
435
  /* Card full width variant */
396
436
 
397
437
  .card--full{
@@ -0,0 +1,35 @@
1
+ /* Variables */
2
+ $message-padding: 1rem;
3
+
4
+ /* Messages */
5
+
6
+ .message{
7
+ @extend .card;
8
+ }
9
+
10
+ .message__header{
11
+ padding: $message-padding;
12
+ }
13
+
14
+ .message__content{
15
+ padding: 0 $message-padding $message-padding;
16
+
17
+ > :last-child{
18
+ margin-bottom: 0;
19
+ }
20
+
21
+ p {
22
+ overflow-wrap: break-word;
23
+ }
24
+ }
25
+
26
+ /* Message form */
27
+
28
+ .add-message{
29
+ @extend .message;
30
+
31
+ padding: $message-padding;
32
+ .button{
33
+ margin-bottom: 0;
34
+ }
35
+ }
@@ -26,6 +26,7 @@
26
26
 
27
27
  //Shared modules
28
28
  @import "comments";
29
+ @import "messages";
29
30
  @import "opinion-toggle";
30
31
  @import "flag";
31
32
  @import "author-avatar";
@@ -149,7 +149,8 @@ $navbar-active-shadow-medium: inset 0 4px 0 0 $primary;
149
149
  }
150
150
 
151
151
 
152
- .topbar__notifications{
152
+ .topbar__notifications,
153
+ .topbar__conversations{
153
154
  margin-right: .5rem;
154
155
  vertical-align: -4px;
155
156
  .icon{
@@ -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
 
@@ -68,11 +88,17 @@ $body-font-family: 'Source Sans Pro', Helvetica, Roboto, Arial, sans-serif;
68
88
  $body-antialiased: true;
69
89
  $global-margin: 1rem;
70
90
  $global-padding: 1rem;
91
+ $global-position: 1rem;
71
92
  $global-weight-normal: normal;
72
93
  $global-weight-bold: 600;
73
94
  $global-radius: 4px;
95
+ $global-menu-padding: 0.7rem 1rem;
96
+ $global-menu-nested-margin: 1rem;
74
97
  $global-text-direction: ltr;
75
98
  $global-flexbox: false;
99
+ $global-prototype-breakpoints: false;
100
+ $global-button-cursor: auto;
101
+ $global-color-pick-contrast-tolerance: 0;
76
102
  $print-transparent-backgrounds: true;
77
103
 
78
104
  $border: 1px solid $medium-gray !default;
@@ -91,6 +117,7 @@ $breakpoints: (
91
117
  xlarge: 1200px,
92
118
  xxlarge: 1440px,
93
119
  );
120
+ $print-breakpoint: large;
94
121
  $breakpoint-classes: (small smallmedium medium mediumlarge large);
95
122
 
96
123
  // 3. The Grid
@@ -103,6 +130,7 @@ $grid-column-gutter: (
103
130
  medium: 30px,
104
131
  );
105
132
  $grid-column-align-edge: true;
133
+ $grid-column-alias: 'columns';
106
134
  $block-grid-max: 8;
107
135
 
108
136
  // 4. Base Typography
@@ -112,11 +140,11 @@ $header-font-family: $body-font-family;
112
140
  $header-font-weight: $global-weight-normal;
113
141
  $header-font-style: normal;
114
142
  $font-family-monospace: Consolas, 'Liberation Mono', Courier, monospace;
143
+ $header-color: inherit;
115
144
  $header-lineheight: 1.4;
116
145
  $header-margin-bottom: 0.5rem;
117
-
118
146
  $header-styles: (
119
- 'small': (
147
+ small: (
120
148
  'h1': ('font-size': 40),
121
149
  'h2': ('font-size': 26),
122
150
  'h3': ('font-size': 24),
@@ -124,7 +152,7 @@ $header-styles: (
124
152
  'h5': ('font-size': 20),
125
153
  'h6': ('font-size': 16)
126
154
  ),
127
- 'medium': (
155
+ medium: (
128
156
  'h1': ('font-size': 48),
129
157
  'h2': ('font-size': 32),
130
158
  'h3': ('font-size': 28),
@@ -133,8 +161,6 @@ $header-styles: (
133
161
  'h6': ('font-size': 16)
134
162
  )
135
163
  );
136
-
137
- $header-color: inherit;
138
164
  $header-text-rendering: optimizeLegibility;
139
165
  $small-font-size: 90%;
140
166
  $header-small-font-color: lighten($body-font-color, 30);
@@ -168,6 +194,7 @@ $blockquote-padding: rem-calc(9 20 0 19);
168
194
  $blockquote-border: 1px solid $medium-gray;
169
195
  $cite-font-size: rem-calc(13);
170
196
  $cite-color: $dark-gray;
197
+ $cite-pseudo-content: '\2014 \0020';
171
198
  $keystroke-font: $font-family-monospace;
172
199
  $keystroke-color: $black;
173
200
  $keystroke-background: $light-gray;
@@ -203,6 +230,7 @@ $input-error-font-weight: $global-weight-bold;
203
230
 
204
231
  $accordion-background: $primary-color;
205
232
  $accordion-plusminus: true;
233
+ $accordion-title-font-size: rem-calc(12);
206
234
  $accordion-item-color: $white;
207
235
  $accordion-item-background-hover: $light-gray;
208
236
  $accordion-item-padding: 1.25rem 1rem;
@@ -214,14 +242,26 @@ $accordion-content-padding: 1rem;
214
242
  // 8. Accordion Menu
215
243
  // -----------------
216
244
 
245
+ $accordionmenu-padding: $global-menu-padding;
246
+ $accordionmenu-nested-margin: $global-menu-nested-margin;
247
+ $accordionmenu-submenu-padding: $accordionmenu-padding;
217
248
  $accordionmenu-arrows: true;
218
249
  $accordionmenu-arrow-color: $primary-color;
250
+ $accordionmenu-item-background: null;
251
+ $accordionmenu-border: null;
252
+ $accordionmenu-submenu-toggle-background: null;
253
+ $accordion-submenu-toggle-border: $accordionmenu-border;
254
+ $accordionmenu-submenu-toggle-width: 40px;
255
+ $accordionmenu-submenu-toggle-height: $accordionmenu-submenu-toggle-width;
256
+ $accordionmenu-arrow-size: 6px;
219
257
 
220
258
  // 9. Badge
221
259
  // --------
222
260
 
223
261
  $badge-background: $primary-color;
224
262
  $badge-color: $white;
263
+ $badge-color-alt: $black;
264
+ $badge-palette: $foundation-palette;
225
265
  $badge-padding: 0.3em;
226
266
  $badge-minwidth: 1.5em;
227
267
  $badge-font-size: 0.6rem;
@@ -236,11 +276,15 @@ $breadcrumbs-item-color-current: $black;
236
276
  $breadcrumbs-item-color-disabled: $medium-gray;
237
277
  $breadcrumbs-item-margin: 0.75rem;
238
278
  $breadcrumbs-item-uppercase: true;
239
- $breadcrumbs-item-slash: true;
279
+ $breadcrumbs-item-separator: true;
280
+ $breadcrumbs-item-separator-item: '/';
281
+ $breadcrumbs-item-separator-item-rtl: '\\';
282
+ $breadcrumbs-item-separator-color: $medium-gray;
240
283
 
241
284
  // 11. Button
242
285
  // ----------
243
286
 
287
+ $button-font-family: inherit;
244
288
  $button-padding: 0.85em 1em;
245
289
  $button-margin: 0 0 $global-margin 0;
246
290
  $button-fill: solid;
@@ -249,13 +293,18 @@ $button-background-hover: scale-color($button-background, $lightness: -15%);
249
293
  $button-color: $white;
250
294
  $button-color-alt: $black;
251
295
  $button-radius: $global-radius;
296
+ $button-hollow-border-width: 1px;
252
297
  $button-sizes: (
253
298
  tiny: 0.9rem,
254
299
  small: 0.9rem,
255
300
  default: 1rem,
256
301
  large: 1.25rem,
257
302
  );
303
+ $button-palette: $foundation-palette;
258
304
  $button-opacity-disabled: 0.25;
305
+ $button-background-hover-lightness: -20%;
306
+ $button-hollow-hover-lightness: -50%;
307
+ $button-transition: background-color 0.25s ease-out, color 0.25s ease-out;
259
308
 
260
309
  // 12. Button Group
261
310
  // ----------------
@@ -264,6 +313,7 @@ $buttongroup-margin: 1rem;
264
313
  $buttongroup-spacing: 1px;
265
314
  $buttongroup-child-selector: '.button';
266
315
  $buttongroup-expand-max: 6;
316
+ $buttongroup-radius-on-each: true;
267
317
 
268
318
  // 13. Callout
269
319
  // -----------
@@ -278,29 +328,56 @@ $callout-font-color-alt: $body-background;
278
328
  $callout-radius: 0;
279
329
  $callout-link-tint: 30%;
280
330
 
281
- // 14. Close Button
331
+ // 14. Card
332
+ // --------
333
+
334
+ $card-background: $white;
335
+ $card-font-color: $body-font-color;
336
+ $card-divider-background: $light-gray;
337
+ $card-border: 1px solid $light-gray;
338
+ $card-shadow: none;
339
+ $card-border-radius: $global-radius;
340
+ $card-padding: $global-padding;
341
+ $card-margin-bottom: $global-margin;
342
+
343
+ // 15. Close Button
282
344
  // ----------------
283
345
 
284
346
  $closebutton-position: right top;
285
- $closebutton-offset-horizontal: 1rem;
286
- $closebutton-offset-vertical: 0.5rem;
287
- $closebutton-size: 2em;
347
+ $closebutton-offset-horizontal: (
348
+ small: 0.66rem,
349
+ medium: 1rem,
350
+ );
351
+ $closebutton-offset-vertical: (
352
+ small: 0.33em,
353
+ medium: 0.5rem,
354
+ );
355
+ $closebutton-size: (
356
+ small: 1.5em,
357
+ medium: 2em,
358
+ );
288
359
  $closebutton-lineheight: 1;
289
360
  $closebutton-color: $dark-gray;
290
361
  $closebutton-color-hover: map-get($foundation-palette, primary);
291
362
 
292
- // 15. Drilldown
363
+ // 16. Drilldown
293
364
  // -------------
294
365
 
295
366
  $drilldown-transition: transform 0.15s linear;
296
367
  $drilldown-arrows: true;
297
- $drilldown-arrow-color: $primary-color;
368
+ $drilldown-padding: $global-menu-padding;
369
+ $drilldown-nested-margin: 0;
298
370
  $drilldown-background: $white;
371
+ $drilldown-submenu-padding: $drilldown-padding;
372
+ $drilldown-submenu-background: $white;
373
+ $drilldown-arrow-color: $primary-color;
374
+ $drilldown-arrow-size: 6px;
299
375
 
300
- // 16. Dropdown
376
+ // 17. Dropdown
301
377
  // ------------
302
378
 
303
379
  $dropdown-padding: 1rem;
380
+ $dropdown-background: $body-background;
304
381
  $dropdown-border: 1px solid $medium-gray;
305
382
  $dropdown-font-size: 1rem;
306
383
  $dropdown-width: 300px;
@@ -311,23 +388,30 @@ $dropdown-sizes: (
311
388
  large: 400px,
312
389
  );
313
390
 
314
- // 17. Dropdown Menu
391
+ // 18. Dropdown Menu
315
392
  // -----------------
316
393
 
317
394
  $dropdownmenu-arrows: true;
318
395
  $dropdownmenu-arrow-color: $anchor-color;
396
+ $dropdownmenu-arrow-size: 6px;
397
+ $dropdownmenu-arrow-padding: 1.5rem;
319
398
  $dropdownmenu-min-width: 200px;
320
399
  $dropdownmenu-background: $white;
400
+ $dropdownmenu-submenu-background: $dropdownmenu-background;
401
+ $dropdownmenu-padding: $global-menu-padding;
402
+ $dropdownmenu-nested-margin: 0;
403
+ $dropdownmenu-submenu-padding: $dropdownmenu-padding;
321
404
  $dropdownmenu-border: 1px solid $medium-gray;
405
+ $dropdown-menu-item-color-active: get-color(secondary);
406
+ $dropdown-menu-item-background-active: transparent;
322
407
 
323
- // 18. Flex Video
324
- // --------------
408
+ // 19. Flexbox Utilities
409
+ // ---------------------
325
410
 
326
- $flexvideo-margin-bottom: rem-calc(16);
327
- $flexvideo-ratio: 4 by 3;
328
- $flexvideo-ratio-widescreen: 16 by 9;
411
+ $flex-source-ordering-count: 6;
412
+ $flexbox-responsive-breakpoints: true;
329
413
 
330
- // 19. Forms
414
+ // 20. Forms
331
415
  // ---------
332
416
 
333
417
  $fieldset-border: 1px solid $medium-gray;
@@ -335,64 +419,74 @@ $fieldset-padding: rem-calc(20);
335
419
  $fieldset-margin: rem-calc(18 0);
336
420
  $legend-padding: rem-calc(0 3);
337
421
  $form-spacing: rem-calc(16);
338
- $helptext-color: $body-font-color;
422
+ $helptext-color: $black;
339
423
  $helptext-font-size: rem-calc(13);
340
424
  $helptext-font-style: italic;
341
425
  $input-prefix-color: $black;
342
426
  $input-prefix-background: $light-gray;
343
427
  $input-prefix-border: 1px solid $medium-gray;
344
428
  $input-prefix-padding: 1rem;
345
- $form-label-color: $body-font-color;
346
- $form-label-font-size: rem-calc(16);
429
+ $form-label-color: $black;
430
+ $form-label-font-size: rem-calc(14);
347
431
  $form-label-font-weight: $global-weight-normal;
348
432
  $form-label-line-height: 1.8;
349
433
  $select-background: $white;
350
434
  $select-triangle-color: $dark-gray;
351
435
  $select-radius: $global-radius;
352
436
  $input-color: $black;
353
- $input-placeholder-color: darken($medium-gray, 30);
437
+ $input-placeholder-color: $medium-gray;
354
438
  $input-font-family: inherit;
355
439
  $input-font-size: rem-calc(16);
440
+ $input-font-weight: $global-weight-normal;
441
+ $input-line-height: $global-lineheight;
356
442
  $input-background: $white;
357
443
  $input-background-focus: $white;
358
444
  $input-background-disabled: $light-gray;
359
445
  $input-border: 1px solid $medium-gray;
360
- $input-border-focus: 1px solid map-get($foundation-palette, primary);
446
+ $input-border-focus: 1px solid $dark-gray;
447
+ $input-padding: $form-spacing / 2;
361
448
  $input-shadow: inset 0 1px 2px rgba($black, 0.1);
362
449
  $input-shadow-focus: 0 0 5px $medium-gray;
363
450
  $input-cursor-disabled: not-allowed;
364
451
  $input-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
365
452
  $input-number-spinners: true;
366
453
  $input-radius: $global-radius;
454
+ $form-button-radius: $global-radius;
367
455
 
368
- // 20. Label
456
+ // 21. Label
369
457
  // ---------
370
458
 
371
459
  $label-background: $primary-color;
372
460
  $label-color: $white;
373
- $label-color-alt: $body-font-color;
461
+ $label-color-alt: $black;
462
+ $label-palette: $foundation-palette;
374
463
  $label-font-size: 0.8rem;
375
464
  $label-padding: 0.33333rem 0.5rem;
376
465
  $label-radius: $global-radius;
377
466
 
378
- // 21. Media Object
467
+ // 22. Media Object
379
468
  // ----------------
380
469
 
381
470
  $mediaobject-margin-bottom: $global-margin;
382
471
  $mediaobject-section-padding: $global-padding;
383
472
  $mediaobject-image-width-stacked: 100%;
384
473
 
385
- // 22. Menu
474
+ // 23. Menu
386
475
  // --------
387
476
 
388
477
  $menu-margin: 0;
389
- $menu-margin-nested: 1rem;
390
- $menu-item-padding: 0.7rem 1rem;
478
+ $menu-nested-margin: 1rem;
479
+ $menu-items-padding: 0.7rem 1rem;
480
+ $menu-simple-margin: 1rem;
391
481
  $menu-item-color-active: $white;
392
482
  $menu-item-background-active: map-get($foundation-palette, primary);
393
483
  $menu-icon-spacing: 0.25rem;
484
+ $menu-item-background-hover: $light-gray;
485
+ $menu-state-back-compat: true;
486
+ $menu-centered-back-compat: true;
487
+ $menu-icons-back-compat: true;
394
488
 
395
- // 23. Meter
489
+ // 24. Meter
396
490
  // ---------
397
491
 
398
492
  $meter-height: 1rem;
@@ -402,20 +496,25 @@ $meter-fill-good: $success-color;
402
496
  $meter-fill-medium: $warning-color;
403
497
  $meter-fill-bad: $alert-color;
404
498
 
405
- // 24. Off-canvas
499
+ // 25. Off-canvas
406
500
  // --------------
407
501
 
408
502
  $offcanvas-size: 250px;
409
503
  $offcanvas-background: $light-gray;
410
- $offcanvas-zindex: -1;
504
+ $offcanvas-shadow: 0 0 10px rgba($black, 0.7);
505
+ $offcanvas-inner-shadow-size: 20px;
506
+ $offcanvas-inner-shadow-color: rgba($black, 0.25);
507
+ $offcanvas-overlay-zindex: 11;
508
+ $offcanvas-push-zindex: 12;
509
+ $offcanvas-overlap-zindex: 13;
510
+ $offcanvas-reveal-zindex: 12;
411
511
  $offcanvas-transition-length: 0.5s;
412
512
  $offcanvas-transition-timing: ease;
413
513
  $offcanvas-fixed-reveal: true;
414
514
  $offcanvas-exit-background: rgba($white, 0.25);
415
515
  $maincontent-class: 'off-canvas-content';
416
- $maincontent-shadow: 0 0 10px rgba($black, 0.5);
417
516
 
418
- // 25. Orbit
517
+ // 26. Orbit
419
518
  // ---------
420
519
 
421
520
  $orbit-bullet-background: $medium-gray;
@@ -430,7 +529,7 @@ $orbit-control-background-hover: rgba($black, 0.5);
430
529
  $orbit-control-padding: 1rem;
431
530
  $orbit-control-zindex: 10;
432
531
 
433
- // 26. Pagination
532
+ // 27. Pagination
434
533
  // --------------
435
534
 
436
535
  $pagination-font-size: rem-calc(16);
@@ -445,9 +544,10 @@ $pagination-item-color-current: $white;
445
544
  $pagination-item-color-disabled: lighten($body-font-color, 30);
446
545
  $pagination-ellipsis-color: $body-font-color;
447
546
  $pagination-mobile-items: false;
547
+ $pagination-mobile-current-item: false;
448
548
  $pagination-arrows: false;
449
549
 
450
- // 27. Progress Bar
550
+ // 28. Progress Bar
451
551
  // ----------------
452
552
 
453
553
  $progress-height: 1rem;
@@ -456,7 +556,177 @@ $progress-margin-bottom: $global-margin;
456
556
  $progress-meter-background: $primary-color;
457
557
  $progress-radius: $global-radius;
458
558
 
459
- // 28. Reveal
559
+ // 29. Prototype Arrow
560
+ // -------------------
561
+
562
+ $prototype-arrow-directions: (
563
+ down,
564
+ up,
565
+ right,
566
+ left
567
+ );
568
+ $prototype-arrow-size: 0.4375rem;
569
+ $prototype-arrow-color: $black;
570
+
571
+ // 30. Prototype Border-Box
572
+ // ------------------------
573
+
574
+ $prototype-border-box-breakpoints: $global-prototype-breakpoints;
575
+
576
+ // 31. Prototype Border-None
577
+ // -------------------------
578
+
579
+ $prototype-border-none-breakpoints: $global-prototype-breakpoints;
580
+
581
+ // 32. Prototype Bordered
582
+ // ----------------------
583
+
584
+ $prototype-bordered-breakpoints: $global-prototype-breakpoints;
585
+ $prototype-border-width: rem-calc(1);
586
+ $prototype-border-type: solid;
587
+ $prototype-border-color: $medium-gray;
588
+
589
+ // 33. Prototype Display
590
+ // ---------------------
591
+
592
+ $prototype-display-breakpoints: $global-prototype-breakpoints;
593
+ $prototype-display: (
594
+ inline,
595
+ inline-block,
596
+ block,
597
+ table,
598
+ table-cell
599
+ );
600
+
601
+ // 34. Prototype Font-Styling
602
+ // --------------------------
603
+
604
+ $prototype-font-breakpoints: $global-prototype-breakpoints;
605
+ $prototype-wide-letter-spacing: rem-calc(4);
606
+ $prototype-font-normal: $global-weight-normal;
607
+ $prototype-font-bold: $global-weight-bold;
608
+
609
+ // 35. Prototype List-Style-Type
610
+ // -----------------------------
611
+
612
+ $prototype-list-breakpoints: $global-prototype-breakpoints;
613
+ $prototype-style-type-unordered: (
614
+ disc,
615
+ circle,
616
+ square
617
+ );
618
+ $prototype-style-type-ordered: (
619
+ decimal,
620
+ lower-alpha,
621
+ lower-latin,
622
+ lower-roman,
623
+ upper-alpha,
624
+ upper-latin,
625
+ upper-roman
626
+ );
627
+
628
+ // 36. Prototype Overflow
629
+ // ----------------------
630
+
631
+ $prototype-overflow-breakpoints: $global-prototype-breakpoints;
632
+ $prototype-overflow: (
633
+ visible,
634
+ hidden,
635
+ scroll
636
+ );
637
+
638
+ // 37. Prototype Position
639
+ // ----------------------
640
+
641
+ $prototype-position-breakpoints: $global-prototype-breakpoints;
642
+ $prototype-position: (
643
+ static,
644
+ relative,
645
+ absolute,
646
+ fixed
647
+ );
648
+ $prototype-position-z-index: 975;
649
+
650
+ // 38. Prototype Rounded
651
+ // ---------------------
652
+
653
+ $prototype-rounded-breakpoints: $global-prototype-breakpoints;
654
+ $prototype-border-radius: rem-calc(3);
655
+
656
+ // 39. Prototype Separator
657
+ // -----------------------
658
+
659
+ $prototype-separator-breakpoints: $global-prototype-breakpoints;
660
+ $prototype-separator-align: center;
661
+ $prototype-separator-height: rem-calc(2);
662
+ $prototype-separator-width: 3rem;
663
+ $prototype-separator-background: $primary-color;
664
+ $prototype-separator-margin-top: $global-margin;
665
+
666
+ // 40. Prototype Shadow
667
+ // --------------------
668
+
669
+ $prototype-shadow-breakpoints: $global-prototype-breakpoints;
670
+ $prototype-box-shadow: 0 2px 5px 0 rgba(0,0,0,.16),
671
+ 0 2px 10px 0 rgba(0,0,0,.12);
672
+
673
+ // 41. Prototype Sizing
674
+ // --------------------
675
+
676
+ $prototype-sizing-breakpoints: $global-prototype-breakpoints;
677
+ $prototype-sizing: (
678
+ width,
679
+ height
680
+ );
681
+ $prototype-sizes: (
682
+ 25: 25%,
683
+ 50: 50%,
684
+ 75: 75%,
685
+ 100: 100%
686
+ );
687
+
688
+ // 42. Prototype Spacing
689
+ // ---------------------
690
+
691
+ $prototype-spacing-breakpoints: $global-prototype-breakpoints;
692
+ $prototype-spacers-count: 3;
693
+
694
+ // 43. Prototype Text-Decoration
695
+ // -----------------------------
696
+
697
+ $prototype-decoration-breakpoints: $global-prototype-breakpoints;
698
+ $prototype-text-decoration: (
699
+ overline,
700
+ underline,
701
+ line-through,
702
+ );
703
+
704
+ // 44. Prototype Text-Transformation
705
+ // ---------------------------------
706
+
707
+ $prototype-transformation-breakpoints: $global-prototype-breakpoints;
708
+ $prototype-text-transformation: (
709
+ lowercase,
710
+ uppercase,
711
+ capitalize
712
+ );
713
+
714
+ // 45. Prototype Text-Utilities
715
+ // ----------------------------
716
+
717
+ $prototype-utilities-breakpoints: $global-prototype-breakpoints;
718
+ $prototype-text-overflow: ellipsis;
719
+
720
+ // 46. Responsive Embed
721
+ // --------------------
722
+
723
+ $responsive-embed-margin-bottom: rem-calc(16);
724
+ $responsive-embed-ratios: (
725
+ default: 4 by 3,
726
+ widescreen: 16 by 9,
727
+ );
728
+
729
+ // 47. Reveal
460
730
  // ----------
461
731
 
462
732
  $reveal-background: $light-gray;
@@ -468,7 +738,7 @@ $reveal-radius: $global-radius;
468
738
  $reveal-zindex: 1005;
469
739
  $reveal-overlay-background: rgba($black, 0.45);
470
740
 
471
- // 29. Slider
741
+ // 48. Slider
472
742
  // ----------
473
743
 
474
744
  $slider-width-vertical: 0.5rem;
@@ -498,7 +768,7 @@ $switch-paddle-offset: 0.25rem;
498
768
  $switch-paddle-radius: $global-radius;
499
769
  $switch-paddle-transition: all 0.25s ease-out;
500
770
 
501
- // 31. Table
771
+ // 50. Table
502
772
  // ---------
503
773
 
504
774
  $table-background: $white;
@@ -508,20 +778,27 @@ $table-padding: rem-calc(8 10 10);
508
778
  $table-hover-scale: 2%;
509
779
  $table-row-hover: darken($table-background, $table-hover-scale);
510
780
  $table-row-stripe-hover: darken($table-background, $table-color-scale + $table-hover-scale);
781
+ $table-is-striped: true;
511
782
  $table-striped-background: smart-scale($table-background, $table-color-scale);
512
783
  $table-stripe: even;
513
784
  $table-head-background: smart-scale($table-background, $table-color-scale / 2);
785
+ $table-head-row-hover: darken($table-head-background, $table-hover-scale);
514
786
  $table-foot-background: smart-scale($table-background, $table-color-scale);
787
+ $table-foot-row-hover: darken($table-foot-background, $table-hover-scale);
515
788
  $table-head-font-color: $body-font-color;
789
+ $table-foot-font-color: $body-font-color;
516
790
  $show-header-for-stacked: false;
791
+ $table-stack-breakpoint: medium;
517
792
 
518
- // 32. Tabs
793
+ // 51. Tabs
519
794
  // --------
520
795
 
521
796
  $tab-margin: 0;
522
797
  $tab-background: darken($light-gray, 2.5);
523
798
  $tab-background-active: $white;
524
799
  $tab-item-font-size: rem-calc(16);
800
+ $tab-color: $primary-color;
801
+ $tab-active-color: $primary-color;
525
802
  $tab-item-background-hover: $white;
526
803
  $tab-item-padding: 1.25rem 1.5rem;
527
804
  $tab-expand-max: 6;
@@ -530,7 +807,7 @@ $tab-content-border: transparent;
530
807
  $tab-content-color: inherit;
531
808
  $tab-content-padding: 0;
532
809
 
533
- // 33. Thumbnail
810
+ // 52. Thumbnail
534
811
  // -------------
535
812
 
536
813
  $thumbnail-border: solid 4px $white;
@@ -540,7 +817,7 @@ $thumbnail-shadow-hover: 0 0 0px 1px $primary-color;
540
817
  $thumbnail-transition: box-shadow 200ms ease-out;
541
818
  $thumbnail-radius: $global-radius;
542
819
 
543
- // 34. Title Bar
820
+ // 53. Title Bar
544
821
  // -------------
545
822
 
546
823
  $titlebar-background: $black;
@@ -551,20 +828,22 @@ $titlebar-icon-color: $white;
551
828
  $titlebar-icon-color-hover: $medium-gray;
552
829
  $titlebar-icon-spacing: 0.25rem;
553
830
 
554
- // 35. Tooltip
831
+ // 54. Tooltip
555
832
  // -----------
556
833
 
834
+ $has-tip-cursor: help;
557
835
  $has-tip-font-weight: $global-weight-bold;
558
836
  $has-tip-border-bottom: dotted 1px $dark-gray;
559
837
  $tooltip-background-color: $black;
560
838
  $tooltip-color: $white;
561
839
  $tooltip-padding: 0.75rem;
840
+ $tooltip-max-width: 10rem;
562
841
  $tooltip-font-size: $small-font-size;
563
842
  $tooltip-pip-width: 0.75rem;
564
843
  $tooltip-pip-height: $tooltip-pip-width * 0.866;
565
844
  $tooltip-radius: $global-radius;
566
845
 
567
- // 36. Top Bar
846
+ // 55. Top Bar
568
847
  // -----------
569
848
 
570
849
  $topbar-padding: 0.5rem;
@@ -573,3 +852,18 @@ $topbar-submenu-background: $topbar-background;
573
852
  $topbar-title-spacing: 1rem;
574
853
  $topbar-input-width: 200px;
575
854
  $topbar-unstack-breakpoint: medium;
855
+
856
+ // 56. Xy Grid
857
+ // -----------
858
+
859
+ $xy-grid: true;
860
+ $grid-container: $global-width;
861
+ $grid-columns: 12;
862
+ $grid-margin-gutters: (
863
+ small: 20px,
864
+ medium: 30px
865
+ );
866
+ $grid-padding-gutters: $grid-margin-gutters;
867
+ $grid-container-padding: $grid-padding-gutters;
868
+ $grid-container-max: $global-width;
869
+ $xy-block-grid-max: 8;