io-sanita-theme 2.2.0 → 2.2.1
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.
- package/CHANGELOG.md +14 -0
- package/RELEASE.md +9 -0
- package/locales/de/LC_MESSAGES/volto.po +16 -1
- package/locales/en/LC_MESSAGES/volto.po +16 -1
- package/locales/es/LC_MESSAGES/volto.po +16 -1
- package/locales/fr/LC_MESSAGES/volto.po +16 -1
- package/locales/it/LC_MESSAGES/volto.po +16 -1
- package/locales/volto.pot +17 -2
- package/package.json +2 -2
- package/src/components/AppExtras/GenericAppExtras.jsx +6 -0
- package/src/components/AppExtras/{PageLoader.jsx → PageLoader/PageLoader.jsx} +1 -0
- package/src/components/AppExtras/PageLoader/page-loader.scss +11 -0
- package/src/components/Blocks/Accordion/Block/ViewBlock.jsx +1 -0
- package/src/components/Blocks/CTA/ctaBlock.scss +1 -1
- package/src/components/Blocks/Contacts/Block/ViewBlock.jsx +3 -2
- package/src/components/Blocks/Hero/StoresButtons.jsx +6 -2
- package/src/components/Blocks/Icons/MoreButton.jsx +1 -0
- package/src/components/Blocks/Listing/CompleteBlockLinks/CompleteBlockLinksTemplate.jsx +1 -0
- package/src/components/Cards/CardGhost/CardGhost.jsx +1 -1
- package/src/components/Cards/CardPersona/CardPersona.jsx +5 -1
- package/src/components/Cards/CardTaxonomy/CardTaxonomy.jsx +1 -1
- package/src/components/Cards/common/CardCategoryTop.jsx +5 -1
- package/src/components/GalleryPreview/GalleryPreview.jsx +12 -2
- package/src/components/Icon/Icon.jsx +1 -0
- package/src/components/LinkMore/LinkMore.jsx +1 -0
- package/src/components/LoginAgid/LoginAgidButtons.jsx +14 -2
- package/src/components/Pagination/PaginationItem.jsx +2 -2
- package/src/components/ScrollToTop/ScrollToTop.jsx +6 -1
- package/src/components/Search/Search.jsx +2 -0
- package/src/components/Slider/ButtonPlayPause.jsx +6 -3
- package/src/components/Slider/NextArrow.jsx +1 -1
- package/src/components/Slider/PrevArrow.jsx +1 -1
- package/src/components/View/CartellaModulistica/DocRow.jsx +1 -0
- package/src/components/View/ComeFarePer/Steps/Steps.jsx +6 -1
- package/src/components/View/FAQ/FaqFolder/FaqFolderTree.jsx +1 -1
- package/src/components/View/commons/PageHeader/PageHeaderStatoServizio.jsx +2 -2
- package/src/components/View/commons/Sharing/Sharing.jsx +2 -4
- package/src/components/View/commons/TassonomiaUtenti.jsx +6 -1
- package/src/components/Widgets/SearchSections/SearchSections.jsx +15 -1
- package/src/components/Widgets/SelectInput/SelectInput.jsx +2 -2
- package/src/components/Widgets/SortByWidget/SortByWidget.jsx +7 -1
- package/src/components/index.js +1 -4
- package/src/components/layout/Footer/FooterNewsletterSubscribe.jsx +7 -1
- package/src/components/layout/Footer/FooterSocials.jsx +1 -0
- package/src/components/layout/Header/HeaderContacts/HeaderContacts.jsx +6 -1
- package/src/components/layout/Header/HeaderSearch/HeaderSearch.jsx +5 -1
- package/src/components/layout/Header/HeaderSearch/SearchModal.jsx +6 -1
- package/src/components/layout/Header/HeaderSlim/HeaderLogin.jsx +31 -4
- package/src/components/layout/Header/SocialHeader.jsx +1 -0
- package/src/components/layout/Navigation/CollapseNavigation.jsx +6 -1
- package/src/components/layout/Navigation/MegaMenu/MegaMenu.jsx +7 -3
- package/src/config/ioSanitaConfig.js +12 -9
- package/src/customizations/volto/components/theme/View/View.jsx +4 -2
- package/src/theme/_variables.scss +5 -1
- package/src/theme/bootstrap-italia/custom/_focus.scss +8 -7
- package/src/theme/io-sanita/_buttons.scss +4 -2
- package/src/theme/io-sanita/components/layout/_footer.scss +0 -1
- package/src/theme/io-sanita/subsites/_common.scss +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.2.1](https://github.com/RedTurtle/io-sanita-theme/compare/2.2.0...2.2.1) (2025-02-12)
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
* a11y focus and enabled PageLoader ([40b83d8](https://github.com/RedTurtle/io-sanita-theme/commit/40b83d8676e82cc60967952cf271a398653b0517))
|
|
8
|
+
* a11y icons ([9214b5c](https://github.com/RedTurtle/io-sanita-theme/commit/9214b5c7788054a947ba134c0cf26cb3ed292b4f))
|
|
9
|
+
* messages ([fb5e06f](https://github.com/RedTurtle/io-sanita-theme/commit/fb5e06ff01def1e6e4bd9f2561981158df3c4eef))
|
|
10
|
+
|
|
11
|
+
### Maintenance
|
|
12
|
+
|
|
13
|
+
* info ([2d6a299](https://github.com/RedTurtle/io-sanita-theme/commit/2d6a29953b23b20b342343e0d0b8cd743b28079b))
|
|
14
|
+
* updated bootstrap-italia ([995fec8](https://github.com/RedTurtle/io-sanita-theme/commit/995fec8e4e910d964f412a02169823d9deafab11))
|
|
15
|
+
* updated customized theme/View to add AlternatHrefLangs ([70bba5a](https://github.com/RedTurtle/io-sanita-theme/commit/70bba5a54dba2159a3bf1f5193b8d6d974baad21))
|
|
16
|
+
|
|
3
17
|
## [2.2.0](https://github.com/RedTurtle/io-sanita-theme/compare/2.1.0...2.2.0) (2025-02-06)
|
|
4
18
|
|
|
5
19
|
### Features
|
package/RELEASE.md
CHANGED
|
@@ -41,6 +41,15 @@
|
|
|
41
41
|
- ...
|
|
42
42
|
-->
|
|
43
43
|
|
|
44
|
+
## Versione x.x.x (x/x/x)
|
|
45
|
+
|
|
46
|
+
### Migliorie
|
|
47
|
+
|
|
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
|
+
- a11y - migliorata l'accessibilità del sito per quanto riguarda le icone
|
|
51
|
+
- a11y - migliorato il contrasto del focus sugli elementi con la navigazione da tastiera
|
|
52
|
+
|
|
44
53
|
## Versione 2.1.0 (05/02/2025)
|
|
45
54
|
|
|
46
55
|
### Novità
|
|
@@ -321,7 +321,7 @@ msgid "Linkto title"
|
|
|
321
321
|
msgstr ""
|
|
322
322
|
|
|
323
323
|
#. Default: "Sto caricando la pagina richiesta..."
|
|
324
|
-
#: components/AppExtras/PageLoader
|
|
324
|
+
#: components/AppExtras/PageLoader/PageLoader
|
|
325
325
|
msgid "Loading page..."
|
|
326
326
|
msgstr "Seite wird geladen..."
|
|
327
327
|
|
|
@@ -622,6 +622,11 @@ msgstr ""
|
|
|
622
622
|
msgid "Uploading image"
|
|
623
623
|
msgstr ""
|
|
624
624
|
|
|
625
|
+
#. Default: "Utente"
|
|
626
|
+
#: components/layout/Header/HeaderSlim/HeaderLogin
|
|
627
|
+
msgid "User"
|
|
628
|
+
msgstr ""
|
|
629
|
+
|
|
625
630
|
#. Default: "Vai alla pagina"
|
|
626
631
|
#: components/layout/Footer/FooterInfos
|
|
627
632
|
#: components/layout/Footer/FooterNavigation
|
|
@@ -2476,6 +2481,16 @@ msgstr ""
|
|
|
2476
2481
|
msgid "search"
|
|
2477
2482
|
msgstr ""
|
|
2478
2483
|
|
|
2484
|
+
#. Default: "Nascondi tutte le sezioni"
|
|
2485
|
+
#: components/Widgets/SearchSections/SearchSections
|
|
2486
|
+
msgid "search-hideAllSections"
|
|
2487
|
+
msgstr ""
|
|
2488
|
+
|
|
2489
|
+
#. Default: "Mostra tutte le sezioni"
|
|
2490
|
+
#: components/Widgets/SearchSections/SearchSections
|
|
2491
|
+
msgid "search-showAllSections"
|
|
2492
|
+
msgstr ""
|
|
2493
|
+
|
|
2479
2494
|
#. Default: "Filtro per Categoria"
|
|
2480
2495
|
#: components/Blocks/SearchBandi/DefaultFilters
|
|
2481
2496
|
msgid "searchBlock_categoria_filter"
|
|
@@ -316,7 +316,7 @@ msgid "Linkto title"
|
|
|
316
316
|
msgstr ""
|
|
317
317
|
|
|
318
318
|
#. Default: "Sto caricando la pagina richiesta..."
|
|
319
|
-
#: components/AppExtras/PageLoader
|
|
319
|
+
#: components/AppExtras/PageLoader/PageLoader
|
|
320
320
|
msgid "Loading page..."
|
|
321
321
|
msgstr "Loading page..."
|
|
322
322
|
|
|
@@ -617,6 +617,11 @@ msgstr ""
|
|
|
617
617
|
msgid "Uploading image"
|
|
618
618
|
msgstr ""
|
|
619
619
|
|
|
620
|
+
#. Default: "Utente"
|
|
621
|
+
#: components/layout/Header/HeaderSlim/HeaderLogin
|
|
622
|
+
msgid "User"
|
|
623
|
+
msgstr ""
|
|
624
|
+
|
|
620
625
|
#. Default: "Vai alla pagina"
|
|
621
626
|
#: components/layout/Footer/FooterInfos
|
|
622
627
|
#: components/layout/Footer/FooterNavigation
|
|
@@ -2471,6 +2476,16 @@ msgstr "Deadline for requests for clarification"
|
|
|
2471
2476
|
msgid "search"
|
|
2472
2477
|
msgstr "Search"
|
|
2473
2478
|
|
|
2479
|
+
#. Default: "Nascondi tutte le sezioni"
|
|
2480
|
+
#: components/Widgets/SearchSections/SearchSections
|
|
2481
|
+
msgid "search-hideAllSections"
|
|
2482
|
+
msgstr ""
|
|
2483
|
+
|
|
2484
|
+
#. Default: "Mostra tutte le sezioni"
|
|
2485
|
+
#: components/Widgets/SearchSections/SearchSections
|
|
2486
|
+
msgid "search-showAllSections"
|
|
2487
|
+
msgstr ""
|
|
2488
|
+
|
|
2474
2489
|
#. Default: "Filtro per Categoria"
|
|
2475
2490
|
#: components/Blocks/SearchBandi/DefaultFilters
|
|
2476
2491
|
msgid "searchBlock_categoria_filter"
|
|
@@ -323,7 +323,7 @@ msgid "Linkto title"
|
|
|
323
323
|
msgstr ""
|
|
324
324
|
|
|
325
325
|
#. Default: "Sto caricando la pagina richiesta..."
|
|
326
|
-
#: components/AppExtras/PageLoader
|
|
326
|
+
#: components/AppExtras/PageLoader/PageLoader
|
|
327
327
|
msgid "Loading page..."
|
|
328
328
|
msgstr "Cargando página..."
|
|
329
329
|
|
|
@@ -624,6 +624,11 @@ msgstr ""
|
|
|
624
624
|
msgid "Uploading image"
|
|
625
625
|
msgstr ""
|
|
626
626
|
|
|
627
|
+
#. Default: "Utente"
|
|
628
|
+
#: components/layout/Header/HeaderSlim/HeaderLogin
|
|
629
|
+
msgid "User"
|
|
630
|
+
msgstr ""
|
|
631
|
+
|
|
627
632
|
#. Default: "Vai alla pagina"
|
|
628
633
|
#: components/layout/Footer/FooterInfos
|
|
629
634
|
#: components/layout/Footer/FooterNavigation
|
|
@@ -2478,6 +2483,16 @@ msgstr ""
|
|
|
2478
2483
|
msgid "search"
|
|
2479
2484
|
msgstr "Búsqueda"
|
|
2480
2485
|
|
|
2486
|
+
#. Default: "Nascondi tutte le sezioni"
|
|
2487
|
+
#: components/Widgets/SearchSections/SearchSections
|
|
2488
|
+
msgid "search-hideAllSections"
|
|
2489
|
+
msgstr ""
|
|
2490
|
+
|
|
2491
|
+
#. Default: "Mostra tutte le sezioni"
|
|
2492
|
+
#: components/Widgets/SearchSections/SearchSections
|
|
2493
|
+
msgid "search-showAllSections"
|
|
2494
|
+
msgstr ""
|
|
2495
|
+
|
|
2481
2496
|
#. Default: "Filtro per Categoria"
|
|
2482
2497
|
#: components/Blocks/SearchBandi/DefaultFilters
|
|
2483
2498
|
msgid "searchBlock_categoria_filter"
|
|
@@ -323,7 +323,7 @@ msgid "Linkto title"
|
|
|
323
323
|
msgstr ""
|
|
324
324
|
|
|
325
325
|
#. Default: "Sto caricando la pagina richiesta..."
|
|
326
|
-
#: components/AppExtras/PageLoader
|
|
326
|
+
#: components/AppExtras/PageLoader/PageLoader
|
|
327
327
|
msgid "Loading page..."
|
|
328
328
|
msgstr "Chargement des pages..."
|
|
329
329
|
|
|
@@ -624,6 +624,11 @@ msgstr ""
|
|
|
624
624
|
msgid "Uploading image"
|
|
625
625
|
msgstr ""
|
|
626
626
|
|
|
627
|
+
#. Default: "Utente"
|
|
628
|
+
#: components/layout/Header/HeaderSlim/HeaderLogin
|
|
629
|
+
msgid "User"
|
|
630
|
+
msgstr ""
|
|
631
|
+
|
|
627
632
|
#. Default: "Vai alla pagina"
|
|
628
633
|
#: components/layout/Footer/FooterInfos
|
|
629
634
|
#: components/layout/Footer/FooterNavigation
|
|
@@ -2478,6 +2483,16 @@ msgstr ""
|
|
|
2478
2483
|
msgid "search"
|
|
2479
2484
|
msgstr "Rechercher"
|
|
2480
2485
|
|
|
2486
|
+
#. Default: "Nascondi tutte le sezioni"
|
|
2487
|
+
#: components/Widgets/SearchSections/SearchSections
|
|
2488
|
+
msgid "search-hideAllSections"
|
|
2489
|
+
msgstr ""
|
|
2490
|
+
|
|
2491
|
+
#. Default: "Mostra tutte le sezioni"
|
|
2492
|
+
#: components/Widgets/SearchSections/SearchSections
|
|
2493
|
+
msgid "search-showAllSections"
|
|
2494
|
+
msgstr ""
|
|
2495
|
+
|
|
2481
2496
|
#. Default: "Filtro per Categoria"
|
|
2482
2497
|
#: components/Blocks/SearchBandi/DefaultFilters
|
|
2483
2498
|
msgid "searchBlock_categoria_filter"
|
|
@@ -316,7 +316,7 @@ msgid "Linkto title"
|
|
|
316
316
|
msgstr ""
|
|
317
317
|
|
|
318
318
|
#. Default: "Sto caricando la pagina richiesta..."
|
|
319
|
-
#: components/AppExtras/PageLoader
|
|
319
|
+
#: components/AppExtras/PageLoader/PageLoader
|
|
320
320
|
msgid "Loading page..."
|
|
321
321
|
msgstr "Sto caricando la pagina richiesta..."
|
|
322
322
|
|
|
@@ -617,6 +617,11 @@ msgstr "Carica una nuova immagine"
|
|
|
617
617
|
msgid "Uploading image"
|
|
618
618
|
msgstr "Sto caricando l'immagine"
|
|
619
619
|
|
|
620
|
+
#. Default: "Utente"
|
|
621
|
+
#: components/layout/Header/HeaderSlim/HeaderLogin
|
|
622
|
+
msgid "User"
|
|
623
|
+
msgstr ""
|
|
624
|
+
|
|
620
625
|
#. Default: "Vai alla pagina"
|
|
621
626
|
#: components/layout/Footer/FooterInfos
|
|
622
627
|
#: components/layout/Footer/FooterNavigation
|
|
@@ -2471,6 +2476,16 @@ msgstr ""
|
|
|
2471
2476
|
msgid "search"
|
|
2472
2477
|
msgstr "Cerca"
|
|
2473
2478
|
|
|
2479
|
+
#. Default: "Nascondi tutte le sezioni"
|
|
2480
|
+
#: components/Widgets/SearchSections/SearchSections
|
|
2481
|
+
msgid "search-hideAllSections"
|
|
2482
|
+
msgstr ""
|
|
2483
|
+
|
|
2484
|
+
#. Default: "Mostra tutte le sezioni"
|
|
2485
|
+
#: components/Widgets/SearchSections/SearchSections
|
|
2486
|
+
msgid "search-showAllSections"
|
|
2487
|
+
msgstr ""
|
|
2488
|
+
|
|
2474
2489
|
#. Default: "Filtro per Categoria"
|
|
2475
2490
|
#: components/Blocks/SearchBandi/DefaultFilters
|
|
2476
2491
|
msgid "searchBlock_categoria_filter"
|
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-
|
|
4
|
+
"POT-Creation-Date: 2025-02-12T13:43:16.681Z\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"
|
|
@@ -318,7 +318,7 @@ msgid "Linkto title"
|
|
|
318
318
|
msgstr ""
|
|
319
319
|
|
|
320
320
|
#. Default: "Sto caricando la pagina richiesta..."
|
|
321
|
-
#: components/AppExtras/PageLoader
|
|
321
|
+
#: components/AppExtras/PageLoader/PageLoader
|
|
322
322
|
msgid "Loading page..."
|
|
323
323
|
msgstr ""
|
|
324
324
|
|
|
@@ -619,6 +619,11 @@ msgstr ""
|
|
|
619
619
|
msgid "Uploading image"
|
|
620
620
|
msgstr ""
|
|
621
621
|
|
|
622
|
+
#. Default: "Utente"
|
|
623
|
+
#: components/layout/Header/HeaderSlim/HeaderLogin
|
|
624
|
+
msgid "User"
|
|
625
|
+
msgstr ""
|
|
626
|
+
|
|
622
627
|
#. Default: "Vai alla pagina"
|
|
623
628
|
#: components/layout/Footer/FooterInfos
|
|
624
629
|
#: components/layout/Footer/FooterNavigation
|
|
@@ -2473,6 +2478,16 @@ msgstr ""
|
|
|
2473
2478
|
msgid "search"
|
|
2474
2479
|
msgstr ""
|
|
2475
2480
|
|
|
2481
|
+
#. Default: "Nascondi tutte le sezioni"
|
|
2482
|
+
#: components/Widgets/SearchSections/SearchSections
|
|
2483
|
+
msgid "search-hideAllSections"
|
|
2484
|
+
msgstr ""
|
|
2485
|
+
|
|
2486
|
+
#. Default: "Mostra tutte le sezioni"
|
|
2487
|
+
#: components/Widgets/SearchSections/SearchSections
|
|
2488
|
+
msgid "search-showAllSections"
|
|
2489
|
+
msgstr ""
|
|
2490
|
+
|
|
2476
2491
|
#. Default: "Filtro per Categoria"
|
|
2477
2492
|
#: components/Blocks/SearchBandi/DefaultFilters
|
|
2478
2493
|
msgid "searchBlock_categoria_filter"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "io-sanita-theme",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.1",
|
|
4
4
|
"description": "io-sanita-theme: Volto add-on",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"license": "MIT",
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"@plone-collective/volto-contents-next": "0.5.0",
|
|
85
85
|
"@plone-collective/volto-sentry": "0.3.1",
|
|
86
86
|
"@release-it/conventional-changelog": "^9.0.3",
|
|
87
|
-
"bootstrap-italia": "2.
|
|
87
|
+
"bootstrap-italia": "2.9.2",
|
|
88
88
|
"design-react-kit": "5.0.0-10",
|
|
89
89
|
"marked": "9.0.0",
|
|
90
90
|
"react-focus-lock": "2.12.1",
|
|
@@ -2,6 +2,8 @@ import React from 'react';
|
|
|
2
2
|
import { useSelector } from 'react-redux';
|
|
3
3
|
import { useLocation } from 'react-router-dom';
|
|
4
4
|
import { ScrollToTop } from 'io-sanita-theme/components';
|
|
5
|
+
import Helmet from '@plone/volto/helpers/Helmet/Helmet';
|
|
6
|
+
import { toPublicURL } from '@plone/volto/helpers/Url/Url';
|
|
5
7
|
import { SubsiteLoader } from 'volto-subsites';
|
|
6
8
|
import config from '@plone/volto/registry';
|
|
7
9
|
|
|
@@ -17,6 +19,10 @@ const GenericAppExtras = (props) => {
|
|
|
17
19
|
|
|
18
20
|
return (
|
|
19
21
|
<>
|
|
22
|
+
<Helmet>
|
|
23
|
+
<link rel="canonical" href={toPublicURL(location.pathname)} />{' '}
|
|
24
|
+
{/** Se impostato un canonlical nei campi SEO della pagina vincerà quello */}
|
|
25
|
+
</Helmet>
|
|
20
26
|
<ScrollToTop />
|
|
21
27
|
<SubsiteLoader pathname={location.pathname} />
|
|
22
28
|
</>
|
|
@@ -65,6 +65,7 @@ const ViewBlock = ({ data, isOpen, toggle, id, index, titleTag }) => {
|
|
|
65
65
|
id={`content-${id}-${index}`}
|
|
66
66
|
role="region"
|
|
67
67
|
aria-labelledby={`${id}-${index}`}
|
|
68
|
+
hidden={!isOpen}
|
|
68
69
|
>
|
|
69
70
|
<div className="accordion-inner" onFocus={toggle()}>
|
|
70
71
|
<TextBlockView id={id} data={{ value: data.text }} />
|
|
@@ -33,6 +33,7 @@ const ViewBlock = ({ data, isOpen, toggle, id, index }) => {
|
|
|
33
33
|
className="card-bg rounded subblock-view "
|
|
34
34
|
noWrapper={false}
|
|
35
35
|
tag="div"
|
|
36
|
+
tabIndex={0}
|
|
36
37
|
>
|
|
37
38
|
<CardBody tag="div">
|
|
38
39
|
{data.title && <div className="contact-title">{data.title}</div>}
|
|
@@ -41,7 +42,7 @@ const ViewBlock = ({ data, isOpen, toggle, id, index }) => {
|
|
|
41
42
|
{tel && (
|
|
42
43
|
<div className="contact-info">
|
|
43
44
|
<div className="icon-wrapper">
|
|
44
|
-
<Icon icon="phone-alt" />
|
|
45
|
+
<Icon icon="phone-alt" title="Tel." />
|
|
45
46
|
</div>
|
|
46
47
|
<div className="tel">{tel}</div>
|
|
47
48
|
</div>
|
|
@@ -50,7 +51,7 @@ const ViewBlock = ({ data, isOpen, toggle, id, index }) => {
|
|
|
50
51
|
{email && (
|
|
51
52
|
<div className="contact-info">
|
|
52
53
|
<div className="icon-wrapper">
|
|
53
|
-
<Icon icon="envelope" />
|
|
54
|
+
<Icon icon="envelope" title="E-mail" />
|
|
54
55
|
</div>
|
|
55
56
|
<div className="email">{email}</div>
|
|
56
57
|
</div>
|
|
@@ -23,14 +23,18 @@ const StoresButtons = ({ data }) => {
|
|
|
23
23
|
{data.playStoreLink && (
|
|
24
24
|
<Button tag={UniversalLink} href={data.playStoreLink} color="primary">
|
|
25
25
|
<span>PLAY STORE</span>
|
|
26
|
-
<Icon
|
|
26
|
+
<Icon
|
|
27
|
+
icon="fab google-play"
|
|
28
|
+
title="Play store"
|
|
29
|
+
aria-hidden={true}
|
|
30
|
+
/>
|
|
27
31
|
</Button>
|
|
28
32
|
)}
|
|
29
33
|
|
|
30
34
|
{data.appStoreLink && (
|
|
31
35
|
<Button tag={UniversalLink} href={data.appStoreLink} color="primary">
|
|
32
36
|
<span>APP STORE</span>
|
|
33
|
-
<Icon icon="fab apple" title="App store" />
|
|
37
|
+
<Icon icon="fab apple" title="App store" aria-hidden={true} />
|
|
34
38
|
</Button>
|
|
35
39
|
)}
|
|
36
40
|
</div>
|
|
@@ -116,7 +116,11 @@ export const CardPersona = ({
|
|
|
116
116
|
</div>
|
|
117
117
|
|
|
118
118
|
<AvatarIcon size="xl">
|
|
119
|
-
{img ?
|
|
119
|
+
{img ? (
|
|
120
|
+
img
|
|
121
|
+
) : (
|
|
122
|
+
<Icon icon="it-user" color="primary" aria-hidden={true} />
|
|
123
|
+
)}
|
|
120
124
|
</AvatarIcon>
|
|
121
125
|
</CardBody>
|
|
122
126
|
</Card>
|
|
@@ -40,7 +40,11 @@ const CardCategoryTop = (props) => {
|
|
|
40
40
|
<span className="text">{children}</span>
|
|
41
41
|
);
|
|
42
42
|
const categoryIcon = iconName && (
|
|
43
|
-
<Icon
|
|
43
|
+
<Icon
|
|
44
|
+
icon={iconName}
|
|
45
|
+
title={intl.formatMessage(messages.categoryIcon)}
|
|
46
|
+
aria-hidden={true}
|
|
47
|
+
/>
|
|
44
48
|
);
|
|
45
49
|
|
|
46
50
|
return (
|
|
@@ -86,7 +86,12 @@ const GalleryPreview = ({ id, viewIndex, setViewIndex, items }) => {
|
|
|
86
86
|
}}
|
|
87
87
|
className="prev"
|
|
88
88
|
>
|
|
89
|
-
<Icon
|
|
89
|
+
<Icon
|
|
90
|
+
color=""
|
|
91
|
+
icon="it-arrow-left"
|
|
92
|
+
padding={false}
|
|
93
|
+
aria-hidden={true}
|
|
94
|
+
/>
|
|
90
95
|
</Button>
|
|
91
96
|
)}
|
|
92
97
|
|
|
@@ -106,7 +111,12 @@ const GalleryPreview = ({ id, viewIndex, setViewIndex, items }) => {
|
|
|
106
111
|
}}
|
|
107
112
|
className="next"
|
|
108
113
|
>
|
|
109
|
-
<Icon
|
|
114
|
+
<Icon
|
|
115
|
+
color=""
|
|
116
|
+
icon="it-arrow-right"
|
|
117
|
+
padding={false}
|
|
118
|
+
aria-hidden={true}
|
|
119
|
+
/>
|
|
110
120
|
</Button>
|
|
111
121
|
)}
|
|
112
122
|
</div>
|
|
@@ -75,7 +75,13 @@ const SpidButton = ({ spidLoginUrl, qs, intl }) => (
|
|
|
75
75
|
size="big"
|
|
76
76
|
>
|
|
77
77
|
<span className="rounded-icon">
|
|
78
|
-
<Icon
|
|
78
|
+
<Icon
|
|
79
|
+
color="primary"
|
|
80
|
+
icon="it-user"
|
|
81
|
+
padding={false}
|
|
82
|
+
size=""
|
|
83
|
+
aria-hidden={true}
|
|
84
|
+
/>
|
|
79
85
|
</span>
|
|
80
86
|
<span>{intl.formatMessage(messages.loginSpidButton)}</span>
|
|
81
87
|
</Button>
|
|
@@ -127,7 +133,13 @@ const ArButton = ({ arLoginUrl, intl }) => (
|
|
|
127
133
|
<div className="authorized-spid-login mb-4">
|
|
128
134
|
<LoginButton baseLoginUrl={arLoginUrl}>
|
|
129
135
|
<span className="rounded-icon">
|
|
130
|
-
<Icon
|
|
136
|
+
<Icon
|
|
137
|
+
color="primary"
|
|
138
|
+
icon="it-user"
|
|
139
|
+
padding={false}
|
|
140
|
+
size=""
|
|
141
|
+
aria-hidden={true}
|
|
142
|
+
/>
|
|
131
143
|
</span>
|
|
132
144
|
<span className="d-none d-lg-block">
|
|
133
145
|
{intl.formatMessage(messages.loginSpidButton)}
|
|
@@ -89,7 +89,7 @@ class PaginationItem extends Component {
|
|
|
89
89
|
<>
|
|
90
90
|
<Icon
|
|
91
91
|
icon="it-chevron-left"
|
|
92
|
-
|
|
92
|
+
aria-hidden={true}
|
|
93
93
|
color="primary"
|
|
94
94
|
className={cx({ disabled: isPrevButtonInactive })}
|
|
95
95
|
title={intl.formatMessage(messages.prevPage)}
|
|
@@ -104,7 +104,7 @@ class PaginationItem extends Component {
|
|
|
104
104
|
<>
|
|
105
105
|
<Icon
|
|
106
106
|
icon="it-chevron-right"
|
|
107
|
-
|
|
107
|
+
aria-hidden={true}
|
|
108
108
|
color="primary"
|
|
109
109
|
className={cx({ disabled: isForwButtonInactive })}
|
|
110
110
|
title={intl.formatMessage(messages.nextPage)}
|
|
@@ -323,6 +323,7 @@ const Search = () => {
|
|
|
323
323
|
color="primary"
|
|
324
324
|
padding={false}
|
|
325
325
|
size=""
|
|
326
|
+
aria-hidden={true}
|
|
326
327
|
/>
|
|
327
328
|
</Button>
|
|
328
329
|
</div>
|
|
@@ -383,6 +384,7 @@ const Search = () => {
|
|
|
383
384
|
<Icon
|
|
384
385
|
icon={advFiltersOpen ? 'it-minus' : 'it-plus'}
|
|
385
386
|
padding
|
|
387
|
+
aria-hidden={true}
|
|
386
388
|
/>
|
|
387
389
|
{intl.formatMessage(messages.advFilters)}
|
|
388
390
|
</Button>
|
|
@@ -35,10 +35,13 @@ const ButtonPlayPause = ({ onClick, autoplay, showLabel = true, children }) => {
|
|
|
35
35
|
key={autoplay ? 'pause' : 'play'}
|
|
36
36
|
icon={autoplay ? 'pause' : 'play'}
|
|
37
37
|
title={
|
|
38
|
-
|
|
39
|
-
?
|
|
40
|
-
|
|
38
|
+
!showLabel
|
|
39
|
+
? autoplay
|
|
40
|
+
? intl.formatMessage(messages.pause)
|
|
41
|
+
: intl.formatMessage(messages.play)
|
|
42
|
+
: null
|
|
41
43
|
}
|
|
44
|
+
aria-hidden={showLabel}
|
|
42
45
|
/>
|
|
43
46
|
{showLabel && <span>{autoplay ? 'pause' : 'play'}</span>}
|
|
44
47
|
</button>
|
|
@@ -24,7 +24,7 @@ export default function NextArrow(props) {
|
|
|
24
24
|
onKeyDown={onKeyDown}
|
|
25
25
|
id={id}
|
|
26
26
|
>
|
|
27
|
-
<Icon icon="chevron-right" key="chevron-right"
|
|
27
|
+
<Icon icon="chevron-right" key="chevron-right" aria-hidden={true} />
|
|
28
28
|
<span className="visually-hidden">{_title}</span>
|
|
29
29
|
</button>
|
|
30
30
|
);
|
|
@@ -26,7 +26,7 @@ export default function PrevArrow(props) {
|
|
|
26
26
|
id={id}
|
|
27
27
|
onKeyDown={onKeyDown}
|
|
28
28
|
>
|
|
29
|
-
<Icon icon="chevron-left" key="chevron-left-prev"
|
|
29
|
+
<Icon icon="chevron-left" key="chevron-left-prev" aria-hidden={true} />
|
|
30
30
|
<span className="visually-hidden">{_title}</span>
|
|
31
31
|
</button>
|
|
32
32
|
);
|
|
@@ -106,7 +106,11 @@ const Steps = ({ content, steps = [] }) => {
|
|
|
106
106
|
{allOpen
|
|
107
107
|
? intl.formatMessage(messages.hide_all)
|
|
108
108
|
: intl.formatMessage(messages.show_all)}{' '}
|
|
109
|
-
<Icon
|
|
109
|
+
<Icon
|
|
110
|
+
icon={allOpen ? 'it-collapse' : 'it-expand'}
|
|
111
|
+
size="sm"
|
|
112
|
+
aria-hidden={true}
|
|
113
|
+
/>
|
|
110
114
|
</Button>
|
|
111
115
|
<Accordion background="active">
|
|
112
116
|
{steps.map((s, index) => {
|
|
@@ -140,6 +144,7 @@ const Steps = ({ content, steps = [] }) => {
|
|
|
140
144
|
<Icon
|
|
141
145
|
icon={isActive() ? 'it-collapse' : 'it-expand'}
|
|
142
146
|
size="sm"
|
|
147
|
+
aria-hidden={true}
|
|
143
148
|
/>
|
|
144
149
|
</Button>
|
|
145
150
|
)}
|
|
@@ -23,7 +23,7 @@ const FaqFolderTree = ({ tree }) => {
|
|
|
23
23
|
const [itemOpened, setItemOpened] = useState(null);
|
|
24
24
|
let title = (
|
|
25
25
|
<UniversalLink item={item}>
|
|
26
|
-
{item.icon && <Icon icon={item.icon} />}
|
|
26
|
+
{item.icon && <Icon icon={item.icon} aria-hidden={true} />}
|
|
27
27
|
{item.title}
|
|
28
28
|
</UniversalLink>
|
|
29
29
|
);
|
|
@@ -27,9 +27,9 @@ const PageHeaderServizio = ({ content }) => {
|
|
|
27
27
|
: intl.formatMessage(messages.service_off)}
|
|
28
28
|
</Badge>
|
|
29
29
|
{content.servizio_attivo && (
|
|
30
|
-
<
|
|
30
|
+
<span className="px-2">
|
|
31
31
|
{intl.formatMessage(messages.service_available)}
|
|
32
|
-
</
|
|
32
|
+
</span>
|
|
33
33
|
)}
|
|
34
34
|
</div>
|
|
35
35
|
) : null;
|
|
@@ -154,8 +154,7 @@ const Sharing = ({ url, title }) => {
|
|
|
154
154
|
icon={item.icon}
|
|
155
155
|
padding={false}
|
|
156
156
|
size=""
|
|
157
|
-
|
|
158
|
-
title={item.title}
|
|
157
|
+
aria-hidden={true}
|
|
159
158
|
/>
|
|
160
159
|
<span>{item.title}</span>
|
|
161
160
|
</Button>
|
|
@@ -167,8 +166,7 @@ const Sharing = ({ url, title }) => {
|
|
|
167
166
|
icon={item.icon}
|
|
168
167
|
padding={false}
|
|
169
168
|
size=""
|
|
170
|
-
|
|
171
|
-
title={item.title}
|
|
169
|
+
aria-hidden={true}
|
|
172
170
|
/>
|
|
173
171
|
<span>{item.title}</span>
|
|
174
172
|
</>
|
|
@@ -33,7 +33,12 @@ const TassonomiaUtenti = ({ content }) => {
|
|
|
33
33
|
//data-element="service-topic"
|
|
34
34
|
>
|
|
35
35
|
<Chip color="accent" simple>
|
|
36
|
-
<Icon
|
|
36
|
+
<Icon
|
|
37
|
+
icon="it-user"
|
|
38
|
+
size="xs"
|
|
39
|
+
className="icon-accent"
|
|
40
|
+
aria-hidden={true}
|
|
41
|
+
/>
|
|
37
42
|
<ChipLabel>{title}</ChipLabel>
|
|
38
43
|
</Chip>
|
|
39
44
|
</UniversalLink>
|
|
@@ -5,7 +5,7 @@ import React, { useState, useEffect } from 'react';
|
|
|
5
5
|
import cx from 'classnames';
|
|
6
6
|
import { useIntl, defineMessages } from 'react-intl';
|
|
7
7
|
|
|
8
|
-
import {
|
|
8
|
+
import { FormGroup, Label, Collapse } from 'design-react-kit';
|
|
9
9
|
import { Icon, Checkbox } from 'io-sanita-theme/components';
|
|
10
10
|
import { SearchUtils } from 'io-sanita-theme/helpers';
|
|
11
11
|
|
|
@@ -14,6 +14,14 @@ const messages = defineMessages({
|
|
|
14
14
|
id: 'searchInSection',
|
|
15
15
|
defaultMessage: 'Cerca nella sezione',
|
|
16
16
|
},
|
|
17
|
+
hideAllSections: {
|
|
18
|
+
id: 'search-hideAllSections',
|
|
19
|
+
defaultMessage: 'Nascondi tutte le sezioni',
|
|
20
|
+
},
|
|
21
|
+
showAllSections: {
|
|
22
|
+
id: 'search-showAllSections',
|
|
23
|
+
defaultMessage: 'Mostra tutte le sezioni',
|
|
24
|
+
},
|
|
17
25
|
});
|
|
18
26
|
|
|
19
27
|
export default function SearchSections({
|
|
@@ -131,12 +139,18 @@ export default function SearchSections({
|
|
|
131
139
|
data-toggle="collapse"
|
|
132
140
|
aria-expanded={expanded}
|
|
133
141
|
aria-controls={`section${s.id}Collapse`}
|
|
142
|
+
aria-label={intl.formatMessage(
|
|
143
|
+
expanded
|
|
144
|
+
? messages.hideAllSections
|
|
145
|
+
: messages.showAllSections,
|
|
146
|
+
)}
|
|
134
147
|
>
|
|
135
148
|
<Icon
|
|
136
149
|
color="primary"
|
|
137
150
|
icon={expanded ? 'it-collapse' : 'it-expand'}
|
|
138
151
|
padding={false}
|
|
139
152
|
className="right"
|
|
153
|
+
aria-hidden={true}
|
|
140
154
|
/>
|
|
141
155
|
</a>
|
|
142
156
|
)}
|
|
@@ -145,7 +145,7 @@ const DropdownIndicator = injectLazyLibs('reactSelect')((props) => {
|
|
|
145
145
|
<components.DropdownIndicator {...props}>
|
|
146
146
|
<Icon
|
|
147
147
|
icon="it-arrow-down-triangle"
|
|
148
|
-
|
|
148
|
+
aria-hidden={true}
|
|
149
149
|
title={intl.formatMessage(messages.dropwdown_indicator)}
|
|
150
150
|
/>
|
|
151
151
|
</components.DropdownIndicator>
|
|
@@ -180,7 +180,7 @@ const ClearIndicator = (props) => {
|
|
|
180
180
|
>
|
|
181
181
|
<Icon
|
|
182
182
|
icon="it-close"
|
|
183
|
-
|
|
183
|
+
aria-hidden={true}
|
|
184
184
|
title={intl.formatMessage(messages.ay11_for_cancel)}
|
|
185
185
|
/>
|
|
186
186
|
</div>
|
|
@@ -88,7 +88,13 @@ const SortByWidget = ({
|
|
|
88
88
|
<UncontrolledDropdown className="sort-by-widget">
|
|
89
89
|
<DropdownToggle color="primary" outline caret className="px-3 px-lg-4">
|
|
90
90
|
<small>{intl.formatMessage(messages.sort)}</small>{' '}
|
|
91
|
-
<Icon
|
|
91
|
+
<Icon
|
|
92
|
+
color="primary"
|
|
93
|
+
icon="it-expand"
|
|
94
|
+
padding={false}
|
|
95
|
+
size="sm"
|
|
96
|
+
aria-hidden={true}
|
|
97
|
+
/>
|
|
92
98
|
</DropdownToggle>
|
|
93
99
|
<DropdownMenu>
|
|
94
100
|
{/* <LinkList> */}
|
package/src/components/index.js
CHANGED
|
@@ -22,10 +22,7 @@ export const LoginAgidButtons = loadable(() =>
|
|
|
22
22
|
//layout
|
|
23
23
|
export SkipLinks from 'io-sanita-theme/components/SkipLinks/SkipLinks';
|
|
24
24
|
export Breadcrumbs from 'io-sanita-theme/components/Breadcrumbs/Breadcrumbs';
|
|
25
|
-
|
|
26
|
-
export GenericAppExtras from 'io-sanita-theme/components/AppExtras/GenericAppExtras';
|
|
27
|
-
export SiteSettingsExtras from 'io-sanita-theme/components/AppExtras/SiteSettingsExtras';
|
|
28
|
-
export PageLoader from 'io-sanita-theme/components/AppExtras/PageLoader';
|
|
25
|
+
|
|
29
26
|
export ScrollToTop from 'io-sanita-theme/components/ScrollToTop/ScrollToTop';
|
|
30
27
|
|
|
31
28
|
//Header
|
|
@@ -53,7 +53,13 @@ const FooterNewsletterSubscribe = () => {
|
|
|
53
53
|
tag="button"
|
|
54
54
|
icon={false}
|
|
55
55
|
>
|
|
56
|
-
<Icon
|
|
56
|
+
<Icon
|
|
57
|
+
icon="it-mail"
|
|
58
|
+
color="white"
|
|
59
|
+
padding={false}
|
|
60
|
+
size=""
|
|
61
|
+
aria-hidden={true}
|
|
62
|
+
/>
|
|
57
63
|
<span>{intl.formatMessage(messages.subscribe)}</span>
|
|
58
64
|
</Button>
|
|
59
65
|
</Form>
|
|
@@ -44,7 +44,11 @@ const HeaderSearch = ({ className }) => {
|
|
|
44
44
|
href="/search"
|
|
45
45
|
role="button"
|
|
46
46
|
>
|
|
47
|
-
<Icon
|
|
47
|
+
<Icon
|
|
48
|
+
icon="it-search"
|
|
49
|
+
title={intl.formatMessage(messages.search)}
|
|
50
|
+
aria-hidden={true}
|
|
51
|
+
/>
|
|
48
52
|
</a>
|
|
49
53
|
</div>
|
|
50
54
|
<SearchModal
|
|
@@ -100,7 +100,12 @@ const SearchModal = ({ closeModal, show }) => {
|
|
|
100
100
|
icon
|
|
101
101
|
className="text-uppercase fw-semibold"
|
|
102
102
|
>
|
|
103
|
-
<Icon
|
|
103
|
+
<Icon
|
|
104
|
+
color=""
|
|
105
|
+
icon="it-arrow-left"
|
|
106
|
+
padding={false}
|
|
107
|
+
aria-hidden={true}
|
|
108
|
+
/>
|
|
104
109
|
<span>{intl.formatMessage(messages.closeSearchBack)}</span>
|
|
105
110
|
</Button>
|
|
106
111
|
</div>
|
|
@@ -41,6 +41,10 @@ const messages = defineMessages({
|
|
|
41
41
|
id: 'Logout',
|
|
42
42
|
defaultMessage: 'Esci',
|
|
43
43
|
},
|
|
44
|
+
user: {
|
|
45
|
+
id: 'User',
|
|
46
|
+
defaultMessage: 'Utente',
|
|
47
|
+
},
|
|
44
48
|
});
|
|
45
49
|
|
|
46
50
|
const HeaderLogin = () => {
|
|
@@ -96,7 +100,13 @@ const HeaderLogin = () => {
|
|
|
96
100
|
}
|
|
97
101
|
>
|
|
98
102
|
<span className="rounded-icon">
|
|
99
|
-
<Icon
|
|
103
|
+
<Icon
|
|
104
|
+
color="primary"
|
|
105
|
+
icon="it-user"
|
|
106
|
+
padding={false}
|
|
107
|
+
size=""
|
|
108
|
+
aria-hidden={true}
|
|
109
|
+
/>
|
|
100
110
|
</span>
|
|
101
111
|
<span className="d-none d-lg-block">
|
|
102
112
|
{intl.formatMessage(messages.loginAreaPersonale)}
|
|
@@ -113,12 +123,23 @@ const HeaderLogin = () => {
|
|
|
113
123
|
className="btn-icon"
|
|
114
124
|
>
|
|
115
125
|
<span className="rounded-icon">
|
|
116
|
-
<Icon
|
|
126
|
+
<Icon
|
|
127
|
+
color="primary"
|
|
128
|
+
icon="it-user"
|
|
129
|
+
size=""
|
|
130
|
+
title={intl.formatMessage(messages.user)}
|
|
131
|
+
/>
|
|
117
132
|
</span>
|
|
118
133
|
<span className="d-none d-lg-block">
|
|
119
134
|
{userLogged.fullname || userLogged.username}
|
|
120
135
|
</span>
|
|
121
|
-
<Icon
|
|
136
|
+
<Icon
|
|
137
|
+
color=""
|
|
138
|
+
icon="it-expand"
|
|
139
|
+
padding={false}
|
|
140
|
+
size=""
|
|
141
|
+
aria-hidden={true}
|
|
142
|
+
/>
|
|
122
143
|
</DropdownToggle>
|
|
123
144
|
<DropdownMenu flip tag="div">
|
|
124
145
|
<Row tag="div">
|
|
@@ -140,7 +161,13 @@ const HeaderLogin = () => {
|
|
|
140
161
|
}}
|
|
141
162
|
className="logout"
|
|
142
163
|
>
|
|
143
|
-
<Icon
|
|
164
|
+
<Icon
|
|
165
|
+
color=""
|
|
166
|
+
icon="sign-out-alt"
|
|
167
|
+
size="sm"
|
|
168
|
+
left
|
|
169
|
+
aria-hidden={true}
|
|
170
|
+
/>
|
|
144
171
|
<span>{intl.formatMessage(messages.Logout)}</span>
|
|
145
172
|
</LinkListItem>
|
|
146
173
|
</LinkList>
|
|
@@ -72,7 +72,12 @@ const Collapse = ({
|
|
|
72
72
|
title={intl.formatMessage(messages.CloseMenu)}
|
|
73
73
|
onClick={onOverlayClick}
|
|
74
74
|
>
|
|
75
|
-
<Icon
|
|
75
|
+
<Icon
|
|
76
|
+
color="white"
|
|
77
|
+
icon="it-close-big"
|
|
78
|
+
padding={false}
|
|
79
|
+
aria-hidden={true}
|
|
80
|
+
/>
|
|
76
81
|
</button>
|
|
77
82
|
</div>
|
|
78
83
|
)}
|
|
@@ -256,7 +256,11 @@ const MegaMenu = ({ item, pathname }) => {
|
|
|
256
256
|
className={cx('dropdown-toggle', { active: isItemActive })}
|
|
257
257
|
>
|
|
258
258
|
<span dangerouslySetInnerHTML={{ __html: item.title }}></span>
|
|
259
|
-
<Icon
|
|
259
|
+
<Icon
|
|
260
|
+
icon="it-expand"
|
|
261
|
+
className={cx('', { open: menuStatus })}
|
|
262
|
+
aria-hidden={true}
|
|
263
|
+
/>
|
|
260
264
|
</DropdownToggle>
|
|
261
265
|
<DropdownMenu flip tag="div">
|
|
262
266
|
<div className="text-end megamenu-close-button">
|
|
@@ -273,7 +277,7 @@ const MegaMenu = ({ item, pathname }) => {
|
|
|
273
277
|
// https://www.w3.org/WAI/ARIA/apg/patterns/menubar/examples/menubar-navigation/
|
|
274
278
|
tabIndex="-1"
|
|
275
279
|
>
|
|
276
|
-
<Icon icon="it-close" />
|
|
280
|
+
<Icon icon="it-close" aria-hidden={true} />
|
|
277
281
|
</Button>
|
|
278
282
|
</div>
|
|
279
283
|
<Row>
|
|
@@ -384,7 +388,7 @@ const MegaMenu = ({ item, pathname }) => {
|
|
|
384
388
|
? item.showMoreText
|
|
385
389
|
: intl.formatMessage(messages.view_all)}
|
|
386
390
|
</span>
|
|
387
|
-
<Icon icon="it-arrow-right" />
|
|
391
|
+
<Icon icon="it-arrow-right" aria-hidden={true} />
|
|
388
392
|
</UniversalLink>
|
|
389
393
|
</li>
|
|
390
394
|
</LinkList>
|
|
@@ -32,15 +32,12 @@ import bandoSVG from 'io-sanita-theme/icons/bando.svg';
|
|
|
32
32
|
import logSVG from 'io-sanita-theme/icons/log.svg';
|
|
33
33
|
|
|
34
34
|
import reducers from 'io-sanita-theme/reducers';
|
|
35
|
-
import {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
FileWidget,
|
|
42
|
-
} from 'io-sanita-theme/components';
|
|
43
|
-
import { ListingContainer } from 'io-sanita-theme/components/Blocks';
|
|
35
|
+
import { LoginAgid, Icon, FileWidget } from 'io-sanita-theme/components';
|
|
36
|
+
import PageLoader from 'io-sanita-theme/components/AppExtras/PageLoader/PageLoader';
|
|
37
|
+
import TrackFocus from 'io-sanita-theme/components/AppExtras/TrackFocus';
|
|
38
|
+
import HandleAnchor from 'io-sanita-theme/components/AppExtras/HandleAnchor';
|
|
39
|
+
import SiteSettingsExtras from 'io-sanita-theme/components/AppExtras/SiteSettingsExtras';
|
|
40
|
+
import GenericAppExtras from 'io-sanita-theme/components/AppExtras/GenericAppExtras';
|
|
44
41
|
import { loadables as IoSanitaLoadables } from 'io-sanita-theme/config/loadables';
|
|
45
42
|
import { registerIOSanitaValidators } from 'io-sanita-theme/config/validators';
|
|
46
43
|
|
|
@@ -52,6 +49,7 @@ import AggregationPage from 'io-sanita-theme/components/View/AggregationPage/Agg
|
|
|
52
49
|
import { applyFarmacieConfig } from './farmacie';
|
|
53
50
|
|
|
54
51
|
import getIoSanitaWidgets from 'io-sanita-theme/config/widgets/widgets';
|
|
52
|
+
import { component } from 'design-react-kit/dist/types/Icon/assets/ItAndroidSquare';
|
|
55
53
|
|
|
56
54
|
export const AGGREGATION_PAGE_ARGOMENTO = '/argomento/';
|
|
57
55
|
export const AGGREGATION_PAGE_TIPOLOGIA_UTENTE = '/tipologia-utente/';
|
|
@@ -215,6 +213,11 @@ export default function applyConfig(config) {
|
|
|
215
213
|
match: '',
|
|
216
214
|
component: SiteSettingsExtras,
|
|
217
215
|
},
|
|
216
|
+
{
|
|
217
|
+
match: '',
|
|
218
|
+
component: PageLoader,
|
|
219
|
+
},
|
|
220
|
+
{ match: '', component: TrackFocus },
|
|
218
221
|
],
|
|
219
222
|
maxFileUploadSize: null,
|
|
220
223
|
|
|
@@ -19,13 +19,14 @@ import loadable from '@loadable/component';
|
|
|
19
19
|
import ContentMetadataTags from '@plone/volto/components/theme/ContentMetadataTags/ContentMetadataTags';
|
|
20
20
|
import Comments from '@plone/volto/components/theme/Comments/Comments';
|
|
21
21
|
import Toolbar from '@plone/volto/components/manage/Toolbar/Toolbar';
|
|
22
|
-
import Tags from '@plone/volto/components/theme/Tags/Tags';
|
|
23
22
|
import { listActions } from '@plone/volto/actions/actions/actions';
|
|
24
23
|
import { getContent } from '@plone/volto/actions/content/content';
|
|
25
24
|
import BodyClass from '@plone/volto/helpers/BodyClass/BodyClass';
|
|
26
25
|
|
|
27
26
|
import { flattenToAppURL, getBaseUrl } from '@plone/volto/helpers/Url/Url';
|
|
28
27
|
import { hasApiExpander } from '@plone/volto/helpers/Utils/Utils';
|
|
28
|
+
import { AlternateHrefLangs } from '@plone/volto/components/theme/AlternateHrefLangs/AlternateHrefLangs';
|
|
29
|
+
|
|
29
30
|
import { getLayoutFieldname } from '@plone/volto/helpers/Content/Content';
|
|
30
31
|
|
|
31
32
|
import config from '@plone/volto/registry';
|
|
@@ -288,6 +289,8 @@ class View extends Component {
|
|
|
288
289
|
return (
|
|
289
290
|
<div id="view" tabIndex="-1">
|
|
290
291
|
<ContentMetadataTags content={this.props.content} />
|
|
292
|
+
<AlternateHrefLangs content={this.props.content} />
|
|
293
|
+
|
|
291
294
|
{/* Body class if displayName in component is set */}
|
|
292
295
|
<BodyClass
|
|
293
296
|
className={
|
|
@@ -305,7 +308,6 @@ class View extends Component {
|
|
|
305
308
|
history={this.props.history}
|
|
306
309
|
/>
|
|
307
310
|
<SlotRenderer name="belowContent" content={this.props.content} />
|
|
308
|
-
|
|
309
311
|
{this.props.content.allow_discussion && (
|
|
310
312
|
<Comments pathname={this.props.pathname} />
|
|
311
313
|
)}
|
|
@@ -41,7 +41,8 @@ $header-center-text-color: $primary-text !default;
|
|
|
41
41
|
$navigation-toggle-button-icon-color: $primary-text !default;
|
|
42
42
|
|
|
43
43
|
//footer
|
|
44
|
-
$footer-top-background
|
|
44
|
+
$footer-top-background: $primary-darker !default;
|
|
45
|
+
$footer-bottom-background: $footer-top-background !default;
|
|
45
46
|
$footer-main-text-color: $header-center-text-color !default;
|
|
46
47
|
|
|
47
48
|
//nav
|
|
@@ -71,6 +72,9 @@ $badge-font-size: 0.778rem !default; // 14px
|
|
|
71
72
|
//search
|
|
72
73
|
$highlight-search: #ff0;
|
|
73
74
|
|
|
75
|
+
//focus
|
|
76
|
+
$focus-outline-color: #000;
|
|
77
|
+
$focus-inner-color: #fff;
|
|
74
78
|
//$color-text-base: #2f475e !default;;
|
|
75
79
|
|
|
76
80
|
// ALERT-BLOCK CUSTOM COLORS
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
[tabindex='-1']:focus {
|
|
2
|
+
box-shadow: none !important;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
:focus:not(.focus--mouse),
|
|
6
|
+
%focus {
|
|
7
|
+
outline: 2px solid $focus-outline-color /*$outer-focus-outline*/ !important;
|
|
8
|
+
outline-offset: 2px;
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
box-shadow:
|
|
10
|
+
border: none !important;
|
|
11
|
+
box-shadow: 0 0 0 2px $focus-inner-color /*$inner-focus-shadow*/ !important;
|
|
11
12
|
}
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
.btn.btn-accent {
|
|
7
7
|
&,
|
|
8
8
|
&:hover,
|
|
9
|
-
&:active
|
|
9
|
+
&:active,
|
|
10
|
+
:focus {
|
|
10
11
|
svg {
|
|
11
12
|
fill: $accent-contrast-text;
|
|
12
13
|
}
|
|
@@ -14,7 +15,8 @@
|
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
a.btn.btn-accent {
|
|
17
|
-
&:focus-visible
|
|
18
|
+
&:focus-visible,
|
|
19
|
+
&:focus {
|
|
18
20
|
color: $accent;
|
|
19
21
|
}
|
|
20
22
|
|
|
@@ -7,7 +7,6 @@ $footer-borders: 1px solid hsla($primary-h, 70.59%, 20%);
|
|
|
7
7
|
.public-ui .it-footer-main,
|
|
8
8
|
.it-footer-small-prints,
|
|
9
9
|
.public-ui .it-footer-small-prints {
|
|
10
|
-
background-color: $footer-top-background-asl !important; //questo perchè su bootstrap-italia la variabile $footer-top-background non è definita come !default
|
|
11
10
|
&,
|
|
12
11
|
p,
|
|
13
12
|
ul {
|