@lytjs/devtools 4.0.5 → 4.1.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.
Files changed (38) hide show
  1. package/dist/index.cjs +5 -5
  2. package/dist/index.mjs +4 -4
  3. package/dist/tsconfig.tsbuildinfo +1 -0
  4. package/dist/types/batch-analyzer.d.ts +150 -0
  5. package/dist/types/batch-analyzer.d.ts.map +1 -0
  6. package/dist/types/component-profiler.d.ts +144 -0
  7. package/dist/types/component-profiler.d.ts.map +1 -0
  8. package/dist/types/component-tree.d.ts +69 -0
  9. package/dist/types/component-tree.d.ts.map +1 -0
  10. package/dist/types/event-panel.d.ts +129 -0
  11. package/dist/types/event-panel.d.ts.map +1 -0
  12. package/dist/types/event-tracker.d.ts +80 -0
  13. package/dist/types/event-tracker.d.ts.map +1 -0
  14. package/dist/types/hooks.d.ts +177 -0
  15. package/dist/types/hooks.d.ts.map +1 -0
  16. package/dist/types/index.d.ts +185 -0
  17. package/dist/types/index.d.ts.map +1 -0
  18. package/dist/types/memory-tracker.d.ts +148 -0
  19. package/dist/types/memory-tracker.d.ts.map +1 -0
  20. package/dist/types/panel.d.ts +182 -0
  21. package/dist/types/panel.d.ts.map +1 -0
  22. package/dist/types/perf-collector.d.ts +328 -0
  23. package/dist/types/perf-collector.d.ts.map +1 -0
  24. package/dist/types/perf-panel.d.ts +231 -0
  25. package/dist/types/perf-panel.d.ts.map +1 -0
  26. package/dist/types/render-tracker.d.ts +147 -0
  27. package/dist/types/render-tracker.d.ts.map +1 -0
  28. package/dist/types/route-panel.d.ts +68 -0
  29. package/dist/types/route-panel.d.ts.map +1 -0
  30. package/dist/types/router-panel-enhanced.d.ts +118 -0
  31. package/dist/types/router-panel-enhanced.d.ts.map +1 -0
  32. package/dist/types/state-inspector.d.ts +80 -0
  33. package/dist/types/state-inspector.d.ts.map +1 -0
  34. package/dist/types/time-travel.d.ts +189 -0
  35. package/dist/types/time-travel.d.ts.map +1 -0
  36. package/dist/types/virtual-tree.d.ts +168 -0
  37. package/dist/types/virtual-tree.d.ts.map +1 -0
  38. package/package.json +5 -3
@@ -0,0 +1,168 @@
1
+ /**
2
+ * Lyt.js DevTools — 虚拟滚动组件树
3
+ *
4
+ * 使用虚拟滚动技术渲染组件树,仅渲染可见节点,
5
+ * 支持展开/折叠、搜索过滤、选中高亮等功能。
6
+ * 可处理 1000+ 组件节点而不卡顿。
7
+ *
8
+ * 纯原生零依赖实现。
9
+ */
10
+ /** 组件树节点 */
11
+ export interface ComponentTreeNode {
12
+ /** 组件唯一 ID */
13
+ id: string;
14
+ /** 组件名称 */
15
+ name: string;
16
+ /** 子节点 */
17
+ children?: ComponentTreeNode[];
18
+ /** 状态摘要 */
19
+ stateSummary?: string;
20
+ /** props 数量 */
21
+ propsCount?: number;
22
+ /** 是否活跃 */
23
+ active?: boolean;
24
+ }
25
+ /** 虚拟树选项 */
26
+ export interface VirtualTreeOptions {
27
+ /** 节点高度(像素),默认 28 */
28
+ nodeHeight?: number;
29
+ /** 容器可见区域高度(像素),默认 400 */
30
+ visibleHeight?: number;
31
+ /** 缩进宽度(像素),默认 20 */
32
+ indentWidth?: number;
33
+ /** 是否默认展开所有节点,默认 false */
34
+ defaultExpandAll?: boolean;
35
+ /** 节点点击回调 */
36
+ onNodeClick?: (node: ComponentTreeNode) => void;
37
+ }
38
+ /** 内部扁平化节点 */
39
+ interface FlatNode {
40
+ /** 原始节点数据 */
41
+ node: ComponentTreeNode;
42
+ /** 层级深度 */
43
+ depth: number;
44
+ /** 是否展开 */
45
+ expanded: boolean;
46
+ /** 是否可见(父节点全部展开) */
47
+ visible: boolean;
48
+ /** 在扁平列表中的索引 */
49
+ flatIndex: number;
50
+ }
51
+ /**
52
+ * 虚拟滚动组件树
53
+ *
54
+ * 仅渲染可见区域的节点,支持大量组件的高效展示。
55
+ */
56
+ export declare class VirtualComponentTree {
57
+ /** 容器 DOM 元素 */
58
+ private container;
59
+ /** 节点高度 */
60
+ private nodeHeight;
61
+ /** 可见区域高度 */
62
+ private visibleHeight;
63
+ /** 缩进宽度 */
64
+ private indentWidth;
65
+ /** 节点点击回调 */
66
+ private onNodeClick?;
67
+ /** 原始组件树数据 */
68
+ private components;
69
+ /** 扁平化节点列表 */
70
+ private flatNodes;
71
+ /** 展开状态映射 */
72
+ private expandedMap;
73
+ /** 过滤查询 */
74
+ private filterQuery;
75
+ /** 选中的组件 ID */
76
+ private selectedId;
77
+ /** 当前滚动偏移 */
78
+ private scrollTop;
79
+ /** 内部滚动容器 */
80
+ private scrollContainer;
81
+ /** 内容容器(撑高) */
82
+ private contentContainer;
83
+ /** 可视节点容器 */
84
+ private viewportContainer;
85
+ /** 滚动事件处理器 */
86
+ private boundScrollHandler;
87
+ /** 是否已销毁 */
88
+ private destroyed;
89
+ /** 是否默认展开所有节点 */
90
+ private defaultExpandAll;
91
+ constructor(container: HTMLElement, options?: VirtualTreeOptions);
92
+ /**
93
+ * 设置组件数据
94
+ *
95
+ * @param components - 组件树节点数组
96
+ */
97
+ setComponents(components: ComponentTreeNode[]): void;
98
+ /**
99
+ * 设置选中的组件
100
+ *
101
+ * @param id - 组件 ID
102
+ */
103
+ setSelectedComponent(id: string): void;
104
+ /**
105
+ * 设置过滤查询
106
+ *
107
+ * @param query - 搜索字符串
108
+ */
109
+ setFilter(query: string): void;
110
+ /**
111
+ * 展开所有节点
112
+ */
113
+ expandAll(): void;
114
+ /**
115
+ * 折叠所有节点
116
+ */
117
+ collapseAll(): void;
118
+ /**
119
+ * 销毁虚拟树
120
+ */
121
+ destroy(): void;
122
+ /**
123
+ * 判断是否所有节点都已展开
124
+ */
125
+ private isAllExpanded;
126
+ /**
127
+ * 内部展开所有
128
+ */
129
+ private expandAllInternal;
130
+ /**
131
+ * 扁平化组件树
132
+ */
133
+ private flatten;
134
+ /**
135
+ * 获取可见节点列表
136
+ */
137
+ private getVisibleNodes;
138
+ /**
139
+ * 渲染容器结构
140
+ */
141
+ private renderContainer;
142
+ /**
143
+ * 渲染节点
144
+ */
145
+ private renderNodes;
146
+ /**
147
+ * 创建单个节点 DOM 元素
148
+ */
149
+ private createNodeElement;
150
+ /**
151
+ * 滚动事件处理
152
+ */
153
+ private handleScroll;
154
+ /**
155
+ * 获取扁平化节点列表(用于测试)
156
+ */
157
+ getFlatNodes(): FlatNode[];
158
+ /**
159
+ * 获取可见节点数量(用于测试)
160
+ */
161
+ getVisibleNodeCount(): number;
162
+ /**
163
+ * 获取总节点数量(包含不可见,用于测试)
164
+ */
165
+ getTotalNodeCount(): number;
166
+ }
167
+ export {};
168
+ //# sourceMappingURL=virtual-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"virtual-tree.d.ts","sourceRoot":"","sources":["../../src/virtual-tree.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "name": "@lytjs/devtools",
3
- "version": "4.0.5",
3
+ "version": "4.1.0",
4
4
  "description": "Lyt.js 浏览器开发者工具 - 提供组件树检查、状态查看、性能分析和时间旅行调试",
5
- "main": "./dist/index.mjs",
5
+ "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",
7
+ "types": "./dist/types/index.d.ts",
7
8
  "exports": {
8
9
  ".": {
10
+ "types": "./dist/types/index.d.ts",
9
11
  "import": "./dist/index.mjs",
10
- "require": "./dist/index.mjs",
12
+ "require": "./dist/index.cjs",
11
13
  "default": "./dist/index.mjs"
12
14
  }
13
15
  },