kerfjs 5.0.0-beta.23 → 5.0.0-beta.25
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 +88 -0
- package/ai/manifest.json +1 -1
- package/package.json +6 -5
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,94 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
- Added configuration-first application-panel policies across `ResizableRegion`,
|
|
10
|
+
`Workbench`, and `CollapsiblePanel`: separator visibility, instant-track
|
|
11
|
+
collapse with optional composited content motion, popup-safe overflow,
|
|
12
|
+
inline/overlay/hidden responsive presentations, and safe-area restore-control
|
|
13
|
+
placement. `wireResizableRegions` now suppresses motion during pointer drags
|
|
14
|
+
and ignores unavailable regions; `wireSidebar` supports hidden compact
|
|
15
|
+
replacements and exclusive overlays.
|
|
16
|
+
- Added typed `TabBar` allocation/presentation/action-placement and `AppTab`
|
|
17
|
+
presentation/size/label-width variants for segmented inspector strips,
|
|
18
|
+
compact drawer tabs, icon-only accessible tabs, and truncating labels.
|
|
19
|
+
- Added typed `ToolbarControlGroup` size, density, content anatomy, selected
|
|
20
|
+
chrome/tone, nested-dropdown, and avatar scrim variants.
|
|
21
|
+
- Added typed `Select` form, borderless-toolbar, intrinsic-navigation, compact,
|
|
22
|
+
icon-only-selected, truncation, and composed focus-ring variants.
|
|
23
|
+
- Added `DialogSurface` and `PopupSurface` composition APIs for standard dialog
|
|
24
|
+
sizes/presentations, independent body/footer insets, and list-compatible popup
|
|
25
|
+
menu insets without consumer `::part()` overrides.
|
|
26
|
+
- **Breaking (`@kerfjs/ui`):** removed `PanelHeader` and its subpath/CSS export.
|
|
27
|
+
Compose page, panel, and dialog headings directly with `Toolbar`, a direct
|
|
28
|
+
extra-large `ToolbarText`, and optional `ToolbarControlGroup` icon/action zones;
|
|
29
|
+
keep supporting copy as app-owned content below the toolbar.
|
|
30
|
+
- Fixed controlled TokenSearchField Select All + Backspace/Delete collapsing the
|
|
31
|
+
editor: managed deletion keeps the adopted open signal and restores replacement
|
|
32
|
+
focus before another keystroke, without a stale animation-frame caret reset.
|
|
33
|
+
The adoption demo now persists both edited text and remaining tokens.
|
|
34
|
+
- Fixed `Select` controls using only `ariaLabel` being unnamed to assistive
|
|
35
|
+
technology. Ordinary and custom selected content retain their geometry while
|
|
36
|
+
the actual shadow combobox receives its accessible name.
|
|
37
|
+
- Added first-class `Select` hint text below interactive and loading-placeholder
|
|
38
|
+
controls while keeping empty-value `placeholderText` semantically distinct.
|
|
39
|
+
|
|
40
|
+
- Changed the Web Awesome Dialog theme to use 8px body padding and 16px footer
|
|
41
|
+
padding, independently of the component's shared `--spacing` value.
|
|
42
|
+
|
|
43
|
+
- Fixed `kerf-ui-doctor` so its isolated Kerf ESLint pass preserves applicable
|
|
44
|
+
consumer core rules and suppression reporting options. Playwright's required
|
|
45
|
+
`no-empty-pattern` fixture suppression no longer becomes a false unused
|
|
46
|
+
directive while consumer plugin rules remain outside the doctor boundary.
|
|
47
|
+
|
|
48
|
+
- Cataloged `SplitView` and its documented
|
|
49
|
+
`--kui-split-view-list-width` override so `kerf-ui-doctor --full` accepts the
|
|
50
|
+
public token in downstream application stylesheets.
|
|
51
|
+
|
|
52
|
+
- Added the first-class `List` vertical-layout component with gap, flex, scroll,
|
|
53
|
+
and multi-edge divider options; `Toolbar` now uses the same typed
|
|
54
|
+
`dividerSides` contract instead of a boolean divider.
|
|
55
|
+
|
|
56
|
+
- Added an optional tone-tinted pill badge beside `StateBanner` titles, including
|
|
57
|
+
loading skeleton behavior and per-instance badge color overrides.
|
|
58
|
+
|
|
59
|
+
- Fixed pending `wireTabBars` and `wireTokenSearchFields` controlled-render
|
|
60
|
+
callbacks moving focus after their owning wiring had been disposed.
|
|
61
|
+
|
|
62
|
+
- Changed the default `ListItem` leading icon visual from 24px to a root-scaled
|
|
63
|
+
18px while retaining the row's 44px minimum target and first-line alignment.
|
|
64
|
+
|
|
65
|
+
- Fixed managed `TokenSearchField` clear losing focus or collapsing when an
|
|
66
|
+
application replaces its controlled editor; continued typing now works without
|
|
67
|
+
an application reopen callback.
|
|
68
|
+
|
|
69
|
+
- Fixed `@kerfjs/ui` automatic TabBar keyboard activation losing focus when a
|
|
70
|
+
controlled selection replaces the strip; navigation restores the same logical tab.
|
|
71
|
+
|
|
72
|
+
- Updated the published setup runtime to patched `minimatch` 9.0.9 and `yaml`
|
|
73
|
+
2.9.1 releases, resolving the known regular-expression denial-of-service and
|
|
74
|
+
deeply nested YAML denial-of-service advisories without narrowing Kerf's
|
|
75
|
+
supported Node.js range.
|
|
76
|
+
- Fixed `kerf-ui-doctor --full` so its isolated ESLint stage shares the same
|
|
77
|
+
generated-directory exclusions as TypeScript, static analysis, and cache
|
|
78
|
+
hashing; populated `dist`, `coverage`, dependency, cache, evidence, and nested
|
|
79
|
+
worktree directories no longer produce application diagnostics.
|
|
80
|
+
- Changed `@kerfjs/ui` component-library design templates to compose their
|
|
81
|
+
individual variant SVGs through HTML and `domotion capture
|
|
82
|
+
--flatten-nested-svg`, eliminating the hand-built nested-SVG compositor and
|
|
83
|
+
making top-level template sheets reliable in Sketch.
|
|
84
|
+
- Added a typed `shape` option to `SunkenPanel`: `rounded` remains the default,
|
|
85
|
+
while `square` produces a lowered surface with `border-radius: 0` for flush or
|
|
86
|
+
edge-to-edge application areas. Both shapes now appear in the UX catalog.
|
|
87
|
+
- Made the Catalog geometry overlay derive both margin bands and border
|
|
88
|
+
edges/radii from each live specimen's computed CSS. Public example helpers now
|
|
89
|
+
mark their generated labels and notes for automatic exclusion, and stylesheet,
|
|
90
|
+
theme, DOM, and resize changes refresh the overlay without duplicated demo
|
|
91
|
+
measurements.
|
|
92
|
+
- Updated the `@kerfjs/ui` SVG design-template generator to `domotion-svg`
|
|
93
|
+
0.30.1 and enabled `--flatten-nested-svg`, so inline component icons are
|
|
94
|
+
emitted as Sketch-compatible groups without changing their browser rendering.
|
|
95
|
+
The offline template gate now rejects variant captures that reintroduce nested
|
|
96
|
+
`<svg>` elements.
|
|
9
97
|
- Fixed `kerf-ui-doctor` and `kerf-ui-analyze` recursive discovery so nested
|
|
10
98
|
`.claude/worktrees` checkouts are excluded from source diagnostics, doctor
|
|
11
99
|
cache inputs, TypeScript, and ESLint.
|
package/ai/manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kerfjs",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.25",
|
|
4
4
|
"description": "Tiny reactive UI framework — fine-grained signals + DOM morphing + JSX. Apply the smallest possible cut to update your DOM.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": [
|
|
@@ -140,7 +140,8 @@
|
|
|
140
140
|
"lint:eslint": "eslint src tests",
|
|
141
141
|
"lint": "npm run lint:eslint && npm run format:check",
|
|
142
142
|
"typecheck": "node node_modules/typescript7/bin/tsc --noEmit",
|
|
143
|
-
"check": "
|
|
143
|
+
"check": "node scripts/check-guidance-integrity.mjs -- npm run check:core",
|
|
144
|
+
"check:core": "npm run lint && npm run typecheck && node scripts/check-doc-test-inventory.mjs && node scripts/check-doc-api-coverage.mjs && node scripts/check-doc-site-tickets.mjs && node scripts/check-cdn-versions.mjs && node scripts/check-dev-warn-docs.mjs && node scripts/check-skill-freshness.mjs && node scripts/check-design-rule-5.mjs && node scripts/check-feature-coverage.mjs && node scripts/sync-lockstep-versions.mjs --check && node scripts/check-ai-bundle.mjs && npm test && npm run build && node scripts/check-bundle-size.mjs && node scripts/check-doc-api-signatures.mjs && vitest run --config vitest.config.dist.ts && vitest run --config vitest.config.dist-full.ts && node node_modules/typescript7/bin/tsc -p tests/dist/jsx-typing/tsconfig.json && node node_modules/typescript7/bin/tsc -p site/src/examples/complete/tsconfig.json && node node_modules/typescript7/bin/tsc -p tests/dist/scaffold-typing/tsconfig.json && node scripts/check-docs-examples.mjs",
|
|
144
145
|
"check:docs:examples": "node scripts/check-docs-examples.mjs",
|
|
145
146
|
"check:full": "npm run check && npm run --silent check:audit && playwright test",
|
|
146
147
|
"check:ui": "npm --prefix ui run check",
|
|
@@ -175,8 +176,8 @@
|
|
|
175
176
|
},
|
|
176
177
|
"dependencies": {
|
|
177
178
|
"@preact/signals-core": "^1.14.1",
|
|
178
|
-
"minimatch": "^9.0.
|
|
179
|
-
"yaml": "^2.
|
|
179
|
+
"minimatch": "^9.0.9",
|
|
180
|
+
"yaml": "^2.9.1"
|
|
180
181
|
},
|
|
181
182
|
"devDependencies": {
|
|
182
183
|
"@eslint/js": "^10.0.1",
|
|
@@ -186,7 +187,7 @@
|
|
|
186
187
|
"@typescript-eslint/eslint-plugin": "^8.65.0",
|
|
187
188
|
"@typescript-eslint/parser": "^8.65.0",
|
|
188
189
|
"@vitest/coverage-v8": "^4.1.11",
|
|
189
|
-
"domotion-svg": "^0.
|
|
190
|
+
"domotion-svg": "^0.30.1",
|
|
190
191
|
"eslint": "^10.8.0",
|
|
191
192
|
"eslint-plugin-simple-import-sort": "^12.1.1",
|
|
192
193
|
"gitgist": "^1.1.0",
|