Giter Site home page Giter Site logo

ts-color-converter's Introduction

TsColorConverter

TsColorConverter is a TypeScript library for converting between various color formats (HEX, RGB, RGBA, HSL, HSLA, HSB, HSBA). It provides a simple and consistent API for color manipulation and conversion.

Features

  • Convert colors between HEX, RGB, RGBA, HSL, HSLA, HSB, and HSBA formats.
  • Validate color formats and ranges.
  • Return colors as strings or objects.

Installation

To install the library, use npm or yarn:

npm install ts-color-converter

or

yarn add ts-color-converter

Usage

First, import the TsColorConverter class from the library:

import TsColorConverter from 'ts-color-converter';

Example

const converter = new TsColorConverter();

// Convert HEX to RGB
const rgb = converter.hex('#B8860B').to('RGB');
console.log(rgb); // "rgb(184, 134, 11)"
const rgbObject = converter.hex('#B8860B').to('RGB', false);
console.log(rgbObject); // { r: 184, g: 134, b: 11 }

// Convert RGB to HEX
const hex = converter.rgb('rgb(184, 134, 11)').to('HEX');
console.log(hex); // "#B8860B"

// Convert RGB to HSL
const hsl = converter.rgb('rgb(184, 134, 11)').to('HSL');
console.log(hsl); // "hsl(42.7, 88.7%, 38.2%)"
const hslObject = converter.rgb('rgb(184, 134, 11)').to('HSL', false);
console.log(hslObject); //  { h: 42.7, s: 88.7, l: 38.2 }

API

Methods

  • hex (color: string): TsColorConverter

    • Set the current color in HEX format.
  • rgb (color: string | RGB): TsColorConverter

    • Set the current color in RGB format.
  • rgba (color: string | RGBA): TsColorConverter

    • Set the current color in RGBA format.
  • hsl (color: string | HSL): TsColorConverter

    • Set the current color in HSL format.
  • hsla (color: string | HSLA): TsColorConverter

    • Set the current color in HSLA format.
  • hsb (color: string | HSB): TsColorConverter

    • Set the current color in HSB format.
  • hsba (color: string | HSBA): TsColorConverter

    • Set the current color in HSBA format.
  • to (type: ColorType, returnAsString = true): string | object

    • Convert the current color to the specified format.

Types

  • ColorType

    • 'HEX' | 'RGB' | 'RGBA' | 'HSB' | 'HSBA' | 'HSL' | 'HSLA'
  • RGB

    • { r: number; g: number; b: number; }
  • RGBA

    • { r: number; g: number; b: number; a: number; }
  • HSB

    • { h: number; s: number; b: number; }
  • HSBA

    • { h: number; s: number; b: number; a: number; }
  • HSL

    • { h: number; s: number; l: number; }
  • HSLA

    • { h: number; s: number; l: number; a: number; }

Todo

  • Implement support for LCH colors

Running Tests

To run the tests for the library, use the following command:

npm test

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any bugs or features.

License

This project is licensed under the MIT License.

ts-color-converter's People

Contributors

meditto avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.