@eeacms/volto-eea-design-system 1.50.0 → 1.50.2
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/.eslintrc.js +7 -6
- package/CHANGELOG.md +18 -0
- package/package.json +1 -1
- package/src/ui/Banner/Banner.stories.jsx +1 -1
- package/src/ui/Card/Card.stories.jsx +2 -2
- package/src/ui/DownloadLabeledIcon/DownloadLabeledIcon.stories.jsx +1 -1
- package/src/ui/DraftContent/DraftContent.stories.jsx +4 -1
- package/src/ui/Footer/FooterActions.jsx +1 -1
- package/src/ui/Footer/FooterSitesButton.jsx +1 -1
- package/src/ui/Footer/SubFooter.jsx +2 -2
- package/src/ui/Form/Dropdown.stories.js +1 -1
- package/src/ui/Form/Input.stories.js +1 -1
- package/src/ui/Form/Textarea.stories.js +1 -1
- package/src/ui/Grid/ComponentGrid.stories.js +2 -2
- package/src/ui/Header/Header.jsx +3 -3
- package/src/ui/Header/HeaderMenuPopUp.js +3 -2
- package/src/ui/Hero/Hero.jsx +1 -1
- package/src/ui/InpageNavigation/InpageNavigation.jsx +1 -1
- package/src/ui/LabeledIconGroup/LabeledIconGroup.jsx +3 -3
- package/src/ui/LanguageLabeledIcon/LanguageLabeledIcon.stories.jsx +1 -1
- package/src/ui/NewTabLabeledIcon/NewTabLabeledIcon.stories.jsx +1 -1
- package/src/ui/Quote/Testimonial/Testimonial.jsx +1 -1
- package/src/ui/Statistic/Statistic.stories.js +12 -4
- package/src/ui/Table/Table.stories.js +2 -2
- package/src/ui/Tag/Tag.jsx +1 -1
- package/src/ui/TagList/TagList.stories.jsx +1 -1
- package/src/ui/UnderlinedTitle/UnderlinedTitle.stories.jsx +1 -1
- package/src/ui/Video/Video.jsx +1 -1
- package/theme/themes/eea/collections/menu.overrides +1 -1
- package/theme/themes/eea/extras/copyright.variables +1 -1
- package/theme/themes/eea/extras/header.less +2 -1
package/.eslintrc.js
CHANGED
|
@@ -19,16 +19,16 @@ if (configFile) {
|
|
|
19
19
|
voltoPath = `./${jsConfig.baseUrl}/${pathsConfig['@plone/volto'][0]}`;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
const
|
|
23
|
-
const
|
|
22
|
+
const { AddonRegistry } = require('@plone/registry/addon-registry');
|
|
23
|
+
const { registry } = AddonRegistry.init(projectRootPath);
|
|
24
24
|
|
|
25
25
|
// Extends ESlint configuration for adding the aliases to `src` directories in Volto addons
|
|
26
|
-
const addonAliases = Object.keys(
|
|
26
|
+
const addonAliases = Object.keys(registry.packages).map((o) => [
|
|
27
27
|
o,
|
|
28
|
-
|
|
28
|
+
registry.packages[o].modulePath,
|
|
29
29
|
]);
|
|
30
30
|
|
|
31
|
-
const addonExtenders =
|
|
31
|
+
const addonExtenders = registry.getEslintExtenders().map((m) => require(m));
|
|
32
32
|
|
|
33
33
|
const defaultConfig = {
|
|
34
34
|
extends: `${voltoPath}/.eslintrc`,
|
|
@@ -37,7 +37,7 @@ const defaultConfig = {
|
|
|
37
37
|
alias: {
|
|
38
38
|
map: [
|
|
39
39
|
['@plone/volto', '@plone/volto/src'],
|
|
40
|
-
['@plone/volto-slate', '@plone/volto
|
|
40
|
+
['@plone/volto-slate', '@plone/volto-slate/src'],
|
|
41
41
|
...addonAliases,
|
|
42
42
|
['@package', `${__dirname}/src`],
|
|
43
43
|
['@root', `${__dirname}/src`],
|
|
@@ -51,6 +51,7 @@ const defaultConfig = {
|
|
|
51
51
|
},
|
|
52
52
|
},
|
|
53
53
|
rules: {
|
|
54
|
+
'react/jsx-filename-extension': [1, { extensions: ['.js', '.jsx'] }],
|
|
54
55
|
'react/jsx-no-target-blank': 'off',
|
|
55
56
|
},
|
|
56
57
|
};
|
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,24 @@ All notable changes to this project will be documented in this file. Dates are d
|
|
|
4
4
|
|
|
5
5
|
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
6
6
|
|
|
7
|
+
### [1.50.2](https://github.com/eea/volto-eea-design-system/compare/1.50.1...1.50.2) - 9 April 2026
|
|
8
|
+
|
|
9
|
+
#### :bug: Bug Fixes
|
|
10
|
+
|
|
11
|
+
- fix: Docusaurus build [Alin Voinea - [`0339369`](https://github.com/eea/volto-eea-design-system/commit/0339369cda49e3772b164eff3345523f7cba551e)]
|
|
12
|
+
- fix: warnings [Alin Voinea - [`a1e035d`](https://github.com/eea/volto-eea-design-system/commit/a1e035d47b822d755414cf436aa052e85066e197)]
|
|
13
|
+
|
|
14
|
+
### [1.50.1](https://github.com/eea/volto-eea-design-system/compare/1.50.0...1.50.1) - 7 April 2026
|
|
15
|
+
|
|
16
|
+
#### :bug: Bug Fixes
|
|
17
|
+
|
|
18
|
+
- fix: megamenu breaking columns - refs #302209 [Teodor Voicu - [`5dd05ba`](https://github.com/eea/volto-eea-design-system/commit/5dd05ba4925e96c37ed0801df5376185c821d0ed)]
|
|
19
|
+
- fix: make test [Alin V. (Claudiu) - [`98dc41b`](https://github.com/eea/volto-eea-design-system/commit/98dc41b32de9bab9680105e4549e7b68c2116072)]
|
|
20
|
+
|
|
21
|
+
#### :house: Internal changes
|
|
22
|
+
|
|
23
|
+
- chore: Volto 18 eslint update - refs #301881 [Teodor Voicu - [`0446edb`](https://github.com/eea/volto-eea-design-system/commit/0446edbb5552608f7658f61fbe4a5d58f71b62b4)]
|
|
24
|
+
|
|
7
25
|
### [1.50.0](https://github.com/eea/volto-eea-design-system/compare/1.40.3...1.50.0) - 25 March 2026
|
|
8
26
|
|
|
9
27
|
#### :rocket: New Features
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@ import Banner from './Banner';
|
|
|
5
5
|
import imgUrl from '@eeacms/volto-eea-design-system/../theme/themes/eea/assets/images/banner.png';
|
|
6
6
|
import { Icon, Container } from 'semantic-ui-react';
|
|
7
7
|
import Popup from '@eeacms/volto-eea-design-system/ui/Popup/Popup';
|
|
8
|
-
import Copyright from '
|
|
8
|
+
import Copyright from '@eeacms/volto-eea-design-system/ui/Copyright/Copyright';
|
|
9
9
|
|
|
10
10
|
export default {
|
|
11
11
|
title: 'Components/Page Header',
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Card, Image, Grid, Container, Icon, Button } from 'semantic-ui-react';
|
|
3
3
|
import Slider from 'react-slick';
|
|
4
|
-
import TagList from '
|
|
5
|
-
import Tag from '
|
|
4
|
+
import TagList from '@eeacms/volto-eea-design-system/ui/TagList/TagList';
|
|
5
|
+
import Tag from '@eeacms/volto-eea-design-system/ui/Tag/Tag';
|
|
6
6
|
|
|
7
7
|
import 'slick-carousel/slick/slick.css';
|
|
8
8
|
import 'slick-carousel/slick/slick-theme.css';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Button } from 'semantic-ui-react';
|
|
3
3
|
import DownloadLabeledIcon from './DownloadLabeledIcon';
|
|
4
|
-
import LabeledIconGroup from '
|
|
4
|
+
import LabeledIconGroup from '@eeacms/volto-eea-design-system/ui/LabeledIconGroup/LabeledIconGroup';
|
|
5
5
|
|
|
6
6
|
export default {
|
|
7
7
|
title: 'Components/Labeled Icons/Download',
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
Default as HeaderDefault,
|
|
4
|
+
HeaderArgs,
|
|
5
|
+
} from '@eeacms/volto-eea-design-system/ui/Header/Header.stories';
|
|
3
6
|
import './draft.css';
|
|
4
7
|
|
|
5
8
|
export default {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Link } from 'react-router-dom';
|
|
3
3
|
import { Grid } from 'semantic-ui-react';
|
|
4
|
-
import { isInternalURL } from '@plone/volto/helpers';
|
|
4
|
+
import { isInternalURL } from '@plone/volto/helpers/Url/Url';
|
|
5
5
|
|
|
6
6
|
const FooterActions = (props) => {
|
|
7
7
|
if (props.children) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import
|
|
2
|
+
import Contact from './Contact';
|
|
3
3
|
|
|
4
4
|
import { Grid, Image } from 'semantic-ui-react';
|
|
5
5
|
|
|
@@ -39,7 +39,7 @@ const SubFooter = (props) => {
|
|
|
39
39
|
{props.contacts?.length > 0 && (
|
|
40
40
|
<Grid.Column mobile={12} tablet={12} computer={4}>
|
|
41
41
|
<div className="item">
|
|
42
|
-
<
|
|
42
|
+
<Contact contacts={props.contacts} />
|
|
43
43
|
</div>
|
|
44
44
|
</Grid.Column>
|
|
45
45
|
)}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Dropdown, Form, Container } from 'semantic-ui-react';
|
|
3
|
-
import FormFieldWrapper from '
|
|
3
|
+
import FormFieldWrapper from '@eeacms/volto-eea-design-system/ui/FormFieldWrapper/FormFieldWrapper';
|
|
4
4
|
|
|
5
5
|
export default {
|
|
6
6
|
title: 'Components/Forms/Dropdown',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Input, Form, Container } from 'semantic-ui-react';
|
|
3
|
-
import FormFieldWrapper from '
|
|
3
|
+
import FormFieldWrapper from '@eeacms/volto-eea-design-system/ui/FormFieldWrapper/FormFieldWrapper';
|
|
4
4
|
|
|
5
5
|
export default {
|
|
6
6
|
title: 'Components/Forms/Input',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { TextArea, Form, Container } from 'semantic-ui-react';
|
|
3
|
-
import FormFieldWrapper from '
|
|
3
|
+
import FormFieldWrapper from '@eeacms/volto-eea-design-system/ui/FormFieldWrapper/FormFieldWrapper';
|
|
4
4
|
|
|
5
5
|
export default {
|
|
6
6
|
title: 'Components/Forms/Text Area',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import times from 'lodash/times';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { Grid, Container } from 'semantic-ui-react';
|
|
4
4
|
|
|
@@ -9,7 +9,7 @@ export default {
|
|
|
9
9
|
};
|
|
10
10
|
|
|
11
11
|
const getColumns = (number, text) => {
|
|
12
|
-
const columns =
|
|
12
|
+
const columns = times(number, (i) => (
|
|
13
13
|
<Grid.Column key={i}>
|
|
14
14
|
<div className="col-example">{text}</div>
|
|
15
15
|
</Grid.Column>
|
package/src/ui/Header/Header.jsx
CHANGED
|
@@ -16,8 +16,8 @@ import HeaderSearchPopUp from './HeaderSearchPopUp';
|
|
|
16
16
|
import HeaderMenuPopUp from './HeaderMenuPopUp';
|
|
17
17
|
import { findBestMatchingMenuItem, isMenuItemActive } from './utils';
|
|
18
18
|
import PropTypes from 'prop-types';
|
|
19
|
-
import
|
|
20
|
-
import { isInternalURL } from '@plone/volto/helpers';
|
|
19
|
+
import omit from 'lodash/omit';
|
|
20
|
+
import { isInternalURL } from '@plone/volto/helpers/Url/Url';
|
|
21
21
|
import config from '@plone/volto/registry';
|
|
22
22
|
|
|
23
23
|
Header.propTypes = {
|
|
@@ -390,7 +390,7 @@ const BurgerAction = React.forwardRef((props, ref) => (
|
|
|
390
390
|
<button
|
|
391
391
|
ref={ref}
|
|
392
392
|
className={`burger-action ${props.className}`}
|
|
393
|
-
{...
|
|
393
|
+
{...omit(props, ['onClick', 'children', 'className', 'ref'])}
|
|
394
394
|
onClick={props.onClick}
|
|
395
395
|
>
|
|
396
396
|
{props.children}
|
|
@@ -8,10 +8,11 @@ import {
|
|
|
8
8
|
Transition,
|
|
9
9
|
} from 'semantic-ui-react';
|
|
10
10
|
|
|
11
|
-
import
|
|
11
|
+
import cloneDeep from 'lodash/cloneDeep';
|
|
12
|
+
import kebabCase from 'lodash/kebabCase';
|
|
12
13
|
|
|
13
14
|
import { useClickOutside } from '@eeacms/volto-eea-design-system/helpers';
|
|
14
|
-
import { numbersToMenuItemColumns } from '
|
|
15
|
+
import { numbersToMenuItemColumns } from '@eeacms/volto-eea-design-system/ui/Header/utils';
|
|
15
16
|
|
|
16
17
|
const generateCssClassFromUrl = (url) => {
|
|
17
18
|
if (!url) return '';
|
package/src/ui/Hero/Hero.jsx
CHANGED
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
|
|
4
4
|
import { Icon } from 'semantic-ui-react';
|
|
5
|
-
import Copyright from '
|
|
5
|
+
import Copyright from '@eeacms/volto-eea-design-system/ui/Copyright/Copyright';
|
|
6
6
|
|
|
7
7
|
Hero.propTypes = {
|
|
8
8
|
image: PropTypes.bool,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Button } from 'semantic-ui-react';
|
|
3
|
-
import NewTabLabeledIcon from '
|
|
4
|
-
import DownloadLabeledIcon from '
|
|
5
|
-
import LanguageLabeledIcon from '
|
|
3
|
+
import NewTabLabeledIcon from '@eeacms/volto-eea-design-system/ui/NewTabLabeledIcon/NewTabLabeledIcon';
|
|
4
|
+
import DownloadLabeledIcon from '@eeacms/volto-eea-design-system/ui/DownloadLabeledIcon/DownloadLabeledIcon';
|
|
5
|
+
import LanguageLabeledIcon from '@eeacms/volto-eea-design-system/ui/LanguageLabeledIcon/LanguageLabeledIcon';
|
|
6
6
|
|
|
7
7
|
function LabeledIconGroup({ children, ...rest }) {
|
|
8
8
|
return (
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Button } from 'semantic-ui-react';
|
|
3
3
|
import LanguageLabeledIcon from './LanguageLabeledIcon';
|
|
4
|
-
import LabeledIconGroup from '
|
|
4
|
+
import LabeledIconGroup from '@eeacms/volto-eea-design-system/ui/LabeledIconGroup/LabeledIconGroup';
|
|
5
5
|
|
|
6
6
|
export default {
|
|
7
7
|
title: 'Components/Labeled Icons/Language',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import NewTabLabeledIcon from './NewTabLabeledIcon';
|
|
3
|
-
import LabeledIconGroup from '
|
|
3
|
+
import LabeledIconGroup from '@eeacms/volto-eea-design-system/ui/LabeledIconGroup/LabeledIconGroup';
|
|
4
4
|
|
|
5
5
|
export default {
|
|
6
6
|
title: 'Components/Labeled Icons/New Tab',
|
|
@@ -227,8 +227,12 @@ const CustomTemplate = (args) => (
|
|
|
227
227
|
<Container>
|
|
228
228
|
<Statistic.Group {...args}>
|
|
229
229
|
{args.elements &&
|
|
230
|
-
args.elements.map((element) => (
|
|
231
|
-
<a
|
|
230
|
+
args.elements.map((element, index) => (
|
|
231
|
+
<a
|
|
232
|
+
key={element.href ?? `${element.label}-${index}`}
|
|
233
|
+
href={element.href}
|
|
234
|
+
className="ui small statistic"
|
|
235
|
+
>
|
|
232
236
|
<div className={`value ${args.valueVariation}`}>
|
|
233
237
|
{element.value}
|
|
234
238
|
</div>
|
|
@@ -429,8 +433,12 @@ const CountUpStatistics = (args) => (
|
|
|
429
433
|
<Container>
|
|
430
434
|
<Statistic.Group id="counter" {...args}>
|
|
431
435
|
{args.elements &&
|
|
432
|
-
args.elements.map((element) => (
|
|
433
|
-
<a
|
|
436
|
+
args.elements.map((element, index) => (
|
|
437
|
+
<a
|
|
438
|
+
key={element.href ?? `${element.label}-${index}`}
|
|
439
|
+
href={element.href}
|
|
440
|
+
className="ui small statistic"
|
|
441
|
+
>
|
|
434
442
|
<div className={`value ${args.valueVariation}`}>
|
|
435
443
|
<CountUp end={element.value} isCounting={true} />
|
|
436
444
|
</div>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Table, Container } from 'semantic-ui-react';
|
|
3
|
-
import
|
|
3
|
+
import sortBy from 'lodash/sortBy';
|
|
4
4
|
|
|
5
5
|
export default {
|
|
6
6
|
title: 'Components/Table',
|
|
@@ -224,7 +224,7 @@ function reducer(state, action) {
|
|
|
224
224
|
|
|
225
225
|
return {
|
|
226
226
|
column: action.column,
|
|
227
|
-
data:
|
|
227
|
+
data: sortBy(state.data, [action.column]),
|
|
228
228
|
direction: 'ascending',
|
|
229
229
|
};
|
|
230
230
|
default:
|
package/src/ui/Tag/Tag.jsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Icon } from 'semantic-ui-react';
|
|
3
|
-
import
|
|
3
|
+
import ConditionalLink from '@plone/volto/components/manage/ConditionalLink/ConditionalLink';
|
|
4
4
|
import { getFieldURL } from '@plone/volto/helpers/Url/Url';
|
|
5
5
|
|
|
6
6
|
function Tag({ href, children }) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import TagList from './TagList';
|
|
3
|
-
import Tag from '
|
|
3
|
+
import Tag from '@eeacms/volto-eea-design-system/ui/Tag/Tag';
|
|
4
4
|
import { Container } from 'semantic-ui-react';
|
|
5
5
|
import configureStore from 'redux-mock-store';
|
|
6
6
|
import { Provider } from 'react-redux';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Header, Divider, Container } from 'semantic-ui-react';
|
|
3
|
-
import ContentBox from '
|
|
3
|
+
import ContentBox from '@eeacms/volto-eea-design-system/ui/ContentBox/ContentBox';
|
|
4
4
|
|
|
5
5
|
export default {
|
|
6
6
|
title: 'Components/Heading/Underlined',
|
package/src/ui/Video/Video.jsx
CHANGED
|
@@ -230,7 +230,7 @@
|
|
|
230
230
|
.ui.pagination.pointing.secondary, .ui.pagination {
|
|
231
231
|
display: flex;
|
|
232
232
|
width: @paginationWidth;
|
|
233
|
-
justify-content: start;
|
|
233
|
+
justify-content: flex-start;
|
|
234
234
|
|
|
235
235
|
@media only screen and (min-width: @tabletBreakpoint) {
|
|
236
236
|
justify-content: center;
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
@copyrightWrapperPaddingLeft: @rem-space-3;
|
|
13
13
|
@copyrightWrapperPaddingRight: @rem-space-3;
|
|
14
14
|
@copyrightWrapperBottom: @rem-space-4;
|
|
15
|
-
@copyrightAlignItems: start;
|
|
15
|
+
@copyrightAlignItems: flex-start;
|
|
16
16
|
|
|
17
17
|
/* Image block */
|
|
18
18
|
@floatImageLeftMaxWidth: 50%;
|
|
@@ -664,7 +664,7 @@
|
|
|
664
664
|
display: flex;
|
|
665
665
|
max-height: 100%;
|
|
666
666
|
flex-wrap: wrap;
|
|
667
|
-
justify-content: end;
|
|
667
|
+
justify-content: flex-end;
|
|
668
668
|
margin: 0;
|
|
669
669
|
padding-left: 0;
|
|
670
670
|
|
|
@@ -771,6 +771,7 @@
|
|
|
771
771
|
padding: @megaMenuListItemPadding;
|
|
772
772
|
font-size: @megaMenuListItemFontSize;
|
|
773
773
|
font-weight: @megaMenuListItemFontWeight;
|
|
774
|
+
break-inside: avoid;
|
|
774
775
|
}
|
|
775
776
|
|
|
776
777
|
#mega-menu a.item {
|