decidim-theme 0.1.4

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 (186) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE-AGPLv3.txt +661 -0
  3. data/README.md +104 -0
  4. data/Rakefile +9 -0
  5. data/app/cells/decidim/meetings/meeting_cell.rb +65 -0
  6. data/app/cells/decidim/meetings/meeting_s_overrides/show.erb +25 -0
  7. data/app/cells/decidim/meetings/meeting_s_overrides_cell.rb +53 -0
  8. data/app/controllers/decidim/theme/admin/application_controller.rb +15 -0
  9. data/app/controllers/decidim/theme/application_controller.rb +13 -0
  10. data/app/helpers/decidim/theme/application_helper.rb +10 -0
  11. data/app/models/decidim/theme/application_record.rb +10 -0
  12. data/app/overrides/insert_javascript_tag.rb +6 -0
  13. data/app/overrides/language_chooser_icon.rb +4 -0
  14. data/app/overrides/layouts/decidim/_main_footer/replace_content.html.erb.deface +96 -0
  15. data/app/overrides/layouts/decidim/_mini_footer/replace_content.html.erb.deface +25 -0
  16. data/app/overrides/mailer_styles.rb +36 -0
  17. data/app/overrides/prefix_body.rb +10 -0
  18. data/app/overrides/prefix_classes.rb +63 -0
  19. data/app/overrides/prefix_processes_wrapper.rb +10 -0
  20. data/app/packs/entrypoints/decidim_theme_email.js +1 -0
  21. data/app/packs/entrypoints/decidim_theme_email.scss +2 -0
  22. data/app/packs/entrypoints/decidim_theme_polyfill.js +5 -0
  23. data/app/packs/fonts/decidim/Inter-Black.woff +0 -0
  24. data/app/packs/fonts/decidim/Inter-Black.woff2 +0 -0
  25. data/app/packs/fonts/decidim/Inter-BlackItalic.woff +0 -0
  26. data/app/packs/fonts/decidim/Inter-BlackItalic.woff2 +0 -0
  27. data/app/packs/fonts/decidim/Inter-Bold.woff +0 -0
  28. data/app/packs/fonts/decidim/Inter-Bold.woff2 +0 -0
  29. data/app/packs/fonts/decidim/Inter-BoldItalic.woff +0 -0
  30. data/app/packs/fonts/decidim/Inter-BoldItalic.woff2 +0 -0
  31. data/app/packs/fonts/decidim/Inter-ExtraBold.woff +0 -0
  32. data/app/packs/fonts/decidim/Inter-ExtraBold.woff2 +0 -0
  33. data/app/packs/fonts/decidim/Inter-ExtraBoldItalic.woff +0 -0
  34. data/app/packs/fonts/decidim/Inter-ExtraBoldItalic.woff2 +0 -0
  35. data/app/packs/fonts/decidim/Inter-ExtraLight.woff +0 -0
  36. data/app/packs/fonts/decidim/Inter-ExtraLight.woff2 +0 -0
  37. data/app/packs/fonts/decidim/Inter-ExtraLightItalic.woff +0 -0
  38. data/app/packs/fonts/decidim/Inter-ExtraLightItalic.woff2 +0 -0
  39. data/app/packs/fonts/decidim/Inter-Italic.woff +0 -0
  40. data/app/packs/fonts/decidim/Inter-Italic.woff2 +0 -0
  41. data/app/packs/fonts/decidim/Inter-Light.woff +0 -0
  42. data/app/packs/fonts/decidim/Inter-Light.woff2 +0 -0
  43. data/app/packs/fonts/decidim/Inter-LightItalic.woff +0 -0
  44. data/app/packs/fonts/decidim/Inter-LightItalic.woff2 +0 -0
  45. data/app/packs/fonts/decidim/Inter-Medium.woff +0 -0
  46. data/app/packs/fonts/decidim/Inter-Medium.woff2 +0 -0
  47. data/app/packs/fonts/decidim/Inter-MediumItalic.woff +0 -0
  48. data/app/packs/fonts/decidim/Inter-MediumItalic.woff2 +0 -0
  49. data/app/packs/fonts/decidim/Inter-Regular.woff +0 -0
  50. data/app/packs/fonts/decidim/Inter-Regular.woff2 +0 -0
  51. data/app/packs/fonts/decidim/Inter-SemiBold.woff +0 -0
  52. data/app/packs/fonts/decidim/Inter-SemiBold.woff2 +0 -0
  53. data/app/packs/fonts/decidim/Inter-SemiBoldItalic.woff +0 -0
  54. data/app/packs/fonts/decidim/Inter-SemiBoldItalic.woff2 +0 -0
  55. data/app/packs/fonts/decidim/Inter-Thin.woff +0 -0
  56. data/app/packs/fonts/decidim/Inter-Thin.woff2 +0 -0
  57. data/app/packs/fonts/decidim/Inter-ThinItalic.woff +0 -0
  58. data/app/packs/fonts/decidim/Inter-ThinItalic.woff2 +0 -0
  59. data/app/packs/fonts/decidim/Inter-italic.var.woff2 +0 -0
  60. data/app/packs/fonts/decidim/Inter-roman.var.woff2 +0 -0
  61. data/app/packs/fonts/decidim/Inter.var.woff2 +0 -0
  62. data/app/packs/images/decidim/cc-by-sa-4.svg +8 -0
  63. data/app/packs/images/decidim/decidim-initial.svg +9 -0
  64. data/app/packs/images/decidim/theme/icon.svg +1 -0
  65. data/app/packs/javascripts/empty.polyfill.js +7 -0
  66. data/app/packs/javascripts/has.polyfill.js +30 -0
  67. data/app/packs/stylesheets/decidim/theme/_font_face.scss +180 -0
  68. data/app/packs/stylesheets/decidim/theme/_theme.scss +121 -0
  69. data/app/packs/stylesheets/decidim/theme/_theme_settings.scss +923 -0
  70. data/app/packs/stylesheets/decidim/theme/_theme_variables.scss +80 -0
  71. data/app/packs/stylesheets/decidim/theme/atoms/Buttons/_Generic.scss +98 -0
  72. data/app/packs/stylesheets/decidim/theme/atoms/Buttons/_Misc.scss +115 -0
  73. data/app/packs/stylesheets/decidim/theme/atoms/Buttons/_Navigation.scss +83 -0
  74. data/app/packs/stylesheets/decidim/theme/atoms/Typography/_Body.scss +88 -0
  75. data/app/packs/stylesheets/decidim/theme/atoms/Typography/_Headline.scss +98 -0
  76. data/app/packs/stylesheets/decidim/theme/atoms/Typography/_mixins.scss +109 -0
  77. data/app/packs/stylesheets/decidim/theme/email.scss +41 -0
  78. data/app/packs/stylesheets/decidim/theme/molecules/Callouts/_default.scss +41 -0
  79. data/app/packs/stylesheets/decidim/theme/molecules/Cards/_card_process.scss +24 -0
  80. data/app/packs/stylesheets/decidim/theme/molecules/Cards/_data-item.scss +31 -0
  81. data/app/packs/stylesheets/decidim/theme/molecules/Cards/_documents.scss +46 -0
  82. data/app/packs/stylesheets/decidim/theme/molecules/Cards/_extra.scss +32 -0
  83. data/app/packs/stylesheets/decidim/theme/molecules/Cards/_upcoming_meetings.scss +47 -0
  84. data/app/packs/stylesheets/decidim/theme/organisms/_account.scss +129 -0
  85. data/app/packs/stylesheets/decidim/theme/organisms/_accountability.scss +119 -0
  86. data/app/packs/stylesheets/decidim/theme/organisms/_assembly.scss +5 -0
  87. data/app/packs/stylesheets/decidim/theme/organisms/_authorizations.scss +25 -0
  88. data/app/packs/stylesheets/decidim/theme/organisms/_blog.scss +77 -0
  89. data/app/packs/stylesheets/decidim/theme/organisms/_budgets.scss +221 -0
  90. data/app/packs/stylesheets/decidim/theme/organisms/_cookie_warning.scss +6 -0
  91. data/app/packs/stylesheets/decidim/theme/organisms/_debate.scss +65 -0
  92. data/app/packs/stylesheets/decidim/theme/organisms/_footer.scss +145 -0
  93. data/app/packs/stylesheets/decidim/theme/organisms/_groups.scss +49 -0
  94. data/app/packs/stylesheets/decidim/theme/organisms/_logins.scss +45 -0
  95. data/app/packs/stylesheets/decidim/theme/organisms/_meetings.scss +214 -0
  96. data/app/packs/stylesheets/decidim/theme/organisms/_members.scss +6 -0
  97. data/app/packs/stylesheets/decidim/theme/organisms/_messaging.scss +118 -0
  98. data/app/packs/stylesheets/decidim/theme/organisms/_metrics.scss +31 -0
  99. data/app/packs/stylesheets/decidim/theme/organisms/_notifications.scss +20 -0
  100. data/app/packs/stylesheets/decidim/theme/organisms/_processes.scss +12 -0
  101. data/app/packs/stylesheets/decidim/theme/organisms/_proposals.scss +150 -0
  102. data/app/packs/stylesheets/decidim/theme/organisms/_search.scss +12 -0
  103. data/app/packs/stylesheets/decidim/theme/organisms/_sortitions.scss +65 -0
  104. data/app/packs/stylesheets/decidim/theme/organisms/_surveys.scss +65 -0
  105. data/app/packs/stylesheets/decidim/theme/organisms/_text_page.scss +115 -0
  106. data/app/packs/stylesheets/decidim/theme/organisms/_user_conversations.scss +7 -0
  107. data/app/packs/stylesheets/decidim/theme/reset/_author.scss +36 -0
  108. data/app/packs/stylesheets/decidim/theme/reset/_author_avatar.scss +182 -0
  109. data/app/packs/stylesheets/decidim/theme/reset/_badges.scss +159 -0
  110. data/app/packs/stylesheets/decidim/theme/reset/_base.scss +543 -0
  111. data/app/packs/stylesheets/decidim/theme/reset/_budget-list.scss +202 -0
  112. data/app/packs/stylesheets/decidim/theme/reset/_budget-meter.scss +85 -0
  113. data/app/packs/stylesheets/decidim/theme/reset/_buttons.scss +538 -0
  114. data/app/packs/stylesheets/decidim/theme/reset/_callout.scss +37 -0
  115. data/app/packs/stylesheets/decidim/theme/reset/_card.scss +1480 -0
  116. data/app/packs/stylesheets/decidim/theme/reset/_categories.scss +130 -0
  117. data/app/packs/stylesheets/decidim/theme/reset/_collapsible.scss +59 -0
  118. data/app/packs/stylesheets/decidim/theme/reset/_columns.scss +8 -0
  119. data/app/packs/stylesheets/decidim/theme/reset/_comments.scss +320 -0
  120. data/app/packs/stylesheets/decidim/theme/reset/_conversation.scss +158 -0
  121. data/app/packs/stylesheets/decidim/theme/reset/_data-consent.scss +133 -0
  122. data/app/packs/stylesheets/decidim/theme/reset/_data-picker.scss +243 -0
  123. data/app/packs/stylesheets/decidim/theme/reset/_definition_data.scss +93 -0
  124. data/app/packs/stylesheets/decidim/theme/reset/_docs-manager.scss +16 -0
  125. data/app/packs/stylesheets/decidim/theme/reset/_dropdown_menu.scss +312 -0
  126. data/app/packs/stylesheets/decidim/theme/reset/_errors.scss +87 -0
  127. data/app/packs/stylesheets/decidim/theme/reset/_extra.scss +56 -0
  128. data/app/packs/stylesheets/decidim/theme/reset/_filters.scss +224 -0
  129. data/app/packs/stylesheets/decidim/theme/reset/_floating_helper.scss +133 -0
  130. data/app/packs/stylesheets/decidim/theme/reset/_form.scss +176 -0
  131. data/app/packs/stylesheets/decidim/theme/reset/_home.scss +416 -0
  132. data/app/packs/stylesheets/decidim/theme/reset/_home_section.scss +23 -0
  133. data/app/packs/stylesheets/decidim/theme/reset/_horizontal-tabs.scss +130 -0
  134. data/app/packs/stylesheets/decidim/theme/reset/_icons.scss +3 -0
  135. data/app/packs/stylesheets/decidim/theme/reset/_inline-filters.scss +77 -0
  136. data/app/packs/stylesheets/decidim/theme/reset/_label.scss +79 -0
  137. data/app/packs/stylesheets/decidim/theme/reset/_labels.scss +53 -0
  138. data/app/packs/stylesheets/decidim/theme/reset/_layout.scss +82 -0
  139. data/app/packs/stylesheets/decidim/theme/reset/_lines_breadcrumb.scss +38 -0
  140. data/app/packs/stylesheets/decidim/theme/reset/_login.scss +3 -0
  141. data/app/packs/stylesheets/decidim/theme/reset/_logo_wrapper.scss +28 -0
  142. data/app/packs/stylesheets/decidim/theme/reset/_main_container.scss +96 -0
  143. data/app/packs/stylesheets/decidim/theme/reset/_metric-chart.scss +25 -0
  144. data/app/packs/stylesheets/decidim/theme/reset/_navbar.scss +763 -0
  145. data/app/packs/stylesheets/decidim/theme/reset/_opinion_toggle.scss +55 -0
  146. data/app/packs/stylesheets/decidim/theme/reset/_order-by.scss +34 -0
  147. data/app/packs/stylesheets/decidim/theme/reset/_org-chart.scss +6 -0
  148. data/app/packs/stylesheets/decidim/theme/reset/_pagination.scss +195 -0
  149. data/app/packs/stylesheets/decidim/theme/reset/_process.scss +20 -0
  150. data/app/packs/stylesheets/decidim/theme/reset/_process_header.scss +97 -0
  151. data/app/packs/stylesheets/decidim/theme/reset/_process_header_phase.scss +13 -0
  152. data/app/packs/stylesheets/decidim/theme/reset/_process_nav.scss +317 -0
  153. data/app/packs/stylesheets/decidim/theme/reset/_progress_bar.scss +89 -0
  154. data/app/packs/stylesheets/decidim/theme/reset/_quill.scss +47 -0
  155. data/app/packs/stylesheets/decidim/theme/reset/_result_per_page.scss +82 -0
  156. data/app/packs/stylesheets/decidim/theme/reset/_results.scss +158 -0
  157. data/app/packs/stylesheets/decidim/theme/reset/_reveal.scss +210 -0
  158. data/app/packs/stylesheets/decidim/theme/reset/_scope-picker.scss +10 -0
  159. data/app/packs/stylesheets/decidim/theme/reset/_select.scss +92 -0
  160. data/app/packs/stylesheets/decidim/theme/reset/_signup.scss +179 -0
  161. data/app/packs/stylesheets/decidim/theme/reset/_statistics.scss +42 -0
  162. data/app/packs/stylesheets/decidim/theme/reset/_switch.scss +272 -0
  163. data/app/packs/stylesheets/decidim/theme/reset/_tabs.scss +4 -0
  164. data/app/packs/stylesheets/decidim/theme/reset/_tags.scss +47 -0
  165. data/app/packs/stylesheets/decidim/theme/reset/_thumbnail.scss +66 -0
  166. data/app/packs/stylesheets/decidim/theme/reset/_timeline.scss +183 -0
  167. data/app/packs/stylesheets/decidim/theme/reset/_title_bar.scss +89 -0
  168. data/app/packs/stylesheets/decidim/theme/reset/_toggle.scss +14 -0
  169. data/app/packs/stylesheets/decidim/theme/reset/_tooltip.scss +173 -0
  170. data/app/packs/stylesheets/decidim/theme/reset/_typography.scss +283 -0
  171. data/app/packs/stylesheets/decidim/theme/reset/_upload_modal.scss +140 -0
  172. data/app/packs/stylesheets/decidim/theme/reset/_user-form.scss +15 -0
  173. data/app/packs/stylesheets/decidim/theme/reset/_user.scss +184 -0
  174. data/app/packs/stylesheets/decidim/theme/reset/_versions.scss +82 -0
  175. data/app/packs/stylesheets/decidim/theme/reset/_wrapper.scss +3 -0
  176. data/config/assets.rb +17 -0
  177. data/config/i18n-tasks.yml +10 -0
  178. data/config/locales/en.yml +62 -0
  179. data/config/locales/fr.yml +11 -0
  180. data/lib/decidim/theme/admin.rb +10 -0
  181. data/lib/decidim/theme/admin_engine.rb +27 -0
  182. data/lib/decidim/theme/engine.rb +29 -0
  183. data/lib/decidim/theme/test/factories.rb +13 -0
  184. data/lib/decidim/theme/version.rb +13 -0
  185. data/lib/decidim/theme.rb +12 -0
  186. metadata +271 -0
@@ -0,0 +1,312 @@
1
+ // Foundation for Sites
2
+ // https://get.foundation
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group dropdown-menu
7
+ ////
8
+
9
+ /// Enables arrows for items with dropdown menus.
10
+ /// @type Boolean
11
+ $dropdownmenu-arrows: true;
12
+
13
+ /// Sets dropdown menu arrow color if arrow is used.
14
+ /// @type Color
15
+ $dropdownmenu-arrow-color: var(--emphasis-med);
16
+
17
+ /// Sets dropdown menu arrow size if arrow is used.
18
+ /// @type Length
19
+ $dropdownmenu-arrow-size: 6px;
20
+
21
+ /// Sets dropdown menu arrow padding for aligning the arrow correctly.
22
+ /// @type Length
23
+ $dropdownmenu-arrow-padding: 2rem;
24
+
25
+ /// Minimum width of dropdown sub-menus.
26
+ /// @type Length
27
+ $dropdownmenu-min-width: 200px;
28
+
29
+ /// Background color for top level items.
30
+ /// @type Color
31
+ $dropdownmenu-background: null;
32
+
33
+ /// Background color for dropdowns.
34
+ /// @type Color
35
+ $dropdownmenu-submenu-background: $white;
36
+
37
+ /// Padding for top level items.
38
+ /// @type Number
39
+ $dropdownmenu-padding: 1rem 0.5em 1rem 0.25rem;
40
+
41
+ /// Sets dropdown menu nested margin
42
+ /// @type Number
43
+ $dropdownmenu-nested-margin: 0.125rem;
44
+
45
+ /// Padding for sub-menu items.
46
+ /// @type Number
47
+ $dropdownmenu-submenu-padding: 1rem 0.5em;
48
+
49
+ /// Border for dropdown sub-menus.
50
+ /// @type List
51
+ $dropdownmenu-border: 1px solid var(--grey2);
52
+
53
+ // Border width for dropdown sub-menus.
54
+ // Used to adjust top margin of a sub-menu if a border is used.
55
+ // @type Length
56
+ $dropdownmenu-border-width: nth($dropdownmenu-border, 1);
57
+
58
+ /// Text color of an active dropdown menu item. Explicit override for menu defaults
59
+ /// @type Color
60
+ $dropdown-menu-item-color-active: var(--primary);
61
+
62
+ /// Background color of an active dropdown menu item. Explicit override for menu defaults
63
+ /// @type Color
64
+ $dropdown-menu-item-background-active: var(--grey2);
65
+
66
+ @mixin ov-zf-dropdown-left-right-arrows {
67
+ > a::after {
68
+ #{$global-right}: 14px;
69
+ }
70
+ &.is-active > a::after {
71
+ border-color: var(--primary) transparent transparent;
72
+ }
73
+ &.opens-left > a::after {
74
+ @include css-triangle(
75
+ $dropdownmenu-arrow-size,
76
+ $dropdownmenu-arrow-color,
77
+ left
78
+ );
79
+ right: auto;
80
+ left: 5px;
81
+ }
82
+
83
+ &.opens-right > a::after {
84
+ @include css-triangle(
85
+ $dropdownmenu-arrow-size,
86
+ $dropdownmenu-arrow-color,
87
+ right
88
+ );
89
+ }
90
+ }
91
+
92
+ @mixin ov-dropdown-menu-direction($dir: horizontal) {
93
+ @if $dir == horizontal {
94
+ > li.opens-left {
95
+ // sass-lint:disable-line no-qualifying-elements
96
+ > .is-dropdown-submenu {
97
+ top: 80%;
98
+ right: 0.3rem;
99
+ left: auto;
100
+ }
101
+ }
102
+
103
+ > li.opens-right {
104
+ // sass-lint:disable-line no-qualifying-elements
105
+ > .is-dropdown-submenu {
106
+ top: 80%;
107
+ right: auto;
108
+ left: 0.3rem;
109
+ }
110
+ }
111
+
112
+ @if $dropdownmenu-arrows {
113
+ > li.is-dropdown-submenu-parent > a {
114
+ // sass-lint:disable-line no-qualifying-elements
115
+ position: relative;
116
+ padding: 0.62rem 0.5rem;
117
+ padding-#{$global-right}: $dropdownmenu-arrow-padding;
118
+ transform: translateY(-12px);
119
+ margin-left: 0.5rem;
120
+ margin-top: 0rem;
121
+ }
122
+ > li.is-dropdown-submenu-parent.is-active > a::after {
123
+ border-color: var(--primary) transparent transparent;
124
+ }
125
+
126
+ > li.is-dropdown-submenu-parent > a::after {
127
+ // sass-lint:disable-line no-qualifying-elements
128
+ @include css-triangle(
129
+ $dropdownmenu-arrow-size,
130
+ $dropdownmenu-arrow-color,
131
+ down
132
+ );
133
+ #{$global-right}: 0.5rem;
134
+ #{$global-left}: auto;
135
+ margin-top: -1 * ($dropdownmenu-arrow-size * 0.5);
136
+ }
137
+ }
138
+ } @else if $dir == vertical {
139
+ > li {
140
+ .is-dropdown-submenu {
141
+ top: 0;
142
+ z-index: 1;
143
+ }
144
+
145
+ &.opens-left {
146
+ > .is-dropdown-submenu {
147
+ top: 0;
148
+ right: 100%;
149
+ left: auto;
150
+ }
151
+ }
152
+
153
+ &.opens-right {
154
+ > .is-dropdown-submenu {
155
+ right: auto;
156
+ left: 100%;
157
+ }
158
+ }
159
+
160
+ @if $dropdownmenu-arrows {
161
+ @include ov-zf-dropdown-left-right-arrows;
162
+ }
163
+ }
164
+ } @else {
165
+ @warn 'The direction used for ov-dropdown-menu-direction() must be horizontal or vertical.';
166
+ }
167
+ }
168
+
169
+ @mixin ov-foundation-dropdown-menu {
170
+ .dropdown.menu {
171
+ @include ov-dropdown-menu-direction(horizontal);
172
+
173
+ a {
174
+ @include disable-mouse-outline;
175
+ }
176
+
177
+ // Top-level item
178
+ > li > a {
179
+ background: $dropdownmenu-background;
180
+ padding: $dropdownmenu-padding;
181
+ text-decoration: none;
182
+ border-radius: $global-radius;
183
+ margin-left: 0.25rem;
184
+ }
185
+
186
+ // Top-level item active state
187
+ > li.is-active > a {
188
+ background: $dropdown-menu-item-background-active !important;
189
+ color: $dropdown-menu-item-color-active !important;
190
+ }
191
+
192
+ .no-js & ul {
193
+ display: none;
194
+ }
195
+
196
+ .nested.is-dropdown-submenu {
197
+ @include menu-nested($dropdownmenu-nested-margin);
198
+ }
199
+
200
+ &.vertical {
201
+ @include ov-dropdown-menu-direction(vertical);
202
+ }
203
+
204
+ @each $size in $breakpoint-classes {
205
+ @if $size != $-zf-zero-breakpoint {
206
+ @include breakpoint($size) {
207
+ &.#{$size}-horizontal {
208
+ @include dropdown-menu-direction(horizontal);
209
+ }
210
+
211
+ &.#{$size}-vertical {
212
+ @include dropdown-menu-direction(vertical);
213
+ }
214
+ }
215
+ }
216
+ }
217
+
218
+ &.align-right {
219
+ .is-dropdown-submenu.first-sub {
220
+ top: 80%;
221
+ right: 0;
222
+ left: auto;
223
+ }
224
+ }
225
+ }
226
+
227
+ .is-dropdown-menu.vertical {
228
+ width: 100px;
229
+
230
+ &.align-right {
231
+ float: right;
232
+ }
233
+ }
234
+
235
+ .is-dropdown-submenu-parent {
236
+ position: relative;
237
+
238
+ a::after {
239
+ position: absolute;
240
+ top: 50%;
241
+ #{$global-right}: 5px;
242
+ #{$global-left}: auto;
243
+ margin-top: -1 * $dropdownmenu-arrow-size;
244
+ }
245
+
246
+ &.opens-inner > .is-dropdown-submenu {
247
+ top: 100%;
248
+ @if $global-text-direction == "rtl" {
249
+ right: auto;
250
+ } @else {
251
+ left: auto;
252
+ }
253
+ }
254
+
255
+ &.opens-left > .is-dropdown-submenu {
256
+ right: 100%;
257
+ left: auto;
258
+ }
259
+
260
+ &.opens-right > .is-dropdown-submenu {
261
+ right: auto;
262
+ left: 100%;
263
+ }
264
+ }
265
+
266
+ .is-dropdown-submenu {
267
+ position: absolute;
268
+ top: 0;
269
+ #{$global-left}: 100%;
270
+ z-index: 1;
271
+
272
+ display: none;
273
+ min-width: $dropdownmenu-min-width;
274
+
275
+ border: $dropdownmenu-border;
276
+ border-radius: $global-radius;
277
+ background: $dropdownmenu-submenu-background;
278
+ a:hover {
279
+ background: var(--primary-10);
280
+ }
281
+ .dropdown & a {
282
+ padding: $dropdownmenu-submenu-padding;
283
+ text-decoration: none;
284
+ &:hover {
285
+ background: var(--primary-10);
286
+ }
287
+ }
288
+
289
+ .is-dropdown-submenu-parent {
290
+ @if $dropdownmenu-arrows {
291
+ @include ov-zf-dropdown-left-right-arrows;
292
+ }
293
+ }
294
+
295
+ @if (type-of($dropdownmenu-border-width) == "number") {
296
+ .is-dropdown-submenu {
297
+ margin-top: (-$dropdownmenu-border-width);
298
+ }
299
+ }
300
+
301
+ > li {
302
+ width: 100%;
303
+ }
304
+
305
+ // [TODO] Cut back specificity
306
+ //&:not(.js-dropdown-nohover) > .is-dropdown-submenu-parent:hover > &, // why is this line needed? Opening is handled by JS and this causes some ugly flickering when the sub is re-positioned automatically...
307
+ &.js-dropdown-active {
308
+ display: block;
309
+ }
310
+ }
311
+ }
312
+ @include ov-foundation-dropdown-menu;
@@ -0,0 +1,87 @@
1
+ // Foundation for Sites
2
+ // https://get.foundation
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group abide
7
+ ////
8
+
9
+ /// Sets if error styles should be added to inputs.
10
+ /// @type Boolean
11
+ $abide-inputs: true;
12
+
13
+ /// Sets if error styles should be added to labels.
14
+ /// @type Boolean
15
+ $abide-labels: true;
16
+
17
+ /// Background color to use for invalid text inputs.
18
+ /// @type Color
19
+ $input-background-invalid: var(--red);
20
+
21
+ /// Color to use for labels of invalid inputs.
22
+ /// @type Color
23
+ $form-label-color-invalid: var(--red);
24
+
25
+ /// Default font color for form error text.
26
+ /// @type Color
27
+ $input-error-color: var(--red);
28
+
29
+ /// Default font size for form error text.
30
+ /// @type Number
31
+ $input-error-font-size: rem-calc(16);
32
+
33
+ /// Default font weight for form error text.
34
+ /// @type Keyword
35
+ $input-error-font-weight: normal;
36
+
37
+ /// Styles the background and border of an input field to have an error state.
38
+ ///
39
+ /// @param {Color} $background [$alert-color] - Color to use for the background and border.
40
+ /// @param {Number} $background-lighten [10%] - Lightness level of the background color.
41
+ @mixin form-input-error(
42
+ $background: $input-background-invalid,
43
+ $background-lighten: 10%
44
+ ) {
45
+ &:not(:focus) {
46
+ border-color: $background;
47
+ background-color: var(--white);
48
+
49
+ &::placeholder {
50
+ color: $background;
51
+ }
52
+ }
53
+ }
54
+
55
+ /// Adds error styles to a form element, using the values in the settings file.
56
+ @mixin form-error {
57
+ display: none;
58
+ margin-top: $form-spacing * -0.5;
59
+ margin-bottom: $form-spacing;
60
+
61
+ @extend .body-6;
62
+ @extend .body-6-semibold;
63
+ color: var(--red);
64
+ }
65
+
66
+ @if $abide-inputs {
67
+ // Error class for invalid inputs
68
+ .is-invalid-input {
69
+ @include form-input-error;
70
+ }
71
+ }
72
+
73
+ @if $abide-labels {
74
+ // Error class for labels of invalid outputs
75
+ .is-invalid-label {
76
+ color: var(--emphasis-med);
77
+ }
78
+ }
79
+
80
+ // Form error element
81
+ .form-error {
82
+ @include form-error;
83
+
84
+ &.is-visible {
85
+ display: block;
86
+ }
87
+ }
@@ -0,0 +1,56 @@
1
+ .extra {
2
+ text-align: center;
3
+ margin-bottom: 1.13rem;
4
+ &.card.line-stats {
5
+ box-shadow: none;
6
+ border: 1px solid var(--grey2);
7
+ }
8
+ .button:last-of-type {
9
+ margin-bottom: 0;
10
+ text-wrap: nowrap;
11
+ }
12
+
13
+ .follow-button {
14
+ margin-top: 1rem;
15
+ text-wrap: nowrap;
16
+ }
17
+ }
18
+
19
+ .extra__suport-number {
20
+ display: block;
21
+ font-weight: 600;
22
+ font-size: 3rem;
23
+ line-height: 1;
24
+ }
25
+
26
+ .extra__suport-text {
27
+ display: block;
28
+ line-height: 1;
29
+ font-size: 0.9rem;
30
+ margin-bottom: 0.5rem;
31
+ }
32
+
33
+ .extra__date {
34
+ font-size: 3rem;
35
+ line-height: 1;
36
+ }
37
+
38
+ .extra__date-container {
39
+ margin-bottom: 1rem;
40
+ width: 100%;
41
+ }
42
+
43
+ .extra__month {
44
+ display: block;
45
+ font-size: 1rem;
46
+ }
47
+
48
+ .extra__time {
49
+ display: block;
50
+ font-size: 1.2rem;
51
+ margin: 0.5rem 0 0;
52
+ }
53
+
54
+ .extra--text {
55
+ text-align: left;
56
+ }
@@ -0,0 +1,224 @@
1
+ //Variables
2
+ $filters-border: $border;
3
+ $filters-padding: 1rem;
4
+ $filters-padding-x: 1rem;
5
+ $filters-padding-y: 1rem;
6
+
7
+ // Styles
8
+ .filters-wrapper {
9
+ @include breakpoint(medium) {
10
+ display: flex;
11
+ }
12
+ }
13
+
14
+ .filters-controls {
15
+ @include clearfix;
16
+
17
+ margin: 1rem 0 2rem;
18
+ }
19
+
20
+ .filters-controls__trigger {
21
+ width: 100%;
22
+ font-weight: 600;
23
+ text-align: left;
24
+ background: $light-gray;
25
+ padding: 0.5rem;
26
+ border: $border;
27
+ display: flex;
28
+ justify-content: space-between;
29
+ align-items: center;
30
+ .icon {
31
+ margin-left: rem-calc(6);
32
+ }
33
+ }
34
+
35
+ .filters {
36
+ display: none;
37
+ min-height: 100%;
38
+ padding: $filters-padding;
39
+
40
+ @include breakpoint(medium) {
41
+ display: block;
42
+ padding: 0;
43
+ margin: 0;
44
+ }
45
+
46
+ .reveal & {
47
+ display: block;
48
+ border: none;
49
+ padding: 0;
50
+ margin: 0;
51
+ }
52
+ }
53
+
54
+ .js .filters__content {
55
+ display: none;
56
+
57
+ &.is-active {
58
+ display: block;
59
+ }
60
+
61
+ @include breakpoint(medium) {
62
+ display: block;
63
+ }
64
+ }
65
+
66
+ .filters__section {
67
+ border-bottom: $border;
68
+ padding: $filters-padding-x $filters-padding-y;
69
+
70
+ &:first-of-type {
71
+ padding-top: $filters-padding-x * 1.5;
72
+ }
73
+
74
+ &:last-of-type {
75
+ padding-bottom: $filters-padding-x * 1.5;
76
+ border-bottom: none;
77
+ }
78
+
79
+ label {
80
+ line-height: 1.2;
81
+ margin-bottom: 0.4rem;
82
+
83
+ &[data-global-checkbox] {
84
+ font-weight: 600;
85
+ }
86
+ }
87
+
88
+ .button {
89
+ margin-bottom: 0;
90
+ }
91
+
92
+ .section-title {
93
+ color: var(--primary);
94
+ text-decoration: underline;
95
+ margin-right: $global-margin;
96
+ }
97
+ }
98
+
99
+ .filters__subfilters {
100
+ label:last-child {
101
+ margin-bottom: 1rem;
102
+ }
103
+ & > .filters__subfilters {
104
+ padding-left: $filters-padding-x * 0.5;
105
+ }
106
+ }
107
+
108
+ .filters__has-subfilters {
109
+ display: flex;
110
+ justify-content: space-between;
111
+ }
112
+
113
+ .filters__icon-is-open,
114
+ .filters__icon-is-closed {
115
+ font-size: 11px;
116
+ padding: 3px 6px;
117
+ &:hover {
118
+ color: var(--primary);
119
+ }
120
+ }
121
+
122
+ .filters__icon-is-open {
123
+ display: none;
124
+ }
125
+
126
+ .filters__is-open {
127
+ .filters__icon-is-open {
128
+ display: inline-block;
129
+ }
130
+
131
+ .filters__icon-is-closed {
132
+ display: none;
133
+ }
134
+ }
135
+
136
+ .filters__section--general {
137
+ @extend .filters__section;
138
+
139
+ padding: 0;
140
+
141
+ &:first-of-type,
142
+ &:last-of-type {
143
+ padding: 0;
144
+ }
145
+
146
+ > :first-child {
147
+ padding: $filters-padding-x $filters-padding-y;
148
+
149
+ &:hover {
150
+ background: $light-gray;
151
+ }
152
+ }
153
+
154
+ &.no-results {
155
+ .section-title {
156
+ color: $muted;
157
+ text-decoration: none;
158
+ }
159
+
160
+ > * {
161
+ opacity: 0.25;
162
+ }
163
+ }
164
+ }
165
+
166
+ .filters__info__title {
167
+ margin-bottom: 0;
168
+ }
169
+
170
+ .filters__info__icon {
171
+ margin-left: 0.25rem;
172
+ }
173
+
174
+ .filters__search {
175
+ .input-group {
176
+ margin-bottom: 0;
177
+ }
178
+ }
179
+
180
+ .filters__help {
181
+ position: relative;
182
+
183
+ p:last-of-type {
184
+ margin-bottom: 0;
185
+ }
186
+
187
+ .skip {
188
+ @include skip-button;
189
+ }
190
+ }
191
+
192
+ .filters__left-legend {
193
+ legend {
194
+ float: left;
195
+ padding-top: 10px;
196
+ }
197
+
198
+ .picker-prompt,
199
+ select {
200
+ width: 75%;
201
+ float: right;
202
+ }
203
+ }
204
+
205
+ .filters__section .section-title,
206
+ .filters__section--general .section-title {
207
+ color: var(--secondary);
208
+ font-weight: var(--font-weight-medium);
209
+ }
210
+ a.flex--sbc:hover {
211
+ text-decoration: none;
212
+ }
213
+ .filters-controls__trigger {
214
+ background: var(--white);
215
+ width: auto;
216
+ padding: 0.4rem 0.7rem;
217
+ }
218
+ #participatory-space-filters {
219
+ @include breakpoint(medium) {
220
+ .filters-controls__trigger {
221
+ display: none;
222
+ }
223
+ }
224
+ }