io-sanita-theme 2.31.2 → 2.31.3

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 (171) hide show
  1. package/.eslintrc +10 -1
  2. package/.github/workflows/lint.yml +34 -0
  3. package/CHANGELOG.md +13 -0
  4. package/Makefile +8 -8
  5. package/RELEASE.md +6 -0
  6. package/locales/de/LC_MESSAGES/volto.po +0 -5
  7. package/locales/en/LC_MESSAGES/volto.po +0 -5
  8. package/locales/es/LC_MESSAGES/volto.po +0 -5
  9. package/locales/fr/LC_MESSAGES/volto.po +0 -5
  10. package/locales/it/LC_MESSAGES/volto.po +0 -5
  11. package/locales/volto.pot +1 -6
  12. package/package.json +22 -3
  13. package/razzle.extend.js +3 -3
  14. package/src/actions/getSearchBandiFilters.js +1 -1
  15. package/src/components/Blocks/Accordion/Schema.js +0 -3
  16. package/src/components/Blocks/Accordion/accordion_edit.scss +1 -1
  17. package/src/components/Blocks/Accordion/util.js +0 -1
  18. package/src/components/Blocks/Accordion/view.scss +2 -2
  19. package/src/components/Blocks/Alert/alert.scss +7 -7
  20. package/src/components/Blocks/CTA/ctaBlock.scss +6 -5
  21. package/src/components/Blocks/CTA/schema.js +0 -1
  22. package/src/components/Blocks/Contacts/contacts.scss +3 -4
  23. package/src/components/Blocks/Contacts/schema.js +1 -2
  24. package/src/components/Blocks/Hero/hero.scss +1 -1
  25. package/src/components/Blocks/Icons/icons.scss +1 -1
  26. package/src/components/Blocks/Icons/schema.js +1 -2
  27. package/src/components/Blocks/Listing/CardWithSlideUpText/cardWithSlideUpText.scss +2 -3
  28. package/src/components/Blocks/Listing/Carousel/carouselTemplate.scss +1 -1
  29. package/src/components/Blocks/Listing/CompleteBlockLinks/completeBlockLinksTemplate.scss +1 -1
  30. package/src/components/Blocks/Listing/Skeletons/AttachmentCardTemplateSkeleton.jsx +12 -12
  31. package/src/components/Blocks/Listing/Skeletons/HighlightedContentTemplateSkeleton.jsx +9 -1
  32. package/src/components/Blocks/Listing/Table/table-templates.scss +1 -1
  33. package/src/components/Blocks/Listing/schema.js +0 -14
  34. package/src/components/Blocks/SearchFarmacia/search-farmacia.scss +61 -61
  35. package/src/components/Blocks/SearchMap/schema.js +0 -1
  36. package/src/components/Blocks/SearchMap/search-map.scss +1 -1
  37. package/src/components/Cards/CardContatti/cardContatti.scss +2 -2
  38. package/src/components/Cards/CardFeatured/cardFeatured.scss +3 -3
  39. package/src/components/Cards/CardFile/CardFile.jsx +5 -1
  40. package/src/components/Cards/CardFile/cardFile.scss +1 -1
  41. package/src/components/Cards/CardGhost/cardGhost.scss +1 -1
  42. package/src/components/Cards/CardGuide/cardGuide.scss +2 -2
  43. package/src/components/Cards/CardTaxonomy/CardTaxonomy.jsx +3 -1
  44. package/src/components/Cards/common/CardCategoryBottom.jsx +7 -1
  45. package/src/components/EmbeddedVideo/_embeddedVideo.scss +52 -52
  46. package/src/components/OverlayLoading/overlayLoading.scss +3 -3
  47. package/src/components/Search/common/quickSearch.scss +1 -1
  48. package/src/components/Search/search.scss +3 -3
  49. package/src/components/Slider/buttonPlayPause.scss +1 -1
  50. package/src/components/View/ComeFarePer/ComeFarePerDescrizione.jsx +1 -3
  51. package/src/components/View/ComeFarePer/ComeFarePerDocumenti.jsx +5 -2
  52. package/src/components/View/ComeFarePer/Steps/helpers.js +3 -1
  53. package/src/components/View/ComeFarePer/Steps/steps.scss +12 -12
  54. package/src/components/View/Documento/DocumentoAutori.jsx +13 -13
  55. package/src/components/View/Documento/DocumentoCosE.jsx +2 -3
  56. package/src/components/View/Documento/DocumentoResponsabile.jsx +14 -14
  57. package/src/components/View/Documento/DocumentoServiziProcedure.jsx +8 -8
  58. package/src/components/View/Documento/index.js +28 -35
  59. package/src/components/View/Evento/EventoAppuntamenti.jsx +1 -1
  60. package/src/components/View/Evento/EventoCosE.jsx +1 -2
  61. package/src/components/View/Evento/EventoCosti.jsx +1 -3
  62. package/src/components/View/Evento/EventoOrganizzatoDa.jsx +1 -1
  63. package/src/components/View/Evento/EventoPartecipanti.jsx +1 -3
  64. package/src/components/View/Evento/index.js +91 -110
  65. package/src/components/View/Modulo/ModuloView.jsx +1 -1
  66. package/src/components/View/NewsItem/NewsItemACuraDi.jsx +0 -2
  67. package/src/components/View/NewsItem/NewsItemNotizieCorrelate.jsx +5 -2
  68. package/src/components/View/NewsItem/NewsItemPersone.jsx +0 -2
  69. package/src/components/View/NewsItem/NewsItemServiziEPrestazioni.jsx +5 -2
  70. package/src/components/View/NewsItem/NewsItemStrutture.jsx +4 -1
  71. package/src/components/View/NewsItem/NewsItemUlterioriInformazioni.jsx +2 -5
  72. package/src/components/View/Persona/PersonaContatti.jsx +27 -29
  73. package/src/components/View/Persona/PersonaGalleria.jsx +1 -1
  74. package/src/components/View/PuntoDiContatto/index.js +12 -15
  75. package/src/components/View/Servizio/ServizioCosE.jsx +2 -3
  76. package/src/components/View/Servizio/ServizioDove.jsx +5 -1
  77. package/src/components/View/Servizio/ServizioProcedureCollegate.jsx +2 -3
  78. package/src/components/View/Servizio/ServizioResponsabile.jsx +14 -14
  79. package/src/components/View/Servizio/ServizioServiziCorrelati.jsx +5 -2
  80. package/src/components/View/Servizio/ServizioUOResponsabile.jsx +18 -14
  81. package/src/components/View/Servizio/index.js +94 -113
  82. package/src/components/View/Struttura/StrutturaContatti.jsx +1 -1
  83. package/src/components/View/Struttura/StrutturaDateOrari.jsx +1 -5
  84. package/src/components/View/Struttura/StrutturaResponsabile.jsx +1 -1
  85. package/src/components/View/Struttura/index.js +89 -107
  86. package/src/components/View/UOView/UODateOrari.jsx +2 -6
  87. package/src/components/View/UOView/UODocumenti.jsx +30 -27
  88. package/src/components/View/UOView/UOPersonale.jsx +12 -12
  89. package/src/components/View/UOView/UOResponsabile.jsx +19 -16
  90. package/src/components/View/Widgets/ParliamoDiWidgetView.jsx +3 -1
  91. package/src/components/View/commons/Gallery/gallery.scss +1 -1
  92. package/src/components/View/commons/Metadata/metadata.scss +2 -2
  93. package/src/components/View/commons/PageHeader/PageHeaderDates.jsx +4 -4
  94. package/src/components/View/commons/PageHeader/PageHeaderNewsItem.jsx +5 -2
  95. package/src/components/View/commons/Placeholder.jsx +6 -2
  96. package/src/components/View/commons/RelatedItemInEvidence/ItemInEvidence.jsx +1 -1
  97. package/src/components/View/commons/SideMenu/_sideMenu.scss +1 -1
  98. package/src/components/View/commons/TassonomiaUtenti.jsx +3 -0
  99. package/src/components/View/commons/Topics.jsx +3 -1
  100. package/src/components/Widgets/SearchBar/_searchBar.scss +1 -1
  101. package/src/components/Widgets/SearchCheckbox/searchCheckbox.scss +2 -2
  102. package/src/components/Widgets/SearchFilters/SelectFilter.jsx +12 -3
  103. package/src/components/Widgets/SelectInput/select-styles.css +2 -2
  104. package/src/components/index.js +0 -1
  105. package/src/components/layout/Footer/SubsiteFooter/subsite-footer.scss +1 -1
  106. package/src/components/layout/Header/HeaderContacts/headerContacts.scss +7 -7
  107. package/src/components/manage/Widgets/IconWidget/iconWidget.scss +4 -4
  108. package/src/components/slick-carousel/slick/slick-theme.css +9 -10
  109. package/src/config/blocks/index.js +1 -5
  110. package/src/config/blocks/listing/ListingOptions/defaultOptions.js +1 -0
  111. package/src/config/blocks/listing/listingVariations.js +1 -2
  112. package/src/config/ioSanitaConfig.js +0 -3
  113. package/src/config/validators.ts +0 -1
  114. package/src/customizations/@plone/volto-slate/blocks/Table/TableBlockView.jsx +4 -4
  115. package/src/customizations/volto/components/manage/Blocks/Search/SearchBlockView.jsx +1 -1
  116. package/src/customizations/volto/components/manage/Blocks/Search/components/CheckboxFacet.jsx +2 -2
  117. package/src/customizations/volto/components/manage/Blocks/Search/layout/LeftColumnFacets.jsx +5 -4
  118. package/src/customizations/volto/components/manage/Blocks/Search/layout/RightColumnFacets.jsx +6 -5
  119. package/src/customizations/volto/components/manage/Blocks/Search/utils.js +0 -1
  120. package/src/customizations/volto/components/theme/Error/Error.jsx +2 -2
  121. package/src/customizations/volto/components/theme/Header/Header.jsx +5 -4
  122. package/src/customizations/volto/components/theme/Navigation/Navigation.jsx +3 -5
  123. package/src/customizations/volto/components/theme/SkipLinks/SkipLinks.jsx +1 -1
  124. package/src/customizations/volto/components/theme/View/FileView.jsx +3 -1
  125. package/src/helpers/Blocks/blocks_config.js +2 -2
  126. package/src/helpers/Blocks/focus.js +3 -1
  127. package/src/helpers/ClientPagination/clientPagination.js +3 -2
  128. package/src/helpers/FormValidation/FormValidation.js +62 -26
  129. package/src/helpers/aggregation.js +1 -4
  130. package/src/helpers/index.js +0 -2
  131. package/src/helpers/search.js +2 -2
  132. package/src/stories/Cards/mock.js +1 -1
  133. package/src/theme/_cms-ui.scss +50 -13
  134. package/src/theme/bootstrap-italia/custom/_badge.scss +3 -3
  135. package/src/theme/bootstrap-italia/custom/_callout.scss +14 -3
  136. package/src/theme/bootstrap-italia/custom/_card.scss +6 -6
  137. package/src/theme/bootstrap-italia/custom/_chips.scss +3 -3
  138. package/src/theme/bootstrap-italia/custom/_focus.scss +2 -3
  139. package/src/theme/bootstrap-italia/custom/_footer.scss +1 -1
  140. package/src/theme/bootstrap-italia/custom/_grid.scss +3 -3
  141. package/src/theme/bootstrap-italia/custom/_headercenter.scss +1 -1
  142. package/src/theme/bootstrap-italia/custom/_megamenu.scss +3 -3
  143. package/src/theme/bootstrap-italia/custom/_navscroll.scss +13 -13
  144. package/src/theme/cms-ui/_subblocks-edit.scss +8 -8
  145. package/src/theme/io-sanita/_chip.scss +2 -2
  146. package/src/theme/io-sanita/_home.scss +2 -2
  147. package/src/theme/io-sanita/_login.scss +37 -37
  148. package/src/theme/io-sanita/_main.scss +3 -3
  149. package/src/theme/io-sanita/_point-list.scss +3 -3
  150. package/src/theme/io-sanita/_tables.scss +10 -11
  151. package/src/theme/io-sanita/addons/_volto-data-grid-widget.scss +14 -15
  152. package/src/theme/io-sanita/addons/_volto-form-block.scss +2 -2
  153. package/src/theme/io-sanita/addons/_volto-gdpr-privacy.scss +1 -1
  154. package/src/theme/io-sanita/addons/_volto-venue.scss +1 -1
  155. package/src/theme/io-sanita/addons/_volto_repeatable-content-block.scss +44 -46
  156. package/src/theme/io-sanita/components/_mapPinDirections.scss +1 -1
  157. package/src/theme/io-sanita/components/_relatedItemInEvidence.scss +2 -2
  158. package/src/theme/io-sanita/components/blocks/_common.scss +1 -1
  159. package/src/theme/io-sanita/components/blocks/_search.scss +1 -1
  160. package/src/theme/io-sanita/components/blocks/_skeleton.scss +3 -3
  161. package/src/theme/io-sanita/components/blocks/_video.scss +1 -1
  162. package/src/theme/io-sanita/components/layout/_footer.scss +1 -1
  163. package/src/theme/io-sanita/components/layout/_mobileMenu.scss +1 -1
  164. package/src/theme/io-sanita/components/layout/_stickyHeader.scss +1 -1
  165. package/src/theme/io-sanita/components/layout/_tertiaryMenu.scss +1 -1
  166. package/src/theme/io-sanita/components/view/_personaview.scss +11 -6
  167. package/src/theme/io-sanita/components/view/commons/_pageHeader.scss +1 -1
  168. package/src/theme/io-sanita/print/_all_pages.scss +2 -2
  169. package/src/theme/io-sanita/subsites/bootstrap-italia/_brand-text.scss +9 -9
  170. package/src/theme/io-sanita/subsites/bootstrap-italia/custom/_header.scss +1 -1
  171. package/src/theme/io-sanita/subsites/io-sanita-theme/Views/_common.scss +2 -2
package/.eslintrc CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "extends": ["react-app", "prettier", "plugin:jsx-a11y/recommended"],
3
- "plugins": ["prettier", "react-hooks", "jsx-a11y"],
3
+ "plugins": ["prettier", "jsx-a11y"],
4
4
  "env": {
5
5
  "es6": true,
6
6
  "browser": true,
@@ -30,6 +30,15 @@
30
30
  "react/react-in-jsx-scope": "off",
31
31
  "jsx-a11y/label-has-associated-control": "off"
32
32
  },
33
+ "overrides": [
34
+ {
35
+ "files": ["**/*.ts", "**/*.tsx"],
36
+ "parser": "@typescript-eslint/parser",
37
+ "parserOptions": {
38
+ "sourceType": "module"
39
+ }
40
+ }
41
+ ],
33
42
  "globals": {
34
43
  "root": true,
35
44
  "__DEVELOPMENT__": true,
@@ -0,0 +1,34 @@
1
+ name: Lint
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ lint:
14
+ name: Lint
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+
19
+ - uses: actions/setup-node@v4
20
+ with:
21
+ node-version: "20"
22
+ cache: "yarn"
23
+
24
+ - name: Install dependencies
25
+ run: yarn install --frozen-lockfile
26
+
27
+ - name: ESLint
28
+ run: yarn lint .
29
+
30
+ - name: Prettier
31
+ run: yarn prettier
32
+
33
+ - name: Stylelint
34
+ run: yarn stylelint
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.31.3](https://github.com/RedTurtle/io-sanita-theme/compare/2.31.2...2.31.3) (2026-06-11)
4
+
5
+ ### Bug Fixes
6
+
7
+ * controllo validazione blocco testo risoltoi ([#150](https://github.com/RedTurtle/io-sanita-theme/issues/150)) ([8b63e2e](https://github.com/RedTurtle/io-sanita-theme/commit/8b63e2e34a0de6c0873169ff9dd806bd6ba088b2))
8
+ * table edit buttons position in text editor ([#147](https://github.com/RedTurtle/io-sanita-theme/issues/147)) ([5b32aff](https://github.com/RedTurtle/io-sanita-theme/commit/5b32aff0a843c4d601f1ae134558c8a96c7a8d6c))
9
+
10
+ ### Maintenance
11
+
12
+ * aggiunto linting ([#149](https://github.com/RedTurtle/io-sanita-theme/issues/149)) ([0a2e932](https://github.com/RedTurtle/io-sanita-theme/commit/0a2e93263d0b88016110db0ddf7df8377b98b6c0))
13
+ * locales ([04b9884](https://github.com/RedTurtle/io-sanita-theme/commit/04b9884dd65702be3a04aa908a502f34cb6f12c8))
14
+ * preparing release 2.31.3 ([a06ef20](https://github.com/RedTurtle/io-sanita-theme/commit/a06ef207c99ed39fb2c4c341438aa90c9cbf3afc))
15
+
3
16
  ## [2.31.2](https://github.com/RedTurtle/io-sanita-theme/compare/2.31.1...2.31.2) (2026-05-29)
4
17
 
5
18
  ### Bug Fixes
package/Makefile CHANGED
@@ -89,16 +89,16 @@ i18n: ## Sync i18n
89
89
  yarn i18n
90
90
 
91
91
  .PHONY: format
92
- format: ## Format codebase
93
- ${DEV_COMPOSE} run --rm addon-dev lint:fix
94
- ${DEV_COMPOSE} run --rm addon-dev prettier:fix
95
- ${DEV_COMPOSE} run --rm addon-dev stylelint:fix
92
+ format: ## Format codebase (auto-fix eslint, prettier, stylelint)
93
+ yarn lint:fix .
94
+ yarn prettier:fix
95
+ yarn stylelint:fix
96
96
 
97
97
  .PHONY: lint
98
- lint: ## Lint Codebase
99
- ${DEV_COMPOSE} run --rm addon-dev lint
100
- ${DEV_COMPOSE} run --rm addon-dev prettier
101
- ${DEV_COMPOSE} run --rm addon-dev stylelint --allow-empty-input
98
+ lint: ## Lint codebase (eslint, prettier, stylelint)
99
+ yarn lint .
100
+ yarn prettier
101
+ yarn stylelint
102
102
 
103
103
  .PHONY: test
104
104
  test: ## Run unit tests
package/RELEASE.md CHANGED
@@ -41,6 +41,12 @@
41
41
  - ...
42
42
  -->
43
43
 
44
+ ## Versione 2.31.3 (11/06/2026)
45
+
46
+ ### Fix
47
+
48
+ - Corretta la validazione dei campi a blocchi obbligatori: ora un campo contenente solo blocchi non testuali (es. Immagine, Video) viene riconosciuto come compilato. I blocchi che prevedono testo (Callout, Tabella, HTML) richiedono invece la presenza effettiva di testo: un blocco Callout vuoto non rende il campo compilato. I blocchi senza contenuto (es. Interruzione di pagina) non rendono il campo compilato.
49
+
44
50
  ## Versione 2.31.0 (28/05/2026)
45
51
 
46
52
  ### Novità
@@ -1021,11 +1021,6 @@ msgstr ""
1021
1021
  msgid "alert_willExpire"
1022
1022
  msgstr ""
1023
1023
 
1024
- #. Default: "Allinea il bottone a destra"
1025
- #: components/Blocks/Listing/schema
1026
- msgid "alignButton"
1027
- msgstr ""
1028
-
1029
1024
  #. Default: "Allinea le card al centro"
1030
1025
  #: components/Blocks/Icons/schema
1031
1026
  #: components/Blocks/Icons/Sidebar
@@ -1016,11 +1016,6 @@ msgstr ""
1016
1016
  msgid "alert_willExpire"
1017
1017
  msgstr ""
1018
1018
 
1019
- #. Default: "Allinea il bottone a destra"
1020
- #: components/Blocks/Listing/schema
1021
- msgid "alignButton"
1022
- msgstr ""
1023
-
1024
1019
  #. Default: "Allinea le card al centro"
1025
1020
  #: components/Blocks/Icons/schema
1026
1021
  #: components/Blocks/Icons/Sidebar
@@ -1023,11 +1023,6 @@ msgstr ""
1023
1023
  msgid "alert_willExpire"
1024
1024
  msgstr ""
1025
1025
 
1026
- #. Default: "Allinea il bottone a destra"
1027
- #: components/Blocks/Listing/schema
1028
- msgid "alignButton"
1029
- msgstr ""
1030
-
1031
1026
  #. Default: "Allinea le card al centro"
1032
1027
  #: components/Blocks/Icons/schema
1033
1028
  #: components/Blocks/Icons/Sidebar
@@ -1023,11 +1023,6 @@ msgstr ""
1023
1023
  msgid "alert_willExpire"
1024
1024
  msgstr ""
1025
1025
 
1026
- #. Default: "Allinea il bottone a destra"
1027
- #: components/Blocks/Listing/schema
1028
- msgid "alignButton"
1029
- msgstr ""
1030
-
1031
1026
  #. Default: "Allinea le card al centro"
1032
1027
  #: components/Blocks/Icons/schema
1033
1028
  #: components/Blocks/Icons/Sidebar
@@ -1016,11 +1016,6 @@ msgstr ""
1016
1016
  msgid "alert_willExpire"
1017
1017
  msgstr ""
1018
1018
 
1019
- #. Default: "Allinea il bottone a destra"
1020
- #: components/Blocks/Listing/schema
1021
- msgid "alignButton"
1022
- msgstr ""
1023
-
1024
1019
  #. Default: "Allinea le card al centro"
1025
1020
  #: components/Blocks/Icons/schema
1026
1021
  #: components/Blocks/Icons/Sidebar
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: 2026-05-27T13:14:14.832Z\n"
4
+ "POT-Creation-Date: 2026-06-11T07:39:40.656Z\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"
@@ -1018,11 +1018,6 @@ msgstr ""
1018
1018
  msgid "alert_willExpire"
1019
1019
  msgstr ""
1020
1020
 
1021
- #. Default: "Allinea il bottone a destra"
1022
- #: components/Blocks/Listing/schema
1023
- msgid "alignButton"
1024
- msgstr ""
1025
-
1026
1021
  #. Default: "Allinea le card al centro"
1027
1022
  #: components/Blocks/Icons/schema
1028
1023
  #: components/Blocks/Icons/Sidebar
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "io-sanita-theme",
3
- "version": "2.31.2",
3
+ "version": "2.31.3",
4
4
  "description": "io-sanita-theme: Volto add-on",
5
5
  "main": "src/index.js",
6
6
  "license": "MIT",
@@ -40,13 +40,31 @@
40
40
  "@eeacms/volto-taxonomy",
41
41
  "volto-repeatable-content-block"
42
42
  ],
43
+ "prettier": {
44
+ "trailingComma": "all",
45
+ "singleQuote": true,
46
+ "overrides": [
47
+ {
48
+ "files": "*.overrides",
49
+ "options": {
50
+ "parser": "less"
51
+ }
52
+ }
53
+ ]
54
+ },
43
55
  "scripts": {
44
56
  "i18n": "rm -rf build/messages && NODE_ENV=production i18n --addon",
45
57
  "dry-release": "release-it --dry-run",
46
58
  "release": "release-it",
47
59
  "release-major-alpha": "release-it major --preRelease=alpha",
48
60
  "release-alpha": "release-it --preRelease=alpha",
49
- "release-rc": "release-it --preRelease=rc"
61
+ "release-rc": "release-it --preRelease=rc",
62
+ "lint": "eslint",
63
+ "lint:fix": "eslint --fix",
64
+ "prettier": "prettier --check src",
65
+ "prettier:fix": "prettier --write src",
66
+ "stylelint": "stylelint --allow-empty-input 'src/**/*.{less,scss,css,overrides}'",
67
+ "stylelint:fix": "stylelint --fix --allow-empty-input 'src/**/*.{less,scss,css,overrides}'"
50
68
  },
51
69
  "devDependencies": {
52
70
  "@babel/core": "7.19.6",
@@ -70,7 +88,8 @@
70
88
  "stylelint": "15.10.3",
71
89
  "stylelint-config-idiomatic-order": "9.0.0",
72
90
  "stylelint-config-sass-guidelines": "10.0.0",
73
- "stylelint-prettier": "4.0.2"
91
+ "stylelint-prettier": "4.0.2",
92
+ "typescript": "5.3.3"
74
93
  },
75
94
  "peerDependencies": {
76
95
  "@plone/volto": "^18.0.0"
package/razzle.extend.js CHANGED
@@ -4,9 +4,9 @@
4
4
  */
5
5
 
6
6
  const makeLoaderFinder = require('razzle-dev-utils/makeLoaderFinder');
7
- const fileLoaderFinder = makeLoaderFinder('file-loader');
8
- const urlLoaderFinder = makeLoaderFinder('url-loader');
9
- const lessLoaderFinder = makeLoaderFinder('less-loader');
7
+ // const fileLoaderFinder = makeLoaderFinder('file-loader');
8
+ // const urlLoaderFinder = makeLoaderFinder('url-loader');
9
+ // const lessLoaderFinder = makeLoaderFinder('less-loader');
10
10
  const babelLoaderFinder = makeLoaderFinder('babel-loader');
11
11
 
12
12
  const plugins = (defaultPlugins) => {
@@ -1,5 +1,5 @@
1
- export const GET_SEARCH_BANDI_FILTERS = 'GET_SEARCH_BANDI_FILTERS';
2
1
  import { expandToBackendURL } from '@plone/volto/helpers/Url/Url';
2
+ export const GET_SEARCH_BANDI_FILTERS = 'GET_SEARCH_BANDI_FILTERS';
3
3
 
4
4
  /**
5
5
  * Get search bandi filters.
@@ -1,8 +1,5 @@
1
- import config from '@plone/volto/registry';
2
1
  import { defineMessages, createIntlCache, createIntl } from 'react-intl';
3
2
 
4
- import { addStyling } from '@plone/volto/helpers';
5
-
6
3
  const messages = defineMessages({
7
4
  panels: { id: 'Panels', defaultMessage: 'Pannelli' },
8
5
  panel: { id: 'Panel', defaultMessage: 'Pannello' },
@@ -5,8 +5,8 @@
5
5
  .ui.input {
6
6
  font-size: unset;
7
7
  > input {
8
- font-family: 'Titillium Web';
9
8
  color: var(--bs-primary);
9
+ font-family: 'Titillium Web';
10
10
  font-weight: 600;
11
11
  }
12
12
  &.fluid {
@@ -2,7 +2,6 @@ import { v4 as uuid } from 'uuid';
2
2
  import { map } from 'lodash';
3
3
 
4
4
  import { Icon as VoltoIcon } from '@plone/volto/components';
5
- import { Icon as SemanticIcon } from 'semantic-ui-react';
6
5
 
7
6
  import {
8
7
  getBlocksFieldname,
@@ -3,9 +3,9 @@ body.public-ui {
3
3
  .accordion-block {
4
4
  .search-bar-widget {
5
5
  label {
6
- visibility: hidden;
7
6
  height: 0;
8
7
  margin: 0 !important;
8
+ visibility: hidden;
9
9
  }
10
10
  }
11
11
  .public-ui {
@@ -18,8 +18,8 @@ body.public-ui {
18
18
  h4,
19
19
  h5,
20
20
  h6 {
21
- margin: 0 !important;
22
21
  width: 100%;
22
+ margin: 0 !important;
23
23
  color: var(--bs-primary);
24
24
  }
25
25
  .accordion-button {
@@ -116,27 +116,27 @@
116
116
 
117
117
  .manager-alert-info-dates {
118
118
  position: absolute;
119
- top: -1rem;
120
- background-color: #fff;
121
- padding: 0.25rem 3rem;
122
119
  //border-radius: 0.3rem;
123
120
  z-index: 1;
121
+ top: -1rem;
124
122
  left: 50%;
125
- transform: translateX(-50%);
123
+ padding: 0.25rem 3rem;
126
124
  border: 1px solid #9bd0e2;
125
+ background-color: #fff;
127
126
  font-size: 0.8rem;
127
+ transform: translateX(-50%);
128
128
  }
129
129
 
130
130
  &.expired {
131
131
  .full-width {
132
132
  &:after {
133
- content: '';
134
- width: 100%;
135
- height: 100%;
136
133
  position: absolute;
137
134
  top: 0;
138
135
  left: 0;
136
+ width: 100%;
137
+ height: 100%;
139
138
  background-color: #fff;
139
+ content: '';
140
140
  opacity: 0.85;
141
141
  }
142
142
  }
@@ -25,8 +25,8 @@
25
25
  h2,
26
26
  h3 {
27
27
  margin: 0 0 1.5rem;
28
- font-size: 2.25rem;
29
28
  color: currentColor;
29
+ font-size: 2.25rem;
30
30
  }
31
31
 
32
32
  p:last-of-type {
@@ -108,15 +108,16 @@
108
108
  }
109
109
 
110
110
  svg {
111
- height: unset !important;
111
+ z-index: 1;
112
112
  width: unset !important;
113
+ height: unset !important;
113
114
  fill: currentcolor;
114
- z-index: 1;
115
115
  }
116
116
  }
117
117
 
118
118
  @media (max-width: #{map-get($grid-breakpoints, xl)}) {
119
- .img-wrapper, picture {
119
+ .img-wrapper,
120
+ picture {
120
121
  display: none;
121
122
  }
122
123
  }
@@ -131,8 +132,8 @@
131
132
  color: var(--bs-primary-text);
132
133
  }
133
134
  a.btn-outline-info {
134
- color: var(--bs-primary-text);
135
135
  box-shadow: inset 0 0 0 1px var(--bs-primary-text);
136
+ color: var(--bs-primary-text);
136
137
  &:hover,
137
138
  &:focus {
138
139
  background: var(--bs-primary-text);
@@ -59,7 +59,6 @@ export function CTASchema({
59
59
  properties: {
60
60
  'bg:noprefix': {
61
61
  title: 'Colore di sfondo',
62
- default: 'none',
63
62
  widget: 'color_picker',
64
63
  default: 'bg-primary-dark',
65
64
  colors: [
@@ -31,11 +31,10 @@
31
31
  }
32
32
 
33
33
  .contact-title {
34
+ margin-bottom: 1rem;
34
35
  font-size: 1.35rem;
35
36
  font-weight: bold;
36
37
  line-height: 1.4em;
37
-
38
- margin-bottom: 1rem;
39
38
  }
40
39
 
41
40
  .contact-text {
@@ -58,10 +57,10 @@
58
57
  }
59
58
 
60
59
  .icon-wrapper {
61
- margin-top: 0.2rem;
62
- margin-right: 1rem;
63
60
  display: flex;
64
61
  align-items: center;
62
+ margin-top: 0.2rem;
63
+ margin-right: 1rem;
65
64
  }
66
65
 
67
66
  .tel {
@@ -32,7 +32,7 @@ export function ContactsSchema({
32
32
  }) {
33
33
  formData.bg_color =
34
34
  ['primary', 'secondary'].indexOf(formData.bg_color ?? '') >= 0
35
- ? formData.bg_color == 'primary'
35
+ ? formData.bg_color === 'primary'
36
36
  ? 'bg-primary-lightest'
37
37
  : 'bg-primary-dark'
38
38
  : formData.bg_color;
@@ -55,7 +55,6 @@ export function ContactsSchema({
55
55
  properties: {
56
56
  bg_color: {
57
57
  title: 'Colore di sfondo',
58
- default: 'none',
59
58
  widget: 'color_picker',
60
59
  default: 'bg-primary-lightest',
61
60
  colors: [
@@ -9,8 +9,8 @@
9
9
  }
10
10
 
11
11
  .block-inner-wrapper {
12
- align-items: stretch;
13
12
  z-index: 0;
13
+ align-items: stretch;
14
14
  }
15
15
 
16
16
  .hero-image {
@@ -132,11 +132,11 @@
132
132
  }
133
133
 
134
134
  .iconblock-title {
135
+ margin: 0;
135
136
  font-size: 1.5rem;
136
137
  font-weight: bold;
137
138
  line-height: 1.8rem;
138
139
  text-align: center;
139
- margin: 0;
140
140
  }
141
141
 
142
142
  .iconblock-text {
@@ -48,7 +48,7 @@ export function IconsSchema({
48
48
  }) {
49
49
  formData.bg_color =
50
50
  ['primary', 'secondary'].indexOf(formData.bg_color ?? '') >= 0
51
- ? formData.bg_color == 'primary'
51
+ ? formData.bg_color === 'primary'
52
52
  ? 'bg-primary-lightest'
53
53
  : 'bg-primary-dark'
54
54
  : formData.bg_color;
@@ -82,7 +82,6 @@ export function IconsSchema({
82
82
 
83
83
  bg_color: {
84
84
  title: 'Colore di sfondo',
85
- default: 'none',
86
85
  widget: 'color_picker',
87
86
  default: 'bg-primary-lightest',
88
87
  colors: [
@@ -57,11 +57,9 @@
57
57
  }
58
58
 
59
59
  .category-bottom {
60
- display: flex;
61
- gap: 0.5em;
62
-
63
60
  position: relative;
64
61
  z-index: 2;
62
+ display: flex;
65
63
  align-self: start;
66
64
  padding: 0.1rem 0.5rem;
67
65
  margin-bottom: 0.5rem;
@@ -69,6 +67,7 @@
69
67
  color: var(--bs-primary-text);
70
68
  font-size: 0.9rem;
71
69
  font-style: italic;
70
+ gap: 0.5em;
72
71
 
73
72
  &::after {
74
73
  position: absolute;
@@ -55,9 +55,9 @@ $slider-mobile-height: 300px;
55
55
  position: absolute;
56
56
  bottom: 0;
57
57
  width: 100%;
58
- background-color: rgba(255, 255, 255, 0.85);
59
58
 
60
59
  padding: 0.5em 1em;
60
+ background-color: rgba(255, 255, 255, 0.85);
61
61
  color: #000;
62
62
  font-size: 0.8em;
63
63
  text-align: center;
@@ -9,9 +9,9 @@
9
9
  border-bottom-width: 8px;
10
10
 
11
11
  h3.card-title.h5 {
12
+ color: var(--bs-link-color);
12
13
  font-size: 1rem !important;
13
14
  line-height: 1.44444rem;
14
- color: var(--bs-link-color);
15
15
 
16
16
  .external-link {
17
17
  flex-shrink: 0;
@@ -20,18 +20,18 @@ const AttachmentCardTemplateSkeleton = (props) => {
20
20
 
21
21
  <Row>
22
22
  {[0, 1, 2].map((i) => (
23
- <Col lg={4}>
24
- <Card
25
- className="align-items-top rounded shadow no-after"
26
- noWrapper
27
- teaser
28
- key={i}
29
- >
30
- <CardBody className="pb-5">
31
- <CardTitle tag="h3"> </CardTitle>
32
- </CardBody>
33
- </Card>
34
- </Col>
23
+ <Col lg={4}>
24
+ <Card
25
+ className="align-items-top rounded shadow no-after"
26
+ noWrapper
27
+ teaser
28
+ key={i}
29
+ >
30
+ <CardBody className="pb-5">
31
+ <CardTitle tag="h3"> </CardTitle>
32
+ </CardBody>
33
+ </Card>
34
+ </Col>
35
35
  ))}
36
36
  </Row>
37
37
  </div>
@@ -1,6 +1,14 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { Card, CardBody, CardTitle, CardText, Chip, Row, Col } from 'design-react-kit';
3
+ import {
4
+ Card,
5
+ CardBody,
6
+ CardTitle,
7
+ CardText,
8
+ Chip,
9
+ Row,
10
+ Col,
11
+ } from 'design-react-kit';
4
12
  import { ListingContainer } from 'io-sanita-theme/components/Blocks';
5
13
 
6
14
  import 'io-sanita-theme/components/Blocks/Listing/HighlightedContent/highlightedContentTemplate.scss';
@@ -26,8 +26,8 @@
26
26
  }
27
27
 
28
28
  ul.relations.widget {
29
- list-style-type: none;
30
29
  padding-left: 0;
30
+ list-style-type: none;
31
31
  li {
32
32
  a {
33
33
  .icon {
@@ -1,11 +1,8 @@
1
- import { defineMessages } from 'react-intl';
2
-
3
1
  import ListingBlockSchema from '@plone/volto/components/manage/Blocks/Listing/schema';
4
2
 
5
3
  import { addFieldsetAfter } from 'io-sanita-theme/config/blocks/listing/ListingOptions';
6
4
 
7
5
  export const schemaListing = (props) => {
8
- const intl = props.intl;
9
6
  const baseSchema = ListingBlockSchema(props);
10
7
 
11
8
  const defaultFieldset = baseSchema.fieldsets.find(
@@ -20,10 +17,6 @@ export const schemaListing = (props) => {
20
17
  );
21
18
  }
22
19
 
23
- const findFieldset = (fieldset) => {
24
- return fieldset.id === 'linkmore';
25
- };
26
-
27
20
  addFieldsetAfter(baseSchema, 'default', {
28
21
  id: 'criteria',
29
22
  title: 'Risultati',
@@ -40,10 +33,3 @@ export const schemaListing = (props) => {
40
33
 
41
34
  return baseSchema;
42
35
  };
43
-
44
- const messages = defineMessages({
45
- alignButton: {
46
- id: 'alignButton',
47
- defaultMessage: 'Allinea il bottone a destra',
48
- },
49
- });