@progress/kendo-angular-inputs 11.3.0-develop.1 → 11.3.0-develop.11
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/color-input.component.d.ts +1 -0
- package/colorpicker/color-palette.component.d.ts +1 -0
- package/colorpicker/flatcolorpicker.component.d.ts +8 -4
- package/esm2020/colorpicker/color-gradient.component.mjs +0 -1
- package/esm2020/colorpicker/color-input.component.mjs +11 -6
- package/esm2020/colorpicker/color-palette.component.mjs +14 -14
- package/esm2020/colorpicker/colorpicker.component.mjs +4 -5
- package/esm2020/colorpicker/flatcolorpicker-header.component.mjs +7 -3
- package/esm2020/colorpicker/flatcolorpicker.component.mjs +30 -15
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/shared/utils.mjs +0 -11
- package/esm2020/signature/signature.component.mjs +54 -24
- package/esm2020/textbox/textbox.component.mjs +1 -2
- package/fesm2015/progress-kendo-angular-inputs.mjs +125 -82
- package/fesm2020/progress-kendo-angular-inputs.mjs +121 -81
- package/package.json +10 -10
- package/shared/utils.d.ts +0 -6
- package/signature/signature.component.d.ts +7 -2
|
@@ -81,6 +81,7 @@ export declare class ColorInputComponent implements AfterViewInit, OnChanges {
|
|
|
81
81
|
ngOnChanges(changes: SimpleChanges): void;
|
|
82
82
|
get formatButtonTitle(): string;
|
|
83
83
|
handleRgbaValueChange(): void;
|
|
84
|
+
focusDragHandle(event: any): void;
|
|
84
85
|
handleHexValueChange(hex: string): void;
|
|
85
86
|
handleRgbaInputBlur(): void;
|
|
86
87
|
handleHexInputBlur(): void;
|
|
@@ -155,6 +155,7 @@ export declare class ColorPaletteComponent implements OnInit, AfterViewInit, OnD
|
|
|
155
155
|
private _columns;
|
|
156
156
|
private _palette;
|
|
157
157
|
private _tabindex;
|
|
158
|
+
private subs;
|
|
158
159
|
private dynamicRTLSubscription;
|
|
159
160
|
constructor(host: ElementRef, service: ColorPaletteService, cdr: ChangeDetectorRef, renderer: Renderer2, localizationService: LocalizationService, ngZone: NgZone);
|
|
160
161
|
ngOnInit(): void;
|
|
@@ -178,15 +178,19 @@ export declare class FlatColorPickerComponent implements OnInit, AfterViewInit,
|
|
|
178
178
|
* @hidden
|
|
179
179
|
*/
|
|
180
180
|
get firstFocusable(): any;
|
|
181
|
-
/**
|
|
182
|
-
* @hidden
|
|
183
|
-
*/
|
|
184
|
-
get lastFocusable(): any;
|
|
185
181
|
constructor(host: ElementRef, service: FlatColorPickerService, localizationService: LocalizationService, cdr: ChangeDetectorRef, renderer: Renderer2, ngZone: NgZone, injector: Injector);
|
|
186
182
|
ngOnInit(): void;
|
|
187
183
|
ngAfterViewInit(): void;
|
|
188
184
|
ngOnChanges(changes: SimpleChanges): void;
|
|
189
185
|
ngOnDestroy(): void;
|
|
186
|
+
/**
|
|
187
|
+
* @hidden
|
|
188
|
+
*/
|
|
189
|
+
focusFirstHeaderButton(): void;
|
|
190
|
+
/**
|
|
191
|
+
* @hidden
|
|
192
|
+
*/
|
|
193
|
+
lastFocusable(event: any): any;
|
|
190
194
|
/**
|
|
191
195
|
* @hidden
|
|
192
196
|
*/
|
|
@@ -108,6 +108,11 @@ export class ColorInputComponent {
|
|
|
108
108
|
this.hex = parseColor(color, 'hex', this.opacity);
|
|
109
109
|
this.valueChange.emit(color);
|
|
110
110
|
}
|
|
111
|
+
focusDragHandle(event) {
|
|
112
|
+
event.preventDefault();
|
|
113
|
+
event.stopImmediatePropagation();
|
|
114
|
+
this.tabOut.emit();
|
|
115
|
+
}
|
|
111
116
|
handleHexValueChange(hex) {
|
|
112
117
|
this.hex = hex;
|
|
113
118
|
const color = parseColor(hex, 'rgba', this.opacity);
|
|
@@ -148,7 +153,7 @@ export class ColorInputComponent {
|
|
|
148
153
|
}
|
|
149
154
|
}
|
|
150
155
|
ColorInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColorInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
151
|
-
ColorInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ColorInputComponent, selector: "kendo-colorinput", inputs: { focusableId: "focusableId", formatView: "formatView", tabindex: "tabindex", value: "value", opacity: "opacity", disabled: "disabled", readonly: "readonly" }, outputs: { valueChange: "valueChange", tabOut: "tabOut" }, host: { properties: { "class.k-colorgradient-inputs": "this.colorInputClass", "class.k-hstack": "this.colorInputClass" } }, viewQueries: [{ propertyName: "opacityInput", first: true, predicate: ["opacityInput"], descendants: true }, { propertyName: "hexInput", first: true, predicate: ["hexInput"], descendants: true }, { propertyName: "blueInput", first: true, predicate: ["
|
|
156
|
+
ColorInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ColorInputComponent, selector: "kendo-colorinput", inputs: { focusableId: "focusableId", formatView: "formatView", tabindex: "tabindex", value: "value", opacity: "opacity", disabled: "disabled", readonly: "readonly" }, outputs: { valueChange: "valueChange", tabOut: "tabOut" }, host: { properties: { "class.k-colorgradient-inputs": "this.colorInputClass", "class.k-hstack": "this.colorInputClass" } }, viewQueries: [{ propertyName: "opacityInput", first: true, predicate: ["opacityInput"], descendants: true }, { propertyName: "hexInput", first: true, predicate: ["hexInput"], descendants: true }, { propertyName: "blueInput", first: true, predicate: ["blue"], descendants: true }, { propertyName: "toggleFormatButton", first: true, predicate: ["toggleFormatButton"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: `
|
|
152
157
|
<div class="k-vstack">
|
|
153
158
|
<button
|
|
154
159
|
kendoButton
|
|
@@ -176,7 +181,7 @@ ColorInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
176
181
|
(blur)="handleHexInputBlur()"
|
|
177
182
|
(input)="handleHexValueChange(hexInput.value)"
|
|
178
183
|
[tabindex]="tabindex.toString()"
|
|
179
|
-
(keydown.tab)="$event
|
|
184
|
+
(keydown.tab)="focusDragHandle($event)"
|
|
180
185
|
/>
|
|
181
186
|
<label [for]="focusableId" class="k-colorgradient-input-label">HEX</label>
|
|
182
187
|
</div>
|
|
@@ -260,7 +265,7 @@ ColorInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
260
265
|
[decimals]="2"
|
|
261
266
|
(blur)="handleRgbaInputBlur()"
|
|
262
267
|
(valueChange)="handleRgbaValueChange()"
|
|
263
|
-
(keydown.tab)="$event
|
|
268
|
+
(keydown.tab)="focusDragHandle($event)">
|
|
264
269
|
</kendo-numerictextbox>
|
|
265
270
|
<label [for]="alpha.focusableId" class="k-colorgradient-input-label">A</label>
|
|
266
271
|
</div>
|
|
@@ -298,7 +303,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
298
303
|
(blur)="handleHexInputBlur()"
|
|
299
304
|
(input)="handleHexValueChange(hexInput.value)"
|
|
300
305
|
[tabindex]="tabindex.toString()"
|
|
301
|
-
(keydown.tab)="$event
|
|
306
|
+
(keydown.tab)="focusDragHandle($event)"
|
|
302
307
|
/>
|
|
303
308
|
<label [for]="focusableId" class="k-colorgradient-input-label">HEX</label>
|
|
304
309
|
</div>
|
|
@@ -382,7 +387,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
382
387
|
[decimals]="2"
|
|
383
388
|
(blur)="handleRgbaInputBlur()"
|
|
384
389
|
(valueChange)="handleRgbaValueChange()"
|
|
385
|
-
(keydown.tab)="$event
|
|
390
|
+
(keydown.tab)="focusDragHandle($event)">
|
|
386
391
|
</kendo-numerictextbox>
|
|
387
392
|
<label [for]="alpha.focusableId" class="k-colorgradient-input-label">A</label>
|
|
388
393
|
</div>
|
|
@@ -421,7 +426,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
421
426
|
args: ['hexInput']
|
|
422
427
|
}], blueInput: [{
|
|
423
428
|
type: ViewChild,
|
|
424
|
-
args: ['
|
|
429
|
+
args: ['blue']
|
|
425
430
|
}], toggleFormatButton: [{
|
|
426
431
|
type: ViewChild,
|
|
427
432
|
args: ['toggleFormatButton', { static: false, read: ElementRef }]
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
* Copyright © 2023 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
|
|
5
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
6
|
+
import { Component, Input, EventEmitter, Output, HostBinding, forwardRef, ChangeDetectorRef, Renderer2, ElementRef, NgZone } from '@angular/core';
|
|
6
7
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
7
8
|
import { Keys, KendoInput, guid } from '@progress/kendo-angular-common';
|
|
8
9
|
import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
9
10
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
11
|
+
import { Subscription } from 'rxjs';
|
|
10
12
|
import { take } from 'rxjs/operators';
|
|
11
13
|
import { ColorPaletteLocalizationService } from './localization/colorpalette-localization.service';
|
|
12
14
|
import { packageMetadata } from '../package-metadata';
|
|
@@ -94,6 +96,7 @@ export class ColorPaletteComponent {
|
|
|
94
96
|
*/
|
|
95
97
|
this.uniqueId = guid();
|
|
96
98
|
this._tabindex = 0;
|
|
99
|
+
this.subs = new Subscription();
|
|
97
100
|
this.notifyNgTouched = () => { };
|
|
98
101
|
this.notifyNgChanged = () => { };
|
|
99
102
|
validatePackage(packageMetadata);
|
|
@@ -200,6 +203,10 @@ export class ColorPaletteComponent {
|
|
|
200
203
|
this.palette = this.palette || defaultPreset;
|
|
201
204
|
this.setRows();
|
|
202
205
|
}
|
|
206
|
+
const elem = this.host.nativeElement;
|
|
207
|
+
this.subs.add(this.renderer.listen(elem, 'keydown', event => this.handleKeydown(event)));
|
|
208
|
+
this.subs.add(this.renderer.listen(elem, 'focus', () => this.handleFocus()));
|
|
209
|
+
this.subs.add(this.renderer.listen(elem, 'blur', () => this.handleHostBlur()));
|
|
203
210
|
}
|
|
204
211
|
ngAfterViewInit() {
|
|
205
212
|
this.setHostElementAriaLabel();
|
|
@@ -210,6 +217,7 @@ export class ColorPaletteComponent {
|
|
|
210
217
|
}
|
|
211
218
|
}
|
|
212
219
|
ngOnDestroy() {
|
|
220
|
+
this.subs.unsubscribe();
|
|
213
221
|
if (this.dynamicRTLSubscription) {
|
|
214
222
|
this.dynamicRTLSubscription.unsubscribe();
|
|
215
223
|
}
|
|
@@ -353,7 +361,8 @@ export class ColorPaletteComponent {
|
|
|
353
361
|
this.focusedCell = this.selectedCell;
|
|
354
362
|
}
|
|
355
363
|
selectCell(value) {
|
|
356
|
-
|
|
364
|
+
const parsedColor = parseColor(value, 'hex');
|
|
365
|
+
this.selectedCell = this.service.getCellCoordsFor(parsedColor);
|
|
357
366
|
this.focusedCell = this.selectedCell;
|
|
358
367
|
}
|
|
359
368
|
setRows() {
|
|
@@ -383,7 +392,7 @@ export class ColorPaletteComponent {
|
|
|
383
392
|
}
|
|
384
393
|
}
|
|
385
394
|
ColorPaletteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ColorPaletteComponent, deps: [{ token: i0.ElementRef }, { token: i1.ColorPaletteService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i2.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
386
|
-
ColorPaletteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ColorPaletteComponent, selector: "kendo-colorpalette", inputs: { id: "id", format: "format", value: "value", columns: "columns", palette: "palette", tabindex: "tabindex", disabled: "disabled", readonly: "readonly", tileSize: "tileSize" }, outputs: { selectionChange: "selectionChange", valueChange: "valueChange", cellSelection: "cellSelection" }, host: {
|
|
395
|
+
ColorPaletteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ColorPaletteComponent, selector: "kendo-colorpalette", inputs: { id: "id", format: "format", value: "value", columns: "columns", palette: "palette", tabindex: "tabindex", disabled: "disabled", readonly: "readonly", tileSize: "tileSize" }, outputs: { selectionChange: "selectionChange", valueChange: "valueChange", cellSelection: "cellSelection" }, host: { properties: { "attr.dir": "this.direction", "attr.role": "this.role", "attr.aria-activedescendant": "this.activeDescendant", "attr.id": "this.paletteId", "attr.tabindex": "this.hostTabindex", "class.k-colorpalette": "this.hostClasses", "attr.aria-disabled": "this.disabledClass", "class.k-disabled": "this.disabledClass", "attr.aria-readonly": "this.readonlyAttribute" } }, providers: [
|
|
387
396
|
{
|
|
388
397
|
multi: true,
|
|
389
398
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -415,7 +424,7 @@ ColorPaletteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
415
424
|
role="gridcell"
|
|
416
425
|
[class.k-selected]="selectedCell?.row === rowIndex && selectedCell?.col === colIndex"
|
|
417
426
|
[class.k-focus]="focusInComponent && focusedCell?.row === rowIndex && focusedCell?.col === colIndex"
|
|
418
|
-
[attr.aria-selected]="selectedCell?.row === rowIndex && selectedCell?.col === colIndex"
|
|
427
|
+
[attr.aria-selected]="selectedCell?.row === rowIndex && selectedCell?.col === colIndex ? 'true' : undefined"
|
|
419
428
|
[attr.aria-label]="color"
|
|
420
429
|
class="k-colorpalette-tile"
|
|
421
430
|
[id]="'k-' + rowIndex + '-' + colIndex + '-' + uniqueId"
|
|
@@ -471,7 +480,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
471
480
|
role="gridcell"
|
|
472
481
|
[class.k-selected]="selectedCell?.row === rowIndex && selectedCell?.col === colIndex"
|
|
473
482
|
[class.k-focus]="focusInComponent && focusedCell?.row === rowIndex && focusedCell?.col === colIndex"
|
|
474
|
-
[attr.aria-selected]="selectedCell?.row === rowIndex && selectedCell?.col === colIndex"
|
|
483
|
+
[attr.aria-selected]="selectedCell?.row === rowIndex && selectedCell?.col === colIndex ? 'true' : undefined"
|
|
475
484
|
[attr.aria-label]="color"
|
|
476
485
|
class="k-colorpalette-tile"
|
|
477
486
|
[id]="'k-' + rowIndex + '-' + colIndex + '-' + uniqueId"
|
|
@@ -541,13 +550,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
541
550
|
}], readonlyAttribute: [{
|
|
542
551
|
type: HostBinding,
|
|
543
552
|
args: ['attr.aria-readonly']
|
|
544
|
-
}], handleKeydown: [{
|
|
545
|
-
type: HostListener,
|
|
546
|
-
args: ['keydown', ['$event']]
|
|
547
|
-
}], handleFocus: [{
|
|
548
|
-
type: HostListener,
|
|
549
|
-
args: ['focus', ['$event']]
|
|
550
|
-
}], handleHostBlur: [{
|
|
551
|
-
type: HostListener,
|
|
552
|
-
args: ['blur']
|
|
553
553
|
}] } });
|
|
@@ -492,6 +492,7 @@ export class ColorPickerComponent {
|
|
|
492
492
|
open = isPresent(open) ? open : !this.isOpen;
|
|
493
493
|
if (open) {
|
|
494
494
|
this.openPopup();
|
|
495
|
+
this.focusFirstElement();
|
|
495
496
|
}
|
|
496
497
|
}
|
|
497
498
|
/**
|
|
@@ -622,9 +623,9 @@ export class ColorPickerComponent {
|
|
|
622
623
|
focusFirstElement() {
|
|
623
624
|
this.ngZone.onStable.pipe(take(1)).subscribe(() => {
|
|
624
625
|
if (this.flatColorPicker) {
|
|
625
|
-
const
|
|
626
|
-
const
|
|
627
|
-
|
|
626
|
+
const gradientDragHandle = this.flatColorPicker.gradient?.gradientDragHandle;
|
|
627
|
+
const palette = this.flatColorPicker.palette?.host;
|
|
628
|
+
const elementToFocus = gradientDragHandle ? gradientDragHandle : palette;
|
|
628
629
|
elementToFocus.nativeElement.focus();
|
|
629
630
|
}
|
|
630
631
|
});
|
|
@@ -818,7 +819,6 @@ ColorPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
818
819
|
kendoButton
|
|
819
820
|
tabindex="-1"
|
|
820
821
|
type="button"
|
|
821
|
-
role="none"
|
|
822
822
|
icon="caret-alt-down"
|
|
823
823
|
[svgIcon]="arrowDownIcon"
|
|
824
824
|
aria-hidden="true"
|
|
@@ -942,7 +942,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
942
942
|
kendoButton
|
|
943
943
|
tabindex="-1"
|
|
944
944
|
type="button"
|
|
945
|
-
role="none"
|
|
946
945
|
icon="caret-alt-down"
|
|
947
946
|
[svgIcon]="arrowDownIcon"
|
|
948
947
|
aria-hidden="true"
|
|
@@ -57,7 +57,7 @@ export class FlatColorPickerHeaderComponent {
|
|
|
57
57
|
onHeaderTabOut(ev, index) {
|
|
58
58
|
if (index === 0) {
|
|
59
59
|
ev.preventDefault();
|
|
60
|
-
this.tabOut.emit();
|
|
60
|
+
this.tabOut.emit(ev);
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
}
|
|
@@ -66,7 +66,9 @@ FlatColorPickerHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
|
66
66
|
<div class="k-coloreditor-header-actions k-hstack">
|
|
67
67
|
<div
|
|
68
68
|
*ngIf="viewButtons"
|
|
69
|
-
class="k-button-group k-button-group-flat"
|
|
69
|
+
class="k-button-group k-button-group-flat"
|
|
70
|
+
role="group"
|
|
71
|
+
>
|
|
70
72
|
<button
|
|
71
73
|
*ngFor="let view of views; let i = index;"
|
|
72
74
|
kendoButton
|
|
@@ -125,7 +127,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
125
127
|
<div class="k-coloreditor-header-actions k-hstack">
|
|
126
128
|
<div
|
|
127
129
|
*ngIf="viewButtons"
|
|
128
|
-
class="k-button-group k-button-group-flat"
|
|
130
|
+
class="k-button-group k-button-group-flat"
|
|
131
|
+
role="group"
|
|
132
|
+
>
|
|
129
133
|
<button
|
|
130
134
|
*ngFor="let view of views; let i = index;"
|
|
131
135
|
kendoButton
|
|
@@ -240,15 +240,6 @@ export class FlatColorPickerComponent {
|
|
|
240
240
|
}
|
|
241
241
|
return this.activeView === 'gradient' ? this.gradient : this.palette;
|
|
242
242
|
}
|
|
243
|
-
/**
|
|
244
|
-
* @hidden
|
|
245
|
-
*/
|
|
246
|
-
get lastFocusable() {
|
|
247
|
-
if (this.preview) {
|
|
248
|
-
return this.footer.lastButton.nativeElement;
|
|
249
|
-
}
|
|
250
|
-
return this.activeView === 'gradient' ? this.gradient : this.palette;
|
|
251
|
-
}
|
|
252
243
|
ngOnInit() {
|
|
253
244
|
this.selection = this.value;
|
|
254
245
|
this.control = this.injector.get(NgControl, null);
|
|
@@ -276,6 +267,30 @@ export class FlatColorPickerComponent {
|
|
|
276
267
|
}
|
|
277
268
|
this.subscriptions.unsubscribe();
|
|
278
269
|
}
|
|
270
|
+
/**
|
|
271
|
+
* @hidden
|
|
272
|
+
*/
|
|
273
|
+
focusFirstHeaderButton() {
|
|
274
|
+
if (this.gradientElement.nativeElement === document.activeElement) {
|
|
275
|
+
if (this.headerHasContent && !this.preview) {
|
|
276
|
+
const firstHeaderButton = this.headerElement.nativeElement.querySelector('.k-button');
|
|
277
|
+
firstHeaderButton.focus();
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* @hidden
|
|
283
|
+
*/
|
|
284
|
+
lastFocusable(event) {
|
|
285
|
+
if (this.preview) {
|
|
286
|
+
this.footer.lastButton.nativeElement.focus();
|
|
287
|
+
return;
|
|
288
|
+
}
|
|
289
|
+
event.stopImmediatePropagation();
|
|
290
|
+
const gradient = this.gradientElement?.nativeElement;
|
|
291
|
+
const palette = this.palette?.host.nativeElement;
|
|
292
|
+
this.activeView === 'gradient' ? gradient.focus() : palette.focus();
|
|
293
|
+
}
|
|
279
294
|
/**
|
|
280
295
|
* @hidden
|
|
281
296
|
*/
|
|
@@ -358,8 +373,6 @@ export class FlatColorPickerComponent {
|
|
|
358
373
|
*/
|
|
359
374
|
onClearButtonClick() {
|
|
360
375
|
this.resetInnerComponentValue();
|
|
361
|
-
this.internalNavigation = false;
|
|
362
|
-
this.host.nativeElement.focus();
|
|
363
376
|
this.clearButtonClick.emit();
|
|
364
377
|
}
|
|
365
378
|
/**
|
|
@@ -549,7 +562,7 @@ FlatColorPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
|
|
|
549
562
|
hexInputPlaceholder="HEX">
|
|
550
563
|
</ng-container>
|
|
551
564
|
<div kendoFlatColorPickerHeader
|
|
552
|
-
[innerTabIndex]="
|
|
565
|
+
[innerTabIndex]="innerTabIndex"
|
|
553
566
|
*ngIf="headerHasContent"
|
|
554
567
|
#header
|
|
555
568
|
[clearButton]="clearButton"
|
|
@@ -561,7 +574,7 @@ FlatColorPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
|
|
|
561
574
|
(clearButtonClick)="onClearButtonClick()"
|
|
562
575
|
(viewChange)="onViewChange($event)"
|
|
563
576
|
(valuePaneClick)="resetSelection($event)"
|
|
564
|
-
(tabOut)="lastFocusable
|
|
577
|
+
(tabOut)="lastFocusable($event)"></div>
|
|
565
578
|
<div class="k-coloreditor-views k-vstack">
|
|
566
579
|
<kendo-colorgradient #gradient
|
|
567
580
|
[tabindex]="innerTabIndex"
|
|
@@ -574,6 +587,7 @@ FlatColorPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
|
|
|
574
587
|
[gradientSliderSmallStep]="gradientSettings.gradientSliderSmallStep"
|
|
575
588
|
[gradientSliderStep]="gradientSettings.gradientSliderStep"
|
|
576
589
|
[readonly]="readonly"
|
|
590
|
+
(keydown.tab)="focusFirstHeaderButton()"
|
|
577
591
|
(valueChange)="handleValueChange($event)"
|
|
578
592
|
></kendo-colorgradient>
|
|
579
593
|
<kendo-colorpalette #palette
|
|
@@ -672,7 +686,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
672
686
|
hexInputPlaceholder="HEX">
|
|
673
687
|
</ng-container>
|
|
674
688
|
<div kendoFlatColorPickerHeader
|
|
675
|
-
[innerTabIndex]="
|
|
689
|
+
[innerTabIndex]="innerTabIndex"
|
|
676
690
|
*ngIf="headerHasContent"
|
|
677
691
|
#header
|
|
678
692
|
[clearButton]="clearButton"
|
|
@@ -684,7 +698,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
684
698
|
(clearButtonClick)="onClearButtonClick()"
|
|
685
699
|
(viewChange)="onViewChange($event)"
|
|
686
700
|
(valuePaneClick)="resetSelection($event)"
|
|
687
|
-
(tabOut)="lastFocusable
|
|
701
|
+
(tabOut)="lastFocusable($event)"></div>
|
|
688
702
|
<div class="k-coloreditor-views k-vstack">
|
|
689
703
|
<kendo-colorgradient #gradient
|
|
690
704
|
[tabindex]="innerTabIndex"
|
|
@@ -697,6 +711,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
697
711
|
[gradientSliderSmallStep]="gradientSettings.gradientSliderSmallStep"
|
|
698
712
|
[gradientSliderStep]="gradientSettings.gradientSliderStep"
|
|
699
713
|
[readonly]="readonly"
|
|
714
|
+
(keydown.tab)="focusFirstHeaderButton()"
|
|
700
715
|
(valueChange)="handleValueChange($event)"
|
|
701
716
|
></kendo-colorgradient>
|
|
702
717
|
<kendo-colorpalette #palette
|
|
@@ -9,7 +9,7 @@ export const packageMetadata = {
|
|
|
9
9
|
name: '@progress/kendo-angular-inputs',
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
12
|
-
publishDate:
|
|
13
|
-
version: '11.3.0-develop.
|
|
12
|
+
publishDate: 1677599249,
|
|
13
|
+
version: '11.3.0-develop.11',
|
|
14
14
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
15
15
|
};
|
package/esm2020/shared/utils.mjs
CHANGED
|
@@ -2,17 +2,6 @@
|
|
|
2
2
|
* Copyright © 2023 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { detectDesktopBrowser, detectMobileOS } from "@progress/kendo-common";
|
|
6
|
-
/**
|
|
7
|
-
* @hidden
|
|
8
|
-
*
|
|
9
|
-
* Returns true if the used browser is Safari.
|
|
10
|
-
*/
|
|
11
|
-
export const isSafari = (userAgent) => {
|
|
12
|
-
const desktopBrowser = detectDesktopBrowser(userAgent);
|
|
13
|
-
const mobileOS = detectMobileOS(userAgent);
|
|
14
|
-
return (desktopBrowser && desktopBrowser.safari) || (mobileOS && mobileOS.browser === 'mobilesafari');
|
|
15
|
-
};
|
|
16
5
|
/**
|
|
17
6
|
* @hidden
|
|
18
7
|
*
|
|
@@ -12,6 +12,7 @@ import { isNone, isPresent, ROUNDED_MAP, SIZE_MAP } from '../common/utils';
|
|
|
12
12
|
import { packageMetadata } from '../package-metadata';
|
|
13
13
|
import { SignatureCloseEvent, SignatureOpenEvent } from './events';
|
|
14
14
|
import { xIcon, hyperlinkOpenIcon } from '@progress/kendo-svg-icons';
|
|
15
|
+
import { take } from 'rxjs/operators';
|
|
15
16
|
import * as i0 from "@angular/core";
|
|
16
17
|
import * as i1 from "@progress/kendo-angular-l10n";
|
|
17
18
|
import * as i2 from "@progress/kendo-angular-buttons";
|
|
@@ -19,6 +20,8 @@ import * as i3 from "@progress/kendo-angular-dialog";
|
|
|
19
20
|
import * as i4 from "./localization/localized-signature-messages.directive";
|
|
20
21
|
import * as i5 from "@angular/common";
|
|
21
22
|
const noop = () => { };
|
|
23
|
+
let _id = 0;
|
|
24
|
+
const nextId = () => 'k-signature-focusable-' + _id++;
|
|
22
25
|
const FOCUSED_CLASS = 'k-focus';
|
|
23
26
|
const DEFAULT_SIZE = 'medium';
|
|
24
27
|
const DEFAULT_ROUNDED = 'medium';
|
|
@@ -41,6 +44,10 @@ export class SignatureComponent {
|
|
|
41
44
|
this.cd = cd;
|
|
42
45
|
this.localization = localization;
|
|
43
46
|
this.staticHostClasses = true;
|
|
47
|
+
/**
|
|
48
|
+
* @hidden
|
|
49
|
+
*/
|
|
50
|
+
this.focusableId = nextId();
|
|
44
51
|
/**
|
|
45
52
|
* Sets the read-only state of the Signature.
|
|
46
53
|
*
|
|
@@ -319,7 +326,10 @@ export class SignatureComponent {
|
|
|
319
326
|
return;
|
|
320
327
|
}
|
|
321
328
|
this.applyHostClasses();
|
|
322
|
-
this.
|
|
329
|
+
this.ngZone.onStable.pipe(take(1)).subscribe(() => {
|
|
330
|
+
this.readThemeColors();
|
|
331
|
+
this.instance.setOptions(this.options);
|
|
332
|
+
});
|
|
323
333
|
this.ngZone.runOutsideAngular(() => {
|
|
324
334
|
const element = this.canvas.nativeElement;
|
|
325
335
|
this.instance = new SignaturePad(element, {
|
|
@@ -331,6 +341,11 @@ export class SignatureComponent {
|
|
|
331
341
|
if (this.value) {
|
|
332
342
|
this.instance.loadImage(this.value);
|
|
333
343
|
}
|
|
344
|
+
if (this.maximized) {
|
|
345
|
+
this.ngZone.onStable.pipe(take(1)).subscribe(() => {
|
|
346
|
+
this.minimizeButton?.nativeElement.focus();
|
|
347
|
+
});
|
|
348
|
+
}
|
|
334
349
|
this.addEventListeners();
|
|
335
350
|
});
|
|
336
351
|
}
|
|
@@ -412,7 +427,9 @@ export class SignatureComponent {
|
|
|
412
427
|
this.close.next(args);
|
|
413
428
|
if (!args.isDefaultPrevented()) {
|
|
414
429
|
this.isOpen = false;
|
|
415
|
-
this.
|
|
430
|
+
this.ngZone.onStable.pipe(take(1)).subscribe(() => {
|
|
431
|
+
(this.maximizeButton || this.element)?.nativeElement?.focus();
|
|
432
|
+
});
|
|
416
433
|
}
|
|
417
434
|
}
|
|
418
435
|
/**
|
|
@@ -584,11 +601,11 @@ export class SignatureComponent {
|
|
|
584
601
|
}
|
|
585
602
|
}
|
|
586
603
|
SignatureComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SignatureComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
587
|
-
SignatureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SignatureComponent, selector: "kendo-signature", inputs: { readonly: "readonly", disabled: "disabled", width: "width", height: "height", value: "value", tabindex: "tabindex", size: "size", rounded: "rounded", fillMode: "fillMode", color: "color", backgroundColor: "backgroundColor", strokeWidth: "strokeWidth", smooth: "smooth", maximizable: "maximizable", maximized: "maximized", popupScale: "popupScale", exportScale: "exportScale", parentLocalization: "parentLocalization", hideLine: "hideLine" }, outputs: { valueChange: "valueChange", open: "open", close: "close", onFocus: "focus", onBlur: "blur", minimize: "minimize" }, host: { properties: { "class.k-signature": "this.staticHostClasses", "class.k-input": "this.staticHostClasses", "attr.dir": "this.direction", "class.k-readonly": "this.readonly", "class.k-disabled": "this.disabled", "style.width.px": "this.width", "style.height.px": "this.height" } }, providers: [
|
|
604
|
+
SignatureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SignatureComponent, selector: "kendo-signature", inputs: { focusableId: "focusableId", readonly: "readonly", disabled: "disabled", width: "width", height: "height", value: "value", tabindex: "tabindex", size: "size", rounded: "rounded", fillMode: "fillMode", color: "color", backgroundColor: "backgroundColor", strokeWidth: "strokeWidth", smooth: "smooth", maximizable: "maximizable", maximized: "maximized", popupScale: "popupScale", exportScale: "exportScale", parentLocalization: "parentLocalization", hideLine: "hideLine" }, outputs: { valueChange: "valueChange", open: "open", close: "close", onFocus: "focus", onBlur: "blur", minimize: "minimize" }, host: { properties: { "class.k-signature": "this.staticHostClasses", "class.k-input": "this.staticHostClasses", "attr.dir": "this.direction", "class.k-readonly": "this.readonly", "class.k-disabled": "this.disabled", "style.width.px": "this.width", "style.height.px": "this.height" } }, providers: [
|
|
588
605
|
LocalizationService,
|
|
589
606
|
{ provide: L10N_PREFIX, useValue: 'kendo.signature' },
|
|
590
607
|
{ multi: true, provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SignatureComponent) }
|
|
591
|
-
], viewQueries: [{ propertyName: "
|
|
608
|
+
], viewQueries: [{ propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true }, { propertyName: "minimizeButton", first: true, predicate: ["minimize"], descendants: true, read: ElementRef }, { propertyName: "maximizeButton", first: true, predicate: ["maximize"], descendants: true, read: ElementRef }], exportAs: ["kendoSignature"], usesOnChanges: true, ngImport: i0, template: `
|
|
592
609
|
<ng-container kendoSignatureLocalizedMessages
|
|
593
610
|
i18n-clear="kendo.signature.clear|The message for the Clear button."
|
|
594
611
|
clear="Clear"
|
|
@@ -600,10 +617,19 @@ SignatureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
600
617
|
canvasLabel="Signature canvas">
|
|
601
618
|
</ng-container>
|
|
602
619
|
|
|
620
|
+
<div
|
|
621
|
+
#canvas
|
|
622
|
+
class="k-signature-canvas"
|
|
623
|
+
[attr.tabindex]="tabindex"
|
|
624
|
+
[id]="focusableId"
|
|
625
|
+
role="img"
|
|
626
|
+
[attr.aria-label]="canvasLabel"
|
|
627
|
+
></div>
|
|
628
|
+
|
|
603
629
|
<div class="k-signature-actions k-signature-actions-top">
|
|
604
630
|
<button
|
|
631
|
+
#maximize
|
|
605
632
|
*ngIf="showMaximize"
|
|
606
|
-
#maximizeButton
|
|
607
633
|
kendoButton
|
|
608
634
|
class="k-signature-action k-signature-maximize"
|
|
609
635
|
icon="hyperlink-open"
|
|
@@ -615,6 +641,7 @@ SignatureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
615
641
|
[title]="maximizeTitle">
|
|
616
642
|
</button>
|
|
617
643
|
<button
|
|
644
|
+
#minimize
|
|
618
645
|
*ngIf="showMinimize"
|
|
619
646
|
kendoButton
|
|
620
647
|
class="k-signature-action k-signature-minimize k-rotate-180"
|
|
@@ -627,13 +654,6 @@ SignatureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
627
654
|
[title]="minimizeTitle">
|
|
628
655
|
</button>
|
|
629
656
|
</div>
|
|
630
|
-
<div
|
|
631
|
-
#canvas
|
|
632
|
-
class="k-signature-canvas"
|
|
633
|
-
[attr.tabindex]="tabindex"
|
|
634
|
-
role="img"
|
|
635
|
-
[attr.aria-label]="canvasLabel"
|
|
636
|
-
></div>
|
|
637
657
|
<div
|
|
638
658
|
*ngIf="!hideLine"
|
|
639
659
|
class="k-signature-line"
|
|
@@ -677,10 +697,11 @@ SignatureComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
677
697
|
[width]="popupWidth"
|
|
678
698
|
[height]="popupHeight"
|
|
679
699
|
[popupScale]="popupScale"
|
|
700
|
+
[exportScale]="(1 / popupScale) * exportScale"
|
|
680
701
|
[parentLocalization]="localization">
|
|
681
702
|
</kendo-signature>
|
|
682
703
|
</kendo-dialog>
|
|
683
|
-
`, isInline: true, components: [{ type: i2.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: i3.DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation", "themeColor"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { type: SignatureComponent, selector: "kendo-signature", inputs: ["readonly", "disabled", "width", "height", "value", "tabindex", "size", "rounded", "fillMode", "color", "backgroundColor", "strokeWidth", "smooth", "maximizable", "maximized", "popupScale", "exportScale", "parentLocalization", "hideLine"], outputs: ["valueChange", "open", "close", "focus", "blur", "minimize"], exportAs: ["kendoSignature"] }], directives: [{ type: i4.LocalizedSignatureMessagesDirective, selector: "[kendoSignatureLocalizedMessages]" }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
704
|
+
`, isInline: true, components: [{ type: i2.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: i3.DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation", "themeColor"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { type: SignatureComponent, selector: "kendo-signature", inputs: ["focusableId", "readonly", "disabled", "width", "height", "value", "tabindex", "size", "rounded", "fillMode", "color", "backgroundColor", "strokeWidth", "smooth", "maximizable", "maximized", "popupScale", "exportScale", "parentLocalization", "hideLine"], outputs: ["valueChange", "open", "close", "focus", "blur", "minimize"], exportAs: ["kendoSignature"] }], directives: [{ type: i4.LocalizedSignatureMessagesDirective, selector: "[kendoSignatureLocalizedMessages]" }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
684
705
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SignatureComponent, decorators: [{
|
|
685
706
|
type: Component,
|
|
686
707
|
args: [{
|
|
@@ -704,10 +725,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
704
725
|
canvasLabel="Signature canvas">
|
|
705
726
|
</ng-container>
|
|
706
727
|
|
|
728
|
+
<div
|
|
729
|
+
#canvas
|
|
730
|
+
class="k-signature-canvas"
|
|
731
|
+
[attr.tabindex]="tabindex"
|
|
732
|
+
[id]="focusableId"
|
|
733
|
+
role="img"
|
|
734
|
+
[attr.aria-label]="canvasLabel"
|
|
735
|
+
></div>
|
|
736
|
+
|
|
707
737
|
<div class="k-signature-actions k-signature-actions-top">
|
|
708
738
|
<button
|
|
739
|
+
#maximize
|
|
709
740
|
*ngIf="showMaximize"
|
|
710
|
-
#maximizeButton
|
|
711
741
|
kendoButton
|
|
712
742
|
class="k-signature-action k-signature-maximize"
|
|
713
743
|
icon="hyperlink-open"
|
|
@@ -719,6 +749,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
719
749
|
[title]="maximizeTitle">
|
|
720
750
|
</button>
|
|
721
751
|
<button
|
|
752
|
+
#minimize
|
|
722
753
|
*ngIf="showMinimize"
|
|
723
754
|
kendoButton
|
|
724
755
|
class="k-signature-action k-signature-minimize k-rotate-180"
|
|
@@ -731,13 +762,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
731
762
|
[title]="minimizeTitle">
|
|
732
763
|
</button>
|
|
733
764
|
</div>
|
|
734
|
-
<div
|
|
735
|
-
#canvas
|
|
736
|
-
class="k-signature-canvas"
|
|
737
|
-
[attr.tabindex]="tabindex"
|
|
738
|
-
role="img"
|
|
739
|
-
[attr.aria-label]="canvasLabel"
|
|
740
|
-
></div>
|
|
741
765
|
<div
|
|
742
766
|
*ngIf="!hideLine"
|
|
743
767
|
class="k-signature-line"
|
|
@@ -781,6 +805,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
781
805
|
[width]="popupWidth"
|
|
782
806
|
[height]="popupHeight"
|
|
783
807
|
[popupScale]="popupScale"
|
|
808
|
+
[exportScale]="(1 / popupScale) * exportScale"
|
|
784
809
|
[parentLocalization]="localization">
|
|
785
810
|
</kendo-signature>
|
|
786
811
|
</kendo-dialog>
|
|
@@ -792,12 +817,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
792
817
|
}, {
|
|
793
818
|
type: HostBinding,
|
|
794
819
|
args: ['class.k-input']
|
|
820
|
+
}], focusableId: [{
|
|
821
|
+
type: Input
|
|
795
822
|
}], direction: [{
|
|
796
823
|
type: HostBinding,
|
|
797
824
|
args: ['attr.dir']
|
|
798
|
-
}], maximizeButton: [{
|
|
799
|
-
type: ViewChild,
|
|
800
|
-
args: ['maximizeButton', { read: ElementRef }]
|
|
801
825
|
}], readonly: [{
|
|
802
826
|
type: HostBinding,
|
|
803
827
|
args: ['class.k-readonly']
|
|
@@ -865,4 +889,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
865
889
|
}], canvas: [{
|
|
866
890
|
type: ViewChild,
|
|
867
891
|
args: ['canvas']
|
|
892
|
+
}], minimizeButton: [{
|
|
893
|
+
type: ViewChild,
|
|
894
|
+
args: ['minimize', { read: ElementRef }]
|
|
895
|
+
}], maximizeButton: [{
|
|
896
|
+
type: ViewChild,
|
|
897
|
+
args: ['maximize', { read: ElementRef }]
|
|
868
898
|
}] } });
|
|
@@ -11,11 +11,10 @@ import { validatePackage } from '@progress/kendo-licensing';
|
|
|
11
11
|
import { packageMetadata } from '../package-metadata';
|
|
12
12
|
import { invokeElementMethod } from '../common/dom-utils';
|
|
13
13
|
import { areSame, requiresZoneOnBlur, getStylingClasses } from '../common/utils';
|
|
14
|
-
import { guid, hasObservers, KendoInput, Keys } from '@progress/kendo-angular-common';
|
|
14
|
+
import { guid, hasObservers, KendoInput, Keys, isSafari } from '@progress/kendo-angular-common';
|
|
15
15
|
import { TextBoxSuffixTemplateDirective } from './textbox-suffix.directive';
|
|
16
16
|
import { TextBoxPrefixTemplateDirective } from './textbox-prefix.directive';
|
|
17
17
|
import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
18
|
-
import { isSafari } from '../shared/utils';
|
|
19
18
|
import { checkIcon, exclamationCircleIcon, xIcon } from '@progress/kendo-svg-icons';
|
|
20
19
|
import * as i0 from "@angular/core";
|
|
21
20
|
import * as i1 from "@progress/kendo-angular-l10n";
|