polite-media 0.3.1 → 0.4.1
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 +53 -0
- package/README.md +54 -4
- package/dist/coordinator.d.ts +0 -12
- package/dist/coordinator.d.ts.map +1 -1
- package/dist/coordinator.js +47 -1
- package/dist/coordinator.js.map +1 -1
- package/dist/image.css +1 -1
- package/dist/image.d.ts.map +1 -1
- package/dist/image.js +37 -0
- package/dist/image.js.map +1 -1
- package/package.json +8 -2
- package/src/coordinator.ts +59 -1
- package/src/image.css +19 -13
- package/src/image.ts +42 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,59 @@
|
|
|
3
3
|
Notable changes, newest first. Versions follow [semver](https://semver.org); while
|
|
4
4
|
this is `0.x`, a minor bump may still break things and will say so here.
|
|
5
5
|
|
|
6
|
+
## 0.4.1 (2026-09-06)
|
|
7
|
+
|
|
8
|
+
### Fixed
|
|
9
|
+
|
|
10
|
+
- **A lazy image stayed blank in Firefox** until the failsafe revealed it five seconds later,
|
|
11
|
+
unfaded. The failsafe animation applied to every marked image, and an animation outranks normal
|
|
12
|
+
declarations in the cascade whatever their specificity, so it decided `opacity` and
|
|
13
|
+
`img[data-polite-reveal][data-polite-ready]` could not. It is now scoped to images that have not
|
|
14
|
+
been revealed yet.
|
|
15
|
+
|
|
16
|
+
Eager images were never affected, because they are marked ready inside the same task that applies
|
|
17
|
+
the stylesheet. That is why the existing test passed in every engine: it covered the eager half,
|
|
18
|
+
and asserted the attribute rather than what the pixels did.
|
|
19
|
+
|
|
20
|
+
## 0.4.0 (2026-09-05)
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
|
|
24
|
+
- **`data-polite-active` on `<html>`, for as long as any video is registered.**
|
|
25
|
+
Gives CSS a way to show a pause control only on pages that have a video,
|
|
26
|
+
without writing an attribute of your own:
|
|
27
|
+
|
|
28
|
+
```css
|
|
29
|
+
[data-polite-pause-control] {
|
|
30
|
+
display: none;
|
|
31
|
+
}
|
|
32
|
+
[data-polite-active] [data-polite-pause-control] {
|
|
33
|
+
display: inline-flex;
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
- **A warning when a second `register()` call's options are discarded.** The
|
|
38
|
+
first registration stands, so a later call cannot change a gate or a policy.
|
|
39
|
+
Quiet when the options match, which is what a client-side router re-running
|
|
40
|
+
the same call on a surviving element does.
|
|
41
|
+
|
|
42
|
+
- **A warning when `image.css` is not loaded** on a page that marks images with
|
|
43
|
+
`data-polite-reveal`. The attribute has no effect without the stylesheet.
|
|
44
|
+
|
|
45
|
+
- **The demos are published**, alongside a new landing page:
|
|
46
|
+
<https://sixra.github.io/polite-media/>. Demo pages now reference the build
|
|
47
|
+
and each other relatively, so they work under a path prefix as well as at a
|
|
48
|
+
root.
|
|
49
|
+
|
|
50
|
+
### Documentation
|
|
51
|
+
|
|
52
|
+
- How to compose an animation of your own with `data-polite-ready`, including
|
|
53
|
+
the failsafe to pair with it, and how a skipped `content-visibility: auto`
|
|
54
|
+
subtree affects the timing.
|
|
55
|
+
|
|
56
|
+
- The attribute table covers `data-polite-active`, and the status section says
|
|
57
|
+
where the library is in use.
|
|
58
|
+
|
|
6
59
|
## 0.3.1 (2026-09-02)
|
|
7
60
|
|
|
8
61
|
Documentation only. `src/` is identical to 0.3.0; this republishes so the npm
|
package/README.md
CHANGED
|
@@ -143,7 +143,7 @@ warmOnIntent('a[data-hero]', (link) => ({
|
|
|
143
143
|
|
|
144
144
|
## The attributes
|
|
145
145
|
|
|
146
|
-
|
|
146
|
+
Seven in total. The distinction that catches people is the middle column: two of
|
|
147
147
|
the ones you write are live on their own, and one is inert until you call
|
|
148
148
|
something.
|
|
149
149
|
|
|
@@ -155,6 +155,7 @@ something.
|
|
|
155
155
|
| `data-polite-ready` | the box, or the image | written by the library |
|
|
156
156
|
| `data-polite-failed` | the box | written by the library |
|
|
157
157
|
| `data-polite-paused` | `<html>` | written by the library |
|
|
158
|
+
| `data-polite-active` | `<html>` | written by the library |
|
|
158
159
|
|
|
159
160
|
`data-polite-reveal` is the one to be careful with. `image.css` hides a marked
|
|
160
161
|
image immediately, so marking one you never pass to `revealImages()` leaves it
|
|
@@ -162,9 +163,47 @@ hidden until the failsafe shows it, five seconds later and without a fade. The
|
|
|
162
163
|
console names any image in that state, so widen the selector or drop the
|
|
163
164
|
attribute.
|
|
164
165
|
|
|
165
|
-
|
|
166
|
+
`data-polite-active` is on `<html>` for as long as at least one video is
|
|
167
|
+
registered. A pause control is markup on every page, but it must not offer to
|
|
168
|
+
stop something that was never registered, and nothing else lets CSS answer that:
|
|
169
|
+
|
|
170
|
+
```css
|
|
171
|
+
[data-polite-pause-control] {
|
|
172
|
+
display: none;
|
|
173
|
+
}
|
|
174
|
+
[data-polite-active] [data-polite-pause-control] {
|
|
175
|
+
display: inline-flex;
|
|
176
|
+
}
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
The bottom four are yours to style against and never to write yourself. They are
|
|
166
180
|
the public CSS API, along with `--polite-fade` and `--polite-failsafe`.
|
|
167
181
|
|
|
182
|
+
### Composing your own animation with the reveal
|
|
183
|
+
|
|
184
|
+
Gating an animation of your own on `data-polite-ready` works, and needs one thing
|
|
185
|
+
you have to add yourself:
|
|
186
|
+
|
|
187
|
+
```css
|
|
188
|
+
/* the card waits for a decoded picture before it fades up */
|
|
189
|
+
.card.is-visible:has(img[data-polite-reveal]:not([data-polite-ready])) {
|
|
190
|
+
opacity: 0;
|
|
191
|
+
/* yours, not the library's: see below */
|
|
192
|
+
animation: your-failsafe 0s linear 5s forwards;
|
|
193
|
+
}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
`data-polite-ready` is written only by JavaScript, while the failsafe in
|
|
197
|
+
`image.css` is CSS-only and reveals **the image**, not a wrapper around it. So a
|
|
198
|
+
bundle that never arrives leaves your wrapper hidden for good even though the
|
|
199
|
+
library's own failsafe fired. Give any rule of yours that hides on
|
|
200
|
+
`:not([data-polite-ready])` its own failsafe on the same delay.
|
|
201
|
+
|
|
202
|
+
One limit worth knowing: a skipped `content-visibility: auto` subtree runs no
|
|
203
|
+
animations, so neither failsafe fires there until the section is scrolled into
|
|
204
|
+
view. It resolves itself the moment anyone looks at it, which is the only moment
|
|
205
|
+
it could have mattered.
|
|
206
|
+
|
|
168
207
|
## Markup contract
|
|
169
208
|
|
|
170
209
|
1. Poster and video share one box, arranged by your CSS.
|
|
@@ -647,13 +686,23 @@ most of the web, while every test on Chrome still passes.
|
|
|
647
686
|
bfcache restore, and mobile browsers pause video while the tab is hidden and
|
|
648
687
|
leave it paused on return.
|
|
649
688
|
|
|
689
|
+
**The details add up.** A hand-rolled version usually starts with an autoplaying
|
|
690
|
+
loop and a poster swap, and the rest arrives one bug at a time: an
|
|
691
|
+
`IntersectionObserver` so a hero stops decoding once it is scrolled past, a
|
|
692
|
+
crossfade that is wrong over a poster cut from frame 0, `prefers-reduced-motion`
|
|
693
|
+
read live rather than once at startup, a recovery path for a refused `play()`,
|
|
694
|
+
`tabindex="-1"` so decorative video stays out of the tab order, a warming
|
|
695
|
+
strategy that works outside Chromium, and a stop control, which
|
|
696
|
+
[WCAG 2.2.2][wcag] requires for anything that loops. Writing this yourself is not
|
|
697
|
+
hard; writing all of it is.
|
|
698
|
+
|
|
650
699
|
## Status
|
|
651
700
|
|
|
652
701
|
Framework-agnostic by construction: no framework dependency, standard DOM only,
|
|
653
702
|
developed against Astro projects.
|
|
654
703
|
|
|
655
704
|
**Tested on Chromium, Firefox and WebKit**, all three driven by Playwright
|
|
656
|
-
against real media on every change, alongside
|
|
705
|
+
against real media on every change, alongside 222 unit tests. Other engines are
|
|
657
706
|
unexercised rather than unsupported.
|
|
658
707
|
|
|
659
708
|
**iOS Safari is outside the matrix**, and Playwright's WebKit does not stand in
|
|
@@ -662,7 +711,8 @@ rejects with `NotAllowedError`; the library follows MDN's documented remedy of
|
|
|
662
711
|
surfacing a control and waiting for a gesture.
|
|
663
712
|
|
|
664
713
|
**`0.x`**, so a minor bump may still change behaviour; `CHANGELOG.md` says when
|
|
665
|
-
it does.
|
|
714
|
+
it does. In production use, and every case it handles is a page on the
|
|
715
|
+
[demo site](https://sixra.github.io/polite-media/).
|
|
666
716
|
|
|
667
717
|
Contributing, and how to run the suite: [CONTRIBUTING.md](CONTRIBUTING.md). MIT.
|
|
668
718
|
|
package/dist/coordinator.d.ts
CHANGED
|
@@ -175,18 +175,6 @@ export interface RegisterOptions {
|
|
|
175
175
|
startWhen?: StartWhen;
|
|
176
176
|
}
|
|
177
177
|
export declare function reconcile(): void;
|
|
178
|
-
/**
|
|
179
|
-
* Starts managing a video: reveals it on its first genuinely painted frame,
|
|
180
|
-
* plays it only while it is visible, falls through its `<source>` list when one
|
|
181
|
-
* cannot be decoded, and stops it when a gate closes.
|
|
182
|
-
*
|
|
183
|
-
* The video and its poster must already share a box carrying `data-polite-media`
|
|
184
|
-
* in the authored markup, and the video should be `muted loop playsinline
|
|
185
|
-
* preload="none"`. Calling this twice on the same element is a no-op.
|
|
186
|
-
*
|
|
187
|
-
* @param video the element to manage
|
|
188
|
-
* @param options see {@link RegisterOptions}
|
|
189
|
-
*/
|
|
190
178
|
export declare function register(video: HTMLVideoElement, options?: RegisterOptions): void;
|
|
191
179
|
/** Anything that names one or more videos. See {@link Target}. */
|
|
192
180
|
export type VideoTarget = Target<HTMLVideoElement>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"AAUA,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3D;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEnC;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,aAAa,CAAC;AAElE;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AA4ED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAcvD;AAwDD,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"AAUA,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3D;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEnC;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,aAAa,CAAC;AAElE;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AA4ED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAcvD;AAwDD,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAuhBD,wBAAgB,SAAS,IAAI,IAAI,CAsFhC;AA8ND,wBAAgB,QAAQ,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,GAAE,eAAoB,GAAG,IAAI,CA0DrF;AAED,kEAAkE;AAClE,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAEnD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,IAAI,CAAC,eAAe,EAAE,SAAS,CAAM,GAC7C,IAAI,CAEN;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAwBxD;AAoED,wBAAgB,QAAQ,IAAI,IAAI,CAG/B;AAED,sDAAsD;AACtD,wBAAgB,SAAS,IAAI,IAAI,CAGhC;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAQpC;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,IAAI,IAAI,CAQpC;AAED,0EAA0E;AAC1E,wBAAgB,OAAO,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAErF"}
|
package/dist/coordinator.js
CHANGED
|
@@ -833,9 +833,36 @@ function restorePaused() {
|
|
|
833
833
|
* @param video the element to manage
|
|
834
834
|
* @param options see {@link RegisterOptions}
|
|
835
835
|
*/
|
|
836
|
+
let warnedDroppedOptions = false;
|
|
837
|
+
/**
|
|
838
|
+
* A second `register()` for a live video keeps the first registration, so whatever the second call
|
|
839
|
+
* asked for is discarded. Silence is right where the values match, which is how a client-side
|
|
840
|
+
* router re-registering a surviving element behaves. It is wrong where they differ: the caller
|
|
841
|
+
* believes a gate or a policy is in force and it is not, and the only visible symptom is a video
|
|
842
|
+
* that starts when it should have waited.
|
|
843
|
+
*
|
|
844
|
+
* Compared against the live entry rather than warning on any options at all, so the documented
|
|
845
|
+
* pattern -- gate one video, then `registerAll` the rest -- stays quiet.
|
|
846
|
+
*/
|
|
847
|
+
function warnIfOptionsDropped(entry, video, options) {
|
|
848
|
+
if (warnedDroppedOptions)
|
|
849
|
+
return;
|
|
850
|
+
const differs = (options.until !== undefined && !entry.hadGate) ||
|
|
851
|
+
(options.startWhen !== undefined && options.startWhen !== entry.startWhen) ||
|
|
852
|
+
(options.observe !== undefined && options.observe !== entry.target);
|
|
853
|
+
if (!differs)
|
|
854
|
+
return;
|
|
855
|
+
warnedDroppedOptions = true;
|
|
856
|
+
console.warn('polite-media: this video is already registered, so the options passed to this second ' +
|
|
857
|
+
'register() call were discarded and the first registration still stands. Register it once ' +
|
|
858
|
+
'with the options it needs, or unregister() it before registering it again.', video);
|
|
859
|
+
}
|
|
836
860
|
export function register(video, options = {}) {
|
|
837
|
-
|
|
861
|
+
const registered = entries.get(video);
|
|
862
|
+
if (registered) {
|
|
863
|
+
warnIfOptionsDropped(registered, video, options);
|
|
838
864
|
return;
|
|
865
|
+
}
|
|
839
866
|
const target = options.observe ?? video;
|
|
840
867
|
// Entries are keyed by video but looked up by observed target, so two videos
|
|
841
868
|
// sharing one cannot both be tracked. Refused rather than silently overwritten:
|
|
@@ -852,6 +879,7 @@ export function register(video, options = {}) {
|
|
|
852
879
|
host: video.parentElement ?? video,
|
|
853
880
|
ratio: 0,
|
|
854
881
|
gated: Boolean(options.until),
|
|
882
|
+
hadGate: Boolean(options.until),
|
|
855
883
|
startWhen: options.startWhen,
|
|
856
884
|
seenConnected: video.isConnected,
|
|
857
885
|
prepared: false,
|
|
@@ -861,6 +889,7 @@ export function register(video, options = {}) {
|
|
|
861
889
|
};
|
|
862
890
|
entries.set(video, entry);
|
|
863
891
|
byTarget.set(target, entry);
|
|
892
|
+
reflectActive();
|
|
864
893
|
attachLifecycle();
|
|
865
894
|
getObserver().observe(target);
|
|
866
895
|
getPrefetchObserver()?.observe(target);
|
|
@@ -916,6 +945,7 @@ export function unregister(video) {
|
|
|
916
945
|
prefetchObserver?.unobserve(entry.target);
|
|
917
946
|
entries.delete(video);
|
|
918
947
|
byTarget.delete(entry.target);
|
|
948
|
+
reflectActive();
|
|
919
949
|
// Releasing the observers and listeners on the last video is what stops a
|
|
920
950
|
// client-router site accumulating one of each per page visited.
|
|
921
951
|
if (entries.size === 0) {
|
|
@@ -948,6 +978,21 @@ export function unregister(video) {
|
|
|
948
978
|
* `pauseAll()` twice is idempotent, and announcing a transition that did not
|
|
949
979
|
* happen would make a host's own state wrong.
|
|
950
980
|
*/
|
|
981
|
+
/**
|
|
982
|
+
* Marks the document while at least one video is managed.
|
|
983
|
+
*
|
|
984
|
+
* A pause control is markup on every page, but it must not offer to stop something that was never
|
|
985
|
+
* registered, and a host cannot answer that in CSS on its own. Both known consumers had invented
|
|
986
|
+
* the same attribute in their own namespace to do it, which is what makes this the library's job.
|
|
987
|
+
*
|
|
988
|
+
* Driven from the only two places `entries` changes, so it cannot drift from what is tracked.
|
|
989
|
+
*/
|
|
990
|
+
function reflectActive() {
|
|
991
|
+
if (entries.size > 0)
|
|
992
|
+
document.documentElement.setAttribute('data-polite-active', '');
|
|
993
|
+
else
|
|
994
|
+
document.documentElement.removeAttribute('data-polite-active');
|
|
995
|
+
}
|
|
951
996
|
function setPaused(paused) {
|
|
952
997
|
if (userPaused === paused)
|
|
953
998
|
return;
|
|
@@ -997,6 +1042,7 @@ export function unregisterAll() {
|
|
|
997
1042
|
setPaused(false);
|
|
998
1043
|
warnedNothingToReveal = false;
|
|
999
1044
|
warnedUnreachable = false;
|
|
1045
|
+
warnedDroppedOptions = false;
|
|
1000
1046
|
pauseControlChecked = false;
|
|
1001
1047
|
resetSourceWarnings();
|
|
1002
1048
|
}
|
package/dist/coordinator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"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"}
|
package/dist/image.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@media(scripting:enabled){img[data-polite-reveal]{opacity:0;transition:opacity var(--polite-fade, .35s) ease
|
|
1
|
+
@media(scripting:enabled){img[data-polite-reveal]{opacity:0;transition:opacity var(--polite-fade, .35s) ease}img[data-polite-reveal]:not([data-polite-ready]){animation:polite-reveal-failsafe 0s var(--polite-failsafe, 5s) forwards}img[data-polite-reveal][data-polite-ready]{opacity:1}@keyframes polite-reveal-failsafe{to{opacity:1}}}@media(prefers-reduced-motion:reduce){img[data-polite-reveal]{transition:none}}
|
package/dist/image.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3D,kEAAkE;AAClE,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAEnD,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3D,kEAAkE;AAClE,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAEnD,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AA6FD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,mBAAwB,GAAG,MAAM,IAAI,CA0D/F;AAKD,OAAO,EAAE,kBAAkB,EAAE,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/image.js
CHANGED
|
@@ -55,8 +55,45 @@ function scheduleUnmanagedCheck() {
|
|
|
55
55
|
'it late and unfaded. Widen the selector, or drop data-polite-reveal.', image);
|
|
56
56
|
return;
|
|
57
57
|
}
|
|
58
|
+
warnIfUnstyled();
|
|
58
59
|
}, 1000);
|
|
59
60
|
}
|
|
61
|
+
let warnedNoStylesheet = false;
|
|
62
|
+
/**
|
|
63
|
+
* image.css is the only thing that hides a marked image. Without it `data-polite-reveal` is inert:
|
|
64
|
+
* the image is never hidden, so it never fades and everything this module does is invisible.
|
|
65
|
+
*
|
|
66
|
+
* Bundlers make that easy to get wrong in one direction. A production build usually bundles every
|
|
67
|
+
* component's CSS site-wide, so a stylesheet imported anywhere covers everywhere, while a dev
|
|
68
|
+
* server serves it per component and does not. The result is a fade that works in a build and is
|
|
69
|
+
* missing in dev, on exactly the pages that do not render whichever component happened to import
|
|
70
|
+
* it.
|
|
71
|
+
*
|
|
72
|
+
* Measured on a throwaway element rather than on a real one, which is not a detail. Reading
|
|
73
|
+
* computed style off an image the library is mid-way through revealing forces a style flush before
|
|
74
|
+
* `data-polite-ready` lands, and Firefox then holds the failsafe animation's pre-delay value and
|
|
75
|
+
* leaves the image at `opacity: 0` for five seconds. A diagnostic must not be able to change what
|
|
76
|
+
* the page does.
|
|
77
|
+
*/
|
|
78
|
+
function warnIfUnstyled() {
|
|
79
|
+
if (warnedNoStylesheet)
|
|
80
|
+
return;
|
|
81
|
+
// Attached, because computed style against a stylesheet needs the element in the document, and
|
|
82
|
+
// removed in this same task so nothing paints it and no scan above ever sees it.
|
|
83
|
+
const probe = document.createElement('img');
|
|
84
|
+
probe.setAttribute('data-polite-reveal', '');
|
|
85
|
+
document.body.appendChild(probe);
|
|
86
|
+
const opacity = getComputedStyle(probe).opacity;
|
|
87
|
+
probe.remove();
|
|
88
|
+
// Only an explicit '1' is evidence of absence. An environment that reports '' knows nothing about
|
|
89
|
+
// the cascade -- happy-dom does, and does not implement `@media (scripting: enabled)` either --
|
|
90
|
+
// and a warning nobody can act on is worse than a missing one.
|
|
91
|
+
if (opacity !== '1')
|
|
92
|
+
return;
|
|
93
|
+
warnedNoStylesheet = true;
|
|
94
|
+
console.warn('polite-media: image.css is not in effect, so data-polite-reveal does nothing and marked ' +
|
|
95
|
+
"images will not fade. Import 'polite-media/image.css' from wherever the attribute is emitted.");
|
|
96
|
+
}
|
|
60
97
|
/**
|
|
61
98
|
* Reveals each matching image once it has decoded.
|
|
62
99
|
*
|
package/dist/image.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,kBAAkB,EAA+B,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAe,MAAM,cAAc,CAAC;AAsB3D,MAAM,KAAK,GAAG,mBAAmB,CAAC;AAElC,SAAS,SAAS,CAAC,KAAuB;IACxC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC9B,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAyB,kBAAkB,EAAE;QAC1D,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,EAAE,KAAK,EAAE;KAClB,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,GAAG,IAAI,OAAO,EAAoB,CAAC;AAEhD,IAAI,cAAyD,CAAC;AAE9D;;;;;;;;;;GAUG;AACH,SAAS,sBAAsB;IAC7B,YAAY,CAAC,cAAc,CAAC,CAAC;IAC7B,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;QAC/B,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,gBAAgB,CAAmB,yBAAyB,CAAC,EAAE,CAAC;YAC3F,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,SAAS;YACjC,OAAO,CAAC,IAAI,CACV,oFAAoF;gBAClF,sEAAsE,EACxE,KAAK,CACN,CAAC;YACF,OAAO;QACT,CAAC;
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "polite-media",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "Background video, image reveals and next-page image warming. Reveals on the frame that actually painted, plays only what is on screen, respects data and motion.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"video",
|
|
@@ -14,7 +14,13 @@
|
|
|
14
14
|
"performance",
|
|
15
15
|
"lcp",
|
|
16
16
|
"prefetch",
|
|
17
|
-
"srcset"
|
|
17
|
+
"srcset",
|
|
18
|
+
"hero-video",
|
|
19
|
+
"video-background",
|
|
20
|
+
"accessibility",
|
|
21
|
+
"wcag",
|
|
22
|
+
"reduced-motion",
|
|
23
|
+
"autoplay-policy"
|
|
18
24
|
],
|
|
19
25
|
"license": "MIT",
|
|
20
26
|
"author": "sixra",
|
package/src/coordinator.ts
CHANGED
|
@@ -339,6 +339,8 @@ interface Entry {
|
|
|
339
339
|
ratio: number;
|
|
340
340
|
/** Held out of arbitration until `until` settles. */
|
|
341
341
|
gated: boolean;
|
|
342
|
+
/** Whether a gate was ever supplied. `gated` clears on settle, so it cannot answer this. */
|
|
343
|
+
hadGate: boolean;
|
|
342
344
|
/**
|
|
343
345
|
* This element has been in the document at least once.
|
|
344
346
|
*
|
|
@@ -1135,8 +1137,46 @@ function restorePaused(): void {
|
|
|
1135
1137
|
* @param video the element to manage
|
|
1136
1138
|
* @param options see {@link RegisterOptions}
|
|
1137
1139
|
*/
|
|
1140
|
+
let warnedDroppedOptions = false;
|
|
1141
|
+
|
|
1142
|
+
/**
|
|
1143
|
+
* A second `register()` for a live video keeps the first registration, so whatever the second call
|
|
1144
|
+
* asked for is discarded. Silence is right where the values match, which is how a client-side
|
|
1145
|
+
* router re-registering a surviving element behaves. It is wrong where they differ: the caller
|
|
1146
|
+
* believes a gate or a policy is in force and it is not, and the only visible symptom is a video
|
|
1147
|
+
* that starts when it should have waited.
|
|
1148
|
+
*
|
|
1149
|
+
* Compared against the live entry rather than warning on any options at all, so the documented
|
|
1150
|
+
* pattern -- gate one video, then `registerAll` the rest -- stays quiet.
|
|
1151
|
+
*/
|
|
1152
|
+
function warnIfOptionsDropped(
|
|
1153
|
+
entry: Entry,
|
|
1154
|
+
video: HTMLVideoElement,
|
|
1155
|
+
options: RegisterOptions
|
|
1156
|
+
): void {
|
|
1157
|
+
if (warnedDroppedOptions) return;
|
|
1158
|
+
|
|
1159
|
+
const differs =
|
|
1160
|
+
(options.until !== undefined && !entry.hadGate) ||
|
|
1161
|
+
(options.startWhen !== undefined && options.startWhen !== entry.startWhen) ||
|
|
1162
|
+
(options.observe !== undefined && options.observe !== entry.target);
|
|
1163
|
+
if (!differs) return;
|
|
1164
|
+
|
|
1165
|
+
warnedDroppedOptions = true;
|
|
1166
|
+
console.warn(
|
|
1167
|
+
'polite-media: this video is already registered, so the options passed to this second ' +
|
|
1168
|
+
'register() call were discarded and the first registration still stands. Register it once ' +
|
|
1169
|
+
'with the options it needs, or unregister() it before registering it again.',
|
|
1170
|
+
video
|
|
1171
|
+
);
|
|
1172
|
+
}
|
|
1173
|
+
|
|
1138
1174
|
export function register(video: HTMLVideoElement, options: RegisterOptions = {}): void {
|
|
1139
|
-
|
|
1175
|
+
const registered = entries.get(video);
|
|
1176
|
+
if (registered) {
|
|
1177
|
+
warnIfOptionsDropped(registered, video, options);
|
|
1178
|
+
return;
|
|
1179
|
+
}
|
|
1140
1180
|
|
|
1141
1181
|
const target = options.observe ?? video;
|
|
1142
1182
|
// Entries are keyed by video but looked up by observed target, so two videos
|
|
@@ -1157,6 +1197,7 @@ export function register(video: HTMLVideoElement, options: RegisterOptions = {})
|
|
|
1157
1197
|
host: video.parentElement ?? video,
|
|
1158
1198
|
ratio: 0,
|
|
1159
1199
|
gated: Boolean(options.until),
|
|
1200
|
+
hadGate: Boolean(options.until),
|
|
1160
1201
|
startWhen: options.startWhen,
|
|
1161
1202
|
seenConnected: video.isConnected,
|
|
1162
1203
|
prepared: false,
|
|
@@ -1167,6 +1208,7 @@ export function register(video: HTMLVideoElement, options: RegisterOptions = {})
|
|
|
1167
1208
|
|
|
1168
1209
|
entries.set(video, entry);
|
|
1169
1210
|
byTarget.set(target, entry);
|
|
1211
|
+
reflectActive();
|
|
1170
1212
|
attachLifecycle();
|
|
1171
1213
|
getObserver().observe(target);
|
|
1172
1214
|
getPrefetchObserver()?.observe(target);
|
|
@@ -1229,6 +1271,7 @@ export function unregister(video: HTMLVideoElement): void {
|
|
|
1229
1271
|
prefetchObserver?.unobserve(entry.target);
|
|
1230
1272
|
entries.delete(video);
|
|
1231
1273
|
byTarget.delete(entry.target);
|
|
1274
|
+
reflectActive();
|
|
1232
1275
|
|
|
1233
1276
|
// Releasing the observers and listeners on the last video is what stops a
|
|
1234
1277
|
// client-router site accumulating one of each per page visited.
|
|
@@ -1263,6 +1306,20 @@ export function unregister(video: HTMLVideoElement): void {
|
|
|
1263
1306
|
* `pauseAll()` twice is idempotent, and announcing a transition that did not
|
|
1264
1307
|
* happen would make a host's own state wrong.
|
|
1265
1308
|
*/
|
|
1309
|
+
/**
|
|
1310
|
+
* Marks the document while at least one video is managed.
|
|
1311
|
+
*
|
|
1312
|
+
* A pause control is markup on every page, but it must not offer to stop something that was never
|
|
1313
|
+
* registered, and a host cannot answer that in CSS on its own. Both known consumers had invented
|
|
1314
|
+
* the same attribute in their own namespace to do it, which is what makes this the library's job.
|
|
1315
|
+
*
|
|
1316
|
+
* Driven from the only two places `entries` changes, so it cannot drift from what is tracked.
|
|
1317
|
+
*/
|
|
1318
|
+
function reflectActive(): void {
|
|
1319
|
+
if (entries.size > 0) document.documentElement.setAttribute('data-polite-active', '');
|
|
1320
|
+
else document.documentElement.removeAttribute('data-polite-active');
|
|
1321
|
+
}
|
|
1322
|
+
|
|
1266
1323
|
function setPaused(paused: boolean): void {
|
|
1267
1324
|
if (userPaused === paused) return;
|
|
1268
1325
|
userPaused = paused;
|
|
@@ -1316,6 +1373,7 @@ export function unregisterAll(): void {
|
|
|
1316
1373
|
setPaused(false);
|
|
1317
1374
|
warnedNothingToReveal = false;
|
|
1318
1375
|
warnedUnreachable = false;
|
|
1376
|
+
warnedDroppedOptions = false;
|
|
1319
1377
|
pauseControlChecked = false;
|
|
1320
1378
|
resetSourceWarnings();
|
|
1321
1379
|
}
|
package/src/image.css
CHANGED
|
@@ -36,19 +36,25 @@
|
|
|
36
36
|
img[data-polite-reveal] {
|
|
37
37
|
opacity: 0;
|
|
38
38
|
transition: opacity var(--polite-fade, 350ms) ease;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/*
|
|
42
|
+
* Nothing may stay hidden forever. Marking an image and never passing it to
|
|
43
|
+
* revealImages() used to leave it invisible permanently, and so did a bundle
|
|
44
|
+
* that never arrived; both resolve to merely unfaded.
|
|
45
|
+
*
|
|
46
|
+
* Scoped to images that still need rescuing, which is load-bearing rather than
|
|
47
|
+
* tidy. An animation outranks every normal declaration in the cascade whatever
|
|
48
|
+
* its specificity, so while this applies it decides `opacity` and the rule
|
|
49
|
+
* below cannot. Measured in Firefox: a lazy image marked ready a task after the
|
|
50
|
+
* stylesheet applied stayed at 0 for the whole delay and then snapped to 1
|
|
51
|
+
* unfaded, while Chromium and WebKit revealed it. Cancelling only the animation
|
|
52
|
+
* on such an image put it at 1 immediately.
|
|
53
|
+
*
|
|
54
|
+
* Eager images hid the bug, because they are marked ready inside the same task
|
|
55
|
+
* that applies the stylesheet, before this can take effect.
|
|
56
|
+
*/
|
|
57
|
+
img[data-polite-reveal]:not([data-polite-ready]) {
|
|
52
58
|
animation: polite-reveal-failsafe 0s var(--polite-failsafe, 5s) forwards;
|
|
53
59
|
}
|
|
54
60
|
|
package/src/image.ts
CHANGED
|
@@ -85,9 +85,51 @@ function scheduleUnmanagedCheck(): void {
|
|
|
85
85
|
);
|
|
86
86
|
return;
|
|
87
87
|
}
|
|
88
|
+
warnIfUnstyled();
|
|
88
89
|
}, 1000);
|
|
89
90
|
}
|
|
90
91
|
|
|
92
|
+
let warnedNoStylesheet = false;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* image.css is the only thing that hides a marked image. Without it `data-polite-reveal` is inert:
|
|
96
|
+
* the image is never hidden, so it never fades and everything this module does is invisible.
|
|
97
|
+
*
|
|
98
|
+
* Bundlers make that easy to get wrong in one direction. A production build usually bundles every
|
|
99
|
+
* component's CSS site-wide, so a stylesheet imported anywhere covers everywhere, while a dev
|
|
100
|
+
* server serves it per component and does not. The result is a fade that works in a build and is
|
|
101
|
+
* missing in dev, on exactly the pages that do not render whichever component happened to import
|
|
102
|
+
* it.
|
|
103
|
+
*
|
|
104
|
+
* Measured on a throwaway element rather than on a real one, which is not a detail. Reading
|
|
105
|
+
* computed style off an image the library is mid-way through revealing forces a style flush before
|
|
106
|
+
* `data-polite-ready` lands, and Firefox then holds the failsafe animation's pre-delay value and
|
|
107
|
+
* leaves the image at `opacity: 0` for five seconds. A diagnostic must not be able to change what
|
|
108
|
+
* the page does.
|
|
109
|
+
*/
|
|
110
|
+
function warnIfUnstyled(): void {
|
|
111
|
+
if (warnedNoStylesheet) return;
|
|
112
|
+
|
|
113
|
+
// Attached, because computed style against a stylesheet needs the element in the document, and
|
|
114
|
+
// removed in this same task so nothing paints it and no scan above ever sees it.
|
|
115
|
+
const probe = document.createElement('img');
|
|
116
|
+
probe.setAttribute('data-polite-reveal', '');
|
|
117
|
+
document.body.appendChild(probe);
|
|
118
|
+
const opacity = getComputedStyle(probe).opacity;
|
|
119
|
+
probe.remove();
|
|
120
|
+
|
|
121
|
+
// Only an explicit '1' is evidence of absence. An environment that reports '' knows nothing about
|
|
122
|
+
// the cascade -- happy-dom does, and does not implement `@media (scripting: enabled)` either --
|
|
123
|
+
// and a warning nobody can act on is worse than a missing one.
|
|
124
|
+
if (opacity !== '1') return;
|
|
125
|
+
|
|
126
|
+
warnedNoStylesheet = true;
|
|
127
|
+
console.warn(
|
|
128
|
+
'polite-media: image.css is not in effect, so data-polite-reveal does nothing and marked ' +
|
|
129
|
+
"images will not fade. Import 'polite-media/image.css' from wherever the attribute is emitted."
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
|
|
91
133
|
/**
|
|
92
134
|
* Reveals each matching image once it has decoded.
|
|
93
135
|
*
|