mote.css 0.11.0 → 0.12.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/CHANGELOG.md +20 -1
- package/README.md +18 -3
- package/mote.components.css +1 -16
- package/mote.css +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,24 @@ All notable changes to this project are documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.12.0] - 2026-10-29
|
|
9
|
+
|
|
10
|
+
### Removed
|
|
11
|
+
|
|
12
|
+
- Removed the public `.mote-card-actions` and `.mote-row-status` micro-helpers. Card action rows
|
|
13
|
+
now use the page-owned `.card-actions` class with
|
|
14
|
+
`.mote-card > .card-actions { margin-block-start: auto; }`; status rows use
|
|
15
|
+
the page-owned `.status-row` class with
|
|
16
|
+
`tr.status-row:is(.mote-success, .mote-warning, .mote-error, .mote-info) > :is(td, th[scope="row"]) { background-color: var(--mote-status-soft); }`.
|
|
17
|
+
- This is a clean cutover: there are no aliases, shims, or replacement mote
|
|
18
|
+
classes. `.mote-row` continues to own content-row layout.
|
|
19
|
+
|
|
20
|
+
### Tests
|
|
21
|
+
|
|
22
|
+
- The minification gate now enforces byte-exact minified budgets of 18,000
|
|
23
|
+
bytes for `mote.css` and 13,000 bytes for `mote.components.css`. A focused
|
|
24
|
+
regression proves that an over-budget result fails the gate.
|
|
25
|
+
|
|
8
26
|
## [0.11.0] - 2026-10-29
|
|
9
27
|
|
|
10
28
|
### Added (components — round-15 findings)
|
|
@@ -930,7 +948,8 @@ Components:
|
|
|
930
948
|
- Opt-in helpers: `.mote-container`, `.mote-muted`, `.mote-note` surfaces.
|
|
931
949
|
- Element gallery demo page (`demo.html`).
|
|
932
950
|
|
|
933
|
-
[Unreleased]: https://gitlab.com/abmach/mote/compare/v0.
|
|
951
|
+
[Unreleased]: https://gitlab.com/abmach/mote/compare/v0.12.0...HEAD
|
|
952
|
+
[0.12.0]: https://gitlab.com/abmach/mote/compare/v0.11.0...v0.12.0
|
|
934
953
|
[0.11.0]: https://gitlab.com/abmach/mote/compare/v0.10.9...v0.11.0
|
|
935
954
|
[0.10.9]: https://gitlab.com/abmach/mote/compare/v0.10.8...v0.10.9
|
|
936
955
|
[0.10.8]: https://gitlab.com/abmach/mote/compare/v0.10.7...v0.10.8
|
package/README.md
CHANGED
|
@@ -170,7 +170,6 @@ mote is class-optional by design — elements are styled from tags alone; these
|
|
|
170
170
|
| Pagination | `nav[aria-label="pagination"]` — semantic, no class |
|
|
171
171
|
| Table of contents | `nav[aria-label="toc"]` — semantic, no class |
|
|
172
172
|
| Current table row | `tr[aria-current]` — accent-tinted row, reads over zebra |
|
|
173
|
-
| Status table row | `.mote-row-status` + a status class — paints direct cells while preserving background-image layers |
|
|
174
173
|
| Footer baseline | `body > footer` — semantic top-border + padding; its `nav` renders as a quiet wrapped row |
|
|
175
174
|
| Screen-reader helper | `.mote-sr-only` — pure hiding, never appears |
|
|
176
175
|
| Skip link | `.mote-skip-link` — sr-only until focused, then a fixed pill |
|
|
@@ -185,7 +184,6 @@ mote is class-optional by design — elements are styled from tags alone; these
|
|
|
185
184
|
| Breadcrumbs | `nav[aria-label="breadcrumb"]` — semantic, no class |
|
|
186
185
|
| Card grids | `.mote-grid` — auto-fill columns from the container, no breakpoints |
|
|
187
186
|
| Cards | `.mote-card` — normalizes content: alignment reads start even inside centered regions |
|
|
188
|
-
| Card actions | `.mote-card-actions` — bottom-aligns an action row inside a card without owning the row layout |
|
|
189
187
|
| Badges | `.mote-badge` — gated: status from the badge's own class, never inherited; scales with surrounding text but never enlarges with headings |
|
|
190
188
|
| Avatars | `.mote-avatar` |
|
|
191
189
|
| Skeleton / spinner | `.mote-skeleton`, `.mote-spinner` |
|
|
@@ -195,7 +193,24 @@ mote is class-optional by design — elements are styled from tags alone; these
|
|
|
195
193
|
| Exclusive accordions | `<details name="group">` — the browser closes siblings |
|
|
196
194
|
| Dialog & popover entrance animations | automatic when the file is loaded |
|
|
197
195
|
|
|
198
|
-
Full live documentation with copyable markup for
|
|
196
|
+
Full live documentation with copyable markup for the components and recipes: **[docs/index.html](docs/index.html)**.
|
|
197
|
+
|
|
198
|
+
## Page-owned recipes
|
|
199
|
+
|
|
200
|
+
These compositions belong to the page, not mote. Copy the rules you need and name the classes in your markup.
|
|
201
|
+
|
|
202
|
+
```css
|
|
203
|
+
/* Bottom-align actions in a card; .mote-row still owns the row layout. */
|
|
204
|
+
.mote-card > .card-actions {
|
|
205
|
+
margin-block-start: auto;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/* Paint a status row's direct cells while preserving background images. */
|
|
209
|
+
tr.status-row:is(.mote-success, .mote-warning, .mote-error, .mote-info)
|
|
210
|
+
> :is(td, th[scope="row"]) {
|
|
211
|
+
background-color: var(--mote-status-soft);
|
|
212
|
+
}
|
|
213
|
+
```
|
|
199
214
|
|
|
200
215
|
## Browser support
|
|
201
216
|
|
package/mote.components.css
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* mote.components.css — opt-in components for mote.css.
|
|
3
|
-
* v0.
|
|
3
|
+
* v0.12.0 · MIT
|
|
4
4
|
* https://gitlab.com/abmach/mote · mirror: https://github.com/abmach/mote
|
|
5
5
|
*
|
|
6
6
|
* Requires mote.css loaded first (provides the --mote-* tokens).
|
|
@@ -36,13 +36,6 @@
|
|
|
36
36
|
margin-block-end: 0;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
/* Bottom-align a card's action row without owning the row's layout.
|
|
40
|
-
.mote-card is a vertical flex column, so the auto margin consumes the
|
|
41
|
-
space above the actions. Pair with .mote-row for the row itself. */
|
|
42
|
-
.mote-card-actions {
|
|
43
|
-
margin-block-start: auto;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
39
|
/* Band: a full-bleed tinted section — CTA bands, section dividers,
|
|
47
40
|
announcement strips. An opaque mix (unlike --mote-accent-soft, which is
|
|
48
41
|
transparent and can vanish over dark backgrounds), so it reads as a
|
|
@@ -411,14 +404,6 @@ nav[aria-label="toc"] a:hover {
|
|
|
411
404
|
border-radius: inherit;
|
|
412
405
|
}
|
|
413
406
|
|
|
414
|
-
/* Paint a status row's direct cells when the row opts in. Status classes
|
|
415
|
-
remain token carriers; this helper is the visual step. background-color
|
|
416
|
-
deliberately preserves any existing background-image layer. */
|
|
417
|
-
tr.mote-row-status:is(.mote-success, .mote-warning, .mote-error, .mote-info)
|
|
418
|
-
> :is(td, th[scope="row"]) {
|
|
419
|
-
background-color: var(--mote-status-soft);
|
|
420
|
-
}
|
|
421
|
-
|
|
422
407
|
/* Scrollable table wrapper: sticky thead, no page scroll, no margin jump */
|
|
423
408
|
.mote-table-scroll {
|
|
424
409
|
overflow-x: auto;
|
package/mote.css
CHANGED