@progress/kendo-angular-gantt 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.
@@ -4,7 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  "use strict";
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.tsInterfaceTransformer = exports.tsPropertyValueTransformer = exports.tsPropertyTransformer = exports.tsComponentPropertyRemoval = exports.attributeRemoval = exports.attributeValueUpdate = exports.attributeNameValueUpdate = exports.attributeNameUpdate = exports.eventUpdate = exports.htmlTransformer = exports.blockTextElements = void 0;
7
+ exports.tsInterfaceTransformer = exports.tsPropertyValueTransformer = exports.tsPropertyTransformer = exports.tsComponentPropertyRemoval = exports.attributeConditionalRemoval = exports.attributeRemoval = exports.attributeValueUpdate = exports.attributeNameValueUpdate = exports.attributeNameUpdate = exports.eventUpdate = exports.htmlTransformer = exports.blockTextElements = void 0;
8
8
  exports.hasKendoInTemplate = hasKendoInTemplate;
9
9
  exports.isImportedFromPackage = isImportedFromPackage;
10
10
  exports.tsPropertyRemoval = tsPropertyRemoval;
@@ -345,6 +345,34 @@ const attributeRemoval = (templateContent, tagName, attributeName, propertyToRem
345
345
  });
346
346
  };
347
347
  exports.attributeRemoval = attributeRemoval;
348
+ /**
349
+ * Removes an attribute from a tag only when its value matches one of the specified values.
350
+ * Handles both static (`attr="value"`) and bound (`[attr]="'value'"`) forms.
351
+ *
352
+ * @param templateContent - The template string content to transform
353
+ * @param tagName - The HTML tag name to target (e.g., 'kendo-button')
354
+ * @param attributeName - The attribute name to conditionally remove
355
+ * @param values - The attribute values that trigger removal
356
+ * @returns The transformed template content
357
+ */
358
+ const attributeConditionalRemoval = (templateContent, tagName, attributeName, values) => {
359
+ const escapeRegex = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
360
+ const escapedTag = escapeRegex(tagName);
361
+ const escapedAttr = escapeRegex(attributeName);
362
+ // Remove bound attributes [attribute]="value"
363
+ const boundAttributePattern = new RegExp(`(<${escapedTag}[^>]*?)\\s+\\[${escapedAttr}\\]\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*?>)`, 'gi');
364
+ // Remove static attributes attribute="value"
365
+ const staticAttributePattern = new RegExp(`(<${escapedTag}[^>]*?)\\s+${escapedAttr}\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*?>)`, 'gi');
366
+ // Strip outer and inner quotes to extract the raw value for comparison
367
+ const matchesValue = (raw) => {
368
+ const inner = raw.replace(/^["']|["']$/g, '').replace(/^['"]|['"]$/g, '');
369
+ return values.includes(inner);
370
+ };
371
+ let result = templateContent.replace(boundAttributePattern, (match, prefix, value, suffix) => matchesValue(value) ? prefix + suffix : match);
372
+ result = result.replace(staticAttributePattern, (match, prefix, value, suffix) => matchesValue(value) ? prefix + suffix : match);
373
+ return result;
374
+ };
375
+ exports.attributeConditionalRemoval = attributeConditionalRemoval;
348
376
  function tsPropertyRemoval(source, rootSource, j, packageName, typeName, propertyName) {
349
377
  if (source.includes(typeName)) {
350
378
  if (!isImportedFromPackage(rootSource, j, packageName, typeName)) {
@@ -441,8 +469,31 @@ function tsPropertyRemoval(source, rootSource, j, packageName, typeName, propert
441
469
  }
442
470
  }
443
471
  });
444
- // Handle return statements with object literals
472
+ // Handle return statements with object literals, but only when the enclosing
473
+ // function's declared return type matches typeName. This prevents removing
474
+ // unrelated propertyName keys from object literals returned in other functions.
475
+ const enclosingFunctionReturnsType = (nodePath) => {
476
+ let current = nodePath.parent;
477
+ while (current) {
478
+ const node = current.node;
479
+ if (node.type === 'FunctionDeclaration' ||
480
+ node.type === 'FunctionExpression' ||
481
+ node.type === 'ArrowFunctionExpression' ||
482
+ node.type === 'ClassMethod' ||
483
+ node.type === 'ObjectMethod') {
484
+ return !!(node.returnType &&
485
+ node.returnType.typeAnnotation?.type === 'TSTypeReference' &&
486
+ node.returnType.typeAnnotation.typeName?.type === 'Identifier' &&
487
+ node.returnType.typeAnnotation.typeName.name === typeName);
488
+ }
489
+ current = current.parent;
490
+ }
491
+ return false;
492
+ };
445
493
  rootSource.find(j.ReturnStatement).forEach((path) => {
494
+ if (!enclosingFunctionReturnsType(path)) {
495
+ return;
496
+ }
446
497
  if (path.node.argument && path.node.argument.type === 'ObjectExpression') {
447
498
  const properties = path.node.argument.properties;
448
499
  const propIndex = properties.findIndex((p) => p.type === 'ObjectProperty' &&
@@ -491,22 +542,6 @@ function tsPropertyRemoval(source, rootSource, j, packageName, typeName, propert
491
542
  statement.remove();
492
543
  }
493
544
  });
494
- // Handle nested member expressions like chatConfig.chat.modelFields.pinnedByField
495
- rootSource
496
- .find(j.AssignmentExpression, {
497
- left: {
498
- type: 'MemberExpression',
499
- object: {
500
- type: 'MemberExpression',
501
- },
502
- property: {
503
- name: propertyName,
504
- },
505
- },
506
- })
507
- .forEach((path) => {
508
- j(path).closest(j.ExpressionStatement).remove();
509
- });
510
545
  return rootSource;
511
546
  }
512
547
  }
@@ -0,0 +1,24 @@
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.aiInstructionsGanttViewsButton = void 0;
8
+ exports.default = default_1;
9
+ const codemods_1 = require("@progress/kendo-angular-common/codemods");
10
+ exports.aiInstructionsGanttViewsButton = `k-gantt-views .k-button — replaced with .k-gantt-views .k-segmented-control-button.
11
+ The Gantt's toolbar view selector now uses SegmentedControl instead of buttons.
12
+ Update selectors from .k-gantt-views .k-button to .k-gantt-views .k-segmented-control-button.`;
13
+ exports.aiInstructions = `Review your stylesheets, test files, and any code that references these Gantt classes:
14
+
15
+ ${exports.aiInstructionsGanttViewsButton}`;
16
+ const patternGanttViews = (0, codemods_1.makePattern)(['k-gantt-views']);
17
+ function default_1(fileInfo) {
18
+ if ((0, codemods_1.isRenderingChangeTarget)(fileInfo.path)) {
19
+ if (patternGanttViews.test(fileInfo.source)) {
20
+ (0, codemods_1.writeInstructionMarker)(exports.aiInstructionsGanttViewsButton, __filename, fileInfo.path);
21
+ }
22
+ }
23
+ return fileInfo.source;
24
+ }
@@ -8,13 +8,13 @@ import { ColumnBase, ColumnComponent, ColumnGroupComponent, SpanColumnComponent,
8
8
  import { cloneDate, addWeeks, firstDayInWeek, addDays, lastDayOfMonth, getDate, firstDayOfMonth, addMonths, lastMonthOfYear, MS_PER_DAY, MS_PER_HOUR, isEqual } from '@progress/kendo-date-math';
9
9
  import { Subject, Subscription, fromEvent, forkJoin, EMPTY, isObservable, of } from 'rxjs';
10
10
  import { validatePackage } from '@progress/kendo-licensing';
11
- import { Keys, closestInScope, matchesClasses, isDocumentAvailable, isPresent as isPresent$1, EventsOutsideAngularDirective, DraggableDirective, PreventableEvent, anyChanged, closest, isFocusable, focusableSelector, isVisible, getLicenseMessage, shouldShowValidationUI, hasObservers, scrollbarWidth, normalizeKeys, WatermarkOverlayComponent, ResizeBatchService } from '@progress/kendo-angular-common';
11
+ import { Keys, closestInScope, matchesClasses, isDocumentAvailable, isPresent as isPresent$1, EventsOutsideAngularDirective, DraggableDirective, PreventableEvent, anyChanged, closest, isFocusable, focusableSelector, isVisible, getLicenseMessage, shouldShowValidationUI, hasObservers, scrollbarWidth, normalizeKeys, WatermarkOverlayComponent, KENDO_WEBMCP_HOST, ResizeBatchService } from '@progress/kendo-angular-common';
12
12
  import { map, distinctUntilChanged, take, switchMap, expand, reduce, filter } from 'rxjs/operators';
13
13
  import { getter, touchEnabled } from '@progress/kendo-common';
14
14
  import * as i1 from '@progress/kendo-angular-intl';
15
15
  import { DatePipe, NumberPipe } from '@progress/kendo-angular-intl';
16
16
  import { orderBy } from '@progress/kendo-data-query';
17
- import { xIcon, plusIcon, minusIcon, saveIcon, cancelOutlineIcon, trashIcon } from '@progress/kendo-svg-icons';
17
+ import { xIcon, plusIcon, minusIcon, saveIcon, cancelIcon, trashIcon } from '@progress/kendo-svg-icons';
18
18
  import { NgClass, NgTemplateOutlet } from '@angular/common';
19
19
  import { IconWrapperComponent, IconsService } from '@progress/kendo-angular-icons';
20
20
  import * as i6 from '@progress/kendo-angular-tooltip';
@@ -24,7 +24,7 @@ import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/k
24
24
  import * as i4 from '@angular/forms';
25
25
  import { FormArray, FormGroup, FormControl, Validators, ReactiveFormsModule } from '@angular/forms';
26
26
  import { GridComponent, SelectionDirective, ToolbarTemplateDirective as ToolbarTemplateDirective$1, ColumnComponent as ColumnComponent$1, CellTemplateDirective as CellTemplateDirective$1 } from '@progress/kendo-angular-grid';
27
- import { ButtonComponent, ButtonGroupComponent, DropDownButtonComponent } from '@progress/kendo-angular-buttons';
27
+ import { ButtonComponent, SegmentedControlComponent, DropDownButtonComponent } from '@progress/kendo-angular-buttons';
28
28
  import { DropDownListComponent } from '@progress/kendo-angular-dropdowns';
29
29
  import { FormFieldComponent, TextBoxDirective, NumericTextBoxComponent } from '@progress/kendo-angular-inputs';
30
30
  import { LabelComponent } from '@progress/kendo-angular-label';
@@ -44,8 +44,8 @@ const packageMetadata = {
44
44
  productName: 'Kendo UI for Angular',
45
45
  productCode: 'KENDOUIANGULAR',
46
46
  productCodes: ['KENDOUIANGULAR'],
47
- publishDate: 1777365398,
48
- version: '24.0.0-develop.9',
47
+ publishDate: 1779273571,
48
+ version: '24.0.0',
49
49
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
50
50
  };
51
51
 
@@ -3649,7 +3649,7 @@ class GanttTimelineComponent {
3649
3649
  </div>
3650
3650
  </div>
3651
3651
 
3652
- `, isInline: true, dependencies: [{ kind: "component", type: GanttHeaderTableBodyComponent, selector: "[kendoGanttHeaderTableBody]", inputs: ["groupSlots", "slots"] }, { kind: "directive", type: TimelineScrollableDirective, selector: "[kendoGanttTimelineScrollable]", inputs: ["scrollSettings"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "component", type: GanttTasksTableBodyComponent, selector: "[kendoGanttTasksTableBody]", inputs: ["selectable", "rows", "activeView", "taskContentTemplate", "taskTemplate", "summaryTaskTemplate", "taskClass", "isExpanded", "isTaskSelected", "renderDependencyDragClues"], outputs: ["taskPointerEnter", "taskPointerLeave"] }, { kind: "directive", type: GanttDependencyDirective, selector: "[kendoGanttDependency]", inputs: ["dependency"] }, { kind: "directive", type: i6.TooltipDirective, selector: "[kendoTooltip]", inputs: ["filter", "position", "titleTemplate", "showOn", "showAfter", "callout", "closable", "offset", "tooltipWidth", "tooltipHeight", "tooltipClass", "tooltipContentClass", "collision", "closeTitle", "tooltipTemplate"], exportAs: ["kendoTooltip"] }, { kind: "pipe", type: DatePipe, name: "kendoDate" }, { kind: "pipe", type: NumberPipe, name: "kendoNumber" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
3652
+ `, isInline: true, dependencies: [{ kind: "component", type: GanttHeaderTableBodyComponent, selector: "[kendoGanttHeaderTableBody]", inputs: ["groupSlots", "slots"] }, { kind: "directive", type: TimelineScrollableDirective, selector: "[kendoGanttTimelineScrollable]", inputs: ["scrollSettings"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "component", type: GanttTasksTableBodyComponent, selector: "[kendoGanttTasksTableBody]", inputs: ["selectable", "rows", "activeView", "taskContentTemplate", "taskTemplate", "summaryTaskTemplate", "taskClass", "isExpanded", "isTaskSelected", "renderDependencyDragClues"], outputs: ["taskPointerEnter", "taskPointerLeave"] }, { kind: "directive", type: GanttDependencyDirective, selector: "[kendoGanttDependency]", inputs: ["dependency"] }, { kind: "directive", type: i6.TooltipDirective, selector: "[kendoTooltip]", inputs: ["filter", "position", "titleTemplate", "showOn", "showAfter", "callout", "closable", "offset", "tooltipWidth", "tooltipHeight", "tooltipClass", "themeColor", "tooltipContentClass", "collision", "closeTitle", "tooltipTemplate"], exportAs: ["kendoTooltip"] }, { kind: "pipe", type: DatePipe, name: "kendoDate" }, { kind: "pipe", type: NumberPipe, name: "kendoNumber" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None });
3653
3653
  }
3654
3654
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: GanttTimelineComponent, decorators: [{
3655
3655
  type: Component,
@@ -4863,7 +4863,7 @@ class DependenciesTableComponent {
4863
4863
  </ng-template>
4864
4864
  </kendo-grid-column>
4865
4865
  </kendo-grid>
4866
- `, isInline: true, dependencies: [{ kind: "component", type: GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "adaptiveMode", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "gridResizable", "rowReorderable", "navigable", "autoSize", "rowClass", "rowSticky", "rowSelected", "isRowSelectable", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "showInactiveTools", "isDetailExpanded", "isGroupExpanded", "dataLayoutMode", "pinnable", "pinnedTopRows", "pinnedBottomRows", "isRowPinnable"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "rowPinChange", "dataStateChange", "gridStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "csvExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "directive", type: ToolbarTemplateDirective$1, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { 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: "component", type: ColumnComponent$1, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterVariant", "filterable", "editable"] }, { kind: "directive", type: CellTemplateDirective$1, selector: "[kendoGridCellTemplate]" }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
4866
+ `, isInline: true, dependencies: [{ kind: "component", type: GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "adaptiveMode", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "gridResizable", "rowReorderable", "navigable", "autoSize", "rowClass", "rowSticky", "rowSelected", "isRowSelectable", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "showInactiveTools", "isDetailExpanded", "isGroupExpanded", "dataLayoutMode", "pinnable", "pinnedTopRows", "pinnedBottomRows", "isRowPinnable"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "rowPinChange", "dataStateChange", "gridStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "csvExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "directive", type: ToolbarTemplateDirective$1, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { 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: "component", type: ColumnComponent$1, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterVariant", "filterable", "editable"] }, { kind: "directive", type: CellTemplateDirective$1, selector: "[kendoGridCellTemplate]" }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
4867
4867
  }
4868
4868
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DependenciesTableComponent, decorators: [{
4869
4869
  type: Component,
@@ -5056,7 +5056,7 @@ class EditDialogComponent {
5056
5056
  data;
5057
5057
  loadedTasks;
5058
5058
  saveIcon = saveIcon;
5059
- cancelIcon = cancelOutlineIcon;
5059
+ cancelIcon = cancelIcon;
5060
5060
  deleteIcon = trashIcon;
5061
5061
  constructor(mapper, editService, cdr, localizationService) {
5062
5062
  this.mapper = mapper;
@@ -5143,7 +5143,7 @@ class EditDialogComponent {
5143
5143
  </button>
5144
5144
  <button
5145
5145
  kendoButton
5146
- icon="cancel-outline"
5146
+ icon="cancel"
5147
5147
  [svgIcon]="cancelIcon"
5148
5148
  (click)="handleEditingResult('cancel')"
5149
5149
  >
@@ -5165,7 +5165,7 @@ class EditDialogComponent {
5165
5165
  </button>
5166
5166
  </kendo-dialog-actions>
5167
5167
  </kendo-dialog>
5168
- `, isInline: true, dependencies: [{ kind: "component", type: DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "closable", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation", "themeColor"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { kind: "directive", type: CustomMessagesComponent$1, selector: "kendo-dialog-messages, kendo-window-messages" }, { kind: "component", type: TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "size", "closeIcon", "closeIconClass", "closeSVGIcon", "showContentArea"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { kind: "component", type: TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon", "closeIconClass", "closeSVGIcon"], exportAs: ["kendoTabStripTab"] }, { kind: "directive", type: TabContentDirective, selector: "[kendoTabContent]" }, { kind: "component", type: TaskFieldsComponent, selector: "kendo-gantt-task-fields" }, { kind: "component", type: DependenciesTableComponent, selector: "kendo-gantt-dependencies-table", inputs: ["tasks", "dependencies", "dependencyType"], outputs: ["dependenciesChange"] }, { kind: "component", type: DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { 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: "component", type: TreeListSpacerComponent, selector: "kendo-treelist-spacer", inputs: ["width"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
5168
+ `, isInline: true, dependencies: [{ kind: "component", type: DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "closable", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { kind: "directive", type: CustomMessagesComponent$1, selector: "kendo-dialog-messages, kendo-window-messages" }, { kind: "component", type: TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "size", "closeIcon", "closeIconClass", "closeSVGIcon", "showContentArea"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { kind: "component", type: TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon", "closeIconClass", "closeSVGIcon"], exportAs: ["kendoTabStripTab"] }, { kind: "directive", type: TabContentDirective, selector: "[kendoTabContent]" }, { kind: "component", type: TaskFieldsComponent, selector: "kendo-gantt-task-fields" }, { kind: "component", type: DependenciesTableComponent, selector: "kendo-gantt-dependencies-table", inputs: ["tasks", "dependencies", "dependencyType"], outputs: ["dependenciesChange"] }, { kind: "component", type: DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { 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: "component", type: TreeListSpacerComponent, selector: "kendo-treelist-spacer", inputs: ["width"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
5169
5169
  }
5170
5170
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: EditDialogComponent, decorators: [{
5171
5171
  type: Component,
@@ -5220,7 +5220,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
5220
5220
  </button>
5221
5221
  <button
5222
5222
  kendoButton
5223
- icon="cancel-outline"
5223
+ icon="cancel"
5224
5224
  [svgIcon]="cancelIcon"
5225
5225
  (click)="handleEditingResult('cancel')"
5226
5226
  >
@@ -5283,7 +5283,13 @@ class ViewSelectorComponent {
5283
5283
  /**
5284
5284
  * Lists the timeline view types in the current Gantt configuration.
5285
5285
  */
5286
- views;
5286
+ set views(value) {
5287
+ this._views = value;
5288
+ this.updateSegmentedItems();
5289
+ }
5290
+ get views() {
5291
+ return this._views;
5292
+ }
5287
5293
  /**
5288
5294
  * Sets the current view type.
5289
5295
  * @default 'week'
@@ -5293,14 +5299,27 @@ class ViewSelectorComponent {
5293
5299
  * Fires when the user selects a different view type. The event data contains the type of the new view.
5294
5300
  */
5295
5301
  activeViewChange = new EventEmitter();
5302
+ /**
5303
+ * @hidden
5304
+ */
5305
+ segmentedItems = [];
5306
+ _views = [];
5296
5307
  constructor(localizationService) {
5297
5308
  this.localizationService = localizationService;
5298
5309
  }
5299
5310
  /**
5300
5311
  * @hidden
5301
5312
  */
5302
- onClick(viewType) {
5303
- if (viewType !== this.activeView) {
5313
+ get selectedIndex() {
5314
+ const index = this._views.indexOf(this.activeView);
5315
+ return index === -1 ? 0 : index;
5316
+ }
5317
+ /**
5318
+ * @hidden
5319
+ */
5320
+ onSelectedChange(index) {
5321
+ const viewType = this._views[index];
5322
+ if (viewType && viewType !== this.activeView) {
5304
5323
  this.activeViewChange.emit(viewType);
5305
5324
  }
5306
5325
  }
@@ -5316,6 +5335,9 @@ class ViewSelectorComponent {
5316
5335
  onActiveViewChange(event) {
5317
5336
  this.activeViewChange.emit(event.target.value);
5318
5337
  }
5338
+ updateSegmentedItems() {
5339
+ this.segmentedItems = (this._views || []).map(view => ({ text: this.getViewTypeText(view) }));
5340
+ }
5319
5341
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ViewSelectorComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
5320
5342
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ViewSelectorComponent, isStandalone: true, selector: "kendo-gantt-view-selector", inputs: { views: "views", activeView: "activeView" }, outputs: { activeViewChange: "activeViewChange" }, host: { properties: { "class.k-gantt-views-wrapper": "this.hostClass" } }, ngImport: i0, template: `
5321
5343
  <select
@@ -5327,16 +5349,13 @@ class ViewSelectorComponent {
5327
5349
  <option [value]="view">{{getViewTypeText(view)}}</option>
5328
5350
  }
5329
5351
  </select>
5330
- <kendo-buttongroup class="k-gantt-views" selection="single" [navigable]="false">
5331
- @for (view of views; track view) {
5332
- <button
5333
- kendoButton
5334
- type="button"
5335
- [selected]="view === activeView"
5336
- (click)="onClick(view)">{{getViewTypeText(view)}}</button>
5337
- }
5338
- </kendo-buttongroup>
5339
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: ButtonGroupComponent, selector: "kendo-buttongroup", inputs: ["disabled", "selection", "width", "tabIndex", "navigable"], outputs: ["navigate"], exportAs: ["kendoButtonGroup"] }, { 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"] }] });
5352
+ <kendo-segmented-control
5353
+ class="k-gantt-views"
5354
+ [items]="segmentedItems"
5355
+ [selected]="selectedIndex"
5356
+ (selectedChange)="onSelectedChange($event)">
5357
+ </kendo-segmented-control>
5358
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: SegmentedControlComponent, selector: "kendo-segmented-control", inputs: ["items", "layoutMode", "size", "selected"], outputs: ["selectedChange"] }] });
5340
5359
  }
5341
5360
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ViewSelectorComponent, decorators: [{
5342
5361
  type: Component,
@@ -5352,18 +5371,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
5352
5371
  <option [value]="view">{{getViewTypeText(view)}}</option>
5353
5372
  }
5354
5373
  </select>
5355
- <kendo-buttongroup class="k-gantt-views" selection="single" [navigable]="false">
5356
- @for (view of views; track view) {
5357
- <button
5358
- kendoButton
5359
- type="button"
5360
- [selected]="view === activeView"
5361
- (click)="onClick(view)">{{getViewTypeText(view)}}</button>
5362
- }
5363
- </kendo-buttongroup>
5374
+ <kendo-segmented-control
5375
+ class="k-gantt-views"
5376
+ [items]="segmentedItems"
5377
+ [selected]="selectedIndex"
5378
+ (selectedChange)="onSelectedChange($event)">
5379
+ </kendo-segmented-control>
5364
5380
  `,
5365
5381
  standalone: true,
5366
- imports: [ReactiveFormsModule, ButtonGroupComponent, ButtonComponent]
5382
+ imports: [ReactiveFormsModule, SegmentedControlComponent]
5367
5383
  }]
5368
5384
  }], ctorParameters: () => [{ type: i1$1.LocalizationService }], propDecorators: { hostClass: [{
5369
5385
  type: HostBinding,
@@ -5770,7 +5786,6 @@ class Messages extends ComponentMessages {
5770
5786
  */
5771
5787
  monthViewText;
5772
5788
  /**
5773
- * @hidden
5774
5789
  * The text of the year view in the ViewSelector component.
5775
5790
  */
5776
5791
  yearViewText;
@@ -7497,6 +7512,10 @@ class GanttComponent {
7497
7512
  provide: ExpandableTreeComponent,
7498
7513
  useExisting: forwardRef(() => GanttComponent)
7499
7514
  },
7515
+ {
7516
+ provide: KENDO_WEBMCP_HOST,
7517
+ useExisting: forwardRef(() => GanttComponent)
7518
+ },
7500
7519
  TimelineViewService,
7501
7520
  TimelineDayViewService,
7502
7521
  TimelineWeekViewService,
@@ -7581,7 +7600,7 @@ class GanttComponent {
7581
7600
  i18n-monthViewText="kendo.gantt.monthViewText|The text of the month view in the ViewSelector component"
7582
7601
  monthViewText="Month"
7583
7602
 
7584
- i18n-yearViewText-disabled="kendo.gantt.yearViewText|The text of the year view in the ViewSelector component"
7603
+ i18n-yearViewText="kendo.gantt.yearViewText|The text of the year view in the ViewSelector component"
7585
7604
  yearViewText="Year"
7586
7605
 
7587
7606
  i18n-addTaskText="kendo.gantt.addTaskText|The text of the DropDownButton in the AddTask component"
@@ -7890,7 +7909,7 @@ class GanttComponent {
7890
7909
  <span>{{ getText('confirmationDialogContent') }}</span>
7891
7910
  <kendo-dialog-actions layout="start">
7892
7911
  <kendo-treelist-spacer></kendo-treelist-spacer>
7893
- <button kendoButton [primary]="true" (click)="handleDeleteConfirmation()">{{ getText('deleteButtonText') }}</button>
7912
+ <button kendoButton themeColor="primary" (click)="handleDeleteConfirmation()">{{ getText('deleteButtonText') }}</button>
7894
7913
  <button kendoButton (click)="handleConfirmationDialogClose()">{{ getText('cancelButtonText') }}</button>
7895
7914
  </kendo-dialog-actions>
7896
7915
  </kendo-dialog>
@@ -7899,7 +7918,7 @@ class GanttComponent {
7899
7918
  @if (showLicenseWatermark) {
7900
7919
  <div kendoWatermarkOverlay [licenseMessage]="licenseMessage"></div>
7901
7920
  }
7902
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGanttLocalizedMessages]" }, { kind: "component", type: ToolbarComponent, selector: "kendo-gantt-toolbar", inputs: ["showAddTask", "showViewSelector", "views", "activeView", "toolbarTemplate", "navigable", "position"], outputs: ["activeViewChange"] }, { kind: "component", type: SplitterComponent, selector: "kendo-splitter", inputs: ["orientation", "splitbarWidth", "resizeStep", "splitterBarClass"], outputs: ["layoutChange"], exportAs: ["kendoSplitter"] }, { kind: "component", type: SplitterPaneComponent, selector: "kendo-splitter-pane", inputs: ["order", "size", "splitterBarAttributes", "splitterBarClass", "min", "max", "resizable", "collapsible", "scrollable", "collapsed", "orientation", "containsSplitter", "overlayContent"], outputs: ["sizeChange", "collapsedChange"], exportAs: ["kendoSplitterPane"] }, { kind: "component", type: TreeListComponent, selector: "kendo-treelist", inputs: ["aria-label", "data", "pageSize", "height", "rowHeight", "skip", "scrollable", "sort", "trackBy", "filter", "virtualColumns", "filterable", "sortable", "pageable", "navigable", "autoSize", "rowClass", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "idField", "selectable", "isSelected", "rowReorderable", "columns", "fetchChildren", "hasChildren", "isExpanded"], outputs: ["selectionChange", "filterChange", "pageChange", "sortChange", "dataStateChange", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "scrollBottom", "contentScroll", "expand", "collapse", "expandStateChange", "rowReorder"], exportAs: ["kendoTreeList"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: CustomMessagesComponent$2, selector: "kendo-treelist-messages" }, { kind: "component", type: GanttTimelineComponent, selector: "kendo-gantt-timeline", inputs: ["rows", "slots", "groupSlots", "tableWidth", "activeView", "taskContentTemplate", "taskTemplate", "summaryTaskTemplate", "taskClass", "renderDependencyDragClues", "dragScrollSettings", "currentTimeMarker", "customTooltipTemplate", "customDragTooltipTemplate", "tooltipOptions", "selectable", "isTaskSelected", "isExpanded", "dependencies"], outputs: ["timelineContainerPress", "timelineContainerDrag", "timelineContainerRelease"] }, { kind: "component", type: EditDialogComponent, selector: "kendo-gantt-edit-dialog", inputs: ["data"] }, { kind: "component", type: DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "closable", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation", "themeColor"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { kind: "component", type: DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { kind: "component", type: TreeListSpacerComponent, selector: "kendo-treelist-spacer", inputs: ["width"] }, { 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: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay], kendo-watermark-overlay", inputs: ["licenseMessage"] }] });
7921
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoGanttLocalizedMessages]" }, { kind: "component", type: ToolbarComponent, selector: "kendo-gantt-toolbar", inputs: ["showAddTask", "showViewSelector", "views", "activeView", "toolbarTemplate", "navigable", "position"], outputs: ["activeViewChange"] }, { kind: "component", type: SplitterComponent, selector: "kendo-splitter", inputs: ["orientation", "splitbarWidth", "resizeStep", "splitterBarClass"], outputs: ["layoutChange"], exportAs: ["kendoSplitter"] }, { kind: "component", type: SplitterPaneComponent, selector: "kendo-splitter-pane", inputs: ["order", "size", "splitterBarAttributes", "splitterBarClass", "min", "max", "resizable", "collapsible", "scrollable", "collapsed", "orientation", "containsSplitter", "overlayContent"], outputs: ["sizeChange", "collapsedChange"], exportAs: ["kendoSplitterPane"] }, { kind: "component", type: TreeListComponent, selector: "kendo-treelist", inputs: ["aria-label", "data", "pageSize", "height", "rowHeight", "skip", "scrollable", "sort", "trackBy", "filter", "virtualColumns", "filterable", "sortable", "pageable", "navigable", "autoSize", "rowClass", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "idField", "selectable", "isSelected", "rowReorderable", "columns", "fetchChildren", "hasChildren", "isExpanded"], outputs: ["selectionChange", "filterChange", "pageChange", "sortChange", "dataStateChange", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "scrollBottom", "contentScroll", "expand", "collapse", "expandStateChange", "rowReorder"], exportAs: ["kendoTreeList"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: CustomMessagesComponent$2, selector: "kendo-treelist-messages" }, { kind: "component", type: GanttTimelineComponent, selector: "kendo-gantt-timeline", inputs: ["rows", "slots", "groupSlots", "tableWidth", "activeView", "taskContentTemplate", "taskTemplate", "summaryTaskTemplate", "taskClass", "renderDependencyDragClues", "dragScrollSettings", "currentTimeMarker", "customTooltipTemplate", "customDragTooltipTemplate", "tooltipOptions", "selectable", "isTaskSelected", "isExpanded", "dependencies"], outputs: ["timelineContainerPress", "timelineContainerDrag", "timelineContainerRelease"] }, { kind: "component", type: EditDialogComponent, selector: "kendo-gantt-edit-dialog", inputs: ["data"] }, { kind: "component", type: DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "closable", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { kind: "component", type: DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { kind: "component", type: TreeListSpacerComponent, selector: "kendo-treelist-spacer", inputs: ["width"] }, { 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: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay], kendo-watermark-overlay", inputs: ["licenseMessage"] }] });
7903
7922
  }
7904
7923
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: GanttComponent, decorators: [{
7905
7924
  type: Component,
@@ -7921,6 +7940,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
7921
7940
  provide: ExpandableTreeComponent,
7922
7941
  useExisting: forwardRef(() => GanttComponent)
7923
7942
  },
7943
+ {
7944
+ provide: KENDO_WEBMCP_HOST,
7945
+ useExisting: forwardRef(() => GanttComponent)
7946
+ },
7924
7947
  TimelineViewService,
7925
7948
  TimelineDayViewService,
7926
7949
  TimelineWeekViewService,
@@ -8006,7 +8029,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
8006
8029
  i18n-monthViewText="kendo.gantt.monthViewText|The text of the month view in the ViewSelector component"
8007
8030
  monthViewText="Month"
8008
8031
 
8009
- i18n-yearViewText-disabled="kendo.gantt.yearViewText|The text of the year view in the ViewSelector component"
8032
+ i18n-yearViewText="kendo.gantt.yearViewText|The text of the year view in the ViewSelector component"
8010
8033
  yearViewText="Year"
8011
8034
 
8012
8035
  i18n-addTaskText="kendo.gantt.addTaskText|The text of the DropDownButton in the AddTask component"
@@ -8315,7 +8338,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
8315
8338
  <span>{{ getText('confirmationDialogContent') }}</span>
8316
8339
  <kendo-dialog-actions layout="start">
8317
8340
  <kendo-treelist-spacer></kendo-treelist-spacer>
8318
- <button kendoButton [primary]="true" (click)="handleDeleteConfirmation()">{{ getText('deleteButtonText') }}</button>
8341
+ <button kendoButton themeColor="primary" (click)="handleDeleteConfirmation()">{{ getText('deleteButtonText') }}</button>
8319
8342
  <button kendoButton (click)="handleConfirmationDialogClose()">{{ getText('cancelButtonText') }}</button>
8320
8343
  </kendo-dialog-actions>
8321
8344
  </kendo-dialog>
@@ -117,7 +117,6 @@ export declare class Messages extends ComponentMessages {
117
117
  */
118
118
  monthViewText: string;
119
119
  /**
120
- * @hidden
121
120
  * The text of the year view in the ViewSelector component.
122
121
  */
123
122
  yearViewText: string;
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1777365398,
11
- "version": "24.0.0-develop.9",
10
+ "publishDate": 1779273571,
11
+ "version": "24.0.0",
12
12
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"
13
13
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-gantt",
3
- "version": "24.0.0-develop.9",
3
+ "version": "24.0.0",
4
4
  "description": "Kendo UI Angular Gantt",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -28,13 +28,20 @@
28
28
  "file": "codemods/v18/gantt-rendering-changes.js",
29
29
  "instructionsOnly": true
30
30
  }
31
+ ],
32
+ "24": [
33
+ {
34
+ "description": "The Gantt toolbar view selector now uses SegmentedControl instead of ButtonGroup.",
35
+ "file": "codemods/v24/gantt-rendering-changes.js",
36
+ "instructionsOnly": true
37
+ }
31
38
  ]
32
39
  }
33
40
  },
34
41
  "package": {
35
42
  "productName": "Kendo UI for Angular",
36
43
  "productCode": "KENDOUIANGULAR",
37
- "publishDate": 1777365398,
44
+ "publishDate": 1779273571,
38
45
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"
39
46
  }
40
47
  },
@@ -46,25 +53,25 @@
46
53
  "@angular/platform-browser": "19 - 21",
47
54
  "@progress/kendo-data-query": "^1.7.3",
48
55
  "@progress/kendo-licensing": "^1.11.0",
49
- "@progress/kendo-angular-buttons": "24.0.0-develop.9",
50
- "@progress/kendo-angular-common": "24.0.0-develop.9",
51
- "@progress/kendo-angular-dialog": "24.0.0-develop.9",
52
- "@progress/kendo-angular-dropdowns": "24.0.0-develop.9",
53
- "@progress/kendo-angular-grid": "24.0.0-develop.9",
54
- "@progress/kendo-angular-icons": "24.0.0-develop.9",
55
- "@progress/kendo-angular-inputs": "24.0.0-develop.9",
56
- "@progress/kendo-angular-intl": "24.0.0-develop.9",
57
- "@progress/kendo-angular-l10n": "24.0.0-develop.9",
58
- "@progress/kendo-angular-label": "24.0.0-develop.9",
59
- "@progress/kendo-angular-layout": "24.0.0-develop.9",
60
- "@progress/kendo-angular-popup": "24.0.0-develop.9",
61
- "@progress/kendo-angular-tooltip": "24.0.0-develop.9",
62
- "@progress/kendo-angular-treelist": "24.0.0-develop.9",
56
+ "@progress/kendo-angular-buttons": "24.0.0",
57
+ "@progress/kendo-angular-common": "24.0.0",
58
+ "@progress/kendo-angular-dialog": "24.0.0",
59
+ "@progress/kendo-angular-dropdowns": "24.0.0",
60
+ "@progress/kendo-angular-grid": "24.0.0",
61
+ "@progress/kendo-angular-icons": "24.0.0",
62
+ "@progress/kendo-angular-inputs": "24.0.0",
63
+ "@progress/kendo-angular-intl": "24.0.0",
64
+ "@progress/kendo-angular-l10n": "24.0.0",
65
+ "@progress/kendo-angular-label": "24.0.0",
66
+ "@progress/kendo-angular-layout": "24.0.0",
67
+ "@progress/kendo-angular-popup": "24.0.0",
68
+ "@progress/kendo-angular-tooltip": "24.0.0",
69
+ "@progress/kendo-angular-treelist": "24.0.0",
63
70
  "rxjs": "^6.5.3 || ^7.0.0"
64
71
  },
65
72
  "dependencies": {
66
73
  "tslib": "^2.3.1",
67
- "@progress/kendo-angular-schematics": "24.0.0-develop.9",
74
+ "@progress/kendo-angular-schematics": "24.0.0",
68
75
  "@progress/kendo-common": "^1.0.1",
69
76
  "@progress/kendo-date-math": "^1.5.2",
70
77
  "@progress/kendo-draggable": "^3.0.0"
@@ -12,16 +12,16 @@ function default_1(options) {
12
12
  // See https://github.com/telerik/kendo-schematics/issues/28
13
13
  peerDependencies: {
14
14
  // peer deps of the treelist
15
- '@progress/kendo-angular-dateinputs': '24.0.0-develop.9',
16
- '@progress/kendo-angular-excel-export': '24.0.0-develop.9',
17
- '@progress/kendo-angular-pdf-export': '24.0.0-develop.9',
18
- '@progress/kendo-angular-utils': '24.0.0-develop.9',
15
+ '@progress/kendo-angular-dateinputs': '24.0.0',
16
+ '@progress/kendo-angular-excel-export': '24.0.0',
17
+ '@progress/kendo-angular-pdf-export': '24.0.0',
18
+ '@progress/kendo-angular-utils': '24.0.0',
19
19
  '@progress/kendo-drawing': '^1.0.0',
20
20
  // peer deps of the dropdowns
21
- '@progress/kendo-angular-treeview': '24.0.0-develop.9',
22
- '@progress/kendo-angular-navigation': '24.0.0-develop.9',
21
+ '@progress/kendo-angular-treeview': '24.0.0',
22
+ '@progress/kendo-angular-navigation': '24.0.0',
23
23
  // peer dep of the layout
24
- '@progress/kendo-angular-progressbar': '24.0.0-develop.9',
24
+ '@progress/kendo-angular-progressbar': '24.0.0',
25
25
  // peer dep of the icons
26
26
  '@progress/kendo-svg-icons': '^4.0.0'
27
27
  } });
@@ -5,6 +5,7 @@
5
5
  import { EventEmitter } from '@angular/core';
6
6
  import { LocalizationService } from '@progress/kendo-angular-l10n';
7
7
  import { TimelineViewType } from './../models/timeline-view';
8
+ import { SegmentedItemSettings } from '@progress/kendo-angular-buttons';
8
9
  import * as i0 from "@angular/core";
9
10
  /**
10
11
  * The Gantt ViewSelector component. Shows the current view type and lets you switch to another view type.
@@ -15,7 +16,8 @@ export declare class ViewSelectorComponent {
15
16
  /**
16
17
  * Lists the timeline view types in the current Gantt configuration.
17
18
  */
18
- views: TimelineViewType[];
19
+ set views(value: TimelineViewType[]);
20
+ get views(): TimelineViewType[];
19
21
  /**
20
22
  * Sets the current view type.
21
23
  * @default 'week'
@@ -25,11 +27,20 @@ export declare class ViewSelectorComponent {
25
27
  * Fires when the user selects a different view type. The event data contains the type of the new view.
26
28
  */
27
29
  activeViewChange: EventEmitter<TimelineViewType>;
30
+ /**
31
+ * @hidden
32
+ */
33
+ segmentedItems: SegmentedItemSettings[];
34
+ private _views;
28
35
  constructor(localizationService: LocalizationService);
29
36
  /**
30
37
  * @hidden
31
38
  */
32
- onClick(viewType: TimelineViewType): void;
39
+ get selectedIndex(): number;
40
+ /**
41
+ * @hidden
42
+ */
43
+ onSelectedChange(index: number): void;
33
44
  /**
34
45
  * @hidden
35
46
  */
@@ -38,6 +49,7 @@ export declare class ViewSelectorComponent {
38
49
  * @hidden
39
50
  */
40
51
  onActiveViewChange(event: Event): void;
52
+ private updateSegmentedItems;
41
53
  static ɵfac: i0.ɵɵFactoryDeclaration<ViewSelectorComponent, never>;
42
54
  static ɵcmp: i0.ɵɵComponentDeclaration<ViewSelectorComponent, "kendo-gantt-view-selector", never, { "views": { "alias": "views"; "required": false; }; "activeView": { "alias": "activeView"; "required": false; }; }, { "activeViewChange": "activeViewChange"; }, never, never, true, never>;
43
55
  }