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,118 +1,119 @@
1
1
  @use '../abstracts' as *;
2
2
 
3
- .mw-image-slider {
4
- position: relative;
5
- width: 100%;
6
- max-width: 600px;
7
- margin: spacing('1') auto;
8
- border-radius: radius('md');
9
- overflow: hidden;
10
-
11
- // Heights variables for consistency
12
- $height-lg: 370px;
13
- $height-md: 320px;
14
- $height-sm: 250px;
15
-
16
- &-base {
3
+ @layer mw.components {
4
+ .mw-image-slider {
17
5
  position: relative;
18
6
  width: 100%;
19
- height: $height-lg;
20
-
21
- @include media-down('md') {
22
- height: $height-md;
23
- }
24
-
25
- @include media-down('sm') {
7
+ max-width: 600px;
8
+ margin: spacing('1') auto;
9
+ border-radius: radius('md');
10
+ overflow: hidden;
11
+
12
+ // Heights variables for consistency
13
+ $height-lg: 370px;
14
+ $height-md: 320px;
15
+ $height-sm: 250px;
16
+
17
+ &-base {
18
+ position: relative;
19
+ width: 100%;
26
20
  height: $height-sm;
27
- }
28
- }
29
-
30
- &-base-image {
31
- width: 100%;
32
- height: 100%;
33
- object-fit: cover;
34
- display: block;
35
- }
36
-
37
- &-overlay {
38
- position: absolute;
39
- top: 0;
40
- left: 0;
41
- width: 100%;
42
- height: $height-lg;
43
- pointer-events: none;
44
21
 
45
- @include media-down('md') {
46
- height: $height-md;
47
- }
22
+ @include media-up('sm') {
23
+ height: $height-md;
24
+ }
48
25
 
49
- @include media-down('sm') {
50
- height: $height-sm;
26
+ @include media-up('md') {
27
+ height: $height-lg;
28
+ }
51
29
  }
52
- }
53
-
54
- &-overlay-image {
55
- position: absolute;
56
- top: 0;
57
- left: 0;
58
- width: 100%;
59
- height: 100%;
60
- transform: translateX(100%);
61
- transition: transform var(--mw-duration-slower) var(--mw-ease-in-out);
62
- z-index: z-index('card');
63
- pointer-events: auto;
64
30
 
65
- img {
31
+ &-base-image {
66
32
  width: 100%;
67
33
  height: 100%;
68
34
  object-fit: cover;
69
35
  display: block;
70
36
  }
71
37
 
72
- &.mw-active,
73
- &.active {
74
- transform: translateX(0);
75
- }
76
- }
38
+ &-overlay {
39
+ position: absolute;
40
+ top: 0;
41
+ left: 0;
42
+ width: 100%;
43
+ height: $height-sm;
44
+ pointer-events: none;
77
45
 
78
- // Fixed: Direct selectors for grid classes
79
- &-controls-grid-3 {
80
- position: relative;
81
- display: grid;
82
- grid-template-columns: repeat(3, 1fr);
83
- gap: spacing('3');
84
- padding: spacing('3');
85
- background: var(--mw-card-background);
86
- z-index: z-index('menu');
87
- width: 100%;
46
+ @include media-up('sm') {
47
+ height: $height-md;
48
+ }
88
49
 
89
- @include media-down('md') {
90
- gap: spacing('2');
91
- padding: spacing('2');
50
+ @include media-up('md') {
51
+ height: $height-lg;
52
+ }
92
53
  }
93
54
 
94
- @include media-down('sm') {
95
- grid-template-columns: repeat(2, 1fr);
55
+ &-overlay-image {
56
+ position: absolute;
57
+ top: 0;
58
+ left: 0;
59
+ width: 100%;
60
+ height: 100%;
61
+ transform: translateX(100%);
62
+ transition: transform var(--mw-duration-slower) var(--mw-ease-in-out);
63
+ z-index: z-index('card');
64
+ pointer-events: auto;
65
+
66
+ img {
67
+ width: 100%;
68
+ height: 100%;
69
+ object-fit: cover;
70
+ display: block;
71
+ }
72
+
73
+ @include active() {
74
+ transform: translateX(0);
75
+ }
96
76
  }
97
- }
98
-
99
- &-controls-grid-2 {
100
- position: relative;
101
- display: grid;
102
- grid-template-columns: repeat(2, 1fr);
103
- gap: spacing('3');
104
- padding: spacing('3');
105
- background: var(--mw-card-background);
106
- z-index: z-index('menu');
107
- width: 100%;
108
77
 
109
- @include media-down('md') {
78
+ // Fixed: Direct selectors for grid classes
79
+ &-controls-grid-3 {
80
+ position: relative;
81
+ display: grid;
82
+ grid-template-columns: repeat(2, 1fr);
110
83
  gap: spacing('2');
111
84
  padding: spacing('2');
85
+ background: var(--mw-card-background);
86
+ z-index: z-index('menu');
87
+ width: 100%;
88
+
89
+ @include media-up('sm') {
90
+ grid-template-columns: repeat(3, 1fr);
91
+ }
92
+
93
+ @include media-up('md') {
94
+ gap: spacing('3');
95
+ padding: spacing('3');
96
+ }
112
97
  }
113
98
 
114
- @include media-down('sm') {
99
+ &-controls-grid-2 {
100
+ position: relative;
101
+ display: grid;
115
102
  grid-template-columns: 1fr;
103
+ gap: spacing('2');
104
+ padding: spacing('2');
105
+ background: var(--mw-card-background);
106
+ z-index: z-index('menu');
107
+ width: 100%;
108
+
109
+ @include media-up('sm') {
110
+ grid-template-columns: repeat(2, 1fr);
111
+ }
112
+
113
+ @include media-up('md') {
114
+ gap: spacing('3');
115
+ padding: spacing('3');
116
+ }
116
117
  }
117
118
  }
118
119
  }
@@ -1,73 +1,75 @@
1
1
  @use '../abstracts' as *;
2
2
 
3
- // Base horizontal divider
4
- .mw-divider {
5
- display: block;
6
- width: 100%;
7
- border: none;
8
- border-top: 1px solid var(--mw-border);
9
- margin: spacing('4') spacing('0');
3
+ @layer mw.components {
4
+ // Base horizontal divider
5
+ .mw-divider {
6
+ display: block;
7
+ width: 100%;
8
+ border: none;
9
+ border-top: 1px solid var(--mw-border);
10
+ margin: spacing('4') spacing('0');
10
11
 
11
- &-thick {
12
- border-top-width: 4px;
13
- }
12
+ &-thick {
13
+ border-top-width: 4px;
14
+ }
14
15
 
15
- &-dashed {
16
- border-top-style: dashed;
17
- }
16
+ &-dashed {
17
+ border-top-style: dashed;
18
+ }
18
19
 
19
- &-primary {
20
- border-top-color: var(--mw-primary-text-color);
21
- }
20
+ &-primary {
21
+ border-top-color: var(--mw-primary-text-color);
22
+ }
22
23
 
23
- &-secondary {
24
- border-top-color: var(--mw-secondary-text-color);
24
+ &-secondary {
25
+ border-top-color: var(--mw-secondary-text-color);
26
+ }
25
27
  }
26
- }
27
28
 
28
- // Vertical divider (use inside a flex row)
29
- .mw-divider-vertical {
30
- display: inline-block;
31
- width: 1px;
32
- background: var(--mw-border);
33
- margin: spacing('0') spacing('3');
34
- align-self: stretch;
35
- border: none;
36
- flex-shrink: 0;
37
- }
38
-
39
- // Divider with centered label text
40
- .mw-divider-text {
41
- display: flex;
42
- width: 100%;
43
- align-items: center;
44
- gap: spacing('3');
45
- margin: spacing('2') spacing('0');
46
- border: none;
47
-
48
- &::before,
49
- &::after {
50
- content: '';
51
- flex: 1;
52
- height: 1px;
29
+ // Vertical divider (use inside a flex row)
30
+ .mw-divider-vertical {
31
+ display: inline-block;
32
+ width: 1px;
53
33
  background: var(--mw-border);
34
+ margin: spacing('0') spacing('3');
35
+ align-self: stretch;
36
+ border: none;
37
+ flex-shrink: 0;
54
38
  }
55
39
 
56
- span {
57
- color: var(--mw-text-muted-color);
58
- font-size: font-size('sm');
59
- white-space: nowrap;
60
- user-select: none;
61
- }
40
+ // Divider with centered label text
41
+ .mw-divider-text {
42
+ display: flex;
43
+ width: 100%;
44
+ align-items: center;
45
+ gap: spacing('3');
46
+ margin: spacing('2') spacing('0');
47
+ border: none;
62
48
 
63
- &.mw-divider-primary {
64
49
  &::before,
65
50
  &::after {
66
- background: var(--mw-primary-color);
51
+ content: '';
52
+ flex: 1;
53
+ height: 1px;
54
+ background: var(--mw-border);
67
55
  }
68
56
 
69
57
  span {
70
- color: var(--mw-primary-text-color);
58
+ color: var(--mw-text-muted-color);
59
+ font-size: font-size('sm');
60
+ white-space: nowrap;
61
+ user-select: none;
62
+ }
63
+
64
+ &.mw-divider-primary {
65
+ &::before,
66
+ &::after {
67
+ background: var(--mw-primary-color);
68
+ }
69
+
70
+ span {
71
+ color: var(--mw-primary-text-color);
72
+ }
71
73
  }
72
74
  }
73
75
  }