design-comuni-plone-theme 12.0.0-alpha.1 → 12.1.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 (439) 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 +1619 -488
  147. package/Makefile +1 -1
  148. package/RELEASE.md +418 -9
  149. package/locales/de/LC_MESSAGES/volto.po +265 -16
  150. package/locales/en/LC_MESSAGES/volto.po +327 -78
  151. package/locales/es/LC_MESSAGES/volto.po +265 -16
  152. package/locales/fr/LC_MESSAGES/volto.po +265 -16
  153. package/locales/it/LC_MESSAGES/volto.po +268 -19
  154. package/locales/volto.pot +266 -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 +7 -1
  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/Teaser/ItaliaTeaserBody.jsx +190 -0
  202. package/src/components/ItaliaTheme/Blocks/Teaser/schema.js +179 -0
  203. package/src/components/ItaliaTheme/Blocks/TextCard/CardWithImage/Block.jsx +4 -2
  204. package/src/components/ItaliaTheme/Blocks/TextCard/SimpleCard/Edit.jsx +2 -2
  205. package/src/components/ItaliaTheme/Blocks/UOSearch/Body.jsx +10 -2
  206. package/src/components/ItaliaTheme/Blocks/UOSearch/Sidebar.jsx +16 -0
  207. package/src/components/ItaliaTheme/Blocks/__tests__/Accordion.test.jsx +0 -3
  208. package/src/components/ItaliaTheme/BrandText/BrandText.jsx +39 -7
  209. package/src/components/ItaliaTheme/BrandTextFooter/BrandTextFooter.jsx +31 -2
  210. package/src/components/ItaliaTheme/Breadcrumbs/Breadcrumbs.jsx +16 -8
  211. package/src/components/ItaliaTheme/Cards/CardCategory.jsx +2 -3
  212. package/src/components/ItaliaTheme/Cards/CardPersona.jsx +5 -8
  213. package/src/components/ItaliaTheme/CustomerSatisfaction/FeedbackForm.jsx +27 -23
  214. package/src/components/ItaliaTheme/CustomerSatisfaction/Steps/AnswersStep.jsx +1 -0
  215. package/src/components/ItaliaTheme/CustomerSatisfaction/Steps/CommentsStep.jsx +1 -0
  216. package/src/components/ItaliaTheme/Footer/FooterInfos.jsx +5 -4
  217. package/src/components/ItaliaTheme/Footer/FooterMain.jsx +4 -4
  218. package/src/components/ItaliaTheme/Footer/FooterSmall.jsx +10 -5
  219. package/src/components/ItaliaTheme/Header/HeaderCenter.jsx +5 -6
  220. package/src/components/ItaliaTheme/Header/HeaderSearch/HeaderSearch.jsx +9 -1
  221. package/src/components/ItaliaTheme/Header/HeaderSearch/SearchModal.jsx +21 -4
  222. package/src/components/ItaliaTheme/Header/HeaderSlim/HeaderSlim.jsx +32 -9
  223. package/src/components/ItaliaTheme/Header/HeaderSlim/LoginButton.jsx +1 -1
  224. package/src/components/ItaliaTheme/Header/HeaderSlim/TertiaryMenu.jsx +2 -2
  225. package/src/components/ItaliaTheme/Header/ParentSiteMenu.jsx +17 -2
  226. package/src/components/ItaliaTheme/Icons/DesignIcon.jsx +80 -29
  227. package/src/components/ItaliaTheme/Icons/FontAwesomeIcon.jsx +2 -0
  228. package/src/components/ItaliaTheme/Icons/common/common.js +9 -8
  229. package/src/components/ItaliaTheme/LoginAgid/LoginAgid.jsx +2 -5
  230. package/src/components/ItaliaTheme/Logo/Logo.jsx +15 -7
  231. package/src/components/ItaliaTheme/LogoFooter/LogoFooter.jsx +11 -3
  232. package/src/components/ItaliaTheme/MegaMenu/MegaMenu.jsx +5 -1
  233. package/src/components/ItaliaTheme/Pagination/Pagination.jsx +5 -1
  234. package/src/components/ItaliaTheme/Pagination/PaginationItem.jsx +15 -1
  235. package/src/components/ItaliaTheme/ScrollToTop/ScrollToTop.jsx +0 -1
  236. package/src/components/ItaliaTheme/Search/Search.jsx +2 -3
  237. package/src/components/ItaliaTheme/SkipLinks/SkipLinks.jsx +21 -11
  238. package/src/components/ItaliaTheme/Slider/NextArrow.jsx +1 -1
  239. package/src/components/ItaliaTheme/Slider/PrevArrow.jsx +1 -1
  240. package/src/components/ItaliaTheme/Slider/SingleSlideWrapper.jsx +5 -2
  241. package/src/components/ItaliaTheme/Unauthorized/Unauthorized.jsx +2 -5
  242. package/src/components/ItaliaTheme/View/BandoView/BandoApprofondimenti.jsx +1 -1
  243. package/src/components/ItaliaTheme/View/BandoView/BandoView.jsx +19 -1
  244. package/src/components/ItaliaTheme/View/Commons/Actions.jsx +2 -2
  245. package/src/components/ItaliaTheme/View/Commons/Argument/ArgumentIcon.jsx +1 -1
  246. package/src/components/ItaliaTheme/View/Commons/Attachment.jsx +1 -1
  247. package/src/components/ItaliaTheme/View/Commons/BandoDates.jsx +27 -47
  248. package/src/components/ItaliaTheme/View/Commons/ContactsCard.jsx +2 -31
  249. package/src/components/ItaliaTheme/View/Commons/Dates.jsx +62 -28
  250. package/src/components/ItaliaTheme/View/Commons/Events.jsx +28 -27
  251. package/src/components/ItaliaTheme/View/Commons/Gallery.jsx +36 -28
  252. package/src/components/ItaliaTheme/View/Commons/GenericCard.jsx +14 -13
  253. package/src/components/ItaliaTheme/View/Commons/HelpBox.jsx +1 -1
  254. package/src/components/ItaliaTheme/View/Commons/LocationItem.jsx +15 -9
  255. package/src/components/ItaliaTheme/View/Commons/LocationsMap.jsx +4 -18
  256. package/src/components/ItaliaTheme/View/Commons/Module.jsx +22 -31
  257. package/src/components/ItaliaTheme/View/Commons/Modules.jsx +3 -1
  258. package/src/components/ItaliaTheme/View/Commons/OfficeCard.jsx +7 -3
  259. package/src/components/ItaliaTheme/View/Commons/PageHeader/PageHeader.jsx +3 -4
  260. package/src/components/ItaliaTheme/View/Commons/PageHeader/PageHeaderBando.jsx +3 -0
  261. package/src/components/ItaliaTheme/View/Commons/PageHeader/PageHeaderDates.jsx +0 -10
  262. package/src/components/ItaliaTheme/View/Commons/PageHeader/PageHeaderEventDates.jsx +62 -14
  263. package/src/components/ItaliaTheme/View/Commons/PageHeader/PageHeaderTassonomiaArgomenti.jsx +4 -5
  264. package/src/components/ItaliaTheme/View/Commons/RelatedArticles.jsx +12 -1
  265. package/src/components/ItaliaTheme/View/Commons/RelatedItemInEvidence/RelatedItemInEvidence.jsx +14 -1
  266. package/src/components/ItaliaTheme/View/Commons/RelatedItems.jsx +11 -3
  267. package/src/components/ItaliaTheme/View/Commons/RenderBlocks.jsx +5 -2
  268. package/src/components/ItaliaTheme/View/Commons/Sharing.jsx +1 -1
  269. package/src/components/ItaliaTheme/View/Commons/SideMenu.jsx +11 -7
  270. package/src/components/ItaliaTheme/View/Commons/Sponsors.jsx +14 -10
  271. package/src/components/ItaliaTheme/View/Commons/VenuesSmall.jsx +13 -6
  272. package/src/components/ItaliaTheme/View/Commons/__tests__/Dates.test.jsx +1 -1
  273. package/src/components/ItaliaTheme/View/DocumentoView/DocumentoAccedereServizio.jsx +5 -8
  274. package/src/components/ItaliaTheme/View/DocumentoView/DocumentoView.jsx +20 -1
  275. package/src/components/ItaliaTheme/View/EventoView/EventoContatti.jsx +8 -7
  276. package/src/components/ItaliaTheme/View/EventoView/EventoContattiOrganizzatoreEsterno.jsx +1 -12
  277. package/src/components/ItaliaTheme/View/EventoView/EventoContattiOrganizzatoreInterno.jsx +1 -12
  278. package/src/components/ItaliaTheme/View/EventoView/EventoCosE.jsx +17 -2
  279. package/src/components/ItaliaTheme/View/EventoView/EventoOrganizzatoDa.jsx +38 -0
  280. package/src/components/ItaliaTheme/View/EventoView/EventoPatrocinatoDa.jsx +38 -0
  281. package/src/components/ItaliaTheme/View/EventoView/EventoUlterioriInformazioni.jsx +0 -22
  282. package/src/components/ItaliaTheme/View/EventoView/EventoView.jsx +20 -1
  283. package/src/components/ItaliaTheme/View/FAQ/FaqFolder/SearchBar.jsx +7 -0
  284. package/src/components/ItaliaTheme/View/IncaricoView/IncaricoView.jsx +47 -8
  285. package/src/components/ItaliaTheme/View/NewsItemView/NewsItemText.jsx +33 -10
  286. package/src/components/ItaliaTheme/View/NewsItemView/NewsItemView.jsx +19 -1
  287. package/src/components/ItaliaTheme/View/PageView/PageView.jsx +3 -0
  288. package/src/components/ItaliaTheme/View/PageView/Placeholder/HeaderEnd.jsx +6 -0
  289. package/src/components/ItaliaTheme/View/PaginaArgomentoView/PaginaArgomentoView.jsx +15 -36
  290. package/src/components/ItaliaTheme/View/PaginaArgomentoView/PaginaArgomentoViewNoBlocks.jsx +14 -1
  291. package/src/components/ItaliaTheme/View/PersonaView/PersonaDocumenti.jsx +106 -0
  292. package/src/components/ItaliaTheme/View/PersonaView/PersonaRuolo.jsx +85 -60
  293. package/src/components/ItaliaTheme/View/PersonaView/PersonaView.jsx +20 -1
  294. package/src/components/ItaliaTheme/View/PuntoDiContattoView/PuntoDiContattoView.jsx +2 -2
  295. package/src/components/ItaliaTheme/View/ServizioView/ServizioAccedi.jsx +5 -1
  296. package/src/components/ItaliaTheme/View/ServizioView/ServizioCondizioni.jsx +5 -1
  297. package/src/components/ItaliaTheme/View/ServizioView/ServizioMetatag.jsx +9 -1
  298. package/src/components/ItaliaTheme/View/ServizioView/ServizioView.jsx +19 -2
  299. package/src/components/ItaliaTheme/View/UOView/UOMetadati.jsx +12 -0
  300. package/src/components/ItaliaTheme/View/UOView/UOServices.jsx +20 -2
  301. package/src/components/ItaliaTheme/View/UOView/UOView.jsx +23 -1
  302. package/src/components/ItaliaTheme/View/VenueView/VenueView.jsx +24 -11
  303. package/src/components/ItaliaTheme/View/VenueView/VenueWhere.jsx +1 -1
  304. package/src/components/ItaliaTheme/View/ViewUtils.jsx +1 -2
  305. package/src/components/ItaliaTheme/View/__tests__/ServizioTempiScadenze.test.jsx +0 -1
  306. package/src/components/ItaliaTheme/View/index.js +2 -0
  307. package/src/components/ItaliaTheme/index.js +1 -1
  308. package/src/components/ItaliaTheme/manage/Widgets/HtmlSlateWidget.jsx +4 -2
  309. package/src/components/ItaliaTheme/manage/Widgets/SearchSectionsConfigurationWidget/SearchSectionsConfigurationForm.jsx +2 -2
  310. package/src/components/SelectInput/SelectInput.jsx +10 -4
  311. package/src/components/TextInput.jsx +1 -0
  312. package/src/components/__tests__/FormValidation.test.js +142 -0
  313. package/src/config/Blocks/ListingOptions/attachmentCardTemplate.js +1 -1
  314. package/src/config/Blocks/blocks.js +4 -3
  315. package/src/config/Slate/Blockquote/index.js +7 -0
  316. package/src/config/Views/views.js +1 -0
  317. package/src/config/italiaConfig.js +81 -20
  318. package/src/customizations/volto/actions/vocabularies/vocabularies.js +102 -0
  319. package/src/customizations/volto/components/manage/AnchorPlugin/components/LinkButton/AddLinkForm.jsx +1 -0
  320. package/src/customizations/volto/components/manage/Blocks/Listing/ListingBody.jsx +5 -0
  321. package/src/customizations/volto/components/manage/Blocks/Search/SearchBlockView.jsx +50 -11
  322. package/src/customizations/volto/components/manage/Blocks/Search/components/DateRangeFacet.jsx +16 -2
  323. package/src/customizations/volto/components/manage/Blocks/Search/components/SearchDetails.jsx +2 -3
  324. package/src/customizations/volto/components/manage/Blocks/Search/hocs/withSearch.jsx +6 -4
  325. package/src/customizations/volto/components/manage/Blocks/Search/layout/LeftColumnFacets.jsx +21 -17
  326. package/src/customizations/volto/components/manage/Blocks/Search/layout/RightColumnFacets.jsx +21 -17
  327. package/src/customizations/volto/components/manage/Blocks/Search/schema.js +16 -0
  328. package/src/customizations/volto/components/manage/Blocks/Teaser/Body.jsx +30 -0
  329. package/src/customizations/volto/components/manage/Blocks/Video/Body.jsx +6 -5
  330. package/src/customizations/volto/components/manage/Contents/ContentsUploadModal.jsx +375 -0
  331. package/src/customizations/volto/components/manage/Controlpanels/Groups/GroupsControlpanel.jsx +709 -0
  332. package/src/customizations/volto/components/manage/Controlpanels/Groups/RenderGroups.jsx +122 -0
  333. package/src/customizations/volto/components/manage/Diff/DiffField.jsx +2 -3
  334. package/src/customizations/volto/components/manage/UniversalLink/UniversalLink.jsx +34 -23
  335. package/src/customizations/volto/components/manage/Widgets/ObjectBrowserWidget.jsx +1 -1
  336. package/src/customizations/volto/components/manage/Widgets/RecurrenceWidget/EndField.jsx +18 -11
  337. package/src/customizations/volto/components/manage/Widgets/RecurrenceWidget/RecurrenceWidget.jsx +240 -117
  338. package/src/customizations/volto/components/theme/Error/Error.jsx +86 -0
  339. package/src/customizations/volto/components/theme/Footer/Footer.jsx +17 -16
  340. package/src/customizations/volto/components/theme/Navigation/Navigation.jsx +22 -7
  341. package/src/customizations/volto/components/theme/View/LinkView.jsx +81 -0
  342. package/src/customizations/volto/components/theme/View/ListingView.jsx +3 -3
  343. package/src/{components/ItaliaTheme/RemoveBodyClass/RemoveBodyClass.jsx → customizations/volto/helpers/BodyClass/BodyClass.jsx} +19 -25
  344. package/src/customizations/volto/helpers/FormValidation/FormValidation.js +11 -8
  345. package/src/customizations/volto/helpers/Html/Html.jsx +2 -2
  346. package/src/customizations/volto-form-block/components/Field.jsx +7 -0
  347. package/src/customizations/volto-form-block/components/FormResult.jsx +43 -9
  348. package/src/customizations/volto-form-block/components/FormView.jsx +45 -41
  349. package/src/customizations/volto-form-block/components/Sidebar.jsx +328 -0
  350. package/src/customizations/volto-form-block/components/View.jsx +398 -0
  351. package/src/customizations/volto-form-block/fieldSchema.js +519 -0
  352. package/src/customizations/volto-form-block/formSchema.js +255 -0
  353. package/src/helpers/EnhanceLink.js +7 -2
  354. package/src/helpers/ListingHelper.js +1 -1
  355. package/src/helpers/blocks.js +0 -6
  356. package/src/helpers/dates.js +30 -2
  357. package/src/helpers/files.js +11 -4
  358. package/src/helpers/files.test.js +90 -0
  359. package/src/helpers/getItemsByPath.js +23 -1
  360. package/src/helpers/images.js +77 -0
  361. package/src/helpers/index.js +11 -0
  362. package/src/helpers/url.js +22 -0
  363. package/src/helpers/usePaginatedItemsSection.hook.ts +63 -0
  364. package/src/overrideTranslations.jsx +73 -0
  365. package/src/theme/ItaliaTheme/Addons/volto-gdpr-privacy.scss +0 -18
  366. package/src/theme/ItaliaTheme/Blocks/_accordion.scss +5 -4
  367. package/src/theme/ItaliaTheme/Blocks/_alert.scss +6 -11
  368. package/src/theme/ItaliaTheme/Blocks/_cardWithImage.scss +7 -2
  369. package/src/theme/ItaliaTheme/Blocks/_cardWithSlideUpTextTemplate.scss +19 -1
  370. package/src/theme/ItaliaTheme/Blocks/_contacts.scss +10 -34
  371. package/src/theme/ItaliaTheme/Blocks/_countdown.scss +10 -1
  372. package/src/theme/ItaliaTheme/Blocks/_ctaBlock.scss +8 -10
  373. package/src/theme/ItaliaTheme/Blocks/_form.scss +38 -32
  374. package/src/theme/ItaliaTheme/Blocks/_gridBlock.scss +39 -23
  375. package/src/theme/ItaliaTheme/Blocks/_iconBlocks.scss +10 -51
  376. package/src/theme/ItaliaTheme/Blocks/_inEvidenceTemplate.scss +1 -1
  377. package/src/theme/ItaliaTheme/Blocks/_listing.scss +0 -3
  378. package/src/theme/ItaliaTheme/Blocks/_numbers.scss +5 -15
  379. package/src/theme/ItaliaTheme/Blocks/_photogallerytemplate.scss +2 -2
  380. package/src/theme/ItaliaTheme/Blocks/_search.scss +20 -2
  381. package/src/theme/ItaliaTheme/Blocks/_sliderTemplate.scss +4 -4
  382. package/src/theme/ItaliaTheme/Blocks/_subblocks-edit.scss +3 -1
  383. package/src/theme/ItaliaTheme/Blocks/common/_searchBlockFilters.scss +10 -2
  384. package/src/theme/ItaliaTheme/Components/_card.scss +27 -7
  385. package/src/theme/ItaliaTheme/Components/_cardLocationItem.scss +12 -0
  386. package/src/theme/ItaliaTheme/Components/_cardPersona.scss +21 -1
  387. package/src/theme/ItaliaTheme/Components/_metadata.scss +1 -0
  388. package/src/theme/ItaliaTheme/Components/_mobileMenu.scss +12 -16
  389. package/src/theme/ItaliaTheme/Components/_pager.scss +10 -0
  390. package/src/theme/ItaliaTheme/Print/_all_pages.scss +98 -15
  391. package/src/theme/ItaliaTheme/Print/_blocks.scss +915 -8
  392. package/src/theme/ItaliaTheme/Print/_page.scss +1 -7
  393. package/src/theme/ItaliaTheme/Subsites/ItaliaTheme/Blocks/_contacts.scss +3 -0
  394. package/src/theme/ItaliaTheme/Views/_common.scss +27 -0
  395. package/src/theme/ItaliaTheme/Views/_servizio.scss +6 -0
  396. package/src/theme/ItaliaTheme/Views/_slider.scss +4 -0
  397. package/src/theme/ItaliaTheme/Widgets/_blocksWidget.scss +37 -0
  398. package/src/theme/ItaliaTheme/Widgets/_reactSelect.scss +5 -1
  399. package/src/theme/ItaliaTheme/_ar.scss +3 -2
  400. package/src/theme/ItaliaTheme/_common.scss +11 -6
  401. package/src/theme/ItaliaTheme/_home.scss +4 -6
  402. package/src/theme/ItaliaTheme/_main.scss +51 -1
  403. package/src/theme/ItaliaTheme/_white-header.scss +1 -1
  404. package/src/theme/_cms-ui.scss +150 -31
  405. package/src/theme/_mixins.scss +13 -0
  406. package/src/theme/_site-variables.scss +5 -6
  407. package/src/theme/bootstrap-override/_bootstrap-italia-site.scss +3 -0
  408. package/src/theme/bootstrap-override/bootstrap/_print.scss +1 -0
  409. package/src/theme/bootstrap-override/bootstrap-italia/_avatar.scss +28 -0
  410. package/src/theme/bootstrap-override/bootstrap-italia/_buttons.scss +18 -0
  411. package/src/theme/bootstrap-override/bootstrap-italia/_card.scss +12 -2
  412. package/src/theme/bootstrap-override/bootstrap-italia/_focus.scss +23 -0
  413. package/src/theme/bootstrap-override/bootstrap-italia/_footer.scss +1 -1
  414. package/src/theme/bootstrap-override/bootstrap-italia/_form-select.scss +17 -0
  415. package/src/theme/bootstrap-override/bootstrap-italia/_forms.scss +7 -0
  416. package/src/theme/bootstrap-override/bootstrap-italia/_headercenter.scss +19 -5
  417. package/src/theme/extras/_modals.scss +13 -0
  418. package/src/theme/extras/_search.scss +5 -0
  419. package/src/theme/extras/_tables.scss +12 -13
  420. package/src/theme/site.scss +0 -3
  421. package/.github/workflows/slate.yml +0 -47
  422. package/.yarn/cache/braces-npm-3.0.2-782240b28a-e2a8e769a8.zip +0 -0
  423. package/.yarn/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-671cc7c728.zip +0 -0
  424. package/.yarn/cache/fill-range-npm-7.0.1-b8b1817caa-cc283f4e65.zip +0 -0
  425. package/.yarn/cache/fsevents-patch-3340e2eb10-8.zip +0 -0
  426. package/.yarn/cache/micromatch-npm-4.0.5-cfab5d7669-02a17b671c.zip +0 -0
  427. package/.yarn/cache/nanoid-npm-3.3.6-e6d6ae7e71-7d0eda6570.zip +0 -0
  428. package/.yarn/cache/volto-blocks-widget-npm-3.4.0-a61b810f4f-355675359c.zip +0 -0
  429. package/.yarn/cache/volto-editablefooter-npm-5.1.1-a6579f67d9-c9a2e1f96f.zip +0 -0
  430. package/.yarn/cache/volto-gdpr-privacy-npm-2.2.0-6be0f74d53-8a93254251.zip +0 -0
  431. package/.yarn/cache/volto-multilingual-widget-npm-3.0.0-58c1ce4fb7-3fa0611e79.zip +0 -0
  432. package/.yarn/cache/volto-subsites-npm-4.0.0-17412b8f3b-9f943abc00.zip +0 -0
  433. package/src/customizations/volto/components/manage/BlockChooser/BlockChooserButton.jsx +0 -157
  434. package/src/customizations/volto/components/theme/View/disabled_View.jsx +0 -308
  435. package/src/customizations/volto/helpers/Api/disabled_Api.js +0 -131
  436. package/src/theme/ItaliaTheme/Components/_logo.scss +0 -10
  437. package/src/theme/ItaliaTheme/Print/_bandi.scss +0 -9
  438. package/src/theme/ItaliaTheme/Print/_news_items.scss +0 -19
  439. /package/src/components/ItaliaTheme/View/{__tests__/IncaricoView.test.jsx → __disabled_tests__/IncaricoView.test__disabled.jsx} +0 -0
@@ -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,11 @@ 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';
71
+ import ItaliaTeaserBody from 'design-comuni-plone-theme/components/ItaliaTheme/Blocks/Teaser/ItaliaTeaserBody';
65
72
 
66
73
  const ReleaseLog = loadable(
67
74
  () => import('design-comuni-plone-theme/components/ReleaseLog/ReleaseLog'),
@@ -72,6 +79,14 @@ const messages = defineMessages({
72
79
  id: 'search_brdc',
73
80
  defaultMessage: 'Ricerca',
74
81
  },
82
+ auth_ft: {
83
+ id: 'auth_ft',
84
+ defaultMessage: 'Login/Logout',
85
+ },
86
+ sitemap_ft: {
87
+ id: 'sitemap_ft',
88
+ defaultMessage: 'Sitemap',
89
+ },
75
90
  });
76
91
 
77
92
  export default function applyConfig(voltoConfig) {
@@ -81,9 +96,10 @@ export default function applyConfig(voltoConfig) {
81
96
  * SETTINGS
82
97
  ******************************************************************************/
83
98
  const voltoSentryOptions = voltoConfig.settings.sentryOptions;
84
-
99
+ 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
100
  config.settings = {
86
101
  ...config.settings,
102
+ contextualVocabularies: config.settings.contextualVocabularies || [],
87
103
  openExternalLinkInNewTab: true,
88
104
  sentryOptions: (libraries) => ({
89
105
  ...voltoSentryOptions(libraries),
@@ -122,6 +138,16 @@ export default function applyConfig(voltoConfig) {
122
138
  errorPages: true,
123
139
  },
124
140
  },
141
+ /*
142
+ Set to 100mb in BINARY bytes, not decimal, see volto/helpers/FormValidation.js.validateFileUploadSize error message
143
+ ...
144
+ messages.fileTooLarge, {
145
+ limit: `${Math.floor(
146
+ config.settings.maxFileUploadSize / 1024 / 1024,
147
+ )}MB`,
148
+ }
149
+ */
150
+ maxFileUploadSize: 104857600,
125
151
  querystringAdditionalFields: [],
126
152
  searchBlockTemplates: [
127
153
  'simpleCard',
@@ -173,7 +199,7 @@ export default function applyConfig(voltoConfig) {
173
199
  ...(config.settings.controlpanels ?? []),
174
200
  {
175
201
  '@id': '/release-log',
176
- group: 'Generali',
202
+ group: 'General',
177
203
  title: 'Novità ultimi rilasci',
178
204
  id: 'release-log',
179
205
  },
@@ -263,12 +289,17 @@ export default function applyConfig(voltoConfig) {
263
289
  ],
264
290
  },
265
291
  enableFeedbackForm: true,
292
+ noFeedbackFormFor: ['ModelloPratica'],
293
+ enableNoFeedbackFormFor: false,
266
294
  enableFeedbackFormCaptcha: false,
267
295
  enableVoltoFormBlockCaptcha: true,
268
296
  splitMegamenuColumns: true, //se impostato a false, non spezza le colonne con intestazioni nel megamenu
269
297
  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
298
  markSpecialLinks: true, // se impostato a false, non marca con icona i link esterni
271
299
  markFooterLinks: true, // se impostato a true, viene aggiunta un'icona ai link del footer per renderli riconoscibili
300
+ showContentDateInListingFor: ['Modulo', 'Documento'], // elenco dei content types per i quali mostrare la data di pubblicazione/modifica in listing
301
+ fallbackImageSrc: FALLBACK_IMAGE_SRC,
302
+ fallbackImageSrcMaxW: FALLBACK_IMAGE_SRC_MAX_W,
272
303
  },
273
304
  apiExpanders: [
274
305
  ...config.settings.apiExpanders,
@@ -295,23 +326,11 @@ export default function applyConfig(voltoConfig) {
295
326
  match: '',
296
327
  component: TrackFocus,
297
328
  },
329
+ {
330
+ match: '',
331
+ component: SiteSettingsExtras,
332
+ },
298
333
  ],
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
334
 
316
335
  'volto-editablefooter': {
317
336
  ...config.settings['volto-editablefooter'],
@@ -329,14 +348,46 @@ export default function applyConfig(voltoConfig) {
329
348
  pane: CommentsStep,
330
349
  },
331
350
  ],
351
+ // Enable Feedback component in your CMS/Non content routes
352
+ feedbackEnabledNonContentRoutes: [
353
+ ...(config.settings['volto-feedback']
354
+ ?.feedbackEnabledNonContentRoutes ?? []),
355
+ {
356
+ path: '/login',
357
+ feedbackTitle: messages.auth_ft,
358
+ },
359
+ // { path: '/logout', feedbackTitle: messages.auth_ft },
360
+ { path: '/sitemap', feedbackTitle: messages.sitemap_ft },
361
+ { path: '/search', feedbackTitle: messages.search_brdc },
362
+ ],
332
363
  },
333
364
  videoAllowExternalsDefault: false,
334
365
  showTrasparenzaFields: false,
335
366
  };
367
+ // Moved outside as config.settings.defaultBlockType keeps default value (slate) until object spread is concluded
368
+ config.settings['volto-blocks-widget'] = {
369
+ ...config.settings['volto-blocks-widget'],
370
+ allowedBlocks: [
371
+ ...(config.settings['volto-blocks-widget']?.allowedBlocks ?? []).filter(
372
+ (block) => !['maps', 'text', 'slate'].includes(block),
373
+ ),
374
+ 'break',
375
+ 'testo_riquadro_semplice',
376
+ 'testo_riquadro_immagine',
377
+ 'rssBlock',
378
+ config.settings.defaultBlockType,
379
+ //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().
380
+ // Se sono bottoni semantic basta mettere type="button"
381
+ ],
382
+
383
+ showRestricted: false,
384
+ };
336
385
 
337
386
  config.settings.nonContentRoutes = config.settings.nonContentRoutes.filter(
338
- (route) => route !== '/contact-form',
387
+ (route) => route !== '/contact-form' && route !== '/diff',
339
388
  );
389
+ config.settings.nonContentRoutes.push(/\/diff$/);
390
+ config.settings.nonContentRoutes.push('/diff\\?');
340
391
  config.settings.nonContentRoutes.push('/release-log');
341
392
 
342
393
  /******************************************************************************
@@ -468,7 +519,17 @@ export default function applyConfig(voltoConfig) {
468
519
  config.components = {
469
520
  ...config.components,
470
521
  BlockExtraTags: { component: () => null },
522
+ Image: {
523
+ component: ImageWithErrors,
524
+ },
525
+ Teaser: {
526
+ component: ItaliaTeaserBody,
527
+ },
471
528
  };
529
+ config.registerComponent({
530
+ name: 'SiteSettingsExtras',
531
+ component: SiteSettingsExtras,
532
+ });
472
533
 
473
534
  // REDUCERS
474
535
  config.addonReducers = {
@@ -0,0 +1,102 @@
1
+ /**
2
+
3
+ * original from volto 17.18.2
4
+ * backport https://github.com/plone/volto/pull/6236
5
+
6
+ * Vocabularies actions.
7
+ * @module actions/vocabularies/vocabularies
8
+ */
9
+
10
+ import {
11
+ GET_VOCABULARY,
12
+ GET_VOCABULARY_TOKEN_TITLE,
13
+ } from '@plone/volto/constants/ActionTypes';
14
+ import config from '@plone/volto/registry';
15
+ import { flattenToAppURL } from '@plone/volto/helpers';
16
+ import { getVocabName } from '@plone/volto/helpers/Vocabularies/Vocabularies';
17
+ import qs from 'query-string';
18
+
19
+ /**
20
+ * Get vocabulary given a URL (coming from a Schema) or from a vocabulary name.
21
+ * @function getVocabulary
22
+ * @param {string} vocabNameOrURL Full API URL of vocabulary or vocabulary name
23
+ * @param {string} query Only include results containing this string.
24
+ * @param {number} start Start of result batch.
25
+ * @param {number} b_size The size of the batch.
26
+ * @param {string} subrequest Name of the subrequest.
27
+ * @returns {Object} Get vocabulary action.
28
+ */
29
+ export function getVocabulary({
30
+ vocabNameOrURL,
31
+ query = null,
32
+ start = 0,
33
+ size,
34
+ subrequest,
35
+ }) {
36
+ const vocabulary = getVocabName(vocabNameOrURL);
37
+ const contextualVocabularies = config.settings.contextualVocabularies;
38
+ const vocabPath =
39
+ contextualVocabularies &&
40
+ contextualVocabularies.includes(vocabulary) &&
41
+ vocabulary !== vocabNameOrURL
42
+ ? flattenToAppURL(vocabNameOrURL)
43
+ : `/@vocabularies/${vocabulary}`;
44
+ let queryString = `b_start=${start}${size ? '&b_size=' + size : ''}`;
45
+
46
+ if (query) {
47
+ queryString = `${queryString}&title=${query}`;
48
+ }
49
+ return {
50
+ type: GET_VOCABULARY,
51
+ vocabulary: vocabNameOrURL,
52
+ start,
53
+ request: {
54
+ op: 'get',
55
+ path: `${vocabPath}?${queryString}`,
56
+ },
57
+ subrequest,
58
+ };
59
+ }
60
+
61
+ /**
62
+ * Get the title value given a token from vocabulary given a vocabulary URL
63
+ * (coming from a Schema) or from a vocabulary name.
64
+ * @function getVocabularyTokenTitle
65
+ * @param {string} vocabNameOrURL Full API URL of vocabulary or vocabulary name
66
+ * @param {string} token Only include results containing this string.
67
+ * @returns {Object} Get vocabulary action.
68
+ */
69
+ export function getVocabularyTokenTitle({
70
+ vocabNameOrURL,
71
+ token = null,
72
+ tokens = null,
73
+ subrequest,
74
+ }) {
75
+ // In case we have a URL, we have to get the vocabulary name
76
+ const vocabulary = getVocabName(vocabNameOrURL);
77
+ const contextualVocabularies = config.settings.contextualVocabularies;
78
+ const vocabPath =
79
+ contextualVocabularies &&
80
+ contextualVocabularies.includes(vocabulary) &&
81
+ vocabulary !== vocabNameOrURL
82
+ ? flattenToAppURL(vocabNameOrURL)
83
+ : `/@vocabularies/${vocabulary}`;
84
+ const queryString = {
85
+ ...(token && { token }),
86
+ ...(tokens && { tokens }),
87
+ };
88
+
89
+ return {
90
+ type: GET_VOCABULARY_TOKEN_TITLE,
91
+ vocabulary: vocabNameOrURL,
92
+ token,
93
+ tokens,
94
+ subrequest,
95
+ request: {
96
+ op: 'get',
97
+ path: `${vocabPath}}?b_size=-1&${qs.stringify(queryString, {
98
+ encode: false,
99
+ })}`,
100
+ },
101
+ };
102
+ }
@@ -89,6 +89,7 @@ class AddLinkForm extends Component {
89
89
  ['accessibility-link', 'accessibility-link'],
90
90
  ['privacy-policy-link', 'privacy-policy-link'],
91
91
  ['legal-notes', 'legal-notes'],
92
+ ['pager-link', 'pager-link'],
92
93
  ];
93
94
  }
94
95
 
@@ -6,6 +6,7 @@ CUSTOMIZATIONS:
6
6
  - 'background class' and 'block class' logic for search block
7
7
  - search block integration
8
8
  - pass 'block' prop to listing variation
9
+ - added bg_color = "" if is a search block
9
10
  */
10
11
  import React from 'react';
11
12
  import { FormattedMessage, injectIntl } from 'react-intl';
@@ -77,6 +78,10 @@ const ListingBody = React.memo(
77
78
  ? `bg-${data.bg_color}`
78
79
  : 'bg-light';
79
80
 
81
+ if (isSearchBlockResults) {
82
+ bg_color = '';
83
+ }
84
+
80
85
  if (block.template === 'gridGalleryTemplate') {
81
86
  return `section section-muted section-inset-shadow py-5 ${bg_color} ${
82
87
  isSearchBlockResults ? '' : 'full-width'
@@ -2,22 +2,26 @@
2
2
  - Agid styling
3
3
  - Add class .block.listing in listing body container div to use
4
4
  existing listing template styles
5
+ - Inspired from
6
+ https://github.com/plone/volto/commit/211d9bea13119cc430db9d53a4740a860781ca2e
7
+ the way to handle search sort. If searchableText is setted, discard default sorting and uses plone's ranking only if is configured from sidebar. (Changed applyDefaults fn passing usePloneRanking)
5
8
  */
6
9
 
7
- import React from 'react';
10
+ import React, { useState } from 'react';
8
11
 
9
12
  import ListingBody from '@plone/volto/components/manage/Blocks/Listing/ListingBody';
10
13
  import { withBlockExtensions } from '@plone/volto/helpers';
11
14
 
12
- import config from '@plone/volto/registry';
13
- import cx from 'classnames';
14
15
  import {
15
- withSearch,
16
16
  withQueryString,
17
+ withSearch,
17
18
  } from '@plone/volto/components/manage/Blocks/Search/hocs';
18
- import { compose } from 'redux';
19
- import { useSelector } from 'react-redux';
19
+ import config from '@plone/volto/registry';
20
+ import cx from 'classnames';
20
21
  import { isEqual, isFunction } from 'lodash';
22
+ import { useSelector } from 'react-redux';
23
+ import { compose } from 'redux';
24
+ import { useEffect } from 'react';
21
25
 
22
26
  const getListingBodyVariation = (data) => {
23
27
  const { variations } = config.blocks.blocksConfig.listing;
@@ -49,7 +53,7 @@ const blockPropsAreChanged = (prevProps, nextProps) => {
49
53
  return isEqual(prev, next);
50
54
  };
51
55
 
52
- const applyDefaults = (data, root) => {
56
+ const applyDefaults = (data, root, usePloneRanking) => {
53
57
  const defaultQuery = [
54
58
  {
55
59
  i: 'path',
@@ -57,12 +61,30 @@ const applyDefaults = (data, root) => {
57
61
  v: root || '/',
58
62
  },
59
63
  ];
60
- return {
64
+
65
+ const searchBySearchableText = data.query.filter(
66
+ (item) => item['i'] === 'SearchableText',
67
+ ).length;
68
+
69
+ let sort_on = { sort_on: data?.sort_on ?? 'effective' };
70
+ let sort_order = { sort_order: data?.sort_order ?? 'descending' };
71
+
72
+ if (usePloneRanking && searchBySearchableText > 0) {
73
+ sort_on = undefined;
74
+ sort_order = undefined;
75
+ }
76
+
77
+ const result = {
61
78
  ...data,
62
- sort_on: data?.sort_on || 'effective',
63
- sort_order: data?.sort_order || 'descending',
64
79
  query: data?.query?.length ? data.query : defaultQuery,
65
80
  };
81
+ if (!sort_on) {
82
+ delete result.sort_on;
83
+ }
84
+ if (!sort_order) {
85
+ delete result.sort_order;
86
+ }
87
+ return result;
66
88
  };
67
89
 
68
90
  const SearchBlockView = (props) => {
@@ -88,10 +110,26 @@ const SearchBlockView = (props) => {
88
110
  }, [dataListingBodyVariation, mode]);
89
111
 
90
112
  const root = useSelector((state) => state.breadcrumbs.root);
91
- const listingBodyData = applyDefaults(searchData, root);
113
+ const [defaultListingBodyData] = React.useState(
114
+ applyDefaults(searchData, root, data.usePloneRanking),
115
+ );
116
+ const listingBodyData = applyDefaults(searchData, root, data.usePloneRanking);
92
117
 
93
118
  const { variations } = config.blocks.blocksConfig.listing;
94
119
  const listingBodyVariation = variations.find(({ id }) => id === selectedView);
120
+
121
+ const query = listingBodyData.query;
122
+ const resultsRef = React.forwardRef(null);
123
+
124
+ useEffect(() => {
125
+ if (
126
+ JSON.stringify(defaultListingBodyData.query) !== JSON.stringify(query)
127
+ ) {
128
+ //fai lo scroll solo quando vengono modificati i filtri dall'utente. Evita lo scroll al primo load
129
+ resultsRef.current.scrollIntoView({ behavior: 'smooth' });
130
+ }
131
+ }, [query]);
132
+
95
133
  if (!Layout) return null;
96
134
  return (
97
135
  <div className={cx('block search', { 'public-ui': mode === 'edit' })}>
@@ -100,6 +138,7 @@ const SearchBlockView = (props) => {
100
138
  isEditMode={mode === 'edit'}
101
139
  selectedView={selectedView}
102
140
  setSelectedView={setSelectedView}
141
+ resultsRef={resultsRef}
103
142
  >
104
143
  {/* Add class .block.listing to benefit from existing listing template styles */}
105
144
  <div className="block listing search-results">
@@ -22,6 +22,10 @@ const messages = defineMessages({
22
22
  id: 'End Date',
23
23
  defaultMessage: 'End Date',
24
24
  },
25
+ clearDates: {
26
+ id: 'Clear dates',
27
+ defaultMessage: 'Pulisci i campi',
28
+ },
25
29
  });
26
30
 
27
31
  const PrevIcon = () => (
@@ -64,7 +68,17 @@ const customArrowIcon = (props) => {
64
68
  );
65
69
  };
66
70
 
67
- const CloseIcon = () => <Icon icon="it-close" size="24px" className="close" />;
71
+ const CloseIcon = (props) => {
72
+ const { intl } = props;
73
+ return (
74
+ <Icon
75
+ icon="it-close"
76
+ size="24px"
77
+ className="close"
78
+ title={intl.formatMessage(messages.clearDates)}
79
+ />
80
+ );
81
+ };
68
82
 
69
83
  const DateRangeFacet = (props) => {
70
84
  const { facet, isEditMode, onChange, value, reactDates, intl, lang } = props;
@@ -89,7 +103,7 @@ const DateRangeFacet = (props) => {
89
103
  disabled={isEditMode}
90
104
  noBorder
91
105
  showClearDates
92
- customCloseIcon={<CloseIcon />}
106
+ customCloseIcon={<CloseIcon {...props} />}
93
107
  displayFormat={moment.localeData(lang).longDateFormat('L')}
94
108
  focusedInput={focused}
95
109
  onFocusChange={(focusedInput) => setFocused(focusedInput)}
@@ -2,9 +2,8 @@
2
2
  - Agid styling
3
3
 
4
4
  */
5
- import React from 'react';
6
- import { defineMessages, useIntl } from 'react-intl';
7
5
  import { commonSearchBlockMessages } from 'design-comuni-plone-theme/helpers';
6
+ import { defineMessages, useIntl } from 'react-intl';
8
7
 
9
8
  const messages = defineMessages({
10
9
  searchResults: {
@@ -26,7 +25,7 @@ const SearchDetails = ({ total, text, as = 'p', data }) => {
26
25
  searchedtext: text,
27
26
  })}
28
27
  </>
29
- )}
28
+ )}{' '}
30
29
  {data.showTotalResults && (
31
30
  <>
32
31
  {intl.formatMessage(messages.searchResults)}: <b>{total}</b>
@@ -1,10 +1,10 @@
1
1
  /* CUSTOMIZATIONS:
2
2
  - Read puntual comments in code
3
3
  */
4
+ import qs from 'query-string';
4
5
  import React from 'react';
5
6
  import { useSelector } from 'react-redux';
6
- import qs from 'query-string';
7
- import { useLocation, useHistory } from 'react-router-dom';
7
+ import { useHistory, useLocation } from 'react-router-dom';
8
8
 
9
9
  import { resolveExtension } from '@plone/volto/helpers/Extensions/withBlockExtensions';
10
10
  import config from '@plone/volto/registry';
@@ -236,7 +236,7 @@ const withSearch = (options) => (WrappedComponent) => {
236
236
  const { inputDelay = 1000 } = options || {};
237
237
 
238
238
  function WithSearch(props) {
239
- const { data, id, editable = false } = props;
239
+ const { data, id, editable = false, properties } = props;
240
240
 
241
241
  const [locationSearchData, setLocationSearchData] = useSearchBlockState(
242
242
  id,
@@ -325,8 +325,10 @@ const withSearch = (options) => (WrappedComponent) => {
325
325
  const querystringResults = useSelector(
326
326
  (state) => state.querystringsearch.subrequests,
327
327
  );
328
+ const subrequestID = properties?.UID + '-' + id;
328
329
  const totalItems =
329
- querystringResults[id]?.total || querystringResults[id]?.items?.length;
330
+ querystringResults[subrequestID]?.total ||
331
+ querystringResults[subrequestID]?.items?.length;
330
332
 
331
333
  return (
332
334
  <WrappedComponent
@@ -1,5 +1,6 @@
1
1
  /* CUSTOMIZATIONS:
2
2
  - Agid styling
3
+ - added resultsRef
3
4
  */
4
5
  import React from 'react';
5
6
  import {
@@ -33,6 +34,7 @@ const LeftColumnFacets = (props) => {
33
34
  isEditMode,
34
35
  querystring = {},
35
36
  searchData,
37
+ resultsRef,
36
38
  // mode = 'view',
37
39
  // variation,
38
40
  } = props;
@@ -117,24 +119,26 @@ const LeftColumnFacets = (props) => {
117
119
  </div>
118
120
  )}
119
121
 
120
- <div className="search-results-count-sort d-flex align-center flex-wrap">
121
- <SearchDetails
122
- text={searchedText}
123
- total={totalItems}
124
- data={data}
125
- />
126
- <FilterList
127
- {...props}
128
- isEditMode={isEditMode}
129
- setFacets={(f) => {
130
- flushSync(() => {
131
- setFacets(f);
132
- onTriggerSearch(searchedText || '', f);
133
- });
134
- }}
135
- />
122
+ <div ref={resultsRef} className="results-wrapper">
123
+ <div className="search-results-count-sort d-flex align-center flex-wrap">
124
+ <SearchDetails
125
+ text={searchedText}
126
+ total={totalItems}
127
+ data={data}
128
+ />
129
+ <FilterList
130
+ {...props}
131
+ isEditMode={isEditMode}
132
+ setFacets={(f) => {
133
+ flushSync(() => {
134
+ setFacets(f);
135
+ onTriggerSearch(searchedText || '', f);
136
+ });
137
+ }}
138
+ />
139
+ </div>
140
+ {children}
136
141
  </div>
137
- {children}
138
142
  </div>
139
143
  </Row>
140
144
  </Container>
@@ -1,5 +1,6 @@
1
1
  /* CUSTOMIZATIONS:
2
2
  - Agid styling
3
+ - added resultsRef
3
4
  */
4
5
  import React from 'react';
5
6
  import {
@@ -35,6 +36,7 @@ const RightColumnFacets = (props) => {
35
36
  isEditMode,
36
37
  querystring = {},
37
38
  searchData,
39
+ resultsRef,
38
40
  // mode = 'view',
39
41
  // variation,
40
42
  } = props;
@@ -72,24 +74,26 @@ const RightColumnFacets = (props) => {
72
74
  </div>
73
75
  )}
74
76
 
75
- <div className="search-results-count-sort d-flex align-center flex-wrap">
76
- <SearchDetails
77
- text={searchedText}
78
- total={totalItems}
79
- data={data}
80
- />
81
- <FilterList
82
- {...props}
83
- isEditMode={isEditMode}
84
- setFacets={(f) => {
85
- flushSync(() => {
86
- setFacets(f);
87
- onTriggerSearch(searchedText || '', f);
88
- });
89
- }}
90
- />
77
+ <div ref={resultsRef} className="results-wrapper">
78
+ <div className="search-results-count-sort d-flex align-center flex-wrap">
79
+ <SearchDetails
80
+ text={searchedText}
81
+ total={totalItems}
82
+ data={data}
83
+ />
84
+ <FilterList
85
+ {...props}
86
+ isEditMode={isEditMode}
87
+ setFacets={(f) => {
88
+ flushSync(() => {
89
+ setFacets(f);
90
+ onTriggerSearch(searchedText || '', f);
91
+ });
92
+ }}
93
+ />
94
+ </div>
95
+ {children}
91
96
  </div>
92
- {children}
93
97
  </div>
94
98
 
95
99
  {showColumn && (
@@ -153,6 +153,15 @@ const messages = defineMessages({
153
153
  id: 'Link to',
154
154
  defaultMessage: 'Link to',
155
155
  },
156
+ usePloneRanking: {
157
+ id: "Usa l'ordinamento dei risultati di Plone",
158
+ defaultMessage: "Usa l'ordinamento dei risultati di Plone",
159
+ },
160
+ usePloneRankingDescription: {
161
+ id: "Usa l'ordinamento dei risultati di Plone - descrizione",
162
+ defaultMessage:
163
+ "Se impostato, nel momento in cui un utente effettua una ricerca testuale per parola chiave, non viene usato l'ordinamento di default impostato nella sezione 'Ricerca iniziale', ma l'ordinamento di Plone in base all'ordine di importanza dei risultati da esso stabilito.",
164
+ },
156
165
  });
157
166
 
158
167
  const enhanceSchema = (originalSchema, formData) => {
@@ -285,6 +294,7 @@ const SearchSchema = ({ data = {}, intl }) => {
285
294
  ...(data.showSearchInput ?? true ? ['showSearchButton'] : []),
286
295
  // ...(data.showSearchInput ? ['searchInputPrompt'] : []),
287
296
  // ...(data.showSearchButton ? ['searchButtonLabel'] : []),
297
+ 'usePloneRanking',
288
298
  'showTotalResults',
289
299
  ],
290
300
  },
@@ -316,6 +326,12 @@ const SearchSchema = ({ data = {}, intl }) => {
316
326
  title: intl.formatMessage(messages.showTotalResults),
317
327
  default: true,
318
328
  },
329
+ usePloneRanking: {
330
+ type: 'boolean',
331
+ title: intl.formatMessage(messages.usePloneRanking),
332
+ description: intl.formatMessage(messages.usePloneRankingDescription),
333
+ default: false,
334
+ },
319
335
  searchButtonLabel: {
320
336
  title: intl.formatMessage(messages.searchButtonLabel),
321
337
  placeholder: intl.formatMessage(messages.searchButtonPlaceholder),