@angular/cdk 17.1.0-next.3 → 17.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/LICENSE +1 -1
  2. package/dialog/index.d.ts +5 -0
  3. package/drag-drop/index.d.ts +5 -5
  4. package/esm2022/a11y/a11y-module.mjs +4 -4
  5. package/esm2022/a11y/aria-describer/aria-describer.mjs +3 -3
  6. package/esm2022/a11y/aria-describer/aria-reference.mjs +8 -5
  7. package/esm2022/a11y/focus-monitor/focus-monitor.mjs +6 -6
  8. package/esm2022/a11y/focus-trap/configurable-focus-trap-factory.mjs +3 -3
  9. package/esm2022/a11y/focus-trap/focus-trap-manager.mjs +3 -3
  10. package/esm2022/a11y/focus-trap/focus-trap.mjs +22 -17
  11. package/esm2022/a11y/high-contrast-mode/high-contrast-mode-detector.mjs +3 -3
  12. package/esm2022/a11y/input-modality/input-modality-detector.mjs +3 -3
  13. package/esm2022/a11y/interactivity-checker/interactivity-checker.mjs +3 -3
  14. package/esm2022/a11y/live-announcer/live-announcer.mjs +6 -6
  15. package/esm2022/accordion/accordion-item.mjs +3 -3
  16. package/esm2022/accordion/accordion-module.mjs +4 -4
  17. package/esm2022/accordion/accordion.mjs +3 -3
  18. package/esm2022/bidi/bidi-module.mjs +4 -4
  19. package/esm2022/bidi/dir.mjs +3 -3
  20. package/esm2022/bidi/directionality.mjs +3 -3
  21. package/esm2022/clipboard/clipboard-module.mjs +4 -4
  22. package/esm2022/clipboard/clipboard.mjs +3 -3
  23. package/esm2022/clipboard/copy-to-clipboard.mjs +3 -3
  24. package/esm2022/collections/selection-model.mjs +5 -4
  25. package/esm2022/collections/unique-selection-dispatcher.mjs +3 -3
  26. package/esm2022/dialog/dialog-container.mjs +29 -12
  27. package/esm2022/dialog/dialog-module.mjs +4 -4
  28. package/esm2022/dialog/dialog.mjs +3 -3
  29. package/esm2022/drag-drop/directives/drag-handle.mjs +3 -3
  30. package/esm2022/drag-drop/directives/drag-placeholder.mjs +3 -3
  31. package/esm2022/drag-drop/directives/drag-preview.mjs +3 -3
  32. package/esm2022/drag-drop/directives/drag.mjs +4 -4
  33. package/esm2022/drag-drop/directives/drop-list-group.mjs +3 -3
  34. package/esm2022/drag-drop/directives/drop-list.mjs +3 -3
  35. package/esm2022/drag-drop/dom/dom-rect.mjs +64 -0
  36. package/esm2022/drag-drop/dom/parent-position-tracker.mjs +3 -3
  37. package/esm2022/drag-drop/drag-drop-module.mjs +4 -4
  38. package/esm2022/drag-drop/drag-drop-registry.mjs +3 -3
  39. package/esm2022/drag-drop/drag-drop.mjs +3 -3
  40. package/esm2022/drag-drop/drag-ref.mjs +13 -13
  41. package/esm2022/drag-drop/drop-list-ref.mjs +34 -20
  42. package/esm2022/drag-drop/sorting/single-axis-sort-strategy.mjs +5 -5
  43. package/esm2022/layout/breakpoints-observer.mjs +3 -3
  44. package/esm2022/layout/layout-module.mjs +4 -4
  45. package/esm2022/layout/media-matcher.mjs +3 -3
  46. package/esm2022/listbox/listbox-module.mjs +4 -4
  47. package/esm2022/listbox/listbox.mjs +6 -6
  48. package/esm2022/menu/context-menu-trigger.mjs +6 -6
  49. package/esm2022/menu/menu-aim.mjs +6 -6
  50. package/esm2022/menu/menu-bar.mjs +3 -3
  51. package/esm2022/menu/menu-base.mjs +3 -3
  52. package/esm2022/menu/menu-group.mjs +3 -3
  53. package/esm2022/menu/menu-item-checkbox.mjs +3 -3
  54. package/esm2022/menu/menu-item-radio.mjs +3 -3
  55. package/esm2022/menu/menu-item-selectable.mjs +3 -3
  56. package/esm2022/menu/menu-item.mjs +3 -3
  57. package/esm2022/menu/menu-module.mjs +4 -4
  58. package/esm2022/menu/menu-stack.mjs +3 -3
  59. package/esm2022/menu/menu-trigger-base.mjs +3 -3
  60. package/esm2022/menu/menu-trigger.mjs +3 -3
  61. package/esm2022/menu/menu.mjs +3 -3
  62. package/esm2022/observers/observe-content.mjs +13 -13
  63. package/esm2022/observers/private/shared-resize-observer.mjs +3 -3
  64. package/esm2022/overlay/dispatchers/base-overlay-dispatcher.mjs +3 -3
  65. package/esm2022/overlay/dispatchers/overlay-keyboard-dispatcher.mjs +3 -3
  66. package/esm2022/overlay/dispatchers/overlay-outside-click-dispatcher.mjs +3 -3
  67. package/esm2022/overlay/fullscreen-overlay-container.mjs +3 -3
  68. package/esm2022/overlay/overlay-container.mjs +3 -3
  69. package/esm2022/overlay/overlay-directives.mjs +6 -6
  70. package/esm2022/overlay/overlay-module.mjs +4 -4
  71. package/esm2022/overlay/overlay.mjs +3 -3
  72. package/esm2022/overlay/position/flexible-connected-position-strategy.mjs +5 -5
  73. package/esm2022/overlay/position/overlay-position-builder.mjs +3 -3
  74. package/esm2022/overlay/position/scroll-clip.mjs +1 -1
  75. package/esm2022/overlay/scroll/scroll-strategy-options.mjs +3 -3
  76. package/esm2022/platform/platform-module.mjs +4 -4
  77. package/esm2022/platform/platform.mjs +3 -3
  78. package/esm2022/portal/portal-directives.mjs +16 -16
  79. package/esm2022/scrolling/fixed-size-virtual-scroll.mjs +3 -3
  80. package/esm2022/scrolling/scroll-dispatcher.mjs +3 -3
  81. package/esm2022/scrolling/scrollable.mjs +3 -3
  82. package/esm2022/scrolling/scrolling-module.mjs +8 -8
  83. package/esm2022/scrolling/viewport-ruler.mjs +5 -5
  84. package/esm2022/scrolling/virtual-for-of.mjs +3 -3
  85. package/esm2022/scrolling/virtual-scroll-viewport.mjs +3 -3
  86. package/esm2022/scrolling/virtual-scrollable-element.mjs +3 -3
  87. package/esm2022/scrolling/virtual-scrollable-window.mjs +3 -3
  88. package/esm2022/scrolling/virtual-scrollable.mjs +4 -4
  89. package/esm2022/stepper/step-header.mjs +3 -3
  90. package/esm2022/stepper/step-label.mjs +3 -3
  91. package/esm2022/stepper/stepper-button.mjs +6 -6
  92. package/esm2022/stepper/stepper-module.mjs +4 -4
  93. package/esm2022/stepper/stepper.mjs +6 -6
  94. package/esm2022/table/cell.mjs +26 -28
  95. package/esm2022/table/coalesced-style-scheduler.mjs +3 -3
  96. package/esm2022/table/row.mjs +27 -27
  97. package/esm2022/table/sticky-styler.mjs +32 -32
  98. package/esm2022/table/table-module.mjs +4 -4
  99. package/esm2022/table/table.mjs +175 -114
  100. package/esm2022/table/text-column.mjs +3 -3
  101. package/esm2022/text-field/autofill.mjs +6 -6
  102. package/esm2022/text-field/autosize.mjs +3 -3
  103. package/esm2022/text-field/text-field-module.mjs +4 -4
  104. package/esm2022/tree/nested-node.mjs +3 -3
  105. package/esm2022/tree/node.mjs +3 -3
  106. package/esm2022/tree/outlet.mjs +3 -3
  107. package/esm2022/tree/padding.mjs +3 -3
  108. package/esm2022/tree/toggle.mjs +3 -3
  109. package/esm2022/tree/tree-module.mjs +4 -4
  110. package/esm2022/tree/tree.mjs +6 -6
  111. package/esm2022/version.mjs +1 -1
  112. package/fesm2022/a11y.mjs +61 -53
  113. package/fesm2022/a11y.mjs.map +1 -1
  114. package/fesm2022/accordion.mjs +10 -10
  115. package/fesm2022/bidi.mjs +10 -10
  116. package/fesm2022/cdk.mjs +1 -1
  117. package/fesm2022/cdk.mjs.map +1 -1
  118. package/fesm2022/clipboard.mjs +10 -10
  119. package/fesm2022/collections.mjs +7 -6
  120. package/fesm2022/collections.mjs.map +1 -1
  121. package/fesm2022/dialog.mjs +35 -18
  122. package/fesm2022/dialog.mjs.map +1 -1
  123. package/fesm2022/drag-drop.mjs +99 -85
  124. package/fesm2022/drag-drop.mjs.map +1 -1
  125. package/fesm2022/layout.mjs +10 -10
  126. package/fesm2022/listbox.mjs +10 -10
  127. package/fesm2022/menu.mjs +49 -49
  128. package/fesm2022/observers/private.mjs +3 -3
  129. package/fesm2022/observers.mjs +13 -13
  130. package/fesm2022/overlay.mjs +38 -38
  131. package/fesm2022/overlay.mjs.map +1 -1
  132. package/fesm2022/platform.mjs +7 -7
  133. package/fesm2022/portal.mjs +16 -16
  134. package/fesm2022/scrolling.mjs +36 -36
  135. package/fesm2022/scrolling.mjs.map +1 -1
  136. package/fesm2022/stepper.mjs +22 -22
  137. package/fesm2022/table.mjs +267 -208
  138. package/fesm2022/table.mjs.map +1 -1
  139. package/fesm2022/text-field.mjs +13 -13
  140. package/fesm2022/tree.mjs +25 -25
  141. package/overlay/index.d.ts +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
  145. package/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +3 -3
  146. package/scrolling/index.d.ts +2 -2
  147. package/table/index.d.ts +13 -4
  148. package/esm2022/drag-drop/dom/client-rect.mjs +0 -64
@@ -101,27 +101,27 @@ function parseCssPropertyValue(computedStyle, name) {
101
101
  return value.split(',').map(part => part.trim());
102
102
  }
103
103
 
104
- /** Gets a mutable version of an element's bounding `ClientRect`. */
104
+ /** Gets a mutable version of an element's bounding `DOMRect`. */
105
105
  function getMutableClientRect(element) {
106
- const clientRect = element.getBoundingClientRect();
106
+ const rect = element.getBoundingClientRect();
107
107
  // We need to clone the `clientRect` here, because all the values on it are readonly
108
108
  // and we need to be able to update them. Also we can't use a spread here, because
109
- // the values on a `ClientRect` aren't own properties. See:
109
+ // the values on a `DOMRect` aren't own properties. See:
110
110
  // https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect#Notes
111
111
  return {
112
- top: clientRect.top,
113
- right: clientRect.right,
114
- bottom: clientRect.bottom,
115
- left: clientRect.left,
116
- width: clientRect.width,
117
- height: clientRect.height,
118
- x: clientRect.x,
119
- y: clientRect.y,
112
+ top: rect.top,
113
+ right: rect.right,
114
+ bottom: rect.bottom,
115
+ left: rect.left,
116
+ width: rect.width,
117
+ height: rect.height,
118
+ x: rect.x,
119
+ y: rect.y,
120
120
  };
121
121
  }
122
122
  /**
123
- * Checks whether some coordinates are within a `ClientRect`.
124
- * @param clientRect ClientRect that is being checked.
123
+ * Checks whether some coordinates are within a `DOMRect`.
124
+ * @param clientRect DOMRect that is being checked.
125
125
  * @param x Coordinates along the X axis.
126
126
  * @param y Coordinates along the Y axis.
127
127
  */
@@ -130,25 +130,25 @@ function isInsideClientRect(clientRect, x, y) {
130
130
  return y >= top && y <= bottom && x >= left && x <= right;
131
131
  }
132
132
  /**
133
- * Updates the top/left positions of a `ClientRect`, as well as their bottom/right counterparts.
134
- * @param clientRect `ClientRect` that should be updated.
133
+ * Updates the top/left positions of a `DOMRect`, as well as their bottom/right counterparts.
134
+ * @param domRect `DOMRect` that should be updated.
135
135
  * @param top Amount to add to the `top` position.
136
136
  * @param left Amount to add to the `left` position.
137
137
  */
138
- function adjustClientRect(clientRect, top, left) {
139
- clientRect.top += top;
140
- clientRect.bottom = clientRect.top + clientRect.height;
141
- clientRect.left += left;
142
- clientRect.right = clientRect.left + clientRect.width;
138
+ function adjustDomRect(domRect, top, left) {
139
+ domRect.top += top;
140
+ domRect.bottom = domRect.top + domRect.height;
141
+ domRect.left += left;
142
+ domRect.right = domRect.left + domRect.width;
143
143
  }
144
144
  /**
145
- * Checks whether the pointer coordinates are close to a ClientRect.
146
- * @param rect ClientRect to check against.
147
- * @param threshold Threshold around the ClientRect.
145
+ * Checks whether the pointer coordinates are close to a DOMRect.
146
+ * @param rect DOMRect to check against.
147
+ * @param threshold Threshold around the DOMRect.
148
148
  * @param pointerX Coordinates along the X axis.
149
149
  * @param pointerY Coordinates along the Y axis.
150
150
  */
151
- function isPointerNearClientRect(rect, threshold, pointerX, pointerY) {
151
+ function isPointerNearDomRect(rect, threshold, pointerX, pointerY) {
152
152
  const { top, right, bottom, left, width, height } = rect;
153
153
  const xThreshold = width * threshold;
154
154
  const yThreshold = height * threshold;
@@ -207,7 +207,7 @@ class ParentPositionTracker {
207
207
  // parents that are inside the element that was scrolled.
208
208
  this.positions.forEach((position, node) => {
209
209
  if (position.clientRect && target !== node && target.contains(node)) {
210
- adjustClientRect(position.clientRect, topDifference, leftDifference);
210
+ adjustDomRect(position.clientRect, topDifference, leftDifference);
211
211
  }
212
212
  });
213
213
  scrollPosition.top = newTop;
@@ -438,7 +438,7 @@ class DragRef {
438
438
  else {
439
439
  // If there's a position constraint function, we want the element's top/left to be at the
440
440
  // specific position on the page. Use the initial position as a reference if that's the case.
441
- const offset = this.constrainPosition ? this._initialClientRect : this._pickupPositionOnPage;
441
+ const offset = this.constrainPosition ? this._initialDomRect : this._pickupPositionOnPage;
442
442
  const activeTransform = this._activeTransform;
443
443
  activeTransform.x = constrainedPointerPosition.x - offset.x + this._passiveTransform.x;
444
444
  activeTransform.y = constrainedPointerPosition.y - offset.y + this._passiveTransform.y;
@@ -844,7 +844,7 @@ class DragRef {
844
844
  // Avoid multiple subscriptions and memory leaks when multi touch
845
845
  // (isDragging check above isn't enough because of possible temporal and/or dimensional delays)
846
846
  this._removeSubscriptions();
847
- this._initialClientRect = this._rootElement.getBoundingClientRect();
847
+ this._initialDomRect = this._rootElement.getBoundingClientRect();
848
848
  this._pointerMoveSubscription = this._dragDropRegistry.pointerMove.subscribe(this._pointerMove);
849
849
  this._pointerUpSubscription = this._dragDropRegistry.pointerUp.subscribe(this._pointerUp);
850
850
  this._scrollSubscription = this._dragDropRegistry
@@ -860,7 +860,7 @@ class DragRef {
860
860
  this._pickupPositionInElement =
861
861
  previewTemplate && previewTemplate.template && !previewTemplate.matchSize
862
862
  ? { x: 0, y: 0 }
863
- : this._getPointerPositionInElement(this._initialClientRect, referenceElement, event);
863
+ : this._getPointerPositionInElement(this._initialDomRect, referenceElement, event);
864
864
  const pointerPosition = (this._pickupPositionOnPage =
865
865
  this._lastKnownPointerPosition =
866
866
  this._getPointerPositionOnPage(event));
@@ -879,7 +879,7 @@ class DragRef {
879
879
  this._anchor.parentNode.replaceChild(this._rootElement, this._anchor);
880
880
  this._destroyPreview();
881
881
  this._destroyPlaceholder();
882
- this._initialClientRect =
882
+ this._initialDomRect =
883
883
  this._boundaryRect =
884
884
  this._previewRect =
885
885
  this._initialTransform =
@@ -967,7 +967,7 @@ class DragRef {
967
967
  if (previewTemplate && previewConfig) {
968
968
  // Measure the element before we've inserted the preview
969
969
  // since the insertion could throw off the measurement.
970
- const rootRect = previewConfig.matchSize ? this._initialClientRect : null;
970
+ const rootRect = previewConfig.matchSize ? this._initialDomRect : null;
971
971
  const viewRef = previewConfig.viewContainer.createEmbeddedView(previewTemplate, previewConfig.context);
972
972
  viewRef.detectChanges();
973
973
  preview = getRootNode(viewRef, this._document);
@@ -981,7 +981,7 @@ class DragRef {
981
981
  }
982
982
  else {
983
983
  preview = deepCloneNode(this._rootElement);
984
- matchElementSize(preview, this._initialClientRect);
984
+ matchElementSize(preview, this._initialDomRect);
985
985
  if (this._initialTransform) {
986
986
  preview.style.transform = this._initialTransform;
987
987
  }
@@ -1118,7 +1118,7 @@ class DragRef {
1118
1118
  _getConstrainedPointerPosition(point) {
1119
1119
  const dropContainerLock = this._dropContainer ? this._dropContainer.lockAxis : null;
1120
1120
  let { x, y } = this.constrainPosition
1121
- ? this.constrainPosition(point, this, this._initialClientRect, this._pickupPositionInElement)
1121
+ ? this.constrainPosition(point, this, this._initialDomRect, this._pickupPositionInElement)
1122
1122
  : point;
1123
1123
  if (this.lockAxis === 'x' || dropContainerLock === 'x') {
1124
1124
  y =
@@ -1302,12 +1302,12 @@ class DragRef {
1302
1302
  const scrollDifference = this._parentPositions.handleScroll(event);
1303
1303
  if (scrollDifference) {
1304
1304
  const target = _getEventTarget(event);
1305
- // ClientRect dimensions are based on the scroll position of the page and its parent
1306
- // node so we have to update the cached boundary ClientRect if the user has scrolled.
1305
+ // DOMRect dimensions are based on the scroll position of the page and its parent
1306
+ // node so we have to update the cached boundary DOMRect if the user has scrolled.
1307
1307
  if (this._boundaryRect &&
1308
1308
  target !== this._boundaryElement &&
1309
1309
  target.contains(this._boundaryElement)) {
1310
- adjustClientRect(this._boundaryRect, scrollDifference.top, scrollDifference.left);
1310
+ adjustDomRect(this._boundaryRect, scrollDifference.top, scrollDifference.left);
1311
1311
  }
1312
1312
  this._pickupPositionOnPage.x += scrollDifference.left;
1313
1313
  this._pickupPositionOnPage.y += scrollDifference.top;
@@ -1364,7 +1364,7 @@ class DragRef {
1364
1364
  if (!this._previewRect || (!this._previewRect.width && !this._previewRect.height)) {
1365
1365
  this._previewRect = this._preview
1366
1366
  ? this._preview.getBoundingClientRect()
1367
- : this._initialClientRect;
1367
+ : this._initialDomRect;
1368
1368
  }
1369
1369
  return this._previewRect;
1370
1370
  }
@@ -1552,11 +1552,11 @@ class SingleAxisSortStrategy {
1552
1552
  // Round the transforms since some browsers will
1553
1553
  // blur the elements, for sub-pixel transforms.
1554
1554
  elementToOffset.style.transform = combineTransforms(`translate3d(${Math.round(sibling.offset)}px, 0, 0)`, sibling.initialTransform);
1555
- adjustClientRect(sibling.clientRect, 0, offset);
1555
+ adjustDomRect(sibling.clientRect, 0, offset);
1556
1556
  }
1557
1557
  else {
1558
1558
  elementToOffset.style.transform = combineTransforms(`translate3d(0, ${Math.round(sibling.offset)}px, 0)`, sibling.initialTransform);
1559
- adjustClientRect(sibling.clientRect, offset, 0);
1559
+ adjustDomRect(sibling.clientRect, offset, 0);
1560
1560
  }
1561
1561
  });
1562
1562
  // Note that it's important that we do this after the client rects have been adjusted.
@@ -1668,7 +1668,7 @@ class SingleAxisSortStrategy {
1668
1668
  // we can avoid inconsistent behavior where we might be measuring the element before
1669
1669
  // its position has changed.
1670
1670
  this._itemPositions.forEach(({ clientRect }) => {
1671
- adjustClientRect(clientRect, topDifference, leftDifference);
1671
+ adjustDomRect(clientRect, topDifference, leftDifference);
1672
1672
  });
1673
1673
  // We need two loops for this, because we want all of the cached
1674
1674
  // positions to be up-to-date before we re-sort the item.
@@ -2091,8 +2091,8 @@ class DropListRef {
2091
2091
  _sortItem(item, pointerX, pointerY, pointerDelta) {
2092
2092
  // Don't sort the item if sorting is disabled or it's out of range.
2093
2093
  if (this.sortingDisabled ||
2094
- !this._clientRect ||
2095
- !isPointerNearClientRect(this._clientRect, DROP_PROXIMITY_THRESHOLD, pointerX, pointerY)) {
2094
+ !this._domRect ||
2095
+ !isPointerNearDomRect(this._domRect, DROP_PROXIMITY_THRESHOLD, pointerX, pointerY)) {
2096
2096
  return;
2097
2097
  }
2098
2098
  const result = this._sortStrategy.sort(item, pointerX, pointerY, pointerDelta);
@@ -2125,8 +2125,8 @@ class DropListRef {
2125
2125
  if (element === this._document || !position.clientRect || scrollNode) {
2126
2126
  return;
2127
2127
  }
2128
- if (isPointerNearClientRect(position.clientRect, DROP_PROXIMITY_THRESHOLD, pointerX, pointerY)) {
2129
- [verticalScrollDirection, horizontalScrollDirection] = getElementScrollDirections(element, position.clientRect, pointerX, pointerY);
2128
+ if (isPointerNearDomRect(position.clientRect, DROP_PROXIMITY_THRESHOLD, pointerX, pointerY)) {
2129
+ [verticalScrollDirection, horizontalScrollDirection] = getElementScrollDirections(element, position.clientRect, this._sortStrategy.direction, pointerX, pointerY);
2130
2130
  if (verticalScrollDirection || horizontalScrollDirection) {
2131
2131
  scrollNode = element;
2132
2132
  }
@@ -2135,7 +2135,7 @@ class DropListRef {
2135
2135
  // Otherwise check if we can start scrolling the viewport.
2136
2136
  if (!verticalScrollDirection && !horizontalScrollDirection) {
2137
2137
  const { width, height } = this._viewportRuler.getViewportSize();
2138
- const clientRect = {
2138
+ const domRect = {
2139
2139
  width,
2140
2140
  height,
2141
2141
  top: 0,
@@ -2143,8 +2143,8 @@ class DropListRef {
2143
2143
  bottom: height,
2144
2144
  left: 0,
2145
2145
  };
2146
- verticalScrollDirection = getVerticalScrollDirection(clientRect, pointerY);
2147
- horizontalScrollDirection = getHorizontalScrollDirection(clientRect, pointerX);
2146
+ verticalScrollDirection = getVerticalScrollDirection(domRect, pointerY);
2147
+ horizontalScrollDirection = getHorizontalScrollDirection(domRect, pointerX);
2148
2148
  scrollNode = window;
2149
2149
  }
2150
2150
  if (scrollNode &&
@@ -2186,8 +2186,8 @@ class DropListRef {
2186
2186
  const element = coerceElement(this.element);
2187
2187
  this._parentPositions.cache(this._scrollableElements);
2188
2188
  // The list element is always in the `scrollableElements`
2189
- // so we can take advantage of the cached `ClientRect`.
2190
- this._clientRect = this._parentPositions.positions.get(element).clientRect;
2189
+ // so we can take advantage of the cached `DOMRect`.
2190
+ this._domRect = this._parentPositions.positions.get(element).clientRect;
2191
2191
  }
2192
2192
  /** Resets the container to its initial state. */
2193
2193
  _reset() {
@@ -2206,7 +2206,7 @@ class DropListRef {
2206
2206
  * @param y Pointer position along the Y axis.
2207
2207
  */
2208
2208
  _isOverContainer(x, y) {
2209
- return this._clientRect != null && isInsideClientRect(this._clientRect, x, y);
2209
+ return this._domRect != null && isInsideClientRect(this._domRect, x, y);
2210
2210
  }
2211
2211
  /**
2212
2212
  * Figures out whether an item should be moved into a sibling
@@ -2225,8 +2225,8 @@ class DropListRef {
2225
2225
  * @param y Position of the item along the Y axis.
2226
2226
  */
2227
2227
  _canReceive(item, x, y) {
2228
- if (!this._clientRect ||
2229
- !isInsideClientRect(this._clientRect, x, y) ||
2228
+ if (!this._domRect ||
2229
+ !isInsideClientRect(this._domRect, x, y) ||
2230
2230
  !this.enterPredicate(item, this)) {
2231
2231
  return false;
2232
2232
  }
@@ -2237,7 +2237,7 @@ class DropListRef {
2237
2237
  return false;
2238
2238
  }
2239
2239
  const nativeElement = coerceElement(this.element);
2240
- // The `ClientRect`, that we're using to find the container over which the user is
2240
+ // The `DOMRect`, that we're using to find the container over which the user is
2241
2241
  // hovering, doesn't give us any information on whether the element has been scrolled
2242
2242
  // out of the view or whether it's overlapping with other containers. This means that
2243
2243
  // we could end up transferring the item into a container that's invisible or is positioned
@@ -2355,10 +2355,11 @@ function getHorizontalScrollDirection(clientRect, pointerX) {
2355
2355
  * assuming that the user's pointer is already within it scrollable region.
2356
2356
  * @param element Element for which we should calculate the scroll direction.
2357
2357
  * @param clientRect Bounding client rectangle of the element.
2358
+ * @param direction Layout direction of the drop list.
2358
2359
  * @param pointerX Position of the user's pointer along the x axis.
2359
2360
  * @param pointerY Position of the user's pointer along the y axis.
2360
2361
  */
2361
- function getElementScrollDirections(element, clientRect, pointerX, pointerY) {
2362
+ function getElementScrollDirections(element, clientRect, direction, pointerX, pointerY) {
2362
2363
  const computedVertical = getVerticalScrollDirection(clientRect, pointerY);
2363
2364
  const computedHorizontal = getHorizontalScrollDirection(clientRect, pointerX);
2364
2365
  let verticalScrollDirection = AutoScrollVerticalDirection.NONE;
@@ -2380,13 +2381,26 @@ function getElementScrollDirections(element, clientRect, pointerX, pointerY) {
2380
2381
  }
2381
2382
  if (computedHorizontal) {
2382
2383
  const scrollLeft = element.scrollLeft;
2383
- if (computedHorizontal === AutoScrollHorizontalDirection.LEFT) {
2384
- if (scrollLeft > 0) {
2384
+ if (direction === 'rtl') {
2385
+ if (computedHorizontal === AutoScrollHorizontalDirection.RIGHT) {
2386
+ // In RTL `scrollLeft` will be negative when scrolled.
2387
+ if (scrollLeft < 0) {
2388
+ horizontalScrollDirection = AutoScrollHorizontalDirection.RIGHT;
2389
+ }
2390
+ }
2391
+ else if (element.scrollWidth + scrollLeft > element.clientWidth) {
2385
2392
  horizontalScrollDirection = AutoScrollHorizontalDirection.LEFT;
2386
2393
  }
2387
2394
  }
2388
- else if (element.scrollWidth - scrollLeft > element.clientWidth) {
2389
- horizontalScrollDirection = AutoScrollHorizontalDirection.RIGHT;
2395
+ else {
2396
+ if (computedHorizontal === AutoScrollHorizontalDirection.LEFT) {
2397
+ if (scrollLeft > 0) {
2398
+ horizontalScrollDirection = AutoScrollHorizontalDirection.LEFT;
2399
+ }
2400
+ }
2401
+ else if (element.scrollWidth - scrollLeft > element.clientWidth) {
2402
+ horizontalScrollDirection = AutoScrollHorizontalDirection.RIGHT;
2403
+ }
2390
2404
  }
2391
2405
  }
2392
2406
  return [verticalScrollDirection, horizontalScrollDirection];
@@ -2600,10 +2614,10 @@ class DragDropRegistry {
2600
2614
  });
2601
2615
  this._globalListeners.clear();
2602
2616
  }
2603
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: DragDropRegistry, deps: [{ token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
2604
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: DragDropRegistry, providedIn: 'root' }); }
2617
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-next.5", ngImport: i0, type: DragDropRegistry, deps: [{ token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
2618
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0-next.5", ngImport: i0, type: DragDropRegistry, providedIn: 'root' }); }
2605
2619
  }
2606
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: DragDropRegistry, decorators: [{
2620
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-next.5", ngImport: i0, type: DragDropRegistry, decorators: [{
2607
2621
  type: Injectable,
2608
2622
  args: [{ providedIn: 'root' }]
2609
2623
  }], ctorParameters: () => [{ type: i0.NgZone }, { type: undefined, decorators: [{
@@ -2641,10 +2655,10 @@ class DragDrop {
2641
2655
  createDropList(element) {
2642
2656
  return new DropListRef(element, this._dragDropRegistry, this._document, this._ngZone, this._viewportRuler);
2643
2657
  }
2644
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: DragDrop, deps: [{ token: DOCUMENT }, { token: i0.NgZone }, { token: i1.ViewportRuler }, { token: DragDropRegistry }], target: i0.ɵɵFactoryTarget.Injectable }); }
2645
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: DragDrop, providedIn: 'root' }); }
2658
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-next.5", ngImport: i0, type: DragDrop, deps: [{ token: DOCUMENT }, { token: i0.NgZone }, { token: i1.ViewportRuler }, { token: DragDropRegistry }], target: i0.ɵɵFactoryTarget.Injectable }); }
2659
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0-next.5", ngImport: i0, type: DragDrop, providedIn: 'root' }); }
2646
2660
  }
2647
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: DragDrop, decorators: [{
2661
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-next.5", ngImport: i0, type: DragDrop, decorators: [{
2648
2662
  type: Injectable,
2649
2663
  args: [{ providedIn: 'root' }]
2650
2664
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -2700,10 +2714,10 @@ class CdkDragHandle {
2700
2714
  ngOnDestroy() {
2701
2715
  this._stateChanges.complete();
2702
2716
  }
2703
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: CdkDragHandle, deps: [{ token: i0.ElementRef }, { token: CDK_DRAG_PARENT, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
2704
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.1.0-next.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 }); }
2717
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-next.5", ngImport: i0, type: CdkDragHandle, deps: [{ token: i0.ElementRef }, { token: CDK_DRAG_PARENT, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
2718
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.1.0-next.5", 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 }); }
2705
2719
  }
2706
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: CdkDragHandle, decorators: [{
2720
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-next.5", ngImport: i0, type: CdkDragHandle, decorators: [{
2707
2721
  type: Directive,
2708
2722
  args: [{
2709
2723
  selector: '[cdkDragHandle]',
@@ -2739,10 +2753,10 @@ class CdkDragPlaceholder {
2739
2753
  constructor(templateRef) {
2740
2754
  this.templateRef = templateRef;
2741
2755
  }
2742
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: CdkDragPlaceholder, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2743
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.0-next.2", type: CdkDragPlaceholder, isStandalone: true, selector: "ng-template[cdkDragPlaceholder]", inputs: { data: "data" }, providers: [{ provide: CDK_DRAG_PLACEHOLDER, useExisting: CdkDragPlaceholder }], ngImport: i0 }); }
2756
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-next.5", ngImport: i0, type: CdkDragPlaceholder, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2757
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.0-next.5", type: CdkDragPlaceholder, isStandalone: true, selector: "ng-template[cdkDragPlaceholder]", inputs: { data: "data" }, providers: [{ provide: CDK_DRAG_PLACEHOLDER, useExisting: CdkDragPlaceholder }], ngImport: i0 }); }
2744
2758
  }
2745
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: CdkDragPlaceholder, decorators: [{
2759
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-next.5", ngImport: i0, type: CdkDragPlaceholder, decorators: [{
2746
2760
  type: Directive,
2747
2761
  args: [{
2748
2762
  selector: 'ng-template[cdkDragPlaceholder]',
@@ -2769,10 +2783,10 @@ class CdkDragPreview {
2769
2783
  /** Whether the preview should preserve the same size as the item that is being dragged. */
2770
2784
  this.matchSize = false;
2771
2785
  }
2772
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: CdkDragPreview, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2773
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.1.0-next.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 }); }
2786
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-next.5", ngImport: i0, type: CdkDragPreview, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2787
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.1.0-next.5", type: CdkDragPreview, isStandalone: true, selector: "ng-template[cdkDragPreview]", inputs: { data: "data", matchSize: ["matchSize", "matchSize", booleanAttribute] }, providers: [{ provide: CDK_DRAG_PREVIEW, useExisting: CdkDragPreview }], ngImport: i0 }); }
2774
2788
  }
2775
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: CdkDragPreview, decorators: [{
2789
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-next.5", ngImport: i0, type: CdkDragPreview, decorators: [{
2776
2790
  type: Directive,
2777
2791
  args: [{
2778
2792
  selector: 'ng-template[cdkDragPreview]',
@@ -3152,10 +3166,10 @@ class CdkDrag {
3152
3166
  handleInstance.disabled ? dragRef.disableHandle(handle) : dragRef.enableHandle(handle);
3153
3167
  });
3154
3168
  }
3155
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-next.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 }); }
3156
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.1.0-next.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 }], queries: [{ propertyName: "_previewTemplate", first: true, predicate: CDK_DRAG_PREVIEW, descendants: true }, { propertyName: "_placeholderTemplate", first: true, predicate: CDK_DRAG_PLACEHOLDER, descendants: true }, { propertyName: "_handles", predicate: CDK_DRAG_HANDLE, descendants: true }], exportAs: ["cdkDrag"], usesOnChanges: true, ngImport: i0 }); }
3169
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-next.5", 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 }); }
3170
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.1.0-next.5", 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 }], queries: [{ propertyName: "_previewTemplate", first: true, predicate: CDK_DRAG_PREVIEW, descendants: true }, { propertyName: "_placeholderTemplate", first: true, predicate: CDK_DRAG_PLACEHOLDER, descendants: true }, { propertyName: "_handles", predicate: CDK_DRAG_HANDLE, descendants: true }], exportAs: ["cdkDrag"], usesOnChanges: true, ngImport: i0 }); }
3157
3171
  }
3158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: CdkDrag, decorators: [{
3172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-next.5", ngImport: i0, type: CdkDrag, decorators: [{
3159
3173
  type: Directive,
3160
3174
  args: [{
3161
3175
  selector: '[cdkDrag]',
@@ -3283,10 +3297,10 @@ class CdkDropListGroup {
3283
3297
  ngOnDestroy() {
3284
3298
  this._items.clear();
3285
3299
  }
3286
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: CdkDropListGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3287
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.1.0-next.2", type: CdkDropListGroup, isStandalone: true, selector: "[cdkDropListGroup]", inputs: { disabled: ["cdkDropListGroupDisabled", "disabled", booleanAttribute] }, providers: [{ provide: CDK_DROP_LIST_GROUP, useExisting: CdkDropListGroup }], exportAs: ["cdkDropListGroup"], ngImport: i0 }); }
3300
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-next.5", ngImport: i0, type: CdkDropListGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3301
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.1.0-next.5", type: CdkDropListGroup, isStandalone: true, selector: "[cdkDropListGroup]", inputs: { disabled: ["cdkDropListGroupDisabled", "disabled", booleanAttribute] }, providers: [{ provide: CDK_DROP_LIST_GROUP, useExisting: CdkDropListGroup }], exportAs: ["cdkDropListGroup"], ngImport: i0 }); }
3288
3302
  }
3289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: CdkDropListGroup, decorators: [{
3303
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-next.5", ngImport: i0, type: CdkDropListGroup, decorators: [{
3290
3304
  type: Directive,
3291
3305
  args: [{
3292
3306
  selector: '[cdkDropListGroup]',
@@ -3532,14 +3546,14 @@ class CdkDropList {
3532
3546
  _syncItemsWithRef() {
3533
3547
  this._dropListRef.withItems(this.getSortedItems().map(item => item._dragRef));
3534
3548
  }
3535
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-next.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 }); }
3536
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.1.0-next.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: [
3549
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-next.5", 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 }); }
3550
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.1.0-next.5", 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: [
3537
3551
  // Prevent child drop lists from picking up the same group as their parent.
3538
3552
  { provide: CDK_DROP_LIST_GROUP, useValue: undefined },
3539
3553
  { provide: CDK_DROP_LIST, useExisting: CdkDropList },
3540
3554
  ], exportAs: ["cdkDropList"], ngImport: i0 }); }
3541
3555
  }
3542
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: CdkDropList, decorators: [{
3556
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-next.5", ngImport: i0, type: CdkDropList, decorators: [{
3543
3557
  type: Directive,
3544
3558
  args: [{
3545
3559
  selector: '[cdkDropList], cdk-drop-list',
@@ -3627,8 +3641,8 @@ const DRAG_DROP_DIRECTIVES = [
3627
3641
  CdkDragPlaceholder,
3628
3642
  ];
3629
3643
  class DragDropModule {
3630
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: DragDropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3631
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0-next.2", ngImport: i0, type: DragDropModule, imports: [CdkDropList,
3644
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0-next.5", ngImport: i0, type: DragDropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3645
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.0-next.5", ngImport: i0, type: DragDropModule, imports: [CdkDropList,
3632
3646
  CdkDropListGroup,
3633
3647
  CdkDrag,
3634
3648
  CdkDragHandle,
@@ -3639,9 +3653,9 @@ class DragDropModule {
3639
3653
  CdkDragHandle,
3640
3654
  CdkDragPreview,
3641
3655
  CdkDragPlaceholder] }); }
3642
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: DragDropModule, providers: [DragDrop], imports: [CdkScrollableModule] }); }
3656
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.0-next.5", ngImport: i0, type: DragDropModule, providers: [DragDrop], imports: [CdkScrollableModule] }); }
3643
3657
  }
3644
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-next.2", ngImport: i0, type: DragDropModule, decorators: [{
3658
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0-next.5", ngImport: i0, type: DragDropModule, decorators: [{
3645
3659
  type: NgModule,
3646
3660
  args: [{
3647
3661
  imports: DRAG_DROP_DIRECTIVES,