@iyulab/house-style 0.1.1 → 0.1.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 +14 -0
- package/README.md +4 -0
- package/package.json +4 -3
- package/styles/components.css +7 -0
- package/styles/patterns.css +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.1.2] - 2026-10-06
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- **Plain links take the house link colour.** The theme defined `--u-link-txt-color` but only
|
|
8
|
+
`hs-*` classes read it, so a link without a class kept the browser's blue (`#0000EE`, and a
|
|
9
|
+
different blue again in dark mode). A zero-specificity `:where(a:any-link)` default now applies the
|
|
10
|
+
token; a class on the link and any application rule still win. The underline stays.
|
|
11
|
+
- **A table's totals get one separating line, not one per row.** `.hs-table tfoot td` drew a top
|
|
12
|
+
border on every totals row, so subtotal · tax · total read as stripes. The line is now on the first
|
|
13
|
+
totals row only.
|
|
14
|
+
- A whole card as a link (`a.hs-card`) keeps ink text and no underline, and a `.hs-views__tab`
|
|
15
|
+
rendered as a link has no underline — both used to take the browser's link styling.
|
|
16
|
+
|
|
3
17
|
## [0.1.1] - 2026-10-05
|
|
4
18
|
|
|
5
19
|
### Fixed
|
package/README.md
CHANGED
|
@@ -126,6 +126,10 @@ site; run it locally with (needs network and Playwright's Chromium):
|
|
|
126
126
|
npm run check:start-here -w @iyulab/house-style
|
|
127
127
|
```
|
|
128
128
|
|
|
129
|
+
`check:start-here:local` walks the same path with this working tree's `@iyulab/house-style`
|
|
130
|
+
packed in place of the registry's — run it before tagging a release. The deploy workflow runs
|
|
131
|
+
both on every push to `main`.
|
|
132
|
+
|
|
129
133
|
## License
|
|
130
134
|
|
|
131
135
|
MIT
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iyulab/house-style",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "The iyulab house theme: a CSS-only theme for @iyulab components — tokens, component recipes, line-of-business layout patterns and a Tailwind CSS v4 preset — plus the guide site that documents it.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"typecheck": "tsc --noEmit",
|
|
36
36
|
"check:start-here": "node scripts/check-start-here.mjs",
|
|
37
37
|
"check:start-here:local": "node scripts/check-start-here.mjs --local",
|
|
38
|
+
"pretest": "node -e \"if(require('fs').existsSync('../../scripts/sibling-dist-check.js'))require('child_process').execFileSync('node',['../../scripts/sibling-dist-check.js'],{stdio:'inherit'})\"",
|
|
38
39
|
"test": "node --test \"tests/*.test.mjs\""
|
|
39
40
|
},
|
|
40
41
|
"engines": {
|
|
@@ -58,8 +59,8 @@
|
|
|
58
59
|
},
|
|
59
60
|
"devDependencies": {
|
|
60
61
|
"@iyulab/components": "^2.0.0",
|
|
61
|
-
"@iyulab/data-components": "^0.
|
|
62
|
-
"@iyulab/enterprise": "^0.
|
|
62
|
+
"@iyulab/data-components": "^0.35.0",
|
|
63
|
+
"@iyulab/enterprise": "^0.24.0",
|
|
63
64
|
"@iyulab/modern-app": "^0.34.0",
|
|
64
65
|
"@iyulab/router": "^0.19.0",
|
|
65
66
|
"@iyulab/u-widgets": "^0.24.0",
|
package/styles/components.css
CHANGED
|
@@ -21,6 +21,13 @@
|
|
|
21
21
|
color: var(--u-txt-color);
|
|
22
22
|
-webkit-font-smoothing: antialiased;
|
|
23
23
|
}
|
|
24
|
+
/* A plain link takes the house link colour instead of the browser's — in light and dark alike.
|
|
25
|
+
* Zero specificity: a class on the link (`hs-*`, an app's own) and any application rule win.
|
|
26
|
+
* Visited links keep the same colour (an application, not a document); the underline stays,
|
|
27
|
+
* so a link in running text is not told apart by colour alone. */
|
|
28
|
+
:where(a:any-link) {
|
|
29
|
+
color: var(--u-link-txt-color);
|
|
30
|
+
}
|
|
24
31
|
|
|
25
32
|
/* ── Button — 28 / 32 / 40, medium weight ─────────────────────────────── *
|
|
26
33
|
* Height follows the components' own formula (1.5em line + 2 × padding + 2px border), so
|
package/styles/patterns.css
CHANGED
|
@@ -90,6 +90,7 @@
|
|
|
90
90
|
font-size: 13px;
|
|
91
91
|
line-height: 20px;
|
|
92
92
|
color: var(--u-txt-color-weak);
|
|
93
|
+
text-decoration: none; /* a tab may be a link (`aria-current="page"`) */
|
|
93
94
|
white-space: nowrap;
|
|
94
95
|
cursor: pointer;
|
|
95
96
|
}
|
|
@@ -276,9 +277,10 @@
|
|
|
276
277
|
.hs-table tr[aria-selected='true'] td { background: var(--u-primary-bg-color); }
|
|
277
278
|
.hs-table tfoot td {
|
|
278
279
|
height: var(--hs-row, 40px);
|
|
279
|
-
border-top: 1px solid var(--u-border-color);
|
|
280
280
|
font-weight: 600;
|
|
281
281
|
}
|
|
282
|
+
/* One line separates the totals from the body — not one per totals row (subtotal · tax · total). */
|
|
283
|
+
.hs-table tfoot tr:first-child td { border-top: 1px solid var(--u-border-color); }
|
|
282
284
|
.hs-table--compact td { height: var(--hs-row-compact, 32px); }
|
|
283
285
|
.hs-table--top td { vertical-align: top; padding-block: var(--u-space-sm, 8px); height: auto; }
|
|
284
286
|
/* Cells (`th` too — header text aligns with its values) */
|
|
@@ -359,6 +361,8 @@ tr[aria-selected='true'] .hs-row-actions {
|
|
|
359
361
|
.hs-card__link:hover { text-decoration: underline; }
|
|
360
362
|
a.hs-card,
|
|
361
363
|
.hs-card--link { cursor: pointer; transition: border-color 0.12s ease-out; }
|
|
364
|
+
/* A whole card as a link reads as a card: ink text, no underline — the border carries hover. */
|
|
365
|
+
a.hs-card { color: inherit; text-decoration: none; }
|
|
362
366
|
a.hs-card:hover,
|
|
363
367
|
.hs-card--link:hover { border-color: var(--u-border-color-strong); }
|
|
364
368
|
@media (prefers-reduced-motion: reduce) {
|