{"_id":"@arisbh/dirhover-svelte","_rev":"5-f8d2031e43c40ef75a522e6abd6d54bc","name":"@arisbh/dirhover-svelte","dist-tags":{"latest":"0.0.5"},"versions":{"0.0.1":{"name":"@arisbh/dirhover-svelte","version":"0.0.1","keywords":["svelte"],"author":{"url":"https://github.com/AristideBH","name":"AristideBH","email":"aristide.bruneau@gmail.com"},"license":"MIT","_id":"@arisbh/dirhover-svelte@0.0.1","maintainers":[{"name":"arisbh","email":"aristide.bruneau@gmail.com"}],"dist":{"shasum":"d752dc1e973bbd4c67031d6fe18368d132eed7c4","tarball":"https://registry.npmjs.org/@arisbh/dirhover-svelte/-/dirhover-svelte-0.0.1.tgz","fileCount":12,"integrity":"sha512-pEcxzAshjI2O2hUHqEKhwcGcsY+HpLA+xOiWiC6g5EsZDSTykykhWPKp9EnsfFfPer+G5fjwAptJibW75X4Opg==","signatures":[{"sig":"MEUCIQDnsa6Unn5F8JM7TEvr8430IvuNsKtC0No4pFv6AE4eYwIgQyKBqEiQdZp2Xg80q6XJ57tw04HEr68AMZgsaInJKvk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21045},"type":"module","_from":"file:arisbh-dirhover-svelte-0.0.1.tgz","types":"./dist/index.d.ts","svelte":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js"}},"scripts":{"dev":"vite dev","lint":"prettier --check . && eslint .","build":"vite build && npm run prepack","check":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","format":"prettier --write .","preview":"vite preview","check:watch":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch"},"_npmUser":{"name":"arisbh","email":"aristide.bruneau@gmail.com"},"_resolved":"C:\\Users\\arist\\AppData\\Local\\Temp\\be7b3abb2c7193edd0c9824336d51627\\arisbh-dirhover-svelte-0.0.1.tgz","_integrity":"sha512-pEcxzAshjI2O2hUHqEKhwcGcsY+HpLA+xOiWiC6g5EsZDSTykykhWPKp9EnsfFfPer+G5fjwAptJibW75X4Opg==","_npmVersion":"10.9.0","description":"A Svelte action that adds a directional hover effect to any HTML element.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.12.0","dependencies":{"gsap":"^3.13.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.4","eslint":"^9.22.0","svelte":"^5.0.0","globals":"^16.0.0","publint":"^0.3.2","prettier":"^3.4.2","@eslint/js":"^9.22.0","typescript":"^5.0.0","@types/node":"^22","svelte-check":"^4.0.0","@sveltejs/kit":"^2.22.0","@eslint/compat":"^1.2.5","@sveltejs/package":"^2.0.0","typescript-eslint":"^8.20.0","eslint-plugin-svelte":"^3.0.0","@sveltejs/adapter-auto":"^6.0.0","eslint-config-prettier":"^10.0.1","prettier-plugin-svelte":"^3.3.3","@sveltejs/vite-plugin-svelte":"^6.0.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dirhover-svelte_0.0.1_1758890983997_0.5372090688856848","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@arisbh/dirhover-svelte","version":"0.0.2","keywords":["svelte"],"author":{"url":"https://github.com/AristideBH","name":"AristideBH","email":"aristide.bruneau@gmail.com"},"license":"MIT","_id":"@arisbh/dirhover-svelte@0.0.2","maintainers":[{"name":"arisbh","email":"aristide.bruneau@gmail.com"}],"dist":{"shasum":"1335401984b3986eaf49e8ef867b46dc6e2269b3","tarball":"https://registry.npmjs.org/@arisbh/dirhover-svelte/-/dirhover-svelte-0.0.2.tgz","fileCount":12,"integrity":"sha512-voMbUdLm7zZjD+Q7wLtnqm9hxJDWWpZjDNz2xpCTE1RD8AxfPjVKrJJRWiQZOaeJLcovZX6KT+jR2qJNndm52Q==","signatures":[{"sig":"MEQCIFux7ulUBSTpSzjn82LROS7QS08xrQ+ki2UqTs98e3xUAiB4KQkyPlV4RtyUZVqBLr1/UstYN8/5ybugHOgpGWIo8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21614},"type":"module","_from":"file:arisbh-dirhover-svelte-0.0.2.tgz","types":"./dist/index.d.ts","svelte":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js"}},"scripts":{"dev":"vite dev","lint":"prettier --check . && eslint .","build":"vite build && npm run prepack","check":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","format":"prettier --write .","preview":"vite preview","check:watch":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch"},"_npmUser":{"name":"arisbh","email":"aristide.bruneau@gmail.com"},"_resolved":"C:\\Users\\arist\\AppData\\Local\\Temp\\71a865e2f6d3e0316071229979c44f0c\\arisbh-dirhover-svelte-0.0.2.tgz","_integrity":"sha512-voMbUdLm7zZjD+Q7wLtnqm9hxJDWWpZjDNz2xpCTE1RD8AxfPjVKrJJRWiQZOaeJLcovZX6KT+jR2qJNndm52Q==","_npmVersion":"10.9.0","description":"A Svelte action that adds a directional hover effect to any HTML element.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.12.0","dependencies":{"gsap":"^3.13.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.4","eslint":"^9.22.0","svelte":"^5.0.0","globals":"^16.0.0","publint":"^0.3.2","prettier":"^3.4.2","@eslint/js":"^9.22.0","typescript":"^5.0.0","@types/node":"^22","svelte-check":"^4.0.0","@sveltejs/kit":"^2.22.0","@eslint/compat":"^1.2.5","@sveltejs/package":"^2.0.0","typescript-eslint":"^8.20.0","eslint-plugin-svelte":"^3.0.0","@sveltejs/adapter-auto":"^6.0.0","eslint-config-prettier":"^10.0.1","prettier-plugin-svelte":"^3.3.3","@sveltejs/vite-plugin-svelte":"^6.0.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dirhover-svelte_0.0.2_1758891595083_0.5801149291366638","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@arisbh/dirhover-svelte","version":"0.0.3","keywords":["svelte"],"author":{"url":"https://github.com/AristideBH","name":"AristideBH","email":"aristide.bruneau@gmail.com"},"license":"MIT","_id":"@arisbh/dirhover-svelte@0.0.3","maintainers":[{"name":"arisbh","email":"aristide.bruneau@gmail.com"}],"dist":{"shasum":"d2188ed7e9ab2cc5f6793e18e6a7fdad2cb665bb","tarball":"https://registry.npmjs.org/@arisbh/dirhover-svelte/-/dirhover-svelte-0.0.3.tgz","fileCount":12,"integrity":"sha512-/lZsc3LcGWZK/qy+8VLvTTJyYBaLSBlQYDrYzZ5E8SG9gOY7nDasArlahj3XS/8CMdnIM7xX0nI5qPB6KMEuUA==","signatures":[{"sig":"MEYCIQDk6LFhZ6BcOTKZ4YYWKNzpkutL/VcSHDF8FP4TGWdu5QIhAMdexWc9PSdmreN+uvtcYdM3ZM/LulNeeoPMJEysH1MT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21635},"type":"module","_from":"file:arisbh-dirhover-svelte-0.0.3.tgz","types":"./dist/index.d.ts","svelte":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js"}},"scripts":{"dev":"vite dev","lint":"prettier --check . && eslint .","build":"vite build && npm run prepack","check":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","format":"prettier --write .","preview":"vite preview","check:watch":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch"},"_npmUser":{"name":"arisbh","email":"aristide.bruneau@gmail.com"},"_resolved":"C:\\Users\\arist\\AppData\\Local\\Temp\\68323d3d1e678f4ae80864f228d1e00d\\arisbh-dirhover-svelte-0.0.3.tgz","_integrity":"sha512-/lZsc3LcGWZK/qy+8VLvTTJyYBaLSBlQYDrYzZ5E8SG9gOY7nDasArlahj3XS/8CMdnIM7xX0nI5qPB6KMEuUA==","_npmVersion":"10.9.0","description":"A Svelte action that adds a directional hover effect to any HTML element.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.12.0","dependencies":{"gsap":"^3.13.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.4","eslint":"^9.22.0","svelte":"^5.0.0","globals":"^16.0.0","publint":"^0.3.2","prettier":"^3.4.2","@eslint/js":"^9.22.0","typescript":"^5.0.0","@types/node":"^22","svelte-check":"^4.0.0","@sveltejs/kit":"^2.22.0","@eslint/compat":"^1.2.5","@sveltejs/package":"^2.0.0","typescript-eslint":"^8.20.0","eslint-plugin-svelte":"^3.0.0","@sveltejs/adapter-auto":"^6.0.0","eslint-config-prettier":"^10.0.1","prettier-plugin-svelte":"^3.3.3","@sveltejs/vite-plugin-svelte":"^6.0.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dirhover-svelte_0.0.3_1758891732720_0.9608851685415636","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@arisbh/dirhover-svelte","version":"0.0.4","keywords":["svelte"],"author":{"url":"https://github.com/AristideBH","name":"AristideBH","email":"aristide.bruneau@gmail.com"},"license":"MIT","_id":"@arisbh/dirhover-svelte@0.0.4","maintainers":[{"name":"arisbh","email":"aristide.bruneau@gmail.com"}],"dist":{"shasum":"0fa3d33822cdc72625fb79f382d9e0fb40b221f0","tarball":"https://registry.npmjs.org/@arisbh/dirhover-svelte/-/dirhover-svelte-0.0.4.tgz","fileCount":12,"integrity":"sha512-6yj4gfxIfhAoFGv3VUhWIfJbmJpXOcnRN24lhAnHHDFh8mhYlgItoJq+TeucLIDG2S9MTUtt2Vk2lPi/Fr7LHA==","signatures":[{"sig":"MEUCIGwpoVJEQ/C6A/YesumBzCae/cu36oPaTKKvppq6eNDgAiEA+USIdbTqc1xTZ5k8NfV23gBS/2cl3zHp2IgO0wtmPAU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21755},"type":"module","_from":"file:arisbh-dirhover-svelte-0.0.4.tgz","types":"./dist/index.d.ts","svelte":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js"}},"scripts":{"dev":"vite dev","lint":"prettier --check . && eslint .","build":"vite build && npm run prepack","check":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","format":"prettier --write .","preview":"vite preview","check:watch":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch"},"_npmUser":{"name":"arisbh","email":"aristide.bruneau@gmail.com"},"_resolved":"C:\\Users\\arist\\AppData\\Local\\Temp\\e91e484ea2471fa9f87d9c8284a0344e\\arisbh-dirhover-svelte-0.0.4.tgz","_integrity":"sha512-6yj4gfxIfhAoFGv3VUhWIfJbmJpXOcnRN24lhAnHHDFh8mhYlgItoJq+TeucLIDG2S9MTUtt2Vk2lPi/Fr7LHA==","_npmVersion":"10.9.0","description":"A Svelte action that adds a directional hover effect to any HTML element.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.12.0","dependencies":{"gsap":"^3.13.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.4","eslint":"^9.22.0","svelte":"^5.0.0","globals":"^16.0.0","publint":"^0.3.2","prettier":"^3.4.2","@eslint/js":"^9.22.0","typescript":"^5.0.0","@types/node":"^22","svelte-check":"^4.0.0","@sveltejs/kit":"^2.22.0","@eslint/compat":"^1.2.5","@sveltejs/package":"^2.0.0","typescript-eslint":"^8.20.0","eslint-plugin-svelte":"^3.0.0","@sveltejs/adapter-auto":"^6.0.0","eslint-config-prettier":"^10.0.1","prettier-plugin-svelte":"^3.3.3","@sveltejs/vite-plugin-svelte":"^6.0.0"},"peerDependencies":{"svelte":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/dirhover-svelte_0.0.4_1758892196313_0.5305990967808254","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@arisbh/dirhover-svelte","description":"A Svelte action that adds a directional hover effect to any HTML element.","author":{"name":"AristideBH","email":"aristide.bruneau@gmail.com","url":"https://github.com/AristideBH"},"license":"MIT","publishConfig":{"access":"public"},"version":"0.0.5","sideEffects":["**/*.css"],"svelte":"./dist/index.js","types":"./dist/index.d.ts","type":"module","exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js"}},"peerDependencies":{"svelte":"^5.0.0"},"devDependencies":{"@eslint/compat":"^1.4.0","@eslint/js":"^9.36.0","@sveltejs/adapter-auto":"^6.1.0","@sveltejs/kit":"^2.43.5","@sveltejs/package":"^2.5.4","@sveltejs/vite-plugin-svelte":"^6.2.1","@types/node":"^22.18.6","eslint":"^9.36.0","eslint-config-prettier":"^10.1.8","eslint-plugin-svelte":"^3.12.4","globals":"^16.4.0","prettier":"^3.6.2","prettier-plugin-svelte":"^3.4.0","publint":"^0.3.13","svelte":"^5.39.6","svelte-check":"^4.3.2","typescript":"^5.9.2","typescript-eslint":"^8.44.1","vite":"^7.1.7"},"keywords":["svelte"],"dependencies":{"gsap":"^3.13.0"},"scripts":{"dev":"vite dev","build":"vite build && npm run prepack","preview":"vite preview","check":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","check:watch":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch","format":"prettier --write .","lint":"prettier --check . && eslint ."},"_id":"@arisbh/dirhover-svelte@0.0.5","_integrity":"sha512-C/P3r9J0kj9LQ9e42X7jo50DRx/BqvHL1W10i9zVF2TS+mk6xrT3YF6dXUAzsFD0hsrP6ceqx8pCb6XNKPINng==","_resolved":"C:\\Users\\arist\\AppData\\Local\\Temp\\59b739dd12acb21d49887405179c70bd\\arisbh-dirhover-svelte-0.0.5.tgz","_from":"file:arisbh-dirhover-svelte-0.0.5.tgz","_nodeVersion":"22.12.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-C/P3r9J0kj9LQ9e42X7jo50DRx/BqvHL1W10i9zVF2TS+mk6xrT3YF6dXUAzsFD0hsrP6ceqx8pCb6XNKPINng==","shasum":"5d22e510d5da99241ea3a1fa417ad641289b0e37","tarball":"https://registry.npmjs.org/@arisbh/dirhover-svelte/-/dirhover-svelte-0.0.5.tgz","fileCount":12,"unpackedSize":21965,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAQLPFZins+MkM6iWrtEw76OAbqBylQDxXST9nAIVcfvAiBAUIBrryAdoM/+EqiqjZwT7Rlv+17wZ9H5Eo6YlRV7+g=="}]},"_npmUser":{"name":"arisbh","email":"aristide.bruneau@gmail.com"},"directories":{},"maintainers":[{"name":"arisbh","email":"aristide.bruneau@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dirhover-svelte_0.0.5_1758894983252_0.13409381785061214"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-26T12:49:43.884Z","modified":"2025-09-26T13:56:23.659Z","0.0.1":"2025-09-26T12:49:44.202Z","0.0.2":"2025-09-26T12:59:55.263Z","0.0.3":"2025-09-26T13:02:12.906Z","0.0.4":"2025-09-26T13:09:56.498Z","0.0.5":"2025-09-26T13:56:23.471Z"},"author":{"name":"AristideBH","email":"aristide.bruneau@gmail.com","url":"https://github.com/AristideBH"},"license":"MIT","keywords":["svelte"],"description":"A Svelte action that adds a directional hover effect to any HTML element.","maintainers":[{"name":"arisbh","email":"aristide.bruneau@gmail.com"}],"readme":"# Svelte attachement: dirhover\n\nAdds a sleek, customizable and animated directional hover/touch overlay to any element.\n\n## Features\n\n- Directional animation based on mouse entry/exit or touch\n- Customizable overlay color, opacity, blend mode, and animation\n- Theming support via CSS variable (`--dirhover-overlay-bg`)\n- Accessibility: overlay is `aria-hidden`, parent/child/curtain can receive ARIA and tabindex attributes\n- SSR-safe: no DOM/GSAP code runs on server\n- Full cleanup: restores original content and removes listeners/children\n- Extensible: pass custom classes, attributes, and animation callbacks\n\n[Demo REPL](https://svelte.dev/playground/7099dfc0d2b64a8d96250505d29140bd?version=latest)\n\n## Installation\n\n```bash\nnpm install @arisbh/dirhover-svelte\n```\n\n```bash\npnpm add @arisbh/dirhover-svelte\n```\n\n```bash\nyarn add @arisbh/dirhover-svelte\n```\n\n## Usage\n\n```svelte\n<script>\n\timport { dirhover } from '@arisbh/dirhover-svelte';\n</script>\n\n<button {@attach dirhover()} />\n\n<!-- or -->\n\n<button\n\t{@attach dirhover({\n\t\tanimation: { duration: 0.3, ease: 'power2.out' },\n\t\toverlay: { background: 'rgba(0,0,0,0.2)', opacity: 0.7, mixBlendMode: 'multiply' },\n\t\ttouchPosition: { start: 'left', end: 'bottom' },\n\t\tparentClass: 'custom-parent',\n\t\tchildClass: 'custom-child',\n\t\tcurtainClass: 'custom-curtain',\n\t\tparentAttrs: { tabindex: '0', 'aria-label': 'Hoverable' },\n\t\tchildAttrs: { 'aria-live': 'polite' },\n\t\tcurtainAttrs: { 'aria-hidden': 'true' },\n\t\tonEnter: () => console.log('Hover in'),\n\t\tonLeave: () => console.log('Hover out')\n\t})}\n/>\n```\n\n## Options\n\n- `animation`: { duration, ease } — GSAP animation settings\n- `overlay`: { background, opacity, mixBlendMode } — overlay appearance\n- `touchPosition`: { start, end } — direction for touch enter/leave\n- `parentClass`, `childClass`, `curtainClass`: custom CSS classes\n- `parentAttrs`, `childAttrs`, `curtainAttrs`: custom attributes (ARIA, tabindex, etc.)\n- `onEnter`, `onLeave`: callbacks for animation lifecycle\n\n## Accessibility\n\n- Overlay is `aria-hidden` by default\n- Pass ARIA attributes/tabindex to parent/child/curtain for full control\n\n## Theming\n\n- Use CSS variable `--dirhover-overlay-bg` to override overlay background\n  Example: `:root { --dirhover-overlay-bg: rgba(0,0,0,0.15); }`\n\n## SSR\n\n- Action is a no-op on server (safe for SvelteKit/SSR)\n\n## Cleanup\n\n- Removes all event listeners and children\n- Restores original node content\n","readmeFilename":"README.md"}