@bravura/ui 2.6.0 → 2.6.1

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.
@@ -22,6 +22,13 @@ const ICONS = {
22
22
  warn: 'report_problem',
23
23
  error: 'cancel'
24
24
  };
25
+ /** @ignore */
26
+ const DEFAULT_POLITENESS = {
27
+ success: 'polite',
28
+ info: 'polite',
29
+ warn: 'assertive',
30
+ error: 'assertive'
31
+ };
25
32
  /**
26
33
  * An alert style message usually appears in a global notification area.
27
34
  *
@@ -60,6 +67,7 @@ class AlertMessageComponent {
60
67
  this._dismissible = coerceBooleanProperty(value);
61
68
  }
62
69
  ngOnInit() {
70
+ this.politeness = this.politeness || DEFAULT_POLITENESS[this.type];
63
71
  this.initialised.emit(this._id);
64
72
  }
65
73
  /** @ignore */
@@ -72,17 +80,20 @@ class AlertMessageComponent {
72
80
  }
73
81
  }
74
82
  AlertMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: AlertMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
75
- AlertMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: AlertMessageComponent, selector: "bui-alert", inputs: { type: "type", message: "message", dismissible: "dismissible", _id: ["id", "_id"] }, outputs: { dismissed: "dismissed", initialised: "initialised" }, host: { attributes: { "role": "alert" }, properties: { "class": "'bui-alert bui-host bui-alert-' + (type === 'warn' ? 'warning' : type) + (dismissible ? ' bui-alert-dismissible' : '')", "id": "this._id" } }, ngImport: i0, template: "<div class=\"bui-alert-backdrop\"></div>\n<div class=\"bui-alert-frame\"></div>\n\n<div class=\"bui-alert-wrapper\">\n\t<div class=\"bui-alert-icon-area\">\n\t\t<mat-icon [buiIcon]=\"iconName\" variant=\"outlined\"></mat-icon>\n\t</div>\n\t<div class=\"bui-alert-content\"><div [innerHTML]=\"message\"></div></div>\n</div>\n\n<div class=\"bui-alert-button-area\" *ngIf=\"dismissible\">\n\t<div class=\"bui-alert-button-backdrop\"></div>\n\t<button mat-icon-button class=\"bui-alert-button\" (click)=\"_dismiss()\"><mat-icon>cancel</mat-icon></button>\n</div>\n", styles: [":host(:not([hidden])){display:block;padding:12px 14px 12px 19px;position:relative;border-radius:5px}:host-context([dir=rtl]) :host(:not([hidden])){padding:12px 19px 12px 14px}:host(:not([hidden])),:host(:not([hidden])) *{box-sizing:border-box}.bui-alert-backdrop,.bui-alert-frame{position:absolute;inset:0}.bui-alert-backdrop{opacity:.1}:host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 18.75px) 18.75px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0,18.75px 18.75px)}.bui-alert-frame{border-radius:5px;border-width:1px 1px 1px 5px;border-style:solid}:host-context([dir=rtl]) .bui-alert-frame{border-width:1px 5px 1px 1px}:host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 25px) 25px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0)}.bui-alert-button-area{position:absolute;right:-15px;top:-15px;width:40px;height:40px;border-radius:20px;display:flex;align-items:center;justify-content:center}:host-context([dir=rtl]) .bui-alert-button-area{right:unset;left:-15px}.bui-alert-button-backdrop{position:absolute;border-radius:20px;width:100%;height:100%;clip-path:polygon(0 15px,25px 15px,25px 100%,0% 100%)}:host-context([dir=rtl]) .bui-alert-button-backdrop{clip-path:polygon(15px 15px,15px 100%,100% 100%,100% 15px)}.bui-alert-wrapper{display:flex;align-items:stretch}.bui-alert-icon-area{flex-shrink:0;display:flex;justify-content:center;align-items:center;border-radius:5px;width:30px;height:30px;margin-right:14px;color:var(--bui-bg-card)}:host-context([dir=rtl]) .bui-alert-icon-area{margin-right:unset;margin-left:14px}.bui-alert-content{display:flex;align-items:center;z-index:1}:host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 13px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 13px,0 100%,100% 100%,100% 0,11px 0)}:host(.bui-alert-success) .bui-alert-frame{border-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-backdrop,:host(.bui-alert-success) .bui-alert-icon-area{background-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-button-backdrop{border:1px var(--bui-color-success) solid}:host(.bui-alert-success) .bui-alert-button{color:var(--bui-color-success)}:host(.bui-alert-info) .bui-alert-frame{border-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-backdrop,:host(.bui-alert-info) .bui-alert-icon-area{background-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-button-backdrop{border:1px var(--bui-color-info) solid}:host(.bui-alert-info) .bui-alert-button{color:var(--bui-color-info)}:host(.bui-alert-warning) .bui-alert-frame{border-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-backdrop,:host(.bui-alert-warning) .bui-alert-icon-area{background-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-button-backdrop{border:1px var(--bui-color-warning) solid}:host(.bui-alert-warning) .bui-alert-button{color:var(--bui-color-warning)}:host(.bui-alert-error) .bui-alert-frame{border-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-backdrop,:host(.bui-alert-error) .bui-alert-icon-area{background-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-button-backdrop{border:1px var(--bui-color-error) solid}:host(.bui-alert-error) .bui-alert-button{color:var(--bui-color-error)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.IconDirective, selector: "[buiIcon]", inputs: ["buiIcon", "size", "variant"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
83
+ AlertMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: AlertMessageComponent, selector: "bui-alert", inputs: { type: "type", message: "message", politeness: "politeness", dismissible: "dismissible", _id: ["id", "_id"] }, outputs: { dismissed: "dismissed", initialised: "initialised" }, host: { properties: { "class": "'bui-alert bui-host bui-alert-' + (type === 'warn' ? 'warning' : type) + (dismissible ? ' bui-alert-dismissible' : '')", "role": "politeness === 'off' ? 'region' : 'alert'", "attr.aria-live": "politeness === 'assertive' ? undefined : politeness", "id": "this._id" } }, ngImport: i0, template: "<div class=\"bui-alert-backdrop\"></div>\n<div class=\"bui-alert-frame\"></div>\n\n<div class=\"bui-alert-wrapper\">\n\t<div class=\"bui-alert-icon-area\">\n\t\t<mat-icon [buiIcon]=\"iconName\" variant=\"outlined\"></mat-icon>\n\t</div>\n\t<div class=\"bui-alert-content\"><div [innerHTML]=\"message\"></div></div>\n</div>\n\n<div class=\"bui-alert-button-area\" *ngIf=\"dismissible\">\n\t<div class=\"bui-alert-button-backdrop\"></div>\n\t<button mat-icon-button class=\"bui-alert-button\" (click)=\"_dismiss()\" aria-label=\"dismiss alert\">\n\t\t<mat-icon>cancel</mat-icon>\n\t</button>\n</div>\n", styles: [":host(:not([hidden])){display:block;padding:12px 14px 12px 19px;position:relative;border-radius:5px}:host-context([dir=rtl]) :host(:not([hidden])){padding:12px 19px 12px 14px}:host(:not([hidden])),:host(:not([hidden])) *{box-sizing:border-box}.bui-alert-backdrop,.bui-alert-frame{position:absolute;inset:0}.bui-alert-backdrop{opacity:.1}:host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 18.75px) 18.75px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0,18.75px 18.75px)}.bui-alert-frame{border-radius:5px;border-width:1px 1px 1px 5px;border-style:solid}:host-context([dir=rtl]) .bui-alert-frame{border-width:1px 5px 1px 1px}:host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 25px) 25px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0)}.bui-alert-button-area{position:absolute;right:-15px;top:-15px;width:40px;height:40px;border-radius:20px;display:flex;align-items:center;justify-content:center}:host-context([dir=rtl]) .bui-alert-button-area{right:unset;left:-15px}.bui-alert-button-backdrop{position:absolute;border-radius:20px;width:100%;height:100%;clip-path:polygon(0 15px,25px 15px,25px 100%,0% 100%)}:host-context([dir=rtl]) .bui-alert-button-backdrop{clip-path:polygon(15px 15px,15px 100%,100% 100%,100% 15px)}.bui-alert-wrapper{display:flex;align-items:stretch}.bui-alert-icon-area{flex-shrink:0;display:flex;justify-content:center;align-items:center;border-radius:5px;width:30px;height:30px;margin-right:14px;color:var(--bui-bg-card)}:host-context([dir=rtl]) .bui-alert-icon-area{margin-right:unset;margin-left:14px}.bui-alert-content{display:flex;align-items:center;z-index:1;flex-grow:1}:host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 13px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 13px,0 100%,100% 100%,100% 0,11px 0)}:host(.bui-alert-success) .bui-alert-frame{border-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-backdrop,:host(.bui-alert-success) .bui-alert-icon-area{background-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-button-backdrop{border:1px var(--bui-color-success) solid}:host(.bui-alert-success) .bui-alert-button{color:var(--bui-color-success)}:host(.bui-alert-info) .bui-alert-frame{border-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-backdrop,:host(.bui-alert-info) .bui-alert-icon-area{background-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-button-backdrop{border:1px var(--bui-color-info) solid}:host(.bui-alert-info) .bui-alert-button{color:var(--bui-color-info)}:host(.bui-alert-warning) .bui-alert-frame{border-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-backdrop,:host(.bui-alert-warning) .bui-alert-icon-area{background-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-button-backdrop{border:1px var(--bui-color-warning) solid}:host(.bui-alert-warning) .bui-alert-button{color:var(--bui-color-warning)}:host(.bui-alert-error) .bui-alert-frame{border-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-backdrop,:host(.bui-alert-error) .bui-alert-icon-area{background-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-button-backdrop{border:1px var(--bui-color-error) solid}:host(.bui-alert-error) .bui-alert-button{color:var(--bui-color-error)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.IconDirective, selector: "[buiIcon]", inputs: ["buiIcon", "size", "variant"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
76
84
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: AlertMessageComponent, decorators: [{
77
85
  type: Component,
78
86
  args: [{ selector: 'bui-alert', host: {
79
87
  '[class]': `'bui-alert bui-host bui-alert-' + (type === 'warn' ? 'warning' : type) + (dismissible ? ' bui-alert-dismissible' : '')`,
80
- role: 'alert'
81
- }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bui-alert-backdrop\"></div>\n<div class=\"bui-alert-frame\"></div>\n\n<div class=\"bui-alert-wrapper\">\n\t<div class=\"bui-alert-icon-area\">\n\t\t<mat-icon [buiIcon]=\"iconName\" variant=\"outlined\"></mat-icon>\n\t</div>\n\t<div class=\"bui-alert-content\"><div [innerHTML]=\"message\"></div></div>\n</div>\n\n<div class=\"bui-alert-button-area\" *ngIf=\"dismissible\">\n\t<div class=\"bui-alert-button-backdrop\"></div>\n\t<button mat-icon-button class=\"bui-alert-button\" (click)=\"_dismiss()\"><mat-icon>cancel</mat-icon></button>\n</div>\n", styles: [":host(:not([hidden])){display:block;padding:12px 14px 12px 19px;position:relative;border-radius:5px}:host-context([dir=rtl]) :host(:not([hidden])){padding:12px 19px 12px 14px}:host(:not([hidden])),:host(:not([hidden])) *{box-sizing:border-box}.bui-alert-backdrop,.bui-alert-frame{position:absolute;inset:0}.bui-alert-backdrop{opacity:.1}:host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 18.75px) 18.75px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0,18.75px 18.75px)}.bui-alert-frame{border-radius:5px;border-width:1px 1px 1px 5px;border-style:solid}:host-context([dir=rtl]) .bui-alert-frame{border-width:1px 5px 1px 1px}:host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 25px) 25px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0)}.bui-alert-button-area{position:absolute;right:-15px;top:-15px;width:40px;height:40px;border-radius:20px;display:flex;align-items:center;justify-content:center}:host-context([dir=rtl]) .bui-alert-button-area{right:unset;left:-15px}.bui-alert-button-backdrop{position:absolute;border-radius:20px;width:100%;height:100%;clip-path:polygon(0 15px,25px 15px,25px 100%,0% 100%)}:host-context([dir=rtl]) .bui-alert-button-backdrop{clip-path:polygon(15px 15px,15px 100%,100% 100%,100% 15px)}.bui-alert-wrapper{display:flex;align-items:stretch}.bui-alert-icon-area{flex-shrink:0;display:flex;justify-content:center;align-items:center;border-radius:5px;width:30px;height:30px;margin-right:14px;color:var(--bui-bg-card)}:host-context([dir=rtl]) .bui-alert-icon-area{margin-right:unset;margin-left:14px}.bui-alert-content{display:flex;align-items:center;z-index:1}:host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 13px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 13px,0 100%,100% 100%,100% 0,11px 0)}:host(.bui-alert-success) .bui-alert-frame{border-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-backdrop,:host(.bui-alert-success) .bui-alert-icon-area{background-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-button-backdrop{border:1px var(--bui-color-success) solid}:host(.bui-alert-success) .bui-alert-button{color:var(--bui-color-success)}:host(.bui-alert-info) .bui-alert-frame{border-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-backdrop,:host(.bui-alert-info) .bui-alert-icon-area{background-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-button-backdrop{border:1px var(--bui-color-info) solid}:host(.bui-alert-info) .bui-alert-button{color:var(--bui-color-info)}:host(.bui-alert-warning) .bui-alert-frame{border-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-backdrop,:host(.bui-alert-warning) .bui-alert-icon-area{background-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-button-backdrop{border:1px var(--bui-color-warning) solid}:host(.bui-alert-warning) .bui-alert-button{color:var(--bui-color-warning)}:host(.bui-alert-error) .bui-alert-frame{border-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-backdrop,:host(.bui-alert-error) .bui-alert-icon-area{background-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-button-backdrop{border:1px var(--bui-color-error) solid}:host(.bui-alert-error) .bui-alert-button{color:var(--bui-color-error)}\n"] }]
88
+ '[role]': `politeness === 'off' ? 'region' : 'alert'`,
89
+ '[attr.aria-live]': `politeness === 'assertive' ? undefined : politeness`
90
+ }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bui-alert-backdrop\"></div>\n<div class=\"bui-alert-frame\"></div>\n\n<div class=\"bui-alert-wrapper\">\n\t<div class=\"bui-alert-icon-area\">\n\t\t<mat-icon [buiIcon]=\"iconName\" variant=\"outlined\"></mat-icon>\n\t</div>\n\t<div class=\"bui-alert-content\"><div [innerHTML]=\"message\"></div></div>\n</div>\n\n<div class=\"bui-alert-button-area\" *ngIf=\"dismissible\">\n\t<div class=\"bui-alert-button-backdrop\"></div>\n\t<button mat-icon-button class=\"bui-alert-button\" (click)=\"_dismiss()\" aria-label=\"dismiss alert\">\n\t\t<mat-icon>cancel</mat-icon>\n\t</button>\n</div>\n", styles: [":host(:not([hidden])){display:block;padding:12px 14px 12px 19px;position:relative;border-radius:5px}:host-context([dir=rtl]) :host(:not([hidden])){padding:12px 19px 12px 14px}:host(:not([hidden])),:host(:not([hidden])) *{box-sizing:border-box}.bui-alert-backdrop,.bui-alert-frame{position:absolute;inset:0}.bui-alert-backdrop{opacity:.1}:host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 18.75px) 18.75px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-backdrop{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0,18.75px 18.75px)}.bui-alert-frame{border-radius:5px;border-width:1px 1px 1px 5px;border-style:solid}:host-context([dir=rtl]) .bui-alert-frame{border-width:1px 5px 1px 1px}:host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 25px) 25px,100% 25px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-frame{clip-path:polygon(0 25px,0 100%,100% 100%,100% 0,25px 0)}.bui-alert-button-area{position:absolute;right:-15px;top:-15px;width:40px;height:40px;border-radius:20px;display:flex;align-items:center;justify-content:center}:host-context([dir=rtl]) .bui-alert-button-area{right:unset;left:-15px}.bui-alert-button-backdrop{position:absolute;border-radius:20px;width:100%;height:100%;clip-path:polygon(0 15px,25px 15px,25px 100%,0% 100%)}:host-context([dir=rtl]) .bui-alert-button-backdrop{clip-path:polygon(15px 15px,15px 100%,100% 100%,100% 15px)}.bui-alert-wrapper{display:flex;align-items:stretch}.bui-alert-icon-area{flex-shrink:0;display:flex;justify-content:center;align-items:center;border-radius:5px;width:30px;height:30px;margin-right:14px;color:var(--bui-bg-card)}:host-context([dir=rtl]) .bui-alert-icon-area{margin-right:unset;margin-left:14px}.bui-alert-content{display:flex;align-items:center;z-index:1;flex-grow:1}:host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 0,calc(100% - 11px) 0,100% 13px,100% 100%,0 100%)}:host-context([dir=rtl]) :host(.bui-alert-dismissible) .bui-alert-content{clip-path:polygon(0 13px,0 100%,100% 100%,100% 0,11px 0)}:host(.bui-alert-success) .bui-alert-frame{border-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-backdrop,:host(.bui-alert-success) .bui-alert-icon-area{background-color:var(--bui-color-success)}:host(.bui-alert-success) .bui-alert-button-backdrop{border:1px var(--bui-color-success) solid}:host(.bui-alert-success) .bui-alert-button{color:var(--bui-color-success)}:host(.bui-alert-info) .bui-alert-frame{border-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-backdrop,:host(.bui-alert-info) .bui-alert-icon-area{background-color:var(--bui-color-info)}:host(.bui-alert-info) .bui-alert-button-backdrop{border:1px var(--bui-color-info) solid}:host(.bui-alert-info) .bui-alert-button{color:var(--bui-color-info)}:host(.bui-alert-warning) .bui-alert-frame{border-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-backdrop,:host(.bui-alert-warning) .bui-alert-icon-area{background-color:var(--bui-color-warning)}:host(.bui-alert-warning) .bui-alert-button-backdrop{border:1px var(--bui-color-warning) solid}:host(.bui-alert-warning) .bui-alert-button{color:var(--bui-color-warning)}:host(.bui-alert-error) .bui-alert-frame{border-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-backdrop,:host(.bui-alert-error) .bui-alert-icon-area{background-color:var(--bui-color-error)}:host(.bui-alert-error) .bui-alert-button-backdrop{border:1px var(--bui-color-error) solid}:host(.bui-alert-error) .bui-alert-button{color:var(--bui-color-error)}\n"] }]
82
91
  }], ctorParameters: function () { return []; }, propDecorators: { type: [{
83
92
  type: Input
84
93
  }], message: [{
85
94
  type: Input
95
+ }], politeness: [{
96
+ type: Input
86
97
  }], dismissible: [{
87
98
  type: Input
88
99
  }], dismissed: [{
@@ -252,7 +263,7 @@ class AlertContainerComponent {
252
263
  }
253
264
  }
254
265
  AlertContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: AlertContainerComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.ScrollDispatcher }], target: i0.ɵɵFactoryTarget.Component });
255
- AlertContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: AlertContainerComponent, selector: "bui-alert-container", inputs: { max: "max", outsideViewportBehavior: "outsideViewportBehavior", floatDuration: "floatDuration" }, outputs: { init: "init" }, host: { properties: { "class": "'bui-alert-container bui-host bui-alert-container-' + (_remaining.length ? 'not-empty': 'empty')" } }, ngImport: i0, template: "<div\n\tclass=\"bui-alert-fixed-panel\"\n\t[style.opacity]=\"_floatPanelHidden ? 1 : 0\"\n\t[class.bui-alert-fixed-panel-blink]=\"outsideViewportBehavior === 'scroll'\"\n>\n\t<bui-alert\n\t\t*ngFor=\"let a of _alerts\"\n\t\t[id]=\"a.id\"\n\t\t[type]=\"a.type\"\n\t\t[message]=\"a.message\"\n\t\tdismissible\n\t\t[@alertTransition]=\"a.deleted ? 'hidden' : 'visible'\"\n\t\t(@alertTransition.start)=\"_animationStarted.next($event)\"\n\t\t(@alertTransition.done)=\"_animationEnded.next($event)\"\n\t\t(dismissed)=\"_dismiss(a)\"\n\t></bui-alert>\n</div>\n\n<div class=\"bui-alert-float-panel-frame\" [hidden]=\"_floatPanelHidden\" [class.bui-alert-float-panel-shaded]=\"_floated\">\n\t<div class=\"bui-alert-float-panel\" [style.max-width]=\"_width + 'px'\" [@floatTransition]=\"'visible'\" *ngIf=\"_floated\">\n\t\t<bui-alert\n\t\t\t*ngFor=\"let a of _alerts\"\n\t\t\t[id]=\"a.id\"\n\t\t\t[type]=\"a.type\"\n\t\t\t[message]=\"a.message\"\n\t\t\t[@alertTransition]=\"a.deleted ? 'hidden' : 'visible'\"\n\t\t></bui-alert>\n\t</div>\n</div>\n", styles: [".bui-alert:not(:first-of-type){margin-top:.5rem}:host(:not([hidden])){display:block}.bui-alert-fixed-panel{transition:opacity .2s ease-in}.bui-alert-fixed-panel.bui-alert-fixed-panel-blink .bui-alert:last-of-type{animation:blink 1s ease-in forwards}.bui-alert-float-panel-frame{position:fixed;z-index:1000;inset:0;justify-content:center;align-items:center;flex-direction:column;transition:background-color .4s cubic-bezier(.25,0,.55,.2)}.bui-alert-float-panel-frame:not([hidden]){display:flex}.bui-alert-float-panel-frame.bui-alert-float-panel-shaded{background-color:#00000080}.bui-alert-float-panel-frame .bui-alert{background-color:var(--bui-bg-card)}@keyframes blink{60%{opacity:1}70%{opacity:0}80%{opacity:1}90%{opacity:0}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AlertMessageComponent, selector: "bui-alert", inputs: ["type", "message", "dismissible", "id"], outputs: ["dismissed", "initialised"] }], animations: [
266
+ AlertContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: AlertContainerComponent, selector: "bui-alert-container", inputs: { max: "max", outsideViewportBehavior: "outsideViewportBehavior", floatDuration: "floatDuration" }, outputs: { init: "init" }, host: { properties: { "class": "'bui-alert-container bui-host bui-alert-container-' + (_remaining.length ? 'not-empty': 'empty')" } }, ngImport: i0, template: "<div\n\tclass=\"bui-alert-fixed-panel\"\n\t[style.opacity]=\"_floatPanelHidden ? 1 : 0\"\n\t[class.bui-alert-fixed-panel-blink]=\"outsideViewportBehavior === 'scroll'\"\n>\n\t<bui-alert\n\t\t*ngFor=\"let a of _alerts\"\n\t\t[id]=\"a.id\"\n\t\t[type]=\"a.type\"\n\t\t[message]=\"a.message\"\n\t\tdismissible\n\t\t[@alertTransition]=\"a.deleted ? 'hidden' : 'visible'\"\n\t\t(@alertTransition.start)=\"_animationStarted.next($event)\"\n\t\t(@alertTransition.done)=\"_animationEnded.next($event)\"\n\t\t(dismissed)=\"_dismiss(a)\"\n\t></bui-alert>\n</div>\n\n<div class=\"bui-alert-float-panel-frame\" [hidden]=\"_floatPanelHidden\" [class.bui-alert-float-panel-shaded]=\"_floated\">\n\t<div class=\"bui-alert-float-panel\" [style.max-width]=\"_width + 'px'\" [@floatTransition]=\"'visible'\" *ngIf=\"_floated\">\n\t\t<bui-alert\n\t\t\t*ngFor=\"let a of _alerts\"\n\t\t\t[id]=\"a.id\"\n\t\t\t[type]=\"a.type\"\n\t\t\t[message]=\"a.message\"\n\t\t\t[@alertTransition]=\"a.deleted ? 'hidden' : 'visible'\"\n\t\t></bui-alert>\n\t</div>\n</div>\n", styles: [".bui-alert:not(:first-of-type){margin-top:.5rem}:host(:not([hidden])){display:block}.bui-alert-fixed-panel{transition:opacity .2s ease-in}.bui-alert-fixed-panel.bui-alert-fixed-panel-blink .bui-alert:last-of-type{animation:blink 1s ease-in forwards}.bui-alert-float-panel-frame{position:fixed;z-index:1000;inset:0;justify-content:center;align-items:center;flex-direction:column;transition:background-color .4s cubic-bezier(.25,0,.55,.2)}.bui-alert-float-panel-frame:not([hidden]){display:flex}.bui-alert-float-panel-frame.bui-alert-float-panel-shaded{background-color:#00000080}.bui-alert-float-panel-frame .bui-alert{background-color:var(--bui-bg-card)}@keyframes blink{60%{opacity:1}70%{opacity:0}80%{opacity:1}90%{opacity:0}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AlertMessageComponent, selector: "bui-alert", inputs: ["type", "message", "politeness", "dismissible", "id"], outputs: ["dismissed", "initialised"] }], animations: [
256
267
  trigger('floatTransition', [
257
268
  transition(':enter', [style({ opacity: '0', transform: 'translateY(-10vh)' }), animate('.3s ease-in')]),
258
269
  transition(':leave', [animate('.4s ease-out', style({ transform: 'translateY(-10vh)', opacity: '0' }))])
@@ -1 +1 @@
1
- {"version":3,"file":"bravura-ui-alert.mjs","sources":["../../../projects/ui/alert/alert-message.component.ts","../../../projects/ui/alert/alert-message.component.html","../../../projects/ui/alert/alert-container.component.ts","../../../projects/ui/alert/alert-container.component.html","../../../projects/ui/alert/alert.module.ts","../../../projects/ui/alert/bravura-ui-alert.ts"],"sourcesContent":["import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, OnInit, Output } from '@angular/core';\nimport { generateID } from '@bravura/ui/common';\n\n/** @ignore */\nconst ICONS: any = {\n\tsuccess: 'check_circle',\n\tinfo: 'info',\n\twarn: 'report_problem',\n\terror: 'cancel'\n};\n\n/**\n * An alert style message usually appears in a global notification area.\n *\n * The base color of the message is determined by the `type` of the message and a list of predefined\n * CSS custom properties.\n *\n * ```scss\n * --bui-color-success: #519602;\n * --bui-color-info: #0dcaf0;\n * --bui-color-warning: #ffc107;\n * --bui-color-error: #dc3545;\n * ```\n *\n *\n */\n@Component({\n\tselector: 'bui-alert',\n\ttemplateUrl: './alert-message.component.html',\n\tstyleUrls: ['./alert-message.component.scss'],\n\thost: {\n\t\t'[class]': `'bui-alert bui-host bui-alert-' + (type === 'warn' ? 'warning' : type) + (dismissible ? ' bui-alert-dismissible' : '')`,\n\t\trole: 'alert'\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AlertMessageComponent implements OnInit {\n\t/** @ignore */\n\tstatic ngAcceptInputType_dismissible: boolean | string | null | undefined;\n\t/** @ignore */\n\tstatic ngAcceptInputType_blink: boolean | string | null | undefined;\n\n\t/** The type of the message, used to derive the icon and base color. */\n\t@Input()\n\ttype: 'success' | 'info' | 'warn' | 'error' = 'error';\n\n\t/** The message to be displayed, HTML supported. */\n\t@Input()\n\tmessage = '';\n\n\t/** Whether to display the button to fire the `dismissed` event. */\n\t@Input()\n\tget dismissible() {\n\t\treturn this._dismissible;\n\t}\n\tset dismissible(value: any) {\n\t\tthis._dismissible = coerceBooleanProperty(value);\n\t}\n\n\t/** To be emitted when the user choose to dismiss the message. The event object is the ID of the element. */\n\t@Output()\n\tdismissed = new EventEmitter<string>();\n\n\t/** To be emitted when the component finishes initialisation. The event object is the ID of the element. */\n\t@Output()\n\tinitialised = new EventEmitter<string>();\n\n\t@Input('id')\n\t@HostBinding('id')\n\t/** @ignore */\n\t_id = `bui-alert-${generateID()}`;\n\n\tprivate _dismissible = false;\n\tprivate _blink = false;\n\n\tconstructor() {}\n\n\tngOnInit(): void {\n\t\tthis.initialised.emit(this._id);\n\t}\n\n\t/** @ignore */\n\tget iconName(): string {\n\t\treturn ICONS[this.type];\n\t}\n\n\t/** @ignore */\n\t_dismiss() {\n\t\tthis.dismissed.emit(this._id);\n\t}\n}\n","<div class=\"bui-alert-backdrop\"></div>\n<div class=\"bui-alert-frame\"></div>\n\n<div class=\"bui-alert-wrapper\">\n\t<div class=\"bui-alert-icon-area\">\n\t\t<mat-icon [buiIcon]=\"iconName\" variant=\"outlined\"></mat-icon>\n\t</div>\n\t<div class=\"bui-alert-content\"><div [innerHTML]=\"message\"></div></div>\n</div>\n\n<div class=\"bui-alert-button-area\" *ngIf=\"dismissible\">\n\t<div class=\"bui-alert-button-backdrop\"></div>\n\t<button mat-icon-button class=\"bui-alert-button\" (click)=\"_dismiss()\"><mat-icon>cancel</mat-icon></button>\n</div>\n","import { animate, state, style, transition, trigger, AnimationEvent } from '@angular/animations';\nimport { ScrollDispatcher } from '@angular/cdk/scrolling';\nimport {\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tEventEmitter,\n\tInput,\n\tNgZone,\n\tOnDestroy,\n\tOnInit,\n\tOutput\n} from '@angular/core';\nimport { generateID, isElementInViewport } from '@bravura/ui/common';\nimport { Subject, Subscription, timer } from 'rxjs';\nimport { delay, take, takeUntil, tap } from 'rxjs/operators';\n\n/**@internal */\nclass InternalAlertOject {\n\tid: string;\n\tdeleted = false;\n\tconstructor(public readonly type: 'success' | 'info' | 'warn' | 'error', public readonly message: string) {\n\t\tthis.id = `bui-alert-cont-alert-${generateID()}`;\n\t}\n}\n\n/**\n * Use this component in a designated area of a page for displaying notification messages\n *\n */\n@Component({\n\tselector: 'bui-alert-container',\n\ttemplateUrl: './alert-container.component.html',\n\tstyleUrls: ['./alert-container.component.scss'],\n\thost: {\n\t\t'[class]': `'bui-alert-container bui-host bui-alert-container-' + (_remaining.length ? 'not-empty': 'empty')`\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [\n\t\ttrigger('floatTransition', [\n\t\t\ttransition(':enter', [style({ opacity: '0', transform: 'translateY(-10vh)' }), animate('.3s ease-in')]),\n\t\t\ttransition(':leave', [animate('.4s ease-out', style({ transform: 'translateY(-10vh)', opacity: '0' }))])\n\t\t]),\n\t\ttrigger('alertTransition', [\n\t\t\tstate('visible', style({})),\n\t\t\tstate(\n\t\t\t\t'hidden',\n\t\t\t\tstyle({\n\t\t\t\t\theight: 0,\n\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\ttransform: 'scaleY(0)',\n\t\t\t\t\topacity: 0,\n\t\t\t\t\t'margin-top': '-1rem'\n\t\t\t\t})\n\t\t\t),\n\t\t\ttransition('void => visible', [\n\t\t\t\tstyle({ transform: 'translateY(100%)', height: 0, opacity: '0', overflow: 'hidden' }),\n\t\t\t\tanimate('250ms cubic-bezier(0.42, 0.0, 0.58, 1.0)')\n\t\t\t]),\n\t\t\ttransition('visible => hidden', [animate('250ms cubic-bezier(0.25, 0, 0.3, 1.0)')])\n\t\t])\n\t]\n})\nexport class AlertContainerComponent implements OnInit, OnDestroy {\n\t/** The maximum number of messages displayed in the container area. */\n\t@Input()\n\tmax = 5;\n\n\t/**\n\t * This property determines the behavior for displaying the notifications when the container is outside the viewport.\n\t *\n\t * `scroll`: The component will try to scroll to reveal the new notifications.\n\t * `float`: The component will float the alert panel to the center of the screen for a couple of seconds and move it back to the original position.\n\t */\n\t@Input()\n\toutsideViewportBehavior: 'scroll' | 'float' = 'float';\n\n\t/**\n\t * The number of milliseconds for which the alert container will be floated when new notification arrives.\n\t *\n\t * This will only take effect when `outsideViewportBehavior` is set to `float` and the container is outside the viewport.\n\t */\n\t@Input()\n\tfloatDuration = 2000;\n\n\t/**@internal */\n\t_alerts: InternalAlertOject[] = [];\n\t/**@internal */\n\t_floated = false;\n\t/**@internal */\n\t_floatPanelHidden = true;\n\n\t/** @ignore Emits whenever the animation is started. */\n\treadonly _animationStarted = new Subject<AnimationEvent>();\n\t/** @ignore Emits whenever the animation is done. */\n\treadonly _animationEnded = new Subject<AnimationEvent>();\n\n\tprivate _destroyed$ = new Subject<void>();\n\tprivate _endFloatingSub?: Subscription;\n\n\t/** Emits the component instance after initialisation. */\n\t@Output()\n\tprivate init = new EventEmitter<AlertContainerComponent>();\n\n\tconstructor(\n\t\tprivate zone: NgZone,\n\t\tprivate cdRef: ChangeDetectorRef,\n\t\tprivate _elementRef: ElementRef<HTMLElement>,\n\t\tprivate scroll: ScrollDispatcher\n\t) {}\n\n\tngOnInit(): void {\n\t\tconst checkScroll = () => {\n\t\t\tif (isElementInViewport(this._elementRef.nativeElement)) {\n\t\t\t\tthis._endFloating();\n\t\t\t}\n\t\t};\n\t\tthis.scroll\n\t\t\t.ancestorScrolled(this._elementRef.nativeElement)\n\t\t\t.pipe(takeUntil(this._destroyed$))\n\t\t\t.subscribe(checkScroll);\n\t\tcheckScroll();\n\t\tthis.init.emit(this);\n\t\tthis.init.complete();\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._destroyed$.next();\n\t\tthis._destroyed$.complete();\n\t\tthis._endFloatingSub?.unsubscribe();\n\t}\n\n\t/**@internal */\n\tget _remaining() {\n\t\treturn this._alerts.filter(a => !a.deleted);\n\t}\n\n\t/**@internal */\n\tget _width() {\n\t\treturn this._elementRef.nativeElement.clientWidth;\n\t}\n\n\t/** Add a message to the notification area */\n\tasync notify(type: 'success' | 'info' | 'warn' | 'error', message: string) {\n\t\tthis._endFloatingSub?.unsubscribe();\n\t\tconst duplicate = this._remaining.find(_a => message === _a.message);\n\t\tif (duplicate) {\n\t\t\tthis._dismiss(duplicate);\n\t\t}\n\n\t\tconst remaining = this._remaining;\n\t\tif (remaining.length >= this.max) {\n\t\t\tthis._dismiss(remaining[0]);\n\t\t}\n\n\t\tconst a = new InternalAlertOject(type, message);\n\t\tawait this._checkViewport();\n\t\tthis.zone.run(() => {\n\t\t\tthis._alerts.push(a);\n\t\t\tthis.cdRef.markForCheck();\n\t\t});\n\t}\n\n\t/**@ignore */\n\tasync _checkViewport() {\n\t\tif (!isElementInViewport(this._elementRef.nativeElement)) {\n\t\t\tif (this.outsideViewportBehavior === 'float') {\n\t\t\t\tconst d = this._floated ? 0 : 100;\n\t\t\t\tthis._floated = true;\n\t\t\t\tthis._floatPanelHidden = false;\n\t\t\t\tthis._endFloating(this.floatDuration);\n\t\t\t\tthis.cdRef.markForCheck();\n\t\t\t\tawait timer(d).toPromise();\n\t\t\t} else {\n\t\t\t\tthis._elementRef.nativeElement.scrollIntoView({ block: 'start', behavior: 'smooth' });\n\t\t\t}\n\t\t}\n\t}\n\n\t/**@ignore */\n\tasync _dismiss(a: InternalAlertOject) {\n\t\tconst id = a.id;\n\t\ta.deleted = true;\n\t\tthis.cdRef.markForCheck();\n\t\tawait this._animationEnded.pipe(take(1)).toPromise();\n\t\tthis.zone.run(() => {\n\t\t\tthis._alerts = this._alerts.filter(_a => _a.id !== id);\n\t\t\tthis.cdRef.markForCheck();\n\t\t});\n\t}\n\n\t/** Remove all messages currently displayed. */\n\tasync clear() {\n\t\tawait Promise.all(this._remaining.map(a => this._dismiss(a)));\n\t\tthis._endFloating();\n\t}\n\n\tprivate _endFloating(_delay = 0) {\n\t\tif (!this._floated) {\n\t\t\treturn;\n\t\t}\n\t\tthis._endFloatingSub?.unsubscribe();\n\t\tthis._endFloatingSub = timer(_delay)\n\t\t\t.pipe(\n\t\t\t\ttap(() => {\n\t\t\t\t\tthis._floated = false;\n\t\t\t\t\tthis.zone.run(() => this.cdRef.markForCheck());\n\t\t\t\t}),\n\t\t\t\tdelay(400)\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis._floatPanelHidden = true;\n\t\t\t\tthis.zone.run(() => this.cdRef.markForCheck());\n\t\t\t});\n\t}\n}\n","<div\n\tclass=\"bui-alert-fixed-panel\"\n\t[style.opacity]=\"_floatPanelHidden ? 1 : 0\"\n\t[class.bui-alert-fixed-panel-blink]=\"outsideViewportBehavior === 'scroll'\"\n>\n\t<bui-alert\n\t\t*ngFor=\"let a of _alerts\"\n\t\t[id]=\"a.id\"\n\t\t[type]=\"a.type\"\n\t\t[message]=\"a.message\"\n\t\tdismissible\n\t\t[@alertTransition]=\"a.deleted ? 'hidden' : 'visible'\"\n\t\t(@alertTransition.start)=\"_animationStarted.next($event)\"\n\t\t(@alertTransition.done)=\"_animationEnded.next($event)\"\n\t\t(dismissed)=\"_dismiss(a)\"\n\t></bui-alert>\n</div>\n\n<div class=\"bui-alert-float-panel-frame\" [hidden]=\"_floatPanelHidden\" [class.bui-alert-float-panel-shaded]=\"_floated\">\n\t<div class=\"bui-alert-float-panel\" [style.max-width]=\"_width + 'px'\" [@floatTransition]=\"'visible'\" *ngIf=\"_floated\">\n\t\t<bui-alert\n\t\t\t*ngFor=\"let a of _alerts\"\n\t\t\t[id]=\"a.id\"\n\t\t\t[type]=\"a.type\"\n\t\t\t[message]=\"a.message\"\n\t\t\t[@alertTransition]=\"a.deleted ? 'hidden' : 'visible'\"\n\t\t></bui-alert>\n\t</div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { IconFontModule } from '@bravura/ui/icon-font';\nimport { AlertContainerComponent } from './alert-container.component';\nimport { AlertMessageComponent } from './alert-message.component';\n\n@NgModule({\n\tdeclarations: [AlertMessageComponent, AlertContainerComponent],\n\timports: [CommonModule, IconFontModule, MatButtonModule],\n\texports: [AlertMessageComponent, AlertContainerComponent]\n})\nexport class AlertModule {}\n\nexport { AlertMessageComponent, AlertContainerComponent };\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.AlertMessageComponent"],"mappings":"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"}
1
+ {"version":3,"file":"bravura-ui-alert.mjs","sources":["../../../projects/ui/alert/alert-message.component.ts","../../../projects/ui/alert/alert-message.component.html","../../../projects/ui/alert/alert-container.component.ts","../../../projects/ui/alert/alert-container.component.html","../../../projects/ui/alert/alert.module.ts","../../../projects/ui/alert/bravura-ui-alert.ts"],"sourcesContent":["import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, OnInit, Output } from '@angular/core';\nimport { generateID } from '@bravura/ui/common';\n\n/** @ignore */\nconst ICONS: any = {\n\tsuccess: 'check_circle',\n\tinfo: 'info',\n\twarn: 'report_problem',\n\terror: 'cancel'\n};\n\n/** @ignore */\nconst DEFAULT_POLITENESS = {\n\tsuccess: 'polite',\n\tinfo: 'polite',\n\twarn: 'assertive',\n\terror: 'assertive'\n};\n\n/**\n * An alert style message usually appears in a global notification area.\n *\n * The base color of the message is determined by the `type` of the message and a list of predefined\n * CSS custom properties.\n *\n * ```scss\n * --bui-color-success: #519602;\n * --bui-color-info: #0dcaf0;\n * --bui-color-warning: #ffc107;\n * --bui-color-error: #dc3545;\n * ```\n *\n *\n */\n@Component({\n\tselector: 'bui-alert',\n\ttemplateUrl: './alert-message.component.html',\n\tstyleUrls: ['./alert-message.component.scss'],\n\thost: {\n\t\t'[class]': `'bui-alert bui-host bui-alert-' + (type === 'warn' ? 'warning' : type) + (dismissible ? ' bui-alert-dismissible' : '')`,\n\t\t'[role]': `politeness === 'off' ? 'region' : 'alert'`,\n\t\t'[attr.aria-live]': `politeness === 'assertive' ? undefined : politeness`\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AlertMessageComponent implements OnInit {\n\t/** @ignore */\n\tstatic ngAcceptInputType_dismissible: boolean | string | null | undefined;\n\t/** @ignore */\n\tstatic ngAcceptInputType_blink: boolean | string | null | undefined;\n\n\t/** The type of the message, used to derive the icon and base color. */\n\t@Input()\n\ttype: 'success' | 'info' | 'warn' | 'error' = 'error';\n\n\t/** The message to be displayed, HTML supported. */\n\t@Input()\n\tmessage = '';\n\n\t/** Specifies the ARIA live region politeness. */\n\t@Input()\n\tpoliteness!: 'off' | 'polite' | 'assertive';\n\n\t/** Whether to display the button to fire the `dismissed` event. */\n\t@Input()\n\tget dismissible() {\n\t\treturn this._dismissible;\n\t}\n\tset dismissible(value: any) {\n\t\tthis._dismissible = coerceBooleanProperty(value);\n\t}\n\n\t/** To be emitted when the user choose to dismiss the message. The event object is the ID of the element. */\n\t@Output()\n\tdismissed = new EventEmitter<string>();\n\n\t/** To be emitted when the component finishes initialisation. The event object is the ID of the element. */\n\t@Output()\n\tinitialised = new EventEmitter<string>();\n\n\t@Input('id')\n\t@HostBinding('id')\n\t/** @ignore */\n\t_id = `bui-alert-${generateID()}`;\n\n\tprivate _dismissible = false;\n\tprivate _blink = false;\n\n\tconstructor() {}\n\n\tngOnInit(): void {\n\t\tthis.politeness = this.politeness || DEFAULT_POLITENESS[this.type];\n\t\tthis.initialised.emit(this._id);\n\t}\n\n\t/** @ignore */\n\tget iconName(): string {\n\t\treturn ICONS[this.type];\n\t}\n\n\t/** @ignore */\n\t_dismiss() {\n\t\tthis.dismissed.emit(this._id);\n\t}\n}\n","<div class=\"bui-alert-backdrop\"></div>\n<div class=\"bui-alert-frame\"></div>\n\n<div class=\"bui-alert-wrapper\">\n\t<div class=\"bui-alert-icon-area\">\n\t\t<mat-icon [buiIcon]=\"iconName\" variant=\"outlined\"></mat-icon>\n\t</div>\n\t<div class=\"bui-alert-content\"><div [innerHTML]=\"message\"></div></div>\n</div>\n\n<div class=\"bui-alert-button-area\" *ngIf=\"dismissible\">\n\t<div class=\"bui-alert-button-backdrop\"></div>\n\t<button mat-icon-button class=\"bui-alert-button\" (click)=\"_dismiss()\" aria-label=\"dismiss alert\">\n\t\t<mat-icon>cancel</mat-icon>\n\t</button>\n</div>\n","import { animate, state, style, transition, trigger, AnimationEvent } from '@angular/animations';\nimport { ScrollDispatcher } from '@angular/cdk/scrolling';\nimport {\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tEventEmitter,\n\tInput,\n\tNgZone,\n\tOnDestroy,\n\tOnInit,\n\tOutput\n} from '@angular/core';\nimport { generateID, isElementInViewport } from '@bravura/ui/common';\nimport { Subject, Subscription, timer } from 'rxjs';\nimport { delay, take, takeUntil, tap } from 'rxjs/operators';\n\n/**@internal */\nclass InternalAlertOject {\n\tid: string;\n\tdeleted = false;\n\tconstructor(public readonly type: 'success' | 'info' | 'warn' | 'error', public readonly message: string) {\n\t\tthis.id = `bui-alert-cont-alert-${generateID()}`;\n\t}\n}\n\n/**\n * Use this component in a designated area of a page for displaying notification messages\n *\n */\n@Component({\n\tselector: 'bui-alert-container',\n\ttemplateUrl: './alert-container.component.html',\n\tstyleUrls: ['./alert-container.component.scss'],\n\thost: {\n\t\t'[class]': `'bui-alert-container bui-host bui-alert-container-' + (_remaining.length ? 'not-empty': 'empty')`\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [\n\t\ttrigger('floatTransition', [\n\t\t\ttransition(':enter', [style({ opacity: '0', transform: 'translateY(-10vh)' }), animate('.3s ease-in')]),\n\t\t\ttransition(':leave', [animate('.4s ease-out', style({ transform: 'translateY(-10vh)', opacity: '0' }))])\n\t\t]),\n\t\ttrigger('alertTransition', [\n\t\t\tstate('visible', style({})),\n\t\t\tstate(\n\t\t\t\t'hidden',\n\t\t\t\tstyle({\n\t\t\t\t\theight: 0,\n\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\ttransform: 'scaleY(0)',\n\t\t\t\t\topacity: 0,\n\t\t\t\t\t'margin-top': '-1rem'\n\t\t\t\t})\n\t\t\t),\n\t\t\ttransition('void => visible', [\n\t\t\t\tstyle({ transform: 'translateY(100%)', height: 0, opacity: '0', overflow: 'hidden' }),\n\t\t\t\tanimate('250ms cubic-bezier(0.42, 0.0, 0.58, 1.0)')\n\t\t\t]),\n\t\t\ttransition('visible => hidden', [animate('250ms cubic-bezier(0.25, 0, 0.3, 1.0)')])\n\t\t])\n\t]\n})\nexport class AlertContainerComponent implements OnInit, OnDestroy {\n\t/** The maximum number of messages displayed in the container area. */\n\t@Input()\n\tmax = 5;\n\n\t/**\n\t * This property determines the behavior for displaying the notifications when the container is outside the viewport.\n\t *\n\t * `scroll`: The component will try to scroll to reveal the new notifications.\n\t * `float`: The component will float the alert panel to the center of the screen for a couple of seconds and move it back to the original position.\n\t */\n\t@Input()\n\toutsideViewportBehavior: 'scroll' | 'float' = 'float';\n\n\t/**\n\t * The number of milliseconds for which the alert container will be floated when new notification arrives.\n\t *\n\t * This will only take effect when `outsideViewportBehavior` is set to `float` and the container is outside the viewport.\n\t */\n\t@Input()\n\tfloatDuration = 2000;\n\n\t/**@internal */\n\t_alerts: InternalAlertOject[] = [];\n\t/**@internal */\n\t_floated = false;\n\t/**@internal */\n\t_floatPanelHidden = true;\n\n\t/** @ignore Emits whenever the animation is started. */\n\treadonly _animationStarted = new Subject<AnimationEvent>();\n\t/** @ignore Emits whenever the animation is done. */\n\treadonly _animationEnded = new Subject<AnimationEvent>();\n\n\tprivate _destroyed$ = new Subject<void>();\n\tprivate _endFloatingSub?: Subscription;\n\n\t/** Emits the component instance after initialisation. */\n\t@Output()\n\tprivate init = new EventEmitter<AlertContainerComponent>();\n\n\tconstructor(\n\t\tprivate zone: NgZone,\n\t\tprivate cdRef: ChangeDetectorRef,\n\t\tprivate _elementRef: ElementRef<HTMLElement>,\n\t\tprivate scroll: ScrollDispatcher\n\t) {}\n\n\tngOnInit(): void {\n\t\tconst checkScroll = () => {\n\t\t\tif (isElementInViewport(this._elementRef.nativeElement)) {\n\t\t\t\tthis._endFloating();\n\t\t\t}\n\t\t};\n\t\tthis.scroll\n\t\t\t.ancestorScrolled(this._elementRef.nativeElement)\n\t\t\t.pipe(takeUntil(this._destroyed$))\n\t\t\t.subscribe(checkScroll);\n\t\tcheckScroll();\n\t\tthis.init.emit(this);\n\t\tthis.init.complete();\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._destroyed$.next();\n\t\tthis._destroyed$.complete();\n\t\tthis._endFloatingSub?.unsubscribe();\n\t}\n\n\t/**@internal */\n\tget _remaining() {\n\t\treturn this._alerts.filter(a => !a.deleted);\n\t}\n\n\t/**@internal */\n\tget _width() {\n\t\treturn this._elementRef.nativeElement.clientWidth;\n\t}\n\n\t/** Add a message to the notification area */\n\tasync notify(type: 'success' | 'info' | 'warn' | 'error', message: string) {\n\t\tthis._endFloatingSub?.unsubscribe();\n\t\tconst duplicate = this._remaining.find(_a => message === _a.message);\n\t\tif (duplicate) {\n\t\t\tthis._dismiss(duplicate);\n\t\t}\n\n\t\tconst remaining = this._remaining;\n\t\tif (remaining.length >= this.max) {\n\t\t\tthis._dismiss(remaining[0]);\n\t\t}\n\n\t\tconst a = new InternalAlertOject(type, message);\n\t\tawait this._checkViewport();\n\t\tthis.zone.run(() => {\n\t\t\tthis._alerts.push(a);\n\t\t\tthis.cdRef.markForCheck();\n\t\t});\n\t}\n\n\t/**@ignore */\n\tasync _checkViewport() {\n\t\tif (!isElementInViewport(this._elementRef.nativeElement)) {\n\t\t\tif (this.outsideViewportBehavior === 'float') {\n\t\t\t\tconst d = this._floated ? 0 : 100;\n\t\t\t\tthis._floated = true;\n\t\t\t\tthis._floatPanelHidden = false;\n\t\t\t\tthis._endFloating(this.floatDuration);\n\t\t\t\tthis.cdRef.markForCheck();\n\t\t\t\tawait timer(d).toPromise();\n\t\t\t} else {\n\t\t\t\tthis._elementRef.nativeElement.scrollIntoView({ block: 'start', behavior: 'smooth' });\n\t\t\t}\n\t\t}\n\t}\n\n\t/**@ignore */\n\tasync _dismiss(a: InternalAlertOject) {\n\t\tconst id = a.id;\n\t\ta.deleted = true;\n\t\tthis.cdRef.markForCheck();\n\t\tawait this._animationEnded.pipe(take(1)).toPromise();\n\t\tthis.zone.run(() => {\n\t\t\tthis._alerts = this._alerts.filter(_a => _a.id !== id);\n\t\t\tthis.cdRef.markForCheck();\n\t\t});\n\t}\n\n\t/** Remove all messages currently displayed. */\n\tasync clear() {\n\t\tawait Promise.all(this._remaining.map(a => this._dismiss(a)));\n\t\tthis._endFloating();\n\t}\n\n\tprivate _endFloating(_delay = 0) {\n\t\tif (!this._floated) {\n\t\t\treturn;\n\t\t}\n\t\tthis._endFloatingSub?.unsubscribe();\n\t\tthis._endFloatingSub = timer(_delay)\n\t\t\t.pipe(\n\t\t\t\ttap(() => {\n\t\t\t\t\tthis._floated = false;\n\t\t\t\t\tthis.zone.run(() => this.cdRef.markForCheck());\n\t\t\t\t}),\n\t\t\t\tdelay(400)\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis._floatPanelHidden = true;\n\t\t\t\tthis.zone.run(() => this.cdRef.markForCheck());\n\t\t\t});\n\t}\n}\n","<div\n\tclass=\"bui-alert-fixed-panel\"\n\t[style.opacity]=\"_floatPanelHidden ? 1 : 0\"\n\t[class.bui-alert-fixed-panel-blink]=\"outsideViewportBehavior === 'scroll'\"\n>\n\t<bui-alert\n\t\t*ngFor=\"let a of _alerts\"\n\t\t[id]=\"a.id\"\n\t\t[type]=\"a.type\"\n\t\t[message]=\"a.message\"\n\t\tdismissible\n\t\t[@alertTransition]=\"a.deleted ? 'hidden' : 'visible'\"\n\t\t(@alertTransition.start)=\"_animationStarted.next($event)\"\n\t\t(@alertTransition.done)=\"_animationEnded.next($event)\"\n\t\t(dismissed)=\"_dismiss(a)\"\n\t></bui-alert>\n</div>\n\n<div class=\"bui-alert-float-panel-frame\" [hidden]=\"_floatPanelHidden\" [class.bui-alert-float-panel-shaded]=\"_floated\">\n\t<div class=\"bui-alert-float-panel\" [style.max-width]=\"_width + 'px'\" [@floatTransition]=\"'visible'\" *ngIf=\"_floated\">\n\t\t<bui-alert\n\t\t\t*ngFor=\"let a of _alerts\"\n\t\t\t[id]=\"a.id\"\n\t\t\t[type]=\"a.type\"\n\t\t\t[message]=\"a.message\"\n\t\t\t[@alertTransition]=\"a.deleted ? 'hidden' : 'visible'\"\n\t\t></bui-alert>\n\t</div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { IconFontModule } from '@bravura/ui/icon-font';\nimport { AlertContainerComponent } from './alert-container.component';\nimport { AlertMessageComponent } from './alert-message.component';\n\n@NgModule({\n\tdeclarations: [AlertMessageComponent, AlertContainerComponent],\n\timports: [CommonModule, IconFontModule, MatButtonModule],\n\texports: [AlertMessageComponent, AlertContainerComponent]\n})\nexport class AlertModule {}\n\nexport { AlertMessageComponent, AlertContainerComponent };\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.AlertMessageComponent"],"mappings":";;;;;;;;;;;;;;;;;AAIA;AACA,MAAM,KAAK,GAAQ;AAClB,IAAA,OAAO,EAAE,cAAc;AACvB,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,KAAK,EAAE,QAAQ;CACf,CAAC;AAEF;AACA,MAAM,kBAAkB,GAAG;AAC1B,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,KAAK,EAAE,WAAW;CAClB,CAAC;AAEF;;;;;;;;;;;;;;AAcG;MAYU,qBAAqB,CAAA;AA2CjC,IAAA,WAAA,GAAA;;AAnCA,QAAA,IAAI,CAAA,IAAA,GAA0C,OAAO,CAAC;;AAItD,QAAA,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;;AAiBb,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAU,CAAC;;AAIvC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAU,CAAC;;AAKzC,QAAA,IAAA,CAAA,GAAG,GAAG,aAAa,UAAU,EAAE,EAAE,CAAC;AAE1B,QAAA,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;AACrB,QAAA,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;KAEP;;AAxBhB,IAAA,IACI,WAAW,GAAA;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;KACzB;IACD,IAAI,WAAW,CAAC,KAAU,EAAA;AACzB,QAAA,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KACjD;IAoBD,QAAQ,GAAA;AACP,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAChC;;AAGD,IAAA,IAAI,QAAQ,GAAA;AACX,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACxB;;IAGD,QAAQ,GAAA;QACP,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC9B;;kHA1DW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,uhBC9ClC,ylBAgBA,EAAA,MAAA,EAAA,CAAA,0lHAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FD8Ba,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAXjC,SAAS;YACC,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAGf,IAAA,EAAA;AACL,wBAAA,SAAS,EAAE,CAAwH,sHAAA,CAAA;AACnI,wBAAA,QAAQ,EAAE,CAA2C,yCAAA,CAAA;AACrD,wBAAA,kBAAkB,EAAE,CAAqD,mDAAA,CAAA;AACzE,qBAAA,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,ylBAAA,EAAA,MAAA,EAAA,CAAA,0lHAAA,CAAA,EAAA,CAAA;0EAU/C,IAAI,EAAA,CAAA;sBADH,KAAK;gBAKN,OAAO,EAAA,CAAA;sBADN,KAAK;gBAKN,UAAU,EAAA,CAAA;sBADT,KAAK;gBAKF,WAAW,EAAA,CAAA;sBADd,KAAK;gBAUN,SAAS,EAAA,CAAA;sBADR,MAAM;gBAKP,WAAW,EAAA,CAAA;sBADV,MAAM;;;AAMP,QAAA,GAAG,EAAA,CAAA;sBAHF,KAAK;uBAAC,IAAI,CAAA;;sBACV,WAAW;uBAAC,IAAI,CAAA;;;AEhElB;AACA,MAAM,kBAAkB,CAAA;IAGvB,WAA4B,CAAA,IAA2C,EAAkB,OAAe,EAAA;AAA5E,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAuC;AAAkB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AADxG,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAEf,QAAA,IAAI,CAAC,EAAE,GAAG,wBAAwB,UAAU,EAAE,EAAE,CAAC;KACjD;AACD,CAAA;AAED;;;AAGG;MAkCU,uBAAuB,CAAA;AAyCnC,IAAA,WAAA,CACS,IAAY,EACZ,KAAwB,EACxB,WAAoC,EACpC,MAAwB,EAAA;AAHxB,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;AACZ,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;AACxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAyB;AACpC,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAkB;;AA1CjC,QAAA,IAAG,CAAA,GAAA,GAAG,CAAC,CAAC;AAER;;;;;AAKG;AAEH,QAAA,IAAuB,CAAA,uBAAA,GAAuB,OAAO,CAAC;AAEtD;;;;AAIG;AAEH,QAAA,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC;;AAGrB,QAAA,IAAO,CAAA,OAAA,GAAyB,EAAE,CAAC;;AAEnC,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;AAEjB,QAAA,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;;AAGhB,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,OAAO,EAAkB,CAAC;;AAElD,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,OAAO,EAAkB,CAAC;AAEjD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,OAAO,EAAQ,CAAC;;AAKlC,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,YAAY,EAA2B,CAAC;KAOvD;IAEJ,QAAQ,GAAA;QACP,MAAM,WAAW,GAAG,MAAK;YACxB,IAAI,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE;gBACxD,IAAI,CAAC,YAAY,EAAE,CAAC;AACpB,aAAA;AACF,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,MAAM;AACT,aAAA,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;AAChD,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aACjC,SAAS,CAAC,WAAW,CAAC,CAAC;AACzB,QAAA,WAAW,EAAE,CAAC;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;KACrB;IAED,WAAW,GAAA;;AACV,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;AAC5B,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,eAAe,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE,CAAC;KACpC;;AAGD,IAAA,IAAI,UAAU,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;KAC5C;;AAGD,IAAA,IAAI,MAAM,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC;KAClD;;IAGK,MAAM,CAAC,IAA2C,EAAE,OAAe,EAAA;;;AACxE,YAAA,CAAA,EAAA,GAAA,IAAI,CAAC,eAAe,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE,CAAC;AACpC,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC;AACrE,YAAA,IAAI,SAAS,EAAE;AACd,gBAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACzB,aAAA;AAED,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;AAClC,YAAA,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE;gBACjC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,aAAA;YAED,MAAM,CAAC,GAAG,IAAI,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAChD,YAAA,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;AAC5B,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAK;AAClB,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrB,gBAAA,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;AAC3B,aAAC,CAAC,CAAC;;AACH,KAAA;;IAGK,cAAc,GAAA;;YACnB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE;AACzD,gBAAA,IAAI,IAAI,CAAC,uBAAuB,KAAK,OAAO,EAAE;AAC7C,oBAAA,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC;AAClC,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,oBAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;AAC/B,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACtC,oBAAA,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;AAC1B,oBAAA,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AAC3B,iBAAA;AAAM,qBAAA;AACN,oBAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AACtF,iBAAA;AACD,aAAA;SACD,CAAA,CAAA;AAAA,KAAA;;AAGK,IAAA,QAAQ,CAAC,CAAqB,EAAA;;AACnC,YAAA,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;AAChB,YAAA,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;AACjB,YAAA,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;AAC1B,YAAA,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AACrD,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAK;AAClB,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACvD,gBAAA,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;AAC3B,aAAC,CAAC,CAAC;SACH,CAAA,CAAA;AAAA,KAAA;;IAGK,KAAK,GAAA;;YACV,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,YAAY,EAAE,CAAC;SACpB,CAAA,CAAA;AAAA,KAAA;IAEO,YAAY,CAAC,MAAM,GAAG,CAAC,EAAA;;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnB,OAAO;AACP,SAAA;AACD,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,eAAe,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE,CAAC;AACpC,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC;AAClC,aAAA,IAAI,CACJ,GAAG,CAAC,MAAK;AACR,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;AAChD,SAAC,CAAC,EACF,KAAK,CAAC,GAAG,CAAC,CACV;aACA,SAAS,CAAC,MAAK;AACf,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;AAC9B,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;AAChD,SAAC,CAAC,CAAC;KACJ;;oHAvJW,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;wGAAvB,uBAAuB,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kGAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChEpC,ihCA6BA,EDUa,MAAA,EAAA,CAAA,4tBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,EAAA,YAAA,EAAA,aAAA,EAAA,IAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA;QACX,OAAO,CAAC,iBAAiB,EAAE;YAC1B,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YACvG,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;SACxG,CAAC;QACF,OAAO,CAAC,iBAAiB,EAAE;AAC1B,YAAA,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;AAC3B,YAAA,KAAK,CACJ,QAAQ,EACR,KAAK,CAAC;AACL,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,QAAQ,EAAE,QAAQ;AAClB,gBAAA,SAAS,EAAE,WAAW;AACtB,gBAAA,OAAO,EAAE,CAAC;AACV,gBAAA,YAAY,EAAE,OAAO;AACrB,aAAA,CAAC,CACF;YACD,UAAU,CAAC,iBAAiB,EAAE;AAC7B,gBAAA,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;gBACrF,OAAO,CAAC,0CAA0C,CAAC;aACnD,CAAC;YACF,UAAU,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC;SACnF,CAAC;KACF,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAEW,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAjCnC,SAAS;YACC,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAGzB,IAAA,EAAA;AACL,wBAAA,SAAS,EAAE,CAAkG,gGAAA,CAAA;AAC7G,qBAAA,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA;wBACX,OAAO,CAAC,iBAAiB,EAAE;4BAC1B,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;4BACvG,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;yBACxG,CAAC;wBACF,OAAO,CAAC,iBAAiB,EAAE;AAC1B,4BAAA,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;AAC3B,4BAAA,KAAK,CACJ,QAAQ,EACR,KAAK,CAAC;AACL,gCAAA,MAAM,EAAE,CAAC;AACT,gCAAA,QAAQ,EAAE,QAAQ;AAClB,gCAAA,SAAS,EAAE,WAAW;AACtB,gCAAA,OAAO,EAAE,CAAC;AACV,gCAAA,YAAY,EAAE,OAAO;AACrB,6BAAA,CAAC,CACF;4BACD,UAAU,CAAC,iBAAiB,EAAE;AAC7B,gCAAA,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;gCACrF,OAAO,CAAC,0CAA0C,CAAC;6BACnD,CAAC;4BACF,UAAU,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC;yBACnF,CAAC;qBACF,EAAA,QAAA,EAAA,ihCAAA,EAAA,MAAA,EAAA,CAAA,4tBAAA,CAAA,EAAA,CAAA;qLAKD,GAAG,EAAA,CAAA;sBADF,KAAK;gBAUN,uBAAuB,EAAA,CAAA;sBADtB,KAAK;gBASN,aAAa,EAAA,CAAA;sBADZ,KAAK;gBAoBE,IAAI,EAAA,CAAA;sBADX,MAAM;;;ME1FK,WAAW,CAAA;;wGAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAX,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,EAJR,YAAA,EAAA,CAAA,qBAAqB,EAAE,uBAAuB,CACnD,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,cAAc,EAAE,eAAe,CAC7C,EAAA,OAAA,EAAA,CAAA,qBAAqB,EAAE,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAE5C,WAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,EAHb,OAAA,EAAA,CAAA,YAAY,EAAE,cAAc,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA;2FAG3C,WAAW,EAAA,UAAA,EAAA,CAAA;kBALvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,YAAY,EAAE,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;AAC9D,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,eAAe,CAAC;AACxD,oBAAA,OAAO,EAAE,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;iBACzD,CAAA;;;ACXD;;AAEG;;;;"}
@@ -136,13 +136,17 @@ class StepperComponent extends CdkStepper {
136
136
  this._stateChanged();
137
137
  }
138
138
  }
139
+ /** @ignore */
140
+ _startStepTransition() {
141
+ setTimeout(() => (this._stepTransitioning = true));
142
+ }
139
143
  }
140
144
  StepperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: StepperComponent, deps: [{ token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: DOCUMENT }, { token: STEPPER_GLOBAL_OPTIONS, self: true }, { token: STEPPER_GLOBAL_OPTIONS, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
141
145
  StepperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: StepperComponent, selector: "bui-stepper, [buiStepper]", inputs: { selectedIndex: "selectedIndex", disableRipple: "disableRipple", color: "color", indicatorFormatter: "indicatorFormatter", nextStepLabelPrefix: "nextStepLabelPrefix" }, outputs: { animationDone: "animationDone" }, host: { attributes: { "role": "tablist" }, properties: { "attr.aria-orientation": "orientation" }, classAttribute: "bui-stepper bui-host" }, providers: [
142
146
  { provide: MatStepper, useExisting: StepperComponent },
143
147
  { provide: CdkStepper, useExisting: StepperComponent },
144
148
  { provide: STEPPER_GLOBAL_OPTIONS, useValue: { displayDefaultIndicatorType: false } }
145
- ], queries: [{ propertyName: "_steps", predicate: MatStep, descendants: true }, { propertyName: "_icons", predicate: MatStepperIcon, descendants: true }], viewQueries: [{ propertyName: "_editIconTemplate", first: true, predicate: ["editIconTemplate"], descendants: true, static: true }, { propertyName: "_stepHeader", predicate: MatStepHeader, descendants: true }], exportAs: ["buiStepper", "matStepper", "matVerticalStepper", "matHorizontalStepper"], usesInheritance: true, ngImport: i0, template: "<div class=\"bui-stepper-wrapper\" [style.display]=\"_leftDrawerState.startsWith('open') ? 'flex' : 'block'\" #sizeMonitor>\n\t<div\n\t\tclass=\"bui-stepper-left-header-container\"\n\t\t[@leftDrawer]=\"_leftDrawerState\"\n\t\t(@leftDrawer.start)=\"_leftDrawerStarted.next($event)\"\n\t\t(@leftDrawer.done)=\"_leftDrawerEnded.next($event)\"\n\t>\n\t\t<div\n\t\t\t*ngFor=\"let step of steps; let i = index; let isLast = last\"\n\t\t\tclass=\"bui-stepper-header-wrapper\"\n\t\t\t[class.bui-stepper-vertical-line]=\"!isLast\"\n\t\t>\n\t\t\t<mat-step-header\n\t\t\t\tclass=\"bui-stepper-header\"\n\t\t\t\t(click)=\"step.select()\"\n\t\t\t\t(keydown)=\"_onKeydown($event)\"\n\t\t\t\t[tabIndex]=\"_getFocusIndex() === i ? 0 : -1\"\n\t\t\t\t[id]=\"_getStepLabelId(i)\"\n\t\t\t\t[attr.aria-posinset]=\"i + 1\"\n\t\t\t\t[attr.aria-setsize]=\"steps.length\"\n\t\t\t\t[attr.aria-controls]=\"_getStepContentId(i)\"\n\t\t\t\t[attr.aria-selected]=\"selectedIndex == i\"\n\t\t\t\t[attr.aria-label]=\"step.ariaLabel || null\"\n\t\t\t\t[attr.aria-labelledby]=\"!step.ariaLabel && step.ariaLabelledby ? step.ariaLabelledby : null\"\n\t\t\t\t[attr.aria-disabled]=\"_stepIsNavigable(i, step) ? null : true\"\n\t\t\t\t[index]=\"i\"\n\t\t\t\t[state]=\"_getIndicatorType(i, step.state)\"\n\t\t\t\t[label]=\"step.stepLabel || step.label\"\n\t\t\t\t[selected]=\"selectedIndex === i\"\n\t\t\t\t[active]=\"_stepIsNavigable(i, step)\"\n\t\t\t\t[optional]=\"step.optional\"\n\t\t\t\t[errorMessage]=\"step.errorMessage\"\n\t\t\t\t[iconOverrides]=\"_iconOverrides\"\n\t\t\t\t[disableRipple]=\"disableRipple || !_stepIsNavigable(i, step)\"\n\t\t\t\t[color]=\"step.color || color\"\n\t\t\t></mat-step-header>\n\t\t</div>\n\t</div>\n\n\t<div class=\"bui-stepper-content-container\" [buiSizingBy]=\"sizeMonitor\" (buiResized)=\"_widthChanged($event.width)\">\n\t\t<div\n\t\t\tclass=\"bui-stepper-top-header-container\"\n\t\t\t[class.bui-stepper-header-active]=\"_leftDrawerState === 'void'\"\n\t\t\t[@topDrawer]=\"_topDrawerState\"\n\t\t\t(@topDrawer.start)=\"_topDrawerStarted.next($event)\"\n\t\t\t(@topDrawer.done)=\"_topDrawerEnded.next($event)\"\n\t\t>\n\t\t\t<div\n\t\t\t\tclass=\"bui-stepper-top-header-progress\"\n\t\t\t\t[style]=\"'height:' + _progressCircleSize + 'px; width:' + _progressCircleSize + 'px'\"\n\t\t\t>\n\t\t\t\t<mat-progress-spinner\n\t\t\t\t\tclass=\"bui-progress-spinner-light\"\n\t\t\t\t\t[value]=\"100\"\n\t\t\t\t\t[diameter]=\"_progressCircleSize\"\n\t\t\t\t\t[strokeWidth]=\"_progressCircleWidth\"\n\t\t\t\t></mat-progress-spinner>\n\t\t\t\t<mat-progress-spinner\n\t\t\t\t\t[color]=\"color\"\n\t\t\t\t\t[value]=\"((selectedIndex + 1) * 100) / steps.length\"\n\t\t\t\t\t[diameter]=\"_progressCircleSize\"\n\t\t\t\t\t[strokeWidth]=\"_progressCircleWidth\"\n\t\t\t\t></mat-progress-spinner>\n\t\t\t\t<span class=\"bui-stepper-top-header-indicator\">\n\t\t\t\t\t{{ indicatorFormatter(selectedIndex + 1, steps.length) }}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div class=\"bui-stepper-top-header-titles-wrapper\" *ngIf=\"selected\">\n\t\t\t\t<div class=\"bui-stepper-top-header-title\">\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t[ngTemplateOutlet]=\"labelTemplate\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: selected }\"\n\t\t\t\t\t></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"bui-stepper-top-header-title-next\" *ngIf=\"selectedIndex < steps.length - 1\">\n\t\t\t\t\t{{ nextStepLabelPrefix }}\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t[ngTemplateOutlet]=\"labelTemplate\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: steps.get(selectedIndex + 1) }\"\n\t\t\t\t\t></ng-template>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"bui-stepper-content-wrapper\" [class.bui-stepper-content-wrapper-transitioning]=\"_stepTransitioning\">\n\t\t\t<div\n\t\t\t\t*ngFor=\"let step of steps; let i = index\"\n\t\t\t\tclass=\"bui-stepper-content\"\n\t\t\t\trole=\"tabpanel\"\n\t\t\t\t[@stepTransition]=\"_getAnimationDirection(i)\"\n\t\t\t\t(@stepTransition.start)=\"_stepTransitioning = true\"\n\t\t\t\t(@stepTransition.done)=\"_animationDone.next($event)\"\n\t\t\t\t[id]=\"_getStepContentId(i)\"\n\t\t\t\t[attr.aria-labelledby]=\"_getStepLabelId(i)\"\n\t\t\t\t[attr.aria-expanded]=\"selectedIndex === i\"\n\t\t\t>\n\t\t\t\t<div class=\"bui-stepper-content-header-label\" *ngIf=\"!_narrow\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"labelTemplate\" [ngTemplateOutletContext]=\"{ $implicit: step }\"></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"step.content\"></ng-template>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<ng-template #labelTemplate let-step>\n\t<ng-template [ngIf]=\"step.stepLabel\" [ngIfElse]=\"stringLabelTempl\">\n\t\t<ng-template [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-template>\n\t</ng-template>\n\t<ng-template #stringLabelTempl>{{ step.label }}</ng-template>\n</ng-template>\n\n<ng-template #editIconTemplate let-index=\"index\">\n\t<span>{{ index + 1 }}</span>\n</ng-template>\n", styles: [".bui-stepper:not([hidden]){display:block;box-sizing:border-box}.bui-stepper-wrapper{display:flex;box-sizing:border-box;background-color:var(--bui-bg-card)}.bui-stepper-left-header-container{max-width:30%}.bui-stepper-header-wrapper{position:relative}.bui-stepper-vertical-line:before{content:\"\";position:absolute;left:28px;border-left-width:1px;border-left-style:solid;border-left-color:var(--bui-color-divider);top:44px;bottom:-12px}[dir=rtl] .bui-stepper-vertical-line:before{left:auto;right:0}.bui-stepper-content-header-label{font-size:larger;font-weight:700;margin-bottom:32px}.bui-stepper .bui-stepper-header{display:flex;align-items:center;padding:0 16px;height:56px}.bui-stepper .bui-stepper-header .mat-step-icon{margin-right:16px}[dir=rtl] .bui-stepper .bui-stepper-header .mat-step-icon{margin-right:0;margin-left:16px}.bui-stepper .bui-stepper-header .mat-step-icon.mat-step-icon-state-done{background-color:var(--bui-color-success);color:#fff}.bui-stepper .bui-stepper-header .mat-step-icon.mat-step-icon-state-number{color:var(--bui-bg-card)}.bui-stepper-top-header-container{display:flex;align-items:stretch}.bui-stepper-top-header-container.bui-stepper-header-active{margin-bottom:16px}.bui-progress-spinner-light circle{stroke:var(--bui-color-divider)!important}.bui-stepper-top-header-progress{position:relative;display:flex;justify-content:center;align-items:center;margin-right:16px}[dir=rtl] .bui-stepper-top-header-progress{margin-right:unset;margin-left:16px}.bui-stepper-top-header-progress>.mat-progress-spinner{position:absolute}.bui-stepper-top-header-progress .bui-stepper-top-header-indicator{color:var(--bui-color-muted)}.bui-stepper-top-header-titles-wrapper{display:flex;flex-basis:max-content;flex-direction:column;justify-content:space-evenly;flex-shrink:3}.bui-stepper-top-header-title{font-size:larger}.bui-stepper-top-header-title-next{color:var(--bui-color-muted)}.bui-stepper-content-container{flex:1 1 100%;padding:16px;display:flex;flex-direction:column}.cdk-high-contrast-active .bui-stepper-content-container{outline:solid 1px}.bui-stepper-content-wrapper{flex:1 1 100%}.bui-stepper-content-wrapper-transitioning{overflow:hidden}.bui-stepper-content{outline:0}.bui-stepper-content[aria-expanded=false]{height:0;overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatStepHeader, selector: "mat-step-header", inputs: ["color", "state", "label", "errorMessage", "iconOverrides", "index", "selected", "active", "optional", "disableRipple"] }, { kind: "component", type: i4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i5.SizingDirective, selector: "[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]", inputs: ["buiSizing", "sizingBy", "buiSizingBy", "buiFixedHeight"], outputs: ["buiResized"] }], animations: [animation.stepTransition, animation.leftDrawer, animation.topDrawer], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
149
+ ], queries: [{ propertyName: "_steps", predicate: MatStep, descendants: true }, { propertyName: "_icons", predicate: MatStepperIcon, descendants: true }], viewQueries: [{ propertyName: "_editIconTemplate", first: true, predicate: ["editIconTemplate"], descendants: true, static: true }, { propertyName: "_stepHeader", predicate: MatStepHeader, descendants: true }], exportAs: ["buiStepper", "matStepper", "matVerticalStepper", "matHorizontalStepper"], usesInheritance: true, ngImport: i0, template: "<div class=\"bui-stepper-wrapper\" [style.display]=\"_leftDrawerState.startsWith('open') ? 'flex' : 'block'\" #sizeMonitor>\n\t<div\n\t\tclass=\"bui-stepper-left-header-container\"\n\t\t[@leftDrawer]=\"_leftDrawerState\"\n\t\t(@leftDrawer.start)=\"_leftDrawerStarted.next($event)\"\n\t\t(@leftDrawer.done)=\"_leftDrawerEnded.next($event)\"\n\t>\n\t\t<div\n\t\t\t*ngFor=\"let step of steps; let i = index; let isLast = last\"\n\t\t\tclass=\"bui-stepper-header-wrapper\"\n\t\t\t[class.bui-stepper-vertical-line]=\"!isLast\"\n\t\t>\n\t\t\t<mat-step-header\n\t\t\t\tclass=\"bui-stepper-header\"\n\t\t\t\t(click)=\"step.select()\"\n\t\t\t\t(keydown)=\"_onKeydown($event)\"\n\t\t\t\t[tabIndex]=\"_getFocusIndex() === i ? 0 : -1\"\n\t\t\t\t[id]=\"_getStepLabelId(i)\"\n\t\t\t\t[attr.aria-posinset]=\"i + 1\"\n\t\t\t\t[attr.aria-setsize]=\"steps.length\"\n\t\t\t\t[attr.aria-controls]=\"_getStepContentId(i)\"\n\t\t\t\t[attr.aria-selected]=\"selectedIndex == i\"\n\t\t\t\t[attr.aria-label]=\"step.ariaLabel || null\"\n\t\t\t\t[attr.aria-labelledby]=\"!step.ariaLabel && step.ariaLabelledby ? step.ariaLabelledby : null\"\n\t\t\t\t[attr.aria-disabled]=\"_stepIsNavigable(i, step) ? null : true\"\n\t\t\t\t[index]=\"i\"\n\t\t\t\t[state]=\"_getIndicatorType(i, step.state)\"\n\t\t\t\t[label]=\"step.stepLabel || step.label\"\n\t\t\t\t[selected]=\"selectedIndex === i\"\n\t\t\t\t[active]=\"_stepIsNavigable(i, step)\"\n\t\t\t\t[optional]=\"step.optional\"\n\t\t\t\t[errorMessage]=\"step.errorMessage\"\n\t\t\t\t[iconOverrides]=\"_iconOverrides\"\n\t\t\t\t[disableRipple]=\"disableRipple || !_stepIsNavigable(i, step)\"\n\t\t\t\t[color]=\"step.color || color\"\n\t\t\t></mat-step-header>\n\t\t</div>\n\t</div>\n\n\t<div class=\"bui-stepper-content-container\" [buiSizingBy]=\"sizeMonitor\" (buiResized)=\"_widthChanged($event.width)\">\n\t\t<div\n\t\t\tclass=\"bui-stepper-top-header-container\"\n\t\t\t[class.bui-stepper-header-active]=\"_leftDrawerState === 'void'\"\n\t\t\t[@topDrawer]=\"_topDrawerState\"\n\t\t\t(@topDrawer.start)=\"_topDrawerStarted.next($event)\"\n\t\t\t(@topDrawer.done)=\"_topDrawerEnded.next($event)\"\n\t\t>\n\t\t\t<div\n\t\t\t\tclass=\"bui-stepper-top-header-progress\"\n\t\t\t\t[style]=\"'height:' + _progressCircleSize + 'px; width:' + _progressCircleSize + 'px'\"\n\t\t\t>\n\t\t\t\t<mat-progress-spinner\n\t\t\t\t\tclass=\"bui-progress-spinner-light\"\n\t\t\t\t\t[value]=\"100\"\n\t\t\t\t\t[diameter]=\"_progressCircleSize\"\n\t\t\t\t\t[strokeWidth]=\"_progressCircleWidth\"\n\t\t\t\t></mat-progress-spinner>\n\t\t\t\t<mat-progress-spinner\n\t\t\t\t\t[color]=\"color\"\n\t\t\t\t\t[value]=\"((selectedIndex + 1) * 100) / steps.length\"\n\t\t\t\t\t[diameter]=\"_progressCircleSize\"\n\t\t\t\t\t[strokeWidth]=\"_progressCircleWidth\"\n\t\t\t\t></mat-progress-spinner>\n\t\t\t\t<span class=\"bui-stepper-top-header-indicator\">\n\t\t\t\t\t{{ indicatorFormatter(selectedIndex + 1, steps.length) }}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div class=\"bui-stepper-top-header-titles-wrapper\" *ngIf=\"selected\">\n\t\t\t\t<div class=\"bui-stepper-top-header-title\">\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t[ngTemplateOutlet]=\"labelTemplate\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: selected }\"\n\t\t\t\t\t></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"bui-stepper-top-header-title-next\" *ngIf=\"selectedIndex < steps.length - 1\">\n\t\t\t\t\t{{ nextStepLabelPrefix }}\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t[ngTemplateOutlet]=\"labelTemplate\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: steps.get(selectedIndex + 1) }\"\n\t\t\t\t\t></ng-template>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"bui-stepper-content-wrapper\" [class.bui-stepper-content-wrapper-transitioning]=\"_stepTransitioning\">\n\t\t\t<div\n\t\t\t\t*ngFor=\"let step of steps; let i = index\"\n\t\t\t\tclass=\"bui-stepper-content\"\n\t\t\t\trole=\"tabpanel\"\n\t\t\t\t[@stepTransition]=\"_getAnimationDirection(i)\"\n\t\t\t\t(@stepTransition.start)=\"_startStepTransition()\"\n\t\t\t\t(@stepTransition.done)=\"_animationDone.next($event)\"\n\t\t\t\t[id]=\"_getStepContentId(i)\"\n\t\t\t\t[attr.aria-labelledby]=\"_getStepLabelId(i)\"\n\t\t\t\t[attr.aria-expanded]=\"selectedIndex === i\"\n\t\t\t>\n\t\t\t\t<div class=\"bui-stepper-content-header-label\" *ngIf=\"!_narrow\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"labelTemplate\" [ngTemplateOutletContext]=\"{ $implicit: step }\"></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"step.content\"></ng-template>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<ng-template #labelTemplate let-step>\n\t<ng-template [ngIf]=\"step.stepLabel\" [ngIfElse]=\"stringLabelTempl\">\n\t\t<ng-template [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-template>\n\t</ng-template>\n\t<ng-template #stringLabelTempl>{{ step.label }}</ng-template>\n</ng-template>\n\n<ng-template #editIconTemplate let-index=\"index\">\n\t<span>{{ index + 1 }}</span>\n</ng-template>\n", styles: [".bui-stepper:not([hidden]){display:block;box-sizing:border-box}.bui-stepper-wrapper{display:flex;box-sizing:border-box;background-color:var(--bui-bg-card)}.bui-stepper-left-header-container{max-width:30%}.bui-stepper-header-wrapper{position:relative}.bui-stepper-vertical-line:before{content:\"\";position:absolute;left:28px;border-left-width:1px;border-left-style:solid;border-left-color:var(--bui-color-divider);top:44px;bottom:-12px}[dir=rtl] .bui-stepper-vertical-line:before{left:auto;right:0}.bui-stepper-content-header-label{font-size:larger;font-weight:700;margin-bottom:32px}.bui-stepper .bui-stepper-header{display:flex;align-items:center;padding:0 16px;height:56px}.bui-stepper .bui-stepper-header .mat-step-icon{margin-right:16px}[dir=rtl] .bui-stepper .bui-stepper-header .mat-step-icon{margin-right:0;margin-left:16px}.bui-stepper .bui-stepper-header .mat-step-icon.mat-step-icon-state-done{background-color:var(--bui-color-success);color:#fff}.bui-stepper .bui-stepper-header .mat-step-icon.mat-step-icon-state-number{color:var(--bui-bg-card)}.bui-stepper-top-header-container{display:flex;align-items:stretch}.bui-stepper-top-header-container.bui-stepper-header-active{margin-bottom:16px}.bui-progress-spinner-light circle{stroke:var(--bui-color-divider)!important}.bui-stepper-top-header-progress{position:relative;display:flex;justify-content:center;align-items:center;margin-right:16px}[dir=rtl] .bui-stepper-top-header-progress{margin-right:unset;margin-left:16px}.bui-stepper-top-header-progress>.mat-progress-spinner{position:absolute}.bui-stepper-top-header-progress .bui-stepper-top-header-indicator{color:var(--bui-color-muted)}.bui-stepper-top-header-titles-wrapper{display:flex;flex-basis:max-content;flex-direction:column;justify-content:space-evenly;flex-shrink:3}.bui-stepper-top-header-title{font-size:larger}.bui-stepper-top-header-title-next{color:var(--bui-color-muted)}.bui-stepper-content-container{flex:1 1 100%;padding:16px;display:flex;flex-direction:column}.cdk-high-contrast-active .bui-stepper-content-container{outline:solid 1px}.bui-stepper-content-wrapper{flex:1 1 100%}.bui-stepper-content-wrapper-transitioning{overflow:hidden}.bui-stepper-content{outline:0}.bui-stepper-content[aria-expanded=false]{height:0;overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatStepHeader, selector: "mat-step-header", inputs: ["color", "state", "label", "errorMessage", "iconOverrides", "index", "selected", "active", "optional", "disableRipple"] }, { kind: "component", type: i4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i5.SizingDirective, selector: "[buiSizing],[buiResized],[buiSizingBy],[buiFixedHeight]", inputs: ["buiSizing", "sizingBy", "buiSizingBy", "buiFixedHeight"], outputs: ["buiResized"] }], animations: [animation.stepTransition, animation.leftDrawer, animation.topDrawer], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
146
150
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: StepperComponent, decorators: [{
147
151
  type: Component,
148
152
  args: [{ selector: 'bui-stepper, [buiStepper]', exportAs: 'buiStepper, matStepper, matVerticalStepper, matHorizontalStepper', inputs: ['selectedIndex'], host: {
@@ -153,7 +157,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
153
157
  { provide: MatStepper, useExisting: StepperComponent },
154
158
  { provide: CdkStepper, useExisting: StepperComponent },
155
159
  { provide: STEPPER_GLOBAL_OPTIONS, useValue: { displayDefaultIndicatorType: false } }
156
- ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bui-stepper-wrapper\" [style.display]=\"_leftDrawerState.startsWith('open') ? 'flex' : 'block'\" #sizeMonitor>\n\t<div\n\t\tclass=\"bui-stepper-left-header-container\"\n\t\t[@leftDrawer]=\"_leftDrawerState\"\n\t\t(@leftDrawer.start)=\"_leftDrawerStarted.next($event)\"\n\t\t(@leftDrawer.done)=\"_leftDrawerEnded.next($event)\"\n\t>\n\t\t<div\n\t\t\t*ngFor=\"let step of steps; let i = index; let isLast = last\"\n\t\t\tclass=\"bui-stepper-header-wrapper\"\n\t\t\t[class.bui-stepper-vertical-line]=\"!isLast\"\n\t\t>\n\t\t\t<mat-step-header\n\t\t\t\tclass=\"bui-stepper-header\"\n\t\t\t\t(click)=\"step.select()\"\n\t\t\t\t(keydown)=\"_onKeydown($event)\"\n\t\t\t\t[tabIndex]=\"_getFocusIndex() === i ? 0 : -1\"\n\t\t\t\t[id]=\"_getStepLabelId(i)\"\n\t\t\t\t[attr.aria-posinset]=\"i + 1\"\n\t\t\t\t[attr.aria-setsize]=\"steps.length\"\n\t\t\t\t[attr.aria-controls]=\"_getStepContentId(i)\"\n\t\t\t\t[attr.aria-selected]=\"selectedIndex == i\"\n\t\t\t\t[attr.aria-label]=\"step.ariaLabel || null\"\n\t\t\t\t[attr.aria-labelledby]=\"!step.ariaLabel && step.ariaLabelledby ? step.ariaLabelledby : null\"\n\t\t\t\t[attr.aria-disabled]=\"_stepIsNavigable(i, step) ? null : true\"\n\t\t\t\t[index]=\"i\"\n\t\t\t\t[state]=\"_getIndicatorType(i, step.state)\"\n\t\t\t\t[label]=\"step.stepLabel || step.label\"\n\t\t\t\t[selected]=\"selectedIndex === i\"\n\t\t\t\t[active]=\"_stepIsNavigable(i, step)\"\n\t\t\t\t[optional]=\"step.optional\"\n\t\t\t\t[errorMessage]=\"step.errorMessage\"\n\t\t\t\t[iconOverrides]=\"_iconOverrides\"\n\t\t\t\t[disableRipple]=\"disableRipple || !_stepIsNavigable(i, step)\"\n\t\t\t\t[color]=\"step.color || color\"\n\t\t\t></mat-step-header>\n\t\t</div>\n\t</div>\n\n\t<div class=\"bui-stepper-content-container\" [buiSizingBy]=\"sizeMonitor\" (buiResized)=\"_widthChanged($event.width)\">\n\t\t<div\n\t\t\tclass=\"bui-stepper-top-header-container\"\n\t\t\t[class.bui-stepper-header-active]=\"_leftDrawerState === 'void'\"\n\t\t\t[@topDrawer]=\"_topDrawerState\"\n\t\t\t(@topDrawer.start)=\"_topDrawerStarted.next($event)\"\n\t\t\t(@topDrawer.done)=\"_topDrawerEnded.next($event)\"\n\t\t>\n\t\t\t<div\n\t\t\t\tclass=\"bui-stepper-top-header-progress\"\n\t\t\t\t[style]=\"'height:' + _progressCircleSize + 'px; width:' + _progressCircleSize + 'px'\"\n\t\t\t>\n\t\t\t\t<mat-progress-spinner\n\t\t\t\t\tclass=\"bui-progress-spinner-light\"\n\t\t\t\t\t[value]=\"100\"\n\t\t\t\t\t[diameter]=\"_progressCircleSize\"\n\t\t\t\t\t[strokeWidth]=\"_progressCircleWidth\"\n\t\t\t\t></mat-progress-spinner>\n\t\t\t\t<mat-progress-spinner\n\t\t\t\t\t[color]=\"color\"\n\t\t\t\t\t[value]=\"((selectedIndex + 1) * 100) / steps.length\"\n\t\t\t\t\t[diameter]=\"_progressCircleSize\"\n\t\t\t\t\t[strokeWidth]=\"_progressCircleWidth\"\n\t\t\t\t></mat-progress-spinner>\n\t\t\t\t<span class=\"bui-stepper-top-header-indicator\">\n\t\t\t\t\t{{ indicatorFormatter(selectedIndex + 1, steps.length) }}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div class=\"bui-stepper-top-header-titles-wrapper\" *ngIf=\"selected\">\n\t\t\t\t<div class=\"bui-stepper-top-header-title\">\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t[ngTemplateOutlet]=\"labelTemplate\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: selected }\"\n\t\t\t\t\t></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"bui-stepper-top-header-title-next\" *ngIf=\"selectedIndex < steps.length - 1\">\n\t\t\t\t\t{{ nextStepLabelPrefix }}\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t[ngTemplateOutlet]=\"labelTemplate\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: steps.get(selectedIndex + 1) }\"\n\t\t\t\t\t></ng-template>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"bui-stepper-content-wrapper\" [class.bui-stepper-content-wrapper-transitioning]=\"_stepTransitioning\">\n\t\t\t<div\n\t\t\t\t*ngFor=\"let step of steps; let i = index\"\n\t\t\t\tclass=\"bui-stepper-content\"\n\t\t\t\trole=\"tabpanel\"\n\t\t\t\t[@stepTransition]=\"_getAnimationDirection(i)\"\n\t\t\t\t(@stepTransition.start)=\"_stepTransitioning = true\"\n\t\t\t\t(@stepTransition.done)=\"_animationDone.next($event)\"\n\t\t\t\t[id]=\"_getStepContentId(i)\"\n\t\t\t\t[attr.aria-labelledby]=\"_getStepLabelId(i)\"\n\t\t\t\t[attr.aria-expanded]=\"selectedIndex === i\"\n\t\t\t>\n\t\t\t\t<div class=\"bui-stepper-content-header-label\" *ngIf=\"!_narrow\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"labelTemplate\" [ngTemplateOutletContext]=\"{ $implicit: step }\"></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"step.content\"></ng-template>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<ng-template #labelTemplate let-step>\n\t<ng-template [ngIf]=\"step.stepLabel\" [ngIfElse]=\"stringLabelTempl\">\n\t\t<ng-template [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-template>\n\t</ng-template>\n\t<ng-template #stringLabelTempl>{{ step.label }}</ng-template>\n</ng-template>\n\n<ng-template #editIconTemplate let-index=\"index\">\n\t<span>{{ index + 1 }}</span>\n</ng-template>\n", styles: [".bui-stepper:not([hidden]){display:block;box-sizing:border-box}.bui-stepper-wrapper{display:flex;box-sizing:border-box;background-color:var(--bui-bg-card)}.bui-stepper-left-header-container{max-width:30%}.bui-stepper-header-wrapper{position:relative}.bui-stepper-vertical-line:before{content:\"\";position:absolute;left:28px;border-left-width:1px;border-left-style:solid;border-left-color:var(--bui-color-divider);top:44px;bottom:-12px}[dir=rtl] .bui-stepper-vertical-line:before{left:auto;right:0}.bui-stepper-content-header-label{font-size:larger;font-weight:700;margin-bottom:32px}.bui-stepper .bui-stepper-header{display:flex;align-items:center;padding:0 16px;height:56px}.bui-stepper .bui-stepper-header .mat-step-icon{margin-right:16px}[dir=rtl] .bui-stepper .bui-stepper-header .mat-step-icon{margin-right:0;margin-left:16px}.bui-stepper .bui-stepper-header .mat-step-icon.mat-step-icon-state-done{background-color:var(--bui-color-success);color:#fff}.bui-stepper .bui-stepper-header .mat-step-icon.mat-step-icon-state-number{color:var(--bui-bg-card)}.bui-stepper-top-header-container{display:flex;align-items:stretch}.bui-stepper-top-header-container.bui-stepper-header-active{margin-bottom:16px}.bui-progress-spinner-light circle{stroke:var(--bui-color-divider)!important}.bui-stepper-top-header-progress{position:relative;display:flex;justify-content:center;align-items:center;margin-right:16px}[dir=rtl] .bui-stepper-top-header-progress{margin-right:unset;margin-left:16px}.bui-stepper-top-header-progress>.mat-progress-spinner{position:absolute}.bui-stepper-top-header-progress .bui-stepper-top-header-indicator{color:var(--bui-color-muted)}.bui-stepper-top-header-titles-wrapper{display:flex;flex-basis:max-content;flex-direction:column;justify-content:space-evenly;flex-shrink:3}.bui-stepper-top-header-title{font-size:larger}.bui-stepper-top-header-title-next{color:var(--bui-color-muted)}.bui-stepper-content-container{flex:1 1 100%;padding:16px;display:flex;flex-direction:column}.cdk-high-contrast-active .bui-stepper-content-container{outline:solid 1px}.bui-stepper-content-wrapper{flex:1 1 100%}.bui-stepper-content-wrapper-transitioning{overflow:hidden}.bui-stepper-content{outline:0}.bui-stepper-content[aria-expanded=false]{height:0;overflow:hidden}\n"] }]
160
+ ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"bui-stepper-wrapper\" [style.display]=\"_leftDrawerState.startsWith('open') ? 'flex' : 'block'\" #sizeMonitor>\n\t<div\n\t\tclass=\"bui-stepper-left-header-container\"\n\t\t[@leftDrawer]=\"_leftDrawerState\"\n\t\t(@leftDrawer.start)=\"_leftDrawerStarted.next($event)\"\n\t\t(@leftDrawer.done)=\"_leftDrawerEnded.next($event)\"\n\t>\n\t\t<div\n\t\t\t*ngFor=\"let step of steps; let i = index; let isLast = last\"\n\t\t\tclass=\"bui-stepper-header-wrapper\"\n\t\t\t[class.bui-stepper-vertical-line]=\"!isLast\"\n\t\t>\n\t\t\t<mat-step-header\n\t\t\t\tclass=\"bui-stepper-header\"\n\t\t\t\t(click)=\"step.select()\"\n\t\t\t\t(keydown)=\"_onKeydown($event)\"\n\t\t\t\t[tabIndex]=\"_getFocusIndex() === i ? 0 : -1\"\n\t\t\t\t[id]=\"_getStepLabelId(i)\"\n\t\t\t\t[attr.aria-posinset]=\"i + 1\"\n\t\t\t\t[attr.aria-setsize]=\"steps.length\"\n\t\t\t\t[attr.aria-controls]=\"_getStepContentId(i)\"\n\t\t\t\t[attr.aria-selected]=\"selectedIndex == i\"\n\t\t\t\t[attr.aria-label]=\"step.ariaLabel || null\"\n\t\t\t\t[attr.aria-labelledby]=\"!step.ariaLabel && step.ariaLabelledby ? step.ariaLabelledby : null\"\n\t\t\t\t[attr.aria-disabled]=\"_stepIsNavigable(i, step) ? null : true\"\n\t\t\t\t[index]=\"i\"\n\t\t\t\t[state]=\"_getIndicatorType(i, step.state)\"\n\t\t\t\t[label]=\"step.stepLabel || step.label\"\n\t\t\t\t[selected]=\"selectedIndex === i\"\n\t\t\t\t[active]=\"_stepIsNavigable(i, step)\"\n\t\t\t\t[optional]=\"step.optional\"\n\t\t\t\t[errorMessage]=\"step.errorMessage\"\n\t\t\t\t[iconOverrides]=\"_iconOverrides\"\n\t\t\t\t[disableRipple]=\"disableRipple || !_stepIsNavigable(i, step)\"\n\t\t\t\t[color]=\"step.color || color\"\n\t\t\t></mat-step-header>\n\t\t</div>\n\t</div>\n\n\t<div class=\"bui-stepper-content-container\" [buiSizingBy]=\"sizeMonitor\" (buiResized)=\"_widthChanged($event.width)\">\n\t\t<div\n\t\t\tclass=\"bui-stepper-top-header-container\"\n\t\t\t[class.bui-stepper-header-active]=\"_leftDrawerState === 'void'\"\n\t\t\t[@topDrawer]=\"_topDrawerState\"\n\t\t\t(@topDrawer.start)=\"_topDrawerStarted.next($event)\"\n\t\t\t(@topDrawer.done)=\"_topDrawerEnded.next($event)\"\n\t\t>\n\t\t\t<div\n\t\t\t\tclass=\"bui-stepper-top-header-progress\"\n\t\t\t\t[style]=\"'height:' + _progressCircleSize + 'px; width:' + _progressCircleSize + 'px'\"\n\t\t\t>\n\t\t\t\t<mat-progress-spinner\n\t\t\t\t\tclass=\"bui-progress-spinner-light\"\n\t\t\t\t\t[value]=\"100\"\n\t\t\t\t\t[diameter]=\"_progressCircleSize\"\n\t\t\t\t\t[strokeWidth]=\"_progressCircleWidth\"\n\t\t\t\t></mat-progress-spinner>\n\t\t\t\t<mat-progress-spinner\n\t\t\t\t\t[color]=\"color\"\n\t\t\t\t\t[value]=\"((selectedIndex + 1) * 100) / steps.length\"\n\t\t\t\t\t[diameter]=\"_progressCircleSize\"\n\t\t\t\t\t[strokeWidth]=\"_progressCircleWidth\"\n\t\t\t\t></mat-progress-spinner>\n\t\t\t\t<span class=\"bui-stepper-top-header-indicator\">\n\t\t\t\t\t{{ indicatorFormatter(selectedIndex + 1, steps.length) }}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div class=\"bui-stepper-top-header-titles-wrapper\" *ngIf=\"selected\">\n\t\t\t\t<div class=\"bui-stepper-top-header-title\">\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t[ngTemplateOutlet]=\"labelTemplate\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: selected }\"\n\t\t\t\t\t></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"bui-stepper-top-header-title-next\" *ngIf=\"selectedIndex < steps.length - 1\">\n\t\t\t\t\t{{ nextStepLabelPrefix }}\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t[ngTemplateOutlet]=\"labelTemplate\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: steps.get(selectedIndex + 1) }\"\n\t\t\t\t\t></ng-template>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"bui-stepper-content-wrapper\" [class.bui-stepper-content-wrapper-transitioning]=\"_stepTransitioning\">\n\t\t\t<div\n\t\t\t\t*ngFor=\"let step of steps; let i = index\"\n\t\t\t\tclass=\"bui-stepper-content\"\n\t\t\t\trole=\"tabpanel\"\n\t\t\t\t[@stepTransition]=\"_getAnimationDirection(i)\"\n\t\t\t\t(@stepTransition.start)=\"_startStepTransition()\"\n\t\t\t\t(@stepTransition.done)=\"_animationDone.next($event)\"\n\t\t\t\t[id]=\"_getStepContentId(i)\"\n\t\t\t\t[attr.aria-labelledby]=\"_getStepLabelId(i)\"\n\t\t\t\t[attr.aria-expanded]=\"selectedIndex === i\"\n\t\t\t>\n\t\t\t\t<div class=\"bui-stepper-content-header-label\" *ngIf=\"!_narrow\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"labelTemplate\" [ngTemplateOutletContext]=\"{ $implicit: step }\"></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"step.content\"></ng-template>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<ng-template #labelTemplate let-step>\n\t<ng-template [ngIf]=\"step.stepLabel\" [ngIfElse]=\"stringLabelTempl\">\n\t\t<ng-template [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-template>\n\t</ng-template>\n\t<ng-template #stringLabelTempl>{{ step.label }}</ng-template>\n</ng-template>\n\n<ng-template #editIconTemplate let-index=\"index\">\n\t<span>{{ index + 1 }}</span>\n</ng-template>\n", styles: [".bui-stepper:not([hidden]){display:block;box-sizing:border-box}.bui-stepper-wrapper{display:flex;box-sizing:border-box;background-color:var(--bui-bg-card)}.bui-stepper-left-header-container{max-width:30%}.bui-stepper-header-wrapper{position:relative}.bui-stepper-vertical-line:before{content:\"\";position:absolute;left:28px;border-left-width:1px;border-left-style:solid;border-left-color:var(--bui-color-divider);top:44px;bottom:-12px}[dir=rtl] .bui-stepper-vertical-line:before{left:auto;right:0}.bui-stepper-content-header-label{font-size:larger;font-weight:700;margin-bottom:32px}.bui-stepper .bui-stepper-header{display:flex;align-items:center;padding:0 16px;height:56px}.bui-stepper .bui-stepper-header .mat-step-icon{margin-right:16px}[dir=rtl] .bui-stepper .bui-stepper-header .mat-step-icon{margin-right:0;margin-left:16px}.bui-stepper .bui-stepper-header .mat-step-icon.mat-step-icon-state-done{background-color:var(--bui-color-success);color:#fff}.bui-stepper .bui-stepper-header .mat-step-icon.mat-step-icon-state-number{color:var(--bui-bg-card)}.bui-stepper-top-header-container{display:flex;align-items:stretch}.bui-stepper-top-header-container.bui-stepper-header-active{margin-bottom:16px}.bui-progress-spinner-light circle{stroke:var(--bui-color-divider)!important}.bui-stepper-top-header-progress{position:relative;display:flex;justify-content:center;align-items:center;margin-right:16px}[dir=rtl] .bui-stepper-top-header-progress{margin-right:unset;margin-left:16px}.bui-stepper-top-header-progress>.mat-progress-spinner{position:absolute}.bui-stepper-top-header-progress .bui-stepper-top-header-indicator{color:var(--bui-color-muted)}.bui-stepper-top-header-titles-wrapper{display:flex;flex-basis:max-content;flex-direction:column;justify-content:space-evenly;flex-shrink:3}.bui-stepper-top-header-title{font-size:larger}.bui-stepper-top-header-title-next{color:var(--bui-color-muted)}.bui-stepper-content-container{flex:1 1 100%;padding:16px;display:flex;flex-direction:column}.cdk-high-contrast-active .bui-stepper-content-container{outline:solid 1px}.bui-stepper-content-wrapper{flex:1 1 100%}.bui-stepper-content-wrapper-transitioning{overflow:hidden}.bui-stepper-content{outline:0}.bui-stepper-content[aria-expanded=false]{height:0;overflow:hidden}\n"] }]
157
161
  }], ctorParameters: function () {
158
162
  return [{ type: i1.Directionality, decorators: [{
159
163
  type: Optional
@@ -1 +1 @@
1
- {"version":3,"file":"bravura-ui-stepper.mjs","sources":["../../../projects/ui/stepper/stepper-animation.ts","../../../projects/ui/stepper/stepper.component.ts","../../../projects/ui/stepper/stepper.component.html","../../../projects/ui/stepper/stepper.module.ts","../../../projects/ui/stepper/bravura-ui-stepper.ts"],"sourcesContent":["import {\n\tanimate,\n\tAnimationStateMetadata,\n\tAnimationTransitionMetadata,\n\tstate,\n\tstyle,\n\ttransition,\n\ttrigger\n} from '@angular/animations';\n\nfunction drawerAnimations(isLeft: boolean): (AnimationStateMetadata | AnimationTransitionMetadata)[] {\n\tconst closedStyle = { opacity: '0', height: 0, width: 0, visibility: 'hidden' };\n\tconst left = { ...closedStyle, transform: 'translateX(50%)' };\n\tconst height = { ...closedStyle, transform: 'scaleY(0.5)' };\n\treturn [\n\t\tstate('open, open-instant', style({ visibility: 'visible' })),\n\t\tstate('void', style(isLeft ? left : height)),\n\t\ttransition('void => open-instant', animate('0ms')),\n\t\ttransition('void <=> open, open-instant => void', animate('400ms cubic-bezier(0.25, 0.8, 0.25, 1)'))\n\t];\n}\n\nexport default {\n\tstepTransition: trigger('stepTransition', [\n\t\tstate('previous', style({ transform: 'translate3d(0, -100%, 0)', visibility: 'hidden' })),\n\t\tstate('current', style({ transform: 'none', visibility: 'inherit' })),\n\t\tstate('next', style({ transform: 'translate3d(0, 100%, 0)', visibility: 'hidden' })),\n\t\ttransition('* => *', animate('500ms cubic-bezier(0.35, 0, 0.25, 1)'))\n\t]),\n\n\tleftDrawer: trigger('leftDrawer', drawerAnimations(true)),\n\ttopDrawer: trigger('topDrawer', drawerAnimations(false))\n};\n","import { AnimationEvent } from '@angular/animations';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { CdkStepper, StepContentPositionState, StepperOptions, STEPPER_GLOBAL_OPTIONS } from '@angular/cdk/stepper';\nimport { DOCUMENT } from '@angular/common';\nimport {\n\tAfterContentInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tContentChildren,\n\tElementRef,\n\tEventEmitter,\n\tInject,\n\tInput,\n\tOptional,\n\tOutput,\n\tQueryList,\n\tSelf,\n\tSkipSelf,\n\tTemplateRef,\n\tViewChild,\n\tViewChildren,\n\tViewEncapsulation\n} from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { MatStep, MatStepHeader, MatStepper, MatStepperIcon, MatStepperIconContext } from '@angular/material/stepper';\nimport { Subject } from 'rxjs';\nimport { distinctUntilChanged, filter, takeUntil } from 'rxjs/operators';\nimport animation from './stepper-animation';\n\n/** @ignore */\nconst BREAKPOINT = 768;\n\n/**\n * [Angular Material's stepper](https://material.angular.io/components/stepper/overview) provides a wizard-like workflow by dividing\n * content into logical steps.\n *\n * This stepper extends Angular's to customise the presentation of its headers to achieve a better user experience in both mobile and\n * desktop browsers.\n *\n */\n@Component({\n\tselector: 'bui-stepper, [buiStepper]',\n\texportAs: 'buiStepper, matStepper, matVerticalStepper, matHorizontalStepper',\n\ttemplateUrl: './stepper.component.html',\n\tstyleUrls: ['./stepper.component.scss'],\n\tinputs: ['selectedIndex'],\n\thost: {\n\t\tclass: 'bui-stepper bui-host',\n\t\t'[attr.aria-orientation]': 'orientation',\n\t\trole: 'tablist'\n\t},\n\tanimations: [animation.stepTransition, animation.leftDrawer, animation.topDrawer],\n\tproviders: [\n\t\t{ provide: MatStepper, useExisting: StepperComponent },\n\t\t{ provide: CdkStepper, useExisting: StepperComponent },\n\t\t{ provide: STEPPER_GLOBAL_OPTIONS, useValue: { displayDefaultIndicatorType: false } }\n\t],\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class StepperComponent extends CdkStepper implements AfterContentInit {\n\t/** @ignore The list of step headers of the steps in the stepper. */\n\t@ViewChildren(MatStepHeader) override _stepHeader!: QueryList<MatStepHeader>;\n\n\t/** @ignore Full list of steps inside the stepper, including inside nested steppers. */\n\t@ContentChildren(MatStep, { descendants: true }) override _steps!: QueryList<MatStep>;\n\n\t/** @ignore Steps that belong to the current stepper, excluding ones from nested steppers. */\n\toverride readonly steps: QueryList<MatStep> = new QueryList<MatStep>();\n\n\t/** @ignore Custom icon overrides passed in by the consumer. */\n\t@ContentChildren(MatStepperIcon, { descendants: true }) _icons!: QueryList<MatStepperIcon>;\n\n\t/** @ignore Event emitted when the current step is done transitioning in. */\n\t@Output() readonly animationDone: EventEmitter<void> = new EventEmitter<void>();\n\n\t/** Whether ripples should be disabled for the step headers. */\n\t@Input() disableRipple?: boolean;\n\n\t/** Theme color for all of the steps in stepper. */\n\t@Input() color: ThemePalette;\n\n\t/**\n\t * A function that constructs the text in the progress cycle for the 'narrow' view.\n\t *\n\t * Default value: `'{selected step} of {total number of steps}'`\n\t */\n\t@Input() indicatorFormatter: (index: number, total: number) => string;\n\n\t/** The text that precedes the name of the next step label, used in the 'narrow' view. */\n\t@Input() nextStepLabelPrefix = 'Next: ';\n\n\t/** @ignore Consumer-specified template-refs to be used to override the header icons. */\n\t_iconOverrides: Record<string, TemplateRef<MatStepperIconContext>> = {};\n\n\t/** @ignore Stream of animation `done` events when the body expands/collapses. */\n\treadonly _animationDone = new Subject<AnimationEvent>();\n\n\t/** @ignore Whether the stepper is in a narrow container */\n\t_narrow = false;\n\n\t/** @ignore Emits whenever the drawer has started animating. */\n\treadonly _leftDrawerStarted = new Subject<AnimationEvent>();\n\t/** @ignore Emits whenever the drawer is done animating. */\n\treadonly _leftDrawerEnded = new Subject<AnimationEvent>();\n\t/** @ignore Current state of the sidenav animation. */\n\t_leftDrawerState: 'open-instant' | 'open' | 'void' = 'open-instant';\n\n\t/** @ignore Emits whenever the drawer has started animating. */\n\treadonly _topDrawerStarted = new Subject<AnimationEvent>();\n\t/** @ignore Emits whenever the drawer is done animating. */\n\treadonly _topDrawerEnded = new Subject<AnimationEvent>();\n\t/** @ignore Current state of the sidenav animation. */\n\t_topDrawerState: 'open-instant' | 'open' | 'void' = 'void';\n\n\t/** @ignore */ readonly _progressCircleSize = 80;\n\t/** @ignore */ readonly _progressCircleWidth = 5;\n\t/** @ignore */ _stepTransitioning = false;\n\n\t@ViewChild('editIconTemplate', { static: true })\n\tprivate _editIconTemplate!: TemplateRef<any>;\n\n\tconstructor(\n\t\t@Optional() dir: Directionality,\n\t\tchangeDetectorRef: ChangeDetectorRef,\n\t\tprivate _buiElRef: ElementRef<HTMLElement>,\n\t\t@Inject(DOCUMENT) _document: any,\n\t\t@Self() @Inject(STEPPER_GLOBAL_OPTIONS) stepperOptions: StepperOptions,\n\t\t@Optional() @SkipSelf() @Inject(STEPPER_GLOBAL_OPTIONS) defaultStepperOptions?: StepperOptions\n\t) {\n\t\tsuper(dir, changeDetectorRef, _buiElRef);\n\t\tthis.orientation = 'vertical';\n\t\tthis.indicatorFormatter = (index, total) => `${index} of ${total}`;\n\t\tObject.keys(defaultStepperOptions || {})\n\t\t\t.filter(k => k !== 'displayDefaultIndicatorType')\n\t\t\t.forEach(((k: keyof StepperOptions) => (stepperOptions[k] = defaultStepperOptions![k])) as any);\n\t}\n\n\toverride ngAfterContentInit() {\n\t\tsuper.ngAfterContentInit();\n\t\tthis._icons.forEach(({ name, templateRef }) => (this._iconOverrides[name] = templateRef));\n\n\t\t// Mark the component for change detection whenever the content children query changes\n\t\tthis.steps.changes.pipe(takeUntil(this._destroyed)).subscribe(() => {\n\t\t\tthis._stateChanged();\n\t\t});\n\n\t\tthis._animationDone\n\t\t\t.pipe(\n\t\t\t\tdistinctUntilChanged((x, y) => x.fromState === y.fromState && x.toState === y.toState),\n\t\t\t\ttakeUntil(this._destroyed)\n\t\t\t)\n\t\t\t.subscribe(event => {\n\t\t\t\tif ((event.toState as StepContentPositionState) === 'current') {\n\t\t\t\t\tthis.animationDone.emit();\n\t\t\t\t\tthis._stepTransitioning = false;\n\t\t\t\t}\n\t\t\t});\n\n\t\tthis._leftDrawerEnded\n\t\t\t.pipe(\n\t\t\t\tdistinctUntilChanged((x, y) => x.fromState === y.fromState && x.toState === y.toState),\n\t\t\t\tfilter(ev => ev.toState === 'void' && ev.toState !== ev.fromState),\n\t\t\t\ttakeUntil(this._destroyed)\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis._topDrawerState = 'open';\n\t\t\t});\n\n\t\tthis._topDrawerEnded\n\t\t\t.pipe(\n\t\t\t\tdistinctUntilChanged((x, y) => x.fromState === y.fromState && x.toState === y.toState),\n\t\t\t\tfilter(ev => ev.toState === 'void' && ev.toState !== ev.fromState),\n\t\t\t\ttakeUntil(this._destroyed)\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis._leftDrawerState = 'open';\n\t\t\t});\n\t\tthis._iconOverrides.edit = this._iconOverrides.edit || this._editIconTemplate;\n\t}\n\n\t/** @ignore */\n\t_stepIsNavigable(index: number, step: MatStep): boolean {\n\t\treturn step.completed || this.selectedIndex === index || !this.linear;\n\t}\n\n\t/** @ignore */\n\t_widthChanged(w: number) {\n\t\tconst narrow = Math.abs(w - BREAKPOINT) < 20 ? this._narrow : w < BREAKPOINT;\n\t\tconst cls = 'bui-stepper-narrow';\n\t\tconst classList = this._buiElRef.nativeElement.classList;\n\t\tif (narrow) {\n\t\t\tthis._leftDrawerState = 'void';\n\t\t\tclassList.add(cls);\n\t\t} else {\n\t\t\tthis._topDrawerState = 'void';\n\t\t\tclassList.remove(cls);\n\t\t}\n\t\tif (this._narrow !== narrow) {\n\t\t\tthis._narrow = narrow;\n\t\t\tthis._stateChanged();\n\t\t}\n\t}\n}\n","<div class=\"bui-stepper-wrapper\" [style.display]=\"_leftDrawerState.startsWith('open') ? 'flex' : 'block'\" #sizeMonitor>\n\t<div\n\t\tclass=\"bui-stepper-left-header-container\"\n\t\t[@leftDrawer]=\"_leftDrawerState\"\n\t\t(@leftDrawer.start)=\"_leftDrawerStarted.next($event)\"\n\t\t(@leftDrawer.done)=\"_leftDrawerEnded.next($event)\"\n\t>\n\t\t<div\n\t\t\t*ngFor=\"let step of steps; let i = index; let isLast = last\"\n\t\t\tclass=\"bui-stepper-header-wrapper\"\n\t\t\t[class.bui-stepper-vertical-line]=\"!isLast\"\n\t\t>\n\t\t\t<mat-step-header\n\t\t\t\tclass=\"bui-stepper-header\"\n\t\t\t\t(click)=\"step.select()\"\n\t\t\t\t(keydown)=\"_onKeydown($event)\"\n\t\t\t\t[tabIndex]=\"_getFocusIndex() === i ? 0 : -1\"\n\t\t\t\t[id]=\"_getStepLabelId(i)\"\n\t\t\t\t[attr.aria-posinset]=\"i + 1\"\n\t\t\t\t[attr.aria-setsize]=\"steps.length\"\n\t\t\t\t[attr.aria-controls]=\"_getStepContentId(i)\"\n\t\t\t\t[attr.aria-selected]=\"selectedIndex == i\"\n\t\t\t\t[attr.aria-label]=\"step.ariaLabel || null\"\n\t\t\t\t[attr.aria-labelledby]=\"!step.ariaLabel && step.ariaLabelledby ? step.ariaLabelledby : null\"\n\t\t\t\t[attr.aria-disabled]=\"_stepIsNavigable(i, step) ? null : true\"\n\t\t\t\t[index]=\"i\"\n\t\t\t\t[state]=\"_getIndicatorType(i, step.state)\"\n\t\t\t\t[label]=\"step.stepLabel || step.label\"\n\t\t\t\t[selected]=\"selectedIndex === i\"\n\t\t\t\t[active]=\"_stepIsNavigable(i, step)\"\n\t\t\t\t[optional]=\"step.optional\"\n\t\t\t\t[errorMessage]=\"step.errorMessage\"\n\t\t\t\t[iconOverrides]=\"_iconOverrides\"\n\t\t\t\t[disableRipple]=\"disableRipple || !_stepIsNavigable(i, step)\"\n\t\t\t\t[color]=\"step.color || color\"\n\t\t\t></mat-step-header>\n\t\t</div>\n\t</div>\n\n\t<div class=\"bui-stepper-content-container\" [buiSizingBy]=\"sizeMonitor\" (buiResized)=\"_widthChanged($event.width)\">\n\t\t<div\n\t\t\tclass=\"bui-stepper-top-header-container\"\n\t\t\t[class.bui-stepper-header-active]=\"_leftDrawerState === 'void'\"\n\t\t\t[@topDrawer]=\"_topDrawerState\"\n\t\t\t(@topDrawer.start)=\"_topDrawerStarted.next($event)\"\n\t\t\t(@topDrawer.done)=\"_topDrawerEnded.next($event)\"\n\t\t>\n\t\t\t<div\n\t\t\t\tclass=\"bui-stepper-top-header-progress\"\n\t\t\t\t[style]=\"'height:' + _progressCircleSize + 'px; width:' + _progressCircleSize + 'px'\"\n\t\t\t>\n\t\t\t\t<mat-progress-spinner\n\t\t\t\t\tclass=\"bui-progress-spinner-light\"\n\t\t\t\t\t[value]=\"100\"\n\t\t\t\t\t[diameter]=\"_progressCircleSize\"\n\t\t\t\t\t[strokeWidth]=\"_progressCircleWidth\"\n\t\t\t\t></mat-progress-spinner>\n\t\t\t\t<mat-progress-spinner\n\t\t\t\t\t[color]=\"color\"\n\t\t\t\t\t[value]=\"((selectedIndex + 1) * 100) / steps.length\"\n\t\t\t\t\t[diameter]=\"_progressCircleSize\"\n\t\t\t\t\t[strokeWidth]=\"_progressCircleWidth\"\n\t\t\t\t></mat-progress-spinner>\n\t\t\t\t<span class=\"bui-stepper-top-header-indicator\">\n\t\t\t\t\t{{ indicatorFormatter(selectedIndex + 1, steps.length) }}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div class=\"bui-stepper-top-header-titles-wrapper\" *ngIf=\"selected\">\n\t\t\t\t<div class=\"bui-stepper-top-header-title\">\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t[ngTemplateOutlet]=\"labelTemplate\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: selected }\"\n\t\t\t\t\t></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"bui-stepper-top-header-title-next\" *ngIf=\"selectedIndex < steps.length - 1\">\n\t\t\t\t\t{{ nextStepLabelPrefix }}\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t[ngTemplateOutlet]=\"labelTemplate\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: steps.get(selectedIndex + 1) }\"\n\t\t\t\t\t></ng-template>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"bui-stepper-content-wrapper\" [class.bui-stepper-content-wrapper-transitioning]=\"_stepTransitioning\">\n\t\t\t<div\n\t\t\t\t*ngFor=\"let step of steps; let i = index\"\n\t\t\t\tclass=\"bui-stepper-content\"\n\t\t\t\trole=\"tabpanel\"\n\t\t\t\t[@stepTransition]=\"_getAnimationDirection(i)\"\n\t\t\t\t(@stepTransition.start)=\"_stepTransitioning = true\"\n\t\t\t\t(@stepTransition.done)=\"_animationDone.next($event)\"\n\t\t\t\t[id]=\"_getStepContentId(i)\"\n\t\t\t\t[attr.aria-labelledby]=\"_getStepLabelId(i)\"\n\t\t\t\t[attr.aria-expanded]=\"selectedIndex === i\"\n\t\t\t>\n\t\t\t\t<div class=\"bui-stepper-content-header-label\" *ngIf=\"!_narrow\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"labelTemplate\" [ngTemplateOutletContext]=\"{ $implicit: step }\"></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"step.content\"></ng-template>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<ng-template #labelTemplate let-step>\n\t<ng-template [ngIf]=\"step.stepLabel\" [ngIfElse]=\"stringLabelTempl\">\n\t\t<ng-template [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-template>\n\t</ng-template>\n\t<ng-template #stringLabelTempl>{{ step.label }}</ng-template>\n</ng-template>\n\n<ng-template #editIconTemplate let-index=\"index\">\n\t<span>{{ index + 1 }}</span>\n</ng-template>\n","import { PortalModule } from '@angular/cdk/portal';\nimport { CdkStepperModule } from '@angular/cdk/stepper';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { BehaviorModule } from '@bravura/ui/behavior';\nimport { StepperComponent } from './stepper.component';\n\n@NgModule({\n\tdeclarations: [StepperComponent],\n\timports: [\n\t\tCommonModule,\n\t\tPortalModule,\n\t\tCdkStepperModule,\n\t\tMatStepperModule,\n\t\tMatButtonModule,\n\t\tMatIconModule,\n\t\tMatRippleModule,\n\t\tMatProgressSpinnerModule,\n\t\tBehaviorModule\n\t],\n\texports: [StepperComponent, MatStepperModule]\n})\nexport class StepperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bravura-ui-stepper.mjs","sources":["../../../projects/ui/stepper/stepper-animation.ts","../../../projects/ui/stepper/stepper.component.ts","../../../projects/ui/stepper/stepper.component.html","../../../projects/ui/stepper/stepper.module.ts","../../../projects/ui/stepper/bravura-ui-stepper.ts"],"sourcesContent":["import {\n\tanimate,\n\tAnimationStateMetadata,\n\tAnimationTransitionMetadata,\n\tstate,\n\tstyle,\n\ttransition,\n\ttrigger\n} from '@angular/animations';\n\nfunction drawerAnimations(isLeft: boolean): (AnimationStateMetadata | AnimationTransitionMetadata)[] {\n\tconst closedStyle = { opacity: '0', height: 0, width: 0, visibility: 'hidden' };\n\tconst left = { ...closedStyle, transform: 'translateX(50%)' };\n\tconst height = { ...closedStyle, transform: 'scaleY(0.5)' };\n\treturn [\n\t\tstate('open, open-instant', style({ visibility: 'visible' })),\n\t\tstate('void', style(isLeft ? left : height)),\n\t\ttransition('void => open-instant', animate('0ms')),\n\t\ttransition('void <=> open, open-instant => void', animate('400ms cubic-bezier(0.25, 0.8, 0.25, 1)'))\n\t];\n}\n\nexport default {\n\tstepTransition: trigger('stepTransition', [\n\t\tstate('previous', style({ transform: 'translate3d(0, -100%, 0)', visibility: 'hidden' })),\n\t\tstate('current', style({ transform: 'none', visibility: 'inherit' })),\n\t\tstate('next', style({ transform: 'translate3d(0, 100%, 0)', visibility: 'hidden' })),\n\t\ttransition('* => *', animate('500ms cubic-bezier(0.35, 0, 0.25, 1)'))\n\t]),\n\n\tleftDrawer: trigger('leftDrawer', drawerAnimations(true)),\n\ttopDrawer: trigger('topDrawer', drawerAnimations(false))\n};\n","import { AnimationEvent } from '@angular/animations';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { CdkStepper, StepContentPositionState, StepperOptions, STEPPER_GLOBAL_OPTIONS } from '@angular/cdk/stepper';\nimport { DOCUMENT } from '@angular/common';\nimport {\n\tAfterContentInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tContentChildren,\n\tElementRef,\n\tEventEmitter,\n\tInject,\n\tInput,\n\tOptional,\n\tOutput,\n\tQueryList,\n\tSelf,\n\tSkipSelf,\n\tTemplateRef,\n\tViewChild,\n\tViewChildren,\n\tViewEncapsulation\n} from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { MatStep, MatStepHeader, MatStepper, MatStepperIcon, MatStepperIconContext } from '@angular/material/stepper';\nimport { Subject } from 'rxjs';\nimport { distinctUntilChanged, filter, takeUntil } from 'rxjs/operators';\nimport animation from './stepper-animation';\n\n/** @ignore */\nconst BREAKPOINT = 768;\n\n/**\n * [Angular Material's stepper](https://material.angular.io/components/stepper/overview) provides a wizard-like workflow by dividing\n * content into logical steps.\n *\n * This stepper extends Angular's to customise the presentation of its headers to achieve a better user experience in both mobile and\n * desktop browsers.\n *\n */\n@Component({\n\tselector: 'bui-stepper, [buiStepper]',\n\texportAs: 'buiStepper, matStepper, matVerticalStepper, matHorizontalStepper',\n\ttemplateUrl: './stepper.component.html',\n\tstyleUrls: ['./stepper.component.scss'],\n\tinputs: ['selectedIndex'],\n\thost: {\n\t\tclass: 'bui-stepper bui-host',\n\t\t'[attr.aria-orientation]': 'orientation',\n\t\trole: 'tablist'\n\t},\n\tanimations: [animation.stepTransition, animation.leftDrawer, animation.topDrawer],\n\tproviders: [\n\t\t{ provide: MatStepper, useExisting: StepperComponent },\n\t\t{ provide: CdkStepper, useExisting: StepperComponent },\n\t\t{ provide: STEPPER_GLOBAL_OPTIONS, useValue: { displayDefaultIndicatorType: false } }\n\t],\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class StepperComponent extends CdkStepper implements AfterContentInit {\n\t/** @ignore The list of step headers of the steps in the stepper. */\n\t@ViewChildren(MatStepHeader) override _stepHeader!: QueryList<MatStepHeader>;\n\n\t/** @ignore Full list of steps inside the stepper, including inside nested steppers. */\n\t@ContentChildren(MatStep, { descendants: true }) override _steps!: QueryList<MatStep>;\n\n\t/** @ignore Steps that belong to the current stepper, excluding ones from nested steppers. */\n\toverride readonly steps: QueryList<MatStep> = new QueryList<MatStep>();\n\n\t/** @ignore Custom icon overrides passed in by the consumer. */\n\t@ContentChildren(MatStepperIcon, { descendants: true }) _icons!: QueryList<MatStepperIcon>;\n\n\t/** @ignore Event emitted when the current step is done transitioning in. */\n\t@Output() readonly animationDone: EventEmitter<void> = new EventEmitter<void>();\n\n\t/** Whether ripples should be disabled for the step headers. */\n\t@Input() disableRipple?: boolean;\n\n\t/** Theme color for all of the steps in stepper. */\n\t@Input() color: ThemePalette;\n\n\t/**\n\t * A function that constructs the text in the progress cycle for the 'narrow' view.\n\t *\n\t * Default value: `'{selected step} of {total number of steps}'`\n\t */\n\t@Input() indicatorFormatter: (index: number, total: number) => string;\n\n\t/** The text that precedes the name of the next step label, used in the 'narrow' view. */\n\t@Input() nextStepLabelPrefix = 'Next: ';\n\n\t/** @ignore Consumer-specified template-refs to be used to override the header icons. */\n\t_iconOverrides: Record<string, TemplateRef<MatStepperIconContext>> = {};\n\n\t/** @ignore Stream of animation `done` events when the body expands/collapses. */\n\treadonly _animationDone = new Subject<AnimationEvent>();\n\n\t/** @ignore Whether the stepper is in a narrow container */\n\t_narrow = false;\n\n\t/** @ignore Emits whenever the drawer has started animating. */\n\treadonly _leftDrawerStarted = new Subject<AnimationEvent>();\n\t/** @ignore Emits whenever the drawer is done animating. */\n\treadonly _leftDrawerEnded = new Subject<AnimationEvent>();\n\t/** @ignore Current state of the sidenav animation. */\n\t_leftDrawerState: 'open-instant' | 'open' | 'void' = 'open-instant';\n\n\t/** @ignore Emits whenever the drawer has started animating. */\n\treadonly _topDrawerStarted = new Subject<AnimationEvent>();\n\t/** @ignore Emits whenever the drawer is done animating. */\n\treadonly _topDrawerEnded = new Subject<AnimationEvent>();\n\t/** @ignore Current state of the sidenav animation. */\n\t_topDrawerState: 'open-instant' | 'open' | 'void' = 'void';\n\n\t/** @ignore */ readonly _progressCircleSize = 80;\n\t/** @ignore */ readonly _progressCircleWidth = 5;\n\t/** @ignore */ _stepTransitioning = false;\n\n\t@ViewChild('editIconTemplate', { static: true })\n\tprivate _editIconTemplate!: TemplateRef<any>;\n\n\tconstructor(\n\t\t@Optional() dir: Directionality,\n\t\tchangeDetectorRef: ChangeDetectorRef,\n\t\tprivate _buiElRef: ElementRef<HTMLElement>,\n\t\t@Inject(DOCUMENT) _document: any,\n\t\t@Self() @Inject(STEPPER_GLOBAL_OPTIONS) stepperOptions: StepperOptions,\n\t\t@Optional() @SkipSelf() @Inject(STEPPER_GLOBAL_OPTIONS) defaultStepperOptions?: StepperOptions\n\t) {\n\t\tsuper(dir, changeDetectorRef, _buiElRef);\n\t\tthis.orientation = 'vertical';\n\t\tthis.indicatorFormatter = (index, total) => `${index} of ${total}`;\n\t\tObject.keys(defaultStepperOptions || {})\n\t\t\t.filter(k => k !== 'displayDefaultIndicatorType')\n\t\t\t.forEach(((k: keyof StepperOptions) => (stepperOptions[k] = defaultStepperOptions![k])) as any);\n\t}\n\n\toverride ngAfterContentInit() {\n\t\tsuper.ngAfterContentInit();\n\t\tthis._icons.forEach(({ name, templateRef }) => (this._iconOverrides[name] = templateRef));\n\n\t\t// Mark the component for change detection whenever the content children query changes\n\t\tthis.steps.changes.pipe(takeUntil(this._destroyed)).subscribe(() => {\n\t\t\tthis._stateChanged();\n\t\t});\n\n\t\tthis._animationDone\n\t\t\t.pipe(\n\t\t\t\tdistinctUntilChanged((x, y) => x.fromState === y.fromState && x.toState === y.toState),\n\t\t\t\ttakeUntil(this._destroyed)\n\t\t\t)\n\t\t\t.subscribe(event => {\n\t\t\t\tif ((event.toState as StepContentPositionState) === 'current') {\n\t\t\t\t\tthis.animationDone.emit();\n\t\t\t\t\tthis._stepTransitioning = false;\n\t\t\t\t}\n\t\t\t});\n\n\t\tthis._leftDrawerEnded\n\t\t\t.pipe(\n\t\t\t\tdistinctUntilChanged((x, y) => x.fromState === y.fromState && x.toState === y.toState),\n\t\t\t\tfilter(ev => ev.toState === 'void' && ev.toState !== ev.fromState),\n\t\t\t\ttakeUntil(this._destroyed)\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis._topDrawerState = 'open';\n\t\t\t});\n\n\t\tthis._topDrawerEnded\n\t\t\t.pipe(\n\t\t\t\tdistinctUntilChanged((x, y) => x.fromState === y.fromState && x.toState === y.toState),\n\t\t\t\tfilter(ev => ev.toState === 'void' && ev.toState !== ev.fromState),\n\t\t\t\ttakeUntil(this._destroyed)\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis._leftDrawerState = 'open';\n\t\t\t});\n\t\tthis._iconOverrides.edit = this._iconOverrides.edit || this._editIconTemplate;\n\t}\n\n\t/** @ignore */\n\t_stepIsNavigable(index: number, step: MatStep): boolean {\n\t\treturn step.completed || this.selectedIndex === index || !this.linear;\n\t}\n\n\t/** @ignore */\n\t_widthChanged(w: number) {\n\t\tconst narrow = Math.abs(w - BREAKPOINT) < 20 ? this._narrow : w < BREAKPOINT;\n\t\tconst cls = 'bui-stepper-narrow';\n\t\tconst classList = this._buiElRef.nativeElement.classList;\n\t\tif (narrow) {\n\t\t\tthis._leftDrawerState = 'void';\n\t\t\tclassList.add(cls);\n\t\t} else {\n\t\t\tthis._topDrawerState = 'void';\n\t\t\tclassList.remove(cls);\n\t\t}\n\t\tif (this._narrow !== narrow) {\n\t\t\tthis._narrow = narrow;\n\t\t\tthis._stateChanged();\n\t\t}\n\t}\n\n\t/** @ignore */\n\t_startStepTransition() {\n\t\tsetTimeout(() => (this._stepTransitioning = true));\n\t}\n}\n","<div class=\"bui-stepper-wrapper\" [style.display]=\"_leftDrawerState.startsWith('open') ? 'flex' : 'block'\" #sizeMonitor>\n\t<div\n\t\tclass=\"bui-stepper-left-header-container\"\n\t\t[@leftDrawer]=\"_leftDrawerState\"\n\t\t(@leftDrawer.start)=\"_leftDrawerStarted.next($event)\"\n\t\t(@leftDrawer.done)=\"_leftDrawerEnded.next($event)\"\n\t>\n\t\t<div\n\t\t\t*ngFor=\"let step of steps; let i = index; let isLast = last\"\n\t\t\tclass=\"bui-stepper-header-wrapper\"\n\t\t\t[class.bui-stepper-vertical-line]=\"!isLast\"\n\t\t>\n\t\t\t<mat-step-header\n\t\t\t\tclass=\"bui-stepper-header\"\n\t\t\t\t(click)=\"step.select()\"\n\t\t\t\t(keydown)=\"_onKeydown($event)\"\n\t\t\t\t[tabIndex]=\"_getFocusIndex() === i ? 0 : -1\"\n\t\t\t\t[id]=\"_getStepLabelId(i)\"\n\t\t\t\t[attr.aria-posinset]=\"i + 1\"\n\t\t\t\t[attr.aria-setsize]=\"steps.length\"\n\t\t\t\t[attr.aria-controls]=\"_getStepContentId(i)\"\n\t\t\t\t[attr.aria-selected]=\"selectedIndex == i\"\n\t\t\t\t[attr.aria-label]=\"step.ariaLabel || null\"\n\t\t\t\t[attr.aria-labelledby]=\"!step.ariaLabel && step.ariaLabelledby ? step.ariaLabelledby : null\"\n\t\t\t\t[attr.aria-disabled]=\"_stepIsNavigable(i, step) ? null : true\"\n\t\t\t\t[index]=\"i\"\n\t\t\t\t[state]=\"_getIndicatorType(i, step.state)\"\n\t\t\t\t[label]=\"step.stepLabel || step.label\"\n\t\t\t\t[selected]=\"selectedIndex === i\"\n\t\t\t\t[active]=\"_stepIsNavigable(i, step)\"\n\t\t\t\t[optional]=\"step.optional\"\n\t\t\t\t[errorMessage]=\"step.errorMessage\"\n\t\t\t\t[iconOverrides]=\"_iconOverrides\"\n\t\t\t\t[disableRipple]=\"disableRipple || !_stepIsNavigable(i, step)\"\n\t\t\t\t[color]=\"step.color || color\"\n\t\t\t></mat-step-header>\n\t\t</div>\n\t</div>\n\n\t<div class=\"bui-stepper-content-container\" [buiSizingBy]=\"sizeMonitor\" (buiResized)=\"_widthChanged($event.width)\">\n\t\t<div\n\t\t\tclass=\"bui-stepper-top-header-container\"\n\t\t\t[class.bui-stepper-header-active]=\"_leftDrawerState === 'void'\"\n\t\t\t[@topDrawer]=\"_topDrawerState\"\n\t\t\t(@topDrawer.start)=\"_topDrawerStarted.next($event)\"\n\t\t\t(@topDrawer.done)=\"_topDrawerEnded.next($event)\"\n\t\t>\n\t\t\t<div\n\t\t\t\tclass=\"bui-stepper-top-header-progress\"\n\t\t\t\t[style]=\"'height:' + _progressCircleSize + 'px; width:' + _progressCircleSize + 'px'\"\n\t\t\t>\n\t\t\t\t<mat-progress-spinner\n\t\t\t\t\tclass=\"bui-progress-spinner-light\"\n\t\t\t\t\t[value]=\"100\"\n\t\t\t\t\t[diameter]=\"_progressCircleSize\"\n\t\t\t\t\t[strokeWidth]=\"_progressCircleWidth\"\n\t\t\t\t></mat-progress-spinner>\n\t\t\t\t<mat-progress-spinner\n\t\t\t\t\t[color]=\"color\"\n\t\t\t\t\t[value]=\"((selectedIndex + 1) * 100) / steps.length\"\n\t\t\t\t\t[diameter]=\"_progressCircleSize\"\n\t\t\t\t\t[strokeWidth]=\"_progressCircleWidth\"\n\t\t\t\t></mat-progress-spinner>\n\t\t\t\t<span class=\"bui-stepper-top-header-indicator\">\n\t\t\t\t\t{{ indicatorFormatter(selectedIndex + 1, steps.length) }}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<div class=\"bui-stepper-top-header-titles-wrapper\" *ngIf=\"selected\">\n\t\t\t\t<div class=\"bui-stepper-top-header-title\">\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t[ngTemplateOutlet]=\"labelTemplate\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: selected }\"\n\t\t\t\t\t></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"bui-stepper-top-header-title-next\" *ngIf=\"selectedIndex < steps.length - 1\">\n\t\t\t\t\t{{ nextStepLabelPrefix }}\n\t\t\t\t\t<ng-template\n\t\t\t\t\t\t[ngTemplateOutlet]=\"labelTemplate\"\n\t\t\t\t\t\t[ngTemplateOutletContext]=\"{ $implicit: steps.get(selectedIndex + 1) }\"\n\t\t\t\t\t></ng-template>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"bui-stepper-content-wrapper\" [class.bui-stepper-content-wrapper-transitioning]=\"_stepTransitioning\">\n\t\t\t<div\n\t\t\t\t*ngFor=\"let step of steps; let i = index\"\n\t\t\t\tclass=\"bui-stepper-content\"\n\t\t\t\trole=\"tabpanel\"\n\t\t\t\t[@stepTransition]=\"_getAnimationDirection(i)\"\n\t\t\t\t(@stepTransition.start)=\"_startStepTransition()\"\n\t\t\t\t(@stepTransition.done)=\"_animationDone.next($event)\"\n\t\t\t\t[id]=\"_getStepContentId(i)\"\n\t\t\t\t[attr.aria-labelledby]=\"_getStepLabelId(i)\"\n\t\t\t\t[attr.aria-expanded]=\"selectedIndex === i\"\n\t\t\t>\n\t\t\t\t<div class=\"bui-stepper-content-header-label\" *ngIf=\"!_narrow\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"labelTemplate\" [ngTemplateOutletContext]=\"{ $implicit: step }\"></ng-template>\n\t\t\t\t</div>\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"step.content\"></ng-template>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<ng-template #labelTemplate let-step>\n\t<ng-template [ngIf]=\"step.stepLabel\" [ngIfElse]=\"stringLabelTempl\">\n\t\t<ng-template [ngTemplateOutlet]=\"step.stepLabel.template\"></ng-template>\n\t</ng-template>\n\t<ng-template #stringLabelTempl>{{ step.label }}</ng-template>\n</ng-template>\n\n<ng-template #editIconTemplate let-index=\"index\">\n\t<span>{{ index + 1 }}</span>\n</ng-template>\n","import { PortalModule } from '@angular/cdk/portal';\nimport { CdkStepperModule } from '@angular/cdk/stepper';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { BehaviorModule } from '@bravura/ui/behavior';\nimport { StepperComponent } from './stepper.component';\n\n@NgModule({\n\tdeclarations: [StepperComponent],\n\timports: [\n\t\tCommonModule,\n\t\tPortalModule,\n\t\tCdkStepperModule,\n\t\tMatStepperModule,\n\t\tMatButtonModule,\n\t\tMatIconModule,\n\t\tMatRippleModule,\n\t\tMatProgressSpinnerModule,\n\t\tBehaviorModule\n\t],\n\texports: [StepperComponent, MatStepperModule]\n})\nexport class StepperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -75,6 +75,12 @@ class TooltipDirective extends _MatTooltipBase {
75
75
  super(overlay, elementRef, scrollDispatcher, viewContainerRef, ngZone, platform, ariaDescriber, focusMonitor, scrollStrategy, dir, defaultOptions, _document);
76
76
  this._tooltipComponent = TooltipComponent;
77
77
  this.touchGestures = 'off';
78
+ const element = elementRef.nativeElement;
79
+ element.setAttribute('aria-hidden', 'false');
80
+ if (element.tabIndex === -1) {
81
+ element.tabIndex = 0;
82
+ element.setAttribute('aria-roledescription', 'tooltip');
83
+ }
78
84
  }
79
85
  /** Allows the user to define the position of the tooltip relative to the parent element */
80
86
  get buiTooltipPosition() {
@@ -1 +1 @@
1
- {"version":3,"file":"bravura-ui-tooltip.mjs","sources":["../../../projects/ui/tooltip/tooltip.component.ts","../../../projects/ui/tooltip/tooltip.component.html","../../../projects/ui/tooltip/tooltip.directive.ts","../../../projects/ui/tooltip/tooltip.module.ts","../../../projects/ui/tooltip/bravura-ui-tooltip.ts"],"sourcesContent":["import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tInject,\n\tInjectionToken,\n\tTemplateRef,\n\tViewChild,\n\tViewEncapsulation\n} from '@angular/core';\nimport { matTooltipAnimations, TooltipComponent as MatTooltipComponent } from '@angular/material/tooltip';\nimport { getTextWidth } from '@bravura/ui/common';\n\n/**\n * @ignore\n */\ninterface TooltipTemplateContainer {\n\ttemplate?: TemplateRef<any>;\n}\n\n/**\n * @ignore\n */\nexport const BUI_TOOLTIP_TEMPLATE_REF = new InjectionToken<TooltipTemplateContainer>(\n\t'@bravura/ui/tooltip/templateContainer'\n);\n\n@Component({\n\tselector: 'bui-tooltip-component',\n\ttemplateUrl: './tooltip.component.html',\n\tstyleUrls: ['./tooltip.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [matTooltipAnimations.tooltipState],\n\thost: {\n\t\tclass: 'bui-tooltip-component bui-host',\n\t\t// Forces the element to have a layout in IE and Edge. This fixes issues where the element\n\t\t// won't be rendered if the animations are disabled or there is no web animations polyfill.\n\t\t'[style.zoom]': '_visibility === \"visible\" ? 1 : null',\n\t\t'(body:click)': 'this._handleBodyInteraction()',\n\t\t'(body:auxclick)': 'this._handleBodyInteraction()',\n\t\t'aria-hidden': 'true'\n\t}\n})\nexport class TooltipComponent extends MatTooltipComponent {\n\tprivate _messageCopy = '';\n\n\t@ViewChild('tooltip', { static: true })\n\t_tooltip!: ElementRef<HTMLElement>;\n\n\t@ViewChild('tooltipDiv', { static: true })\n\tprivate tooltipDiv!: ElementRef<HTMLDivElement>;\n\n\tconstructor(\n\t\tchangeDetectorRef: ChangeDetectorRef,\n\t\t_breakpointObserver: BreakpointObserver,\n\t\t@Inject(BUI_TOOLTIP_TEMPLATE_REF) public _tooltipInst: TooltipTemplateContainer\n\t) {\n\t\tsuper(changeDetectorRef, _breakpointObserver);\n\t}\n\n\tshow(delay: number): void {\n\t\tif (this._messageCopy !== this.message && !this._tooltipInst.template) {\n\t\t\tthis.tooltipDiv.nativeElement.innerHTML = this.message;\n\t\t\tthis._messageCopy = this.message;\n\t\t\tconst width = Math.max(Math.sqrt(getTextWidth(this.message) * 40), 360);\n\t\t\tthis._tooltip.nativeElement.style.maxWidth = `${width}px`;\n\t\t}\n\t\tsuper.show(delay);\n\t}\n\n\tget _self(): any {\n\t\treturn this;\n\t}\n}\n\n(TooltipComponent as any).ɵcmp.styles.push((MatTooltipComponent as any).ɵcmp.styles);\n","<div\n\t#tooltip\n\tclass=\"mat-tooltip bui-tooltip\"\n\t[ngClass]=\"tooltipClass\"\n\t[class.mat-tooltip-handset]=\"(_isHandset | async)?.matches\"\n\t[@state]=\"_visibility\"\n\t(@state.start)=\"_self._animationStart && _self._animationStart()\"\n\t(@state.done)=\"_self._animationDone && _self._animationDone($event)\"\n\t(animationend)=\"_self._handleAnimationEnd && _self._handleAnimationEnd($event)\"\n>\n\t<ng-template [ngIf]=\"_tooltipInst.template\">\n\t\t<ng-template [ngTemplateOutlet]=\"_tooltipInst.template\"></ng-template>\n\t</ng-template>\n\t<div #tooltipDiv></div>\n</div>\n","import { AriaDescriber, FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n\tDirective,\n\tElementRef,\n\tforwardRef,\n\tHostListener,\n\tInject,\n\tInput,\n\tNgZone,\n\tOptional,\n\tTemplateRef,\n\tViewContainerRef\n} from '@angular/core';\nimport {\n\tMatTooltipDefaultOptions,\n\tMAT_TOOLTIP_DEFAULT_OPTIONS,\n\tMAT_TOOLTIP_SCROLL_STRATEGY,\n\tTooltipPosition,\n\t_MatTooltipBase\n} from '@angular/material/tooltip';\nimport { BUI_TOOLTIP_TEMPLATE_REF, TooltipComponent } from './tooltip.component';\n\n/**\n * This directive extends [Angular Material tooltip](https://material.angular.io/components/tooltip/overview), with the additional capability of displaying\n * HTML content in the overlay area.\n *\n * All the other features are identical as those in Angular Material tooltip.\n */\n@Directive({\n\tselector: '[buiTooltip]',\n\texportAs: 'buiTooltip',\n\thost: {\n\t\tclass: 'mat-tooltip-trigger bui-tooltip-trigger'\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: BUI_TOOLTIP_TEMPLATE_REF,\n\t\t\tuseExisting: forwardRef(() => TooltipDirective)\n\t\t}\n\t]\n})\nexport class TooltipDirective extends _MatTooltipBase<TooltipComponent> {\n\tprotected readonly _tooltipComponent = TooltipComponent;\n\tprivate _templateRef?: TemplateRef<any>;\n\n\tconstructor(\n\t\toverlay: Overlay,\n\t\telementRef: ElementRef<HTMLElement>,\n\t\tscrollDispatcher: ScrollDispatcher,\n\t\tviewContainerRef: ViewContainerRef,\n\t\tngZone: NgZone,\n\t\tplatform: Platform,\n\t\tariaDescriber: AriaDescriber,\n\t\tfocusMonitor: FocusMonitor,\n\t\t@Inject(MAT_TOOLTIP_SCROLL_STRATEGY) scrollStrategy: any,\n\t\t@Optional() dir: Directionality,\n\t\t@Optional() @Inject(MAT_TOOLTIP_DEFAULT_OPTIONS) defaultOptions: MatTooltipDefaultOptions,\n\t\t@Inject(DOCUMENT) _document: any\n\t) {\n\t\tsuper(\n\t\t\toverlay,\n\t\t\telementRef,\n\t\t\tscrollDispatcher,\n\t\t\tviewContainerRef,\n\t\t\tngZone,\n\t\t\tplatform,\n\t\t\tariaDescriber,\n\t\t\tfocusMonitor,\n\t\t\tscrollStrategy,\n\t\t\tdir,\n\t\t\tdefaultOptions,\n\t\t\t_document\n\t\t);\n\t\tthis.touchGestures = 'off';\n\t}\n\n\t/** Allows the user to define the position of the tooltip relative to the parent element */\n\t@Input()\n\tget buiTooltipPosition(): TooltipPosition {\n\t\treturn this.position;\n\t}\n\tset buiTooltipPosition(value: TooltipPosition) {\n\t\tthis.position = value;\n\t}\n\n\t/** Disables the display of the tooltip. */\n\t@Input()\n\tget buiTooltipDisabled(): boolean {\n\t\treturn this.disabled;\n\t}\n\tset buiTooltipDisabled(value) {\n\t\tthis.disabled = value;\n\t}\n\n\t/** The message to be displayed in the tooltip. */\n\t@Input()\n\tget buiTooltip(): string | TemplateRef<any> {\n\t\treturn this._templateRef || this.message;\n\t}\n\tset buiTooltip(value) {\n\t\tif (typeof value === 'string') {\n\t\t\tthis.message = value;\n\t\t} else {\n\t\t\tthis._templateRef = value;\n\t\t\tif (value) {\n\t\t\t\tthis.message = '[bui-tooltip-template]';\n\t\t\t} else {\n\t\t\t\tthis._templateRef = undefined;\n\t\t\t\tthis.message = '';\n\t\t\t}\n\t\t}\n\t}\n\n\t/** @ignore */\n\tget template(): TemplateRef<any> | undefined {\n\t\treturn this._templateRef;\n\t}\n\n\t/** Classes to be passed to the tooltip. Supports the same syntax as `ngClass`. */\n\t@Input()\n\tget buiTooltipClass() {\n\t\treturn this.tooltipClass;\n\t}\n\tset buiTooltipClass(value: string | string[] | Set<string> | { [key: string]: any }) {\n\t\tthis.tooltipClass = value;\n\t}\n\n\t/** @ignore */\n\t@HostListener('click')\n\tclicked() {\n\t\tthis.toggle();\n\t}\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CdkScrollableModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatCommonModule } from '@angular/material/core';\nimport { MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER } from '@angular/material/tooltip';\nimport { TooltipComponent } from './tooltip.component';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n\timports: [A11yModule, CommonModule, OverlayModule, MatCommonModule],\n\texports: [TooltipDirective, MatCommonModule, CdkScrollableModule],\n\tdeclarations: [TooltipDirective, TooltipComponent],\n\tproviders: [MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER]\n})\nexport class TooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["MatTooltipComponent","i1","i2"],"mappings":"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"}
1
+ {"version":3,"file":"bravura-ui-tooltip.mjs","sources":["../../../projects/ui/tooltip/tooltip.component.ts","../../../projects/ui/tooltip/tooltip.component.html","../../../projects/ui/tooltip/tooltip.directive.ts","../../../projects/ui/tooltip/tooltip.module.ts","../../../projects/ui/tooltip/bravura-ui-tooltip.ts"],"sourcesContent":["import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tInject,\n\tInjectionToken,\n\tTemplateRef,\n\tViewChild,\n\tViewEncapsulation\n} from '@angular/core';\nimport { matTooltipAnimations, TooltipComponent as MatTooltipComponent } from '@angular/material/tooltip';\nimport { getTextWidth } from '@bravura/ui/common';\n\n/**\n * @ignore\n */\ninterface TooltipTemplateContainer {\n\ttemplate?: TemplateRef<any>;\n}\n\n/**\n * @ignore\n */\nexport const BUI_TOOLTIP_TEMPLATE_REF = new InjectionToken<TooltipTemplateContainer>(\n\t'@bravura/ui/tooltip/templateContainer'\n);\n\n@Component({\n\tselector: 'bui-tooltip-component',\n\ttemplateUrl: './tooltip.component.html',\n\tstyleUrls: ['./tooltip.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [matTooltipAnimations.tooltipState],\n\thost: {\n\t\tclass: 'bui-tooltip-component bui-host',\n\t\t// Forces the element to have a layout in IE and Edge. This fixes issues where the element\n\t\t// won't be rendered if the animations are disabled or there is no web animations polyfill.\n\t\t'[style.zoom]': '_visibility === \"visible\" ? 1 : null',\n\t\t'(body:click)': 'this._handleBodyInteraction()',\n\t\t'(body:auxclick)': 'this._handleBodyInteraction()',\n\t\t'aria-hidden': 'true'\n\t}\n})\nexport class TooltipComponent extends MatTooltipComponent {\n\tprivate _messageCopy = '';\n\n\t@ViewChild('tooltip', { static: true })\n\t_tooltip!: ElementRef<HTMLElement>;\n\n\t@ViewChild('tooltipDiv', { static: true })\n\tprivate tooltipDiv!: ElementRef<HTMLDivElement>;\n\n\tconstructor(\n\t\tchangeDetectorRef: ChangeDetectorRef,\n\t\t_breakpointObserver: BreakpointObserver,\n\t\t@Inject(BUI_TOOLTIP_TEMPLATE_REF) public _tooltipInst: TooltipTemplateContainer\n\t) {\n\t\tsuper(changeDetectorRef, _breakpointObserver);\n\t}\n\n\tshow(delay: number): void {\n\t\tif (this._messageCopy !== this.message && !this._tooltipInst.template) {\n\t\t\tthis.tooltipDiv.nativeElement.innerHTML = this.message;\n\t\t\tthis._messageCopy = this.message;\n\t\t\tconst width = Math.max(Math.sqrt(getTextWidth(this.message) * 40), 360);\n\t\t\tthis._tooltip.nativeElement.style.maxWidth = `${width}px`;\n\t\t}\n\t\tsuper.show(delay);\n\t}\n\n\tget _self(): any {\n\t\treturn this;\n\t}\n}\n\n(TooltipComponent as any).ɵcmp.styles.push((MatTooltipComponent as any).ɵcmp.styles);\n","<div\n\t#tooltip\n\tclass=\"mat-tooltip bui-tooltip\"\n\t[ngClass]=\"tooltipClass\"\n\t[class.mat-tooltip-handset]=\"(_isHandset | async)?.matches\"\n\t[@state]=\"_visibility\"\n\t(@state.start)=\"_self._animationStart && _self._animationStart()\"\n\t(@state.done)=\"_self._animationDone && _self._animationDone($event)\"\n\t(animationend)=\"_self._handleAnimationEnd && _self._handleAnimationEnd($event)\"\n>\n\t<ng-template [ngIf]=\"_tooltipInst.template\">\n\t\t<ng-template [ngTemplateOutlet]=\"_tooltipInst.template\"></ng-template>\n\t</ng-template>\n\t<div #tooltipDiv></div>\n</div>\n","import { AriaDescriber, FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n\tDirective,\n\tElementRef,\n\tforwardRef,\n\tHostListener,\n\tInject,\n\tInput,\n\tNgZone,\n\tOptional,\n\tTemplateRef,\n\tViewContainerRef\n} from '@angular/core';\nimport {\n\tMatTooltipDefaultOptions,\n\tMAT_TOOLTIP_DEFAULT_OPTIONS,\n\tMAT_TOOLTIP_SCROLL_STRATEGY,\n\tTooltipPosition,\n\t_MatTooltipBase\n} from '@angular/material/tooltip';\nimport { BUI_TOOLTIP_TEMPLATE_REF, TooltipComponent } from './tooltip.component';\n\n/**\n * This directive extends [Angular Material tooltip](https://material.angular.io/components/tooltip/overview), with the additional capability of displaying\n * HTML content in the overlay area.\n *\n * All the other features are identical as those in Angular Material tooltip.\n */\n@Directive({\n\tselector: '[buiTooltip]',\n\texportAs: 'buiTooltip',\n\thost: {\n\t\tclass: 'mat-tooltip-trigger bui-tooltip-trigger'\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: BUI_TOOLTIP_TEMPLATE_REF,\n\t\t\tuseExisting: forwardRef(() => TooltipDirective)\n\t\t}\n\t]\n})\nexport class TooltipDirective extends _MatTooltipBase<TooltipComponent> {\n\tprotected readonly _tooltipComponent = TooltipComponent;\n\tprivate _templateRef?: TemplateRef<any>;\n\n\tconstructor(\n\t\toverlay: Overlay,\n\t\telementRef: ElementRef<HTMLElement>,\n\t\tscrollDispatcher: ScrollDispatcher,\n\t\tviewContainerRef: ViewContainerRef,\n\t\tngZone: NgZone,\n\t\tplatform: Platform,\n\t\tariaDescriber: AriaDescriber,\n\t\tfocusMonitor: FocusMonitor,\n\t\t@Inject(MAT_TOOLTIP_SCROLL_STRATEGY) scrollStrategy: any,\n\t\t@Optional() dir: Directionality,\n\t\t@Optional() @Inject(MAT_TOOLTIP_DEFAULT_OPTIONS) defaultOptions: MatTooltipDefaultOptions,\n\t\t@Inject(DOCUMENT) _document: any\n\t) {\n\t\tsuper(\n\t\t\toverlay,\n\t\t\telementRef,\n\t\t\tscrollDispatcher,\n\t\t\tviewContainerRef,\n\t\t\tngZone,\n\t\t\tplatform,\n\t\t\tariaDescriber,\n\t\t\tfocusMonitor,\n\t\t\tscrollStrategy,\n\t\t\tdir,\n\t\t\tdefaultOptions,\n\t\t\t_document\n\t\t);\n\t\tthis.touchGestures = 'off';\n\t\tconst element = elementRef.nativeElement;\n\t\telement.setAttribute('aria-hidden', 'false');\n\t\tif (element.tabIndex === -1) {\n\t\t\telement.tabIndex = 0;\n\t\t\telement.setAttribute('aria-roledescription', 'tooltip');\n\t\t}\n\t}\n\n\t/** Allows the user to define the position of the tooltip relative to the parent element */\n\t@Input()\n\tget buiTooltipPosition(): TooltipPosition {\n\t\treturn this.position;\n\t}\n\tset buiTooltipPosition(value: TooltipPosition) {\n\t\tthis.position = value;\n\t}\n\n\t/** Disables the display of the tooltip. */\n\t@Input()\n\tget buiTooltipDisabled(): boolean {\n\t\treturn this.disabled;\n\t}\n\tset buiTooltipDisabled(value) {\n\t\tthis.disabled = value;\n\t}\n\n\t/** The message to be displayed in the tooltip. */\n\t@Input()\n\tget buiTooltip(): string | TemplateRef<any> {\n\t\treturn this._templateRef || this.message;\n\t}\n\tset buiTooltip(value) {\n\t\tif (typeof value === 'string') {\n\t\t\tthis.message = value;\n\t\t} else {\n\t\t\tthis._templateRef = value;\n\t\t\tif (value) {\n\t\t\t\tthis.message = '[bui-tooltip-template]';\n\t\t\t} else {\n\t\t\t\tthis._templateRef = undefined;\n\t\t\t\tthis.message = '';\n\t\t\t}\n\t\t}\n\t}\n\n\t/** @ignore */\n\tget template(): TemplateRef<any> | undefined {\n\t\treturn this._templateRef;\n\t}\n\n\t/** Classes to be passed to the tooltip. Supports the same syntax as `ngClass`. */\n\t@Input()\n\tget buiTooltipClass() {\n\t\treturn this.tooltipClass;\n\t}\n\tset buiTooltipClass(value: string | string[] | Set<string> | { [key: string]: any }) {\n\t\tthis.tooltipClass = value;\n\t}\n\n\t/** @ignore */\n\t@HostListener('click')\n\tclicked() {\n\t\tthis.toggle();\n\t}\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CdkScrollableModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatCommonModule } from '@angular/material/core';\nimport { MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER } from '@angular/material/tooltip';\nimport { TooltipComponent } from './tooltip.component';\nimport { TooltipDirective } from './tooltip.directive';\n\n@NgModule({\n\timports: [A11yModule, CommonModule, OverlayModule, MatCommonModule],\n\texports: [TooltipDirective, MatCommonModule, CdkScrollableModule],\n\tdeclarations: [TooltipDirective, TooltipComponent],\n\tproviders: [MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER]\n})\nexport class TooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["MatTooltipComponent","i1","i2"],"mappings":"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"}