@angular/cdk 11.0.4 → 11.1.2

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 (122) hide show
  1. package/a11y/aria-describer/aria-describer.d.ts +9 -14
  2. package/a11y/index.metadata.json +1 -1
  3. package/bundles/cdk-a11y.umd.js +62 -57
  4. package/bundles/cdk-a11y.umd.js.map +1 -1
  5. package/bundles/cdk-a11y.umd.min.js +13 -14
  6. package/bundles/cdk-a11y.umd.min.js.map +1 -1
  7. package/bundles/cdk-accordion.umd.js.map +1 -1
  8. package/bundles/cdk-bidi.umd.js.map +1 -1
  9. package/bundles/cdk-coercion.umd.js +9 -1
  10. package/bundles/cdk-coercion.umd.js.map +1 -1
  11. package/bundles/cdk-coercion.umd.min.js.map +1 -1
  12. package/bundles/cdk-collections.umd.js +11 -6
  13. package/bundles/cdk-collections.umd.js.map +1 -1
  14. package/bundles/cdk-collections.umd.min.js +1 -1
  15. package/bundles/cdk-collections.umd.min.js.map +1 -1
  16. package/bundles/cdk-drag-drop.umd.js +61 -16
  17. package/bundles/cdk-drag-drop.umd.js.map +1 -1
  18. package/bundles/cdk-drag-drop.umd.min.js +8 -8
  19. package/bundles/cdk-drag-drop.umd.min.js.map +1 -1
  20. package/bundles/cdk-overlay.umd.js +34 -4
  21. package/bundles/cdk-overlay.umd.js.map +1 -1
  22. package/bundles/cdk-overlay.umd.min.js +11 -11
  23. package/bundles/cdk-overlay.umd.min.js.map +1 -1
  24. package/bundles/cdk-portal.umd.js +9 -1
  25. package/bundles/cdk-portal.umd.js.map +1 -1
  26. package/bundles/cdk-portal.umd.min.js +2 -2
  27. package/bundles/cdk-portal.umd.min.js.map +1 -1
  28. package/bundles/cdk-scrolling.umd.js +16 -8
  29. package/bundles/cdk-scrolling.umd.js.map +1 -1
  30. package/bundles/cdk-scrolling.umd.min.js +3 -3
  31. package/bundles/cdk-scrolling.umd.min.js.map +1 -1
  32. package/bundles/cdk-table.umd.js +99 -30
  33. package/bundles/cdk-table.umd.js.map +1 -1
  34. package/bundles/cdk-table.umd.min.js +7 -7
  35. package/bundles/cdk-table.umd.min.js.map +1 -1
  36. package/bundles/cdk-testing-protractor.umd.js +59 -13
  37. package/bundles/cdk-testing-protractor.umd.js.map +1 -1
  38. package/bundles/cdk-testing-protractor.umd.min.js +2 -2
  39. package/bundles/cdk-testing-protractor.umd.min.js.map +1 -1
  40. package/bundles/cdk-testing-testbed.umd.js +40 -15
  41. package/bundles/cdk-testing-testbed.umd.js.map +1 -1
  42. package/bundles/cdk-testing-testbed.umd.min.js +7 -7
  43. package/bundles/cdk-testing-testbed.umd.min.js.map +1 -1
  44. package/bundles/cdk-testing.umd.js +11 -10
  45. package/bundles/cdk-testing.umd.js.map +1 -1
  46. package/bundles/cdk-testing.umd.min.js +2 -2
  47. package/bundles/cdk-testing.umd.min.js.map +1 -1
  48. package/bundles/cdk-tree.umd.js +9 -1
  49. package/bundles/cdk-tree.umd.js.map +1 -1
  50. package/bundles/cdk-tree.umd.min.js +5 -5
  51. package/bundles/cdk-tree.umd.min.js.map +1 -1
  52. package/bundles/cdk.umd.js +1 -1
  53. package/bundles/cdk.umd.js.map +1 -1
  54. package/bundles/cdk.umd.min.js +1 -1
  55. package/bundles/cdk.umd.min.js.map +1 -1
  56. package/collections/index.metadata.json +1 -1
  57. package/collections/recycle-view-repeater-strategy.d.ts +0 -2
  58. package/drag-drop/directives/drag.d.ts +3 -1
  59. package/drag-drop/directives/drop-list.d.ts +4 -1
  60. package/drag-drop/drag-ref.d.ts +4 -0
  61. package/drag-drop/drop-list-ref.d.ts +2 -0
  62. package/drag-drop/index.metadata.json +1 -1
  63. package/esm2015/a11y/aria-describer/aria-describer.js +50 -55
  64. package/esm2015/collections/recycle-view-repeater-strategy.js +4 -7
  65. package/esm2015/drag-drop/directives/drag.js +36 -4
  66. package/esm2015/drag-drop/directives/drop-list.js +4 -2
  67. package/esm2015/drag-drop/drag-ref.js +9 -4
  68. package/esm2015/drag-drop/drop-list-ref.js +8 -10
  69. package/esm2015/overlay/overlay-ref.js +2 -2
  70. package/esm2015/overlay/position/flexible-connected-position-strategy.js +25 -3
  71. package/esm2015/scrolling/scroll-dispatcher.js +9 -8
  72. package/esm2015/scrolling/virtual-for-of.js +1 -1
  73. package/esm2015/scrolling/virtual-scroll-viewport.js +1 -1
  74. package/esm2015/table/public-api.js +2 -1
  75. package/esm2015/table/sticky-position-listener.js +11 -0
  76. package/esm2015/table/sticky-styler.js +60 -14
  77. package/esm2015/table/table.js +9 -4
  78. package/esm2015/testing/change-detection.js +1 -8
  79. package/esm2015/testing/harness-environment.js +3 -3
  80. package/esm2015/testing/protractor/protractor-element.js +29 -13
  81. package/esm2015/testing/test-element.js +1 -1
  82. package/esm2015/testing/testbed/fake-events/dispatch-events.js +3 -3
  83. package/esm2015/testing/testbed/fake-events/event-objects.js +6 -6
  84. package/esm2015/testing/testbed/unit-test-element.js +21 -9
  85. package/esm2015/version.js +1 -1
  86. package/fesm2015/a11y.js +50 -53
  87. package/fesm2015/a11y.js.map +1 -1
  88. package/fesm2015/accordion.js.map +1 -1
  89. package/fesm2015/bidi.js.map +1 -1
  90. package/fesm2015/cdk.js +1 -1
  91. package/fesm2015/cdk.js.map +1 -1
  92. package/fesm2015/collections.js +3 -6
  93. package/fesm2015/collections.js.map +1 -1
  94. package/fesm2015/drag-drop.js +52 -15
  95. package/fesm2015/drag-drop.js.map +1 -1
  96. package/fesm2015/overlay.js +25 -3
  97. package/fesm2015/overlay.js.map +1 -1
  98. package/fesm2015/scrolling.js +8 -8
  99. package/fesm2015/scrolling.js.map +1 -1
  100. package/fesm2015/table.js +77 -17
  101. package/fesm2015/table.js.map +1 -1
  102. package/fesm2015/testing/protractor.js +27 -11
  103. package/fesm2015/testing/protractor.js.map +1 -1
  104. package/fesm2015/testing/testbed.js +25 -13
  105. package/fesm2015/testing/testbed.js.map +1 -1
  106. package/fesm2015/testing.js +2 -9
  107. package/fesm2015/testing.js.map +1 -1
  108. package/package.json +1 -1
  109. package/schematics/ng-add/index.js +1 -1
  110. package/scrolling/index.metadata.json +1 -1
  111. package/scrolling/scroll-dispatcher.d.ts +3 -3
  112. package/table/index.metadata.json +1 -1
  113. package/table/public-api.d.ts +1 -0
  114. package/table/sticky-position-listener.d.ts +29 -0
  115. package/table/sticky-styler.d.ts +7 -2
  116. package/table/table.d.ts +4 -2
  117. package/testing/change-detection.d.ts +44 -1
  118. package/testing/protractor/protractor-element.d.ts +12 -4
  119. package/testing/test-element.d.ts +11 -5
  120. package/testing/testbed/fake-events/dispatch-events.d.ts +1 -1
  121. package/testing/testbed/fake-events/event-objects.d.ts +1 -1
  122. package/testing/testbed/unit-test-element.d.ts +12 -4
@@ -1019,7 +1019,7 @@ class OverlayRef {
1019
1019
  }
1020
1020
  /** Toggles the pointer events for the overlay pane element. */
1021
1021
  _togglePointerEvents(enablePointer) {
1022
- this._pane.style.pointerEvents = enablePointer ? 'auto' : 'none';
1022
+ this._pane.style.pointerEvents = enablePointer ? '' : 'none';
1023
1023
  }
1024
1024
  /** Attaches a backdrop for this overlay. */
1025
1025
  _attachBackdrop() {
@@ -1543,7 +1543,10 @@ class FlexibleConnectedPositionStrategy {
1543
1543
  };
1544
1544
  }
1545
1545
  /** Gets how well an overlay at the given point will fit within the viewport. */
1546
- _getOverlayFit(point, overlay, viewport, position) {
1546
+ _getOverlayFit(point, rawOverlayRect, viewport, position) {
1547
+ // Round the overlay rect when comparing against the
1548
+ // viewport, because the viewport is always rounded.
1549
+ const overlay = getRoundedBoundingClientRect(rawOverlayRect);
1547
1550
  let { x, y } = point;
1548
1551
  let offsetX = this._getOffset(position, 'x');
1549
1552
  let offsetY = this._getOffset(position, 'y');
@@ -1601,7 +1604,7 @@ class FlexibleConnectedPositionStrategy {
1601
1604
  * @returns The point at which to position the overlay after pushing. This is effectively a new
1602
1605
  * originPoint.
1603
1606
  */
1604
- _pushOverlayOnScreen(start, overlay, scrollPosition) {
1607
+ _pushOverlayOnScreen(start, rawOverlayRect, scrollPosition) {
1605
1608
  // If the position is locked and we've pushed the overlay already, reuse the previous push
1606
1609
  // amount, rather than pushing it again. If we were to continue pushing, the element would
1607
1610
  // remain in the viewport, which goes against the expectations when position locking is enabled.
@@ -1611,6 +1614,9 @@ class FlexibleConnectedPositionStrategy {
1611
1614
  y: start.y + this._previousPushAmount.y
1612
1615
  };
1613
1616
  }
1617
+ // Round the overlay rect when comparing against the
1618
+ // viewport, because the viewport is always rounded.
1619
+ const overlay = getRoundedBoundingClientRect(rawOverlayRect);
1614
1620
  const viewport = this._viewportRect;
1615
1621
  // Determine how much the overlay goes outside the viewport on each
1616
1622
  // side, which we'll use to decide which direction to push it.
@@ -2082,6 +2088,22 @@ function getPixelValue(input) {
2082
2088
  }
2083
2089
  return input || null;
2084
2090
  }
2091
+ /**
2092
+ * Gets a version of an element's bounding `ClientRect` where all the values are rounded down to
2093
+ * the nearest pixel. This allows us to account for the cases where there may be sub-pixel
2094
+ * deviations in the `ClientRect` returned by the browser (e.g. when zoomed in with a percentage
2095
+ * size, see #21350).
2096
+ */
2097
+ function getRoundedBoundingClientRect(clientRect) {
2098
+ return {
2099
+ top: Math.floor(clientRect.top),
2100
+ right: Math.floor(clientRect.right),
2101
+ bottom: Math.floor(clientRect.bottom),
2102
+ left: Math.floor(clientRect.left),
2103
+ width: Math.floor(clientRect.width),
2104
+ height: Math.floor(clientRect.height)
2105
+ };
2106
+ }
2085
2107
 
2086
2108
  /**
2087
2109
  * @license