feat: plugin config

update: package.json
This commit is contained in:
Braks
2021-07-10 14:07:39 +02:00
parent f47036ef52
commit 753f7070c7
2 changed files with 31 additions and 1 deletions
+30
View File
@@ -1,4 +1,5 @@
import RevueFlow from './container/RevueFlow';
import { App, inject, InjectionKey } from 'vue-demi';
export default RevueFlow;
@@ -25,3 +26,32 @@ export { default as useUpdateNodeInternals } from './hooks/useUpdateNodeInternal
export * from './additional-components';
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);
}
};
}