@angular/cdk 18.0.0-rc.3 → 18.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/esm2022/a11y/a11y-module.mjs +5 -5
  2. package/esm2022/a11y/aria-describer/aria-describer.mjs +4 -4
  3. package/esm2022/a11y/focus-monitor/focus-monitor.mjs +7 -7
  4. package/esm2022/a11y/focus-trap/configurable-focus-trap-factory.mjs +4 -4
  5. package/esm2022/a11y/focus-trap/focus-trap-manager.mjs +4 -4
  6. package/esm2022/a11y/focus-trap/focus-trap.mjs +7 -7
  7. package/esm2022/a11y/high-contrast-mode/high-contrast-mode-detector.mjs +4 -4
  8. package/esm2022/a11y/input-modality/input-modality-detector.mjs +4 -4
  9. package/esm2022/a11y/interactivity-checker/interactivity-checker.mjs +4 -4
  10. package/esm2022/a11y/live-announcer/live-announcer.mjs +7 -7
  11. package/esm2022/accordion/accordion-item.mjs +4 -4
  12. package/esm2022/accordion/accordion-module.mjs +5 -5
  13. package/esm2022/accordion/accordion.mjs +4 -4
  14. package/esm2022/bidi/bidi-module.mjs +5 -5
  15. package/esm2022/bidi/dir.mjs +4 -4
  16. package/esm2022/bidi/directionality.mjs +4 -4
  17. package/esm2022/clipboard/clipboard-module.mjs +5 -5
  18. package/esm2022/clipboard/clipboard.mjs +4 -4
  19. package/esm2022/clipboard/copy-to-clipboard.mjs +4 -4
  20. package/esm2022/collections/unique-selection-dispatcher.mjs +4 -4
  21. package/esm2022/dialog/dialog-container.mjs +4 -4
  22. package/esm2022/dialog/dialog-module.mjs +5 -5
  23. package/esm2022/dialog/dialog.mjs +4 -4
  24. package/esm2022/drag-drop/directives/drag-handle.mjs +4 -4
  25. package/esm2022/drag-drop/directives/drag-placeholder.mjs +4 -4
  26. package/esm2022/drag-drop/directives/drag-preview.mjs +4 -4
  27. package/esm2022/drag-drop/directives/drag.mjs +4 -4
  28. package/esm2022/drag-drop/directives/drop-list-group.mjs +4 -4
  29. package/esm2022/drag-drop/directives/drop-list.mjs +4 -4
  30. package/esm2022/drag-drop/drag-drop-module.mjs +5 -5
  31. package/esm2022/drag-drop/drag-drop-registry.mjs +28 -24
  32. package/esm2022/drag-drop/drag-drop.mjs +4 -4
  33. package/esm2022/drag-drop/drag-ref.mjs +16 -14
  34. package/esm2022/layout/breakpoints-observer.mjs +4 -4
  35. package/esm2022/layout/layout-module.mjs +5 -5
  36. package/esm2022/layout/media-matcher.mjs +4 -4
  37. package/esm2022/listbox/listbox-module.mjs +5 -5
  38. package/esm2022/listbox/listbox.mjs +13 -12
  39. package/esm2022/menu/context-menu-trigger.mjs +7 -7
  40. package/esm2022/menu/menu-aim.mjs +7 -7
  41. package/esm2022/menu/menu-bar.mjs +4 -4
  42. package/esm2022/menu/menu-base.mjs +4 -4
  43. package/esm2022/menu/menu-group.mjs +4 -4
  44. package/esm2022/menu/menu-item-checkbox.mjs +4 -4
  45. package/esm2022/menu/menu-item-radio.mjs +4 -4
  46. package/esm2022/menu/menu-item-selectable.mjs +4 -4
  47. package/esm2022/menu/menu-item.mjs +4 -4
  48. package/esm2022/menu/menu-module.mjs +5 -5
  49. package/esm2022/menu/menu-stack.mjs +4 -4
  50. package/esm2022/menu/menu-trigger-base.mjs +4 -4
  51. package/esm2022/menu/menu-trigger.mjs +4 -4
  52. package/esm2022/menu/menu.mjs +4 -4
  53. package/esm2022/observers/observe-content.mjs +14 -14
  54. package/esm2022/observers/private/shared-resize-observer.mjs +4 -4
  55. package/esm2022/overlay/dispatchers/base-overlay-dispatcher.mjs +4 -4
  56. package/esm2022/overlay/dispatchers/overlay-keyboard-dispatcher.mjs +4 -4
  57. package/esm2022/overlay/dispatchers/overlay-outside-click-dispatcher.mjs +4 -4
  58. package/esm2022/overlay/fullscreen-overlay-container.mjs +4 -4
  59. package/esm2022/overlay/overlay-container.mjs +4 -4
  60. package/esm2022/overlay/overlay-directives.mjs +7 -7
  61. package/esm2022/overlay/overlay-module.mjs +5 -5
  62. package/esm2022/overlay/overlay.mjs +4 -4
  63. package/esm2022/overlay/position/overlay-position-builder.mjs +4 -4
  64. package/esm2022/overlay/scroll/scroll-strategy-options.mjs +4 -4
  65. package/esm2022/platform/platform-module.mjs +5 -5
  66. package/esm2022/platform/platform.mjs +4 -4
  67. package/esm2022/portal/portal-directives.mjs +17 -17
  68. package/esm2022/scrolling/fixed-size-virtual-scroll.mjs +4 -4
  69. package/esm2022/scrolling/scroll-dispatcher.mjs +4 -4
  70. package/esm2022/scrolling/scrollable.mjs +4 -4
  71. package/esm2022/scrolling/scrolling-module.mjs +9 -9
  72. package/esm2022/scrolling/viewport-ruler.mjs +4 -4
  73. package/esm2022/scrolling/virtual-for-of.mjs +4 -4
  74. package/esm2022/scrolling/virtual-scroll-viewport.mjs +4 -4
  75. package/esm2022/scrolling/virtual-scrollable-element.mjs +4 -4
  76. package/esm2022/scrolling/virtual-scrollable-window.mjs +4 -4
  77. package/esm2022/scrolling/virtual-scrollable.mjs +4 -4
  78. package/esm2022/stepper/step-header.mjs +4 -4
  79. package/esm2022/stepper/step-label.mjs +4 -4
  80. package/esm2022/stepper/stepper-button.mjs +7 -7
  81. package/esm2022/stepper/stepper-module.mjs +5 -5
  82. package/esm2022/stepper/stepper.mjs +7 -7
  83. package/esm2022/table/cell.mjs +22 -22
  84. package/esm2022/table/coalesced-style-scheduler.mjs +4 -4
  85. package/esm2022/table/row.mjs +28 -28
  86. package/esm2022/table/table-module.mjs +5 -5
  87. package/esm2022/table/table.mjs +19 -19
  88. package/esm2022/table/text-column.mjs +4 -4
  89. package/esm2022/text-field/autofill.mjs +7 -7
  90. package/esm2022/text-field/autosize.mjs +4 -4
  91. package/esm2022/text-field/text-field-module.mjs +5 -5
  92. package/esm2022/tree/nested-node.mjs +4 -4
  93. package/esm2022/tree/node.mjs +4 -4
  94. package/esm2022/tree/outlet.mjs +4 -4
  95. package/esm2022/tree/padding.mjs +4 -4
  96. package/esm2022/tree/toggle.mjs +4 -4
  97. package/esm2022/tree/tree-module.mjs +5 -5
  98. package/esm2022/tree/tree.mjs +7 -7
  99. package/esm2022/version.mjs +1 -1
  100. package/fesm2022/a11y.mjs +40 -40
  101. package/fesm2022/a11y.mjs.map +1 -1
  102. package/fesm2022/accordion.mjs +10 -10
  103. package/fesm2022/accordion.mjs.map +1 -1
  104. package/fesm2022/bidi.mjs +10 -10
  105. package/fesm2022/bidi.mjs.map +1 -1
  106. package/fesm2022/cdk.mjs +1 -1
  107. package/fesm2022/cdk.mjs.map +1 -1
  108. package/fesm2022/clipboard.mjs +10 -10
  109. package/fesm2022/clipboard.mjs.map +1 -1
  110. package/fesm2022/collections.mjs +3 -3
  111. package/fesm2022/collections.mjs.map +1 -1
  112. package/fesm2022/dialog.mjs +10 -10
  113. package/fesm2022/dialog.mjs.map +1 -1
  114. package/fesm2022/drag-drop.mjs +193 -188
  115. package/fesm2022/drag-drop.mjs.map +1 -1
  116. package/fesm2022/layout.mjs +10 -10
  117. package/fesm2022/layout.mjs.map +1 -1
  118. package/fesm2022/listbox.mjs +17 -16
  119. package/fesm2022/listbox.mjs.map +1 -1
  120. package/fesm2022/menu.mjs +49 -49
  121. package/fesm2022/menu.mjs.map +1 -1
  122. package/fesm2022/observers/private.mjs +3 -3
  123. package/fesm2022/observers/private.mjs.map +1 -1
  124. package/fesm2022/observers.mjs +13 -13
  125. package/fesm2022/observers.mjs.map +1 -1
  126. package/fesm2022/overlay.mjs +34 -34
  127. package/fesm2022/overlay.mjs.map +1 -1
  128. package/fesm2022/platform.mjs +7 -7
  129. package/fesm2022/platform.mjs.map +1 -1
  130. package/fesm2022/portal.mjs +16 -16
  131. package/fesm2022/portal.mjs.map +1 -1
  132. package/fesm2022/scrolling.mjs +35 -35
  133. package/fesm2022/scrolling.mjs.map +1 -1
  134. package/fesm2022/stepper.mjs +22 -22
  135. package/fesm2022/stepper.mjs.map +1 -1
  136. package/fesm2022/table.mjs +76 -76
  137. package/fesm2022/table.mjs.map +1 -1
  138. package/fesm2022/text-field.mjs +13 -13
  139. package/fesm2022/text-field.mjs.map +1 -1
  140. package/fesm2022/tree.mjs +25 -25
  141. package/fesm2022/tree.mjs.map +1 -1
  142. package/package.json +3 -3
  143. package/schematics/ng-add/index.js +1 -1
  144. package/schematics/ng-add/index.mjs +1 -1
@@ -1,95 +1,71 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, inject, ApplicationRef, EnvironmentInjector, createComponent, Injectable, Inject, InjectionToken, booleanAttribute, Directive, Optional, SkipSelf, Input, EventEmitter, Injector, afterNextRender, Self, Output, NgModule } from '@angular/core';
2
+ import { signal, Component, ViewEncapsulation, ChangeDetectionStrategy, inject, ApplicationRef, EnvironmentInjector, createComponent, Injectable, Inject, InjectionToken, booleanAttribute, Directive, Optional, SkipSelf, Input, EventEmitter, Injector, afterNextRender, Self, Output, NgModule } from '@angular/core';
3
3
  import { DOCUMENT } from '@angular/common';
4
4
  import * as i1 from '@angular/cdk/scrolling';
5
5
  import { CdkScrollableModule } from '@angular/cdk/scrolling';
6
- import { _getEventTarget, normalizePassiveListenerOptions, _getShadowRoot } from '@angular/cdk/platform';
7
- import { coerceElement, coerceNumberProperty, coerceArray } from '@angular/cdk/coercion';
8
6
  import { isFakeTouchstartFromScreenReader, isFakeMousedownFromScreenReader } from '@angular/cdk/a11y';
7
+ import { coerceElement, coerceNumberProperty, coerceArray } from '@angular/cdk/coercion';
8
+ import { _getEventTarget, normalizePassiveListenerOptions, _getShadowRoot } from '@angular/cdk/platform';
9
9
  import { Subject, Subscription, interval, animationFrameScheduler, Observable, merge, BehaviorSubject } from 'rxjs';
10
10
  import { takeUntil, map, take, tap, switchMap, startWith } from 'rxjs/operators';
11
11
  import * as i1$1 from '@angular/cdk/bidi';
12
12
 
13
- /**
14
- * Shallow-extends a stylesheet object with another stylesheet-like object.
15
- * Note that the keys in `source` have to be dash-cased.
16
- * @docs-private
17
- */
18
- function extendStyles(dest, source, importantProperties) {
19
- for (let key in source) {
20
- if (source.hasOwnProperty(key)) {
21
- const value = source[key];
22
- if (value) {
23
- dest.setProperty(key, value, importantProperties?.has(key) ? 'important' : '');
24
- }
25
- else {
26
- dest.removeProperty(key);
27
- }
28
- }
13
+ /** Creates a deep clone of an element. */
14
+ function deepCloneNode(node) {
15
+ const clone = node.cloneNode(true);
16
+ const descendantsWithId = clone.querySelectorAll('[id]');
17
+ const nodeName = node.nodeName.toLowerCase();
18
+ // Remove the `id` to avoid having multiple elements with the same id on the page.
19
+ clone.removeAttribute('id');
20
+ for (let i = 0; i < descendantsWithId.length; i++) {
21
+ descendantsWithId[i].removeAttribute('id');
29
22
  }
30
- return dest;
31
- }
32
- /**
33
- * Toggles whether the native drag interactions should be enabled for an element.
34
- * @param element Element on which to toggle the drag interactions.
35
- * @param enable Whether the drag interactions should be enabled.
36
- * @docs-private
37
- */
38
- function toggleNativeDragInteractions(element, enable) {
39
- const userSelect = enable ? '' : 'none';
40
- extendStyles(element.style, {
41
- 'touch-action': enable ? '' : 'none',
42
- '-webkit-user-drag': enable ? '' : 'none',
43
- '-webkit-tap-highlight-color': enable ? '' : 'transparent',
44
- 'user-select': userSelect,
45
- '-ms-user-select': userSelect,
46
- '-webkit-user-select': userSelect,
47
- '-moz-user-select': userSelect,
48
- });
49
- }
50
- /**
51
- * Toggles whether an element is visible while preserving its dimensions.
52
- * @param element Element whose visibility to toggle
53
- * @param enable Whether the element should be visible.
54
- * @param importantProperties Properties to be set as `!important`.
55
- * @docs-private
56
- */
57
- function toggleVisibility(element, enable, importantProperties) {
58
- extendStyles(element.style, {
59
- position: enable ? '' : 'fixed',
60
- top: enable ? '' : '0',
61
- opacity: enable ? '' : '0',
62
- left: enable ? '' : '-999em',
63
- }, importantProperties);
23
+ if (nodeName === 'canvas') {
24
+ transferCanvasData(node, clone);
25
+ }
26
+ else if (nodeName === 'input' || nodeName === 'select' || nodeName === 'textarea') {
27
+ transferInputData(node, clone);
28
+ }
29
+ transferData('canvas', node, clone, transferCanvasData);
30
+ transferData('input, textarea, select', node, clone, transferInputData);
31
+ return clone;
64
32
  }
65
- /**
66
- * Combines a transform string with an optional other transform
67
- * that exited before the base transform was applied.
68
- */
69
- function combineTransforms(transform, initialTransform) {
70
- return initialTransform && initialTransform != 'none'
71
- ? transform + ' ' + initialTransform
72
- : transform;
33
+ /** Matches elements between an element and its clone and allows for their data to be cloned. */
34
+ function transferData(selector, node, clone, callback) {
35
+ const descendantElements = node.querySelectorAll(selector);
36
+ if (descendantElements.length) {
37
+ const cloneElements = clone.querySelectorAll(selector);
38
+ for (let i = 0; i < descendantElements.length; i++) {
39
+ callback(descendantElements[i], cloneElements[i]);
40
+ }
41
+ }
73
42
  }
74
- /**
75
- * Matches the target element's size to the source's size.
76
- * @param target Element that needs to be resized.
77
- * @param sourceRect Dimensions of the source element.
78
- */
79
- function matchElementSize(target, sourceRect) {
80
- target.style.width = `${sourceRect.width}px`;
81
- target.style.height = `${sourceRect.height}px`;
82
- target.style.transform = getTransform(sourceRect.left, sourceRect.top);
43
+ // Counter for unique cloned radio button names.
44
+ let cloneUniqueId = 0;
45
+ /** Transfers the data of one input element to another. */
46
+ function transferInputData(source, clone) {
47
+ // Browsers throw an error when assigning the value of a file input programmatically.
48
+ if (clone.type !== 'file') {
49
+ clone.value = source.value;
50
+ }
51
+ // Radio button `name` attributes must be unique for radio button groups
52
+ // otherwise original radio buttons can lose their checked state
53
+ // once the clone is inserted in the DOM.
54
+ if (clone.type === 'radio' && clone.name) {
55
+ clone.name = `mat-clone-${clone.name}-${cloneUniqueId++}`;
56
+ }
83
57
  }
84
- /**
85
- * Gets a 3d `transform` that can be applied to an element.
86
- * @param x Desired position of the element along the X axis.
87
- * @param y Desired position of the element along the Y axis.
88
- */
89
- function getTransform(x, y) {
90
- // Round the transforms since some browsers will
91
- // blur the elements for sub-pixel transforms.
92
- return `translate3d(${Math.round(x)}px, ${Math.round(y)}px, 0)`;
58
+ /** Transfers the data of one canvas element to another. */
59
+ function transferCanvasData(source, clone) {
60
+ const context = clone.getContext('2d');
61
+ if (context) {
62
+ // In some cases `drawImage` can throw (e.g. if the canvas size is 0x0).
63
+ // We can't do much about it so just ignore the error.
64
+ try {
65
+ context.drawImage(source, 0, 0);
66
+ }
67
+ catch { }
68
+ }
93
69
  }
94
70
 
95
71
  /** Gets a mutable version of an element's bounding `DOMRect`. */
@@ -216,64 +192,6 @@ class ParentPositionTracker {
216
192
  }
217
193
  }
218
194
 
219
- /** Creates a deep clone of an element. */
220
- function deepCloneNode(node) {
221
- const clone = node.cloneNode(true);
222
- const descendantsWithId = clone.querySelectorAll('[id]');
223
- const nodeName = node.nodeName.toLowerCase();
224
- // Remove the `id` to avoid having multiple elements with the same id on the page.
225
- clone.removeAttribute('id');
226
- for (let i = 0; i < descendantsWithId.length; i++) {
227
- descendantsWithId[i].removeAttribute('id');
228
- }
229
- if (nodeName === 'canvas') {
230
- transferCanvasData(node, clone);
231
- }
232
- else if (nodeName === 'input' || nodeName === 'select' || nodeName === 'textarea') {
233
- transferInputData(node, clone);
234
- }
235
- transferData('canvas', node, clone, transferCanvasData);
236
- transferData('input, textarea, select', node, clone, transferInputData);
237
- return clone;
238
- }
239
- /** Matches elements between an element and its clone and allows for their data to be cloned. */
240
- function transferData(selector, node, clone, callback) {
241
- const descendantElements = node.querySelectorAll(selector);
242
- if (descendantElements.length) {
243
- const cloneElements = clone.querySelectorAll(selector);
244
- for (let i = 0; i < descendantElements.length; i++) {
245
- callback(descendantElements[i], cloneElements[i]);
246
- }
247
- }
248
- }
249
- // Counter for unique cloned radio button names.
250
- let cloneUniqueId = 0;
251
- /** Transfers the data of one input element to another. */
252
- function transferInputData(source, clone) {
253
- // Browsers throw an error when assigning the value of a file input programmatically.
254
- if (clone.type !== 'file') {
255
- clone.value = source.value;
256
- }
257
- // Radio button `name` attributes must be unique for radio button groups
258
- // otherwise original radio buttons can lose their checked state
259
- // once the clone is inserted in the DOM.
260
- if (clone.type === 'radio' && clone.name) {
261
- clone.name = `mat-clone-${clone.name}-${cloneUniqueId++}`;
262
- }
263
- }
264
- /** Transfers the data of one canvas element to another. */
265
- function transferCanvasData(source, clone) {
266
- const context = clone.getContext('2d');
267
- if (context) {
268
- // In some cases `drawImage` can throw (e.g. if the canvas size is 0x0).
269
- // We can't do much about it so just ignore the error.
270
- try {
271
- context.drawImage(source, 0, 0);
272
- }
273
- catch { }
274
- }
275
- }
276
-
277
195
  /**
278
196
  * Gets the root HTML element of an embedded view.
279
197
  * If the root is not an HTML element it gets wrapped in one.
@@ -288,6 +206,88 @@ function getRootNode(viewRef, _document) {
288
206
  return wrapper;
289
207
  }
290
208
 
209
+ /**
210
+ * Shallow-extends a stylesheet object with another stylesheet-like object.
211
+ * Note that the keys in `source` have to be dash-cased.
212
+ * @docs-private
213
+ */
214
+ function extendStyles(dest, source, importantProperties) {
215
+ for (let key in source) {
216
+ if (source.hasOwnProperty(key)) {
217
+ const value = source[key];
218
+ if (value) {
219
+ dest.setProperty(key, value, importantProperties?.has(key) ? 'important' : '');
220
+ }
221
+ else {
222
+ dest.removeProperty(key);
223
+ }
224
+ }
225
+ }
226
+ return dest;
227
+ }
228
+ /**
229
+ * Toggles whether the native drag interactions should be enabled for an element.
230
+ * @param element Element on which to toggle the drag interactions.
231
+ * @param enable Whether the drag interactions should be enabled.
232
+ * @docs-private
233
+ */
234
+ function toggleNativeDragInteractions(element, enable) {
235
+ const userSelect = enable ? '' : 'none';
236
+ extendStyles(element.style, {
237
+ 'touch-action': enable ? '' : 'none',
238
+ '-webkit-user-drag': enable ? '' : 'none',
239
+ '-webkit-tap-highlight-color': enable ? '' : 'transparent',
240
+ 'user-select': userSelect,
241
+ '-ms-user-select': userSelect,
242
+ '-webkit-user-select': userSelect,
243
+ '-moz-user-select': userSelect,
244
+ });
245
+ }
246
+ /**
247
+ * Toggles whether an element is visible while preserving its dimensions.
248
+ * @param element Element whose visibility to toggle
249
+ * @param enable Whether the element should be visible.
250
+ * @param importantProperties Properties to be set as `!important`.
251
+ * @docs-private
252
+ */
253
+ function toggleVisibility(element, enable, importantProperties) {
254
+ extendStyles(element.style, {
255
+ position: enable ? '' : 'fixed',
256
+ top: enable ? '' : '0',
257
+ opacity: enable ? '' : '0',
258
+ left: enable ? '' : '-999em',
259
+ }, importantProperties);
260
+ }
261
+ /**
262
+ * Combines a transform string with an optional other transform
263
+ * that exited before the base transform was applied.
264
+ */
265
+ function combineTransforms(transform, initialTransform) {
266
+ return initialTransform && initialTransform != 'none'
267
+ ? transform + ' ' + initialTransform
268
+ : transform;
269
+ }
270
+ /**
271
+ * Matches the target element's size to the source's size.
272
+ * @param target Element that needs to be resized.
273
+ * @param sourceRect Dimensions of the source element.
274
+ */
275
+ function matchElementSize(target, sourceRect) {
276
+ target.style.width = `${sourceRect.width}px`;
277
+ target.style.height = `${sourceRect.height}px`;
278
+ target.style.transform = getTransform(sourceRect.left, sourceRect.top);
279
+ }
280
+ /**
281
+ * Gets a 3d `transform` that can be applied to an element.
282
+ * @param x Desired position of the element along the X axis.
283
+ * @param y Desired position of the element along the Y axis.
284
+ */
285
+ function getTransform(x, y) {
286
+ // Round the transforms since some browsers will
287
+ // blur the elements for sub-pixel transforms.
288
+ return `translate3d(${Math.round(x)}px, ${Math.round(y)}px, 0)`;
289
+ }
290
+
291
291
  /** Parses a CSS time value to milliseconds. */
292
292
  function parseCssTimeUnitsToMs(value) {
293
293
  // Some browsers will return it in seconds, whereas others will return milliseconds.
@@ -475,7 +475,7 @@ class DragRef {
475
475
  * Whether the dragging sequence has been started. Doesn't
476
476
  * necessarily mean that the element has been moved.
477
477
  */
478
- this._hasStartedDragging = false;
478
+ this._hasStartedDragging = signal(false);
479
479
  /** Emits when the item is being moved. */
480
480
  this._moveEvents = new Subject();
481
481
  /** Subscription to pointer movement events. */
@@ -538,7 +538,7 @@ class DragRef {
538
538
  /** Handler that is invoked when the user moves their pointer after they've initiated a drag. */
539
539
  this._pointerMove = (event) => {
540
540
  const pointerPosition = this._getPointerPositionOnPage(event);
541
- if (!this._hasStartedDragging) {
541
+ if (!this._hasStartedDragging()) {
542
542
  const distanceX = Math.abs(pointerPosition.x - this._pickupPositionOnPage.x);
543
543
  const distanceY = Math.abs(pointerPosition.y - this._pickupPositionOnPage.y);
544
544
  const isOverThreshold = distanceX + distanceY >= this._config.dragStartThreshold;
@@ -562,7 +562,7 @@ class DragRef {
562
562
  if (event.cancelable) {
563
563
  event.preventDefault();
564
564
  }
565
- this._hasStartedDragging = true;
565
+ this._hasStartedDragging.set(true);
566
566
  this._ngZone.run(() => this._startDragSequence(event));
567
567
  }
568
568
  }
@@ -760,7 +760,7 @@ class DragRef {
760
760
  }
761
761
  /** Checks whether the element is currently being dragged. */
762
762
  isDragging() {
763
- return this._hasStartedDragging && this._dragDropRegistry.isDragging(this);
763
+ return this._hasStartedDragging() && this._dragDropRegistry.isDragging(this);
764
764
  }
765
765
  /** Resets a standalone drag item to its initial position. */
766
766
  reset() {
@@ -869,7 +869,7 @@ class DragRef {
869
869
  this._rootElement.style.webkitTapHighlightColor =
870
870
  this._rootElementTapHighlight;
871
871
  }
872
- if (!this._hasStartedDragging) {
872
+ if (!this._hasStartedDragging()) {
873
873
  return;
874
874
  }
875
875
  this.released.next({ source: this, event });
@@ -993,7 +993,8 @@ class DragRef {
993
993
  this._rootElementTapHighlight = rootStyles.webkitTapHighlightColor || '';
994
994
  rootStyles.webkitTapHighlightColor = 'transparent';
995
995
  }
996
- this._hasStartedDragging = this._hasMoved = false;
996
+ this._hasMoved = false;
997
+ this._hasStartedDragging.set(this._hasMoved);
997
998
  // Avoid multiple subscriptions and memory leaks when multi touch
998
999
  // (isDragging check above isn't enough because of possible temporal and/or dimensional delays)
999
1000
  this._removeListeners();
@@ -2487,10 +2488,10 @@ const activeApps = new Set();
2487
2488
  * @docs-private
2488
2489
  */
2489
2490
  class _ResetsLoader {
2490
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: _ResetsLoader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2491
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: _ResetsLoader, isStandalone: true, selector: "ng-component", host: { attributes: { "cdk-drag-resets-container": "" } }, ngImport: i0, template: '', isInline: true, styles: ["@layer cdk-resets{.cdk-drag-preview{background:none;border:none;padding:0;color:inherit}}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2491
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: _ResetsLoader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2492
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: _ResetsLoader, isStandalone: true, selector: "ng-component", host: { attributes: { "cdk-drag-resets-container": "" } }, ngImport: i0, template: '', isInline: true, styles: ["@layer cdk-resets{.cdk-drag-preview{background:none;border:none;padding:0;color:inherit}}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2492
2493
  }
2493
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: _ResetsLoader, decorators: [{
2494
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: _ResetsLoader, decorators: [{
2494
2495
  type: Component,
2495
2496
  args: [{ standalone: true, encapsulation: ViewEncapsulation.None, template: '', changeDetection: ChangeDetectionStrategy.OnPush, host: { 'cdk-drag-resets-container': '' }, styles: ["@layer cdk-resets{.cdk-drag-preview{background:none;border:none;padding:0;color:inherit}}"] }]
2496
2497
  }] });
@@ -2512,7 +2513,7 @@ class DragDropRegistry {
2512
2513
  /** Registered drag item instances. */
2513
2514
  this._dragInstances = new Set();
2514
2515
  /** Drag item instances that are currently being dragged. */
2515
- this._activeDragInstances = [];
2516
+ this._activeDragInstances = signal([]);
2516
2517
  /** Keeps track of the event listeners that we've bound to the `document`. */
2517
2518
  this._globalListeners = new Map();
2518
2519
  /**
@@ -2541,17 +2542,17 @@ class DragDropRegistry {
2541
2542
  * @param event Event whose default action should be prevented.
2542
2543
  */
2543
2544
  this._preventDefaultWhileDragging = (event) => {
2544
- if (this._activeDragInstances.length > 0) {
2545
+ if (this._activeDragInstances().length > 0) {
2545
2546
  event.preventDefault();
2546
2547
  }
2547
2548
  };
2548
2549
  /** Event listener for `touchmove` that is bound even if no dragging is happening. */
2549
2550
  this._persistentTouchmoveListener = (event) => {
2550
- if (this._activeDragInstances.length > 0) {
2551
+ if (this._activeDragInstances().length > 0) {
2551
2552
  // Note that we only want to prevent the default action after dragging has actually started.
2552
2553
  // Usually this is the same time at which the item is added to the `_activeDragInstances`,
2553
2554
  // but it could be pushed back if the user has set up a drag delay or threshold.
2554
- if (this._activeDragInstances.some(this._draggingPredicate)) {
2555
+ if (this._activeDragInstances().some(this._draggingPredicate)) {
2555
2556
  event.preventDefault();
2556
2557
  }
2557
2558
  this.pointerMove.next(event);
@@ -2598,12 +2599,12 @@ class DragDropRegistry {
2598
2599
  */
2599
2600
  startDragging(drag, event) {
2600
2601
  // Do not process the same drag twice to avoid memory leaks and redundant listeners
2601
- if (this._activeDragInstances.indexOf(drag) > -1) {
2602
+ if (this._activeDragInstances().indexOf(drag) > -1) {
2602
2603
  return;
2603
2604
  }
2604
2605
  this._loadResets();
2605
- this._activeDragInstances.push(drag);
2606
- if (this._activeDragInstances.length === 1) {
2606
+ this._activeDragInstances.update(instances => [...instances, drag]);
2607
+ if (this._activeDragInstances().length === 1) {
2607
2608
  const isTouchEvent = event.type.startsWith('touch');
2608
2609
  // We explicitly bind __active__ listeners here, because newer browsers will default to
2609
2610
  // passive ones for `mousemove` and `touchmove`. The events need to be active, because we
@@ -2644,17 +2645,21 @@ class DragDropRegistry {
2644
2645
  }
2645
2646
  /** Stops dragging a drag item instance. */
2646
2647
  stopDragging(drag) {
2647
- const index = this._activeDragInstances.indexOf(drag);
2648
- if (index > -1) {
2649
- this._activeDragInstances.splice(index, 1);
2650
- if (this._activeDragInstances.length === 0) {
2651
- this._clearGlobalListeners();
2648
+ this._activeDragInstances.update(instances => {
2649
+ const index = instances.indexOf(drag);
2650
+ if (index > -1) {
2651
+ instances.splice(index, 1);
2652
+ return [...instances];
2652
2653
  }
2654
+ return instances;
2655
+ });
2656
+ if (this._activeDragInstances().length === 0) {
2657
+ this._clearGlobalListeners();
2653
2658
  }
2654
2659
  }
2655
2660
  /** Gets whether a drag item instance is currently being dragged. */
2656
2661
  isDragging(drag) {
2657
- return this._activeDragInstances.indexOf(drag) > -1;
2662
+ return this._activeDragInstances().indexOf(drag) > -1;
2658
2663
  }
2659
2664
  /**
2660
2665
  * Gets a stream that will emit when any element on the page is scrolled while an item is being
@@ -2673,7 +2678,7 @@ class DragDropRegistry {
2673
2678
  return this._ngZone.runOutsideAngular(() => {
2674
2679
  const eventOptions = true;
2675
2680
  const callback = (event) => {
2676
- if (this._activeDragInstances.length) {
2681
+ if (this._activeDragInstances().length) {
2677
2682
  observer.next(event);
2678
2683
  }
2679
2684
  };
@@ -2716,10 +2721,10 @@ class DragDropRegistry {
2716
2721
  });
2717
2722
  }
2718
2723
  }
2719
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: DragDropRegistry, deps: [{ token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
2720
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: DragDropRegistry, providedIn: 'root' }); }
2724
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DragDropRegistry, deps: [{ token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
2725
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DragDropRegistry, providedIn: 'root' }); }
2721
2726
  }
2722
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: DragDropRegistry, decorators: [{
2727
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DragDropRegistry, decorators: [{
2723
2728
  type: Injectable,
2724
2729
  args: [{ providedIn: 'root' }]
2725
2730
  }], ctorParameters: () => [{ type: i0.NgZone }, { type: undefined, decorators: [{
@@ -2757,10 +2762,10 @@ class DragDrop {
2757
2762
  createDropList(element) {
2758
2763
  return new DropListRef(element, this._dragDropRegistry, this._document, this._ngZone, this._viewportRuler);
2759
2764
  }
2760
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: DragDrop, deps: [{ token: DOCUMENT }, { token: i0.NgZone }, { token: i1.ViewportRuler }, { token: DragDropRegistry }], target: i0.ɵɵFactoryTarget.Injectable }); }
2761
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: DragDrop, providedIn: 'root' }); }
2765
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DragDrop, deps: [{ token: DOCUMENT }, { token: i0.NgZone }, { token: i1.ViewportRuler }, { token: DragDropRegistry }], target: i0.ɵɵFactoryTarget.Injectable }); }
2766
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DragDrop, providedIn: 'root' }); }
2762
2767
  }
2763
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: DragDrop, decorators: [{
2768
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DragDrop, decorators: [{
2764
2769
  type: Injectable,
2765
2770
  args: [{ providedIn: 'root' }]
2766
2771
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -2818,10 +2823,10 @@ class CdkDragHandle {
2818
2823
  this._parentDrag?._removeHandle(this);
2819
2824
  this._stateChanges.complete();
2820
2825
  }
2821
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: CdkDragHandle, deps: [{ token: i0.ElementRef }, { token: CDK_DRAG_PARENT, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
2822
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.0-rc.2", type: CdkDragHandle, isStandalone: true, selector: "[cdkDragHandle]", inputs: { disabled: ["cdkDragHandleDisabled", "disabled", booleanAttribute] }, host: { classAttribute: "cdk-drag-handle" }, providers: [{ provide: CDK_DRAG_HANDLE, useExisting: CdkDragHandle }], ngImport: i0 }); }
2826
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CdkDragHandle, deps: [{ token: i0.ElementRef }, { token: CDK_DRAG_PARENT, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
2827
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.0", type: CdkDragHandle, isStandalone: true, selector: "[cdkDragHandle]", inputs: { disabled: ["cdkDragHandleDisabled", "disabled", booleanAttribute] }, host: { classAttribute: "cdk-drag-handle" }, providers: [{ provide: CDK_DRAG_HANDLE, useExisting: CdkDragHandle }], ngImport: i0 }); }
2823
2828
  }
2824
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: CdkDragHandle, decorators: [{
2829
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CdkDragHandle, decorators: [{
2825
2830
  type: Directive,
2826
2831
  args: [{
2827
2832
  selector: '[cdkDragHandle]',
@@ -3234,10 +3239,10 @@ class CdkDrag {
3234
3239
  handleInstance.disabled ? dragRef.disableHandle(handle) : dragRef.enableHandle(handle);
3235
3240
  });
3236
3241
  }
3237
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: CdkDrag, deps: [{ token: i0.ElementRef }, { token: CDK_DROP_LIST, optional: true, skipSelf: true }, { token: DOCUMENT }, { token: i0.NgZone }, { token: i0.ViewContainerRef }, { token: CDK_DRAG_CONFIG, optional: true }, { token: i1$1.Directionality, optional: true }, { token: DragDrop }, { token: i0.ChangeDetectorRef }, { token: CDK_DRAG_HANDLE, optional: true, self: true }, { token: CDK_DRAG_PARENT, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3238
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.0-rc.2", type: CdkDrag, isStandalone: true, selector: "[cdkDrag]", inputs: { data: ["cdkDragData", "data"], lockAxis: ["cdkDragLockAxis", "lockAxis"], rootElementSelector: ["cdkDragRootElement", "rootElementSelector"], boundaryElement: ["cdkDragBoundary", "boundaryElement"], dragStartDelay: ["cdkDragStartDelay", "dragStartDelay"], freeDragPosition: ["cdkDragFreeDragPosition", "freeDragPosition"], disabled: ["cdkDragDisabled", "disabled", booleanAttribute], constrainPosition: ["cdkDragConstrainPosition", "constrainPosition"], previewClass: ["cdkDragPreviewClass", "previewClass"], previewContainer: ["cdkDragPreviewContainer", "previewContainer"] }, outputs: { started: "cdkDragStarted", released: "cdkDragReleased", ended: "cdkDragEnded", entered: "cdkDragEntered", exited: "cdkDragExited", dropped: "cdkDragDropped", moved: "cdkDragMoved" }, host: { properties: { "class.cdk-drag-disabled": "disabled", "class.cdk-drag-dragging": "_dragRef.isDragging()" }, classAttribute: "cdk-drag" }, providers: [{ provide: CDK_DRAG_PARENT, useExisting: CdkDrag }], exportAs: ["cdkDrag"], usesOnChanges: true, ngImport: i0 }); }
3242
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CdkDrag, deps: [{ token: i0.ElementRef }, { token: CDK_DROP_LIST, optional: true, skipSelf: true }, { token: DOCUMENT }, { token: i0.NgZone }, { token: i0.ViewContainerRef }, { token: CDK_DRAG_CONFIG, optional: true }, { token: i1$1.Directionality, optional: true }, { token: DragDrop }, { token: i0.ChangeDetectorRef }, { token: CDK_DRAG_HANDLE, optional: true, self: true }, { token: CDK_DRAG_PARENT, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3243
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.0", type: CdkDrag, isStandalone: true, selector: "[cdkDrag]", inputs: { data: ["cdkDragData", "data"], lockAxis: ["cdkDragLockAxis", "lockAxis"], rootElementSelector: ["cdkDragRootElement", "rootElementSelector"], boundaryElement: ["cdkDragBoundary", "boundaryElement"], dragStartDelay: ["cdkDragStartDelay", "dragStartDelay"], freeDragPosition: ["cdkDragFreeDragPosition", "freeDragPosition"], disabled: ["cdkDragDisabled", "disabled", booleanAttribute], constrainPosition: ["cdkDragConstrainPosition", "constrainPosition"], previewClass: ["cdkDragPreviewClass", "previewClass"], previewContainer: ["cdkDragPreviewContainer", "previewContainer"] }, outputs: { started: "cdkDragStarted", released: "cdkDragReleased", ended: "cdkDragEnded", entered: "cdkDragEntered", exited: "cdkDragExited", dropped: "cdkDragDropped", moved: "cdkDragMoved" }, host: { properties: { "class.cdk-drag-disabled": "disabled", "class.cdk-drag-dragging": "_dragRef.isDragging()" }, classAttribute: "cdk-drag" }, providers: [{ provide: CDK_DRAG_PARENT, useExisting: CdkDrag }], exportAs: ["cdkDrag"], usesOnChanges: true, ngImport: i0 }); }
3239
3244
  }
3240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: CdkDrag, decorators: [{
3245
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CdkDrag, decorators: [{
3241
3246
  type: Directive,
3242
3247
  args: [{
3243
3248
  selector: '[cdkDrag]',
@@ -3356,10 +3361,10 @@ class CdkDropListGroup {
3356
3361
  ngOnDestroy() {
3357
3362
  this._items.clear();
3358
3363
  }
3359
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: CdkDropListGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3360
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.0-rc.2", type: CdkDropListGroup, isStandalone: true, selector: "[cdkDropListGroup]", inputs: { disabled: ["cdkDropListGroupDisabled", "disabled", booleanAttribute] }, providers: [{ provide: CDK_DROP_LIST_GROUP, useExisting: CdkDropListGroup }], exportAs: ["cdkDropListGroup"], ngImport: i0 }); }
3364
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CdkDropListGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3365
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.0", type: CdkDropListGroup, isStandalone: true, selector: "[cdkDropListGroup]", inputs: { disabled: ["cdkDropListGroupDisabled", "disabled", booleanAttribute] }, providers: [{ provide: CDK_DROP_LIST_GROUP, useExisting: CdkDropListGroup }], exportAs: ["cdkDropListGroup"], ngImport: i0 }); }
3361
3366
  }
3362
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: CdkDropListGroup, decorators: [{
3367
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CdkDropListGroup, decorators: [{
3363
3368
  type: Directive,
3364
3369
  args: [{
3365
3370
  selector: '[cdkDropListGroup]',
@@ -3605,14 +3610,14 @@ class CdkDropList {
3605
3610
  _syncItemsWithRef() {
3606
3611
  this._dropListRef.withItems(this.getSortedItems().map(item => item._dragRef));
3607
3612
  }
3608
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: CdkDropList, deps: [{ token: i0.ElementRef }, { token: DragDrop }, { token: i0.ChangeDetectorRef }, { token: i1.ScrollDispatcher }, { token: i1$1.Directionality, optional: true }, { token: CDK_DROP_LIST_GROUP, optional: true, skipSelf: true }, { token: CDK_DRAG_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3609
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.0-rc.2", type: CdkDropList, isStandalone: true, selector: "[cdkDropList], cdk-drop-list", inputs: { connectedTo: ["cdkDropListConnectedTo", "connectedTo"], data: ["cdkDropListData", "data"], orientation: ["cdkDropListOrientation", "orientation"], id: "id", lockAxis: ["cdkDropListLockAxis", "lockAxis"], disabled: ["cdkDropListDisabled", "disabled", booleanAttribute], sortingDisabled: ["cdkDropListSortingDisabled", "sortingDisabled", booleanAttribute], enterPredicate: ["cdkDropListEnterPredicate", "enterPredicate"], sortPredicate: ["cdkDropListSortPredicate", "sortPredicate"], autoScrollDisabled: ["cdkDropListAutoScrollDisabled", "autoScrollDisabled", booleanAttribute], autoScrollStep: ["cdkDropListAutoScrollStep", "autoScrollStep"] }, outputs: { dropped: "cdkDropListDropped", entered: "cdkDropListEntered", exited: "cdkDropListExited", sorted: "cdkDropListSorted" }, host: { properties: { "attr.id": "id", "class.cdk-drop-list-disabled": "disabled", "class.cdk-drop-list-dragging": "_dropListRef.isDragging()", "class.cdk-drop-list-receiving": "_dropListRef.isReceiving()" }, classAttribute: "cdk-drop-list" }, providers: [
3613
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CdkDropList, deps: [{ token: i0.ElementRef }, { token: DragDrop }, { token: i0.ChangeDetectorRef }, { token: i1.ScrollDispatcher }, { token: i1$1.Directionality, optional: true }, { token: CDK_DROP_LIST_GROUP, optional: true, skipSelf: true }, { token: CDK_DRAG_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
3614
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.0", type: CdkDropList, isStandalone: true, selector: "[cdkDropList], cdk-drop-list", inputs: { connectedTo: ["cdkDropListConnectedTo", "connectedTo"], data: ["cdkDropListData", "data"], orientation: ["cdkDropListOrientation", "orientation"], id: "id", lockAxis: ["cdkDropListLockAxis", "lockAxis"], disabled: ["cdkDropListDisabled", "disabled", booleanAttribute], sortingDisabled: ["cdkDropListSortingDisabled", "sortingDisabled", booleanAttribute], enterPredicate: ["cdkDropListEnterPredicate", "enterPredicate"], sortPredicate: ["cdkDropListSortPredicate", "sortPredicate"], autoScrollDisabled: ["cdkDropListAutoScrollDisabled", "autoScrollDisabled", booleanAttribute], autoScrollStep: ["cdkDropListAutoScrollStep", "autoScrollStep"] }, outputs: { dropped: "cdkDropListDropped", entered: "cdkDropListEntered", exited: "cdkDropListExited", sorted: "cdkDropListSorted" }, host: { properties: { "attr.id": "id", "class.cdk-drop-list-disabled": "disabled", "class.cdk-drop-list-dragging": "_dropListRef.isDragging()", "class.cdk-drop-list-receiving": "_dropListRef.isReceiving()" }, classAttribute: "cdk-drop-list" }, providers: [
3610
3615
  // Prevent child drop lists from picking up the same group as their parent.
3611
3616
  { provide: CDK_DROP_LIST_GROUP, useValue: undefined },
3612
3617
  { provide: CDK_DROP_LIST, useExisting: CdkDropList },
3613
3618
  ], exportAs: ["cdkDropList"], ngImport: i0 }); }
3614
3619
  }
3615
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: CdkDropList, decorators: [{
3620
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CdkDropList, decorators: [{
3616
3621
  type: Directive,
3617
3622
  args: [{
3618
3623
  selector: '[cdkDropList], cdk-drop-list',
@@ -3712,10 +3717,10 @@ class CdkDragPreview {
3712
3717
  ngOnDestroy() {
3713
3718
  this._drag?._resetPreviewTemplate(this);
3714
3719
  }
3715
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: CdkDragPreview, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
3716
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.0-rc.2", type: CdkDragPreview, isStandalone: true, selector: "ng-template[cdkDragPreview]", inputs: { data: "data", matchSize: ["matchSize", "matchSize", booleanAttribute] }, providers: [{ provide: CDK_DRAG_PREVIEW, useExisting: CdkDragPreview }], ngImport: i0 }); }
3720
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CdkDragPreview, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
3721
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.0", type: CdkDragPreview, isStandalone: true, selector: "ng-template[cdkDragPreview]", inputs: { data: "data", matchSize: ["matchSize", "matchSize", booleanAttribute] }, providers: [{ provide: CDK_DRAG_PREVIEW, useExisting: CdkDragPreview }], ngImport: i0 }); }
3717
3722
  }
3718
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: CdkDragPreview, decorators: [{
3723
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CdkDragPreview, decorators: [{
3719
3724
  type: Directive,
3720
3725
  args: [{
3721
3726
  selector: 'ng-template[cdkDragPreview]',
@@ -3748,10 +3753,10 @@ class CdkDragPlaceholder {
3748
3753
  ngOnDestroy() {
3749
3754
  this._drag?._resetPlaceholderTemplate(this);
3750
3755
  }
3751
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: CdkDragPlaceholder, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
3752
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: CdkDragPlaceholder, isStandalone: true, selector: "ng-template[cdkDragPlaceholder]", inputs: { data: "data" }, providers: [{ provide: CDK_DRAG_PLACEHOLDER, useExisting: CdkDragPlaceholder }], ngImport: i0 }); }
3756
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CdkDragPlaceholder, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
3757
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0", type: CdkDragPlaceholder, isStandalone: true, selector: "ng-template[cdkDragPlaceholder]", inputs: { data: "data" }, providers: [{ provide: CDK_DRAG_PLACEHOLDER, useExisting: CdkDragPlaceholder }], ngImport: i0 }); }
3753
3758
  }
3754
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: CdkDragPlaceholder, decorators: [{
3759
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CdkDragPlaceholder, decorators: [{
3755
3760
  type: Directive,
3756
3761
  args: [{
3757
3762
  selector: 'ng-template[cdkDragPlaceholder]',
@@ -3771,8 +3776,8 @@ const DRAG_DROP_DIRECTIVES = [
3771
3776
  CdkDragPlaceholder,
3772
3777
  ];
3773
3778
  class DragDropModule {
3774
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: DragDropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3775
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-rc.2", ngImport: i0, type: DragDropModule, imports: [CdkDropList,
3779
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DragDropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3780
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: DragDropModule, imports: [CdkDropList,
3776
3781
  CdkDropListGroup,
3777
3782
  CdkDrag,
3778
3783
  CdkDragHandle,
@@ -3783,9 +3788,9 @@ class DragDropModule {
3783
3788
  CdkDragHandle,
3784
3789
  CdkDragPreview,
3785
3790
  CdkDragPlaceholder] }); }
3786
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: DragDropModule, providers: [DragDrop], imports: [CdkScrollableModule] }); }
3791
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DragDropModule, providers: [DragDrop], imports: [CdkScrollableModule] }); }
3787
3792
  }
3788
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: DragDropModule, decorators: [{
3793
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DragDropModule, decorators: [{
3789
3794
  type: NgModule,
3790
3795
  args: [{
3791
3796
  imports: DRAG_DROP_DIRECTIVES,