decidim-core 0.11.2 → 0.12.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (238) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/decidim/notifications.js.es6 +8 -6
  3. data/app/assets/javascripts/decidim/user_registrations.js.es6 +25 -1
  4. data/app/assets/stylesheets/decidim/application.scss.erb +4 -0
  5. data/app/assets/stylesheets/decidim/layouts/_home.scss +79 -0
  6. data/app/assets/stylesheets/decidim/modules/_author-avatar.scss +2 -1
  7. data/app/assets/stylesheets/decidim/modules/_cards.scss +82 -38
  8. data/app/assets/stylesheets/decidim/modules/_collapsible-list.scss +16 -0
  9. data/app/assets/stylesheets/decidim/modules/_definition-data.scss +27 -0
  10. data/app/assets/stylesheets/decidim/modules/_fingerprint.scss +8 -0
  11. data/app/assets/stylesheets/decidim/modules/_horizontal-tabs.scss +51 -0
  12. data/app/assets/stylesheets/decidim/modules/_inline-filters.scss +5 -3
  13. data/app/assets/stylesheets/decidim/modules/_margins.scss +6 -4
  14. data/app/assets/stylesheets/decidim/modules/_modules.scss +3 -0
  15. data/app/assets/stylesheets/decidim/modules/_navbar.scss +113 -7
  16. data/app/assets/stylesheets/decidim/modules/_signup.scss +22 -5
  17. data/app/assets/stylesheets/decidim/modules/_toggle.scss +9 -0
  18. data/app/assets/stylesheets/decidim/modules/_typography.scss +5 -1
  19. data/app/assets/stylesheets/decidim/utils/_helpers.scss +42 -0
  20. data/app/assets/stylesheets/decidim/utils/_mixins.scss +6 -0
  21. data/app/assets/stylesheets/decidim/utils/_settings.scss +3 -2
  22. data/app/cells/decidim/announcement/show.erb +11 -0
  23. data/app/cells/decidim/announcement_cell.rb +32 -0
  24. data/app/cells/decidim/author/comments.erb +6 -0
  25. data/app/cells/decidim/author/contact.erb +3 -0
  26. data/app/cells/decidim/author/date.erb +5 -0
  27. data/app/cells/decidim/author/flag.erb +5 -0
  28. data/app/cells/decidim/author/profile.erb +9 -0
  29. data/app/cells/decidim/{profile → author}/profile_inline.erb +1 -1
  30. data/app/cells/decidim/author/show.erb +18 -0
  31. data/app/cells/decidim/author/withdraw.erb +6 -0
  32. data/app/cells/decidim/author_cell.rb +109 -0
  33. data/app/cells/decidim/card/show.erb +18 -16
  34. data/app/cells/decidim/card_cell.rb +17 -4
  35. data/app/cells/decidim/card_m/author.erb +3 -0
  36. data/app/cells/decidim/card_m/badge.erb +1 -0
  37. data/app/cells/decidim/card_m/comments_counter.erb +3 -0
  38. data/app/cells/decidim/card_m/data.erb +0 -0
  39. data/app/cells/decidim/card_m/footer.erb +0 -0
  40. data/app/cells/decidim/card_m/header.erb +17 -0
  41. data/app/cells/decidim/card_m/image.erb +5 -0
  42. data/app/cells/decidim/card_m/label.erb +3 -0
  43. data/app/cells/decidim/card_m/show.erb +24 -0
  44. data/app/cells/decidim/card_m/status.erb +9 -0
  45. data/app/cells/decidim/card_m/tags.erb +0 -0
  46. data/app/cells/decidim/card_m_cell.rb +136 -0
  47. data/app/cells/decidim/collapsible_list/show.erb +20 -0
  48. data/app/cells/decidim/collapsible_list_cell.rb +66 -0
  49. data/app/cells/decidim/fingerprint/show.erb +22 -0
  50. data/app/cells/decidim/fingerprint_cell.rb +17 -0
  51. data/app/cells/decidim/follow_button/show.erb +34 -0
  52. data/app/cells/decidim/follow_button_cell.rb +40 -0
  53. data/app/cells/decidim/followers/show.erb +9 -0
  54. data/app/cells/decidim/followers_cell.rb +18 -0
  55. data/app/cells/decidim/following/show.erb +9 -0
  56. data/app/cells/decidim/following_cell.rb +24 -0
  57. data/app/cells/decidim/notifications/show.erb +48 -0
  58. data/app/cells/decidim/notifications_cell.rb +21 -0
  59. data/app/cells/decidim/progress_bar/show.erb +17 -0
  60. data/app/cells/decidim/progress_bar_cell.rb +68 -0
  61. data/app/cells/decidim/tags/category.erb +1 -0
  62. data/app/cells/decidim/tags/scope.erb +1 -0
  63. data/app/cells/decidim/tags/show.erb +5 -0
  64. data/app/cells/decidim/tags_cell.rb +62 -0
  65. data/app/cells/decidim/tos_page/announcement.erb +2 -0
  66. data/app/cells/decidim/tos_page/refuse_btn_modal.erb +23 -0
  67. data/app/cells/decidim/tos_page/sticky_form.erb +29 -0
  68. data/app/cells/decidim/tos_page_cell.rb +39 -0
  69. data/app/cells/decidim/user_profile/footer.erb +5 -0
  70. data/app/cells/decidim/user_profile/header.erb +20 -0
  71. data/app/cells/decidim/user_profile_cell.rb +26 -0
  72. data/app/commands/decidim/create_omniauth_registration.rb +1 -1
  73. data/app/commands/decidim/create_registration.rb +2 -1
  74. data/app/commands/decidim/search.rb +45 -0
  75. data/app/controllers/concerns/decidim/devise_controllers.rb +15 -12
  76. data/app/controllers/concerns/decidim/http_caching_disabler.rb +21 -0
  77. data/app/controllers/concerns/decidim/impersonate_users.rb +1 -6
  78. data/app/controllers/concerns/decidim/locale_switcher.rb +1 -1
  79. data/app/controllers/concerns/decidim/needs_permission.rb +70 -0
  80. data/app/controllers/concerns/decidim/needs_tos_accepted.rb +42 -0
  81. data/app/controllers/concerns/decidim/participatory_space_context.rb +1 -7
  82. data/app/controllers/concerns/decidim/user_profile.rb +3 -1
  83. data/app/controllers/decidim/account_controller.rb +4 -4
  84. data/app/controllers/decidim/application_controller.rb +17 -8
  85. data/app/controllers/decidim/components/base_controller.rb +14 -9
  86. data/app/controllers/decidim/cookie_policy_controller.rb +0 -2
  87. data/app/controllers/decidim/devise/confirmations_controller.rb +13 -0
  88. data/app/controllers/decidim/devise/invitations_controller.rb +3 -1
  89. data/app/controllers/decidim/devise/omniauth_registrations_controller.rb +9 -3
  90. data/app/controllers/decidim/devise/passwords_controller.rb +1 -1
  91. data/app/controllers/decidim/devise/registrations_controller.rb +1 -7
  92. data/app/controllers/decidim/doorkeeper/authorizations_controller.rb +0 -2
  93. data/app/controllers/decidim/doorkeeper/credentials_controller.rb +0 -1
  94. data/app/controllers/decidim/errors_controller.rb +0 -2
  95. data/app/controllers/decidim/follows_controller.rb +4 -2
  96. data/app/controllers/decidim/locales_controller.rb +1 -1
  97. data/app/controllers/decidim/messaging/conversations_controller.rb +5 -5
  98. data/app/controllers/decidim/newsletters_controller.rb +0 -2
  99. data/app/controllers/decidim/notifications_controller.rb +3 -19
  100. data/app/controllers/decidim/notifications_settings_controller.rb +2 -2
  101. data/app/controllers/decidim/pages_controller.rb +12 -10
  102. data/app/controllers/decidim/profiles_controller.rb +10 -4
  103. data/app/controllers/decidim/reports_controller.rb +14 -1
  104. data/app/controllers/decidim/scopes_controller.rb +3 -3
  105. data/app/controllers/decidim/searches_controller.rb +39 -0
  106. data/app/controllers/decidim/static_map_controller.rb +0 -2
  107. data/app/controllers/decidim/tos_controller.rb +20 -0
  108. data/app/controllers/decidim/widgets_controller.rb +0 -1
  109. data/app/forms/decidim/follow_form.rb +1 -0
  110. data/app/forms/decidim/registration_form.rb +2 -1
  111. data/app/helpers/decidim/card_helper.rb +2 -0
  112. data/app/helpers/decidim/cells_paginate_helper.rb +16 -0
  113. data/app/helpers/decidim/cta_button_helper.rb +1 -1
  114. data/app/helpers/decidim/decidim_form_helper.rb +4 -0
  115. data/app/helpers/decidim/icon_helper.rb +2 -0
  116. data/app/helpers/decidim/resource_helper.rb +1 -2
  117. data/app/helpers/decidim/scopes_helper.rb +17 -10
  118. data/app/helpers/decidim/searches_helper.rb +16 -0
  119. data/app/helpers/decidim/tooltip_helper.rb +12 -0
  120. data/app/models/decidim/organization.rb +10 -0
  121. data/app/models/decidim/permission_action.rb +40 -0
  122. data/app/models/decidim/searchable_resource.rb +37 -0
  123. data/app/models/decidim/static_page.rb +4 -0
  124. data/app/models/decidim/user.rb +39 -3
  125. data/app/permissions/decidim/default_permissions.rb +61 -0
  126. data/app/permissions/decidim/permissions.rb +106 -0
  127. data/app/permissions/decidim/user_manager_permissions.rb +24 -0
  128. data/app/presenters/decidim/admin_log/organization_presenter.rb +2 -1
  129. data/app/presenters/decidim/home_stats_presenter.rb +2 -8
  130. data/app/presenters/decidim/user_presenter.rb +8 -0
  131. data/app/services/decidim/traceability.rb +6 -9
  132. data/app/types/decidim/core/user_type.rb +1 -1
  133. data/app/views/decidim/devise/invitations/edit.html.erb +56 -10
  134. data/app/views/decidim/devise/registrations/new.html.erb +36 -14
  135. data/app/views/decidim/devise/shared/_newsletter_modal.html.erb +25 -0
  136. data/app/views/decidim/follows/update_button.js.erb +2 -2
  137. data/app/views/decidim/messaging/conversations/_message.html.erb +1 -1
  138. data/app/views/{pages → decidim/pages}/decidim_page.html.erb +5 -0
  139. data/app/views/decidim/pages/home.html.erb +17 -0
  140. data/app/views/{pages → decidim/pages}/home/_extended.html.erb +0 -0
  141. data/app/views/{pages → decidim/pages}/home/_footer_sub_hero.html.erb +0 -0
  142. data/app/views/{pages → decidim/pages}/home/_hero.html.erb +0 -0
  143. data/app/views/{pages → decidim/pages}/home/_highlighted_content_banner.html.erb +0 -0
  144. data/app/views/{pages → decidim/pages}/home/_highlighted_processes.html.erb +0 -0
  145. data/app/views/{pages → decidim/pages}/home/_statistics.html.erb +0 -0
  146. data/app/views/{pages → decidim/pages}/home/_sub_hero.html.erb +0 -0
  147. data/app/views/decidim/profiles/_followers.html.erb +5 -0
  148. data/app/views/decidim/profiles/_following.html.erb +5 -0
  149. data/app/views/decidim/profiles/_notifications.html.erb +0 -0
  150. data/app/views/decidim/profiles/_user.html.erb +59 -0
  151. data/app/views/decidim/profiles/_user_follow.erb +32 -0
  152. data/app/views/decidim/profiles/show.html.erb +32 -59
  153. data/app/views/decidim/searches/_count.html.erb +1 -0
  154. data/app/views/decidim/searches/_filters.html.erb +20 -0
  155. data/app/views/decidim/searches/_filters_small_view.html.erb +18 -0
  156. data/app/views/decidim/searches/_results.html.erb +5 -0
  157. data/app/views/decidim/searches/index.html.erb +20 -0
  158. data/app/views/decidim/searches/index.js.erb +5 -0
  159. data/app/views/decidim/shared/_address_details.html.erb +7 -9
  160. data/app/views/decidim/shared/_announcement.html.erb +1 -6
  161. data/app/views/decidim/shared/_author_reference.html.erb +1 -1
  162. data/app/views/decidim/shared/_follow_button.html.erb +1 -34
  163. data/app/views/decidim/shared/_static_map.html.erb +3 -1
  164. data/app/views/decidim/shared/_tags.html.erb +1 -11
  165. data/app/views/kaminari/decidim/_paginator.html.erb +16 -15
  166. data/app/views/layouts/decidim/_head.html.erb +1 -0
  167. data/app/views/layouts/decidim/_topbar_search.html.erb +8 -0
  168. data/app/views/layouts/decidim/_user_menu.html.erb +2 -2
  169. data/app/views/layouts/decidim/_wrapper.html.erb +3 -2
  170. data/config/initializers/devise.rb +1 -1
  171. data/config/initializers/rack_attack.rb +28 -0
  172. data/config/locales/ca.yml +136 -55
  173. data/config/locales/en.yml +135 -54
  174. data/config/locales/es.yml +136 -55
  175. data/config/locales/eu.yml +136 -54
  176. data/config/locales/fi.yml +135 -54
  177. data/config/locales/fr.yml +136 -54
  178. data/config/locales/gl.yml +136 -54
  179. data/config/locales/it.yml +136 -54
  180. data/config/locales/nl.yml +136 -54
  181. data/config/locales/pl.yml +144 -54
  182. data/config/locales/pt-BR.yml +136 -54
  183. data/config/locales/pt.yml +136 -54
  184. data/config/locales/ru.yml +150 -60
  185. data/config/locales/sv.yml +136 -54
  186. data/config/locales/uk.yml +146 -57
  187. data/config/routes.rb +11 -1
  188. data/db/migrate/20180209122819_create_decidim_searchable_resource.rb +21 -0
  189. data/db/migrate/20180508111640_add_tos_version_to_organization.rb +19 -0
  190. data/db/migrate/20180508111710_add_accepted_tos_version_field_to_users.rb +25 -0
  191. data/db/seeds.rb +33 -26
  192. data/lib/decidim/component_manifest.rb +35 -27
  193. data/lib/decidim/content_processor.rb +21 -3
  194. data/lib/decidim/core.rb +27 -16
  195. data/lib/decidim/core/engine.rb +8 -19
  196. data/lib/decidim/core/test.rb +2 -0
  197. data/lib/decidim/core/test/factories.rb +34 -4
  198. data/lib/decidim/core/test/shared_examples/fingerprint_examples.rb +15 -0
  199. data/lib/decidim/core/test/shared_examples/searchable_results_examples.rb +27 -0
  200. data/lib/decidim/core/version.rb +1 -1
  201. data/lib/decidim/events/base_event.rb +5 -1
  202. data/lib/decidim/fingerprint_calculator.rb +42 -0
  203. data/lib/decidim/fingerprintable.rb +63 -0
  204. data/lib/decidim/form_builder.rb +1 -0
  205. data/lib/decidim/manifest_registry.rb +4 -10
  206. data/lib/decidim/participable.rb +4 -0
  207. data/lib/decidim/participatory_space_manifest.rb +36 -0
  208. data/lib/decidim/participatory_space_resourceable.rb +11 -0
  209. data/lib/decidim/resource_manifest.rb +10 -11
  210. data/lib/decidim/resourceable.rb +3 -2
  211. data/lib/decidim/search_resource_fields_mapper.rb +93 -0
  212. data/lib/decidim/searchable.rb +85 -0
  213. data/lib/decidim/settings_manifest.rb +3 -2
  214. data/lib/decidim/traceable.rb +2 -0
  215. data/lib/decidim/view_model.rb +9 -0
  216. data/lib/tasks/decidim_tasks.rake +79 -1
  217. metadata +149 -76
  218. data/app/assets/stylesheets/decidim/extras/_register_form.scss +0 -9
  219. data/app/cells/decidim/author_box/show.erb +0 -10
  220. data/app/cells/decidim/author_box_cell.rb +0 -21
  221. data/app/cells/decidim/profile/show.erb +0 -13
  222. data/app/cells/decidim/profile_cell.rb +0 -17
  223. data/app/controllers/concerns/decidim/needs_authorization.rb +0 -46
  224. data/app/models/decidim/abilities/admin_ability.rb +0 -29
  225. data/app/models/decidim/abilities/base_ability.rb +0 -56
  226. data/app/models/decidim/abilities/everyone_ability.rb +0 -25
  227. data/app/models/decidim/abilities/participatory_process_admin_ability.rb +0 -28
  228. data/app/models/decidim/abilities/participatory_process_collaborator_ability.rb +0 -28
  229. data/app/models/decidim/abilities/participatory_process_moderator_ability.rb +0 -15
  230. data/app/models/decidim/abilities/user_manager_ability.rb +0 -35
  231. data/app/views/decidim/notifications/_notification.html.erb +0 -20
  232. data/app/views/decidim/notifications/index.html.erb +0 -36
  233. data/app/views/decidim/shared/_author.html.erb +0 -21
  234. data/app/views/pages/home.html.erb +0 -17
  235. data/db/migrate/20180613080638_rename_missing_features_to_components.rb +0 -15
  236. data/lib/decidim/abilities.rb +0 -7
  237. data/lib/decidim/abilities/participatory_process_role_ability.rb +0 -60
  238. data/lib/decidim/page_finder.rb +0 -49
@@ -0,0 +1,8 @@
1
+ .fingerprint-dialog{
2
+ .fingerprint-value,
3
+ .fingerprint-source{
4
+ display: block;
5
+ max-width: 100%;
6
+ word-break: break-all;
7
+ }
8
+ }
@@ -0,0 +1,51 @@
1
+ // name specific
2
+ #profile-tabs{
3
+ // Override foundation
4
+ &.tabs{
5
+ background: transparent;
6
+ border: 0;
7
+ display: flex;
8
+ justify-content: space-around;
9
+ border-bottom: $border;
10
+ margin-bottom: $global-margin;
11
+
12
+ .tabs-title{
13
+ a{
14
+ color: $anchor-color;
15
+ padding: $global-padding * 3/4;
16
+ position: relative;
17
+
18
+ &:focus,
19
+ &[aria-selected='true']{
20
+ background: transparent;
21
+ color: $primary;
22
+ font-weight: 600;
23
+ border-bottom: 3px solid $primary;
24
+ }
25
+
26
+ &:hover{
27
+ background: transparent;
28
+ border-bottom: $border;
29
+ border-bottom-width: 3px;
30
+ }
31
+
32
+ &::after{
33
+ display: block;
34
+ content: attr(title);
35
+ font-weight: bold;
36
+ height: 0;
37
+ overflow: hidden;
38
+ visibility: hidden;
39
+ }
40
+ }
41
+ }
42
+ }
43
+ }
44
+
45
+ // Make the connection between the title and the content
46
+ [data-tabs-content="profile-tabs"]{
47
+ border-top: 0;
48
+ background: transparent;
49
+ color: inherit;
50
+ transition: all .5s ease;
51
+ }
@@ -1,9 +1,11 @@
1
1
  .inline-filters{
2
- display: flex;
3
- justify-content: space-between;
4
-
5
2
  @include flexgap($global-margin * 2);
6
3
 
4
+ // Override gap display property
5
+ display: inline-flex;
6
+ justify-content: space-between;
7
+ text-align: left;
8
+
7
9
  label{
8
10
  display: flex;
9
11
  align-items: baseline;
@@ -1,7 +1,8 @@
1
- $margin-s: 1rem;
2
- $margin-sm: 2rem;
3
- $margin-m: 3rem;
4
- $margin-l: 5rem;
1
+ $margin-xs: $global-margin * .5;
2
+ $margin-s: $global-margin * 1;
3
+ $margin-sm: $global-margin * 2;
4
+ $margin-m: $global-margin * 3;
5
+ $margin-l: $global-margin * 5;
5
6
 
6
7
  //Sections
7
8
  .section{
@@ -19,6 +20,7 @@ $margin-l: 5rem;
19
20
  // helpers
20
21
  $size:(
21
22
  none: 0,
23
+ xs: $margin-xs,
22
24
  s: $margin-s,
23
25
  sm: $margin-sm,
24
26
  m: $margin-m,
@@ -41,6 +41,7 @@
41
41
  @import "data-picker";
42
42
  @import "progress-bar";
43
43
  @import "docs-manager";
44
+ @import "horizontal-tabs";
44
45
 
45
46
  //Process elements
46
47
  @import "process-header";
@@ -67,3 +68,5 @@
67
68
  @import "wizard-steps";
68
69
  @import "collapsible-list";
69
70
  @import "block-banner";
71
+ @import "fingerprint";
72
+ @import "toggle";
@@ -119,20 +119,76 @@ $navbar-active-shadow-medium: inset 0 4px 0 0 $primary;
119
119
  .is-dropdown-submenu{
120
120
  z-index: 2;
121
121
  text-align: left;
122
- padding-left: .3rem;
122
+ padding: 0;
123
123
  background-color: $white;
124
124
  border: 1px solid $light-gray;
125
+ border-radius: 4px;
125
126
  box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
126
127
  min-width: 150px;
127
128
 
128
- a{
129
- color: $body-font-color;
130
- padding: .5rem;
129
+ &::after,
130
+ &::before{
131
+ bottom: 100%;
132
+ left: 50%;
133
+ border: solid transparent;
134
+ content: " ";
135
+ height: 0;
136
+ width: 0;
137
+ position: absolute;
138
+ pointer-events: none;
131
139
  }
132
140
 
133
- a:hover{
134
- color: lighten($body-font-color, 20);
141
+ &::after{
142
+ border-color: rgba($light-gray, 0);
143
+ border-bottom-color: $white;
144
+ border-width: 10px;
145
+ margin-left: -10px;
135
146
  }
147
+
148
+ &::before{
149
+ border-color: rgba($light-gray, 0);
150
+ border-bottom-color: $white;
151
+ border-width: 11px;
152
+ margin-left: -11px;
153
+ }
154
+
155
+ li{
156
+ padding: $global-padding / 2;
157
+
158
+ a{
159
+ padding: .5rem;
160
+ color: $anchor-color;
161
+
162
+ &:hover{
163
+ color: lighten($body-font-color, 20);
164
+ }
165
+ }
166
+
167
+ &:not(:last-child){
168
+ border-bottom: $border;
169
+ }
170
+
171
+ &:hover{
172
+ cursor: pointer;
173
+ background-color: rgba($secondary, .05);
174
+ }
175
+ }
176
+ }
177
+
178
+ // Arrow center position
179
+ #topbar__language-choose .is-dropdown-submenu{
180
+ transform: translateX(-12%);
181
+ top: 110%;
182
+ }
183
+
184
+ #topbar__user-notifications .is-dropdown-submenu{
185
+ transform: translateX(-47%);
186
+ top: 110%;
187
+ }
188
+
189
+ #topbar__user-profile .is-dropdown-submenu{
190
+ transform: translateX(-40%);
191
+ top: 110%;
136
192
  }
137
193
  }
138
194
 
@@ -184,11 +240,32 @@ $navbar-active-shadow-medium: inset 0 4px 0 0 $primary;
184
240
  @media (min-width: (1300 / 16) + em){
185
241
  padding-right: 0;
186
242
  }
243
+
244
+ // hide caret down
245
+ .dropdown.menu > li.is-dropdown-submenu-parent > a::after{
246
+ display: none;
247
+ }
248
+ }
249
+
250
+ .topbar__user__logged__picture{
251
+ width: 2rem;
252
+ height: 2rem;
253
+ border-radius: 50%;
254
+ border: $border;
255
+ object-fit: cover;
256
+ }
257
+
258
+ .topbar__user__logged__name{
259
+ color: $body-font-color;
260
+
261
+ > *{
262
+ display: block;
263
+ }
187
264
  }
188
265
 
189
266
  .topbar__notifications,
190
267
  .topbar__conversations{
191
- margin-right: .5rem;
268
+ margin-right: 1rem;
192
269
  vertical-align: -4px;
193
270
 
194
271
  .icon{
@@ -202,6 +279,35 @@ $navbar-active-shadow-medium: inset 0 4px 0 0 $primary;
202
279
  }
203
280
  }
204
281
 
282
+ .topbar__notifications__item{
283
+ display: flex;
284
+ align-items: center;
285
+ justify-content: space-between;
286
+ color: $muted;
287
+ width: 250px;
288
+
289
+ @include flexgap(1rem);
290
+
291
+ strong{
292
+ color: $anchor-color;
293
+ }
294
+
295
+ :last-child{
296
+ flex: 1;
297
+
298
+ > *{
299
+ display: block;
300
+ }
301
+ }
302
+ }
303
+
304
+ .topbar__notifications__item--more{
305
+ text-align: center;
306
+ background-color: $light-gray-dark;
307
+ color: $anchor-color;
308
+ font-size: 90%;
309
+ }
310
+
205
311
  .topbar__user__login{
206
312
  text-align: right;
207
313
  line-height: 1.2;
@@ -25,19 +25,36 @@
25
25
  }
26
26
 
27
27
  .register-form{
28
- margin-top: 2rem;
29
-
30
28
  input[type="text"],
31
29
  input[type="email"],
32
30
  input[type="password"]{
33
31
  height: 3rem;
34
32
  }
35
33
 
36
- .button{
37
- margin: 2rem 0;
34
+ legend{
35
+ font-size: 1.25em;
36
+ line-height: 1.2;
37
+ margin-bottom: 1.5rem;
38
+ margin-top: 0;
39
+ text-align: center;
38
40
  }
39
41
 
40
- legend{
42
+ label > [type='checkbox']{
41
43
  margin-bottom: 1rem;
42
44
  }
45
+
46
+ .tos-text{
47
+ padding: .5rem;
48
+ border: 1px solid #e8e8e8;
49
+ margin: 1rem 0;
50
+ max-height: 10rem;
51
+ overflow: auto;
52
+ font-size: .8rem;
53
+ font-style: italic;
54
+ }
55
+
56
+ #card__tos,
57
+ #card__newsletter{
58
+ text-align: center;
59
+ }
43
60
  }
@@ -0,0 +1,9 @@
1
+ // @Component
2
+ [data-toggle]{
3
+ margin: 0 0 $global-margin / 2;
4
+ cursor: pointer;
5
+
6
+ span{
7
+ margin-right: $global-margin / 2;
8
+ }
9
+ }
@@ -143,6 +143,10 @@ hr{
143
143
  text-transform: uppercase;
144
144
  }
145
145
 
146
+ .text-lowercase{
147
+ text-transform: lowercase;
148
+ }
149
+
146
150
  .text-ellipsis{
147
151
  @include ellipsis();
148
152
  }
@@ -188,5 +192,5 @@ textarea,
188
192
  time,
189
193
  tt,
190
194
  var{
191
- @include modifiers(color);
195
+ @include modifiers(color, (muted: $muted));
192
196
  }
@@ -66,3 +66,45 @@
66
66
  max-height: 50vh;
67
67
  overflow-y: scroll;
68
68
  }
69
+
70
+ // Make parent relative to absolute positioning children
71
+ .absolutes{
72
+ position: relative;
73
+
74
+ .left,
75
+ .right,
76
+ .top,
77
+ .bottom{
78
+ position: absolute;
79
+ }
80
+
81
+ .left{
82
+ left: 0;
83
+ }
84
+
85
+ .right{
86
+ right: 0;
87
+ }
88
+
89
+ .top{
90
+ top: 0;
91
+ }
92
+
93
+ .bottom{
94
+ bottom: 0;
95
+ }
96
+
97
+ .left,
98
+ .right{
99
+ &.center{
100
+ @include vertical-center;
101
+ }
102
+ }
103
+
104
+ .top,
105
+ .bottom{
106
+ &.center{
107
+ @include horizontal-center;
108
+ }
109
+ }
110
+ }
@@ -96,3 +96,9 @@ $palette: $foundation-palette;
96
96
  text-overflow: ellipsis;
97
97
  line-height: $global-lineheight;
98
98
  }
99
+
100
+ @mixin inline-separator($char: ' '){
101
+ > *:not(:last-child)::after{
102
+ content: $char;
103
+ }
104
+ }
@@ -101,7 +101,8 @@ $global-button-cursor: auto;
101
101
  $global-color-pick-contrast-tolerance: 0;
102
102
  $print-transparent-backgrounds: true;
103
103
 
104
- $border: 1px solid $medium-gray !default;
104
+ $border-width: 1px !default;
105
+ $border: $border-width solid $medium-gray !default;
105
106
 
106
107
  @include add-foundation-colors;
107
108
 
@@ -833,7 +834,7 @@ $titlebar-icon-spacing: .25rem;
833
834
  // -----------
834
835
 
835
836
  $has-tip-cursor: pointer;
836
- $has-tip-font-weight: $global-weight-bold;
837
+ $has-tip-font-weight: $global-weight-normal;
837
838
  $has-tip-border-bottom: 0;
838
839
  $tooltip-background-color: $black;
839
840
  $tooltip-color: $white;
@@ -0,0 +1,11 @@
1
+ <div class="row column">
2
+ <%= content_tag :div, class: "callout announcement mb-sm #{callout_class} cell-announcement" do %>
3
+ <% if announcement.class == Hash && announcement.key?(:title) %>
4
+ <h5><%= decidim_sanitize translated_attribute announcement[:title] %></h5>
5
+
6
+ <p><%= decidim_sanitize translated_attribute announcement[:body] %></p>
7
+ <% else %>
8
+ <%= decidim_sanitize translated_attribute announcement %>
9
+ <% end %>
10
+ <% end %>
11
+ </div>
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ # This cell renders an announcement
5
+ # the `model` is spected to be a Hash with two keys:
6
+ # `announcement` is mandatory, its the message to show
7
+ # `callout_class` is optional, the css class modifier
8
+ #
9
+ # {
10
+ # announcement: { ... },
11
+ # callout_class: "warning"
12
+ # }
13
+ #
14
+ class AnnouncementCell < Decidim::ViewModel
15
+ include Decidim::SanitizeHelper
16
+
17
+ def show
18
+ return unless announcement.presence
19
+ render :show
20
+ end
21
+
22
+ private
23
+
24
+ def callout_class
25
+ model[:callout_class] ||= "secondary"
26
+ end
27
+
28
+ def announcement
29
+ model[:announcement]
30
+ end
31
+ end
32
+ end