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.
- package/.claude/settings.local.json +29 -1
- package/.claude/skills/mw-maverick-wave/SKILL.md +39 -24
- package/.claude/skills/mw-maverick-wave/examples/angular-services.md +16 -4
- package/.claude/skills/mw-maverick-wave/examples/static-landing-page.md +13 -4
- package/.claude/skills/mw-maverick-wave/references/components.md +42 -5
- package/.claude/skills/mw-maverick-wave/references/forms.md +14 -2
- package/.claude/skills/mw-maverick-wave/references/javascript.md +17 -4
- package/.claude/skills/mw-maverick-wave/references/layout.md +53 -19
- package/.claude/skills/mw-maverick-wave/references/theming.md +38 -1
- package/.impeccable/config.local.json +5 -0
- package/.impeccable/hook.cache.json +1 -0
- package/CHANGELOG.md +11 -0
- package/CLAUDE.md +5 -5
- package/README.md +48 -4
- package/index.html +19 -38
- package/maverick-wave.min.css +14 -12
- package/maverick-wave.min.js +1 -1
- package/package.json +2 -2
- package/scripts/verify.js +27 -2
- package/src/js/main.js +223 -83
- package/src/partials/accordions-container.html +6 -10
- package/src/partials/alerts-container.html +6 -6
- package/src/partials/announcement-container.html +5 -5
- package/src/partials/avatars-container.html +85 -17
- package/src/partials/badges-container.html +6 -6
- package/src/partials/blog-posts-container.html +11 -12
- package/src/partials/buttons-container.html +3 -3
- package/src/partials/cards-container.html +26 -9
- package/src/partials/code-container.html +5 -5
- package/src/partials/content-slider-container.html +5 -4
- package/src/partials/divider-container.html +7 -7
- package/src/partials/dropdown-container.html +2 -2
- package/src/partials/empty-state-container.html +5 -5
- package/src/partials/footer-container.html +21 -18
- package/src/partials/form-elements-container.html +14 -14
- package/src/partials/gallery-container.html +16 -8
- package/src/partials/get-started-container.html +4 -8
- package/src/partials/header-container.html +18 -7
- package/src/partials/home-container.html +10 -20
- package/src/partials/input-group-container.html +11 -2
- package/src/partials/kbd-container.html +1 -1
- package/src/partials/login-container.html +5 -1
- package/src/partials/media-container.html +2 -2
- package/src/partials/modals-container.html +22 -32
- package/src/partials/pricing-container.html +9 -9
- package/src/partials/skeleton-container.html +6 -6
- package/src/partials/stepper-container.html +2 -2
- package/src/partials/tables-container.html +12 -12
- package/src/partials/tabs-container.html +17 -27
- package/src/partials/tags-container.html +23 -17
- package/src/partials/techstack-bucket-container.html +13 -0
- package/src/partials/tiles-container.html +26 -9
- package/src/partials/typography-container.html +7 -6
- package/src/partials/utilities-container.html +35 -15
- package/src/scss/_layers.scss +10 -0
- package/src/scss/abstracts/_index.scss +6 -0
- package/src/scss/abstracts/_mixins.scss +61 -153
- package/src/scss/abstracts/_variables.scss +123 -319
- package/src/scss/base/_base.scss +170 -190
- package/src/scss/base/_reset.scss +106 -104
- package/src/scss/base/_typography.scss +153 -151
- package/src/scss/components/_accordions.scss +97 -97
- package/src/scss/components/_alerts.scss +71 -70
- package/src/scss/components/_announcement.scss +71 -70
- package/src/scss/components/_avatars.scss +130 -142
- package/src/scss/components/_badge.scss +131 -132
- package/src/scss/components/_blog-post.scss +223 -220
- package/src/scss/components/_breadcrumbs.scss +93 -92
- package/src/scss/components/_button-bar.scss +102 -110
- package/src/scss/components/_buttons.scss +319 -324
- package/src/scss/components/_calendar.scss +251 -252
- package/src/scss/components/_cards.scss +359 -386
- package/src/scss/components/_code.scss +190 -194
- package/src/scss/components/_coming-soon.scss +77 -75
- package/src/scss/components/_content-slider.scss +90 -89
- package/src/scss/components/_divider.scss +55 -53
- package/src/scss/components/_dropdown.scss +179 -185
- package/src/scss/components/_empty-state.scss +57 -57
- package/src/scss/components/_flag.scss +294 -278
- package/src/scss/components/_gallery.scss +131 -133
- package/src/scss/components/_info.scss +151 -167
- package/src/scss/components/_kanban.scss +332 -341
- package/src/scss/components/_kbd.scss +40 -38
- package/src/scss/components/_lang-switch.scss +89 -97
- package/src/scss/components/_links.scss +21 -28
- package/src/scss/components/_lists.scss +510 -514
- package/src/scss/components/_localhost-indicator.scss +26 -24
- package/src/scss/components/_media.scss +22 -20
- package/src/scss/components/_meta-info.scss +35 -33
- package/src/scss/components/_modals.scss +277 -186
- package/src/scss/components/_pagination.scss +81 -87
- package/src/scss/components/_panels.scss +99 -97
- package/src/scss/components/_pricing.scss +183 -241
- package/src/scss/components/_progress.scss +112 -89
- package/src/scss/components/_prose.scss +35 -33
- package/src/scss/components/_ratings.scss +40 -38
- package/src/scss/components/_segmented.scss +82 -84
- package/src/scss/components/_skeleton.scss +66 -72
- package/src/scss/components/_spinners.scss +155 -159
- package/src/scss/components/_stepper.scss +116 -116
- package/src/scss/components/_tables.scss +155 -148
- package/src/scss/components/_tabs.scss +232 -141
- package/src/scss/components/_tags.scss +109 -107
- package/src/scss/components/_techstack-bucket.scss +123 -122
- package/src/scss/components/_testimonial.scss +72 -70
- package/src/scss/components/_theme-toggle.scss +53 -51
- package/src/scss/components/_tiles.scss +174 -174
- package/src/scss/components/_timelines.scss +282 -280
- package/src/scss/components/_toasts.scss +66 -72
- package/src/scss/form-elements/_checkbox.scss +117 -132
- package/src/scss/form-elements/_form.scss +149 -115
- package/src/scss/form-elements/_input-group.scss +99 -103
- package/src/scss/form-elements/_input.scss +74 -74
- package/src/scss/form-elements/_login.scss +48 -48
- package/src/scss/form-elements/_prefilled.scss +53 -51
- package/src/scss/form-elements/_radio.scss +95 -107
- package/src/scss/form-elements/_select.scss +42 -42
- package/src/scss/form-elements/_slider.scss +117 -132
- package/src/scss/form-elements/_textarea.scss +68 -54
- package/src/scss/form-elements/_toggle.scss +127 -140
- package/src/scss/layout/_footer.scss +172 -171
- package/src/scss/layout/_grid.scss +268 -302
- package/src/scss/layout/_header.scss +426 -427
- package/src/scss/layout/_home.scss +28 -27
- package/src/scss/layout/_main.scss +275 -238
- package/src/scss/layout/_page-header.scss +38 -36
- package/src/scss/layout/_section.scss +150 -124
- package/src/scss/main.scss +1 -1
- package/src/scss/utilities/_accessibility.scss +46 -45
- package/src/scss/utilities/_aspect.scss +22 -20
- package/src/scss/utilities/_corner.scss +23 -5
- package/src/scss/utilities/_display.scss +76 -70
- package/src/scss/utilities/_elevation.scss +13 -11
- package/src/scss/utilities/_flex.scss +83 -85
- package/src/scss/utilities/_reveal.scss +40 -63
- package/src/scss/utilities/_spacing.scss +63 -64
- package/src/scss/utilities/_text.scss +139 -141
- package/src/scss/utilities/_touch-targets.scss +130 -147
|
@@ -1,190 +1,192 @@
|
|
|
1
1
|
@use 'sass:meta';
|
|
2
2
|
@use '../abstracts' as *;
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
// Base font settings
|
|
11
|
-
body {
|
|
12
|
-
font-family: var(--mw-font-family-base);
|
|
13
|
-
line-height: 1.5;
|
|
14
|
-
color: var(--mw-text-color);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// Headings
|
|
18
|
-
h1,
|
|
19
|
-
h2,
|
|
20
|
-
h3,
|
|
21
|
-
h4,
|
|
22
|
-
h5,
|
|
23
|
-
h6 {
|
|
24
|
-
font-family: var(--mw-font-family-heading);
|
|
25
|
-
line-height: 1.2;
|
|
26
|
-
margin-bottom: spacing('4');
|
|
27
|
-
font-weight: font-weight('bold');
|
|
28
|
-
text-wrap: balance;
|
|
29
|
-
overflow-wrap: break-word;
|
|
30
|
-
}
|
|
4
|
+
@layer mw.base {
|
|
5
|
+
:root {
|
|
6
|
+
--mw-font-family-base: #{meta.inspect($font-family-base)};
|
|
7
|
+
--mw-font-family-heading: #{meta.inspect($font-family-heading)};
|
|
8
|
+
--mw-font-family-mono: #{meta.inspect($font-family-mono)};
|
|
9
|
+
}
|
|
31
10
|
|
|
32
|
-
//
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
11
|
+
// Base font settings
|
|
12
|
+
body {
|
|
13
|
+
font-family: var(--mw-font-family-base);
|
|
14
|
+
line-height: 1.5;
|
|
15
|
+
color: var(--mw-text-color);
|
|
16
|
+
}
|
|
36
17
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
18
|
+
// Headings
|
|
19
|
+
h1,
|
|
20
|
+
h2,
|
|
21
|
+
h3,
|
|
22
|
+
h4,
|
|
23
|
+
h5,
|
|
24
|
+
h6 {
|
|
25
|
+
font-family: var(--mw-font-family-heading);
|
|
26
|
+
line-height: 1.2;
|
|
27
|
+
margin-bottom: spacing('4');
|
|
28
|
+
font-weight: font-weight('bold');
|
|
29
|
+
text-wrap: balance;
|
|
30
|
+
overflow-wrap: break-word;
|
|
31
|
+
}
|
|
40
32
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
33
|
+
// Tracking
|
|
34
|
+
h1 {
|
|
35
|
+
letter-spacing: -0.025em;
|
|
36
|
+
}
|
|
45
37
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
h1 {
|
|
50
|
-
font-size: font-size('5xl');
|
|
38
|
+
h2 {
|
|
39
|
+
letter-spacing: -0.02em;
|
|
40
|
+
}
|
|
51
41
|
|
|
52
|
-
|
|
53
|
-
|
|
42
|
+
h3,
|
|
43
|
+
h4 {
|
|
44
|
+
letter-spacing: -0.01em;
|
|
54
45
|
}
|
|
55
46
|
|
|
56
|
-
|
|
47
|
+
// Two steps, not one. With the single jump at 576px, everything between there
|
|
48
|
+
// and a tablet kept the full desktop headline - 3rem of h1 across a 690px
|
|
49
|
+
// column is a third of the screen before the first line of copy.
|
|
50
|
+
h1 {
|
|
57
51
|
font-size: font-size('3xl');
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
52
|
|
|
61
|
-
|
|
62
|
-
|
|
53
|
+
@include media-up('sm') {
|
|
54
|
+
font-size: font-size('4xl');
|
|
55
|
+
}
|
|
63
56
|
|
|
64
|
-
|
|
65
|
-
|
|
57
|
+
@include media-up('md') {
|
|
58
|
+
font-size: font-size('5xl');
|
|
59
|
+
}
|
|
66
60
|
}
|
|
67
61
|
|
|
68
|
-
|
|
62
|
+
h2 {
|
|
69
63
|
font-size: font-size('2xl');
|
|
64
|
+
|
|
65
|
+
@include media-up('sm') {
|
|
66
|
+
font-size: font-size('3xl');
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
@include media-up('md') {
|
|
70
|
+
font-size: font-size('4xl');
|
|
71
|
+
}
|
|
70
72
|
}
|
|
71
|
-
}
|
|
72
73
|
|
|
73
|
-
h3 {
|
|
74
|
-
|
|
74
|
+
h3 {
|
|
75
|
+
font-size: font-size('xl');
|
|
75
76
|
|
|
76
|
-
|
|
77
|
-
|
|
77
|
+
&.mw-accent {
|
|
78
|
+
color: var(--mw-primary-text-color);
|
|
79
|
+
}
|
|
78
80
|
}
|
|
79
|
-
}
|
|
80
81
|
|
|
81
|
-
h4 {
|
|
82
|
-
|
|
83
|
-
}
|
|
82
|
+
h4 {
|
|
83
|
+
font-size: font-size('lg');
|
|
84
|
+
}
|
|
84
85
|
|
|
85
|
-
h5 {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
86
|
+
h5 {
|
|
87
|
+
font-size: font-size('md');
|
|
88
|
+
font-weight: font-weight('medium');
|
|
89
|
+
}
|
|
89
90
|
|
|
90
|
-
h6 {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
91
|
+
h6 {
|
|
92
|
+
font-size: font-size('sm');
|
|
93
|
+
font-weight: font-weight('medium');
|
|
94
|
+
}
|
|
94
95
|
|
|
95
|
-
// Paragraphs
|
|
96
|
-
p {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
96
|
+
// Paragraphs
|
|
97
|
+
p {
|
|
98
|
+
margin-bottom: spacing('3');
|
|
99
|
+
text-wrap: pretty;
|
|
100
|
+
}
|
|
100
101
|
|
|
101
|
-
// Inline text the framework was leaving to the browser. `small` in particular
|
|
102
|
-
// showed up in footers and captions at whatever the UA felt like.
|
|
103
|
-
small {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
102
|
+
// Inline text the framework was leaving to the browser. `small` in particular
|
|
103
|
+
// showed up in footers and captions at whatever the UA felt like.
|
|
104
|
+
small {
|
|
105
|
+
font-size: font-size('sm');
|
|
106
|
+
color: var(--mw-text-muted-color);
|
|
107
|
+
}
|
|
107
108
|
|
|
108
|
-
strong,
|
|
109
|
-
b {
|
|
110
|
-
|
|
111
|
-
}
|
|
109
|
+
strong,
|
|
110
|
+
b {
|
|
111
|
+
font-weight: font-weight('bold');
|
|
112
|
+
}
|
|
112
113
|
|
|
113
|
-
// The browser's own is a solid block of background with the text left dark on
|
|
114
|
-
// it - unreadable on a dark page. Tinted with the brand instead, and it keeps
|
|
115
|
-
// the theme's ink.
|
|
116
|
-
mark {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
}
|
|
114
|
+
// The browser's own is a solid block of background with the text left dark on
|
|
115
|
+
// it - unreadable on a dark page. Tinted with the brand instead, and it keeps
|
|
116
|
+
// the theme's ink.
|
|
117
|
+
mark {
|
|
118
|
+
background: color-mix(in srgb, var(--mw-warning-color) 35%, transparent);
|
|
119
|
+
color: inherit;
|
|
120
|
+
padding: 0.1em 0.25em;
|
|
121
|
+
border-radius: radius('xs');
|
|
122
|
+
}
|
|
122
123
|
|
|
123
|
-
// Underlined in the same shape the link buttons use, so an inline link and a
|
|
124
|
-
// `mw-btn-link` do not read as two different things
|
|
125
|
-
abbr[title] {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
}
|
|
124
|
+
// Underlined in the same shape the link buttons use, so an inline link and a
|
|
125
|
+
// `mw-btn-link` do not read as two different things
|
|
126
|
+
abbr[title] {
|
|
127
|
+
text-decoration: underline dotted;
|
|
128
|
+
text-underline-offset: 0.2em;
|
|
129
|
+
cursor: help;
|
|
130
|
+
}
|
|
130
131
|
|
|
131
|
-
// Code elements
|
|
132
|
-
code,
|
|
133
|
-
pre,
|
|
134
|
-
kbd {
|
|
135
|
-
|
|
136
|
-
}
|
|
132
|
+
// Code elements
|
|
133
|
+
code,
|
|
134
|
+
pre,
|
|
135
|
+
kbd {
|
|
136
|
+
font-family: var(--mw-font-family-mono);
|
|
137
|
+
}
|
|
137
138
|
|
|
138
|
-
pre {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}
|
|
139
|
+
pre {
|
|
140
|
+
border: 1px solid var(--mw-border);
|
|
141
|
+
background: var(--mw-card-background);
|
|
142
|
+
margin-bottom: spacing('2');
|
|
143
|
+
}
|
|
143
144
|
|
|
144
|
-
code {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
}
|
|
145
|
+
code {
|
|
146
|
+
white-space: pre-wrap;
|
|
147
|
+
word-break: break-word;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
blockquote {
|
|
151
|
+
color: var(--mw-secondary-text-color);
|
|
152
|
+
font-style: italic;
|
|
153
|
+
position: relative;
|
|
154
|
+
padding: spacing('4') spacing('8');
|
|
155
|
+
margin: spacing('2') spacing('1');
|
|
156
|
+
border-left: 2px solid var(--mw-secondary-background-hover);
|
|
157
|
+
border-radius: radius('none') radius('sm') radius('sm') radius('none');
|
|
158
|
+
background: color-mix(
|
|
159
|
+
in srgb,
|
|
160
|
+
var(--mw-secondary-background) 85%,
|
|
161
|
+
transparent
|
|
162
|
+
);
|
|
163
|
+
|
|
164
|
+
&:hover {
|
|
165
|
+
&::before,
|
|
166
|
+
&::after {
|
|
167
|
+
opacity: 0.7;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
148
170
|
|
|
149
|
-
blockquote {
|
|
150
|
-
color: var(--mw-secondary-text-color);
|
|
151
|
-
font-style: italic;
|
|
152
|
-
position: relative;
|
|
153
|
-
padding: spacing('4') spacing('8');
|
|
154
|
-
margin: spacing('2') spacing('1');
|
|
155
|
-
border-left: 2px solid var(--mw-secondary-background-hover);
|
|
156
|
-
border-radius: radius('none') radius('sm') radius('sm') radius('none');
|
|
157
|
-
background: color-mix(
|
|
158
|
-
in srgb,
|
|
159
|
-
var(--mw-secondary-background) 85%,
|
|
160
|
-
transparent
|
|
161
|
-
);
|
|
162
|
-
|
|
163
|
-
&:hover {
|
|
164
171
|
&::before,
|
|
165
172
|
&::after {
|
|
166
|
-
|
|
173
|
+
font-family: Georgia, serif;
|
|
174
|
+
font-size: font-size('5xl');
|
|
175
|
+
position: absolute;
|
|
176
|
+
opacity: 0.4;
|
|
177
|
+
line-height: 1;
|
|
167
178
|
}
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
&::before,
|
|
171
|
-
&::after {
|
|
172
|
-
font-family: Georgia, serif;
|
|
173
|
-
font-size: font-size('5xl');
|
|
174
|
-
position: absolute;
|
|
175
|
-
opacity: 0.4;
|
|
176
|
-
line-height: 1;
|
|
177
|
-
}
|
|
178
179
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
180
|
+
&::before {
|
|
181
|
+
content: '"';
|
|
182
|
+
top: spacing('-1');
|
|
183
|
+
left: spacing('2');
|
|
184
|
+
}
|
|
184
185
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
186
|
+
&::after {
|
|
187
|
+
content: '"';
|
|
188
|
+
bottom: spacing('-6');
|
|
189
|
+
right: spacing('4');
|
|
190
|
+
}
|
|
189
191
|
}
|
|
190
192
|
}
|
|
@@ -1,122 +1,122 @@
|
|
|
1
1
|
@use '../abstracts' as *;
|
|
2
2
|
|
|
3
|
-
.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
@layer mw.components {
|
|
4
|
+
.mw-accordion {
|
|
5
|
+
border: 1px solid var(--mw-border);
|
|
6
|
+
@include surface;
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
margin: spacing('2');
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
&-item {
|
|
11
|
+
border-bottom: 1px solid var(--mw-border-accent);
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
&:last-child {
|
|
14
|
+
border-bottom: none;
|
|
15
|
+
}
|
|
14
16
|
}
|
|
15
|
-
}
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
font-size: font-size('md');
|
|
34
|
-
font-weight: font-weight('medium');
|
|
35
|
-
|
|
36
|
-
@include media-down('sm') {
|
|
18
|
+
// Written for a <button>. The header is the control that opens the panel, and
|
|
19
|
+
// as a <div> it is not focusable and not reachable by keyboard - on a page of
|
|
20
|
+
// questions that is every answer on it. The declarations below clear what
|
|
21
|
+
// comes with a <button>; on a <div> they change nothing, so old markup keeps
|
|
22
|
+
// working.
|
|
23
|
+
&-header {
|
|
24
|
+
appearance: none;
|
|
25
|
+
border: none;
|
|
26
|
+
width: 100%;
|
|
27
|
+
font: inherit;
|
|
28
|
+
color: inherit;
|
|
29
|
+
text-align: left;
|
|
30
|
+
|
|
31
|
+
// A heading is flow content and not allowed inside a button, so the
|
|
32
|
+
// question carries its own type here rather than through a nested h3. The
|
|
33
|
+
// h3 rule further down keeps older markup looking the same.
|
|
37
34
|
font-size: font-size('sm');
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
padding: spacing('4');
|
|
41
|
-
background: var(--mw-card-background);
|
|
42
|
-
cursor: pointer;
|
|
43
|
-
@include tappable;
|
|
44
|
-
@include focus-ring(-2px);
|
|
45
|
-
|
|
46
|
-
// A press has to be felt. On touch it is the only feedback there is - a
|
|
47
|
-
// finger never hovers - and every clickable surface in the framework owes it.
|
|
48
|
-
&:active {
|
|
49
|
-
background: var(--mw-primary-background);
|
|
50
|
-
transition-duration: var(--mw-duration-instant);
|
|
51
|
-
}
|
|
35
|
+
font-weight: font-weight('medium');
|
|
52
36
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
transition: var(--mw-transition);
|
|
57
|
-
|
|
58
|
-
&:hover {
|
|
59
|
-
background: var(--mw-primary-background-hover);
|
|
60
|
-
}
|
|
37
|
+
@include media-up('sm') {
|
|
38
|
+
font-size: font-size('md');
|
|
39
|
+
}
|
|
61
40
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
41
|
+
padding: spacing('4');
|
|
42
|
+
background: var(--mw-card-background);
|
|
43
|
+
cursor: pointer;
|
|
44
|
+
@include tappable;
|
|
45
|
+
@include focus-ring(-2px);
|
|
46
|
+
|
|
47
|
+
// A press has to be felt. On touch it is the only feedback there is - a
|
|
48
|
+
// finger never hovers - and every clickable surface in the framework owes it.
|
|
49
|
+
&:active {
|
|
50
|
+
background: var(--mw-primary-background);
|
|
51
|
+
transition-duration: var(--mw-duration-instant);
|
|
52
|
+
}
|
|
69
53
|
|
|
70
|
-
|
|
54
|
+
display: flex;
|
|
55
|
+
justify-content: space-between;
|
|
56
|
+
align-items: center;
|
|
71
57
|
transition: var(--mw-transition);
|
|
72
|
-
transform: rotate(0deg);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
&.mw-active,
|
|
76
|
-
&.active {
|
|
77
|
-
background: var(--mw-primary-color);
|
|
78
|
-
color: var(--mw-primary-accent-text-color);
|
|
79
58
|
|
|
80
|
-
|
|
81
|
-
|
|
59
|
+
&:hover {
|
|
60
|
+
background: var(--mw-primary-background-hover);
|
|
82
61
|
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
62
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
63
|
+
// Markup from before the button: the header carries the type now, the
|
|
64
|
+
// heading only has to stop bringing its own.
|
|
65
|
+
h3 {
|
|
66
|
+
margin: spacing('0');
|
|
67
|
+
font-size: inherit;
|
|
68
|
+
font-weight: inherit;
|
|
69
|
+
}
|
|
92
70
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
@include media-down('sm') {
|
|
97
|
-
font-size: font-size('sm');
|
|
71
|
+
.mw-accordion-icon {
|
|
72
|
+
transition: var(--mw-transition);
|
|
73
|
+
transform: rotate(0deg);
|
|
98
74
|
}
|
|
99
|
-
}
|
|
100
75
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
max-height: 500px;
|
|
105
|
-
overflow-y: auto;
|
|
76
|
+
@include active() {
|
|
77
|
+
background: var(--mw-primary-color);
|
|
78
|
+
color: var(--mw-primary-accent-text-color);
|
|
106
79
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
80
|
+
.mw-accordion-icon {
|
|
81
|
+
transform: rotate(180deg);
|
|
82
|
+
}
|
|
110
83
|
}
|
|
84
|
+
}
|
|
111
85
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
86
|
+
&-content {
|
|
87
|
+
height: spacing('0');
|
|
88
|
+
overflow: hidden;
|
|
89
|
+
transition: height var(--mw-duration-slower) var(--mw-ease-out);
|
|
90
|
+
background: var(--mw-card-background);
|
|
91
|
+
interpolate-size: allow-keywords;
|
|
92
|
+
|
|
93
|
+
&-inner {
|
|
94
|
+
padding: spacing('4');
|
|
95
|
+
border-top: 1px solid var(--mw-border-accent);
|
|
96
|
+
@include media-down('sm') {
|
|
97
|
+
font-size: font-size('sm');
|
|
98
|
+
}
|
|
115
99
|
}
|
|
116
100
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
101
|
+
@include active() {
|
|
102
|
+
height: auto;
|
|
103
|
+
max-height: 500px;
|
|
104
|
+
overflow-y: auto;
|
|
105
|
+
|
|
106
|
+
// Scrollbar styling
|
|
107
|
+
&::-webkit-scrollbar {
|
|
108
|
+
width: 6px;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
&::-webkit-scrollbar-track {
|
|
112
|
+
background: var(--mw-card-background);
|
|
113
|
+
border-radius: radius('sm');
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
&::-webkit-scrollbar-thumb {
|
|
117
|
+
background: var(--mw-primary-color-hover);
|
|
118
|
+
border-radius: radius('sm');
|
|
119
|
+
}
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
122
|
}
|