@angular/cdk 21.0.0-rc.1 → 21.0.0-rc.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 (62) hide show
  1. package/fesm2022/_a11y-module-chunk.mjs.map +1 -1
  2. package/fesm2022/_activedescendant-key-manager-chunk.mjs.map +1 -1
  3. package/fesm2022/_array-chunk.mjs.map +1 -1
  4. package/fesm2022/_breakpoints-observer-chunk.mjs.map +1 -1
  5. package/fesm2022/_css-pixel-value-chunk.mjs.map +1 -1
  6. package/fesm2022/_data-source-chunk.mjs.map +1 -1
  7. package/fesm2022/_directionality-chunk.mjs.map +1 -1
  8. package/fesm2022/_dispose-view-repeater-strategy-chunk.mjs.map +1 -1
  9. package/fesm2022/_element-chunk.mjs.map +1 -1
  10. package/fesm2022/_fake-event-detection-chunk.mjs.map +1 -1
  11. package/fesm2022/_focus-key-manager-chunk.mjs.map +1 -1
  12. package/fesm2022/_focus-monitor-chunk.mjs.map +1 -1
  13. package/fesm2022/_id-generator-chunk.mjs.map +1 -1
  14. package/fesm2022/_keycodes-chunk.mjs.map +1 -1
  15. package/fesm2022/_list-key-manager-chunk.mjs.map +1 -1
  16. package/fesm2022/_overlay-module-chunk.mjs +29 -14
  17. package/fesm2022/_overlay-module-chunk.mjs.map +1 -1
  18. package/fesm2022/_passive-listeners-chunk.mjs.map +1 -1
  19. package/fesm2022/_platform-chunk.mjs.map +1 -1
  20. package/fesm2022/_recycle-view-repeater-strategy-chunk.mjs.map +1 -1
  21. package/fesm2022/_scrolling-chunk.mjs.map +1 -1
  22. package/fesm2022/_selection-model-chunk.mjs.map +1 -1
  23. package/fesm2022/_shadow-dom-chunk.mjs.map +1 -1
  24. package/fesm2022/_style-loader-chunk.mjs.map +1 -1
  25. package/fesm2022/_test-environment-chunk.mjs.map +1 -1
  26. package/fesm2022/_tree-key-manager-chunk.mjs.map +1 -1
  27. package/fesm2022/_typeahead-chunk.mjs.map +1 -1
  28. package/fesm2022/_unique-selection-dispatcher-chunk.mjs.map +1 -1
  29. package/fesm2022/a11y.mjs.map +1 -1
  30. package/fesm2022/accordion.mjs.map +1 -1
  31. package/fesm2022/bidi.mjs.map +1 -1
  32. package/fesm2022/cdk.mjs +1 -1
  33. package/fesm2022/cdk.mjs.map +1 -1
  34. package/fesm2022/clipboard.mjs.map +1 -1
  35. package/fesm2022/coercion-private.mjs.map +1 -1
  36. package/fesm2022/coercion.mjs.map +1 -1
  37. package/fesm2022/dialog.mjs.map +1 -1
  38. package/fesm2022/drag-drop.mjs.map +1 -1
  39. package/fesm2022/keycodes.mjs.map +1 -1
  40. package/fesm2022/layout.mjs.map +1 -1
  41. package/fesm2022/listbox.mjs.map +1 -1
  42. package/fesm2022/menu.mjs.map +1 -1
  43. package/fesm2022/observers-private.mjs.map +1 -1
  44. package/fesm2022/observers.mjs.map +1 -1
  45. package/fesm2022/overlay.mjs +1 -1
  46. package/fesm2022/overlay.mjs.map +1 -1
  47. package/fesm2022/platform.mjs.map +1 -1
  48. package/fesm2022/portal.mjs.map +1 -1
  49. package/fesm2022/private.mjs.map +1 -1
  50. package/fesm2022/scrolling.mjs.map +1 -1
  51. package/fesm2022/stepper.mjs.map +1 -1
  52. package/fesm2022/table.mjs.map +1 -1
  53. package/fesm2022/testing-selenium-webdriver.mjs.map +1 -1
  54. package/fesm2022/testing-testbed.mjs.map +1 -1
  55. package/fesm2022/testing.mjs.map +1 -1
  56. package/fesm2022/text-field.mjs.map +1 -1
  57. package/fesm2022/tree.mjs.map +1 -1
  58. package/overlay/_index.scss +6 -1
  59. package/overlay-prebuilt.css +1 -1
  60. package/package.json +1 -1
  61. package/schematics/ng-add/index.js +1 -1
  62. package/types/overlay.d.ts +9 -3
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { DOCUMENT, NgZone, inject, Injector, Injectable, RendererFactory2, Component, ChangeDetectionStrategy, ViewEncapsulation, afterNextRender, ElementRef, ApplicationRef, Renderer2, ANIMATION_MODULE_TYPE, EnvironmentInjector, InjectionToken, Directive, EventEmitter, TemplateRef, ViewContainerRef, booleanAttribute, Input, Output, NgModule } from '@angular/core';
2
+ import { DOCUMENT, NgZone, inject, Injector, Injectable, RendererFactory2, Component, ChangeDetectionStrategy, ViewEncapsulation, afterNextRender, ElementRef, InjectionToken, ApplicationRef, Renderer2, ANIMATION_MODULE_TYPE, EnvironmentInjector, Directive, EventEmitter, TemplateRef, ViewContainerRef, booleanAttribute, Input, Output, NgModule } from '@angular/core';
3
3
  import { Location } from '@angular/common';
4
4
  import { Platform } from './_platform-chunk.mjs';
5
5
  import { _getEventTarget } from './_shadow-dom-chunk.mjs';
@@ -288,7 +288,7 @@ class OverlayConfig {
288
288
  maxHeight;
289
289
  direction;
290
290
  disposeOnNavigation = false;
291
- usePopover = false;
291
+ usePopover;
292
292
  constructor(config) {
293
293
  if (config) {
294
294
  const configKeys = Object.keys(config);
@@ -575,7 +575,7 @@ class _CdkOverlayStyleLoader {
575
575
  ngImport: i0,
576
576
  template: '',
577
577
  isInline: true,
578
- styles: [".cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed}@layer cdk-overlay{.cdk-overlay-container{z-index:1000}}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute}@layer cdk-overlay{.cdk-global-overlay-wrapper{z-index:1000}}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%}@layer cdk-overlay{.cdk-overlay-pane{z-index:1000}}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0;touch-action:manipulation}@layer cdk-overlay{.cdk-overlay-backdrop{z-index:1000;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors: active){.cdk-overlay-backdrop-showing{opacity:.6}}@layer cdk-overlay{.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px}@layer cdk-overlay{.cdk-overlay-connected-position-bounding-box{z-index:1000}}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;line-height:normal;text-decoration:none;width:100%;height:100%;inset:auto}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed}\n"],
578
+ styles: [".cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed}@layer cdk-overlay{.cdk-overlay-container{z-index:1000}}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute}@layer cdk-overlay{.cdk-global-overlay-wrapper{z-index:1000}}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%}@layer cdk-overlay{.cdk-overlay-pane{z-index:1000}}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0;touch-action:manipulation}@layer cdk-overlay{.cdk-overlay-backdrop{z-index:1000;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors: active){.cdk-overlay-backdrop-showing{opacity:.6}}@layer cdk-overlay{.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px}@layer cdk-overlay{.cdk-overlay-connected-position-bounding-box{z-index:1000}}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:auto;top:0;left:0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}\n"],
579
579
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
580
580
  encapsulation: i0.ViewEncapsulation.None
581
581
  });
@@ -594,7 +594,7 @@ i0.ɵɵngDeclareClassMetadata({
594
594
  host: {
595
595
  'cdk-overlay-style-loader': ''
596
596
  },
597
- styles: [".cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed}@layer cdk-overlay{.cdk-overlay-container{z-index:1000}}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute}@layer cdk-overlay{.cdk-global-overlay-wrapper{z-index:1000}}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%}@layer cdk-overlay{.cdk-overlay-pane{z-index:1000}}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0;touch-action:manipulation}@layer cdk-overlay{.cdk-overlay-backdrop{z-index:1000;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors: active){.cdk-overlay-backdrop-showing{opacity:.6}}@layer cdk-overlay{.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px}@layer cdk-overlay{.cdk-overlay-connected-position-bounding-box{z-index:1000}}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;line-height:normal;text-decoration:none;width:100%;height:100%;inset:auto}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed}\n"]
597
+ styles: [".cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed}@layer cdk-overlay{.cdk-overlay-container{z-index:1000}}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute}@layer cdk-overlay{.cdk-global-overlay-wrapper{z-index:1000}}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%}@layer cdk-overlay{.cdk-overlay-pane{z-index:1000}}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0;touch-action:manipulation}@layer cdk-overlay{.cdk-overlay-backdrop{z-index:1000;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors: active){.cdk-overlay-backdrop-showing{opacity:.6}}@layer cdk-overlay{.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px}@layer cdk-overlay{.cdk-overlay-connected-position-bounding-box{z-index:1000}}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:auto;top:0;left:0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}\n"]
598
598
  }]
599
599
  }]
600
600
  });
@@ -948,7 +948,9 @@ class OverlayRef {
948
948
  }
949
949
  }
950
950
  if (this._config.usePopover) {
951
- this._host.showPopover();
951
+ try {
952
+ this._host['showPopover']();
953
+ } catch {}
952
954
  }
953
955
  }
954
956
  _attachBackdrop() {
@@ -1508,17 +1510,18 @@ class FlexibleConnectedPositionStrategy {
1508
1510
  const styles = {};
1509
1511
  if (this._hasExactPosition()) {
1510
1512
  styles.top = styles.left = '0';
1511
- styles.bottom = styles.right = styles.maxHeight = styles.maxWidth = '';
1513
+ styles.bottom = styles.right = 'auto';
1514
+ styles.maxHeight = styles.maxWidth = '';
1512
1515
  styles.width = styles.height = '100%';
1513
1516
  } else {
1514
1517
  const maxHeight = this._overlayRef.getConfig().maxHeight;
1515
1518
  const maxWidth = this._overlayRef.getConfig().maxWidth;
1516
- styles.height = coerceCssPixelValue(boundingBoxRect.height);
1517
- styles.top = coerceCssPixelValue(boundingBoxRect.top);
1518
- styles.bottom = coerceCssPixelValue(boundingBoxRect.bottom);
1519
1519
  styles.width = coerceCssPixelValue(boundingBoxRect.width);
1520
- styles.left = coerceCssPixelValue(boundingBoxRect.left);
1521
- styles.right = coerceCssPixelValue(boundingBoxRect.right);
1520
+ styles.height = coerceCssPixelValue(boundingBoxRect.height);
1521
+ styles.top = coerceCssPixelValue(boundingBoxRect.top) || 'auto';
1522
+ styles.bottom = coerceCssPixelValue(boundingBoxRect.bottom) || 'auto';
1523
+ styles.left = coerceCssPixelValue(boundingBoxRect.left) || 'auto';
1524
+ styles.right = coerceCssPixelValue(boundingBoxRect.right) || 'auto';
1522
1525
  if (position.overlayX === 'center') {
1523
1526
  styles.alignItems = 'center';
1524
1527
  } else {
@@ -2022,6 +2025,7 @@ i0.ɵɵngDeclareClassMetadata({
2022
2025
  ctorParameters: () => []
2023
2026
  });
2024
2027
 
2028
+ const OVERLAY_DEFAULT_CONFIG = new InjectionToken('OVERLAY_DEFAULT_CONFIG');
2025
2029
  function createOverlayRef(injector, config) {
2026
2030
  injector.get(_CdkPrivateStyleLoader).load(_CdkOverlayStyleLoader);
2027
2031
  const overlayContainer = injector.get(OverlayContainer);
@@ -2033,8 +2037,15 @@ function createOverlayRef(injector, config) {
2033
2037
  optional: true
2034
2038
  }) || injector.get(RendererFactory2).createRenderer(null, null);
2035
2039
  const overlayConfig = new OverlayConfig(config);
2040
+ const defaultUsePopover = injector.get(OVERLAY_DEFAULT_CONFIG, null, {
2041
+ optional: true
2042
+ })?.usePopover ?? true;
2036
2043
  overlayConfig.direction = overlayConfig.direction || directionality.value;
2037
- overlayConfig.usePopover = !!overlayConfig?.usePopover && 'showPopover' in doc.body;
2044
+ if (!('showPopover' in doc.body)) {
2045
+ overlayConfig.usePopover = false;
2046
+ } else {
2047
+ overlayConfig.usePopover = config?.usePopover ?? defaultUsePopover;
2048
+ }
2038
2049
  const pane = doc.createElement('div');
2039
2050
  const host = doc.createElement('div');
2040
2051
  pane.id = idGenerator.getId('cdk-overlay-');
@@ -2213,7 +2224,7 @@ class CdkConnectedOverlay {
2213
2224
  growAfterOpen = false;
2214
2225
  push = false;
2215
2226
  disposeOnNavigation = false;
2216
- usePopover = null;
2227
+ usePopover;
2217
2228
  matchWidth = false;
2218
2229
  set _config(value) {
2219
2230
  if (typeof value !== 'string') {
@@ -2232,6 +2243,10 @@ class CdkConnectedOverlay {
2232
2243
  const defaultConfig = inject(CDK_CONNECTED_OVERLAY_DEFAULT_CONFIG, {
2233
2244
  optional: true
2234
2245
  });
2246
+ const globalConfig = inject(OVERLAY_DEFAULT_CONFIG, {
2247
+ optional: true
2248
+ });
2249
+ this.usePopover = globalConfig?.usePopover === false ? null : 'global';
2235
2250
  this._templatePortal = new TemplatePortal(templateRef, viewContainerRef);
2236
2251
  this.scrollStrategy = this._scrollStrategyFactory();
2237
2252
  if (defaultConfig) {
@@ -2671,5 +2686,5 @@ i0.ɵɵngDeclareClassMetadata({
2671
2686
  }]
2672
2687
  });
2673
2688
 
2674
- export { BlockScrollStrategy, CDK_CONNECTED_OVERLAY_DEFAULT_CONFIG, CdkConnectedOverlay, CdkOverlayOrigin, CloseScrollStrategy, ConnectedOverlayPositionChange, ConnectionPositionPair, FlexibleConnectedPositionStrategy, GlobalPositionStrategy, NoopScrollStrategy, Overlay, OverlayConfig, OverlayContainer, OverlayKeyboardDispatcher, OverlayModule, OverlayOutsideClickDispatcher, OverlayPositionBuilder, OverlayRef, RepositionScrollStrategy, STANDARD_DROPDOWN_ADJACENT_POSITIONS, STANDARD_DROPDOWN_BELOW_POSITIONS, ScrollStrategyOptions, ScrollingVisibility, createBlockScrollStrategy, createCloseScrollStrategy, createFlexibleConnectedPositionStrategy, createGlobalPositionStrategy, createNoopScrollStrategy, createOverlayRef, createRepositionScrollStrategy, validateHorizontalPosition, validateVerticalPosition };
2689
+ export { BlockScrollStrategy, CDK_CONNECTED_OVERLAY_DEFAULT_CONFIG, CdkConnectedOverlay, CdkOverlayOrigin, CloseScrollStrategy, ConnectedOverlayPositionChange, ConnectionPositionPair, FlexibleConnectedPositionStrategy, GlobalPositionStrategy, NoopScrollStrategy, OVERLAY_DEFAULT_CONFIG, Overlay, OverlayConfig, OverlayContainer, OverlayKeyboardDispatcher, OverlayModule, OverlayOutsideClickDispatcher, OverlayPositionBuilder, OverlayRef, RepositionScrollStrategy, STANDARD_DROPDOWN_ADJACENT_POSITIONS, STANDARD_DROPDOWN_BELOW_POSITIONS, ScrollStrategyOptions, ScrollingVisibility, createBlockScrollStrategy, createCloseScrollStrategy, createFlexibleConnectedPositionStrategy, createGlobalPositionStrategy, createNoopScrollStrategy, createOverlayRef, createRepositionScrollStrategy, validateHorizontalPosition, validateVerticalPosition };
2675
2690
  //# sourceMappingURL=_overlay-module-chunk.mjs.map