@progress/kendo-angular-inputs 25.0.0-develop.6 → 25.0.0-develop.8

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.
@@ -13,7 +13,7 @@ export { PrefixTemplateDirective, SeparatorComponent, SuffixTemplateDirective }
13
13
  import * as i1 from '@progress/kendo-angular-l10n';
14
14
  import { ComponentMessages, LocalizationService, L10N_PREFIX, RTL } from '@progress/kendo-angular-l10n';
15
15
  import { validatePackage } from '@progress/kendo-licensing';
16
- import { chevronUpIcon, chevronDownIcon, chevronLeftIcon, chevronRightIcon, xIcon, exclamationCircleIcon, checkIcon, caretAltExpandIcon, xCircleIcon, dropletSlashIcon, dropletSliderIcon, paletteIcon, hyperlinkOpenIcon } from '@progress/kendo-svg-icons';
16
+ import { chevronUpIcon, chevronDownIcon, chevronLeftIcon, chevronRightIcon, xIcon, exclamationCircleIcon, checkIcon, caretAltExpandIcon, dropletSlashIcon, dropletSliderIcon, paletteIcon, hyperlinkOpenIcon } from '@progress/kendo-svg-icons';
17
17
  import { NgClass, NgTemplateOutlet, NgStyle } from '@angular/common';
18
18
  import { ButtonComponent } from '@progress/kendo-angular-buttons';
19
19
  import * as i1$1 from '@progress/kendo-angular-intl';
@@ -583,8 +583,8 @@ const packageMetadata = {
583
583
  productName: 'Kendo UI for Angular',
584
584
  productCode: 'KENDOUIANGULAR',
585
585
  productCodes: ['KENDOUIANGULAR'],
586
- publishDate: 1784041064,
587
- version: '25.0.0-develop.6',
586
+ publishDate: 1784795854,
587
+ version: '25.0.0-develop.8',
588
588
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
589
589
  };
590
590
 
@@ -1176,6 +1176,12 @@ class SliderComponent extends SliderBase {
1176
1176
  get currentValue() {
1177
1177
  return isPresent(this.value) ? this.value.toString() : '';
1178
1178
  }
1179
+ /**
1180
+ * @hidden
1181
+ */
1182
+ get hostAriaLabel() {
1183
+ return this.hostElement.nativeElement.getAttribute('aria-label');
1184
+ }
1179
1185
  /**
1180
1186
  * @hidden
1181
1187
  */
@@ -1248,6 +1254,9 @@ class SliderComponent extends SliderBase {
1248
1254
  }
1249
1255
  this.attachElementEventHandlers();
1250
1256
  this.isSliderInvalid();
1257
+ if (this.control) {
1258
+ this.subscriptions.add(this.control.statusChanges.subscribe(() => this.isSliderInvalid()));
1259
+ }
1251
1260
  }
1252
1261
  ngOnDestroy() {
1253
1262
  if (this.subscriptions) {
@@ -1449,9 +1458,13 @@ class SliderComponent extends SliderBase {
1449
1458
  };
1450
1459
  }
1451
1460
  isSliderInvalid() {
1452
- const sliderClasses = this.hostElement.nativeElement.classList;
1453
- this.isInvalid = sliderClasses.contains('ng-invalid') ? true : false;
1454
- this.renderer.setAttribute(this.draghandle.nativeElement, 'aria-invalid', `${this.isInvalid}`);
1461
+ this.isInvalid = !!(this.control?.invalid && (this.control?.touched || this.control?.dirty));
1462
+ if (this.isInvalid) {
1463
+ this.renderer.setAttribute(this.draghandle.nativeElement, 'aria-invalid', 'true');
1464
+ }
1465
+ else {
1466
+ this.renderer.removeAttribute(this.draghandle.nativeElement, 'aria-invalid');
1467
+ }
1455
1468
  }
1456
1469
  attachElementEventHandlers() {
1457
1470
  const hostElement = this.hostElement.nativeElement;
@@ -1507,6 +1520,7 @@ class SliderComponent extends SliderBase {
1507
1520
  if (hasObservers(this.onBlur) || requiresZoneOnBlur(this.control)) {
1508
1521
  this.ngZone.run(() => {
1509
1522
  this.ngTouched();
1523
+ this.isSliderInvalid();
1510
1524
  if (!this.focusChangedProgrammatically) {
1511
1525
  this.onBlur.emit();
1512
1526
  }
@@ -1595,10 +1609,10 @@ class SliderComponent extends SliderBase {
1595
1609
  [attr.aria-valuemin]="min"
1596
1610
  [attr.aria-valuemax]="max"
1597
1611
  [attr.aria-valuenow]="currentValue"
1598
- [attr.aria-valuetext]="currentValue"
1599
1612
  [attr.aria-disabled]="disabled ? true : undefined"
1600
1613
  [attr.aria-readonly]="readonly ? true : undefined"
1601
- [attr.aria-orientation]="vertical ? 'vertical' : 'horizontal'"
1614
+ [attr.aria-orientation]="vertical ? 'vertical' : null"
1615
+ [attr.aria-label]="hostAriaLabel"
1602
1616
  [style.touch-action]="isDisabled ? '' : 'none'"
1603
1617
  class="k-draghandle k-draghandle-end"
1604
1618
  [title]="dragHandleMessage"
@@ -1690,10 +1704,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
1690
1704
  [attr.aria-valuemin]="min"
1691
1705
  [attr.aria-valuemax]="max"
1692
1706
  [attr.aria-valuenow]="currentValue"
1693
- [attr.aria-valuetext]="currentValue"
1694
1707
  [attr.aria-disabled]="disabled ? true : undefined"
1695
1708
  [attr.aria-readonly]="readonly ? true : undefined"
1696
- [attr.aria-orientation]="vertical ? 'vertical' : 'horizontal'"
1709
+ [attr.aria-orientation]="vertical ? 'vertical' : null"
1710
+ [attr.aria-label]="hostAriaLabel"
1697
1711
  [style.touch-action]="isDisabled ? '' : 'none'"
1698
1712
  class="k-draghandle k-draghandle-end"
1699
1713
  [title]="dragHandleMessage"
@@ -1899,6 +1913,20 @@ class RangeSliderComponent extends SliderBase {
1899
1913
  activeHandle = 'startHandle';
1900
1914
  focusChangedProgrammatically = false;
1901
1915
  isInvalid;
1916
+ /**
1917
+ * @hidden
1918
+ */
1919
+ get startHandleAriaLabel() {
1920
+ const hostLabel = this.hostElement?.nativeElement?.getAttribute('aria-label');
1921
+ return hostLabel ? `${hostLabel} start` : null;
1922
+ }
1923
+ /**
1924
+ * @hidden
1925
+ */
1926
+ get endHandleAriaLabel() {
1927
+ const hostLabel = this.hostElement?.nativeElement?.getAttribute('aria-label');
1928
+ return hostLabel ? `${hostLabel} end` : null;
1929
+ }
1902
1930
  constructor(localization, injector, renderer, ngZone, changeDetector, hostElement) {
1903
1931
  super(localization, injector, renderer, ngZone, changeDetector, hostElement);
1904
1932
  this.localization = localization;
@@ -1956,6 +1984,9 @@ class RangeSliderComponent extends SliderBase {
1956
1984
  }
1957
1985
  this.isRangeSliderInvalid();
1958
1986
  this.attachElementEventHandlers();
1987
+ if (this.control) {
1988
+ this.subscriptions.add(this.control.statusChanges.subscribe(() => this.isRangeSliderInvalid()));
1989
+ }
1959
1990
  }
1960
1991
  ngOnDestroy() {
1961
1992
  if (this.subscriptions) {
@@ -2213,10 +2244,15 @@ class RangeSliderComponent extends SliderBase {
2213
2244
  };
2214
2245
  }
2215
2246
  isRangeSliderInvalid() {
2216
- const rangeSliderClasses = this.hostElement.nativeElement.classList;
2217
- this.isInvalid = rangeSliderClasses.contains('ng-invalid') ? true : false;
2218
- this.renderer.setAttribute(this.draghandleStart.nativeElement, 'aria-invalid', `${this.isInvalid}`);
2219
- this.renderer.setAttribute(this.draghandleEnd.nativeElement, 'aria-invalid', `${this.isInvalid}`);
2247
+ this.isInvalid = !!(this.control?.invalid && (this.control?.touched || this.control?.dirty));
2248
+ if (this.isInvalid) {
2249
+ this.renderer.setAttribute(this.draghandleStart.nativeElement, 'aria-invalid', 'true');
2250
+ this.renderer.setAttribute(this.draghandleEnd.nativeElement, 'aria-invalid', 'true');
2251
+ }
2252
+ else {
2253
+ this.renderer.removeAttribute(this.draghandleStart.nativeElement, 'aria-invalid');
2254
+ this.renderer.removeAttribute(this.draghandleEnd.nativeElement, 'aria-invalid');
2255
+ }
2220
2256
  }
2221
2257
  attachElementEventHandlers() {
2222
2258
  const hostElement = this.hostElement.nativeElement;
@@ -2272,6 +2308,7 @@ class RangeSliderComponent extends SliderBase {
2272
2308
  if (hasObservers(this.onBlur) || requiresZoneOnBlur(this.control)) {
2273
2309
  this.ngZone.run(() => {
2274
2310
  this.ngTouched();
2311
+ this.isRangeSliderInvalid();
2275
2312
  if (!this.focusChangedProgrammatically) {
2276
2313
  this.onBlur.emit();
2277
2314
  }
@@ -2324,12 +2361,12 @@ class RangeSliderComponent extends SliderBase {
2324
2361
  [attr.aria-valuemin]="min"
2325
2362
  [attr.aria-valuemax]="max"
2326
2363
  [attr.aria-valuenow]="value ? value[0] : null"
2327
- [attr.aria-valuetext]="valueText"
2328
2364
  [attr.aria-disabled]="disabled ? true : undefined"
2329
2365
  [attr.aria-readonly]="readonly ? true : undefined"
2330
- [attr.aria-orientation]="vertical ? 'vertical' : 'horizontal'"
2366
+ [attr.aria-orientation]="vertical ? 'vertical' : null"
2367
+ [attr.aria-label]="startHandleAriaLabel"
2331
2368
  [style.touch-action]="isDisabled ? '' : 'none'"
2332
- class="k-draghandle"
2369
+ class="k-draghandle k-draghandle-start"
2333
2370
  [title]="textFor('dragHandleStart')"
2334
2371
  kendoDraggable
2335
2372
  (kendoPress)="ifEnabled(handleDragPress ,$event)"
@@ -2343,12 +2380,12 @@ class RangeSliderComponent extends SliderBase {
2343
2380
  [attr.aria-valuemin]="min"
2344
2381
  [attr.aria-valuemax]="max"
2345
2382
  [attr.aria-valuenow]="value ? value[1] : null"
2346
- [attr.aria-valuetext]="valueText"
2347
2383
  [attr.aria-disabled]="disabled ? true : undefined"
2348
2384
  [attr.aria-readonly]="readonly ? true : undefined"
2349
- [attr.aria-orientation]="vertical ? 'vertical' : 'horizontal'"
2385
+ [attr.aria-orientation]="vertical ? 'vertical' : null"
2386
+ [attr.aria-label]="endHandleAriaLabel"
2350
2387
  [style.touch-action]="isDisabled ? '' : 'none'"
2351
- class="k-draghandle"
2388
+ class="k-draghandle k-draghandle-end"
2352
2389
  [title]="textFor('dragHandleEnd')"
2353
2390
  kendoDraggable
2354
2391
  (kendoPress)="ifEnabled(handleDragPress ,$event)"
@@ -2411,12 +2448,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
2411
2448
  [attr.aria-valuemin]="min"
2412
2449
  [attr.aria-valuemax]="max"
2413
2450
  [attr.aria-valuenow]="value ? value[0] : null"
2414
- [attr.aria-valuetext]="valueText"
2415
2451
  [attr.aria-disabled]="disabled ? true : undefined"
2416
2452
  [attr.aria-readonly]="readonly ? true : undefined"
2417
- [attr.aria-orientation]="vertical ? 'vertical' : 'horizontal'"
2453
+ [attr.aria-orientation]="vertical ? 'vertical' : null"
2454
+ [attr.aria-label]="startHandleAriaLabel"
2418
2455
  [style.touch-action]="isDisabled ? '' : 'none'"
2419
- class="k-draghandle"
2456
+ class="k-draghandle k-draghandle-start"
2420
2457
  [title]="textFor('dragHandleStart')"
2421
2458
  kendoDraggable
2422
2459
  (kendoPress)="ifEnabled(handleDragPress ,$event)"
@@ -2430,12 +2467,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
2430
2467
  [attr.aria-valuemin]="min"
2431
2468
  [attr.aria-valuemax]="max"
2432
2469
  [attr.aria-valuenow]="value ? value[1] : null"
2433
- [attr.aria-valuetext]="valueText"
2434
2470
  [attr.aria-disabled]="disabled ? true : undefined"
2435
2471
  [attr.aria-readonly]="readonly ? true : undefined"
2436
- [attr.aria-orientation]="vertical ? 'vertical' : 'horizontal'"
2472
+ [attr.aria-orientation]="vertical ? 'vertical' : null"
2473
+ [attr.aria-label]="endHandleAriaLabel"
2437
2474
  [style.touch-action]="isDisabled ? '' : 'none'"
2438
- class="k-draghandle"
2475
+ class="k-draghandle k-draghandle-end"
2439
2476
  [title]="textFor('dragHandleEnd')"
2440
2477
  kendoDraggable
2441
2478
  (kendoPress)="ifEnabled(handleDragPress ,$event)"
@@ -2661,7 +2698,7 @@ class SwitchComponent {
2661
2698
  return this.disabled ? true : undefined;
2662
2699
  }
2663
2700
  get ariaReadonly() {
2664
- return this.readonly;
2701
+ return this.readonly || null;
2665
2702
  }
2666
2703
  hostClasses = true;
2667
2704
  get disabledClass() {
@@ -4899,11 +4936,11 @@ class NumericTextBoxComponent {
4899
4936
  <button
4900
4937
  type="button"
4901
4938
  [kendoEventsOutsideAngular]="{ mousedown: increasePress }"
4902
- [attr.aria-hidden]="true"
4903
4939
  [attr.aria-label]="incrementTitle"
4904
4940
  [title]="incrementTitle"
4905
4941
  class="k-spinner-increase k-button k-icon-button"
4906
4942
  [class.k-active]="arrowDirection === ArrowDirection.Up"
4943
+ [class.k-disabled]="disabled"
4907
4944
  tabindex="-1"
4908
4945
  >
4909
4946
  <kendo-icon-wrapper
@@ -4916,10 +4953,10 @@ class NumericTextBoxComponent {
4916
4953
  <button
4917
4954
  type="button"
4918
4955
  [kendoEventsOutsideAngular]="{ mousedown: decreasePress }"
4919
- [attr.aria-hidden]="true"
4920
4956
  [attr.aria-label]="decrementTitle"
4921
4957
  [title]="decrementTitle"
4922
4958
  [class.k-active]="arrowDirection === ArrowDirection.Down"
4959
+ [class.k-disabled]="disabled"
4923
4960
  class="k-spinner-decrease k-button k-icon-button"
4924
4961
  tabindex="-1"
4925
4962
  >
@@ -5015,11 +5052,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
5015
5052
  <button
5016
5053
  type="button"
5017
5054
  [kendoEventsOutsideAngular]="{ mousedown: increasePress }"
5018
- [attr.aria-hidden]="true"
5019
5055
  [attr.aria-label]="incrementTitle"
5020
5056
  [title]="incrementTitle"
5021
5057
  class="k-spinner-increase k-button k-icon-button"
5022
5058
  [class.k-active]="arrowDirection === ArrowDirection.Up"
5059
+ [class.k-disabled]="disabled"
5023
5060
  tabindex="-1"
5024
5061
  >
5025
5062
  <kendo-icon-wrapper
@@ -5032,10 +5069,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
5032
5069
  <button
5033
5070
  type="button"
5034
5071
  [kendoEventsOutsideAngular]="{ mousedown: decreasePress }"
5035
- [attr.aria-hidden]="true"
5036
5072
  [attr.aria-label]="decrementTitle"
5037
5073
  [title]="decrementTitle"
5038
5074
  [class.k-active]="arrowDirection === ArrowDirection.Down"
5075
+ [class.k-disabled]="disabled"
5039
5076
  class="k-spinner-decrease k-button k-icon-button"
5040
5077
  tabindex="-1"
5041
5078
  >
@@ -5815,6 +5852,9 @@ class MaskedTextBoxComponent {
5815
5852
  get hostDisabledClass() {
5816
5853
  return this.disabled;
5817
5854
  }
5855
+ get hostInvalidClass() {
5856
+ return this.isControlInvalid;
5857
+ }
5818
5858
  /**
5819
5859
  * Returns the `ElementRef` of the visible `input` element.
5820
5860
  */
@@ -6245,7 +6285,7 @@ class MaskedTextBoxComponent {
6245
6285
  setHTMLAttributes(attributesToRender, this.renderer, this.input.nativeElement, this.injector);
6246
6286
  }
6247
6287
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MaskedTextBoxComponent, deps: [{ token: MaskingService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: RTL, optional: true }], target: i0.ɵɵFactoryTarget.Component });
6248
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: MaskedTextBoxComponent, isStandalone: true, selector: "kendo-maskedtextbox", inputs: { focusableId: "focusableId", disabled: "disabled", readonly: "readonly", title: "title", size: "size", rounded: "rounded", fillMode: "fillMode", mask: "mask", value: "value", rules: "rules", prompt: "prompt", promptPlaceholder: "promptPlaceholder", includeLiterals: "includeLiterals", maskOnFocus: "maskOnFocus", maskValidation: "maskValidation", tabindex: "tabindex", tabIndex: "tabIndex", inputAttributes: "inputAttributes" }, outputs: { onFocus: "focus", onBlur: "blur", inputFocus: "inputFocus", inputBlur: "inputBlur", valueChange: "valueChange" }, host: { listeners: { "paste": "pasteHandler($event)", "input": "inputHandler($event)" }, properties: { "class.k-readonly": "this.readonly", "attr.dir": "this.direction", "class.k-disabled": "this.hostDisabledClass" } }, providers: [
6288
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: MaskedTextBoxComponent, isStandalone: true, selector: "kendo-maskedtextbox", inputs: { focusableId: "focusableId", disabled: "disabled", readonly: "readonly", title: "title", size: "size", rounded: "rounded", fillMode: "fillMode", mask: "mask", value: "value", rules: "rules", prompt: "prompt", promptPlaceholder: "promptPlaceholder", includeLiterals: "includeLiterals", maskOnFocus: "maskOnFocus", maskValidation: "maskValidation", tabindex: "tabindex", tabIndex: "tabIndex", inputAttributes: "inputAttributes" }, outputs: { onFocus: "focus", onBlur: "blur", inputFocus: "inputFocus", inputBlur: "inputBlur", valueChange: "valueChange" }, host: { listeners: { "paste": "pasteHandler($event)", "input": "inputHandler($event)" }, properties: { "class.k-readonly": "this.readonly", "attr.dir": "this.direction", "class.k-disabled": "this.hostDisabledClass", "class.k-invalid": "this.hostInvalidClass" } }, providers: [
6249
6289
  MaskingService,
6250
6290
  {
6251
6291
  multi: true,
@@ -6457,6 +6497,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
6457
6497
  }], hostDisabledClass: [{
6458
6498
  type: HostBinding,
6459
6499
  args: ['class.k-disabled']
6500
+ }], hostInvalidClass: [{
6501
+ type: HostBinding,
6502
+ args: ['class.k-invalid']
6460
6503
  }], input: [{
6461
6504
  type: ViewChild,
6462
6505
  args: ['input', { static: true }]
@@ -9031,7 +9074,7 @@ class ContrastValidationComponent {
9031
9074
  pass;
9032
9075
  value;
9033
9076
  checkIcon = checkIcon;
9034
- xCircleIcon = xCircleIcon;
9077
+ xIcon = xIcon;
9035
9078
  constructor(localization) {
9036
9079
  this.localization = localization;
9037
9080
  }
@@ -9050,14 +9093,14 @@ class ContrastValidationComponent {
9050
9093
  <span>{{contrastText}}</span>
9051
9094
  @if (value) {
9052
9095
  @if (pass) {
9053
- <span class="k-contrast-validation k-text-success">
9096
+ <span class="k-contrast-validation !k-text-success">
9054
9097
  {{passMessage}}
9055
9098
  <kendo-icon-wrapper name="check" [svgIcon]="checkIcon"></kendo-icon-wrapper>
9056
9099
  </span>
9057
9100
  } @else {
9058
- <span class="k-contrast-validation k-text-error">
9101
+ <span class="k-contrast-validation !k-text-error">
9059
9102
  {{failMessage}}
9060
- <kendo-icon-wrapper name="x" [svgIcon]="xCircleIcon"></kendo-icon-wrapper>
9103
+ <kendo-icon-wrapper name="x" [svgIcon]="xIcon"></kendo-icon-wrapper>
9061
9104
  </span>
9062
9105
  }
9063
9106
  }
@@ -9071,14 +9114,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
9071
9114
  <span>{{contrastText}}</span>
9072
9115
  @if (value) {
9073
9116
  @if (pass) {
9074
- <span class="k-contrast-validation k-text-success">
9117
+ <span class="k-contrast-validation !k-text-success">
9075
9118
  {{passMessage}}
9076
9119
  <kendo-icon-wrapper name="check" [svgIcon]="checkIcon"></kendo-icon-wrapper>
9077
9120
  </span>
9078
9121
  } @else {
9079
- <span class="k-contrast-validation k-text-error">
9122
+ <span class="k-contrast-validation !k-text-error">
9080
9123
  {{failMessage}}
9081
- <kendo-icon-wrapper name="x" [svgIcon]="xCircleIcon"></kendo-icon-wrapper>
9124
+ <kendo-icon-wrapper name="x" [svgIcon]="xIcon"></kendo-icon-wrapper>
9082
9125
  </span>
9083
9126
  }
9084
9127
  }
@@ -9102,7 +9145,7 @@ class ContrastComponent {
9102
9145
  value;
9103
9146
  ratio;
9104
9147
  checkIcon = checkIcon;
9105
- xCircleIcon = xCircleIcon;
9148
+ xIcon = xIcon;
9106
9149
  constructor(localization) {
9107
9150
  this.localization = localization;
9108
9151
  }
@@ -9128,15 +9171,15 @@ class ContrastComponent {
9128
9171
  <span class="k-contrast-ratio-text">{{contrastRatioText}}</span>
9129
9172
  @if (value) {
9130
9173
  @if (satisfiesAACondition) {
9131
- <span class="k-contrast-validation k-text-success">
9174
+ <span class="k-contrast-validation !k-text-success">
9132
9175
  <kendo-icon-wrapper name="check" [svgIcon]="checkIcon"></kendo-icon-wrapper>
9133
9176
  @if (satisfiesAAACondition) {
9134
9177
  <kendo-icon-wrapper name="check" [svgIcon]="checkIcon"></kendo-icon-wrapper>
9135
9178
  }
9136
9179
  </span>
9137
9180
  } @else {
9138
- <span class="k-contrast-validation k-text-error">
9139
- <kendo-icon-wrapper name="x" [svgIcon]="xCircleIcon"></kendo-icon-wrapper>
9181
+ <span class="k-contrast-validation !k-text-error">
9182
+ <kendo-icon-wrapper name="x" [svgIcon]="xIcon"></kendo-icon-wrapper>
9140
9183
  </span>
9141
9184
  }
9142
9185
  }
@@ -9162,15 +9205,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
9162
9205
  <span class="k-contrast-ratio-text">{{contrastRatioText}}</span>
9163
9206
  @if (value) {
9164
9207
  @if (satisfiesAACondition) {
9165
- <span class="k-contrast-validation k-text-success">
9208
+ <span class="k-contrast-validation !k-text-success">
9166
9209
  <kendo-icon-wrapper name="check" [svgIcon]="checkIcon"></kendo-icon-wrapper>
9167
9210
  @if (satisfiesAAACondition) {
9168
9211
  <kendo-icon-wrapper name="check" [svgIcon]="checkIcon"></kendo-icon-wrapper>
9169
9212
  }
9170
9213
  </span>
9171
9214
  } @else {
9172
- <span class="k-contrast-validation k-text-error">
9173
- <kendo-icon-wrapper name="x" [svgIcon]="xCircleIcon"></kendo-icon-wrapper>
9215
+ <span class="k-contrast-validation !k-text-error">
9216
+ <kendo-icon-wrapper name="x" [svgIcon]="xIcon"></kendo-icon-wrapper>
9174
9217
  </span>
9175
9218
  }
9176
9219
  }
@@ -9208,6 +9251,7 @@ class ColorContrastSvgComponent {
9208
9251
  oldH;
9209
9252
  oldA;
9210
9253
  metrics;
9254
+ hsvaSub;
9211
9255
  ngAfterViewInit() {
9212
9256
  if (!isDocumentAvailable()) {
9213
9257
  return;
@@ -9215,7 +9259,7 @@ class ColorContrastSvgComponent {
9215
9259
  this.metrics = this.wrapper.getBoundingClientRect();
9216
9260
  this.oldA = this.hsva.value.a;
9217
9261
  this.oldH = this.hsva.value.h;
9218
- this.hsva.subscribe((value) => {
9262
+ this.hsvaSub = this.hsva.subscribe((value) => {
9219
9263
  if (value.h !== this.oldH || value.a !== this.oldA) {
9220
9264
  this.oldH = value.h;
9221
9265
  this.oldA = value.a;
@@ -9228,6 +9272,9 @@ class ColorContrastSvgComponent {
9228
9272
  this.setPaths();
9229
9273
  }
9230
9274
  }
9275
+ ngOnDestroy() {
9276
+ this.hsvaSub?.unsubscribe();
9277
+ }
9231
9278
  setPaths() {
9232
9279
  const bezierCommandCalc = bezierCommand(controlPoint(line));
9233
9280
  this.paths = [svgPath(this.getPaths(AA_RATIO, STEP_COUNT), bezierCommandCalc),
@@ -9254,6 +9301,10 @@ class ColorContrastSvgComponent {
9254
9301
  }
9255
9302
  getPaths(contrast, stepCount, reversed = false) {
9256
9303
  const points = [];
9304
+ const hasDimensionts = this.metrics.width && this.metrics.height;
9305
+ if (!hasDimensionts) {
9306
+ return points;
9307
+ }
9257
9308
  for (let i = 0; i <= this.metrics.width; i += this.metrics.width / stepCount) {
9258
9309
  const value = this.findValue(contrast, i, 0, this.metrics.height, reversed ? ((a, b) => a < b) : ((a, b) => a > b));
9259
9310
  if (value !== null) {
@@ -9540,7 +9591,7 @@ class ColorGradientComponent {
9540
9591
  injector;
9541
9592
  hostClasses = true;
9542
9593
  get readonlyAttribute() {
9543
- return this.ariaAttributesEnabled ? this.readonly : undefined;
9594
+ return this.ariaAttributesEnabled ? (this.readonly || null) : undefined;
9544
9595
  }
9545
9596
  get disabledClass() {
9546
9597
  return this.disabled;
@@ -9553,13 +9604,13 @@ class ColorGradientComponent {
9553
9604
  return this.tabindex?.toString() || '0';
9554
9605
  }
9555
9606
  get ariaRole() {
9556
- return this.ariaAttributesEnabled ? 'textbox' : undefined;
9607
+ return this.ariaAttributesEnabled ? 'textbox' : 'none';
9557
9608
  }
9558
9609
  get isControlInvalid() {
9559
- return this.ariaAttributesEnabled ? (this.control?.invalid)?.toString() : undefined;
9610
+ return this.ariaAttributesEnabled ? (this.control?.invalid && (this.control?.touched || this.control?.dirty))?.toString() : undefined;
9560
9611
  }
9561
9612
  get isDisabled() {
9562
- return this.disabled?.toString() || undefined;
9613
+ return this.disabled ? this.disabled.toString() : null;
9563
9614
  }
9564
9615
  /**
9565
9616
  * @hidden
@@ -9766,6 +9817,12 @@ class ColorGradientComponent {
9766
9817
  get hsvSliderValueText() {
9767
9818
  return `X: ${this.hsvHandleCoordinates.x} Y: ${this.hsvHandleCoordinates.y}`;
9768
9819
  }
9820
+ /**
9821
+ * @hidden
9822
+ */
9823
+ get hsvSliderValueNow() {
9824
+ return Math.round((1 - this.hsva.value.v) * 100);
9825
+ }
9769
9826
  /**
9770
9827
  * @hidden
9771
9828
  */
@@ -10213,7 +10270,9 @@ class ColorGradientComponent {
10213
10270
  [attr.aria-readonly]="readonly ? readonly : undefined"
10214
10271
  [attr.aria-disabled]="disabled ? disabled : undefined"
10215
10272
  [attr.aria-orientation]="'undefined'"
10216
- [attr.aria-valuenow]="'0'"
10273
+ [attr.aria-valuenow]="hsvSliderValueNow"
10274
+ aria-valuemin="0"
10275
+ aria-valuemax="100"
10217
10276
  (keydown.shift.tab)="$event.preventDefault(); inputs.focusLast();">
10218
10277
  </div>
10219
10278
  </div>
@@ -10257,6 +10316,7 @@ class ColorGradientComponent {
10257
10316
  [style.height.px]="clearButton ? '140' : null"
10258
10317
  class="k-hue-slider k-colorgradient-slider"
10259
10318
  [dragHandleTitle]="hueSliderTitle"
10319
+ [attr.aria-label]="hueSliderTitle"
10260
10320
  [tabindex]="innerTabIndex"
10261
10321
  [disabled]="disabled"
10262
10322
  [readonly]="readonly"
@@ -10279,6 +10339,7 @@ class ColorGradientComponent {
10279
10339
  [style.height.px]="clearButton ? '140' : null"
10280
10340
  class="k-alpha-slider k-colorgradient-slider"
10281
10341
  [dragHandleTitle]="opacitySliderTitle"
10342
+ [attr.aria-label]="opacitySliderTitle"
10282
10343
  [disabled]="disabled"
10283
10344
  [readonly]="readonly"
10284
10345
  [showButtons]="false"
@@ -10404,7 +10465,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
10404
10465
  [attr.aria-readonly]="readonly ? readonly : undefined"
10405
10466
  [attr.aria-disabled]="disabled ? disabled : undefined"
10406
10467
  [attr.aria-orientation]="'undefined'"
10407
- [attr.aria-valuenow]="'0'"
10468
+ [attr.aria-valuenow]="hsvSliderValueNow"
10469
+ aria-valuemin="0"
10470
+ aria-valuemax="100"
10408
10471
  (keydown.shift.tab)="$event.preventDefault(); inputs.focusLast();">
10409
10472
  </div>
10410
10473
  </div>
@@ -10448,6 +10511,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
10448
10511
  [style.height.px]="clearButton ? '140' : null"
10449
10512
  class="k-hue-slider k-colorgradient-slider"
10450
10513
  [dragHandleTitle]="hueSliderTitle"
10514
+ [attr.aria-label]="hueSliderTitle"
10451
10515
  [tabindex]="innerTabIndex"
10452
10516
  [disabled]="disabled"
10453
10517
  [readonly]="readonly"
@@ -10470,6 +10534,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
10470
10534
  [style.height.px]="clearButton ? '140' : null"
10471
10535
  class="k-alpha-slider k-colorgradient-slider"
10472
10536
  [dragHandleTitle]="opacitySliderTitle"
10537
+ [attr.aria-label]="opacitySliderTitle"
10473
10538
  [disabled]="disabled"
10474
10539
  [readonly]="readonly"
10475
10540
  [showButtons]="false"
@@ -10920,6 +10985,10 @@ class ColorPaletteComponent {
10920
10985
  * @hidden
10921
10986
  */
10922
10987
  hostClasses = true;
10988
+ /**
10989
+ * @hidden
10990
+ */
10991
+ get ariaDisabled() { return this.disabled || null; }
10923
10992
  /**
10924
10993
  * @hidden
10925
10994
  */
@@ -10927,7 +10996,7 @@ class ColorPaletteComponent {
10927
10996
  /**
10928
10997
  * @hidden
10929
10998
  */
10930
- get readonlyAttribute() { return this.readonly; }
10999
+ get readonlyAttribute() { return this.readonly || null; }
10931
11000
  /**
10932
11001
  * @hidden
10933
11002
  */
@@ -11184,7 +11253,7 @@ class ColorPaletteComponent {
11184
11253
  notifyNgTouched = () => { };
11185
11254
  notifyNgChanged = () => { };
11186
11255
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ColorPaletteComponent, deps: [{ token: i0.ElementRef }, { token: ColorPaletteService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
11187
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: ColorPaletteComponent, isStandalone: true, selector: "kendo-colorpalette", inputs: { id: "id", format: "format", value: "value", columns: "columns", palette: "palette", size: "size", 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", "class.k-readonly": "this.readonly", "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: [
11256
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: ColorPaletteComponent, isStandalone: true, selector: "kendo-colorpalette", inputs: { id: "id", format: "format", value: "value", columns: "columns", palette: "palette", size: "size", 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", "class.k-readonly": "this.readonly", "attr.tabindex": "this.hostTabindex", "class.k-colorpalette": "this.hostClasses", "attr.aria-disabled": "this.ariaDisabled", "class.k-disabled": "this.disabledClass", "attr.aria-readonly": "this.readonlyAttribute" } }, providers: [
11188
11257
  {
11189
11258
  multi: true,
11190
11259
  provide: NG_VALUE_ACCESSOR,
@@ -11345,10 +11414,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
11345
11414
  }], hostClasses: [{
11346
11415
  type: HostBinding,
11347
11416
  args: ['class.k-colorpalette']
11348
- }], disabledClass: [{
11417
+ }], ariaDisabled: [{
11349
11418
  type: HostBinding,
11350
11419
  args: ['attr.aria-disabled']
11351
- }, {
11420
+ }], disabledClass: [{
11352
11421
  type: HostBinding,
11353
11422
  args: ['class.k-disabled']
11354
11423
  }], readonlyAttribute: [{
@@ -11535,7 +11604,7 @@ class FlatColorPickerHeaderComponent {
11535
11604
  class="k-button-group k-button-group-flat"
11536
11605
  role="group"
11537
11606
  >
11538
- @for (view of views; track view; let i = $index) {
11607
+ @for (view of views; track view; let i = $index; let isFirst = $first; let isLast = $last) {
11539
11608
  <button
11540
11609
  kendoButton
11541
11610
  type="button"
@@ -11550,6 +11619,8 @@ class FlatColorPickerHeaderComponent {
11550
11619
  [attr.title]="getText(view === 'gradient' ? 'gradientView' : 'paletteView')"
11551
11620
  [attr.aria-label]="getText(view === 'gradient' ? 'gradientView' : 'paletteView')"
11552
11621
  [attr.aria-pressed]="activeView === view"
11622
+ [class.k-group-start]="isFirst"
11623
+ [class.k-group-end]="isLast"
11553
11624
  [ngClass]="activeView === view ? 'k-selected' : ''">
11554
11625
  </button>
11555
11626
  }
@@ -11568,7 +11639,6 @@ class FlatColorPickerHeaderComponent {
11568
11639
  fillMode="flat"
11569
11640
  icon="reset-color"
11570
11641
  [svgIcon]="dropletSlashIcon"
11571
- class="k-coloreditor-reset"
11572
11642
  [attr.aria-label]="getText('clearButton')"
11573
11643
  [attr.title]="getText('clearButton')"
11574
11644
  (click)="clearButtonClick.emit()">
@@ -11578,13 +11648,17 @@ class FlatColorPickerHeaderComponent {
11578
11648
  <div class="k-coloreditor-preview k-vstack" aria-hidden="true">
11579
11649
  <span
11580
11650
  class="k-coloreditor-preview-color k-color-preview"
11651
+ [class.k-no-color]="!selection"
11581
11652
  [attr.title]="getText('previewColor')"
11582
11653
  [style.background-color]="selection">
11654
+ <span class="k-color-preview-mask" [style.background-color]="selection"></span>
11583
11655
  </span>
11584
11656
  <span class="k-coloreditor-current-color k-color-preview"
11657
+ [class.k-no-color]="!value"
11585
11658
  [style.background-color]="value"
11586
11659
  [attr.title]="getText('revertSelection')"
11587
11660
  (click)="valuePaneClick.emit($event)">
11661
+ <span class="k-color-preview-mask" [style.background-color]="value"></span>
11588
11662
  </span>
11589
11663
  </div>
11590
11664
  }
@@ -11602,7 +11676,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
11602
11676
  class="k-button-group k-button-group-flat"
11603
11677
  role="group"
11604
11678
  >
11605
- @for (view of views; track view; let i = $index) {
11679
+ @for (view of views; track view; let i = $index; let isFirst = $first; let isLast = $last) {
11606
11680
  <button
11607
11681
  kendoButton
11608
11682
  type="button"
@@ -11617,6 +11691,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
11617
11691
  [attr.title]="getText(view === 'gradient' ? 'gradientView' : 'paletteView')"
11618
11692
  [attr.aria-label]="getText(view === 'gradient' ? 'gradientView' : 'paletteView')"
11619
11693
  [attr.aria-pressed]="activeView === view"
11694
+ [class.k-group-start]="isFirst"
11695
+ [class.k-group-end]="isLast"
11620
11696
  [ngClass]="activeView === view ? 'k-selected' : ''">
11621
11697
  </button>
11622
11698
  }
@@ -11635,7 +11711,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
11635
11711
  fillMode="flat"
11636
11712
  icon="reset-color"
11637
11713
  [svgIcon]="dropletSlashIcon"
11638
- class="k-coloreditor-reset"
11639
11714
  [attr.aria-label]="getText('clearButton')"
11640
11715
  [attr.title]="getText('clearButton')"
11641
11716
  (click)="clearButtonClick.emit()">
@@ -11645,13 +11720,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
11645
11720
  <div class="k-coloreditor-preview k-vstack" aria-hidden="true">
11646
11721
  <span
11647
11722
  class="k-coloreditor-preview-color k-color-preview"
11723
+ [class.k-no-color]="!selection"
11648
11724
  [attr.title]="getText('previewColor')"
11649
11725
  [style.background-color]="selection">
11726
+ <span class="k-color-preview-mask" [style.background-color]="selection"></span>
11650
11727
  </span>
11651
11728
  <span class="k-coloreditor-current-color k-color-preview"
11729
+ [class.k-no-color]="!value"
11652
11730
  [style.background-color]="value"
11653
11731
  [attr.title]="getText('revertSelection')"
11654
11732
  (click)="valuePaneClick.emit($event)">
11733
+ <span class="k-color-preview-mask" [style.background-color]="value"></span>
11655
11734
  </span>
11656
11735
  </div>
11657
11736
  }
@@ -11826,8 +11905,11 @@ class FlatColorPickerComponent {
11826
11905
  get disabledClass() {
11827
11906
  return this.disabled;
11828
11907
  }
11908
+ get ariaDisabled() {
11909
+ return this.disabled || null;
11910
+ }
11829
11911
  get ariaReadonly() {
11830
- return this.readonly;
11912
+ return this.readonly || null;
11831
11913
  }
11832
11914
  direction;
11833
11915
  get hostTabindex() {
@@ -11835,10 +11917,7 @@ class FlatColorPickerComponent {
11835
11917
  }
11836
11918
  ariaRole = 'textbox';
11837
11919
  get isControlInvalid() {
11838
- return (this.control?.invalid)?.toString();
11839
- }
11840
- get isDisabled() {
11841
- return this.disabled?.toString() || undefined;
11920
+ return (this.control?.invalid && (this.control?.touched || this.control?.dirty))?.toString();
11842
11921
  }
11843
11922
  /**
11844
11923
  * @hidden
@@ -12321,13 +12400,13 @@ class FlatColorPickerComponent {
12321
12400
  }));
12322
12401
  this.subscriptions.add(this.renderer.listen(hostElement, 'blur', () => {
12323
12402
  this.focused = false;
12324
- this.notifyNgTouched();
12403
+ this.ngZone.run(() => this.notifyNgTouched());
12325
12404
  }));
12326
12405
  });
12327
12406
  }
12328
12407
  removeGradientAttributes() {
12329
12408
  if (this.gradientElement) {
12330
- this.renderer.removeAttribute(this.gradientElement.nativeElement, 'role');
12409
+ this.renderer.setAttribute(this.gradientElement.nativeElement, 'role', 'none');
12331
12410
  this.renderer.removeAttribute(this.gradientElement.nativeElement, 'aria-label');
12332
12411
  }
12333
12412
  }
@@ -12342,7 +12421,7 @@ class FlatColorPickerComponent {
12342
12421
  }
12343
12422
  }
12344
12423
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: FlatColorPickerComponent, deps: [{ token: i0.ElementRef }, { token: FlatColorPickerService }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
12345
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: FlatColorPickerComponent, isStandalone: true, selector: "kendo-flatcolorpicker", inputs: { readonly: "readonly", disabled: "disabled", format: "format", value: "value", tabindex: "tabindex", clearButton: "clearButton", preview: "preview", actionsLayout: "actionsLayout", activeView: "activeView", views: "views", gradientSettings: "gradientSettings", adaptiveMode: "adaptiveMode", paletteSettings: "paletteSettings", size: "size" }, outputs: { valueChange: "valueChange", cancel: "cancel", activeViewChange: "activeViewChange", clearButtonClick: "clearButtonClick", actionButtonClick: "actionButtonClick" }, host: { listeners: { "keydown.enter": "enterHandler($event)", "keydown.escape": "escapeHandler()", "focusin": "focusHandler($event)" }, properties: { "class.k-flatcolorpicker": "this.hostClasses", "class.k-coloreditor": "this.hostClasses", "class.k-disabled": "this.disabledClass", "attr.aria-disabled": "this.isDisabled", "attr.aria-readonly": "this.ariaReadonly", "attr.dir": "this.direction", "attr.tabindex": "this.hostTabindex", "attr.role": "this.ariaRole", "attr.aria-invalid": "this.isControlInvalid", "class.k-readonly": "this.readonly" } }, providers: [
12424
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: FlatColorPickerComponent, isStandalone: true, selector: "kendo-flatcolorpicker", inputs: { readonly: "readonly", disabled: "disabled", format: "format", value: "value", tabindex: "tabindex", clearButton: "clearButton", preview: "preview", actionsLayout: "actionsLayout", activeView: "activeView", views: "views", gradientSettings: "gradientSettings", adaptiveMode: "adaptiveMode", paletteSettings: "paletteSettings", size: "size" }, outputs: { valueChange: "valueChange", cancel: "cancel", activeViewChange: "activeViewChange", clearButtonClick: "clearButtonClick", actionButtonClick: "actionButtonClick" }, host: { listeners: { "keydown.enter": "enterHandler($event)", "keydown.escape": "escapeHandler()", "focusin": "focusHandler($event)" }, properties: { "class.k-flatcolorpicker": "this.hostClasses", "class.k-coloreditor": "this.hostClasses", "class.k-disabled": "this.disabledClass", "attr.aria-disabled": "this.ariaDisabled", "attr.aria-readonly": "this.ariaReadonly", "attr.dir": "this.direction", "attr.tabindex": "this.hostTabindex", "attr.role": "this.ariaRole", "attr.aria-invalid": "this.isControlInvalid", "class.k-readonly": "this.readonly" } }, providers: [
12346
12425
  {
12347
12426
  multi: true,
12348
12427
  provide: NG_VALUE_ACCESSOR,
@@ -12466,7 +12545,7 @@ class FlatColorPickerComponent {
12466
12545
  kendoFlatColorPickerActionButtons
12467
12546
  [innerTabIndex]="innerTabIndex"
12468
12547
  [size]="size"
12469
- [ngClass]="'k-justify-content-' + actionsLayout"
12548
+ [ngClass]="'k-actions-' + actionsLayout"
12470
12549
  (actionButtonClick)="onAction($event)"
12471
12550
  (tabOut)="firstFocusable.focus()">
12472
12551
  </div>
@@ -12603,7 +12682,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
12603
12682
  kendoFlatColorPickerActionButtons
12604
12683
  [innerTabIndex]="innerTabIndex"
12605
12684
  [size]="size"
12606
- [ngClass]="'k-justify-content-' + actionsLayout"
12685
+ [ngClass]="'k-actions-' + actionsLayout"
12607
12686
  (actionButtonClick)="onAction($event)"
12608
12687
  (tabOut)="firstFocusable.focus()">
12609
12688
  </div>
@@ -12621,7 +12700,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
12621
12700
  }], disabledClass: [{
12622
12701
  type: HostBinding,
12623
12702
  args: ['class.k-disabled']
12624
- }, {
12703
+ }], ariaDisabled: [{
12625
12704
  type: HostBinding,
12626
12705
  args: ['attr.aria-disabled']
12627
12706
  }], ariaReadonly: [{
@@ -12639,9 +12718,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
12639
12718
  }], isControlInvalid: [{
12640
12719
  type: HostBinding,
12641
12720
  args: ['attr.aria-invalid']
12642
- }], isDisabled: [{
12643
- type: HostBinding,
12644
- args: ['attr.aria-disabled']
12645
12721
  }], enterHandler: [{
12646
12722
  type: HostListener,
12647
12723
  args: ['keydown.enter', ['$event']]
@@ -13008,12 +13084,12 @@ class ColorPickerComponent {
13008
13084
  get focusedClass() {
13009
13085
  return this.isFocused;
13010
13086
  }
13011
- get disabledClass() {
13012
- return this.disabled;
13013
- }
13014
13087
  get ariaDisabled() {
13015
13088
  return this.disabled || null;
13016
13089
  }
13090
+ get disabledClass() {
13091
+ return this.disabled;
13092
+ }
13017
13093
  get ariaReadonly() {
13018
13094
  return this.readonly || null;
13019
13095
  }
@@ -13027,7 +13103,7 @@ class ColorPickerComponent {
13027
13103
  role = 'combobox';
13028
13104
  hasPopup = 'dialog';
13029
13105
  get isControlInvalid() {
13030
- return (this.control?.invalid)?.toString();
13106
+ return (this.control?.invalid && (this.control?.touched || this.control?.dirty))?.toString();
13031
13107
  }
13032
13108
  /**
13033
13109
  * @hidden
@@ -13830,7 +13906,7 @@ class ColorPickerComponent {
13830
13906
  }
13831
13907
  }
13832
13908
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ColorPickerComponent, deps: [{ token: i0.ElementRef }, { token: i1$2.PopupService }, { token: i0.ChangeDetectorRef }, { token: i1.LocalizationService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: i2.AdaptiveService }], target: i0.ɵɵFactoryTarget.Component });
13833
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: ColorPickerComponent, isStandalone: true, selector: "kendo-colorpicker", inputs: { views: "views", view: "view", adaptiveMode: "adaptiveMode", activeView: "activeView", readonly: "readonly", disabled: "disabled", format: "format", value: "value", popupSettings: "popupSettings", paletteSettings: "paletteSettings", gradientSettings: "gradientSettings", icon: "icon", iconClass: "iconClass", svgIcon: "svgIcon", adaptiveTitle: "adaptiveTitle", adaptiveSubtitle: "adaptiveSubtitle", clearButton: "clearButton", tabindex: "tabindex", preview: "preview", actionsLayout: "actionsLayout", size: "size", rounded: "rounded", fillMode: "fillMode" }, outputs: { valueChange: "valueChange", open: "open", close: "close", onFocus: "focus", onBlur: "blur", cancel: "cancel", activeColorClick: "activeColorClick", clearButtonClick: "clearButtonClick", activeViewChange: "activeViewChange" }, host: { properties: { "class.k-colorpicker": "this.hostClasses", "class.k-icon-picker": "this.hostClasses", "class.k-picker": "this.hostClasses", "class.k-focus": "this.focusedClass", "class.k-disabled": "this.disabledClass", "attr.aria-disabled": "this.ariaDisabled", "attr.aria-readonly": "this.ariaReadonly", "attr.aria-expanded": "this.ariaExpanded", "attr.tabindex": "this.hostTabindex", "attr.dir": "this.direction", "attr.role": "this.role", "attr.aria-haspopup": "this.hasPopup", "attr.aria-invalid": "this.isControlInvalid", "class.k-readonly": "this.readonly" } }, providers: [{
13909
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: ColorPickerComponent, isStandalone: true, selector: "kendo-colorpicker", inputs: { views: "views", view: "view", adaptiveMode: "adaptiveMode", activeView: "activeView", readonly: "readonly", disabled: "disabled", format: "format", value: "value", popupSettings: "popupSettings", paletteSettings: "paletteSettings", gradientSettings: "gradientSettings", icon: "icon", iconClass: "iconClass", svgIcon: "svgIcon", adaptiveTitle: "adaptiveTitle", adaptiveSubtitle: "adaptiveSubtitle", clearButton: "clearButton", tabindex: "tabindex", preview: "preview", actionsLayout: "actionsLayout", size: "size", rounded: "rounded", fillMode: "fillMode" }, outputs: { valueChange: "valueChange", open: "open", close: "close", onFocus: "focus", onBlur: "blur", cancel: "cancel", activeColorClick: "activeColorClick", clearButtonClick: "clearButtonClick", activeViewChange: "activeViewChange" }, host: { properties: { "class.k-colorpicker": "this.hostClasses", "class.k-icon-picker": "this.hostClasses", "class.k-picker": "this.hostClasses", "class.k-focus": "this.focusedClass", "attr.aria-disabled": "this.ariaDisabled", "class.k-disabled": "this.disabledClass", "attr.aria-readonly": "this.ariaReadonly", "attr.aria-expanded": "this.ariaExpanded", "attr.tabindex": "this.hostTabindex", "attr.dir": "this.direction", "attr.role": "this.role", "attr.aria-haspopup": "this.hasPopup", "attr.aria-invalid": "this.isControlInvalid", "class.k-readonly": "this.readonly" } }, providers: [{
13834
13910
  multi: true,
13835
13911
  provide: NG_VALUE_ACCESSOR,
13836
13912
  useExisting: forwardRef(() => ColorPickerComponent)
@@ -14146,12 +14222,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
14146
14222
  }], focusedClass: [{
14147
14223
  type: HostBinding,
14148
14224
  args: ['class.k-focus']
14149
- }], disabledClass: [{
14150
- type: HostBinding,
14151
- args: ['class.k-disabled']
14152
14225
  }], ariaDisabled: [{
14153
14226
  type: HostBinding,
14154
14227
  args: ['attr.aria-disabled']
14228
+ }], disabledClass: [{
14229
+ type: HostBinding,
14230
+ args: ['class.k-disabled']
14155
14231
  }], ariaReadonly: [{
14156
14232
  type: HostBinding,
14157
14233
  args: ['attr.aria-readonly']
@@ -15358,6 +15434,9 @@ class RatingComponent {
15358
15434
  * @default false
15359
15435
  */
15360
15436
  disabled = false;
15437
+ get ariaDisabled() {
15438
+ return this.disabled ? true : undefined;
15439
+ }
15361
15440
  /**
15362
15441
  * When `true`, sets the Rating to read-only ([see example](https://www.telerik.com/kendo-angular-ui/components/inputs/rating/readonly)).
15363
15442
 
@@ -15365,6 +15444,9 @@ class RatingComponent {
15365
15444
  * @default false
15366
15445
  */
15367
15446
  readonly = false;
15447
+ get ariaReadonly() {
15448
+ return this.readonly ? true : undefined;
15449
+ }
15368
15450
  /**
15369
15451
  * Sets the [`tabindex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the Rating.
15370
15452
  *
@@ -15683,7 +15765,7 @@ class RatingComponent {
15683
15765
  }
15684
15766
  }
15685
15767
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: RatingComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
15686
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: RatingComponent, isStandalone: true, selector: "kendo-rating", inputs: { disabled: "disabled", readonly: "readonly", tabindex: "tabindex", itemsCount: "itemsCount", value: "value", selection: "selection", precision: "precision", label: "label", icon: "icon", svgIcon: "svgIcon", svgIconOutline: "svgIconOutline" }, outputs: { valueChange: "valueChange" }, host: { properties: { "attr.aria-disabled": "this.disabled", "class.k-disabled": "this.disabled", "attr.aria-readonly": "this.readonly", "class.k-readonly": "this.readonly", "attr.tabindex": "this.tabindex", "class.k-rating": "this.hostClass", "attr.dir": "this.direction", "attr.aria-invalid": "this.isControlInvalid", "attr.aria-valuemin": "this.valueMin", "attr.aria-valuemax": "this.valueMax", "attr.aria-valuenow": "this.valueNow", "attr.role": "this.ariaRole" } }, providers: [
15768
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: RatingComponent, isStandalone: true, selector: "kendo-rating", inputs: { disabled: "disabled", readonly: "readonly", tabindex: "tabindex", itemsCount: "itemsCount", value: "value", selection: "selection", precision: "precision", label: "label", icon: "icon", svgIcon: "svgIcon", svgIconOutline: "svgIconOutline" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.k-disabled": "this.disabled", "attr.aria-disabled": "this.ariaDisabled", "class.k-readonly": "this.readonly", "attr.aria-readonly": "this.ariaReadonly", "attr.tabindex": "this.tabindex", "class.k-rating": "this.hostClass", "attr.dir": "this.direction", "attr.aria-invalid": "this.isControlInvalid", "attr.aria-valuemin": "this.valueMin", "attr.aria-valuemax": "this.valueMax", "attr.aria-valuenow": "this.valueNow", "attr.role": "this.ariaRole" } }, providers: [
15687
15769
  LocalizationService,
15688
15770
  { provide: L10N_PREFIX, useValue: 'kendo.rating' },
15689
15771
  {
@@ -16014,20 +16096,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
16014
16096
  args: [RatingSelectedItemTemplateDirective]
16015
16097
  }], disabled: [{
16016
16098
  type: Input
16017
- }, {
16018
- type: HostBinding,
16019
- args: ['attr.aria-disabled']
16020
16099
  }, {
16021
16100
  type: HostBinding,
16022
16101
  args: ['class.k-disabled']
16102
+ }], ariaDisabled: [{
16103
+ type: HostBinding,
16104
+ args: ['attr.aria-disabled']
16023
16105
  }], readonly: [{
16024
16106
  type: Input
16025
- }, {
16026
- type: HostBinding,
16027
- args: ['attr.aria-readonly']
16028
16107
  }, {
16029
16108
  type: HostBinding,
16030
16109
  args: ['class.k-readonly']
16110
+ }], ariaReadonly: [{
16111
+ type: HostBinding,
16112
+ args: ['attr.aria-readonly']
16031
16113
  }], tabindex: [{
16032
16114
  type: Input
16033
16115
  }, {
@@ -16878,7 +16960,7 @@ class SignatureComponent {
16878
16960
  return this.localization.get(key);
16879
16961
  }
16880
16962
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SignatureComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
16881
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: SignatureComponent, isStandalone: true, 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: { "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: [
16963
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: SignatureComponent, isStandalone: true, 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: { "attr.dir": "this.direction", "class.k-readonly": "this.readonly", "class.k-disabled": "this.disabled", "style.width.px": "this.width", "style.height.px": "this.height", "class.k-signature-maximized": "this.maximized" } }, providers: [
16882
16964
  LocalizationService,
16883
16965
  { provide: L10N_PREFIX, useValue: 'kendo.signature' },
16884
16966
  { multi: true, provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SignatureComponent) },
@@ -17155,6 +17237,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
17155
17237
  }], maximizable: [{
17156
17238
  type: Input
17157
17239
  }], maximized: [{
17240
+ type: HostBinding,
17241
+ args: ['class.k-signature-maximized']
17242
+ }, {
17158
17243
  type: Input
17159
17244
  }], popupScale: [{
17160
17245
  type: Input
@@ -17738,17 +17823,11 @@ class TextAreaComponent extends TextFieldsBase {
17738
17823
  maxlength: this.maxlength,
17739
17824
  rows: this.rows,
17740
17825
  cols: this.cols,
17741
- 'aria-disabled': this.disabled ? true : undefined,
17742
17826
  'aria-readonly': this.readonly ? true : undefined,
17743
17827
  'aria-invalid': this.isControlInvalid,
17744
17828
  required: this.isControlRequired ? '' : null
17745
17829
  };
17746
17830
  }
17747
- get mutableAttributes() {
17748
- return {
17749
- 'aria-multiline': 'true'
17750
- };
17751
- }
17752
17831
  constructor(localizationService, ngZone, changeDetector, renderer, injector, hostElement) {
17753
17832
  super(localizationService, ngZone, changeDetector, renderer, injector, hostElement);
17754
17833
  this.localizationService = localizationService;
@@ -18061,7 +18140,7 @@ class TextAreaComponent extends TextFieldsBase {
18061
18140
  this.renderer[isVertical ? 'addClass' : 'removeClass'](element, '\!k-flex-none');
18062
18141
  }
18063
18142
  setInputAttributes() {
18064
- const attributesToRender = Object.assign({}, this.mutableAttributes, this.parsedAttributes);
18143
+ const attributesToRender = { ...this.parsedAttributes };
18065
18144
  setHTMLAttributes(attributesToRender, this.renderer, this.input.nativeElement, this.injector);
18066
18145
  }
18067
18146
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TextAreaComponent, deps: [{ token: i1.LocalizationService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
@@ -18091,8 +18170,6 @@ class TextAreaComponent extends TextFieldsBase {
18091
18170
  }
18092
18171
  <textarea #input
18093
18172
  class="k-input-inner !k-overflow-auto"
18094
- [attr.aria-multiline]="true"
18095
- [attr.aria-disabled]="disabled ? true : undefined"
18096
18173
  [attr.aria-readonly]="readonly ? true : undefined"
18097
18174
  [attr.aria-invalid]="isControlInvalid"
18098
18175
  [id]="focusableId"
@@ -18154,8 +18231,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
18154
18231
  }
18155
18232
  <textarea #input
18156
18233
  class="k-input-inner !k-overflow-auto"
18157
- [attr.aria-multiline]="true"
18158
- [attr.aria-disabled]="disabled ? true : undefined"
18159
18234
  [attr.aria-readonly]="readonly ? true : undefined"
18160
18235
  [attr.aria-invalid]="isControlInvalid"
18161
18236
  [id]="focusableId"
@@ -18366,13 +18441,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
18366
18441
  */
18367
18442
  class OTPInputMessages extends ComponentMessages {
18368
18443
  /**
18369
- * The aria-label of the OTP Input. Follows the pattern **Input {currentInput} of {totalInputs}, current value {value}** by default.
18370
- * Тhe default label text when the current input is 1, and the total number of inputs is 4 will be
18371
- * **Input 1 of 4, current value null**.
18444
+ * The aria-label of the OTP Input fields. Follows the pattern **Digit {currentInput} of {totalInputs}** by default.
18445
+ * The default label text when the current input is 1 and the total number of inputs is 6 will be
18446
+ * **Digit 1 of 6**.
18372
18447
  *
18373
- * The message consists of several parts - the current input number, the total number of inputs, the current value and a localizable string.
18374
- * To allow for reordering its parts, the `ariaLabel` input accepts a string with placeholders for the current input,
18375
- * total number of inputs and current value. The `{currentInput}`, `{totalInputs}` and `{currentValue}` placeholders will be
18448
+ * The message consists of two parts the current input number and the total number of inputs.
18449
+ * To allow for reordering its parts, the `ariaLabel` input accepts a string with placeholders for the current input
18450
+ * and total number of inputs. The `{currentInput}` and `{totalInputs}` placeholders will be
18376
18451
  * replaced internally with the respective actual values.
18377
18452
  */
18378
18453
  ariaLabel;
@@ -18606,6 +18681,9 @@ class OTPInputComponent {
18606
18681
  */
18607
18682
  onBlur = new EventEmitter();
18608
18683
  wrapperClass = true;
18684
+ get disabledClass() {
18685
+ return this.disabled;
18686
+ }
18609
18687
  get invalidClass() {
18610
18688
  return this.isControlInvalid;
18611
18689
  }
@@ -19125,7 +19203,7 @@ class OTPInputComponent {
19125
19203
  return true;
19126
19204
  }
19127
19205
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: OTPInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
19128
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: OTPInputComponent, isStandalone: true, selector: "kendo-otpinput", inputs: { length: "length", type: "type", spacing: "spacing", separator: "separator", disabled: "disabled", readonly: "readonly", placeholder: "placeholder", groupLength: "groupLength", value: "value", size: "size", rounded: "rounded", fillMode: "fillMode", inputAttributes: "inputAttributes" }, outputs: { valueChange: "valueChange", onFocus: "focus", onBlur: "blur" }, host: { properties: { "class.k-otp": "this.wrapperClass", "class.k-invalid": "this.invalidClass", "attr.dir": "this.direction", "attr.role": "this.role" } }, providers: [
19206
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: OTPInputComponent, isStandalone: true, selector: "kendo-otpinput", inputs: { length: "length", type: "type", spacing: "spacing", separator: "separator", disabled: "disabled", readonly: "readonly", placeholder: "placeholder", groupLength: "groupLength", value: "value", size: "size", rounded: "rounded", fillMode: "fillMode", inputAttributes: "inputAttributes" }, outputs: { valueChange: "valueChange", onFocus: "focus", onBlur: "blur" }, host: { properties: { "class.k-otp": "this.wrapperClass", "class.k-disabled": "this.disabledClass", "class.k-invalid": "this.invalidClass", "attr.dir": "this.direction", "attr.role": "this.role" } }, providers: [
19129
19207
  LocalizationService,
19130
19208
  { provide: L10N_PREFIX, useValue: 'kendo.otpinput' },
19131
19209
  {
@@ -19137,7 +19215,7 @@ class OTPInputComponent {
19137
19215
  ], viewQueries: [{ propertyName: "inputFields", predicate: TextBoxComponent, descendants: true }, { propertyName: "inputGroups", predicate: ["inputGroup"], descendants: true }], exportAs: ["kendoOTPInput"], usesOnChanges: true, ngImport: i0, template: `
19138
19216
  <ng-container kendoOTPInputLocalizedMessages
19139
19217
  i18n-ariaLabel="kendo.otpinput.ariaLabel|The value of the aria-label attribute of the input fields."
19140
- ariaLabel="{{ 'Input {currentInput} of {totalInputs}, current value {value}' }}"
19218
+ ariaLabel="Digit [[currentInput]] of [[totalInputs]]"
19141
19219
  ></ng-container>
19142
19220
  <ng-container
19143
19221
  kendoInputSharedEvents
@@ -19214,7 +19292,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
19214
19292
  template: `
19215
19293
  <ng-container kendoOTPInputLocalizedMessages
19216
19294
  i18n-ariaLabel="kendo.otpinput.ariaLabel|The value of the aria-label attribute of the input fields."
19217
- ariaLabel="{{ 'Input {currentInput} of {totalInputs}, current value {value}' }}"
19295
+ ariaLabel="Digit [[currentInput]] of [[totalInputs]]"
19218
19296
  ></ng-container>
19219
19297
  <ng-container
19220
19298
  kendoInputSharedEvents
@@ -19312,6 +19390,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
19312
19390
  }], wrapperClass: [{
19313
19391
  type: HostBinding,
19314
19392
  args: ['class.k-otp']
19393
+ }], disabledClass: [{
19394
+ type: HostBinding,
19395
+ args: ['class.k-disabled']
19315
19396
  }], invalidClass: [{
19316
19397
  type: HostBinding,
19317
19398
  args: ['class.k-invalid']
@@ -19410,7 +19491,7 @@ class FormComponent {
19410
19491
  */
19411
19492
  licenseMessage;
19412
19493
  get formClass() {
19413
- return 'k-form k-form-md';
19494
+ return 'k-form';
19414
19495
  }
19415
19496
  get horizontalClass() {
19416
19497
  return this.orientation === 'horizontal';
package/index.d.ts CHANGED
@@ -275,6 +275,10 @@ declare class SliderComponent extends SliderBase implements AfterViewInit, Contr
275
275
  * @hidden
276
276
  */
277
277
  get currentValue(): string;
278
+ /**
279
+ * @hidden
280
+ */
281
+ get hostAriaLabel(): string;
278
282
  /**
279
283
  * @hidden
280
284
  */
@@ -428,6 +432,14 @@ declare class RangeSliderComponent extends SliderBase implements AfterViewInit,
428
432
  private activeHandle;
429
433
  private focusChangedProgrammatically;
430
434
  private isInvalid;
435
+ /**
436
+ * @hidden
437
+ */
438
+ get startHandleAriaLabel(): string | null;
439
+ /**
440
+ * @hidden
441
+ */
442
+ get endHandleAriaLabel(): string | null;
431
443
  constructor(localization: LocalizationService, injector: Injector, renderer: Renderer2, ngZone: NgZone, changeDetector: ChangeDetectorRef, hostElement: ElementRef);
432
444
  /**
433
445
  * Focuses the RangeSlider.
@@ -668,7 +680,7 @@ declare class SwitchComponent implements ControlValueAccessor, OnInit, OnDestroy
668
680
  get ariaInvalid(): boolean;
669
681
  get hostTabIndex(): number;
670
682
  get ariaDisabled(): boolean;
671
- get ariaReadonly(): boolean;
683
+ get ariaReadonly(): boolean | null;
672
684
  hostClasses: boolean;
673
685
  get disabledClass(): boolean;
674
686
  track: any;
@@ -1551,6 +1563,7 @@ declare class MaskedTextBoxComponent implements ControlValueAccessor, OnChanges,
1551
1563
  valueChange: EventEmitter<string>;
1552
1564
  direction: string;
1553
1565
  get hostDisabledClass(): boolean;
1566
+ get hostInvalidClass(): boolean;
1554
1567
  /**
1555
1568
  * Returns the `ElementRef` of the visible `input` element.
1556
1569
  */
@@ -2512,7 +2525,6 @@ declare class TextAreaComponent extends TextFieldsBase implements ControlValueAc
2512
2525
  private _inputAttributes;
2513
2526
  private parsedAttributes;
2514
2527
  private get defaultAttributes();
2515
- private get mutableAttributes();
2516
2528
  constructor(localizationService: LocalizationService, ngZone: NgZone, changeDetector: ChangeDetectorRef, renderer: Renderer2, injector: Injector, hostElement: ElementRef);
2517
2529
  ngAfterContentInit(): void;
2518
2530
  ngAfterViewInit(): void;
@@ -3583,6 +3595,7 @@ declare class RatingComponent implements OnInit, AfterViewInit, OnDestroy, Contr
3583
3595
  * @default false
3584
3596
  */
3585
3597
  disabled: boolean;
3598
+ get ariaDisabled(): true | undefined;
3586
3599
  /**
3587
3600
  * When `true`, sets the Rating to read-only ([see example](https://www.telerik.com/kendo-angular-ui/components/inputs/rating/readonly)).
3588
3601
 
@@ -3590,6 +3603,7 @@ declare class RatingComponent implements OnInit, AfterViewInit, OnDestroy, Contr
3590
3603
  * @default false
3591
3604
  */
3592
3605
  readonly: boolean;
3606
+ get ariaReadonly(): true | undefined;
3593
3607
  /**
3594
3608
  * Sets the [`tabindex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the Rating.
3595
3609
  *
@@ -4386,8 +4400,8 @@ declare class ColorPickerComponent implements OnInit, AfterViewInit, OnChanges,
4386
4400
  private adaptiveService;
4387
4401
  hostClasses: boolean;
4388
4402
  get focusedClass(): boolean;
4389
- get disabledClass(): boolean;
4390
4403
  get ariaDisabled(): boolean | null;
4404
+ get disabledClass(): boolean;
4391
4405
  get ariaReadonly(): boolean | null;
4392
4406
  get ariaExpanded(): boolean;
4393
4407
  get hostTabindex(): number;
@@ -5065,14 +5079,14 @@ declare class ColorGradientComponent implements OnInit, OnChanges, OnDestroy, Co
5065
5079
  private localizationService;
5066
5080
  private injector;
5067
5081
  hostClasses: boolean;
5068
- get readonlyAttribute(): boolean;
5082
+ get readonlyAttribute(): boolean | null;
5069
5083
  get disabledClass(): boolean;
5070
5084
  get gradientId(): string;
5071
5085
  direction: string;
5072
5086
  get hostTabindex(): string;
5073
5087
  get ariaRole(): string;
5074
5088
  get isControlInvalid(): string;
5075
- get isDisabled(): string | undefined;
5089
+ get isDisabled(): string | null;
5076
5090
  /**
5077
5091
  * @hidden
5078
5092
  */
@@ -5225,6 +5239,10 @@ declare class ColorGradientComponent implements OnInit, OnChanges, OnDestroy, Co
5225
5239
  * @hidden
5226
5240
  */
5227
5241
  get hsvSliderValueText(): string;
5242
+ /**
5243
+ * @hidden
5244
+ */
5245
+ get hsvSliderValueNow(): number;
5228
5246
  /**
5229
5247
  * @hidden
5230
5248
  */
@@ -5472,6 +5490,10 @@ declare class ColorPaletteComponent implements OnInit, AfterViewInit, OnDestroy,
5472
5490
  * @hidden
5473
5491
  */
5474
5492
  hostClasses: boolean;
5493
+ /**
5494
+ * @hidden
5495
+ */
5496
+ get ariaDisabled(): boolean | null;
5475
5497
  /**
5476
5498
  * @hidden
5477
5499
  */
@@ -5479,7 +5501,7 @@ declare class ColorPaletteComponent implements OnInit, AfterViewInit, OnDestroy,
5479
5501
  /**
5480
5502
  * @hidden
5481
5503
  */
5482
- get readonlyAttribute(): boolean;
5504
+ get readonlyAttribute(): boolean | null;
5483
5505
  /**
5484
5506
  * @hidden
5485
5507
  */
@@ -5650,12 +5672,12 @@ declare class FlatColorPickerComponent implements OnInit, AfterViewInit, OnDestr
5650
5672
  private injector;
5651
5673
  hostClasses: boolean;
5652
5674
  get disabledClass(): boolean;
5653
- get ariaReadonly(): boolean;
5675
+ get ariaDisabled(): boolean | null;
5676
+ get ariaReadonly(): boolean | null;
5654
5677
  direction: string;
5655
5678
  get hostTabindex(): string;
5656
5679
  ariaRole: string;
5657
5680
  get isControlInvalid(): string;
5658
- get isDisabled(): string | undefined;
5659
5681
  /**
5660
5682
  * @hidden
5661
5683
  */
@@ -6028,6 +6050,7 @@ declare class OTPInputComponent implements ControlValueAccessor, OnInit, AfterVi
6028
6050
  */
6029
6051
  onBlur: EventEmitter<any>;
6030
6052
  wrapperClass: boolean;
6053
+ get disabledClass(): boolean;
6031
6054
  get invalidClass(): boolean;
6032
6055
  direction: string;
6033
6056
  role: string;
@@ -6188,13 +6211,13 @@ declare class OTPInputComponent implements ControlValueAccessor, OnInit, AfterVi
6188
6211
  */
6189
6212
  declare class OTPInputMessages extends ComponentMessages {
6190
6213
  /**
6191
- * The aria-label of the OTP Input. Follows the pattern **Input {currentInput} of {totalInputs}, current value {value}** by default.
6192
- * Тhe default label text when the current input is 1, and the total number of inputs is 4 will be
6193
- * **Input 1 of 4, current value null**.
6214
+ * The aria-label of the OTP Input fields. Follows the pattern **Digit {currentInput} of {totalInputs}** by default.
6215
+ * The default label text when the current input is 1 and the total number of inputs is 6 will be
6216
+ * **Digit 1 of 6**.
6194
6217
  *
6195
- * The message consists of several parts - the current input number, the total number of inputs, the current value and a localizable string.
6196
- * To allow for reordering its parts, the `ariaLabel` input accepts a string with placeholders for the current input,
6197
- * total number of inputs and current value. The `{currentInput}`, `{totalInputs}` and `{currentValue}` placeholders will be
6218
+ * The message consists of two parts the current input number and the total number of inputs.
6219
+ * To allow for reordering its parts, the `ariaLabel` input accepts a string with placeholders for the current input
6220
+ * and total number of inputs. The `{currentInput}` and `{totalInputs}` placeholders will be
6198
6221
  * replaced internally with the respective actual values.
6199
6222
  */
6200
6223
  ariaLabel: string;
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1784041064,
11
- "version": "25.0.0-develop.6",
10
+ "publishDate": 1784795854,
11
+ "version": "25.0.0-develop.8",
12
12
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
13
13
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-inputs",
3
- "version": "25.0.0-develop.6",
3
+ "version": "25.0.0-develop.8",
4
4
  "description": "Kendo UI for Angular Inputs Package - Everything you need to build professional form functionality (Checkbox, ColorGradient, ColorPalette, ColorPicker, FlatColorPicker, FormField, MaskedTextBox, NumericTextBox, RadioButton, RangeSlider, Slider, Switch, TextArea, and TextBox Components)",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -55,7 +55,7 @@
55
55
  "package": {
56
56
  "productName": "Kendo UI for Angular",
57
57
  "productCode": "KENDOUIANGULAR",
58
- "publishDate": 1784041064,
58
+ "publishDate": 1784795854,
59
59
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
60
60
  }
61
61
  },
@@ -67,20 +67,20 @@
67
67
  "@angular/platform-browser": "20 - 22",
68
68
  "@progress/kendo-drawing": "^1.25.0",
69
69
  "@progress/kendo-licensing": "^1.11.0",
70
- "@progress/kendo-angular-buttons": "25.0.0-develop.6",
71
- "@progress/kendo-angular-common": "25.0.0-develop.6",
72
- "@progress/kendo-angular-utils": "25.0.0-develop.6",
73
- "@progress/kendo-angular-navigation": "25.0.0-develop.6",
74
- "@progress/kendo-angular-dialog": "25.0.0-develop.6",
75
- "@progress/kendo-angular-intl": "25.0.0-develop.6",
76
- "@progress/kendo-angular-l10n": "25.0.0-develop.6",
77
- "@progress/kendo-angular-popup": "25.0.0-develop.6",
78
- "@progress/kendo-angular-icons": "25.0.0-develop.6",
70
+ "@progress/kendo-angular-buttons": "25.0.0-develop.8",
71
+ "@progress/kendo-angular-common": "25.0.0-develop.8",
72
+ "@progress/kendo-angular-utils": "25.0.0-develop.8",
73
+ "@progress/kendo-angular-navigation": "25.0.0-develop.8",
74
+ "@progress/kendo-angular-dialog": "25.0.0-develop.8",
75
+ "@progress/kendo-angular-intl": "25.0.0-develop.8",
76
+ "@progress/kendo-angular-l10n": "25.0.0-develop.8",
77
+ "@progress/kendo-angular-popup": "25.0.0-develop.8",
78
+ "@progress/kendo-angular-icons": "25.0.0-develop.8",
79
79
  "rxjs": "^6.5.3 || ^7.0.0"
80
80
  },
81
81
  "dependencies": {
82
82
  "tslib": "^2.3.1",
83
- "@progress/kendo-angular-schematics": "25.0.0-develop.6",
83
+ "@progress/kendo-angular-schematics": "25.0.0-develop.8",
84
84
  "@progress/kendo-common": "^1.0.1",
85
85
  "@progress/kendo-draggable": "^3.0.0",
86
86
  "@progress/kendo-inputs-common": "^3.1.0"