decidim-theme 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
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,272 @@
1
+ // Foundation for Sites
2
+ // https://get.foundation
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group switch
7
+ ////
8
+
9
+ /// Background color of a switch.
10
+ /// @type Color
11
+ $switch-background: $medium-gray;
12
+
13
+ /// Background active color of a switch.
14
+ /// @type Color
15
+ $switch-background-active: $primary-color;
16
+
17
+ /// Height of a switch, with no class applied.
18
+ /// @type Number
19
+ $switch-height: 2rem;
20
+
21
+ /// Height of a switch with .tiny class.
22
+ /// @type Number
23
+ $switch-height-tiny: 1.5rem;
24
+
25
+ /// Height of a switch with .small class.
26
+ /// @type Number
27
+ $switch-height-small: 1.75rem;
28
+
29
+ /// Height of a switch with .large class.
30
+ /// @type Number
31
+ $switch-height-large: 2.5rem;
32
+
33
+ /// Border radius of the switch
34
+ /// @type Number
35
+ $switch-radius: $global-radius;
36
+
37
+ /// border around a modal.
38
+ /// @type Number
39
+ $switch-margin: $global-margin;
40
+
41
+ /// Background color for the switch container and paddle.
42
+ /// @type Color
43
+ $switch-paddle-background: $white;
44
+
45
+ /// Spacing between a switch paddle and the edge of the body.
46
+ /// @type Number
47
+ $switch-paddle-offset: 0.25rem;
48
+
49
+ /// border radius of the switch paddle
50
+ /// @type Number
51
+ $switch-paddle-radius: 32px;
52
+
53
+ /// switch transition.
54
+ /// @type Number
55
+ $switch-paddle-transition: all 0.25s ease-out;
56
+
57
+ /// Opacity of a disabled switch.
58
+ /// @type Number
59
+ $switch-opacity-disabled: 0.5;
60
+
61
+ /// Cursor for a disabled switch.
62
+ /// @type Cursor
63
+ $switch-cursor-disabled: not-allowed;
64
+
65
+ // make them variables
66
+ // ask about accessibility on label
67
+ // change class name for text
68
+
69
+ /// Adds styles for a switch container. Apply this to a container class.
70
+ @mixin switch-container {
71
+ position: relative;
72
+ margin-bottom: $switch-margin;
73
+ outline: 0;
74
+
75
+ // These properties cascade down to the switch text
76
+ font-size: rem-calc(14);
77
+ font-weight: bold;
78
+ color: $white;
79
+
80
+ user-select: none;
81
+ }
82
+
83
+ /// Adds styles for a switch input. Apply this to an `<input>` within a switch.
84
+ @mixin switch-input {
85
+ position: absolute;
86
+ margin-bottom: 0;
87
+ opacity: 0;
88
+ }
89
+
90
+ /// Adds styles for the background and paddle of a switch. Apply this to a `<label>` within a switch.
91
+ @mixin switch-paddle {
92
+ $switch-width: $switch-height * 2;
93
+ $paddle-height: $switch-height - ($switch-paddle-offset * 2);
94
+ $paddle-width: $switch-height - ($switch-paddle-offset * 2);
95
+ $paddle-active-offest: $switch-width - $paddle-width - $switch-paddle-offset;
96
+
97
+ position: relative;
98
+ display: block;
99
+ width: $switch-width;
100
+ height: $switch-height;
101
+
102
+ border-radius: $switch-radius;
103
+ background: $switch-background;
104
+ transition: $switch-paddle-transition;
105
+
106
+ // Resetting these <label> presets so type styles cascade down
107
+ font-weight: inherit;
108
+ color: inherit;
109
+
110
+ cursor: pointer;
111
+
112
+ // Needed to override specificity
113
+ input + & {
114
+ margin: 0;
115
+ }
116
+
117
+ // The paddle itself
118
+ &::after {
119
+ position: absolute;
120
+ top: $switch-paddle-offset;
121
+ #{$global-left}: $switch-paddle-offset;
122
+
123
+ display: block;
124
+ width: $paddle-width;
125
+ height: $paddle-height;
126
+
127
+ transform: translate3d(0, 0, 0);
128
+ border-radius: $switch-paddle-radius;
129
+ background: $switch-paddle-background;
130
+ transition: $switch-paddle-transition;
131
+ content: "";
132
+ }
133
+
134
+ // Change the visual style when the switch is active
135
+ input:checked ~ & {
136
+ background: var(--primary);
137
+
138
+ &::after {
139
+ #{$global-left}: $paddle-active-offest;
140
+ }
141
+ }
142
+
143
+ // indicate a disabled switch
144
+ input:disabled ~ & {
145
+ cursor: $switch-cursor-disabled;
146
+ opacity: $switch-opacity-disabled;
147
+ }
148
+
149
+ input:focus ~ & {
150
+ @include disable-mouse-outline;
151
+ }
152
+ }
153
+
154
+ /// Adds base styles for active/inactive text inside a switch. Apply this to text elements inside the switch `<label>`.
155
+ @mixin switch-text {
156
+ position: absolute;
157
+ top: 50%;
158
+ transform: translateY(-50%);
159
+ }
160
+
161
+ /// Adds styles for the active state text within a switch.
162
+ @mixin switch-text-active {
163
+ #{$global-left}: 8%;
164
+ display: none;
165
+
166
+ input:checked + label > & {
167
+ display: block;
168
+ }
169
+ }
170
+
171
+ /// Adds styles for the inactive state text within a switch.
172
+ @mixin switch-text-inactive {
173
+ #{$global-right}: 15%;
174
+
175
+ input:checked + label > & {
176
+ display: none;
177
+ }
178
+ }
179
+
180
+ /// Changes the size of a switch by modifying the size of the body and paddle. Apply this to a switch container.
181
+ /// @param {Number} $font-size [1rem] - Font size of label text within the switch.
182
+ /// @param {Number} $switch-height [2rem] - Height of the switch body.
183
+ /// @param {Number} $paddle-offset [0.25rem] - Spacing between the switch paddle and the edge of the switch body.
184
+ @mixin switch-size(
185
+ $font-size: 1rem,
186
+ $switch-height: 2rem,
187
+ $paddle-offset: 0.25rem
188
+ ) {
189
+ $switch-width: $switch-height * 2;
190
+ $paddle-width: $switch-height - ($paddle-offset * 2);
191
+ $paddle-height: $switch-height - ($paddle-offset * 2);
192
+ $paddle-active-offest: $switch-width - $paddle-width - $paddle-offset;
193
+
194
+ height: $switch-height;
195
+
196
+ .switch-paddle {
197
+ width: $switch-width;
198
+ height: $switch-height;
199
+ font-size: $font-size;
200
+ }
201
+
202
+ .switch-paddle::after {
203
+ top: $paddle-offset;
204
+ #{$global-left}: $paddle-offset;
205
+ width: $paddle-width;
206
+ height: $paddle-height;
207
+ }
208
+
209
+ input:checked ~ .switch-paddle::after {
210
+ #{$global-left}: $paddle-active-offest;
211
+ }
212
+ }
213
+
214
+ @mixin foundation-switch {
215
+ // Container class
216
+ .switch {
217
+ @include switch-container;
218
+ height: $switch-height;
219
+ }
220
+
221
+ // <input> element
222
+ .switch-input {
223
+ @include switch-input;
224
+ }
225
+
226
+ // <label> element
227
+ .switch-paddle {
228
+ @include switch-paddle;
229
+ }
230
+
231
+ // Base label text styles
232
+ %switch-text {
233
+ @include switch-text;
234
+ }
235
+
236
+ // Active label text styles
237
+ .switch-active {
238
+ @extend %switch-text;
239
+ @include switch-text-active;
240
+ }
241
+
242
+ // Inactive label text styles
243
+ .switch-inactive {
244
+ @extend %switch-text;
245
+ @include switch-text-inactive;
246
+ }
247
+
248
+ // Switch sizes
249
+ .switch.tiny {
250
+ @include switch-size(
251
+ rem-calc(10),
252
+ $switch-height-tiny,
253
+ $switch-paddle-offset
254
+ );
255
+ }
256
+
257
+ .switch.small {
258
+ @include switch-size(
259
+ rem-calc(12),
260
+ $switch-height-small,
261
+ $switch-paddle-offset
262
+ );
263
+ }
264
+
265
+ .switch.large {
266
+ @include switch-size(
267
+ rem-calc(16),
268
+ $switch-height-large,
269
+ $switch-paddle-offset
270
+ );
271
+ }
272
+ }
@@ -0,0 +1,4 @@
1
+ .tabs-title > a {
2
+ font-size: 16px !important;
3
+ @extend .body-4;
4
+ }
@@ -0,0 +1,47 @@
1
+ //Variables
2
+
3
+ $tags-border: 1px solid var(--grey2);
4
+
5
+ /* Tags */
6
+
7
+ .tags {
8
+ list-style: none;
9
+ margin: 0;
10
+ padding: 0;
11
+ @extend .body-5;
12
+ color: var(--primary);
13
+
14
+ li {
15
+ display: inline-block;
16
+ margin-right: 0.625rem;
17
+ margin-bottom: 0.5rem;
18
+ }
19
+
20
+ a {
21
+ display: inline-block;
22
+ border: $tags-border;
23
+ padding: 0.38rem 0.5rem;
24
+ @extend .body-5;
25
+ @extend .body-5-link;
26
+
27
+ &:hover,
28
+ &:focus {
29
+ text-decoration: none !important;
30
+ background-color: var(--grey2);
31
+ }
32
+ }
33
+ }
34
+
35
+ .tags:last-child {
36
+ margin-bottom: -0.5rem;
37
+ }
38
+
39
+ .tags--inline {
40
+ display: inline;
41
+ }
42
+
43
+ .tags--list {
44
+ li {
45
+ display: block;
46
+ }
47
+ }
@@ -0,0 +1,66 @@
1
+ // Foundation for Sites
2
+ // https://get.foundation
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group thumbnail
7
+ ////
8
+
9
+ /// Border around thumbnail images.
10
+ /// @type Border
11
+ $thumbnail-border: 4px solid $white;
12
+
13
+ /// Bottom margin for thumbnail images.
14
+ /// @type Length
15
+ $thumbnail-margin-bottom: $global-margin;
16
+
17
+ /// Box shadow under thumbnail images.
18
+ /// @type Shadow
19
+ $thumbnail-shadow: 0 0 0 1px rgba($black, 0.2);
20
+
21
+ /// Box shadow under thumbnail images.
22
+ /// @type Shadow
23
+ $thumbnail-shadow-hover: 0 0 6px 1px rgba($primary-color, 0.5);
24
+
25
+ /// Transition proprties for thumbnail images.
26
+ /// @type Transition
27
+ $thumbnail-transition: box-shadow 200ms ease-out;
28
+
29
+ /// Default radius for thumbnail images.
30
+ /// @type Number
31
+ $thumbnail-radius: $global-radius;
32
+
33
+ /// Adds thumbnail styles to an element.
34
+ @mixin thumbnail {
35
+ display: inline-block;
36
+ max-width: 100%;
37
+ min-height: 75px;
38
+ margin-bottom: $thumbnail-margin-bottom;
39
+
40
+ border: $thumbnail-border;
41
+ border-radius: $thumbnail-radius;
42
+ box-shadow: $thumbnail-shadow;
43
+
44
+ line-height: 0;
45
+ }
46
+
47
+ @mixin thumbnail-link {
48
+ transition: $thumbnail-transition;
49
+
50
+ &:hover,
51
+ &:focus {
52
+ box-shadow: $thumbnail-shadow-hover;
53
+ }
54
+
55
+ image {
56
+ box-shadow: none;
57
+ }
58
+ }
59
+
60
+ .thumbnail {
61
+ @include thumbnail;
62
+ }
63
+
64
+ a.thumbnail {
65
+ @include thumbnail-link;
66
+ }
@@ -0,0 +1,183 @@
1
+ /* Variables */
2
+
3
+ $timeline-color: var(--primary);
4
+ $timeline-inactive-color: var(--emphasis-lowest);
5
+
6
+ $timeline-padding: 1rem;
7
+
8
+ /* Timeline */
9
+
10
+ .timeline {
11
+ list-style: none;
12
+ margin: 2rem 0 0;
13
+ }
14
+
15
+ .timeline__item {
16
+ padding-bottom: 2em;
17
+ position: relative;
18
+
19
+ &::before {
20
+ content: "";
21
+ width: 3px;
22
+ height: 1rem;
23
+ background: $timeline-color;
24
+ left: 1rem;
25
+ top: 0;
26
+ position: absolute;
27
+ }
28
+
29
+ &::after {
30
+ content: "";
31
+ clear: both;
32
+ display: table;
33
+ width: 100%;
34
+ }
35
+
36
+ &:last-of-type::before {
37
+ width: 0;
38
+ }
39
+ }
40
+
41
+ .timeline__phase {
42
+ width: 30px;
43
+ height: 30px;
44
+ margin-left: -13px;
45
+ position: absolute;
46
+ top: 0;
47
+ left: 1rem;
48
+ display: flex;
49
+ justify-content: center;
50
+ overflow: hidden;
51
+ border-radius: 50%;
52
+ background: $timeline-color;
53
+ border: 2px solid var(--primary);
54
+ box-shadow: none;
55
+ }
56
+
57
+ .timeline__phase__number {
58
+ display: block;
59
+ text-align: center;
60
+ line-height: 1;
61
+ color: $white;
62
+ font-weight: 600;
63
+ font-size: 1.2em;
64
+ align-self: center;
65
+ margin-left: 0;
66
+ margin-top: 0;
67
+ }
68
+
69
+ .timeline__info {
70
+ width: 90%;
71
+ width: calc(100% - 45px);
72
+ float: right;
73
+ background-color: $white;
74
+ border: $border;
75
+
76
+ .timeline__item--current & {
77
+ border-color: $timeline-color;
78
+ }
79
+ }
80
+
81
+ .timeline__header {
82
+ background: $medium-gray;
83
+ padding: $timeline-padding * 0.5 $timeline-padding;
84
+
85
+ .timeline__item--current & {
86
+ background-color: $timeline-color;
87
+ color: $white;
88
+ }
89
+ }
90
+
91
+ .timeline__date {
92
+ color: var(--emphasis-low);
93
+
94
+ .timeline__item--current & {
95
+ color: var(--emphasis-high);
96
+ }
97
+ }
98
+ .o_participatory_process .timeline__item--current .timeline__date {
99
+ color: var(--on-primary);
100
+ }
101
+ .timeline__title {
102
+ margin-bottom: 0;
103
+ }
104
+
105
+ .timeline__content {
106
+ padding: $timeline-padding;
107
+
108
+ :last-child {
109
+ margin-bottom: 0;
110
+ }
111
+ }
112
+
113
+ .timeline__footer {
114
+ list-style: none;
115
+ margin: 0;
116
+ border-top: $border;
117
+
118
+ @include breakpoint(medium) {
119
+ display: flex;
120
+ flex-wrap: wrap;
121
+ }
122
+ }
123
+
124
+ .timeline__footer-item {
125
+ flex-grow: 1;
126
+ text-align: center;
127
+ padding: 0.5em;
128
+ border-bottom: $border;
129
+
130
+ &:last-child {
131
+ border-bottom: 0;
132
+ }
133
+
134
+ @include breakpoint(medium) {
135
+ border-bottom: 0;
136
+ border-right: $border;
137
+
138
+ &:last-child {
139
+ border-right: 0;
140
+ }
141
+ }
142
+ }
143
+
144
+ .timeline__footer-inner {
145
+ display: block;
146
+ }
147
+
148
+ .timeline__item-icon {
149
+ width: 1.5em;
150
+ height: 1.5em;
151
+ }
152
+
153
+ .timeline__item-text {
154
+ display: block;
155
+ letter-spacing: inherit;
156
+ @extend .body-4;
157
+ @extend .body-4-caps;
158
+ color: var(--emphasis-med);
159
+ }
160
+
161
+ /* Inactive timeline */
162
+
163
+ .timeline__item--current {
164
+ &::before {
165
+ background: $timeline-inactive-color;
166
+ }
167
+ }
168
+
169
+ .timeline__item--inactive {
170
+ &::before {
171
+ background: $timeline-inactive-color;
172
+ }
173
+
174
+ .timeline__phase {
175
+ background: $timeline-inactive-color;
176
+ }
177
+
178
+ .timeline__phase__number {
179
+ @extend .body-4;
180
+ color: var(--white);
181
+ text-shadow: 0 1px 2px rgba(black, 0.25);
182
+ }
183
+ }
@@ -0,0 +1,89 @@
1
+ // Foundation for Sites
2
+ // https://get.foundation
3
+ // Licensed under MIT Open Source
4
+
5
+ ////
6
+ /// @group title-bar
7
+ ////
8
+
9
+ /// Background color of a title bar.
10
+ /// @type Color
11
+ $titlebar-background: var(--grey1);
12
+
13
+ /// Color of text inside a title bar.
14
+ /// @type Color
15
+ $titlebar-color: var(--emphasis-med);
16
+
17
+ /// Padding inside a title bar.
18
+ /// @type Length
19
+ $titlebar-padding: 0.5rem;
20
+
21
+ /// Font weight of text inside a title bar.
22
+ /// @type Weight
23
+ $titlebar-text-font-weight: normal;
24
+
25
+ /// Color of menu icons inside a title bar.
26
+ /// @type Color
27
+ $titlebar-icon-color: var(--emphasis-med);
28
+
29
+ /// Color of menu icons inside a title bar on hover.
30
+ /// @type Color
31
+ $titlebar-icon-color-hover: var(--grey2);
32
+
33
+ /// Spacing between the menu icon and text inside a title bar.
34
+ /// @type Length
35
+ $titlebar-icon-spacing: 0.25rem;
36
+
37
+ .title-bar {
38
+ padding-right: $titlebar-padding;
39
+ padding-bottom: $titlebar-padding;
40
+ padding-top: rem-calc(24px);
41
+ padding-left: 0.5rem;
42
+ margin-left: 0;
43
+ margin-right: 0;
44
+ @include breakpoint(smallmedium down) {
45
+ padding-left: 0;
46
+ }
47
+
48
+ background: $titlebar-background;
49
+ color: $titlebar-color;
50
+
51
+ @if $global-flexbox {
52
+ display: flex;
53
+ justify-content: flex-start;
54
+ align-items: center;
55
+ } @else {
56
+ @include clearfix;
57
+ }
58
+
59
+ .menu-icon {
60
+ margin-#{$global-left}: $titlebar-icon-spacing;
61
+ margin-#{$global-right}: $titlebar-icon-spacing;
62
+ }
63
+ }
64
+
65
+ @if $global-flexbox {
66
+ .title-bar-left,
67
+ .title-bar-right {
68
+ flex: 1 1 0px; // sass-lint:disable-line zero-unit
69
+ }
70
+
71
+ .title-bar-right {
72
+ text-align: right;
73
+ }
74
+ } @else {
75
+ .title-bar-left {
76
+ float: left;
77
+ }
78
+
79
+ .title-bar-right {
80
+ float: right;
81
+ text-align: right;
82
+ }
83
+ }
84
+
85
+ .title-bar-title {
86
+ display: inline-block;
87
+ vertical-align: middle;
88
+ font-weight: $titlebar-text-font-weight;
89
+ }
@@ -0,0 +1,14 @@
1
+ // @Component
2
+ [data-toggle] {
3
+ margin: 0;
4
+ cursor: pointer;
5
+ display: inline-flex;
6
+ align-items: flex-start;
7
+ span {
8
+ margin-right: 0;
9
+ }
10
+ }
11
+ .label-required[data-toggle] {
12
+ margin-left: 4px;
13
+ margin-bottom: 0;
14
+ }