croco-html 4.0.1 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/fesm2022/croco-html.mjs +472 -512
  2. package/fesm2022/croco-html.mjs.map +1 -1
  3. package/lib/components/editor/button-editor/button-editor.component.d.ts +1 -1
  4. package/lib/components/editor/custom-widget-editor/custom-widget-editor.component.d.ts +1 -1
  5. package/lib/components/editor/download-file-button-editor/download-file-button-editor.component.d.ts +1 -1
  6. package/lib/components/xml-tags/index.d.ts +0 -1
  7. package/lib/components/xml-tags/xml-tag-custom-button/xml-tag-button.component.d.ts +1 -1
  8. package/lib/components/xml-tags/xml-tag-custom-widget/xml-tag-custom-widget.component.d.ts +1 -1
  9. package/lib/components/xml-tags/xml-tag-download-file-button/xml-tag-download-file-button.component.d.ts +1 -1
  10. package/lib/components/xml-tags/xml-tag-header-inner-text-view/xml-tag-header-inner-text-view.component.d.ts +2 -5
  11. package/lib/components/xml-tags/xml-tag-header-text-view/xml-tag-header-text-view.component.d.ts +2 -5
  12. package/lib/components/xml-tags/xml-tag-text-view/xml-tag-text-view.component.d.ts +4 -7
  13. package/lib/croco-html.module.d.ts +22 -24
  14. package/lib/extensions/BodyTagsExtensions.d.ts +6 -3
  15. package/lib/extensions/HtmlExtractionMethods.d.ts +1 -32
  16. package/lib/extensions/HtmlRawTagDataConsts.d.ts +1 -4
  17. package/lib/extensions/ImageMethods.d.ts +9 -10
  18. package/lib/extensions/InterfaceBlock.d.ts +3 -0
  19. package/lib/extensions/Tags.d.ts +4 -4
  20. package/lib/extensions/TextMethods.d.ts +0 -18
  21. package/lib/extensions/TextSimpleMethods.d.ts +1 -5
  22. package/lib/extensions/VideoMethods.d.ts +8 -11
  23. package/lib/extensions/index.d.ts +0 -1
  24. package/lib/index.d.ts +6 -7
  25. package/lib/models/models.d.ts +3 -0
  26. package/lib/pipes/index.d.ts +0 -1
  27. package/lib/services/PrivateFilesQueryService.d.ts +1 -1
  28. package/lib/services/PublicFilesQueryService.d.ts +1 -38
  29. package/lib/services/file-models.d.ts +38 -0
  30. package/lib/services/index.d.ts +1 -0
  31. package/lib/tag-services/ButtonTagService.d.ts +26 -0
  32. package/lib/tag-services/CustomWidgetTagService.d.ts +32 -0
  33. package/lib/tag-services/DownloadButtonTagService.d.ts +24 -0
  34. package/lib/tag-services/ExternalVideoTagService.d.ts +11 -0
  35. package/lib/tag-services/FileImageTagService.d.ts +11 -0
  36. package/lib/tag-services/HtmlRawTagService.d.ts +11 -0
  37. package/lib/tag-services/IMarkUpTagService.d.ts +26 -0
  38. package/lib/tag-services/TextTagHtmlMarkupTagService.d.ts +12 -0
  39. package/lib/tag-services/index.d.ts +8 -0
  40. package/package.json +1 -3
  41. package/esm2022/croco-html.mjs +0 -5
  42. package/esm2022/lib/components/add-files-btn/add-files-btn.component.mjs +0 -55
  43. package/esm2022/lib/components/editor/button-editor/button-editor.component.mjs +0 -43
  44. package/esm2022/lib/components/editor/custom-widget-editor/custom-widget-editor.component.mjs +0 -41
  45. package/esm2022/lib/components/editor/download-file-button-editor/download-file-button-editor.component.mjs +0 -42
  46. package/esm2022/lib/components/editor/external-video-editor/embedded-video/code-video.component.mjs +0 -29
  47. package/esm2022/lib/components/editor/external-video-editor/external-video-editor.component.mjs +0 -84
  48. package/esm2022/lib/components/editor/external-video-editor/vk-video-player/vk-video-player.component.mjs +0 -20
  49. package/esm2022/lib/components/editor/external-video-editor/youtube-video-player/youtube-video-player.component.mjs +0 -20
  50. package/esm2022/lib/components/editor/html-editor-settings-modal/html-editor-settings-modal.component.mjs +0 -47
  51. package/esm2022/lib/components/editor/html-raw-editor/html-raw-editor.component.mjs +0 -33
  52. package/esm2022/lib/components/editor/image-editor/image-editor.component.mjs +0 -108
  53. package/esm2022/lib/components/editor/index.mjs +0 -9
  54. package/esm2022/lib/components/editor/main-editor/main-editor.component.mjs +0 -120
  55. package/esm2022/lib/components/editor/main-editor-block/main-editor-block.component.mjs +0 -49
  56. package/esm2022/lib/components/editor/text-editor/text-editor.component.mjs +0 -30
  57. package/esm2022/lib/components/editor/visual-editor/DefaultAligments.mjs +0 -12
  58. package/esm2022/lib/components/editor/visual-editor/DefaultTags.mjs +0 -28
  59. package/esm2022/lib/components/editor/visual-editor/visual-editor.component.mjs +0 -268
  60. package/esm2022/lib/components/error-banner/error-banner.component.mjs +0 -24
  61. package/esm2022/lib/components/file-id-select/file-id-select.component.mjs +0 -87
  62. package/esm2022/lib/components/html-view/html-view.component.mjs +0 -18
  63. package/esm2022/lib/components/index.mjs +0 -7
  64. package/esm2022/lib/components/upload-files-btn/upload-files-btn.component.mjs +0 -66
  65. package/esm2022/lib/components/xml-tags/file-image-tag-view/file-image-tag-view.component.mjs +0 -57
  66. package/esm2022/lib/components/xml-tags/html-raw-view/html-raw-view.component.mjs +0 -24
  67. package/esm2022/lib/components/xml-tags/index.mjs +0 -12
  68. package/esm2022/lib/components/xml-tags/xml-tag-custom-button/xml-tag-button.component.mjs +0 -42
  69. package/esm2022/lib/components/xml-tags/xml-tag-custom-widget/xml-tag-custom-widget.component.mjs +0 -50
  70. package/esm2022/lib/components/xml-tags/xml-tag-download-file-button/xml-tag-download-file-button.component.mjs +0 -48
  71. package/esm2022/lib/components/xml-tags/xml-tag-external-video/xml-tag-external-video.component.mjs +0 -41
  72. package/esm2022/lib/components/xml-tags/xml-tag-header-inner-text-view/xml-tag-header-inner-text-view.component.mjs +0 -16
  73. package/esm2022/lib/components/xml-tags/xml-tag-header-text-view/xml-tag-header-text-view.component.mjs +0 -17
  74. package/esm2022/lib/components/xml-tags/xml-tag-html-view/xml-tag-html-view.component.mjs +0 -16
  75. package/esm2022/lib/components/xml-tags/xml-tag-rich-text-view/xml-tag-rich-text-view.component.mjs +0 -19
  76. package/esm2022/lib/components/xml-tags/xml-tag-table-view/xml-tag-table-view.component.mjs +0 -19
  77. package/esm2022/lib/components/xml-tags/xml-tag-text-view/xml-tag-text-view.component.mjs +0 -16
  78. package/esm2022/lib/components/xml-tags/xml-tag-view/xml-tag-view.component.mjs +0 -41
  79. package/esm2022/lib/consts/index.mjs +0 -2
  80. package/esm2022/lib/croco-html.module.mjs +0 -106
  81. package/esm2022/lib/extensions/AngularMaterialTableMethods.mjs +0 -64
  82. package/esm2022/lib/extensions/BodyTagsExtensions.mjs +0 -192
  83. package/esm2022/lib/extensions/BootstrapTableMethods.mjs +0 -67
  84. package/esm2022/lib/extensions/ButtonMethods.mjs +0 -19
  85. package/esm2022/lib/extensions/CustomWidgetMethods.mjs +0 -33
  86. package/esm2022/lib/extensions/DownloadButtonMethods.mjs +0 -17
  87. package/esm2022/lib/extensions/HtmlExtractionMethods.mjs +0 -65
  88. package/esm2022/lib/extensions/HtmlRawTagDataConsts.mjs +0 -14
  89. package/esm2022/lib/extensions/ImageMethods.mjs +0 -101
  90. package/esm2022/lib/extensions/InterfaceBlock.mjs +0 -2
  91. package/esm2022/lib/extensions/TableBuilder.mjs +0 -35
  92. package/esm2022/lib/extensions/TableMethods.mjs +0 -108
  93. package/esm2022/lib/extensions/Tags.mjs +0 -22
  94. package/esm2022/lib/extensions/TextMethods.mjs +0 -39
  95. package/esm2022/lib/extensions/TextSimpleMethods.mjs +0 -81
  96. package/esm2022/lib/extensions/VideoMethods.mjs +0 -40
  97. package/esm2022/lib/extensions/XmlExtensions.mjs +0 -26
  98. package/esm2022/lib/extensions/index.mjs +0 -12
  99. package/esm2022/lib/index.mjs +0 -122
  100. package/esm2022/lib/models/image-models.mjs +0 -2
  101. package/esm2022/lib/models/index.mjs +0 -3
  102. package/esm2022/lib/models/models.mjs +0 -2
  103. package/esm2022/lib/options/index.mjs +0 -2
  104. package/esm2022/lib/pipes/RichTextToHtmlPipe.mjs +0 -27
  105. package/esm2022/lib/pipes/TagToSpanPipe.mjs +0 -17
  106. package/esm2022/lib/pipes/ToHtmlBodyTagsPipe.mjs +0 -25
  107. package/esm2022/lib/pipes/ToPreviewHtmlPipe.mjs +0 -25
  108. package/esm2022/lib/pipes/index.mjs +0 -6
  109. package/esm2022/lib/pipes/sprite-icon-path.pipe.mjs +0 -17
  110. package/esm2022/lib/pipes/to-preview.pipe.mjs +0 -25
  111. package/esm2022/lib/services/CrocoHtmlFileOptionsService.mjs +0 -32
  112. package/esm2022/lib/services/HtmlViewController.mjs +0 -23
  113. package/esm2022/lib/services/PrivateFileUploadService.mjs +0 -34
  114. package/esm2022/lib/services/PrivateFilesQueryService.mjs +0 -24
  115. package/esm2022/lib/services/PublicFileUploadService.mjs +0 -34
  116. package/esm2022/lib/services/PublicFilesQueryService.mjs +0 -34
  117. package/esm2022/lib/services/blob-create.service.mjs +0 -20
  118. package/esm2022/lib/services/index.mjs +0 -3
  119. package/esm2022/lib/services/screen-width.service.mjs +0 -24
  120. package/esm2022/public-api.mjs +0 -12
  121. package/esm2022/sprites-ids.type.mjs +0 -2
  122. package/lib/components/xml-tags/xml-tag-rich-text-view/xml-tag-rich-text-view.component.d.ts +0 -10
  123. package/lib/extensions/ButtonMethods.d.ts +0 -18
  124. package/lib/extensions/CustomWidgetMethods.d.ts +0 -20
  125. package/lib/extensions/DownloadButtonMethods.d.ts +0 -16
  126. package/lib/pipes/RichTextToHtmlPipe.d.ts +0 -8
@@ -0,0 +1,24 @@
1
+ import { InterfaceBlock } from "../extensions/InterfaceBlock";
2
+ import { HtmlBodyTag } from "../models";
3
+ import { CrocoHtmlOptions } from "../options";
4
+ import { IMarkUpTagService } from "./IMarkUpTagService";
5
+ export declare class DownloadButtonTagDataConsts {
6
+ static readonly TagName = "download-file-button";
7
+ static readonly TitleAttrName = "title";
8
+ static readonly LinkAttrName = "link";
9
+ }
10
+ export interface DownloadButtonTag {
11
+ type: string;
12
+ data: DownloadButtonTagData;
13
+ }
14
+ export interface DownloadButtonTagData {
15
+ title: string;
16
+ link: string;
17
+ }
18
+ export declare class DownloadButtonTagService implements IMarkUpTagService {
19
+ tagName: string;
20
+ shortDescription: string;
21
+ bodyTagToHtmlStringConverter(bodyTag: HtmlBodyTag): string;
22
+ extractBlockFromHtmlElement(elem: HTMLElement, options: CrocoHtmlOptions): InterfaceBlock;
23
+ toBodyTag(data: InterfaceBlock): HtmlBodyTag;
24
+ }
@@ -0,0 +1,11 @@
1
+ import { InterfaceBlock } from "../extensions/InterfaceBlock";
2
+ import { HtmlBodyTag } from "../models";
3
+ import { CrocoHtmlOptions } from "../options";
4
+ import { IMarkUpTagService } from "./IMarkUpTagService";
5
+ export declare class ExternalVideoTagService implements IMarkUpTagService {
6
+ tagName: string;
7
+ shortDescription: string;
8
+ bodyTagToHtmlStringConverter(bodyTag: HtmlBodyTag): string;
9
+ extractBlockFromHtmlElement(elem: HTMLElement, options: CrocoHtmlOptions): InterfaceBlock;
10
+ toBodyTag(data: InterfaceBlock): HtmlBodyTag;
11
+ }
@@ -0,0 +1,11 @@
1
+ import { InterfaceBlock } from "../extensions/InterfaceBlock";
2
+ import { HtmlBodyTag } from "../models";
3
+ import { CrocoHtmlOptions } from "../options";
4
+ import { IMarkUpTagService } from "../tag-services/IMarkUpTagService";
5
+ export declare class FileImageTagService implements IMarkUpTagService {
6
+ tagName: string;
7
+ shortDescription: string;
8
+ bodyTagToHtmlStringConverter(bodyTag: HtmlBodyTag): string;
9
+ extractBlockFromHtmlElement(elem: HTMLElement, options: CrocoHtmlOptions): InterfaceBlock;
10
+ toBodyTag(data: InterfaceBlock): HtmlBodyTag;
11
+ }
@@ -0,0 +1,11 @@
1
+ import { InterfaceBlock } from "../extensions/InterfaceBlock";
2
+ import { HtmlBodyTag } from "../models";
3
+ import { CrocoHtmlOptions } from "../options";
4
+ import { IMarkUpTagService } from "./IMarkUpTagService";
5
+ export declare class HtmlRawTagService implements IMarkUpTagService {
6
+ tagName: string;
7
+ shortDescription: string;
8
+ bodyTagToHtmlStringConverter(bodyTag: HtmlBodyTag): string;
9
+ extractBlockFromHtmlElement(elem: HTMLElement, options: CrocoHtmlOptions): InterfaceBlock;
10
+ toBodyTag(data: InterfaceBlock): HtmlBodyTag;
11
+ }
@@ -0,0 +1,26 @@
1
+ import { InterfaceBlock } from "../extensions/InterfaceBlock";
2
+ import { HtmlBodyTag } from "../models";
3
+ import { CrocoHtmlOptions } from "../options";
4
+ export interface IMarkUpTagService {
5
+ /**
6
+ * Название тега
7
+ */
8
+ tagName: string;
9
+ /**
10
+ * Описание тега
11
+ */
12
+ shortDescription: string;
13
+ /**
14
+ * Функция для конвертации из модели редактора в Html строку разметки
15
+ * @param bodyTag тег
16
+ * @returns
17
+ */
18
+ bodyTagToHtmlStringConverter: (bodyTag: HtmlBodyTag) => string;
19
+ extractBlockFromHtmlElement: (elem: HTMLElement, options: CrocoHtmlOptions) => InterfaceBlock;
20
+ /**
21
+ * Конвертация блока интерфейса в модель тега для редактора
22
+ * @param data
23
+ * @returns
24
+ */
25
+ toBodyTag: (data: InterfaceBlock) => HtmlBodyTag;
26
+ }
@@ -0,0 +1,12 @@
1
+ import { InterfaceBlock } from "../extensions/InterfaceBlock";
2
+ import { HtmlBodyTag } from "../models";
3
+ import { CrocoHtmlOptions } from "../options";
4
+ import { IMarkUpTagService } from "../tag-services/IMarkUpTagService";
5
+ export declare class TextTagHtmlMarkupTagService implements IMarkUpTagService {
6
+ constructor(tagName: string, shortDescription: string);
7
+ tagName: string;
8
+ shortDescription: string;
9
+ bodyTagToHtmlStringConverter(bodyTag: HtmlBodyTag): string;
10
+ extractBlockFromHtmlElement(elem: HTMLElement, options: CrocoHtmlOptions): InterfaceBlock;
11
+ toBodyTag(data: InterfaceBlock): HtmlBodyTag;
12
+ }
@@ -0,0 +1,8 @@
1
+ export * from "./IMarkUpTagService";
2
+ export * from "./FileImageTagService";
3
+ export * from "./TextTagHtmlMarkupTagService";
4
+ export * from "./ExternalVideoTagService";
5
+ export * from "./HtmlRawTagService";
6
+ export * from "./DownloadButtonTagService";
7
+ export * from "./ButtonTagService";
8
+ export * from "./CustomWidgetTagService";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "croco-html",
3
- "version": "4.0.1",
3
+ "version": "4.1.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^19.2.14",
6
6
  "@angular/core": "^19.2.14",
@@ -21,8 +21,6 @@
21
21
  },
22
22
  ".": {
23
23
  "types": "./index.d.ts",
24
- "esm2022": "./esm2022/croco-html.mjs",
25
- "esm": "./esm2022/croco-html.mjs",
26
24
  "default": "./fesm2022/croco-html.mjs"
27
25
  }
28
26
  },
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JvY28taHRtbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2Nyb2NvLWh0bWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,55 +0,0 @@
1
- import { Component, EventEmitter, Output, ViewChild } from '@angular/core';
2
- import { FileImageTagDataConsts } from '../../extensions';
3
- import { UploadFilesBtnComponent } from '../upload-files-btn/upload-files-btn.component';
4
- import { MatButton } from '@angular/material/button';
5
- import * as i0 from "@angular/core";
6
- export class AddFilesBtnComponent {
7
- constructor() {
8
- this.postFilesStarted = new EventEmitter();
9
- this.fileIds = [];
10
- this.filesTagsReady = new EventEmitter();
11
- }
12
- postFilesStartedEventHandler(data) {
13
- this.postFilesStarted.emit(data);
14
- }
15
- filesUploadedPublicHandler(data) {
16
- const fileTags = this.buildFileTags(data.fileIds.map(el => el.toString()));
17
- this.filesTagsReady.emit(fileTags);
18
- }
19
- filesUploadedPrivateHandler(data) {
20
- const fileTags = this.buildFileTags(data.fileIds);
21
- this.filesTagsReady.emit(fileTags);
22
- }
23
- buildFileTags(fileIds) {
24
- return fileIds.map(fileId => ({
25
- presentOrEdit: true,
26
- tagDescription: {
27
- tag: FileImageTagDataConsts.TagName,
28
- displayValue: "Изображение",
29
- isCustom: false
30
- },
31
- attributes: {
32
- [FileImageTagDataConsts.FileIdAttrName]: fileId,
33
- [FileImageTagDataConsts.ScreenMediaRequest]: FileImageTagDataConsts.DefaultValueForFileImage
34
- },
35
- innerHtml: ""
36
- }));
37
- }
38
- handleClick() {
39
- this.fakeBtn.clickFileInput();
40
- }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddFilesBtnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AddFilesBtnComponent, isStandalone: true, selector: "croco-html-add-files-btn", outputs: { postFilesStarted: "postFilesStarted", filesTagsReady: "filesTagsReady" }, viewQueries: [{ propertyName: "fakeBtn", first: true, predicate: ["fakeBtn"], descendants: true }], ngImport: i0, template: "<div [hidden]=\"true\">\n <croco-app-upload-files-btn #fakeBtn\n (onPrivateFilesUploaded)=\"filesUploadedPrivateHandler($event)\"\n (onPublicFilesUploaded)=\"filesUploadedPublicHandler($event)\"\n [btnText]=\"'\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F'\"\n (postFilesStarted)=\"postFilesStartedEventHandler($event)\" [extAccepts]=\"'image/*'\"></croco-app-upload-files-btn>\n</div>\n\n<div>\n <button class=\"w-100\" (click)=\"handleClick()\" mat-stroked-button>\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F</button>\n</div>\n", dependencies: [{ kind: "component", type: UploadFilesBtnComponent, selector: "croco-app-upload-files-btn", inputs: ["extAccepts", "isMultiple", "btnText", "hidden"], outputs: ["postFilesStarted", "onPublicFilesUploaded", "onPrivateFilesUploaded"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
43
- }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddFilesBtnComponent, decorators: [{
45
- type: Component,
46
- args: [{ selector: 'croco-html-add-files-btn', standalone: true, imports: [UploadFilesBtnComponent, MatButton], template: "<div [hidden]=\"true\">\n <croco-app-upload-files-btn #fakeBtn\n (onPrivateFilesUploaded)=\"filesUploadedPrivateHandler($event)\"\n (onPublicFilesUploaded)=\"filesUploadedPublicHandler($event)\"\n [btnText]=\"'\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F'\"\n (postFilesStarted)=\"postFilesStartedEventHandler($event)\" [extAccepts]=\"'image/*'\"></croco-app-upload-files-btn>\n</div>\n\n<div>\n <button class=\"w-100\" (click)=\"handleClick()\" mat-stroked-button>\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F</button>\n</div>\n" }]
47
- }], ctorParameters: () => [], propDecorators: { postFilesStarted: [{
48
- type: Output
49
- }], fakeBtn: [{
50
- type: ViewChild,
51
- args: ["fakeBtn"]
52
- }], filesTagsReady: [{
53
- type: Output
54
- }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWZpbGVzLWJ0bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvY29tcG9uZW50cy9hZGQtZmlsZXMtYnRuL2FkZC1maWxlcy1idG4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMvYWRkLWZpbGVzLWJ0bi9hZGQtZmlsZXMtYnRuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFMUQsT0FBTyxFQUFzQix1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzdHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFVckQsTUFBTSxPQUFPLG9CQUFvQjtJQVUvQjtRQVBBLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFzQixDQUFDO1FBSzFELFlBQU8sR0FBYSxFQUFFLENBQUM7UUFLdkIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztJQUhuQyxDQUFDO0lBS2pCLDRCQUE0QixDQUFDLElBQXdCO1FBQ25ELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELDBCQUEwQixDQUFDLElBQStCO1FBQ3hELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxJQUErQjtRQUN6RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU8sYUFBYSxDQUFDLE9BQWlCO1FBQ3JDLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDNUIsYUFBYSxFQUFFLElBQUk7WUFDbkIsY0FBYyxFQUFFO2dCQUNkLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQyxPQUFPO2dCQUNuQyxZQUFZLEVBQUUsYUFBYTtnQkFDM0IsUUFBUSxFQUFFLEtBQUs7YUFDaEI7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsRUFBRSxNQUFNO2dCQUMvQyxDQUFDLHNCQUFzQixDQUFDLGtCQUFrQixDQUFDLEVBQUUsc0JBQXNCLENBQUMsd0JBQXdCO2FBQzdGO1lBQ0QsU0FBUyxFQUFFLEVBQUU7U0FDZCxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNoQyxDQUFDOytHQS9DVSxvQkFBb0I7bUdBQXBCLG9CQUFvQiw2UUNkakMsa3ZCQVdBLDRDRENZLHVCQUF1QixvTkFBRSxTQUFTOzs0RkFFakMsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLDBCQUEwQixjQUV4QixJQUFJLFdBQ1AsQ0FBQyx1QkFBdUIsRUFBRSxTQUFTLENBQUM7d0RBSzdDLGdCQUFnQjtzQkFEZixNQUFNO2dCQUlQLE9BQU87c0JBRE4sU0FBUzt1QkFBQyxTQUFTO2dCQVFwQixjQUFjO3NCQURiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpbGVJbWFnZVRhZ0RhdGFDb25zdHMgfSBmcm9tICcuLi8uLi9leHRlbnNpb25zJztcbmltcG9ydCB7IEh0bWxCb2R5VGFnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21vZGVscyc7XG5pbXBvcnQgeyBGaWxlUG9zdGluZ1N0YXJ0ZWQsIFVwbG9hZEZpbGVzQnRuQ29tcG9uZW50IH0gZnJvbSAnLi4vdXBsb2FkLWZpbGVzLWJ0bi91cGxvYWQtZmlsZXMtYnRuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRCdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgUHVibGljRmlsZXNVcGxvYWRSZXNwb25zZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL1B1YmxpY0ZpbGVVcGxvYWRTZXJ2aWNlJztcbmltcG9ydCB7IFByaXZhdGVGaWxlc0NyZWF0ZWRSZXN1bHQgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvUHJpdmF0ZUZpbGVVcGxvYWRTZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nyb2NvLWh0bWwtYWRkLWZpbGVzLWJ0bicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtZmlsZXMtYnRuLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1VwbG9hZEZpbGVzQnRuQ29tcG9uZW50LCBNYXRCdXR0b25dXG59KVxuZXhwb3J0IGNsYXNzIEFkZEZpbGVzQnRuQ29tcG9uZW50IHtcblxuICBAT3V0cHV0KClcbiAgcG9zdEZpbGVzU3RhcnRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVBvc3RpbmdTdGFydGVkPigpO1xuXG4gIEBWaWV3Q2hpbGQoXCJmYWtlQnRuXCIpXG4gIGZha2VCdG4hOiBVcGxvYWRGaWxlc0J0bkNvbXBvbmVudDtcblxuICBmaWxlSWRzOiBudW1iZXJbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgQE91dHB1dCgpXG4gIGZpbGVzVGFnc1JlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxIdG1sQm9keVRhZ1tdPigpO1xuXG4gIHBvc3RGaWxlc1N0YXJ0ZWRFdmVudEhhbmRsZXIoZGF0YTogRmlsZVBvc3RpbmdTdGFydGVkKSB7XG4gICAgdGhpcy5wb3N0RmlsZXNTdGFydGVkLmVtaXQoZGF0YSk7XG4gIH1cblxuICBmaWxlc1VwbG9hZGVkUHVibGljSGFuZGxlcihkYXRhOiBQdWJsaWNGaWxlc1VwbG9hZFJlc3BvbnNlKSB7XG4gICAgY29uc3QgZmlsZVRhZ3MgPSB0aGlzLmJ1aWxkRmlsZVRhZ3MoZGF0YS5maWxlSWRzLm1hcChlbCA9PiBlbC50b1N0cmluZygpKSk7XG4gICAgdGhpcy5maWxlc1RhZ3NSZWFkeS5lbWl0KGZpbGVUYWdzKTtcbiAgfVxuXG4gIGZpbGVzVXBsb2FkZWRQcml2YXRlSGFuZGxlcihkYXRhOiBQcml2YXRlRmlsZXNDcmVhdGVkUmVzdWx0KSB7XG4gICAgY29uc3QgZmlsZVRhZ3MgPSB0aGlzLmJ1aWxkRmlsZVRhZ3MoZGF0YS5maWxlSWRzKTtcbiAgICB0aGlzLmZpbGVzVGFnc1JlYWR5LmVtaXQoZmlsZVRhZ3MpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEZpbGVUYWdzKGZpbGVJZHM6IHN0cmluZ1tdKTogSHRtbEJvZHlUYWdbXSB7XG4gICAgcmV0dXJuIGZpbGVJZHMubWFwKGZpbGVJZCA9PiAoe1xuICAgICAgcHJlc2VudE9yRWRpdDogdHJ1ZSxcbiAgICAgIHRhZ0Rlc2NyaXB0aW9uOiB7XG4gICAgICAgIHRhZzogRmlsZUltYWdlVGFnRGF0YUNvbnN0cy5UYWdOYW1lLFxuICAgICAgICBkaXNwbGF5VmFsdWU6IFwi0JjQt9C+0LHRgNCw0LbQtdC90LjQtVwiLFxuICAgICAgICBpc0N1c3RvbTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIFtGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLkZpbGVJZEF0dHJOYW1lXTogZmlsZUlkLFxuICAgICAgICBbRmlsZUltYWdlVGFnRGF0YUNvbnN0cy5TY3JlZW5NZWRpYVJlcXVlc3RdOiBGaWxlSW1hZ2VUYWdEYXRhQ29uc3RzLkRlZmF1bHRWYWx1ZUZvckZpbGVJbWFnZVxuICAgICAgfSxcbiAgICAgIGlubmVySHRtbDogXCJcIlxuICAgIH0pKTtcbiAgfVxuXG4gIGhhbmRsZUNsaWNrKCkge1xuICAgIHRoaXMuZmFrZUJ0bi5jbGlja0ZpbGVJbnB1dCgpO1xuICB9XG59XG4iLCI8ZGl2IFtoaWRkZW5dPVwidHJ1ZVwiPlxuICAgIDxjcm9jby1hcHAtdXBsb2FkLWZpbGVzLWJ0biAjZmFrZUJ0blxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25Qcml2YXRlRmlsZXNVcGxvYWRlZCk9XCJmaWxlc1VwbG9hZGVkUHJpdmF0ZUhhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvblB1YmxpY0ZpbGVzVXBsb2FkZWQpPVwiZmlsZXNVcGxvYWRlZFB1YmxpY0hhbmRsZXIoJGV2ZW50KVwiXG4gICAgICAgIFtidG5UZXh0XT1cIifQlNC+0LHQsNCy0LjRgtGMINC40LfQvtCx0YDQsNC20LXQvdC40Y8nXCJcbiAgICAgICAgKHBvc3RGaWxlc1N0YXJ0ZWQpPVwicG9zdEZpbGVzU3RhcnRlZEV2ZW50SGFuZGxlcigkZXZlbnQpXCIgW2V4dEFjY2VwdHNdPVwiJ2ltYWdlLyonXCI+PC9jcm9jby1hcHAtdXBsb2FkLWZpbGVzLWJ0bj5cbjwvZGl2PlxuXG48ZGl2PlxuICAgIDxidXR0b24gY2xhc3M9XCJ3LTEwMFwiIChjbGljayk9XCJoYW5kbGVDbGljaygpXCIgbWF0LXN0cm9rZWQtYnV0dG9uPtCU0L7QsdCw0LLQuNGC0Ywg0LjQt9C+0LHRgNCw0LbQtdC90LjRjzwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -1,43 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { FormsModule } from "@angular/forms";
3
- import { MatFormField, MatLabel } from "@angular/material/form-field";
4
- import { MatInput } from "@angular/material/input";
5
- import { XmlTagButtonComponent } from "../../xml-tags/xml-tag-custom-button/xml-tag-button.component";
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/forms";
8
- export class ButtonEditorComponent {
9
- constructor() {
10
- this.onTagUpdated = new EventEmitter();
11
- this.tagData = {
12
- type: '',
13
- text: '',
14
- click: ''
15
- };
16
- }
17
- ngOnInit() {
18
- const data = this.tag.attributes;
19
- this.tagData.type = data.type;
20
- this.tagData.text = data.text;
21
- this.tagData.click = data.click;
22
- }
23
- linkChanged() {
24
- this.tag.attributes = this.tagData;
25
- }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ButtonEditorComponent, isStandalone: true, selector: "croco-html-button-editor", inputs: { tag: "tag" }, outputs: { onTagUpdated: "onTagUpdated" }, ngImport: i0, template: "@if (tag.presentOrEdit) {\n <div>\n <div>\n \u0422\u0438\u043F: {{tagData.type}}\n </div>\n <div style=\"height: 10px;\"></div>\n <div>\n \u0422\u0435\u043A\u0441\u0442: {{tagData.text}}\n </div>\n <div style=\"height: 10px;\"></div>\n <div>\n \u041E\u0431\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A \u043D\u0430\u0436\u0430\u0442\u0438\u044F: {{tagData.click}}\n </div>\n <div style=\"height: 10px;\"></div>\n <croco-html-xml-tag-button [tagData]=\"tagData\"></croco-html-xml-tag-button>\n </div>\n} @else {\n <div>\n <mat-form-field class=\"w-100\">\n <mat-label>\n \u0422\u0438\u043F\n </mat-label>\n <input matInput placeholder=\"\u0422\u0438\u043F\"\n autocomplete=\"off\"\n [(ngModel)]=\"tagData.type\"\n (ngModelChange)=\"linkChanged()\">\n </mat-form-field>\n\n <mat-form-field class=\"w-100\">\n <mat-label>\n \u0422\u0435\u043A\u0441\u0442\n </mat-label>\n <input matInput placeholder=\"\u0422\u0435\u043A\u0441\u0442\"\n autocomplete=\"off\"\n [(ngModel)]=\"tagData.text\"\n (ngModelChange)=\"linkChanged()\">\n </mat-form-field>\n\n <mat-form-field class=\"w-100\">\n <mat-label>\n \u041E\u0431\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A \u043D\u0430\u0436\u0430\u0442\u0438\u044F\n </mat-label>\n <input matInput placeholder=\"\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A \u043D\u0430\u0436\u0430\u0442\u0438\u044F\"\n autocomplete=\"off\"\n [(ngModel)]=\"tagData.click\"\n (ngModelChange)=\"linkChanged()\">\n </mat-form-field>\n </div>\n}\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: XmlTagButtonComponent, selector: "croco-html-xml-tag-button", inputs: ["data", "tagData"] }] }); }
28
- }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonEditorComponent, decorators: [{
30
- type: Component,
31
- args: [{ selector: 'croco-html-button-editor', standalone: true, imports: [
32
- FormsModule,
33
- MatFormField,
34
- MatInput,
35
- MatLabel,
36
- XmlTagButtonComponent
37
- ], template: "@if (tag.presentOrEdit) {\n <div>\n <div>\n \u0422\u0438\u043F: {{tagData.type}}\n </div>\n <div style=\"height: 10px;\"></div>\n <div>\n \u0422\u0435\u043A\u0441\u0442: {{tagData.text}}\n </div>\n <div style=\"height: 10px;\"></div>\n <div>\n \u041E\u0431\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A \u043D\u0430\u0436\u0430\u0442\u0438\u044F: {{tagData.click}}\n </div>\n <div style=\"height: 10px;\"></div>\n <croco-html-xml-tag-button [tagData]=\"tagData\"></croco-html-xml-tag-button>\n </div>\n} @else {\n <div>\n <mat-form-field class=\"w-100\">\n <mat-label>\n \u0422\u0438\u043F\n </mat-label>\n <input matInput placeholder=\"\u0422\u0438\u043F\"\n autocomplete=\"off\"\n [(ngModel)]=\"tagData.type\"\n (ngModelChange)=\"linkChanged()\">\n </mat-form-field>\n\n <mat-form-field class=\"w-100\">\n <mat-label>\n \u0422\u0435\u043A\u0441\u0442\n </mat-label>\n <input matInput placeholder=\"\u0422\u0435\u043A\u0441\u0442\"\n autocomplete=\"off\"\n [(ngModel)]=\"tagData.text\"\n (ngModelChange)=\"linkChanged()\">\n </mat-form-field>\n\n <mat-form-field class=\"w-100\">\n <mat-label>\n \u041E\u0431\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A \u043D\u0430\u0436\u0430\u0442\u0438\u044F\n </mat-label>\n <input matInput placeholder=\"\u041E\u0431\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A \u043D\u0430\u0436\u0430\u0442\u0438\u044F\"\n autocomplete=\"off\"\n [(ngModel)]=\"tagData.click\"\n (ngModelChange)=\"linkChanged()\">\n </mat-form-field>\n </div>\n}\n" }]
38
- }], propDecorators: { tag: [{
39
- type: Input
40
- }], onTagUpdated: [{
41
- type: Output
42
- }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvY29tcG9uZW50cy9lZGl0b3IvYnV0dG9uLWVkaXRvci9idXR0b24tZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9idXR0b24tZWRpdG9yL2J1dHRvbi1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0RBQStELENBQUM7OztBQWN0RyxNQUFNLE9BQU8scUJBQXFCO0lBWmxDO1FBaUJFLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUUvQyxZQUFPLEdBQWtCO1lBQ3ZCLElBQUksRUFBRSxFQUFFO1lBQ1IsSUFBSSxFQUFFLEVBQUU7WUFDUixLQUFLLEVBQUUsRUFBRTtTQUNWLENBQUM7S0FZSDtJQVZDLFFBQVE7UUFDTixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQTJCLENBQUM7UUFDbEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3JDLENBQUM7K0dBdEJVLHFCQUFxQjttR0FBckIscUJBQXFCLHVKQ3BCbEMsNHJEQWlEQSwyQ0RyQ0ksV0FBVywrbUJBQ1gsWUFBWSw0TEFDWixRQUFRLGlVQUNSLFFBQVEsc0RBQ1IscUJBQXFCOzs0RkFJWixxQkFBcUI7a0JBWmpDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBQ3hCLElBQUksV0FDUDt3QkFDUCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osUUFBUTt3QkFDUixRQUFRO3dCQUNSLHFCQUFxQjtxQkFDdEI7OEJBS0QsR0FBRztzQkFERixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdG1sQm9keVRhZyB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvbW9kZWxzXCI7XG5pbXBvcnQgeyBCdXR0b25UYWdEYXRhIH0gZnJvbSBcIi4uLy4uLy4uL2V4dGVuc2lvbnMvQnV0dG9uTWV0aG9kc1wiO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCwgTWF0TGFiZWwgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZFwiO1xuaW1wb3J0IHsgTWF0SW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXRcIjtcbmltcG9ydCB7IFhtbFRhZ0J1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi94bWwtdGFncy94bWwtdGFnLWN1c3RvbS1idXR0b24veG1sLXRhZy1idXR0b24uY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nyb2NvLWh0bWwtYnV0dG9uLWVkaXRvcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRGb3JtRmllbGQsXG4gICAgTWF0SW5wdXQsXG4gICAgTWF0TGFiZWwsXG4gICAgWG1sVGFnQnV0dG9uQ29tcG9uZW50XG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24tZWRpdG9yLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25FZGl0b3JDb21wb25lbnQge1xuICBASW5wdXQoKVxuICB0YWc6IEh0bWxCb2R5VGFnO1xuXG4gIEBPdXRwdXQoKVxuICBvblRhZ1VwZGF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEh0bWxCb2R5VGFnPigpO1xuXG4gIHRhZ0RhdGE6IEJ1dHRvblRhZ0RhdGEgPSB7XG4gICAgdHlwZTogJycsXG4gICAgdGV4dDogJycsXG4gICAgY2xpY2s6ICcnXG4gIH07XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMudGFnLmF0dHJpYnV0ZXMgYXMgQnV0dG9uVGFnRGF0YTtcbiAgICB0aGlzLnRhZ0RhdGEudHlwZSA9IGRhdGEudHlwZTtcbiAgICB0aGlzLnRhZ0RhdGEudGV4dCA9IGRhdGEudGV4dDtcbiAgICB0aGlzLnRhZ0RhdGEuY2xpY2sgPSBkYXRhLmNsaWNrO1xuICB9XG5cbiAgbGlua0NoYW5nZWQoKSB7XG4gICAgdGhpcy50YWcuYXR0cmlidXRlcyA9IHRoaXMudGFnRGF0YTtcbiAgfVxufVxuIiwiQGlmICh0YWcucHJlc2VudE9yRWRpdCkge1xuICA8ZGl2PlxuICAgIDxkaXY+XG4gICAgICDQotC40L86IHt7dGFnRGF0YS50eXBlfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAxMHB4O1wiPjwvZGl2PlxuICAgIDxkaXY+XG4gICAgICDQotC10LrRgdGCOiB7e3RhZ0RhdGEudGV4dH19XG4gICAgPC9kaXY+XG4gICAgPGRpdiBzdHlsZT1cImhlaWdodDogMTBweDtcIj48L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAg0J7QsdGA0LDQsdC+0YLRh9C40Log0L3QsNC20LDRgtC40Y86IHt7dGFnRGF0YS5jbGlja319XG4gICAgPC9kaXY+XG4gICAgPGRpdiBzdHlsZT1cImhlaWdodDogMTBweDtcIj48L2Rpdj5cbiAgICA8Y3JvY28taHRtbC14bWwtdGFnLWJ1dHRvbiBbdGFnRGF0YV09XCJ0YWdEYXRhXCI+PC9jcm9jby1odG1sLXhtbC10YWctYnV0dG9uPlxuICA8L2Rpdj5cbn0gQGVsc2Uge1xuICA8ZGl2PlxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInctMTAwXCI+XG4gICAgICA8bWF0LWxhYmVsPlxuICAgICAgICDQotC40L9cbiAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwi0KLQuNC/XCJcbiAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidGFnRGF0YS50eXBlXCJcbiAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJsaW5rQ2hhbmdlZCgpXCI+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInctMTAwXCI+XG4gICAgICA8bWF0LWxhYmVsPlxuICAgICAgICDQotC10LrRgdGCXG4gICAgICA8L21hdC1sYWJlbD5cbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cItCi0LXQutGB0YJcIlxuICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ0YWdEYXRhLnRleHRcIlxuICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImxpbmtDaGFuZ2VkKClcIj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwidy0xMDBcIj5cbiAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgINCe0LHRgNCw0LHQvtGC0YfQuNC6INC90LDQttCw0YLQuNGPXG4gICAgICA8L21hdC1sYWJlbD5cbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cItCe0LHRgNCw0LHQvtGC0YfQuNC6INC90LDQttCw0YLQuNGPXCJcbiAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidGFnRGF0YS5jbGlja1wiXG4gICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwibGlua0NoYW5nZWQoKVwiPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxufVxuIl19
@@ -1,41 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { FormsModule } from "@angular/forms";
3
- import { MatFormField, MatLabel } from "@angular/material/form-field";
4
- import { MatInput } from "@angular/material/input";
5
- import { CustomWidgetMethods } from "../../../extensions";
6
- import { XmlTagCustomWidgetComponent } from "../../xml-tags";
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/forms";
9
- export class CustomWidgetEditorComponent {
10
- constructor() {
11
- this.onTagUpdated = new EventEmitter();
12
- this.tagData = {
13
- type: '',
14
- dataId: '',
15
- widgetId: ''
16
- };
17
- }
18
- ngOnInit() {
19
- this.tagData = CustomWidgetMethods.ExtractCustomWidgetTagData(this.tag.attributes);
20
- }
21
- dataChanged() {
22
- this.tag.attributes = CustomWidgetMethods.ExtractCustomWidgetAttributes(this.tagData);
23
- }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomWidgetEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CustomWidgetEditorComponent, isStandalone: true, selector: "croco-html-custom-widget-editor", inputs: { tag: "tag" }, outputs: { onTagUpdated: "onTagUpdated" }, ngImport: i0, template: "@if (tag.presentOrEdit) {\n <div>\n <div>\n <b>type:</b> {{tagData.type}}\n </div>\n <div style=\"height: 10px;\"></div>\n <div>\n <b>data-id:</b> {{tagData.dataId}}\n </div>\n <div style=\"height: 10px;\"></div>\n <div>\n <b>widget-id:</b> {{tagData.widgetId}}\n </div>\n <div style=\"height: 10px;\"></div>\n <croco-html-xml-tag-custom-widget [tagData]=\"tagData\"></croco-html-xml-tag-custom-widget>\n </div>\n} @else {\n <div>\n <mat-form-field class=\"w-100\">\n <mat-label>\n type\n </mat-label>\n <input matInput\n placeholder=\"type\"\n autocomplete=\"off\"\n [(ngModel)]=\"tagData.type\"\n (ngModelChange)=\"dataChanged()\">\n </mat-form-field>\n\n <mat-form-field class=\"w-100\">\n <mat-label>\n data-id\n </mat-label>\n <input matInput\n placeholder=\"data-id\"\n autocomplete=\"off\"\n [(ngModel)]=\"tagData.dataId\"\n (ngModelChange)=\"dataChanged()\">\n </mat-form-field>\n\n <mat-form-field class=\"w-100\">\n <mat-label>\n widget-id\n </mat-label>\n <input matInput\n placeholder=\"widget-id\"\n autocomplete=\"off\"\n [(ngModel)]=\"tagData.widgetId\"\n (ngModelChange)=\"dataChanged()\">\n </mat-form-field>\n </div>\n}\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: XmlTagCustomWidgetComponent, selector: "croco-html-xml-tag-custom-widget", inputs: ["tagData"] }] }); }
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomWidgetEditorComponent, decorators: [{
28
- type: Component,
29
- args: [{ selector: 'croco-html-custom-widget-editor', standalone: true, imports: [
30
- FormsModule,
31
- MatFormField,
32
- MatInput,
33
- MatLabel,
34
- XmlTagCustomWidgetComponent,
35
- ], template: "@if (tag.presentOrEdit) {\n <div>\n <div>\n <b>type:</b> {{tagData.type}}\n </div>\n <div style=\"height: 10px;\"></div>\n <div>\n <b>data-id:</b> {{tagData.dataId}}\n </div>\n <div style=\"height: 10px;\"></div>\n <div>\n <b>widget-id:</b> {{tagData.widgetId}}\n </div>\n <div style=\"height: 10px;\"></div>\n <croco-html-xml-tag-custom-widget [tagData]=\"tagData\"></croco-html-xml-tag-custom-widget>\n </div>\n} @else {\n <div>\n <mat-form-field class=\"w-100\">\n <mat-label>\n type\n </mat-label>\n <input matInput\n placeholder=\"type\"\n autocomplete=\"off\"\n [(ngModel)]=\"tagData.type\"\n (ngModelChange)=\"dataChanged()\">\n </mat-form-field>\n\n <mat-form-field class=\"w-100\">\n <mat-label>\n data-id\n </mat-label>\n <input matInput\n placeholder=\"data-id\"\n autocomplete=\"off\"\n [(ngModel)]=\"tagData.dataId\"\n (ngModelChange)=\"dataChanged()\">\n </mat-form-field>\n\n <mat-form-field class=\"w-100\">\n <mat-label>\n widget-id\n </mat-label>\n <input matInput\n placeholder=\"widget-id\"\n autocomplete=\"off\"\n [(ngModel)]=\"tagData.widgetId\"\n (ngModelChange)=\"dataChanged()\">\n </mat-form-field>\n </div>\n}\n" }]
36
- }], propDecorators: { tag: [{
37
- type: Input
38
- }], onTagUpdated: [{
39
- type: Output
40
- }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXdpZGdldC1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMvZWRpdG9yL2N1c3RvbS13aWRnZXQtZWRpdG9yL2N1c3RvbS13aWRnZXQtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9jdXN0b20td2lkZ2V0LWVkaXRvci9jdXN0b20td2lkZ2V0LWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQXVCLE1BQU0scUJBQXFCLENBQUM7QUFDL0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWM3RCxNQUFNLE9BQU8sMkJBQTJCO0lBWnhDO1FBaUJFLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUUvQyxZQUFPLEdBQXdCO1lBQzdCLElBQUksRUFBRSxFQUFFO1lBQ1IsTUFBTSxFQUFFLEVBQUU7WUFDVixRQUFRLEVBQUUsRUFBRTtTQUNiLENBQUM7S0FTSDtJQVBDLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLG1CQUFtQixDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEYsQ0FBQzsrR0FuQlUsMkJBQTJCO21HQUEzQiwyQkFBMkIsOEpDcEJ4QywwNENBb0RBLDJDRHhDSSxXQUFXLCttQkFDWCxZQUFZLDRMQUNaLFFBQVEsaVVBQ1IsUUFBUSxzREFDUiwyQkFBMkI7OzRGQUlsQiwyQkFBMkI7a0JBWnZDLFNBQVM7K0JBQ0UsaUNBQWlDLGNBQy9CLElBQUksV0FDUDt3QkFDUCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osUUFBUTt3QkFDUixRQUFRO3dCQUNSLDJCQUEyQjtxQkFDNUI7OEJBS0QsR0FBRztzQkFERixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0bWxCb2R5VGFnIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9tb2RlbHNcIjtcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGQsIE1hdExhYmVsIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2lucHV0XCI7XG5pbXBvcnQgeyBDdXN0b21XaWRnZXRNZXRob2RzLCBDdXN0b21XaWRnZXRUYWdEYXRhIH0gZnJvbSBcIi4uLy4uLy4uL2V4dGVuc2lvbnNcIjtcbmltcG9ydCB7IFhtbFRhZ0N1c3RvbVdpZGdldENvbXBvbmVudCB9IGZyb20gXCIuLi8uLi94bWwtdGFnc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcm9jby1odG1sLWN1c3RvbS13aWRnZXQtZWRpdG9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZCxcbiAgICBNYXRJbnB1dCxcbiAgICBNYXRMYWJlbCxcbiAgICBYbWxUYWdDdXN0b21XaWRnZXRDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20td2lkZ2V0LWVkaXRvci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tV2lkZ2V0RWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgdGFnOiBIdG1sQm9keVRhZztcblxuICBAT3V0cHV0KClcbiAgb25UYWdVcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxIdG1sQm9keVRhZz4oKTtcblxuICB0YWdEYXRhOiBDdXN0b21XaWRnZXRUYWdEYXRhID0ge1xuICAgIHR5cGU6ICcnLFxuICAgIGRhdGFJZDogJycsXG4gICAgd2lkZ2V0SWQ6ICcnXG4gIH07XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50YWdEYXRhID0gQ3VzdG9tV2lkZ2V0TWV0aG9kcy5FeHRyYWN0Q3VzdG9tV2lkZ2V0VGFnRGF0YSh0aGlzLnRhZy5hdHRyaWJ1dGVzKTtcbiAgfVxuXG4gIGRhdGFDaGFuZ2VkKCkge1xuICAgIHRoaXMudGFnLmF0dHJpYnV0ZXMgPSBDdXN0b21XaWRnZXRNZXRob2RzLkV4dHJhY3RDdXN0b21XaWRnZXRBdHRyaWJ1dGVzKHRoaXMudGFnRGF0YSk7XG4gIH1cbn1cbiIsIkBpZiAodGFnLnByZXNlbnRPckVkaXQpIHtcbiAgPGRpdj5cbiAgICA8ZGl2PlxuICAgICAgPGI+dHlwZTo8L2I+IHt7dGFnRGF0YS50eXBlfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAxMHB4O1wiPjwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8Yj5kYXRhLWlkOjwvYj4ge3t0YWdEYXRhLmRhdGFJZH19XG4gICAgPC9kaXY+XG4gICAgPGRpdiBzdHlsZT1cImhlaWdodDogMTBweDtcIj48L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPGI+d2lkZ2V0LWlkOjwvYj4ge3t0YWdEYXRhLndpZGdldElkfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAxMHB4O1wiPjwvZGl2PlxuICAgIDxjcm9jby1odG1sLXhtbC10YWctY3VzdG9tLXdpZGdldCBbdGFnRGF0YV09XCJ0YWdEYXRhXCI+PC9jcm9jby1odG1sLXhtbC10YWctY3VzdG9tLXdpZGdldD5cbiAgPC9kaXY+XG59IEBlbHNlIHtcbiAgPGRpdj5cbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ3LTEwMFwiPlxuICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgdHlwZVxuICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInR5cGVcIlxuICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ0YWdEYXRhLnR5cGVcIlxuICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImRhdGFDaGFuZ2VkKClcIj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwidy0xMDBcIj5cbiAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgIGRhdGEtaWRcbiAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0XG4gICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJkYXRhLWlkXCJcbiAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidGFnRGF0YS5kYXRhSWRcIlxuICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImRhdGFDaGFuZ2VkKClcIj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwidy0xMDBcIj5cbiAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgIHdpZGdldC1pZFxuICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIndpZGdldC1pZFwiXG4gICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInRhZ0RhdGEud2lkZ2V0SWRcIlxuICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImRhdGFDaGFuZ2VkKClcIj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cbn1cbiJdfQ==
@@ -1,42 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { MatFormField, MatFormFieldModule } from "@angular/material/form-field";
3
- import { MatInput } from "@angular/material/input";
4
- import { FormsModule, ReactiveFormsModule } from "@angular/forms";
5
- import { XmlTagDownloadFileButtonComponent } from "../../xml-tags/xml-tag-download-file-button/xml-tag-download-file-button.component";
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/forms";
8
- import * as i2 from "@angular/material/form-field";
9
- export class DownloadFileButtonEditorComponent {
10
- constructor() {
11
- this.onTagUpdated = new EventEmitter();
12
- this.tagData = {
13
- link: '',
14
- title: ''
15
- };
16
- }
17
- ngOnInit() {
18
- this.tagData.link = this.tag.attributes.link;
19
- this.tagData.title = this.tag.attributes.title;
20
- }
21
- linkChanged() {
22
- this.tag.attributes = this.tagData;
23
- }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DownloadFileButtonEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DownloadFileButtonEditorComponent, isStandalone: true, selector: "croco-html-download-file-button-editor", inputs: { tag: "tag" }, outputs: { onTagUpdated: "onTagUpdated" }, ngImport: i0, template: "@if (tag.presentOrEdit) {\n <div>\n <div>\n \u0421\u0441\u044B\u043B\u043A\u0430 \u0434\u043B\u044F \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u043D\u0438\u044F: {{tagData.link}}\n </div>\n <div style=\"height: 10px;\"></div>\n <div>\n \u0422\u0435\u043A\u0441\u0442 \u043A\u043D\u043E\u043F\u043A\u0438: {{tagData.title}}\n </div>\n <div style=\"height: 20px;\"></div>\n <croco-html-xml-tag-download-file-button [tagData]=\"tagData\"></croco-html-xml-tag-download-file-button>\n </div>\n}\n\n@if (!tag.presentOrEdit) {\n <div>\n <mat-form-field class=\"w-100\">\n <mat-label>\n \u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0430 \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u043D\u0438\u0435\n </mat-label>\n <input matInput placeholder=\"\u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0430 \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u043D\u0438\u0435\"\n autocomplete=\"off\"\n [(ngModel)]=\"tagData.link\"\n (ngModelChange)=\"linkChanged()\">\n </mat-form-field>\n\n <mat-form-field class=\"w-100\">\n <mat-label>\n \u0422\u0435\u043A\u0441\u0442 \u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0435\n </mat-label>\n <input matInput placeholder=\"\u0422\u0435\u043A\u0441\u0442 \u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0435\"\n autocomplete=\"off\"\n [(ngModel)]=\"tagData.title\"\n (ngModelChange)=\"linkChanged()\">\n </mat-form-field>\n </div>\n}\n", dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: XmlTagDownloadFileButtonComponent, selector: "croco-html-xml-tag-download-file-button", inputs: ["data", "tagData"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }] }); }
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DownloadFileButtonEditorComponent, decorators: [{
28
- type: Component,
29
- args: [{ selector: 'croco-html-download-file-button-editor', standalone: true, imports: [
30
- MatFormField,
31
- MatInput,
32
- ReactiveFormsModule,
33
- FormsModule,
34
- XmlTagDownloadFileButtonComponent,
35
- MatFormFieldModule
36
- ], template: "@if (tag.presentOrEdit) {\n <div>\n <div>\n \u0421\u0441\u044B\u043B\u043A\u0430 \u0434\u043B\u044F \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u043D\u0438\u044F: {{tagData.link}}\n </div>\n <div style=\"height: 10px;\"></div>\n <div>\n \u0422\u0435\u043A\u0441\u0442 \u043A\u043D\u043E\u043F\u043A\u0438: {{tagData.title}}\n </div>\n <div style=\"height: 20px;\"></div>\n <croco-html-xml-tag-download-file-button [tagData]=\"tagData\"></croco-html-xml-tag-download-file-button>\n </div>\n}\n\n@if (!tag.presentOrEdit) {\n <div>\n <mat-form-field class=\"w-100\">\n <mat-label>\n \u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0430 \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u043D\u0438\u0435\n </mat-label>\n <input matInput placeholder=\"\u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0430 \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u043D\u0438\u0435\"\n autocomplete=\"off\"\n [(ngModel)]=\"tagData.link\"\n (ngModelChange)=\"linkChanged()\">\n </mat-form-field>\n\n <mat-form-field class=\"w-100\">\n <mat-label>\n \u0422\u0435\u043A\u0441\u0442 \u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0435\n </mat-label>\n <input matInput placeholder=\"\u0422\u0435\u043A\u0441\u0442 \u043D\u0430 \u043A\u043D\u043E\u043F\u043A\u0435\"\n autocomplete=\"off\"\n [(ngModel)]=\"tagData.title\"\n (ngModelChange)=\"linkChanged()\">\n </mat-form-field>\n </div>\n}\n" }]
37
- }], propDecorators: { tag: [{
38
- type: Input
39
- }], onTagUpdated: [{
40
- type: Output
41
- }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQtZmlsZS1idXR0b24tZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9kb3dubG9hZC1maWxlLWJ1dHRvbi1lZGl0b3IvZG93bmxvYWQtZmlsZS1idXR0b24tZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9kb3dubG9hZC1maWxlLWJ1dHRvbi1lZGl0b3IvZG93bmxvYWQtZmlsZS1idXR0b24tZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sb0ZBQW9GLENBQUM7Ozs7QUFnQnZJLE1BQU0sT0FBTyxpQ0FBaUM7SUFiOUM7UUFtQkUsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBRS9DLFlBQU8sR0FBMEI7WUFDL0IsSUFBSSxFQUFFLEVBQUU7WUFDUixLQUFLLEVBQUUsRUFBRTtTQUNWLENBQUM7S0FVSDtJQVJDLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksR0FBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQW9DLENBQUMsSUFBSSxDQUFDO1FBQ3hFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBb0MsQ0FBQyxLQUFLLENBQUM7SUFDNUUsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3JDLENBQUM7K0dBcEJVLGlDQUFpQzttR0FBakMsaUNBQWlDLHFLQ3JCOUMsMmpEQXFDQSw0Q0R6QkksWUFBWSw0TEFDWixRQUFRLGdVQUNSLG1CQUFtQixzWkFDbkIsV0FBVyx1UEFDWCxpQ0FBaUMsZ0hBQ2pDLGtCQUFrQjs7NEZBSVQsaUNBQWlDO2tCQWI3QyxTQUFTOytCQUNFLHdDQUF3QyxjQUN0QyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixRQUFRO3dCQUNSLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxpQ0FBaUM7d0JBQ2pDLGtCQUFrQjtxQkFDbkI7OEJBTUQsR0FBRztzQkFERixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGQsIE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XG5pbXBvcnQgeyBNYXRJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pbnB1dFwiO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEh0bWxCb2R5VGFnIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9tb2RlbHNcIjtcbmltcG9ydCB7IFhtbFRhZ0Rvd25sb2FkRmlsZUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi94bWwtdGFncy94bWwtdGFnLWRvd25sb2FkLWZpbGUtYnV0dG9uL3htbC10YWctZG93bmxvYWQtZmlsZS1idXR0b24uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBEb3dubG9hZEJ1dHRvblRhZ0RhdGEgfSBmcm9tIFwiLi4vLi4vLi4vZXh0ZW5zaW9ucy9Eb3dubG9hZEJ1dHRvbk1ldGhvZHNcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3JvY28taHRtbC1kb3dubG9hZC1maWxlLWJ1dHRvbi1lZGl0b3InLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0Rm9ybUZpZWxkLFxuICAgIE1hdElucHV0LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgWG1sVGFnRG93bmxvYWRGaWxlQnV0dG9uQ29tcG9uZW50LFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vZG93bmxvYWQtZmlsZS1idXR0b24tZWRpdG9yLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBEb3dubG9hZEZpbGVCdXR0b25FZGl0b3JDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpXG4gIHRhZzogSHRtbEJvZHlUYWc7XG5cbiAgQE91dHB1dCgpXG4gIG9uVGFnVXBkYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8SHRtbEJvZHlUYWc+KCk7XG5cbiAgdGFnRGF0YTogRG93bmxvYWRCdXR0b25UYWdEYXRhID0ge1xuICAgIGxpbms6ICcnLFxuICAgIHRpdGxlOiAnJ1xuICB9O1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudGFnRGF0YS5saW5rID0gKHRoaXMudGFnLmF0dHJpYnV0ZXMgYXMgRG93bmxvYWRCdXR0b25UYWdEYXRhKS5saW5rO1xuICAgIHRoaXMudGFnRGF0YS50aXRsZSA9ICh0aGlzLnRhZy5hdHRyaWJ1dGVzIGFzIERvd25sb2FkQnV0dG9uVGFnRGF0YSkudGl0bGU7XG4gIH1cblxuICBsaW5rQ2hhbmdlZCgpIHtcbiAgICB0aGlzLnRhZy5hdHRyaWJ1dGVzID0gdGhpcy50YWdEYXRhO1xuICB9XG59XG4iLCJAaWYgKHRhZy5wcmVzZW50T3JFZGl0KSB7XG4gIDxkaXY+XG4gICAgPGRpdj5cbiAgICAgINCh0YHRi9C70LrQsCDQtNC70Y8g0YHQutCw0YfQuNCy0LDQvdC40Y86IHt7dGFnRGF0YS5saW5rfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAxMHB4O1wiPjwvZGl2PlxuICAgIDxkaXY+XG4gICAgICDQotC10LrRgdGCINC60L3QvtC/0LrQuDoge3t0YWdEYXRhLnRpdGxlfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAyMHB4O1wiPjwvZGl2PlxuICAgIDxjcm9jby1odG1sLXhtbC10YWctZG93bmxvYWQtZmlsZS1idXR0b24gW3RhZ0RhdGFdPVwidGFnRGF0YVwiPjwvY3JvY28taHRtbC14bWwtdGFnLWRvd25sb2FkLWZpbGUtYnV0dG9uPlxuICA8L2Rpdj5cbn1cblxuQGlmICghdGFnLnByZXNlbnRPckVkaXQpIHtcbiAgICAgIDxkaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInctMTAwXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgINCh0YHRi9C70LrQsCDQvdCwINGB0LrQsNGH0LjQstCw0L3QuNC1XG4gICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwi0KHRgdGL0LvQutCwINC90LAg0YHQutCw0YfQuNCy0LDQvdC40LVcIlxuICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInRhZ0RhdGEubGlua1wiXG4gICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImxpbmtDaGFuZ2VkKClcIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ3LTEwMFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICDQotC10LrRgdGCINC90LAg0LrQvdC+0L/QutC1XG4gICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwi0KLQtdC60YHRgiDQvdCwINC60L3QvtC/0LrQtVwiXG4gICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidGFnRGF0YS50aXRsZVwiXG4gICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImxpbmtDaGFuZ2VkKClcIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxufVxuIl19
@@ -1,29 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/platform-browser";
4
- export class CodeVideoComponent {
5
- set _useResponsiveWrapper(useResponsiveWrapper) {
6
- this.useResponsiveWrapper = useResponsiveWrapper;
7
- }
8
- constructor(_sanitizer) {
9
- this._sanitizer = _sanitizer;
10
- this.code = "";
11
- this.useResponsiveWrapper = false;
12
- }
13
- ngOnChanges(changes) {
14
- if (changes['code'] && changes['code'].currentValue !== changes['code'].previousValue) {
15
- this.safeHtml = this._sanitizer.bypassSecurityTrustHtml(this.code);
16
- }
17
- }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CodeVideoComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CodeVideoComponent, isStandalone: true, selector: "code-video", inputs: { code: "code", _useResponsiveWrapper: "_useResponsiveWrapper" }, usesOnChanges: true, ngImport: i0, template: "@if (code) {\n <div class=\"code-view video-player\" [class.use-responsive]=\"useResponsiveWrapper\" [innerHTML]=\"safeHtml\"></div>\n}\n", styles: [".code-view.video-player{margin:0 auto;max-width:640px;width:100%;height:360px}.code-view.use-responsive ::ng-deep iframe{width:100%;height:100%}@media screen and (max-width: 768px){.code-view.use-responsive{height:300px}}@media screen and (max-width: 575px){.code-view.use-responsive{height:250px}}@media screen and (max-width: 480px){.code-view.use-responsive{height:200px}}@media screen and (max-width: 380px){.code-view.use-responsive{height:180px}}\n"] }); }
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CodeVideoComponent, decorators: [{
22
- type: Component,
23
- args: [{ selector: 'code-video', standalone: true, imports: [], template: "@if (code) {\n <div class=\"code-view video-player\" [class.use-responsive]=\"useResponsiveWrapper\" [innerHTML]=\"safeHtml\"></div>\n}\n", styles: [".code-view.video-player{margin:0 auto;max-width:640px;width:100%;height:360px}.code-view.use-responsive ::ng-deep iframe{width:100%;height:100%}@media screen and (max-width: 768px){.code-view.use-responsive{height:300px}}@media screen and (max-width: 575px){.code-view.use-responsive{height:250px}}@media screen and (max-width: 480px){.code-view.use-responsive{height:200px}}@media screen and (max-width: 380px){.code-view.use-responsive{height:180px}}\n"] }]
24
- }], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { code: [{
25
- type: Input
26
- }], _useResponsiveWrapper: [{
27
- type: Input
28
- }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS12aWRlby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvY29tcG9uZW50cy9lZGl0b3IvZXh0ZXJuYWwtdmlkZW8tZWRpdG9yL2VtYmVkZGVkLXZpZGVvL2NvZGUtdmlkZW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMvZWRpdG9yL2V4dGVybmFsLXZpZGVvLWVkaXRvci9lbWJlZGRlZC12aWRlby9jb2RlLXZpZGVvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7O0FBVTNFLE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsSUFBYSxxQkFBcUIsQ0FBQyxvQkFBNkI7UUFDOUQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDO0lBQ25ELENBQUM7SUFNRCxZQUE2QixVQUF3QjtRQUF4QixlQUFVLEdBQVYsVUFBVSxDQUFjO1FBVDVDLFNBQUksR0FBRyxFQUFFLENBQUM7UUFLbkIseUJBQW9CLEdBQUcsS0FBSyxDQUFBO0lBSTZCLENBQUM7SUFFMUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLEtBQUssT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3RGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckUsQ0FBQztJQUNILENBQUM7K0dBakJVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHFLQ1YvQiw0SUFHQTs7NEZET2Esa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLFlBQVksY0FDVixJQUFJLFdBQ1AsRUFBRTtpRkFNRixJQUFJO3NCQUFaLEtBQUs7Z0JBQ08scUJBQXFCO3NCQUFqQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29kZS12aWRlbycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtdLFxuICB0ZW1wbGF0ZVVybDogJy4vY29kZS12aWRlby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi4vZXh0ZXJuYWwtdmlkZW8tZWRpdG9yLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBDb2RlVmlkZW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpIGNvZGUgPSBcIlwiO1xuICBASW5wdXQoKSBzZXQgX3VzZVJlc3BvbnNpdmVXcmFwcGVyKHVzZVJlc3BvbnNpdmVXcmFwcGVyOiBib29sZWFuKSB7XG4gICAgdGhpcy51c2VSZXNwb25zaXZlV3JhcHBlciA9IHVzZVJlc3BvbnNpdmVXcmFwcGVyO1xuICB9XG5cbiAgdXNlUmVzcG9uc2l2ZVdyYXBwZXIgPSBmYWxzZVxuXG4gIHNhZmVIdG1sOiBTYWZlSHRtbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF9zYW5pdGl6ZXI6IERvbVNhbml0aXplcikgeyB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydjb2RlJ10gJiYgY2hhbmdlc1snY29kZSddLmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlc1snY29kZSddLnByZXZpb3VzVmFsdWUpIHtcbiAgICAgIHRoaXMuc2FmZUh0bWwgPSB0aGlzLl9zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGhpcy5jb2RlKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpZiAoY29kZSkge1xuICA8ZGl2IGNsYXNzPVwiY29kZS12aWV3IHZpZGVvLXBsYXllclwiIFtjbGFzcy51c2UtcmVzcG9uc2l2ZV09XCJ1c2VSZXNwb25zaXZlV3JhcHBlclwiIFtpbm5lckhUTUxdPVwic2FmZUh0bWxcIj48L2Rpdj5cbn1cbiJdfQ==
@@ -1,84 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { ExternalVideoSupportedTypes, } from '../../../extensions';
3
- import { MatFormFieldModule } from '@angular/material/form-field';
4
- import { FormsModule } from '@angular/forms';
5
- import { XmlTagExternalVideoComponent } from '../../xml-tags';
6
- import { MatInputModule } from '@angular/material/input';
7
- import { MatCheckbox } from "@angular/material/checkbox";
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/material/form-field";
10
- import * as i2 from "@angular/material/input";
11
- import * as i3 from "@angular/cdk/text-field";
12
- import * as i4 from "@angular/forms";
13
- export class ExternalVideoEditorComponent {
14
- constructor() {
15
- this.onTagUpdated = new EventEmitter();
16
- this.ExternalVideoSupportedTypes = ExternalVideoSupportedTypes;
17
- this.tagData = {
18
- link: '',
19
- innerHtml: '',
20
- type: ExternalVideoSupportedTypes.Youtube,
21
- useResponsiveWrapper: false,
22
- };
23
- this.linkText = '';
24
- }
25
- ngOnInit() {
26
- const { link, type, useResponsiveWrapper } = this.tag.attributes;
27
- this.tagData = {
28
- link,
29
- type,
30
- useResponsiveWrapper,
31
- innerHtml: this.tag.innerHtml
32
- };
33
- switch (this.tagData.type) {
34
- case ExternalVideoSupportedTypes.Youtube: {
35
- this.linkText = 'Ссылка на YouTube';
36
- break;
37
- }
38
- case ExternalVideoSupportedTypes.VkVideo: {
39
- this.linkText = 'Ссылка на Vk Video';
40
- break;
41
- }
42
- case ExternalVideoSupportedTypes.Code: {
43
- this.linkText = 'Встраиваемый код';
44
- break;
45
- }
46
- }
47
- }
48
- linkChanged() {
49
- if (this.tagData.link.includes('iframe')) {
50
- this.createLinkByIFrame();
51
- }
52
- const { innerHtml, ...tagData } = this.tagData;
53
- this.tag.attributes = tagData;
54
- this.tag.innerHtml = innerHtml;
55
- }
56
- onCheck(checked) {
57
- this.tagData.useResponsiveWrapper = checked;
58
- this.linkChanged();
59
- }
60
- createLinkByIFrame() {
61
- const parser = new DOMParser();
62
- const document = parser.parseFromString(this.tagData.link, "text/html");
63
- const elem = document.body.children[0];
64
- const src = elem.getAttribute("src");
65
- this.tagData.link = src;
66
- }
67
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExternalVideoEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
68
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ExternalVideoEditorComponent, isStandalone: true, selector: "croco-html-external-video-editor", inputs: { tag: "tag" }, outputs: { onTagUpdated: "onTagUpdated" }, ngImport: i0, template: "@if (tag.presentOrEdit) {\n <div>\n <div>\n @switch (tagData.type) {\n @case (ExternalVideoSupportedTypes.VkVideo) {\n {{linkText}}: {{tagData.link}}\n }\n @case (ExternalVideoSupportedTypes.Youtube) {\n {{linkText}}: {{tagData.link}}\n }\n @case (ExternalVideoSupportedTypes.Code) {\n <div>\n \u0412\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043C\u044B\u0439 \u043A\u043E\u0434 \u043F\u043B\u0435\u0435\u0440\u0430.\n </div>\n }\n }\n </div>\n <div style=\"height: 10px;\"></div>\n <croco-html-xml-tag-external-video [tagData]=\"tagData\"></croco-html-xml-tag-external-video>\n </div>\n}\n\n@if (!tag.presentOrEdit) {\n @if(tagData.type !== ExternalVideoSupportedTypes.Code) {\n <div>\n <mat-form-field class=\"w-100\">\n <mat-label>\n {{linkText}}\n </mat-label>\n <input matInput placeholder=\"{{linkText}}\"\n autocomplete=\"off\"\n [(ngModel)]=\"tagData.link\"\n (ngModelChange)=\"linkChanged()\">\n </mat-form-field>\n </div>\n } @else {\n <div>\n <mat-label>\n {{linkText}}\n </mat-label>\n <mat-form-field class=\"w-100\">\n <mat-label>\u0420\u0430\u0437\u043C\u0435\u0442\u043A\u0430</mat-label>\n <textarea\n #autosize=\"cdkTextareaAutosize\"\n matInput\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"1\"\n cdkAutosizeMaxRows=\"5\"\n placeholder=\"\u0422\u0435\u043A\u0441\u0442\"\n #textArea\n [(ngModel)]=\"tagData.innerHtml\"\n (ngModelChange)=\"linkChanged()\"\n ></textarea>\n </mat-form-field>\n\n <mat-checkbox\n [checked]=\"tagData.useResponsiveWrapper\"\n (change)=\"onCheck($event.checked)\"\n >\n \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0430\u0434\u0430\u043F\u0442\u0438\u0432?\n </mat-checkbox>\n </div>\n }\n}\n", styles: [".code-view.video-player{margin:0 auto;max-width:640px;width:100%;height:360px}.code-view.use-responsive ::ng-deep iframe{width:100%;height:100%}@media screen and (max-width: 768px){.code-view.use-responsive{height:300px}}@media screen and (max-width: 575px){.code-view.use-responsive{height:250px}}@media screen and (max-width: 480px){.code-view.use-responsive{height:200px}}@media screen and (max-width: 380px){.code-view.use-responsive{height:180px}}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i3.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: XmlTagExternalVideoComponent, selector: "croco-html-xml-tag-external-video", inputs: ["data", "tagData"] }, { kind: "component", type: MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }] }); }
69
- }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExternalVideoEditorComponent, decorators: [{
71
- type: Component,
72
- args: [{ selector: 'croco-html-external-video-editor', standalone: true, imports: [
73
- MatFormFieldModule,
74
- MatInputModule,
75
- FormsModule,
76
- XmlTagExternalVideoComponent,
77
- MatCheckbox,
78
- ], template: "@if (tag.presentOrEdit) {\n <div>\n <div>\n @switch (tagData.type) {\n @case (ExternalVideoSupportedTypes.VkVideo) {\n {{linkText}}: {{tagData.link}}\n }\n @case (ExternalVideoSupportedTypes.Youtube) {\n {{linkText}}: {{tagData.link}}\n }\n @case (ExternalVideoSupportedTypes.Code) {\n <div>\n \u0412\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043C\u044B\u0439 \u043A\u043E\u0434 \u043F\u043B\u0435\u0435\u0440\u0430.\n </div>\n }\n }\n </div>\n <div style=\"height: 10px;\"></div>\n <croco-html-xml-tag-external-video [tagData]=\"tagData\"></croco-html-xml-tag-external-video>\n </div>\n}\n\n@if (!tag.presentOrEdit) {\n @if(tagData.type !== ExternalVideoSupportedTypes.Code) {\n <div>\n <mat-form-field class=\"w-100\">\n <mat-label>\n {{linkText}}\n </mat-label>\n <input matInput placeholder=\"{{linkText}}\"\n autocomplete=\"off\"\n [(ngModel)]=\"tagData.link\"\n (ngModelChange)=\"linkChanged()\">\n </mat-form-field>\n </div>\n } @else {\n <div>\n <mat-label>\n {{linkText}}\n </mat-label>\n <mat-form-field class=\"w-100\">\n <mat-label>\u0420\u0430\u0437\u043C\u0435\u0442\u043A\u0430</mat-label>\n <textarea\n #autosize=\"cdkTextareaAutosize\"\n matInput\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"1\"\n cdkAutosizeMaxRows=\"5\"\n placeholder=\"\u0422\u0435\u043A\u0441\u0442\"\n #textArea\n [(ngModel)]=\"tagData.innerHtml\"\n (ngModelChange)=\"linkChanged()\"\n ></textarea>\n </mat-form-field>\n\n <mat-checkbox\n [checked]=\"tagData.useResponsiveWrapper\"\n (change)=\"onCheck($event.checked)\"\n >\n \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0430\u0434\u0430\u043F\u0442\u0438\u0432?\n </mat-checkbox>\n </div>\n }\n}\n", styles: [".code-view.video-player{margin:0 auto;max-width:640px;width:100%;height:360px}.code-view.use-responsive ::ng-deep iframe{width:100%;height:100%}@media screen and (max-width: 768px){.code-view.use-responsive{height:300px}}@media screen and (max-width: 575px){.code-view.use-responsive{height:250px}}@media screen and (max-width: 480px){.code-view.use-responsive{height:200px}}@media screen and (max-width: 380px){.code-view.use-responsive{height:180px}}\n"] }]
79
- }], propDecorators: { tag: [{
80
- type: Input
81
- }], onTagUpdated: [{
82
- type: Output
83
- }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtdmlkZW8tZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9leHRlcm5hbC12aWRlby1lZGl0b3IvZXh0ZXJuYWwtdmlkZW8tZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9leHRlcm5hbC12aWRlby1lZGl0b3IvZXh0ZXJuYWwtdmlkZW8tZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUVMLDJCQUEyQixHQUM1QixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFlekQsTUFBTSxPQUFPLDRCQUE0QjtJQWJ6QztRQW1CRSxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFFNUIsZ0NBQTJCLEdBQUcsMkJBQTJCLENBQUM7UUFFN0UsWUFBTyxHQUF5QjtZQUM5QixJQUFJLEVBQUUsRUFBRTtZQUNSLFNBQVMsRUFBRSxFQUFFO1lBQ2IsSUFBSSxFQUFFLDJCQUEyQixDQUFDLE9BQU87WUFDekMsb0JBQW9CLEVBQUUsS0FBSztTQUM1QixDQUFDO1FBRUYsYUFBUSxHQUFHLEVBQUUsQ0FBQztLQWtEZjtJQWhEQyxRQUFRO1FBQ04sTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQWtDLENBQUM7UUFFekYsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNiLElBQUk7WUFDSixJQUFJO1lBQ0osb0JBQW9CO1lBQ3BCLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVM7U0FDOUIsQ0FBQTtRQUVELFFBQVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMxQixLQUFLLDJCQUEyQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsbUJBQW1CLENBQUE7Z0JBQ25DLE1BQU07WUFDUixDQUFDO1lBQ0QsS0FBSywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLG9CQUFvQixDQUFBO2dCQUNwQyxNQUFNO1lBQ1IsQ0FBQztZQUNELEtBQUssMkJBQTJCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQTtnQkFDbEMsTUFBTTtZQUNSLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO1FBQzNCLENBQUM7UUFFRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMvQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO0lBQ2hDLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBZ0I7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsR0FBRyxPQUFPLENBQUM7UUFDNUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUMvQixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0lBQzFCLENBQUM7K0dBbEVVLDRCQUE0QjttR0FBNUIsNEJBQTRCLCtKQ3pCekMsa2pFQWdFQSwrZkQ5Q0ksa0JBQWtCLDBTQUNsQixjQUFjLHlrQkFDZCxXQUFXLCttQkFDWCw0QkFBNEIsMkdBQzVCLFdBQVc7OzRGQUdGLDRCQUE0QjtrQkFieEMsU0FBUzsrQkFDRSxrQ0FBa0MsY0FHaEMsSUFBSSxXQUNQO3dCQUNQLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLDRCQUE0Qjt3QkFDNUIsV0FBVztxQkFDWjs4QkFLRCxHQUFHO3NCQURGLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRXh0ZXJuYWxWaWRlb1RhZ0RhdGEsXG4gIEV4dGVybmFsVmlkZW9TdXBwb3J0ZWRUeXBlcyxcbn0gZnJvbSAnLi4vLi4vLi4vZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBIdG1sQm9keVRhZyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9tb2RlbHMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFhtbFRhZ0V4dGVybmFsVmlkZW9Db21wb25lbnQgfSBmcm9tICcuLi8uLi94bWwtdGFncyc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdENoZWNrYm94IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nyb2NvLWh0bWwtZXh0ZXJuYWwtdmlkZW8tZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V4dGVybmFsLXZpZGVvLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2V4dGVybmFsLXZpZGVvLWVkaXRvci5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFhtbFRhZ0V4dGVybmFsVmlkZW9Db21wb25lbnQsXG4gICAgTWF0Q2hlY2tib3gsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRXh0ZXJuYWxWaWRlb0VkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgdGFnOiBIdG1sQm9keVRhZztcblxuICBAT3V0cHV0KClcbiAgb25UYWdVcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxIdG1sQm9keVRhZz4oKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgRXh0ZXJuYWxWaWRlb1N1cHBvcnRlZFR5cGVzID0gRXh0ZXJuYWxWaWRlb1N1cHBvcnRlZFR5cGVzO1xuXG4gIHRhZ0RhdGE6IEV4dGVybmFsVmlkZW9UYWdEYXRhID0ge1xuICAgIGxpbms6ICcnLFxuICAgIGlubmVySHRtbDogJycsXG4gICAgdHlwZTogRXh0ZXJuYWxWaWRlb1N1cHBvcnRlZFR5cGVzLllvdXR1YmUsXG4gICAgdXNlUmVzcG9uc2l2ZVdyYXBwZXI6IGZhbHNlLFxuICB9O1xuXG4gIGxpbmtUZXh0ID0gJyc7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgeyBsaW5rLCB0eXBlLCB1c2VSZXNwb25zaXZlV3JhcHBlciB9ID0gdGhpcy50YWcuYXR0cmlidXRlcyBhcyBFeHRlcm5hbFZpZGVvVGFnRGF0YTtcblxuICAgIHRoaXMudGFnRGF0YSA9IHtcbiAgICAgIGxpbmssXG4gICAgICB0eXBlLFxuICAgICAgdXNlUmVzcG9uc2l2ZVdyYXBwZXIsXG4gICAgICBpbm5lckh0bWw6IHRoaXMudGFnLmlubmVySHRtbFxuICAgIH1cblxuICAgIHN3aXRjaCAodGhpcy50YWdEYXRhLnR5cGUpIHtcbiAgICAgIGNhc2UgRXh0ZXJuYWxWaWRlb1N1cHBvcnRlZFR5cGVzLllvdXR1YmU6IHtcbiAgICAgICAgdGhpcy5saW5rVGV4dCA9ICfQodGB0YvQu9C60LAg0L3QsCBZb3VUdWJlJ1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgRXh0ZXJuYWxWaWRlb1N1cHBvcnRlZFR5cGVzLlZrVmlkZW86IHtcbiAgICAgICAgdGhpcy5saW5rVGV4dCA9ICfQodGB0YvQu9C60LAg0L3QsCBWayBWaWRlbydcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIEV4dGVybmFsVmlkZW9TdXBwb3J0ZWRUeXBlcy5Db2RlOiB7XG4gICAgICAgIHRoaXMubGlua1RleHQgPSAn0JLRgdGC0YDQsNC40LLQsNC10LzRi9C5INC60L7QtCdcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGlua0NoYW5nZWQoKSB7XG4gICAgaWYgKHRoaXMudGFnRGF0YS5saW5rLmluY2x1ZGVzKCdpZnJhbWUnKSkge1xuICAgICAgdGhpcy5jcmVhdGVMaW5rQnlJRnJhbWUoKVxuICAgIH1cblxuICAgIGNvbnN0IHsgaW5uZXJIdG1sLCAuLi50YWdEYXRhIH0gPSB0aGlzLnRhZ0RhdGE7XG4gICAgdGhpcy50YWcuYXR0cmlidXRlcyA9IHRhZ0RhdGE7XG4gICAgdGhpcy50YWcuaW5uZXJIdG1sID0gaW5uZXJIdG1sXG4gIH1cblxuICBvbkNoZWNrKGNoZWNrZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnRhZ0RhdGEudXNlUmVzcG9uc2l2ZVdyYXBwZXIgPSBjaGVja2VkO1xuICAgIHRoaXMubGlua0NoYW5nZWQoKTtcbiAgfVxuXG4gIGNyZWF0ZUxpbmtCeUlGcmFtZSgpIHtcbiAgICBjb25zdCBwYXJzZXIgPSBuZXcgRE9NUGFyc2VyKCk7XG4gICAgY29uc3QgZG9jdW1lbnQgPSBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKHRoaXMudGFnRGF0YS5saW5rLCBcInRleHQvaHRtbFwiKTtcbiAgICBjb25zdCBlbGVtID0gZG9jdW1lbnQuYm9keS5jaGlsZHJlblswXTtcbiAgICBjb25zdCBzcmMgPSBlbGVtLmdldEF0dHJpYnV0ZShcInNyY1wiKTtcbiAgICB0aGlzLnRhZ0RhdGEubGluayA9IHNyYztcbiAgfVxufVxuIiwiQGlmICh0YWcucHJlc2VudE9yRWRpdCkge1xuICA8ZGl2PlxuICAgIDxkaXY+XG4gICAgICBAc3dpdGNoICh0YWdEYXRhLnR5cGUpIHtcbiAgICAgICAgQGNhc2UgKEV4dGVybmFsVmlkZW9TdXBwb3J0ZWRUeXBlcy5Wa1ZpZGVvKSB7XG4gICAgICAgICAge3tsaW5rVGV4dH19OiB7e3RhZ0RhdGEubGlua319XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKEV4dGVybmFsVmlkZW9TdXBwb3J0ZWRUeXBlcy5Zb3V0dWJlKSB7XG4gICAgICAgICAge3tsaW5rVGV4dH19OiB7e3RhZ0RhdGEubGlua319XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKEV4dGVybmFsVmlkZW9TdXBwb3J0ZWRUeXBlcy5Db2RlKSB7XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgINCS0YHRgtGA0LDQuNCy0LDQtdC80YvQuSDQutC+0LQg0L/Qu9C10LXRgNCwLlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgPGRpdiBzdHlsZT1cImhlaWdodDogMTBweDtcIj48L2Rpdj5cbiAgICA8Y3JvY28taHRtbC14bWwtdGFnLWV4dGVybmFsLXZpZGVvIFt0YWdEYXRhXT1cInRhZ0RhdGFcIj48L2Nyb2NvLWh0bWwteG1sLXRhZy1leHRlcm5hbC12aWRlbz5cbiAgPC9kaXY+XG59XG5cbkBpZiAoIXRhZy5wcmVzZW50T3JFZGl0KSB7XG4gIEBpZih0YWdEYXRhLnR5cGUgIT09IEV4dGVybmFsVmlkZW9TdXBwb3J0ZWRUeXBlcy5Db2RlKSB7XG4gICAgPGRpdj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInctMTAwXCI+XG4gICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAge3tsaW5rVGV4dH19XG4gICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJ7e2xpbmtUZXh0fX1cIlxuICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidGFnRGF0YS5saW5rXCJcbiAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImxpbmtDaGFuZ2VkKClcIj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIH0gQGVsc2Uge1xuICAgIDxkaXY+XG4gICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAge3tsaW5rVGV4dH19XG4gICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ3LTEwMFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+0KDQsNC30LzQtdGC0LrQsDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgI2F1dG9zaXplPVwiY2RrVGV4dGFyZWFBdXRvc2l6ZVwiXG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgY2RrVGV4dGFyZWFBdXRvc2l6ZVxuICAgICAgICAgICAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiMVwiXG4gICAgICAgICAgICBjZGtBdXRvc2l6ZU1heFJvd3M9XCI1XCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi0KLQtdC60YHRglwiXG4gICAgICAgICAgICAjdGV4dEFyZWFcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwidGFnRGF0YS5pbm5lckh0bWxcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwibGlua0NoYW5nZWQoKVwiXG4gICAgICAgICAgPjwvdGV4dGFyZWE+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAgIFtjaGVja2VkXT1cInRhZ0RhdGEudXNlUmVzcG9uc2l2ZVdyYXBwZXJcIlxuICAgICAgICAgIChjaGFuZ2UpPVwib25DaGVjaygkZXZlbnQuY2hlY2tlZClcIlxuICAgICAgICA+XG4gICAgICAgICAg0JjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINCw0LTQsNC/0YLQuNCyP1xuICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICA8L2Rpdj5cbiAgfVxufVxuIl19
@@ -1,20 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/platform-browser";
4
- export class VkVideoPlayerComponent {
5
- set link(link) {
6
- this.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(link);
7
- }
8
- constructor(sanitizer) {
9
- this.sanitizer = sanitizer;
10
- }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: VkVideoPlayerComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: VkVideoPlayerComponent, isStandalone: true, selector: "vk-video-player", inputs: { link: "link" }, ngImport: i0, template: "<div class=\"code-view video-player use-responsive\">\n <iframe\n [src]=\"safeUrl\"\n allow=\"autoplay; encrypted-media; fullscreen; picture-in-picture;\"\n frameborder=\"0\"\n allowfullscreen></iframe>\n</div>\n", styles: [".code-view.video-player{margin:0 auto;max-width:640px;width:100%;height:360px}.code-view.use-responsive ::ng-deep iframe{width:100%;height:100%}@media screen and (max-width: 768px){.code-view.use-responsive{height:300px}}@media screen and (max-width: 575px){.code-view.use-responsive{height:250px}}@media screen and (max-width: 480px){.code-view.use-responsive{height:200px}}@media screen and (max-width: 380px){.code-view.use-responsive{height:180px}}\n"] }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: VkVideoPlayerComponent, decorators: [{
15
- type: Component,
16
- args: [{ selector: 'vk-video-player', standalone: true, imports: [], template: "<div class=\"code-view video-player use-responsive\">\n <iframe\n [src]=\"safeUrl\"\n allow=\"autoplay; encrypted-media; fullscreen; picture-in-picture;\"\n frameborder=\"0\"\n allowfullscreen></iframe>\n</div>\n", styles: [".code-view.video-player{margin:0 auto;max-width:640px;width:100%;height:360px}.code-view.use-responsive ::ng-deep iframe{width:100%;height:100%}@media screen and (max-width: 768px){.code-view.use-responsive{height:300px}}@media screen and (max-width: 575px){.code-view.use-responsive{height:250px}}@media screen and (max-width: 480px){.code-view.use-responsive{height:200px}}@media screen and (max-width: 380px){.code-view.use-responsive{height:180px}}\n"] }]
17
- }], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { link: [{
18
- type: Input
19
- }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmstdmlkZW8tcGxheWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9leHRlcm5hbC12aWRlby1lZGl0b3IvdmstdmlkZW8tcGxheWVyL3ZrLXZpZGVvLXBsYXllci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcm9jby1odG1sL3NyYy9saWIvY29tcG9uZW50cy9lZGl0b3IvZXh0ZXJuYWwtdmlkZW8tZWRpdG9yL3ZrLXZpZGVvLXBsYXllci92ay12aWRlby1wbGF5ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVVqRCxNQUFNLE9BQU8sc0JBQXNCO0lBRWpDLElBQWEsSUFBSSxDQUFDLElBQVk7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFJRCxZQUFvQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO0lBQUksQ0FBQzsrR0FSckMsc0JBQXNCO21HQUF0QixzQkFBc0IscUdDVm5DLG1PQU9BOzs0RkRHYSxzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLEVBQUU7aUZBTUUsSUFBSTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmstdmlkZW8tcGxheWVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW10sXG4gIHRlbXBsYXRlVXJsOiAnLi92ay12aWRlby1wbGF5ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4uL2V4dGVybmFsLXZpZGVvLWVkaXRvci5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgVmtWaWRlb1BsYXllckNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgc2V0IGxpbmsobGluazogc3RyaW5nKSB7XG4gICAgdGhpcy5zYWZlVXJsID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKGxpbmspO1xuICB9XG5cbiAgcHVibGljIHNhZmVVcmw6IFNhZmVSZXNvdXJjZVVybDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7IH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb2RlLXZpZXcgdmlkZW8tcGxheWVyIHVzZS1yZXNwb25zaXZlXCI+XG4gIDxpZnJhbWVcbiAgICBbc3JjXT1cInNhZmVVcmxcIlxuICAgIGFsbG93PVwiYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYTsgZnVsbHNjcmVlbjsgcGljdHVyZS1pbi1waWN0dXJlO1wiXG4gICAgZnJhbWVib3JkZXI9XCIwXCJcbiAgICBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+XG48L2Rpdj5cbiJdfQ==