@pobuca/email-builder 1.0.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 (150) hide show
  1. package/README.md +1 -0
  2. package/assets/icons/dribbble.png +0 -0
  3. package/assets/icons/facebook.png +0 -0
  4. package/assets/icons/github.png +0 -0
  5. package/assets/icons/instagram.png +0 -0
  6. package/assets/icons/linkedin.png +0 -0
  7. package/assets/icons/medium.png +0 -0
  8. package/assets/icons/pinterest.png +0 -0
  9. package/assets/icons/snapchat.png +0 -0
  10. package/assets/icons/soundcloud.png +0 -0
  11. package/assets/icons/tumblr.png +0 -0
  12. package/assets/icons/twitter.png +0 -0
  13. package/assets/icons/vimeo.png +0 -0
  14. package/assets/icons/web.png +0 -0
  15. package/assets/icons/xing.png +0 -0
  16. package/assets/icons/youtube.png +0 -0
  17. package/bundles/pobuca-email-builder.umd.js +4664 -0
  18. package/bundles/pobuca-email-builder.umd.js.map +1 -0
  19. package/bundles/pobuca-email-builder.umd.min.js +2 -0
  20. package/bundles/pobuca-email-builder.umd.min.js.map +1 -0
  21. package/esm2015/lib/classes/DefaultEmail.js +53 -0
  22. package/esm2015/lib/classes/Elements.js +229 -0
  23. package/esm2015/lib/classes/Structure.js +89 -0
  24. package/esm2015/lib/components/block/block.component.js +89 -0
  25. package/esm2015/lib/components/block-settings/block-settings.component.js +53 -0
  26. package/esm2015/lib/components/builder-container/builder-container.component.js +114 -0
  27. package/esm2015/lib/components/dialog.component.js +30 -0
  28. package/esm2015/lib/components/general-settings/general-settings.component.js +25 -0
  29. package/esm2015/lib/components/import-dialog/import-dialog.component.js +62 -0
  30. package/esm2015/lib/components/preview.component.js +89 -0
  31. package/esm2015/lib/components/structure/structure.component.js +163 -0
  32. package/esm2015/lib/components/structure-settings/structure-settings.component.js +31 -0
  33. package/esm2015/lib/components/template-list-dialog/template-list-dialog.component.js +45 -0
  34. package/esm2015/lib/directives/dynamic-component.directive.js +46 -0
  35. package/esm2015/lib/elements/abstract-block.js +23 -0
  36. package/esm2015/lib/elements/button/button.component.js +29 -0
  37. package/esm2015/lib/elements/divider/divider.component.js +30 -0
  38. package/esm2015/lib/elements/image/image.component.js +54 -0
  39. package/esm2015/lib/elements/social/social.component.js +42 -0
  40. package/esm2015/lib/elements/spacer/spacer.component.js +30 -0
  41. package/esm2015/lib/elements/text-element/text-element.component.js +80 -0
  42. package/esm2015/lib/groups/align.js +79 -0
  43. package/esm2015/lib/groups/back-repeat.js +55 -0
  44. package/esm2015/lib/groups/border.js +102 -0
  45. package/esm2015/lib/groups/color.js +139 -0
  46. package/esm2015/lib/groups/direction.js +63 -0
  47. package/esm2015/lib/groups/font-styles.js +112 -0
  48. package/esm2015/lib/groups/gaps.js +45 -0
  49. package/esm2015/lib/groups/line-height.js +68 -0
  50. package/esm2015/lib/groups/link.js +67 -0
  51. package/esm2015/lib/groups/margin.js +45 -0
  52. package/esm2015/lib/groups/padding.js +53 -0
  53. package/esm2015/lib/groups/upload-image.js +112 -0
  54. package/esm2015/lib/groups/width-height.js +94 -0
  55. package/esm2015/lib/interceptors/pb-interceptor.interceptor.js +51 -0
  56. package/esm2015/lib/interfaces/interfaces.js +13 -0
  57. package/esm2015/lib/pb-email-builder.component.js +246 -0
  58. package/esm2015/lib/pb-email-builder.module.js +291 -0
  59. package/esm2015/lib/pb-email-builder.service.js +134 -0
  60. package/esm2015/lib/pipes/slugify.pipe.js +39 -0
  61. package/esm2015/lib/services/internals/pb-email-object-store/pb-email-object-store.service.js +165 -0
  62. package/esm2015/lib/services/internals/user-interfaces/user-interface.service.js +122 -0
  63. package/esm2015/lib/services/pb-storage/FreeUsersStorage.class.js +11 -0
  64. package/esm2015/lib/services/pb-storage/index.js +7 -0
  65. package/esm2015/lib/services/pb-storage/pb-storage.service.js +79 -0
  66. package/esm2015/lib/services/user-image-uploader-service/free-users-image-uploader.service.js +26 -0
  67. package/esm2015/lib/services/user-image-uploader-service/index.js +8 -0
  68. package/esm2015/lib/services/user-image-uploader-service/paid-users-image-uploader.service.js +30 -0
  69. package/esm2015/lib/services/user-image-uploader-service/upload-bottom-sheet-dialog/upload-bottom-sheet-dialog.component.js +112 -0
  70. package/esm2015/lib/services/user-image-uploader-service/upload-image-gallery/upload-image-gallery.component.js +91 -0
  71. package/esm2015/lib/services/user-image-uploader-service/user-image-uploader.service.js +26 -0
  72. package/esm2015/lib/services/user-middleware-service/FreeUsersMiddleware.js +31 -0
  73. package/esm2015/lib/services/user-middleware-service/PaidUsersMiddleware.js +12 -0
  74. package/esm2015/lib/services/user-middleware-service/index.js +8 -0
  75. package/esm2015/lib/services/user-middleware-service/pb-middlewares.service.js +195 -0
  76. package/esm2015/lib/services/user-rest-api-service/free-users-rest-api.service.js +16 -0
  77. package/esm2015/lib/services/user-rest-api-service/index.js +7 -0
  78. package/esm2015/lib/services/user-rest-api-service/user-rest-api.service.js +116 -0
  79. package/esm2015/lib/tokens/private-tokens.js +17 -0
  80. package/esm2015/lib/tokens/tokens.js +159 -0
  81. package/esm2015/lib/utils.js +147 -0
  82. package/esm2015/pobuca-email-builder.js +43 -0
  83. package/esm2015/public_api.js +26 -0
  84. package/fesm2015/pobuca-email-builder.js +4335 -0
  85. package/fesm2015/pobuca-email-builder.js.map +1 -0
  86. package/lib/classes/DefaultEmail.d.ts +9 -0
  87. package/lib/classes/Elements.d.ts +62 -0
  88. package/lib/classes/Structure.d.ts +11 -0
  89. package/lib/components/block/block.component.d.ts +25 -0
  90. package/lib/components/block-settings/block-settings.component.d.ts +18 -0
  91. package/lib/components/builder-container/builder-container.component.d.ts +36 -0
  92. package/lib/components/dialog.component.d.ts +10 -0
  93. package/lib/components/general-settings/general-settings.component.d.ts +6 -0
  94. package/lib/components/import-dialog/import-dialog.component.d.ts +16 -0
  95. package/lib/components/preview.component.d.ts +18 -0
  96. package/lib/components/structure/structure.component.d.ts +43 -0
  97. package/lib/components/structure-settings/structure-settings.component.d.ts +9 -0
  98. package/lib/components/template-list-dialog/template-list-dialog.component.d.ts +15 -0
  99. package/lib/directives/dynamic-component.directive.d.ts +13 -0
  100. package/lib/elements/abstract-block.d.ts +8 -0
  101. package/lib/elements/button/button.component.d.ts +18 -0
  102. package/lib/elements/divider/divider.component.d.ts +10 -0
  103. package/lib/elements/image/image.component.d.ts +19 -0
  104. package/lib/elements/social/social.component.d.ts +21 -0
  105. package/lib/elements/spacer/spacer.component.d.ts +5 -0
  106. package/lib/elements/text-element/text-element.component.d.ts +52 -0
  107. package/lib/groups/align.d.ts +17 -0
  108. package/lib/groups/back-repeat.d.ts +8 -0
  109. package/lib/groups/border.d.ts +13 -0
  110. package/lib/groups/color.d.ts +26 -0
  111. package/lib/groups/direction.d.ts +13 -0
  112. package/lib/groups/font-styles.d.ts +17 -0
  113. package/lib/groups/gaps.d.ts +7 -0
  114. package/lib/groups/line-height.d.ts +12 -0
  115. package/lib/groups/link.d.ts +11 -0
  116. package/lib/groups/margin.d.ts +8 -0
  117. package/lib/groups/padding.d.ts +8 -0
  118. package/lib/groups/upload-image.d.ts +19 -0
  119. package/lib/groups/width-height.d.ts +19 -0
  120. package/lib/interceptors/pb-interceptor.interceptor.d.ts +10 -0
  121. package/lib/interfaces/interfaces.d.ts +422 -0
  122. package/lib/pb-email-builder.component.d.ts +67 -0
  123. package/lib/pb-email-builder.module.d.ts +51 -0
  124. package/lib/pb-email-builder.service.d.ts +83 -0
  125. package/lib/pipes/slugify.pipe.d.ts +9 -0
  126. package/lib/services/internals/pb-email-object-store/pb-email-object-store.service.d.ts +50 -0
  127. package/lib/services/internals/user-interfaces/user-interface.service.d.ts +46 -0
  128. package/lib/services/pb-storage/FreeUsersStorage.class.d.ts +6 -0
  129. package/lib/services/pb-storage/index.d.ts +2 -0
  130. package/lib/services/pb-storage/pb-storage.service.d.ts +54 -0
  131. package/lib/services/user-image-uploader-service/free-users-image-uploader.service.d.ts +12 -0
  132. package/lib/services/user-image-uploader-service/index.d.ts +3 -0
  133. package/lib/services/user-image-uploader-service/paid-users-image-uploader.service.d.ts +14 -0
  134. package/lib/services/user-image-uploader-service/upload-bottom-sheet-dialog/upload-bottom-sheet-dialog.component.d.ts +28 -0
  135. package/lib/services/user-image-uploader-service/upload-image-gallery/upload-image-gallery.component.d.ts +27 -0
  136. package/lib/services/user-image-uploader-service/user-image-uploader.service.d.ts +26 -0
  137. package/lib/services/user-middleware-service/FreeUsersMiddleware.d.ts +15 -0
  138. package/lib/services/user-middleware-service/PaidUsersMiddleware.d.ts +7 -0
  139. package/lib/services/user-middleware-service/index.d.ts +3 -0
  140. package/lib/services/user-middleware-service/pb-middlewares.service.d.ts +190 -0
  141. package/lib/services/user-rest-api-service/free-users-rest-api.service.d.ts +10 -0
  142. package/lib/services/user-rest-api-service/index.d.ts +2 -0
  143. package/lib/services/user-rest-api-service/user-rest-api.service.d.ts +82 -0
  144. package/lib/tokens/private-tokens.d.ts +5 -0
  145. package/lib/tokens/tokens.d.ts +70 -0
  146. package/lib/utils.d.ts +88 -0
  147. package/package.json +37 -0
  148. package/pobuca-email-builder.d.ts +42 -0
  149. package/pobuca-email-builder.metadata.json +1 -0
  150. package/public_api.d.ts +16 -0
@@ -0,0 +1,291 @@
1
+ /*
2
+ * Copyright (c) 2024 Pobuca.
3
+ * All rights reserved.
4
+ */
5
+ import { Inject, NgModule } from '@angular/core';
6
+ import { DragDropModule } from '@angular/cdk/drag-drop';
7
+ import { FlexLayoutModule } from '@angular/flex-layout';
8
+ import { MatBottomSheet, MatBottomSheetModule } from '@angular/material/bottom-sheet';
9
+ import { MatButtonModule } from '@angular/material/button';
10
+ import { MatButtonToggleModule } from '@angular/material/button-toggle';
11
+ import { MatDialog, MatDialogModule } from '@angular/material/dialog';
12
+ import { MatDividerModule } from '@angular/material/divider';
13
+ import { MatExpansionModule } from '@angular/material/expansion';
14
+ import { MatFormFieldModule } from '@angular/material/form-field';
15
+ import { MatIconModule } from '@angular/material/icon';
16
+ import { MatInputModule } from '@angular/material/input';
17
+ import { MatListModule } from '@angular/material/list';
18
+ import { MatMenuModule } from '@angular/material/menu';
19
+ import { MatProgressBarModule } from '@angular/material/progress-bar';
20
+ import { MatSelectModule } from '@angular/material/select';
21
+ import { MatSidenavModule } from '@angular/material/sidenav';
22
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
23
+ import { MatSliderModule } from '@angular/material/slider';
24
+ import { MatSnackBarModule } from '@angular/material/snack-bar';
25
+ import { MatTabsModule } from '@angular/material/tabs';
26
+ import { MatToolbarModule } from '@angular/material/toolbar';
27
+ import { MatTooltipModule } from '@angular/material/tooltip';
28
+ import { ResizableModule } from 'angular-resizable-element';
29
+ import { FormsModule } from '@angular/forms';
30
+ import { HTTP_INTERCEPTORS, HttpClient, HttpClientModule } from '@angular/common/http';
31
+ import { CommonModule } from '@angular/common';
32
+ import { ScrollingModule } from '@angular/cdk/scrolling';
33
+ import 'quill';
34
+ import { QUILL_CONFIG_TOKEN, QuillModule } from 'ngx-quill';
35
+ import { ColorChromeModule } from 'ngx-color/chrome';
36
+ import { PB_CONFIG, PB_TEMPLATES_TEMPORARY_STORAGE } from './tokens/tokens';
37
+ import { StructureComponent } from './components/structure/structure.component';
38
+ import { PbEmailBuilderComponent } from './pb-email-builder.component';
39
+ import { DynamicComponentDirective } from './directives/dynamic-component.directive';
40
+ import { ImageComponent } from './elements/image/image.component';
41
+ import { TextElementComponent } from './elements/text-element/text-element.component';
42
+ import { ButtonComponent } from './elements/button/button.component';
43
+ import { DividerComponent } from './elements/divider/divider.component';
44
+ import { SpacerComponent } from './elements/spacer/spacer.component';
45
+ import { SocialComponent } from './elements/social/social.component';
46
+ import { BuilderContainerComponent } from './components/builder-container/builder-container.component';
47
+ import { FontStylesComponent } from './groups/font-styles';
48
+ import { PaddingComponent } from './groups/padding';
49
+ import { LineHeightComponent } from './groups/line-height';
50
+ import { WidthHeightComponent } from './groups/width-height';
51
+ import { BorderComponent } from './groups/border';
52
+ import { ColorComponent } from './groups/color';
53
+ import { LinkComponent } from './groups/link';
54
+ import { AlignComponent } from './groups/align';
55
+ import { DirectionComponent } from './groups/direction';
56
+ import { BackRepatComponent } from './groups/back-repeat';
57
+ import { ConfirmDialogComponent } from './components/dialog.component';
58
+ import { PreviewTemplateComponent } from './components/preview.component';
59
+ import { PbEmailBuilderService } from './pb-email-builder.service';
60
+ import { BlockComponent } from './components/block/block.component';
61
+ import { ImageUploadComponent } from './groups/upload-image';
62
+ import { BlockSettingsComponent } from './components/block-settings/block-settings.component';
63
+ import { StructureSettingsComponent } from './components/structure-settings/structure-settings.component';
64
+ import { GeneralSettingsComponent } from './components/general-settings/general-settings.component';
65
+ import { MarginComponent } from './groups/margin';
66
+ import { TemplateListDialogComponent } from './components/template-list-dialog/template-list-dialog.component';
67
+ import { GapsComponent } from './groups/gaps';
68
+ import { SlugifyPipe } from './pipes/slugify.pipe';
69
+ import { FreeUsersMiddleware, PaidUsersMiddleware } from './services/user-middleware-service';
70
+ import { FreeUsersImageUploader, PaidUsersImageUploader } from './services/user-image-uploader-service';
71
+ import { PbUserMiddlewaresService } from './services/user-middleware-service/pb-middlewares.service';
72
+ import { PbUserImageUploaderService } from './services/user-image-uploader-service/user-image-uploader.service';
73
+ import { IpInterceptorInterceptor } from './interceptors/pb-interceptor.interceptor';
74
+ import { ImportDialogComponent } from './components/import-dialog/import-dialog.component';
75
+ import { UploadBottomSheetDialogComponent } from './services/user-image-uploader-service/upload-bottom-sheet-dialog/upload-bottom-sheet-dialog.component';
76
+ import { UploadImageGalleryComponent } from './services/user-image-uploader-service/upload-image-gallery/upload-image-gallery.component';
77
+ import { LIBRARY_IS_PRO } from './tokens/private-tokens';
78
+ import { PbUserInterfaceService } from './services/internals/user-interfaces/user-interface.service';
79
+ import { PbEmailObjectStoreService } from './services/internals/pb-email-object-store/pb-email-object-store.service';
80
+ import { FreeUsersRestApi } from './services/user-rest-api-service';
81
+ import { FreeUsersPbStorage } from './services/pb-storage';
82
+ import { PbStorageService } from './services/pb-storage/pb-storage.service';
83
+ import { PbUserRestApiService } from './services/user-rest-api-service/user-rest-api.service';
84
+ import { PortalModule } from '@angular/cdk/portal';
85
+ import '@angular/localize/init';
86
+ /**
87
+ * @internal
88
+ * @param http
89
+ */
90
+ export function createCustomRestApiService(http) {
91
+ return new FreeUsersRestApi(http);
92
+ }
93
+ /**
94
+ * @internal
95
+ * @param libraryIsProEnv
96
+ */
97
+ export function createUserMiddlewareService(libraryIsProEnv) {
98
+ if (!libraryIsProEnv) {
99
+ return new FreeUsersMiddleware();
100
+ }
101
+ else {
102
+ return new PaidUsersMiddleware();
103
+ }
104
+ }
105
+ /**
106
+ * @internal
107
+ * @param templateStorage
108
+ */
109
+ export function createUsersIpStorage(templateStorage) {
110
+ return new FreeUsersPbStorage(templateStorage);
111
+ }
112
+ /**
113
+ * @internal
114
+ * @param libraryIsProEnv
115
+ * @param matBottomSheet
116
+ * @param matDialog
117
+ * @param userMiddleware
118
+ * @param userRestApi
119
+ */
120
+ export function createUserUploaderService(libraryIsProEnv, matBottomSheet, matDialog, userMiddleware, userRestApi) {
121
+ if (!libraryIsProEnv) {
122
+ return new FreeUsersImageUploader(matBottomSheet, userMiddleware);
123
+ }
124
+ else {
125
+ return new PaidUsersImageUploader(matDialog, userMiddleware, userRestApi);
126
+ }
127
+ }
128
+ const ɵ0 = {
129
+ bounds: 'pb-builder-container',
130
+ theme: 'bubble',
131
+ format: 'html',
132
+ trackChanges: 'all',
133
+ suppressGlobalRegisterWarning: true
134
+ };
135
+ export class PbEmailBuilderModule {
136
+ constructor(pbMiddlewaresService, userImageUploader, libraryIsPro) {
137
+ if (!libraryIsPro && !(pbMiddlewaresService instanceof FreeUsersMiddleware)) {
138
+ throw new Error('Upgrade to an Extended or Commercial License to use Custom Middlewares.');
139
+ }
140
+ if (!libraryIsPro && !(userImageUploader instanceof FreeUsersImageUploader)) {
141
+ throw new Error('Upgrade to an Extended or Commercial License to use Custom Image Uploader.');
142
+ }
143
+ }
144
+ /**
145
+ * @deprecated use PbEmailBuilderModule.withConfig(userConfig) instead
146
+ * @internal
147
+ */
148
+ static forRoot(userConfig = {}) {
149
+ return PbEmailBuilderModule.withConfig(userConfig);
150
+ }
151
+ /**
152
+ * Import module with configurations
153
+ * @param userConfig Configurations
154
+ */
155
+ static withConfig(userConfig = {}) {
156
+ return {
157
+ ngModule: PbEmailBuilderModule,
158
+ providers: [
159
+ PbEmailBuilderService,
160
+ PbEmailObjectStoreService,
161
+ PbUserInterfaceService,
162
+ { provide: PB_CONFIG, useValue: userConfig },
163
+ {
164
+ provide: PbUserMiddlewaresService,
165
+ useFactory: createUserMiddlewareService,
166
+ deps: [LIBRARY_IS_PRO]
167
+ },
168
+ {
169
+ provide: PbStorageService,
170
+ useFactory: createUsersIpStorage,
171
+ deps: [PB_TEMPLATES_TEMPORARY_STORAGE]
172
+ },
173
+ {
174
+ provide: PbUserImageUploaderService,
175
+ useFactory: createUserUploaderService,
176
+ deps: [LIBRARY_IS_PRO, MatBottomSheet, MatDialog, PbUserMiddlewaresService, PbUserRestApiService]
177
+ },
178
+ {
179
+ provide: PbUserRestApiService,
180
+ useFactory: createCustomRestApiService,
181
+ deps: [HttpClient]
182
+ }
183
+ ]
184
+ };
185
+ }
186
+ }
187
+ PbEmailBuilderModule.decorators = [
188
+ { type: NgModule, args: [{
189
+ imports: [
190
+ CommonModule,
191
+ HttpClientModule,
192
+ QuillModule,
193
+ FlexLayoutModule,
194
+ DragDropModule,
195
+ FormsModule,
196
+ ColorChromeModule,
197
+ MatButtonModule,
198
+ MatIconModule,
199
+ MatFormFieldModule,
200
+ MatInputModule,
201
+ MatTabsModule,
202
+ MatSliderModule,
203
+ MatSelectModule,
204
+ MatSlideToggleModule,
205
+ MatButtonToggleModule,
206
+ MatDividerModule,
207
+ MatTooltipModule,
208
+ MatDialogModule,
209
+ MatSnackBarModule,
210
+ MatProgressBarModule,
211
+ MatMenuModule,
212
+ MatSidenavModule,
213
+ MatToolbarModule,
214
+ MatListModule,
215
+ MatBottomSheetModule,
216
+ MatDividerModule,
217
+ MatExpansionModule,
218
+ ResizableModule,
219
+ ScrollingModule,
220
+ PortalModule
221
+ ],
222
+ declarations: [
223
+ PbEmailBuilderComponent,
224
+ StructureComponent,
225
+ BlockComponent,
226
+ DynamicComponentDirective,
227
+ PreviewTemplateComponent,
228
+ TextElementComponent,
229
+ ImageComponent,
230
+ ButtonComponent,
231
+ DividerComponent,
232
+ SpacerComponent,
233
+ SocialComponent,
234
+ BuilderContainerComponent,
235
+ FontStylesComponent,
236
+ PaddingComponent,
237
+ MarginComponent,
238
+ GapsComponent,
239
+ LineHeightComponent,
240
+ WidthHeightComponent,
241
+ BorderComponent,
242
+ ColorComponent,
243
+ LinkComponent,
244
+ AlignComponent,
245
+ DirectionComponent,
246
+ BackRepatComponent,
247
+ ConfirmDialogComponent,
248
+ ImageUploadComponent,
249
+ BlockSettingsComponent,
250
+ StructureSettingsComponent,
251
+ GeneralSettingsComponent,
252
+ UploadBottomSheetDialogComponent,
253
+ UploadImageGalleryComponent,
254
+ TemplateListDialogComponent,
255
+ SlugifyPipe,
256
+ ImportDialogComponent
257
+ ],
258
+ exports: [PbEmailBuilderComponent, PreviewTemplateComponent, SlugifyPipe],
259
+ entryComponents: [
260
+ TextElementComponent,
261
+ ImageComponent,
262
+ ButtonComponent,
263
+ DividerComponent,
264
+ SpacerComponent,
265
+ SocialComponent,
266
+ ConfirmDialogComponent,
267
+ UploadBottomSheetDialogComponent,
268
+ UploadImageGalleryComponent,
269
+ TemplateListDialogComponent,
270
+ ImportDialogComponent
271
+ ],
272
+ providers: [
273
+ {
274
+ provide: QUILL_CONFIG_TOKEN,
275
+ useValue: ɵ0
276
+ },
277
+ { provide: HTTP_INTERCEPTORS, useClass: IpInterceptorInterceptor, multi: true },
278
+ // { provide: PB_BLOCK_ELEMENT, useClass: TextBlock, multi: true },
279
+ PbEmailBuilderService,
280
+ PbEmailObjectStoreService,
281
+ PbUserInterfaceService
282
+ ]
283
+ },] }
284
+ ];
285
+ PbEmailBuilderModule.ctorParameters = () => [
286
+ { type: PbUserMiddlewaresService },
287
+ { type: PbUserImageUploaderService },
288
+ { type: Boolean, decorators: [{ type: Inject, args: [LIBRARY_IS_PRO,] }] }
289
+ ];
290
+ export { ɵ0 };
291
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGItZW1haWwtYnVpbGRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wYi1lbWFpbC1idWlsZGVyL3NyYy9saWIvcGItZW1haWwtYnVpbGRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLE1BQU0sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUs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LGFBQWE7b0JBQ2IsY0FBYztvQkFDZCxrQkFBa0I7b0JBQ2xCLGtCQUFrQjtvQkFDbEIsc0JBQXNCO29CQUN0QixvQkFBb0I7b0JBQ3BCLHNCQUFzQjtvQkFDdEIsMEJBQTBCO29CQUMxQix3QkFBd0I7b0JBQ3hCLGdDQUFnQztvQkFDaEMsMkJBQTJCO29CQUMzQiwyQkFBMkI7b0JBQzNCLFdBQVc7b0JBQ1gscUJBQXFCO2lCQUN0QjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSx3QkFBd0IsRUFBRSxXQUFXLENBQUM7Z0JBQ3pFLGVBQWUsRUFBRTtvQkFDZixvQkFBb0I7b0JBQ3BCLGNBQWM7b0JBQ2QsZUFBZTtvQkFDZixnQkFBZ0I7b0JBQ2hCLGVBQWU7b0JBQ2YsZUFBZTtvQkFDZixzQkFBc0I7b0JBQ3RCLGdDQUFnQztvQkFDaEMsMkJBQTJCO29CQUMzQiwyQkFBMkI7b0JBQzNCLHFCQUFxQjtpQkFDdEI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxrQkFBa0I7d0JBQzNCLFFBQVEsSUFNUDtxQkFDRjtvQkFDRCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtvQkFDL0UsbUVBQW1FO29CQUNuRSxxQkFBcUI7b0JBQ3JCLHlCQUF5QjtvQkFDekIsc0JBQXNCO2lCQUN2QjthQUNGOzs7WUE3S1Esd0JBQXdCO1lBQ3hCLDBCQUEwQjswQ0FpTDlCLE1BQU0sU0FBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyNCBQb2J1Y2EuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICovXG5cbmltcG9ydCB7IEluamVjdCwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuaW1wb3J0IHsgTWF0Qm90dG9tU2hlZXQsIE1hdEJvdHRvbVNoZWV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYm90dG9tLXNoZWV0JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IE1hdEV4cGFuc2lvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdFNpZGVuYXZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7IE1hdFNsaWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlcic7XG5pbXBvcnQgeyBNYXRTbmFja0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBNYXRUb29sYmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbGJhcic7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBSZXNpemFibGVNb2R1bGUgfSBmcm9tICdhbmd1bGFyLXJlc2l6YWJsZS1lbGVtZW50JztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMsIEh0dHBDbGllbnQsIEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5cbmltcG9ydCAncXVpbGwnO1xuaW1wb3J0IHsgUVVJTExfQ09ORklHX1RPS0VOLCBRdWlsbE1vZHVsZSB9IGZyb20gJ25neC1xdWlsbCc7XG5pbXBvcnQgeyBDb2xvckNocm9tZU1vZHVsZSB9IGZyb20gJ25neC1jb2xvci9jaHJvbWUnO1xuXG5pbXBvcnQgeyBJRm9yUm9vdENvbmYgfSBmcm9tICcuL2ludGVyZmFjZXMvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQQl9DT05GSUcsIFBCX1RFTVBMQVRFU19URU1QT1JBUllfU1RPUkFHRSB9IGZyb20gJy4vdG9rZW5zL3Rva2Vucyc7XG5pbXBvcnQgeyBTdHJ1Y3R1cmVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3RydWN0dXJlL3N0cnVjdHVyZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGJFbWFpbEJ1aWxkZXJDb21wb25lbnQgfSBmcm9tICcuL3BiLWVtYWlsLWJ1aWxkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZHluYW1pYy1jb21wb25lbnQuZGlyZWN0aXZlJztcblxuaW1wb3J0IHsgSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL2ltYWdlL2ltYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0RWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvdGV4dC1lbGVtZW50L3RleHQtZWxlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9kaXZpZGVyL2RpdmlkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNwYWNlckNvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvc3BhY2VyL3NwYWNlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU29jaWFsQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9zb2NpYWwvc29jaWFsLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IEJ1aWxkZXJDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnVpbGRlci1jb250YWluZXIvYnVpbGRlci1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZvbnRTdHlsZXNDb21wb25lbnQgfSBmcm9tICcuL2dyb3Vwcy9mb250LXN0eWxlcyc7XG5pbXBvcnQgeyBQYWRkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9ncm91cHMvcGFkZGluZyc7XG5pbXBvcnQgeyBMaW5lSGVpZ2h0Q29tcG9uZW50IH0gZnJvbSAnLi9ncm91cHMvbGluZS1oZWlnaHQnO1xuaW1wb3J0IHsgV2lkdGhIZWlnaHRDb21wb25lbnQgfSBmcm9tICcuL2dyb3Vwcy93aWR0aC1oZWlnaHQnO1xuaW1wb3J0IHsgQm9yZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9ncm91cHMvYm9yZGVyJztcbmltcG9ydCB7IENvbG9yQ29tcG9uZW50IH0gZnJvbSAnLi9ncm91cHMvY29sb3InO1xuaW1wb3J0IHsgTGlua0NvbXBvbmVudCB9IGZyb20gJy4vZ3JvdXBzL2xpbmsnO1xuaW1wb3J0IHsgQWxpZ25Db21wb25lbnQgfSBmcm9tICcuL2dyb3Vwcy9hbGlnbic7XG5pbXBvcnQgeyBEaXJlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2dyb3Vwcy9kaXJlY3Rpb24nO1xuaW1wb3J0IHsgQmFja1JlcGF0Q29tcG9uZW50IH0gZnJvbSAnLi9ncm91cHMvYmFjay1yZXBlYXQnO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFByZXZpZXdUZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wcmV2aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYkVtYWlsQnVpbGRlclNlcnZpY2UgfSBmcm9tICcuL3BiLWVtYWlsLWJ1aWxkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBCbG9ja0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ibG9jay9ibG9jay5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW1hZ2VVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuL2dyb3Vwcy91cGxvYWQtaW1hZ2UnO1xuaW1wb3J0IHsgQmxvY2tTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9ibG9jay1zZXR0aW5ncy9ibG9jay1zZXR0aW5ncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RydWN0dXJlU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3RydWN0dXJlLXNldHRpbmdzL3N0cnVjdHVyZS1zZXR0aW5ncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2VuZXJhbFNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2dlbmVyYWwtc2V0dGluZ3MvZ2VuZXJhbC1zZXR0aW5ncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFyZ2luQ29tcG9uZW50IH0gZnJvbSAnLi9ncm91cHMvbWFyZ2luJztcbmltcG9ydCB7IFRlbXBsYXRlTGlzdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZW1wbGF0ZS1saXN0LWRpYWxvZy90ZW1wbGF0ZS1saXN0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2Fwc0NvbXBvbmVudCB9IGZyb20gJy4vZ3JvdXBzL2dhcHMnO1xuXG5pbXBvcnQgeyBTbHVnaWZ5UGlwZSB9IGZyb20gJy4vcGlwZXMvc2x1Z2lmeS5waXBlJztcblxuaW1wb3J0IHsgRnJlZVVzZXJzTWlkZGxld2FyZSwgUGFpZFVzZXJzTWlkZGxld2FyZSB9IGZyb20gJy4vc2VydmljZXMvdXNlci1taWRkbGV3YXJlLXNlcnZpY2UnO1xuaW1wb3J0IHsgRnJlZVVzZXJzSW1hZ2VVcGxvYWRlciwgUGFpZFVzZXJzSW1hZ2VVcGxvYWRlciB9IGZyb20gJy4vc2VydmljZXMvdXNlci1pbWFnZS11cGxvYWRlci1zZXJ2aWNlJztcblxuaW1wb3J0IHsgUGJVc2VyTWlkZGxld2FyZXNTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy91c2VyLW1pZGRsZXdhcmUtc2VydmljZS9wYi1taWRkbGV3YXJlcy5zZXJ2aWNlJztcbmltcG9ydCB7IFBiVXNlckltYWdlVXBsb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy91c2VyLWltYWdlLXVwbG9hZGVyLXNlcnZpY2UvdXNlci1pbWFnZS11cGxvYWRlci5zZXJ2aWNlJztcblxuaW1wb3J0IHsgSXBJbnRlcmNlcHRvckludGVyY2VwdG9yIH0gZnJvbSAnLi9pbnRlcmNlcHRvcnMvcGItaW50ZXJjZXB0b3IuaW50ZXJjZXB0b3InO1xuaW1wb3J0IHsgSW1wb3J0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ltcG9ydC1kaWFsb2cvaW1wb3J0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXBsb2FkQm90dG9tU2hlZXREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3NlcnZpY2VzL3VzZXItaW1hZ2UtdXBsb2FkZXItc2VydmljZS91cGxvYWQtYm90dG9tLXNoZWV0LWRpYWxvZy91cGxvYWQtYm90dG9tLXNoZWV0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXBsb2FkSW1hZ2VHYWxsZXJ5Q29tcG9uZW50IH0gZnJvbSAnLi9zZXJ2aWNlcy91c2VyLWltYWdlLXVwbG9hZGVyLXNlcnZpY2UvdXBsb2FkLWltYWdlLWdhbGxlcnkvdXBsb2FkLWltYWdlLWdhbGxlcnkuY29tcG9uZW50JztcblxuaW1wb3J0IHsgTElCUkFSWV9JU19QUk8gfSBmcm9tICcuL3Rva2Vucy9wcml2YXRlLXRva2Vucyc7XG5pbXBvcnQgeyBQYlVzZXJJbnRlcmZhY2VTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9pbnRlcm5hbHMvdXNlci1pbnRlcmZhY2VzL3VzZXItaW50ZXJmYWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGJFbWFpbE9iamVjdFN0b3JlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvaW50ZXJuYWxzL3BiLWVtYWlsLW9iamVjdC1zdG9yZS9wYi1lbWFpbC1vYmplY3Qtc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBGcmVlVXNlcnNSZXN0QXBpIH0gZnJvbSAnLi9zZXJ2aWNlcy91c2VyLXJlc3QtYXBpLXNlcnZpY2UnO1xuaW1wb3J0IHsgRnJlZVVzZXJzUGJTdG9yYWdlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wYi1zdG9yYWdlJztcbmltcG9ydCB7IFBiU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3BiLXN0b3JhZ2UvcGItc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBiVXNlclJlc3RBcGlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy91c2VyLXJlc3QtYXBpLXNlcnZpY2UvdXNlci1yZXN0LWFwaS5zZXJ2aWNlJztcblxuaW1wb3J0IHsgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgJ0Bhbmd1bGFyL2xvY2FsaXplL2luaXQnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIGh0dHBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUN1c3RvbVJlc3RBcGlTZXJ2aWNlKGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgcmV0dXJuIG5ldyBGcmVlVXNlcnNSZXN0QXBpKGh0dHApO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIGxpYnJhcnlJc1Byb0VudlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVXNlck1pZGRsZXdhcmVTZXJ2aWNlKGxpYnJhcnlJc1Byb0VudjogYm9vbGVhbikge1xuICBpZiAoIWxpYnJhcnlJc1Byb0Vudikge1xuICAgIHJldHVybiBuZXcgRnJlZVVzZXJzTWlkZGxld2FyZSgpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBuZXcgUGFpZFVzZXJzTWlkZGxld2FyZSgpO1xuICB9XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0gdGVtcGxhdGVTdG9yYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVVc2Vyc0lwU3RvcmFnZSh0ZW1wbGF0ZVN0b3JhZ2U6IFN0b3JhZ2UpIHtcbiAgcmV0dXJuIG5ldyBGcmVlVXNlcnNQYlN0b3JhZ2UodGVtcGxhdGVTdG9yYWdlKTtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIEBwYXJhbSBsaWJyYXJ5SXNQcm9FbnZcbiAqIEBwYXJhbSBtYXRCb3R0b21TaGVldFxuICogQHBhcmFtIG1hdERpYWxvZ1xuICogQHBhcmFtIHVzZXJNaWRkbGV3YXJlXG4gKiBAcGFyYW0gdXNlclJlc3RBcGlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVVzZXJVcGxvYWRlclNlcnZpY2UoXG4gIGxpYnJhcnlJc1Byb0VudjogYm9vbGVhbixcbiAgbWF0Qm90dG9tU2hlZXQ6IE1hdEJvdHRvbVNoZWV0LFxuICBtYXREaWFsb2c6IE1hdERpYWxvZyxcbiAgdXNlck1pZGRsZXdhcmU6IFBiVXNlck1pZGRsZXdhcmVzU2VydmljZSxcbiAgdXNlclJlc3RBcGk6IFBiVXNlclJlc3RBcGlTZXJ2aWNlXG4pIHtcbiAgaWYgKCFsaWJyYXJ5SXNQcm9FbnYpIHtcbiAgICByZXR1cm4gbmV3IEZyZWVVc2Vyc0ltYWdlVXBsb2FkZXIobWF0Qm90dG9tU2hlZXQsIHVzZXJNaWRkbGV3YXJlKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbmV3IFBhaWRVc2Vyc0ltYWdlVXBsb2FkZXIobWF0RGlhbG9nLCB1c2VyTWlkZGxld2FyZSwgdXNlclJlc3RBcGkpO1xuICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBRdWlsbE1vZHVsZSxcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxuICAgIERyYWdEcm9wTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIENvbG9yQ2hyb21lTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcblxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdFRhYnNNb2R1bGUsXG4gICAgTWF0U2xpZGVyTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICBNYXRTbmFja0Jhck1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIE1hdFNpZGVuYXZNb2R1bGUsXG4gICAgTWF0VG9vbGJhck1vZHVsZSxcbiAgICBNYXRMaXN0TW9kdWxlLFxuICAgIE1hdEJvdHRvbVNoZWV0TW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgTWF0RXhwYW5zaW9uTW9kdWxlLFxuICAgIFJlc2l6YWJsZU1vZHVsZSxcbiAgICBTY3JvbGxpbmdNb2R1bGUsXG4gICAgUG9ydGFsTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFBiRW1haWxCdWlsZGVyQ29tcG9uZW50LFxuICAgIFN0cnVjdHVyZUNvbXBvbmVudCxcbiAgICBCbG9ja0NvbXBvbmVudCxcbiAgICBEeW5hbWljQ29tcG9uZW50RGlyZWN0aXZlLFxuICAgIFByZXZpZXdUZW1wbGF0ZUNvbXBvbmVudCxcblxuICAgIFRleHRFbGVtZW50Q29tcG9uZW50LFxuICAgIEltYWdlQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBEaXZpZGVyQ29tcG9uZW50LFxuICAgIFNwYWNlckNvbXBvbmVudCxcbiAgICBTb2NpYWxDb21wb25lbnQsXG5cbiAgICBCdWlsZGVyQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIEZvbnRTdHlsZXNDb21wb25lbnQsXG4gICAgUGFkZGluZ0NvbXBvbmVudCxcbiAgICBNYXJnaW5Db21wb25lbnQsXG4gICAgR2Fwc0NvbXBvbmVudCxcbiAgICBMaW5lSGVpZ2h0Q29tcG9uZW50LFxuICAgIFdpZHRoSGVpZ2h0Q29tcG9uZW50LFxuICAgIEJvcmRlckNvbXBvbmVudCxcbiAgICBDb2xvckNvbXBvbmVudCxcbiAgICBMaW5rQ29tcG9uZW50LFxuICAgIEFsaWduQ29tcG9uZW50LFxuICAgIERpcmVjdGlvbkNvbXBvbmVudCxcbiAgICBCYWNrUmVwYXRDb21wb25lbnQsXG4gICAgQ29uZmlybURpYWxvZ0NvbXBvbmVudCxcbiAgICBJbWFnZVVwbG9hZENvbXBvbmVudCxcbiAgICBCbG9ja1NldHRpbmdzQ29tcG9uZW50LFxuICAgIFN0cnVjdHVyZVNldHRpbmdzQ29tcG9uZW50LFxuICAgIEdlbmVyYWxTZXR0aW5nc0NvbXBvbmVudCxcbiAgICBVcGxvYWRCb3R0b21TaGVldERpYWxvZ0NvbXBvbmVudCxcbiAgICBVcGxvYWRJbWFnZUdhbGxlcnlDb21wb25lbnQsXG4gICAgVGVtcGxhdGVMaXN0RGlhbG9nQ29tcG9uZW50LFxuICAgIFNsdWdpZnlQaXBlLFxuICAgIEltcG9ydERpYWxvZ0NvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbUGJFbWFpbEJ1aWxkZXJDb21wb25lbnQsIFByZXZpZXdUZW1wbGF0ZUNvbXBvbmVudCwgU2x1Z2lmeVBpcGVdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtcbiAgICBUZXh0RWxlbWVudENvbXBvbmVudCxcbiAgICBJbWFnZUNvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgRGl2aWRlckNvbXBvbmVudCxcbiAgICBTcGFjZXJDb21wb25lbnQsXG4gICAgU29jaWFsQ29tcG9uZW50LFxuICAgIENvbmZpcm1EaWFsb2dDb21wb25lbnQsXG4gICAgVXBsb2FkQm90dG9tU2hlZXREaWFsb2dDb21wb25lbnQsXG4gICAgVXBsb2FkSW1hZ2VHYWxsZXJ5Q29tcG9uZW50LFxuICAgIFRlbXBsYXRlTGlzdERpYWxvZ0NvbXBvbmVudCxcbiAgICBJbXBvcnREaWFsb2dDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogUVVJTExfQ09ORklHX1RPS0VOLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgYm91bmRzOiAncGItYnVpbGRlci1jb250YWluZXInLFxuICAgICAgICB0aGVtZTogJ2J1YmJsZScsXG4gICAgICAgIGZvcm1hdDogJ2h0bWwnLFxuICAgICAgICB0cmFja0NoYW5nZXM6ICdhbGwnLFxuICAgICAgICBzdXBwcmVzc0dsb2JhbFJlZ2lzdGVyV2FybmluZzogdHJ1ZVxuICAgICAgfVxuICAgIH0sXG4gICAgeyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IElwSW50ZXJjZXB0b3JJbnRlcmNlcHRvciwgbXVsdGk6IHRydWUgfSxcbiAgICAvLyB7IHByb3ZpZGU6IFBCX0JMT0NLX0VMRU1FTlQsIHVzZUNsYXNzOiBUZXh0QmxvY2ssIG11bHRpOiB0cnVlIH0sXG4gICAgUGJFbWFpbEJ1aWxkZXJTZXJ2aWNlLFxuICAgIFBiRW1haWxPYmplY3RTdG9yZVNlcnZpY2UsXG4gICAgUGJVc2VySW50ZXJmYWNlU2VydmljZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBiRW1haWxCdWlsZGVyTW9kdWxlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcGJNaWRkbGV3YXJlc1NlcnZpY2U6IFBiVXNlck1pZGRsZXdhcmVzU2VydmljZSxcbiAgICB1c2VySW1hZ2VVcGxvYWRlcjogUGJVc2VySW1hZ2VVcGxvYWRlclNlcnZpY2UsXG4gICAgQEluamVjdChMSUJSQVJZX0lTX1BSTykgbGlicmFyeUlzUHJvOiBib29sZWFuXG4gICkge1xuICAgIGlmICghbGlicmFyeUlzUHJvICYmICEocGJNaWRkbGV3YXJlc1NlcnZpY2UgaW5zdGFuY2VvZiBGcmVlVXNlcnNNaWRkbGV3YXJlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVcGdyYWRlIHRvIGFuIEV4dGVuZGVkIG9yIENvbW1lcmNpYWwgTGljZW5zZSB0byB1c2UgQ3VzdG9tIE1pZGRsZXdhcmVzLicpO1xuICAgIH1cbiAgICBpZiAoIWxpYnJhcnlJc1BybyAmJiAhKHVzZXJJbWFnZVVwbG9hZGVyIGluc3RhbmNlb2YgRnJlZVVzZXJzSW1hZ2VVcGxvYWRlcikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVXBncmFkZSB0byBhbiBFeHRlbmRlZCBvciBDb21tZXJjaWFsIExpY2Vuc2UgdG8gdXNlIEN1c3RvbSBJbWFnZSBVcGxvYWRlci4nKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIFBiRW1haWxCdWlsZGVyTW9kdWxlLndpdGhDb25maWcodXNlckNvbmZpZykgaW5zdGVhZFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHN0YXRpYyBmb3JSb290KHVzZXJDb25maWc6IElGb3JSb290Q29uZiA9IHt9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxQYkVtYWlsQnVpbGRlck1vZHVsZT4ge1xuICAgIHJldHVybiBQYkVtYWlsQnVpbGRlck1vZHVsZS53aXRoQ29uZmlnKHVzZXJDb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBtb2R1bGUgd2l0aCBjb25maWd1cmF0aW9uc1xuICAgKiBAcGFyYW0gdXNlckNvbmZpZyBDb25maWd1cmF0aW9uc1xuICAgKi9cbiAgc3RhdGljIHdpdGhDb25maWcodXNlckNvbmZpZzogSUZvclJvb3RDb25mID0ge30pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFBiRW1haWxCdWlsZGVyTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBQYkVtYWlsQnVpbGRlck1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBQYkVtYWlsQnVpbGRlclNlcnZpY2UsXG4gICAgICAgIFBiRW1haWxPYmplY3RTdG9yZVNlcnZpY2UsXG4gICAgICAgIFBiVXNlckludGVyZmFjZVNlcnZpY2UsXG4gICAgICAgIHsgcHJvdmlkZTogUEJfQ09ORklHLCB1c2VWYWx1ZTogdXNlckNvbmZpZyB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogUGJVc2VyTWlkZGxld2FyZXNTZXJ2aWNlLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGNyZWF0ZVVzZXJNaWRkbGV3YXJlU2VydmljZSxcbiAgICAgICAgICBkZXBzOiBbTElCUkFSWV9JU19QUk9dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBQYlN0b3JhZ2VTZXJ2aWNlLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGNyZWF0ZVVzZXJzSXBTdG9yYWdlLFxuICAgICAgICAgIGRlcHM6IFtQQl9URU1QTEFURVNfVEVNUE9SQVJZX1NUT1JBR0VdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBQYlVzZXJJbWFnZVVwbG9hZGVyU2VydmljZSxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBjcmVhdGVVc2VyVXBsb2FkZXJTZXJ2aWNlLFxuICAgICAgICAgIGRlcHM6IFtMSUJSQVJZX0lTX1BSTywgTWF0Qm90dG9tU2hlZXQsIE1hdERpYWxvZywgUGJVc2VyTWlkZGxld2FyZXNTZXJ2aWNlLCBQYlVzZXJSZXN0QXBpU2VydmljZV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFBiVXNlclJlc3RBcGlTZXJ2aWNlLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGNyZWF0ZUN1c3RvbVJlc3RBcGlTZXJ2aWNlLFxuICAgICAgICAgIGRlcHM6IFtIdHRwQ2xpZW50XVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,134 @@
1
+ /*
2
+ * Copyright (c) 2024 Pobuca.
3
+ * All rights reserved.
4
+ */
5
+ import { Injectable, Inject } from '@angular/core';
6
+ import { EMPTY } from 'rxjs';
7
+ import { catchError, switchMap, shareReplay, tap, finalize } from 'rxjs/operators';
8
+ import { PB_CONFIG, PB_DEFAULT_CONFIG } from './tokens/tokens';
9
+ import { PbEmailObjectStoreService } from './services/internals/pb-email-object-store/pb-email-object-store.service';
10
+ import { PbUserMiddlewaresService } from './services/user-middleware-service/pb-middlewares.service';
11
+ import { PbUserInterfaceService } from './services/internals/user-interfaces/user-interface.service';
12
+ /**
13
+ * @deprecated Soon it will be removed
14
+ * @internal
15
+ */
16
+ export class PbEmailBuilderService {
17
+ constructor(config,
18
+ // @Inject(PB_GOOGLE_FONTS) private googleFonts: string[],
19
+ emailObjectStore, pbMiddleWares, pbUserInterface // private _http: HttpClient,
20
+ ) {
21
+ this.config = config;
22
+ this.emailObjectStore = emailObjectStore;
23
+ this.pbMiddleWares = pbMiddleWares;
24
+ this.pbUserInterface = pbUserInterface;
25
+ // private _template = new BehaviorSubject<string>('');
26
+ // private _mjml = new BehaviorSubject<string>('');
27
+ // private readonly _onSave$ = new Subject();
28
+ /**
29
+ * @deprecated Please use the new service "UserRestApiService" instead
30
+ */
31
+ this.modules = new Set();
32
+ /**
33
+ * @deprecated Please use the new service "UserRestApiService" instead
34
+ */
35
+ this.customTemplates = new Set();
36
+ /**
37
+ * @deprecated Please use the new service "UserRestApiService" instead
38
+ */
39
+ this._mergeTags = new Set();
40
+ this.onTemplateCreated$ = this.emailObjectStore.onTemplateCreated$.pipe(shareReplay());
41
+ /**
42
+ * @deprecated Use onTemplateCreated$ instead
43
+ */
44
+ this.onSave$ = this.onTemplateCreated$;
45
+ /**
46
+ * @deprecated Use isLoading$ instead
47
+ */
48
+ this.isLoading = this.pbUserInterface.activeMatProgress$.asObservable();
49
+ this.isLoading$ = this.pbUserInterface.activeMatProgress$.asObservable();
50
+ this.config = Object.assign(Object.assign({}, PB_DEFAULT_CONFIG), this.config);
51
+ }
52
+ /**
53
+ * Save current Email Template
54
+ */
55
+ createHTMLTemplate$() {
56
+ this.pbUserInterface.activeMatProgress$.next(true);
57
+ return this.emailObjectStore.createHTMLTemplate$().pipe(tap(() => this.pbUserInterface.activeMatProgress$.next(false)), catchError((error) => this.pbMiddleWares.catchError(error).pipe(switchMap(() => {
58
+ this.pbUserInterface.notify(error.message);
59
+ this.pbUserInterface.activeMatProgress$.next(false);
60
+ return EMPTY;
61
+ }))), finalize(() => this.pbUserInterface.activeMatProgress$.next(false)));
62
+ }
63
+ /**
64
+ * @deprecated Please use ngb.createHTMLTemplate$() instead
65
+ */
66
+ saveEmail() {
67
+ return this.createHTMLTemplate$();
68
+ }
69
+ /**
70
+ * Get Email as object
71
+ */
72
+ get Email() {
73
+ return this.emailObjectStore.Email;
74
+ }
75
+ /**
76
+ * Set Email saved from database or created with new PBEmail()
77
+ */
78
+ set Email(newEmail) {
79
+ this.emailObjectStore.setEmail(newEmail);
80
+ }
81
+ /**
82
+ * @deprecated Use getTemplateAsObservable$() instead
83
+ */
84
+ get Template() {
85
+ return null;
86
+ }
87
+ /**
88
+ * Set HTML output
89
+ */
90
+ // set Template(template: string) {
91
+ // this._template.next(template);
92
+ // }
93
+ /**
94
+ * @deprecated Use getMjmlAsObservable$() instead
95
+ */
96
+ get Mjml() {
97
+ return null;
98
+ }
99
+ /**
100
+ * Listen Email changes
101
+ */
102
+ getEmailAsObservable$() {
103
+ return this.emailObjectStore.emailAsObservable$;
104
+ }
105
+ /**
106
+ * Listen Template changes
107
+ */
108
+ getTemplateAsObservable$() {
109
+ return this.emailObjectStore.templateAsObservable$;
110
+ }
111
+ /**
112
+ * Listen MJML changes
113
+ */
114
+ getMjmlAsObservable$() {
115
+ return this.emailObjectStore.mjmlAsObservable$;
116
+ }
117
+ /**
118
+ * Listen Email and Template changes
119
+ * @deprecated Use onTemplateCreated$ instead
120
+ */
121
+ onChanges$() {
122
+ return this.onTemplateCreated$;
123
+ }
124
+ }
125
+ PbEmailBuilderService.decorators = [
126
+ { type: Injectable }
127
+ ];
128
+ PbEmailBuilderService.ctorParameters = () => [
129
+ { type: undefined, decorators: [{ type: Inject, args: [PB_CONFIG,] }] },
130
+ { type: PbEmailObjectStoreService },
131
+ { type: PbUserMiddlewaresService },
132
+ { type: PbUserInterfaceService }
133
+ ];
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGItZW1haWwtYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcGItZW1haWwtYnVpbGRlci9zcmMvbGliL3BiLWVtYWlsLWJ1aWxkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQWMsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBQ3JILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBRXJHOzs7R0FHRztBQUVILE1BQU0sT0FBTyxxQkFBcUI7SUErQmhDLFlBQzRCLE1BQW9CO0lBQzlDLDBEQUEwRDtJQUNsRCxnQkFBMkMsRUFDM0MsYUFBdUMsRUFDdkMsZUFBdUMsQ0FBQyw2QkFBNkI7O1FBSm5ELFdBQU0sR0FBTixNQUFNLENBQWM7UUFFdEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUEyQjtRQUMzQyxrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFDdkMsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBbkNqRCx1REFBdUQ7UUFDdkQsbURBQW1EO1FBQ25ELDZDQUE2QztRQUU3Qzs7V0FFRztRQUNJLFlBQU8sR0FBRyxJQUFJLEdBQUcsRUFBZSxDQUFDO1FBQ3hDOztXQUVHO1FBQ2Esb0JBQWUsR0FBRyxJ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LHdCQUF3QjtZQUN4QixzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDI0IFBvYnVjYS5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIEVNUFRZIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBzd2l0Y2hNYXAsIHNoYXJlUmVwbGF5LCB0YXAsIGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBJRm9yUm9vdENvbmYsIElVc2VyTW9kdWxlLCBJVXNlclRlbXBsYXRlIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUEJFbWFpbCB9IGZyb20gJy4vY2xhc3Nlcy9EZWZhdWx0RW1haWwnO1xuXG5pbXBvcnQgeyBQQl9DT05GSUcsIFBCX0RFRkFVTFRfQ09ORklHIH0gZnJvbSAnLi90b2tlbnMvdG9rZW5zJztcbmltcG9ydCB7IFBiRW1haWxPYmplY3RTdG9yZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2ludGVybmFscy9wYi1lbWFpbC1vYmplY3Qtc3RvcmUvcGItZW1haWwtb2JqZWN0LXN0b3JlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGJVc2VyTWlkZGxld2FyZXNTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy91c2VyLW1pZGRsZXdhcmUtc2VydmljZS9wYi1taWRkbGV3YXJlcy5zZXJ2aWNlJztcbmltcG9ydCB7IFBiVXNlckludGVyZmFjZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2ludGVybmFscy91c2VyLWludGVyZmFjZXMvdXNlci1pbnRlcmZhY2Uuc2VydmljZSc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgU29vbiBpdCB3aWxsIGJlIHJlbW92ZWRcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGJFbWFpbEJ1aWxkZXJTZXJ2aWNlIHtcbiAgLy8gcHJpdmF0ZSBfdGVtcGxhdGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAvLyBwcml2YXRlIF9tam1sID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgLy8gcHJpdmF0ZSByZWFkb25seSBfb25TYXZlJCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgdGhlIG5ldyBzZXJ2aWNlIFwiVXNlclJlc3RBcGlTZXJ2aWNlXCIgaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIG1vZHVsZXMgPSBuZXcgU2V0PElVc2VyTW9kdWxlPigpO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSB0aGUgbmV3IHNlcnZpY2UgXCJVc2VyUmVzdEFwaVNlcnZpY2VcIiBpbnN0ZWFkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY3VzdG9tVGVtcGxhdGVzID0gbmV3IFNldDxJVXNlclRlbXBsYXRlPigpO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSB0aGUgbmV3IHNlcnZpY2UgXCJVc2VyUmVzdEFwaVNlcnZpY2VcIiBpbnN0ZWFkXG4gICAqL1xuICBwcml2YXRlIF9tZXJnZVRhZ3MgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb25UZW1wbGF0ZUNyZWF0ZWQkID0gdGhpcy5lbWFpbE9iamVjdFN0b3JlLm9uVGVtcGxhdGVDcmVhdGVkJC5waXBlKHNoYXJlUmVwbGF5KCkpO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2Ugb25UZW1wbGF0ZUNyZWF0ZWQkIGluc3RlYWRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBvblNhdmUkID0gdGhpcy5vblRlbXBsYXRlQ3JlYXRlZCQ7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBpc0xvYWRpbmckIGluc3RlYWRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpc0xvYWRpbmcgPSB0aGlzLnBiVXNlckludGVyZmFjZS5hY3RpdmVNYXRQcm9ncmVzcyQuYXNPYnNlcnZhYmxlKCk7XG4gIHB1YmxpYyByZWFkb25seSBpc0xvYWRpbmckID0gdGhpcy5wYlVzZXJJbnRlcmZhY2UuYWN0aXZlTWF0UHJvZ3Jlc3MkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoUEJfQ09ORklHKSBwdWJsaWMgY29uZmlnOiBJRm9yUm9vdENvbmYsXG4gICAgLy8gQEluamVjdChQQl9HT09HTEVfRk9OVFMpIHByaXZhdGUgZ29vZ2xlRm9udHM6IHN0cmluZ1tdLFxuICAgIHByaXZhdGUgZW1haWxPYmplY3RTdG9yZTogUGJFbWFpbE9iamVjdFN0b3JlU2VydmljZSxcbiAgICBwcml2YXRlIHBiTWlkZGxlV2FyZXM6IFBiVXNlck1pZGRsZXdhcmVzU2VydmljZSxcbiAgICBwcml2YXRlIHBiVXNlckludGVyZmFjZTogUGJVc2VySW50ZXJmYWNlU2VydmljZSAvLyBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LFxuICApIHtcbiAgICB0aGlzLmNvbmZpZyA9IHsgLi4uUEJfREVGQVVMVF9DT05GSUcsIC4uLnRoaXMuY29uZmlnIH07XG4gIH1cblxuICAvKipcbiAgICogU2F2ZSBjdXJyZW50IEVtYWlsIFRlbXBsYXRlXG4gICAqL1xuICBjcmVhdGVIVE1MVGVtcGxhdGUkKCkge1xuICAgIHRoaXMucGJVc2VySW50ZXJmYWNlLmFjdGl2ZU1hdFByb2dyZXNzJC5uZXh0KHRydWUpO1xuICAgIHJldHVybiB0aGlzLmVtYWlsT2JqZWN0U3RvcmUuY3JlYXRlSFRNTFRlbXBsYXRlJCgpLnBpcGUoXG4gICAgICB0YXAoKCkgPT4gdGhpcy5wYlVzZXJJbnRlcmZhY2UuYWN0aXZlTWF0UHJvZ3Jlc3MkLm5leHQoZmFsc2UpKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT5cbiAgICAgICAgdGhpcy5wYk1pZGRsZVdhcmVzLmNhdGNoRXJyb3IoZXJyb3IpLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucGJVc2VySW50ZXJmYWNlLm5vdGlmeShlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICAgIHRoaXMucGJVc2VySW50ZXJmYWNlLmFjdGl2ZU1hdFByb2dyZXNzJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApLFxuICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5wYlVzZXJJbnRlcmZhY2UuYWN0aXZlTWF0UHJvZ3Jlc3MkLm5leHQoZmFsc2UpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogIEBkZXByZWNhdGVkIFBsZWFzZSB1c2UgbmdiLmNyZWF0ZUhUTUxUZW1wbGF0ZSQoKSBpbnN0ZWFkXG4gICAqL1xuICBzYXZlRW1haWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlSFRNTFRlbXBsYXRlJCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBFbWFpbCBhcyBvYmplY3RcbiAgICovXG4gIGdldCBFbWFpbCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbWFpbE9iamVjdFN0b3JlLkVtYWlsO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBFbWFpbCBzYXZlZCBmcm9tIGRhdGFiYXNlIG9yIGNyZWF0ZWQgd2l0aCBuZXcgUEJFbWFpbCgpXG4gICAqL1xuICBzZXQgRW1haWwobmV3RW1haWw6IFBCRW1haWwpIHtcbiAgICB0aGlzLmVtYWlsT2JqZWN0U3RvcmUuc2V0RW1haWwobmV3RW1haWwpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBnZXRUZW1wbGF0ZUFzT2JzZXJ2YWJsZSQoKSBpbnN0ZWFkXG4gICAqL1xuICBnZXQgVGVtcGxhdGUoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgLyoqXG4gICAqIFNldCBIVE1MIG91dHB1dFxuICAgKi9cbiAgLy8gc2V0IFRlbXBsYXRlKHRlbXBsYXRlOiBzdHJpbmcpIHtcbiAgLy8gICB0aGlzLl90ZW1wbGF0ZS5uZXh0KHRlbXBsYXRlKTtcbiAgLy8gfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgZ2V0TWptbEFzT2JzZXJ2YWJsZSQoKSBpbnN0ZWFkXG4gICAqL1xuICBnZXQgTWptbCgpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gRW1haWwgY2hhbmdlc1xuICAgKi9cbiAgZ2V0RW1haWxBc09ic2VydmFibGUkKCk6IE9ic2VydmFibGU8UEJFbWFpbD4ge1xuICAgIHJldHVybiB0aGlzLmVtYWlsT2JqZWN0U3RvcmUuZW1haWxBc09ic2VydmFibGUkO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiBUZW1wbGF0ZSBjaGFuZ2VzXG4gICAqL1xuICBnZXRUZW1wbGF0ZUFzT2JzZXJ2YWJsZSQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5lbWFpbE9iamVjdFN0b3JlLnRlbXBsYXRlQXNPYnNlcnZhYmxlJDtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gTUpNTCBjaGFuZ2VzXG4gICAqL1xuICBnZXRNam1sQXNPYnNlcnZhYmxlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbWFpbE9iamVjdFN0b3JlLm1qbWxBc09ic2VydmFibGUkO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiBFbWFpbCBhbmQgVGVtcGxhdGUgY2hhbmdlc1xuICAgKiBAZGVwcmVjYXRlZCBVc2Ugb25UZW1wbGF0ZUNyZWF0ZWQkIGluc3RlYWRcbiAgICovXG4gIG9uQ2hhbmdlcyQoKTogT2JzZXJ2YWJsZTxbUEJFbWFpbCwgc3RyaW5nLCBzdHJpbmddPiB7XG4gICAgcmV0dXJuIHRoaXMub25UZW1wbGF0ZUNyZWF0ZWQkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBTZXQgb2YgU3RydWN0dXJlcyBmcm9tIGFzaWRlXG4gICAqL1xuICAvLyBnZXRTaWRlU3RydWN0dXJlcygpOiBTZXQ8SVN0cnVjdHVyZT4ge1xuICAvLyAgIHJldHVybiB0aGlzLl9zdHJ1Y3R1cmVzO1xuICAvLyB9XG5cbiAgLyoqXG4gICAqIEdldCBTZXQgb2YgQmxvY2tzIGZyb20gYXNpZGVcbiAgICovXG4gIC8vIGdldFNpZGVCbG9ja3MoKTogU2V0PFRCbG9ja3M+IHtcbiAgLy8gICByZXR1cm4gdGhpcy5fYmxvY2tzO1xuICAvLyB9XG5cbiAgLyoqXG4gICAqIEdldCBhIFNldCBvZiBmb250cyBmYW1pbHlcbiAgICovXG4gIC8vIGdldCBGb250cygpOiBJRm9udEZhbWlseSB7XG4gIC8vICAgcmV0dXJuIHRoaXMuX2ZvbnRGYW1pbHk7XG4gIC8vIH1cbiAgLy8gc2V0IEZvbnRzKGZvbnRzOiBJRm9udEZhbWlseSkge1xuICAvLyAgIHRoaXMuX2ZvbnRGYW1pbHkgPSBmb250cztcbiAgLy8gfVxuXG4gIC8vIGdldCBGYWxsYmFja0ZvbnRzKCk6IElGb250RmFtaWx5IHtcbiAgLy8gICByZXR1cm4gdGhpcy5fZmFsbGJhY2tGYW1pbHk7XG4gIC8vIH1cbiAgLy8gc2V0IEZhbGxiYWNrRm9udHMoZm9udHM6IElGb250RmFtaWx5KSB7XG4gIC8vICAgdGhpcy5fZmFsbGJhY2tGYW1pbHkgPSBmb250cztcbiAgLy8gfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBQbGVhc2UgdXNlIHRoZSBuZXcgc2VydmljZSBcIlVzZXJSZXN0QXBpU2VydmljZVwiIGluc3RlYWRcbiAgICovXG4gIC8vIGdldCBNZXJnZVRhZ3MoKTogU2V0PHN0cmluZz4ge1xuICAvLyAgIHJldHVybiB0aGlzLl9tZXJnZVRhZ3M7XG4gIC8vIH1cblxuICAvLyBzZXQgTWVyZ2VUYWdzKHRhZ3M6IFNldDxzdHJpbmc+KSB7XG4gIC8vICAgdGhpcy5fbWVyZ2VUYWdzID0gdGFncztcbiAgLy8gfVxufVxuIl19
@@ -0,0 +1,39 @@
1
+ /*
2
+ * Copyright (c) 2024 Pobuca.
3
+ * All rights reserved.
4
+ */
5
+ import { Pipe } from '@angular/core';
6
+ /**
7
+ * @ignore
8
+ *
9
+ * Soon will be removed.
10
+ */
11
+ export class SlugifyPipe {
12
+ transform(input) {
13
+ const trChars = {
14
+ áÁ: 'a',
15
+ éÉ: 'e',
16
+ íÍ: 'i',
17
+ óÓ: 'o',
18
+ úÚ: 'u',
19
+ ñÑ: 'n'
20
+ };
21
+ for (const key of Object.keys(trChars)) {
22
+ input = input.replace(new RegExp('[' + key + ']', 'g'), trChars[key]);
23
+ }
24
+ return input
25
+ .toString()
26
+ .toLowerCase()
27
+ .replace(/\s+/g, '-') // Replace spaces with -
28
+ .replace(/[^\w\-]+/g, '') // Remove all non-word chars
29
+ .replace(/\-\-+/g, '-') // Replace multiple - with single -
30
+ .replace(/^-+/, '') // Trim - from start of text
31
+ .replace(/-+$/, ''); // Trim - from end of text
32
+ }
33
+ }
34
+ SlugifyPipe.decorators = [
35
+ { type: Pipe, args: [{
36
+ name: 'slugify'
37
+ },] }
38
+ ];
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2x1Z2lmeS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGItZW1haWwtYnVpbGRlci9zcmMvbGliL3BpcGVzL3NsdWdpZnkucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRDs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLFdBQVc7SUFDdEIsU0FBUyxDQUFDLEtBQWE7UUFDckIsTUFBTSxPQUFPLEdBQUc7WUFDZCxFQUFFLEVBQUUsR0FBRztZQUNQLEVBQUUsRUFBRSxHQUFHO1lBQ1AsRUFBRSxFQUFFLEdBQUc7WUFDUCxFQUFFLEVBQUUsR0FBRztZQUNQLEVBQUUsRUFBRSxHQUFHO1lBQ1AsRUFBRSxFQUFFLEdBQUc7U0FDUixDQUFDO1FBQ0YsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3RDLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3ZFO1FBQ0QsT0FBTyxLQUFLO2FBQ1QsUUFBUSxFQUFFO2FBQ1YsV0FBVyxFQUFFO2FBQ2IsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyx3QkFBd0I7YUFDN0MsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyw0QkFBNEI7YUFDckQsT0FBTyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxtQ0FBbUM7YUFDMUQsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyw0QkFBNEI7YUFDL0MsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLDBCQUEwQjtJQUNuRCxDQUFDOzs7WUF4QkYsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSxTQUFTO2FBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyNCBQb2J1Y2EuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICovXG5cbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAaWdub3JlXG4gKlxuICogU29vbiB3aWxsIGJlIHJlbW92ZWQuXG4gKi9cbkBQaXBlKHtcbiAgbmFtZTogJ3NsdWdpZnknXG59KVxuZXhwb3J0IGNsYXNzIFNsdWdpZnlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB0ckNoYXJzID0ge1xuICAgICAgw6HDgTogJ2EnLFxuICAgICAgw6nDiTogJ2UnLFxuICAgICAgw63DjTogJ2knLFxuICAgICAgw7PDkzogJ28nLFxuICAgICAgw7rDmjogJ3UnLFxuICAgICAgw7HDkTogJ24nXG4gICAgfTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyh0ckNoYXJzKSkge1xuICAgICAgaW5wdXQgPSBpbnB1dC5yZXBsYWNlKG5ldyBSZWdFeHAoJ1snICsga2V5ICsgJ10nLCAnZycpLCB0ckNoYXJzW2tleV0pO1xuICAgIH1cbiAgICByZXR1cm4gaW5wdXRcbiAgICAgIC50b1N0cmluZygpXG4gICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgLnJlcGxhY2UoL1xccysvZywgJy0nKSAvLyBSZXBsYWNlIHNwYWNlcyB3aXRoIC1cbiAgICAgIC5yZXBsYWNlKC9bXlxcd1xcLV0rL2csICcnKSAvLyBSZW1vdmUgYWxsIG5vbi13b3JkIGNoYXJzXG4gICAgICAucmVwbGFjZSgvXFwtXFwtKy9nLCAnLScpIC8vIFJlcGxhY2UgbXVsdGlwbGUgLSB3aXRoIHNpbmdsZSAtXG4gICAgICAucmVwbGFjZSgvXi0rLywgJycpIC8vIFRyaW0gLSBmcm9tIHN0YXJ0IG9mIHRleHRcbiAgICAgIC5yZXBsYWNlKC8tKyQvLCAnJyk7IC8vIFRyaW0gLSBmcm9tIGVuZCBvZiB0ZXh0XG4gIH1cbn1cbiJdfQ==