{"_id":"vue3-tooltip","_rev":"117-46833bea717857661798bf67d1c64d20","name":"vue3-tooltip","dist-tags":{"latest":"2.3.0"},"versions":{"2.1.4":{"name":"vue3-tooltip","version":"2.1.4","keywords":["vue3-tooltip","tooltip","vue3","tooltip-component","v-tooltip","tooltip-directive"],"author":{"name":"Dmitry Luckyanenko","email":"neluckoff@gmail.com"},"license":"MIT","_id":"vue3-tooltip@2.1.4","maintainers":[{"name":"neluckoff","email":"neluckoff@gmail.com"}],"homepage":"https://goo.su/YfII","bugs":{"url":"https://github.com/neluckoff/vue3-tooltip/issues"},"dist":{"shasum":"68b05cfcadbd4fcb90352a8fe7ca3ff65dd69c02","tarball":"https://registry.npmjs.org/vue3-tooltip/-/vue3-tooltip-2.1.4.tgz","fileCount":7,"integrity":"sha512-5D3Mh54Pz2GLZ/dzyBpoEgPZ7PGN4D5DodwZvXWGrP8njpanpi8pE3Tlwno8Gr11EMhrcbjcUXshVQWDDIzMTQ==","signatures":[{"sig":"MEUCIEZJKcX05lu21Gd/Obg3mmRW+RNX2c/I/XvQyowolrohAiEA6IZf/uCz9FXav/i+cYFFfMqa6YeSFf//Ktwq/dp55T8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23172},"main":"./dist/vue3-tooltip.umd.js","type":"module","module":"./dist/vue3-tooltip.es.js","styles":"./dist/style.css","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/vue3-tooltip.es.js","require":"./dist/vue3-tooltip.umd.js"},"./tooltip.css":"./dist/style.css"},"gitHead":"9a3610d361d21379d6de79b10577441f4f0295b8","private":false,"scripts":{"build":"vite build"},"typings":"./dist/index.d.ts","_npmUser":{"name":"neluckoff","email":"neluckoff@gmail.com"},"repository":{"url":"git+https://github.com/neluckoff/vue3-tooltip.git","type":"git"},"_npmVersion":"10.2.4","description":"Module for convenient work with tooltips in Vue3 (using a directive and a component)","directories":{},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.4.21","vite":"^5.1.4","vue-tsc":"^1.8.27","typescript":"^5.2.2","vite-plugin-dts":"^3.6.4","@vitejs/plugin-vue":"^5.0.4","vite-plugin-css-injected-by-js":"^3.1.1"},"peerDependencies":{"vue":"^3.2.47"},"_npmOperationalInternal":{"tmp":"tmp/vue3-tooltip_2.1.4_1710232643564_0.8470345051156394","host":"s3://npm-registry-packages"}},"2.2.3":{"name":"vue3-tooltip","version":"2.2.3","keywords":["vue3-tooltip","tooltip","vue3","tooltip-component","v-tooltip","tooltip-directive"],"author":{"name":"Dmitry Luckyanenko","email":"neluckoff@gmail.com"},"license":"MIT","_id":"vue3-tooltip@2.2.3","maintainers":[{"name":"neluckoff","email":"neluckoff@gmail.com"}],"homepage":"https://goo.su/YfII","bugs":{"url":"https://github.com/neluckoff/vue3-tooltip/issues"},"dist":{"shasum":"b291ea982d73c4e01871fa775818e878375959f4","tarball":"https://registry.npmjs.org/vue3-tooltip/-/vue3-tooltip-2.2.3.tgz","fileCount":7,"integrity":"sha512-pUd+7vajcA8YDsTyQnXgrtuUg1YZjrRmMePkqbSxnJ/aGRo+dOTlqP5w9eP7LsM8Z89bBDrNnwKOupu0beaYtA==","signatures":[{"sig":"MEYCIQCqBOVWhs5r6iBZ1tkbVleqKi1mCmoIfehhVb9eMEi3/gIhAK1LQ1cBN9S9onuZgjKAnlfIt0E+EBTsQavUOU0BsQCA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23006},"main":"./dist/vue3-tooltip.umd.js","type":"module","module":"./dist/vue3-tooltip.es.js","styles":"./dist/style.css","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/vue3-tooltip.es.js","require":"./dist/vue3-tooltip.umd.js"},"./tooltip.css":"./dist/style.css"},"gitHead":"133937f64598672e5bd86ee1b26a69404facc9e0","private":false,"scripts":{"build":"vite build"},"typings":"./dist/index.d.ts","_npmUser":{"name":"neluckoff","email":"neluckoff@gmail.com"},"repository":{"url":"git+https://github.com/neluckoff/vue3-tooltip.git","type":"git"},"_npmVersion":"10.2.4","description":"Module for convenient work with tooltips in Vue3 (using a directive and a component)","directories":{},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.4.21","vite":"^5.1.4","vue-tsc":"^1.8.27","typescript":"^5.2.2","vite-plugin-dts":"^3.6.4","@vitejs/plugin-vue":"^5.0.4","vite-plugin-css-injected-by-js":"^3.1.1"},"peerDependencies":{"vue":"^3.2.47"},"_npmOperationalInternal":{"tmp":"tmp/vue3-tooltip_2.2.3_1712129821146_0.43714713006673644","host":"s3://npm-registry-packages"}},"2.2.4":{"name":"vue3-tooltip","version":"2.2.4","keywords":["vue3-tooltip","tooltip","vue3","tooltip-component","v-tooltip","tooltip-directive"],"author":{"name":"Dmitry Luckyanenko","email":"neluckoff@gmail.com"},"license":"MIT","_id":"vue3-tooltip@2.2.4","maintainers":[{"name":"neluckoff","email":"neluckoff@gmail.com"}],"homepage":"https://goo.su/YfII","bugs":{"url":"https://github.com/neluckoff/vue3-tooltip/issues"},"dist":{"shasum":"b5ab0468b19b1fbdf976b6cd42c49cd9ec853970","tarball":"https://registry.npmjs.org/vue3-tooltip/-/vue3-tooltip-2.2.4.tgz","fileCount":7,"integrity":"sha512-oQPDBduZpELNg8I3pJR2+zztI6pfIstaVGO+3uKu0RwJlQJ0FqApbggKOFLy/LW6g2Yjcaau22taxAt6ErxuSw==","signatures":[{"sig":"MEYCIQDEKlKoqqdAxJ3V93leDWPY+mp5R9MAJwmhH4RRF9G2yQIhAO+dW+SmxcXAcKB3Bvk921BhDPdvBe4KsdicgrKaGwTU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23693},"main":"./dist/vue3-tooltip.umd.js","type":"module","module":"./dist/vue3-tooltip.es.js","styles":"./dist/style.css","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/vue3-tooltip.es.js","require":"./dist/vue3-tooltip.umd.js"},"./tooltip.css":"./dist/style.css"},"gitHead":"bbbbc0c8952d2452c6b6452762377de6ad9538f1","private":false,"scripts":{"build":"vite build"},"typings":"./dist/index.d.ts","_npmUser":{"name":"neluckoff","email":"neluckoff@gmail.com"},"repository":{"url":"git+https://github.com/neluckoff/vue3-tooltip.git","type":"git"},"_npmVersion":"10.2.3","description":"Module for convenient work with tooltips in Vue3 (using a directive and a component)","directories":{},"_nodeVersion":"20.10.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.4.21","vite":"^5.1.4","vue-tsc":"^1.8.27","typescript":"^5.2.2","vite-plugin-dts":"^3.6.4","@vitejs/plugin-vue":"^5.0.4","vite-plugin-css-injected-by-js":"^3.1.1"},"peerDependencies":{"vue":"^3.2.47"},"_npmOperationalInternal":{"tmp":"tmp/vue3-tooltip_2.2.4_1713709043701_0.1971608490407768","host":"s3://npm-registry-packages"}},"2.3.0":{"name":"vue3-tooltip","description":"Module for convenient work with tooltips in Vue3 (using a directive and a component)","type":"module","version":"2.3.0","private":false,"author":{"name":"Dmitrii Lukianenko","email":"neluckoff@gmail.com"},"main":"./dist/vue3-tooltip.umd.js","module":"./dist/vue3-tooltip.es.js","typings":"./dist/index.d.ts","styles":"./dist/style.css","exports":{".":{"import":"./dist/vue3-tooltip.es.js","require":"./dist/vue3-tooltip.umd.js","types":"./dist/index.d.ts"},"./tooltip.css":"./dist/style.css"},"peerDependencies":{"vue":"^3.2.47"},"keywords":["vue3-tooltip","tooltip","vue3","tooltip-component","v-tooltip","tooltip-directive"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/neluckoff/vue3-tooltip.git"},"bugs":{"url":"https://github.com/neluckoff/vue3-tooltip/issues"},"homepage":"https://goo.su/YfII","scripts":{"build":"vite build","test":"vitest","test:ui":"vitest --ui","test:coverage":"vitest --coverage"},"devDependencies":{"@vitejs/plugin-vue":"^5.0.4","@vue/test-utils":"^2.4.6","@vitest/ui":"^4.0.4","happy-dom":"^20.0.8","typescript":"^5.2.2","vite":"^5.1.4","vite-plugin-css-injected-by-js":"^3.1.1","vite-plugin-dts":"^3.6.4","vitest":"^4.0.4","vue":"^3.4.21","vue-tsc":"^1.8.27"},"_id":"vue3-tooltip@2.3.0","gitHead":"4c16541966a69b17f3daf34f7bd218526018c13e","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-HqrVHmiSRjKa1yFFHhtNulxpxvDerxs8bDq2I47oiBFAj86mBVR+vzr4eSh9dLZWE4W+Q/fGOXe1j5o6kiOqNw==","shasum":"e0cf008e071b2363d6b13cba2da09ca0e95df690","tarball":"https://registry.npmjs.org/vue3-tooltip/-/vue3-tooltip-2.3.0.tgz","fileCount":7,"unpackedSize":44648,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/vue3-tooltip@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGRJV9+tOVXjM4p5zXsejGnm88y0UkTn521STPiod3dzAiEAxPmC5Cjg5U8hF6Z6qEBNYs+eK4W1k4cl+tQ7sXLV56M="}]},"_npmUser":{"name":"neluckoff","email":"neluckoff@gmail.com"},"directories":{},"maintainers":[{"name":"neluckoff","email":"neluckoff@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vue3-tooltip_2.3.0_1762945173159_0.1361819674766871"},"_hasShrinkwrap":false}},"time":{"created":"2024-03-09T19:17:39.358Z","modified":"2025-11-12T10:59:33.753Z","0.0.0":"2022-03-15T14:19:20.102Z","1.0.0":"2024-03-09T19:17:39.517Z","1.0.1":"2024-03-09T19:18:54.503Z","1.0.2":"2024-03-09T19:26:42.667Z","1.0.3":"2024-03-09T19:32:27.716Z","1.0.4":"2024-03-09T19:36:39.463Z","1.0.5":"2024-03-09T19:44:06.446Z","1.0.6":"2024-03-09T19:52:51.458Z","1.0.7":"2024-03-09T20:02:50.595Z","1.0.8":"2024-03-09T20:06:41.307Z","1.0.9":"2024-03-09T21:16:56.749Z","1.1.0":"2024-03-09T22:24:40.352Z","1.1.1":"2024-03-09T22:27:46.706Z","1.1.2":"2024-03-09T22:30:01.307Z","1.1.3":"2024-03-09T22:31:30.329Z","1.1.4":"2024-03-09T23:08:52.376Z","1.2.0":"2024-03-10T08:23:00.889Z","1.2.1":"2024-03-10T09:20:59.118Z","1.2.2":"2024-03-10T09:38:49.389Z","1.2.3":"2024-03-10T09:44:43.484Z","1.2.4":"2024-03-10T10:42:46.981Z","1.2.5":"2024-03-10T11:21:42.817Z","1.2.6":"2024-03-11T12:21:13.217Z","1.2.7":"2024-03-11T12:22:30.096Z","1.2.8":"2024-03-11T12:25:41.476Z","1.2.9":"2024-03-11T12:32:45.819Z","1.2.10":"2024-03-11T12:33:38.158Z","1.2.11":"2024-03-11T12:48:26.300Z","1.2.12":"2024-03-11T12:50:31.808Z","1.2.13":"2024-03-11T12:57:41.401Z","1.2.14":"2024-03-11T13:02:00.036Z","1.2.15":"2024-03-11T13:18:04.452Z","1.2.16":"2024-03-11T13:31:51.768Z","1.2.17":"2024-03-11T14:07:07.733Z","1.2.18":"2024-03-11T14:38:29.764Z","1.2.19":"2024-03-11T14:51:58.993Z","2.0.0":"2024-03-11T16:38:00.456Z","2.0.1":"2024-03-11T16:48:59.271Z","2.0.2":"2024-03-11T16:53:14.830Z","2.0.3":"2024-03-11T21:01:34.205Z","2.0.4":"2024-03-11T21:09:44.182Z","2.0.5":"2024-03-11T21:28:19.629Z","2.0.6":"2024-03-11T21:37:03.812Z","2.0.7":"2024-03-11T21:41:18.919Z","2.0.8":"2024-03-11T22:01:07.495Z","2.0.9":"2024-03-11T22:03:02.529Z","2.0.10":"2024-03-11T22:15:10.048Z","2.0.11":"2024-03-11T22:17:00.769Z","2.1.0":"2024-03-11T22:24:31.440Z","2.1.1":"2024-03-11T22:30:01.595Z","2.1.2":"2024-03-11T22:49:48.829Z","2.1.3":"2024-03-11T23:34:53.634Z","2.1.4":"2024-03-12T08:37:23.733Z","2.1.5":"2024-04-03T07:15:12.472Z","2.1.6":"2024-04-03T07:19:28.472Z","2.2.1":"2024-04-03T07:21:19.372Z","2.2.2":"2024-04-03T07:33:17.501Z","2.2.3":"2024-04-03T07:37:01.272Z","2.2.4":"2024-04-21T14:17:23.869Z","2.3.0":"2025-11-12T10:59:33.344Z"},"bugs":{"url":"https://github.com/neluckoff/vue3-tooltip/issues"},"author":{"name":"Dmitrii Lukianenko","email":"neluckoff@gmail.com"},"license":"MIT","homepage":"https://goo.su/YfII","keywords":["vue3-tooltip","tooltip","vue3","tooltip-component","v-tooltip","tooltip-directive"],"repository":{"type":"git","url":"git+https://github.com/neluckoff/vue3-tooltip.git"},"description":"Module for convenient work with tooltips in Vue3 (using a directive and a component)","maintainers":[{"name":"neluckoff","email":"neluckoff@gmail.com"}],"readme":"<div align=\"center\">\n\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/neluckoff/vue3-tooltip/master/.github/assets/logo-dark.svg\">\n  <source media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/neluckoff/vue3-tooltip/master/.github/assets/logo-light.svg\">\n  <img alt=\"Vue3 Tooltip\" src=\"https://raw.githubusercontent.com/neluckoff/vue3-tooltip/master/.github/assets/logo-light.svg\" width=\"600\">\n</picture>\n\n<h3>✨ Smart, Elegant Tooltips for Vue 3 ✨</h3>\n\n<p align=\"center\">\n  <strong>Auto-positioning</strong> • <strong>Touch Support</strong> • <strong>Lightweight</strong> • <strong>TypeScript</strong>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/vue3-tooltip\"><img src=\"https://img.shields.io/npm/v/vue3-tooltip?style=flat&colorA=18181B&colorB=10b981&label=version\" alt=\"NPM Version\"/></a>\n  <a href=\"https://www.npmjs.com/package/vue3-tooltip\"><img src=\"https://img.shields.io/npm/dt/vue3-tooltip?style=flat&colorA=18181B&colorB=10b981\" alt=\"Downloads\"/></a>\n  <a href=\"https://bundlephobia.com/package/vue3-tooltip\"><img src=\"https://img.shields.io/bundlephobia/minzip/vue3-tooltip?style=flat&colorA=18181B&colorB=10b981&label=gzip\" alt=\"Bundle Size\"/></a>\n  <a href=\"https://github.com/neluckoff/vue3-tooltip/actions\"><img src=\"https://img.shields.io/github/actions/workflow/status/neluckoff/vue3-tooltip/ci.yml?style=flat&colorA=18181B&colorB=10b981&label=tests\" alt=\"CI Status\"/></a>\n  <a href=\"./LICENSE.md\"><img src=\"https://img.shields.io/npm/l/vue3-tooltip?style=flat&colorA=18181B&colorB=10b981\" alt=\"License\"/></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"#-quick-start\"><strong>Quick Start</strong></a> •\n  <a href=\"#-features\"><strong>Features</strong></a> •\n  <a href=\"#-examples\"><strong>Examples</strong></a> •\n  <a href=\"./DOCS.md\"><strong>Full Docs</strong></a> •\n  <a href=\"https://codesandbox.io/p/sandbox/vue3-tooltip-fsv9xl\"><strong>Live Demo</strong></a>\n</p>\n\n</div>\n\n<br/>\n\n<div align=\"center\">\n\n```bash\nnpm install vue3-tooltip\n```\n\nor\n\n```bash\nyarn add vue3-tooltip\n```\n\n</div>\n\n---\n\n## ⚡ Highlights\n\n<div align=\"center\">\n\n```vue\n<!-- Simple as this 👇 -->\n<button v-tooltip.auto.touch.primary:top=\"'Hello World! 👋'\">\n  Hover or tap me\n</button>\n```\n\n**3 seconds to install** • **Auto-positioning** • **Touch support** • **Full TypeScript** • **3.9 KB only**\n\n</div>\n\n---\n\n## ✨ Features\n\n> **Why developers love Vue3 Tooltip**\n\n<table>\n  <tbody>\n    <tr>\n      <td align=\"center\" width=\"33%\">\n        <br/>\n        <div>🎯</div>\n        <br/>\n        <strong>Smart Auto-Positioning</strong>\n        <br/><br/>\n        <sub>Automatically adjusts position to stay within viewport.<br/>Never goes off-screen!</sub>\n        <br/><br/>\n      </td>\n      <td align=\"center\" width=\"33%\">\n        <br/>\n        <div>📱</div>\n        <br/>\n        <strong>Touch Device Support</strong>\n        <br/><br/>\n        <sub>Perfect on mobile & tablets.<br/>Tap to show, tap outside to hide.</sub>\n        <br/><br/>\n      </td>\n      <td align=\"center\" width=\"33%\">\n        <br/>\n        <div>⚡</div>\n        <br/>\n        <strong>Lightweight</strong>\n        <br/><br/>\n        <sub>Only <strong>~3.9 KB gzipped</strong>.<br/>Zero dependencies!</sub>\n        <br/><br/>\n      </td>\n    </tr>\n    <tr>\n      <td align=\"center\" width=\"33%\">\n        <br/>\n        <div>🎨</div>\n        <br/>\n        <strong>Fully Customizable</strong>\n        <br/><br/>\n        <sub>All styles via CSS variables.<br/>Match any design system easily.</sub>\n        <br/><br/>\n      </td>\n      <td align=\"center\" width=\"33%\">\n        <br/>\n        <div>🔧</div>\n        <br/>\n        <strong>TypeScript First</strong>\n        <br/><br/>\n        <sub>Full TypeScript support.<br/>Exported types & utilities.</sub>\n        <br/><br/>\n      </td>\n      <td align=\"center\" width=\"33%\">\n        <br/>\n        <div>🚀</div>\n        <br/>\n        <strong>Easy to Use</strong>\n        <br/><br/>\n        <sub>Simple directive or component.<br/>Works out of the box!</sub>\n        <br/><br/>\n      </td>\n    </tr>\n  </tbody>\n</table>\n\n---\n\n## 🚀 Quick Start\n\nGet up and running in 60 seconds! \n\n### 📦 Step 1: Install\n\nChoose your favorite package manager:\n\n```bash\nnpm install vue3-tooltip\n# or\nyarn add vue3-tooltip\n# or\npnpm add vue3-tooltip\n```\n\n### ⚙️ Step 2: Register Plugin\n\nAdd to your Vue app (usually `main.ts` or `main.js`):\n\n```typescript\nimport { createApp } from 'vue';\nimport VueTooltip from 'vue3-tooltip';\nimport 'vue3-tooltip/tooltip.css';  // 👈 Don't forget styles!\n\nconst app = createApp(App);\napp.use(VueTooltip);  // 👈 Registers directive & component\napp.mount('#app');\n```\n\n### 🎯 Step 3: Use It!\n\n**Option A:** As a directive (simplest way)\n\n```vue\n<button v-tooltip=\"'Hello World!'\">\n  Hover me 👋\n</button>\n```\n\n**Option B:** As a component (more control)\n\n```vue\n<Tooltip>\n  <template #text>Hover me 👋</template>\n  <template #tooltip>Hello World!</template>\n</Tooltip>\n```\n\n**That's it!** 🎉 You're ready to go!\n\n---\n\n## 💡 Examples\n\n### 🎯 Smart Auto-Positioning\n\nThe tooltip automatically flips to stay visible in viewport:\n\n```vue\n<button v-tooltip.auto:bottom=\"'I adjust my position smartly!'\">\n  Near screen edge 🎯\n</button>\n```\n\n> 💡 Perfect for dropdowns near screen edges - no more cut-off tooltips!\n\n### 📱 Touch Device Support\n\nWorks seamlessly on mobile and tablets:\n\n```vue\n<button v-tooltip.touch=\"'Tap me on mobile! 📱'\">\n  Mobile & Desktop Ready\n</button>\n```\n\n> 💡 Automatically detects touch devices and adapts behavior\n\n### 🎨 Color Variants\n\nChoose from three beautiful built-in themes:\n\n```vue\n<button v-tooltip.primary=\"'Clean & modern'\">Primary</button>\n<button v-tooltip.secondary=\"'Subtle & elegant'\">Secondary</button>\n<button v-tooltip.accent=\"'Bold & bright'\">Accent</button>\n```\n\n### 🧭 Position Control\n\nPlace tooltips exactly where you want them:\n\n```vue\n<button v-tooltip:top=\"'↑ Top'\">Top</button>\n<button v-tooltip:bottom=\"'↓ Bottom'\">Bottom</button>\n<button v-tooltip:left=\"'← Left'\">Left</button>\n<button v-tooltip:right=\"'→ Right'\">Right</button>\n```\n\n### 🎭 Combine Modifiers\n\nMix and match modifiers for powerful tooltips:\n\n```vue\n<!-- Auto-positioning + Touch + Custom color -->\n<button v-tooltip.auto.touch.secondary:top=\"'The ultimate tooltip! 🚀'\">\n  All Features Combined\n</button>\n```\n\n> 💡 **Pro tip:** Chain modifiers like `.auto.touch.primary` for maximum functionality!\n\n---\n\n## 🧩 Component API\n\nFor more complex scenarios, use the `<Tooltip>` component:\n\n### Props Reference\n\n| Prop | Type | Default | Description |\n|:-----|:-----|:--------|:------------|\n| `position` | `'top' \\| 'bottom' \\| 'left' \\| 'right'` | `'bottom'` | Tooltip placement |\n| `autoPosition` | `boolean` | `false` | 🆕 Auto-adjust to viewport |\n| `adaptiveTouch` | `boolean` | `false` | 🆕 Enable touch support |\n| `clickable` | `boolean` | `false` | Keep open on hover |\n| `disable` | `boolean` | `false` | Disable tooltip |\n\n### Rich Content Example\n\nPerfect for complex HTML content:\n\n```vue\n<template>\n  <Tooltip \n    position=\"top\"\n    :auto-position=\"true\"\n    :adaptive-touch=\"true\"\n  >\n    <template #text>\n      <button class=\"my-button\">\n        📊 View Stats\n      </button>\n    </template>\n    \n    <template #tooltip>\n      <div class=\"rich-tooltip\">\n        <h4>📈 User Statistics</h4>\n        <p>Active users: <strong>1,234</strong></p>\n        <p>Growth: <strong style=\"color: #10b981\">+15%</strong></p>\n      </div>\n    </template>\n  </Tooltip>\n</template>\n\n<style scoped>\n.rich-tooltip {\n  min-width: 200px;\n  text-align: left;\n}\n.rich-tooltip h4 {\n  margin: 0 0 8px;\n  font-size: 14px;\n}\n.rich-tooltip p {\n  margin: 4px 0;\n  font-size: 12px;\n}\n</style>\n```\n\n---\n\n## 🎨 Customization\n\nMatch your design system effortlessly with CSS variables!\n\n### 🎨 Quick Theme Override\n\n```css\n/* In your global CSS */\n:root {\n  /* Make tooltips match your brand */\n  --tooltip-primary-background: #2563eb;\n  --tooltip-primary-color: white;\n  --tooltip-d-border-radius: 12px;\n  --tooltip-d-padding: 8px 16px;\n}\n```\n\n### 📋 All Available Variables\n\n<details>\n<summary><strong>👉 Click to see all CSS variables</strong></summary>\n\n```css\n:root {\n  /* 📐 Layout & Positioning */\n  --tooltip-d-z-index: 9999;\n  --tooltip-d-z-index-hover: 9998;\n  --tooltip-d-offset: 10px;\n  \n  /* 🎨 Appearance */\n  --tooltip-d-padding: 6px 12px;\n  --tooltip-d-border-radius: 6px;\n  --tooltip-d-font-size: 14px;\n  --tooltip-d-font-weight: 500;\n  --tooltip-d-line-height: 1.4;\n  \n  /* 🎯 Primary Theme */\n  --tooltip-primary-background: #ffffff;\n  --tooltip-primary-color: #1a1a1a;\n  --tooltip-primary-border: 1px solid #e5e5e5;\n  --tooltip-primary-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n  \n  /* 🎨 Secondary Theme */\n  --tooltip-secondary-background: #f3f4f6;\n  --tooltip-secondary-color: #374151;\n  \n  /* ✨ Accent Theme */\n  --tooltip-accent-background: #10b981;\n  --tooltip-accent-color: #ffffff;\n  \n  /* ⏱️ Animations */\n  --tooltip-d-transition-duration: 0.3s;\n  --tooltip-d-transition-timing: cubic-bezier(0.4, 0, 0.2, 1);\n}\n```\n\n</details>\n\n### 💡 Examples\n\n**Dark theme:**\n\n```css\n:root {\n  --tooltip-primary-background: #1f2937;\n  --tooltip-primary-color: #f9fafb;\n  --tooltip-primary-border: 1px solid #374151;\n}\n```\n\n**Glassmorphism:**\n\n```css\n:root {\n  --tooltip-primary-background: rgba(255, 255, 255, 0.8);\n  --tooltip-primary-backdrop-filter: blur(10px);\n  --tooltip-primary-border: 1px solid rgba(255, 255, 255, 0.3);\n}\n```\n\n> 📖 **Full documentation:** See [DOCS.md](./DOCS.md) for complete customization guide\n\n---\n\n## 📚 Advanced Usage\n\n### 🔧 TypeScript Support\n\nFull type safety with exported types and utilities:\n\n```typescript\nimport type { Position, Rect, TooltipOptions } from 'vue3-tooltip';\nimport { getBestPosition, isTouchDevice } from 'vue3-tooltip';\n\n// ✅ Type-safe position\nconst position: Position = 'bottom';\n\n// ✅ Detect touch devices\nconst isTouch = isTouchDevice();\n\n// ✅ Smart positioning for custom tooltips\nconst bestPos = getBestPosition(\n  triggerRect,\n  tooltipRect,\n  'bottom'\n);\n```\n\n### 🛠️ Utility Functions\n\nBuild custom tooltip solutions with our utilities:\n\n```typescript\nimport {\n  getBestPosition,    // 🎯 Find optimal position\n  checkPosition,      // ✅ Validate position fits\n  isTouchDevice,      // 📱 Detect touch support\n  getRect,           // 📐 Get element bounds\n  checkOverflow      // 🔍 Check viewport overflow\n} from 'vue3-tooltip';\n```\n\n**Example - Custom tooltip positioning:**\n\n```typescript\nimport { getBestPosition, getRect } from 'vue3-tooltip';\n\n// Get element rectangles\nconst triggerRect = getRect(buttonElement);\nconst tooltipRect = getRect(tooltipElement);\n\n// Find best position automatically\nconst bestPosition = getBestPosition(\n  triggerRect, \n  tooltipRect, \n  'top'  // preferred position\n);\n\nconsole.log(bestPosition); // 'top' or alternative if top doesn't fit\n```\n\n---\n\n## 🎯 Why Vue3 Tooltip?\n\nComparison with other popular tooltip libraries:\n\n<table>\n  <thead>\n    <tr>\n      <th width=\"200\">Feature</th>\n      <th align=\"center\" width=\"150\">Vue3 Tooltip</th>\n      <th align=\"center\" width=\"150\">Others</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>🎯 <strong>Auto-positioning</strong></td>\n      <td align=\"center\">✅ Built-in</td>\n      <td align=\"center\">❌ Manual</td>\n    </tr>\n    <tr>\n      <td>📱 <strong>Touch support</strong></td>\n      <td align=\"center\">✅ Adaptive</td>\n      <td align=\"center\">❌ Desktop only</td>\n    </tr>\n    <tr>\n      <td>🔧 <strong>TypeScript</strong></td>\n      <td align=\"center\">✅ Full support</td>\n      <td align=\"center\">⚠️ Partial</td>\n    </tr>\n    <tr>\n      <td>📦 <strong>Bundle size</strong></td>\n      <td align=\"center\">✅ <strong>3.9 KB</strong></td>\n      <td align=\"center\">❌ 10-20 KB</td>\n    </tr>\n    <tr>\n      <td>🎨 <strong>CSS Variables</strong></td>\n      <td align=\"center\">✅ Fully customizable</td>\n      <td align=\"center\">⚠️ Limited</td>\n    </tr>\n    <tr>\n      <td>📦 <strong>Dependencies</strong></td>\n      <td align=\"center\">✅ Zero</td>\n      <td align=\"center\">❌ Multiple</td>\n    </tr>\n    <tr>\n      <td>🌳 <strong>Tree-shakeable</strong></td>\n      <td align=\"center\">✅ Yes</td>\n      <td align=\"center\">⚠️ Partial</td>\n    </tr>\n    <tr>\n      <td>⚡ <strong>Vue 3 native</strong></td>\n      <td align=\"center\">✅ Built for Vue 3</td>\n      <td align=\"center\">⚠️ Vue 2 ports</td>\n    </tr>\n  </tbody>\n</table>\n\n---\n\n## 🌐 Browser Support\n\nWorks everywhere modern Vue 3 works:\n\n<table>\n  <tr>\n    <td align=\"center\" width=\"96\">\n      <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/main/src/chrome/chrome_48x48.png\" width=\"48\" height=\"48\" alt=\"Chrome\">\n      <br/>Chrome\n    </td>\n    <td align=\"center\" width=\"96\">\n      <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/main/src/firefox/firefox_48x48.png\" width=\"48\" height=\"48\" alt=\"Firefox\">\n      <br/>Firefox\n    </td>\n    <td align=\"center\" width=\"96\">\n      <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/main/src/safari/safari_48x48.png\" width=\"48\" height=\"48\" alt=\"Safari\">\n      <br/>Safari\n    </td>\n    <td align=\"center\" width=\"96\">\n      <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/main/src/edge/edge_48x48.png\" width=\"48\" height=\"48\" alt=\"Edge\">\n      <br/>Edge\n    </td>\n    <td align=\"center\" width=\"96\">\n      <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/main/src/safari-ios/safari-ios_48x48.png\" width=\"48\" height=\"48\" alt=\"iOS Safari\">\n      <br/>iOS Safari\n    </td>\n    <td align=\"center\" width=\"96\">\n      <img src=\"https://raw.githubusercontent.com/alrra/browser-logos/main/src/samsung-internet/samsung-internet_48x48.png\" width=\"48\" height=\"48\" alt=\"Samsung\">\n      <br/>Samsung\n    </td>\n  </tr>\n  <tr>\n    <td align=\"center\">90+</td>\n    <td align=\"center\">88+</td>\n    <td align=\"center\">14+</td>\n    <td align=\"center\">90+</td>\n    <td align=\"center\">14+</td>\n    <td align=\"center\">✅</td>\n  </tr>\n</table>\n\n---\n\n## 📖 Documentation\n\n<table>\n  <tr>\n    <td align=\"center\" width=\"33%\">\n      <br/>\n      <a href=\"./DOCS.md\">\n        <strong>📚 Complete Documentation</strong>\n      </a>\n      <br/><br/>\n      <sub>Full API reference, examples, and guides</sub>\n      <br/><br/>\n    </td>\n    <td align=\"center\" width=\"33%\">\n      <br/>\n      <a href=\"./CHANGELOG.md\">\n        <strong>📝 Changelog</strong>\n      </a>\n      <br/><br/>\n      <sub>Version history and migration guides</sub>\n      <br/><br/>\n    </td>\n    <td align=\"center\" width=\"33%\">\n      <br/>\n      <a href=\"https://codesandbox.io/p/sandbox/vue3-tooltip-fsv9xl\">\n        <strong>🎮 Live Demo</strong>\n      </a>\n      <br/><br/>\n      <sub>Try it in an interactive playground</sub>\n      <br/><br/>\n    </td>\n  </tr>\n</table>\n\n---\n\n## 🤝 Contributing\n\nWe welcome contributions! Help us make tooltips better for everyone.\n\n### 🚀 Quick Start for Contributors\n\n```bash\n# 1️⃣ Clone the repository\ngit clone https://github.com/neluckoff/vue3-tooltip.git\ncd vue3-tooltip\n\n# 2️⃣ Install dependencies\nnpm install\n\n# 3️⃣ Run tests (watch mode)\nnpm test\n\n# 4️⃣ Build the library\nnpm run build\n\n# 5️⃣ Test locally in your project\nnpm link\n```\n\n### 💡 Ways to Contribute\n\n- 🐛 **Report bugs** - [Open an issue](https://github.com/neluckoff/vue3-tooltip/issues/new?template=bug_report.md)\n- ✨ **Suggest features** - [Request a feature](https://github.com/neluckoff/vue3-tooltip/issues/new?template=feature_request.md)\n- 📖 **Improve docs** - Fix typos, add examples\n- 🧪 **Add tests** - Increase coverage\n- 🎨 **Design** - Suggest UX improvements\n- 💻 **Code** - Submit pull requests\n- 🛡️ **Security** - Report vulnerabilities privately\n\n> 📋 Please read our [Contributing Guide](./.github/CONTRIBUTING.md) before submitting PRs\n> \n> 🤝 By participating, you agree to our [Code of Conduct](./.github/CODE_OF_CONDUCT.md)\n> \n> 🔒 Found a security issue? See our [Security Policy](./.github/SECURITY.md)\n\n---\n\n## 📝 License\n\nReleased under the [MIT License](./LICENSE.md)\n\nCopyright © 2025 [Dmitrii Lukianenko](https://github.com/neluckoff)\n\n---\n\n<div align=\"center\">\n<br/>\n\n### Made with ❤️ for the Vue community\n\n**Created by [@neluckoff](https://github.com/neluckoff)**\n\n<sub>\n  <a href=\"https://github.com/neluckoff/vue3-tooltip\">GitHub</a> •\n  <a href=\"https://www.npmjs.com/package/vue3-tooltip\">NPM</a> •\n  <a href=\"https://twitter.com/intent/tweet?text=Check%20out%20Vue3%20Tooltip%20-%20Smart%20tooltips%20for%20Vue%203!&url=https://github.com/neluckoff/vue3-tooltip\">Share on Twitter</a>\n</sub>\n\n<br/><br/>\n\n<sub>If you find a bug or have a feature request, please <a href=\"https://github.com/neluckoff/vue3-tooltip/issues/new\">open an issue</a> 🙏</sub>\n\n</div>\n","readmeFilename":"README.md"}