toast-message-display 18.0.4 → 18.0.5
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/README.md +902 -59
- package/fesm2022/toast-message-display.mjs +16 -15
- package/fesm2022/toast-message-display.mjs.map +1 -1
- package/package.json +3 -5
- package/toast-message-display-18.0.5.tgz +0 -0
- package/types/toast-message-display.d.ts +227 -0
- package/esm2022/lib/models/horizontal-alignment.enum.mjs +0 -7
- package/esm2022/lib/models/index.mjs +0 -7
- package/esm2022/lib/models/toast-colors.enum.mjs +0 -10
- package/esm2022/lib/models/toast-display-model.mjs +0 -24
- package/esm2022/lib/models/toast-message.model.mjs +0 -11
- package/esm2022/lib/models/toast-options.model.mjs +0 -17
- package/esm2022/lib/models/vertical-alignment.enum.mjs +0 -6
- package/esm2022/lib/pipes/safe-html.pipe.mjs +0 -20
- package/esm2022/lib/services/toast-message.service.mjs +0 -55
- package/esm2022/lib/toast-demo/toast-demo.component.mjs +0 -121
- package/esm2022/lib/toast-message-inline/toast-message-inline.component.mjs +0 -65
- package/esm2022/lib/toast-message.module.mjs +0 -67
- package/esm2022/lib/toast-ui/toast-ui.component.mjs +0 -69
- package/esm2022/lib/utils/color-conversion.service.mjs +0 -33
- package/esm2022/lib/utils/index.mjs +0 -3
- package/esm2022/lib/utils/text-color.service.mjs +0 -93
- package/esm2022/public-api.mjs +0 -10
- package/esm2022/toast-message-display.mjs +0 -5
- package/index.d.ts +0 -5
- package/lib/models/horizontal-alignment.enum.d.ts +0 -5
- package/lib/models/index.d.ts +0 -6
- package/lib/models/toast-colors.enum.d.ts +0 -8
- package/lib/models/toast-display-model.d.ts +0 -19
- package/lib/models/toast-message.model.d.ts +0 -12
- package/lib/models/toast-options.model.d.ts +0 -18
- package/lib/models/vertical-alignment.enum.d.ts +0 -4
- package/lib/pipes/safe-html.pipe.d.ts +0 -8
- package/lib/services/toast-message.service.d.ts +0 -15
- package/lib/toast-demo/toast-demo.component.d.ts +0 -37
- package/lib/toast-message-inline/toast-message-inline.component.d.ts +0 -22
- package/lib/toast-message.module.d.ts +0 -19
- package/lib/toast-ui/toast-ui.component.d.ts +0 -19
- package/lib/utils/color-conversion.service.d.ts +0 -7
- package/lib/utils/index.d.ts +0 -2
- package/lib/utils/text-color.service.d.ts +0 -42
- package/public-api.d.ts +0 -6
- package/toast-message-display-18.0.4.tgz +0 -0
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, inject, Input, Output } from '@angular/core';
|
|
2
|
-
import { TextColorService } from '../utils';
|
|
3
|
-
import { ToastDisplay, VerticalAlignment } from '../models';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
import * as i2 from "../toast-ui/toast-ui.component";
|
|
7
|
-
export class ToastMessageInlineComponent {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.close = new EventEmitter();
|
|
10
|
-
this.textColorService = inject(TextColorService);
|
|
11
|
-
this.toastList = [];
|
|
12
|
-
this.dismissToasts = [];
|
|
13
|
-
this.duration = -1;
|
|
14
|
-
this.position = VerticalAlignment.TOP;
|
|
15
|
-
}
|
|
16
|
-
set toast(value) {
|
|
17
|
-
if (!value)
|
|
18
|
-
return;
|
|
19
|
-
const toast = ToastDisplay.adapt(value);
|
|
20
|
-
if (!toast.action) {
|
|
21
|
-
this.dismissToasts.push(toast);
|
|
22
|
-
this.expireTime(toast);
|
|
23
|
-
}
|
|
24
|
-
this.toastList.push(toast);
|
|
25
|
-
}
|
|
26
|
-
get option() {
|
|
27
|
-
return (this.toastList.length > 0) ? this.toastList[0] : null;
|
|
28
|
-
}
|
|
29
|
-
get color() {
|
|
30
|
-
return (this.option) ? this.option.color : '';
|
|
31
|
-
}
|
|
32
|
-
get textColor() {
|
|
33
|
-
return (this.option) ? this.textColorService.textColorForBgColor(this.option.color, '#FFFFFF', '#000000') : '';
|
|
34
|
-
}
|
|
35
|
-
ngOnInit() {
|
|
36
|
-
document.documentElement.style.setProperty('--snackbar-color', this.color);
|
|
37
|
-
}
|
|
38
|
-
onCloseToast(toast) {
|
|
39
|
-
this.toastList = this.toastList.filter(item => item.id !== toast?.id);
|
|
40
|
-
this.close.emit(toast);
|
|
41
|
-
}
|
|
42
|
-
expireTime(toast) {
|
|
43
|
-
const boundRemove = this.removeToast.bind(this, toast);
|
|
44
|
-
setTimeout(boundRemove, 3000);
|
|
45
|
-
}
|
|
46
|
-
removeToast(toast) {
|
|
47
|
-
this.dismissToasts = this.dismissToasts.filter(t => t.id !== toast.id);
|
|
48
|
-
this.toastList = this.toastList.filter(t => t.id !== toast.id);
|
|
49
|
-
}
|
|
50
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToastMessageInlineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
51
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ToastMessageInlineComponent, selector: "app-toast-message-display-inline", inputs: { toast: "toast", duration: "duration", position: "position" }, outputs: { close: "close" }, ngImport: i0, template: "<div style=\"display: flex; gap: .5rem; flex-direction: column;\">\n <ng-container *ngFor=\"let toast of toastList\">\n <div [style.background-color]=\"toast.color\" class=\"inline\">\n <app-toast-ui\n [options]=\"toast\"\n style=\"flex: 1;\"\n (close)=\"onCloseToast(toast)\"\n ></app-toast-ui>\n </div>\n </ng-container>\n</div>\n", styles: [".inline{padding:.75rem;border-radius:.25rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.ToastUIComponent, selector: "app-toast-ui", inputs: ["options"], outputs: ["close"] }] }); }
|
|
52
|
-
}
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToastMessageInlineComponent, decorators: [{
|
|
54
|
-
type: Component,
|
|
55
|
-
args: [{ selector: 'app-toast-message-display-inline', template: "<div style=\"display: flex; gap: .5rem; flex-direction: column;\">\n <ng-container *ngFor=\"let toast of toastList\">\n <div [style.background-color]=\"toast.color\" class=\"inline\">\n <app-toast-ui\n [options]=\"toast\"\n style=\"flex: 1;\"\n (close)=\"onCloseToast(toast)\"\n ></app-toast-ui>\n </div>\n </ng-container>\n</div>\n", styles: [".inline{padding:.75rem;border-radius:.25rem}\n"] }]
|
|
56
|
-
}], propDecorators: { close: [{
|
|
57
|
-
type: Output
|
|
58
|
-
}], toast: [{
|
|
59
|
-
type: Input
|
|
60
|
-
}], duration: [{
|
|
61
|
-
type: Input
|
|
62
|
-
}], position: [{
|
|
63
|
-
type: Input
|
|
64
|
-
}] } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtbWVzc2FnZS1pbmxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9hc3QtbWVzc2FnZS1kaXNwbGF5L3NyYy9saWIvdG9hc3QtbWVzc2FnZS1pbmxpbmUvdG9hc3QtbWVzc2FnZS1pbmxpbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9hc3QtbWVzc2FnZS1kaXNwbGF5L3NyYy9saWIvdG9hc3QtbWVzc2FnZS1pbmxpbmUvdG9hc3QtbWVzc2FnZS1pbmxpbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7QUFPNUQsTUFBTSxPQUFPLDJCQUEyQjtJQUx4QztRQU9ZLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUVuRCxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUUzQyxjQUFTLEdBQW1CLEVBQUUsQ0FBQTtRQUU5QixrQkFBYSxHQUFVLEVBQUUsQ0FBQTtRQW9CaEIsYUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ2IsYUFBUSxHQUFzQixpQkFBaUIsQ0FBQyxHQUFHLENBQUE7S0E2QjdEO0lBaERDLElBQWEsS0FBSyxDQUFDLEtBQVU7UUFFM0IsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFNO1FBQ2xCLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7UUFFdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3hCLENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUU1QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7SUFDL0QsQ0FBQztJQUtELElBQUksS0FBSztRQUNQLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDL0MsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUNoSCxDQUFDO0lBRUQsUUFBUTtRQUNOLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDNUUsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFvQjtRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDckUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDeEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUN0RCxVQUFVLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQy9CLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVTtRQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDdEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ2hFLENBQUM7K0dBeERVLDJCQUEyQjttR0FBM0IsMkJBQTJCLDZLQ1R4QyxzWEFXQTs7NEZERmEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLGtDQUFrQzs4QkFNbEMsS0FBSztzQkFBZCxNQUFNO2dCQVFNLEtBQUs7c0JBQWpCLEtBQUs7Z0JBa0JHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGV4dENvbG9yU2VydmljZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IFRvYXN0RGlzcGxheSwgVmVydGljYWxBbGlnbm1lbnQgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdG9hc3QtbWVzc2FnZS1kaXNwbGF5LWlubGluZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2FzdC1tZXNzYWdlLWlubGluZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RvYXN0LW1lc3NhZ2UtaW5saW5lLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVG9hc3RNZXNzYWdlSW5saW5lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRvYXN0RGlzcGxheT4oKTtcblxuICB0ZXh0Q29sb3JTZXJ2aWNlID0gaW5qZWN0KFRleHRDb2xvclNlcnZpY2UpXG5cbiAgdG9hc3RMaXN0OiBUb2FzdERpc3BsYXlbXSA9IFtdXG5cbiAgZGlzbWlzc1RvYXN0czogYW55W10gPSBbXVxuXG4gIEBJbnB1dCgpIHNldCB0b2FzdCh2YWx1ZTogYW55KSB7XG5cbiAgICBpZiAoIXZhbHVlKSByZXR1cm5cbiAgICBjb25zdCB0b2FzdCA9IFRvYXN0RGlzcGxheS5hZGFwdCh2YWx1ZSlcblxuICAgIGlmICghdG9hc3QuYWN0aW9uKSB7XG4gICAgICB0aGlzLmRpc21pc3NUb2FzdHMucHVzaCh0b2FzdClcbiAgICAgIHRoaXMuZXhwaXJlVGltZSh0b2FzdClcbiAgICB9XG5cbiAgICB0aGlzLnRvYXN0TGlzdC5wdXNoKHRvYXN0KVxuXG4gIH1cblxuICBnZXQgb3B0aW9uKCkge1xuICAgIHJldHVybiAodGhpcy50b2FzdExpc3QubGVuZ3RoID4gMCkgPyB0aGlzLnRvYXN0TGlzdFswXSA6IG51bGxcbiAgfVxuXG4gIEBJbnB1dCgpIGR1cmF0aW9uID0gLTFcbiAgQElucHV0KCkgcG9zaXRpb246IFZlcnRpY2FsQWxpZ25tZW50ID0gVmVydGljYWxBbGlnbm1lbnQuVE9QXG5cbiAgZ2V0IGNvbG9yKCkge1xuICAgIHJldHVybiAodGhpcy5vcHRpb24pID8gdGhpcy5vcHRpb24uY29sb3IgOiAnJ1xuICB9XG5cbiAgZ2V0IHRleHRDb2xvcigpIHtcbiAgICByZXR1cm4gKHRoaXMub3B0aW9uKSA/IHRoaXMudGV4dENvbG9yU2VydmljZS50ZXh0Q29sb3JGb3JCZ0NvbG9yKHRoaXMub3B0aW9uLmNvbG9yLCAnI0ZGRkZGRicsICcjMDAwMDAwJykgOiAnJ1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLXNuYWNrYmFyLWNvbG9yJywgdGhpcy5jb2xvcilcbiAgfVxuXG4gIG9uQ2xvc2VUb2FzdCh0b2FzdD86IFRvYXN0RGlzcGxheSkge1xuICAgIHRoaXMudG9hc3RMaXN0ID0gdGhpcy50b2FzdExpc3QuZmlsdGVyKGl0ZW0gPT4gaXRlbS5pZCAhPT0gdG9hc3Q/LmlkKVxuICAgIHRoaXMuY2xvc2UuZW1pdCh0b2FzdClcbiAgfVxuXG4gIGV4cGlyZVRpbWUodG9hc3Q6IGFueSkge1xuICAgIGNvbnN0IGJvdW5kUmVtb3ZlID0gdGhpcy5yZW1vdmVUb2FzdC5iaW5kKHRoaXMsIHRvYXN0KVxuICAgIHNldFRpbWVvdXQoYm91bmRSZW1vdmUsIDMwMDApXG4gIH1cblxuICByZW1vdmVUb2FzdCh0b2FzdDogYW55KSB7XG4gICAgdGhpcy5kaXNtaXNzVG9hc3RzID0gdGhpcy5kaXNtaXNzVG9hc3RzLmZpbHRlcih0ID0+IHQuaWQgIT09IHRvYXN0LmlkKVxuICAgIHRoaXMudG9hc3RMaXN0ID0gdGhpcy50b2FzdExpc3QuZmlsdGVyKHQgPT4gdC5pZCAhPT0gdG9hc3QuaWQpXG4gIH1cblxufVxuIiwiPGRpdiAgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IC41cmVtOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1wiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0b2FzdCBvZiB0b2FzdExpc3RcIj5cbiAgICA8ZGl2IFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cInRvYXN0LmNvbG9yXCIgY2xhc3M9XCJpbmxpbmVcIj5cbiAgICAgIDxhcHAtdG9hc3QtdWlcbiAgICAgICAgW29wdGlvbnNdPVwidG9hc3RcIlxuICAgICAgICBzdHlsZT1cImZsZXg6IDE7XCJcbiAgICAgICAgKGNsb3NlKT1cIm9uQ2xvc2VUb2FzdCh0b2FzdClcIlxuICAgICAgPjwvYXBwLXRvYXN0LXVpPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
4
|
-
import { MatSnackBarModule } from '@angular/material/snack-bar';
|
|
5
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
6
|
-
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
7
|
-
import { MatMenuModule } from '@angular/material/menu';
|
|
8
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
9
|
-
import { MatRadioModule } from '@angular/material/radio';
|
|
10
|
-
import { MatDividerModule } from '@angular/material/divider';
|
|
11
|
-
import { ToastUIComponent } from './toast-ui/toast-ui.component';
|
|
12
|
-
import { ToastDemoComponent } from './toast-demo/toast-demo.component';
|
|
13
|
-
import { SafeHtmlPipe } from './pipes/safe-html.pipe';
|
|
14
|
-
import { ToastMessageInlineComponent } from '../public-api';
|
|
15
|
-
import * as i0 from "@angular/core";
|
|
16
|
-
export class ToastMessageDisplayModule {
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToastMessageDisplayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
18
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ToastMessageDisplayModule, declarations: [SafeHtmlPipe,
|
|
19
|
-
ToastUIComponent,
|
|
20
|
-
ToastDemoComponent,
|
|
21
|
-
ToastMessageInlineComponent], imports: [CommonModule,
|
|
22
|
-
ReactiveFormsModule,
|
|
23
|
-
MatIconModule,
|
|
24
|
-
MatSnackBarModule,
|
|
25
|
-
MatButtonModule,
|
|
26
|
-
MatToolbarModule,
|
|
27
|
-
MatMenuModule,
|
|
28
|
-
MatRadioModule,
|
|
29
|
-
MatDividerModule], exports: [ToastUIComponent,
|
|
30
|
-
ToastDemoComponent] }); }
|
|
31
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToastMessageDisplayModule, imports: [CommonModule,
|
|
32
|
-
ReactiveFormsModule,
|
|
33
|
-
MatIconModule,
|
|
34
|
-
MatSnackBarModule,
|
|
35
|
-
MatButtonModule,
|
|
36
|
-
MatToolbarModule,
|
|
37
|
-
MatMenuModule,
|
|
38
|
-
MatRadioModule,
|
|
39
|
-
MatDividerModule] }); }
|
|
40
|
-
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToastMessageDisplayModule, decorators: [{
|
|
42
|
-
type: NgModule,
|
|
43
|
-
args: [{
|
|
44
|
-
imports: [
|
|
45
|
-
CommonModule,
|
|
46
|
-
ReactiveFormsModule,
|
|
47
|
-
MatIconModule,
|
|
48
|
-
MatSnackBarModule,
|
|
49
|
-
MatButtonModule,
|
|
50
|
-
MatToolbarModule,
|
|
51
|
-
MatMenuModule,
|
|
52
|
-
MatRadioModule,
|
|
53
|
-
MatDividerModule,
|
|
54
|
-
],
|
|
55
|
-
declarations: [
|
|
56
|
-
SafeHtmlPipe,
|
|
57
|
-
ToastUIComponent,
|
|
58
|
-
ToastDemoComponent,
|
|
59
|
-
ToastMessageInlineComponent,
|
|
60
|
-
],
|
|
61
|
-
exports: [
|
|
62
|
-
ToastUIComponent,
|
|
63
|
-
ToastDemoComponent,
|
|
64
|
-
],
|
|
65
|
-
}]
|
|
66
|
-
}] });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtbWVzc2FnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90b2FzdC1tZXNzYWdlLWRpc3BsYXkvc3JjL2xpYi90b2FzdC1tZXNzYWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUEwQjVELE1BQU0sT0FBTyx5QkFBeUI7K0dBQXpCLHlCQUF5QjtnSEFBekIseUJBQXlCLGlCQVhsQyxZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLGtCQUFrQjtZQUNsQiwyQkFBMkIsYUFkM0IsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGNBQWM7WUFDZCxnQkFBZ0IsYUFTaEIsZ0JBQWdCO1lBQ2hCLGtCQUFrQjtnSEFJVCx5QkFBeUIsWUF0QmxDLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixjQUFjO1lBQ2QsZ0JBQWdCOzs0RkFjUCx5QkFBeUI7a0JBeEJyQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsZ0JBQWdCO3FCQUNqQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsMkJBQTJCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZ0JBQWdCO3dCQUNoQixrQkFBa0I7cUJBQ25CO2lCQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRUb29sYmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbGJhcic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5cbmltcG9ydCB7IFRvYXN0VUlDb21wb25lbnQgfSBmcm9tICcuL3RvYXN0LXVpL3RvYXN0LXVpLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb2FzdERlbW9Db21wb25lbnQgfSBmcm9tICcuL3RvYXN0LWRlbW8vdG9hc3QtZGVtby5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBTYWZlSHRtbFBpcGUgfSBmcm9tICcuL3BpcGVzL3NhZmUtaHRtbC5waXBlJztcbmltcG9ydCB7IFRvYXN0TWVzc2FnZUlubGluZUNvbXBvbmVudCB9IGZyb20gJy4uL3B1YmxpYy1hcGknO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRTbmFja0Jhck1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0VG9vbGJhck1vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIE1hdFJhZGlvTW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNhZmVIdG1sUGlwZSxcbiAgICBUb2FzdFVJQ29tcG9uZW50LFxuICAgIFRvYXN0RGVtb0NvbXBvbmVudCxcbiAgICBUb2FzdE1lc3NhZ2VJbmxpbmVDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBUb2FzdFVJQ29tcG9uZW50LFxuICAgIFRvYXN0RGVtb0NvbXBvbmVudCxcbiAgXSxcblxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdE1lc3NhZ2VEaXNwbGF5TW9kdWxlIHsgfVxuIl19
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Inject, inject, Input, Output, VERSION, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { MAT_SNACK_BAR_DATA, MatSnackBar } from '@angular/material/snack-bar';
|
|
3
|
-
import { ToastDisplay } from '../models/toast-display-model';
|
|
4
|
-
import { TextColorService } from '../utils';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
import * as i2 from "@angular/material/icon";
|
|
8
|
-
import * as i3 from "@angular/material/button";
|
|
9
|
-
import * as i4 from "../pipes/safe-html.pipe";
|
|
10
|
-
import * as i5 from "../models/toast-display-model";
|
|
11
|
-
export class ToastUIComponent {
|
|
12
|
-
constructor(data) {
|
|
13
|
-
this.data = data;
|
|
14
|
-
this.ngVersion = parseInt(VERSION.full.split('.')[0], 10);
|
|
15
|
-
this.close = new EventEmitter();
|
|
16
|
-
this.textColorService = inject(TextColorService);
|
|
17
|
-
this.snackBar = inject(MatSnackBar);
|
|
18
|
-
this.options = ToastDisplay.adapt();
|
|
19
|
-
this.options = ToastDisplay.adapt(data);
|
|
20
|
-
}
|
|
21
|
-
ngOnInit() {
|
|
22
|
-
if (this.ngVersion >= 15) {
|
|
23
|
-
const hostElement = document.querySelector('.mat-mdc-snack-bar-container');
|
|
24
|
-
if (hostElement) {
|
|
25
|
-
hostElement.setAttribute('style', `
|
|
26
|
-
--toast-bg-color: ${this.color};
|
|
27
|
-
--toast-text-color: ${this.textColor};
|
|
28
|
-
`);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
document.documentElement.style.setProperty('--toast-bg-color', this.color);
|
|
33
|
-
document.documentElement.style.setProperty('--toast-text-color', this.textColor);
|
|
34
|
-
const hostElement = document.querySelector('.mat-snack-bar-container');
|
|
35
|
-
if (hostElement) {
|
|
36
|
-
hostElement.style.backgroundColor = this.color;
|
|
37
|
-
hostElement.style.color = this.textColor;
|
|
38
|
-
const actionButton = hostElement.querySelector('.mat-button, .mat-snack-bar-action');
|
|
39
|
-
if (actionButton) {
|
|
40
|
-
actionButton.style.color = this.textColor;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
get color() {
|
|
46
|
-
return this.options.color || '#2196f3';
|
|
47
|
-
}
|
|
48
|
-
get textColor() {
|
|
49
|
-
return this.textColorService.textColorForBgColor(this.color, '#FFFFFF', '#000000');
|
|
50
|
-
}
|
|
51
|
-
onCloseToast(options) {
|
|
52
|
-
this.snackBar.dismiss();
|
|
53
|
-
this.close.emit(options);
|
|
54
|
-
}
|
|
55
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToastUIComponent, deps: [{ token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
56
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ToastUIComponent, selector: "app-toast-ui", inputs: { options: "options" }, outputs: { close: "close" }, ngImport: i0, template: "<div\n class=\"toast-grid-container\"\n [class.has-icon]=\"options.icon\"\n [class.has-action]=\"options.action\"\n [style.background-color]=\"(options) ? options.color : ''\"\n>\n <mat-icon\n *ngIf=\"options.icon\"\n class=\"toast-icon\"\n [style.color]=\"textColor\"\n >\n {{ options.icon }}\n </mat-icon>\n\n <div\n class=\"toast-message\"\n [style.color]=\"textColor\"\n [innerHTML]=\"options.message | safeHtml\"\n >\n </div>\n\n <button\n *ngIf=\"options.action\"\n class=\"toast-action-button\"\n mat-button\n (click)=\"onCloseToast(options)\"\n [style.color]=\"textColor\"\n >\n <ng-container *ngIf=\"options.action !== '-'; else CLOSE\">\n {{ options.action }}\n </ng-container>\n <ng-template #CLOSE>\n <mat-icon>close</mat-icon>\n </ng-template>\n\n </button>\n</div>\n", styles: [".mat-mdc-snack-bar-container .mdc-snackbar__surface{max-width:100%!important;width:100%}.cdk-overlay-pane{width:100%}.cdk-overlay-container{position:fixed;top:0;left:0;width:100%;z-index:1000}.toast-grid-container{display:grid;grid-template-columns:1fr auto}.toast-grid-container.has-icon{grid-template-columns:minmax(0,44px) 1fr auto}.toast-grid-container>*{display:inline-flex;overflow:hidden;align-items:center}.toast-icon{margin-top:.25rem;grid-column:1;display:flex;align-items:center;justify-content:center;max-width:44px;overflow:hidden}.toast-message{word-wrap:break-word;overflow-wrap:break-word;white-space:normal;flex-grow:1}.toast-action-button{justify-self:end}\n", ".mat-mdc-snack-bar-container{--mdc-snackbar-container-color: var(--toast-bg-color, #fff);--mat-mdc-snack-bar-button-color: var(--toast-text-color, #fff);--mdc-snackbar-supporting-text-color: var(--toast-text-color, #000)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: i4.SafeHtmlPipe, name: "safeHtml" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
57
|
-
}
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToastUIComponent, decorators: [{
|
|
59
|
-
type: Component,
|
|
60
|
-
args: [{ selector: 'app-toast-ui', encapsulation: ViewEncapsulation.None, template: "<div\n class=\"toast-grid-container\"\n [class.has-icon]=\"options.icon\"\n [class.has-action]=\"options.action\"\n [style.background-color]=\"(options) ? options.color : ''\"\n>\n <mat-icon\n *ngIf=\"options.icon\"\n class=\"toast-icon\"\n [style.color]=\"textColor\"\n >\n {{ options.icon }}\n </mat-icon>\n\n <div\n class=\"toast-message\"\n [style.color]=\"textColor\"\n [innerHTML]=\"options.message | safeHtml\"\n >\n </div>\n\n <button\n *ngIf=\"options.action\"\n class=\"toast-action-button\"\n mat-button\n (click)=\"onCloseToast(options)\"\n [style.color]=\"textColor\"\n >\n <ng-container *ngIf=\"options.action !== '-'; else CLOSE\">\n {{ options.action }}\n </ng-container>\n <ng-template #CLOSE>\n <mat-icon>close</mat-icon>\n </ng-template>\n\n </button>\n</div>\n", styles: [".mat-mdc-snack-bar-container .mdc-snackbar__surface{max-width:100%!important;width:100%}.cdk-overlay-pane{width:100%}.cdk-overlay-container{position:fixed;top:0;left:0;width:100%;z-index:1000}.toast-grid-container{display:grid;grid-template-columns:1fr auto}.toast-grid-container.has-icon{grid-template-columns:minmax(0,44px) 1fr auto}.toast-grid-container>*{display:inline-flex;overflow:hidden;align-items:center}.toast-icon{margin-top:.25rem;grid-column:1;display:flex;align-items:center;justify-content:center;max-width:44px;overflow:hidden}.toast-message{word-wrap:break-word;overflow-wrap:break-word;white-space:normal;flex-grow:1}.toast-action-button{justify-self:end}\n", ".mat-mdc-snack-bar-container{--mdc-snackbar-container-color: var(--toast-bg-color, #fff);--mat-mdc-snack-bar-button-color: var(--toast-text-color, #fff);--mdc-snackbar-supporting-text-color: var(--toast-text-color, #000)}\n"] }]
|
|
61
|
-
}], ctorParameters: () => [{ type: i5.ToastDisplay, decorators: [{
|
|
62
|
-
type: Inject,
|
|
63
|
-
args: [MAT_SNACK_BAR_DATA]
|
|
64
|
-
}] }], propDecorators: { close: [{
|
|
65
|
-
type: Output
|
|
66
|
-
}], options: [{
|
|
67
|
-
type: Input
|
|
68
|
-
}] } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtdWkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9hc3QtbWVzc2FnZS1kaXNwbGF5L3NyYy9saWIvdG9hc3QtdWkvdG9hc3QtdWkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9hc3QtbWVzc2FnZS1kaXNwbGF5L3NyYy9saWIvdG9hc3QtdWkvdG9hc3QtdWkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7OztBQWU1QyxNQUFNLE9BQU8sZ0JBQWdCO0lBVzNCLFlBRVMsSUFBa0I7UUFBbEIsU0FBSSxHQUFKLElBQUksQ0FBYztRQVgzQixjQUFTLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRTFDLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUVuRCxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNwQyxhQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTlCLFlBQU8sR0FBRyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFNdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCxRQUFRO1FBRU4sSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBRXpCLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsOEJBQThCLENBQUMsQ0FBQTtZQUUxRSxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNoQixXQUFXLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRTs4QkFDWixJQUFJLENBQUMsS0FBSztnQ0FDUixJQUFJLENBQUMsU0FBUztTQUNyQyxDQUFDLENBQUE7WUFDSixDQUFDO1FBRUgsQ0FBQzthQUFNLENBQUM7WUFFTixRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNFLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFakYsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQywwQkFBMEIsQ0FBZ0IsQ0FBQztZQUV0RixJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNoQixXQUFXLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUMvQyxXQUFXLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUV6QyxNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLG9DQUFvQyxDQUFnQixDQUFDO2dCQUNwRyxJQUFJLFlBQVksRUFBRSxDQUFDO29CQUNqQixZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUM1QyxDQUFDO1lBQ0gsQ0FBQztRQUVILENBQUM7SUFFSCxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUM5QyxJQUFJLENBQUMsS0FBSyxFQUNWLFNBQVMsRUFDVCxTQUFTLENBQ1YsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBc0I7UUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMxQixDQUFDOytHQW5FVSxnQkFBZ0Isa0JBWWpCLGtCQUFrQjttR0FaakIsZ0JBQWdCLGlIQ25CN0IseTBCQXFDQTs7NEZEbEJhLGdCQUFnQjtrQkFiNUIsU0FBUzsrQkFDRSxjQUFjLGlCQUdULGlCQUFpQixDQUFDLElBQUk7OzBCQXFCbEMsTUFBTTsyQkFBQyxrQkFBa0I7eUNBUmxCLEtBQUs7c0JBQWQsTUFBTTtnQkFLRSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBpbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVkVSU0lPTiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9TTkFDS19CQVJfREFUQSwgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuXG5pbXBvcnQgeyBUb2FzdERpc3BsYXkgfSBmcm9tICcuLi9tb2RlbHMvdG9hc3QtZGlzcGxheS1tb2RlbCc7XG5pbXBvcnQgeyBUZXh0Q29sb3JTZXJ2aWNlIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdG9hc3QtdWknLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9hc3QtdWkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90b2FzdC11aS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdHlsZXM6IFtgXG4gICAgLm1hdC1tZGMtc25hY2stYmFyLWNvbnRhaW5lciB7XG4gICAgICAtLW1kYy1zbmFja2Jhci1jb250YWluZXItY29sb3I6IHZhcigtLXRvYXN0LWJnLWNvbG9yLCAjZmZmKTtcbiAgICAgIC0tbWF0LW1kYy1zbmFjay1iYXItYnV0dG9uLWNvbG9yOiB2YXIoLS10b2FzdC10ZXh0LWNvbG9yLCAjZmZmKTtcbiAgICAgIC0tbWRjLXNuYWNrYmFyLXN1cHBvcnRpbmctdGV4dC1jb2xvcjogdmFyKC0tdG9hc3QtdGV4dC1jb2xvciwgIzAwMCk7XG4gICAgfVxuICBgXVxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdFVJQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBuZ1ZlcnNpb24gPSBwYXJzZUludChWRVJTSU9OLmZ1bGwuc3BsaXQoJy4nKVswXSwgMTApXG5cbiAgQE91dHB1dCgpIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxUb2FzdERpc3BsYXk+KCk7XG5cbiAgdGV4dENvbG9yU2VydmljZSA9IGluamVjdChUZXh0Q29sb3JTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzbmFja0JhciA9IGluamVjdChNYXRTbmFja0Jhcik7XG5cbiAgQElucHV0KCkgb3B0aW9ucyA9IFRvYXN0RGlzcGxheS5hZGFwdCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTUFUX1NOQUNLX0JBUl9EQVRBKVxuICAgIHB1YmxpYyBkYXRhOiBUb2FzdERpc3BsYXlcbiAgKSB7XG4gICAgdGhpcy5vcHRpb25zID0gVG9hc3REaXNwbGF5LmFkYXB0KGRhdGEpXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcblxuICAgIGlmICh0aGlzLm5nVmVyc2lvbiA+PSAxNSkge1xuXG4gICAgICBjb25zdCBob3N0RWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5tYXQtbWRjLXNuYWNrLWJhci1jb250YWluZXInKVxuXG4gICAgICBpZiAoaG9zdEVsZW1lbnQpIHtcbiAgICAgICAgaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdzdHlsZScsIGBcbiAgICAgICAgICAtLXRvYXN0LWJnLWNvbG9yOiAke3RoaXMuY29sb3J9O1xuICAgICAgICAgIC0tdG9hc3QtdGV4dC1jb2xvcjogJHt0aGlzLnRleHRDb2xvcn07XG4gICAgICAgIGApXG4gICAgICB9XG5cbiAgICB9IGVsc2Uge1xuXG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tdG9hc3QtYmctY29sb3InLCB0aGlzLmNvbG9yKTtcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS10b2FzdC10ZXh0LWNvbG9yJywgdGhpcy50ZXh0Q29sb3IpO1xuXG4gICAgICBjb25zdCBob3N0RWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5tYXQtc25hY2stYmFyLWNvbnRhaW5lcicpIGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICBpZiAoaG9zdEVsZW1lbnQpIHtcbiAgICAgICAgaG9zdEVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gdGhpcy5jb2xvcjtcbiAgICAgICAgaG9zdEVsZW1lbnQuc3R5bGUuY29sb3IgPSB0aGlzLnRleHRDb2xvcjtcblxuICAgICAgICBjb25zdCBhY3Rpb25CdXR0b24gPSBob3N0RWxlbWVudC5xdWVyeVNlbGVjdG9yKCcubWF0LWJ1dHRvbiwgLm1hdC1zbmFjay1iYXItYWN0aW9uJykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGlmIChhY3Rpb25CdXR0b24pIHtcbiAgICAgICAgICBhY3Rpb25CdXR0b24uc3R5bGUuY29sb3IgPSB0aGlzLnRleHRDb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICBnZXQgY29sb3IoKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5jb2xvciB8fCAnIzIxOTZmMyc7XG4gIH1cblxuICBnZXQgdGV4dENvbG9yKCkge1xuICAgIHJldHVybiB0aGlzLnRleHRDb2xvclNlcnZpY2UudGV4dENvbG9yRm9yQmdDb2xvcihcbiAgICAgIHRoaXMuY29sb3IsXG4gICAgICAnI0ZGRkZGRicsXG4gICAgICAnIzAwMDAwMCdcbiAgICApO1xuICB9XG5cbiAgb25DbG9zZVRvYXN0KG9wdGlvbnM/OiBUb2FzdERpc3BsYXkpIHtcbiAgICB0aGlzLnNuYWNrQmFyLmRpc21pc3MoKVxuICAgIHRoaXMuY2xvc2UuZW1pdChvcHRpb25zKVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwidG9hc3QtZ3JpZC1jb250YWluZXJcIlxuICBbY2xhc3MuaGFzLWljb25dPVwib3B0aW9ucy5pY29uXCJcbiAgW2NsYXNzLmhhcy1hY3Rpb25dPVwib3B0aW9ucy5hY3Rpb25cIlxuICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCIob3B0aW9ucykgPyBvcHRpb25zLmNvbG9yIDogJydcIlxuPlxuICA8bWF0LWljb25cbiAgICAqbmdJZj1cIm9wdGlvbnMuaWNvblwiXG4gICAgY2xhc3M9XCJ0b2FzdC1pY29uXCJcbiAgICBbc3R5bGUuY29sb3JdPVwidGV4dENvbG9yXCJcbiAgPlxuICAgIHt7IG9wdGlvbnMuaWNvbiB9fVxuICA8L21hdC1pY29uPlxuXG4gIDxkaXZcbiAgICBjbGFzcz1cInRvYXN0LW1lc3NhZ2VcIlxuICAgIFtzdHlsZS5jb2xvcl09XCJ0ZXh0Q29sb3JcIlxuICAgIFtpbm5lckhUTUxdPVwib3B0aW9ucy5tZXNzYWdlIHwgc2FmZUh0bWxcIlxuICA+XG4gIDwvZGl2PlxuXG4gIDxidXR0b25cbiAgICAqbmdJZj1cIm9wdGlvbnMuYWN0aW9uXCJcbiAgICBjbGFzcz1cInRvYXN0LWFjdGlvbi1idXR0b25cIlxuICAgIG1hdC1idXR0b25cbiAgICAoY2xpY2spPVwib25DbG9zZVRvYXN0KG9wdGlvbnMpXCJcbiAgICBbc3R5bGUuY29sb3JdPVwidGV4dENvbG9yXCJcbiAgPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9ucy5hY3Rpb24gIT09ICctJzsgZWxzZSBDTE9TRVwiPlxuICAgIHt7IG9wdGlvbnMuYWN0aW9uIH19XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI0NMT1NFPlxuICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class ColorConversionService {
|
|
4
|
-
rgbToHex(rgb) {
|
|
5
|
-
const [r, g, b] = rgb;
|
|
6
|
-
const componentToHex = (c) => {
|
|
7
|
-
const hex = c.toString(16);
|
|
8
|
-
return hex.length === 1 ? "0" + hex : hex;
|
|
9
|
-
};
|
|
10
|
-
const hexR = componentToHex(r);
|
|
11
|
-
const hexG = componentToHex(g);
|
|
12
|
-
const hexB = componentToHex(b);
|
|
13
|
-
return "#" + hexR + hexG + hexB;
|
|
14
|
-
}
|
|
15
|
-
hexToRgb(hex) {
|
|
16
|
-
hex = (hex.length === 3) ? hex + hex : hex;
|
|
17
|
-
const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
|
|
18
|
-
return result ? [
|
|
19
|
-
parseInt(result[1], 16),
|
|
20
|
-
parseInt(result[2], 16),
|
|
21
|
-
parseInt(result[3], 16)
|
|
22
|
-
] : [];
|
|
23
|
-
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColorConversionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
25
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColorConversionService, providedIn: 'root' }); }
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColorConversionService, decorators: [{
|
|
28
|
-
type: Injectable,
|
|
29
|
-
args: [{
|
|
30
|
-
providedIn: 'root'
|
|
31
|
-
}]
|
|
32
|
-
}] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItY29udmVyc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9hc3QtbWVzc2FnZS1kaXNwbGF5L3NyYy9saWIvdXRpbHMvY29sb3ItY29udmVyc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7O0FBSzFDLE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsUUFBUSxDQUFDLEdBQWE7UUFDcEIsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFBO1FBQ3JCLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUU7WUFDbkMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQTtZQUMxQixPQUFPLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUE7UUFDM0MsQ0FBQyxDQUFBO1FBQ0QsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzlCLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUM5QixNQUFNLElBQUksR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDOUIsT0FBTyxHQUFHLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUE7SUFDakMsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFXO1FBRWxCLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQTtRQUMxQyxNQUFNLE1BQU0sR0FBRywyQ0FBMkMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7UUFFcEUsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ2QsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDdkIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDdkIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7U0FDeEIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0lBQ1IsQ0FBQzsrR0F4QlUsc0JBQXNCO21IQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7NEZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29sb3JDb252ZXJzaW9uU2VydmljZSB7XHJcblxyXG4gIHJnYlRvSGV4KHJnYjogbnVtYmVyW10pOiBzdHJpbmcge1xyXG4gICAgY29uc3QgW3IsIGcsIGJdID0gcmdiXHJcbiAgICBjb25zdCBjb21wb25lbnRUb0hleCA9IChjOiBudW1iZXIpID0+IHtcclxuICAgICAgY29uc3QgaGV4ID0gYy50b1N0cmluZygxNilcclxuICAgICAgcmV0dXJuIGhleC5sZW5ndGggPT09IDEgPyBcIjBcIiArIGhleCA6IGhleFxyXG4gICAgfVxyXG4gICAgY29uc3QgaGV4UiA9IGNvbXBvbmVudFRvSGV4KHIpXHJcbiAgICBjb25zdCBoZXhHID0gY29tcG9uZW50VG9IZXgoZylcclxuICAgIGNvbnN0IGhleEIgPSBjb21wb25lbnRUb0hleChiKVxyXG4gICAgcmV0dXJuIFwiI1wiICsgaGV4UiArIGhleEcgKyBoZXhCXHJcbiAgfVxyXG5cclxuICBoZXhUb1JnYihoZXg6IHN0cmluZykge1xyXG5cclxuICAgIGhleCA9IChoZXgubGVuZ3RoID09PSAzKSA/IGhleCArIGhleCA6IGhleFxyXG4gICAgY29uc3QgcmVzdWx0ID0gL14jPyhbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KSQvaS5leGVjKGhleClcclxuXHJcbiAgICByZXR1cm4gcmVzdWx0ID8gW1xyXG4gICAgICBwYXJzZUludChyZXN1bHRbMV0sIDE2KSxcclxuICAgICAgcGFyc2VJbnQocmVzdWx0WzJdLCAxNiksXHJcbiAgICAgIHBhcnNlSW50KHJlc3VsdFszXSwgMTYpXHJcbiAgICBdIDogW11cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from "./color-conversion.service";
|
|
2
|
-
export * from "./text-color.service";
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90b2FzdC1tZXNzYWdlLWRpc3BsYXkvc3JjL2xpYi91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFBO0FBQzFDLGNBQWMsc0JBQXNCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9jb2xvci1jb252ZXJzaW9uLnNlcnZpY2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vdGV4dC1jb2xvci5zZXJ2aWNlXCJcbiJdfQ==
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "./color-conversion.service";
|
|
4
|
-
export class TextColorService {
|
|
5
|
-
constructor(colorConversionService) {
|
|
6
|
-
this.colorConversionService = colorConversionService;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Determines the appropriate text color (light or dark) based on the background color.
|
|
10
|
-
*
|
|
11
|
-
* @param bgColor - The background color to use for the calculation.
|
|
12
|
-
* @param lightColor - The light color to use if the background is dark.
|
|
13
|
-
* @param darkColor - The dark color to use if the background is light.
|
|
14
|
-
* @returns The appropriate text color (light or dark) based on the background color.
|
|
15
|
-
*/
|
|
16
|
-
textColorForBgColor(bgColor, lightColor, darkColor) {
|
|
17
|
-
const UIColors = this.fixColor(bgColor);
|
|
18
|
-
const r = UIColors[0];
|
|
19
|
-
const g = UIColors[1];
|
|
20
|
-
const b = UIColors[2];
|
|
21
|
-
return ((r * 0.299 + g * 0.587 + b * 0.114) > 149) ? darkColor : lightColor;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Determines whether the first color is darker than the second color.
|
|
25
|
-
*
|
|
26
|
-
* @param color1 - The first color to compare.
|
|
27
|
-
* @param color2 - The second color to compare.
|
|
28
|
-
* @returns The darker of the two colors.
|
|
29
|
-
*/
|
|
30
|
-
isColorDarker(color1, color2) {
|
|
31
|
-
const newColor1 = this.fixColor(color1);
|
|
32
|
-
const newColor2 = this.fixColor(color2);
|
|
33
|
-
const luminance1 = this.calculateLuminance(newColor1[0], newColor1[1], newColor1[2]);
|
|
34
|
-
const luminance2 = this.calculateLuminance(newColor2[0], newColor2[1], newColor2[2]);
|
|
35
|
-
return luminance1 > luminance2 ? color2 : color1;
|
|
36
|
-
}
|
|
37
|
-
calculateLuminance(r, g, b) {
|
|
38
|
-
return 0.2126 * r + 0.7152 * g + 0.0722 * b;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Fixes the provided color string by ensuring it is in a valid hexadecimal format.
|
|
42
|
-
* If the input color is a hexadecimal string, it will be normalized to a 6-digit format.
|
|
43
|
-
* If the input color is not a hexadecimal string, it will be converted to an RGB array.
|
|
44
|
-
*
|
|
45
|
-
* @param color - The color string to be fixed.
|
|
46
|
-
* @returns An array of RGB values, or the normalized hexadecimal color string.
|
|
47
|
-
*/
|
|
48
|
-
fixColor(color) {
|
|
49
|
-
let newColor = color;
|
|
50
|
-
if (color.includes("#")) {
|
|
51
|
-
newColor = color.slice(1);
|
|
52
|
-
newColor =
|
|
53
|
-
newColor.length === 3
|
|
54
|
-
? "#" +
|
|
55
|
-
newColor
|
|
56
|
-
.split("")
|
|
57
|
-
.map((hex) => hex + hex)
|
|
58
|
-
.join("")
|
|
59
|
-
: "#" + newColor;
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
newColor = this.standardize_color(color);
|
|
63
|
-
}
|
|
64
|
-
const Reg_Exp = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;
|
|
65
|
-
const colorIsHex = Reg_Exp.test(newColor);
|
|
66
|
-
const UIColors = colorIsHex
|
|
67
|
-
? this.colorConversionService.hexToRgb(newColor)
|
|
68
|
-
: newColor.match(/\d+/g)?.map((item) => parseInt(item)) || [];
|
|
69
|
-
return UIColors;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Converts the color representation of the provided string into HEX value.
|
|
73
|
-
*
|
|
74
|
-
* @param str - The color string to be standardized - 'whitesmoke'.
|
|
75
|
-
* @returns The standardized color string - #DEDEDE.
|
|
76
|
-
*/
|
|
77
|
-
standardize_color(str) {
|
|
78
|
-
const ctx = document.createElement("canvas").getContext("2d");
|
|
79
|
-
if (ctx) {
|
|
80
|
-
ctx.fillStyle = str;
|
|
81
|
-
}
|
|
82
|
-
return ctx?.fillStyle;
|
|
83
|
-
}
|
|
84
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextColorService, deps: [{ token: i1.ColorConversionService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
85
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextColorService, providedIn: 'root' }); }
|
|
86
|
-
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextColorService, decorators: [{
|
|
88
|
-
type: Injectable,
|
|
89
|
-
args: [{
|
|
90
|
-
providedIn: 'root'
|
|
91
|
-
}]
|
|
92
|
-
}], ctorParameters: () => [{ type: i1.ColorConversionService }] });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1jb2xvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdG9hc3QtbWVzc2FnZS1kaXNwbGF5L3NyYy9saWIvdXRpbHMvdGV4dC1jb2xvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7OztBQU0xQyxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFlBQ1Usc0JBQThDO1FBQTlDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7SUFDckQsQ0FBQztJQUVGOzs7Ozs7O0tBT0M7SUFDSCxtQkFBbUIsQ0FBQyxPQUFlLEVBQUUsVUFBa0IsRUFBRSxTQUFpQjtRQUV4RSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRXZDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNyQixNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDckIsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRXJCLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFDLEtBQUssR0FBRyxDQUFDLEdBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBRXhFLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxhQUFhLENBQUMsTUFBYyxFQUFFLE1BQWM7UUFDMUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXhDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FDeEMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUNaLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFDWixTQUFTLENBQUMsQ0FBQyxDQUFDLENBQ2IsQ0FBQztRQUNGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FDeEMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUNaLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFDWixTQUFTLENBQUMsQ0FBQyxDQUFDLENBQ2IsQ0FBQztRQUVGLE9BQU8sVUFBVSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDbkQsQ0FBQztJQUVELGtCQUFrQixDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUztRQUNoRCxPQUFPLE1BQU0sR0FBRyxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsUUFBUSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBRXJCLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hCLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLFFBQVE7Z0JBQ04sUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDO29CQUNuQixDQUFDLENBQUMsR0FBRzt3QkFDSCxRQUFROzZCQUNMLEtBQUssQ0FBQyxFQUFFLENBQUM7NkJBQ1QsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDOzZCQUN2QixJQUFJLENBQUMsRUFBRSxDQUFDO29CQUNiLENBQUMsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxDQUFDO1lBQ04sUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsb0NBQW9DLENBQUM7UUFDckQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUxQyxNQUFNLFFBQVEsR0FBRyxVQUFVO1lBQ3pCLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztZQUNoRCxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVoRSxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxpQkFBaUIsQ0FBQyxHQUFXO1FBQzNCLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTlELElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixHQUFHLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztRQUN0QixDQUFDO1FBRUQsT0FBTyxHQUFHLEVBQUUsU0FBbUIsQ0FBQztJQUNsQyxDQUFDOytHQXhHVSxnQkFBZ0I7bUhBQWhCLGdCQUFnQixjQUZmLE1BQU07OzRGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgQ29sb3JDb252ZXJzaW9uU2VydmljZSB9IGZyb20gJy4vY29sb3ItY29udmVyc2lvbi5zZXJ2aWNlJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGV4dENvbG9yU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjb2xvckNvbnZlcnNpb25TZXJ2aWNlOiBDb2xvckNvbnZlcnNpb25TZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICAgIC8qKlxyXG4gICAqIERldGVybWluZXMgdGhlIGFwcHJvcHJpYXRlIHRleHQgY29sb3IgKGxpZ2h0IG9yIGRhcmspIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGJnQ29sb3IgLSBUaGUgYmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIHRoZSBjYWxjdWxhdGlvbi5cclxuICAgKiBAcGFyYW0gbGlnaHRDb2xvciAtIFRoZSBsaWdodCBjb2xvciB0byB1c2UgaWYgdGhlIGJhY2tncm91bmQgaXMgZGFyay5cclxuICAgKiBAcGFyYW0gZGFya0NvbG9yIC0gVGhlIGRhcmsgY29sb3IgdG8gdXNlIGlmIHRoZSBiYWNrZ3JvdW5kIGlzIGxpZ2h0LlxyXG4gICAqIEByZXR1cm5zIFRoZSBhcHByb3ByaWF0ZSB0ZXh0IGNvbG9yIChsaWdodCBvciBkYXJrKSBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cclxuICAgKi9cclxuICB0ZXh0Q29sb3JGb3JCZ0NvbG9yKGJnQ29sb3I6IHN0cmluZywgbGlnaHRDb2xvcjogc3RyaW5nLCBkYXJrQ29sb3I6IHN0cmluZykge1xyXG5cclxuICAgIGNvbnN0IFVJQ29sb3JzID0gdGhpcy5maXhDb2xvcihiZ0NvbG9yKVxyXG5cclxuICAgIGNvbnN0IHIgPSBVSUNvbG9yc1swXVxyXG4gICAgY29uc3QgZyA9IFVJQ29sb3JzWzFdXHJcbiAgICBjb25zdCBiID0gVUlDb2xvcnNbMl1cclxuXHJcbiAgICByZXR1cm4gKChyKjAuMjk5ICsgZyowLjU4NyArIGIqMC4xMTQpID4gMTQ5KSA/IGRhcmtDb2xvciA6IGxpZ2h0Q29sb3I7XHJcblxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBmaXJzdCBjb2xvciBpcyBkYXJrZXIgdGhhbiB0aGUgc2Vjb25kIGNvbG9yLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGNvbG9yMSAtIFRoZSBmaXJzdCBjb2xvciB0byBjb21wYXJlLlxyXG4gICAqIEBwYXJhbSBjb2xvcjIgLSBUaGUgc2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXHJcbiAgICogQHJldHVybnMgVGhlIGRhcmtlciBvZiB0aGUgdHdvIGNvbG9ycy5cclxuICAgKi9cclxuICBpc0NvbG9yRGFya2VyKGNvbG9yMTogc3RyaW5nLCBjb2xvcjI6IHN0cmluZykge1xyXG4gICAgY29uc3QgbmV3Q29sb3IxID0gdGhpcy5maXhDb2xvcihjb2xvcjEpO1xyXG4gICAgY29uc3QgbmV3Q29sb3IyID0gdGhpcy5maXhDb2xvcihjb2xvcjIpO1xyXG5cclxuICAgIGNvbnN0IGx1bWluYW5jZTEgPSB0aGlzLmNhbGN1bGF0ZUx1bWluYW5jZShcclxuICAgICAgbmV3Q29sb3IxWzBdLFxyXG4gICAgICBuZXdDb2xvcjFbMV0sXHJcbiAgICAgIG5ld0NvbG9yMVsyXVxyXG4gICAgKTtcclxuICAgIGNvbnN0IGx1bWluYW5jZTIgPSB0aGlzLmNhbGN1bGF0ZUx1bWluYW5jZShcclxuICAgICAgbmV3Q29sb3IyWzBdLFxyXG4gICAgICBuZXdDb2xvcjJbMV0sXHJcbiAgICAgIG5ld0NvbG9yMlsyXVxyXG4gICAgKTtcclxuXHJcbiAgICByZXR1cm4gbHVtaW5hbmNlMSA+IGx1bWluYW5jZTIgPyBjb2xvcjIgOiBjb2xvcjE7XHJcbiAgfVxyXG5cclxuICBjYWxjdWxhdGVMdW1pbmFuY2UocjogbnVtYmVyLCBnOiBudW1iZXIsIGI6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICByZXR1cm4gMC4yMTI2ICogciArIDAuNzE1MiAqIGcgKyAwLjA3MjIgKiBiO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRml4ZXMgdGhlIHByb3ZpZGVkIGNvbG9yIHN0cmluZyBieSBlbnN1cmluZyBpdCBpcyBpbiBhIHZhbGlkIGhleGFkZWNpbWFsIGZvcm1hdC5cclxuICAgKiBJZiB0aGUgaW5wdXQgY29sb3IgaXMgYSBoZXhhZGVjaW1hbCBzdHJpbmcsIGl0IHdpbGwgYmUgbm9ybWFsaXplZCB0byBhIDYtZGlnaXQgZm9ybWF0LlxyXG4gICAqIElmIHRoZSBpbnB1dCBjb2xvciBpcyBub3QgYSBoZXhhZGVjaW1hbCBzdHJpbmcsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIFJHQiBhcnJheS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBjb2xvciAtIFRoZSBjb2xvciBzdHJpbmcgdG8gYmUgZml4ZWQuXHJcbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgUkdCIHZhbHVlcywgb3IgdGhlIG5vcm1hbGl6ZWQgaGV4YWRlY2ltYWwgY29sb3Igc3RyaW5nLlxyXG4gICAqL1xyXG4gIGZpeENvbG9yKGNvbG9yOiBzdHJpbmcpIHtcclxuICAgIGxldCBuZXdDb2xvciA9IGNvbG9yO1xyXG5cclxuICAgIGlmIChjb2xvci5pbmNsdWRlcyhcIiNcIikpIHtcclxuICAgICAgbmV3Q29sb3IgPSBjb2xvci5zbGljZSgxKTtcclxuICAgICAgbmV3Q29sb3IgPVxyXG4gICAgICAgIG5ld0NvbG9yLmxlbmd0aCA9PT0gM1xyXG4gICAgICAgICAgPyBcIiNcIiArXHJcbiAgICAgICAgICAgIG5ld0NvbG9yXHJcbiAgICAgICAgICAgICAgLnNwbGl0KFwiXCIpXHJcbiAgICAgICAgICAgICAgLm1hcCgoaGV4KSA9PiBoZXggKyBoZXgpXHJcbiAgICAgICAgICAgICAgLmpvaW4oXCJcIilcclxuICAgICAgICAgIDogXCIjXCIgKyBuZXdDb2xvcjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG5ld0NvbG9yID0gdGhpcy5zdGFuZGFyZGl6ZV9jb2xvcihjb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgUmVnX0V4cCA9IC9eIyhbQS1GYS1mMC05XXs2fXxbQS1GYS1mMC05XXszfSkkLztcclxuICAgIGNvbnN0IGNvbG9ySXNIZXggPSBSZWdfRXhwLnRlc3QobmV3Q29sb3IpO1xyXG5cclxuICAgIGNvbnN0IFVJQ29sb3JzID0gY29sb3JJc0hleFxyXG4gICAgICA/IHRoaXMuY29sb3JDb252ZXJzaW9uU2VydmljZS5oZXhUb1JnYihuZXdDb2xvcilcclxuICAgICAgOiBuZXdDb2xvci5tYXRjaCgvXFxkKy9nKT8ubWFwKChpdGVtKSA9PiBwYXJzZUludChpdGVtKSkgfHwgW107XHJcblxyXG4gICAgcmV0dXJuIFVJQ29sb3JzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udmVydHMgdGhlIGNvbG9yIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBwcm92aWRlZCBzdHJpbmcgaW50byBIRVggdmFsdWUuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gc3RyIC0gVGhlIGNvbG9yIHN0cmluZyB0byBiZSBzdGFuZGFyZGl6ZWQgLSAnd2hpdGVzbW9rZScuXHJcbiAgICogQHJldHVybnMgVGhlIHN0YW5kYXJkaXplZCBjb2xvciBzdHJpbmcgLSAjREVERURFLlxyXG4gICAqL1xyXG4gIHN0YW5kYXJkaXplX2NvbG9yKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGN0eCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJjYW52YXNcIikuZ2V0Q29udGV4dChcIjJkXCIpO1xyXG5cclxuICAgIGlmIChjdHgpIHtcclxuICAgICAgY3R4LmZpbGxTdHlsZSA9IHN0cjtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY3R4Py5maWxsU3R5bGUgYXMgc3RyaW5nO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
package/esm2022/public-api.mjs
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of toast-message
|
|
3
|
-
*/
|
|
4
|
-
export * from "./lib/toast-message.module";
|
|
5
|
-
export * from "./lib/toast-ui/toast-ui.component";
|
|
6
|
-
export * from './lib/models';
|
|
7
|
-
export * from './lib/toast-demo/toast-demo.component';
|
|
8
|
-
export * from './lib/toast-message-inline/toast-message-inline.component';
|
|
9
|
-
export * from './lib/services/toast-message.service';
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3RvYXN0LW1lc3NhZ2UtZGlzcGxheS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyxtQ0FBbUMsQ0FBQTtBQUVqRCxjQUFjLGNBQWMsQ0FBQztBQUU3QixjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMkRBQTJELENBQUM7QUFFMUUsY0FBYyxzQ0FBc0MsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgdG9hc3QtbWVzc2FnZVxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi90b2FzdC1tZXNzYWdlLm1vZHVsZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvdG9hc3QtdWkvdG9hc3QtdWkuY29tcG9uZW50XCJcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9hc3QtZGVtby90b2FzdC1kZW1vLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2FzdC1tZXNzYWdlLWlubGluZS90b2FzdC1tZXNzYWdlLWlubGluZS5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90b2FzdC1tZXNzYWdlLnNlcnZpY2UnXG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtbWVzc2FnZS1kaXNwbGF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvdG9hc3QtbWVzc2FnZS1kaXNwbGF5L3NyYy90b2FzdC1tZXNzYWdlLWRpc3BsYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
package/index.d.ts
DELETED
package/lib/models/index.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { ToastColors } from "./toast-colors.enum";
|
|
2
|
-
export interface ToastDisplayInterface {
|
|
3
|
-
id?: string;
|
|
4
|
-
message: string;
|
|
5
|
-
action?: string;
|
|
6
|
-
color: ToastColors;
|
|
7
|
-
icon?: string;
|
|
8
|
-
}
|
|
9
|
-
export declare class ToastDisplay implements ToastDisplayInterface {
|
|
10
|
-
id?: string | undefined;
|
|
11
|
-
message: string;
|
|
12
|
-
action?: string | undefined;
|
|
13
|
-
color: ToastColors;
|
|
14
|
-
icon?: string | undefined;
|
|
15
|
-
constructor(id?: string | undefined, message?: string, action?: string | undefined, color?: ToastColors, icon?: string | undefined);
|
|
16
|
-
static adapt(item?: any): ToastDisplay;
|
|
17
|
-
static randomNumbers(length: number): string;
|
|
18
|
-
static generateRandom(randomChars: string, length: number): string;
|
|
19
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export interface ToastMessageInterface {
|
|
2
|
-
error: string;
|
|
3
|
-
action: string;
|
|
4
|
-
icon: string;
|
|
5
|
-
}
|
|
6
|
-
export declare class ToastMessage implements ToastMessageInterface {
|
|
7
|
-
error: string;
|
|
8
|
-
action: string;
|
|
9
|
-
icon: string;
|
|
10
|
-
constructor(error?: string, action?: string, icon?: string);
|
|
11
|
-
static adapt(item?: any): ToastMessageInterface;
|
|
12
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { MatSnackBarVerticalPosition } from "@angular/material/snack-bar";
|
|
2
|
-
import { HorizontalAlignment } from "./horizontal-alignment.enum";
|
|
3
|
-
import { ToastDisplay } from "./toast-display-model";
|
|
4
|
-
import { VerticalAlignment } from "./vertical-alignment.enum";
|
|
5
|
-
export interface ToastOptionsInterface {
|
|
6
|
-
duration?: number;
|
|
7
|
-
horizontalPosition?: HorizontalAlignment;
|
|
8
|
-
verticalPosition?: MatSnackBarVerticalPosition;
|
|
9
|
-
data?: ToastDisplay;
|
|
10
|
-
}
|
|
11
|
-
export declare class ToastOptions implements ToastOptionsInterface {
|
|
12
|
-
duration?: number | undefined;
|
|
13
|
-
horizontalPosition: HorizontalAlignment;
|
|
14
|
-
verticalPosition: VerticalAlignment;
|
|
15
|
-
data?: ToastDisplay | undefined;
|
|
16
|
-
constructor(duration?: number | undefined, horizontalPosition?: HorizontalAlignment, verticalPosition?: VerticalAlignment, data?: ToastDisplay | undefined);
|
|
17
|
-
static adapt(item?: any): ToastOptionsInterface;
|
|
18
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { PipeTransform } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class SafeHtmlPipe implements PipeTransform {
|
|
4
|
-
private sanitizer;
|
|
5
|
-
transform(html: string): import("@angular/platform-browser").SafeHtml;
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SafeHtmlPipe, never>;
|
|
7
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<SafeHtmlPipe, "safeHtml", false>;
|
|
8
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { MatSnackBarRef } from '@angular/material/snack-bar';
|
|
2
|
-
import { VerticalAlignment } from '../models/vertical-alignment.enum';
|
|
3
|
-
import { ToastDisplay } from '../models/toast-display-model';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class ToastMessageDisplayService {
|
|
6
|
-
private snackBar;
|
|
7
|
-
private toastQueue;
|
|
8
|
-
private isToastVisible;
|
|
9
|
-
defaultDuration: number;
|
|
10
|
-
snackBarRef: MatSnackBarRef<any> | undefined;
|
|
11
|
-
toastMessage(options?: ToastDisplay, duration?: number, vertical?: VerticalAlignment): void;
|
|
12
|
-
private showNextToast;
|
|
13
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ToastMessageDisplayService, never>;
|
|
14
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<ToastMessageDisplayService>;
|
|
15
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { ToastColors, ToastDisplay } from '../models';
|
|
2
|
-
import { FormBuilder } from '@angular/forms';
|
|
3
|
-
import { ToastMessageDisplayService } from '../services/toast-message.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class ToastDemoComponent {
|
|
6
|
-
random: () => number;
|
|
7
|
-
randomNumber: (min: number, max: number) => number;
|
|
8
|
-
fb: FormBuilder;
|
|
9
|
-
toastMessageDisplayService: ToastMessageDisplayService;
|
|
10
|
-
type: string;
|
|
11
|
-
position: import("@angular/forms").FormControl<string | null>;
|
|
12
|
-
icons: string[];
|
|
13
|
-
toastSamples: ({
|
|
14
|
-
message: string;
|
|
15
|
-
color: ToastColors;
|
|
16
|
-
action: string;
|
|
17
|
-
icon?: undefined;
|
|
18
|
-
} | {
|
|
19
|
-
message: string;
|
|
20
|
-
color: ToastColors;
|
|
21
|
-
icon: string;
|
|
22
|
-
action?: undefined;
|
|
23
|
-
} | {
|
|
24
|
-
message: string;
|
|
25
|
-
color: ToastColors;
|
|
26
|
-
icon: string;
|
|
27
|
-
action: string;
|
|
28
|
-
})[];
|
|
29
|
-
pickToastSample?: ToastDisplay;
|
|
30
|
-
onSelectType(type: string): void;
|
|
31
|
-
onBasic(type: string, icon?: string, action?: string): void;
|
|
32
|
-
presentToast(color: ToastColors, icon?: string, action?: string): void;
|
|
33
|
-
onInline(): void;
|
|
34
|
-
onClosedToast(toast?: ToastDisplay): void;
|
|
35
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ToastDemoComponent, never>;
|
|
36
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ToastDemoComponent, "app-toast-display-demo", never, {}, {}, never, never, false, never>;
|
|
37
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
-
import { TextColorService } from '../utils';
|
|
3
|
-
import { ToastDisplay, VerticalAlignment } from '../models';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class ToastMessageInlineComponent implements OnInit {
|
|
6
|
-
close: EventEmitter<ToastDisplay>;
|
|
7
|
-
textColorService: TextColorService;
|
|
8
|
-
toastList: ToastDisplay[];
|
|
9
|
-
dismissToasts: any[];
|
|
10
|
-
set toast(value: any);
|
|
11
|
-
get option(): ToastDisplay | null;
|
|
12
|
-
duration: number;
|
|
13
|
-
position: VerticalAlignment;
|
|
14
|
-
get color(): "" | import("../models").ToastColors;
|
|
15
|
-
get textColor(): string;
|
|
16
|
-
ngOnInit(): void;
|
|
17
|
-
onCloseToast(toast?: ToastDisplay): void;
|
|
18
|
-
expireTime(toast: any): void;
|
|
19
|
-
removeToast(toast: any): void;
|
|
20
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ToastMessageInlineComponent, never>;
|
|
21
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ToastMessageInlineComponent, "app-toast-message-display-inline", never, { "toast": { "alias": "toast"; "required": false; }; "duration": { "alias": "duration"; "required": false; }; "position": { "alias": "position"; "required": false; }; }, { "close": "close"; }, never, never, false, never>;
|
|
22
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./pipes/safe-html.pipe";
|
|
3
|
-
import * as i2 from "./toast-ui/toast-ui.component";
|
|
4
|
-
import * as i3 from "./toast-demo/toast-demo.component";
|
|
5
|
-
import * as i4 from "./toast-message-inline/toast-message-inline.component";
|
|
6
|
-
import * as i5 from "@angular/common";
|
|
7
|
-
import * as i6 from "@angular/forms";
|
|
8
|
-
import * as i7 from "@angular/material/icon";
|
|
9
|
-
import * as i8 from "@angular/material/snack-bar";
|
|
10
|
-
import * as i9 from "@angular/material/button";
|
|
11
|
-
import * as i10 from "@angular/material/toolbar";
|
|
12
|
-
import * as i11 from "@angular/material/menu";
|
|
13
|
-
import * as i12 from "@angular/material/radio";
|
|
14
|
-
import * as i13 from "@angular/material/divider";
|
|
15
|
-
export declare class ToastMessageDisplayModule {
|
|
16
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ToastMessageDisplayModule, never>;
|
|
17
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ToastMessageDisplayModule, [typeof i1.SafeHtmlPipe, typeof i2.ToastUIComponent, typeof i3.ToastDemoComponent, typeof i4.ToastMessageInlineComponent], [typeof i5.CommonModule, typeof i6.ReactiveFormsModule, typeof i7.MatIconModule, typeof i8.MatSnackBarModule, typeof i9.MatButtonModule, typeof i10.MatToolbarModule, typeof i11.MatMenuModule, typeof i12.MatRadioModule, typeof i13.MatDividerModule], [typeof i2.ToastUIComponent, typeof i3.ToastDemoComponent]>;
|
|
18
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<ToastMessageDisplayModule>;
|
|
19
|
-
}
|