@pobuca/email-builder 1.0.0 → 1.1.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/README.md +1 -1
- package/bundles/pobuca-email-builder.umd.js +4464 -4414
- package/bundles/pobuca-email-builder.umd.js.map +1 -1
- package/bundles/pobuca-email-builder.umd.min.js +1 -1
- package/bundles/pobuca-email-builder.umd.min.js.map +1 -1
- package/esm2015/lib/classes/DefaultEmail.js +54 -53
- package/esm2015/lib/classes/Elements.js +229 -229
- package/esm2015/lib/classes/Structure.js +89 -89
- package/esm2015/lib/components/block/block.component.js +89 -89
- package/esm2015/lib/components/block-settings/block-settings.component.js +53 -53
- package/esm2015/lib/components/builder-container/builder-container.component.js +114 -114
- package/esm2015/lib/components/dialog.component.js +30 -30
- package/esm2015/lib/components/general-settings/general-settings.component.js +25 -25
- package/esm2015/lib/components/import-dialog/import-dialog.component.js +62 -62
- package/esm2015/lib/components/preview.component.js +89 -89
- package/esm2015/lib/components/structure/structure.component.js +163 -163
- package/esm2015/lib/components/structure-settings/structure-settings.component.js +31 -31
- package/esm2015/lib/components/template-list-dialog/template-list-dialog.component.js +45 -45
- package/esm2015/lib/directives/dynamic-component.directive.js +46 -46
- package/esm2015/lib/elements/abstract-block.js +23 -23
- package/esm2015/lib/elements/button/button.component.js +29 -29
- package/esm2015/lib/elements/divider/divider.component.js +30 -30
- package/esm2015/lib/elements/image/image.component.js +54 -54
- package/esm2015/lib/elements/social/social.component.js +42 -42
- package/esm2015/lib/elements/spacer/spacer.component.js +30 -30
- package/esm2015/lib/elements/text-element/text-element.component.js +80 -80
- package/esm2015/lib/groups/align.js +79 -79
- package/esm2015/lib/groups/back-repeat.js +55 -55
- package/esm2015/lib/groups/border.js +102 -102
- package/esm2015/lib/groups/color.js +139 -139
- package/esm2015/lib/groups/direction.js +63 -63
- package/esm2015/lib/groups/font-styles.js +127 -112
- package/esm2015/lib/groups/gaps.js +45 -45
- package/esm2015/lib/groups/line-height.js +68 -68
- package/esm2015/lib/groups/link.js +67 -67
- package/esm2015/lib/groups/margin.js +45 -45
- package/esm2015/lib/groups/padding.js +53 -53
- package/esm2015/lib/groups/upload-image.js +112 -112
- package/esm2015/lib/groups/width-height.js +94 -94
- package/esm2015/lib/interceptors/pb-interceptor.interceptor.js +51 -51
- package/esm2015/lib/interfaces/interfaces.js +13 -13
- package/esm2015/lib/pb-email-builder.component.js +258 -246
- package/esm2015/lib/pb-email-builder.module.js +291 -291
- package/esm2015/lib/pb-email-builder.service.js +134 -134
- package/esm2015/lib/pipes/slugify.pipe.js +39 -39
- package/esm2015/lib/services/internals/pb-email-object-store/pb-email-object-store.service.js +175 -165
- package/esm2015/lib/services/internals/user-interfaces/user-interface.service.js +122 -122
- package/esm2015/lib/services/pb-storage/FreeUsersStorage.class.js +11 -11
- package/esm2015/lib/services/pb-storage/index.js +7 -7
- package/esm2015/lib/services/pb-storage/pb-storage.service.js +79 -79
- package/esm2015/lib/services/user-image-uploader-service/free-users-image-uploader.service.js +26 -26
- package/esm2015/lib/services/user-image-uploader-service/index.js +8 -8
- package/esm2015/lib/services/user-image-uploader-service/paid-users-image-uploader.service.js +30 -30
- package/esm2015/lib/services/user-image-uploader-service/upload-bottom-sheet-dialog/upload-bottom-sheet-dialog.component.js +112 -112
- package/esm2015/lib/services/user-image-uploader-service/upload-image-gallery/upload-image-gallery.component.js +91 -91
- package/esm2015/lib/services/user-image-uploader-service/user-image-uploader.service.js +26 -26
- package/esm2015/lib/services/user-middleware-service/FreeUsersMiddleware.js +31 -31
- package/esm2015/lib/services/user-middleware-service/PaidUsersMiddleware.js +12 -12
- package/esm2015/lib/services/user-middleware-service/index.js +8 -8
- package/esm2015/lib/services/user-middleware-service/pb-middlewares.service.js +195 -195
- package/esm2015/lib/services/user-rest-api-service/free-users-rest-api.service.js +16 -16
- package/esm2015/lib/services/user-rest-api-service/index.js +7 -7
- package/esm2015/lib/services/user-rest-api-service/user-rest-api.service.js +116 -116
- package/esm2015/lib/tokens/private-tokens.js +17 -17
- package/esm2015/lib/tokens/tokens.js +159 -159
- package/esm2015/lib/utils.js +147 -147
- package/esm2015/pobuca-email-builder.js +42 -42
- package/esm2015/public_api.js +26 -26
- package/fesm2015/pobuca-email-builder.js +4206 -4168
- package/fesm2015/pobuca-email-builder.js.map +1 -1
- package/lib/classes/DefaultEmail.d.ts +10 -9
- package/lib/classes/Elements.d.ts +62 -62
- package/lib/classes/Structure.d.ts +11 -11
- package/lib/components/block/block.component.d.ts +25 -25
- package/lib/components/block-settings/block-settings.component.d.ts +18 -18
- package/lib/components/builder-container/builder-container.component.d.ts +36 -36
- package/lib/components/dialog.component.d.ts +10 -10
- package/lib/components/general-settings/general-settings.component.d.ts +6 -6
- package/lib/components/import-dialog/import-dialog.component.d.ts +16 -16
- package/lib/components/preview.component.d.ts +18 -18
- package/lib/components/structure/structure.component.d.ts +43 -43
- package/lib/components/structure-settings/structure-settings.component.d.ts +9 -9
- package/lib/components/template-list-dialog/template-list-dialog.component.d.ts +15 -15
- package/lib/directives/dynamic-component.directive.d.ts +13 -13
- package/lib/elements/abstract-block.d.ts +8 -8
- package/lib/elements/button/button.component.d.ts +18 -18
- package/lib/elements/divider/divider.component.d.ts +10 -10
- package/lib/elements/image/image.component.d.ts +19 -19
- package/lib/elements/social/social.component.d.ts +21 -21
- package/lib/elements/spacer/spacer.component.d.ts +5 -5
- package/lib/elements/text-element/text-element.component.d.ts +52 -52
- package/lib/groups/align.d.ts +17 -17
- package/lib/groups/back-repeat.d.ts +8 -8
- package/lib/groups/border.d.ts +13 -13
- package/lib/groups/color.d.ts +26 -26
- package/lib/groups/direction.d.ts +13 -13
- package/lib/groups/font-styles.d.ts +21 -17
- package/lib/groups/gaps.d.ts +7 -7
- package/lib/groups/line-height.d.ts +12 -12
- package/lib/groups/link.d.ts +11 -11
- package/lib/groups/margin.d.ts +8 -8
- package/lib/groups/padding.d.ts +8 -8
- package/lib/groups/upload-image.d.ts +19 -19
- package/lib/groups/width-height.d.ts +19 -19
- package/lib/interceptors/pb-interceptor.interceptor.d.ts +10 -10
- package/lib/interfaces/interfaces.d.ts +430 -422
- package/lib/pb-email-builder.component.d.ts +67 -67
- package/lib/pb-email-builder.module.d.ts +51 -51
- package/lib/pb-email-builder.service.d.ts +83 -83
- package/lib/pipes/slugify.pipe.d.ts +9 -9
- package/lib/services/internals/pb-email-object-store/pb-email-object-store.service.d.ts +50 -50
- package/lib/services/internals/user-interfaces/user-interface.service.d.ts +46 -46
- package/lib/services/pb-storage/FreeUsersStorage.class.d.ts +6 -6
- package/lib/services/pb-storage/index.d.ts +2 -2
- package/lib/services/pb-storage/pb-storage.service.d.ts +54 -54
- package/lib/services/user-image-uploader-service/free-users-image-uploader.service.d.ts +12 -12
- package/lib/services/user-image-uploader-service/index.d.ts +3 -3
- package/lib/services/user-image-uploader-service/paid-users-image-uploader.service.d.ts +14 -14
- package/lib/services/user-image-uploader-service/upload-bottom-sheet-dialog/upload-bottom-sheet-dialog.component.d.ts +28 -28
- package/lib/services/user-image-uploader-service/upload-image-gallery/upload-image-gallery.component.d.ts +27 -27
- package/lib/services/user-image-uploader-service/user-image-uploader.service.d.ts +26 -26
- package/lib/services/user-middleware-service/FreeUsersMiddleware.d.ts +15 -15
- package/lib/services/user-middleware-service/PaidUsersMiddleware.d.ts +7 -7
- package/lib/services/user-middleware-service/index.d.ts +3 -3
- package/lib/services/user-middleware-service/pb-middlewares.service.d.ts +190 -190
- package/lib/services/user-rest-api-service/free-users-rest-api.service.d.ts +10 -10
- package/lib/services/user-rest-api-service/index.d.ts +2 -2
- package/lib/services/user-rest-api-service/user-rest-api.service.d.ts +82 -82
- package/lib/tokens/private-tokens.d.ts +5 -5
- package/lib/tokens/tokens.d.ts +70 -70
- package/lib/utils.d.ts +88 -88
- package/package.json +8 -3
- package/pobuca-email-builder.d.ts +42 -42
- package/pobuca-email-builder.metadata.json +1 -1
- package/public_api.d.ts +16 -16
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2024 Pobuca.
|
|
3
|
-
* All rights reserved.
|
|
4
|
-
*/
|
|
5
|
-
import { __awaiter } from "tslib";
|
|
6
|
-
import { Component, HostBinding, ChangeDetectorRef } from '@angular/core';
|
|
7
|
-
import { createBorder, createPadding, createWidthHeight } from '../../utils';
|
|
8
|
-
import { PbUserImageUploaderService } from '../../services/user-image-uploader-service/user-image-uploader.service';
|
|
9
|
-
import { PbEmailBuilderService } from '../../pb-email-builder.service';
|
|
10
|
-
import { AbstractBlock } from '../abstract-block';
|
|
11
|
-
export class ImageComponent extends AbstractBlock {
|
|
12
|
-
constructor(imageUploader, chRef, ngb) {
|
|
13
|
-
super();
|
|
14
|
-
this.imageUploader = imageUploader;
|
|
15
|
-
this.chRef = chRef;
|
|
16
|
-
this.ngb = ngb;
|
|
17
|
-
}
|
|
18
|
-
// @Input() block = new ImageBlock();
|
|
19
|
-
get align() {
|
|
20
|
-
return this.block.options.align;
|
|
21
|
-
}
|
|
22
|
-
get src() {
|
|
23
|
-
return this.block.src || 'https://via.placeholder.com/600x200?text=CHANGE+ME';
|
|
24
|
-
}
|
|
25
|
-
uploadImage() {
|
|
26
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
-
const src = yield this.imageUploader.browse$().toPromise();
|
|
28
|
-
if (src) {
|
|
29
|
-
this.block.src = src;
|
|
30
|
-
this.chRef.markForCheck();
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
getImageStyles() {
|
|
35
|
-
const { border, width, height, padding } = this.block.options;
|
|
36
|
-
return Object.assign(Object.assign({ width: createWidthHeight(width), height: createWidthHeight(height) }, createPadding(padding)), createBorder(border));
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
ImageComponent.decorators = [
|
|
40
|
-
{ type: Component, args: [{
|
|
41
|
-
selector: 'pb-image',
|
|
42
|
-
template: "<!--\n ~ Copyright (c) 2024 Pobuca.\n ~ All rights reserved.\n -->\n\n<!-- <div\n class=\"overflow\"\n *ngIf=\"(ngb.currentEditingBlock$ | async) !== block\"\n (click)=\"uploadImage()\"\n>\n <mat-icon inline>cloud_upload</mat-icon>\n</div> -->\n<img [src]=\"src\" [title]=\"block.options.title\" [ngStyle]=\"getImageStyles()\" />\n",
|
|
43
|
-
styles: [":host{display:block;line-height:0}:host:hover .overflow{opacity:1}.overflow{position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.3);opacity:0;will-change:opacity;transition:opacity .3s cubic-bezier(.075,.82,.165,1);cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;font-size:3em}.overflow mat-icon{opacity:.8}img{max-width:100%;box-sizing:border-box}"]
|
|
44
|
-
},] }
|
|
45
|
-
];
|
|
46
|
-
ImageComponent.ctorParameters = () => [
|
|
47
|
-
{ type: PbUserImageUploaderService },
|
|
48
|
-
{ type: ChangeDetectorRef },
|
|
49
|
-
{ type: PbEmailBuilderService }
|
|
50
|
-
];
|
|
51
|
-
ImageComponent.propDecorators = {
|
|
52
|
-
align: [{ type: HostBinding, args: ['style.textAlign',] }]
|
|
53
|
-
};
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Pobuca.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*/
|
|
5
|
+
import { __awaiter } from "tslib";
|
|
6
|
+
import { Component, HostBinding, ChangeDetectorRef } from '@angular/core';
|
|
7
|
+
import { createBorder, createPadding, createWidthHeight } from '../../utils';
|
|
8
|
+
import { PbUserImageUploaderService } from '../../services/user-image-uploader-service/user-image-uploader.service';
|
|
9
|
+
import { PbEmailBuilderService } from '../../pb-email-builder.service';
|
|
10
|
+
import { AbstractBlock } from '../abstract-block';
|
|
11
|
+
export class ImageComponent extends AbstractBlock {
|
|
12
|
+
constructor(imageUploader, chRef, ngb) {
|
|
13
|
+
super();
|
|
14
|
+
this.imageUploader = imageUploader;
|
|
15
|
+
this.chRef = chRef;
|
|
16
|
+
this.ngb = ngb;
|
|
17
|
+
}
|
|
18
|
+
// @Input() block = new ImageBlock();
|
|
19
|
+
get align() {
|
|
20
|
+
return this.block.options.align;
|
|
21
|
+
}
|
|
22
|
+
get src() {
|
|
23
|
+
return this.block.src || 'https://via.placeholder.com/600x200?text=CHANGE+ME';
|
|
24
|
+
}
|
|
25
|
+
uploadImage() {
|
|
26
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
const src = yield this.imageUploader.browse$().toPromise();
|
|
28
|
+
if (src) {
|
|
29
|
+
this.block.src = src;
|
|
30
|
+
this.chRef.markForCheck();
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
getImageStyles() {
|
|
35
|
+
const { border, width, height, padding } = this.block.options;
|
|
36
|
+
return Object.assign(Object.assign({ width: createWidthHeight(width), height: createWidthHeight(height) }, createPadding(padding)), createBorder(border));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
ImageComponent.decorators = [
|
|
40
|
+
{ type: Component, args: [{
|
|
41
|
+
selector: 'pb-image',
|
|
42
|
+
template: "<!--\r\n ~ Copyright (c) 2024 Pobuca.\r\n ~ All rights reserved.\r\n -->\r\n\r\n<!-- <div\r\n class=\"overflow\"\r\n *ngIf=\"(ngb.currentEditingBlock$ | async) !== block\"\r\n (click)=\"uploadImage()\"\r\n>\r\n <mat-icon inline>cloud_upload</mat-icon>\r\n</div> -->\r\n<img [src]=\"src\" [title]=\"block.options.title\" [ngStyle]=\"getImageStyles()\" />\r\n",
|
|
43
|
+
styles: [":host{display:block;line-height:0}:host:hover .overflow{opacity:1}.overflow{position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.3);opacity:0;will-change:opacity;transition:opacity .3s cubic-bezier(.075,.82,.165,1);cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;font-size:3em}.overflow mat-icon{opacity:.8}img{max-width:100%;box-sizing:border-box}"]
|
|
44
|
+
},] }
|
|
45
|
+
];
|
|
46
|
+
ImageComponent.ctorParameters = () => [
|
|
47
|
+
{ type: PbUserImageUploaderService },
|
|
48
|
+
{ type: ChangeDetectorRef },
|
|
49
|
+
{ type: PbEmailBuilderService }
|
|
50
|
+
];
|
|
51
|
+
ImageComponent.propDecorators = {
|
|
52
|
+
align: [{ type: HostBinding, args: ['style.textAlign',] }]
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGItZW1haWwtYnVpbGRlci9zcmMvbGliL2VsZW1lbnRzL2ltYWdlL2ltYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7O0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBUyxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakYsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDcEgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBT2xELE1BQU0sT0FBTyxjQUFlLFNBQVEsYUFBeUI7SUFXM0QsWUFBb0IsYUFBeUMsRUFBVSxLQUF3QixFQUFTLEdBQTBCO1FBQ2hJLEtBQUssRUFBRSxDQUFDO1FBRFUsa0JBQWEsR0FBYixhQUFhLENBQTRCO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFBUyxRQUFHLEdBQUgsR0FBRyxDQUF1QjtJQUVsSSxDQUFDO0lBWkQscUNBQXFDO0lBRXJDLElBQW9DLEtBQUs7UUFDdkMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksb0RBQW9ELENBQUM7SUFDaEYsQ0FBQztJQU1LLFdBQVc7O1lBQ2YsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzNELElBQUksR0FBRyxFQUFFO2dCQUNQLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztnQkFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUMzQjtRQUNILENBQUM7S0FBQTtJQUVELGNBQWM7UUFDWixNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFFOUQscUNBQ0UsS0FBSyxFQUFFLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxFQUMvQixNQUFNLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQzlCLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FDdEIsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUN2QjtJQUNKLENBQUM7OztZQXJDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLHdYQUFxQzs7YUFFdEM7OztZQVJRLDBCQUEwQjtZQUhLLGlCQUFpQjtZQUloRCxxQkFBcUI7OztvQkFXM0IsV0FBVyxTQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoYykgMjAyNCBQb2J1Y2EuXHJcbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSG9zdEJpbmRpbmcsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEltYWdlQmxvY2sgfSBmcm9tICcuLi8uLi9jbGFzc2VzL0VsZW1lbnRzJztcclxuaW1wb3J0IHsgY3JlYXRlQm9yZGVyLCBjcmVhdGVQYWRkaW5nLCBjcmVhdGVXaWR0aEhlaWdodCB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgUGJVc2VySW1hZ2VVcGxvYWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91c2VyLWltYWdlLXVwbG9hZGVyLXNlcnZpY2UvdXNlci1pbWFnZS11cGxvYWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGJFbWFpbEJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcGItZW1haWwtYnVpbGRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RCbG9jayB9IGZyb20gJy4uL2Fic3RyYWN0LWJsb2NrJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncGItaW1hZ2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW1hZ2UuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbWFnZUNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0QmxvY2s8SW1hZ2VCbG9jaz4ge1xyXG4gIC8vIEBJbnB1dCgpIGJsb2NrID0gbmV3IEltYWdlQmxvY2soKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS50ZXh0QWxpZ24nKSBnZXQgYWxpZ24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5ibG9jay5vcHRpb25zLmFsaWduO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNyYygpIHtcclxuICAgIHJldHVybiB0aGlzLmJsb2NrLnNyYyB8fCAnaHR0cHM6Ly92aWEucGxhY2Vob2xkZXIuY29tLzYwMHgyMDA/dGV4dD1DSEFOR0UrTUUnO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbWFnZVVwbG9hZGVyOiBQYlVzZXJJbWFnZVVwbG9hZGVyU2VydmljZSwgcHJpdmF0ZSBjaFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyBuZ2I6IFBiRW1haWxCdWlsZGVyU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHVwbG9hZEltYWdlKCkge1xyXG4gICAgY29uc3Qgc3JjID0gYXdhaXQgdGhpcy5pbWFnZVVwbG9hZGVyLmJyb3dzZSQoKS50b1Byb21pc2UoKTtcclxuICAgIGlmIChzcmMpIHtcclxuICAgICAgdGhpcy5ibG9jay5zcmMgPSBzcmM7XHJcbiAgICAgIHRoaXMuY2hSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRJbWFnZVN0eWxlcygpIHtcclxuICAgIGNvbnN0IHsgYm9yZGVyLCB3aWR0aCwgaGVpZ2h0LCBwYWRkaW5nIH0gPSB0aGlzLmJsb2NrLm9wdGlvbnM7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgd2lkdGg6IGNyZWF0ZVdpZHRoSGVpZ2h0KHdpZHRoKSxcclxuICAgICAgaGVpZ2h0OiBjcmVhdGVXaWR0aEhlaWdodChoZWlnaHQpLFxyXG4gICAgICAuLi5jcmVhdGVQYWRkaW5nKHBhZGRpbmcpLFxyXG4gICAgICAuLi5jcmVhdGVCb3JkZXIoYm9yZGVyKVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2024 Pobuca.
|
|
3
|
-
* All rights reserved.
|
|
4
|
-
*/
|
|
5
|
-
import { Component } from '@angular/core';
|
|
6
|
-
import { createFont, createLineHeight, createPadding, getAssetByPath } from '../../utils';
|
|
7
|
-
import { AbstractBlock } from '../abstract-block';
|
|
8
|
-
export class SocialComponent extends AbstractBlock {
|
|
9
|
-
// @Input()
|
|
10
|
-
// block: SocialBlock;
|
|
11
|
-
getParentStyles() {
|
|
12
|
-
const { color, font, lineHeight, padding } = this.block.options;
|
|
13
|
-
return Object.assign(Object.assign(Object.assign({ color }, createLineHeight(lineHeight)), createFont(font)), createPadding(padding));
|
|
14
|
-
}
|
|
15
|
-
getLabelStyles() {
|
|
16
|
-
const { innerPadding } = this.block.options;
|
|
17
|
-
return Object.assign(Object.assign({}, createPadding(innerPadding)), { lineHeight: 0 });
|
|
18
|
-
}
|
|
19
|
-
getSocialListStyles() {
|
|
20
|
-
const { align } = this.block.options;
|
|
21
|
-
return {
|
|
22
|
-
display: 'flex',
|
|
23
|
-
placeContent: (align === 'left' && 'flex-start') ||
|
|
24
|
-
(align === 'right' && 'flex-end') ||
|
|
25
|
-
align
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
getSocialListClasses() {
|
|
29
|
-
return `social-list ${this.block.options.mode}`;
|
|
30
|
-
}
|
|
31
|
-
getSocialNetworkIcon(network) {
|
|
32
|
-
return getAssetByPath(`${network}.png`);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
SocialComponent.decorators = [
|
|
36
|
-
{ type: Component, args: [{
|
|
37
|
-
selector: 'pb-social',
|
|
38
|
-
template: "<!--\n ~ Copyright (c) 2024 Pobuca.\n ~ All rights reserved.\n -->\n\n<div fxLayout [ngStyle]=\"getParentStyles()\">\n <div [class]=\"getSocialListClasses()\" [ngStyle]=\"getSocialListStyles()\">\n <ng-container *ngIf=\"block.networks.length; else noSocialNetworks\">\n <div class=\"social-list-item\" *ngFor=\"let network of block.networks\">\n <div [ngStyle]=\"getLabelStyles()\">\n <img [src]=\"getSocialNetworkIcon(network.name)\" [width]=\"block.options.iconSize.value\"\n [height]=\"block.options.iconSize.value\" [classList]=\"network.name\" [alt]=\"network.name\" />\n </div>\n <span *ngIf=\"network.label\">{{ network.label }}</span>\n </div>\n </ng-container>\n </div>\n</div>\n\n<ng-template #noSocialNetworks>\n <p i18n=\"social block|Empty social list message\">Please add some social networks.</p>\n</ng-template>\n",
|
|
39
|
-
styles: ["/*!\n * Copyright (c) 2024 Pobuca.\n * All rights reserved.\n */:host{display:block}p{margin:0}.social-list{display:flex;width:100%;flex-wrap:wrap}.social-list.horizontal{flex-direction:row}.social-list.vertical{flex-direction:column}.social-list-item{display:flex;flex-direction:row;align-items:center}.social-list-item img{border-radius:3px
|
|
40
|
-
},] }
|
|
41
|
-
];
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Pobuca.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*/
|
|
5
|
+
import { Component } from '@angular/core';
|
|
6
|
+
import { createFont, createLineHeight, createPadding, getAssetByPath } from '../../utils';
|
|
7
|
+
import { AbstractBlock } from '../abstract-block';
|
|
8
|
+
export class SocialComponent extends AbstractBlock {
|
|
9
|
+
// @Input()
|
|
10
|
+
// block: SocialBlock;
|
|
11
|
+
getParentStyles() {
|
|
12
|
+
const { color, font, lineHeight, padding } = this.block.options;
|
|
13
|
+
return Object.assign(Object.assign(Object.assign({ color }, createLineHeight(lineHeight)), createFont(font)), createPadding(padding));
|
|
14
|
+
}
|
|
15
|
+
getLabelStyles() {
|
|
16
|
+
const { innerPadding } = this.block.options;
|
|
17
|
+
return Object.assign(Object.assign({}, createPadding(innerPadding)), { lineHeight: 0 });
|
|
18
|
+
}
|
|
19
|
+
getSocialListStyles() {
|
|
20
|
+
const { align } = this.block.options;
|
|
21
|
+
return {
|
|
22
|
+
display: 'flex',
|
|
23
|
+
placeContent: (align === 'left' && 'flex-start') ||
|
|
24
|
+
(align === 'right' && 'flex-end') ||
|
|
25
|
+
align
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
getSocialListClasses() {
|
|
29
|
+
return `social-list ${this.block.options.mode}`;
|
|
30
|
+
}
|
|
31
|
+
getSocialNetworkIcon(network) {
|
|
32
|
+
return getAssetByPath(`${network}.png`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
SocialComponent.decorators = [
|
|
36
|
+
{ type: Component, args: [{
|
|
37
|
+
selector: 'pb-social',
|
|
38
|
+
template: "<!--\r\n ~ Copyright (c) 2024 Pobuca.\r\n ~ All rights reserved.\r\n -->\r\n\r\n<div fxLayout [ngStyle]=\"getParentStyles()\">\r\n <div [class]=\"getSocialListClasses()\" [ngStyle]=\"getSocialListStyles()\">\r\n <ng-container *ngIf=\"block.networks.length; else noSocialNetworks\">\r\n <div class=\"social-list-item\" *ngFor=\"let network of block.networks\">\r\n <div [ngStyle]=\"getLabelStyles()\">\r\n <img [src]=\"getSocialNetworkIcon(network.name)\" [style.backgroundColor]=\"block.options.color\" [width]=\"block.options.iconSize.value\"\r\n [height]=\"block.options.iconSize.value\" [classList]=\"network.name\" [alt]=\"network.name\" />\r\n </div>\r\n <span *ngIf=\"network.label\">{{ network.label }}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<ng-template #noSocialNetworks>\r\n <p i18n=\"social block|Empty social list message\">Please add some social networks.</p>\r\n</ng-template>\r\n",
|
|
39
|
+
styles: ["/*!\n * Copyright (c) 2024 Pobuca.\n * All rights reserved.\n */:host{display:block}p{margin:0}.social-list{display:flex;width:100%;flex-wrap:wrap}.social-list.horizontal{flex-direction:row}.social-list.vertical{flex-direction:column}.social-list-item{display:flex;flex-direction:row;align-items:center}.social-list-item img{border-radius:3px;background-color:#000}"]
|
|
40
|
+
},] }
|
|
41
|
+
];
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29jaWFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BiLWVtYWlsLWJ1aWxkZXIvc3JjL2xpYi9lbGVtZW50cy9zb2NpYWwvc29jaWFsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQTBCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUMsVUFBVSxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDeEYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBUWhELE1BQU0sT0FBTyxlQUFnQixTQUFRLGFBQTBCO0lBQzdELFdBQVc7SUFDWCxzQkFBc0I7SUFFdEIsZUFBZTtRQUNiLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUVoRSxtREFDRSxLQUFLLElBQ0YsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEdBQzVCLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FDaEIsYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUN6QjtJQUNKLENBQUM7SUFFRCxjQUFjO1FBQ1osTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzVDLHVDQUFZLGFBQWEsQ0FBQyxZQUFZLENBQUMsS0FBRSxVQUFVLEVBQUUsQ0FBQyxJQUFHO0lBQzNELENBQUM7SUFFRCxtQkFBbUI7UUFDakIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQ3JDLE9BQU87WUFDTCxPQUFPLEVBQUUsTUFBTTtZQUNmLFlBQVksRUFDVixDQUFDLEtBQUssS0FBSyxNQUFNLElBQUksWUFBWSxDQUFDO2dCQUNsQyxDQUFDLEtBQUssS0FBSyxPQUFPLElBQUksVUFBVSxDQUFDO2dCQUNqQyxLQUFLO1NBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsT0FBTyxlQUFlLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxPQUFlO1FBQ2xDLE9BQU8sY0FBYyxDQUFDLEdBQUcsT0FBTyxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDOzs7WUEzQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQixvK0JBQXNDOzthQUd2QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoYykgMjAyNCBQb2J1Y2EuXHJcbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbiAqL1xyXG5cclxuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtTb2NpYWxCbG9ja30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9FbGVtZW50cyc7XHJcbmltcG9ydCB7Y3JlYXRlRm9udCwgY3JlYXRlTGluZUhlaWdodCwgY3JlYXRlUGFkZGluZywgZ2V0QXNzZXRCeVBhdGh9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHtBYnN0cmFjdEJsb2NrfSBmcm9tICcuLi9hYnN0cmFjdC1ibG9jayc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3BiLXNvY2lhbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NvY2lhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc29jaWFsLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgLy8gY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFNvY2lhbENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0QmxvY2s8U29jaWFsQmxvY2s+IHtcclxuICAvLyBASW5wdXQoKVxyXG4gIC8vIGJsb2NrOiBTb2NpYWxCbG9jaztcclxuXHJcbiAgZ2V0UGFyZW50U3R5bGVzKCkge1xyXG4gICAgY29uc3QgeyBjb2xvciwgZm9udCwgbGluZUhlaWdodCwgcGFkZGluZyB9ID0gdGhpcy5ibG9jay5vcHRpb25zO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGNvbG9yLFxyXG4gICAgICAuLi5jcmVhdGVMaW5lSGVpZ2h0KGxpbmVIZWlnaHQpLFxyXG4gICAgICAuLi5jcmVhdGVGb250KGZvbnQpLFxyXG4gICAgICAuLi5jcmVhdGVQYWRkaW5nKHBhZGRpbmcpXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0TGFiZWxTdHlsZXMoKSB7XHJcbiAgICBjb25zdCB7IGlubmVyUGFkZGluZyB9ID0gdGhpcy5ibG9jay5vcHRpb25zO1xyXG4gICAgcmV0dXJuIHsgLi4uY3JlYXRlUGFkZGluZyhpbm5lclBhZGRpbmcpLCBsaW5lSGVpZ2h0OiAwIH07XHJcbiAgfVxyXG5cclxuICBnZXRTb2NpYWxMaXN0U3R5bGVzKCkge1xyXG4gICAgY29uc3QgeyBhbGlnbiB9ID0gdGhpcy5ibG9jay5vcHRpb25zO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZGlzcGxheTogJ2ZsZXgnLFxyXG4gICAgICBwbGFjZUNvbnRlbnQ6XHJcbiAgICAgICAgKGFsaWduID09PSAnbGVmdCcgJiYgJ2ZsZXgtc3RhcnQnKSB8fFxyXG4gICAgICAgIChhbGlnbiA9PT0gJ3JpZ2h0JyAmJiAnZmxleC1lbmQnKSB8fFxyXG4gICAgICAgIGFsaWduXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0U29jaWFsTGlzdENsYXNzZXMoKSB7XHJcbiAgICByZXR1cm4gYHNvY2lhbC1saXN0ICR7dGhpcy5ibG9jay5vcHRpb25zLm1vZGV9YDtcclxuICB9XHJcblxyXG4gIGdldFNvY2lhbE5ldHdvcmtJY29uKG5ldHdvcms6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIGdldEFzc2V0QnlQYXRoKGAke25ldHdvcmt9LnBuZ2ApO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2024 Pobuca.
|
|
3
|
-
* All rights reserved.
|
|
4
|
-
*/
|
|
5
|
-
import { Component, HostBinding } from '@angular/core';
|
|
6
|
-
import { createWidthHeight } from '../../utils';
|
|
7
|
-
import { AbstractBlock } from '../abstract-block';
|
|
8
|
-
export class SpacerComponent extends AbstractBlock {
|
|
9
|
-
// @Input() block: SpacerBlock = new SpacerBlock();
|
|
10
|
-
get height() {
|
|
11
|
-
return createWidthHeight(this.block.options.height);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
SpacerComponent.decorators = [
|
|
15
|
-
{ type: Component, args: [{
|
|
16
|
-
selector: 'pb-spacer',
|
|
17
|
-
template: '',
|
|
18
|
-
styles: [`
|
|
19
|
-
:host {
|
|
20
|
-
display: table;
|
|
21
|
-
width: 100%;
|
|
22
|
-
transition: all 500ms cubic-bezier(0.445, 0.05, 0.55, 0.95);
|
|
23
|
-
}
|
|
24
|
-
`]
|
|
25
|
-
},] }
|
|
26
|
-
];
|
|
27
|
-
SpacerComponent.propDecorators = {
|
|
28
|
-
height: [{ type: HostBinding, args: ['style.height',] }]
|
|
29
|
-
};
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Pobuca.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*/
|
|
5
|
+
import { Component, HostBinding } from '@angular/core';
|
|
6
|
+
import { createWidthHeight } from '../../utils';
|
|
7
|
+
import { AbstractBlock } from '../abstract-block';
|
|
8
|
+
export class SpacerComponent extends AbstractBlock {
|
|
9
|
+
// @Input() block: SpacerBlock = new SpacerBlock();
|
|
10
|
+
get height() {
|
|
11
|
+
return createWidthHeight(this.block.options.height);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
SpacerComponent.decorators = [
|
|
15
|
+
{ type: Component, args: [{
|
|
16
|
+
selector: 'pb-spacer',
|
|
17
|
+
template: '',
|
|
18
|
+
styles: [`
|
|
19
|
+
:host {
|
|
20
|
+
display: table;
|
|
21
|
+
width: 100%;
|
|
22
|
+
transition: all 500ms cubic-bezier(0.445, 0.05, 0.55, 0.95);
|
|
23
|
+
}
|
|
24
|
+
`]
|
|
25
|
+
},] }
|
|
26
|
+
];
|
|
27
|
+
SpacerComponent.propDecorators = {
|
|
28
|
+
height: [{ type: HostBinding, args: ['style.height',] }]
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhY2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BiLWVtYWlsLWJ1aWxkZXIvc3JjL2xpYi9lbGVtZW50cy9zcGFjZXIvc3BhY2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQTBCLFNBQVMsRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFOUUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sYUFBYSxDQUFDO0FBRTlDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQWdCaEQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsYUFBMEI7SUFDN0QsbURBQW1EO0lBRW5ELElBQWlDLE1BQU07UUFDckMsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0RCxDQUFDOzs7WUFuQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQixRQUFRLEVBQUUsRUFBRTt5QkFFVjs7Ozs7O0tBTUM7YUFHSjs7O3FCQUlFLFdBQVcsU0FBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChjKSAyMDI0IFBvYnVjYS5cclxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuICovXHJcblxyXG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtTcGFjZXJCbG9ja30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9FbGVtZW50cyc7XHJcbmltcG9ydCB7Y3JlYXRlV2lkdGhIZWlnaHR9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuXHJcbmltcG9ydCB7QWJzdHJhY3RCbG9ja30gZnJvbSAnLi4vYWJzdHJhY3QtYmxvY2snO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdwYi1zcGFjZXInLFxyXG4gIHRlbXBsYXRlOiAnJyxcclxuICBzdHlsZXM6IFtcclxuICAgIGBcclxuICAgICAgOmhvc3Qge1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcyBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUsIDAuNTUsIDAuOTUpO1xyXG4gICAgICB9XHJcbiAgICBgXHJcbiAgXSxcclxuICAvLyBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3BhY2VyQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RCbG9jazxTcGFjZXJCbG9jaz4ge1xyXG4gIC8vIEBJbnB1dCgpIGJsb2NrOiBTcGFjZXJCbG9jayA9IG5ldyBTcGFjZXJCbG9jaygpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpIGdldCBoZWlnaHQoKSB7XHJcbiAgICByZXR1cm4gY3JlYXRlV2lkdGhIZWlnaHQodGhpcy5ibG9jay5vcHRpb25zLmhlaWdodCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2024 Pobuca.
|
|
3
|
-
* All rights reserved.
|
|
4
|
-
*/
|
|
5
|
-
import { Component, ViewEncapsulation } from '@angular/core';
|
|
6
|
-
import { debounceTime, map, mapTo, take, takeUntil } from 'rxjs/operators';
|
|
7
|
-
import { Subject } from 'rxjs';
|
|
8
|
-
import { createFont, createLineHeight, createPadding } from '../../utils';
|
|
9
|
-
import { PbUserInterfaceService } from '../../services/internals/user-interfaces/user-interface.service';
|
|
10
|
-
import { PbEmailObjectStoreService } from '../../services/internals/pb-email-object-store/pb-email-object-store.service';
|
|
11
|
-
import { PbUserRestApiService } from '../../services/user-rest-api-service/user-rest-api.service';
|
|
12
|
-
import { AbstractBlock } from '../abstract-block';
|
|
13
|
-
export class TextElementComponent extends AbstractBlock {
|
|
14
|
-
constructor(userRestApi, emailObject, internalService) {
|
|
15
|
-
super();
|
|
16
|
-
this.userRestApi = userRestApi;
|
|
17
|
-
this.emailObject = emailObject;
|
|
18
|
-
this.internalService = internalService;
|
|
19
|
-
// @Input() block: TextBlock;
|
|
20
|
-
this.setAsReadOnly$ = this.internalService.currentEditingBlock$.pipe(map(editingBlock => editingBlock !== this.block));
|
|
21
|
-
this.staticQuillConfig = {
|
|
22
|
-
toolbar: {
|
|
23
|
-
container: [
|
|
24
|
-
['bold', 'italic', 'underline', 'strike'],
|
|
25
|
-
[{ header: [1, 2, 3, 4, 5, 6, false] }, { size: ['small', false, 'large', 'huge'] }],
|
|
26
|
-
[{ align: [] }, 'link'],
|
|
27
|
-
[{ list: 'ordered' }, { list: 'bullet' }],
|
|
28
|
-
[{ color: [] }, { background: [] }],
|
|
29
|
-
['clean']
|
|
30
|
-
],
|
|
31
|
-
handlers: {
|
|
32
|
-
placeholder(selector) {
|
|
33
|
-
const range = this.quill.getSelection();
|
|
34
|
-
const format = this.quill.getFormat();
|
|
35
|
-
const text = this.quill.getText(range.index, range.length);
|
|
36
|
-
this.quill.deleteText(range.index, text.length);
|
|
37
|
-
this.quill.insertText(range.index, selector, format);
|
|
38
|
-
this.quill.setSelection(range.index, selector.length);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
this.quillInit$ = this.userRestApi.getAllUserMergeFields$.pipe(map(placeholder => {
|
|
44
|
-
// @ts-ignore
|
|
45
|
-
this.staticQuillConfig.toolbar.container.splice(-1, 0, [{ placeholder }]);
|
|
46
|
-
}), mapTo(true), take(1));
|
|
47
|
-
this.textChanged$ = new Subject();
|
|
48
|
-
this.componentDestroyed$ = new Subject();
|
|
49
|
-
}
|
|
50
|
-
getTextStyles() {
|
|
51
|
-
const { color, font, lineHeight, padding } = this.block.options;
|
|
52
|
-
return Object.assign(Object.assign(Object.assign({ color, 'word-break': 'break-all' }, createLineHeight(lineHeight)), createFont(font)), createPadding(padding));
|
|
53
|
-
}
|
|
54
|
-
contentChanged() {
|
|
55
|
-
this.textChanged$.next();
|
|
56
|
-
}
|
|
57
|
-
ngOnInit() {
|
|
58
|
-
this.textChanged$.pipe(debounceTime(600), takeUntil(this.componentDestroyed$)).subscribe(() => {
|
|
59
|
-
this.emailObject.markForCheck();
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
ngOnDestroy() {
|
|
63
|
-
this.componentDestroyed$.next();
|
|
64
|
-
this.componentDestroyed$.complete();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
TextElementComponent.decorators = [
|
|
68
|
-
{ type: Component, args: [{
|
|
69
|
-
selector: 'pb-text-element',
|
|
70
|
-
template: "<!--\n ~ Copyright (c) 2024 Pobuca.\n ~ All rights reserved.\n -->\n\n<div [ngStyle]=\"getTextStyles()\">\n <quill-editor *ngIf=\"quillInit$ | async; else loadingModules\" i18n-placeholder=\"text-element|placeholder\"\n placeholder=\"Insert text here ...\" [modules]=\"staticQuillConfig\" [readOnly]=\"setAsReadOnly$ |async\"\n [(ngModel)]=\"block.innerText\" (onContentChanged)=\"contentChanged()\">\n </quill-editor>\n</div>\n\n<ng-template #loadingModules>\n <span i18n=\"text-element|loading message\">Please wait ...</span>\n</ng-template>\n",
|
|
71
|
-
encapsulation: ViewEncapsulation.None,
|
|
72
|
-
styles: ["@charset \"UTF-8\";\n/*!\n * Copyright (c) 2024 Pobuca.\n * All rights reserved.\n */\n/*!\n * Quill Editor v1.3.7\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;-o-tab-size:4;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre,.ql-editor ul{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:\"\u2022\"}.ql-editor ul[data-checked=false],.ql-editor ul[data-checked=true]{pointer-events:none}.ql-editor ul[data-checked=false]>li *,.ql-editor ul[data-checked=true]>li *{pointer-events:all}.ql-editor ul[data-checked=false]>li:before,.ql-editor ul[data-checked=true]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:\"\u2611\"}.ql-editor ul[data-checked=false]>li:before{content:\"\u2610\"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) \". \"}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) \". \"}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) \". \"}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) \". \"}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) \". \"}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) \". \"}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) \". \"}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) \". \"}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) \". \"}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) \". \"}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:rgba(0,0,0,.6);content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-bubble.ql-toolbar:after,.ql-bubble .ql-toolbar:after{clear:both;content:\"\";display:table}.ql-bubble.ql-toolbar button,.ql-bubble .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-bubble.ql-toolbar button svg,.ql-bubble .ql-toolbar button svg{float:left;height:100%}.ql-bubble.ql-toolbar button:active:hover,.ql-bubble .ql-toolbar button:active:hover{outline:none}.ql-bubble.ql-toolbar input.ql-image[type=file],.ql-bubble .ql-toolbar input.ql-image[type=file]{display:none}.ql-bubble.ql-toolbar .ql-picker-item.ql-selected,.ql-bubble .ql-toolbar .ql-picker-item.ql-selected,.ql-bubble.ql-toolbar .ql-picker-item:hover,.ql-bubble .ql-toolbar .ql-picker-item:hover,.ql-bubble.ql-toolbar .ql-picker-label.ql-active,.ql-bubble .ql-toolbar .ql-picker-label.ql-active,.ql-bubble.ql-toolbar .ql-picker-label:hover,.ql-bubble .ql-toolbar .ql-picker-label:hover,.ql-bubble.ql-toolbar button.ql-active,.ql-bubble .ql-toolbar button.ql-active,.ql-bubble.ql-toolbar button:focus,.ql-bubble .ql-toolbar button:focus,.ql-bubble.ql-toolbar button:hover,.ql-bubble .ql-toolbar button:hover{color:#fff}.ql-bubble.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-bubble .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-bubble.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-bubble .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-bubble.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-bubble .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-bubble.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-bubble .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-bubble.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-bubble .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-bubble.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-bubble .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-bubble.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-bubble .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-bubble.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-bubble .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-bubble.ql-toolbar button.ql-active .ql-fill,.ql-bubble .ql-toolbar button.ql-active .ql-fill,.ql-bubble.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-bubble .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-bubble.ql-toolbar button:focus .ql-fill,.ql-bubble .ql-toolbar button:focus .ql-fill,.ql-bubble.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-bubble .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-bubble.ql-toolbar button:hover .ql-fill,.ql-bubble .ql-toolbar button:hover .ql-fill,.ql-bubble.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-bubble .ql-toolbar button:hover .ql-stroke.ql-fill{fill:#fff}.ql-bubble.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-bubble .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-bubble.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-bubble .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-bubble.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-bubble .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-bubble.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-bubble .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-bubble.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-bubble .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-bubble.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-bubble .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-bubble.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-bubble .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-bubble.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-bubble .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-bubble.ql-toolbar button.ql-active .ql-stroke,.ql-bubble .ql-toolbar button.ql-active .ql-stroke,.ql-bubble.ql-toolbar button.ql-active .ql-stroke-miter,.ql-bubble .ql-toolbar button.ql-active .ql-stroke-miter,.ql-bubble.ql-toolbar button:focus .ql-stroke,.ql-bubble .ql-toolbar button:focus .ql-stroke,.ql-bubble.ql-toolbar button:focus .ql-stroke-miter,.ql-bubble .ql-toolbar button:focus .ql-stroke-miter,.ql-bubble.ql-toolbar button:hover .ql-stroke,.ql-bubble .ql-toolbar button:hover .ql-stroke,.ql-bubble.ql-toolbar button:hover .ql-stroke-miter,.ql-bubble .ql-toolbar button:hover .ql-stroke-miter{stroke:#fff}@media (pointer:coarse){.ql-bubble.ql-toolbar button:hover:not(.ql-active),.ql-bubble .ql-toolbar button:hover:not(.ql-active){color:#ccc}.ql-bubble.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-bubble .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-bubble.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-bubble .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#ccc}.ql-bubble.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-bubble .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-bubble.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-bubble .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#ccc}}.ql-bubble,.ql-bubble *{box-sizing:border-box}.ql-bubble .ql-hidden{display:none}.ql-bubble .ql-out-bottom,.ql-bubble .ql-out-top{visibility:hidden}.ql-bubble .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-bubble .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-bubble .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-bubble .ql-formats{display:inline-block;vertical-align:middle}.ql-bubble .ql-formats:after{clear:both;content:\"\";display:table}.ql-bubble .ql-stroke{fill:none;stroke:#ccc;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-bubble .ql-stroke-miter{fill:none;stroke:#ccc;stroke-miterlimit:10;stroke-width:2}.ql-bubble .ql-fill,.ql-bubble .ql-stroke.ql-fill{fill:#ccc}.ql-bubble .ql-empty{fill:none}.ql-bubble .ql-even{fill-rule:evenodd}.ql-bubble .ql-stroke.ql-thin,.ql-bubble .ql-thin{stroke-width:1}.ql-bubble .ql-transparent{opacity:.4}.ql-bubble .ql-direction svg:last-child{display:none}.ql-bubble .ql-direction.ql-active svg:last-child{display:inline}.ql-bubble .ql-direction.ql-active svg:first-child{display:none}.ql-bubble .ql-editor h1{font-size:2em}.ql-bubble .ql-editor h2{font-size:1.5em}.ql-bubble .ql-editor h3{font-size:1.17em}.ql-bubble .ql-editor h4{font-size:1em}.ql-bubble .ql-editor h5{font-size:.83em}.ql-bubble .ql-editor h6{font-size:.67em}.ql-bubble .ql-editor a{text-decoration:underline}.ql-bubble .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-bubble .ql-editor code,.ql-bubble .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-bubble .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-bubble .ql-editor code{font-size:85%;padding:2px 4px}.ql-bubble .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-bubble .ql-editor img{max-width:100%}.ql-bubble .ql-picker{color:#ccc;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-bubble .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-bubble .ql-picker-label:before{display:inline-block;line-height:22px}.ql-bubble .ql-picker-options{background-color:#444;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-bubble .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-bubble .ql-picker.ql-expanded .ql-picker-label{color:#777;z-index:2}.ql-bubble .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#777}.ql-bubble .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#777}.ql-bubble .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-bubble .ql-color-picker,.ql-bubble .ql-icon-picker{width:28px}.ql-bubble .ql-color-picker .ql-picker-label,.ql-bubble .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-bubble .ql-color-picker .ql-picker-label svg,.ql-bubble .ql-icon-picker .ql-picker-label svg{right:4px}.ql-bubble .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-bubble .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-bubble .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-bubble .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-bubble .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-bubble .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-bubble .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-bubble .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-bubble .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-bubble .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-bubble .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=\"\"]):before{content:attr(data-label)}.ql-bubble .ql-picker.ql-header{width:98px}.ql-bubble .ql-picker.ql-header .ql-picker-item:before,.ql-bubble .ql-picker.ql-header .ql-picker-label:before{content:\"Normal\"}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]:before,.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value=\"1\"]:before{content:\"Heading 1\"}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]:before,.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value=\"2\"]:before{content:\"Heading 2\"}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]:before,.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value=\"3\"]:before{content:\"Heading 3\"}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]:before,.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value=\"4\"]:before{content:\"Heading 4\"}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]:before,.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value=\"5\"]:before{content:\"Heading 5\"}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]:before,.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value=\"6\"]:before{content:\"Heading 6\"}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]:before{font-size:2em}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]:before{font-size:1.5em}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]:before{font-size:1.17em}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]:before{font-size:1em}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]:before{font-size:.83em}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]:before{font-size:.67em}.ql-bubble .ql-picker.ql-font{width:108px}.ql-bubble .ql-picker.ql-font .ql-picker-item:before,.ql-bubble .ql-picker.ql-font .ql-picker-label:before{content:\"Sans Serif\"}.ql-bubble .ql-picker.ql-font .ql-picker-item[data-value=serif]:before,.ql-bubble .ql-picker.ql-font .ql-picker-label[data-value=serif]:before{content:\"Serif\"}.ql-bubble .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before,.ql-bubble .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before{content:\"Monospace\"}.ql-bubble .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-bubble .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-bubble .ql-picker.ql-size{width:98px}.ql-bubble .ql-picker.ql-size .ql-picker-item:before,.ql-bubble .ql-picker.ql-size .ql-picker-label:before{content:\"Normal\"}.ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=small]:before,.ql-bubble .ql-picker.ql-size .ql-picker-label[data-value=small]:before{content:\"Small\"}.ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=large]:before,.ql-bubble .ql-picker.ql-size .ql-picker-label[data-value=large]:before{content:\"Large\"}.ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=huge]:before,.ql-bubble .ql-picker.ql-size .ql-picker-label[data-value=huge]:before{content:\"Huge\"}.ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-bubble .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-bubble .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-bubble .ql-toolbar .ql-formats{margin:8px 12px 8px 0}.ql-bubble .ql-toolbar .ql-formats:first-child{margin-left:12px}.ql-bubble .ql-color-picker svg{margin:1px}.ql-bubble .ql-color-picker .ql-picker-item.ql-selected,.ql-bubble .ql-color-picker .ql-picker-item:hover{border-color:#fff}.ql-bubble .ql-tooltip{background-color:#444;border-radius:25px;color:#fff}.ql-bubble .ql-tooltip-arrow{border-left:6px solid transparent;border-right:6px solid transparent;content:\" \";display:block;left:50%;margin-left:-6px;position:absolute}.ql-bubble .ql-tooltip:not(.ql-flip) .ql-tooltip-arrow{border-bottom:6px solid #444;top:-6px}.ql-bubble .ql-tooltip.ql-flip .ql-tooltip-arrow{border-top:6px solid #444;bottom:-6px}.ql-bubble .ql-tooltip.ql-editing .ql-tooltip-editor{display:block}.ql-bubble .ql-tooltip.ql-editing .ql-formats{visibility:hidden}.ql-bubble .ql-tooltip-editor{display:none}.ql-bubble .ql-tooltip-editor input[type=text]{background:transparent;border:none;color:#fff;font-size:13px;height:100%;outline:none;padding:10px 20px;position:absolute;width:100%}.ql-bubble .ql-tooltip-editor a{top:10px;position:absolute;right:20px}.ql-bubble .ql-tooltip-editor a:before{color:#ccc;content:\"\u00D7\";font-size:16px;font-weight:700}.ql-container.ql-bubble:not(.ql-disabled) a{position:relative;white-space:nowrap}.ql-container.ql-bubble:not(.ql-disabled) a:before{background-color:#444;border-radius:15px;top:-5px;font-size:12px;color:#fff;content:attr(href);font-weight:400;overflow:hidden;padding:5px 15px;text-decoration:none;z-index:1}.ql-container.ql-bubble:not(.ql-disabled) a:after{border-top:6px solid #444;border-left:6px solid transparent;border-right:6px solid transparent;top:0;content:\" \";height:0;width:0}.ql-container.ql-bubble:not(.ql-disabled) a:after,.ql-container.ql-bubble:not(.ql-disabled) a:before{left:0;margin-left:50%;position:absolute;transform:translate(-50%,-100%);transition:visibility 0s ease .2s;visibility:hidden}.ql-container.ql-bubble:not(.ql-disabled) a:hover:after,.ql-container.ql-bubble:not(.ql-disabled) a:hover:before{visibility:visible}quill-editor{display:block;word-break:break-word}quill-editor .ql-container{font-family:inherit;font-size:inherit}quill-editor .ql-container .ql-editor{padding:0!important;line-height:inherit;font:inherit;overflow:visible}quill-editor .ql-placeholder .ql-picker-label:before{display:block;content:\"Tags\";min-width:50px}quill-editor .ql-placeholder.ql-expanded .ql-picker-item:before{content:attr(data-value);width:-moz-min-content;width:min-content}quill-editor .ql-tooltip{z-index:10;line-height:normal}quill-editor .ql-tooltip .ql-picker-options{max-height:300px;overflow:auto}quill-editor .ql-toolbar{width:600px;width:-moz-max-content;width:max-content}quill-editor h1,quill-editor h2,quill-editor h3,quill-editor h4,quill-editor h5,quill-editor h6{font-weight:inherit;line-height:inherit}"]
|
|
73
|
-
},] }
|
|
74
|
-
];
|
|
75
|
-
TextElementComponent.ctorParameters = () => [
|
|
76
|
-
{ type: PbUserRestApiService },
|
|
77
|
-
{ type: PbEmailObjectStoreService },
|
|
78
|
-
{ type: PbUserInterfaceService }
|
|
79
|
-
];
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Pobuca.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*/
|
|
5
|
+
import { Component, ViewEncapsulation } from '@angular/core';
|
|
6
|
+
import { debounceTime, map, mapTo, take, takeUntil } from 'rxjs/operators';
|
|
7
|
+
import { Subject } from 'rxjs';
|
|
8
|
+
import { createFont, createLineHeight, createPadding } from '../../utils';
|
|
9
|
+
import { PbUserInterfaceService } from '../../services/internals/user-interfaces/user-interface.service';
|
|
10
|
+
import { PbEmailObjectStoreService } from '../../services/internals/pb-email-object-store/pb-email-object-store.service';
|
|
11
|
+
import { PbUserRestApiService } from '../../services/user-rest-api-service/user-rest-api.service';
|
|
12
|
+
import { AbstractBlock } from '../abstract-block';
|
|
13
|
+
export class TextElementComponent extends AbstractBlock {
|
|
14
|
+
constructor(userRestApi, emailObject, internalService) {
|
|
15
|
+
super();
|
|
16
|
+
this.userRestApi = userRestApi;
|
|
17
|
+
this.emailObject = emailObject;
|
|
18
|
+
this.internalService = internalService;
|
|
19
|
+
// @Input() block: TextBlock;
|
|
20
|
+
this.setAsReadOnly$ = this.internalService.currentEditingBlock$.pipe(map(editingBlock => editingBlock !== this.block));
|
|
21
|
+
this.staticQuillConfig = {
|
|
22
|
+
toolbar: {
|
|
23
|
+
container: [
|
|
24
|
+
['bold', 'italic', 'underline', 'strike'],
|
|
25
|
+
[{ header: [1, 2, 3, 4, 5, 6, false] }, { size: ['small', false, 'large', 'huge'] }],
|
|
26
|
+
[{ align: [] }, 'link'],
|
|
27
|
+
[{ list: 'ordered' }, { list: 'bullet' }],
|
|
28
|
+
[{ color: [] }, { background: [] }],
|
|
29
|
+
['clean']
|
|
30
|
+
],
|
|
31
|
+
handlers: {
|
|
32
|
+
placeholder(selector) {
|
|
33
|
+
const range = this.quill.getSelection();
|
|
34
|
+
const format = this.quill.getFormat();
|
|
35
|
+
const text = this.quill.getText(range.index, range.length);
|
|
36
|
+
this.quill.deleteText(range.index, text.length);
|
|
37
|
+
this.quill.insertText(range.index, selector, format);
|
|
38
|
+
this.quill.setSelection(range.index, selector.length);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
this.quillInit$ = this.userRestApi.getAllUserMergeFields$.pipe(map(placeholder => {
|
|
44
|
+
// @ts-ignore
|
|
45
|
+
this.staticQuillConfig.toolbar.container.splice(-1, 0, [{ placeholder }]);
|
|
46
|
+
}), mapTo(true), take(1));
|
|
47
|
+
this.textChanged$ = new Subject();
|
|
48
|
+
this.componentDestroyed$ = new Subject();
|
|
49
|
+
}
|
|
50
|
+
getTextStyles() {
|
|
51
|
+
const { color, font, lineHeight, padding } = this.block.options;
|
|
52
|
+
return Object.assign(Object.assign(Object.assign({ color, 'word-break': 'break-all' }, createLineHeight(lineHeight)), createFont(font)), createPadding(padding));
|
|
53
|
+
}
|
|
54
|
+
contentChanged() {
|
|
55
|
+
this.textChanged$.next();
|
|
56
|
+
}
|
|
57
|
+
ngOnInit() {
|
|
58
|
+
this.textChanged$.pipe(debounceTime(600), takeUntil(this.componentDestroyed$)).subscribe(() => {
|
|
59
|
+
this.emailObject.markForCheck();
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
ngOnDestroy() {
|
|
63
|
+
this.componentDestroyed$.next();
|
|
64
|
+
this.componentDestroyed$.complete();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
TextElementComponent.decorators = [
|
|
68
|
+
{ type: Component, args: [{
|
|
69
|
+
selector: 'pb-text-element',
|
|
70
|
+
template: "<!--\r\n ~ Copyright (c) 2024 Pobuca.\r\n ~ All rights reserved.\r\n -->\r\n\r\n<div [ngStyle]=\"getTextStyles()\">\r\n <quill-editor *ngIf=\"quillInit$ | async; else loadingModules\" i18n-placeholder=\"text-element|placeholder\"\r\n placeholder=\"Insert text here ...\" [modules]=\"staticQuillConfig\" [readOnly]=\"setAsReadOnly$ |async\"\r\n [(ngModel)]=\"block.innerText\" (onContentChanged)=\"contentChanged()\">\r\n </quill-editor>\r\n</div>\r\n\r\n<ng-template #loadingModules>\r\n <span i18n=\"text-element|loading message\">Please wait ...</span>\r\n</ng-template>\r\n",
|
|
71
|
+
encapsulation: ViewEncapsulation.None,
|
|
72
|
+
styles: ["@charset \"UTF-8\";\n/*!\n * Copyright (c) 2024 Pobuca.\n * All rights reserved.\n */\n/*!\n * Quill Editor v1.3.7\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;-o-tab-size:4;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre,.ql-editor ul{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:\"\u2022\"}.ql-editor ul[data-checked=false],.ql-editor ul[data-checked=true]{pointer-events:none}.ql-editor ul[data-checked=false]>li *,.ql-editor ul[data-checked=true]>li *{pointer-events:all}.ql-editor ul[data-checked=false]>li:before,.ql-editor ul[data-checked=true]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:\"\u2611\"}.ql-editor ul[data-checked=false]>li:before{content:\"\u2610\"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) \". \"}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) \". \"}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) \". \"}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) \". \"}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) \". \"}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) \". \"}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) \". \"}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) \". \"}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) \". \"}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) \". \"}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:rgba(0,0,0,.6);content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-bubble.ql-toolbar:after,.ql-bubble .ql-toolbar:after{clear:both;content:\"\";display:table}.ql-bubble.ql-toolbar button,.ql-bubble .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-bubble.ql-toolbar button svg,.ql-bubble .ql-toolbar button svg{float:left;height:100%}.ql-bubble.ql-toolbar button:active:hover,.ql-bubble .ql-toolbar button:active:hover{outline:none}.ql-bubble.ql-toolbar input.ql-image[type=file],.ql-bubble .ql-toolbar input.ql-image[type=file]{display:none}.ql-bubble.ql-toolbar .ql-picker-item.ql-selected,.ql-bubble .ql-toolbar .ql-picker-item.ql-selected,.ql-bubble.ql-toolbar .ql-picker-item:hover,.ql-bubble .ql-toolbar .ql-picker-item:hover,.ql-bubble.ql-toolbar .ql-picker-label.ql-active,.ql-bubble .ql-toolbar .ql-picker-label.ql-active,.ql-bubble.ql-toolbar .ql-picker-label:hover,.ql-bubble .ql-toolbar .ql-picker-label:hover,.ql-bubble.ql-toolbar button.ql-active,.ql-bubble .ql-toolbar button.ql-active,.ql-bubble.ql-toolbar button:focus,.ql-bubble .ql-toolbar button:focus,.ql-bubble.ql-toolbar button:hover,.ql-bubble .ql-toolbar button:hover{color:#fff}.ql-bubble.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-bubble .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-bubble.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-bubble .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-bubble.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-bubble .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-bubble.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-bubble .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-bubble.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-bubble .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-bubble.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-bubble .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-bubble.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-bubble .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-bubble.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-bubble .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-bubble.ql-toolbar button.ql-active .ql-fill,.ql-bubble .ql-toolbar button.ql-active .ql-fill,.ql-bubble.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-bubble .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-bubble.ql-toolbar button:focus .ql-fill,.ql-bubble .ql-toolbar button:focus .ql-fill,.ql-bubble.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-bubble .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-bubble.ql-toolbar button:hover .ql-fill,.ql-bubble .ql-toolbar button:hover .ql-fill,.ql-bubble.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-bubble .ql-toolbar button:hover .ql-stroke.ql-fill{fill:#fff}.ql-bubble.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-bubble .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-bubble.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-bubble .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-bubble.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-bubble .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-bubble.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-bubble .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-bubble.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-bubble .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-bubble.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-bubble .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-bubble.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-bubble .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-bubble.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-bubble .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-bubble.ql-toolbar button.ql-active .ql-stroke,.ql-bubble .ql-toolbar button.ql-active .ql-stroke,.ql-bubble.ql-toolbar button.ql-active .ql-stroke-miter,.ql-bubble .ql-toolbar button.ql-active .ql-stroke-miter,.ql-bubble.ql-toolbar button:focus .ql-stroke,.ql-bubble .ql-toolbar button:focus .ql-stroke,.ql-bubble.ql-toolbar button:focus .ql-stroke-miter,.ql-bubble .ql-toolbar button:focus .ql-stroke-miter,.ql-bubble.ql-toolbar button:hover .ql-stroke,.ql-bubble .ql-toolbar button:hover .ql-stroke,.ql-bubble.ql-toolbar button:hover .ql-stroke-miter,.ql-bubble .ql-toolbar button:hover .ql-stroke-miter{stroke:#fff}@media (pointer:coarse){.ql-bubble.ql-toolbar button:hover:not(.ql-active),.ql-bubble .ql-toolbar button:hover:not(.ql-active){color:#ccc}.ql-bubble.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-bubble .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-bubble.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-bubble .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#ccc}.ql-bubble.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-bubble .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-bubble.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-bubble .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#ccc}}.ql-bubble,.ql-bubble *{box-sizing:border-box}.ql-bubble .ql-hidden{display:none}.ql-bubble .ql-out-bottom,.ql-bubble .ql-out-top{visibility:hidden}.ql-bubble .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-bubble .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-bubble .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-bubble .ql-formats{display:inline-block;vertical-align:middle}.ql-bubble .ql-formats:after{clear:both;content:\"\";display:table}.ql-bubble .ql-stroke{fill:none;stroke:#ccc;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-bubble .ql-stroke-miter{fill:none;stroke:#ccc;stroke-miterlimit:10;stroke-width:2}.ql-bubble .ql-fill,.ql-bubble .ql-stroke.ql-fill{fill:#ccc}.ql-bubble .ql-empty{fill:none}.ql-bubble .ql-even{fill-rule:evenodd}.ql-bubble .ql-stroke.ql-thin,.ql-bubble .ql-thin{stroke-width:1}.ql-bubble .ql-transparent{opacity:.4}.ql-bubble .ql-direction svg:last-child{display:none}.ql-bubble .ql-direction.ql-active svg:last-child{display:inline}.ql-bubble .ql-direction.ql-active svg:first-child{display:none}.ql-bubble .ql-editor h1{font-size:2em}.ql-bubble .ql-editor h2{font-size:1.5em}.ql-bubble .ql-editor h3{font-size:1.17em}.ql-bubble .ql-editor h4{font-size:1em}.ql-bubble .ql-editor h5{font-size:.83em}.ql-bubble .ql-editor h6{font-size:.67em}.ql-bubble .ql-editor a{text-decoration:underline}.ql-bubble .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-bubble .ql-editor code,.ql-bubble .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-bubble .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-bubble .ql-editor code{font-size:85%;padding:2px 4px}.ql-bubble .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-bubble .ql-editor img{max-width:100%}.ql-bubble .ql-picker{color:#ccc;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-bubble .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-bubble .ql-picker-label:before{display:inline-block;line-height:22px}.ql-bubble .ql-picker-options{background-color:#444;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-bubble .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-bubble .ql-picker.ql-expanded .ql-picker-label{color:#777;z-index:2}.ql-bubble .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#777}.ql-bubble .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#777}.ql-bubble .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-bubble .ql-color-picker,.ql-bubble .ql-icon-picker{width:28px}.ql-bubble .ql-color-picker .ql-picker-label,.ql-bubble .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-bubble .ql-color-picker .ql-picker-label svg,.ql-bubble .ql-icon-picker .ql-picker-label svg{right:4px}.ql-bubble .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-bubble .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-bubble .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-bubble .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-bubble .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-bubble .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-bubble .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-bubble .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-bubble .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-bubble .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-bubble .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=\"\"]):before{content:attr(data-label)}.ql-bubble .ql-picker.ql-header{width:98px}.ql-bubble .ql-picker.ql-header .ql-picker-item:before,.ql-bubble .ql-picker.ql-header .ql-picker-label:before{content:\"Normal\"}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]:before,.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value=\"1\"]:before{content:\"Heading 1\"}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]:before,.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value=\"2\"]:before{content:\"Heading 2\"}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]:before,.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value=\"3\"]:before{content:\"Heading 3\"}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]:before,.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value=\"4\"]:before{content:\"Heading 4\"}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]:before,.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value=\"5\"]:before{content:\"Heading 5\"}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]:before,.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value=\"6\"]:before{content:\"Heading 6\"}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]:before{font-size:2em}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]:before{font-size:1.5em}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]:before{font-size:1.17em}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]:before{font-size:1em}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]:before{font-size:.83em}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]:before{font-size:.67em}.ql-bubble .ql-picker.ql-font{width:108px}.ql-bubble .ql-picker.ql-font .ql-picker-item:before,.ql-bubble .ql-picker.ql-font .ql-picker-label:before{content:\"Sans Serif\"}.ql-bubble .ql-picker.ql-font .ql-picker-item[data-value=serif]:before,.ql-bubble .ql-picker.ql-font .ql-picker-label[data-value=serif]:before{content:\"Serif\"}.ql-bubble .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before,.ql-bubble .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before{content:\"Monospace\"}.ql-bubble .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-bubble .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-bubble .ql-picker.ql-size{width:98px}.ql-bubble .ql-picker.ql-size .ql-picker-item:before,.ql-bubble .ql-picker.ql-size .ql-picker-label:before{content:\"Normal\"}.ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=small]:before,.ql-bubble .ql-picker.ql-size .ql-picker-label[data-value=small]:before{content:\"Small\"}.ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=large]:before,.ql-bubble .ql-picker.ql-size .ql-picker-label[data-value=large]:before{content:\"Large\"}.ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=huge]:before,.ql-bubble .ql-picker.ql-size .ql-picker-label[data-value=huge]:before{content:\"Huge\"}.ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-bubble .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-bubble .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-bubble .ql-toolbar .ql-formats{margin:8px 12px 8px 0}.ql-bubble .ql-toolbar .ql-formats:first-child{margin-left:12px}.ql-bubble .ql-color-picker svg{margin:1px}.ql-bubble .ql-color-picker .ql-picker-item.ql-selected,.ql-bubble .ql-color-picker .ql-picker-item:hover{border-color:#fff}.ql-bubble .ql-tooltip{background-color:#444;border-radius:25px;color:#fff}.ql-bubble .ql-tooltip-arrow{border-left:6px solid transparent;border-right:6px solid transparent;content:\" \";display:block;left:50%;margin-left:-6px;position:absolute}.ql-bubble .ql-tooltip:not(.ql-flip) .ql-tooltip-arrow{border-bottom:6px solid #444;top:-6px}.ql-bubble .ql-tooltip.ql-flip .ql-tooltip-arrow{border-top:6px solid #444;bottom:-6px}.ql-bubble .ql-tooltip.ql-editing .ql-tooltip-editor{display:block}.ql-bubble .ql-tooltip.ql-editing .ql-formats{visibility:hidden}.ql-bubble .ql-tooltip-editor{display:none}.ql-bubble .ql-tooltip-editor input[type=text]{background:transparent;border:none;color:#fff;font-size:13px;height:100%;outline:none;padding:10px 20px;position:absolute;width:100%}.ql-bubble .ql-tooltip-editor a{top:10px;position:absolute;right:20px}.ql-bubble .ql-tooltip-editor a:before{color:#ccc;content:\"\u00D7\";font-size:16px;font-weight:700}.ql-container.ql-bubble:not(.ql-disabled) a{position:relative;white-space:nowrap}.ql-container.ql-bubble:not(.ql-disabled) a:before{background-color:#444;border-radius:15px;top:-5px;font-size:12px;color:#fff;content:attr(href);font-weight:400;overflow:hidden;padding:5px 15px;text-decoration:none;z-index:1}.ql-container.ql-bubble:not(.ql-disabled) a:after{border-top:6px solid #444;border-left:6px solid transparent;border-right:6px solid transparent;top:0;content:\" \";height:0;width:0}.ql-container.ql-bubble:not(.ql-disabled) a:after,.ql-container.ql-bubble:not(.ql-disabled) a:before{left:0;margin-left:50%;position:absolute;transform:translate(-50%,-100%);transition:visibility 0s ease .2s;visibility:hidden}.ql-container.ql-bubble:not(.ql-disabled) a:hover:after,.ql-container.ql-bubble:not(.ql-disabled) a:hover:before{visibility:visible}quill-editor{display:block;word-break:break-word}quill-editor .ql-container{font-family:inherit;font-size:inherit}quill-editor .ql-container .ql-editor{padding:0!important;line-height:inherit;font:inherit;overflow:visible}quill-editor .ql-placeholder .ql-picker-label:before{display:block;content:\"Tags\";min-width:50px}quill-editor .ql-placeholder.ql-expanded .ql-picker-item:before{content:attr(data-value);width:-moz-min-content;width:min-content}quill-editor .ql-tooltip{z-index:10;line-height:normal}quill-editor .ql-tooltip .ql-picker-options{max-height:300px;overflow:auto}quill-editor .ql-toolbar{width:600px;width:-moz-max-content;width:max-content}quill-editor h1,quill-editor h2,quill-editor h3,quill-editor h4,quill-editor h5,quill-editor h6{font-weight:inherit;line-height:inherit}"]
|
|
73
|
+
},] }
|
|
74
|
+
];
|
|
75
|
+
TextElementComponent.ctorParameters = () => [
|
|
76
|
+
{ type: PbUserRestApiService },
|
|
77
|
+
{ type: PbEmailObjectStoreService },
|
|
78
|
+
{ type: PbUserInterfaceService }
|
|
79
|
+
];
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lbGVtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BiLWVtYWlsLWJ1aWxkZXIvc3JjL2xpYi9lbGVtZW50cy90ZXh0LWVsZW1lbnQvdGV4dC1lbGVtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFxQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDekcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFDekgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDbEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBUWxELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxhQUF3QjtJQW9DaEUsWUFDVSxXQUFpQyxFQUNqQyxXQUFzQyxFQUN0QyxlQUF1QztRQUUvQyxLQUFLLEVBQUUsQ0FBQztRQUpBLGdCQUFXLEdBQVgsV0FBVyxDQUFzQjtRQUNqQyxnQkFBVyxHQUFYLFdBQVcsQ0FBMkI7UUFDdEMsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBdENqRCw2QkFBNkI7UUFDN0IsbUJBQWMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDM0csc0JBQWlCLEdBQUc7WUFDekIsT0FBTyxFQUFFO2dCQUNQLFNBQVMsRUFBRTtvQkFDVCxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQztvQkFDekMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO29CQUNwRixDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQztvQkFDdkIsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztvQkFDekMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQztvQkFDbkMsQ0FBQyxPQUFPLENBQUM7aUJBQ1Y7Z0JBQ0QsUUFBUSxFQUFFO29CQUNSLFdBQVcsQ0FBQyxRQUFnQjt3QkFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQzt3QkFDeEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQzt3QkFDdEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzNELElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUNoRCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQzt3QkFDckQsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hELENBQUM7aUJBQ0Y7YUFDRjtTQUNGLENBQUM7UUFDYyxlQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQ3ZFLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNoQixhQUFhO1lBQ2IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVFLENBQUMsQ0FBQyxFQUNGLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFDWCxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1IsQ0FBQztRQUNNLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM3Qix3QkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBUTVDLENBQUM7SUFFRCxhQUFhO1FBQ1gsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBRWhFLG1EQUNFLEtBQUssRUFDTCxZQUFZLEVBQUUsV0FBVyxJQUN0QixnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsR0FDNUIsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUNoQixhQUFhLENBQUMsT0FBTyxDQUFDLEVBQ3pCO0lBQ0osQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDNUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN0QyxDQUFDOzs7WUEzRUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLGduQkFBNEM7Z0JBRTVDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOzthQUN0Qzs7O1lBUlEsb0JBQW9CO1lBRHBCLHlCQUF5QjtZQUR6QixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjQgUG9idWNhLlxyXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG4gKi9cclxuXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwLCBtYXBUbywgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBUZXh0QmxvY2sgfSBmcm9tICcuLi8uLi9jbGFzc2VzL0VsZW1lbnRzJztcclxuaW1wb3J0IHsgY3JlYXRlRm9udCwgY3JlYXRlTGluZUhlaWdodCwgY3JlYXRlUGFkZGluZyB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgUGJVc2VySW50ZXJmYWNlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ludGVybmFscy91c2VyLWludGVyZmFjZXMvdXNlci1pbnRlcmZhY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFBiRW1haWxPYmplY3RTdG9yZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbnRlcm5hbHMvcGItZW1haWwtb2JqZWN0LXN0b3JlL3BiLWVtYWlsLW9iamVjdC1zdG9yZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGJVc2VyUmVzdEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91c2VyLXJlc3QtYXBpLXNlcnZpY2UvdXNlci1yZXN0LWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RCbG9jayB9IGZyb20gJy4uL2Fic3RyYWN0LWJsb2NrJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncGItdGV4dC1lbGVtZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1lbGVtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZXh0LWVsZW1lbnQuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXh0RWxlbWVudENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0QmxvY2s8VGV4dEJsb2NrPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAvLyBASW5wdXQoKSBibG9jazogVGV4dEJsb2NrO1xyXG4gIHNldEFzUmVhZE9ubHkkID0gdGhpcy5pbnRlcm5hbFNlcnZpY2UuY3VycmVudEVkaXRpbmdCbG9jayQucGlwZShtYXAoZWRpdGluZ0Jsb2NrID0+IGVkaXRpbmdCbG9jayAhPT0gdGhpcy5ibG9jaykpO1xyXG4gIHB1YmxpYyBzdGF0aWNRdWlsbENvbmZpZyA9IHtcclxuICAgIHRvb2xiYXI6IHtcclxuICAgICAgY29udGFpbmVyOiBbXHJcbiAgICAgICAgWydib2xkJywgJ2l0YWxpYycsICd1bmRlcmxpbmUnLCAnc3RyaWtlJ10sXHJcbiAgICAgICAgW3sgaGVhZGVyOiBbMSwgMiwgMywgNCwgNSwgNiwgZmFsc2VdIH0sIHsgc2l6ZTogWydzbWFsbCcsIGZhbHNlLCAnbGFyZ2UnLCAnaHVnZSddIH1dLFxyXG4gICAgICAgIFt7IGFsaWduOiBbXSB9LCAnbGluayddLFxyXG4gICAgICAgIFt7IGxpc3Q6ICdvcmRlcmVkJyB9LCB7IGxpc3Q6ICdidWxsZXQnIH1dLFxyXG4gICAgICAgIFt7IGNvbG9yOiBbXSB9LCB7IGJhY2tncm91bmQ6IFtdIH1dLFxyXG4gICAgICAgIFsnY2xlYW4nXVxyXG4gICAgICBdLFxyXG4gICAgICBoYW5kbGVyczoge1xyXG4gICAgICAgIHBsYWNlaG9sZGVyKHNlbGVjdG9yOiBzdHJpbmcpIHtcclxuICAgICAgICAgIGNvbnN0IHJhbmdlID0gdGhpcy5xdWlsbC5nZXRTZWxlY3Rpb24oKTtcclxuICAgICAgICAgIGNvbnN0IGZvcm1hdCA9IHRoaXMucXVpbGwuZ2V0Rm9ybWF0KCk7XHJcbiAgICAgICAgICBjb25zdCB0ZXh0ID0gdGhpcy5xdWlsbC5nZXRUZXh0KHJhbmdlLmluZGV4LCByYW5nZS5sZW5ndGgpO1xyXG4gICAgICAgICAgdGhpcy5xdWlsbC5kZWxldGVUZXh0KHJhbmdlLmluZGV4LCB0ZXh0Lmxlbmd0aCk7XHJcbiAgICAgICAgICB0aGlzLnF1aWxsLmluc2VydFRleHQocmFuZ2UuaW5kZXgsIHNlbGVjdG9yLCBmb3JtYXQpO1xyXG4gICAgICAgICAgdGhpcy5xdWlsbC5zZXRTZWxlY3Rpb24ocmFuZ2UuaW5kZXgsIHNlbGVjdG9yLmxlbmd0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfTtcclxuICBwdWJsaWMgcmVhZG9ubHkgcXVpbGxJbml0JCA9IHRoaXMudXNlclJlc3RBcGkuZ2V0QWxsVXNlck1lcmdlRmllbGRzJC5waXBlKFxyXG4gICAgbWFwKHBsYWNlaG9sZGVyID0+IHtcclxuICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICB0aGlzLnN0YXRpY1F1aWxsQ29uZmlnLnRvb2xiYXIuY29udGFpbmVyLnNwbGljZSgtMSwgMCwgW3sgcGxhY2Vob2xkZXIgfV0pO1xyXG4gICAgfSksXHJcbiAgICBtYXBUbyh0cnVlKSxcclxuICAgIHRha2UoMSlcclxuICApO1xyXG4gIHByaXZhdGUgdGV4dENoYW5nZWQkID0gbmV3IFN1YmplY3QoKTtcclxuICBwcml2YXRlIGNvbXBvbmVudERlc3Ryb3llZCQgPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdXNlclJlc3RBcGk6IFBiVXNlclJlc3RBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBlbWFpbE9iamVjdDogUGJFbWFpbE9iamVjdFN0b3JlU2VydmljZSxcclxuICAgIHByaXZhdGUgaW50ZXJuYWxTZXJ2aWNlOiBQYlVzZXJJbnRlcmZhY2VTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGV4dFN0eWxlcygpIHtcclxuICAgIGNvbnN0IHsgY29sb3IsIGZvbnQsIGxpbmVIZWlnaHQsIHBhZGRpbmcgfSA9IHRoaXMuYmxvY2sub3B0aW9ucztcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBjb2xvcixcclxuICAgICAgJ3dvcmQtYnJlYWsnOiAnYnJlYWstYWxsJyxcclxuICAgICAgLi4uY3JlYXRlTGluZUhlaWdodChsaW5lSGVpZ2h0KSxcclxuICAgICAgLi4uY3JlYXRlRm9udChmb250KSxcclxuICAgICAgLi4uY3JlYXRlUGFkZGluZyhwYWRkaW5nKVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGNvbnRlbnRDaGFuZ2VkKCkge1xyXG4gICAgdGhpcy50ZXh0Q2hhbmdlZCQubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnRleHRDaGFuZ2VkJC5waXBlKGRlYm91bmNlVGltZSg2MDApLCB0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQkKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5lbWFpbE9iamVjdC5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmNvbXBvbmVudERlc3Ryb3llZCQubmV4dCgpO1xyXG4gICAgdGhpcy5jb21wb25lbnREZXN0cm95ZWQkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|