@ng-matero/extensions 19.2.1 → 19.3.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 (57) hide show
  1. package/checkbox-group/checkbox-group.d.ts +3 -3
  2. package/colorpicker/colorpicker-animations.d.ts +3 -2
  3. package/colorpicker/colorpicker-content.scss +31 -0
  4. package/colorpicker/colorpicker.d.ts +21 -4
  5. package/core/tokens/m2/mtx/_select.scss +1 -0
  6. package/core/tokens/m3/mtx/_select.scss +4 -0
  7. package/datetimepicker/calendar.d.ts +0 -3
  8. package/datetimepicker/datetimepicker-animations.d.ts +5 -4
  9. package/datetimepicker/datetimepicker-content.scss +48 -1
  10. package/datetimepicker/datetimepicker.d.ts +22 -6
  11. package/datetimepicker/month-view.d.ts +0 -3
  12. package/drawer/drawer-animations.d.ts +6 -3
  13. package/drawer/drawer-container.d.ts +7 -4
  14. package/drawer/drawer-container.scss +55 -8
  15. package/fesm2022/mtxAlert.mjs +7 -7
  16. package/fesm2022/mtxButton.mjs +7 -7
  17. package/fesm2022/mtxCheckboxGroup.mjs +9 -7
  18. package/fesm2022/mtxCheckboxGroup.mjs.map +1 -1
  19. package/fesm2022/mtxColorpicker.mjs +137 -48
  20. package/fesm2022/mtxColorpicker.mjs.map +1 -1
  21. package/fesm2022/mtxColumnResize.mjs +40 -40
  22. package/fesm2022/mtxCore.mjs +21 -21
  23. package/fesm2022/mtxDatetimepicker.mjs +302 -156
  24. package/fesm2022/mtxDatetimepicker.mjs.map +1 -1
  25. package/fesm2022/mtxDialog.mjs +10 -10
  26. package/fesm2022/mtxDrawer.mjs +118 -46
  27. package/fesm2022/mtxDrawer.mjs.map +1 -1
  28. package/fesm2022/mtxGrid.mjs +87 -86
  29. package/fesm2022/mtxGrid.mjs.map +1 -1
  30. package/fesm2022/mtxLoader.mjs +7 -7
  31. package/fesm2022/mtxPhotoviewer.mjs +7 -7
  32. package/fesm2022/mtxPopover.mjs +220 -143
  33. package/fesm2022/mtxPopover.mjs.map +1 -1
  34. package/fesm2022/mtxProgress.mjs +7 -7
  35. package/fesm2022/mtxSelect.mjs +53 -53
  36. package/fesm2022/mtxSelect.mjs.map +1 -1
  37. package/fesm2022/mtxSplit.mjs +10 -10
  38. package/fesm2022/mtxTooltip.mjs +103 -54
  39. package/fesm2022/mtxTooltip.mjs.map +1 -1
  40. package/grid/column-menu.d.ts +3 -1
  41. package/grid/grid.d.ts +6 -1
  42. package/grid/grid.scss +18 -4
  43. package/grid/interfaces.d.ts +2 -0
  44. package/package.json +9 -10
  45. package/popover/popover-animations.d.ts +9 -12
  46. package/popover/popover-trigger.d.ts +11 -2
  47. package/popover/popover.d.ts +14 -9
  48. package/popover/popover.scss +40 -0
  49. package/prebuilt-themes/deeppurple-amber.css +1 -1
  50. package/prebuilt-themes/indigo-pink.css +1 -1
  51. package/prebuilt-themes/pink-bluegrey.css +1 -1
  52. package/prebuilt-themes/purple-green.css +1 -1
  53. package/select/select.scss +22 -33
  54. package/split/split.d.ts +3 -3
  55. package/tooltip/tooltip-animations.d.ts +3 -2
  56. package/tooltip/tooltip.d.ts +19 -11
  57. package/tooltip/tooltip.scss +1 -1
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, TemplateRef, ElementRef, ViewContainerRef, NgZone, Injector, afterNextRender, Directive, Input, ChangeDetectorRef, ANIMATION_MODULE_TYPE, Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, NgModule } from '@angular/core';
2
+ import { InjectionToken, inject, TemplateRef, ElementRef, NgZone, Injector, ViewContainerRef, afterNextRender, Directive, Input, ChangeDetectorRef, ANIMATION_MODULE_TYPE, Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, NgModule } from '@angular/core';
3
3
  import { DOCUMENT, NgClass, NgTemplateOutlet, CommonModule } from '@angular/common';
4
4
  import { AriaDescriber, FocusMonitor, A11yModule } from '@angular/cdk/a11y';
5
5
  import { Overlay, ScrollDispatcher, OverlayModule } from '@angular/cdk/overlay';
@@ -13,7 +13,6 @@ import { normalizePassiveListenerOptions, Platform } from '@angular/cdk/platform
13
13
  import { ComponentPortal } from '@angular/cdk/portal';
14
14
  import { Subject } from 'rxjs';
15
15
  import { takeUntil } from 'rxjs/operators';
16
- import { trigger, state, style, transition, animate } from '@angular/animations';
17
16
 
18
17
  /** Time in ms to throttle repositioning after scroll events. */
19
18
  const SCROLL_THROTTLE_MS = 20;
@@ -32,17 +31,29 @@ const MTX_TOOLTIP_SCROLL_STRATEGY = new InjectionToken('mtx-tooltip-scroll-strat
32
31
  return () => overlay.scrollStrategies.reposition({ scrollThrottle: SCROLL_THROTTLE_MS });
33
32
  },
34
33
  });
35
- /** @docs-private */
34
+ /**
35
+ * @docs-private
36
+ * @deprecated No longer used, will be removed.
37
+ * @breaking-change 21.0.0
38
+ */
36
39
  function MTX_TOOLTIP_SCROLL_STRATEGY_FACTORY(overlay) {
37
40
  return () => overlay.scrollStrategies.reposition({ scrollThrottle: SCROLL_THROTTLE_MS });
38
41
  }
39
- /** @docs-private */
42
+ /**
43
+ * @docs-private
44
+ * @deprecated No longer used, will be removed.
45
+ * @breaking-change 21.0.0
46
+ */
40
47
  const MTX_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER = {
41
48
  provide: MTX_TOOLTIP_SCROLL_STRATEGY,
42
49
  deps: [Overlay],
43
50
  useFactory: MTX_TOOLTIP_SCROLL_STRATEGY_FACTORY,
44
51
  };
45
- /** @docs-private */
52
+ /**
53
+ * @docs-private
54
+ * @deprecated No longer used, will be removed.
55
+ * @breaking-change 21.0.0
56
+ */
46
57
  function MTX_TOOLTIP_DEFAULT_OPTIONS_FACTORY() {
47
58
  return {
48
59
  showDelay: 0,
@@ -177,16 +188,14 @@ class MtxTooltip {
177
188
  }
178
189
  }
179
190
  constructor() {
180
- this._overlay = inject(Overlay);
181
191
  this._elementRef = inject(ElementRef);
182
- this._scrollDispatcher = inject(ScrollDispatcher);
183
- this._viewContainerRef = inject(ViewContainerRef);
184
192
  this._ngZone = inject(NgZone);
185
193
  this._platform = inject(Platform);
186
194
  this._ariaDescriber = inject(AriaDescriber);
187
195
  this._focusMonitor = inject(FocusMonitor);
188
196
  this._dir = inject(Directionality);
189
197
  this._injector = inject(Injector);
198
+ this._viewContainerRef = inject(ViewContainerRef);
190
199
  this._defaultOptions = inject(MTX_TOOLTIP_DEFAULT_OPTIONS, {
191
200
  optional: true,
192
201
  });
@@ -195,13 +204,12 @@ class MtxTooltip {
195
204
  this._position = 'below';
196
205
  this._positionAtOrigin = false;
197
206
  this._disabled = false;
198
- this._scrollStrategy = inject(MTX_TOOLTIP_SCROLL_STRATEGY);
199
207
  this._viewInitialized = false;
200
208
  this._pointerExitEventsInitialized = false;
201
209
  this._tooltipComponent = TooltipComponent;
202
210
  this._viewportMargin = 8;
203
- this._cssClassPrefix = 'mtx-mdc';
204
- this._ariaDescriptionPending = false;
211
+ this._cssClassPrefix = 'mat-mdc';
212
+ this._dirSubscribed = false;
205
213
  /**
206
214
  * How touch gestures should be handled by the tooltip. On touch devices the tooltip directive
207
215
  * uses a long press gesture to show and hide, however it can conflict with the native browser
@@ -220,12 +228,12 @@ class MtxTooltip {
220
228
  this._message = '';
221
229
  /** Manually-bound passive event listeners. */
222
230
  this._passiveListeners = [];
223
- /** Reference to the current document. */
224
- this._document = inject(DOCUMENT);
225
231
  /** Timer started at the last `touchstart` event. */
226
232
  this._touchstartTimeout = null;
227
233
  /** Emits when the component is destroyed. */
228
234
  this._destroyed = new Subject();
235
+ /** Whether ngOnDestroyed has been called. */
236
+ this._isDestroyed = false;
229
237
  const defaultOptions = this._defaultOptions;
230
238
  if (defaultOptions) {
231
239
  this._showDelay = defaultOptions.showDelay;
@@ -243,11 +251,6 @@ class MtxTooltip {
243
251
  this.tooltipClass = defaultOptions.tooltipClass;
244
252
  }
245
253
  }
246
- this._dir.change.pipe(takeUntil(this._destroyed)).subscribe(() => {
247
- if (this._overlayRef) {
248
- this._updatePosition(this._overlayRef);
249
- }
250
- });
251
254
  this._viewportMargin = MIN_VIEWPORT_TOOLTIP_THRESHOLD;
252
255
  }
253
256
  ngAfterViewInit() {
@@ -287,6 +290,7 @@ class MtxTooltip {
287
290
  this._passiveListeners.length = 0;
288
291
  this._destroyed.next();
289
292
  this._destroyed.complete();
293
+ this._isDestroyed = true;
290
294
  this._ariaDescriber.removeDescription(nativeElement, this.message.toString(), 'tooltip');
291
295
  this._focusMonitor.stopMonitoring(nativeElement);
292
296
  }
@@ -343,9 +347,12 @@ class MtxTooltip {
343
347
  }
344
348
  this._detach();
345
349
  }
346
- const scrollableAncestors = this._scrollDispatcher.getAncestorScrollContainers(this._elementRef);
350
+ const scrollableAncestors = this._injector
351
+ .get(ScrollDispatcher)
352
+ .getAncestorScrollContainers(this._elementRef);
353
+ const overlay = this._injector.get(Overlay);
347
354
  // Create connected position strategy that listens for scroll events to reposition.
348
- const strategy = this._overlay
355
+ const strategy = overlay
349
356
  .position()
350
357
  .flexibleConnectedTo(this.positionAtOrigin ? origin || this._elementRef : this._elementRef)
351
358
  .withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`)
@@ -362,11 +369,11 @@ class MtxTooltip {
362
369
  }
363
370
  }
364
371
  });
365
- this._overlayRef = this._overlay.create({
372
+ this._overlayRef = overlay.create({
366
373
  direction: this._dir,
367
374
  positionStrategy: strategy,
368
375
  panelClass: `${this._cssClassPrefix}-${PANEL_CLASS}`,
369
- scrollStrategy: this._scrollStrategy(),
376
+ scrollStrategy: this._injector.get(MTX_TOOLTIP_SCROLL_STRATEGY)(),
370
377
  });
371
378
  this._updatePosition(this._overlayRef);
372
379
  this._overlayRef
@@ -390,6 +397,14 @@ class MtxTooltip {
390
397
  if (this._defaultOptions?.disableTooltipInteractivity) {
391
398
  this._overlayRef.addPanelClass(`${this._cssClassPrefix}-tooltip-panel-non-interactive`);
392
399
  }
400
+ if (!this._dirSubscribed) {
401
+ this._dirSubscribed = true;
402
+ this._dir.change.pipe(takeUntil(this._destroyed)).subscribe(() => {
403
+ if (this._overlayRef) {
404
+ this._updatePosition(this._overlayRef);
405
+ }
406
+ });
407
+ }
393
408
  return this._overlayRef;
394
409
  }
395
410
  /** Detaches the currently-attached tooltip. */
@@ -655,7 +670,9 @@ class MtxTooltip {
655
670
  /** Listener for the `wheel` event on the element. */
656
671
  _wheelListener(event) {
657
672
  if (this._isTooltipVisible()) {
658
- const elementUnderPointer = this._document.elementFromPoint(event.clientX, event.clientY);
673
+ const elementUnderPointer = this._injector
674
+ .get(DOCUMENT)
675
+ .elementFromPoint(event.clientX, event.clientY);
659
676
  const element = this._elementRef.nativeElement;
660
677
  // On non-touch devices we depend on the `mouseleave` event to close the tooltip, but it
661
678
  // won't fire if the user scrolls away using the wheel without moving their cursor. We
@@ -697,23 +714,25 @@ class MtxTooltip {
697
714
  }
698
715
  this._ariaDescriptionPending = true;
699
716
  this._ariaDescriber.removeDescription(this._elementRef.nativeElement, oldMessage.toString(), 'tooltip');
700
- this._ngZone.runOutsideAngular(() => {
701
- // The `AriaDescriber` has some functionality that avoids adding a description if it's the
702
- // same as the `aria-label` of an element, however we can't know whether the tooltip trigger
703
- // has a data-bound `aria-label` or when it'll be set for the first time. We can avoid the
704
- // issue by deferring the description by a tick so Angular has time to set the `aria-label`.
705
- Promise.resolve().then(() => {
706
- this._ariaDescriptionPending = false;
707
- if (this.message && !this.disabled) {
708
- this._ariaDescriber.describe(this._elementRef.nativeElement, this.message.toString(), 'tooltip');
709
- }
710
- });
711
- });
717
+ // The `AriaDescriber` has some functionality that avoids adding a description if it's the
718
+ // same as the `aria-label` of an element, however we can't know whether the tooltip trigger
719
+ // has a data-bound `aria-label` or when it'll be set for the first time. We can avoid the
720
+ // issue by deferring the description by a tick so Angular has time to set the `aria-label`.
721
+ if (!this._isDestroyed) {
722
+ afterNextRender({
723
+ write: () => {
724
+ this._ariaDescriptionPending = false;
725
+ if (this.message && !this.disabled) {
726
+ this._ariaDescriber.describe(this._elementRef.nativeElement, this.message.toString(), 'tooltip');
727
+ }
728
+ },
729
+ }, { injector: this._injector });
730
+ }
712
731
  }
713
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: MtxTooltip, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
714
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.6", type: MtxTooltip, isStandalone: true, selector: "[mtxTooltip]", inputs: { position: ["mtxTooltipPosition", "position"], positionAtOrigin: ["mtxTooltipPositionAtOrigin", "positionAtOrigin"], disabled: ["mtxTooltipDisabled", "disabled"], showDelay: ["mtxTooltipShowDelay", "showDelay"], hideDelay: ["mtxTooltipHideDelay", "hideDelay"], touchGestures: ["mtxTooltipTouchGestures", "touchGestures"], message: ["mtxTooltip", "message"], tooltipContext: ["mtxTooltipContext", "tooltipContext"], tooltipClass: ["mtxTooltipClass", "tooltipClass"] }, host: { properties: { "class.mtx-mdc-tooltip-disabled": "disabled" }, classAttribute: "mtx-mdc-tooltip-trigger" }, exportAs: ["mtxTooltip"], ngImport: i0 }); }
732
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: MtxTooltip, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
733
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.2", type: MtxTooltip, isStandalone: true, selector: "[mtxTooltip]", inputs: { position: ["mtxTooltipPosition", "position"], positionAtOrigin: ["mtxTooltipPositionAtOrigin", "positionAtOrigin"], disabled: ["mtxTooltipDisabled", "disabled"], showDelay: ["mtxTooltipShowDelay", "showDelay"], hideDelay: ["mtxTooltipHideDelay", "hideDelay"], touchGestures: ["mtxTooltipTouchGestures", "touchGestures"], message: ["mtxTooltip", "message"], tooltipContext: ["mtxTooltipContext", "tooltipContext"], tooltipClass: ["mtxTooltipClass", "tooltipClass"] }, host: { properties: { "class.mtx-mdc-tooltip-disabled": "disabled" }, classAttribute: "mtx-mdc-tooltip-trigger" }, exportAs: ["mtxTooltip"], ngImport: i0 }); }
715
734
  }
716
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: MtxTooltip, decorators: [{
735
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: MtxTooltip, decorators: [{
717
736
  type: Directive,
718
737
  args: [{
719
738
  selector: '[mtxTooltip]',
@@ -914,15 +933,15 @@ class TooltipComponent {
914
933
  this._finalizeAnimation(isVisible);
915
934
  }
916
935
  }
917
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
918
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.6", type: TooltipComponent, isStandalone: true, selector: "mtx-tooltip-component", host: { attributes: { "aria-hidden": "true" }, listeners: { "mouseleave": "_handleMouseLeave($event)" } }, viewQueries: [{ propertyName: "_tooltip", first: true, predicate: ["tooltip"], descendants: true, static: true }], ngImport: i0, template: "<div\n #tooltip\n class=\"mdc-tooltip mtx-mdc-tooltip\"\n [ngClass]=\"tooltipClass\"\n (animationend)=\"_handleAnimationEnd($event)\"\n [class.mdc-tooltip--multiline]=\"_isMultiline\"\n>\n <div class=\"mtx-mdc-tooltip-surface mdc-tooltip__surface\">\n @if (message | isTemplateRef) {\n <ng-template\n [ngTemplateOutlet]=\"$any(message)\"\n [ngTemplateOutletContext]=\"{ $implicit: tooltipContext }\"\n ></ng-template>\n } @else {\n {{ message }}\n }\n </div>\n</div>\n", styles: [".mtx-mdc-tooltip{position:relative;transform:scale(0);display:inline-flex}.mtx-mdc-tooltip:before{content:\"\";inset:0;z-index:-1;position:absolute}.mtx-mdc-tooltip-panel-below .mtx-mdc-tooltip:before{top:-8px}.mtx-mdc-tooltip-panel-above .mtx-mdc-tooltip:before{bottom:-8px}.mtx-mdc-tooltip-panel-right .mtx-mdc-tooltip:before{left:-8px}.mtx-mdc-tooltip-panel-left .mtx-mdc-tooltip:before{right:-8px}.mtx-mdc-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.mtx-mdc-tooltip-surface{word-break:normal;overflow-wrap:anywhere;padding:4px 8px;min-width:40px;max-width:200px;min-height:24px;max-height:40vh;box-sizing:border-box;overflow:hidden;text-align:center;will-change:transform,opacity;background-color:var(--mdc-plain-tooltip-container-color, var(--mat-sys-inverse-surface));color:var(--mdc-plain-tooltip-supporting-text-color, var(--mat-sys-inverse-on-surface));border-radius:var(--mdc-plain-tooltip-container-shape, var(--mat-sys-corner-extra-small));font-family:var(--mdc-plain-tooltip-supporting-text-font, var(--mat-sys-body-small-font));font-size:var(--mdc-plain-tooltip-supporting-text-size, var(--mat-sys-body-small-size));font-weight:var(--mdc-plain-tooltip-supporting-text-weight, var(--mat-sys-body-small-weight));line-height:var(--mdc-plain-tooltip-supporting-text-line-height, var(--mat-sys-body-small-line-height));letter-spacing:var(--mdc-plain-tooltip-supporting-text-tracking, var(--mat-sys-body-small-tracking))}.mtx-mdc-tooltip-surface:before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid transparent;border-radius:inherit;content:\"\";pointer-events:none}.mdc-tooltip--multiline .mtx-mdc-tooltip-surface{text-align:left}[dir=rtl] .mdc-tooltip--multiline .mtx-mdc-tooltip-surface{text-align:right}.mtx-mdc-tooltip-panel{line-height:normal}.mtx-mdc-tooltip-panel.mtx-mdc-tooltip-panel-non-interactive{pointer-events:none}@keyframes mtx-mdc-tooltip-show{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes mtx-mdc-tooltip-hide{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.mtx-mdc-tooltip-show{animation:mtx-mdc-tooltip-show .15s cubic-bezier(0,0,.2,1) forwards}.mtx-mdc-tooltip-hide{animation:mtx-mdc-tooltip-hide 75ms cubic-bezier(.4,0,1,1) forwards}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: MtxIsTemplateRefPipe, name: "isTemplateRef" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
936
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
937
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: TooltipComponent, isStandalone: true, selector: "mtx-tooltip-component", host: { attributes: { "aria-hidden": "true" }, listeners: { "mouseleave": "_handleMouseLeave($event)" } }, viewQueries: [{ propertyName: "_tooltip", first: true, predicate: ["tooltip"], descendants: true, static: true }], ngImport: i0, template: "<div\n #tooltip\n class=\"mdc-tooltip mtx-mdc-tooltip\"\n [ngClass]=\"tooltipClass\"\n (animationend)=\"_handleAnimationEnd($event)\"\n [class.mdc-tooltip--multiline]=\"_isMultiline\"\n>\n <div class=\"mtx-mdc-tooltip-surface mdc-tooltip__surface\">\n @if (message | isTemplateRef) {\n <ng-template\n [ngTemplateOutlet]=\"$any(message)\"\n [ngTemplateOutletContext]=\"{ $implicit: tooltipContext }\"\n ></ng-template>\n } @else {\n {{ message }}\n }\n </div>\n</div>\n", styles: [".mtx-mdc-tooltip{position:relative;transform:scale(0);display:inline-flex}.mtx-mdc-tooltip:before{content:\"\";inset:0;z-index:-1;position:absolute}.mtx-mdc-tooltip-panel-below .mtx-mdc-tooltip:before{top:-8px}.mtx-mdc-tooltip-panel-above .mtx-mdc-tooltip:before{bottom:-8px}.mtx-mdc-tooltip-panel-right .mtx-mdc-tooltip:before{left:-8px}.mtx-mdc-tooltip-panel-left .mtx-mdc-tooltip:before{right:-8px}.mtx-mdc-tooltip._mtx-animation-noopable{animation:none;transform:scale(1)}.mtx-mdc-tooltip-surface{word-break:normal;overflow-wrap:anywhere;padding:4px 8px;min-width:40px;max-width:200px;min-height:24px;max-height:40vh;box-sizing:border-box;overflow:hidden;text-align:center;will-change:transform,opacity;background-color:var(--mdc-plain-tooltip-container-color, var(--mat-sys-inverse-surface));color:var(--mdc-plain-tooltip-supporting-text-color, var(--mat-sys-inverse-on-surface));border-radius:var(--mdc-plain-tooltip-container-shape, var(--mat-sys-corner-extra-small));font-family:var(--mdc-plain-tooltip-supporting-text-font, var(--mat-sys-body-small-font));font-size:var(--mdc-plain-tooltip-supporting-text-size, var(--mat-sys-body-small-size));font-weight:var(--mdc-plain-tooltip-supporting-text-weight, var(--mat-sys-body-small-weight));line-height:var(--mdc-plain-tooltip-supporting-text-line-height, var(--mat-sys-body-small-line-height));letter-spacing:var(--mdc-plain-tooltip-supporting-text-tracking, var(--mat-sys-body-small-tracking))}.mtx-mdc-tooltip-surface:before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid transparent;border-radius:inherit;content:\"\";pointer-events:none}.mdc-tooltip--multiline .mtx-mdc-tooltip-surface{text-align:left}[dir=rtl] .mdc-tooltip--multiline .mtx-mdc-tooltip-surface{text-align:right}.mtx-mdc-tooltip-panel{line-height:normal}.mtx-mdc-tooltip-panel.mtx-mdc-tooltip-panel-non-interactive{pointer-events:none}@keyframes mtx-mdc-tooltip-show{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes mtx-mdc-tooltip-hide{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.mtx-mdc-tooltip-show{animation:mtx-mdc-tooltip-show .15s cubic-bezier(0,0,.2,1) forwards}.mtx-mdc-tooltip-hide{animation:mtx-mdc-tooltip-hide 75ms cubic-bezier(.4,0,1,1) forwards}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: MtxIsTemplateRefPipe, name: "isTemplateRef" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
919
938
  }
920
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: TooltipComponent, decorators: [{
939
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: TooltipComponent, decorators: [{
921
940
  type: Component,
922
941
  args: [{ selector: 'mtx-tooltip-component', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
923
942
  '(mouseleave)': '_handleMouseLeave($event)',
924
943
  'aria-hidden': 'true',
925
- }, imports: [NgClass, NgTemplateOutlet, MtxIsTemplateRefPipe], template: "<div\n #tooltip\n class=\"mdc-tooltip mtx-mdc-tooltip\"\n [ngClass]=\"tooltipClass\"\n (animationend)=\"_handleAnimationEnd($event)\"\n [class.mdc-tooltip--multiline]=\"_isMultiline\"\n>\n <div class=\"mtx-mdc-tooltip-surface mdc-tooltip__surface\">\n @if (message | isTemplateRef) {\n <ng-template\n [ngTemplateOutlet]=\"$any(message)\"\n [ngTemplateOutletContext]=\"{ $implicit: tooltipContext }\"\n ></ng-template>\n } @else {\n {{ message }}\n }\n </div>\n</div>\n", styles: [".mtx-mdc-tooltip{position:relative;transform:scale(0);display:inline-flex}.mtx-mdc-tooltip:before{content:\"\";inset:0;z-index:-1;position:absolute}.mtx-mdc-tooltip-panel-below .mtx-mdc-tooltip:before{top:-8px}.mtx-mdc-tooltip-panel-above .mtx-mdc-tooltip:before{bottom:-8px}.mtx-mdc-tooltip-panel-right .mtx-mdc-tooltip:before{left:-8px}.mtx-mdc-tooltip-panel-left .mtx-mdc-tooltip:before{right:-8px}.mtx-mdc-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.mtx-mdc-tooltip-surface{word-break:normal;overflow-wrap:anywhere;padding:4px 8px;min-width:40px;max-width:200px;min-height:24px;max-height:40vh;box-sizing:border-box;overflow:hidden;text-align:center;will-change:transform,opacity;background-color:var(--mdc-plain-tooltip-container-color, var(--mat-sys-inverse-surface));color:var(--mdc-plain-tooltip-supporting-text-color, var(--mat-sys-inverse-on-surface));border-radius:var(--mdc-plain-tooltip-container-shape, var(--mat-sys-corner-extra-small));font-family:var(--mdc-plain-tooltip-supporting-text-font, var(--mat-sys-body-small-font));font-size:var(--mdc-plain-tooltip-supporting-text-size, var(--mat-sys-body-small-size));font-weight:var(--mdc-plain-tooltip-supporting-text-weight, var(--mat-sys-body-small-weight));line-height:var(--mdc-plain-tooltip-supporting-text-line-height, var(--mat-sys-body-small-line-height));letter-spacing:var(--mdc-plain-tooltip-supporting-text-tracking, var(--mat-sys-body-small-tracking))}.mtx-mdc-tooltip-surface:before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid transparent;border-radius:inherit;content:\"\";pointer-events:none}.mdc-tooltip--multiline .mtx-mdc-tooltip-surface{text-align:left}[dir=rtl] .mdc-tooltip--multiline .mtx-mdc-tooltip-surface{text-align:right}.mtx-mdc-tooltip-panel{line-height:normal}.mtx-mdc-tooltip-panel.mtx-mdc-tooltip-panel-non-interactive{pointer-events:none}@keyframes mtx-mdc-tooltip-show{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes mtx-mdc-tooltip-hide{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.mtx-mdc-tooltip-show{animation:mtx-mdc-tooltip-show .15s cubic-bezier(0,0,.2,1) forwards}.mtx-mdc-tooltip-hide{animation:mtx-mdc-tooltip-hide 75ms cubic-bezier(.4,0,1,1) forwards}\n"] }]
944
+ }, imports: [NgClass, NgTemplateOutlet, MtxIsTemplateRefPipe], template: "<div\n #tooltip\n class=\"mdc-tooltip mtx-mdc-tooltip\"\n [ngClass]=\"tooltipClass\"\n (animationend)=\"_handleAnimationEnd($event)\"\n [class.mdc-tooltip--multiline]=\"_isMultiline\"\n>\n <div class=\"mtx-mdc-tooltip-surface mdc-tooltip__surface\">\n @if (message | isTemplateRef) {\n <ng-template\n [ngTemplateOutlet]=\"$any(message)\"\n [ngTemplateOutletContext]=\"{ $implicit: tooltipContext }\"\n ></ng-template>\n } @else {\n {{ message }}\n }\n </div>\n</div>\n", styles: [".mtx-mdc-tooltip{position:relative;transform:scale(0);display:inline-flex}.mtx-mdc-tooltip:before{content:\"\";inset:0;z-index:-1;position:absolute}.mtx-mdc-tooltip-panel-below .mtx-mdc-tooltip:before{top:-8px}.mtx-mdc-tooltip-panel-above .mtx-mdc-tooltip:before{bottom:-8px}.mtx-mdc-tooltip-panel-right .mtx-mdc-tooltip:before{left:-8px}.mtx-mdc-tooltip-panel-left .mtx-mdc-tooltip:before{right:-8px}.mtx-mdc-tooltip._mtx-animation-noopable{animation:none;transform:scale(1)}.mtx-mdc-tooltip-surface{word-break:normal;overflow-wrap:anywhere;padding:4px 8px;min-width:40px;max-width:200px;min-height:24px;max-height:40vh;box-sizing:border-box;overflow:hidden;text-align:center;will-change:transform,opacity;background-color:var(--mdc-plain-tooltip-container-color, var(--mat-sys-inverse-surface));color:var(--mdc-plain-tooltip-supporting-text-color, var(--mat-sys-inverse-on-surface));border-radius:var(--mdc-plain-tooltip-container-shape, var(--mat-sys-corner-extra-small));font-family:var(--mdc-plain-tooltip-supporting-text-font, var(--mat-sys-body-small-font));font-size:var(--mdc-plain-tooltip-supporting-text-size, var(--mat-sys-body-small-size));font-weight:var(--mdc-plain-tooltip-supporting-text-weight, var(--mat-sys-body-small-weight));line-height:var(--mdc-plain-tooltip-supporting-text-line-height, var(--mat-sys-body-small-line-height));letter-spacing:var(--mdc-plain-tooltip-supporting-text-tracking, var(--mat-sys-body-small-tracking))}.mtx-mdc-tooltip-surface:before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid transparent;border-radius:inherit;content:\"\";pointer-events:none}.mdc-tooltip--multiline .mtx-mdc-tooltip-surface{text-align:left}[dir=rtl] .mdc-tooltip--multiline .mtx-mdc-tooltip-surface{text-align:right}.mtx-mdc-tooltip-panel{line-height:normal}.mtx-mdc-tooltip-panel.mtx-mdc-tooltip-panel-non-interactive{pointer-events:none}@keyframes mtx-mdc-tooltip-show{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes mtx-mdc-tooltip-hide{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.mtx-mdc-tooltip-show{animation:mtx-mdc-tooltip-show .15s cubic-bezier(0,0,.2,1) forwards}.mtx-mdc-tooltip-hide{animation:mtx-mdc-tooltip-hide 75ms cubic-bezier(.4,0,1,1) forwards}\n"] }]
926
945
  }], ctorParameters: () => [], propDecorators: { _tooltip: [{
927
946
  type: ViewChild,
928
947
  args: ['tooltip', {
@@ -933,21 +952,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImpor
933
952
  }] } });
934
953
 
935
954
  class MtxTooltipModule {
936
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: MtxTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
937
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.6", ngImport: i0, type: MtxTooltipModule, imports: [A11yModule,
955
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: MtxTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
956
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.2", ngImport: i0, type: MtxTooltipModule, imports: [A11yModule,
938
957
  CommonModule,
939
958
  OverlayModule,
940
959
  MatCommonModule,
941
960
  MtxPipesModule,
942
961
  MtxTooltip,
943
962
  TooltipComponent], exports: [MtxTooltip, TooltipComponent, MatCommonModule, CdkScrollableModule] }); }
944
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: MtxTooltipModule, providers: [MTX_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [A11yModule,
963
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: MtxTooltipModule, providers: [MTX_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [A11yModule,
945
964
  CommonModule,
946
965
  OverlayModule,
947
966
  MatCommonModule,
948
967
  MtxPipesModule, MatCommonModule, CdkScrollableModule] }); }
949
968
  }
950
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: MtxTooltipModule, decorators: [{
969
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: MtxTooltipModule, decorators: [{
951
970
  type: NgModule,
952
971
  args: [{
953
972
  imports: [
@@ -967,17 +986,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImpor
967
986
  /**
968
987
  * Animations used by MatTooltip.
969
988
  * @docs-private
989
+ * @deprecated No longer being used, to be removed.
990
+ * @breaking-change 21.0.0
970
991
  */
971
992
  const matTooltipAnimations = {
993
+ // Represents:
994
+ // trigger('state', [
995
+ // state('initial, void, hidden', style({opacity: 0, transform: 'scale(0.8)'})),
996
+ // state('visible', style({transform: 'scale(1)'})),
997
+ // transition('* => visible', animate('150ms cubic-bezier(0, 0, 0.2, 1)')),
998
+ // transition('* => hidden', animate('75ms cubic-bezier(0.4, 0, 1, 1)')),
999
+ // ])
972
1000
  /** Animation that transitions a tooltip in and out. */
973
- tooltipState: trigger('state', [
974
- // TODO(crisbeto): these values are based on MDC's CSS.
975
- // We should be able to use their styles directly once we land #19432.
976
- state('initial, void, hidden', style({ opacity: 0, transform: 'scale(0.8)' })),
977
- state('visible', style({ transform: 'scale(1)' })),
978
- transition('* => visible', animate('150ms cubic-bezier(0, 0, 0.2, 1)')),
979
- transition('* => hidden', animate('75ms cubic-bezier(0.4, 0, 1, 1)')),
980
- ]),
1001
+ tooltipState: {
1002
+ type: 7,
1003
+ name: 'state',
1004
+ definitions: [
1005
+ {
1006
+ type: 0,
1007
+ name: 'initial, void, hidden',
1008
+ styles: { type: 6, styles: { opacity: 0, transform: 'scale(0.8)' }, offset: null },
1009
+ },
1010
+ {
1011
+ type: 0,
1012
+ name: 'visible',
1013
+ styles: { type: 6, styles: { transform: 'scale(1)' }, offset: null },
1014
+ },
1015
+ {
1016
+ type: 1,
1017
+ expr: '* => visible',
1018
+ animation: { type: 4, styles: null, timings: '150ms cubic-bezier(0, 0, 0.2, 1)' },
1019
+ options: null,
1020
+ },
1021
+ {
1022
+ type: 1,
1023
+ expr: '* => hidden',
1024
+ animation: { type: 4, styles: null, timings: '75ms cubic-bezier(0.4, 0, 1, 1)' },
1025
+ options: null,
1026
+ },
1027
+ ],
1028
+ options: {},
1029
+ },
981
1030
  };
982
1031
 
983
1032
  /**