croco-html 5.0.1 → 20.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Type, EventEmitter, OnInit, OnChanges, SimpleChanges, OnDestroy, AfterViewInit, ElementRef, ChangeDetectorRef, AfterContentChecked, ViewContainerRef, ComponentRef, PipeTransform } from '@angular/core';
2
+ import { Type, EventEmitter, OnInit, OnDestroy, ElementRef, OnChanges, SimpleChanges, AfterViewInit, ChangeDetectorRef, AfterContentChecked, ViewContainerRef, ComponentRef, PipeTransform } from '@angular/core';
3
3
  import { HttpClient, HttpEvent } from '@angular/common/http';
4
- import { Observable, Subject } from 'rxjs';
4
+ import * as rxjs from 'rxjs';
5
+ import { Observable, BehaviorSubject, Subject } from 'rxjs';
5
6
  import * as i31 from '@angular/cdk/drag-drop';
6
7
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
7
8
  import { SafeHtml, DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';
@@ -10,6 +11,7 @@ import { MatSnackBar } from '@angular/material/snack-bar';
10
11
  import { ClipboardService } from 'ngx-clipboard';
11
12
  import * as i21 from '@angular/material/dialog';
12
13
  import { MatDialog } from '@angular/material/dialog';
14
+ import { Router } from '@angular/router';
13
15
  import * as i1 from '@angular/common';
14
16
  import * as i2 from '@angular/forms';
15
17
  import * as i3 from '@ng-select/ng-select';
@@ -41,6 +43,9 @@ import * as i30 from '@angular/material/icon';
41
43
  import * as i32 from '@angular/material/button-toggle';
42
44
 
43
45
  interface TagItem {
46
+ /**
47
+ * Название тега
48
+ */
44
49
  tag: string;
45
50
  displayValue: string;
46
51
  isCustom: boolean;
@@ -49,7 +54,6 @@ interface HtmlBodyTag {
49
54
  tagDescription: TagItem;
50
55
  innerHtml: string;
51
56
  attributes: Object;
52
- presentOrEdit: boolean;
53
57
  }
54
58
  interface BaseApiResponse {
55
59
  isSucceeded: boolean;
@@ -97,7 +101,7 @@ interface ImageRestrictions {
97
101
  maxHeight: number | undefined;
98
102
  }
99
103
  interface FileImageTag {
100
- type: string;
104
+ tagName: string;
101
105
  data: FileImageTagData;
102
106
  }
103
107
  interface FileImageTagData {
@@ -105,25 +109,209 @@ interface FileImageTagData {
105
109
  fileId: string;
106
110
  screenMediaRequest: string;
107
111
  }
108
- interface IMediaRequest {
112
+ interface IImageMediaRequest {
109
113
  minScreenWidth: number;
110
114
  maxScreenWidth: number;
111
115
  maxImageHeight?: number;
112
116
  maxImageWidth?: number;
113
117
  }
114
118
 
119
+ interface FileAudioTagData {
120
+ fileId: string;
121
+ title?: string;
122
+ }
123
+ interface FileAudioTag {
124
+ tagName: string;
125
+ data: FileAudioTagData;
126
+ }
127
+
128
+ interface InterfaceBlock {
129
+ /**
130
+ * Название тега
131
+ */
132
+ tagName: string;
133
+ data: any;
134
+ validationResult?: BaseApiResponse | undefined;
135
+ }
136
+
137
+ declare class TagEditorService {
138
+ readonly tag$: BehaviorSubject<HtmlBodyTag>;
139
+ readonly presentOrEdit$: BehaviorSubject<boolean>;
140
+ }
141
+
142
+ interface IVisualEditorProps {
143
+ selectedVideoPlayer: string;
144
+ htmlRaw: string;
145
+ }
146
+ interface IMarkUpTagService {
147
+ /**
148
+ * Название тега
149
+ */
150
+ tagName: string;
151
+ /**
152
+ * Описание тега
153
+ */
154
+ shortDescription: string;
155
+ /**
156
+ * Функция для конвертации из модели редактора в Html строку разметки
157
+ * @param bodyTag тег
158
+ * @returns
159
+ */
160
+ bodyTagToHtmlStringConverter: (bodyTag: HtmlBodyTag) => string;
161
+ extractBlockFromHtmlElement: (elem: HTMLElement, options: CrocoHtmlOptions) => InterfaceBlock;
162
+ /**
163
+ * Конвертация блока интерфейса в модель тега для редактора
164
+ * @param data
165
+ * @returns
166
+ */
167
+ toBodyTag: (data: InterfaceBlock) => HtmlBodyTag;
168
+ /**
169
+ * Получить значение по умолчанию
170
+ * @returns
171
+ */
172
+ getDefaultValue: (props: IVisualEditorProps) => HtmlBodyTag;
173
+ }
174
+
175
+ declare class FileImageTagService implements IMarkUpTagService {
176
+ tagName: string;
177
+ shortDescription: string;
178
+ bodyTagToHtmlStringConverter(bodyTag: HtmlBodyTag): string;
179
+ extractBlockFromHtmlElement(elem: HTMLElement, options: CrocoHtmlOptions): InterfaceBlock;
180
+ toBodyTag(data: InterfaceBlock): HtmlBodyTag;
181
+ getDefaultValue(): HtmlBodyTag;
182
+ }
183
+
184
+ declare enum TextAlignment {
185
+ Left = "left",
186
+ Center = "center",
187
+ Right = "right"
188
+ }
189
+ declare class TextTagDataConsts {
190
+ static readonly HAlign = "h-align";
191
+ }
192
+ declare class TextTagHtmlMarkupTagService implements IMarkUpTagService {
193
+ constructor(tagName: string, shortDescription: string);
194
+ tagName: string;
195
+ shortDescription: string;
196
+ bodyTagToHtmlStringConverter(bodyTag: HtmlBodyTag): string;
197
+ extractBlockFromHtmlElement(elem: HTMLElement, options: CrocoHtmlOptions): InterfaceBlock;
198
+ toBodyTag(data: InterfaceBlock): HtmlBodyTag;
199
+ getDefaultValue(props: IVisualEditorProps): HtmlBodyTag;
200
+ }
201
+
202
+ declare class ExternalVideoTagService implements IMarkUpTagService {
203
+ tagName: string;
204
+ shortDescription: string;
205
+ bodyTagToHtmlStringConverter(bodyTag: HtmlBodyTag): string;
206
+ extractBlockFromHtmlElement(elem: HTMLElement, options: CrocoHtmlOptions): InterfaceBlock;
207
+ toBodyTag(data: InterfaceBlock): HtmlBodyTag;
208
+ getDefaultValue(props: IVisualEditorProps): HtmlBodyTag;
209
+ }
210
+
211
+ declare class HtmlRawTagDataConsts {
212
+ static readonly TagName = "html-raw";
213
+ }
214
+ interface ExtractHtmlRawTag {
215
+ type: string;
216
+ data: ExtractHtmlRawTagData;
217
+ }
218
+ interface ExtractHtmlRawTagData {
219
+ innerHTML: string;
220
+ }
221
+ declare class HtmlRawTagService implements IMarkUpTagService {
222
+ tagName: string;
223
+ shortDescription: string;
224
+ bodyTagToHtmlStringConverter(bodyTag: HtmlBodyTag): string;
225
+ extractBlockFromHtmlElement(elem: HTMLElement, options: CrocoHtmlOptions): InterfaceBlock;
226
+ toBodyTag(data: InterfaceBlock): HtmlBodyTag;
227
+ getDefaultValue(props: IVisualEditorProps): HtmlBodyTag;
228
+ }
229
+
230
+ declare class DownloadButtonTagDataConsts {
231
+ static readonly TagName = "download-file-button";
232
+ static readonly TitleAttrName = "title";
233
+ static readonly LinkAttrName = "link";
234
+ }
235
+ interface DownloadButtonTag {
236
+ type: string;
237
+ data: DownloadButtonTagData;
238
+ }
239
+ interface DownloadButtonTagData {
240
+ title: string;
241
+ link: string;
242
+ }
243
+ declare class DownloadButtonTagService implements IMarkUpTagService {
244
+ tagName: string;
245
+ shortDescription: string;
246
+ bodyTagToHtmlStringConverter(bodyTag: HtmlBodyTag): string;
247
+ extractBlockFromHtmlElement(elem: HTMLElement, options: CrocoHtmlOptions): InterfaceBlock;
248
+ toBodyTag(data: InterfaceBlock): HtmlBodyTag;
249
+ getDefaultValue(props: IVisualEditorProps): HtmlBodyTag;
250
+ }
251
+
252
+ declare class ButtonTagDataConsts {
253
+ static readonly TagName = "button";
254
+ static readonly TextAttrName = "text";
255
+ static readonly TypeAttrName = "type";
256
+ static readonly ClickAttrName = "click";
257
+ }
258
+ interface ButtonTag {
259
+ type: string;
260
+ data: ButtonTagData;
261
+ }
262
+ interface ButtonTagData {
263
+ text: string;
264
+ type: string;
265
+ click: string;
266
+ }
267
+ declare class ButtonTagService implements IMarkUpTagService {
268
+ tagName: string;
269
+ shortDescription: string;
270
+ bodyTagToHtmlStringConverter(bodyTag: HtmlBodyTag): string;
271
+ extractBlockFromHtmlElement(elem: HTMLElement, options: CrocoHtmlOptions): InterfaceBlock;
272
+ toBodyTag(data: InterfaceBlock): HtmlBodyTag;
273
+ getDefaultValue(props: IVisualEditorProps): HtmlBodyTag;
274
+ }
275
+
276
+ declare class CustomWidgetTagDataConsts {
277
+ static readonly TagName = "custom-widget";
278
+ static readonly TypeAttrName = "type";
279
+ static readonly DataIdAttrName = "data-id";
280
+ static readonly WidgetIdAttrName = "widget-id";
281
+ }
282
+ interface CustomWidgetTag {
283
+ type: string;
284
+ data: CustomWidgetTagData;
285
+ }
286
+ interface CustomWidgetTagData {
287
+ type: string;
288
+ dataId: string;
289
+ widgetId: string;
290
+ }
291
+ declare class CustomWidgetTagService implements IMarkUpTagService {
292
+ tagName: string;
293
+ shortDescription: string;
294
+ bodyTagToHtmlStringConverter(bodyTag: HtmlBodyTag): string;
295
+ extractBlockFromHtmlElement(elem: HTMLElement, options: CrocoHtmlOptions): InterfaceBlock;
296
+ toBodyTag(data: InterfaceBlock): HtmlBodyTag;
297
+ getDefaultValue(props: IVisualEditorProps): HtmlBodyTag;
298
+ static ExtractCustomWidgetTagData(attributes: any): CustomWidgetTagData;
299
+ static ExtractCustomWidgetAttributes(customWidgetTagData: CustomWidgetTagData): {
300
+ type: string;
301
+ "data-id": string;
302
+ "widget-id": string;
303
+ };
304
+ }
305
+
115
306
  interface CrocoHtmlOptions {
116
307
  /**
117
- * Формат сслыки для показа изображений из публичных файлов.
118
- * Содержит переменные: {sizeType} - тип размера, {fileId} - идентификатор изображения.
308
+ * Опции для отображения изображений.
119
309
  */
120
- publicImageResizedUrlFormat: string;
310
+ imageOptions: CrocoHtmlImageOptions;
121
311
  /**
122
- * Формат сслыки для показа изображений из приватный файлов.
123
- * Содержит переменные: {sizeType} - тип размера, {fileId} - идентификатор изображения.
312
+ * Формат адреса до оригиналов файлов по идентификатору и имени
124
313
  */
125
- privateImageResizedUrlFormat: string;
126
- globalMediaRequests?: IMediaRequest[];
314
+ fileIdAndNamePathUrlFormat: string;
127
315
  /**
128
316
  * Компонент для рендера кастомных виджетов
129
317
  */
@@ -136,12 +324,72 @@ interface CrocoHtmlOptions {
136
324
  * Показывать кнопку для запуска настроек
137
325
  */
138
326
  showSettingsButton: boolean;
327
+ /**
328
+ * Кастомные объявленные теги
329
+ */
330
+ definedCustomTags: {
331
+ [id: string]: IMarkUpTagService;
332
+ };
333
+ /**
334
+ * Рендеры для кастомных тегов.
335
+ */
336
+ definedCustomTagViewRenderers: {
337
+ [id: string]: ICustomTagViewRender;
338
+ };
139
339
  /**
140
340
  * Обработчик нажатия на кнопку кастомных виджетов
141
341
  * @returns
142
342
  */
143
343
  customWidgetClickHandler: (editor: VisualEditorComponent) => void;
144
344
  }
345
+ interface ICustomTagViewRender {
346
+ /**
347
+ * Компонент для визуального редактора croco-html-custom-widget-editor
348
+ * Должен содержать инпуты
349
+ * tagService: TagEditorService
350
+ */
351
+ editorComponent?: Type<any>;
352
+ /**
353
+ * Иконка в визуальном редакторе croco-html-custom-widget-icon
354
+ */
355
+ iconComponent?: Type<any>;
356
+ /**
357
+ * Компонент для отрисовки на интерфейсе croco-html-defined-custom-tag-view.
358
+ * Должен содержать input({required: true}) data: InterfaceBlock
359
+ */
360
+ viewComponent?: Type<any>;
361
+ }
362
+ interface CrocoHtmlImageOptions {
363
+ /**
364
+ * Формат сслыки для показа изображений из файлов.
365
+ * Содержит переменные: {sizeType} - тип размера, {fileId} - идентификатор изображения.
366
+ */
367
+ sizeTypeAndFileIdImageUrlFormat: string;
368
+ /**
369
+ * Медиа запросы для изображений.
370
+ */
371
+ globalMediaRequests?: IImageMediaRequest[];
372
+ /**
373
+ * Обработчик клика на изображение в теге file-image.
374
+ * @param imageData - данные изображения
375
+ */
376
+ onImageClick?: (imageData: FileImageTagData) => void;
377
+ /**
378
+ * Опции для визуального редактора изображений.
379
+ */
380
+ visualEditorOptions?: {
381
+ /**
382
+ * Максимальная высота изображения в режиме редактора в пикселях (например, 200).
383
+ * Если указано, изображения в ImageEditorComponent не будут превышать эту высоту.
384
+ */
385
+ editorModeImageMaxHeight?: number;
386
+ /**
387
+ * Максимальная высота изображения в режиме предпросмотра в пикселях (например, 200).
388
+ * Если указано, изображения в FileImageTagViewComponent не будут превышать эту высоту.
389
+ */
390
+ previewModeImageMaxHeight?: number;
391
+ };
392
+ }
145
393
  /**
146
394
  * Опции для работы с файлами в редакторе разметки
147
395
  */
@@ -169,9 +417,9 @@ interface FilePostingStarted {
169
417
  filesCount: number;
170
418
  }
171
419
  declare class UploadFilesBtnComponent {
172
- private _publicFileUploadService;
173
- private _privateFileUploadService;
174
- private _htmlSettingsService;
420
+ private readonly _publicFileUploadService;
421
+ private readonly _privateFileUploadService;
422
+ private readonly _htmlSettingsService;
175
423
  private fileInput;
176
424
  extAccepts: string;
177
425
  isMultiple: boolean;
@@ -181,7 +429,7 @@ declare class UploadFilesBtnComponent {
181
429
  onPublicFilesUploaded: EventEmitter<PublicFilesUploadResponse>;
182
430
  onPrivateFilesUploaded: EventEmitter<PrivateFilesCreatedResult>;
183
431
  constructor(_publicFileUploadService: PublicFileUploadService, _privateFileUploadService: PrivateFileUploadService, _htmlSettingsService: CrocoHtmlFileOptionsService);
184
- handleFileInput(files: FileList): void;
432
+ handleFileInput(e: Event): void;
185
433
  clickFileInput(): void;
186
434
  static ɵfac: i0.ɵɵFactoryDeclaration<UploadFilesBtnComponent, never>;
187
435
  static ɵcmp: i0.ɵɵComponentDeclaration<UploadFilesBtnComponent, "croco-app-upload-files-btn", never, { "extAccepts": { "alias": "extAccepts"; "required": false; }; "isMultiple": { "alias": "isMultiple"; "required": false; }; "btnText": { "alias": "btnText"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; }, { "postFilesStarted": "postFilesStarted"; "onPublicFilesUploaded": "onPublicFilesUploaded"; "onPrivateFilesUploaded": "onPrivateFilesUploaded"; }, never, never, true, never>;
@@ -202,11 +450,159 @@ declare class AddFilesBtnComponent {
202
450
  static ɵcmp: i0.ɵɵComponentDeclaration<AddFilesBtnComponent, "croco-html-add-files-btn", never, {}, { "postFilesStarted": "postFilesStarted"; "filesTagsReady": "filesTagsReady"; }, never, never, true, never>;
203
451
  }
204
452
 
205
- interface InterfaceBlock {
206
- type: string;
207
- data: any;
208
- validationResult?: BaseApiResponse | undefined;
209
- bootstrapHtml?: string | undefined;
453
+ interface GetListResult<T> {
454
+ totalCount: number;
455
+ list: Array<T>;
456
+ }
457
+ interface FileRelationModel {
458
+ entityTypeFullName: string;
459
+ entityKey: string;
460
+ relationName: string;
461
+ relationValue: string;
462
+ relationCustomData: string;
463
+ }
464
+ interface SearchFilesRequest {
465
+ q: string;
466
+ fileName: string;
467
+ applicationId: string;
468
+ fileTypes: Array<FileType>;
469
+ count: number | null;
470
+ offSet: number;
471
+ }
472
+ declare enum FileType {
473
+ Undefined = "Undefined",
474
+ Unknown = "Unknown",
475
+ Image = "Image",
476
+ Audio = "Audio",
477
+ Video = "Video",
478
+ Document = "Document",
479
+ Archive = "Archive"
480
+ }
481
+ interface GetListSearchModel {
482
+ count: number | null;
483
+ offSet: number;
484
+ }
485
+ interface FileSimpleModel {
486
+ fileId: number;
487
+ fileName: string;
488
+ type: FileType;
489
+ downloadUrl: string;
490
+ }
491
+ interface FileInfoModel {
492
+ type: FileType;
493
+ name: string;
494
+ downloadUrl: string;
495
+ }
496
+ interface CommonFileInfoResultModel {
497
+ id: string;
498
+ isPrivateId: boolean;
499
+ fileInfo: FileInfoModel;
500
+ }
501
+
502
+ declare class PublicFilesQueryService {
503
+ private readonly _httpClient;
504
+ private readonly _baseControllerUrl;
505
+ constructor(_httpClient: HttpClient, baseUrl: string);
506
+ search(model: SearchFilesRequest): Observable<GetListResult<FileSimpleModel>>;
507
+ static ɵfac: i0.ɵɵFactoryDeclaration<PublicFilesQueryService, never>;
508
+ static ɵprov: i0.ɵɵInjectableDeclaration<PublicFilesQueryService>;
509
+ }
510
+
511
+ interface PrivateFileNameModel {
512
+ id: string;
513
+ setId: string;
514
+ fileName: string;
515
+ type: FileType;
516
+ downloadUrl: string;
517
+ createdOn: string;
518
+ applicationId: string;
519
+ }
520
+ declare class PrivateFilesQueryService {
521
+ private readonly _httpClient;
522
+ private readonly _baseControllerUrl;
523
+ constructor(_httpClient: HttpClient, baseUrl: string);
524
+ search(model: SearchFilesRequest): Observable<GetListResult<PrivateFileNameModel>>;
525
+ static ɵfac: i0.ɵɵFactoryDeclaration<PrivateFilesQueryService, never>;
526
+ static ɵprov: i0.ɵɵInjectableDeclaration<PrivateFilesQueryService>;
527
+ }
528
+
529
+ declare class CommonFileInfoQueryService {
530
+ private readonly _httpClient;
531
+ private readonly _baseControllerUrl;
532
+ constructor(_httpClient: HttpClient, baseUrl: string);
533
+ /**
534
+ * Получить информацию о файле на сервере по идентификатору.
535
+ * @param model
536
+ * @returns
537
+ */
538
+ getInfo(id: string): rxjs.Observable<CommonFileInfoResultModel>;
539
+ static ɵfac: i0.ɵɵFactoryDeclaration<CommonFileInfoQueryService, never>;
540
+ static ɵprov: i0.ɵɵInjectableDeclaration<CommonFileInfoQueryService>;
541
+ }
542
+
543
+ declare class AudioEditorComponent implements OnInit, OnDestroy {
544
+ private readonly _publicFileService;
545
+ private readonly _privateFileService;
546
+ private readonly _htmlSettingsService;
547
+ private readonly _commonFileInfoService;
548
+ hasAudioError: boolean;
549
+ errorMessage: string;
550
+ isPlaying: boolean;
551
+ isLoading: boolean;
552
+ currentTime: number;
553
+ duration: number;
554
+ volume: number;
555
+ isMuted: boolean;
556
+ audioSrc: string;
557
+ searchOrEdit: string;
558
+ files: Array<{
559
+ fileId: string;
560
+ fileName: string;
561
+ }>;
562
+ loading: boolean;
563
+ q: string;
564
+ private unsubscribe;
565
+ audioPlayer: ElementRef<HTMLAudioElement>;
566
+ tag: HtmlBodyTag;
567
+ presentOrEdit: boolean;
568
+ constructor(_publicFileService: PublicFilesQueryService, _privateFileService: PrivateFilesQueryService, _htmlSettingsService: CrocoHtmlFileOptionsService, _commonFileInfoService: CommonFileInfoQueryService);
569
+ get fileId(): string;
570
+ set fileId(value: string);
571
+ get title(): string;
572
+ set title(value: string);
573
+ hasFileId(): boolean;
574
+ private get audioElement();
575
+ onErrorHandler(): void;
576
+ removeAudioError(): void;
577
+ setError(message: string): void;
578
+ onFileIdChanged(fileId: string): void;
579
+ checkAndLoadAudioFile(): void;
580
+ loadAudioFile(): void;
581
+ onLoadedMetadata(): void;
582
+ onTimeUpdate(): void;
583
+ onEnded(): void;
584
+ onCanPlay(): void;
585
+ togglePlayPause(): void;
586
+ restart(): void;
587
+ rewind(): void;
588
+ forward(): void;
589
+ onVolumeChange(event: Event): void;
590
+ toggleMute(): void;
591
+ onSeekChange(event: Event): void;
592
+ formatTime(seconds: number): string;
593
+ getProgress(): number;
594
+ loadFiles(): void;
595
+ onSearchChanged(q: {
596
+ term: string;
597
+ items: object[];
598
+ }): void;
599
+ onFileSelected(fileId: string): void;
600
+ onFilesUploaded(fileIds: string[] | number[]): void;
601
+ removeAudio(): void;
602
+ ngOnInit(): void;
603
+ ngOnDestroy(): void;
604
+ static ɵfac: i0.ɵɵFactoryDeclaration<AudioEditorComponent, never>;
605
+ static ɵcmp: i0.ɵɵComponentDeclaration<AudioEditorComponent, "croco-html-audio-editor", never, { "tag": { "alias": "tag"; "required": true; }; "presentOrEdit": { "alias": "presentOrEdit"; "required": true; }; }, {}, never, never, true, never>;
210
606
  }
211
607
 
212
608
  interface TableHeaderData {
@@ -227,6 +623,9 @@ interface TableRowData {
227
623
  interface TableData {
228
624
  header: TableHeaderData;
229
625
  rows: TableRowData[];
626
+ bootstrapHtml: string;
627
+ html: string;
628
+ angularMaterialTableDataCheck?: BaseApiResponse;
230
629
  }
231
630
  interface TableTagData {
232
631
  type: "table";
@@ -242,26 +641,7 @@ interface AngularMaterialTableData {
242
641
  data: object[];
243
642
  }
244
643
  declare class TableMethods {
245
- static getTableFromHtmlTag(tableTag: HTMLTableElement, options: CrocoHtmlOptions): {
246
- type: string;
247
- data: TableData;
248
- validationResult: BaseApiResponse;
249
- bootstrapHtml: string;
250
- } | {
251
- angularMaterialTableDataCheck: BaseApiResponse;
252
- type: string;
253
- data: TableData;
254
- validationResult: BaseApiResponse;
255
- bootstrapHtml: string;
256
- } | {
257
- angularMaterialTableDataCheck: BaseApiResponse;
258
- html: string;
259
- angularMaterialTableData: AngularMaterialTableData;
260
- type: string;
261
- data: TableData;
262
- validationResult: BaseApiResponse;
263
- bootstrapHtml: string;
264
- };
644
+ static getTableFromHtmlTag(tableTag: HTMLTableElement, options: CrocoHtmlOptions): InterfaceBlock;
265
645
  static checkTable(tableData: TableData): BaseApiResponse;
266
646
  static getHeader(tableTag: HTMLTableElement): TableHeaderData;
267
647
  static getTableRows(tableTag: HTMLTableElement, options: CrocoHtmlOptions): Array<TableRowData>;
@@ -269,69 +649,61 @@ declare class TableMethods {
269
649
 
270
650
  declare class AngularMaterialTableMethods {
271
651
  static getAngularMaterialTableData(columns: string[], rows: TableRowData[]): AngularMaterialTableData;
272
- static checkHeaders(tableData: TableData): BaseApiResponse;
273
- static checkAngularMaterialTableData(tableData: TableData, checkHeaders?: boolean): BaseApiResponse;
652
+ static checkHeaders(header: TableHeaderData): BaseApiResponse;
653
+ static checkAngularMaterialTableData(header: TableHeaderData, rows: TableRowData[], checkHeaders?: boolean): BaseApiResponse;
654
+ }
655
+
656
+ declare class FileAudioTagDataConsts {
657
+ static readonly TagName = "audio-player";
658
+ static readonly FileIdAttrName = "file-id";
659
+ static readonly TitleAttrName = "title";
660
+ }
661
+ declare class AudioMethods {
662
+ static buildUrl(fileId: string, fileName: string): string;
663
+ static isPrivateFileId(fileId: string): boolean;
664
+ static formatTime(seconds: number): string;
665
+ static calculateProgress(currentTime: number, duration: number): number;
274
666
  }
275
667
 
276
668
  declare class BodyTagsExtensions {
277
- static getDescription(tagName: string): string;
278
- static toHtml(bodyTags: HtmlBodyTag[]): string;
279
- static imageTagToHtml(imageTag: HtmlBodyTag): string;
669
+ private static readonly _tagServices;
670
+ static hasTagService(tagName: string, options: CrocoHtmlOptions): boolean;
671
+ static getTagService(tagName: string, options: CrocoHtmlOptions): IMarkUpTagService;
672
+ static convertToHtmlString(bodyTag: HtmlBodyTag, options: CrocoHtmlOptions): string;
673
+ static bodyTagsToHtml(bodyTags: HtmlBodyTag[], options: CrocoHtmlOptions): string;
280
674
  static getBodyTags(html: string, options: CrocoHtmlOptions): HtmlBodyTag[];
281
675
  static sanitizeInnerHtml(html: string): string;
282
- static toBodyTag(data: InterfaceBlock): HtmlBodyTag;
676
+ static toBodyTag(data: InterfaceBlock, options: CrocoHtmlOptions): HtmlBodyTag;
283
677
  }
284
678
 
285
679
  declare class BootstrapTableMethods {
286
- static BuildTable(data: TableData): string;
287
- static BuildHeader(data: TableHeaderData): string;
288
- static BuildBody(rows: TableRowData[]): string;
289
- static BuildInnerTags(tags: InterfaceBlock[]): string;
290
- static BuildInnerTag(data: InterfaceBlock): string;
680
+ static buildTable(header: TableHeaderData, rows: TableRowData[]): string;
681
+ static buildHeader(data: TableHeaderData): string;
682
+ static buildBody(rows: TableRowData[]): string;
683
+ static buildInnerTags(tags: InterfaceBlock[]): string;
684
+ static buildInnerTag(data: InterfaceBlock): string;
291
685
  }
292
686
 
293
687
  declare class FileImageTagDataConsts {
294
- static TagName: string;
295
- static FileIdAttrName: string;
296
- static ScreenMediaRequest: string;
297
- static MaxScreenWidth: string;
298
- static MinScreenWidth: string;
299
- static MaxImageHeight: string;
300
- static MaxImageWidth: string;
301
- static DefaultValueForFileImage: string;
688
+ static readonly TagName = "file-image";
689
+ static readonly FileIdAttrName = "file-id";
690
+ static readonly ScreenMediaRequest = "screen-media-request";
691
+ static readonly MaxScreenWidth = "max-screen-width";
692
+ static readonly MinScreenWidth = "min-screen-width";
693
+ static readonly MaxImageHeight = "max-image-height";
694
+ static readonly MaxImageWidth = "max-image-width";
695
+ static readonly DefaultValueForFileImage = "max-screen-width:1200,min-screen-width:900,max-image-height:300;max-screen-width:900,min-screen-width:600,max-image-height:200";
302
696
  }
303
697
  declare class ImageMethods {
304
698
  static buildUrl(fileId: string, sizeType: string, options: CrocoHtmlOptions): string;
305
699
  static buildSmallUrl(fileId: string, options: CrocoHtmlOptions): string;
306
700
  static buildMediumUrl(fileId: string, options: CrocoHtmlOptions): string;
307
701
  static isPrivateFileId(fileId: string): boolean;
308
- static ExtractImage(elem: HTMLElement, options: CrocoHtmlOptions): FileImageTag;
309
- static mediaRequestStringToArrayParser: (data: string) => IMediaRequest[];
702
+ static mediaRequestStringToArrayParser: (data: string) => IImageMediaRequest[];
310
703
  static createMediaRequestValue(arr: string[], attribute: string): number | null;
311
- static mediaRequestsArrayToString(data: IMediaRequest[]): string;
312
- static mediaRequestToString(data: IMediaRequest): string;
313
- static getImageRestrictionsByScreenSize(screenSize: number, requests: IMediaRequest[]): ImageRestrictions;
314
- }
315
-
316
- declare class CustomWidgetTagDataConsts {
317
- static TagName: string;
318
- static TypeAttrName: string;
319
- static DataIdAttrName: string;
320
- static WidgetIdAttrName: string;
321
- }
322
- interface CustomWidgetTag {
323
- type: string;
324
- data: CustomWidgetTagData;
325
- }
326
- interface CustomWidgetTagData {
327
- type: string;
328
- dataId: string;
329
- widgetId: string;
330
- }
331
- declare class CustomWidgetMethods {
332
- static ExtractCustomWidgetTagData(attributes: any): CustomWidgetTagData;
333
- static ExtractCustomWidgetAttributes(customWidgetTagData: CustomWidgetTagData): any;
334
- static ExtractCustomWidgetTag(elem: HTMLElement): CustomWidgetTag;
704
+ static mediaRequestsArrayToString(data: IImageMediaRequest[]): string;
705
+ static mediaRequestToString(data: IImageMediaRequest): string;
706
+ static getImageRestrictionsByScreenSize(screenSize: number, requests: IImageMediaRequest[]): ImageRestrictions;
335
707
  }
336
708
 
337
709
  declare class TableBuilder {
@@ -340,21 +712,6 @@ declare class TableBuilder {
340
712
  static getTableBodyMarkUp(cols: number, rows: number): string;
341
713
  }
342
714
 
343
- interface TextBlock {
344
- type: "text-block" | "text-sup-block" | "text-sub-block";
345
- data: {
346
- text: string;
347
- };
348
- }
349
- interface LineBreakBlock {
350
- type: "line-break";
351
- }
352
- interface RichTextData {
353
- type: "rich-text";
354
- data: {
355
- children: Array<TextBlock | LineBreakBlock>;
356
- };
357
- }
358
715
  declare class TextTags {
359
716
  static readonly text = "text";
360
717
  static readonly h1 = "h1";
@@ -366,22 +723,17 @@ declare class TextTags {
366
723
  static headerTextTags: string[];
367
724
  static allTextTags: string[];
368
725
  }
369
- declare class TextMethods {
370
- static ExtractRichTextData(elem: HTMLElement): RichTextData;
371
- }
372
726
 
373
- declare class TextTagDataConsts {
374
- static HAlign: string;
375
- }
376
727
  declare const TextTag = "text";
377
- interface SimpleTextTag {
378
- type: "text";
379
- data: SimpleTextTagData;
380
- }
381
728
  interface GenericTextTag {
382
- type: string;
729
+ tagName: string;
383
730
  data: SimpleTextTagData;
384
731
  }
732
+ interface IHorizontalAlignmentExtractionResult {
733
+ succeeded: boolean;
734
+ result: TextAlignment;
735
+ errorMessage: string;
736
+ }
385
737
  interface SimpleTextTagData {
386
738
  textTagName: string;
387
739
  text: string;
@@ -391,22 +743,24 @@ interface SimpleTextTagData {
391
743
  }
392
744
  declare class TextSimpleMethods {
393
745
  static supportedTags: string[];
394
- static ExtractTextTag(elem: HTMLElement): SimpleTextTag;
395
- static ValidateTextHtml(html: string): BaseApiResponse;
396
- static ValidateTag(element: Element): BaseApiResponse;
746
+ static extractTextTag(elem: HTMLElement): GenericTextTag;
747
+ static prepareText(s: string): string;
748
+ static extractHorizontalAlignment(elem: HTMLElement): IHorizontalAlignmentExtractionResult;
749
+ static validateTextHtml(html: string): BaseApiResponse;
750
+ static validateTag(element: Element): BaseApiResponse;
397
751
  }
398
752
 
399
753
  declare class ExternalVideoTagDataConsts {
400
- static TagName: string;
401
- static VideoTypeAttrName: string;
402
- static LinkAttrName: string;
403
- static UseResponsiveWrapperAttrName: string;
404
- static IframeAttrName: string;
754
+ static readonly TagName = "external-video";
755
+ static readonly VideoTypeAttrName = "type";
756
+ static readonly LinkAttrName = "link";
757
+ static readonly UseResponsiveWrapperAttrName = "use-responsive-wrapper";
758
+ static readonly IframeAttrName = "iframe";
405
759
  }
406
760
  declare class ExternalVideoSupportedTypes {
407
- static Youtube: string;
408
- static VkVideo: string;
409
- static Code: string;
761
+ static readonly Youtube = "youtube";
762
+ static readonly VkVideo = "vk-video";
763
+ static readonly Code = "code";
410
764
  }
411
765
  declare const ExternalVideoPlayers: {
412
766
  type: string;
@@ -422,9 +776,6 @@ interface ExternalVideoTagData {
422
776
  innerHtml: string;
423
777
  useResponsiveWrapper: boolean;
424
778
  }
425
- declare class VideoMethods {
426
- static ExtractExternalVideoTag(elem: HTMLElement): ExternalVideoTag;
427
- }
428
779
 
429
780
  declare class XmlExtensions {
430
781
  static formatXml(xml: string, tab?: string): string;
@@ -434,7 +785,7 @@ declare class XmlExtensions {
434
785
 
435
786
  declare class ExternalVideoEditorComponent implements OnInit {
436
787
  tag: HtmlBodyTag;
437
- onTagUpdated: EventEmitter<HtmlBodyTag>;
788
+ presentOrEdit: boolean;
438
789
  protected readonly ExternalVideoSupportedTypes: typeof ExternalVideoSupportedTypes;
439
790
  tagData: ExternalVideoTagData;
440
791
  linkText: string;
@@ -443,19 +794,19 @@ declare class ExternalVideoEditorComponent implements OnInit {
443
794
  onCheck(checked: boolean): void;
444
795
  createLinkByIFrame(): void;
445
796
  static ɵfac: i0.ɵɵFactoryDeclaration<ExternalVideoEditorComponent, never>;
446
- static ɵcmp: i0.ɵɵComponentDeclaration<ExternalVideoEditorComponent, "croco-html-external-video-editor", never, { "tag": { "alias": "tag"; "required": false; }; }, { "onTagUpdated": "onTagUpdated"; }, never, never, true, never>;
797
+ static ɵcmp: i0.ɵɵComponentDeclaration<ExternalVideoEditorComponent, "croco-html-external-video-editor", never, { "tag": { "alias": "tag"; "required": true; }; "presentOrEdit": { "alias": "presentOrEdit"; "required": true; }; }, {}, never, never, true, never>;
447
798
  }
448
799
 
449
800
  declare class HtmlRawEditorComponent implements OnChanges {
450
801
  private readonly _sanitizer;
451
802
  tag: HtmlBodyTag;
452
- onTagUpdated: EventEmitter<HtmlBodyTag>;
803
+ presentOrEdit: boolean;
453
804
  safeHtml: SafeHtml;
454
805
  constructor(_sanitizer: DomSanitizer);
455
806
  ngOnChanges(changes: SimpleChanges): void;
456
807
  onSafeHtmlChange(): void;
457
808
  static ɵfac: i0.ɵɵFactoryDeclaration<HtmlRawEditorComponent, never>;
458
- static ɵcmp: i0.ɵɵComponentDeclaration<HtmlRawEditorComponent, "croco-html-html-raw-editor", never, { "tag": { "alias": "tag"; "required": false; }; }, { "onTagUpdated": "onTagUpdated"; }, never, never, true, never>;
809
+ static ɵcmp: i0.ɵɵComponentDeclaration<HtmlRawEditorComponent, "croco-html-html-raw-editor", never, { "tag": { "alias": "tag"; "required": true; }; "presentOrEdit": { "alias": "presentOrEdit"; "required": true; }; }, {}, never, never, true, never>;
459
810
  }
460
811
 
461
812
  declare class ScreenWidthService {
@@ -472,14 +823,14 @@ declare class ImageEditorComponent implements OnInit, OnDestroy {
472
823
  private readonly screenWidthService;
473
824
  hasImageError: boolean;
474
825
  searchOrEdit: string;
475
- requests: IMediaRequest[];
826
+ requests: IImageMediaRequest[];
476
827
  imageMaxHeight: number;
477
828
  imageMaxWidth: number;
478
829
  isShowMediaRequest: boolean;
479
830
  private unsubscribe;
480
831
  tag: HtmlBodyTag;
832
+ presentOrEdit: boolean;
481
833
  onErrorHandler(): void;
482
- onTagUpdated: EventEmitter<HtmlBodyTag>;
483
834
  get fileId(): string;
484
835
  set fileId(value: string);
485
836
  constructor(_options: CrocoHtmlOptions, screenWidthService: ScreenWidthService);
@@ -493,39 +844,28 @@ declare class ImageEditorComponent implements OnInit, OnDestroy {
493
844
  deleteMediaRequest(index: number): void;
494
845
  ngOnDestroy(): void;
495
846
  static ɵfac: i0.ɵɵFactoryDeclaration<ImageEditorComponent, never>;
496
- static ɵcmp: i0.ɵɵComponentDeclaration<ImageEditorComponent, "croco-html-image-editor", never, { "tag": { "alias": "tag"; "required": false; }; }, { "onTagUpdated": "onTagUpdated"; }, never, never, true, never>;
847
+ static ɵcmp: i0.ɵɵComponentDeclaration<ImageEditorComponent, "croco-html-image-editor", never, { "tag": { "alias": "tag"; "required": true; }; "presentOrEdit": { "alias": "presentOrEdit"; "required": true; }; }, {}, never, never, true, never>;
497
848
  }
498
849
 
499
- declare enum EAlignments {
500
- Left = "left",
501
- Center = "center",
502
- Right = "right"
503
- }
504
-
505
- declare class HtmlRawTagDataConsts {
506
- static TagName: string;
507
- }
850
+ type SpriteIdsType = 'align-center' | 'align-left' | 'align-right' | 'move-icon' | 'source-code-tab' | 'tag-button-audio-player' | 'tag-button-button' | 'tag-button-custom-widget' | 'tag-button-download-file-button' | 'tag-button-external-video' | 'tag-button-file-image' | 'tag-button-html-raw' | 'tag-button-text' | 'viewer-tab' | 'visual-editor-tab';
508
851
 
509
- type SpriteIdsType = 'align-center' | 'align-left' | 'align-right' | 'move-icon' | 'source-code-tab' | 'tag-button-button' | 'tag-button-custom-widget' | 'tag-button-download-file-button' | 'tag-button-external-video' | 'tag-button-file-image' | 'tag-button-html-raw' | 'tag-button-text' | 'viewer-tab' | 'visual-editor-tab';
510
-
511
- declare const defaultLinkYouTube = "https://www.youtube.com/embed/4CtSAnJDfsI?si=scyBNJa0Hs2t5aLE";
512
- declare const defaultLinkVk = "https://vk.com/video_ext.php?oid=-22822305&id=456241864&hd=2";
513
- declare const defaultLinkForDownload = "https://storage.yandexcloud.net/mega-academy/presentation.pdf";
514
852
  declare class VisualEditorComponent implements OnInit, AfterViewInit {
515
853
  private readonly _cdref;
516
854
  private readonly _options;
517
855
  textArea: ElementRef;
856
+ imageUploadBtn: UploadFilesBtnComponent;
518
857
  isLoading: boolean;
519
858
  loadingText: string;
520
859
  text: string;
521
860
  htmlRaw: string;
522
- alignment: EAlignments;
861
+ alignment: TextAlignment;
523
862
  textTag: string;
524
863
  textTagOptions: TagItem[];
525
864
  alignmentOptions: {
526
- value: EAlignments;
865
+ value: TextAlignment;
527
866
  text: string;
528
867
  }[];
868
+ isTagAdditionStarted: boolean;
529
869
  showMarkUp: boolean;
530
870
  tags: TagItem[];
531
871
  videoPlayers: {
@@ -534,9 +874,11 @@ declare class VisualEditorComponent implements OnInit, AfterViewInit {
534
874
  }[];
535
875
  selectedValue: string;
536
876
  selectedVideoPlayer: string;
877
+ imageMode: 'select' | 'upload' | null;
537
878
  protected readonly ExternalVideoTagDataConsts: typeof ExternalVideoTagDataConsts;
538
879
  protected readonly HtmlRawTagDataConsts: typeof HtmlRawTagDataConsts;
539
880
  protected readonly ExternalVideoSupportedTypes: typeof ExternalVideoSupportedTypes;
881
+ protected readonly FileImageTagDataConsts: typeof FileImageTagDataConsts;
540
882
  useHtmlRaw: boolean;
541
883
  html: string;
542
884
  isHtmlSet(): boolean;
@@ -549,23 +891,28 @@ declare class VisualEditorComponent implements OnInit, AfterViewInit {
549
891
  useCustomWidgetsButton: boolean;
550
892
  constructor(_cdref: ChangeDetectorRef, _options: CrocoHtmlOptions);
551
893
  ngAfterViewInit(): void;
552
- ngAfterContentChecked(): void;
553
- addTagClickHandler(): void;
554
- startAddingText(tag?: string): void;
555
894
  resetTextStyle(): void;
556
- addTextTags(): void;
557
- postFilesStartedEventHandler(): void;
895
+ drop(event: CdkDragDrop<HtmlBodyTag[]>): void;
558
896
  addTag(tag: HtmlBodyTag): void;
559
- filesTagsReadyHandler(tags: HtmlBodyTag[]): void;
560
- drop(event: CdkDragDrop<object[]>): void;
561
- onTagSavedHandler(tag: HtmlBodyTag): void;
897
+ onTagChangedHandler(data: HtmlBodyTag, index: number): void;
562
898
  onTagRemovedHandler(index: number): void;
563
899
  recalculateHtml(): void;
564
900
  recalculateBodyTags(): void;
565
901
  selectTag(data: TagItem): void;
902
+ isTagRequiringForm(): boolean;
903
+ addTagWithForm(): void;
904
+ selectExistingImage(): void;
905
+ uploadNewImages(): void;
906
+ onImageFilesUploaded(fileIds: string[] | number[]): void;
907
+ addTextTag(): void;
908
+ addExternalVideoTag(): void;
909
+ addHtmlRawTag(): void;
910
+ resetTagForm(): void;
911
+ addRegularTag(): void;
912
+ isDefinedCustomWidget(tagName: string): boolean;
566
913
  customWidgetsClickHandler(): void;
567
914
  ngOnInit(): void;
568
- setTagButton(type: string): SpriteIdsType;
915
+ setTagButton(tagName: string): SpriteIdsType;
569
916
  setAlignButton(type: string): SpriteIdsType;
570
917
  static ɵfac: i0.ɵɵFactoryDeclaration<VisualEditorComponent, never>;
571
918
  static ɵcmp: i0.ɵɵComponentDeclaration<VisualEditorComponent, "croco-visual-editor", never, { "showMarkUp": { "alias": "showMarkUp"; "required": false; }; "useHtmlRaw": { "alias": "useHtmlRaw"; "required": false; }; "html": { "alias": "html"; "required": false; }; }, { "html": "html"; "onHtmlChanged": "onHtmlChanged"; "rendered": "rendered"; }, never, never, true, never>;
@@ -585,6 +932,7 @@ declare class MainEditorComponent implements OnInit, AfterContentChecked, AfterV
585
932
  onHtmlChanged: EventEmitter<string>;
586
933
  showSettingsButton: boolean;
587
934
  constructor(_clipboardService: ClipboardService, _snackBar: MatSnackBar, _cdref: ChangeDetectorRef, _dialog: MatDialog, _htmlSettingsService: CrocoHtmlFileOptionsService, options: CrocoHtmlOptions);
935
+ ngOnChanges(changes: SimpleChanges): void;
588
936
  ngAfterViewInit(): void;
589
937
  ngAfterContentChecked(): void;
590
938
  visualEditorRenderedHandler(): void;
@@ -598,102 +946,81 @@ declare class MainEditorComponent implements OnInit, AfterContentChecked, AfterV
598
946
  static ɵcmp: i0.ɵɵComponentDeclaration<MainEditorComponent, "croco-html-main-editor", never, { "showMarkUp": { "alias": "showMarkUp"; "required": false; }; "useHtmlRaw": { "alias": "useHtmlRaw"; "required": false; }; "html": { "alias": "html"; "required": false; }; }, { "html": "html"; "onHtmlChanged": "onHtmlChanged"; }, never, never, true, never>;
599
947
  }
600
948
 
601
- declare class MainEditorBlockComponent {
949
+ declare class MainEditorBlockComponent implements OnDestroy {
950
+ private readonly _options;
602
951
  textTags: string[];
603
- tag: HtmlBodyTag;
952
+ private unsubscribe;
953
+ set tag(data: HtmlBodyTag);
954
+ _tag: HtmlBodyTag;
955
+ _tagService: TagEditorService;
956
+ presentOrEdit: boolean;
604
957
  onTagSaved: EventEmitter<HtmlBodyTag>;
605
958
  onTagRemoved: EventEmitter<HtmlBodyTag>;
606
- tagUpdatedHandler(tag: HtmlBodyTag): void;
959
+ constructor(_options: CrocoHtmlOptions);
607
960
  save(): void;
961
+ cancelSave(): void;
962
+ isDefinedCustomTag(): boolean;
608
963
  deleteItem(): void;
964
+ ngOnDestroy(): void;
609
965
  static ɵfac: i0.ɵɵFactoryDeclaration<MainEditorBlockComponent, never>;
610
- static ɵcmp: i0.ɵɵComponentDeclaration<MainEditorBlockComponent, "croco-html-main-editor-block", never, { "tag": { "alias": "tag"; "required": false; }; }, { "onTagSaved": "onTagSaved"; "onTagRemoved": "onTagRemoved"; }, never, never, true, never>;
966
+ static ɵcmp: i0.ɵɵComponentDeclaration<MainEditorBlockComponent, "croco-html-main-editor-block", never, { "tag": { "alias": "tag"; "required": true; }; }, { "onTagSaved": "onTagSaved"; "onTagRemoved": "onTagRemoved"; }, never, never, true, never>;
611
967
  }
612
968
 
613
- declare class TextEditorComponent implements OnInit {
614
- tag: HtmlBodyTag;
615
- onTagUpdated: EventEmitter<HtmlBodyTag>;
616
- constructor();
969
+ declare class DefinedCustomEditorBlockComponent implements OnInit, OnDestroy {
970
+ private readonly _options;
971
+ private unsubscribe;
972
+ viewContainerRef: ViewContainerRef;
973
+ useDynamicComponent: boolean;
974
+ dynamicContainerRef: ComponentRef<any>;
975
+ _tagService: TagEditorService;
976
+ _tag: HtmlBodyTag;
977
+ set tagService(data: TagEditorService);
978
+ constructor(_options: CrocoHtmlOptions);
979
+ getCustomComponent(): i0.Type<any>;
617
980
  ngOnInit(): void;
981
+ ngOnDestroy(): void;
982
+ static ɵfac: i0.ɵɵFactoryDeclaration<DefinedCustomEditorBlockComponent, never>;
983
+ static ɵcmp: i0.ɵɵComponentDeclaration<DefinedCustomEditorBlockComponent, "croco-html-defined-custom-editor-block", never, { "tagService": { "alias": "tagService"; "required": true; }; }, {}, never, never, true, never>;
984
+ }
985
+
986
+ declare class TextEditorComponent implements OnDestroy {
987
+ private unsubscribe;
988
+ _tag: HtmlBodyTag;
989
+ _tagService: TagEditorService;
990
+ set tagService(data: TagEditorService);
991
+ presentOrEdit: boolean;
992
+ TextAlignment: typeof TextAlignment;
993
+ _horizontalAlignment: TextAlignment;
994
+ changeData(): void;
618
995
  getInnerHtml(): string;
996
+ ngOnDestroy(): void;
619
997
  static ɵfac: i0.ɵɵFactoryDeclaration<TextEditorComponent, never>;
620
- static ɵcmp: i0.ɵɵComponentDeclaration<TextEditorComponent, "croco-html-text-editor", never, { "tag": { "alias": "tag"; "required": false; }; }, { "onTagUpdated": "onTagUpdated"; }, never, never, true, never>;
998
+ static ɵcmp: i0.ɵɵComponentDeclaration<TextEditorComponent, "croco-html-text-editor", never, { "tagService": { "alias": "tagService"; "required": true; }; }, {}, never, never, true, never>;
621
999
  }
622
1000
 
623
1001
  declare class CustomWidgetEditorComponent implements OnInit {
624
1002
  tag: HtmlBodyTag;
625
- onTagUpdated: EventEmitter<HtmlBodyTag>;
1003
+ presentOrEdit: boolean;
626
1004
  tagData: CustomWidgetTagData;
627
1005
  ngOnInit(): void;
628
1006
  dataChanged(): void;
629
1007
  static ɵfac: i0.ɵɵFactoryDeclaration<CustomWidgetEditorComponent, never>;
630
- static ɵcmp: i0.ɵɵComponentDeclaration<CustomWidgetEditorComponent, "croco-html-custom-widget-editor", never, { "tag": { "alias": "tag"; "required": false; }; }, { "onTagUpdated": "onTagUpdated"; }, never, never, true, never>;
631
- }
632
-
633
- interface GetListResult<T> {
634
- totalCount: number;
635
- list: Array<T>;
636
- }
637
- interface FileRelationModel {
638
- entityTypeFullName: string;
639
- entityKey: string;
640
- relationName: string;
641
- relationValue: string;
642
- relationCustomData: string;
643
- }
644
- interface SearchFilesRequest {
645
- q: string;
646
- fileName: string;
647
- applicationId: string;
648
- fileTypes: Array<FileType>;
649
- count: number | null;
650
- offSet: number;
651
- }
652
- declare enum FileType {
653
- Undefined = "Undefined",
654
- Unknown = "Unknown",
655
- Image = "Image",
656
- Audio = "Audio",
657
- Video = "Video",
658
- Document = "Document",
659
- Archive = "Archive"
660
- }
661
- interface GetListSearchModel {
662
- count: number | null;
663
- offSet: number;
664
- }
665
- interface FileSimpleModel {
666
- fileId: number;
667
- fileName: string;
668
- type: FileType;
669
- downloadUrl: string;
670
- }
671
-
672
- declare class PublicFilesQueryService {
673
- private readonly _httpClient;
674
- private readonly _baseControllerUrl;
675
- constructor(_httpClient: HttpClient, baseUrl: string);
676
- search(model: SearchFilesRequest): Observable<GetListResult<FileSimpleModel>>;
677
- static ɵfac: i0.ɵɵFactoryDeclaration<PublicFilesQueryService, never>;
678
- static ɵprov: i0.ɵɵInjectableDeclaration<PublicFilesQueryService>;
1008
+ static ɵcmp: i0.ɵɵComponentDeclaration<CustomWidgetEditorComponent, "croco-html-custom-widget-editor", never, { "tag": { "alias": "tag"; "required": true; }; "presentOrEdit": { "alias": "presentOrEdit"; "required": true; }; }, {}, never, never, true, never>;
679
1009
  }
680
1010
 
681
- interface PrivateFileNameModel {
682
- id: string;
683
- setId: string;
684
- fileName: string;
685
- type: FileType;
686
- downloadUrl: string;
687
- createdOn: string;
688
- applicationId: string;
689
- }
690
- declare class PrivateFilesQueryService {
691
- private readonly _httpClient;
692
- private readonly _baseControllerUrl;
693
- constructor(_httpClient: HttpClient, baseUrl: string);
694
- search(model: SearchFilesRequest): Observable<GetListResult<PrivateFileNameModel>>;
695
- static ɵfac: i0.ɵɵFactoryDeclaration<PrivateFilesQueryService, never>;
696
- static ɵprov: i0.ɵɵInjectableDeclaration<PrivateFilesQueryService>;
1011
+ declare class CustomWidgetIconComponent implements OnInit {
1012
+ private readonly _options;
1013
+ viewContainerRef: ViewContainerRef;
1014
+ useDynamicComponent: boolean;
1015
+ dynamicContainerRef: ComponentRef<any>;
1016
+ set tagName(tagName: string);
1017
+ constructor(_options: CrocoHtmlOptions);
1018
+ getIconComponent(): i0.Type<any>;
1019
+ _tagName: string;
1020
+ _shortTagName: string;
1021
+ ngOnInit(): void;
1022
+ static ɵfac: i0.ɵɵFactoryDeclaration<CustomWidgetIconComponent, never>;
1023
+ static ɵcmp: i0.ɵɵComponentDeclaration<CustomWidgetIconComponent, "croco-html-custom-widget-icon", never, { "tagName": { "alias": "tagName"; "required": true; }; }, {}, never, never, true, never>;
697
1024
  }
698
1025
 
699
1026
  interface SearchQuestionsFormData {
@@ -729,6 +1056,50 @@ declare class FileIdSelectComponent implements OnInit, OnChanges {
729
1056
  static ɵcmp: i0.ɵɵComponentDeclaration<FileIdSelectComponent, "croco-html-file-id-select", never, { "labelText": { "alias": "labelText"; "required": false; }; "fileId": { "alias": "fileId"; "required": false; }; }, { "fileId": "fileId"; "onFileIdChanged": "onFileIdChanged"; }, never, never, true, never>;
730
1057
  }
731
1058
 
1059
+ declare class AudioPlayerTagViewComponent implements OnInit, OnDestroy, OnChanges {
1060
+ private readonly _options;
1061
+ private readonly _commonFileInfoService;
1062
+ hasAudioError: boolean;
1063
+ errorMessage: string;
1064
+ isPlaying: boolean;
1065
+ isLoading: boolean;
1066
+ currentTime: number;
1067
+ duration: number;
1068
+ volume: number;
1069
+ isMuted: boolean;
1070
+ audioSrc: string;
1071
+ private unsubscribe;
1072
+ audioPlayer: ElementRef<HTMLAudioElement>;
1073
+ data: InterfaceBlock;
1074
+ constructor(_options: CrocoHtmlOptions, _commonFileInfoService: CommonFileInfoQueryService);
1075
+ get fileId(): string;
1076
+ get title(): string;
1077
+ private get audioElement();
1078
+ hasFileId(): boolean;
1079
+ onErrorHandler(): void;
1080
+ setError(message: string): void;
1081
+ onLoadedMetadata(): void;
1082
+ onTimeUpdate(): void;
1083
+ onEnded(): void;
1084
+ onCanPlay(): void;
1085
+ togglePlayPause(): void;
1086
+ restart(): void;
1087
+ rewind(): void;
1088
+ forward(): void;
1089
+ onVolumeChange(event: Event): void;
1090
+ toggleMute(): void;
1091
+ onSeekChange(event: Event): void;
1092
+ formatTime(seconds: number): string;
1093
+ getProgress(): number;
1094
+ ngOnInit(): void;
1095
+ checkAndLoadAudioFile(): void;
1096
+ loadAudioFile(): void;
1097
+ ngOnDestroy(): void;
1098
+ ngOnChanges(changes: SimpleChanges): void;
1099
+ static ɵfac: i0.ɵɵFactoryDeclaration<AudioPlayerTagViewComponent, never>;
1100
+ static ɵcmp: i0.ɵɵComponentDeclaration<AudioPlayerTagViewComponent, "croco-html-audio-player-tag-view", never, { "data": { "alias": "data"; "required": true; }; }, {}, never, never, true, never>;
1101
+ }
1102
+
732
1103
  declare class XmlTagExternalVideoComponent {
733
1104
  set data(value: InterfaceBlock);
734
1105
  set tagData(value: ExternalVideoTagData);
@@ -738,65 +1109,78 @@ declare class XmlTagExternalVideoComponent {
738
1109
  static ɵcmp: i0.ɵɵComponentDeclaration<XmlTagExternalVideoComponent, "croco-html-xml-tag-external-video", never, { "data": { "alias": "data"; "required": false; }; "tagData": { "alias": "tagData"; "required": false; }; }, {}, never, never, true, never>;
739
1110
  }
740
1111
 
741
- declare class XmlTagHeaderInnerTextViewComponent implements OnInit {
1112
+ declare class XmlTagHeaderInnerTextViewComponent {
742
1113
  item: GenericTextTag;
743
- constructor();
744
- ngOnInit(): void;
745
1114
  static ɵfac: i0.ɵɵFactoryDeclaration<XmlTagHeaderInnerTextViewComponent, never>;
746
- static ɵcmp: i0.ɵɵComponentDeclaration<XmlTagHeaderInnerTextViewComponent, "croco-html-xml-tag-header-inner-text-view", never, { "item": { "alias": "item"; "required": false; }; }, {}, never, never, true, never>;
1115
+ static ɵcmp: i0.ɵɵComponentDeclaration<XmlTagHeaderInnerTextViewComponent, "croco-html-xml-tag-header-inner-text-view", never, { "item": { "alias": "item"; "required": true; }; }, {}, never, never, true, never>;
747
1116
  }
748
1117
 
749
- declare class XmlTagHeaderTextViewComponent implements OnInit {
1118
+ declare class XmlTagHeaderTextViewComponent {
750
1119
  item: GenericTextTag;
751
- constructor();
752
- ngOnInit(): void;
753
1120
  static ɵfac: i0.ɵɵFactoryDeclaration<XmlTagHeaderTextViewComponent, never>;
754
- static ɵcmp: i0.ɵɵComponentDeclaration<XmlTagHeaderTextViewComponent, "croco-html-xml-tag-header-text-view", never, { "item": { "alias": "item"; "required": false; }; }, {}, never, never, true, never>;
1121
+ static ɵcmp: i0.ɵɵComponentDeclaration<XmlTagHeaderTextViewComponent, "croco-html-xml-tag-header-text-view", never, { "item": { "alias": "item"; "required": true; }; }, {}, never, never, true, never>;
755
1122
  }
756
1123
 
757
1124
  declare class XmlTagHtmlViewComponent {
758
- constructor();
759
1125
  html: string;
760
1126
  static ɵfac: i0.ɵɵFactoryDeclaration<XmlTagHtmlViewComponent, never>;
761
1127
  static ɵcmp: i0.ɵɵComponentDeclaration<XmlTagHtmlViewComponent, "croco-html-xml-tag-html-view", never, { "html": { "alias": "html"; "required": false; }; }, {}, never, never, true, never>;
762
1128
  }
763
1129
 
764
- declare class XmlTagRichTextViewComponent implements OnInit {
765
- richTextData: RichTextData;
766
- constructor();
767
- ngOnInit(): void;
768
- static ɵfac: i0.ɵɵFactoryDeclaration<XmlTagRichTextViewComponent, never>;
769
- static ɵcmp: i0.ɵɵComponentDeclaration<XmlTagRichTextViewComponent, "croco-html-xml-tag-rich-text-view", never, { "richTextData": { "alias": "richTextData"; "required": false; }; }, {}, never, never, true, never>;
1130
+ declare class XmlTagTextViewComponent {
1131
+ item: GenericTextTag;
1132
+ static ɵfac: i0.ɵɵFactoryDeclaration<XmlTagTextViewComponent, never>;
1133
+ static ɵcmp: i0.ɵɵComponentDeclaration<XmlTagTextViewComponent, "croco-html-xml-tag-text-view", never, { "item": { "alias": "item"; "required": true; }; }, {}, never, never, true, never>;
770
1134
  }
771
1135
 
772
- declare class XmlTagTableViewComponent {
773
- displayedColumns: string[];
774
- data: object;
775
- static ɵfac: i0.ɵɵFactoryDeclaration<XmlTagTableViewComponent, never>;
776
- static ɵcmp: i0.ɵɵComponentDeclaration<XmlTagTableViewComponent, "croco-html-xml-tag-table-view", never, { "displayedColumns": { "alias": "displayedColumns"; "required": false; }; "data": { "alias": "data"; "required": false; }; }, {}, never, never, true, never>;
1136
+ /**
1137
+ * Сервис для обработки логики разметки
1138
+ */
1139
+ declare class HtmlViewController {
1140
+ onScriptCalled(script: string): void;
1141
+ scriptCalled: Subject<string>;
1142
+ static ɵfac: i0.ɵɵFactoryDeclaration<HtmlViewController, never>;
1143
+ static ɵprov: i0.ɵɵInjectableDeclaration<HtmlViewController>;
777
1144
  }
778
1145
 
779
- declare class XmlTagTextViewComponent implements OnInit {
780
- item: SimpleTextTag;
781
- constructor();
782
- ngOnInit(): void;
783
- static ɵfac: i0.ɵɵFactoryDeclaration<XmlTagTextViewComponent, never>;
784
- static ɵcmp: i0.ɵɵComponentDeclaration<XmlTagTextViewComponent, "croco-html-xml-tag-text-view", never, { "item": { "alias": "item"; "required": false; }; }, {}, never, never, true, never>;
1146
+ /**
1147
+ * Сервис для прокидывания предрасчитанных данных для виджетов Html разметки.
1148
+ * Используется для оптимизации Http запросов за данными.
1149
+ */
1150
+ declare class HtmlPageDataController {
1151
+ data: object | null;
1152
+ /**
1153
+ * Получить данные.
1154
+ * @returns
1155
+ */
1156
+ get<T>(): T | null;
1157
+ /**
1158
+ * Установить данные.
1159
+ * @param data
1160
+ */
1161
+ set(data: object): void;
785
1162
  }
786
1163
 
787
1164
  declare class XmlTagViewComponent {
1165
+ private readonly _options;
788
1166
  data: InterfaceBlock[];
1167
+ dataController: HtmlPageDataController;
1168
+ isEditor: boolean;
1169
+ constructor(_options: CrocoHtmlOptions);
789
1170
  isHeaderTextTag(item: InterfaceBlock): boolean;
1171
+ isDefinedCustomTag(item: InterfaceBlock): boolean;
790
1172
  static ɵfac: i0.ɵɵFactoryDeclaration<XmlTagViewComponent, never>;
791
- static ɵcmp: i0.ɵɵComponentDeclaration<XmlTagViewComponent, "croco-html-xml-tag-view", never, { "data": { "alias": "data"; "required": false; }; }, {}, never, never, true, never>;
1173
+ static ɵcmp: i0.ɵɵComponentDeclaration<XmlTagViewComponent, "croco-html-xml-tag-view", never, { "data": { "alias": "data"; "required": true; }; "dataController": { "alias": "dataController"; "required": true; }; "isEditor": { "alias": "isEditor"; "required": true; }; }, {}, never, never, true, never>;
792
1174
  }
793
1175
 
794
1176
  declare class HtmlRawViewComponent implements OnChanges {
795
1177
  private readonly _sanitizer;
1178
+ private readonly router;
796
1179
  rawHtml: string;
797
1180
  safeHtml: SafeHtml;
798
- constructor(_sanitizer: DomSanitizer);
1181
+ constructor(_sanitizer: DomSanitizer, router: Router);
799
1182
  ngOnChanges(changes: SimpleChanges): void;
1183
+ handleLink(event: MouseEvent): void;
800
1184
  static ɵfac: i0.ɵɵFactoryDeclaration<HtmlRawViewComponent, never>;
801
1185
  static ɵcmp: i0.ɵɵComponentDeclaration<HtmlRawViewComponent, "croco-html-raw-view", never, { "rawHtml": { "alias": "rawHtml"; "required": false; }; }, {}, never, never, true, never>;
802
1186
  }
@@ -805,28 +1189,31 @@ declare class FileImageTagViewComponent implements OnInit, OnDestroy {
805
1189
  private readonly screenWidthService;
806
1190
  private readonly _options;
807
1191
  set item(item: InterfaceBlock);
1192
+ isEditor: boolean;
808
1193
  imageSrc: string;
809
- requests: IMediaRequest[];
1194
+ imageData: FileImageTagData | null;
1195
+ requests: IImageMediaRequest[];
810
1196
  private unsubscribe;
811
1197
  imageMaxHeight: number;
812
1198
  imageMaxWidth: number;
813
1199
  constructor(screenWidthService: ScreenWidthService, _options: CrocoHtmlOptions);
814
- getMediaRequests(screenMediaRequest: string): IMediaRequest[];
1200
+ getMediaRequests(screenMediaRequest: string): IImageMediaRequest[];
815
1201
  ngOnInit(): void;
816
1202
  ngOnDestroy(): void;
1203
+ onImageClick(): void;
817
1204
  static ɵfac: i0.ɵɵFactoryDeclaration<FileImageTagViewComponent, never>;
818
- static ɵcmp: i0.ɵɵComponentDeclaration<FileImageTagViewComponent, "croco-html-file-image-tag-view", never, { "item": { "alias": "item"; "required": false; }; }, {}, never, never, true, never>;
1205
+ static ɵcmp: i0.ɵɵComponentDeclaration<FileImageTagViewComponent, "croco-html-file-image-tag-view", never, { "item": { "alias": "item"; "required": false; }; "isEditor": { "alias": "isEditor"; "required": true; }; }, {}, never, never, true, never>;
819
1206
  }
820
1207
 
821
1208
  declare class XmlTagCustomWidgetComponent implements OnInit, OnDestroy {
822
1209
  private readonly _options;
823
1210
  viewContainerRef: ViewContainerRef;
1211
+ useDynamicComponent: boolean;
1212
+ dynamicContainerRef: ComponentRef<any>;
824
1213
  set tagData(value: CustomWidgetTagData);
825
1214
  get tagData(): CustomWidgetTagData;
826
1215
  _tagData: CustomWidgetTagData;
827
1216
  tooltipData: string;
828
- useDynamicComponent: boolean;
829
- dynamicContainerRef: ComponentRef<any>;
830
1217
  constructor(_options: CrocoHtmlOptions);
831
1218
  ngOnInit(): void;
832
1219
  ngOnDestroy(): void;
@@ -834,16 +1221,28 @@ declare class XmlTagCustomWidgetComponent implements OnInit, OnDestroy {
834
1221
  static ɵcmp: i0.ɵɵComponentDeclaration<XmlTagCustomWidgetComponent, "croco-html-xml-tag-custom-widget", never, { "tagData": { "alias": "tagData"; "required": false; }; }, {}, never, never, true, never>;
835
1222
  }
836
1223
 
1224
+ declare class DefinedCustomTagViewComponent implements OnInit, OnDestroy {
1225
+ private readonly _options;
1226
+ viewContainerRef: ViewContainerRef;
1227
+ useDynamicComponent: boolean;
1228
+ dynamicContainerRef: ComponentRef<any>;
1229
+ set data(value: InterfaceBlock);
1230
+ dataController: HtmlPageDataController;
1231
+ _data: InterfaceBlock;
1232
+ constructor(_options: CrocoHtmlOptions);
1233
+ getCustomComponent(): i0.Type<any>;
1234
+ ngOnInit(): void;
1235
+ ngOnDestroy(): void;
1236
+ static ɵfac: i0.ɵɵFactoryDeclaration<DefinedCustomTagViewComponent, never>;
1237
+ static ɵcmp: i0.ɵɵComponentDeclaration<DefinedCustomTagViewComponent, "croco-html-defined-custom-tag-view", never, { "data": { "alias": "data"; "required": true; }; "dataController": { "alias": "dataController"; "required": true; }; }, {}, never, never, true, never>;
1238
+ }
1239
+
837
1240
  declare class HtmlViewComponent {
838
1241
  html: string;
1242
+ isEditor: boolean;
1243
+ dataController: HtmlPageDataController;
839
1244
  static ɵfac: i0.ɵɵFactoryDeclaration<HtmlViewComponent, never>;
840
- static ɵcmp: i0.ɵɵComponentDeclaration<HtmlViewComponent, "croco-html-view", never, { "html": { "alias": "html"; "required": false; }; }, {}, never, never, true, never>;
841
- }
842
-
843
- declare class RichTextToHtmlPipe implements PipeTransform {
844
- transform(value: RichTextData): string;
845
- static ɵfac: i0.ɵɵFactoryDeclaration<RichTextToHtmlPipe, never>;
846
- static ɵpipe: i0.ɵɵPipeDeclaration<RichTextToHtmlPipe, "richTextToHtml", true>;
1245
+ static ɵcmp: i0.ɵɵComponentDeclaration<HtmlViewComponent, "croco-html-view", never, { "html": { "alias": "html"; "required": true; }; "isEditor": { "alias": "isEditor"; "required": false; }; "dataController": { "alias": "dataController"; "required": false; }; }, {}, never, never, true, never>;
847
1246
  }
848
1247
 
849
1248
  declare class TagToSpanPipe implements PipeTransform {
@@ -900,19 +1299,14 @@ declare class YoutubeVideoPlayerComponent {
900
1299
  static ɵcmp: i0.ɵɵComponentDeclaration<YoutubeVideoPlayerComponent, "youtube-video-player", never, { "link": { "alias": "link"; "required": false; }; }, {}, never, never, true, never>;
901
1300
  }
902
1301
 
903
- interface DownloadButtonTagData {
904
- title: string;
905
- link: string;
906
- }
907
-
908
1302
  declare class DownloadFileButtonEditorComponent {
909
1303
  tag: HtmlBodyTag;
910
- onTagUpdated: EventEmitter<HtmlBodyTag>;
1304
+ presentOrEdit: boolean;
911
1305
  tagData: DownloadButtonTagData;
912
1306
  ngOnInit(): void;
913
1307
  linkChanged(): void;
914
1308
  static ɵfac: i0.ɵɵFactoryDeclaration<DownloadFileButtonEditorComponent, never>;
915
- static ɵcmp: i0.ɵɵComponentDeclaration<DownloadFileButtonEditorComponent, "croco-html-download-file-button-editor", never, { "tag": { "alias": "tag"; "required": false; }; }, { "onTagUpdated": "onTagUpdated"; }, never, never, true, never>;
1309
+ static ɵcmp: i0.ɵɵComponentDeclaration<DownloadFileButtonEditorComponent, "croco-html-download-file-button-editor", never, { "tag": { "alias": "tag"; "required": true; }; "presentOrEdit": { "alias": "presentOrEdit"; "required": true; }; }, {}, never, never, true, never>;
916
1310
  }
917
1311
 
918
1312
  declare class BlobCreateService {
@@ -936,21 +1330,11 @@ declare class XmlTagDownloadFileButtonComponent {
936
1330
 
937
1331
  declare class CrocoHtmlModule {
938
1332
  static ɵfac: i0.ɵɵFactoryDeclaration<CrocoHtmlModule, never>;
939
- static ɵmod: i0.ɵɵNgModuleDeclaration<CrocoHtmlModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof i2.ReactiveFormsModule, typeof i3.NgSelectModule, typeof i4.MatBadgeModule, typeof i5.MatTableModule, typeof i6.MatExpansionModule, typeof i7.MatFormFieldModule, typeof i8.MatSnackBarModule, typeof i9.MatProgressBarModule, typeof i10.MatProgressSpinnerModule, typeof i11.MatTabsModule, typeof i12.MatMenuModule, typeof i13.MatCardModule, typeof i14.MatSelectModule, typeof i15.MatTooltipModule, typeof i16.MatCheckboxModule, typeof i17.MatChipsModule, typeof i18.MatListModule, typeof i19.MatButtonModule, typeof i20.MatInputModule, typeof i21.MatDialogModule, typeof i22.MatPaginatorModule, typeof i23.MatDatepickerModule, typeof i24.MatGridListModule, typeof i25.MatSlideToggleModule, typeof i26.MatTreeModule, typeof i27.MatNativeDateModule, typeof i28.MatAutocompleteModule, typeof i29.MatSidenavModule, typeof i30.MatIconModule, typeof i31.DragDropModule, typeof i32.MatButtonToggleModule, typeof ErrorBannerComponent, typeof VkVideoPlayerComponent, typeof YoutubeVideoPlayerComponent, typeof DownloadFileButtonEditorComponent, typeof XmlTagDownloadFileButtonComponent, typeof UploadFilesBtnComponent, typeof HtmlViewComponent, typeof XmlTagTableViewComponent, typeof XmlTagViewComponent, typeof XmlTagRichTextViewComponent, typeof XmlTagHtmlViewComponent, typeof XmlTagTextViewComponent, typeof XmlTagHeaderTextViewComponent, typeof XmlTagHeaderInnerTextViewComponent, typeof XmlTagExternalVideoComponent, typeof HtmlRawViewComponent, typeof FileImageTagViewComponent, typeof XmlTagCustomWidgetComponent, typeof HtmlViewComponent, typeof MainEditorComponent, typeof FileIdSelectComponent, typeof TextEditorComponent, typeof ImageEditorComponent, typeof MainEditorBlockComponent, typeof VisualEditorComponent, typeof AddFilesBtnComponent, typeof HtmlRawEditorComponent, typeof CustomWidgetEditorComponent, typeof RichTextToHtmlPipe, typeof TagToSpanPipe, typeof ToPreviewPipe, typeof ToHtmlBodyTagsPipe, typeof ToPreviewHtmlPipe], [typeof UploadFilesBtnComponent, typeof HtmlViewComponent, typeof XmlTagTableViewComponent, typeof XmlTagViewComponent, typeof XmlTagRichTextViewComponent, typeof XmlTagHtmlViewComponent, typeof XmlTagTextViewComponent, typeof XmlTagHeaderTextViewComponent, typeof XmlTagHeaderInnerTextViewComponent, typeof XmlTagExternalVideoComponent, typeof HtmlRawViewComponent, typeof FileImageTagViewComponent, typeof XmlTagCustomWidgetComponent, typeof HtmlViewComponent, typeof MainEditorComponent, typeof FileIdSelectComponent, typeof TextEditorComponent, typeof ImageEditorComponent, typeof MainEditorBlockComponent, typeof VisualEditorComponent, typeof AddFilesBtnComponent, typeof HtmlRawEditorComponent, typeof CustomWidgetEditorComponent, typeof RichTextToHtmlPipe, typeof TagToSpanPipe, typeof ToPreviewPipe, typeof ToHtmlBodyTagsPipe, typeof ToPreviewHtmlPipe]>;
1333
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CrocoHtmlModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof i2.ReactiveFormsModule, typeof i3.NgSelectModule, typeof i4.MatBadgeModule, typeof i5.MatTableModule, typeof i6.MatExpansionModule, typeof i7.MatFormFieldModule, typeof i8.MatSnackBarModule, typeof i9.MatProgressBarModule, typeof i10.MatProgressSpinnerModule, typeof i11.MatTabsModule, typeof i12.MatMenuModule, typeof i13.MatCardModule, typeof i14.MatSelectModule, typeof i15.MatTooltipModule, typeof i16.MatCheckboxModule, typeof i17.MatChipsModule, typeof i18.MatListModule, typeof i19.MatButtonModule, typeof i20.MatInputModule, typeof i21.MatDialogModule, typeof i22.MatPaginatorModule, typeof i23.MatDatepickerModule, typeof i24.MatGridListModule, typeof i25.MatSlideToggleModule, typeof i26.MatTreeModule, typeof i27.MatNativeDateModule, typeof i28.MatAutocompleteModule, typeof i29.MatSidenavModule, typeof i30.MatIconModule, typeof i31.DragDropModule, typeof i32.MatButtonToggleModule, typeof ErrorBannerComponent, typeof VkVideoPlayerComponent, typeof YoutubeVideoPlayerComponent, typeof DownloadFileButtonEditorComponent, typeof XmlTagDownloadFileButtonComponent, typeof UploadFilesBtnComponent, typeof HtmlViewComponent, typeof XmlTagViewComponent, typeof XmlTagHtmlViewComponent, typeof XmlTagTextViewComponent, typeof XmlTagHeaderTextViewComponent, typeof XmlTagHeaderInnerTextViewComponent, typeof XmlTagExternalVideoComponent, typeof HtmlRawViewComponent, typeof FileImageTagViewComponent, typeof AudioPlayerTagViewComponent, typeof XmlTagCustomWidgetComponent, typeof HtmlViewComponent, typeof DefinedCustomTagViewComponent, typeof MainEditorComponent, typeof FileIdSelectComponent, typeof TextEditorComponent, typeof ImageEditorComponent, typeof MainEditorBlockComponent, typeof VisualEditorComponent, typeof AddFilesBtnComponent, typeof HtmlRawEditorComponent, typeof CustomWidgetEditorComponent, typeof DefinedCustomEditorBlockComponent, typeof CustomWidgetIconComponent, typeof TagToSpanPipe, typeof ToPreviewPipe, typeof ToHtmlBodyTagsPipe, typeof ToPreviewHtmlPipe], [typeof UploadFilesBtnComponent, typeof HtmlViewComponent, typeof XmlTagViewComponent, typeof XmlTagHtmlViewComponent, typeof XmlTagTextViewComponent, typeof XmlTagHeaderTextViewComponent, typeof XmlTagHeaderInnerTextViewComponent, typeof XmlTagExternalVideoComponent, typeof HtmlRawViewComponent, typeof FileImageTagViewComponent, typeof AudioPlayerTagViewComponent, typeof XmlTagCustomWidgetComponent, typeof HtmlViewComponent, typeof DefinedCustomTagViewComponent, typeof MainEditorComponent, typeof FileIdSelectComponent, typeof TextEditorComponent, typeof ImageEditorComponent, typeof MainEditorBlockComponent, typeof VisualEditorComponent, typeof AddFilesBtnComponent, typeof HtmlRawEditorComponent, typeof CustomWidgetEditorComponent, typeof DefinedCustomEditorBlockComponent, typeof CustomWidgetIconComponent, typeof TagToSpanPipe, typeof ToPreviewPipe, typeof ToHtmlBodyTagsPipe, typeof ToPreviewHtmlPipe]>;
940
1334
  static ɵinj: i0.ɵɵInjectorDeclaration<CrocoHtmlModule>;
941
1335
  }
942
1336
 
943
1337
  declare const CrocoHtmlOptionsToken = "croco-html-options";
944
1338
 
945
- /**
946
- * Сервис для обработки логики разметки
947
- */
948
- declare class HtmlViewController {
949
- onScriptCalled(script: string): void;
950
- scriptCalled: Subject<string>;
951
- static ɵfac: i0.ɵɵFactoryDeclaration<HtmlViewController, never>;
952
- static ɵprov: i0.ɵɵInjectableDeclaration<HtmlViewController>;
953
- }
954
-
955
- export { AddFilesBtnComponent, AngularMaterialTableMethods, BodyTagsExtensions, BootstrapTableMethods, CrocoHtmlFileOptionsService, CrocoHtmlModule, CrocoHtmlOptionsToken, CustomWidgetEditorComponent, CustomWidgetMethods, CustomWidgetTagDataConsts, ExternalVideoEditorComponent, ExternalVideoPlayers, ExternalVideoSupportedTypes, ExternalVideoTagDataConsts, FileIdSelectComponent, FileImageTagDataConsts, FileImageTagViewComponent, FileType, HtmlRawEditorComponent, HtmlRawViewComponent, HtmlViewComponent, HtmlViewController, ImageEditorComponent, ImageMethods, MainEditorBlockComponent, MainEditorComponent, RichTextToHtmlPipe, TableBuilder, TableMethods, TableTypes, TagToSpanPipe, TextEditorComponent, TextMethods, TextSimpleMethods, TextTag, TextTagDataConsts, TextTags, ToHtmlBodyTagsPipe, ToPreviewHtmlPipe, ToPreviewPipe, UploadFilesBtnComponent, VideoMethods, VisualEditorComponent, XmlExtensions, XmlTagCustomWidgetComponent, XmlTagExternalVideoComponent, XmlTagHeaderInnerTextViewComponent, XmlTagHeaderTextViewComponent, XmlTagHtmlViewComponent, XmlTagRichTextViewComponent, XmlTagTableViewComponent, XmlTagTextViewComponent, XmlTagViewComponent, defaultLinkForDownload, defaultLinkVk, defaultLinkYouTube };
956
- export type { AngularMaterialTableData, BaseApiResponse, CrocoHtmlEditorFileOptions, CrocoHtmlOptions, CustomWidgetTag, CustomWidgetTagData, ExternalVideoTag, ExternalVideoTagData, FileImageTag, FileImageTagData, FilePostingStarted, FileRelationModel, FileSimpleModel, FileUnifiedModel, GenericTextTag, GetListResult, GetListSearchModel, HtmlBodyTag, IMediaRequest, ImageRestrictions, LineBreakBlock, RichTextData, SearchFilesRequest, SearchQuestionsFormData, SimpleTextTag, SimpleTextTagData, TableData, TableHeaderData, TableRowColumnData, TableRowData, TableTagData, TagItem, TextBlock };
1339
+ export { AddFilesBtnComponent, AngularMaterialTableMethods, AudioEditorComponent, AudioMethods, AudioPlayerTagViewComponent, BodyTagsExtensions, BootstrapTableMethods, ButtonTagDataConsts, ButtonTagService, CrocoHtmlFileOptionsService, CrocoHtmlModule, CrocoHtmlOptionsToken, CustomWidgetEditorComponent, CustomWidgetIconComponent, CustomWidgetTagDataConsts, CustomWidgetTagService, DefinedCustomEditorBlockComponent, DefinedCustomTagViewComponent, DownloadButtonTagDataConsts, DownloadButtonTagService, ExternalVideoEditorComponent, ExternalVideoPlayers, ExternalVideoSupportedTypes, ExternalVideoTagDataConsts, ExternalVideoTagService, FileAudioTagDataConsts, FileIdSelectComponent, FileImageTagDataConsts, FileImageTagService, FileImageTagViewComponent, FileType, HtmlPageDataController, HtmlRawEditorComponent, HtmlRawTagDataConsts, HtmlRawTagService, HtmlRawViewComponent, HtmlViewComponent, HtmlViewController, ImageEditorComponent, ImageMethods, MainEditorBlockComponent, MainEditorComponent, TableBuilder, TableMethods, TableTypes, TagEditorService, TagToSpanPipe, TextAlignment, TextEditorComponent, TextSimpleMethods, TextTag, TextTagDataConsts, TextTagHtmlMarkupTagService, TextTags, ToHtmlBodyTagsPipe, ToPreviewHtmlPipe, ToPreviewPipe, UploadFilesBtnComponent, VisualEditorComponent, XmlExtensions, XmlTagCustomWidgetComponent, XmlTagExternalVideoComponent, XmlTagHeaderInnerTextViewComponent, XmlTagHeaderTextViewComponent, XmlTagHtmlViewComponent, XmlTagTextViewComponent, XmlTagViewComponent };
1340
+ export type { AngularMaterialTableData, BaseApiResponse, ButtonTag, ButtonTagData, CommonFileInfoResultModel, CrocoHtmlEditorFileOptions, CrocoHtmlImageOptions, CrocoHtmlOptions, CustomWidgetTag, CustomWidgetTagData, DownloadButtonTag, DownloadButtonTagData, ExternalVideoTag, ExternalVideoTagData, ExtractHtmlRawTag, ExtractHtmlRawTagData, FileAudioTag, FileAudioTagData, FileImageTag, FileImageTagData, FileInfoModel, FilePostingStarted, FileRelationModel, FileSimpleModel, FileUnifiedModel, GenericTextTag, GetListResult, GetListSearchModel, HtmlBodyTag, ICustomTagViewRender, IHorizontalAlignmentExtractionResult, IImageMediaRequest, IMarkUpTagService, IVisualEditorProps, ImageRestrictions, InterfaceBlock, SearchFilesRequest, SearchQuestionsFormData, SimpleTextTagData, TableData, TableHeaderData, TableRowColumnData, TableRowData, TableTagData, TagItem };