@acorex/cdk 22.1.0-next.30 → 22.1.0-next.32

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 (57) hide show
  1. package/fesm2022/acorex-cdk-accordion.mjs +19 -19
  2. package/fesm2022/acorex-cdk-carousel.mjs +25 -7
  3. package/fesm2022/acorex-cdk-carousel.mjs.map +1 -1
  4. package/fesm2022/acorex-cdk-clipboard.mjs +6 -6
  5. package/fesm2022/acorex-cdk-common.mjs +169 -93
  6. package/fesm2022/acorex-cdk-common.mjs.map +1 -1
  7. package/fesm2022/acorex-cdk-dom.mjs +3 -3
  8. package/fesm2022/acorex-cdk-drag-drop.mjs +210 -68
  9. package/fesm2022/acorex-cdk-drag-drop.mjs.map +1 -1
  10. package/fesm2022/acorex-cdk-drawer.mjs +10 -10
  11. package/fesm2022/acorex-cdk-focus-trap.mjs +3 -3
  12. package/fesm2022/acorex-cdk-full-screen.mjs +26 -147
  13. package/fesm2022/acorex-cdk-full-screen.mjs.map +1 -1
  14. package/fesm2022/acorex-cdk-gesture.mjs +202 -0
  15. package/fesm2022/acorex-cdk-gesture.mjs.map +1 -0
  16. package/fesm2022/acorex-cdk-highlight.mjs +108 -0
  17. package/fesm2022/acorex-cdk-highlight.mjs.map +1 -0
  18. package/fesm2022/acorex-cdk-horizontal-scroll.mjs +150 -125
  19. package/fesm2022/acorex-cdk-horizontal-scroll.mjs.map +1 -1
  20. package/fesm2022/acorex-cdk-input-mask.mjs +3 -3
  21. package/fesm2022/acorex-cdk-list-navigation.mjs +10 -10
  22. package/fesm2022/acorex-cdk-outline.mjs +277 -74
  23. package/fesm2022/acorex-cdk-outline.mjs.map +1 -1
  24. package/fesm2022/acorex-cdk-overlay.mjs +192 -18
  25. package/fesm2022/acorex-cdk-overlay.mjs.map +1 -1
  26. package/fesm2022/acorex-cdk-pan-view.mjs +3 -3
  27. package/fesm2022/acorex-cdk-resizable.mjs +3 -3
  28. package/fesm2022/acorex-cdk-selection.mjs +10 -10
  29. package/fesm2022/acorex-cdk-shimmer.mjs +220 -0
  30. package/fesm2022/acorex-cdk-shimmer.mjs.map +1 -0
  31. package/fesm2022/acorex-cdk-sliding-item.mjs +72 -62
  32. package/fesm2022/acorex-cdk-sliding-item.mjs.map +1 -1
  33. package/fesm2022/acorex-cdk-sticky.mjs +3 -3
  34. package/fesm2022/acorex-cdk-uploader.mjs +9 -9
  35. package/fesm2022/acorex-cdk-virtual-scroll.mjs +10 -10
  36. package/fesm2022/acorex-cdk-z-index.mjs +3 -3
  37. package/gesture/README.md +3 -0
  38. package/horizontal-scroll/README.md +1 -1
  39. package/package.json +16 -7
  40. package/shimmer/README.md +11 -0
  41. package/sliding-item/README.md +4 -2
  42. package/types/acorex-cdk-carousel.d.ts +2 -0
  43. package/types/acorex-cdk-clipboard.d.ts +1 -1
  44. package/types/acorex-cdk-common.d.ts +36 -19
  45. package/types/acorex-cdk-drag-drop.d.ts +31 -4
  46. package/types/acorex-cdk-full-screen.d.ts +18 -43
  47. package/types/acorex-cdk-gesture.d.ts +132 -0
  48. package/types/acorex-cdk-highlight.d.ts +54 -0
  49. package/types/acorex-cdk-horizontal-scroll.d.ts +39 -28
  50. package/types/acorex-cdk-outline.d.ts +20 -0
  51. package/types/acorex-cdk-overlay.d.ts +47 -4
  52. package/types/acorex-cdk-shimmer.d.ts +68 -0
  53. package/types/acorex-cdk-sliding-item.d.ts +22 -4
  54. package/types/acorex-cdk-uploader.d.ts +1 -1
  55. package/fesm2022/acorex-cdk-double-click.mjs +0 -178
  56. package/fesm2022/acorex-cdk-double-click.mjs.map +0 -1
  57. package/types/acorex-cdk-double-click.d.ts +0 -66
@@ -23,10 +23,10 @@ class AXDomChangeDirective {
23
23
  this.mutationObserver.disconnect();
24
24
  this.resizeObserver.disconnect();
25
25
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXDomChangeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
27
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: AXDomChangeDirective, isStandalone: true, selector: "[axDomChange]", outputs: { axMutationObserver: "axMutationObserver", axResizeObserver: "axResizeObserver" }, ngImport: i0 }); }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXDomChangeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
27
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.6", type: AXDomChangeDirective, isStandalone: true, selector: "[axDomChange]", outputs: { axMutationObserver: "axMutationObserver", axResizeObserver: "axResizeObserver" }, ngImport: i0 }); }
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXDomChangeDirective, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXDomChangeDirective, decorators: [{
30
30
  type: Directive,
31
31
  args: [{
32
32
  selector: '[axDomChange]',
@@ -1,8 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ElementRef, signal, Directive, NgZone, Renderer2, ChangeDetectorRef, PLATFORM_ID, input, output, contentChildren, DOCUMENT, ViewContainerRef, contentChild, linkedSignal, computed, effect, RendererStyleFlags2, NgModule } from '@angular/core';
2
+ import { inject, ElementRef, signal, Directive, NgZone, Renderer2, ChangeDetectorRef, PLATFORM_ID, input, output, contentChildren, linkedSignal, DOCUMENT, ViewContainerRef, contentChild, computed, effect, RendererStyleFlags2, NgModule } from '@angular/core';
3
3
  import { isPlatformBrowser } from '@angular/common';
4
4
  import { clamp } from 'lodash-es';
5
5
  import { NXComponent } from '@acorex/cdk/common';
6
+ import { AXHtmlUtil } from '@acorex/core/utils';
6
7
 
7
8
  class AXDragHandleDirective {
8
9
  constructor() {
@@ -10,10 +11,10 @@ class AXDragHandleDirective {
10
11
  this.element = signal(this.el.nativeElement, /* @ts-ignore */
11
12
  ...(ngDevMode ? [{ debugName: "element" }] : /* istanbul ignore next */ []));
12
13
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXDragHandleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
14
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.8", type: AXDragHandleDirective, isStandalone: true, selector: "[axDragHandle]", ngImport: i0 }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXDragHandleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
15
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.6", type: AXDragHandleDirective, isStandalone: true, selector: "[axDragHandle]", ngImport: i0 }); }
15
16
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXDragHandleDirective, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXDragHandleDirective, decorators: [{
17
18
  type: Directive,
18
19
  args: [{
19
20
  selector: '[axDragHandle]',
@@ -52,6 +53,8 @@ class AXDropListDirective extends NXComponent {
52
53
  ...(ngDevMode ? [{ debugName: "dropListOrientation" }] : /* istanbul ignore next */ []));
53
54
  /** Emits when an item is dropped into the list. */
54
55
  this.dropListDropped = output();
56
+ /** Emits when the sort preview transforms change during an active drag. */
57
+ this.sortPreviewChanged = output();
55
58
  /** The `axDrag` directives that are direct children of this list. */
56
59
  this._draggableItems = contentChildren(AXDragDirective, { ...(ngDevMode ? { debugName: "_draggableItems" } : /* istanbul ignore next */ {}), descendants: false });
57
60
  // --- Internal State Management ---
@@ -72,8 +75,15 @@ class AXDropListDirective extends NXComponent {
72
75
  /** The detected `gap` of the list for the current orientation. */
73
76
  this._listGap = signal(0, /* @ts-ignore */
74
77
  ...(ngDevMode ? [{ debugName: "_listGap" }] : /* istanbul ignore next */ []));
75
- /** A signal-based alias for the orientation input for internal use. */
76
- this._orientation = this.dropListOrientation;
78
+ /** Whether the list is in RTL direction (cached at drag start). */
79
+ this._isRtl = signal(false, /* @ts-ignore */
80
+ ...(ngDevMode ? [{ debugName: "_isRtl" }] : /* istanbul ignore next */ []));
81
+ /** Internal orientation state; can be overridden programmatically by host components. */
82
+ this.orientation = linkedSignal(() => this.dropListOrientation(), /* @ts-ignore */
83
+ ...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
84
+ /** Internal sorting-disabled state; can be overridden programmatically by host components. */
85
+ this.isSortingDisabled = linkedSignal(() => this.sortingDisabled(), /* @ts-ignore */
86
+ ...(ngDevMode ? [{ debugName: "isSortingDisabled" }] : /* istanbul ignore next */ []));
77
87
  /** DOM placeholder element for inter-list drags */
78
88
  this._placeholderElement = null;
79
89
  }
@@ -97,12 +107,16 @@ class AXDropListDirective extends NXComponent {
97
107
  isDragActiveForThisList(dragItem) {
98
108
  return this._activeDragItem() === dragItem;
99
109
  }
110
+ /** Whether the list is horizontal and in RTL direction. */
111
+ isHorizontalRtl() {
112
+ return this.orientation() === 'horizontal' && this._isRtl();
113
+ }
100
114
  /**
101
115
  * Prepares the list for sorting when a drag operation starts from within this list.
102
116
  * @param dragItem The item that is being dragged.
103
117
  */
104
118
  prepareSort(dragItem) {
105
- if (!this.axDropList() || this.sortingDisabled() || this._activeDragItem() || dragItem.dragDisabled())
119
+ if (!this.axDropList() || this.isSortingDisabled() || this._activeDragItem() || dragItem.isDragDisabled())
106
120
  return;
107
121
  this._activeDragItem.set(dragItem);
108
122
  this.element.classList.add('ax-drop-list-sorting-active');
@@ -119,7 +133,7 @@ class AXDropListDirective extends NXComponent {
119
133
  * @param dragItem The item entering this list.
120
134
  */
121
135
  enter(dragItem) {
122
- if (!this.axDropList() || this.sortingDisabled() || this.isDragActiveForThisList(dragItem))
136
+ if (!this.axDropList() || this.isSortingDisabled() || this.isDragActiveForThisList(dragItem))
123
137
  return;
124
138
  // Clean up any existing placeholder from previous list
125
139
  this._removePlaceholderElement();
@@ -135,10 +149,10 @@ class AXDropListDirective extends NXComponent {
135
149
  sort(event, dragItem) {
136
150
  if (!this.axDropList() ||
137
151
  !this.isDragActiveForThisList(dragItem) ||
138
- this.sortingDisabled() ||
152
+ this.isSortingDisabled() ||
139
153
  !this._listInitialRect())
140
154
  return;
141
- const pointerPosition = this._orientation() === 'vertical' ? event.clientY : event.clientX;
155
+ const pointerPosition = this.orientation() === 'vertical' ? event.clientY : event.clientX;
142
156
  const newPlaceholderIndex = this._calculatePlaceholderIndex(pointerPosition);
143
157
  if (this._placeholderIndex() !== newPlaceholderIndex) {
144
158
  this._placeholderIndex.set(newPlaceholderIndex);
@@ -152,7 +166,7 @@ class AXDropListDirective extends NXComponent {
152
166
  * @param sourceList The list where the drag originated.
153
167
  */
154
168
  finalizeSort(event, droppedItem, sourceList) {
155
- if (!this.axDropList() || !this.isDragActiveForThisList(droppedItem) || this.sortingDisabled()) {
169
+ if (!this.axDropList() || !this.isDragActiveForThisList(droppedItem) || this.isSortingDisabled()) {
156
170
  this.resetSortStateAndStyles(sourceList);
157
171
  return;
158
172
  }
@@ -197,8 +211,11 @@ class AXDropListDirective extends NXComponent {
197
211
  /** Caches the geometry of the list and its items at the start of a drag. */
198
212
  _cacheGeometry() {
199
213
  this._listInitialRect.set(this.element.getBoundingClientRect());
214
+ this._isRtl.set(AXHtmlUtil.isRtl(this.element));
200
215
  this._detectAndCacheListGap();
201
- const items = this._draggableItems().map((itemDraggable) => {
216
+ const items = [...this._draggableItems()]
217
+ .sort((a, b) => a.element().compareDocumentPosition(b.element()) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1)
218
+ .map((itemDraggable) => {
202
219
  const el = itemDraggable.element();
203
220
  const style = window.getComputedStyle(el);
204
221
  const rect = el.getBoundingClientRect();
@@ -226,7 +243,7 @@ class AXDropListDirective extends NXComponent {
226
243
  const gapParts = gapValue.split(' ');
227
244
  const rowGap = parseFloat(gapParts[0]);
228
245
  const columnGap = parseFloat(gapParts[1] || gapParts[0]);
229
- this._listGap.set(this._orientation() === 'vertical' ? rowGap : columnGap);
246
+ this._listGap.set(this.orientation() === 'vertical' ? rowGap : columnGap);
230
247
  }
231
248
  else {
232
249
  this._listGap.set(0);
@@ -246,16 +263,19 @@ class AXDropListDirective extends NXComponent {
246
263
  const cachedItems = this._cachedItems();
247
264
  const originalIndex = cachedItems.findIndex((d) => d.item === activeItem);
248
265
  const siblings = cachedItems.filter((d) => d.item !== activeItem);
249
- const scrollDelta = this._orientation() === 'vertical'
266
+ const scrollDelta = this.orientation() === 'vertical'
250
267
  ? this.element.getBoundingClientRect().top - listRect.top
251
268
  : this.element.getBoundingClientRect().left - listRect.left;
252
269
  let newIndexInSiblings = -1;
253
270
  for (let i = 0; i < siblings.length; i++) {
254
271
  const sibling = siblings[i];
255
- const itemMidPoint = (this._orientation() === 'vertical' ? sibling.initialRect.top : sibling.initialRect.left) +
272
+ const itemMidPoint = (this.orientation() === 'vertical' ? sibling.initialRect.top : sibling.initialRect.left) +
256
273
  scrollDelta +
257
- (this._orientation() === 'vertical' ? sibling.height : sibling.width) / 2;
258
- if (pointerPosition < itemMidPoint) {
274
+ (this.orientation() === 'vertical' ? sibling.height : sibling.width) / 2;
275
+ const isBeforeSibling = this.isHorizontalRtl()
276
+ ? pointerPosition > itemMidPoint
277
+ : pointerPosition < itemMidPoint;
278
+ if (isBeforeSibling) {
259
279
  newIndexInSiblings = i;
260
280
  break;
261
281
  }
@@ -274,7 +294,7 @@ class AXDropListDirective extends NXComponent {
274
294
  const end = Math.max(originalIndex, potentialPlaceholderIndex);
275
295
  for (let i = start; i < end; i++) {
276
296
  const itemData = cachedItems[i];
277
- if (itemData.item !== activeItem && itemData.item.dragDisabled()) {
297
+ if (itemData.item !== activeItem && itemData.item.isDragDisabled()) {
278
298
  // We've hit a disabled "wall". Stop the placeholder at the boundary.
279
299
  if (potentialPlaceholderIndex > originalIndex) {
280
300
  return i; // Dragging down/right: stop *before* the wall.
@@ -301,19 +321,24 @@ class AXDropListDirective extends NXComponent {
301
321
  else {
302
322
  // --- INTRA-LIST DRAG: Use transforms (works well for same-list reordering) ---
303
323
  this._removePlaceholderElement();
304
- const getItemSpace = (itemData) => this._orientation() === 'vertical'
324
+ const getItemSpace = (itemData) => this.orientation() === 'vertical'
305
325
  ? itemData.height + itemData.margins.top + itemData.margins.bottom
306
326
  : itemData.width + itemData.margins.left + itemData.margins.right;
307
327
  const draggedItemSize = isIntraListDrag ? getItemSpace(this._cachedItems()[originalIndex]) : 0;
328
+ const axisSign = this.isHorizontalRtl() ? -1 : 1;
308
329
  this._cachedItems().forEach((data, index) => {
309
- if (data.item.dragDisabled()) {
330
+ if (data.item.isDragDisabled()) {
310
331
  this._renderer.removeStyle(data.element, 'transform');
311
332
  return;
312
333
  }
313
334
  const transform = this._calculateTransform(index, originalIndex, draggedItemSize, getItemSpace);
314
- this._renderer.setStyle(data.element, 'transform', transform ? `${this._orientation() === 'vertical' ? 'translateY' : 'translateX'}(${transform}px)` : '');
335
+ const signedTransform = transform * axisSign;
336
+ this._renderer.setStyle(data.element, 'transform', transform
337
+ ? `${this.orientation() === 'vertical' ? 'translateY' : 'translateX'}(${signedTransform}px)`
338
+ : '');
315
339
  });
316
340
  }
341
+ this.sortPreviewChanged.emit();
317
342
  }
318
343
  /** Creates or moves the placeholder element for inter-list drags */
319
344
  _updatePlaceholderElement(activeItem, targetIndex) {
@@ -423,6 +448,7 @@ class AXDropListDirective extends NXComponent {
423
448
  _resetAllTransforms() {
424
449
  this._cachedItems().forEach((data) => this._renderer.setStyle(data.element, 'transform', ''));
425
450
  this._removePlaceholderElement(); // Clean up inter-list placeholder
451
+ this.sortPreviewChanged.emit();
426
452
  }
427
453
  /** Resets the internal state of the directive to its initial values. */
428
454
  resetSortState() {
@@ -433,16 +459,16 @@ class AXDropListDirective extends NXComponent {
433
459
  this._listInitialRect.set(null);
434
460
  this._listGap.set(0);
435
461
  }
436
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXDropListDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
437
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "22.0.8", type: AXDropListDirective, isStandalone: true, selector: "[axDropList]", inputs: { axDropList: { classPropertyName: "axDropList", publicName: "axDropList", isSignal: true, isRequired: false, transformFunction: null }, sortingDisabled: { classPropertyName: "sortingDisabled", publicName: "sortingDisabled", isSignal: true, isRequired: false, transformFunction: null }, dropListGroup: { classPropertyName: "dropListGroup", publicName: "dropListGroup", isSignal: true, isRequired: false, transformFunction: null }, dropListOrientation: { classPropertyName: "dropListOrientation", publicName: "dropListOrientation", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dropListDropped: "dropListDropped" }, queries: [{ propertyName: "_draggableItems", predicate: AXDragDirective, isSignal: true }], exportAs: ["axDropList"], usesInheritance: true, ngImport: i0 }); }
462
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXDropListDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
463
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "22.1.6", type: AXDropListDirective, isStandalone: true, selector: "[axDropList]", inputs: { axDropList: { classPropertyName: "axDropList", publicName: "axDropList", isSignal: true, isRequired: false, transformFunction: null }, sortingDisabled: { classPropertyName: "sortingDisabled", publicName: "sortingDisabled", isSignal: true, isRequired: false, transformFunction: null }, dropListGroup: { classPropertyName: "dropListGroup", publicName: "dropListGroup", isSignal: true, isRequired: false, transformFunction: null }, dropListOrientation: { classPropertyName: "dropListOrientation", publicName: "dropListOrientation", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dropListDropped: "dropListDropped", sortPreviewChanged: "sortPreviewChanged" }, queries: [{ propertyName: "_draggableItems", predicate: AXDragDirective, isSignal: true }], exportAs: ["axDropList"], usesInheritance: true, ngImport: i0 }); }
438
464
  }
439
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXDropListDirective, decorators: [{
465
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXDropListDirective, decorators: [{
440
466
  type: Directive,
441
467
  args: [{
442
468
  selector: '[axDropList]',
443
469
  exportAs: 'axDropList',
444
470
  }]
445
- }], propDecorators: { axDropList: [{ type: i0.Input, args: [{ isSignal: true, alias: "axDropList", required: false }] }], sortingDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortingDisabled", required: false }] }], dropListGroup: [{ type: i0.Input, args: [{ isSignal: true, alias: "dropListGroup", required: false }] }], dropListOrientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "dropListOrientation", required: false }] }], dropListDropped: [{ type: i0.Output, args: ["dropListDropped"] }], _draggableItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => AXDragDirective), { ...{ descendants: false }, isSignal: true }] }] } });
471
+ }], propDecorators: { axDropList: [{ type: i0.Input, args: [{ isSignal: true, alias: "axDropList", required: false }] }], sortingDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortingDisabled", required: false }] }], dropListGroup: [{ type: i0.Input, args: [{ isSignal: true, alias: "dropListGroup", required: false }] }], dropListOrientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "dropListOrientation", required: false }] }], dropListDropped: [{ type: i0.Output, args: ["dropListDropped"] }], sortPreviewChanged: [{ type: i0.Output, args: ["sortPreviewChanged"] }], _draggableItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => AXDragDirective), { ...{ descendants: false }, isSignal: true }] }] } });
446
472
 
447
473
  // Zone detection constants for nested drop lists (tree nodes)
448
474
  const ZONE_TOP_THRESHOLD = 0.3; // Top 30% triggers reorder BEFORE
@@ -484,6 +510,18 @@ class AXDragDirective {
484
510
  ...(ngDevMode ? [undefined, { debugName: "dragBoundary" }] : /* istanbul ignore next */ []));
485
511
  this.dragTransitionDuration = input(150, /* @ts-ignore */
486
512
  ...(ngDevMode ? [{ debugName: "dragTransitionDuration" }] : /* istanbul ignore next */ []));
513
+ this.isDragDisabled = linkedSignal(() => this.dragDisabled(), /* @ts-ignore */
514
+ ...(ngDevMode ? [{ debugName: "isDragDisabled" }] : /* istanbul ignore next */ []));
515
+ this.lockAxis = linkedSignal(() => this.dragLockAxis(), /* @ts-ignore */
516
+ ...(ngDevMode ? [{ debugName: "lockAxis" }] : /* istanbul ignore next */ []));
517
+ this.dragBoundaryOverride = linkedSignal(() => this.dragBoundary(), /* @ts-ignore */
518
+ ...(ngDevMode ? [{ debugName: "dragBoundaryOverride" }] : /* istanbul ignore next */ []));
519
+ this.startDelay = linkedSignal(() => this.dragStartDelay() ?? 0, /* @ts-ignore */
520
+ ...(ngDevMode ? [{ debugName: "startDelay" }] : /* istanbul ignore next */ []));
521
+ this.dragTouchAction = linkedSignal(() => 'none', /* @ts-ignore */
522
+ ...(ngDevMode ? [{ debugName: "dragTouchAction" }] : /* istanbul ignore next */ []));
523
+ this.dragCursorOverride = linkedSignal(() => this.dragCursor(), /* @ts-ignore */
524
+ ...(ngDevMode ? [{ debugName: "dragCursorOverride" }] : /* istanbul ignore next */ []));
487
525
  this.dragPositionChanged = output();
488
526
  this.isMoving = signal(false, /* @ts-ignore */
489
527
  ...(ngDevMode ? [{ debugName: "isMoving" }] : /* istanbul ignore next */ []));
@@ -511,19 +549,25 @@ class AXDragDirective {
511
549
  ...(ngDevMode ? [{ debugName: "prevDropZone" }] : /* istanbul ignore next */ []));
512
550
  this.dragStartOffset = signal({ x: 0, y: 0 }, /* @ts-ignore */
513
551
  ...(ngDevMode ? [{ debugName: "dragStartOffset" }] : /* istanbul ignore next */ []));
552
+ this.pointerDownPosition = signal({ x: 0, y: 0 }, /* @ts-ignore */
553
+ ...(ngDevMode ? [{ debugName: "pointerDownPosition" }] : /* istanbul ignore next */ []));
514
554
  this.clonePointerOffset = signal({ x: 0, y: 0 }, /* @ts-ignore */
515
555
  ...(ngDevMode ? [{ debugName: "clonePointerOffset" }] : /* istanbul ignore next */ []));
516
556
  this.clonedElementViewRef = signal(null, /* @ts-ignore */
517
557
  ...(ngDevMode ? [{ debugName: "clonedElementViewRef" }] : /* istanbul ignore next */ []));
518
558
  this.rafId = null;
519
559
  this.pendingPointerEvent = null;
560
+ this.savedBodyCursor = null;
561
+ this.holdDelayTimer = null;
562
+ this.holdDelayReady = signal(false, /* @ts-ignore */
563
+ ...(ngDevMode ? [{ debugName: "holdDelayReady" }] : /* istanbul ignore next */ []));
520
564
  this._parentDropList = inject(AXDropListDirective, { optional: true, skipSelf: true, host: false });
521
565
  this._currentDropList = signal(null, /* @ts-ignore */
522
566
  ...(ngDevMode ? [{ debugName: "_currentDropList" }] : /* istanbul ignore next */ []));
523
567
  this.createCloneElement = computed(() => this.dragElementClone() || !!this._parentDropList, /* @ts-ignore */
524
568
  ...(ngDevMode ? [{ debugName: "createCloneElement" }] : /* istanbul ignore next */ []));
525
569
  this.boundaryElement = computed(() => {
526
- const boundary = this.dragBoundary();
570
+ const boundary = this.dragBoundaryOverride();
527
571
  if (!boundary) {
528
572
  return null;
529
573
  }
@@ -556,17 +600,25 @@ class AXDragDirective {
556
600
  this.listenersAttached = signal(null, /* @ts-ignore */
557
601
  ...(ngDevMode ? [{ debugName: "listenersAttached" }] : /* istanbul ignore next */ []));
558
602
  this.#dragDisabledEffect = effect(() => {
559
- if (this.dragCursor() === 'none') {
603
+ const cursor = this.dragCursorOverride();
604
+ const disabled = this.isDragDisabled();
605
+ const handle = this.handle();
606
+ if (disabled || cursor === 'none' || cursor === 'grab-on-drag') {
607
+ if (!this.isMoving() && !this.holdDelayReady()) {
608
+ this.renderer.removeStyle(handle, 'cursor');
609
+ }
610
+ if (disabled) {
611
+ this.renderer.removeStyle(handle, 'touch-action');
612
+ }
613
+ else {
614
+ this.renderer.setStyle(handle, 'touch-action', this.dragTouchAction());
615
+ }
560
616
  return;
561
617
  }
562
- if (!this.dragDisabled()) {
563
- this.renderer.setStyle(this.handle(), 'cursor', this.dragCursor());
564
- this.renderer.setStyle(this.handle(), 'touch-action', 'none');
565
- }
566
- else {
567
- this.renderer.removeStyle(this.handle(), 'cursor');
568
- this.renderer.removeStyle(this.handle(), 'touch-action');
618
+ if (!this.isMoving() && !this.holdDelayReady()) {
619
+ this.renderer.setStyle(handle, 'cursor', cursor);
569
620
  }
621
+ this.renderer.setStyle(handle, 'touch-action', this.dragTouchAction());
570
622
  }, /* @ts-ignore */
571
623
  ...(ngDevMode ? [{ debugName: "#dragDisabledEffect" }] : /* istanbul ignore next */ []));
572
624
  this.#handleChangeEffect = effect(() => {
@@ -597,7 +649,6 @@ class AXDragDirective {
597
649
  if (this._parentDropList) {
598
650
  this.setElementTransition(this.element());
599
651
  }
600
- this.renderer.setStyle(this.element(), 'z-index', '1');
601
652
  this.elementOpacity.set(getComputedStyle(this.element()).opacity);
602
653
  }
603
654
  }
@@ -615,7 +666,62 @@ class AXDragDirective {
615
666
  if (this._parentDropList && this.isDragging()) {
616
667
  this._parentDropList.cancelSort();
617
668
  }
669
+ this.clearActiveDragCursor();
670
+ this.clearHoldDelayTimer();
671
+ this.renderer.removeStyle(this.element(), 'z-index');
672
+ }
673
+ }
674
+ usesGrabDragCursor() {
675
+ const cursor = this.dragCursorOverride();
676
+ return cursor === 'grab' || cursor === 'grab-on-drag';
677
+ }
678
+ resolveDropCursor(canDrop) {
679
+ if (this.usesGrabDragCursor()) {
680
+ return canDrop ? 'grabbing' : 'not-allowed';
618
681
  }
682
+ return canDrop ? 'move' : 'not-allowed';
683
+ }
684
+ setActiveDragCursor(cursor) {
685
+ if (!isPlatformBrowser(this.platformId))
686
+ return;
687
+ if (this.savedBodyCursor === null) {
688
+ this.savedBodyCursor = this.document.body.style.cursor;
689
+ }
690
+ this.document.body.style.cursor = cursor;
691
+ }
692
+ clearActiveDragCursor() {
693
+ if (!isPlatformBrowser(this.platformId) || this.savedBodyCursor === null)
694
+ return;
695
+ this.document.body.style.cursor = this.savedBodyCursor;
696
+ this.savedBodyCursor = null;
697
+ }
698
+ clearHoldDelayTimer() {
699
+ if (this.holdDelayTimer !== null) {
700
+ clearTimeout(this.holdDelayTimer);
701
+ this.holdDelayTimer = null;
702
+ }
703
+ this.holdDelayReady.set(false);
704
+ }
705
+ scheduleHoldDelayFeedback() {
706
+ this.clearHoldDelayTimer();
707
+ const delay = this.startDelay();
708
+ const cursorMode = this.dragCursorOverride();
709
+ if (delay <= 0 || (cursorMode !== 'grab' && cursorMode !== 'grab-on-drag')) {
710
+ return;
711
+ }
712
+ const readyCursor = cursorMode === 'grab-on-drag' ? 'grab' : 'grabbing';
713
+ this.holdDelayTimer = setTimeout(() => {
714
+ this.holdDelayTimer = null;
715
+ if (!this.isDragging() || this.isMoving() || this.isDragDisabled()) {
716
+ return;
717
+ }
718
+ this.holdDelayReady.set(true);
719
+ this.renderer.setStyle(this.handle(), 'cursor', readyCursor);
720
+ this.setActiveDragCursor(readyCursor);
721
+ }, delay);
722
+ }
723
+ setElementDropCursor(element, cursor) {
724
+ this.renderer.setStyle(element, 'cursor', cursor);
619
725
  }
620
726
  setElementTransition(element) {
621
727
  this.renderer.setStyle(element, 'transition-property', 'transform, opacity, translate');
@@ -628,24 +734,23 @@ class AXDragDirective {
628
734
  handlePointerDown(e) {
629
735
  if (!isPlatformBrowser(this.platformId))
630
736
  return;
631
- if (!this.axDrag() || this.dragDisabled() || e.button !== 0 || this._parentDropList?.sortingDisabled())
737
+ if (!this.axDrag() || this.isDragDisabled() || e.button !== 0 || this._parentDropList?.isSortingDisabled())
632
738
  return;
633
739
  this.isDragging.set(true);
634
740
  this.movedAfterDelay.set(false);
635
- if (this.dragCursor() === 'move') {
741
+ if (this.dragCursorOverride() === 'move') {
636
742
  this.renderer.setStyle(this.handle(), 'cursor', 'move');
637
743
  }
638
- else if (this.dragCursor() === 'grab') {
639
- this.renderer.setStyle(this.handle(), 'cursor', 'grabbing');
640
- }
641
744
  this.dragStartOffset.set({ x: e.clientX - this.currentAxis().x, y: e.clientY - this.currentAxis().y });
745
+ this.pointerDownPosition.set({ x: e.clientX, y: e.clientY });
642
746
  this.renderer.setStyle(this.handle(), 'userSelect', 'none');
643
747
  this.activePointerId.set(e.pointerId);
644
748
  this.addDocumentListeners();
645
749
  this.dragStartTime.set(Date.now());
750
+ this.scheduleHoldDelayFeedback();
646
751
  }
647
752
  handleDblClick() {
648
- if (!this.dragResetOnDblClick() || this.dragDisabled())
753
+ if (!this.dragResetOnDblClick() || this.isDragDisabled())
649
754
  return;
650
755
  this.setPosition(0, 0);
651
756
  }
@@ -653,17 +758,26 @@ class AXDragDirective {
653
758
  if (!this.isDragging() || !isPlatformBrowser(this.platformId) || e.pointerId !== this.activePointerId()) {
654
759
  return;
655
760
  }
656
- e.preventDefault();
657
761
  if (!this.isMoving()) {
658
- const delay = this.dragStartDelay() ?? 0;
659
- // FIX: Delay logic was inverted
660
- if (Date.now() - this.dragStartTime() < delay) {
661
- return; // Still waiting for delay
762
+ const delay = this.startDelay();
763
+ const down = this.pointerDownPosition();
764
+ const movedX = e.clientX - down.x;
765
+ const movedY = e.clientY - down.y;
766
+ const movedDistance = Math.sqrt(movedX * movedX + movedY * movedY);
767
+ if (delay > 0 && !this.holdDelayReady() && Date.now() - this.dragStartTime() < delay) {
768
+ if (movedDistance > 8) {
769
+ this.abortDragSequence();
770
+ }
771
+ return;
662
772
  }
773
+ e.preventDefault();
663
774
  this.isMoving.set(true);
664
775
  this.handle().setPointerCapture(e.pointerId);
665
776
  this.startDrag(e);
666
777
  }
778
+ else {
779
+ e.preventDefault();
780
+ }
667
781
  // Run position updates outside Angular zone for better performance
668
782
  this.zone.runOutsideAngular(() => {
669
783
  if (this.createCloneElement()) {
@@ -694,7 +808,31 @@ class AXDragDirective {
694
808
  this.dropZoneHoverHandler(e);
695
809
  }
696
810
  }
811
+ abortDragSequence() {
812
+ this.clearHoldDelayTimer();
813
+ this.isDragging.set(false);
814
+ this.isMoving.set(false);
815
+ this.activePointerId.set(null);
816
+ this.removeDocumentListeners();
817
+ this.renderer.removeStyle(this.handle(), 'userSelect');
818
+ this.resetHandleCursorAfterDrag();
819
+ this.clearActiveDragCursor();
820
+ }
821
+ resetHandleCursorAfterDrag() {
822
+ const cursorMode = this.dragCursorOverride();
823
+ if (cursorMode === 'grab') {
824
+ this.renderer.setStyle(this.handle(), 'cursor', 'grab');
825
+ }
826
+ else if (cursorMode === 'grab-on-drag') {
827
+ this.renderer.removeStyle(this.handle(), 'cursor');
828
+ }
829
+ }
697
830
  startDrag(e) {
831
+ if (this.usesGrabDragCursor()) {
832
+ this.renderer.setStyle(this.handle(), 'cursor', 'grabbing');
833
+ this.setActiveDragCursor('grabbing');
834
+ }
835
+ this.renderer.setStyle(this.element(), 'z-index', '1');
698
836
  // Add CDK-style classes
699
837
  this.renderer.addClass(this.element(), 'ax-dragging');
700
838
  this.renderer.addClass(this.element(), 'ax-drag-placeholder');
@@ -722,9 +860,9 @@ class AXDragDirective {
722
860
  if (e.pointerId !== this.activePointerId() || !isPlatformBrowser(this.platformId) || !this.isDragging()) {
723
861
  return;
724
862
  }
725
- if (this.dragCursor() === 'grab') {
726
- this.renderer.setStyle(this.handle(), 'cursor', 'grab');
727
- }
863
+ this.clearHoldDelayTimer();
864
+ this.resetHandleCursorAfterDrag();
865
+ this.clearActiveDragCursor();
728
866
  const wasMoving = this.isMoving();
729
867
  this.isMoving.set(false);
730
868
  this.isDragging.set(false);
@@ -738,6 +876,7 @@ class AXDragDirective {
738
876
  this.renderer.removeStyle(this.handle(), 'userSelect');
739
877
  return;
740
878
  }
879
+ this.renderer.removeStyle(this.element(), 'z-index');
741
880
  this.preventClicking();
742
881
  const transform = this.element().style.transform;
743
882
  let x = 0;
@@ -792,12 +931,15 @@ class AXDragDirective {
792
931
  // Update cursor based on whether drop is allowed
793
932
  if (listUnderPointer) {
794
933
  const cloneEl = this.clonedElement();
795
- const cursor = canDrop ? 'move' : 'not-allowed';
796
- if (cloneEl) {
797
- this.renderer.setStyle(cloneEl, 'cursor', cursor);
934
+ const cursor = this.resolveDropCursor(!!canDrop);
935
+ if (this.usesGrabDragCursor()) {
936
+ this.setActiveDragCursor(cursor);
937
+ }
938
+ else if (cloneEl) {
939
+ this.setElementDropCursor(cloneEl, cursor);
798
940
  }
799
941
  else {
800
- this.renderer.setStyle(this.element(), 'cursor', cursor);
942
+ this.setElementDropCursor(this.element(), cursor);
801
943
  }
802
944
  }
803
945
  if (targetList !== previousList) {
@@ -815,7 +957,7 @@ class AXDragDirective {
815
957
  this._currentDropList()?.sort(e, this);
816
958
  }
817
959
  canDropInList(list) {
818
- if (!list || list.sortingDisabled() || !this._parentDropList) {
960
+ if (!list || list.isSortingDisabled() || !this._parentDropList) {
819
961
  return false;
820
962
  }
821
963
  if (list === this._parentDropList) {
@@ -959,9 +1101,9 @@ class AXDragDirective {
959
1101
  constrainedX = clamp(x, minX, maxX);
960
1102
  constrainedY = clamp(y, minY, maxY);
961
1103
  }
962
- if (this.dragLockAxis() === 'x')
1104
+ if (this.lockAxis() === 'x')
963
1105
  constrainedY = this.currentAxis().y;
964
- if (this.dragLockAxis() === 'y')
1106
+ if (this.lockAxis() === 'y')
965
1107
  constrainedX = this.currentAxis().x;
966
1108
  // Direct DOM manipulation without triggering change detection
967
1109
  this.renderer.setStyle(this.element(), 'translate', `${constrainedX}px ${constrainedY}px`);
@@ -983,9 +1125,9 @@ class AXDragDirective {
983
1125
  constrainedX = clamp(x, boundaryRect.left, boundaryRect.right - cloneWidth);
984
1126
  constrainedY = clamp(y, boundaryRect.top, boundaryRect.bottom - cloneHeight);
985
1127
  }
986
- if (this.dragLockAxis() === 'x')
1128
+ if (this.lockAxis() === 'x')
987
1129
  constrainedY = this.currentCloneAxis().y;
988
- if (this.dragLockAxis() === 'y')
1130
+ if (this.lockAxis() === 'y')
989
1131
  constrainedX = this.currentCloneAxis().x;
990
1132
  // Direct DOM manipulation without triggering change detection
991
1133
  this.renderer.setStyle(cloneEl, 'translate', `${constrainedX}px ${constrainedY}px`);
@@ -1214,10 +1356,10 @@ class AXDragDirective {
1214
1356
  this.document.removeEventListener('pointercancel', this.boundHandlePointerUp);
1215
1357
  });
1216
1358
  }
1217
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXDragDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1218
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "22.0.8", type: AXDragDirective, isStandalone: true, selector: "[axDrag]", inputs: { axDrag: { classPropertyName: "axDrag", publicName: "axDrag", isSignal: true, isRequired: false, transformFunction: null }, dragData: { classPropertyName: "dragData", publicName: "dragData", isSignal: true, isRequired: false, transformFunction: null }, dragDisabled: { classPropertyName: "dragDisabled", publicName: "dragDisabled", isSignal: true, isRequired: false, transformFunction: null }, dragTransition: { classPropertyName: "dragTransition", publicName: "dragTransition", isSignal: true, isRequired: false, transformFunction: null }, dragElementClone: { classPropertyName: "dragElementClone", publicName: "dragElementClone", isSignal: true, isRequired: false, transformFunction: null }, dropZoneGroup: { classPropertyName: "dropZoneGroup", publicName: "dropZoneGroup", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, dragResetOnDblClick: { classPropertyName: "dragResetOnDblClick", publicName: "dragResetOnDblClick", isSignal: true, isRequired: false, transformFunction: null }, dragLockAxis: { classPropertyName: "dragLockAxis", publicName: "dragLockAxis", isSignal: true, isRequired: false, transformFunction: null }, dragClonedTemplate: { classPropertyName: "dragClonedTemplate", publicName: "dragClonedTemplate", isSignal: true, isRequired: false, transformFunction: null }, dragCursor: { classPropertyName: "dragCursor", publicName: "dragCursor", isSignal: true, isRequired: false, transformFunction: null }, dragBoundary: { classPropertyName: "dragBoundary", publicName: "dragBoundary", isSignal: true, isRequired: false, transformFunction: null }, dragTransitionDuration: { classPropertyName: "dragTransitionDuration", publicName: "dragTransitionDuration", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dragPositionChanged: "dragPositionChanged" }, queries: [{ propertyName: "handleDirective", first: true, predicate: AXDragHandleDirective, descendants: true, isSignal: true }], ngImport: i0 }); }
1359
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXDragDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1360
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "22.1.6", type: AXDragDirective, isStandalone: true, selector: "[axDrag]", inputs: { axDrag: { classPropertyName: "axDrag", publicName: "axDrag", isSignal: true, isRequired: false, transformFunction: null }, dragData: { classPropertyName: "dragData", publicName: "dragData", isSignal: true, isRequired: false, transformFunction: null }, dragDisabled: { classPropertyName: "dragDisabled", publicName: "dragDisabled", isSignal: true, isRequired: false, transformFunction: null }, dragTransition: { classPropertyName: "dragTransition", publicName: "dragTransition", isSignal: true, isRequired: false, transformFunction: null }, dragElementClone: { classPropertyName: "dragElementClone", publicName: "dragElementClone", isSignal: true, isRequired: false, transformFunction: null }, dropZoneGroup: { classPropertyName: "dropZoneGroup", publicName: "dropZoneGroup", isSignal: true, isRequired: false, transformFunction: null }, dragStartDelay: { classPropertyName: "dragStartDelay", publicName: "dragStartDelay", isSignal: true, isRequired: false, transformFunction: null }, dragResetOnDblClick: { classPropertyName: "dragResetOnDblClick", publicName: "dragResetOnDblClick", isSignal: true, isRequired: false, transformFunction: null }, dragLockAxis: { classPropertyName: "dragLockAxis", publicName: "dragLockAxis", isSignal: true, isRequired: false, transformFunction: null }, dragClonedTemplate: { classPropertyName: "dragClonedTemplate", publicName: "dragClonedTemplate", isSignal: true, isRequired: false, transformFunction: null }, dragCursor: { classPropertyName: "dragCursor", publicName: "dragCursor", isSignal: true, isRequired: false, transformFunction: null }, dragBoundary: { classPropertyName: "dragBoundary", publicName: "dragBoundary", isSignal: true, isRequired: false, transformFunction: null }, dragTransitionDuration: { classPropertyName: "dragTransitionDuration", publicName: "dragTransitionDuration", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dragPositionChanged: "dragPositionChanged" }, queries: [{ propertyName: "handleDirective", first: true, predicate: AXDragHandleDirective, descendants: true, isSignal: true }], ngImport: i0 }); }
1219
1361
  }
1220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXDragDirective, decorators: [{
1362
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXDragDirective, decorators: [{
1221
1363
  type: Directive,
1222
1364
  args: [{
1223
1365
  selector: '[axDrag]',
@@ -1239,10 +1381,10 @@ class AXDropZoneDirective extends NXComponent {
1239
1381
  ngOnInit() {
1240
1382
  this.element().dataset['axDropZone'] = 'true';
1241
1383
  }
1242
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXDropZoneDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
1243
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.8", type: AXDropZoneDirective, isStandalone: true, selector: "[axDropZone]", inputs: { dropZoneGroup: { classPropertyName: "dropZoneGroup", publicName: "dropZoneGroup", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onElementDrop: "onElementDrop", onElementHover: "onElementHover" }, exportAs: ["axDropZone"], usesInheritance: true, ngImport: i0 }); }
1384
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXDropZoneDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
1385
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.6", type: AXDropZoneDirective, isStandalone: true, selector: "[axDropZone]", inputs: { dropZoneGroup: { classPropertyName: "dropZoneGroup", publicName: "dropZoneGroup", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onElementDrop: "onElementDrop", onElementHover: "onElementHover" }, exportAs: ["axDropZone"], usesInheritance: true, ngImport: i0 }); }
1244
1386
  }
1245
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXDropZoneDirective, decorators: [{
1387
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXDropZoneDirective, decorators: [{
1246
1388
  type: Directive,
1247
1389
  args: [{
1248
1390
  selector: '[axDropZone]',
@@ -1252,11 +1394,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
1252
1394
 
1253
1395
  const COMPONENT = [AXDragDirective, AXDragHandleDirective, AXDropListDirective, AXDropZoneDirective];
1254
1396
  class AXDragDropModule {
1255
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXDragDropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1256
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: AXDragDropModule, imports: [AXDragDirective, AXDragHandleDirective, AXDropListDirective, AXDropZoneDirective], exports: [AXDragDirective, AXDragHandleDirective, AXDropListDirective, AXDropZoneDirective] }); }
1257
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXDragDropModule }); }
1397
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXDragDropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1398
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: AXDragDropModule, imports: [AXDragDirective, AXDragHandleDirective, AXDropListDirective, AXDropZoneDirective], exports: [AXDragDirective, AXDragHandleDirective, AXDropListDirective, AXDropZoneDirective] }); }
1399
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXDragDropModule }); }
1258
1400
  }
1259
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXDragDropModule, decorators: [{
1401
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AXDragDropModule, decorators: [{
1260
1402
  type: NgModule,
1261
1403
  args: [{
1262
1404
  imports: [...COMPONENT],