@kitconcept/volto-light-theme 2.0.0 → 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.
@@ -1,5 +1,5 @@
1
1
  name: Acceptance tests
2
- on: [push]
2
+ on: [push, pull_request]
3
3
 
4
4
  env:
5
5
  ADDON_NAME: "@kitconcept/volto-light-theme"
@@ -9,6 +9,7 @@ env:
9
9
  jobs:
10
10
 
11
11
  acceptance:
12
+ if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
12
13
  runs-on: ubuntu-latest
13
14
  steps:
14
15
  - name: Checkout
@@ -1,7 +1,8 @@
1
1
  name: Code analysis checks
2
- on: [push]
2
+ on: [push, pull_request]
3
3
  jobs:
4
4
  codeanalysis:
5
+ if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
5
6
  runs-on: ubuntu-latest
6
7
  strategy:
7
8
  matrix:
@@ -1,7 +1,8 @@
1
1
  name: Unit Tests
2
- on: [push]
2
+ on: [push, pull_request]
3
3
  jobs:
4
4
  unit:
5
+ if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
5
6
  runs-on: ubuntu-latest
6
7
  strategy:
7
8
  matrix:
package/CHANGELOG.md CHANGED
@@ -8,6 +8,36 @@
8
8
 
9
9
  <!-- towncrier release notes start -->
10
10
 
11
+ ## 2.1.0 (2023-12-13)
12
+
13
+ ### Feature
14
+
15
+ - Added Image Gallery Listing Metadata @robgietema [#127](https://github.com/kitconcept/volto-light-theme/pull/127)
16
+ - Add Brazilian Portuguese translation [@ericof] [#294](https://github.com/kitconcept/volto-light-theme/pull/294)
17
+
18
+ ### Bugfix
19
+
20
+ - Also clean up Navigation PropTypes @fredvd [#272b](https://github.com/kitconcept/volto-light-theme/pull/272b)
21
+ - Fix css of External link icon indicator @iRohitSingh [#91](https://github.com/kitconcept/volto-light-theme/pull/91)
22
+ - Fix css of Sitemap @iRohitSingh [#209](https://github.com/kitconcept/volto-light-theme/pull/209)
23
+ - Fixed css errors in the header and image scss files @ichim-david
24
+ All the mobile menu items are now links @ichim-david
25
+ Close buttons are now tabbable @ichim-david
26
+ Close menu when hitting the escape key @ichim-david [#264](https://github.com/kitconcept/volto-light-theme/pull/264)
27
+ - Use only one set of values for container widths which can be modified from variables @ichim-david [#265](https://github.com/kitconcept/volto-light-theme/pull/265)
28
+ - Update contentMetadataTagsImageField settings to use preview_image field. @iRohitSingh [#274](https://github.com/kitconcept/volto-light-theme/pull/274)
29
+ - Removed the "overview" React Message from Fat Menu @Molochem [#276](https://github.com/kitconcept/volto-light-theme/pull/276)
30
+ - Moved custom font loading to a separate fonts.scss @ichim-david
31
+ Added variable definitions for loading the cms font instead of hard-coding to Metropolis @ichim-david [#279](https://github.com/kitconcept/volto-light-theme/pull/279)
32
+ - Minor style fixes for hamburger menu icon @danalvrz [#281](https://github.com/kitconcept/volto-light-theme/pull/281)
33
+ - Don't force aspect ratio for the Image content type view @iRohitSingh [#293](https://github.com/kitconcept/volto-light-theme/pull/293)
34
+
35
+ ### Internal
36
+
37
+ - Run CI workflows for external PRs. @davisagli [#271](https://github.com/kitconcept/volto-light-theme/pull/271)
38
+ - Remove old code from navigation component @steffenri [#272](https://github.com/kitconcept/volto-light-theme/pull/272)
39
+ - Remove Hero Block @iRohitSingh [#278](https://github.com/kitconcept/volto-light-theme/pull/278)
40
+
11
41
  ## 2.0.0 (2023-11-16)
12
42
 
13
43
  ### Breaking
@@ -53,6 +53,7 @@ msgid "Center"
53
53
  msgstr "Mittig"
54
54
 
55
55
  #: components/MobileNavigation/MobileNavigation
56
+ #: components/Navigation/Navigation
56
57
  # defaultMessage: Close menu
57
58
  msgid "Close menu"
58
59
  msgstr "Menü schließen"
@@ -164,10 +165,9 @@ msgid "Open menu"
164
165
  msgstr "Menü öffnen"
165
166
 
166
167
  #: components/MobileNavigation/MobileNavigation
167
- #: components/Navigation/Navigation
168
168
  # defaultMessage: Overview
169
169
  msgid "Overview"
170
- msgstr ""
170
+ msgstr "Übersicht"
171
171
 
172
172
  #: components/Theme/EventView
173
173
  # defaultMessage: Phone
@@ -47,6 +47,7 @@ msgid "Center"
47
47
  msgstr ""
48
48
 
49
49
  #: components/MobileNavigation/MobileNavigation
50
+ #: components/Navigation/Navigation
50
51
  # defaultMessage: Close menu
51
52
  msgid "Close menu"
52
53
  msgstr ""
@@ -158,7 +159,6 @@ msgid "Open menu"
158
159
  msgstr ""
159
160
 
160
161
  #: components/MobileNavigation/MobileNavigation
161
- #: components/Navigation/Navigation
162
162
  # defaultMessage: Overview
163
163
  msgid "Overview"
164
164
  msgstr ""
@@ -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-11-16T10:36:14.134Z\n"
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"
@@ -49,6 +49,7 @@ msgid "Center"
49
49
  msgstr ""
50
50
 
51
51
  #: components/MobileNavigation/MobileNavigation
52
+ #: components/Navigation/Navigation
52
53
  # defaultMessage: Close menu
53
54
  msgid "Close menu"
54
55
  msgstr ""
@@ -160,7 +161,6 @@ msgid "Open menu"
160
161
  msgstr ""
161
162
 
162
163
  #: components/MobileNavigation/MobileNavigation
163
- #: components/Navigation/Navigation
164
164
  # defaultMessage: Overview
165
165
  msgid "Overview"
166
166
  msgstr ""
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitconcept/volto-light-theme",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "description": "Volto Light Theme by kitconcept",
5
5
  "main": "src/index.js",
6
6
  "repository": {
@@ -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;