ngx-kit 6.3.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/angle-selector/README.md +34 -34
- package/box-shadow/README.md +33 -33
- package/color-picker/README.md +52 -49
- package/data-table/README.md +120 -113
- package/date-picker/README.md +74 -69
- package/dialog/README.md +92 -92
- package/drag-resize/README.md +55 -0
- package/dropzone/README.md +422 -422
- package/fesm2022/ngx-kit-angle-selector.mjs +2 -2
- package/fesm2022/ngx-kit-angle-selector.mjs.map +1 -1
- package/fesm2022/ngx-kit-box-shadow.mjs +2 -2
- package/fesm2022/ngx-kit-box-shadow.mjs.map +1 -1
- package/fesm2022/ngx-kit-color-picker.mjs +265 -73
- package/fesm2022/ngx-kit-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-kit-data-table.mjs +2 -2
- package/fesm2022/ngx-kit-data-table.mjs.map +1 -1
- package/fesm2022/ngx-kit-date-picker.mjs +7 -9
- package/fesm2022/ngx-kit-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-kit-dialog.mjs +3 -3
- package/fesm2022/ngx-kit-dialog.mjs.map +1 -1
- package/fesm2022/ngx-kit-drag-resize.mjs +1664 -0
- package/fesm2022/ngx-kit-drag-resize.mjs.map +1 -0
- package/fesm2022/ngx-kit-drawer-menu.mjs +389 -285
- package/fesm2022/ngx-kit-drawer-menu.mjs.map +1 -1
- package/fesm2022/ngx-kit-dropzone.mjs +2 -2
- package/fesm2022/ngx-kit-dropzone.mjs.map +1 -1
- package/fesm2022/ngx-kit-form-field.mjs +3 -5
- package/fesm2022/ngx-kit-form-field.mjs.map +1 -1
- package/fesm2022/ngx-kit-gallery.mjs +2 -2
- package/fesm2022/ngx-kit-gallery.mjs.map +1 -1
- package/fesm2022/ngx-kit-gradient-picker.mjs.map +1 -1
- package/fesm2022/ngx-kit-grid-layout.mjs +927 -0
- package/fesm2022/ngx-kit-grid-layout.mjs.map +1 -0
- package/fesm2022/ngx-kit-image-editor.mjs.map +1 -1
- package/fesm2022/ngx-kit-menu.mjs +8 -8
- package/fesm2022/ngx-kit-menu.mjs.map +1 -1
- package/fesm2022/ngx-kit-message.mjs.map +1 -1
- package/fesm2022/ngx-kit-notify.mjs +2 -2
- package/fesm2022/ngx-kit-notify.mjs.map +1 -1
- package/fesm2022/ngx-kit-shared.mjs +54 -3
- package/fesm2022/ngx-kit-shared.mjs.map +1 -1
- package/fesm2022/ngx-kit-time-picker.mjs +2 -2
- package/fesm2022/ngx-kit-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-kit-virtual-scroll.mjs +392 -0
- package/fesm2022/ngx-kit-virtual-scroll.mjs.map +1 -0
- package/fesm2022/ngx-kit-webflow.mjs +709 -0
- package/fesm2022/ngx-kit-webflow.mjs.map +1 -0
- package/gallery/README.md +71 -71
- package/gradient-picker/README.md +41 -41
- package/grid-layout/README.md +64 -0
- package/image-editor/README.md +12 -12
- package/menu/README.md +85 -85
- package/message/README.md +70 -70
- package/notify/README.md +56 -58
- package/package.json +17 -1
- package/shared/README.md +117 -117
- package/time-picker/README.md +89 -95
- package/types/ngx-kit-color-picker.d.ts +72 -16
- package/types/ngx-kit-drag-resize.d.ts +368 -0
- package/types/ngx-kit-drawer-menu.d.ts +135 -86
- package/types/ngx-kit-grid-layout.d.ts +310 -0
- package/types/ngx-kit-image-editor.d.ts +1 -1
- package/types/ngx-kit-shared.d.ts +12 -1
- package/types/ngx-kit-virtual-scroll.d.ts +179 -0
- package/types/ngx-kit-webflow.d.ts +286 -0
- package/virtual-scroll/README.md +199 -0
|
@@ -995,11 +995,11 @@ class HslComponent {
|
|
|
995
995
|
}
|
|
996
996
|
}
|
|
997
997
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: HslComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
998
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: HslComponent, isStandalone: true, selector: "app-hsl", inputs: { color: "color", useAlphaChannel: "useAlphaChannel" }, outputs: { colorChange: "colorChange" }, ngImport: i0, template: "<slider\
|
|
998
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: HslComponent, isStandalone: true, selector: "app-hsl", inputs: { color: "color", useAlphaChannel: "useAlphaChannel" }, outputs: { colorChange: "colorChange" }, ngImport: i0, template: "<slider\n [(ngModel)]=\"hue\"\n name=\"hue\"\n [min]=\"0\"\n [max]=\"360\"\n [step]=\"1\"\n (change)=\"generateColor()\"\n background=\"linear-gradient(to right,red 0%,#ff0 17%,lime 33%,cyan 50%,blue 66%,#f0f 83%,red 100%)\">\n <div class=\"slider-title\">\n <span>Hue</span>\n <input type=\"number\" [(ngModel)]=\"hue\" name=\"inputHue\" min=\"0\" max=\"360\" step=\"1\" />\n </div>\n</slider>\n<slider\n [(ngModel)]=\"saturation\"\n name=\"saturation\"\n [min]=\"0\"\n [max]=\"100\"\n [step]=\"1\"\n (change)=\"generateColor()\"\n [background]=\"'linear-gradient(to right,#808080,' + baseColor + ')'\">\n <div class=\"slider-title\">\n <span>Saturation</span>\n <input\n type=\"number\"\n [(ngModel)]=\"saturation\"\n name=\"inputSaturation\"\n min=\"0\"\n max=\"100\"\n step=\"1\" />\n </div>\n</slider>\n<slider\n [(ngModel)]=\"luminance\"\n name=\"luminance\"\n [min]=\"0\"\n [max]=\"100\"\n [step]=\"1\"\n (change)=\"generateColor()\"\n [background]=\"'linear-gradient(to right,black,' + baseColor + ',white)'\">\n <div class=\"slider-title\">\n <span>Luminance</span>\n <input type=\"number\" [(ngModel)]=\"luminance\" name=\"inputLuminance\" min=\"0\" max=\"100\" step=\"1\" />\n </div>\n</slider>\n@if (useAlphaChannel) {\n <slider\n [(ngModel)]=\"alpha\"\n name=\"alpha\"\n [min]=\"0\"\n [max]=\"1\"\n [step]=\"0.1\"\n (change)=\"generateColor()\"\n [isBgTransparent]=\"true\"\n [background]=\"'linear-gradient(to right,transparent,' + baseColor + ')'\">\n <div class=\"slider-title\">\n <span>Alpha</span>\n <input type=\"number\" [(ngModel)]=\"alpha\" name=\"inputAlpha\" min=\"0\" max=\"1\" step=\"0.1\" />\n </div>\n </slider>\n}\n", styles: [".slider-title{display:flex;align-items:center;justify-content:space-between}.slider-title input{transition:box-shadow .1s;box-shadow:inset #d8d8da 0 0 0 1px,inset #fff 0 0 0 100px;border:none;width:48px;color:#000;font-family:Inter,sans-serif;padding:5px 6px;border-radius:5px;font-size:12px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number]:not([ngNoCva])[formControlName],input[type=number]:not([ngNoCva])[formControl],input[type=number]:not([ngNoCva])[ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SliderComponent, selector: "slider", inputs: ["step", "min", "max", "background", "isBgTransparent"], outputs: ["change"] }] });
|
|
999
999
|
}
|
|
1000
1000
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: HslComponent, decorators: [{
|
|
1001
1001
|
type: Component,
|
|
1002
|
-
args: [{ selector: 'app-hsl', imports: [FormsModule, SliderComponent], template: "<slider\
|
|
1002
|
+
args: [{ selector: 'app-hsl', imports: [FormsModule, SliderComponent], template: "<slider\n [(ngModel)]=\"hue\"\n name=\"hue\"\n [min]=\"0\"\n [max]=\"360\"\n [step]=\"1\"\n (change)=\"generateColor()\"\n background=\"linear-gradient(to right,red 0%,#ff0 17%,lime 33%,cyan 50%,blue 66%,#f0f 83%,red 100%)\">\n <div class=\"slider-title\">\n <span>Hue</span>\n <input type=\"number\" [(ngModel)]=\"hue\" name=\"inputHue\" min=\"0\" max=\"360\" step=\"1\" />\n </div>\n</slider>\n<slider\n [(ngModel)]=\"saturation\"\n name=\"saturation\"\n [min]=\"0\"\n [max]=\"100\"\n [step]=\"1\"\n (change)=\"generateColor()\"\n [background]=\"'linear-gradient(to right,#808080,' + baseColor + ')'\">\n <div class=\"slider-title\">\n <span>Saturation</span>\n <input\n type=\"number\"\n [(ngModel)]=\"saturation\"\n name=\"inputSaturation\"\n min=\"0\"\n max=\"100\"\n step=\"1\" />\n </div>\n</slider>\n<slider\n [(ngModel)]=\"luminance\"\n name=\"luminance\"\n [min]=\"0\"\n [max]=\"100\"\n [step]=\"1\"\n (change)=\"generateColor()\"\n [background]=\"'linear-gradient(to right,black,' + baseColor + ',white)'\">\n <div class=\"slider-title\">\n <span>Luminance</span>\n <input type=\"number\" [(ngModel)]=\"luminance\" name=\"inputLuminance\" min=\"0\" max=\"100\" step=\"1\" />\n </div>\n</slider>\n@if (useAlphaChannel) {\n <slider\n [(ngModel)]=\"alpha\"\n name=\"alpha\"\n [min]=\"0\"\n [max]=\"1\"\n [step]=\"0.1\"\n (change)=\"generateColor()\"\n [isBgTransparent]=\"true\"\n [background]=\"'linear-gradient(to right,transparent,' + baseColor + ')'\">\n <div class=\"slider-title\">\n <span>Alpha</span>\n <input type=\"number\" [(ngModel)]=\"alpha\" name=\"inputAlpha\" min=\"0\" max=\"1\" step=\"0.1\" />\n </div>\n </slider>\n}\n", styles: [".slider-title{display:flex;align-items:center;justify-content:space-between}.slider-title input{transition:box-shadow .1s;box-shadow:inset #d8d8da 0 0 0 1px,inset #fff 0 0 0 100px;border:none;width:48px;color:#000;font-family:Inter,sans-serif;padding:5px 6px;border-radius:5px;font-size:12px}\n"] }]
|
|
1003
1003
|
}], ctorParameters: () => [], propDecorators: { color: [{
|
|
1004
1004
|
type: Input
|
|
1005
1005
|
}], useAlphaChannel: [{
|
|
@@ -1222,7 +1222,7 @@ class NgxInputColorComponent {
|
|
|
1222
1222
|
multi: true,
|
|
1223
1223
|
useExisting: NgxInputColorComponent,
|
|
1224
1224
|
},
|
|
1225
|
-
], ngImport: i0, template: "<div\
|
|
1225
|
+
], ngImport: i0, template: "<div\n class=\"ngx-input-color-picker\"\n (click)=\"stopPropagation($event)\"\n [class.simple-mode]=\"simpleMode\">\n @if (!simpleMode) {\n <div\n class=\"ngx-color-preview\"\n [ngStyle]=\"{ '--ngx-selected-color': rgbaColor }\"\n [class.is-dark-color]=\"isDarkColor\">\n <div class=\"rgbacode\">{{ outputColor | uppercase }}</div>\n @if (outputType !== 'HEX') {\n <div class=\"hexacode\">{{ hexColor | uppercase }}</div>\n }\n <div class=\"colorname\">{{ name }}</div>\n <div class=\"color\"></div>\n </div>\n }\n <div class=\"ngx-c-inner\">\n <div class=\"top-actions\">\n <select [(ngModel)]=\"defaultInspector\" name=\"inspector\">\n @for (inspector of ColorInspector | enumToArray; track inspector) {\n <option [value]=\"inspector\">\n {{ ColorInspector[+inspector] }}\n </option>\n }\n </select>\n @if (isSupportedEyeDrop) {\n <button type=\"button\" (click)=\"openEyeDrop()\" class=\"ngx-btn-eyedroper\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <defs>\n <style>\n .fa-secondary {\n opacity: 0.4;\n }\n </style>\n </defs>\n <path\n class=\"fa-primary\"\n d=\"M482.8 29.23C521.7 68.21 521.7 131.4 482.8 170.4L381.2 271.9L390.6 281.4C403.1 293.9 403.1 314.1 390.6 326.6C378.1 339.1 357.9 339.1 345.4 326.6L185.4 166.6C172.9 154.1 172.9 133.9 185.4 121.4C197.9 108.9 218.1 108.9 230.6 121.4L240.1 130.8L341.6 29.23C380.6-9.744 443.8-9.744 482.8 29.23L482.8 29.23zM132.1 416H96V379.9C96 375.6 97.69 371.6 100.7 368.6L149.3 320H234.7L143.4 411.3C140.4 414.3 136.4 416 132.1 416H132.1z\" />\n <path\n class=\"fa-secondary\"\n d=\"M244 225.3L100.7 368.6C97.69 371.6 96 375.6 96 379.9V416H132.1C136.4 416 140.4 414.3 143.4 411.3L286.7 268L332 313.3L188.7 456.6C173.7 471.6 153.3 480 132.1 480H89.69L49.75 506.6C37.06 515.1 20.16 513.4 9.372 502.6C-1.414 491.8-3.087 474.9 5.374 462.2L32 422.3V379.9C32 358.7 40.43 338.3 55.43 323.3L198.7 180L244 225.3z\" />\n </svg>\n </button>\n }\n </div>\n\n @switch (+defaultInspector) {\n @case (ColorInspector.Picker) {\n <app-picker\n [color]=\"color\"\n (colorChange)=\"initColor($event)\"\n [simpleMode]=\"simpleMode\"\n [useAlphaChannel]=\"useAlphaChannel\"></app-picker>\n }\n @case (ColorInspector.HSL) {\n <app-hsl\n [color]=\"color\"\n (colorChange)=\"initColor($event)\"\n [useAlphaChannel]=\"useAlphaChannel\"></app-hsl>\n }\n @case (ColorInspector.RGB) {\n <app-rgb\n [color]=\"color\"\n (colorChange)=\"initColor($event)\"\n [useAlphaChannel]=\"useAlphaChannel\"></app-rgb>\n }\n @case (ColorInspector.CMYK) {\n <app-cmyk [color]=\"color\" (colorChange)=\"initColor($event)\"></app-cmyk>\n }\n }\n </div>\n</div>\n", styles: [":host{--ngx-color-bg: #fff;--ngx-color-text: #000}:host-context(.dark){--ngx-color-bg: #222;--ngx-color-text: #fff}.ngx-input-color-picker{width:270px;max-width:100%;border-radius:15px;overflow:hidden;direction:ltr;font-family:arial,tahoma;border:1px rgba(134,134,134,.3490196078) solid;box-shadow:0 0 20px #7a7a7a21}.ngx-input-color-picker .ngx-c-inner{padding:12px;background:var(--ngx-color-bg);color:var(--ngx-color-text);border-radius:15px;margin-top:-15px;position:relative}.ngx-input-color-picker *{box-sizing:border-box}.ngx-input-color-picker.simple-mode{width:220px;--ngx-thumb-size: 24px}.ngx-input-color-picker.simple-mode .ngx-c-inner{padding:12px;margin:0}.ngx-color-preview{min-height:100px;padding:10px 36px;line-height:1.6;font-size:14px;font-family:arial,tahoma;font-weight:700;position:relative;color:#353535;background-color:#fff}.ngx-color-preview.is-dark-color{color:#fff}.ngx-color-preview:after,.ngx-color-preview:before{content:\" \";position:absolute;inset:0}.ngx-color-preview:before{background-image:linear-gradient(45deg,#ccc 25%,transparent 25%),linear-gradient(-45deg,#ccc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ccc 75%),linear-gradient(-45deg,transparent 75%,#ccc 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0px}.ngx-color-preview:after{background:var(--ngx-selected-color)}.ngx-color-preview .rgbacode,.ngx-color-preview .colorname,.ngx-color-preview .color{text-shadow:0 0 1px #000000;position:relative;z-index:1}.button-groups{display:flex;border-radius:4px;overflow:hidden;border:1px #d3d3d3 solid}.button-groups button{cursor:pointer;background:#f9f9f9;outline:none;border:none;transition:all .3s;border-left:1px #d3d3d3 solid;padding:10px 12px;flex:auto}.button-groups button:hover{background:#8db6e4}.button-groups button:first-child{border-left-width:0}.ngx-btn-eyedroper{padding:2px;min-width:0;width:45px;cursor:pointer;background-color:transparent;outline:none;transition:all .3s;border:none;border-radius:6px}.ngx-btn-eyedroper svg{width:18px;fill:var(--ngx-color-text)}.top-actions{display:flex;justify-content:space-between;align-items:center;padding:0 0 12px}.top-actions select{outline:none;border:none;border-radius:4px;padding:5px 10px;background:none;color:var(--ngx-color-text)}.top-actions select:focus{cursor:pointer;background:#e5f0ff;color:#06f}.top-actions select option{padding:10px 20px;background:var(--ngx-color-bg);color:var(--ngx-color-text);transition:all .3s}.top-actions select option:hover{background:#f0f0f048}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple]):not([ngNoCva])[formControlName],select:not([multiple]):not([ngNoCva])[formControl],select:not([multiple]):not([ngNoCva])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PickerComponent, selector: "app-picker", inputs: ["simpleMode", "color", "useAlphaChannel"], outputs: ["colorChange"] }, { kind: "component", type: CmykComponent, selector: "app-cmyk", inputs: ["color"], outputs: ["colorChange"] }, { kind: "component", type: HslComponent, selector: "app-hsl", inputs: ["color", "useAlphaChannel"], outputs: ["colorChange"] }, { kind: "component", type: RgbComponent, selector: "app-rgb", inputs: ["color", "useAlphaChannel"], outputs: ["colorChange"] }, { kind: "pipe", type: i1$1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: EnumToArrayPipe, name: "enumToArray" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1226
1226
|
}
|
|
1227
1227
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NgxInputColorComponent, decorators: [{
|
|
1228
1228
|
type: Component,
|
|
@@ -1247,7 +1247,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
|
|
|
1247
1247
|
CmykComponent,
|
|
1248
1248
|
HslComponent,
|
|
1249
1249
|
RgbComponent,
|
|
1250
|
-
], template: "<div\
|
|
1250
|
+
], template: "<div\n class=\"ngx-input-color-picker\"\n (click)=\"stopPropagation($event)\"\n [class.simple-mode]=\"simpleMode\">\n @if (!simpleMode) {\n <div\n class=\"ngx-color-preview\"\n [ngStyle]=\"{ '--ngx-selected-color': rgbaColor }\"\n [class.is-dark-color]=\"isDarkColor\">\n <div class=\"rgbacode\">{{ outputColor | uppercase }}</div>\n @if (outputType !== 'HEX') {\n <div class=\"hexacode\">{{ hexColor | uppercase }}</div>\n }\n <div class=\"colorname\">{{ name }}</div>\n <div class=\"color\"></div>\n </div>\n }\n <div class=\"ngx-c-inner\">\n <div class=\"top-actions\">\n <select [(ngModel)]=\"defaultInspector\" name=\"inspector\">\n @for (inspector of ColorInspector | enumToArray; track inspector) {\n <option [value]=\"inspector\">\n {{ ColorInspector[+inspector] }}\n </option>\n }\n </select>\n @if (isSupportedEyeDrop) {\n <button type=\"button\" (click)=\"openEyeDrop()\" class=\"ngx-btn-eyedroper\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <defs>\n <style>\n .fa-secondary {\n opacity: 0.4;\n }\n </style>\n </defs>\n <path\n class=\"fa-primary\"\n d=\"M482.8 29.23C521.7 68.21 521.7 131.4 482.8 170.4L381.2 271.9L390.6 281.4C403.1 293.9 403.1 314.1 390.6 326.6C378.1 339.1 357.9 339.1 345.4 326.6L185.4 166.6C172.9 154.1 172.9 133.9 185.4 121.4C197.9 108.9 218.1 108.9 230.6 121.4L240.1 130.8L341.6 29.23C380.6-9.744 443.8-9.744 482.8 29.23L482.8 29.23zM132.1 416H96V379.9C96 375.6 97.69 371.6 100.7 368.6L149.3 320H234.7L143.4 411.3C140.4 414.3 136.4 416 132.1 416H132.1z\" />\n <path\n class=\"fa-secondary\"\n d=\"M244 225.3L100.7 368.6C97.69 371.6 96 375.6 96 379.9V416H132.1C136.4 416 140.4 414.3 143.4 411.3L286.7 268L332 313.3L188.7 456.6C173.7 471.6 153.3 480 132.1 480H89.69L49.75 506.6C37.06 515.1 20.16 513.4 9.372 502.6C-1.414 491.8-3.087 474.9 5.374 462.2L32 422.3V379.9C32 358.7 40.43 338.3 55.43 323.3L198.7 180L244 225.3z\" />\n </svg>\n </button>\n }\n </div>\n\n @switch (+defaultInspector) {\n @case (ColorInspector.Picker) {\n <app-picker\n [color]=\"color\"\n (colorChange)=\"initColor($event)\"\n [simpleMode]=\"simpleMode\"\n [useAlphaChannel]=\"useAlphaChannel\"></app-picker>\n }\n @case (ColorInspector.HSL) {\n <app-hsl\n [color]=\"color\"\n (colorChange)=\"initColor($event)\"\n [useAlphaChannel]=\"useAlphaChannel\"></app-hsl>\n }\n @case (ColorInspector.RGB) {\n <app-rgb\n [color]=\"color\"\n (colorChange)=\"initColor($event)\"\n [useAlphaChannel]=\"useAlphaChannel\"></app-rgb>\n }\n @case (ColorInspector.CMYK) {\n <app-cmyk [color]=\"color\" (colorChange)=\"initColor($event)\"></app-cmyk>\n }\n }\n </div>\n</div>\n", styles: [":host{--ngx-color-bg: #fff;--ngx-color-text: #000}:host-context(.dark){--ngx-color-bg: #222;--ngx-color-text: #fff}.ngx-input-color-picker{width:270px;max-width:100%;border-radius:15px;overflow:hidden;direction:ltr;font-family:arial,tahoma;border:1px rgba(134,134,134,.3490196078) solid;box-shadow:0 0 20px #7a7a7a21}.ngx-input-color-picker .ngx-c-inner{padding:12px;background:var(--ngx-color-bg);color:var(--ngx-color-text);border-radius:15px;margin-top:-15px;position:relative}.ngx-input-color-picker *{box-sizing:border-box}.ngx-input-color-picker.simple-mode{width:220px;--ngx-thumb-size: 24px}.ngx-input-color-picker.simple-mode .ngx-c-inner{padding:12px;margin:0}.ngx-color-preview{min-height:100px;padding:10px 36px;line-height:1.6;font-size:14px;font-family:arial,tahoma;font-weight:700;position:relative;color:#353535;background-color:#fff}.ngx-color-preview.is-dark-color{color:#fff}.ngx-color-preview:after,.ngx-color-preview:before{content:\" \";position:absolute;inset:0}.ngx-color-preview:before{background-image:linear-gradient(45deg,#ccc 25%,transparent 25%),linear-gradient(-45deg,#ccc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ccc 75%),linear-gradient(-45deg,transparent 75%,#ccc 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0px}.ngx-color-preview:after{background:var(--ngx-selected-color)}.ngx-color-preview .rgbacode,.ngx-color-preview .colorname,.ngx-color-preview .color{text-shadow:0 0 1px #000000;position:relative;z-index:1}.button-groups{display:flex;border-radius:4px;overflow:hidden;border:1px #d3d3d3 solid}.button-groups button{cursor:pointer;background:#f9f9f9;outline:none;border:none;transition:all .3s;border-left:1px #d3d3d3 solid;padding:10px 12px;flex:auto}.button-groups button:hover{background:#8db6e4}.button-groups button:first-child{border-left-width:0}.ngx-btn-eyedroper{padding:2px;min-width:0;width:45px;cursor:pointer;background-color:transparent;outline:none;transition:all .3s;border:none;border-radius:6px}.ngx-btn-eyedroper svg{width:18px;fill:var(--ngx-color-text)}.top-actions{display:flex;justify-content:space-between;align-items:center;padding:0 0 12px}.top-actions select{outline:none;border:none;border-radius:4px;padding:5px 10px;background:none;color:var(--ngx-color-text)}.top-actions select:focus{cursor:pointer;background:#e5f0ff;color:#06f}.top-actions select option{padding:10px 20px;background:var(--ngx-color-bg);color:var(--ngx-color-text);transition:all .3s}.top-actions select option:hover{background:#f0f0f048}\n"] }]
|
|
1251
1251
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { setTheme: [{
|
|
1252
1252
|
type: Input,
|
|
1253
1253
|
args: ['theme']
|
|
@@ -1275,42 +1275,69 @@ class NgxInputColor {
|
|
|
1275
1275
|
outputType = 'HEX';
|
|
1276
1276
|
theme = 'auto';
|
|
1277
1277
|
useAlphaChannel = true;
|
|
1278
|
-
set setUseAlphaChannel(
|
|
1279
|
-
this.useAlphaChannel =
|
|
1278
|
+
set setUseAlphaChannel(value) {
|
|
1279
|
+
this.useAlphaChannel = value === true;
|
|
1280
1280
|
if (!this.useAlphaChannel && this.color) {
|
|
1281
1281
|
this.color.removeAlphaChannel();
|
|
1282
|
-
this.color.getOutputResult(this.outputType).then((
|
|
1283
|
-
this.emitChange(c);
|
|
1284
|
-
});
|
|
1282
|
+
void this.color.getOutputResult(this.outputType).then((value) => this.emitChange(value));
|
|
1285
1283
|
}
|
|
1286
1284
|
}
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1285
|
+
/**
|
|
1286
|
+
* Input target.
|
|
1287
|
+
*
|
|
1288
|
+
* Supported:
|
|
1289
|
+
*
|
|
1290
|
+
* <input ngxInputColor>
|
|
1291
|
+
*
|
|
1292
|
+
* or
|
|
1293
|
+
*
|
|
1294
|
+
* <div [ngxInputColor]="inputElement"></div>
|
|
1295
|
+
*
|
|
1296
|
+
* or
|
|
1297
|
+
*
|
|
1298
|
+
* <div [ngxInputColor]="inputRef"></div>
|
|
1299
|
+
*/
|
|
1300
|
+
set ngxInputColor(element) {
|
|
1301
|
+
this.removeTargetInputListener();
|
|
1292
1302
|
this.isHostInput = false;
|
|
1293
|
-
|
|
1294
|
-
|
|
1303
|
+
this.explicitTargetInput = false;
|
|
1304
|
+
if (element instanceof ElementRef) {
|
|
1305
|
+
this._targetInput = element.nativeElement;
|
|
1306
|
+
this.explicitTargetInput = true;
|
|
1295
1307
|
}
|
|
1296
|
-
else if (
|
|
1297
|
-
this.
|
|
1298
|
-
this.
|
|
1308
|
+
else if (this.isInputElement(element)) {
|
|
1309
|
+
this._targetInput = element;
|
|
1310
|
+
this.explicitTargetInput = true;
|
|
1299
1311
|
}
|
|
1300
1312
|
else {
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1313
|
+
/**
|
|
1314
|
+
* Bare directive:
|
|
1315
|
+
*
|
|
1316
|
+
* <input ngxInputColor>
|
|
1317
|
+
*
|
|
1318
|
+
* In this case the host itself is the target.
|
|
1319
|
+
*/
|
|
1320
|
+
const host = this.el.nativeElement;
|
|
1321
|
+
if (host instanceof HTMLInputElement) {
|
|
1322
|
+
this._targetInput = host;
|
|
1323
|
+
this.isHostInput = true;
|
|
1324
|
+
}
|
|
1325
|
+
else {
|
|
1326
|
+
this._targetInput = undefined;
|
|
1327
|
+
}
|
|
1306
1328
|
}
|
|
1329
|
+
this.bindTargetInput();
|
|
1307
1330
|
}
|
|
1308
1331
|
change = new EventEmitter();
|
|
1309
1332
|
color;
|
|
1310
1333
|
pickerRef;
|
|
1334
|
+
_targetInput;
|
|
1335
|
+
explicitTargetInput = false;
|
|
1311
1336
|
isHostInput = false;
|
|
1312
|
-
|
|
1313
|
-
|
|
1337
|
+
removeInputListener;
|
|
1338
|
+
disabled = false;
|
|
1339
|
+
invalid = false;
|
|
1340
|
+
_onChange = () => { };
|
|
1314
1341
|
_onTouched = () => { };
|
|
1315
1342
|
_onValidateChange = () => { };
|
|
1316
1343
|
constructor(el, renderer, viewContainerRef, overlayService) {
|
|
@@ -1320,40 +1347,69 @@ class NgxInputColor {
|
|
|
1320
1347
|
this.overlayService = overlayService;
|
|
1321
1348
|
}
|
|
1322
1349
|
ngAfterViewInit() {
|
|
1323
|
-
|
|
1350
|
+
/**
|
|
1351
|
+
* The input binding may not have been processed in every
|
|
1352
|
+
* possible usage scenario. Make sure a host input is detected.
|
|
1353
|
+
*/
|
|
1354
|
+
if (!this._targetInput && this.isInputElement(this.el.nativeElement)) {
|
|
1355
|
+
this._targetInput = this.el.nativeElement;
|
|
1356
|
+
this.isHostInput = true;
|
|
1357
|
+
this.bindTargetInput();
|
|
1358
|
+
}
|
|
1359
|
+
if (this._targetInput) {
|
|
1324
1360
|
this.writeValue(this._targetInput.value);
|
|
1325
1361
|
}
|
|
1326
1362
|
}
|
|
1327
1363
|
ngOnDestroy() {
|
|
1364
|
+
this.removeTargetInputListener();
|
|
1328
1365
|
this.destroyColorPicker();
|
|
1329
1366
|
}
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1367
|
+
/**
|
|
1368
|
+
* Open the custom color picker.
|
|
1369
|
+
*/
|
|
1370
|
+
onHostClick(event) {
|
|
1371
|
+
if (this.disabled) {
|
|
1372
|
+
return;
|
|
1373
|
+
}
|
|
1374
|
+
event.preventDefault();
|
|
1375
|
+
event.stopPropagation();
|
|
1333
1376
|
this.toggleColorPicker();
|
|
1334
1377
|
}
|
|
1378
|
+
/**
|
|
1379
|
+
* Called by Angular Forms.
|
|
1380
|
+
*
|
|
1381
|
+
* IMPORTANT:
|
|
1382
|
+
* writeValue must NEVER call _onChange().
|
|
1383
|
+
*/
|
|
1335
1384
|
writeValue(value) {
|
|
1385
|
+
if (value === null || value === undefined || value === '') {
|
|
1386
|
+
this.color = undefined;
|
|
1387
|
+
this.invalid = false;
|
|
1388
|
+
this.syncView('');
|
|
1389
|
+
this.notifyValidatorChange();
|
|
1390
|
+
return;
|
|
1391
|
+
}
|
|
1336
1392
|
try {
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
if (this.isHostInput) {
|
|
1341
|
-
const input = this.el.nativeElement;
|
|
1342
|
-
input.value = colorStr;
|
|
1393
|
+
const color = value instanceof NgxColor ? value : new NgxColor(String(value));
|
|
1394
|
+
if (color.isValid === false) {
|
|
1395
|
+
throw new Error('Invalid color');
|
|
1343
1396
|
}
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
if (this.setInputBackgroundColor) {
|
|
1349
|
-
this.renderer.setStyle(this.el.nativeElement, 'backgroundColor', colorStr);
|
|
1350
|
-
}
|
|
1351
|
-
this.inValid = false;
|
|
1352
|
-
this._onValidateChange();
|
|
1397
|
+
this.color = color;
|
|
1398
|
+
this.invalid = false;
|
|
1399
|
+
const colorValue = this.getViewColor();
|
|
1400
|
+
this.syncView(colorValue);
|
|
1353
1401
|
}
|
|
1354
|
-
catch
|
|
1355
|
-
this.color =
|
|
1356
|
-
this.
|
|
1402
|
+
catch {
|
|
1403
|
+
this.color = undefined;
|
|
1404
|
+
this.invalid = true;
|
|
1405
|
+
/**
|
|
1406
|
+
* Do not replace an invalid value with black.
|
|
1407
|
+
*
|
|
1408
|
+
* Angular/form validation needs to know that the value
|
|
1409
|
+
* is invalid instead of silently turning it into #000.
|
|
1410
|
+
*/
|
|
1411
|
+
this.syncView('');
|
|
1412
|
+
this.notifyValidatorChange();
|
|
1357
1413
|
}
|
|
1358
1414
|
}
|
|
1359
1415
|
registerOnChange(fn) {
|
|
@@ -1363,23 +1419,91 @@ class NgxInputColor {
|
|
|
1363
1419
|
this._onTouched = fn;
|
|
1364
1420
|
}
|
|
1365
1421
|
setDisabledState(disabled) {
|
|
1366
|
-
|
|
1422
|
+
this.disabled = disabled;
|
|
1423
|
+
/**
|
|
1424
|
+
* Host element.
|
|
1425
|
+
*/
|
|
1426
|
+
if (this.isInputElement(this.el.nativeElement)) {
|
|
1367
1427
|
this.renderer.setProperty(this.el.nativeElement, 'disabled', disabled);
|
|
1368
1428
|
}
|
|
1369
|
-
|
|
1370
|
-
|
|
1429
|
+
/**
|
|
1430
|
+
* External target input.
|
|
1431
|
+
*/
|
|
1432
|
+
if (this._targetInput && this._targetInput !== this.el.nativeElement) {
|
|
1433
|
+
this.renderer.setProperty(this._targetInput, 'disabled', disabled);
|
|
1434
|
+
}
|
|
1435
|
+
if (disabled) {
|
|
1436
|
+
this.destroyColorPicker();
|
|
1371
1437
|
}
|
|
1372
1438
|
}
|
|
1373
1439
|
registerOnValidatorChange(fn) {
|
|
1374
1440
|
this._onValidateChange = fn;
|
|
1375
1441
|
}
|
|
1376
|
-
validate(
|
|
1377
|
-
if (
|
|
1378
|
-
return {
|
|
1442
|
+
validate(_control) {
|
|
1443
|
+
if (this.invalid) {
|
|
1444
|
+
return {
|
|
1445
|
+
invalid: true,
|
|
1446
|
+
};
|
|
1447
|
+
}
|
|
1448
|
+
if (this.color?.isValid === false) {
|
|
1449
|
+
return {
|
|
1450
|
+
invalid: true,
|
|
1451
|
+
};
|
|
1379
1452
|
}
|
|
1380
1453
|
return null;
|
|
1381
1454
|
}
|
|
1455
|
+
bindTargetInput() {
|
|
1456
|
+
if (!this._targetInput) {
|
|
1457
|
+
return;
|
|
1458
|
+
}
|
|
1459
|
+
this.removeInputListener?.();
|
|
1460
|
+
this.removeInputListener = this.renderer.listen(this._targetInput, 'input', (event) => {
|
|
1461
|
+
this.handleInputEvent(event);
|
|
1462
|
+
});
|
|
1463
|
+
}
|
|
1464
|
+
removeTargetInputListener() {
|
|
1465
|
+
this.removeInputListener?.();
|
|
1466
|
+
this.removeInputListener = undefined;
|
|
1467
|
+
}
|
|
1468
|
+
/**
|
|
1469
|
+
* Handles native input changes.
|
|
1470
|
+
*
|
|
1471
|
+
* This is deliberately NOT implemented using writeValue(),
|
|
1472
|
+
* because this is a user-originated value and therefore
|
|
1473
|
+
* must propagate through ControlValueAccessor.
|
|
1474
|
+
*/
|
|
1475
|
+
handleInputEvent(event) {
|
|
1476
|
+
const input = event.target;
|
|
1477
|
+
const value = input.value;
|
|
1478
|
+
try {
|
|
1479
|
+
const color = value ? new NgxColor(value) : undefined;
|
|
1480
|
+
if (color && color.isValid === false) {
|
|
1481
|
+
this.color = undefined;
|
|
1482
|
+
this.invalid = true;
|
|
1483
|
+
this.notifyValidatorChange();
|
|
1484
|
+
return;
|
|
1485
|
+
}
|
|
1486
|
+
this.color = color;
|
|
1487
|
+
this.invalid = false;
|
|
1488
|
+
this.syncHostBackground(value);
|
|
1489
|
+
/**
|
|
1490
|
+
* User change → Angular Forms.
|
|
1491
|
+
*/
|
|
1492
|
+
this._onChange(value);
|
|
1493
|
+
this.change.emit(value);
|
|
1494
|
+
this._onTouched();
|
|
1495
|
+
this.notifyValidatorChange();
|
|
1496
|
+
}
|
|
1497
|
+
catch {
|
|
1498
|
+
this.color = undefined;
|
|
1499
|
+
this.invalid = true;
|
|
1500
|
+
this.notifyValidatorChange();
|
|
1501
|
+
}
|
|
1502
|
+
}
|
|
1382
1503
|
toggleColorPicker() {
|
|
1504
|
+
if (this.disabled) {
|
|
1505
|
+
return;
|
|
1506
|
+
}
|
|
1383
1507
|
if (this.pickerRef) {
|
|
1384
1508
|
this.destroyColorPicker();
|
|
1385
1509
|
return;
|
|
@@ -1396,11 +1520,12 @@ class NgxInputColor {
|
|
|
1396
1520
|
instance.outputType = this.outputType;
|
|
1397
1521
|
instance.setTheme = this.theme;
|
|
1398
1522
|
instance.setUseAlphaChannel = this.useAlphaChannel;
|
|
1399
|
-
if (this.color?.isValid)
|
|
1523
|
+
if (this.color?.isValid) {
|
|
1400
1524
|
instance.writeValue(this.color);
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
this.
|
|
1525
|
+
}
|
|
1526
|
+
instance.change.subscribe((value) => {
|
|
1527
|
+
this.color = new NgxColor(value);
|
|
1528
|
+
void this.emitChange(value);
|
|
1404
1529
|
});
|
|
1405
1530
|
// instance.closed.subscribe(() => ref.close());
|
|
1406
1531
|
},
|
|
@@ -1413,27 +1538,94 @@ class NgxInputColor {
|
|
|
1413
1538
|
this.pickerRef?.close();
|
|
1414
1539
|
this.pickerRef = undefined;
|
|
1415
1540
|
}
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1541
|
+
/**
|
|
1542
|
+
* User-originated/custom-picker value.
|
|
1543
|
+
*
|
|
1544
|
+
* This is the ONLY place where _onChange is called.
|
|
1545
|
+
*/
|
|
1546
|
+
async emitChange(value) {
|
|
1547
|
+
try {
|
|
1548
|
+
const color = new NgxColor(value);
|
|
1549
|
+
if (color.isValid === false) {
|
|
1550
|
+
this.invalid = true;
|
|
1551
|
+
this.notifyValidatorChange();
|
|
1552
|
+
return;
|
|
1553
|
+
}
|
|
1554
|
+
this.color = color;
|
|
1555
|
+
this.invalid = false;
|
|
1556
|
+
const viewValue = this.getViewColor();
|
|
1557
|
+
this.syncView(viewValue);
|
|
1558
|
+
/**
|
|
1559
|
+
* Do NOT dispatch another input event here.
|
|
1560
|
+
*/
|
|
1561
|
+
this._onChange(viewValue);
|
|
1562
|
+
this.change.emit(viewValue);
|
|
1563
|
+
this._onTouched();
|
|
1564
|
+
this.notifyValidatorChange();
|
|
1419
1565
|
}
|
|
1420
|
-
|
|
1566
|
+
catch {
|
|
1567
|
+
this.invalid = true;
|
|
1568
|
+
this.notifyValidatorChange();
|
|
1569
|
+
}
|
|
1570
|
+
}
|
|
1571
|
+
/**
|
|
1572
|
+
* Synchronize all visual representations.
|
|
1573
|
+
*/
|
|
1574
|
+
syncView(value) {
|
|
1575
|
+
/**
|
|
1576
|
+
* Host input value.
|
|
1577
|
+
*/
|
|
1421
1578
|
if (this.isHostInput) {
|
|
1422
1579
|
const input = this.el.nativeElement;
|
|
1423
|
-
input.value =
|
|
1580
|
+
input.value = this.getNativeInputColor(value);
|
|
1424
1581
|
}
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
this._targetInput.
|
|
1582
|
+
/**
|
|
1583
|
+
* External target input.
|
|
1584
|
+
*/
|
|
1585
|
+
if (this._targetInput && this._targetInput !== this.el.nativeElement) {
|
|
1586
|
+
this._targetInput.value = this.getNativeInputColor(value);
|
|
1430
1587
|
}
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1588
|
+
/**
|
|
1589
|
+
* Background of host element.
|
|
1590
|
+
*/
|
|
1591
|
+
this.syncHostBackground(value);
|
|
1592
|
+
}
|
|
1593
|
+
/**
|
|
1594
|
+
* input[type=color] only accepts a 6-digit RGB hex value.
|
|
1595
|
+
*
|
|
1596
|
+
* Therefore even if the selected color contains alpha,
|
|
1597
|
+
* the native color input receives #RRGGBB.
|
|
1598
|
+
*/
|
|
1599
|
+
getNativeInputColor(value) {
|
|
1600
|
+
if (!value) {
|
|
1601
|
+
return '';
|
|
1602
|
+
}
|
|
1603
|
+
try {
|
|
1604
|
+
const color = new NgxColor(value);
|
|
1605
|
+
return color.toHexString();
|
|
1606
|
+
}
|
|
1607
|
+
catch {
|
|
1608
|
+
return '';
|
|
1609
|
+
}
|
|
1610
|
+
}
|
|
1611
|
+
getViewColor() {
|
|
1612
|
+
return this.color?.toHexString() ?? '';
|
|
1613
|
+
}
|
|
1614
|
+
syncHostBackground(value) {
|
|
1615
|
+
if (!this.setInputBackgroundColor) {
|
|
1616
|
+
return;
|
|
1617
|
+
}
|
|
1618
|
+
const element = this.el.nativeElement;
|
|
1619
|
+
this.renderer.setStyle(element, 'backgroundColor', value || null);
|
|
1620
|
+
}
|
|
1621
|
+
notifyValidatorChange() {
|
|
1622
|
+
this._onValidateChange();
|
|
1623
|
+
}
|
|
1624
|
+
isInputElement(value) {
|
|
1625
|
+
return value instanceof HTMLInputElement;
|
|
1434
1626
|
}
|
|
1435
1627
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: NgxInputColor, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i1$2.OverlayService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1436
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.4", type: NgxInputColor, isStandalone: true, selector: "[ngxInputColor]", inputs: { setInputBackgroundColor: "setInputBackgroundColor", defaultInspector: "defaultInspector", simpleMode: "simpleMode", outputType: "outputType", theme: "theme", setUseAlphaChannel: ["useAlphaChannel", "setUseAlphaChannel"], ngxInputColor: "ngxInputColor" }, outputs: { change: "change" }, host: { listeners: { "click": "
|
|
1628
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.4", type: NgxInputColor, isStandalone: true, selector: "[ngxInputColor]", inputs: { setInputBackgroundColor: "setInputBackgroundColor", defaultInspector: "defaultInspector", simpleMode: "simpleMode", outputType: "outputType", theme: "theme", setUseAlphaChannel: ["useAlphaChannel", "setUseAlphaChannel"], ngxInputColor: "ngxInputColor" }, outputs: { change: "change" }, host: { listeners: { "click": "onHostClick($event)" } }, providers: [
|
|
1437
1629
|
{
|
|
1438
1630
|
provide: NG_VALUE_ACCESSOR,
|
|
1439
1631
|
useExisting: forwardRef(() => NgxInputColor),
|
|
@@ -1481,7 +1673,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImpor
|
|
|
1481
1673
|
args: ['ngxInputColor']
|
|
1482
1674
|
}], change: [{
|
|
1483
1675
|
type: Output
|
|
1484
|
-
}],
|
|
1676
|
+
}], onHostClick: [{
|
|
1485
1677
|
type: HostListener,
|
|
1486
1678
|
args: ['click', ['$event']]
|
|
1487
1679
|
}] } });
|