@worktile/theia 18.0.0-next.0 → 18.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/components/text/text.component.d.ts +1 -4
  2. package/esm2022/components/text/text.component.mjs +7 -8
  3. package/esm2022/interfaces/image.mjs +2 -2
  4. package/esm2022/plugins/blockquote/blockquote.component.mjs +3 -8
  5. package/esm2022/plugins/code/code.component.mjs +24 -26
  6. package/esm2022/plugins/hr/hr.component.mjs +3 -8
  7. package/esm2022/plugins/image/image.component.mjs +27 -21
  8. package/esm2022/plugins/image/image.editor.mjs +6 -3
  9. package/esm2022/plugins/link/link.component.mjs +16 -18
  10. package/esm2022/plugins/link/link.plugin.mjs +5 -5
  11. package/esm2022/plugins/list/components/bulleted-list.component.mjs +3 -8
  12. package/esm2022/plugins/list/components/list-item.component.mjs +3 -8
  13. package/esm2022/plugins/list/components/numbered-list.component.mjs +5 -7
  14. package/esm2022/plugins/table/components/row/row.component.mjs +7 -9
  15. package/esm2022/plugins/table/components/table.component.mjs +5 -5
  16. package/esm2022/plugins/table/components/td/td.component.mjs +20 -23
  17. package/esm2022/plugins/todo-item/todo-item.component.mjs +10 -12
  18. package/fesm2022/worktile-theia.mjs +127 -150
  19. package/fesm2022/worktile-theia.mjs.map +1 -1
  20. package/interfaces/editor.d.ts +7 -7
  21. package/interfaces/image.d.ts +7 -4
  22. package/package.json +2 -2
  23. package/plugins/blockquote/blockquote.component.d.ts +0 -4
  24. package/plugins/code/code.component.d.ts +7 -13
  25. package/plugins/hr/hr.component.d.ts +1 -4
  26. package/plugins/image/image.component.d.ts +4 -4
  27. package/plugins/link/link.component.d.ts +4 -8
  28. package/plugins/list/components/bulleted-list.component.d.ts +1 -4
  29. package/plugins/list/components/list-item.component.d.ts +1 -4
  30. package/plugins/list/components/numbered-list.component.d.ts +2 -4
  31. package/plugins/table/components/row/row.component.d.ts +2 -5
  32. package/plugins/table/components/table.component.d.ts +1 -1
  33. package/plugins/table/components/td/td.component.d.ts +7 -10
  34. package/plugins/todo-item/todo-item.component.d.ts +1 -4
@@ -1,10 +1,10 @@
1
1
  import { NgIf, NgFor, NgStyle, NgTemplateOutlet, NgClass, DOCUMENT } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { InjectionToken, Component, Directive, Input, HostBinding, ViewChild, HostListener, ViewContainerRef, Inject, TemplateRef, ChangeDetectionStrategy, Optional, SkipSelf, ContentChildren, forwardRef, EventEmitter, inject, NgZone, ElementRef, DestroyRef, Output, Pipe, Injectable, ChangeDetectorRef, Renderer2, viewChild, ViewChildren, NgModule } from '@angular/core';
3
+ import { InjectionToken, Component, Directive, Input, HostBinding, ViewChild, HostListener, ViewContainerRef, Inject, TemplateRef, ChangeDetectionStrategy, Optional, SkipSelf, ContentChildren, forwardRef, EventEmitter, inject, NgZone, ElementRef, DestroyRef, Output, Pipe, Injectable, ChangeDetectorRef, Renderer2, viewChild, ViewChildren, Injector, NgModule } from '@angular/core';
4
4
  import { ThyDivider } from 'ngx-tethys/divider';
5
5
  import { ThyAction, ThyActions } from 'ngx-tethys/action';
6
6
  import { ThyDropdownMenuItemDirective, ThyDropdownMenuDivider, ThyDropdownMenuItemNameDirective, ThyDropdownMenuItemIconDirective, ThyDropdownMenuItemActiveDirective, ThyDropdownDirective, ThyDropdownMenuComponent, ThyDropdownMenuGroup, ThyDropdownMenuItemExtendIconDirective } from 'ngx-tethys/dropdown';
7
- import * as i2$3 from 'ngx-tethys/icon';
7
+ import * as i2$5 from 'ngx-tethys/icon';
8
8
  import { ThyIcon, ThyIconRegistry } from 'ngx-tethys/icon';
9
9
  import { cloneDeep, map, assign, defaults, groupBy, uniq, isEqual } from 'lodash';
10
10
  export { assign, cloneDeep, debounce, defaults, groupBy, isEqual, map, uniq } from 'lodash';
@@ -17,7 +17,7 @@ import { isObject, isArray, isString, isUndefined } from 'ngx-tethys/util';
17
17
  import * as i1 from 'ngx-tethys/popover';
18
18
  import { ThyPopover, ThyPopoverRef, ThyPopoverDirective, ThyPopoverModule } from 'ngx-tethys/popover';
19
19
  import * as i2 from '@angular/cdk/overlay';
20
- import { Overlay } from '@angular/cdk/overlay';
20
+ import { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';
21
21
  import { ThyTooltipDirective, THY_TOOLTIP_DEFAULT_CONFIG_PROVIDER, ThyTooltipModule } from 'ngx-tethys/tooltip';
22
22
  import { DOWN_ARROW, UP_ARROW, RIGHT_ARROW, LEFT_ARROW, ENTER } from '@angular/cdk/keycodes';
23
23
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
@@ -37,21 +37,22 @@ import { ThyColorPickerDirective } from 'ngx-tethys/color-picker';
37
37
  import { ThyInputNumber } from 'ngx-tethys/input-number';
38
38
  import { ThyEnterDirective, ThyStopPropagationDirective, ThyAutofocusDirective } from 'ngx-tethys/shared';
39
39
  import { coerceCssPixelValue } from '@angular/cdk/coercion';
40
- import * as i1$2 from 'ngx-tethys/image';
40
+ import * as i1$1 from 'ngx-tethys/image';
41
41
  import { ThyImageService, ThyImageDirective, ThyImageGroup } from 'ngx-tethys/image';
42
- import * as i6 from 'ng-codemirror';
42
+ import * as i2$3 from 'ng-codemirror';
43
43
  import { CodeMirrorComponent, CodemirrorModule } from 'ng-codemirror';
44
+ import * as i2$4 from 'ngx-tethys/notify';
45
+ import { ThyNotifyService } from 'ngx-tethys/notify';
44
46
  import { ThyResizableDirective, ThyResizeHandle } from 'ngx-tethys/resizable';
45
47
  import { ThySwitch } from 'ngx-tethys/switch';
46
- import * as i1$1 from 'ngx-tethys/notify';
47
48
  import { ThyProgress } from 'ngx-tethys/progress';
48
49
  import { ThyUploadStatus } from 'ngx-tethys/upload';
49
50
  import getUrls from 'get-urls';
50
51
  import { ThyButton } from 'ngx-tethys/button';
51
52
  import { ThyFormDirective, ThyFormGroup, ThyFormSubmitDirective, ThyFormGroupFooter } from 'ngx-tethys/form';
52
53
  import { PortalInjector, ComponentPortal } from '@angular/cdk/portal';
53
- import * as i1$3 from '@angular/platform-browser';
54
- import * as i2$4 from '@angular/common/http';
54
+ import * as i1$2 from '@angular/platform-browser';
55
+ import * as i2$6 from '@angular/common/http';
55
56
 
56
57
  const PICTURE_ACCEPTED_UPLOAD_MIME = ['image/png', 'image/jpeg', 'image/gif', 'image/bmp', 'image/svg+xml'];
57
58
  const PICTURE_ACCEPTED_UPLOAD_SIZE = 50;
@@ -1796,7 +1797,7 @@ const THE_MODE_PROVIDER = {
1796
1797
  }
1797
1798
  };
1798
1799
 
1799
- const THE_UPLOAD_SERVICE_TOKEN = new InjectionToken('THE_UPLOAD_SERVICE_TOKEN');
1800
+ const THE_IMAGE_SERVICE_TOKEN = new InjectionToken('THE_IMAGE_SERVICE_TOKEN');
1800
1801
 
1801
1802
  const ThePluginMenu = {
1802
1803
  isMenuGroup(value) {
@@ -5950,9 +5951,12 @@ const ImageEditor = {
5950
5951
  file: new File([blob], `${new Date().getTime()}.${ext}`, { type: contentType })
5951
5952
  });
5952
5953
  },
5954
+ // TODO: 需要考虑如何处理
5955
+ // 1. 从 HTML 粘贴识别数据时走这个处理流程,但是会被判定为是 PingCode 自己的资源,不会走重新上传流程
5956
+ // 2. 直接粘贴 json 时不走这个流程无法重新上传,跨团队图片会无法识别
5953
5957
  handleExternalImageElement(editor, image) {
5954
5958
  const contextService = editor.injector.get(TheContextService);
5955
- const imageUploaderService = editor.injector.get(THE_UPLOAD_SERVICE_TOKEN);
5959
+ const imageUploaderService = editor.injector.get(THE_IMAGE_SERVICE_TOKEN);
5956
5960
  const isExternalUrl = image?.hasOwnProperty('externalUrl')
5957
5961
  ? image?.externalUrl
5958
5962
  : imageUploaderService.isExternalUrl?.(image.thumbUrl);
@@ -7404,12 +7408,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
7404
7408
  }] } });
7405
7409
 
7406
7410
  class TheText extends BaseTextComponent {
7407
- constructor(elementRef, renderer2, cdr) {
7408
- super(elementRef, cdr);
7409
- this.elementRef = elementRef;
7410
- this.renderer2 = renderer2;
7411
+ constructor() {
7412
+ super(...arguments);
7411
7413
  this.excludes = ['color', 'font-size', 'background-color', 'text'];
7412
7414
  this.attributes = [];
7415
+ this.renderer2 = inject(Renderer2);
7413
7416
  }
7414
7417
  onContextChange() {
7415
7418
  super.onContextChange();
@@ -7442,7 +7445,7 @@ class TheText extends BaseTextComponent {
7442
7445
  this.renderer2.removeStyle(this.elementRef.nativeElement, 'background-color');
7443
7446
  }
7444
7447
  }
7445
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheText, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
7448
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheText, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7446
7449
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: TheText, isStandalone: true, selector: "span[theText]", host: { attributes: { "data-slate-node": "text" } }, usesInheritance: true, ngImport: i0, template: ``, isInline: true }); }
7447
7450
  }
7448
7451
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheText, decorators: [{
@@ -7455,7 +7458,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
7455
7458
  },
7456
7459
  standalone: true
7457
7460
  }]
7458
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }] });
7461
+ }] });
7459
7462
 
7460
7463
  class TheInlineToolbar {
7461
7464
  constructor(elementRef, scrollDispatcher, cdr, ngZone, contextService) {
@@ -8618,12 +8621,7 @@ const createAutoFormatPlugin = createPluginFactory({
8618
8621
  });
8619
8622
 
8620
8623
  class TheBlockquote extends TheBaseElement {
8621
- constructor(elementRef, cdr) {
8622
- super(elementRef, cdr);
8623
- this.elementRef = elementRef;
8624
- this.cdr = cdr;
8625
- }
8626
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheBlockquote, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
8624
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheBlockquote, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
8627
8625
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: TheBlockquote, isStandalone: true, selector: "blockquote[theBlockquote]", usesInheritance: true, ngImport: i0, template: ``, isInline: true }); }
8628
8626
  }
8629
8627
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheBlockquote, decorators: [{
@@ -8633,7 +8631,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
8633
8631
  template: ``,
8634
8632
  standalone: true
8635
8633
  }]
8636
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }] });
8634
+ }] });
8637
8635
 
8638
8636
  const withBlockquote = (editor) => {
8639
8637
  const { renderElement, deleteBackward, insertBreak, isContainer } = editor;
@@ -8711,21 +8709,8 @@ const createBlockquotePlugin = createPluginFactory({
8711
8709
  });
8712
8710
 
8713
8711
  class TheCode extends TheBaseElement {
8714
- get code() {
8715
- return this.element.content;
8716
- }
8717
- get isToolbarOpen() {
8718
- return this.toolbarPopoverRef && this.toolbarPopoverRef.getOverlayRef() && this.toolbarPopoverRef.getOverlayRef().hasAttached();
8719
- }
8720
- constructor(elementRef, cdr, thyNotifyService, contextService, ngZone, thyPopover, overlay) {
8721
- super(elementRef, cdr);
8722
- this.elementRef = elementRef;
8723
- this.cdr = cdr;
8724
- this.thyNotifyService = thyNotifyService;
8725
- this.contextService = contextService;
8726
- this.ngZone = ngZone;
8727
- this.thyPopover = thyPopover;
8728
- this.overlay = overlay;
8712
+ constructor() {
8713
+ super(...arguments);
8729
8714
  this.startRenderCodemirror = false;
8730
8715
  this.dropdownMode = DropdownMode;
8731
8716
  this.maxHeight = 0;
@@ -8746,12 +8731,23 @@ class TheCode extends TheBaseElement {
8746
8731
  };
8747
8732
  this.activeLanguage = this.menus[0];
8748
8733
  this.resizeBounds = null;
8734
+ this.thyNotifyService = inject(ThyNotifyService);
8735
+ this.contextService = inject(TheContextService);
8736
+ this.ngZone = inject(NgZone);
8737
+ this.thyPopover = inject(ThyPopover);
8738
+ this.overlay = inject(Overlay);
8749
8739
  this.onChangeLanguage = item => {
8750
8740
  this.options = { ...this.options, mode: item.key };
8751
8741
  this.activeLanguage = item;
8752
8742
  CodeEditor.setCodeAttribute(this.editor, { language: item.key }, this.element);
8753
8743
  };
8754
8744
  }
8745
+ get code() {
8746
+ return this.element.content;
8747
+ }
8748
+ get isToolbarOpen() {
8749
+ return this.toolbarPopoverRef && this.toolbarPopoverRef.getOverlayRef() && this.toolbarPopoverRef.getOverlayRef().hasAttached();
8750
+ }
8755
8751
  onContextChange() {
8756
8752
  super.onContextChange();
8757
8753
  if (this.isCollapsedAndNonReadonly && !isMobileMode(this.editor)) {
@@ -8916,8 +8912,8 @@ class TheCode extends TheBaseElement {
8916
8912
  this.destroy$.next();
8917
8913
  this.destroy$.complete();
8918
8914
  }
8919
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheCode, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.ThyNotifyService }, { token: TheContextService }, { token: i0.NgZone }, { token: i1.ThyPopover }, { token: i2.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
8920
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: TheCode, isStandalone: true, selector: "div[theCode]", host: { classAttribute: "the-code-container" }, viewQueries: [{ propertyName: "toolbar", first: true, predicate: ["toolbar"], descendants: true, read: TemplateRef, static: true }, { propertyName: "codemirror", first: true, predicate: ["codemirror"], descendants: true, read: CodeMirrorComponent }, { propertyName: "toolbarDropdown", first: true, predicate: TheToolbarDropdown, descendants: true, read: TheToolbarDropdown }], usesInheritance: true, ngImport: i0, template: "<!-- \u53EA\u8BFB\u6A21\u5F0F\u4E0BCodeMirror-sizer\u9AD8\u5EA6\u6BD4\u7F16\u8F91\u6A21\u5F0F\u4E0B\u591A2px\uFF0C\u8BBE\u7F6EthyMinHeight\u4E3A46px\u9632\u6B62\u62D6\u62FD\u5230\u6700\u5C0F\u9AD8\u5EA6\u65F6\u53EA\u8BFB\u6A21\u5F0F\u4E0B\u51FA\u73B0\u6EDA\u52A8\u6761 -->\n<div\n thyResizable\n [thyMinHeight]=\"46\"\n [thyBounds]=\"resizeBounds\"\n [style.height.px]=\"resizeHeight\"\n (thyResize)=\"onResize($event)\"\n (thyResizeEnd)=\"onEndResize()\"\n class=\"resize-code-container\"\n [ngClass]=\"{ focus: isCollapsedAndNonReadonly, readonly: options.readOnly, active: isHightLight && isCollapsedAndNonReadonly }\"\n>\n <ng-codemirror\n *ngIf=\"startRenderCodemirror\"\n #codemirror\n contenteditable=\"false\"\n class=\"ng-codemirror-wrapper\"\n [ngStyle]=\"{ maxHeight: maxHeight > 0 ? maxHeight + 'px' : 'auto' }\"\n [options]=\"options\"\n [ngModel]=\"code\"\n [delayRefreshTime]=\"300\"\n (ngModelChange)=\"codeChange($event)\"\n (focusChange)=\"focusChange($event)\"\n [autoMaxHeight]=\"maxHeight\"\n >\n </ng-codemirror>\n <thy-resize-handle thyDirection=\"bottom\" class=\"code-resize-icon\" *ngIf=\"isCollapsedAndNonReadonly\"></thy-resize-handle>\n</div>\n\n<ng-template #toolbar>\n <thy-actions thySize=\"xxs\" thePreventDefault>\n <the-toolbar-dropdown\n [menus]=\"menus\"\n [toolbarItem]=\"activeLanguage\"\n [dropdownItemKey]=\"activeLanguage?.key\"\n [itemMousedownHandle]=\"onChangeLanguage\"\n >\n </the-toolbar-dropdown>\n <span class=\"auto-wrap d-flex align-items-center px-2 text-secondary\">\n <span>\u81EA\u52A8\u6362\u884C</span>\n <thy-switch\n class=\"auto-wrap-btn d-flex ml-1\"\n [(ngModel)]=\"options.lineWrapping\"\n (ngModelChange)=\"onChangeWrap($event)\"\n thySize=\"sm\"\n ></thy-switch>\n </span>\n <a href=\"javascript:;\" thyAction thyActionIcon=\"copy\" thyTooltip=\"\u590D\u5236\" thyTooltipPlacement=\"top\" (click)=\"onCopy($event)\"></a>\n <thy-divider class=\"mr-2 ml-1 align-self-center\" [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n <a\n href=\"javascript:;\"\n thyAction\n thyType=\"danger\"\n thyActionIcon=\"trash\"\n thyTooltip=\"\u5220\u9664\"\n thyTooltipPlacement=\"top\"\n (click)=\"onDelete($event)\"\n ></a>\n </thy-actions>\n</ng-template>\n", dependencies: [{ kind: "directive", type: ThyResizableDirective, selector: "[thyResizable]", inputs: ["thyBounds", "thyMaxHeight", "thyMaxWidth", "thyMinHeight", "thyMinWidth", "thyGridColumnCount", "thyMaxColumn", "thyMinColumn", "thyLockAspectRatio", "thyPreview", "thyDisabled"], outputs: ["thyResize", "thyResizeStart", "thyResizeEnd"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SlateModule }, { kind: "ngmodule", type: CodemirrorModule }, { kind: "component", type: i6.CodeMirrorComponent, selector: "ng-codemirror, [ngCodeMirror]", inputs: ["autoMaxHeight", "options", "delayRefreshTime"], outputs: ["focusChange"] }, { kind: "component", type: ThySwitch, selector: "thy-switch", inputs: ["thyType", "thySize", "thyDisabled", "thyLoading"], outputs: ["thyChange"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "component", type: ThyActions, selector: "thy-actions", inputs: ["thySize"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyResizeHandle, selector: "thy-resize-handle, [thy-resize-handle]", inputs: ["thyDirection", "thyLine"], outputs: ["thyMouseDown"], exportAs: ["thyResizeHandle"] }, { kind: "component", type: TheToolbarDropdown, selector: "the-toolbar-dropdown" }, { kind: "directive", type: ThePreventDefaultDirective, selector: "[thePreventDefault]", exportAs: ["thePreventDefault"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8915
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheCode, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
8916
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: TheCode, isStandalone: true, selector: "div[theCode]", host: { classAttribute: "the-code-container" }, viewQueries: [{ propertyName: "toolbar", first: true, predicate: ["toolbar"], descendants: true, read: TemplateRef, static: true }, { propertyName: "codemirror", first: true, predicate: ["codemirror"], descendants: true, read: CodeMirrorComponent }, { propertyName: "toolbarDropdown", first: true, predicate: TheToolbarDropdown, descendants: true, read: TheToolbarDropdown }], usesInheritance: true, ngImport: i0, template: "<!-- \u53EA\u8BFB\u6A21\u5F0F\u4E0BCodeMirror-sizer\u9AD8\u5EA6\u6BD4\u7F16\u8F91\u6A21\u5F0F\u4E0B\u591A2px\uFF0C\u8BBE\u7F6EthyMinHeight\u4E3A46px\u9632\u6B62\u62D6\u62FD\u5230\u6700\u5C0F\u9AD8\u5EA6\u65F6\u53EA\u8BFB\u6A21\u5F0F\u4E0B\u51FA\u73B0\u6EDA\u52A8\u6761 -->\n<div\n thyResizable\n [thyMinHeight]=\"46\"\n [thyBounds]=\"resizeBounds\"\n [style.height.px]=\"resizeHeight\"\n (thyResize)=\"onResize($event)\"\n (thyResizeEnd)=\"onEndResize()\"\n class=\"resize-code-container\"\n [ngClass]=\"{ focus: isCollapsedAndNonReadonly, readonly: options.readOnly, active: isHightLight && isCollapsedAndNonReadonly }\"\n>\n <ng-codemirror\n *ngIf=\"startRenderCodemirror\"\n #codemirror\n contenteditable=\"false\"\n class=\"ng-codemirror-wrapper\"\n [ngStyle]=\"{ maxHeight: maxHeight > 0 ? maxHeight + 'px' : 'auto' }\"\n [options]=\"options\"\n [ngModel]=\"code\"\n [delayRefreshTime]=\"300\"\n (ngModelChange)=\"codeChange($event)\"\n (focusChange)=\"focusChange($event)\"\n [autoMaxHeight]=\"maxHeight\"\n >\n </ng-codemirror>\n <thy-resize-handle thyDirection=\"bottom\" class=\"code-resize-icon\" *ngIf=\"isCollapsedAndNonReadonly\"></thy-resize-handle>\n</div>\n\n<ng-template #toolbar>\n <thy-actions thySize=\"xxs\" thePreventDefault>\n <the-toolbar-dropdown\n [menus]=\"menus\"\n [toolbarItem]=\"activeLanguage\"\n [dropdownItemKey]=\"activeLanguage?.key\"\n [itemMousedownHandle]=\"onChangeLanguage\"\n >\n </the-toolbar-dropdown>\n <span class=\"auto-wrap d-flex align-items-center px-2 text-secondary\">\n <span>\u81EA\u52A8\u6362\u884C</span>\n <thy-switch\n class=\"auto-wrap-btn d-flex ml-1\"\n [(ngModel)]=\"options.lineWrapping\"\n (ngModelChange)=\"onChangeWrap($event)\"\n thySize=\"sm\"\n ></thy-switch>\n </span>\n <a href=\"javascript:;\" thyAction thyActionIcon=\"copy\" thyTooltip=\"\u590D\u5236\" thyTooltipPlacement=\"top\" (click)=\"onCopy($event)\"></a>\n <thy-divider class=\"mr-2 ml-1 align-self-center\" [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n <a\n href=\"javascript:;\"\n thyAction\n thyType=\"danger\"\n thyActionIcon=\"trash\"\n thyTooltip=\"\u5220\u9664\"\n thyTooltipPlacement=\"top\"\n (click)=\"onDelete($event)\"\n ></a>\n </thy-actions>\n</ng-template>\n", dependencies: [{ kind: "directive", type: ThyResizableDirective, selector: "[thyResizable]", inputs: ["thyBounds", "thyMaxHeight", "thyMaxWidth", "thyMinHeight", "thyMinWidth", "thyGridColumnCount", "thyMaxColumn", "thyMinColumn", "thyLockAspectRatio", "thyPreview", "thyDisabled"], outputs: ["thyResize", "thyResizeStart", "thyResizeEnd"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SlateModule }, { kind: "ngmodule", type: CodemirrorModule }, { kind: "component", type: i2$3.CodeMirrorComponent, selector: "ng-codemirror, [ngCodeMirror]", inputs: ["autoMaxHeight", "options", "delayRefreshTime"], outputs: ["focusChange"] }, { kind: "component", type: ThySwitch, selector: "thy-switch", inputs: ["thyType", "thySize", "thyDisabled", "thyLoading"], outputs: ["thyChange"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "component", type: ThyActions, selector: "thy-actions", inputs: ["thySize"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyResizeHandle, selector: "thy-resize-handle, [thy-resize-handle]", inputs: ["thyDirection", "thyLine"], outputs: ["thyMouseDown"], exportAs: ["thyResizeHandle"] }, { kind: "component", type: TheToolbarDropdown, selector: "the-toolbar-dropdown" }, { kind: "directive", type: ThePreventDefaultDirective, selector: "[thePreventDefault]", exportAs: ["thePreventDefault"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8921
8917
  }
8922
8918
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheCode, decorators: [{
8923
8919
  type: Component,
@@ -8942,7 +8938,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
8942
8938
  TheToolbarDropdown,
8943
8939
  ThePreventDefaultDirective
8944
8940
  ], template: "<!-- \u53EA\u8BFB\u6A21\u5F0F\u4E0BCodeMirror-sizer\u9AD8\u5EA6\u6BD4\u7F16\u8F91\u6A21\u5F0F\u4E0B\u591A2px\uFF0C\u8BBE\u7F6EthyMinHeight\u4E3A46px\u9632\u6B62\u62D6\u62FD\u5230\u6700\u5C0F\u9AD8\u5EA6\u65F6\u53EA\u8BFB\u6A21\u5F0F\u4E0B\u51FA\u73B0\u6EDA\u52A8\u6761 -->\n<div\n thyResizable\n [thyMinHeight]=\"46\"\n [thyBounds]=\"resizeBounds\"\n [style.height.px]=\"resizeHeight\"\n (thyResize)=\"onResize($event)\"\n (thyResizeEnd)=\"onEndResize()\"\n class=\"resize-code-container\"\n [ngClass]=\"{ focus: isCollapsedAndNonReadonly, readonly: options.readOnly, active: isHightLight && isCollapsedAndNonReadonly }\"\n>\n <ng-codemirror\n *ngIf=\"startRenderCodemirror\"\n #codemirror\n contenteditable=\"false\"\n class=\"ng-codemirror-wrapper\"\n [ngStyle]=\"{ maxHeight: maxHeight > 0 ? maxHeight + 'px' : 'auto' }\"\n [options]=\"options\"\n [ngModel]=\"code\"\n [delayRefreshTime]=\"300\"\n (ngModelChange)=\"codeChange($event)\"\n (focusChange)=\"focusChange($event)\"\n [autoMaxHeight]=\"maxHeight\"\n >\n </ng-codemirror>\n <thy-resize-handle thyDirection=\"bottom\" class=\"code-resize-icon\" *ngIf=\"isCollapsedAndNonReadonly\"></thy-resize-handle>\n</div>\n\n<ng-template #toolbar>\n <thy-actions thySize=\"xxs\" thePreventDefault>\n <the-toolbar-dropdown\n [menus]=\"menus\"\n [toolbarItem]=\"activeLanguage\"\n [dropdownItemKey]=\"activeLanguage?.key\"\n [itemMousedownHandle]=\"onChangeLanguage\"\n >\n </the-toolbar-dropdown>\n <span class=\"auto-wrap d-flex align-items-center px-2 text-secondary\">\n <span>\u81EA\u52A8\u6362\u884C</span>\n <thy-switch\n class=\"auto-wrap-btn d-flex ml-1\"\n [(ngModel)]=\"options.lineWrapping\"\n (ngModelChange)=\"onChangeWrap($event)\"\n thySize=\"sm\"\n ></thy-switch>\n </span>\n <a href=\"javascript:;\" thyAction thyActionIcon=\"copy\" thyTooltip=\"\u590D\u5236\" thyTooltipPlacement=\"top\" (click)=\"onCopy($event)\"></a>\n <thy-divider class=\"mr-2 ml-1 align-self-center\" [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n <a\n href=\"javascript:;\"\n thyAction\n thyType=\"danger\"\n thyActionIcon=\"trash\"\n thyTooltip=\"\u5220\u9664\"\n thyTooltipPlacement=\"top\"\n (click)=\"onDelete($event)\"\n ></a>\n </thy-actions>\n</ng-template>\n" }]
8945
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.ThyNotifyService }, { type: TheContextService }, { type: i0.NgZone }, { type: i1.ThyPopover }, { type: i2.Overlay }], propDecorators: { toolbar: [{
8941
+ }], propDecorators: { toolbar: [{
8946
8942
  type: ViewChild,
8947
8943
  args: ['toolbar', { read: TemplateRef, static: true }]
8948
8944
  }], codemirror: [{
@@ -10067,11 +10063,6 @@ const createHeadingPlugin = createPluginFactory({
10067
10063
  });
10068
10064
 
10069
10065
  class TheHr extends TheBaseElement {
10070
- constructor(elementRef, cdr) {
10071
- super(elementRef, cdr);
10072
- this.elementRef = elementRef;
10073
- this.cdr = cdr;
10074
- }
10075
10066
  ngAfterViewInit() {
10076
10067
  setTimeout(() => {
10077
10068
  const blockCardElement = this.nativeElement.closest('slate-block-card');
@@ -10080,7 +10071,7 @@ class TheHr extends TheBaseElement {
10080
10071
  }
10081
10072
  });
10082
10073
  }
10083
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheHr, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
10074
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheHr, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10084
10075
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: TheHr, isStandalone: true, selector: "the-hr, [theHr]", usesInheritance: true, ngImport: i0, template: `
10085
10076
  <div class="the-hr" contenteditable="false" [ngClass]="{ active: isCollapsedAndNonReadonly }">
10086
10077
  <hr class="the-hr" />
@@ -10101,7 +10092,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
10101
10092
  standalone: true,
10102
10093
  imports: [NgClass, SlateChildrenOutlet]
10103
10094
  }]
10104
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }] });
10095
+ }] });
10105
10096
 
10106
10097
  const withHr = (editor) => {
10107
10098
  const { isVoid, isBlockCard, renderElement } = editor;
@@ -10162,12 +10153,11 @@ class TheImage extends TheBaseElement {
10162
10153
  ? this.layoutDefaultWidth
10163
10154
  : currentWidth;
10164
10155
  }
10165
- constructor(elementRef, cdr, imageGroup, imageUploaderService, theContextService, thyPopover, overlay, destroyRef) {
10166
- super(elementRef, cdr);
10167
- this.elementRef = elementRef;
10156
+ constructor(cdr, imageGroup, imageService, theContextService, thyPopover, overlay, destroyRef) {
10157
+ super();
10168
10158
  this.cdr = cdr;
10169
10159
  this.imageGroup = imageGroup;
10170
- this.imageUploaderService = imageUploaderService;
10160
+ this.imageService = imageService;
10171
10161
  this.theContextService = theContextService;
10172
10162
  this.thyPopover = thyPopover;
10173
10163
  this.overlay = overlay;
@@ -10226,21 +10216,28 @@ class TheImage extends TheBaseElement {
10226
10216
  if (value.element !== this.element && value.element.thumbUrl) {
10227
10217
  let thumbUrl = value.element.thumbUrl;
10228
10218
  let originUrl = value.element.originUrl;
10229
- if (this.imageUploaderService?.buildImageUrl) {
10230
- thumbUrl = this.imageUploaderService.buildImageUrl(thumbUrl);
10231
- originUrl = this.imageUploaderService.buildImageUrl(originUrl);
10219
+ if (this.imageService.getImageUrl) {
10220
+ this.imageService.getImageUrl(value.element).subscribe(({ thumbUrl, originUrl }) => {
10221
+ this.buildImageEntry(value.element, thumbUrl, originUrl);
10222
+ this.cdr.markForCheck();
10223
+ });
10224
+ }
10225
+ else {
10226
+ this.buildImageEntry(value.element, thumbUrl, originUrl);
10232
10227
  }
10233
- this.imageEntry = {
10234
- ...value.element,
10235
- thumbUrl,
10236
- originUrl,
10237
- align: value.element.align || Alignment.left,
10238
- reSized: value.element.reSized || false
10239
- };
10240
10228
  this.setBlockCardLayoutAttr();
10241
10229
  }
10242
10230
  };
10243
10231
  }
10232
+ buildImageEntry(newElement, thumbUrl, originUrl) {
10233
+ this.imageEntry = {
10234
+ ...newElement,
10235
+ thumbUrl,
10236
+ originUrl,
10237
+ align: newElement.align || Alignment.left,
10238
+ reSized: newElement.reSized || false
10239
+ };
10240
+ }
10244
10241
  ngOnInit() {
10245
10242
  super.ngOnInit();
10246
10243
  this.setImageFileItem();
@@ -10292,7 +10289,7 @@ class TheImage extends TheBaseElement {
10292
10289
  this.theContextService.onMouseUp$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(e => this.endDrag(e));
10293
10290
  }
10294
10291
  subscribeImageUploadingState() {
10295
- this.uploadingSubscription = this.imageUploaderService
10292
+ this.uploadingSubscription = this.imageService
10296
10293
  .getUploadingItems$()
10297
10294
  .pipe(map$1(fileUploadingItem => this.fileItem?.file &&
10298
10295
  fileUploadingItem.find(item => item.file === this.fileItem?.file || item?.url === this.fileItem?.file)))
@@ -10327,7 +10324,7 @@ class TheImage extends TheBaseElement {
10327
10324
  };
10328
10325
  }
10329
10326
  this.theContextService.uploadingStatus$.next(true);
10330
- const [fileEntity] = await firstValueFrom(this.imageUploaderService.uploadFileHandle(file));
10327
+ const [fileEntity] = await firstValueFrom(this.imageService.uploadFileHandle(file));
10331
10328
  const { name, size, thumbUrl, originUrl } = fileEntity;
10332
10329
  const imageInfo = {
10333
10330
  name,
@@ -10554,7 +10551,7 @@ class TheImage extends TheBaseElement {
10554
10551
  });
10555
10552
  }
10556
10553
  }
10557
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheImage, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$2.ThyImageGroup }, { token: THE_UPLOAD_SERVICE_TOKEN }, { token: TheContextService }, { token: i1.ThyPopover }, { token: i2.Overlay }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component }); }
10554
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheImage, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.ThyImageGroup }, { token: THE_IMAGE_SERVICE_TOKEN }, { token: TheContextService }, { token: i1.ThyPopover }, { token: i2.Overlay }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component }); }
10558
10555
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: TheImage, isStandalone: true, selector: "the-image, [theImage]", providers: [ThyImageService], viewQueries: [{ propertyName: "imageContent", first: true, predicate: ["imageContent"], descendants: true }, { propertyName: "img", first: true, predicate: ["img"], descendants: true }, { propertyName: "layoutToolbar", first: true, predicate: ["layoutToolbar"], descendants: true, static: true }, { propertyName: "imageDirective", first: true, predicate: ThyImageDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"the-image-container\" contenteditable=\"false\" [style.textAlign]=\"imageEntry.align\">\n <div\n #imageContent\n *ngIf=\"imageEntry.thumbUrl; else imageLoading\"\n class=\"image-content\"\n contenteditable=\"false\"\n [class.cursor-pointer]=\"!selection\"\n >\n <img\n #img\n thyImage\n class=\"main-image\"\n [class.image-collapsed]=\"selection && !uploading\"\n [ngStyle]=\"{ 'width.px': imageBindingWidth }\"\n [alt]=\"imageEntry.name\"\n [thySrc]=\"imageEntry.thumbUrl\"\n [thyPreviewSrc]=\"imageEntry.thumbUrl\"\n [thyOriginSrc]=\"imageEntry.originUrl\"\n [thyDisablePreview]=\"disablePreview\"\n [thyImageMeta]=\"{ name: imageEntry.name, size: imageEntry.size }\"\n (load)=\"imageLoaded($event)\"\n (mousedown)=\"preventDefault($event)\"\n (error)=\"imageError($event)\"\n (click)=\"imageClick($event)\"\n />\n <div *ngIf=\"isCollapsedAndNonReadonly\" class=\"image-profile\" [class.outline]=\"selection\">\n <ng-container *ngIf=\"!loadImageError\">\n <span (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left top\"></span>\n <span (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right top\"></span>\n <span (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right bottom\"></span>\n <span (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left bottom\"></span>\n </ng-container>\n </div>\n <ng-template [ngTemplateOutlet]=\"imageUploading\"></ng-template>\n <div *ngIf=\"!uploading\" class=\"layer\" [class.readonly]=\"readonly\"></div>\n </div>\n</div>\n\n<ng-template #imageLoading>\n <div *ngIf=\"!imageEntry.thumbUrl\" class=\"image-loading cursor-pointer\" contenteditable=\"false\">\n <thy-icon thyIconName=\"image\"></thy-icon>\n </div>\n <ng-template [ngTemplateOutlet]=\"imageUploading\"></ng-template>\n</ng-template>\n\n<ng-template #layoutToolbar>\n <thy-actions thySize=\"xxs\">\n <ng-container *ngFor=\"let item of layoutOptions\">\n <a\n *ngIf=\"item.key !== 'split'\"\n href=\"javascript:;\"\n thyAction\n [thyType]=\"item.key === 'remove' ? 'danger' : 'primary'\"\n [thyActionIcon]=\"item.icon\"\n [thyActionActive]=\"layoutActive(item.key)\"\n [thyTooltip]=\"item.name\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"item?.handle($event, item.key)\"\n ></a>\n <thy-divider *ngIf=\"item.key === 'split'\" class=\"mr-2 ml-1 align-self-center\" [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n </ng-container>\n </thy-actions>\n</ng-template>\n\n<ng-template #imageUploading>\n <div *ngIf=\"uploading\" class=\"uploading\">\n <div class=\"uploading-percentage\">\n <thy-progress thyType=\"primary\" [thyValue]=\"percentage\" thySize=\"sm\"></thy-progress>\n <thy-icon (click)=\"cancelUpload($event)\" thyIconName=\"close-circle-bold-fill\" thyIconLegging=\"true\"> </thy-icon>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: ThyImageDirective, selector: "img[thyImage]", inputs: ["thySrc", "thyPreviewSrc", "thyOriginSrc", "thyImageMeta", "thyDisablePreview", "thyResolveSize"], exportAs: ["thyImage"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "component", type: ThyActions, selector: "thy-actions", inputs: ["thySize"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyProgress, selector: "thy-progress", inputs: ["thyType", "thySize", "thyValue", "thyMax", "thyTips", "thyShape", "thyGapDegree", "thyGapPosition", "thyStrokeWidth"] }] }); }
10559
10556
  }
10560
10557
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheImage, decorators: [{
@@ -10572,9 +10569,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
10572
10569
  ThyTooltipDirective,
10573
10570
  ThyProgress
10574
10571
  ], providers: [ThyImageService], template: "<div class=\"the-image-container\" contenteditable=\"false\" [style.textAlign]=\"imageEntry.align\">\n <div\n #imageContent\n *ngIf=\"imageEntry.thumbUrl; else imageLoading\"\n class=\"image-content\"\n contenteditable=\"false\"\n [class.cursor-pointer]=\"!selection\"\n >\n <img\n #img\n thyImage\n class=\"main-image\"\n [class.image-collapsed]=\"selection && !uploading\"\n [ngStyle]=\"{ 'width.px': imageBindingWidth }\"\n [alt]=\"imageEntry.name\"\n [thySrc]=\"imageEntry.thumbUrl\"\n [thyPreviewSrc]=\"imageEntry.thumbUrl\"\n [thyOriginSrc]=\"imageEntry.originUrl\"\n [thyDisablePreview]=\"disablePreview\"\n [thyImageMeta]=\"{ name: imageEntry.name, size: imageEntry.size }\"\n (load)=\"imageLoaded($event)\"\n (mousedown)=\"preventDefault($event)\"\n (error)=\"imageError($event)\"\n (click)=\"imageClick($event)\"\n />\n <div *ngIf=\"isCollapsedAndNonReadonly\" class=\"image-profile\" [class.outline]=\"selection\">\n <ng-container *ngIf=\"!loadImageError\">\n <span (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left top\"></span>\n <span (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right top\"></span>\n <span (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right bottom\"></span>\n <span (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left bottom\"></span>\n </ng-container>\n </div>\n <ng-template [ngTemplateOutlet]=\"imageUploading\"></ng-template>\n <div *ngIf=\"!uploading\" class=\"layer\" [class.readonly]=\"readonly\"></div>\n </div>\n</div>\n\n<ng-template #imageLoading>\n <div *ngIf=\"!imageEntry.thumbUrl\" class=\"image-loading cursor-pointer\" contenteditable=\"false\">\n <thy-icon thyIconName=\"image\"></thy-icon>\n </div>\n <ng-template [ngTemplateOutlet]=\"imageUploading\"></ng-template>\n</ng-template>\n\n<ng-template #layoutToolbar>\n <thy-actions thySize=\"xxs\">\n <ng-container *ngFor=\"let item of layoutOptions\">\n <a\n *ngIf=\"item.key !== 'split'\"\n href=\"javascript:;\"\n thyAction\n [thyType]=\"item.key === 'remove' ? 'danger' : 'primary'\"\n [thyActionIcon]=\"item.icon\"\n [thyActionActive]=\"layoutActive(item.key)\"\n [thyTooltip]=\"item.name\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"item?.handle($event, item.key)\"\n ></a>\n <thy-divider *ngIf=\"item.key === 'split'\" class=\"mr-2 ml-1 align-self-center\" [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n </ng-container>\n </thy-actions>\n</ng-template>\n\n<ng-template #imageUploading>\n <div *ngIf=\"uploading\" class=\"uploading\">\n <div class=\"uploading-percentage\">\n <thy-progress thyType=\"primary\" [thyValue]=\"percentage\" thySize=\"sm\"></thy-progress>\n <thy-icon (click)=\"cancelUpload($event)\" thyIconName=\"close-circle-bold-fill\" thyIconLegging=\"true\"> </thy-icon>\n </div>\n </div>\n</ng-template>\n" }]
10575
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$2.ThyImageGroup }, { type: undefined, decorators: [{
10572
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1$1.ThyImageGroup }, { type: undefined, decorators: [{
10576
10573
  type: Inject,
10577
- args: [THE_UPLOAD_SERVICE_TOKEN]
10574
+ args: [THE_IMAGE_SERVICE_TOKEN]
10578
10575
  }] }, { type: TheContextService }, { type: i1.ThyPopover }, { type: i2.Overlay }, { type: i0.DestroyRef }], propDecorators: { imageContent: [{
10579
10576
  type: ViewChild,
10580
10577
  args: ['imageContent']
@@ -10998,18 +10995,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
10998
10995
  }] } });
10999
10996
 
11000
10997
  class TheBaseLink extends TheBaseElement {
11001
- get linkHoverOpened() {
11002
- return this.thyPopoverHoverRef && this.thyPopoverHoverRef.componentInstance;
11003
- }
11004
- get linkEditOpened() {
11005
- return this.thyPopoverEditRef && this.thyPopoverEditRef.componentInstance;
11006
- }
11007
- constructor(elementRef, cdr, thyPopover, overlay) {
11008
- super(elementRef, cdr);
11009
- this.elementRef = elementRef;
11010
- this.cdr = cdr;
11011
- this.thyPopover = thyPopover;
11012
- this.overlay = overlay;
10998
+ constructor() {
10999
+ super(...arguments);
11000
+ this.thyPopover = inject(ThyPopover);
11001
+ this.overlay = inject(Overlay);
11013
11002
  this.beforeContextChange = (value) => {
11014
11003
  if (this.thyPopoverEditRef && this.thyPopoverEditRef.componentInstance) {
11015
11004
  let { originText } = this.thyPopoverEditRef.componentInstance;
@@ -11019,6 +11008,12 @@ class TheBaseLink extends TheBaseElement {
11019
11008
  }
11020
11009
  };
11021
11010
  }
11011
+ get linkHoverOpened() {
11012
+ return this.thyPopoverHoverRef && this.thyPopoverHoverRef.componentInstance;
11013
+ }
11014
+ get linkEditOpened() {
11015
+ return this.thyPopoverEditRef && this.thyPopoverEditRef.componentInstance;
11016
+ }
11022
11017
  ngOnInit() {
11023
11018
  super.ngOnInit();
11024
11019
  }
@@ -11113,7 +11108,7 @@ class TheBaseLink extends TheBaseElement {
11113
11108
  super.ngOnDestroy();
11114
11109
  this.close(LinkCloseTypes.destroy);
11115
11110
  }
11116
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheBaseLink, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ThyPopover }, { token: i2.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
11111
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheBaseLink, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11117
11112
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: TheBaseLink, selector: "ng-component", host: { listeners: { "click": "mousedownHandle($event)" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
11118
11113
  }
11119
11114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheBaseLink, decorators: [{
@@ -11121,7 +11116,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
11121
11116
  args: [{
11122
11117
  template: ''
11123
11118
  }]
11124
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.ThyPopover }, { type: i2.Overlay }], propDecorators: { mousedownHandle: [{
11119
+ }], propDecorators: { mousedownHandle: [{
11125
11120
  type: HostListener,
11126
11121
  args: ['click', ['$event']]
11127
11122
  }] } });
@@ -11176,7 +11171,7 @@ const withLink = (editor) => {
11176
11171
  const clipboardData = await getClipboardData(data);
11177
11172
  const text = clipboardData?.text;
11178
11173
  if (!clipboardData?.elements && text && isUrl(text)) {
11179
- const urls = Array.from(getUrls(text, { stripWWW: false }));
11174
+ const urls = Array.from(getUrls(text, { stripWWW: false, sortQueryParameters: false }));
11180
11175
  if (urls.length) {
11181
11176
  let str = cloneDeep(text);
11182
11177
  urls.forEach((url, index) => {
@@ -11240,18 +11235,13 @@ class TheBulletedList extends TheBaseElement {
11240
11235
  get level() {
11241
11236
  return this.element?.indent || null;
11242
11237
  }
11243
- constructor(elementRef, cdr) {
11244
- super(elementRef, cdr);
11245
- this.elementRef = elementRef;
11246
- this.cdr = cdr;
11247
- }
11248
11238
  ngOnInit() {
11249
11239
  super.ngOnInit();
11250
11240
  }
11251
11241
  ngOnDestroy() {
11252
11242
  super.ngOnDestroy();
11253
11243
  }
11254
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheBulletedList, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
11244
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheBulletedList, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11255
11245
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: TheBulletedList, isStandalone: true, selector: "ul[theUl]", host: { properties: { "attr.the-level": "this.level" } }, usesInheritance: true, ngImport: i0, template: ``, isInline: true }); }
11256
11246
  }
11257
11247
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheBulletedList, decorators: [{
@@ -11261,17 +11251,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
11261
11251
  template: ``,
11262
11252
  standalone: true
11263
11253
  }]
11264
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { level: [{
11254
+ }], propDecorators: { level: [{
11265
11255
  type: HostBinding,
11266
11256
  args: ['attr.the-level']
11267
11257
  }] } });
11268
11258
 
11269
11259
  class TheListItem extends TheBaseElement {
11270
- constructor(elementRef, cdr) {
11271
- super(elementRef, cdr);
11272
- this.elementRef = elementRef;
11273
- this.cdr = cdr;
11274
- }
11275
11260
  ngOnInit() {
11276
11261
  super.ngOnInit();
11277
11262
  }
@@ -11341,7 +11326,7 @@ class TheListItem extends TheBaseElement {
11341
11326
  this.elementRef.nativeElement.removeAttribute(multiDigit);
11342
11327
  }
11343
11328
  }
11344
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheListItem, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
11329
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheListItem, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11345
11330
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: TheListItem, isStandalone: true, selector: "li[theLi]", usesInheritance: true, ngImport: i0, template: ``, isInline: true }); }
11346
11331
  }
11347
11332
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheListItem, decorators: [{
@@ -11351,7 +11336,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
11351
11336
  template: ``,
11352
11337
  standalone: true
11353
11338
  }]
11354
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }] });
11339
+ }] });
11355
11340
 
11356
11341
  class TheNumberedList extends TheBaseElement {
11357
11342
  get start() {
@@ -11360,10 +11345,8 @@ class TheNumberedList extends TheBaseElement {
11360
11345
  get level() {
11361
11346
  return this.element?.indent || null;
11362
11347
  }
11363
- constructor(elementRef, cdr) {
11364
- super(elementRef, cdr);
11365
- this.elementRef = elementRef;
11366
- this.cdr = cdr;
11348
+ constructor() {
11349
+ super();
11367
11350
  }
11368
11351
  ngOnInit() {
11369
11352
  super.ngOnInit();
@@ -11371,7 +11354,7 @@ class TheNumberedList extends TheBaseElement {
11371
11354
  ngOnDestroy() {
11372
11355
  super.ngOnDestroy();
11373
11356
  }
11374
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheNumberedList, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
11357
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheNumberedList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11375
11358
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: TheNumberedList, isStandalone: true, selector: "ol[theOl]", host: { properties: { "attr.start": "this.start", "attr.the-level": "this.level" } }, usesInheritance: true, ngImport: i0, template: ``, isInline: true }); }
11376
11359
  }
11377
11360
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheNumberedList, decorators: [{
@@ -11381,7 +11364,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
11381
11364
  template: ``,
11382
11365
  standalone: true
11383
11366
  }]
11384
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { start: [{
11367
+ }], ctorParameters: () => [], propDecorators: { start: [{
11385
11368
  type: HostBinding,
11386
11369
  args: ['attr.start']
11387
11370
  }], level: [{
@@ -12699,13 +12682,11 @@ const createSoftBreakPlugin = createPluginFactory({
12699
12682
  });
12700
12683
 
12701
12684
  class TheTableRow extends TheBaseElement {
12702
- constructor(elementRef, cdr, renderer) {
12703
- super(elementRef, cdr);
12704
- this.elementRef = elementRef;
12705
- this.cdr = cdr;
12706
- this.renderer = renderer;
12685
+ constructor() {
12686
+ super(...arguments);
12707
12687
  this.numberedColumn = false;
12708
12688
  this.rowNumber = '';
12689
+ this.renderer = inject(Renderer2);
12709
12690
  }
12710
12691
  onContextChange() {
12711
12692
  super.onContextChange();
@@ -12758,7 +12739,7 @@ class TheTableRow extends TheBaseElement {
12758
12739
  }
12759
12740
  }
12760
12741
  }
12761
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheTableRow, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
12742
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheTableRow, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12762
12743
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: TheTableRow, isStandalone: true, selector: "tr[theTableRow]", host: { properties: { "style.height": "this.height" } }, viewQueries: [{ propertyName: "numberedColumnRef", first: true, predicate: ["numberedColumn"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
12763
12744
  <td #numberedColumn *ngIf="readonly && numberedColumn" class="the-table-number-column align-middle" thePreventDefault>
12764
12745
  {{ rowNumber }}
@@ -12777,7 +12758,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
12777
12758
  standalone: true,
12778
12759
  imports: [NgIf, ThePreventDefaultDirective]
12779
12760
  }]
12780
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }], propDecorators: { height: [{
12761
+ }], propDecorators: { height: [{
12781
12762
  type: HostBinding,
12782
12763
  args: ['style.height']
12783
12764
  }], numberedColumnRef: [{
@@ -13901,13 +13882,13 @@ class TheTableToolbar {
13901
13882
  viewContainerRef: this.viewContainerRef
13902
13883
  });
13903
13884
  }
13904
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheTableToolbar, deps: [{ token: i1.ThyPopover }, { token: i1.ThyPopoverRef }, { token: i1$1.ThyNotifyService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
13885
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheTableToolbar, deps: [{ token: i1.ThyPopover }, { token: i1.ThyPopoverRef }, { token: i2$4.ThyNotifyService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
13905
13886
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: TheTableToolbar, isStandalone: true, selector: "the-table-toolbar", inputs: { tableStore: "tableStore", tableElement: "tableElement" }, ngImport: i0, template: "<thy-actions thySize=\"xxs\" (mousedown)=\"preventDefault($event)\">\n <ng-container *ngFor=\"let item of cellMenuList\">\n <a\n *ngIf=\"item.visibility\"\n href=\"javascript:;\"\n thyAction\n [thyActionIcon]=\"item.icon\"\n [thyTooltip]=\"item.name\"\n (click)=\"item.actionHandle()\"\n ></a>\n </ng-container>\n <thy-divider *ngIf=\"hasDivider\" class=\"mr-2 ml-1 align-self-center\" [thyVertical]=\"true\" thyColor=\"light\"> </thy-divider>\n <a\n href=\"javascript:;\"\n thyAction\n thyTooltip=\"\u5355\u5143\u683C\u80CC\u666F\"\n thyColorPicker\n [(ngModel)]=\"selectedColor\"\n (ngModelChange)=\"changeColor($event)\"\n (click)=\"openColorPanel($event)\"\n thyPlacement=\"bottomLeft\"\n [thyHasBackdrop]=\"false\"\n >\n <thy-icon thyIconName=\"background-tt\" thyIconType=\"twotone\" [thyTwotoneColor]=\"selectedColor\"></thy-icon>\n </a>\n <a\n href=\"javascript:;\"\n *ngIf=\"tableStore.isSelectedTable && !isColumnEqual\"\n thyAction\n thyTooltip=\"\u5217\u7B49\u5BBD\"\n (click)=\"setEquallyColumnHandle($event)\"\n >\n <thy-icon thyIconName=\"table-column-equal-width\"></thy-icon>\n </a>\n <a\n href=\"javascript:;\"\n *ngIf=\"tableStore.isSelectedTable && tableOptions?.showFullscreen\"\n thyAction\n thyTooltip=\"\u5168\u5C4F\"\n (click)=\"setFullscreen($event)\"\n >\n <thy-icon thyIconName=\"arrows-alt\"></thy-icon>\n </a>\n <a\n *ngIf=\"tableStore.isSelectedTable && !tableStore?.isFullscreen\"\n class=\"fullscreen-hidden\"\n href=\"javascript:;\"\n thyAction\n thyActionIcon=\"copy\"\n thyTooltip=\"\u590D\u5236\"\n (click)=\"onCopy($event)\"\n ></a>\n <ng-container *ngIf=\"tableStore.isSelectedTable\">\n <thy-divider class=\"mr-2 ml-1 align-self-center\" [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n <a href=\"javascript:;\" class=\"link-with-down\" thyAction (mousedown)=\"preventDefault($event)\" (click)=\"openTableOptionMenu($event)\">\n <span>\u8868\u683C\u9009\u9879</span>\n <thy-icon class=\"font-size-sm text-desc ml-1\" thyIconName=\"caret-down\"></thy-icon>\n </a>\n </ng-container>\n <ng-container *ngIf=\"tableStore?.isFullscreen ? deleteIcon && !tableStore.isSelectedTable : deleteIcon\">\n <thy-divider class=\"mr-2 ml-1 align-self-center\" [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n <a\n href=\"javascript:;\"\n thyAction\n thyType=\"danger\"\n [thyActionIcon]=\"deleteIcon\"\n [thyTooltip]=\"iconName\"\n (click)=\"onDelete($event)\"\n (mouseenter)=\"onEnterDelete($event)\"\n (mouseleave)=\"onLeaveDelete($event)\"\n ></a>\n </ng-container>\n</thy-actions>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "component", type: ThyActions, selector: "thy-actions", inputs: ["thySize"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "directive", type: ThyColorPickerDirective, selector: "[thyColorPicker]", inputs: ["thyOffset", "thyHasBackdrop", "thyDefaultColor", "thyTransparentColorSelectable", "thyPresetColors", "thyPlacement", "thyTrigger", "thyShowDelay", "thyHideDelay", "thyDisabled"], outputs: ["thyPanelOpen", "thyPanelClose"] }] }); }
13906
13887
  }
13907
13888
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheTableToolbar, decorators: [{
13908
13889
  type: Component,
13909
13890
  args: [{ selector: 'the-table-toolbar', standalone: true, imports: [NgFor, NgIf, FormsModule, ThyIcon, ThyAction, ThyActions, ThyTooltipDirective, ThyDivider, ThyColorPickerDirective], template: "<thy-actions thySize=\"xxs\" (mousedown)=\"preventDefault($event)\">\n <ng-container *ngFor=\"let item of cellMenuList\">\n <a\n *ngIf=\"item.visibility\"\n href=\"javascript:;\"\n thyAction\n [thyActionIcon]=\"item.icon\"\n [thyTooltip]=\"item.name\"\n (click)=\"item.actionHandle()\"\n ></a>\n </ng-container>\n <thy-divider *ngIf=\"hasDivider\" class=\"mr-2 ml-1 align-self-center\" [thyVertical]=\"true\" thyColor=\"light\"> </thy-divider>\n <a\n href=\"javascript:;\"\n thyAction\n thyTooltip=\"\u5355\u5143\u683C\u80CC\u666F\"\n thyColorPicker\n [(ngModel)]=\"selectedColor\"\n (ngModelChange)=\"changeColor($event)\"\n (click)=\"openColorPanel($event)\"\n thyPlacement=\"bottomLeft\"\n [thyHasBackdrop]=\"false\"\n >\n <thy-icon thyIconName=\"background-tt\" thyIconType=\"twotone\" [thyTwotoneColor]=\"selectedColor\"></thy-icon>\n </a>\n <a\n href=\"javascript:;\"\n *ngIf=\"tableStore.isSelectedTable && !isColumnEqual\"\n thyAction\n thyTooltip=\"\u5217\u7B49\u5BBD\"\n (click)=\"setEquallyColumnHandle($event)\"\n >\n <thy-icon thyIconName=\"table-column-equal-width\"></thy-icon>\n </a>\n <a\n href=\"javascript:;\"\n *ngIf=\"tableStore.isSelectedTable && tableOptions?.showFullscreen\"\n thyAction\n thyTooltip=\"\u5168\u5C4F\"\n (click)=\"setFullscreen($event)\"\n >\n <thy-icon thyIconName=\"arrows-alt\"></thy-icon>\n </a>\n <a\n *ngIf=\"tableStore.isSelectedTable && !tableStore?.isFullscreen\"\n class=\"fullscreen-hidden\"\n href=\"javascript:;\"\n thyAction\n thyActionIcon=\"copy\"\n thyTooltip=\"\u590D\u5236\"\n (click)=\"onCopy($event)\"\n ></a>\n <ng-container *ngIf=\"tableStore.isSelectedTable\">\n <thy-divider class=\"mr-2 ml-1 align-self-center\" [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n <a href=\"javascript:;\" class=\"link-with-down\" thyAction (mousedown)=\"preventDefault($event)\" (click)=\"openTableOptionMenu($event)\">\n <span>\u8868\u683C\u9009\u9879</span>\n <thy-icon class=\"font-size-sm text-desc ml-1\" thyIconName=\"caret-down\"></thy-icon>\n </a>\n </ng-container>\n <ng-container *ngIf=\"tableStore?.isFullscreen ? deleteIcon && !tableStore.isSelectedTable : deleteIcon\">\n <thy-divider class=\"mr-2 ml-1 align-self-center\" [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n <a\n href=\"javascript:;\"\n thyAction\n thyType=\"danger\"\n [thyActionIcon]=\"deleteIcon\"\n [thyTooltip]=\"iconName\"\n (click)=\"onDelete($event)\"\n (mouseenter)=\"onEnterDelete($event)\"\n (mouseleave)=\"onLeaveDelete($event)\"\n ></a>\n </ng-container>\n</thy-actions>\n" }]
13910
- }], ctorParameters: () => [{ type: i1.ThyPopover }, { type: i1.ThyPopoverRef }, { type: i1$1.ThyNotifyService }, { type: i0.ViewContainerRef }], propDecorators: { tableStore: [{
13891
+ }], ctorParameters: () => [{ type: i1.ThyPopover }, { type: i1.ThyPopoverRef }, { type: i2$4.ThyNotifyService }, { type: i0.ViewContainerRef }], propDecorators: { tableStore: [{
13911
13892
  type: Input
13912
13893
  }], tableElement: [{
13913
13894
  type: Input
@@ -14330,8 +14311,8 @@ class TheTable extends TheBaseElement {
14330
14311
  afterRowControlsUpdate() {
14331
14312
  this.setTableHeaderStyle();
14332
14313
  }
14333
- constructor(elementRef, eventDispatcher, resizeNotifier, tableStore, cdr, ngZone, tableService, theTableContextMenuService, freezeColumnPipe, freezeRowPipe, renderer, contextService, config) {
14334
- super(elementRef, cdr);
14314
+ constructor(eventDispatcher, resizeNotifier, tableStore, cdr, ngZone, tableService, theTableContextMenuService, freezeColumnPipe, freezeRowPipe, renderer, contextService, config) {
14315
+ super();
14335
14316
  this.eventDispatcher = eventDispatcher;
14336
14317
  this.resizeNotifier = resizeNotifier;
14337
14318
  this.tableStore = tableStore;
@@ -15070,7 +15051,7 @@ class TheTable extends TheBaseElement {
15070
15051
  this.destroy$.next();
15071
15052
  this.destroy$.complete();
15072
15053
  }
15073
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheTable, deps: [{ token: i0.ElementRef }, { token: TableCellEventDispatcher }, { token: ColumnResizeNotifierSource }, { token: TableStore }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: TableService }, { token: TheTableContextMenuService }, { token: TableFreezeColumnPipe }, { token: TableFreezeRowPipe }, { token: i0.Renderer2 }, { token: TheContextService }, { token: THE_MODE_TOKEN }], target: i0.ɵɵFactoryTarget.Component }); }
15054
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheTable, deps: [{ token: TableCellEventDispatcher }, { token: ColumnResizeNotifierSource }, { token: TableStore }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: TableService }, { token: TheTableContextMenuService }, { token: TableFreezeColumnPipe }, { token: TableFreezeRowPipe }, { token: i0.Renderer2 }, { token: TheContextService }, { token: THE_MODE_TOKEN }], target: i0.ɵɵFactoryTarget.Component }); }
15074
15055
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: TheTable, isStandalone: true, selector: "ng-component", host: { properties: { "class.the-table-with-controls": "isInTable || tableStore.isRightClicking || tableStore.isFocusedInput", "class.the-table-with-sticky-column": "isFreezeColumn", "class.the-numbered-table": "element?.options?.numberedColumn", "class.the-table-selection-hide": "tableStore.isCellSelecting || tableStore.isRightClicking || tableStore.isFocusedInput" } }, providers: [
15075
15056
  TableStore,
15076
15057
  TableService,
@@ -15105,7 +15086,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
15105
15086
  '[class.the-numbered-table]': 'element?.options?.numberedColumn',
15106
15087
  '[class.the-table-selection-hide]': 'tableStore.isCellSelecting || tableStore.isRightClicking || tableStore.isFocusedInput'
15107
15088
  }, standalone: true, imports: [NgClass, NgIf, NgFor, NgStyle, TheInsertMark, TheColumnResizeDirective, TableHasHeaderRowPipe], template: "<div class=\"the-table-container\" theColumnResize>\n <div #tableRowControlsWrapper class=\"the-table-row-controls-wrapper\">\n <div\n class=\"the-table-corner-controls\"\n #cornerControl\n contenteditable=\"false\"\n [ngClass]=\"{\n visible: !readonly && (isInTable || tableStore.isRightClicking || tableStore.isFocusedInput),\n 'control-active': isSelectedAllCell,\n dangerous: tableStore.isSelectedTable && tableStore.dangerousCells.length > 0\n }\"\n >\n <div class=\"the-table-corner-button\" (pointerdown)=\"onSelectTable($event)\"></div>\n <div class=\"the-table-corner-controls-insert-row-marker\" *ngIf=\"!(element | hasHeaderRow) && !isMobileMode\">\n <the-table-insert-mark type=\"row\" [at]=\"0\" [tableStore]=\"tableStore\"></the-table-insert-mark>\n </div>\n <div class=\"the-table-corner-controls-insert-column-marker\" *ngIf=\"!element?.options?.headerColumn && !isMobileMode\">\n <the-table-insert-mark type=\"column\" [at]=\"0\" [tableStore]=\"tableStore\"></the-table-insert-mark>\n </div>\n </div>\n <div class=\"the-table-row-controls\">\n <div class=\"the-table-row-controls-inner\" #rowControlsInner>\n <div\n class=\"the-table-row-control-button-wrap\"\n #rowControlsButtonWrapper\n contenteditable=\"false\"\n *ngFor=\"let control of rowControls; let i = index; trackBy: trackByFnRowControls\"\n [ngClass]=\"{\n 'control-active': tableStore.selectedRowsIndex.includes(control.rowIndex),\n dangerous: tableStore.dangerousRowsIndex.includes(control.rowIndex) && tableStore.dangerousCells.length > 0\n }\"\n >\n <ng-container\n *ngIf=\"!readonly && (isInTable || tableStore.isRightClicking || tableStore.isFocusedInput) && !element?.options?.numberedColumn\"\n >\n <button\n (pointerdown)=\"onRowMousedown($event, control.rowIndex)\"\n type=\"button\"\n contenteditable=\"false\"\n [ngStyle]=\"{ height: control.height + 1 + 'px' }\"\n class=\"the-table-row-controls-button the-table-controls-button\"\n ></button>\n </ng-container>\n <ng-container *ngIf=\"element?.options?.numberedColumn\">\n <div\n contenteditable=\"false\"\n (pointerdown)=\"onRowMousedown($event, control.rowIndex)\"\n class=\"the-table-numbered-controls-button\"\n [ngStyle]=\"{ height: control.height + 1 + 'px' }\"\n >\n <p class=\"row-number d-flex align-items-center\">\n {{ (element | hasHeaderRow) && i === 0 ? '' : (element | hasHeaderRow) ? i : i + 1 }}\n </p>\n </div>\n </ng-container>\n <the-table-insert-mark *ngIf=\"!isMobileMode\" type=\"row\" [at]=\"control.rowIndex + 1\" [tableStore]=\"tableStore\">\n </the-table-insert-mark>\n </div>\n </div>\n </div>\n </div>\n <div class=\"the-table-wrapper\" #tableWrapper [ngClass]=\"{ 'the-table-numbered': element?.options?.numberedColumn }\">\n <table class=\"the-table\" #theTable>\n <colgroup #colgroup>\n <!--\u63A7\u5236\u5E8F\u53F7\u5217\u5BBD\u5EA6-->\n <col *ngIf=\"readonly && element?.options?.numberedColumn\" class=\"the-table-number-col\" />\n <col *ngFor=\"let col of columns\" [ngStyle]=\"{ width: col.width + 'px' }\" />\n </colgroup>\n <thead>\n <tr class=\"the-table-col-controls-wrapper the-sticky-row\" #columnControlsWrapper>\n <th *ngIf=\"readonly && element?.options?.numberedColumn\" class=\"the-table-number-col\"></th>\n <th\n #colControl\n class=\"the-table-col-control\"\n contenteditable=\"false\"\n *ngFor=\"let control of colControls; let i = index; trackBy: trackByFnColControls\"\n [ngClass]=\"{\n 'control-active': tableStore.selectedColumnsIndex.includes(i),\n dangerous: tableStore.dangerousColumnsIndex.includes(i) && tableStore.dangerousCells.length > 0,\n 'the-sticky-cell': i === 0 && isFreezeColumn\n }\"\n (pointerdown)=\"onColMousedown($event, i)\"\n >\n <the-table-insert-mark\n *ngIf=\"(isInTable || tableStore.isRightClicking || tableStore.isFocusedInput) && !isMobileMode\"\n type=\"column\"\n [at]=\"i + 1\"\n [tableStore]=\"tableStore\"\n [parentElement]=\"colControl\"\n >\n </the-table-insert-mark>\n </th>\n </tr>\n </thead>\n <tbody #tbody></tbody>\n <div\n *ngIf=\"!element?.options?.headerColumn\"\n #headerRowLeftShadow\n class=\"header-row-shadow header-row-left-shadow\"\n contenteditable=\"false\"\n ></div>\n <div class=\"header-row-shadow header-row-right-shadow\" #headerRowRightShadow contenteditable=\"false\"></div>\n </table>\n </div>\n</div>\n" }]
15108
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: TableCellEventDispatcher }, { type: ColumnResizeNotifierSource }, { type: TableStore }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: TableService }, { type: TheTableContextMenuService }, { type: TableFreezeColumnPipe }, { type: TableFreezeRowPipe }, { type: i0.Renderer2 }, { type: TheContextService }, { type: TheModeConfig, decorators: [{
15089
+ }], ctorParameters: () => [{ type: TableCellEventDispatcher }, { type: ColumnResizeNotifierSource }, { type: TableStore }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: TableService }, { type: TheTableContextMenuService }, { type: TableFreezeColumnPipe }, { type: TableFreezeRowPipe }, { type: i0.Renderer2 }, { type: TheContextService }, { type: TheModeConfig, decorators: [{
15109
15090
  type: Inject,
15110
15091
  args: [THE_MODE_TOKEN]
15111
15092
  }] }], propDecorators: { tableWrapper: [{
@@ -15175,6 +15156,21 @@ const POSITION_MAP = {
15175
15156
  }
15176
15157
  };
15177
15158
  class TheTd extends TheBaseElement {
15159
+ constructor() {
15160
+ super(...arguments);
15161
+ this.destroy$ = new Subject();
15162
+ this.tableOptions = new TableOptions();
15163
+ this.cellInnerMinHeight = null;
15164
+ this.getOutletParent = () => {
15165
+ return this.cellInner.nativeElement;
15166
+ };
15167
+ this.renderer = inject(Renderer2);
15168
+ this.ngZone = inject(NgZone);
15169
+ this.injector = inject(Injector);
15170
+ this.overlay = inject(Overlay);
15171
+ this.resizingStore = inject(ColumnResizingStore);
15172
+ this.scrollDispatcher = inject(ScrollDispatcher);
15173
+ }
15178
15174
  get tableStore() {
15179
15175
  return this.tableComponent?.tableStore;
15180
15176
  }
@@ -15215,23 +15211,6 @@ class TheTd extends TheBaseElement {
15215
15211
  this.useState();
15216
15212
  }
15217
15213
  }
15218
- constructor(elementRef, cdr, renderer, ngZone, injector, overlay, resizingStore, scrollDispatcher) {
15219
- super(elementRef, cdr);
15220
- this.elementRef = elementRef;
15221
- this.cdr = cdr;
15222
- this.renderer = renderer;
15223
- this.ngZone = ngZone;
15224
- this.injector = injector;
15225
- this.overlay = overlay;
15226
- this.resizingStore = resizingStore;
15227
- this.scrollDispatcher = scrollDispatcher;
15228
- this.destroy$ = new Subject();
15229
- this.tableOptions = new TableOptions();
15230
- this.cellInnerMinHeight = null;
15231
- this.getOutletParent = () => {
15232
- return this.cellInner.nativeElement;
15233
- };
15234
- }
15235
15214
  ngOnInit() {
15236
15215
  super.ngOnInit();
15237
15216
  this.isMobileMode = isMobileMode(this.editor);
@@ -15709,13 +15688,13 @@ class TheTd extends TheBaseElement {
15709
15688
  this.destroy$.next();
15710
15689
  this.destroy$.complete();
15711
15690
  }
15712
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheTd, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.Injector }, { token: i2.Overlay }, { token: ColumnResizingStore }, { token: i2.ScrollDispatcher }], target: i0.ɵɵFactoryTarget.Component }); }
15691
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheTd, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
15713
15692
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: TheTd, isStandalone: true, selector: "td[theTd]", host: { properties: { "style.backgroundColor": "this.backgroundColor", "attr.colspan": "this.colspan", "attr.rowspan": "this.rowspan", "style.display": "this.display" } }, providers: [ColumnResizingStore], viewQueries: [{ propertyName: "cellInner", first: true, predicate: ["cellInner"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<div #cellInner></div>\n" }); }
15714
15693
  }
15715
15694
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheTd, decorators: [{
15716
15695
  type: Component,
15717
15696
  args: [{ selector: 'td[theTd]', standalone: true, providers: [ColumnResizingStore], template: "<div #cellInner></div>\n" }]
15718
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i0.Injector }, { type: i2.Overlay }, { type: ColumnResizingStore }, { type: i2.ScrollDispatcher }], propDecorators: { cellInner: [{
15697
+ }], propDecorators: { cellInner: [{
15719
15698
  type: ViewChild,
15720
15699
  args: ['cellInner', { read: ElementRef, static: true }]
15721
15700
  }], backgroundColor: [{
@@ -16412,6 +16391,13 @@ const createTablePlugin = createPluginFactory({
16412
16391
  });
16413
16392
 
16414
16393
  class TheTodoItem extends TheBaseElement {
16394
+ constructor() {
16395
+ super(...arguments);
16396
+ this.checkItemClass = true;
16397
+ this.getOutletParent = () => {
16398
+ return this.childrenOutlet.nativeElement;
16399
+ };
16400
+ }
16415
16401
  get checkItemSelectable() {
16416
16402
  return this.editableWithReadonly && this.readonly;
16417
16403
  }
@@ -16421,15 +16407,6 @@ class TheTodoItem extends TheBaseElement {
16421
16407
  get editableWithReadonly() {
16422
16408
  return getPluginOptions(this.editor, PluginKeys.checkItem)?.editableWithReadonly;
16423
16409
  }
16424
- constructor(elementRef, cdr) {
16425
- super(elementRef, cdr);
16426
- this.elementRef = elementRef;
16427
- this.cdr = cdr;
16428
- this.checkItemClass = true;
16429
- this.getOutletParent = () => {
16430
- return this.childrenOutlet.nativeElement;
16431
- };
16432
- }
16433
16410
  ngOnInit() {
16434
16411
  super.ngOnInit();
16435
16412
  }
@@ -16439,7 +16416,7 @@ class TheTodoItem extends TheBaseElement {
16439
16416
  }
16440
16417
  setNode(this.editor, { checked }, this.element);
16441
16418
  }
16442
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheTodoItem, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
16419
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheTodoItem, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
16443
16420
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: TheTodoItem, isStandalone: true, selector: "div[theTodoItem]", host: { properties: { "class.the-check-item": "this.checkItemClass", "class.the-todo-item-selectable": "this.checkItemSelectable", "attr.the-level": "this.level" } }, viewQueries: [{ propertyName: "childrenOutlet", first: true, predicate: ["childrenOutlet"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: `
16444
16421
  <span contenteditable="false" class="todo-item-status">
16445
16422
  <input #checkbox type="checkbox" [checked]="element.checked" (click)="onCheck(checkbox.checked)" />
@@ -16459,7 +16436,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
16459
16436
  `,
16460
16437
  standalone: true
16461
16438
  }]
16462
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { checkItemClass: [{
16439
+ }], propDecorators: { checkItemClass: [{
16463
16440
  type: HostBinding,
16464
16441
  args: ['class.the-check-item']
16465
16442
  }], checkItemSelectable: [{
@@ -17005,7 +16982,7 @@ class TheEditorComponent {
17005
16982
  event.preventDefault();
17006
16983
  return;
17007
16984
  }
17008
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheEditorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.DestroyRef }, { token: i0.ElementRef }, { token: i0.Injector }, { token: i0.NgZone }, { token: i0.ViewContainerRef }, { token: TheContextService }, { token: i2$3.ThyIconRegistry }, { token: THE_PRESET_CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
16985
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TheEditorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.DestroyRef }, { token: i0.ElementRef }, { token: i0.Injector }, { token: i0.NgZone }, { token: i0.ViewContainerRef }, { token: TheContextService }, { token: i2$5.ThyIconRegistry }, { token: THE_PRESET_CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
17009
16986
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: TheEditorComponent, isStandalone: true, selector: "the-editor, theEditor", inputs: { theOptions: "theOptions", thePlugins: "thePlugins", theGlobalToolbar: "theGlobalToolbar", theDecorate: "theDecorate", theOnError: "theOnError" }, outputs: { theOnSave: "theOnSave", theOnDOMEvent: "theOnDOMEvent", theEditorCreated: "theEditorCreated", theUploadingStatus: "theUploadingStatus" }, host: { properties: { "class.the-editor-readonly": "editor.options?.readonly", "class.the-mobile-editor": "isMobileMode" }, classAttribute: "the-editor" }, providers: [
17010
16987
  TheContextService,
17011
16988
  {
@@ -17048,7 +17025,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
17048
17025
  multi: true
17049
17026
  }
17050
17027
  ], template: "<the-toolbar\n *ngIf=\"!options?.readonly && !theGlobalToolbar && !isMobileMode\"\n [ngClass]=\"{\n 'the-toolbar-disabled': options?.disabled\n }\"\n #globalToolbar\n [editor]=\"editor\"\n [toolbarItems]=\"toolbarEntity.global\"\n [containerClass]=\"globalToolbarClass\"\n [align]=\"options?.toolbar?.align\"\n></the-toolbar>\n\n<div\n #theEditableContainer\n class=\"the-editable-container\"\n thyImageGroup\n [ngClass]=\"{\n 'the-editor-disabled': options?.disabled,\n 'max-height': maxHeight\n }\"\n [ngStyle]=\"{ 'max-height': maxHeight }\"\n>\n <slate-editable\n class=\"the-editor-typo\"\n [editor]=\"editor\"\n [ngModel]=\"editorValue\"\n [renderElement]=\"renderElement\"\n [renderText]=\"renderText\"\n [renderLeaf]=\"renderLeaf\"\n [isStrictDecorate]=\"false\"\n [decorate]=\"decorate\"\n [placeholder]=\"options?.placeholder\"\n [placeholderDecorate]=\"options?.placeholderDecorate ? options?.placeholderDecorate : null\"\n [readonly]=\"options?.readonly || options?.disabled\"\n [keydown]=\"onKeyDown\"\n [click]=\"onClick\"\n [paste]=\"onSlaPaste\"\n [blur]=\"onSlaBlur\"\n [focus]=\"onSlaFocus\"\n [copy]=\"onSlaCopy\"\n [cut]=\"onSlaCut\"\n [beforeInput]=\"onSlaBeforeInput\"\n [compositionStart]=\"onSlaCompositionStart\"\n [compositionEnd]=\"onSlaCompositionEnd\"\n [dragStart]=\"onSlaDragStart\"\n [dragOver]=\"onSlaDragOver\"\n [drop]=\"onDrop\"\n [scrollSelectionIntoView]=\"scrollSelectionIntoView\"\n (ngModelChange)=\"valueChange($event)\"\n (mousedown)=\"mousedown($event)\"\n ></slate-editable>\n\n <ng-container *ngIf=\"!isMobileMode\">\n <the-inline-toolbar\n *ngIf=\"!options?.readonly && options?.inlineToolbarVisible\"\n [editor]=\"editor\"\n [toolbarItems]=\"toolbarEntity.inline\"\n ></the-inline-toolbar>\n <div *ngIf=\"!options?.readonly\" theQuickInsert [editor]=\"editor\" [isVisible]=\"visibleQuickInsertPlus\"></div>\n </ng-container>\n\n <the-template #templateInstance></the-template>\n</div>\n" }]
17051
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.DestroyRef }, { type: i0.ElementRef }, { type: i0.Injector }, { type: i0.NgZone }, { type: i0.ViewContainerRef }, { type: TheContextService }, { type: i2$3.ThyIconRegistry }, { type: undefined, decorators: [{
17028
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.DestroyRef }, { type: i0.ElementRef }, { type: i0.Injector }, { type: i0.NgZone }, { type: i0.ViewContainerRef }, { type: TheContextService }, { type: i2$5.ThyIconRegistry }, { type: undefined, decorators: [{
17052
17029
  type: Optional
17053
17030
  }, {
17054
17031
  type: Inject,
@@ -17153,13 +17130,13 @@ class theTethysIconRegistryFaker extends ThyIconRegistry {
17153
17130
  splitIconName(iconName) {
17154
17131
  return ['', ''];
17155
17132
  }
17156
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: theTethysIconRegistryFaker, deps: [{ token: i1$3.DomSanitizer }, { token: i2$4.HttpClient }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
17133
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: theTethysIconRegistryFaker, deps: [{ token: i1$2.DomSanitizer }, { token: i2$6.HttpClient }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
17157
17134
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: theTethysIconRegistryFaker, providedIn: 'root' }); }
17158
17135
  }
17159
17136
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: theTethysIconRegistryFaker, decorators: [{
17160
17137
  type: Injectable,
17161
17138
  args: [{ providedIn: 'root' }]
17162
- }], ctorParameters: () => [{ type: i1$3.DomSanitizer }, { type: i2$4.HttpClient }, { type: undefined, decorators: [{
17139
+ }], ctorParameters: () => [{ type: i1$2.DomSanitizer }, { type: i2$6.HttpClient }, { type: undefined, decorators: [{
17163
17140
  type: Inject,
17164
17141
  args: [DOCUMENT]
17165
17142
  }] }] });
@@ -17354,5 +17331,5 @@ const withTestPlugin = (plugins, initValue) => {
17354
17331
  * Generated bundle index. Do not edit.
17355
17332
  */
17356
17333
 
17357
- export { ALIGN_BLOCK_TYPES, A_TAG_REL_ATTR, AlignEditor, Alignment, BLOCK_DELETE_BACKWARD_TYPES, BasicTest, BlockquoteEditor, CLIPBOARD_FORMAT_KEY, CODEMIRROR_PADDING_TOP, CODE_MODES, CONTAINER_BLOCKS, CONTROL_KEY, CodeEditor, ColorEditor, ColumnResizeNotifierSource, ColumnResizingStore, DEFAULT_LANGUAGE, DEFAULT_SCROLL_CONTAINER, DISABLED_OPERATE_TYPES, DataTransferFaker, DefaultElementOptions, DefaultGlobalToolbarDefinition, DefaultInlineToolbarDefinition, DefaultPluginMenu, DropdownMode, ELEMENT_UNIQUE_ID, EditorPresetConfigFactoryMock, ElementKinds, ErrorCodes, FontSizeTypes, FontSizes, HEADING_TYPES, HeadingEditor, HoveredCellInfo, HrEditor, IS_MAC, ImageEditor, IndentEditor, Indents, InlineCodeEditor, LINK_DEFAULT_TEXT, LIST_BLOCK_TYPES, LayoutTypes, LinkEditor, ListEditor, MarkEditor, MarkProps, MarkTypes, MentionEditor, PICTURE_ACCEPTED_UPLOAD_MIME, PICTURE_ACCEPTED_UPLOAD_SIZE, PluginKeys, PluginMenuIcons, PluginMenuSvgs, Position, QUICK_INSERT_HOTKEY, QuickInsertEditor, ResizeRef, SLA_TABLE_CELL_SELECTOR, SLA_TABLE_SELECTOR, STANDARD_HEADING_TYPES, ScrollDirection, SpecialBackgroundColor, TAB_SPACE, THE_EDITOR_BG_COLOR, THE_EDITOR_COLOR, THE_EDITOR_CONVERSION_HINT_REF, THE_EDITOR_ORIGIN_ANCHOR, THE_EDITOR_POPOVER_REF, THE_EDITOR_PREVIOUS_SELECTION, THE_EDITOR_UUID, THE_LISTBOX_PARENT_GROUP_TOKEN, THE_LISTBOX_PARENT_OPTION_TOKEN, THE_LISTBOX_TOKEN, THE_MODE_PROVIDER, THE_MODE_TOKEN, THE_PLUGIN_MENU_REF, THE_PRESET_CONFIG_TOKEN, THE_UPLOAD_SERVICE_TOKEN, TableCellEventDispatcher, TableEditor, TableHeaderBackgroundColor, TablePosition, TheBaseElement, TheBaseSuggestion, TheBaseToolbarDropdown, TheBaseToolbarItem, TheColumnResizeDirective, TheColumnResizeOverlayHandle, TheContextMenu, TheContextService, TheConversionHint, TheDataMode, TheDefaultElement, TheEditor, TheEditorComponent, TheEditorModule, TheImage, TheInlineToolbar, TheListboxDirective, TheListboxGroupDirective, TheListboxOptionDirective, TheMode, TheModeConfig, ThePluginMenu, ThePluginMenuComponent, ThePluginMenuItemType, ThePreventDefaultDirective, index$1 as TheQueries, TheQuickInsert, TheTableSelect, TheTemplate, TheText, TheToolbarComponent, TheToolbarDropdown, TheToolbarGroup, TheToolbarGroupToken, TheToolbarItem, TheToolbarService, index as TheTransforms, TodoItemEditor, ToolbarActionTypes, ToolbarAlignment, ToolbarItemType, ToolbarMoreGroup, VOID_BLOCK_TYPES, VerticalAlignEditor, VerticalAlignment, ZERO_WIDTH_CHAR, autoFocus, base64toBlob, bottomLeftPosition, buildPluginMenu, buildPluginMenuItemMap, buildQuickInsertMenus, calcPrintColumnWidth, calcSpanForColumn, calcSpanForRow, calculateHeaderRowHeight, calculateRowControls, coercePixelsFromCssValue, combinePlugins, copyNode, createCell, createEmptyContent, createEmptyParagraph, createMentionPlugin, createPluginFactory, createRow, createTable, createTablePosition, createTest1Plugin, createTestPlugin, createToolbar, createVerticalAlignPlugin, customPluginMock, customPluginMockKey, dataDeserialize, dataSerializing, deleteElementKey, errorImageUrlMock, extractFragment, filterTextFormat, fixBlockWithoutParagraph, fixBlockWithoutText, flattenDeepPlugins, getCellPositionsFromRange, getColsTotalWidth, getColumnsWidth, getDirtyElements, getEditorScrollContainer, getEditorUUID, getElementClassByPrefix, getElementHeight, getElementWidth, getEndBlock, getGridColumns, getMode, getNextCell, getOriginCell, getPlugin, getPluginOptions, getPlugins, getRowsTotalHeight, getSelectCellNode, getSelectedCellPositions, getStartBlock, getTableByCell, getTableByRow, getToolbarClass, hasHeaderRow, headingOptions, htmlToTheia, idCreator, inValidTypes, initializeDefaultMenuIcons, insertDataByInvalidType, internalPlugins, isCleanEmptyParagraph, isColorIndicator, isColorInput, isColorPanel, isDirectionKeydown, isInside, isMobileMode, isPrintMode, isPureEmptyParagraph, isRangeInTable, isRectangularInTableCells, isSelectedAllCell, isSelectionInTable, isVirtualKey, matchOptions, mergeArray, mergeDeepPlugins, mergeElementOptions, mergeOptions, nestedStructureByKey, normalizeValue, originOptions, plainToTheia, pluginKey, pluginKey1, pluginsByKey, reSelection, recursionNodes, refocus, scrollIntoView, setClipboardDataByDom, setEditorUUID, theTethysIconRegistryFaker, topLeftPosition, uniqueCellPosition, updatePopoverPosition, useElementStyle, withMention, withTestPlugin, withTheia };
17334
+ export { ALIGN_BLOCK_TYPES, A_TAG_REL_ATTR, AlignEditor, Alignment, BLOCK_DELETE_BACKWARD_TYPES, BasicTest, BlockquoteEditor, CLIPBOARD_FORMAT_KEY, CODEMIRROR_PADDING_TOP, CODE_MODES, CONTAINER_BLOCKS, CONTROL_KEY, CodeEditor, ColorEditor, ColumnResizeNotifierSource, ColumnResizingStore, DEFAULT_LANGUAGE, DEFAULT_SCROLL_CONTAINER, DISABLED_OPERATE_TYPES, DataTransferFaker, DefaultElementOptions, DefaultGlobalToolbarDefinition, DefaultInlineToolbarDefinition, DefaultPluginMenu, DropdownMode, ELEMENT_UNIQUE_ID, EditorPresetConfigFactoryMock, ElementKinds, ErrorCodes, FontSizeTypes, FontSizes, HEADING_TYPES, HeadingEditor, HoveredCellInfo, HrEditor, IS_MAC, ImageEditor, IndentEditor, Indents, InlineCodeEditor, LINK_DEFAULT_TEXT, LIST_BLOCK_TYPES, LayoutTypes, LinkEditor, ListEditor, MarkEditor, MarkProps, MarkTypes, MentionEditor, PICTURE_ACCEPTED_UPLOAD_MIME, PICTURE_ACCEPTED_UPLOAD_SIZE, PluginKeys, PluginMenuIcons, PluginMenuSvgs, Position, QUICK_INSERT_HOTKEY, QuickInsertEditor, ResizeRef, SLA_TABLE_CELL_SELECTOR, SLA_TABLE_SELECTOR, STANDARD_HEADING_TYPES, ScrollDirection, SpecialBackgroundColor, TAB_SPACE, THE_EDITOR_BG_COLOR, THE_EDITOR_COLOR, THE_EDITOR_CONVERSION_HINT_REF, THE_EDITOR_ORIGIN_ANCHOR, THE_EDITOR_POPOVER_REF, THE_EDITOR_PREVIOUS_SELECTION, THE_EDITOR_UUID, THE_IMAGE_SERVICE_TOKEN, THE_LISTBOX_PARENT_GROUP_TOKEN, THE_LISTBOX_PARENT_OPTION_TOKEN, THE_LISTBOX_TOKEN, THE_MODE_PROVIDER, THE_MODE_TOKEN, THE_PLUGIN_MENU_REF, THE_PRESET_CONFIG_TOKEN, TableCellEventDispatcher, TableEditor, TableHeaderBackgroundColor, TablePosition, TheBaseElement, TheBaseSuggestion, TheBaseToolbarDropdown, TheBaseToolbarItem, TheColumnResizeDirective, TheColumnResizeOverlayHandle, TheContextMenu, TheContextService, TheConversionHint, TheDataMode, TheDefaultElement, TheEditor, TheEditorComponent, TheEditorModule, TheImage, TheInlineToolbar, TheListboxDirective, TheListboxGroupDirective, TheListboxOptionDirective, TheMode, TheModeConfig, ThePluginMenu, ThePluginMenuComponent, ThePluginMenuItemType, ThePreventDefaultDirective, index$1 as TheQueries, TheQuickInsert, TheTableSelect, TheTemplate, TheText, TheToolbarComponent, TheToolbarDropdown, TheToolbarGroup, TheToolbarGroupToken, TheToolbarItem, TheToolbarService, index as TheTransforms, TodoItemEditor, ToolbarActionTypes, ToolbarAlignment, ToolbarItemType, ToolbarMoreGroup, VOID_BLOCK_TYPES, VerticalAlignEditor, VerticalAlignment, ZERO_WIDTH_CHAR, autoFocus, base64toBlob, bottomLeftPosition, buildPluginMenu, buildPluginMenuItemMap, buildQuickInsertMenus, calcPrintColumnWidth, calcSpanForColumn, calcSpanForRow, calculateHeaderRowHeight, calculateRowControls, coercePixelsFromCssValue, combinePlugins, copyNode, createCell, createEmptyContent, createEmptyParagraph, createMentionPlugin, createPluginFactory, createRow, createTable, createTablePosition, createTest1Plugin, createTestPlugin, createToolbar, createVerticalAlignPlugin, customPluginMock, customPluginMockKey, dataDeserialize, dataSerializing, deleteElementKey, errorImageUrlMock, extractFragment, filterTextFormat, fixBlockWithoutParagraph, fixBlockWithoutText, flattenDeepPlugins, getCellPositionsFromRange, getColsTotalWidth, getColumnsWidth, getDirtyElements, getEditorScrollContainer, getEditorUUID, getElementClassByPrefix, getElementHeight, getElementWidth, getEndBlock, getGridColumns, getMode, getNextCell, getOriginCell, getPlugin, getPluginOptions, getPlugins, getRowsTotalHeight, getSelectCellNode, getSelectedCellPositions, getStartBlock, getTableByCell, getTableByRow, getToolbarClass, hasHeaderRow, headingOptions, htmlToTheia, idCreator, inValidTypes, initializeDefaultMenuIcons, insertDataByInvalidType, internalPlugins, isCleanEmptyParagraph, isColorIndicator, isColorInput, isColorPanel, isDirectionKeydown, isInside, isMobileMode, isPrintMode, isPureEmptyParagraph, isRangeInTable, isRectangularInTableCells, isSelectedAllCell, isSelectionInTable, isVirtualKey, matchOptions, mergeArray, mergeDeepPlugins, mergeElementOptions, mergeOptions, nestedStructureByKey, normalizeValue, originOptions, plainToTheia, pluginKey, pluginKey1, pluginsByKey, reSelection, recursionNodes, refocus, scrollIntoView, setClipboardDataByDom, setEditorUUID, theTethysIconRegistryFaker, topLeftPosition, uniqueCellPosition, updatePopoverPosition, useElementStyle, withMention, withTestPlugin, withTheia };
17358
17335
  //# sourceMappingURL=worktile-theia.mjs.map