@eeacms/volto-eea-design-system 1.14.0 → 1.16.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 (39) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/DEVELOP.md +56 -0
  3. package/README.md +18 -0
  4. package/docker-compose.yml +28 -0
  5. package/locales/de/LC_MESSAGES/volto.po +14 -0
  6. package/locales/it/LC_MESSAGES/volto.po +14 -0
  7. package/locales/ro/LC_MESSAGES/volto.po +14 -0
  8. package/locales/volto.pot +16 -0
  9. package/package.json +2 -2
  10. package/src/helpers/eventHandlers.js +6 -0
  11. package/src/helpers/index.js +1 -0
  12. package/src/ui/Accordion/Accordion.stories.js +70 -25
  13. package/src/ui/Banner/Banner.jsx +9 -2
  14. package/src/ui/Card/Card.stories.jsx +57 -32
  15. package/src/ui/Header/Header.jsx +4 -0
  16. package/src/ui/Header/Header.stories.js +26 -4
  17. package/src/ui/Header/HeaderMenuPopUp.js +116 -103
  18. package/src/ui/Header/HeaderSearchPopUp.js +9 -11
  19. package/src/ui/Popup/Popup.jsx +84 -95
  20. package/src/ui/Popup/Popup.stories.jsx +2 -2
  21. package/src/ui/Statistic/Statistic.stories.js +122 -104
  22. package/theme/plugins.js +182 -0
  23. package/theme/themes/eea/elements/input.overrides +20 -7
  24. package/theme/themes/eea/extras/banner.less +0 -1
  25. package/theme/themes/eea/extras/custom.overrides +5 -0
  26. package/theme/themes/eea/extras/header.less +3 -22
  27. package/theme/themes/eea/extras/header.variables +1 -1
  28. package/theme/themes/eea/extras/main.overrides +6 -0
  29. package/theme/themes/eea/extras/tagList.less +1 -1
  30. package/theme/themes/eea/extras/tagList.variables +1 -1
  31. package/theme/themes/eea/globals/site.variables +3 -3
  32. package/theme/themes/eea/globals/utilities.less +9 -0
  33. package/theme/themes/eea/modules/accordion.overrides +44 -42
  34. package/theme/themes/eea/modules/accordion.variables +4 -4
  35. package/theme/themes/eea/modules/popup.overrides +4 -0
  36. package/theme/themes/eea/views/card.overrides +16 -2
  37. package/theme/themes/eea/views/card.variables +1 -0
  38. package/.i18n.babel.config.js +0 -1
  39. /package/src/ui/Hero/{Hero.stories.jsx → Hero.st.jsx} +0 -0
@@ -6,7 +6,7 @@
6
6
  @tagsBodyWidth : 100%;
7
7
  @tagsLabelsGap : 0.5rem;
8
8
  @tagsGap : 0 1rem;
9
- @tagsContentGap : 0.5rem 1rem;
9
+ @tagsContentGap : 0 1rem;
10
10
 
11
11
  /* Tags Title */
12
12
  @tagsTitleFontColor : @textColorCSSVar;
@@ -111,7 +111,7 @@
111
111
  @inputPadding : @inputVerticalPadding @inputHorizontalPadding;
112
112
 
113
113
  /* Input Text Color */
114
- @inputColor: @textColor;
114
+ @inputColor: @textColorCSSVar;
115
115
  //@inputPlaceholderColor: lighten(@inputColor, 75);
116
116
  @inputPlaceholderColor: #B8C6C8;
117
117
  @inputPlaceholderFocusColor: lighten(@inputColor, 45);
@@ -257,8 +257,8 @@
257
257
  @highlightBackground : #CCE2FF;
258
258
  @highlightColor : @textColor;
259
259
 
260
- @inputHighlightBackground : rgba(100, 100, 100, 0.4);
261
- @inputHighlightColor : @textColor;
260
+ @inputHighlightBackground : rgba(31, 189, 238, 0.5);
261
+ @inputHighlightColor : @textColorCSSVar;
262
262
 
263
263
 
264
264
  /*-------------------
@@ -27,12 +27,21 @@ h1, h2, h3, h4, h5, h6, p, span, .header {
27
27
  z-index: 0;
28
28
  }
29
29
 
30
+ /* Layout */
30
31
  // Flexbox
31
32
  .d-flex { display: flex !important; }
33
+ .flex-row { flex-direction: row !important; }
32
34
  .flex-items-start { align-items: flex-start !important; }
33
35
  .flex-items-end { align-items: flex-end !important; }
34
36
  .flex-items-center { align-items: center !important; }
35
37
 
38
+ // Columns
39
+ each(range(2, 6), {
40
+ .has--@{value}--columns {
41
+ columns: @value;
42
+ }
43
+ });
44
+
36
45
  // Text
37
46
  .text-left,
38
47
  .has--text--left,
@@ -2,6 +2,10 @@
2
2
  Theme Overrides
3
3
  *******************************/
4
4
 
5
+ .accordion .filter {
6
+ background-color: var(--bg-color, transparent);
7
+ }
8
+
5
9
  .ui.accordion button.title {
6
10
  background: transparent;
7
11
  width: 100%;
@@ -12,8 +16,18 @@
12
16
  margin: @itemsMargin;
13
17
  transition: @styledTitleTransition;
14
18
 
15
- .title,
16
- button.title {
19
+ .basic {
20
+ color: @titleColorHover !important;
21
+ }
22
+
23
+ .basic:focus,
24
+ .basic:hover {
25
+ background-color: transparent !important;
26
+ box-shadow: none;
27
+ color: @titleColorHover !important;
28
+ }
29
+
30
+ .title {
17
31
  display: flex;
18
32
  align-items: center;
19
33
  justify-content: @titleJustifyContent;
@@ -23,7 +37,7 @@
23
37
  justify-content: flex-start;
24
38
  }
25
39
 
26
- i {
40
+ .icon {
27
41
  flex-shrink: 0;
28
42
  }
29
43
 
@@ -31,12 +45,12 @@
31
45
  &:focus-visible {
32
46
  color: @titleColorHover;
33
47
 
34
- i {
48
+ .icon {
35
49
  color: @iconColorHover;
36
50
  }
37
51
  }
38
52
 
39
- i {
53
+ .icon {
40
54
  display: flex;
41
55
  width: @iconWidth;
42
56
  height: @iconHeight;
@@ -47,10 +61,6 @@
47
61
  font-size: @iconFontSize;
48
62
  line-height: @iconFontSize;
49
63
 
50
- &:before {
51
- content: @iconInactive;
52
- font-size: @iconFontSize;
53
- }
54
64
  }
55
65
  }
56
66
 
@@ -59,12 +69,8 @@
59
69
  background-color: @activeTitleBackground;
60
70
  color: @activeTitleColor;
61
71
 
62
- i {
72
+ .icon {
63
73
  color: @iconColorActive;
64
-
65
- &:before {
66
- content: @iconActive;
67
- }
68
74
  }
69
75
  }
70
76
 
@@ -106,7 +112,7 @@
106
112
  background-color: transparent;
107
113
  }
108
114
 
109
- .ui.item i {
115
+ .ui.item .icon {
110
116
  font-size: @iconFontSize;
111
117
 
112
118
  &::before {
@@ -118,45 +124,41 @@
118
124
  /*--------------
119
125
  Variations
120
126
  ---------------*/
121
- .ui.accordion:not([class*='ary']) .active.title i {
122
- color: @tertiaryColor;
123
- }
124
127
  .ui.accordion[class*='ary'] .active.title,
125
- .ui.accordion[class*='ary'] .active.title i {
126
- color: white;
128
+ .ui.accordion[class*='ary'] .filter
129
+ {
130
+ --text-color-hover: white;
131
+ --text-color: white;
127
132
  }
128
133
 
129
134
  /* Primary */
130
- .ui.accordion.primary .active.title {
131
- background-color: @primaryColor;
135
+ .ui.accordion.primary .active.title,
136
+ .ui.accordion.primary .filter {
137
+ --bg-color: @primaryColorCSSVar;
132
138
  }
133
- .ui.accordion.primary .title:not(.active):hover,
134
- .ui.accordion.primary .title:not(.active):focus-visible,
135
- .ui.accordion.primary .title:not(.active):hover i,
136
- .ui.accordion.primary .title:not(.active):focus-visible i {
137
- color: @primaryColorCSSVar;
139
+ .ui.accordion.primary .title:not(.active, .filter):hover,
140
+ .ui.accordion.primary .title:not(.active, .filter):focus-visible {
141
+ --text-color-hover: @primaryColorCSSVar;
138
142
  }
139
143
 
140
144
  /* Secondary */
141
- .ui.accordion.secondary .active.title {
142
- background-color: @secondaryColor;
145
+ .ui.accordion.secondary .active.title,
146
+ .ui.accordion.secondary .filter {
147
+ --bg-color: @secondaryColorCSSVar;
143
148
  }
144
- .ui.accordion.secondary .title:not(.active):hover,
145
- .ui.accordion.secondary .title:not(.active):focus-visible,
146
- .ui.accordion.secondary .title:not(.active):hover i,
147
- .ui.accordion.secondary .title:not(.active):focus-visible i {
148
- color: @secondaryColorCSSVar;
149
+ .ui.accordion.secondary .title:not(.active, .filter):hover,
150
+ .ui.accordion.secondary .title:not(.active, .filter):focus-visible {
151
+ --text-color-hover: @secondaryColorCSSVar;
149
152
  }
150
153
 
151
154
  /* Tertiary */
152
- .ui.accordion.tertiary .active.title {
153
- background-color: @tertiaryColor;
155
+ .ui.accordion.tertiary .active.title,
156
+ .ui.accordion.tertiary .filter {
157
+ --bg-color: @tertiaryColorCSSVar;
154
158
  }
155
- .ui.accordion.tertiary .title:not(.active):hover,
156
- .ui.accordion.tertiary .title:not(.active):focus-visible,
157
- .ui.accordion.tertiary .title:not(.active):hover i,
158
- .ui.accordion.tertiary .title:not(.active):focus-visible i {
159
- color: @tertiaryColorCSSVar;
159
+ .ui.accordion.tertiary .title:not(.active, .filter):hover,
160
+ .ui.accordion.tertiary .title:not(.active, .filter):focus-visible {
161
+ --text-color-hover: @tertiaryColorCSSVar;
160
162
  }
161
163
 
162
164
  @media only screen and (max-width: @largestMobileScreen) {
@@ -164,4 +166,4 @@
164
166
  .accordion-block h2 * { font-size: @mobileH2; }
165
167
  .accordion-block h3 * { font-size: @mobileH3; }
166
168
  .accordion-block h4 * { font-size: @mobileH4; }
167
- }
169
+ }
@@ -17,7 +17,7 @@
17
17
 
18
18
  /* Icon */
19
19
  @iconColor: var(--text-color, @oldSilver);
20
- @iconColorActive: @white;
20
+ @iconColorActive: inherit;
21
21
  @iconOpacity: 1;
22
22
  @iconFontSize: 3rem;
23
23
  @iconFloat: none;
@@ -33,9 +33,9 @@
33
33
  @iconVerticalAlign: baseline;
34
34
  @iconTransform: none;
35
35
  @iconColorHover: @titleColorHover;
36
- @iconInactive: "\ea4e"; // Icon of closed accordion
37
- @iconActive: "\EA78"; // Icon of open accordion
38
36
  @iconOrder: 1; // Icon after text of the title
37
+ @filterIconWidth: 3rem;
38
+ @filterIconFontSize: 2rem;
39
39
 
40
40
  /* Child Accordion */
41
41
  @childAccordionMargin: 1em 0em 0em;
@@ -64,7 +64,7 @@
64
64
 
65
65
  @activeIconTransform: none;
66
66
  @activeTitleBackground: var(--bg-color, @white);
67
- @activeTitleColor: @grey-5;
67
+ @activeTitleColor: var(--text-color, @grey-5);
68
68
  @activeTitleBorderBottom: 0;
69
69
 
70
70
  /*-------------------
@@ -81,3 +81,7 @@
81
81
  .with-popup {
82
82
  cursor: @cursor;
83
83
  }
84
+
85
+ .popup-container .popup {
86
+ position: initial; // without position initial popper cannot correctly place popup
87
+ }
@@ -270,7 +270,7 @@
270
270
 
271
271
  .card .gradient {
272
272
  display: flex;
273
- align-items: end;
273
+ align-items: flex-end;
274
274
  position: absolute;
275
275
  bottom: 0;
276
276
  width: 100%;
@@ -359,6 +359,10 @@
359
359
  z-index: 1; // make arrows clickable even on events page with right column
360
360
  }
361
361
 
362
+ .cards-carousel .slider-arrow.slick-disabled {
363
+ opacity: @carouselArrowDisabledOpacity;
364
+ }
365
+
362
366
  .cards-carousel .prev-arrow {
363
367
  right: auto;
364
368
  left: @carouselButtonDistance;
@@ -377,6 +381,9 @@
377
381
  }
378
382
 
379
383
  .cards-carousel .slick-dots li button:before {
384
+ content: none;
385
+ }
386
+ .cards-carousel .slick-dots li .slick-dot-icon:before {
380
387
  background-color: @carouselDotsBackgroundColor;
381
388
  color: transparent;
382
389
  border: @carouselDotsBorder;
@@ -384,9 +391,16 @@
384
391
  opacity: @carouselDotsOpacity;
385
392
  width: @mobileCarouselDotsWidth;
386
393
  height: @mobileCarouselDotsHeight;
394
+ position: absolute;
395
+ top: 0;
396
+ left: 0;
397
+ content: '•';
398
+ text-align: center;
399
+ -webkit-font-smoothing: antialiased;
400
+ -moz-osx-font-smoothing: grayscale;
387
401
  }
388
402
 
389
- .cards-carousel .slick-dots li.slick-active button:before {
403
+ .cards-carousel .slick-dots li.slick-active .slick-dot-icon:before {
390
404
  background-color: @carouselDotsActiveBackgroundColor;
391
405
  color: transparent;
392
406
  }
@@ -345,6 +345,7 @@
345
345
  @carouselButtonIconOpacity: 1;
346
346
  @carouselButtonDistance: -3.5rem;
347
347
  @carouselButtonPaddingTop: 0;
348
+ @carouselArrowDisabledOpacity: 0.25;
348
349
 
349
350
  /* Dots */
350
351
  @carouselDotsFontSize: 0.75rem;
@@ -1 +0,0 @@
1
- module.exports = require('@plone/volto/babel');
File without changes