Minimal (≈670 bytes minigzip) and fast (up to 60% faster than original) partial HSLᵤᵥ implementation with TypeScript support.
yarn add @ripreact/hsl
// ES module
import { hsl, hsla } from '@ripreact/hsl';
console.log(hsl(0, 100, 50)); // → `'#ea0064'`
console.log(hsla(0, 100, 50, 0.5)); // → `'#ea006480'`
// CommonJS
const { hsl, hsla } = require('@ripreact/hsl/cjs');
console.log(hsl(0, 100, 50));
console.log(hsla(0, 100, 50, 0.5));
NB: By default
@ripreact/hsl
exports*.mjs
module. If for some reasons you need ES module with*.js
extension, use@ripreact/hsl/esm
entry point. Also, you may specify@ripreact/hsl/mjs
explicitly to import the same module as using default entry point.
// Or `@ripreact/hsl/native/cjs` for CommonJS ↓
import { hsl, hsla } from '@ripreact/hsl/native/mjs';
console.log(hsl(0, 100, 50));
console.log(hsla(0, 100, 50, 0.5));
MIT