@designfever/web-review-kit 0.5.0 → 0.6.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.
- package/README.md +2 -1
- package/dist/{chunk-TWCSIBMY.js → chunk-IN36JHEU.js} +233 -59
- package/dist/chunk-IN36JHEU.js.map +1 -0
- package/dist/index.cjs +232 -58
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/react-shell.cjs +1490 -533
- package/dist/react-shell.cjs.map +1 -1
- package/dist/react-shell.d.cts +1 -1
- package/dist/react-shell.d.ts +1 -1
- package/dist/react-shell.js +1216 -433
- package/dist/react-shell.js.map +1 -1
- package/dist/{types-RvVa5ns-.d.cts → types-DFHHVRBc.d.cts} +1 -0
- package/dist/{types-RvVa5ns-.d.ts → types-DFHHVRBc.d.ts} +1 -0
- package/docs/README.md +2 -0
- package/docs/architecture.md +4 -0
- package/docs/installation.md +5 -1
- package/docs/release-notes-0.6.0.md +108 -0
- package/package.json +1 -1
- package/dist/chunk-TWCSIBMY.js.map +0 -1
|
@@ -176,6 +176,7 @@ interface WebReviewKitTarget {
|
|
|
176
176
|
document: Document;
|
|
177
177
|
getViewportRect?: () => Pick<DOMRect, 'left' | 'top' | 'width' | 'height'>;
|
|
178
178
|
getOverlayRect?: () => Pick<DOMRect, 'left' | 'top' | 'width' | 'height'>;
|
|
179
|
+
getComposerHost?: () => HTMLElement | null | undefined;
|
|
179
180
|
}
|
|
180
181
|
|
|
181
182
|
export type { DomAnchor as D, LocalAdapterOptions as L, NumberedReviewItem as N, ReviewWorkflowStatus as R, SupabaseReviewAdapterOptions as S, ViewportSize as V, WebReviewKitAdapter as W, ReviewItemStatus as a, WebReviewKitOptions as b, WebReviewKitController as c, ReviewViewportPreset as d, ReviewItem as e, ReviewItemScope as f, DomAnchorCandidate as g, DomAnchorStrategy as h, DomSourceHint as i, RelativeSelection as j, ReviewItemKind as k, ReviewItemQuery as l, ReviewMarker as m, ReviewMode as n, ReviewPoint as o, ReviewRulerConfig as p, ReviewSelection as q, ReviewSource as r, ReviewSubmitStatus as s, ReviewViewportScope as t, SupabaseReviewClient as u, WebReviewKitTarget as v };
|
|
@@ -176,6 +176,7 @@ interface WebReviewKitTarget {
|
|
|
176
176
|
document: Document;
|
|
177
177
|
getViewportRect?: () => Pick<DOMRect, 'left' | 'top' | 'width' | 'height'>;
|
|
178
178
|
getOverlayRect?: () => Pick<DOMRect, 'left' | 'top' | 'width' | 'height'>;
|
|
179
|
+
getComposerHost?: () => HTMLElement | null | undefined;
|
|
179
180
|
}
|
|
180
181
|
|
|
181
182
|
export type { DomAnchor as D, LocalAdapterOptions as L, NumberedReviewItem as N, ReviewWorkflowStatus as R, SupabaseReviewAdapterOptions as S, ViewportSize as V, WebReviewKitAdapter as W, ReviewItemStatus as a, WebReviewKitOptions as b, WebReviewKitController as c, ReviewViewportPreset as d, ReviewItem as e, ReviewItemScope as f, DomAnchorCandidate as g, DomAnchorStrategy as h, DomSourceHint as i, RelativeSelection as j, ReviewItemKind as k, ReviewItemQuery as l, ReviewMarker as m, ReviewMode as n, ReviewPoint as o, ReviewRulerConfig as p, ReviewSelection as q, ReviewSource as r, ReviewSubmitStatus as s, ReviewViewportScope as t, SupabaseReviewClient as u, WebReviewKitTarget as v };
|
package/docs/README.md
CHANGED
|
@@ -10,6 +10,7 @@ Public docs are intentionally small. Keep implementation history, handoff notes,
|
|
|
10
10
|
4. [Architecture and runtime logic](architecture.md)
|
|
11
11
|
5. [Figma overlay](figma-overlay.md)
|
|
12
12
|
6. [Grid overlay](grid-overlay.md)
|
|
13
|
+
7. [Release notes 0.6.0](release-notes-0.6.0.md)
|
|
13
14
|
|
|
14
15
|
## Document Roles
|
|
15
16
|
|
|
@@ -19,6 +20,7 @@ Public docs are intentionally small. Keep implementation history, handoff notes,
|
|
|
19
20
|
- `architecture.md`: core/runtime, React shell, coordinate, anchor, and feature boundary notes.
|
|
20
21
|
- `figma-overlay.md`: host requirements for the Figma overlay toggle.
|
|
21
22
|
- `grid-overlay.md`: host requirements for the grid/helper overlay toggle.
|
|
23
|
+
- `release-notes-0.6.0.md`: latest release changes, host notes, and validation scope.
|
|
22
24
|
|
|
23
25
|
## Boundary
|
|
24
26
|
|
package/docs/architecture.md
CHANGED
|
@@ -35,6 +35,8 @@ createWebReviewKit({
|
|
|
35
35
|
|
|
36
36
|
`ui.panel: false` means the React shell owns the side panel and toolbar. Core still owns target overlays such as note pins, area selection boxes, DOM hover outlines, saved item markers, and highlights.
|
|
37
37
|
|
|
38
|
+
When the React shell provides a composer host, core docks DOM/area draft composer UI into the QA panel instead of rendering it as a floating target overlay. Core still owns draft creation, anchor capture, geometry, and adapter submission; React shell only provides the stable panel host.
|
|
39
|
+
|
|
38
40
|
## Core Modules
|
|
39
41
|
|
|
40
42
|
- `web.review.kit.app.ts`: controller lifecycle, state transitions, adapter calls, item creation, restore flow.
|
|
@@ -95,6 +97,8 @@ The default local adapter is for draft/local review work. Supabase is optional h
|
|
|
95
97
|
- ruler UI
|
|
96
98
|
- presence UI
|
|
97
99
|
- host overlay toggles such as grid and Figma
|
|
100
|
+
- Source Tree UI, metadata toggles, and browser-local UI state persistence
|
|
101
|
+
- QA panel composer host for shell-owned layout
|
|
98
102
|
|
|
99
103
|
React shell should call the core controller instead of duplicating target overlay logic.
|
|
100
104
|
|
package/docs/installation.md
CHANGED
|
@@ -218,7 +218,7 @@ export default defineConfig({
|
|
|
218
218
|
|
|
219
219
|
Captured DOM nodes will include `data-wrk-source-file`, `data-wrk-source-line`, and `data-wrk-source-column`. Data locator also injects `__wrkDataFile` and `__wrkDataLine` props into page data section objects so the shell can expose matching `data-wrk-data-*` hints when host components forward those props to section wrappers.
|
|
220
220
|
|
|
221
|
-
In the review shell, hold `Option` over the target iframe to show source candidates from the DOM ancestry. Click the target to pin the candidate list, then choose which file to open. The side rail Source Tree panel lists section/source/data candidates and can scroll to a section or open its source/data file. If the file path is absolute, it opens directly. If the plugin stores relative paths, pass `sourceRoot` when mounting the shell.
|
|
221
|
+
In the review shell, hold `Option` over the target iframe to show source candidates from the DOM ancestry. Click the target to pin the candidate list, then choose which file to open. The side rail Source Tree panel lists section/source/data candidates and can scroll to a section or open its source/data file. It can also show live box metrics, text/font metadata, media URLs, and class tags for each node. If the file path is absolute, it opens directly. If the plugin stores relative paths, pass `sourceRoot` when mounting the shell.
|
|
222
222
|
|
|
223
223
|
```tsx
|
|
224
224
|
mountReviewShell({
|
|
@@ -242,6 +242,10 @@ Set `sourceInspector.enabled` to `false` when source code opening should be unav
|
|
|
242
242
|
|
|
243
243
|
Use this only in dev/review builds. Source paths are written into the browser DOM and can be persisted with QA items.
|
|
244
244
|
|
|
245
|
+
Source Tree filter/options, side panel state, and QA status filter are browser-local UI preferences. They are stored in localStorage and are not sent through the adapter.
|
|
246
|
+
|
|
247
|
+
In React shell mode, DOM/area draft composers dock into the QA panel when the shell provides a composer host. This keeps mobile Safari keyboard/viewport resize from moving a floating composer layer over the target frame.
|
|
248
|
+
|
|
245
249
|
## Custom Adapter
|
|
246
250
|
|
|
247
251
|
If a team or host project owns its own QA backend, keep that adapter in the host project or in a separate package. Start from [adaptor.sample.ts](adaptor.sample.ts) and map its `WebReviewKitAdapter` methods to your backend API.
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# 릴리즈 노트: 0.6.0
|
|
2
|
+
|
|
3
|
+
0.5.0 release 이후 변경 사항 정리.
|
|
4
|
+
|
|
5
|
+
비교 기준: `0.5.0`
|
|
6
|
+
검토 기준: 0.6.0 dogfood working tree (`Source Tree` metadata, docked QA composer, Lexus mobile/WebKit flow 포함)
|
|
7
|
+
|
|
8
|
+
## 주요 변경
|
|
9
|
+
|
|
10
|
+
- DOM/area draft composer를 QA panel 하단 dock 방식으로 바꿔 mobile viewport/keyboard resize 영향을 줄였다.
|
|
11
|
+
- Source Tree를 component inspection tool로 확장했다.
|
|
12
|
+
- Source Tree box/text/font/media/class metadata 표시를 추가했다.
|
|
13
|
+
- Source Tree, QA panel, QA status filter 상태를 browser localStorage에 유지한다.
|
|
14
|
+
- QA list ID capsule click-to-copy, toolbar/header spacing, icon button density를 정리했다.
|
|
15
|
+
- Lexus dogfood에서 local package 연결, 540x1080 mobile viewport, LAN preview 흐름을 확인했다.
|
|
16
|
+
|
|
17
|
+
## 변경
|
|
18
|
+
|
|
19
|
+
### Docked QA Composer
|
|
20
|
+
|
|
21
|
+
React shell mode에서 DOM/area draft composer는 target 위 floating layer 대신 QA list 하단에 붙는다.
|
|
22
|
+
|
|
23
|
+
- mobile Safari input focus/viewport resize에 덜 흔들리는 구조
|
|
24
|
+
- DOM selection adjustment controls 유지
|
|
25
|
+
- area selection draft도 같은 host 영역 사용
|
|
26
|
+
- draft composer가 열리면 QA panel로 focus 이동
|
|
27
|
+
|
|
28
|
+
Core standalone overlay mode는 기존처럼 target overlay 안에서 composer를 렌더링한다.
|
|
29
|
+
|
|
30
|
+
### Source Tree Metadata
|
|
31
|
+
|
|
32
|
+
Source Tree row에 inspection metadata를 표시할 수 있게 했다.
|
|
33
|
+
|
|
34
|
+
- box: target iframe 기준 `top / left / width / height`
|
|
35
|
+
- text: PlacerTextInline 등 text node 값
|
|
36
|
+
- font: font size/weight summary
|
|
37
|
+
- media: image/poster/video URL, desktop/mobile asset label
|
|
38
|
+
- class: className tag list
|
|
39
|
+
|
|
40
|
+
Box 값은 render 시점의 iframe element rect를 다시 읽어서 viewport/resolution 변경 후에도 최신 값에 맞춘다.
|
|
41
|
+
|
|
42
|
+
### Source Tree Controls
|
|
43
|
+
|
|
44
|
+
Source Tree header/filter layout을 QA sheet와 맞췄고, metadata option은 icon-only toggle로 정리했다.
|
|
45
|
+
|
|
46
|
+
- filter input을 최상단에 배치
|
|
47
|
+
- root count와 metadata toggles를 같은 header row에 배치
|
|
48
|
+
- Source Tree를 켤 때 parent tree nodes는 기본 collapsed 상태로 시작
|
|
49
|
+
- row hover 영역은 metadata block까지 포함
|
|
50
|
+
- row의 DOM select action은 QA panel로 전환한 뒤 draft 작성 흐름을 시작
|
|
51
|
+
|
|
52
|
+
### QA List
|
|
53
|
+
|
|
54
|
+
- `DRAFT-1`, `#102` 같은 QA ID capsule을 누르면 ID가 copy된다.
|
|
55
|
+
- Local QA title case/color와 list/header spacing을 정리했다.
|
|
56
|
+
- QA status filter 선택값을 새로고침 후에도 유지한다.
|
|
57
|
+
- side panel mode와 panel open/close 상태를 새로고침/페이지 이동 후에도 유지한다.
|
|
58
|
+
|
|
59
|
+
## Persistence
|
|
60
|
+
|
|
61
|
+
0.6.0에서 shell UI state는 browser-local localStorage에 저장된다.
|
|
62
|
+
|
|
63
|
+
- `df-review-side-panel`
|
|
64
|
+
- `df-review-side-panel-visible`
|
|
65
|
+
- `df-review-source-tree-filter`
|
|
66
|
+
- `df-review-source-tree-meta-visibility`
|
|
67
|
+
- `df-review-qa-status-filter`
|
|
68
|
+
|
|
69
|
+
이 값들은 QA item data가 아니며, adapter나 backend로 sync되지 않는다.
|
|
70
|
+
|
|
71
|
+
## Host 적용 메모
|
|
72
|
+
|
|
73
|
+
### Lexus dogfood integration
|
|
74
|
+
|
|
75
|
+
- `lexus_official_v2026`에서 `@designfever/web-review-kit`을 `file:../df-web-review-kit`로 연결해 검증했다.
|
|
76
|
+
- review dev server는 LAN 접근을 위해 `--host 0.0.0.0`로 띄워 mobile device에서 확인했다.
|
|
77
|
+
- 540x1080 mobile preset에서 DOM QA composer 입력/저장/취소, Source Tree metadata toggles, QA status filter persistence를 확인했다.
|
|
78
|
+
|
|
79
|
+
## 문서
|
|
80
|
+
|
|
81
|
+
- README에 0.6.0 release note link와 Source Tree metadata/persistence 설명을 추가했다.
|
|
82
|
+
- Installation docs에 docked composer, Source Tree metadata, localStorage persistence 설명을 추가했다.
|
|
83
|
+
- Architecture docs에 React shell composer host boundary를 추가했다.
|
|
84
|
+
- 오래된 internal handoff note를 삭제했다.
|
|
85
|
+
|
|
86
|
+
## 검증
|
|
87
|
+
|
|
88
|
+
아래 명령을 확인했다.
|
|
89
|
+
|
|
90
|
+
- `pnpm typecheck`
|
|
91
|
+
- `pnpm typecheck:dev`
|
|
92
|
+
- `pnpm build`
|
|
93
|
+
- `pnpm build:dev`
|
|
94
|
+
- `git diff --check`
|
|
95
|
+
- `npm pack --dry-run --json`
|
|
96
|
+
|
|
97
|
+
수동 확인:
|
|
98
|
+
|
|
99
|
+
- Lexus dogfood review page DOM QA create/cancel
|
|
100
|
+
- Source Tree filter/meta toggle persistence
|
|
101
|
+
- QA status filter persistence
|
|
102
|
+
- mobile/LAN preview
|
|
103
|
+
|
|
104
|
+
## 메모
|
|
105
|
+
|
|
106
|
+
- `package.json` version은 `0.6.0`이다.
|
|
107
|
+
- npm publish 전에는 registry login 상태를 확인해야 한다.
|
|
108
|
+
- Lexus target app에서 React SVG prop warning(`fill-rule`, `clip-rule`)이 보일 수 있으나 review-kit package warning은 아니다.
|