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,163 +1,161 @@
1
1
  @use '../abstracts' as *;
2
2
 
3
- .mw-gallery-container {
4
- max-width: 1100px;
5
- margin: spacing('1') auto;
6
- }
7
-
8
- .mw-gallery {
9
- position: relative;
10
- overflow: hidden;
11
- width: 100%;
12
- border-radius: radius('md');
13
-
14
- &-track {
15
- display: flex;
16
- transition: transform var(--mw-duration-zoom) var(--mw-ease-in-out);
17
-
18
- @media (prefers-reduced-motion: reduce) {
19
- transition: none;
20
- }
3
+ @layer mw.components {
4
+ .mw-gallery-container {
5
+ max-width: 1100px;
6
+ margin: spacing('1') auto;
21
7
  }
22
8
 
23
- &-slide {
9
+ .mw-gallery {
10
+ position: relative;
11
+ overflow: hidden;
24
12
  width: 100%;
25
- flex-shrink: 0;
26
- aspect-ratio: 16 / 9;
27
-
28
- img {
29
- width: 100%;
30
- height: 100%;
31
- object-fit: cover;
32
- display: block;
33
- }
34
- }
35
-
36
- &-navi {
37
- position: absolute;
38
- top: 50%;
39
- transform: translateY(-50%);
40
- width: 52px;
41
- height: 108px;
42
- display: flex;
43
- align-items: center;
44
- justify-content: center;
45
- padding: spacing('0');
46
- border: none;
47
13
  border-radius: radius('md');
48
- background: rgb(0 0 0 / 40%);
49
- color: $fixed-surface-text;
50
- font-size: font-size('xl');
51
- line-height: 1;
52
- cursor: pointer;
53
- z-index: z-index('lift');
54
- user-select: none;
55
- transition: var(--mw-transition);
56
- @include tappable;
57
-
58
- &:active {
59
- transform: translateY(-50%) scale(0.9);
60
- transition-duration: var(--mw-duration-instant);
61
- }
62
14
 
63
- &::before {
64
- content: '';
65
- position: absolute;
66
- inset: -8px;
67
- border-radius: inherit;
15
+ &-track {
16
+ display: flex;
17
+ transition: transform var(--mw-duration-zoom) var(--mw-ease-in-out);
68
18
  }
69
19
 
70
- &:hover {
71
- background: rgb(0 0 0 / 85%);
20
+ &-slide {
21
+ width: 100%;
22
+ flex-shrink: 0;
23
+ aspect-ratio: 16 / 9;
24
+
25
+ img {
26
+ width: 100%;
27
+ height: 100%;
28
+ object-fit: cover;
29
+ display: block;
30
+ }
72
31
  }
73
32
 
74
- @include focus-ring;
33
+ &-navi {
34
+ position: absolute;
35
+ top: 50%;
36
+ transform: translateY(-50%);
37
+ width: 52px;
38
+ height: 108px;
39
+ display: flex;
40
+ align-items: center;
41
+ justify-content: center;
42
+ padding: spacing('0');
43
+ border: none;
44
+ border-radius: radius('md');
45
+ background: rgb(0 0 0 / 40%);
46
+ color: $fixed-surface-text;
47
+ font-size: font-size('xl');
48
+ line-height: 1;
49
+ cursor: pointer;
50
+ z-index: z-index('lift');
51
+ user-select: none;
52
+ transition: var(--mw-transition);
53
+ @include tappable;
54
+
55
+ &:active {
56
+ transform: translateY(-50%) scale(0.9);
57
+ transition-duration: var(--mw-duration-instant);
58
+ }
75
59
 
76
- &-prev {
77
- left: spacing('4');
78
- }
60
+ &::before {
61
+ content: '';
62
+ position: absolute;
63
+ inset: -8px;
64
+ border-radius: inherit;
65
+ }
79
66
 
80
- &-next {
81
- right: spacing('4');
82
- }
83
- }
67
+ &:hover {
68
+ background: rgb(0 0 0 / 85%);
69
+ }
84
70
 
85
- &-desc {
86
- text-align: left;
87
- padding: spacing('2') spacing('3');
88
- margin-top: spacing('2');
89
- background: var(--mw-card-background);
90
- border-radius: radius('md');
91
- border: 1px solid var(--mw-border-accent);
92
- }
71
+ @include focus-ring;
93
72
 
94
- &-dots {
95
- text-align: center;
96
- margin-top: spacing('5');
97
- display: flex;
98
- align-items: center;
99
- justify-content: center;
100
- gap: spacing('4');
101
- }
73
+ &-prev {
74
+ left: spacing('4');
75
+ }
102
76
 
103
- &-dot {
104
- display: inline-block;
105
- width: 11px;
106
- height: 11px;
107
- padding: 0;
108
- border: 0;
109
- appearance: none;
110
- border-radius: radius('full');
111
- background: var(--mw-gray-color);
112
- cursor: pointer;
113
- transition: var(--mw-transition-fast);
114
-
115
- @include tappable;
116
- @include focus-ring;
117
-
118
- &.mw-active {
119
- transform: scale(1.5);
120
- background: var(--mw-primary-color);
77
+ &-next {
78
+ right: spacing('4');
79
+ }
121
80
  }
122
- }
123
- }
124
81
 
125
- @include media-down('md') {
126
- .mw-gallery {
127
82
  &-desc {
128
- font-size: font-size('sm');
83
+ text-align: left;
84
+ padding: spacing('2') spacing('3');
85
+ margin-top: spacing('2');
86
+ background: var(--mw-card-background);
87
+ border-radius: radius('md');
88
+ border: 1px solid var(--mw-border-accent);
89
+ }
90
+
91
+ &-dots {
92
+ text-align: center;
93
+ margin-top: spacing('5');
94
+ display: flex;
95
+ align-items: center;
96
+ justify-content: center;
97
+ gap: spacing('4');
129
98
  }
99
+
130
100
  &-dot {
131
- width: 10px;
132
- height: 10px;
101
+ display: inline-block;
102
+ width: 11px;
103
+ height: 11px;
104
+ padding: 0;
105
+ border: 0;
106
+ appearance: none;
107
+ border-radius: radius('full');
108
+ background: var(--mw-gray-color);
109
+ cursor: pointer;
110
+ transition: var(--mw-transition-fast);
111
+
112
+ @include tappable;
113
+ @include focus-ring;
114
+
133
115
  &.mw-active {
134
- transform: scale(1.4);
116
+ transform: scale(1.5);
117
+ background: var(--mw-primary-color);
135
118
  }
136
119
  }
137
120
  }
138
- }
139
121
 
140
- @include media-down('sm') {
141
- .mw-gallery {
142
- &-slide {
143
- aspect-ratio: 4 / 3;
144
- }
145
- &-navi {
146
- width: 46px;
147
- height: 88px;
148
- }
149
- &-desc {
150
- font-size: font-size('xs');
151
- }
152
- &-dots {
153
- gap: spacing('2');
154
- margin-top: spacing('4');
122
+ @include media-down('md') {
123
+ .mw-gallery {
124
+ &-desc {
125
+ font-size: font-size('sm');
126
+ }
127
+ &-dot {
128
+ width: 10px;
129
+ height: 10px;
130
+ &.mw-active {
131
+ transform: scale(1.4);
132
+ }
133
+ }
155
134
  }
156
- &-dot {
157
- width: 9px;
158
- height: 9px;
159
- &.mw-active {
160
- transform: scale(1.3);
135
+ }
136
+
137
+ @include media-down('sm') {
138
+ .mw-gallery {
139
+ &-slide {
140
+ aspect-ratio: 4 / 3;
141
+ }
142
+ &-navi {
143
+ width: 46px;
144
+ height: 88px;
145
+ }
146
+ &-desc {
147
+ font-size: font-size('xs');
148
+ }
149
+ &-dots {
150
+ gap: spacing('2');
151
+ margin-top: spacing('4');
152
+ }
153
+ &-dot {
154
+ width: 9px;
155
+ height: 9px;
156
+ &.mw-active {
157
+ transform: scale(1.3);
158
+ }
161
159
  }
162
160
  }
163
161
  }
@@ -1,202 +1,186 @@
1
1
  @use '../abstracts' as *;
2
2
 
3
- $_mw-info-colors: (
4
- primary: var(--mw-primary-color),
5
- secondary: var(--mw-secondary-color),
6
- info: var(--mw-info-color),
7
- success: var(--mw-success-color),
8
- warning: var(--mw-warning-color),
9
- danger: var(--mw-danger-color),
10
- );
11
-
12
- .mw-info {
13
- display: inline-flex;
14
- flex-direction: column;
15
- align-items: center;
16
- justify-content: center;
17
- padding: spacing('3') spacing('5');
18
- margin: spacing('1');
19
- font-size: font-size('base');
20
- font-weight: font-weight('medium');
21
- color: var(--mw-text-color);
22
- background: var(--mw-card-background);
23
- border: 1px solid var(--mw-border);
24
- border-radius: radius('md');
25
- transition:
26
- transform var(--mw-duration-base) var(--mw-ease-out),
27
- box-shadow var(--mw-duration-base) var(--mw-ease-out);
28
- cursor: default;
29
- text-decoration: none;
30
-
31
- &:hover {
32
- box-shadow: var(--mw-elevation-3);
33
- }
34
-
35
- @include hover {
36
- transform: translateY(-2px);
37
- }
38
-
39
- // Interactive variant
40
- &-clickable {
41
- cursor: pointer;
42
- @include tappable;
43
-
44
- &:active {
45
- transform: scale(0.98);
46
- transition-duration: var(--mw-duration-instant);
47
- }
48
- }
49
-
50
- // Size variants
51
- &-sm {
52
- padding: spacing('1') spacing('3');
53
- font-size: font-size('sm');
54
- font-weight: font-weight('normal');
55
- }
56
- &-lg {
57
- padding: spacing('4') spacing('6');
58
- font-size: font-size('lg');
59
- font-weight: font-weight('medium');
60
- }
61
- &-xl {
62
- padding: spacing('5') spacing('8');
63
- font-size: font-size('xl');
3
+ @layer mw.components {
4
+ .mw-info {
5
+ display: inline-flex;
6
+ flex-direction: column;
7
+ align-items: center;
8
+ justify-content: center;
9
+ padding: spacing('3') spacing('5');
10
+ margin: spacing('1');
11
+ font-size: font-size('base');
64
12
  font-weight: font-weight('medium');
65
- }
66
-
67
- // Block variant: the same framed surface, carrying a paragraph instead of a
68
- // value. The base is built for a short figure - it centres its content in a
69
- // narrow column, sets it in medium weight and lifts on hover, which turns
70
- // running text into a ragged stack that twitches under the pointer. This
71
- // reads as a note instead: ranged left up to a measure, body weight, body
72
- // leading, and it stays put.
73
- //
74
- // <div class="mw-info mw-info-primary mw-info-block">
75
- // <strong>Why greyscale?</strong>
76
- // <span>Because the frame is not the stage ...</span>
77
- // </div>
78
- &-block {
79
- display: flex;
80
- align-items: flex-start;
81
- width: 100%;
82
- max-width: 68ch;
83
- margin-inline: auto;
84
- padding: spacing('6') spacing('7');
85
- font-weight: font-weight('normal');
86
- line-height: 1.7;
87
- text-align: left;
88
- text-wrap: pretty;
13
+ color: var(--mw-text-color);
14
+ background: var(--mw-card-background);
15
+ border: 1px solid var(--mw-border);
16
+ border-radius: radius('md');
17
+ transition:
18
+ transform var(--mw-duration-base) var(--mw-ease-out),
19
+ box-shadow var(--mw-duration-base) var(--mw-ease-out);
20
+ cursor: default;
21
+ text-decoration: none;
89
22
 
90
23
  &:hover {
91
- box-shadow: none;
24
+ box-shadow: var(--mw-elevation-3);
92
25
  }
93
26
 
94
27
  @include hover {
95
- transform: none;
28
+ transform: translateY(-2px);
96
29
  }
97
30
 
98
- strong {
99
- margin-bottom: spacing('2');
100
- }
101
- }
31
+ // Interactive variant
32
+ &-clickable {
33
+ cursor: pointer;
34
+ @include tappable;
102
35
 
103
- // counter variant: big number + small label
104
- &-counter {
105
- min-width: spacing('12');
106
- .mw-info-value {
107
- font-size: font-size('4xl');
108
- font-weight: font-weight('bold');
109
- line-height: 1.4;
36
+ &:active {
37
+ transform: scale(0.98);
38
+ transition-duration: var(--mw-duration-instant);
39
+ }
110
40
  }
111
- .mw-info-label {
41
+
42
+ &-sm {
43
+ padding: spacing('1') spacing('3');
112
44
  font-size: font-size('sm');
45
+ font-weight: font-weight('normal');
46
+ }
47
+ &-lg {
48
+ padding: spacing('4') spacing('6');
49
+ font-size: font-size('lg');
50
+ font-weight: font-weight('medium');
51
+ }
52
+ &-xl {
53
+ padding: spacing('5') spacing('8');
54
+ font-size: font-size('xl');
113
55
  font-weight: font-weight('medium');
114
- opacity: 0.7;
115
- text-align: center;
116
56
  }
117
- }
118
- }
119
57
 
120
- // When the figure is actually interactive it should say so
121
- a.mw-info,
122
- button.mw-info {
123
- cursor: pointer;
58
+ // The same surface carrying a paragraph instead of a figure. The base centres
59
+ // a short value and lifts on hover, which turns running text into a ragged
60
+ // stack that twitches under the pointer - this stays put and reads as a note.
61
+ &-block {
62
+ display: flex;
63
+ align-items: flex-start;
64
+ width: 100%;
65
+ max-width: 68ch;
66
+ margin-inline: auto;
67
+ padding: spacing('6') spacing('7');
68
+ font-weight: font-weight('normal');
69
+ line-height: 1.7;
70
+ text-align: left;
71
+ text-wrap: pretty;
72
+
73
+ &:hover {
74
+ box-shadow: none;
75
+ }
76
+
77
+ @include hover {
78
+ transform: none;
79
+ }
80
+
81
+ strong {
82
+ margin-bottom: spacing('2');
83
+ }
84
+ }
124
85
 
125
- @include focus-ring;
126
- }
86
+ // counter variant: big number + small label
87
+ &-counter {
88
+ min-width: spacing('12');
89
+ .mw-info-value {
90
+ font-size: font-size('4xl');
91
+ font-weight: font-weight('bold');
92
+ line-height: 1.4;
93
+ }
94
+ .mw-info-label {
95
+ font-size: font-size('sm');
96
+ font-weight: font-weight('medium');
97
+ opacity: 0.7;
98
+ text-align: center;
99
+ }
100
+ }
101
+ }
102
+
103
+ // When the figure is actually interactive it should say so
104
+ a.mw-info,
105
+ button.mw-info {
106
+ cursor: pointer;
127
107
 
128
- // Info like mini-buttons
129
- .mw-info-mini {
130
- display: inline-flex;
131
- align-items: center;
132
- justify-content: center;
133
- width: 20px;
134
- height: 20px;
135
- border-radius: radius('full');
136
- background: var(--mw-gray-color);
137
- color: $fixed-surface-text;
138
- border: none;
139
- padding: 0;
140
- line-height: 1;
141
- font-weight: bold;
142
- cursor: default;
143
- box-sizing: border-box;
144
-
145
- i,
146
- fa-icon,
147
- svg,
148
- [class*='fa-'],
149
- [class*='fas-'] {
150
- font-size: 0.7rem;
108
+ @include focus-ring;
151
109
  }
152
110
 
153
- &-sm {
154
- width: 16px;
155
- height: 16px;
111
+ // Info like mini-buttons
112
+ .mw-info-mini {
113
+ display: inline-flex;
114
+ align-items: center;
115
+ justify-content: center;
116
+ width: 20px;
117
+ height: 20px;
118
+ border-radius: radius('full');
119
+ background: var(--mw-gray-color);
120
+ color: $fixed-surface-text;
121
+ border: none;
122
+ padding: 0;
123
+ line-height: 1;
124
+ font-weight: bold;
125
+ cursor: default;
126
+ box-sizing: border-box;
127
+
156
128
  i,
157
129
  fa-icon,
158
130
  svg,
159
131
  [class*='fa-'],
160
132
  [class*='fas-'] {
161
- font-size: 0.55rem;
133
+ font-size: 0.7rem;
162
134
  }
163
- }
164
135
 
165
- &-lg {
166
- width: 24px;
167
- height: 24px;
168
- i,
169
- fa-icon,
170
- svg,
171
- [class*='fa-'],
172
- [class*='fas-'] {
173
- font-size: 0.8rem;
136
+ &-sm {
137
+ width: 16px;
138
+ height: 16px;
139
+ i,
140
+ fa-icon,
141
+ svg,
142
+ [class*='fa-'],
143
+ [class*='fas-'] {
144
+ font-size: 0.55rem;
145
+ }
174
146
  }
175
- }
176
147
 
177
- &-xl {
178
- width: 32px;
179
- height: 32px;
180
- i,
181
- fa-icon,
182
- svg,
183
- [class*='fa-'],
184
- [class*='fas-'] {
185
- font-size: 1rem;
148
+ &-lg {
149
+ width: 24px;
150
+ height: 24px;
151
+ i,
152
+ fa-icon,
153
+ svg,
154
+ [class*='fa-'],
155
+ [class*='fas-'] {
156
+ font-size: 0.8rem;
157
+ }
186
158
  }
187
- }
188
- }
189
159
 
190
- // Generate color modifiers
191
- @each $name, $col in $_mw-info-colors {
192
- .mw-info-#{$name} {
193
- background: var(--mw-#{$name}-info-background);
194
- border-color: var(--mw-#{$name}-text-color);
195
- border-left: 6px solid var(--mw-#{$name}-text-color);
160
+ &-xl {
161
+ width: 32px;
162
+ height: 32px;
163
+ i,
164
+ fa-icon,
165
+ svg,
166
+ [class*='fa-'],
167
+ [class*='fas-'] {
168
+ font-size: 1rem;
169
+ }
170
+ }
196
171
  }
197
172
 
198
- .mw-info-mini-#{$name} {
199
- background: #{$col};
200
- color: var(--mw-#{$name}-accent-text-color);
173
+ // Generate color modifiers
174
+ @each $name, $col in $semantic-colors {
175
+ .mw-info-#{$name} {
176
+ background: var(--mw-#{$name}-info-background);
177
+ border-color: var(--mw-#{$name}-text-color);
178
+ border-left: 6px solid var(--mw-#{$name}-text-color);
179
+ }
180
+
181
+ .mw-info-mini-#{$name} {
182
+ background: #{$col};
183
+ color: var(--mw-#{$name}-accent-text-color);
184
+ }
201
185
  }
202
186
  }