@progress/kendo-angular-utils 12.0.0-develop.8 → 12.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.
Files changed (59) hide show
  1. package/drag-and-drop/drag-state.service.d.ts +4 -0
  2. package/drag-and-drop/draghandle.directive.d.ts +1 -0
  3. package/drag-and-drop/dragtarget-container.directive.d.ts +164 -0
  4. package/drag-and-drop/dragtarget.directive.d.ts +45 -42
  5. package/drag-and-drop/droptarget-container.directive.d.ts +89 -0
  6. package/drag-and-drop/droptarget.directive.d.ts +7 -18
  7. package/drag-and-drop/events/drag-target/drag-event.d.ts +23 -5
  8. package/drag-and-drop/events/drag-target/dragready-event.d.ts +30 -0
  9. package/drag-and-drop/events/drag-target/end-event.d.ts +22 -4
  10. package/drag-and-drop/events/drag-target/index.d.ts +2 -0
  11. package/drag-and-drop/events/drag-target/press-event.d.ts +23 -5
  12. package/drag-and-drop/events/drag-target/release-event.d.ts +40 -0
  13. package/drag-and-drop/events/drag-target/start-event.d.ts +22 -4
  14. package/drag-and-drop/events/drop-target-event.d.ts +48 -0
  15. package/drag-and-drop/events/index.d.ts +6 -0
  16. package/drag-and-drop/hint.component.d.ts +4 -4
  17. package/{esm2020/drag-and-drop/events/drop-target/drop-event.mjs → drag-and-drop/models/drag-mode.d.ts} +2 -9
  18. package/drag-and-drop/models/functions.d.ts +17 -0
  19. package/drag-and-drop/models/hint-settings.d.ts +22 -0
  20. package/drag-and-drop/models/index.d.ts +4 -2
  21. package/drag-and-drop/util.d.ts +22 -2
  22. package/drag-and-drop.module.d.ts +5 -3
  23. package/esm2020/drag-and-drop/drag-state.service.mjs +2 -0
  24. package/esm2020/drag-and-drop/draghandle.directive.mjs +1 -0
  25. package/esm2020/drag-and-drop/dragtarget-container.directive.mjs +621 -0
  26. package/esm2020/drag-and-drop/dragtarget.directive.mjs +260 -162
  27. package/esm2020/drag-and-drop/droptarget-container.directive.mjs +224 -0
  28. package/esm2020/drag-and-drop/droptarget.directive.mjs +25 -43
  29. package/esm2020/drag-and-drop/events/drag-target/drag-event.mjs +15 -1
  30. package/esm2020/drag-and-drop/events/{drop-target/enter-event.mjs → drag-target/dragready-event.mjs} +2 -2
  31. package/esm2020/drag-and-drop/events/drag-target/end-event.mjs +15 -1
  32. package/esm2020/drag-and-drop/events/drag-target/index.mjs +2 -0
  33. package/esm2020/drag-and-drop/events/drag-target/press-event.mjs +15 -1
  34. package/esm2020/drag-and-drop/events/{drop-target/leave-event.mjs → drag-target/release-event.mjs} +16 -2
  35. package/esm2020/drag-and-drop/events/drag-target/start-event.mjs +15 -1
  36. package/esm2020/drag-and-drop/events/drop-target-event.mjs +29 -0
  37. package/esm2020/drag-and-drop/events/index.mjs +6 -0
  38. package/esm2020/drag-and-drop/hint.component.mjs +11 -18
  39. package/esm2020/drag-and-drop/models/functions.mjs +5 -0
  40. package/esm2020/drag-and-drop/models/hint-settings.mjs +5 -0
  41. package/esm2020/drag-and-drop/util.mjs +73 -5
  42. package/esm2020/drag-and-drop.module.mjs +8 -0
  43. package/esm2020/index.mjs +4 -1
  44. package/esm2020/package-metadata.mjs +2 -2
  45. package/fesm2015/progress-kendo-angular-utils.mjs +1349 -306
  46. package/fesm2020/progress-kendo-angular-utils.mjs +1352 -312
  47. package/index.d.ts +4 -2
  48. package/package.json +3 -3
  49. package/drag-and-drop/events/drop-target/drop-event.d.ts +0 -22
  50. package/drag-and-drop/events/drop-target/enter-event.d.ts +0 -22
  51. package/drag-and-drop/events/drop-target/index.d.ts +0 -8
  52. package/drag-and-drop/events/drop-target/leave-event.d.ts +0 -22
  53. package/drag-and-drop/events/drop-target/over-event.d.ts +0 -22
  54. package/drag-and-drop/models/allowed-target.d.ts +0 -16
  55. package/esm2020/drag-and-drop/events/drop-target/index.mjs +0 -8
  56. package/esm2020/drag-and-drop/events/drop-target/over-event.mjs +0 -15
  57. /package/drag-and-drop/models/{dragaxis.d.ts → drag-axis.d.ts} +0 -0
  58. /package/esm2020/drag-and-drop/models/{allowed-target.mjs → drag-axis.mjs} +0 -0
  59. /package/esm2020/drag-and-drop/models/{dragaxis.mjs → drag-mode.mjs} +0 -0
@@ -32,6 +32,10 @@ export declare class DragStateService implements OnDestroy {
32
32
  velocity: Coordinates;
33
33
  dragTargetDirective: DragTargetDirective;
34
34
  state: DragAndDropState;
35
+ dragIndex: number;
36
+ dropIndex: number;
37
+ dragData: any;
38
+ dragTargetId: any;
35
39
  private callbacks;
36
40
  private scrollInterval;
37
41
  handleDragAndDrop(action: DragAndDropAction): void;
@@ -6,6 +6,7 @@ import { ElementRef } from "@angular/core";
6
6
  import * as i0 from "@angular/core";
7
7
  /**
8
8
  * Represents the Kendo UI DragHandle directive for Angular.
9
+ * It is used to specify a concrete element within a drag target as a handle for dragging, instead the drag target itself.
9
10
  */
10
11
  export declare class DragHandleDirective {
11
12
  element: ElementRef;
@@ -0,0 +1,164 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone, Renderer2, ViewContainerRef } from '@angular/core';
6
+ import { DragStateService } from './drag-state.service';
7
+ import { DragMode, DragTargetDataFn, HintSettings } from './models';
8
+ import { DragTargetIdFn } from './models/functions';
9
+ import { DragTargetDragEndEvent, DragTargetDragEvent, DragTargetDragReadyEvent, DragTargetDragStartEvent, DragTargetPressEvent, DragTargetReleaseEvent } from './events/drag-target';
10
+ import * as i0 from "@angular/core";
11
+ /**
12
+ * Represents the [Kendo UI DragTargetContainer directive for Angular]({% slug api_utils_dragtargetcontainerdirective %}).
13
+ * Used to configure multiple elements as draggable.
14
+ *
15
+ * @example
16
+ * ```ts-no-run
17
+ * <ul kendoDragTargetContainer dragTargetFilter=".my-draggable">
18
+ * <li class="my-draggable">foo</li>
19
+ * </ul>
20
+ * ```
21
+ */
22
+ export declare class DragTargetContainerDirective implements AfterViewInit {
23
+ wrapper: ElementRef;
24
+ ngZone: NgZone;
25
+ private renderer;
26
+ private service;
27
+ private viewContainer;
28
+ private cdr;
29
+ /**
30
+ * Defines whether a hint will be used for dragging. By default, the hint is a copy of the current drag target. ([see example]({% slug drag_target_container_hint %})).
31
+ *
32
+ * @default false
33
+ */
34
+ hint: boolean | HintSettings;
35
+ /**
36
+ * Specifies a selector for elements within a container which will be configured as draggable
37
+ * ([see example]({% slug drag_target_container %})). The possible values include any
38
+ * DOM `selector`.
39
+ */
40
+ set dragTargetFilter(value: string);
41
+ get dragTargetFilter(): string;
42
+ /**
43
+ * Specifies a selector for elements within each DragTarget which will be configured as drag handles ([see example]({% slug drag_target_container_handle %})).
44
+ */
45
+ dragHandle: string;
46
+ /**
47
+ * Defines the delay in milliseconds after which the drag will begin ([see example]({% slug drag_target_container_delay %})).
48
+ *
49
+ * @default 0
50
+ */
51
+ dragDelay: number;
52
+ /**
53
+ * The number of pixels the pointer moves in any direction before the dragging starts ([see example]({% slug drag_target_container_minimum_distance %})).
54
+ *
55
+ * @default 0
56
+ */
57
+ threshold: number;
58
+ /**
59
+ * Defines a unique identifier for each drag target.
60
+ * It exposes the current DragTarget HTML element and its index in the collection of drag targets as arguments.
61
+ */
62
+ set dragTargetId(fn: DragTargetIdFn);
63
+ get dragTargetId(): DragTargetIdFn;
64
+ /**
65
+ * Defines a callback function which returns custom data passed to the DropTarget events.
66
+ * It exposes the current DragTarget HTML element, its `dragTargetId` and its index in the collection of drag targets as arguments.
67
+ */
68
+ set dragData(fn: DragTargetDataFn);
69
+ get dragData(): DragTargetDataFn;
70
+ /**
71
+ * If set to true, the dragging of DragTargets within the container will be disabled.
72
+ *
73
+ * @default false
74
+ */
75
+ set dragDisabled(value: boolean);
76
+ get dragDisabled(): boolean;
77
+ /**
78
+ * Specifies whether the default dragging behavior will be performed or the developer will manually handle the drag action.
79
+ *
80
+ * @default 'auto'
81
+ */
82
+ mode: DragMode;
83
+ /**
84
+ * Fires when a DragTarget's `dragDelay` has passed and the user is able to drag the element.
85
+ */
86
+ dragReady: EventEmitter<DragTargetDragReadyEvent>;
87
+ /**
88
+ * Fires when the user presses a DragTarget element.
89
+ */
90
+ press: EventEmitter<DragTargetPressEvent>;
91
+ /**
92
+ * Fires when the dragging of a DragTarget element begins.
93
+ */
94
+ dragStart: EventEmitter<DragTargetDragStartEvent>;
95
+ /**
96
+ * Fires while the user drags a DragTarget element.
97
+ */
98
+ drag: EventEmitter<DragTargetDragEvent>;
99
+ /**
100
+ * Fires when the user releases a DragTarget element after being pressed.
101
+ */
102
+ release: EventEmitter<DragTargetReleaseEvent>;
103
+ /**
104
+ * Fires when the dragging of a DragTarget ends and the element is released.
105
+ */
106
+ dragEnd: EventEmitter<DragTargetDragEndEvent>;
107
+ /**
108
+ * Used for notifying the DragTargetContainer that its content has changed.
109
+ */
110
+ notify(): void;
111
+ private pointerDownSubscription;
112
+ private pointerMoveSubscription;
113
+ private pointerUpSubscription;
114
+ private scrollSubscription;
115
+ private currentDragTarget;
116
+ private dragTimeout;
117
+ private pressed;
118
+ private dragStarted;
119
+ private hintComponent;
120
+ private defaultHint;
121
+ private currentDragTargetElement;
122
+ private scrollableParent;
123
+ private previousDragTargets;
124
+ private initialPosition;
125
+ private position;
126
+ private positionsMap;
127
+ private _dragTargetFilter;
128
+ private _dragDisabled;
129
+ private _dragData;
130
+ private _dragTargetId;
131
+ private get allDragTargets();
132
+ private get dragHandles();
133
+ private get hintTemplate();
134
+ constructor(wrapper: ElementRef, ngZone: NgZone, renderer: Renderer2, service: DragStateService, viewContainer: ViewContainerRef, cdr: ChangeDetectorRef);
135
+ ngAfterViewInit(): void;
136
+ private onPointerDown;
137
+ private onPointerMove;
138
+ private onPointerUp;
139
+ private handlePress;
140
+ private handleDragStart;
141
+ private handleDrag;
142
+ private handleRelease;
143
+ private handleDragEnd;
144
+ private get nativeElement();
145
+ private get hintElem();
146
+ private unsubscribe;
147
+ private subscribe;
148
+ private emitZoneAwareEvent;
149
+ private createHint;
150
+ private createDefaultHint;
151
+ private createCustomHint;
152
+ private destroyHint;
153
+ private getDragIndex;
154
+ private initializeDragTargets;
155
+ private isDragHandle;
156
+ private setCursorStyle;
157
+ private queryHost;
158
+ private clearPreviousTargets;
159
+ private performDrag;
160
+ private calculatePosition;
161
+ private getStylesPerElement;
162
+ static ɵfac: i0.ɵɵFactoryDeclaration<DragTargetContainerDirective, never>;
163
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DragTargetContainerDirective, "[kendoDragTargetContainer]", ["kendoDragTargetContainer"], { "hint": "hint"; "dragTargetFilter": "dragTargetFilter"; "dragHandle": "dragHandle"; "dragDelay": "dragDelay"; "threshold": "threshold"; "dragTargetId": "dragTargetId"; "dragData": "dragData"; "dragDisabled": "dragDisabled"; "mode": "mode"; }, { "dragReady": "dragReady"; "press": "press"; "dragStart": "dragStart"; "drag": "drag"; "release": "release"; "dragEnd": "dragEnd"; }, never>;
164
+ }
@@ -2,11 +2,14 @@
2
2
  * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { EventEmitter, AfterContentInit, ElementRef, Renderer2, NgZone, OnInit, OnDestroy, QueryList, TemplateRef, ViewContainerRef, ComponentFactoryResolver } from "@angular/core";
5
+ import { EventEmitter, AfterContentInit, ElementRef, Renderer2, NgZone, OnInit, OnDestroy, QueryList, ViewContainerRef } from "@angular/core";
6
6
  import { DragHandleDirective } from "./draghandle.directive";
7
- import { DragTargetDragStartEvent, DragTargetDragEndEvent, DragTargetPressEvent, DragTargetDragEvent } from "./events/drag-target";
8
7
  import { DragStateService } from "./drag-state.service";
9
- import { AutoScrollOptions, DragAxis } from './models';
8
+ import { AutoScrollOptions, DragTargetDataFn, HintSettings, DragAxis, DragMode } from './models';
9
+ import { DragTargetIdFn } from "./models/functions";
10
+ import { DragTargetDragEndEvent, DragTargetDragEvent, DragTargetDragStartEvent, DragTargetPressEvent } from "./events/drag-target";
11
+ import { DragTargetReleaseEvent } from "./events/drag-target/release-event";
12
+ import { DragTargetDragReadyEvent } from "./events/drag-target/dragready-event";
10
13
  import * as i0 from "@angular/core";
11
14
  /**
12
15
  * Represents the Kendo UI DragTarget directive for Angular.
@@ -17,13 +20,14 @@ export declare class DragTargetDirective implements OnInit, AfterContentInit, On
17
20
  private ngZone;
18
21
  private service;
19
22
  private viewContainer;
20
- private resolver;
21
23
  /**
22
- * Renders the passed template as a hint of the DragTarget ([see example]({% slug drag_hint %})).
24
+ * Defines whether a hint will be used for dragging. By default, the hint is a copy of the drag target. ([see example]({% slug drag_hint %})).
25
+ *
26
+ * @default false
23
27
  */
24
- hintTemplate: TemplateRef<any>;
28
+ hint: boolean | HintSettings;
25
29
  /**
26
- * The number of pixels the pointer moves in any direction before the dragging starts ([see example]({% slug minimum_distance %})).
30
+ * The number of pixels the pointer moves in any direction before the dragging starts ([see example]({% slug minimum_distance %})). Applicable when `manualDrag` is set to `false`.
27
31
  *
28
32
  * @default 0
29
33
  */
@@ -35,9 +39,9 @@ export declare class DragTargetDirective implements OnInit, AfterContentInit, On
35
39
  */
36
40
  autoScroll: boolean | AutoScrollOptions;
37
41
  /**
38
- * The identifier that associates the drag target with a specific drop target.
42
+ * Defines a unique identifier for the dragTarget.
39
43
  */
40
- link: string;
44
+ dragTargetId: string | DragTargetIdFn;
41
45
  /**
42
46
  * Defines the delay in milliseconds after which the drag will begin ([see example]({% slug drag_delay %})).
43
47
  *
@@ -45,87 +49,86 @@ export declare class DragTargetDirective implements OnInit, AfterContentInit, On
45
49
  */
46
50
  dragDelay: number;
47
51
  /**
48
- * Restricts the element to be dragged horizontally or vertically only ([see example]({% slug axis_lock %})).
52
+ * Restricts the element to be dragged horizontally or vertically only ([see example]({% slug axis_lock %})). Applicable when `mode` is set to `auto`.
49
53
  */
50
54
  restrictByAxis: DragAxis;
55
+ /**
56
+ * Specifies whether the default dragging behavior will be performed or the developer will manually handle the drag action.
57
+ *
58
+ * @default 'auto'
59
+ */
60
+ mode: DragMode;
61
+ /**
62
+ * Defines a callback function used for attaching custom data to the dragTarget.
63
+ * The data will be available in the events of the respective [`DropTarget`]({% slug api_utils_droptargetdirective %}) or [`DropTargetContainer`]({% slug api_utils_droptargetcontainerdirective %}) directives.
64
+ * The current DragTarget HTML element and its `dragTargetId` will be available as arguments.
65
+ */
66
+ set dragData(fn: DragTargetDataFn);
67
+ get dragData(): DragTargetDataFn;
51
68
  /**
52
69
  * Fires when the user presses the DragTarget element.
53
70
  */
54
71
  press: EventEmitter<DragTargetPressEvent>;
55
72
  /**
56
73
  * Fires when the dragging of the DragTarget element begins.
57
- * This event is preventable.
58
74
  */
59
75
  dragStart: EventEmitter<DragTargetDragStartEvent>;
60
76
  /**
61
77
  * Fires while the user drags the DragTarget element.
62
- * This event is preventable.
63
78
  */
64
79
  drag: EventEmitter<DragTargetDragEvent>;
65
80
  /**
66
81
  * Fires when the DragTarget's `dragDelay` has passed and the user is able to drag the element.
67
82
  */
68
- dragReady: EventEmitter<any>;
83
+ dragReady: EventEmitter<DragTargetDragReadyEvent>;
69
84
  /**
70
85
  * Fires when the user releases the DragTarget element after being pressed.
71
86
  */
72
- release: EventEmitter<DragTargetPressEvent>;
87
+ release: EventEmitter<DragTargetReleaseEvent>;
73
88
  /**
74
89
  * Fires when the dragging of the DragTarget ends and the element is released.
75
90
  */
76
91
  dragEnd: EventEmitter<DragTargetDragEndEvent>;
77
- touchAction: string;
78
92
  private dragTarget;
79
93
  private domSubscriptions;
80
- private hint;
81
- private initialPosition;
94
+ private hintComponent;
82
95
  private dragStarted;
83
96
  private pressed;
84
97
  private dragTimeout;
98
+ private initialPosition;
85
99
  private position;
86
- /**
87
- * @hidden
88
- */
100
+ private scrollableParent;
101
+ private defaultHint;
102
+ private _dragData;
103
+ private get hintTemplate();
89
104
  private get nativeElement();
90
- /**
91
- * @hidden
92
- */
93
105
  private get hintElem();
94
- /**
95
- * @hidden
96
- */
97
106
  private onPointerDown;
98
- /**
99
- * @hidden
100
- */
101
107
  private onPointerMove;
102
- /**
103
- * @hidden
104
- */
105
108
  private onPointerUp;
106
109
  dragHandles: QueryList<DragHandleDirective>;
107
- constructor(element: ElementRef, renderer: Renderer2, ngZone: NgZone, service: DragStateService, viewContainer: ViewContainerRef, resolver: ComponentFactoryResolver);
110
+ constructor(element: ElementRef, renderer: Renderer2, ngZone: NgZone, service: DragStateService, viewContainer: ViewContainerRef);
108
111
  ngOnInit(): void;
109
112
  ngAfterContentInit(): void;
110
113
  ngOnDestroy(): void;
111
- /**
112
- * @hidden
113
- */
114
114
  private handlePress;
115
- /**
116
- * @hidden
117
- */
118
115
  private handleDragStart;
119
116
  private handleDrag;
120
117
  private handleRelease;
121
118
  private handleDragEnd;
122
- private initializeDraggable;
119
+ private initializeDragTarget;
123
120
  private attachDomHandlers;
124
121
  private isDragHandle;
125
122
  private getAutoScrollContainer;
126
123
  private createHint;
124
+ private createDefaultHint;
125
+ private createCustomHint;
127
126
  private destroyHint;
128
- private emitEvent;
127
+ private emitZoneAwareEvent;
128
+ private get dragTargetIdResult();
129
+ private performDrag;
130
+ private calculatePosition;
131
+ private getStylesPerElement;
129
132
  static ɵfac: i0.ɵɵFactoryDeclaration<DragTargetDirective, never>;
130
- static ɵdir: i0.ɵɵDirectiveDeclaration<DragTargetDirective, "[kendoDragTarget]", ["kendoDragTarget"], { "hintTemplate": "hintTemplate"; "threshold": "threshold"; "autoScroll": "autoScroll"; "link": "link"; "dragDelay": "dragDelay"; "restrictByAxis": "restrictByAxis"; }, { "press": "press"; "dragStart": "dragStart"; "drag": "drag"; "dragReady": "dragReady"; "release": "release"; "dragEnd": "dragEnd"; }, ["dragHandles"]>;
133
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DragTargetDirective, "[kendoDragTarget]", ["kendoDragTarget"], { "hint": "hint"; "threshold": "threshold"; "autoScroll": "autoScroll"; "dragTargetId": "dragTargetId"; "dragDelay": "dragDelay"; "restrictByAxis": "restrictByAxis"; "mode": "mode"; "dragData": "dragData"; }, { "press": "press"; "dragStart": "dragStart"; "drag": "drag"; "dragReady": "dragReady"; "release": "release"; "dragEnd": "dragEnd"; }, ["dragHandles"]>;
131
134
  }
@@ -0,0 +1,89 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone } from '@angular/core';
6
+ import { NormalizedDragEvent } from '@progress/kendo-draggable-common';
7
+ import { DragStateService } from './drag-state.service';
8
+ import { DropTargetEvent } from './events/drop-target-event';
9
+ import * as i0 from "@angular/core";
10
+ /**
11
+ * Represents the [Kendo UI DropTargetContainer directive for Angular]({% slug api_utils_droptargetcontainerdirective %}).
12
+ * Used to configure multiple elements as drop targets.
13
+ *
14
+ * @example
15
+ * ```ts-no-run
16
+ * <div kendoDropTargetContainer dropTargetFilter=".my-droptarget">
17
+ * <div class="my-droptarget">foo</div>
18
+ * </div>
19
+ * ```
20
+ */
21
+ export declare class DropTargetContainerDirective implements AfterViewInit {
22
+ private service;
23
+ private element;
24
+ private ngZone;
25
+ private cdr;
26
+ /**
27
+ * Specifies a selector for elements within a container which will be configured as drop targets
28
+ * ([see example]({% slug drop_target_container %})). The possible values include any
29
+ * DOM `selector`.
30
+ */
31
+ set dropTargetFilter(value: string);
32
+ get dropTargetFilter(): string;
33
+ /**
34
+ * Specifies whether the Drop Targets within the container will emit the corresponding events upon interaction with a Drag Target.
35
+ */
36
+ set dropDisabled(value: boolean);
37
+ get dropDisabled(): boolean;
38
+ /**
39
+ * Fires when a DragTarget element enters the DropTarget.
40
+ */
41
+ dragEnter: EventEmitter<DropTargetEvent>;
42
+ /**
43
+ * Fires when a DragTarget element is being dragged over the DropTarget.
44
+ */
45
+ dragOver: EventEmitter<DropTargetEvent>;
46
+ /**
47
+ * Fires when a DragTarget element leaves the DropTarget.
48
+ */
49
+ dragLeave: EventEmitter<DropTargetEvent>;
50
+ /**
51
+ * Fires when a DragTarget element is dropped over the DropTarget.
52
+ */
53
+ drop: EventEmitter<DropTargetEvent>;
54
+ /**
55
+ * Used for notifying the DropTargetContainer that its content has changed.
56
+ */
57
+ notify(): void;
58
+ constructor(service: DragStateService, element: ElementRef, ngZone: NgZone, cdr: ChangeDetectorRef);
59
+ private currentDropTarget;
60
+ private currentDropTargetElement;
61
+ private previousDropTargets;
62
+ private _dropTargetFilter;
63
+ private _dropDisabled;
64
+ private get nativeElement();
65
+ ngAfterViewInit(): void;
66
+ private get allDropTargets();
67
+ /**
68
+ * @hidden
69
+ */
70
+ handleDragEnter(event: NormalizedDragEvent): void;
71
+ /**
72
+ * @hidden
73
+ */
74
+ handleDragLeave(event: NormalizedDragEvent): void;
75
+ /**
76
+ * @hidden
77
+ */
78
+ handleDragOver(event: NormalizedDragEvent): void;
79
+ /**
80
+ * @hidden
81
+ */
82
+ handleDrop(event: NormalizedDragEvent): void;
83
+ private initializeDropTargets;
84
+ private emitZoneAwareEvent;
85
+ private getDropIndex;
86
+ private clearPreviousTargets;
87
+ static ɵfac: i0.ɵɵFactoryDeclaration<DropTargetContainerDirective, never>;
88
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DropTargetContainerDirective, "[kendoDropTargetContainer]", ["kendoDropTargetContainer"], { "dropTargetFilter": "dropTargetFilter"; "dropDisabled": "dropDisabled"; }, { "dragEnter": "dragEnter"; "dragOver": "dragOver"; "dragLeave": "dragLeave"; "drop": "drop"; }, never>;
89
+ }
@@ -5,8 +5,7 @@
5
5
  import { ElementRef, EventEmitter, NgZone, OnInit } from "@angular/core";
6
6
  import { NormalizedDragEvent } from "@progress/kendo-draggable-common";
7
7
  import { DragStateService } from "./drag-state.service";
8
- import { DropTargetDragEnterEvent, DropTargetDragOverEvent, DropTargetDragLeaveEvent, DropTargetDropEvent } from './events/drop-target';
9
- import { AllowedTargetFn } from "./models";
8
+ import { DropTargetEvent } from './events/drop-target-event';
10
9
  import * as i0 from "@angular/core";
11
10
  /**
12
11
  * Represents the Kendo UI DropTarget directive for Angular.
@@ -15,30 +14,22 @@ export declare class DropTargetDirective implements OnInit {
15
14
  private service;
16
15
  private element;
17
16
  private ngZone;
18
- /**
19
- * The allowed drag targets that can interact with the current drop target.
20
- */
21
- allowedDragTargets: string | Array<string> | AllowedTargetFn;
22
17
  /**
23
18
  * Fires when a DragTarget element enters the DropTarget.
24
- * This event is preventable. Preventing it allows full logic customization.
25
19
  */
26
- dragEnter: EventEmitter<DropTargetDragEnterEvent>;
20
+ dragEnter: EventEmitter<DropTargetEvent>;
27
21
  /**
28
22
  * Fires when a DragTarget element is being dragged over the DropTarget.
29
- * This event is preventable. Preventing it allows full logic customization.
30
23
  */
31
- dragOver: EventEmitter<DropTargetDragOverEvent>;
24
+ dragOver: EventEmitter<DropTargetEvent>;
32
25
  /**
33
26
  * Fires when a DragTarget element leaves the DropTarget.
34
- * This event is preventable. Preventing it allows full logic customization.
35
27
  */
36
- dragLeave: EventEmitter<DropTargetDragLeaveEvent>;
28
+ dragLeave: EventEmitter<DropTargetEvent>;
37
29
  /**
38
30
  * Fires when a DragTarget element is dropped over the DropTarget.
39
- * This event is preventable. Preventing it allows full logic customization.
40
31
  */
41
- drop: EventEmitter<DropTargetDropEvent>;
32
+ drop: EventEmitter<DropTargetEvent>;
42
33
  constructor(service: DragStateService, element: ElementRef, ngZone: NgZone);
43
34
  private dropTarget;
44
35
  ngOnInit(): void;
@@ -58,10 +49,8 @@ export declare class DropTargetDirective implements OnInit {
58
49
  * @hidden
59
50
  */
60
51
  handleDrop(event: NormalizedDragEvent): void;
61
- /**
62
- * @hidden
63
- */
64
52
  private initializeDropTarget;
53
+ private emitEvent;
65
54
  static ɵfac: i0.ɵɵFactoryDeclaration<DropTargetDirective, never>;
66
- static ɵdir: i0.ɵɵDirectiveDeclaration<DropTargetDirective, "[kendoDropTarget]", ["kendoDropTarget"], { "allowedDragTargets": "allowedDragTargets"; }, { "dragEnter": "dragEnter"; "dragOver": "dragOver"; "dragLeave": "dragLeave"; "drop": "drop"; }, never>;
55
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DropTargetDirective, "[kendoDropTarget]", ["kendoDropTarget"], {}, { "dragEnter": "dragEnter"; "dragOver": "dragOver"; "dragLeave": "dragLeave"; "drop": "drop"; }, never>;
67
56
  }
@@ -5,21 +5,39 @@
5
5
  import { NormalizedDragEvent } from '@progress/kendo-draggable-common';
6
6
  import { PreventableEvent } from '@progress/kendo-angular-common';
7
7
  /**
8
- * Arguments for the drag event of the DragTarget.
8
+ * Arguments for the drag event of the DragTarget and DragTargetContainer.
9
9
  */
10
10
  export declare class DragTargetDragEvent extends PreventableEvent {
11
11
  /**
12
12
  * The normalized drag event.
13
13
  */
14
- normalizedEvent: NormalizedDragEvent;
14
+ dragEvent: NormalizedDragEvent;
15
15
  /**
16
16
  * The DOM element that is being dragged.
17
17
  */
18
- hostElement: HTMLElement;
18
+ dragTarget: HTMLElement;
19
19
  /**
20
- * The hint of the DragTarget.
21
- */
20
+ * The hint of the DragTarget.
21
+ */
22
22
  hintElement?: HTMLElement;
23
+ /**
24
+ * The identifier passed to the `dragTargetId` input property of the `DragTarget` or `DragTargetContainer` directive.
25
+ */
26
+ dragTargetId?: any;
27
+ /**
28
+ * The index of the current drag target in the collection of drag targets (applicable for the `DragTargetContainer` directive).
29
+ */
30
+ dragTargetIndex?: number;
31
+ /**
32
+ * Left for backward compatibility for the DragTarget deprecated events.
33
+ * @hidden
34
+ */
35
+ get normalizedEvent(): NormalizedDragEvent;
36
+ /**
37
+ * Left for backward compatibility for the DragTarget deprecated events.
38
+ * @hidden
39
+ */
40
+ get hostElement(): HTMLElement;
23
41
  /**
24
42
  * @hidden
25
43
  */
@@ -0,0 +1,30 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { NormalizedDragEvent } from '@progress/kendo-draggable-common';
6
+ /**
7
+ * Arguments for the dragReady event of the DragTarget and DragTargetContainer.
8
+ */
9
+ export declare class DragTargetDragReadyEvent {
10
+ /**
11
+ * The normalized drag event.
12
+ */
13
+ dragEvent: NormalizedDragEvent;
14
+ /**
15
+ * The DOM element that is being dragged.
16
+ */
17
+ dragTarget: HTMLElement;
18
+ /**
19
+ * The identifier passed to the `dragTargetId` input property of the `DragTarget` or `DragTargetContainer` directive.
20
+ */
21
+ dragTargetId?: any;
22
+ /**
23
+ * The index of the current drag target in the collection of drag targets (applicable for the `DragTargetContainer` directive).
24
+ */
25
+ dragTargetIndex?: number;
26
+ /**
27
+ * @hidden
28
+ */
29
+ constructor(args?: any);
30
+ }
@@ -4,17 +4,35 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { NormalizedDragEvent } from '@progress/kendo-draggable-common';
6
6
  /**
7
- * Arguments for the dragEnd event of the DragTarget.
7
+ * Arguments for the dragEnd event of the DragTarget and DragTargetContainer.
8
8
  */
9
9
  export declare class DragTargetDragEndEvent {
10
10
  /**
11
11
  * The normalized drag event.
12
12
  */
13
- normalizedEvent: NormalizedDragEvent;
13
+ dragEvent: NormalizedDragEvent;
14
14
  /**
15
- * The DOM element that was dragged.
15
+ * The DOM element that is being dragged.
16
16
  */
17
- hostElement: HTMLElement;
17
+ dragTarget: HTMLElement;
18
+ /**
19
+ * The identifier passed to the `dragTargetId` input property of the `DragTarget` or `DragTargetContainer` directive.
20
+ */
21
+ dragTargetId?: any;
22
+ /**
23
+ * The index of the current drag target in the collection of drag targets (applicable for the `DragTargetContainer` directive).
24
+ */
25
+ dragTargetIndex?: number;
26
+ /**
27
+ * Left for backward compatibility for the DragTarget deprecated events.
28
+ * @hidden
29
+ */
30
+ get normalizedEvent(): NormalizedDragEvent;
31
+ /**
32
+ * Left for backward compatibility for the DragTarget deprecated events.
33
+ * @hidden
34
+ */
35
+ get hostElement(): HTMLElement;
18
36
  /**
19
37
  * @hidden
20
38
  */
@@ -3,6 +3,8 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  export { DragTargetPressEvent } from './press-event';
6
+ export { DragTargetDragReadyEvent } from './dragready-event';
6
7
  export { DragTargetDragStartEvent } from './start-event';
7
8
  export { DragTargetDragEndEvent } from './end-event';
8
9
  export { DragTargetDragEvent } from './drag-event';
10
+ export { DragTargetReleaseEvent } from './release-event';
@@ -4,17 +4,35 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { NormalizedDragEvent } from '@progress/kendo-draggable-common';
6
6
  /**
7
- * Arguments for the press event of the DragTarget.
7
+ * Arguments for the press event of the DragTarget and DragTargetContainer.
8
8
  */
9
9
  export declare class DragTargetPressEvent {
10
10
  /**
11
- * The normalized event.
11
+ * The normalized drag event.
12
12
  */
13
- normalizedEvent: NormalizedDragEvent;
13
+ dragEvent: NormalizedDragEvent;
14
14
  /**
15
- * The DOM element that is pressed.
15
+ * The DOM element that is being dragged.
16
16
  */
17
- hostElement: HTMLElement;
17
+ dragTarget: HTMLElement;
18
+ /**
19
+ * The identifier passed to the `dragTargetId` input property of the `DragTarget` or `DragTargetContainer` directive.
20
+ */
21
+ dragTargetId?: any;
22
+ /**
23
+ * The index of the current drag target in the collection of drag targets (applicable for the `DragTargetContainer` directive).
24
+ */
25
+ dragTargetIndex?: number;
26
+ /**
27
+ * Left for backward compatibility for the DragTarget deprecated events.
28
+ * @hidden
29
+ */
30
+ get normalizedEvent(): NormalizedDragEvent;
31
+ /**
32
+ * Left for backward compatibility for the DragTarget deprecated events.
33
+ * @hidden
34
+ */
35
+ get hostElement(): HTMLElement;
18
36
  /**
19
37
  * @hidden
20
38
  */