diff --git a/packages/effects/plugins/src/plugins-context.ts b/packages/effects/plugins/src/plugins-context.ts new file mode 100644 index 000000000..0265f1919 --- /dev/null +++ b/packages/effects/plugins/src/plugins-context.ts @@ -0,0 +1,6 @@ +import type { VbenPluginsOptions } from './types'; + +import { createContext } from '@vben-core/shadcn-ui'; + +export const [injectPluginsOptions, providePluginsOptions] = + createContext('VbenPluginsOptions'); diff --git a/packages/effects/plugins/src/types.ts b/packages/effects/plugins/src/types.ts new file mode 100644 index 000000000..9a989784f --- /dev/null +++ b/packages/effects/plugins/src/types.ts @@ -0,0 +1,24 @@ +import type { Component } from 'vue'; + +export interface VbenPluginsFormOptions { + useVbenForm: (...args: any[]) => any; +} + +export interface VbenPluginsModalOptions { + useVbenModal?: () => any; +} + +export interface VbenPluginsMessageOptions { + useMessage?: () => any; +} + +export interface VbenPluginsComponentsOptions { + [key: string]: Component; +} + +export interface VbenPluginsOptions { + form?: VbenPluginsFormOptions; + modal?: VbenPluginsModalOptions; + message?: VbenPluginsMessageOptions; + components?: VbenPluginsComponentsOptions; +}