maverick-wave 3.0.1 → 3.1.2

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 (59) hide show
  1. package/.claude/settings.local.json +4 -1
  2. package/CHANGELOG.md +6 -0
  3. package/index.html +54 -52
  4. package/maverick-wave.min.css +1 -1
  5. package/package.json +2 -2
  6. package/src/partials/divider-container.html +48 -34
  7. package/src/partials/form-elements-container.html +0 -82
  8. package/src/partials/home-container.html +1 -1
  9. package/src/partials/item-lists-container.html +38 -38
  10. package/src/partials/modals-container.html +176 -54
  11. package/src/partials/panels-container.html +10 -35
  12. package/src/scss/abstracts/_variables.scss +19 -17
  13. package/src/scss/components/_accordions.scss +1 -1
  14. package/src/scss/components/_alerts.scss +2 -4
  15. package/src/scss/components/_avatars.scss +1 -1
  16. package/src/scss/components/_blog-post.scss +5 -5
  17. package/src/scss/components/_breadcrumbs.scss +2 -2
  18. package/src/scss/components/_buttons.scss +2 -2
  19. package/src/scss/components/_cards.scss +12 -16
  20. package/src/scss/components/_coming-soon.scss +4 -4
  21. package/src/scss/components/_content-slider.scss +2 -4
  22. package/src/scss/components/_divider.scss +4 -1
  23. package/src/scss/components/_empty-state.scss +9 -9
  24. package/src/scss/components/_gallery.scss +14 -13
  25. package/src/scss/components/_info.scss +6 -6
  26. package/src/scss/components/_lists.scss +29 -26
  27. package/src/scss/components/_meta-info.scss +1 -1
  28. package/src/scss/components/_modals.scss +4 -6
  29. package/src/scss/components/_pagination.scss +3 -2
  30. package/src/scss/components/_panels.scss +13 -7
  31. package/src/scss/components/_progress.scss +5 -4
  32. package/src/scss/components/_ratings.scss +2 -2
  33. package/src/scss/components/_skeleton.scss +6 -6
  34. package/src/scss/components/_spinners.scss +8 -8
  35. package/src/scss/components/_stepper.scss +6 -5
  36. package/src/scss/components/_tables.scss +4 -2
  37. package/src/scss/components/_tabs.scss +7 -6
  38. package/src/scss/components/_tags.scss +10 -3
  39. package/src/scss/components/_techstack-bucket.scss +12 -11
  40. package/src/scss/components/_theme-toggle.scss +4 -3
  41. package/src/scss/components/_tiles.scss +5 -5
  42. package/src/scss/components/_timelines.scss +130 -133
  43. package/src/scss/form-elements/_checkbox.scss +2 -19
  44. package/src/scss/form-elements/_input-group.scss +2 -2
  45. package/src/scss/form-elements/_input.scss +1 -5
  46. package/src/scss/form-elements/_login.scss +1 -1
  47. package/src/scss/form-elements/_radio.scss +2 -12
  48. package/src/scss/form-elements/_select.scss +3 -8
  49. package/src/scss/form-elements/_slider.scss +1 -18
  50. package/src/scss/form-elements/_textarea.scss +2 -7
  51. package/src/scss/form-elements/_toggle.scss +5 -5
  52. package/src/scss/layout/_footer.scss +8 -7
  53. package/src/scss/layout/_grid.scss +1 -3
  54. package/src/scss/layout/_header.scss +53 -141
  55. package/src/scss/layout/_home.scss +2 -2
  56. package/src/scss/layout/_section.scss +36 -2
  57. package/src/scss/utilities/_display.scss +4 -0
  58. package/src/scss/utilities/_flex.scss +8 -0
  59. package/src/scss/utilities/_spacing.scss +7 -5
@@ -3,8 +3,8 @@
3
3
 
4
4
  .mw-footer {
5
5
  background: var(--mw-footer-background);
6
- padding: spacing('6') spacing('0') spacing('4') spacing('0');
7
- margin-top: spacing('7');
6
+ padding: spacing('5') spacing('0');
7
+ margin-top: spacing('6');
8
8
  border-top: 1px solid var(--mw-primary-color-hover);
9
9
 
10
10
  &-top {
@@ -85,7 +85,7 @@
85
85
  align-items: center;
86
86
  column-gap: spacing('8');
87
87
  row-gap: spacing('4');
88
- margin: spacing('2') auto spacing('6') auto;
88
+ margin: spacing('6') auto;
89
89
 
90
90
  // modifier for more elements
91
91
  &.mod-wrap {
@@ -132,7 +132,7 @@
132
132
  color: var(--mw-text-muted-color);
133
133
  font-size: font-size('sm');
134
134
  padding-top: spacing('4');
135
- margin: spacing('5') auto spacing('1') auto;
135
+ margin: spacing('7') auto spacing('1') auto;
136
136
  width: 85%;
137
137
  border-top: 1px solid var(--mw-secondary-color);
138
138
  }
@@ -142,7 +142,7 @@
142
142
  color: var(--mw-text-muted-color);
143
143
  font-size: font-size('xs');
144
144
  padding-top: spacing('0');
145
- margin: spacing('1') auto spacing('0') auto;
145
+ margin: spacing('1') auto;
146
146
  }
147
147
 
148
148
  @include media-down('lg') {
@@ -199,11 +199,12 @@
199
199
  }
200
200
  }
201
201
 
202
- .mw-copyright {
202
+ .mw-disclaimer {
203
203
  font-size: font-size('xs');
204
204
  }
205
205
 
206
- .mw-disclaimer {
206
+ .mw-copyright {
207
+ margin-top: spacing('5');
207
208
  font-size: font-size('xs');
208
209
  }
209
210
 
@@ -126,7 +126,7 @@
126
126
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
127
127
  }
128
128
 
129
- .mw-grid-auto-lg {
129
+ .mw-grid-auto-md {
130
130
  @extend %grid-base;
131
131
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
132
132
  }
@@ -266,7 +266,6 @@
266
266
  .mw-grid-stack-lg {
267
267
  @extend %grid-base-lg;
268
268
  grid-template-columns: 1fr;
269
- gap: spacing('5');
270
269
  justify-items: start;
271
270
 
272
271
  > * {
@@ -278,7 +277,6 @@
278
277
  .mw-grid-stack-center-lg {
279
278
  @extend %grid-base-lg;
280
279
  grid-template-columns: 1fr;
281
- gap: spacing('5');
282
280
  justify-items: center;
283
281
 
284
282
  > * {
@@ -163,6 +163,56 @@
163
163
  }
164
164
  }
165
165
 
166
+ @mixin navbar-open-state {
167
+ &.open {
168
+ position: fixed;
169
+ top: 0;
170
+ right: 0;
171
+ width: 80%;
172
+ max-width: 280px;
173
+ height: 100dvh;
174
+ background: var(--mw-header-background);
175
+ transform: translateX(0);
176
+ transition: transform 0.3s ease;
177
+ z-index: z-index('header') + 3;
178
+ border-left: 1px solid var(--mw-header-border);
179
+
180
+ .mw-navbar-list {
181
+ display: flex;
182
+ flex-direction: column;
183
+ align-items: flex-start;
184
+ gap: spacing('0');
185
+ padding-top: 80px;
186
+ padding-left: spacing('3');
187
+ padding-right: spacing('3');
188
+ height: 100%;
189
+ overflow-y: auto;
190
+ }
191
+
192
+ .mw-navbar-item {
193
+ width: 100%;
194
+ margin: spacing('0');
195
+ }
196
+
197
+ .mw-navbar-link {
198
+ display: block;
199
+ padding: spacing('3') spacing('0');
200
+ border-bottom: 1px solid var(--mw-header-border);
201
+ width: 100%;
202
+ text-align: left;
203
+
204
+ &::after {
205
+ display: none;
206
+ }
207
+
208
+ &.active {
209
+ color: var(--mw-header-navbar-list-active-color);
210
+ font-weight: font-weight('medium');
211
+ }
212
+ }
213
+ }
214
+ }
215
+
166
216
  // Navbar with built-in auto-detection
167
217
  .mw-navbar {
168
218
  display: flex;
@@ -231,53 +281,7 @@
231
281
  display: none;
232
282
  }
233
283
 
234
- &.open {
235
- position: fixed;
236
- top: 0;
237
- right: 0;
238
- width: 80%;
239
- max-width: 280px;
240
- height: 100dvh;
241
- background: var(--mw-header-background);
242
- transform: translateX(0);
243
- transition: transform 0.3s ease;
244
- z-index: z-index('header') + 3;
245
- border-left: 1px solid var(--mw-header-border);
246
-
247
- .mw-navbar-list {
248
- display: flex;
249
- flex-direction: column;
250
- align-items: flex-start;
251
- gap: spacing('0');
252
- padding-top: 80px;
253
- padding-left: spacing('3');
254
- padding-right: spacing('3');
255
- height: 100%;
256
- overflow-y: auto;
257
- }
258
-
259
- .mw-navbar-item {
260
- width: 100%;
261
- margin: spacing('0');
262
- }
263
-
264
- .mw-navbar-link {
265
- display: block;
266
- padding: spacing('3') spacing('0');
267
- border-bottom: 1px solid var(--mw-header-border);
268
- width: 100%;
269
- text-align: left;
270
-
271
- &::after {
272
- display: none;
273
- }
274
-
275
- &.active {
276
- color: var(--mw-header-navbar-list-active-color);
277
- font-weight: font-weight('medium');
278
- }
279
- }
280
- }
284
+ @include navbar-open-state;
281
285
  }
282
286
 
283
287
  // Medium (4-5 items): collapse at lg
@@ -287,53 +291,7 @@
287
291
  display: none;
288
292
  }
289
293
 
290
- &.open {
291
- position: fixed;
292
- top: 0;
293
- right: 0;
294
- width: 80%;
295
- max-width: 280px;
296
- height: 100dvh;
297
- background: var(--mw-header-background);
298
- transform: translateX(0);
299
- transition: transform 0.3s ease;
300
- z-index: z-index('header') + 3;
301
- border-left: 1px solid var(--mw-header-border);
302
-
303
- .mw-navbar-list {
304
- display: flex;
305
- flex-direction: column;
306
- align-items: flex-start;
307
- gap: spacing('0');
308
- padding-top: 80px;
309
- padding-left: spacing('3');
310
- padding-right: spacing('3');
311
- height: 100%;
312
- overflow-y: auto;
313
- }
314
-
315
- .mw-navbar-item {
316
- width: 100%;
317
- margin: spacing('0');
318
- }
319
-
320
- .mw-navbar-link {
321
- display: block;
322
- padding: spacing('3') spacing('0');
323
- border-bottom: 1px solid var(--mw-header-border);
324
- width: 100%;
325
- text-align: left;
326
-
327
- &::after {
328
- display: none;
329
- }
330
-
331
- &.active {
332
- color: var(--mw-header-navbar-list-active-color);
333
- font-weight: font-weight('medium');
334
- }
335
- }
336
- }
294
+ @include navbar-open-state;
337
295
  }
338
296
  }
339
297
 
@@ -344,53 +302,7 @@
344
302
  display: none;
345
303
  }
346
304
 
347
- &.open {
348
- position: fixed;
349
- top: 0;
350
- right: 0;
351
- width: 80%;
352
- max-width: 280px;
353
- height: 100dvh;
354
- background: var(--mw-header-background);
355
- transform: translateX(0);
356
- transition: transform 0.3s ease;
357
- z-index: z-index('header') + 3;
358
- border-left: 1px solid var(--mw-header-border);
359
-
360
- .mw-navbar-list {
361
- display: flex;
362
- flex-direction: column;
363
- align-items: flex-start;
364
- gap: spacing('0');
365
- padding-top: 80px;
366
- padding-left: spacing('3');
367
- padding-right: spacing('3');
368
- height: 100%;
369
- overflow-y: auto;
370
- }
371
-
372
- .mw-navbar-item {
373
- width: 100%;
374
- margin: spacing('0');
375
- }
376
-
377
- .mw-navbar-link {
378
- display: block;
379
- padding: spacing('3') spacing('0');
380
- border-bottom: 1px solid var(--mw-header-border);
381
- width: 100%;
382
- text-align: left;
383
-
384
- &::after {
385
- display: none;
386
- }
387
-
388
- &.active {
389
- color: var(--mw-header-navbar-list-active-color);
390
- font-weight: font-weight('medium');
391
- }
392
- }
393
- }
305
+ @include navbar-open-state;
394
306
  }
395
307
  }
396
308
  }
@@ -6,9 +6,9 @@
6
6
  text-align: center;
7
7
 
8
8
  &-content {
9
- padding: spacing('6') spacing('4');
9
+ padding: spacing('6');
10
10
  @include media-down('sm') {
11
- padding: spacing('9') spacing('3');
11
+ padding: spacing('9') spacing('4');
12
12
  }
13
13
 
14
14
  // choose mw-home-content or mw-home-content-fade
@@ -9,7 +9,7 @@
9
9
  &::after {
10
10
  content: '';
11
11
  position: absolute;
12
- bottom: spacing('-2');
12
+ bottom: spacing('-3');
13
13
  left: 50%;
14
14
  transform: translateX(-50%);
15
15
  width: 80px;
@@ -46,13 +46,47 @@
46
46
 
47
47
  .mw-section-nav {
48
48
  max-width: 90%;
49
- margin: spacing('-3') auto spacing('-5') auto;
49
+ margin: spacing('0') auto spacing('0') auto;
50
50
  display: flex;
51
51
  flex-wrap: wrap;
52
52
  justify-content: center;
53
53
  gap: spacing('3');
54
54
  }
55
55
 
56
+ .mw-section-btn {
57
+ display: inline-flex;
58
+ align-items: center;
59
+ justify-content: center;
60
+ gap: spacing('3');
61
+ padding: spacing('3') spacing('4');
62
+ border: 1px solid var(--mw-primary-color);
63
+ border-radius: radius('sm');
64
+ font-weight: font-weight('medium');
65
+ font-size: inherit;
66
+ font-family: inherit;
67
+ text-decoration: none;
68
+ cursor: pointer;
69
+ transition: var(--mw-transition);
70
+ box-sizing: border-box;
71
+ background: transparent;
72
+ color: var(--mw-primary-color);
73
+
74
+ &:hover:not(:disabled) {
75
+ background: var(--mw-primary-color);
76
+ color: var(--mw-primary-text-color);
77
+ }
78
+
79
+ &:focus-visible {
80
+ outline: 2px solid var(--mw-primary-color);
81
+ outline-offset: 2px;
82
+ }
83
+
84
+ &:disabled {
85
+ cursor: not-allowed;
86
+ opacity: 0.6;
87
+ }
88
+ }
89
+
56
90
  // Responsive adjustments
57
91
  @include media-down('sm') {
58
92
  .mw-section-nav {
@@ -6,6 +6,10 @@
6
6
  display: flex;
7
7
  }
8
8
 
9
+ &-inline-flex {
10
+ display: inline-flex;
11
+ }
12
+
9
13
  &-block {
10
14
  display: block;
11
15
  }
@@ -21,6 +21,10 @@
21
21
  &-1 {
22
22
  flex: 1;
23
23
  }
24
+
25
+ &-shrink-0 {
26
+ flex-shrink: 0;
27
+ }
24
28
  }
25
29
 
26
30
  // Justify content
@@ -44,6 +48,10 @@
44
48
  &-around {
45
49
  justify-content: space-around;
46
50
  }
51
+
52
+ &-evenly {
53
+ justify-content: space-evenly;
54
+ }
47
55
  }
48
56
 
49
57
  // Align items
@@ -66,13 +66,15 @@
66
66
  }
67
67
  }
68
68
 
69
- // Gap utilities
69
+ // Gap utilities (positive values only — negative gap is invalid CSS)
70
70
  @each $key, $value in $spacing {
71
- .mw-gap-#{$key} {
72
- gap: $value;
71
+ @if $value >= 0 {
72
+ .mw-gap-#{$key} {
73
+ gap: $value;
73
74
 
74
- @include media-down('sm') {
75
- gap: calc($value * 0.75);
75
+ @include media-down('sm') {
76
+ gap: calc($value * 0.75);
77
+ }
76
78
  }
77
79
  }
78
80
  }