maverick-wave 4.28.0 → 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 (138) hide show
  1. package/.claude/settings.local.json +29 -1
  2. package/.claude/skills/mw-maverick-wave/SKILL.md +39 -24
  3. package/.claude/skills/mw-maverick-wave/examples/angular-services.md +16 -4
  4. package/.claude/skills/mw-maverick-wave/examples/static-landing-page.md +13 -4
  5. package/.claude/skills/mw-maverick-wave/references/components.md +42 -5
  6. package/.claude/skills/mw-maverick-wave/references/forms.md +14 -2
  7. package/.claude/skills/mw-maverick-wave/references/javascript.md +17 -4
  8. package/.claude/skills/mw-maverick-wave/references/layout.md +53 -19
  9. package/.claude/skills/mw-maverick-wave/references/theming.md +38 -1
  10. package/.impeccable/config.local.json +5 -0
  11. package/.impeccable/hook.cache.json +1 -0
  12. package/CHANGELOG.md +11 -0
  13. package/CLAUDE.md +5 -5
  14. package/README.md +48 -4
  15. package/index.html +19 -38
  16. package/maverick-wave.min.css +14 -12
  17. package/maverick-wave.min.js +1 -1
  18. package/package.json +2 -2
  19. package/scripts/verify.js +27 -2
  20. package/src/js/main.js +223 -83
  21. package/src/partials/accordions-container.html +6 -10
  22. package/src/partials/alerts-container.html +6 -6
  23. package/src/partials/announcement-container.html +5 -5
  24. package/src/partials/avatars-container.html +85 -17
  25. package/src/partials/badges-container.html +6 -6
  26. package/src/partials/blog-posts-container.html +11 -12
  27. package/src/partials/buttons-container.html +3 -3
  28. package/src/partials/cards-container.html +26 -9
  29. package/src/partials/code-container.html +5 -5
  30. package/src/partials/content-slider-container.html +5 -4
  31. package/src/partials/divider-container.html +7 -7
  32. package/src/partials/dropdown-container.html +2 -2
  33. package/src/partials/empty-state-container.html +5 -5
  34. package/src/partials/footer-container.html +21 -18
  35. package/src/partials/form-elements-container.html +14 -14
  36. package/src/partials/gallery-container.html +16 -8
  37. package/src/partials/get-started-container.html +4 -8
  38. package/src/partials/header-container.html +18 -7
  39. package/src/partials/home-container.html +10 -20
  40. package/src/partials/input-group-container.html +11 -2
  41. package/src/partials/kbd-container.html +1 -1
  42. package/src/partials/login-container.html +5 -1
  43. package/src/partials/media-container.html +2 -2
  44. package/src/partials/modals-container.html +22 -32
  45. package/src/partials/pricing-container.html +9 -9
  46. package/src/partials/skeleton-container.html +6 -6
  47. package/src/partials/stepper-container.html +2 -2
  48. package/src/partials/tables-container.html +12 -12
  49. package/src/partials/tabs-container.html +17 -27
  50. package/src/partials/tags-container.html +23 -17
  51. package/src/partials/techstack-bucket-container.html +13 -0
  52. package/src/partials/tiles-container.html +26 -9
  53. package/src/partials/typography-container.html +7 -6
  54. package/src/partials/utilities-container.html +35 -15
  55. package/src/scss/_layers.scss +10 -0
  56. package/src/scss/abstracts/_index.scss +6 -0
  57. package/src/scss/abstracts/_mixins.scss +61 -153
  58. package/src/scss/abstracts/_variables.scss +123 -319
  59. package/src/scss/base/_base.scss +170 -190
  60. package/src/scss/base/_reset.scss +106 -104
  61. package/src/scss/base/_typography.scss +153 -151
  62. package/src/scss/components/_accordions.scss +97 -97
  63. package/src/scss/components/_alerts.scss +71 -70
  64. package/src/scss/components/_announcement.scss +71 -70
  65. package/src/scss/components/_avatars.scss +130 -142
  66. package/src/scss/components/_badge.scss +131 -132
  67. package/src/scss/components/_blog-post.scss +223 -220
  68. package/src/scss/components/_breadcrumbs.scss +93 -92
  69. package/src/scss/components/_button-bar.scss +102 -110
  70. package/src/scss/components/_buttons.scss +319 -324
  71. package/src/scss/components/_calendar.scss +251 -252
  72. package/src/scss/components/_cards.scss +359 -386
  73. package/src/scss/components/_code.scss +190 -194
  74. package/src/scss/components/_coming-soon.scss +77 -75
  75. package/src/scss/components/_content-slider.scss +90 -89
  76. package/src/scss/components/_divider.scss +55 -53
  77. package/src/scss/components/_dropdown.scss +179 -185
  78. package/src/scss/components/_empty-state.scss +57 -57
  79. package/src/scss/components/_flag.scss +294 -278
  80. package/src/scss/components/_gallery.scss +131 -133
  81. package/src/scss/components/_info.scss +151 -167
  82. package/src/scss/components/_kanban.scss +332 -341
  83. package/src/scss/components/_kbd.scss +40 -38
  84. package/src/scss/components/_lang-switch.scss +89 -97
  85. package/src/scss/components/_links.scss +21 -28
  86. package/src/scss/components/_lists.scss +510 -514
  87. package/src/scss/components/_localhost-indicator.scss +26 -24
  88. package/src/scss/components/_media.scss +22 -20
  89. package/src/scss/components/_meta-info.scss +35 -33
  90. package/src/scss/components/_modals.scss +277 -186
  91. package/src/scss/components/_pagination.scss +81 -87
  92. package/src/scss/components/_panels.scss +99 -97
  93. package/src/scss/components/_pricing.scss +183 -241
  94. package/src/scss/components/_progress.scss +112 -89
  95. package/src/scss/components/_prose.scss +35 -33
  96. package/src/scss/components/_ratings.scss +40 -38
  97. package/src/scss/components/_segmented.scss +82 -84
  98. package/src/scss/components/_skeleton.scss +66 -72
  99. package/src/scss/components/_spinners.scss +155 -159
  100. package/src/scss/components/_stepper.scss +116 -116
  101. package/src/scss/components/_tables.scss +155 -148
  102. package/src/scss/components/_tabs.scss +232 -141
  103. package/src/scss/components/_tags.scss +109 -107
  104. package/src/scss/components/_techstack-bucket.scss +123 -122
  105. package/src/scss/components/_testimonial.scss +72 -70
  106. package/src/scss/components/_theme-toggle.scss +53 -51
  107. package/src/scss/components/_tiles.scss +174 -174
  108. package/src/scss/components/_timelines.scss +282 -280
  109. package/src/scss/components/_toasts.scss +66 -72
  110. package/src/scss/form-elements/_checkbox.scss +117 -132
  111. package/src/scss/form-elements/_form.scss +149 -115
  112. package/src/scss/form-elements/_input-group.scss +99 -103
  113. package/src/scss/form-elements/_input.scss +74 -74
  114. package/src/scss/form-elements/_login.scss +48 -48
  115. package/src/scss/form-elements/_prefilled.scss +53 -51
  116. package/src/scss/form-elements/_radio.scss +95 -107
  117. package/src/scss/form-elements/_select.scss +42 -42
  118. package/src/scss/form-elements/_slider.scss +117 -132
  119. package/src/scss/form-elements/_textarea.scss +68 -54
  120. package/src/scss/form-elements/_toggle.scss +127 -140
  121. package/src/scss/layout/_footer.scss +172 -171
  122. package/src/scss/layout/_grid.scss +268 -302
  123. package/src/scss/layout/_header.scss +426 -427
  124. package/src/scss/layout/_home.scss +28 -27
  125. package/src/scss/layout/_main.scss +275 -238
  126. package/src/scss/layout/_page-header.scss +38 -36
  127. package/src/scss/layout/_section.scss +150 -124
  128. package/src/scss/main.scss +1 -1
  129. package/src/scss/utilities/_accessibility.scss +46 -45
  130. package/src/scss/utilities/_aspect.scss +22 -20
  131. package/src/scss/utilities/_corner.scss +23 -5
  132. package/src/scss/utilities/_display.scss +76 -70
  133. package/src/scss/utilities/_elevation.scss +13 -11
  134. package/src/scss/utilities/_flex.scss +83 -85
  135. package/src/scss/utilities/_reveal.scss +40 -63
  136. package/src/scss/utilities/_spacing.scss +63 -64
  137. package/src/scss/utilities/_text.scss +139 -141
  138. package/src/scss/utilities/_touch-targets.scss +130 -147
@@ -1,155 +1,156 @@
1
1
  @use '../abstracts' as *;
2
2
 
3
- .mw-techstack {
4
- display: flex;
5
- flex-wrap: wrap;
6
- gap: spacing('4');
7
-
8
- // Base item
9
- &-item {
10
- display: inline-flex;
11
- align-items: center;
12
- text-decoration: none;
13
- background: var(--mw-card-background);
14
- border: 1px solid var(--mw-border);
15
- border-radius: radius('md');
16
- padding: spacing('2');
17
- transition: var(--mw-transition-fast);
18
- color: var(--mw-text-color);
19
- min-width: 50px;
20
- min-height: 50px;
21
-
22
- .mw-techstack-logo {
23
- width: 32px;
24
- height: 32px;
25
- }
3
+ @layer mw.components {
4
+ .mw-techstack {
5
+ display: flex;
6
+ flex-wrap: wrap;
7
+ gap: spacing('4');
8
+
9
+ // Base item
10
+ &-item {
11
+ display: inline-flex;
12
+ align-items: center;
13
+ text-decoration: none;
14
+ background: var(--mw-card-background);
15
+ border: 1px solid var(--mw-border);
16
+ border-radius: radius('md');
17
+ padding: spacing('2');
18
+ transition: var(--mw-transition-fast);
19
+ color: var(--mw-text-color);
20
+ min-width: 50px;
21
+ min-height: 50px;
26
22
 
27
- .mw-techstack-name {
28
- font-size: font-size('sm');
29
- }
23
+ .mw-techstack-logo {
24
+ width: 32px;
25
+ height: 32px;
26
+ }
30
27
 
31
- .mw-techstack-desc {
32
- font-size: font-size('xs');
33
- }
28
+ .mw-techstack-name {
29
+ font-size: font-size('sm');
30
+ }
31
+
32
+ .mw-techstack-desc {
33
+ font-size: font-size('xs');
34
+ }
35
+
36
+ @include hover {
37
+ transform: translateY(-2px);
38
+ }
39
+
40
+ &:hover {
41
+ box-shadow: var(--mw-elevation-3);
42
+ border-color: var(--mw-primary-text-color);
43
+
44
+ .mw-techstack-logo {
45
+ transform: scale(1.1);
46
+ }
34
47
 
35
- @include hover {
36
- transform: translateY(-2px);
48
+ .mw-techstack-name {
49
+ color: var(--mw-primary-text-color);
50
+ }
51
+ }
37
52
  }
38
53
 
39
- &:hover {
40
- box-shadow: var(--mw-elevation-3);
41
- border-color: var(--mw-primary-text-color);
54
+ &-item-sm {
55
+ padding: spacing('1') spacing('2');
56
+ min-width: 32px;
57
+ min-height: 32px;
58
+ border-radius: radius('sm');
42
59
 
43
60
  .mw-techstack-logo {
44
- transform: scale(1.1);
61
+ width: 18px;
62
+ height: 18px;
45
63
  }
46
64
 
47
- .mw-techstack-name {
48
- color: var(--mw-primary-text-color);
65
+ .mw-techstack-info {
66
+ margin-left: spacing('2');
67
+ margin-right: spacing('1');
49
68
  }
50
- }
51
- }
52
69
 
53
- // Small variant
54
- &-item-sm {
55
- padding: spacing('1') spacing('2');
56
- min-width: 32px;
57
- min-height: 32px;
58
- border-radius: radius('sm');
70
+ .mw-techstack-name {
71
+ font-size: font-size('xs');
72
+ }
59
73
 
60
- .mw-techstack-logo {
61
- width: 18px;
62
- height: 18px;
74
+ .mw-techstack-desc {
75
+ display: none;
76
+ }
63
77
  }
64
78
 
65
- .mw-techstack-info {
66
- margin-left: spacing('2');
67
- margin-right: spacing('1');
79
+ &-logo {
80
+ object-fit: contain;
81
+ border-radius: radius('sm');
82
+ transition: transform var(--mw-duration-fast) var(--mw-ease-out);
83
+ flex-shrink: 0;
68
84
  }
69
85
 
70
- .mw-techstack-name {
71
- font-size: font-size('xs');
86
+ &-info {
87
+ display: flex;
88
+ flex-direction: column;
89
+ margin-left: spacing('3');
90
+ margin-right: spacing('2');
91
+ justify-content: center;
72
92
  }
73
93
 
74
- .mw-techstack-desc {
75
- display: none;
94
+ &-name {
95
+ font-weight: font-weight('bold');
96
+ line-height: 1.1;
97
+ transition: color var(--mw-duration-fast) var(--mw-ease-out);
76
98
  }
77
- }
78
99
 
79
- &-logo {
80
- object-fit: contain;
81
- border-radius: radius('sm');
82
- transition: transform var(--mw-duration-fast) var(--mw-ease-out);
83
- flex-shrink: 0;
100
+ &-desc {
101
+ color: var(--mw-text-muted-color);
102
+ margin-top: 2px;
103
+ line-height: 1.1;
104
+ }
84
105
  }
85
106
 
86
- &-info {
107
+ // Bucket container
108
+ .mw-techstack-bucket {
87
109
  display: flex;
88
- flex-direction: column;
89
- margin-left: spacing('3');
90
- margin-right: spacing('2');
110
+ flex-wrap: wrap;
91
111
  justify-content: center;
92
- }
93
-
94
- &-name {
95
- font-weight: font-weight('bold');
96
- line-height: 1.1;
97
- transition: color var(--mw-duration-fast) var(--mw-ease-out);
98
- }
99
-
100
- &-desc {
101
- color: var(--mw-text-muted-color);
102
- margin-top: 2px;
103
- line-height: 1.1;
104
- }
105
- }
112
+ gap: spacing('1');
113
+ padding: spacing('3');
114
+ position: relative;
115
+ margin-top: spacing('2');
116
+ border-left: 2px solid var(--mw-dark-border);
117
+ border-right: 2px solid var(--mw-dark-border);
118
+ border-bottom: 4px solid var(--mw-dark-border);
119
+ border-top: 2px solid transparent;
120
+ border-radius: radius('none') radius('none') radius('xl') radius('xl');
106
121
 
107
- // Bucket container
108
- .mw-techstack-bucket {
109
- display: flex;
110
- flex-wrap: wrap;
111
- justify-content: center;
112
- gap: spacing('1');
113
- padding: spacing('3');
114
- position: relative;
115
- margin-top: spacing('2');
116
- border-left: 2px solid var(--mw-dark-border);
117
- border-right: 2px solid var(--mw-dark-border);
118
- border-bottom: 4px solid var(--mw-dark-border);
119
- border-top: 2px solid transparent;
120
- border-radius: radius('none') radius('none') radius('xl') radius('xl');
121
-
122
- &::before {
123
- content: '';
124
- position: absolute;
125
- top: -2px;
126
- left: -2px;
127
- right: -2px;
128
- height: 2px;
129
- background: linear-gradient(
130
- 90deg,
131
- var(--mw-dark-border) 0%,
132
- transparent 25%,
133
- transparent 75%,
134
- var(--mw-dark-border) 100%
135
- );
136
- }
122
+ &::before {
123
+ content: '';
124
+ position: absolute;
125
+ top: -2px;
126
+ left: -2px;
127
+ right: -2px;
128
+ height: 2px;
129
+ background: linear-gradient(
130
+ 90deg,
131
+ var(--mw-dark-border) 0%,
132
+ transparent 25%,
133
+ transparent 75%,
134
+ var(--mw-dark-border) 100%
135
+ );
136
+ }
137
137
 
138
- &-narrow {
139
- max-width: 14rem;
140
- padding: spacing('5') spacing('6');
141
- margin-inline: auto;
142
- }
138
+ &-narrow {
139
+ max-width: 14rem;
140
+ padding: spacing('5') spacing('6');
141
+ margin-inline: auto;
142
+ }
143
143
 
144
- // Variant dashed - completely closed
145
- &-dashed {
146
- background: transparent;
147
- border: 2px dashed var(--mw-border);
148
- border-radius: radius('xl');
149
- border-top: 2px dashed var(--mw-border);
144
+ // Variant dashed - completely closed
145
+ &-dashed {
146
+ background: transparent;
147
+ border: 2px dashed var(--mw-border);
148
+ border-radius: radius('xl');
149
+ border-top: 2px dashed var(--mw-border);
150
150
 
151
- &::before {
152
- display: none;
151
+ &::before {
152
+ display: none;
153
+ }
153
154
  }
154
155
  }
155
156
  }
@@ -1,80 +1,82 @@
1
1
  @use '../abstracts' as *;
2
2
 
3
- // A voice about the product - a quote card with its source. A figure, because
4
- // quote and attribution belong together and that is the element that says so:
5
- //
6
- // <figure class="mw-testimonial">
7
- // <blockquote>...</blockquote>
8
- // <figcaption class="mw-testimonial-source">
9
- // Name <span class="mw-testimonial-detail">&middot; role or occasion</span>
10
- // </figcaption>
11
- // </figure>
12
- .mw-testimonial {
13
- @include surface;
14
- display: flex;
15
- flex-direction: column;
16
- padding: spacing('5');
17
- background: var(--mw-card-background);
18
- border: 1px solid var(--mw-border);
19
- box-shadow: var(--mw-elevation-2);
3
+ @layer mw.components {
4
+ // A voice about the product - a quote card with its source. A figure, because
5
+ // quote and attribution belong together and that is the element that says so:
6
+ //
7
+ // <figure class="mw-testimonial">
8
+ // <blockquote>...</blockquote>
9
+ // <figcaption class="mw-testimonial-source">
10
+ // Name <span class="mw-testimonial-detail">&middot; role or occasion</span>
11
+ // </figcaption>
12
+ // </figure>
13
+ .mw-testimonial {
14
+ @include surface;
15
+ display: flex;
16
+ flex-direction: column;
17
+ padding: spacing('5');
18
+ background: var(--mw-card-background);
19
+ border: 1px solid var(--mw-border);
20
+ box-shadow: var(--mw-elevation-2);
20
21
 
21
- // Several of these in a row, each quote on the base blockquote tint, add up
22
- // to a solid colored wall nobody reads through. The card already carries the
23
- // surface - inside it the quote keeps only the edge and the quotation marks
24
- // as its sign.
25
- blockquote {
26
- background: color-mix(in srgb, var(--mw-secondary-color) 6%, transparent);
27
- border-left-color: color-mix(
28
- in srgb,
29
- var(--mw-secondary-color) 45%,
30
- transparent
31
- );
32
- padding-block: spacing('2');
33
- font-size: font-size('base');
34
- line-height: 1.6;
22
+ // Several of these in a row, each quote on the base blockquote tint, add up
23
+ // to a solid colored wall nobody reads through. The card already carries the
24
+ // surface - inside it the quote keeps only the edge and the quotation marks
25
+ // as its sign.
26
+ blockquote {
27
+ background: color-mix(in srgb, var(--mw-secondary-color) 6%, transparent);
28
+ border-left-color: color-mix(
29
+ in srgb,
30
+ var(--mw-secondary-color) 45%,
31
+ transparent
32
+ );
33
+ padding-block: spacing('2');
34
+ font-size: font-size('base');
35
+ line-height: 1.6;
36
+ }
35
37
  }
36
- }
37
38
 
38
- // margin-top: auto, so in a grid of equal-height cards every source line sits
39
- // on its card's bottom edge instead of floating under quotes of random length.
40
- //
41
- // A wrapping flex row rather than inline text, so an optional date can sit on
42
- // the card's right edge: "who" on the left, "when" on the right, and the two
43
- // do not run into each other. The column gap stands in for the space the
44
- // inline flow used to leave between name and detail. When the line runs out
45
- // of room the date drops to a line of its own and stays right-aligned - its
46
- // auto margin absorbs whatever is left.
47
- .mw-testimonial-source {
48
- display: flex;
49
- flex-wrap: wrap;
50
- align-items: baseline;
51
- column-gap: spacing('2');
52
- row-gap: spacing('1');
53
- margin-top: auto;
54
- padding-top: spacing('5');
55
- font-size: font-size('sm');
56
- font-weight: font-weight('bold');
57
- color: var(--mw-primary-text-color);
58
- }
39
+ // margin-top: auto, so in a grid of equal-height cards every source line sits
40
+ // on its card's bottom edge instead of floating under quotes of random length.
41
+ //
42
+ // A wrapping flex row rather than inline text, so an optional date can sit on
43
+ // the card's right edge: "who" on the left, "when" on the right, and the two
44
+ // do not run into each other. The column gap stands in for the space the
45
+ // inline flow used to leave between name and detail. When the line runs out
46
+ // of room the date drops to a line of its own and stays right-aligned - its
47
+ // auto margin absorbs whatever is left.
48
+ .mw-testimonial-source {
49
+ display: flex;
50
+ flex-wrap: wrap;
51
+ align-items: baseline;
52
+ column-gap: spacing('2');
53
+ row-gap: spacing('1');
54
+ margin-top: auto;
55
+ padding-top: spacing('5');
56
+ font-size: font-size('sm');
57
+ font-weight: font-weight('bold');
58
+ color: var(--mw-primary-text-color);
59
+ }
59
60
 
60
- .mw-testimonial-detail {
61
- font-weight: font-weight('normal');
62
- color: var(--mw-text-muted-color);
63
- }
61
+ .mw-testimonial-detail {
62
+ font-weight: font-weight('normal');
63
+ color: var(--mw-text-muted-color);
64
+ }
64
65
 
65
- // When the voice spoke - a <time>, month and year, on the right edge of the
66
- // source line. Optional on purpose: a dated quote ages, and a wall of voices
67
- // from three years ago says more about the page than about the product.
68
- .mw-testimonial-date {
69
- margin-left: auto;
70
- font-weight: font-weight('normal');
71
- color: var(--mw-text-muted-color);
72
- white-space: nowrap;
73
- }
66
+ // When the voice spoke - a <time>, month and year, on the right edge of the
67
+ // source line. Optional on purpose: a dated quote ages, and a wall of voices
68
+ // from three years ago says more about the page than about the product.
69
+ .mw-testimonial-date {
70
+ margin-left: auto;
71
+ font-weight: font-weight('normal');
72
+ color: var(--mw-text-muted-color);
73
+ white-space: nowrap;
74
+ }
74
75
 
75
- // The one voice lifted above the grid - it may speak a size louder.
76
- .mw-testimonial-featured {
77
- blockquote {
78
- font-size: font-size('md');
76
+ // The one voice lifted above the grid - it may speak a size louder.
77
+ .mw-testimonial-featured {
78
+ blockquote {
79
+ font-size: font-size('md');
80
+ }
79
81
  }
80
82
  }
@@ -1,61 +1,63 @@
1
1
  @use 'sass:map';
2
2
  @use '../abstracts' as *;
3
3
 
4
- .mw-theme-toggle {
5
- position: relative;
6
- top: 1px;
7
- width: 60px;
8
- height: 30px;
9
- border-radius: radius('lg');
10
- background: var(--mw-dark-footer-background);
11
- border: 1px solid var(--mw-header-border);
12
- cursor: pointer;
13
- display: flex;
14
- align-items: center;
15
- transition: var(--mw-transition);
16
- margin-right: spacing('5');
17
- appearance: none;
18
- padding: 0;
19
- @include tappable;
20
- @include focus-ring;
4
+ @layer mw.components {
5
+ .mw-theme-toggle {
6
+ position: relative;
7
+ top: 1px;
8
+ width: 60px;
9
+ height: 30px;
10
+ border-radius: radius('lg');
11
+ background: var(--mw-dark-footer-background);
12
+ border: 1px solid var(--mw-header-border);
13
+ cursor: pointer;
14
+ display: flex;
15
+ align-items: center;
16
+ transition: var(--mw-transition);
17
+ margin-right: spacing('6');
18
+ appearance: none;
19
+ padding: 0;
20
+ @include tappable;
21
+ @include focus-ring;
21
22
 
22
- &:active {
23
- transform: scale(0.95);
24
- transition-duration: var(--mw-duration-instant);
25
- }
23
+ &:active {
24
+ transform: scale(0.95);
25
+ transition-duration: var(--mw-duration-instant);
26
+ }
26
27
 
27
- @include media-down('lg') {
28
- margin-right: spacing('6');
29
- }
28
+ @include media-up('lg') {
29
+ margin-right: spacing('5');
30
+ }
30
31
 
31
- &-slider {
32
- position: absolute;
33
- left: 3px;
34
- top: 50%;
35
- transform: translateY(-50%);
36
- width: 20px;
37
- height: 20px;
38
- border-radius: radius('full');
39
- background: var(--mw-secondary-color);
40
- transition: var(--mw-transition);
41
- display: flex;
42
- align-items: center;
43
- justify-content: center;
44
- color: var(--mw-secondary-accent-text-color);
45
- font-size: font-size('md');
46
- }
32
+ &-slider {
33
+ position: absolute;
34
+ left: 3px;
35
+ top: 50%;
36
+ transform: translateY(-50%);
37
+ width: 20px;
38
+ height: 20px;
39
+ border-radius: radius('full');
40
+ background: var(--mw-secondary-color);
41
+ transition: var(--mw-transition);
42
+ display: flex;
43
+ align-items: center;
44
+ justify-content: center;
45
+ color: var(--mw-secondary-accent-text-color);
46
+ font-size: font-size('md');
47
+ }
47
48
 
48
- &.mw-active &-slider,
49
- &.active &-slider {
50
- left: 35px;
51
- }
49
+ &.mw-active &-slider,
50
+ &.active &-slider {
51
+ left: 35px;
52
+ }
52
53
 
53
- &-icon {
54
- display: flex;
55
- align-items: center;
56
- justify-content: center;
57
- line-height: 1;
58
- font-size: font-size('base');
59
- transform: rotate(16deg);
54
+ &-icon {
55
+ display: flex;
56
+ align-items: center;
57
+ justify-content: center;
58
+ line-height: 1;
59
+ font-size: font-size('base');
60
+ transform: rotate(16deg);
61
+ }
60
62
  }
61
63
  }