@progress/kendo-angular-navigation 19.0.0-develop.1 → 19.0.0-develop.10

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.
@@ -3,7 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as i0 from '@angular/core';
6
- import { Component, HostBinding, Input, Directive, Optional, EventEmitter, Output, ViewChild, ContentChild, ViewChildren, isDevMode, ElementRef, NgModule } from '@angular/core';
6
+ import { Component, HostBinding, Input, Directive, Optional, EventEmitter, Output, ViewChild, ContentChildren, forwardRef, ContentChild, Host, ViewChildren, isDevMode, ElementRef, NgModule } from '@angular/core';
7
7
  import * as i1 from '@progress/kendo-angular-l10n';
8
8
  import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
9
9
  import { validatePackage } from '@progress/kendo-licensing';
@@ -14,6 +14,7 @@ import * as i2 from '@angular/animations';
14
14
  import { style, animate } from '@angular/animations';
15
15
  import { take, filter, map, startWith, share } from 'rxjs/operators';
16
16
  import { IconWrapperComponent, IconsService } from '@progress/kendo-angular-icons';
17
+ import { ButtonDirective } from '@progress/kendo-angular-buttons';
17
18
  import { chevronRightIcon, chevronLeftIcon } from '@progress/kendo-svg-icons';
18
19
 
19
20
  /**
@@ -24,8 +25,8 @@ const packageMetadata = {
24
25
  productName: 'Kendo UI for Angular',
25
26
  productCode: 'KENDOUIANGULAR',
26
27
  productCodes: ['KENDOUIANGULAR'],
27
- publishDate: 1745317279,
28
- version: '19.0.0-develop.1',
28
+ publishDate: 1746794940,
29
+ version: '19.0.0-develop.10',
29
30
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
30
31
  };
31
32
 
@@ -686,7 +687,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
686
687
 
687
688
  const DEFAULT_ANIMATION_CONFIG = { duration: 300 };
688
689
  /**
689
- * Represents the [Kendo UI ActionSheet component for Angular]({% slug overview_actionsheet %}).
690
+ * Represents the [Kendo UI ActionSheet component for Angular](slug:overview_actionsheet).
690
691
  * Used to display a set of choices related to a task the user initiates.
691
692
  */
692
693
  class ActionSheetComponent {
@@ -696,6 +697,10 @@ class ActionSheetComponent {
696
697
  localizationService;
697
698
  builder;
698
699
  cdr;
700
+ /**
701
+ * @hidden
702
+ */
703
+ currentView = 1;
699
704
  /**
700
705
  * @hidden
701
706
  */
@@ -706,6 +711,24 @@ class ActionSheetComponent {
706
711
  * @hidden
707
712
  */
708
713
  direction;
714
+ /**
715
+ * Specifies the ActionSheet action buttons.
716
+ */
717
+ actions;
718
+ /**
719
+ * Specifies the layout of the action buttons.
720
+ * By default, the action buttons are rendered horizontally and stretched.
721
+ */
722
+ actionsLayout = {
723
+ orientation: 'horizontal',
724
+ alignment: 'stretched'
725
+ };
726
+ /**
727
+ * Specifies if the ActionSheet is closed on overlay click.
728
+ *
729
+ * @default false
730
+ */
731
+ overlayClickClose = false;
709
732
  /**
710
733
  * Specifies the text that is rendered as title.
711
734
  */
@@ -724,8 +747,13 @@ class ActionSheetComponent {
724
747
  */
725
748
  cssClass;
726
749
  /**
727
- * Configures the ActionSheet opening and closing animations ([see example]({% slug animations_actionsheet %})).
728
- * By default the animations are turned off. The default animations' duration is `300ms`.
750
+ * The inline styles that will be rendered on the inner ActionSheet element.
751
+ * Supports the type of values that are supported by [ngStyle](link:site.data.urls.angular['ngstyleapi']).
752
+ */
753
+ cssStyle;
754
+ /**
755
+ * Configures the ActionSheet opening and closing animations ([see example](slug:animations_actionsheet)).
756
+ * By default, the animations are turned off. The default animations' duration is `300ms`.
729
757
  *
730
758
  * @default true
731
759
  */
@@ -738,16 +766,26 @@ class ActionSheetComponent {
738
766
  expanded = false;
739
767
  /**
740
768
  * Sets the `aria-labelledby` attribute of the ActionSheet wrapper element.
741
- * Use this option when the built-in header element is replaced through the [`ActionSheetHeaderTemplate`]({% slug api_navigation_actionsheetheadertemplatedirective %})
742
- * or [`ActionSheetContentTemplate`]({% slug api_navigation_actionsheetcontenttemplatedirective %}).
769
+ * Use this option when the built-in header element is replaced through the [`ActionSheetHeaderTemplate`](slug:api_navigation_actionsheetheadertemplatedirective)
770
+ * or [`ActionSheetContentTemplate`](slug:api_navigation_actionsheetcontenttemplatedirective).
743
771
  *
744
772
  */
745
773
  titleId = getId('k-actionsheet-title');
774
+ /**
775
+ * @hidden
776
+ *
777
+ * Determines if the ActionSheet should focus the first focusable element when opened.
778
+ */
779
+ initialFocus = true;
746
780
  /**
747
781
  * Fires when the `expanded` property of the component is updated.
748
782
  * Used to provide a two-way binding for the `expanded` property.
749
783
  */
750
784
  expandedChange = new EventEmitter();
785
+ /**
786
+ * Fires when any of the ActionSheet action buttons is clicked.
787
+ */
788
+ action = new EventEmitter();
751
789
  /**
752
790
  * Fires when the ActionSheet is expanded and its animation is complete.
753
791
  */
@@ -768,6 +806,10 @@ class ActionSheetComponent {
768
806
  * @hidden
769
807
  */
770
808
  childContainer;
809
+ /**
810
+ * @hidden
811
+ */
812
+ actionSheetViews;
771
813
  /**
772
814
  * @hidden
773
815
  */
@@ -824,6 +866,24 @@ class ActionSheetComponent {
824
866
  this.player.destroy();
825
867
  }
826
868
  }
869
+ /**
870
+ * @hidden
871
+ * Navigates to the next view.
872
+ */
873
+ nextView() {
874
+ if (this.currentView < this.actionSheetViews.length) {
875
+ this.currentView += 1;
876
+ }
877
+ }
878
+ /**
879
+ * @hidden
880
+ * Navigates to the previous view.
881
+ */
882
+ prevView() {
883
+ if (this.currentView > 1) {
884
+ this.currentView -= 1;
885
+ }
886
+ }
827
887
  /**
828
888
  * Toggles the visibility of the ActionSheet.
829
889
  *
@@ -850,6 +910,18 @@ class ActionSheetComponent {
850
910
  this[current ? 'expand' : 'collapse'].emit();
851
911
  }
852
912
  }
913
+ /**
914
+ * @hidden
915
+ */
916
+ get orientationClass() {
917
+ return this.actionsLayout.orientation ? `k-actions-${this.actionsLayout.orientation}` : '';
918
+ }
919
+ /**
920
+ * @hidden
921
+ */
922
+ get alignmentClass() {
923
+ return this.actionsLayout.alignment ? `k-actions-${this.actionsLayout.alignment}` : '';
924
+ }
853
925
  /**
854
926
  * @hidden
855
927
  */
@@ -873,6 +945,9 @@ class ActionSheetComponent {
873
945
  */
874
946
  onOverlayClick() {
875
947
  this.overlayClick.emit();
948
+ if (this.overlayClickClose) {
949
+ this.toggle(false);
950
+ }
876
951
  }
877
952
  /**
878
953
  * @hidden
@@ -918,7 +993,7 @@ class ActionSheetComponent {
918
993
  }
919
994
  handleInitialFocus() {
920
995
  const [firstFocusable] = getFirstAndLastFocusable(this.element.nativeElement);
921
- if (firstFocusable) {
996
+ if (firstFocusable && this.initialFocus) {
922
997
  firstFocusable.focus();
923
998
  }
924
999
  }
@@ -977,80 +1052,106 @@ class ActionSheetComponent {
977
1052
  this.player.play();
978
1053
  }
979
1054
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActionSheetComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: i2.AnimationBuilder }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
980
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ActionSheetComponent, isStandalone: true, selector: "kendo-actionsheet", inputs: { title: "title", subtitle: "subtitle", items: "items", cssClass: "cssClass", animation: "animation", expanded: "expanded", titleId: "titleId" }, outputs: { expandedChange: "expandedChange", expand: "expand", collapse: "collapse", itemClick: "itemClick", overlayClick: "overlayClick" }, host: { properties: { "class.k-actionsheet-container": "this.hostClass", "attr.dir": "this.direction" } }, providers: [
1055
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ActionSheetComponent, isStandalone: true, selector: "kendo-actionsheet", inputs: { actions: "actions", actionsLayout: "actionsLayout", overlayClickClose: "overlayClickClose", title: "title", subtitle: "subtitle", items: "items", cssClass: "cssClass", cssStyle: "cssStyle", animation: "animation", expanded: "expanded", titleId: "titleId", initialFocus: "initialFocus" }, outputs: { expandedChange: "expandedChange", action: "action", expand: "expand", collapse: "collapse", itemClick: "itemClick", overlayClick: "overlayClick" }, host: { properties: { "class.k-actionsheet-container": "this.hostClass", "attr.dir": "this.direction" } }, providers: [
981
1056
  LocalizationService,
982
1057
  {
983
1058
  provide: L10N_PREFIX,
984
1059
  useValue: 'kendo.actionsheet.component'
985
1060
  }
986
- ], queries: [{ propertyName: "actionSheetTemplate", first: true, predicate: ActionSheetTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: ActionSheetHeaderTemplateDirective, descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ActionSheetContentTemplateDirective, descendants: true }, { propertyName: "itemTemplate", first: true, predicate: ActionSheetItemTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: ActionSheetFooterTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "childContainer", first: true, predicate: ["childContainer"], descendants: true }], exportAs: ["kendoActionSheet"], usesOnChanges: true, ngImport: i0, template: `
1061
+ ], queries: [{ propertyName: "actionSheetTemplate", first: true, predicate: ActionSheetTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: ActionSheetHeaderTemplateDirective, descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ActionSheetContentTemplateDirective, descendants: true }, { propertyName: "itemTemplate", first: true, predicate: ActionSheetItemTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: ActionSheetFooterTemplateDirective, descendants: true }, { propertyName: "actionSheetViews", predicate: i0.forwardRef(function () { return ActionSheetViewComponent; }) }], viewQueries: [{ propertyName: "childContainer", first: true, predicate: ["childContainer"], descendants: true }], exportAs: ["kendoActionSheet"], usesOnChanges: true, ngImport: i0, template: `
987
1062
  <ng-container *ngIf="expanded">
988
1063
  <div class="k-overlay" (click)="onOverlayClick()"></div>
989
1064
  <div class="k-animation-container k-animation-container-shown">
990
1065
  <div #childContainer class="k-child-animation-container" [style]="'bottom: 0px; width: 100%;'">
991
- <div class="k-actionsheet k-actionsheet-bottom"
1066
+ <div
1067
+ class="k-actionsheet k-actionsheet-bottom"
992
1068
  [ngClass]="cssClass"
1069
+ [ngStyle]="cssStyle"
993
1070
  role="dialog"
994
1071
  aria-modal="true"
995
- [attr.aria-labelledby]="titleId">
996
-
997
- <ng-template *ngIf="actionSheetTemplate; else defaultTemplate"
998
- [ngTemplateOutlet]="actionSheetTemplate?.templateRef">
999
- </ng-template>
1000
-
1001
- <ng-template #defaultTemplate>
1002
- <div *ngIf="title || subtitle || headerTemplate" class="k-actionsheet-titlebar">
1003
- <ng-template *ngIf="headerTemplate; else defaultHeaderTemplate"
1004
- [ngTemplateOutlet]="headerTemplate?.templateRef">
1005
- </ng-template>
1006
-
1007
- <ng-template #defaultHeaderTemplate>
1008
- <div class="k-actionsheet-titlebar-group k-hbox">
1009
- <div class="k-actionsheet-title" [id]="titleId">
1010
- <div *ngIf="title" class="k-text-center">{{title}}</div>
1011
- <div *ngIf="subtitle" class="k-actionsheet-subtitle k-text-center">{{subtitle}}</div>
1072
+ [attr.aria-labelledby]="titleId"
1073
+ [style.--kendo-actionsheet-view-current]="actionSheetViews?.length > 0 ? currentView : null"
1074
+ >
1075
+ <ng-content *ngIf="actionSheetViews?.length > 0" select="kendo-actionsheet-view"></ng-content>
1076
+
1077
+ <div *ngIf="actionSheetViews?.length === 0" class="k-actionsheet-view">
1078
+ <ng-template *ngIf="actionSheetTemplate; else defaultTemplate"
1079
+ [ngTemplateOutlet]="actionSheetTemplate?.templateRef">
1080
+ </ng-template>
1081
+
1082
+ <ng-template #defaultTemplate>
1083
+ <div *ngIf="title || subtitle || headerTemplate" class="k-actionsheet-titlebar">
1084
+ <ng-template *ngIf="headerTemplate; else defaultHeaderTemplate"
1085
+ [ngTemplateOutlet]="headerTemplate?.templateRef">
1086
+ </ng-template>
1087
+
1088
+ <ng-template #defaultHeaderTemplate>
1089
+ <div class="k-actionsheet-titlebar-group k-hbox">
1090
+ <div class="k-actionsheet-title" [id]="titleId">
1091
+ <div *ngIf="title" class="k-text-center">{{title}}</div>
1092
+ <div *ngIf="subtitle" class="k-actionsheet-subtitle k-text-center">{{subtitle}}</div>
1093
+ </div>
1094
+ </div>
1095
+ </ng-template>
1096
+ </div>
1097
+
1098
+ <div *ngIf="items || contentTemplate" class="k-actionsheet-content">
1099
+ <ng-template *ngIf="contentTemplate; else defaultContentTemplate"
1100
+ [ngTemplateOutlet]="contentTemplate?.templateRef">
1101
+ </ng-template>
1102
+ <ng-template #defaultContentTemplate>
1103
+ <div *ngIf="topGroupItems" kendoActionSheetList
1104
+ class="k-list-ul"
1105
+ role="group"
1106
+ [groupItems]="topGroupItems"
1107
+ [allItems]="items"
1108
+ [itemTemplate]="itemTemplate?.templateRef"
1109
+ (itemClick)="onItemClick($event)">
1110
+ </div>
1111
+
1112
+ <hr *ngIf="shouldRenderSeparator" class="k-hr"/>
1113
+
1114
+ <div *ngIf="bottomGroupItems" kendoActionSheetList
1115
+ class="k-list-ul"
1116
+ role="group"
1117
+ [groupItems]="bottomGroupItems"
1118
+ [allItems]="items"
1119
+ [itemTemplate]="itemTemplate?.templateRef"
1120
+ (itemClick)="onItemClick($event)">
1012
1121
  </div>
1013
- </div>
1014
- </ng-template>
1015
- </div>
1016
-
1017
- <div *ngIf="items || contentTemplate" class="k-actionsheet-content">
1018
- <ng-template *ngIf="contentTemplate; else defaultContentTemplate"
1019
- [ngTemplateOutlet]="contentTemplate?.templateRef">
1020
- </ng-template>
1021
- <ng-template #defaultContentTemplate>
1022
- <div *ngIf="topGroupItems" kendoActionSheetList
1023
- class="k-list-ul"
1024
- role="group"
1025
- [groupItems]="topGroupItems"
1026
- [allItems]="items"
1027
- [itemTemplate]="itemTemplate?.templateRef"
1028
- (itemClick)="onItemClick($event)">
1029
- </div>
1030
-
1031
- <hr *ngIf="shouldRenderSeparator" class="k-hr"/>
1032
-
1033
- <div *ngIf="bottomGroupItems" kendoActionSheetList
1034
- class="k-list-ul"
1035
- role="group"
1036
- [groupItems]="bottomGroupItems"
1037
- [allItems]="items"
1038
- [itemTemplate]="itemTemplate?.templateRef"
1039
- (itemClick)="onItemClick($event)">
1040
- </div>
1041
- </ng-template>
1042
- </div>
1043
- <div *ngIf="footerTemplate" class="k-actionsheet-footer">
1044
- <ng-template
1045
- [ngTemplateOutlet]="footerTemplate?.templateRef">
1046
- </ng-template>
1047
- </div>
1048
- </ng-template>
1122
+ </ng-template>
1123
+ </div>
1124
+ <div *ngIf="footerTemplate || actions" [ngClass]="[orientationClass, alignmentClass, 'k-actions', 'k-actionsheet-footer']">
1125
+ <ng-template
1126
+ *ngIf="footerTemplate"
1127
+ [ngTemplateOutlet]="footerTemplate?.templateRef">
1128
+ </ng-template>
1129
+
1130
+ <ng-container *ngIf="!footerTemplate && actions">
1131
+ <button
1132
+ *ngFor="let actionButton of actions"
1133
+ kendoButton
1134
+ type="button"
1135
+ [icon]="actionButton.icon"
1136
+ [title]="actionButton.title"
1137
+ [svgIcon]="actionButton.svgIcon"
1138
+ [themeColor]="actionButton.themeColor"
1139
+ [fillMode]="actionButton.fillMode"
1140
+ [size]="actionButton.size"
1141
+ [attr.aria-label]="actionButton.text"
1142
+ (click)="action.emit(actionButton)"
1143
+ >
1144
+ {{ actionButton.text }}
1145
+ </button>
1146
+ </ng-container>
1147
+ </div>
1148
+ </ng-template>
1149
+ </div>
1049
1150
  </div>
1050
1151
  </div>
1051
1152
  </div>
1052
1153
  </ng-container>
1053
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ActionSheetListComponent, selector: "[kendoActionSheetList]", inputs: ["groupItems", "allItems", "itemTemplate"], outputs: ["itemClick"] }] });
1154
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ActionSheetListComponent, selector: "[kendoActionSheetList]", inputs: ["groupItems", "allItems", "itemTemplate"], outputs: ["itemClick"] }, { kind: "component", type: ButtonDirective, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
1054
1155
  }
1055
1156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActionSheetComponent, decorators: [{
1056
1157
  type: Component,
@@ -1062,64 +1163,90 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1062
1163
  <div class="k-overlay" (click)="onOverlayClick()"></div>
1063
1164
  <div class="k-animation-container k-animation-container-shown">
1064
1165
  <div #childContainer class="k-child-animation-container" [style]="'bottom: 0px; width: 100%;'">
1065
- <div class="k-actionsheet k-actionsheet-bottom"
1166
+ <div
1167
+ class="k-actionsheet k-actionsheet-bottom"
1066
1168
  [ngClass]="cssClass"
1169
+ [ngStyle]="cssStyle"
1067
1170
  role="dialog"
1068
1171
  aria-modal="true"
1069
- [attr.aria-labelledby]="titleId">
1070
-
1071
- <ng-template *ngIf="actionSheetTemplate; else defaultTemplate"
1072
- [ngTemplateOutlet]="actionSheetTemplate?.templateRef">
1073
- </ng-template>
1074
-
1075
- <ng-template #defaultTemplate>
1076
- <div *ngIf="title || subtitle || headerTemplate" class="k-actionsheet-titlebar">
1077
- <ng-template *ngIf="headerTemplate; else defaultHeaderTemplate"
1078
- [ngTemplateOutlet]="headerTemplate?.templateRef">
1079
- </ng-template>
1080
-
1081
- <ng-template #defaultHeaderTemplate>
1082
- <div class="k-actionsheet-titlebar-group k-hbox">
1083
- <div class="k-actionsheet-title" [id]="titleId">
1084
- <div *ngIf="title" class="k-text-center">{{title}}</div>
1085
- <div *ngIf="subtitle" class="k-actionsheet-subtitle k-text-center">{{subtitle}}</div>
1172
+ [attr.aria-labelledby]="titleId"
1173
+ [style.--kendo-actionsheet-view-current]="actionSheetViews?.length > 0 ? currentView : null"
1174
+ >
1175
+ <ng-content *ngIf="actionSheetViews?.length > 0" select="kendo-actionsheet-view"></ng-content>
1176
+
1177
+ <div *ngIf="actionSheetViews?.length === 0" class="k-actionsheet-view">
1178
+ <ng-template *ngIf="actionSheetTemplate; else defaultTemplate"
1179
+ [ngTemplateOutlet]="actionSheetTemplate?.templateRef">
1180
+ </ng-template>
1181
+
1182
+ <ng-template #defaultTemplate>
1183
+ <div *ngIf="title || subtitle || headerTemplate" class="k-actionsheet-titlebar">
1184
+ <ng-template *ngIf="headerTemplate; else defaultHeaderTemplate"
1185
+ [ngTemplateOutlet]="headerTemplate?.templateRef">
1186
+ </ng-template>
1187
+
1188
+ <ng-template #defaultHeaderTemplate>
1189
+ <div class="k-actionsheet-titlebar-group k-hbox">
1190
+ <div class="k-actionsheet-title" [id]="titleId">
1191
+ <div *ngIf="title" class="k-text-center">{{title}}</div>
1192
+ <div *ngIf="subtitle" class="k-actionsheet-subtitle k-text-center">{{subtitle}}</div>
1193
+ </div>
1194
+ </div>
1195
+ </ng-template>
1196
+ </div>
1197
+
1198
+ <div *ngIf="items || contentTemplate" class="k-actionsheet-content">
1199
+ <ng-template *ngIf="contentTemplate; else defaultContentTemplate"
1200
+ [ngTemplateOutlet]="contentTemplate?.templateRef">
1201
+ </ng-template>
1202
+ <ng-template #defaultContentTemplate>
1203
+ <div *ngIf="topGroupItems" kendoActionSheetList
1204
+ class="k-list-ul"
1205
+ role="group"
1206
+ [groupItems]="topGroupItems"
1207
+ [allItems]="items"
1208
+ [itemTemplate]="itemTemplate?.templateRef"
1209
+ (itemClick)="onItemClick($event)">
1210
+ </div>
1211
+
1212
+ <hr *ngIf="shouldRenderSeparator" class="k-hr"/>
1213
+
1214
+ <div *ngIf="bottomGroupItems" kendoActionSheetList
1215
+ class="k-list-ul"
1216
+ role="group"
1217
+ [groupItems]="bottomGroupItems"
1218
+ [allItems]="items"
1219
+ [itemTemplate]="itemTemplate?.templateRef"
1220
+ (itemClick)="onItemClick($event)">
1086
1221
  </div>
1087
- </div>
1088
- </ng-template>
1089
- </div>
1090
-
1091
- <div *ngIf="items || contentTemplate" class="k-actionsheet-content">
1092
- <ng-template *ngIf="contentTemplate; else defaultContentTemplate"
1093
- [ngTemplateOutlet]="contentTemplate?.templateRef">
1094
- </ng-template>
1095
- <ng-template #defaultContentTemplate>
1096
- <div *ngIf="topGroupItems" kendoActionSheetList
1097
- class="k-list-ul"
1098
- role="group"
1099
- [groupItems]="topGroupItems"
1100
- [allItems]="items"
1101
- [itemTemplate]="itemTemplate?.templateRef"
1102
- (itemClick)="onItemClick($event)">
1103
- </div>
1104
-
1105
- <hr *ngIf="shouldRenderSeparator" class="k-hr"/>
1106
-
1107
- <div *ngIf="bottomGroupItems" kendoActionSheetList
1108
- class="k-list-ul"
1109
- role="group"
1110
- [groupItems]="bottomGroupItems"
1111
- [allItems]="items"
1112
- [itemTemplate]="itemTemplate?.templateRef"
1113
- (itemClick)="onItemClick($event)">
1114
- </div>
1115
- </ng-template>
1116
- </div>
1117
- <div *ngIf="footerTemplate" class="k-actionsheet-footer">
1118
- <ng-template
1119
- [ngTemplateOutlet]="footerTemplate?.templateRef">
1120
- </ng-template>
1121
- </div>
1122
- </ng-template>
1222
+ </ng-template>
1223
+ </div>
1224
+ <div *ngIf="footerTemplate || actions" [ngClass]="[orientationClass, alignmentClass, 'k-actions', 'k-actionsheet-footer']">
1225
+ <ng-template
1226
+ *ngIf="footerTemplate"
1227
+ [ngTemplateOutlet]="footerTemplate?.templateRef">
1228
+ </ng-template>
1229
+
1230
+ <ng-container *ngIf="!footerTemplate && actions">
1231
+ <button
1232
+ *ngFor="let actionButton of actions"
1233
+ kendoButton
1234
+ type="button"
1235
+ [icon]="actionButton.icon"
1236
+ [title]="actionButton.title"
1237
+ [svgIcon]="actionButton.svgIcon"
1238
+ [themeColor]="actionButton.themeColor"
1239
+ [fillMode]="actionButton.fillMode"
1240
+ [size]="actionButton.size"
1241
+ [attr.aria-label]="actionButton.text"
1242
+ (click)="action.emit(actionButton)"
1243
+ >
1244
+ {{ actionButton.text }}
1245
+ </button>
1246
+ </ng-container>
1247
+ </div>
1248
+ </ng-template>
1249
+ </div>
1123
1250
  </div>
1124
1251
  </div>
1125
1252
  </div>
@@ -1133,7 +1260,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1133
1260
  }
1134
1261
  ],
1135
1262
  standalone: true,
1136
- imports: [NgIf, NgClass, NgTemplateOutlet, ActionSheetListComponent]
1263
+ imports: [NgIf, NgFor, NgStyle, NgClass, NgTemplateOutlet, ActionSheetListComponent, ButtonDirective]
1137
1264
  }]
1138
1265
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.LocalizationService }, { type: i2.AnimationBuilder }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { hostClass: [{
1139
1266
  type: HostBinding,
@@ -1141,6 +1268,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1141
1268
  }], direction: [{
1142
1269
  type: HostBinding,
1143
1270
  args: ['attr.dir']
1271
+ }], actions: [{
1272
+ type: Input
1273
+ }], actionsLayout: [{
1274
+ type: Input
1275
+ }], overlayClickClose: [{
1276
+ type: Input
1144
1277
  }], title: [{
1145
1278
  type: Input
1146
1279
  }], subtitle: [{
@@ -1149,14 +1282,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1149
1282
  type: Input
1150
1283
  }], cssClass: [{
1151
1284
  type: Input
1285
+ }], cssStyle: [{
1286
+ type: Input
1152
1287
  }], animation: [{
1153
1288
  type: Input
1154
1289
  }], expanded: [{
1155
1290
  type: Input
1156
1291
  }], titleId: [{
1157
1292
  type: Input
1293
+ }], initialFocus: [{
1294
+ type: Input
1158
1295
  }], expandedChange: [{
1159
1296
  type: Output
1297
+ }], action: [{
1298
+ type: Output
1160
1299
  }], expand: [{
1161
1300
  type: Output
1162
1301
  }], collapse: [{
@@ -1168,6 +1307,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1168
1307
  }], childContainer: [{
1169
1308
  type: ViewChild,
1170
1309
  args: ['childContainer']
1310
+ }], actionSheetViews: [{
1311
+ type: ContentChildren,
1312
+ args: [forwardRef(() => ActionSheetViewComponent)]
1171
1313
  }], actionSheetTemplate: [{
1172
1314
  type: ContentChild,
1173
1315
  args: [ActionSheetTemplateDirective]
@@ -1185,6 +1327,141 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1185
1327
  args: [ActionSheetFooterTemplateDirective]
1186
1328
  }] } });
1187
1329
 
1330
+ /**
1331
+ * @hidden
1332
+ *
1333
+ * Represents the [Kendo UI ActionSheetView component for Angular].
1334
+ * Used to display multiple views.
1335
+ */
1336
+ class ActionSheetViewComponent {
1337
+ actionSheet;
1338
+ title;
1339
+ subtitle;
1340
+ titleId = getId('k-actionsheet-title');
1341
+ hostClass = true;
1342
+ animated = true;
1343
+ transitionDuration = '500ms';
1344
+ transitionProperty = 'transform';
1345
+ headerTemplate;
1346
+ contentTemplate;
1347
+ footerTemplate;
1348
+ actionSheetTemplate;
1349
+ constructor(actionSheet) {
1350
+ this.actionSheet = actionSheet;
1351
+ }
1352
+ get orientationClass() {
1353
+ return this.actionSheet?.orientationClass;
1354
+ }
1355
+ get alignmentClass() {
1356
+ return this.actionSheet?.alignmentClass;
1357
+ }
1358
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActionSheetViewComponent, deps: [{ token: ActionSheetComponent, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1359
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ActionSheetViewComponent, isStandalone: true, selector: "kendo-actionsheet-view", inputs: { title: "title", subtitle: "subtitle", titleId: "titleId" }, host: { properties: { "class.k-actionsheet-view": "this.hostClass", "class.k-actionsheet-view-animated": "this.animated", "style.transition-duration": "this.transitionDuration", "style.transition-property": "this.transitionProperty" } }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ActionSheetHeaderTemplateDirective, descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ActionSheetContentTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: ActionSheetFooterTemplateDirective, descendants: true }, { propertyName: "actionSheetTemplate", first: true, predicate: ActionSheetTemplateDirective, descendants: true }], ngImport: i0, template: `
1360
+ <ng-template *ngIf="actionSheetTemplate; else defaultTemplate"
1361
+ [ngTemplateOutlet]="actionSheetTemplate?.templateRef">
1362
+ </ng-template>
1363
+
1364
+ <ng-template #defaultTemplate>
1365
+ <div *ngIf="title || subtitle || headerTemplate" class="k-actionsheet-titlebar">
1366
+ <ng-template *ngIf="headerTemplate; else defaultHeaderTemplate" [ngTemplateOutlet]="headerTemplate.templateRef">
1367
+ </ng-template>
1368
+
1369
+ <ng-template #defaultHeaderTemplate>
1370
+ <div class="k-actionsheet-titlebar-group k-hbox">
1371
+ <div class="k-actionsheet-title" [id]="titleId">
1372
+ <div *ngIf="title" class="k-text-center">{{title}}</div>
1373
+ <div *ngIf="subtitle" class="k-actionsheet-subtitle k-text-center">{{subtitle}}</div>
1374
+ </div>
1375
+ </div>
1376
+ </ng-template>
1377
+ </div>
1378
+
1379
+ <div *ngIf="contentTemplate" class="k-actionsheet-content">
1380
+ <ng-template [ngTemplateOutlet]="contentTemplate.templateRef">
1381
+ </ng-template>
1382
+ </div>
1383
+
1384
+ <div *ngIf="footerTemplate" [ngClass]="[orientationClass, alignmentClass, 'k-actions', 'k-actionsheet-footer']">
1385
+ <ng-template [ngTemplateOutlet]="footerTemplate.templateRef">
1386
+ </ng-template>
1387
+ </div>
1388
+ </ng-template>
1389
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
1390
+ }
1391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActionSheetViewComponent, decorators: [{
1392
+ type: Component,
1393
+ args: [{
1394
+ selector: 'kendo-actionsheet-view',
1395
+ template: `
1396
+ <ng-template *ngIf="actionSheetTemplate; else defaultTemplate"
1397
+ [ngTemplateOutlet]="actionSheetTemplate?.templateRef">
1398
+ </ng-template>
1399
+
1400
+ <ng-template #defaultTemplate>
1401
+ <div *ngIf="title || subtitle || headerTemplate" class="k-actionsheet-titlebar">
1402
+ <ng-template *ngIf="headerTemplate; else defaultHeaderTemplate" [ngTemplateOutlet]="headerTemplate.templateRef">
1403
+ </ng-template>
1404
+
1405
+ <ng-template #defaultHeaderTemplate>
1406
+ <div class="k-actionsheet-titlebar-group k-hbox">
1407
+ <div class="k-actionsheet-title" [id]="titleId">
1408
+ <div *ngIf="title" class="k-text-center">{{title}}</div>
1409
+ <div *ngIf="subtitle" class="k-actionsheet-subtitle k-text-center">{{subtitle}}</div>
1410
+ </div>
1411
+ </div>
1412
+ </ng-template>
1413
+ </div>
1414
+
1415
+ <div *ngIf="contentTemplate" class="k-actionsheet-content">
1416
+ <ng-template [ngTemplateOutlet]="contentTemplate.templateRef">
1417
+ </ng-template>
1418
+ </div>
1419
+
1420
+ <div *ngIf="footerTemplate" [ngClass]="[orientationClass, alignmentClass, 'k-actions', 'k-actionsheet-footer']">
1421
+ <ng-template [ngTemplateOutlet]="footerTemplate.templateRef">
1422
+ </ng-template>
1423
+ </div>
1424
+ </ng-template>
1425
+ `,
1426
+ standalone: true,
1427
+ imports: [NgIf, NgClass, NgTemplateOutlet]
1428
+ }]
1429
+ }], ctorParameters: function () { return [{ type: ActionSheetComponent, decorators: [{
1430
+ type: Optional
1431
+ }, {
1432
+ type: Host
1433
+ }] }]; }, propDecorators: { title: [{
1434
+ type: Input
1435
+ }], subtitle: [{
1436
+ type: Input
1437
+ }], titleId: [{
1438
+ type: Input
1439
+ }], hostClass: [{
1440
+ type: HostBinding,
1441
+ args: ['class.k-actionsheet-view']
1442
+ }], animated: [{
1443
+ type: HostBinding,
1444
+ args: ['class.k-actionsheet-view-animated']
1445
+ }], transitionDuration: [{
1446
+ type: HostBinding,
1447
+ args: ['style.transition-duration']
1448
+ }], transitionProperty: [{
1449
+ type: HostBinding,
1450
+ args: ['style.transition-property']
1451
+ }], headerTemplate: [{
1452
+ type: ContentChild,
1453
+ args: [ActionSheetHeaderTemplateDirective]
1454
+ }], contentTemplate: [{
1455
+ type: ContentChild,
1456
+ args: [ActionSheetContentTemplateDirective]
1457
+ }], footerTemplate: [{
1458
+ type: ContentChild,
1459
+ args: [ActionSheetFooterTemplateDirective]
1460
+ }], actionSheetTemplate: [{
1461
+ type: ContentChild,
1462
+ args: [ActionSheetTemplateDirective]
1463
+ }] } });
1464
+
1188
1465
  /**
1189
1466
  * @hidden
1190
1467
  */
@@ -2505,6 +2782,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2505
2782
  */
2506
2783
  const KENDO_ACTIONSHEET = [
2507
2784
  ActionSheetComponent,
2785
+ ActionSheetViewComponent,
2508
2786
  ActionSheetHeaderTemplateDirective,
2509
2787
  ActionSheetItemTemplateDirective,
2510
2788
  ActionSheetContentTemplateDirective,
@@ -2623,7 +2901,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2623
2901
  */
2624
2902
  class NavigationModule {
2625
2903
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2626
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NavigationModule, imports: [ActionSheetComponent, ActionSheetHeaderTemplateDirective, ActionSheetItemTemplateDirective, ActionSheetContentTemplateDirective, ActionSheetFooterTemplateDirective, ActionSheetTemplateDirective, AppBarComponent, AppBarSectionComponent, AppBarSpacerComponent, BottomNavigationComponent, BottomNavigationItemTemplateDirective, BreadCrumbComponent, BreadCrumbItemTemplateDirective], exports: [ActionSheetComponent, ActionSheetHeaderTemplateDirective, ActionSheetItemTemplateDirective, ActionSheetContentTemplateDirective, ActionSheetFooterTemplateDirective, ActionSheetTemplateDirective, AppBarComponent, AppBarSectionComponent, AppBarSpacerComponent, BottomNavigationComponent, BottomNavigationItemTemplateDirective, BreadCrumbComponent, BreadCrumbItemTemplateDirective] });
2904
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NavigationModule, imports: [ActionSheetComponent, ActionSheetViewComponent, ActionSheetHeaderTemplateDirective, ActionSheetItemTemplateDirective, ActionSheetContentTemplateDirective, ActionSheetFooterTemplateDirective, ActionSheetTemplateDirective, AppBarComponent, AppBarSectionComponent, AppBarSpacerComponent, BottomNavigationComponent, BottomNavigationItemTemplateDirective, BreadCrumbComponent, BreadCrumbItemTemplateDirective], exports: [ActionSheetComponent, ActionSheetViewComponent, ActionSheetHeaderTemplateDirective, ActionSheetItemTemplateDirective, ActionSheetContentTemplateDirective, ActionSheetFooterTemplateDirective, ActionSheetTemplateDirective, AppBarComponent, AppBarSectionComponent, AppBarSpacerComponent, BottomNavigationComponent, BottomNavigationItemTemplateDirective, BreadCrumbComponent, BreadCrumbItemTemplateDirective] });
2627
2905
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationModule, providers: [IconsService, ResizeBatchService], imports: [ActionSheetComponent, BottomNavigationComponent, BreadCrumbComponent] });
2628
2906
  }
2629
2907
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationModule, decorators: [{
@@ -2762,7 +3040,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2762
3040
  */
2763
3041
  class ActionSheetModule {
2764
3042
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActionSheetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2765
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ActionSheetModule, imports: [ActionSheetComponent, ActionSheetHeaderTemplateDirective, ActionSheetItemTemplateDirective, ActionSheetContentTemplateDirective, ActionSheetFooterTemplateDirective, ActionSheetTemplateDirective], exports: [ActionSheetComponent, ActionSheetHeaderTemplateDirective, ActionSheetItemTemplateDirective, ActionSheetContentTemplateDirective, ActionSheetFooterTemplateDirective, ActionSheetTemplateDirective] });
3043
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ActionSheetModule, imports: [ActionSheetComponent, ActionSheetViewComponent, ActionSheetHeaderTemplateDirective, ActionSheetItemTemplateDirective, ActionSheetContentTemplateDirective, ActionSheetFooterTemplateDirective, ActionSheetTemplateDirective], exports: [ActionSheetComponent, ActionSheetViewComponent, ActionSheetHeaderTemplateDirective, ActionSheetItemTemplateDirective, ActionSheetContentTemplateDirective, ActionSheetFooterTemplateDirective, ActionSheetTemplateDirective] });
2766
3044
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActionSheetModule, providers: [IconsService], imports: [ActionSheetComponent] });
2767
3045
  }
2768
3046
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActionSheetModule, decorators: [{
@@ -2780,5 +3058,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2780
3058
  * Generated bundle index. Do not edit.
2781
3059
  */
2782
3060
 
2783
- export { ActionSheetComponent, ActionSheetContentTemplateDirective, ActionSheetFooterTemplateDirective, ActionSheetHeaderTemplateDirective, ActionSheetItemClickEvent, ActionSheetItemTemplateDirective, ActionSheetModule, ActionSheetTemplateDirective, AppBarComponent, AppBarModule, AppBarSectionComponent, AppBarSpacerComponent, BottomNavigationComponent, BottomNavigationItemTemplateDirective, BottomNavigationModule, BottomNavigationSelectEvent, BreadCrumbComponent, BreadCrumbItemComponent, BreadCrumbItemTemplateDirective, BreadCrumbListComponent, BreadCrumbModule, KENDO_ACTIONSHEET, KENDO_APPBAR, KENDO_BOTTOMNAVIGATION, KENDO_BREADCRUMB, KENDO_NAVIGATION, NavigationModule };
3061
+ export { ActionSheetComponent, ActionSheetContentTemplateDirective, ActionSheetFooterTemplateDirective, ActionSheetHeaderTemplateDirective, ActionSheetItemClickEvent, ActionSheetItemTemplateDirective, ActionSheetModule, ActionSheetTemplateDirective, ActionSheetViewComponent, AppBarComponent, AppBarModule, AppBarSectionComponent, AppBarSpacerComponent, BottomNavigationComponent, BottomNavigationItemTemplateDirective, BottomNavigationModule, BottomNavigationSelectEvent, BreadCrumbComponent, BreadCrumbItemComponent, BreadCrumbItemTemplateDirective, BreadCrumbListComponent, BreadCrumbModule, KENDO_ACTIONSHEET, KENDO_APPBAR, KENDO_BOTTOMNAVIGATION, KENDO_BREADCRUMB, KENDO_NAVIGATION, NavigationModule };
2784
3062