@progress/kendo-angular-inputs 7.5.2 → 8.0.0-dev.202112161434

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.
Files changed (151) hide show
  1. package/dist/cdn/js/kendo-angular-inputs.js +2 -2
  2. package/dist/cdn/main.js +1 -1
  3. package/dist/es/colorpicker/color-contrast-svg.component.js +95 -0
  4. package/dist/es/colorpicker/color-gradient.component.js +109 -81
  5. package/dist/es/colorpicker/color-input.component.js +39 -18
  6. package/dist/es/colorpicker/color-palette.component.js +28 -18
  7. package/dist/es/colorpicker/colorpicker.component.js +170 -76
  8. package/dist/es/colorpicker/constants.js +12 -0
  9. package/dist/es/colorpicker/contrast-validation.component.js +8 -6
  10. package/dist/es/colorpicker/contrast.component.js +6 -8
  11. package/dist/es/colorpicker/{models → events}/active-color-click-event.js +0 -0
  12. package/dist/es/colorpicker/events/cancel-event.js +19 -0
  13. package/dist/es/colorpicker/events/close-event.js +17 -0
  14. package/dist/es/colorpicker/{models → events}/kendo-drag-event.js +0 -0
  15. package/dist/es/colorpicker/events/open-event.js +17 -0
  16. package/dist/es/colorpicker/events.js +8 -0
  17. package/dist/es/colorpicker/flatcolorpicker-actions.component.js +50 -0
  18. package/dist/es/colorpicker/flatcolorpicker-header.component.js +94 -0
  19. package/dist/es/colorpicker/flatcolorpicker.component.js +553 -0
  20. package/dist/es/colorpicker/localization/colorgradient-localization.service.js +7 -7
  21. package/dist/es/colorpicker/localization/colorpalette-localization.service.js +7 -7
  22. package/dist/es/colorpicker/localization/custom-messages.component.js +1 -1
  23. package/dist/es/colorpicker/localization/flatcolorpicker-localization.service.js +34 -0
  24. package/dist/es/colorpicker/localization/localized-colorpicker-messages.directive.js +1 -1
  25. package/dist/es/colorpicker/localization/messages.js +36 -0
  26. package/dist/es/colorpicker/models/{color-picker-view.js → actions-layout.js} +0 -0
  27. package/dist/{es2015/colorpicker/models/color-picker-view.js → es/colorpicker/models/colorpicker-view.js} +0 -0
  28. package/dist/es/colorpicker/{utils → models}/palette-presets.js +0 -0
  29. package/dist/es/colorpicker/models.js +1 -2
  30. package/dist/es/colorpicker/services/flatcolorpicker.service.js +41 -0
  31. package/dist/es/colorpicker/utils/color-parser.js +18 -5
  32. package/dist/es/colorpicker/utils/contrast-curve.js +91 -0
  33. package/dist/es/colorpicker/utils.js +1 -1
  34. package/dist/es/colorpicker.module.js +9 -1
  35. package/dist/es/index.js +5 -0
  36. package/dist/es/main.js +4 -1
  37. package/dist/es/package-metadata.js +1 -1
  38. package/dist/es2015/colorpicker/color-contrast-svg.component.d.ts +26 -0
  39. package/dist/es2015/colorpicker/color-contrast-svg.component.js +97 -0
  40. package/dist/es2015/colorpicker/color-gradient.component.d.ts +32 -43
  41. package/dist/es2015/colorpicker/color-gradient.component.js +125 -92
  42. package/dist/es2015/colorpicker/color-input.component.d.ts +11 -4
  43. package/dist/es2015/colorpicker/color-input.component.js +52 -32
  44. package/dist/es2015/colorpicker/color-palette.component.d.ts +8 -3
  45. package/dist/es2015/colorpicker/color-palette.component.js +28 -18
  46. package/dist/es2015/colorpicker/colorpicker.component.d.ts +84 -24
  47. package/dist/es2015/colorpicker/colorpicker.component.js +195 -112
  48. package/dist/es2015/colorpicker/constants.d.ts +12 -0
  49. package/dist/es2015/colorpicker/constants.js +12 -0
  50. package/dist/es2015/colorpicker/contrast-validation.component.d.ts +1 -1
  51. package/dist/es2015/colorpicker/contrast-validation.component.js +16 -12
  52. package/dist/es2015/colorpicker/contrast.component.d.ts +1 -3
  53. package/dist/es2015/colorpicker/contrast.component.js +17 -17
  54. package/dist/es2015/colorpicker/{models → events}/active-color-click-event.d.ts +0 -0
  55. package/dist/es2015/colorpicker/{models → events}/active-color-click-event.js +0 -0
  56. package/dist/es2015/colorpicker/events/cancel-event.d.ts +15 -0
  57. package/dist/es2015/colorpicker/events/cancel-event.js +14 -0
  58. package/dist/es2015/colorpicker/events/close-event.d.ts +10 -0
  59. package/dist/es2015/colorpicker/events/close-event.js +10 -0
  60. package/dist/es2015/colorpicker/{models → events}/kendo-drag-event.d.ts +0 -0
  61. package/dist/es2015/colorpicker/{models → events}/kendo-drag-event.js +0 -0
  62. package/dist/es2015/colorpicker/events/open-event.d.ts +10 -0
  63. package/dist/es2015/colorpicker/events/open-event.js +10 -0
  64. package/dist/es2015/colorpicker/events.d.ts +8 -0
  65. package/dist/es2015/colorpicker/events.js +8 -0
  66. package/dist/es2015/colorpicker/flatcolorpicker-actions.component.d.ts +18 -0
  67. package/dist/es2015/colorpicker/flatcolorpicker-actions.component.js +60 -0
  68. package/dist/es2015/colorpicker/flatcolorpicker-header.component.d.ts +30 -0
  69. package/dist/es2015/colorpicker/flatcolorpicker-header.component.js +131 -0
  70. package/dist/es2015/colorpicker/flatcolorpicker.component.d.ts +214 -0
  71. package/dist/es2015/colorpicker/flatcolorpicker.component.js +593 -0
  72. package/dist/es2015/colorpicker/localization/colorgradient-localization.service.d.ts +3 -3
  73. package/dist/es2015/colorpicker/localization/colorgradient-localization.service.js +7 -7
  74. package/dist/es2015/colorpicker/localization/colorpalette-localization.service.d.ts +3 -3
  75. package/dist/es2015/colorpicker/localization/colorpalette-localization.service.js +7 -7
  76. package/dist/es2015/colorpicker/localization/custom-messages.component.js +1 -1
  77. package/dist/es2015/colorpicker/localization/flatcolorpicker-localization.service.d.ts +14 -0
  78. package/dist/es2015/colorpicker/localization/flatcolorpicker-localization.service.js +31 -0
  79. package/dist/es2015/colorpicker/localization/localized-colorpicker-messages.directive.js +1 -1
  80. package/dist/es2015/colorpicker/localization/messages.d.ts +36 -0
  81. package/dist/es2015/colorpicker/localization/messages.js +36 -0
  82. package/dist/es2015/colorpicker/models/actions-layout.d.ts +8 -0
  83. package/dist/es2015/colorpicker/models/actions-layout.js +4 -0
  84. package/dist/es2015/colorpicker/models/colorpicker-view.d.ts +8 -0
  85. package/dist/es2015/colorpicker/models/colorpicker-view.js +4 -0
  86. package/dist/es2015/colorpicker/models/gradient-settings.d.ts +4 -3
  87. package/dist/es2015/colorpicker/models/output-format.d.ts +0 -5
  88. package/dist/es2015/colorpicker/{utils → models}/palette-presets.d.ts +0 -0
  89. package/dist/es2015/colorpicker/{utils → models}/palette-presets.js +0 -0
  90. package/dist/es2015/colorpicker/models/palette-settings.d.ts +2 -3
  91. package/dist/es2015/colorpicker/models/tile-size.d.ts +1 -5
  92. package/dist/es2015/colorpicker/models.d.ts +10 -10
  93. package/dist/es2015/colorpicker/models.js +1 -2
  94. package/dist/es2015/colorpicker/{models/color-picker-view.d.ts → services/flatcolorpicker.service.d.ts} +6 -7
  95. package/dist/es2015/colorpicker/services/flatcolorpicker.service.js +38 -0
  96. package/dist/es2015/colorpicker/utils/color-parser.d.ts +8 -2
  97. package/dist/es2015/colorpicker/utils/color-parser.js +15 -5
  98. package/dist/es2015/colorpicker/utils/contrast-curve.d.ts +37 -0
  99. package/dist/es2015/colorpicker/utils/contrast-curve.js +85 -0
  100. package/dist/es2015/colorpicker/utils.d.ts +1 -1
  101. package/dist/es2015/colorpicker/utils.js +1 -1
  102. package/dist/es2015/colorpicker.module.js +9 -1
  103. package/dist/es2015/index.d.ts +5 -0
  104. package/dist/es2015/index.js +5 -0
  105. package/dist/es2015/index.metadata.json +1 -1
  106. package/dist/es2015/main.d.ts +4 -1
  107. package/dist/es2015/main.js +4 -1
  108. package/dist/es2015/package-metadata.js +1 -1
  109. package/dist/fesm2015/index.js +2207 -1043
  110. package/dist/fesm5/index.js +2010 -907
  111. package/dist/npm/colorpicker/color-contrast-svg.component.js +97 -0
  112. package/dist/npm/colorpicker/color-gradient.component.js +109 -81
  113. package/dist/npm/colorpicker/color-input.component.js +38 -17
  114. package/dist/npm/colorpicker/color-palette.component.js +29 -19
  115. package/dist/npm/colorpicker/colorpicker.component.js +177 -83
  116. package/dist/npm/colorpicker/constants.js +12 -0
  117. package/dist/npm/colorpicker/contrast-validation.component.js +8 -6
  118. package/dist/npm/colorpicker/contrast.component.js +6 -8
  119. package/dist/npm/colorpicker/{models → events}/active-color-click-event.js +0 -0
  120. package/dist/npm/colorpicker/events/cancel-event.js +21 -0
  121. package/dist/npm/colorpicker/events/close-event.js +19 -0
  122. package/dist/npm/colorpicker/{models → events}/kendo-drag-event.js +0 -0
  123. package/dist/npm/colorpicker/events/open-event.js +19 -0
  124. package/dist/npm/colorpicker/events.js +11 -0
  125. package/dist/npm/colorpicker/flatcolorpicker-actions.component.js +52 -0
  126. package/dist/npm/colorpicker/flatcolorpicker-header.component.js +96 -0
  127. package/dist/npm/colorpicker/flatcolorpicker.component.js +555 -0
  128. package/dist/npm/colorpicker/localization/colorgradient-localization.service.js +7 -7
  129. package/dist/npm/colorpicker/localization/colorpalette-localization.service.js +7 -7
  130. package/dist/npm/colorpicker/localization/custom-messages.component.js +1 -1
  131. package/dist/npm/colorpicker/localization/flatcolorpicker-localization.service.js +36 -0
  132. package/dist/npm/colorpicker/localization/localized-colorpicker-messages.directive.js +1 -1
  133. package/dist/npm/colorpicker/localization/messages.js +36 -0
  134. package/dist/npm/colorpicker/models/{color-picker-view.js → actions-layout.js} +0 -0
  135. package/dist/npm/colorpicker/models/colorpicker-view.js +6 -0
  136. package/dist/npm/colorpicker/{utils → models}/palette-presets.js +0 -0
  137. package/dist/npm/colorpicker/models.js +1 -2
  138. package/dist/npm/colorpicker/services/flatcolorpicker.service.js +43 -0
  139. package/dist/npm/colorpicker/utils/color-parser.js +18 -5
  140. package/dist/npm/colorpicker/utils/contrast-curve.js +93 -0
  141. package/dist/npm/colorpicker/utils.js +1 -1
  142. package/dist/npm/colorpicker.module.js +9 -1
  143. package/dist/npm/index.js +10 -0
  144. package/dist/npm/main.js +7 -2
  145. package/dist/npm/package-metadata.js +1 -1
  146. package/dist/systemjs/kendo-angular-inputs.js +1 -1
  147. package/package.json +3 -2
  148. package/dist/es/colorpicker/models/preventable-event.js +0 -29
  149. package/dist/es2015/colorpicker/models/preventable-event.d.ts +0 -21
  150. package/dist/es2015/colorpicker/models/preventable-event.js +0 -27
  151. package/dist/npm/colorpicker/models/preventable-event.js +0 -31
@@ -9,16 +9,21 @@ var core_1 = require("@angular/core");
9
9
  var utils_1 = require("./utils");
10
10
  var utils_2 = require("../common/utils");
11
11
  var kendo_angular_common_1 = require("@progress/kendo-angular-common");
12
- var kendo_angular_l10n_1 = require("@progress/kendo-angular-l10n");
13
12
  var rxjs_1 = require("rxjs");
13
+ var kendo_angular_l10n_1 = require("@progress/kendo-angular-l10n");
14
+ var numerictextbox_component_1 = require("./../numerictextbox/numerictextbox.component");
14
15
  /**
15
16
  * @hidden
16
17
  */
17
18
  var ColorInputComponent = /** @class */ (function () {
18
- function ColorInputComponent(localization, host, renderer) {
19
- this.localization = localization;
19
+ function ColorInputComponent(host, renderer, localizationService) {
20
20
  this.host = host;
21
21
  this.renderer = renderer;
22
+ this.localizationService = localizationService;
23
+ /**
24
+ * The id of the hex input.
25
+ */
26
+ this.focusableId = "k-" + kendo_angular_common_1.guid();
22
27
  /**
23
28
  * Sets whether the alpha slider will be shown.
24
29
  */
@@ -77,11 +82,18 @@ var ColorInputComponent = /** @class */ (function () {
77
82
  };
78
83
  ColorInputComponent.prototype.ngOnChanges = function (changes) {
79
84
  if (utils_2.isPresent(changes.value) && !this.isFocused) {
80
- this.hex = utils_1.parseColor(this.value, 'hex');
85
+ this.hex = utils_1.parseColor(this.value, 'hex', this.opacity);
81
86
  this.rgba = utils_1.getRGBA(this.value);
82
- this.rgba.a = utils_1.parseColor(this.value, 'rgba') ? this.rgba.a : 1;
87
+ this.rgba.a = utils_1.parseColor(this.value, 'rgba', this.opacity) ? this.rgba.a : 1;
83
88
  }
84
89
  };
90
+ Object.defineProperty(ColorInputComponent.prototype, "formatButtonTitle", {
91
+ get: function () {
92
+ return this.localizationService.get('formatButton');
93
+ },
94
+ enumerable: true,
95
+ configurable: true
96
+ });
85
97
  ColorInputComponent.prototype.handleRgbaValueChange = function () {
86
98
  var color = utils_1.getColorFromRGBA(this.rgba);
87
99
  if (!this.rgbaInputValid || color === this.value) {
@@ -89,12 +101,12 @@ var ColorInputComponent = /** @class */ (function () {
89
101
  }
90
102
  this.value = color;
91
103
  this.rgba = utils_1.getRGBA(this.value);
92
- this.hex = utils_1.parseColor(color, 'hex');
104
+ this.hex = utils_1.parseColor(color, 'hex', this.opacity);
93
105
  this.valueChange.emit(color);
94
106
  };
95
107
  ColorInputComponent.prototype.handleHexValueChange = function (hex) {
96
108
  this.hex = hex;
97
- var color = utils_1.parseColor(hex, 'rgba');
109
+ var color = utils_1.parseColor(hex, 'rgba', this.opacity);
98
110
  if (!utils_2.isPresent(color) || color === this.value) {
99
111
  return;
100
112
  }
@@ -108,10 +120,7 @@ var ColorInputComponent = /** @class */ (function () {
108
120
  }
109
121
  };
110
122
  ColorInputComponent.prototype.handleHexInputBlur = function () {
111
- this.hex = utils_1.parseColor(this.value, 'hex');
112
- };
113
- ColorInputComponent.prototype.textFor = function (key) {
114
- return this.localization.get(key);
123
+ this.hex = utils_1.parseColor(this.value, 'hex', this.opacity);
115
124
  };
116
125
  ColorInputComponent.prototype.toggleFormatView = function () {
117
126
  this.formatView = this.formatView === 'hex' ? 'rgba' : 'hex';
@@ -123,6 +132,10 @@ var ColorInputComponent = /** @class */ (function () {
123
132
  }
124
133
  this.subscriptions.add(this.renderer.listen(this.toggleFormatButton.nativeElement, 'click', function () { return _this.toggleFormatView(); }));
125
134
  };
135
+ tslib_1.__decorate([
136
+ core_1.Input(),
137
+ tslib_1.__metadata("design:type", String)
138
+ ], ColorInputComponent.prototype, "focusableId", void 0);
126
139
  tslib_1.__decorate([
127
140
  core_1.Input(),
128
141
  tslib_1.__metadata("design:type", String)
@@ -153,9 +166,17 @@ var ColorInputComponent = /** @class */ (function () {
153
166
  tslib_1.__metadata("design:type", Boolean)
154
167
  ], ColorInputComponent.prototype, "colorInputClass", void 0);
155
168
  tslib_1.__decorate([
156
- core_1.ViewChild('opacityInput', { read: core_1.ElementRef, static: false }),
157
- tslib_1.__metadata("design:type", core_1.ElementRef)
169
+ core_1.ViewChild('opacityInput', { static: false }),
170
+ tslib_1.__metadata("design:type", numerictextbox_component_1.NumericTextBoxComponent)
158
171
  ], ColorInputComponent.prototype, "opacityInput", void 0);
172
+ tslib_1.__decorate([
173
+ core_1.ViewChild('hexInput', { read: core_1.ElementRef, static: false }),
174
+ tslib_1.__metadata("design:type", core_1.ElementRef)
175
+ ], ColorInputComponent.prototype, "hexInput", void 0);
176
+ tslib_1.__decorate([
177
+ core_1.ViewChild('blueInput', { read: core_1.ElementRef, static: false }),
178
+ tslib_1.__metadata("design:type", core_1.ElementRef)
179
+ ], ColorInputComponent.prototype, "blueInput", void 0);
159
180
  tslib_1.__decorate([
160
181
  core_1.ViewChild('toggleFormatButton', { static: false }),
161
182
  tslib_1.__metadata("design:type", core_1.ElementRef)
@@ -163,11 +184,11 @@ var ColorInputComponent = /** @class */ (function () {
163
184
  ColorInputComponent = tslib_1.__decorate([
164
185
  core_1.Component({
165
186
  selector: 'kendo-colorinput',
166
- template: "\n <div class=\"k-vstack\">\n <button class=\"k-colorgradient-toggle-mode k-button k-icon-button k-flat\" #toggleFormatButton>\n <span class=\"k-button-icon k-icon k-i-arrows-kpi\"></span>\n </button>\n </div>\n <input *ngIf=\"formatView === 'hex'\"\n #hexInput\n class=\"k-textbox k-hex-value\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [value]=\"hex || ''\"\n [placeholder]=\"textFor('hexInputPlaceholder')\"\n (blur)=\"handleHexInputBlur()\"\n (input)=\"handleHexValueChange(hexInput.value)\"\n />\n <ng-container *ngIf=\"formatView === 'rgba'\">\n <div class=\"k-vstack\">\n <kendo-numerictextbox\n #red\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [min]=\"0\"\n [max]=\"255\"\n [placeholder]=\"textFor('redInputPlaceholder')\"\n [(value)]=\"rgba.r\"\n [autoCorrect]=\"true\"\n [spinners]=\"false\"\n [format]=\"'n'\"\n [decimals]=\"0\"\n (blur)=\"handleRgbaInputBlur()\"\n (valueChange)=\"handleRgbaValueChange()\">\n </kendo-numerictextbox>\n <label [for]=\"red.focusableId\" class=\"k-colorgradient-input-label\">R</label>\n </div>\n <div class=\"k-vstack\">\n <kendo-numerictextbox\n #green\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [min]=\"0\"\n [max]=\"255\"\n [placeholder]=\"textFor('greenInputPlaceholder')\"\n [(value)]=\"rgba.g\"\n [autoCorrect]=\"true\"\n [spinners]=\"false\"\n [format]=\"'n'\"\n [decimals]=\"0\"\n (blur)=\"handleRgbaInputBlur()\"\n (valueChange)=\"handleRgbaValueChange()\">\n </kendo-numerictextbox>\n <label [for]=\"green.focusableId\" class=\"k-colorgradient-input-label\">G</label>\n </div>\n <div class=\"k-vstack\">\n <kendo-numerictextbox\n #blue\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [min]=\"0\"\n [max]=\"255\"\n [placeholder]=\"textFor('blueInputPlaceholder')\"\n [(value)]=\"rgba.b\"\n [autoCorrect]=\"true\"\n [spinners]=\"false\"\n [format]=\"'n'\"\n [decimals]=\"0\"\n (blur)=\"handleRgbaInputBlur()\"\n (valueChange)=\"handleRgbaValueChange()\">\n </kendo-numerictextbox>\n <label [for]=\"blue.focusableId\" class=\"k-colorgradient-input-label\">B</label>\n </div>\n <div class=\"k-vstack\" *ngIf=\"opacity\">\n <kendo-numerictextbox #opacityInput\n #alpha\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [min]=\"0\"\n [max]=\"1\"\n [placeholder]=\"textFor('alphaInputPlaceholder')\"\n [(value)]=\"rgba.a\"\n [autoCorrect]=\"true\"\n [spinners]=\"false\"\n [step]=\"0.01\"\n [format]=\"'n2'\"\n [decimals]=\"2\"\n (blur)=\"handleRgbaInputBlur()\"\n (valueChange)=\"handleRgbaValueChange()\">\n </kendo-numerictextbox>\n <label [for]=\"alpha.focusableId\" class=\"k-colorgradient-input-label\">A</label>\n </div>\n </ng-container>\n "
187
+ template: "\n <div class=\"k-vstack\">\n <button #toggleFormatButton\n class=\"k-colorgradient-toggle-mode k-button k-icon-button k-flat\"\n [attr.aria-label]=\"formatButtonTitle\"\n [attr.title]=\"formatButtonTitle\"\n >\n <span class=\"k-button-icon k-icon k-i-arrows-kpi\"></span>\n </button>\n </div>\n <div *ngIf=\"formatView === 'hex'\" class=\"k-vstack\">\n <input\n #hexInput\n [id]=\"focusableId\"\n class=\"k-textbox k-hex-value\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [value]=\"hex || ''\"\n (blur)=\"handleHexInputBlur()\"\n (input)=\"handleHexValueChange(hexInput.value)\"\n />\n <label [for]=\"focusableId\" class=\"k-colorgradient-input-label\">HEX</label>\n </div>\n <ng-container *ngIf=\"formatView === 'rgba'\">\n <div class=\"k-vstack\">\n <kendo-numerictextbox\n #red\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [min]=\"0\"\n [max]=\"255\"\n [(value)]=\"rgba.r\"\n [autoCorrect]=\"true\"\n [spinners]=\"false\"\n [format]=\"'n'\"\n [decimals]=\"0\"\n (blur)=\"handleRgbaInputBlur()\"\n (valueChange)=\"handleRgbaValueChange()\">\n </kendo-numerictextbox>\n <label [for]=\"red.focusableId\" class=\"k-colorgradient-input-label\">R</label>\n </div>\n <div class=\"k-vstack\">\n <kendo-numerictextbox\n #green\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [min]=\"0\"\n [max]=\"255\"\n [(value)]=\"rgba.g\"\n [autoCorrect]=\"true\"\n [spinners]=\"false\"\n [format]=\"'n'\"\n [decimals]=\"0\"\n (blur)=\"handleRgbaInputBlur()\"\n (valueChange)=\"handleRgbaValueChange()\">\n </kendo-numerictextbox>\n <label [for]=\"green.focusableId\" class=\"k-colorgradient-input-label\">G</label>\n </div>\n <div class=\"k-vstack\">\n <kendo-numerictextbox\n #blue\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [min]=\"0\"\n [max]=\"255\"\n [(value)]=\"rgba.b\"\n [autoCorrect]=\"true\"\n [spinners]=\"false\"\n [format]=\"'n'\"\n [decimals]=\"0\"\n (blur)=\"handleRgbaInputBlur()\"\n (valueChange)=\"handleRgbaValueChange()\">\n </kendo-numerictextbox>\n <label [for]=\"blue.focusableId\" class=\"k-colorgradient-input-label\">B</label>\n </div>\n <div class=\"k-vstack\" *ngIf=\"opacity\">\n <kendo-numerictextbox #opacityInput\n #alpha\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [min]=\"0\"\n [max]=\"1\"\n [(value)]=\"rgba.a\"\n [autoCorrect]=\"true\"\n [spinners]=\"false\"\n [step]=\"0.01\"\n [format]=\"'n2'\"\n [decimals]=\"2\"\n (blur)=\"handleRgbaInputBlur()\"\n (valueChange)=\"handleRgbaValueChange()\">\n </kendo-numerictextbox>\n <label [for]=\"alpha.focusableId\" class=\"k-colorgradient-input-label\">A</label>\n </div>\n </ng-container>\n "
167
188
  }),
168
- tslib_1.__metadata("design:paramtypes", [kendo_angular_l10n_1.LocalizationService,
169
- core_1.ElementRef,
170
- core_1.Renderer2])
189
+ tslib_1.__metadata("design:paramtypes", [core_1.ElementRef,
190
+ core_1.Renderer2,
191
+ kendo_angular_l10n_1.LocalizationService])
171
192
  ], ColorInputComponent);
172
193
  return ColorInputComponent;
173
194
  }());
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  var tslib_1 = require("tslib");
8
8
  var core_1 = require("@angular/core");
9
9
  var forms_1 = require("@angular/forms");
10
+ var models_1 = require("./models");
10
11
  var utils_1 = require("./utils");
11
12
  var utils_2 = require("../common/utils");
12
13
  var color_palette_service_1 = require("./services/color-palette.service");
@@ -79,6 +80,10 @@ var ColorPaletteComponent = /** @class */ (function () {
79
80
  * @hidden
80
81
  */
81
82
  this.hostClasses = true;
83
+ /**
84
+ * @hidden
85
+ */
86
+ this.uniqueId = kendo_angular_common_1.guid();
82
87
  this._tabindex = 0;
83
88
  this.notifyNgTouched = function () { };
84
89
  this.notifyNgChanged = function () { };
@@ -143,12 +148,12 @@ var ColorPaletteComponent = /** @class */ (function () {
143
148
  if (!utils_2.isPresent(value)) {
144
149
  value = DEFAULT_PRESET;
145
150
  }
146
- if (typeof value === 'string' && utils_2.isPresent(utils_1.PALETTEPRESETS[value])) {
147
- this.columns = this.columns || utils_1.PALETTEPRESETS[value].columns;
148
- value = utils_1.PALETTEPRESETS[value].colors;
151
+ if (typeof value === 'string' && utils_2.isPresent(models_1.PALETTEPRESETS[value])) {
152
+ this.columns = this.columns || models_1.PALETTEPRESETS[value].columns;
153
+ value = models_1.PALETTEPRESETS[value].colors;
149
154
  }
150
155
  var colors = (typeof value === 'string') ? value.split(',') : value;
151
- this._palette = colors.map(function (color) { return utils_1.parseColor(color, _this.format, false); });
156
+ this._palette = colors.map(function (color) { return utils_1.parseColor(color, _this.format, false, false); });
152
157
  },
153
158
  enumerable: true,
154
159
  configurable: true
@@ -275,27 +280,22 @@ var ColorPaletteComponent = /** @class */ (function () {
275
280
  /**
276
281
  * @hidden
277
282
  */
278
- ColorPaletteComponent.prototype.handleCellSelection = function (value, cell) {
283
+ ColorPaletteComponent.prototype.handleCellSelection = function (value, focusedCell) {
279
284
  if (this.readonly) {
280
285
  return;
281
286
  }
282
- this.selectedCell = cell;
287
+ this.selectedCell = focusedCell;
283
288
  this.focusedCell = this.selectedCell;
284
289
  this.focusInComponent = true;
285
- var parsedColor = utils_1.parseColor(value, this.format, false);
290
+ var parsedColor = utils_1.parseColor(value, this.format, false, false);
286
291
  this.cellSelection.emit(parsedColor);
287
- if (this.value !== parsedColor) {
288
- this.value = parsedColor;
289
- this.valueChange.emit(parsedColor);
290
- this.notifyNgChanged(parsedColor);
291
- this.setHostElementAriaLabel();
292
- }
292
+ this.handleValueChange(parsedColor);
293
293
  if (this.selection !== parsedColor) {
294
294
  this.selection = parsedColor;
295
295
  this.selectionChange.emit(parsedColor);
296
296
  }
297
- if (cell) {
298
- this.activeCellId = this.selectedCell.row + "-" + this.selectedCell.col;
297
+ if (focusedCell) {
298
+ this.activeCellId = "k-" + this.selectedCell.row + "-" + this.selectedCell.col + "-" + this.uniqueId;
299
299
  }
300
300
  };
301
301
  /**
@@ -326,7 +326,7 @@ var ColorPaletteComponent = /** @class */ (function () {
326
326
  };
327
327
  /**
328
328
  * @hidden
329
- * Used by the TextBoxContainer to determine if the component is empty.
329
+ * Used by the FloatingLabel to determine if the component is empty.
330
330
  */
331
331
  ColorPaletteComponent.prototype.isEmpty = function () {
332
332
  return false;
@@ -337,9 +337,18 @@ var ColorPaletteComponent = /** @class */ (function () {
337
337
  ColorPaletteComponent.prototype.reset = function () {
338
338
  this.focusedCell = null;
339
339
  if (utils_2.isPresent(this.value)) {
340
- this._value = undefined;
341
- this.notifyNgChanged(undefined);
340
+ this.handleValueChange(undefined);
342
341
  }
342
+ this.selectedCell = undefined;
343
+ };
344
+ ColorPaletteComponent.prototype.handleValueChange = function (color) {
345
+ if (this.value === color) {
346
+ return;
347
+ }
348
+ this.value = color;
349
+ this.valueChange.emit(color);
350
+ this.notifyNgChanged(color);
351
+ this.setHostElementAriaLabel();
343
352
  };
344
353
  ColorPaletteComponent.prototype.handleCellFocusOnBlur = function () {
345
354
  this.focusInComponent = false;
@@ -466,6 +475,7 @@ var ColorPaletteComponent = /** @class */ (function () {
466
475
  ], ColorPaletteComponent.prototype, "handleHostBlur", null);
467
476
  ColorPaletteComponent = ColorPaletteComponent_1 = tslib_1.__decorate([
468
477
  core_1.Component({
478
+ exportAs: 'kendoColorPalette',
469
479
  selector: 'kendo-colorpalette',
470
480
  providers: [
471
481
  {
@@ -487,7 +497,7 @@ var ColorPaletteComponent = /** @class */ (function () {
487
497
  useValue: 'kendo.colorpalette'
488
498
  }
489
499
  ],
490
- template: "\n <ng-container kendoColorPaletteLocalizedMessages\n i18n-colorPaletteNoColor=\"kendo.colorpalette.colorPaletteNoColor|The aria-label applied to the ColorPalette component when the value is empty.\"\n colorPaletteNoColor=\"Colorpalette no color chosen\">\n </ng-container>\n <div role=\"listbox\" class=\"k-colorpalette-table-wrap\"\n [attr.aria-activedescendant]=\"activeCellId\">\n <table class=\"k-colorpalette-table k-palette\">\n <tbody>\n <tr *ngFor=\"let row of colorRows; let rowIndex = index\">\n <td *ngFor=\"let color of row; let colIndex = index\"\n role=\"option\"\n [class.k-state-selected]=\"selectedCell?.row === rowIndex && selectedCell?.col === colIndex\"\n [class.k-state-focus]=\"focusInComponent && focusedCell?.row === rowIndex && focusedCell?.col === colIndex\"\n [attr.aria-selected]=\"selectedCell?.row === rowIndex && selectedCell?.col === colIndex\"\n [attr.aria-label]=\"color\"\n class=\"k-colorpalette-tile\"\n [id]=\"rowIndex + '-' + colIndex\"\n [attr.value]=\"color\"\n (click)=\"handleCellSelection(color, { row: rowIndex, col: colIndex })\"\n [ngStyle]=\"{\n backgroundColor: color,\n width: tileLayout.width + 'px',\n height: tileLayout.height + 'px',\n minWidth: tileLayout.width + 'px'\n }\">\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n "
500
+ template: "\n <ng-container kendoColorPaletteLocalizedMessages\n i18n-colorPaletteNoColor=\"kendo.colorpalette.colorPaletteNoColor|The aria-label applied to the ColorPalette component when the value is empty.\"\n colorPaletteNoColor=\"Colorpalette no color chosen\">\n </ng-container>\n <div role=\"listbox\" class=\"k-colorpalette-table-wrap\"\n [attr.aria-activedescendant]=\"activeCellId\">\n <table class=\"k-colorpalette-table k-palette\">\n <tbody>\n <tr *ngFor=\"let row of colorRows; let rowIndex = index\">\n <td *ngFor=\"let color of row; let colIndex = index\"\n role=\"option\"\n [class.k-state-selected]=\"selectedCell?.row === rowIndex && selectedCell?.col === colIndex\"\n [class.k-state-focus]=\"focusInComponent && focusedCell?.row === rowIndex && focusedCell?.col === colIndex\"\n [attr.aria-selected]=\"selectedCell?.row === rowIndex && selectedCell?.col === colIndex\"\n [attr.aria-label]=\"color\"\n class=\"k-colorpalette-tile\"\n [id]=\"'k-' + rowIndex + '-' + colIndex + '-' + uniqueId\"\n [attr.value]=\"color\"\n (click)=\"handleCellSelection(color, { row: rowIndex, col: colIndex })\"\n [ngStyle]=\"{\n backgroundColor: color,\n width: tileLayout.width + 'px',\n height: tileLayout.height + 'px',\n minWidth: tileLayout.width + 'px'\n }\">\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n "
491
501
  }),
492
502
  tslib_1.__metadata("design:paramtypes", [core_1.ElementRef,
493
503
  color_palette_service_1.ColorPaletteService,