{"_id":"vue3-tri-state-checkbox","_rev":"32-3df5a664622601648dca65264120cd1d","name":"vue3-tri-state-checkbox","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"vue3-tri-state-checkbox","version":"0.0.1","keywords":["vue3","vue","checkbox","tri-state","typescript","component","composition-api"],"author":{"name":"Frino"},"license":"MIT","_id":"vue3-tri-state-checkbox@0.0.1","maintainers":[{"name":"frino50","email":"alobonnier@gmail.com"}],"dist":{"shasum":"29ca19b752759c2ab877924451a1fe86ad3f3db5","tarball":"https://registry.npmjs.org/vue3-tri-state-checkbox/-/vue3-tri-state-checkbox-0.0.1.tgz","fileCount":6,"integrity":"sha512-eonuYiWkUv5seEZCwlXozZjX3q1H7XQMGwfxJGGWe0vfZnFUf63pFLPvKDAQwtYkvTLlplViHqPPi8w6P7Ypvg==","signatures":[{"sig":"MEYCIQCclfnnMHHN0mRZKVv0mVbDy6M9Em+TMKPElqPGnRWnsAIhAObPa88xh+TBuw7YuMTICplA3dCijqYXjtIDFA6/B0+P","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11285},"main":"dist/tri-state-checkbox.umd.cjs","type":"module","_from":"file:vue3-tri-state-checkbox-0.0.1.tgz","types":"./dist/types/index.d.ts","unpkg":"dist/tri-state-checkbox.umd.cjs","module":"dist/tri-state-checkbox.js","scripts":{"dev":"vite","build":"vue-tsc && vite build","preview":"vite preview"},"_npmUser":{"name":"frino50","email":"alobonnier@gmail.com"},"_resolved":"C:\\Users\\AAL~1.BON\\AppData\\Local\\Temp\\9047fbbd0baffceb4f77fc350b76cd2c\\vue3-tri-state-checkbox-0.0.1.tgz","_integrity":"sha512-eonuYiWkUv5seEZCwlXozZjX3q1H7XQMGwfxJGGWe0vfZnFUf63pFLPvKDAQwtYkvTLlplViHqPPi8w6P7Ypvg==","_npmVersion":"11.1.0","description":"A Vue 3 tri-state checkbox component using the Composition API and TypeScript.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","eslint":"^9.26.0","vue-tsc":"^2.2.10","prettier":"^3.5.3","typescript":"^5.8.3","@types/node":"^22.15.14","eslint-plugin-n":"^17.17.0","vite-plugin-dts":"^4.5.3","eslint-plugin-vue":"^10.1.0","vue-eslint-parser":"^10.1.3","@vitejs/plugin-vue":"^5.2.3","eslint-plugin-import":"^2.31.0","eslint-plugin-promise":"^7.2.1","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.4.0","@typescript-eslint/parser":"^8.32.0","@vue/eslint-config-typescript":"^14.5.0","vite-plugin-css-injected-by-js":"^3.5.2","@typescript-eslint/eslint-plugin":"^8.32.0"},"peerDependencies":{"vue":"^3.5.13"},"_npmOperationalInternal":{"tmp":"tmp/vue3-tri-state-checkbox_0.0.1_1746770188674_0.45136815070969183","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"vue3-tri-state-checkbox","version":"0.0.2","keywords":["vue3","vue","checkbox","tri-state","typescript","component","composition-api"],"author":{"name":"Frino"},"license":"MIT","_id":"vue3-tri-state-checkbox@0.0.2","maintainers":[{"name":"frino50","email":"alobonnier@gmail.com"}],"dist":{"shasum":"e555ecdd184d5f44c177e370dcd0db1c722eb8c4","tarball":"https://registry.npmjs.org/vue3-tri-state-checkbox/-/vue3-tri-state-checkbox-0.0.2.tgz","fileCount":6,"integrity":"sha512-h3F3VGbJwM++lqg5Xm/SYbZKOXKaKMHxq/qtg+uvRWQeVws7SChmypdCvoy4IEic6CaKF8Z7T/H3cbo89GA9cw==","signatures":[{"sig":"MEUCIQC4F9MVHu9P5+3x5QGoGa2euPdqmhQhZu/2Dd0CQecJ3wIgZOE2J/60Tx1JlfMCHsVbl4dZk4G2JTew0DaV7X4nZ5M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11654},"main":"dist/tri-state-checkbox.umd.cjs","type":"module","_from":"file:vue3-tri-state-checkbox-0.0.2.tgz","types":"./dist/types/index.d.ts","unpkg":"dist/tri-state-checkbox.umd.cjs","module":"dist/tri-state-checkbox.js","scripts":{"dev":"vite","build":"vue-tsc && vite build","preview":"vite preview"},"_npmUser":{"name":"frino50","email":"alobonnier@gmail.com"},"_resolved":"C:\\Users\\AAL~1.BON\\AppData\\Local\\Temp\\02d11ad5b204f2c68988fbf6f0d2a95e\\vue3-tri-state-checkbox-0.0.2.tgz","_integrity":"sha512-h3F3VGbJwM++lqg5Xm/SYbZKOXKaKMHxq/qtg+uvRWQeVws7SChmypdCvoy4IEic6CaKF8Z7T/H3cbo89GA9cw==","_npmVersion":"11.1.0","description":"A Vue 3 tri-state checkbox component using the Composition API and TypeScript.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","eslint":"^9.26.0","vue-tsc":"^2.2.10","prettier":"^3.5.3","typescript":"^5.8.3","@types/node":"^22.15.14","eslint-plugin-n":"^17.17.0","vite-plugin-dts":"^4.5.3","eslint-plugin-vue":"^10.1.0","vue-eslint-parser":"^10.1.3","@vitejs/plugin-vue":"^5.2.3","eslint-plugin-import":"^2.31.0","eslint-plugin-promise":"^7.2.1","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.4.0","@typescript-eslint/parser":"^8.32.0","@vue/eslint-config-typescript":"^14.5.0","vite-plugin-css-injected-by-js":"^3.5.2","@typescript-eslint/eslint-plugin":"^8.32.0"},"peerDependencies":{"vue":"^3.5.13"},"_npmOperationalInternal":{"tmp":"tmp/vue3-tri-state-checkbox_0.0.2_1746772980309_0.41944459090549624","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"vue3-tri-state-checkbox","version":"0.0.3","keywords":["vue3","vue","checkbox","tri-state","typescript","component","composition-api"],"author":{"name":"Frino"},"license":"MIT","_id":"vue3-tri-state-checkbox@0.0.3","maintainers":[{"name":"frino50","email":"alobonnier@gmail.com"}],"dist":{"shasum":"e2d5db5844e5d4305cf1c532c371dc1f11d6e37f","tarball":"https://registry.npmjs.org/vue3-tri-state-checkbox/-/vue3-tri-state-checkbox-0.0.3.tgz","fileCount":6,"integrity":"sha512-OgJSn+qcWlgNdyfr+EucxvUJufdXCr0dRV+GIpzKRq8EvDtPIAslNoyvVUfmhDfc6czOKUcR2Pi1QIbaq86swg==","signatures":[{"sig":"MEUCIDTQmAF7n9YizUYtIhByJYSFbYOO0rJDTOyA/WtBiJUCAiEAlvkQD0jkh0npdLS/hyO9dnM5HU6VoCjkWnw50kidlYU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11425},"main":"dist/tri-state-checkbox.umd.cjs","type":"module","_from":"file:vue3-tri-state-checkbox-0.0.3.tgz","types":"./dist/types/index.d.ts","unpkg":"dist/tri-state-checkbox.umd.cjs","module":"dist/tri-state-checkbox.js","scripts":{"dev":"vite","build":"vue-tsc && vite build","preview":"vite preview"},"_npmUser":{"name":"frino50","email":"alobonnier@gmail.com"},"_resolved":"C:\\Users\\AAL~1.BON\\AppData\\Local\\Temp\\ef8618ad2603b6e5a1ec9b6c61b09a8b\\vue3-tri-state-checkbox-0.0.3.tgz","_integrity":"sha512-OgJSn+qcWlgNdyfr+EucxvUJufdXCr0dRV+GIpzKRq8EvDtPIAslNoyvVUfmhDfc6czOKUcR2Pi1QIbaq86swg==","_npmVersion":"11.1.0","description":"A Vue 3 tri-state checkbox component using the Composition API and TypeScript.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","eslint":"^9.26.0","vue-tsc":"^2.2.10","prettier":"^3.5.3","typescript":"^5.8.3","@types/node":"^22.15.14","eslint-plugin-n":"^17.17.0","vite-plugin-dts":"^4.5.3","eslint-plugin-vue":"^10.1.0","vue-eslint-parser":"^10.1.3","@vitejs/plugin-vue":"^5.2.3","eslint-plugin-import":"^2.31.0","eslint-plugin-promise":"^7.2.1","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.4.0","@typescript-eslint/parser":"^8.32.0","@vue/eslint-config-typescript":"^14.5.0","vite-plugin-css-injected-by-js":"^3.5.2","@typescript-eslint/eslint-plugin":"^8.32.0"},"peerDependencies":{"vue":"^3.5.13"},"_npmOperationalInternal":{"tmp":"tmp/vue3-tri-state-checkbox_0.0.3_1746773814220_0.5378735359134033","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"vue3-tri-state-checkbox","version":"0.0.4","description":"A Vue 3 tri-state checkbox component using the Composition API and TypeScript.","main":"dist/tri-state-checkbox.umd.cjs","module":"dist/tri-state-checkbox.js","unpkg":"dist/tri-state-checkbox.umd.cjs","types":"./dist/types/index.d.ts","keywords":["vue3","vue","checkbox","tri-state","typescript","component","composition-api"],"author":{"name":"Frino"},"license":"MIT","type":"module","peerDependencies":{"vue":"^3.5.13"},"devDependencies":{"@types/node":"^22.15.14","@typescript-eslint/eslint-plugin":"^8.32.0","@typescript-eslint/parser":"^8.32.0","@vitejs/plugin-vue":"^5.2.3","@vue/eslint-config-typescript":"^14.5.0","eslint":"^9.26.0","eslint-config-prettier":"^10.1.2","eslint-plugin-import":"^2.31.0","eslint-plugin-n":"^17.17.0","eslint-plugin-prettier":"^5.4.0","eslint-plugin-promise":"^7.2.1","eslint-plugin-vue":"^10.1.0","prettier":"^3.5.3","typescript":"^5.8.3","vite":"^6.3.5","vite-plugin-css-injected-by-js":"^3.5.2","vite-plugin-dts":"^4.5.3","vue-eslint-parser":"^10.1.3","vue-tsc":"^2.2.10"},"scripts":{"dev":"vite","build":"vue-tsc && vite build","preview":"vite preview"},"_id":"vue3-tri-state-checkbox@0.0.4","_integrity":"sha512-h5bqVIKU7Ecu+qx7WWcIiGeir6Kdx6ZvWHQiByhDNX4G4rcgZbxnJGrfhBCII12v+Tg+7qHQwAqe/DVULmg/IA==","_resolved":"C:\\Users\\AAL~1.BON\\AppData\\Local\\Temp\\59e6af667e3af523ca119a4d3b5b1770\\vue3-tri-state-checkbox-0.0.4.tgz","_from":"file:vue3-tri-state-checkbox-0.0.4.tgz","_nodeVersion":"22.14.0","_npmVersion":"11.1.0","dist":{"integrity":"sha512-h5bqVIKU7Ecu+qx7WWcIiGeir6Kdx6ZvWHQiByhDNX4G4rcgZbxnJGrfhBCII12v+Tg+7qHQwAqe/DVULmg/IA==","shasum":"76a176c2cfd6854f65ad18262d263a421f832bb0","tarball":"https://registry.npmjs.org/vue3-tri-state-checkbox/-/vue3-tri-state-checkbox-0.0.4.tgz","fileCount":6,"unpackedSize":11526,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDUMU8mGIj9ahuTb8cRY8fV1+ORnuA/xAHtnAGpeMYifAIgOPJTouvjFQEXQxcNFUYnln0JOYElb8iH8DtalBIMhSQ="}]},"_npmUser":{"name":"frino50","email":"alobonnier@gmail.com"},"directories":{},"maintainers":[{"name":"frino50","email":"alobonnier@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vue3-tri-state-checkbox_0.0.4_1746774936043_0.1405600811761858"},"_hasShrinkwrap":false}},"time":{"created":"2025-05-09T06:43:00.224Z","modified":"2025-05-09T07:15:36.394Z","1.0.0":"2025-03-19T15:27:03.546Z","1.0.1":"2025-03-19T15:50:16.478Z","1.0.2":"2025-03-20T15:25:10.930Z","1.0.3":"2025-03-20T15:30:27.313Z","1.0.4":"2025-03-20T16:27:44.646Z","1.0.5":"2025-03-21T07:05:23.219Z","1.0.6":"2025-03-21T07:21:45.185Z","1.0.7":"2025-03-21T07:32:51.238Z","1.0.8":"2025-03-21T07:36:50.727Z","1.0.9":"2025-03-21T07:39:55.946Z","1.0.10":"2025-03-21T07:49:22.017Z","1.0.11":"2025-03-21T08:08:58.865Z","1.0.12":"2025-03-21T08:36:04.807Z","1.0.13":"2025-03-21T08:51:01.054Z","1.0.14":"2025-03-21T08:55:48.073Z","1.0.15":"2025-03-21T09:28:41.492Z","1.0.16":"2025-03-21T09:35:57.539Z","1.0.17":"2025-03-21T09:55:55.694Z","1.1.0":"2025-05-07T09:24:25.116Z","1.1.1":"2025-05-07T10:38:11.084Z","1.1.2":"2025-05-07T10:40:41.955Z","1.1.3":"2025-05-07T10:45:04.788Z","1.1.4":"2025-05-07T10:53:36.437Z","1.1.5":"2025-05-07T11:15:14.940Z","1.1.6":"2025-05-07T11:23:36.902Z","1.1.7":"2025-05-07T11:52:59.465Z","0.0.1":"2025-05-09T05:56:28.856Z","0.0.2":"2025-05-09T06:43:00.485Z","0.0.3":"2025-05-09T06:56:54.392Z","0.0.4":"2025-05-09T07:15:36.237Z"},"author":{"name":"Frino"},"license":"MIT","keywords":["vue3","vue","checkbox","tri-state","typescript","component","composition-api"],"description":"A Vue 3 tri-state checkbox component using the Composition API and TypeScript.","maintainers":[{"name":"frino50","email":"alobonnier@gmail.com"}],"readme":"# Vue Custom Checkbox Component\r\n\r\nThis is a simple and customizable Vue checkbox component that supports three states: `true`, `false`, and `undefined` (mixed state). It can be used in situations where you need a tri-state checkbox, such as toggling between options or showing an intermediate state.\r\n\r\n## Features\r\n\r\n- **Tri-state checkbox**: Supports `true`, `false`, and `undefined` states.\r\n- **Customizable labels**: Pass custom labels for each state (`true-label`, `false-label`, and `undefined-label`).\r\n- **Keyboard accessibility**: The checkbox can be toggled using the spacebar (`keydown.space`).\r\n- **ARIA support**: Proper ARIA attributes (`aria-checked`) are set to improve accessibility.\r\n- **Customizable appearance**: The checkbox’s visual state changes based on the value (`true`, `false`, `undefined`).\r\n\r\n## Installation\r\n\r\nTo install this component, you can use npm or yarn.\r\n\r\n```bash\r\nnpm i vue3-tri-state-checkbox\r\n```\r\n\r\n```bash\r\nyarn add vue3-tri-state-checkbox\r\n```\r\n\r\n## Basic Usage\r\n\r\n```bash\r\n// main.ts or main.js\r\nimport { createApp } from 'vue';\r\nimport App from './App.vue';\r\n\r\nimport TriStateCheckbox from 'vue3-tri-state-checkbox';\r\n\r\nconst app = createApp(App);\r\n\r\napp.component('TriStateCheckbox', TriStateCheckbox);\r\napp.mount('#app');\r\n```\r\n\r\n```bash\r\n<template>\r\n  <CustomCheckbox\r\n    v-model=\"checkboxValue\"\r\n    true-label=\"Enabled\"\r\n    false-label=\"Disabled\"\r\n    undefined-label=\"Intermediate\"\r\n    @change=\"handleChange()\"\r\n  />\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { ref } from 'vue';\r\n\r\nconst checkboxValue = ref<boolean>();\r\n\r\nfunction() {\r\n  console.log('Checkbox state changed:', checkboxValue.value);\r\n};\r\n</script>\r\n```\r\n### Props\r\n\r\n| Prop Name         | Type     | Default     | Description                                                                  |\r\n|-------------------|----------|-------------|------------------------------------------------------------------------------|\r\n| `v-model`         | `boolean \\| undefined` | `undefined`   | The current state of the checkbox. Supports `true`, `false`, or `undefined`. |\r\n| `disabled`        | `boolean\\| undefined` | `false`     | Disables the checkbox interaction when set to `true`.                        |\r\n| `undefined-label` | `string\\| undefined` | `undefined` | Label to display when the checkbox is in the `undefined` state.              |\r\n| `true-label`      | `string\\| undefined` | `undefined` | Label to display when the checkbox is in the `true` state.                   |\r\n| `false-label`     | `string\\| undefined` | `undefined` | Label to display when the checkbox is in the `false` state.                  |\r\n| `true-color`      | `string`              | `#007ad9`   | Background color when the checkbox is in the `true` state.                   |\r\n| `false-color`     | `string`              | `red`       | Background color when the checkbox is in the `false` state.                  |\r\n| `undefined-color` | `string`              | `undefined` | Background color when the checkbox is in the `undefined` state.              |\r\n\r\n## Event\r\n\r\n@change: Emitted when the state of the checkbox changes.","readmeFilename":"README.md"}