maverick-wave 3.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/commands/mw.md +580 -0
- package/.claude/settings.local.json +11 -0
- package/.idea/codeStyles/Project.xml +59 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/maverick-wave.iml +12 -0
- package/.idea/modules.xml +8 -0
- package/.idea/prettier.xml +6 -0
- package/.idea/vcs.xml +6 -0
- package/.prettierignore +6 -0
- package/.prettierrc.json +7 -0
- package/CHANGELOG.md +420 -0
- package/CLAUDE.md +53 -0
- package/LICENSE +21 -0
- package/README.md +191 -0
- package/gulpfile.js +158 -0
- package/index.html +472 -0
- package/maverick-wave.min.css +1 -0
- package/maverick-wave.min.js +1 -0
- package/package.json +52 -0
- package/release.sh +17 -0
- package/src/assets/favicon/android-chrome-192x192.png +0 -0
- package/src/assets/favicon/android-chrome-512x512.png +0 -0
- package/src/assets/favicon/apple-touch-icon.png +0 -0
- package/src/assets/favicon/favicon-16x16.png +0 -0
- package/src/assets/favicon/favicon-32x32.png +0 -0
- package/src/assets/favicon/site.webmanifest +1 -0
- package/src/assets/favicon.ico +0 -0
- package/src/assets/header-logo.svg +24 -0
- package/src/js/main.js +587 -0
- package/src/partials/accordions-container.html +163 -0
- package/src/partials/alerts-container.html +120 -0
- package/src/partials/avatars-container.html +84 -0
- package/src/partials/blog-posts-container.html +157 -0
- package/src/partials/breadcrumbs-container.html +126 -0
- package/src/partials/button-bar-container.html +168 -0
- package/src/partials/buttons-container.html +133 -0
- package/src/partials/cards-container.html +508 -0
- package/src/partials/code-container.html +194 -0
- package/src/partials/colors-container.html +125 -0
- package/src/partials/coming-soon-container.html +6 -0
- package/src/partials/content-slider-container.html +47 -0
- package/src/partials/divider-container.html +52 -0
- package/src/partials/documentation-container.html +161 -0
- package/src/partials/empty-state-container.html +74 -0
- package/src/partials/footer-container.html +113 -0
- package/src/partials/form-container.html +257 -0
- package/src/partials/form-elements-container.html +595 -0
- package/src/partials/form-field-container.html +141 -0
- package/src/partials/gallery-container.html +49 -0
- package/src/partials/get-started-container.html +294 -0
- package/src/partials/grid-container.html +171 -0
- package/src/partials/header-container.html +49 -0
- package/src/partials/header-utilities-container.html +80 -0
- package/src/partials/home-container.html +48 -0
- package/src/partials/html-lists-container.html +58 -0
- package/src/partials/info-container.html +87 -0
- package/src/partials/input-group-container.html +285 -0
- package/src/partials/item-lists-container.html +413 -0
- package/src/partials/login-container.html +61 -0
- package/src/partials/meta-info-container.html +16 -0
- package/src/partials/modals-container.html +136 -0
- package/src/partials/pagination-container.html +27 -0
- package/src/partials/panels-container.html +196 -0
- package/src/partials/progress-container.html +226 -0
- package/src/partials/ratings-container.html +104 -0
- package/src/partials/skeleton-container.html +82 -0
- package/src/partials/spinners-container.html +92 -0
- package/src/partials/stepper-container.html +107 -0
- package/src/partials/tables-container.html +120 -0
- package/src/partials/tabs-container.html +263 -0
- package/src/partials/tags-container.html +168 -0
- package/src/partials/techstack-bucket-container.html +174 -0
- package/src/partials/tiles-container.html +245 -0
- package/src/partials/timelines-container.html +196 -0
- package/src/partials/typography-container.html +66 -0
- package/src/partials/utilities-container.html +85 -0
- package/src/scss/abstracts/_functions.scss +37 -0
- package/src/scss/abstracts/_index.scss +3 -0
- package/src/scss/abstracts/_mixins.scss +45 -0
- package/src/scss/abstracts/_variables.scss +222 -0
- package/src/scss/base/_base.scss +165 -0
- package/src/scss/base/_index.scss +3 -0
- package/src/scss/base/_reset.scss +75 -0
- package/src/scss/base/_typography.scss +230 -0
- package/src/scss/components/_accordions.scss +91 -0
- package/src/scss/components/_alerts.scss +105 -0
- package/src/scss/components/_avatars.scss +123 -0
- package/src/scss/components/_blog-post.scss +268 -0
- package/src/scss/components/_breadcrumbs.scss +108 -0
- package/src/scss/components/_button-bar.scss +139 -0
- package/src/scss/components/_buttons.scss +164 -0
- package/src/scss/components/_cards.scss +316 -0
- package/src/scss/components/_code.scss +252 -0
- package/src/scss/components/_coming-soon.scss +92 -0
- package/src/scss/components/_content-slider.scss +119 -0
- package/src/scss/components/_divider.scss +70 -0
- package/src/scss/components/_empty-state.scss +73 -0
- package/src/scss/components/_gallery.scss +158 -0
- package/src/scss/components/_index.scss +33 -0
- package/src/scss/components/_info.scss +143 -0
- package/src/scss/components/_lists.scss +653 -0
- package/src/scss/components/_localhost-indicator.scss +29 -0
- package/src/scss/components/_meta-info.scss +34 -0
- package/src/scss/components/_modals.scss +118 -0
- package/src/scss/components/_pagination.scss +99 -0
- package/src/scss/components/_panels.scss +112 -0
- package/src/scss/components/_progress.scss +107 -0
- package/src/scss/components/_ratings.scss +47 -0
- package/src/scss/components/_skeleton.scss +90 -0
- package/src/scss/components/_spinners.scss +208 -0
- package/src/scss/components/_stepper.scss +145 -0
- package/src/scss/components/_tables.scss +127 -0
- package/src/scss/components/_tabs.scss +146 -0
- package/src/scss/components/_tags.scss +93 -0
- package/src/scss/components/_techstack-bucket.scss +145 -0
- package/src/scss/components/_theme-toggle.scss +50 -0
- package/src/scss/components/_tiles.scss +217 -0
- package/src/scss/components/_timelines.scss +339 -0
- package/src/scss/form-elements/_checkbox.scss +174 -0
- package/src/scss/form-elements/_form.scss +122 -0
- package/src/scss/form-elements/_index.scss +10 -0
- package/src/scss/form-elements/_input-group.scss +103 -0
- package/src/scss/form-elements/_input.scss +72 -0
- package/src/scss/form-elements/_login.scss +62 -0
- package/src/scss/form-elements/_radio.scss +144 -0
- package/src/scss/form-elements/_select.scss +56 -0
- package/src/scss/form-elements/_slider.scss +174 -0
- package/src/scss/form-elements/_textarea.scss +74 -0
- package/src/scss/form-elements/_toggle.scss +174 -0
- package/src/scss/layout/_footer.scss +214 -0
- package/src/scss/layout/_grid.scss +287 -0
- package/src/scss/layout/_header.scss +441 -0
- package/src/scss/layout/_home.scss +40 -0
- package/src/scss/layout/_index.scss +6 -0
- package/src/scss/layout/_main.scss +116 -0
- package/src/scss/layout/_section.scss +89 -0
- package/src/scss/main.scss +5 -0
- package/src/scss/utilities/_display.scss +35 -0
- package/src/scss/utilities/_flex.scss +66 -0
- package/src/scss/utilities/_index.scss +3 -0
- package/src/scss/utilities/_spacing.scss +78 -0
package/.prettierignore
ADDED
package/.prettierrc.json
ADDED
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,420 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
Patch releases are only for test purposes - here I only document major and minor releases.
|
|
5
|
+
|
|
6
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
7
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
8
|
+
|
|
9
|
+
## [3.0.0] - 2026-04-04
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- started now with claude code integration
|
|
14
|
+
- some additional components and form elements
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- some minor fixes found by claude code
|
|
19
|
+
|
|
20
|
+
## [2.36.0] - 2026-03-24
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
|
|
24
|
+
- removed tooltip directive cursor
|
|
25
|
+
|
|
26
|
+
## [2.35.0] - 2026-03-24
|
|
27
|
+
|
|
28
|
+
### Added
|
|
29
|
+
|
|
30
|
+
- new mini info
|
|
31
|
+
|
|
32
|
+
## [2.34.0] - 2026-03-23
|
|
33
|
+
|
|
34
|
+
### Added
|
|
35
|
+
|
|
36
|
+
- new mini-buttons
|
|
37
|
+
- changed alert and tag "x" to new mini-button
|
|
38
|
+
|
|
39
|
+
## [2.33.0] - 2026-02-24
|
|
40
|
+
|
|
41
|
+
### Fixed
|
|
42
|
+
|
|
43
|
+
- timeline dates cursor
|
|
44
|
+
|
|
45
|
+
## [2.32.0] - 2026-02-24
|
|
46
|
+
|
|
47
|
+
### Changed
|
|
48
|
+
|
|
49
|
+
- some small updates
|
|
50
|
+
|
|
51
|
+
## [2.31.0] - 2026-01-30
|
|
52
|
+
|
|
53
|
+
### Changed
|
|
54
|
+
|
|
55
|
+
- use of global z-index function
|
|
56
|
+
|
|
57
|
+
## [2.30.0] - 2026-01-29
|
|
58
|
+
|
|
59
|
+
### Fixed
|
|
60
|
+
|
|
61
|
+
- status background colors
|
|
62
|
+
- alert backgrounds
|
|
63
|
+
|
|
64
|
+
## [2.29.0] - 2026-01-29
|
|
65
|
+
|
|
66
|
+
### Changed
|
|
67
|
+
|
|
68
|
+
- simple timeline date
|
|
69
|
+
- global spacing 7 and 8
|
|
70
|
+
|
|
71
|
+
## [2.28.0] - 2026-01-28
|
|
72
|
+
|
|
73
|
+
### Changed
|
|
74
|
+
|
|
75
|
+
- alerts rework
|
|
76
|
+
|
|
77
|
+
## [2.27.0] - 2026-01-28
|
|
78
|
+
|
|
79
|
+
### Added
|
|
80
|
+
|
|
81
|
+
- tags rework
|
|
82
|
+
|
|
83
|
+
### Changed
|
|
84
|
+
|
|
85
|
+
- modal sizes
|
|
86
|
+
- checkbox inline group spacing
|
|
87
|
+
|
|
88
|
+
## [2.26.0] - 2026-01-26
|
|
89
|
+
|
|
90
|
+
### Added
|
|
91
|
+
|
|
92
|
+
- text in danger color
|
|
93
|
+
|
|
94
|
+
## [2.25.0] - 2025-12-31
|
|
95
|
+
|
|
96
|
+
### Fixed
|
|
97
|
+
|
|
98
|
+
- reverted status color background names
|
|
99
|
+
|
|
100
|
+
## [2.24.0] - 2025-12-31
|
|
101
|
+
|
|
102
|
+
### Fixed
|
|
103
|
+
|
|
104
|
+
- reverted status color background names
|
|
105
|
+
|
|
106
|
+
## [2.23.0] - 2025-12-31
|
|
107
|
+
|
|
108
|
+
### Changed
|
|
109
|
+
|
|
110
|
+
- gallery container with max-width
|
|
111
|
+
|
|
112
|
+
## [2.22.0] - 2025-12-31
|
|
113
|
+
|
|
114
|
+
### Changed
|
|
115
|
+
|
|
116
|
+
- container width
|
|
117
|
+
- status color background names
|
|
118
|
+
|
|
119
|
+
### Added
|
|
120
|
+
|
|
121
|
+
- Techstack Buckets
|
|
122
|
+
|
|
123
|
+
## [2.21.0] - 2025-12-26
|
|
124
|
+
|
|
125
|
+
### Added
|
|
126
|
+
|
|
127
|
+
- Cards title divider
|
|
128
|
+
|
|
129
|
+
## [2.20.0] - 2025-12-22
|
|
130
|
+
|
|
131
|
+
### Added
|
|
132
|
+
|
|
133
|
+
- Events (certificates for example) for the big timeline
|
|
134
|
+
|
|
135
|
+
## [2.19.0] - 2025-12-10
|
|
136
|
+
|
|
137
|
+
### Added
|
|
138
|
+
|
|
139
|
+
- Tooltip
|
|
140
|
+
|
|
141
|
+
## [2.18.0] - 2025-12-08
|
|
142
|
+
|
|
143
|
+
### Added
|
|
144
|
+
|
|
145
|
+
- active marker for timelines
|
|
146
|
+
- function for font-weights
|
|
147
|
+
|
|
148
|
+
## [2.17.0] - 2025-07-16
|
|
149
|
+
|
|
150
|
+
### Added
|
|
151
|
+
|
|
152
|
+
- selectable item-list with checkboxes
|
|
153
|
+
|
|
154
|
+
### Fixed
|
|
155
|
+
|
|
156
|
+
- sizing on gallery
|
|
157
|
+
|
|
158
|
+
## [2.16.0] - 2025-07-07
|
|
159
|
+
|
|
160
|
+
### Fixed
|
|
161
|
+
|
|
162
|
+
- some spacing
|
|
163
|
+
- icons
|
|
164
|
+
|
|
165
|
+
## [2.15.0] - 2025-07-01
|
|
166
|
+
|
|
167
|
+
### Fixed
|
|
168
|
+
|
|
169
|
+
- tiles spacing
|
|
170
|
+
|
|
171
|
+
## [2.14.0] - 2025-07-01
|
|
172
|
+
|
|
173
|
+
### Added
|
|
174
|
+
|
|
175
|
+
- breadcrumbs
|
|
176
|
+
- tiles
|
|
177
|
+
|
|
178
|
+
### Fixed
|
|
179
|
+
|
|
180
|
+
- main centering
|
|
181
|
+
|
|
182
|
+
## [2.13.0] - 2025-06-30
|
|
183
|
+
|
|
184
|
+
### Fixed
|
|
185
|
+
|
|
186
|
+
- burger button without theme toggle
|
|
187
|
+
|
|
188
|
+
## [2.12.0] - 2025-06-30
|
|
189
|
+
|
|
190
|
+
### Fixed
|
|
191
|
+
|
|
192
|
+
- simple timeline content
|
|
193
|
+
|
|
194
|
+
## [2.11.0] - 2025-06-30
|
|
195
|
+
|
|
196
|
+
### Fixed
|
|
197
|
+
|
|
198
|
+
- home centering
|
|
199
|
+
|
|
200
|
+
## [2.10.0] - 2025-06-30
|
|
201
|
+
|
|
202
|
+
### Fixed
|
|
203
|
+
|
|
204
|
+
- login width
|
|
205
|
+
- main / home / content styles
|
|
206
|
+
|
|
207
|
+
## [2.9.0] - 2025-06-30
|
|
208
|
+
|
|
209
|
+
### Added
|
|
210
|
+
|
|
211
|
+
- login info text
|
|
212
|
+
|
|
213
|
+
### Fixed
|
|
214
|
+
|
|
215
|
+
- login width
|
|
216
|
+
- content height
|
|
217
|
+
|
|
218
|
+
## [2.8.0] - 2025-06-27
|
|
219
|
+
|
|
220
|
+
### Fixed
|
|
221
|
+
|
|
222
|
+
- smooth scrolling offset
|
|
223
|
+
|
|
224
|
+
## [2.7.0] - 2025-06-27
|
|
225
|
+
|
|
226
|
+
### Added
|
|
227
|
+
|
|
228
|
+
- content slider (image slider)
|
|
229
|
+
- buttons active state
|
|
230
|
+
|
|
231
|
+
## [2.6.0] - 2025-06-25
|
|
232
|
+
|
|
233
|
+
### Added
|
|
234
|
+
|
|
235
|
+
- alternate section with css pattern
|
|
236
|
+
|
|
237
|
+
## [2.5.0] - 2025-06-18
|
|
238
|
+
|
|
239
|
+
### Added
|
|
240
|
+
|
|
241
|
+
- button bar
|
|
242
|
+
|
|
243
|
+
## [2.4.0] - 2025-06-10
|
|
244
|
+
|
|
245
|
+
### Fixed
|
|
246
|
+
|
|
247
|
+
- login button (click and disabled)
|
|
248
|
+
|
|
249
|
+
## [2.3.0] - 2025-06-10
|
|
250
|
+
|
|
251
|
+
### Fixed
|
|
252
|
+
|
|
253
|
+
- header navbar
|
|
254
|
+
|
|
255
|
+
## [2.2.0] - 2025-06-10
|
|
256
|
+
|
|
257
|
+
### Changed
|
|
258
|
+
|
|
259
|
+
- header navbar with login button
|
|
260
|
+
|
|
261
|
+
## [2.1.0] - 2025-06-09
|
|
262
|
+
|
|
263
|
+
### Fixed
|
|
264
|
+
|
|
265
|
+
- grid spacing
|
|
266
|
+
|
|
267
|
+
## [2.0.0] - 2025-06-09
|
|
268
|
+
|
|
269
|
+
### Added
|
|
270
|
+
|
|
271
|
+
- big update
|
|
272
|
+
- modals
|
|
273
|
+
- pagination
|
|
274
|
+
- item lists
|
|
275
|
+
- form and form-elements
|
|
276
|
+
- different flex grid ratios
|
|
277
|
+
|
|
278
|
+
### Changes
|
|
279
|
+
|
|
280
|
+
- sizing sizing sizing
|
|
281
|
+
- complete grid rework
|
|
282
|
+
- progress bars update
|
|
283
|
+
|
|
284
|
+
## [1.21.0] - 2025-05-23
|
|
285
|
+
|
|
286
|
+
### Changed
|
|
287
|
+
|
|
288
|
+
- counters to info as badges or counters
|
|
289
|
+
|
|
290
|
+
## [1.20.0] - 2025-05-23
|
|
291
|
+
|
|
292
|
+
### Changed
|
|
293
|
+
|
|
294
|
+
- reworked allerts
|
|
295
|
+
|
|
296
|
+
## [1.19.0] - 2025-05-22
|
|
297
|
+
|
|
298
|
+
### Added
|
|
299
|
+
|
|
300
|
+
- badge for cards
|
|
301
|
+
- ribbon for cards
|
|
302
|
+
|
|
303
|
+
### Changed
|
|
304
|
+
|
|
305
|
+
- text-secondary to text-muted
|
|
306
|
+
- Spacing within cards
|
|
307
|
+
- color variants in components as loop
|
|
308
|
+
|
|
309
|
+
## [1.18.0] - 2025-05-22
|
|
310
|
+
|
|
311
|
+
### Changed
|
|
312
|
+
|
|
313
|
+
- spacing in many components
|
|
314
|
+
- header logo as svg
|
|
315
|
+
- some stuff in new timeline components
|
|
316
|
+
|
|
317
|
+
## [1.17.0] - 2025-05-21
|
|
318
|
+
|
|
319
|
+
### Added
|
|
320
|
+
|
|
321
|
+
- timeline components
|
|
322
|
+
|
|
323
|
+
## [1.16.0] - 2025-05-20
|
|
324
|
+
|
|
325
|
+
### Changed
|
|
326
|
+
|
|
327
|
+
- sizes of the loading spinner
|
|
328
|
+
|
|
329
|
+
## [1.15.0] - 2025-05-14
|
|
330
|
+
|
|
331
|
+
### Fixed
|
|
332
|
+
|
|
333
|
+
- spacing of mw-content
|
|
334
|
+
- spacing and elements of mw-blog-post
|
|
335
|
+
- spacing of tags
|
|
336
|
+
|
|
337
|
+
## [1.14.0] - 2025-05-14
|
|
338
|
+
|
|
339
|
+
### Added
|
|
340
|
+
|
|
341
|
+
- rating component
|
|
342
|
+
|
|
343
|
+
## [1.13.0] - 2025-05-13
|
|
344
|
+
|
|
345
|
+
### Fixed
|
|
346
|
+
|
|
347
|
+
- login form width
|
|
348
|
+
|
|
349
|
+
## [1.12.0] - 2025-05-13
|
|
350
|
+
|
|
351
|
+
### Changed
|
|
352
|
+
|
|
353
|
+
- login form
|
|
354
|
+
|
|
355
|
+
## [1.11.0] - 2025-05-13
|
|
356
|
+
|
|
357
|
+
### Fixed
|
|
358
|
+
|
|
359
|
+
- removed text-align center from new mw-content
|
|
360
|
+
|
|
361
|
+
## [1.10.0] - 2025-05-13
|
|
362
|
+
|
|
363
|
+
### Changed
|
|
364
|
+
|
|
365
|
+
- main and home parts and added hero with full-size background image
|
|
366
|
+
- changed some little styles
|
|
367
|
+
|
|
368
|
+
## [1.9.0] - 2025-05-05
|
|
369
|
+
|
|
370
|
+
### Added
|
|
371
|
+
|
|
372
|
+
- card subtitle
|
|
373
|
+
|
|
374
|
+
### Changed
|
|
375
|
+
|
|
376
|
+
- some color and size adjustments
|
|
377
|
+
|
|
378
|
+
## [1.8.0] - 2025-05-03
|
|
379
|
+
|
|
380
|
+
### Fixed
|
|
381
|
+
|
|
382
|
+
- too small font-size on blog-post
|
|
383
|
+
|
|
384
|
+
## [1.7.0] - 2025-05-03
|
|
385
|
+
|
|
386
|
+
### Changed
|
|
387
|
+
|
|
388
|
+
- home section
|
|
389
|
+
- all "@media" to "@include"
|
|
390
|
+
|
|
391
|
+
## [1.6.0] - 2025-05-03
|
|
392
|
+
|
|
393
|
+
### Fixed
|
|
394
|
+
|
|
395
|
+
- multiple font-family variables
|
|
396
|
+
|
|
397
|
+
## [1.5.0] - 2025-05-02
|
|
398
|
+
|
|
399
|
+
### Fixed
|
|
400
|
+
|
|
401
|
+
- wrong mapping of the text color on primary or secondary elements
|
|
402
|
+
|
|
403
|
+
## [1.4.0] - 2025-05-02
|
|
404
|
+
|
|
405
|
+
### Added
|
|
406
|
+
|
|
407
|
+
- new color variables for text on primary or secondary elements
|
|
408
|
+
- new color variables for the fixed header/navbar
|
|
409
|
+
- CHANGELOG.md
|
|
410
|
+
|
|
411
|
+
### Changed
|
|
412
|
+
|
|
413
|
+
- updated complete header and navbar
|
|
414
|
+
- ol/ul-list margin in the blog-post
|
|
415
|
+
|
|
416
|
+
## [1.3.0] - 2025-04-30
|
|
417
|
+
|
|
418
|
+
### Added
|
|
419
|
+
|
|
420
|
+
- let's say "initial release"
|
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
+
|
|
5
|
+
## Project Overview
|
|
6
|
+
|
|
7
|
+
MaverickWave is a lightweight, modern CSS framework providing a grid system, 25+ UI components, utility classes, and light/dark mode support. The repo also contains the showcase/documentation website bundled into the distribution.
|
|
8
|
+
|
|
9
|
+
## Commands
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm start # Build + watch for changes (development)
|
|
13
|
+
npm run build # Clean dist, then full build
|
|
14
|
+
npm run showcase # Serve built dist on http://localhost:8888
|
|
15
|
+
npm run clean # Remove dist/ and root maverick-wave.{css,js}
|
|
16
|
+
npm run format # Format all SCSS, JS, JSON, HTML, MD with Prettier
|
|
17
|
+
npm run release # Build non-minified maverick-wave.{css,js} in project root
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
There are no test or lint scripts.
|
|
21
|
+
|
|
22
|
+
## Architecture
|
|
23
|
+
|
|
24
|
+
**Build pipeline** — `gulpfile.js` orchestrates everything: SCSS compilation (autoprefixed, minified), JS minification via Terser, HTML templating via `gulp-file-include`, asset copying, and build-info injection (`{{VERSION}}`, `{{LAST_BUILD_DATE}}`, `{{LAST_BUILD_YEAR}}` placeholders replaced in HTML at build time).
|
|
25
|
+
|
|
26
|
+
**SCSS layers** (`src/scss/`) follow an ITCSS-inspired structure:
|
|
27
|
+
|
|
28
|
+
- `abstracts/` — CSS custom properties, mixins, SCSS functions (color variant generation)
|
|
29
|
+
- `base/` — Reset, element defaults, typography
|
|
30
|
+
- `components/` — Self-contained component styles (25+ files, one per component)
|
|
31
|
+
- `form-elements/` — Form input/select/checkbox-specific styles
|
|
32
|
+
- `layout/` — Grid, container, header/footer, section
|
|
33
|
+
- `utilities/` — Spacing, flex, display utility classes
|
|
34
|
+
- `main.scss` — Entry point using `@use`/`@forward` (not `@import`)
|
|
35
|
+
|
|
36
|
+
**JavaScript** (`src/js/main.js`) — Single file. All components auto-initialize on `DOMContentLoaded`. Includes: gallery slider, theme toggle (persisted to localStorage), accordion, mobile nav, progress bar (IntersectionObserver), scroll spy, tabs, alerts/toasts, modals, range inputs.
|
|
37
|
+
|
|
38
|
+
**HTML showcase** (`index.html` + `src/partials/`) — The top-level `index.html` uses `@@include()` syntax to pull in 40+ partials from `src/partials/`. These compile into `dist/index.html`.
|
|
39
|
+
|
|
40
|
+
## Naming Conventions
|
|
41
|
+
|
|
42
|
+
- **CSS classes**: `mw-` prefix for all framework classes (`.mw-button`, `.mw-card`, `.mw-modal`)
|
|
43
|
+
- **State classes**: `.mw-active`, `.mw-selected`
|
|
44
|
+
- **CSS custom properties**: `--mw-` prefix (`--mw-primary-color`, `--mw-font-family-base`)
|
|
45
|
+
- **Theme control**: `--mw-internal-theme-mode` CSS var controls whether theme is switchable/fixed-light/fixed-dark; body class `mw-theme-light` toggles light mode
|
|
46
|
+
|
|
47
|
+
## Code Formatting
|
|
48
|
+
|
|
49
|
+
Prettier is the single formatter. Config (`.prettierrc.json`): single quotes, 80-char print width, 2-space tabs, semicolons, trailing commas (ES5). Run `npm run format` before committing.
|
|
50
|
+
|
|
51
|
+
## Commit Convention
|
|
52
|
+
|
|
53
|
+
Follows Conventional Commits: `feat:`, `fix:`, `release:`, etc.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Michael Wellner
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# MaverickWave
|
|
2
|
+
|
|
3
|
+
A lightweight, modern CSS framework for building responsive websites with elegance and speed. MaverickWave provides a clean foundation suitable for projects ranging from personal portfolios to corporate websites and e-commerce platforms.
|
|
4
|
+
|
|
5
|
+
While AI tools helped kickstart the development of some components and provided initial structure, approximately 80% of the codebase required manual refinement and customization. The framework has been meticulously crafted to ensure:
|
|
6
|
+
|
|
7
|
+
- Consistent implementation of custom variables throughout the system
|
|
8
|
+
- Proper integration between components and logical SCSS structure
|
|
9
|
+
- Optimized specificity and selector hierarchy
|
|
10
|
+
- Reliable responsive behavior across devices
|
|
11
|
+
- Built-in dark mode support and accessibility considerations
|
|
12
|
+
|
|
13
|
+
The result is a framework that balances utility with simplicity, offering developers a solid foundation that can be easily customized.
|
|
14
|
+
|
|
15
|
+
➡️ [**View the Live Showcase & Documentation**](https://maverick-wave.m1well.com)
|
|
16
|
+
|
|
17
|
+
## Features
|
|
18
|
+
|
|
19
|
+
- Responsive Grid System
|
|
20
|
+
- 30+ UI Components: Buttons, Cards, Panels, Tabs, Accordions, Modals, Tiles, Alerts, Spinners, Progress Bars, Avatars, Tags, Ratings, Stepper, Skeleton Loader, Empty State, Divider, and more
|
|
21
|
+
- Form Elements: Input, Select, Textarea, Checkbox, Radio, Toggle, Input Group, with `mw-field` wrapper pattern for Angular Reactive Forms
|
|
22
|
+
- Utility Classes for spacing, flex, display, and typography
|
|
23
|
+
- Easy Customization via CSS Custom Properties
|
|
24
|
+
- Built-in Light & Dark Mode with optional theme switching
|
|
25
|
+
- SCSS Source Files for advanced customization (Dart Sass, `@use`/`@forward`)
|
|
26
|
+
- Minimal JavaScript footprint (single vanilla JS file, no dependencies)
|
|
27
|
+
|
|
28
|
+
## Installation & Usage
|
|
29
|
+
|
|
30
|
+
### 1. CDN (jsDelivr — GitHub)
|
|
31
|
+
|
|
32
|
+
```html
|
|
33
|
+
<!DOCTYPE html>
|
|
34
|
+
<html lang="en">
|
|
35
|
+
<head>
|
|
36
|
+
<meta charset="UTF-8" />
|
|
37
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
38
|
+
<title>My MaverickWave Project</title>
|
|
39
|
+
<link
|
|
40
|
+
rel="stylesheet"
|
|
41
|
+
href="https://cdn.jsdelivr.net/gh/m1well/maverick-wave@v2.36.1/maverick-wave.min.css"
|
|
42
|
+
/>
|
|
43
|
+
</head>
|
|
44
|
+
<body>
|
|
45
|
+
<!-- Your content here -->
|
|
46
|
+
|
|
47
|
+
<script src="https://cdn.jsdelivr.net/gh/m1well/maverick-wave@v2.36.1/maverick-wave.min.js"></script>
|
|
48
|
+
</body>
|
|
49
|
+
</html>
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Always pin to a specific version tag (e.g., `@v2.36.1`) in production for stability.
|
|
53
|
+
|
|
54
|
+
### 2. Direct Download
|
|
55
|
+
|
|
56
|
+
Download `maverick-wave.min.css` and `maverick-wave.min.js` from the [latest release](https://github.com/m1well/maverick-wave/releases) and include them manually:
|
|
57
|
+
|
|
58
|
+
```html
|
|
59
|
+
<link rel="stylesheet" href="path/to/maverick-wave.min.css" />
|
|
60
|
+
<script src="path/to/maverick-wave.min.js"></script>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Customization
|
|
64
|
+
|
|
65
|
+
### CSS Custom Properties
|
|
66
|
+
|
|
67
|
+
Override framework variables in your own stylesheet (load it **after** `maverick-wave.min.css`):
|
|
68
|
+
|
|
69
|
+
```css
|
|
70
|
+
:root {
|
|
71
|
+
--mw-primary-color: #your-brand-color;
|
|
72
|
+
--mw-secondary-color: #your-secondary-color;
|
|
73
|
+
--mw-dark-page-background: #1a1a2e;
|
|
74
|
+
--mw-dark-card-background: #2a2a4a;
|
|
75
|
+
--mw-font-family-base: 'Your Font Name', sans-serif;
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### SCSS Source
|
|
80
|
+
|
|
81
|
+
For full control, clone the repository and integrate `src/scss/main.scss` into your Sass build (Dart Sass required). MaverickWave uses modern `@use`/`@forward` syntax. Set your variable overrides before the `@use` statement:
|
|
82
|
+
|
|
83
|
+
```scss
|
|
84
|
+
// your styles.scss
|
|
85
|
+
|
|
86
|
+
// Optional: choose theme mode ('switchable' | 'dark' | 'light')
|
|
87
|
+
$mw-theme-mode: 'switchable';
|
|
88
|
+
|
|
89
|
+
// Override base colors
|
|
90
|
+
$primary-color: #e94560;
|
|
91
|
+
$secondary-color: #f39c12;
|
|
92
|
+
$dark-background: #1f1f2e;
|
|
93
|
+
$light-background: #f8f9fa;
|
|
94
|
+
|
|
95
|
+
// Import the framework
|
|
96
|
+
@use 'path/to/maverick-wave/src/scss/main';
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Angular Integration
|
|
100
|
+
|
|
101
|
+
Copy `maverick-wave.min.css` and `maverick-wave.min.js` into your Angular project (e.g. `src/assets/`) and reference them in `angular.json`:
|
|
102
|
+
|
|
103
|
+
```json
|
|
104
|
+
"styles": ["src/assets/maverick-wave.min.css", "src/styles.scss"],
|
|
105
|
+
"scripts": ["src/assets/maverick-wave.min.js"]
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
MaverickWave automatically styles Angular Reactive Forms state classes (`.ng-invalid.ng-touched`, `.ng-valid.ng-touched.ng-dirty`). Use the `mw-field` wrapper pattern:
|
|
109
|
+
|
|
110
|
+
```html
|
|
111
|
+
<div
|
|
112
|
+
class="mw-field"
|
|
113
|
+
[class.mw-field-has-error]="email.invalid && email.touched"
|
|
114
|
+
>
|
|
115
|
+
<label class="mw-field-label mw-required" for="email">Email</label>
|
|
116
|
+
<input id="email" type="email" class="mw-input" formControlName="email" />
|
|
117
|
+
<span class="mw-field-error" *ngIf="email.invalid && email.touched">
|
|
118
|
+
<i class="fas fa-exclamation-circle"></i> Please enter a valid email
|
|
119
|
+
address.
|
|
120
|
+
</span>
|
|
121
|
+
</div>
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Development
|
|
125
|
+
|
|
126
|
+
### Prerequisites
|
|
127
|
+
|
|
128
|
+
- Node.js v18 or newer
|
|
129
|
+
- npm
|
|
130
|
+
- Git
|
|
131
|
+
|
|
132
|
+
### Setup
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
git clone https://github.com/m1well/maverick-wave.git
|
|
136
|
+
cd maverick-wave
|
|
137
|
+
npm install
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Development Commands
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
npm run start # Start Gulp watcher (recompiles on changes)
|
|
144
|
+
npm run showcase # Serve the built dist/ on http://localhost:8888
|
|
145
|
+
npm run build # Full clean build → dist/
|
|
146
|
+
npm run format # Format all source files with Prettier
|
|
147
|
+
npm run release # Build non-minified release files to project root
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## Project Structure
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
maverick-wave/
|
|
154
|
+
├── dist/ # Compiled output (CSS, JS, HTML showcase)
|
|
155
|
+
├── src/
|
|
156
|
+
│ ├── assets/ # Logos, favicons
|
|
157
|
+
│ ├── js/ # JavaScript source (single file)
|
|
158
|
+
│ ├── partials/ # HTML partials for the showcase
|
|
159
|
+
│ └── scss/
|
|
160
|
+
│ ├── abstracts/ # Variables, mixins, functions
|
|
161
|
+
│ ├── base/ # Reset, typography
|
|
162
|
+
│ ├── components/ # Component styles (one file per component)
|
|
163
|
+
│ ├── form-elements/ # Input, select, checkbox, toggle, etc.
|
|
164
|
+
│ ├── layout/ # Grid, container, header, footer
|
|
165
|
+
│ ├── utilities/ # Spacing, flex, display helpers
|
|
166
|
+
│ └── main.scss # SCSS entry point
|
|
167
|
+
├── .claude/
|
|
168
|
+
│ └── commands/mw.md # Claude Code slash command for Angular projects
|
|
169
|
+
├── .prettierrc.json # Prettier configuration
|
|
170
|
+
├── gulpfile.js # Gulp tasks configuration
|
|
171
|
+
├── index.html # Showcase entry point
|
|
172
|
+
└── package.json
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## Contribution
|
|
176
|
+
|
|
177
|
+
Contributions are welcome!
|
|
178
|
+
|
|
179
|
+
1. Fork the repository.
|
|
180
|
+
2. Create a new branch for your feature or fix.
|
|
181
|
+
3. Make your changes and run `npm run format`.
|
|
182
|
+
4. Commit using Conventional Commits (e.g., `feat: add new component`).
|
|
183
|
+
5. Push and open a Pull Request.
|
|
184
|
+
|
|
185
|
+
## License
|
|
186
|
+
|
|
187
|
+
MIT License
|
|
188
|
+
|
|
189
|
+
## Author
|
|
190
|
+
|
|
191
|
+
Created by [m1well](https://m1well.com)
|