design-comuni-plone-theme 12.0.0-alpha.1 → 12.0.0

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 (432) hide show
  1. package/.github/workflows/main.yml +17 -17
  2. package/.github/workflows/{themes.yml → npm.yml} +22 -3
  3. package/.github/workflows/prs.yml +1 -1
  4. package/.github/workflows/release.yml +1 -1
  5. package/.github/workflows/{performance.yml → withnewsletter.yml} +12 -12
  6. package/.release-it.json +2 -1
  7. package/.yarn/cache/@formatjs-ecma402-abstract-npm-1.18.2-281c9afdd0-c664056cca.zip +0 -0
  8. package/.yarn/cache/@formatjs-fast-memoize-npm-2.2.0-4a46a61b8b-8697fe72a7.zip +0 -0
  9. package/.yarn/cache/@formatjs-icu-messageformat-parser-npm-2.7.6-59cd895220-d537253cbf.zip +0 -0
  10. package/.yarn/cache/@formatjs-icu-skeleton-parser-npm-1.8.0-0f1fd4bf3f-85ca45148a.zip +0 -0
  11. package/.yarn/cache/@formatjs-intl-localematcher-npm-0.5.4-e30cfcd8fd-a0af57874f.zip +0 -0
  12. package/.yarn/cache/@internationalized-date-npm-3.5.3-435a424ba4-e3b011b587.zip +0 -0
  13. package/.yarn/cache/@internationalized-message-npm-3.1.3-ed0b43d16d-76b7aadad0.zip +0 -0
  14. package/.yarn/cache/@internationalized-number-npm-3.5.2-0f0b803d0d-b622849a6c.zip +0 -0
  15. package/.yarn/cache/@internationalized-string-npm-3.2.2-dc233d6c2e-32d5944f0a.zip +0 -0
  16. package/.yarn/cache/{@plone-collective-volto-sentry-npm-0.3.0-238a1b397a-99e5493e46.zip → @plone-collective-volto-sentry-npm-0.3.1-ffea0b0844-cf3a192860.zip} +0 -0
  17. package/.yarn/cache/@plone-components-npm-2.0.0-alpha.7-ae15679e71-6eb35f5ef6.zip +0 -0
  18. package/.yarn/cache/@react-aria-breadcrumbs-npm-3.5.12-4df37e0505-19c473c624.zip +0 -0
  19. package/.yarn/cache/@react-aria-button-npm-3.9.4-bcfdfa6d77-3644f5b504.zip +0 -0
  20. package/.yarn/cache/@react-aria-calendar-npm-3.5.7-4a24a3018a-08088c27ad.zip +0 -0
  21. package/.yarn/cache/@react-aria-checkbox-npm-3.14.2-ec0875b197-33c280dbaa.zip +0 -0
  22. package/.yarn/cache/@react-aria-color-npm-3.0.0-beta.32-b69a571afd-fcaa145f2d.zip +0 -0
  23. package/.yarn/cache/@react-aria-combobox-npm-3.9.0-9d01e3bcc8-ebc3aa2523.zip +0 -0
  24. package/.yarn/cache/@react-aria-datepicker-npm-3.10.0-b44d40522c-b5b3226e0e.zip +0 -0
  25. package/.yarn/cache/@react-aria-dialog-npm-3.5.13-fd75d2058e-b03586c90b.zip +0 -0
  26. package/.yarn/cache/@react-aria-dnd-npm-3.6.0-085417ff5c-da39c859dc.zip +0 -0
  27. package/.yarn/cache/@react-aria-focus-npm-3.17.0-a0d6fd01c9-bac778f7f9.zip +0 -0
  28. package/.yarn/cache/@react-aria-form-npm-3.0.4-1f761ca8f4-97a8f25e7b.zip +0 -0
  29. package/.yarn/cache/@react-aria-grid-npm-3.9.0-cdd984835d-c3841b238b.zip +0 -0
  30. package/.yarn/cache/@react-aria-gridlist-npm-3.8.0-40b98ff740-04ab1cccee.zip +0 -0
  31. package/.yarn/cache/@react-aria-i18n-npm-3.11.0-3bd97ed4c6-c4c7c7bd16.zip +0 -0
  32. package/.yarn/cache/@react-aria-interactions-npm-3.21.2-c6fe2e70fd-df7ca376b1.zip +0 -0
  33. package/.yarn/cache/@react-aria-label-npm-3.7.7-39b24fbd65-bfa2ec757c.zip +0 -0
  34. package/.yarn/cache/@react-aria-link-npm-3.7.0-cf388c071e-0af089b4b6.zip +0 -0
  35. package/.yarn/cache/@react-aria-listbox-npm-3.12.0-c9a3fcfdc1-2591d78997.zip +0 -0
  36. package/.yarn/cache/@react-aria-live-announcer-npm-3.3.3-46433149f6-501e772dba.zip +0 -0
  37. package/.yarn/cache/@react-aria-menu-npm-3.14.0-6fa31f531d-7f716c6ef9.zip +0 -0
  38. package/.yarn/cache/@react-aria-meter-npm-3.4.12-2821308fcd-a344cbb3df.zip +0 -0
  39. package/.yarn/cache/@react-aria-numberfield-npm-3.11.2-09acd47715-4e86800c8a.zip +0 -0
  40. package/.yarn/cache/@react-aria-overlays-npm-3.22.0-90340dac2d-bc2a4ed89d.zip +0 -0
  41. package/.yarn/cache/@react-aria-progress-npm-3.4.12-dfcbd6cd8f-3ca779f189.zip +0 -0
  42. package/.yarn/cache/@react-aria-radio-npm-3.10.3-94cedc9974-62cc213b68.zip +0 -0
  43. package/.yarn/cache/@react-aria-searchfield-npm-3.7.4-aaf2343364-ca4bc43633.zip +0 -0
  44. package/.yarn/cache/@react-aria-select-npm-3.14.4-36c0aabf5a-7b091a7a9c.zip +0 -0
  45. package/.yarn/cache/@react-aria-selection-npm-3.18.0-ac9a672791-58d96d02cd.zip +0 -0
  46. package/.yarn/cache/@react-aria-separator-npm-3.3.12-cba989b17a-972f038c36.zip +0 -0
  47. package/.yarn/cache/@react-aria-slider-npm-3.7.7-ed4b28f711-3d4b8c88cc.zip +0 -0
  48. package/.yarn/cache/@react-aria-spinbutton-npm-3.6.4-1361ae7900-d3df661c3b.zip +0 -0
  49. package/.yarn/cache/@react-aria-ssr-npm-3.9.3-83f9d6a628-9bbc8fea4a.zip +0 -0
  50. package/.yarn/cache/@react-aria-switch-npm-3.6.3-491c39fd33-754bdd8fe0.zip +0 -0
  51. package/.yarn/cache/@react-aria-table-npm-3.14.0-28948a50ad-8ce75e4b03.zip +0 -0
  52. package/.yarn/cache/@react-aria-tabs-npm-3.9.0-06e5f74497-1460c136f1.zip +0 -0
  53. package/.yarn/cache/@react-aria-tag-npm-3.4.0-1910b576b8-1fcd4068af.zip +0 -0
  54. package/.yarn/cache/@react-aria-textfield-npm-3.14.4-1c110be229-b9ba98a86e.zip +0 -0
  55. package/.yarn/cache/@react-aria-toggle-npm-3.10.3-93811531bc-a54c83da54.zip +0 -0
  56. package/.yarn/cache/@react-aria-toolbar-npm-3.0.0-beta.4-8a6d41e05d-ae6fc5f49a.zip +0 -0
  57. package/.yarn/cache/@react-aria-tooltip-npm-3.7.3-e2a6890301-57743f4bbd.zip +0 -0
  58. package/.yarn/cache/@react-aria-tree-npm-3.0.0-alpha.0-48c591e08d-2829e3a0ef.zip +0 -0
  59. package/.yarn/cache/@react-aria-utils-npm-3.24.0-b754bf323d-0f0b530f06.zip +0 -0
  60. package/.yarn/cache/@react-aria-visually-hidden-npm-3.8.11-437e8b0708-5b0e770a9c.zip +0 -0
  61. package/.yarn/cache/@react-spectrum-utils-npm-3.11.6-38e10974c6-6089e7b70b.zip +0 -0
  62. package/.yarn/cache/@react-stately-calendar-npm-3.5.0-269efd3343-8395aaf34d.zip +0 -0
  63. package/.yarn/cache/@react-stately-checkbox-npm-3.6.4-a5dc7cc18a-89c38c8698.zip +0 -0
  64. package/.yarn/cache/@react-stately-collections-npm-3.10.6-669dc2c16b-bc81d37b45.zip +0 -0
  65. package/.yarn/cache/@react-stately-color-npm-3.6.0-aee6f5f342-2cf47e66f0.zip +0 -0
  66. package/.yarn/cache/@react-stately-combobox-npm-3.8.3-15ca98aa5c-dad97a15fb.zip +0 -0
  67. package/.yarn/cache/@react-stately-data-npm-3.11.3-cce895778d-dfc8d1ac9a.zip +0 -0
  68. package/.yarn/cache/@react-stately-datepicker-npm-3.9.3-fe9d43086a-c2fee2a75e.zip +0 -0
  69. package/.yarn/cache/@react-stately-dnd-npm-3.3.0-12dd68769d-afc0565ac1.zip +0 -0
  70. package/.yarn/cache/@react-stately-flags-npm-3.0.2-1ec044f94e-c2c19b6043.zip +0 -0
  71. package/.yarn/cache/@react-stately-form-npm-3.0.2-4bc729a2ea-9dfae19354.zip +0 -0
  72. package/.yarn/cache/@react-stately-grid-npm-3.8.6-907965ec36-313e63ff3b.zip +0 -0
  73. package/.yarn/cache/@react-stately-list-npm-3.10.4-77dd54c792-19325e9ab4.zip +0 -0
  74. package/.yarn/cache/@react-stately-menu-npm-3.7.0-90a0db1055-a108e379e4.zip +0 -0
  75. package/.yarn/cache/@react-stately-numberfield-npm-3.9.2-3a89f1bc42-96956b46c5.zip +0 -0
  76. package/.yarn/cache/@react-stately-overlays-npm-3.6.6-f8aa64654d-bc910b54b2.zip +0 -0
  77. package/.yarn/cache/@react-stately-radio-npm-3.10.3-071befd78c-f8d356f86a.zip +0 -0
  78. package/.yarn/cache/@react-stately-searchfield-npm-3.5.2-2f3fb6c209-43558cfff5.zip +0 -0
  79. package/.yarn/cache/@react-stately-select-npm-3.6.3-be5e642bfa-34fbe8501b.zip +0 -0
  80. package/.yarn/cache/@react-stately-selection-npm-3.15.0-8b7bc0694b-9edcb36fed.zip +0 -0
  81. package/.yarn/cache/@react-stately-slider-npm-3.5.3-562ef6c5cb-06d0a53b7c.zip +0 -0
  82. package/.yarn/cache/@react-stately-table-npm-3.11.7-5c9e0fd96a-58d51f98d6.zip +0 -0
  83. package/.yarn/cache/@react-stately-tabs-npm-3.6.5-146716fcbd-d1968d1417.zip +0 -0
  84. package/.yarn/cache/@react-stately-toggle-npm-3.7.3-37e71d088a-5c5e7b52fa.zip +0 -0
  85. package/.yarn/cache/@react-stately-tooltip-npm-3.4.8-fd6ef872a2-25cc3e3c24.zip +0 -0
  86. package/.yarn/cache/@react-stately-tree-npm-3.8.0-500b430bb7-19c17a7406.zip +0 -0
  87. package/.yarn/cache/@react-stately-utils-npm-3.10.0-066f48a98e-780dab3581.zip +0 -0
  88. package/.yarn/cache/@react-stately-virtualizer-npm-3.7.0-2e4e9a8821-c04424dfff.zip +0 -0
  89. package/.yarn/cache/@react-types-breadcrumbs-npm-3.7.4-0e067c6509-132d9d1b0a.zip +0 -0
  90. package/.yarn/cache/@react-types-button-npm-3.9.3-491d887431-a9da87eb7e.zip +0 -0
  91. package/.yarn/cache/@react-types-calendar-npm-3.4.5-9491b2662c-6e3b6e44df.zip +0 -0
  92. package/.yarn/cache/@react-types-checkbox-npm-3.8.0-fa41e40b34-9786fd8224.zip +0 -0
  93. package/.yarn/cache/@react-types-color-npm-3.0.0-beta.24-a1c15bc97a-894371276c.zip +0 -0
  94. package/.yarn/cache/@react-types-combobox-npm-3.11.0-e0a5e09d36-3bf3ad11d0.zip +0 -0
  95. package/.yarn/cache/@react-types-datepicker-npm-3.7.3-1c968964c9-1053453aee.zip +0 -0
  96. package/.yarn/cache/@react-types-dialog-npm-3.5.9-037d2817d8-efeb8dc70e.zip +0 -0
  97. package/.yarn/cache/@react-types-form-npm-3.7.3-faea9d8969-e88a1a4097.zip +0 -0
  98. package/.yarn/cache/@react-types-grid-npm-3.2.5-47670b811f-e3588328cf.zip +0 -0
  99. package/.yarn/cache/@react-types-link-npm-3.5.4-44b62607b6-5d7555e036.zip +0 -0
  100. package/.yarn/cache/@react-types-listbox-npm-3.4.8-2e0a7f4dea-31e7b4c8b1.zip +0 -0
  101. package/.yarn/cache/@react-types-menu-npm-3.9.8-a4a0f57423-d5fb6d99bc.zip +0 -0
  102. package/.yarn/cache/@react-types-meter-npm-3.4.0-768a873170-cc30fd4745.zip +0 -0
  103. package/.yarn/cache/@react-types-numberfield-npm-3.8.2-a842f6619d-e8ed43b08f.zip +0 -0
  104. package/.yarn/cache/@react-types-overlays-npm-3.8.6-78e91b1a37-8efb3c2569.zip +0 -0
  105. package/.yarn/cache/@react-types-progress-npm-3.5.3-27066d6e69-d13f2db5c3.zip +0 -0
  106. package/.yarn/cache/@react-types-radio-npm-3.8.0-5d03b4b24f-f868f13ff2.zip +0 -0
  107. package/.yarn/cache/@react-types-searchfield-npm-3.5.4-9a6cb6c41b-806f97f5d6.zip +0 -0
  108. package/.yarn/cache/@react-types-select-npm-3.9.3-436aaa190f-b3db4acb66.zip +0 -0
  109. package/.yarn/cache/@react-types-shared-npm-3.23.0-1952004986-aa3507ef30.zip +0 -0
  110. package/.yarn/cache/@react-types-slider-npm-3.7.2-369a50984c-fcdafa3511.zip +0 -0
  111. package/.yarn/cache/@react-types-switch-npm-3.5.2-19ff24a621-e8caae2da6.zip +0 -0
  112. package/.yarn/cache/@react-types-table-npm-3.9.4-0afc8754dd-80dae2adfe.zip +0 -0
  113. package/.yarn/cache/@react-types-tabs-npm-3.3.6-047a1fd9c3-69d89f3c5c.zip +0 -0
  114. package/.yarn/cache/@react-types-textfield-npm-3.9.2-2bd9f93005-9102b983c5.zip +0 -0
  115. package/.yarn/cache/@react-types-tooltip-npm-3.4.8-8d81ea0e23-a3122729eb.zip +0 -0
  116. package/.yarn/cache/@swc-helpers-npm-0.4.14-f806c3fb16-273fd3f3fc.zip +0 -0
  117. package/.yarn/cache/@swc-helpers-npm-0.4.36-507abd5d2a-20b9f021a9.zip +0 -0
  118. package/.yarn/cache/@swc-helpers-npm-0.5.11-94bd1e1b3e-5d85e641d9.zip +0 -0
  119. package/.yarn/cache/braces-npm-3.0.3-582c14023c-b95aa0b3bd.zip +0 -0
  120. package/.yarn/cache/client-only-npm-0.0.1-07d3e9505c-0c16bf660d.zip +0 -0
  121. package/.yarn/cache/clsx-npm-2.1.1-96125b98be-acd3e1ab9d.zip +0 -0
  122. package/.yarn/cache/cross-spawn-npm-7.0.6-264bddf921-8d306efaca.zip +0 -0
  123. package/.yarn/cache/fill-range-npm-7.1.1-bf491486db-b4abfbca38.zip +0 -0
  124. package/.yarn/cache/intl-messageformat-npm-10.5.11-1feb0e2115-b5574447a0.zip +0 -0
  125. package/.yarn/cache/micromatch-npm-4.0.8-c9570e4aca-79920eb634.zip +0 -0
  126. package/.yarn/cache/nanoid-npm-3.3.8-d22226208b-dfe0adbc0c.zip +0 -0
  127. package/.yarn/cache/react-aria-components-npm-1.2.0-30040153be-43319158c8.zip +0 -0
  128. package/.yarn/cache/react-aria-npm-3.33.0-688afc3857-980f9da630.zip +0 -0
  129. package/.yarn/cache/react-stately-npm-3.31.0-9465d26d77-d59440e0a7.zip +0 -0
  130. package/.yarn/cache/use-sync-external-store-npm-1.2.2-7923c915e1-fe07c071c4.zip +0 -0
  131. package/.yarn/cache/volto-blocks-widget-npm-3.4.1-c4d451e2c2-4f5c183698.zip +0 -0
  132. package/.yarn/cache/{volto-dropdownmenu-npm-4.1.1-8db37e6495-81edb60075.zip → volto-dropdownmenu-npm-4.1.3-b44ee1c98b-5dc76c2ee7.zip} +0 -0
  133. package/.yarn/cache/volto-editablefooter-npm-5.1.7-483b4be25b-ad5642959b.zip +0 -0
  134. package/.yarn/cache/{volto-feedback-npm-0.3.0-6f555b6437-5d4fe03279.zip → volto-feedback-npm-0.6.1-0de05761ad-127b69de40.zip} +0 -0
  135. package/.yarn/cache/{volto-form-block-npm-3.8.2-e49cbe07d5-5b72a06a5e.zip → volto-form-block-npm-3.10.0-8cd1c7a976-8ddce2c624.zip} +0 -0
  136. package/.yarn/cache/volto-gdpr-privacy-npm-2.2.12-fbc24c3b6f-ba1b9c0127.zip +0 -0
  137. package/.yarn/cache/volto-multilingual-widget-npm-3.2.1-6fcb25c017-c24fd5379c.zip +0 -0
  138. package/.yarn/cache/{volto-secondarymenu-npm-4.0.0-9684028dd3-cec2705740.zip → volto-secondarymenu-npm-4.1.1-f516c1891c-94eeac0bc4.zip} +0 -0
  139. package/.yarn/cache/volto-site-settings-npm-0.4.4-11da224a90-ef0c504b64.zip +0 -0
  140. package/.yarn/cache/{volto-slimheader-npm-0.1.1-6c4a32fae4-94bafa197c.zip → volto-slimheader-npm-0.1.2-8495cb2187-fb657c3274.zip} +0 -0
  141. package/.yarn/cache/{volto-subblocks-npm-2.0.0-5a53bcc26a-7e4774cd63.zip → volto-subblocks-npm-2.1.0-2f162a4b19-a1cc02ca26.zip} +0 -0
  142. package/.yarn/cache/{volto-subfooter-npm-3.0.0-bc1ad5b16c-c7619ac55e.zip → volto-subfooter-npm-3.1.1-57dfb2cf48-d03848013d.zip} +0 -0
  143. package/.yarn/cache/volto-subsites-npm-4.0.2-715672140c-77408b4ea1.zip +0 -0
  144. package/.yarn/cache/{volto-venue-npm-4.0.2-0c5b2ce94f-d6ebdb2e3d.zip → volto-venue-npm-4.1.1-d5be247928-f796d519ad.zip} +0 -0
  145. package/.yarn/install-state.gz +0 -0
  146. package/CHANGELOG.md +1592 -485
  147. package/Makefile +1 -1
  148. package/RELEASE.md +400 -9
  149. package/locales/de/LC_MESSAGES/volto.po +244 -16
  150. package/locales/en/LC_MESSAGES/volto.po +306 -78
  151. package/locales/es/LC_MESSAGES/volto.po +244 -16
  152. package/locales/fr/LC_MESSAGES/volto.po +244 -16
  153. package/locales/it/LC_MESSAGES/volto.po +247 -19
  154. package/locales/volto.pot +245 -17
  155. package/package.json +23 -17
  156. package/publiccode.yml +3 -3
  157. package/src/components/ImageWithErrors/ImageWithErrors.jsx +30 -0
  158. package/src/components/ItaliaTheme/AppExtras/GenericAppExtras.jsx +2 -8
  159. package/src/components/ItaliaTheme/AppExtras/SiteSettingsExtras.jsx +35 -0
  160. package/src/components/ItaliaTheme/Blocks/Accordion/Block/ViewBlock.jsx +2 -1
  161. package/src/components/ItaliaTheme/Blocks/Accordion/Edit.jsx +59 -0
  162. package/src/components/ItaliaTheme/Blocks/Accordion/View.jsx +9 -0
  163. package/src/components/ItaliaTheme/Blocks/Alert/Edit.jsx +1 -1
  164. package/src/components/ItaliaTheme/Blocks/ArgumentsInEvidence/BottomBody.jsx +2 -2
  165. package/src/components/ItaliaTheme/Blocks/BandiSearch/Body.jsx +4 -0
  166. package/src/components/ItaliaTheme/Blocks/CTABlock/Block.jsx +2 -2
  167. package/src/components/ItaliaTheme/Blocks/Calendar/Body.jsx +1 -0
  168. package/src/components/ItaliaTheme/Blocks/Callout/Edit.jsx +2 -2
  169. package/src/components/ItaliaTheme/Blocks/Common/SearchFilters/DateFilter.jsx +3 -2
  170. package/src/components/ItaliaTheme/Blocks/Common/SearchFilters/SelectFilter.jsx +11 -3
  171. package/src/components/ItaliaTheme/Blocks/Common/SearchFilters/TextFilter.jsx +1 -0
  172. package/src/components/ItaliaTheme/Blocks/ContactsBlock/Block/EditBlock.jsx +17 -15
  173. package/src/components/ItaliaTheme/Blocks/ContactsBlock/Edit.jsx +12 -6
  174. package/src/components/ItaliaTheme/Blocks/CountDown/Edit.jsx +2 -2
  175. package/src/components/ItaliaTheme/Blocks/EventSearch/Body.jsx +17 -2
  176. package/src/components/ItaliaTheme/Blocks/EventSearch/DefaultFilters.js +8 -15
  177. package/src/components/ItaliaTheme/Blocks/EventSearch/Sidebar.jsx +16 -5
  178. package/src/components/ItaliaTheme/Blocks/IconBlocks/Block/EditBlock.jsx +12 -7
  179. package/src/components/ItaliaTheme/Blocks/IconBlocks/Block/ViewBlock.jsx +8 -14
  180. package/src/components/ItaliaTheme/Blocks/IconBlocks/Edit.jsx +17 -3
  181. package/src/components/ItaliaTheme/Blocks/IconBlocks/View.jsx +6 -1
  182. package/src/components/ItaliaTheme/Blocks/Listing/AttachmentCardTemplate.jsx +9 -5
  183. package/src/components/ItaliaTheme/Blocks/Listing/CardWithImage/CardWithImageDefault.jsx +17 -7
  184. package/src/components/ItaliaTheme/Blocks/Listing/CardWithSlideUpTextTemplate.jsx +24 -13
  185. package/src/components/ItaliaTheme/Blocks/Listing/Commons/CardCalendar.jsx +1 -1
  186. package/src/components/ItaliaTheme/Blocks/Listing/Commons/ListingImage.jsx +58 -13
  187. package/src/components/ItaliaTheme/Blocks/Listing/Commons/RassegnaInfo.jsx +28 -0
  188. package/src/components/ItaliaTheme/Blocks/Listing/CompleteBlockLinksTemplate.jsx +15 -10
  189. package/src/components/ItaliaTheme/Blocks/Listing/ContentInEvidenceTemplate.jsx +24 -10
  190. package/src/components/ItaliaTheme/Blocks/Listing/GridGalleryTemplate.jsx +4 -3
  191. package/src/components/ItaliaTheme/Blocks/Listing/InEvidenceTemplate.jsx +22 -9
  192. package/src/components/ItaliaTheme/Blocks/Listing/PhotogalleryTemplate.jsx +10 -8
  193. package/src/components/ItaliaTheme/Blocks/Listing/RibbonCardTemplate.jsx +15 -1
  194. package/src/components/ItaliaTheme/Blocks/Listing/SimpleCard/Card/SimpleCardDefault.jsx +16 -2
  195. package/src/components/ItaliaTheme/Blocks/Listing/SliderTemplate.jsx +12 -8
  196. package/src/components/ItaliaTheme/Blocks/Listing/SmallBlockLinksTemplate.jsx +19 -21
  197. package/src/components/ItaliaTheme/Blocks/NumbersBlock/Block/EditBlock.jsx +5 -6
  198. package/src/components/ItaliaTheme/Blocks/NumbersBlock/Edit.jsx +17 -3
  199. package/src/components/ItaliaTheme/Blocks/NumbersBlock/View.jsx +5 -1
  200. package/src/components/ItaliaTheme/Blocks/SearchSections/Body.jsx +1 -0
  201. package/src/components/ItaliaTheme/Blocks/TextCard/CardWithImage/Block.jsx +4 -2
  202. package/src/components/ItaliaTheme/Blocks/TextCard/SimpleCard/Edit.jsx +2 -2
  203. package/src/components/ItaliaTheme/Blocks/UOSearch/Body.jsx +7 -2
  204. package/src/components/ItaliaTheme/Blocks/UOSearch/Sidebar.jsx +16 -0
  205. package/src/components/ItaliaTheme/Blocks/__tests__/Accordion.test.jsx +0 -3
  206. package/src/components/ItaliaTheme/BrandText/BrandText.jsx +31 -7
  207. package/src/components/ItaliaTheme/BrandTextFooter/BrandTextFooter.jsx +31 -2
  208. package/src/components/ItaliaTheme/Breadcrumbs/Breadcrumbs.jsx +16 -8
  209. package/src/components/ItaliaTheme/Cards/CardCategory.jsx +2 -3
  210. package/src/components/ItaliaTheme/Cards/CardPersona.jsx +5 -8
  211. package/src/components/ItaliaTheme/CustomerSatisfaction/FeedbackForm.jsx +27 -23
  212. package/src/components/ItaliaTheme/CustomerSatisfaction/Steps/AnswersStep.jsx +1 -0
  213. package/src/components/ItaliaTheme/CustomerSatisfaction/Steps/CommentsStep.jsx +1 -0
  214. package/src/components/ItaliaTheme/Footer/FooterInfos.jsx +5 -4
  215. package/src/components/ItaliaTheme/Footer/FooterMain.jsx +4 -4
  216. package/src/components/ItaliaTheme/Footer/FooterSmall.jsx +10 -5
  217. package/src/components/ItaliaTheme/Header/HeaderCenter.jsx +5 -6
  218. package/src/components/ItaliaTheme/Header/HeaderSearch/HeaderSearch.jsx +9 -1
  219. package/src/components/ItaliaTheme/Header/HeaderSearch/SearchModal.jsx +21 -4
  220. package/src/components/ItaliaTheme/Header/HeaderSlim/HeaderSlim.jsx +32 -9
  221. package/src/components/ItaliaTheme/Header/HeaderSlim/LoginButton.jsx +1 -1
  222. package/src/components/ItaliaTheme/Header/HeaderSlim/TertiaryMenu.jsx +2 -2
  223. package/src/components/ItaliaTheme/Header/ParentSiteMenu.jsx +17 -2
  224. package/src/components/ItaliaTheme/Icons/DesignIcon.jsx +80 -29
  225. package/src/components/ItaliaTheme/Icons/FontAwesomeIcon.jsx +2 -0
  226. package/src/components/ItaliaTheme/LoginAgid/LoginAgid.jsx +2 -5
  227. package/src/components/ItaliaTheme/Logo/Logo.jsx +15 -7
  228. package/src/components/ItaliaTheme/LogoFooter/LogoFooter.jsx +11 -3
  229. package/src/components/ItaliaTheme/MegaMenu/MegaMenu.jsx +5 -1
  230. package/src/components/ItaliaTheme/Pagination/Pagination.jsx +5 -1
  231. package/src/components/ItaliaTheme/Pagination/PaginationItem.jsx +15 -1
  232. package/src/components/ItaliaTheme/ScrollToTop/ScrollToTop.jsx +0 -1
  233. package/src/components/ItaliaTheme/Search/Search.jsx +2 -3
  234. package/src/components/ItaliaTheme/SkipLinks/SkipLinks.jsx +21 -11
  235. package/src/components/ItaliaTheme/Slider/NextArrow.jsx +1 -1
  236. package/src/components/ItaliaTheme/Slider/PrevArrow.jsx +1 -1
  237. package/src/components/ItaliaTheme/Slider/SingleSlideWrapper.jsx +5 -2
  238. package/src/components/ItaliaTheme/Unauthorized/Unauthorized.jsx +2 -5
  239. package/src/components/ItaliaTheme/View/BandoView/BandoApprofondimenti.jsx +1 -1
  240. package/src/components/ItaliaTheme/View/BandoView/BandoView.jsx +19 -1
  241. package/src/components/ItaliaTheme/View/Commons/Actions.jsx +2 -2
  242. package/src/components/ItaliaTheme/View/Commons/Argument/ArgumentIcon.jsx +1 -1
  243. package/src/components/ItaliaTheme/View/Commons/Attachment.jsx +1 -1
  244. package/src/components/ItaliaTheme/View/Commons/BandoDates.jsx +27 -47
  245. package/src/components/ItaliaTheme/View/Commons/ContactsCard.jsx +2 -31
  246. package/src/components/ItaliaTheme/View/Commons/Dates.jsx +62 -28
  247. package/src/components/ItaliaTheme/View/Commons/Events.jsx +28 -27
  248. package/src/components/ItaliaTheme/View/Commons/Gallery.jsx +36 -28
  249. package/src/components/ItaliaTheme/View/Commons/GenericCard.jsx +14 -13
  250. package/src/components/ItaliaTheme/View/Commons/HelpBox.jsx +1 -1
  251. package/src/components/ItaliaTheme/View/Commons/LocationItem.jsx +15 -9
  252. package/src/components/ItaliaTheme/View/Commons/LocationsMap.jsx +4 -18
  253. package/src/components/ItaliaTheme/View/Commons/Module.jsx +22 -31
  254. package/src/components/ItaliaTheme/View/Commons/Modules.jsx +3 -1
  255. package/src/components/ItaliaTheme/View/Commons/OfficeCard.jsx +7 -3
  256. package/src/components/ItaliaTheme/View/Commons/PageHeader/PageHeader.jsx +3 -4
  257. package/src/components/ItaliaTheme/View/Commons/PageHeader/PageHeaderBando.jsx +3 -0
  258. package/src/components/ItaliaTheme/View/Commons/PageHeader/PageHeaderDates.jsx +0 -10
  259. package/src/components/ItaliaTheme/View/Commons/PageHeader/PageHeaderEventDates.jsx +62 -14
  260. package/src/components/ItaliaTheme/View/Commons/PageHeader/PageHeaderTassonomiaArgomenti.jsx +4 -5
  261. package/src/components/ItaliaTheme/View/Commons/RelatedArticles.jsx +12 -1
  262. package/src/components/ItaliaTheme/View/Commons/RelatedItemInEvidence/RelatedItemInEvidence.jsx +14 -1
  263. package/src/components/ItaliaTheme/View/Commons/RelatedItems.jsx +11 -3
  264. package/src/components/ItaliaTheme/View/Commons/RenderBlocks.jsx +5 -2
  265. package/src/components/ItaliaTheme/View/Commons/Sharing.jsx +1 -1
  266. package/src/components/ItaliaTheme/View/Commons/SideMenu.jsx +11 -7
  267. package/src/components/ItaliaTheme/View/Commons/Sponsors.jsx +14 -10
  268. package/src/components/ItaliaTheme/View/Commons/VenuesSmall.jsx +13 -6
  269. package/src/components/ItaliaTheme/View/Commons/__tests__/Dates.test.jsx +1 -1
  270. package/src/components/ItaliaTheme/View/DocumentoView/DocumentoAccedereServizio.jsx +5 -8
  271. package/src/components/ItaliaTheme/View/DocumentoView/DocumentoView.jsx +20 -1
  272. package/src/components/ItaliaTheme/View/EventoView/EventoContatti.jsx +8 -7
  273. package/src/components/ItaliaTheme/View/EventoView/EventoContattiOrganizzatoreEsterno.jsx +1 -12
  274. package/src/components/ItaliaTheme/View/EventoView/EventoContattiOrganizzatoreInterno.jsx +1 -12
  275. package/src/components/ItaliaTheme/View/EventoView/EventoCosE.jsx +17 -2
  276. package/src/components/ItaliaTheme/View/EventoView/EventoOrganizzatoDa.jsx +38 -0
  277. package/src/components/ItaliaTheme/View/EventoView/EventoPatrocinatoDa.jsx +38 -0
  278. package/src/components/ItaliaTheme/View/EventoView/EventoUlterioriInformazioni.jsx +0 -22
  279. package/src/components/ItaliaTheme/View/EventoView/EventoView.jsx +20 -1
  280. package/src/components/ItaliaTheme/View/FAQ/FaqFolder/SearchBar.jsx +7 -0
  281. package/src/components/ItaliaTheme/View/IncaricoView/IncaricoView.jsx +47 -8
  282. package/src/components/ItaliaTheme/View/NewsItemView/NewsItemText.jsx +33 -10
  283. package/src/components/ItaliaTheme/View/NewsItemView/NewsItemView.jsx +19 -1
  284. package/src/components/ItaliaTheme/View/PageView/PageView.jsx +3 -0
  285. package/src/components/ItaliaTheme/View/PageView/Placeholder/HeaderEnd.jsx +6 -0
  286. package/src/components/ItaliaTheme/View/PaginaArgomentoView/PaginaArgomentoView.jsx +15 -36
  287. package/src/components/ItaliaTheme/View/PaginaArgomentoView/PaginaArgomentoViewNoBlocks.jsx +14 -1
  288. package/src/components/ItaliaTheme/View/PersonaView/PersonaDocumenti.jsx +106 -0
  289. package/src/components/ItaliaTheme/View/PersonaView/PersonaRuolo.jsx +85 -60
  290. package/src/components/ItaliaTheme/View/PersonaView/PersonaView.jsx +20 -1
  291. package/src/components/ItaliaTheme/View/PuntoDiContattoView/PuntoDiContattoView.jsx +2 -2
  292. package/src/components/ItaliaTheme/View/ServizioView/ServizioAccedi.jsx +5 -1
  293. package/src/components/ItaliaTheme/View/ServizioView/ServizioCondizioni.jsx +5 -1
  294. package/src/components/ItaliaTheme/View/ServizioView/ServizioMetatag.jsx +9 -1
  295. package/src/components/ItaliaTheme/View/ServizioView/ServizioView.jsx +19 -2
  296. package/src/components/ItaliaTheme/View/UOView/UOMetadati.jsx +12 -0
  297. package/src/components/ItaliaTheme/View/UOView/UOServices.jsx +20 -2
  298. package/src/components/ItaliaTheme/View/UOView/UOView.jsx +23 -1
  299. package/src/components/ItaliaTheme/View/VenueView/VenueView.jsx +24 -11
  300. package/src/components/ItaliaTheme/View/VenueView/VenueWhere.jsx +1 -1
  301. package/src/components/ItaliaTheme/View/ViewUtils.jsx +1 -2
  302. package/src/components/ItaliaTheme/View/__tests__/ServizioTempiScadenze.test.jsx +0 -1
  303. package/src/components/ItaliaTheme/View/index.js +2 -0
  304. package/src/components/ItaliaTheme/index.js +1 -1
  305. package/src/components/ItaliaTheme/manage/Widgets/HtmlSlateWidget.jsx +4 -2
  306. package/src/components/ItaliaTheme/manage/Widgets/SearchSectionsConfigurationWidget/SearchSectionsConfigurationForm.jsx +2 -2
  307. package/src/components/SelectInput/SelectInput.jsx +10 -4
  308. package/src/components/TextInput.jsx +1 -0
  309. package/src/components/__tests__/FormValidation.test.js +132 -0
  310. package/src/config/Blocks/ListingOptions/attachmentCardTemplate.js +1 -1
  311. package/src/config/Slate/Blockquote/index.js +7 -0
  312. package/src/config/Views/views.js +1 -0
  313. package/src/config/italiaConfig.js +77 -20
  314. package/src/customizations/volto/actions/vocabularies/vocabularies.js +102 -0
  315. package/src/customizations/volto/components/manage/AnchorPlugin/components/LinkButton/AddLinkForm.jsx +1 -0
  316. package/src/customizations/volto/components/manage/Blocks/Listing/ListingBody.jsx +5 -0
  317. package/src/customizations/volto/components/manage/Blocks/Search/SearchBlockView.jsx +50 -11
  318. package/src/customizations/volto/components/manage/Blocks/Search/components/DateRangeFacet.jsx +16 -2
  319. package/src/customizations/volto/components/manage/Blocks/Search/components/SearchDetails.jsx +2 -3
  320. package/src/customizations/volto/components/manage/Blocks/Search/hocs/withSearch.jsx +6 -4
  321. package/src/customizations/volto/components/manage/Blocks/Search/layout/LeftColumnFacets.jsx +21 -17
  322. package/src/customizations/volto/components/manage/Blocks/Search/layout/RightColumnFacets.jsx +21 -17
  323. package/src/customizations/volto/components/manage/Blocks/Search/schema.js +16 -0
  324. package/src/customizations/volto/components/manage/Blocks/Video/Body.jsx +6 -5
  325. package/src/customizations/volto/components/manage/Contents/ContentsUploadModal.jsx +375 -0
  326. package/src/customizations/volto/components/manage/Controlpanels/Groups/GroupsControlpanel.jsx +709 -0
  327. package/src/customizations/volto/components/manage/Controlpanels/Groups/RenderGroups.jsx +122 -0
  328. package/src/customizations/volto/components/manage/Diff/DiffField.jsx +2 -3
  329. package/src/customizations/volto/components/manage/UniversalLink/UniversalLink.jsx +34 -23
  330. package/src/customizations/volto/components/manage/Widgets/RecurrenceWidget/EndField.jsx +18 -11
  331. package/src/customizations/volto/components/manage/Widgets/RecurrenceWidget/RecurrenceWidget.jsx +237 -116
  332. package/src/customizations/volto/components/theme/Error/Error.jsx +86 -0
  333. package/src/customizations/volto/components/theme/Footer/Footer.jsx +17 -16
  334. package/src/customizations/volto/components/theme/Navigation/Navigation.jsx +22 -7
  335. package/src/customizations/volto/components/theme/View/LinkView.jsx +81 -0
  336. package/src/customizations/volto/components/theme/View/ListingView.jsx +3 -3
  337. package/src/{components/ItaliaTheme/RemoveBodyClass/RemoveBodyClass.jsx → customizations/volto/helpers/BodyClass/BodyClass.jsx} +19 -25
  338. package/src/customizations/volto/helpers/FormValidation/FormValidation.js +10 -7
  339. package/src/customizations/volto/helpers/Html/Html.jsx +2 -2
  340. package/src/customizations/volto-form-block/components/Field.jsx +7 -0
  341. package/src/customizations/volto-form-block/components/FormResult.jsx +43 -9
  342. package/src/customizations/volto-form-block/components/FormView.jsx +45 -41
  343. package/src/customizations/volto-form-block/components/Sidebar.jsx +328 -0
  344. package/src/customizations/volto-form-block/components/View.jsx +398 -0
  345. package/src/customizations/volto-form-block/fieldSchema.js +519 -0
  346. package/src/customizations/volto-form-block/formSchema.js +255 -0
  347. package/src/helpers/ListingHelper.js +1 -1
  348. package/src/helpers/blocks.js +0 -6
  349. package/src/helpers/dates.js +30 -2
  350. package/src/helpers/files.js +9 -2
  351. package/src/helpers/files.test.js +90 -0
  352. package/src/helpers/getItemsByPath.js +23 -1
  353. package/src/helpers/images.js +77 -0
  354. package/src/helpers/index.js +11 -0
  355. package/src/helpers/url.js +22 -0
  356. package/src/helpers/usePaginatedItemsSection.hook.ts +63 -0
  357. package/src/overrideTranslations.jsx +68 -0
  358. package/src/theme/ItaliaTheme/Addons/volto-gdpr-privacy.scss +0 -18
  359. package/src/theme/ItaliaTheme/Blocks/_accordion.scss +5 -4
  360. package/src/theme/ItaliaTheme/Blocks/_alert.scss +6 -11
  361. package/src/theme/ItaliaTheme/Blocks/_cardWithImage.scss +7 -2
  362. package/src/theme/ItaliaTheme/Blocks/_cardWithSlideUpTextTemplate.scss +19 -1
  363. package/src/theme/ItaliaTheme/Blocks/_contacts.scss +10 -34
  364. package/src/theme/ItaliaTheme/Blocks/_countdown.scss +10 -1
  365. package/src/theme/ItaliaTheme/Blocks/_ctaBlock.scss +8 -10
  366. package/src/theme/ItaliaTheme/Blocks/_form.scss +38 -32
  367. package/src/theme/ItaliaTheme/Blocks/_gridBlock.scss +39 -23
  368. package/src/theme/ItaliaTheme/Blocks/_iconBlocks.scss +10 -51
  369. package/src/theme/ItaliaTheme/Blocks/_inEvidenceTemplate.scss +1 -1
  370. package/src/theme/ItaliaTheme/Blocks/_listing.scss +0 -3
  371. package/src/theme/ItaliaTheme/Blocks/_numbers.scss +5 -15
  372. package/src/theme/ItaliaTheme/Blocks/_photogallerytemplate.scss +2 -2
  373. package/src/theme/ItaliaTheme/Blocks/_search.scss +20 -2
  374. package/src/theme/ItaliaTheme/Blocks/_sliderTemplate.scss +4 -4
  375. package/src/theme/ItaliaTheme/Blocks/_subblocks-edit.scss +3 -1
  376. package/src/theme/ItaliaTheme/Blocks/common/_searchBlockFilters.scss +10 -2
  377. package/src/theme/ItaliaTheme/Components/_card.scss +27 -7
  378. package/src/theme/ItaliaTheme/Components/_cardLocationItem.scss +12 -0
  379. package/src/theme/ItaliaTheme/Components/_cardPersona.scss +21 -1
  380. package/src/theme/ItaliaTheme/Components/_metadata.scss +1 -0
  381. package/src/theme/ItaliaTheme/Components/_mobileMenu.scss +12 -16
  382. package/src/theme/ItaliaTheme/Components/_pager.scss +10 -0
  383. package/src/theme/ItaliaTheme/Print/_all_pages.scss +98 -15
  384. package/src/theme/ItaliaTheme/Print/_blocks.scss +915 -8
  385. package/src/theme/ItaliaTheme/Print/_page.scss +1 -7
  386. package/src/theme/ItaliaTheme/Subsites/ItaliaTheme/Blocks/_contacts.scss +3 -0
  387. package/src/theme/ItaliaTheme/Views/_common.scss +27 -0
  388. package/src/theme/ItaliaTheme/Views/_servizio.scss +6 -0
  389. package/src/theme/ItaliaTheme/Views/_slider.scss +4 -0
  390. package/src/theme/ItaliaTheme/Widgets/_blocksWidget.scss +37 -0
  391. package/src/theme/ItaliaTheme/Widgets/_reactSelect.scss +5 -1
  392. package/src/theme/ItaliaTheme/_ar.scss +3 -2
  393. package/src/theme/ItaliaTheme/_common.scss +11 -6
  394. package/src/theme/ItaliaTheme/_home.scss +4 -6
  395. package/src/theme/ItaliaTheme/_main.scss +51 -1
  396. package/src/theme/ItaliaTheme/_white-header.scss +1 -1
  397. package/src/theme/_cms-ui.scss +150 -31
  398. package/src/theme/_mixins.scss +13 -0
  399. package/src/theme/_site-variables.scss +5 -6
  400. package/src/theme/bootstrap-override/_bootstrap-italia-site.scss +3 -0
  401. package/src/theme/bootstrap-override/bootstrap/_print.scss +1 -0
  402. package/src/theme/bootstrap-override/bootstrap-italia/_avatar.scss +28 -0
  403. package/src/theme/bootstrap-override/bootstrap-italia/_buttons.scss +18 -0
  404. package/src/theme/bootstrap-override/bootstrap-italia/_card.scss +12 -2
  405. package/src/theme/bootstrap-override/bootstrap-italia/_focus.scss +23 -0
  406. package/src/theme/bootstrap-override/bootstrap-italia/_footer.scss +1 -1
  407. package/src/theme/bootstrap-override/bootstrap-italia/_form-select.scss +17 -0
  408. package/src/theme/bootstrap-override/bootstrap-italia/_forms.scss +7 -0
  409. package/src/theme/bootstrap-override/bootstrap-italia/_headercenter.scss +19 -5
  410. package/src/theme/extras/_modals.scss +13 -0
  411. package/src/theme/extras/_search.scss +5 -0
  412. package/src/theme/extras/_tables.scss +12 -13
  413. package/src/theme/site.scss +0 -3
  414. package/.github/workflows/slate.yml +0 -47
  415. package/.yarn/cache/braces-npm-3.0.2-782240b28a-e2a8e769a8.zip +0 -0
  416. package/.yarn/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-671cc7c728.zip +0 -0
  417. package/.yarn/cache/fill-range-npm-7.0.1-b8b1817caa-cc283f4e65.zip +0 -0
  418. package/.yarn/cache/fsevents-patch-3340e2eb10-8.zip +0 -0
  419. package/.yarn/cache/micromatch-npm-4.0.5-cfab5d7669-02a17b671c.zip +0 -0
  420. package/.yarn/cache/nanoid-npm-3.3.6-e6d6ae7e71-7d0eda6570.zip +0 -0
  421. package/.yarn/cache/volto-blocks-widget-npm-3.4.0-a61b810f4f-355675359c.zip +0 -0
  422. package/.yarn/cache/volto-editablefooter-npm-5.1.1-a6579f67d9-c9a2e1f96f.zip +0 -0
  423. package/.yarn/cache/volto-gdpr-privacy-npm-2.2.0-6be0f74d53-8a93254251.zip +0 -0
  424. package/.yarn/cache/volto-multilingual-widget-npm-3.0.0-58c1ce4fb7-3fa0611e79.zip +0 -0
  425. package/.yarn/cache/volto-subsites-npm-4.0.0-17412b8f3b-9f943abc00.zip +0 -0
  426. package/src/customizations/volto/components/manage/BlockChooser/BlockChooserButton.jsx +0 -157
  427. package/src/customizations/volto/components/theme/View/disabled_View.jsx +0 -308
  428. package/src/customizations/volto/helpers/Api/disabled_Api.js +0 -131
  429. package/src/theme/ItaliaTheme/Components/_logo.scss +0 -10
  430. package/src/theme/ItaliaTheme/Print/_bandi.scss +0 -9
  431. package/src/theme/ItaliaTheme/Print/_news_items.scss +0 -19
  432. /package/src/components/ItaliaTheme/View/{__tests__/IncaricoView.test.jsx → __disabled_tests__/IncaricoView.test__disabled.jsx} +0 -0
@@ -19,12 +19,26 @@ import {
19
19
  UODocuments,
20
20
  UOWhatDoesItDo,
21
21
  UOMoreInfos,
22
+ UOMetadati,
22
23
  RelatedItemInEvidence,
23
24
  SkipToMainContent,
24
25
  ContentTypeViewSections,
25
26
  useSideMenu,
26
27
  } from 'design-comuni-plone-theme/components/ItaliaTheme/View';
27
28
 
29
+ import { defineMessages, useIntl } from 'react-intl';
30
+
31
+ const messages = defineMessages({
32
+ sideMenuIndex: {
33
+ id: 'sideMenuIndex',
34
+ defaultMessage: 'Indice della pagina',
35
+ },
36
+ UOContent: {
37
+ id: 'UOContent',
38
+ defaultMessage: "Contenuto dell'unità organizzativa",
39
+ },
40
+ });
41
+
28
42
  export const UOViewSectionsOrder = [
29
43
  {
30
44
  /* HEADER IMAGE */
@@ -46,6 +60,8 @@ export const UOViewSectionsOrder = [
46
60
  { /* DOCUMENTI */ component: UODocuments },
47
61
 
48
62
  { /* ULTERIORI INFORMAZIONI */ component: UOMoreInfos },
63
+
64
+ { /*METADATI*/ component: UOMetadati },
49
65
  ];
50
66
 
51
67
  /**
@@ -56,6 +72,7 @@ export const UOViewSectionsOrder = [
56
72
  */
57
73
  const UOView = ({ content }) => {
58
74
  let documentBody = createRef();
75
+ const intl = useIntl();
59
76
  const { sideMenuElements, SideMenu } = useSideMenu(content, documentBody);
60
77
 
61
78
  return (
@@ -73,7 +90,10 @@ const UOView = ({ content }) => {
73
90
  <ContentImage content={content} position="afterHeader" />
74
91
 
75
92
  <div className="row row-column-border border-light row-column-menu-left">
76
- <aside className="col-lg-4">
93
+ <aside
94
+ className="col-lg-4"
95
+ aria-label={intl.formatMessage(messages.sideMenuIndex)}
96
+ >
77
97
  {__CLIENT__ && (
78
98
  <SideMenu data={sideMenuElements} content_uid={content?.UID} />
79
99
  )}
@@ -82,6 +102,8 @@ const UOView = ({ content }) => {
82
102
  ref={documentBody}
83
103
  id="main-content-section"
84
104
  className="col-lg-8 it-page-sections-container border-light"
105
+ role="region"
106
+ aria-label={intl.formatMessage(messages.UOContent)}
85
107
  >
86
108
  {/* SEZIONI */}
87
109
  <ContentTypeViewSections
@@ -25,6 +25,19 @@ import {
25
25
  useSideMenu,
26
26
  } from 'design-comuni-plone-theme/components/ItaliaTheme/View';
27
27
 
28
+ import { defineMessages, useIntl } from 'react-intl';
29
+
30
+ const messages = defineMessages({
31
+ sideMenuIndex: {
32
+ id: 'sideMenuIndex',
33
+ defaultMessage: 'Indice della pagina',
34
+ },
35
+ venueContent: {
36
+ id: 'venueContent',
37
+ defaultMessage: 'Informazioni sulla struttura',
38
+ },
39
+ });
40
+
28
41
  export const VenueViewSectionsOrder = [
29
42
  {
30
43
  /* HEADER IMAGE */
@@ -56,23 +69,18 @@ export const VenueViewSectionsOrder = [
56
69
  */
57
70
  const VenueView = ({ content }) => {
58
71
  const documentBody = createRef();
72
+ const intl = useIntl();
59
73
  const { sideMenuElements, SideMenu } = useSideMenu(content, documentBody);
60
74
 
61
- useEffect(() => {
62
- if (
63
- content.nome_alternativo &&
64
- !content.title?.includes(content.nome_alternativo)
65
- ) {
66
- content.subtitle = content.nome_alternativo;
67
- }
68
- });
69
-
70
75
  return (
71
76
  <>
72
77
  <div className="container px-4 my-4 luogo-view">
73
78
  <SkipToMainContent />
74
79
  <PageHeader
75
- content={content}
80
+ content={{
81
+ ...content,
82
+ subtitle: content.nome_alternativo,
83
+ }}
76
84
  readingtime={null}
77
85
  showreadingtime={false}
78
86
  showdates={false}
@@ -82,7 +90,10 @@ const VenueView = ({ content }) => {
82
90
  <ContentImage content={content} position="afterHeader" />
83
91
 
84
92
  <div className="row row-column-border border-light row-column-menu-left">
85
- <aside className="col-lg-4">
93
+ <aside
94
+ className="col-lg-4"
95
+ aria-label={intl.formatMessage(messages.sideMenuIndex)}
96
+ >
86
97
  {__CLIENT__ && (
87
98
  <SideMenu data={sideMenuElements} content_uid={content?.UID} />
88
99
  )}
@@ -91,6 +102,8 @@ const VenueView = ({ content }) => {
91
102
  className="col-lg-8 it-page-sections-container border-light"
92
103
  id="main-content-section"
93
104
  ref={documentBody}
105
+ role="region"
106
+ aria-label={intl.formatMessage(messages.venueContent)}
94
107
  >
95
108
  {/* SEZIONI */}
96
109
  <ContentTypeViewSections
@@ -39,7 +39,7 @@ const VenueWhere = ({ content }) => {
39
39
  <Card className="card card-teaser border-left-card preview-image-card card-big-io-comune shadow mt-3 rounded mb-4">
40
40
  <CardBody>
41
41
  <CardTitle>
42
- <h5 className="card-title">{content.title}</h5>
42
+ <h3 className="h5 card-title">{content.title}</h3>
43
43
  </CardTitle>
44
44
  <CardText>
45
45
  <p>
@@ -67,9 +67,8 @@ export const useSideMenu = (content, documentBody) => {
67
67
  }
68
68
  if (observer) {
69
69
  observer.observe(documentBody.current, {
70
- //attributes: true,
71
70
  childList: true,
72
- subtree: true,
71
+ //subtree: true, //commentato, perchè a noi interessano solo i figli di primo livello. Con questo abilitato, se in pagina ci sono delle gallery si impalla il browser
73
72
  });
74
73
  }
75
74
  return () => {
@@ -14,7 +14,6 @@ const mockStore = configureStore(middlewares);
14
14
  // Warning: An update to Icon inside a test was not wrapped in act(...).
15
15
  // When testing, code that causes React state updates should be wrapped into act(...):
16
16
  jest.mock('design-comuni-plone-theme/components/ItaliaTheme/Icons/Icon');
17
- // loadables.push('rrule');
18
17
  jest.mock('@plone/volto/helpers/Loadable/Loadable');
19
18
  beforeAll(
20
19
  async () =>
@@ -138,6 +138,7 @@ export NewsItemMetadata from 'design-comuni-plone-theme/components/ItaliaTheme/V
138
138
  export PagePlaceholderAfterContent from 'design-comuni-plone-theme/components/ItaliaTheme/View/PageView/Placeholder/AfterContent';
139
139
  export PagePlaceholderAfterRelatedItems from 'design-comuni-plone-theme/components/ItaliaTheme/View/PageView/Placeholder/AfterRelatedItems';
140
140
  export PagePlaceholderTitle from 'design-comuni-plone-theme/components/ItaliaTheme/View/PageView/Placeholder/Title';
141
+ export PagePlaceholderHeaderEnd from 'design-comuni-plone-theme/components/ItaliaTheme/View/PageView/Placeholder/HeaderEnd';
141
142
  export PaginaArgomentoPlaceholderAfterContent from 'design-comuni-plone-theme/components/ItaliaTheme/View/PaginaArgomentoView/Placeholder/AfterContent';
142
143
  export PaginaArgomentoPlaceholderAfterRelatedItems from 'design-comuni-plone-theme/components/ItaliaTheme/View/PaginaArgomentoView/Placeholder/AfterRelatedItems';
143
144
  export PaginaArgomentoViewNoBlocks from 'design-comuni-plone-theme/components/ItaliaTheme/View/PaginaArgomentoView/PaginaArgomentoViewNoBlocks';
@@ -183,6 +184,7 @@ export UOContacts from 'design-comuni-plone-theme/components/ItaliaTheme/View/UO
183
184
  export UOContactsLocations from 'design-comuni-plone-theme/components/ItaliaTheme/View/UOView/UOContactsParts/UOContactsLocations';
184
185
  export UOContactsContacts from 'design-comuni-plone-theme/components/ItaliaTheme/View/UOView/UOContactsParts/UOContactsContacts';
185
186
  export UOContactsSediSecondarie from 'design-comuni-plone-theme/components/ItaliaTheme/View/UOView/UOContactsParts/UOContactsSediSecondarie';
187
+ export UOMetadati from 'design-comuni-plone-theme/components/ItaliaTheme/View/UOView/UOMetadati';
186
188
 
187
189
  export UODocuments from 'design-comuni-plone-theme/components/ItaliaTheme/View/UOView/UODocuments';
188
190
  export UOWhatDoesItDo from 'design-comuni-plone-theme/components/ItaliaTheme/View/UOView/UOWhatDoesItDo';
@@ -26,7 +26,6 @@ export SectionIcon from 'design-comuni-plone-theme/components/ItaliaTheme/Icons/
26
26
 
27
27
  /********* COMMONS ********* */
28
28
  export CardCategory from 'design-comuni-plone-theme/components/ItaliaTheme/Cards/CardCategory';
29
- export RemoveBodyClass from 'design-comuni-plone-theme/components/ItaliaTheme/RemoveBodyClass/RemoveBodyClass';
30
29
  export CardPersona from 'design-comuni-plone-theme/components/ItaliaTheme/Cards/CardPersona';
31
30
  export GalleryPreview from 'design-comuni-plone-theme/components/ItaliaTheme/GalleryPreview/GalleryPreview';
32
31
 
@@ -80,6 +79,7 @@ export SearchSectionsBackground from 'design-comuni-plone-theme/components/Itali
80
79
  export BackgroundUser from 'design-comuni-plone-theme/components/ItaliaTheme/Blocks/SearchSections/BackgroundUser';
81
80
  export Skeleton from 'design-comuni-plone-theme/components/ItaliaTheme/Blocks/Listing/TemplatesSkeletons/Skeleton';
82
81
  export CardCalendar from 'design-comuni-plone-theme/components/ItaliaTheme/Blocks/Listing/Commons/CardCalendar';
82
+ export RassegnaInfo from 'design-comuni-plone-theme/components/ItaliaTheme/Blocks/Listing/Commons/RassegnaInfo';
83
83
  export ListingCategory from 'design-comuni-plone-theme/components/ItaliaTheme/Blocks/Listing/Commons/ListingCategory';
84
84
  export ListingText from 'design-comuni-plone-theme/components/ItaliaTheme/Blocks/Listing/Commons/ListingText';
85
85
  export ListingLinkMore from 'design-comuni-plone-theme/components/ItaliaTheme/Blocks/Listing/Commons/ListingLinkMore';
@@ -3,6 +3,7 @@
3
3
  * CUSTOMIZATIONS:
4
4
  * - rimossi i bottoni di allinemento, textlarger e blockquote perchè non funzionano nel widget e non servono in questi campi
5
5
  * - aggiunta la classe public-ui
6
+ * - aggiunta la proprietà "fieldSet" per passare il nome del fieldset dentro SlateEditor. Quaste modifica è stata introdotta su volto 18: https://github.com/plone/volto/pull/6803
6
7
  */
7
8
 
8
9
  import React from 'react';
@@ -31,8 +32,7 @@ import '@plone/volto-slate/widgets/style.css';
31
32
 
32
33
  const messages = defineMessages({
33
34
  error: {
34
- id:
35
- 'An error has occurred while editing "{name}" field. We have been notified and we are looking into it. Please save your work and retry. If the issue persists please contact the site administrator.',
35
+ id: 'An error has occurred while editing "{name}" field. We have been notified and we are looking into it. Please save your work and retry. If the issue persists please contact the site administrator.',
36
36
  defaultMessage:
37
37
  'An error has occurred while editing "{name}" field. We have been notified and we are looking into it. Please save your work and retry. If the issue persists please contact the site administrator.',
38
38
  },
@@ -44,6 +44,7 @@ const HtmlSlateWidget = (props) => {
44
44
  onChange,
45
45
  value,
46
46
  focus,
47
+ fieldSet,
47
48
  className,
48
49
  block,
49
50
  placeholder,
@@ -138,6 +139,7 @@ const HtmlSlateWidget = (props) => {
138
139
  id={id}
139
140
  name={id}
140
141
  value={valueFromHtml}
142
+ fieldSet={fieldSet}
141
143
  onChange={handleChange}
142
144
  block={block}
143
145
  selected={selected}
@@ -50,7 +50,7 @@ const SearchSectionsConfigurationForm = ({
50
50
  useEffect(() => {
51
51
  document
52
52
  .querySelector('form.ui.form')
53
- .addEventListener('click', preventClick);
53
+ ?.addEventListener('click', preventClick);
54
54
 
55
55
  document.querySelectorAll('form.ui.form input').forEach((item) => {
56
56
  item.addEventListener('keypress', preventEnter);
@@ -59,7 +59,7 @@ const SearchSectionsConfigurationForm = ({
59
59
  return () => {
60
60
  document
61
61
  .querySelector('form.ui.form')
62
- .removeEventListener('click', preventClick);
62
+ ?.removeEventListener('click', preventClick);
63
63
  document.querySelectorAll('form.ui.form input').forEach((item) => {
64
64
  item.removeEventListener('keypress', preventEnter);
65
65
  });
@@ -92,6 +92,10 @@ const messages = defineMessages({
92
92
  id: 'dropdown_indicator',
93
93
  defaultMessage: 'Apri il menu',
94
94
  },
95
+ SelectInput_default_label: {
96
+ id: 'SelectInput_default_label',
97
+ defaultMessage: "Seleziona un'opzione",
98
+ },
95
99
  });
96
100
 
97
101
  const SelectContainer = injectLazyLibs('reactSelect')(({
@@ -313,14 +317,16 @@ const SelectInput = ({
313
317
  options,
314
318
  components = {},
315
319
  reactSelect,
320
+ labelledby,
316
321
  defaultValue,
317
322
  }) => {
318
323
  const intl = useIntl();
324
+ const labelDefined =
325
+ label || intl.formatMessage(messages.SelectInput_default_label);
319
326
  const Select = reactSelect.default;
320
327
  return (
321
328
  <div className="bootstrap-select-wrapper">
322
- {label && <label htmlFor={id}>{label}</label>}
323
-
329
+ {label && <label htmlFor={!labelledby ? id : undefined}>{label}</label>}
324
330
  <Select
325
331
  components={{
326
332
  MenuList,
@@ -341,9 +347,9 @@ const SelectInput = ({
341
347
  isSearchable={isSearchable}
342
348
  isMulti={isMulti}
343
349
  isClearable={isClearable}
344
- aria-label={label}
350
+ aria-label={labelDefined}
351
+ aria-labelledby={!label ? labelledby : undefined}
345
352
  aria-live="polite"
346
- aria-labelledby={id}
347
353
  ariaLiveMessages={getSelectAriaLiveMessages(intl)}
348
354
  noOptionsMessage={() =>
349
355
  intl.formatMessage(messages.select_noOptionsMessage)
@@ -17,6 +17,7 @@ export default function TextInput(props) {
17
17
  groupClassName,
18
18
  ...otherProps
19
19
  } = props;
20
+
20
21
  const [isFocused, setIsFocused] = useState(false);
21
22
 
22
23
  const toggleFocusLabel = () => {
@@ -0,0 +1,132 @@
1
+ import FormValidation from '@plone/volto/helpers/FormValidation/FormValidation';
2
+ import { messages } from '@plone/volto/helpers/MessageLabels/MessageLabels';
3
+
4
+ // copied over and tweaked from
5
+ // https://github.com/plone/volto/blob/17.x.x/src/helpers/FormValidation/FormValidation.test.js
6
+ const schema = {
7
+ properties: {
8
+ username: { title: 'Username', type: 'string', description: '' },
9
+ email: { title: 'Email', type: 'string', widget: 'email', description: '' },
10
+ url: { title: 'url', type: 'string', widget: 'url', description: '' },
11
+ },
12
+ fieldsets: [
13
+ { id: 'default', title: 'FIXME: User Data', fields: ['username'] },
14
+ { id: 'second', title: 'Second: User Data', fields: ['email'] },
15
+ ],
16
+ required: ['username'],
17
+ };
18
+ // const errors = { email: ['The specified email is not valid.'] };
19
+ const formData = { username: 'test username', email: 'test@example.com' };
20
+ const formatMessage = (messageObj) => {
21
+ return messageObj?.defaultMessage;
22
+ };
23
+ const errorJSON =
24
+ "[{'message': 'The specified email is not valid.', 'field': 'email', 'error': 'ValidationError'}]";
25
+ // end copied section
26
+
27
+ describe('FormValidation', () => {
28
+ describe('validateFieldsPerFieldset', () => {
29
+ // Tests copied over from Volto
30
+ it('validates incorrect url', () => {
31
+ formData.url = 'foo';
32
+ expect(
33
+ FormValidation.validateFieldsPerFieldset({
34
+ schema,
35
+ formData,
36
+ formatMessage,
37
+ }),
38
+ ).toEqual({ url: [messages.isValidURL.defaultMessage] });
39
+ });
40
+ it('validates url', () => {
41
+ formData.url = 'https://plone.org/';
42
+ expect(
43
+ FormValidation.validateFieldsPerFieldset({
44
+ schema,
45
+ formData,
46
+ formatMessage,
47
+ }),
48
+ ).toEqual({});
49
+ });
50
+ it('validates url with ip', () => {
51
+ formData.url = 'http://127.0.0.1:8080/Plone';
52
+ expect(
53
+ FormValidation.validateFieldsPerFieldset({
54
+ schema,
55
+ formData,
56
+ formatMessage,
57
+ }),
58
+ ).toEqual({});
59
+ });
60
+ it('validates url with localhost', () => {
61
+ formData.url = 'http://localhost:8080/Plone';
62
+ expect(
63
+ FormValidation.validateFieldsPerFieldset({
64
+ schema,
65
+ formData,
66
+ formatMessage,
67
+ }),
68
+ ).toEqual({});
69
+ });
70
+ // Our additional tests
71
+ it('validates url with path', () => {
72
+ formData.url = 'https://plone.org/Plone';
73
+ expect(
74
+ FormValidation.validateFieldsPerFieldset({
75
+ schema,
76
+ formData,
77
+ formatMessage,
78
+ }),
79
+ ).toEqual({});
80
+ });
81
+ it('validates url with port', () => {
82
+ formData.url = 'https://plone.org:8080/Plone';
83
+ expect(
84
+ FormValidation.validateFieldsPerFieldset({
85
+ schema,
86
+ formData,
87
+ formatMessage,
88
+ }),
89
+ ).toEqual({});
90
+ });
91
+ it('validates url with query', () => {
92
+ formData.url = 'https://plone.org/Plone?query=1';
93
+ expect(
94
+ FormValidation.validateFieldsPerFieldset({
95
+ schema,
96
+ formData,
97
+ formatMessage,
98
+ }),
99
+ ).toEqual({});
100
+ });
101
+ it('validates url with query with slashes', () => {
102
+ formData.url = 'https://plone.org/Plone?query=1/2/3';
103
+ expect(
104
+ FormValidation.validateFieldsPerFieldset({
105
+ schema,
106
+ formData,
107
+ formatMessage,
108
+ }),
109
+ ).toEqual({});
110
+ });
111
+ it('validates url with fragment', () => {
112
+ formData.url = 'https://plone.org/Plone#fragment';
113
+ expect(
114
+ FormValidation.validateFieldsPerFieldset({
115
+ schema,
116
+ formData,
117
+ formatMessage,
118
+ }),
119
+ ).toEqual({});
120
+ });
121
+ it('validates url with query and fragment', () => {
122
+ formData.url = 'https://plone.org/Plone?query=1#fragment';
123
+ expect(
124
+ FormValidation.validateFieldsPerFieldset({
125
+ schema,
126
+ formData,
127
+ formatMessage,
128
+ }),
129
+ ).toEqual({});
130
+ });
131
+ });
132
+ });
@@ -10,7 +10,7 @@ const messages = defineMessages({
10
10
  show_pdf_desc: {
11
11
  id: 'show_pdf_desc',
12
12
  defaultMessage:
13
- "Permette di aprire l'anteprima di tutti i PDF di questo elenco in una tab separata altrimenti vengono scaricati.",
13
+ "Permette di aprire l'anteprima di tutti i PDF di questo elenco in una tab separata. Se non impostato, i PDF vengono scaricati.",
14
14
  },
15
15
  });
16
16
 
@@ -4,6 +4,13 @@ import BlockquoteMenu from './BlockquoteMenu';
4
4
  export default function install(config) {
5
5
  const { slate } = config.settings;
6
6
 
7
+ slate.elements.blockquote = ({ children, attributes, ...otherProps }) => {
8
+ return (
9
+ <blockquote {...attributes}>
10
+ <p>{children}</p>
11
+ </blockquote>
12
+ );
13
+ };
7
14
  slate.buttons.blockquote = (props) => (
8
15
  <BlockquoteMenu {...props} title="Blockquote" />
9
16
  );
@@ -44,6 +44,7 @@ defineMessages({
44
44
  const italiaContentTypesViews = {
45
45
  Document: PageView,
46
46
  'News Item': NewsItemView,
47
+ ComunicatoStampa: NewsItemView, // ct opzionale da volto-rer-ufficiostampa
47
48
  UnitaOrganizzativa: UOView,
48
49
  Persona: PersonaView,
49
50
  Venue: VenueView,
@@ -8,7 +8,7 @@ import shareSVG from '@plone/volto/icons/share.svg';
8
8
  import searchIcon from 'bootstrap-italia/src/svg/it-search.svg';
9
9
  import { defineMessages } from 'react-intl';
10
10
  import { Search } from '@plone/volto/components';
11
-
11
+ import ImageWithErrors from 'design-comuni-plone-theme/components/ImageWithErrors/ImageWithErrors';
12
12
  import {
13
13
  getItaliaListingVariations,
14
14
  removeListingVariation,
@@ -34,6 +34,8 @@ import HandleAnchor from 'design-comuni-plone-theme/components/ItaliaTheme/AppEx
34
34
  import GenericAppExtras from 'design-comuni-plone-theme/components/ItaliaTheme/AppExtras/GenericAppExtras';
35
35
  import PageLoader from 'design-comuni-plone-theme/components/ItaliaTheme/AppExtras/PageLoader';
36
36
  import TrackFocus from 'design-comuni-plone-theme/components/ItaliaTheme/AppExtras/TrackFocus';
37
+ import SiteSettingsExtras from 'design-comuni-plone-theme/components/ItaliaTheme/AppExtras/SiteSettingsExtras';
38
+
37
39
  import { loadables as ItaliaLoadables } from 'design-comuni-plone-theme/config/loadables';
38
40
 
39
41
  // CTs icons
@@ -62,6 +64,10 @@ import applyItaliaSlateConfig from 'design-comuni-plone-theme/config/Slate/confi
62
64
  import { schemaListing } from 'design-comuni-plone-theme/components/ItaliaTheme/Blocks/Listing/schema.js';
63
65
 
64
66
  import reducers from 'design-comuni-plone-theme/reducers';
67
+ import {
68
+ FALLBACK_IMAGE_SRC,
69
+ FALLBACK_IMAGE_SRC_MAX_W,
70
+ } from 'design-comuni-plone-theme/helpers/images';
65
71
 
66
72
  const ReleaseLog = loadable(
67
73
  () => import('design-comuni-plone-theme/components/ReleaseLog/ReleaseLog'),
@@ -72,6 +78,14 @@ const messages = defineMessages({
72
78
  id: 'search_brdc',
73
79
  defaultMessage: 'Ricerca',
74
80
  },
81
+ auth_ft: {
82
+ id: 'auth_ft',
83
+ defaultMessage: 'Login/Logout',
84
+ },
85
+ sitemap_ft: {
86
+ id: 'sitemap_ft',
87
+ defaultMessage: 'Sitemap',
88
+ },
75
89
  });
76
90
 
77
91
  export default function applyConfig(voltoConfig) {
@@ -81,9 +95,10 @@ export default function applyConfig(voltoConfig) {
81
95
  * SETTINGS
82
96
  ******************************************************************************/
83
97
  const voltoSentryOptions = voltoConfig.settings.sentryOptions;
84
-
98
+ config.experimental.addBlockButton.enabled = true; //per spostare il bottone di aggiunta dei blocchi in basso, e fare in modo che i bottoni di edit dei blocchi siano usabili anche da tablet/mobile
85
99
  config.settings = {
86
100
  ...config.settings,
101
+ contextualVocabularies: config.settings.contextualVocabularies || [],
87
102
  openExternalLinkInNewTab: true,
88
103
  sentryOptions: (libraries) => ({
89
104
  ...voltoSentryOptions(libraries),
@@ -122,6 +137,16 @@ export default function applyConfig(voltoConfig) {
122
137
  errorPages: true,
123
138
  },
124
139
  },
140
+ /*
141
+ Set to 100mb in BINARY bytes, not decimal, see volto/helpers/FormValidation.js.validateFileUploadSize error message
142
+ ...
143
+ messages.fileTooLarge, {
144
+ limit: `${Math.floor(
145
+ config.settings.maxFileUploadSize / 1024 / 1024,
146
+ )}MB`,
147
+ }
148
+ */
149
+ maxFileUploadSize: 104857600,
125
150
  querystringAdditionalFields: [],
126
151
  searchBlockTemplates: [
127
152
  'simpleCard',
@@ -173,7 +198,7 @@ export default function applyConfig(voltoConfig) {
173
198
  ...(config.settings.controlpanels ?? []),
174
199
  {
175
200
  '@id': '/release-log',
176
- group: 'Generali',
201
+ group: 'General',
177
202
  title: 'Novità ultimi rilasci',
178
203
  id: 'release-log',
179
204
  },
@@ -263,12 +288,17 @@ export default function applyConfig(voltoConfig) {
263
288
  ],
264
289
  },
265
290
  enableFeedbackForm: true,
291
+ noFeedbackFormFor: ['ModelloPratica'],
292
+ enableNoFeedbackFormFor: false,
266
293
  enableFeedbackFormCaptcha: false,
267
294
  enableVoltoFormBlockCaptcha: true,
268
295
  splitMegamenuColumns: true, //se impostato a false, non spezza le colonne con intestazioni nel megamenu
269
296
  footerNavigationDepth: 2, //valori possibili: [1,2]. Se impostato ad 1 non verranno mostrati nel footer i link agli elementi contenuti nelle sezioni di primo livello.
270
297
  markSpecialLinks: true, // se impostato a false, non marca con icona i link esterni
271
298
  markFooterLinks: true, // se impostato a true, viene aggiunta un'icona ai link del footer per renderli riconoscibili
299
+ showContentDateInListingFor: ['Modulo', 'Documento'], // elenco dei content types per i quali mostrare la data di pubblicazione/modifica in listing
300
+ fallbackImageSrc: FALLBACK_IMAGE_SRC,
301
+ fallbackImageSrcMaxW: FALLBACK_IMAGE_SRC_MAX_W,
272
302
  },
273
303
  apiExpanders: [
274
304
  ...config.settings.apiExpanders,
@@ -295,23 +325,11 @@ export default function applyConfig(voltoConfig) {
295
325
  match: '',
296
326
  component: TrackFocus,
297
327
  },
328
+ {
329
+ match: '',
330
+ component: SiteSettingsExtras,
331
+ },
298
332
  ],
299
- maxFileUploadSize: null,
300
- 'volto-blocks-widget': {
301
- allowedBlocks: [
302
- ...(config.settings['volto-blocks-widget']?.allowedBlocks ?? []).filter(
303
- (block) => block !== 'maps',
304
- ),
305
- 'break',
306
- 'testo_riquadro_semplice',
307
- 'testo_riquadro_immagine',
308
- 'callout_block',
309
- 'rssBlock',
310
- //se si aggiunge un nuovo blocco, verificare che in edit non ci siano bottoni che provocano il submit della form. Se succede, gestirli con e.prevenDefault() e.stopPropagation().
311
- ],
312
-
313
- showRestricted: false,
314
- },
315
333
 
316
334
  'volto-editablefooter': {
317
335
  ...config.settings['volto-editablefooter'],
@@ -329,14 +347,46 @@ export default function applyConfig(voltoConfig) {
329
347
  pane: CommentsStep,
330
348
  },
331
349
  ],
350
+ // Enable Feedback component in your CMS/Non content routes
351
+ feedbackEnabledNonContentRoutes: [
352
+ ...(config.settings['volto-feedback']
353
+ ?.feedbackEnabledNonContentRoutes ?? []),
354
+ {
355
+ path: '/login',
356
+ feedbackTitle: messages.auth_ft,
357
+ },
358
+ // { path: '/logout', feedbackTitle: messages.auth_ft },
359
+ { path: '/sitemap', feedbackTitle: messages.sitemap_ft },
360
+ { path: '/search', feedbackTitle: messages.search_brdc },
361
+ ],
332
362
  },
333
363
  videoAllowExternalsDefault: false,
334
364
  showTrasparenzaFields: false,
335
365
  };
366
+ // Moved outside as config.settings.defaultBlockType keeps default value (slate) until object spread is concluded
367
+ config.settings['volto-blocks-widget'] = {
368
+ ...config.settings['volto-blocks-widget'],
369
+ allowedBlocks: [
370
+ ...(config.settings['volto-blocks-widget']?.allowedBlocks ?? []).filter(
371
+ (block) => !['maps', 'text', 'slate'].includes(block),
372
+ ),
373
+ 'break',
374
+ 'testo_riquadro_semplice',
375
+ 'testo_riquadro_immagine',
376
+ 'rssBlock',
377
+ config.settings.defaultBlockType,
378
+ //se si aggiunge un nuovo blocco, verificare che in edit non ci siano bottoni che provocano il submit della form. Se succede, gestirli con e.prevenDefault() e.stopPropagation().
379
+ // Se sono bottoni semantic basta mettere type="button"
380
+ ],
381
+
382
+ showRestricted: false,
383
+ };
336
384
 
337
385
  config.settings.nonContentRoutes = config.settings.nonContentRoutes.filter(
338
- (route) => route !== '/contact-form',
386
+ (route) => route !== '/contact-form' && route !== '/diff',
339
387
  );
388
+ config.settings.nonContentRoutes.push(/\/diff$/);
389
+ config.settings.nonContentRoutes.push('/diff\\?');
340
390
  config.settings.nonContentRoutes.push('/release-log');
341
391
 
342
392
  /******************************************************************************
@@ -468,7 +518,14 @@ export default function applyConfig(voltoConfig) {
468
518
  config.components = {
469
519
  ...config.components,
470
520
  BlockExtraTags: { component: () => null },
521
+ Image: {
522
+ component: ImageWithErrors,
523
+ },
471
524
  };
525
+ config.registerComponent({
526
+ name: 'SiteSettingsExtras',
527
+ component: SiteSettingsExtras,
528
+ });
472
529
 
473
530
  // REDUCERS
474
531
  config.addonReducers = {