@neuravision/construct 2.3.1 → 2.3.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 +24 -0
- package/components/README.md +1 -1
- package/components/table.css +5 -3
- package/components/tabs.css +5 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,30 @@ All notable changes to `@neuravision/construct` will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
## [2.3.2] - 2026-10-12
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- `ct-tabs` clamps its content track like every other grid content slot since 2.3.1. Its `auto`
|
|
15
|
+
column grew to the widest panel's max-content size, so a table or other wide content in a tab
|
|
16
|
+
panel stretched the whole tab set — list and panel — past the width it was given; on a phone the
|
|
17
|
+
surrounding card clipped it. Content now wraps or scrolls inside the panel. `ct-tabs--vertical`
|
|
18
|
+
clamps its panel column the same way. The Content Slot Containment story covers tabs: on the
|
|
19
|
+
previous CSS the panel track measured 426.4px inside a 320px slot.
|
|
20
|
+
- Table cell modifiers align their column again. `.ct-table th, .ct-table td` set
|
|
21
|
+
`text-align: start` with a higher specificity than `ct-table__cell--numeric`, `--actions` and
|
|
22
|
+
`--checkbox`, so numbers and row actions stayed left-aligned and checkboxes uncentred. The
|
|
23
|
+
modifiers are now scoped to `.ct-table`; the new Card & Table "Cell types" story checks the
|
|
24
|
+
computed alignment.
|
|
25
|
+
- `publish.sh` asks for a one-time password whenever npm demands one. It assumed that an
|
|
26
|
+
`NPM_TOKEN` in the environment made 2FA unnecessary, which only holds for automation tokens —
|
|
27
|
+
with any other credential the publish stopped at `EOTP` and the script had no way to recover,
|
|
28
|
+
because its OTP prompt sat in the branch without a token. The token now only authenticates,
|
|
29
|
+
the prompt is shared by both paths, and a failure that is not `EOTP` aborts instead of asking
|
|
30
|
+
for a code.
|
|
31
|
+
|
|
8
32
|
## [2.3.1] - 2026-09-17
|
|
9
33
|
|
|
10
34
|
### Fixed
|
package/components/README.md
CHANGED
|
@@ -215,7 +215,7 @@ Content card with header, body, and footer:
|
|
|
215
215
|
```
|
|
216
216
|
|
|
217
217
|
`ct-card__body` clamps its content track, as every grid content slot does (`ct-modal__body`,
|
|
218
|
-
`ct-drawer__body`, `ct-field`, `ct-alert`, `ct-confirmation`). Content wider than the card wraps,
|
|
218
|
+
`ct-drawer__body`, `ct-field`, `ct-alert`, `ct-confirmation`, `ct-tabs`). Content wider than the card wraps,
|
|
219
219
|
truncates, or scrolls inside its own scroll container — `ct-table-wrap` for tables — instead of
|
|
220
220
|
stretching the card past the width it was given.
|
|
221
221
|
|
package/components/table.css
CHANGED
|
@@ -115,17 +115,19 @@ th[aria-sort='descending'] .ct-table__sort-indicator::before {
|
|
|
115
115
|
justify-content: flex-end;
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
|
|
118
|
+
/* Cell modifiers are scoped to the table so they outrank the base
|
|
119
|
+
`.ct-table th/td` alignment; unscoped, `text-align: start` always won. */
|
|
120
|
+
.ct-table .ct-table__cell--checkbox {
|
|
119
121
|
width: var(--space-8);
|
|
120
122
|
text-align: center;
|
|
121
123
|
}
|
|
122
124
|
|
|
123
|
-
.ct-table__cell--numeric {
|
|
125
|
+
.ct-table .ct-table__cell--numeric {
|
|
124
126
|
text-align: end;
|
|
125
127
|
font-variant-numeric: tabular-nums;
|
|
126
128
|
}
|
|
127
129
|
|
|
128
|
-
.ct-table__cell--actions {
|
|
130
|
+
.ct-table .ct-table__cell--actions {
|
|
129
131
|
text-align: end;
|
|
130
132
|
white-space: nowrap;
|
|
131
133
|
}
|
package/components/tabs.css
CHANGED
|
@@ -10,6 +10,9 @@
|
|
|
10
10
|
--ct-tabs-indicator-color: var(--color-brand-accent);
|
|
11
11
|
|
|
12
12
|
display: grid;
|
|
13
|
+
/* Clamped content track: a panel's projected content wraps or scrolls inside
|
|
14
|
+
the tabs instead of widening them. See `.ct-card__body`. */
|
|
15
|
+
grid-template-columns: minmax(0, 1fr);
|
|
13
16
|
gap: var(--ct-tabs-gap);
|
|
14
17
|
}
|
|
15
18
|
|
|
@@ -119,7 +122,8 @@ a.ct-tabs__trigger:active {
|
|
|
119
122
|
/* Vertical orientation */
|
|
120
123
|
|
|
121
124
|
.ct-tabs--vertical {
|
|
122
|
-
|
|
125
|
+
/* The panel column is clamped so wide content stays inside the tabs. */
|
|
126
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
123
127
|
}
|
|
124
128
|
|
|
125
129
|
.ct-tabs--vertical .ct-tabs__list {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neuravision/construct",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.2",
|
|
4
4
|
"description": "Construct Design System - Accessible, token-based design system for modern web applications",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -116,10 +116,10 @@
|
|
|
116
116
|
"@storybook/addon-themes": "^10.5.0",
|
|
117
117
|
"@storybook/addon-vitest": "^10.5.0",
|
|
118
118
|
"@storybook/html-vite": "^10.5.0",
|
|
119
|
-
"@vitest/browser-playwright": "^4.1.
|
|
119
|
+
"@vitest/browser-playwright": "^4.1.11",
|
|
120
120
|
"playwright": "^1.61.1",
|
|
121
121
|
"remark-gfm": "^4.0.1",
|
|
122
122
|
"storybook": "^10.5.0",
|
|
123
|
-
"vitest": "^4.1.
|
|
123
|
+
"vitest": "^4.1.11"
|
|
124
124
|
}
|
|
125
125
|
}
|