shelving 1.271.1 → 1.271.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shelving",
3
- "version": "1.271.1",
3
+ "version": "1.271.2",
4
4
  "author": "Dave Houlbrooke <dave@shax.com>",
5
5
  "repository": {
6
6
  "type": "git",
@@ -9,13 +9,13 @@
9
9
  "main": "./index.js",
10
10
  "module": "./index.js",
11
11
  "devDependencies": {
12
- "@biomejs/biome": "^2.5.2",
12
+ "@biomejs/biome": "^2.5.4",
13
13
  "@google-cloud/firestore": "^8.6.0",
14
14
  "@heroicons/react": "^2.2.0",
15
15
  "@types/bun": "^1.3.14",
16
16
  "@types/react": "^19.2.17",
17
17
  "@types/react-dom": "^19.2.3",
18
- "firebase": "^12.15.0",
18
+ "firebase": "^12.16.0",
19
19
  "react": "^19.3.0-canary-fef12a01-20260413",
20
20
  "react-dom": "^19.3.0-canary-fef12a01-20260413",
21
21
  "stylelint": "^17.14.0",
@@ -7,7 +7,7 @@ A continuous horizontal progress bar for the completion of a task. Rendered as a
7
7
  - Use `Progress` for **task completion** — a value heading toward "done" (an upload, a multi-step form, a load). For a static reading within a range that can move up and down (disk usage, a score), a gauge is the right model, not a progress bar.
8
8
  - `value` is filled within the `min`–`max` range (defaults `0`–`100`), matching `getPercent()` and `formatPercent()`. `<progress>` has no `min` attribute, so the range is normalised to `value - min` / `max - min` before it reaches the element.
9
9
  - The browser clamps `value` to the `0`–`max` range, so an out-of-range `value` renders an empty or full bar rather than overspilling. A non-positive range (`min === max`) falls back to an empty bar rather than the indeterminate state.
10
- - Omit `value` (or pass `null`/`undefined`) for an ongoing task whose duration isn't known — exactly like a native `<progress>`, dropping the attribute switches the element into the `:indeterminate` state (no `aria-valuenow`), and a block of fill colour flows across the track on a loop. `color=` / `status=` still recolour it. The animation respects `prefers-reduced-motion` (it holds a centred block instead of looping).
10
+ - Omit `value` (or pass `null`/`undefined`) for an ongoing task whose duration isn't known — exactly like a native `<progress>`, dropping the attribute switches the element into the `:indeterminate` state (no `aria-valuenow`), and a block of fill colour flows across the track on a loop. `color=` / `status=` still recolour it. The animation runs even under `prefers-reduced-motion` movement is the indeterminate bar's only signal, and a frozen block would read as a stalled bar.
11
11
  - `aria-valuetext` carries the formatted percentage, so assistive tech announces e.g. "75%".
12
12
  - Paints from the [tint ladder](/ui/TINT_CLASS): `color=` and `status=` move the tint anchor for the bar, so the fill (and track) re-derive together — `status="success"` gives a green bar, `color="purple"` a purple one. Without either, the bar takes the ambient tint (`--tint-50`, gray by default).
13
13
 
@@ -63,14 +63,7 @@
63
63
  background: transparent;
64
64
  }
65
65
 
66
- /* Honour reduced-motion: hold the block centred rather than looping. */
67
- @media (prefers-reduced-motion: reduce) {
68
- .progress:indeterminate,
69
- .prose progress:indeterminate {
70
- animation: none;
71
- background-position: 50% 0;
72
- }
73
- }
66
+ /* No `prefers-reduced-motion` override — movement is the indeterminate bar's only signal, so freezing it reads as a stalled determinate bar rather than "working". The animation is a small element-sized loop, not a large vestibular-trigger transition. */
74
67
  }
75
68
 
76
69
  /* The `progress-flow` keyframes referenced above live in the sibling non-module `Progress.css` — see the note there for why they can't be defined in this module file. */