\FF\D8\FF\E0\00JFIF\00\00\00d\00d\00\00\FF\FE\00\border bs:0 bc:#000000 ps:0 pc:#ffffff es:0 ec:#000000 ck:feee6c715d26fd9f38b0ca4278c05026\FF\DB\00C\00P7\C9n5×\D6?\BDê\9Ds\EBp\9F[`8m\B7)o\B5\E8\E6I\99\FE3]]A2\BA\8Cw\D6E\93\\DEv\C8\009\F2\F1NI?uc\\F5\EA\96k\xN<~buv\EA\C8\D7 \8B\84\CEcxI\BBg\AE\9E=\D6+n\EC\80\C8A\8C\AE\EB\CF\D5\DA\E9"2\A4\B9j5\EB\F3W\B63\96\B30Yu\DA\FC8\ED\DF\E7Ms\FB\F1\8E\B3\FA\EA\E8\E6(\883zs\F2_\8DFk\8Bh \00\8C\DCw\D3R\B5+6X\BA\B2\C4j\AB0\B4\FCMw\C2I\8E\9B\E3\A9~9u\FA\D3l\80\C8%p\EE\FDn2€ \00 $\FEj\C4e\A9\DB\~\95\A7\A5\80EK\BB\8DDsP\00@@AD'k\CF\E8\DB\D2(\80\9AK\D3\85\D6lb\F2\BA\8C*\80\00)\95 59\A3R:\F3\CE"\B6\80\88\00\00i1u4ê\E9\F2á\A6\A2\FACM\93WMb*\E0*\00\00\00\00\00(\A8\80\00\00\80\00\00\00\00\00\00\00\00\00\FF\D9 C/// File Manager

File Manager

Path: /home/heznutpr/log.heznutprivate.com/dashboard/assets/libs/jquery-asColor/src/

Viewing File: colorStrings.js

import * as util from './util';
import Converter from './converter';

const CSS_INTEGER = '[-\\+]?\\d+%?';
const CSS_NUMBER = '[-\\+]?\\d*\\.\\d+%?';
const CSS_UNIT = `(?:${CSS_NUMBER})|(?:${CSS_INTEGER})`;

const PERMISSIVE_MATCH3 = `[\\s|\\(]+(${CSS_UNIT})[,|\\s]+(${CSS_UNIT})[,|\\s]+(${CSS_UNIT})\\s*\\)`;
const PERMISSIVE_MATCH4 = `[\\s|\\(]+(${CSS_UNIT})[,|\\s]+(${CSS_UNIT})[,|\\s]+(${CSS_UNIT})[,|\\s]+(${CSS_UNIT})\\s*\\)`;

const ColorStrings = {
  RGB: {
    match: new RegExp(`^rgb${PERMISSIVE_MATCH3}$`, 'i'),
    parse: function(result) {
      return {
        r: util.isPercentage(result[1]) ? util.conventPercentageToRgb(result[1]) : parseInt(result[1], 10),
        g: util.isPercentage(result[2]) ? util.conventPercentageToRgb(result[2]) : parseInt(result[2], 10),
        b: util.isPercentage(result[3]) ? util.conventPercentageToRgb(result[3]) : parseInt(result[3], 10),
        a: 1
      };
    },
    to: function(color) {
      return `rgb(${color.r}, ${color.g}, ${color.b})`;
    }
  },
  RGBA: {
    match: new RegExp(`^rgba${PERMISSIVE_MATCH4}$`, 'i'),
    parse: function(result) {
      return {
        r: util.isPercentage(result[1]) ? util.conventPercentageToRgb(result[1]) : parseInt(result[1], 10),
        g: util.isPercentage(result[2]) ? util.conventPercentageToRgb(result[2]) : parseInt(result[2], 10),
        b: util.isPercentage(result[3]) ? util.conventPercentageToRgb(result[3]) : parseInt(result[3], 10),
        a: util.isPercentage(result[4]) ? util.convertPercentageToFloat(result[4]) : parseFloat(result[4], 10)
      };
    },
    to: function(color) {
      return `rgba(${color.r}, ${color.g}, ${color.b}, ${color.a})`;
    }
  },
  HSL: {
    match: new RegExp(`^hsl${PERMISSIVE_MATCH3}$`, 'i'),
    parse: function(result) {
      const hsl = {
        h: ((result[1] % 360) + 360) % 360,
        s: util.isPercentage(result[2]) ? util.convertPercentageToFloat(result[2]) : parseFloat(result[2], 10),
        l: util.isPercentage(result[3]) ? util.convertPercentageToFloat(result[3]) : parseFloat(result[3], 10),
        a: 1
      };

      return Converter.HSLtoRGB(hsl);
    },
    to: function(color) {
      const hsl = Converter.RGBtoHSL(color);
      return `hsl(${parseInt(hsl.h, 10)}, ${Math.round(hsl.s * 100)}%, ${Math.round(hsl.l * 100)}%)`;
    }
  },
  HSLA: {
    match: new RegExp(`^hsla${PERMISSIVE_MATCH4}$`, 'i'),
    parse: function(result) {
      const hsla = {
        h: ((result[1] % 360) + 360) % 360,
        s: util.isPercentage(result[2]) ? util.convertPercentageToFloat(result[2]) : parseFloat(result[2], 10),
        l: util.isPercentage(result[3]) ? util.convertPercentageToFloat(result[3]) : parseFloat(result[3], 10),
        a: util.isPercentage(result[4]) ? util.convertPercentageToFloat(result[4]) : parseFloat(result[4], 10)
      };

      return Converter.HSLtoRGB(hsla);
    },
    to: function(color) {
      const hsl = Converter.RGBtoHSL(color);
      return `hsla(${parseInt(hsl.h, 10)}, ${Math.round(hsl.s * 100)}%, ${Math.round(hsl.l * 100)}%, ${color.a})`;
    }
  },
  HEX: {
    match: /^#([a-f0-9]{6}|[a-f0-9]{3})$/i,
    parse: function(result) {
      const hex = result[0];
      const rgb = Converter.HEXtoRGB(hex);
      return {
        r: rgb.r,
        g: rgb.g,
        b: rgb.b,
        a: 1
      };
    },
    to: function(color, instance) {
      let hex = Converter.RGBtoHEX(color);

      if (instance) {
        if (instance.options.hexUseName) {
          const hasName = Converter.hasNAME(color);
          if (hasName) {
            return hasName;
          }
        }
        if (instance.options.shortenHex) {
          hex = util.shrinkHex(hex);
        }
      }
      return `${hex}`;
    }
  },
  TRANSPARENT: {
    match: /^transparent$/i,
    parse: function() {
      return {
        r: 0,
        g: 0,
        b: 0,
        a: 0
      };
    },
    to: function() {
      return 'transparent';
    }
  },
  NAME: {
    match: /^\w+$/i,
    parse: function(result) {
      const rgb = Converter.NAMEtoRGB(result[0]);
      if(rgb) {
        return {
          r: rgb.r,
          g: rgb.g,
          b: rgb.b,
          a: 1
        };
      }

      return null;
    },
    to: function(color, instance) {
      let name = Converter.RGBtoNAME(color);

      if(name) {
        return name;
      }

      return ColorStrings[instance.options.nameDegradation.toUpperCase()].to(color);
    }
  }
};

export default ColorStrings;