@usableapp/cardds 0.6.1 → 0.6.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/CHANGELOG.md +5 -0
- package/css/step.css +15 -0
- package/dist/cardds.css +15 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
> For: a project that consumes `@usableapp/cardds` and its AI — what changed between versions, written as before → after, so a screen can be brought up to date without reading the source. Newest first. A consumer never edits cardds; if something here leaves you without a way to do what you did before, report the gap.
|
|
4
4
|
|
|
5
|
+
## 0.6.2 — 2026-09-23
|
|
6
|
+
|
|
7
|
+
- **The picture stays put, only the words scroll** (Lh 2026-09-23): in a `Step`, a `BaseContent` whose FIRST child is a picture (`img` / `Placeholder`) keeps it sticky at the top of the reading block, and the heading and words scroll under it. The picture is capped at 40% of the step's height (`min(--base-content-media-h, --step-media-share)`, new knob `--step-media-share`, default `40cqh`), so on a short phone or at a large text size the picture gives way, never the words. Nothing to change in an app.
|
|
8
|
+
- A larger opening picture is a theme setting, not a code change: `:root { --base-content-media-h: 18.75rem; }` (300px; the 40% cap still applies inside a Step).
|
|
9
|
+
|
|
5
10
|
## 0.6.1 — 2026-09-22
|
|
6
11
|
|
|
7
12
|
- **A screen with no bar** (Lh 2026-09-22): a `Step` that is the `Screen`'s first child starts its words 15% of the screen's height down — `--screen-lead` (a knob, `15cqh`; `Screen fill` is a size container, `--_lead` is registered so the share resolves against the screen). Story `Step · NoBar`.
|
package/css/step.css
CHANGED
|
@@ -102,3 +102,18 @@
|
|
|
102
102
|
overflow-y: auto;
|
|
103
103
|
overscroll-behavior: contain;
|
|
104
104
|
}
|
|
105
|
+
|
|
106
|
+
/* a picture that opens the words stays put, only the words scroll under it (Lh 2026-09-23, timebank's walk at large text:
|
|
107
|
+
the picture scrolled away with the words). Sticky at the top of the reading block's scroller, on the base's ground so the
|
|
108
|
+
words pass under it; capped at a share of the STEP (a size container) so the words always keep more than half the column —
|
|
109
|
+
the picture gives way on a short phone or at a big text size, never the words. */
|
|
110
|
+
.step > .base-content > :is(img, .ph):first-child,
|
|
111
|
+
.step > .pages > .base-content > :is(img, .ph):first-child {
|
|
112
|
+
position: sticky;
|
|
113
|
+
top: 0;
|
|
114
|
+
z-index: 1;
|
|
115
|
+
background-color: var(--surface); /* the words pass UNDER it, never through a transparent picture */
|
|
116
|
+
max-height: min(var(--base-content-media-h, 14rem), var(--step-media-share, 40cqh));
|
|
117
|
+
}
|
|
118
|
+
.step > .base-content > .ph:first-child,
|
|
119
|
+
.step > .pages > .base-content > .ph:first-child { height: min(var(--base-content-media-h, 14rem), var(--step-media-share, 40cqh)); }
|
package/dist/cardds.css
CHANGED
|
@@ -1563,6 +1563,21 @@ button { font: inherit; cursor: pointer; }
|
|
|
1563
1563
|
overscroll-behavior: contain;
|
|
1564
1564
|
}
|
|
1565
1565
|
|
|
1566
|
+
/* a picture that opens the words stays put, only the words scroll under it (Lh 2026-09-23, timebank's walk at large text:
|
|
1567
|
+
the picture scrolled away with the words). Sticky at the top of the reading block's scroller, on the base's ground so the
|
|
1568
|
+
words pass under it; capped at a share of the STEP (a size container) so the words always keep more than half the column —
|
|
1569
|
+
the picture gives way on a short phone or at a big text size, never the words. */
|
|
1570
|
+
.step > .base-content > :is(img, .ph):first-child,
|
|
1571
|
+
.step > .pages > .base-content > :is(img, .ph):first-child {
|
|
1572
|
+
position: sticky;
|
|
1573
|
+
top: 0;
|
|
1574
|
+
z-index: 1;
|
|
1575
|
+
background-color: var(--surface); /* the words pass UNDER it, never through a transparent picture */
|
|
1576
|
+
max-height: min(var(--base-content-media-h, 14rem), var(--step-media-share, 40cqh));
|
|
1577
|
+
}
|
|
1578
|
+
.step > .base-content > .ph:first-child,
|
|
1579
|
+
.step > .pages > .base-content > .ph:first-child { height: min(var(--base-content-media-h, 14rem), var(--step-media-share, 40cqh)); }
|
|
1580
|
+
|
|
1566
1581
|
/* ---- css/forms.css — outlined fields, add-row ---- */
|
|
1567
1582
|
/* ============================================================
|
|
1568
1583
|
cardds/forms.css — inputs + inline form actions
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@usableapp/cardds",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.2",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "card-first mobile design system, React-first: the components in src/ are thin wrappers over the CSS contract (css/*.css stays the only truth); gallery/ shows every story live (npm run dev), tests/ measures the geometry.",
|