@eeacms/volto-eea-design-system 0.3.0 → 0.4.1

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 (53) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/package.json +3 -2
  3. package/src/semantic.less +21 -1
  4. package/src/ui/Card/Card.stories.jsx +185 -5
  5. package/src/ui/DownloadLabeledIcon/DownloadLabeledIcon.jsx +54 -0
  6. package/src/ui/DownloadLabeledIcon/DownloadLabeledIcon.stories.jsx +68 -0
  7. package/src/ui/LabeledIconGroup/LabeledIconGroup.jsx +67 -0
  8. package/src/ui/LabeledIconGroup/LabeledIconGroup.stories.jsx +74 -0
  9. package/src/ui/LanguageLabeledIcon/LanguageLabeledIcon.jsx +92 -0
  10. package/src/ui/LanguageLabeledIcon/LanguageLabeledIcon.stories.jsx +63 -0
  11. package/src/ui/NewTabLabeledIcon/NewTabLabeledIcon.jsx +26 -0
  12. package/src/ui/NewTabLabeledIcon/NewTabLabeledIcon.stories.jsx +49 -0
  13. package/src/ui/Quote/Quote.jsx +1 -1
  14. package/src/ui/Quote/Quote.stories.jsx +21 -29
  15. package/src/ui/index.js +8 -0
  16. package/theme/theme.config +4 -0
  17. package/theme/themes/eea/assets/images/Svg/data-analytics.svg +14 -0
  18. package/theme/themes/eea/assets/images/Svg/globe-eco.svg +3 -0
  19. package/theme/themes/eea/assets/images/Svg/knowledge.svg +3 -0
  20. package/theme/themes/eea/assets/images/Svg/network.svg +3 -0
  21. package/theme/themes/eea/assets/images/Svg/sustainable.svg +38 -0
  22. package/theme/themes/eea/collections/table.overrides +1 -1
  23. package/theme/themes/eea/definitions/views/item.less +475 -0
  24. package/theme/themes/eea/elements/input.overrides +68 -0
  25. package/theme/themes/eea/elements/label.overrides +111 -3
  26. package/theme/themes/eea/elements/label.variables +17 -3
  27. package/theme/themes/eea/elements/segment.overrides +5 -2
  28. package/theme/themes/eea/extras/downloadLabeledIcon.less +87 -0
  29. package/theme/themes/eea/extras/downloadLabeledIcon.variables +45 -0
  30. package/theme/themes/eea/extras/labeledIconGroup.less +20 -0
  31. package/theme/themes/eea/extras/labeledIconGroup.variables +10 -0
  32. package/theme/themes/eea/extras/languageLabeledIcon.less +81 -0
  33. package/theme/themes/eea/extras/languageLabeledIcon.variables +41 -0
  34. package/theme/themes/eea/extras/main.variables +1 -1
  35. package/theme/themes/eea/extras/newTabLabeledIcon.less +41 -0
  36. package/theme/themes/eea/extras/newTabLabeledIcon.variables +23 -0
  37. package/theme/themes/eea/extras/quote.less +3 -3
  38. package/theme/themes/eea/extras/quote.variables +4 -4
  39. package/theme/themes/eea/globals/site.overrides +2 -0
  40. package/theme/themes/eea/globals/site.variables +25 -6
  41. package/theme/themes/eea/globals/utilities.less +31 -0
  42. package/theme/themes/eea/tokens/borders.less +14 -0
  43. package/theme/themes/eea/tokens/colors.less +63 -0
  44. package/theme/themes/eea/tokens/fonts.less +2 -2
  45. package/theme/themes/eea/tokens/shadows.less +41 -0
  46. package/theme/themes/eea/tokens/shapes.less +6 -0
  47. package/theme/themes/eea/tokens/sizes.less +106 -17
  48. package/theme/themes/eea/tokens/tokens.less +5 -0
  49. package/theme/themes/eea/tokens/z-index.less +12 -0
  50. package/theme/themes/eea/views/card.overrides +108 -0
  51. package/theme/themes/eea/views/card.variables +29 -1
  52. package/theme/themes/eea/views/item.overrides +37 -0
  53. package/theme/themes/eea/views/item.variables +12 -3
@@ -0,0 +1,41 @@
1
+ @shadow-color: 220, 3%, 15%;
2
+ @shadow-strength: 1%;
3
+
4
+ @shadow-0: none;
5
+ @shadow-1: 0 1px 2px -1px hsla(@shadow-color, calc(@shadow-strength + 9%));
6
+ @shadow-2:
7
+ 0 3px 5px -2px hsla(@shadow-color, calc(@shadow-strength + 3%)),
8
+ 0 7px 14px -5px hsla(@shadow-color, calc(@shadow-strength + 5%));
9
+ @shadow-3:
10
+ 0 -1px 3px 0 hsla(@shadow-color, calc(@shadow-strength + 2%)),
11
+ 0 1px 2px -5px hsla(@shadow-color, calc(@shadow-strength + 2%)),
12
+ 0 2px 5px -5px hsla(@shadow-color, calc(@shadow-strength + 4%)),
13
+ 0 4px 12px -5px hsla(@shadow-color, calc(@shadow-strength + 5%)),
14
+ 0 12px 15px -5px hsla(@shadow-color, calc(@shadow-strength + 7%));
15
+ @shadow-4:
16
+ 0 -2px 5px 0 hsla(@shadow-color, calc(@shadow-strength + 2%)),
17
+ 0 1px 1px -2px hsla(@shadow-color, calc(@shadow-strength + 3%)),
18
+ 0 2px 2px -2px hsla(@shadow-color, calc(@shadow-strength + 3%)),
19
+ 0 5px 5px -2px hsla(@shadow-color, calc(@shadow-strength + 4%)),
20
+ 0 9px 9px -2px hsla(@shadow-color, calc(@shadow-strength + 5%)),
21
+ 0 16px 16px -2px hsla(@shadow-color, calc(@shadow-strength + 6%));
22
+ @shadow-5:
23
+ 0 -1px 2px 0 hsla(@shadow-color, calc(@shadow-strength + 2%)),
24
+ 0 2px 1px -2px hsla(@shadow-color, calc(@shadow-strength + 3%)),
25
+ 0 5px 5px -2px hsla(@shadow-color, calc(@shadow-strength + 3%)),
26
+ 0 10px 10px -2px hsla(@shadow-color, calc(@shadow-strength + 4%)),
27
+ 0 20px 20px -2px hsla(@shadow-color, calc(@shadow-strength + 5%)),
28
+ 0 40px 40px -2px hsla(@shadow-color, calc(@shadow-strength + 7%));
29
+ @shadow-6:
30
+ 0 -1px 2px 0 hsla(@shadow-color, calc(@shadow-strength + 2%)),
31
+ 0 3px 2px -2px hsla(@shadow-color, calc(@shadow-strength + 3%)),
32
+ 0 7px 5px -2px hsla(@shadow-color, calc(@shadow-strength + 3%)),
33
+ 0 12px 10px -2px hsla(@shadow-color, calc(@shadow-strength + 4%)),
34
+ 0 22px 18px -2px hsla(@shadow-color, calc(@shadow-strength + 5%)),
35
+ 0 41px 33px -2px hsla(@shadow-color, calc(@shadow-strength + 6%)),
36
+ 0 100px 80px -2px hsla(@shadow-color, calc(@shadow-strength + 7%));
37
+ @inner-shadow-0: inset 0 0 0 1px hsla(@shadow-color, calc(@shadow-strength + 9%));
38
+ @inner-shadow-1: inset 0 1px 2px 0 hsla(@shadow-color, calc(@shadow-strength + 9%));
39
+ @inner-shadow-2: inset 0 1px 4px 0 hsla(@shadow-color, calc(@shadow-strength + 9%));
40
+ @inner-shadow-3: inset 0 2px 8px 0 hsla(@shadow-color, calc(@shadow-strength + 9%));
41
+ @inner-shadow-4: inset 0 2px 14px 0 hsla(@shadow-color, calc(@shadow-strength + 9%));
@@ -0,0 +1,6 @@
1
+ // Blob
2
+ @radius-blob-1: 30% 70% 70% 30% / 53% 30% 70% 47%;
3
+ @radius-blob-2: 53% 47% 34% 66% / 63% 46% 54% 37%;
4
+ @radius-blob-3: 37% 63% 56% 44% / 49% 56% 44% 51%;
5
+ @radius-blob-4: 63% 37% 37% 63% / 43% 37% 63% 57%;
6
+ @radius-blob-5: 49% 51% 48% 52% / 57% 44% 56% 43%;
@@ -1,17 +1,106 @@
1
- @size-000: -.5rem;
2
- @size-00: -.25rem;
3
- @size-1: .25rem;
4
- @size-2: .5rem;
5
- @size-3: 1rem;
6
- @size-4: 1.25rem;
7
- @size-5: 1.5rem;
8
- @size-6: 1.75rem;
9
- @size-7: 2rem;
10
- @size-8: 3rem;
11
- @size-9: 4rem;
12
- @size-10: 5rem;
13
- @size-11: 7.5rem;
14
- @size-12: 10rem;
15
- @size-13: 15rem;
16
- @size-14: 20rem;
17
- @size-15: 30rem;
1
+ @spacer: 4px;
2
+
3
+ @space-025: @spacer * 0.25; //1px;
4
+ @space-05: @spacer * 0.5; //2px;
5
+ @space-1: @spacer * 1; //4px;
6
+ @space-2: @spacer * 2; //8px;
7
+ @space-3: @spacer * 3; //12px;
8
+ @space-3-5: @spacer * 3.5; //14px;
9
+ @space-4: @spacer * 4; //16px;
10
+ @space-5: @spacer * 5; //20px;
11
+ @space-6: @spacer * 6; //24px;
12
+ @space-7: @spacer * 7; //28px;
13
+ @space-7-5: @spacer * 7.5; //30px;
14
+ @space-8: @spacer * 8; //32px;
15
+ @space-9: @spacer * 9; //36px;
16
+ @space-10: @spacer * 10; //40px;
17
+ @space-11: @spacer * 11; //44px;
18
+ @space-12: @spacer * 12; //48px;
19
+ @space-13: @spacer * 13; //52px;
20
+ @space-14: @spacer * 14; //56px;
21
+ @space-15: @spacer * 15; //60px;
22
+ @space-16: @spacer * 16; //64px;
23
+ @space-17: @spacer * 17; //68px;
24
+ @space-18: @spacer * 18; //72px;
25
+ @space-19: @spacer * 19; //76px;
26
+ @space-20: @spacer * 20; //80px;
27
+
28
+ // space sizing, add missing values if needed
29
+ @space-24: @spacer * 24; //96px;
30
+
31
+ @space-28: @spacer * 28; //112px;
32
+
33
+ @space-32: @spacer * 32; //128px;
34
+
35
+ @space-35: @spacer * 35; //140px;
36
+
37
+ @rem-space-025: @1px;
38
+ @rem-space-050: @2px;
39
+ @rem-space-1: @4px;
40
+ @rem-space-2: @8px;
41
+ @rem-space-3: @12px;
42
+ @rem-space-3-5: @14px;
43
+ @rem-space-4: @16px;
44
+ @rem-space-5: @20px;
45
+ @rem-space-6: @24px;
46
+ @rem-space-7: @28px;
47
+ @rem-space-7-50: @30px;
48
+ @rem-space-8: @32px;
49
+ @rem-space-9: @36px;
50
+ @rem-space-10: @40px;
51
+ @rem-space-11: @44px;
52
+ @rem-space-12: @48px;
53
+ @rem-space-13: @52px;
54
+ @rem-space-14: @56px;
55
+ @rem-space-15: @60px;
56
+ @rem-space-16: @64px;
57
+ @rem-space-17: @68px;
58
+ @rem-space-18: @72px;
59
+ @rem-space-19: @76px;
60
+ @rem-space-20: @80px;
61
+
62
+ @em-space-025: @relative1px;
63
+ @em-space-050: @relative2px;
64
+ @em-space-1: @relative4px;
65
+ @em-space-2: @relative8px;
66
+ @em-space-3: @relative12px;
67
+ @em-space-3-50: @relative14px;
68
+ @em-space-4: @relative16px;
69
+ @em-space-5: @relative20px;
70
+ @em-space-6: @relative24px;
71
+ @em-space-7: @relative28px;
72
+ @em-space-7-50: @relative30px;
73
+ @em-space-8: @relative32px;
74
+ @em-space-9: @relative36px;
75
+ @em-space-10: @relative40px;
76
+ @em-space-11: @relative44px;
77
+ @em-space-12: @relative48px;
78
+ @em-space-13: @relative52px;
79
+ @em-space-14: @relative56px;
80
+ @em-space-15: @relative60px;
81
+ @em-space-16: @relative64px;
82
+ @em-space-17: @relative68px;
83
+ @em-space-18: @relative72px;
84
+ @em-space-19: @relative76px;
85
+ @em-space-20: @relative80px;
86
+
87
+ // Size scale
88
+ // Used for buttons, inputs, labels, avatars etc.
89
+ @size: @space-4;
90
+
91
+ @size-025: @size * 0.25; // 4px
92
+ @size-050: @size * 0.5; // 8px
93
+ @size-1: @size; // 16px
94
+ @size-2: @size-1 + @space-1; // 20px
95
+ @size-3: @size-2 + @space-1; // 24px
96
+ @size-4: @size-3 + @space-1; // 28px
97
+ @size-5: @size-4 + @space-1; // 32px
98
+ @size-6: @size-5 + @space-2; // 40px
99
+ @size-7: @size-6 + @space-2; // 48px
100
+ @size-8: @size-7 + @space-4; // 64px
101
+ @size-9: @size-8 + @space-4; // 80px
102
+ @size-10: @size-9 + @space-10; // 120px
103
+ @size-11: @size-10 + @space-10; // 160px
104
+ @size-12: @size-11 + @space-20; // 240px
105
+ @size-13: @size-12 + @space-20; // 320px
106
+ @size-14: @size-13 + @size-11; // 480px
@@ -1,2 +1,7 @@
1
+ @import 'borders';
2
+ @import 'colors';
1
3
  @import 'fonts';
4
+ @import 'shadows';
5
+ @import 'shapes';
2
6
  @import 'sizes';
7
+ @import 'z-index';
@@ -0,0 +1,12 @@
1
+ @z-index-000: -100;
2
+ @z-index-00: -2;
3
+ @z-index-0: -1;
4
+ @z-index-1: 1;
5
+ @z-index-2: 2;
6
+ @z-index-3: 3;
7
+ @z-index-4: 4;
8
+ @z-index-5: 10;
9
+ @z-index-6: 100;
10
+ @z-index-7: 200;
11
+ @z-index-8: 1000;
12
+ @z-index-important: 9999;
@@ -288,3 +288,111 @@
288
288
  margin: 0;
289
289
  }
290
290
  }
291
+
292
+ /*******************************
293
+ Carousel
294
+ *******************************/
295
+
296
+ .cards-carousel {
297
+ position: relative;
298
+
299
+ .ui.button.icon.slider-arrow {
300
+ padding: @carouselButtonPadding;
301
+ display: none;
302
+
303
+ .active, &:focus, &:hover {
304
+ background: transparent;
305
+ }
306
+
307
+ .icon {
308
+ color: @carouselButtonIconColor;
309
+ font-size: @carouselButtonIconFontSize;
310
+ }
311
+ }
312
+
313
+ .slick-arrow {
314
+ display: block !important;
315
+ }
316
+
317
+ .slick-prev,
318
+ .slick-next {
319
+ display: none !important;
320
+ }
321
+
322
+ .slick-list {
323
+ margin: 0 -0.75em !important;
324
+ }
325
+
326
+ .slick-track {
327
+ display: flex;
328
+ }
329
+
330
+ .slick-slide {
331
+ display: flex;
332
+ height: auto;
333
+ flex: 1;
334
+ flex-direction: column;
335
+ padding: 15px 0.75em !important;
336
+
337
+ > div {
338
+ height: 100%;
339
+ }
340
+
341
+ }
342
+
343
+ .slider-arrow {
344
+ position: absolute;
345
+ top: 50%;
346
+ bottom: auto;
347
+ display: block;
348
+ padding: 0;
349
+ border: none;
350
+ background: transparent;
351
+ cursor: pointer;
352
+ outline: none;
353
+ transform: translate(0, -50%);
354
+ }
355
+
356
+ .prev-arrow {
357
+ right: auto;
358
+ left: @carouselButtonDistance;
359
+ }
360
+
361
+ .next-arrow {
362
+ right: @carouselButtonDistance;
363
+ left: auto;
364
+ }
365
+
366
+ .slick-dots li button:before {
367
+ background-color: @carouselDotsBackgroundColor;
368
+ color: transparent;
369
+ border: @carouselDotsBorder;
370
+ border-radius: @carouselDotsBorderRadius;
371
+ opacity: @carouselDotsOpacity;
372
+ width: @mobileCarouselDotsWidth;
373
+ height: @mobileCarouselDotsHeight;
374
+ }
375
+
376
+ .slick-dots li.slick-active button:before {
377
+ background-color: @carouselDotsActiveBackgroundColor;
378
+ color: transparent;
379
+
380
+ }
381
+
382
+
383
+ }
384
+
385
+
386
+ @media only screen and (min-width: @computerBreakpoint) {
387
+ .cards-carousel {
388
+
389
+ .ui.button.icon.slider-arrow {
390
+ display: block;
391
+ }
392
+
393
+ .slick-dots li button:before {
394
+ width: inherit;
395
+ height: inherit;
396
+ }
397
+ }
398
+ }
@@ -157,7 +157,7 @@
157
157
  --------------------*/
158
158
 
159
159
  /* Link */
160
- @linkHoverBackground: @white;
160
+ @linkHoverBackground: transparent;
161
161
  @linkHoverBorder: @border;
162
162
  @linkHoverZIndex: 5;
163
163
  @linkHoverRaiseDistance: 3px;
@@ -319,3 +319,31 @@
319
319
  /* Meta */
320
320
  @cardMetaFontSize: 12px;
321
321
  @cardMetaTagFontWeight: 400;
322
+
323
+ /*******************************
324
+ Carousel Cards
325
+ *******************************/
326
+
327
+ /* Title */
328
+ @carouselTitleFontWeight: 700;
329
+ @carouselTitleMargin: 0;
330
+ @carouselTitleColor: @deepBlue;
331
+
332
+ /* Button */
333
+ @carouselButtonPadding: 0;
334
+ @carouselButtonIconColor: @black;
335
+ @carouselButtonIconFontSize: 3.125rem;
336
+ @carouselButtonDistance: -3.5rem;
337
+
338
+
339
+ /* Dots */
340
+ @carouselDotsFontSize: 0.75rem;
341
+ @carouselDotsBorderRadius: 50%;
342
+ @carouselDotsOpacity: 1;
343
+ @carouselDotsBorder: 1px solid @darkCerulean;
344
+ @carouselDotsBackgroundColor: @white;
345
+ @carouselDotsActiveBackgroundColor: @darkCerulean;
346
+ @mobileCarouselDotsWidth: 0.875rem;
347
+ @mobileCarouselDotsHeight: 0.875rem;
348
+
349
+
@@ -6,3 +6,40 @@
6
6
  .ui.items:not(.unstackable) > .item > .image {
7
7
  margin: @imageMargin;
8
8
  }
9
+
10
+ .item .tile.image {
11
+ width: @tileImageWidth;
12
+ height: @tileImageHeight;
13
+ }
14
+
15
+ .ui.items.row > .item {
16
+ margin: @mobileRowItemMargin;
17
+ }
18
+
19
+ // As semantic does for non unstacable items
20
+ // so columns does not affect margin in mobiles
21
+ .ui.items.row > .item:last-child {
22
+ margin-bottom: 0;
23
+ }
24
+
25
+ @media only screen and (max-width: @largestMobileScreen) {
26
+ .ui.items.row > .item {
27
+ flex-direction: row;
28
+ }
29
+
30
+ .ui.items.row > .item > .image + .content {
31
+ padding: 0em 0em 0em @mobileContentImageDistance;
32
+ }
33
+ }
34
+
35
+ @media only screen and (min-width: @tabletBreakpoint) {
36
+ .ui.items.row > .item {
37
+ margin: @tabletRowItemMargin;
38
+ }
39
+ }
40
+
41
+ @media only screen and (min-width: @computerBreakpoint) {
42
+ .ui.items.row > .item {
43
+ margin: @desktopRowItemMargin;
44
+ }
45
+ }
@@ -24,16 +24,16 @@
24
24
  /* Responsive */
25
25
  @itemSpacing: 1em;
26
26
  @imageWidth: 175px;
27
- @contentImageDistance: 1.5em;
27
+ @contentImageDistance: 2rem;
28
28
 
29
29
  @tabletItemSpacing: 1em;
30
30
  @tabletImageWidth: 150px;
31
- @tabletContentImageDistance: 1em;
31
+ @tabletContentImageDistance: 2rem;
32
32
 
33
33
  @mobileItemSpacing: 2em;
34
34
  @mobileImageWidth: auto;
35
35
  @mobileImageMaxHeight: 250px;
36
- @mobileContentImageDistance: 1.5em;
36
+ @mobileContentImageDistance: 1.5rem;
37
37
 
38
38
 
39
39
  /*-------------------
@@ -52,6 +52,10 @@
52
52
  @imageBoxShadow: none;
53
53
  @imageBorder: none;
54
54
 
55
+ /* Tile image size */
56
+ @tileImageWidth: 50px;
57
+ @tileImageHeight: auto;
58
+
55
59
  /* Content */
56
60
  @contentDisplay: block;
57
61
  @contentVerticalAlign: top;
@@ -155,3 +159,8 @@
155
159
  /* Unstackable */
156
160
  @unstackableMobileImageWidth: 125px;
157
161
 
162
+ /* Row */
163
+ @mobileRowItemMargin : 1rem 0;
164
+ @tabletRowItemMargin : 1.5rem 0;
165
+ @desktopRowItemMargin : 2rem 0;
166
+