@progress/kendo-angular-inputs 18.1.0-develop.9 → 18.1.1-develop.1
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/colorpicker/adaptiveness/adaptive-close-button.component.d.ts +20 -0
- package/colorpicker/adaptiveness/adaptive-renderer.component.d.ts +38 -0
- package/colorpicker/color-gradient-text-label.directive.d.ts +19 -0
- package/colorpicker/color-gradient.component.d.ts +19 -1
- package/colorpicker/color-input.component.d.ts +15 -3
- package/colorpicker/color-palette.component.d.ts +16 -6
- package/colorpicker/colorpicker.component.d.ts +55 -8
- package/colorpicker/flatcolorpicker-actions.component.d.ts +3 -1
- package/colorpicker/flatcolorpicker-header.component.d.ts +3 -1
- package/colorpicker/flatcolorpicker.component.d.ts +19 -1
- package/colorpicker/localization/messages.d.ts +9 -1
- package/colorpicker/models/adaptive-mode.d.ts +23 -0
- package/esm2022/colorpicker/adaptiveness/adaptive-close-button.component.mjs +62 -0
- package/esm2022/colorpicker/adaptiveness/adaptive-renderer.component.mjs +205 -0
- package/esm2022/colorpicker/color-gradient-text-label.directive.mjs +34 -0
- package/esm2022/colorpicker/color-gradient.component.mjs +75 -17
- package/esm2022/colorpicker/color-input.component.mjs +56 -23
- package/esm2022/colorpicker/color-palette.component.mjs +45 -15
- package/esm2022/colorpicker/colorpicker.component.mjs +182 -41
- package/esm2022/colorpicker/flatcolorpicker-actions.component.mjs +22 -7
- package/esm2022/colorpicker/flatcolorpicker-header.component.mjs +8 -3
- package/esm2022/colorpicker/flatcolorpicker.component.mjs +72 -17
- package/esm2022/colorpicker/localization/messages.mjs +13 -1
- package/esm2022/colorpicker/models/adaptive-mode.mjs +27 -0
- package/esm2022/colorpicker/services/flatcolorpicker.service.mjs +3 -3
- package/esm2022/colorpicker.module.mjs +3 -2
- package/esm2022/inputs.module.mjs +3 -2
- package/esm2022/otpinput/otpinput.component.mjs +75 -45
- package/esm2022/package-metadata.mjs +2 -2
- package/fesm2022/progress-kendo-angular-inputs.mjs +9170 -8497
- package/otpinput/models/separator-icon.d.ts +9 -3
- package/otpinput/otpinput.component.d.ts +4 -7
- package/package.json +13 -11
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { Component, Input, Output, EventEmitter, TemplateRef, ViewChild } from '@angular/core';
|
|
6
|
+
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
7
|
+
import { checkIcon, xIcon } from '@progress/kendo-svg-icons';
|
|
8
|
+
import { ActionSheetComponent, ActionSheetTemplateDirective } from '@progress/kendo-angular-navigation';
|
|
9
|
+
import { NgIf, NgTemplateOutlet } from '@angular/common';
|
|
10
|
+
import { ButtonComponent } from '@progress/kendo-angular-buttons';
|
|
11
|
+
import { TextBoxComponent } from '../../textbox/textbox.component';
|
|
12
|
+
import { animationDuration } from '../models/adaptive-mode';
|
|
13
|
+
import { AdaptiveCloseButtonComponent } from './adaptive-close-button.component';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
import * as i1 from "@progress/kendo-angular-l10n";
|
|
16
|
+
/**
|
|
17
|
+
* @hidden
|
|
18
|
+
*/
|
|
19
|
+
export class AdaptiveRendererComponent {
|
|
20
|
+
localization;
|
|
21
|
+
title;
|
|
22
|
+
subtitle;
|
|
23
|
+
actionSheetTemplate;
|
|
24
|
+
isActionSheetExpanded;
|
|
25
|
+
preview;
|
|
26
|
+
actionSheetClose = new EventEmitter();
|
|
27
|
+
onExpand = new EventEmitter();
|
|
28
|
+
onCollapse = new EventEmitter();
|
|
29
|
+
onApply = new EventEmitter();
|
|
30
|
+
onCancel = new EventEmitter();
|
|
31
|
+
actionSheet;
|
|
32
|
+
actionSheetSearchBar;
|
|
33
|
+
cancelButton;
|
|
34
|
+
applyButton;
|
|
35
|
+
constructor(localization) {
|
|
36
|
+
this.localization = localization;
|
|
37
|
+
}
|
|
38
|
+
animationDuration = animationDuration;
|
|
39
|
+
xIcon = xIcon;
|
|
40
|
+
checkIcon = checkIcon;
|
|
41
|
+
messageFor(key) {
|
|
42
|
+
return this.localization.get(key);
|
|
43
|
+
}
|
|
44
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdaptiveRendererComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
45
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AdaptiveRendererComponent, isStandalone: true, selector: "kendo-adaptive-renderer", inputs: { title: "title", subtitle: "subtitle", actionSheetTemplate: "actionSheetTemplate", isActionSheetExpanded: "isActionSheetExpanded", preview: "preview" }, outputs: { actionSheetClose: "actionSheetClose", onExpand: "onExpand", onCollapse: "onCollapse", onApply: "onApply", onCancel: "onCancel" }, viewQueries: [{ propertyName: "actionSheet", first: true, predicate: ActionSheetComponent, descendants: true }, { propertyName: "actionSheetSearchBar", first: true, predicate: ["actionSheetSearchBar"], descendants: true }, { propertyName: "cancelButton", first: true, predicate: ["cancel"], descendants: true }, { propertyName: "applyButton", first: true, predicate: ["apply"], descendants: true }], ngImport: i0, template: `
|
|
46
|
+
<kendo-actionsheet
|
|
47
|
+
#actionSheet
|
|
48
|
+
[animation]="{ duration: animationDuration }"
|
|
49
|
+
[expanded]="isActionSheetExpanded"
|
|
50
|
+
(overlayClick)="actionSheetClose.emit()"
|
|
51
|
+
(expand)="onExpand.emit()"
|
|
52
|
+
(collapse)="onCollapse.emit()"
|
|
53
|
+
>
|
|
54
|
+
<ng-template kendoActionSheetTemplate>
|
|
55
|
+
<div class="k-text-center k-actionsheet-titlebar">
|
|
56
|
+
<div class="k-actionsheet-titlebar-group k-hbox">
|
|
57
|
+
<div class="k-actionsheet-title">
|
|
58
|
+
<div class="k-text-center">{{ messageFor('adaptiveTitle') }}</div>
|
|
59
|
+
<div class="k-actionsheet-subtitle k-text-center"></div>
|
|
60
|
+
</div>
|
|
61
|
+
<div *ngIf="!preview" class="k-actionsheet-actions">
|
|
62
|
+
<kendo-adaptive-close-button
|
|
63
|
+
icon="check"
|
|
64
|
+
color="primary"
|
|
65
|
+
[title]="messageFor('closeButton')"
|
|
66
|
+
[svgIcon]="checkIcon"
|
|
67
|
+
(close)="onApply.emit($event)">
|
|
68
|
+
</kendo-adaptive-close-button>
|
|
69
|
+
</div>
|
|
70
|
+
<div *ngIf="preview" class="k-actionsheet-actions">
|
|
71
|
+
<kendo-adaptive-close-button
|
|
72
|
+
icon="x"
|
|
73
|
+
[title]="messageFor('closeButton')"
|
|
74
|
+
[svgIcon]="xIcon"
|
|
75
|
+
(close)="actionSheetClose.emit($event)">
|
|
76
|
+
</kendo-adaptive-close-button>
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
79
|
+
</div>
|
|
80
|
+
<div class="k-actionsheet-content !k-overflow-hidden">
|
|
81
|
+
<ng-container *ngTemplateOutlet="actionSheetTemplate"></ng-container>
|
|
82
|
+
</div>
|
|
83
|
+
<div *ngIf="preview" class="k-actions k-actions-stretched k-actions-horizontal k-actionsheet-footer">
|
|
84
|
+
<button
|
|
85
|
+
#cancel
|
|
86
|
+
kendoButton
|
|
87
|
+
size="large"
|
|
88
|
+
(click)="onCancel.emit($event)"
|
|
89
|
+
[title]="messageFor('cancelButton')">
|
|
90
|
+
{{messageFor('cancelButton')}}
|
|
91
|
+
</button>
|
|
92
|
+
<button
|
|
93
|
+
#apply
|
|
94
|
+
kendoButton
|
|
95
|
+
size="large"
|
|
96
|
+
themeColor="primary"
|
|
97
|
+
(click)="onApply.emit()"
|
|
98
|
+
[title]="messageFor('applyButton')">
|
|
99
|
+
{{messageFor('applyButton')}}
|
|
100
|
+
</button>
|
|
101
|
+
</div>
|
|
102
|
+
</ng-template>
|
|
103
|
+
</kendo-actionsheet>
|
|
104
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "directive", type: ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AdaptiveCloseButtonComponent, selector: "kendo-adaptive-close-button", inputs: ["title", "icon", "svgIcon", "color"], outputs: ["close"] }] });
|
|
105
|
+
}
|
|
106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdaptiveRendererComponent, decorators: [{
|
|
107
|
+
type: Component,
|
|
108
|
+
args: [{
|
|
109
|
+
selector: 'kendo-adaptive-renderer',
|
|
110
|
+
template: `
|
|
111
|
+
<kendo-actionsheet
|
|
112
|
+
#actionSheet
|
|
113
|
+
[animation]="{ duration: animationDuration }"
|
|
114
|
+
[expanded]="isActionSheetExpanded"
|
|
115
|
+
(overlayClick)="actionSheetClose.emit()"
|
|
116
|
+
(expand)="onExpand.emit()"
|
|
117
|
+
(collapse)="onCollapse.emit()"
|
|
118
|
+
>
|
|
119
|
+
<ng-template kendoActionSheetTemplate>
|
|
120
|
+
<div class="k-text-center k-actionsheet-titlebar">
|
|
121
|
+
<div class="k-actionsheet-titlebar-group k-hbox">
|
|
122
|
+
<div class="k-actionsheet-title">
|
|
123
|
+
<div class="k-text-center">{{ messageFor('adaptiveTitle') }}</div>
|
|
124
|
+
<div class="k-actionsheet-subtitle k-text-center"></div>
|
|
125
|
+
</div>
|
|
126
|
+
<div *ngIf="!preview" class="k-actionsheet-actions">
|
|
127
|
+
<kendo-adaptive-close-button
|
|
128
|
+
icon="check"
|
|
129
|
+
color="primary"
|
|
130
|
+
[title]="messageFor('closeButton')"
|
|
131
|
+
[svgIcon]="checkIcon"
|
|
132
|
+
(close)="onApply.emit($event)">
|
|
133
|
+
</kendo-adaptive-close-button>
|
|
134
|
+
</div>
|
|
135
|
+
<div *ngIf="preview" class="k-actionsheet-actions">
|
|
136
|
+
<kendo-adaptive-close-button
|
|
137
|
+
icon="x"
|
|
138
|
+
[title]="messageFor('closeButton')"
|
|
139
|
+
[svgIcon]="xIcon"
|
|
140
|
+
(close)="actionSheetClose.emit($event)">
|
|
141
|
+
</kendo-adaptive-close-button>
|
|
142
|
+
</div>
|
|
143
|
+
</div>
|
|
144
|
+
</div>
|
|
145
|
+
<div class="k-actionsheet-content !k-overflow-hidden">
|
|
146
|
+
<ng-container *ngTemplateOutlet="actionSheetTemplate"></ng-container>
|
|
147
|
+
</div>
|
|
148
|
+
<div *ngIf="preview" class="k-actions k-actions-stretched k-actions-horizontal k-actionsheet-footer">
|
|
149
|
+
<button
|
|
150
|
+
#cancel
|
|
151
|
+
kendoButton
|
|
152
|
+
size="large"
|
|
153
|
+
(click)="onCancel.emit($event)"
|
|
154
|
+
[title]="messageFor('cancelButton')">
|
|
155
|
+
{{messageFor('cancelButton')}}
|
|
156
|
+
</button>
|
|
157
|
+
<button
|
|
158
|
+
#apply
|
|
159
|
+
kendoButton
|
|
160
|
+
size="large"
|
|
161
|
+
themeColor="primary"
|
|
162
|
+
(click)="onApply.emit()"
|
|
163
|
+
[title]="messageFor('applyButton')">
|
|
164
|
+
{{messageFor('applyButton')}}
|
|
165
|
+
</button>
|
|
166
|
+
</div>
|
|
167
|
+
</ng-template>
|
|
168
|
+
</kendo-actionsheet>
|
|
169
|
+
`,
|
|
170
|
+
standalone: true,
|
|
171
|
+
imports: [ActionSheetComponent, ActionSheetTemplateDirective, ButtonComponent, NgIf, NgTemplateOutlet, AdaptiveCloseButtonComponent]
|
|
172
|
+
}]
|
|
173
|
+
}], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { title: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}], subtitle: [{
|
|
176
|
+
type: Input
|
|
177
|
+
}], actionSheetTemplate: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}], isActionSheetExpanded: [{
|
|
180
|
+
type: Input
|
|
181
|
+
}], preview: [{
|
|
182
|
+
type: Input
|
|
183
|
+
}], actionSheetClose: [{
|
|
184
|
+
type: Output
|
|
185
|
+
}], onExpand: [{
|
|
186
|
+
type: Output
|
|
187
|
+
}], onCollapse: [{
|
|
188
|
+
type: Output
|
|
189
|
+
}], onApply: [{
|
|
190
|
+
type: Output
|
|
191
|
+
}], onCancel: [{
|
|
192
|
+
type: Output
|
|
193
|
+
}], actionSheet: [{
|
|
194
|
+
type: ViewChild,
|
|
195
|
+
args: [ActionSheetComponent]
|
|
196
|
+
}], actionSheetSearchBar: [{
|
|
197
|
+
type: ViewChild,
|
|
198
|
+
args: ['actionSheetSearchBar']
|
|
199
|
+
}], cancelButton: [{
|
|
200
|
+
type: ViewChild,
|
|
201
|
+
args: ['cancel']
|
|
202
|
+
}], applyButton: [{
|
|
203
|
+
type: ViewChild,
|
|
204
|
+
args: ['apply']
|
|
205
|
+
}] } });
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { Directive, Input, Renderer2 } from '@angular/core';
|
|
6
|
+
import { TextBoxComponent } from '../textbox/textbox.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../textbox/textbox.component";
|
|
9
|
+
/**
|
|
10
|
+
* @hidden
|
|
11
|
+
*/
|
|
12
|
+
export class TextLabelDirective {
|
|
13
|
+
textBox;
|
|
14
|
+
renderer;
|
|
15
|
+
focusableId;
|
|
16
|
+
constructor(textBox, renderer) {
|
|
17
|
+
this.textBox = textBox;
|
|
18
|
+
this.renderer = renderer;
|
|
19
|
+
}
|
|
20
|
+
ngOnInit() {
|
|
21
|
+
this.renderer.setAttribute(this.textBox.input.nativeElement, 'id', this.focusableId);
|
|
22
|
+
}
|
|
23
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TextLabelDirective, deps: [{ token: i1.TextBoxComponent }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
24
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TextLabelDirective, isStandalone: true, selector: "[kendoTextLabel]", inputs: { focusableId: "focusableId" }, ngImport: i0 });
|
|
25
|
+
}
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TextLabelDirective, decorators: [{
|
|
27
|
+
type: Directive,
|
|
28
|
+
args: [{
|
|
29
|
+
selector: '[kendoTextLabel]',
|
|
30
|
+
standalone: true
|
|
31
|
+
}]
|
|
32
|
+
}], ctorParameters: function () { return [{ type: i1.TextBoxComponent }, { type: i0.Renderer2 }]; }, propDecorators: { focusableId: [{
|
|
33
|
+
type: Input
|
|
34
|
+
}] } });
|
|
@@ -12,7 +12,7 @@ import { DraggableDirective, isChanged, isDocumentAvailable, KendoInput } from '
|
|
|
12
12
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
13
13
|
import { containsFocus, isUntouched } from '../common/dom-utils';
|
|
14
14
|
import { parseColor, getHSV, getColorFromHSV, getColorFromHue } from './utils';
|
|
15
|
-
import { isPresent, fitIntoBounds } from '../common/utils';
|
|
15
|
+
import { isPresent, fitIntoBounds, getStylingClasses } from '../common/utils';
|
|
16
16
|
import { SliderComponent } from '../slider/slider.component';
|
|
17
17
|
import { ColorGradientLocalizationService } from './localization/colorgradient-localization.service';
|
|
18
18
|
import { ColorInputComponent } from './color-input.component';
|
|
@@ -27,6 +27,7 @@ import { ButtonComponent } from '@progress/kendo-angular-buttons';
|
|
|
27
27
|
import * as i0 from "@angular/core";
|
|
28
28
|
import * as i1 from "@progress/kendo-angular-l10n";
|
|
29
29
|
let serial = 0;
|
|
30
|
+
const DEFAULT_SIZE = 'medium';
|
|
30
31
|
/**
|
|
31
32
|
* The ColorGradient component enables smooth color transitions and provides options for selecting specific colors over the drag handle.
|
|
32
33
|
* The ColorGradient is independently used by `kendo-colorpicker` and can be directly added to the page.
|
|
@@ -85,6 +86,10 @@ export class ColorGradientComponent {
|
|
|
85
86
|
focusHandler(ev) {
|
|
86
87
|
this.internalNavigation = ev.target !== this.host.nativeElement;
|
|
87
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* @hidden
|
|
91
|
+
*/
|
|
92
|
+
adaptiveMode = false;
|
|
88
93
|
/**
|
|
89
94
|
* @hidden
|
|
90
95
|
*/
|
|
@@ -95,6 +100,23 @@ export class ColorGradientComponent {
|
|
|
95
100
|
* @default true
|
|
96
101
|
*/
|
|
97
102
|
opacity = true;
|
|
103
|
+
/**
|
|
104
|
+
* The size property specifies the padding of the ColorGradient internal elements.
|
|
105
|
+
*
|
|
106
|
+
* The possible values are:
|
|
107
|
+
* * `small`
|
|
108
|
+
* * `medium` (default)
|
|
109
|
+
* * `large`
|
|
110
|
+
* * `none`
|
|
111
|
+
*/
|
|
112
|
+
set size(size) {
|
|
113
|
+
const newSize = size || DEFAULT_SIZE;
|
|
114
|
+
this.handleClasses(newSize, 'size');
|
|
115
|
+
this._size = newSize;
|
|
116
|
+
}
|
|
117
|
+
get size() {
|
|
118
|
+
return this._size;
|
|
119
|
+
}
|
|
98
120
|
/**
|
|
99
121
|
* Sets the disabled state of the ColorGradient. To learn how to disable the component in reactive forms, refer to the article on [Forms Support](slug:formssupport_colorgradient#toc-managing-the-colorgradient-disabled-state-in-reactive-forms).
|
|
100
122
|
*
|
|
@@ -232,6 +254,7 @@ export class ColorGradientComponent {
|
|
|
232
254
|
listeners = [];
|
|
233
255
|
hueSliderTouched = false;
|
|
234
256
|
alphaSliderTouched = false;
|
|
257
|
+
_size = 'medium';
|
|
235
258
|
updateValues = new Subject();
|
|
236
259
|
changeRequestsSubscription;
|
|
237
260
|
dynamicRTLSubscription;
|
|
@@ -274,6 +297,10 @@ export class ColorGradientComponent {
|
|
|
274
297
|
this.control = this.injector.get(NgControl, null);
|
|
275
298
|
}
|
|
276
299
|
ngAfterViewInit() {
|
|
300
|
+
const stylingInputs = ['size'];
|
|
301
|
+
stylingInputs.forEach(input => {
|
|
302
|
+
this.handleClasses(this[input], input);
|
|
303
|
+
});
|
|
277
304
|
this.ngZone.onStable.pipe(take(1)).subscribe(() => {
|
|
278
305
|
this.updateUI();
|
|
279
306
|
this.cdr.detectChanges();
|
|
@@ -527,7 +554,7 @@ export class ColorGradientComponent {
|
|
|
527
554
|
return;
|
|
528
555
|
}
|
|
529
556
|
const sliderTrack = this.alphaSlider.track.nativeElement;
|
|
530
|
-
this.renderer.setStyle(sliderTrack, 'background', `linear-gradient(to top, transparent, ${backgroundColor})`);
|
|
557
|
+
this.renderer.setStyle(sliderTrack, 'background', `linear-gradient(to ${this.adaptiveMode ? 'right' : 'top'}, transparent, ${backgroundColor})`);
|
|
531
558
|
}
|
|
532
559
|
setHostElementAriaLabel() {
|
|
533
560
|
const parsed = parseColor(this.value, this.format, this.opacity);
|
|
@@ -590,8 +617,18 @@ export class ColorGradientComponent {
|
|
|
590
617
|
this.changeRequestsSubscription.unsubscribe();
|
|
591
618
|
}
|
|
592
619
|
}
|
|
620
|
+
handleClasses(value, input) {
|
|
621
|
+
const elem = this.host.nativeElement;
|
|
622
|
+
const classes = getStylingClasses('colorgradient', input, this[input], value);
|
|
623
|
+
if (classes.toRemove) {
|
|
624
|
+
this.renderer.removeClass(elem, classes.toRemove);
|
|
625
|
+
}
|
|
626
|
+
if (classes.toAdd) {
|
|
627
|
+
this.renderer.addClass(elem, classes.toAdd);
|
|
628
|
+
}
|
|
629
|
+
}
|
|
593
630
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColorGradientComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.LocalizationService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
594
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ColorGradientComponent, isStandalone: true, selector: "kendo-colorgradient", inputs: { id: "id", opacity: "opacity", disabled: "disabled", readonly: "readonly", clearButton: "clearButton", delay: "delay", value: "value", contrastTool: "contrastTool", tabindex: "tabindex", format: "format", gradientSliderStep: "gradientSliderStep", gradientSliderSmallStep: "gradientSliderSmallStep" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "keydown.enter": "enterHandler($event)", "keydown.escape": "escapeHandler($event)", "focusin": "focusHandler($event)" }, properties: { "class.k-colorgradient": "this.hostClasses", "
|
|
631
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ColorGradientComponent, isStandalone: true, selector: "kendo-colorgradient", inputs: { adaptiveMode: "adaptiveMode", id: "id", opacity: "opacity", size: "size", disabled: "disabled", readonly: "readonly", clearButton: "clearButton", delay: "delay", value: "value", contrastTool: "contrastTool", tabindex: "tabindex", format: "format", gradientSliderStep: "gradientSliderStep", gradientSliderSmallStep: "gradientSliderSmallStep" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "keydown.enter": "enterHandler($event)", "keydown.escape": "escapeHandler($event)", "focusin": "focusHandler($event)" }, properties: { "class.k-colorgradient": "this.hostClasses", "attr.aria-readonly": "this.readonlyAttribute", "class.k-disabled": "this.disabledClass", "attr.id": "this.gradientId", "attr.dir": "this.direction", "attr.tabindex": "this.hostTabindex", "attr.role": "this.ariaRole", "attr.aria-invalid": "this.isControlInvalid", "attr.aria-disabled": "this.isDisabled", "class.k-readonly": "this.readonly" } }, providers: [
|
|
595
632
|
{
|
|
596
633
|
multi: true,
|
|
597
634
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -647,7 +684,11 @@ export class ColorGradientComponent {
|
|
|
647
684
|
i18n-hexInputPlaceholder="kendo.colorgradient.hexInputPlaceholder|The placeholder for the HEX color input."
|
|
648
685
|
hexInputPlaceholder="HEX">
|
|
649
686
|
</ng-container>
|
|
650
|
-
<div
|
|
687
|
+
<div [ngClass]="{
|
|
688
|
+
'k-colorgradient-canvas': true,
|
|
689
|
+
'k-vstack': adaptiveMode,
|
|
690
|
+
'k-hstack': !adaptiveMode
|
|
691
|
+
}">
|
|
651
692
|
<div class="k-hsv-rectangle" #hsvRectangle>
|
|
652
693
|
<div
|
|
653
694
|
#gradientWrapper
|
|
@@ -683,8 +724,12 @@ export class ColorGradientComponent {
|
|
|
683
724
|
[style]="'position: absolute; overflow: visible; pointer-events: none; left: 0px; top: 0px;'">
|
|
684
725
|
</svg>
|
|
685
726
|
</div>
|
|
686
|
-
<div
|
|
687
|
-
|
|
727
|
+
<div [ngClass]="{
|
|
728
|
+
'k-hsv-controls': true,
|
|
729
|
+
'k-sliders-wrap-clearable': clearButton,
|
|
730
|
+
'k-vstack': adaptiveMode,
|
|
731
|
+
'k-hstack': !adaptiveMode
|
|
732
|
+
}">
|
|
688
733
|
<button
|
|
689
734
|
kendoButton
|
|
690
735
|
*ngIf="clearButton"
|
|
@@ -692,6 +737,7 @@ export class ColorGradientComponent {
|
|
|
692
737
|
fillMode="flat"
|
|
693
738
|
icon="droplet-slash"
|
|
694
739
|
[svgIcon]="dropletSlashIcon"
|
|
740
|
+
[size]="size"
|
|
695
741
|
(click)="reset()"
|
|
696
742
|
(keydown.enter)="reset()"
|
|
697
743
|
(keydown.space)="reset()"
|
|
@@ -711,7 +757,7 @@ export class ColorGradientComponent {
|
|
|
711
757
|
[readonly]="readonly"
|
|
712
758
|
[showButtons]="false"
|
|
713
759
|
tickPlacement="none"
|
|
714
|
-
[vertical]="
|
|
760
|
+
[vertical]="!adaptiveMode"
|
|
715
761
|
[min]="0"
|
|
716
762
|
[max]="360"
|
|
717
763
|
[value]="hsva.value.h"
|
|
@@ -732,7 +778,7 @@ export class ColorGradientComponent {
|
|
|
732
778
|
[readonly]="readonly"
|
|
733
779
|
[showButtons]="false"
|
|
734
780
|
tickPlacement="none"
|
|
735
|
-
[vertical]="
|
|
781
|
+
[vertical]="!adaptiveMode"
|
|
736
782
|
[min]="0"
|
|
737
783
|
[max]="100"
|
|
738
784
|
[smallStep]="1"
|
|
@@ -746,6 +792,7 @@ export class ColorGradientComponent {
|
|
|
746
792
|
<kendo-colorinput #inputs
|
|
747
793
|
[tabindex]="innerTabIndex"
|
|
748
794
|
[opacity]="opacity"
|
|
795
|
+
[size]="size"
|
|
749
796
|
[formatView]="format"
|
|
750
797
|
[value]="value"
|
|
751
798
|
[disabled]="disabled"
|
|
@@ -760,7 +807,7 @@ export class ColorGradientComponent {
|
|
|
760
807
|
[value]="value"
|
|
761
808
|
[ratio]="contrastTool">
|
|
762
809
|
</div>
|
|
763
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedColorPickerMessagesDirective, selector: "[kendoColorPickerLocalizedMessages], [kendoFlatColorPickerLocalizedMessages], [kendoColorGradientLocalizedMessages], [kendoColorPaletteLocalizedMessages]" }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ColorContrastSvgComponent, selector: "[kendoColorContrastSvg]", inputs: ["wrapper", "hsva", "backgroundColor"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: SliderComponent, selector: "kendo-slider", inputs: ["focusableId", "dragHandleTitle", "incrementTitle", "animate", "decrementTitle", "showButtons", "value", "tabIndex"], exportAs: ["kendoSlider"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ColorInputComponent, selector: "kendo-colorinput", inputs: ["focusableId", "formatView", "tabindex", "value", "opacity", "disabled", "readonly"], outputs: ["valueChange", "tabOut"] }, { kind: "component", type: ContrastComponent, selector: "[kendoContrastTool]", inputs: ["value", "ratio"] }] });
|
|
810
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedColorPickerMessagesDirective, selector: "[kendoColorPickerLocalizedMessages], [kendoFlatColorPickerLocalizedMessages], [kendoColorGradientLocalizedMessages], [kendoColorPaletteLocalizedMessages]" }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ColorContrastSvgComponent, selector: "[kendoColorContrastSvg]", inputs: ["wrapper", "hsva", "backgroundColor"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: SliderComponent, selector: "kendo-slider", inputs: ["focusableId", "dragHandleTitle", "incrementTitle", "animate", "decrementTitle", "showButtons", "value", "tabIndex"], exportAs: ["kendoSlider"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ColorInputComponent, selector: "kendo-colorinput", inputs: ["focusableId", "formatView", "size", "tabindex", "value", "opacity", "disabled", "readonly"], outputs: ["valueChange", "tabOut"] }, { kind: "component", type: ContrastComponent, selector: "[kendoContrastTool]", inputs: ["value", "ratio"] }] });
|
|
764
811
|
}
|
|
765
812
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColorGradientComponent, decorators: [{
|
|
766
813
|
type: Component,
|
|
@@ -824,7 +871,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
824
871
|
i18n-hexInputPlaceholder="kendo.colorgradient.hexInputPlaceholder|The placeholder for the HEX color input."
|
|
825
872
|
hexInputPlaceholder="HEX">
|
|
826
873
|
</ng-container>
|
|
827
|
-
<div
|
|
874
|
+
<div [ngClass]="{
|
|
875
|
+
'k-colorgradient-canvas': true,
|
|
876
|
+
'k-vstack': adaptiveMode,
|
|
877
|
+
'k-hstack': !adaptiveMode
|
|
878
|
+
}">
|
|
828
879
|
<div class="k-hsv-rectangle" #hsvRectangle>
|
|
829
880
|
<div
|
|
830
881
|
#gradientWrapper
|
|
@@ -860,8 +911,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
860
911
|
[style]="'position: absolute; overflow: visible; pointer-events: none; left: 0px; top: 0px;'">
|
|
861
912
|
</svg>
|
|
862
913
|
</div>
|
|
863
|
-
<div
|
|
864
|
-
|
|
914
|
+
<div [ngClass]="{
|
|
915
|
+
'k-hsv-controls': true,
|
|
916
|
+
'k-sliders-wrap-clearable': clearButton,
|
|
917
|
+
'k-vstack': adaptiveMode,
|
|
918
|
+
'k-hstack': !adaptiveMode
|
|
919
|
+
}">
|
|
865
920
|
<button
|
|
866
921
|
kendoButton
|
|
867
922
|
*ngIf="clearButton"
|
|
@@ -869,6 +924,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
869
924
|
fillMode="flat"
|
|
870
925
|
icon="droplet-slash"
|
|
871
926
|
[svgIcon]="dropletSlashIcon"
|
|
927
|
+
[size]="size"
|
|
872
928
|
(click)="reset()"
|
|
873
929
|
(keydown.enter)="reset()"
|
|
874
930
|
(keydown.space)="reset()"
|
|
@@ -888,7 +944,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
888
944
|
[readonly]="readonly"
|
|
889
945
|
[showButtons]="false"
|
|
890
946
|
tickPlacement="none"
|
|
891
|
-
[vertical]="
|
|
947
|
+
[vertical]="!adaptiveMode"
|
|
892
948
|
[min]="0"
|
|
893
949
|
[max]="360"
|
|
894
950
|
[value]="hsva.value.h"
|
|
@@ -909,7 +965,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
909
965
|
[readonly]="readonly"
|
|
910
966
|
[showButtons]="false"
|
|
911
967
|
tickPlacement="none"
|
|
912
|
-
[vertical]="
|
|
968
|
+
[vertical]="!adaptiveMode"
|
|
913
969
|
[min]="0"
|
|
914
970
|
[max]="100"
|
|
915
971
|
[smallStep]="1"
|
|
@@ -923,6 +979,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
923
979
|
<kendo-colorinput #inputs
|
|
924
980
|
[tabindex]="innerTabIndex"
|
|
925
981
|
[opacity]="opacity"
|
|
982
|
+
[size]="size"
|
|
926
983
|
[formatView]="format"
|
|
927
984
|
[value]="value"
|
|
928
985
|
[disabled]="disabled"
|
|
@@ -944,9 +1001,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
944
1001
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.LocalizationService }, { type: i0.Injector }]; }, propDecorators: { hostClasses: [{
|
|
945
1002
|
type: HostBinding,
|
|
946
1003
|
args: ['class.k-colorgradient']
|
|
947
|
-
}, {
|
|
948
|
-
type: HostBinding,
|
|
949
|
-
args: ['class.k-colorgradient-md']
|
|
950
1004
|
}], readonlyAttribute: [{
|
|
951
1005
|
type: HostBinding,
|
|
952
1006
|
args: ['attr.aria-readonly']
|
|
@@ -980,10 +1034,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
980
1034
|
}], focusHandler: [{
|
|
981
1035
|
type: HostListener,
|
|
982
1036
|
args: ['focusin', ['$event']]
|
|
1037
|
+
}], adaptiveMode: [{
|
|
1038
|
+
type: Input
|
|
983
1039
|
}], id: [{
|
|
984
1040
|
type: Input
|
|
985
1041
|
}], opacity: [{
|
|
986
1042
|
type: Input
|
|
1043
|
+
}], size: [{
|
|
1044
|
+
type: Input
|
|
987
1045
|
}], disabled: [{
|
|
988
1046
|
type: Input
|
|
989
1047
|
}], readonly: [{
|