mote.css 0.10.0 → 0.10.2
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 +48 -0
- package/README.md +2 -2
- package/mote.components.css +25 -8
- package/mote.css +2 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,52 @@ 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.2] - 2026-10-24
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **jsDelivr now minifies `mote.components.css`**: clean-css 5.3.3 could not
|
|
13
|
+
parse the Baseline 2024 `@starting-style` rules and `allow-discrete`
|
|
14
|
+
transition values, so the automatic `mote.components.min.css` URL served
|
|
15
|
+
the unminified source. Narrow ignore guards preserve those modern rules
|
|
16
|
+
verbatim while allowing jsDelivr's minifier to produce a compact stylesheet.
|
|
17
|
+
|
|
18
|
+
## [0.10.1] - 2026-10-24
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
|
|
22
|
+
- **Narrow `.mote-doc` layouts keep landmark order**: the collapsed shell no
|
|
23
|
+
longer places the footer before `main` when guide and context rails are
|
|
24
|
+
present.
|
|
25
|
+
- **`.mote-table-scroll` expands on paper**: the optional components file
|
|
26
|
+
now owns its print override, so loading it can no longer undo the core
|
|
27
|
+
print behavior.
|
|
28
|
+
- **`.mote-skip-link` reveals on any focus**: programmatic focus now gets
|
|
29
|
+
the same fixed skip-link pill as keyboard focus, removing a focus-modality
|
|
30
|
+
dependency from the accessibility helper and regression fixture.
|
|
31
|
+
|
|
32
|
+
### Changed (tests — round-8 findings)
|
|
33
|
+
|
|
34
|
+
- The regression fixture now selects an active screen or print-specific
|
|
35
|
+
assertion suite, rebuilds its results on media changes, and self-checks both
|
|
36
|
+
paper helpers and printable table expansion.
|
|
37
|
+
|
|
38
|
+
### Changed (docs — round-8 findings)
|
|
39
|
+
|
|
40
|
+
- Document-layout guidance now states that the collapsed shell preserves
|
|
41
|
+
source order, distinguishes `main` overflow from table-wrapper overflow,
|
|
42
|
+
and calls out the body-level gutter.
|
|
43
|
+
- Header guidance now includes a narrow-screen recipe that gives the nav its
|
|
44
|
+
own row when the brand and pushed controls leave too little room.
|
|
45
|
+
- The helper map now includes print helpers and a right-rail TOC recipe.
|
|
46
|
+
|
|
47
|
+
### Evaluation
|
|
48
|
+
|
|
49
|
+
- Eighth round: ten independent agents built ten new page types against
|
|
50
|
+
v0.10.0. All ten would use mote again and kept page-level horizontal
|
|
51
|
+
overflow at zero; the round exposed the collapsed document-order and
|
|
52
|
+
cross-file print defects fixed in this release.
|
|
53
|
+
|
|
8
54
|
## [0.10.0] - 2026-10-23
|
|
9
55
|
|
|
10
56
|
### Fixed
|
|
@@ -619,6 +665,8 @@ Components:
|
|
|
619
665
|
[0.8.0]: https://gitlab.com/abmach/mote/compare/v0.7.0...v0.8.0
|
|
620
666
|
[0.9.0]: https://gitlab.com/abmach/mote/compare/v0.8.0...v0.9.0
|
|
621
667
|
[0.9.1]: https://gitlab.com/abmach/mote/compare/v0.9.0...v0.9.1
|
|
668
|
+
[0.10.2]: https://gitlab.com/abmach/mote/compare/v0.10.1...v0.10.2
|
|
669
|
+
[0.10.1]: https://gitlab.com/abmach/mote/compare/v0.10.0...v0.10.1
|
|
622
670
|
[0.10.0]: https://gitlab.com/abmach/mote/compare/v0.9.1...v0.10.0
|
|
623
671
|
[0.7.0]: https://gitlab.com/abmach/mote/compare/v0.6.1...v0.7.0
|
|
624
672
|
[0.6.1]: https://gitlab.com/abmach/mote/compare/v0.6.0...v0.6.1
|
package/README.md
CHANGED
|
@@ -160,7 +160,7 @@ mote is class-optional by design — elements are styled from tags alone; these
|
|
|
160
160
|
| Display text | `.mote-display` — opt-in hero/error-code scale via `--mote-display` |
|
|
161
161
|
| Content rows | `.mote-row` + `.mote-push` — flex row, right-align helper |
|
|
162
162
|
| Stacks | `.mote-stack` — vertical rhythm with `--mote-stack-gap`; fields full width, checkboxes 1em, works on any content |
|
|
163
|
-
| Scrollable tables | `.mote-table-scroll` — sticky `thead`, no page scroll, no margin jump |
|
|
163
|
+
| Scrollable tables | `.mote-table-scroll` — sticky `thead`, no page scroll, no margin jump; expands on paper |
|
|
164
164
|
| Numeric columns | `.mote-num` — right-aligned tabular figures |
|
|
165
165
|
| Tabular figures | `.mote-tabular` — tabular numerals without the right-alignment (day numbers, meta lines) |
|
|
166
166
|
| Sparse grids | `.mote-grid-sparse` — standalone auto-fit variant, collapses empty tracks |
|
|
@@ -169,7 +169,7 @@ mote is class-optional by design — elements are styled from tags alone; these
|
|
|
169
169
|
| Current table row | `tr[aria-current]` — accent-tinted row, reads over zebra |
|
|
170
170
|
| Footer baseline | `body > footer` — semantic top-border + padding; its `nav` renders as a quiet wrapped row |
|
|
171
171
|
| Screen-reader helper | `.mote-sr-only` — pure hiding, never appears |
|
|
172
|
-
| Skip link | `.mote-skip-link` — sr-only until
|
|
172
|
+
| Skip link | `.mote-skip-link` — sr-only until focused, then a fixed pill |
|
|
173
173
|
| Print helpers | `.mote-no-print` / `.mote-print-only` |
|
|
174
174
|
| Theme-switch guard | `.mote-theme-switch` — prevents Chromium stale-color bug on `data-theme` flips |
|
|
175
175
|
| Status inheritance control | `.mote-default` (force accent) · `.mote-reset` (clear inherited status) |
|
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.2 · 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).
|
|
@@ -390,6 +390,13 @@ nav[aria-label="toc"] a:hover {
|
|
|
390
390
|
overflow-y: auto;
|
|
391
391
|
}
|
|
392
392
|
|
|
393
|
+
/* The components file owns this component's print behavior. Keep the
|
|
394
|
+
override after the screen rule so loading the optional file cannot
|
|
395
|
+
undo the core print promise. */
|
|
396
|
+
@media print {
|
|
397
|
+
.mote-table-scroll { max-height: none; overflow: visible; }
|
|
398
|
+
}
|
|
399
|
+
|
|
393
400
|
/* Chromium paints collapsed borders at the original flow position,
|
|
394
401
|
not with the sticky cell — separate borders belong to the cell. */
|
|
395
402
|
.mote-table-scroll table {
|
|
@@ -516,11 +523,13 @@ menu[popover] :is(button, [role="menuitem"]):focus-visible {
|
|
|
516
523
|
dialog {
|
|
517
524
|
opacity: 0;
|
|
518
525
|
transform: translateY(8px) scale(0.98);
|
|
526
|
+
/* clean-css ignore:start */
|
|
519
527
|
transition:
|
|
520
528
|
opacity 180ms ease,
|
|
521
529
|
transform 180ms ease,
|
|
522
530
|
display 180ms allow-discrete,
|
|
523
531
|
overlay 180ms allow-discrete;
|
|
532
|
+
/* clean-css ignore:end */
|
|
524
533
|
}
|
|
525
534
|
|
|
526
535
|
[popover]:popover-open,
|
|
@@ -529,6 +538,7 @@ dialog[open] {
|
|
|
529
538
|
transform: none;
|
|
530
539
|
}
|
|
531
540
|
|
|
541
|
+
/* clean-css ignore:start */
|
|
532
542
|
@starting-style {
|
|
533
543
|
[popover]:popover-open,
|
|
534
544
|
dialog[open] {
|
|
@@ -536,17 +546,22 @@ dialog[open] {
|
|
|
536
546
|
transform: translateY(8px) scale(0.98);
|
|
537
547
|
}
|
|
538
548
|
}
|
|
549
|
+
/* clean-css ignore:end */
|
|
539
550
|
|
|
540
551
|
dialog::backdrop {
|
|
541
552
|
opacity: 1;
|
|
553
|
+
/* clean-css ignore:start */
|
|
542
554
|
transition: opacity 180ms allow-discrete;
|
|
555
|
+
/* clean-css ignore:end */
|
|
543
556
|
}
|
|
544
557
|
|
|
558
|
+
/* clean-css ignore:start */
|
|
545
559
|
@starting-style {
|
|
546
560
|
dialog::backdrop {
|
|
547
561
|
opacity: 0;
|
|
548
562
|
}
|
|
549
563
|
}
|
|
564
|
+
/* clean-css ignore:end */
|
|
550
565
|
|
|
551
566
|
/* ---------------------------------------------------------------------------
|
|
552
567
|
* 10. Exclusive accordions — <details name="group">
|
|
@@ -610,10 +625,12 @@ details[name] > :not(summary):last-child {
|
|
|
610
625
|
block-size: 0;
|
|
611
626
|
overflow: clip;
|
|
612
627
|
opacity: 0;
|
|
628
|
+
/* clean-css ignore:start */
|
|
613
629
|
transition:
|
|
614
630
|
block-size 260ms ease,
|
|
615
631
|
opacity 260ms ease,
|
|
616
632
|
content-visibility 260ms allow-discrete;
|
|
633
|
+
/* clean-css ignore:end */
|
|
617
634
|
}
|
|
618
635
|
|
|
619
636
|
details[open]::details-content {
|
|
@@ -621,12 +638,14 @@ details[name] > :not(summary):last-child {
|
|
|
621
638
|
opacity: 1;
|
|
622
639
|
}
|
|
623
640
|
|
|
641
|
+
/* clean-css ignore:start */
|
|
624
642
|
@starting-style {
|
|
625
643
|
details[open]::details-content {
|
|
626
644
|
block-size: 0;
|
|
627
645
|
opacity: 0;
|
|
628
646
|
}
|
|
629
647
|
}
|
|
648
|
+
/* clean-css ignore:end */
|
|
630
649
|
}
|
|
631
650
|
|
|
632
651
|
/* ---------------------------------------------------------------------------
|
|
@@ -765,15 +784,13 @@ nav[aria-label="toc"] :is(h2, h3) {
|
|
|
765
784
|
}
|
|
766
785
|
|
|
767
786
|
@media (width < 50rem) {
|
|
768
|
-
.mote-doc
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
grid-template-columns: 1fr;
|
|
787
|
+
.mote-doc {
|
|
788
|
+
display: flex;
|
|
789
|
+
flex-direction: column;
|
|
772
790
|
}
|
|
773
791
|
|
|
774
|
-
.mote-doc >
|
|
775
|
-
|
|
776
|
-
grid-row: auto;
|
|
792
|
+
.mote-doc > main {
|
|
793
|
+
flex: 1 0 auto;
|
|
777
794
|
}
|
|
778
795
|
|
|
779
796
|
.mote-doc > aside {
|
package/mote.css
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* mote.css — a mote of styling for plain HTML.
|
|
3
|
-
* v0.10.
|
|
3
|
+
* v0.10.2 · MIT
|
|
4
4
|
* https://gitlab.com/abmach/mote · mirror: https://github.com/abmach/mote
|
|
5
5
|
*
|
|
6
6
|
* The smallest thing that can carry style:
|
|
@@ -810,7 +810,7 @@ progress, meter {
|
|
|
810
810
|
Use .mote-skip-link for the accessibility skip link;
|
|
811
811
|
use plain .mote-sr-only to hide things that must never
|
|
812
812
|
appear (radios driving CSS toggles, visually hidden labels). */
|
|
813
|
-
.mote-skip-link:focus
|
|
813
|
+
.mote-skip-link:focus {
|
|
814
814
|
position: fixed;
|
|
815
815
|
top: 1rem;
|
|
816
816
|
left: 1rem;
|
|
@@ -936,7 +936,6 @@ progress, meter {
|
|
|
936
936
|
/* Opt-in print helpers */
|
|
937
937
|
.mote-no-print { display: none !important; }
|
|
938
938
|
.mote-print-only { display: block; }
|
|
939
|
-
.mote-table-scroll { max-height: none; overflow: visible; }
|
|
940
939
|
}
|
|
941
940
|
|
|
942
941
|
@media not print {
|
package/package.json
CHANGED