igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
1 lines • 11.6 kB
Source Map (JSON)
{"version":3,"file":"igniteui-angular-snackbar.mjs","sources":["../../../projects/igniteui-angular/snackbar/src/snackbar/snackbar.component.ts","../../../projects/igniteui-angular/snackbar/src/snackbar/snackbar.component.html","../../../projects/igniteui-angular/snackbar/src/snackbar/snackbar.module.ts","../../../projects/igniteui-angular/snackbar/src/igniteui-angular-snackbar.ts"],"sourcesContent":["import { useAnimation } from '@angular/animations';\nimport {\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output\n} from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { ContainerPositionStrategy, GlobalPositionStrategy, HorizontalAlignment,\n PositionSettings, VerticalAlignment } from 'igniteui-angular/core';\nimport { ToggleViewEventArgs, IgxButtonDirective, IgxNotificationsDirective } from 'igniteui-angular/directives';\nimport { fadeIn, fadeOut } from 'igniteui-angular/animations';\n\nlet NEXT_ID = 0;\n/**\n * **Ignite UI for Angular Snackbar** -\n * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/snackbar.html)\n *\n * The Ignite UI Snack Bar provides feedback about an operation with a single-line message, which can\n * include a link to an action such as Undo.\n *\n * Example:\n * ```html\n * <button type=\"button\" igxButton (click)=\"snackbar.show()\">Send message</button>\n * <div>\n * <igx-snackbar #snackbar>\n * Message sent\n * </igx-snackbar>\n * </div>\n * ```\n */\n@Component({\n selector: 'igx-snackbar',\n templateUrl: 'snackbar.component.html',\n imports: [IgxButtonDirective]\n})\nexport class IgxSnackbarComponent extends IgxNotificationsDirective\n implements OnInit {\n /**\n * Sets/gets the `id` of the snackbar.\n * If not set, the `id` of the first snackbar component will be `\"igx-snackbar-0\"`;\n * ```html\n * <igx-snackbar id = \"Snackbar1\"></igx-snackbar>\n * ```\n * ```typescript\n * let snackbarId = this.snackbar.id;\n * ```\n *\n * @memberof IgxSnackbarComponent\n */\n @HostBinding('attr.id')\n @Input()\n public override id = `igx-snackbar-${NEXT_ID++}`;\n\n /**\n * The default css class applied to the component.\n *\n * @hidden\n * @internal\n */\n @HostBinding('class.igx-snackbar')\n public cssClass = 'igx-snackbar';\n\n /**\n * Sets/gets the `actionText` attribute.\n * ```html\n * <igx-snackbar [actionText] = \"'Action Text'\"></igx-snackbar>\n * ```\n */\n @Input() public actionText?: string;\n\n /**\n * An event that will be emitted when the action button is clicked.\n * Provides reference to the `IgxSnackbarComponent` as an argument.\n * ```html\n * <igx-snackbar (clicked)=\"clickedHandler($event)\"></igx-snackbar>\n * ```\n */\n @Output()\n public clicked = new EventEmitter<IgxSnackbarComponent>();\n\n /**\n * An event that will be emitted when the snackbar animation starts.\n * Provides reference to the `ToggleViewEventArgs` interface as an argument.\n * ```html\n * <igx-snackbar (animationStarted) = \"animationStarted($event)\"></igx-snackbar>\n * ```\n */\n @Output() public animationStarted = new EventEmitter<ToggleViewEventArgs>();\n\n /**\n * An event that will be emitted when the snackbar animation ends.\n * Provides reference to the `ToggleViewEventArgs` interface as an argument.\n * ```html\n * <igx-snackbar (animationDone) = \"animationDone($event)\"></igx-snackbar>\n * ```\n */\n @Output() public animationDone = new EventEmitter<ToggleViewEventArgs>();\n\n /**\n * Get the position and animation settings used by the snackbar.\n * ```typescript\n * @ViewChild('snackbar', { static: true }) public snackbar: IgxSnackbarComponent;\n * let currentPosition: PositionSettings = this.snackbar.positionSettings\n * ```\n */\n @Input()\n public get positionSettings(): PositionSettings {\n return this._positionSettings;\n }\n\n /**\n * Set the position and animation settings used by the snackbar.\n * ```html\n * <igx-snackbar [positionSettings]=\"newPositionSettings\"></igx-snackbar>\n * ```\n * ```typescript\n * import { slideInTop, slideOutBottom } from 'igniteui-angular';\n * ...\n * @ViewChild('snackbar', { static: true }) public snackbar: IgxSnackbarComponent;\n * public newPositionSettings: PositionSettings = {\n * openAnimation: useAnimation(slideInTop, { params: { duration: '1000ms', fromPosition: 'translateY(100%)'}}),\n * closeAnimation: useAnimation(slideOutBottom, { params: { duration: '1000ms', fromPosition: 'translateY(0)'}}),\n * horizontalDirection: HorizontalAlignment.Left,\n * verticalDirection: VerticalAlignment.Middle,\n * horizontalStartPoint: HorizontalAlignment.Left,\n * verticalStartPoint: VerticalAlignment.Middle,\n * minSize: { height: 100, width: 100 }\n * };\n * this.snackbar.positionSettings = this.newPositionSettings;\n * ```\n */\n public set positionSettings(settings: PositionSettings) {\n this._positionSettings = settings;\n }\n\n private _positionSettings: PositionSettings = {\n horizontalDirection: HorizontalAlignment.Center,\n verticalDirection: VerticalAlignment.Bottom,\n openAnimation: useAnimation(fadeIn, { params: { duration: '.35s', easing: 'cubic-bezier(0.0, 0.0, 0.2, 1)',\n fromPosition: 'translateY(100%)', toPosition: 'translateY(0)'} }),\n closeAnimation: useAnimation(fadeOut, { params: { duration: '.2s', easing: 'cubic-bezier(0.4, 0.0, 1, 1)',\n fromPosition: 'translateY(0)', toPosition: 'translateY(100%)'} }),\n };\n\n /**\n * Shows the snackbar and hides it after the `displayTime` is over if `autoHide` is set to `true`.\n * ```typescript\n * this.snackbar.open();\n * ```\n */\n public override open(message?: string) {\n if (message !== undefined) {\n this.textMessage = message;\n }\n\n this.strategy = this.outlet ? new ContainerPositionStrategy(this.positionSettings)\n : new GlobalPositionStrategy(this.positionSettings);\n super.open();\n }\n\n /**\n * Opens or closes the snackbar, depending on its current state.\n *\n * ```typescript\n * this.snackbar.toggle();\n * ```\n */\n public override toggle() {\n if (this.collapsed || this.isClosing) {\n this.open();\n } else {\n this.close();\n }\n }\n\n /**\n * @hidden\n */\n public triggerAction(): void {\n this.clicked.emit(this);\n }\n\n /**\n * @hidden\n */\n public override ngOnInit() {\n this.opened.pipe(takeUntil(this.destroy$)).subscribe(() => {\n const openedEventArgs: ToggleViewEventArgs = { owner: this, id: this._overlayId };\n this.animationStarted.emit(openedEventArgs);\n });\n\n this.closed.pipe(takeUntil(this.destroy$)).subscribe(() => {\n const closedEventArgs: ToggleViewEventArgs = { owner: this, id: this._overlayId };\n this.animationDone.emit(closedEventArgs);\n });\n }\n}\n","<div class=\"igx-snackbar__message\">\n {{ textMessage }}\n <ng-content></ng-content>\n</div>\n<div #customButton class=\"igx-snackbar__button\">\n <ng-content select=\"[igxButton]\"></ng-content>\n</div>\n@if (!customButton.children.length && actionText) {\n <button igxButton (click)=\"triggerAction()\">\n {{ actionText }}\n </button>\n}\n","import { NgModule } from '@angular/core';\nimport { IgxSnackbarComponent } from './snackbar.component';\n\n/**\n * @hidden\n * @deprecated\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n imports: [\n IgxSnackbarComponent\n ],\n exports: [\n IgxSnackbarComponent\n ]\n})\nexport class IgxSnackbarModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}