@arronqzy/abuilder 1.1.32 → 1.1.34
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/dist/index.cjs +14 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +13 -2
- package/dist/index.js.map +1 -1
- package/dist/styles.css +18 -0
- package/package.json +5 -5
package/dist/index.cjs
CHANGED
|
@@ -6,6 +6,15 @@ var reactView = require('@arronqzy/react-view');
|
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
7
|
|
|
8
8
|
// src/App.tsx
|
|
9
|
+
|
|
10
|
+
// package.json
|
|
11
|
+
var package_default = {
|
|
12
|
+
name: "@arronqzy/abuilder",
|
|
13
|
+
version: "1.1.34"};
|
|
14
|
+
|
|
15
|
+
// src/version.ts
|
|
16
|
+
var ABUILDER_PACKAGE_NAME = package_default.name;
|
|
17
|
+
var ABUILDER_VERSION = package_default.version;
|
|
9
18
|
function PreviewShell({ children }) {
|
|
10
19
|
if (typeof document !== "undefined") {
|
|
11
20
|
document.documentElement.classList.remove("dark");
|
|
@@ -70,7 +79,9 @@ function App({
|
|
|
70
79
|
initialWorkspace,
|
|
71
80
|
locale: effectiveLocale,
|
|
72
81
|
onLocaleChange: setLocaleState,
|
|
73
|
-
nameSpace
|
|
82
|
+
nameSpace,
|
|
83
|
+
packageName: ABUILDER_PACKAGE_NAME,
|
|
84
|
+
packageVersion: ABUILDER_VERSION
|
|
74
85
|
}
|
|
75
86
|
) });
|
|
76
87
|
}
|
|
@@ -135,6 +146,8 @@ Object.defineProperty(exports, "validateWorkspaceData", {
|
|
|
135
146
|
enumerable: true,
|
|
136
147
|
get: function () { return reactView.validateWorkspaceData; }
|
|
137
148
|
});
|
|
149
|
+
exports.ABUILDER_PACKAGE_NAME = ABUILDER_PACKAGE_NAME;
|
|
150
|
+
exports.ABUILDER_VERSION = ABUILDER_VERSION;
|
|
138
151
|
exports.App = App;
|
|
139
152
|
//# sourceMappingURL=index.cjs.map
|
|
140
153
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/App.tsx"],"names":["jsx","useState","useMemo","parseOnlinePreviewSearchParams","ReactViewOnlinePreview","ThemeProvider","ReactViewPanel"],"mappings":"
|
|
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.34\",\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
|
@@ -38,4 +38,8 @@ type AbuilderAppProps = {
|
|
|
38
38
|
};
|
|
39
39
|
declare function App({ className, initialZoom, defaultTheme, locale, previewSearch, preview, initialWorkspace, nameSpace, }: AbuilderAppProps): react_jsx_runtime.JSX.Element;
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
/** 与 packages/abuilder/package.json 的 name / version 保持同步(构建时从 JSON 读入)。 */
|
|
42
|
+
declare const ABUILDER_PACKAGE_NAME: string;
|
|
43
|
+
declare const ABUILDER_VERSION: string;
|
|
44
|
+
|
|
45
|
+
export { ABUILDER_PACKAGE_NAME, ABUILDER_VERSION, type AbuilderAppProps, App };
|
package/dist/index.d.ts
CHANGED
|
@@ -38,4 +38,8 @@ type AbuilderAppProps = {
|
|
|
38
38
|
};
|
|
39
39
|
declare function App({ className, initialZoom, defaultTheme, locale, previewSearch, preview, initialWorkspace, nameSpace, }: AbuilderAppProps): react_jsx_runtime.JSX.Element;
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
/** 与 packages/abuilder/package.json 的 name / version 保持同步(构建时从 JSON 读入)。 */
|
|
42
|
+
declare const ABUILDER_PACKAGE_NAME: string;
|
|
43
|
+
declare const ABUILDER_VERSION: string;
|
|
44
|
+
|
|
45
|
+
export { ABUILDER_PACKAGE_NAME, ABUILDER_VERSION, type AbuilderAppProps, App };
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,15 @@ export { AbuilderEvents, I18nProvider, ReactViewOnlinePreview, ReactViewPanel, a
|
|
|
5
5
|
import { jsx } from 'react/jsx-runtime';
|
|
6
6
|
|
|
7
7
|
// src/App.tsx
|
|
8
|
+
|
|
9
|
+
// package.json
|
|
10
|
+
var package_default = {
|
|
11
|
+
name: "@arronqzy/abuilder",
|
|
12
|
+
version: "1.1.34"};
|
|
13
|
+
|
|
14
|
+
// src/version.ts
|
|
15
|
+
var ABUILDER_PACKAGE_NAME = package_default.name;
|
|
16
|
+
var ABUILDER_VERSION = package_default.version;
|
|
8
17
|
function PreviewShell({ children }) {
|
|
9
18
|
if (typeof document !== "undefined") {
|
|
10
19
|
document.documentElement.classList.remove("dark");
|
|
@@ -69,11 +78,13 @@ function App({
|
|
|
69
78
|
initialWorkspace,
|
|
70
79
|
locale: effectiveLocale,
|
|
71
80
|
onLocaleChange: setLocaleState,
|
|
72
|
-
nameSpace
|
|
81
|
+
nameSpace,
|
|
82
|
+
packageName: ABUILDER_PACKAGE_NAME,
|
|
83
|
+
packageVersion: ABUILDER_VERSION
|
|
73
84
|
}
|
|
74
85
|
) });
|
|
75
86
|
}
|
|
76
87
|
|
|
77
|
-
export { App };
|
|
88
|
+
export { ABUILDER_PACKAGE_NAME, ABUILDER_VERSION, App };
|
|
78
89
|
//# sourceMappingURL=index.js.map
|
|
79
90
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/App.tsx"],"names":[],"mappings":"
|
|
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.34\",\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/styles.css
CHANGED
|
@@ -4366,6 +4366,10 @@ video {
|
|
|
4366
4366
|
min-width: 0px;
|
|
4367
4367
|
}
|
|
4368
4368
|
|
|
4369
|
+
.min-w-\[100px\] {
|
|
4370
|
+
min-width: 100px;
|
|
4371
|
+
}
|
|
4372
|
+
|
|
4369
4373
|
.min-w-\[120px\] {
|
|
4370
4374
|
min-width: 120px;
|
|
4371
4375
|
}
|
|
@@ -4374,6 +4378,10 @@ video {
|
|
|
4374
4378
|
min-width: 140px;
|
|
4375
4379
|
}
|
|
4376
4380
|
|
|
4381
|
+
.min-w-\[180px\] {
|
|
4382
|
+
min-width: 180px;
|
|
4383
|
+
}
|
|
4384
|
+
|
|
4377
4385
|
.min-w-\[92px\] {
|
|
4378
4386
|
min-width: 92px;
|
|
4379
4387
|
}
|
|
@@ -4500,6 +4508,10 @@ video {
|
|
|
4500
4508
|
cursor: crosshair;
|
|
4501
4509
|
}
|
|
4502
4510
|
|
|
4511
|
+
.cursor-default {
|
|
4512
|
+
cursor: default;
|
|
4513
|
+
}
|
|
4514
|
+
|
|
4503
4515
|
.cursor-grabbing {
|
|
4504
4516
|
cursor: grabbing;
|
|
4505
4517
|
}
|
|
@@ -4514,6 +4526,12 @@ video {
|
|
|
4514
4526
|
user-select: none;
|
|
4515
4527
|
}
|
|
4516
4528
|
|
|
4529
|
+
.select-text {
|
|
4530
|
+
-webkit-user-select: text;
|
|
4531
|
+
-moz-user-select: text;
|
|
4532
|
+
user-select: text;
|
|
4533
|
+
}
|
|
4534
|
+
|
|
4517
4535
|
.resize-none {
|
|
4518
4536
|
resize: none;
|
|
4519
4537
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arronqzy/abuilder",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.34",
|
|
4
4
|
"description": "Abuilder 可视化编辑器 — 安装后即可通过 <App /> 渲染完整应用",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -30,12 +30,12 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@arronqzy/blueprint-dsl": "1.0.15",
|
|
33
|
-
"@arronqzy/
|
|
34
|
-
"@arronqzy/react-
|
|
33
|
+
"@arronqzy/i18n": "0.1.15",
|
|
34
|
+
"@arronqzy/react-blueprint": "1.0.19",
|
|
35
35
|
"@arronqzy/rx-store": "1.0.8",
|
|
36
36
|
"@arronqzy/ui": "1.0.9",
|
|
37
|
-
"@arronqzy/
|
|
38
|
-
"@arronqzy/
|
|
37
|
+
"@arronqzy/react-view": "1.0.33",
|
|
38
|
+
"@arronqzy/webllm-assistant": "0.1.16"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"react": ">=18",
|