maverick-wave 5.30.0 → 5.32.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 (147) hide show
  1. package/README.md +2 -2
  2. package/maverick-wave.min.css +2 -2
  3. package/package.json +8 -2
  4. package/src/scss/abstracts/_variables.scss +2 -0
  5. package/src/scss/components/_modals.scss +23 -9
  6. package/src/scss/components/_testimonial.scss +2 -0
  7. package/src/scss/layout/_home.scss +46 -0
  8. package/src/scss/layout/_main.scss +20 -0
  9. package/src/scss/layout/_parallax.scss +2 -2
  10. package/src/scss/main-lean.scss +8 -3
  11. package/.claude/settings.local.json +0 -43
  12. package/.claude/skills/mw-maverick-wave/SKILL.md +0 -532
  13. package/.claude/skills/mw-maverick-wave/examples/angular-form.md +0 -279
  14. package/.claude/skills/mw-maverick-wave/examples/angular-list-page.md +0 -309
  15. package/.claude/skills/mw-maverick-wave/examples/angular-services.md +0 -538
  16. package/.claude/skills/mw-maverick-wave/examples/static-landing-page.md +0 -530
  17. package/.claude/skills/mw-maverick-wave/references/components.md +0 -2170
  18. package/.claude/skills/mw-maverick-wave/references/forms.md +0 -358
  19. package/.claude/skills/mw-maverick-wave/references/javascript.md +0 -164
  20. package/.claude/skills/mw-maverick-wave/references/layout.md +0 -764
  21. package/.claude/skills/mw-maverick-wave/references/theming.md +0 -530
  22. package/.github/workflows/ci.yml +0 -41
  23. package/.idea/codeStyles/Project.xml +0 -59
  24. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  25. package/.idea/maverick-wave.iml +0 -12
  26. package/.idea/modules.xml +0 -8
  27. package/.idea/prettier.xml +0 -6
  28. package/.idea/vcs.xml +0 -6
  29. package/.prettierignore +0 -8
  30. package/.prettierrc.json +0 -7
  31. package/CHANGELOG.md +0 -956
  32. package/CLAUDE.md +0 -60
  33. package/gulpfile.js +0 -167
  34. package/index.html +0 -1730
  35. package/release.sh +0 -31
  36. package/scripts/verify.js +0 -252
  37. package/src/assets/favicon/apple-touch-icon.png +0 -0
  38. package/src/assets/favicon/favicon-96x96.png +0 -0
  39. package/src/assets/favicon/favicon.svg +0 -1
  40. package/src/assets/favicon/site.webmanifest +0 -37
  41. package/src/assets/favicon/web-app-manifest-192x192.png +0 -0
  42. package/src/assets/favicon/web-app-manifest-512x512.png +0 -0
  43. package/src/assets/favicon.ico +0 -0
  44. package/src/assets/header-logo.svg +0 -24
  45. package/src/assets/images/gallery-city.svg +0 -49
  46. package/src/assets/images/gallery-desert.svg +0 -25
  47. package/src/assets/images/gallery-forest.svg +0 -46
  48. package/src/assets/images/gallery-lake.svg +0 -26
  49. package/src/assets/images/gallery-mountain.svg +0 -19
  50. package/src/assets/images/gallery-ocean.svg +0 -26
  51. package/src/assets/images/gallery-oldtown.svg +0 -41
  52. package/src/assets/images/gallery-snow.svg +0 -39
  53. package/src/assets/images/photo-balloon.svg +0 -35
  54. package/src/assets/images/photo-forest-path.svg +0 -31
  55. package/src/assets/images/photo-lighthouse.svg +0 -42
  56. package/src/assets/images/photo-palm.svg +0 -27
  57. package/src/assets/images/photo-peak.svg +0 -27
  58. package/src/assets/images/photo-tower.svg +0 -34
  59. package/src/assets/images/photo-waterfall.svg +0 -32
  60. package/src/assets/images/slider-field.svg +0 -124
  61. package/src/assets/images/slider-forest.svg +0 -33
  62. package/src/assets/images/slider-lake.svg +0 -35
  63. package/src/assets/images/slider-mountains.svg +0 -29
  64. package/src/assets/images/slider-trees.svg +0 -41
  65. package/src/assets/images/story-aurora.svg +0 -36
  66. package/src/assets/images/story-beach.svg +0 -34
  67. package/src/assets/images/story-stars.svg +0 -35
  68. package/src/assets/images/tile-analytics.svg +0 -22
  69. package/src/assets/images/tile-cloud.svg +0 -19
  70. package/src/assets/images/tile-ecommerce.svg +0 -14
  71. package/src/assets/images/tile-enterprise.svg +0 -22
  72. package/src/assets/images/tile-marketing.svg +0 -16
  73. package/src/assets/media/demo-chime.wav +0 -0
  74. package/src/assets/media/story-sunrise.jpg +0 -0
  75. package/src/assets/media/story-sunrise.mp4 +0 -0
  76. package/src/partials/accordions-container.html +0 -179
  77. package/src/partials/alerts-container.html +0 -151
  78. package/src/partials/announcement-container.html +0 -67
  79. package/src/partials/avatars-container.html +0 -229
  80. package/src/partials/badges-container.html +0 -114
  81. package/src/partials/blog-posts-container.html +0 -158
  82. package/src/partials/breadcrumbs-container.html +0 -126
  83. package/src/partials/button-bar-container.html +0 -175
  84. package/src/partials/buttons-container.html +0 -272
  85. package/src/partials/calendar-container.html +0 -203
  86. package/src/partials/cards-container.html +0 -727
  87. package/src/partials/code-container.html +0 -194
  88. package/src/partials/colors-container.html +0 -263
  89. package/src/partials/coming-soon-container.html +0 -10
  90. package/src/partials/contact-container.html +0 -85
  91. package/src/partials/content-slider-container.html +0 -36
  92. package/src/partials/divider-container.html +0 -70
  93. package/src/partials/documentation-container.html +0 -204
  94. package/src/partials/dropdown-container.html +0 -119
  95. package/src/partials/empty-state-container.html +0 -79
  96. package/src/partials/feed-container.html +0 -506
  97. package/src/partials/footer-container.html +0 -113
  98. package/src/partials/form-container.html +0 -262
  99. package/src/partials/form-elements-container.html +0 -616
  100. package/src/partials/form-field-container.html +0 -166
  101. package/src/partials/gallery-container.html +0 -62
  102. package/src/partials/get-started-container.html +0 -423
  103. package/src/partials/grid-container.html +0 -191
  104. package/src/partials/header-container.html +0 -69
  105. package/src/partials/header-utilities-container.html +0 -331
  106. package/src/partials/highlights-container.html +0 -71
  107. package/src/partials/history-container.html +0 -67
  108. package/src/partials/home-container.html +0 -31
  109. package/src/partials/html-lists-container.html +0 -63
  110. package/src/partials/info-container.html +0 -104
  111. package/src/partials/input-group-container.html +0 -299
  112. package/src/partials/item-lists-container.html +0 -368
  113. package/src/partials/kanban-container.html +0 -459
  114. package/src/partials/kbd-container.html +0 -63
  115. package/src/partials/leader-row-container.html +0 -139
  116. package/src/partials/login-container.html +0 -65
  117. package/src/partials/lunch-menu-container.html +0 -341
  118. package/src/partials/media-container.html +0 -27
  119. package/src/partials/meta-info-container.html +0 -21
  120. package/src/partials/modals-container.html +0 -199
  121. package/src/partials/mosaic-container.html +0 -173
  122. package/src/partials/page-header-container.html +0 -78
  123. package/src/partials/pagination-container.html +0 -64
  124. package/src/partials/palette-container.html +0 -480
  125. package/src/partials/panels-container.html +0 -126
  126. package/src/partials/parallax-container.html +0 -147
  127. package/src/partials/portrait-gallery-container.html +0 -175
  128. package/src/partials/preview-container.html +0 -136
  129. package/src/partials/pricing-container.html +0 -523
  130. package/src/partials/progress-container.html +0 -230
  131. package/src/partials/prose-container.html +0 -43
  132. package/src/partials/ratings-container.html +0 -104
  133. package/src/partials/section-head-container.html +0 -77
  134. package/src/partials/segmented-container.html +0 -66
  135. package/src/partials/skeleton-container.html +0 -87
  136. package/src/partials/spinners-container.html +0 -96
  137. package/src/partials/stepper-container.html +0 -111
  138. package/src/partials/stories-container.html +0 -182
  139. package/src/partials/tables-container.html +0 -309
  140. package/src/partials/tabs-container.html +0 -290
  141. package/src/partials/tags-container.html +0 -242
  142. package/src/partials/techstack-bucket-container.html +0 -187
  143. package/src/partials/testimonials-container.html +0 -88
  144. package/src/partials/tiles-container.html +0 -247
  145. package/src/partials/timelines-container.html +0 -196
  146. package/src/partials/typography-container.html +0 -74
  147. package/src/partials/utilities-container.html +0 -553
package/CLAUDE.md DELETED
@@ -1,60 +0,0 @@
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, 59 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/ (never touches the root release files)
16
- npm run format # Check formatting of SCSS, JS, JSON, HTML, MD (used by CI)
17
- npm run format:fix # Format all files with Prettier
18
- npm run verify # Consistency checks between built CSS, markup and docs
19
- npm run prepack # Build minified maverick-wave.min.{css,js} in project root
20
- # (runs automatically before npm pack / npm publish)
21
- ```
22
-
23
- There are no test or lint scripts.
24
-
25
- ## Architecture
26
-
27
- **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).
28
-
29
- **SCSS layers** (`src/scss/`) follow an ITCSS-inspired structure:
30
-
31
- - `abstracts/` - CSS custom properties, mixins, SCSS functions (color variant generation)
32
- - `base/` - Reset, element defaults, typography
33
- - `components/` - Self-contained component styles (59 files, one per component)
34
- - `form-elements/` - Form input/select/checkbox-specific styles
35
- - `layout/` - Grid, container, header/footer, section
36
- - `utilities/` - Spacing, flex, display utility classes
37
- - `main.scss` - Entry point using `@use`/`@forward` (not `@import`)
38
-
39
- **Mobile-first** - The unprefixed block is the phone layout; `media-up($bp)` adds
40
- to it. `media-down($bp)` only for rules that set what the base never sets, or
41
- where the narrow layout costs more properties than the wide one.
42
-
43
- **JavaScript** (`src/js/main.js`) - Single file. All components auto-initialize on `DOMContentLoaded`. Includes: gallery and image sliders, theme toggle (persisted to localStorage, transitions suppressed during the flip), accordion, mobile nav, progress bar (IntersectionObserver), scroll spy, tabs (which also get their ARIA and arrow-key handling here), alerts/toasts, modals, range inputs, dropdowns, language switcher, checkbox lists, kanban board, calendar, portrait gallery, mosaic, lightbox, story reels.
44
-
45
- **HTML showcase** (`index.html` + `src/partials/`) - The top-level `index.html` uses `@@include()` syntax to pull in 72 partials from `src/partials/`. These compile into `dist/index.html`.
46
-
47
- ## Naming Conventions
48
-
49
- - **CSS classes**: `mw-` prefix for all framework classes (`.mw-btn`, `.mw-card`, `.mw-modal`)
50
- - **State classes**: `.mw-active`, `.mw-selected`
51
- - **CSS custom properties**: `--mw-` prefix (`--mw-primary-color`, `--mw-font-family-base`)
52
- - **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
53
-
54
- ## Code Formatting
55
-
56
- 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:fix` before committing.
57
-
58
- ## Commit Convention
59
-
60
- Follows Conventional Commits: `feat:`, `fix:`, `release:`, etc.
package/gulpfile.js DELETED
@@ -1,167 +0,0 @@
1
- const gulp = require('gulp');
2
- const fileinclude = require('gulp-file-include');
3
- const sass = require('gulp-sass')(require('sass'));
4
- const postcss = require('gulp-postcss');
5
- const autoprefixer = require('autoprefixer');
6
- // clean-css 4 is the last release gulp-clean-css pins, and it predates
7
- // @container, @layer and @starting-style: it drops those blocks or eats their
8
- // selectors without an error. cssnano runs in the postcss pass that is already
9
- // here and understands them.
10
- const cssnano = require('cssnano');
11
- // postcss-calc cannot lex relative color syntax - `calc(l * 0.85)` inside
12
- // `oklch(from ...)` makes it log a parse error per declaration. It leaves the
13
- // value alone, so the output was always correct, but the noise buried real
14
- // build errors. Switching it off leaves ten calc() terms unfolded
15
- // (`calc(500px - 1.5rem - 2px)` stays as written), worth about 100 bytes across
16
- // the whole file - cheaper than a build log nobody reads.
17
- const cssnanoPreset = ['default', { calc: false }];
18
- const terser = require('gulp-terser');
19
- const fs = require('fs');
20
- const path = require('path');
21
- const rename = require('gulp-rename');
22
- const through = require('through2');
23
- const { deleteAsync } = require('del');
24
-
25
- // Paths
26
- const paths = {
27
- root: '.',
28
- src: 'src',
29
- dist: 'dist',
30
- scss: 'src/scss/**/*.scss',
31
- html: '*.html',
32
- js: 'src/js/*.js',
33
- assets: 'src/assets/**/*',
34
- };
35
-
36
- function convertDateFormat(dateStr) {
37
- // Use regex to match day, month, and year
38
- const regex = /(\d{2})\/(\d{2})\/(\d{4})/;
39
- // Replace with year-month-day format
40
- return dateStr.replace(regex, '$3-$2-$1');
41
- }
42
-
43
- // Process HTML files
44
- gulp.task('html', function () {
45
- return gulp
46
- .src(paths.html)
47
- .pipe(
48
- fileinclude({
49
- prefix: '@@',
50
- basepath: '@file',
51
- })
52
- )
53
- .pipe(gulp.dest(paths.dist));
54
- });
55
-
56
- // Process SCSS files
57
- gulp.task('scss-build', function () {
58
- return gulp
59
- .src(paths.scss)
60
- .pipe(sass().on('error', sass.logError))
61
- .pipe(postcss([autoprefixer(), cssnano({ preset: cssnanoPreset })]))
62
- .pipe(rename('maverick-wave.min.css'))
63
- .pipe(gulp.dest(path.join(paths.dist)));
64
- });
65
- gulp.task('scss-release', function () {
66
- return gulp
67
- .src(paths.scss)
68
- .pipe(sass().on('error', sass.logError))
69
- .pipe(postcss([autoprefixer(), cssnano({ preset: cssnanoPreset })]))
70
- .pipe(rename('maverick-wave.min.css'))
71
- .pipe(gulp.dest(path.join(paths.root)));
72
- });
73
-
74
- // Copy JavaScript files
75
- gulp.task('js-build', function () {
76
- return gulp
77
- .src(paths.js)
78
- .pipe(terser())
79
- .pipe(rename('maverick-wave.min.js'))
80
- .pipe(gulp.dest(path.join(paths.dist)));
81
- });
82
- gulp.task('js-release', function () {
83
- return gulp
84
- .src(paths.js)
85
- .pipe(terser())
86
- .pipe(rename('maverick-wave.min.js'))
87
- .pipe(gulp.dest(path.join(paths.root)));
88
- });
89
-
90
- // Copy assets
91
- gulp.task('assets', function () {
92
- return gulp
93
- .src(paths.assets, { encoding: false })
94
- .pipe(gulp.dest(path.join(paths.dist)));
95
- });
96
-
97
- // Inject build info into HTML
98
- gulp.task('inject-build-info', function () {
99
- // Get package.json data
100
- const packageJson = JSON.parse(fs.readFileSync('./package.json', 'utf8'));
101
-
102
- // Create build info object
103
- const buildInfo = {
104
- name: packageJson.name,
105
- version: packageJson.version,
106
- buildDate: convertDateFormat(new Date().toLocaleDateString('en-DE')),
107
- };
108
-
109
- // Create a custom transform stream to inject build info
110
- const injectBuildInfo = through.obj(function (file, enc, cb) {
111
- if (file.isBuffer()) {
112
- let contents = file.contents.toString();
113
-
114
- // Replace placeholders with actual values
115
- contents = contents.replace(/\{\{VERSION\}\}/g, buildInfo.version);
116
- contents = contents.replace(
117
- /\{\{LAST_BUILD_DATE\}\}/g,
118
- buildInfo.buildDate
119
- );
120
- contents = contents.replace(
121
- /\{\{LAST_BUILD_YEAR\}\}/g,
122
- buildInfo.buildDate.slice(0, 4)
123
- );
124
-
125
- file.contents = Buffer.from(contents);
126
- }
127
-
128
- this.push(file);
129
- cb();
130
- });
131
-
132
- return gulp
133
- .src(path.join(paths.dist, '*.html'))
134
- .pipe(injectBuildInfo)
135
- .pipe(gulp.dest(paths.dist));
136
- });
137
-
138
- // clean - remove dist only. The root maverick-wave.min.* files are committed
139
- // release artifacts - deleting them here once shipped a broken npm package
140
- // (4.22.0) because a plain build before publish wiped them.
141
- gulp.task('clean', async function () {
142
- await deleteAsync(['dist'], { force: true });
143
- });
144
-
145
- // Watch for changes
146
- gulp.task('watch', function () {
147
- gulp.watch(paths.scss, gulp.series('scss-build'));
148
- gulp.watch('*.html', gulp.series('html', 'inject-build-info'));
149
- gulp.watch('src/partials/*.html', gulp.series('html', 'inject-build-info'));
150
- gulp.watch(paths.js, gulp.series('js-build'));
151
- gulp.watch(paths.assets, gulp.series('assets'));
152
- });
153
-
154
- // Build task
155
- gulp.task(
156
- 'build',
157
- gulp.series(
158
- gulp.parallel('scss-build', 'js-build', 'assets', 'html'),
159
- 'inject-build-info'
160
- )
161
- );
162
-
163
- // Release task
164
- gulp.task('release', gulp.series(gulp.parallel('scss-release', 'js-release')));
165
-
166
- // Default task
167
- gulp.task('default', gulp.series('build', 'watch'));