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
@@ -10,7 +10,7 @@
10
10
  <div>
11
11
  <h3 class="mw-card-title mw-mb-4">Text Lines</h3>
12
12
  <div class="mw-card mw-card-simple">
13
- <h5 class="mw-text-medium mw-mb-3">Article Placeholder</h5>
13
+ <h4 class="mw-text-medium mw-mb-3">Article Placeholder</h4>
14
14
  <div class="mw-skeleton-card">
15
15
  <span class="mw-skeleton mw-skeleton-title"></span>
16
16
  <span class="mw-skeleton mw-skeleton-text"></span>
@@ -18,7 +18,7 @@
18
18
  <span class="mw-skeleton mw-skeleton-text"></span>
19
19
  </div>
20
20
 
21
- <h5 class="mw-text-medium mw-mt-4 mw-mb-3">Short Paragraph</h5>
21
+ <h4 class="mw-text-medium mw-mt-4 mw-mb-3">Short Paragraph</h4>
22
22
  <div class="mw-skeleton-card">
23
23
  <span class="mw-skeleton mw-skeleton-text"></span>
24
24
  <span class="mw-skeleton mw-skeleton-text"></span>
@@ -30,7 +30,7 @@
30
30
  <div>
31
31
  <h3 class="mw-card-title mw-mb-4">Avatar & Content</h3>
32
32
  <div class="mw-card mw-card-simple">
33
- <h5 class="mw-text-medium mw-mb-3">User Card</h5>
33
+ <h4 class="mw-text-medium mw-mb-3">User Card</h4>
34
34
  <div class="mw-skeleton-card">
35
35
  <div class="mw-skeleton-row">
36
36
  <span class="mw-skeleton mw-skeleton-circle"></span>
@@ -49,7 +49,7 @@
49
49
  <span class="mw-skeleton mw-skeleton-text"></span>
50
50
  </div>
51
51
 
52
- <h5 class="mw-text-medium mw-mt-4 mw-mb-3">Comment Row</h5>
52
+ <h4 class="mw-text-medium mw-mt-4 mw-mb-3">Comment Row</h4>
53
53
  <div class="mw-skeleton-card">
54
54
  <div class="mw-skeleton-row">
55
55
  <span class="mw-skeleton mw-skeleton-circle"></span>
@@ -69,7 +69,7 @@
69
69
  <div>
70
70
  <h3 class="mw-card-title mw-mb-4">Image & Shapes</h3>
71
71
  <div class="mw-card mw-card-simple">
72
- <h5 class="mw-text-medium mw-mb-3">Image Card</h5>
72
+ <h4 class="mw-text-medium mw-mb-3">Image Card</h4>
73
73
  <div class="mw-skeleton-card">
74
74
  <span class="mw-skeleton mw-skeleton-rect"></span>
75
75
  <span class="mw-skeleton mw-skeleton-title"></span>
@@ -77,7 +77,7 @@
77
77
  <span class="mw-skeleton mw-skeleton-text"></span>
78
78
  </div>
79
79
 
80
- <h5 class="mw-text-medium mw-mt-4 mw-mb-3">Small Banner</h5>
80
+ <h4 class="mw-text-medium mw-mt-4 mw-mb-3">Small Banner</h4>
81
81
  <div class="mw-skeleton-card">
82
82
  <span class="mw-skeleton mw-skeleton-rect mw-skeleton-rect-sm"></span>
83
83
  <span class="mw-skeleton mw-skeleton-text" style="width: 50%"></span>
@@ -9,7 +9,7 @@
9
9
  <div>
10
10
  <h3 class="mw-card-title mw-mb-4">Horizontal</h3>
11
11
  <div class="mw-card mw-card-simple">
12
- <h5 class="mw-text-medium mw-mb-4">In Progress (step 2 active)</h5>
12
+ <h4 class="mw-text-medium mw-mb-4">In Progress (step 2 active)</h4>
13
13
  <div class="mw-stepper mw-mb-5">
14
14
  <div class="mw-stepper-step">
15
15
  <div class="mw-stepper-indicator mw-done">
@@ -34,7 +34,7 @@
34
34
  </div>
35
35
  </div>
36
36
 
37
- <h5 class="mw-text-medium mw-mb-4">Completed</h5>
37
+ <h4 class="mw-text-medium mw-mb-4">Completed</h4>
38
38
  <div class="mw-stepper">
39
39
  <div class="mw-stepper-step">
40
40
  <div class="mw-stepper-indicator mw-done">
@@ -30,21 +30,21 @@
30
30
  <tbody>
31
31
  <tr>
32
32
  <td>1</td>
33
- <td>John Doe</td>
33
+ <td>Mara Kessler</td>
34
34
  <td>Developer</td>
35
35
  <td>New York</td>
36
36
  <td class="mw-text-currency">1,204.50</td>
37
37
  </tr>
38
38
  <tr>
39
39
  <td>2</td>
40
- <td>Jane Smith</td>
40
+ <td>Tom Aldridge</td>
41
41
  <td>Designer</td>
42
42
  <td>London</td>
43
43
  <td class="mw-text-currency">87.00</td>
44
44
  </tr>
45
45
  <tr>
46
46
  <td>3</td>
47
- <td>Bob Johnson</td>
47
+ <td>Jonas Reuter</td>
48
48
  <td>Manager</td>
49
49
  <td>Berlin</td>
50
50
  <td class="mw-text-currency">15,930.25</td>
@@ -82,19 +82,19 @@
82
82
  <tbody>
83
83
  <tr>
84
84
  <td>1</td>
85
- <td>John Doe</td>
85
+ <td>Mara Kessler</td>
86
86
  <td>Developer</td>
87
87
  <td>New York</td>
88
88
  </tr>
89
89
  <tr>
90
90
  <td>2</td>
91
- <td>Jane Smith</td>
91
+ <td>Tom Aldridge</td>
92
92
  <td>Designer</td>
93
93
  <td>London</td>
94
94
  </tr>
95
95
  <tr>
96
96
  <td>3</td>
97
- <td>Bob Johnson</td>
97
+ <td>Jonas Reuter</td>
98
98
  <td>Manager</td>
99
99
  <td>Berlin</td>
100
100
  </tr>
@@ -129,19 +129,19 @@
129
129
  <tbody>
130
130
  <tr>
131
131
  <td>1</td>
132
- <td>John Doe</td>
132
+ <td>Mara Kessler</td>
133
133
  <td>Developer</td>
134
134
  <td class="mw-text-currency">12,400</td>
135
135
  </tr>
136
136
  <tr>
137
137
  <td>2</td>
138
- <td>Jane Smith</td>
138
+ <td>Tom Aldridge</td>
139
139
  <td>Designer</td>
140
140
  <td class="mw-text-currency">9,800</td>
141
141
  </tr>
142
142
  <tr>
143
143
  <td>3</td>
144
- <td>Bob Johnson</td>
144
+ <td>Jonas Reuter</td>
145
145
  <td>Manager</td>
146
146
  <td class="mw-text-currency">21,050</td>
147
147
  </tr>
@@ -305,19 +305,19 @@
305
305
  <tbody>
306
306
  <tr>
307
307
  <td data-label="#">1</td>
308
- <td data-label="Name">John Doe</td>
308
+ <td data-label="Name">Mara Kessler</td>
309
309
  <td data-label="Position">Developer</td>
310
310
  <td data-label="Location">New York</td>
311
311
  </tr>
312
312
  <tr>
313
313
  <td data-label="#">2</td>
314
- <td data-label="Name">Jane Smith</td>
314
+ <td data-label="Name">Tom Aldridge</td>
315
315
  <td data-label="Position">Designer</td>
316
316
  <td data-label="Location">London</td>
317
317
  </tr>
318
318
  <tr>
319
319
  <td data-label="#">3</td>
320
- <td data-label="Name">Bob Johnson</td>
320
+ <td data-label="Name">Jonas Reuter</td>
321
321
  <td data-label="Position">Manager</td>
322
322
  <td data-label="Location">Berlin</td>
323
323
  </tr>
@@ -28,16 +28,13 @@
28
28
  <div class="mw-tabs-panel mw-active" id="tab1">
29
29
  <div class="mw-card mw-card-simple">
30
30
  <h4>Key Features</h4>
31
- <p>
32
- MaverickWave CSS framework provides a comprehensive set of features to
33
- make your web development faster and more efficient:
34
- </p>
31
+ <p>What you get once the two files are on the page:</p>
35
32
  <ul>
36
- <li>Responsive grid system with flexible layouts</li>
37
- <li>Customizable components with consistent design language</li>
38
- <li>Dark and light theme support with smooth transitions</li>
39
- <li>Utility classes for rapid development and prototyping</li>
40
- <li>Modern design aesthetic with attention to detail</li>
33
+ <li>A grid that collapses to one column on a phone</li>
34
+ <li>48 components, all on the same tokens</li>
35
+ <li>Dark and light theme, switched by one class on the body</li>
36
+ <li>Utility classes for spacing, flex and display</li>
37
+ <li>Form controls that share one height scale</li>
41
38
  </ul>
42
39
  </div>
43
40
  </div>
@@ -64,18 +61,15 @@
64
61
  <div class="mw-mb-4">
65
62
  <h5>Alex T. - Frontend Developer</h5>
66
63
  <p>
67
- "MaverickWave CSS framework has simplified my workflow tremendously.
68
- The components are well-designed and the utility classes save me
69
- hours of custom CSS writing. The documentation is clear and
70
- comprehensive."
64
+ "Dropped it into a side project on a Sunday. The grid and the form
65
+ controls were the parts I did not have to touch afterwards."
71
66
  </p>
72
67
  </div>
73
68
  <div class="mw-mb-4">
74
69
  <h5>Jamie L. - UX Designer</h5>
75
70
  <p>
76
- "I love how easy it is to customize the framework to match my brand.
77
- The dark/light theme toggle was a breeze to implement and my clients
78
- are impressed with the polished look!"
71
+ "One variable for the brand colour and the whole palette followed.
72
+ The dark theme needed no work from my side at all."
79
73
  </p>
80
74
  </div>
81
75
  </div>
@@ -83,11 +77,11 @@
83
77
  <div class="mw-tabs-panel" id="tab4">
84
78
  <div class="mw-card mw-card-simple">
85
79
  <h4>Support Options</h4>
86
- <p>I offer multiple support channels for MaverickWave:</p>
80
+ <p>Where to look when something does not work:</p>
87
81
  <ul>
88
- <li>Comprehensive documentation</li>
89
- <li>Regular updates with new features and improvements</li>
90
- <li>Dedicated support for power users</li>
82
+ <li>This page, which is the documentation</li>
83
+ <li>Issues and discussions on GitHub</li>
84
+ <li>A changelog for every release</li>
91
85
  </ul>
92
86
  </div>
93
87
  </div>
@@ -216,13 +210,9 @@ href="path/maverick-wave.min.css"&gt;</code></pre>
216
210
  falls back to a system stack.
217
211
  </p>
218
212
  <p class="mw-mt-4">
219
- <button
220
- type="button"
221
- onclick="location.href = '#get-started'"
222
- class="mw-link"
223
- >
213
+ <a href="#get-started" class="mw-link">
224
214
  Refer to the "Get Started" section
225
- </button>
215
+ </a>
226
216
  for more detailed examples.
227
217
  </p>
228
218
  </div>
@@ -233,7 +223,7 @@ href="path/maverick-wave.min.css"&gt;</code></pre>
233
223
  <p>When working with MaverickWave:</p>
234
224
  <ul>
235
225
  <li>Use semantic HTML elements for better accessibility</li>
236
- <li>Leverage utility classes for quick adjustments</li>
226
+ <li>Reach for the utility classes before writing custom CSS</li>
237
227
  <li>Customize variables to match your brand identity</li>
238
228
  <li>Test thoroughly across different browsers and devices</li>
239
229
  <li>Consider performance by only including components you need</li>
@@ -11,7 +11,7 @@
11
11
  <h3 class="mw-card-title mw-mb-4">Status & Types</h3>
12
12
  <div class="mw-card mw-card-simple">
13
13
  <!-- Basic -->
14
- <h5 class="mw-text-medium mw-mb-2">Default</h5>
14
+ <h4 class="mw-text-medium mw-mb-2">Default</h4>
15
15
  <div class="mw-tags mw-mb-4">
16
16
  <span class="mw-tags-item">Frontend</span>
17
17
  <span class="mw-tags-item">Backend</span>
@@ -19,7 +19,7 @@
19
19
  </div>
20
20
 
21
21
  <!-- Primary (Main Tech) -->
22
- <h5 class="mw-text-medium mw-mb-2">Primary</h5>
22
+ <h4 class="mw-text-medium mw-mb-2">Primary</h4>
23
23
  <div class="mw-tags mw-tags-primary mw-mb-4">
24
24
  <span class="mw-tags-item">Angular</span>
25
25
  <span class="mw-tags-item">Spring Boot</span>
@@ -27,7 +27,7 @@
27
27
  </div>
28
28
 
29
29
  <!-- Success (Status) -->
30
- <h5 class="mw-text-medium mw-mb-2">Success</h5>
30
+ <h4 class="mw-text-medium mw-mb-2">Success</h4>
31
31
  <div class="mw-tags mw-tags-success mw-mb-4">
32
32
  <span class="mw-tags-item">
33
33
  <i class="fas fa-check mw-tags-icon"></i>Completed
@@ -37,7 +37,7 @@
37
37
  </div>
38
38
 
39
39
  <!-- Info (Metadata) -->
40
- <h5 class="mw-text-medium mw-mb-2">Info</h5>
40
+ <h4 class="mw-text-medium mw-mb-2">Info</h4>
41
41
  <div class="mw-tags mw-tags-info mw-mb-4">
42
42
  <span class="mw-tags-item">v2.4.0</span>
43
43
  <span class="mw-tags-item">
@@ -47,7 +47,7 @@
47
47
  </div>
48
48
 
49
49
  <!-- Secondary (Tools) -->
50
- <h5 class="mw-text-medium mw-mb-2">Secondary</h5>
50
+ <h4 class="mw-text-medium mw-mb-2">Secondary</h4>
51
51
  <div class="mw-tags mw-tags-secondary mw-mb-4">
52
52
  <span class="mw-tags-item">Docker</span>
53
53
  <span class="mw-tags-item">Kubernetes</span>
@@ -55,7 +55,7 @@
55
55
  </div>
56
56
 
57
57
  <!-- Warning (Pending) -->
58
- <h5 class="mw-text-medium mw-mb-2">Warning</h5>
58
+ <h4 class="mw-text-medium mw-mb-2">Warning</h4>
59
59
  <div class="mw-tags mw-tags-warning mw-mb-4">
60
60
  <span class="mw-tags-item">
61
61
  <i class="fas fa-clock mw-tags-icon"></i>Pending
@@ -64,7 +64,7 @@
64
64
  </div>
65
65
 
66
66
  <!-- Danger (Failed) -->
67
- <h5 class="mw-text-medium mw-mb-2">Danger</h5>
67
+ <h4 class="mw-text-medium mw-mb-2">Danger</h4>
68
68
  <div class="mw-tags mw-tags-danger mw-mb-4">
69
69
  <span class="mw-tags-item">
70
70
  <i class="fas fa-xmark mw-tags-icon"></i>Failed
@@ -73,7 +73,7 @@
73
73
  </div>
74
74
 
75
75
  <!-- Muted (Neutral) -->
76
- <h5 class="mw-text-medium mw-mb-2">Muted</h5>
76
+ <h4 class="mw-text-medium mw-mb-2">Muted</h4>
77
77
  <div class="mw-tags mw-tags-muted">
78
78
  <span class="mw-tags-item">Draft</span>
79
79
  <span class="mw-tags-item">Archived</span>
@@ -86,7 +86,7 @@
86
86
  <h3 class="mw-card-title mw-mb-4">Sizes & Formatting</h3>
87
87
  <div class="mw-card mw-card-simple">
88
88
  <!-- Default -->
89
- <h5 class="mw-text-medium mw-mb-2">Default Size</h5>
89
+ <h4 class="mw-text-medium mw-mb-2">Default Size</h4>
90
90
  <div class="mw-tags mw-mb-4">
91
91
  <span class="mw-tags-item">Typescript</span>
92
92
  <span class="mw-tags-item">
@@ -97,6 +97,7 @@
97
97
  <button
98
98
  type="button"
99
99
  class="mw-btn-mini mw-btn-mini-danger mw-tags-remove"
100
+ aria-label="Remove filter: active"
100
101
  onclick="this.closest('.mw-tags-item').remove()"
101
102
  >
102
103
  <i class="fas fa-times"></i>
@@ -105,14 +106,14 @@
105
106
  </div>
106
107
 
107
108
  <!-- Large (Categories) -->
108
- <h5 class="mw-text-medium mw-mb-2">Large (Categories)</h5>
109
+ <h4 class="mw-text-medium mw-mb-2">Large (Categories)</h4>
109
110
  <div class="mw-tags mw-tags-lg mw-mb-4">
110
111
  <span class="mw-tags-item">Web Development</span>
111
112
  <span class="mw-tags-item">Design System</span>
112
113
  </div>
113
114
 
114
115
  <!-- With Details -->
115
- <h5 class="mw-text-medium mw-mb-2">With Details</h5>
116
+ <h4 class="mw-text-medium mw-mb-2">With Details</h4>
116
117
  <div class="mw-tags">
117
118
  <span class="mw-tags-item">
118
119
  <i class="fab fa-npm mw-tags-icon"></i>
@@ -132,13 +133,14 @@
132
133
  <div>
133
134
  <h3 class="mw-card-title mw-mb-4">Interactive Tags</h3>
134
135
  <div class="mw-card mw-card-simple">
135
- <h5 class="mw-text-medium mw-mb-2">Removable Input (Primary)</h5>
136
+ <h4 class="mw-text-medium mw-mb-2">Removable Input (Primary)</h4>
136
137
  <div class="mw-tags mw-tags-primary mw-mb-4">
137
138
  <span class="mw-tags-item mw-tags-removable">
138
139
  React
139
140
  <button
140
141
  type="button"
141
142
  class="mw-btn-mini mw-btn-mini-danger mw-tags-remove"
143
+ aria-label="Remove React"
142
144
  onclick="this.closest('.mw-tags-item').remove()"
143
145
  >
144
146
  <i class="fas fa-times"></i>
@@ -149,6 +151,7 @@
149
151
  <button
150
152
  type="button"
151
153
  class="mw-btn-mini mw-btn-mini-danger mw-tags-remove"
154
+ aria-label="Remove Vue.js"
152
155
  onclick="this.closest('.mw-tags-item').remove()"
153
156
  >
154
157
  <i class="fas fa-times"></i>
@@ -156,13 +159,14 @@
156
159
  </span>
157
160
  </div>
158
161
 
159
- <h5 class="mw-text-medium mw-mb-2">Removable Status (Success)</h5>
162
+ <h4 class="mw-text-medium mw-mb-2">Removable Status (Success)</h4>
160
163
  <div class="mw-tags mw-tags-success mw-mb-4">
161
164
  <span class="mw-tags-item mw-tags-removable">
162
165
  <i class="fas fa-user-check mw-tags-icon"></i>Online
163
166
  <button
164
167
  type="button"
165
168
  class="mw-btn-mini mw-btn-mini-danger mw-tags-remove"
169
+ aria-label="Remove Online"
166
170
  onclick="this.closest('.mw-tags-item').remove()"
167
171
  >
168
172
  <i class="fas fa-times"></i>
@@ -173,6 +177,7 @@
173
177
  <button
174
178
  type="button"
175
179
  class="mw-btn-mini mw-btn-mini-danger mw-tags-remove"
180
+ aria-label="Remove Available"
176
181
  onclick="this.closest('.mw-tags-item').remove()"
177
182
  >
178
183
  <i class="fas fa-times"></i>
@@ -180,13 +185,14 @@
180
185
  </span>
181
186
  </div>
182
187
 
183
- <h5 class="mw-text-medium mw-mb-2">Large Removable</h5>
188
+ <h4 class="mw-text-medium mw-mb-2">Large Removable</h4>
184
189
  <div class="mw-tags mw-tags-lg mw-tags-info">
185
190
  <span class="mw-tags-item mw-tags-removable">
186
191
  Filter: Architecture
187
192
  <button
188
193
  type="button"
189
194
  class="mw-btn-mini mw-btn-mini-danger mw-tags-remove"
195
+ aria-label="Remove Filter: Architecture"
190
196
  onclick="this.closest('.mw-tags-item').remove()"
191
197
  >
192
198
  <i class="fas fa-times"></i>
@@ -206,7 +212,7 @@
206
212
  <strong>mw-tags</strong> container is needed.
207
213
  </p>
208
214
 
209
- <h5 class="mw-text-medium mw-mb-2">Variants</h5>
215
+ <h4 class="mw-text-medium mw-mb-2">Variants</h4>
210
216
  <div class="mw-d-flex mw-flex-wrap mw-gap-2 mw-mb-4">
211
217
  <span class="mw-tag mw-tag-primary">Primary</span>
212
218
  <span class="mw-tag mw-tag-secondary">Secondary</span>
@@ -218,7 +224,7 @@
218
224
  <span class="mw-tag mw-tag-neutral">XRechnung</span>
219
225
  </div>
220
226
 
221
- <h5 class="mw-text-medium mw-mb-2">Neutral vs. Muted</h5>
227
+ <h4 class="mw-text-medium mw-mb-2">Neutral vs. Muted</h4>
222
228
  <p class="mw-text-muted mw-text-sm mw-mb-3">
223
229
  <strong>mw-tag-neutral</strong> is a plain identifier - a customer
224
230
  number, a document type. <strong>mw-tag-muted</strong> means the label
@@ -232,7 +238,7 @@
232
238
  <span class="mw-tag mw-tag-muted">No e-invoice</span>
233
239
  </div>
234
240
 
235
- <h5 class="mw-text-medium mw-mb-2">Large</h5>
241
+ <h4 class="mw-text-medium mw-mb-2">Large</h4>
236
242
  <div class="mw-d-flex mw-flex-wrap mw-gap-2">
237
243
  <span class="mw-tag mw-tag-success mw-tag-lg">Paid</span>
238
244
  <span class="mw-tag mw-tag-muted mw-tag-lg">Draft</span>
@@ -14,6 +14,7 @@
14
14
  src="https://upload.wikimedia.org/wikipedia/commons/6/67/Angular_gradient_logo.png"
15
15
  alt="Angular"
16
16
  class="mw-techstack-logo"
17
+ loading="lazy"
17
18
  />
18
19
  <div class="mw-techstack-info">
19
20
  <span class="mw-techstack-name">Angular</span>
@@ -25,6 +26,7 @@
25
26
  src="https://upload.wikimedia.org/wikipedia/commons/9/96/Sass_Logo_Color.svg"
26
27
  alt="Sass"
27
28
  class="mw-techstack-logo"
29
+ loading="lazy"
28
30
  />
29
31
  <div class="mw-techstack-info">
30
32
  <span class="mw-techstack-name">SCSS</span>
@@ -40,6 +42,7 @@
40
42
  src="https://upload.wikimedia.org/wikipedia/commons/4/4c/Typescript_logo_2020.svg"
41
43
  alt="TypeScript"
42
44
  class="mw-techstack-logo"
45
+ loading="lazy"
43
46
  />
44
47
  <div class="mw-techstack-info">
45
48
  <span class="mw-techstack-name">TypeScript</span>
@@ -61,6 +64,7 @@
61
64
  src="https://www.vectorlogo.zone/logos/git-scm/git-scm-icon.svg"
62
65
  class="mw-techstack-logo"
63
66
  alt="Git"
67
+ loading="lazy"
64
68
  />
65
69
  </a>
66
70
  <a
@@ -72,6 +76,7 @@
72
76
  src="https://upload.wikimedia.org/wikipedia/commons/9/9a/Visual_Studio_Code_1.35_icon.svg"
73
77
  class="mw-techstack-logo"
74
78
  alt="VS Code"
79
+ loading="lazy"
75
80
  />
76
81
  </a>
77
82
  <a
@@ -83,6 +88,7 @@
83
88
  src="https://www.vectorlogo.zone/logos/docker/docker-icon.svg"
84
89
  class="mw-techstack-logo"
85
90
  alt="Docker"
91
+ loading="lazy"
86
92
  />
87
93
  </a>
88
94
  <a
@@ -94,6 +100,7 @@
94
100
  src="https://www.vectorlogo.zone/logos/figma/figma-icon.svg"
95
101
  class="mw-techstack-logo"
96
102
  alt="Figma"
103
+ loading="lazy"
97
104
  />
98
105
  </a>
99
106
  <a
@@ -105,6 +112,7 @@
105
112
  src="https://upload.wikimedia.org/wikipedia/commons/d/db/Npm-logo.svg"
106
113
  class="mw-techstack-logo"
107
114
  alt="NPM"
115
+ loading="lazy"
108
116
  />
109
117
  </a>
110
118
  </div>
@@ -118,6 +126,7 @@
118
126
  src="https://upload.wikimedia.org/wikipedia/commons/a/a7/React-icon.svg"
119
127
  class="mw-techstack-logo"
120
128
  alt="React"
129
+ loading="lazy"
121
130
  />
122
131
  <div class="mw-techstack-info">
123
132
  <span class="mw-techstack-name">React</span>
@@ -128,6 +137,7 @@
128
137
  src="https://upload.wikimedia.org/wikipedia/commons/9/95/Vue.js_Logo_2.svg"
129
138
  class="mw-techstack-logo"
130
139
  alt="Vue"
140
+ loading="lazy"
131
141
  />
132
142
  <div class="mw-techstack-info">
133
143
  <span class="mw-techstack-name">Vue.js</span>
@@ -138,6 +148,7 @@
138
148
  src="https://upload.wikimedia.org/wikipedia/commons/d/d5/Tailwind_CSS_Logo.svg"
139
149
  class="mw-techstack-logo"
140
150
  alt="Tailwind"
151
+ loading="lazy"
141
152
  />
142
153
  <div class="mw-techstack-info">
143
154
  <span class="mw-techstack-name">Tailwind</span>
@@ -154,6 +165,7 @@
154
165
  src="https://upload.wikimedia.org/wikipedia/commons/d/d5/Rust_programming_language_black_logo.svg"
155
166
  class="mw-techstack-logo"
156
167
  alt="Rust"
168
+ loading="lazy"
157
169
  />
158
170
  <div class="mw-techstack-info">
159
171
  <span class="mw-techstack-name">Rust</span>
@@ -164,6 +176,7 @@
164
176
  src="https://upload.wikimedia.org/wikipedia/commons/c/c3/Python-logo-notext.svg"
165
177
  class="mw-techstack-logo"
166
178
  alt="Python"
179
+ loading="lazy"
167
180
  />
168
181
  <div class="mw-techstack-info">
169
182
  <span class="mw-techstack-name">Python</span>
@@ -69,7 +69,11 @@
69
69
  <div class="mw-tiles mw-tiles-2col">
70
70
  <div class="mw-tile">
71
71
  <div class="mw-tile-img">
72
- <img src="images/tile-ecommerce.svg" alt="E-commerce platform" />
72
+ <img
73
+ src="images/tile-ecommerce.svg"
74
+ alt="E-commerce platform"
75
+ loading="lazy"
76
+ />
73
77
  </div>
74
78
  <h3 class="mw-tile-header">E-commerce Platform</h3>
75
79
  <div class="mw-tile-body">
@@ -81,7 +85,11 @@
81
85
 
82
86
  <div class="mw-tile">
83
87
  <div class="mw-tile-img">
84
- <img src="images/tile-marketing.svg" alt="Marketing automation" />
88
+ <img
89
+ src="images/tile-marketing.svg"
90
+ alt="Marketing automation"
91
+ loading="lazy"
92
+ />
85
93
  </div>
86
94
  <h3 class="mw-tile-header">Marketing Automation</h3>
87
95
  <div class="mw-tile-body">
@@ -175,7 +183,11 @@
175
183
  <div class="mw-tiles">
176
184
  <div class="mw-tile mw-tile-lg">
177
185
  <div class="mw-tile-img">
178
- <img src="images/tile-cloud.svg" alt="Cloud infrastructure" />
186
+ <img
187
+ src="images/tile-cloud.svg"
188
+ alt="Cloud infrastructure"
189
+ loading="lazy"
190
+ />
179
191
  </div>
180
192
  <h2 class="mw-tile-header">Cloud Infrastructure</h2>
181
193
  <div class="mw-tile-body">
@@ -192,7 +204,11 @@
192
204
 
193
205
  <div class="mw-tile mw-tile-lg">
194
206
  <div class="mw-tile-img">
195
- <img src="images/tile-analytics.svg" alt="Business intelligence" />
207
+ <img
208
+ src="images/tile-analytics.svg"
209
+ alt="Business intelligence"
210
+ loading="lazy"
211
+ />
196
212
  </div>
197
213
  <h2 class="mw-tile-header">Business Intelligence Suite</h2>
198
214
  <div class="mw-tile-body">
@@ -210,14 +226,15 @@
210
226
 
211
227
  <div class="mw-tile mw-tile-lg">
212
228
  <div class="mw-tile-img">
213
- <img src="images/tile-enterprise.svg" alt="Enterprise solutions" />
229
+ <img
230
+ src="images/tile-enterprise.svg"
231
+ alt="Enterprise solutions"
232
+ loading="lazy"
233
+ />
214
234
  </div>
215
235
  <h2 class="mw-tile-header">Enterprise Solutions</h2>
216
236
  <div class="mw-tile-body">
217
- <p>
218
- Comprehensive business management platform with CRM, ERP, and
219
- workflow automation
220
- </p>
237
+ <p>One platform for CRM, ERP and workflow automation</p>
221
238
  <p>
222
239
  Custom integrations and dedicated support for enterprise-level
223
240
  requirements
@@ -7,13 +7,14 @@
7
7
 
8
8
  <div class="mw-grid-2-lg">
9
9
  <div>
10
+ <!-- A type specimen, not an outline - the scale stays, the heading semantics go -->
10
11
  <div>
11
- <h1>Heading 1</h1>
12
- <h2>Heading 2</h2>
13
- <h3>Heading 3</h3>
14
- <h4>Heading 4</h4>
15
- <h5>Heading 5</h5>
16
- <h6>Heading 6</h6>
12
+ <h1 role="presentation">Heading 1</h1>
13
+ <h2 role="presentation">Heading 2</h2>
14
+ <h3 role="presentation">Heading 3</h3>
15
+ <h4 role="presentation">Heading 4</h4>
16
+ <h5 role="presentation">Heading 5</h5>
17
+ <h6 role="presentation">Heading 6</h6>
17
18
  </div>
18
19
  <blockquote>
19
20
  In the complex world of code, simplicity is the ultimate sophistication.