@flowgram.ai/materials-plugin 0.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.
@@ -0,0 +1,24 @@
1
+ // src/create-materials-plugin.ts
2
+ import { FlowRendererKey, FlowRendererRegistry } from "@flowgram.ai/renderer";
3
+ import { definePluginCreator } from "@flowgram.ai/core";
4
+ var createMaterialsPlugin = definePluginCreator({
5
+ onInit(ctx, opts) {
6
+ const registry = ctx.get(FlowRendererRegistry);
7
+ registry.registerReactComponent(
8
+ FlowRendererKey.NODE_RENDER,
9
+ opts.renderDefaultNode || (() => null)
10
+ );
11
+ if (opts.renderTexts) {
12
+ registry.registerText(opts.renderTexts);
13
+ }
14
+ if (opts.renderNodes) {
15
+ Object.keys(opts.renderNodes).forEach(
16
+ (key) => registry.registerReactComponent(key, opts.renderNodes[key])
17
+ );
18
+ }
19
+ }
20
+ });
21
+ export {
22
+ createMaterialsPlugin
23
+ };
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/create-materials-plugin.ts"],"sourcesContent":["import React from 'react';\n\nimport { FlowRendererKey, FlowRendererRegistry } from '@flowgram.ai/renderer';\nimport { definePluginCreator } from '@flowgram.ai/core';\n\nexport type MaterialReactComponent<T = any> = (props: T) => React.ReactNode | null;\n\nexport interface MaterialsPluginOptions {\n /**\n * 注册特定的节点渲染组件\n */\n renderNodes?: Record<string, MaterialReactComponent>;\n /**\n * 默认节点渲染\n */\n renderDefaultNode?: MaterialReactComponent;\n /**\n * 注册渲染的文字\n */\n renderTexts?: Record<string, string>;\n}\n\nexport const createMaterialsPlugin = definePluginCreator<MaterialsPluginOptions>({\n onInit(ctx, opts) {\n const registry = ctx.get<FlowRendererRegistry>(FlowRendererRegistry);\n /**\n * 注册默认节点渲染\n */\n registry.registerReactComponent(\n FlowRendererKey.NODE_RENDER,\n opts.renderDefaultNode || (() => null),\n );\n\n /**\n * 注册文案\n */\n if (opts.renderTexts) {\n registry.registerText(opts.renderTexts);\n }\n /**\n * 注册单节点渲染\n */\n if (opts.renderNodes) {\n Object.keys(opts.renderNodes).forEach(key =>\n registry.registerReactComponent(key, opts.renderNodes![key]),\n );\n }\n },\n});\n"],"mappings":";AAEA,SAAS,iBAAiB,4BAA4B;AACtD,SAAS,2BAA2B;AAmB7B,IAAM,wBAAwB,oBAA4C;AAAA,EAC/E,OAAO,KAAK,MAAM;AAChB,UAAM,WAAW,IAAI,IAA0B,oBAAoB;AAInE,aAAS;AAAA,MACP,gBAAgB;AAAA,MAChB,KAAK,sBAAsB,MAAM;AAAA,IACnC;AAKA,QAAI,KAAK,aAAa;AACpB,eAAS,aAAa,KAAK,WAAW;AAAA,IACxC;AAIA,QAAI,KAAK,aAAa;AACpB,aAAO,KAAK,KAAK,WAAW,EAAE;AAAA,QAAQ,SACpC,SAAS,uBAAuB,KAAK,KAAK,YAAa,GAAG,CAAC;AAAA,MAC7D;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
@@ -0,0 +1,21 @@
1
+ import * as _flowgram_ai_core from '@flowgram.ai/core';
2
+ import React from 'react';
3
+
4
+ type MaterialReactComponent<T = any> = (props: T) => React.ReactNode | null;
5
+ interface MaterialsPluginOptions {
6
+ /**
7
+ * 注册特定的节点渲染组件
8
+ */
9
+ renderNodes?: Record<string, MaterialReactComponent>;
10
+ /**
11
+ * 默认节点渲染
12
+ */
13
+ renderDefaultNode?: MaterialReactComponent;
14
+ /**
15
+ * 注册渲染的文字
16
+ */
17
+ renderTexts?: Record<string, string>;
18
+ }
19
+ declare const createMaterialsPlugin: _flowgram_ai_core.PluginCreator<MaterialsPluginOptions>;
20
+
21
+ export { type MaterialReactComponent, type MaterialsPluginOptions, createMaterialsPlugin };
@@ -0,0 +1,21 @@
1
+ import * as _flowgram_ai_core from '@flowgram.ai/core';
2
+ import React from 'react';
3
+
4
+ type MaterialReactComponent<T = any> = (props: T) => React.ReactNode | null;
5
+ interface MaterialsPluginOptions {
6
+ /**
7
+ * 注册特定的节点渲染组件
8
+ */
9
+ renderNodes?: Record<string, MaterialReactComponent>;
10
+ /**
11
+ * 默认节点渲染
12
+ */
13
+ renderDefaultNode?: MaterialReactComponent;
14
+ /**
15
+ * 注册渲染的文字
16
+ */
17
+ renderTexts?: Record<string, string>;
18
+ }
19
+ declare const createMaterialsPlugin: _flowgram_ai_core.PluginCreator<MaterialsPluginOptions>;
20
+
21
+ export { type MaterialReactComponent, type MaterialsPluginOptions, createMaterialsPlugin };
package/dist/index.js ADDED
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var src_exports = {};
22
+ __export(src_exports, {
23
+ createMaterialsPlugin: () => createMaterialsPlugin
24
+ });
25
+ module.exports = __toCommonJS(src_exports);
26
+
27
+ // src/create-materials-plugin.ts
28
+ var import_renderer = require("@flowgram.ai/renderer");
29
+ var import_core = require("@flowgram.ai/core");
30
+ var createMaterialsPlugin = (0, import_core.definePluginCreator)({
31
+ onInit(ctx, opts) {
32
+ const registry = ctx.get(import_renderer.FlowRendererRegistry);
33
+ registry.registerReactComponent(
34
+ import_renderer.FlowRendererKey.NODE_RENDER,
35
+ opts.renderDefaultNode || (() => null)
36
+ );
37
+ if (opts.renderTexts) {
38
+ registry.registerText(opts.renderTexts);
39
+ }
40
+ if (opts.renderNodes) {
41
+ Object.keys(opts.renderNodes).forEach(
42
+ (key) => registry.registerReactComponent(key, opts.renderNodes[key])
43
+ );
44
+ }
45
+ }
46
+ });
47
+ // Annotate the CommonJS export names for ESM import in node:
48
+ 0 && (module.exports = {
49
+ createMaterialsPlugin
50
+ });
51
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../src/create-materials-plugin.ts"],"sourcesContent":["export * from './create-materials-plugin';\n","import React from 'react';\n\nimport { FlowRendererKey, FlowRendererRegistry } from '@flowgram.ai/renderer';\nimport { definePluginCreator } from '@flowgram.ai/core';\n\nexport type MaterialReactComponent<T = any> = (props: T) => React.ReactNode | null;\n\nexport interface MaterialsPluginOptions {\n /**\n * 注册特定的节点渲染组件\n */\n renderNodes?: Record<string, MaterialReactComponent>;\n /**\n * 默认节点渲染\n */\n renderDefaultNode?: MaterialReactComponent;\n /**\n * 注册渲染的文字\n */\n renderTexts?: Record<string, string>;\n}\n\nexport const createMaterialsPlugin = definePluginCreator<MaterialsPluginOptions>({\n onInit(ctx, opts) {\n const registry = ctx.get<FlowRendererRegistry>(FlowRendererRegistry);\n /**\n * 注册默认节点渲染\n */\n registry.registerReactComponent(\n FlowRendererKey.NODE_RENDER,\n opts.renderDefaultNode || (() => null),\n );\n\n /**\n * 注册文案\n */\n if (opts.renderTexts) {\n registry.registerText(opts.renderTexts);\n }\n /**\n * 注册单节点渲染\n */\n if (opts.renderNodes) {\n Object.keys(opts.renderNodes).forEach(key =>\n registry.registerReactComponent(key, opts.renderNodes![key]),\n );\n }\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEA,sBAAsD;AACtD,kBAAoC;AAmB7B,IAAM,4BAAwB,iCAA4C;AAAA,EAC/E,OAAO,KAAK,MAAM;AAChB,UAAM,WAAW,IAAI,IAA0B,oCAAoB;AAInE,aAAS;AAAA,MACP,gCAAgB;AAAA,MAChB,KAAK,sBAAsB,MAAM;AAAA,IACnC;AAKA,QAAI,KAAK,aAAa;AACpB,eAAS,aAAa,KAAK,WAAW;AAAA,IACxC;AAIA,QAAI,KAAK,aAAa;AACpB,aAAO,KAAK,KAAK,WAAW,EAAE;AAAA,QAAQ,SACpC,SAAS,uBAAuB,KAAK,KAAK,YAAa,GAAG,CAAC;AAAA,MAC7D;AAAA,IACF;AAAA,EACF;AACF,CAAC;","names":[]}
package/package.json ADDED
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "@flowgram.ai/materials-plugin",
3
+ "version": "0.1.0",
4
+ "license": "MIT",
5
+ "exports": {
6
+ "types": "./dist/index.d.ts",
7
+ "import": "./dist/esm/index.js",
8
+ "require": "./dist/index.js"
9
+ },
10
+ "main": "./dist/index.js",
11
+ "module": "./dist/esm/index.js",
12
+ "types": "./dist/index.d.ts",
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "dependencies": {
17
+ "inversify": "^6.0.1",
18
+ "@flowgram.ai/core": "0.1.0",
19
+ "@flowgram.ai/form-core": "0.1.0",
20
+ "@flowgram.ai/utils": "0.1.0",
21
+ "@flowgram.ai/renderer": "0.1.0"
22
+ },
23
+ "devDependencies": {
24
+ "@types/bezier-js": "4.1.3",
25
+ "@types/lodash": "^4.14.137",
26
+ "@types/react": "^18",
27
+ "@types/react-dom": "^18",
28
+ "@types/styled-components": "^5",
29
+ "@vitest/coverage-v8": "^0.32.0",
30
+ "eslint": "^8.54.0",
31
+ "react": "^18",
32
+ "react-dom": "^18",
33
+ "styled-components": "^5",
34
+ "tsup": "^8.0.1",
35
+ "typescript": "^5.0.4",
36
+ "vitest": "^0.34.6",
37
+ "@flowgram.ai/eslint-config": "0.1.0",
38
+ "@flowgram.ai/ts-config": "0.1.0"
39
+ },
40
+ "peerDependencies": {
41
+ "react": ">=17",
42
+ "react-dom": ">=17",
43
+ "styled-components": ">=4"
44
+ },
45
+ "publishConfig": {
46
+ "access": "public",
47
+ "registry": "https://registry.npmjs.org/"
48
+ },
49
+ "scripts": {
50
+ "build": "npm run build:fast -- --dts-resolve",
51
+ "build:fast": "tsup src/index.ts --format cjs,esm --sourcemap --legacy-output",
52
+ "build:watch": "npm run build:fast -- --dts-resolve",
53
+ "clean": "rimraf dist",
54
+ "test": "exit 0",
55
+ "test:cov": "exit 0",
56
+ "ts-check": "tsc --noEmit",
57
+ "watch": "npm run build:fast -- --dts-resolve --watch --ignore-watch dist"
58
+ }
59
+ }