{"_id":"@donatix/vue3-perfect-scrollbar","_rev":"3-d73dddec7e478b16b39fa98228df2dce","name":"@donatix/vue3-perfect-scrollbar","dist-tags":{"latest":"2.0.4"},"versions":{"2.0.1":{"name":"@donatix/vue3-perfect-scrollbar","version":"2.0.1","_id":"@donatix/vue3-perfect-scrollbar@2.0.1","maintainers":[{"name":"donatix","email":"dimitar.todev@donatix.net"}],"dist":{"shasum":"4b7e46ce572839ff58249758b49dc45ada59af26","tarball":"https://registry.npmjs.org/@donatix/vue3-perfect-scrollbar/-/vue3-perfect-scrollbar-2.0.1.tgz","fileCount":13,"integrity":"sha512-1uA5WvGSuHvV2EWEe3c9CVGpqkMywztSqUSSWMcuU+Gzh+FzGEx/fB0B7qu5XsChd8tOGEPokjXgKHoLL2yv9A==","signatures":[{"sig":"MEQCIFllXcRDDb8EDB932KXqC2Zd11YrtnVRRMxb2fgmrnauAiB8BHt6PlM3iKjXzXwSLsodtwG05ziDOgrB6I/xPACjsQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21965},"main":"./dist/vue3-perfect-scrollbar.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"/dist/vue3-perfect-scrollbar.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/vue3-perfect-scrollbar.js","require":"./dist/vue3-perfect-scrollbar.umd.cjs"},"./nuxt":{"import":"./nuxt/dist/module.mjs","require":"./nuxt/dist/module.cjs"},"./style.css":{"import":"./dist/style.css","require":"./dist/style.css"}},"gitHead":"1797fd7413819afd2e7aeed1a73e3577dc079ade","scripts":{"dev":"vite","lint":"eslint --fix .","test":"vitest","build":"vue-tsc && vite build","format":"prettier --write .","preview":"vite preview","release":"yarn test && npx standard-version && git push --follow-tags && npm publish","prerelease":"yarn test && npx standard-version --prerelease alpha && git push --follow-tags && npm publish --tag alpha"},"_npmUser":{"name":"donatix","email":"dimitar.todev@donatix.net"},"_npmVersion":"9.2.0","description":"A minimalistic yet powerful Vue.js wrapper for [Perfect Scrollbar](https://perfectscrollbar.com/).","directories":{},"_nodeVersion":"19.4.0","dependencies":{"perfect-scrollbar":"github:dTodevDonatix/perfect-scrollbar"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","eslint":"^8.57.0","vitest":"^1.4.0","vue-tsc":"^2.0.6","prettier":"^3.2.5","happy-dom":"^14.3.3","typescript":"^5.2.2","@types/node":"^20.11.30","@vue/test-utils":"^2.4.5","vite-plugin-dts":"^3.7.3","eslint-plugin-vue":"^9.23.0","@vitejs/plugin-vue":"^5.0.4","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@vue/eslint-config-typescript":"^13.0.0","@typescript-eslint/eslint-plugin":"^7.3.1"},"peerDependencies":{"vue":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-perfect-scrollbar_2.0.1_1729078644472_0.5033501354487115","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"@donatix/vue3-perfect-scrollbar","version":"2.0.2","_id":"@donatix/vue3-perfect-scrollbar@2.0.2","maintainers":[{"name":"donatix","email":"dimitar.todev@donatix.net"}],"dist":{"shasum":"75c21ef1f0fa2927973ccd62fcc3fa991186db2a","tarball":"https://registry.npmjs.org/@donatix/vue3-perfect-scrollbar/-/vue3-perfect-scrollbar-2.0.2.tgz","fileCount":13,"integrity":"sha512-/18Xl1duF9L3MkxGW+ugDtHNKIktr8weCNbu4/2qHMv062qdOcXbmZizKlkXIRKlvsc0CH0ZK1vVyN/rLonsmQ==","signatures":[{"sig":"MEUCIQCHxMobkLKZDZlHTN4nLMzIfKjOaP4NHtPJHoPwIerqUgIgJ5FNbFfIf8UMAP7kCOtintG3JAX96ZpvXN2gIL2Bfrg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21965},"main":"./dist/vue3-perfect-scrollbar.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"/dist/vue3-perfect-scrollbar.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/vue3-perfect-scrollbar.js","require":"./dist/vue3-perfect-scrollbar.umd.cjs"},"./nuxt":{"import":"./nuxt/dist/module.mjs","require":"./nuxt/dist/module.cjs"},"./style.css":{"import":"./dist/style.css","require":"./dist/style.css"}},"gitHead":"e2be4ce5d3604735a4803bc39fe84c1f473d6805","scripts":{"dev":"vite","lint":"eslint --fix .","test":"vitest","build":"vue-tsc && vite build","format":"prettier --write .","preview":"vite preview","release":"yarn test && npx standard-version && git push --follow-tags && npm publish","prerelease":"yarn test && npx standard-version --prerelease alpha && git push --follow-tags && npm publish --tag alpha"},"_npmUser":{"name":"donatix","email":"dimitar.todev@donatix.net"},"_npmVersion":"9.2.0","description":"A minimalistic yet powerful Vue.js wrapper for [Perfect Scrollbar](https://perfectscrollbar.com/).","directories":{},"_nodeVersion":"19.4.0","dependencies":{"perfect-scrollbar":"github:dTodevDonatix/perfect-scrollbar"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","eslint":"^8.57.0","vitest":"^1.4.0","vue-tsc":"^2.0.6","prettier":"^3.2.5","happy-dom":"^14.3.3","typescript":"^5.2.2","@types/node":"^20.11.30","@vue/test-utils":"^2.4.5","vite-plugin-dts":"^3.7.3","eslint-plugin-vue":"^9.23.0","@vitejs/plugin-vue":"^5.0.4","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@vue/eslint-config-typescript":"^13.0.0","@typescript-eslint/eslint-plugin":"^7.3.1"},"peerDependencies":{"vue":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-perfect-scrollbar_2.0.2_1729080606449_0.6929768873059103","host":"s3://npm-registry-packages"}},"2.0.3":{"name":"@donatix/vue3-perfect-scrollbar","version":"2.0.3","_id":"@donatix/vue3-perfect-scrollbar@2.0.3","maintainers":[{"name":"donatix","email":"dimitar.todev@donatix.net"}],"dist":{"shasum":"152067b8e18b339975c5ab66a6124d91957f622f","tarball":"https://registry.npmjs.org/@donatix/vue3-perfect-scrollbar/-/vue3-perfect-scrollbar-2.0.3.tgz","fileCount":13,"integrity":"sha512-hYRBy74Dw061TjibA80yjmK4GlBiDDZpFfw8ocibd9CjT+KFPqbtz8NWN4pB8nel2z79ooEdIoURpY8mv0sdNw==","signatures":[{"sig":"MEYCIQC6/0Cgf8BtIyuwJ1v1WM3Ueb2Y0sbdFZL2oMAgFhJ5rwIhANDK0kZkqLevXR3GDcB9wM0Tv0kLEdY5RgpHpX4aLE/p","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21965},"main":"./dist/vue3-perfect-scrollbar.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"/dist/vue3-perfect-scrollbar.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/vue3-perfect-scrollbar.js","require":"./dist/vue3-perfect-scrollbar.umd.cjs"},"./nuxt":{"import":"./nuxt/dist/module.mjs","require":"./nuxt/dist/module.cjs"},"./style.css":{"import":"./dist/style.css","require":"./dist/style.css"}},"gitHead":"25d25ed9743a7c7c461e6aae393512e808f295a3","scripts":{"dev":"vite","lint":"eslint --fix .","test":"vitest","build":"vue-tsc && vite build","format":"prettier --write .","preview":"vite preview","release":"yarn test && npx standard-version && git push --follow-tags && npm publish","prerelease":"yarn test && npx standard-version --prerelease alpha && git push --follow-tags && npm publish --tag alpha"},"_npmUser":{"name":"donatix","email":"dimitar.todev@donatix.net"},"_npmVersion":"9.2.0","description":"A minimalistic yet powerful Vue.js wrapper for [Perfect Scrollbar](https://perfectscrollbar.com/).","directories":{},"_nodeVersion":"19.4.0","dependencies":{"perfect-scrollbar":"github:dTodevDonatix/perfect-scrollbar"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","eslint":"^8.57.0","vitest":"^1.4.0","vue-tsc":"^2.0.6","prettier":"^3.2.5","happy-dom":"^14.3.3","typescript":"^5.2.2","@types/node":"^20.11.30","@vue/test-utils":"^2.4.5","vite-plugin-dts":"^3.7.3","eslint-plugin-vue":"^9.23.0","@vitejs/plugin-vue":"^5.0.4","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@vue/eslint-config-typescript":"^13.0.0","@typescript-eslint/eslint-plugin":"^7.3.1"},"peerDependencies":{"vue":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-perfect-scrollbar_2.0.3_1729082756421_0.5144534529811795","host":"s3://npm-registry-packages"}},"2.0.4":{"name":"@donatix/vue3-perfect-scrollbar","version":"2.0.4","type":"module","scripts":{"dev":"vite","build":"vue-tsc && vite build","preview":"vite preview","lint":"eslint --fix .","format":"prettier --write .","test":"vitest","prerelease":"yarn test && npx standard-version --prerelease alpha && git push --follow-tags && npm publish --tag alpha","release":"yarn test && npx standard-version && git push --follow-tags && npm publish"},"main":"./dist/vue3-perfect-scrollbar.umd.cjs","module":"/dist/vue3-perfect-scrollbar.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/vue3-perfect-scrollbar.js","require":"./dist/vue3-perfect-scrollbar.umd.cjs","types":"./dist/index.d.ts"},"./style.css":{"import":"./dist/style.css","require":"./dist/style.css"},"./nuxt":{"import":"./nuxt/dist/module.mjs","require":"./nuxt/dist/module.cjs"}},"dependencies":{"perfect-scrollbar":"github:dTodevDonatix/perfect-scrollbar"},"devDependencies":{"@types/node":"^20.11.30","@typescript-eslint/eslint-plugin":"^7.3.1","@vitejs/plugin-vue":"^5.0.4","@vue/eslint-config-typescript":"^13.0.0","@vue/test-utils":"^2.4.5","eslint":"^8.57.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","eslint-plugin-vue":"^9.23.0","happy-dom":"^14.3.3","prettier":"^3.2.5","typescript":"^5.2.2","vite":"^5.2.0","vite-plugin-dts":"^3.7.3","vitest":"^1.4.0","vue-tsc":"^2.0.6"},"peerDependencies":{"vue":"^3.0.0"},"gitHead":"58b27935c41828b535c60c38d2451c9b8a3fcd63","description":"A minimalistic yet powerful Vue.js wrapper for [Perfect Scrollbar](https://perfectscrollbar.com/).","_id":"@donatix/vue3-perfect-scrollbar@2.0.4","_nodeVersion":"19.4.0","_npmVersion":"9.2.0","dist":{"integrity":"sha512-peznGqGis7PgvAa38e19I+h5qwnZWKP78Ck0EVn+hYwUk1p+0CGDx0yJiX7U8aJOtOJjil+HwcGnNQzDIEzg3Q==","shasum":"d78b55fa39a63d5e0ed9814f24cbe5a9806af7ab","tarball":"https://registry.npmjs.org/@donatix/vue3-perfect-scrollbar/-/vue3-perfect-scrollbar-2.0.4.tgz","fileCount":13,"unpackedSize":21965,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCo+p5JxMlJG8HH1so8ENDK6sZW5b8uvyLD8jm55PsG3wIhAKiUk1z5VbuSDIjYCEMvpoBQ7ug+KBK3k2xAjjjmaI0f"}]},"_npmUser":{"name":"donatix","email":"dimitar.todev@donatix.net"},"directories":{},"maintainers":[{"name":"donatix","email":"dimitar.todev@donatix.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue3-perfect-scrollbar_2.0.4_1729086099150_0.7697887723073116"},"_hasShrinkwrap":false}},"time":{"created":"2024-10-16T11:37:24.333Z","modified":"2024-10-16T13:41:39.497Z","2.0.1":"2024-10-16T11:37:24.694Z","2.0.2":"2024-10-16T12:10:06.647Z","2.0.3":"2024-10-16T12:45:56.582Z","2.0.4":"2024-10-16T13:41:39.337Z"},"description":"A minimalistic yet powerful Vue.js wrapper for [Perfect Scrollbar](https://perfectscrollbar.com/).","maintainers":[{"name":"donatix","email":"dimitar.todev@donatix.net"}],"readme":"# vue3-perfect-scrollbar\nA minimalistic yet powerful Vue.js wrapper for [Perfect Scrollbar](https://perfectscrollbar.com/).\n\n## 🔍 Considerations Before Using Custom Scrollbars\nBefore implementing custom scrollbars, consider their potential impact on user experience. Native scrollbar styling, as supported by browsers like Chromeoor Firefox often provides a good balance of customization without sacrificing usability. Check out [Chrome's documentation on scrollbar styling](https://chat.openai.com/#:~:text=Chrome%27s%20documentation%20on%20scrollbar%20styling) to see if it meets your needs. If your project requires precise design alignment that native options can't provide, then vue3-perfect-scrollbar is a solid choice.\n\n## 📦 Installation\n\n### Using `npm`\n\n```sh\nnpm install vue3-perfect-scrollbar\n```\n\n### Using `yarn`\n\n```sh\nyarn add vue3-perfect-scrollbar\n```\n\n### Using `pnpm`\n```sh\npnpm add vue3-perfect-scrollbar\n```\n\n## 🔌 How to Use \n\n### Global Registration\n🚀 [Run on StackBlitz](https://stackblitz.com/edit/vitejs-vite-xpb5dl?file=src%2FApp.vue)\n\nIntegrate vue3-perfect-scrollbar globally in your main application file:\n\n```js\nimport { createApp } from 'vue';\nimport { PerfectScrollbarPlugin } from 'vue3-perfect-scrollbar';\nimport 'vue3-perfect-scrollbar/style.css';\nimport App from './App.vue';\n\ncreateApp(App).use(PerfectScrollbarPlugin).mount('#app');\n```\n\nNow, you can leverage the plugin in any component:\n\n```html\n<PerfectScrollbar>\n    <p> Lorem Ipsum is simply dummy text of the printing and typesetting industry. </p>\n    <p> ... and much more content </p>\n</PerfectScrollbar>\n```\n\nCustomize the container height as needed:\n\n```css\n/* example */\n.ps {\n  height: 400px; /* or max-height: 400px; */\n}\n```\n\n### Global Options\n\nThe install method accepts additional parameters:\n\n```js\napp.use(PerfectScrollbarPlugin, {\n    componentName: 'Scrollbar'\n});\n```\n\n#### `componentName {String}`\nThe name of your global component.\n\n**Default**: `PerfectScrollbar`\n\n### Local Registration\n🚀 [Run on StackBlitz](hhttps://stackblitz.com/edit/vitejs-vite-uszgyc?file=src%2FApp.vue)\n\nFor local registration, import and declare the component within your Vue component file:\n\n```html\n<script setup>\nimport { PerfectScrollbar } from 'vue3-perfect-scrollbar'\n</script>\n\n<template>\n  <PerfectScrollbar>\n    <p>content</p>\n  </PerfectScrollbar>\n</template>\n\n<style>\n@import 'vue3-perfect-scrollbar/style.css';\n\n.ps {\n  max-height: 100px; /* or height: 100px; */\n}\n</style>\n```\n\n## ⚙️ Props \n\nCustomize the Perfect Scrollbar with the following props:\n\n```ts\ntag?: string;\noptions?: PerfectScrollbar.Options;\n```\n\n#### `tag? {String}`\nThe tag that will be rendered as the Perfect Scrollbar container.\n\n**Default**: `div`\n\n#### `options? {PerfectScrollbar.Options}`: [Options](https://perfectscrollbar.com/options.html)\nOptions for the Perfect Scrollbar library.\n\n[Explore Perfect Scrollbar options for further customization.](https://perfectscrollbar.com/options.html)\n```ts\nhandlers?: string[];\nmaxScrollbarLength?: number;\nminScrollbarLength?: number;\nscrollingThreshold?: number;\nscrollXMarginOffset?: number;\nscrollYMarginOffset?: number;\nsuppressScrollX?: boolean;\nsuppressScrollY?: boolean;\nswipeEasing?: boolean;\nuseBothWheelAxes?: boolean;\nwheelPropagation?: boolean;\nwheelSpeed?: number;\n```\n\n## 🔄 Events\nYou can listen to all Perfect Scrollbar events.\n\n🚀 [Run on StackBlitz](https://stackblitz.com/edit/vitejs-vite-p6a2i7?embed=1&file=src%2FApp.vue)\n\nListen to all Perfect [Scrollbar events](https://perfectscrollbar.com/events.html). For a comprehensive list of events, visit Perfect Scrollbar events.\n## Example\n```html\n<script setup>\nimport { PerfectScrollbar } from 'vue3-perfect-scrollbar';\n\nfunction onScrollEvent(event) {\n  console.log(event);\n}\n</script>\n\n<template>\n  <PerfectScrollbar @ps-scroll-y=\"onScrollEvent\">\n    <p>content</p>\n  </PerfectScrollbar>\n</template>\n```\n\n### List of Event Keys\n\n```ts\n'scroll',\n'ps-scroll-y',\n'ps-scroll-x',\n'ps-scroll-up',\n'ps-scroll-down',\n'ps-scroll-left',\n'ps-scroll-right',\n'ps-y-reach-start',\n'ps-y-reach-end',\n'ps-x-reach-start',\n'ps-x-reach-end'\n```\n\n## 🧩 Access to PerfectScrollbar Instance.\n\nTo gain direct access to the Perfect Scrollbar instance and leverage its API within your Vue component, you can use the ref attribute.\n\n🚀 [Run on StackBlitz](https://stackblitz.com/edit/vitejs-vite-mhnwda?file=src%2FApp.vue)\n\n```html\n<script setup lang=\"ts\">\nimport { ref, onMounted } from 'vue';\nimport { PerfectScrollbar } from 'vue3-perfect-scrollbar';\nimport type { PerfectScrollbarExpose } from 'vue3-perfect-scrollbar';\nconst scrollbarApi = ref<PerfectScrollbarExpose | null>(null);\n\nonMounted(() => {\n  if (scrollbarApi.value) {\n    console.log(scrollbarApi.value.ps?.settings);\n  }\n})\n</script>\n<template>\n  <PerfectScrollbar ref=\"scrollbarApi\">\n    <p>content</p>\n  </PerfectScrollbar>\n</template>\n```\n\n## 🔌 Use with Nuxt\n🚀 [Run on StackBlitz](https://stackblitz.com/edit/nuxt-starter-7bgunj?file=app.vue)\n\nAdd to your `nuxt.config.ts`:\n\n```ts\nexport default defineNuxtConfig({\n  modules: ['vue3-perfect-scrollbar/nuxt']\n});\n```\n\n\n## 🆘 Bug Reporting\nFound a bug? Here's where to report it:\n\n+ If it's about the vue3-perfect-scrollbar wrapper (like how it works with Vue, or issues with props and events), please report these bugs on our vue3-perfect-scrollbar GitHub repo. \n\n+ If the bug is with the Perfect Scrollbar itself (like problems with how it scrolls or looks), you should report it to the official Perfect Scrollbar repo. Remember, vue3-perfect-scrollbar is just a wrapper to make Perfect Scrollbar work with Vue. It doesn't change how Perfect Scrollbar works. So, if there's something wrong with the scrollbar behavior, the Perfect Scrollbar team needs to know.\n","readmeFilename":"README.md"}