mote.css 0.10.8 → 0.10.9
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 +44 -1
- package/README.md +1 -1
- package/mote.components.css +20 -12
- package/mote.css +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,48 @@ 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.10.9] - 2026-10-29
|
|
9
|
+
|
|
10
|
+
### Fixed (components — round-14 findings)
|
|
11
|
+
|
|
12
|
+
- Scrollable-table header cells now become static on paper. The print
|
|
13
|
+
override follows the sticky-cell rule, so Chromium can repeat the semantic
|
|
14
|
+
`<thead>` at the top of continuation pages instead of painting it after the
|
|
15
|
+
rows.
|
|
16
|
+
|
|
17
|
+
### Fixed (docs — round-14 findings)
|
|
18
|
+
|
|
19
|
+
- The phone-record recipe now start-aligns numeric values in its label/value
|
|
20
|
+
branch, removes generated labels during narrow-viewport print emulation,
|
|
21
|
+
and resets sticky header cells while restoring the table.
|
|
22
|
+
- The row-status recipe now includes semantic row headers
|
|
23
|
+
(`th[scope="row"]`) and uses `background-color`, preserving background
|
|
24
|
+
image layers such as the documented weekend-column shading.
|
|
25
|
+
- The narrow-header recipe now states that it applies to mote's canonical
|
|
26
|
+
composition, where `.mote-row` owns the header row. Custom flex headers
|
|
27
|
+
need page-owned rules for their own structure.
|
|
28
|
+
- Print guidance no longer implies that restoring `position: sticky`
|
|
29
|
+
guarantees a repeated running head; repetition depends on the browser's
|
|
30
|
+
paged-media implementation and the generated PDF must be inspected.
|
|
31
|
+
- Clarified card flex behavior and bottom-aligned actions, inline SVG media
|
|
32
|
+
sizing, prose-heavy card-grid density, and badge scaling.
|
|
33
|
+
|
|
34
|
+
### Tests
|
|
35
|
+
|
|
36
|
+
- The regression fixture asserts that scrollable-table header cells are
|
|
37
|
+
static on paper.
|
|
38
|
+
- Docs-source checks pin the phone-record print and numeric-alignment rules,
|
|
39
|
+
the row-header and background-color contract, and the canonical narrow
|
|
40
|
+
header row owner.
|
|
41
|
+
|
|
42
|
+
### Evaluation
|
|
43
|
+
|
|
44
|
+
- Fourteenth round: ten independent agents built ten new page types against
|
|
45
|
+
v0.10.8. All ten would use mote again. The builders' final pages had no
|
|
46
|
+
confirmed failures; remediation confirmed one library-facing print defect in
|
|
47
|
+
the scrollable-table header, fixed here alongside the documentation gaps
|
|
48
|
+
surfaced by the round.
|
|
49
|
+
|
|
8
50
|
## [0.10.8] - 2026-10-28
|
|
9
51
|
|
|
10
52
|
### Fixed (components — round-13 findings)
|
|
@@ -843,7 +885,8 @@ Components:
|
|
|
843
885
|
- Opt-in helpers: `.mote-container`, `.mote-muted`, `.mote-note` surfaces.
|
|
844
886
|
- Element gallery demo page (`demo.html`).
|
|
845
887
|
|
|
846
|
-
[Unreleased]: https://gitlab.com/abmach/mote/compare/v0.10.
|
|
888
|
+
[Unreleased]: https://gitlab.com/abmach/mote/compare/v0.10.9...HEAD
|
|
889
|
+
[0.10.9]: https://gitlab.com/abmach/mote/compare/v0.10.8...v0.10.9
|
|
847
890
|
[0.10.8]: https://gitlab.com/abmach/mote/compare/v0.10.7...v0.10.8
|
|
848
891
|
[0.10.7]: https://gitlab.com/abmach/mote/compare/v0.10.6...v0.10.7
|
|
849
892
|
[0.10.6]: https://gitlab.com/abmach/mote/compare/v0.10.5...v0.10.6
|
package/README.md
CHANGED
|
@@ -184,7 +184,7 @@ mote is class-optional by design — elements are styled from tags alone; these
|
|
|
184
184
|
| Breadcrumbs | `nav[aria-label="breadcrumb"]` — semantic, no class |
|
|
185
185
|
| Card grids | `.mote-grid` — auto-fill columns from the container, no breakpoints |
|
|
186
186
|
| Cards | `.mote-card` — normalizes content: alignment reads start even inside centered regions |
|
|
187
|
-
| Badges | `.mote-badge` — gated: status from the badge's own class, never inherited; never
|
|
187
|
+
| Badges | `.mote-badge` — gated: status from the badge's own class, never inherited; scales with surrounding text but never enlarges with headings |
|
|
188
188
|
| Avatars | `.mote-avatar` |
|
|
189
189
|
| Skeleton / spinner | `.mote-skeleton`, `.mote-spinner` |
|
|
190
190
|
| Tooltips | `[popover].mote-tooltip` + `popovertarget` button |
|
package/mote.components.css
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* mote.components.css — opt-in components for mote.css.
|
|
3
|
-
* v0.10.
|
|
3
|
+
* v0.10.9 · 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).
|
|
@@ -66,8 +66,8 @@
|
|
|
66
66
|
display: inline-block;
|
|
67
67
|
padding: 0.1rem 0.6rem;
|
|
68
68
|
border-radius: 999px;
|
|
69
|
-
/*
|
|
70
|
-
|
|
69
|
+
/* Scale with the surrounding text, but never enlarge with headings:
|
|
70
|
+
0.8em balloons inside a heading, so cap it at 0.8rem. */
|
|
71
71
|
font-size: min(0.8em, 0.8rem);
|
|
72
72
|
font-weight: 500;
|
|
73
73
|
line-height: 1.4;
|
|
@@ -169,8 +169,9 @@ a:where(.mote-badge):hover {
|
|
|
169
169
|
}
|
|
170
170
|
|
|
171
171
|
/* On paper the bar must not repeat over every sheet: a sticky header is
|
|
172
|
-
screen chrome
|
|
173
|
-
|
|
172
|
+
screen chrome. A print-specific layout may restore sticky positioning,
|
|
173
|
+
but repeated running heads depend on the browser's paged-media behavior
|
|
174
|
+
and are not guaranteed by this library. */
|
|
174
175
|
@media print {
|
|
175
176
|
:where(body > header, .mote-header) {
|
|
176
177
|
position: static;
|
|
@@ -399,13 +400,6 @@ nav[aria-label="toc"] a:hover {
|
|
|
399
400
|
overflow-y: auto;
|
|
400
401
|
}
|
|
401
402
|
|
|
402
|
-
/* The components file owns this component's print behavior. Keep the
|
|
403
|
-
override after the screen rule so loading the optional file cannot
|
|
404
|
-
undo the core print promise. */
|
|
405
|
-
@media print {
|
|
406
|
-
.mote-table-scroll { max-height: none; overflow: visible; }
|
|
407
|
-
}
|
|
408
|
-
|
|
409
403
|
/* Chromium paints collapsed borders at the original flow position,
|
|
410
404
|
not with the sticky cell — separate borders belong to the cell. */
|
|
411
405
|
.mote-table-scroll table {
|
|
@@ -420,6 +414,20 @@ nav[aria-label="toc"] a:hover {
|
|
|
420
414
|
background: var(--mote-bg);
|
|
421
415
|
}
|
|
422
416
|
|
|
417
|
+
/* The components file owns this component's print behavior. Keep the
|
|
418
|
+
override after the sticky-cell rule so paper restores a normal table:
|
|
419
|
+
Chromium can repeat the semantic thead without sticky positioning. */
|
|
420
|
+
@media print {
|
|
421
|
+
.mote-table-scroll {
|
|
422
|
+
max-height: none;
|
|
423
|
+
overflow: visible;
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
.mote-table-scroll thead th {
|
|
427
|
+
position: static;
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
|
|
423
431
|
/* Page footer: the quiet sibling of the site header */
|
|
424
432
|
:where(body > footer, .mote-footer) {
|
|
425
433
|
margin-block-start: 3rem;
|
package/mote.css
CHANGED