@pobuca/email-builder 1.0.1 → 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.
Files changed (135) hide show
  1. package/README.md +1 -1
  2. package/bundles/pobuca-email-builder.umd.js +4464 -4414
  3. package/bundles/pobuca-email-builder.umd.js.map +1 -1
  4. package/bundles/pobuca-email-builder.umd.min.js +1 -1
  5. package/bundles/pobuca-email-builder.umd.min.js.map +1 -1
  6. package/esm2015/lib/classes/DefaultEmail.js +54 -53
  7. package/esm2015/lib/classes/Elements.js +229 -229
  8. package/esm2015/lib/classes/Structure.js +89 -89
  9. package/esm2015/lib/components/block/block.component.js +89 -89
  10. package/esm2015/lib/components/block-settings/block-settings.component.js +53 -53
  11. package/esm2015/lib/components/builder-container/builder-container.component.js +114 -114
  12. package/esm2015/lib/components/dialog.component.js +30 -30
  13. package/esm2015/lib/components/general-settings/general-settings.component.js +25 -25
  14. package/esm2015/lib/components/import-dialog/import-dialog.component.js +62 -62
  15. package/esm2015/lib/components/preview.component.js +89 -89
  16. package/esm2015/lib/components/structure/structure.component.js +163 -163
  17. package/esm2015/lib/components/structure-settings/structure-settings.component.js +31 -31
  18. package/esm2015/lib/components/template-list-dialog/template-list-dialog.component.js +45 -45
  19. package/esm2015/lib/directives/dynamic-component.directive.js +46 -46
  20. package/esm2015/lib/elements/abstract-block.js +23 -23
  21. package/esm2015/lib/elements/button/button.component.js +29 -29
  22. package/esm2015/lib/elements/divider/divider.component.js +30 -30
  23. package/esm2015/lib/elements/image/image.component.js +54 -54
  24. package/esm2015/lib/elements/social/social.component.js +42 -42
  25. package/esm2015/lib/elements/spacer/spacer.component.js +30 -30
  26. package/esm2015/lib/elements/text-element/text-element.component.js +80 -80
  27. package/esm2015/lib/groups/align.js +79 -79
  28. package/esm2015/lib/groups/back-repeat.js +55 -55
  29. package/esm2015/lib/groups/border.js +102 -102
  30. package/esm2015/lib/groups/color.js +139 -139
  31. package/esm2015/lib/groups/direction.js +63 -63
  32. package/esm2015/lib/groups/font-styles.js +127 -112
  33. package/esm2015/lib/groups/gaps.js +45 -45
  34. package/esm2015/lib/groups/line-height.js +68 -68
  35. package/esm2015/lib/groups/link.js +67 -67
  36. package/esm2015/lib/groups/margin.js +45 -45
  37. package/esm2015/lib/groups/padding.js +53 -53
  38. package/esm2015/lib/groups/upload-image.js +112 -112
  39. package/esm2015/lib/groups/width-height.js +94 -94
  40. package/esm2015/lib/interceptors/pb-interceptor.interceptor.js +51 -51
  41. package/esm2015/lib/interfaces/interfaces.js +13 -13
  42. package/esm2015/lib/pb-email-builder.component.js +258 -246
  43. package/esm2015/lib/pb-email-builder.module.js +291 -291
  44. package/esm2015/lib/pb-email-builder.service.js +134 -134
  45. package/esm2015/lib/pipes/slugify.pipe.js +39 -39
  46. package/esm2015/lib/services/internals/pb-email-object-store/pb-email-object-store.service.js +175 -165
  47. package/esm2015/lib/services/internals/user-interfaces/user-interface.service.js +122 -122
  48. package/esm2015/lib/services/pb-storage/FreeUsersStorage.class.js +11 -11
  49. package/esm2015/lib/services/pb-storage/index.js +7 -7
  50. package/esm2015/lib/services/pb-storage/pb-storage.service.js +79 -79
  51. package/esm2015/lib/services/user-image-uploader-service/free-users-image-uploader.service.js +26 -26
  52. package/esm2015/lib/services/user-image-uploader-service/index.js +8 -8
  53. package/esm2015/lib/services/user-image-uploader-service/paid-users-image-uploader.service.js +30 -30
  54. package/esm2015/lib/services/user-image-uploader-service/upload-bottom-sheet-dialog/upload-bottom-sheet-dialog.component.js +112 -112
  55. package/esm2015/lib/services/user-image-uploader-service/upload-image-gallery/upload-image-gallery.component.js +91 -91
  56. package/esm2015/lib/services/user-image-uploader-service/user-image-uploader.service.js +26 -26
  57. package/esm2015/lib/services/user-middleware-service/FreeUsersMiddleware.js +31 -31
  58. package/esm2015/lib/services/user-middleware-service/PaidUsersMiddleware.js +12 -12
  59. package/esm2015/lib/services/user-middleware-service/index.js +8 -8
  60. package/esm2015/lib/services/user-middleware-service/pb-middlewares.service.js +195 -195
  61. package/esm2015/lib/services/user-rest-api-service/free-users-rest-api.service.js +16 -16
  62. package/esm2015/lib/services/user-rest-api-service/index.js +7 -7
  63. package/esm2015/lib/services/user-rest-api-service/user-rest-api.service.js +116 -116
  64. package/esm2015/lib/tokens/private-tokens.js +17 -17
  65. package/esm2015/lib/tokens/tokens.js +159 -159
  66. package/esm2015/lib/utils.js +147 -147
  67. package/esm2015/pobuca-email-builder.js +42 -42
  68. package/esm2015/public_api.js +26 -26
  69. package/fesm2015/pobuca-email-builder.js +4206 -4168
  70. package/fesm2015/pobuca-email-builder.js.map +1 -1
  71. package/lib/classes/DefaultEmail.d.ts +10 -9
  72. package/lib/classes/Elements.d.ts +62 -62
  73. package/lib/classes/Structure.d.ts +11 -11
  74. package/lib/components/block/block.component.d.ts +25 -25
  75. package/lib/components/block-settings/block-settings.component.d.ts +18 -18
  76. package/lib/components/builder-container/builder-container.component.d.ts +36 -36
  77. package/lib/components/dialog.component.d.ts +10 -10
  78. package/lib/components/general-settings/general-settings.component.d.ts +6 -6
  79. package/lib/components/import-dialog/import-dialog.component.d.ts +16 -16
  80. package/lib/components/preview.component.d.ts +18 -18
  81. package/lib/components/structure/structure.component.d.ts +43 -43
  82. package/lib/components/structure-settings/structure-settings.component.d.ts +9 -9
  83. package/lib/components/template-list-dialog/template-list-dialog.component.d.ts +15 -15
  84. package/lib/directives/dynamic-component.directive.d.ts +13 -13
  85. package/lib/elements/abstract-block.d.ts +8 -8
  86. package/lib/elements/button/button.component.d.ts +18 -18
  87. package/lib/elements/divider/divider.component.d.ts +10 -10
  88. package/lib/elements/image/image.component.d.ts +19 -19
  89. package/lib/elements/social/social.component.d.ts +21 -21
  90. package/lib/elements/spacer/spacer.component.d.ts +5 -5
  91. package/lib/elements/text-element/text-element.component.d.ts +52 -52
  92. package/lib/groups/align.d.ts +17 -17
  93. package/lib/groups/back-repeat.d.ts +8 -8
  94. package/lib/groups/border.d.ts +13 -13
  95. package/lib/groups/color.d.ts +26 -26
  96. package/lib/groups/direction.d.ts +13 -13
  97. package/lib/groups/font-styles.d.ts +21 -17
  98. package/lib/groups/gaps.d.ts +7 -7
  99. package/lib/groups/line-height.d.ts +12 -12
  100. package/lib/groups/link.d.ts +11 -11
  101. package/lib/groups/margin.d.ts +8 -8
  102. package/lib/groups/padding.d.ts +8 -8
  103. package/lib/groups/upload-image.d.ts +19 -19
  104. package/lib/groups/width-height.d.ts +19 -19
  105. package/lib/interceptors/pb-interceptor.interceptor.d.ts +10 -10
  106. package/lib/interfaces/interfaces.d.ts +430 -422
  107. package/lib/pb-email-builder.component.d.ts +67 -67
  108. package/lib/pb-email-builder.module.d.ts +51 -51
  109. package/lib/pb-email-builder.service.d.ts +83 -83
  110. package/lib/pipes/slugify.pipe.d.ts +9 -9
  111. package/lib/services/internals/pb-email-object-store/pb-email-object-store.service.d.ts +50 -50
  112. package/lib/services/internals/user-interfaces/user-interface.service.d.ts +46 -46
  113. package/lib/services/pb-storage/FreeUsersStorage.class.d.ts +6 -6
  114. package/lib/services/pb-storage/index.d.ts +2 -2
  115. package/lib/services/pb-storage/pb-storage.service.d.ts +54 -54
  116. package/lib/services/user-image-uploader-service/free-users-image-uploader.service.d.ts +12 -12
  117. package/lib/services/user-image-uploader-service/index.d.ts +3 -3
  118. package/lib/services/user-image-uploader-service/paid-users-image-uploader.service.d.ts +14 -14
  119. package/lib/services/user-image-uploader-service/upload-bottom-sheet-dialog/upload-bottom-sheet-dialog.component.d.ts +28 -28
  120. package/lib/services/user-image-uploader-service/upload-image-gallery/upload-image-gallery.component.d.ts +27 -27
  121. package/lib/services/user-image-uploader-service/user-image-uploader.service.d.ts +26 -26
  122. package/lib/services/user-middleware-service/FreeUsersMiddleware.d.ts +15 -15
  123. package/lib/services/user-middleware-service/PaidUsersMiddleware.d.ts +7 -7
  124. package/lib/services/user-middleware-service/index.d.ts +3 -3
  125. package/lib/services/user-middleware-service/pb-middlewares.service.d.ts +190 -190
  126. package/lib/services/user-rest-api-service/free-users-rest-api.service.d.ts +10 -10
  127. package/lib/services/user-rest-api-service/index.d.ts +2 -2
  128. package/lib/services/user-rest-api-service/user-rest-api.service.d.ts +82 -82
  129. package/lib/tokens/private-tokens.d.ts +5 -5
  130. package/lib/tokens/tokens.d.ts +70 -70
  131. package/lib/utils.d.ts +88 -88
  132. package/package.json +8 -3
  133. package/pobuca-email-builder.d.ts +42 -42
  134. package/pobuca-email-builder.metadata.json +1 -1
  135. package/public_api.d.ts +16 -16
@@ -1,79 +1,79 @@
1
- /*
2
- * Copyright (c) 2024 Pobuca.
3
- * All rights reserved.
4
- */
5
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
6
- import { PbEmailObjectStoreService } from '../services/internals/pb-email-object-store/pb-email-object-store.service';
7
- export class AlignComponent {
8
- constructor(emailObject) {
9
- this.emailObject = emailObject;
10
- this.mode = 'horizontal';
11
- this.labels = new Map([
12
- ['left', $localize `:@@horizontal_align_left:Left`],
13
- ['center', $localize `:@@horizontal_align_center:Center`],
14
- ['right', $localize `:@@horizontal_align_right:Right`],
15
- ['top', $localize `:@@vertical_align_top:Top`],
16
- ['middle', $localize `:@@vertical_align_middle:Middle`],
17
- ['bottom', $localize `:@@vertical_align_bottom:Bottom`]
18
- ]);
19
- }
20
- get currentModel() {
21
- return this.model.align || this.model.verticalAlign;
22
- }
23
- set currentModel(value) {
24
- if (this.model.align) {
25
- this.model.align = value;
26
- }
27
- else {
28
- this.model.verticalAlign = value;
29
- }
30
- this.emailObject.markForCheck();
31
- }
32
- getLabel(key) {
33
- return this.labels.get(key);
34
- }
35
- getPositions() {
36
- if (this.mode === 'vertical') {
37
- return ['top', 'middle', 'bottom'];
38
- }
39
- return ['left', 'center', 'right'];
40
- }
41
- }
42
- AlignComponent.decorators = [
43
- { type: Component, args: [{
44
- selector: 'pb-align',
45
- template: `
46
- <mat-form-field appearance="outline">
47
- <mat-label [ngSwitch]="mode">
48
- <ng-container *ngSwitchCase="'vertical'" i18n="Align Settings|Vertical Align">Vertical Align</ng-container>
49
- <ng-container *ngSwitchDefault i18n="Align Settings|Align">Align</ng-container>
50
- </mat-label>
51
- <mat-select [(ngModel)]="currentModel" disableRipple [disabled]="disabled">
52
- <mat-option *ngFor="let position of getPositions()" [value]="position">
53
- {{ getLabel(position) }}
54
- </mat-option>
55
- </mat-select>
56
- </mat-form-field>
57
- `,
58
- changeDetection: ChangeDetectionStrategy.OnPush,
59
- styles: [`
60
- :host {
61
- display: block;
62
- width: 100%;
63
- }
64
-
65
- mat-form-field {
66
- width: 100%;
67
- }
68
- `]
69
- },] }
70
- ];
71
- AlignComponent.ctorParameters = () => [
72
- { type: PbEmailObjectStoreService }
73
- ];
74
- AlignComponent.propDecorators = {
75
- model: [{ type: Input }],
76
- mode: [{ type: Input }],
77
- disabled: [{ type: Input }]
78
- };
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxpZ24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYi1lbWFpbC1idWlsZGVyL3NyYy9saWIvZ3JvdXBzL2FsaWduLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJFQUEyRSxDQUFDO0FBK0J0SCxNQUFNLE9BQU8sY0FBYztJQWN6QixZQUFvQixXQUFzQztRQUF0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBMkI7UUFaakQsU0FBSSxHQUE4QixZQUFZLENBQUM7UUFHaEQsV0FBTSxHQUFHLElBQUksR0FBRyxDQUFrQztZQUN4RCxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUEsK0JBQStCLENBQUM7WUFDbEQsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFBLG1DQUFtQyxDQUFDO1lBQ3hELENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQSxpQ0FBaUMsQ0FBQztZQUNyRCxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUEsMkJBQTJCLENBQUM7WUFDN0MsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFBLGlDQUFpQyxDQUFDO1lBQ3RELENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQSxpQ0FBaUMsQ0FBQztTQUN2RCxDQUFDLENBQUM7SUFFMEQsQ0FBQztJQUU5RCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxLQUE4QjtRQUM3QyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQWUsQ0FBQztTQUNwQzthQUFNO1lBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsS0FBdUIsQ0FBQztTQUNwRDtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUE0QjtRQUNuQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRTtZQUM1QixPQUFPLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUNwQztRQUNELE9BQU8sQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OztZQW5FRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7O0dBWVQ7Z0JBYUQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07eUJBWDdDOzs7Ozs7Ozs7S0FTQzthQUdKOzs7WUE5QlEseUJBQXlCOzs7b0JBZ0MvQixLQUFLO21CQUNMLEtBQUs7dUJBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjQgUG9idWNhLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqL1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVEFsaWduLCBUVmVydGljYWxBbGlnbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQYkVtYWlsT2JqZWN0U3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvaW50ZXJuYWxzL3BiLWVtYWlsLW9iamVjdC1zdG9yZS9wYi1lbWFpbC1vYmplY3Qtc3RvcmUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BiLWFsaWduJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgIDxtYXQtbGFiZWwgW25nU3dpdGNoXT1cIm1vZGVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3ZlcnRpY2FsJ1wiIGkxOG49XCJBbGlnbiBTZXR0aW5nc3xWZXJ0aWNhbCBBbGlnblwiPlZlcnRpY2FsIEFsaWduPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdCBpMThuPVwiQWxpZ24gU2V0dGluZ3N8QWxpZ25cIj5BbGlnbjwvbmctY29udGFpbmVyPlxuICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cImN1cnJlbnRNb2RlbFwiIGRpc2FibGVSaXBwbGUgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBwb3NpdGlvbiBvZiBnZXRQb3NpdGlvbnMoKVwiIFt2YWx1ZV09XCJwb3NpdGlvblwiPlxuICAgICAgICAgIHt7IGdldExhYmVsKHBvc2l0aW9uKSB9fVxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIG1hdC1mb3JtLWZpZWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgYFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBbGlnbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG1vZGVsOiB7IGFsaWduPzogVEFsaWduOyB2ZXJ0aWNhbEFsaWduPzogVFZlcnRpY2FsQWxpZ24gfTtcbiAgQElucHV0KCkgbW9kZTogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJyA9ICdob3Jpem9udGFsJztcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBsYWJlbHMgPSBuZXcgTWFwPFRBbGlnbiB8IFRWZXJ0aWNhbEFsaWduLCBzdHJpbmc+KFtcbiAgICBbJ2xlZnQnLCAkbG9jYWxpemVgOkBAaG9yaXpvbnRhbF9hbGlnbl9sZWZ0OkxlZnRgXSxcbiAgICBbJ2NlbnRlcicsICRsb2NhbGl6ZWA6QEBob3Jpem9udGFsX2FsaWduX2NlbnRlcjpDZW50ZXJgXSxcbiAgICBbJ3JpZ2h0JywgJGxvY2FsaXplYDpAQGhvcml6b250YWxfYWxpZ25fcmlnaHQ6UmlnaHRgXSxcbiAgICBbJ3RvcCcsICRsb2NhbGl6ZWA6QEB2ZXJ0aWNhbF9hbGlnbl90b3A6VG9wYF0sXG4gICAgWydtaWRkbGUnLCAkbG9jYWxpemVgOkBAdmVydGljYWxfYWxpZ25fbWlkZGxlOk1pZGRsZWBdLFxuICAgIFsnYm90dG9tJywgJGxvY2FsaXplYDpAQHZlcnRpY2FsX2FsaWduX2JvdHRvbTpCb3R0b21gXVxuICBdKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVtYWlsT2JqZWN0OiBQYkVtYWlsT2JqZWN0U3RvcmVTZXJ2aWNlKSB7fVxuXG4gIGdldCBjdXJyZW50TW9kZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwuYWxpZ24gfHwgdGhpcy5tb2RlbC52ZXJ0aWNhbEFsaWduO1xuICB9XG5cbiAgc2V0IGN1cnJlbnRNb2RlbCh2YWx1ZTogVEFsaWduIHwgVFZlcnRpY2FsQWxpZ24pIHtcbiAgICBpZiAodGhpcy5tb2RlbC5hbGlnbikge1xuICAgICAgdGhpcy5tb2RlbC5hbGlnbiA9IHZhbHVlIGFzIFRBbGlnbjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2RlbC52ZXJ0aWNhbEFsaWduID0gdmFsdWUgYXMgVFZlcnRpY2FsQWxpZ247XG4gICAgfVxuICAgIHRoaXMuZW1haWxPYmplY3QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBnZXRMYWJlbChrZXk6IFRBbGlnbiB8IFRWZXJ0aWNhbEFsaWduKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5sYWJlbHMuZ2V0KGtleSk7XG4gIH1cblxuICBnZXRQb3NpdGlvbnMoKTogVEFsaWduW10gfCBUVmVydGljYWxBbGlnbltdIHtcbiAgICBpZiAodGhpcy5tb2RlID09PSAndmVydGljYWwnKSB7XG4gICAgICByZXR1cm4gWyd0b3AnLCAnbWlkZGxlJywgJ2JvdHRvbSddO1xuICAgIH1cbiAgICByZXR1cm4gWydsZWZ0JywgJ2NlbnRlcicsICdyaWdodCddO1xuICB9XG59XG4iXX0=
1
+ /*
2
+ * Copyright (c) 2024 Pobuca.
3
+ * All rights reserved.
4
+ */
5
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
6
+ import { PbEmailObjectStoreService } from '../services/internals/pb-email-object-store/pb-email-object-store.service';
7
+ export class AlignComponent {
8
+ constructor(emailObject) {
9
+ this.emailObject = emailObject;
10
+ this.mode = 'horizontal';
11
+ this.labels = new Map([
12
+ ['left', $localize `:@@horizontal_align_left:Left`],
13
+ ['center', $localize `:@@horizontal_align_center:Center`],
14
+ ['right', $localize `:@@horizontal_align_right:Right`],
15
+ ['top', $localize `:@@vertical_align_top:Top`],
16
+ ['middle', $localize `:@@vertical_align_middle:Middle`],
17
+ ['bottom', $localize `:@@vertical_align_bottom:Bottom`]
18
+ ]);
19
+ }
20
+ get currentModel() {
21
+ return this.model.align || this.model.verticalAlign;
22
+ }
23
+ set currentModel(value) {
24
+ if (this.model.align) {
25
+ this.model.align = value;
26
+ }
27
+ else {
28
+ this.model.verticalAlign = value;
29
+ }
30
+ this.emailObject.markForCheck();
31
+ }
32
+ getLabel(key) {
33
+ return this.labels.get(key);
34
+ }
35
+ getPositions() {
36
+ if (this.mode === 'vertical') {
37
+ return ['top', 'middle', 'bottom'];
38
+ }
39
+ return ['left', 'center', 'right'];
40
+ }
41
+ }
42
+ AlignComponent.decorators = [
43
+ { type: Component, args: [{
44
+ selector: 'pb-align',
45
+ template: `
46
+ <mat-form-field appearance="outline">
47
+ <mat-label [ngSwitch]="mode">
48
+ <ng-container *ngSwitchCase="'vertical'" i18n="Align Settings|Vertical Align">Vertical Align</ng-container>
49
+ <ng-container *ngSwitchDefault i18n="Align Settings|Align">Align</ng-container>
50
+ </mat-label>
51
+ <mat-select [(ngModel)]="currentModel" disableRipple [disabled]="disabled">
52
+ <mat-option *ngFor="let position of getPositions()" [value]="position">
53
+ {{ getLabel(position) }}
54
+ </mat-option>
55
+ </mat-select>
56
+ </mat-form-field>
57
+ `,
58
+ changeDetection: ChangeDetectionStrategy.OnPush,
59
+ styles: [`
60
+ :host {
61
+ display: block;
62
+ width: 100%;
63
+ }
64
+
65
+ mat-form-field {
66
+ width: 100%;
67
+ }
68
+ `]
69
+ },] }
70
+ ];
71
+ AlignComponent.ctorParameters = () => [
72
+ { type: PbEmailObjectStoreService }
73
+ ];
74
+ AlignComponent.propDecorators = {
75
+ model: [{ type: Input }],
76
+ mode: [{ type: Input }],
77
+ disabled: [{ type: Input }]
78
+ };
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxpZ24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYi1lbWFpbC1idWlsZGVyL3NyYy9saWIvZ3JvdXBzL2FsaWduLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJFQUEyRSxDQUFDO0FBK0J0SCxNQUFNLE9BQU8sY0FBYztJQWN6QixZQUFvQixXQUFzQztRQUF0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBMkI7UUFaakQsU0FBSSxHQUE4QixZQUFZLENBQUM7UUFHaEQsV0FBTSxHQUFHLElBQUksR0FBRyxDQUFrQztZQUN4RCxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUEsK0JBQStCLENBQUM7WUFDbEQsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFBLG1DQUFtQyxDQUFDO1lBQ3hELENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQSxpQ0FBaUMsQ0FBQztZQUNyRCxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUEsMkJBQTJCLENBQUM7WUFDN0MsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFBLGlDQUFpQyxDQUFDO1lBQ3RELENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQSxpQ0FBaUMsQ0FBQztTQUN2RCxDQUFDLENBQUM7SUFFMEQsQ0FBQztJQUU5RCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxLQUE4QjtRQUM3QyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQWUsQ0FBQztTQUNwQzthQUFNO1lBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsS0FBdUIsQ0FBQztTQUNwRDtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUE0QjtRQUNuQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRTtZQUM1QixPQUFPLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUNwQztRQUNELE9BQU8sQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OztZQW5FRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7O0dBWVQ7Z0JBYUQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07eUJBWDdDOzs7Ozs7Ozs7S0FTQzthQUdKOzs7WUE5QlEseUJBQXlCOzs7b0JBZ0MvQixLQUFLO21CQUNMLEtBQUs7dUJBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoYykgMjAyNCBQb2J1Y2EuXHJcbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVEFsaWduLCBUVmVydGljYWxBbGlnbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IFBiRW1haWxPYmplY3RTdG9yZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9pbnRlcm5hbHMvcGItZW1haWwtb2JqZWN0LXN0b3JlL3BiLWVtYWlsLW9iamVjdC1zdG9yZS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncGItYWxpZ24nLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgPG1hdC1sYWJlbCBbbmdTd2l0Y2hdPVwibW9kZVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid2ZXJ0aWNhbCdcIiBpMThuPVwiQWxpZ24gU2V0dGluZ3N8VmVydGljYWwgQWxpZ25cIj5WZXJ0aWNhbCBBbGlnbjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdCBpMThuPVwiQWxpZ24gU2V0dGluZ3N8QWxpZ25cIj5BbGlnbjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJjdXJyZW50TW9kZWxcIiBkaXNhYmxlUmlwcGxlIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBwb3NpdGlvbiBvZiBnZXRQb3NpdGlvbnMoKVwiIFt2YWx1ZV09XCJwb3NpdGlvblwiPlxyXG4gICAgICAgICAge3sgZ2V0TGFiZWwocG9zaXRpb24pIH19XHJcbiAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICBgXHJcbiAgICAgIDpob3N0IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbWF0LWZvcm0tZmllbGQge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICBgXHJcbiAgXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWxpZ25Db21wb25lbnQge1xyXG4gIEBJbnB1dCgpIG1vZGVsOiB7IGFsaWduPzogVEFsaWduOyB2ZXJ0aWNhbEFsaWduPzogVFZlcnRpY2FsQWxpZ24gfTtcclxuICBASW5wdXQoKSBtb2RlOiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnID0gJ2hvcml6b250YWwnO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xyXG5cclxuICBwcml2YXRlIGxhYmVscyA9IG5ldyBNYXA8VEFsaWduIHwgVFZlcnRpY2FsQWxpZ24sIHN0cmluZz4oW1xyXG4gICAgWydsZWZ0JywgJGxvY2FsaXplYDpAQGhvcml6b250YWxfYWxpZ25fbGVmdDpMZWZ0YF0sXHJcbiAgICBbJ2NlbnRlcicsICRsb2NhbGl6ZWA6QEBob3Jpem9udGFsX2FsaWduX2NlbnRlcjpDZW50ZXJgXSxcclxuICAgIFsncmlnaHQnLCAkbG9jYWxpemVgOkBAaG9yaXpvbnRhbF9hbGlnbl9yaWdodDpSaWdodGBdLFxyXG4gICAgWyd0b3AnLCAkbG9jYWxpemVgOkBAdmVydGljYWxfYWxpZ25fdG9wOlRvcGBdLFxyXG4gICAgWydtaWRkbGUnLCAkbG9jYWxpemVgOkBAdmVydGljYWxfYWxpZ25fbWlkZGxlOk1pZGRsZWBdLFxyXG4gICAgWydib3R0b20nLCAkbG9jYWxpemVgOkBAdmVydGljYWxfYWxpZ25fYm90dG9tOkJvdHRvbWBdXHJcbiAgXSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZW1haWxPYmplY3Q6IFBiRW1haWxPYmplY3RTdG9yZVNlcnZpY2UpIHt9XHJcblxyXG4gIGdldCBjdXJyZW50TW9kZWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tb2RlbC5hbGlnbiB8fCB0aGlzLm1vZGVsLnZlcnRpY2FsQWxpZ247XHJcbiAgfVxyXG5cclxuICBzZXQgY3VycmVudE1vZGVsKHZhbHVlOiBUQWxpZ24gfCBUVmVydGljYWxBbGlnbikge1xyXG4gICAgaWYgKHRoaXMubW9kZWwuYWxpZ24pIHtcclxuICAgICAgdGhpcy5tb2RlbC5hbGlnbiA9IHZhbHVlIGFzIFRBbGlnbjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubW9kZWwudmVydGljYWxBbGlnbiA9IHZhbHVlIGFzIFRWZXJ0aWNhbEFsaWduO1xyXG4gICAgfVxyXG4gICAgdGhpcy5lbWFpbE9iamVjdC5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIGdldExhYmVsKGtleTogVEFsaWduIHwgVFZlcnRpY2FsQWxpZ24pOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubGFiZWxzLmdldChrZXkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UG9zaXRpb25zKCk6IFRBbGlnbltdIHwgVFZlcnRpY2FsQWxpZ25bXSB7XHJcbiAgICBpZiAodGhpcy5tb2RlID09PSAndmVydGljYWwnKSB7XHJcbiAgICAgIHJldHVybiBbJ3RvcCcsICdtaWRkbGUnLCAnYm90dG9tJ107XHJcbiAgICB9XHJcbiAgICByZXR1cm4gWydsZWZ0JywgJ2NlbnRlcicsICdyaWdodCddO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,55 +1,55 @@
1
- /*
2
- * Copyright (c) 2024 Pobuca.
3
- * All rights reserved.
4
- */
5
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
6
- export class BackRepatComponent {
7
- constructor() {
8
- this.disabled = false;
9
- this.repeatLabels = new Map([
10
- ['no-repeat', $localize `:@@no_repeat:No`],
11
- ['repeat', $localize `:@@repeat:Repeat`],
12
- ['repeat-x', $localize `:@@repeat_x:X`],
13
- ['repeat-y', $localize `:@@repeat_y:Y`],
14
- ['round', $localize `:@@repeat_round:Round`],
15
- ['space', $localize `:@@repeat_space:Space`]
16
- ]);
17
- }
18
- getRepeats() {
19
- return ['no-repeat', 'repeat', 'repeat-x', 'repeat-y'];
20
- }
21
- getRepeatLabel(repeat) {
22
- return this.repeatLabels.get(repeat);
23
- }
24
- }
25
- BackRepatComponent.decorators = [
26
- { type: Component, args: [{
27
- selector: 'pb-back-repeat',
28
- template: `
29
- <mat-form-field appearance="outline">
30
- <mat-label i18n="settings|Background Repeat">Repeat</mat-label>
31
- <mat-select [(value)]="model.repeat" [disabled]="disabled" disableRipple>
32
- <mat-option *ngFor="let repeat of getRepeats()" [value]="repeat">
33
- {{ getRepeatLabel(repeat) }}
34
- </mat-option>
35
- </mat-select>
36
- </mat-form-field>
37
- `,
38
- changeDetection: ChangeDetectionStrategy.OnPush,
39
- styles: [`
40
- :host {
41
- display: block;
42
- width: 100%;
43
- }
44
-
45
- mat-form-field {
46
- width: 100%;
47
- }
48
- `]
49
- },] }
50
- ];
51
- BackRepatComponent.propDecorators = {
52
- model: [{ type: Input }],
53
- disabled: [{ type: Input }]
54
- };
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFjay1yZXBlYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYi1lbWFpbC1idWlsZGVyL3NyYy9saWIvZ3JvdXBzL2JhY2stcmVwZWF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBNkIxRSxNQUFNLE9BQU8sa0JBQWtCO0lBMUIvQjtRQTRCVyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWxCLGlCQUFZLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDN0IsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFBLGlCQUFpQixDQUFDO1lBQ3pDLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQSxrQkFBa0IsQ0FBQztZQUN2QyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUEsZUFBZSxDQUFDO1lBQ3RDLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQSxlQUFlLENBQUM7WUFDdEMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFBLHVCQUF1QixDQUFDO1lBQzNDLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQSx1QkFBdUIsQ0FBQztTQUM1QyxDQUFDLENBQUM7SUFTTCxDQUFDO0lBUEMsVUFBVTtRQUNSLE9BQU8sQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQXlCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7O1lBN0NGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixRQUFRLEVBQUU7Ozs7Ozs7OztHQVNUO2dCQWFELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO3lCQVg3Qzs7Ozs7Ozs7O0tBU0M7YUFHSjs7O29CQUVFLEtBQUs7dUJBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjQgUG9idWNhLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqL1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUJhY2tncm91bmQsIFRCYWNrZ3JvdW5kUmVwZWF0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGItYmFjay1yZXBlYXQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgPG1hdC1sYWJlbCBpMThuPVwic2V0dGluZ3N8QmFja2dyb3VuZCBSZXBlYXRcIj5SZXBlYXQ8L21hdC1sYWJlbD5cbiAgICAgIDxtYXQtc2VsZWN0IFsodmFsdWUpXT1cIm1vZGVsLnJlcGVhdFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIGRpc2FibGVSaXBwbGU+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCByZXBlYXQgb2YgZ2V0UmVwZWF0cygpXCIgW3ZhbHVlXT1cInJlcGVhdFwiPlxuICAgICAgICAgIHt7IGdldFJlcGVhdExhYmVsKHJlcGVhdCkgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgPC9tYXQtc2VsZWN0PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBtYXQtZm9ybS1maWVsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIGBcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQmFja1JlcGF0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgbW9kZWw6IElCYWNrZ3JvdW5kO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVwZWF0TGFiZWxzID0gbmV3IE1hcChbXG4gICAgWyduby1yZXBlYXQnLCAkbG9jYWxpemVgOkBAbm9fcmVwZWF0Ok5vYF0sXG4gICAgWydyZXBlYXQnLCAkbG9jYWxpemVgOkBAcmVwZWF0OlJlcGVhdGBdLFxuICAgIFsncmVwZWF0LXgnLCAkbG9jYWxpemVgOkBAcmVwZWF0X3g6WGBdLFxuICAgIFsncmVwZWF0LXknLCAkbG9jYWxpemVgOkBAcmVwZWF0X3k6WWBdLFxuICAgIFsncm91bmQnLCAkbG9jYWxpemVgOkBAcmVwZWF0X3JvdW5kOlJvdW5kYF0sXG4gICAgWydzcGFjZScsICRsb2NhbGl6ZWA6QEByZXBlYXRfc3BhY2U6U3BhY2VgXVxuICBdKTtcblxuICBnZXRSZXBlYXRzKCk6IFRCYWNrZ3JvdW5kUmVwZWF0W10ge1xuICAgIHJldHVybiBbJ25vLXJlcGVhdCcsICdyZXBlYXQnLCAncmVwZWF0LXgnLCAncmVwZWF0LXknXTtcbiAgfVxuXG4gIGdldFJlcGVhdExhYmVsKHJlcGVhdDogVEJhY2tncm91bmRSZXBlYXQpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlcGVhdExhYmVscy5nZXQocmVwZWF0KTtcbiAgfVxufVxuIl19
1
+ /*
2
+ * Copyright (c) 2024 Pobuca.
3
+ * All rights reserved.
4
+ */
5
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
6
+ export class BackRepatComponent {
7
+ constructor() {
8
+ this.disabled = false;
9
+ this.repeatLabels = new Map([
10
+ ['no-repeat', $localize `:@@no_repeat:No`],
11
+ ['repeat', $localize `:@@repeat:Repeat`],
12
+ ['repeat-x', $localize `:@@repeat_x:X`],
13
+ ['repeat-y', $localize `:@@repeat_y:Y`],
14
+ ['round', $localize `:@@repeat_round:Round`],
15
+ ['space', $localize `:@@repeat_space:Space`]
16
+ ]);
17
+ }
18
+ getRepeats() {
19
+ return ['no-repeat', 'repeat', 'repeat-x', 'repeat-y'];
20
+ }
21
+ getRepeatLabel(repeat) {
22
+ return this.repeatLabels.get(repeat);
23
+ }
24
+ }
25
+ BackRepatComponent.decorators = [
26
+ { type: Component, args: [{
27
+ selector: 'pb-back-repeat',
28
+ template: `
29
+ <mat-form-field appearance="outline">
30
+ <mat-label i18n="settings|Background Repeat">Repeat</mat-label>
31
+ <mat-select [(value)]="model.repeat" [disabled]="disabled" disableRipple>
32
+ <mat-option *ngFor="let repeat of getRepeats()" [value]="repeat">
33
+ {{ getRepeatLabel(repeat) }}
34
+ </mat-option>
35
+ </mat-select>
36
+ </mat-form-field>
37
+ `,
38
+ changeDetection: ChangeDetectionStrategy.OnPush,
39
+ styles: [`
40
+ :host {
41
+ display: block;
42
+ width: 100%;
43
+ }
44
+
45
+ mat-form-field {
46
+ width: 100%;
47
+ }
48
+ `]
49
+ },] }
50
+ ];
51
+ BackRepatComponent.propDecorators = {
52
+ model: [{ type: Input }],
53
+ disabled: [{ type: Input }]
54
+ };
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFjay1yZXBlYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYi1lbWFpbC1idWlsZGVyL3NyYy9saWIvZ3JvdXBzL2JhY2stcmVwZWF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBNkIxRSxNQUFNLE9BQU8sa0JBQWtCO0lBMUIvQjtRQTRCVyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWxCLGlCQUFZLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDN0IsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFBLGlCQUFpQixDQUFDO1lBQ3pDLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQSxrQkFBa0IsQ0FBQztZQUN2QyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUEsZUFBZSxDQUFDO1lBQ3RDLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQSxlQUFlLENBQUM7WUFDdEMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFBLHVCQUF1QixDQUFDO1lBQzNDLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQSx1QkFBdUIsQ0FBQztTQUM1QyxDQUFDLENBQUM7SUFTTCxDQUFDO0lBUEMsVUFBVTtRQUNSLE9BQU8sQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQXlCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7O1lBN0NGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixRQUFRLEVBQUU7Ozs7Ozs7OztHQVNUO2dCQWFELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO3lCQVg3Qzs7Ozs7Ozs7O0tBU0M7YUFHSjs7O29CQUVFLEtBQUs7dUJBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoYykgMjAyNCBQb2J1Y2EuXHJcbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSUJhY2tncm91bmQsIFRCYWNrZ3JvdW5kUmVwZWF0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pbnRlcmZhY2VzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncGItYmFjay1yZXBlYXQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgPG1hdC1sYWJlbCBpMThuPVwic2V0dGluZ3N8QmFja2dyb3VuZCBSZXBlYXRcIj5SZXBlYXQ8L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgWyh2YWx1ZSldPVwibW9kZWwucmVwZWF0XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgZGlzYWJsZVJpcHBsZT5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgcmVwZWF0IG9mIGdldFJlcGVhdHMoKVwiIFt2YWx1ZV09XCJyZXBlYXRcIj5cclxuICAgICAgICAgIHt7IGdldFJlcGVhdExhYmVsKHJlcGVhdCkgfX1cclxuICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgYCxcclxuICBzdHlsZXM6IFtcclxuICAgIGBcclxuICAgICAgOmhvc3Qge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBtYXQtZm9ybS1maWVsZCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgIGBcclxuICBdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYWNrUmVwYXRDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIG1vZGVsOiBJQmFja2dyb3VuZDtcclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIHJlcGVhdExhYmVscyA9IG5ldyBNYXAoW1xyXG4gICAgWyduby1yZXBlYXQnLCAkbG9jYWxpemVgOkBAbm9fcmVwZWF0Ok5vYF0sXHJcbiAgICBbJ3JlcGVhdCcsICRsb2NhbGl6ZWA6QEByZXBlYXQ6UmVwZWF0YF0sXHJcbiAgICBbJ3JlcGVhdC14JywgJGxvY2FsaXplYDpAQHJlcGVhdF94OlhgXSxcclxuICAgIFsncmVwZWF0LXknLCAkbG9jYWxpemVgOkBAcmVwZWF0X3k6WWBdLFxyXG4gICAgWydyb3VuZCcsICRsb2NhbGl6ZWA6QEByZXBlYXRfcm91bmQ6Um91bmRgXSxcclxuICAgIFsnc3BhY2UnLCAkbG9jYWxpemVgOkBAcmVwZWF0X3NwYWNlOlNwYWNlYF1cclxuICBdKTtcclxuXHJcbiAgZ2V0UmVwZWF0cygpOiBUQmFja2dyb3VuZFJlcGVhdFtdIHtcclxuICAgIHJldHVybiBbJ25vLXJlcGVhdCcsICdyZXBlYXQnLCAncmVwZWF0LXgnLCAncmVwZWF0LXknXTtcclxuICB9XHJcblxyXG4gIGdldFJlcGVhdExhYmVsKHJlcGVhdDogVEJhY2tncm91bmRSZXBlYXQpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMucmVwZWF0TGFiZWxzLmdldChyZXBlYXQpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,102 +1,102 @@
1
- /*
2
- * Copyright (c) 2024 Pobuca.
3
- * All rights reserved.
4
- */
5
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
6
- import { PbEmailObjectStoreService } from '../services/internals/pb-email-object-store/pb-email-object-store.service';
7
- export class BorderComponent {
8
- constructor(emailObject) {
9
- this.emailObject = emailObject;
10
- this._styleLabels = new Map([
11
- ['solid', $localize `:@@border_style_solid:Solid`],
12
- ['dotted', $localize `:@@border_style_dotted:Dotted`],
13
- ['dashed', $localize `:@@border_style_dashed:Dashed`],
14
- ['double', $localize `:@@border_style_double:Double`],
15
- ['groove', $localize `:@@border_style_groove:Groove`]
16
- ]);
17
- }
18
- get styleLabels() {
19
- return [...this._styleLabels.keys()];
20
- }
21
- getStyleLabel(style) {
22
- // tslint:disable-next-line:no-non-null-assertion
23
- return this._styleLabels.get(style);
24
- }
25
- markForCheck() {
26
- this.emailObject.markForCheck();
27
- }
28
- isEven() {
29
- return Object.keys(this.border).length % 2 === 0;
30
- }
31
- hasOwnProperty(property) {
32
- return this.border.hasOwnProperty(property);
33
- }
34
- }
35
- BorderComponent.decorators = [
36
- { type: Component, args: [{
37
- selector: 'pb-border',
38
- template: `
39
- <div class="group" [class.three]="isEven()">
40
- <mat-form-field appearance="outline" *ngIf="hasOwnProperty('width')">
41
- <mat-label i18n="Border Settings|Change Border Width">Width</mat-label>
42
- <input
43
- matInput
44
- [(ngModel)]="border.width"
45
- type="number"
46
- min="0"
47
- step="1"
48
- (input)="markForCheck()"
49
- i18n-placeholder
50
- placeholder="Border Settings|Change Border Width"
51
- />
52
- </mat-form-field>
53
- <mat-form-field appearance="outline" *ngIf="hasOwnProperty('radius')">
54
- <mat-label i18n="Border Settings|Change Border Radius">Radius</mat-label>
55
- <input
56
- matInput
57
- [(ngModel)]="border.radius"
58
- type="number"
59
- min="0"
60
- step="1"
61
- (input)="markForCheck()"
62
- i18n-placeholder
63
- placeholder="Border Settings|Change Border Radius"
64
- />
65
- </mat-form-field>
66
- <mat-form-field appearance="outline" *ngIf="hasOwnProperty('style')" style="min-width: 90px">
67
- <mat-label i18n="Border Settings|Change Border Style">Style</mat-label>
68
- <mat-select
69
- placeholder="Style"
70
- [disabled]="!border.width"
71
- [(value)]="border.style"
72
- (selectionChange)="markForCheck()"
73
- disableRipple
74
- >
75
- <mat-option *ngFor="let style of styleLabels" [value]="style">
76
- {{ getStyleLabel(style) }}
77
- </mat-option>
78
- </mat-select>
79
- </mat-form-field>
80
- </div>
81
- <pb-color [options]="border" [disabled]="!border.width" *ngIf="hasOwnProperty('color')" key="color"></pb-color>
82
- `,
83
- changeDetection: ChangeDetectionStrategy.OnPush,
84
- styles: [`
85
- :host {
86
- display: block;
87
- width: 100%;
88
- }
89
-
90
- mat-form-field {
91
- width: 100%;
92
- }
93
- `]
94
- },] }
95
- ];
96
- BorderComponent.ctorParameters = () => [
97
- { type: PbEmailObjectStoreService }
98
- ];
99
- BorderComponent.propDecorators = {
100
- border: [{ type: Input }]
101
- };
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9yZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGItZW1haWwtYnVpbGRlci9zcmMvbGliL2dyb3Vwcy9ib3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkVBQTJFLENBQUM7QUErRHRILE1BQU0sT0FBTyxlQUFlO0lBRzFCLFlBQW9CLFdBQXNDO1FBQXRDLGdCQUFXLEdBQVgsV0FBVyxDQUEyQjtRQUVsRCxpQkFBWSxHQUFHLElBQUksR0FBRyxDQUEyQjtZQUN2RCxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUEsNkJBQTZCLENBQUM7WUFDakQsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFBLCtCQUErQixDQUFDO1lBQ3BELENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQSwrQkFBK0IsQ0FBQztZQUNwRCxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUEsK0JBQStCLENBQUM7WUFDcEQsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFBLCtCQUErQixDQUFDO1NBQ3JELENBQUMsQ0FBQztJQVIwRCxDQUFDO0lBVTlELElBQUksV0FBVztRQUNiLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQXVCO1FBQ25DLGlEQUFpRDtRQUNqRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELGNBQWMsQ0FBQyxRQUFnQjtRQUM3QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7OztZQTdGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Q1Q7Z0JBYUQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07eUJBWDdDOzs7Ozs7Ozs7S0FTQzthQUdKOzs7WUE5RFEseUJBQXlCOzs7cUJBZ0UvQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyNCBQb2J1Y2EuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICovXG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJQm9yZGVyIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFBiRW1haWxPYmplY3RTdG9yZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9pbnRlcm5hbHMvcGItZW1haWwtb2JqZWN0LXN0b3JlL3BiLWVtYWlsLW9iamVjdC1zdG9yZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGItYm9yZGVyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZ3JvdXBcIiBbY2xhc3MudGhyZWVdPVwiaXNFdmVuKClcIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiICpuZ0lmPVwiaGFzT3duUHJvcGVydHkoJ3dpZHRoJylcIj5cbiAgICAgICAgPG1hdC1sYWJlbCBpMThuPVwiQm9yZGVyIFNldHRpbmdzfENoYW5nZSBCb3JkZXIgV2lkdGhcIj5XaWR0aDwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgIFsobmdNb2RlbCldPVwiYm9yZGVyLndpZHRoXCJcbiAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICBtaW49XCIwXCJcbiAgICAgICAgICBzdGVwPVwiMVwiXG4gICAgICAgICAgKGlucHV0KT1cIm1hcmtGb3JDaGVjaygpXCJcbiAgICAgICAgICBpMThuLXBsYWNlaG9sZGVyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJCb3JkZXIgU2V0dGluZ3N8Q2hhbmdlIEJvcmRlciBXaWR0aFwiXG4gICAgICAgIC8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgKm5nSWY9XCJoYXNPd25Qcm9wZXJ0eSgncmFkaXVzJylcIj5cbiAgICAgICAgPG1hdC1sYWJlbCBpMThuPVwiQm9yZGVyIFNldHRpbmdzfENoYW5nZSBCb3JkZXIgUmFkaXVzXCI+UmFkaXVzPC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJib3JkZXIucmFkaXVzXCJcbiAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICBtaW49XCIwXCJcbiAgICAgICAgICBzdGVwPVwiMVwiXG4gICAgICAgICAgKGlucHV0KT1cIm1hcmtGb3JDaGVjaygpXCJcbiAgICAgICAgICBpMThuLXBsYWNlaG9sZGVyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJCb3JkZXIgU2V0dGluZ3N8Q2hhbmdlIEJvcmRlciBSYWRpdXNcIlxuICAgICAgICAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiICpuZ0lmPVwiaGFzT3duUHJvcGVydHkoJ3N0eWxlJylcIiBzdHlsZT1cIm1pbi13aWR0aDogOTBweFwiPlxuICAgICAgICA8bWF0LWxhYmVsIGkxOG49XCJCb3JkZXIgU2V0dGluZ3N8Q2hhbmdlIEJvcmRlciBTdHlsZVwiPlN0eWxlPC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJTdHlsZVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFib3JkZXIud2lkdGhcIlxuICAgICAgICAgIFsodmFsdWUpXT1cImJvcmRlci5zdHlsZVwiXG4gICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJtYXJrRm9yQ2hlY2soKVwiXG4gICAgICAgICAgZGlzYWJsZVJpcHBsZVxuICAgICAgICA+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHN0eWxlIG9mIHN0eWxlTGFiZWxzXCIgW3ZhbHVlXT1cInN0eWxlXCI+XG4gICAgICAgICAgICB7eyBnZXRTdHlsZUxhYmVsKHN0eWxlKSB9fVxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8cGItY29sb3IgW29wdGlvbnNdPVwiYm9yZGVyXCIgW2Rpc2FibGVkXT1cIiFib3JkZXIud2lkdGhcIiAqbmdJZj1cImhhc093blByb3BlcnR5KCdjb2xvcicpXCIga2V5PVwiY29sb3JcIj48L3BiLWNvbG9yPlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgbWF0LWZvcm0tZmllbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICBgXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJvcmRlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGJvcmRlcjogSUJvcmRlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVtYWlsT2JqZWN0OiBQYkVtYWlsT2JqZWN0U3RvcmVTZXJ2aWNlKSB7fVxuXG4gIHByaXZhdGUgX3N0eWxlTGFiZWxzID0gbmV3IE1hcDxJQm9yZGVyWydzdHlsZSddLCBzdHJpbmc+KFtcbiAgICBbJ3NvbGlkJywgJGxvY2FsaXplYDpAQGJvcmRlcl9zdHlsZV9zb2xpZDpTb2xpZGBdLFxuICAgIFsnZG90dGVkJywgJGxvY2FsaXplYDpAQGJvcmRlcl9zdHlsZV9kb3R0ZWQ6RG90dGVkYF0sXG4gICAgWydkYXNoZWQnLCAkbG9jYWxpemVgOkBAYm9yZGVyX3N0eWxlX2Rhc2hlZDpEYXNoZWRgXSxcbiAgICBbJ2RvdWJsZScsICRsb2NhbGl6ZWA6QEBib3JkZXJfc3R5bGVfZG91YmxlOkRvdWJsZWBdLFxuICAgIFsnZ3Jvb3ZlJywgJGxvY2FsaXplYDpAQGJvcmRlcl9zdHlsZV9ncm9vdmU6R3Jvb3ZlYF1cbiAgXSk7XG5cbiAgZ2V0IHN0eWxlTGFiZWxzKCk6IElCb3JkZXJbJ3N0eWxlJ11bXSB7XG4gICAgcmV0dXJuIFsuLi50aGlzLl9zdHlsZUxhYmVscy5rZXlzKCldO1xuICB9XG5cbiAgZ2V0U3R5bGVMYWJlbChzdHlsZTogSUJvcmRlclsnc3R5bGUnXSk6IHN0cmluZyB7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW5vbi1udWxsLWFzc2VydGlvblxuICAgIHJldHVybiB0aGlzLl9zdHlsZUxhYmVscy5nZXQoc3R5bGUpITtcbiAgfVxuXG4gIG1hcmtGb3JDaGVjaygpIHtcbiAgICB0aGlzLmVtYWlsT2JqZWN0Lm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgaXNFdmVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLmJvcmRlcikubGVuZ3RoICUgMiA9PT0gMDtcbiAgfVxuXG4gIGhhc093blByb3BlcnR5KHByb3BlcnR5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ib3JkZXIuaGFzT3duUHJvcGVydHkocHJvcGVydHkpO1xuICB9XG59XG4iXX0=
1
+ /*
2
+ * Copyright (c) 2024 Pobuca.
3
+ * All rights reserved.
4
+ */
5
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
6
+ import { PbEmailObjectStoreService } from '../services/internals/pb-email-object-store/pb-email-object-store.service';
7
+ export class BorderComponent {
8
+ constructor(emailObject) {
9
+ this.emailObject = emailObject;
10
+ this._styleLabels = new Map([
11
+ ['solid', $localize `:@@border_style_solid:Solid`],
12
+ ['dotted', $localize `:@@border_style_dotted:Dotted`],
13
+ ['dashed', $localize `:@@border_style_dashed:Dashed`],
14
+ ['double', $localize `:@@border_style_double:Double`],
15
+ ['groove', $localize `:@@border_style_groove:Groove`]
16
+ ]);
17
+ }
18
+ get styleLabels() {
19
+ return [...this._styleLabels.keys()];
20
+ }
21
+ getStyleLabel(style) {
22
+ // tslint:disable-next-line:no-non-null-assertion
23
+ return this._styleLabels.get(style);
24
+ }
25
+ markForCheck() {
26
+ this.emailObject.markForCheck();
27
+ }
28
+ isEven() {
29
+ return Object.keys(this.border).length % 2 === 0;
30
+ }
31
+ hasOwnProperty(property) {
32
+ return this.border.hasOwnProperty(property);
33
+ }
34
+ }
35
+ BorderComponent.decorators = [
36
+ { type: Component, args: [{
37
+ selector: 'pb-border',
38
+ template: `
39
+ <div class="group" [class.three]="isEven()">
40
+ <mat-form-field appearance="outline" *ngIf="hasOwnProperty('width')">
41
+ <mat-label i18n="Border Settings|Change Border Width">Width</mat-label>
42
+ <input
43
+ matInput
44
+ [(ngModel)]="border.width"
45
+ type="number"
46
+ min="0"
47
+ step="1"
48
+ (input)="markForCheck()"
49
+ i18n-placeholder
50
+ placeholder="Border Settings|Change Border Width"
51
+ />
52
+ </mat-form-field>
53
+ <mat-form-field appearance="outline" *ngIf="hasOwnProperty('radius')">
54
+ <mat-label i18n="Border Settings|Change Border Radius">Radius</mat-label>
55
+ <input
56
+ matInput
57
+ [(ngModel)]="border.radius"
58
+ type="number"
59
+ min="0"
60
+ step="1"
61
+ (input)="markForCheck()"
62
+ i18n-placeholder
63
+ placeholder="Border Settings|Change Border Radius"
64
+ />
65
+ </mat-form-field>
66
+ <mat-form-field appearance="outline" *ngIf="hasOwnProperty('style')" style="min-width: 90px">
67
+ <mat-label i18n="Border Settings|Change Border Style">Style</mat-label>
68
+ <mat-select
69
+ placeholder="Style"
70
+ [disabled]="!border.width"
71
+ [(value)]="border.style"
72
+ (selectionChange)="markForCheck()"
73
+ disableRipple
74
+ >
75
+ <mat-option *ngFor="let style of styleLabels" [value]="style">
76
+ {{ getStyleLabel(style) }}
77
+ </mat-option>
78
+ </mat-select>
79
+ </mat-form-field>
80
+ </div>
81
+ <pb-color [options]="border" [disabled]="!border.width" *ngIf="hasOwnProperty('color')" key="color"></pb-color>
82
+ `,
83
+ changeDetection: ChangeDetectionStrategy.OnPush,
84
+ styles: [`
85
+ :host {
86
+ display: block;
87
+ width: 100%;
88
+ }
89
+
90
+ mat-form-field {
91
+ width: 100%;
92
+ }
93
+ `]
94
+ },] }
95
+ ];
96
+ BorderComponent.ctorParameters = () => [
97
+ { type: PbEmailObjectStoreService }
98
+ ];
99
+ BorderComponent.propDecorators = {
100
+ border: [{ type: Input }]
101
+ };
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9yZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGItZW1haWwtYnVpbGRlci9zcmMvbGliL2dyb3Vwcy9ib3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkVBQTJFLENBQUM7QUErRHRILE1BQU0sT0FBTyxlQUFlO0lBRzFCLFlBQW9CLFdBQXNDO1FBQXRDLGdCQUFXLEdBQVgsV0FBVyxDQUEyQjtRQUVsRCxpQkFBWSxHQUFHLElBQUksR0FBRyxDQUEyQjtZQUN2RCxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUEsNkJBQTZCLENBQUM7WUFDakQsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFBLCtCQUErQixDQUFDO1lBQ3BELENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQSwrQkFBK0IsQ0FBQztZQUNwRCxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUEsK0JBQStCLENBQUM7WUFDcEQsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFBLCtCQUErQixDQUFDO1NBQ3JELENBQUMsQ0FBQztJQVIwRCxDQUFDO0lBVTlELElBQUksV0FBVztRQUNiLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQXVCO1FBQ25DLGlEQUFpRDtRQUNqRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELGNBQWMsQ0FBQyxRQUFnQjtRQUM3QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7OztZQTdGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Q1Q7Z0JBYUQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07eUJBWDdDOzs7Ozs7Ozs7S0FTQzthQUdKOzs7WUE5RFEseUJBQXlCOzs7cUJBZ0UvQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChjKSAyMDI0IFBvYnVjYS5cclxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuICovXHJcblxyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJQm9yZGVyIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgUGJFbWFpbE9iamVjdFN0b3JlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2ludGVybmFscy9wYi1lbWFpbC1vYmplY3Qtc3RvcmUvcGItZW1haWwtb2JqZWN0LXN0b3JlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdwYi1ib3JkZXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiZ3JvdXBcIiBbY2xhc3MudGhyZWVdPVwiaXNFdmVuKClcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgKm5nSWY9XCJoYXNPd25Qcm9wZXJ0eSgnd2lkdGgnKVwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWwgaTE4bj1cIkJvcmRlciBTZXR0aW5nc3xDaGFuZ2UgQm9yZGVyIFdpZHRoXCI+V2lkdGg8L21hdC1sYWJlbD5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImJvcmRlci53aWR0aFwiXHJcbiAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgIG1pbj1cIjBcIlxyXG4gICAgICAgICAgc3RlcD1cIjFcIlxyXG4gICAgICAgICAgKGlucHV0KT1cIm1hcmtGb3JDaGVjaygpXCJcclxuICAgICAgICAgIGkxOG4tcGxhY2Vob2xkZXJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQm9yZGVyIFNldHRpbmdzfENoYW5nZSBCb3JkZXIgV2lkdGhcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiICpuZ0lmPVwiaGFzT3duUHJvcGVydHkoJ3JhZGl1cycpXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbCBpMThuPVwiQm9yZGVyIFNldHRpbmdzfENoYW5nZSBCb3JkZXIgUmFkaXVzXCI+UmFkaXVzPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJib3JkZXIucmFkaXVzXCJcclxuICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgbWluPVwiMFwiXHJcbiAgICAgICAgICBzdGVwPVwiMVwiXHJcbiAgICAgICAgICAoaW5wdXQpPVwibWFya0ZvckNoZWNrKClcIlxyXG4gICAgICAgICAgaTE4bi1wbGFjZWhvbGRlclxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJCb3JkZXIgU2V0dGluZ3N8Q2hhbmdlIEJvcmRlciBSYWRpdXNcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiICpuZ0lmPVwiaGFzT3duUHJvcGVydHkoJ3N0eWxlJylcIiBzdHlsZT1cIm1pbi13aWR0aDogOTBweFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWwgaTE4bj1cIkJvcmRlciBTZXR0aW5nc3xDaGFuZ2UgQm9yZGVyIFN0eWxlXCI+U3R5bGU8L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LXNlbGVjdFxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJTdHlsZVwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWJvcmRlci53aWR0aFwiXHJcbiAgICAgICAgICBbKHZhbHVlKV09XCJib3JkZXIuc3R5bGVcIlxyXG4gICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJtYXJrRm9yQ2hlY2soKVwiXHJcbiAgICAgICAgICBkaXNhYmxlUmlwcGxlXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHN0eWxlIG9mIHN0eWxlTGFiZWxzXCIgW3ZhbHVlXT1cInN0eWxlXCI+XHJcbiAgICAgICAgICAgIHt7IGdldFN0eWxlTGFiZWwoc3R5bGUpIH19XHJcbiAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8cGItY29sb3IgW29wdGlvbnNdPVwiYm9yZGVyXCIgW2Rpc2FibGVkXT1cIiFib3JkZXIud2lkdGhcIiAqbmdJZj1cImhhc093blByb3BlcnR5KCdjb2xvcicpXCIga2V5PVwiY29sb3JcIj48L3BiLWNvbG9yPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICBgXHJcbiAgICAgIDpob3N0IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbWF0LWZvcm0tZmllbGQge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICBgXHJcbiAgXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQm9yZGVyQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBib3JkZXI6IElCb3JkZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZW1haWxPYmplY3Q6IFBiRW1haWxPYmplY3RTdG9yZVNlcnZpY2UpIHt9XHJcblxyXG4gIHByaXZhdGUgX3N0eWxlTGFiZWxzID0gbmV3IE1hcDxJQm9yZGVyWydzdHlsZSddLCBzdHJpbmc+KFtcclxuICAgIFsnc29saWQnLCAkbG9jYWxpemVgOkBAYm9yZGVyX3N0eWxlX3NvbGlkOlNvbGlkYF0sXHJcbiAgICBbJ2RvdHRlZCcsICRsb2NhbGl6ZWA6QEBib3JkZXJfc3R5bGVfZG90dGVkOkRvdHRlZGBdLFxyXG4gICAgWydkYXNoZWQnLCAkbG9jYWxpemVgOkBAYm9yZGVyX3N0eWxlX2Rhc2hlZDpEYXNoZWRgXSxcclxuICAgIFsnZG91YmxlJywgJGxvY2FsaXplYDpAQGJvcmRlcl9zdHlsZV9kb3VibGU6RG91YmxlYF0sXHJcbiAgICBbJ2dyb292ZScsICRsb2NhbGl6ZWA6QEBib3JkZXJfc3R5bGVfZ3Jvb3ZlOkdyb292ZWBdXHJcbiAgXSk7XHJcblxyXG4gIGdldCBzdHlsZUxhYmVscygpOiBJQm9yZGVyWydzdHlsZSddW10ge1xyXG4gICAgcmV0dXJuIFsuLi50aGlzLl9zdHlsZUxhYmVscy5rZXlzKCldO1xyXG4gIH1cclxuXHJcbiAgZ2V0U3R5bGVMYWJlbChzdHlsZTogSUJvcmRlclsnc3R5bGUnXSk6IHN0cmluZyB7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tbm9uLW51bGwtYXNzZXJ0aW9uXHJcbiAgICByZXR1cm4gdGhpcy5fc3R5bGVMYWJlbHMuZ2V0KHN0eWxlKSE7XHJcbiAgfVxyXG5cclxuICBtYXJrRm9yQ2hlY2soKSB7XHJcbiAgICB0aGlzLmVtYWlsT2JqZWN0Lm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgaXNFdmVuKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuYm9yZGVyKS5sZW5ndGggJSAyID09PSAwO1xyXG4gIH1cclxuXHJcbiAgaGFzT3duUHJvcGVydHkocHJvcGVydHk6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYm9yZGVyLmhhc093blByb3BlcnR5KHByb3BlcnR5KTtcclxuICB9XHJcbn1cclxuIl19