@angular/material-experimental 14.0.0-rc.2 → 14.1.0-next.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 (41) hide show
  1. package/esm2020/mdc-checkbox/checkbox.mjs +15 -3
  2. package/esm2020/mdc-form-field/form-field.mjs +8 -2
  3. package/esm2020/mdc-list/testing/list-harness-filters.mjs +1 -1
  4. package/esm2020/mdc-list/testing/nav-list-harness.mjs +8 -2
  5. package/esm2020/mdc-progress-bar/progress-bar.mjs +38 -102
  6. package/esm2020/mdc-radio/radio.mjs +2 -2
  7. package/esm2020/mdc-snack-bar/snack-bar-container.mjs +23 -205
  8. package/esm2020/version.mjs +1 -1
  9. package/fesm2015/material-experimental.mjs +1 -1
  10. package/fesm2015/material-experimental.mjs.map +1 -1
  11. package/fesm2015/mdc-checkbox.mjs +14 -2
  12. package/fesm2015/mdc-checkbox.mjs.map +1 -1
  13. package/fesm2015/mdc-form-field.mjs +7 -1
  14. package/fesm2015/mdc-form-field.mjs.map +1 -1
  15. package/fesm2015/mdc-list/testing.mjs +9 -1
  16. package/fesm2015/mdc-list/testing.mjs.map +1 -1
  17. package/fesm2015/mdc-progress-bar.mjs +36 -100
  18. package/fesm2015/mdc-progress-bar.mjs.map +1 -1
  19. package/fesm2015/mdc-radio.mjs +2 -2
  20. package/fesm2015/mdc-radio.mjs.map +1 -1
  21. package/fesm2015/mdc-snack-bar.mjs +27 -208
  22. package/fesm2015/mdc-snack-bar.mjs.map +1 -1
  23. package/fesm2020/material-experimental.mjs +1 -1
  24. package/fesm2020/material-experimental.mjs.map +1 -1
  25. package/fesm2020/mdc-checkbox.mjs +14 -2
  26. package/fesm2020/mdc-checkbox.mjs.map +1 -1
  27. package/fesm2020/mdc-form-field.mjs +7 -1
  28. package/fesm2020/mdc-form-field.mjs.map +1 -1
  29. package/fesm2020/mdc-list/testing.mjs +7 -1
  30. package/fesm2020/mdc-list/testing.mjs.map +1 -1
  31. package/fesm2020/mdc-progress-bar.mjs +36 -99
  32. package/fesm2020/mdc-progress-bar.mjs.map +1 -1
  33. package/fesm2020/mdc-radio.mjs +2 -2
  34. package/fesm2020/mdc-radio.mjs.map +1 -1
  35. package/fesm2020/mdc-snack-bar.mjs +27 -206
  36. package/fesm2020/mdc-snack-bar.mjs.map +1 -1
  37. package/mdc-checkbox/index.d.ts +8 -0
  38. package/mdc-list/testing/index.d.ts +3 -0
  39. package/mdc-progress-bar/index.d.ts +14 -17
  40. package/mdc-snack-bar/index.d.ts +4 -68
  41. package/package.json +8 -8
@@ -1 +1 @@
1
- {"version":3,"file":"mdc-snack-bar.mjs","sources":["../../../../../../src/material-experimental/mdc-snack-bar/snack-bar-content.ts","../../../../../../src/material-experimental/mdc-snack-bar/simple-snack-bar.ts","../../../../../../src/material-experimental/mdc-snack-bar/simple-snack-bar.html","../../../../../../src/material-experimental/mdc-snack-bar/snack-bar-container.ts","../../../../../../src/material-experimental/mdc-snack-bar/snack-bar-container.html","../../../../../../src/material-experimental/mdc-snack-bar/module.ts","../../../../../../src/material-experimental/mdc-snack-bar/snack-bar.ts","../../../../../../src/material-experimental/mdc-snack-bar/public-api.ts","../../../../../../src/material-experimental/mdc-snack-bar/index.ts","../../../../../../src/material-experimental/mdc-snack-bar/mdc-snack-bar_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive} from '@angular/core';\n\n/** Directive that should be applied to the text element to be rendered in the snack bar. */\n@Directive({\n selector: `[matSnackBarLabel]`,\n host: {\n 'class': 'mat-mdc-snack-bar-label mdc-snackbar__label',\n },\n})\nexport class MatSnackBarLabel {}\n\n/** Directive that should be applied to the element containing the snack bar's action buttons. */\n@Directive({\n selector: `[matSnackBarActions]`,\n host: {\n 'class': 'mat-mdc-snack-bar-actions mdc-snackbar__actions',\n },\n})\nexport class MatSnackBarActions {}\n\n/** Directive that should be applied to each of the snack bar's action buttons. */\n@Directive({\n selector: `[matSnackBarAction]`,\n host: {\n 'class': 'mat-mdc-snack-bar-action mdc-snackbar__action',\n },\n})\nexport class MatSnackBarAction {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ChangeDetectionStrategy, Component, Inject, ViewEncapsulation} from '@angular/core';\nimport {MAT_SNACK_BAR_DATA, TextOnlySnackBar, MatSnackBarRef} from '@angular/material/snack-bar';\n\n@Component({\n selector: 'simple-snack-bar',\n templateUrl: 'simple-snack-bar.html',\n styleUrls: ['simple-snack-bar.css'],\n exportAs: 'matSnackBar',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'mat-mdc-simple-snack-bar',\n },\n})\nexport class SimpleSnackBar implements TextOnlySnackBar {\n constructor(\n public snackBarRef: MatSnackBarRef<SimpleSnackBar>,\n @Inject(MAT_SNACK_BAR_DATA) public data: {message: string; action: string},\n ) {}\n\n /** Performs the action on the snack bar. */\n action(): void {\n this.snackBarRef.dismissWithAction();\n }\n\n /** If the action button should be shown. */\n get hasAction(): boolean {\n return !!this.data.action;\n }\n}\n","<div matSnackBarLabel>\n {{data.message}}\n</div>\n\n<div matSnackBarActions *ngIf=\"hasAction\">\n <button mat-button matSnackBarAction (click)=\"action()\">\n {{data.action}}\n </button>\n</div>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {AriaLivePoliteness} from '@angular/cdk/a11y';\nimport {\n BasePortalOutlet,\n CdkPortalOutlet,\n ComponentPortal,\n TemplatePortal,\n} from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n ElementRef,\n EmbeddedViewRef,\n Inject,\n NgZone,\n OnDestroy,\n Optional,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {MatSnackBarConfig, _SnackBarContainer} from '@angular/material/snack-bar';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {MDCSnackbarAdapter, MDCSnackbarFoundation, cssClasses} from '@material/snackbar';\nimport {Platform} from '@angular/cdk/platform';\nimport {Observable, Subject} from 'rxjs';\n\n/**\n * The MDC label class that should wrap the label content of the snack bar.\n * @docs-private\n */\nconst MDC_SNACKBAR_LABEL_CLASS = 'mdc-snackbar__label';\n\n/**\n * Internal component that wraps user-provided snack bar content.\n * @docs-private\n */\n@Component({\n selector: 'mat-snack-bar-container',\n templateUrl: 'snack-bar-container.html',\n styleUrls: ['snack-bar-container.css'],\n // In Ivy embedded views will be change detected from their declaration place, rather than\n // where they were stamped out. This means that we can't have the snack bar container be OnPush,\n // because it might cause snack bars that were opened from a template not to be out of date.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'mdc-snackbar mat-mdc-snack-bar-container',\n '[class.mat-snack-bar-container]': 'false',\n // Mark this element with a 'mat-exit' attribute to indicate that the snackbar has\n // been dismissed and will soon be removed from the DOM. This is used by the snackbar\n // test harness.\n '[attr.mat-exit]': `_exiting ? '' : null`,\n '[class._mat-animation-noopable]': `_animationMode === 'NoopAnimations'`,\n },\n})\nexport class MatSnackBarContainer\n extends BasePortalOutlet\n implements _SnackBarContainer, OnDestroy\n{\n /** The number of milliseconds to wait before announcing the snack bar's content. */\n private readonly _announceDelay: number = 150;\n\n /** The timeout for announcing the snack bar's content. */\n private _announceTimeoutId: number;\n\n /** Subject for notifying that the snack bar has announced to screen readers. */\n readonly _onAnnounce: Subject<void> = new Subject();\n\n /** Subject for notifying that the snack bar has exited from view. */\n readonly _onExit: Subject<void> = new Subject();\n\n /** Subject for notifying that the snack bar has finished entering the view. */\n readonly _onEnter: Subject<void> = new Subject();\n\n /** aria-live value for the live region. */\n _live: AriaLivePoliteness;\n\n /** Whether the snack bar is currently exiting. */\n _exiting = false;\n\n /**\n * Role of the live region. This is only for Firefox as there is a known issue where Firefox +\n * JAWS does not read out aria-live message.\n */\n _role?: 'status' | 'alert';\n\n private _mdcAdapter: MDCSnackbarAdapter = {\n addClass: (className: string) => this._setClass(className, true),\n removeClass: (className: string) => this._setClass(className, false),\n announce: () => {},\n notifyClosed: () => this._finishExit(),\n notifyClosing: () => {},\n notifyOpened: () => this._onEnter.next(),\n notifyOpening: () => {},\n };\n\n _mdcFoundation = new MDCSnackbarFoundation(this._mdcAdapter);\n\n /** The portal outlet inside of this container into which the snack bar content will be loaded. */\n @ViewChild(CdkPortalOutlet, {static: true}) _portalOutlet: CdkPortalOutlet;\n\n /** Element that acts as the MDC surface container which should contain the label and actions. */\n @ViewChild('surface', {static: true}) _surface: ElementRef;\n\n /**\n * Element that will have the `mdc-snackbar__label` class applied if the attached component\n * or template does not have it. This ensures that the appropriate structure, typography, and\n * color is applied to the attached view.\n */\n @ViewChild('label', {static: true}) _label: ElementRef;\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n public snackBarConfig: MatSnackBarConfig,\n private _platform: Platform,\n private _ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) public _animationMode?: string,\n ) {\n super();\n\n // Use aria-live rather than a live role like 'alert' or 'status'\n // because NVDA and JAWS have show inconsistent behavior with live roles.\n if (snackBarConfig.politeness === 'assertive' && !snackBarConfig.announcementMessage) {\n this._live = 'assertive';\n } else if (snackBarConfig.politeness === 'off') {\n this._live = 'off';\n } else {\n this._live = 'polite';\n }\n\n // Only set role for Firefox. Set role based on aria-live because setting role=\"alert\" implies\n // aria-live=\"assertive\" which may cause issues if aria-live is set to \"polite\" above.\n if (this._platform.FIREFOX) {\n if (this._live === 'polite') {\n this._role = 'status';\n }\n if (this._live === 'assertive') {\n this._role = 'alert';\n }\n }\n\n // `MatSnackBar` will use the config's timeout to determine when the snack bar should be closed.\n // Set this to `-1` to mark it as indefinitely open so that MDC does not close itself.\n this._mdcFoundation.setTimeoutMs(-1);\n }\n\n /** Makes sure the exit callbacks have been invoked when the element is destroyed. */\n ngOnDestroy() {\n this._mdcFoundation.close();\n }\n\n enter() {\n // MDC uses some browser APIs that will throw during server-side rendering.\n if (this._platform.isBrowser) {\n this._ngZone.run(() => {\n this._mdcFoundation.open();\n this._screenReaderAnnounce();\n });\n }\n }\n\n exit(): Observable<void> {\n const classList = this._elementRef.nativeElement.classList;\n\n // MDC won't complete the closing sequence if it starts while opening hasn't finished.\n // If that's the case, destroy immediately to ensure that our stream emits as expected.\n if (classList.contains(cssClasses.OPENING) || !classList.contains(cssClasses.OPEN)) {\n this._finishExit();\n } else {\n // It's common for snack bars to be opened by random outside calls like HTTP requests or\n // errors. Run inside the NgZone to ensure that it functions correctly.\n this._ngZone.run(() => {\n this._exiting = true;\n this._mdcFoundation.close();\n });\n }\n\n // If the snack bar hasn't been announced by the time it exits it wouldn't have been open\n // long enough to visually read it either, so clear the timeout for announcing.\n clearTimeout(this._announceTimeoutId);\n\n return this._onExit;\n }\n\n /** Attach a component portal as content to this snack bar container. */\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n this._assertNotAttached();\n this._applySnackBarClasses();\n const componentRef = this._portalOutlet.attachComponentPortal(portal);\n this._applyLabelClass();\n return componentRef;\n }\n\n /** Attach a template portal as content to this snack bar container. */\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n this._assertNotAttached();\n this._applySnackBarClasses();\n const viewRef = this._portalOutlet.attachTemplatePortal(portal);\n this._applyLabelClass();\n return viewRef;\n }\n\n private _setClass(cssClass: string, active: boolean) {\n this._elementRef.nativeElement.classList.toggle(cssClass, active);\n }\n\n /** Applies the user-configured CSS classes to the snack bar. */\n private _applySnackBarClasses() {\n const panelClasses = this.snackBarConfig.panelClass;\n if (panelClasses) {\n if (Array.isArray(panelClasses)) {\n // Note that we can't use a spread here, because IE doesn't support multiple arguments.\n panelClasses.forEach(cssClass => this._setClass(cssClass, true));\n } else {\n this._setClass(panelClasses, true);\n }\n }\n }\n\n /** Asserts that no content is already attached to the container. */\n private _assertNotAttached() {\n if (this._portalOutlet.hasAttached() && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Attempting to attach snack bar content after content is already attached');\n }\n }\n\n /** Finishes the exit sequence of the container. */\n private _finishExit() {\n this._onExit.next();\n this._onExit.complete();\n\n if (this._platform.isBrowser) {\n this._mdcFoundation.destroy();\n }\n }\n\n /**\n * Starts a timeout to move the snack bar content to the live region so screen readers will\n * announce it.\n */\n private _screenReaderAnnounce() {\n if (!this._announceTimeoutId) {\n this._ngZone.runOutsideAngular(() => {\n this._announceTimeoutId = setTimeout(() => {\n const inertElement = this._elementRef.nativeElement.querySelector('[aria-hidden]');\n const liveElement = this._elementRef.nativeElement.querySelector('[aria-live]');\n\n if (inertElement && liveElement) {\n // If an element in the snack bar content is focused before being moved\n // track it and restore focus after moving to the live region.\n let focusedElement: HTMLElement | null = null;\n if (\n document.activeElement instanceof HTMLElement &&\n inertElement.contains(document.activeElement)\n ) {\n focusedElement = document.activeElement;\n }\n\n inertElement.removeAttribute('aria-hidden');\n liveElement.appendChild(inertElement);\n focusedElement?.focus();\n\n this._onAnnounce.next();\n this._onAnnounce.complete();\n }\n }, this._announceDelay);\n });\n }\n }\n\n /** Applies the correct CSS class to the label based on its content. */\n private _applyLabelClass() {\n // Check to see if the attached component or template uses the MDC template structure,\n // specifically the MDC label. If not, the container should apply the MDC label class to this\n // component's label container, which will apply MDC's label styles to the attached view.\n const label = this._label.nativeElement;\n\n if (!label.querySelector(`.${MDC_SNACKBAR_LABEL_CLASS}`)) {\n label.classList.add(MDC_SNACKBAR_LABEL_CLASS);\n } else {\n label.classList.remove(MDC_SNACKBAR_LABEL_CLASS);\n }\n }\n}\n","<div class=\"mdc-snackbar__surface\" #surface>\n <!--\n This outer label wrapper will have the class `mdc-snackbar__label` applied if\n the attached template/component does not contain it.\n -->\n <div class=\"mat-mdc-snack-bar-label\" #label>\n <!-- Initialy holds the snack bar content, will be empty after announcing to screen readers. -->\n <div aria-hidden=\"true\">\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n\n <!-- Will receive the snack bar content from the non-live div, move will happen a short delay after opening -->\n <div [attr.aria-live]=\"_live\" [attr.role]=\"_role\"></div>\n </div>\n</div>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatButtonModule} from '@angular/material-experimental/mdc-button';\nimport {MatCommonModule} from '@angular/material-experimental/mdc-core';\n\nimport {SimpleSnackBar} from './simple-snack-bar';\nimport {MatSnackBarContainer} from './snack-bar-container';\nimport {MatSnackBarAction, MatSnackBarActions, MatSnackBarLabel} from './snack-bar-content';\n\n@NgModule({\n imports: [OverlayModule, PortalModule, CommonModule, MatButtonModule, MatCommonModule],\n exports: [\n MatCommonModule,\n MatSnackBarContainer,\n MatSnackBarLabel,\n MatSnackBarActions,\n MatSnackBarAction,\n ],\n declarations: [\n SimpleSnackBar,\n MatSnackBarContainer,\n MatSnackBarLabel,\n MatSnackBarActions,\n MatSnackBarAction,\n ],\n})\nexport class MatSnackBarModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {LiveAnnouncer} from '@angular/cdk/a11y';\nimport {BreakpointObserver} from '@angular/cdk/layout';\nimport {Overlay} from '@angular/cdk/overlay';\nimport {Inject, Injectable, Injector, Optional, SkipSelf} from '@angular/core';\nimport {\n MatSnackBarConfig,\n MAT_SNACK_BAR_DEFAULT_OPTIONS,\n _MatSnackBarBase,\n} from '@angular/material/snack-bar';\nimport {MatSnackBarModule} from './module';\nimport {SimpleSnackBar} from './simple-snack-bar';\nimport {MatSnackBarContainer} from './snack-bar-container';\n\n/**\n * Service to dispatch Material Design snack bar messages.\n */\n@Injectable({providedIn: MatSnackBarModule})\nexport class MatSnackBar extends _MatSnackBarBase {\n protected override simpleSnackBarComponent = SimpleSnackBar;\n protected override snackBarContainerComponent = MatSnackBarContainer;\n protected override handsetCssClass = 'mat-mdc-snack-bar-handset';\n\n constructor(\n overlay: Overlay,\n live: LiveAnnouncer,\n injector: Injector,\n breakpointObserver: BreakpointObserver,\n @Optional() @SkipSelf() parentSnackBar: MatSnackBar,\n @Inject(MAT_SNACK_BAR_DEFAULT_OPTIONS) defaultConfig: MatSnackBarConfig,\n ) {\n super(overlay, live, injector, breakpointObserver, parentSnackBar, defaultConfig);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './simple-snack-bar';\nexport * from './snack-bar-container';\nexport * from './snack-bar-content';\nexport * from './snack-bar';\nexport * from './module';\n\nexport {\n MatSnackBarConfig,\n MatSnackBarDismiss,\n MatSnackBarRef,\n MAT_SNACK_BAR_DATA,\n MAT_SNACK_BAR_DEFAULT_OPTIONS,\n MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY,\n MatSnackBarHorizontalPosition,\n MatSnackBarVerticalPosition,\n TextOnlySnackBar,\n matSnackBarAnimations,\n} from '@angular/material/snack-bar';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4.MatSnackBarLabel","i4.MatSnackBarActions","i4.MatSnackBarAction","i3","i1","i2"],"mappings":"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"}
1
+ {"version":3,"file":"mdc-snack-bar.mjs","sources":["../../../../../../src/material-experimental/mdc-snack-bar/snack-bar-content.ts","../../../../../../src/material-experimental/mdc-snack-bar/simple-snack-bar.ts","../../../../../../src/material-experimental/mdc-snack-bar/simple-snack-bar.html","../../../../../../src/material-experimental/mdc-snack-bar/snack-bar-container.ts","../../../../../../src/material-experimental/mdc-snack-bar/snack-bar-container.html","../../../../../../src/material-experimental/mdc-snack-bar/module.ts","../../../../../../src/material-experimental/mdc-snack-bar/snack-bar.ts","../../../../../../src/material-experimental/mdc-snack-bar/public-api.ts","../../../../../../src/material-experimental/mdc-snack-bar/index.ts","../../../../../../src/material-experimental/mdc-snack-bar/mdc-snack-bar_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive} from '@angular/core';\n\n/** Directive that should be applied to the text element to be rendered in the snack bar. */\n@Directive({\n selector: `[matSnackBarLabel]`,\n host: {\n 'class': 'mat-mdc-snack-bar-label mdc-snackbar__label',\n },\n})\nexport class MatSnackBarLabel {}\n\n/** Directive that should be applied to the element containing the snack bar's action buttons. */\n@Directive({\n selector: `[matSnackBarActions]`,\n host: {\n 'class': 'mat-mdc-snack-bar-actions mdc-snackbar__actions',\n },\n})\nexport class MatSnackBarActions {}\n\n/** Directive that should be applied to each of the snack bar's action buttons. */\n@Directive({\n selector: `[matSnackBarAction]`,\n host: {\n 'class': 'mat-mdc-snack-bar-action mdc-snackbar__action',\n },\n})\nexport class MatSnackBarAction {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ChangeDetectionStrategy, Component, Inject, ViewEncapsulation} from '@angular/core';\nimport {MAT_SNACK_BAR_DATA, TextOnlySnackBar, MatSnackBarRef} from '@angular/material/snack-bar';\n\n@Component({\n selector: 'simple-snack-bar',\n templateUrl: 'simple-snack-bar.html',\n styleUrls: ['simple-snack-bar.css'],\n exportAs: 'matSnackBar',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'mat-mdc-simple-snack-bar',\n },\n})\nexport class SimpleSnackBar implements TextOnlySnackBar {\n constructor(\n public snackBarRef: MatSnackBarRef<SimpleSnackBar>,\n @Inject(MAT_SNACK_BAR_DATA) public data: {message: string; action: string},\n ) {}\n\n /** Performs the action on the snack bar. */\n action(): void {\n this.snackBarRef.dismissWithAction();\n }\n\n /** If the action button should be shown. */\n get hasAction(): boolean {\n return !!this.data.action;\n }\n}\n","<div matSnackBarLabel>\n {{data.message}}\n</div>\n\n<div matSnackBarActions *ngIf=\"hasAction\">\n <button mat-button matSnackBarAction (click)=\"action()\">\n {{data.action}}\n </button>\n</div>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {matSnackBarAnimations, _MatSnackBarContainerBase} from '@angular/material/snack-bar';\n\n/**\n * Internal component that wraps user-provided snack bar content.\n * @docs-private\n */\n@Component({\n selector: 'mat-snack-bar-container',\n templateUrl: 'snack-bar-container.html',\n styleUrls: ['snack-bar-container.css'],\n // In Ivy embedded views will be change detected from their declaration place, rather than\n // where they were stamped out. This means that we can't have the snack bar container be OnPush,\n // because it might cause snack bars that were opened from a template not to be out of date.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n animations: [matSnackBarAnimations.snackBarState],\n host: {\n 'class': 'mdc-snackbar mat-mdc-snack-bar-container mdc-snackbar--open',\n '[@state]': '_animationState',\n '(@state.done)': 'onAnimationEnd($event)',\n },\n})\nexport class MatSnackBarContainer extends _MatSnackBarContainerBase {\n /**\n * Element that will have the `mdc-snackbar__label` class applied if the attached component\n * or template does not have it. This ensures that the appropriate structure, typography, and\n * color is applied to the attached view.\n */\n @ViewChild('label', {static: true}) _label: ElementRef;\n\n /** Applies the correct CSS class to the label based on its content. */\n protected override _afterPortalAttached() {\n super._afterPortalAttached();\n\n // Check to see if the attached component or template uses the MDC template structure,\n // specifically the MDC label. If not, the container should apply the MDC label class to this\n // component's label container, which will apply MDC's label styles to the attached view.\n const label = this._label.nativeElement;\n const labelClass = 'mdc-snackbar__label';\n label.classList.toggle(labelClass, !label.querySelector(`.${labelClass}`));\n }\n}\n","<div class=\"mdc-snackbar__surface\">\n <!--\n This outer label wrapper will have the class `mdc-snackbar__label` applied if\n the attached template/component does not contain it.\n -->\n <div class=\"mat-mdc-snack-bar-label\" #label>\n <!-- Initialy holds the snack bar content, will be empty after announcing to screen readers. -->\n <div aria-hidden=\"true\">\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n\n <!-- Will receive the snack bar content from the non-live div, move will happen a short delay after opening -->\n <div [attr.aria-live]=\"_live\" [attr.role]=\"_role\"></div>\n </div>\n</div>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {OverlayModule} from '@angular/cdk/overlay';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatButtonModule} from '@angular/material-experimental/mdc-button';\nimport {MatCommonModule} from '@angular/material-experimental/mdc-core';\n\nimport {SimpleSnackBar} from './simple-snack-bar';\nimport {MatSnackBarContainer} from './snack-bar-container';\nimport {MatSnackBarAction, MatSnackBarActions, MatSnackBarLabel} from './snack-bar-content';\n\n@NgModule({\n imports: [OverlayModule, PortalModule, CommonModule, MatButtonModule, MatCommonModule],\n exports: [\n MatCommonModule,\n MatSnackBarContainer,\n MatSnackBarLabel,\n MatSnackBarActions,\n MatSnackBarAction,\n ],\n declarations: [\n SimpleSnackBar,\n MatSnackBarContainer,\n MatSnackBarLabel,\n MatSnackBarActions,\n MatSnackBarAction,\n ],\n})\nexport class MatSnackBarModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {LiveAnnouncer} from '@angular/cdk/a11y';\nimport {BreakpointObserver} from '@angular/cdk/layout';\nimport {Overlay} from '@angular/cdk/overlay';\nimport {Inject, Injectable, Injector, Optional, SkipSelf} from '@angular/core';\nimport {\n MatSnackBarConfig,\n MAT_SNACK_BAR_DEFAULT_OPTIONS,\n _MatSnackBarBase,\n} from '@angular/material/snack-bar';\nimport {MatSnackBarModule} from './module';\nimport {SimpleSnackBar} from './simple-snack-bar';\nimport {MatSnackBarContainer} from './snack-bar-container';\n\n/**\n * Service to dispatch Material Design snack bar messages.\n */\n@Injectable({providedIn: MatSnackBarModule})\nexport class MatSnackBar extends _MatSnackBarBase {\n protected override simpleSnackBarComponent = SimpleSnackBar;\n protected override snackBarContainerComponent = MatSnackBarContainer;\n protected override handsetCssClass = 'mat-mdc-snack-bar-handset';\n\n constructor(\n overlay: Overlay,\n live: LiveAnnouncer,\n injector: Injector,\n breakpointObserver: BreakpointObserver,\n @Optional() @SkipSelf() parentSnackBar: MatSnackBar,\n @Inject(MAT_SNACK_BAR_DEFAULT_OPTIONS) defaultConfig: MatSnackBarConfig,\n ) {\n super(overlay, live, injector, breakpointObserver, parentSnackBar, defaultConfig);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './simple-snack-bar';\nexport * from './snack-bar-container';\nexport * from './snack-bar-content';\nexport * from './snack-bar';\nexport * from './module';\n\nexport {\n MatSnackBarConfig,\n MatSnackBarDismiss,\n MatSnackBarRef,\n MAT_SNACK_BAR_DATA,\n MAT_SNACK_BAR_DEFAULT_OPTIONS,\n MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY,\n MatSnackBarHorizontalPosition,\n MatSnackBarVerticalPosition,\n TextOnlySnackBar,\n matSnackBarAnimations,\n} from '@angular/material/snack-bar';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4.MatSnackBarLabel","i4.MatSnackBarActions","i4.MatSnackBarAction","i1","i2","i3"],"mappings":"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"}
@@ -48,6 +48,14 @@ export declare class MatCheckbox extends _MatCheckboxBase<MatCheckboxChange> imp
48
48
  protected _createChangeEvent(isChecked: boolean): MatCheckboxChange;
49
49
  protected _getAnimationTargetElement(): HTMLInputElement;
50
50
  _onInputClick(): void;
51
+ /**
52
+ * Prevent click events that come from the `<label/>` element from bubbling. This prevents the
53
+ * click handler on the host from triggering twice when clicking on the `<label/>` element. After
54
+ * the click event on the `<label/>` propagates, the browsers dispatches click on the associated
55
+ * `<input/>`. By preventing clicks on the label by bubbling, we ensure only one click event
56
+ * bubbles when the label is clicked.
57
+ */
58
+ _preventBubblingFromLabel(event: MouseEvent): void;
51
59
  static ɵfac: i0.ɵɵFactoryDeclaration<MatCheckbox, [null, null, null, { attribute: "tabindex"; }, { optional: true; }, { optional: true; }]>;
52
60
  static ɵcmp: i0.ɵɵComponentDeclaration<MatCheckbox, "mat-checkbox", ["matCheckbox"], { "disableRipple": "disableRipple"; "color": "color"; "tabIndex": "tabIndex"; }, {}, never, ["*"], false>;
53
61
  }
@@ -314,6 +314,8 @@ export declare class MatNavListItemHarness extends MatListItemHarnessBase {
314
314
  blur(): Promise<void>;
315
315
  /** Whether the nav list item is focused. */
316
316
  isFocused(): Promise<boolean>;
317
+ /** Whether the list item is activated. Should only be used for nav list items. */
318
+ isActivated(): Promise<boolean>;
317
319
  }
318
320
 
319
321
  /** Harness for interacting with a MDC_based selection-list in tests. */
@@ -357,6 +359,7 @@ export declare interface NavListHarnessFilters extends BaseHarnessFilters {
357
359
 
358
360
  export declare interface NavListItemHarnessFilters extends BaseListItemHarnessFilters {
359
361
  href?: string | RegExp | null;
362
+ activated?: boolean;
360
363
  }
361
364
 
362
365
  export declare interface SelectionListHarnessFilters extends BaseHarnessFilters {
@@ -1,8 +1,8 @@
1
1
  import { _AbstractConstructor } from '@angular/material-experimental/mdc-core';
2
2
  import { AfterViewInit } from '@angular/core';
3
3
  import { CanColor } from '@angular/material-experimental/mdc-core';
4
+ import { ChangeDetectorRef } from '@angular/core';
4
5
  import { _Constructor } from '@angular/material-experimental/mdc-core';
5
- import { Directionality } from '@angular/cdk/bidi';
6
6
  import { ElementRef } from '@angular/core';
7
7
  import { EventEmitter } from '@angular/core';
8
8
  import * as i0 from '@angular/core';
@@ -31,12 +31,9 @@ export { MAT_PROGRESS_BAR_LOCATION_FACTORY }
31
31
 
32
32
  export declare class MatProgressBar extends _MatProgressBarBase implements AfterViewInit, OnDestroy, CanColor {
33
33
  private _ngZone;
34
+ private _changeDetectorRef;
34
35
  _animationMode?: string | undefined;
35
- constructor(elementRef: ElementRef<HTMLElement>, _ngZone: NgZone, dir?: Directionality, _animationMode?: string | undefined, defaults?: MatProgressBarDefaultOptions);
36
- /** Implements all of the logic of the MDC progress bar. */
37
- private _foundation;
38
- /** Adapter used by MDC to interact with the DOM. */
39
- private _adapter;
36
+ constructor(elementRef: ElementRef<HTMLElement>, _ngZone: NgZone, _changeDetectorRef: ChangeDetectorRef, _animationMode?: string | undefined, defaults?: MatProgressBarDefaultOptions);
40
37
  /** Flag that indicates whether NoopAnimations mode is set to true. */
41
38
  _isNoopAnimation: boolean;
42
39
  /** Value of the progress bar. Defaults to zero. Mirrored to aria-valuenow. */
@@ -47,18 +44,12 @@ export declare class MatProgressBar extends _MatProgressBarBase implements After
47
44
  get bufferValue(): number;
48
45
  set bufferValue(v: number);
49
46
  private _bufferValue;
50
- private _primaryBar;
51
- private _bufferBar;
52
47
  /**
53
48
  * Event emitted when animation of the primary progress bar completes. This event will not
54
49
  * be emitted when animations are disabled, nor will it be emitted for modes with continuous
55
50
  * animations (indeterminate and query).
56
51
  */
57
52
  readonly animationEnd: EventEmitter<ProgressAnimationEnd>;
58
- /** Reference to animation end subscription to be unsubscribed on destroy. */
59
- private _animationEndSubscription;
60
- /** Subscription to when the layout direction changes. */
61
- private _dirChangeSubscription;
62
53
  /**
63
54
  * Mode of the progress bar.
64
55
  *
@@ -71,16 +62,22 @@ export declare class MatProgressBar extends _MatProgressBarBase implements After
71
62
  private _mode;
72
63
  ngAfterViewInit(): void;
73
64
  ngOnDestroy(): void;
74
- /** Syncs the state of the progress bar with the MDC foundation. */
75
- private _syncFoundation;
76
- static ɵfac: i0.ɵɵFactoryDeclaration<MatProgressBar, [null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
65
+ /** Gets the transform style that should be applied to the primary bar. */
66
+ _getPrimaryBarTransform(): string;
67
+ /** Gets the `flex-basis` value that should be applied to the buffer bar. */
68
+ _getBufferBarFlexBasis(): string;
69
+ /** Returns whether the progress bar is indeterminate. */
70
+ _isIndeterminate(): boolean;
71
+ /** Event handler for `transitionend` events. */
72
+ private _transitionendHandler;
73
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatProgressBar, [null, null, null, { optional: true; }, { optional: true; }]>;
77
74
  static ɵcmp: i0.ɵɵComponentDeclaration<MatProgressBar, "mat-progress-bar", ["matProgressBar"], { "color": "color"; "value": "value"; "bufferValue": "bufferValue"; "mode": "mode"; }, { "animationEnd": "animationEnd"; }, never, never, false>;
78
75
  }
79
76
 
80
77
  /** @docs-private */
81
78
  declare const _MatProgressBarBase: _Constructor<CanColor> & _AbstractConstructor<CanColor> & {
82
- new (_elementRef: ElementRef): {
83
- _elementRef: ElementRef;
79
+ new (_elementRef: ElementRef<HTMLElement>): {
80
+ _elementRef: ElementRef<HTMLElement>;
84
81
  };
85
82
  };
86
83
 
@@ -1,11 +1,5 @@
1
- import { AriaLivePoliteness } from '@angular/cdk/a11y';
2
- import { BasePortalOutlet } from '@angular/cdk/portal';
3
1
  import { BreakpointObserver } from '@angular/cdk/layout';
4
- import { CdkPortalOutlet } from '@angular/cdk/portal';
5
- import { ComponentPortal } from '@angular/cdk/portal';
6
- import { ComponentRef } from '@angular/core';
7
2
  import { ElementRef } from '@angular/core';
8
- import { EmbeddedViewRef } from '@angular/core';
9
3
  import * as i0 from '@angular/core';
10
4
  import * as i4 from '@angular/cdk/overlay';
11
5
  import * as i5 from '@angular/cdk/portal';
@@ -20,19 +14,12 @@ import { MAT_SNACK_BAR_DEFAULT_OPTIONS_FACTORY } from '@angular/material/snack-b
20
14
  import { matSnackBarAnimations } from '@angular/material/snack-bar';
21
15
  import { _MatSnackBarBase } from '@angular/material/snack-bar';
22
16
  import { MatSnackBarConfig } from '@angular/material/snack-bar';
17
+ import { _MatSnackBarContainerBase } from '@angular/material/snack-bar';
23
18
  import { MatSnackBarDismiss } from '@angular/material/snack-bar';
24
19
  import { MatSnackBarHorizontalPosition } from '@angular/material/snack-bar';
25
20
  import { MatSnackBarRef } from '@angular/material/snack-bar';
26
21
  import { MatSnackBarVerticalPosition } from '@angular/material/snack-bar';
27
- import { MDCSnackbarFoundation } from '@material/snackbar';
28
- import { NgZone } from '@angular/core';
29
- import { Observable } from 'rxjs';
30
- import { OnDestroy } from '@angular/core';
31
22
  import { Overlay } from '@angular/cdk/overlay';
32
- import { Platform } from '@angular/cdk/platform';
33
- import { _SnackBarContainer } from '@angular/material/snack-bar';
34
- import { Subject } from 'rxjs';
35
- import { TemplatePortal } from '@angular/cdk/portal';
36
23
  import { TextOnlySnackBar } from '@angular/material/snack-bar';
37
24
 
38
25
  declare namespace i1 {
@@ -93,67 +80,16 @@ export { MatSnackBarConfig }
93
80
  * Internal component that wraps user-provided snack bar content.
94
81
  * @docs-private
95
82
  */
96
- export declare class MatSnackBarContainer extends BasePortalOutlet implements _SnackBarContainer, OnDestroy {
97
- private _elementRef;
98
- snackBarConfig: MatSnackBarConfig;
99
- private _platform;
100
- private _ngZone;
101
- _animationMode?: string | undefined;
102
- /** The number of milliseconds to wait before announcing the snack bar's content. */
103
- private readonly _announceDelay;
104
- /** The timeout for announcing the snack bar's content. */
105
- private _announceTimeoutId;
106
- /** Subject for notifying that the snack bar has announced to screen readers. */
107
- readonly _onAnnounce: Subject<void>;
108
- /** Subject for notifying that the snack bar has exited from view. */
109
- readonly _onExit: Subject<void>;
110
- /** Subject for notifying that the snack bar has finished entering the view. */
111
- readonly _onEnter: Subject<void>;
112
- /** aria-live value for the live region. */
113
- _live: AriaLivePoliteness;
114
- /** Whether the snack bar is currently exiting. */
115
- _exiting: boolean;
116
- /**
117
- * Role of the live region. This is only for Firefox as there is a known issue where Firefox +
118
- * JAWS does not read out aria-live message.
119
- */
120
- _role?: 'status' | 'alert';
121
- private _mdcAdapter;
122
- _mdcFoundation: MDCSnackbarFoundation;
123
- /** The portal outlet inside of this container into which the snack bar content will be loaded. */
124
- _portalOutlet: CdkPortalOutlet;
125
- /** Element that acts as the MDC surface container which should contain the label and actions. */
126
- _surface: ElementRef;
83
+ export declare class MatSnackBarContainer extends _MatSnackBarContainerBase {
127
84
  /**
128
85
  * Element that will have the `mdc-snackbar__label` class applied if the attached component
129
86
  * or template does not have it. This ensures that the appropriate structure, typography, and
130
87
  * color is applied to the attached view.
131
88
  */
132
89
  _label: ElementRef;
133
- constructor(_elementRef: ElementRef<HTMLElement>, snackBarConfig: MatSnackBarConfig, _platform: Platform, _ngZone: NgZone, _animationMode?: string | undefined);
134
- /** Makes sure the exit callbacks have been invoked when the element is destroyed. */
135
- ngOnDestroy(): void;
136
- enter(): void;
137
- exit(): Observable<void>;
138
- /** Attach a component portal as content to this snack bar container. */
139
- attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T>;
140
- /** Attach a template portal as content to this snack bar container. */
141
- attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C>;
142
- private _setClass;
143
- /** Applies the user-configured CSS classes to the snack bar. */
144
- private _applySnackBarClasses;
145
- /** Asserts that no content is already attached to the container. */
146
- private _assertNotAttached;
147
- /** Finishes the exit sequence of the container. */
148
- private _finishExit;
149
- /**
150
- * Starts a timeout to move the snack bar content to the live region so screen readers will
151
- * announce it.
152
- */
153
- private _screenReaderAnnounce;
154
90
  /** Applies the correct CSS class to the label based on its content. */
155
- private _applyLabelClass;
156
- static ɵfac: i0.ɵɵFactoryDeclaration<MatSnackBarContainer, [null, null, null, null, { optional: true; }]>;
91
+ protected _afterPortalAttached(): void;
92
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatSnackBarContainer, never>;
157
93
  static ɵcmp: i0.ɵɵComponentDeclaration<MatSnackBarContainer, "mat-snack-bar-container", never, {}, {}, never, never, false>;
158
94
  }
159
95
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/material-experimental",
3
- "version": "14.0.0-rc.2",
3
+ "version": "14.1.0-next.0",
4
4
  "description": "Experimental components for Angular Material",
5
5
  "repository": {
6
6
  "type": "git",
@@ -425,13 +425,13 @@
425
425
  }
426
426
  },
427
427
  "peerDependencies": {
428
- "@angular/animations": "^14.0.0-0 || ^15.0.0",
429
- "@angular/cdk": "14.0.0-rc.2",
430
- "@angular/core": "^14.0.0-0 || ^15.0.0",
431
- "@angular/common": "^14.0.0-0 || ^15.0.0",
432
- "@angular/forms": "^14.0.0-0 || ^15.0.0",
433
- "@angular/platform-browser": "^14.0.0-0 || ^15.0.0",
434
- "@angular/material": "14.0.0-rc.2"
428
+ "@angular/animations": "^14.0.0 || ^15.0.0",
429
+ "@angular/cdk": "14.1.0-next.0",
430
+ "@angular/core": "^14.0.0 || ^15.0.0",
431
+ "@angular/common": "^14.0.0 || ^15.0.0",
432
+ "@angular/forms": "^14.0.0 || ^15.0.0",
433
+ "@angular/platform-browser": "^14.0.0 || ^15.0.0",
434
+ "@angular/material": "14.1.0-next.0"
435
435
  },
436
436
  "dependencies": {
437
437
  "tslib": "^2.3.0",