@eeacms/volto-eea-design-system 1.0.6 → 1.11.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 (70) hide show
  1. package/CHANGELOG.md +119 -1
  2. package/package.json +1 -1
  3. package/src/semantic.less +0 -4
  4. package/src/ui/Accordion/Accordion.stories.js +52 -123
  5. package/src/ui/Breadcrumbs/Breadcrumb.stories.jsx +6 -34
  6. package/src/ui/Breadcrumbs/Breadcrumbs.jsx +24 -24
  7. package/src/ui/Card/Card.stories.jsx +159 -13
  8. package/src/ui/Comment/Comment.stories.js +25 -19
  9. package/src/ui/ContextNavigation/ContextNavigation.stories.jsx +18 -4
  10. package/src/ui/DownloadLabeledIcon/DownloadLabeledIcon.stories.jsx +3 -2
  11. package/src/ui/Footer/Contact.jsx +31 -6
  12. package/src/ui/Footer/Footer.stories.js +76 -25
  13. package/src/ui/Form/Button/Button.stories.jsx +1 -1
  14. package/src/ui/Header/Header.jsx +22 -6
  15. package/src/ui/Header/Header.stories.js +112 -210
  16. package/src/ui/Header/HeaderMenuPopUp.js +72 -63
  17. package/src/ui/Header/HeaderSearchPopUp.js +2 -1
  18. package/src/ui/InpageNavigation/InpageNavigation.jsx +4 -4
  19. package/src/ui/InpageNavigation/InpageNavigation.stories.jsx +5 -4
  20. package/src/ui/Label/Label.stories.js +3 -1
  21. package/src/ui/LabeledIconGroup/LabeledIconGroup.jsx +5 -4
  22. package/src/ui/LanguageLabeledIcon/LanguageLabeledIcon.stories.jsx +3 -2
  23. package/src/ui/Modal/Modal.stories.js +9 -2
  24. package/src/ui/NewTabLabeledIcon/NewTabLabeledIcon.jsx +9 -3
  25. package/src/ui/Tag/Tag.stories.jsx +1 -1
  26. package/src/ui/Video/Video.jsx +44 -0
  27. package/src/ui/Video/Video.stories.jsx +53 -0
  28. package/src/ui/index.js +2 -2
  29. package/theme/theme.config +0 -3
  30. package/theme/themes/eea/assets/logo/eionet.svg +80 -11
  31. package/theme/themes/eea/assets/video/demo-track-el.vtt +11 -0
  32. package/theme/themes/eea/assets/video/demo-track-en.vtt +11 -0
  33. package/theme/themes/eea/assets/video/demo-track-ro.vtt +11 -0
  34. package/theme/themes/eea/collections/breadcrumb.overrides +11 -0
  35. package/theme/themes/eea/collections/table.variables +1 -1
  36. package/theme/themes/eea/elements/button.overrides +26 -7
  37. package/theme/themes/eea/elements/button.variables +1 -0
  38. package/theme/themes/eea/elements/image.overrides +6 -0
  39. package/theme/themes/eea/elements/image.variables +1 -0
  40. package/theme/themes/eea/elements/label.overrides +12 -8
  41. package/theme/themes/eea/extras/contextNavigation.less +4 -2
  42. package/theme/themes/eea/extras/contextNavigation.variables +1 -1
  43. package/theme/themes/eea/extras/downloadLabeledIcon.less +31 -22
  44. package/theme/themes/eea/extras/downloadLabeledIcon.variables +16 -14
  45. package/theme/themes/eea/extras/header.less +8 -2
  46. package/theme/themes/eea/extras/header.variables +4 -1
  47. package/theme/themes/eea/extras/inpageNavigation.less +2 -0
  48. package/theme/themes/eea/extras/inpageNavigation.variables +2 -0
  49. package/theme/themes/eea/extras/labeledIconGroup.variables +3 -3
  50. package/theme/themes/eea/extras/languageLabeledIcon.less +28 -20
  51. package/theme/themes/eea/extras/languageLabeledIcon.variables +18 -16
  52. package/theme/themes/eea/extras/newTabLabeledIcon.less +21 -15
  53. package/theme/themes/eea/extras/newTabLabeledIcon.variables +7 -5
  54. package/theme/themes/eea/globals/mixins.less +8 -0
  55. package/theme/themes/eea/globals/site.overrides +4 -1
  56. package/theme/themes/eea/globals/utilities.less +47 -0
  57. package/theme/themes/eea/modules/accordion.overrides +7 -0
  58. package/theme/themes/eea/modules/checkbox.overrides +6 -0
  59. package/theme/themes/eea/modules/checkbox.variables +3 -3
  60. package/theme/themes/eea/modules/modal.overrides +13 -0
  61. package/theme/themes/eea/modules/modal.variables +5 -1
  62. package/theme/themes/eea/views/card.overrides +20 -8
  63. package/theme/themes/eea/views/card.variables +6 -2
  64. package/theme/themes/eea/views/item.overrides +2 -2
  65. package/src/ui/Card/AvatarGrid/AvatarGrid.jsx +0 -61
  66. package/src/ui/Card/AvatarGrid/AvatarGrid.stories.jsx +0 -89
  67. package/src/ui/Card/RoundedCard.stories.jsx +0 -122
  68. package/theme/themes/eea/extras/avatar.variables +0 -28
  69. package/theme/themes/eea/extras/avatarGrid.less +0 -43
  70. package/theme/themes/eea/extras/avatarGrid.variables +0 -16
@@ -14,28 +14,35 @@
14
14
  min-width: @downloadLabeledIconMinWidth;
15
15
  text-align: @downloadLabeledIconTextAlign;
16
16
 
17
- .label {
18
- width: @downloadLabeledIconLabelWidth;
19
- font-size: @downloadLabeledIconLabelFontSize;
20
- color: @downloadLabeledIconLabelColor;
21
- cursor: pointer;
17
+ button {
18
+ text-decoration: none;
22
19
  }
23
- .icon.wrapper {
24
- text-align: center;
25
- display: flex;
26
- justify-content: center;
27
- width: @downloadLabeledIconWrapperWidth;
28
- padding: @downloadLabeledIconWrapperPadding;
20
+ }
29
21
 
30
- .icon {
31
- cursor: pointer;
32
- display: flex;
33
- align-items: center;
34
- font-size: @downloadLabeledIconIconFontSize;
35
- color: @downloadLabeledIconColor;
36
- width: @downloadLabeledIconIconWidth;
37
- height: @downloadLabeledIconWrapperIconHeight;
38
- }
22
+ .eea.download.labeled.icon .label {
23
+ width: @downloadLabeledIconLabelWidth;
24
+ font-size: @downloadLabeledIconLabelFontSize;
25
+ font-weight: @downloadLabeledIconLabelFontWeight;
26
+ color: @downloadLabeledIconLabelColor;
27
+ cursor: pointer;
28
+ }
29
+
30
+ .eea.download.labeled.icon .icon.wrapper {
31
+ height: @downloadLabeledIconWrapperMinHeight;
32
+ text-align: center;
33
+ display: flex;
34
+ justify-content: center;
35
+ width: @downloadLabeledIconWrapperWidth;
36
+ padding-bottom: @downloadLabeledIconWrapperPaddingBottom;
37
+
38
+ .icon {
39
+ cursor: pointer;
40
+ display: flex;
41
+ align-items: center;
42
+ font-size: @downloadLabeledIconIconFontSize;
43
+ color: @downloadLabeledIconColor;
44
+ width: @downloadLabeledIconIconWidth;
45
+ height: @downloadLabeledIconWrapperIconHeight;
39
46
  }
40
47
  }
41
48
 
@@ -72,10 +79,12 @@
72
79
  line-height: @downloadLabeledIconLinkIconLineHeight;
73
80
  }
74
81
  }
75
- a:hover {
82
+ a:hover,
83
+ a:focus-visible {
76
84
  color: @downloadLabeledIconALinkColorHover;
77
85
  }
78
- li:hover {
86
+ li:hover,
87
+ li a:focus-visible {
79
88
  background-color: @downloadLabeledIconLiHover;
80
89
  }
81
90
  }
@@ -9,37 +9,39 @@
9
9
 
10
10
  /* Label */
11
11
  @downloadLabeledIconLabelWidth: 100%;
12
- @downloadLabeledIconLabelFontSize: 0.875rem;
13
- @downloadLabeledIconLabelColor: @deepBlue;
12
+ @downloadLabeledIconLabelFontSize: @font-size-0;
13
+ @downloadLabeledIconLabelFontWeight: @font-weight-4;
14
+ @downloadLabeledIconLabelColor: @tertiaryColor;
14
15
 
15
16
  /* Wrapper */
17
+ @downloadLabeledIconWrapperMinHeight: @rem-space-8;
16
18
  @downloadLabeledIconWrapperWidth: 100%;
17
- @downloadLabeledIconWrapperPadding: 0.5rem;
19
+ @downloadLabeledIconWrapperPaddingBottom: @rem-space-1;
18
20
 
19
21
  /* Icon */
20
22
  @downloadLabeledIconIconFontSize: 1.563rem;
21
23
  @downloadLabeledIconWrapperIconHeight: 1.25rem;
22
24
  @downloadLabeledIconIconWidth: 1.25rem;
23
- @downloadLabeledIconColor: @mediumPersianBlue;
25
+ @downloadLabeledIconColor: @lightPrimaryColor;
24
26
 
25
27
  /* Link Wrapper */
26
- @downloadLabeledIconLinkWrapperBackgroundColor: #f9f9f9;
27
- @downloadLabeledIconLinkWrapperZIndex: 1;
28
+ @downloadLabeledIconLinkWrapperBackgroundColor: @grey-1;
29
+ @downloadLabeledIconLinkWrapperZIndex: @z-index-1;
28
30
  @downloadLabeledIconLinkWrapperWidth: 100%;
29
31
 
30
32
  /* Dropdown */
31
33
  @downloadLabeledIconDropdownWIdth: 100%;
32
34
 
33
35
  /* List */
34
- @downloadLabeledIconUlMargin: 0.25rem 0;
35
- @downloadLabeledIconUlPaddingInlineStart: 0.25rem 0px;
36
- @downloadLabeledIconLiHover: @japaneseIndigo;
36
+ @downloadLabeledIconUlMargin: @rem-space-1 0;
37
+ @downloadLabeledIconUlPaddingInlineStart: @rem-space-1 0px;
38
+ @downloadLabeledIconLiHover: @darkTertiaryColor;
37
39
 
38
40
  /* Link */
39
41
  @downloadLabeledIconALinkFontWeight: 700;
40
- @downloadLabeledIconLinkFontSize: 0.875rem;
41
- @downloadLabeledIconLinkIconFontSize: 1rem;
42
- @downloadLabeledIconLinkIconPadding: 0.125rem 0.875rem;
42
+ @downloadLabeledIconLinkFontSize: @font-size-0;
43
+ @downloadLabeledIconLinkIconFontSize: @font-size-1;
44
+ @downloadLabeledIconLinkIconPadding: @rem-space-050 @rem-space-3-5;
43
45
  @downloadLabeledIconLinkIconLineHeight: 1.25rem;
44
- @downloadLabeledIconALinkColor: @japaneseIndigo;
45
- @downloadLabeledIconALinkColorHover: @white;
46
+ @downloadLabeledIconALinkColor: @darkTertiaryColor;
47
+ @downloadLabeledIconALinkColorHover: @grey-0;
@@ -785,6 +785,12 @@
785
785
  }
786
786
  }
787
787
 
788
+ // add negative margin to the first column subtitle from nested grid
789
+ // so that the subtitle lines up with the subtitle from the left column
790
+ #mega-menu .nested-grid > .column:first-of-type .sub-title {
791
+ margin-top: @megaMenuSubTitleCountriesNestedGridMarginTop;
792
+ }
793
+
788
794
  #topics-right-column {
789
795
  padding-left: @topicsRightColumnPaddingLeft;
790
796
  }
@@ -819,8 +825,6 @@
819
825
  padding: @megaMenuAccordionTitlePadding;
820
826
  border-bottom: @megaMenuAccordionTitleBorderBottom;
821
827
  color: @megaMenuTextColor;
822
- color: @megaMenuTextColor;
823
- font-size: @megaMenuAccordionTitleFontSize;
824
828
  font-size: @megaMenuAccordionTitleFontSize;
825
829
  font-weight: @megaMenuAccordionTitleFontWeight;
826
830
 
@@ -930,6 +934,8 @@
930
934
  color: @megaMenuTextColor;
931
935
  font-size: @computerMegaMenuSubTitleFontSize;
932
936
  font-weight: @megaMenuSubTitleFontWeight;
937
+ padding: @megaMenuSubTitlePadding;
938
+ display: @megaMenuSubTitleDisplay;
933
939
 
934
940
  &:hover,
935
941
  &:focus-visible {
@@ -178,6 +178,9 @@
178
178
  @mobileMegaMenuSubTitleFontSize: @font-size-2;
179
179
  @computerMegaMenuSubTitleFontSize: @font-size-3;
180
180
  @megaMenuSubTitleFontWeight: @font-weight-7;
181
+ @megaMenuSubTitlePadding: 0.5rem 0;
182
+ @megaMenuSubTitleDisplay: block;
183
+ @megaMenuSubTitleCountriesNestedGridMarginTop: -1rem;
181
184
 
182
185
  /* List Item */
183
186
  @megaMenuListItemFontSize: @font-size-1;
@@ -193,7 +196,7 @@
193
196
  @megaMenuGlanceListItemFontSize: @font-size-1;
194
197
  @megaMenuGlanceListItemFontWeight: @font-weight-4;
195
198
  @megaMenuGlanceListItemMargin: 0;
196
- @megaMenuGlanceMenuListMarginTop: @rem-space-4;
199
+ @megaMenuGlanceMenuListMarginTop: 0;
197
200
 
198
201
  /* Accordion */
199
202
  @megaMenuAccordionTitleFontSize: @font-size-3;
@@ -22,6 +22,8 @@
22
22
  color: @navColor;
23
23
  font-weight: @navFontWeight;
24
24
  z-index: @z-index-important;
25
+ line-height: @navLineHeight;
26
+ padding: @navPadding;
25
27
 
26
28
  /* Icon align fix */
27
29
  > div > i.icon,
@@ -13,6 +13,8 @@
13
13
  @tabletNavHeight : 2.25rem;
14
14
  @computerNavWidth : 3.125rem;
15
15
  @computerNavHeight : 3.125rem;
16
+ @navLineHeight : @font-lineheight-3;
17
+ @navPadding : 0;
16
18
 
17
19
  /* Desktop Icon */
18
20
  @inpageNavigationIconWidth : 100%;
@@ -4,7 +4,7 @@
4
4
  *******************************/
5
5
 
6
6
  @labeledIconGroupWidth : 100%;
7
- @labeledIconGroupPadding : 0 2rem;
7
+ @labeledIconGroupPadding : 0 @rem-space-8;
8
8
 
9
- @labeledIconGroupWrapperMarginLeft: 0.25rem;
10
- @labeledIconGroupWrapperMarginRight: 0.25rem;
9
+ @labeledIconGroupWrapperMarginLeft: @rem-space-1;
10
+ @labeledIconGroupWrapperMarginRight: @rem-space-1;
@@ -15,30 +15,37 @@
15
15
  min-width: @languageLabeledIconMinWidth;
16
16
  text-align: @languageLabeledIconTextAlign;
17
17
 
18
- .icon.wrapper {
19
- cursor: pointer;
20
- display: flex;
21
- justify-content: center;
22
- align-items: center;
23
- font-size: @languageLabeledIconIconWrapperFontSize;
24
- font-weight: @languageLabeledIconIconWrapperFontWeight;
25
- color: @languageLabeledIconIconWrapperColor;
26
-
27
- i {
28
- color: @languageLabeledIconIconWrapperIconColor;
29
- margin-right: @languageLabeledIconIconWrapperIconMarginRight;
30
- font-size: @languageLabeledIconIconWrapperIconFontSize;
31
- }
18
+ button {
19
+ text-decoration: none;
32
20
  }
21
+ }
22
+
23
+ .eea.language.labeled.icon .icon.wrapper {
24
+ height: @languageLabeledIconIconWrapperMinHeight;
25
+ cursor: pointer;
26
+ display: flex;
27
+ justify-content: center;
28
+ align-items: center;
29
+ font-size: @languageLabeledIconIconWrapperFontSize;
30
+ font-weight: @languageLabeledIconIconWrapperFontWeight;
31
+ color: @languageLabeledIconIconWrapperColor;
32
+ padding-bottom: @languageLabeledIconIconWrapperPaddingBottom;
33
33
 
34
- .label {
35
- color: @languageLabeledIconLabelColor;
36
- font-size: @languageLabeledIconLabelFontSize;
37
- font-weight: @languageLabeledIconLabelFontWeight;
38
- cursor: pointer;
34
+ i {
35
+ opacity: 1;
36
+ color: @languageLabeledIconIconWrapperIconColor;
37
+ margin-right: @languageLabeledIconIconWrapperIconMarginRight;
38
+ font-size: @languageLabeledIconIconWrapperIconFontSize;
39
39
  }
40
40
  }
41
41
 
42
+ .eea.language.labeled.icon .label {
43
+ color: @languageLabeledIconLabelColor;
44
+ font-size: @languageLabeledIconLabelFontSize;
45
+ font-weight: @languageLabeledIconLabelFontWeight;
46
+ cursor: pointer;
47
+ }
48
+
42
49
  .ui.popup.language-popup {
43
50
  margin: 0;
44
51
  padding: 0;
@@ -67,7 +74,8 @@
67
74
  padding: @languageLabeledIconLabelUlLiPadding;
68
75
  }
69
76
 
70
- li:hover {
77
+ li:hover,
78
+ li div:focus-visible {
71
79
  color: @languageLabeledIconLabelUlLiColor;
72
80
  background-color: @languageLabeledIconLabelUlLiBackgroundColor;
73
81
  }
@@ -8,34 +8,36 @@
8
8
  @languageLabeledIconTextAlign: center;
9
9
 
10
10
  /* Icon Wrapper */
11
- @languageLabeledIconIconWrapperFontSize : 0.875rem;
12
- @languageLabeledIconIconWrapperFontWeight : 400;
13
- @languageLabeledIconIconWrapperColor : @deepBlue;
11
+ @languageLabeledIconIconWrapperMinHeight: @rem-space-8;
12
+ @languageLabeledIconIconWrapperFontSize : @font-size-0;
13
+ @languageLabeledIconIconWrapperFontWeight : @font-weight-4;
14
+ @languageLabeledIconIconWrapperColor : @tertiaryColor;
15
+ @languageLabeledIconIconWrapperPaddingBottom : @rem-space-1;
14
16
 
15
17
  /* Icon */
16
- @languageLabeledIconIconWrapperIconColor: @mediumPersianBlue;
17
- @languageLabeledIconIconWrapperIconMarginRight: 0.25rem;
18
- @languageLabeledIconIconWrapperIconFontSize: 1.5rem;
18
+ @languageLabeledIconIconWrapperIconColor: @lightPrimaryColor;
19
+ @languageLabeledIconIconWrapperIconMarginRight: @rem-space-1;
20
+ @languageLabeledIconIconWrapperIconFontSize: @font-size-4;
19
21
 
20
22
  /* Label */
21
- @languageLabeledIconLabelColor: @deepBlue;
22
- @languageLabeledIconLabelFontSize: 0.875rem;
23
- @languageLabeledIconLabelFontWeight: 400;
23
+ @languageLabeledIconLabelColor: @tertiaryColor;
24
+ @languageLabeledIconLabelFontSize: @font-size-0;
25
+ @languageLabeledIconLabelFontWeight: @font-weight-4;
24
26
 
25
27
  /* Dropdown */
26
- @languageLabeledIconDropdownBackgroundColor: #f9f9f9;
28
+ @languageLabeledIconDropdownBackgroundColor: @grey-1;
27
29
 
28
30
  /* Link */
29
31
  @languageLabeledIconDropdowLinkWrapperWidth: max-content;
30
32
 
31
33
 
32
34
  /* List */
33
- @languageLabeledIconLabelUlMargin:0;
34
- @languageLabeledIconLabelUlColor: @japaneseIndigo;
35
- @languageLabeledIconLabelUlPadding: 0.25rem;
35
+ @languageLabeledIconLabelUlMargin: 0;
36
+ @languageLabeledIconLabelUlColor: @darkTertiaryColor;
37
+ @languageLabeledIconLabelUlPadding: @rem-space-1;
36
38
 
37
39
  /* List Item */
38
40
  @languageLabeledIconLabelUlLiPadding: 0.125rem 0.313rem;
39
- @languageLabeledIconLabelUlLiColor: @white;
40
- @languageLabeledIconLabelUlLiBackgroundColor: @japaneseIndigo;
41
- @languageLabeledIconLabelUlLiSpanFontWeight: 700;
41
+ @languageLabeledIconLabelUlLiColor: @grey-0;
42
+ @languageLabeledIconLabelUlLiBackgroundColor: @darkTertiaryColor;
43
+ @languageLabeledIconLabelUlLiSpanFontWeight: @font-weight-7;
@@ -14,29 +14,35 @@
14
14
  min-width: @newTabLabeledIconMinWidth;
15
15
  text-align: @newTabLabeledIconTextAlign;
16
16
 
17
+ a {
18
+ text-decoration: none;
19
+ }
20
+
17
21
  .label {
18
22
  width: @newTabLabeledIconLabelWidth;
19
23
  font-size: @newTabLabeledIconLabelFontSize;
24
+ font-weight: @newTabLabeledIconLabelFontWeight;
20
25
  color: @newTabLabeledIconLabelColor;
21
26
  cursor: pointer;
22
27
  }
28
+ }
23
29
 
24
- .icon.wrapper {
25
- text-align: center;
26
- display: flex;
27
- justify-content: center;
28
- width: @newTabLabeledIconIconWrapperWidth;
29
- padding: @newTabLabeledIconWrapperPadding;
30
+ .eea.new.tab.labeled.icon .icon.wrapper {
31
+ min-height: @newTabLabeledIconIconWrapperMinHeight;
32
+ width: @newTabLabeledIconIconWrapperWidth;
33
+ text-align: center;
34
+ display: flex;
35
+ justify-content: center;
36
+ padding-bottom: @newTabLabeledIconWrapperPaddingBottom;
30
37
 
31
- .icon {
32
- cursor: pointer;
33
- display: flex;
34
- align-items: center;
35
- font-size: @newTabLabeledIconIconFontSize;
36
- color: @newTabLabeledIconColor;
37
- width: @newTabLabeledIconIconWidth;
38
- height: @newTabLabeledIconWrapperIconHeight;
39
- }
38
+ .icon {
39
+ cursor: pointer;
40
+ display: flex;
41
+ align-items: center;
42
+ font-size: @newTabLabeledIconIconFontSize;
43
+ color: @newTabLabeledIconColor;
44
+ width: @newTabLabeledIconIconWidth;
45
+ height: @newTabLabeledIconWrapperIconHeight;
40
46
  }
41
47
  }
42
48
 
@@ -4,18 +4,20 @@
4
4
 
5
5
  /* Body */
6
6
  @newTabLabeledIconWidth: min-content;
7
- @newTabLabeledIconMinWidth: 7rem;
7
+ @newTabLabeledIconMinWidth: 8.5rem;
8
8
  @newTabLabeledIconTextAlign: center;
9
9
 
10
10
  /* Label */
11
11
  @newTabLabeledIconLabelWidth: 100%;
12
- @newTabLabeledIconLabelFontSize: 0.875rem;
13
- @newTabLabeledIconLabelColor: @deepBlue;
14
- @newTabLabeledIconColor: @mediumPersianBlue;
12
+ @newTabLabeledIconLabelFontSize: @font-size-0;
13
+ @newTabLabeledIconLabelFontWeight: @font-weight-4;
14
+ @newTabLabeledIconLabelColor: @tertiaryColor;
15
+ @newTabLabeledIconColor: @lightPrimaryColor;
15
16
 
16
17
  /* Icon Wrapper */
18
+ @newTabLabeledIconIconWrapperMinHeight: @rem-space-8;
17
19
  @newTabLabeledIconIconWrapperWidth: 100%;
18
- @newTabLabeledIconWrapperPadding: 0.5rem;
20
+ @newTabLabeledIconWrapperPaddingBottom: @rem-space-1;
19
21
 
20
22
  /* Icon */
21
23
  @newTabLabeledIconIconFontSize: 1.563rem;
@@ -14,3 +14,11 @@
14
14
  .image-overlay-gradient() {
15
15
  .gradientMix(linear; rgba(46, 62, 76, 0.65) 38.6%, rgba(46, 62, 76, 0.169) 59.52%, rgba(69, 95, 106, 0) 79.64%; 13.39deg)
16
16
  }
17
+
18
+ .useTitleMaxLines(@value: 2) {
19
+ display: -webkit-box !important;
20
+ overflow: hidden;
21
+
22
+ -webkit-box-orient: vertical;
23
+ -webkit-line-clamp: var(--title-max-lines, @value);
24
+ }
@@ -9,7 +9,10 @@
9
9
  outline: @focusVisibleOutline;
10
10
  }
11
11
 
12
- button:focus-visible {
12
+ button:focus-visible,
13
+ a.button:focus-visible,
14
+ .ui.checkbox input[type="checkbox"]:focus-visible,
15
+ .ui.checkbox input[type="radio"]:focus-visible {
13
16
  outline: @focusVisibleOutline !important;
14
17
  }
15
18
 
@@ -37,15 +37,19 @@ h1, h2, h3, h4, h5, h6, p, span, .header {
37
37
  .text-left,
38
38
  .has--text--left,
39
39
  .has--textAlign--left { text-align: left !important; }
40
+
40
41
  .text-center,
41
42
  .has--text--center,
42
43
  .has--textAlign--center { text-align: center !important;}
44
+
43
45
  .text-right,
44
46
  .has--text--right,
45
47
  .has--textAlign--right { text-align: right !important; }
48
+
46
49
  .text-justify,
47
50
  .has--text--justify,
48
51
  .has--textAlign--justify { text-align: justify !important; }
52
+
49
53
  .bold { font-weight: bold !important; }
50
54
 
51
55
  .has--text--left {
@@ -57,6 +61,49 @@ h1, h2, h3, h4, h5, h6, p, span, .header {
57
61
  --justify-content: space-evenly;
58
62
  }
59
63
 
64
+ /*******************************
65
+ Image properties utilities
66
+ *******************************/
67
+
68
+ // image object fit
69
+ .has--object-fit--contain {
70
+ --image-object-fit: contain;
71
+ }
72
+
73
+ .has--object-fit--cover {
74
+ --image-object-fit: cover;
75
+ }
76
+
77
+ .has--object-fit--fill {
78
+ --image-object-fit: fill;
79
+ }
80
+
81
+ .has--object-fit--scale-down {
82
+ --image-object-fit: scale-down;
83
+ }
84
+
85
+ // image object position
86
+ .has--object-position--top {
87
+ --image-object-position: top;
88
+ }
89
+
90
+ .has--object-position--bottom {
91
+ --image-object-position: bottom;
92
+ }
93
+
94
+ .has--object-position--left {
95
+ --image-object-position: left;
96
+ }
97
+
98
+ .has--object-position--right {
99
+ --image-object-position: right;
100
+ }
101
+
102
+ .has--object-position--center {
103
+ --image-object-position: center;
104
+ }
105
+
106
+
60
107
  // background position utilities
61
108
  .has--bg--top {
62
109
  background-position: top !important;
@@ -158,3 +158,10 @@
158
158
  .ui.accordion.tertiary .title:not(.active):focus-visible i {
159
159
  color: @tertiaryColorCSSVar;
160
160
  }
161
+
162
+ @media only screen and (max-width: @largestMobileScreen) {
163
+ .accordion-block h1 * { font-size: @mobileH1; }
164
+ .accordion-block h2 * { font-size: @mobileH2; }
165
+ .accordion-block h3 * { font-size: @mobileH3; }
166
+ .accordion-block h4 * { font-size: @mobileH4; }
167
+ }
@@ -8,6 +8,12 @@
8
8
  format('truetype');
9
9
  }
10
10
 
11
+ // To display focus state
12
+ .ui.checkbox input[type="checkbox"],
13
+ .ui.checkbox input[type="radio"] {
14
+ opacity: 1 !important;
15
+ }
16
+
11
17
  /* Checkbox */
12
18
  .ui.checkbox:not(.toggle) {
13
19
  margin-bottom: @bottomMargin;
@@ -162,7 +162,7 @@
162
162
  left @sliderTransitionDuration @defaultEasing
163
163
  ;
164
164
 
165
- @toggleLaneBackground: @transparentBlack;
165
+ @toggleLaneBackground: @grey-2;
166
166
  @toggleLaneHeight: @toggleHandleSize;
167
167
  @toggleLaneBoxShadow: none;
168
168
  @toggleLaneVerticalOffset: 0rem;
@@ -174,8 +174,8 @@
174
174
  @toggleLabelOffset: 0.15em;
175
175
 
176
176
 
177
- @toggleFocusColor: @veryStrongTransparentBlack;
178
- @toggleHoverColor: @toggleFocusColor;
177
+ @toggleFocusColor: @grey-3;
178
+ @toggleHoverColor: @grey-3;
179
179
 
180
180
  @toggleOffLabelColor: @checkboxColor;
181
181
  @toggleOffHandleBoxShadow: none;
@@ -5,3 +5,16 @@
5
5
  .ui.modal > :last-child {
6
6
  overflow: hidden; // clear floats from modal
7
7
  }
8
+
9
+ .ui.modal .ui.button.close {
10
+ background: @closeButtonBackground;
11
+ padding: @closeButtonPadding;
12
+
13
+ i {
14
+ color: @closeColor;
15
+ }
16
+ }
17
+
18
+ .ui.modal .ui.button.close:focus-visible {
19
+ outline: @focusVisibleOutline;
20
+ }
@@ -15,7 +15,11 @@
15
15
  /* Close Icon */
16
16
  @closeOpacity: 0.8;
17
17
  @closeSize: 1.25em;
18
- @closeColor: @black;
18
+ @closeColor: @grey-6;
19
+
20
+ /* Close Button */
21
+ @closeButtonBackground: transparent;
22
+ @closeButtonPadding: 0;
19
23
 
20
24
  @closeHitbox: 2.25rem;
21
25
  @closeDistance: 0.25rem;
@@ -32,11 +32,14 @@
32
32
  img {
33
33
  width: var(--card-image-width, @imageWidth);
34
34
  height: var(--card-image-width, @imageHeight);
35
- object-fit: @imageObjectFit;
36
- object-position: @imageObjectPosition;
37
35
  }
38
36
  }
39
37
 
38
+ .ui.card img, img.ui.image {
39
+ object-fit: var(--image-object-fit, @imageObjectFit);
40
+ object-position: var(--image-object-position, @imageObjectPosition);
41
+ }
42
+
40
43
 
41
44
  .ui.cards > .card > .content > *:not(:last-child),
42
45
  .ui.card > .content > *:not(:last-child) {
@@ -150,6 +153,8 @@
150
153
  width: @roundedImageWidth;
151
154
  height: @roundedImageHeight;
152
155
  border-radius: @roundedImageBorderRadius !important;
156
+ object-fit: var(--image-object-fit, @imageObjectFit);
157
+ object-position: var(--image-object-position, @imageObjectPosition);
153
158
  }
154
159
 
155
160
  .content {
@@ -434,15 +439,22 @@
434
439
  padding-left: @tabletTeaserCardPaddingInline;
435
440
  padding-right: @tabletTeaserCardPaddingInline;
436
441
  }
442
+
437
443
  .grid-block-teaser .ui.card {
438
444
  min-width: @tabletTeaserCardMinWidth;
439
445
  }
440
446
  }
441
447
 
442
- // Added from listing-cards.less
443
- .grid-block-teaser .ui.card.u-card .header {
444
- display: -webkit-box !important;
445
- overflow: hidden;
446
- -webkit-box-orient: vertical;
447
- -webkit-line-clamp: var(--title-max-lines, 3);
448
+ // Spacing adjustment to display outline with overflow hidden
449
+ .ui.card .header {
450
+ padding: @headerPadding;
448
451
  }
452
+
453
+ .ui.card .header > a {
454
+ .useTitleMaxLines();
455
+ }
456
+
457
+ // Meta align fix
458
+ .ui.card.u-card .meta:after {
459
+ content: none;
460
+ }
@@ -81,11 +81,15 @@
81
81
 
82
82
 
83
83
  /* Header */
84
- @headerMargin: '';
84
+ @headerMargin: -@em-space-2 -@em-space-1 -@em-space-1 -@em-space-1;
85
85
  @headerFontWeight: @bold;
86
86
  @headerFontSize: 1.125rem;
87
- @headerLineHeightOffset: -(@lineHeight - 1em) / 2;
87
+
88
88
  @headerColor: inherit;
89
+ @headerLinkDisplay: block;
90
+
91
+ @headerPadding: @em-space-1;
92
+ @headerLineHeightOffset: -(@headerPadding * 2);
89
93
 
90
94
  /* Metadata */
91
95
  @metaJustifyContent: space-between;
@@ -208,7 +208,7 @@
208
208
  }
209
209
 
210
210
  // Flex wrapper for list of items
211
- .ui.items.flex-items-wrapper .item {
211
+ .ui.items.flex-items-wrapper > .item {
212
212
  width: @tabletFlexItemWidth;
213
213
  }
214
214
  }
@@ -237,7 +237,7 @@
237
237
  }
238
238
 
239
239
  // Flex wrapper for list of items
240
- .ui.items.flex-items-wrapper .item {
240
+ .ui.items.flex-items-wrapper > .item {
241
241
  width: @desktopFlexItemWidth;
242
242
  }
243
243
  }