feat: plugin config
update: package.json
This commit is contained in:
+1
-1
@@ -36,7 +36,6 @@
|
|||||||
"d3-zoom": "^3.0.0",
|
"d3-zoom": "^3.0.0",
|
||||||
"fast-deep-equal": "^3.1.3",
|
"fast-deep-equal": "^3.1.3",
|
||||||
"pinia": "^2.0.0-beta.3",
|
"pinia": "^2.0.0-beta.3",
|
||||||
"vue": "^3.0.5",
|
|
||||||
"vue-demi": "latest"
|
"vue-demi": "latest"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
@@ -76,6 +75,7 @@
|
|||||||
"rollup-plugin-vue": "^6.0.0",
|
"rollup-plugin-vue": "^6.0.0",
|
||||||
"typescript": "^4.3.5",
|
"typescript": "^4.3.5",
|
||||||
"vite": "^2.3.8",
|
"vite": "^2.3.8",
|
||||||
|
"vue": "^3.0.5",
|
||||||
"vue-tsc": "^0.0.24"
|
"vue-tsc": "^0.0.24"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import RevueFlow from './container/RevueFlow';
|
import RevueFlow from './container/RevueFlow';
|
||||||
|
import { App, inject, InjectionKey } from 'vue-demi';
|
||||||
|
|
||||||
export default RevueFlow;
|
export default RevueFlow;
|
||||||
|
|
||||||
@@ -25,3 +26,32 @@ export { default as useUpdateNodeInternals } from './hooks/useUpdateNodeInternal
|
|||||||
|
|
||||||
export * from './additional-components';
|
export * from './additional-components';
|
||||||
export * from './types';
|
export * from './types';
|
||||||
|
|
||||||
|
export interface RevueFlowOptions {
|
||||||
|
theme: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RevueFlowPlugin {
|
||||||
|
options?: RevueFlowOptions;
|
||||||
|
|
||||||
|
install(app: App): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const RevueFlowPluginSymbol: InjectionKey<RevueFlowPlugin> = Symbol();
|
||||||
|
|
||||||
|
export function RevueFlowPlugin(): RevueFlowPlugin {
|
||||||
|
const RevueFlowPlugin = inject(RevueFlowPluginSymbol);
|
||||||
|
if (!RevueFlowPlugin) throw new Error('No RevueFlowPlugin provided.');
|
||||||
|
|
||||||
|
return RevueFlowPlugin;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function createVueCounterPlugin(options?: RevueFlowOptions): RevueFlowPlugin {
|
||||||
|
return {
|
||||||
|
options,
|
||||||
|
install(app: App) {
|
||||||
|
app.component('revue-flow', RevueFlow);
|
||||||
|
app.provide(RevueFlowPluginSymbol, this);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user