imio.smartweb.core 1.2.12__py3-none-any.whl → 1.2.68__py3-none-any.whl

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 (361) hide show
  1. imio/smartweb/core/behaviors/categorization.py +24 -0
  2. imio/smartweb/core/behaviors/configure.zcml +7 -0
  3. imio/smartweb/core/browser/configure.zcml +41 -1
  4. imio/smartweb/core/browser/controlpanel.py +41 -0
  5. imio/smartweb/core/browser/dashboards/configure.zcml +0 -2
  6. imio/smartweb/core/browser/dashboards/plausible.py +4 -4
  7. imio/smartweb/core/browser/faceted/block_view.pt +4 -4
  8. imio/smartweb/core/browser/faceted/summary_view.pt +4 -4
  9. imio/smartweb/core/browser/forms.py +3 -3
  10. imio/smartweb/core/browser/redirect_to_main_react_view.py +52 -0
  11. imio/smartweb/core/browser/search/search.pt +2 -1
  12. imio/smartweb/core/browser/search/search.py +4 -0
  13. imio/smartweb/core/browser/sitemap.py +148 -0
  14. imio/smartweb/core/browser/static/icons/action-delete.svg +3 -0
  15. imio/smartweb/core/browser/static/icons/action-e-guichet.svg +1 -1
  16. imio/smartweb/core/browser/static/icons/action-email.svg +1 -1
  17. imio/smartweb/core/browser/static/icons/action-engagement-2.svg +4 -0
  18. imio/smartweb/core/browser/static/icons/action-engagement.svg +1 -1
  19. imio/smartweb/core/browser/static/icons/action-nous-contacter.svg +1 -1
  20. imio/smartweb/core/browser/static/icons/action-nous-rejoindre.svg +2 -1
  21. imio/smartweb/core/browser/static/icons/action-organiser-un-evenement.svg +1 -1
  22. imio/smartweb/core/browser/static/icons/action-panneaux.svg +3 -0
  23. imio/smartweb/core/browser/static/icons/action-signaler-un-probleme.svg +1 -1
  24. imio/smartweb/core/browser/static/icons/action-voir-plan.svg +1 -1
  25. imio/smartweb/core/browser/static/icons/action-vote.svg +3 -0
  26. imio/smartweb/core/browser/static/icons/categorie-associations.svg +1 -1
  27. imio/smartweb/core/browser/static/icons/categorie-attention.svg +3 -0
  28. imio/smartweb/core/browser/static/icons/categorie-avis-et-enquetes.svg +1 -1
  29. imio/smartweb/core/browser/static/icons/categorie-cinema.svg +1 -1
  30. imio/smartweb/core/browser/static/icons/categorie-commerce.svg +1 -1
  31. imio/smartweb/core/browser/static/icons/categorie-concert.svg +1 -1
  32. imio/smartweb/core/browser/static/icons/categorie-culture.svg +1 -1
  33. imio/smartweb/core/browser/static/icons/categorie-demarches.svg +1 -1
  34. imio/smartweb/core/browser/static/icons/categorie-enfance.svg +1 -1
  35. imio/smartweb/core/browser/static/icons/categorie-enseignement.svg +1 -1
  36. imio/smartweb/core/browser/static/icons/categorie-environnement-gestion-des-dechets.svg +1 -1
  37. imio/smartweb/core/browser/static/icons/categorie-exposition.svg +1 -1
  38. imio/smartweb/core/browser/static/icons/categorie-horaires.svg +1 -1
  39. imio/smartweb/core/browser/static/icons/categorie-infos-travaux-2.svg +4 -0
  40. imio/smartweb/core/browser/static/icons/categorie-infos-travaux.svg +1 -1
  41. imio/smartweb/core/browser/static/icons/categorie-mandataires.svg +1 -1
  42. imio/smartweb/core/browser/static/icons/categorie-mobilite.svg +1 -1
  43. imio/smartweb/core/browser/static/icons/categorie-mon-dossier.svg +1 -1
  44. imio/smartweb/core/browser/static/icons/categorie-nature.svg +3 -0
  45. imio/smartweb/core/browser/static/icons/categorie-parc-de-stationnement.svg +1 -1
  46. imio/smartweb/core/browser/static/icons/categorie-parcs-a-conteneurs.svg +4 -0
  47. imio/smartweb/core/browser/static/icons/categorie-parcs-et-jardins.svg +1 -1
  48. imio/smartweb/core/browser/static/icons/categorie-plus.svg +3 -0
  49. imio/smartweb/core/browser/static/icons/categorie-primes-2.svg +5 -0
  50. imio/smartweb/core/browser/static/icons/categorie-primes.svg +1 -1
  51. imio/smartweb/core/browser/static/icons/categorie-sport-courir.svg +1 -1
  52. imio/smartweb/core/browser/static/icons/categorie-sport-natation.svg +4 -0
  53. imio/smartweb/core/browser/static/icons/categorie-sport-velo.svg +1 -1
  54. imio/smartweb/core/browser/static/icons/categorie-tourisme.svg +1 -1
  55. imio/smartweb/core/browser/static/icons/organisation-academie-musique.svg +1 -1
  56. imio/smartweb/core/browser/static/icons/organisation-centre-sportif.svg +1 -1
  57. imio/smartweb/core/browser/static/icons/organisation-cpas.svg +1 -1
  58. imio/smartweb/core/browser/static/icons/organisation-ecole-des-arts.svg +1 -1
  59. imio/smartweb/core/browser/static/icons/organisation-ecole-sac.svg +4 -0
  60. imio/smartweb/core/browser/static/icons/organisation-ecole.svg +1 -1
  61. imio/smartweb/core/browser/static/icons/organisation-mobilite.svg +1 -1
  62. imio/smartweb/core/browser/static/icons/organisation-scout.svg +3 -0
  63. imio/smartweb/core/browser/static/icons/reseausocial-behance.svg +3 -0
  64. imio/smartweb/core/browser/static/icons/reseausocial-facebook.svg +1 -1
  65. imio/smartweb/core/browser/static/icons/reseausocial-linkedin.svg +3 -0
  66. imio/smartweb/core/browser/static/icons/reseausocial-twitter.svg +3 -13
  67. imio/smartweb/core/browser/static/icons/reseausocial-vimeo.svg +1 -1
  68. imio/smartweb/core/browser/static/icons/reseausocial-youtube.svg +1 -1
  69. imio/smartweb/core/browser/static/icons/vue-actualites.svg +1 -1
  70. imio/smartweb/core/browser/static/icons/vue-agenda.svg +1 -1
  71. imio/smartweb/core/browser/static/icons/vue-annuaire.svg +1 -1
  72. imio/smartweb/core/browser/static/smartweb-edit-compiled.css +1 -1
  73. imio/smartweb/core/browser/static/smartweb-edit-compiled.js +1 -1
  74. imio/smartweb/core/browser/static/smartweb-view-compiled.css +1 -1
  75. imio/smartweb/core/browser/static/smartweb-view-compiled.js +1 -1
  76. imio/smartweb/core/browser/static/src/edit.js +5 -0
  77. imio/smartweb/core/browser/static/src/edit.less +42 -0
  78. imio/smartweb/core/browser/static/src/view.js +11 -0
  79. imio/smartweb/core/browser/static/src/view.less +4 -0
  80. imio/smartweb/core/browser/utils.py +5 -32
  81. imio/smartweb/core/browser/vocabulary.py +40 -0
  82. imio/smartweb/core/contents/__init__.py +4 -0
  83. imio/smartweb/core/contents/configure.zcml +1 -0
  84. imio/smartweb/core/contents/cropping.py +1 -1
  85. imio/smartweb/core/contents/folder/block_view.pt +8 -8
  86. imio/smartweb/core/contents/folder/summary_view.pt +4 -4
  87. imio/smartweb/core/contents/pages/cirkwi/content.py +5 -0
  88. imio/smartweb/core/contents/pages/cirkwi/view.py +2 -1
  89. imio/smartweb/core/contents/pages/portal_page/view.py +3 -0
  90. imio/smartweb/core/contents/pages/views.py +3 -1
  91. imio/smartweb/core/contents/publication/configure.zcml +5 -0
  92. imio/smartweb/core/contents/publication/content.py +23 -0
  93. imio/smartweb/core/contents/rest/base.py +24 -10
  94. imio/smartweb/core/contents/rest/configure.zcml +7 -0
  95. imio/smartweb/core/contents/rest/directory/content.py +2 -2
  96. imio/smartweb/core/contents/rest/directory/endpoint.py +2 -2
  97. imio/smartweb/core/contents/rest/directory/view.pt +3 -1
  98. imio/smartweb/core/contents/rest/directory/view.py +3 -0
  99. imio/smartweb/core/contents/rest/events/content.py +15 -2
  100. imio/smartweb/core/contents/rest/events/endpoint.py +5 -7
  101. imio/smartweb/core/contents/rest/events/view.pt +6 -1
  102. imio/smartweb/core/contents/rest/events/view.py +15 -0
  103. imio/smartweb/core/contents/rest/news/content.py +8 -2
  104. imio/smartweb/core/contents/rest/news/endpoint.py +4 -2
  105. imio/smartweb/core/contents/rest/news/view.pt +5 -1
  106. imio/smartweb/core/contents/rest/news/view.py +11 -0
  107. imio/smartweb/core/contents/rest/search/endpoint.py +4 -4
  108. imio/smartweb/core/contents/rest/traversal.py +18 -0
  109. imio/smartweb/core/contents/rest/utils.py +98 -0
  110. imio/smartweb/core/contents/rest/view.py +11 -0
  111. imio/smartweb/core/contents/sections/common_templates/carousel.pt +6 -2
  112. imio/smartweb/core/contents/sections/common_templates/table.pt +22 -8
  113. imio/smartweb/core/contents/sections/configure.zcml +18 -0
  114. imio/smartweb/core/contents/sections/contact/content.py +2 -2
  115. imio/smartweb/core/contents/sections/contact/utils.py +2 -154
  116. imio/smartweb/core/contents/sections/events/content.py +12 -4
  117. imio/smartweb/core/contents/sections/events/view.py +20 -2
  118. imio/smartweb/core/contents/sections/external_content/configure.zcml +29 -0
  119. imio/smartweb/core/contents/sections/external_content/view.pt +25 -7
  120. imio/smartweb/core/contents/sections/external_content/view_idelux_waste.pt +50 -0
  121. imio/smartweb/core/contents/sections/external_content/view_inbw_containers_affluence.pt +91 -0
  122. imio/smartweb/core/contents/sections/external_content/view_odwb_widget.pt +20 -0
  123. imio/smartweb/core/contents/sections/external_content/views.py +306 -125
  124. imio/smartweb/core/contents/sections/files/content.py +7 -1
  125. imio/smartweb/core/contents/sections/files/view.py +40 -12
  126. imio/smartweb/core/contents/sections/links/view.py +5 -0
  127. imio/smartweb/core/contents/sections/macros.pt +39 -9
  128. imio/smartweb/core/contents/sections/news/content.py +11 -3
  129. imio/smartweb/core/contents/sections/news/view.py +20 -2
  130. imio/smartweb/core/contents/sections/text/view.pt +5 -4
  131. imio/smartweb/core/contents/sections/text/views.py +2 -0
  132. imio/smartweb/core/contents/sections/views.py +81 -4
  133. imio/smartweb/core/interfaces.py +15 -0
  134. imio/smartweb/core/profiles/default/actions.xml +15 -0
  135. imio/smartweb/core/profiles/default/diff_tool.xml +8 -0
  136. imio/smartweb/core/profiles/default/metadata.xml +1 -1
  137. imio/smartweb/core/profiles/default/registry/plone.xml +21 -4
  138. imio/smartweb/core/profiles/default/repositorytool.xml +1 -0
  139. imio/smartweb/core/profiles/default/taxonomies/page_category.xml +16 -0
  140. imio/smartweb/core/profiles/default/taxonomies/procedure_category.xml +26 -0
  141. imio/smartweb/core/profiles/default/types/Collection.xml +13 -0
  142. imio/smartweb/core/profiles/default/types/File.xml +13 -0
  143. imio/smartweb/core/profiles/default/types/Image.xml +13 -0
  144. imio/smartweb/core/profiles/default/types/imio.smartweb.BlockLink.xml +5 -0
  145. imio/smartweb/core/profiles/default/types/imio.smartweb.CirkwiView.xml +1 -0
  146. imio/smartweb/core/profiles/default/types/imio.smartweb.DirectoryView.xml +1 -0
  147. imio/smartweb/core/profiles/default/types/imio.smartweb.EventsView.xml +2 -0
  148. imio/smartweb/core/profiles/default/types/imio.smartweb.Folder.xml +1 -0
  149. imio/smartweb/core/profiles/default/types/imio.smartweb.NewsView.xml +2 -0
  150. imio/smartweb/core/profiles/default/types/imio.smartweb.Page.xml +1 -0
  151. imio/smartweb/core/profiles/default/types/imio.smartweb.PortalPage.xml +1 -0
  152. imio/smartweb/core/profiles/default/types/imio.smartweb.Procedure.xml +1 -0
  153. imio/smartweb/core/profiles/default/types/imio.smartweb.Publication.xml +38 -0
  154. imio/smartweb/core/profiles/default/types/imio.smartweb.SectionEvents.xml +1 -0
  155. imio/smartweb/core/profiles/default/types/imio.smartweb.SectionFiles.xml +2 -0
  156. imio/smartweb/core/profiles/default/types/imio.smartweb.SectionHTML.xml +0 -1
  157. imio/smartweb/core/profiles/default/types/imio.smartweb.SectionNews.xml +1 -0
  158. imio/smartweb/core/profiles/default/types.xml +1 -0
  159. imio/smartweb/core/profiles/icons/basic/registry.xml +120 -0
  160. imio/smartweb/core/profiles/testing/types/imio.smartweb.DirectoryView.xml +11 -0
  161. imio/smartweb/core/profiles/testing/types/imio.smartweb.EventsView.xml +11 -0
  162. imio/smartweb/core/profiles/testing/types/imio.smartweb.NewsView.xml +11 -0
  163. imio/smartweb/core/profiles/validation/contentrules.xml +102 -0
  164. imio/smartweb/core/profiles.zcml +8 -0
  165. imio/smartweb/core/rest/authentic_sources.py +23 -11
  166. imio/smartweb/core/subscribers.py +24 -0
  167. imio/smartweb/core/subscribers.zcml +4 -0
  168. imio/smartweb/core/tests/resources/json_iadeliberations_institutions.json +60 -0
  169. imio/smartweb/core/tests/resources/json_iadeliberations_publication.json +105 -0
  170. imio/smartweb/core/tests/resources/json_iadeliberations_publications.json +270 -0
  171. imio/smartweb/core/tests/resources/json_rest_events.json +6 -2
  172. imio/smartweb/core/tests/resources/json_rest_news.json +2 -2
  173. imio/smartweb/core/tests/resources/json_rest_specific_events.json +1 -1
  174. imio/smartweb/core/tests/test_cropping.py +4 -4
  175. imio/smartweb/core/tests/test_htmx_in_sections.py +131 -0
  176. imio/smartweb/core/tests/test_iadeliberations.py +136 -0
  177. imio/smartweb/core/tests/test_icons.py +1 -1
  178. imio/smartweb/core/tests/test_redirect_to_main_react_view.py +79 -0
  179. imio/smartweb/core/tests/test_rest.py +283 -22
  180. imio/smartweb/core/tests/test_section_contact.py +2 -2
  181. imio/smartweb/core/tests/test_section_events.py +28 -5
  182. imio/smartweb/core/tests/test_section_external_content.py +26 -25
  183. imio/smartweb/core/tests/test_section_news.py +30 -8
  184. imio/smartweb/core/tests/test_sections.py +38 -15
  185. imio/smartweb/core/tests/test_sitemap.py +174 -0
  186. imio/smartweb/core/tests/test_vocabularies.py +61 -4
  187. imio/smartweb/core/tests/test_vocabulary.py +43 -0
  188. imio/smartweb/core/tests/utils.py +15 -0
  189. imio/smartweb/core/upgrades/configure.zcml +180 -0
  190. imio/smartweb/core/upgrades/profiles/1051_to_1052/actions.xml +20 -0
  191. imio/smartweb/core/upgrades/profiles/1052_to_1053/diff_tool.xml +8 -0
  192. imio/smartweb/core/upgrades/profiles/1052_to_1053/repositorytool.xml +9 -0
  193. imio/smartweb/core/upgrades/profiles/1052_to_1053/types/imio.smartweb.SectionHTML.xml +14 -0
  194. imio/smartweb/core/upgrades/profiles/1053_to_1054/registry.xml +39 -0
  195. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/Collection.xml +13 -0
  196. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/File.xml +13 -0
  197. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/Image.xml +13 -0
  198. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.BlockLink.xml +12 -0
  199. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.CirkwiView.xml +12 -0
  200. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.DirectoryView.xml +12 -0
  201. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.EventsView.xml +12 -0
  202. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.Folder.xml +12 -0
  203. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.NewsView.xml +12 -0
  204. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.Page.xml +12 -0
  205. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.PortalPage.xml +12 -0
  206. imio/smartweb/core/upgrades/profiles/1054_to_1055/types/imio.smartweb.Procedure.xml +12 -0
  207. imio/smartweb/core/upgrades/profiles/1055_to_1056/types/imio.smartweb.SectionFiles.xml +12 -0
  208. imio/smartweb/core/upgrades/profiles/1056_to_1057/types/imio.smartweb.EventsView.xml +11 -0
  209. imio/smartweb/core/upgrades/profiles/1056_to_1057/types/imio.smartweb.NewsView.xml +11 -0
  210. imio/smartweb/core/upgrades/profiles/1056_to_1057/types/imio.smartweb.SectionEvents.xml +11 -0
  211. imio/smartweb/core/upgrades/profiles/1056_to_1057/types/imio.smartweb.SectionNews.xml +11 -0
  212. imio/smartweb/core/upgrades/profiles/1057_to_1058/taxonomies/page_category.cfg +9 -0
  213. imio/smartweb/core/upgrades/profiles/1057_to_1058/taxonomies/page_category.xml +73 -0
  214. imio/smartweb/core/upgrades/profiles/1057_to_1058/taxonomies/procedure_category.cfg +9 -0
  215. imio/smartweb/core/upgrades/profiles/1057_to_1058/taxonomies/procedure_category.xml +118 -0
  216. imio/smartweb/core/upgrades/profiles/1058_to_1059/registry/linkedin-icon.xml +126 -0
  217. imio/smartweb/core/upgrades/profiles/1059_to_1060/registry/iadeliberation.xml +9 -0
  218. imio/smartweb/core/upgrades/profiles/1060_to_1061/types/imio.smartweb.Publication.xml +38 -0
  219. imio/smartweb/core/upgrades/profiles/1060_to_1061/types/imio.smartweb.SectionFiles.xml +11 -0
  220. imio/smartweb/core/upgrades/profiles/1060_to_1061/types.xml +4 -0
  221. imio/smartweb/core/upgrades/profiles/1060_to_1061/workflows.xml +6 -0
  222. imio/smartweb/core/utils.py +65 -3
  223. imio/smartweb/core/viewlets/configure.zcml +43 -0
  224. imio/smartweb/core/viewlets/external_content.py +13 -5
  225. imio/smartweb/core/viewlets/footer.pt +5 -0
  226. imio/smartweb/core/viewlets/footer.py +5 -0
  227. imio/smartweb/core/viewlets/htmx.py +15 -0
  228. imio/smartweb/core/viewlets/htmx_js_header.pt +59 -0
  229. imio/smartweb/core/viewlets/httpheaders.py +13 -0
  230. imio/smartweb/core/viewlets/odwb_widget_header.pt +19 -0
  231. imio/smartweb/core/viewlets/offcanvas.pt +2 -1
  232. imio/smartweb/core/viewlets/ogp_tag_header.pt +19 -0
  233. imio/smartweb/core/viewlets/ogptags.py +144 -0
  234. imio/smartweb/core/viewlets/social.py +23 -0
  235. imio/smartweb/core/vocabularies.py +66 -2
  236. imio/smartweb/core/vocabularies.zcml +18 -0
  237. imio/smartweb/core/webcomponents/build/1c1605a5fe9a2b10a88f.png +1 -0
  238. imio/smartweb/core/webcomponents/build/524db40e119aa11f4478.png +1 -0
  239. imio/smartweb/core/webcomponents/build/57d3b7cb1ab874660b39.svg +1 -0
  240. imio/smartweb/core/webcomponents/build/6cf03871df23ed2ee8b3.png +1 -0
  241. imio/smartweb/core/webcomponents/build/css/373.smartweb-webcomponents-compiled.css +1 -0
  242. imio/smartweb/core/webcomponents/build/css/486.smartweb-webcomponents-compiled.css +1 -0
  243. imio/smartweb/core/webcomponents/build/css/884.smartweb-webcomponents-compiled.css +1 -0
  244. imio/smartweb/core/webcomponents/build/css/919.smartweb-webcomponents-compiled.css +1 -0
  245. imio/smartweb/core/webcomponents/build/css/smartweb-webcomponents-compiled.css +1 -1
  246. imio/smartweb/core/webcomponents/build/js/218.smartweb-webcomponents-compiled.js +2 -0
  247. imio/smartweb/core/webcomponents/build/js/218.smartweb-webcomponents-compiled.js.LICENSE.txt +16 -0
  248. imio/smartweb/core/webcomponents/build/js/373.smartweb-webcomponents-compiled.js +2 -0
  249. imio/smartweb/core/webcomponents/build/js/373.smartweb-webcomponents-compiled.js.LICENSE.txt +10 -0
  250. imio/smartweb/core/webcomponents/build/js/486.smartweb-webcomponents-compiled.js +1 -0
  251. imio/smartweb/core/webcomponents/build/js/499.smartweb-webcomponents-compiled.js +2 -0
  252. imio/smartweb/core/webcomponents/build/js/{212.smartweb-webcomponents-compiled.js.LICENSE.txt → 499.smartweb-webcomponents-compiled.js.LICENSE.txt} +1 -8
  253. imio/smartweb/core/webcomponents/build/js/799.smartweb-webcomponents-compiled.js +2 -0
  254. imio/smartweb/core/webcomponents/build/js/824.smartweb-webcomponents-compiled.js +2 -0
  255. imio/smartweb/core/webcomponents/build/js/828.smartweb-webcomponents-compiled.js +2 -0
  256. imio/smartweb/core/webcomponents/build/js/828.smartweb-webcomponents-compiled.js.LICENSE.txt +32 -0
  257. imio/smartweb/core/webcomponents/build/js/884.smartweb-webcomponents-compiled.js +1 -0
  258. imio/smartweb/core/webcomponents/build/js/919.smartweb-webcomponents-compiled.js +1 -0
  259. imio/smartweb/core/webcomponents/build/js/963.smartweb-webcomponents-compiled.js +2 -0
  260. imio/smartweb/core/webcomponents/build/js/963.smartweb-webcomponents-compiled.js.LICENSE.txt +3 -0
  261. imio/smartweb/core/webcomponents/build/js/smartweb-webcomponents-compiled.js +1 -1
  262. imio/smartweb/core/webcomponents/build/js/smartweb-webcomponents-compiled.js.LICENSE.txt +11 -14
  263. imio/smartweb/core/webcomponents/package.json +46 -44
  264. imio/smartweb/core/webcomponents/src/assets/contentIcon/download.svg +1 -0
  265. imio/smartweb/core/webcomponents/src/components/Annuaire/Annuaire.jsx +160 -92
  266. imio/smartweb/core/webcomponents/src/components/Annuaire/Annuaire.scss +250 -157
  267. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactCard/ContactCard.jsx +113 -81
  268. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactContent/ContactContent.jsx +394 -188
  269. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactList/ContactList.jsx +26 -9
  270. imio/smartweb/core/webcomponents/src/components/Annuaire/Filters/Filter.jsx +213 -100
  271. imio/smartweb/core/webcomponents/src/components/Annuaire/index.js +1 -1
  272. imio/smartweb/core/webcomponents/src/components/Events/EventCard/EventCard.jsx +86 -0
  273. imio/smartweb/core/webcomponents/src/components/Events/EventContent/EventContent.jsx +615 -0
  274. imio/smartweb/core/webcomponents/src/components/Events/EventList/EventList.jsx +67 -0
  275. imio/smartweb/core/webcomponents/src/components/Events/Events.jsx +181 -103
  276. imio/smartweb/core/webcomponents/src/components/Events/Events.scss +316 -182
  277. imio/smartweb/core/webcomponents/src/components/Events/Filters/Filter.jsx +275 -80
  278. imio/smartweb/core/webcomponents/src/components/Filters/DateFilter.jsx +136 -0
  279. imio/smartweb/core/webcomponents/src/components/Filters/DateFilter.scss +104 -0
  280. imio/smartweb/core/webcomponents/src/components/Filters/IamData.jsx +42 -0
  281. imio/smartweb/core/webcomponents/src/components/Filters/MainFilter.scss +227 -0
  282. imio/smartweb/core/webcomponents/src/components/Filters/PublicTargetData.jsx +94 -0
  283. imio/smartweb/core/webcomponents/src/components/Filters/SelectStyles.js +58 -0
  284. imio/smartweb/core/webcomponents/src/components/Filters/TaxonomyFilter.jsx +149 -0
  285. imio/smartweb/core/webcomponents/src/components/Filters/TaxonomyFilter.scss +70 -0
  286. imio/smartweb/core/webcomponents/src/components/News/Filters/Filter.jsx +139 -83
  287. imio/smartweb/core/webcomponents/src/components/News/News.jsx +141 -74
  288. imio/smartweb/core/webcomponents/src/components/News/News.scss +41 -15
  289. imio/smartweb/core/webcomponents/src/components/News/NewsCard/NewsCard.jsx +96 -0
  290. imio/smartweb/core/webcomponents/src/components/News/NewsContent/NewsContent.jsx +309 -0
  291. imio/smartweb/core/webcomponents/src/components/News/NewsList/NewsList.jsx +76 -0
  292. imio/smartweb/core/webcomponents/src/components/Search/ContactResult/ContactResult.jsx +28 -14
  293. imio/smartweb/core/webcomponents/src/components/Search/EventsResult/EventsResult.jsx +28 -14
  294. imio/smartweb/core/webcomponents/src/components/Search/Filters/Filter.jsx +51 -32
  295. imio/smartweb/core/webcomponents/src/components/Search/NewsResult/NewsResult.jsx +29 -15
  296. imio/smartweb/core/webcomponents/src/components/Search/Search.jsx +18 -13
  297. imio/smartweb/core/webcomponents/src/components/Search/Search.scss +125 -105
  298. imio/smartweb/core/webcomponents/src/components/Search/WebResult/WebResult.jsx +19 -6
  299. imio/smartweb/core/webcomponents/src/components/Search/index.js +1 -1
  300. imio/smartweb/core/webcomponents/src/hooks/ScrollContext.jsx +3 -0
  301. imio/smartweb/core/webcomponents/src/hooks/useAxios.js +3 -6
  302. imio/smartweb/core/webcomponents/src/hooks/useFilterQuery.js +1 -2
  303. imio/smartweb/core/webcomponents/src/index.scss +246 -211
  304. imio/smartweb/core/webcomponents/src/utils/Map.jsx +159 -0
  305. imio/smartweb/core/webcomponents/src/{components/Annuaire/ContactMap/ContactMap.scss → utils/Map.scss} +2 -2
  306. imio/smartweb/core/webcomponents/src/utils/translation.js +283 -14
  307. imio.smartweb.core-1.2.68-py3.11-nspkg.pth +2 -0
  308. {imio.smartweb.core-1.2.12.dist-info → imio.smartweb.core-1.2.68.dist-info}/METADATA +548 -3
  309. {imio.smartweb.core-1.2.12.dist-info → imio.smartweb.core-1.2.68.dist-info}/RECORD +317 -240
  310. {imio.smartweb.core-1.2.12.dist-info → imio.smartweb.core-1.2.68.dist-info}/WHEEL +1 -1
  311. imio/smartweb/core/webcomponents/build/assets/location-bla.1423bcce16ddcb21141430cac1428dc1.svg +0 -1
  312. imio/smartweb/core/webcomponents/build/assets/next-react-white.819cb069ac8eec300a9db6a7707712d6.svg +0 -1
  313. imio/smartweb/core/webcomponents/build/assets/next-react.17bc43ff4a6a86f4520f5782f6a89a72.svg +0 -1
  314. imio/smartweb/core/webcomponents/build/assets/search.57bdbf5b191499cd77514097d1c4972c.svg +0 -1
  315. imio/smartweb/core/webcomponents/build/css/267.smartweb-webcomponents-compiled.css +0 -1
  316. imio/smartweb/core/webcomponents/build/css/323.smartweb-webcomponents-compiled.css +0 -1
  317. imio/smartweb/core/webcomponents/build/css/552.smartweb-webcomponents-compiled.css +0 -1
  318. imio/smartweb/core/webcomponents/build/css/779.smartweb-webcomponents-compiled.css +0 -1
  319. imio/smartweb/core/webcomponents/build/js/144.smartweb-webcomponents-compiled.js +0 -2
  320. imio/smartweb/core/webcomponents/build/js/212.smartweb-webcomponents-compiled.js +0 -2
  321. imio/smartweb/core/webcomponents/build/js/267.smartweb-webcomponents-compiled.js +0 -1
  322. imio/smartweb/core/webcomponents/build/js/323.smartweb-webcomponents-compiled.js +0 -2
  323. imio/smartweb/core/webcomponents/build/js/323.smartweb-webcomponents-compiled.js.LICENSE.txt +0 -1
  324. imio/smartweb/core/webcomponents/build/js/552.smartweb-webcomponents-compiled.js +0 -2
  325. imio/smartweb/core/webcomponents/build/js/552.smartweb-webcomponents-compiled.js.LICENSE.txt +0 -1
  326. imio/smartweb/core/webcomponents/build/js/565.smartweb-webcomponents-compiled.js +0 -1
  327. imio/smartweb/core/webcomponents/build/js/612.smartweb-webcomponents-compiled.js +0 -2
  328. imio/smartweb/core/webcomponents/build/js/612.smartweb-webcomponents-compiled.js.LICENSE.txt +0 -1
  329. imio/smartweb/core/webcomponents/build/js/779.smartweb-webcomponents-compiled.js +0 -1
  330. imio/smartweb/core/webcomponents/build/js/9.smartweb-webcomponents-compiled.js +0 -2
  331. imio/smartweb/core/webcomponents/build/js/969.smartweb-webcomponents-compiled.js +0 -2
  332. imio/smartweb/core/webcomponents/build/js/969.smartweb-webcomponents-compiled.js.LICENSE.txt +0 -642
  333. imio/smartweb/core/webcomponents/pnpm-lock.yaml +0 -7066
  334. imio/smartweb/core/webcomponents/src/assets/facebook-news.svg +0 -1
  335. imio/smartweb/core/webcomponents/src/assets/location-bla.svg +0 -1
  336. imio/smartweb/core/webcomponents/src/assets/next-react.svg +0 -1
  337. imio/smartweb/core/webcomponents/src/assets/search.svg +0 -1
  338. imio/smartweb/core/webcomponents/src/assets/skeleton.svg +0 -1
  339. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactMap/ContactMap.jsx +0 -156
  340. imio/smartweb/core/webcomponents/src/components/Annuaire/Skeleton/LoaderCss.jsx +0 -7
  341. imio/smartweb/core/webcomponents/src/components/Annuaire/Skeleton/Skeleton.jsx +0 -20
  342. imio/smartweb/core/webcomponents/src/components/Events/ContactCard/ContactCard.jsx +0 -49
  343. imio/smartweb/core/webcomponents/src/components/Events/ContactContent/ContactContent.jsx +0 -400
  344. imio/smartweb/core/webcomponents/src/components/Events/ContactList/ContactList.jsx +0 -42
  345. imio/smartweb/core/webcomponents/src/components/Events/ContactMap/ContactMap.jsx +0 -156
  346. imio/smartweb/core/webcomponents/src/components/Events/Skeleton/Skeleton.jsx +0 -20
  347. imio/smartweb/core/webcomponents/src/components/News/ContactCard/ContactCard.jsx +0 -78
  348. imio/smartweb/core/webcomponents/src/components/News/ContactContent/ContactContent.jsx +0 -261
  349. imio/smartweb/core/webcomponents/src/components/News/ContactList/ContactList.jsx +0 -37
  350. imio/smartweb/core/webcomponents/src/components/News/ContactMap/ContactMap.jsx +0 -127
  351. imio/smartweb/core/webcomponents/src/components/News/ContactMap/ContactMap.scss +0 -4
  352. imio/smartweb/core/webcomponents/src/components/News/Skeleton/Skeleton.jsx +0 -20
  353. imio/smartweb/core/webcomponents/src/components/Search/Skeleton/Skeleton.jsx +0 -20
  354. imio.smartweb.core-1.2.12-py3.10-nspkg.pth +0 -3
  355. /imio/smartweb/core/{webcomponents/src/components/Events/ContactMap/ContactMap.scss → contents/publication/__init__.py} +0 -0
  356. /imio/smartweb/core/webcomponents/build/js/{144.smartweb-webcomponents-compiled.js.LICENSE.txt → 799.smartweb-webcomponents-compiled.js.LICENSE.txt} +0 -0
  357. /imio/smartweb/core/webcomponents/build/js/{9.smartweb-webcomponents-compiled.js.LICENSE.txt → 824.smartweb-webcomponents-compiled.js.LICENSE.txt} +0 -0
  358. {imio.smartweb.core-1.2.12.dist-info → imio.smartweb.core-1.2.68.dist-info}/LICENSE.GPL +0 -0
  359. {imio.smartweb.core-1.2.12.dist-info → imio.smartweb.core-1.2.68.dist-info}/LICENSE.rst +0 -0
  360. {imio.smartweb.core-1.2.12.dist-info → imio.smartweb.core-1.2.68.dist-info}/namespace_packages.txt +0 -0
  361. {imio.smartweb.core-1.2.12.dist-info → imio.smartweb.core-1.2.68.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,24 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ from imio.smartweb.locales import SmartwebMessageFactory as _
4
+ from plone.autoform import directives
5
+ from plone.autoform.interfaces import IFormFieldProvider
6
+ from plone.supermodel import model
7
+ from zope import schema
8
+ from zope.interface import provider
9
+
10
+
11
+ @provider(IFormFieldProvider)
12
+ class ICategoryDisplay(model.Schema):
13
+ directives.order_before(show_categories_or_topics="IOrientation.orientation")
14
+
15
+ model.fieldset("layout", fields=["show_categories_or_topics"])
16
+ show_categories_or_topics = schema.Choice(
17
+ title=_("Show category or topic"),
18
+ description=_(
19
+ "Select if you want (specific) category or (first) topic displayed on items"
20
+ ),
21
+ source="imio.smartweb.vocabulary.CategoriesDisplay",
22
+ required=True,
23
+ default="category",
24
+ )
@@ -5,6 +5,13 @@
5
5
 
6
6
  <include package="plone.behavior" file="meta.zcml"/>
7
7
 
8
+ <plone:behavior
9
+ name="imio.smartweb.category_display"
10
+ title="Categories / Topics display"
11
+ description="Allow to choose to display categories or topics"
12
+ provides=".categorization.ICategoryDisplay"
13
+ />
14
+
8
15
  <plone:behavior
9
16
  name="imio.smartweb.orientation"
10
17
  title="Image orientation"
@@ -57,7 +57,7 @@
57
57
  for="*"
58
58
  class=".utils.UtilsView"
59
59
  permission="zope2.View"
60
- allowed_attributes="is_previewable_content map_configuration"
60
+ allowed_attributes="is_previewable_content map_configuration is_plausible_set"
61
61
  layer="imio.smartweb.core.interfaces.IImioSmartwebCoreLayer"
62
62
  />
63
63
 
@@ -88,6 +88,46 @@
88
88
  layer="imio.smartweb.core.interfaces.IImioSmartwebCoreLayer"
89
89
  />
90
90
 
91
+ <browser:page
92
+ name="sitemap.xml.gz"
93
+ for="plone.base.interfaces.INavigationRoot"
94
+ class=".sitemap.CustomSiteMapView"
95
+ permission="zope2.Public"
96
+ layer="imio.smartweb.core.interfaces.IImioSmartwebCoreLayer"
97
+ />
98
+
99
+ <browser:page
100
+ name="events_view"
101
+ for="*"
102
+ class=".redirect_to_main_react_view.EventsView"
103
+ permission="zope2.View"
104
+ layer="imio.smartweb.core.interfaces.IImioSmartwebCoreLayer"
105
+ />
106
+
107
+ <browser:page
108
+ name="directory_view"
109
+ for="*"
110
+ class=".redirect_to_main_react_view.DirectoryView"
111
+ permission="zope2.View"
112
+ layer="imio.smartweb.core.interfaces.IImioSmartwebCoreLayer"
113
+ />
114
+
115
+ <browser:page
116
+ name="news_view"
117
+ for="*"
118
+ class=".redirect_to_main_react_view.NewsView"
119
+ permission="zope2.View"
120
+ layer="imio.smartweb.core.interfaces.IImioSmartwebCoreLayer"
121
+ />
122
+
123
+ <browser:page
124
+ name="getVocabulary"
125
+ for="*"
126
+ class=".vocabulary.SmartwebVocabularyView"
127
+ permission="zope2.View"
128
+ layer="imio.smartweb.core.interfaces.IImioSmartwebCoreLayer"
129
+ />
130
+
91
131
  <z3c:widgetTemplate
92
132
  mode="input"
93
133
  widget="plone.app.z3cform.interfaces.ILinkWidget"
@@ -3,6 +3,7 @@
3
3
  from collective.z3cform.datagridfield.datagridfield import DataGridFieldFactory
4
4
  from collective.z3cform.datagridfield.registry import DictRow
5
5
  from imio.smartweb.locales import SmartwebMessageFactory as _
6
+ from plone import api
6
7
  from plone.app.registry.browser.controlpanel import ControlPanelFormWrapper
7
8
  from plone.app.registry.browser.controlpanel import RegistryEditForm
8
9
  from plone.autoform import directives
@@ -165,12 +166,52 @@ class ISmartwebControlPanel(Interface):
165
166
  required=False,
166
167
  )
167
168
 
169
+ iadeliberations_url = schema.TextLine(
170
+ title=_("I.A. Deliberations' url"),
171
+ description=_(
172
+ "For staging : https://conseil.staging.imio.be | for production : https://www.deliberations.be"
173
+ ),
174
+ required=False,
175
+ )
176
+
177
+ iadeliberations_api_username = schema.TextLine(
178
+ title=_("Username to consume I.A. Deliberations API"),
179
+ required=False,
180
+ )
181
+
182
+ iadeliberation_api_password = schema.Password(
183
+ title=_("Password to consume I.A. Deliberations API"),
184
+ required=False,
185
+ )
186
+
187
+ iadeliberations_institution = schema.Choice(
188
+ title=_("I.A. Deliberations : Institutions"),
189
+ source="imio.smartweb.vocabulary.IADeliberationsInstitutions",
190
+ required=False,
191
+ )
192
+
168
193
 
169
194
  class SmartwebControlPanelForm(RegistryEditForm):
170
195
  schema = ISmartwebControlPanel
171
196
  schema_prefix = "smartweb"
172
197
  label = _("Smartweb Settings")
173
198
 
199
+ def applyChanges(self, data):
200
+ # Get current registry value for (controlpanel) passwords
201
+ iadeliberation_pwd = api.portal.get_registry_record(
202
+ "smartweb.iadeliberation_api_password"
203
+ )
204
+ secret_key_api = api.portal.get_registry_record("smartweb.secret_key_api")
205
+
206
+ # if data is None when we apply changes for password fields we keep password from registry
207
+ if not data.get("iadeliberation_api_password"):
208
+ data["iadeliberation_api_password"] = iadeliberation_pwd
209
+
210
+ if not data.get("secret_key_api"):
211
+ data["secret_key_api"] = secret_key_api
212
+
213
+ return super().applyChanges(data)
214
+
174
215
 
175
216
  SmartwebControlPanelView = layout.wrap_form(
176
217
  SmartwebControlPanelForm, ControlPanelFormWrapper
@@ -5,9 +5,7 @@
5
5
  <include package="plone.app.contentmenu" />
6
6
  <browser:page
7
7
  name="stats"
8
- title="Plausible dashboard"
9
8
  template="plausible.pt"
10
- menu="plone_displayviews"
11
9
  for="plone.base.interfaces.siteroot.IPloneSiteRoot"
12
10
  class=".plausible.PlausibleView"
13
11
  permission="cmf.ModifyPortalContent"
@@ -1,18 +1,18 @@
1
1
  from Products.Five.browser import BrowserView
2
- from imio.smartweb.core.browser.utils import get_plausible_vars
2
+ from imio.smartweb.core.utils import get_plausible_vars
3
3
 
4
4
 
5
5
  class PlausibleView(BrowserView):
6
6
  @property
7
7
  def is_plausible_set(self):
8
- return True if get_plausible_vars(self) else False
8
+ return True if get_plausible_vars() else False
9
9
 
10
10
  @property
11
11
  def get_embedhostjs_src(self):
12
- vars = get_plausible_vars(self)
12
+ vars = get_plausible_vars()
13
13
  return f"https://{vars['plausible_url']}/js/embed.host.js"
14
14
 
15
15
  @property
16
16
  def get_iframe_src(self):
17
- vars = get_plausible_vars(self)
17
+ vars = get_plausible_vars()
18
18
  return f"https://{vars['plausible_url']}/share/{vars['plausible_site']}?auth={vars['plausible_token']}&embed=true&theme=light&background=transparent"
@@ -22,12 +22,12 @@
22
22
  orientation_class python:images_orientation and f'display-{images_orientation}' or '';
23
23
  thumb_scale faceted_view/get_thumb_scale_summary">
24
24
 
25
- <div class="" id="block-menu"
25
+ <ul class="" id="block-menu"
26
26
  tal:attributes="class string:row row-cols-1 row-cols-sm-2 row-cols-md-3 row-cols-xl-4 g-4 ${orientation_class}">
27
- <div class="block-menu-element col" tal:repeat="item batch">
27
+ <li class="block-menu-element col" tal:repeat="item batch">
28
28
  <metal:macro use-macro="context/@@faceted-macros/block" />
29
- </div>
30
- </div>
29
+ </li>
30
+ </ul>
31
31
 
32
32
  </tal:def>
33
33
 
@@ -22,12 +22,12 @@
22
22
  orientation_class python:images_orientation and f'display-{images_orientation}' or '';
23
23
  thumb_scale faceted_view/get_thumb_scale_list">
24
24
 
25
- <div class="" id="block-menu"
25
+ <ul class="" id="block-menu"
26
26
  tal:attributes="class string:row ${orientation_class}">
27
- <div class="list-menu-element col-12" tal:repeat="item batch">
27
+ <li class="list-menu-element col-12" tal:repeat="item batch">
28
28
  <metal:macro use-macro="context/@@faceted-macros/summary" />
29
- </div>
30
- </div>
29
+ </li>
30
+ </ul>
31
31
 
32
32
  </tal:def>
33
33
 
@@ -18,9 +18,9 @@ class SmartwebCustomEditForm(CustomEditForm):
18
18
  # and for minisites to exclude them as well.
19
19
  for group in self.groups:
20
20
  if "IExcludeFromNavigation.exclude_from_nav" in group.fields:
21
- group.fields[
22
- "IExcludeFromNavigation.exclude_from_nav"
23
- ].mode = DISPLAY_MODE
21
+ group.fields["IExcludeFromNavigation.exclude_from_nav"].mode = (
22
+ DISPLAY_MODE
23
+ )
24
24
 
25
25
 
26
26
  SmartwebCustomEditView = layout.wrap_form(SmartwebCustomEditForm)
@@ -0,0 +1,52 @@
1
+ # # -*- coding: utf-8 -*-
2
+
3
+ from plone import api
4
+ from plone.app.multilingual import api as api_lng
5
+ from Products.Five.browser import BrowserView
6
+
7
+
8
+ def get_translation(obj, lang):
9
+ if not api_lng.is_translatable(obj):
10
+ return None
11
+ translation_manager = api_lng.get_translation_manager(obj)
12
+ translated_obj = translation_manager.get_translation(lang)
13
+ return translated_obj
14
+
15
+
16
+ class RestViewBaseView(BrowserView):
17
+
18
+ def get_rest_view_object(self):
19
+ rest_view_uid = api.portal.get_registry_record(self.registry_key, default=None)
20
+ if rest_view_uid is None:
21
+ return None
22
+ brains = api.content.find(UID=rest_view_uid)
23
+ if brains:
24
+ return brains[0].getObject()
25
+ return None
26
+
27
+ def __call__(self):
28
+ language = self.request.form.get("language", "fr")
29
+ default_language = api.portal.get_default_language()
30
+ rest_view_obj = self.get_rest_view_object()
31
+ if rest_view_obj is None:
32
+ self.request.response.redirect(api.portal.get().absolute_url())
33
+ return ""
34
+ if default_language != language:
35
+ translated_obj = get_translation(rest_view_obj, language)
36
+ if translated_obj is not None:
37
+ rest_view_obj = translated_obj
38
+ rest_view_url = rest_view_obj.absolute_url()
39
+ self.request.response.redirect(rest_view_url)
40
+ return ""
41
+
42
+
43
+ class DirectoryView(RestViewBaseView):
44
+ registry_key = "smartweb.default_directory_view"
45
+
46
+
47
+ class EventsView(RestViewBaseView):
48
+ registry_key = "smartweb.default_events_view"
49
+
50
+
51
+ class NewsView(RestViewBaseView):
52
+ registry_key = "smartweb.default_news_view"
@@ -5,7 +5,8 @@
5
5
  <metal:main fill-slot="content-core">
6
6
 
7
7
  <div class="">
8
- <smartweb-search tal:attributes="query-url view/navroot_url;
8
+ <smartweb-search tal:attributes="current-language view/current_language;
9
+ query-url view/navroot_url;
9
10
  result-option view/get_search_result_option">
10
11
  </smartweb-search >
11
12
  </div>
@@ -67,3 +67,7 @@ class Search(Search):
67
67
  }
68
68
 
69
69
  return json.dumps(response)
70
+
71
+ @property
72
+ def current_language(self):
73
+ return api.portal.get_current_language()[:2]
@@ -0,0 +1,148 @@
1
+ from BTrees.OOBTree import OOBTree
2
+ from imio.smartweb.core.config import DIRECTORY_URL
3
+ from imio.smartweb.core.config import EVENTS_URL
4
+ from imio.smartweb.core.config import NEWS_URL
5
+ from imio.smartweb.core.contents.rest.utils import get_auth_sources_response
6
+ from imio.smartweb.core.contents.rest.utils import get_entity_id
7
+ from plone import api
8
+ from plone.base.interfaces import IPloneSiteRoot
9
+ from plone.app.layout.sitemap.sitemap import SiteMapView
10
+ from plone.registry.interfaces import IRegistry
11
+ from Products.CMFCore.utils import getToolByName
12
+ from Products.CMFPlone.utils import normalizeString
13
+ from zope.component import getUtility
14
+
15
+ import logging
16
+
17
+ logger = logging.getLogger("imio.smartweb.core")
18
+
19
+
20
+ class CustomSiteMapView(SiteMapView):
21
+
22
+ def objects(self):
23
+ """Returns the data to create the sitemap."""
24
+
25
+ friendlytypes = [
26
+ "Link",
27
+ "imio.smartweb.Folder",
28
+ "LIF",
29
+ "LRF",
30
+ "imio.smartweb.Page",
31
+ "imio.smartweb.Procedure",
32
+ "File",
33
+ "Collection",
34
+ "imio.smartweb.PortalPage",
35
+ "Image",
36
+ "imio.smartweb.CirkwiView",
37
+ ]
38
+
39
+ catalog = getToolByName(self.context, "portal_catalog")
40
+ query = {}
41
+ utils = getToolByName(self.context, "plone_utils")
42
+ query["portal_type"] = utils.getUserFriendlyTypes(friendlytypes)
43
+ registry = getUtility(IRegistry)
44
+ typesUseViewActionInListings = frozenset(
45
+ registry.get("plone.types_use_view_action_in_listings", [])
46
+ )
47
+
48
+ is_plone_site_root = IPloneSiteRoot.providedBy(self.context)
49
+ if not is_plone_site_root:
50
+ query["path"] = "/".join(self.context.getPhysicalPath())
51
+
52
+ query["is_default_page"] = True
53
+ default_page_modified = OOBTree()
54
+ for item in catalog.searchResults(query):
55
+ key = item.getURL().rsplit("/", 1)[0]
56
+ value = (item.modified.micros(), item.modified.ISO8601())
57
+ default_page_modified[key] = value
58
+
59
+ # The plone site root is not catalogued.
60
+ if is_plone_site_root:
61
+ loc = self.context.absolute_url()
62
+ date = self.context.modified()
63
+ # Comparison must be on GMT value
64
+ modified = (date.micros(), date.ISO8601())
65
+ default_modified = default_page_modified.get(loc, None)
66
+ if default_modified is not None:
67
+ modified = max(modified, default_modified)
68
+ lastmod = modified[1]
69
+ yield {
70
+ "loc": loc,
71
+ "lastmod": lastmod,
72
+ # 'changefreq': 'always',
73
+ # hourly/daily/weekly/monthly/yearly/never
74
+ # 'prioriy': 0.5, # 0.0 to 1.0
75
+ }
76
+
77
+ query["is_default_page"] = False
78
+ for item in catalog.searchResults(query):
79
+ loc = item.getURL()
80
+ date = item.modified
81
+ # Comparison must be on GMT value
82
+ modified = (date.micros(), date.ISO8601())
83
+ default_modified = default_page_modified.get(loc, None)
84
+ if default_modified is not None:
85
+ modified = max(modified, default_modified)
86
+ lastmod = modified[1]
87
+ if item.portal_type in typesUseViewActionInListings:
88
+ loc += "/view"
89
+ yield {
90
+ "loc": loc,
91
+ "lastmod": lastmod,
92
+ }
93
+
94
+ auth_sources = {
95
+ "directory": {
96
+ "entity_reg_var": "smartweb.directory_entity_uid",
97
+ "main_rest_view": "smartweb.default_directory_view",
98
+ "vocabulary": "imio.smartweb.vocabulary.RemoteDirectoryEntities",
99
+ "url": DIRECTORY_URL,
100
+ },
101
+ "events": {
102
+ "entity_reg_var": "smartweb.events_entity_uid",
103
+ "main_rest_view": "smartweb.default_events_view",
104
+ "vocabulary": "imio.smartweb.vocabulary.RemoteEventsEntities",
105
+ "url": EVENTS_URL,
106
+ },
107
+ "news": {
108
+ "entity_reg_var": "smartweb.news_entity_uid",
109
+ "main_rest_view": "smartweb.default_news_view",
110
+ "vocabulary": "imio.smartweb.vocabulary.RemoteNewsEntities",
111
+ "url": NEWS_URL,
112
+ },
113
+ }
114
+ for auth_source_key, auth_source_value in auth_sources.items():
115
+ entity_uid = api.portal.get_registry_record(
116
+ auth_source_value.get("entity_reg_var")
117
+ )
118
+ if entity_uid is None:
119
+ return self.request.response.setStatus(404, "No entity found")
120
+ entity_id = get_entity_id(auth_source_value.get("vocabulary"), entity_uid)
121
+ auth_source_uid = api.portal.get_registry_record(
122
+ f"smartweb.default_{auth_source_key}_view", default=None
123
+ )
124
+ if auth_source_uid is None:
125
+ return self.request.response.setStatus(
126
+ 404, "No default authentic source found"
127
+ )
128
+ obj = api.content.get(UID=auth_source_uid)
129
+ if obj is None:
130
+ logger.warning(
131
+ f"Seems that a main authentic view (for {auth_source_key}) is not found"
132
+ )
133
+ continue
134
+ auth_source_view_url = obj.absolute_url()
135
+ results = get_auth_sources_response(
136
+ auth_source_key, normalizeString(entity_id), (60 * 60 * 24)
137
+ ).json()
138
+ if results is None or results.get("type") == "ValueError":
139
+ continue
140
+ for item in results.get("items"):
141
+ item_id = normalizeString(item.get("title"))
142
+ item_uid = item.get("id")
143
+ loc = f"{auth_source_view_url}/{item_id}?u={item_uid}"
144
+ lastmod = item.get("modified")
145
+ yield {
146
+ "loc": loc,
147
+ "lastmod": lastmod,
148
+ }
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" data-name="Calque 15" viewBox="0 0 14 16">
2
+ <path d="M5.5 1h3c.28 0 .5.22.5.5v1H5v-1c0-.28.22-.5.5-.5M10 2.5v-1C10 .67 9.33 0 8.5 0h-3C4.67 0 4 .67 4 1.5v1H.5c-.28 0-.5.22-.5.5s.22.5.5.5h.54l.85 10.66C1.97 15.2 2.84 16 3.88 16h6.23c1.04 0 1.91-.8 1.99-1.84l.85-10.66h.54c.28 0 .5-.22.5-.5s-.22-.5-.5-.5h-3.5Zm1.96 1-.85 10.58c-.04.52-.48.92-1 .92H3.89c-.52 0-.96-.4-1-.92L2.04 3.5h9.92Zm-7.49 1c.28-.02.51.19.53.47l.5 8.5c.01.28-.2.51-.48.52-.27.01-.5-.19-.52-.46L4 5.03c-.02-.28.19-.51.47-.53Zm5.06 0c.28.02.49.25.47.53l-.5 8.5c-.01.28-.24.49-.52.48s-.49-.24-.48-.52v-.02l.5-8.5c.02-.28.25-.49.53-.47M7 4.5c.28 0 .5.22.5.5v8.5c0 .28-.22.5-.5.5s-.5-.22-.5-.5V5c0-.28.22-.5.5-.5"/>
3
+ </svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48.01 35.28"><path d="M33.07 17.16a3.83 3.83 0 1 0 0-7.66 3.83 3.83 0 0 0 0 7.66Zm5.3 3a13.459 13.459 0 0 0-10.6 0c-1.42.61-2.35.86-2.35 2.42v1.27c0 .55.43 1 .98 1.01h13.33c.55 0 .99-.46.99-1.01v-1.27c0-1.56-.92-1.81-2.35-2.42Z"/><path d="M44.17 35.28H3.84C1.72 35.28 0 33.56 0 31.44V3.84C0 1.72 1.72 0 3.84 0h40.33c2.08 0 3.81 1.7 3.84 3.78v27.67c0 2.12-1.72 3.84-3.84 3.84ZM3.84 2.01c-1.01 0-1.83.82-1.83 1.83v27.61c0 1.01.82 1.83 1.83 1.83h40.33c1.01 0 1.83-.82 1.83-1.83V3.8c-.01-.98-.84-1.79-1.83-1.79H3.84Z"/><path d="M12.18 12.34H10c-1.62 0-2.95 1.29-3 2.91h5.18v-2.91Zm0 4.21H7v2.92h5.18v-2.92Zm1.3 2.92v-2.92h4.86v2.92h-4.86Zm-1.3 1.3H7a2.997 2.997 0 0 0 3 2.91h2.18v-2.91Zm1.3 2.91v-2.91h4.86c-.05 1.62-1.38 2.92-3 2.91h-1.86Zm0-8.42v-2.92h1.86c1.62 0 2.95 1.29 3 2.92h-4.86Z" style="fill-rule:evenodd"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="#000" viewBox="0 0 48.01 35.28"><path d="M33.07 17.16a3.83 3.83 0 1 0 0-7.66 3.83 3.83 0 0 0 0 7.66Zm5.3 3a13.459 13.459 0 0 0-10.6 0c-1.42.61-2.35.86-2.35 2.42v1.27c0 .55.43 1 .98 1.01h13.33c.55 0 .99-.46.99-1.01v-1.27c0-1.56-.92-1.81-2.35-2.42Z"/><path d="M44.17 35.28H3.84C1.72 35.28 0 33.56 0 31.44V3.84C0 1.72 1.72 0 3.84 0h40.33c2.08 0 3.81 1.7 3.84 3.78v27.67c0 2.12-1.72 3.84-3.84 3.84ZM3.84 2.01c-1.01 0-1.83.82-1.83 1.83v27.61c0 1.01.82 1.83 1.83 1.83h40.33c1.01 0 1.83-.82 1.83-1.83V3.8c-.01-.98-.84-1.79-1.83-1.79H3.84Z"/><path d="M12.18 12.34H10c-1.62 0-2.95 1.29-3 2.91h5.18v-2.91Zm0 4.21H7v2.92h5.18v-2.92Zm1.3 2.92v-2.92h4.86v2.92h-4.86Zm-1.3 1.3H7a2.997 2.997 0 0 0 3 2.91h2.18v-2.91Zm1.3 2.91v-2.91h4.86c-.05 1.62-1.38 2.92-3 2.91h-1.86Zm0-8.42v-2.92h1.86c1.62 0 2.95 1.29 3 2.92h-4.86Z" style="fill-rule:evenodd"/></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M22 6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6zm-2 0l-8 5-8-5h16zm0 12H4V8l8 5 8-5v10z"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="#000" height="24px" viewBox="0 0 24 24" width="24px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M22 6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6zm-2 0l-8 5-8-5h16zm0 12H4V8l8 5 8-5v10z"/></svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" data-name="Calque 6" viewBox="0 0 15.85 14.02">
2
+ <path d="M0 3.76c.05-.14.08-.29.14-.42.31-.65.83-.96 1.54-.97h2.75v-.45c.01-.26 0-.52.06-.77C4.65.51 5.24.03 5.91.01c.92-.02 1.84-.02 2.75 0 .89.02 1.53.69 1.55 1.6v.77h2.76c.82 0 1.48.5 1.63 1.27.06.33.04.69.04 1.03 0 .14.04.24.13.34 1.45 1.51 1.44 3.84-.02 5.36-.08.08-.11.16-.11.27 0 .28.01.57-.05.85-.16.76-.79 1.26-1.6 1.26H9.43c-.05 0-.12 0-.15-.02-.06-.06-.14-.15-.14-.23 0-.07.1-.15.17-.2.04-.03.12-.01.18-.01h3.45c.59 0 1.04-.31 1.18-.84.05-.18.05-.37.07-.6-1.48.89-2.93.89-4.39 0-.14.14-.29.29-.43.44-.03.03-.03.08-.03.12.01.17-.04.31-.16.43-.63.63-1.25 1.26-1.88 1.88-.38.38-.98.37-1.35 0-.38-.38-.38-.97 0-1.36.62-.63 1.25-1.25 1.87-1.87.12-.12.26-.17.43-.16.05 0 .11-.02.15-.05.15-.13.28-.27.43-.42-.45-.66-.67-1.39-.68-2.19H4.27v.85c0 .38-.25.71-.62.82-.53.16-1.08-.2-1.12-.75-.02-.3 0-.61 0-.92C1.67 7.59.99 7.2.47 6.5c0 .07-.01.11-.01.15v4.44c0 .72.48 1.21 1.2 1.21H4.9c.19 0 .3.09.3.23 0 .15-.11.23-.31.23H1.66c-.85 0-1.44-.5-1.63-1.34 0-.02-.02-.05-.03-.07V3.76Zm4.29 3.43h3.78c.1 0 .12-.04.13-.13.42-2.69 3.45-4.1 5.79-2.69.05.03.11.07.18.11 0-.21.01-.4 0-.58-.01-.14-.04-.28-.1-.4-.22-.46-.6-.67-1.11-.67H1.57C.93 2.87.47 3.35.47 4v.9c0 .76.3 1.37.9 1.83.34.26.72.41 1.16.45-.01-.28.02-.54.21-.75.19-.21.42-.31.7-.31.5.01.76.33.86 1.05ZM12.1 4.3c-1.88-.05-3.42 1.43-3.48 3.29-.06 1.81 1.39 3.39 3.22 3.48 1.86.09 3.46-1.35 3.55-3.2.09-1.9-1.36-3.48-3.28-3.56ZM5.39 2.37v-.71c0-.46.24-.69.7-.69h2.46c.47 0 .7.23.7.7v.7h.51c-.02-.36 0-.72-.06-1.07-.08-.47-.5-.81-.96-.82C7.8.47 6.85.47 5.91.48c-.47 0-.91.38-.97.85-.05.34 0 .69 0 1.04h.47Zm3.39 0v-.7c0-.21-.03-.24-.24-.24H6.16c-.06 0-.12-.01-.17 0-.05.02-.13.08-.13.12-.01.27 0 .53 0 .81h2.93Zm-1.19 9.02c-.45.45-.89.88-1.32 1.32-.2.2-.19.5 0 .69.19.19.49.2.7 0 .12-.11.23-.23.35-.35l.96-.96c-.03-.03-.04-.06-.07-.08-.2-.21-.41-.42-.63-.64Zm-3.78-3.6v-.8c0-.21-.18-.37-.38-.37s-.4.12-.42.31c-.02.28 0 .57 0 .87h.81Zm-.01.48h-.81c0 .22-.04.43.16.57.14.1.29.11.44.03.23-.13.22-.35.21-.6Zm4.14 2.78.67.67c.09-.07.18-.15.3-.25-.17-.16-.32-.3-.46-.44q-.27-.26-.51.02Zm1.19-.8c-.14.13-.27.26-.39.38.11.11.22.21.3.3.13-.12.26-.25.39-.38-.09-.1-.2-.2-.3-.3Z"/>
3
+ <path d="M12 4.89c1.29.01 2.41.9 2.71 2.15.04.16-.02.28-.16.32-.14.03-.24-.04-.29-.2-.27-.98-.9-1.58-1.9-1.76-1.31-.24-2.61.8-2.68 2.13-.07 1.33.86 2.39 2.19 2.49 1.05.08 2.08-.66 2.36-1.7.01-.04.02-.09.04-.13.05-.14.16-.2.29-.17.12.03.19.15.16.29-.19.8-.63 1.42-1.36 1.81-1.05.56-2.1.5-3.05-.22-.95-.73-1.29-1.73-1-2.89.29-1.15 1.07-1.84 2.24-2.07.15-.03.31-.03.46-.05Z"/>
4
+ </svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28.18 19.82"><g id="Calque_2" data-name="Calque 2"><g id="Calque_1-2" data-name="Calque 1"><path d="M21.57,4.19a1.49,1.49,0,0,0-.92.78l-.95-.39a14.22,14.22,0,0,0-5.08-1.5,5.14,5.14,0,0,0-2.8,1.36H8.27C7.51,2.55,3.15,1,1.3.41L0,0V14.29H4.06l.26-.2a5.12,5.12,0,0,0,.59-.5l7.91,6.06.21.05a4.27,4.27,0,0,0,1,.12,2.32,2.32,0,0,0,1.49-.48l.1-.08,0,0,.24.14h.27a2.57,2.57,0,0,0,2.12-.86c.08-.1.14-.19.2-.28a2.58,2.58,0,0,0,1.82-.62,2,2,0,0,0,.4-.52,2.65,2.65,0,0,0,.91-.37A3,3,0,0,0,22.91,15a5.5,5.5,0,0,0,.82-.38l.16.45h4.29V1.74ZM6.18,5.11,3.91,11.7,3.65,12a1.58,1.58,0,0,1-.28.3H2V2.76A15,15,0,0,1,6.25,4.94l-.06.15Zm14.28,10L17.63,12l-1.48,1.35,2.64,2.89-.16,0-.31-.16-.68-.63a19,19,0,0,1-1.91-1.89l-1.61,1.19A19.82,19.82,0,0,0,16.29,17l.38.35a.63.63,0,0,1-.28.09l-.49-.33-2.37-2.51-1.45,1.37,1.76,1.87-.16,0L6,11.88,7.84,6.44h2a6.86,6.86,0,0,0-.93,1.27l-.07.2a2.25,2.25,0,0,0,.49,2.15,2.61,2.61,0,0,0,2.34.74A12.48,12.48,0,0,0,15,9.39c1.33,1.19,4.68,4.18,5.95,5.28A1.35,1.35,0,0,1,20.46,15.11Zm1.72-2c-1.6-1.4-6.39-5.67-6.44-5.72l-.57-.5-.64.4a12.49,12.49,0,0,1-3.25,1.52.59.59,0,0,1-.51-.13s-.06-.06,0-.2a16.3,16.3,0,0,1,2.15-2.33,4.48,4.48,0,0,1,1.74-1.09,13.13,13.13,0,0,1,4.3,1.34c.58.24,1.18.5,1.75.71L23,12.71A4.33,4.33,0,0,1,22.18,13.13Zm4-.09h-.89l-.2-.46L22.43,6.15V6l3.75-1.39Z"/></g></g></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="#000" viewBox="0 0 28.18 19.82"><g id="Calque_2" data-name="Calque 2"><g id="Calque_1-2" data-name="Calque 1"><path d="M21.57,4.19a1.49,1.49,0,0,0-.92.78l-.95-.39a14.22,14.22,0,0,0-5.08-1.5,5.14,5.14,0,0,0-2.8,1.36H8.27C7.51,2.55,3.15,1,1.3.41L0,0V14.29H4.06l.26-.2a5.12,5.12,0,0,0,.59-.5l7.91,6.06.21.05a4.27,4.27,0,0,0,1,.12,2.32,2.32,0,0,0,1.49-.48l.1-.08,0,0,.24.14h.27a2.57,2.57,0,0,0,2.12-.86c.08-.1.14-.19.2-.28a2.58,2.58,0,0,0,1.82-.62,2,2,0,0,0,.4-.52,2.65,2.65,0,0,0,.91-.37A3,3,0,0,0,22.91,15a5.5,5.5,0,0,0,.82-.38l.16.45h4.29V1.74ZM6.18,5.11,3.91,11.7,3.65,12a1.58,1.58,0,0,1-.28.3H2V2.76A15,15,0,0,1,6.25,4.94l-.06.15Zm14.28,10L17.63,12l-1.48,1.35,2.64,2.89-.16,0-.31-.16-.68-.63a19,19,0,0,1-1.91-1.89l-1.61,1.19A19.82,19.82,0,0,0,16.29,17l.38.35a.63.63,0,0,1-.28.09l-.49-.33-2.37-2.51-1.45,1.37,1.76,1.87-.16,0L6,11.88,7.84,6.44h2a6.86,6.86,0,0,0-.93,1.27l-.07.2a2.25,2.25,0,0,0,.49,2.15,2.61,2.61,0,0,0,2.34.74A12.48,12.48,0,0,0,15,9.39c1.33,1.19,4.68,4.18,5.95,5.28A1.35,1.35,0,0,1,20.46,15.11Zm1.72-2c-1.6-1.4-6.39-5.67-6.44-5.72l-.57-.5-.64.4a12.49,12.49,0,0,1-3.25,1.52.59.59,0,0,1-.51-.13s-.06-.06,0-.2a16.3,16.3,0,0,1,2.15-2.33,4.48,4.48,0,0,1,1.74-1.09,13.13,13.13,0,0,1,4.3,1.34c.58.24,1.18.5,1.75.71L23,12.71A4.33,4.33,0,0,1,22.18,13.13Zm4-.09h-.89l-.2-.46L22.43,6.15V6l3.75-1.39Z"/></g></g></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M11 23.59v-3.6c-5.01-.26-9-4.42-9-9.49C2 5.26 6.26 1 11.5 1S21 5.26 21 10.5c0 4.95-3.44 9.93-8.57 12.4l-1.43.69zM11.5 3C7.36 3 4 6.36 4 10.5S7.36 18 11.5 18H13v2.3c3.64-2.3 6-6.08 6-9.8C19 6.36 15.64 3 11.5 3zm-1 11.5h2v2h-2zm2-1.5h-2c0-3.25 3-3 3-5 0-1.1-.9-2-2-2s-2 .9-2 2h-2c0-2.21 1.79-4 4-4s4 1.79 4 4c0 2.5-3 2.75-3 5z"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="#000" height="24px" viewBox="0 0 24 24" width="24px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M11 23.59v-3.6c-5.01-.26-9-4.42-9-9.49C2 5.26 6.26 1 11.5 1S21 5.26 21 10.5c0 4.95-3.44 9.93-8.57 12.4l-1.43.69zM11.5 3C7.36 3 4 6.36 4 10.5S7.36 18 11.5 18H13v2.3c3.64-2.3 6-6.08 6-9.8C19 6.36 15.64 3 11.5 3zm-1 11.5h2v2h-2zm2-1.5h-2c0-3.25 3-3 3-5 0-1.1-.9-2-2-2s-2 .9-2 2h-2c0-2.21 1.79-4 4-4s4 1.79 4 4c0 2.5-3 2.75-3 5z"/></svg>
@@ -1 +1,2 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><g><rect fill="none" height="24" width="24"/></g><g><g/><g><circle cx="12" cy="4" r="2"/><path d="M15.89,8.11C15.5,7.72,14.83,7,13.53,7c-0.21,0-1.42,0-2.54,0C8.24,6.99,6,4.75,6,2H4c0,3.16,2.11,5.84,5,6.71V22h2v-6h2 v6h2V10.05L18.95,14l1.41-1.41L15.89,8.11z"/></g></g></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="#000" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px"><g><rect fill="none"
2
+ height="24" width="24"/></g><g><g/><g><circle cx="12" cy="4" r="2"/><path d="M15.89,8.11C15.5,7.72,14.83,7,13.53,7c-0.21,0-1.42,0-2.54,0C8.24,6.99,6,4.75,6,2H4c0,3.16,2.11,5.84,5,6.71V22h2v-6h2 v6h2V10.05L18.95,14l1.41-1.41L15.89,8.11z"/></g></g></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2zm-7 5h5v5h-5z"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="#000" height="24px" viewBox="0 0 24 24" width="24px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2zm-7 5h5v5h-5z"/></svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" data-name="Calque 13" viewBox="0 0 15.75 15.59">
2
+ <path d="M6.88 6.59V1c0-.55.45-1 1-1s1 .45 1 1v.59h5c.31 0 .61.15.8.4l.98 1.3c.13.18.13.42 0 .6l-.98 1.3c-.19.25-.49.4-.8.4h-5v10h-2v-5h-5c-.31 0-.61-.15-.8-.4L.1 8.89c-.13-.18-.13-.42 0-.6l.98-1.3c.19-.25.49-.4.8-.4h5Zm1 3v-2h-6l-.75 1 .75 1h6Zm0-5h6l.75-1-.75-1h-6v2Z"/>
3
+ </svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><g><rect fill="none" height="24" width="24"/></g><path d="M18,11c0,0.67,0,1.33,0,2c1.2,0,2.76,0,4,0c0-0.67,0-1.33,0-2C20.76,11,19.2,11,18,11z"/><path d="M16,17.61c0.96,0.71,2.21,1.65,3.2,2.39c0.4-0.53,0.8-1.07,1.2-1.6c-0.99-0.74-2.24-1.68-3.2-2.4 C16.8,16.54,16.4,17.08,16,17.61z"/><path d="M20.4,5.6C20,5.07,19.6,4.53,19.2,4c-0.99,0.74-2.24,1.68-3.2,2.4c0.4,0.53,0.8,1.07,1.2,1.6 C18.16,7.28,19.41,6.35,20.4,5.6z"/><path d="M4,9c-1.1,0-2,0.9-2,2v2c0,1.1,0.9,2,2,2h1v4h2v-4h1l5,3V6L8,9H4z M9.03,10.71L11,9.53v4.94l-1.97-1.18L8.55,13H8H4v-2h4 h0.55L9.03,10.71z"/><path d="M15.5,12c0-1.33-0.58-2.53-1.5-3.35v6.69C14.92,14.53,15.5,13.33,15.5,12z"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="#000" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px"><g><rect fill="none" height="24" width="24"/></g><path d="M18,11c0,0.67,0,1.33,0,2c1.2,0,2.76,0,4,0c0-0.67,0-1.33,0-2C20.76,11,19.2,11,18,11z"/><path d="M16,17.61c0.96,0.71,2.21,1.65,3.2,2.39c0.4-0.53,0.8-1.07,1.2-1.6c-0.99-0.74-2.24-1.68-3.2-2.4 C16.8,16.54,16.4,17.08,16,17.61z"/><path d="M20.4,5.6C20,5.07,19.6,4.53,19.2,4c-0.99,0.74-2.24,1.68-3.2,2.4c0.4,0.53,0.8,1.07,1.2,1.6 C18.16,7.28,19.41,6.35,20.4,5.6z"/><path d="M4,9c-1.1,0-2,0.9-2,2v2c0,1.1,0.9,2,2,2h1v4h2v-4h1l5,3V6L8,9H4z M9.03,10.71L11,9.53v4.94l-1.97-1.18L8.55,13H8H4v-2h4 h0.55L9.03,10.71z"/><path d="M15.5,12c0-1.33-0.58-2.53-1.5-3.35v6.69C14.92,14.53,15.5,13.33,15.5,12z"/></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="#000" height="24px" viewBox="0 0 24 24" width="24px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z"/></svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" data-name="Calque 8" viewBox="0 0 15.69 15.69">
2
+ <path d="M15.69 4.78c-.08.3-.26.52-.48.73-.15.14-.29.29-.43.43-.45.45-.81.51-1.39.21-.03.04-.06.09-.09.13-.49.76-1 1.52-1.48 2.29-.34.55-.72 1.06-1.21 1.49-.1.09-.13.19-.13.32v4.66h1c.17.02.29.15.3.31 0 .16-.12.31-.28.33H.35c-.19-.01-.33-.15-.33-.33 0-.18.14-.31.33-.31h.98V8.3c0-.36.09-.46.45-.46h1.69c-.03-.22-.07-.42-.09-.62-.19-2 1.09-3.82 3.05-4.31.98-.25 1.96-.5 2.94-.74.04 0 .08-.03.1-.03-.02-.17-.06-.34-.06-.5 0-.24.11-.45.28-.63.24-.24.46-.49.72-.71.12-.13.32-.2.5-.3h.34c.3.08.52.28.73.49 1.07 1.08 2.15 2.15 3.22 3.22.21.21.41.43.48.72v.34ZM4.15 7.84c.45 0 .88-.01 1.32 0 .22 0 .34-.04.47-.24.78-1.18 2.47-1.18 3.32-.02.2.28.19.38-.04.62-.79.79-1.58 1.58-2.37 2.38-.1.1-.2.23-.25.36-.22.5.06 1.02.6 1.11.3.05.56-.04.78-.26.87-.88 1.73-1.76 2.6-2.64.09-.09.19-.19.26-.3l1.56-2.4.51-.78c-.02-.03-.04-.05-.06-.06-.94-.95-1.87-1.89-2.81-2.84-.06-.06-.12-.07-.2-.05-1.09.28-2.17.55-3.26.83-1.92.51-2.98 2.37-2.42 4.3Zm5.66 3.07s-.03-.02-.05-.03c-.04.05-.07.1-.11.15-.44.44-.86.9-1.32 1.33-.71.67-1.87.45-2.31-.43-.29-.57-.16-1.26.33-1.76.51-.51 1.02-1.02 1.52-1.53.04-.04.07-.08.12-.13H1.97v6.51h7.84v-4.1ZM11.08.63c-.09.04-.18.07-.24.12-.24.23-.48.47-.72.71-.14.15-.14.32 0 .48.07.07.14.14.2.21 1.12 1.14 2.24 2.27 3.37 3.41.16.16.35.16.51 0l.69-.69c.16-.16.16-.34 0-.5-1.2-1.2-2.39-2.4-3.6-3.59-.06-.06-.15-.09-.24-.14Zm-4.49 7.2H8.6c-.46-.6-1.49-.61-2.01 0Z"/>
3
+ </svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M20.5 6c-2.61.7-5.67 1-8.5 1s-5.89-.3-8.5-1L3 8c1.86.5 4 .83 6 1v13h2v-6h2v6h2V9c2-.17 4.14-.5 6-1l-.5-2zM12 6c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="#000" height="24px" viewBox="0 0 24 24" width="24px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M20.5 6c-2.61.7-5.67 1-8.5 1s-5.89-.3-8.5-1L3 8c1.86.5 4 .83 6 1v13h2v-6h2v6h2V9c2-.17 4.14-.5 6-1l-.5-2zM12 6c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z"/></svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" data-name="Calque 5" viewBox="0 0 15.98 14.21">
2
+ <path d="M14.52 14.21H1.46c-.52 0-.99-.27-1.26-.73-.27-.48-.27-1.05 0-1.52L6.74.73c.13-.22.31-.41.53-.54.33-.19.72-.24 1.1-.14.37.1.69.34.88.68l6.53 11.22c.28.48.28 1.04 0 1.52-.26.46-.74.74-1.26.74ZM7.99.75c-.12 0-.24.03-.35.09-.11.06-.2.15-.26.26L.85 12.32c-.14.24-.14.53 0 .78.13.23.36.36.61.36h13.05c.26 0 .48-.13.61-.36.14-.24.14-.53 0-.78L8.6 1.1C8.51.93 8.35.82 8.17.77 8.11.75 8.05.75 7.99.75Zm0 11.53c-.73 0-1.32-.6-1.32-1.33s.59-1.33 1.32-1.33 1.32.6 1.32 1.33-.59 1.33-1.32 1.33Zm0-1.92c-.32 0-.58.26-.58.59s.26.59.58.59.58-.26.58-.59-.26-.59-.58-.59Zm0-.95h-.08c-.44-.04-.78-.38-.82-.82l-.33-3.37c-.07-.68.43-1.29 1.1-1.36h.12c.35 0 .68.14.91.4.24.26.35.61.32.96l-.33 3.37c-.02.24-.13.45-.32.61-.16.14-.36.21-.57.21Zm0-5.19-.05.37c-.27.03-.47.27-.44.55l.33 3.37c0 .08.07.14.14.15.06.01.09-.02.11-.03.02-.02.05-.05.06-.11l.33-3.38c.01-.14-.03-.28-.13-.39-.09-.1-.22-.16-.36-.16v-.37Z"/>
3
+ </svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M15 4v7H5.17l-.59.59-.58.58V4h11m1-2H3c-.55 0-1 .45-1 1v14l4-4h10c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1zm5 4h-2v9H6v2c0 .55.45 1 1 1h11l4 4V7c0-.55-.45-1-1-1z"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="#000" height="24px" viewBox="0 0 24 24" width="24px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M15 4v7H5.17l-.59.59-.58.58V4h11m1-2H3c-.55 0-1 .45-1 1v14l4-4h10c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1zm5 4h-2v9H6v2c0 .55.45 1 1 1h11l4 4V7c0-.55-.45-1-1-1z"/></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M22 10V6c0-1.11-.9-2-2-2H4c-1.1 0-1.99.89-1.99 2v4c1.1 0 1.99.9 1.99 2s-.89 2-2 2v4c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2v-4c-1.1 0-2-.9-2-2s.9-2 2-2zm-2-1.46c-1.19.69-2 1.99-2 3.46s.81 2.77 2 3.46V18H4v-2.54c1.19-.69 2-1.99 2-3.46 0-1.48-.8-2.77-1.99-3.46L4 6h16v2.54zM11 15h2v2h-2zm0-4h2v2h-2zm0-4h2v2h-2z"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="#000" height="24px" viewBox="0 0 24 24" width="24px"><path d="M0 0h24v24H0z" fill="none"/><path d="M22 10V6c0-1.11-.9-2-2-2H4c-1.1 0-1.99.89-1.99 2v4c1.1 0 1.99.9 1.99 2s-.89 2-2 2v4c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2v-4c-1.1 0-2-.9-2-2s.9-2 2-2zm-2-1.46c-1.19.69-2 1.99-2 3.46s.81 2.77 2 3.46V18H4v-2.54c1.19-.69 2-1.99 2-3.46 0-1.48-.8-2.77-1.99-3.46L4 6h16v2.54zM11 15h2v2h-2zm0-4h2v2h-2zm0-4h2v2h-2z"/></svg>
@@ -1 +1 @@
1
- <svg aria-labelledby="title" viewBox="0 0 45.47 39.41" xmlns="http://www.w3.org/2000/svg"><path d="M19.84.25c-.23.22-.55.99-2.66 6.53l-2.4 6.28-7.06-.03c-6.64-.03-7.07-.02-7.26.11-.62.4-.6 1.32.02 1.69.15.09.4.13.91.13s.7.03.7.09c0 .05.48 4.82 1.07 10.6.66 6.45 1.12 10.67 1.2 10.93a4.018 4.018 0 0 0 2.55 2.68c.47.16.53.16 16.07.16s15.61 0 16.07-.16a4.04 4.04 0 0 0 2.55-2.68c.08-.26.54-4.47 1.2-10.9.59-5.77 1.07-10.54 1.07-10.6 0-.09.1-.12.44-.12.53 0 .76-.11.99-.45.34-.5.16-1.12-.42-1.39l-.35-.17-6.67.03-6.67.03-2.13-6.17C28.33 4.72 27.6 2.61 26.85.5c-.18-.41-.91-.61-1.39-.36-.27.14-.47.5-.47.83 0 .13.92 2.89 2.04 6.14.68 1.97 1.36 3.95 2.04 5.92 0 .01-2.73.02-6.06.02s-6.06-.02-6.06-.04 1.02-2.7 2.26-5.94c1.24-3.24 2.26-5.99 2.26-6.11 0-.51-.5-.94-1.07-.94-.25 0-.37.05-.57.25m22 15.05c-.02.17-.51 4.88-1.08 10.47s-1.07 10.28-1.12 10.42c-.14.42-.71.97-1.19 1.15-.41.15-.53.16-15.48.16s-15.06 0-15.48-.16c-.47-.18-1.05-.74-1.19-1.17-.04-.14-.55-4.84-1.11-10.44-.35-3.49-.71-6.98-1.07-10.47l-.04-.27h37.81l-.04.31m-30.91 3.3c-.47.23-.45-.07-.48 7.05-.01 3.58 0 6.7.03 6.93.04.31.1.47.26.62.4.4 1.24.35 1.57-.1.16-.22.16-.23.16-7.05 0-5.55-.02-6.88-.1-7.08-.19-.44-.91-.62-1.44-.36m5.51 0c-.5.22-.48-.06-.48 7.36s0 7.07.39 7.35c.45.31 1.2.21 1.45-.2.15-.24.15-.44.15-7.15 0-6.13-.01-6.92-.12-7.07-.27-.38-.89-.51-1.4-.28m5.53 0c-.51.22-.48-.14-.48 7.37s-.03 7.2.54 7.43c.38.15.53.15.91 0 .58-.23.54.2.54-7.43s.03-7.15-.5-7.37a1.31 1.31 0 0 0-1.01 0m5.97 0c-.5.22-.48-.06-.48 7.36s0 7.07.39 7.35c.45.31 1.2.21 1.45-.2.15-.24.15-.44.15-7.15 0-6.13-.01-6.92-.12-7.07-.27-.38-.89-.51-1.4-.28m5.99 0c-.47.23-.45-.07-.47 7.05-.01 3.58 0 6.7.03 6.93.04.31.1.47.26.62.4.4 1.24.35 1.57-.1.16-.22.16-.23.16-7.05 0-5.55-.02-6.88-.1-7.08-.19-.44-.91-.62-1.44-.36"></path><title></title></svg>
1
+ <svg aria-labelledby="title" fill="000" viewBox="0 0 45.47 39.41" xmlns="http://www.w3.org/2000/svg"><path d="M19.84.25c-.23.22-.55.99-2.66 6.53l-2.4 6.28-7.06-.03c-6.64-.03-7.07-.02-7.26.11-.62.4-.6 1.32.02 1.69.15.09.4.13.91.13s.7.03.7.09c0 .05.48 4.82 1.07 10.6.66 6.45 1.12 10.67 1.2 10.93a4.018 4.018 0 0 0 2.55 2.68c.47.16.53.16 16.07.16s15.61 0 16.07-.16a4.04 4.04 0 0 0 2.55-2.68c.08-.26.54-4.47 1.2-10.9.59-5.77 1.07-10.54 1.07-10.6 0-.09.1-.12.44-.12.53 0 .76-.11.99-.45.34-.5.16-1.12-.42-1.39l-.35-.17-6.67.03-6.67.03-2.13-6.17C28.33 4.72 27.6 2.61 26.85.5c-.18-.41-.91-.61-1.39-.36-.27.14-.47.5-.47.83 0 .13.92 2.89 2.04 6.14.68 1.97 1.36 3.95 2.04 5.92 0 .01-2.73.02-6.06.02s-6.06-.02-6.06-.04 1.02-2.7 2.26-5.94c1.24-3.24 2.26-5.99 2.26-6.11 0-.51-.5-.94-1.07-.94-.25 0-.37.05-.57.25m22 15.05c-.02.17-.51 4.88-1.08 10.47s-1.07 10.28-1.12 10.42c-.14.42-.71.97-1.19 1.15-.41.15-.53.16-15.48.16s-15.06 0-15.48-.16c-.47-.18-1.05-.74-1.19-1.17-.04-.14-.55-4.84-1.11-10.44-.35-3.49-.71-6.98-1.07-10.47l-.04-.27h37.81l-.04.31m-30.91 3.3c-.47.23-.45-.07-.48 7.05-.01 3.58 0 6.7.03 6.93.04.31.1.47.26.62.4.4 1.24.35 1.57-.1.16-.22.16-.23.16-7.05 0-5.55-.02-6.88-.1-7.08-.19-.44-.91-.62-1.44-.36m5.51 0c-.5.22-.48-.06-.48 7.36s0 7.07.39 7.35c.45.31 1.2.21 1.45-.2.15-.24.15-.44.15-7.15 0-6.13-.01-6.92-.12-7.07-.27-.38-.89-.51-1.4-.28m5.53 0c-.51.22-.48-.14-.48 7.37s-.03 7.2.54 7.43c.38.15.53.15.91 0 .58-.23.54.2.54-7.43s.03-7.15-.5-7.37a1.31 1.31 0 0 0-1.01 0m5.97 0c-.5.22-.48-.06-.48 7.36s0 7.07.39 7.35c.45.31 1.2.21 1.45-.2.15-.24.15-.44.15-7.15 0-6.13-.01-6.92-.12-7.07-.27-.38-.89-.51-1.4-.28m5.99 0c-.47.23-.45-.07-.47 7.05-.01 3.58 0 6.7.03 6.93.04.31.1.47.26.62.4.4 1.24.35 1.57-.1.16-.22.16-.23.16-7.05 0-5.55-.02-6.88-.1-7.08-.19-.44-.91-.62-1.44-.36"></path><title></title></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><g><rect fill="none" height="24" width="24"/></g><g><g><path d="M9.22,7C9.7,6.47,10,5.77,10,5c0-1.66-1.34-3-3-3S4,3.34,4,5c0,0.77,0.3,1.47,0.78,2H9.22z"/><path d="M16,2c-2.21,0-4,1.79-4,4v12c0,1.1-0.9,2-2,2s-2-0.9-2-2h1l1-10H4l1,10h1c0,2.21,1.79,4,4,4s4-1.79,4-4V6c0-1.1,0.9-2,2-2 s2,0.9,2,2v16h2V6C20,3.79,18.21,2,16,2z M7.19,16H6.81l-0.6-6h1.58L7.19,16z"/></g></g></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="#000" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px"><g><rect fill="none" height="24" width="24"/></g><g><g><path d="M9.22,7C9.7,6.47,10,5.77,10,5c0-1.66-1.34-3-3-3S4,3.34,4,5c0,0.77,0.3,1.47,0.78,2H9.22z"/><path d="M16,2c-2.21,0-4,1.79-4,4v12c0,1.1-0.9,2-2,2s-2-0.9-2-2h1l1-10H4l1,10h1c0,2.21,1.79,4,4,4s4-1.79,4-4V6c0-1.1,0.9-2,2-2 s2,0.9,2,2v16h2V6C20,3.79,18.21,2,16,2z M7.19,16H6.81l-0.6-6h1.58L7.19,16z"/></g></g></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><g><rect fill="none" height="24" width="24"/></g><g><g><path d="M22,11V9L12,2L2,9v2h2v9H2v2h20v-2h-2v-9H22z M18,20H6V9h12V20z"/><polygon points="10,14 12,17 14,14 14,18 16,18 16,11 14,11 12,14 10,11 8,11 8,18 10,18"/></g></g></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="#000" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px"><g><rect fill="none" height="24" width="24"/></g><g><g><path d="M22,11V9L12,2L2,9v2h2v9H2v2h20v-2h-2v-9H22z M18,20H6V9h12V20z"/><polygon points="10,14 12,17 14,14 14,18 16,18 16,11 14,11 12,14 10,11 8,11 8,18 10,18"/></g></g></svg>
@@ -1 +1 @@
1
- <svg aria-labelledby="title" viewBox="0 0 23.5 19.23" xmlns="http://www.w3.org/2000/svg"><path d="M21.36 0H2.14C.96 0 0 .96 0 2.14v12.81c0 1.18.96 2.14 2.14 2.14h5.34v2.14h8.55v-2.14h5.34c1.18 0 2.13-.96 2.13-2.14V2.14C23.51.97 22.55 0 21.37 0Zm0 14.95H2.14V2.14h19.22v12.81Zm-2.14-9.61H7.48v2.14h11.75V5.34Zm0 4.27H7.48v2.14h11.75V9.61ZM6.41 5.34H4.27v2.14h2.14V5.34Zm0 4.27H4.27v2.14h2.14V9.61Z"></path><title></title></svg>
1
+ <svg aria-labelledby="title" fill="#000" viewBox="0 0 23.5 19.23" xmlns="http://www.w3.org/2000/svg"><path d="M21.36 0H2.14C.96 0 0 .96 0 2.14v12.81c0 1.18.96 2.14 2.14 2.14h5.34v2.14h8.55v-2.14h5.34c1.18 0 2.13-.96 2.13-2.14V2.14C23.51.97 22.55 0 21.37 0Zm0 14.95H2.14V2.14h19.22v12.81Zm-2.14-9.61H7.48v2.14h11.75V5.34Zm0 4.27H7.48v2.14h11.75V9.61ZM6.41 5.34H4.27v2.14h2.14V5.34Zm0 4.27H4.27v2.14h2.14V9.61Z"></path><title></title></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><circle cx="14.5" cy="10.5" r="1.25"/><circle cx="9.5" cy="10.5" r="1.25"/><path d="M22.94 11.34c-.25-1.51-1.36-2.74-2.81-3.17-.53-1.12-1.28-2.1-2.19-2.91C16.36 3.85 14.28 3 12 3s-4.36.85-5.94 2.26c-.92.81-1.67 1.8-2.19 2.91-1.45.43-2.56 1.65-2.81 3.17-.04.21-.06.43-.06.66 0 .23.02.45.06.66.25 1.51 1.36 2.74 2.81 3.17.52 1.11 1.27 2.09 2.17 2.89C7.62 20.14 9.71 21 12 21s4.38-.86 5.97-2.28c.9-.8 1.65-1.79 2.17-2.89 1.44-.43 2.55-1.65 2.8-3.17.04-.21.06-.43.06-.66 0-.23-.02-.45-.06-.66zM19 14c-.1 0-.19-.02-.29-.03-.2.67-.49 1.29-.86 1.86C16.6 17.74 14.45 19 12 19s-4.6-1.26-5.85-3.17c-.37-.57-.66-1.19-.86-1.86-.1.01-.19.03-.29.03-1.1 0-2-.9-2-2s.9-2 2-2c.1 0 .19.02.29.03.2-.67.49-1.29.86-1.86C7.4 6.26 9.55 5 12 5s4.6 1.26 5.85 3.17c.37.57.66 1.19.86 1.86.1-.01.19-.03.29-.03 1.1 0 2 .9 2 2s-.9 2-2 2zm-7 3c2.01 0 3.74-1.23 4.5-3h-9c.76 1.77 2.49 3 4.5 3z"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="#000" height="24px" viewBox="0 0 24 24" width="24px"><path d="M0 0h24v24H0V0z" fill="none"/><circle cx="14.5" cy="10.5" r="1.25"/><circle cx="9.5" cy="10.5" r="1.25"/><path d="M22.94 11.34c-.25-1.51-1.36-2.74-2.81-3.17-.53-1.12-1.28-2.1-2.19-2.91C16.36 3.85 14.28 3 12 3s-4.36.85-5.94 2.26c-.92.81-1.67 1.8-2.19 2.91-1.45.43-2.56 1.65-2.81 3.17-.04.21-.06.43-.06.66 0 .23.02.45.06.66.25 1.51 1.36 2.74 2.81 3.17.52 1.11 1.27 2.09 2.17 2.89C7.62 20.14 9.71 21 12 21s4.38-.86 5.97-2.28c.9-.8 1.65-1.79 2.17-2.89 1.44-.43 2.55-1.65 2.8-3.17.04-.21.06-.43.06-.66 0-.23-.02-.45-.06-.66zM19 14c-.1 0-.19-.02-.29-.03-.2.67-.49 1.29-.86 1.86C16.6 17.74 14.45 19 12 19s-4.6-1.26-5.85-3.17c-.37-.57-.66-1.19-.86-1.86-.1.01-.19.03-.29.03-1.1 0-2-.9-2-2s.9-2 2-2c.1 0 .19.02.29.03.2-.67.49-1.29.86-1.86C7.4 6.26 9.55 5 12 5s4.6 1.26 5.85 3.17c.37.57.66 1.19.86 1.86.1-.01.19-.03.29-.03 1.1 0 2 .9 2 2s-.9 2-2 2zm-7 3c2.01 0 3.74-1.23 4.5-3h-9c.76 1.77 2.49 3 4.5 3z"/></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><g><rect fill="none" height="24" width="24"/></g><g><g><path d="M9,4v1.38c-0.83-0.33-1.72-0.5-2.61-0.5c-1.79,0-3.58,0.68-4.95,2.05l3.33,3.33h1.11v1.11c0.86,0.86,1.98,1.31,3.11,1.36 V15H6v3c0,1.1,0.9,2,2,2h10c1.66,0,3-1.34,3-3V4H9z M7.89,10.41V8.26H5.61L4.57,7.22C5.14,7,5.76,6.88,6.39,6.88 c1.34,0,2.59,0.52,3.54,1.46l1.41,1.41l-0.2,0.2c-0.51,0.51-1.19,0.8-1.92,0.8C8.75,10.75,8.29,10.63,7.89,10.41z M19,17 c0,0.55-0.45,1-1,1s-1-0.45-1-1v-2h-6v-2.59c0.57-0.23,1.1-0.57,1.56-1.03l0.2-0.2L15.59,14H17v-1.41l-6-5.97V6h8V17z"/></g></g></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="#000" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px"><g><rect fill="none" height="24" width="24"/></g><g><g><path d="M9,4v1.38c-0.83-0.33-1.72-0.5-2.61-0.5c-1.79,0-3.58,0.68-4.95,2.05l3.33,3.33h1.11v1.11c0.86,0.86,1.98,1.31,3.11,1.36 V15H6v3c0,1.1,0.9,2,2,2h10c1.66,0,3-1.34,3-3V4H9z M7.89,10.41V8.26H5.61L4.57,7.22C5.14,7,5.76,6.88,6.39,6.88 c1.34,0,2.59,0.52,3.54,1.46l1.41,1.41l-0.2,0.2c-0.51,0.51-1.19,0.8-1.92,0.8C8.75,10.75,8.29,10.63,7.89,10.41z M19,17 c0,0.55-0.45,1-1,1s-1-0.45-1-1v-2h-6v-2.59c0.57-0.23,1.1-0.57,1.56-1.03l0.2-0.2L15.59,14H17v-1.41l-6-5.97V6h8V17z"/></g></g></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M16 9v10H8V9h8m-1.5-6h-5l-1 1H5v2h14V4h-3.5l-1-1zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7z"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="#000" height="24px" viewBox="0 0 24 24" width="24px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M16 9v10H8V9h8m-1.5-6h-5l-1 1H5v2h14V4h-3.5l-1-1zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7z"/></svg>