@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,31 +1,31 @@
1
- /*
2
- * Copyright (c) 2024 Pobuca.
3
- * All rights reserved.
4
- */
5
- import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
6
- import { PbUserInterfaceService } from '../../services/internals/user-interfaces/user-interface.service';
7
- import { PbEmailObjectStoreService } from '../../services/internals/pb-email-object-store/pb-email-object-store.service';
8
- export class StructureSettingsComponent {
9
- constructor(pbInternalService, emailObject) {
10
- this.pbInternalService = pbInternalService;
11
- this.emailObject = emailObject;
12
- this.currentStructure$ = this.pbInternalService.currentEditingStructure$;
13
- }
14
- markForCheck() {
15
- this.emailObject.markForCheck();
16
- }
17
- }
18
- StructureSettingsComponent.decorators = [
19
- { type: Component, args: [{
20
- selector: 'pb-structure-settings',
21
- template: "<!--\n ~ Copyright (c) 2024 Pobuca.\n ~ All rights reserved.\n -->\n\n<mat-accordion *ngIf=\"currentStructure$ | async as structure\">\n <mat-expansion-panel expanded>\n <mat-expansion-panel-header i18n=\"Structure settings|Change structure Background\">\n Background\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <pb-color [options]=\"structure.options.background\" key=\"color\"></pb-color>\n <pb-image-upload [block]=\"structure.options.background\" key=\"url\" style=\"margin-bottom: 1em\"></pb-image-upload>\n <pb-back-repeat [disabled]=\"!structure.options.background.url\"\n [model]=\"structure.options.background\"></pb-back-repeat>\n <pb-width-height [disabled]=\"!structure.options.background.url\" [model]=\"structure.options.background.size\"\n label=\"size\">\n </pb-width-height>\n </ng-template>\n </mat-expansion-panel>\n\n <mat-expansion-panel>\n <mat-expansion-panel-header i18n=\"Structure settings|Change structure border\">\n Border\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <pb-border [border]=\"structure.options.border\"></pb-border>\n </ng-template>\n </mat-expansion-panel>\n\n <mat-expansion-panel>\n <mat-expansion-panel-header i18n=\"Structure settings|Change structure padding\">\n Padding\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <pb-padding [padding]=\"structure.options.padding\"></pb-padding>\n </ng-template>\n </mat-expansion-panel>\n\n <mat-expansion-panel>\n <mat-expansion-panel-header i18n=\"Structure settings|Change structure margin\">\n Margin\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <pb-margin [margin]=\"structure.options.margin\"></pb-margin>\n </ng-template>\n </mat-expansion-panel>\n\n <mat-expansion-panel>\n <mat-expansion-panel-header i18n=\"Structure settings|Change structure layout\">\n Layout\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <pb-gaps [gaps]=\"structure.options.gaps\"></pb-gaps>\n <mat-slide-toggle [disabled]=\"structure.type === 'cols_1'\" style=\"margin-top: -24px;\"\n [(ngModel)]=\"structure.options.disableResponsive\" i18n=\"Structure settings|Disable Responsive\"\n (change)=\"markForCheck()\">\n Disable Responsive\n </mat-slide-toggle>\n <mat-slide-toggle\n [(ngModel)]=\"structure.options.fullWidth\" i18n=\"Structure settings|Full Width\"\n (change)=\"markForCheck()\">\n Make section full width\n </mat-slide-toggle>\n </ng-template>\n </mat-expansion-panel>\n\n <mat-expansion-panel *ngFor=\"let column of structure.options.columns; let key = index\">\n <mat-expansion-panel-header>\n <ng-container i18n=\"Structure settings|Structure Column\">Column</ng-container>\n {{ key + 1 }}\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <h3 class=\"divider\">\n <span i18n=\"Structure settings|Column Background\">Column Background</span>\n </h3>\n <pb-color [options]=\"column.background\" [showTransparent]=\"true\" key=\"color\"></pb-color>\n <h3 class=\"divider\">\n <span i18n=\"Structure settings|Column Border\">Column Border</span>\n </h3>\n <pb-border [border]=\"column.border\"></pb-border>\n <h3 class=\"divider\">\n <span i18n=\"Structure settings|Column Vertical Align\">Vertical Align</span>\n </h3>\n <pb-align [model]=\"column\" mode=\"vertical\"></pb-align>\n </ng-template>\n </mat-expansion-panel>\n</mat-accordion>\n",
22
- changeDetection: ChangeDetectionStrategy.OnPush,
23
- encapsulation: ViewEncapsulation.None,
24
- styles: [":host{display:block}"]
25
- },] }
26
- ];
27
- StructureSettingsComponent.ctorParameters = () => [
28
- { type: PbUserInterfaceService },
29
- { type: PbEmailObjectStoreService }
30
- ];
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BiLWVtYWlsLWJ1aWxkZXIvc3JjL2xpYi9jb21wb25lbnRzL3N0cnVjdHVyZS1zZXR0aW5ncy9zdHJ1Y3R1cmUtc2V0dGluZ3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDekcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFTekgsTUFBTSxPQUFPLDBCQUEwQjtJQUdyQyxZQUFvQixpQkFBeUMsRUFBVSxXQUFzQztRQUF6RixzQkFBaUIsR0FBakIsaUJBQWlCLENBQXdCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQTJCO1FBRjdHLHNCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3QkFBd0IsQ0FBQztJQUU0QyxDQUFDO0lBRWpILFlBQVk7UUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2xDLENBQUM7OztZQWRGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyxzc0hBQWtEO2dCQUVsRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7O2FBQ3RDOzs7WUFUUSxzQkFBc0I7WUFDdEIseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyNCBQb2J1Y2EuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYlVzZXJJbnRlcmZhY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW50ZXJuYWxzL3VzZXItaW50ZXJmYWNlcy91c2VyLWludGVyZmFjZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBiRW1haWxPYmplY3RTdG9yZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pbnRlcm5hbHMvcGItZW1haWwtb2JqZWN0LXN0b3JlL3BiLWVtYWlsLW9iamVjdC1zdG9yZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGItc3RydWN0dXJlLXNldHRpbmdzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0cnVjdHVyZS1zZXR0aW5ncy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0cnVjdHVyZS1zZXR0aW5ncy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFN0cnVjdHVyZVNldHRpbmdzQ29tcG9uZW50IHtcbiAgY3VycmVudFN0cnVjdHVyZSQgPSB0aGlzLnBiSW50ZXJuYWxTZXJ2aWNlLmN1cnJlbnRFZGl0aW5nU3RydWN0dXJlJDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBiSW50ZXJuYWxTZXJ2aWNlOiBQYlVzZXJJbnRlcmZhY2VTZXJ2aWNlLCBwcml2YXRlIGVtYWlsT2JqZWN0OiBQYkVtYWlsT2JqZWN0U3RvcmVTZXJ2aWNlKSB7fVxuXG4gIG1hcmtGb3JDaGVjaygpIHtcbiAgICB0aGlzLmVtYWlsT2JqZWN0Lm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iXX0=
1
+ /*
2
+ * Copyright (c) 2024 Pobuca.
3
+ * All rights reserved.
4
+ */
5
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
6
+ import { PbUserInterfaceService } from '../../services/internals/user-interfaces/user-interface.service';
7
+ import { PbEmailObjectStoreService } from '../../services/internals/pb-email-object-store/pb-email-object-store.service';
8
+ export class StructureSettingsComponent {
9
+ constructor(pbInternalService, emailObject) {
10
+ this.pbInternalService = pbInternalService;
11
+ this.emailObject = emailObject;
12
+ this.currentStructure$ = this.pbInternalService.currentEditingStructure$;
13
+ }
14
+ markForCheck() {
15
+ this.emailObject.markForCheck();
16
+ }
17
+ }
18
+ StructureSettingsComponent.decorators = [
19
+ { type: Component, args: [{
20
+ selector: 'pb-structure-settings',
21
+ template: "<!--\r\n ~ Copyright (c) 2024 Pobuca.\r\n ~ All rights reserved.\r\n -->\r\n\r\n<mat-accordion *ngIf=\"currentStructure$ | async as structure\">\r\n <mat-expansion-panel expanded>\r\n <mat-expansion-panel-header i18n=\"Structure settings|Change structure Background\">\r\n Background\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <pb-color [options]=\"structure.options.background\" key=\"color\"></pb-color>\r\n <pb-image-upload [block]=\"structure.options.background\" key=\"url\" style=\"margin-bottom: 1em\"></pb-image-upload>\r\n <pb-back-repeat [disabled]=\"!structure.options.background.url\"\r\n [model]=\"structure.options.background\"></pb-back-repeat>\r\n <pb-width-height [disabled]=\"!structure.options.background.url\" [model]=\"structure.options.background.size\"\r\n label=\"size\">\r\n </pb-width-height>\r\n </ng-template>\r\n </mat-expansion-panel>\r\n\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header i18n=\"Structure settings|Change structure border\">\r\n Border\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <pb-border [border]=\"structure.options.border\"></pb-border>\r\n </ng-template>\r\n </mat-expansion-panel>\r\n\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header i18n=\"Structure settings|Change structure padding\">\r\n Padding\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <pb-padding [padding]=\"structure.options.padding\"></pb-padding>\r\n </ng-template>\r\n </mat-expansion-panel>\r\n\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header i18n=\"Structure settings|Change structure margin\">\r\n Margin\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <pb-margin [margin]=\"structure.options.margin\"></pb-margin>\r\n </ng-template>\r\n </mat-expansion-panel>\r\n\r\n <mat-expansion-panel>\r\n <mat-expansion-panel-header i18n=\"Structure settings|Change structure layout\">\r\n Layout\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <pb-gaps [gaps]=\"structure.options.gaps\"></pb-gaps>\r\n <mat-slide-toggle [disabled]=\"structure.type === 'cols_1'\" style=\"margin-top: -24px;\"\r\n [(ngModel)]=\"structure.options.disableResponsive\" i18n=\"Structure settings|Disable Responsive\"\r\n (change)=\"markForCheck()\">\r\n Disable Responsive\r\n </mat-slide-toggle>\r\n <mat-slide-toggle\r\n [(ngModel)]=\"structure.options.fullWidth\" i18n=\"Structure settings|Full Width\"\r\n (change)=\"markForCheck()\">\r\n Make section full width\r\n </mat-slide-toggle>\r\n </ng-template>\r\n </mat-expansion-panel>\r\n\r\n <mat-expansion-panel *ngFor=\"let column of structure.options.columns; let key = index\">\r\n <mat-expansion-panel-header>\r\n <ng-container i18n=\"Structure settings|Structure Column\">Column</ng-container>\r\n {{ key + 1 }}\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <h3 class=\"divider\">\r\n <span i18n=\"Structure settings|Column Background\">Column Background</span>\r\n </h3>\r\n <pb-color [options]=\"column.background\" [showTransparent]=\"true\" key=\"color\"></pb-color>\r\n <h3 class=\"divider\">\r\n <span i18n=\"Structure settings|Column Border\">Column Border</span>\r\n </h3>\r\n <pb-border [border]=\"column.border\"></pb-border>\r\n <h3 class=\"divider\">\r\n <span i18n=\"Structure settings|Column Vertical Align\">Vertical Align</span>\r\n </h3>\r\n <pb-align [model]=\"column\" mode=\"vertical\"></pb-align>\r\n </ng-template>\r\n </mat-expansion-panel>\r\n</mat-accordion>\r\n",
22
+ changeDetection: ChangeDetectionStrategy.OnPush,
23
+ encapsulation: ViewEncapsulation.None,
24
+ styles: [":host{display:block}"]
25
+ },] }
26
+ ];
27
+ StructureSettingsComponent.ctorParameters = () => [
28
+ { type: PbUserInterfaceService },
29
+ { type: PbEmailObjectStoreService }
30
+ ];
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BiLWVtYWlsLWJ1aWxkZXIvc3JjL2xpYi9jb21wb25lbnRzL3N0cnVjdHVyZS1zZXR0aW5ncy9zdHJ1Y3R1cmUtc2V0dGluZ3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDekcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFTekgsTUFBTSxPQUFPLDBCQUEwQjtJQUdyQyxZQUFvQixpQkFBeUMsRUFBVSxXQUFzQztRQUF6RixzQkFBaUIsR0FBakIsaUJBQWlCLENBQXdCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQTJCO1FBRjdHLHNCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3QkFBd0IsQ0FBQztJQUU0QyxDQUFDO0lBRWpILFlBQVk7UUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2xDLENBQUM7OztZQWRGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyxzM0hBQWtEO2dCQUVsRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7O2FBQ3RDOzs7WUFUUSxzQkFBc0I7WUFDdEIseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChjKSAyMDI0IFBvYnVjYS5cclxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuICovXHJcblxyXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQYlVzZXJJbnRlcmZhY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaW50ZXJuYWxzL3VzZXItaW50ZXJmYWNlcy91c2VyLWludGVyZmFjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGJFbWFpbE9iamVjdFN0b3JlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ludGVybmFscy9wYi1lbWFpbC1vYmplY3Qtc3RvcmUvcGItZW1haWwtb2JqZWN0LXN0b3JlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdwYi1zdHJ1Y3R1cmUtc2V0dGluZ3MnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zdHJ1Y3R1cmUtc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3N0cnVjdHVyZS1zZXR0aW5ncy5jb21wb25lbnQuY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RydWN0dXJlU2V0dGluZ3NDb21wb25lbnQge1xyXG4gIGN1cnJlbnRTdHJ1Y3R1cmUkID0gdGhpcy5wYkludGVybmFsU2VydmljZS5jdXJyZW50RWRpdGluZ1N0cnVjdHVyZSQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGJJbnRlcm5hbFNlcnZpY2U6IFBiVXNlckludGVyZmFjZVNlcnZpY2UsIHByaXZhdGUgZW1haWxPYmplY3Q6IFBiRW1haWxPYmplY3RTdG9yZVNlcnZpY2UpIHt9XHJcblxyXG4gIG1hcmtGb3JDaGVjaygpIHtcclxuICAgIHRoaXMuZW1haWxPYmplY3QubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,45 +1,45 @@
1
- /*
2
- * Copyright (c) 2024 Pobuca.
3
- * All rights reserved.
4
- */
5
- import { Component, Inject, ChangeDetectionStrategy } from '@angular/core';
6
- import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
7
- import { BehaviorSubject } from 'rxjs';
8
- import { map, pluck, take } from 'rxjs/operators';
9
- export class TemplateListDialogComponent {
10
- constructor(matDialogRef, templateList) {
11
- this.matDialogRef = matDialogRef;
12
- this.templateList = templateList;
13
- this.chooseCategory$ = new BehaviorSubject('latest');
14
- this.currentCategoryTemplates$ = this.chooseCategory$.pipe(map(category => this.templateList.find(list => list.category === category) || { templates: [] }), pluck('templates'), map(templates => (templates.length > 0 ? templates : null))
15
- // map(tmpl => Array.from({ length: 1000 }).map((_, i) => tmpl[0]))
16
- );
17
- }
18
- chooseTemplate(template) {
19
- this.csdTemplate = template;
20
- }
21
- chageCategory(category) {
22
- this.chooseCategory$.next(category);
23
- }
24
- getTemplatesList() {
25
- return this.templateList.filter(({ category }) => category !== 'latest');
26
- }
27
- startBuilding() {
28
- this.chooseCategory$.pipe(take(1)).subscribe(category => {
29
- this.matDialogRef.close({ category, template: this.csdTemplate });
30
- });
31
- }
32
- }
33
- TemplateListDialogComponent.decorators = [
34
- { type: Component, args: [{
35
- selector: 'pb-template-list-dialog',
36
- template: "<!--\n ~ Copyright (c) 2024 Pobuca.\n ~ All rights reserved.\n -->\n\n<div fxLayout=\"column\" style=\"height: 100%;\">\n <h2 mat-dialog-title i18n=\"templates|Modal template header\">Custom Templates</h2>\n <div class=\"mat-typography template-list-wrapper\" fxLayout fxLayoutGap=\"1rem\" fxFlex>\n <mat-list fxFlex=\"200px\" dense>\n <mat-list-item (click)=\"chageCategory('latest')\" [ngClass]=\"{active: (chooseCategory$ | async) === 'latest'}\"\n i18n=\"templates|category name\">\n Latest\n </mat-list-item>\n <mat-divider></mat-divider>\n <mat-list-item *ngFor=\"let list of getTemplatesList()\" (click)=\"chageCategory(list.category)\"\n [ngClass]=\"{active: (chooseCategory$ | async) === list.category}\" i18n=\"templates|category name\">\n {{list.category}}\n </mat-list-item>\n </mat-list>\n\n <ng-container *ngIf=\"currentCategoryTemplates$ | async as templates;else emptyCategory\">\n <cdk-virtual-scroll-viewport itemSize=\"150\" [maxBufferPx]=\"150\" fxFlex>\n <div class=\"template-list\">\n <div *cdkVirtualFor=\"let template of templates\" class=\"template-list-item\" (click)=\"chooseTemplate(template)\"\n i18n-matTooltip=\"templates|Click to choose message\" matTooltip=\"Click to choose\">\n <img [src]=\"template.thumbPath\" [alt]=\"template.title\" />\n <div class=\"description\">\n <h3>{{template.title}}</h3>\n </div>\n </div>\n </div>\n </cdk-virtual-scroll-viewport>\n </ng-container>\n </div>\n <mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close i18n=\"actions|Undo\">Undo</button>\n <button mat-button (click)=\"startBuilding()\" [disabled]=\"!csdTemplate\" i18n=\"actions|Start\">\n Start\n </button>\n </mat-dialog-actions>\n</div>\n\n\n<ng-template #emptyCategory>\n <div fxFlex fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"empty-category-notification\">\n <mat-icon>notifications</mat-icon>\n <h2 i18n=\"templates|No templates in current category message\">This category is empty!</h2>\n </div>\n</ng-template>\n",
37
- changeDetection: ChangeDetectionStrategy.OnPush,
38
- styles: ["/*!\n * Copyright (c) 2024 Pobuca.\n * All rights reserved.\n */:host{display:block;height:inherit}.template-list-wrapper mat-list{position:sticky;top:0}.template-list-wrapper mat-list mat-list-item{text-transform:capitalize;cursor:pointer;border-radius:3px;transition:all .3s linear}.template-list-wrapper mat-list mat-list-item.active,.template-list-wrapper mat-list mat-list-item:hover{background-color:#f3f3f3}.template-list-wrapper .template-list{display:grid;gap:1rem;grid-template:150px/repeat(3,1fr)}@media screen and (max-width:699px){.template-list-wrapper .template-list{grid-template:150px/repeat(2,1fr)}}.template-list-wrapper .template-list-item{border-radius:3px;overflow:hidden;border:1px solid #ccc;padding:.5rem;position:relative;background-color:#f3f3f3}.template-list-wrapper .template-list-item img{-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;height:calc(200px - 1rem);width:100%;cursor:pointer;animation:objectPosition 3s linear infinite alternate;animation-play-state:paused}.template-list-wrapper .template-list-item .description{position:absolute;bottom:0;right:0;left:0;background-color:#fff;padding:.5rem;opacity:1;transition:all .3s linear;text-transform:capitalize}.template-list-wrapper .template-list-item .description h3{margin:0}.template-list-wrapper .template-list-item:hover img{animation-play-state:running}.template-list-wrapper .template-list-item:hover .description{bottom:-44px;opacity:.6}.empty-category-notification mat-icon{height:50px;width:50px;font-size:50px}.empty-category-notification h2{text-transform:uppercase}@keyframes objectPosition{to{-o-object-position:bottom;object-position:bottom}}"]
39
- },] }
40
- ];
41
- TemplateListDialogComponent.ctorParameters = () => [
42
- { type: MatDialogRef },
43
- { type: Array, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
44
- ];
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtbGlzdC1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGItZW1haWwtYnVpbGRlci9zcmMvbGliL2NvbXBvbmVudHMvdGVtcGxhdGUtbGlzdC1kaWFsb2cvdGVtcGxhdGUtbGlzdC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVVsRCxNQUFNLE9BQU8sMkJBQTJCO0lBVXRDLFlBQ1UsWUFBdUQsRUFDL0IsWUFBcUM7UUFEN0QsaUJBQVksR0FBWixZQUFZLENBQTJDO1FBQy9CLGlCQUFZLEdBQVosWUFBWSxDQUF5QjtRQVg5RCxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFTLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELDhCQUF5QixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUM1RCxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFDaEcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUNsQixHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNELG1FQUFtRTtTQUNwRSxDQUFDO0lBTUMsQ0FBQztJQUVKLGNBQWMsQ0FBQyxRQUF1QjtRQUNwQyxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQWdCO1FBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3RELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQXJDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsOG9FQUFvRDtnQkFFcEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7WUFYeUIsWUFBWTt3Q0F3QmpDLE1BQU0sU0FBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyNCBQb2J1Y2EuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHBsdWNrLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBJVXNlclRlbXBsYXRlQ2F0ZWdvcnksIElVc2VyVGVtcGxhdGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwYi10ZW1wbGF0ZS1saXN0LWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS1saXN0LWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RlbXBsYXRlLWxpc3QtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlTGlzdERpYWxvZ0NvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGNob29zZUNhdGVnb3J5JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignbGF0ZXN0Jyk7XG4gIHJlYWRvbmx5IGN1cnJlbnRDYXRlZ29yeVRlbXBsYXRlcyQgPSB0aGlzLmNob29zZUNhdGVnb3J5JC5waXBlKFxuICAgIG1hcChjYXRlZ29yeSA9PiB0aGlzLnRlbXBsYXRlTGlzdC5maW5kKGxpc3QgPT4gbGlzdC5jYXRlZ29yeSA9PT0gY2F0ZWdvcnkpIHx8IHsgdGVtcGxhdGVzOiBbXSB9KSxcbiAgICBwbHVjaygndGVtcGxhdGVzJyksXG4gICAgbWFwKHRlbXBsYXRlcyA9PiAodGVtcGxhdGVzLmxlbmd0aCA+IDAgPyB0ZW1wbGF0ZXMgOiBudWxsKSlcbiAgICAvLyBtYXAodG1wbCA9PiBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxMDAwIH0pLm1hcCgoXywgaSkgPT4gdG1wbFswXSkpXG4gICk7XG4gIGNzZFRlbXBsYXRlOiBJVXNlclRlbXBsYXRlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbWF0RGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VGVtcGxhdGVMaXN0RGlhbG9nQ29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIHRlbXBsYXRlTGlzdDogSVVzZXJUZW1wbGF0ZUNhdGVnb3J5W11cbiAgKSB7fVxuXG4gIGNob29zZVRlbXBsYXRlKHRlbXBsYXRlOiBJVXNlclRlbXBsYXRlKSB7XG4gICAgdGhpcy5jc2RUZW1wbGF0ZSA9IHRlbXBsYXRlO1xuICB9XG5cbiAgY2hhZ2VDYXRlZ29yeShjYXRlZ29yeTogc3RyaW5nKSB7XG4gICAgdGhpcy5jaG9vc2VDYXRlZ29yeSQubmV4dChjYXRlZ29yeSk7XG4gIH1cblxuICBnZXRUZW1wbGF0ZXNMaXN0KCkge1xuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlTGlzdC5maWx0ZXIoKHsgY2F0ZWdvcnkgfSkgPT4gY2F0ZWdvcnkgIT09ICdsYXRlc3QnKTtcbiAgfVxuXG4gIHN0YXJ0QnVpbGRpbmcoKSB7XG4gICAgdGhpcy5jaG9vc2VDYXRlZ29yeSQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoY2F0ZWdvcnkgPT4ge1xuICAgICAgdGhpcy5tYXREaWFsb2dSZWYuY2xvc2UoeyBjYXRlZ29yeSwgdGVtcGxhdGU6IHRoaXMuY3NkVGVtcGxhdGUgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
1
+ /*
2
+ * Copyright (c) 2024 Pobuca.
3
+ * All rights reserved.
4
+ */
5
+ import { Component, Inject, ChangeDetectionStrategy } from '@angular/core';
6
+ import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
7
+ import { BehaviorSubject } from 'rxjs';
8
+ import { map, pluck, take } from 'rxjs/operators';
9
+ export class TemplateListDialogComponent {
10
+ constructor(matDialogRef, templateList) {
11
+ this.matDialogRef = matDialogRef;
12
+ this.templateList = templateList;
13
+ this.chooseCategory$ = new BehaviorSubject('latest');
14
+ this.currentCategoryTemplates$ = this.chooseCategory$.pipe(map(category => this.templateList.find(list => list.category === category) || { templates: [] }), pluck('templates'), map(templates => (templates.length > 0 ? templates : null))
15
+ // map(tmpl => Array.from({ length: 1000 }).map((_, i) => tmpl[0]))
16
+ );
17
+ }
18
+ chooseTemplate(template) {
19
+ this.csdTemplate = template;
20
+ }
21
+ chageCategory(category) {
22
+ this.chooseCategory$.next(category);
23
+ }
24
+ getTemplatesList() {
25
+ return this.templateList.filter(({ category }) => category !== 'latest');
26
+ }
27
+ startBuilding() {
28
+ this.chooseCategory$.pipe(take(1)).subscribe(category => {
29
+ this.matDialogRef.close({ category, template: this.csdTemplate });
30
+ });
31
+ }
32
+ }
33
+ TemplateListDialogComponent.decorators = [
34
+ { type: Component, args: [{
35
+ selector: 'pb-template-list-dialog',
36
+ template: "<!--\r\n ~ Copyright (c) 2024 Pobuca.\r\n ~ All rights reserved.\r\n -->\r\n\r\n<div fxLayout=\"column\" style=\"height: 100%;\">\r\n <h2 mat-dialog-title i18n=\"templates|Modal template header\">Custom Templates</h2>\r\n <div class=\"mat-typography template-list-wrapper\" fxLayout fxLayoutGap=\"1rem\" fxFlex>\r\n <mat-list fxFlex=\"200px\" dense>\r\n <mat-list-item (click)=\"chageCategory('latest')\" [ngClass]=\"{active: (chooseCategory$ | async) === 'latest'}\"\r\n i18n=\"templates|category name\">\r\n Latest\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item *ngFor=\"let list of getTemplatesList()\" (click)=\"chageCategory(list.category)\"\r\n [ngClass]=\"{active: (chooseCategory$ | async) === list.category}\" i18n=\"templates|category name\">\r\n {{list.category}}\r\n </mat-list-item>\r\n </mat-list>\r\n\r\n <ng-container *ngIf=\"currentCategoryTemplates$ | async as templates;else emptyCategory\">\r\n <cdk-virtual-scroll-viewport itemSize=\"150\" [maxBufferPx]=\"150\" fxFlex>\r\n <div class=\"template-list\">\r\n <div *cdkVirtualFor=\"let template of templates\" class=\"template-list-item\" (click)=\"chooseTemplate(template)\"\r\n i18n-matTooltip=\"templates|Click to choose message\" matTooltip=\"Click to choose\">\r\n <img [src]=\"template.thumbPath\" [alt]=\"template.title\" />\r\n <div class=\"description\">\r\n <h3>{{template.title}}</h3>\r\n </div>\r\n </div>\r\n </div>\r\n </cdk-virtual-scroll-viewport>\r\n </ng-container>\r\n </div>\r\n <mat-dialog-actions align=\"end\">\r\n <button mat-button mat-dialog-close i18n=\"actions|Undo\">Undo</button>\r\n <button mat-button (click)=\"startBuilding()\" [disabled]=\"!csdTemplate\" i18n=\"actions|Start\">\r\n Start\r\n </button>\r\n </mat-dialog-actions>\r\n</div>\r\n\r\n\r\n<ng-template #emptyCategory>\r\n <div fxFlex fxLayout=\"column\" fxLayoutAlign=\"center center\" class=\"empty-category-notification\">\r\n <mat-icon>notifications</mat-icon>\r\n <h2 i18n=\"templates|No templates in current category message\">This category is empty!</h2>\r\n </div>\r\n</ng-template>\r\n",
37
+ changeDetection: ChangeDetectionStrategy.OnPush,
38
+ styles: ["/*!\n * Copyright (c) 2024 Pobuca.\n * All rights reserved.\n */:host{display:block;height:inherit}.template-list-wrapper mat-list{position:sticky;top:0}.template-list-wrapper mat-list mat-list-item{text-transform:capitalize;cursor:pointer;border-radius:3px;transition:all .3s linear}.template-list-wrapper mat-list mat-list-item.active,.template-list-wrapper mat-list mat-list-item:hover{background-color:#f3f3f3}.template-list-wrapper .template-list{display:grid;gap:1rem;grid-template:150px/repeat(3,1fr)}@media screen and (max-width:699px){.template-list-wrapper .template-list{grid-template:150px/repeat(2,1fr)}}.template-list-wrapper .template-list-item{border-radius:3px;overflow:hidden;border:1px solid #ccc;padding:.5rem;position:relative;background-color:#f3f3f3}.template-list-wrapper .template-list-item img{-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;height:calc(200px - 1rem);width:100%;cursor:pointer;animation:objectPosition 3s linear infinite alternate;animation-play-state:paused}.template-list-wrapper .template-list-item .description{position:absolute;bottom:0;right:0;left:0;background-color:#fff;padding:.5rem;opacity:1;transition:all .3s linear;text-transform:capitalize}.template-list-wrapper .template-list-item .description h3{margin:0}.template-list-wrapper .template-list-item:hover img{animation-play-state:running}.template-list-wrapper .template-list-item:hover .description{bottom:-44px;opacity:.6}.empty-category-notification mat-icon{height:50px;width:50px;font-size:50px}.empty-category-notification h2{text-transform:uppercase}@keyframes objectPosition{to{-o-object-position:bottom;object-position:bottom}}"]
39
+ },] }
40
+ ];
41
+ TemplateListDialogComponent.ctorParameters = () => [
42
+ { type: MatDialogRef },
43
+ { type: Array, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
44
+ ];
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtbGlzdC1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGItZW1haWwtYnVpbGRlci9zcmMvbGliL2NvbXBvbmVudHMvdGVtcGxhdGUtbGlzdC1kaWFsb2cvdGVtcGxhdGUtbGlzdC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVVsRCxNQUFNLE9BQU8sMkJBQTJCO0lBVXRDLFlBQ1UsWUFBdUQsRUFDL0IsWUFBcUM7UUFEN0QsaUJBQVksR0FBWixZQUFZLENBQTJDO1FBQy9CLGlCQUFZLEdBQVosWUFBWSxDQUF5QjtRQVg5RCxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFTLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELDhCQUF5QixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUM1RCxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFDaEcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUNsQixHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNELG1FQUFtRTtTQUNwRSxDQUFDO0lBTUMsQ0FBQztJQUVKLGNBQWMsQ0FBQyxRQUF1QjtRQUNwQyxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQWdCO1FBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3RELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQXJDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsZ3ZFQUFvRDtnQkFFcEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7WUFYeUIsWUFBWTt3Q0F3QmpDLE1BQU0sU0FBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChjKSAyMDI0IFBvYnVjYS5cclxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuICovXHJcblxyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwLCBwbHVjaywgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IElVc2VyVGVtcGxhdGVDYXRlZ29yeSwgSVVzZXJUZW1wbGF0ZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaW50ZXJmYWNlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3BiLXRlbXBsYXRlLWxpc3QtZGlhbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUtbGlzdC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RlbXBsYXRlLWxpc3QtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlTGlzdERpYWxvZ0NvbXBvbmVudCB7XHJcbiAgcmVhZG9ubHkgY2hvb3NlQ2F0ZWdvcnkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCdsYXRlc3QnKTtcclxuICByZWFkb25seSBjdXJyZW50Q2F0ZWdvcnlUZW1wbGF0ZXMkID0gdGhpcy5jaG9vc2VDYXRlZ29yeSQucGlwZShcclxuICAgIG1hcChjYXRlZ29yeSA9PiB0aGlzLnRlbXBsYXRlTGlzdC5maW5kKGxpc3QgPT4gbGlzdC5jYXRlZ29yeSA9PT0gY2F0ZWdvcnkpIHx8IHsgdGVtcGxhdGVzOiBbXSB9KSxcclxuICAgIHBsdWNrKCd0ZW1wbGF0ZXMnKSxcclxuICAgIG1hcCh0ZW1wbGF0ZXMgPT4gKHRlbXBsYXRlcy5sZW5ndGggPiAwID8gdGVtcGxhdGVzIDogbnVsbCkpXHJcbiAgICAvLyBtYXAodG1wbCA9PiBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxMDAwIH0pLm1hcCgoXywgaSkgPT4gdG1wbFswXSkpXHJcbiAgKTtcclxuICBjc2RUZW1wbGF0ZTogSVVzZXJUZW1wbGF0ZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG1hdERpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFRlbXBsYXRlTGlzdERpYWxvZ0NvbXBvbmVudD4sXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIHRlbXBsYXRlTGlzdDogSVVzZXJUZW1wbGF0ZUNhdGVnb3J5W11cclxuICApIHt9XHJcblxyXG4gIGNob29zZVRlbXBsYXRlKHRlbXBsYXRlOiBJVXNlclRlbXBsYXRlKSB7XHJcbiAgICB0aGlzLmNzZFRlbXBsYXRlID0gdGVtcGxhdGU7XHJcbiAgfVxyXG5cclxuICBjaGFnZUNhdGVnb3J5KGNhdGVnb3J5OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuY2hvb3NlQ2F0ZWdvcnkkLm5leHQoY2F0ZWdvcnkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGVtcGxhdGVzTGlzdCgpIHtcclxuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlTGlzdC5maWx0ZXIoKHsgY2F0ZWdvcnkgfSkgPT4gY2F0ZWdvcnkgIT09ICdsYXRlc3QnKTtcclxuICB9XHJcblxyXG4gIHN0YXJ0QnVpbGRpbmcoKSB7XHJcbiAgICB0aGlzLmNob29zZUNhdGVnb3J5JC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShjYXRlZ29yeSA9PiB7XHJcbiAgICAgIHRoaXMubWF0RGlhbG9nUmVmLmNsb3NlKHsgY2F0ZWdvcnksIHRlbXBsYXRlOiB0aGlzLmNzZFRlbXBsYXRlIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,46 +1,46 @@
1
- /*
2
- * Copyright (c) 2024 Pobuca.
3
- * All rights reserved.
4
- */
5
- import { ComponentFactoryResolver, Directive, Input, ViewContainerRef } from '@angular/core';
6
- import { TextElementComponent } from '../elements/text-element/text-element.component';
7
- import { ImageComponent } from '../elements/image/image.component';
8
- import { ButtonComponent } from '../elements/button/button.component';
9
- import { DividerComponent } from '../elements/divider/divider.component';
10
- import { SpacerComponent } from '../elements/spacer/spacer.component';
11
- import { SocialComponent } from '../elements/social/social.component';
12
- const cStore = new Map();
13
- /**
14
- * @internal
15
- *
16
- * Soon it must be optimized, and load all components lazily.
17
- */
18
- export class DynamicComponentDirective {
19
- constructor(cResolver, viewContainerRef) {
20
- this.cResolver = cResolver;
21
- this.viewContainerRef = viewContainerRef;
22
- cStore.set('text', TextElementComponent);
23
- cStore.set('image', ImageComponent);
24
- cStore.set('button', ButtonComponent);
25
- cStore.set('divider', DividerComponent);
26
- cStore.set('spacer', SpacerComponent);
27
- cStore.set('social', SocialComponent);
28
- }
29
- set pbDynamicComponent(block) {
30
- const component = this.cResolver.resolveComponentFactory(cStore.get(block.type));
31
- this.viewContainerRef.createComponent(component).instance.block = block;
32
- }
33
- }
34
- DynamicComponentDirective.decorators = [
35
- { type: Directive, args: [{
36
- selector: '[pbDynamicComponent]'
37
- },] }
38
- ];
39
- DynamicComponentDirective.ctorParameters = () => [
40
- { type: ComponentFactoryResolver },
41
- { type: ViewContainerRef }
42
- ];
43
- DynamicComponentDirective.propDecorators = {
44
- pbDynamicComponent: [{ type: Input }]
45
- };
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGItZW1haWwtYnVpbGRlci9zcmMvbGliL2RpcmVjdGl2ZXMvZHluYW1pYy1jb21wb25lbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFRLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUd0RSxNQUFNLE1BQU0sR0FBMkIsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUVqRDs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxZQUFvQixTQUFtQyxFQUFVLGdCQUFrQztRQUEvRSxjQUFTLEdBQVQsU0FBUyxDQUEwQjtRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDakcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUN6QyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNwQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUN0QyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFhLGtCQUFrQixDQUFDLEtBQWM7UUFDNUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDMUUsQ0FBQzs7O1lBaEJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2FBQ2pDOzs7WUFsQlEsd0JBQXdCO1lBQTBCLGdCQUFnQjs7O2lDQTZCeEUsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjQgUG9idWNhLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIERpcmVjdGl2ZSwgSW5wdXQsIFR5cGUsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRleHRFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vZWxlbWVudHMvdGV4dC1lbGVtZW50L3RleHQtZWxlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi9lbGVtZW50cy9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vZWxlbWVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGl2aWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2VsZW1lbnRzL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3BhY2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vZWxlbWVudHMvc3BhY2VyL3NwYWNlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU29jaWFsQ29tcG9uZW50IH0gZnJvbSAnLi4vZWxlbWVudHMvc29jaWFsL3NvY2lhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVEJsb2NrcyB9IGZyb20gJy4uL2NsYXNzZXMvRWxlbWVudHMnO1xuXG5jb25zdCBjU3RvcmU6IE1hcDxzdHJpbmcsIFR5cGU8YW55Pj4gPSBuZXcgTWFwKCk7XG5cbi8qKlxuICogQGludGVybmFsXG4gKlxuICogU29vbiBpdCBtdXN0IGJlIG9wdGltaXplZCwgYW5kIGxvYWQgYWxsIGNvbXBvbmVudHMgbGF6aWx5LlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcGJEeW5hbWljQ29tcG9uZW50XSdcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0NvbXBvbmVudERpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY1Jlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xuICAgIGNTdG9yZS5zZXQoJ3RleHQnLCBUZXh0RWxlbWVudENvbXBvbmVudCk7XG4gICAgY1N0b3JlLnNldCgnaW1hZ2UnLCBJbWFnZUNvbXBvbmVudCk7XG4gICAgY1N0b3JlLnNldCgnYnV0dG9uJywgQnV0dG9uQ29tcG9uZW50KTtcbiAgICBjU3RvcmUuc2V0KCdkaXZpZGVyJywgRGl2aWRlckNvbXBvbmVudCk7XG4gICAgY1N0b3JlLnNldCgnc3BhY2VyJywgU3BhY2VyQ29tcG9uZW50KTtcbiAgICBjU3RvcmUuc2V0KCdzb2NpYWwnLCBTb2NpYWxDb21wb25lbnQpO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IHBiRHluYW1pY0NvbXBvbmVudChibG9jazogVEJsb2Nrcykge1xuICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuY1Jlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNTdG9yZS5nZXQoYmxvY2sudHlwZSkpO1xuICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50KS5pbnN0YW5jZS5ibG9jayA9IGJsb2NrO1xuICB9XG59XG4iXX0=
1
+ /*
2
+ * Copyright (c) 2024 Pobuca.
3
+ * All rights reserved.
4
+ */
5
+ import { ComponentFactoryResolver, Directive, Input, ViewContainerRef } from '@angular/core';
6
+ import { TextElementComponent } from '../elements/text-element/text-element.component';
7
+ import { ImageComponent } from '../elements/image/image.component';
8
+ import { ButtonComponent } from '../elements/button/button.component';
9
+ import { DividerComponent } from '../elements/divider/divider.component';
10
+ import { SpacerComponent } from '../elements/spacer/spacer.component';
11
+ import { SocialComponent } from '../elements/social/social.component';
12
+ const cStore = new Map();
13
+ /**
14
+ * @internal
15
+ *
16
+ * Soon it must be optimized, and load all components lazily.
17
+ */
18
+ export class DynamicComponentDirective {
19
+ constructor(cResolver, viewContainerRef) {
20
+ this.cResolver = cResolver;
21
+ this.viewContainerRef = viewContainerRef;
22
+ cStore.set('text', TextElementComponent);
23
+ cStore.set('image', ImageComponent);
24
+ cStore.set('button', ButtonComponent);
25
+ cStore.set('divider', DividerComponent);
26
+ cStore.set('spacer', SpacerComponent);
27
+ cStore.set('social', SocialComponent);
28
+ }
29
+ set pbDynamicComponent(block) {
30
+ const component = this.cResolver.resolveComponentFactory(cStore.get(block.type));
31
+ this.viewContainerRef.createComponent(component).instance.block = block;
32
+ }
33
+ }
34
+ DynamicComponentDirective.decorators = [
35
+ { type: Directive, args: [{
36
+ selector: '[pbDynamicComponent]'
37
+ },] }
38
+ ];
39
+ DynamicComponentDirective.ctorParameters = () => [
40
+ { type: ComponentFactoryResolver },
41
+ { type: ViewContainerRef }
42
+ ];
43
+ DynamicComponentDirective.propDecorators = {
44
+ pbDynamicComponent: [{ type: Input }]
45
+ };
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGItZW1haWwtYnVpbGRlci9zcmMvbGliL2RpcmVjdGl2ZXMvZHluYW1pYy1jb21wb25lbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFRLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUd0RSxNQUFNLE1BQU0sR0FBMkIsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUVqRDs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxZQUFvQixTQUFtQyxFQUFVLGdCQUFrQztRQUEvRSxjQUFTLEdBQVQsU0FBUyxDQUEwQjtRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDakcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUN6QyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNwQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUN0QyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFhLGtCQUFrQixDQUFDLEtBQWM7UUFDNUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDMUUsQ0FBQzs7O1lBaEJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2FBQ2pDOzs7WUFsQlEsd0JBQXdCO1lBQTBCLGdCQUFnQjs7O2lDQTZCeEUsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoYykgMjAyNCBQb2J1Y2EuXHJcbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBEaXJlY3RpdmUsIElucHV0LCBUeXBlLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRleHRFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vZWxlbWVudHMvdGV4dC1lbGVtZW50L3RleHQtZWxlbWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uL2VsZW1lbnRzL2ltYWdlL2ltYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2VsZW1lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGl2aWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2VsZW1lbnRzL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTcGFjZXJDb21wb25lbnQgfSBmcm9tICcuLi9lbGVtZW50cy9zcGFjZXIvc3BhY2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNvY2lhbENvbXBvbmVudCB9IGZyb20gJy4uL2VsZW1lbnRzL3NvY2lhbC9zb2NpYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVEJsb2NrcyB9IGZyb20gJy4uL2NsYXNzZXMvRWxlbWVudHMnO1xyXG5cclxuY29uc3QgY1N0b3JlOiBNYXA8c3RyaW5nLCBUeXBlPGFueT4+ID0gbmV3IE1hcCgpO1xyXG5cclxuLyoqXHJcbiAqIEBpbnRlcm5hbFxyXG4gKlxyXG4gKiBTb29uIGl0IG11c3QgYmUgb3B0aW1pemVkLCBhbmQgbG9hZCBhbGwgY29tcG9uZW50cyBsYXppbHkuXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1twYkR5bmFtaWNDb21wb25lbnRdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0NvbXBvbmVudERpcmVjdGl2ZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjUmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XHJcbiAgICBjU3RvcmUuc2V0KCd0ZXh0JywgVGV4dEVsZW1lbnRDb21wb25lbnQpO1xyXG4gICAgY1N0b3JlLnNldCgnaW1hZ2UnLCBJbWFnZUNvbXBvbmVudCk7XHJcbiAgICBjU3RvcmUuc2V0KCdidXR0b24nLCBCdXR0b25Db21wb25lbnQpO1xyXG4gICAgY1N0b3JlLnNldCgnZGl2aWRlcicsIERpdmlkZXJDb21wb25lbnQpO1xyXG4gICAgY1N0b3JlLnNldCgnc3BhY2VyJywgU3BhY2VyQ29tcG9uZW50KTtcclxuICAgIGNTdG9yZS5zZXQoJ3NvY2lhbCcsIFNvY2lhbENvbXBvbmVudCk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzZXQgcGJEeW5hbWljQ29tcG9uZW50KGJsb2NrOiBUQmxvY2tzKSB7XHJcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjU3RvcmUuZ2V0KGJsb2NrLnR5cGUpKTtcclxuICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50KS5pbnN0YW5jZS5ibG9jayA9IGJsb2NrO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,23 +1,23 @@
1
- /*
2
- * Copyright (c) 2024 Pobuca.
3
- * All rights reserved.
4
- */
5
- import { Directive, ViewChild } from '@angular/core';
6
- import { CdkPortal } from '@angular/cdk/portal';
7
- // tslint:disable-next-line:no-shadowed-variable directive-class-suffix
8
- export class AbstractBlock {
9
- ngOnInit() {
10
- // if (!this.portal) {
11
- // throw new Error(`Each element should have an options' portal, add *cdkPortal inside of HTML block.`);
12
- // }
13
- }
14
- }
15
- AbstractBlock.decorators = [
16
- { type: Directive }
17
- ];
18
- AbstractBlock.propDecorators = {
19
- portal: [{ type: ViewChild, args: [CdkPortal, { static: true },] }]
20
- };
21
- export class AbstractEntityBlock {
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtYmxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYi1lbWFpbC1idWlsZGVyL3NyYy9saWIvZWxlbWVudHMvYWJzdHJhY3QtYmxvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR2hELHVFQUF1RTtBQUN2RSxNQUFNLE9BQWdCLGFBQWE7SUFJakMsUUFBUTtRQUNOLHNCQUFzQjtRQUN0QiwwR0FBMEc7UUFDMUcsSUFBSTtJQUNOLENBQUM7OztZQVZGLFNBQVM7OztxQkFJUCxTQUFTLFNBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs7QUFTeEMsTUFBTSxPQUFnQixtQkFBbUI7Q0FBRyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjQgUG9idWNhLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqL1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDZGtQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuQERpcmVjdGl2ZSgpXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tc2hhZG93ZWQtdmFyaWFibGUgZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0QmxvY2s8QWJzdHJhY3RFbnRpdHlCbG9jaz4gaW1wbGVtZW50cyBPbkluaXQge1xuICBibG9jazogQWJzdHJhY3RFbnRpdHlCbG9jaztcbiAgQFZpZXdDaGlsZChDZGtQb3J0YWwsIHsgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgcG9ydGFsOiBDZGtQb3J0YWw7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gaWYgKCF0aGlzLnBvcnRhbCkge1xuICAgIC8vICAgdGhyb3cgbmV3IEVycm9yKGBFYWNoIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3B0aW9ucycgcG9ydGFsLCBhZGQgKmNka1BvcnRhbCBpbnNpZGUgb2YgSFRNTCBibG9jay5gKTtcbiAgICAvLyB9XG4gIH1cbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RW50aXR5QmxvY2sge31cbiJdfQ==
1
+ /*
2
+ * Copyright (c) 2024 Pobuca.
3
+ * All rights reserved.
4
+ */
5
+ import { Directive, ViewChild } from '@angular/core';
6
+ import { CdkPortal } from '@angular/cdk/portal';
7
+ // tslint:disable-next-line:no-shadowed-variable directive-class-suffix
8
+ export class AbstractBlock {
9
+ ngOnInit() {
10
+ // if (!this.portal) {
11
+ // throw new Error(`Each element should have an options' portal, add *cdkPortal inside of HTML block.`);
12
+ // }
13
+ }
14
+ }
15
+ AbstractBlock.decorators = [
16
+ { type: Directive }
17
+ ];
18
+ AbstractBlock.propDecorators = {
19
+ portal: [{ type: ViewChild, args: [CdkPortal, { static: true },] }]
20
+ };
21
+ export class AbstractEntityBlock {
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtYmxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYi1lbWFpbC1idWlsZGVyL3NyYy9saWIvZWxlbWVudHMvYWJzdHJhY3QtYmxvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR2hELHVFQUF1RTtBQUN2RSxNQUFNLE9BQWdCLGFBQWE7SUFJakMsUUFBUTtRQUNOLHNCQUFzQjtRQUN0QiwwR0FBMEc7UUFDMUcsSUFBSTtJQUNOLENBQUM7OztZQVZGLFNBQVM7OztxQkFJUCxTQUFTLFNBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs7QUFTeEMsTUFBTSxPQUFnQixtQkFBbUI7Q0FBRyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoYykgMjAyNCBQb2J1Y2EuXHJcbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDZGtQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tc2hhZG93ZWQtdmFyaWFibGUgZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RCbG9jazxBYnN0cmFjdEVudGl0eUJsb2NrPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgYmxvY2s6IEFic3RyYWN0RW50aXR5QmxvY2s7XHJcbiAgQFZpZXdDaGlsZChDZGtQb3J0YWwsIHsgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgcG9ydGFsOiBDZGtQb3J0YWw7XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgLy8gaWYgKCF0aGlzLnBvcnRhbCkge1xyXG4gICAgLy8gICB0aHJvdyBuZXcgRXJyb3IoYEVhY2ggZWxlbWVudCBzaG91bGQgaGF2ZSBhbiBvcHRpb25zJyBwb3J0YWwsIGFkZCAqY2RrUG9ydGFsIGluc2lkZSBvZiBIVE1MIGJsb2NrLmApO1xyXG4gICAgLy8gfVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RW50aXR5QmxvY2sge31cclxuIl19
@@ -1,29 +1,29 @@
1
- /*
2
- * Copyright (c) 2024 Pobuca.
3
- * All rights reserved.
4
- */
5
- import { Component, ViewEncapsulation } from '@angular/core';
6
- import { createFont, createPadding, createBorder, createLineHeight } from '../../utils';
7
- import { AbstractBlock } from '../abstract-block';
8
- export class ButtonComponent extends AbstractBlock {
9
- // @Input() block: ButtonBlock;
10
- getButtonStyles() {
11
- const { backgroundColor, border, color, font, lineHeight, innerPadding, fullWidth } = this.block.options;
12
- return Object.assign(Object.assign(Object.assign(Object.assign({ color, width: fullWidth ? '100%' : 'auto', backgroundColor }, createFont(font)), createPadding(innerPadding)), createBorder(border)), createLineHeight(lineHeight));
13
- }
14
- getParentStyles() {
15
- const { align, padding } = this.block.options;
16
- return Object.assign({ justifyContent: (align === 'center' && 'center') ||
17
- (align === 'right' && 'flex-end') ||
18
- 'flex-start' }, createPadding(padding));
19
- }
20
- }
21
- ButtonComponent.decorators = [
22
- { type: Component, args: [{
23
- selector: 'pb-button',
24
- template: "<!--\n ~ Copyright (c) 2024 Pobuca.\n ~ All rights reserved.\n -->\n\n<div fxLayout [ngStyle]=\"getParentStyles()\">\n <button type=\"button\" [class.full-width]=\"block.options.fullWidth\" [ngStyle]=\"getButtonStyles()\">\n {{ block.innerText }}\n </button>\n</div>\n",
25
- encapsulation: ViewEncapsulation.Emulated,
26
- styles: ["button{transition:all .5s cubic-bezier(.445,.05,.55,.95)}"]
27
- },] }
28
- ];
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BiLWVtYWlsLWJ1aWxkZXIvc3JjL2xpYi9lbGVtZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFTLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFDTCxVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksRUFDWixnQkFBZ0IsRUFDakIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBUWhELE1BQU0sT0FBTyxlQUFnQixTQUFRLGFBQTBCO0lBQzdELCtCQUErQjtJQUUvQixlQUFlO1FBQ2IsTUFBTSxFQUNKLGVBQWUsRUFDZixNQUFNLEVBQ04sS0FBSyxFQUNMLElBQUksRUFDSixVQUFVLEVBQ1YsWUFBWSxFQUNaLFNBQVMsRUFDVixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBRXZCLGlFQUNFLEtBQUssRUFDTCxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFDbEMsZUFBZSxJQUNaLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FDaEIsYUFBYSxDQUFDLFlBQVksQ0FBQyxHQUMzQixZQUFZLENBQUMsTUFBTSxDQUFDLEdBQ3BCLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUMvQjtJQUNKLENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUU5Qyx1QkFDRSxjQUFjLEVBQ1osQ0FBQyxLQUFLLEtBQUssUUFBUSxJQUFJLFFBQVEsQ0FBQztnQkFDaEMsQ0FBQyxLQUFLLEtBQUssT0FBTyxJQUFJLFVBQVUsQ0FBQztnQkFDakMsWUFBWSxJQUNYLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFDekI7SUFDSixDQUFDOzs7WUF6Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQixnU0FBc0M7Z0JBRXRDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxRQUFROzthQUMxQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjQgUG9idWNhLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnV0dG9uQmxvY2sgfSBmcm9tICcuLi8uLi9jbGFzc2VzL0VsZW1lbnRzJztcbmltcG9ydCB7XG4gIGNyZWF0ZUZvbnQsXG4gIGNyZWF0ZVBhZGRpbmcsXG4gIGNyZWF0ZUJvcmRlcixcbiAgY3JlYXRlTGluZUhlaWdodFxufSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQge0Fic3RyYWN0QmxvY2t9IGZyb20gJy4uL2Fic3RyYWN0LWJsb2NrJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGItYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0QmxvY2s8QnV0dG9uQmxvY2s+IHtcbiAgLy8gQElucHV0KCkgYmxvY2s6IEJ1dHRvbkJsb2NrO1xuXG4gIGdldEJ1dHRvblN0eWxlcygpIHtcbiAgICBjb25zdCB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3IsXG4gICAgICBib3JkZXIsXG4gICAgICBjb2xvcixcbiAgICAgIGZvbnQsXG4gICAgICBsaW5lSGVpZ2h0LFxuICAgICAgaW5uZXJQYWRkaW5nLFxuICAgICAgZnVsbFdpZHRoXG4gICAgfSA9IHRoaXMuYmxvY2sub3B0aW9ucztcblxuICAgIHJldHVybiB7XG4gICAgICBjb2xvcixcbiAgICAgIHdpZHRoOiBmdWxsV2lkdGggPyAnMTAwJScgOiAnYXV0bycsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3IsXG4gICAgICAuLi5jcmVhdGVGb250KGZvbnQpLFxuICAgICAgLi4uY3JlYXRlUGFkZGluZyhpbm5lclBhZGRpbmcpLFxuICAgICAgLi4uY3JlYXRlQm9yZGVyKGJvcmRlciksXG4gICAgICAuLi5jcmVhdGVMaW5lSGVpZ2h0KGxpbmVIZWlnaHQpXG4gICAgfTtcbiAgfVxuXG4gIGdldFBhcmVudFN0eWxlcygpIHtcbiAgICBjb25zdCB7IGFsaWduLCBwYWRkaW5nIH0gPSB0aGlzLmJsb2NrLm9wdGlvbnM7XG5cbiAgICByZXR1cm4ge1xuICAgICAganVzdGlmeUNvbnRlbnQ6XG4gICAgICAgIChhbGlnbiA9PT0gJ2NlbnRlcicgJiYgJ2NlbnRlcicpIHx8XG4gICAgICAgIChhbGlnbiA9PT0gJ3JpZ2h0JyAmJiAnZmxleC1lbmQnKSB8fFxuICAgICAgICAnZmxleC1zdGFydCcsXG4gICAgICAuLi5jcmVhdGVQYWRkaW5nKHBhZGRpbmcpXG4gICAgfTtcbiAgfVxufVxuIl19
1
+ /*
2
+ * Copyright (c) 2024 Pobuca.
3
+ * All rights reserved.
4
+ */
5
+ import { Component, ViewEncapsulation } from '@angular/core';
6
+ import { createFont, createPadding, createBorder, createLineHeight } from '../../utils';
7
+ import { AbstractBlock } from '../abstract-block';
8
+ export class ButtonComponent extends AbstractBlock {
9
+ // @Input() block: ButtonBlock;
10
+ getButtonStyles() {
11
+ const { backgroundColor, border, color, font, lineHeight, innerPadding, fullWidth } = this.block.options;
12
+ return Object.assign(Object.assign(Object.assign(Object.assign({ color, width: fullWidth ? '100%' : 'auto', backgroundColor }, createFont(font)), createPadding(innerPadding)), createBorder(border)), createLineHeight(lineHeight));
13
+ }
14
+ getParentStyles() {
15
+ const { align, padding } = this.block.options;
16
+ return Object.assign({ justifyContent: (align === 'center' && 'center') ||
17
+ (align === 'right' && 'flex-end') ||
18
+ 'flex-start' }, createPadding(padding));
19
+ }
20
+ }
21
+ ButtonComponent.decorators = [
22
+ { type: Component, args: [{
23
+ selector: 'pb-button',
24
+ template: "<!--\r\n ~ Copyright (c) 2024 Pobuca.\r\n ~ All rights reserved.\r\n -->\r\n\r\n<div fxLayout [ngStyle]=\"getParentStyles()\">\r\n <button type=\"button\" [class.full-width]=\"block.options.fullWidth\" [ngStyle]=\"getButtonStyles()\">\r\n {{ block.innerText }}\r\n </button>\r\n</div>\r\n",
25
+ encapsulation: ViewEncapsulation.Emulated,
26
+ styles: ["button{transition:all .5s cubic-bezier(.445,.05,.55,.95)}"]
27
+ },] }
28
+ ];
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BiLWVtYWlsLWJ1aWxkZXIvc3JjL2xpYi9lbGVtZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFTLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFDTCxVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksRUFDWixnQkFBZ0IsRUFDakIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBUWhELE1BQU0sT0FBTyxlQUFnQixTQUFRLGFBQTBCO0lBQzdELCtCQUErQjtJQUUvQixlQUFlO1FBQ2IsTUFBTSxFQUNKLGVBQWUsRUFDZixNQUFNLEVBQ04sS0FBSyxFQUNMLElBQUksRUFDSixVQUFVLEVBQ1YsWUFBWSxFQUNaLFNBQVMsRUFDVixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBRXZCLGlFQUNFLEtBQUssRUFDTCxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFDbEMsZUFBZSxJQUNaLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FDaEIsYUFBYSxDQUFDLFlBQVksQ0FBQyxHQUMzQixZQUFZLENBQUMsTUFBTSxDQUFDLEdBQ3BCLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUMvQjtJQUNKLENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUU5Qyx1QkFDRSxjQUFjLEVBQ1osQ0FBQyxLQUFLLEtBQUssUUFBUSxJQUFJLFFBQVEsQ0FBQztnQkFDaEMsQ0FBQyxLQUFLLEtBQUssT0FBTyxJQUFJLFVBQVUsQ0FBQztnQkFDakMsWUFBWSxJQUNYLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFDekI7SUFDSixDQUFDOzs7WUF6Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQixvVEFBc0M7Z0JBRXRDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxRQUFROzthQUMxQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoYykgMjAyNCBQb2J1Y2EuXHJcbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQnV0dG9uQmxvY2sgfSBmcm9tICcuLi8uLi9jbGFzc2VzL0VsZW1lbnRzJztcclxuaW1wb3J0IHtcclxuICBjcmVhdGVGb250LFxyXG4gIGNyZWF0ZVBhZGRpbmcsXHJcbiAgY3JlYXRlQm9yZGVyLFxyXG4gIGNyZWF0ZUxpbmVIZWlnaHRcclxufSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7QWJzdHJhY3RCbG9ja30gZnJvbSAnLi4vYWJzdHJhY3QtYmxvY2snO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdwYi1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWRcclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0QmxvY2s8QnV0dG9uQmxvY2s+IHtcclxuICAvLyBASW5wdXQoKSBibG9jazogQnV0dG9uQmxvY2s7XHJcblxyXG4gIGdldEJ1dHRvblN0eWxlcygpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgYmFja2dyb3VuZENvbG9yLFxyXG4gICAgICBib3JkZXIsXHJcbiAgICAgIGNvbG9yLFxyXG4gICAgICBmb250LFxyXG4gICAgICBsaW5lSGVpZ2h0LFxyXG4gICAgICBpbm5lclBhZGRpbmcsXHJcbiAgICAgIGZ1bGxXaWR0aFxyXG4gICAgfSA9IHRoaXMuYmxvY2sub3B0aW9ucztcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBjb2xvcixcclxuICAgICAgd2lkdGg6IGZ1bGxXaWR0aCA/ICcxMDAlJyA6ICdhdXRvJyxcclxuICAgICAgYmFja2dyb3VuZENvbG9yLFxyXG4gICAgICAuLi5jcmVhdGVGb250KGZvbnQpLFxyXG4gICAgICAuLi5jcmVhdGVQYWRkaW5nKGlubmVyUGFkZGluZyksXHJcbiAgICAgIC4uLmNyZWF0ZUJvcmRlcihib3JkZXIpLFxyXG4gICAgICAuLi5jcmVhdGVMaW5lSGVpZ2h0KGxpbmVIZWlnaHQpXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0UGFyZW50U3R5bGVzKCkge1xyXG4gICAgY29uc3QgeyBhbGlnbiwgcGFkZGluZyB9ID0gdGhpcy5ibG9jay5vcHRpb25zO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGp1c3RpZnlDb250ZW50OlxyXG4gICAgICAgIChhbGlnbiA9PT0gJ2NlbnRlcicgJiYgJ2NlbnRlcicpIHx8XHJcbiAgICAgICAgKGFsaWduID09PSAncmlnaHQnICYmICdmbGV4LWVuZCcpIHx8XHJcbiAgICAgICAgJ2ZsZXgtc3RhcnQnLFxyXG4gICAgICAuLi5jcmVhdGVQYWRkaW5nKHBhZGRpbmcpXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,30 +1,30 @@
1
- /*
2
- * Copyright (c) 2024 Pobuca.
3
- * All rights reserved.
4
- */
5
- import { Component } from '@angular/core';
6
- import { createBorder, createPadding } from '../../utils';
7
- import { AbstractBlock } from '../abstract-block';
8
- export class DividerComponent extends AbstractBlock {
9
- // @Input()
10
- // block: DividerBlock = new DividerBlock();
11
- getDividerStyles() {
12
- const { border, padding } = this.block.options;
13
- return Object.assign(Object.assign({}, createBorder(border, 'borderTop')), createPadding(padding, 'margin'));
14
- }
15
- ngOnInit() {
16
- }
17
- }
18
- DividerComponent.decorators = [
19
- { type: Component, args: [{
20
- selector: 'pb-divider',
21
- template: '<div [ngStyle]="getDividerStyles()"></div>',
22
- styles: [`
23
- :host {
24
- display: table;
25
- width: 100%;
26
- }
27
- `]
28
- },] }
29
- ];
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYi1lbWFpbC1idWlsZGVyL3NyYy9saWIvZWxlbWVudHMvZGl2aWRlci9kaXZpZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBRWhELE9BQU8sRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ3hELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQWNoRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsYUFBMkI7SUFDL0QsV0FBVztJQUNYLDRDQUE0QztJQUU1QyxnQkFBZ0I7UUFDZCxNQUFNLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzdDLHVDQUNLLFlBQVksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLEdBQ2pDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLEVBQ25DO0lBQ0osQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDOzs7WUF6QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0QixRQUFRLEVBQUUsNENBQTRDO3lCQUVsRDs7Ozs7S0FLRDthQUVKIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyNCBQb2J1Y2EuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEaXZpZGVyQmxvY2t9IGZyb20gJy4uLy4uL2NsYXNzZXMvRWxlbWVudHMnO1xuaW1wb3J0IHtjcmVhdGVCb3JkZXIsIGNyZWF0ZVBhZGRpbmd9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7QWJzdHJhY3RCbG9ja30gZnJvbSAnLi4vYWJzdHJhY3QtYmxvY2snO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwYi1kaXZpZGVyJyxcbiAgdGVtcGxhdGU6ICc8ZGl2IFtuZ1N0eWxlXT1cImdldERpdmlkZXJTdHlsZXMoKVwiPjwvZGl2PicsXG4gIHN0eWxlczogW1xuICAgICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgYFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERpdmlkZXJDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEJsb2NrPERpdmlkZXJCbG9jaz4gaW1wbGVtZW50cyBPbkluaXQge1xuICAvLyBASW5wdXQoKVxuICAvLyBibG9jazogRGl2aWRlckJsb2NrID0gbmV3IERpdmlkZXJCbG9jaygpO1xuXG4gIGdldERpdmlkZXJTdHlsZXMoKSB7XG4gICAgY29uc3Qge2JvcmRlciwgcGFkZGluZ30gPSB0aGlzLmJsb2NrLm9wdGlvbnM7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNyZWF0ZUJvcmRlcihib3JkZXIsICdib3JkZXJUb3AnKSxcbiAgICAgIC4uLmNyZWF0ZVBhZGRpbmcocGFkZGluZywgJ21hcmdpbicpXG4gICAgfTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG59XG4iXX0=
1
+ /*
2
+ * Copyright (c) 2024 Pobuca.
3
+ * All rights reserved.
4
+ */
5
+ import { Component } from '@angular/core';
6
+ import { createBorder, createPadding } from '../../utils';
7
+ import { AbstractBlock } from '../abstract-block';
8
+ export class DividerComponent extends AbstractBlock {
9
+ // @Input()
10
+ // block: DividerBlock = new DividerBlock();
11
+ getDividerStyles() {
12
+ const { border, padding } = this.block.options;
13
+ return Object.assign(Object.assign({}, createBorder(border, 'borderTop')), createPadding(padding, 'margin'));
14
+ }
15
+ ngOnInit() {
16
+ }
17
+ }
18
+ DividerComponent.decorators = [
19
+ { type: Component, args: [{
20
+ selector: 'pb-divider',
21
+ template: '<div [ngStyle]="getDividerStyles()"></div>',
22
+ styles: [`
23
+ :host {
24
+ display: table;
25
+ width: 100%;
26
+ }
27
+ `]
28
+ },] }
29
+ ];
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYi1lbWFpbC1idWlsZGVyL3NyYy9saWIvZWxlbWVudHMvZGl2aWRlci9kaXZpZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBRWhELE9BQU8sRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ3hELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQWNoRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsYUFBMkI7SUFDL0QsV0FBVztJQUNYLDRDQUE0QztJQUU1QyxnQkFBZ0I7UUFDZCxNQUFNLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzdDLHVDQUNLLFlBQVksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLEdBQ2pDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLEVBQ25DO0lBQ0osQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDOzs7WUF6QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0QixRQUFRLEVBQUUsNENBQTRDO3lCQUVsRDs7Ozs7S0FLRDthQUVKIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChjKSAyMDI0IFBvYnVjYS5cclxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuICovXHJcblxyXG5pbXBvcnQge0NvbXBvbmVudCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtEaXZpZGVyQmxvY2t9IGZyb20gJy4uLy4uL2NsYXNzZXMvRWxlbWVudHMnO1xyXG5pbXBvcnQge2NyZWF0ZUJvcmRlciwgY3JlYXRlUGFkZGluZ30gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5pbXBvcnQge0Fic3RyYWN0QmxvY2t9IGZyb20gJy4uL2Fic3RyYWN0LWJsb2NrJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncGItZGl2aWRlcicsXHJcbiAgdGVtcGxhdGU6ICc8ZGl2IFtuZ1N0eWxlXT1cImdldERpdmlkZXJTdHlsZXMoKVwiPjwvZGl2PicsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICAgIGBcclxuICAgICAgOmhvc3Qge1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICBgXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGl2aWRlckNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0QmxvY2s8RGl2aWRlckJsb2NrPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLy8gQElucHV0KClcclxuICAvLyBibG9jazogRGl2aWRlckJsb2NrID0gbmV3IERpdmlkZXJCbG9jaygpO1xyXG5cclxuICBnZXREaXZpZGVyU3R5bGVzKCkge1xyXG4gICAgY29uc3Qge2JvcmRlciwgcGFkZGluZ30gPSB0aGlzLmJsb2NrLm9wdGlvbnM7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAuLi5jcmVhdGVCb3JkZXIoYm9yZGVyLCAnYm9yZGVyVG9wJyksXHJcbiAgICAgIC4uLmNyZWF0ZVBhZGRpbmcocGFkZGluZywgJ21hcmdpbicpXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG59XHJcbiJdfQ==