@kitconcept/volto-light-theme 3.0.1 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/acceptance.yml +1 -1
- package/.github/workflows/deploy.yml +1 -1
- package/CHANGELOG.md +19 -0
- package/Makefile +2 -2
- package/README.md +27 -14
- package/locales/es/LC_MESSAGES/volto.po +340 -0
- package/locales/eu/LC_MESSAGES/volto.po +340 -0
- package/package.json +5 -2
- package/src/components/Atoms/Container/Container.jsx +4 -0
- package/src/components/Atoms/README.md +1 -0
- package/src/components/Blocks/EventMetadata/View.jsx +2 -1
- package/src/components/Blocks/Image/View.jsx +11 -5
- package/src/components/Breadcrumbs/Breadcrumbs.jsx +1 -1
- package/src/components/Footer/Footer.jsx +1 -1
- package/src/components/Header/Header.jsx +13 -13
- package/src/components/SearchWidget/SearchWidget.jsx +2 -0
- package/src/index.js +42 -51
- package/src/theme/{atoms/_container.scss → _container.scss} +1 -0
- package/src/theme/_header.scss +1 -1
- package/src/theme/_layout.scss +6 -0
- package/src/theme/blocks/_teaser.scss +1 -1
- package/src/theme/main.scss +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,25 @@
|
|
|
8
8
|
|
|
9
9
|
<!-- towncrier release notes start -->
|
|
10
10
|
|
|
11
|
+
## 3.1.0 (2024-03-08)
|
|
12
|
+
|
|
13
|
+
### Feature
|
|
14
|
+
|
|
15
|
+
- [Vertical Spacing] Reduce spacing between title and description in teaser block @iFlameing [#353](https://github.com/kitconcept/volto-light-theme/pull/353)
|
|
16
|
+
- Add eu and es translations @erral [#358](https://github.com/kitconcept/volto-light-theme/pull/358)
|
|
17
|
+
|
|
18
|
+
### Bugfix
|
|
19
|
+
|
|
20
|
+
- Fix header tabbing order @iRohitSingh [#251](https://github.com/kitconcept/volto-light-theme/pull/251)
|
|
21
|
+
- Fix show figcaption tag if ther is no caption @iRohitSingh [#350](https://github.com/kitconcept/volto-light-theme/pull/350)
|
|
22
|
+
- Safer pass by value instead of by reference when modifying internal `blockConfig` data @sneridagh [#361](https://github.com/kitconcept/volto-light-theme/pull/361)
|
|
23
|
+
|
|
24
|
+
### Internal
|
|
25
|
+
|
|
26
|
+
- @plone/components as dependency
|
|
27
|
+
Use the `Container` component from @plone/components instead of the local one.
|
|
28
|
+
The one in `src/components/Atoms/Container/Container.jsx` is deprecated and will be removed in the next major release. @sneridagh [#360](https://github.com/kitconcept/volto-light-theme/pull/360)
|
|
29
|
+
|
|
11
30
|
## 3.0.1 (2024-03-04)
|
|
12
31
|
|
|
13
32
|
### Bugfix
|
package/Makefile
CHANGED
package/README.md
CHANGED
|
@@ -9,32 +9,34 @@
|
|
|
9
9
|
|
|
10
10
|
## Vision
|
|
11
11
|
|
|
12
|
-
The Volto Light Theme
|
|
12
|
+
The main vision of the Volto Light Theme is to serve as a foundation for kitconcept's future projects, following the release of Plone 6.
|
|
13
13
|
|
|
14
|
-
It
|
|
14
|
+
It contains the feedback from the company's last years projects and the success stories in the UI/UX side.
|
|
15
15
|
|
|
16
|
-
It
|
|
16
|
+
It aims to be future proof, so it has to be aligned with the upcoming Volto vision in terms of theming strategy decided by the Plone community.
|
|
17
17
|
|
|
18
18
|

|
|
19
19
|
|
|
20
|
-
## Requirements
|
|
20
|
+
## Requirements and specs
|
|
21
21
|
|
|
22
22
|
### It should not use any SemanticUI component or styling
|
|
23
23
|
|
|
24
24
|
Volto will abandon SemanticUI as default design component system in the mid term, and we should be prepared for it.
|
|
25
25
|
|
|
26
|
-
We will achieve that not using any SemanticUI component, nor any related styling (`.ui.XXX`) in our upcoming themes.
|
|
26
|
+
We will achieve that by not using any SemanticUI component, nor any related styling (`.ui.XXX`) in our upcoming themes.
|
|
27
27
|
|
|
28
28
|
The Volto strategy is:
|
|
29
29
|
|
|
30
|
-
-
|
|
31
|
-
- These components will be based in a headless component system
|
|
32
|
-
-
|
|
33
|
-
- The CMSUI will be isolated from the theming because it will be extremely CSS specific, so leaks from theming-CMSUI won't happen.
|
|
30
|
+
- Provide a very basic and structural Vanilla components to build upon theming and CMSUI as well (`@plone/components`)
|
|
31
|
+
- These components will be based in a headless component system [React Aria Components](https://react-spectrum.adobe.com/react-aria/components.html)
|
|
32
|
+
- Volto projects can be themed using `@plone/components` as baseline or use a complete different design or component system of the developer/integrator choice. The presence of Volto's component registry system could help for adapting, if required.
|
|
34
33
|
|
|
35
34
|
#### Volto components `customizations` use case
|
|
36
35
|
|
|
37
|
-
If possible, we will switch to SemanticUI-less components
|
|
36
|
+
If possible, we will switch to SemanticUI-less components when `@plone/components` is ready.
|
|
37
|
+
Specially if the elements that we are customizing are clearly "theme" (eg. header/footer, etc).
|
|
38
|
+
In the case of other Volto customizations that are not clear part of the theme (eg. Search block), it's fine to stick using what the original is using (SemanticUI).
|
|
39
|
+
When Volto will make the switch in the future, we should then adapt all the customizations to match the one in the Volto core.
|
|
38
40
|
The approach used is to use a proxy to a component of the `components` folder. This way it's easier to keep track of changes, and another add-on can customize again the light theme component, not the original Volto customization.
|
|
39
41
|
|
|
40
42
|
### It should use kitconcept's layout used in FZJ/DLR projects
|
|
@@ -55,9 +57,9 @@ Since the new container queries spec is out, we will be introducing it to the cu
|
|
|
55
57
|
|
|
56
58
|
We will start organising the files in the root of `theme` folder, to differentiate from a normal "SemanticUI" theme. Take a look at the current state. We will follow this convention:
|
|
57
59
|
|
|
58
|
-
- One
|
|
59
|
-
-
|
|
60
|
-
-
|
|
60
|
+
- One file per component/block
|
|
61
|
+
- Use the Volto theme facility using the SCSS scape hatch provided so other add-ons can hook to it.
|
|
62
|
+
- The styling is centralized in `main.scss`, the rest of the files are loaded from there.
|
|
61
63
|
|
|
62
64
|
## Why a headless component system?
|
|
63
65
|
|
|
@@ -69,6 +71,8 @@ This theme has the concept of block "grouping" given two consecutive blocks with
|
|
|
69
71
|
|
|
70
72
|
The wrappers have the classnames `blocks-group-wrapper` and the name of the background color, eg. `grey`, defaulting to `transparent` if no `backgroundColor` property is set in the styling block wrapper in the block.
|
|
71
73
|
|
|
74
|
+
**Disclaimer**: This might change in the near future, since we are developing a new integral Block Model for VLT and Volto.
|
|
75
|
+
|
|
72
76
|
### Vertical spacing rules
|
|
73
77
|
|
|
74
78
|
These main rules spec applies to the theme:
|
|
@@ -93,7 +97,7 @@ We use container queries when do care explicitly about how the styling is being
|
|
|
93
97
|
|
|
94
98
|
Reason: The container queries allow us to abstract the width from the sidebar and toolbar in edit mode, showing the content area as it will be in that size, in view mode.
|
|
95
99
|
|
|
96
|
-
Remember
|
|
100
|
+
**Remember**: The margins in responsive are being taken care with container queries in `layout.scss`. So everything related to that, goes like it works in there, with container queries. See implementations for details in case you need it.
|
|
97
101
|
|
|
98
102
|
## Specification
|
|
99
103
|
|
|
@@ -214,6 +218,15 @@ We have totally different header for intranet sites. If you want that, you can e
|
|
|
214
218
|
```js
|
|
215
219
|
config.settings.intranetHeader = true;
|
|
216
220
|
```
|
|
221
|
+
## Releases
|
|
222
|
+
|
|
223
|
+
The releases follow a semantic versioning model.
|
|
224
|
+
|
|
225
|
+
### Definition of breaking change
|
|
226
|
+
|
|
227
|
+
In general, the same rules as Volto releases applies.
|
|
228
|
+
However, in VLT we add an extra exception: The vertical spacing is carefully curated and considered an important feature of the theme and because of that, changes and improvements in the vertical spacing are **NOT** considered breaking changes.
|
|
229
|
+
They will be noted properly in the changelog.
|
|
217
230
|
|
|
218
231
|
## Upgrade Guide
|
|
219
232
|
|
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
msgid ""
|
|
2
|
+
msgstr ""
|
|
3
|
+
"Project-Id-Version: Plone\n"
|
|
4
|
+
"POT-Creation-Date: 2024-02-08T13:36:14.317Z\n"
|
|
5
|
+
"PO-Revision-Date: \n"
|
|
6
|
+
"Last-Translator: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
|
|
7
|
+
"Language-Team: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
|
|
8
|
+
"Language: es\n"
|
|
9
|
+
"MIME-Version: 1.0\n"
|
|
10
|
+
"Content-Type: text/plain; charset=utf-8\n"
|
|
11
|
+
"Content-Transfer-Encoding: 8bit\n"
|
|
12
|
+
"Plural-Forms: nplurals=1; plural=0;\n"
|
|
13
|
+
"Language-Code: en\n"
|
|
14
|
+
"Language-Name: English\n"
|
|
15
|
+
"Preferred-Encodings: utf-8\n"
|
|
16
|
+
"Domain: volto\n"
|
|
17
|
+
"X-Generator: Poedit 3.0.1\n"
|
|
18
|
+
|
|
19
|
+
#. Default: "Back"
|
|
20
|
+
#: components/MobileNavigation/MobileNavigation
|
|
21
|
+
msgid "Back"
|
|
22
|
+
msgstr "Atrás"
|
|
23
|
+
|
|
24
|
+
#. Default: "Background color"
|
|
25
|
+
#: components/Blocks/schema
|
|
26
|
+
msgid "Background color"
|
|
27
|
+
msgstr "Color de fondo"
|
|
28
|
+
|
|
29
|
+
#. Default: "Block Width"
|
|
30
|
+
#: components/Blocks/Button/schema
|
|
31
|
+
msgid "Block Width"
|
|
32
|
+
msgstr "Anchura del bloque"
|
|
33
|
+
|
|
34
|
+
#. Default: "Breadcrumbs"
|
|
35
|
+
#: components/Breadcrumbs/Breadcrumbs
|
|
36
|
+
msgid "Breadcrumbs"
|
|
37
|
+
msgstr "Rastro de migas"
|
|
38
|
+
|
|
39
|
+
#. Default: "Browse the site, drop an image, or type an URL"
|
|
40
|
+
#: components/Blocks/Image/Edit
|
|
41
|
+
msgid "Browse the site, drop an image, or type an URL"
|
|
42
|
+
msgstr "Busque en el sitio, arrastra una imagen o escriba una URL"
|
|
43
|
+
|
|
44
|
+
#. Default: "Button text"
|
|
45
|
+
#: components/Blocks/Slider/schema
|
|
46
|
+
msgid "Button text"
|
|
47
|
+
msgstr "Texto del botón"
|
|
48
|
+
|
|
49
|
+
#. Default: "Center"
|
|
50
|
+
#: components/Widgets/AlignWidget
|
|
51
|
+
msgid "Center"
|
|
52
|
+
msgstr "Centrar"
|
|
53
|
+
|
|
54
|
+
#. Default: "Close menu"
|
|
55
|
+
#: components/MobileNavigation/MobileNavigation
|
|
56
|
+
#: components/Navigation/Navigation
|
|
57
|
+
msgid "Close menu"
|
|
58
|
+
msgstr "Cerrar menú"
|
|
59
|
+
|
|
60
|
+
#. Default: "Contact"
|
|
61
|
+
#: components/Theme/EventView
|
|
62
|
+
msgid "Contact"
|
|
63
|
+
msgstr "Contacto"
|
|
64
|
+
|
|
65
|
+
#. Default: "Continue reading"
|
|
66
|
+
#: components/Blocks/Slider/DefaultBody
|
|
67
|
+
msgid "Continue reading"
|
|
68
|
+
msgstr "Seguir leyendo"
|
|
69
|
+
|
|
70
|
+
#. Default: "Copyright"
|
|
71
|
+
#: components/Footer/Footer
|
|
72
|
+
msgid "Copyright"
|
|
73
|
+
msgstr "Copyright"
|
|
74
|
+
|
|
75
|
+
#. Default: "Description"
|
|
76
|
+
#: components/Blocks/Image/schema
|
|
77
|
+
msgid "Description"
|
|
78
|
+
msgstr "Descripción"
|
|
79
|
+
|
|
80
|
+
#. Default: "Distributed under the {license}."
|
|
81
|
+
#: components/Footer/Footer
|
|
82
|
+
msgid "Distributed under the {license}."
|
|
83
|
+
msgstr "Distribuido bajo {license}"
|
|
84
|
+
|
|
85
|
+
#. Default: "End"
|
|
86
|
+
#: components/Theme/EventView
|
|
87
|
+
msgid "End"
|
|
88
|
+
msgstr "Fin"
|
|
89
|
+
|
|
90
|
+
#. Default: "Flag align"
|
|
91
|
+
#: components/Blocks/Slider/schema
|
|
92
|
+
msgid "Flag align"
|
|
93
|
+
msgstr "Alinear"
|
|
94
|
+
|
|
95
|
+
#. Default: "Full"
|
|
96
|
+
#: components/Widgets/AlignWidget
|
|
97
|
+
msgid "Full"
|
|
98
|
+
msgstr "Completo"
|
|
99
|
+
|
|
100
|
+
#. Default: "GNU GPL license"
|
|
101
|
+
#: components/Footer/Footer
|
|
102
|
+
msgid "GNU GPL license"
|
|
103
|
+
msgstr "Licencia GNU GPL"
|
|
104
|
+
|
|
105
|
+
#. Default: "Hide Button"
|
|
106
|
+
#: components/Blocks/Slider/schema
|
|
107
|
+
msgid "Hide Button"
|
|
108
|
+
msgstr "Esconder botón"
|
|
109
|
+
|
|
110
|
+
#. Default: "Home"
|
|
111
|
+
#: components/Breadcrumbs/Breadcrumbs
|
|
112
|
+
#: components/MobileNavigation/MobileNavigation
|
|
113
|
+
msgid "Home"
|
|
114
|
+
msgstr "Inicio"
|
|
115
|
+
|
|
116
|
+
#. Default: "ICS Download"
|
|
117
|
+
#: components/Theme/EventView
|
|
118
|
+
msgid "ICS-Download"
|
|
119
|
+
msgstr "Descargar archivo ICS"
|
|
120
|
+
|
|
121
|
+
#. Default: "Image"
|
|
122
|
+
#: components/Blocks/Image/ImageSidebar
|
|
123
|
+
msgid "Image"
|
|
124
|
+
msgstr "Imagen"
|
|
125
|
+
|
|
126
|
+
#. Default: "Left"
|
|
127
|
+
#: components/Widgets/AlignWidget
|
|
128
|
+
msgid "Left"
|
|
129
|
+
msgstr "Izquierda"
|
|
130
|
+
|
|
131
|
+
#. Default: "Location"
|
|
132
|
+
#: components/Theme/EventView
|
|
133
|
+
msgid "Location"
|
|
134
|
+
msgstr "Ubicación"
|
|
135
|
+
|
|
136
|
+
#. Default: "Log in"
|
|
137
|
+
#: components/Anontools/Anontools
|
|
138
|
+
msgid "Log in"
|
|
139
|
+
msgstr "Entrar"
|
|
140
|
+
|
|
141
|
+
#. Default: "Next Page"
|
|
142
|
+
#: components/Blocks/Listing/ListingBody
|
|
143
|
+
msgid "Next Page"
|
|
144
|
+
msgstr "Página siguiente"
|
|
145
|
+
|
|
146
|
+
#. Default: "No date"
|
|
147
|
+
#: components/Theme/EventView
|
|
148
|
+
msgid "No date"
|
|
149
|
+
msgstr "No hay fecha"
|
|
150
|
+
|
|
151
|
+
#. Default: "No image selected"
|
|
152
|
+
#: components/Blocks/Image/ImageSidebar
|
|
153
|
+
msgid "No image selected"
|
|
154
|
+
msgstr "No se ha seleccionado imagen"
|
|
155
|
+
|
|
156
|
+
#. Default: "No items found in this container."
|
|
157
|
+
#: components/Blocks/Listing/ListingBody
|
|
158
|
+
msgid "No items found in this container."
|
|
159
|
+
msgstr "No se han encontrado elementos"
|
|
160
|
+
|
|
161
|
+
#. Default: "Open menu"
|
|
162
|
+
#: components/MobileNavigation/MobileNavigation
|
|
163
|
+
#: components/Navigation/Navigation
|
|
164
|
+
msgid "Open menu"
|
|
165
|
+
msgstr "Abrir menú"
|
|
166
|
+
|
|
167
|
+
#. Default: "Overview"
|
|
168
|
+
#: components/MobileNavigation/MobileNavigation
|
|
169
|
+
msgid "Overview"
|
|
170
|
+
msgstr "Resumen"
|
|
171
|
+
|
|
172
|
+
#. Default: "Phone"
|
|
173
|
+
#: components/Theme/EventView
|
|
174
|
+
msgid "Phone"
|
|
175
|
+
msgstr "Teléfono"
|
|
176
|
+
|
|
177
|
+
#. Default: "Please choose an existing content as source for this element"
|
|
178
|
+
#: components/Blocks/Slider/DefaultBody
|
|
179
|
+
msgid "Please choose an existing content as source for this element"
|
|
180
|
+
msgstr "Elija un contenido para utilizarlo como fuente de datos para este elemento"
|
|
181
|
+
|
|
182
|
+
#. Default: "Plone Foundation"
|
|
183
|
+
#: components/Footer/Footer
|
|
184
|
+
msgid "Plone Foundation"
|
|
185
|
+
msgstr "Fundación Plone"
|
|
186
|
+
|
|
187
|
+
#. Default: "Plone Site"
|
|
188
|
+
#: components/Logo/Logo
|
|
189
|
+
msgid "Plone Site"
|
|
190
|
+
msgstr "Sitio Plone"
|
|
191
|
+
|
|
192
|
+
#. Default: "Plone{reg} Open Source CMS/WCM"
|
|
193
|
+
#: components/Footer/Footer
|
|
194
|
+
msgid "Plone{reg} Open Source CMS/WCM"
|
|
195
|
+
msgstr "Plone{reg} Gestor de Contenido de Código Abierto"
|
|
196
|
+
|
|
197
|
+
#. Default: "Powered by Plone & Python"
|
|
198
|
+
#: components/Footer/Footer
|
|
199
|
+
msgid "Powered by Plone & Python"
|
|
200
|
+
msgstr "Hecho con Plone & Python"
|
|
201
|
+
|
|
202
|
+
#. Default: "Press"
|
|
203
|
+
#: index
|
|
204
|
+
msgid "Press"
|
|
205
|
+
msgstr "Pulsar"
|
|
206
|
+
|
|
207
|
+
#. Default: "Previous Page"
|
|
208
|
+
#: components/Blocks/Listing/ListingBody
|
|
209
|
+
msgid "Previous Page"
|
|
210
|
+
msgstr "Página anterior"
|
|
211
|
+
|
|
212
|
+
#. Default: "Register"
|
|
213
|
+
#: components/Anontools/Anontools
|
|
214
|
+
msgid "Register"
|
|
215
|
+
msgstr "Registrar usuario"
|
|
216
|
+
|
|
217
|
+
#. Default: "Result"
|
|
218
|
+
#: components/Blocks/Listing/ListingBody
|
|
219
|
+
msgid "Result"
|
|
220
|
+
msgstr "Resultado"
|
|
221
|
+
|
|
222
|
+
#. Default: "Right"
|
|
223
|
+
#: components/Widgets/AlignWidget
|
|
224
|
+
msgid "Right"
|
|
225
|
+
msgstr "Derecha"
|
|
226
|
+
|
|
227
|
+
#. Default: "Search"
|
|
228
|
+
#: components/Blocks/Search/components/SearchInput
|
|
229
|
+
#: components/Blocks/Search/TopSideFacets
|
|
230
|
+
#: components/MobileNavigation/MobileNavigation
|
|
231
|
+
#: components/SearchWidget/IntranetSearchWidget
|
|
232
|
+
#: components/SearchWidget/SearchWidget
|
|
233
|
+
msgid "Search"
|
|
234
|
+
msgstr "Buscar"
|
|
235
|
+
|
|
236
|
+
#. Default: "Search Site"
|
|
237
|
+
#: components/SearchWidget/IntranetSearchWidget
|
|
238
|
+
#: components/SearchWidget/SearchWidget
|
|
239
|
+
msgid "Search Site"
|
|
240
|
+
msgstr "Buscar en el Sitio"
|
|
241
|
+
|
|
242
|
+
#. Default: "Search for People, E-Mail Address, Phone Number, ..."
|
|
243
|
+
#: components/SearchWidget/IntranetSearchWidget
|
|
244
|
+
msgid "Search for People, E-Mail Address, Phone Number, ..."
|
|
245
|
+
msgstr "Busca personas, dirección de correo electrónico, teléfonos, ..."
|
|
246
|
+
|
|
247
|
+
#. Default: "Search results"
|
|
248
|
+
#: components/Blocks/Search/components/SearchDetails
|
|
249
|
+
msgid "Search results"
|
|
250
|
+
msgstr "Resultados de búsqueda"
|
|
251
|
+
|
|
252
|
+
#. Default: "Searched for"
|
|
253
|
+
#: components/Blocks/Search/components/SearchDetails
|
|
254
|
+
msgid "Searched for"
|
|
255
|
+
msgstr "Ha buscado"
|
|
256
|
+
|
|
257
|
+
#. Default: "Site"
|
|
258
|
+
#: components/Logo/Logo
|
|
259
|
+
msgid "Site"
|
|
260
|
+
msgstr "Sitio"
|
|
261
|
+
|
|
262
|
+
#. Default: "Sitemap"
|
|
263
|
+
#: index
|
|
264
|
+
msgid "Sitemap"
|
|
265
|
+
msgstr "Mapa del sitio"
|
|
266
|
+
|
|
267
|
+
#. Default: "Sorting"
|
|
268
|
+
#: components/Blocks/Search/TopSideFacets
|
|
269
|
+
msgid "Sorting"
|
|
270
|
+
msgstr "Ordenación"
|
|
271
|
+
|
|
272
|
+
#. Default: "Source"
|
|
273
|
+
#: components/Blocks/Slider/DefaultBody
|
|
274
|
+
msgid "Source"
|
|
275
|
+
msgstr "Origen"
|
|
276
|
+
|
|
277
|
+
#. Default: "Start"
|
|
278
|
+
#: components/Theme/EventView
|
|
279
|
+
msgid "Start"
|
|
280
|
+
msgstr "Inicio"
|
|
281
|
+
|
|
282
|
+
#. Default: "Switch to"
|
|
283
|
+
#: components/LanguageSelector/LanguageSelector
|
|
284
|
+
msgid "Switch to"
|
|
285
|
+
msgstr "Cambiar a"
|
|
286
|
+
|
|
287
|
+
#. Default: "The {plonecms} is {copyright} 2000-{current_year} by the {plonefoundation} and friends."
|
|
288
|
+
#: components/Footer/Footer
|
|
289
|
+
msgid "The {plonecms} is {copyright} 2000-{current_year} by the {plonefoundation} and friends."
|
|
290
|
+
msgstr "{plonecms} es {copyright} 2000-{current_year} de la {plonefoundation} y amigos."
|
|
291
|
+
|
|
292
|
+
#. Default: "Title"
|
|
293
|
+
#: components/Blocks/Image/schema
|
|
294
|
+
msgid "Title"
|
|
295
|
+
msgstr "Título"
|
|
296
|
+
|
|
297
|
+
#. Default: "Uploading image"
|
|
298
|
+
#: components/Blocks/Image/Edit
|
|
299
|
+
msgid "Uploading image"
|
|
300
|
+
msgstr "Cargando imagen"
|
|
301
|
+
|
|
302
|
+
#. Default: "Website"
|
|
303
|
+
#: components/Theme/EventView
|
|
304
|
+
msgid "Website"
|
|
305
|
+
msgstr "Sitio web"
|
|
306
|
+
|
|
307
|
+
#. Default: "Wide"
|
|
308
|
+
#: components/Widgets/AlignWidget
|
|
309
|
+
msgid "Wide"
|
|
310
|
+
msgstr "Ancho"
|
|
311
|
+
|
|
312
|
+
#. Default: "Clear image"
|
|
313
|
+
#: components/Blocks/Image/ImageSidebar
|
|
314
|
+
msgid "image_block_clear"
|
|
315
|
+
msgstr "Limpiar imagen"
|
|
316
|
+
|
|
317
|
+
#. Default: "Image preview"
|
|
318
|
+
#: components/Blocks/Image/ImageSidebar
|
|
319
|
+
msgid "image_block_preview"
|
|
320
|
+
msgstr "Previsualización de la imagen"
|
|
321
|
+
|
|
322
|
+
#. Default: "Loading"
|
|
323
|
+
#: components/Blocks/Listing/ListingBody
|
|
324
|
+
msgid "loading"
|
|
325
|
+
msgstr "Cargando"
|
|
326
|
+
|
|
327
|
+
#. Default: "More info"
|
|
328
|
+
#: components/Blocks/Slider/DefaultBody
|
|
329
|
+
msgid "moreInfo"
|
|
330
|
+
msgstr "Más información"
|
|
331
|
+
|
|
332
|
+
#. Default: "of"
|
|
333
|
+
#: components/Blocks/Listing/ListingBody
|
|
334
|
+
msgid "of"
|
|
335
|
+
msgstr "de"
|
|
336
|
+
|
|
337
|
+
#. Default: ""
|
|
338
|
+
#: components/Header/Header
|
|
339
|
+
msgid "siteLabel"
|
|
340
|
+
msgstr " "
|
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
msgid ""
|
|
2
|
+
msgstr ""
|
|
3
|
+
"Project-Id-Version: Plone\n"
|
|
4
|
+
"POT-Creation-Date: 2024-02-08T13:36:14.317Z\n"
|
|
5
|
+
"PO-Revision-Date: \n"
|
|
6
|
+
"Last-Translator: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
|
|
7
|
+
"Language-Team: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
|
|
8
|
+
"Language: eu\n"
|
|
9
|
+
"MIME-Version: 1.0\n"
|
|
10
|
+
"Content-Type: text/plain; charset=utf-8\n"
|
|
11
|
+
"Content-Transfer-Encoding: 8bit\n"
|
|
12
|
+
"Plural-Forms: nplurals=1; plural=0;\n"
|
|
13
|
+
"Language-Code: en\n"
|
|
14
|
+
"Language-Name: English\n"
|
|
15
|
+
"Preferred-Encodings: utf-8\n"
|
|
16
|
+
"Domain: volto\n"
|
|
17
|
+
"X-Generator: Poedit 3.0.1\n"
|
|
18
|
+
|
|
19
|
+
#. Default: "Back"
|
|
20
|
+
#: components/MobileNavigation/MobileNavigation
|
|
21
|
+
msgid "Back"
|
|
22
|
+
msgstr "Atzera"
|
|
23
|
+
|
|
24
|
+
#. Default: "Background color"
|
|
25
|
+
#: components/Blocks/schema
|
|
26
|
+
msgid "Background color"
|
|
27
|
+
msgstr "Atzeko planoaren kolorea"
|
|
28
|
+
|
|
29
|
+
#. Default: "Block Width"
|
|
30
|
+
#: components/Blocks/Button/schema
|
|
31
|
+
msgid "Block Width"
|
|
32
|
+
msgstr "Blokearen zabalera"
|
|
33
|
+
|
|
34
|
+
#. Default: "Breadcrumbs"
|
|
35
|
+
#: components/Breadcrumbs/Breadcrumbs
|
|
36
|
+
msgid "Breadcrumbs"
|
|
37
|
+
msgstr "Breadcrumbak"
|
|
38
|
+
|
|
39
|
+
#. Default: "Browse the site, drop an image, or type an URL"
|
|
40
|
+
#: components/Blocks/Image/Edit
|
|
41
|
+
msgid "Browse the site, drop an image, or type an URL"
|
|
42
|
+
msgstr "Bilatu atarian, arrastatu irudia edo idatzi URL bat"
|
|
43
|
+
|
|
44
|
+
#. Default: "Button text"
|
|
45
|
+
#: components/Blocks/Slider/schema
|
|
46
|
+
msgid "Button text"
|
|
47
|
+
msgstr "Botoiaren testua"
|
|
48
|
+
|
|
49
|
+
#. Default: "Center"
|
|
50
|
+
#: components/Widgets/AlignWidget
|
|
51
|
+
msgid "Center"
|
|
52
|
+
msgstr "Erdiratu"
|
|
53
|
+
|
|
54
|
+
#. Default: "Close menu"
|
|
55
|
+
#: components/MobileNavigation/MobileNavigation
|
|
56
|
+
#: components/Navigation/Navigation
|
|
57
|
+
msgid "Close menu"
|
|
58
|
+
msgstr "Itxi menua"
|
|
59
|
+
|
|
60
|
+
#. Default: "Contact"
|
|
61
|
+
#: components/Theme/EventView
|
|
62
|
+
msgid "Contact"
|
|
63
|
+
msgstr "Kontaktua"
|
|
64
|
+
|
|
65
|
+
#. Default: "Continue reading"
|
|
66
|
+
#: components/Blocks/Slider/DefaultBody
|
|
67
|
+
msgid "Continue reading"
|
|
68
|
+
msgstr "Jarraitu irakurtzen"
|
|
69
|
+
|
|
70
|
+
#. Default: "Copyright"
|
|
71
|
+
#: components/Footer/Footer
|
|
72
|
+
msgid "Copyright"
|
|
73
|
+
msgstr "Copyright"
|
|
74
|
+
|
|
75
|
+
#. Default: "Description"
|
|
76
|
+
#: components/Blocks/Image/schema
|
|
77
|
+
msgid "Description"
|
|
78
|
+
msgstr "Deskribapena"
|
|
79
|
+
|
|
80
|
+
#. Default: "Distributed under the {license}."
|
|
81
|
+
#: components/Footer/Footer
|
|
82
|
+
msgid "Distributed under the {license}."
|
|
83
|
+
msgstr "{lizentzia} lizentziapean banatua."
|
|
84
|
+
|
|
85
|
+
#. Default: "End"
|
|
86
|
+
#: components/Theme/EventView
|
|
87
|
+
msgid "End"
|
|
88
|
+
msgstr "Amaiera"
|
|
89
|
+
|
|
90
|
+
#. Default: "Flag align"
|
|
91
|
+
#: components/Blocks/Slider/schema
|
|
92
|
+
msgid "Flag align"
|
|
93
|
+
msgstr "Alineazioa"
|
|
94
|
+
|
|
95
|
+
#. Default: "Full"
|
|
96
|
+
#: components/Widgets/AlignWidget
|
|
97
|
+
msgid "Full"
|
|
98
|
+
msgstr "Osoa"
|
|
99
|
+
|
|
100
|
+
#. Default: "GNU GPL license"
|
|
101
|
+
#: components/Footer/Footer
|
|
102
|
+
msgid "GNU GPL license"
|
|
103
|
+
msgstr "GNU GPL"
|
|
104
|
+
|
|
105
|
+
#. Default: "Hide Button"
|
|
106
|
+
#: components/Blocks/Slider/schema
|
|
107
|
+
msgid "Hide Button"
|
|
108
|
+
msgstr "Ezkutatu botoia"
|
|
109
|
+
|
|
110
|
+
#. Default: "Home"
|
|
111
|
+
#: components/Breadcrumbs/Breadcrumbs
|
|
112
|
+
#: components/MobileNavigation/MobileNavigation
|
|
113
|
+
msgid "Home"
|
|
114
|
+
msgstr "Hasiera"
|
|
115
|
+
|
|
116
|
+
#. Default: "ICS Download"
|
|
117
|
+
#: components/Theme/EventView
|
|
118
|
+
msgid "ICS-Download"
|
|
119
|
+
msgstr "Deskargatu ICS fitxategia "
|
|
120
|
+
|
|
121
|
+
#. Default: "Image"
|
|
122
|
+
#: components/Blocks/Image/ImageSidebar
|
|
123
|
+
msgid "Image"
|
|
124
|
+
msgstr "Irudia"
|
|
125
|
+
|
|
126
|
+
#. Default: "Left"
|
|
127
|
+
#: components/Widgets/AlignWidget
|
|
128
|
+
msgid "Left"
|
|
129
|
+
msgstr "Ezkerrean"
|
|
130
|
+
|
|
131
|
+
#. Default: "Location"
|
|
132
|
+
#: components/Theme/EventView
|
|
133
|
+
msgid "Location"
|
|
134
|
+
msgstr "Kokalekua"
|
|
135
|
+
|
|
136
|
+
#. Default: "Log in"
|
|
137
|
+
#: components/Anontools/Anontools
|
|
138
|
+
msgid "Log in"
|
|
139
|
+
msgstr "Sartu"
|
|
140
|
+
|
|
141
|
+
#. Default: "Next Page"
|
|
142
|
+
#: components/Blocks/Listing/ListingBody
|
|
143
|
+
msgid "Next Page"
|
|
144
|
+
msgstr "Hurrengo orria"
|
|
145
|
+
|
|
146
|
+
#. Default: "No date"
|
|
147
|
+
#: components/Theme/EventView
|
|
148
|
+
msgid "No date"
|
|
149
|
+
msgstr "Datarik ez"
|
|
150
|
+
|
|
151
|
+
#. Default: "No image selected"
|
|
152
|
+
#: components/Blocks/Image/ImageSidebar
|
|
153
|
+
msgid "No image selected"
|
|
154
|
+
msgstr "Ez da irudirik aukeratu"
|
|
155
|
+
|
|
156
|
+
#. Default: "No items found in this container."
|
|
157
|
+
#: components/Blocks/Listing/ListingBody
|
|
158
|
+
msgid "No items found in this container."
|
|
159
|
+
msgstr "Ez dago elementurik"
|
|
160
|
+
|
|
161
|
+
#. Default: "Open menu"
|
|
162
|
+
#: components/MobileNavigation/MobileNavigation
|
|
163
|
+
#: components/Navigation/Navigation
|
|
164
|
+
msgid "Open menu"
|
|
165
|
+
msgstr "Ireki menua"
|
|
166
|
+
|
|
167
|
+
#. Default: "Overview"
|
|
168
|
+
#: components/MobileNavigation/MobileNavigation
|
|
169
|
+
msgid "Overview"
|
|
170
|
+
msgstr "Gainbegirada"
|
|
171
|
+
|
|
172
|
+
#. Default: "Phone"
|
|
173
|
+
#: components/Theme/EventView
|
|
174
|
+
msgid "Phone"
|
|
175
|
+
msgstr "Telefonoa"
|
|
176
|
+
|
|
177
|
+
#. Default: "Please choose an existing content as source for this element"
|
|
178
|
+
#: components/Blocks/Slider/DefaultBody
|
|
179
|
+
msgid "Please choose an existing content as source for this element"
|
|
180
|
+
msgstr "Aukeratu eduki bat elementu honen iturburu gisa"
|
|
181
|
+
|
|
182
|
+
#. Default: "Plone Foundation"
|
|
183
|
+
#: components/Footer/Footer
|
|
184
|
+
msgid "Plone Foundation"
|
|
185
|
+
msgstr "Plone Fundazioa"
|
|
186
|
+
|
|
187
|
+
#. Default: "Plone Site"
|
|
188
|
+
#: components/Logo/Logo
|
|
189
|
+
msgid "Plone Site"
|
|
190
|
+
msgstr "Plone Ataria"
|
|
191
|
+
|
|
192
|
+
#. Default: "Plone{reg} Open Source CMS/WCM"
|
|
193
|
+
#: components/Footer/Footer
|
|
194
|
+
msgid "Plone{reg} Open Source CMS/WCM"
|
|
195
|
+
msgstr "Plone{reg} Kode Irekiko EKS"
|
|
196
|
+
|
|
197
|
+
#. Default: "Powered by Plone & Python"
|
|
198
|
+
#: components/Footer/Footer
|
|
199
|
+
msgid "Powered by Plone & Python"
|
|
200
|
+
msgstr "Plone & Pythonekin egina"
|
|
201
|
+
|
|
202
|
+
#. Default: "Press"
|
|
203
|
+
#: index
|
|
204
|
+
msgid "Press"
|
|
205
|
+
msgstr "Sakatu"
|
|
206
|
+
|
|
207
|
+
#. Default: "Previous Page"
|
|
208
|
+
#: components/Blocks/Listing/ListingBody
|
|
209
|
+
msgid "Previous Page"
|
|
210
|
+
msgstr "Aurreko orria"
|
|
211
|
+
|
|
212
|
+
#. Default: "Register"
|
|
213
|
+
#: components/Anontools/Anontools
|
|
214
|
+
msgid "Register"
|
|
215
|
+
msgstr "Eman izena"
|
|
216
|
+
|
|
217
|
+
#. Default: "Result"
|
|
218
|
+
#: components/Blocks/Listing/ListingBody
|
|
219
|
+
msgid "Result"
|
|
220
|
+
msgstr "Emaitza"
|
|
221
|
+
|
|
222
|
+
#. Default: "Right"
|
|
223
|
+
#: components/Widgets/AlignWidget
|
|
224
|
+
msgid "Right"
|
|
225
|
+
msgstr "Eskuman"
|
|
226
|
+
|
|
227
|
+
#. Default: "Search"
|
|
228
|
+
#: components/Blocks/Search/components/SearchInput
|
|
229
|
+
#: components/Blocks/Search/TopSideFacets
|
|
230
|
+
#: components/MobileNavigation/MobileNavigation
|
|
231
|
+
#: components/SearchWidget/IntranetSearchWidget
|
|
232
|
+
#: components/SearchWidget/SearchWidget
|
|
233
|
+
msgid "Search"
|
|
234
|
+
msgstr "Bilatu"
|
|
235
|
+
|
|
236
|
+
#. Default: "Search Site"
|
|
237
|
+
#: components/SearchWidget/IntranetSearchWidget
|
|
238
|
+
#: components/SearchWidget/SearchWidget
|
|
239
|
+
msgid "Search Site"
|
|
240
|
+
msgstr "Bilatu atarian"
|
|
241
|
+
|
|
242
|
+
#. Default: "Search for People, E-Mail Address, Phone Number, ..."
|
|
243
|
+
#: components/SearchWidget/IntranetSearchWidget
|
|
244
|
+
msgid "Search for People, E-Mail Address, Phone Number, ..."
|
|
245
|
+
msgstr "Bilatu pertsonak, eposta helbideak, telefono zenbakiak, ..."
|
|
246
|
+
|
|
247
|
+
#. Default: "Search results"
|
|
248
|
+
#: components/Blocks/Search/components/SearchDetails
|
|
249
|
+
msgid "Search results"
|
|
250
|
+
msgstr "Bilaketaren emaitzak"
|
|
251
|
+
|
|
252
|
+
#. Default: "Searched for"
|
|
253
|
+
#: components/Blocks/Search/components/SearchDetails
|
|
254
|
+
msgid "Searched for"
|
|
255
|
+
msgstr "Hau bilatu duzu"
|
|
256
|
+
|
|
257
|
+
#. Default: "Site"
|
|
258
|
+
#: components/Logo/Logo
|
|
259
|
+
msgid "Site"
|
|
260
|
+
msgstr "Ataria"
|
|
261
|
+
|
|
262
|
+
#. Default: "Sitemap"
|
|
263
|
+
#: index
|
|
264
|
+
msgid "Sitemap"
|
|
265
|
+
msgstr "Webgunearen mapa"
|
|
266
|
+
|
|
267
|
+
#. Default: "Sorting"
|
|
268
|
+
#: components/Blocks/Search/TopSideFacets
|
|
269
|
+
msgid "Sorting"
|
|
270
|
+
msgstr "Ordenazioa"
|
|
271
|
+
|
|
272
|
+
#. Default: "Source"
|
|
273
|
+
#: components/Blocks/Slider/DefaultBody
|
|
274
|
+
msgid "Source"
|
|
275
|
+
msgstr "Iturburua"
|
|
276
|
+
|
|
277
|
+
#. Default: "Start"
|
|
278
|
+
#: components/Theme/EventView
|
|
279
|
+
msgid "Start"
|
|
280
|
+
msgstr "Hasiera"
|
|
281
|
+
|
|
282
|
+
#. Default: "Switch to"
|
|
283
|
+
#: components/LanguageSelector/LanguageSelector
|
|
284
|
+
msgid "Switch to"
|
|
285
|
+
msgstr "Hona aldatu"
|
|
286
|
+
|
|
287
|
+
#. Default: "The {plonecms} is {copyright} 2000-{current_year} by the {plonefoundation} and friends."
|
|
288
|
+
#: components/Footer/Footer
|
|
289
|
+
msgid "The {plonecms} is {copyright} 2000-{current_year} by the {plonefoundation} and friends."
|
|
290
|
+
msgstr "{plonecms} {copyright} 2000-{current_year} {plonefoundation} eta lagunek egindakoa"
|
|
291
|
+
|
|
292
|
+
#. Default: "Title"
|
|
293
|
+
#: components/Blocks/Image/schema
|
|
294
|
+
msgid "Title"
|
|
295
|
+
msgstr "Izenburua"
|
|
296
|
+
|
|
297
|
+
#. Default: "Uploading image"
|
|
298
|
+
#: components/Blocks/Image/Edit
|
|
299
|
+
msgid "Uploading image"
|
|
300
|
+
msgstr "Irudia kargatzen"
|
|
301
|
+
|
|
302
|
+
#. Default: "Website"
|
|
303
|
+
#: components/Theme/EventView
|
|
304
|
+
msgid "Website"
|
|
305
|
+
msgstr "Webgunea"
|
|
306
|
+
|
|
307
|
+
#. Default: "Wide"
|
|
308
|
+
#: components/Widgets/AlignWidget
|
|
309
|
+
msgid "Wide"
|
|
310
|
+
msgstr "Zabala"
|
|
311
|
+
|
|
312
|
+
#. Default: "Clear image"
|
|
313
|
+
#: components/Blocks/Image/ImageSidebar
|
|
314
|
+
msgid "image_block_clear"
|
|
315
|
+
msgstr "Garbitu"
|
|
316
|
+
|
|
317
|
+
#. Default: "Image preview"
|
|
318
|
+
#: components/Blocks/Image/ImageSidebar
|
|
319
|
+
msgid "image_block_preview"
|
|
320
|
+
msgstr "Irudia aurreikusi"
|
|
321
|
+
|
|
322
|
+
#. Default: "Loading"
|
|
323
|
+
#: components/Blocks/Listing/ListingBody
|
|
324
|
+
msgid "loading"
|
|
325
|
+
msgstr "Kargatzen"
|
|
326
|
+
|
|
327
|
+
#. Default: "More info"
|
|
328
|
+
#: components/Blocks/Slider/DefaultBody
|
|
329
|
+
msgid "moreInfo"
|
|
330
|
+
msgstr "Informazio gehiago"
|
|
331
|
+
|
|
332
|
+
#. Default: "of"
|
|
333
|
+
#: components/Blocks/Listing/ListingBody
|
|
334
|
+
msgid "of"
|
|
335
|
+
msgstr "-"
|
|
336
|
+
|
|
337
|
+
#. Default: ""
|
|
338
|
+
#: components/Header/Header
|
|
339
|
+
msgid "siteLabel"
|
|
340
|
+
msgstr " "
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kitconcept/volto-light-theme",
|
|
3
|
-
"version": "3.0
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "Volto Light Theme by kitconcept",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"repository": {
|
|
@@ -63,6 +63,9 @@
|
|
|
63
63
|
"@kitconcept/volto-separator-block",
|
|
64
64
|
"@kitconcept/volto-slider-block"
|
|
65
65
|
],
|
|
66
|
+
"dependencies": {
|
|
67
|
+
"@plone/components": "2.0.0-alpha.6"
|
|
68
|
+
},
|
|
66
69
|
"peerDependencies": {
|
|
67
70
|
"@eeacms/volto-accordion-block": "^10.4.0",
|
|
68
71
|
"@kitconcept/volto-button-block": "^2.3.1",
|
|
@@ -72,6 +75,6 @@
|
|
|
72
75
|
"@kitconcept/volto-introduction-block": "^1.0.0",
|
|
73
76
|
"@kitconcept/volto-separator-block": "^4.0.0",
|
|
74
77
|
"@kitconcept/volto-slider-block": "^6.1.0",
|
|
75
|
-
"@plone/volto": "^17.15.
|
|
78
|
+
"@plone/volto": "^17.15.5"
|
|
76
79
|
}
|
|
77
80
|
}
|
|
@@ -7,6 +7,10 @@ const Container = (props) => {
|
|
|
7
7
|
const classes = cx('a', 'container', className, { layout, narrow });
|
|
8
8
|
|
|
9
9
|
const Component = getElementType(Container, props);
|
|
10
|
+
// eslint-disable-next-line no-console
|
|
11
|
+
console.warning(
|
|
12
|
+
'The Container component in: @kitconcept/volto-light-theme/src/components/Atoms/Container/Container.jsx is deprecated, and it will be removed in the next major release of this package. Please use the one in @plone/components instead.',
|
|
13
|
+
);
|
|
10
14
|
return (
|
|
11
15
|
<Component {...rest} className={classes}>
|
|
12
16
|
{children}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
This components are deprecated, and they will be removed in the next major release of this package.
|
|
@@ -3,7 +3,8 @@ import { FormattedMessage, injectIntl } from 'react-intl';
|
|
|
3
3
|
import { FormattedDate } from '@plone/volto/components';
|
|
4
4
|
import { UniversalLink } from '@plone/volto/components';
|
|
5
5
|
import { expandToBackendURL } from '@plone/volto/helpers';
|
|
6
|
-
import Container from '
|
|
6
|
+
import { Container } from '@plone/components';
|
|
7
|
+
|
|
7
8
|
const EventMetadataView = (props) => {
|
|
8
9
|
const content = props.properties;
|
|
9
10
|
const dateOptions = {
|
|
@@ -32,6 +32,10 @@ export const ImageView = ({ className, data, detached, properties, style }) => {
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
const Image = config.getComponent({ name: 'Image' }).component;
|
|
35
|
+
const shouldRenderCaption =
|
|
36
|
+
data.title ||
|
|
37
|
+
data.description ||
|
|
38
|
+
(data?.copyright_and_sources ?? data.credit?.data);
|
|
35
39
|
|
|
36
40
|
return (
|
|
37
41
|
<div
|
|
@@ -112,11 +116,13 @@ export const ImageView = ({ className, data, detached, properties, style }) => {
|
|
|
112
116
|
loading="lazy"
|
|
113
117
|
responsive={true}
|
|
114
118
|
/>
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
119
|
+
{shouldRenderCaption && (
|
|
120
|
+
<Caption
|
|
121
|
+
title={data.title}
|
|
122
|
+
description={data.description}
|
|
123
|
+
credit={data?.copyright_and_sources ?? data.credit?.data}
|
|
124
|
+
/>
|
|
125
|
+
)}
|
|
120
126
|
</figure>
|
|
121
127
|
);
|
|
122
128
|
if (href) {
|
|
@@ -5,7 +5,7 @@ import { connect } from 'react-redux';
|
|
|
5
5
|
import { compose } from 'redux';
|
|
6
6
|
import { Link } from 'react-router-dom';
|
|
7
7
|
import { defineMessages, injectIntl } from 'react-intl';
|
|
8
|
-
import Container from '@
|
|
8
|
+
import { Container } from '@plone/components';
|
|
9
9
|
|
|
10
10
|
import { Icon } from '@plone/volto/components';
|
|
11
11
|
import { getBreadcrumbs } from '@plone/volto/actions';
|
|
@@ -4,7 +4,7 @@ import React from 'react';
|
|
|
4
4
|
import { FormattedMessage, defineMessages, injectIntl } from 'react-intl';
|
|
5
5
|
import { useSelector, shallowEqual } from 'react-redux';
|
|
6
6
|
import { UniversalLink, Logo } from '@plone/volto/components';
|
|
7
|
-
import Container from '@
|
|
7
|
+
import { Container } from '@plone/components';
|
|
8
8
|
import { flattenToAppURL, addAppURL } from '@plone/volto/helpers';
|
|
9
9
|
import config from '@plone/volto/registry';
|
|
10
10
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// SemanticUI-free pre-@plone/components
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { useSelector } from 'react-redux';
|
|
4
|
-
import Container from '@
|
|
4
|
+
import { Container } from '@plone/components';
|
|
5
5
|
import MobileNavigation from '../MobileNavigation/MobileNavigation';
|
|
6
6
|
import { useIntl, defineMessages } from 'react-intl';
|
|
7
7
|
import config from '@plone/volto/registry';
|
|
@@ -28,18 +28,6 @@ const InternetHeader = ({ pathname, siteLabel, token, siteAction }) => {
|
|
|
28
28
|
return (
|
|
29
29
|
<>
|
|
30
30
|
<div className="header">
|
|
31
|
-
<div className="logo-nav-wrapper">
|
|
32
|
-
<div className="logo">
|
|
33
|
-
<Logo />
|
|
34
|
-
</div>
|
|
35
|
-
<Navigation pathname={pathname} />
|
|
36
|
-
<MobileNavigation pathname={pathname} />
|
|
37
|
-
<div className="search-wrapper navigation-desktop">
|
|
38
|
-
<div className="search">
|
|
39
|
-
<SearchWidget />
|
|
40
|
-
</div>
|
|
41
|
-
</div>
|
|
42
|
-
</div>
|
|
43
31
|
<div className="tools-wrapper">
|
|
44
32
|
<LanguageSelector />
|
|
45
33
|
|
|
@@ -58,6 +46,18 @@ const InternetHeader = ({ pathname, siteLabel, token, siteAction }) => {
|
|
|
58
46
|
</div>
|
|
59
47
|
)}
|
|
60
48
|
</div>
|
|
49
|
+
<div className="logo-nav-wrapper">
|
|
50
|
+
<div className="logo">
|
|
51
|
+
<Logo />
|
|
52
|
+
</div>
|
|
53
|
+
<Navigation pathname={pathname} />
|
|
54
|
+
<MobileNavigation pathname={pathname} />
|
|
55
|
+
<div className="search-wrapper navigation-desktop">
|
|
56
|
+
<div className="search">
|
|
57
|
+
<SearchWidget />
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
61
|
</div>
|
|
62
62
|
</>
|
|
63
63
|
);
|
|
@@ -142,12 +142,14 @@ class SearchWidget extends Component {
|
|
|
142
142
|
messages.searchSite,
|
|
143
143
|
)}
|
|
144
144
|
title={this.props.intl.formatMessage(messages.search)}
|
|
145
|
+
tabIndex={this.state.active ? '0' : '-1'} // Conditional tabIndex
|
|
145
146
|
ref={(input) => {
|
|
146
147
|
this.refInput = input;
|
|
147
148
|
}}
|
|
148
149
|
/>
|
|
149
150
|
<button
|
|
150
151
|
aria-label={this.props.intl.formatMessage(messages.search)}
|
|
152
|
+
tabIndex={this.state.active ? '0' : '-1'}
|
|
151
153
|
>
|
|
152
154
|
<Icon name={zoomSVG} size="48px" />
|
|
153
155
|
</button>
|
package/src/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { defineMessages } from 'react-intl';
|
|
2
|
+
import { cloneDeep } from 'lodash';
|
|
2
3
|
|
|
3
4
|
import { composeSchema, getPreviousNextBlock } from '@plone/volto/helpers';
|
|
4
5
|
import {
|
|
@@ -13,7 +14,7 @@ import { disableBgColorSchema } from './components/Blocks/disableBgColorSchema';
|
|
|
13
14
|
import BlockSettingsSchema from '@plone/volto/components/manage/Blocks/Block/Schema';
|
|
14
15
|
|
|
15
16
|
import ContainerQueriesPolyfill from './components/CQPolyfill';
|
|
16
|
-
import Container from '
|
|
17
|
+
import { Container } from '@plone/components';
|
|
17
18
|
import TopSideFacets from './components/Blocks/Search/TopSideFacets';
|
|
18
19
|
|
|
19
20
|
import GridListingBlockTemplate from './components/Blocks/Listing/GridTemplate';
|
|
@@ -71,7 +72,9 @@ const applyConfig = (config) => {
|
|
|
71
72
|
config.settings.intranetHeader = false;
|
|
72
73
|
|
|
73
74
|
// Remove Hero Block
|
|
74
|
-
config.blocks.blocksConfig
|
|
75
|
+
if (config.blocks.blocksConfig?.hero) {
|
|
76
|
+
config.blocks.blocksConfig.hero.restricted = true;
|
|
77
|
+
}
|
|
75
78
|
|
|
76
79
|
// No required blocks (eg. Title)
|
|
77
80
|
config.blocks.requiredBlocks = [
|
|
@@ -79,7 +82,7 @@ const applyConfig = (config) => {
|
|
|
79
82
|
'eventMetadata',
|
|
80
83
|
];
|
|
81
84
|
|
|
82
|
-
// Register custom Container component
|
|
85
|
+
// Register our custom Container component
|
|
83
86
|
config.registerComponent({
|
|
84
87
|
name: 'Container',
|
|
85
88
|
component: Container,
|
|
@@ -198,57 +201,45 @@ const applyConfig = (config) => {
|
|
|
198
201
|
dataAdapter: ImageBlockDataAdapter,
|
|
199
202
|
};
|
|
200
203
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
204
|
+
// Accordion internal `blocksConfig` amendments
|
|
205
|
+
// We cloneDeep the blocksConfig to avoid modifying the original object
|
|
206
|
+
// in subsequent modifications of the accordion block config
|
|
207
|
+
config.blocks.blocksConfig.accordion.blocksConfig = cloneDeep(
|
|
208
|
+
config.blocks.blocksConfig,
|
|
209
|
+
);
|
|
210
|
+
|
|
211
|
+
config.blocks.blocksConfig.accordion.blocksConfig.teaser.schemaEnhancer =
|
|
212
|
+
composeSchema(teaserSchemaEnhancer, disableBgColorSchema);
|
|
213
|
+
|
|
214
|
+
config.blocks.blocksConfig.gridBlock.colors = BG_COLORS;
|
|
215
|
+
config.blocks.blocksConfig.gridBlock.schemaEnhancer = defaultStylingSchema;
|
|
216
|
+
config.blocks.blocksConfig.gridBlock.icon = gridSVG;
|
|
217
|
+
|
|
218
|
+
// Grids internal `blocksConfig` amendments
|
|
219
|
+
// Slate in grids must have an extra wrapper with the `slate` className
|
|
220
|
+
const OriginalSlateBlockView = config.blocks.blocksConfig.slate.view;
|
|
221
|
+
config.blocks.blocksConfig.gridBlock.blocksConfig.slate.view = (props) => {
|
|
222
|
+
return (
|
|
223
|
+
<div className="slate">
|
|
224
|
+
<OriginalSlateBlockView {...props} />
|
|
225
|
+
</div>
|
|
226
|
+
);
|
|
207
227
|
};
|
|
208
228
|
|
|
209
|
-
config.blocks.blocksConfig.gridBlock =
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
};
|
|
229
|
+
config.blocks.blocksConfig.gridBlock.blocksConfig.image.schemaEnhancer =
|
|
230
|
+
composeSchema(
|
|
231
|
+
imageBlockSchemaEnhancer,
|
|
232
|
+
gridImageDisableSizeAndPositionHandlersSchema,
|
|
233
|
+
);
|
|
215
234
|
|
|
216
|
-
config.blocks.blocksConfig.gridBlock.blocksConfig =
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
return (
|
|
225
|
-
<div className="slate">
|
|
226
|
-
<EnhancedSlateViewComponent {...props} />
|
|
227
|
-
</div>
|
|
228
|
-
);
|
|
229
|
-
},
|
|
230
|
-
},
|
|
231
|
-
image: {
|
|
232
|
-
...config.blocks.blocksConfig.image,
|
|
233
|
-
schemaEnhancer: composeSchema(
|
|
234
|
-
imageBlockSchemaEnhancer,
|
|
235
|
-
gridImageDisableSizeAndPositionHandlersSchema,
|
|
236
|
-
),
|
|
237
|
-
},
|
|
238
|
-
teaser: {
|
|
239
|
-
...config.blocks.blocksConfig.teaser,
|
|
240
|
-
schemaEnhancer: composeSchema(
|
|
241
|
-
gridTeaserDisableStylingSchema,
|
|
242
|
-
teaserSchemaEnhancer,
|
|
243
|
-
),
|
|
244
|
-
},
|
|
245
|
-
listing: {
|
|
246
|
-
...config.blocks.blocksConfig.listing,
|
|
247
|
-
allowed_headline_tags: [['h2', 'h2']],
|
|
248
|
-
schemaEnhancer: removeStylingSchema,
|
|
249
|
-
variations: [],
|
|
250
|
-
},
|
|
251
|
-
};
|
|
235
|
+
config.blocks.blocksConfig.gridBlock.blocksConfig.teaser.schemaEnhancer =
|
|
236
|
+
composeSchema(gridTeaserDisableStylingSchema, teaserSchemaEnhancer);
|
|
237
|
+
|
|
238
|
+
config.blocks.blocksConfig.gridBlock.blocksConfig.listing.allowed_headline_tags =
|
|
239
|
+
[['h2', 'h2']];
|
|
240
|
+
config.blocks.blocksConfig.gridBlock.blocksConfig.listingschemaEnhancer =
|
|
241
|
+
removeStylingSchema;
|
|
242
|
+
config.blocks.blocksConfig.gridBlock.blocksConfig.listingvariations = [];
|
|
252
243
|
|
|
253
244
|
config.blocks.blocksConfig.introduction = {
|
|
254
245
|
...config.blocks.blocksConfig.introduction,
|
package/src/theme/_header.scss
CHANGED
package/src/theme/_layout.scss
CHANGED
|
@@ -52,18 +52,21 @@
|
|
|
52
52
|
|
|
53
53
|
// We expect initially three main containers
|
|
54
54
|
.header-wrapper {
|
|
55
|
+
.q.container,
|
|
55
56
|
.a.container {
|
|
56
57
|
@include container-preference-order(12);
|
|
57
58
|
}
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
.content-area {
|
|
62
|
+
.q.container,
|
|
61
63
|
.a.container {
|
|
62
64
|
@include container-preference-order(10);
|
|
63
65
|
}
|
|
64
66
|
}
|
|
65
67
|
|
|
66
68
|
footer {
|
|
69
|
+
.q.container,
|
|
67
70
|
.a.container {
|
|
68
71
|
@include container-preference-order(8);
|
|
69
72
|
}
|
|
@@ -115,6 +118,7 @@ footer {
|
|
|
115
118
|
|
|
116
119
|
// Slate Style External Links
|
|
117
120
|
.content-area .ui.container,
|
|
121
|
+
.content-area .q.container,
|
|
118
122
|
.content-area .a.container {
|
|
119
123
|
a.external:after,
|
|
120
124
|
a.external:after {
|
|
@@ -124,6 +128,7 @@ footer {
|
|
|
124
128
|
}
|
|
125
129
|
}
|
|
126
130
|
.content-area #page-edit .ui.container,
|
|
131
|
+
.content-area .q.container,
|
|
127
132
|
.content-area .a.container {
|
|
128
133
|
a.external:after,
|
|
129
134
|
a.external:after {
|
|
@@ -137,6 +142,7 @@ footer {
|
|
|
137
142
|
External link removal for all the blocks.
|
|
138
143
|
*/
|
|
139
144
|
.content-area #page-edit .ui.container,
|
|
145
|
+
.content-area .q.container,
|
|
140
146
|
.content-area .a.container {
|
|
141
147
|
.block.button,
|
|
142
148
|
.block.listing,
|