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 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
@@ -1,5 +1,5 @@
1
1
  {
2
- "kerfjsVersion": "5.0.0-beta.23",
2
+ "kerfjsVersion": "5.0.0-beta.25",
3
3
  "files": [
4
4
  {
5
5
  "name": "skill",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kerfjs",
3
- "version": "5.0.0-beta.23",
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": "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",
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.5",
179
- "yaml": "^2.8.1"
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.28.2",
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",