croco-html 3.0.2 → 3.0.4

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 (38) hide show
  1. package/esm2022/lib/components/add-files-btn/add-files-btn.component.mjs +2 -2
  2. package/esm2022/lib/components/editor/button-editor/button-editor.component.mjs +2 -4
  3. package/esm2022/lib/components/editor/custom-widget-editor/custom-widget-editor.component.mjs +2 -2
  4. package/esm2022/lib/components/editor/download-file-button-editor/download-file-button-editor.component.mjs +1 -1
  5. package/esm2022/lib/components/editor/external-video-editor/embedded-video/code-video.component.mjs +29 -0
  6. package/esm2022/lib/components/editor/external-video-editor/external-video-editor.component.mjs +38 -9
  7. package/esm2022/lib/components/editor/external-video-editor/vk-video-player/vk-video-player.component.mjs +3 -3
  8. package/esm2022/lib/components/editor/external-video-editor/youtube-video-player/youtube-video-player.component.mjs +3 -3
  9. package/esm2022/lib/components/editor/html-raw-editor/html-raw-editor.component.mjs +16 -8
  10. package/esm2022/lib/components/editor/image-editor/image-editor.component.mjs +2 -10
  11. package/esm2022/lib/components/editor/main-editor/main-editor.component.mjs +3 -3
  12. package/esm2022/lib/components/editor/main-editor-block/main-editor-block.component.mjs +3 -3
  13. package/esm2022/lib/components/editor/text-editor/text-editor.component.mjs +3 -3
  14. package/esm2022/lib/components/editor/visual-editor/DefaultTags.mjs +5 -13
  15. package/esm2022/lib/components/editor/visual-editor/visual-editor.component.mjs +35 -10
  16. package/esm2022/lib/components/xml-tags/html-raw-view/html-raw-view.component.mjs +8 -6
  17. package/esm2022/lib/components/xml-tags/xml-tag-external-video/xml-tag-external-video.component.mjs +10 -5
  18. package/esm2022/lib/components/xml-tags/xml-tag-view/xml-tag-view.component.mjs +3 -3
  19. package/esm2022/lib/extensions/BodyTagsExtensions.mjs +7 -3
  20. package/esm2022/lib/extensions/HtmlExtractionMethods.mjs +3 -7
  21. package/esm2022/lib/extensions/HtmlRawTagDataConsts.mjs +11 -4
  22. package/esm2022/lib/extensions/VideoMethods.mjs +11 -2
  23. package/esm2022/sprites-ids.type.mjs +1 -1
  24. package/fesm2022/croco-html.mjs +188 -96
  25. package/fesm2022/croco-html.mjs.map +1 -1
  26. package/lib/components/editor/external-video-editor/embedded-video/code-video.component.d.ts +14 -0
  27. package/lib/components/editor/external-video-editor/external-video-editor.component.d.ts +1 -0
  28. package/lib/components/editor/html-raw-editor/html-raw-editor.component.d.ts +8 -4
  29. package/lib/components/editor/visual-editor/DefaultTags.d.ts +1 -2
  30. package/lib/components/editor/visual-editor/visual-editor.component.d.ts +8 -0
  31. package/lib/components/xml-tags/html-raw-view/html-raw-view.component.d.ts +3 -4
  32. package/lib/extensions/HtmlExtractionMethods.d.ts +1 -12
  33. package/lib/extensions/HtmlRawTagDataConsts.d.ts +10 -3
  34. package/lib/extensions/VideoMethods.d.ts +5 -0
  35. package/lib/index.d.ts +4 -2
  36. package/package.json +1 -1
  37. package/sprites-ids.type.d.ts +1 -1
  38. package/src/assets/sprites/symbol/croco-html-svg-sprite.svg +1 -1
@@ -0,0 +1,14 @@
1
+ import { OnChanges, SimpleChanges } from '@angular/core';
2
+ import { DomSanitizer, SafeHtml } from "@angular/platform-browser";
3
+ import * as i0 from "@angular/core";
4
+ export declare class CodeVideoComponent implements OnChanges {
5
+ private readonly _sanitizer;
6
+ code: string;
7
+ set _useResponsiveWrapper(useResponsiveWrapper: boolean);
8
+ useResponsiveWrapper: boolean;
9
+ safeHtml: SafeHtml;
10
+ constructor(_sanitizer: DomSanitizer);
11
+ ngOnChanges(changes: SimpleChanges): void;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<CodeVideoComponent, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<CodeVideoComponent, "code-video", never, { "code": { "alias": "code"; "required": false; }; "_useResponsiveWrapper": { "alias": "_useResponsiveWrapper"; "required": false; }; }, {}, never, never, true, never>;
14
+ }
@@ -10,6 +10,7 @@ export declare class ExternalVideoEditorComponent implements OnInit {
10
10
  linkText: string;
11
11
  ngOnInit(): void;
12
12
  linkChanged(): void;
13
+ onCheck(checked: boolean): void;
13
14
  createLinkByIFrame(): void;
14
15
  static ɵfac: i0.ɵɵFactoryDeclaration<ExternalVideoEditorComponent, never>;
15
16
  static ɵcmp: i0.ɵɵComponentDeclaration<ExternalVideoEditorComponent, "croco-html-external-video-editor", never, { "tag": { "alias": "tag"; "required": false; }; }, { "onTagUpdated": "onTagUpdated"; }, never, never, true, never>;
@@ -1,11 +1,15 @@
1
- import { EventEmitter, OnInit } from '@angular/core';
1
+ import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
2
2
  import { HtmlBodyTag } from '../../../models/models';
3
+ import { DomSanitizer, SafeHtml } from "@angular/platform-browser";
3
4
  import * as i0 from "@angular/core";
4
- export declare class HtmlRawEditorComponent implements OnInit {
5
+ export declare class HtmlRawEditorComponent implements OnChanges {
6
+ private readonly _sanitizer;
5
7
  tag: HtmlBodyTag;
6
8
  onTagUpdated: EventEmitter<HtmlBodyTag>;
7
- constructor();
8
- ngOnInit(): void;
9
+ safeHtml: SafeHtml;
10
+ constructor(_sanitizer: DomSanitizer);
11
+ ngOnChanges(changes: SimpleChanges): void;
12
+ onSafeHtmlChange(): void;
9
13
  static ɵfac: i0.ɵɵFactoryDeclaration<HtmlRawEditorComponent, never>;
10
14
  static ɵcmp: i0.ɵɵComponentDeclaration<HtmlRawEditorComponent, "croco-html-html-raw-editor", never, { "tag": { "alias": "tag"; "required": false; }; }, { "onTagUpdated": "onTagUpdated"; }, never, never, true, never>;
11
15
  }
@@ -2,6 +2,5 @@ import { TagItem } from '../../../models/models';
2
2
  export declare class DefaultTags {
3
3
  static textTags: TagItem[];
4
4
  static tags: TagItem[];
5
- static htmlRawTag: TagItem;
6
- static getTags(useHtmlRaw: boolean): TagItem[];
5
+ static getTags(): TagItem[];
7
6
  }
@@ -1,10 +1,13 @@
1
1
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
2
2
  import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnInit } from '@angular/core';
3
+ import { ExternalVideoSupportedTypes } from '../../../extensions';
3
4
  import { ExternalVideoTagDataConsts } from '../../../extensions';
4
5
  import { TagItem, HtmlBodyTag } from '../../../models/models';
5
6
  import { FilePostingStarted } from '../../upload-files-btn/upload-files-btn.component';
6
7
  import { EAlignments } from "./DefaultAligments";
7
8
  import { CrocoHtmlOptions } from '../../../options';
9
+ import { HtmlRawTagDataConsts } from "../../../extensions/HtmlRawTagDataConsts";
10
+ import { SpriteIdsType } from "../../../../sprites-ids.type";
8
11
  import * as i0 from "@angular/core";
9
12
  export declare const defaultLinkYouTube = "https://www.youtube.com/embed/4CtSAnJDfsI?si=scyBNJa0Hs2t5aLE";
10
13
  export declare const defaultLinkVk = "https://vk.com/video_ext.php?oid=-22822305&id=456241864&hd=2";
@@ -16,6 +19,7 @@ export declare class VisualEditorComponent implements OnInit, AfterViewInit {
16
19
  isLoading: boolean;
17
20
  loadingText: string;
18
21
  text: string;
22
+ htmlRaw: string;
19
23
  alignment: EAlignments;
20
24
  textTag: string;
21
25
  textTagOptions: TagItem[];
@@ -32,6 +36,8 @@ export declare class VisualEditorComponent implements OnInit, AfterViewInit {
32
36
  selectedValue: string;
33
37
  selectedVideoPlayer: string;
34
38
  protected readonly ExternalVideoTagDataConsts: typeof ExternalVideoTagDataConsts;
39
+ protected readonly HtmlRawTagDataConsts: typeof HtmlRawTagDataConsts;
40
+ protected readonly ExternalVideoSupportedTypes: typeof ExternalVideoSupportedTypes;
35
41
  useHtmlRaw: boolean;
36
42
  html: string;
37
43
  isHtmlSet(): boolean;
@@ -58,6 +64,8 @@ export declare class VisualEditorComponent implements OnInit, AfterViewInit {
58
64
  recalculateBodyTags(): void;
59
65
  selectTag(data: TagItem): void;
60
66
  ngOnInit(): void;
67
+ setTagButton(type: string): SpriteIdsType;
68
+ setAlignButton(type: string): SpriteIdsType;
61
69
  static ɵfac: i0.ɵɵFactoryDeclaration<VisualEditorComponent, never>;
62
70
  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>;
63
71
  }
@@ -1,13 +1,12 @@
1
- import { OnInit } from '@angular/core';
1
+ import { OnChanges, SimpleChanges } from '@angular/core';
2
2
  import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
3
3
  import * as i0 from "@angular/core";
4
- export declare class HtmlRawViewComponent implements OnInit {
4
+ export declare class HtmlRawViewComponent implements OnChanges {
5
5
  private readonly _sanitizer;
6
6
  rawHtml: string;
7
7
  safeHtml: SafeHtml;
8
- isInitialized: boolean;
9
8
  constructor(_sanitizer: DomSanitizer);
10
- ngOnInit(): void;
9
+ ngOnChanges(changes: SimpleChanges): void;
11
10
  static ɵfac: i0.ɵɵFactoryDeclaration<HtmlRawViewComponent, never>;
12
11
  static ɵcmp: i0.ɵɵComponentDeclaration<HtmlRawViewComponent, "croco-html-raw-view", never, { "rawHtml": { "alias": "rawHtml"; "required": false; }; }, {}, never, never, true, never>;
13
12
  }
@@ -23,12 +23,7 @@ export declare class HtmlExtractionMethods {
23
23
  data: import("./TableMethods").TableData;
24
24
  validationResult: import("./TableMethods").BaseApiResponse;
25
25
  bootstrapHtml: string;
26
- }) | ((elem: HTMLElement, options: CrocoHtmlOptions) => import("./TextMethods").RichTextData) | ((elem: HTMLElement, options: CrocoHtmlOptions) => {
27
- type: string;
28
- data: {
29
- innerHTML: string;
30
- };
31
- }) | ((elem: HTMLElement, options: CrocoHtmlOptions) => GenericTextTag) | ((elem: HTMLElement, options: CrocoHtmlOptions) => import("./VideoMethods").ExternalVideoTag) | ((elem: HTMLElement, options: CrocoHtmlOptions) => import("./DownloadButtonMethods").DownloadButtonTag) | ((elem: HTMLElement, options: CrocoHtmlOptions) => import("./ButtonMethods").ButtonTag) | ((elem: HTMLElement, options: CrocoHtmlOptions) => import("./CustomWidgetMethods").CustomWidgetTag);
26
+ }) | ((elem: HTMLElement, options: CrocoHtmlOptions) => import("./TextMethods").RichTextData) | ((elem: HTMLElement, options: CrocoHtmlOptions) => GenericTextTag) | ((elem: HTMLElement, options: CrocoHtmlOptions) => import("./VideoMethods").ExternalVideoTag) | ((elem: HTMLElement, options: CrocoHtmlOptions) => import("./DownloadButtonMethods").DownloadButtonTag) | ((elem: HTMLElement, options: CrocoHtmlOptions) => import("./ButtonMethods").ButtonTag) | ((elem: HTMLElement, options: CrocoHtmlOptions) => import("./CustomWidgetMethods").CustomWidgetTag) | ((elem: HTMLElement, options: CrocoHtmlOptions) => import("./HtmlRawTagDataConsts").ExtractHtmlRawTag);
32
27
  TEXT: (elem: HTMLElement, options: CrocoHtmlOptions) => import("./TextSimpleMethods").SimpleTextTag;
33
28
  "FILE-IMAGE": (elem: HTMLElement, options: CrocoHtmlOptions) => import("./ImageMethods").FileImageTag;
34
29
  TABLE: (elem: HTMLElement, options: CrocoHtmlOptions) => {
@@ -52,12 +47,6 @@ export declare class HtmlExtractionMethods {
52
47
  bootstrapHtml: string;
53
48
  };
54
49
  "RICH-TEXT": (elem: HTMLElement, options: CrocoHtmlOptions) => import("./TextMethods").RichTextData;
55
- "HTML-RAW": (elem: HTMLElement, options: CrocoHtmlOptions) => {
56
- type: string;
57
- data: {
58
- innerHTML: string;
59
- };
60
- };
61
50
  H1: (elem: HTMLElement, options: CrocoHtmlOptions) => GenericTextTag;
62
51
  H2: (elem: HTMLElement, options: CrocoHtmlOptions) => GenericTextTag;
63
52
  H3: (elem: HTMLElement, options: CrocoHtmlOptions) => GenericTextTag;
@@ -1,6 +1,13 @@
1
1
  export declare class HtmlRawTagDataConsts {
2
2
  static TagName: string;
3
- static ScreenWidth: string;
4
- static MaxImageHeight: string;
5
- static MediaRequest: string;
3
+ }
4
+ export interface ExtractHtmlRawTag {
5
+ type: string;
6
+ data: ExtractHtmlRawTagData;
7
+ }
8
+ export interface ExtractHtmlRawTagData {
9
+ innerHTML: string;
10
+ }
11
+ export declare class ExtractHtmlRawTagMethods {
12
+ static ExtractHtmlRawTag(elem: HTMLElement): ExtractHtmlRawTag;
6
13
  }
@@ -2,10 +2,13 @@ export declare class ExternalVideoTagDataConsts {
2
2
  static TagName: string;
3
3
  static VideoTypeAttrName: string;
4
4
  static LinkAttrName: string;
5
+ static UseResponsiveWrapperAttrName: string;
6
+ static IframeAttrName: string;
5
7
  }
6
8
  export declare class ExternalVideoSupportedTypes {
7
9
  static Youtube: string;
8
10
  static VkVideo: string;
11
+ static Code: string;
9
12
  }
10
13
  export declare const ExternalVideoPlayers: {
11
14
  type: string;
@@ -18,6 +21,8 @@ export interface ExternalVideoTag {
18
21
  export interface ExternalVideoTagData {
19
22
  type: string;
20
23
  link: string;
24
+ innerHtml: string;
25
+ useResponsiveWrapper: boolean;
21
26
  }
22
27
  export declare class VideoMethods {
23
28
  static ExtractExternalVideoTag(elem: HTMLElement): ExternalVideoTag;
package/lib/index.d.ts CHANGED
@@ -1,12 +1,14 @@
1
1
  import { ImageEditorComponent } from "./components";
2
2
  import { MainEditorBlockComponent } from "./components";
3
3
  import { MainEditorComponent } from "./components";
4
+ import { TextEditorComponent } from "./components";
4
5
  import { FileIdSelectComponent } from "./components";
5
6
  import { XmlTagHeaderInnerTextViewComponent } from "./components";
6
7
  import { XmlTagHtmlViewComponent } from "./components";
7
8
  import { XmlTagRichTextViewComponent } from "./components";
8
9
  import { XmlTagTableViewComponent } from "./components";
9
10
  import { XmlTagViewComponent } from "./components";
11
+ import { CustomWidgetEditorComponent } from "./components";
10
12
  import { VisualEditorComponent } from './components';
11
13
  import { AddFilesBtnComponent } from './components';
12
14
  import { XmlTagExternalVideoComponent } from "./components";
@@ -16,8 +18,8 @@ import { RichTextToHtmlPipe, TagToSpanPipe, ToHtmlBodyTagsPipe, ToPreviewHtmlPip
16
18
  import { FileImageTagViewComponent, UploadFilesBtnComponent } from "./components";
17
19
  import { HtmlRawViewComponent } from "./components";
18
20
  import { XmlTagCustomWidgetComponent } from "./components";
19
- export declare const EditorComponents: (typeof AddFilesBtnComponent | typeof HtmlRawEditorComponent | typeof FileIdSelectComponent | typeof ImageEditorComponent | typeof MainEditorBlockComponent | typeof VisualEditorComponent | typeof MainEditorComponent)[];
21
+ export declare const EditorComponents: (typeof AddFilesBtnComponent | typeof HtmlRawEditorComponent | typeof FileIdSelectComponent | typeof ImageEditorComponent | typeof TextEditorComponent | typeof CustomWidgetEditorComponent | typeof MainEditorBlockComponent | typeof VisualEditorComponent | typeof MainEditorComponent)[];
20
22
  export declare const XmlComponents: (typeof XmlTagExternalVideoComponent | typeof XmlTagHeaderInnerTextViewComponent | typeof XmlTagHtmlViewComponent | typeof XmlTagRichTextViewComponent | typeof XmlTagTableViewComponent | typeof FileImageTagViewComponent | typeof HtmlRawViewComponent | typeof XmlTagCustomWidgetComponent | typeof XmlTagViewComponent)[];
21
23
  export declare const CrocoPipes: (typeof RichTextToHtmlPipe | typeof ToPreviewPipe | typeof TagToSpanPipe | typeof ToHtmlBodyTagsPipe | typeof ToPreviewHtmlPipe)[];
22
- export declare const CrocoHtmlDeclarations: (typeof UploadFilesBtnComponent | typeof AddFilesBtnComponent | typeof XmlTagExternalVideoComponent | typeof XmlTagHeaderInnerTextViewComponent | typeof XmlTagHtmlViewComponent | typeof RichTextToHtmlPipe | typeof XmlTagRichTextViewComponent | typeof XmlTagTableViewComponent | typeof FileImageTagViewComponent | typeof HtmlRawViewComponent | typeof XmlTagCustomWidgetComponent | typeof XmlTagViewComponent | typeof HtmlRawEditorComponent | typeof FileIdSelectComponent | typeof ImageEditorComponent | typeof MainEditorBlockComponent | typeof VisualEditorComponent | typeof ToPreviewPipe | typeof MainEditorComponent | typeof TagToSpanPipe | typeof ToHtmlBodyTagsPipe | typeof ToPreviewHtmlPipe)[];
24
+ export declare const CrocoHtmlDeclarations: (typeof UploadFilesBtnComponent | typeof AddFilesBtnComponent | typeof XmlTagExternalVideoComponent | typeof XmlTagHeaderInnerTextViewComponent | typeof XmlTagHtmlViewComponent | typeof RichTextToHtmlPipe | typeof XmlTagRichTextViewComponent | typeof XmlTagTableViewComponent | typeof FileImageTagViewComponent | typeof HtmlRawViewComponent | typeof XmlTagCustomWidgetComponent | typeof XmlTagViewComponent | typeof HtmlRawEditorComponent | typeof FileIdSelectComponent | typeof ImageEditorComponent | typeof TextEditorComponent | typeof CustomWidgetEditorComponent | typeof MainEditorBlockComponent | typeof VisualEditorComponent | typeof ToPreviewPipe | typeof MainEditorComponent | typeof TagToSpanPipe | typeof ToHtmlBodyTagsPipe | typeof ToPreviewHtmlPipe)[];
23
25
  export declare const MaterialModules: (typeof MatFormFieldModule)[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "croco-html",
3
- "version": "3.0.2",
3
+ "version": "3.0.4",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.13",
6
6
  "@angular/core": "^18.2.13",
@@ -1 +1 @@
1
- export type SpriteIdsType = 'source-code-tab' | 'viewer-tab' | 'visual-editor-tab';
1
+ export 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';
@@ -1 +1 @@
1
- <?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><symbol viewBox="0 0 30 24" id="source-code-tab" xmlns="http://www.w3.org/2000/svg"><path d="m13.075 23.976-2.86-.83a.563.563 0 0 1-.384-.698L16.229.407a.563.563 0 0 1 .699-.384l2.86.83c.3.084.468.398.384.698l-6.399 22.04a.562.562 0 0 1-.698.385Zm-5.344-5.26 2.039-2.175a.563.563 0 0 0-.038-.806L5.486 12l4.246-3.736a.559.559 0 0 0 .038-.806L7.73 5.282a.563.563 0 0 0-.796-.023L.179 11.587c-.239.22-.239.6 0 .82l6.755 6.333c.23.215.586.206.797-.024Zm15.337.028 6.755-6.332c.24-.22.24-.6 0-.82l-6.755-6.338a.568.568 0 0 0-.797.023l-2.039 2.175a.563.563 0 0 0 .038.807l4.247 3.74-4.247 3.736a.559.559 0 0 0-.038.806l2.04 2.175c.21.23.567.24.796.028Z"/></symbol><symbol viewBox="0 0 32 30" id="viewer-tab" xmlns="http://www.w3.org/2000/svg"><path d="M31.808 14.189C28.797 8.31 22.83 4.333 16.003 4.333 9.175 4.333 3.208 8.311.197 14.19a1.8 1.8 0 0 0 0 1.622c3.011 5.878 8.978 9.856 15.806 9.856 6.827 0 12.794-3.978 15.805-9.856a1.8 1.8 0 0 0 0-1.622ZM16.003 23a8 8 0 1 1 0-16 8 8 0 0 1 0 16Zm0-13.333a5.294 5.294 0 0 0-1.406.21 2.661 2.661 0 0 1-3.717 3.717 5.323 5.323 0 1 0 5.123-3.927Z"/><path fill="none" d="M0 0h32v28.444H0z"/></symbol><symbol viewBox="0 0 32 26" id="visual-editor-tab" xmlns="http://www.w3.org/2000/svg"><path d="M12.75 13.285a.794.794 0 0 0 1.13 0l.565-.565a.794.794 0 0 0 0-1.13l-1.78-1.79 1.785-1.785a.794.794 0 0 0 0-1.13l-.565-.565a.794.794 0 0 0-1.13 0L9.84 9.235a.794.794 0 0 0 0 1.13l2.92 2.915-.01.005Zm4.8-.565.565.565a.794.794 0 0 0 1.13 0l2.915-2.915a.794.794 0 0 0 0-1.13l-2.915-2.915a.794.794 0 0 0-1.13 0l-.565.565a.794.794 0 0 0 0 1.13l1.79 1.78-1.785 1.785a.794.794 0 0 0 0 1.13l-.005.005ZM31.2 21H19.075c-.035.99-.735 1.6-1.635 1.6H14.4c-.935 0-1.65-.875-1.64-1.6H.8c-.44 0-.8.36-.8.8v.8c0 1.76 1.44 3.2 3.2 3.2h25.6c1.76 0 3.2-1.44 3.2-3.2v-.8c0-.44-.36-.8-.8-.8ZM28.8 2.6c0-1.32-1.08-2.4-2.4-2.4H5.6C4.28.2 3.2 1.28 3.2 2.6v16.8h25.6V2.6Zm-3.2 13.6H6.4V3.4h19.2v12.8Z"/><path fill="none" d="M0 0h32v25.6H0z"/></symbol></svg>
1
+ <?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><symbol fill="none" viewBox="0 0 20 20" id="align-center" xmlns="http://www.w3.org/2000/svg"><path d="M5 14.688h10M3.125 11.562h13.75M5 8.438h10M3.125 5.312h13.75" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" stroke="currentColor"/></symbol><symbol fill="none" viewBox="0 0 20 20" id="align-left" xmlns="http://www.w3.org/2000/svg"><path d="M3.125 14.688h10m-10-3.126h13.75M3.125 8.438h10m-10-3.126h13.75" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" stroke="currentColor"/></symbol><symbol fill="currentColor" viewBox="0 0 20 20" id="align-right" xmlns="http://www.w3.org/2000/svg"><path d="M6.875 14.688h10m-13.75-3.126h13.75m-10-3.124h10M3.125 5.312h13.75" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" stroke="currentColor"/></symbol><symbol fill="none" viewBox="0 0 24 24" id="move-icon" xmlns="http://www.w3.org/2000/svg"><path d="M14.652 19.098 12 21.75m0 0-2.652-2.652M12 21.75V15m-7.098-.348L2.25 12m0 0 2.652-2.652M2.25 12H9m10.098-2.652L21.75 12m0 0-2.652 2.652M21.75 12H15M9.348 4.902 12 2.25m0 0 2.652 2.652M12 2.25V9" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></symbol><symbol viewBox="0 0 30 24" id="source-code-tab" xmlns="http://www.w3.org/2000/svg"><path d="m13.075 23.976-2.86-.83a.563.563 0 0 1-.384-.698L16.229.407a.563.563 0 0 1 .699-.384l2.86.83c.3.084.468.398.384.698l-6.399 22.04a.562.562 0 0 1-.698.385Zm-5.344-5.26 2.039-2.175a.563.563 0 0 0-.038-.806L5.486 12l4.246-3.736a.559.559 0 0 0 .038-.806L7.73 5.282a.563.563 0 0 0-.796-.023L.179 11.587c-.239.22-.239.6 0 .82l6.755 6.333c.23.215.586.206.797-.024Zm15.337.028 6.755-6.332c.24-.22.24-.6 0-.82l-6.755-6.338a.568.568 0 0 0-.797.023l-2.039 2.175a.563.563 0 0 0 .038.807l4.247 3.74-4.247 3.736a.559.559 0 0 0-.038.806l2.04 2.175c.21.23.567.24.796.028Z"/></symbol><symbol fill="none" viewBox="0 0 20 20" id="tag-button-button" xmlns="http://www.w3.org/2000/svg"><path stroke="currentColor" d="M10 3.75v5.938m3.75-5.451a6.875 6.875 0 1 1-7.5 0" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></symbol><symbol fill="none" viewBox="0 0 20 20" id="tag-button-custom-widget" xmlns="http://www.w3.org/2000/svg"><path stroke="currentColor" d="M16.25 15v1.25m-2.5-3.75h2.5m-5 3.75h2.5v-5m-2.5 0v2.5m-6.875-2.5h3.75c.345 0 .625.28.625.625v3.75c0 .345-.28.625-.625.625h-3.75a.625.625 0 0 1-.625-.625v-3.75c0-.345.28-.625.625-.625Zm7.5-7.5h3.75c.345 0 .625.28.625.625v3.75c0 .345-.28.625-.625.625h-3.75a.625.625 0 0 1-.625-.625v-3.75c0-.345.28-.625.625-.625Zm-7.5 0h3.75c.345 0 .625.28.625.625v3.75c0 .345-.28.625-.625.625h-3.75a.625.625 0 0 1-.625-.625v-3.75c0-.345.28-.625.625-.625Z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></symbol><symbol fill="none" viewBox="0 0 24 24" id="tag-button-download-file-button" xmlns="http://www.w3.org/2000/svg"><path stroke="currentColor" clip-rule="evenodd" d="M4.424 9.417c-.924 0-1.674.75-1.674 1.674v8.485c0 .924.75 1.674 1.674 1.674h15.152c.924 0 1.674-.75 1.674-1.674V11.09c0-.925-.75-1.674-1.674-1.674h-3.637a.75.75 0 0 1 0-1.5h3.637a3.174 3.174 0 0 1 3.174 3.174v8.485a3.174 3.174 0 0 1-3.174 3.174H4.424a3.174 3.174 0 0 1-3.174-3.174V11.09a3.174 3.174 0 0 1 3.174-3.174h3.637a.75.75 0 1 1 0 1.5H4.424Z"/><path stroke="currentColor" clip-rule="evenodd" d="M12 1.25a.75.75 0 0 1 .75.75v13.94a.75.75 0 0 1-1.5 0V2a.75.75 0 0 1 .75-.75Z"/><path stroke="currentColor" clip-rule="evenodd" d="M7.833 12.985a.75.75 0 0 1 1.061 0L12 16.09l3.106-3.106a.75.75 0 0 1 1.06 1.06l-3.636 3.637a.75.75 0 0 1-1.06 0l-3.637-3.636a.75.75 0 0 1 0-1.061Z"/></symbol><symbol fill="none" viewBox="0 0 20 20" id="tag-button-external-video" xmlns="http://www.w3.org/2000/svg"><path stroke="currentColor" d="m14.375 8.75 4.375-2.5v7.5l-4.375-2.5m-12.5-6.563h10a2.5 2.5 0 0 1 2.5 2.5v7.5a.624.624 0 0 1-.625.626h-10a2.5 2.5 0 0 1-2.5-2.5v-7.5a.625.625 0 0 1 .625-.625Z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></symbol><symbol fill="none" viewBox="0 0 20 20" id="tag-button-file-image" xmlns="http://www.w3.org/2000/svg"><path d="m2.5 13.125 3.933-3.933a.625.625 0 0 1 .884 0l3.491 3.491a.626.626 0 0 0 .884 0l1.616-1.616a.626.626 0 0 1 .884 0l3.308 3.308M3.125 3.75h13.75c.345 0 .625.28.625.625v11.25c0 .345-.28.625-.625.625H3.125a.625.625 0 0 1-.625-.625V4.375c0-.345.28-.625.625-.625Zm10 4.063a.937.937 0 1 1-1.875 0 .937.937 0 0 1 1.875 0Z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" stroke="currentColor"/></symbol><symbol fill="none" viewBox="0 0 20 20" id="tag-button-html-raw" xmlns="http://www.w3.org/2000/svg"><path d="M15 6.875 18.75 10 15 13.125M5 6.875 1.25 10 5 13.125m7.5-10-5 13.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></symbol><symbol fill="none" viewBox="0 0 20 20" id="tag-button-text" xmlns="http://www.w3.org/2000/svg"><path d="M7.5 15.625h5M10 4.375v11.25m-6.25-8.75v-2.5h12.5v2.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></symbol><symbol viewBox="0 0 32 30" id="viewer-tab" xmlns="http://www.w3.org/2000/svg"><path d="M31.808 14.189C28.797 8.31 22.83 4.333 16.003 4.333 9.175 4.333 3.208 8.311.197 14.19a1.8 1.8 0 0 0 0 1.622c3.011 5.878 8.978 9.856 15.806 9.856 6.827 0 12.794-3.978 15.805-9.856a1.8 1.8 0 0 0 0-1.622ZM16.003 23a8 8 0 1 1 0-16 8 8 0 0 1 0 16Zm0-13.333a5.294 5.294 0 0 0-1.406.21 2.661 2.661 0 0 1-3.717 3.717 5.323 5.323 0 1 0 5.123-3.927Z"/><path fill="none" d="M0 0h32v28.444H0z"/></symbol><symbol viewBox="0 0 32 26" id="visual-editor-tab" xmlns="http://www.w3.org/2000/svg"><path d="M12.75 13.285a.794.794 0 0 0 1.13 0l.565-.565a.794.794 0 0 0 0-1.13l-1.78-1.79 1.785-1.785a.794.794 0 0 0 0-1.13l-.565-.565a.794.794 0 0 0-1.13 0L9.84 9.235a.794.794 0 0 0 0 1.13l2.92 2.915-.01.005Zm4.8-.565.565.565a.794.794 0 0 0 1.13 0l2.915-2.915a.794.794 0 0 0 0-1.13l-2.915-2.915a.794.794 0 0 0-1.13 0l-.565.565a.794.794 0 0 0 0 1.13l1.79 1.78-1.785 1.785a.794.794 0 0 0 0 1.13l-.005.005ZM31.2 21H19.075c-.035.99-.735 1.6-1.635 1.6H14.4c-.935 0-1.65-.875-1.64-1.6H.8c-.44 0-.8.36-.8.8v.8c0 1.76 1.44 3.2 3.2 3.2h25.6c1.76 0 3.2-1.44 3.2-3.2v-.8c0-.44-.36-.8-.8-.8ZM28.8 2.6c0-1.32-1.08-2.4-2.4-2.4H5.6C4.28.2 3.2 1.28 3.2 2.6v16.8h25.6V2.6Zm-3.2 13.6H6.4V3.4h19.2v12.8Z"/><path fill="none" d="M0 0h32v25.6H0z"/></symbol></svg>