io-sanita-theme 2.3.0 → 2.3.2

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 (40) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/RELEASE.md +15 -3
  3. package/locales/de/LC_MESSAGES/volto.po +9 -4
  4. package/locales/en/LC_MESSAGES/volto.po +9 -4
  5. package/locales/es/LC_MESSAGES/volto.po +9 -4
  6. package/locales/fr/LC_MESSAGES/volto.po +9 -4
  7. package/locales/it/LC_MESSAGES/volto.po +9 -4
  8. package/locales/volto.pot +10 -5
  9. package/package.json +1 -1
  10. package/src/components/Blocks/Listing/Carousel/CarouselTemplate.jsx +8 -2
  11. package/src/components/Blocks/Listing/Carousel/SlideAppearance/SlideGalleryItem.jsx +3 -3
  12. package/src/components/Blocks/Listing/Carousel/SlideAppearance/slideGalleryItem.scss +0 -12
  13. package/src/components/Blocks/Listing/Carousel/carouselTemplate.scss +10 -1
  14. package/src/components/Blocks/Listing/schema.js +12 -1
  15. package/src/components/Blocks/SearchBandi/Body.jsx +43 -34
  16. package/src/components/Blocks/SearchFarmacia/Body.jsx +28 -12
  17. package/src/components/Blocks/SearchFarmacia/Results.jsx +85 -97
  18. package/src/components/Blocks/SearchFarmacia/SearchFilters.jsx +7 -1
  19. package/src/components/Blocks/SearchMap/Body.jsx +19 -19
  20. package/src/components/Blocks/SearchServiziProcedure/Body.jsx +14 -16
  21. package/src/components/Cards/CardPersona/CardPersona.jsx +2 -2
  22. package/src/components/Pagination/Pagination.jsx +9 -2
  23. package/src/components/Pagination/PaginationItem.jsx +3 -0
  24. package/src/components/Search/common/SearchResultItem.jsx +6 -6
  25. package/src/components/Slider/SingleSlideWrapper.jsx +0 -2
  26. package/src/components/Slider/slider.js +26 -1
  27. package/src/components/View/commons/Gallery/Gallery.jsx +1 -0
  28. package/src/components/Widgets/SearchBar/SearchBar.jsx +8 -4
  29. package/src/components/Widgets/SearchCheckbox/SearchCheckbox.jsx +2 -2
  30. package/src/components/layout/Header/LanguageSelector.jsx +1 -1
  31. package/src/config/blocks/index.js +9 -4
  32. package/src/config/blocks/listing/ListingOptions/cardWithImageTemplate.js +2 -0
  33. package/src/config/blocks/listing/ListingOptions/carouselTemplate.js +33 -8
  34. package/src/config/blocks/listing/ListingOptions/index.js +1 -0
  35. package/src/config/blocks/listing/ListingOptions/simpleCardTemplate.js +2 -0
  36. package/src/config/blocks/listing/ListingOptions/utils.js +13 -6
  37. package/src/config/blocks/listing/listingVariations.js +1 -1
  38. package/src/customizations/volto/components/theme/Header/Header.jsx +2 -2
  39. package/src/customizations/volto/components/theme/Navigation/Navigation.jsx +3 -2
  40. package/src/theme/io-sanita/_mixins.scss +2 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.3.2](https://github.com/RedTurtle/io-sanita-theme/compare/2.3.1...2.3.2) (2025-02-26)
4
+
5
+ ### Bug Fixes
6
+
7
+ * a11y search blocks ([439519f](https://github.com/RedTurtle/io-sanita-theme/commit/439519f0763c79771bd0e6638147e24c32997a23))
8
+ * mismatch ssr edit ([6a46afe](https://github.com/RedTurtle/io-sanita-theme/commit/6a46afee597cd372c28f6ec34edea544ce1a652c))
9
+
10
+ ### Maintenance
11
+
12
+ * locales ([e44fb3d](https://github.com/RedTurtle/io-sanita-theme/commit/e44fb3d3b04ac2e12b4c31c47e3ed36c0ae33ac3))
13
+
14
+ ## [2.3.1](https://github.com/RedTurtle/io-sanita-theme/compare/2.3.0...2.3.1) (2025-02-25)
15
+
16
+ ### Bug Fixes
17
+
18
+ * a11y warning ([688bea5](https://github.com/RedTurtle/io-sanita-theme/commit/688bea5d793832f0f06a98a0e46bb992331620eb))
19
+ * listing fieldset and carousel options ([ecec497](https://github.com/RedTurtle/io-sanita-theme/commit/ecec4975db519e9cda7de3df7ea0c3f14915a588))
20
+ * locales and release.md ([94317a7](https://github.com/RedTurtle/io-sanita-theme/commit/94317a7ecdbbb6e1f8e4f61d1722a748f4926064))
21
+ * mismatch server / client classname render ([9f1c20c](https://github.com/RedTurtle/io-sanita-theme/commit/9f1c20ceb23284caa20b66924dce529da78572a7))
22
+ * remove margin between full-block and image block ([c7b0fe4](https://github.com/RedTurtle/io-sanita-theme/commit/c7b0fe419e6664fc58cd7da0d8c4abcd51bd79b4))
23
+ * warnings ([2d10163](https://github.com/RedTurtle/io-sanita-theme/commit/2d10163dc917958329e813deb7ca92841a4190d6))
24
+
3
25
  ## [2.3.0](https://github.com/RedTurtle/io-sanita-theme/compare/2.2.4...2.3.0) (2025-02-24)
4
26
 
5
27
  ### Features
package/RELEASE.md CHANGED
@@ -41,14 +41,26 @@
41
41
  - ...
42
42
  -->
43
43
 
44
- ## Versione x.x.x (x/x/x)
44
+ ## Versione 2.3.0 (24/02/2025)
45
+
46
+ ### Novità
47
+
48
+ - aggiunto il template 'Carousel' per il blocco elenco, con il quale è possibile realizzare sia caroselli, sia gallery con immagini che si aprono in popup
49
+
50
+ ## Versione 2.2.1 (12/02/2025)
45
51
 
46
52
  ### Migliorie
47
53
 
48
- - aggiunto il tag <lin rel="canonical"> per tutte le pagine, come suggerito da consulente SEO
49
- - aggiunta la barra di loading nella parte alta della pagina quando si sta caricando un contenuto
50
54
  - a11y - migliorata l'accessibilità del sito per quanto riguarda le icone
51
55
  - a11y - migliorato il contrasto del focus sugli elementi con la navigazione da tastiera
56
+ - aggiunto il tag <lin rel="canonical"> per tutte le pagine, come suggerito da consulente SEO
57
+ - aggiunta la barra di loading nella parte alta della pagina quando si sta caricando un contenuto
58
+
59
+ ## Versione 2.2.0 (06/02/2025)
60
+
61
+ ### Migliorie
62
+
63
+ - Ordinate le date del bando in ordine cronologico
52
64
 
53
65
  ## Versione 2.1.0 (05/02/2025)
54
66
 
@@ -2736,7 +2736,7 @@ msgid "search_farmacia_results"
2736
2736
  msgstr ""
2737
2737
 
2738
2738
  #. Default: "Risultati della ricerca farmacie"
2739
- #: components/Blocks/SearchFarmacia/Results
2739
+ #: components/Blocks/SearchFarmacia/Body
2740
2740
  msgid "search_farmacia_results_aria"
2741
2741
  msgstr ""
2742
2742
 
@@ -2755,6 +2755,11 @@ msgstr ""
2755
2755
  msgid "search_farmacia_searchable_text_description"
2756
2756
  msgstr ""
2757
2757
 
2758
+ #. Default: "Farmacia"
2759
+ #: components/Blocks/SearchFarmacia/SearchFilters
2760
+ msgid "search_farmacia_searchable_text_label"
2761
+ msgstr ""
2762
+
2758
2763
  #. Default: "Comune"
2759
2764
  #: components/Blocks/SearchFarmacia/Body
2760
2765
  msgid "search_farmacia_sort_comune"
@@ -3288,18 +3293,18 @@ msgstr ""
3288
3293
  msgid "show_icon"
3289
3294
  msgstr ""
3290
3295
 
3291
- #. Default: "Mostra la descrizione dell'immagine"
3296
+ #. Default: "Mostra la descrizione"
3292
3297
  #: config/blocks/listing/ListingOptions/carouselTemplate
3293
3298
  msgid "show_image_description"
3294
3299
  msgstr ""
3295
3300
 
3296
- #. Default: "Apri l'immagine in popup"
3301
+ #. Default: "Apri l'anteprima in popup"
3297
3302
  #: config/blocks/listing/ListingOptions/carouselTemplate
3298
3303
  #: config/blocks/listing/ListingOptions/photogalleryTemplate
3299
3304
  msgid "show_image_popup"
3300
3305
  msgstr ""
3301
3306
 
3302
- #. Default: "Mostra il titolo dell'immagine"
3307
+ #. Default: "Mostra il titolo"
3303
3308
  #: config/blocks/listing/ListingOptions/carouselTemplate
3304
3309
  #: config/blocks/listing/ListingOptions/sliderTemplate
3305
3310
  msgid "show_image_title"
@@ -2731,7 +2731,7 @@ msgid "search_farmacia_results"
2731
2731
  msgstr "Results"
2732
2732
 
2733
2733
  #. Default: "Risultati della ricerca farmacie"
2734
- #: components/Blocks/SearchFarmacia/Results
2734
+ #: components/Blocks/SearchFarmacia/Body
2735
2735
  msgid "search_farmacia_results_aria"
2736
2736
  msgstr "Search results"
2737
2737
 
@@ -2750,6 +2750,11 @@ msgstr "Search type"
2750
2750
  msgid "search_farmacia_searchable_text_description"
2751
2751
  msgstr "Enter the name of the pharmacy"
2752
2752
 
2753
+ #. Default: "Farmacia"
2754
+ #: components/Blocks/SearchFarmacia/SearchFilters
2755
+ msgid "search_farmacia_searchable_text_label"
2756
+ msgstr "Pharmacy"
2757
+
2753
2758
  #. Default: "Comune"
2754
2759
  #: components/Blocks/SearchFarmacia/Body
2755
2760
  msgid "search_farmacia_sort_comune"
@@ -3283,18 +3288,18 @@ msgstr ""
3283
3288
  msgid "show_icon"
3284
3289
  msgstr ""
3285
3290
 
3286
- #. Default: "Mostra la descrizione dell'immagine"
3291
+ #. Default: "Mostra la descrizione"
3287
3292
  #: config/blocks/listing/ListingOptions/carouselTemplate
3288
3293
  msgid "show_image_description"
3289
3294
  msgstr ""
3290
3295
 
3291
- #. Default: "Apri l'immagine in popup"
3296
+ #. Default: "Apri l'anteprima in popup"
3292
3297
  #: config/blocks/listing/ListingOptions/carouselTemplate
3293
3298
  #: config/blocks/listing/ListingOptions/photogalleryTemplate
3294
3299
  msgid "show_image_popup"
3295
3300
  msgstr ""
3296
3301
 
3297
- #. Default: "Mostra il titolo dell'immagine"
3302
+ #. Default: "Mostra il titolo"
3298
3303
  #: config/blocks/listing/ListingOptions/carouselTemplate
3299
3304
  #: config/blocks/listing/ListingOptions/sliderTemplate
3300
3305
  msgid "show_image_title"
@@ -2738,7 +2738,7 @@ msgid "search_farmacia_results"
2738
2738
  msgstr ""
2739
2739
 
2740
2740
  #. Default: "Risultati della ricerca farmacie"
2741
- #: components/Blocks/SearchFarmacia/Results
2741
+ #: components/Blocks/SearchFarmacia/Body
2742
2742
  msgid "search_farmacia_results_aria"
2743
2743
  msgstr ""
2744
2744
 
@@ -2757,6 +2757,11 @@ msgstr ""
2757
2757
  msgid "search_farmacia_searchable_text_description"
2758
2758
  msgstr ""
2759
2759
 
2760
+ #. Default: "Farmacia"
2761
+ #: components/Blocks/SearchFarmacia/SearchFilters
2762
+ msgid "search_farmacia_searchable_text_label"
2763
+ msgstr ""
2764
+
2760
2765
  #. Default: "Comune"
2761
2766
  #: components/Blocks/SearchFarmacia/Body
2762
2767
  msgid "search_farmacia_sort_comune"
@@ -3290,18 +3295,18 @@ msgstr ""
3290
3295
  msgid "show_icon"
3291
3296
  msgstr ""
3292
3297
 
3293
- #. Default: "Mostra la descrizione dell'immagine"
3298
+ #. Default: "Mostra la descrizione"
3294
3299
  #: config/blocks/listing/ListingOptions/carouselTemplate
3295
3300
  msgid "show_image_description"
3296
3301
  msgstr ""
3297
3302
 
3298
- #. Default: "Apri l'immagine in popup"
3303
+ #. Default: "Apri l'anteprima in popup"
3299
3304
  #: config/blocks/listing/ListingOptions/carouselTemplate
3300
3305
  #: config/blocks/listing/ListingOptions/photogalleryTemplate
3301
3306
  msgid "show_image_popup"
3302
3307
  msgstr ""
3303
3308
 
3304
- #. Default: "Mostra il titolo dell'immagine"
3309
+ #. Default: "Mostra il titolo"
3305
3310
  #: config/blocks/listing/ListingOptions/carouselTemplate
3306
3311
  #: config/blocks/listing/ListingOptions/sliderTemplate
3307
3312
  msgid "show_image_title"
@@ -2738,7 +2738,7 @@ msgid "search_farmacia_results"
2738
2738
  msgstr ""
2739
2739
 
2740
2740
  #. Default: "Risultati della ricerca farmacie"
2741
- #: components/Blocks/SearchFarmacia/Results
2741
+ #: components/Blocks/SearchFarmacia/Body
2742
2742
  msgid "search_farmacia_results_aria"
2743
2743
  msgstr ""
2744
2744
 
@@ -2757,6 +2757,11 @@ msgstr ""
2757
2757
  msgid "search_farmacia_searchable_text_description"
2758
2758
  msgstr ""
2759
2759
 
2760
+ #. Default: "Farmacia"
2761
+ #: components/Blocks/SearchFarmacia/SearchFilters
2762
+ msgid "search_farmacia_searchable_text_label"
2763
+ msgstr ""
2764
+
2760
2765
  #. Default: "Comune"
2761
2766
  #: components/Blocks/SearchFarmacia/Body
2762
2767
  msgid "search_farmacia_sort_comune"
@@ -3290,18 +3295,18 @@ msgstr ""
3290
3295
  msgid "show_icon"
3291
3296
  msgstr ""
3292
3297
 
3293
- #. Default: "Mostra la descrizione dell'immagine"
3298
+ #. Default: "Mostra la descrizione"
3294
3299
  #: config/blocks/listing/ListingOptions/carouselTemplate
3295
3300
  msgid "show_image_description"
3296
3301
  msgstr ""
3297
3302
 
3298
- #. Default: "Apri l'immagine in popup"
3303
+ #. Default: "Apri l'anteprima in popup"
3299
3304
  #: config/blocks/listing/ListingOptions/carouselTemplate
3300
3305
  #: config/blocks/listing/ListingOptions/photogalleryTemplate
3301
3306
  msgid "show_image_popup"
3302
3307
  msgstr ""
3303
3308
 
3304
- #. Default: "Mostra il titolo dell'immagine"
3309
+ #. Default: "Mostra il titolo"
3305
3310
  #: config/blocks/listing/ListingOptions/carouselTemplate
3306
3311
  #: config/blocks/listing/ListingOptions/sliderTemplate
3307
3312
  msgid "show_image_title"
@@ -2731,7 +2731,7 @@ msgid "search_farmacia_results"
2731
2731
  msgstr ""
2732
2732
 
2733
2733
  #. Default: "Risultati della ricerca farmacie"
2734
- #: components/Blocks/SearchFarmacia/Results
2734
+ #: components/Blocks/SearchFarmacia/Body
2735
2735
  msgid "search_farmacia_results_aria"
2736
2736
  msgstr ""
2737
2737
 
@@ -2750,6 +2750,11 @@ msgstr ""
2750
2750
  msgid "search_farmacia_searchable_text_description"
2751
2751
  msgstr ""
2752
2752
 
2753
+ #. Default: "Farmacia"
2754
+ #: components/Blocks/SearchFarmacia/SearchFilters
2755
+ msgid "search_farmacia_searchable_text_label"
2756
+ msgstr ""
2757
+
2753
2758
  #. Default: "Comune"
2754
2759
  #: components/Blocks/SearchFarmacia/Body
2755
2760
  msgid "search_farmacia_sort_comune"
@@ -3283,18 +3288,18 @@ msgstr ""
3283
3288
  msgid "show_icon"
3284
3289
  msgstr ""
3285
3290
 
3286
- #. Default: "Mostra la descrizione dell'immagine"
3291
+ #. Default: "Mostra la descrizione"
3287
3292
  #: config/blocks/listing/ListingOptions/carouselTemplate
3288
3293
  msgid "show_image_description"
3289
3294
  msgstr ""
3290
3295
 
3291
- #. Default: "Apri l'immagine in popup"
3296
+ #. Default: "Apri l'anteprima in popup"
3292
3297
  #: config/blocks/listing/ListingOptions/carouselTemplate
3293
3298
  #: config/blocks/listing/ListingOptions/photogalleryTemplate
3294
3299
  msgid "show_image_popup"
3295
3300
  msgstr ""
3296
3301
 
3297
- #. Default: "Mostra il titolo dell'immagine"
3302
+ #. Default: "Mostra il titolo"
3298
3303
  #: config/blocks/listing/ListingOptions/carouselTemplate
3299
3304
  #: config/blocks/listing/ListingOptions/sliderTemplate
3300
3305
  msgid "show_image_title"
package/locales/volto.pot CHANGED
@@ -1,7 +1,7 @@
1
1
  msgid ""
2
2
  msgstr ""
3
3
  "Project-Id-Version: Plone\n"
4
- "POT-Creation-Date: 2025-02-24T10:51:14.508Z\n"
4
+ "POT-Creation-Date: 2025-02-26T10:39:52.643Z\n"
5
5
  "Last-Translator: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
6
6
  "Language-Team: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
7
7
  "Content-Type: text/plain; charset=utf-8\n"
@@ -2733,7 +2733,7 @@ msgid "search_farmacia_results"
2733
2733
  msgstr ""
2734
2734
 
2735
2735
  #. Default: "Risultati della ricerca farmacie"
2736
- #: components/Blocks/SearchFarmacia/Results
2736
+ #: components/Blocks/SearchFarmacia/Body
2737
2737
  msgid "search_farmacia_results_aria"
2738
2738
  msgstr ""
2739
2739
 
@@ -2752,6 +2752,11 @@ msgstr ""
2752
2752
  msgid "search_farmacia_searchable_text_description"
2753
2753
  msgstr ""
2754
2754
 
2755
+ #. Default: "Farmacia"
2756
+ #: components/Blocks/SearchFarmacia/SearchFilters
2757
+ msgid "search_farmacia_searchable_text_label"
2758
+ msgstr ""
2759
+
2755
2760
  #. Default: "Comune"
2756
2761
  #: components/Blocks/SearchFarmacia/Body
2757
2762
  msgid "search_farmacia_sort_comune"
@@ -3285,18 +3290,18 @@ msgstr ""
3285
3290
  msgid "show_icon"
3286
3291
  msgstr ""
3287
3292
 
3288
- #. Default: "Mostra la descrizione dell'immagine"
3293
+ #. Default: "Mostra la descrizione"
3289
3294
  #: config/blocks/listing/ListingOptions/carouselTemplate
3290
3295
  msgid "show_image_description"
3291
3296
  msgstr ""
3292
3297
 
3293
- #. Default: "Apri l'immagine in popup"
3298
+ #. Default: "Apri l'anteprima in popup"
3294
3299
  #: config/blocks/listing/ListingOptions/carouselTemplate
3295
3300
  #: config/blocks/listing/ListingOptions/photogalleryTemplate
3296
3301
  msgid "show_image_popup"
3297
3302
  msgstr ""
3298
3303
 
3299
- #. Default: "Mostra il titolo dell'immagine"
3304
+ #. Default: "Mostra il titolo"
3300
3305
  #: config/blocks/listing/ListingOptions/carouselTemplate
3301
3306
  #: config/blocks/listing/ListingOptions/sliderTemplate
3302
3307
  msgid "show_image_title"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "io-sanita-theme",
3
- "version": "2.3.0",
3
+ "version": "2.3.2",
4
4
  "description": "io-sanita-theme: Volto add-on",
5
5
  "main": "src/index.js",
6
6
  "license": "MIT",
@@ -26,6 +26,7 @@ import { injectLazyLibs } from '@plone/volto/helpers/Loadable/Loadable';
26
26
  import config from '@plone/volto/registry';
27
27
 
28
28
  import './carouselTemplate.scss';
29
+ import { on } from 'process';
29
30
  const messages = defineMessages({
30
31
  carouselItemAriaLabel: {
31
32
  id: 'carousel-item-aria-label',
@@ -48,7 +49,7 @@ const messages = defineMessages({
48
49
 
49
50
  const Slide = (props) => {
50
51
  const intl = useIntl();
51
- const { index, appearance, appearanceProp, onKeyDown } = props;
52
+ const { index, appearance, appearanceProp, onKeyDown, ...otherProps } = props;
52
53
 
53
54
  const appearances = config.blocks.blocksConfig.listing.variations.filter(
54
55
  (v) => v.id === 'carousel',
@@ -57,6 +58,7 @@ const Slide = (props) => {
57
58
 
58
59
  return (
59
60
  <SingleSlideWrapper
61
+ {...otherProps}
60
62
  index={index}
61
63
  onKeyDown={onKeyDown}
62
64
  aria-label={
@@ -64,7 +66,7 @@ const Slide = (props) => {
64
66
  intl.formatMessage(messages.carouselItemAriaLabel)
65
67
  }
66
68
  >
67
- <div className={'slide-wrapper'} role="presentation">
69
+ <div className="slide-wrapper" role="presentation">
68
70
  <SlideItemAppearance {...props} {...appearanceProp} intl={intl} />
69
71
  </div>
70
72
  </SingleSlideWrapper>
@@ -106,6 +108,7 @@ const CarouselTemplate = (props) => {
106
108
  SliderNextArrow,
107
109
  SliderPrevArrow,
108
110
  handleSlideKeydown,
111
+ HiddenSlideFocus,
109
112
  } = useSlider(userAutoplay, setUserAutoplay, block_id);
110
113
 
111
114
  const toggleAutoplay = () => {
@@ -185,6 +188,9 @@ const CarouselTemplate = (props) => {
185
188
  appendDots: renderCustomDots,
186
189
  // Custom handling of focus for a11y
187
190
  afterChange: focusSlide,
191
+ onInit: () => {
192
+ HiddenSlideFocus();
193
+ },
188
194
  responsive: [
189
195
  {
190
196
  breakpoint: 980,
@@ -49,11 +49,11 @@ const SlideGalleryItem = ({
49
49
  {(show_image_title ||
50
50
  (show_image_description && (item.description || item.rights))) && (
51
51
  <figcaption>
52
- {show_image_title && <span className="title">{item.title}</span>}
52
+ {show_image_title && <div className="title">{item.title}</div>}
53
53
  {show_image_description && (item.description || item.rights) && (
54
- <span className="description">
54
+ <div className="description">
55
55
  {item.description ?? item.rights}
56
- </span>
56
+ </div>
57
57
  )}
58
58
  </figcaption>
59
59
  )}
@@ -9,17 +9,5 @@
9
9
  object-fit: cover;
10
10
  }
11
11
  }
12
-
13
- figcaption {
14
- position: absolute;
15
- bottom: 0;
16
- width: 100%;
17
- background-color: #ffffffa7;
18
-
19
- padding: 0.5em 1em;
20
- color: #666;
21
- font-size: 0.8em;
22
- text-align: center;
23
- }
24
12
  }
25
13
  }
@@ -52,10 +52,19 @@ $slider-mobile-height: 300px;
52
52
  }
53
53
 
54
54
  figcaption {
55
+ position: absolute;
56
+ bottom: 0;
57
+ width: 100%;
58
+ background-color: rgba(255, 255, 255, 0.85);
59
+
55
60
  padding: 0.5em 1em;
56
- color: #666;
61
+ color: #000;
57
62
  font-size: 0.8em;
58
63
  text-align: center;
64
+
65
+ .title:has(+ .description) {
66
+ font-weight: bold;
67
+ }
59
68
  }
60
69
  }
61
70
 
@@ -2,6 +2,8 @@ import { defineMessages } from 'react-intl';
2
2
 
3
3
  import ListingBlockSchema from '@plone/volto/components/manage/Blocks/Listing/schema';
4
4
 
5
+ import { addFieldsetAfter } from 'io-sanita-theme/config/blocks/listing/ListingOptions';
6
+
5
7
  export const schemaListing = (props) => {
6
8
  const intl = props.intl;
7
9
  const baseSchema = ListingBlockSchema(props);
@@ -11,7 +13,10 @@ export const schemaListing = (props) => {
11
13
  );
12
14
  if (defaultFieldset) {
13
15
  defaultFieldset.fields = defaultFieldset.fields.filter(
14
- (field) => field !== 'headline' && field !== 'headlineTag',
16
+ (field) =>
17
+ field !== 'headline' &&
18
+ field !== 'headlineTag' &&
19
+ field !== 'querystring',
15
20
  );
16
21
  }
17
22
 
@@ -19,6 +24,12 @@ export const schemaListing = (props) => {
19
24
  return fieldset.id === 'linkmore';
20
25
  };
21
26
 
27
+ addFieldsetAfter(baseSchema, 'default', {
28
+ id: 'criteria',
29
+ title: 'Risultati',
30
+ fields: ['querystring'],
31
+ });
32
+
22
33
  // const linkMoreFieldset = baseSchema.fieldsets.find(findFieldset);
23
34
  // linkMoreFieldset.fields.push('linkAlign');
24
35
 
@@ -153,6 +153,8 @@ const Body = ({ data, id, inEditMode, path, onChangeBlock, blocksConfig }) => {
153
153
  }
154
154
 
155
155
  const has_results = !loading && items?.length > 0;
156
+
157
+ const resultsWrapperId = `bandi-search-results-${id}`;
156
158
  return filterOne || filterTwo || filterThree ? (
157
159
  <div
158
160
  className={cx('full-width py-4', {
@@ -204,7 +206,12 @@ const Body = ({ data, id, inEditMode, path, onChangeBlock, blocksConfig }) => {
204
206
  }),
205
207
  })}
206
208
 
207
- <Button color="accent" icon={false} className="my-0 my-lg-1">
209
+ <Button
210
+ color="accent"
211
+ icon={false}
212
+ className="my-0 my-lg-1"
213
+ aria-controls={resultsWrapperId}
214
+ >
208
215
  {intl.formatMessage(messages.find)}
209
216
  </Button>
210
217
  </div>
@@ -212,40 +219,42 @@ const Body = ({ data, id, inEditMode, path, onChangeBlock, blocksConfig }) => {
212
219
  </form>
213
220
  </div>
214
221
 
215
- {!loading ? (
216
- items?.length > 0 ? (
217
- <div
218
- className="mt-4"
219
- ref={resultsRef}
220
- aria-live="polite"
221
- aria-label={intl.formatMessage(messages.search_bandi_results)}
222
- role="region"
223
- >
224
- <div className="block listing">
225
- <BandiTemplate items={items} full_width={false} />
226
- </div>
227
- {querystringResults.total > b_size && (
228
- <Pagination
229
- activePage={currentPage}
230
- totalPages={Math.ceil(querystringResults.total / b_size)}
231
- onPageChange={handleQueryPaginationChange}
232
- />
233
- )}
222
+ <div
223
+ className="mt-4"
224
+ ref={resultsRef}
225
+ aria-live="polite"
226
+ aria-label={intl.formatMessage(messages.search_bandi_results)}
227
+ role="region"
228
+ id={resultsWrapperId}
229
+ >
230
+ {!loading ? (
231
+ items?.length > 0 ? (
232
+ <>
233
+ <div className="block listing">
234
+ <BandiTemplate items={items} full_width={false} />
235
+ </div>
236
+ {querystringResults.total > b_size && (
237
+ <Pagination
238
+ activePage={currentPage}
239
+ totalPages={Math.ceil(querystringResults.total / b_size)}
240
+ onPageChange={handleQueryPaginationChange}
241
+ ariaControls={resultsWrapperId}
242
+ />
243
+ )}
244
+ </>
245
+ ) : querystringResults ? (
246
+ <p className="text-center">
247
+ {intl.formatMessage(messages.noResult)}
248
+ </p>
249
+ ) : (
250
+ <></>
251
+ )
252
+ ) : (
253
+ <div className="d-flex justify-content-center">
254
+ <Spinner active />
234
255
  </div>
235
- ) : querystringResults ? (
236
- <>
237
- <div className="mt-4" aria-live="polite">
238
- <p className="text-center">
239
- {intl.formatMessage(messages.noResult)}
240
- </p>
241
- </div>
242
- </>
243
- ) : null
244
- ) : (
245
- <div className="d-flex justify-content-center mt-3">
246
- <Spinner active />
247
- </div>
248
- )}
256
+ )}
257
+ </div>
249
258
  </Container>
250
259
  </div>
251
260
  ) : null;
@@ -36,6 +36,10 @@ const messages = defineMessages({
36
36
  id: 'search_farmacia_sort_localita',
37
37
  defaultMessage: 'Località',
38
38
  },
39
+ farmacie_results_aria: {
40
+ id: 'search_farmacia_results_aria',
41
+ defaultMessage: 'Risultati della ricerca farmacie',
42
+ },
39
43
  });
40
44
 
41
45
  const Body = ({ isEditMode, data, id }) => {
@@ -219,6 +223,7 @@ const Body = ({ isEditMode, data, id }) => {
219
223
  }
220
224
  }, [currentPage, results]);
221
225
 
226
+ const resultsWrapperId = 'search-farmacie-results_' + id;
222
227
  return (
223
228
  <div className="block iosanita-block-search farmacia">
224
229
  <div className="full-width bg-primary-lightest">
@@ -247,6 +252,7 @@ const Body = ({ isEditMode, data, id }) => {
247
252
  searchType={searchType}
248
253
  filters={filters}
249
254
  options={filtersOptions}
255
+ ariaControls={resultsWrapperId}
250
256
  // isEditMode={isEditMode}
251
257
  // doSearch={doSearch}
252
258
  // checkClearComune={checkClearComune}
@@ -287,24 +293,34 @@ const Body = ({ isEditMode, data, id }) => {
287
293
  title: intl.formatMessage(messages.localita),
288
294
  },
289
295
  ]}
296
+ ariaControls={resultsWrapperId}
290
297
  />
291
298
  </Col>
292
299
  </Row>
293
300
  </form>
294
301
 
295
- <Results
296
- items={resultsPage}
297
- isEditMode={isEditMode}
298
- searchType={searchType}
299
- resRef={resultsRef}
300
- />
301
- {results && results.length > b_size && (
302
- <Pagination
303
- activePage={currentPage}
304
- totalPages={Math.ceil(results.length / b_size)}
305
- onPageChange={handleQueryPaginationChange}
302
+ <div
303
+ className="farmacie-results shadow"
304
+ role="region"
305
+ aria-live="polite"
306
+ aria-label={intl.formatMessage(messages.farmacie_results_aria)}
307
+ ref={resultsRef}
308
+ id={resultsWrapperId}
309
+ >
310
+ <Results
311
+ items={resultsPage}
312
+ isEditMode={isEditMode}
313
+ searchType={searchType}
306
314
  />
307
- )}
315
+ {results && results.length > b_size && (
316
+ <Pagination
317
+ activePage={currentPage}
318
+ totalPages={Math.ceil(results.length / b_size)}
319
+ onPageChange={handleQueryPaginationChange}
320
+ ariaControls={resultsWrapperId}
321
+ />
322
+ )}
323
+ </div>
308
324
  </Container>
309
325
  ) : (
310
326
  <Container className="d-flex justify-content-center mt-3">