@progress/kendo-angular-gantt 24.0.0-develop.9 → 24.0.1-develop.1

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: 1779368653,
48
+ version: '24.0.1-develop.1',
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
 
@@ -3438,7 +3438,10 @@ class GanttTimelineComponent {
3438
3438
  });
3439
3439
  }
3440
3440
  }));
3441
- this.subscriptions.add(taskDragService.dragEnd.subscribe(() => {
3441
+ this.subscriptions.add(taskDragService.dragEnd.subscribe((e) => {
3442
+ if (this.completion && this.task) {
3443
+ this.task = { ...this.task, completionRatio: e.completionRatio };
3444
+ }
3442
3445
  this.marquee = {
3443
3446
  show: false,
3444
3447
  left: 0,
@@ -3649,7 +3652,7 @@ class GanttTimelineComponent {
3649
3652
  </div>
3650
3653
  </div>
3651
3654
 
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 });
3655
+ `, 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
3656
  }
3654
3657
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: GanttTimelineComponent, decorators: [{
3655
3658
  type: Component,
@@ -4863,7 +4866,7 @@ class DependenciesTableComponent {
4863
4866
  </ng-template>
4864
4867
  </kendo-grid-column>
4865
4868
  </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"] }] });
4869
+ `, 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
4870
  }
4868
4871
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DependenciesTableComponent, decorators: [{
4869
4872
  type: Component,
@@ -5056,7 +5059,7 @@ class EditDialogComponent {
5056
5059
  data;
5057
5060
  loadedTasks;
5058
5061
  saveIcon = saveIcon;
5059
- cancelIcon = cancelOutlineIcon;
5062
+ cancelIcon = cancelIcon;
5060
5063
  deleteIcon = trashIcon;
5061
5064
  constructor(mapper, editService, cdr, localizationService) {
5062
5065
  this.mapper = mapper;
@@ -5143,7 +5146,7 @@ class EditDialogComponent {
5143
5146
  </button>
5144
5147
  <button
5145
5148
  kendoButton
5146
- icon="cancel-outline"
5149
+ icon="cancel"
5147
5150
  [svgIcon]="cancelIcon"
5148
5151
  (click)="handleEditingResult('cancel')"
5149
5152
  >
@@ -5165,7 +5168,7 @@ class EditDialogComponent {
5165
5168
  </button>
5166
5169
  </kendo-dialog-actions>
5167
5170
  </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"] }] });
5171
+ `, 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
5172
  }
5170
5173
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: EditDialogComponent, decorators: [{
5171
5174
  type: Component,
@@ -5220,7 +5223,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
5220
5223
  </button>
5221
5224
  <button
5222
5225
  kendoButton
5223
- icon="cancel-outline"
5226
+ icon="cancel"
5224
5227
  [svgIcon]="cancelIcon"
5225
5228
  (click)="handleEditingResult('cancel')"
5226
5229
  >
@@ -5283,7 +5286,13 @@ class ViewSelectorComponent {
5283
5286
  /**
5284
5287
  * Lists the timeline view types in the current Gantt configuration.
5285
5288
  */
5286
- views;
5289
+ set views(value) {
5290
+ this._views = value;
5291
+ this.updateSegmentedItems();
5292
+ }
5293
+ get views() {
5294
+ return this._views;
5295
+ }
5287
5296
  /**
5288
5297
  * Sets the current view type.
5289
5298
  * @default 'week'
@@ -5293,14 +5302,27 @@ class ViewSelectorComponent {
5293
5302
  * Fires when the user selects a different view type. The event data contains the type of the new view.
5294
5303
  */
5295
5304
  activeViewChange = new EventEmitter();
5305
+ /**
5306
+ * @hidden
5307
+ */
5308
+ segmentedItems = [];
5309
+ _views = [];
5296
5310
  constructor(localizationService) {
5297
5311
  this.localizationService = localizationService;
5298
5312
  }
5299
5313
  /**
5300
5314
  * @hidden
5301
5315
  */
5302
- onClick(viewType) {
5303
- if (viewType !== this.activeView) {
5316
+ get selectedIndex() {
5317
+ const index = this._views.indexOf(this.activeView);
5318
+ return index === -1 ? 0 : index;
5319
+ }
5320
+ /**
5321
+ * @hidden
5322
+ */
5323
+ onSelectedChange(index) {
5324
+ const viewType = this._views[index];
5325
+ if (viewType && viewType !== this.activeView) {
5304
5326
  this.activeViewChange.emit(viewType);
5305
5327
  }
5306
5328
  }
@@ -5316,6 +5338,9 @@ class ViewSelectorComponent {
5316
5338
  onActiveViewChange(event) {
5317
5339
  this.activeViewChange.emit(event.target.value);
5318
5340
  }
5341
+ updateSegmentedItems() {
5342
+ this.segmentedItems = (this._views || []).map(view => ({ text: this.getViewTypeText(view) }));
5343
+ }
5319
5344
  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
5345
  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
5346
  <select
@@ -5327,16 +5352,13 @@ class ViewSelectorComponent {
5327
5352
  <option [value]="view">{{getViewTypeText(view)}}</option>
5328
5353
  }
5329
5354
  </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"] }] });
5355
+ <kendo-segmented-control
5356
+ class="k-gantt-views"
5357
+ [items]="segmentedItems"
5358
+ [selected]="selectedIndex"
5359
+ (selectedChange)="onSelectedChange($event)">
5360
+ </kendo-segmented-control>
5361
+ `, 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
5362
  }
5341
5363
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ViewSelectorComponent, decorators: [{
5342
5364
  type: Component,
@@ -5352,18 +5374,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
5352
5374
  <option [value]="view">{{getViewTypeText(view)}}</option>
5353
5375
  }
5354
5376
  </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>
5377
+ <kendo-segmented-control
5378
+ class="k-gantt-views"
5379
+ [items]="segmentedItems"
5380
+ [selected]="selectedIndex"
5381
+ (selectedChange)="onSelectedChange($event)">
5382
+ </kendo-segmented-control>
5364
5383
  `,
5365
5384
  standalone: true,
5366
- imports: [ReactiveFormsModule, ButtonGroupComponent, ButtonComponent]
5385
+ imports: [ReactiveFormsModule, SegmentedControlComponent]
5367
5386
  }]
5368
5387
  }], ctorParameters: () => [{ type: i1$1.LocalizationService }], propDecorators: { hostClass: [{
5369
5388
  type: HostBinding,
@@ -5770,7 +5789,6 @@ class Messages extends ComponentMessages {
5770
5789
  */
5771
5790
  monthViewText;
5772
5791
  /**
5773
- * @hidden
5774
5792
  * The text of the year view in the ViewSelector component.
5775
5793
  */
5776
5794
  yearViewText;
@@ -7497,6 +7515,10 @@ class GanttComponent {
7497
7515
  provide: ExpandableTreeComponent,
7498
7516
  useExisting: forwardRef(() => GanttComponent)
7499
7517
  },
7518
+ {
7519
+ provide: KENDO_WEBMCP_HOST,
7520
+ useExisting: forwardRef(() => GanttComponent)
7521
+ },
7500
7522
  TimelineViewService,
7501
7523
  TimelineDayViewService,
7502
7524
  TimelineWeekViewService,
@@ -7581,7 +7603,7 @@ class GanttComponent {
7581
7603
  i18n-monthViewText="kendo.gantt.monthViewText|The text of the month view in the ViewSelector component"
7582
7604
  monthViewText="Month"
7583
7605
 
7584
- i18n-yearViewText-disabled="kendo.gantt.yearViewText|The text of the year view in the ViewSelector component"
7606
+ i18n-yearViewText="kendo.gantt.yearViewText|The text of the year view in the ViewSelector component"
7585
7607
  yearViewText="Year"
7586
7608
 
7587
7609
  i18n-addTaskText="kendo.gantt.addTaskText|The text of the DropDownButton in the AddTask component"
@@ -7890,7 +7912,7 @@ class GanttComponent {
7890
7912
  <span>{{ getText('confirmationDialogContent') }}</span>
7891
7913
  <kendo-dialog-actions layout="start">
7892
7914
  <kendo-treelist-spacer></kendo-treelist-spacer>
7893
- <button kendoButton [primary]="true" (click)="handleDeleteConfirmation()">{{ getText('deleteButtonText') }}</button>
7915
+ <button kendoButton themeColor="primary" (click)="handleDeleteConfirmation()">{{ getText('deleteButtonText') }}</button>
7894
7916
  <button kendoButton (click)="handleConfirmationDialogClose()">{{ getText('cancelButtonText') }}</button>
7895
7917
  </kendo-dialog-actions>
7896
7918
  </kendo-dialog>
@@ -7899,7 +7921,7 @@ class GanttComponent {
7899
7921
  @if (showLicenseWatermark) {
7900
7922
  <div kendoWatermarkOverlay [licenseMessage]="licenseMessage"></div>
7901
7923
  }
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"] }] });
7924
+ `, 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
7925
  }
7904
7926
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: GanttComponent, decorators: [{
7905
7927
  type: Component,
@@ -7921,6 +7943,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
7921
7943
  provide: ExpandableTreeComponent,
7922
7944
  useExisting: forwardRef(() => GanttComponent)
7923
7945
  },
7946
+ {
7947
+ provide: KENDO_WEBMCP_HOST,
7948
+ useExisting: forwardRef(() => GanttComponent)
7949
+ },
7924
7950
  TimelineViewService,
7925
7951
  TimelineDayViewService,
7926
7952
  TimelineWeekViewService,
@@ -8006,7 +8032,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
8006
8032
  i18n-monthViewText="kendo.gantt.monthViewText|The text of the month view in the ViewSelector component"
8007
8033
  monthViewText="Month"
8008
8034
 
8009
- i18n-yearViewText-disabled="kendo.gantt.yearViewText|The text of the year view in the ViewSelector component"
8035
+ i18n-yearViewText="kendo.gantt.yearViewText|The text of the year view in the ViewSelector component"
8010
8036
  yearViewText="Year"
8011
8037
 
8012
8038
  i18n-addTaskText="kendo.gantt.addTaskText|The text of the DropDownButton in the AddTask component"
@@ -8315,7 +8341,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
8315
8341
  <span>{{ getText('confirmationDialogContent') }}</span>
8316
8342
  <kendo-dialog-actions layout="start">
8317
8343
  <kendo-treelist-spacer></kendo-treelist-spacer>
8318
- <button kendoButton [primary]="true" (click)="handleDeleteConfirmation()">{{ getText('deleteButtonText') }}</button>
8344
+ <button kendoButton themeColor="primary" (click)="handleDeleteConfirmation()">{{ getText('deleteButtonText') }}</button>
8319
8345
  <button kendoButton (click)="handleConfirmationDialogClose()">{{ getText('cancelButtonText') }}</button>
8320
8346
  </kendo-dialog-actions>
8321
8347
  </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": 1779368653,
11
+ "version": "24.0.1-develop.1",
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.1-develop.1",
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": 1779368653,
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.1-develop.1",
57
+ "@progress/kendo-angular-common": "24.0.1-develop.1",
58
+ "@progress/kendo-angular-dialog": "24.0.1-develop.1",
59
+ "@progress/kendo-angular-dropdowns": "24.0.1-develop.1",
60
+ "@progress/kendo-angular-grid": "24.0.1-develop.1",
61
+ "@progress/kendo-angular-icons": "24.0.1-develop.1",
62
+ "@progress/kendo-angular-inputs": "24.0.1-develop.1",
63
+ "@progress/kendo-angular-intl": "24.0.1-develop.1",
64
+ "@progress/kendo-angular-l10n": "24.0.1-develop.1",
65
+ "@progress/kendo-angular-label": "24.0.1-develop.1",
66
+ "@progress/kendo-angular-layout": "24.0.1-develop.1",
67
+ "@progress/kendo-angular-popup": "24.0.1-develop.1",
68
+ "@progress/kendo-angular-tooltip": "24.0.1-develop.1",
69
+ "@progress/kendo-angular-treelist": "24.0.1-develop.1",
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.1-develop.1",
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.1-develop.1',
16
+ '@progress/kendo-angular-excel-export': '24.0.1-develop.1',
17
+ '@progress/kendo-angular-pdf-export': '24.0.1-develop.1',
18
+ '@progress/kendo-angular-utils': '24.0.1-develop.1',
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.1-develop.1',
22
+ '@progress/kendo-angular-navigation': '24.0.1-develop.1',
23
23
  // peer dep of the layout
24
- '@progress/kendo-angular-progressbar': '24.0.0-develop.9',
24
+ '@progress/kendo-angular-progressbar': '24.0.1-develop.1',
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
  }