UNPKG

ngx-color

Version:

A Collection of Color Pickers from Sketch, Photoshop, Chrome & more

1 lines 21.7 kB
{"version":3,"file":"ngx-color-chrome.mjs","sources":["../../src/lib/chrome/chrome-fields.component.ts","../../src/lib/chrome/chrome.component.ts","../../src/lib/chrome/ngx-color-chrome.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { isValidHex, HSLA, RGBA } from 'ngx-color';\nimport { TinyColor } from '@ctrl/tinycolor';\n\n@Component({\n selector: 'color-chrome-fields',\n template: `\n <div class=\"chrome-wrap\">\n <div class=\"chrome-fields\">\n @if (view === 'hex') {\n <div class=\"chrome-field\">\n <color-editable-input\n [style]=\"{ input: input, label: label }\"\n label=\"hex\"\n [value]=\"hex\"\n (onChange)=\"handleChange($event)\"\n ></color-editable-input>\n </div>\n }\n @if (view === 'rgb') {\n <div class=\"chrome-field\">\n <color-editable-input\n [style]=\"{ input: input, label: label }\"\n label=\"r\"\n [value]=\"rgb.r\"\n (onChange)=\"handleChange($event)\"\n ></color-editable-input>\n </div>\n <div class=\"chrome-field\">\n <color-editable-input\n [style]=\"{ input: input, label: label }\"\n label=\"g\"\n [value]=\"rgb.g\"\n (onChange)=\"handleChange($event)\"\n ></color-editable-input>\n </div>\n <div class=\"chrome-field\">\n <color-editable-input\n [style]=\"{ input: input, label: label }\"\n label=\"b\"\n [value]=\"rgb.b\"\n (onChange)=\"handleChange($event)\"\n ></color-editable-input>\n </div>\n <div class=\"chrome-field\">\n @if (!disableAlpha) {\n <color-editable-input\n [style]=\"{ input: input, label: label }\"\n label=\"a\"\n [value]=\"rgb.a\"\n [arrowOffset]=\"0.01\"\n (onChange)=\"handleChange($event)\"\n ></color-editable-input>\n }\n </div>\n }\n @if (view === 'hsl') {\n <div class=\"chrome-field\">\n <color-editable-input\n [style]=\"{ input: input, label: label }\"\n label=\"h\"\n [value]=\"round(hsl.h)\"\n (onChange)=\"handleChange($event)\"\n ></color-editable-input>\n </div>\n <div class=\"chrome-field\">\n <color-editable-input\n [style]=\"{ input: input, label: label }\"\n label=\"s\"\n [value]=\"round(hsl.s * 100) + '%'\"\n (onChange)=\"handleChange($event)\"\n ></color-editable-input>\n </div>\n <div class=\"chrome-field\">\n <color-editable-input\n [style]=\"{ input: input, label: label }\"\n label=\"l\"\n [value]=\"round(hsl.l * 100) + '%'\"\n (onChange)=\"handleChange($event)\"\n ></color-editable-input>\n </div>\n <div class=\"chrome-field\">\n @if (!disableAlpha) {\n <color-editable-input\n [style]=\"{ input: input, label: label }\"\n label=\"a\"\n [value]=\"hsl.a\"\n [arrowOffset]=\"0.01\"\n (onChange)=\"handleChange($event)\"\n ></color-editable-input>\n }\n </div>\n }\n </div>\n\n <div class=\"chrome-toggle\">\n <div class=\"chrome-icon\" (click)=\"toggleViews()\" #icon>\n <svg class=\"chrome-toggle-svg\" viewBox=\"0 0 24 24\">\n <path\n #iconUp\n fill=\"#333\"\n d=\"M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z\"\n />\n <path\n #iconDown\n fill=\"#333\"\n d=\"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15Z\"\n />\n </svg>\n </div>\n </div>\n </div>\n `,\n styles: [\n `\n .chrome-wrap {\n padding-top: 16px;\n display: flex;\n }\n .chrome-fields {\n flex: 1;\n display: flex;\n margin-left: -6px;\n }\n .chrome-field {\n padding-left: 6px;\n width: 100%;\n }\n .chrome-toggle {\n width: 32px;\n text-align: right;\n position: relative;\n }\n .chrome-icon {\n margin-right: -4px;\n margin-top: 12px;\n cursor: pointer;\n position: relative;\n }\n .chrome-toggle-svg {\n width: 24px;\n height: 24px;\n border: 1px transparent solid;\n border-radius: 5px;\n }\n .chrome-toggle-svg:hover {\n background: #eee;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n standalone: false,\n})\nexport class ChromeFieldsComponent implements OnInit {\n @Input() disableAlpha!: boolean;\n @Input() hsl!: HSLA;\n @Input() rgb!: RGBA;\n @Input() hex!: string;\n @Output() onChange = new EventEmitter<any>();\n view = '';\n input: Record<string, string> = {\n fontSize: '11px',\n color: '#333',\n width: '100%',\n borderRadius: '2px',\n border: 'none',\n boxShadow: 'inset 0 0 0 1px #dadada',\n height: '21px',\n 'text-align': 'center',\n };\n label: Record<string, string> = {\n 'text-transform': 'uppercase',\n fontSize: '11px',\n 'line-height': '11px',\n color: '#969696',\n 'text-align': 'center',\n display: 'block',\n marginTop: '12px',\n };\n\n ngOnInit() {\n if (this.hsl.a === 1 && this.view !== 'hex') {\n this.view = 'hex';\n } else if (this.view !== 'rgb' && this.view !== 'hsl') {\n this.view = 'rgb';\n }\n }\n toggleViews() {\n if (this.view === 'hex') {\n this.view = 'rgb';\n } else if (this.view === 'rgb') {\n this.view = 'hsl';\n } else if (this.view === 'hsl') {\n if (this.hsl.a === 1) {\n this.view = 'hex';\n } else {\n this.view = 'rgb';\n }\n }\n }\n round(value) {\n return Math.round(value);\n }\n handleChange({ data, $event }) {\n if (data.hex) {\n if (isValidHex(data.hex)) {\n const color = new TinyColor(data.hex);\n this.onChange.emit({\n data: {\n hex: this.disableAlpha ? color.toHex() : color.toHex8(),\n source: 'hex',\n },\n $event,\n });\n }\n } else if (data.r || data.g || data.b) {\n this.onChange.emit({\n data: {\n r: data.r || this.rgb.r,\n g: data.g || this.rgb.g,\n b: data.b || this.rgb.b,\n source: 'rgb',\n },\n $event,\n });\n } else if (data.a) {\n if (data.a < 0) {\n data.a = 0;\n } else if (data.a > 1) {\n data.a = 1;\n }\n\n if (this.disableAlpha) {\n data.a = 1;\n }\n\n this.onChange.emit({\n data: {\n h: this.hsl.h,\n s: this.hsl.s,\n l: this.hsl.l,\n a: Math.round(data.a * 100) / 100,\n source: 'rgb',\n },\n $event,\n });\n } else if (data.h || data.s || data.l) {\n const s = data.s && data.s.replace('%', '');\n const l = data.l && data.l.replace('%', '');\n this.onChange.emit({\n data: {\n h: data.h || this.hsl.h,\n s: Number(s || this.hsl.s),\n l: Number(l || this.hsl.l),\n source: 'hsl',\n },\n $event,\n });\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, forwardRef, Input, NgModule } from '@angular/core';\n\nimport {\n AlphaModule,\n CheckboardModule,\n ColorWrap,\n EditableInputModule,\n HueModule,\n SaturationModule,\n} from 'ngx-color';\nimport { ChromeFieldsComponent } from './chrome-fields.component';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'color-chrome',\n template: `\n <div class=\"chrome-picker {{ className }}\">\n <div class=\"saturation\">\n <color-saturation\n [hsl]=\"hsl\"\n [hsv]=\"hsv\"\n [circle]=\"circle\"\n (onChange)=\"handleValueChange($event)\"\n ></color-saturation>\n </div>\n <div class=\"chrome-body\">\n <div class=\"chrome-controls\">\n <div class=\"chrome-color\">\n <div class=\"chrome-swatch\">\n <div class=\"chrome-active\" [style.background]=\"activeBackground\"></div>\n <color-checkboard></color-checkboard>\n </div>\n </div>\n <div class=\"chrome-toggles\">\n <div class=\"chrome-hue\">\n <color-hue\n [radius]=\"2\"\n [hsl]=\"hsl\"\n [pointer]=\"pointer\"\n (onChange)=\"handleValueChange($event)\"\n ></color-hue>\n </div>\n @if (!disableAlpha) {\n <div class=\"chrome-alpha\">\n <color-alpha\n [radius]=\"2\"\n [rgb]=\"rgb\"\n [hsl]=\"hsl\"\n [pointer]=\"pointer\"\n (onChange)=\"handleValueChange($event)\"\n ></color-alpha>\n </div>\n }\n </div>\n </div>\n <color-chrome-fields\n [rgb]=\"rgb\"\n [hsl]=\"hsl\"\n [hex]=\"hex\"\n [disableAlpha]=\"disableAlpha\"\n (onChange)=\"handleValueChange($event)\"\n ></color-chrome-fields>\n </div>\n </div>\n `,\n styles: [\n `\n .chrome-picker {\n background: #fff;\n border-radius: 2px;\n box-shadow:\n 0 0 2px rgba(0, 0, 0, 0.3),\n 0 4px 8px rgba(0, 0, 0, 0.3);\n box-sizing: initial;\n width: 225px;\n font-family: 'Menlo';\n }\n .chrome-controls {\n display: flex;\n }\n .chrome-color {\n width: 42px;\n }\n .chrome-body {\n padding: 14px 14px 12px;\n }\n .chrome-active {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: 20px;\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);\n z-index: 2;\n }\n .chrome-swatch {\n width: 28px;\n height: 28px;\n border-radius: 15px;\n position: relative;\n overflow: hidden;\n }\n .saturation {\n width: 100%;\n padding-bottom: 55%;\n position: relative;\n border-radius: 2px 2px 0 0;\n overflow: hidden;\n }\n .chrome-toggles {\n flex: 1;\n }\n .chrome-hue {\n height: 10px;\n position: relative;\n margin-bottom: 8px;\n }\n .chrome-alpha {\n height: 10px;\n position: relative;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ChromeComponent),\n multi: true,\n },\n {\n provide: ColorWrap,\n useExisting: forwardRef(() => ChromeComponent),\n },\n ],\n standalone: false,\n})\nexport class ChromeComponent extends ColorWrap {\n /** Remove alpha slider and options from picker */\n @Input() disableAlpha = false;\n circle: Record<string, string> = {\n width: '12px',\n height: '12px',\n borderRadius: '6px',\n boxShadow: 'rgb(255, 255, 255) 0px 0px 0px 1px inset',\n transform: 'translate(-6px, -8px)',\n };\n pointer: Record<string, string> = {\n width: '12px',\n height: '12px',\n borderRadius: '6px',\n transform: 'translate(-6px, -2px)',\n backgroundColor: 'rgb(248, 248, 248)',\n boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)',\n };\n activeBackground!: string;\n\n constructor() {\n super();\n }\n\n afterValidChange() {\n const alpha = this.disableAlpha ? 1 : this.rgb.a;\n this.activeBackground = `rgba(${this.rgb.r}, ${this.rgb.g}, ${this.rgb.b}, ${alpha})`;\n }\n handleValueChange({ data, $event }) {\n this.handleChange(data, $event);\n }\n}\n\n@NgModule({\n declarations: [ChromeComponent, ChromeFieldsComponent],\n exports: [ChromeComponent, ChromeFieldsComponent],\n imports: [\n CommonModule,\n AlphaModule,\n CheckboardModule,\n EditableInputModule,\n HueModule,\n SaturationModule,\n ],\n})\nexport class ColorChromeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}