@angular/cdk 13.2.3 → 13.2.6

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 (60) hide show
  1. package/drag-drop/drag-ref.d.ts +3 -1
  2. package/drag-drop/parent-position-tracker.d.ts +11 -3
  3. package/esm2020/drag-drop/drag-ref.mjs +27 -17
  4. package/esm2020/drag-drop/drop-list-ref.mjs +2 -2
  5. package/esm2020/drag-drop/parent-position-tracker.mjs +13 -5
  6. package/esm2020/overlay/dispatchers/overlay-keyboard-dispatcher.mjs +24 -6
  7. package/esm2020/overlay/dispatchers/overlay-outside-click-dispatcher.mjs +31 -10
  8. package/esm2020/overlay/overlay-ref.mjs +15 -16
  9. package/esm2020/testing/harness-environment.mjs +4 -1
  10. package/esm2020/testing/protractor/protractor-element.mjs +8 -3
  11. package/esm2020/testing/public-api.mjs +2 -1
  12. package/esm2020/testing/selenium-webdriver/selenium-web-driver-element.mjs +8 -3
  13. package/esm2020/testing/test-element-errors.mjs +15 -0
  14. package/esm2020/testing/test-element.mjs +1 -1
  15. package/esm2020/testing/testbed/fake-events/type-in-element.mjs +12 -3
  16. package/esm2020/testing/testbed/unit-test-element.mjs +21 -5
  17. package/esm2020/version.mjs +1 -1
  18. package/fesm2015/cdk.mjs +1 -1
  19. package/fesm2015/cdk.mjs.map +1 -1
  20. package/fesm2015/drag-drop.mjs +40 -21
  21. package/fesm2015/drag-drop.mjs.map +1 -1
  22. package/fesm2015/overlay.mjs +66 -28
  23. package/fesm2015/overlay.mjs.map +1 -1
  24. package/fesm2015/testing/protractor.mjs +7 -2
  25. package/fesm2015/testing/protractor.mjs.map +1 -1
  26. package/fesm2015/testing/selenium-webdriver.mjs +7 -2
  27. package/fesm2015/testing/selenium-webdriver.mjs.map +1 -1
  28. package/fesm2015/testing/testbed.mjs +31 -7
  29. package/fesm2015/testing/testbed.mjs.map +1 -1
  30. package/fesm2015/testing.mjs +19 -1
  31. package/fesm2015/testing.mjs.map +1 -1
  32. package/fesm2020/cdk.mjs +1 -1
  33. package/fesm2020/cdk.mjs.map +1 -1
  34. package/fesm2020/drag-drop.mjs +39 -21
  35. package/fesm2020/drag-drop.mjs.map +1 -1
  36. package/fesm2020/overlay.mjs +66 -28
  37. package/fesm2020/overlay.mjs.map +1 -1
  38. package/fesm2020/testing/protractor.mjs +7 -2
  39. package/fesm2020/testing/protractor.mjs.map +1 -1
  40. package/fesm2020/testing/selenium-webdriver.mjs +7 -2
  41. package/fesm2020/testing/selenium-webdriver.mjs.map +1 -1
  42. package/fesm2020/testing/testbed.mjs +31 -7
  43. package/fesm2020/testing/testbed.mjs.map +1 -1
  44. package/fesm2020/testing.mjs +19 -1
  45. package/fesm2020/testing.mjs.map +1 -1
  46. package/overlay/_index.scss +7 -1
  47. package/overlay/dispatchers/overlay-keyboard-dispatcher.d.ts +7 -2
  48. package/overlay/dispatchers/overlay-outside-click-dispatcher.d.ts +8 -2
  49. package/overlay/overlay-ref.d.ts +2 -0
  50. package/overlay-prebuilt.css +1 -1
  51. package/package.json +1 -1
  52. package/schematics/ng-add/index.js +1 -1
  53. package/schematics/ng-add/index.mjs +1 -1
  54. package/schematics/ng-update/devkit-migration-rule.js +2 -2
  55. package/schematics/ng-update/devkit-migration-rule.mjs +2 -2
  56. package/testing/public-api.d.ts +1 -0
  57. package/testing/test-element-errors.d.ts +12 -0
  58. package/testing/test-element.d.ts +4 -2
  59. package/testing/testbed/fake-events/type-in-element.d.ts +2 -2
  60. package/testing/testbed/unit-test-element.d.ts +4 -1
@@ -157,7 +157,7 @@ export declare class DragRef<T = any> {
157
157
  private _boundaryElement;
158
158
  /** Whether the native dragging interactions have been enabled on the root element. */
159
159
  private _nativeInteractionsEnabled;
160
- /** Cached dimensions of the preview element. */
160
+ /** Cached dimensions of the preview element. Should be read via `_getPreviewRect`. */
161
161
  private _previewRect?;
162
162
  /** Cached dimensions of the boundary element. */
163
163
  private _boundaryRect?;
@@ -434,5 +434,7 @@ export declare class DragRef<T = any> {
434
434
  private _getShadowRoot;
435
435
  /** Gets the element into which the drag preview should be inserted. */
436
436
  private _getPreviewInsertionPoint;
437
+ /** Lazily resolves and returns the dimensions of the preview. */
438
+ private _getPreviewRect;
437
439
  }
438
440
  export {};
@@ -5,7 +5,6 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
- import { ViewportRuler } from '@angular/cdk/scrolling';
9
8
  /** Object holding the scroll position of something. */
10
9
  interface ScrollPosition {
11
10
  top: number;
@@ -14,18 +13,27 @@ interface ScrollPosition {
14
13
  /** Keeps track of the scroll position and dimensions of the parents of an element. */
15
14
  export declare class ParentPositionTracker {
16
15
  private _document;
17
- private _viewportRuler;
18
16
  /** Cached positions of the scrollable parent elements. */
19
17
  readonly positions: Map<HTMLElement | Document, {
20
18
  scrollPosition: ScrollPosition;
21
19
  clientRect?: ClientRect | undefined;
22
20
  }>;
23
- constructor(_document: Document, _viewportRuler: ViewportRuler);
21
+ constructor(_document: Document);
24
22
  /** Clears the cached positions. */
25
23
  clear(): void;
26
24
  /** Caches the positions. Should be called at the beginning of a drag sequence. */
27
25
  cache(elements: readonly HTMLElement[]): void;
28
26
  /** Handles scrolling while a drag is taking place. */
29
27
  handleScroll(event: Event): ScrollPosition | null;
28
+ /**
29
+ * Gets the scroll position of the viewport. Note that we use the scrollX and scrollY directly,
30
+ * instead of going through the `ViewportRuler`, because the first value the ruler looks at is
31
+ * the top/left offset of the `document.documentElement` which works for most cases, but breaks
32
+ * if the element is offset by something like the `BlockScrollStrategy`.
33
+ */
34
+ getViewportScrollPosition(): {
35
+ top: number;
36
+ left: number;
37
+ };
30
38
  }
31
39
  export {};