@arronqzy/abuilder 1.1.37 → 1.1.39
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 +37 -3
- package/dist/index.cjs +81 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ React 一站式编辑器。安装后渲染 `<App />`,就是完整的 Abuilder
|
|
|
4
4
|
|
|
5
5
|

|
|
6
6
|
|
|
7
|
-
当前版本见本包 `package.json`(设置菜单「关于」里显示的就是这个版本号)。本包 **1.1.37** 起配套 chroma.js 主题配色、全系统国际化修复与问号图标式字段说明;**1.1.36** 起配套蓝图 Soft UI 节点样式;**1.1.35** 起配套接口集合、`{system?...}` 模版、JSON 节点错误高亮。完整中文手册见仓库 `docs/Abuilder使用文档与功能说明.docx`(适用版本表写在文首)。
|
|
7
|
+
当前版本见本包 `package.json`(设置菜单「关于」里显示的就是这个版本号)。本包 **1.1.39** 起补齐本地数据接口(蓝图库、执行日志、接口集合的读取与清理,`clearAbuilderStorage` 一次清空,`workspace:delete` 事件);**1.1.38** 起提供本地工作区清理接口(`listWorkspaceProjects` / `deleteWorkspaceProject` / `clearWorkspaceProjects`);**1.1.37** 起配套 chroma.js 主题配色、全系统国际化修复与问号图标式字段说明;**1.1.36** 起配套蓝图 Soft UI 节点样式;**1.1.35** 起配套接口集合、`{system?...}` 模版、JSON 节点错误高亮。完整中文手册见仓库 `docs/Abuilder使用文档与功能说明.docx`(适用版本表写在文首)。
|
|
8
8
|
|
|
9
9
|
## 安装
|
|
10
10
|
|
|
@@ -139,8 +139,9 @@ function HostApp() {
|
|
|
139
139
|
|------|------|----------|
|
|
140
140
|
| `workspace:add` | `AbuilderEvents.workspaceAdd` | 创建工作区成功 |
|
|
141
141
|
| `workspace:sync` | `AbuilderEvents.workspaceSync` | 同步工作区成功 |
|
|
142
|
+
| `workspace:delete` | `AbuilderEvents.workspaceDelete` | 删除工作区(界面删除,或调用 `deleteWorkspaceProject` / `clearWorkspaceProjects`),参数 `{ ids, nameSpace }` |
|
|
142
143
|
|
|
143
|
-
|
|
144
|
+
`workspace:add` / `workspace:sync` 的回调参数是完整 `WorkspaceData`(即 `WorkspaceProjectRecord`):
|
|
144
145
|
|
|
145
146
|
| 字段 | 说明 |
|
|
146
147
|
|------|------|
|
|
@@ -184,6 +185,39 @@ createEmptyWorkspace({ name: "未命名", id: createWorkspaceProjectId() });
|
|
|
184
185
|
|
|
185
186
|
`initialWorkspace` 为空时,首次是空画布和空蓝图。侧栏仍可列出已保存项目,但要用户手动打开。
|
|
186
187
|
|
|
188
|
+
## 清理浏览器里的本地数据
|
|
189
|
+
|
|
190
|
+
编辑器会把四类数据存进浏览器 IndexedDB,并按 `nameSpace` 隔离。如果这些数据以后端为准,可以定期清理本地副本,避免越积越多。
|
|
191
|
+
|
|
192
|
+
| 数据 | 列出 / 读取 | 删除单条 | 清空 |
|
|
193
|
+
|------|-------------|----------|------|
|
|
194
|
+
| 工作区 | `listWorkspaceProjects` / `getWorkspaceProject` | `deleteWorkspaceProject` | `clearWorkspaceProjects` |
|
|
195
|
+
| 蓝图库 | `listBlueprintLibrary` / `getBlueprintLibraryRecord` | `deleteBlueprintLibraryRecord` | `clearBlueprintLibrary` |
|
|
196
|
+
| 蓝图执行日志 | `listExecutionRunRecords` / `getExecutionRunRecord` | `deleteExecutionRunRecord` | `clearAllExecutionRunRecords` |
|
|
197
|
+
| 接口集合 | `listApiCollectionRecords` | `deleteApiCollection` | `clearApiCollections` |
|
|
198
|
+
|
|
199
|
+
```ts
|
|
200
|
+
import {
|
|
201
|
+
listWorkspaceProjects,
|
|
202
|
+
deleteWorkspaceProject,
|
|
203
|
+
clearWorkspaceProjects,
|
|
204
|
+
clearAbuilderStorage,
|
|
205
|
+
} from "@arronqzy/abuilder";
|
|
206
|
+
|
|
207
|
+
const items = await listWorkspaceProjects(nameSpace); // [{ id, name, createdAt, updatedAt }],按更新时间倒序
|
|
208
|
+
await deleteWorkspaceProject(items[0].id, nameSpace);
|
|
209
|
+
const removed = await clearWorkspaceProjects(nameSpace); // 返回删除数量
|
|
210
|
+
|
|
211
|
+
// 一次清空四类数据,返回 { workspaces, blueprints, executionRuns, apiCollections } 各自的删除数量
|
|
212
|
+
const result = await clearAbuilderStorage(nameSpace);
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
- 所有函数最后一个参数都是 `nameSpace`,要和 `<App nameSpace>` 一致;省略时操作默认库。
|
|
216
|
+
- 清空函数返回删除数量。`clearAbuilderStorage` 不动主题、字号、执行日志保留策略等偏好设置。
|
|
217
|
+
- 删除工作区或蓝图库后,同页和其他标签页里已挂载的编辑器会自动刷新列表;若删掉的是当前打开的工作区,编辑器内容保留,但不再关联该记录。删除工作区还会发出 `workspace:delete` 事件。
|
|
218
|
+
- 执行日志还可以按策略清理:`purgeExecutionRunsOlderThan(cutoffMs, nameSpace)` 删除早于某时间的记录,`trimExecutionRunRecordsToMax(max, nameSpace)` 只保留最近 N 条。编辑器里设置的保留策略用 `readExecutionLogSettings` / `writeExecutionLogSettings` 读写。
|
|
219
|
+
- 接口集合的 `deleteApiCollection` / `clearApiCollections` 会同时更新已挂载编辑器里的接口列表(仅限同一 `nameSpace`)。
|
|
220
|
+
|
|
187
221
|
## 预览缩略图
|
|
188
222
|
|
|
189
223
|
画布已经渲染且有内容时:
|
|
@@ -224,7 +258,7 @@ import {
|
|
|
224
258
|
} from "@arronqzy/abuilder";
|
|
225
259
|
```
|
|
226
260
|
|
|
227
|
-
类型:`WorkspaceData`、`WorkspaceProjectRecord`、`AbuilderEventName`、`GetPreviewSnapshotOptions`、`ParseCheckResult`、`WorkspaceParseCheckResult`。
|
|
261
|
+
类型:`WorkspaceData`、`WorkspaceProjectRecord`、`WorkspaceProjectListItem`、`WorkspaceDeleteEventPayload`、`AbuilderStorageClearResult`、`BlueprintLibraryListItem`、`BlueprintLibraryRecord`、`ExecutionRunRecord`、`ExecutionLogSettings`、`ApiCollectionRecord`、`AbuilderEventName`、`GetPreviewSnapshotOptions`、`ParseCheckResult`、`WorkspaceParseCheckResult`。
|
|
228
262
|
|
|
229
263
|
## 本仓库里怎么预览
|
|
230
264
|
|
package/dist/index.cjs
CHANGED
|
@@ -10,7 +10,7 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
10
10
|
// package.json
|
|
11
11
|
var package_default = {
|
|
12
12
|
name: "@arronqzy/abuilder",
|
|
13
|
-
version: "1.1.
|
|
13
|
+
version: "1.1.39"};
|
|
14
14
|
|
|
15
15
|
// src/version.ts
|
|
16
16
|
var ABUILDER_PACKAGE_NAME = package_default.name;
|
|
@@ -106,6 +106,26 @@ Object.defineProperty(exports, "addEventSubscription", {
|
|
|
106
106
|
enumerable: true,
|
|
107
107
|
get: function () { return reactView.addEventSubscription; }
|
|
108
108
|
});
|
|
109
|
+
Object.defineProperty(exports, "clearAbuilderStorage", {
|
|
110
|
+
enumerable: true,
|
|
111
|
+
get: function () { return reactView.clearAbuilderStorage; }
|
|
112
|
+
});
|
|
113
|
+
Object.defineProperty(exports, "clearAllExecutionRunRecords", {
|
|
114
|
+
enumerable: true,
|
|
115
|
+
get: function () { return reactView.clearAllExecutionRunRecords; }
|
|
116
|
+
});
|
|
117
|
+
Object.defineProperty(exports, "clearApiCollections", {
|
|
118
|
+
enumerable: true,
|
|
119
|
+
get: function () { return reactView.clearApiCollections; }
|
|
120
|
+
});
|
|
121
|
+
Object.defineProperty(exports, "clearBlueprintLibrary", {
|
|
122
|
+
enumerable: true,
|
|
123
|
+
get: function () { return reactView.clearBlueprintLibrary; }
|
|
124
|
+
});
|
|
125
|
+
Object.defineProperty(exports, "clearWorkspaceProjects", {
|
|
126
|
+
enumerable: true,
|
|
127
|
+
get: function () { return reactView.clearWorkspaceProjects; }
|
|
128
|
+
});
|
|
109
129
|
Object.defineProperty(exports, "createEmptyWorkspace", {
|
|
110
130
|
enumerable: true,
|
|
111
131
|
get: function () { return reactView.createEmptyWorkspace; }
|
|
@@ -114,10 +134,54 @@ Object.defineProperty(exports, "createWorkspaceProjectId", {
|
|
|
114
134
|
enumerable: true,
|
|
115
135
|
get: function () { return reactView.createWorkspaceProjectId; }
|
|
116
136
|
});
|
|
137
|
+
Object.defineProperty(exports, "deleteApiCollection", {
|
|
138
|
+
enumerable: true,
|
|
139
|
+
get: function () { return reactView.deleteApiCollection; }
|
|
140
|
+
});
|
|
141
|
+
Object.defineProperty(exports, "deleteBlueprintLibraryRecord", {
|
|
142
|
+
enumerable: true,
|
|
143
|
+
get: function () { return reactView.deleteBlueprintLibraryRecord; }
|
|
144
|
+
});
|
|
145
|
+
Object.defineProperty(exports, "deleteExecutionRunRecord", {
|
|
146
|
+
enumerable: true,
|
|
147
|
+
get: function () { return reactView.deleteExecutionRunRecord; }
|
|
148
|
+
});
|
|
149
|
+
Object.defineProperty(exports, "deleteWorkspaceProject", {
|
|
150
|
+
enumerable: true,
|
|
151
|
+
get: function () { return reactView.deleteWorkspaceProject; }
|
|
152
|
+
});
|
|
153
|
+
Object.defineProperty(exports, "getBlueprintLibraryRecord", {
|
|
154
|
+
enumerable: true,
|
|
155
|
+
get: function () { return reactView.getBlueprintLibraryRecord; }
|
|
156
|
+
});
|
|
157
|
+
Object.defineProperty(exports, "getExecutionRunRecord", {
|
|
158
|
+
enumerable: true,
|
|
159
|
+
get: function () { return reactView.getExecutionRunRecord; }
|
|
160
|
+
});
|
|
117
161
|
Object.defineProperty(exports, "getPreviewSnapshot", {
|
|
118
162
|
enumerable: true,
|
|
119
163
|
get: function () { return reactView.getPreviewSnapshot; }
|
|
120
164
|
});
|
|
165
|
+
Object.defineProperty(exports, "getWorkspaceProject", {
|
|
166
|
+
enumerable: true,
|
|
167
|
+
get: function () { return reactView.getWorkspaceProject; }
|
|
168
|
+
});
|
|
169
|
+
Object.defineProperty(exports, "listApiCollectionRecords", {
|
|
170
|
+
enumerable: true,
|
|
171
|
+
get: function () { return reactView.listApiCollectionRecords; }
|
|
172
|
+
});
|
|
173
|
+
Object.defineProperty(exports, "listBlueprintLibrary", {
|
|
174
|
+
enumerable: true,
|
|
175
|
+
get: function () { return reactView.listBlueprintLibrary; }
|
|
176
|
+
});
|
|
177
|
+
Object.defineProperty(exports, "listExecutionRunRecords", {
|
|
178
|
+
enumerable: true,
|
|
179
|
+
get: function () { return reactView.listExecutionRunRecords; }
|
|
180
|
+
});
|
|
181
|
+
Object.defineProperty(exports, "listWorkspaceProjects", {
|
|
182
|
+
enumerable: true,
|
|
183
|
+
get: function () { return reactView.listWorkspaceProjects; }
|
|
184
|
+
});
|
|
121
185
|
Object.defineProperty(exports, "parseBlueprintData", {
|
|
122
186
|
enumerable: true,
|
|
123
187
|
get: function () { return reactView.parseBlueprintData; }
|
|
@@ -134,6 +198,18 @@ Object.defineProperty(exports, "parseWorkspaceData", {
|
|
|
134
198
|
enumerable: true,
|
|
135
199
|
get: function () { return reactView.parseWorkspaceData; }
|
|
136
200
|
});
|
|
201
|
+
Object.defineProperty(exports, "purgeExecutionRunsOlderThan", {
|
|
202
|
+
enumerable: true,
|
|
203
|
+
get: function () { return reactView.purgeExecutionRunsOlderThan; }
|
|
204
|
+
});
|
|
205
|
+
Object.defineProperty(exports, "readExecutionLogSettings", {
|
|
206
|
+
enumerable: true,
|
|
207
|
+
get: function () { return reactView.readExecutionLogSettings; }
|
|
208
|
+
});
|
|
209
|
+
Object.defineProperty(exports, "trimExecutionRunRecordsToMax", {
|
|
210
|
+
enumerable: true,
|
|
211
|
+
get: function () { return reactView.trimExecutionRunRecordsToMax; }
|
|
212
|
+
});
|
|
137
213
|
Object.defineProperty(exports, "validateBlueprintData", {
|
|
138
214
|
enumerable: true,
|
|
139
215
|
get: function () { return reactView.validateBlueprintData; }
|
|
@@ -146,6 +222,10 @@ Object.defineProperty(exports, "validateWorkspaceData", {
|
|
|
146
222
|
enumerable: true,
|
|
147
223
|
get: function () { return reactView.validateWorkspaceData; }
|
|
148
224
|
});
|
|
225
|
+
Object.defineProperty(exports, "writeExecutionLogSettings", {
|
|
226
|
+
enumerable: true,
|
|
227
|
+
get: function () { return reactView.writeExecutionLogSettings; }
|
|
228
|
+
});
|
|
149
229
|
exports.ABUILDER_PACKAGE_NAME = ABUILDER_PACKAGE_NAME;
|
|
150
230
|
exports.ABUILDER_VERSION = ABUILDER_VERSION;
|
|
151
231
|
exports.App = App;
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../package.json","../src/version.ts","../src/App.tsx"],"names":["jsx","useState","useMemo","parseOnlinePreviewSearchParams","ReactViewOnlinePreview","ThemeProvider","ReactViewPanel"],"mappings":";;;;;;;;;;AAAA,IAAA,eAAA,GAAA;AAAA,EACE,IAAQ,EAAA,oBAAA;AAAA,EACR,OAAW,EAAA,QAiEb,CAAA;;;AChEO,IAAM,wBAAwB,eAAY,CAAA;AAC1C,IAAM,mBAAmB,eAAY,CAAA;ACwC5C,SAAS,YAAA,CAAa,EAAE,QAAA,EAAqC,EAAA;AAC3D,EAAI,IAAA,OAAO,aAAa,WAAa,EAAA;AACnC,IAAS,QAAA,CAAA,eAAA,CAAgB,SAAU,CAAA,MAAA,CAAO,MAAM,CAAA;AAChD,IAAS,QAAA,CAAA,eAAA,CAAgB,SAAU,CAAA,GAAA,CAAI,OAAO,CAAA;AAC9C,IAAS,QAAA,CAAA,eAAA,CAAgB,QAAQ,KAAQ,GAAA,OAAA;AAAA;AAG3C,EACE,uBAAAA,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAU,EAAA,mDAAA;AAAA,MACV,YAAW,EAAA,OAAA;AAAA,MAEV;AAAA;AAAA,GACH;AAEJ;AAEO,SAAS,GAAI,CAAA;AAAA,EAClB,SAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAe,GAAA,MAAA;AAAA,EACf,MAAS,GAAA,IAAA;AAAA,EACT,aAAA;AAAA,EACA,OAAU,GAAA,KAAA;AAAA,EACV,gBAAmB,GAAA,IAAA;AAAA,EACnB,SAAY,GAAA;AACd,CAAqB,EAAA;AACnB,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIC,eAAwB,MAAM,CAAA;AACpE,EAAA,MAAM,kBAAkB,MAAU,IAAA,WAAA;AAElC,EAAA,MAAM,SACJ,aACC,KAAA,OAAO,WAAW,WAAc,GAAA,MAAA,CAAO,SAAS,MAAS,GAAA,EAAA,CAAA;AAE5D,EAAA,MAAM,aAAgB,GAAAC,aAAA;AAAA,IACpB,MAAMC,yCAA+B,MAAM,CAAA;AAAA,IAC3C,CAAC,MAAM;AAAA,GACT;AAEA,EAAA,IAAI,OAAS,EAAA;AACX,IAAA,sCACG,YACC,EAAA,EAAA,QAAA,kBAAAH,cAAA;AAAA,MAACI,gCAAA;AAAA,MAAA;AAAA,QACC,SAAW,EAAA,gBAAA;AAAA,QACX,WAAW,gBAAkB,EAAA,EAAA;AAAA,QAC7B,MAAQ,EAAA,eAAA;AAAA,QACR,cAAgB,EAAA,cAAA;AAAA,QAChB;AAAA;AAAA,KAEJ,EAAA,CAAA;AAAA;AAIJ,EAAA,IAAI,aAAe,EAAA;AACjB,IAAA,sCACG,YACC,EAAA,EAAA,QAAA,kBAAAJ,cAAA;AAAA,MAACI,gCAAA;AAAA,MAAA;AAAA,QACC,WAAW,aAAc,CAAA,SAAA;AAAA,QACzB,mBAAmB,aAAc,CAAA,iBAAA;AAAA,QACjC,MAAQ,EAAA,eAAA;AAAA,QACR,cAAgB,EAAA,cAAA;AAAA,QAChB,SAAA,EAAW,cAAc,SAAa,IAAA;AAAA;AAAA,KAE1C,EAAA,CAAA;AAAA;AAIJ,EAAA,uBACGJ,cAAA,CAAAK,gBAAA,EAAA,EAAc,YAA4B,EAAA,YAAA,EAAc,KACvD,EAAA,QAAA,kBAAAL,cAAA;AAAA,IAACM,wBAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,WAAA;AAAA,MACA,gBAAA;AAAA,MACA,MAAQ,EAAA,eAAA;AAAA,MACR,cAAgB,EAAA,cAAA;AAAA,MAChB,SAAA;AAAA,MACA,WAAa,EAAA,qBAAA;AAAA,MACb,cAAgB,EAAA;AAAA;AAAA,GAEpB,EAAA,CAAA;AAEJ","file":"index.cjs","sourcesContent":["{\n \"name\": \"@arronqzy/abuilder\",\n \"version\": \"1.1.
|
|
1
|
+
{"version":3,"sources":["../package.json","../src/version.ts","../src/App.tsx"],"names":["jsx","useState","useMemo","parseOnlinePreviewSearchParams","ReactViewOnlinePreview","ThemeProvider","ReactViewPanel"],"mappings":";;;;;;;;;;AAAA,IAAA,eAAA,GAAA;AAAA,EACE,IAAQ,EAAA,oBAAA;AAAA,EACR,OAAW,EAAA,QAiEb,CAAA;;;AChEO,IAAM,wBAAwB,eAAY,CAAA;AAC1C,IAAM,mBAAmB,eAAY,CAAA;ACwC5C,SAAS,YAAA,CAAa,EAAE,QAAA,EAAqC,EAAA;AAC3D,EAAI,IAAA,OAAO,aAAa,WAAa,EAAA;AACnC,IAAS,QAAA,CAAA,eAAA,CAAgB,SAAU,CAAA,MAAA,CAAO,MAAM,CAAA;AAChD,IAAS,QAAA,CAAA,eAAA,CAAgB,SAAU,CAAA,GAAA,CAAI,OAAO,CAAA;AAC9C,IAAS,QAAA,CAAA,eAAA,CAAgB,QAAQ,KAAQ,GAAA,OAAA;AAAA;AAG3C,EACE,uBAAAA,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAU,EAAA,mDAAA;AAAA,MACV,YAAW,EAAA,OAAA;AAAA,MAEV;AAAA;AAAA,GACH;AAEJ;AAEO,SAAS,GAAI,CAAA;AAAA,EAClB,SAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAe,GAAA,MAAA;AAAA,EACf,MAAS,GAAA,IAAA;AAAA,EACT,aAAA;AAAA,EACA,OAAU,GAAA,KAAA;AAAA,EACV,gBAAmB,GAAA,IAAA;AAAA,EACnB,SAAY,GAAA;AACd,CAAqB,EAAA;AACnB,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIC,eAAwB,MAAM,CAAA;AACpE,EAAA,MAAM,kBAAkB,MAAU,IAAA,WAAA;AAElC,EAAA,MAAM,SACJ,aACC,KAAA,OAAO,WAAW,WAAc,GAAA,MAAA,CAAO,SAAS,MAAS,GAAA,EAAA,CAAA;AAE5D,EAAA,MAAM,aAAgB,GAAAC,aAAA;AAAA,IACpB,MAAMC,yCAA+B,MAAM,CAAA;AAAA,IAC3C,CAAC,MAAM;AAAA,GACT;AAEA,EAAA,IAAI,OAAS,EAAA;AACX,IAAA,sCACG,YACC,EAAA,EAAA,QAAA,kBAAAH,cAAA;AAAA,MAACI,gCAAA;AAAA,MAAA;AAAA,QACC,SAAW,EAAA,gBAAA;AAAA,QACX,WAAW,gBAAkB,EAAA,EAAA;AAAA,QAC7B,MAAQ,EAAA,eAAA;AAAA,QACR,cAAgB,EAAA,cAAA;AAAA,QAChB;AAAA;AAAA,KAEJ,EAAA,CAAA;AAAA;AAIJ,EAAA,IAAI,aAAe,EAAA;AACjB,IAAA,sCACG,YACC,EAAA,EAAA,QAAA,kBAAAJ,cAAA;AAAA,MAACI,gCAAA;AAAA,MAAA;AAAA,QACC,WAAW,aAAc,CAAA,SAAA;AAAA,QACzB,mBAAmB,aAAc,CAAA,iBAAA;AAAA,QACjC,MAAQ,EAAA,eAAA;AAAA,QACR,cAAgB,EAAA,cAAA;AAAA,QAChB,SAAA,EAAW,cAAc,SAAa,IAAA;AAAA;AAAA,KAE1C,EAAA,CAAA;AAAA;AAIJ,EAAA,uBACGJ,cAAA,CAAAK,gBAAA,EAAA,EAAc,YAA4B,EAAA,YAAA,EAAc,KACvD,EAAA,QAAA,kBAAAL,cAAA;AAAA,IAACM,wBAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,WAAA;AAAA,MACA,gBAAA;AAAA,MACA,MAAQ,EAAA,eAAA;AAAA,MACR,cAAgB,EAAA,cAAA;AAAA,MAChB,SAAA;AAAA,MACA,WAAa,EAAA,qBAAA;AAAA,MACb,cAAgB,EAAA;AAAA;AAAA,GAEpB,EAAA,CAAA;AAEJ","file":"index.cjs","sourcesContent":["{\n \"name\": \"@arronqzy/abuilder\",\n \"version\": \"1.1.39\",\n \"description\": \"Abuilder 可视化编辑器 — 安装后即可通过 <App /> 渲染完整应用\",\n \"license\": \"MIT\",\n \"type\": \"module\",\n \"sideEffects\": [\n \"*.css\"\n ],\n \"files\": [\n \"dist\",\n \"README.md\"\n ],\n \"main\": \"./dist/index.cjs\",\n \"module\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.js\",\n \"require\": \"./dist/index.cjs\"\n },\n \"./styles.css\": \"./dist/styles.css\",\n \"./vite\": {\n \"types\": \"./dist/vite.d.ts\",\n \"import\": \"./dist/vite.js\",\n \"require\": \"./dist/vite.cjs\",\n \"default\": \"./dist/vite.js\"\n }\n },\n \"scripts\": {\n \"lint\": \"eslint \\\"src/**/*.{ts,tsx}\\\"\",\n \"typecheck\": \"tsc -p tsconfig.json --noEmit --skipLibCheck\",\n \"build:css\": \"node ./scripts/build-css.mjs\",\n \"build:js\": \"tsup && cp src/vite.d.ts dist/vite.d.ts && cp src/vite.d.ts dist/vite.d.cts\",\n \"build\": \"pnpm run build:js && pnpm run build:css\",\n \"prepublishOnly\": \"pnpm run build\",\n \"dev\": \"tsup --watch\"\n },\n \"dependencies\": {\n \"@arronqzy/blueprint-dsl\": \"workspace:*\",\n \"@arronqzy/i18n\": \"workspace:*\",\n \"@arronqzy/react-blueprint\": \"workspace:*\",\n \"@arronqzy/react-view\": \"workspace:*\",\n \"@arronqzy/rx-store\": \"workspace:*\",\n \"@arronqzy/ui\": \"workspace:*\",\n \"@arronqzy/webllm-assistant\": \"workspace:*\"\n },\n \"peerDependencies\": {\n \"react\": \">=18\",\n \"react-dom\": \">=18\"\n },\n \"devDependencies\": {\n \"@arronqzy/eslint-config\": \"workspace:*\",\n \"@arronqzy/typescript-config\": \"workspace:*\",\n \"@types/react\": \"^19.0.1\",\n \"@types/react-dom\": \"^19.0.2\",\n \"@xyflow/react\": \"^12.9.3\",\n \"eslint\": \"^8.57.0\",\n \"postcss\": \"^8.4.49\",\n \"postcss-import\": \"^16.1.0\",\n \"tsup\": \"^8.4.0\",\n \"typescript\": \"^5.5.4\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n }\n}\n","import packageJson from \"../package.json\";\n\n/** 与 packages/abuilder/package.json 的 name / version 保持同步(构建时从 JSON 读入)。 */\nexport const ABUILDER_PACKAGE_NAME = packageJson.name;\nexport const ABUILDER_VERSION = packageJson.version;\n","import { useMemo, useState, type ReactNode } from \"react\";\nimport { ThemeProvider } from \"@arronqzy/ui\";\nimport type { Locale } from \"@arronqzy/i18n\";\nimport {\n ReactViewOnlinePreview,\n ReactViewPanel,\n parseOnlinePreviewSearchParams,\n} from \"@arronqzy/react-view\";\nimport type { WorkspaceProjectRecord } from \"@arronqzy/react-view\";\nimport { ABUILDER_PACKAGE_NAME, ABUILDER_VERSION } from \"./version\";\n\nexport type AbuilderAppProps = {\n className?: string;\n initialZoom?: number;\n /** 编辑器默认主题 */\n defaultTheme?: \"dark\" | \"light\";\n /**\n * 界面语言。省略时按 localStorage → 浏览器语言 → zh-CN 解析。\n */\n locale?: Locale | null;\n /**\n * 在线预览模式的 URL 查询串。\n * 默认读取 `window.location.search`;含 `?preview=online&projectId=...` 时进入预览页。\n */\n previewSearch?: string;\n /**\n * 是否为预览模式。`true` 时根据 `initialWorkspace` 直接渲染预览页;`false` 为编辑面板。\n * @default false\n */\n preview?: boolean;\n /**\n * 外部传入的完整工作区数据(面板 + 蓝图)。\n * 编辑模式:挂载后按这份数据完整渲染;预览模式:直接渲染预览页。\n * 省略或空:首次显示空画布 / 空蓝图,不会自动选中 IndexedDB 中的工作区。\n */\n initialWorkspace?: WorkspaceProjectRecord | null;\n /**\n * 隔离 IndexedDB / localStorage / BroadcastChannel。\n * 同一页面挂多个 App 时传入不同值,避免工作区、蓝图库、预览缓存互相覆盖。\n * 省略或空字符串保持历史全局库名。\n */\n nameSpace?: string | null;\n};\n\nfunction PreviewShell({ children }: { children: ReactNode }) {\n if (typeof document !== \"undefined\") {\n document.documentElement.classList.remove(\"dark\");\n document.documentElement.classList.add(\"light\");\n document.documentElement.dataset.theme = \"light\";\n }\n\n return (\n <div\n className=\"light min-h-[100vh] w-full bg-white text-gray-900\"\n data-theme=\"light\"\n >\n {children}\n </div>\n );\n}\n\nexport function App({\n className,\n initialZoom,\n defaultTheme = \"dark\",\n locale = null,\n previewSearch,\n preview = false,\n initialWorkspace = null,\n nameSpace = null,\n}: AbuilderAppProps) {\n const [localeState, setLocaleState] = useState<Locale | null>(locale);\n const effectiveLocale = locale ?? localeState;\n\n const search =\n previewSearch ??\n (typeof window !== \"undefined\" ? window.location.search : \"\");\n\n const previewParams = useMemo(\n () => parseOnlinePreviewSearchParams(search),\n [search]\n );\n\n if (preview) {\n return (\n <PreviewShell>\n <ReactViewOnlinePreview\n workspace={initialWorkspace}\n projectId={initialWorkspace?.id}\n locale={effectiveLocale}\n onLocaleChange={setLocaleState}\n nameSpace={nameSpace}\n />\n </PreviewShell>\n );\n }\n\n if (previewParams) {\n return (\n <PreviewShell>\n <ReactViewOnlinePreview\n projectId={previewParams.projectId}\n previewInstanceId={previewParams.previewInstanceId}\n locale={effectiveLocale}\n onLocaleChange={setLocaleState}\n nameSpace={previewParams.nameSpace ?? nameSpace}\n />\n </PreviewShell>\n );\n }\n\n return (\n <ThemeProvider defaultTheme={defaultTheme} enableSystem={false}>\n <ReactViewPanel\n className={className}\n initialZoom={initialZoom}\n initialWorkspace={initialWorkspace}\n locale={effectiveLocale}\n onLocaleChange={setLocaleState}\n nameSpace={nameSpace}\n packageName={ABUILDER_PACKAGE_NAME}\n packageVersion={ABUILDER_VERSION}\n />\n </ThemeProvider>\n );\n}\n"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -2,7 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
2
2
|
import { Locale } from '@arronqzy/i18n';
|
|
3
3
|
export { Locale } from '@arronqzy/i18n';
|
|
4
4
|
import { WorkspaceProjectRecord } from '@arronqzy/react-view';
|
|
5
|
-
export { AbuilderEventName, AbuilderEventPayloadMap, AbuilderEvents, ApiCollectionUploadStartEventPayload, ApiCollectionUploadSuccessEventPayload, GetPreviewSnapshotOptions, I18nProvider, ParseCheckResult, ReactViewOnlinePreview, ReactViewPanel, ReactViewPanelProps, WorkspaceAddEventPayload, WorkspaceData, WorkspaceParseCheckResult, WorkspaceProjectRecord, WorkspaceSyncEventPayload, addEventSubscription, createEmptyWorkspace, createWorkspaceProjectId, getPreviewSnapshot, parseBlueprintData, parseOnlinePreviewSearchParams, parseViewData, parseWorkspaceData, validateBlueprintData, validateViewData, validateWorkspaceData } from '@arronqzy/react-view';
|
|
5
|
+
export { AbuilderEventName, AbuilderEventPayloadMap, AbuilderEvents, AbuilderStorageClearResult, ApiCollectionRecord, ApiCollectionUploadStartEventPayload, ApiCollectionUploadSuccessEventPayload, BlueprintLibraryListItem, BlueprintLibraryRecord, ExecutionLogSettings, ExecutionRunRecord, GetPreviewSnapshotOptions, I18nProvider, ParseCheckResult, ReactViewOnlinePreview, ReactViewPanel, ReactViewPanelProps, WorkspaceAddEventPayload, WorkspaceData, WorkspaceDeleteEventPayload, WorkspaceParseCheckResult, WorkspaceProjectListItem, WorkspaceProjectRecord, WorkspaceSyncEventPayload, addEventSubscription, clearAbuilderStorage, clearAllExecutionRunRecords, clearApiCollections, clearBlueprintLibrary, clearWorkspaceProjects, createEmptyWorkspace, createWorkspaceProjectId, deleteApiCollection, deleteBlueprintLibraryRecord, deleteExecutionRunRecord, deleteWorkspaceProject, getBlueprintLibraryRecord, getExecutionRunRecord, getPreviewSnapshot, getWorkspaceProject, listApiCollectionRecords, listBlueprintLibrary, listExecutionRunRecords, listWorkspaceProjects, parseBlueprintData, parseOnlinePreviewSearchParams, parseViewData, parseWorkspaceData, purgeExecutionRunsOlderThan, readExecutionLogSettings, trimExecutionRunRecordsToMax, validateBlueprintData, validateViewData, validateWorkspaceData, writeExecutionLogSettings } from '@arronqzy/react-view';
|
|
6
6
|
|
|
7
7
|
type AbuilderAppProps = {
|
|
8
8
|
className?: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
2
2
|
import { Locale } from '@arronqzy/i18n';
|
|
3
3
|
export { Locale } from '@arronqzy/i18n';
|
|
4
4
|
import { WorkspaceProjectRecord } from '@arronqzy/react-view';
|
|
5
|
-
export { AbuilderEventName, AbuilderEventPayloadMap, AbuilderEvents, ApiCollectionUploadStartEventPayload, ApiCollectionUploadSuccessEventPayload, GetPreviewSnapshotOptions, I18nProvider, ParseCheckResult, ReactViewOnlinePreview, ReactViewPanel, ReactViewPanelProps, WorkspaceAddEventPayload, WorkspaceData, WorkspaceParseCheckResult, WorkspaceProjectRecord, WorkspaceSyncEventPayload, addEventSubscription, createEmptyWorkspace, createWorkspaceProjectId, getPreviewSnapshot, parseBlueprintData, parseOnlinePreviewSearchParams, parseViewData, parseWorkspaceData, validateBlueprintData, validateViewData, validateWorkspaceData } from '@arronqzy/react-view';
|
|
5
|
+
export { AbuilderEventName, AbuilderEventPayloadMap, AbuilderEvents, AbuilderStorageClearResult, ApiCollectionRecord, ApiCollectionUploadStartEventPayload, ApiCollectionUploadSuccessEventPayload, BlueprintLibraryListItem, BlueprintLibraryRecord, ExecutionLogSettings, ExecutionRunRecord, GetPreviewSnapshotOptions, I18nProvider, ParseCheckResult, ReactViewOnlinePreview, ReactViewPanel, ReactViewPanelProps, WorkspaceAddEventPayload, WorkspaceData, WorkspaceDeleteEventPayload, WorkspaceParseCheckResult, WorkspaceProjectListItem, WorkspaceProjectRecord, WorkspaceSyncEventPayload, addEventSubscription, clearAbuilderStorage, clearAllExecutionRunRecords, clearApiCollections, clearBlueprintLibrary, clearWorkspaceProjects, createEmptyWorkspace, createWorkspaceProjectId, deleteApiCollection, deleteBlueprintLibraryRecord, deleteExecutionRunRecord, deleteWorkspaceProject, getBlueprintLibraryRecord, getExecutionRunRecord, getPreviewSnapshot, getWorkspaceProject, listApiCollectionRecords, listBlueprintLibrary, listExecutionRunRecords, listWorkspaceProjects, parseBlueprintData, parseOnlinePreviewSearchParams, parseViewData, parseWorkspaceData, purgeExecutionRunsOlderThan, readExecutionLogSettings, trimExecutionRunRecordsToMax, validateBlueprintData, validateViewData, validateWorkspaceData, writeExecutionLogSettings } from '@arronqzy/react-view';
|
|
6
6
|
|
|
7
7
|
type AbuilderAppProps = {
|
|
8
8
|
className?: string;
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useState, useMemo } from 'react';
|
|
2
2
|
import { ThemeProvider } from '@arronqzy/ui';
|
|
3
3
|
import { parseOnlinePreviewSearchParams, ReactViewOnlinePreview, ReactViewPanel } from '@arronqzy/react-view';
|
|
4
|
-
export { AbuilderEvents, I18nProvider, ReactViewOnlinePreview, ReactViewPanel, addEventSubscription, createEmptyWorkspace, createWorkspaceProjectId, getPreviewSnapshot, parseBlueprintData, parseOnlinePreviewSearchParams, parseViewData, parseWorkspaceData, validateBlueprintData, validateViewData, validateWorkspaceData } from '@arronqzy/react-view';
|
|
4
|
+
export { AbuilderEvents, I18nProvider, ReactViewOnlinePreview, ReactViewPanel, addEventSubscription, clearAbuilderStorage, clearAllExecutionRunRecords, clearApiCollections, clearBlueprintLibrary, clearWorkspaceProjects, createEmptyWorkspace, createWorkspaceProjectId, deleteApiCollection, deleteBlueprintLibraryRecord, deleteExecutionRunRecord, deleteWorkspaceProject, getBlueprintLibraryRecord, getExecutionRunRecord, getPreviewSnapshot, getWorkspaceProject, listApiCollectionRecords, listBlueprintLibrary, listExecutionRunRecords, listWorkspaceProjects, parseBlueprintData, parseOnlinePreviewSearchParams, parseViewData, parseWorkspaceData, purgeExecutionRunsOlderThan, readExecutionLogSettings, trimExecutionRunRecordsToMax, validateBlueprintData, validateViewData, validateWorkspaceData, writeExecutionLogSettings } from '@arronqzy/react-view';
|
|
5
5
|
import { jsx } from 'react/jsx-runtime';
|
|
6
6
|
|
|
7
7
|
// src/App.tsx
|
|
@@ -9,7 +9,7 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
9
9
|
// package.json
|
|
10
10
|
var package_default = {
|
|
11
11
|
name: "@arronqzy/abuilder",
|
|
12
|
-
version: "1.1.
|
|
12
|
+
version: "1.1.39"};
|
|
13
13
|
|
|
14
14
|
// src/version.ts
|
|
15
15
|
var ABUILDER_PACKAGE_NAME = package_default.name;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../package.json","../src/version.ts","../src/App.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,IAAA,eAAA,GAAA;AAAA,EACE,IAAQ,EAAA,oBAAA;AAAA,EACR,OAAW,EAAA,QAiEb,CAAA;;;AChEO,IAAM,wBAAwB,eAAY,CAAA;AAC1C,IAAM,mBAAmB,eAAY,CAAA;ACwC5C,SAAS,YAAA,CAAa,EAAE,QAAA,EAAqC,EAAA;AAC3D,EAAI,IAAA,OAAO,aAAa,WAAa,EAAA;AACnC,IAAS,QAAA,CAAA,eAAA,CAAgB,SAAU,CAAA,MAAA,CAAO,MAAM,CAAA;AAChD,IAAS,QAAA,CAAA,eAAA,CAAgB,SAAU,CAAA,GAAA,CAAI,OAAO,CAAA;AAC9C,IAAS,QAAA,CAAA,eAAA,CAAgB,QAAQ,KAAQ,GAAA,OAAA;AAAA;AAG3C,EACE,uBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAU,EAAA,mDAAA;AAAA,MACV,YAAW,EAAA,OAAA;AAAA,MAEV;AAAA;AAAA,GACH;AAEJ;AAEO,SAAS,GAAI,CAAA;AAAA,EAClB,SAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAe,GAAA,MAAA;AAAA,EACf,MAAS,GAAA,IAAA;AAAA,EACT,aAAA;AAAA,EACA,OAAU,GAAA,KAAA;AAAA,EACV,gBAAmB,GAAA,IAAA;AAAA,EACnB,SAAY,GAAA;AACd,CAAqB,EAAA;AACnB,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAwB,MAAM,CAAA;AACpE,EAAA,MAAM,kBAAkB,MAAU,IAAA,WAAA;AAElC,EAAA,MAAM,SACJ,aACC,KAAA,OAAO,WAAW,WAAc,GAAA,MAAA,CAAO,SAAS,MAAS,GAAA,EAAA,CAAA;AAE5D,EAAA,MAAM,aAAgB,GAAA,OAAA;AAAA,IACpB,MAAM,+BAA+B,MAAM,CAAA;AAAA,IAC3C,CAAC,MAAM;AAAA,GACT;AAEA,EAAA,IAAI,OAAS,EAAA;AACX,IAAA,2BACG,YACC,EAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,sBAAA;AAAA,MAAA;AAAA,QACC,SAAW,EAAA,gBAAA;AAAA,QACX,WAAW,gBAAkB,EAAA,EAAA;AAAA,QAC7B,MAAQ,EAAA,eAAA;AAAA,QACR,cAAgB,EAAA,cAAA;AAAA,QAChB;AAAA;AAAA,KAEJ,EAAA,CAAA;AAAA;AAIJ,EAAA,IAAI,aAAe,EAAA;AACjB,IAAA,2BACG,YACC,EAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,sBAAA;AAAA,MAAA;AAAA,QACC,WAAW,aAAc,CAAA,SAAA;AAAA,QACzB,mBAAmB,aAAc,CAAA,iBAAA;AAAA,QACjC,MAAQ,EAAA,eAAA;AAAA,QACR,cAAgB,EAAA,cAAA;AAAA,QAChB,SAAA,EAAW,cAAc,SAAa,IAAA;AAAA;AAAA,KAE1C,EAAA,CAAA;AAAA;AAIJ,EAAA,uBACG,GAAA,CAAA,aAAA,EAAA,EAAc,YAA4B,EAAA,YAAA,EAAc,KACvD,EAAA,QAAA,kBAAA,GAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,WAAA;AAAA,MACA,gBAAA;AAAA,MACA,MAAQ,EAAA,eAAA;AAAA,MACR,cAAgB,EAAA,cAAA;AAAA,MAChB,SAAA;AAAA,MACA,WAAa,EAAA,qBAAA;AAAA,MACb,cAAgB,EAAA;AAAA;AAAA,GAEpB,EAAA,CAAA;AAEJ","file":"index.js","sourcesContent":["{\n \"name\": \"@arronqzy/abuilder\",\n \"version\": \"1.1.
|
|
1
|
+
{"version":3,"sources":["../package.json","../src/version.ts","../src/App.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,IAAA,eAAA,GAAA;AAAA,EACE,IAAQ,EAAA,oBAAA;AAAA,EACR,OAAW,EAAA,QAiEb,CAAA;;;AChEO,IAAM,wBAAwB,eAAY,CAAA;AAC1C,IAAM,mBAAmB,eAAY,CAAA;ACwC5C,SAAS,YAAA,CAAa,EAAE,QAAA,EAAqC,EAAA;AAC3D,EAAI,IAAA,OAAO,aAAa,WAAa,EAAA;AACnC,IAAS,QAAA,CAAA,eAAA,CAAgB,SAAU,CAAA,MAAA,CAAO,MAAM,CAAA;AAChD,IAAS,QAAA,CAAA,eAAA,CAAgB,SAAU,CAAA,GAAA,CAAI,OAAO,CAAA;AAC9C,IAAS,QAAA,CAAA,eAAA,CAAgB,QAAQ,KAAQ,GAAA,OAAA;AAAA;AAG3C,EACE,uBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAU,EAAA,mDAAA;AAAA,MACV,YAAW,EAAA,OAAA;AAAA,MAEV;AAAA;AAAA,GACH;AAEJ;AAEO,SAAS,GAAI,CAAA;AAAA,EAClB,SAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAe,GAAA,MAAA;AAAA,EACf,MAAS,GAAA,IAAA;AAAA,EACT,aAAA;AAAA,EACA,OAAU,GAAA,KAAA;AAAA,EACV,gBAAmB,GAAA,IAAA;AAAA,EACnB,SAAY,GAAA;AACd,CAAqB,EAAA;AACnB,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAwB,MAAM,CAAA;AACpE,EAAA,MAAM,kBAAkB,MAAU,IAAA,WAAA;AAElC,EAAA,MAAM,SACJ,aACC,KAAA,OAAO,WAAW,WAAc,GAAA,MAAA,CAAO,SAAS,MAAS,GAAA,EAAA,CAAA;AAE5D,EAAA,MAAM,aAAgB,GAAA,OAAA;AAAA,IACpB,MAAM,+BAA+B,MAAM,CAAA;AAAA,IAC3C,CAAC,MAAM;AAAA,GACT;AAEA,EAAA,IAAI,OAAS,EAAA;AACX,IAAA,2BACG,YACC,EAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,sBAAA;AAAA,MAAA;AAAA,QACC,SAAW,EAAA,gBAAA;AAAA,QACX,WAAW,gBAAkB,EAAA,EAAA;AAAA,QAC7B,MAAQ,EAAA,eAAA;AAAA,QACR,cAAgB,EAAA,cAAA;AAAA,QAChB;AAAA;AAAA,KAEJ,EAAA,CAAA;AAAA;AAIJ,EAAA,IAAI,aAAe,EAAA;AACjB,IAAA,2BACG,YACC,EAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,sBAAA;AAAA,MAAA;AAAA,QACC,WAAW,aAAc,CAAA,SAAA;AAAA,QACzB,mBAAmB,aAAc,CAAA,iBAAA;AAAA,QACjC,MAAQ,EAAA,eAAA;AAAA,QACR,cAAgB,EAAA,cAAA;AAAA,QAChB,SAAA,EAAW,cAAc,SAAa,IAAA;AAAA;AAAA,KAE1C,EAAA,CAAA;AAAA;AAIJ,EAAA,uBACG,GAAA,CAAA,aAAA,EAAA,EAAc,YAA4B,EAAA,YAAA,EAAc,KACvD,EAAA,QAAA,kBAAA,GAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,WAAA;AAAA,MACA,gBAAA;AAAA,MACA,MAAQ,EAAA,eAAA;AAAA,MACR,cAAgB,EAAA,cAAA;AAAA,MAChB,SAAA;AAAA,MACA,WAAa,EAAA,qBAAA;AAAA,MACb,cAAgB,EAAA;AAAA;AAAA,GAEpB,EAAA,CAAA;AAEJ","file":"index.js","sourcesContent":["{\n \"name\": \"@arronqzy/abuilder\",\n \"version\": \"1.1.39\",\n \"description\": \"Abuilder 可视化编辑器 — 安装后即可通过 <App /> 渲染完整应用\",\n \"license\": \"MIT\",\n \"type\": \"module\",\n \"sideEffects\": [\n \"*.css\"\n ],\n \"files\": [\n \"dist\",\n \"README.md\"\n ],\n \"main\": \"./dist/index.cjs\",\n \"module\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.js\",\n \"require\": \"./dist/index.cjs\"\n },\n \"./styles.css\": \"./dist/styles.css\",\n \"./vite\": {\n \"types\": \"./dist/vite.d.ts\",\n \"import\": \"./dist/vite.js\",\n \"require\": \"./dist/vite.cjs\",\n \"default\": \"./dist/vite.js\"\n }\n },\n \"scripts\": {\n \"lint\": \"eslint \\\"src/**/*.{ts,tsx}\\\"\",\n \"typecheck\": \"tsc -p tsconfig.json --noEmit --skipLibCheck\",\n \"build:css\": \"node ./scripts/build-css.mjs\",\n \"build:js\": \"tsup && cp src/vite.d.ts dist/vite.d.ts && cp src/vite.d.ts dist/vite.d.cts\",\n \"build\": \"pnpm run build:js && pnpm run build:css\",\n \"prepublishOnly\": \"pnpm run build\",\n \"dev\": \"tsup --watch\"\n },\n \"dependencies\": {\n \"@arronqzy/blueprint-dsl\": \"workspace:*\",\n \"@arronqzy/i18n\": \"workspace:*\",\n \"@arronqzy/react-blueprint\": \"workspace:*\",\n \"@arronqzy/react-view\": \"workspace:*\",\n \"@arronqzy/rx-store\": \"workspace:*\",\n \"@arronqzy/ui\": \"workspace:*\",\n \"@arronqzy/webllm-assistant\": \"workspace:*\"\n },\n \"peerDependencies\": {\n \"react\": \">=18\",\n \"react-dom\": \">=18\"\n },\n \"devDependencies\": {\n \"@arronqzy/eslint-config\": \"workspace:*\",\n \"@arronqzy/typescript-config\": \"workspace:*\",\n \"@types/react\": \"^19.0.1\",\n \"@types/react-dom\": \"^19.0.2\",\n \"@xyflow/react\": \"^12.9.3\",\n \"eslint\": \"^8.57.0\",\n \"postcss\": \"^8.4.49\",\n \"postcss-import\": \"^16.1.0\",\n \"tsup\": \"^8.4.0\",\n \"typescript\": \"^5.5.4\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n }\n}\n","import packageJson from \"../package.json\";\n\n/** 与 packages/abuilder/package.json 的 name / version 保持同步(构建时从 JSON 读入)。 */\nexport const ABUILDER_PACKAGE_NAME = packageJson.name;\nexport const ABUILDER_VERSION = packageJson.version;\n","import { useMemo, useState, type ReactNode } from \"react\";\nimport { ThemeProvider } from \"@arronqzy/ui\";\nimport type { Locale } from \"@arronqzy/i18n\";\nimport {\n ReactViewOnlinePreview,\n ReactViewPanel,\n parseOnlinePreviewSearchParams,\n} from \"@arronqzy/react-view\";\nimport type { WorkspaceProjectRecord } from \"@arronqzy/react-view\";\nimport { ABUILDER_PACKAGE_NAME, ABUILDER_VERSION } from \"./version\";\n\nexport type AbuilderAppProps = {\n className?: string;\n initialZoom?: number;\n /** 编辑器默认主题 */\n defaultTheme?: \"dark\" | \"light\";\n /**\n * 界面语言。省略时按 localStorage → 浏览器语言 → zh-CN 解析。\n */\n locale?: Locale | null;\n /**\n * 在线预览模式的 URL 查询串。\n * 默认读取 `window.location.search`;含 `?preview=online&projectId=...` 时进入预览页。\n */\n previewSearch?: string;\n /**\n * 是否为预览模式。`true` 时根据 `initialWorkspace` 直接渲染预览页;`false` 为编辑面板。\n * @default false\n */\n preview?: boolean;\n /**\n * 外部传入的完整工作区数据(面板 + 蓝图)。\n * 编辑模式:挂载后按这份数据完整渲染;预览模式:直接渲染预览页。\n * 省略或空:首次显示空画布 / 空蓝图,不会自动选中 IndexedDB 中的工作区。\n */\n initialWorkspace?: WorkspaceProjectRecord | null;\n /**\n * 隔离 IndexedDB / localStorage / BroadcastChannel。\n * 同一页面挂多个 App 时传入不同值,避免工作区、蓝图库、预览缓存互相覆盖。\n * 省略或空字符串保持历史全局库名。\n */\n nameSpace?: string | null;\n};\n\nfunction PreviewShell({ children }: { children: ReactNode }) {\n if (typeof document !== \"undefined\") {\n document.documentElement.classList.remove(\"dark\");\n document.documentElement.classList.add(\"light\");\n document.documentElement.dataset.theme = \"light\";\n }\n\n return (\n <div\n className=\"light min-h-[100vh] w-full bg-white text-gray-900\"\n data-theme=\"light\"\n >\n {children}\n </div>\n );\n}\n\nexport function App({\n className,\n initialZoom,\n defaultTheme = \"dark\",\n locale = null,\n previewSearch,\n preview = false,\n initialWorkspace = null,\n nameSpace = null,\n}: AbuilderAppProps) {\n const [localeState, setLocaleState] = useState<Locale | null>(locale);\n const effectiveLocale = locale ?? localeState;\n\n const search =\n previewSearch ??\n (typeof window !== \"undefined\" ? window.location.search : \"\");\n\n const previewParams = useMemo(\n () => parseOnlinePreviewSearchParams(search),\n [search]\n );\n\n if (preview) {\n return (\n <PreviewShell>\n <ReactViewOnlinePreview\n workspace={initialWorkspace}\n projectId={initialWorkspace?.id}\n locale={effectiveLocale}\n onLocaleChange={setLocaleState}\n nameSpace={nameSpace}\n />\n </PreviewShell>\n );\n }\n\n if (previewParams) {\n return (\n <PreviewShell>\n <ReactViewOnlinePreview\n projectId={previewParams.projectId}\n previewInstanceId={previewParams.previewInstanceId}\n locale={effectiveLocale}\n onLocaleChange={setLocaleState}\n nameSpace={previewParams.nameSpace ?? nameSpace}\n />\n </PreviewShell>\n );\n }\n\n return (\n <ThemeProvider defaultTheme={defaultTheme} enableSystem={false}>\n <ReactViewPanel\n className={className}\n initialZoom={initialZoom}\n initialWorkspace={initialWorkspace}\n locale={effectiveLocale}\n onLocaleChange={setLocaleState}\n nameSpace={nameSpace}\n packageName={ABUILDER_PACKAGE_NAME}\n packageVersion={ABUILDER_VERSION}\n />\n </ThemeProvider>\n );\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arronqzy/abuilder",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.39",
|
|
4
4
|
"description": "Abuilder 可视化编辑器 — 安装后即可通过 <App /> 渲染完整应用",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -31,11 +31,11 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@arronqzy/blueprint-dsl": "1.0.17",
|
|
33
33
|
"@arronqzy/i18n": "0.1.17",
|
|
34
|
-
"@arronqzy/react-
|
|
35
|
-
"@arronqzy/ui": "1.0.10",
|
|
34
|
+
"@arronqzy/react-view": "1.0.38",
|
|
36
35
|
"@arronqzy/rx-store": "1.0.8",
|
|
37
|
-
"@arronqzy/
|
|
38
|
-
"@arronqzy/webllm-assistant": "0.1.16"
|
|
36
|
+
"@arronqzy/ui": "1.0.10",
|
|
37
|
+
"@arronqzy/webllm-assistant": "0.1.16",
|
|
38
|
+
"@arronqzy/react-blueprint": "1.0.23"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"react": ">=18",
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
"postcss-import": "^16.1.0",
|
|
51
51
|
"tsup": "^8.4.0",
|
|
52
52
|
"typescript": "^5.5.4",
|
|
53
|
-
"@arronqzy/
|
|
54
|
-
"@arronqzy/
|
|
53
|
+
"@arronqzy/typescript-config": "1.0.0",
|
|
54
|
+
"@arronqzy/eslint-config": "0.0.0"
|
|
55
55
|
},
|
|
56
56
|
"publishConfig": {
|
|
57
57
|
"access": "public"
|