@eeacms/volto-eea-design-system 0.7.3 → 0.8.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.
Files changed (34) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/package.json +1 -1
  3. package/src/ui/Card/AvatarGrid/AvatarGrid.jsx +25 -13
  4. package/src/ui/Card/AvatarGrid/AvatarGrid.stories.jsx +33 -13
  5. package/src/ui/Card/Card.stories.jsx +173 -77
  6. package/src/ui/Card/IconCard/IconCard.stories.jsx +195 -0
  7. package/src/ui/Card/PublicationCard.stories.jsx +15 -3
  8. package/src/ui/Card/RelatedContent/RelatedContent.jsx +30 -8
  9. package/src/ui/Card/RelatedContent/RelatedContent.stories.jsx +20 -0
  10. package/src/ui/Card/RoundedCard.stories.jsx +46 -20
  11. package/src/ui/Footer/Contact.jsx +11 -7
  12. package/src/ui/Footer/Footer.jsx +1 -1
  13. package/src/ui/Footer/FooterActions.jsx +24 -7
  14. package/src/ui/Footer/FooterHeader.jsx +1 -1
  15. package/src/ui/Footer/FooterSites.jsx +22 -10
  16. package/src/ui/Footer/SubFooter.jsx +42 -38
  17. package/src/ui/Header/HeaderMenuPopUp.js +63 -47
  18. package/theme/themes/eea/assets/images/Footer/Extras/footervisual.svg +2041 -1731
  19. package/theme/themes/eea/collections/breadcrumb.overrides +4 -0
  20. package/theme/themes/eea/collections/breadcrumb.variables +1 -1
  21. package/theme/themes/eea/extras/banner.less +0 -8
  22. package/theme/themes/eea/extras/custom.overrides +4 -1
  23. package/theme/themes/eea/extras/footer.less +93 -59
  24. package/theme/themes/eea/extras/footer.variables +31 -34
  25. package/theme/themes/eea/extras/header.less +13 -4
  26. package/theme/themes/eea/extras/header.variables +7 -4
  27. package/theme/themes/eea/globals/site.overrides +20 -0
  28. package/theme/themes/eea/globals/site.variables +9 -8
  29. package/theme/themes/eea/globals/utilities.less +6 -1
  30. package/theme/themes/eea/tokens/fonts.less +18 -17
  31. package/theme/themes/eea/views/card.overrides +179 -123
  32. package/theme/themes/eea/views/card.variables +34 -33
  33. package/theme/themes/eea/views/item.overrides +15 -1
  34. package/theme/themes/eea/views/item.variables +5 -2
@@ -9,6 +9,8 @@ import {
9
9
  Accordion,
10
10
  } from 'semantic-ui-react';
11
11
 
12
+ import { cloneDeep } from 'lodash';
13
+
12
14
  import { Link } from 'react-router-dom';
13
15
  import { useClickOutside } from '@eeacms/volto-eea-design-system/helpers';
14
16
 
@@ -39,6 +41,7 @@ const createColumns = (item, length, renderMenuItem) => {
39
41
 
40
42
  return column;
41
43
  };
44
+
42
45
  const ItemGrid = ({ item, columns, length, renderMenuItem }) => (
43
46
  <>
44
47
  {renderMenuItem(item, { className: 'sub-title' })}
@@ -73,13 +76,7 @@ const Topics = ({ menuItem, renderMenuItem }) => (
73
76
  <React.Fragment key={index}>
74
77
  {section.title === 'At a glance' ? (
75
78
  <Grid.Column width={3} id="at-a-glance">
76
- <Item
77
- item={section}
78
- icon={true}
79
- iconName="ri-leaf-line"
80
- key={index}
81
- renderMenuItem={renderMenuItem}
82
- />
79
+ <Item item={section} key={index} renderMenuItem={renderMenuItem} />
83
80
  </Grid.Column>
84
81
  ) : (
85
82
  <Grid.Column width={9} key={index}>
@@ -148,45 +145,62 @@ const FirstLevelContent = ({ element, renderMenuItem, pathName }) => {
148
145
  const topics = element.title === 'Topics' ? true : false;
149
146
  let defaultIndex = -1;
150
147
 
151
- const firstLevelPanels = [];
152
- let content;
153
- if (!topics) {
154
- element.items.forEach((item, index) => {
155
- let x = {};
156
- x.key = item['@id'] || item['url'];
157
- if (pathName.indexOf(item.url) !== -1) {
158
- defaultIndex = index;
159
- }
160
- x.title = (
161
- <Accordion.Title key={`title=${index}`} index={index}>
162
- {item.title}
163
- <Icon className="ri-arrow-down-s-line" size="small" />
164
- </Accordion.Title>
165
- );
166
- x.content = (
167
- <Accordion.Content key={index}>
168
- {renderMenuItem(item, { className: 'item title-item' })}
169
- <SecondLevelContent element={item} renderMenuItem={renderMenuItem} />
170
- </Accordion.Content>
171
- );
172
- firstLevelPanels.push(x);
173
- });
174
- content = (
175
- <Accordion.Accordion
176
- defaultActiveIndex={defaultIndex}
177
- panels={firstLevelPanels}
178
- />
179
- );
180
- } else {
181
- content = (
182
- <SecondLevelContent
183
- element={element}
184
- topics={true}
185
- renderMenuItem={renderMenuItem}
186
- />
187
- );
188
- }
189
- return <>{content}</>;
148
+ return (
149
+ <>
150
+ {!topics ? (
151
+ <React.Fragment>
152
+ {element.items.map((item, index) => {
153
+ let firstLevelPanels = [];
154
+ if (!item.items.length) {
155
+ return (
156
+ <React.Fragment key={index}>
157
+ {renderMenuItem(item, { className: 'item' })}
158
+ </React.Fragment>
159
+ );
160
+ }
161
+ let x = {};
162
+ x.key = item['@id'] || item['url'];
163
+ if (pathName.indexOf(item.url) !== -1) {
164
+ defaultIndex = index;
165
+ }
166
+ x.title = (
167
+ <Accordion.Title key={`title=${index}`}>
168
+ {item.title}
169
+ <Icon className="ri-arrow-down-s-line" size="small" />
170
+ </Accordion.Title>
171
+ );
172
+ let overflow_item = cloneDeep(item);
173
+ overflow_item.title = 'See all';
174
+ x.content = (
175
+ <Accordion.Content>
176
+ {renderMenuItem(overflow_item, {
177
+ className: 'item title-item',
178
+ })}
179
+ <SecondLevelContent
180
+ element={item}
181
+ renderMenuItem={renderMenuItem}
182
+ />
183
+ </Accordion.Content>
184
+ );
185
+ firstLevelPanels.push(x);
186
+ return (
187
+ <Accordion.Accordion
188
+ panels={firstLevelPanels}
189
+ key={index}
190
+ defaultActiveIndex={defaultIndex === index ? 0 : -1}
191
+ />
192
+ );
193
+ })}
194
+ </React.Fragment>
195
+ ) : (
196
+ <SecondLevelContent
197
+ element={element}
198
+ topics={true}
199
+ renderMenuItem={renderMenuItem}
200
+ />
201
+ )}
202
+ </>
203
+ );
190
204
  };
191
205
 
192
206
  const SecondLevelContent = ({ element, topics = false, renderMenuItem }) => {
@@ -252,9 +266,11 @@ const NestedAccordion = ({ menuItems, renderMenuItem, pathName }) => {
252
266
  <Icon className="ri-arrow-down-s-line" size="small" />
253
267
  </Accordion.Title>
254
268
  );
269
+ let overview = cloneDeep(element);
270
+ overview.title = 'See all';
255
271
  x.content = (
256
272
  <Accordion.Content key={index}>
257
- {renderMenuItem(element, { className: 'item' })}
273
+ {renderMenuItem(overview, { className: 'item' })}
258
274
  <FirstLevelContent
259
275
  element={element}
260
276
  renderMenuItem={renderMenuItem}