maverick-wave 5.26.0 → 5.27.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/skills/mw-maverick-wave/SKILL.md +9 -1
- package/.claude/skills/mw-maverick-wave/references/components.md +13 -6
- package/.claude/skills/mw-maverick-wave/references/layout.md +2 -2
- package/.claude/skills/mw-maverick-wave/references/theming.md +2 -1
- package/CHANGELOG.md +6 -0
- package/README.md +2 -2
- package/maverick-wave.min.css +6 -6
- package/package.json +2 -2
- package/scripts/verify.js +10 -1
- package/src/partials/tiles-container.html +38 -38
- package/src/scss/base/_base.scss +17 -7
- package/src/scss/base/_reset.scss +7 -1
- package/src/scss/components/_announcement.scss +1 -3
- package/src/scss/components/_blog-post.scss +5 -4
- package/src/scss/components/_cards.scss +2 -2
- package/src/scss/components/_contact.scss +5 -3
- package/src/scss/components/_localhost-indicator.scss +2 -2
- package/src/scss/components/_panels.scss +18 -52
- package/src/scss/components/_tabs.scss +2 -2
- package/src/scss/components/_tiles.scss +43 -49
- package/src/scss/layout/_grid.scss +22 -0
- package/src/scss/layout/_header.scss +0 -11
- package/src/scss/layout/_home.scss +2 -2
- package/src/scss/layout/_section.scss +13 -4
|
@@ -116,6 +116,9 @@ system monospace stack behind it. Load a font yourself and either set the three
|
|
|
116
116
|
|
|
117
117
|
- Classes: `mw-` prefix, kebab-case: `.mw-button-bar`, `.mw-item-list-compact`
|
|
118
118
|
- Tokens: `--mw-` prefix: `--mw-primary-color`, `--mw-border-accent`
|
|
119
|
+
- Keyframes: `mw-` prefix too (`mw-toast-in`, `mw-home-fade`). `@keyframes` is
|
|
120
|
+
global, so an unprefixed name in your app and one in the framework are the
|
|
121
|
+
same animation - the loser disappears without an error
|
|
119
122
|
- Variants are suffixes on the base class: `mw-btn` + `mw-btn-primary`,
|
|
120
123
|
`mw-alert` + `mw-alert-danger`
|
|
121
124
|
- Colour variant names are the same everywhere: `primary`, `secondary`,
|
|
@@ -379,7 +382,8 @@ feature frame) ·
|
|
|
379
382
|
11. **Touch targets grow on their own.** On `pointer: coarse` or below 768px,
|
|
380
383
|
`mw-btn` gets a 2.75rem minimum height, `mw-btn-sm`, `mw-input-sm`,
|
|
381
384
|
`mw-select-sm` and `mw-textarea-sm` 2.5rem, a tab 2.75rem, a calendar day
|
|
382
|
-
44px, and list rows / menu items / pager pages /
|
|
385
|
+
44px, `mw-section-btn` 2.75rem, and list rows / menu items / pager pages /
|
|
386
|
+
accordion headers 2.75rem.
|
|
383
387
|
`mw-btn-mini` keeps its 18px circle - it sits in tag rows and table cells
|
|
384
388
|
where a bigger one would shift the layout - and grows its _hit area_ to 28px
|
|
385
389
|
via a pseudo-element, and `mw-kanban-action` does the same - its 32px box
|
|
@@ -475,6 +479,10 @@ feature frame) ·
|
|
|
475
479
|
with it, so `<button type="button" class="mw-tabs-nav-item" data-tab="...">`
|
|
476
480
|
is the whole markup. The burger is the worst of the five to get wrong:
|
|
477
481
|
below the collapse breakpoint it is the only route to the navigation.
|
|
482
|
+
`mw-tile` is the same rule from the other side: the class paints a surface
|
|
483
|
+
on anything, but the hand cursor, the focus ring and the tap handling only
|
|
484
|
+
come with `<a class="mw-tile">` or `<button class="mw-tile">`. On a `<div>`
|
|
485
|
+
you get the look and nothing a keyboard can reach.
|
|
478
486
|
If you build your own clickable thing: the element decides whether anyone
|
|
479
487
|
without a mouse can use it, the class only decides how it looks.
|
|
480
488
|
28. **A link in running text is `mw-link`, not `mw-btn mw-btn-link`.** Since
|
|
@@ -492,29 +492,36 @@ A bordered box with a header rule - the "titled section" of an application.
|
|
|
492
492
|
```
|
|
493
493
|
|
|
494
494
|
- Header colour: `mw-panel-primary`, `mw-panel-secondary`; without them the
|
|
495
|
-
header is neutral.
|
|
495
|
+
header is neutral. Title and action sit at opposite ends and wrap to two rows
|
|
496
|
+
when the panel gets too narrow for both.
|
|
496
497
|
- Height: `mw-panel-scrollable` (500px), `mw-panel-max-height-sm` (300px),
|
|
497
498
|
`-md` (500px), `-lg` (700px) - the body scrolls, header and footer stay.
|
|
498
|
-
-
|
|
499
|
+
- Panels in a grid row end up equally tall on their own - a grid item stretches.
|
|
500
|
+
A height variant opts out with `align-self: start`.
|
|
499
501
|
|
|
500
502
|
## Tiles
|
|
501
503
|
|
|
502
|
-
Compact
|
|
504
|
+
Compact info blocks. The look is on the class, the click is on the element: put
|
|
505
|
+
`mw-tile` on an `<a>` or a `<button>` and it gets the hand cursor, the focus ring
|
|
506
|
+
and the tap handling. On a `<div>` it stays a plain surface - no cursor, no ring,
|
|
507
|
+
because there would be nothing to reach by keyboard.
|
|
503
508
|
|
|
504
509
|
```html
|
|
505
510
|
<div class="mw-tiles mw-tiles-2col">
|
|
506
|
-
<
|
|
511
|
+
<a href="/billing" class="mw-tile">
|
|
507
512
|
<div class="mw-tile-img"><img src="icon.png" alt="" /></div>
|
|
508
513
|
<h3 class="mw-tile-header">Billing</h3>
|
|
509
514
|
<div class="mw-tile-body">
|
|
510
515
|
<p>Invoices and payments</p>
|
|
511
516
|
</div>
|
|
512
517
|
<div class="mw-tile-footer">Updated 2026-01-02</div>
|
|
513
|
-
</
|
|
518
|
+
</a>
|
|
514
519
|
</div>
|
|
515
520
|
```
|
|
516
521
|
|
|
517
|
-
Container: `mw-tiles` (3
|
|
522
|
+
Container: `mw-tiles` (1 / 2 at `sm` / 3 at `md`), `mw-tiles-2col` (1 / 2 at
|
|
523
|
+
`sm`), `mw-tiles-4col` (1 / 2 at `sm` / 4 at `lg`) - the same ramps `mw-grid-3`,
|
|
524
|
+
`-2` and `-4` use, and the full container width like any other grid.
|
|
518
525
|
Tile sizes: `mw-tile-sm`, `mw-tile-lg`.
|
|
519
526
|
|
|
520
527
|
## Accordion
|
|
@@ -289,8 +289,8 @@ with no `mw-section-head-intro` takes a smaller gap: the gap sized to follow a
|
|
|
289
289
|
paragraph reads as a hole under a rule and one line of type.
|
|
290
290
|
|
|
291
291
|
The strip sticks at `--mw-header-height` and is `--mw-section-nav-height` tall
|
|
292
|
-
(3.
|
|
293
|
-
|
|
292
|
+
(3.75rem). A page carrying one adds that height to `scroll-padding-top` on its
|
|
293
|
+
own, so anchors and tab stops both clear it - nothing to add per target.
|
|
294
294
|
|
|
295
295
|
## Page header
|
|
296
296
|
|
|
@@ -85,7 +85,8 @@ Safari 16.4+, Firefox 128+. The same range is declared as `browserslist` in
|
|
|
85
85
|
| `--mw-section-padding-fluid` | The fluid alternative to the value above - 1.75rem on a phone up to 5.5rem at `xl`. Not applied by itself: set `--mw-section-padding-block: var(--mw-section-padding-fluid)` |
|
|
86
86
|
| `--mw-section-padding-compact`, `--mw-section-padding-airy` | The two presets, as tokens so the phone steps reach them - point `--mw-section-padding-block` at one |
|
|
87
87
|
| `--mw-section-head-step` | One step of the head rhythm, derived from `--mw-section-padding-block`. Every measure in a head and around a subtitle is a multiple of it, so a spacing preset moves them all |
|
|
88
|
-
| `--mw-section-nav-height` | Height the sticky `mw-section-nav` reserves (3.
|
|
88
|
+
| `--mw-section-nav-height` | Height the sticky `mw-section-nav` reserves (3.75rem). A page carrying a strip adds it to `scroll-padding-top` itself, through the offset token below |
|
|
89
|
+
| `--mw-announcement-offset`, `--mw-section-nav-offset` | What each layer of sticky chrome below the header adds to `scroll-padding-top`. `0px` until the component switches it on, so a page with both a ribbon and a strip reserves for both. For a sticky bar of your own, override `scroll-padding-top` on `html` - the calc names these two |
|
|
89
90
|
| `--mw-root-font-size` | Percentage the whole rem scale is built on (`100%`). Type, spacing and control heights move with it; px breakpoints do not |
|
|
90
91
|
| `--mw-calendar-dot` | Colour of a single calendar dot - set it per dot or per cell; the `mw-calendar-dot-*` classes are presets for it |
|
|
91
92
|
| `--mw-scroll-hint-cover` | Colour the scroll hint on a tab bar fades into. Preset to the page, re-pointed to the card background inside `mw-card`, `mw-panel`, `mw-modal`, `mw-tile`, `mw-calendar` |
|
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,12 @@ Patch releases are only for test purposes - here I only document major and minor
|
|
|
6
6
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
7
7
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
8
8
|
|
|
9
|
+
## [5.27.0] - 2026-09-21
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- Spacing and small refactorings in css code
|
|
14
|
+
|
|
9
15
|
## [5.26.0] - 2026-09-20
|
|
10
16
|
|
|
11
17
|
### Changed
|
package/README.md
CHANGED
|
@@ -45,12 +45,12 @@ The result is a framework that balances utility with simplicity, offering develo
|
|
|
45
45
|
<title>My MaverickWave Project</title>
|
|
46
46
|
<link
|
|
47
47
|
rel="stylesheet"
|
|
48
|
-
href="https://cdn.jsdelivr.net/npm/maverick-wave@5.
|
|
48
|
+
href="https://cdn.jsdelivr.net/npm/maverick-wave@5.27.0/maverick-wave.min.css"
|
|
49
49
|
/>
|
|
50
50
|
</head>
|
|
51
51
|
<body>
|
|
52
52
|
<!-- Your content here -->
|
|
53
|
-
<script src="https://cdn.jsdelivr.net/npm/maverick-wave@5.
|
|
53
|
+
<script src="https://cdn.jsdelivr.net/npm/maverick-wave@5.27.0/maverick-wave.min.js"></script>
|
|
54
54
|
</body>
|
|
55
55
|
</html>
|
|
56
56
|
```
|