@progress/kendo-angular-upload 24.0.0-develop.9 → 24.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,23 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ "use strict";
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.aiInstructions = exports.aiInstructionsReset = void 0;
8
+ exports.default = default_1;
9
+ const codemods_1 = require("@progress/kendo-angular-common/codemods");
10
+ exports.aiInstructionsReset = `k-reset — no longer applied in FileSelect and Upload.
11
+ Remove any CSS rules or test assertions targeting .k-reset in FileSelect or Upload context.`;
12
+ exports.aiInstructions = `Review your stylesheets, test files, and any code that references these Upload classes:
13
+
14
+ ${exports.aiInstructionsReset}`;
15
+ const patternReset = (0, codemods_1.makePattern)(['k-reset']);
16
+ function default_1(fileInfo) {
17
+ if ((0, codemods_1.isRenderingChangeTarget)(fileInfo.path)) {
18
+ if (patternReset.test(fileInfo.source)) {
19
+ (0, codemods_1.writeInstructionMarker)(exports.aiInstructionsReset, __filename, fileInfo.path);
20
+ }
21
+ }
22
+ return fileInfo.source;
23
+ }
@@ -6,8 +6,8 @@ import * as i1 from '@angular/common/http';
6
6
  import { HttpHeaders, HttpRequest, HttpEventType, HttpResponse } from '@angular/common/http';
7
7
  import * as i0 from '@angular/core';
8
8
  import { EventEmitter, Injectable, Directive, ElementRef, Output, HostBinding, Input, ViewChild, ContentChild, Component, HostListener, ViewChildren, Inject, forwardRef, isDevMode, NgModule } from '@angular/core';
9
- import { guid, isDocumentAvailable, normalizeKeys, Keys, isControlRequired, isChanged, KendoInput, ResizeBatchService } from '@progress/kendo-angular-common';
10
- import { fileDiscImageIcon, fileZipIcon, fileConfigIcon, filePdfIcon, fileProgrammingIcon, fileDataIcon, filePresentationIcon, fileTxtIcon, fileImageIcon, fileVideoIcon, fileAudioIcon, fileIcon, arrowRotateCwSmallIcon, playSmIcon, pauseSmIcon, cancelIcon, xIcon, copyIcon, checkIcon, exclamationCircleIcon, uploadIcon } from '@progress/kendo-svg-icons';
9
+ import { guid, isDocumentAvailable, normalizeKeys, Keys, isControlRequired, isChanged, KendoInput, KENDO_WEBMCP_HOST, ResizeBatchService } from '@progress/kendo-angular-common';
10
+ import { fileDiscImageIcon, fileZipIcon, fileConfigIcon, filePdfIcon, fileProgrammingIcon, fileDataIcon, filePresentationIcon, fileTxtIcon, fileImageIcon, fileVideoIcon, fileAudioIcon, fileIcon, arrowRotateCwIcon, playIcon, pauseIcon, cancelIcon, xIcon, copyIcon, checkIcon, exclamationCircleIcon, uploadIcon } from '@progress/kendo-svg-icons';
11
11
  import { NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';
12
12
  import * as i1$1 from '@progress/kendo-angular-l10n';
13
13
  import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
@@ -1583,8 +1583,8 @@ const packageMetadata = {
1583
1583
  productName: 'Kendo UI for Angular',
1584
1584
  productCode: 'KENDOUIANGULAR',
1585
1585
  productCodes: ['KENDOUIANGULAR'],
1586
- publishDate: 1777365156,
1587
- version: '24.0.0-develop.9',
1586
+ publishDate: 1779273365,
1587
+ version: '24.0.0',
1588
1588
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
1589
1589
  };
1590
1590
 
@@ -1950,6 +1950,7 @@ class UploadActionButtonsComponent {
1950
1950
  clearButton;
1951
1951
  uploadButton;
1952
1952
  hostDefaultClass = true;
1953
+ hostHorizontalClass = true;
1953
1954
  get actionButtonsEndClassName() {
1954
1955
  return this.actionsLayout === 'end';
1955
1956
  }
@@ -1996,15 +1997,15 @@ class UploadActionButtonsComponent {
1996
1997
  return this.localization.get(key);
1997
1998
  }
1998
1999
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: UploadActionButtonsComponent, deps: [{ token: UploadService }, { token: i1$1.LocalizationService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
1999
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: UploadActionButtonsComponent, isStandalone: true, selector: "kendo-upload-action-buttons", inputs: { disabled: "disabled", actionsLayout: "actionsLayout" }, host: { properties: { "class.k-actions": "this.hostDefaultClass", "class.k-actions-end": "this.actionButtonsEndClassName", "class.k-actions-stretched": "this.actionButtonsStretchedClassName", "class.k-actions-start": "this.actionButtonsStartClassName", "class.k-actions-center": "this.actionButtonsCenterClassName" } }, viewQueries: [{ propertyName: "clearButton", first: true, predicate: ["clearButton"], descendants: true, static: true }, { propertyName: "uploadButton", first: true, predicate: ["uploadButton"], descendants: true, static: true }], ngImport: i0, template: `
2000
- <button #clearButton role="button" class="k-button k-clear-selected"
2000
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: UploadActionButtonsComponent, isStandalone: true, selector: "kendo-upload-action-buttons", inputs: { disabled: "disabled", actionsLayout: "actionsLayout" }, host: { properties: { "class.k-actions": "this.hostDefaultClass", "class.k-actions-horizontal": "this.hostHorizontalClass", "class.k-actions-end": "this.actionButtonsEndClassName", "class.k-actions-stretched": "this.actionButtonsStretchedClassName", "class.k-actions-start": "this.actionButtonsStartClassName", "class.k-actions-center": "this.actionButtonsCenterClassName" } }, viewQueries: [{ propertyName: "clearButton", first: true, predicate: ["clearButton"], descendants: true, static: true }, { propertyName: "uploadButton", first: true, predicate: ["uploadButton"], descendants: true, static: true }], ngImport: i0, template: `
2001
+ <button #clearButton class="k-button k-clear-selected"
2001
2002
  (click)="onClearButtonClick($event)">
2002
- {{textFor('clearSelectedFiles')}}
2003
+ <span class="k-button-text">{{textFor('clearSelectedFiles')}}</span>
2003
2004
  </button>
2004
- <button #uploadButton role="button" class="k-button k-button-primary k-upload-selected"
2005
+ <button #uploadButton class="k-button k-button-primary k-upload-selected"
2005
2006
  (focus)="onUploadButtonFocus()"
2006
2007
  (click)="onUploadButtonClick($event)">
2007
- {{textFor('uploadSelectedFiles')}}
2008
+ <span class="k-button-text">{{textFor('uploadSelectedFiles')}}</span>
2008
2009
  </button>
2009
2010
  `, isInline: true });
2010
2011
  }
@@ -2013,14 +2014,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
2013
2014
  args: [{
2014
2015
  selector: 'kendo-upload-action-buttons',
2015
2016
  template: `
2016
- <button #clearButton role="button" class="k-button k-clear-selected"
2017
+ <button #clearButton class="k-button k-clear-selected"
2017
2018
  (click)="onClearButtonClick($event)">
2018
- {{textFor('clearSelectedFiles')}}
2019
+ <span class="k-button-text">{{textFor('clearSelectedFiles')}}</span>
2019
2020
  </button>
2020
- <button #uploadButton role="button" class="k-button k-button-primary k-upload-selected"
2021
+ <button #uploadButton class="k-button k-button-primary k-upload-selected"
2021
2022
  (focus)="onUploadButtonFocus()"
2022
2023
  (click)="onUploadButtonClick($event)">
2023
- {{textFor('uploadSelectedFiles')}}
2024
+ <span class="k-button-text">{{textFor('uploadSelectedFiles')}}</span>
2024
2025
  </button>
2025
2026
  `,
2026
2027
  standalone: true
@@ -2038,6 +2039,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
2038
2039
  }], hostDefaultClass: [{
2039
2040
  type: HostBinding,
2040
2041
  args: ['class.k-actions']
2042
+ }], hostHorizontalClass: [{
2043
+ type: HostBinding,
2044
+ args: ['class.k-actions-horizontal']
2041
2045
  }], actionButtonsEndClassName: [{
2042
2046
  type: HostBinding,
2043
2047
  args: ['class.k-actions-end']
@@ -2218,9 +2222,9 @@ class FileListItemActionButtonComponent {
2218
2222
  file;
2219
2223
  disabled;
2220
2224
  progress;
2221
- retrySVGIcon = arrowRotateCwSmallIcon;
2222
- playSVGIcon = playSmIcon;
2223
- pauseSVGIcon = pauseSmIcon;
2225
+ retrySVGIcon = arrowRotateCwIcon;
2226
+ playSVGIcon = playIcon;
2227
+ pauseSVGIcon = pauseIcon;
2224
2228
  cancelSVGIcon = cancelIcon;
2225
2229
  deleteSVGIcon = xIcon;
2226
2230
  constructor(uploadService, localization, navigation) {
@@ -2310,8 +2314,9 @@ class FileListItemActionButtonComponent {
2310
2314
  type="button"
2311
2315
  class="k-upload-action k-retry"
2312
2316
  fillMode="flat"
2317
+ size="xsmall"
2313
2318
  [attr.tabIndex]="-1"
2314
- [attr.aria-hidden]="true"
2319
+ [attr.aria-label]="retryButtonTitle"
2315
2320
  [attr.title]="retryButtonTitle"
2316
2321
  [svgIcon]="retrySVGIcon"
2317
2322
  icon="refresh-sm"
@@ -2327,10 +2332,10 @@ class FileListItemActionButtonComponent {
2327
2332
  class="k-upload-action"
2328
2333
  fillMode="flat"
2329
2334
  [attr.tabIndex]="-1"
2330
- [attr.aria-hidden]="true"
2335
+ [attr.aria-label]="pauseResumeButtonTitle"
2331
2336
  [attr.title]="pauseResumeButtonTitle"
2332
2337
  [svgIcon]="isPaused ? playSVGIcon : pauseSVGIcon"
2333
- [icon]="isPaused ? 'play-sm' : 'pause-sm'"
2338
+ [icon]="isPaused ? 'play' : 'pause'"
2334
2339
  (pointerdown)="$event.preventDefault()"
2335
2340
  (click)="onPauseResumeClick()"
2336
2341
  ></button>
@@ -2340,11 +2345,11 @@ class FileListItemActionButtonComponent {
2340
2345
  <button
2341
2346
  kendoButton
2342
2347
  class="k-upload-action"
2343
- [class.k-delete]="!isUploading"
2344
2348
  fillMode="flat"
2349
+ size="xsmall"
2345
2350
  type="button"
2346
2351
  [attr.tabIndex]="-1"
2347
- [attr.aria-hidden]="true"
2352
+ [attr.aria-label]="actionButtonTitle"
2348
2353
  [attr.title]="actionButtonTitle"
2349
2354
  [svgIcon]="isUploading ? cancelSVGIcon : deleteSVGIcon"
2350
2355
  [icon]="isUploading ? 'cancel' : 'x'"
@@ -2352,7 +2357,7 @@ class FileListItemActionButtonComponent {
2352
2357
  ></button>
2353
2358
  }
2354
2359
  </span>
2355
- `, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
2360
+ `, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
2356
2361
  }
2357
2362
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FileListItemActionButtonComponent, decorators: [{
2358
2363
  type: Component,
@@ -2370,8 +2375,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
2370
2375
  type="button"
2371
2376
  class="k-upload-action k-retry"
2372
2377
  fillMode="flat"
2378
+ size="xsmall"
2373
2379
  [attr.tabIndex]="-1"
2374
- [attr.aria-hidden]="true"
2380
+ [attr.aria-label]="retryButtonTitle"
2375
2381
  [attr.title]="retryButtonTitle"
2376
2382
  [svgIcon]="retrySVGIcon"
2377
2383
  icon="refresh-sm"
@@ -2387,10 +2393,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
2387
2393
  class="k-upload-action"
2388
2394
  fillMode="flat"
2389
2395
  [attr.tabIndex]="-1"
2390
- [attr.aria-hidden]="true"
2396
+ [attr.aria-label]="pauseResumeButtonTitle"
2391
2397
  [attr.title]="pauseResumeButtonTitle"
2392
2398
  [svgIcon]="isPaused ? playSVGIcon : pauseSVGIcon"
2393
- [icon]="isPaused ? 'play-sm' : 'pause-sm'"
2399
+ [icon]="isPaused ? 'play' : 'pause'"
2394
2400
  (pointerdown)="$event.preventDefault()"
2395
2401
  (click)="onPauseResumeClick()"
2396
2402
  ></button>
@@ -2400,11 +2406,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
2400
2406
  <button
2401
2407
  kendoButton
2402
2408
  class="k-upload-action"
2403
- [class.k-delete]="!isUploading"
2404
2409
  fillMode="flat"
2410
+ size="xsmall"
2405
2411
  type="button"
2406
2412
  [attr.tabIndex]="-1"
2407
- [attr.aria-hidden]="true"
2413
+ [attr.aria-label]="actionButtonTitle"
2408
2414
  [attr.title]="actionButtonTitle"
2409
2415
  [svgIcon]="isUploading ? cancelSVGIcon : deleteSVGIcon"
2410
2416
  [icon]="isUploading ? 'cancel' : 'x'"
@@ -2479,7 +2485,7 @@ class FileListMultipleItemsComponent extends FileListItemBase {
2479
2485
  <kendo-progressbar
2480
2486
  [@progressState]="showProgress"
2481
2487
  [value]="progressComplete"
2482
- [label]="{ visible: false }"
2488
+ [label]="{ visible: false, position: 'start' }"
2483
2489
  >
2484
2490
  </kendo-progressbar>
2485
2491
  <span class="k-file-icon-wrapper">
@@ -2498,7 +2504,7 @@ class FileListMultipleItemsComponent extends FileListItemBase {
2498
2504
  <span [title]="file.name" class="k-file-name">
2499
2505
  {{file.name}}
2500
2506
  </span>
2501
- <span [attr.aria-live]="'polite'" [ngClass]="{
2507
+ <span [attr.aria-live]="file.validationErrors ? 'polite' : null" [ngClass]="{
2502
2508
  'k-file-validation-message': file.validationErrors,
2503
2509
  'k-file-size': !file.validationErrors
2504
2510
  }"
@@ -2550,7 +2556,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
2550
2556
  <kendo-progressbar
2551
2557
  [@progressState]="showProgress"
2552
2558
  [value]="progressComplete"
2553
- [label]="{ visible: false }"
2559
+ [label]="{ visible: false, position: 'start' }"
2554
2560
  >
2555
2561
  </kendo-progressbar>
2556
2562
  <span class="k-file-icon-wrapper">
@@ -2569,7 +2575,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
2569
2575
  <span [title]="file.name" class="k-file-name">
2570
2576
  {{file.name}}
2571
2577
  </span>
2572
- <span [attr.aria-live]="'polite'" [ngClass]="{
2578
+ <span [attr.aria-live]="file.validationErrors ? 'polite' : null" [ngClass]="{
2573
2579
  'k-file-validation-message': file.validationErrors,
2574
2580
  'k-file-size': !file.validationErrors
2575
2581
  }"
@@ -2660,7 +2666,7 @@ class FileListSingleItemComponent extends FileListItemBase {
2660
2666
  <kendo-progressbar
2661
2667
  [@progressState]="showProgress"
2662
2668
  [value]="progressComplete"
2663
- [label]="{ visible: false }"
2669
+ [label]="{ visible: false, position: 'start' }"
2664
2670
  >
2665
2671
  </kendo-progressbar>
2666
2672
  <span class="k-file-icon-wrapper">
@@ -2675,7 +2681,7 @@ class FileListSingleItemComponent extends FileListItemBase {
2675
2681
  <span class="k-file-info">
2676
2682
  @if (!fileInfoTemplate) {
2677
2683
  <span class="k-file-name" [title]="file.name">{{ file.name }}</span>
2678
- <span [attr.aria-live]="'polite'" [ngClass]="{
2684
+ <span [attr.aria-live]="file.validationErrors ? 'polite' : null" [ngClass]="{
2679
2685
  'k-file-validation-message': file.validationErrors,
2680
2686
  'k-file-size': !file.validationErrors && isNotYetUploaded,
2681
2687
  'k-file-summary': isUploadSuccessful || isUploadFailed
@@ -2722,7 +2728,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
2722
2728
  <kendo-progressbar
2723
2729
  [@progressState]="showProgress"
2724
2730
  [value]="progressComplete"
2725
- [label]="{ visible: false }"
2731
+ [label]="{ visible: false, position: 'start' }"
2726
2732
  >
2727
2733
  </kendo-progressbar>
2728
2734
  <span class="k-file-icon-wrapper">
@@ -2737,7 +2743,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
2737
2743
  <span class="k-file-info">
2738
2744
  @if (!fileInfoTemplate) {
2739
2745
  <span class="k-file-name" [title]="file.name">{{ file.name }}</span>
2740
- <span [attr.aria-live]="'polite'" [ngClass]="{
2746
+ <span [attr.aria-live]="file.validationErrors ? 'polite' : null" [ngClass]="{
2741
2747
  'k-file-validation-message': file.validationErrors,
2742
2748
  'k-file-size': !file.validationErrors && isNotYetUploaded,
2743
2749
  'k-file-summary': isUploadSuccessful || isUploadFailed
@@ -2953,7 +2959,7 @@ class UploadStatusTotalComponent {
2953
2959
  checkmarkIcon = checkIcon;
2954
2960
  exceptionSVGIcon = exclamationCircleIcon;
2955
2961
  uploadSVGIcon = uploadIcon;
2956
- pauseSVGIcon = pauseSmIcon;
2962
+ pauseSVGIcon = pauseIcon;
2957
2963
  constructor(localization) {
2958
2964
  this.localization = localization;
2959
2965
  }
@@ -2968,7 +2974,7 @@ class UploadStatusTotalComponent {
2968
2974
  return 'upload';
2969
2975
  }
2970
2976
  if (this.isPaused) {
2971
- return 'pause-sm';
2977
+ return 'pause';
2972
2978
  }
2973
2979
  }
2974
2980
  get SVGIconClass() {
@@ -4078,6 +4084,10 @@ class UploadComponent extends UploadFileSelectBase {
4078
4084
  {
4079
4085
  provide: KendoInput,
4080
4086
  useExisting: forwardRef(() => UploadComponent)
4087
+ },
4088
+ {
4089
+ provide: KENDO_WEBMCP_HOST,
4090
+ useExisting: forwardRef(() => UploadComponent)
4081
4091
  }
4082
4092
  ], viewQueries: [{ propertyName: "fileSelectInput", first: true, predicate: ["fileSelectInput"], descendants: true, static: true }], exportAs: ["kendoUpload"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
4083
4093
  <ng-container kendoUploadLocalizedMessages
@@ -4181,7 +4191,7 @@ class UploadComponent extends UploadFileSelectBase {
4181
4191
  </div>
4182
4192
  @if (hasFileList) {
4183
4193
  <ul kendo-upload-file-list
4184
- class="k-upload-files k-reset"
4194
+ class="k-upload-files"
4185
4195
  [disabled]="disabled"
4186
4196
  [fileList]="fileList.files"
4187
4197
  [fileTemplate]="fileTemplate"
@@ -4195,7 +4205,7 @@ class UploadComponent extends UploadFileSelectBase {
4195
4205
  [actionsLayout]="actionsLayout">
4196
4206
  </kendo-upload-action-buttons>
4197
4207
  }
4198
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "\n [kendoUploadLocalizedMessages],\n [kendoFileSelectLocalizedMessages],\n [kendoUploadDropZoneLocalizedMessages]\n " }, { kind: "directive", type: DropZoneInternalDirective, selector: "\n [kendoUploadInternalDropZone],\n [kendoFileSelectInternalDropZone]\n ", inputs: ["disabled", "multiple", "restrictions"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: FileSelectDirective, selector: "[kendoFileSelect]", inputs: ["dir", "disabled", "multiple", "restrictions", "accept", "required"] }, { kind: "component", type: UploadStatusTotalComponent, selector: "kendo-upload-status-total", inputs: ["fileList"] }, { kind: "component", type: FileListComponent, selector: "[kendo-upload-file-list]", inputs: ["disabled", "fileList", "fileTemplate", "fileInfoTemplate"] }, { kind: "component", type: UploadActionButtonsComponent, selector: "kendo-upload-action-buttons", inputs: ["disabled", "actionsLayout"] }] });
4208
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "\n [kendoUploadLocalizedMessages],\n [kendoFileSelectLocalizedMessages],\n [kendoUploadDropZoneLocalizedMessages]\n " }, { kind: "directive", type: DropZoneInternalDirective, selector: "\n [kendoUploadInternalDropZone],\n [kendoFileSelectInternalDropZone]\n ", inputs: ["disabled", "multiple", "restrictions"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: FileSelectDirective, selector: "[kendoFileSelect]", inputs: ["dir", "disabled", "multiple", "restrictions", "accept", "required"] }, { kind: "component", type: UploadStatusTotalComponent, selector: "kendo-upload-status-total", inputs: ["fileList"] }, { kind: "component", type: FileListComponent, selector: "[kendo-upload-file-list]", inputs: ["disabled", "fileList", "fileTemplate", "fileInfoTemplate"] }, { kind: "component", type: UploadActionButtonsComponent, selector: "kendo-upload-action-buttons", inputs: ["disabled", "actionsLayout"] }] });
4199
4209
  }
4200
4210
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: UploadComponent, decorators: [{
4201
4211
  type: Component,
@@ -4214,6 +4224,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
4214
4224
  {
4215
4225
  provide: KendoInput,
4216
4226
  useExisting: forwardRef(() => UploadComponent)
4227
+ },
4228
+ {
4229
+ provide: KENDO_WEBMCP_HOST,
4230
+ useExisting: forwardRef(() => UploadComponent)
4217
4231
  }
4218
4232
  ],
4219
4233
  selector: 'kendo-upload',
@@ -4319,7 +4333,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
4319
4333
  </div>
4320
4334
  @if (hasFileList) {
4321
4335
  <ul kendo-upload-file-list
4322
- class="k-upload-files k-reset"
4336
+ class="k-upload-files"
4323
4337
  [disabled]="disabled"
4324
4338
  [fileList]="fileList.files"
4325
4339
  [fileTemplate]="fileTemplate"
@@ -4974,7 +4988,7 @@ class FileSelectComponent extends UploadFileSelectBase {
4974
4988
  </div>
4975
4989
  @if (hasFileList) {
4976
4990
  <ul kendo-upload-file-list
4977
- class="k-upload-files k-reset"
4991
+ class="k-upload-files"
4978
4992
  [disabled]="disabled"
4979
4993
  [fileList]="fileList.files"
4980
4994
  [fileTemplate]="fileTemplate"
@@ -4982,7 +4996,7 @@ class FileSelectComponent extends UploadFileSelectBase {
4982
4996
  [id]="fileListId">
4983
4997
  </ul>
4984
4998
  }
4985
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "\n [kendoUploadLocalizedMessages],\n [kendoFileSelectLocalizedMessages],\n [kendoUploadDropZoneLocalizedMessages]\n " }, { kind: "directive", type: DropZoneInternalDirective, selector: "\n [kendoUploadInternalDropZone],\n [kendoFileSelectInternalDropZone]\n ", inputs: ["disabled", "multiple", "restrictions"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: FileSelectDirective, selector: "[kendoFileSelect]", inputs: ["dir", "disabled", "multiple", "restrictions", "accept", "required"] }, { kind: "component", type: FileListComponent, selector: "[kendo-upload-file-list]", inputs: ["disabled", "fileList", "fileTemplate", "fileInfoTemplate"] }] });
4999
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "\n [kendoUploadLocalizedMessages],\n [kendoFileSelectLocalizedMessages],\n [kendoUploadDropZoneLocalizedMessages]\n " }, { kind: "directive", type: DropZoneInternalDirective, selector: "\n [kendoUploadInternalDropZone],\n [kendoFileSelectInternalDropZone]\n ", inputs: ["disabled", "multiple", "restrictions"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: FileSelectDirective, selector: "[kendoFileSelect]", inputs: ["dir", "disabled", "multiple", "restrictions", "accept", "required"] }, { kind: "component", type: FileListComponent, selector: "[kendo-upload-file-list]", inputs: ["disabled", "fileList", "fileTemplate", "fileInfoTemplate"] }] });
4986
5000
  }
4987
5001
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: FileSelectComponent, decorators: [{
4988
5002
  type: Component,
@@ -5059,7 +5073,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
5059
5073
  </div>
5060
5074
  @if (hasFileList) {
5061
5075
  <ul kendo-upload-file-list
5062
- class="k-upload-files k-reset"
5076
+ class="k-upload-files"
5063
5077
  [disabled]="disabled"
5064
5078
  [fileList]="fileList.files"
5065
5079
  [fileTemplate]="fileTemplate"
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1777365156,
11
- "version": "24.0.0-develop.9",
10
+ "publishDate": 1779273365,
11
+ "version": "24.0.0",
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-upload",
3
- "version": "24.0.0-develop.9",
3
+ "version": "24.0.0",
4
4
  "description": "Kendo UI Angular Upload Component",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -16,10 +16,25 @@
16
16
  ],
17
17
  "@progress": {
18
18
  "friendlyName": "Upload",
19
+ "migrations": {
20
+ "options": {
21
+ "parser": "tsx",
22
+ "pattern": "*.{ts,html,css,scss,sass,less}"
23
+ },
24
+ "codemods": {
25
+ "24": [
26
+ {
27
+ "description": "k-reset is no longer applied in FileSelect and Upload.",
28
+ "file": "codemods/v24/upload-rendering-changes.js",
29
+ "instructionsOnly": true
30
+ }
31
+ ]
32
+ }
33
+ },
19
34
  "package": {
20
35
  "productName": "Kendo UI for Angular",
21
36
  "productCode": "KENDOUIANGULAR",
22
- "publishDate": 1777365156,
37
+ "publishDate": 1779273365,
23
38
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
24
39
  }
25
40
  },
@@ -30,16 +45,16 @@
30
45
  "@angular/forms": "19 - 21",
31
46
  "@angular/platform-browser": "19 - 21",
32
47
  "@progress/kendo-licensing": "^1.11.0",
33
- "@progress/kendo-angular-common": "24.0.0-develop.9",
34
- "@progress/kendo-angular-l10n": "24.0.0-develop.9",
35
- "@progress/kendo-angular-icons": "24.0.0-develop.9",
36
- "@progress/kendo-angular-buttons": "24.0.0-develop.9",
37
- "@progress/kendo-angular-progressbar": "24.0.0-develop.9",
48
+ "@progress/kendo-angular-common": "24.0.0",
49
+ "@progress/kendo-angular-l10n": "24.0.0",
50
+ "@progress/kendo-angular-icons": "24.0.0",
51
+ "@progress/kendo-angular-buttons": "24.0.0",
52
+ "@progress/kendo-angular-progressbar": "24.0.0",
38
53
  "rxjs": "^6.5.3 || ^7.0.0"
39
54
  },
40
55
  "dependencies": {
41
56
  "tslib": "^2.3.1",
42
- "@progress/kendo-angular-schematics": "24.0.0-develop.9"
57
+ "@progress/kendo-angular-schematics": "24.0.0"
43
58
  },
44
59
  "schematics": "./schematics/collection.json",
45
60
  "module": "fesm2022/progress-kendo-angular-upload.mjs",
@@ -20,6 +20,7 @@ export declare class UploadActionButtonsComponent {
20
20
  clearButton: ElementRef;
21
21
  uploadButton: ElementRef;
22
22
  hostDefaultClass: boolean;
23
+ hostHorizontalClass: boolean;
23
24
  get actionButtonsEndClassName(): boolean;
24
25
  get actionButtonsStretchedClassName(): boolean;
25
26
  get actionButtonsStartClassName(): boolean;
@@ -15,9 +15,9 @@ function default_1(options) {
15
15
  ], peerDependencies: {
16
16
  // peer dep of the icons
17
17
  '@progress/kendo-svg-icons': '^4.0.0',
18
- '@progress/kendo-angular-buttons': '24.0.0-develop.9',
19
- '@progress/kendo-angular-progressbar': '24.0.0-develop.9',
20
- '@progress/kendo-angular-popup': '24.0.0-develop.9',
18
+ '@progress/kendo-angular-buttons': '24.0.0',
19
+ '@progress/kendo-angular-progressbar': '24.0.0',
20
+ '@progress/kendo-angular-popup': '24.0.0',
21
21
  } });
22
22
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
23
23
  }