@quario/landing 0.2.0 → 0.2.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 +7 -0
- package/README.md +22 -18
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ render boundary across their lifetime, and both draw a panel when something fail
|
|
|
6
6
|
that which are easy to get subtly wrong — and invisible when they are — live here once.
|
|
7
7
|
|
|
8
8
|
You almost certainly do not install this package. The two surfaces depend on it and run it for
|
|
9
|
-
you
|
|
9
|
+
you. It holds no report vocabulary and renders nothing.
|
|
10
10
|
|
|
11
11
|
## Install
|
|
12
12
|
|
|
@@ -15,8 +15,8 @@ npm install @quario/landing
|
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
One runtime dependency, `@quario/layout`, which the paged sheet paints through. It implements
|
|
18
|
-
Lit's `ReactiveController` protocol, which is structural, so
|
|
19
|
-
time and
|
|
18
|
+
Lit's `ReactiveController` protocol, which is structural, so this package imports nothing from
|
|
19
|
+
`lit` at run time and adds none of it to your tree.
|
|
20
20
|
|
|
21
21
|
ESM-only, Node 22+, and browser-ready through a standards-based bundler. CSP-safe: no
|
|
22
22
|
string-to-code paths anywhere.
|
|
@@ -24,32 +24,36 @@ string-to-code paths anywhere.
|
|
|
24
24
|
## What is here
|
|
25
25
|
|
|
26
26
|
**`options()`** — the option check across one update cycle. A host writes several properties at
|
|
27
|
-
once and gets one render, so the checks have to agree that
|
|
28
|
-
write to another, that a property still broken keeps the element failing rather than being cleared
|
|
29
|
-
by an unrelated write, and that writing one property does not clobber what another committed. The
|
|
30
|
-
checks themselves are each surface's own; only that agreement is here.
|
|
27
|
+
once and gets one render, so the checks have to agree that:
|
|
31
28
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
- one bad property does not block a good write to another,
|
|
30
|
+
- a property still broken keeps the element failing, rather than an unrelated write clearing it,
|
|
31
|
+
- writing one property does not clobber what another committed.
|
|
32
|
+
|
|
33
|
+
The checks themselves are each surface's own. Only that agreement is here.
|
|
34
|
+
|
|
35
|
+
**`Landing`** — the render boundary: whether a render has ever painted the sheet, whether the
|
|
36
|
+
element abandoned work mid-flight, and the counter that asks for a fresh one. A disconnected
|
|
37
|
+
element abandons work rather than hiding it, and comes back owing a render.
|
|
35
38
|
|
|
36
39
|
**`sheet()`** — the paged sheet both surfaces paint on: the extent of a display list, and the
|
|
37
|
-
reach within it carrying elements and pixels. The sheet element
|
|
40
|
+
reach within it carrying elements and pixels. The sheet element takes its own height and width
|
|
38
41
|
from the list's paper and paints the page silhouettes itself, so the extent a reader scrolls
|
|
39
|
-
through is whole whatever is standing
|
|
42
|
+
through is whole whatever is standing. Only the pages in the reach have a canvas, positioned
|
|
40
43
|
absolutely at the offset `topOf()` reports. A list has one paper, so the pages are a pitch apart:
|
|
41
|
-
a position is a multiple of it and the reach's two ends are a division by it.
|
|
42
|
-
scale policy stays with each surface, and so does the
|
|
43
|
-
margins. Everything that places a page is `sheet()`'s
|
|
44
|
+
a position is a multiple of it and the reach's two ends are a division by it. `sheet()` takes a
|
|
45
|
+
`scale()` thunk and the two elements, so scale policy stays with each surface, and so does the
|
|
46
|
+
look of a page — the paper, the shadow, the margins. Everything that places a page is `sheet()`'s
|
|
47
|
+
and needs no stylesheet from the caller.
|
|
44
48
|
|
|
45
|
-
**`failures()`** — which failure a panel
|
|
46
|
-
repeat announces again is a policy the caller passes in, never a rule settled here
|
|
49
|
+
**`failures()`** — which failure a panel carries and whether the reader dismissed it. Whether
|
|
50
|
+
a repeat announces again is a policy the caller passes in, never a rule settled here. It is
|
|
47
51
|
downstream of what re-runs the render, which is the one thing the two surfaces do not share.
|
|
48
52
|
|
|
49
53
|
## What is not here
|
|
50
54
|
|
|
51
55
|
Each surface's own property checks, its panel markup, and its public API. The two elements differ
|
|
52
|
-
in their vocabulary and in their policy
|
|
56
|
+
in their vocabulary and in their policy. Only the machinery underneath is one thing.
|
|
53
57
|
|
|
54
58
|
## Documentation
|
|
55
59
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quario/landing",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "What quario's two surface elements share — the option check, the render boundary and the failure state — in the makings, not yet released",
|
|
5
5
|
"homepage": "https://getquario.com",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"test:browser": "node test/browser/setup.js"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@quario/layout": "^0.
|
|
39
|
+
"@quario/layout": "^0.6.0"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@arethetypeswrong/cli": "^0.18.3",
|