@oklch-picker/vue
v1.2.0
Published
An OKLCH color picker for Vue 3. Gamut-aware sliders, wide-gamut P3 and Rec. 2020, works with v-model.
Maintainers
Readme
@oklch-picker/vue
An OKLCH colour picker for Vue, with gamut-aware sliders. Works with v-model.
Every axis is a slider over a gamut cross-section. The filled silhouette is the range sRGB can actually show, so the reachable colours are visible. You do not have to discover them by dragging into a region that does nothing.
See it running, in light or dark, with every layout and part on a page of its own.
- The chroma slider is bounded by what is reachable. A fixed
0..0.37slider is up to 87% dead travel at low lightness. Here the maximum is recomputed as the other axes move. - Out-of-gamut regions are hatched, on every axis.
- Nothing out-of-gamut is ever emitted. Values are clamped by reducing chroma, keeping lightness and hue.
Install
npm install @oklch-picker/vueUsage
<script setup>
import { ref } from "vue";
import { ColourPicker } from "@oklch-picker/vue";
import "@oklch-picker/core/styles.css";
const colour = ref("oklch(0.7 0.15 255)");
</script>
<template>
<ColourPicker v-model="colour" />
</template>v-model receives a canonical, gamut-clamped oklch(L C H) string; a change event is emitted alongside it. v-model writes the new colour back for you, which the picker needs: it keeps no colour of its own, so binding :value and listening to @change without assigning would leave the sliders stuck.
The family
| Using | Install |
| --- | --- |
| No framework: HTML, HTMX, Alpine, Astro, Rails, Laravel, Django | oklch-picker |
| React / Preact | @oklch-picker/react |
| Vue | @oklch-picker/vue |
| Svelte 5 | @oklch-picker/svelte |
| Solid | @oklch-picker/solid |
| Angular 17+ | @oklch-picker/angular |
| Qwik | @oklch-picker/qwik |
| The maths and headless model alone | @oklch-picker/core |
Full documentation lives in the repository README.
Licence
MIT © Nick Bevers
