@quario/html 0.3.0 → 0.4.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 +16 -0
- package/README.md +7 -7
- package/lib/index.js +8 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.4.0] - 2026-09-03
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- **A split slot's box now fills the split's height.** Before, a slot's
|
|
15
|
+
background and border stopped at that slot's own content, leaving a gap under
|
|
16
|
+
any slot shorter than its neighbours. The slot wrapper now carries inline
|
|
17
|
+
`display:grid`, so the item inside it fills the row; a slot's item markup is
|
|
18
|
+
unchanged. See the `@quario/layout` changelog for the rule and for what it
|
|
19
|
+
costs a report that relied on the short box.
|
|
20
|
+
|
|
21
|
+
- **A date string under `format: "date"` now presents as a date.** The
|
|
22
|
+
engine's `format()` helper revives the two read forms, so a cell that
|
|
23
|
+
rendered `2026-08-14` verbatim now renders the presented date. See the
|
|
24
|
+
`quario` changelog for the forms and the timezone rule.
|
|
25
|
+
|
|
10
26
|
## [0.3.0] - 2026-09-02
|
|
11
27
|
|
|
12
28
|
### Added
|
package/README.md
CHANGED
|
@@ -97,13 +97,13 @@ host. Compilation stays synchronous; render-time failures reject with the same l
|
|
|
97
97
|
These classes are the contract host CSS targets. They are stable, and changing them is a breaking
|
|
98
98
|
change.
|
|
99
99
|
|
|
100
|
-
| Emits | For
|
|
101
|
-
| ----------------------------------------- |
|
|
102
|
-
| `<div class="q-item q-<role>">` | Every item. Roles: `q-report-header`, `q-empty`, `q-group-header`, `q-detail`, `q-group-footer`, `q-report-footer`
|
|
103
|
-
| `<div class="q-group" data-group="name">` | Each group instance, wrapping its header, nested content, and footer. Adds `q-break` when the group declares `break: "page"` or `reset: "page"`
|
|
104
|
-
| `<table class="q-table">` | Each table, with a real `colgroup`, `thead`, `tbody`, and a `tfoot` when totals are declared
|
|
105
|
-
| `<div class="q-item q-image q-<role>">` | Each image item, holding one `<img>` whose `src` is a base64 `data:` URI of the event's bytes; the rendered `alt` is escaped
|
|
106
|
-
| `<div class="q-split q-<role>">` | Each split, carrying inline `display:flex`; its slots are `<div class="q-slot">`
|
|
100
|
+
| Emits | For |
|
|
101
|
+
| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
102
|
+
| `<div class="q-item q-<role>">` | Every item. Roles: `q-report-header`, `q-empty`, `q-group-header`, `q-detail`, `q-group-footer`, `q-report-footer` |
|
|
103
|
+
| `<div class="q-group" data-group="name">` | Each group instance, wrapping its header, nested content, and footer. Adds `q-break` when the group declares `break: "page"` or `reset: "page"` |
|
|
104
|
+
| `<table class="q-table">` | Each table, with a real `colgroup`, `thead`, `tbody`, and a `tfoot` when totals are declared |
|
|
105
|
+
| `<div class="q-item q-image q-<role>">` | Each image item, holding one `<img>` whose `src` is a base64 `data:` URI of the event's bytes; the rendered `alt` is escaped |
|
|
106
|
+
| `<div class="q-split q-<role>">` | Each split, carrying inline `display:flex`; its slots are `<div class="q-slot">` carrying inline `display:grid` and their share, each holding the slot item's ordinary container |
|
|
107
107
|
|
|
108
108
|
A column `width` becomes an inline `width:<n>%` on its `<col>`. The classes above belong to this
|
|
109
109
|
target. The schema never speaks in CSS. Displaying a fragment that contains images under a Content
|
package/lib/index.js
CHANGED
|
@@ -256,9 +256,16 @@ let styling = (fonts) => {
|
|
|
256
256
|
|
|
257
257
|
// One slot's wrapper. An authored share is that width; a width-less slot
|
|
258
258
|
// divides what the sized ones leave, exactly as a width-less column does.
|
|
259
|
+
// `display:grid` is what gives a slot's box the split's height rather than its
|
|
260
|
+
// own content's: the wrapper already stretches as a flex item, and a grid makes
|
|
261
|
+
// its single child fill it in both axes. It belongs here and not on the
|
|
262
|
+
// fragment, because a slot's item is the same `q-item` div it would be
|
|
263
|
+
// anywhere else -- nothing about an item's markup depends on where it sits.
|
|
259
264
|
/** @type {(slot: { width?: number } | undefined) => string} */
|
|
260
265
|
let slotAttr = (slot) =>
|
|
261
|
-
' style="' +
|
|
266
|
+
' style="' +
|
|
267
|
+
esc("display:grid;" + (slot && slot.width != null ? "width:" + slot.width + "%" : "flex:1")) +
|
|
268
|
+
'"';
|
|
262
269
|
|
|
263
270
|
// The identity attribute, escaped like every other generated value at this
|
|
264
271
|
// edge. `mark` is the factory's verdict: a render without `paths` maps every
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quario/html",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "The HTML render target for quario — in the makings, not yet released",
|
|
5
5
|
"homepage": "https://getquario.com",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -39,12 +39,12 @@
|
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@arethetypeswrong/cli": "^0.18.3",
|
|
41
41
|
"@size-limit/preset-small-lib": "^13.0.3",
|
|
42
|
-
"quario": "^0.
|
|
42
|
+
"quario": "^0.4.0",
|
|
43
43
|
"size-limit": "^13.0.3",
|
|
44
44
|
"typescript": "^7.0.2"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
|
-
"quario": "^0.
|
|
47
|
+
"quario": "^0.4.0"
|
|
48
48
|
},
|
|
49
49
|
"size-limit": [
|
|
50
50
|
{
|