@internetstiftelsen/styleguide 4.1.13 → 5.0.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 (145) hide show
  1. package/package.json +18 -18
  2. package/src/app.scss +85 -88
  3. package/src/atoms/archive-link/archive-link.scss +24 -17
  4. package/src/atoms/button/_button.scss +209 -203
  5. package/src/atoms/checkbox/_checkbox.scss +33 -26
  6. package/src/atoms/file/_file.scss +23 -13
  7. package/src/atoms/grid-toggle/_grid-toggle.scss +11 -6
  8. package/src/atoms/height-limiter/_height-limiter.scss +21 -14
  9. package/src/atoms/input/_input.scss +23 -16
  10. package/src/atoms/label/label.scss +11 -5
  11. package/src/atoms/logotype/_logotype.scss +3 -2
  12. package/src/atoms/main-menu/_main-menu.scss +67 -60
  13. package/src/atoms/meta/_meta.scss +44 -33
  14. package/src/atoms/meta/meta.config.js +1 -1
  15. package/src/atoms/paging/_paging.scss +27 -21
  16. package/src/atoms/password-toggle/_password-toggle.scss +9 -6
  17. package/src/atoms/progress/_progress.scss +19 -11
  18. package/src/atoms/quote/_quote.scss +17 -10
  19. package/src/atoms/radiobutton/_radiobutton.scss +33 -26
  20. package/src/atoms/range/_range.scss +46 -39
  21. package/src/atoms/rating/_rating.scss +11 -4
  22. package/src/atoms/ribbon/_ribbon.scss +16 -9
  23. package/src/atoms/select/_select.scss +18 -10
  24. package/src/atoms/skip/_skip.scss +9 -6
  25. package/src/atoms/spinner/_spinner.scss +4 -3
  26. package/src/atoms/tag/_tag.scss +26 -19
  27. package/src/atoms/textarea/_textarea.scss +22 -13
  28. package/src/atoms/tooltip/_tooltip.scss +28 -21
  29. package/src/base/_grid.scss +4 -4
  30. package/src/base/_normalize.scss +29 -27
  31. package/src/base/fonts/_fonts.scss +1 -1
  32. package/src/components.js +0 -2
  33. package/src/configurations/_bem.scss +10 -7
  34. package/src/configurations/_config.scss +11 -10
  35. package/src/configurations/_extends.scss +38 -34
  36. package/src/configurations/_functions.scss +23 -7
  37. package/src/configurations/_mixins.scss +23 -19
  38. package/src/configurations/_recaptcha.scss +2 -2
  39. package/src/configurations/_variables.scss +19 -25
  40. package/src/configurations/_wordpress.scss +64 -57
  41. package/src/configurations/colors/_background-colors.scss +3 -2
  42. package/src/configurations/colors/_colors-functions.scss +41 -39
  43. package/src/configurations/colors/_colors.scss +1 -1
  44. package/src/configurations/colors/_text-colors.scss +3 -2
  45. package/src/configurations/colors/_wordpress-colors.scss +3 -2
  46. package/src/configurations/forms/_fields.scss +28 -23
  47. package/src/configurations/grid/_grid.scss +33 -28
  48. package/src/configurations/typography/_typography.scss +113 -105
  49. package/src/configurations/typography/readme.md +1 -1
  50. package/src/globals.scss +16 -18
  51. package/src/isolated-footer.scss +25 -25
  52. package/src/molecules/alert/_alert.scss +44 -35
  53. package/src/molecules/breadcrumb/_breadcrumb.scss +43 -35
  54. package/src/molecules/byline/_byline.scss +30 -21
  55. package/src/molecules/card/_card.scss +87 -77
  56. package/src/molecules/context-menu/_context-menu.scss +32 -15
  57. package/src/molecules/continue-video-guide/continue-video-guide.scss +37 -28
  58. package/src/molecules/cookie-disclaimer/cookie-disclaimer.scss +32 -23
  59. package/src/molecules/download/_download.scss +38 -30
  60. package/src/molecules/form-control/_form-control.scss +66 -58
  61. package/src/molecules/glider/_glider-course.scss +29 -23
  62. package/src/molecules/glider/_glider-hero.scss +112 -104
  63. package/src/molecules/glider/_glider.scss +36 -30
  64. package/src/molecules/icon-overlay/_icon-overlay.scss +29 -20
  65. package/src/molecules/info-box/_info-box.scss +31 -22
  66. package/src/molecules/input-group/_input-group.scss +23 -13
  67. package/src/molecules/modal/_modal.scss +77 -65
  68. package/src/molecules/multi-select/_multi-select.scss +44 -33
  69. package/src/molecules/natural-language-form/_natural-language-form.scss +33 -23
  70. package/src/molecules/overview-navigation/_overview-navigation.scss +54 -45
  71. package/src/molecules/readspeaker/_readspeaker.scss +1 -1
  72. package/src/molecules/share/_share.scss +23 -15
  73. package/src/molecules/submenu/_submenu.scss +77 -69
  74. package/src/molecules/system-error/_system-error.scss +26 -17
  75. package/src/molecules/table/_table.scss +50 -42
  76. package/src/molecules/teaser-news-list/_teaser-news-list.scss +21 -12
  77. package/src/organisms/accordion/_accordion.scss +59 -49
  78. package/src/organisms/domain-search/_domain-search.scss +54 -45
  79. package/src/organisms/event-listing-item/_event-listing-item.scss +36 -26
  80. package/src/organisms/features-box/_features-box.scss +30 -19
  81. package/src/organisms/filter/_filter.scss +15 -10
  82. package/src/organisms/footer/_footer.scss +119 -109
  83. package/src/organisms/header/_header.scss +24 -14
  84. package/src/organisms/hero/_hero--bbk.scss +50 -38
  85. package/src/organisms/hero/_hero--dynamic-headline.scss +49 -39
  86. package/src/organisms/hero/_hero.scss +222 -207
  87. package/src/organisms/hero/hero.config.js +2 -2
  88. package/src/organisms/mailchimp/_mailchimp.scss +52 -42
  89. package/src/organisms/mega-menu/_mega-menu.scss +55 -45
  90. package/src/organisms/members-service-product/_members-service-product.scss +29 -18
  91. package/src/organisms/members-service-product/members-service-product.config.js +5 -5
  92. package/src/organisms/podcast/_podcast-episodes.scss +85 -75
  93. package/src/organisms/podcast/_podcast-player.scss +73 -64
  94. package/src/organisms/schedule/_schedule.scss +92 -82
  95. package/src/organisms/search/_search.scss +68 -58
  96. package/src/organisms/search-result/_search-result.scss +50 -40
  97. package/src/organisms/sections/_sections.scss +41 -31
  98. package/src/organisms/tabs/_tabs.scss +58 -46
  99. package/src/organisms/timeline/_timeline.scss +92 -81
  100. package/src/organisms/video-guide/_video-guide.scss +148 -138
  101. package/src/pages/animate-footer/animate-footer.config.js +180 -1
  102. package/src/print.scss +1 -1
  103. package/src/structures/_article.scss +39 -28
  104. package/src/structures/_core-values.scss +14 -2
  105. package/src/structures/_manifest.scss +4 -4
  106. package/src/structures/_section.scss +32 -20
  107. package/src/structures/_site.scss +19 -7
  108. package/src/theme/_dark-mode.scss +14 -13
  109. package/src/theme/_theme.scss +28 -25
  110. package/src/utilities/_align.scss +1 -1
  111. package/src/utilities/_border.scss +5 -3
  112. package/src/utilities/_box-shadow.scss +5 -2
  113. package/src/utilities/_display.scss +1 -1
  114. package/src/utilities/_fill.scss +5 -4
  115. package/src/utilities/_flex.scss +1 -1
  116. package/src/utilities/_font-size.scss +6 -5
  117. package/src/utilities/_fonts.scss +6 -5
  118. package/src/utilities/_gutter.scss +3 -2
  119. package/src/utilities/_hide.scss +17 -15
  120. package/src/utilities/_icons.scss +37 -33
  121. package/src/utilities/_indent.scss +8 -6
  122. package/src/utilities/_links.scss +22 -18
  123. package/src/utilities/_lists.scss +19 -14
  124. package/src/utilities/_manifest.scss +27 -27
  125. package/src/utilities/_margin.scss +20 -17
  126. package/src/utilities/_misc.scss +3 -2
  127. package/src/utilities/_padding.scss +18 -15
  128. package/src/utilities/_position.scss +3 -2
  129. package/src/utilities/_show.scss +7 -6
  130. package/src/utilities/_text.scss +1 -1
  131. package/src/utilities/_vertical-align.scss +1 -1
  132. package/src/utilities/_wrap.scss +1 -1
  133. package/src/utilities/_z-index.scss +7 -6
  134. package/src/utilities/tab-highlighting/_tab-highlighting.scss +6 -5
  135. package/src/vendor/baseline/_plumber.scss +14 -13
  136. package/src/vendor/grid/_breakpoints.scss +17 -13
  137. package/src/vendor/grid/_flex.scss +8 -4
  138. package/src/vendor/grid/_functions.scss +9 -6
  139. package/src/vendor/grid/_grid-framework.scss +14 -9
  140. package/src/vendor/grid/_grid.scss +19 -16
  141. package/src/vendor/grid/_spacing.scss +8 -3
  142. package/src/atoms/toggle-high-contrast/readme.md +0 -6
  143. package/src/atoms/toggle-high-contrast/toggle-high-contrast.config.js +0 -8
  144. package/src/atoms/toggle-high-contrast/toggle-high-contrast.js +0 -10
  145. package/src/molecules/modal/modal-graph.js +0 -40
@@ -1,28 +1,35 @@
1
- @charset 'UTF-8';
1
+ @charset "UTF-8";
2
2
  @use "sass:color";
3
+ @use '../../configurations/mixins' as mixin;
4
+ @use '../../configurations/extends';
5
+ @use '../../configurations/bem' as bem;
6
+ @use '../../configurations/variables' as var;
7
+ @use '../../configurations/functions' as func;
8
+ @use '../../configurations/colors/colors' as colors;
9
+ @use '../../configurations/colors/colors-functions' as colorFunc;
3
10
 
4
- @include atom(checkbox) {
11
+ @include mixin.atom(checkbox) {
5
12
  &[type='checkbox'] {
6
13
  + label {
7
14
  display: inline-flex;
8
15
  position: relative;
9
16
  align-items: flex-start;
10
- padding-top: rhythm(0.5);
11
- padding-right: rhythm(2);
12
- padding-bottom: rhythm(0.5);
13
- font-family: $font-family-base;
17
+ padding-top: func.rhythm(0.5);
18
+ padding-right: func.rhythm(2);
19
+ padding-bottom: func.rhythm(0.5);
20
+ font-family: var.$font-family-base;
14
21
 
15
22
  &::before {
16
23
  content: '';
17
24
  display: block;
18
25
  flex-shrink: 0;
19
- width: $icon-size-small;
20
- height: $icon-size-small;
21
- margin-top: rem(3px);
22
- margin-right: rhythm(1);
23
- border: 1px solid $color-cyberspace;
24
- border-radius: $border-radius;
25
- background-color: $color-snow;
26
+ width: var.$icon-size-small;
27
+ height: var.$icon-size-small;
28
+ margin-top: func.to_rem(3px);
29
+ margin-right: func.rhythm(1);
30
+ border: 1px solid colors.$color-cyberspace;
31
+ border-radius: var.$border-radius;
32
+ background-color: colors.$color-snow;
26
33
  }
27
34
  }
28
35
 
@@ -31,7 +38,7 @@
31
38
  &:hover {
32
39
  + label {
33
40
  &::before {
34
- background-color: color.adjust($color-ash, $lightness: -5%);
41
+ background-color: color.adjust(colors.$color-ash, $lightness: -5%);
35
42
  }
36
43
  }
37
44
  }
@@ -43,12 +50,12 @@
43
50
  content: '';
44
51
  display: block;
45
52
  position: absolute;
46
- top: rem(10.5px);
47
- left: rem(6px);
48
- width: rem(5px);
49
- height: rem(9px);
53
+ top: func.to_rem(10.5px);
54
+ left: func.to_rem(6px);
55
+ width: func.to_rem(5px);
56
+ height: func.to_rem(9px);
50
57
  transform: rotate(45deg);
51
- border: solid $color-cyberspace;
58
+ border: solid colors.$color-cyberspace;
52
59
  border-width: 0 2px 2px 0;
53
60
  }
54
61
  }
@@ -59,32 +66,32 @@
59
66
  @extend %disabled;
60
67
 
61
68
  &::before {
62
- background-color: color.adjust($color-concrete, $lightness: -5%);
69
+ background-color: color.adjust(colors.$color-concrete, $lightness: -5%);
63
70
  }
64
71
  }
65
72
  }
66
73
  }
67
74
  }
68
75
 
69
- @include b(checkbox) {
76
+ @include bem.b(checkbox) {
70
77
  &.is-invalid {
71
78
  [type='checkbox'] {
72
79
  + label {
73
80
  &::before {
74
- border-color: $color-ruby-dark;
75
- background-color: $color-ruby-light;
81
+ border-color: colors.$color-ruby-dark;
82
+ background-color: colors.$color-ruby-light;
76
83
  }
77
84
  }
78
85
  }
79
86
  }
80
- @include m(inline) {
87
+ @include bem.m(inline) {
81
88
  padding-top: 0;
82
89
  padding-bottom: 0;
83
90
 
84
91
  input[type='checkbox'] {
85
92
  + label {
86
- margin-top: rhythm(1);
87
- margin-bottom: rhythm(1);
93
+ margin-top: func.rhythm(1);
94
+ margin-bottom: func.rhythm(1);
88
95
  }
89
96
  }
90
97
  }
@@ -1,7 +1,17 @@
1
- @charset 'UTF-8';
1
+ @charset "UTF-8";
2
+ @use '../../configurations/mixins' as mixin;
3
+ @use '../../configurations/extends';
4
+ @use '../../configurations/bem' as bem;
5
+ @use '../../configurations/variables' as var;
6
+ @use '../../configurations/functions' as func;
7
+ @use '../../configurations/colors/colors' as colors;
8
+ @use '../../configurations/colors/colors-functions' as colorFunc;
9
+ @use '../../vendor/grid/breakpoints' as breakpoint;
10
+ @use '../../utilities/hide';
11
+
2
12
 
3
13
  .js {
4
- @include atom(file) {
14
+ @include mixin.atom(file) {
5
15
  @extend %u-visuallyhidden;
6
16
 
7
17
  &:focus {
@@ -9,19 +19,19 @@
9
19
  }
10
20
 
11
21
  &.has-icon {
12
- padding-right: rhythm(5);
22
+ padding-right: func.rhythm(5);
13
23
  }
14
24
 
15
25
  &[disabled] {
16
26
  @extend %disabled;
17
27
  }
18
28
 
19
- @include m(discreet) {
29
+ @include bem.m(discreet) {
20
30
  @extend %discreet;
21
31
  }
22
32
  }
23
33
 
24
- @include atom(file-text) {
34
+ @include mixin.atom(file-text) {
25
35
  width: auto;
26
36
  max-width: 250px;
27
37
  overflow: hidden;
@@ -29,14 +39,14 @@
29
39
  white-space: nowrap;
30
40
  }
31
41
 
32
- @include atom(file-preview) {
42
+ @include mixin.atom(file-preview) {
33
43
  position: relative;
34
44
  width: 100%;
35
- height: rem(169px);
36
- margin-bottom: rhythm(1);
45
+ height: func.to_rem(169px);
46
+ margin-bottom: func.rhythm(1);
37
47
  overflow: hidden;
38
- border-radius: $border-radius;
39
- background-color: $color-concrete;
48
+ border-radius: var.$border-radius;
49
+ background-color: colors.$color-concrete;
40
50
 
41
51
  &::after {
42
52
  content: attr(data-label);
@@ -44,7 +54,7 @@
44
54
  top: 50%;
45
55
  left: 50%;
46
56
  transform: translateX(-50%) translateY(-50%);
47
- font-size: $size-medium;
57
+ font-size: var.$size-medium;
48
58
  }
49
59
 
50
60
  > img {
@@ -61,8 +71,8 @@
61
71
  }
62
72
  }
63
73
 
64
- @include bp-up(sm) {
65
- max-width: rem(300px);
74
+ @include breakpoint.bp-up(sm) {
75
+ max-width: func.to_rem(300px);
66
76
  }
67
77
  }
68
78
  }
@@ -1,11 +1,16 @@
1
- @charset 'UTF-8';
2
-
1
+ @charset "UTF-8";
3
2
  @use "sass:math";
3
+ @use '../../configurations/mixins' as mixin;
4
+ @use '../../configurations/bem' as bem;
5
+ @use '../../configurations/variables' as var;
6
+ @use '../../configurations/functions' as func;
7
+ @use '../../configurations/colors/colors' as colors;
8
+ @use '../../vendor/grid/breakpoints' as breakpoint;
4
9
 
5
10
  $guide: #4bffff !default;
6
11
  $rgba: rgba !default;
7
12
 
8
- @include b(grid-toggle) {
13
+ @include bem.b(grid-toggle) {
9
14
  position: fixed;
10
15
  right: 40px;
11
16
  bottom: 40px;
@@ -13,12 +18,12 @@ $rgba: rgba !default;
13
18
  height: 60px;
14
19
  border: 0;
15
20
  border-radius: 50%;
16
- background: $color-ruby;
17
- color: $color-snow;
21
+ background: colors.$color-ruby;
22
+ color: colors.$color-snow;
18
23
  font-size: 0.7rem;
19
24
  }
20
25
 
21
- @include b(baseline-grid) {
26
+ @include bem.b(baseline-grid) {
22
27
  height: 1000%;
23
28
  background-image: linear-gradient(to top, $guide 0, $guide 1px, transparent 1px);
24
29
  background-size: 100% math.div(1rem, 2);
@@ -1,8 +1,15 @@
1
- @charset 'UTF-8';
1
+ @charset "UTF-8";
2
+ @use '../../configurations/mixins' as mixin;
3
+ @use '../../configurations/bem' as bem;
4
+ @use '../../configurations/variables' as var;
5
+ @use '../../configurations/functions' as func;
6
+ @use '../../configurations/colors/colors' as colors;
7
+ @use '../../configurations/colors/colors-functions' as colorFunc;
2
8
 
3
- @include atom(height-limit) {
4
9
 
5
- @include e(inner) {
10
+ @include mixin.atom(height-limit) {
11
+
12
+ @include bem.e(inner) {
6
13
  position: relative;
7
14
 
8
15
  &.is-limited {
@@ -15,32 +22,32 @@
15
22
  bottom: 0;
16
23
  left: 0;
17
24
  height: 50%;
18
- background-image: linear-gradient(to bottom, rgba($color-ash, 0) 0%, rgba($color-ash, 1) 100%);
25
+ background-image: linear-gradient(to bottom, rgba(colors.$color-ash, 0) 0%, rgba(colors.$color-ash, 1) 100%);
19
26
  }
20
27
  }
21
28
  }
22
29
 
23
- @include m(white) {
24
- @include e(inner) {
30
+ @include bem.m(white) {
31
+ @include bem.e(inner) {
25
32
  &.is-limited {
26
33
  &::after {
27
- background-image: linear-gradient(to bottom, rgba($color-snow, 0) 0%, rgba($color-snow, 1) 100%);
34
+ background-image: linear-gradient(to bottom, rgba(colors.$color-snow, 0) 0%, rgba(colors.$color-snow, 1) 100%);
28
35
  }
29
36
  }
30
37
  }
31
38
  }
32
39
 
33
- @include m(snow) {
34
- @include e(inner) {
40
+ @include bem.m(snow) {
41
+ @include bem.e(inner) {
35
42
  &.is-limited {
36
43
  &::after {
37
- background-image: linear-gradient(to bottom, rgba($color-snow, 0) 0%, rgba($color-snow, 1) 100%);
44
+ background-image: linear-gradient(to bottom, rgba(colors.$color-snow, 0) 0%, rgba(colors.$color-snow, 1) 100%);
38
45
  }
39
46
  }
40
47
  }
41
48
  }
42
49
 
43
- @include e(btn) {
50
+ @include bem.e(btn) {
44
51
  display: flex;
45
52
  position: relative;
46
53
  z-index: 2;
@@ -50,8 +57,8 @@
50
57
  background-color: transparent;
51
58
 
52
59
  > svg {
53
- width: $icon-size;
54
- height: $icon-size;
60
+ width: var.$icon-size;
61
+ height: var.$icon-size;
55
62
  }
56
63
 
57
64
  &.is-clicked {
@@ -62,7 +69,7 @@
62
69
  }
63
70
  }
64
71
 
65
- @include e(text) {
72
+ @include bem.e(text) {
66
73
  display: block;
67
74
  }
68
75
  }
@@ -1,6 +1,13 @@
1
- @charset 'UTF-8';
2
-
3
- @include atom(input) {
1
+ @charset "UTF-8";
2
+ @use '../../configurations/mixins' as mixin;
3
+ @use '../../configurations/extends';
4
+ @use '../../configurations/bem' as bem;
5
+ @use '../../configurations/variables' as var;
6
+ @use '../../configurations/functions' as func;
7
+ @use '../../configurations/colors/colors' as colors;
8
+ @use '../../configurations/colors/colors-functions' as colorFunc;
9
+
10
+ @include mixin.atom(input) {
4
11
  @extend %input;
5
12
 
6
13
  &:focus {
@@ -8,28 +15,28 @@
8
15
  }
9
16
 
10
17
  &.has-icon {
11
- padding-right: rhythm(5);
18
+ padding-right: func.rhythm(5);
12
19
  }
13
20
 
14
21
  &[disabled] {
15
22
  @extend %disabled;
16
23
  }
17
24
 
18
- @include m(discreet) {
25
+ @include bem.m(discreet) {
19
26
  @extend %discreet;
20
27
  }
21
- @include m(small) {
22
- font-size: $size-medium;
23
- padding: rhythm(0.5);
28
+ @include bem.m(small) {
29
+ font-size: var.$size-medium;
30
+ padding: func.rhythm(0.5);
24
31
  }
25
32
 
26
- @include m(large) {
27
- font-size: rem(32px);
28
- padding: rhythm(1) rhythm(2);
33
+ @include bem.m(large) {
34
+ font-size: func.to_rem(32px);
35
+ padding: func.rhythm(1) func.rhythm(2);
29
36
  }
30
37
  }
31
38
 
32
- @include b(input-icon) {
39
+ @include bem.b(input-icon) {
33
40
  display: flex;
34
41
  justify-content: flex-end;
35
42
  width: 100%;
@@ -37,9 +44,9 @@
37
44
 
38
45
  > svg {
39
46
  position: relative;
40
- z-index: z_index(middleground);
41
- width: $icon-size;
42
- height: $icon-size;
43
- transform: translateY(-#{rhythm(3.7)}) translateX(-#{rhythm(1)});
47
+ z-index: func.z_index(middleground);
48
+ width: var.$icon-size;
49
+ height: var.$icon-size;
50
+ transform: translateY(-#{func.rhythm(3.7)}) translateX(-#{func.rhythm(1)});
44
51
  }
45
52
  }
@@ -1,17 +1,23 @@
1
- @charset 'UTF-8';
1
+ @charset "UTF-8";
2
+ @use '../../configurations/mixins' as mixin;
3
+ @use '../../configurations/bem' as bem;
4
+ @use '../../configurations/variables' as var;
5
+ @use '../../configurations/functions' as func;
6
+ @use '../../configurations/colors/colors' as colors;
7
+ @use '../../configurations/colors/colors-functions' as colorFunc;
2
8
 
3
9
  label,
4
10
  .label-legend {
5
11
  display: inline-block;
6
- margin-bottom: rhythm(0.5);
7
- font-family: $font-family-headings;
8
- font-size: rem(16px);
12
+ margin-bottom: func.rhythm(0.5);
13
+ font-family: var.$font-family-headings;
14
+ font-size: func.to_rem(16px);
9
15
  cursor: pointer;
10
16
 
11
17
  &.is-required {
12
18
  &::after {
13
19
  content: '*';
14
- color: $color-ruby;
20
+ color: colors.$color-ruby;
15
21
  }
16
22
  }
17
23
  }
@@ -1,6 +1,7 @@
1
- @charset 'UTF-8';
1
+ @charset "UTF-8";
2
+ @use '../../configurations/mixins' as mixin;
2
3
 
3
- @include atom(logotype) {
4
+ @include mixin.atom(logotype) {
4
5
  display: flex;
5
6
  width: 100%;
6
7
  }
@@ -1,8 +1,15 @@
1
- @charset 'UTF-8';
2
-
3
- @include atom(main-menu) {
4
-
5
- @include e(list) {
1
+ @charset "UTF-8";
2
+ @use '../../configurations/mixins' as mixin;
3
+ @use '../../configurations/extends';
4
+ @use '../../configurations/bem' as bem;
5
+ @use '../../configurations/variables' as var;
6
+ @use '../../configurations/functions' as func;
7
+ @use '../../configurations/colors/colors' as colors;
8
+ @use '../../vendor/grid/breakpoints' as breakpoint;
9
+
10
+ @include mixin.atom(main-menu) {
11
+
12
+ @include bem.e(list) {
6
13
  $root: &;
7
14
 
8
15
  display: flex;
@@ -18,55 +25,55 @@
18
25
  position: relative;
19
26
 
20
27
  &:last-child {
21
- #{$root}#{$element-separator}link {
28
+ #{$root}#{bem.$element-separator}link {
22
29
  padding-right: 0;
23
30
  }
24
31
  }
25
32
  }
26
33
 
27
- @include e(button) {
28
- padding: rhythm(2) 0 rhythm(2) rhythm(1);
34
+ @include bem.e(button) {
35
+ padding: func.rhythm(2) 0 func.rhythm(2) func.rhythm(1);
29
36
 
30
- @include atom(button) {
31
- padding: rhythm(0.4) rhythm(1.5);
32
- font-family: $font-family-medium;
33
- font-size: $size-small;
37
+ @include mixin.atom(button) {
38
+ padding: func.rhythm(0.4) func.rhythm(1.5);
39
+ font-family: var.$font-family-medium;
40
+ font-size: var.$size-small;
34
41
 
35
- @include e(text) {
42
+ @include bem.e(text) {
36
43
  overflow: hidden;
37
44
  text-overflow: ellipsis;
38
45
  white-space: nowrap;
39
46
  }
40
47
 
41
- @include m(icon-left) {
42
- padding-left: rhythm(5);
48
+ @include bem.m(icon-left) {
49
+ padding-left: func.rhythm(5);
43
50
  }
44
51
 
45
- @include m(icon-right) {
46
- padding-right: rhythm(5);
52
+ @include bem.m(icon-right) {
53
+ padding-right: func.rhythm(5);
47
54
  }
48
55
  }
49
56
 
50
- @include bp-up(sm) {
51
- @include atom(button) {
52
- padding-top: rhythm(0.6);
53
- padding-bottom: rhythm(0.6);
54
- font-size: $size-base;
57
+ @include breakpoint.bp-up(sm) {
58
+ @include mixin.atom(button) {
59
+ padding-top: func.rhythm(0.6);
60
+ padding-bottom: func.rhythm(0.6);
61
+ font-size: var.$size-base;
55
62
  }
56
63
  }
57
64
  }
58
65
 
59
- @include e(link) {
66
+ @include bem.e(link) {
60
67
  @extend %normalize-links;
61
68
 
62
69
  display: flex;
63
70
  align-items: center;
64
- padding: rhythm(2) rhythm(1);
71
+ padding: func.rhythm(2) func.rhythm(1);
65
72
  border: 0;
66
73
  background-color: transparent;
67
74
  color: var(--cyberspace-color);
68
- font-family: $font-family-medium;
69
- font-size: rem($size-small);
75
+ font-family: var.$font-family-medium;
76
+ font-size: func.to_rem(var.$size-small);
70
77
  text-decoration: none;
71
78
  -webkit-appearance: none;
72
79
  line-height: 1;
@@ -77,13 +84,13 @@
77
84
  }
78
85
 
79
86
  &.is-current {
80
- color: $color-ruby;
81
- font-family: $font-family-medium;
87
+ color: colors.$color-ruby;
88
+ font-family: var.$font-family-medium;
82
89
  }
83
90
 
84
91
  &[aria-expanded='true'] {
85
92
 
86
- @include b(icon-hamburger) {
93
+ @include bem.b(icon-hamburger) {
87
94
  transform: rotate(-90deg);
88
95
  background-color: transparent;
89
96
 
@@ -98,7 +105,7 @@
98
105
  }
99
106
  }
100
107
 
101
- @include b(icon-arrow-down) {
108
+ @include bem.b(icon-arrow-down) {
102
109
  &::before {
103
110
  left: 0;
104
111
  width: 100%;
@@ -113,14 +120,14 @@
113
120
  }
114
121
  }
115
122
 
116
- @include b(icon-hamburger) {
123
+ @include bem.b(icon-hamburger) {
117
124
  display: flex;
118
125
  position: relative;
119
126
  z-index: -1;
120
127
  flex-direction: column;
121
- width: $icon-size-medium;
128
+ width: var.$icon-size-medium;
122
129
  height: 2px;
123
- margin-left: rhythm(1);
130
+ margin-left: func.rhythm(1);
124
131
  transform-origin: 50% 50%;
125
132
  transition: all 0.3s ease-out, background-color 0.15s ease-out;
126
133
  border: 0;
@@ -140,23 +147,23 @@
140
147
  }
141
148
 
142
149
  &::before {
143
- top: -#{rem(6px)};
150
+ top: -#{func.to_rem(6px)};
144
151
  }
145
152
 
146
153
  &::after {
147
- bottom: -#{rem(6px)};
154
+ bottom: -#{func.to_rem(6px)};
148
155
  }
149
156
  }
150
157
 
151
- @include b(icon-arrow-down) {
158
+ @include bem.b(icon-arrow-down) {
152
159
  display: flex;
153
160
  position: relative;
154
161
  z-index: -1;
155
162
  flex-direction: column;
156
- width: $icon-size-medium;
157
- height: $icon-size-medium;
158
- margin-left: rhythm(1);
159
- margin-top: -#{rem(3px)};
163
+ width: var.$icon-size-medium;
164
+ height: var.$icon-size-medium;
165
+ margin-left: func.rhythm(1);
166
+ margin-top: -#{func.to_rem(3px)};
160
167
  transform-origin: 50% 50%;
161
168
  transition: all 0.3s ease-out;
162
169
  border: 0;
@@ -176,42 +183,42 @@
176
183
  }
177
184
 
178
185
  &::before {
179
- left: -#{rem(2px)};
186
+ left: -#{func.to_rem(2px)};
180
187
  transform: rotate(45deg);
181
188
  }
182
189
 
183
190
  &::after {
184
- right: -#{rem(2px)};
191
+ right: -#{func.to_rem(2px)};
185
192
  transform: rotate(-45deg);
186
193
  }
187
194
  }
188
195
 
189
- @include bp-up(sm) {
190
- font-size: $size-base;
196
+ @include breakpoint.bp-up(sm) {
197
+ font-size: var.$size-base;
191
198
  }
192
199
  }
193
200
 
194
- @include e(text) {
195
- margin-top: -#{rem(3px)}; // Adjust for the font's bad placement in viewbox
201
+ @include bem.e(text) {
202
+ margin-top: -#{func.to_rem(3px)}; // Adjust for the font's bad placement in viewbox
196
203
  pointer-events: none;
197
204
  }
198
205
  }
199
206
 
200
- @include e(subnav) {
207
+ @include bem.e(subnav) {
201
208
  position: absolute;
202
209
  left: 0;
203
- top: calc(100% - #{rhythm(1)});
210
+ top: calc(100% - #{func.rhythm(1)});
204
211
  margin: 0;
205
212
  padding: 0;
206
- background-color: $color-snow;
207
- border: 1px solid $color-ash;
213
+ background-color: colors.$color-snow;
214
+ border: 1px solid colors.$color-ash;
208
215
 
209
- @include card-shadow($color-cyberspace, 0.2);
216
+ @include mixin.card-shadow(colors.$color-cyberspace, 0.2);
210
217
 
211
218
  &::after,
212
219
  &:before {
213
220
  bottom: 100%;
214
- left: rhythm(4);
221
+ left: func.rhythm(4);
215
222
  border: solid transparent;
216
223
  content: '';
217
224
  height: 0;
@@ -222,13 +229,13 @@
222
229
 
223
230
  &::after {
224
231
  border-color: rgba(255, 255, 255, 0);
225
- border-bottom-color: $color-snow;
232
+ border-bottom-color: colors.$color-snow;
226
233
  border-width: 15px;
227
234
  margin-left: -15px;
228
235
  }
229
236
  &::before {
230
237
  border-color: rgba(238, 238, 238, 0);
231
- border-bottom-color: $color-ash;
238
+ border-bottom-color: colors.$color-ash;
232
239
  border-width: 16px;
233
240
  margin-left: -16px;
234
241
  }
@@ -238,18 +245,18 @@
238
245
  display: none;
239
246
  }
240
247
 
241
- @include e(item) {
248
+ @include bem.e(item) {
242
249
  width: 100%;
243
250
 
244
251
  & + & {
245
- border-top: 1px solid $color-ash;
252
+ border-top: 1px solid colors.$color-ash;
246
253
  }
247
254
 
248
255
  a {
249
- color: $color-cyberspace;
256
+ color: colors.$color-cyberspace;
250
257
  display: block;
251
258
  width: 100%;
252
- padding: rhythm(0.5) rhythm(2);
259
+ padding: func.rhythm(0.5) func.rhythm(2);
253
260
  text-decoration: none;
254
261
  white-space: nowrap;
255
262
 
@@ -262,8 +269,8 @@
262
269
  }
263
270
 
264
271
  .no-js {
265
- @include atom(main-menu) {
266
- @include e(subnav) {
272
+ @include mixin.atom(main-menu) {
273
+ @include bem.e(subnav) {
267
274
  display: block;
268
275
  }
269
276
  }