decidim-core 0.27.10 → 0.28.0.rc4

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 (1512) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -4
  3. data/app/cells/decidim/activities/show.erb +5 -3
  4. data/app/cells/decidim/activities_cell.rb +5 -5
  5. data/app/cells/decidim/activity/show.erb +23 -22
  6. data/app/cells/decidim/activity_cell.rb +28 -8
  7. data/app/cells/decidim/address/online.erb +9 -0
  8. data/app/cells/decidim/address/show.erb +13 -13
  9. data/app/cells/decidim/address_cell.rb +3 -7
  10. data/app/cells/decidim/amendable/amend_button_card/show.erb +4 -9
  11. data/app/cells/decidim/amendable/amend_button_card_cell.rb +0 -17
  12. data/app/cells/decidim/amendable/amenders_list/show.erb +0 -12
  13. data/app/cells/decidim/amendable/amendments/show.erb +12 -0
  14. data/app/cells/decidim/amendable/amendments_cell.rb +25 -0
  15. data/app/cells/decidim/amendable/announcement_cell.rb +1 -1
  16. data/app/cells/decidim/amendable/emendation_actions/show.erb +12 -10
  17. data/app/cells/decidim/amendable/emendation_actions_cell.rb +0 -26
  18. data/app/cells/decidim/amendable/promote_button_card/show.erb +9 -9
  19. data/app/cells/decidim/amendable/promote_button_card_cell.rb +1 -5
  20. data/app/cells/decidim/amendable/wizard_step_form_cell.rb +5 -5
  21. data/app/cells/decidim/announcement/show.erb +10 -10
  22. data/app/cells/decidim/announcement_cell.rb +14 -4
  23. data/app/cells/decidim/author/avatar.erb +9 -0
  24. data/app/cells/decidim/author/avatar_image.erb +1 -0
  25. data/app/cells/decidim/author/cancelled_on.erb +4 -0
  26. data/app/cells/decidim/author/comments.erb +3 -5
  27. data/app/cells/decidim/author/date.erb +4 -5
  28. data/app/cells/decidim/author/endorsements.erb +3 -5
  29. data/app/cells/decidim/author/flag.erb +6 -8
  30. data/app/cells/decidim/author/flag_user.erb +10 -6
  31. data/app/cells/decidim/author/name.erb +5 -0
  32. data/app/cells/decidim/author/profile_minicard.erb +24 -19
  33. data/app/cells/decidim/author/show.erb +22 -14
  34. data/app/cells/decidim/author/withdraw.erb +3 -5
  35. data/app/cells/decidim/author_cell.rb +50 -32
  36. data/app/cells/decidim/authorization_modal/show.erb +28 -0
  37. data/app/cells/decidim/authorization_modal_cell.rb +92 -0
  38. data/app/cells/decidim/badge/show.erb +9 -31
  39. data/app/cells/decidim/badge/small.erb +3 -3
  40. data/app/cells/decidim/badges/show.erb +13 -6
  41. data/app/cells/decidim/badges_cell.rb +1 -0
  42. data/app/cells/decidim/button/button.erb +9 -0
  43. data/app/cells/decidim/button/content.erb +2 -0
  44. data/app/cells/decidim/button/link.erb +10 -0
  45. data/app/cells/decidim/button/show.erb +5 -0
  46. data/app/cells/decidim/button_cell.rb +48 -0
  47. data/app/cells/decidim/card/show.erb +8 -16
  48. data/app/cells/decidim/card/title.erb +1 -0
  49. data/app/cells/decidim/card_cell.rb +63 -6
  50. data/app/cells/decidim/card_g/show.erb +19 -0
  51. data/app/cells/decidim/card_g_cell.rb +102 -0
  52. data/app/cells/decidim/card_l/author.erb +3 -0
  53. data/app/cells/decidim/card_l/content.erb +10 -0
  54. data/app/cells/decidim/card_l/description.erb +3 -0
  55. data/app/cells/decidim/card_l/image.erb +11 -0
  56. data/app/cells/decidim/card_l/metadata.erb +3 -0
  57. data/app/cells/decidim/card_l/show.erb +13 -0
  58. data/app/cells/decidim/card_l/space.erb +1 -0
  59. data/app/cells/decidim/card_l/title_and_details.erb +5 -0
  60. data/app/cells/decidim/card_l_cell.rb +139 -0
  61. data/app/cells/decidim/card_metadata/show.erb +22 -0
  62. data/app/cells/decidim/card_metadata_cell.rb +218 -0
  63. data/app/cells/decidim/card_s/show.erb +10 -0
  64. data/app/cells/decidim/card_s_cell.rb +34 -0
  65. data/app/cells/decidim/coauthorships_cell.rb +2 -27
  66. data/app/cells/decidim/collapsible_authors/show.erb +17 -16
  67. data/app/cells/decidim/collapsible_authors/stack.erb +9 -0
  68. data/app/cells/decidim/collapsible_authors_cell.rb +13 -22
  69. data/app/cells/decidim/comments_button_cell.rb +31 -0
  70. data/app/cells/decidim/content_blocks/base/show.erb +3 -0
  71. data/app/cells/decidim/content_blocks/base_cell.rb +49 -0
  72. data/app/cells/decidim/content_blocks/cta/show.erb +10 -12
  73. data/app/cells/decidim/content_blocks/cta_cell.rb +0 -4
  74. data/app/cells/decidim/content_blocks/footer_sub_hero/show.erb +14 -12
  75. data/app/cells/decidim/content_blocks/global_menu/show.erb +11 -0
  76. data/app/cells/decidim/content_blocks/global_menu_cell.rb +35 -0
  77. data/app/cells/decidim/content_blocks/hero/cta_button.erb +4 -0
  78. data/app/cells/decidim/content_blocks/hero/show.erb +11 -18
  79. data/app/cells/decidim/content_blocks/hero_cell.rb +1 -1
  80. data/app/cells/decidim/content_blocks/highlighted_content_banner/show.erb +16 -20
  81. data/app/cells/decidim/content_blocks/highlighted_elements_cell.rb +7 -31
  82. data/app/cells/decidim/content_blocks/highlighted_elements_for_component_settings_form/show.erb +4 -0
  83. data/app/cells/decidim/content_blocks/highlighted_elements_for_component_settings_form_cell.rb +31 -0
  84. data/app/cells/decidim/content_blocks/highlighted_elements_settings_form/show.erb +1 -1
  85. data/app/cells/decidim/content_blocks/highlighted_elements_with_cell_for_list/content.erb +1 -0
  86. data/app/cells/decidim/content_blocks/highlighted_elements_with_cell_for_list_cell.rb +29 -0
  87. data/app/cells/decidim/content_blocks/highlighted_participatory_spaces/content.erb +16 -0
  88. data/app/cells/decidim/content_blocks/highlighted_participatory_spaces_cell.rb +39 -0
  89. data/app/cells/decidim/content_blocks/how_to_participate/show.erb +37 -41
  90. data/app/cells/decidim/content_blocks/html/show.erb +1 -1
  91. data/app/cells/decidim/content_blocks/html_cell.rb +4 -0
  92. data/app/cells/decidim/content_blocks/html_settings_form/show.erb +1 -1
  93. data/app/cells/decidim/content_blocks/last_activity/show.erb +11 -14
  94. data/app/cells/decidim/content_blocks/last_activity_cell.rb +2 -2
  95. data/app/cells/decidim/content_blocks/last_activity_settings_form/show.erb +3 -0
  96. data/app/cells/decidim/content_blocks/last_activity_settings_form_cell.rb +13 -0
  97. data/app/cells/decidim/content_blocks/menu_breadcrumb_last_activity/show.erb +10 -0
  98. data/app/cells/decidim/content_blocks/menu_breadcrumb_last_activity_cell.rb +43 -0
  99. data/app/cells/decidim/content_blocks/organization_metrics_cell.rb +21 -0
  100. data/app/cells/decidim/content_blocks/participatory_space_announcement/content.erb +1 -0
  101. data/app/cells/decidim/content_blocks/participatory_space_announcement_cell.rb +19 -0
  102. data/app/cells/decidim/content_blocks/participatory_space_documents/content.erb +5 -0
  103. data/app/cells/decidim/content_blocks/participatory_space_documents_cell.rb +7 -0
  104. data/app/cells/decidim/content_blocks/participatory_space_extra_data/content.erb +5 -0
  105. data/app/cells/decidim/content_blocks/participatory_space_extra_data/extra_data.erb +13 -0
  106. data/app/cells/decidim/content_blocks/participatory_space_extra_data/recent_users.erb +5 -0
  107. data/app/cells/decidim/content_blocks/participatory_space_extra_data_cell.rb +13 -0
  108. data/app/cells/decidim/content_blocks/participatory_space_hero/show.erb +20 -0
  109. data/app/cells/decidim/content_blocks/participatory_space_hero_cell.rb +41 -0
  110. data/app/cells/decidim/content_blocks/participatory_space_images/content.erb +5 -0
  111. data/app/cells/decidim/content_blocks/participatory_space_images_cell.rb +7 -0
  112. data/app/cells/decidim/content_blocks/participatory_space_last_activity/content.erb +11 -0
  113. data/app/cells/decidim/content_blocks/participatory_space_last_activity/recent_avatars.erb +5 -0
  114. data/app/cells/decidim/content_blocks/participatory_space_last_activity_cell.rb +45 -0
  115. data/app/cells/decidim/content_blocks/participatory_space_main_data/content.erb +7 -0
  116. data/app/cells/decidim/content_blocks/participatory_space_main_data/title.erb +32 -0
  117. data/app/cells/decidim/content_blocks/participatory_space_main_data_cell.rb +23 -0
  118. data/app/cells/decidim/content_blocks/participatory_space_metadata/content.erb +10 -0
  119. data/app/cells/decidim/content_blocks/participatory_space_metadata_cell.rb +40 -0
  120. data/app/cells/decidim/content_blocks/participatory_space_metrics/content.erb +18 -0
  121. data/app/cells/decidim/content_blocks/participatory_space_metrics_cell.rb +43 -0
  122. data/app/cells/decidim/content_blocks/participatory_space_social_networks/content.erb +10 -0
  123. data/app/cells/decidim/content_blocks/participatory_space_social_networks_cell.rb +31 -0
  124. data/app/cells/decidim/content_blocks/participatory_space_stats/content.erb +1 -0
  125. data/app/cells/decidim/content_blocks/participatory_space_stats_cell.rb +21 -0
  126. data/app/cells/decidim/content_blocks/static_page/section/show.erb +1 -0
  127. data/app/cells/decidim/content_blocks/static_page/section_cell.rb +13 -0
  128. data/app/cells/decidim/content_blocks/static_page/section_settings_form/show.erb +3 -0
  129. data/app/cells/decidim/content_blocks/static_page/section_settings_form_cell.rb +19 -0
  130. data/app/cells/decidim/content_blocks/static_page/summary/show.erb +1 -0
  131. data/app/cells/decidim/content_blocks/static_page/summary_cell.rb +13 -0
  132. data/app/cells/decidim/content_blocks/static_page/summary_settings_form/show.erb +3 -0
  133. data/app/cells/decidim/content_blocks/static_page/summary_settings_form_cell.rb +19 -0
  134. data/app/cells/decidim/content_blocks/static_page/two_pane_section/show.erb +8 -0
  135. data/app/cells/decidim/content_blocks/static_page/two_pane_section_cell.rb +17 -0
  136. data/app/cells/decidim/content_blocks/static_page/two_pane_section_settings_form/show.erb +4 -0
  137. data/app/cells/decidim/content_blocks/static_page/two_pane_section_settings_form_cell.rb +23 -0
  138. data/app/cells/decidim/content_blocks/stats/show.erb +5 -18
  139. data/app/cells/decidim/content_blocks/sub_hero/show.erb +11 -13
  140. data/app/cells/decidim/data_consent/category.erb +49 -45
  141. data/app/cells/decidim/data_consent/dialog.erb +20 -24
  142. data/app/cells/decidim/data_consent/modal.erb +32 -36
  143. data/app/cells/decidim/date_range/show.erb +4 -4
  144. data/app/cells/decidim/diff/attribute.erb +5 -25
  145. data/app/cells/decidim/diff/diff_mode_dropdown.erb +5 -33
  146. data/app/cells/decidim/diff/diff_mode_html.erb +5 -33
  147. data/app/cells/decidim/diff/diff_split.erb +2 -11
  148. data/app/cells/decidim/diff/diff_split_full.erb +8 -0
  149. data/app/cells/decidim/diff/diff_unified.erb +1 -7
  150. data/app/cells/decidim/diff/show.erb +10 -3
  151. data/app/cells/decidim/diff_cell.rb +35 -4
  152. data/app/cells/decidim/documents_panel/show.erb +1 -0
  153. data/app/cells/decidim/documents_panel_cell.rb +34 -0
  154. data/app/cells/decidim/endorsement_block/show.erb +4 -0
  155. data/app/cells/decidim/endorsement_block_cell.rb +7 -0
  156. data/app/cells/decidim/endorsement_buttons/button_content.erb +2 -0
  157. data/app/cells/decidim/endorsement_buttons/disabled_endorsements.erb +3 -0
  158. data/app/cells/decidim/endorsement_buttons/select_identity_button.erb +5 -7
  159. data/app/cells/decidim/endorsement_buttons/show.erb +16 -3
  160. data/app/cells/decidim/endorsement_buttons/verification_modal.erb +5 -0
  161. data/app/cells/decidim/endorsement_buttons_cell.rb +25 -138
  162. data/app/cells/decidim/endorsers_list/full.erb +6 -0
  163. data/app/cells/decidim/endorsers_list/full_endorsers_list.erb +3 -0
  164. data/app/cells/decidim/endorsers_list/show.erb +11 -16
  165. data/app/cells/decidim/endorsers_list_button/content.erb +1 -0
  166. data/app/cells/decidim/endorsers_list_button_cell.rb +15 -0
  167. data/app/cells/decidim/endorsers_list_cell.rb +25 -5
  168. data/app/cells/decidim/flag_modal/flag_user.erb +12 -2
  169. data/app/cells/decidim/flag_modal/show.erb +51 -26
  170. data/app/cells/decidim/flag_modal_cell.rb +22 -1
  171. data/app/cells/decidim/follow_button/content.erb +2 -0
  172. data/app/cells/decidim/follow_button/show.erb +24 -53
  173. data/app/cells/decidim/follow_button_cell.rb +23 -34
  174. data/app/cells/decidim/followers/show.erb +11 -8
  175. data/app/cells/decidim/followers_cell.rb +4 -0
  176. data/app/cells/decidim/following/show.erb +6 -11
  177. data/app/cells/decidim/following_cell.rb +9 -2
  178. data/app/cells/decidim/footer_pages/pages.erb +3 -0
  179. data/app/cells/decidim/footer_pages/topics.erb +12 -0
  180. data/app/cells/decidim/footer_pages_cell.rb +68 -0
  181. data/app/cells/decidim/group_admins/show.erb +32 -0
  182. data/app/cells/decidim/group_admins_cell.rb +8 -0
  183. data/app/cells/decidim/group_members/show.erb +42 -0
  184. data/app/cells/decidim/group_members_cell.rb +8 -0
  185. data/app/cells/decidim/groups/show.erb +12 -8
  186. data/app/cells/decidim/groups_cell.rb +6 -0
  187. data/app/cells/decidim/highlighted_participatory_process/show.erb +1 -0
  188. data/app/cells/decidim/highlighted_participatory_process_cell.rb +15 -0
  189. data/app/cells/decidim/images_panel/show.erb +7 -0
  190. data/app/cells/decidim/images_panel_cell.rb +29 -0
  191. data/app/cells/decidim/linked_resources_for/show.erb +3 -0
  192. data/app/cells/decidim/linked_resources_for_cell.rb +52 -0
  193. data/app/cells/decidim/members/show.erb +11 -8
  194. data/app/cells/decidim/members_cell.rb +9 -7
  195. data/app/cells/decidim/nav_links/show.erb +17 -0
  196. data/app/cells/decidim/nav_links_cell.rb +10 -0
  197. data/app/cells/decidim/navbar_admin_link/show.erb +4 -6
  198. data/app/cells/decidim/navbar_admin_link_cell.rb +2 -8
  199. data/app/cells/decidim/newsletter_templates/basic_only_text/show.erb +1 -12
  200. data/app/cells/decidim/newsletter_templates/image_text_cta/show.erb +1 -12
  201. data/app/cells/decidim/newsletter_templates/image_text_cta_settings_form/show.erb +1 -1
  202. data/app/cells/decidim/notification/show.erb +14 -30
  203. data/app/cells/decidim/notification_cell.rb +12 -5
  204. data/app/cells/decidim/notifications/show.erb +5 -20
  205. data/app/cells/decidim/notifications/validations.erb +3 -0
  206. data/app/cells/decidim/notifications_cell.rb +13 -0
  207. data/app/cells/decidim/pad_iframe/show.erb +1 -1
  208. data/app/cells/decidim/participatory_space_dropdown_metadata/links.erb +9 -0
  209. data/app/cells/decidim/participatory_space_dropdown_metadata/metadata.erb +9 -0
  210. data/app/cells/decidim/participatory_space_dropdown_metadata/show.erb +9 -0
  211. data/app/cells/decidim/participatory_space_dropdown_metadata_cell.rb +35 -0
  212. data/app/cells/decidim/photo/show.erb +19 -0
  213. data/app/cells/decidim/photo_cell.rb +44 -0
  214. data/app/cells/decidim/photos_list/show.erb +5 -0
  215. data/app/cells/decidim/photos_list_cell.rb +16 -0
  216. data/app/cells/decidim/profile/avatar.erb +7 -0
  217. data/app/cells/decidim/profile/badge.erb +4 -0
  218. data/app/cells/decidim/profile/details.erb +22 -0
  219. data/app/cells/decidim/profile/inaccessible.erb +1 -9
  220. data/app/cells/decidim/profile/invalid.erb +1 -9
  221. data/app/cells/decidim/profile/show.erb +24 -14
  222. data/app/cells/decidim/profile/tabs.erb +13 -0
  223. data/app/cells/decidim/profile_actions/dropdown_actions.erb +21 -0
  224. data/app/cells/decidim/profile_actions/profile_actions.erb +7 -0
  225. data/app/cells/decidim/profile_actions/show.erb +12 -0
  226. data/app/cells/decidim/profile_actions_cell.rb +144 -0
  227. data/app/cells/decidim/profile_cell.rb +77 -11
  228. data/app/cells/decidim/profile_sidebar/show.erb +11 -11
  229. data/app/cells/decidim/progress_bar/show.erb +9 -19
  230. data/app/cells/decidim/progress_bar_cell.rb +1 -30
  231. data/app/cells/decidim/public_participation/show.erb +1 -1
  232. data/app/cells/decidim/report_button/already_reported_modal.erb +11 -0
  233. data/app/cells/decidim/report_button/flag_modal.erb +60 -0
  234. data/app/cells/decidim/report_button/show.erb +2 -0
  235. data/app/cells/decidim/report_button_cell.rb +82 -0
  236. data/app/cells/decidim/represent_user_group/show.erb +5 -5
  237. data/app/cells/decidim/resource_types_filter/show.erb +22 -0
  238. data/app/cells/decidim/resource_types_filter_cell.rb +56 -0
  239. data/app/cells/decidim/scopes_picker/scope_picker_values.erb +1 -1
  240. data/app/cells/decidim/search_results/show.erb +1 -2
  241. data/app/cells/decidim/search_results_section/show.erb +20 -20
  242. data/app/cells/decidim/search_results_section_cell.rb +0 -4
  243. data/app/cells/decidim/share_button_cell.rb +23 -0
  244. data/app/cells/decidim/statistic/show.erb +4 -5
  245. data/app/cells/decidim/statistics/show.erb +7 -19
  246. data/app/cells/decidim/statistics_cell.rb +0 -20
  247. data/app/cells/decidim/tab_panels/show.erb +19 -0
  248. data/app/cells/decidim/tab_panels_cell.rb +40 -0
  249. data/app/cells/decidim/tags/show.erb +3 -4
  250. data/app/cells/decidim/tags_cell.rb +25 -8
  251. data/app/cells/decidim/tos_page/form.erb +9 -15
  252. data/app/cells/decidim/tos_page/refuse_btn_modal.erb +17 -27
  253. data/app/cells/decidim/tos_page_cell.rb +3 -3
  254. data/app/cells/decidim/upload_modal/files.erb +50 -35
  255. data/app/cells/decidim/upload_modal/modal.erb +62 -47
  256. data/app/cells/decidim/upload_modal/show.erb +1 -2
  257. data/app/cells/decidim/upload_modal_cell.rb +11 -26
  258. data/app/cells/decidim/user_activity/show.erb +9 -27
  259. data/app/cells/decidim/user_activity_cell.rb +4 -2
  260. data/app/cells/decidim/user_conversation/conversation_header.erb +12 -12
  261. data/app/cells/decidim/user_conversation/messages.erb +1 -15
  262. data/app/cells/decidim/user_conversation/new.erb +4 -13
  263. data/app/cells/decidim/user_conversation/reply.erb +8 -16
  264. data/app/cells/decidim/user_conversation/show.erb +15 -18
  265. data/app/cells/decidim/user_conversation/start.erb +12 -0
  266. data/app/cells/decidim/user_conversation_cell.rb +7 -32
  267. data/app/cells/decidim/user_conversations/new_conversation_button.erb +20 -0
  268. data/app/cells/decidim/user_conversations/show.erb +11 -55
  269. data/app/cells/decidim/user_conversations_cell.rb +2 -21
  270. data/app/cells/decidim/user_group_pending_invitations_list/show.erb +22 -17
  271. data/app/cells/decidim/user_group_pending_requests_list/show.erb +21 -17
  272. data/app/cells/decidim/user_profile/badge.erb +4 -0
  273. data/app/cells/decidim/user_profile/role_badge.erb +3 -0
  274. data/app/cells/decidim/user_profile/show.erb +15 -0
  275. data/app/cells/decidim/user_profile_cell.rb +19 -24
  276. data/app/cells/decidim/user_timeline/show.erb +1 -3
  277. data/app/cells/decidim/version/show.erb +5 -30
  278. data/app/cells/decidim/version_author_cell.rb +13 -10
  279. data/app/cells/decidim/version_cell.rb +8 -23
  280. data/app/cells/decidim/versions_list/show.erb +3 -32
  281. data/app/cells/decidim/versions_list_cell.rb +11 -23
  282. data/app/cells/decidim/versions_list_item/show.erb +4 -20
  283. data/app/cells/decidim/versions_list_item_cell.rb +10 -3
  284. data/app/cells/decidim/wizard_step_form/wizard_aside.erb +1 -1
  285. data/app/cells/decidim/wizard_step_form/wizard_header.erb +2 -2
  286. data/app/cells/decidim/wizard_step_form_cell.rb +3 -3
  287. data/app/commands/decidim/accept_group_invitation.rb +2 -2
  288. data/app/commands/decidim/accept_user_group_join_request.rb +1 -1
  289. data/app/commands/decidim/amendable/accept.rb +1 -1
  290. data/app/commands/decidim/amendable/create_draft.rb +2 -2
  291. data/app/commands/decidim/amendable/publish_draft.rb +1 -1
  292. data/app/commands/decidim/amendable/reject.rb +1 -1
  293. data/app/commands/decidim/amendable/update_draft.rb +1 -1
  294. data/app/commands/decidim/attachment_methods.rb +1 -5
  295. data/app/commands/decidim/create_editor_image.rb +1 -1
  296. data/app/commands/decidim/create_follow.rb +1 -1
  297. data/app/commands/decidim/create_omniauth_registration.rb +7 -6
  298. data/app/commands/decidim/create_registration.rb +1 -2
  299. data/app/commands/decidim/create_report.rb +15 -24
  300. data/app/commands/decidim/create_user_group.rb +1 -1
  301. data/app/commands/decidim/create_user_report.rb +1 -1
  302. data/app/commands/decidim/delete_follow.rb +1 -1
  303. data/app/commands/decidim/demote_membership.rb +2 -2
  304. data/app/commands/decidim/endorse_resource.rb +1 -1
  305. data/app/commands/decidim/gallery_methods.rb +1 -1
  306. data/app/commands/decidim/invite_user_to_group.rb +3 -3
  307. data/app/commands/decidim/join_user_group.rb +3 -3
  308. data/app/commands/decidim/leave_user_group.rb +4 -4
  309. data/app/commands/decidim/messaging/reply_to_conversation.rb +2 -5
  310. data/app/commands/decidim/messaging/start_conversation.rb +2 -5
  311. data/app/commands/decidim/multiple_attachments_methods.rb +5 -3
  312. data/app/commands/decidim/promote_membership.rb +1 -1
  313. data/app/commands/decidim/reject_group_invitation.rb +2 -2
  314. data/app/commands/decidim/reject_user_group_join_request.rb +1 -1
  315. data/app/commands/decidim/remove_user_from_group.rb +1 -1
  316. data/app/commands/decidim/search.rb +3 -11
  317. data/app/commands/decidim/unendorse_resource.rb +1 -1
  318. data/app/commands/decidim/update_account.rb +21 -5
  319. data/app/commands/decidim/update_password.rb +0 -1
  320. data/app/commands/decidim/update_user_group.rb +1 -1
  321. data/app/constraints/decidim/current_component.rb +1 -1
  322. data/app/controllers/concerns/decidim/amendments_controller.rb +9 -1
  323. data/app/controllers/concerns/decidim/devise_controllers.rb +3 -0
  324. data/app/controllers/concerns/decidim/disable_redirection_to_external_host.rb +1 -1
  325. data/app/controllers/concerns/decidim/filter_resource.rb +9 -15
  326. data/app/controllers/concerns/decidim/force_authentication.rb +2 -2
  327. data/app/controllers/concerns/decidim/has_account_breadcrumb.rb +24 -0
  328. data/app/controllers/concerns/decidim/has_participatory_space_content_blocks.rb +31 -0
  329. data/app/controllers/concerns/decidim/has_profile_breadcrumb.rb +24 -0
  330. data/app/controllers/concerns/decidim/has_specific_breadcrumb.rb +23 -0
  331. data/app/controllers/concerns/decidim/has_stored_path.rb +2 -2
  332. data/app/controllers/concerns/decidim/headers/content_security_policy.rb +25 -0
  333. data/app/controllers/concerns/decidim/headers/http_caching_disabler.rb +23 -0
  334. data/app/controllers/concerns/decidim/html_safe_flash.rb +40 -0
  335. data/app/controllers/concerns/decidim/linked_resource_reference.rb +30 -0
  336. data/app/controllers/concerns/decidim/locale_switcher.rb +2 -2
  337. data/app/controllers/concerns/decidim/needs_permission.rb +1 -1
  338. data/app/controllers/concerns/decidim/needs_tos_accepted.rb +12 -5
  339. data/app/controllers/concerns/decidim/paginable.rb +2 -2
  340. data/app/controllers/concerns/decidim/participatory_space_context.rb +30 -1
  341. data/app/controllers/concerns/decidim/safe_redirect.rb +1 -1
  342. data/app/controllers/concerns/decidim/skip_timeoutable.rb +1 -1
  343. data/app/controllers/concerns/decidim/use_organization_time_zone.rb +3 -3
  344. data/app/controllers/concerns/decidim/user_profile.rb +2 -1
  345. data/app/controllers/decidim/account_controller.rb +13 -8
  346. data/app/controllers/decidim/application_controller.rb +8 -3
  347. data/app/controllers/decidim/authorization_modals_controller.rb +5 -5
  348. data/app/controllers/decidim/components/base_controller.rb +15 -4
  349. data/app/controllers/decidim/devise/confirmations_controller.rb +3 -1
  350. data/app/controllers/decidim/devise/invitations_controller.rb +1 -1
  351. data/app/controllers/decidim/devise/omniauth_registrations_controller.rb +22 -1
  352. data/app/controllers/decidim/devise/passwords_controller.rb +1 -1
  353. data/app/controllers/decidim/devise/registrations_controller.rb +1 -1
  354. data/app/controllers/decidim/devise/sessions_controller.rb +24 -1
  355. data/app/controllers/decidim/devise/unlocks_controller.rb +1 -1
  356. data/app/controllers/decidim/doorkeeper/authorizations_controller.rb +9 -0
  357. data/app/controllers/decidim/download_your_data_controller.rb +3 -3
  358. data/app/controllers/decidim/endorsements_controller.rb +3 -3
  359. data/app/controllers/decidim/errors_controller.rb +8 -0
  360. data/app/controllers/decidim/favicon_controller.rb +56 -0
  361. data/app/controllers/decidim/follows_controller.rb +13 -3
  362. data/app/controllers/decidim/free_resource_authorization_modals_controller.rb +4 -4
  363. data/app/controllers/decidim/gamification/badges_controller.rb +10 -0
  364. data/app/controllers/decidim/group_email_confirmations_controller.rb +1 -1
  365. data/app/controllers/decidim/group_invites_controller.rb +2 -2
  366. data/app/controllers/decidim/group_members_controller.rb +23 -10
  367. data/app/controllers/decidim/groups_controller.rb +5 -4
  368. data/app/controllers/decidim/homepage_controller.rb +0 -1
  369. data/app/controllers/decidim/last_activities_controller.rb +14 -12
  370. data/app/controllers/decidim/links_controller.rb +6 -17
  371. data/app/controllers/decidim/locales_controller.rb +1 -1
  372. data/app/controllers/decidim/messaging/conversations_controller.rb +26 -8
  373. data/app/controllers/decidim/newsletters_opt_in_controller.rb +1 -1
  374. data/app/controllers/decidim/notifications_controller.rb +11 -1
  375. data/app/controllers/decidim/notifications_settings_controller.rb +2 -2
  376. data/app/controllers/decidim/offline_controller.rb +9 -0
  377. data/app/controllers/decidim/pages_controller.rb +15 -2
  378. data/app/controllers/decidim/profiles_controller.rb +31 -2
  379. data/app/controllers/decidim/report_users_controller.rb +5 -1
  380. data/app/controllers/decidim/reports_controller.rb +1 -1
  381. data/app/controllers/decidim/scopes_controller.rb +7 -7
  382. data/app/controllers/decidim/searches_controller.rb +17 -4
  383. data/app/controllers/decidim/tos_controller.rb +3 -3
  384. data/app/controllers/decidim/user_activities_controller.rb +8 -4
  385. data/app/controllers/decidim/user_conversations_controller.rb +4 -3
  386. data/app/controllers/decidim/user_group_join_requests_controller.rb +7 -7
  387. data/app/controllers/decidim/user_interests_controller.rb +2 -2
  388. data/app/events/decidim/amendable/amendment_accepted_event.rb +1 -1
  389. data/app/events/decidim/amendable/amendment_base_event.rb +1 -1
  390. data/app/events/decidim/amendable/amendment_created_event.rb +1 -1
  391. data/app/events/decidim/amendable/amendment_rejected_event.rb +1 -1
  392. data/app/events/decidim/amendable/emendation_promoted_event.rb +1 -1
  393. data/app/events/decidim/change_nickname_event.rb +1 -1
  394. data/app/events/decidim/demoted_membership_event.rb +3 -3
  395. data/app/events/decidim/invited_to_group_event.rb +1 -1
  396. data/app/events/decidim/join_request_accepted_event.rb +1 -1
  397. data/app/events/decidim/join_request_created_event.rb +3 -3
  398. data/app/events/decidim/join_request_rejected_event.rb +1 -1
  399. data/app/events/decidim/profile_updated_event.rb +1 -1
  400. data/app/events/decidim/promoted_to_admin_event.rb +3 -3
  401. data/app/events/decidim/removed_from_group_event.rb +3 -3
  402. data/app/events/decidim/resource_endorsed_event.rb +1 -1
  403. data/app/events/decidim/user_group_admin_event.rb +1 -1
  404. data/app/events/decidim/user_group_created_event.rb +1 -1
  405. data/app/events/decidim/user_group_updated_event.rb +1 -1
  406. data/app/events/decidim/welcome_notification_event.rb +9 -6
  407. data/app/forms/decidim/account_form.rb +13 -8
  408. data/app/forms/decidim/amendable/form.rb +2 -2
  409. data/app/forms/decidim/follow_form.rb +1 -1
  410. data/app/forms/decidim/invite_user_form.rb +1 -1
  411. data/app/forms/decidim/password_form.rb +1 -2
  412. data/app/forms/decidim/registration_form.rb +8 -12
  413. data/app/forms/decidim/report_form.rb +2 -0
  414. data/app/forms/decidim/user_group_form.rb +7 -7
  415. data/app/forms/decidim/user_interest_scope_form.rb +1 -1
  416. data/app/forms/decidim/user_interests_form.rb +1 -7
  417. data/app/helpers/concerns/decidim/flash_helper_extensions.rb +80 -12
  418. data/app/helpers/decidim/account_helper.rb +9 -0
  419. data/app/helpers/decidim/action_authorization_helper.rb +11 -11
  420. data/app/helpers/decidim/amendments_helper.rb +45 -27
  421. data/app/helpers/decidim/application_helper.rb +11 -11
  422. data/app/helpers/decidim/aria_selected_link_to_helper.rb +1 -1
  423. data/app/helpers/decidim/attachments_helper.rb +26 -3
  424. data/app/helpers/decidim/authorization_form_helper.rb +2 -2
  425. data/app/helpers/decidim/breadcrumb_helper.rb +60 -0
  426. data/app/helpers/decidim/cache_helper.rb +2 -2
  427. data/app/helpers/decidim/cells_paginate_helper.rb +2 -2
  428. data/app/helpers/decidim/check_boxes_tree_helper.rb +86 -21
  429. data/app/helpers/decidim/component_path_helper.rb +1 -1
  430. data/app/helpers/decidim/contextual_help_helper.rb +2 -2
  431. data/app/helpers/decidim/cta_button_helper.rb +5 -3
  432. data/app/helpers/decidim/date_range_helper.rb +19 -0
  433. data/app/helpers/decidim/decidim_form_helper.rb +24 -10
  434. data/app/helpers/decidim/endorsable_helper.rb +3 -3
  435. data/app/helpers/decidim/filters_helper.rb +16 -17
  436. data/app/helpers/decidim/followable_helper.rb +5 -2
  437. data/app/helpers/decidim/icon_helper.rb +20 -3
  438. data/app/helpers/decidim/layout_helper.rb +52 -39
  439. data/app/helpers/decidim/map_helper.rb +20 -46
  440. data/app/helpers/decidim/menu_helper.rb +47 -0
  441. data/app/helpers/decidim/messaging/conversation_helper.rb +34 -16
  442. data/app/helpers/decidim/meta_tags_helper.rb +3 -3
  443. data/app/helpers/decidim/modal_helper.rb +38 -0
  444. data/app/helpers/decidim/newsletters_helper.rb +16 -83
  445. data/app/helpers/decidim/omniauth_helper.rb +5 -2
  446. data/app/helpers/decidim/orders_helper.rb +3 -3
  447. data/app/helpers/decidim/paginate_helper.rb +12 -1
  448. data/app/helpers/decidim/participatory_space_helpers.rb +4 -5
  449. data/app/helpers/decidim/passwords_helper.rb +19 -4
  450. data/app/helpers/decidim/resource_helper.rb +3 -27
  451. data/app/helpers/decidim/resource_reference_helper.rb +3 -3
  452. data/app/helpers/decidim/resource_versions_helper.rb +6 -4
  453. data/app/helpers/decidim/rich_text_editor_helper.rb +1 -0
  454. data/app/helpers/decidim/sanitize_helper.rb +8 -15
  455. data/app/helpers/decidim/scopes_helper.rb +23 -13
  456. data/app/helpers/decidim/searches_helper.rb +2 -2
  457. data/app/helpers/decidim/social_share_button_helper.rb +53 -0
  458. data/app/helpers/decidim/tooltip_helper.rb +4 -3
  459. data/app/helpers/decidim/traceability_helper.rb +3 -1
  460. data/app/helpers/decidim/twitter_search_helper.rb +1 -1
  461. data/app/helpers/decidim/user_profile_helper.rb +2 -7
  462. data/app/helpers/decidim/view_hooks_helper.rb +1 -4
  463. data/app/jobs/decidim/email_notifications_digest_generator_job.rb +2 -2
  464. data/app/jobs/decidim/event_publisher_job.rb +2 -2
  465. data/app/jobs/decidim/export_job.rb +4 -1
  466. data/app/jobs/decidim/find_and_update_descendants_job.rb +1 -1
  467. data/app/jobs/decidim/hide_all_created_by_author_job.rb +31 -0
  468. data/app/jobs/decidim/machine_translation_fields_job.rb +1 -1
  469. data/app/jobs/decidim/machine_translation_resource_job.rb +1 -1
  470. data/app/jobs/decidim/machine_translation_save_job.rb +2 -2
  471. data/app/jobs/decidim/open_data_job.rb +1 -1
  472. data/app/mailers/decidim/application_mailer.rb +6 -40
  473. data/app/mailers/decidim/block_user_mailer.rb +1 -1
  474. data/app/mailers/decidim/decidim_devise_mailer.rb +1 -1
  475. data/app/mailers/decidim/messaging/conversation_mailer.rb +73 -4
  476. data/app/mailers/decidim/notification_mailer.rb +2 -2
  477. data/app/mailers/decidim/reported_mailer.rb +3 -3
  478. data/app/mailers/decidim/user_update_mailer.rb +28 -0
  479. data/app/models/decidim/action_log.rb +41 -9
  480. data/app/models/decidim/amendment.rb +8 -11
  481. data/app/models/decidim/authorization.rb +14 -4
  482. data/app/models/decidim/authorization_transfer.rb +257 -0
  483. data/app/models/decidim/authorization_transfer_record.rb +31 -0
  484. data/app/models/decidim/coauthorship.rb +7 -0
  485. data/app/models/decidim/component.rb +2 -2
  486. data/app/models/decidim/content_block.rb +5 -5
  487. data/app/models/decidim/contextual_help_section.rb +3 -3
  488. data/app/models/decidim/follow.rb +1 -3
  489. data/app/models/decidim/messaging/conversation.rb +7 -7
  490. data/app/models/decidim/messaging/message.rb +1 -1
  491. data/app/models/decidim/messaging/receipt.rb +1 -1
  492. data/app/models/decidim/newsletter.rb +2 -2
  493. data/app/models/decidim/notification.rb +5 -5
  494. data/app/models/decidim/organization.rb +16 -10
  495. data/app/models/decidim/participatory_space_private_user.rb +2 -23
  496. data/app/models/decidim/permission_action.rb +1 -1
  497. data/app/models/decidim/reminder_record.rb +3 -20
  498. data/app/models/decidim/report.rb +1 -1
  499. data/app/models/decidim/share_token.rb +2 -2
  500. data/app/models/decidim/short_link.rb +6 -6
  501. data/app/models/decidim/static_page.rb +5 -5
  502. data/app/models/decidim/user.rb +7 -6
  503. data/app/models/decidim/user_base_entity.rb +16 -2
  504. data/app/models/decidim/user_group.rb +4 -4
  505. data/app/packs/entrypoints/decidim_conference_diploma.scss +3 -1
  506. data/app/packs/entrypoints/decidim_core.js +4 -66
  507. data/app/packs/entrypoints/decidim_core.scss +2 -0
  508. data/app/packs/entrypoints/decidim_editor.js +7 -0
  509. data/app/packs/entrypoints/decidim_email.js +2 -1
  510. data/app/packs/entrypoints/decidim_map.scss +2 -0
  511. data/app/packs/fonts/decidim/source-sans-pro-v21-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-600.eot +0 -0
  512. data/app/packs/fonts/decidim/source-sans-pro-v21-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-600.svg +337 -0
  513. data/app/packs/fonts/decidim/source-sans-pro-v21-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-600.ttf +0 -0
  514. data/app/packs/fonts/decidim/source-sans-pro-v21-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-600.woff +0 -0
  515. data/app/packs/fonts/decidim/source-sans-pro-v21-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-600.woff2 +0 -0
  516. data/app/packs/fonts/decidim/source-sans-pro-v21-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-700.eot +0 -0
  517. data/app/packs/fonts/decidim/source-sans-pro-v21-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-700.svg +337 -0
  518. data/app/packs/fonts/decidim/source-sans-pro-v21-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-700.ttf +0 -0
  519. data/app/packs/fonts/decidim/source-sans-pro-v21-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-700.woff +0 -0
  520. data/app/packs/fonts/decidim/source-sans-pro-v21-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-700.woff2 +0 -0
  521. data/app/packs/fonts/decidim/source-sans-pro-v21-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-regular.eot +0 -0
  522. data/app/packs/fonts/decidim/source-sans-pro-v21-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-regular.svg +337 -0
  523. data/app/packs/fonts/decidim/source-sans-pro-v21-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-regular.ttf +0 -0
  524. data/app/packs/fonts/decidim/source-sans-pro-v21-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-regular.woff +0 -0
  525. data/app/packs/fonts/decidim/source-sans-pro-v21-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-regular.woff2 +0 -0
  526. data/app/packs/images/decidim/gamification/badges/decidim_gamification_badges_followers.svg +52 -1
  527. data/app/packs/images/decidim/placeholder-card-g.svg +8 -0
  528. data/app/packs/images/decidim/placeholder-card-l.svg +7 -0
  529. data/app/packs/images/decidim/remixicon.symbol.svg +11 -0
  530. data/app/packs/images/decidim/vendor/social-share-button/x.svg +2 -5
  531. data/app/packs/src/decidim/a11y.js +186 -0
  532. data/app/packs/src/decidim/account_form.js +49 -30
  533. data/app/packs/src/decidim/append_redirect_url_to_modals.js +1 -1
  534. data/app/packs/src/decidim/autocomplete.js +15 -2
  535. data/app/packs/src/decidim/back_to_list.js +1 -1
  536. data/app/packs/src/decidim/change_report_form_behavior.js +45 -0
  537. data/app/packs/src/decidim/check_boxes_tree.js +31 -89
  538. data/app/packs/src/decidim/clipboard.js +2 -2
  539. data/app/packs/src/decidim/confirm.js +8 -25
  540. data/app/packs/src/decidim/data_consent/consent_manager.js +2 -1
  541. data/app/packs/src/decidim/data_consent/consent_manager.test.js +8 -8
  542. data/app/packs/src/decidim/data_consent/index.js +7 -23
  543. data/app/packs/src/decidim/direct_uploads/upload_field.js +110 -96
  544. data/app/packs/src/decidim/direct_uploads/upload_modal.js +195 -186
  545. data/app/packs/src/decidim/direct_uploads/upload_utility.js +0 -40
  546. data/app/packs/src/decidim/direct_uploads/uploader.js +19 -45
  547. data/app/packs/src/decidim/editor/common/bubble_menu.js +163 -0
  548. data/app/packs/src/decidim/editor/common/helpers.js +3 -0
  549. data/app/packs/src/decidim/editor/common/input_dialog.js +156 -0
  550. data/app/packs/src/decidim/editor/common/suggestion.js +179 -0
  551. data/app/packs/src/decidim/editor/common/upload_dialog.js +225 -0
  552. data/app/packs/src/decidim/editor/extensions/bold/index.js +34 -0
  553. data/app/packs/src/decidim/editor/extensions/character_count/index.js +35 -0
  554. data/app/packs/src/decidim/editor/extensions/decidim_kit/index.js +84 -0
  555. data/app/packs/src/decidim/editor/extensions/dialog/index.js +34 -0
  556. data/app/packs/src/decidim/editor/extensions/emoji/index.js +16 -0
  557. data/app/packs/src/decidim/editor/extensions/hashtag/index.js +66 -0
  558. data/app/packs/src/decidim/editor/extensions/heading/index.js +33 -0
  559. data/app/packs/src/decidim/editor/extensions/image/index.js +215 -0
  560. data/app/packs/src/decidim/editor/extensions/image/node_view.js +216 -0
  561. data/app/packs/src/decidim/editor/extensions/indent/index.js +188 -0
  562. data/app/packs/src/decidim/editor/extensions/link/bubble_menu.js +50 -0
  563. data/app/packs/src/decidim/editor/extensions/link/index.js +128 -0
  564. data/app/packs/src/decidim/editor/extensions/mention/index.js +66 -0
  565. data/app/packs/src/decidim/editor/extensions/ordered_list/index.js +188 -0
  566. data/app/packs/src/decidim/editor/extensions/video_embed/index.js +242 -0
  567. data/app/packs/src/decidim/editor/index.js +86 -0
  568. data/app/packs/src/decidim/editor/test/editor/create.test.js +38 -0
  569. data/app/packs/src/decidim/editor/test/extensions/bold.test.js +69 -0
  570. data/app/packs/src/decidim/editor/test/extensions/character_count.test.js +41 -0
  571. data/app/packs/src/decidim/editor/test/extensions/decidim_kit.test.js +110 -0
  572. data/app/packs/src/decidim/editor/test/extensions/dialog.test.js +32 -0
  573. data/app/packs/src/decidim/editor/test/extensions/emoji.test.js +35 -0
  574. data/app/packs/src/decidim/editor/test/extensions/hashtag.test.js +105 -0
  575. data/app/packs/src/decidim/editor/test/extensions/heading.test.js +56 -0
  576. data/app/packs/src/decidim/editor/test/extensions/image.test.js +294 -0
  577. data/app/packs/src/decidim/editor/test/extensions/indent.test.js +154 -0
  578. data/app/packs/src/decidim/editor/test/extensions/link.test.js +103 -0
  579. data/app/packs/src/decidim/editor/test/extensions/mention.test.js +129 -0
  580. data/app/packs/src/decidim/editor/test/extensions/ordered_list.test.js +219 -0
  581. data/app/packs/src/decidim/editor/test/extensions/video_embed.test.js +183 -0
  582. data/app/packs/src/decidim/editor/test/fixtures/editor_messages.js +57 -0
  583. data/app/packs/src/decidim/editor/test/fixtures/logo.png +0 -0
  584. data/app/packs/src/decidim/editor/test/fixtures/upload_templates.js +50 -0
  585. data/app/packs/src/decidim/editor/test/helpers.js +255 -0
  586. data/app/packs/src/decidim/editor/test/toolbar/basic.test.js +36 -0
  587. data/app/packs/src/decidim/editor/test/toolbar/content.test.js +37 -0
  588. data/app/packs/src/decidim/editor/test/toolbar/full.test.js +245 -0
  589. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic.js +23 -0
  590. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_block.js +45 -0
  591. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_formatting.js +17 -0
  592. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_indent.js +61 -0
  593. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_link.js +33 -0
  594. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_list.js +47 -0
  595. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_styling.js +95 -0
  596. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_content.js +25 -0
  597. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_content_styling.js +40 -0
  598. data/app/packs/src/decidim/editor/test/toolbar/shared/context.js +18 -0
  599. data/app/packs/src/decidim/editor/test/utilities/paste_transform.test.js +272 -0
  600. data/app/packs/src/decidim/editor/toolbar.js +263 -0
  601. data/app/packs/src/decidim/editor/utilities/file.js +3 -0
  602. data/app/packs/src/decidim/editor/utilities/html.js +53 -0
  603. data/app/packs/src/decidim/editor/utilities/paste_transform.js +251 -0
  604. data/app/packs/src/decidim/external_domain_warning.js +16 -23
  605. data/app/packs/src/decidim/external_domain_warning.test.js +59 -0
  606. data/app/packs/src/decidim/external_link.js +24 -56
  607. data/app/packs/src/decidim/external_link.test.js +8 -29
  608. data/app/packs/src/decidim/focus_guard.js +3 -1
  609. data/app/packs/src/decidim/form_filter.component_for_testing.js +1 -1
  610. data/app/packs/src/decidim/form_filter.js +12 -53
  611. data/app/packs/src/decidim/form_validator.js +1 -1
  612. data/app/packs/src/decidim/i18n.js +52 -0
  613. data/app/packs/src/decidim/i18n.test.js +64 -0
  614. data/app/packs/src/decidim/icon.js +13 -19
  615. data/app/packs/src/decidim/identity_selector_dialog.js +24 -51
  616. data/app/packs/src/decidim/index.js +159 -63
  617. data/app/packs/src/decidim/input_autojump.js +1 -1
  618. data/app/packs/src/decidim/input_character_counter.js +34 -38
  619. data/app/packs/src/decidim/input_emoji.js +130 -52
  620. data/app/packs/src/decidim/input_hashtags.js +7 -54
  621. data/app/packs/src/decidim/input_mentions.js +15 -60
  622. data/app/packs/src/decidim/input_multiple_mentions.js +11 -11
  623. data/app/packs/src/decidim/input_tags.js +12 -8
  624. data/app/packs/src/decidim/map/controller/markers.js +3 -3
  625. data/app/packs/src/decidim/map/controller.js +7 -4
  626. data/app/packs/src/decidim/map/factory.js +1 -3
  627. data/app/packs/src/decidim/map/legacy.js +1 -1
  628. data/app/packs/src/decidim/notifications.js +42 -30
  629. data/app/packs/src/decidim/password_toggler.js +104 -0
  630. data/app/packs/src/decidim/remote_modal.js +54 -0
  631. data/app/packs/src/decidim/scroll_to_last_child.js +14 -0
  632. data/app/packs/src/decidim/session_timeouter.js +3 -4
  633. data/app/packs/src/decidim/sw/loader.js +1 -1
  634. data/app/packs/src/decidim/sw/sw.js +1 -1
  635. data/app/packs/src/decidim/toggle.js +37 -0
  636. data/app/packs/src/decidim/tooltips.js +132 -0
  637. data/app/packs/src/decidim/user_registrations.js +10 -3
  638. data/app/packs/src/decidim/vendor/jquery-tmpl.js +1 -1
  639. data/app/packs/src/decidim/vendor/leaflet-tilelayer-here.js +1 -1
  640. data/app/packs/src/decidim/vendor/tribute.js +3 -3
  641. data/app/packs/src/decidim/vizzs/areachart.js +7 -8
  642. data/app/packs/src/decidim/vizzs/index.js +1 -1
  643. data/app/packs/stylesheets/decidim/_accordion.scss +13 -0
  644. data/app/packs/stylesheets/decidim/_actions.scss +7 -0
  645. data/app/packs/stylesheets/decidim/_activity.scss +49 -0
  646. data/app/packs/stylesheets/decidim/_address.scss +25 -0
  647. data/app/packs/stylesheets/decidim/_author.scss +74 -0
  648. data/app/packs/stylesheets/decidim/_buttons.scss +100 -0
  649. data/app/packs/stylesheets/decidim/_callout.scss +55 -0
  650. data/app/packs/stylesheets/decidim/_cards.scss +186 -0
  651. data/app/packs/stylesheets/decidim/_content_blocks.scss +39 -0
  652. data/app/packs/stylesheets/decidim/_conversations.scss +122 -0
  653. data/app/packs/stylesheets/decidim/_cookies.scss +117 -0
  654. data/app/packs/stylesheets/decidim/_documents.scss +60 -0
  655. data/app/packs/stylesheets/decidim/_dropdown.scss +69 -0
  656. data/app/packs/stylesheets/decidim/_endorsers_list.scss +45 -0
  657. data/app/packs/stylesheets/decidim/_filters.scss +137 -0
  658. data/app/packs/stylesheets/decidim/_flash.scss +57 -0
  659. data/app/packs/stylesheets/decidim/_floating_help.scss +7 -0
  660. data/app/packs/stylesheets/decidim/_fonts.scss +70 -0
  661. data/app/packs/stylesheets/decidim/_footer.scss +59 -0
  662. data/app/packs/stylesheets/decidim/_forms.scss +199 -0
  663. data/app/packs/stylesheets/decidim/_header.scss +444 -0
  664. data/app/packs/stylesheets/decidim/_hero.scss +20 -0
  665. data/app/packs/stylesheets/decidim/_home.scss +105 -0
  666. data/app/packs/stylesheets/decidim/_labels.scss +26 -0
  667. data/app/packs/stylesheets/decidim/_layout.scss +107 -0
  668. data/app/packs/stylesheets/decidim/_login.scss +59 -0
  669. data/app/packs/stylesheets/decidim/_login_box.scss +31 -0
  670. data/app/packs/stylesheets/decidim/_metadata.scss +18 -0
  671. data/app/packs/stylesheets/decidim/_metrics.scss +70 -0
  672. data/app/packs/stylesheets/decidim/_modal.scss +45 -0
  673. data/app/packs/stylesheets/decidim/_modal_authorization.scss +21 -0
  674. data/app/packs/stylesheets/decidim/_modal_fingerprint.scss +17 -0
  675. data/app/packs/stylesheets/decidim/_modal_flag.scss +39 -0
  676. data/app/packs/stylesheets/decidim/_modal_identities.scss +23 -0
  677. data/app/packs/stylesheets/decidim/_modal_share.scss +28 -0
  678. data/app/packs/stylesheets/decidim/_modal_tos_refuse.scss +6 -0
  679. data/app/packs/stylesheets/decidim/_modal_update.scss +137 -0
  680. data/app/packs/stylesheets/decidim/_notifications.scss +35 -0
  681. data/app/packs/stylesheets/decidim/_omnipresent_banner.scss +7 -0
  682. data/app/packs/stylesheets/decidim/_order-by.scss +15 -0
  683. data/app/packs/stylesheets/decidim/_pages.scss +49 -0
  684. data/app/packs/stylesheets/decidim/_participatory_spaces.scss +201 -0
  685. data/app/packs/stylesheets/decidim/_photos.scss +53 -0
  686. data/app/packs/stylesheets/decidim/_profile.scss +258 -0
  687. data/app/packs/stylesheets/decidim/_progress-bar.scss +42 -0
  688. data/app/packs/stylesheets/decidim/_rich_text.scss +96 -0
  689. data/app/packs/stylesheets/decidim/_search.scss +17 -0
  690. data/app/packs/stylesheets/decidim/_spinner.scss +11 -0
  691. data/app/packs/stylesheets/decidim/_static-map.scss +15 -0
  692. data/app/packs/stylesheets/decidim/_statistics.scss +15 -0
  693. data/app/packs/stylesheets/decidim/_tabs_x.scss +20 -0
  694. data/app/packs/stylesheets/decidim/_tags.scss +11 -0
  695. data/app/packs/stylesheets/decidim/_toggle_switch.scss +77 -0
  696. data/app/packs/stylesheets/decidim/_tooltip.scss +69 -0
  697. data/app/packs/stylesheets/decidim/_tos.scss +7 -0
  698. data/app/packs/stylesheets/decidim/_typography.scss +80 -0
  699. data/app/packs/stylesheets/decidim/_versions.scss +63 -0
  700. data/app/packs/stylesheets/decidim/_vertical_tabs.scss +49 -0
  701. data/app/packs/stylesheets/decidim/_wizard_steps.scss +15 -0
  702. data/app/packs/stylesheets/decidim/application.scss +77 -3
  703. data/app/packs/stylesheets/decidim/decidim_application.scss +0 -2
  704. data/app/packs/stylesheets/decidim/editor.scss +204 -0
  705. data/app/packs/stylesheets/decidim/legacy/MarkerCluster.Default.scss +67 -0
  706. data/app/packs/stylesheets/decidim/legacy/MarkerCluster.scss +18 -0
  707. data/app/packs/stylesheets/decidim/{_variables.scss → legacy/_variables.scss} +7 -7
  708. data/app/packs/stylesheets/decidim/{conference-diploma.scss → legacy/conference-diploma.scss} +11 -11
  709. data/app/packs/stylesheets/decidim/{email.scss → legacy/email.scss} +312 -312
  710. data/app/packs/stylesheets/decidim/{plugins → legacy}/leaflet.scss +222 -202
  711. data/app/packs/stylesheets/decidim/map.scss +65 -3
  712. data/app/permissions/decidim/permissions.rb +2 -2
  713. data/app/presenters/decidim/admin_log/area_presenter.rb +2 -2
  714. data/app/presenters/decidim/admin_log/area_type_presenter.rb +2 -2
  715. data/app/presenters/decidim/admin_log/attachment_collection_presenter.rb +2 -2
  716. data/app/presenters/decidim/admin_log/attachment_presenter.rb +2 -2
  717. data/app/presenters/decidim/admin_log/category_presenter.rb +2 -2
  718. data/app/presenters/decidim/admin_log/component_presenter.rb +2 -2
  719. data/app/presenters/decidim/admin_log/contextual_help_section_presenter.rb +2 -2
  720. data/app/presenters/decidim/admin_log/impersonation_log_presenter.rb +2 -2
  721. data/app/presenters/decidim/admin_log/moderation_presenter.rb +2 -2
  722. data/app/presenters/decidim/admin_log/newsletter_presenter.rb +2 -2
  723. data/app/presenters/decidim/admin_log/oauth_application_presenter.rb +2 -2
  724. data/app/presenters/decidim/admin_log/oauth_application_resource_presenter.rb +1 -1
  725. data/app/presenters/decidim/admin_log/organization_presenter.rb +3 -4
  726. data/app/presenters/decidim/admin_log/participatory_space_private_user_presenter.rb +2 -2
  727. data/app/presenters/decidim/admin_log/scope_presenter.rb +2 -2
  728. data/app/presenters/decidim/admin_log/scope_type_presenter.rb +2 -2
  729. data/app/presenters/decidim/admin_log/static_page_presenter.rb +2 -2
  730. data/app/presenters/decidim/admin_log/user_group_presenter.rb +2 -2
  731. data/app/presenters/decidim/admin_log/user_moderation_presenter.rb +2 -2
  732. data/app/presenters/decidim/admin_log/user_presenter.rb +2 -2
  733. data/app/presenters/decidim/area_presenter.rb +6 -0
  734. data/app/presenters/decidim/authorization_transfer_presenter.rb +57 -0
  735. data/app/presenters/decidim/breadcrumb_root_menu_item_presenter.rb +25 -0
  736. data/app/presenters/decidim/breadcrumb_root_menu_presenter.rb +18 -0
  737. data/app/presenters/decidim/footer_menu_presenter.rb +12 -0
  738. data/app/presenters/decidim/hashtag_presenter.rb +1 -1
  739. data/app/presenters/decidim/log/base_presenter.rb +13 -6
  740. data/app/presenters/decidim/log/diff_presenter.rb +9 -8
  741. data/app/presenters/decidim/log/resource_presenter.rb +2 -8
  742. data/app/presenters/decidim/log/space_presenter.rb +1 -1
  743. data/app/presenters/decidim/log/user_presenter.rb +3 -7
  744. data/app/presenters/decidim/log/value_types/default_presenter.rb +2 -2
  745. data/app/presenters/decidim/menu_item_presenter.rb +11 -3
  746. data/app/presenters/decidim/menu_presenter.rb +11 -3
  747. data/app/presenters/decidim/metric_charts_presenter.rb +25 -46
  748. data/app/presenters/decidim/nil_presenter.rb +4 -2
  749. data/app/presenters/decidim/notification_presenter.rb +1 -1
  750. data/app/presenters/decidim/notification_to_mailer_presenter.rb +5 -14
  751. data/app/presenters/decidim/notifications_digest_presenter.rb +1 -1
  752. data/app/presenters/decidim/official_author_presenter.rb +4 -0
  753. data/app/presenters/decidim/participatory_space_manifest_presenter.rb +24 -0
  754. data/app/presenters/decidim/resource_presenter.rb +18 -1
  755. data/app/presenters/decidim/stats_presenter.rb +54 -0
  756. data/app/presenters/decidim/user_group_presenter.rb +4 -0
  757. data/app/presenters/decidim/user_presenter.rb +4 -2
  758. data/app/queries/decidim/last_activity.rb +1 -1
  759. data/app/queries/decidim/metric_manage.rb +1 -1
  760. data/app/queries/decidim/participatory_processes_with_user_role.rb +2 -2
  761. data/app/queries/decidim/participatory_space_last_activity.rb +18 -0
  762. data/app/queries/decidim/public_activities.rb +1 -1
  763. data/app/queries/decidim/public_components.rb +2 -2
  764. data/app/queries/decidim/similar_emendations.rb +1 -1
  765. data/app/resolvers/decidim/core/metric_resolver.rb +1 -1
  766. data/app/scrubbers/decidim/admin_input_scrubber.rb +1 -1
  767. data/app/scrubbers/decidim/newsletter_scrubber.rb +1 -1
  768. data/app/serializers/decidim/exporters/serializer.rb +2 -2
  769. data/app/services/decidim/action_authorizer.rb +3 -3
  770. data/app/services/decidim/action_logger.rb +11 -11
  771. data/app/services/decidim/base_diff_renderer.rb +5 -5
  772. data/app/services/decidim/content_blocks_creator.rb +89 -0
  773. data/app/services/decidim/email_notification_generator.rb +3 -3
  774. data/app/services/decidim/engine_resolver.rb +2 -2
  775. data/app/services/decidim/events_manager.rb +6 -12
  776. data/app/services/decidim/log/diff_changeset_calculator.rb +3 -3
  777. data/app/services/decidim/log_reference_generator.rb +31 -0
  778. data/app/services/decidim/notification_generator.rb +3 -3
  779. data/app/services/decidim/notification_generator_for_recipient.rb +2 -2
  780. data/app/services/decidim/open_data_exporter.rb +3 -3
  781. data/app/services/decidim/send_push_notification.rb +13 -27
  782. data/app/services/decidim/static_map_generator.rb +4 -4
  783. data/app/uploaders/decidim/application_uploader.rb +1 -1
  784. data/app/uploaders/decidim/avatar_uploader.rb +2 -2
  785. data/app/uploaders/decidim/cw/application_uploader.rb +1 -1
  786. data/app/uploaders/decidim/image_uploader.rb +1 -1
  787. data/app/uploaders/decidim/organization_favicon_uploader.rb +15 -2
  788. data/app/validators/etiquette_validator.rb +1 -1
  789. data/app/validators/geocoding_validator.rb +1 -1
  790. data/app/validators/password_validator.rb +16 -12
  791. data/app/validators/uploader_image_dimensions_validator.rb +3 -3
  792. data/app/views/decidim/account/_account_notification.js.erb +4 -18
  793. data/app/views/decidim/account/_delete_modal.html.erb +17 -0
  794. data/app/views/decidim/account/_old_password_field.html.erb +15 -0
  795. data/app/views/decidim/account/_password_fields.html.erb +13 -2
  796. data/app/views/decidim/account/cancel_email_change.js.erb +1 -1
  797. data/app/views/decidim/account/delete.html.erb +23 -30
  798. data/app/views/decidim/account/show.html.erb +48 -33
  799. data/app/views/decidim/amendments/_edit_form_fields.html.erb +1 -3
  800. data/app/views/decidim/amendments/_wizard_header.html.erb +17 -0
  801. data/app/views/decidim/amendments/compare_draft.html.erb +14 -17
  802. data/app/views/decidim/amendments/edit_draft.html.erb +23 -25
  803. data/app/views/decidim/amendments/new.html.erb +21 -24
  804. data/app/views/decidim/amendments/preview_draft.html.erb +24 -25
  805. data/app/views/decidim/amendments/review.html.erb +26 -37
  806. data/app/views/decidim/application/_collection.html.erb +18 -15
  807. data/app/views/decidim/application/_document.html.erb +23 -0
  808. data/app/views/decidim/application/_documents.html.erb +13 -0
  809. data/app/views/decidim/authorization_modals/show.html.erb +1 -5
  810. data/app/views/decidim/devise/confirmations/new.html.erb +19 -25
  811. data/app/views/decidim/devise/invitations/edit.html.erb +42 -69
  812. data/app/views/decidim/devise/omniauth_registrations/new.html.erb +34 -45
  813. data/app/views/decidim/devise/passwords/edit.html.erb +23 -32
  814. data/app/views/decidim/devise/passwords/new.html.erb +20 -24
  815. data/app/views/decidim/devise/registrations/new.html.erb +59 -83
  816. data/app/views/decidim/devise/sessions/new.html.erb +52 -53
  817. data/app/views/decidim/devise/shared/_links.html.erb +5 -15
  818. data/app/views/decidim/devise/shared/_login_boxes.html.erb +28 -0
  819. data/app/views/decidim/devise/shared/_newsletter_modal.html.erb +15 -23
  820. data/app/views/decidim/devise/shared/_omniauth_buttons.html.erb +13 -19
  821. data/app/views/decidim/devise/unlocks/new.html.erb +20 -26
  822. data/app/views/decidim/doorkeeper/authorizations/new.html.erb +53 -57
  823. data/app/views/decidim/download_your_data/show.html.erb +15 -7
  824. data/app/views/decidim/endorsements/_identity.html.erb +4 -9
  825. data/app/views/decidim/endorsements/identities.html.erb +16 -10
  826. data/app/views/decidim/endorsements/update_buttons_and_counters.js.erb +24 -17
  827. data/app/views/decidim/errors/internal_server_error.html.erb +32 -8
  828. data/app/views/decidim/errors/not_found.html.erb +15 -11
  829. data/app/views/decidim/follows/update_button.js.erb +8 -1
  830. data/app/views/decidim/gamification/badges/index.html.erb +5 -7
  831. data/app/views/decidim/group_invites/index.html.erb +20 -24
  832. data/app/views/decidim/groups/_form.html.erb +15 -24
  833. data/app/views/decidim/groups/edit.html.erb +13 -22
  834. data/app/views/decidim/groups/new.html.erb +16 -24
  835. data/app/views/decidim/homepage/show.html.erb +6 -4
  836. data/app/views/decidim/last_activities/_activities.html.erb +4 -11
  837. data/app/views/decidim/last_activities/index.html.erb +8 -13
  838. data/app/views/decidim/last_activities/index.js.erb +7 -2
  839. data/app/views/decidim/links/_modal.html.erb +18 -19
  840. data/app/views/decidim/links/new.html.erb +16 -22
  841. data/app/views/decidim/links/new.js.erb +22 -6
  842. data/app/views/decidim/manifests/show.json.erb +2 -2
  843. data/app/views/decidim/messaging/conversations/_add_conversation_users.html.erb +18 -22
  844. data/app/views/decidim/messaging/conversations/_conversation.html.erb +39 -53
  845. data/app/views/decidim/messaging/conversations/_messages.html.erb +15 -19
  846. data/app/views/decidim/messaging/conversations/_new_conversation_button.html.erb +20 -32
  847. data/app/views/decidim/messaging/conversations/_reply.html.erb +7 -10
  848. data/app/views/decidim/messaging/conversations/_reply_form.html.erb +9 -0
  849. data/app/views/decidim/messaging/conversations/_show.html.erb +29 -35
  850. data/app/views/decidim/messaging/conversations/_start.html.erb +9 -14
  851. data/app/views/decidim/messaging/conversations/create.js.erb +1 -1
  852. data/app/views/decidim/messaging/conversations/error.js.erb +1 -1
  853. data/app/views/decidim/messaging/conversations/index.html.erb +17 -51
  854. data/app/views/decidim/messaging/conversations/new.html.erb +1 -2
  855. data/app/views/decidim/messaging/conversations/show.html.erb +3 -9
  856. data/app/views/decidim/newsletters/show.html.erb +1 -1
  857. data/app/views/decidim/newsletters_opt_in_mailer/notify.html.erb +1 -1
  858. data/app/views/decidim/notifications/index.html.erb +15 -4
  859. data/app/views/decidim/notifications_digest_mailer/_email_content.html.erb +0 -7
  860. data/app/views/decidim/notifications_digest_mailer/digest_mail.erb +2 -2
  861. data/app/views/decidim/notifications_settings/show.html.erb +169 -70
  862. data/app/views/decidim/own_user_groups/index.html.erb +9 -29
  863. data/app/views/decidim/pages/_standalone.html.erb +17 -15
  864. data/app/views/decidim/pages/_tabbed.html.erb +38 -38
  865. data/app/views/decidim/pages/index.html.erb +48 -64
  866. data/app/views/decidim/pages/show.html.erb +9 -9
  867. data/app/views/decidim/profiles/show.html.erb +9 -1
  868. data/app/views/decidim/reported_mailer/report.html.erb +1 -1
  869. data/app/views/decidim/scopes/_scopes_picker_input.html.erb +1 -1
  870. data/app/views/decidim/scopes/picker.html.erb +7 -4
  871. data/app/views/decidim/searches/_count.html.erb +19 -28
  872. data/app/views/decidim/searches/_filters.html.erb +41 -27
  873. data/app/views/decidim/searches/_resources_filter_block.html.erb +3 -3
  874. data/app/views/decidim/searches/index.html.erb +18 -12
  875. data/app/views/decidim/searches/index.js.erb +1 -7
  876. data/app/views/decidim/shared/_authorization_modal.html.erb +1 -1
  877. data/app/views/decidim/shared/_component_announcement.html.erb +5 -4
  878. data/app/views/decidim/shared/_confirm_modal.html.erb +15 -16
  879. data/app/views/decidim/shared/_extended_navigation_bar.html.erb +2 -2
  880. data/app/views/decidim/shared/_filters.html.erb +42 -0
  881. data/app/views/decidim/shared/_floating_help.html.erb +13 -27
  882. data/app/views/decidim/shared/_follow_button.html.erb +2 -1
  883. data/app/views/decidim/shared/_login_modal.html.erb +46 -50
  884. data/app/views/decidim/shared/_orders.html.erb +12 -26
  885. data/app/views/decidim/shared/_results_per_page.html.erb +24 -26
  886. data/app/views/decidim/shared/_share_modal.html.erb +21 -44
  887. data/app/views/decidim/shared/_static_map.html.erb +4 -17
  888. data/app/views/decidim/shared/_tags.html.erb +1 -1
  889. data/app/views/decidim/shared/filters/_check_boxes_tree.html.erb +12 -0
  890. data/app/views/decidim/shared/filters/_collection.html.erb +18 -0
  891. data/app/views/decidim/shared/filters/_dropdown_label.html.erb +46 -0
  892. data/app/views/decidim/user_activities/index.html.erb +15 -7
  893. data/app/views/decidim/user_activities/index.js.erb +1 -3
  894. data/app/views/decidim/user_conversations/index.html.erb +3 -3
  895. data/app/views/decidim/user_conversations/show.html.erb +3 -3
  896. data/app/views/decidim/user_interests/_scopes.html.erb +21 -16
  897. data/app/views/decidim/user_interests/show.html.erb +20 -13
  898. data/app/views/decidim/user_update_mailer/notify.html.erb +9 -0
  899. data/app/views/kaminari/decidim/_gap.html.erb +1 -1
  900. data/app/views/kaminari/decidim/_next_page.html.erb +8 -7
  901. data/app/views/kaminari/decidim/_page.html.erb +2 -2
  902. data/app/views/kaminari/decidim/_paginator.html.erb +3 -3
  903. data/app/views/kaminari/decidim/_prev_page.html.erb +8 -7
  904. data/app/views/layouts/decidim/_admin_links.html.erb +11 -2
  905. data/app/views/layouts/decidim/_application.html.erb +6 -1
  906. data/app/views/layouts/decidim/_cors.html.erb +8 -4
  907. data/app/views/layouts/decidim/_data_consent_warning.html.erb +2 -2
  908. data/app/views/layouts/decidim/_decidim_javascript.html.erb +6 -3
  909. data/app/views/layouts/decidim/_head.html.erb +7 -3
  910. data/app/views/layouts/decidim/_impersonation_warning.html.erb +7 -5
  911. data/app/views/layouts/decidim/_js_configuration.html.erb +7 -8
  912. data/app/views/layouts/decidim/_meta_tags_config.html.erb +6 -6
  913. data/app/views/layouts/decidim/_offline_banner.html.erb +3 -3
  914. data/app/views/layouts/decidim/_omnipresent_banner.html.erb +10 -12
  915. data/app/views/layouts/decidim/_organization_colors.html.erb +2 -3
  916. data/app/views/layouts/decidim/_timeout_modal.html.erb +26 -18
  917. data/app/views/layouts/decidim/_user_menu.html.erb +1 -1
  918. data/app/views/layouts/decidim/_wrapper.html.erb +19 -102
  919. data/app/views/layouts/decidim/footer/_main.html.erb +20 -0
  920. data/app/views/layouts/decidim/footer/_main_intro.html.erb +9 -0
  921. data/app/views/layouts/decidim/footer/_main_language_chooser.html.erb +26 -0
  922. data/app/views/layouts/decidim/footer/_main_legal.html.erb +9 -0
  923. data/app/views/layouts/decidim/footer/_main_links.html.erb +27 -0
  924. data/app/views/layouts/decidim/footer/_main_social_media_links.html.erb +42 -0
  925. data/app/views/layouts/decidim/footer/_mini.html.erb +18 -0
  926. data/app/views/layouts/decidim/header/_follow_space_menu_bar_button.html.erb +7 -0
  927. data/app/views/layouts/decidim/header/_main.html.erb +35 -0
  928. data/app/views/layouts/decidim/header/_main_links_desktop.html.erb +54 -0
  929. data/app/views/layouts/decidim/header/_main_links_dropdown.html.erb +45 -0
  930. data/app/views/layouts/decidim/header/_main_links_mobile.html.erb +36 -0
  931. data/app/views/layouts/decidim/header/_main_links_mobile_account.html.erb +32 -0
  932. data/app/views/layouts/decidim/header/_main_links_mobile_search.html.erb +34 -0
  933. data/app/views/layouts/decidim/header/_main_search.html.erb +15 -0
  934. data/app/views/layouts/decidim/header/_menu.html.erb +20 -0
  935. data/app/views/layouts/decidim/header/_menu_breadcrumb_desktop.html.erb +14 -0
  936. data/app/views/layouts/decidim/header/_menu_breadcrumb_items.html.erb +30 -0
  937. data/app/views/layouts/decidim/header/_menu_breadcrumb_main_dropdown.html.erb +16 -0
  938. data/app/views/layouts/decidim/header/_menu_breadcrumb_main_dropdown_top_left.html.erb +2 -0
  939. data/app/views/layouts/decidim/header/_menu_breadcrumb_mobile_tablet.html.erb +33 -0
  940. data/app/views/layouts/decidim/mailer.html.erb +16 -12
  941. data/app/views/layouts/decidim/newsletter_base.html.erb +2 -2
  942. data/app/views/layouts/decidim/shared/_layout_center.html.erb +15 -0
  943. data/app/views/layouts/decidim/shared/_layout_item.html.erb +35 -0
  944. data/app/views/layouts/decidim/shared/_layout_two_col.html.erb +12 -0
  945. data/app/views/layouts/decidim/shared/_layout_user_profile.html.erb +27 -0
  946. data/app/views/layouts/decidim/shared/_linked_resource.html.erb +6 -0
  947. data/app/views/layouts/decidim/user_profile.html.erb +1 -32
  948. data/config/assets.rb +1 -0
  949. data/config/brakeman.ignore +4 -116
  950. data/config/initializers/devise.rb +10 -10
  951. data/config/locales/ar.yml +98 -333
  952. data/config/locales/bg.yml +2 -748
  953. data/config/locales/ca.yml +434 -288
  954. data/config/locales/cs.yml +417 -273
  955. data/config/locales/de.yml +431 -283
  956. data/config/locales/el.yml +108 -267
  957. data/config/locales/en.yml +440 -294
  958. data/config/locales/eo.yml +0 -18
  959. data/config/locales/es-MX.yml +416 -271
  960. data/config/locales/es-PY.yml +419 -274
  961. data/config/locales/es.yml +426 -280
  962. data/config/locales/eu.yml +425 -295
  963. data/config/locales/fi-plain.yml +388 -244
  964. data/config/locales/fi.yml +411 -267
  965. data/config/locales/fr-CA.yml +410 -259
  966. data/config/locales/fr.yml +414 -263
  967. data/config/locales/ga-IE.yml +1 -63
  968. data/config/locales/gl.yml +1 -241
  969. data/config/locales/hu.yml +137 -322
  970. data/config/locales/id-ID.yml +0 -222
  971. data/config/locales/is-IS.yml +0 -78
  972. data/config/locales/it.yml +5 -317
  973. data/config/locales/ja.yml +403 -270
  974. data/config/locales/kaa.yml +4 -5
  975. data/config/locales/lb.yml +5 -308
  976. data/config/locales/lt.yml +359 -263
  977. data/config/locales/lv.yml +2 -274
  978. data/config/locales/nl.yml +6 -312
  979. data/config/locales/no.yml +6 -322
  980. data/config/locales/pl.yml +1 -486
  981. data/config/locales/pt-BR.yml +45 -560
  982. data/config/locales/pt.yml +5 -308
  983. data/config/locales/ro-RO.yml +46 -307
  984. data/config/locales/ru.yml +0 -154
  985. data/config/locales/sk.yml +2 -245
  986. data/config/locales/sl.yml +1 -10
  987. data/config/locales/sr-CS.yml +0 -20
  988. data/config/locales/sv.yml +220 -400
  989. data/config/locales/tr-TR.yml +39 -301
  990. data/config/locales/uk.yml +0 -128
  991. data/config/locales/zh-CN.yml +5 -280
  992. data/config/locales/zh-TW.yml +165 -214
  993. data/config/routes.rb +6 -5
  994. data/db/migrate/20180508111640_add_tos_version_to_organization.rb +2 -2
  995. data/db/migrate/20180730071851_add_core_content_blocks.rb +1 -1
  996. data/db/migrate/20180810092428_move_organization_fields_to_hero_content_block.rb +1 -1
  997. data/db/migrate/20181001124950_move_users_groups_to_users_table.rb +1 -1
  998. data/db/migrate/20181022090732_add_columns_to_pages.rb +1 -1
  999. data/db/migrate/20190412131728_fix_user_names.rb +1 -1
  1000. data/db/migrate/20201128130723_add_allow_public_access_to_static_pages.rb +1 -1
  1001. data/db/migrate/20220629194812_create_decidim_authorization_transfers.rb +20 -0
  1002. data/db/migrate/20230322101707_rename_terms_of_use.rb +23 -0
  1003. data/db/migrate/20230409123300_add_content_policy_to_decidim_organizations.rb +7 -0
  1004. data/db/migrate/20230427105700_change_states_on_amendments.rb +34 -0
  1005. data/db/migrate/20230427105701_change_states_on_reminder_records.rb +33 -0
  1006. data/db/migrate/20231123111229_remove_official_img_header.rb +11 -0
  1007. data/db/seeds/Exampledocument.pdf +0 -0
  1008. data/db/seeds/city.jpeg +0 -0
  1009. data/db/seeds/city2.jpeg +0 -0
  1010. data/db/seeds/logo.png +0 -0
  1011. data/db/seeds.rb +2 -223
  1012. data/lib/decidim/acts_as_tree.rb +2 -15
  1013. data/lib/decidim/amendable.rb +2 -2
  1014. data/lib/decidim/api/functions/component_finder_base.rb +1 -1
  1015. data/lib/decidim/api/functions/component_list.rb +1 -1
  1016. data/lib/decidim/api/functions/component_list_base.rb +1 -1
  1017. data/lib/decidim/api/functions/needs_api_default_order.rb +1 -1
  1018. data/lib/decidim/api/functions/participatory_space_list_base.rb +10 -1
  1019. data/lib/decidim/api/input_filters/category_input_filter.rb +1 -1
  1020. data/lib/decidim/api/interfaces/categories_container_interface.rb +1 -1
  1021. data/lib/decidim/api/interfaces/participatory_space_interface.rb +7 -1
  1022. data/lib/decidim/api/types/attachment_type.rb +3 -1
  1023. data/lib/decidim/api/types/participatory_space_manifest_type.rb +19 -0
  1024. data/lib/decidim/api/types/quantifiable_translated_field_type.rb +12 -0
  1025. data/lib/decidim/api/types/translated_field_type.rb +1 -1
  1026. data/lib/decidim/asset_router/pipeline.rb +1 -1
  1027. data/lib/decidim/asset_router/storage.rb +20 -5
  1028. data/lib/decidim/assets/tailwind/instance.rb +57 -0
  1029. data/lib/decidim/assets/tailwind/tailwind.config.js.erb +80 -0
  1030. data/lib/decidim/assets/tailwind.rb +16 -0
  1031. data/lib/decidim/assets.rb +7 -0
  1032. data/lib/decidim/attribute_encryptor.rb +4 -6
  1033. data/lib/decidim/attribute_object/nested_validator.rb +1 -1
  1034. data/lib/decidim/attribute_object/type_resolver.rb +4 -4
  1035. data/lib/decidim/authorable.rb +2 -2
  1036. data/lib/decidim/block_registry.rb +46 -0
  1037. data/lib/decidim/carrier_wave_migrator_service.rb +28 -36
  1038. data/lib/decidim/coauthorable.rb +4 -4
  1039. data/lib/decidim/command.rb +23 -4
  1040. data/lib/decidim/component_manifest.rb +7 -4
  1041. data/lib/decidim/components/namer.rb +1 -1
  1042. data/lib/decidim/content_block_manifest.rb +2 -1
  1043. data/lib/decidim/content_block_registry.rb +5 -4
  1044. data/lib/decidim/content_blocks/has_related_components.rb +51 -0
  1045. data/lib/decidim/content_blocks.rb +7 -0
  1046. data/lib/decidim/content_parsers/base_parser.rb +2 -0
  1047. data/lib/decidim/content_parsers/hashtag_parser.rb +17 -17
  1048. data/lib/decidim/content_parsers/inline_images_parser.rb +3 -3
  1049. data/lib/decidim/content_parsers/resource_parser.rb +2 -2
  1050. data/lib/decidim/content_parsers/tag_parser.rb +63 -0
  1051. data/lib/decidim/content_parsers/user_group_parser.rb +4 -29
  1052. data/lib/decidim/content_parsers/user_parser.rb +29 -20
  1053. data/lib/decidim/content_parsers.rb +1 -0
  1054. data/lib/decidim/content_processor.rb +26 -1
  1055. data/lib/decidim/content_renderers/base_renderer.rb +2 -0
  1056. data/lib/decidim/content_renderers/hashtag_renderer.rb +6 -3
  1057. data/lib/decidim/content_renderers/link_renderer.rb +15 -5
  1058. data/lib/decidim/content_renderers/user_group_renderer.rb +8 -9
  1059. data/lib/decidim/content_renderers/user_renderer.rb +33 -5
  1060. data/lib/decidim/content_security_policy.rb +132 -0
  1061. data/lib/decidim/core/api.rb +2 -0
  1062. data/lib/decidim/core/content_blocks/registry_manager.rb +188 -0
  1063. data/lib/decidim/core/engine.rb +324 -206
  1064. data/lib/decidim/core/menu.rb +68 -0
  1065. data/lib/decidim/core/seeds.rb +247 -0
  1066. data/lib/decidim/core/test/factories.rb +144 -326
  1067. data/lib/decidim/core/test/shared_examples/active_support_examples.rb +14 -0
  1068. data/lib/decidim/core/test/shared_examples/admin_log_presenter_examples.rb +3 -3
  1069. data/lib/decidim/core/test/shared_examples/amendable/amendment_created_event_examples.rb +26 -6
  1070. data/lib/decidim/core/test/shared_examples/amendable/amendment_event_examples.rb +20 -0
  1071. data/lib/decidim/core/test/shared_examples/amendable/amendment_form_examples.rb +4 -4
  1072. data/lib/decidim/core/test/shared_examples/amendable/amendment_promoted_event_examples.rb +26 -8
  1073. data/lib/decidim/core/test/shared_examples/amendable/amendment_rejected_event_examples.rb +6 -25
  1074. data/lib/decidim/core/test/shared_examples/amendable/create_amendment_draft_examples.rb +1 -1
  1075. data/lib/decidim/core/test/shared_examples/announcements_examples.rb +3 -3
  1076. data/lib/decidim/core/test/shared_examples/assembly_announcements_examples.rb +8 -4
  1077. data/lib/decidim/core/test/shared_examples/authorable.rb +2 -2
  1078. data/lib/decidim/core/test/shared_examples/authorable_interface_examples.rb +3 -3
  1079. data/lib/decidim/core/test/shared_examples/authorization_shared_context.rb +34 -0
  1080. data/lib/decidim/core/test/shared_examples/categorizable_interface_examples.rb +1 -1
  1081. data/lib/decidim/core/test/shared_examples/coauthorable.rb +2 -2
  1082. data/lib/decidim/core/test/shared_examples/coauthorable_interface_examples.rb +3 -3
  1083. data/lib/decidim/core/test/shared_examples/comments_examples.rb +224 -183
  1084. data/lib/decidim/core/test/shared_examples/comments_reports_examples.rb +11 -21
  1085. data/lib/decidim/core/test/shared_examples/controller_render_views.rb +2 -2
  1086. data/lib/decidim/core/test/shared_examples/conversations_examples.rb +1 -1
  1087. data/lib/decidim/core/test/shared_examples/counts_commentators_as_newsletter_participants.rb +1 -1
  1088. data/lib/decidim/core/test/shared_examples/digest_mail_examples.rb +3 -3
  1089. data/lib/decidim/core/test/shared_examples/edit_link_shared_examples.rb +8 -8
  1090. data/lib/decidim/core/test/shared_examples/editor_shared_examples.rb +13 -2
  1091. data/lib/decidim/core/test/shared_examples/endorsable.rb +5 -5
  1092. data/lib/decidim/core/test/shared_examples/endorsements_controller_shared_context.rb +1 -1
  1093. data/lib/decidim/core/test/shared_examples/errors.rb +1 -1
  1094. data/lib/decidim/core/test/shared_examples/fingerprint_examples.rb +2 -2
  1095. data/lib/decidim/core/test/shared_examples/follows_examples.rb +10 -7
  1096. data/lib/decidim/core/test/shared_examples/form_builder_examples.rb +15 -0
  1097. data/lib/decidim/core/test/shared_examples/has_attachment_collections.rb +17 -25
  1098. data/lib/decidim/core/test/shared_examples/has_attachments.rb +62 -15
  1099. data/lib/decidim/core/test/shared_examples/has_category.rb +0 -27
  1100. data/lib/decidim/core/test/shared_examples/has_contextual_help.rb +11 -5
  1101. data/lib/decidim/core/test/shared_examples/has_private_users.rb +1 -1
  1102. data/lib/decidim/core/test/shared_examples/has_reference.rb +1 -1
  1103. data/lib/decidim/core/test/shared_examples/has_space_in_mcell_examples.rb +1 -1
  1104. data/lib/decidim/core/test/shared_examples/hideable_resource_examples.rb +43 -0
  1105. data/lib/decidim/core/test/shared_examples/localised_email.rb +2 -2
  1106. data/lib/decidim/core/test/shared_examples/map_examples.rb +21 -15
  1107. data/lib/decidim/core/test/shared_examples/paginated_resource_examples.rb +7 -7
  1108. data/lib/decidim/core/test/shared_examples/participatory_space_dropdown_metadata_cell_examples.rb +99 -0
  1109. data/lib/decidim/core/test/shared_examples/permissions.rb +8 -8
  1110. data/lib/decidim/core/test/shared_examples/preview_component_with_share_token_examples.rb +3 -3
  1111. data/lib/decidim/core/test/shared_examples/process_announcements_examples.rb +12 -6
  1112. data/lib/decidim/core/test/shared_examples/reportable.rb +4 -4
  1113. data/lib/decidim/core/test/shared_examples/reports_examples.rb +114 -31
  1114. data/lib/decidim/core/test/shared_examples/resource_endorsed_event_examples.rb +3 -6
  1115. data/lib/decidim/core/test/shared_examples/resource_search_examples.rb +17 -17
  1116. data/lib/decidim/core/test/shared_examples/scopable_interface_examples.rb +1 -1
  1117. data/lib/decidim/core/test/shared_examples/scopable_resource_examples.rb +2 -2
  1118. data/lib/decidim/core/test/shared_examples/scope_helper_examples.rb +6 -6
  1119. data/lib/decidim/core/test/shared_examples/searchable_participatory_space_examples.rb +9 -9
  1120. data/lib/decidim/core/test/shared_examples/searchable_resources_shared_context.rb +2 -2
  1121. data/lib/decidim/core/test/shared_examples/searchable_results_examples.rb +22 -21
  1122. data/lib/decidim/core/test/shared_examples/share_link_examples.rb +8 -15
  1123. data/lib/decidim/core/test/shared_examples/simple_event.rb +8 -27
  1124. data/lib/decidim/core/test/shared_examples/static_pages_examples.rb +3 -3
  1125. data/lib/decidim/core/test/shared_examples/statistics_cell_examples.rb +13 -0
  1126. data/lib/decidim/core/test/shared_examples/system_endorse_resource_examples.rb +24 -36
  1127. data/lib/decidim/core/test/shared_examples/translated_event_examples.rb +1 -1
  1128. data/lib/decidim/core/test/shared_examples/uncommentable_component_examples.rb +3 -3
  1129. data/lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb +1 -1
  1130. data/lib/decidim/core/test.rb +5 -5
  1131. data/lib/decidim/core/version.rb +1 -1
  1132. data/lib/decidim/core.rb +112 -29
  1133. data/lib/decidim/dependency_resolver.rb +4 -4
  1134. data/lib/decidim/download_your_data_serializers/download_your_data_conversation_serializer.rb +1 -1
  1135. data/lib/decidim/endorsable.rb +1 -1
  1136. data/lib/decidim/engine_router.rb +4 -17
  1137. data/lib/decidim/event_recorder.rb +1 -1
  1138. data/lib/decidim/events/base_event.rb +2 -9
  1139. data/lib/decidim/events/email_event.rb +4 -4
  1140. data/lib/decidim/events/machine_translated_event.rb +1 -1
  1141. data/lib/decidim/events/notification_event.rb +2 -2
  1142. data/lib/decidim/events/simple_event.rb +25 -11
  1143. data/lib/decidim/exporters/csv.rb +1 -1
  1144. data/lib/decidim/exporters/pdf.rb +5 -5
  1145. data/lib/decidim/faker/localized.rb +1 -1
  1146. data/lib/decidim/filter_form_builder.rb +43 -76
  1147. data/lib/decidim/fingerprintable.rb +1 -1
  1148. data/lib/decidim/form_builder.rb +128 -100
  1149. data/lib/decidim/gamification/badge.rb +4 -4
  1150. data/lib/decidim/gamification/badge_earned_event.rb +1 -1
  1151. data/lib/decidim/gamification/badge_registry.rb +3 -3
  1152. data/lib/decidim/gamification/badge_scorer.rb +6 -6
  1153. data/lib/decidim/gamification.rb +3 -3
  1154. data/lib/decidim/geocodable.rb +3 -3
  1155. data/lib/decidim/has_category.rb +1 -1
  1156. data/lib/decidim/has_reference.rb +1 -1
  1157. data/lib/decidim/icon_registry.rb +54 -0
  1158. data/lib/decidim/importers/import_manifest.rb +3 -3
  1159. data/lib/decidim/map/autocomplete.rb +1 -10
  1160. data/lib/decidim/map/dynamic_map.rb +6 -9
  1161. data/lib/decidim/map/frontend.rb +2 -12
  1162. data/lib/decidim/map/provider/autocomplete/here.rb +3 -3
  1163. data/lib/decidim/map/provider/autocomplete/osm.rb +3 -3
  1164. data/lib/decidim/map/provider/dynamic_map/here.rb +5 -4
  1165. data/lib/decidim/map/provider/static_map/here.rb +3 -3
  1166. data/lib/decidim/map/provider/static_map/osm.rb +3 -3
  1167. data/lib/decidim/map/static_map.rb +19 -16
  1168. data/lib/decidim/menu.rb +2 -0
  1169. data/lib/decidim/menu_registry.rb +2 -2
  1170. data/lib/decidim/metric_manifest.rb +1 -1
  1171. data/lib/decidim/metric_operation.rb +3 -3
  1172. data/lib/decidim/metric_registry.rb +3 -3
  1173. data/lib/decidim/middleware/current_organization.rb +1 -1
  1174. data/lib/decidim/middleware/static_dispatcher.rb +31 -0
  1175. data/lib/decidim/moderation_tools.rb +91 -0
  1176. data/lib/decidim/nicknamizable.rb +2 -2
  1177. data/lib/decidim/organization_settings.rb +7 -16
  1178. data/lib/decidim/paddable.rb +1 -1
  1179. data/lib/decidim/participable.rb +1 -18
  1180. data/lib/decidim/participatory_space_manifest.rb +15 -7
  1181. data/lib/decidim/participatory_space_resourceable.rb +2 -2
  1182. data/lib/decidim/participatory_space_user.rb +50 -0
  1183. data/lib/decidim/processes_file_locally.rb +1 -1
  1184. data/lib/decidim/publicable.rb +1 -3
  1185. data/lib/decidim/query.rb +2 -2
  1186. data/lib/decidim/query_extensions.rb +7 -7
  1187. data/lib/decidim/reminder_manifest.rb +3 -3
  1188. data/lib/decidim/reminder_registry.rb +2 -2
  1189. data/lib/decidim/reportable.rb +15 -1
  1190. data/lib/decidim/resource_manifest.rb +6 -3
  1191. data/lib/decidim/resourceable.rb +5 -5
  1192. data/lib/decidim/scopable.rb +1 -1
  1193. data/lib/decidim/searchable.rb +18 -5
  1194. data/lib/decidim/seeds.rb +95 -0
  1195. data/lib/decidim/settings_manifest.rb +9 -2
  1196. data/lib/decidim/social_share_service_manifest.rb +77 -0
  1197. data/lib/decidim/stats_registry.rb +2 -2
  1198. data/lib/decidim/translatable_attributes.rb +2 -2
  1199. data/lib/decidim/translatable_resource.rb +3 -3
  1200. data/lib/decidim/upgrade/wysiwyg_migrator.rb +429 -0
  1201. data/lib/decidim/upgrade.rb +7 -0
  1202. data/lib/decidim/user_reportable.rb +1 -1
  1203. data/lib/decidim/view_hooks.rb +2 -2
  1204. data/lib/decidim/view_model.rb +28 -4
  1205. data/lib/decidim/webpacker/configuration.rb +4 -3
  1206. data/lib/decidim/webpacker/postcss.config.js +4 -2
  1207. data/lib/decidim/webpacker/runner.rb +6 -1
  1208. data/lib/decidim/webpacker/{webpacker.yml → shakapacker.yml} +26 -2
  1209. data/lib/decidim/webpacker/webpack/custom.js +25 -9
  1210. data/lib/decidim/webpacker/webpack/webpack.config.js +10 -0
  1211. data/lib/decidim/webpacker.rb +1 -1
  1212. data/lib/devise/models/decidim_validatable.rb +4 -5
  1213. data/lib/gem_overrides/{webpacker → shakapacker}/runner.rb +2 -2
  1214. data/lib/premailer/adapter/decidim.rb +4 -5
  1215. data/lib/tasks/decidim_active_storage_migration_tasks.rake +18 -13
  1216. data/lib/tasks/decidim_content_blocks_tasks.rake +48 -0
  1217. data/lib/tasks/decidim_mailers_tasks.rake +1 -1
  1218. data/lib/tasks/decidim_procfile.rake +36 -0
  1219. data/lib/tasks/decidim_pwa_tasks.rake +2 -2
  1220. data/lib/tasks/decidim_reminders_tasks.rake +0 -1
  1221. data/lib/tasks/decidim_robots.rake +15 -0
  1222. data/lib/tasks/decidim_tasks.rake +9 -1
  1223. data/lib/tasks/decidim_webpacker_tasks.rake +49 -11
  1224. data/lib/tasks/upgrade/decidim_migrate_wysiwyg_content.rake +89 -0
  1225. metadata +520 -385
  1226. data/app/cells/decidim/address/details.erb +0 -7
  1227. data/app/cells/decidim/amendable/amenders_list_cell.rb +0 -33
  1228. data/app/cells/decidim/author/profile.erb +0 -9
  1229. data/app/cells/decidim/author/profile_inline.erb +0 -39
  1230. data/app/cells/decidim/card_m/badge.erb +0 -1
  1231. data/app/cells/decidim/card_m/comments_counter.erb +0 -3
  1232. data/app/cells/decidim/card_m/header.erb +0 -17
  1233. data/app/cells/decidim/card_m/image.erb +0 -5
  1234. data/app/cells/decidim/card_m/label.erb +0 -3
  1235. data/app/cells/decidim/card_m/show.erb +0 -23
  1236. data/app/cells/decidim/card_m/status.erb +0 -9
  1237. data/app/cells/decidim/card_m/tags.erb +0 -0
  1238. data/app/cells/decidim/card_m/top.erb +0 -7
  1239. data/app/cells/decidim/card_m_cell.rb +0 -156
  1240. data/app/cells/decidim/collapsible_list/show.erb +0 -28
  1241. data/app/cells/decidim/collapsible_list_cell.rb +0 -69
  1242. data/app/cells/decidim/content_blocks/highlighted_elements/elements.erb +0 -0
  1243. data/app/cells/decidim/content_blocks/highlighted_elements/heading.erb +0 -0
  1244. data/app/cells/decidim/content_blocks/highlighted_elements/show.erb +0 -4
  1245. data/app/cells/decidim/content_blocks/metrics/show.erb +0 -13
  1246. data/app/cells/decidim/content_blocks/metrics_cell.rb +0 -11
  1247. data/app/cells/decidim/fingerprint/show.erb +0 -22
  1248. data/app/cells/decidim/fingerprint_cell.rb +0 -19
  1249. data/app/cells/decidim/notification/moderated.erb +0 -24
  1250. data/app/cells/decidim/profile/user_group_tabs.erb +0 -10
  1251. data/app/cells/decidim/profile/user_tabs.erb +0 -16
  1252. data/app/cells/decidim/statistic/homepage.erb +0 -9
  1253. data/app/cells/decidim/tags/category.erb +0 -1
  1254. data/app/cells/decidim/tags/scope.erb +0 -1
  1255. data/app/cells/decidim/user_conversations/add_conversation_users.erb +0 -26
  1256. data/app/cells/decidim/user_conversations/conversation_item.erb +0 -38
  1257. data/app/cells/decidim/user_group_admin_membership_profile/footer.erb +0 -29
  1258. data/app/cells/decidim/user_group_admin_membership_profile_cell.rb +0 -14
  1259. data/app/cells/decidim/user_group_membership_profile/tags.erb +0 -1
  1260. data/app/cells/decidim/user_group_membership_profile_cell.rb +0 -8
  1261. data/app/cells/decidim/user_profile/footer.erb +0 -5
  1262. data/app/cells/decidim/user_profile/header.erb +0 -5
  1263. data/app/cells/decidim/user_profile/unlinked_user_data.erb +0 -16
  1264. data/app/cells/decidim/user_profile/user_data.erb +0 -16
  1265. data/app/cells/decidim/version_author/show.erb +0 -18
  1266. data/app/controllers/concerns/decidim/devise_authentication_methods.rb +0 -36
  1267. data/app/controllers/concerns/decidim/http_caching_disabler.rb +0 -21
  1268. data/app/controllers/decidim/group_admins_controller.rb +0 -44
  1269. data/app/controllers/decidim/user_timeline_controller.rb +0 -56
  1270. data/app/controllers/decidim/widgets_controller.rb +0 -40
  1271. data/app/helpers/decidim/widget_urls_helper.rb +0 -13
  1272. data/app/jobs/decidim/block_user_job.rb +0 -11
  1273. data/app/models/decidim/push_notification_message.rb +0 -39
  1274. data/app/packs/entrypoints/decidim_email.scss +0 -1
  1275. data/app/packs/fonts/decidim/Roboto-Regular.eot +0 -0
  1276. data/app/packs/fonts/decidim/Roboto-Regular.svg +0 -1
  1277. data/app/packs/fonts/decidim/Roboto-Regular.ttf +0 -0
  1278. data/app/packs/fonts/decidim/Roboto-Regular.woff +0 -0
  1279. data/app/packs/fonts/decidim/Roboto-Regular.woff2 +0 -0
  1280. data/app/packs/fonts/decidim/Source_Sans_Pro_400.eot +0 -0
  1281. data/app/packs/fonts/decidim/Source_Sans_Pro_400.svg +0 -1
  1282. data/app/packs/fonts/decidim/Source_Sans_Pro_400.ttf +0 -0
  1283. data/app/packs/fonts/decidim/Source_Sans_Pro_400.woff +0 -0
  1284. data/app/packs/fonts/decidim/Source_Sans_Pro_400.woff2 +0 -0
  1285. data/app/packs/fonts/decidim/Source_Sans_Pro_600.eot +0 -0
  1286. data/app/packs/fonts/decidim/Source_Sans_Pro_600.svg +0 -1
  1287. data/app/packs/fonts/decidim/Source_Sans_Pro_600.ttf +0 -0
  1288. data/app/packs/fonts/decidim/Source_Sans_Pro_600.woff +0 -0
  1289. data/app/packs/fonts/decidim/Source_Sans_Pro_600.woff2 +0 -0
  1290. data/app/packs/fonts/decidim/Source_Sans_Pro_900.eot +0 -0
  1291. data/app/packs/fonts/decidim/Source_Sans_Pro_900.svg +0 -1
  1292. data/app/packs/fonts/decidim/Source_Sans_Pro_900.ttf +0 -0
  1293. data/app/packs/fonts/decidim/Source_Sans_Pro_900.woff +0 -0
  1294. data/app/packs/fonts/decidim/Source_Sans_Pro_900.woff2 +0 -0
  1295. data/app/packs/images/decidim/.keep +0 -0
  1296. data/app/packs/images/decidim/vendor/social-share-button/delicious.svg +0 -13
  1297. data/app/packs/images/decidim/vendor/social-share-button/google_plus.svg +0 -10
  1298. data/app/packs/images/decidim/vendor/social-share-button/qq.svg +0 -8
  1299. data/app/packs/images/decidim/vendor/social-share-button/weibo.svg +0 -10
  1300. data/app/packs/src/decidim/ajax_modals.js +0 -20
  1301. data/app/packs/src/decidim/conferences.js +0 -15
  1302. data/app/packs/src/decidim/conversations.js +0 -17
  1303. data/app/packs/src/decidim/data_picker.js +0 -273
  1304. data/app/packs/src/decidim/dialog_mode.js +0 -55
  1305. data/app/packs/src/decidim/dialog_mode.test.js +0 -181
  1306. data/app/packs/src/decidim/diff_mode_dropdown.js +0 -49
  1307. data/app/packs/src/decidim/dropdowns_menus.js +0 -30
  1308. data/app/packs/src/decidim/editor/attribute_diff.js +0 -28
  1309. data/app/packs/src/decidim/editor/clipboard_override.js +0 -147
  1310. data/app/packs/src/decidim/editor/clipboard_utilities.js +0 -119
  1311. data/app/packs/src/decidim/editor/history_override.js +0 -110
  1312. data/app/packs/src/decidim/editor/linebreak_module.js +0 -175
  1313. data/app/packs/src/decidim/editor/modified_backspace_offset1.js +0 -96
  1314. data/app/packs/src/decidim/editor/modified_backspace_offset_any.js +0 -46
  1315. data/app/packs/src/decidim/editor/modified_enter.js +0 -116
  1316. data/app/packs/src/decidim/editor.js +0 -151
  1317. data/app/packs/src/decidim/floating_help.js +0 -47
  1318. data/app/packs/src/decidim/form_datepicker.js +0 -21
  1319. data/app/packs/src/decidim/form_filter.component.test.js +0 -299
  1320. data/app/packs/src/decidim/foundation-datepicker/js/locales/foundation-datepicker.lb.js +0 -13
  1321. data/app/packs/src/decidim/foundation_datepicker_locales.js +0 -67
  1322. data/app/packs/src/decidim/map/icon.js +0 -31
  1323. data/app/packs/src/decidim/map/svg-icon.js +0 -248
  1324. data/app/packs/src/decidim/represent_user_group.js +0 -18
  1325. data/app/packs/src/decidim/start_conversation_dialog.js +0 -13
  1326. data/app/packs/src/decidim/tooltip_keep_on_hover.js +0 -18
  1327. data/app/packs/src/decidim/vendor/foundation-datepicker.js +0 -1431
  1328. data/app/packs/src/decidim/vendor/image-resize.min.js +0 -3
  1329. data/app/packs/src/decidim/vendor/image-upload.min.js +0 -8
  1330. data/app/packs/src/decidim/vendor/social-share-button.js +0 -174
  1331. data/app/packs/src/decidim/vizzs/linechart.js +0 -268
  1332. data/app/packs/src/decidim/vizzs/rowchart.js +0 -328
  1333. data/app/packs/stylesheets/decidim/_decidim-settings.scss +0 -7
  1334. data/app/packs/stylesheets/decidim/_decidim.scss +0 -19
  1335. data/app/packs/stylesheets/decidim/_editor.scss +0 -142
  1336. data/app/packs/stylesheets/decidim/_properties.scss +0 -25
  1337. data/app/packs/stylesheets/decidim/extras/_add_comments.scss +0 -9
  1338. data/app/packs/stylesheets/decidim/extras/_announcement.scss +0 -3
  1339. data/app/packs/stylesheets/decidim/extras/_collection-sort-controls.scss +0 -5
  1340. data/app/packs/stylesheets/decidim/extras/_embed.scss +0 -33
  1341. data/app/packs/stylesheets/decidim/extras/_external-links.scss +0 -44
  1342. data/app/packs/stylesheets/decidim/extras/_extras.scss +0 -15
  1343. data/app/packs/stylesheets/decidim/extras/_impersonation-bar.scss +0 -26
  1344. data/app/packs/stylesheets/decidim/extras/_label-required.scss +0 -12
  1345. data/app/packs/stylesheets/decidim/extras/_leaflet.scss +0 -17
  1346. data/app/packs/stylesheets/decidim/extras/_meeting-registrations.scss +0 -25
  1347. data/app/packs/stylesheets/decidim/extras/_proposal_form.scss +0 -9
  1348. data/app/packs/stylesheets/decidim/extras/_quill.scss +0 -13
  1349. data/app/packs/stylesheets/decidim/extras/_reference.scss +0 -3
  1350. data/app/packs/stylesheets/decidim/extras/_results-per-page.scss +0 -74
  1351. data/app/packs/stylesheets/decidim/extras/_social_share.scss +0 -39
  1352. data/app/packs/stylesheets/decidim/extras/_status-labels.scss +0 -3
  1353. data/app/packs/stylesheets/decidim/layouts/_highlighted_banner.scss +0 -34
  1354. data/app/packs/stylesheets/decidim/layouts/_home.scss +0 -371
  1355. data/app/packs/stylesheets/decidim/layouts/_layouts.scss +0 -5
  1356. data/app/packs/stylesheets/decidim/layouts/_logo.scss +0 -26
  1357. data/app/packs/stylesheets/decidim/layouts/_user.scss +0 -64
  1358. data/app/packs/stylesheets/decidim/layouts/_view.scss +0 -21
  1359. data/app/packs/stylesheets/decidim/modules/_address.scss +0 -31
  1360. data/app/packs/stylesheets/decidim/modules/_author-avatar.scss +0 -171
  1361. data/app/packs/stylesheets/decidim/modules/_autocomplete.scss +0 -99
  1362. data/app/packs/stylesheets/decidim/modules/_badges.scss +0 -116
  1363. data/app/packs/stylesheets/decidim/modules/_block-banner.scss +0 -39
  1364. data/app/packs/stylesheets/decidim/modules/_buttons.scss +0 -531
  1365. data/app/packs/stylesheets/decidim/modules/_callout.scss +0 -33
  1366. data/app/packs/stylesheets/decidim/modules/_card-grid.scss +0 -25
  1367. data/app/packs/stylesheets/decidim/modules/_cards.scss +0 -1124
  1368. data/app/packs/stylesheets/decidim/modules/_collapsible-list.scss +0 -60
  1369. data/app/packs/stylesheets/decidim/modules/_comments.scss +0 -307
  1370. data/app/packs/stylesheets/decidim/modules/_conference-diploma.scss +0 -75
  1371. data/app/packs/stylesheets/decidim/modules/_conference-media.scss +0 -46
  1372. data/app/packs/stylesheets/decidim/modules/_conference-nav.scss +0 -31
  1373. data/app/packs/stylesheets/decidim/modules/_conference-programme.scss +0 -109
  1374. data/app/packs/stylesheets/decidim/modules/_conference-registration.scss +0 -34
  1375. data/app/packs/stylesheets/decidim/modules/_conference-speaker.scss +0 -87
  1376. data/app/packs/stylesheets/decidim/modules/_confirm.scss +0 -5
  1377. data/app/packs/stylesheets/decidim/modules/_conversation.scss +0 -113
  1378. data/app/packs/stylesheets/decidim/modules/_data-consent.scss +0 -115
  1379. data/app/packs/stylesheets/decidim/modules/_data-picker.scss +0 -190
  1380. data/app/packs/stylesheets/decidim/modules/_datepicker.scss +0 -224
  1381. data/app/packs/stylesheets/decidim/modules/_definition-data.scss +0 -95
  1382. data/app/packs/stylesheets/decidim/modules/_docs-manager.scss +0 -15
  1383. data/app/packs/stylesheets/decidim/modules/_extra.scss +0 -50
  1384. data/app/packs/stylesheets/decidim/modules/_filter-tags.scss +0 -27
  1385. data/app/packs/stylesheets/decidim/modules/_filters.scss +0 -193
  1386. data/app/packs/stylesheets/decidim/modules/_fingerprint.scss +0 -8
  1387. data/app/packs/stylesheets/decidim/modules/_flag.scss +0 -10
  1388. data/app/packs/stylesheets/decidim/modules/_floating-helper.scss +0 -118
  1389. data/app/packs/stylesheets/decidim/modules/_footer.scss +0 -115
  1390. data/app/packs/stylesheets/decidim/modules/_forms.scss +0 -157
  1391. data/app/packs/stylesheets/decidim/modules/_help.scss +0 -58
  1392. data/app/packs/stylesheets/decidim/modules/_horizontal-tabs.scss +0 -114
  1393. data/app/packs/stylesheets/decidim/modules/_hover-section.scss +0 -29
  1394. data/app/packs/stylesheets/decidim/modules/_icons.scss +0 -56
  1395. data/app/packs/stylesheets/decidim/modules/_inline-filters.scss +0 -66
  1396. data/app/packs/stylesheets/decidim/modules/_input-gallery.scss +0 -35
  1397. data/app/packs/stylesheets/decidim/modules/_input-mentions.scss +0 -142
  1398. data/app/packs/stylesheets/decidim/modules/_input-multiple-mentions.scss +0 -32
  1399. data/app/packs/stylesheets/decidim/modules/_input-tags.scss +0 -55
  1400. data/app/packs/stylesheets/decidim/modules/_layout.scss +0 -82
  1401. data/app/packs/stylesheets/decidim/modules/_list-docs.scss +0 -33
  1402. data/app/packs/stylesheets/decidim/modules/_list-request.scss +0 -16
  1403. data/app/packs/stylesheets/decidim/modules/_loading-spinner.scss +0 -46
  1404. data/app/packs/stylesheets/decidim/modules/_main-container.scss +0 -72
  1405. data/app/packs/stylesheets/decidim/modules/_map.scss +0 -130
  1406. data/app/packs/stylesheets/decidim/modules/_margins.scss +0 -60
  1407. data/app/packs/stylesheets/decidim/modules/_messages.scss +0 -36
  1408. data/app/packs/stylesheets/decidim/modules/_modules.scss +0 -94
  1409. data/app/packs/stylesheets/decidim/modules/_navbar.scss +0 -592
  1410. data/app/packs/stylesheets/decidim/modules/_notification.scss +0 -5
  1411. data/app/packs/stylesheets/decidim/modules/_omnipresent_banner.scss +0 -26
  1412. data/app/packs/stylesheets/decidim/modules/_opinion-toggle.scss +0 -55
  1413. data/app/packs/stylesheets/decidim/modules/_order-by.scss +0 -82
  1414. data/app/packs/stylesheets/decidim/modules/_pagination.scss +0 -6
  1415. data/app/packs/stylesheets/decidim/modules/_process-header.scss +0 -95
  1416. data/app/packs/stylesheets/decidim/modules/_process-info.scss +0 -52
  1417. data/app/packs/stylesheets/decidim/modules/_process-nav.scss +0 -182
  1418. data/app/packs/stylesheets/decidim/modules/_process-phase.scss +0 -173
  1419. data/app/packs/stylesheets/decidim/modules/_progress-bar.scss +0 -73
  1420. data/app/packs/stylesheets/decidim/modules/_reference.scss +0 -5
  1421. data/app/packs/stylesheets/decidim/modules/_reveal.scss +0 -111
  1422. data/app/packs/stylesheets/decidim/modules/_share.scss +0 -34
  1423. data/app/packs/stylesheets/decidim/modules/_signup.scss +0 -119
  1424. data/app/packs/stylesheets/decidim/modules/_space-stats.scss +0 -53
  1425. data/app/packs/stylesheets/decidim/modules/_static-pages.scss +0 -51
  1426. data/app/packs/stylesheets/decidim/modules/_statistics.scss +0 -53
  1427. data/app/packs/stylesheets/decidim/modules/_status-labels.scss +0 -33
  1428. data/app/packs/stylesheets/decidim/modules/_sticky.scss +0 -5
  1429. data/app/packs/stylesheets/decidim/modules/_tags.scss +0 -41
  1430. data/app/packs/stylesheets/decidim/modules/_timeline.scss +0 -181
  1431. data/app/packs/stylesheets/decidim/modules/_title-action.scss +0 -29
  1432. data/app/packs/stylesheets/decidim/modules/_toggle.scss +0 -9
  1433. data/app/packs/stylesheets/decidim/modules/_typography.scss +0 -309
  1434. data/app/packs/stylesheets/decidim/modules/_upload_modal.scss +0 -139
  1435. data/app/packs/stylesheets/decidim/modules/_user-form.scss +0 -15
  1436. data/app/packs/stylesheets/decidim/modules/_versions.scss +0 -74
  1437. data/app/packs/stylesheets/decidim/modules/_video.scss +0 -18
  1438. data/app/packs/stylesheets/decidim/modules/_wizard-steps.scss +0 -45
  1439. data/app/packs/stylesheets/decidim/plugins/MarkerCluster.Default.scss +0 -67
  1440. data/app/packs/stylesheets/decidim/plugins/MarkerCluster.scss +0 -15
  1441. data/app/packs/stylesheets/decidim/utils/_fontface.scss +0 -32
  1442. data/app/packs/stylesheets/decidim/utils/_helpers.scss +0 -159
  1443. data/app/packs/stylesheets/decidim/utils/_keyframes.scss +0 -21
  1444. data/app/packs/stylesheets/decidim/utils/_mixins.scss +0 -252
  1445. data/app/packs/stylesheets/decidim/utils/_settings.scss +0 -890
  1446. data/app/packs/stylesheets/decidim/utils/_toggle-expand.scss +0 -23
  1447. data/app/packs/stylesheets/decidim/vendor/_social_share_button.scss +0 -139
  1448. data/app/packs/stylesheets/decidim/vizzs/_areachart.scss +0 -66
  1449. data/app/packs/stylesheets/decidim/vizzs/_chart-tooltip.scss +0 -42
  1450. data/app/packs/stylesheets/decidim/vizzs/_linechart.scss +0 -114
  1451. data/app/packs/stylesheets/decidim/vizzs/_orgchart.scss +0 -54
  1452. data/app/packs/stylesheets/decidim/vizzs/_rowchart.scss +0 -76
  1453. data/app/packs/stylesheets/decidim/vizzs/_vizzs.scss +0 -5
  1454. data/app/packs/stylesheets/decidim/vizzs.scss +0 -8
  1455. data/app/packs/stylesheets/foundation-overrides/components/_button-group.scss +0 -321
  1456. data/app/services/decidim/push_notification_message_sender.rb +0 -36
  1457. data/app/uploaders/decidim/official_image_header_uploader.rb +0 -10
  1458. data/app/views/decidim/amendments/_similar_emendation.html.erb +0 -24
  1459. data/app/views/decidim/application/_attachments.erb +0 -12
  1460. data/app/views/decidim/application/_document.erb +0 -19
  1461. data/app/views/decidim/application/_documents.erb +0 -15
  1462. data/app/views/decidim/application/_photos.erb +0 -16
  1463. data/app/views/decidim/authorization_modals/_content.html.erb +0 -45
  1464. data/app/views/decidim/devise/shared/_omniauth_buttons_mini.html.erb +0 -23
  1465. data/app/views/decidim/group_admins/index.html.erb +0 -20
  1466. data/app/views/decidim/group_members/index.html.erb +0 -21
  1467. data/app/views/decidim/links/_invalid_url_modal.html.erb +0 -17
  1468. data/app/views/decidim/links/_warning.html.erb +0 -4
  1469. data/app/views/decidim/links/invalid_url.js.erb +0 -24
  1470. data/app/views/decidim/profiles/_followers.html.erb +0 -5
  1471. data/app/views/decidim/profiles/_following.html.erb +0 -5
  1472. data/app/views/decidim/profiles/_notifications.html.erb +0 -0
  1473. data/app/views/decidim/profiles/_user_follow.erb +0 -32
  1474. data/app/views/decidim/searches/_filters_small_view.html.erb +0 -18
  1475. data/app/views/decidim/shared/_address_details.html.erb +0 -7
  1476. data/app/views/decidim/shared/_check_boxes_tree.html.erb +0 -56
  1477. data/app/views/decidim/shared/_embed_modal.html.erb +0 -22
  1478. data/app/views/decidim/shared/_filter_form_help.erb +0 -8
  1479. data/app/views/decidim/shared/_private_participatory_space.html.erb +0 -5
  1480. data/app/views/decidim/shared/participatory_space_filters/_filters.html.erb +0 -16
  1481. data/app/views/decidim/shared/participatory_space_filters/_filters_small_view.html.erb +0 -19
  1482. data/app/views/decidim/shared/participatory_space_filters/_show.html.erb +0 -9
  1483. data/app/views/decidim/user_timeline/index.html.erb +0 -8
  1484. data/app/views/decidim/user_timeline/index.js.erb +0 -14
  1485. data/app/views/decidim/widgets/show.html.erb +0 -4
  1486. data/app/views/decidim/widgets/show.js.erb +0 -32
  1487. data/app/views/kaminari/decidim/_first_page.html.erb +0 -14
  1488. data/app/views/kaminari/decidim/_last_page.html.erb +0 -14
  1489. data/app/views/layouts/decidim/_language_chooser.html.erb +0 -26
  1490. data/app/views/layouts/decidim/_main_footer.html.erb +0 -31
  1491. data/app/views/layouts/decidim/_mini_footer.html.erb +0 -21
  1492. data/app/views/layouts/decidim/_social_media_links.html.erb +0 -44
  1493. data/app/views/layouts/decidim/_topbar_search.html.erb +0 -18
  1494. data/app/views/layouts/decidim/widget.html.erb +0 -34
  1495. data/config/locales/he-IL.yml +0 -1
  1496. data/decidim-core.gemspec +0 -82
  1497. data/lib/decidim/core/test/shared_examples/amendable/amendment_accepted_event_examples.rb +0 -42
  1498. data/lib/decidim/core/test/shared_examples/back_to_list_button_examples.rb +0 -17
  1499. data/lib/decidim/core/test/shared_examples/embed_resource_examples.rb +0 -225
  1500. data/lib/decidim/core/test/shared_examples/resource_locator_presenter_examples.rb +0 -134
  1501. data/lib/decidim/has_conversations.rb +0 -91
  1502. data/lib/decidim/webpacker/thread_safe_compiler.rb +0 -30
  1503. data/lib/decidim/webpacker/webpack/.modernizrrc +0 -9
  1504. data/lib/decidim/webpacker/webpack/base.js +0 -6
  1505. data/lib/decidim/webpacker/webpack/development.js +0 -7
  1506. data/lib/decidim/webpacker/webpack/production.js +0 -7
  1507. data/lib/decidim/webpacker/webpack/test.js +0 -7
  1508. data/lib/tasks/upgrade/decidim_fix_categorization.rake +0 -15
  1509. /data/app/cells/decidim/{card_m/data.erb → card_l/extra_data.erb} +0 -0
  1510. /data/app/cells/decidim/{card_m/footer.erb → content_blocks/base/content.erb} +0 -0
  1511. /data/app/{forms → validators}/translatable_presence_validator.rb +0 -0
  1512. /data/app/{forms → validators}/url_validator.rb +0 -0
@@ -1,3 +1,65 @@
1
- @import "stylesheets/decidim/plugins/leaflet";
2
- @import "stylesheets/decidim/plugins/MarkerCluster";
3
- @import "stylesheets/decidim/plugins/MarkerCluster.Default";
1
+ /*
2
+ NOTE: Bad practice. These dependencies should not be loaded in this way (as static files),
3
+ but leaflet makes use of image files, which are being wrong resolved by webpack,
4
+ as currently is missing the "file-loader" in the webpack.config.js
5
+
6
+ See https://github.com/Leaflet/Leaflet/issues/4849 for further info
7
+ */
8
+ @import "stylesheets/decidim/legacy/leaflet";
9
+ @import "stylesheets/decidim/legacy/MarkerCluster";
10
+ @import "stylesheets/decidim/legacy/MarkerCluster.Default";
11
+
12
+ /* overwrite leaflet and card styles */
13
+ .leaflet-popup-content-wrapper {
14
+ @apply bg-black w-fit rounded text-left text-white;
15
+
16
+ .card__list {
17
+ @apply border-tertiary focus:outline-none;
18
+
19
+ &-metadata {
20
+ @apply gap-1 md:gap-4 flex-wrap md:flex-nowrap;
21
+ }
22
+
23
+ &-metadata span:not([class]) {
24
+ @apply md:px-0 md:border-0;
25
+ }
26
+
27
+ &-metadata span:not([class]),
28
+ &-metadata svg,
29
+ &-title {
30
+ @apply font-sans text-white;
31
+ }
32
+
33
+ &-title {
34
+ @apply truncate;
35
+ }
36
+
37
+ &-content {
38
+ @apply w-full;
39
+ }
40
+
41
+ &:focus &-title {
42
+ @apply underline;
43
+ }
44
+ }
45
+ }
46
+
47
+ .leaflet-popup-tip {
48
+ @apply bg-black;
49
+ }
50
+
51
+ .leaflet-div-icon {
52
+ @apply text-secondary border-0 bg-transparent;
53
+ }
54
+
55
+ [data-decidim-map] {
56
+ @apply h-full bg-background z-0;
57
+ }
58
+
59
+ .map__skip {
60
+ @apply absolute z-10 top-1 left-1 -translate-y-full py-1 px-4 bg-primary rounded-br-lg text-white cursor-pointer transition focus:translate-y-0;
61
+
62
+ &-container {
63
+ @apply relative overflow-hidden focus-within:overflow-visible;
64
+ }
65
+ }
@@ -150,7 +150,7 @@ module Decidim
150
150
  user_group = context.fetch(:user_group)
151
151
 
152
152
  if permission_action.action == :leave
153
- user_can_leave_group = Decidim::UserGroupMembership.where(user: user, user_group: user_group).any?
153
+ user_can_leave_group = Decidim::UserGroupMembership.where(user:, user_group:).any?
154
154
  return toggle_allow(user_can_leave_group)
155
155
  end
156
156
 
@@ -194,7 +194,7 @@ module Decidim
194
194
  end
195
195
 
196
196
  def not_already_active?(authorization)
197
- Verifications::Authorizations.new(organization: user.organization, user: user, name: authorization.name).none?
197
+ Verifications::Authorizations.new(organization: user.organization, user:, name: authorization.name).none?
198
198
  end
199
199
 
200
200
  def user_manager_permissions
@@ -5,8 +5,8 @@ module Decidim
5
5
  # This class holds the logic to present a `Decidim::Area`
6
6
  # for the `AdminLog` log.
7
7
  #
8
- # Usage should be automatic and you shouldn't need to call this class
9
- # directly, but here's an example:
8
+ # Usage should be automatic and you should not need to call this class
9
+ # directly, but here is an example:
10
10
  #
11
11
  # action_log = Decidim::ActionLog.last
12
12
  # view_helpers # => this comes from the views
@@ -5,8 +5,8 @@ module Decidim
5
5
  # This class holds the logic to present a `Decidim::AreaType`
6
6
  # for the `AdminLog` log.
7
7
  #
8
- # Usage should be automatic and you shouldn't need to call this class
9
- # directly, but here's an example:
8
+ # Usage should be automatic and you should not need to call this class
9
+ # directly, but here is an example:
10
10
  #
11
11
  # action_log = Decidim::ActionLog.last
12
12
  # view_helpers # => this comes from the views
@@ -5,8 +5,8 @@ module Decidim
5
5
  # This class holds the logic to present a `Decidim::AttachmentCollection`
6
6
  # for the `AdminLog` log.
7
7
  #
8
- # Usage should be automatic and you shouldn't need to call this class
9
- # directly, but here's an example:
8
+ # Usage should be automatic and you should not need to call this class
9
+ # directly, but here is an example:
10
10
  #
11
11
  # action_log = Decidim::ActionLog.last
12
12
  # view_helpers # => this comes from the views
@@ -5,8 +5,8 @@ module Decidim
5
5
  # This class holds the logic to present a `Decidim::Attachment`
6
6
  # for the `AdminLog` log.
7
7
  #
8
- # Usage should be automatic and you shouldn't need to call this class
9
- # directly, but here's an example:
8
+ # Usage should be automatic and you should not need to call this class
9
+ # directly, but here is an example:
10
10
  #
11
11
  # action_log = Decidim::ActionLog.last
12
12
  # view_helpers # => this comes from the views
@@ -5,8 +5,8 @@ module Decidim
5
5
  # This class holds the logic to present a `Decidim::Category`
6
6
  # for the `AdminLog` log.
7
7
  #
8
- # Usage should be automatic and you shouldn't need to call this class
9
- # directly, but here's an example:
8
+ # Usage should be automatic and you should not need to call this class
9
+ # directly, but here is an example:
10
10
  #
11
11
  # action_log = Decidim::ActionLog.last
12
12
  # view_helpers # => this comes from the views
@@ -5,8 +5,8 @@ module Decidim
5
5
  # This class holds the logic to present a `Decidim::Component`
6
6
  # for the `AdminLog` log.
7
7
  #
8
- # Usage should be automatic and you shouldn't need to call this class
9
- # directly, but here's an example:
8
+ # Usage should be automatic and you should not need to call this class
9
+ # directly, but here is an example:
10
10
  #
11
11
  # action_log = Decidim::ActionLog.last
12
12
  # view_helpers # => this comes from the views
@@ -5,8 +5,8 @@ module Decidim
5
5
  # This class holds the logic to present a `Decidim::ContextualHelpSection`
6
6
  # for the `AdminLog` log.
7
7
  #
8
- # Usage should be automatic and you shouldn't need to call this class
9
- # directly, but here's an example:
8
+ # Usage should be automatic and you should not need to call this class
9
+ # directly, but here is an example:
10
10
  #
11
11
  # action_log = Decidim::ActionLog.last
12
12
  # view_helpers # => this comes from the views
@@ -5,8 +5,8 @@ module Decidim
5
5
  # This class holds the logic to present a `Decidim::ImpersonationLog`
6
6
  # for the `AdminLog` log.
7
7
  #
8
- # Usage should be automatic and you shouldn't need to call this class
9
- # directly, but here's an example:
8
+ # Usage should be automatic and you should not need to call this class
9
+ # directly, but here is an example:
10
10
  #
11
11
  # action_log = Decidim::ActionLog.last
12
12
  # view_helpers # => this comes from the views
@@ -5,8 +5,8 @@ module Decidim
5
5
  # This class holds the logic to present a `Decidim::Moderation`
6
6
  # for the `AdminLog` log.
7
7
  #
8
- # Usage should be automatic and you shouldn't need to call this class
9
- # directly, but here's an example:
8
+ # Usage should be automatic and you should not need to call this class
9
+ # directly, but here is an example:
10
10
  #
11
11
  # action_log = Decidim::ActionLog.last
12
12
  # view_helpers # => this comes from the views
@@ -5,8 +5,8 @@ module Decidim
5
5
  # This class holds the logic to present a `Decidim::Newsletter`
6
6
  # for the `AdminLog` log.
7
7
  #
8
- # Usage should be automatic and you shouldn't need to call this class
9
- # directly, but here's an example:
8
+ # Usage should be automatic and you should not need to call this class
9
+ # directly, but here is an example:
10
10
  #
11
11
  # action_log = Decidim::ActionLog.last
12
12
  # view_helpers # => this comes from the views
@@ -5,8 +5,8 @@ module Decidim
5
5
  # This class holds the logic to present a `Decidim::OAuthApplication`
6
6
  # for the `AdminLog` log.
7
7
  #
8
- # Usage should be automatic and you shouldn't need to call this class
9
- # directly, but here's an example:
8
+ # Usage should be automatic and you should not need to call this class
9
+ # directly, but here is an example:
10
10
  #
11
11
  # action_log = Decidim::ActionLog.last
12
12
  # view_helpers # => this comes from the views
@@ -11,7 +11,7 @@ module Decidim
11
11
  #
12
12
  # Returns an HTML-safe String.
13
13
  def resource_path
14
- @resource_path ||= h.decidim_system.oauth_application_path(resource)
14
+ @resource_path ||= h.decidim_admin.oauth_application_path(resource)
15
15
  end
16
16
  end
17
17
  end
@@ -5,8 +5,8 @@ module Decidim
5
5
  # This class holds the logic to present a `Decidim::Organization`
6
6
  # for the `AdminLog` log.
7
7
  #
8
- # Usage should be automatic and you shouldn't need to call this class
9
- # directly, but here's an example:
8
+ # Usage should be automatic and you should not need to call this class
9
+ # directly, but here is an example:
10
10
  #
11
11
  # action_log = Decidim::ActionLog.last
12
12
  # view_helpers # => this comes from the views
@@ -26,7 +26,7 @@ module Decidim
26
26
 
27
27
  def settings_attributes_mapping
28
28
  {
29
- name: :i18n,
29
+ name: :string,
30
30
  default_locale: :locale,
31
31
  reference_prefix: :string,
32
32
  twitter_handler: :string,
@@ -67,7 +67,6 @@ module Decidim
67
67
  logo: :string,
68
68
  header_snippets: :string,
69
69
  favicon: :string,
70
- official_img_header: :string,
71
70
  official_img_footer: :string,
72
71
  official_url: :string
73
72
  }
@@ -5,8 +5,8 @@ module Decidim
5
5
  # This class holds the logic to present a `Decidim::ParticipatorySpacePrivateUserPresenter`
6
6
  # for the `AdminLog` log.
7
7
  #
8
- # Usage should be automatic and you shouldn't need to call this class
9
- # directly, but here's an example:
8
+ # Usage should be automatic and you should not need to call this class
9
+ # directly, but here is an example:
10
10
  #
11
11
  # action_log = Decidim::ActionLog.last
12
12
  # view_helpers # => this comes from the views
@@ -5,8 +5,8 @@ module Decidim
5
5
  # This class holds the logic to present a `Decidim::Scope`
6
6
  # for the `AdminLog` log.
7
7
  #
8
- # Usage should be automatic and you shouldn't need to call this class
9
- # directly, but here's an example:
8
+ # Usage should be automatic and you should not need to call this class
9
+ # directly, but here is an example:
10
10
  #
11
11
  # action_log = Decidim::ActionLog.last
12
12
  # view_helpers # => this comes from the views
@@ -5,8 +5,8 @@ module Decidim
5
5
  # This class holds the logic to present a `Decidim::ScopeType`
6
6
  # for the `AdminLog` log.
7
7
  #
8
- # Usage should be automatic and you shouldn't need to call this class
9
- # directly, but here's an example:
8
+ # Usage should be automatic and you should not need to call this class
9
+ # directly, but here is an example:
10
10
  #
11
11
  # action_log = Decidim::ActionLog.last
12
12
  # view_helpers # => this comes from the views
@@ -5,8 +5,8 @@ module Decidim
5
5
  # This class holds the logic to present a `Decidim::StaticPage`
6
6
  # for the `AdminLog` log.
7
7
  #
8
- # Usage should be automatic and you shouldn't need to call this class
9
- # directly, but here's an example:
8
+ # Usage should be automatic and you should not need to call this class
9
+ # directly, but here is an example:
10
10
  #
11
11
  # action_log = Decidim::ActionLog.last
12
12
  # view_helpers # => this comes from the views
@@ -5,8 +5,8 @@ module Decidim
5
5
  # This class holds the logic to present a `Decidim::UserGroup`
6
6
  # for the `AdminLog` log.
7
7
  #
8
- # Usage should be automatic and you shouldn't need to call this class
9
- # directly, but here's an example:
8
+ # Usage should be automatic and you should not need to call this class
9
+ # directly, but here is an example:
10
10
  #
11
11
  # action_log = Decidim::ActionLog.last
12
12
  # view_helpers # => this comes from the views
@@ -5,8 +5,8 @@ module Decidim
5
5
  # This class holds the logic to present a `Decidim::UserModeration`
6
6
  # for the `AdminLog` log.
7
7
  #
8
- # Usage should be automatic and you shouldn't need to call this class
9
- # directly, but here's an example:
8
+ # Usage should be automatic and you should not need to call this class
9
+ # directly, but here is an example:
10
10
  #
11
11
  # action_log = Decidim::ActionLog.last
12
12
  # view_helpers # => this comes from the views
@@ -5,8 +5,8 @@ module Decidim
5
5
  # This class holds the logic to present a `Decidim::User`
6
6
  # for the `AdminLog` log.
7
7
  #
8
- # Usage should be automatic and you shouldn't need to call this class
9
- # directly, but here's an example:
8
+ # Usage should be automatic and you should not need to call this class
9
+ # directly, but here is an example:
10
10
  #
11
11
  # action_log = Decidim::ActionLog.last
12
12
  # view_helpers # => this comes from the views
@@ -10,5 +10,11 @@ module Decidim
10
10
  def translated_name
11
11
  @translated_name ||= translated_attribute name
12
12
  end
13
+
14
+ def translated_name_with_type
15
+ translated_type_name = area_type.presence && AreaTypePresenter.new(area_type).translated_name
16
+
17
+ [translated_type_name, translated_name].compact_blank.join(" - ")
18
+ end
13
19
  end
14
20
  end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ #
5
+ # Decorator for authorization transfer.
6
+ #
7
+ class AuthorizationTransferPresenter < SimpleDelegator
8
+ # Simplifies the informational hash returned by the `#information` for the
9
+ # display in the user interface. Returns a hash containing the record types
10
+ # (their class names as strings) as its keys and the translated amount of
11
+ # the records as its values.
12
+ #
13
+ # The record names are always in plural format for maximum language
14
+ # compatibility, as otherwise we would have to specify the translatable
15
+ # strings for all records in singular and plural formats.
16
+ #
17
+ # @example Format of the returned hash
18
+ # {
19
+ # "Decidim::Foo" => "Foos: 123",
20
+ # "Decidim::Bar" => "Bars: 456"
21
+ # }
22
+ #
23
+ # @return [Hash<String => String>] The translated resource counts with the
24
+ # resource type as its keys and the translated text with the record count
25
+ # as its values.
26
+ def translated_record_counts
27
+ resources = information.map do |type, info|
28
+ resource_class = info[:class]
29
+ name = resource_class.model_name
30
+
31
+ [type, "#{name.human(count: 2)}: #{info[:count]}"]
32
+ end
33
+
34
+ resources.sort_by { |v| v[1] }.to_h
35
+ end
36
+
37
+ # Returns an array of the translated record counts containing only the
38
+ # texts to be displayed for the user.
39
+ #
40
+ # @return [Array<String>] The translated records names with their coutns.
41
+ def translated_record_texts
42
+ translated_record_counts.values
43
+ end
44
+
45
+ # Generates a HTML list of the record counts with the translated.
46
+ #
47
+ # @return [String] An HTML formatted list of the record names with their
48
+ # counts.
49
+ def records_list_html
50
+ items = translated_record_texts.map do |description|
51
+ "<li>#{CGI.escapeHTML(description)}</li>"
52
+ end
53
+
54
+ "<ul>#{items.join}</ul>".html_safe
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ # A presenter to render menu items of breadcrumb root menu
5
+ class BreadcrumbRootMenuItemPresenter < MenuItemPresenter
6
+ include ::Shakapacker::Helper
7
+ include ::ActionView::Helpers::AssetUrlHelper
8
+ include Decidim::LayoutHelper
9
+
10
+ def render
11
+ content_tag :li, class: link_wrapper_classes do
12
+ output = [arrow_link(label, url, link_options)]
13
+ output.push(@view.send(:simple_menu, **@menu_item.submenu).render) if @menu_item.submenu
14
+
15
+ safe_join(output)
16
+ end
17
+ end
18
+
19
+ def arrow_link(text, url, args = {})
20
+ link_to url, class: args.with_indifferent_access[:class] do
21
+ "<span>#{text}</span> #{icon("arrow-right-line")}".html_safe
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ # A presenter to render breadcrumb root menu
5
+ class BreadcrumbRootMenuPresenter < MenuPresenter
6
+ def render
7
+ render_menu
8
+ end
9
+
10
+ protected
11
+
12
+ def menu_items
13
+ items.map do |menu_item|
14
+ BreadcrumbRootMenuItemPresenter.new(menu_item, @view, @options).render
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ # A presenter to render footer menu
5
+ class FooterMenuPresenter < MenuPresenter
6
+ def render
7
+ content_tag(:nav, role: "navigation", "aria-label" => @options[:label]) do
8
+ safe_join([content_tag(:h2, @options[:label], class: "h5 mb-4"), render_menu])
9
+ end
10
+ end
11
+ end
12
+ end
@@ -27,7 +27,7 @@ module Decidim
27
27
  end
28
28
 
29
29
  def display_hashtag
30
- link_to name, decidim.search_path(term: name), target: "_blank", class: "hashtag-mention", rel: "noopener"
30
+ link_to name, decidim.search_path(term: name), target: "_blank", class: "text-secondary underline", rel: "noopener", data: { "external-link": false }
31
31
  end
32
32
 
33
33
  def display_hashtag_name
@@ -15,8 +15,8 @@ module Decidim
15
15
  # See `Decidim::ActionLog#render_log` for more info on the log types and
16
16
  # presenters.
17
17
  #
18
- # Usage should be automatic and you shouldn't need to call this class
19
- # directly, but here's an example:
18
+ # Usage should be automatic and you should not need to call this class
19
+ # directly, but here is an example:
20
20
  #
21
21
  # action_log = Decidim::ActionLog.last
22
22
  # view_helpers # => this comes from the views
@@ -91,10 +91,16 @@ module Decidim
91
91
  #
92
92
  # Returns an HTML-safe String.
93
93
  def present_dropdown
94
- return h.content_tag(:div, "", class: "logs__log__actions") unless has_diff?
94
+ return h.content_tag(:div, "", class: "logs__log__actions") if present_diff.blank?
95
95
 
96
96
  h.content_tag(:div, class: "logs__log__actions") do
97
- h.content_tag(:a, "", class: "logs__log__actions-dropdown", data: { toggle: h.dom_id(action_log) })
97
+ h.content_tag(
98
+ :a,
99
+ "",
100
+ class: "logs__log__actions-dropdown",
101
+ data: { controls: "panel-#{h.dom_id(action_log)}" },
102
+ aria: { label: I18n.t("decidim.admin.dashboard.show.dropdown") }
103
+ )
98
104
  end
99
105
  end
100
106
 
@@ -118,7 +124,7 @@ module Decidim
118
124
  # Returns an HTML-safe String.
119
125
  def present_content
120
126
  h.content_tag(:div, class: "logs__log__content") do
121
- present_log_date + present_explanation + present_dropdown
127
+ present_dropdown + present_log_date + present_explanation
122
128
  end
123
129
  end
124
130
 
@@ -130,6 +136,7 @@ module Decidim
130
136
  @diff_presenter ||= Decidim::Log::DiffPresenter.new(
131
137
  changeset,
132
138
  view_helpers,
139
+ action_log,
133
140
  show_previous_value?: show_previous_value_in_diff?
134
141
  )
135
142
  end
@@ -150,7 +157,7 @@ module Decidim
150
157
  # Returns an HTML-safe String.
151
158
  def present_action_log
152
159
  classes = ["logs__log"] + action_log_extra_classes.to_a
153
- h.content_tag(:li, id: h.dom_id(action_log), class: classes.join(" "), data: { toggler: ".logs__log--expanded" }) do
160
+ h.content_tag(:div, id: "accordion-#{h.dom_id(action_log)}", class: classes.join(" "), data: { component: "accordion" }) do
154
161
  h.concat(present_content)
155
162
  h.concat(present_diff)
156
163
  end
@@ -6,7 +6,7 @@ module Decidim
6
6
  # The data needed for this class to work should be sent by
7
7
  # `Decidim::Log::BasePresenter` or any of its children.
8
8
  #
9
- # In order to be able to use your own class to present a diff, you'll need to
9
+ # In order to be able to use your own class to present a diff, you will need to
10
10
  # overwrite `BasePresenter#diff_presenter` to return your custom diff presenter.
11
11
  # The only requirement for custom renderers is that they should respond to `present`.
12
12
  class DiffPresenter
@@ -16,9 +16,10 @@ module Decidim
16
16
  # view_helpers - An object holding the view helpers at the render time.
17
17
  # Most probably should come automatically from the views.
18
18
  # options - a Hash with options
19
- def initialize(changeset, view_helpers, options = {})
19
+ def initialize(changeset, view_helpers, action_log, options = {})
20
20
  @changeset = changeset
21
21
  @view_helpers = view_helpers
22
+ @action_log = action_log
22
23
  @options = { show_previous_value?: true }.merge(options)
23
24
  end
24
25
 
@@ -31,7 +32,7 @@ module Decidim
31
32
 
32
33
  private
33
34
 
34
- attr_reader :changeset, :view_helpers, :options
35
+ attr_reader :changeset, :view_helpers, :options, :action_log
35
36
  alias h view_helpers
36
37
 
37
38
  # Private: Presents the diff for this action. If the resource and the
@@ -41,7 +42,7 @@ module Decidim
41
42
  def present_diff
42
43
  return "".html_safe if changeset.blank?
43
44
 
44
- h.content_tag(:div, class: "logs__log__diff") do
45
+ h.content_tag(:div, class: "logs__log__diff", id: "panel-#{h.dom_id(action_log)}") do
45
46
  changeset.each do |attribute|
46
47
  h.concat(present_new_value(attribute[:label], attribute[:new_value], attribute[:type]))
47
48
  h.concat(present_previous_value(attribute[:previous_value], attribute[:type])) if options[:show_previous_value?]
@@ -53,7 +54,7 @@ module Decidim
53
54
  #
54
55
  # value - the value for the given attribute
55
56
  # type - A symbol or String representing the type of the value.
56
- # If it's a String, it should be the name of the presenter that will
57
+ # If it is a String, it should be the name of the presenter that will
57
58
  # be in charge of presenting it.
58
59
  #
59
60
  # Returns an HTML-safe String.
@@ -69,7 +70,7 @@ module Decidim
69
70
  # label - the label name
70
71
  # value - the value for the given label
71
72
  # type - A symbol or String representing the type of the value.
72
- # If it's a String, it should be the name of the presenter that will
73
+ # If it is a String, it should be the name of the presenter that will
73
74
  # be in charge of presenting it.
74
75
  #
75
76
  # Returns an HTML-safe String.
@@ -84,7 +85,7 @@ module Decidim
84
85
  #
85
86
  # value - the value to be presented, no specific type.
86
87
  # type - A symbol or String representing the type of the value.
87
- # If it's a String, it should be the name of the presenter that will
88
+ # If it is a String, it should be the name of the presenter that will
88
89
  # be in charge of presenting it.
89
90
  #
90
91
  # Returns an HTML-safe String.
@@ -95,7 +96,7 @@ module Decidim
95
96
  # Private: Finds the presenter class for the given type.
96
97
  #
97
98
  # type - A symbol or String representing the type of the value.
98
- # If it's a String, it should be the name of the presenter that will
99
+ # If it is a String, it should be the name of the presenter that will
99
100
  # be in charge of presenting it.
100
101
  #
101
102
  # Returns a Class.
@@ -6,12 +6,10 @@ module Decidim
6
6
  # The data needed for this class to work should be sent by
7
7
  # `Decidim::Log::BasePresenter` or any of its children.
8
8
  #
9
- # In order to be able to use your own class to present a resource, you'll need to
9
+ # In order to be able to use your own class to present a resource, you will need to
10
10
  # overwrite `BasePresenter#resource_presenter` to return your custom resource presenter.
11
11
  # The only requirement for custom renderers is that they should respond to `present`.
12
12
  class ResourcePresenter
13
- include Decidim::SanitizeHelper
14
-
15
13
  # Public: Initializes the presenter.
16
14
  #
17
15
  # resource - An instance of a model that can be located by
@@ -67,11 +65,7 @@ module Decidim
67
65
  #
68
66
  # Returns an HTML-safe String.
69
67
  def present_resource_name
70
- if resource.present? && resource.respond_to?(:presenter) && resource.presenter.respond_to?(:title)
71
- resource.presenter.title(html_escape: true)
72
- else
73
- decidim_escape_translated(extra["title"]).html_safe
74
- end
68
+ h.translated_attribute extra["title"]
75
69
  end
76
70
  end
77
71
  end
@@ -6,7 +6,7 @@ module Decidim
6
6
  # activity log. The data needed for this class to work should be sent by
7
7
  # `Decidim::Log::BasePresenter` or any of its children.
8
8
  #
9
- # In order to be able to use your own class to present a space, you'll need to
9
+ # In order to be able to use your own class to present a space, you will need to
10
10
  # overwrite `BasePresenter#space_presenter` to return your custom space presenter.
11
11
  # The only requirement for custom renderers is that they should respond to `present`.
12
12
  class SpacePresenter