{"version":3,"file":"ngx-color-block.mjs","sources":["../../src/lib/block/block-swatches.component.ts","../../src/lib/block/block.component.ts","../../src/lib/block/ngx-color-block.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\n@Component({\n  selector: 'color-block-swatches',\n  template: `\n    <div class=\"block-swatches\">\n      @for (c of colors; track c) {\n        <color-swatch\n          [color]=\"c\"\n          [style]=\"swatchStyle\"\n          [focusStyle]=\"focusStyle(c)\"\n          (onClick)=\"handleClick($event)\"\n          (onHover)=\"onSwatchHover.emit($event)\"\n        ></color-swatch>\n      }\n      <div class=\"clear\"></div>\n    </div>\n  `,\n  styles: [\n    `\n      .block-swatches {\n        margin-right: -10px;\n      }\n      .clear {\n        clear: both;\n      }\n    `,\n  ],\n  standalone: false,\n})\nexport class BlockSwatchesComponent {\n  @Input() colors!: string[];\n  @Output() onClick = new EventEmitter<any>();\n  @Output() onSwatchHover = new EventEmitter<any>();\n\n  swatchStyle = {\n    width: '22px',\n    height: '22px',\n    float: 'left',\n    marginRight: '10px',\n    marginBottom: '10px',\n    borderRadius: '4px',\n  };\n\n  handleClick({ hex, $event }) {\n    this.onClick.emit({ hex, $event });\n  }\n  focusStyle(c) {\n    return {\n      boxShadow: `${c} 0 0 4px`,\n    };\n  }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, forwardRef, Input, NgModule } from '@angular/core';\n\nimport {\n  CheckboardModule,\n  ColorWrap,\n  EditableInputModule,\n  getContrastingColor,\n  isValidHex,\n  SwatchModule,\n} from 'ngx-color';\nimport { BlockSwatchesComponent } from './block-swatches.component';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n  selector: 'color-block',\n  template: `\n    <div class=\"block-card block-picker {{ className }}\">\n      @if (triangle !== 'hide') {\n        <div\n          class=\"block-triangle\"\n          [style.border-color]=\"'transparent transparent ' + this.hex + ' transparent'\"\n        ></div>\n      }\n\n      <div class=\"block-head\" [style.background]=\"hex\">\n        @if (hex === 'transparent') {\n          <color-checkboard borderRadius=\"6px 6px 0 0\"></color-checkboard>\n        }\n        <div class=\"block-label\" [style.color]=\"getContrastingColor(hex)\">\n          {{ hex }}\n        </div>\n      </div>\n\n      <div class=\"block-body\">\n        <color-block-swatches\n          [colors]=\"colors\"\n          (onClick)=\"handleBlockChange($event)\"\n          (onSwatchHover)=\"onSwatchHover.emit($event)\"\n        ></color-block-swatches>\n        <color-editable-input\n          [value]=\"hex\"\n          (onChange)=\"handleValueChange($event)\"\n          [style]=\"{ input: input, wrap: wrap }\"\n        ></color-editable-input>\n      </div>\n    </div>\n  `,\n  styles: [\n    `\n      .block-card {\n        background: #fff;\n        border-radius: 6px;\n        box-shadow: 0 1px rgba(0, 0, 0, 0.1);\n        position: relative;\n      }\n      .block-head {\n        align-items: center;\n        border-radius: 6px 6px 0 0;\n        display: flex;\n        height: 110px;\n        justify-content: center;\n        position: relative;\n      }\n      .block-body {\n        padding: 10px;\n      }\n      .block-label {\n        font-size: 18px;\n        position: relative;\n      }\n      .block-triangle {\n        border-style: solid;\n        border-width: 0 10px 10px 10px;\n        height: 0;\n        left: 50%;\n        margin-left: -10px;\n        position: absolute;\n        top: -10px;\n        width: 0;\n      }\n    `,\n  ],\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => BlockComponent),\n      multi: true,\n    },\n    {\n      provide: ColorWrap,\n      useExisting: forwardRef(() => BlockComponent),\n    },\n  ],\n  standalone: false,\n})\nexport class BlockComponent extends ColorWrap {\n  /** Pixel value for picker width */\n  @Input() width: string | number = 170;\n  /** Color squares to display */\n  @Input() colors = [\n    '#D9E3F0',\n    '#F47373',\n    '#697689',\n    '#37D67A',\n    '#2CCCE4',\n    '#555555',\n    '#dce775',\n    '#ff8a65',\n    '#ba68c8',\n  ];\n  @Input() triangle: 'top' | 'hide' = 'top';\n  input: { [key: string]: string } = {\n    width: '100%',\n    fontSize: '12px',\n    color: '#666',\n    border: '0px',\n    outline: 'none',\n    height: '22px',\n    boxShadow: 'inset 0 0 0 1px #ddd',\n    borderRadius: '4px',\n    padding: '0 7px',\n    boxSizing: 'border-box',\n  };\n  wrap: { [key: string]: string } = {\n    position: 'relative',\n    width: '100%',\n  };\n  disableAlpha = true;\n\n  constructor() {\n    super();\n  }\n\n  handleValueChange({ data, $event }) {\n    this.handleBlockChange({ hex: data, $event });\n  }\n  getContrastingColor(hex) {\n    return getContrastingColor(hex);\n  }\n  handleBlockChange({ hex, $event }) {\n    if (isValidHex(hex)) {\n      // this.hex = hex;\n      this.handleChange(\n        {\n          hex,\n          source: 'hex',\n        },\n        $event,\n      );\n    }\n  }\n}\n\n@NgModule({\n  declarations: [BlockComponent, BlockSwatchesComponent],\n  exports: [BlockComponent, BlockSwatchesComponent],\n  imports: [CommonModule, CheckboardModule, SwatchModule, EditableInputModule],\n})\nexport class ColorBlockModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}