@progress/kendo-angular-inputs 18.1.0-develop.8 → 18.1.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.
Files changed (33) hide show
  1. package/colorpicker/adaptiveness/adaptive-close-button.component.d.ts +20 -0
  2. package/colorpicker/adaptiveness/adaptive-renderer.component.d.ts +38 -0
  3. package/colorpicker/color-gradient-text-label.directive.d.ts +19 -0
  4. package/colorpicker/color-gradient.component.d.ts +19 -1
  5. package/colorpicker/color-input.component.d.ts +15 -3
  6. package/colorpicker/color-palette.component.d.ts +16 -6
  7. package/colorpicker/colorpicker.component.d.ts +55 -8
  8. package/colorpicker/flatcolorpicker-actions.component.d.ts +3 -1
  9. package/colorpicker/flatcolorpicker-header.component.d.ts +3 -1
  10. package/colorpicker/flatcolorpicker.component.d.ts +19 -1
  11. package/colorpicker/localization/messages.d.ts +9 -1
  12. package/colorpicker/models/adaptive-mode.d.ts +23 -0
  13. package/esm2022/colorpicker/adaptiveness/adaptive-close-button.component.mjs +62 -0
  14. package/esm2022/colorpicker/adaptiveness/adaptive-renderer.component.mjs +205 -0
  15. package/esm2022/colorpicker/color-gradient-text-label.directive.mjs +34 -0
  16. package/esm2022/colorpicker/color-gradient.component.mjs +75 -17
  17. package/esm2022/colorpicker/color-input.component.mjs +56 -23
  18. package/esm2022/colorpicker/color-palette.component.mjs +45 -15
  19. package/esm2022/colorpicker/colorpicker.component.mjs +182 -41
  20. package/esm2022/colorpicker/flatcolorpicker-actions.component.mjs +22 -7
  21. package/esm2022/colorpicker/flatcolorpicker-header.component.mjs +8 -3
  22. package/esm2022/colorpicker/flatcolorpicker.component.mjs +72 -17
  23. package/esm2022/colorpicker/localization/messages.mjs +13 -1
  24. package/esm2022/colorpicker/models/adaptive-mode.mjs +27 -0
  25. package/esm2022/colorpicker/services/flatcolorpicker.service.mjs +3 -3
  26. package/esm2022/colorpicker.module.mjs +3 -2
  27. package/esm2022/inputs.module.mjs +3 -2
  28. package/esm2022/otpinput/otpinput.component.mjs +75 -45
  29. package/esm2022/package-metadata.mjs +2 -2
  30. package/fesm2022/progress-kendo-angular-inputs.mjs +9170 -8497
  31. package/otpinput/models/separator-icon.d.ts +9 -3
  32. package/otpinput/otpinput.component.d.ts +4 -7
  33. 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", "class.k-colorgradient-md": "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: [
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 class="k-colorgradient-canvas k-hstack">
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 class="k-hsv-controls k-hstack {{ clearButton ? 'k-sliders-wrap-clearable' : '' }}">
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]="true"
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]="true"
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 class="k-colorgradient-canvas k-hstack">
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 class="k-hsv-controls k-hstack {{ clearButton ? 'k-sliders-wrap-clearable' : '' }}">
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]="true"
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]="true"
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: [{