@ptsecurity/mosaic 13.7.1 → 13.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_theming.scss +186 -53
- package/_visual.scss +55 -13
- package/core/formatters/date/formatter.d.ts +13 -4
- package/core/formatters/date/templates/en-US.d.ts +2 -74
- package/core/formatters/date/templates/ru-RU.d.ts +2 -74
- package/design-tokens/legacy-2017/tokens/components/checkbox.json5 +4 -0
- package/design-tokens/legacy-2017/tokens/components/radio.json5 +11 -10
- package/design-tokens/legacy-2017/tokens/components/toast.json5 +54 -0
- package/design-tokens/legacy-2017/tokens.d.ts +49 -8
- package/design-tokens/pt-2022/tokens/components/button.json5 +1 -1
- package/design-tokens/pt-2022/tokens/components/checkbox.json5 +4 -0
- package/design-tokens/pt-2022/tokens/components/link.json5 +3 -3
- package/design-tokens/pt-2022/tokens/components/radio.json5 +6 -3
- package/design-tokens/pt-2022/tokens/components/tags.json5 +1 -1
- package/design-tokens/pt-2022/tokens/components/toast.json5 +54 -0
- package/design-tokens/pt-2022/tokens/properties/colors.json5 +1 -1
- package/design-tokens/pt-2022/tokens.d.ts +55 -13
- package/design-tokens/style-dictionary/figma-types.js +41 -0
- package/design-tokens/style-dictionary/formats/figma.js +1 -1
- package/design-tokens/style-dictionary/transforms/attribute/figma-border.js +1 -1
- package/design-tokens/style-dictionary/transforms/attribute/figma-color.js +1 -1
- package/design-tokens/style-dictionary/transforms/attribute/figma-default.js +1 -1
- package/design-tokens/style-dictionary/transforms/attribute/figma-font.js +1 -1
- package/design-tokens/style-dictionary/transforms/attribute/figma-opacity.js +1 -1
- package/design-tokens/style-dictionary/transforms/attribute/figma-shadow.js +1 -1
- package/design-tokens/style-dictionary/transforms/attribute/figma-sizing.js +1 -1
- package/design-tokens/style-dictionary/transforms/attribute/figma-spacing.js +1 -1
- package/design-tokens/style-dictionary/transforms/attribute/figma-typography.js +1 -1
- package/esm2020/button/button.component.mjs +2 -2
- package/esm2020/core/formatters/date/formatter.mjs +22 -16
- package/esm2020/core/formatters/date/templates/en-US.mjs +1 -1
- package/esm2020/core/formatters/date/templates/ru-RU.mjs +1 -1
- package/esm2020/design-tokens/legacy-2017/tokens.mjs +50 -9
- package/esm2020/design-tokens/pt-2022/tokens.mjs +56 -14
- package/esm2020/navbar/navbar-item.component.mjs +29 -6
- package/esm2020/navbar/vertical-navbar.component.mjs +3 -3
- package/esm2020/radio/radio.component.mjs +3 -3
- package/esm2020/textarea/textarea.component.mjs +3 -4
- package/esm2020/toast/index.mjs +2 -0
- package/esm2020/toast/ptsecurity-mosaic-toast.mjs +5 -0
- package/esm2020/toast/public-api.mjs +6 -0
- package/esm2020/toast/toast-animations.mjs +9 -0
- package/esm2020/toast/toast-container.component.mjs +44 -0
- package/esm2020/toast/toast.component.mjs +89 -0
- package/esm2020/toast/toast.module.mjs +42 -0
- package/esm2020/toast/toast.service.mjs +178 -0
- package/esm2020/toast/toast.type.mjs +15 -0
- package/esm2020/tooltip/tooltip.component.mjs +2 -1
- package/esm2020/tree/tree-option.component.mjs +3 -2
- package/esm2020/tree/tree-selection.component.mjs +3 -2
- package/esm2020/tree-select/tree-select.component.mjs +10 -9
- package/fesm2015/ptsecurity-mosaic-button.mjs +2 -2
- package/fesm2015/ptsecurity-mosaic-button.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-core.mjs +21 -15
- package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-design-tokens.mjs +147 -23
- package/fesm2015/ptsecurity-mosaic-design-tokens.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-navbar.mjs +33 -9
- package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-radio.mjs +2 -2
- package/fesm2015/ptsecurity-mosaic-radio.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-textarea.mjs +2 -3
- package/fesm2015/ptsecurity-mosaic-textarea.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-toast.mjs +363 -0
- package/fesm2015/ptsecurity-mosaic-toast.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-tooltip.mjs +1 -0
- package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree-select.mjs +9 -8
- package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree.mjs +4 -2
- package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-button.mjs +2 -2
- package/fesm2020/ptsecurity-mosaic-button.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-core.mjs +21 -15
- package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-design-tokens.mjs +147 -23
- package/fesm2020/ptsecurity-mosaic-design-tokens.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-navbar.mjs +30 -7
- package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-radio.mjs +2 -2
- package/fesm2020/ptsecurity-mosaic-radio.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-textarea.mjs +2 -3
- package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-toast.mjs +361 -0
- package/fesm2020/ptsecurity-mosaic-toast.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-tooltip.mjs +1 -0
- package/fesm2020/ptsecurity-mosaic-tooltip.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tree-select.mjs +9 -8
- package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tree.mjs +4 -2
- package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -1
- package/navbar/navbar-item.component.d.ts +9 -3
- package/package.json +12 -4
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/default-theme.css +1 -1
- package/toast/index.d.ts +1 -0
- package/toast/package.json +10 -0
- package/toast/ptsecurity-mosaic-toast.d.ts +5 -0
- package/toast/public-api.d.ts +5 -0
- package/toast/toast-animations.d.ts +4 -0
- package/toast/toast-container.component.d.ts +15 -0
- package/toast/toast.component.d.ts +35 -0
- package/toast/toast.module.d.ts +13 -0
- package/toast/toast.service.d.ts +49 -0
- package/toast/toast.type.d.ts +27 -0
- package/tooltip/tooltip.component.d.ts +1 -1
- package/tree/tree-selection.component.d.ts +1 -0
@@ -0,0 +1,361 @@
|
|
1
|
+
import * as i1 from '@angular/cdk/overlay';
|
2
|
+
import { OverlayModule } from '@angular/cdk/overlay';
|
3
|
+
import { ComponentPortal } from '@angular/cdk/portal';
|
4
|
+
import * as i0 from '@angular/core';
|
5
|
+
import { InjectionToken, Injector, ViewContainerRef, Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, TemplateRef, Injectable, Optional, Inject, NgModule } from '@angular/core';
|
6
|
+
import { BehaviorSubject, Subject, merge, timer } from 'rxjs';
|
7
|
+
import { takeUntil, filter } from 'rxjs/operators';
|
8
|
+
import * as i3 from '@angular/cdk/a11y';
|
9
|
+
import { A11yModule } from '@angular/cdk/a11y';
|
10
|
+
import { ThemePalette } from '@ptsecurity/mosaic/core';
|
11
|
+
import { trigger, state, style, transition, animate } from '@angular/animations';
|
12
|
+
import * as i4 from '@ptsecurity/mosaic/icon';
|
13
|
+
import { McIconModule } from '@ptsecurity/mosaic/icon';
|
14
|
+
import * as i5 from '@ptsecurity/mosaic/button';
|
15
|
+
import { McButtonModule } from '@ptsecurity/mosaic/button';
|
16
|
+
import * as i6 from '@angular/common';
|
17
|
+
import { CommonModule } from '@angular/common';
|
18
|
+
|
19
|
+
var McToastPosition;
|
20
|
+
(function (McToastPosition) {
|
21
|
+
McToastPosition["TOP_RIGHT"] = "top-right";
|
22
|
+
McToastPosition["TOP_LEFT"] = "top-left";
|
23
|
+
McToastPosition["TOP_CENTER"] = "top-center";
|
24
|
+
McToastPosition["BOTTOM_RIGHT"] = "bottom-right";
|
25
|
+
McToastPosition["BOTTOM_LEFT"] = "bottom-left";
|
26
|
+
McToastPosition["BOTTOM_CENTER"] = "bottom-center";
|
27
|
+
McToastPosition["CENTER"] = "center";
|
28
|
+
})(McToastPosition || (McToastPosition = {}));
|
29
|
+
class McToastData {
|
30
|
+
}
|
31
|
+
const MC_TOAST_CONFIG = new InjectionToken('mc-toast-config');
|
32
|
+
|
33
|
+
class McToastContainerComponent {
|
34
|
+
constructor(injector, changeDetectorRef) {
|
35
|
+
this.injector = injector;
|
36
|
+
this.changeDetectorRef = changeDetectorRef;
|
37
|
+
}
|
38
|
+
createToast(data, componentType, onTop) {
|
39
|
+
const injector = this.getInjector(data);
|
40
|
+
const index = onTop ? 0 : undefined;
|
41
|
+
this.changeDetectorRef.markForCheck();
|
42
|
+
return this.viewContainer.createComponent(componentType, { injector, index });
|
43
|
+
}
|
44
|
+
createTemplate(data, template, onTop) {
|
45
|
+
const index = onTop ? 0 : undefined;
|
46
|
+
return this.viewContainer.createEmbeddedView(template, { $implicit: data }, index);
|
47
|
+
}
|
48
|
+
remove(viewRef) {
|
49
|
+
const index = this.viewContainer.indexOf(viewRef);
|
50
|
+
if (index < 0) {
|
51
|
+
return;
|
52
|
+
}
|
53
|
+
this.viewContainer.remove(index);
|
54
|
+
}
|
55
|
+
getInjector(data) {
|
56
|
+
return Injector.create({
|
57
|
+
providers: [{ provide: McToastData, useValue: data }],
|
58
|
+
parent: this.injector
|
59
|
+
});
|
60
|
+
}
|
61
|
+
}
|
62
|
+
/** @nocollapse */ /** @nocollapse */ McToastContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McToastContainerComponent, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
63
|
+
/** @nocollapse */ /** @nocollapse */ McToastContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: McToastContainerComponent, selector: "mc-toast-container", host: { classAttribute: "mc-toast-container" }, viewQueries: [{ propertyName: "viewContainer", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: '<ng-container #container></ng-container>', isInline: true, styles: [".mc-toast-container{display:flex;flex-direction:column;gap:var(--mc-toast-size-gap, 12px)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McToastContainerComponent, decorators: [{
|
65
|
+
type: Component,
|
66
|
+
args: [{ selector: 'mc-toast-container', template: '<ng-container #container></ng-container>', host: {
|
67
|
+
class: 'mc-toast-container'
|
68
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".mc-toast-container{display:flex;flex-direction:column;gap:var(--mc-toast-size-gap, 12px)}\n"] }]
|
69
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { viewContainer: [{
|
70
|
+
type: ViewChild,
|
71
|
+
args: ['container', { static: true, read: ViewContainerRef }]
|
72
|
+
}] } });
|
73
|
+
|
74
|
+
const mcToastAnimations = {
|
75
|
+
toastState: trigger('state', [
|
76
|
+
state('void', style({ transform: 'translateX(100%)', opacity: 0 })),
|
77
|
+
transition('* => visible', animate('150ms ease-out', style({ transform: 'translateX(0%)', opacity: 1 }))),
|
78
|
+
transition('* => void', animate('300ms ease-in', style({ transform: 'translateX(50%)', opacity: 0, 'max-height': 0 })))
|
79
|
+
])
|
80
|
+
};
|
81
|
+
|
82
|
+
let id = 0;
|
83
|
+
class McToastComponent {
|
84
|
+
constructor(data, service, elementRef, focusMonitor) {
|
85
|
+
this.data = data;
|
86
|
+
this.service = service;
|
87
|
+
this.elementRef = elementRef;
|
88
|
+
this.focusMonitor = focusMonitor;
|
89
|
+
this.themePalette = ThemePalette;
|
90
|
+
this.animationState = 'void';
|
91
|
+
this.hovered = new BehaviorSubject(false);
|
92
|
+
this.focused = new BehaviorSubject(false);
|
93
|
+
this.id = id++;
|
94
|
+
this.destroyed = new Subject();
|
95
|
+
this.$implicit = this;
|
96
|
+
this.animationState = 'visible';
|
97
|
+
this.runFocusMonitor();
|
98
|
+
this.hovered.subscribe(this.service.hovered);
|
99
|
+
this.focused.subscribe(this.service.focused);
|
100
|
+
merge(this.hovered, this.focused)
|
101
|
+
.pipe(takeUntil(this.destroyed), filter((value) => value))
|
102
|
+
.subscribe(() => {
|
103
|
+
if (this.ttl === 0) {
|
104
|
+
return;
|
105
|
+
}
|
106
|
+
this.ttl = this.ttl < this.delay ? this.delay : this.ttl;
|
107
|
+
});
|
108
|
+
}
|
109
|
+
get toastStyle() {
|
110
|
+
return {
|
111
|
+
[`mc-toast_${this.data.style || 'info'}`]: true
|
112
|
+
};
|
113
|
+
}
|
114
|
+
get hasDismiss() {
|
115
|
+
return this.data.hasDismiss === undefined ? true : this.data.hasDismiss;
|
116
|
+
}
|
117
|
+
get isFocusedOrHovered() {
|
118
|
+
return this.hovered.getValue() || this.focused.getValue();
|
119
|
+
}
|
120
|
+
ngOnDestroy() {
|
121
|
+
this.stopFocusMonitor();
|
122
|
+
this.hovered.next(false);
|
123
|
+
this.focused.next(false);
|
124
|
+
this.destroyed.next();
|
125
|
+
}
|
126
|
+
close() {
|
127
|
+
this.service.hide(this.id);
|
128
|
+
}
|
129
|
+
isTemplateRef(value) {
|
130
|
+
return value instanceof TemplateRef;
|
131
|
+
}
|
132
|
+
runFocusMonitor() {
|
133
|
+
this.focusMonitor
|
134
|
+
.monitor(this.elementRef.nativeElement, true)
|
135
|
+
.subscribe((origin) => this.focused.next(!!origin));
|
136
|
+
}
|
137
|
+
stopFocusMonitor() {
|
138
|
+
this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);
|
139
|
+
}
|
140
|
+
}
|
141
|
+
/** @nocollapse */ /** @nocollapse */ McToastComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McToastComponent, deps: [{ token: McToastData }, { token: McToastService }, { token: i0.ElementRef }, { token: i3.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component });
|
142
|
+
/** @nocollapse */ /** @nocollapse */ McToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: McToastComponent, selector: "mc-toast", host: { listeners: { "mouseenter": "hovered.next(true)", "mouseleave": "hovered.next(false)", "keydown.esc": "close()" }, properties: { "class": "toastStyle", "class.mc-toast_dismissible": "hasDismiss", "@state": "animationState" }, classAttribute: "mc-toast" }, ngImport: i0, template: "<div class=\"mc-toast__wrapper\">\n <div class=\"mc-toast__icon-container\">\n <ng-container *ngIf=\"isTemplateRef(data.icon)\"\n [ngTemplateOutlet]=\"$any(data.icon)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!data.icon\">\n <ng-container [ngSwitch]=\"data.style\">\n <ng-container *ngSwitchCase=\"'info'\">\n <i mc-icon=\"mc-info_16\" class=\"mc-toast__icon\"></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'success'\">\n <i mc-icon=\"mc-success_16\" class=\"mc-toast__icon\"></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'warning'\">\n <i mc-icon=\"mc-error_16\" class=\"mc-toast__icon\"></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error'\">\n <i mc-icon=\"mc-error_16\" class=\"mc-toast__icon\"></i>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n\n <div class=\"mc-toast__container\">\n <div *ngIf=\"data.title\" class=\"mc-toast__title\">\n <ng-container *ngIf=\"isTemplateRef(data.title)\"\n [ngTemplateOutlet]=\"$any(data.title)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.title)\">\n <button\n class=\"mc-button_transparent mc-toast__close\"\n mc-button\n *ngIf=\"hasDismiss\"\n (click)=\"close()\">\n\n <i class=\"mc-icon_light\" mc-icon=\"mc-close-L_16\" [color]=\"themePalette.Second\"></i>\n </button>\n <p>{{ data.title }}</p>\n </ng-container>\n </div>\n\n <div *ngIf=\"data.caption\" class=\"mc-toast__caption\">\n <ng-container *ngIf=\"isTemplateRef(data.caption)\"\n [ngTemplateOutlet]=\"$any(data.caption)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.caption)\">{{ data.caption }}</ng-container>\n </div>\n\n <div *ngIf=\"data.content\" class=\"mc-toast__content\">\n <ng-container *ngIf=\"isTemplateRef(data.content)\"\n [ngTemplateOutlet]=\"$any(data.content)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.content)\">{{ data.content }}</ng-container>\n </div>\n\n <div *ngIf=\"data.actions\" class=\"mc-toast__actions\">\n <ng-container *ngIf=\"isTemplateRef(data.actions)\"\n [ngTemplateOutlet]=\"$any(data.actions)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.actions)\">{{ data.actions }}</ng-container>\n </div>\n </div>\n</div>\n", styles: [".mc-toast{box-sizing:border-box;max-height:200px;height:auto}.mc-toast__wrapper{box-sizing:border-box;display:flex;flex:1 1 auto;width:var(--mc-toast-size-width, 360px);padding-right:var(--mc-toast-size-padding-right, 16px);padding-left:var(--mc-toast-size-padding-left, 12px);border-width:var(--mc-toast-size-border-width, 1px);border-style:solid;border-radius:var(--mc-toast-size-border-radius, 3px)}.mc-toast__icon-container{padding-right:var(--mc-toast-size-icon-margin, 8px);padding-top:var(--mc-toast-size-padding-vertical, 12px);padding-bottom:var(--mc-toast-size-padding-vertical, 12px)}.mc-toast__container{width:100%;padding-top:var(--mc-toast-size-padding-vertical, 12px);padding-bottom:var(--mc-toast-size-padding-vertical, 12px)}.mc-toast__title>p{margin:0}.mc-toast__content{display:flex;flex-direction:column}.mc-toast__actions{margin-top:var(--mc-toast-size-actionbar-margin, 8px)}.mc-toast__actions>*{margin-right:var(--mc-toast-size-actionbar-gap, 12px)}.mc-toast__close{float:right;width:var(--mc-toast-size-close-button-width, 32px);height:var(--mc-toast-size-close-button-width, 32px);margin:-6px -8px -6px 8px}\n"], components: [{ type: i4.McIcon, selector: "[mc-icon]", inputs: ["color"] }, { type: i5.McButton, selector: "[mc-button]", inputs: ["color", "tabIndex", "disabled"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i4.McIconCSSStyler, selector: "[mc-icon]" }, { type: i5.McButtonCssStyler, selector: "[mc-button]" }], animations: [mcToastAnimations.toastState], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
143
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McToastComponent, decorators: [{
|
144
|
+
type: Component,
|
145
|
+
args: [{ selector: 'mc-toast', host: {
|
146
|
+
class: 'mc-toast',
|
147
|
+
'[class]': 'toastStyle',
|
148
|
+
'[class.mc-toast_dismissible]': 'hasDismiss',
|
149
|
+
'[@state]': 'animationState',
|
150
|
+
'(mouseenter)': 'hovered.next(true)',
|
151
|
+
'(mouseleave)': 'hovered.next(false)',
|
152
|
+
'(keydown.esc)': 'close()'
|
153
|
+
}, animations: [mcToastAnimations.toastState], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"mc-toast__wrapper\">\n <div class=\"mc-toast__icon-container\">\n <ng-container *ngIf=\"isTemplateRef(data.icon)\"\n [ngTemplateOutlet]=\"$any(data.icon)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!data.icon\">\n <ng-container [ngSwitch]=\"data.style\">\n <ng-container *ngSwitchCase=\"'info'\">\n <i mc-icon=\"mc-info_16\" class=\"mc-toast__icon\"></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'success'\">\n <i mc-icon=\"mc-success_16\" class=\"mc-toast__icon\"></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'warning'\">\n <i mc-icon=\"mc-error_16\" class=\"mc-toast__icon\"></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error'\">\n <i mc-icon=\"mc-error_16\" class=\"mc-toast__icon\"></i>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n\n <div class=\"mc-toast__container\">\n <div *ngIf=\"data.title\" class=\"mc-toast__title\">\n <ng-container *ngIf=\"isTemplateRef(data.title)\"\n [ngTemplateOutlet]=\"$any(data.title)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.title)\">\n <button\n class=\"mc-button_transparent mc-toast__close\"\n mc-button\n *ngIf=\"hasDismiss\"\n (click)=\"close()\">\n\n <i class=\"mc-icon_light\" mc-icon=\"mc-close-L_16\" [color]=\"themePalette.Second\"></i>\n </button>\n <p>{{ data.title }}</p>\n </ng-container>\n </div>\n\n <div *ngIf=\"data.caption\" class=\"mc-toast__caption\">\n <ng-container *ngIf=\"isTemplateRef(data.caption)\"\n [ngTemplateOutlet]=\"$any(data.caption)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.caption)\">{{ data.caption }}</ng-container>\n </div>\n\n <div *ngIf=\"data.content\" class=\"mc-toast__content\">\n <ng-container *ngIf=\"isTemplateRef(data.content)\"\n [ngTemplateOutlet]=\"$any(data.content)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.content)\">{{ data.content }}</ng-container>\n </div>\n\n <div *ngIf=\"data.actions\" class=\"mc-toast__actions\">\n <ng-container *ngIf=\"isTemplateRef(data.actions)\"\n [ngTemplateOutlet]=\"$any(data.actions)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.actions)\">{{ data.actions }}</ng-container>\n </div>\n </div>\n</div>\n", styles: [".mc-toast{box-sizing:border-box;max-height:200px;height:auto}.mc-toast__wrapper{box-sizing:border-box;display:flex;flex:1 1 auto;width:var(--mc-toast-size-width, 360px);padding-right:var(--mc-toast-size-padding-right, 16px);padding-left:var(--mc-toast-size-padding-left, 12px);border-width:var(--mc-toast-size-border-width, 1px);border-style:solid;border-radius:var(--mc-toast-size-border-radius, 3px)}.mc-toast__icon-container{padding-right:var(--mc-toast-size-icon-margin, 8px);padding-top:var(--mc-toast-size-padding-vertical, 12px);padding-bottom:var(--mc-toast-size-padding-vertical, 12px)}.mc-toast__container{width:100%;padding-top:var(--mc-toast-size-padding-vertical, 12px);padding-bottom:var(--mc-toast-size-padding-vertical, 12px)}.mc-toast__title>p{margin:0}.mc-toast__content{display:flex;flex-direction:column}.mc-toast__actions{margin-top:var(--mc-toast-size-actionbar-margin, 8px)}.mc-toast__actions>*{margin-right:var(--mc-toast-size-actionbar-gap, 12px)}.mc-toast__close{float:right;width:var(--mc-toast-size-close-button-width, 32px);height:var(--mc-toast-size-close-button-width, 32px);margin:-6px -8px -6px 8px}\n"] }]
|
154
|
+
}], ctorParameters: function () { return [{ type: McToastData }, { type: McToastService }, { type: i0.ElementRef }, { type: i3.FocusMonitor }]; } });
|
155
|
+
|
156
|
+
const defaultToastConfig = {
|
157
|
+
position: McToastPosition.TOP_RIGHT,
|
158
|
+
duration: 5000,
|
159
|
+
delay: 2000,
|
160
|
+
onTop: false
|
161
|
+
};
|
162
|
+
const INDENT_SIZE = 16;
|
163
|
+
const CHECK_INTERVAL = 500;
|
164
|
+
let templateId = 0;
|
165
|
+
class McToastService {
|
166
|
+
constructor(overlay, injector, toastConfig, toastFactory) {
|
167
|
+
this.overlay = overlay;
|
168
|
+
this.injector = injector;
|
169
|
+
this.toastConfig = toastConfig;
|
170
|
+
this.toastFactory = toastFactory;
|
171
|
+
this.hovered = new BehaviorSubject(false);
|
172
|
+
this.focused = new BehaviorSubject(false);
|
173
|
+
this.toastsDict = {};
|
174
|
+
this.templatesDict = {};
|
175
|
+
this.processToasts = () => {
|
176
|
+
for (const toast of this.toasts.filter((item) => item.instance.ttl > 0)) {
|
177
|
+
toast.instance.ttl -= CHECK_INTERVAL;
|
178
|
+
if (toast.instance.ttl <= 0) {
|
179
|
+
this.hide(toast.instance.id);
|
180
|
+
this.updateTTLAfterDelete();
|
181
|
+
break;
|
182
|
+
}
|
183
|
+
}
|
184
|
+
};
|
185
|
+
this.toastConfig = toastConfig || defaultToastConfig;
|
186
|
+
timer(CHECK_INTERVAL, CHECK_INTERVAL)
|
187
|
+
.pipe(filter(() => this.toasts.length > 0 && !this.hovered.getValue() && !this.focused.getValue()))
|
188
|
+
.subscribe(this.processToasts);
|
189
|
+
}
|
190
|
+
get toasts() {
|
191
|
+
return Object.values(this.toastsDict)
|
192
|
+
.filter((item) => !item.hostView.destroyed);
|
193
|
+
}
|
194
|
+
get templates() {
|
195
|
+
return Object.values(this.templatesDict);
|
196
|
+
}
|
197
|
+
show(data, duration = this.toastConfig.duration, onTop = this.toastConfig.onTop) {
|
198
|
+
this.prepareContainer();
|
199
|
+
const componentRef = this.containerInstance.createToast(data, this.toastFactory || McToastComponent, onTop);
|
200
|
+
this.toastsDict[componentRef.instance.id] = componentRef;
|
201
|
+
componentRef.instance.ttl = duration;
|
202
|
+
componentRef.instance.delay = this.toastConfig.delay;
|
203
|
+
return { ref: componentRef, id: componentRef.instance.id };
|
204
|
+
}
|
205
|
+
showTemplate(data, template, duration = this.toastConfig.duration, onTop = this.toastConfig.onTop) {
|
206
|
+
this.prepareContainer();
|
207
|
+
const viewRef = this.containerInstance.createTemplate(data, template, onTop);
|
208
|
+
this.templatesDict[templateId] = viewRef;
|
209
|
+
this.addRemoveTimer(templateId, duration);
|
210
|
+
templateId++;
|
211
|
+
return { ref: viewRef, id: templateId };
|
212
|
+
}
|
213
|
+
hide(id) {
|
214
|
+
const componentRef = this.toastsDict[id];
|
215
|
+
if (!componentRef) {
|
216
|
+
return;
|
217
|
+
}
|
218
|
+
this.containerInstance.remove(componentRef.hostView);
|
219
|
+
delete this.toastsDict[id];
|
220
|
+
}
|
221
|
+
hideTemplate(id) {
|
222
|
+
const viewRef = this.templatesDict[id];
|
223
|
+
if (!viewRef) {
|
224
|
+
return;
|
225
|
+
}
|
226
|
+
this.containerInstance.remove(viewRef);
|
227
|
+
delete this.templatesDict[id];
|
228
|
+
}
|
229
|
+
updateTTLAfterDelete() {
|
230
|
+
this.toasts
|
231
|
+
.filter((item) => item.instance.ttl > 0)
|
232
|
+
.forEach((item) => item.instance.ttl = this.toastConfig.delay);
|
233
|
+
}
|
234
|
+
addRemoveTimer(id, duration) {
|
235
|
+
setTimeout(() => this.hideTemplate(id), duration);
|
236
|
+
}
|
237
|
+
prepareContainer() {
|
238
|
+
this.overlayRef = this.createOverlay();
|
239
|
+
this.portal = this.portal || new ComponentPortal(McToastContainerComponent, null, this.injector);
|
240
|
+
if (!this.overlayRef.hasAttached()) {
|
241
|
+
this.containerInstance = this.overlayRef.attach(this.portal).instance;
|
242
|
+
}
|
243
|
+
}
|
244
|
+
createOverlay() {
|
245
|
+
if (this.overlayRef) {
|
246
|
+
return this.overlayRef;
|
247
|
+
}
|
248
|
+
const positionStrategy = this.getPositionStrategy(this.toastConfig.position);
|
249
|
+
return this.overlay.create({ positionStrategy });
|
250
|
+
}
|
251
|
+
getPositionStrategy(position) {
|
252
|
+
switch (position) {
|
253
|
+
case McToastPosition.CENTER:
|
254
|
+
return this.getCenter();
|
255
|
+
case McToastPosition.BOTTOM_CENTER:
|
256
|
+
return this.getBottomCenter();
|
257
|
+
case McToastPosition.BOTTOM_LEFT:
|
258
|
+
return this.getBottomLeft();
|
259
|
+
case McToastPosition.BOTTOM_RIGHT:
|
260
|
+
return this.getBottomRight();
|
261
|
+
case McToastPosition.TOP_CENTER:
|
262
|
+
return this.getTopCenter();
|
263
|
+
case McToastPosition.TOP_LEFT:
|
264
|
+
return this.getTopLeft();
|
265
|
+
case McToastPosition.TOP_RIGHT:
|
266
|
+
return this.getTopRight();
|
267
|
+
default:
|
268
|
+
return this.getTopCenter();
|
269
|
+
}
|
270
|
+
}
|
271
|
+
getTopCenter() {
|
272
|
+
return this.getGlobalOverlayPosition()
|
273
|
+
.top(`${INDENT_SIZE}px`)
|
274
|
+
.centerHorizontally();
|
275
|
+
}
|
276
|
+
getTopLeft() {
|
277
|
+
return this.getGlobalOverlayPosition()
|
278
|
+
.top(`${INDENT_SIZE}px`)
|
279
|
+
.left(`${INDENT_SIZE}px`);
|
280
|
+
}
|
281
|
+
getTopRight() {
|
282
|
+
return this.getGlobalOverlayPosition()
|
283
|
+
.top(`${INDENT_SIZE}px`)
|
284
|
+
.right(`${INDENT_SIZE}px`);
|
285
|
+
}
|
286
|
+
getBottomCenter() {
|
287
|
+
return this.getGlobalOverlayPosition()
|
288
|
+
.bottom(`${INDENT_SIZE}px`)
|
289
|
+
.centerHorizontally();
|
290
|
+
}
|
291
|
+
getBottomLeft() {
|
292
|
+
return this.getGlobalOverlayPosition()
|
293
|
+
.bottom(`${INDENT_SIZE}px`)
|
294
|
+
.left(`${INDENT_SIZE}px`);
|
295
|
+
}
|
296
|
+
getBottomRight() {
|
297
|
+
return this.getGlobalOverlayPosition()
|
298
|
+
.bottom(`${INDENT_SIZE}px`)
|
299
|
+
.right(`${INDENT_SIZE}px`);
|
300
|
+
}
|
301
|
+
getCenter() {
|
302
|
+
return this.getGlobalOverlayPosition()
|
303
|
+
.centerVertically()
|
304
|
+
.centerHorizontally();
|
305
|
+
}
|
306
|
+
getGlobalOverlayPosition() {
|
307
|
+
return this.overlay.position().global();
|
308
|
+
}
|
309
|
+
}
|
310
|
+
/** @nocollapse */ /** @nocollapse */ McToastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McToastService, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: MC_TOAST_CONFIG, optional: true }, { token: McToastComponent, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
311
|
+
/** @nocollapse */ /** @nocollapse */ McToastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McToastService });
|
312
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McToastService, decorators: [{
|
313
|
+
type: Injectable
|
314
|
+
}], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.Injector }, { type: undefined, decorators: [{
|
315
|
+
type: Optional
|
316
|
+
}, {
|
317
|
+
type: Inject,
|
318
|
+
args: [MC_TOAST_CONFIG]
|
319
|
+
}] }, { type: McToastComponent, decorators: [{
|
320
|
+
type: Optional
|
321
|
+
}] }]; } });
|
322
|
+
|
323
|
+
class McToastModule {
|
324
|
+
}
|
325
|
+
/** @nocollapse */ /** @nocollapse */ McToastModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
326
|
+
/** @nocollapse */ /** @nocollapse */ McToastModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McToastModule, declarations: [McToastComponent,
|
327
|
+
McToastContainerComponent], imports: [CommonModule,
|
328
|
+
OverlayModule,
|
329
|
+
A11yModule,
|
330
|
+
McIconModule,
|
331
|
+
McButtonModule] });
|
332
|
+
/** @nocollapse */ /** @nocollapse */ McToastModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McToastModule, imports: [[
|
333
|
+
CommonModule,
|
334
|
+
OverlayModule,
|
335
|
+
A11yModule,
|
336
|
+
McIconModule,
|
337
|
+
McButtonModule
|
338
|
+
]] });
|
339
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McToastModule, decorators: [{
|
340
|
+
type: NgModule,
|
341
|
+
args: [{
|
342
|
+
declarations: [
|
343
|
+
McToastComponent,
|
344
|
+
McToastContainerComponent
|
345
|
+
],
|
346
|
+
imports: [
|
347
|
+
CommonModule,
|
348
|
+
OverlayModule,
|
349
|
+
A11yModule,
|
350
|
+
McIconModule,
|
351
|
+
McButtonModule
|
352
|
+
]
|
353
|
+
}]
|
354
|
+
}] });
|
355
|
+
|
356
|
+
/**
|
357
|
+
* Generated bundle index. Do not edit.
|
358
|
+
*/
|
359
|
+
|
360
|
+
export { MC_TOAST_CONFIG, McToastComponent, McToastContainerComponent, McToastData, McToastModule, McToastPosition, McToastService, defaultToastConfig };
|
361
|
+
//# sourceMappingURL=ptsecurity-mosaic-toast.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ptsecurity-mosaic-toast.mjs","sources":["../../../packages/mosaic/toast/toast.type.ts","../../../packages/mosaic/toast/toast-container.component.ts","../../../packages/mosaic/toast/toast-animations.ts","../../../packages/mosaic/toast/toast.component.ts","../../../packages/mosaic/toast/toast.component.html","../../../packages/mosaic/toast/toast.service.ts","../../../packages/mosaic/toast/toast.module.ts","../../../packages/mosaic/toast/ptsecurity-mosaic-toast.ts"],"sourcesContent":["import { TemplateRef, InjectionToken } from '@angular/core';\n\n\nexport type McToastStyle = 'default' | 'confirm' | 'custom' | 'success' | 'error' | 'warning' | 'info';\nexport enum McToastPosition {\n TOP_RIGHT = 'top-right',\n TOP_LEFT = 'top-left',\n TOP_CENTER = 'top-center',\n BOTTOM_RIGHT = 'bottom-right',\n BOTTOM_LEFT = 'bottom-left',\n BOTTOM_CENTER = 'bottom-center',\n CENTER = 'center'\n}\n\nexport class McToastData {\n style: McToastStyle;\n title: string | TemplateRef<any>;\n\n icon?: TemplateRef<any>;\n caption?: string | TemplateRef<any>;\n\n content?: string | TemplateRef<any>;\n actions?: TemplateRef<any>;\n\n hasDismiss?: boolean;\n}\n\n// tslint:disable-next-line:naming-convention\nexport interface McToastConfig {\n position: McToastPosition;\n duration: number;\n delay: number;\n onTop: boolean;\n}\n\nexport const MC_TOAST_CONFIG = new InjectionToken('mc-toast-config');\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n EmbeddedViewRef,\n Injector,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n ViewRef\n} from '@angular/core';\n\nimport { McToastData } from './toast.type';\n\n\n@Component({\n selector: 'mc-toast-container',\n template: '<ng-container #container></ng-container>',\n styleUrls: ['./toast-container.component.scss'],\n host: {\n class: 'mc-toast-container'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McToastContainerComponent {\n @ViewChild('container', { static: true, read: ViewContainerRef }) viewContainer: ViewContainerRef;\n\n constructor(\n private injector: Injector,\n private changeDetectorRef: ChangeDetectorRef\n ) {}\n\n createToast<C>(data: McToastData, componentType, onTop: boolean): ComponentRef<C> {\n const injector = this.getInjector(data);\n const index = onTop ? 0 : undefined;\n\n this.changeDetectorRef.markForCheck();\n\n return this.viewContainer.createComponent(componentType, { injector, index });\n }\n\n createTemplate<C>(data: McToastData, template: TemplateRef<any>, onTop: boolean): EmbeddedViewRef<C> {\n const index = onTop ? 0 : undefined;\n\n return this.viewContainer.createEmbeddedView(template, { $implicit: data }, index);\n }\n\n remove(viewRef: ViewRef) {\n const index = this.viewContainer.indexOf(viewRef);\n\n if (index < 0) { return; }\n\n this.viewContainer.remove(index);\n }\n\n getInjector(data: McToastData): Injector {\n return Injector.create({\n providers: [{ provide: McToastData, useValue: data }],\n parent: this.injector\n });\n }\n}\n","import {\n animate,\n style,\n transition,\n trigger,\n state,\n AnimationTriggerMetadata\n} from '@angular/animations';\n\n\nexport const mcToastAnimations: {\n readonly toastState: AnimationTriggerMetadata;\n} = {\n toastState: trigger('state', [\n state('void', style({ transform: 'translateX(100%)', opacity: 0 })),\n transition(\n '* => visible',\n animate('150ms ease-out', style({ transform: 'translateX(0%)', opacity: 1 }))\n ),\n transition(\n '* => void',\n animate('300ms ease-in', style({ transform: 'translateX(50%)', opacity: 0, 'max-height': 0 }))\n )\n ])\n};\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { FocusOrigin } from '@angular/cdk/a11y/focus-monitor/focus-monitor';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n OnDestroy,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { ThemePalette } from '@ptsecurity/mosaic/core';\nimport { BehaviorSubject, merge, Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport { mcToastAnimations } from './toast-animations';\nimport { McToastService } from './toast.service';\nimport { McToastData } from './toast.type';\n\n\nlet id = 0;\n\n@Component({\n selector: 'mc-toast',\n templateUrl: './toast.component.html',\n styleUrls: ['./toast.component.scss'],\n host: {\n class: 'mc-toast',\n '[class]': 'toastStyle',\n '[class.mc-toast_dismissible]': 'hasDismiss',\n '[@state]': 'animationState',\n\n '(mouseenter)': 'hovered.next(true)',\n '(mouseleave)': 'hovered.next(false)',\n\n '(keydown.esc)': 'close()'\n },\n animations: [mcToastAnimations.toastState],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McToastComponent implements OnDestroy {\n themePalette = ThemePalette;\n\n animationState = 'void';\n\n readonly hovered = new BehaviorSubject<boolean>(false);\n readonly focused = new BehaviorSubject<boolean>(false);\n\n id = id++;\n ttl;\n delay;\n\n $implicit;\n\n get toastStyle() {\n return {\n [`mc-toast_${this.data.style || 'info'}`]: true\n };\n }\n\n get hasDismiss(): boolean {\n return this.data.hasDismiss === undefined ? true : this.data.hasDismiss;\n }\n\n get isFocusedOrHovered(): boolean {\n return this.hovered.getValue() || this.focused.getValue();\n }\n\n private destroyed: Subject<boolean> = new Subject();\n\n constructor(\n readonly data: McToastData,\n readonly service: McToastService,\n public elementRef: ElementRef,\n private focusMonitor: FocusMonitor\n ) {\n this.$implicit = this;\n\n this.animationState = 'visible';\n\n this.runFocusMonitor();\n\n this.hovered.subscribe(this.service.hovered);\n this.focused.subscribe(this.service.focused);\n\n merge(this.hovered, this.focused)\n .pipe(takeUntil(this.destroyed), filter((value) => value))\n .subscribe(() => {\n if (this.ttl === 0) { return; }\n\n this.ttl = this.ttl < this.delay ? this.delay : this.ttl;\n });\n }\n\n ngOnDestroy() {\n this.stopFocusMonitor();\n\n this.hovered.next(false);\n this.focused.next(false);\n\n this.destroyed.next();\n }\n\n close(): void {\n this.service.hide(this.id);\n }\n\n isTemplateRef(value): boolean {\n return value instanceof TemplateRef;\n }\n\n private runFocusMonitor() {\n this.focusMonitor\n .monitor(this.elementRef.nativeElement, true)\n .subscribe((origin: FocusOrigin) => this.focused.next(!!origin));\n }\n\n private stopFocusMonitor() {\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n}\n","<div class=\"mc-toast__wrapper\">\n <div class=\"mc-toast__icon-container\">\n <ng-container *ngIf=\"isTemplateRef(data.icon)\"\n [ngTemplateOutlet]=\"$any(data.icon)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!data.icon\">\n <ng-container [ngSwitch]=\"data.style\">\n <ng-container *ngSwitchCase=\"'info'\">\n <i mc-icon=\"mc-info_16\" class=\"mc-toast__icon\"></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'success'\">\n <i mc-icon=\"mc-success_16\" class=\"mc-toast__icon\"></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'warning'\">\n <i mc-icon=\"mc-error_16\" class=\"mc-toast__icon\"></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error'\">\n <i mc-icon=\"mc-error_16\" class=\"mc-toast__icon\"></i>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n\n <div class=\"mc-toast__container\">\n <div *ngIf=\"data.title\" class=\"mc-toast__title\">\n <ng-container *ngIf=\"isTemplateRef(data.title)\"\n [ngTemplateOutlet]=\"$any(data.title)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.title)\">\n <button\n class=\"mc-button_transparent mc-toast__close\"\n mc-button\n *ngIf=\"hasDismiss\"\n (click)=\"close()\">\n\n <i class=\"mc-icon_light\" mc-icon=\"mc-close-L_16\" [color]=\"themePalette.Second\"></i>\n </button>\n <p>{{ data.title }}</p>\n </ng-container>\n </div>\n\n <div *ngIf=\"data.caption\" class=\"mc-toast__caption\">\n <ng-container *ngIf=\"isTemplateRef(data.caption)\"\n [ngTemplateOutlet]=\"$any(data.caption)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.caption)\">{{ data.caption }}</ng-container>\n </div>\n\n <div *ngIf=\"data.content\" class=\"mc-toast__content\">\n <ng-container *ngIf=\"isTemplateRef(data.content)\"\n [ngTemplateOutlet]=\"$any(data.content)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.content)\">{{ data.content }}</ng-container>\n </div>\n\n <div *ngIf=\"data.actions\" class=\"mc-toast__actions\">\n <ng-container *ngIf=\"isTemplateRef(data.actions)\"\n [ngTemplateOutlet]=\"$any(data.actions)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.actions)\">{{ data.actions }}</ng-container>\n </div>\n </div>\n</div>\n","import { GlobalPositionStrategy, Overlay } from '@angular/cdk/overlay';\nimport { OverlayRef } from '@angular/cdk/overlay/overlay-ref';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n Injectable,\n Injector,\n Inject,\n ComponentRef,\n Optional,\n TemplateRef,\n EmbeddedViewRef\n} from '@angular/core';\nimport { BehaviorSubject, timer } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { McToastContainerComponent } from './toast-container.component';\nimport { McToastComponent } from './toast.component';\nimport { McToastData, MC_TOAST_CONFIG, McToastConfig, McToastPosition } from './toast.type';\n\n\nexport const defaultToastConfig: McToastConfig = {\n position: McToastPosition.TOP_RIGHT,\n duration: 5000,\n delay: 2000,\n onTop: false\n};\n\n\nconst INDENT_SIZE = 16;\nconst CHECK_INTERVAL = 500;\n\nlet templateId = 0;\n\n@Injectable()\nexport class McToastService<T extends McToastComponent = McToastComponent> {\n get toasts(): ComponentRef<T>[] {\n return Object.values(this.toastsDict)\n .filter((item) => !item.hostView.destroyed);\n }\n\n get templates(): EmbeddedViewRef<T>[] {\n return Object.values(this.templatesDict);\n }\n\n readonly hovered = new BehaviorSubject<boolean>(false);\n readonly focused = new BehaviorSubject<boolean>(false);\n\n private containerInstance: McToastContainerComponent;\n private overlayRef: OverlayRef;\n private portal: ComponentPortal<McToastContainerComponent>;\n\n private toastsDict: { [id: number]: ComponentRef<T> } = {};\n private templatesDict: { [id: number]: EmbeddedViewRef<T> } = {};\n\n constructor(\n private overlay: Overlay,\n private injector: Injector,\n @Optional() @Inject(MC_TOAST_CONFIG) private toastConfig: McToastConfig,\n @Optional() private toastFactory: McToastComponent\n ) {\n this.toastConfig = toastConfig || defaultToastConfig;\n\n timer(CHECK_INTERVAL, CHECK_INTERVAL)\n .pipe(filter(() => this.toasts.length > 0 && !this.hovered.getValue() && !this.focused.getValue()))\n .subscribe(this.processToasts);\n }\n\n show(\n data: McToastData,\n duration: number = this.toastConfig.duration,\n onTop: boolean = this.toastConfig.onTop\n ): { ref: ComponentRef<T>; id: number} {\n\n this.prepareContainer();\n\n const componentRef = this.containerInstance.createToast<T>(data, this.toastFactory || McToastComponent, onTop);\n\n this.toastsDict[componentRef.instance.id] = componentRef;\n\n componentRef.instance.ttl = duration;\n componentRef.instance.delay = this.toastConfig.delay;\n\n return { ref: componentRef, id: componentRef.instance.id };\n }\n\n showTemplate(\n data: McToastData,\n template: TemplateRef<any>,\n duration: number = this.toastConfig.duration,\n onTop: boolean = this.toastConfig.onTop\n ): { ref: EmbeddedViewRef<T>; id: number } {\n\n this.prepareContainer();\n\n const viewRef = this.containerInstance.createTemplate<T>(data, template, onTop);\n\n this.templatesDict[templateId] = viewRef;\n\n this.addRemoveTimer(templateId, duration);\n\n templateId++;\n\n return { ref: viewRef, id: templateId };\n }\n\n hide(id: number) {\n const componentRef = this.toastsDict[id];\n\n if (!componentRef) { return; }\n\n this.containerInstance.remove(componentRef.hostView);\n\n delete this.toastsDict[id];\n }\n\n hideTemplate(id: number) {\n const viewRef = this.templatesDict[id];\n\n if (!viewRef) { return; }\n\n this.containerInstance.remove(viewRef);\n\n delete this.templatesDict[id];\n }\n\n private processToasts = () => {\n for (const toast of this.toasts.filter((item) => item.instance.ttl > 0)) {\n toast.instance.ttl -= CHECK_INTERVAL;\n\n if (toast.instance.ttl <= 0) {\n this.hide(toast.instance.id);\n\n this.updateTTLAfterDelete();\n\n break;\n }\n }\n }\n\n private updateTTLAfterDelete() {\n this.toasts\n .filter((item) => item.instance.ttl > 0)\n .forEach((item) => item.instance.ttl = this.toastConfig.delay);\n }\n\n private addRemoveTimer(id: number, duration: number) {\n setTimeout(() => this.hideTemplate(id), duration);\n }\n\n private prepareContainer() {\n this.overlayRef = this.createOverlay();\n\n this.portal = this.portal || new ComponentPortal(McToastContainerComponent, null, this.injector);\n\n if (!this.overlayRef.hasAttached()) {\n this.containerInstance = this.overlayRef.attach(this.portal).instance;\n }\n }\n\n private createOverlay(): OverlayRef {\n if (this.overlayRef) { return this.overlayRef; }\n\n const positionStrategy = this.getPositionStrategy(this.toastConfig.position);\n\n return this.overlay.create({ positionStrategy });\n }\n\n private getPositionStrategy(position?: McToastPosition): GlobalPositionStrategy {\n switch (position) {\n case McToastPosition.CENTER:\n return this.getCenter();\n case McToastPosition.BOTTOM_CENTER:\n return this.getBottomCenter();\n case McToastPosition.BOTTOM_LEFT:\n return this.getBottomLeft();\n case McToastPosition.BOTTOM_RIGHT:\n return this.getBottomRight();\n case McToastPosition.TOP_CENTER:\n return this.getTopCenter();\n case McToastPosition.TOP_LEFT:\n return this.getTopLeft();\n case McToastPosition.TOP_RIGHT:\n return this.getTopRight();\n default:\n return this.getTopCenter();\n }\n }\n\n private getTopCenter(): GlobalPositionStrategy {\n return this.getGlobalOverlayPosition()\n .top(`${INDENT_SIZE}px`)\n .centerHorizontally();\n }\n\n private getTopLeft(): GlobalPositionStrategy {\n return this.getGlobalOverlayPosition()\n .top(`${INDENT_SIZE}px`)\n .left(`${INDENT_SIZE}px`);\n }\n\n private getTopRight(): GlobalPositionStrategy {\n return this.getGlobalOverlayPosition()\n .top(`${INDENT_SIZE}px`)\n .right(`${INDENT_SIZE}px`);\n }\n\n private getBottomCenter(): GlobalPositionStrategy {\n return this.getGlobalOverlayPosition()\n .bottom(`${INDENT_SIZE}px`)\n .centerHorizontally();\n }\n\n private getBottomLeft(): GlobalPositionStrategy {\n return this.getGlobalOverlayPosition()\n .bottom(`${INDENT_SIZE}px`)\n .left(`${INDENT_SIZE}px`);\n }\n\n private getBottomRight(): GlobalPositionStrategy {\n return this.getGlobalOverlayPosition()\n .bottom(`${INDENT_SIZE}px`)\n .right(`${INDENT_SIZE}px`);\n }\n\n private getCenter(): GlobalPositionStrategy {\n return this.getGlobalOverlayPosition()\n .centerVertically()\n .centerHorizontally();\n }\n\n private getGlobalOverlayPosition(): GlobalPositionStrategy {\n return this.overlay.position().global();\n }\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { McButtonModule } from '@ptsecurity/mosaic/button';\nimport { McIconModule } from '@ptsecurity/mosaic/icon';\n\nimport { McToastContainerComponent } from './toast-container.component';\nimport { McToastComponent } from './toast.component';\n\n\n@NgModule({\n declarations: [\n McToastComponent,\n McToastContainerComponent\n ],\n imports: [\n CommonModule,\n OverlayModule,\n A11yModule,\n McIconModule,\n McButtonModule\n ]\n})\nexport class McToastModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.McToastData","i2.McToastService","i2.McToastComponent"],"mappings":"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"}
|
@@ -87,6 +87,7 @@ class McTooltipTrigger extends McPopUpTrigger {
|
|
87
87
|
super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);
|
88
88
|
this.enterDelay = 400;
|
89
89
|
this.leaveDelay = 0;
|
90
|
+
// tslint:disable-next-line:naming-convention
|
90
91
|
this._trigger = `${PopUpTriggers.Hover}, ${PopUpTriggers.Focus}`;
|
91
92
|
this.placementChange = new EventEmitter();
|
92
93
|
this.visibleChange = new EventEmitter();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ptsecurity-mosaic-tooltip.mjs","sources":["../../../packages/mosaic/tooltip/tooltip.animations.ts","../../../packages/mosaic/tooltip/tooltip.component.ts","../../../packages/mosaic/tooltip/tooltip.component.html","../../../packages/mosaic/tooltip/tooltip.module.ts","../../../packages/mosaic/tooltip/ptsecurity-mosaic-tooltip.ts"],"sourcesContent":["import {\n animate,\n AnimationTriggerMetadata,\n keyframes,\n state,\n style,\n transition,\n trigger\n} from '@angular/animations';\n\n\n/**\n * Animations used by McTooltip.\n * @docs-private\n */\nexport const mcTooltipAnimations: {\n readonly tooltipState: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions a tooltip in and out. */\n tooltipState: trigger('state', [\n state('initial, void, hidden', style({ opacity: 0, transform: 'scale(0)' })),\n state('visible', style({ transform: 'scale(1)' })),\n transition('* => visible', animate('200ms cubic-bezier(0, 0, 0.2, 1)', keyframes([\n style({ opacity: 0, transform: 'scale(0)', offset: 0 }),\n style({ opacity: 0.5, transform: 'scale(0.99)', offset: 0.5 }),\n style({ opacity: 1, transform: 'scale(1)', offset: 1 })\n ]))),\n transition('* => hidden', animate('100ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 0 })))\n ])\n};\n","import { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n Overlay,\n ScrollDispatcher,\n ScrollStrategy\n} from '@angular/cdk/overlay';\nimport { OverlayConfig } from '@angular/cdk/overlay/overlay-config';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n Optional,\n Output,\n TemplateRef,\n Type,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { McPopUp, McPopUpTrigger, PopUpPlacements, PopUpTriggers, POSITION_TO_CSS_MAP } from '@ptsecurity/mosaic/core';\nimport { merge } from 'rxjs';\n\nimport { mcTooltipAnimations } from './tooltip.animations';\n\n\nexport enum TooltipModifier {\n Default = 'default',\n Warning = 'warning',\n Extended = 'extended'\n}\n\nexport const MC_TOOLTIP_OPEN_TIME = new InjectionToken<() => ScrollStrategy>('mc-tooltip-open-time');\n\n/** @docs-private */\nexport const MC_TOOLTIP_OPEN_TIME_PROVIDER = {\n provide: MC_TOOLTIP_OPEN_TIME,\n useValue: { value: 0 }\n};\n\nexport const MIN_TIME_FOR_DELAY = 2000;\n\n\n@Component({\n selector: 'mc-tooltip-component',\n animations: [mcTooltipAnimations.tooltipState],\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [MC_TOOLTIP_OPEN_TIME_PROVIDER]\n})\nexport class McTooltipComponent extends McPopUp {\n prefix = 'mc-tooltip';\n\n constructor(\n changeDetectorRef: ChangeDetectorRef,\n @Inject(MC_TOOLTIP_OPEN_TIME) private openTime\n ) {\n super(changeDetectorRef);\n }\n\n show(delay: number) {\n if (!this.content) {\n return;\n }\n\n // tslint:disable-next-line:no-magic-numbers\n super.show(Date.now() - this.openTime.value < MIN_TIME_FOR_DELAY ? 0 : delay);\n\n this.openTime.value = Date.now();\n }\n\n updateClassMap(placement: string, customClass: string, { modifier }) {\n const classMap = {\n [`${this.prefix}_${modifier}`]: true\n };\n\n super.updateClassMap(placement, customClass, classMap);\n }\n}\n\nexport const MC_TOOLTIP_SCROLL_STRATEGY =\n new InjectionToken<() => ScrollStrategy>('mc-tooltip-scroll-strategy');\n\n/** @docs-private */\nexport function mcTooltipScrollStrategyFactory(overlay: Overlay): () => ScrollStrategy {\n return () => overlay.scrollStrategies.reposition({ scrollThrottle: 20 });\n}\n\n/** @docs-private */\nexport const MC_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: MC_TOOLTIP_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: mcTooltipScrollStrategyFactory\n};\n\n@Directive({\n selector: '[mcTooltip]',\n exportAs: 'mcTooltip',\n host: {\n '[class.mc-tooltip_open]': 'isOpen',\n\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class McTooltipTrigger extends McPopUpTrigger<McTooltipComponent> {\n @Input('mcVisible')\n get tooltipVisible(): boolean {\n return this.visible;\n }\n\n set tooltipVisible(value: boolean) {\n super.updateVisible(value);\n }\n\n @Input('mcPlacement')\n get tooltipPlacement(): PopUpPlacements {\n return this.placement;\n }\n\n set tooltipPlacement(value: PopUpPlacements) {\n super.updatePlacement(value);\n }\n\n @Input('mcPlacementPriority')\n get tooltipPlacementPriority() {\n return this.placementPriority;\n }\n\n set tooltipPlacementPriority(value) {\n super.updatePlacementPriority(value);\n }\n\n @Input('mcTooltip')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(content: string | TemplateRef<any>) {\n this._content = content;\n\n this.updateData();\n }\n\n @Input('mcTooltipDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n @Input('mcEnterDelay') enterDelay = 400;\n @Input('mcLeaveDelay') leaveDelay = 0;\n\n @Input('mcTrigger')\n get trigger(): string {\n return this._trigger;\n }\n\n set trigger(value: string) {\n if (value) {\n this._trigger = value;\n } else {\n this._trigger = `${PopUpTriggers.Hover}, ${PopUpTriggers.Focus}`;\n }\n\n this.initListeners();\n }\n\n private _trigger = `${PopUpTriggers.Hover}, ${PopUpTriggers.Focus}`;\n\n @Input('mcTooltipClass')\n get customClass(): string {\n return this._customClass;\n }\n\n set customClass(value: string) {\n if (value) {\n this._customClass = value;\n\n this.updateClassMap();\n } else {\n this._customClass = '';\n }\n }\n\n @Output('mcPlacementChange') placementChange = new EventEmitter();\n\n @Output('mcVisibleChange') visibleChange = new EventEmitter<boolean>();\n\n protected originSelector = '.mc-tooltip';\n\n protected overlayConfig: OverlayConfig = {\n panelClass: 'mc-tooltip-panel'\n };\n\n protected modifier: TooltipModifier = TooltipModifier.Default;\n\n constructor(\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_TOOLTIP_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n }\n\n updateData() {\n if (!this.instance) { return; }\n\n this.instance.content = this.content;\n this.instance.detectChanges();\n }\n\n closingActions() {\n return merge(\n this.overlayRef!.outsidePointerEvents(),\n this.overlayRef!.detachments()\n );\n }\n\n getOverlayHandleComponentType(): Type<McTooltipComponent> {\n return McTooltipComponent;\n }\n\n updateClassMap(newPlacement: string = this.placement) {\n if (!this.instance) { return; }\n\n this.instance.updateClassMap(\n POSITION_TO_CSS_MAP[newPlacement],\n this.customClass,\n { modifier: this.modifier }\n );\n this.instance.markForCheck();\n }\n}\n\n\n@Directive({\n selector: '[mcWarningTooltip]',\n exportAs: 'mcWarningTooltip',\n host: {\n '[class.mc-tooltip_open]': 'isOpen',\n\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class McWarningTooltipTrigger extends McTooltipTrigger {\n @Input('mcWarningTooltip')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(content: string | TemplateRef<any>) {\n this._content = content;\n\n this.updateData();\n }\n\n protected modifier: TooltipModifier = TooltipModifier.Warning;\n\n constructor(\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_TOOLTIP_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n }\n}\n\n@Directive({\n selector: '[mcExtendedTooltip]',\n exportAs: 'mcExtendedTooltip',\n host: {\n '[class.mc-tooltip_open]': 'isOpen',\n\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class McExtendedTooltipTrigger extends McTooltipTrigger {\n @Input('mcExtendedTooltip')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(content: string | TemplateRef<any>) {\n this._content = content;\n\n this.updateData();\n }\n\n @Input('mcTooltipHeader')\n get header(): string | TemplateRef<any> {\n return this._header;\n }\n\n set header(header: string | TemplateRef<any>) {\n this._header = header;\n\n this.updateData();\n }\n\n private _header: string | TemplateRef<any>;\n\n protected modifier: TooltipModifier = TooltipModifier.Extended;\n\n constructor(\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_TOOLTIP_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n }\n\n updateData() {\n if (!this.instance) { return; }\n\n super.updateData();\n this.instance.header = this.header;\n }\n}\n","<div class=\"mc-tooltip\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n\n <div class=\"mc-tooltip__inner\">\n <div class=\"mc-tooltip__arrow\"></div>\n\n <div class=\"mc-tooltip__header\" *ngIf=\"header\">\n <ng-container *ngIf=\"isTemplateRef(header)\" [ngTemplateOutlet]=\"$any(header)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(header)\">\n <div>{{ header }}</div>\n </ng-container>\n </div>\n <div class=\"mc-tooltip__content\">\n <ng-container *ngIf=\"isTemplateRef(content)\" [ngTemplateOutlet]=\"$any(content)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(content)\">\n <div>{{ content }}</div>\n </ng-container>\n </div>\n </div>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport {\n McTooltipComponent,\n McTooltipTrigger,\n McExtendedTooltipTrigger,\n McWarningTooltipTrigger,\n MC_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER,\n MC_TOOLTIP_OPEN_TIME_PROVIDER\n} from './tooltip.component';\n\n\n@NgModule({\n declarations: [\n McTooltipComponent,\n McTooltipTrigger,\n McExtendedTooltipTrigger,\n McWarningTooltipTrigger\n ],\n exports: [\n McTooltipComponent,\n McTooltipTrigger,\n McExtendedTooltipTrigger,\n McWarningTooltipTrigger\n ],\n imports: [CommonModule, OverlayModule],\n providers: [\n MC_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER,\n MC_TOOLTIP_OPEN_TIME_PROVIDER\n ],\n entryComponents: [McTooltipComponent]\n})\nexport class McToolTipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ptsecurity-mosaic-tooltip.mjs","sources":["../../../packages/mosaic/tooltip/tooltip.animations.ts","../../../packages/mosaic/tooltip/tooltip.component.ts","../../../packages/mosaic/tooltip/tooltip.component.html","../../../packages/mosaic/tooltip/tooltip.module.ts","../../../packages/mosaic/tooltip/ptsecurity-mosaic-tooltip.ts"],"sourcesContent":["import {\n animate,\n AnimationTriggerMetadata,\n keyframes,\n state,\n style,\n transition,\n trigger\n} from '@angular/animations';\n\n\n/**\n * Animations used by McTooltip.\n * @docs-private\n */\nexport const mcTooltipAnimations: {\n readonly tooltipState: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions a tooltip in and out. */\n tooltipState: trigger('state', [\n state('initial, void, hidden', style({ opacity: 0, transform: 'scale(0)' })),\n state('visible', style({ transform: 'scale(1)' })),\n transition('* => visible', animate('200ms cubic-bezier(0, 0, 0.2, 1)', keyframes([\n style({ opacity: 0, transform: 'scale(0)', offset: 0 }),\n style({ opacity: 0.5, transform: 'scale(0.99)', offset: 0.5 }),\n style({ opacity: 1, transform: 'scale(1)', offset: 1 })\n ]))),\n transition('* => hidden', animate('100ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 0 })))\n ])\n};\n","import { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n Overlay,\n ScrollDispatcher,\n ScrollStrategy\n} from '@angular/cdk/overlay';\nimport { OverlayConfig } from '@angular/cdk/overlay/overlay-config';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n Optional,\n Output,\n TemplateRef,\n Type,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { McPopUp, McPopUpTrigger, PopUpPlacements, PopUpTriggers, POSITION_TO_CSS_MAP } from '@ptsecurity/mosaic/core';\nimport { merge } from 'rxjs';\n\nimport { mcTooltipAnimations } from './tooltip.animations';\n\n\nexport enum TooltipModifier {\n Default = 'default',\n Warning = 'warning',\n Extended = 'extended'\n}\n\nexport const MC_TOOLTIP_OPEN_TIME = new InjectionToken<() => ScrollStrategy>('mc-tooltip-open-time');\n\n/** @docs-private */\nexport const MC_TOOLTIP_OPEN_TIME_PROVIDER = {\n provide: MC_TOOLTIP_OPEN_TIME,\n useValue: { value: 0 }\n};\n\nexport const MIN_TIME_FOR_DELAY = 2000;\n\n\n@Component({\n selector: 'mc-tooltip-component',\n animations: [mcTooltipAnimations.tooltipState],\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [MC_TOOLTIP_OPEN_TIME_PROVIDER]\n})\nexport class McTooltipComponent extends McPopUp {\n prefix = 'mc-tooltip';\n\n constructor(\n changeDetectorRef: ChangeDetectorRef,\n @Inject(MC_TOOLTIP_OPEN_TIME) private openTime\n ) {\n super(changeDetectorRef);\n }\n\n show(delay: number) {\n if (!this.content) {\n return;\n }\n\n // tslint:disable-next-line:no-magic-numbers\n super.show(Date.now() - this.openTime.value < MIN_TIME_FOR_DELAY ? 0 : delay);\n\n this.openTime.value = Date.now();\n }\n\n updateClassMap(placement: string, customClass: string, { modifier }) {\n const classMap = {\n [`${this.prefix}_${modifier}`]: true\n };\n\n super.updateClassMap(placement, customClass, classMap);\n }\n}\n\nexport const MC_TOOLTIP_SCROLL_STRATEGY =\n new InjectionToken<() => ScrollStrategy>('mc-tooltip-scroll-strategy');\n\n/** @docs-private */\nexport function mcTooltipScrollStrategyFactory(overlay: Overlay): () => ScrollStrategy {\n return () => overlay.scrollStrategies.reposition({ scrollThrottle: 20 });\n}\n\n/** @docs-private */\nexport const MC_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: MC_TOOLTIP_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: mcTooltipScrollStrategyFactory\n};\n\n@Directive({\n selector: '[mcTooltip]',\n exportAs: 'mcTooltip',\n host: {\n '[class.mc-tooltip_open]': 'isOpen',\n\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class McTooltipTrigger extends McPopUpTrigger<McTooltipComponent> {\n @Input('mcVisible')\n get tooltipVisible(): boolean {\n return this.visible;\n }\n\n set tooltipVisible(value: boolean) {\n super.updateVisible(value);\n }\n\n @Input('mcPlacement')\n get tooltipPlacement(): PopUpPlacements {\n return this.placement;\n }\n\n set tooltipPlacement(value: PopUpPlacements) {\n super.updatePlacement(value);\n }\n\n @Input('mcPlacementPriority')\n get tooltipPlacementPriority() {\n return this.placementPriority;\n }\n\n set tooltipPlacementPriority(value) {\n super.updatePlacementPriority(value);\n }\n\n @Input('mcTooltip')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(content: string | TemplateRef<any>) {\n this._content = content;\n\n this.updateData();\n }\n\n @Input('mcTooltipDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n @Input('mcEnterDelay') enterDelay = 400;\n @Input('mcLeaveDelay') leaveDelay = 0;\n\n @Input('mcTrigger')\n get trigger(): string {\n return this._trigger;\n }\n\n set trigger(value: string) {\n if (value) {\n this._trigger = value;\n } else {\n this._trigger = `${PopUpTriggers.Hover}, ${PopUpTriggers.Focus}`;\n }\n\n this.initListeners();\n }\n\n // tslint:disable-next-line:naming-convention\n protected _trigger = `${PopUpTriggers.Hover}, ${PopUpTriggers.Focus}`;\n\n @Input('mcTooltipClass')\n get customClass(): string {\n return this._customClass;\n }\n\n set customClass(value: string) {\n if (value) {\n this._customClass = value;\n\n this.updateClassMap();\n } else {\n this._customClass = '';\n }\n }\n\n @Output('mcPlacementChange') placementChange = new EventEmitter();\n\n @Output('mcVisibleChange') visibleChange = new EventEmitter<boolean>();\n\n protected originSelector = '.mc-tooltip';\n\n protected overlayConfig: OverlayConfig = {\n panelClass: 'mc-tooltip-panel'\n };\n\n protected modifier: TooltipModifier = TooltipModifier.Default;\n\n constructor(\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_TOOLTIP_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n }\n\n updateData() {\n if (!this.instance) { return; }\n\n this.instance.content = this.content;\n this.instance.detectChanges();\n }\n\n closingActions() {\n return merge(\n this.overlayRef!.outsidePointerEvents(),\n this.overlayRef!.detachments()\n );\n }\n\n getOverlayHandleComponentType(): Type<McTooltipComponent> {\n return McTooltipComponent;\n }\n\n updateClassMap(newPlacement: string = this.placement) {\n if (!this.instance) { return; }\n\n this.instance.updateClassMap(\n POSITION_TO_CSS_MAP[newPlacement],\n this.customClass,\n { modifier: this.modifier }\n );\n this.instance.markForCheck();\n }\n}\n\n\n@Directive({\n selector: '[mcWarningTooltip]',\n exportAs: 'mcWarningTooltip',\n host: {\n '[class.mc-tooltip_open]': 'isOpen',\n\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class McWarningTooltipTrigger extends McTooltipTrigger {\n @Input('mcWarningTooltip')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(content: string | TemplateRef<any>) {\n this._content = content;\n\n this.updateData();\n }\n\n protected modifier: TooltipModifier = TooltipModifier.Warning;\n\n constructor(\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_TOOLTIP_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n }\n}\n\n@Directive({\n selector: '[mcExtendedTooltip]',\n exportAs: 'mcExtendedTooltip',\n host: {\n '[class.mc-tooltip_open]': 'isOpen',\n\n '(keydown)': 'handleKeydown($event)',\n '(touchend)': 'handleTouchend()'\n }\n})\nexport class McExtendedTooltipTrigger extends McTooltipTrigger {\n @Input('mcExtendedTooltip')\n get content(): string | TemplateRef<any> {\n return this._content;\n }\n\n set content(content: string | TemplateRef<any>) {\n this._content = content;\n\n this.updateData();\n }\n\n @Input('mcTooltipHeader')\n get header(): string | TemplateRef<any> {\n return this._header;\n }\n\n set header(header: string | TemplateRef<any>) {\n this._header = header;\n\n this.updateData();\n }\n\n private _header: string | TemplateRef<any>;\n\n protected modifier: TooltipModifier = TooltipModifier.Extended;\n\n constructor(\n overlay: Overlay,\n elementRef: ElementRef,\n ngZone: NgZone,\n scrollDispatcher: ScrollDispatcher,\n hostView: ViewContainerRef,\n @Inject(MC_TOOLTIP_SCROLL_STRATEGY) scrollStrategy,\n @Optional() direction: Directionality\n ) {\n super(overlay, elementRef, ngZone, scrollDispatcher, hostView, scrollStrategy, direction);\n }\n\n updateData() {\n if (!this.instance) { return; }\n\n super.updateData();\n this.instance.header = this.header;\n }\n}\n","<div class=\"mc-tooltip\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n\n <div class=\"mc-tooltip__inner\">\n <div class=\"mc-tooltip__arrow\"></div>\n\n <div class=\"mc-tooltip__header\" *ngIf=\"header\">\n <ng-container *ngIf=\"isTemplateRef(header)\" [ngTemplateOutlet]=\"$any(header)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(header)\">\n <div>{{ header }}</div>\n </ng-container>\n </div>\n <div class=\"mc-tooltip__content\">\n <ng-container *ngIf=\"isTemplateRef(content)\" [ngTemplateOutlet]=\"$any(content)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(content)\">\n <div>{{ content }}</div>\n </ng-container>\n </div>\n </div>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport {\n McTooltipComponent,\n McTooltipTrigger,\n McExtendedTooltipTrigger,\n McWarningTooltipTrigger,\n MC_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER,\n MC_TOOLTIP_OPEN_TIME_PROVIDER\n} from './tooltip.component';\n\n\n@NgModule({\n declarations: [\n McTooltipComponent,\n McTooltipTrigger,\n McExtendedTooltipTrigger,\n McWarningTooltipTrigger\n ],\n exports: [\n McTooltipComponent,\n McTooltipTrigger,\n McExtendedTooltipTrigger,\n McWarningTooltipTrigger\n ],\n imports: [CommonModule, OverlayModule],\n providers: [\n MC_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER,\n MC_TOOLTIP_OPEN_TIME_PROVIDER\n ],\n entryComponents: [McTooltipComponent]\n})\nexport class McToolTipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -285,6 +285,7 @@ class McTreeSelect extends McTreeSelectMixinBase {
|
|
285
285
|
setMosaicValidation(this, this.changeDetectorRef);
|
286
286
|
}
|
287
287
|
this.tree.resetFocusedItemOnBlur = false;
|
288
|
+
this.tree.optionShouldHoldFocusOnBlur = true;
|
288
289
|
this.selectionModel = this.tree.selectionModel = new SelectionModel(this.multiple);
|
289
290
|
this.selectionModel.changed
|
290
291
|
.subscribe(() => {
|
@@ -323,14 +324,14 @@ class McTreeSelect extends McTreeSelectMixinBase {
|
|
323
324
|
this.search.focus();
|
324
325
|
}
|
325
326
|
});
|
326
|
-
this.
|
327
|
-
|
328
|
-
|
329
|
-
|
327
|
+
if (!this.multiple) {
|
328
|
+
this.selectionModel.changed
|
329
|
+
.pipe(takeUntil(this.destroy), filter(({ added }) => !!added.length))
|
330
|
+
.subscribe(({ added }) => {
|
330
331
|
this.tree.keyManager.setFocusOrigin('program');
|
331
|
-
this.tree.keyManager.setActiveItem(this.options.find((
|
332
|
-
}
|
333
|
-
}
|
332
|
+
this.tree.keyManager.setActiveItem(this.options.find(({ data }) => data === added[0]));
|
333
|
+
});
|
334
|
+
}
|
334
335
|
this.updateIsEmptySearchResult();
|
335
336
|
}
|
336
337
|
ngAfterViewInit() {
|
@@ -650,7 +651,7 @@ class McTreeSelect extends McTreeSelectMixinBase {
|
|
650
651
|
else if ((keyCode === ENTER || keyCode === SPACE) && this.tree.keyManager.activeItem) {
|
651
652
|
event.preventDefault();
|
652
653
|
if (!this.autoSelect) {
|
653
|
-
this.
|
654
|
+
this.originalOnKeyDown.call(this.tree, event);
|
654
655
|
}
|
655
656
|
else {
|
656
657
|
this.close();
|