decidim-core 0.13.1 → 0.14.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of decidim-core might be problematic. Click here for more details.

Files changed (236) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/decidim_core_manifest.js +1 -1
  3. data/app/assets/images/decidim/gamification/badges/invitations.svg +117 -0
  4. data/app/assets/javascripts/decidim.js.es6 +4 -1
  5. data/app/assets/javascripts/decidim/ajax_modals.js.es6 +17 -0
  6. data/app/assets/javascripts/decidim/conferences.js.es6 +16 -0
  7. data/app/assets/javascripts/decidim/input_hashtags.js.es6 +115 -0
  8. data/app/assets/javascripts/decidim/input_mentions.js.es6 +2 -3
  9. data/app/assets/javascripts/decidim/vizzs/areachart.js.es6 +226 -0
  10. data/app/assets/javascripts/decidim/vizzs/metrics.js.es6 +26 -0
  11. data/app/assets/javascripts/decidim/vizzs/orgchart.js.es6 +701 -0
  12. data/app/assets/javascripts/decidim/vizzs/renders.js.es6 +11 -0
  13. data/app/assets/stylesheets/decidim/extras/_proposal_form.scss +3 -1
  14. data/app/assets/stylesheets/decidim/layouts/_home.scss +1 -1
  15. data/app/assets/stylesheets/decidim/modules/_areachart.scss +74 -0
  16. data/app/assets/stylesheets/decidim/modules/_badges.scss +116 -0
  17. data/app/assets/stylesheets/decidim/modules/_buttons.scss +5 -0
  18. data/app/assets/stylesheets/decidim/modules/_cards.scss +21 -4
  19. data/app/assets/stylesheets/decidim/modules/_chart-tooltip.scss +42 -0
  20. data/app/assets/stylesheets/decidim/modules/_collapsible-list.scss +12 -8
  21. data/app/assets/stylesheets/decidim/modules/_conference-nav.scss +31 -0
  22. data/app/assets/stylesheets/decidim/modules/_conference-programme.scss +110 -0
  23. data/app/assets/stylesheets/decidim/modules/_conference-speaker.scss +86 -0
  24. data/app/assets/stylesheets/decidim/modules/_conversation.scss +58 -0
  25. data/app/assets/stylesheets/decidim/modules/_help.scss +38 -0
  26. data/app/assets/stylesheets/decidim/modules/_hover-section.scss +29 -0
  27. data/app/assets/stylesheets/decidim/modules/_icons.scss +10 -4
  28. data/app/assets/stylesheets/decidim/modules/_input-hashtags.scss +124 -0
  29. data/app/assets/stylesheets/decidim/modules/_loading-spinner.scss +12 -0
  30. data/app/assets/stylesheets/decidim/modules/_margins.scss +2 -2
  31. data/app/assets/stylesheets/decidim/modules/_modules.scss +15 -0
  32. data/app/assets/stylesheets/decidim/modules/_navbar.scss +9 -0
  33. data/app/assets/stylesheets/decidim/modules/_orgchart.scss +62 -0
  34. data/app/assets/stylesheets/decidim/modules/_status-labels.scss +2 -1
  35. data/app/assets/stylesheets/decidim/modules/_typography.scss +9 -0
  36. data/app/assets/stylesheets/decidim/utils/_helpers.scss +28 -0
  37. data/app/assets/stylesheets/decidim/utils/_mixins.scss +63 -0
  38. data/app/cells/decidim/author/withdraw.erb +1 -1
  39. data/app/cells/decidim/author_cell.rb +1 -1
  40. data/app/cells/decidim/badge/show.erb +36 -0
  41. data/app/cells/decidim/badge_cell.rb +53 -0
  42. data/app/cells/decidim/badges/show.erb +6 -0
  43. data/app/cells/decidim/badges_cell.rb +14 -0
  44. data/app/cells/decidim/card_m/header.erb +1 -1
  45. data/app/cells/decidim/card_m/show.erb +1 -2
  46. data/app/cells/decidim/card_m/top.erb +7 -0
  47. data/app/cells/decidim/card_m_cell.rb +14 -17
  48. data/app/cells/decidim/coauthorships_cell.rb +77 -0
  49. data/app/cells/decidim/collapsible_authors/show.erb +0 -1
  50. data/app/cells/decidim/collapsible_authors_cell.rb +4 -4
  51. data/app/cells/decidim/collapsible_list/show.erb +12 -4
  52. data/app/cells/decidim/collapsible_list_cell.rb +14 -12
  53. data/app/cells/decidim/content_blocks/footer_sub_hero/show.erb +14 -0
  54. data/app/cells/decidim/content_blocks/footer_sub_hero_cell.rb +12 -0
  55. data/app/{views/decidim/pages/home/_hero.html.erb → cells/decidim/content_blocks/hero/show.erb} +4 -4
  56. data/app/cells/decidim/content_blocks/hero_cell.rb +25 -0
  57. data/app/cells/decidim/content_blocks/hero_settings_form/show.erb +7 -0
  58. data/app/cells/decidim/content_blocks/hero_settings_form_cell.rb +13 -0
  59. data/app/cells/decidim/content_blocks/highlighted_content_banner/show.erb +24 -0
  60. data/app/cells/decidim/content_blocks/highlighted_content_banner_cell.rb +16 -0
  61. data/app/{views/decidim/pages/home/_extended.html.erb → cells/decidim/content_blocks/how_to_participate/show.erb} +10 -10
  62. data/app/cells/decidim/content_blocks/how_to_participate_cell.rb +9 -0
  63. data/app/{views/decidim/pages/home/_statistics.html.erb → cells/decidim/content_blocks/stats/show.erb} +2 -2
  64. data/app/cells/decidim/content_blocks/stats_cell.rb +18 -0
  65. data/app/{views/decidim/pages/home/_sub_hero.html.erb → cells/decidim/content_blocks/sub_hero/show.erb} +2 -2
  66. data/app/cells/decidim/content_blocks/sub_hero_cell.rb +17 -0
  67. data/app/cells/decidim/conversation/show.erb +18 -0
  68. data/app/cells/decidim/conversation_cell.rb +23 -0
  69. data/app/cells/decidim/conversation_header/show.erb +17 -0
  70. data/app/cells/decidim/conversation_header_cell.rb +16 -0
  71. data/app/cells/decidim/conversations/show.erb +45 -0
  72. data/app/cells/decidim/conversations_cell.rb +24 -0
  73. data/app/cells/decidim/follow_button/show.erb +3 -3
  74. data/app/cells/decidim/follow_button_cell.rb +1 -5
  75. data/app/cells/decidim/following_cell.rb +1 -7
  76. data/app/cells/decidim/message/show.erb +15 -0
  77. data/app/cells/decidim/message_cell.rb +23 -0
  78. data/app/cells/decidim/new_conversation/show.erb +19 -0
  79. data/app/cells/decidim/new_conversation_cell.rb +19 -0
  80. data/app/cells/decidim/notifications/show.erb +1 -1
  81. data/app/cells/decidim/profile/show.erb +27 -0
  82. data/app/cells/decidim/profile_cell.rb +33 -0
  83. data/app/cells/decidim/profile_sidebar/show.erb +57 -0
  84. data/app/cells/decidim/profile_sidebar_cell.rb +31 -0
  85. data/app/cells/decidim/tos_page_cell.rb +0 -4
  86. data/app/cells/decidim/user_profile/header.erb +1 -1
  87. data/app/controllers/concerns/decidim/action_authorization.rb +13 -38
  88. data/app/controllers/concerns/decidim/needs_permission.rb +15 -6
  89. data/app/controllers/decidim/application_controller.rb +1 -0
  90. data/app/controllers/decidim/authorization_modals_controller.rb +35 -0
  91. data/app/controllers/decidim/components/base_controller.rb +0 -1
  92. data/app/controllers/decidim/devise/invitations_controller.rb +2 -1
  93. data/app/controllers/decidim/messaging/conversations_controller.rb +2 -11
  94. data/app/controllers/decidim/newsletters_controller.rb +4 -6
  95. data/app/controllers/decidim/notifications_controller.rb +4 -0
  96. data/app/controllers/decidim/pages_controller.rb +3 -7
  97. data/app/controllers/decidim/profiles_controller.rb +17 -7
  98. data/app/forms/decidim/notifications_settings_form.rb +1 -1
  99. data/app/forms/decidim/registration_form.rb +1 -1
  100. data/app/helpers/decidim/action_authorization_helper.rb +51 -46
  101. data/app/helpers/decidim/application_helper.rb +18 -0
  102. data/app/helpers/decidim/card_helper.rb +1 -1
  103. data/app/helpers/decidim/cells_helper.rb +6 -2
  104. data/app/helpers/decidim/resource_helper.rb +8 -1
  105. data/app/helpers/decidim/searches_helper.rb +5 -4
  106. data/app/helpers/decidim/traceability_helper.rb +5 -1
  107. data/app/models/decidim/authorization.rb +2 -2
  108. data/app/models/decidim/content_block.rb +144 -0
  109. data/app/models/decidim/gamification/badge_score.rb +13 -0
  110. data/app/models/decidim/messaging/message.rb +1 -1
  111. data/app/models/decidim/messaging/receipt.rb +1 -1
  112. data/app/models/decidim/organization.rb +1 -5
  113. data/app/models/decidim/resource_permission.rb +8 -0
  114. data/app/models/decidim/searchable_resource.rb +1 -1
  115. data/app/models/decidim/user.rb +17 -1
  116. data/app/permissions/decidim/default_permissions.rb +4 -3
  117. data/app/permissions/decidim/permissions.rb +33 -1
  118. data/app/presenters/decidim/hashtag_presenter.rb +32 -0
  119. data/app/presenters/decidim/resource_locator_presenter.rb +13 -0
  120. data/app/presenters/decidim/user_presenter.rb +1 -1
  121. data/app/queries/decidim/messaging/user_conversations.rb +1 -1
  122. data/app/resolvers/decidim/hashtags_resolver.rb +15 -0
  123. data/app/services/decidim/action_authorizer.rb +9 -8
  124. data/app/types/decidim/core/date_time_type.rb +1 -1
  125. data/app/types/decidim/core/hashtag_type.rb +13 -0
  126. data/app/uploaders/decidim/homepage_image_uploader.rb +1 -1
  127. data/app/uploaders/decidim/image_uploader.rb +1 -0
  128. data/app/views/decidim/authorization_modals/show.html.erb +32 -0
  129. data/app/views/decidim/messaging/conversations/create.js.erb +1 -1
  130. data/app/views/decidim/messaging/conversations/index.html.erb +1 -51
  131. data/app/views/decidim/messaging/conversations/new.html.erb +1 -5
  132. data/app/views/decidim/messaging/conversations/show.html.erb +1 -9
  133. data/app/views/decidim/messaging/conversations/update.js.erb +1 -1
  134. data/app/views/decidim/notifications/index.html.erb +1 -0
  135. data/app/views/decidim/pages/decidim_page.html.erb +9 -0
  136. data/app/views/decidim/pages/home.html.erb +12 -16
  137. data/app/views/decidim/pages/index.html.erb +8 -0
  138. data/app/views/decidim/profiles/_user_follow.erb +2 -2
  139. data/app/views/decidim/profiles/show.html.erb +1 -37
  140. data/app/views/decidim/searches/_results.html.erb +1 -1
  141. data/app/views/decidim/shared/_author_reference.html.erb +1 -1
  142. data/app/views/decidim/shared/_authorization_modal.html.erb +1 -0
  143. data/app/views/decidim/shared/_tags.html.erb +1 -1
  144. data/app/views/kaminari/decidim/_page.html.erb +1 -1
  145. data/app/views/layouts/decidim/_application.html.erb +6 -1
  146. data/app/views/layouts/decidim/_edit_link.html.erb +8 -0
  147. data/app/views/layouts/decidim/_impersonation_warning.html.erb +1 -1
  148. data/app/views/layouts/decidim/_user_menu.html.erb +2 -2
  149. data/app/views/layouts/decidim/_wrapper.html.erb +14 -1
  150. data/config/initializers/carrierwave.rb +15 -0
  151. data/config/locales/ca.yml +78 -30
  152. data/config/locales/en.yml +78 -30
  153. data/config/locales/es-PY.yml +78 -30
  154. data/config/locales/es.yml +78 -30
  155. data/config/locales/eu.yml +78 -30
  156. data/config/locales/fi.yml +262 -214
  157. data/config/locales/fr.yml +78 -30
  158. data/config/locales/gl.yml +78 -30
  159. data/config/locales/hu.yml +781 -0
  160. data/config/locales/it.yml +78 -30
  161. data/config/locales/nl.yml +78 -30
  162. data/config/locales/pl.yml +78 -30
  163. data/config/locales/pt-BR.yml +106 -58
  164. data/config/locales/pt.yml +78 -30
  165. data/config/locales/ru.yml +52 -32
  166. data/config/locales/sv.yml +183 -135
  167. data/config/locales/uk.yml +60 -40
  168. data/config/routes.rb +8 -6
  169. data/db/migrate/20180705091019_create_decidim_resource_permissions.rb +12 -0
  170. data/db/migrate/20180706104107_add_nickname_to_managed_users.rb +14 -0
  171. data/db/migrate/20180706111847_fix_result_follows.rb +9 -0
  172. data/db/migrate/20180724103814_add_content_blocks.rb +22 -0
  173. data/db/migrate/20180726112510_create_decidim_hashtags.rb +17 -0
  174. data/db/migrate/20180730071851_add_core_content_blocks.rb +28 -0
  175. data/db/migrate/20180802132147_rename_content_block_options_to_settings.rb +7 -0
  176. data/db/migrate/20180806095628_add_badge_scores.rb +11 -0
  177. data/db/migrate/20180808135006_add_images_to_content_blocks.rb +7 -0
  178. data/db/migrate/20180810092428_move_organization_fields_to_hero_content_block.rb +23 -0
  179. data/db/seeds.rb +10 -2
  180. data/lib/decidim/api/authorable_interface.rb +1 -1
  181. data/lib/decidim/coauthorable.rb +1 -0
  182. data/lib/decidim/content_block_manifest.rb +58 -0
  183. data/lib/decidim/content_block_registry.rb +87 -0
  184. data/lib/decidim/content_parsers.rb +1 -0
  185. data/lib/decidim/content_parsers/hashtag_parser.rb +36 -0
  186. data/lib/decidim/content_processor.rb +11 -0
  187. data/lib/decidim/content_renderers.rb +1 -0
  188. data/lib/decidim/content_renderers/hashtag_renderer.rb +43 -0
  189. data/lib/decidim/core.rb +28 -6
  190. data/lib/decidim/core/api.rb +1 -0
  191. data/lib/decidim/core/engine.rb +52 -1
  192. data/lib/decidim/core/test.rb +3 -0
  193. data/lib/decidim/core/test/factories.rb +32 -17
  194. data/lib/decidim/core/test/shared_examples/authorable_interface_examples.rb +10 -0
  195. data/lib/decidim/core/test/shared_examples/coauthorable.rb +3 -0
  196. data/lib/decidim/core/test/shared_examples/edit_link_shared_examples.rb +30 -0
  197. data/lib/decidim/core/test/shared_examples/has_space_in_mcell_examples.rb +15 -0
  198. data/lib/decidim/core/test/shared_examples/publicable.rb +1 -1
  199. data/lib/decidim/core/test/shared_examples/railtie_examples.rb +15 -0
  200. data/lib/decidim/core/test/shared_examples/scope_helper_examples.rb +1 -0
  201. data/lib/decidim/core/version.rb +1 -1
  202. data/lib/decidim/events/base_event.rb +2 -1
  203. data/lib/decidim/form_builder.rb +9 -3
  204. data/lib/decidim/friendly_dates.rb +1 -1
  205. data/lib/decidim/gamification.rb +109 -0
  206. data/lib/decidim/gamification/badge.rb +54 -0
  207. data/lib/decidim/gamification/badge_earned_event.rb +9 -0
  208. data/lib/decidim/gamification/badge_registry.rb +63 -0
  209. data/lib/decidim/gamification/badge_scorer.rb +118 -0
  210. data/lib/decidim/gamification/badge_status.rb +41 -0
  211. data/lib/decidim/gamification/base_event.rb +40 -0
  212. data/lib/decidim/gamification/level_up_event.rb +9 -0
  213. data/lib/decidim/hashtag.rb +15 -0
  214. data/lib/decidim/hashtaggable.rb +20 -0
  215. data/lib/decidim/query_extensions.rb +10 -0
  216. data/lib/decidim/resource_manifest.rb +10 -0
  217. data/lib/decidim/resourceable.rb +13 -0
  218. data/lib/decidim/search_resource_fields_mapper.rb +8 -3
  219. data/lib/decidim/searchable.rb +8 -0
  220. data/lib/decidim/translatable_attributes.rb +6 -18
  221. data/lib/decidim/view_model.rb +6 -0
  222. data/lib/devise/models/decidim_newsletterable.rb +1 -1
  223. data/vendor/assets/javascripts/d3.js +17813 -0
  224. metadata +125 -27
  225. data/app/cells/decidim/card_m/author.erb +0 -3
  226. data/app/cells/decidim/card_m/authors.erb +0 -9
  227. data/app/views/decidim/messaging/conversations/_message.html.erb +0 -14
  228. data/app/views/decidim/messaging/conversations/_reply.html.erb +0 -11
  229. data/app/views/decidim/messaging/conversations/_show.html.erb +0 -21
  230. data/app/views/decidim/messaging/conversations/_start.html.erb +0 -12
  231. data/app/views/decidim/pages/home/_footer_sub_hero.html.erb +0 -14
  232. data/app/views/decidim/pages/home/_highlighted_content_banner.html.erb +0 -26
  233. data/app/views/decidim/pages/home/_highlighted_processes.html.erb +0 -7
  234. data/app/views/decidim/profiles/_user.html.erb +0 -59
  235. data/app/views/decidim/shared/_action_authorization_modal.html.erb +0 -39
  236. data/app/views/layouts/decidim/_component_authorization_modals.html.erb +0 -5
@@ -0,0 +1,11 @@
1
+ ((exports) => {
2
+ const RenderChart = (chart) => {
3
+ chart()
4
+ $(document).on("change.zf.tabs", () => {
5
+ chart()
6
+ });
7
+ }
8
+
9
+ exports.Decidim = exports.Decidim || {};
10
+ exports.Decidim.Visualizations = RenderChart;
11
+ })(window)
@@ -1,4 +1,6 @@
1
- form.new_proposal{
1
+ form.new_collaborative_draft,
2
+ form.new_proposal,
3
+ form.edit_proposal{
2
4
  fieldset{
3
5
  border: 1px solid #e8e8e8;
4
6
  padding: .5em;
@@ -177,7 +177,7 @@
177
177
  padding-bottom: 1rem;
178
178
  }
179
179
 
180
- .home-section{
180
+ .home-section:nth-of-type(2n+1){
181
181
  background: $light-gray-dark;
182
182
  }
183
183
 
@@ -0,0 +1,74 @@
1
+ .areachart{
2
+ //common
3
+ svg{
4
+ background-color: rgba($primary, .1);
5
+ overflow: visible;
6
+ }
7
+
8
+ .title{
9
+ fill: $muted;
10
+ text-transform: uppercase;
11
+ font-weight: 600;
12
+ }
13
+
14
+ .area{
15
+ fill: lighten($primary, 25%);
16
+ }
17
+
18
+ .line{
19
+ fill: none;
20
+ stroke: $primary;
21
+ stroke-width: 4px;
22
+ }
23
+
24
+ .circle{
25
+ fill: $primary;
26
+ }
27
+
28
+ .tick{
29
+ opacity: .5;
30
+
31
+ .dashed{
32
+ stroke-dasharray: 1, 3;
33
+ }
34
+ }
35
+
36
+ .sum{
37
+ font-weight: 600;
38
+ font-size: rem-calc(map-get(map-get(map-get($header-styles, medium), 'h1'), 'font-size')) * 1.5;
39
+ }
40
+
41
+ // color-dependent
42
+ $map: $foundation-palette;
43
+
44
+ @each $key, $value in $map{
45
+ &.#{$key}{
46
+ svg{
47
+ background-color: rgba($value, .1);
48
+ }
49
+
50
+ .area{
51
+ fill: lighten($value, 25%);
52
+ }
53
+
54
+ .line{
55
+ stroke: $value;
56
+ }
57
+
58
+ .circle{
59
+ fill: $value;
60
+ }
61
+ }
62
+ }
63
+
64
+ // variations
65
+ &.small{
66
+ .sum{
67
+ font-size: rem-calc(map-get(map-get(map-get($header-styles, medium), 'h3'), 'font-size'));
68
+
69
+ @include breakpoint(medium down){
70
+ font-size: rem-calc(map-get(map-get(map-get($header-styles, medium), 'h1'), 'font-size')) * 1.5;
71
+ }
72
+ }
73
+ }
74
+ }
@@ -0,0 +1,116 @@
1
+ .badge-level{
2
+ display: table;
3
+ border-collapse: collapse;
4
+
5
+ > div{
6
+ @include square(1rem);
7
+
8
+ border: $border;
9
+ display: table-cell;
10
+
11
+ &.is-achieved{
12
+ background-color: $success;
13
+ }
14
+ }
15
+ }
16
+
17
+ .badge-tip{
18
+ @extend .mt-xs;
19
+ @extend .mr-xs;
20
+
21
+ @include square(1rem);
22
+
23
+ color: $white;
24
+ border-radius: 50%;
25
+ background-color: $medium-gray;
26
+ z-index: 10;
27
+ cursor: pointer;
28
+
29
+ > :first-child{
30
+ @extend .flex--cc;
31
+
32
+ height: 100%;
33
+ }
34
+
35
+ &.badge-tip--inline{
36
+ display: inline-block;
37
+ }
38
+ }
39
+
40
+ .badge-container{
41
+ transition: all .6s ease;
42
+
43
+ .badge__logo{
44
+ @extend .card__image;
45
+
46
+ max-height: auto;
47
+ min-height: auto;
48
+ }
49
+
50
+ .badge__logo--small{
51
+ @extend .badge__logo;
52
+
53
+ border: 2px solid $primary;
54
+ }
55
+
56
+ & > *{
57
+ max-width: 100%;
58
+ height: auto;
59
+ border: 4px solid $primary;
60
+ border-radius: 50%;
61
+ transition: all .6s ease;
62
+ }
63
+
64
+ .no-stroke,
65
+ .no-stroke circle,
66
+ .no-stroke ellipse,
67
+ .no-stroke line,
68
+ .no-stroke path,
69
+ .no-stroke polygon,
70
+ .no-stroke polyline,
71
+ .no-stroke rect{
72
+ stroke: none !important;
73
+ }
74
+
75
+ .stroke-white,
76
+ .stroke-white circle,
77
+ .stroke-white ellipse,
78
+ .stroke-white line,
79
+ .stroke-white path,
80
+ .stroke-white polygon,
81
+ .stroke-white polyline,
82
+ .stroke-white rect{
83
+ stroke: $white !important;
84
+ }
85
+
86
+ /** Config SVG colors **/
87
+ .fill-primary{
88
+ fill: $secondary;
89
+ }
90
+
91
+ .fill-secondary{
92
+ fill: $primary;
93
+ }
94
+
95
+ .stroke-primary,
96
+ .stroke-primary circle,
97
+ .stroke-primary ellipse,
98
+ .stroke-primary line,
99
+ .stroke-primary path,
100
+ .stroke-primary polygon,
101
+ .stroke-primary polyline,
102
+ .stroke-primary rect{
103
+ stroke: $secondary;
104
+ }
105
+
106
+ .stroke-secondary,
107
+ .stroke-secondary circle,
108
+ .stroke-secondary ellipse,
109
+ .stroke-secondary line,
110
+ .stroke-secondary path,
111
+ .stroke-secondary polygon,
112
+ .stroke-secondary polyline,
113
+ .stroke-secondary rect{
114
+ stroke: $primary;
115
+ }
116
+ }
@@ -51,6 +51,11 @@
51
51
  @include modifiers(color, (success: $white, secondary: $white));
52
52
  }
53
53
 
54
+ .button.light.hollow{
55
+ border-color: $white;
56
+ color: $white;
57
+ }
58
+
54
59
  // Button groups
55
60
  .button-group--collapse{
56
61
  text-align: left;
@@ -50,11 +50,17 @@ $datetime-bg: $primary;
50
50
 
51
51
  .card__content{
52
52
  padding: $card-padding-small;
53
- padding-bottom: $card-padding-small / 2;
53
+
54
+ &:not(:only-child){
55
+ padding-bottom: $card-padding-small / 2;
56
+ }
54
57
 
55
58
  @include breakpoint(medium){
56
59
  padding: $card-padding;
57
- padding-bottom: $card-padding / 2;
60
+
61
+ &:not(:only-child){
62
+ padding-bottom: $card-padding / 2;
63
+ }
58
64
  }
59
65
  }
60
66
 
@@ -754,6 +760,7 @@ $datetime-bg: $primary;
754
760
  }
755
761
 
756
762
  .card.success &,
763
+ .card.secondary &,
757
764
  .card.muted &,
758
765
  .card.warning &,
759
766
  .card.alert &{
@@ -908,8 +915,18 @@ $datetime-bg: $primary;
908
915
  }
909
916
  }
910
917
  }
918
+ }
911
919
 
912
- &:not(:last-child){
913
- margin-bottom: $global-margin;
920
+ // card - participatory space
921
+ .card__top{
922
+ @extend .card__footer;
923
+
924
+ .card__content{
925
+ line-height: $global-lineheight;
926
+ padding: $card-padding-small / 4 $card-padding-small;
927
+
928
+ @include breakpoint(medium){
929
+ padding: $card-padding / 4 $card-padding;
930
+ }
914
931
  }
915
932
  }
@@ -0,0 +1,42 @@
1
+ .chart-tooltip{
2
+ @extend .card;
3
+
4
+ position: absolute;
5
+ transform: translate(-50%, -119%);
6
+ box-shadow: 0 0 20px 0 rgba($black, .2);
7
+ overflow: visible;
8
+
9
+ .tooltip-content{
10
+ @extend .text-medium;
11
+ @extend .p-xs;
12
+
13
+ position: relative;
14
+
15
+ &::after,
16
+ &::before{
17
+ top: 100%;
18
+ left: 50%;
19
+ border: solid transparent;
20
+ content: " ";
21
+ height: 0;
22
+ width: 0;
23
+ position: absolute;
24
+ pointer-events: none;
25
+ }
26
+
27
+ &::after{
28
+ border-color: rgba($white, 0);
29
+ border-top-color: $white;
30
+ border-width: 10px;
31
+ margin-left: -10px;
32
+ top: calc(100% - 1px); // webkit
33
+ }
34
+
35
+ &::before{
36
+ border-color: rgba($medium-gray, 0);
37
+ border-top-color: $medium-gray;
38
+ border-width: 11px;
39
+ margin-left: -11px;
40
+ }
41
+ }
42
+ }
@@ -1,18 +1,22 @@
1
1
  // @Component
2
2
  .collapsible-list{
3
3
  &.is-filtered{
4
- > div:nth-of-type(1n+8){
5
- display: none;
6
- }
7
-
8
- &.small{
9
- > div:nth-of-type(1n+4){
10
- display: none;
4
+ @for $i from 1 through 12{
5
+ &.show-#{$i}{
6
+ .collapse:nth-of-type(n+#{$i + 1}),
7
+ > div:nth-of-type(n+#{$i + 1}){
8
+ display: none;
9
+ }
11
10
  }
12
11
  }
13
12
 
14
13
  .collapsible-list__see-more{
15
14
  display: inline-block;
15
+
16
+ + .text-small{
17
+ padding-top: .15rem;
18
+ padding-left: .2rem;
19
+ }
16
20
  }
17
21
 
18
22
  .collapsible-list__see-less{
@@ -29,7 +33,7 @@
29
33
  }
30
34
 
31
35
  > *{
32
- display: inline-block;
36
+ display: inline-flex;
33
37
  margin: 0 0 .5rem;
34
38
  }
35
39
  }
@@ -0,0 +1,31 @@
1
+ .conference-nav{
2
+ margin: 0;
3
+ padding: 0;
4
+ list-style: none;
5
+
6
+ li{
7
+ padding: $global-padding * .5;
8
+
9
+ a{
10
+ font-size: rem-calc(18);
11
+ color: $muted;
12
+ }
13
+
14
+ &.is-active{
15
+ font-weight: $global-weight-bold;
16
+ position: relative;
17
+
18
+ &::before{
19
+ content: "";
20
+ display: inline-block;
21
+ width: 5px;
22
+ height: $list-lineheight * 1rem;
23
+ background-color: $primary;
24
+ position: absolute;
25
+ top: 50%;
26
+ left: -.5rem;
27
+ transform: translateY(-50%);
28
+ }
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,110 @@
1
+ .conference-programme{
2
+ .programme-selector{
3
+ border-bottom: $border;
4
+ padding-bottom: $global-margin * .5;
5
+ color: $muted;
6
+ text-transform: uppercase;
7
+ font-size: rem-calc(19);
8
+ display: flex;
9
+ align-items: center;
10
+
11
+ @include breakpoint(small only){
12
+ flex-direction: column;
13
+ text-align: center;
14
+ }
15
+
16
+ //Override foundation
17
+ .tabs{
18
+ @include flexgap(.5rem, column);
19
+
20
+ @include breakpoint(medium){
21
+ @include flexgap(.5rem);
22
+ }
23
+ }
24
+ }
25
+
26
+ .programme-day > .row{
27
+ padding: $global-padding * 2 0;
28
+ border-bottom: $border;
29
+ border-bottom-style: dashed;
30
+ }
31
+
32
+ //Override foundation
33
+ .tabs,
34
+ .tabs-content{
35
+ background: transparent;
36
+ }
37
+
38
+ //Override foundation
39
+ .tabs-title{
40
+ > a{
41
+ padding: 0;
42
+
43
+ &:hover{
44
+ background: transparent;
45
+ }
46
+ }
47
+
48
+ > a[aria-selected='true']{
49
+ background: transparent;
50
+ }
51
+
52
+ &:not(.is-active) .button{
53
+ opacity: .4;
54
+ }
55
+ }
56
+
57
+ .programme-header{
58
+ display: flex;
59
+ align-items: baseline;
60
+
61
+ @include breakpoint(small only){
62
+ flex-direction: column;
63
+ }
64
+ }
65
+
66
+ .programme-time{
67
+ font-size: rem-calc(19);
68
+ font-weight: $global-weight-bold;
69
+ }
70
+
71
+ .programme-title{
72
+ font-size: rem-calc(24);
73
+ color: $secondary;
74
+ font-weight: $global-weight-bold;
75
+
76
+ @include breakpoint(small only){
77
+ @include ellipsis();
78
+ }
79
+ }
80
+
81
+ .programme-resume{
82
+ font-size: rem-calc(14);
83
+ color: $muted;
84
+ }
85
+
86
+ .programme-extra{
87
+ color: $muted;
88
+ font-size: rem-calc(14);
89
+
90
+ // except 2nd child
91
+ > .row:not(:nth-child(2)){
92
+ margin-top: $global-margin * .5;
93
+ }
94
+
95
+ // Fix position list-item beneath collapsible-list
96
+ @include breakpoint(medium up){
97
+ > .row:nth-child(2){
98
+ margin-top: -$global-margin * .5;
99
+
100
+ > :nth-child(2){
101
+ margin-top: -$global-margin * .5;
102
+ }
103
+ }
104
+ }
105
+
106
+ span{
107
+ opacity: .6;
108
+ }
109
+ }
110
+ }