mote.css 0.9.1 → 0.10.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 CHANGED
@@ -5,6 +5,53 @@ 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.0] - 2026-10-23
9
+
10
+ ### Fixed
11
+
12
+ - **`.mote-doc > header` was missing `min-width: 0`** (the shell gives it
13
+ to main, nav, and aside but not the header): a header carrying long nav
14
+ content pushed the *page* sideways at narrow viewports. Found by the
15
+ round-7 course builder; fixture-pinned.
16
+
17
+ ### Added
18
+
19
+ - `.mote-tabular`: tabular figures without the right-alignment — day
20
+ numbers, headline balances, meta lines. `.mote-num` keeps
21
+ alignment + figures for table columns (tables already render tabular
22
+ numerals on every cell, so alignment is the column class's real job).
23
+ Five round-7 builds hit the old coupling.
24
+ - `--mote-avatar-radius` (default 999px): square cover art and favicons
25
+ no longer fight the circular default — three round-7 builds overrode it
26
+ by hand.
27
+
28
+ ### Changed
29
+
30
+ - Header nav pills never break mid-label (`white-space: nowrap`): the
31
+ pill row scrolls instead — three round-7 builds added this rule by
32
+ hand; deferred from round 6 as a recipe, three recurrences made it a
33
+ default.
34
+
35
+ ### Fixed (docs — round-7 findings)
36
+
37
+ - Status classes are token carriers, not text colors — documented with
38
+ the tinted-text recipe (`color: var(--mote-success)`).
39
+ - `.mote-stack` on a `<fieldset>` flattens the legend notch — documented.
40
+ - Nav hints only exist while the pills overflow — documented.
41
+ - New recipes: small indicator dots (skeleton `min-height`), grouped
42
+ messages (`.mote-media` + `aria-hidden` spacer), weekend columns
43
+ (row-tint-safe column shading), quiet captions.
44
+ - `--mote-avatar-radius` and `.mote-tabular` in the token and class
45
+ tables.
46
+
47
+ ### Evaluation
48
+
49
+ - Seventh round: ten agents built ten NEW page types (chat, job board,
50
+ calendar, recipe, transactions, lesson, search results, team, hotel,
51
+ podcast) against v0.9.1 on a faster builder model. 10/10
52
+ would-use-again, zero final-state rendering failures; every v0.9.x
53
+ feature verified in the wild by every agent that touched it.
54
+
8
55
  ## [0.9.1] - 2026-10-23
9
56
 
10
57
  ### Fixed
@@ -572,6 +619,7 @@ Components:
572
619
  [0.8.0]: https://gitlab.com/abmach/mote/compare/v0.7.0...v0.8.0
573
620
  [0.9.0]: https://gitlab.com/abmach/mote/compare/v0.8.0...v0.9.0
574
621
  [0.9.1]: https://gitlab.com/abmach/mote/compare/v0.9.0...v0.9.1
622
+ [0.10.0]: https://gitlab.com/abmach/mote/compare/v0.9.1...v0.10.0
575
623
  [0.7.0]: https://gitlab.com/abmach/mote/compare/v0.6.1...v0.7.0
576
624
  [0.6.1]: https://gitlab.com/abmach/mote/compare/v0.6.0...v0.6.1
577
625
  [0.6.0]: https://gitlab.com/abmach/mote/compare/v0.5.1...v0.6.0
package/README.md CHANGED
@@ -100,6 +100,7 @@ The consequence: theming is a handful of variable overrides, and an inline tweak
100
100
  | `--mote-display` | `clamp(2.75rem, 1.5rem + 4vw, 5rem)` | | Display text scale (opt-in) |
101
101
  | `--mote-grid-min` | `16rem` | | Card grid minimum track width |
102
102
  | `--mote-avatar` | `2.5rem` | | Avatar size |
103
+ | Avatar corners | `--mote-avatar-radius` (default 999px) — 0 for square covers and favicons |
103
104
  | `--mote-control-pad` | `0.5rem` | | Button/control vertical padding |
104
105
  | `--mote-cell-pad` | `0.6rem` | | Table cell vertical padding |
105
106
  | `--mote-shadow` / `--mote-shadow-sm` | warm diffuse | | Elevation |
@@ -161,6 +162,7 @@ mote is class-optional by design — elements are styled from tags alone; these
161
162
  | Stacks | `.mote-stack` — vertical rhythm with `--mote-stack-gap`; fields full width, checkboxes 1em, works on any content |
162
163
  | Scrollable tables | `.mote-table-scroll` — sticky `thead`, no page scroll, no margin jump |
163
164
  | Numeric columns | `.mote-num` — right-aligned tabular figures |
165
+ | Tabular figures | `.mote-tabular` — tabular numerals without the right-alignment (day numbers, meta lines) |
164
166
  | Sparse grids | `.mote-grid-sparse` — standalone auto-fit variant, collapses empty tracks |
165
167
  | Pagination | `nav[aria-label="pagination"]` — semantic, no class |
166
168
  | Table of contents | `nav[aria-label="toc"]` — semantic, no class |
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * mote.components.css — opt-in components for mote.css.
3
- * v0.9.1 · MIT
3
+ * v0.10.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).
@@ -96,7 +96,9 @@ a:where(.mote-badge):hover {
96
96
  .mote-avatar {
97
97
  width: var(--mote-avatar, 2.5rem);
98
98
  height: var(--mote-avatar, 2.5rem);
99
- border-radius: 999px;
99
+ /* Round by default (people); square cover art and favicons set
100
+ --mote-avatar-radius: 0 (or any corner value). */
101
+ border-radius: var(--mote-avatar-radius, 999px);
100
102
  object-fit: cover;
101
103
  border: var(--mote-border-width) solid var(--mote-border);
102
104
  box-shadow: var(--mote-shadow-sm);
@@ -263,6 +265,8 @@ a:where(.mote-badge):hover {
263
265
  display: inline-block;
264
266
  padding: 0.35rem 0.8rem;
265
267
  border-radius: 999px;
268
+ /* Pills never break mid-label; the row scrolls instead. */
269
+ white-space: nowrap;
266
270
  color: var(--mote-fg);
267
271
  text-decoration: none;
268
272
  transition: background var(--mote-transition), color var(--mote-transition);
@@ -660,7 +664,7 @@ html:where(:has(body > header)) {
660
664
  --mote-rail-top: 4.75rem;
661
665
  }
662
666
 
663
- .mote-doc > header { grid-row: 1; grid-column: 1 / -1; }
667
+ .mote-doc > header { grid-row: 1; grid-column: 1 / -1; min-width: 0; }
664
668
  .mote-doc > footer { grid-row: 3; grid-column: 1 / -1; }
665
669
 
666
670
  .mote-doc > main { grid-row: 2; grid-column: 1; min-width: 0; }
package/mote.css CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * mote.css — a mote of styling for plain HTML.
3
- * v0.9.1 · MIT
3
+ * v0.10.0 · 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:
@@ -785,6 +785,14 @@ progress, meter {
785
785
  font-variant-numeric: tabular-nums;
786
786
  }
787
787
 
788
+ /* Tabular figures without the right-alignment — day numbers, headline
789
+ figures, meta lines. Tables already render tabular numerals on every
790
+ cell; this is for figures outside them (or cells that must not align
791
+ end). */
792
+ .mote-tabular {
793
+ font-variant-numeric: tabular-nums;
794
+ }
795
+
788
796
  .mote-sr-only,
789
797
  .mote-skip-link {
790
798
  position: absolute;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mote.css",
3
- "version": "0.9.1",
4
- "description": "A mote of styling for plain HTML — tiny, semantic, class-optional CSS with zero dependencies and no build step.",
3
+ "version": "0.10.0",
4
+ "description": "A mote of styling for plain HTML \u2014 tiny, semantic, class-optional CSS with zero dependencies and no build step.",
5
5
  "style": "mote.css",
6
6
  "files": [
7
7
  "mote.css",