@edux-design/tree-select 0.2.5 → 0.3.0

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.
@@ -0,0 +1,62 @@
1
+ # DS15 package verification
2
+
3
+ Verified 29 October 2026. The primary registry baseline was read from
4
+ `/private/tmp/edux-ds14-26-20261029/public-baselines/tree-select/package`.
5
+ Payload's installed 0.2.5 is a locally modified preview and is not used as proof
6
+ of registry capability. See [inventory](DS15_INVENTORY.md).
7
+
8
+ ## Public contract
9
+
10
+ `onNodeActivate({id,node,event,inputSource,depth,parentId,hasChildren})`, controlled
11
+ `currentId`, rich accessible names through `getItemLabel`, row/label class slots,
12
+ label state/context and a forwarded `TreeSelectHandle` are additive. The handle
13
+ exposes `getRowElement`, `focusItem` and `scrollToItem`; missing targets never
14
+ expand or navigate. Native root div attributes/events remain available; the ref
15
+ is explicitly an imperative handle rather than a div.
16
+
17
+ Mutation output is `TreeSelectNode[]` with unknown extension metadata because
18
+ built-in add operations create only id/label nodes. Activation/render contexts
19
+ retain the supplied subtype. Hosts validate/enrich created data themselves.
20
+ Existing mutation helpers and reorder metadata have not changed.
21
+
22
+ ## Checks completed
23
+
24
+ - `npm run build --workspace=@edux-design/tree-select`: ESM, CJS and public
25
+ declarations built successfully from `src/index.ts`.
26
+ - `npm run check-types --workspace=@edux-design/tree-select`: passed.
27
+ - `npx eslint --config eslint.components.config.mjs packages/tree-select/src`:
28
+ passed with no warnings.
29
+ - `npx vitest run packages/tree-select/src/elements`: 77 tests passed across
30
+ five files, including existing reorder/data/guard coverage and eight new
31
+ interaction tests. New coverage checks event payload/source, current versus
32
+ drag selection, cancellation, repeat keys, interactive children/status,
33
+ rename/actions isolation, collapsed/filtered/removed targets, focus/scroll
34
+ separation, ref cleanup/instance isolation and keyboard navigation.
35
+ - Strict positive/negative public-declaration consumer
36
+ `test/interaction-api.tsx`: passed via the built workspace package. Covers
37
+ native root events, discriminated activation events, native row access,
38
+ imperative ref, generic node metadata, existing props and rejection of invalid
39
+ IDs/ref/events/labels/expansion/unknown props and unsound mutation metadata.
40
+ - `node packages/tree-select/test/interaction-public-runtime.cjs`: passed ESM
41
+ and CJS public imports and SSR tree/current/name/level/root attribute output.
42
+ - `npm exec --workspace=docs -- vitest run --config vite.config.ts
43
+ TreeSelectInteraction.stories`: five Chromium stories passed. Explicit
44
+ `axe.run` returned no violations for navigation, editing, modifier multi-drag,
45
+ narrow filtering and four light/dark/blue/teal theme combinations. Keyboard
46
+ activation/expansion, F2 editing and drag-handle navigation isolation were
47
+ exercised. Existing Tooltip async act warnings remain in browser logs.
48
+
49
+ The first browser runs needed Vite's new dnd/axe dependencies to finish cache
50
+ optimisation; the final completed run passed. Package owner checks use workspace
51
+ builds. The coordinator owns the subsequent normal fresh-tarball installed
52
+ public types/runtime/browser gate, versioning and combined Storybook run.
53
+ No Payload source, manifests, lockfiles, versions, Changesets, publication or Git
54
+ history were modified by this package worker. The coordinator changed the
55
+ package build/dev entry to `src/index.ts`.
56
+
57
+ ## Remaining consumer boundary
58
+
59
+ The named five hosts and PageBuilder parent still require migration and host
60
+ regression acceptance. Private CSS-only selectors for per-node action suppression
61
+ are outside this API; no per-node action policy API is claimed. Routing,
62
+ permissions, filtering, editor cancellation and all mutations remain local.
package/package.json CHANGED
@@ -1,27 +1,24 @@
1
1
  {
2
2
  "name": "@edux-design/tree-select",
3
- "version": "0.2.5",
3
+ "version": "0.3.0",
4
4
  "private": false,
5
5
  "sideEffects": [
6
6
  "**/*.css"
7
7
  ],
8
8
  "files": [
9
- "dist"
9
+ "dist",
10
+ "docs",
11
+ "README.md",
12
+ "CHANGELOG.md"
10
13
  ],
11
14
  "types": "./dist/index.d.ts",
12
15
  "exports": {
13
16
  ".": {
17
+ "types": "./dist/index.d.ts",
14
18
  "import": "./dist/index.mjs",
15
- "require": "./dist/index.js",
16
- "types": "./dist/index.d.ts"
19
+ "require": "./dist/index.js"
17
20
  }
18
21
  },
19
- "scripts": {
20
- "lint": "eslint . --max-warnings 0",
21
- "build": "tsup src/index.js --format esm,cjs --dts --external react,react-dom",
22
- "dev": "tsup src/index.js --watch --format esm,cjs --dts --external react,react-dom",
23
- "check-types": "tsc --noEmit"
24
- },
25
22
  "dependencies": {
26
23
  "@dnd-kit/core": "6.3.1",
27
24
  "@dnd-kit/sortable": "^8.0.0",
@@ -36,9 +33,5 @@
36
33
  "peerDependencies": {
37
34
  "react": ">=18",
38
35
  "react-dom": ">=18"
39
- },
40
- "devDependencies": {
41
- "tsup": "^8.5.0",
42
- "typescript": "^5.9.2"
43
36
  }
44
37
  }