@kitconcept/volto-light-theme 1.0.1 → 2.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 +3 -2
- package/.github/workflows/changelog.yml +1 -1
- package/.github/workflows/code.yml +3 -2
- package/.github/workflows/deploy.yml +1 -1
- package/.github/workflows/unit.yml +3 -2
- package/CHANGELOG.md +56 -0
- package/Makefile +2 -2
- package/README.md +12 -1
- package/acceptance/cypress/tests/basic.cy.js +1 -1
- package/acceptance/cypress/tests/nav.cy.js +60 -0
- package/locales/de/LC_MESSAGES/volto.po +43 -1
- package/locales/en/LC_MESSAGES/volto.po +48 -1
- package/locales/pt_BR/volto.po +317 -0
- package/locales/volto.pot +49 -2
- package/package.json +3 -3
- package/src/components/Blocks/Listing/ImageGallery.jsx +126 -0
- package/src/components/Header/Header.jsx +3 -1
- package/src/components/MobileNavigation/MobileNavigation.jsx +334 -0
- package/src/components/MobileNavigation/MobileToolsFooter.jsx +10 -0
- package/src/components/Navigation/Navigation.jsx +198 -182
- package/src/customizations/volto/components/manage/Blocks/Listing/ImageGallery.jsx +8 -0
- package/src/icons/back-down.svg +8 -0
- package/src/icons/fullscreen.svg +7 -0
- package/src/icons/left-key.svg +4 -0
- package/src/icons/pause.svg +6 -0
- package/src/icons/play.svg +4 -0
- package/src/icons/right-key.svg +4 -0
- package/src/index.js +7 -1
- package/src/theme/_content.scss +1 -1
- package/src/theme/_fonts.scss +317 -0
- package/src/theme/_header.scss +610 -8
- package/src/theme/_layout.scss +7 -24
- package/src/theme/_sitemap.scss +25 -0
- package/src/theme/_typo-custom.scss +0 -73
- package/src/theme/_typography.scss +1 -245
- package/src/theme/_variables.scss +14 -0
- package/src/theme/blocks/_button.scss +6 -0
- package/src/theme/blocks/_grid.scss +8 -0
- package/src/theme/blocks/_image.scss +1 -1
- package/src/theme/blocks/_listing.scss +111 -5
- package/src/theme/blocks/_maps.scss +4 -0
- package/src/theme/blocks/_teaser.scss +1 -4
- package/src/theme/main.scss +5 -1
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
msgid ""
|
|
2
|
+
msgstr ""
|
|
3
|
+
"Project-Id-Version: \n"
|
|
4
|
+
"Report-Msgid-Bugs-To: \n"
|
|
5
|
+
"POT-Creation-Date: \n"
|
|
6
|
+
"PO-Revision-Date: \n"
|
|
7
|
+
"Last-Translator: \n"
|
|
8
|
+
"Language: \n"
|
|
9
|
+
"Language-Team: \n"
|
|
10
|
+
"Content-Type: \n"
|
|
11
|
+
"Content-Transfer-Encoding: \n"
|
|
12
|
+
"Plural-Forms: \n"
|
|
13
|
+
|
|
14
|
+
#: components/MobileNavigation/MobileNavigation
|
|
15
|
+
# defaultMessage: Back
|
|
16
|
+
msgid "Back"
|
|
17
|
+
msgstr "Voltar"
|
|
18
|
+
|
|
19
|
+
#: components/Blocks/schema
|
|
20
|
+
# defaultMessage: Background color
|
|
21
|
+
msgid "Background color"
|
|
22
|
+
msgstr "Cor de fundo"
|
|
23
|
+
|
|
24
|
+
#: components/Blocks/Button/schema
|
|
25
|
+
# defaultMessage: Block Width
|
|
26
|
+
msgid "Block Width"
|
|
27
|
+
msgstr "Largura do bloco"
|
|
28
|
+
|
|
29
|
+
#: components/Breadcrumbs/Breadcrumbs
|
|
30
|
+
# defaultMessage: Breadcrumbs
|
|
31
|
+
msgid "Breadcrumbs"
|
|
32
|
+
msgstr "Breadcrumbs"
|
|
33
|
+
|
|
34
|
+
#: components/Blocks/Image/Edit
|
|
35
|
+
# defaultMessage: Browse the site, drop an image, or type an URL
|
|
36
|
+
msgid "Browse the site, drop an image, or type an URL"
|
|
37
|
+
msgstr "Encontre no site, envie uma imagem ou cole uma URL"
|
|
38
|
+
|
|
39
|
+
#: components/Blocks/Slider/schema
|
|
40
|
+
# defaultMessage: Button text
|
|
41
|
+
msgid "Button text"
|
|
42
|
+
msgstr "Texto do botão"
|
|
43
|
+
|
|
44
|
+
#: components/Widgets/AlignWidget
|
|
45
|
+
# defaultMessage: Center
|
|
46
|
+
msgid "Center"
|
|
47
|
+
msgstr "Centralizado"
|
|
48
|
+
|
|
49
|
+
#: components/MobileNavigation/MobileNavigation
|
|
50
|
+
#: components/Navigation/Navigation
|
|
51
|
+
# defaultMessage: Close menu
|
|
52
|
+
msgid "Close menu"
|
|
53
|
+
msgstr "Fechar menu"
|
|
54
|
+
|
|
55
|
+
#: components/Theme/EventView
|
|
56
|
+
# defaultMessage: Contact
|
|
57
|
+
msgid "Contact"
|
|
58
|
+
msgstr "Contato"
|
|
59
|
+
|
|
60
|
+
#: components/Blocks/Slider/DefaultBody
|
|
61
|
+
# defaultMessage: Continue reading
|
|
62
|
+
msgid "Continue reading"
|
|
63
|
+
msgstr "Continue lendo"
|
|
64
|
+
|
|
65
|
+
#: components/Footer/Footer
|
|
66
|
+
# defaultMessage: Copyright
|
|
67
|
+
msgid "Copyright"
|
|
68
|
+
msgstr "Copyright"
|
|
69
|
+
|
|
70
|
+
#: components/Blocks/Image/schema
|
|
71
|
+
# defaultMessage: Description
|
|
72
|
+
msgid "Description"
|
|
73
|
+
msgstr "Descrição"
|
|
74
|
+
|
|
75
|
+
#: components/Footer/Footer
|
|
76
|
+
# defaultMessage: Distributed under the {license}.
|
|
77
|
+
msgid "Distributed under the {license}."
|
|
78
|
+
msgstr "Distribuído sob a licença {license}."
|
|
79
|
+
|
|
80
|
+
#: components/Theme/EventView
|
|
81
|
+
# defaultMessage: End
|
|
82
|
+
msgid "End"
|
|
83
|
+
msgstr "Término"
|
|
84
|
+
|
|
85
|
+
#: components/Blocks/Slider/schema
|
|
86
|
+
# defaultMessage: Flag align
|
|
87
|
+
msgid "Flag align"
|
|
88
|
+
msgstr "Alinhar"
|
|
89
|
+
|
|
90
|
+
#: components/Widgets/AlignWidget
|
|
91
|
+
# defaultMessage: Full
|
|
92
|
+
msgid "Full"
|
|
93
|
+
msgstr "Completo"
|
|
94
|
+
|
|
95
|
+
#: components/Footer/Footer
|
|
96
|
+
# defaultMessage: GNU GPL license
|
|
97
|
+
msgid "GNU GPL license"
|
|
98
|
+
msgstr "Licença GNU GPL"
|
|
99
|
+
|
|
100
|
+
#: components/Blocks/Slider/schema
|
|
101
|
+
# defaultMessage: Hide Button
|
|
102
|
+
msgid "Hide Button"
|
|
103
|
+
msgstr "Ocultar botão"
|
|
104
|
+
|
|
105
|
+
#: components/Breadcrumbs/Breadcrumbs
|
|
106
|
+
#: components/MobileNavigation/MobileNavigation
|
|
107
|
+
# defaultMessage: Home
|
|
108
|
+
msgid "Home"
|
|
109
|
+
msgstr "Início"
|
|
110
|
+
|
|
111
|
+
#: components/Theme/EventView
|
|
112
|
+
# defaultMessage: ICS Download
|
|
113
|
+
msgid "ICS-Download"
|
|
114
|
+
msgstr "Baixar ICS"
|
|
115
|
+
|
|
116
|
+
#: components/Blocks/Image/ImageSidebar
|
|
117
|
+
# defaultMessage: Image
|
|
118
|
+
msgid "Image"
|
|
119
|
+
msgstr "Imagem"
|
|
120
|
+
|
|
121
|
+
#: components/Widgets/AlignWidget
|
|
122
|
+
# defaultMessage: Left
|
|
123
|
+
msgid "Left"
|
|
124
|
+
msgstr "Esquerda"
|
|
125
|
+
|
|
126
|
+
#: components/Theme/EventView
|
|
127
|
+
# defaultMessage: Location
|
|
128
|
+
msgid "Location"
|
|
129
|
+
msgstr "Local"
|
|
130
|
+
|
|
131
|
+
#: components/Anontools/Anontools
|
|
132
|
+
# defaultMessage: Log in
|
|
133
|
+
msgid "Log in"
|
|
134
|
+
msgstr "Entrar"
|
|
135
|
+
|
|
136
|
+
#: components/Blocks/Listing/ListingBody
|
|
137
|
+
# defaultMessage: Next Page
|
|
138
|
+
msgid "Next Page"
|
|
139
|
+
msgstr "Próxima página"
|
|
140
|
+
|
|
141
|
+
#: components/Theme/EventView
|
|
142
|
+
# defaultMessage: No date
|
|
143
|
+
msgid "No date"
|
|
144
|
+
msgstr "Sem data"
|
|
145
|
+
|
|
146
|
+
#: components/Blocks/Image/ImageSidebar
|
|
147
|
+
# defaultMessage: No image selected
|
|
148
|
+
msgid "No image selected"
|
|
149
|
+
msgstr "Nenhuma imagem selecionada"
|
|
150
|
+
|
|
151
|
+
#: components/Blocks/Listing/ListingBody
|
|
152
|
+
# defaultMessage: No items found in this container.
|
|
153
|
+
msgid "No items found in this container."
|
|
154
|
+
msgstr "Nenhum item encontrado nesta pasta"
|
|
155
|
+
|
|
156
|
+
#: components/MobileNavigation/MobileNavigation
|
|
157
|
+
# defaultMessage: Open menu
|
|
158
|
+
msgid "Open menu"
|
|
159
|
+
msgstr "Abrir o menu"
|
|
160
|
+
|
|
161
|
+
#: components/MobileNavigation/MobileNavigation
|
|
162
|
+
# defaultMessage: Overview
|
|
163
|
+
msgid "Overview"
|
|
164
|
+
msgstr "Geral"
|
|
165
|
+
|
|
166
|
+
#: components/Theme/EventView
|
|
167
|
+
# defaultMessage: Phone
|
|
168
|
+
msgid "Phone"
|
|
169
|
+
msgstr "Telefone"
|
|
170
|
+
|
|
171
|
+
#: components/Blocks/Slider/DefaultBody
|
|
172
|
+
# defaultMessage: Please choose an existing content as source for this element
|
|
173
|
+
msgid "Please choose an existing content as source for this element"
|
|
174
|
+
msgstr "Por favor, escolha um conteúdo existente como fonte para esse elemento"
|
|
175
|
+
|
|
176
|
+
#: components/Footer/Footer
|
|
177
|
+
# defaultMessage: Plone Foundation
|
|
178
|
+
msgid "Plone Foundation"
|
|
179
|
+
msgstr "Plone Foundation"
|
|
180
|
+
|
|
181
|
+
#: components/Logo/Logo
|
|
182
|
+
# defaultMessage: Plone Site
|
|
183
|
+
msgid "Plone Site"
|
|
184
|
+
msgstr "Site Plone"
|
|
185
|
+
|
|
186
|
+
#: components/Footer/Footer
|
|
187
|
+
# defaultMessage: Plone{reg} Open Source CMS/WCM
|
|
188
|
+
msgid "Plone{reg} Open Source CMS/WCM"
|
|
189
|
+
msgstr "Plone{reg} Open Source CMS/WCM"
|
|
190
|
+
|
|
191
|
+
#: components/Footer/Footer
|
|
192
|
+
# defaultMessage: Powered by Plone & Python
|
|
193
|
+
msgid "Powered by Plone & Python"
|
|
194
|
+
msgstr "Feito com Plone & Python"
|
|
195
|
+
|
|
196
|
+
#: index
|
|
197
|
+
# defaultMessage: Press
|
|
198
|
+
msgid "Press"
|
|
199
|
+
msgstr "Imprensa"
|
|
200
|
+
|
|
201
|
+
#: components/Blocks/Listing/ListingBody
|
|
202
|
+
# defaultMessage: Previous Page
|
|
203
|
+
msgid "Previous Page"
|
|
204
|
+
msgstr "Página anterior"
|
|
205
|
+
|
|
206
|
+
#: components/Anontools/Anontools
|
|
207
|
+
# defaultMessage: Register
|
|
208
|
+
msgid "Register"
|
|
209
|
+
msgstr "Criar conta"
|
|
210
|
+
|
|
211
|
+
#: components/Blocks/Listing/ListingBody
|
|
212
|
+
# defaultMessage: Result
|
|
213
|
+
msgid "Result"
|
|
214
|
+
msgstr "Resultado"
|
|
215
|
+
|
|
216
|
+
#: components/Widgets/AlignWidget
|
|
217
|
+
# defaultMessage: Right
|
|
218
|
+
msgid "Right"
|
|
219
|
+
msgstr "Direita"
|
|
220
|
+
|
|
221
|
+
#: components/Blocks/Search/components/SearchInput
|
|
222
|
+
#: components/Blocks/Search/TopSideFacets
|
|
223
|
+
#: components/SearchWidget/SearchWidget
|
|
224
|
+
# defaultMessage: Search
|
|
225
|
+
msgid "Search"
|
|
226
|
+
msgstr "Buscar"
|
|
227
|
+
|
|
228
|
+
#: components/SearchWidget/SearchWidget
|
|
229
|
+
# defaultMessage: Search Site
|
|
230
|
+
msgid "Search Site"
|
|
231
|
+
msgstr "Buscar no site"
|
|
232
|
+
|
|
233
|
+
#: components/Blocks/Search/components/SearchDetails
|
|
234
|
+
# defaultMessage: Search results
|
|
235
|
+
msgid "Search results"
|
|
236
|
+
msgstr "Resultados de busca"
|
|
237
|
+
|
|
238
|
+
#: components/Blocks/Search/components/SearchDetails
|
|
239
|
+
# defaultMessage: Searched for
|
|
240
|
+
msgid "Searched for"
|
|
241
|
+
msgstr "Busca por"
|
|
242
|
+
|
|
243
|
+
#: components/Logo/Logo
|
|
244
|
+
# defaultMessage: Site
|
|
245
|
+
msgid "Site"
|
|
246
|
+
msgstr "Site"
|
|
247
|
+
|
|
248
|
+
#: components/Header/Header
|
|
249
|
+
#: index
|
|
250
|
+
# defaultMessage: Sitemap
|
|
251
|
+
msgid "Sitemap"
|
|
252
|
+
msgstr "Mapa do Site"
|
|
253
|
+
|
|
254
|
+
#: components/Blocks/Search/TopSideFacets
|
|
255
|
+
# defaultMessage: Sorting
|
|
256
|
+
msgid "Sorting"
|
|
257
|
+
msgstr "Ordenação"
|
|
258
|
+
|
|
259
|
+
#: components/Blocks/Slider/DefaultBody
|
|
260
|
+
# defaultMessage: Source
|
|
261
|
+
msgid "Source"
|
|
262
|
+
msgstr "Fonte"
|
|
263
|
+
|
|
264
|
+
#: components/Theme/EventView
|
|
265
|
+
# defaultMessage: Start
|
|
266
|
+
msgid "Start"
|
|
267
|
+
msgstr "Início"
|
|
268
|
+
|
|
269
|
+
#: components/Footer/Footer
|
|
270
|
+
# defaultMessage: The {plonecms} is {copyright} 2000-{current_year} by the {plonefoundation} and friends.
|
|
271
|
+
msgid "The {plonecms} is {copyright} 2000-{current_year} by the {plonefoundation} and friends."
|
|
272
|
+
msgstr "O {plonecms} tem {copyright} 2000-{current_year} pela {plonefoundation} e comunidade."
|
|
273
|
+
|
|
274
|
+
#: components/Blocks/Image/schema
|
|
275
|
+
# defaultMessage: Title
|
|
276
|
+
msgid "Title"
|
|
277
|
+
msgstr "Título"
|
|
278
|
+
|
|
279
|
+
#: components/Blocks/Image/Edit
|
|
280
|
+
# defaultMessage: Uploading image
|
|
281
|
+
msgid "Uploading image"
|
|
282
|
+
msgstr "Enviando imagem"
|
|
283
|
+
|
|
284
|
+
#: components/Theme/EventView
|
|
285
|
+
# defaultMessage: Website
|
|
286
|
+
msgid "Website"
|
|
287
|
+
msgstr "Site"
|
|
288
|
+
|
|
289
|
+
#: components/Widgets/AlignWidget
|
|
290
|
+
# defaultMessage: Wide
|
|
291
|
+
msgid "Wide"
|
|
292
|
+
msgstr "Largo"
|
|
293
|
+
|
|
294
|
+
#: components/Blocks/Image/ImageSidebar
|
|
295
|
+
# defaultMessage: Clear image
|
|
296
|
+
msgid "image_block_clear"
|
|
297
|
+
msgstr "Remover imagem"
|
|
298
|
+
|
|
299
|
+
#: components/Blocks/Image/ImageSidebar
|
|
300
|
+
# defaultMessage: Image preview
|
|
301
|
+
msgid "image_block_preview"
|
|
302
|
+
msgstr "Preview da imagem"
|
|
303
|
+
|
|
304
|
+
#: components/Blocks/Listing/ListingBody
|
|
305
|
+
# defaultMessage: Loading
|
|
306
|
+
msgid "loading"
|
|
307
|
+
msgstr "carregando"
|
|
308
|
+
|
|
309
|
+
#: components/Blocks/Slider/DefaultBody
|
|
310
|
+
# defaultMessage: More info
|
|
311
|
+
msgid "moreInfo"
|
|
312
|
+
msgstr "Mais informações"
|
|
313
|
+
|
|
314
|
+
#: components/Blocks/Listing/ListingBody
|
|
315
|
+
# defaultMessage: of
|
|
316
|
+
msgid "of"
|
|
317
|
+
msgstr "de"
|
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: 2023-
|
|
4
|
+
"POT-Creation-Date: 2023-11-30T13:23:01.241Z\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
|
"MIME-Version: 1.0\n"
|
|
@@ -13,6 +13,11 @@ msgstr ""
|
|
|
13
13
|
"Preferred-Encodings: utf-8\n"
|
|
14
14
|
"Domain: volto\n"
|
|
15
15
|
|
|
16
|
+
#: components/MobileNavigation/MobileNavigation
|
|
17
|
+
# defaultMessage: Back
|
|
18
|
+
msgid "Back"
|
|
19
|
+
msgstr ""
|
|
20
|
+
|
|
16
21
|
#: components/Blocks/schema
|
|
17
22
|
# defaultMessage: Background color
|
|
18
23
|
msgid "Background color"
|
|
@@ -33,11 +38,17 @@ msgstr ""
|
|
|
33
38
|
msgid "Browse the site, drop an image, or type an URL"
|
|
34
39
|
msgstr ""
|
|
35
40
|
|
|
41
|
+
#: components/Blocks/Slider/schema
|
|
42
|
+
# defaultMessage: Button text
|
|
43
|
+
msgid "Button text"
|
|
44
|
+
msgstr ""
|
|
45
|
+
|
|
36
46
|
#: components/Widgets/AlignWidget
|
|
37
47
|
# defaultMessage: Center
|
|
38
48
|
msgid "Center"
|
|
39
49
|
msgstr ""
|
|
40
50
|
|
|
51
|
+
#: components/MobileNavigation/MobileNavigation
|
|
41
52
|
#: components/Navigation/Navigation
|
|
42
53
|
# defaultMessage: Close menu
|
|
43
54
|
msgid "Close menu"
|
|
@@ -48,6 +59,11 @@ msgstr ""
|
|
|
48
59
|
msgid "Contact"
|
|
49
60
|
msgstr ""
|
|
50
61
|
|
|
62
|
+
#: components/Blocks/Slider/DefaultBody
|
|
63
|
+
# defaultMessage: Continue reading
|
|
64
|
+
msgid "Continue reading"
|
|
65
|
+
msgstr ""
|
|
66
|
+
|
|
51
67
|
#: components/Footer/Footer
|
|
52
68
|
# defaultMessage: Copyright
|
|
53
69
|
msgid "Copyright"
|
|
@@ -68,6 +84,11 @@ msgstr ""
|
|
|
68
84
|
msgid "End"
|
|
69
85
|
msgstr ""
|
|
70
86
|
|
|
87
|
+
#: components/Blocks/Slider/schema
|
|
88
|
+
# defaultMessage: Flag align
|
|
89
|
+
msgid "Flag align"
|
|
90
|
+
msgstr ""
|
|
91
|
+
|
|
71
92
|
#: components/Widgets/AlignWidget
|
|
72
93
|
# defaultMessage: Full
|
|
73
94
|
msgid "Full"
|
|
@@ -78,7 +99,13 @@ msgstr ""
|
|
|
78
99
|
msgid "GNU GPL license"
|
|
79
100
|
msgstr ""
|
|
80
101
|
|
|
102
|
+
#: components/Blocks/Slider/schema
|
|
103
|
+
# defaultMessage: Hide Button
|
|
104
|
+
msgid "Hide Button"
|
|
105
|
+
msgstr ""
|
|
106
|
+
|
|
81
107
|
#: components/Breadcrumbs/Breadcrumbs
|
|
108
|
+
#: components/MobileNavigation/MobileNavigation
|
|
82
109
|
# defaultMessage: Home
|
|
83
110
|
msgid "Home"
|
|
84
111
|
msgstr ""
|
|
@@ -128,16 +155,26 @@ msgstr ""
|
|
|
128
155
|
msgid "No items found in this container."
|
|
129
156
|
msgstr ""
|
|
130
157
|
|
|
131
|
-
#: components/
|
|
158
|
+
#: components/MobileNavigation/MobileNavigation
|
|
132
159
|
# defaultMessage: Open menu
|
|
133
160
|
msgid "Open menu"
|
|
134
161
|
msgstr ""
|
|
135
162
|
|
|
163
|
+
#: components/MobileNavigation/MobileNavigation
|
|
164
|
+
# defaultMessage: Overview
|
|
165
|
+
msgid "Overview"
|
|
166
|
+
msgstr ""
|
|
167
|
+
|
|
136
168
|
#: components/Theme/EventView
|
|
137
169
|
# defaultMessage: Phone
|
|
138
170
|
msgid "Phone"
|
|
139
171
|
msgstr ""
|
|
140
172
|
|
|
173
|
+
#: components/Blocks/Slider/DefaultBody
|
|
174
|
+
# defaultMessage: Please choose an existing content as source for this element
|
|
175
|
+
msgid "Please choose an existing content as source for this element"
|
|
176
|
+
msgstr ""
|
|
177
|
+
|
|
141
178
|
#: components/Footer/Footer
|
|
142
179
|
# defaultMessage: Plone Foundation
|
|
143
180
|
msgid "Plone Foundation"
|
|
@@ -221,6 +258,11 @@ msgstr ""
|
|
|
221
258
|
msgid "Sorting"
|
|
222
259
|
msgstr ""
|
|
223
260
|
|
|
261
|
+
#: components/Blocks/Slider/DefaultBody
|
|
262
|
+
# defaultMessage: Source
|
|
263
|
+
msgid "Source"
|
|
264
|
+
msgstr ""
|
|
265
|
+
|
|
224
266
|
#: components/Theme/EventView
|
|
225
267
|
# defaultMessage: Start
|
|
226
268
|
msgid "Start"
|
|
@@ -266,6 +308,11 @@ msgstr ""
|
|
|
266
308
|
msgid "loading"
|
|
267
309
|
msgstr ""
|
|
268
310
|
|
|
311
|
+
#: components/Blocks/Slider/DefaultBody
|
|
312
|
+
# defaultMessage: More info
|
|
313
|
+
msgid "moreInfo"
|
|
314
|
+
msgstr ""
|
|
315
|
+
|
|
269
316
|
#: components/Blocks/Listing/ListingBody
|
|
270
317
|
# defaultMessage: of
|
|
271
318
|
msgid "of"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kitconcept/volto-light-theme",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Volto Light Theme by kitconcept",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"repository": {
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"@kitconcept/volto-highlight-block": "^3.0.0",
|
|
72
72
|
"@kitconcept/volto-introduction-block": "^1.0.0",
|
|
73
73
|
"@kitconcept/volto-separator-block": "^4.0.0",
|
|
74
|
-
"@kitconcept/volto-slider-block": "
|
|
75
|
-
"@plone/volto": "^17.
|
|
74
|
+
"@kitconcept/volto-slider-block": "5.1.1",
|
|
75
|
+
"@plone/volto": "^17.5.0"
|
|
76
76
|
}
|
|
77
77
|
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import loadable from '@loadable/component';
|
|
4
|
+
import 'react-image-gallery/styles/css/image-gallery.css';
|
|
5
|
+
import { Button } from 'semantic-ui-react';
|
|
6
|
+
import { Icon } from '@plone/volto/components';
|
|
7
|
+
import { flattenToAppURL } from '@plone/volto/helpers';
|
|
8
|
+
import config from '@plone/volto/registry';
|
|
9
|
+
|
|
10
|
+
import galleryLeftSVG from '../../../icons/left-key.svg';
|
|
11
|
+
import galleryRightSVG from '../../../icons/right-key.svg';
|
|
12
|
+
import galleryPlaySVG from '../../../icons/play.svg';
|
|
13
|
+
import galleryPauseSVG from '../../../icons/pause.svg';
|
|
14
|
+
import galleryFullScreenSVG from '../../../icons/fullscreen.svg';
|
|
15
|
+
import galleryBackDownSVG from '../../../icons/back-down.svg';
|
|
16
|
+
|
|
17
|
+
const ImageGallery = loadable(() => import('react-image-gallery'));
|
|
18
|
+
|
|
19
|
+
const renderLeftNav = (onClick, disabled) => {
|
|
20
|
+
return (
|
|
21
|
+
<Button
|
|
22
|
+
className="image-gallery-icon image-gallery-left-nav primary basic"
|
|
23
|
+
disabled={disabled}
|
|
24
|
+
onClick={onClick}
|
|
25
|
+
>
|
|
26
|
+
<Icon name={galleryLeftSVG} size="48px" fill="black" />
|
|
27
|
+
</Button>
|
|
28
|
+
);
|
|
29
|
+
};
|
|
30
|
+
const renderRightNav = (onClick, disabled) => {
|
|
31
|
+
return (
|
|
32
|
+
<Button
|
|
33
|
+
className="image-gallery-icon image-gallery-right-nav primary basic"
|
|
34
|
+
disabled={disabled}
|
|
35
|
+
onClick={onClick}
|
|
36
|
+
>
|
|
37
|
+
<Icon name={galleryRightSVG} size="48px" />
|
|
38
|
+
</Button>
|
|
39
|
+
);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const renderPlayPauseButton = (onClick, isPlaying) => (
|
|
43
|
+
<Button
|
|
44
|
+
type="button"
|
|
45
|
+
className="image-gallery-icon image-gallery-play-button basic primary"
|
|
46
|
+
onClick={onClick}
|
|
47
|
+
aria-label="Play or Pause Slideshow"
|
|
48
|
+
>
|
|
49
|
+
{isPlaying ? (
|
|
50
|
+
<Icon name={galleryPauseSVG} size="48px" />
|
|
51
|
+
) : (
|
|
52
|
+
<Icon name={galleryPlaySVG} size="48px" />
|
|
53
|
+
)}
|
|
54
|
+
</Button>
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
const renderFullscreenButton = (onClick, isFullscreen) => {
|
|
58
|
+
return (
|
|
59
|
+
<Button
|
|
60
|
+
type="button"
|
|
61
|
+
className="image-gallery-icon image-gallery-fullscreen-button primary basic"
|
|
62
|
+
onClick={onClick}
|
|
63
|
+
aria-label="Open Fullscreen"
|
|
64
|
+
>
|
|
65
|
+
{isFullscreen ? (
|
|
66
|
+
<Icon name={galleryBackDownSVG} size="48px" />
|
|
67
|
+
) : (
|
|
68
|
+
<Icon name={galleryFullScreenSVG} size="48px" />
|
|
69
|
+
)}
|
|
70
|
+
</Button>
|
|
71
|
+
);
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
const ImageGalleryTemplate = ({ items }) => {
|
|
75
|
+
const { settings } = config;
|
|
76
|
+
const renderItems = items.filter(
|
|
77
|
+
(content) =>
|
|
78
|
+
settings.imageObjects.includes(content['@type']) && content.image_field,
|
|
79
|
+
);
|
|
80
|
+
const imagesInfo = renderItems.map((item) => {
|
|
81
|
+
return {
|
|
82
|
+
original: `${flattenToAppURL(item['@id'])}/@@images/${
|
|
83
|
+
item.image_field
|
|
84
|
+
}/large`,
|
|
85
|
+
thumbnail: `${flattenToAppURL(item['@id'])}/@@images/${
|
|
86
|
+
item.image_field
|
|
87
|
+
}/thumb`,
|
|
88
|
+
description: (
|
|
89
|
+
<>
|
|
90
|
+
<div className="title">{item.title}</div>
|
|
91
|
+
<div className="description">{item.description}</div>
|
|
92
|
+
<div className="download">
|
|
93
|
+
<a
|
|
94
|
+
href={`${flattenToAppURL(item['@id'])}/@@images/${
|
|
95
|
+
item.image_field
|
|
96
|
+
}/huge`}
|
|
97
|
+
download
|
|
98
|
+
>
|
|
99
|
+
download
|
|
100
|
+
</a>
|
|
101
|
+
</div>
|
|
102
|
+
<div className="credits">{item.copyright_and_sources}</div>
|
|
103
|
+
</>
|
|
104
|
+
),
|
|
105
|
+
};
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
return (
|
|
109
|
+
renderItems.length > 0 && (
|
|
110
|
+
<ImageGallery
|
|
111
|
+
items={imagesInfo}
|
|
112
|
+
renderLeftNav={renderLeftNav}
|
|
113
|
+
renderRightNav={renderRightNav}
|
|
114
|
+
renderPlayPauseButton={renderPlayPauseButton}
|
|
115
|
+
renderFullscreenButton={renderFullscreenButton}
|
|
116
|
+
lazyLoad={true}
|
|
117
|
+
/>
|
|
118
|
+
)
|
|
119
|
+
);
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
ImageGalleryTemplate.propTypes = {
|
|
123
|
+
items: PropTypes.arrayOf(PropTypes.any).isRequired,
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
export default ImageGalleryTemplate;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { useSelector } from 'react-redux';
|
|
4
4
|
import Container from '@kitconcept/volto-light-theme/components/Atoms/Container/Container';
|
|
5
|
+
import MobileNavigation from '../MobileNavigation/MobileNavigation';
|
|
5
6
|
import { Link } from 'react-router-dom';
|
|
6
7
|
import { FormattedMessage } from 'react-intl';
|
|
7
8
|
|
|
@@ -26,7 +27,8 @@ const Header = (props) => {
|
|
|
26
27
|
<Logo />
|
|
27
28
|
</div>
|
|
28
29
|
<Navigation pathname={pathname} />
|
|
29
|
-
<
|
|
30
|
+
<MobileNavigation pathname={pathname} />
|
|
31
|
+
<div className="search-wrapper navigation-desktop">
|
|
30
32
|
<div className="search">
|
|
31
33
|
<SearchWidget />
|
|
32
34
|
</div>
|