diff --git a/.vscode/settings.json b/.vscode/settings.json index eb8204b..f80c1f2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,10 @@ { - "eslint.experimental.useFlatConfig": true + "eslint.useFlatConfig": true, + "editor.codeActionsOnSave": { + "source.fixAll": true + }, + "editor.formatOnSave": false, + "eslint.validate": ["javascript", "typescript", "vue"], + "eslint.format.enable": true, + "prettier.enable": false } diff --git a/src/module.ts b/src/module.ts index 278161b..f182372 100644 --- a/src/module.ts +++ b/src/module.ts @@ -44,6 +44,16 @@ export default defineNuxtModule({ as: 'useGSAP', from: resolver.resolve('runtime/plugin'), // load composable from plugin }) + addImports({ + name: 'useScrollTrigger', + as: 'useScrollTrigger', + from: resolver.resolve('runtime/plugin'), + }) + addImports({ + name: 'useGlobalTimelines', + as: 'useGlobalTimelines', + from: resolver.resolve('runtime/plugin'), + }) } addComponent({ diff --git a/src/runtime/plugin.ts b/src/runtime/plugin.ts index ded33bb..9112eb8 100644 --- a/src/runtime/plugin.ts +++ b/src/runtime/plugin.ts @@ -531,3 +531,11 @@ function getValueFromModifier(binding, term: string) { export const useGSAP = (): typeof gsap => { return gsap } + +export const useScrollTrigger = () => { + return ScrollTrigger +} + +export const useGlobalTimelines = () => { + return globalTimelines +} diff --git a/src/runtime/vue.ts b/src/runtime/vue.ts index 604d854..e1da23c 100644 --- a/src/runtime/vue.ts +++ b/src/runtime/vue.ts @@ -1,5 +1,10 @@ import gsap from 'gsap' -import { vGsapDirective } from './plugin' +import { + vGsapDirective, + useGSAP, + useScrollTrigger, + useGlobalTimelines, +} from './plugin' export const vGsapVue = (configOptions?) => { return vGsapDirective( @@ -9,3 +14,6 @@ export const vGsapVue = (configOptions?) => { null, ) } + +// Export composables for Vue-only usage +export { useGSAP, useScrollTrigger, useGlobalTimelines }