@worktile/theia 2.1.12 → 2.2.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 (45) hide show
  1. package/bundles/worktile-theia.umd.js +463 -233
  2. package/bundles/worktile-theia.umd.js.map +1 -1
  3. package/components/element/element.component.d.ts +1 -0
  4. package/constants/node-types.d.ts +6 -1
  5. package/custom-types.d.ts +1 -0
  6. package/editor.module.d.ts +44 -44
  7. package/esm2015/components/element/element.component.js +11 -4
  8. package/esm2015/components/text/text.component.js +2 -5
  9. package/esm2015/constants/node-types.js +7 -1
  10. package/esm2015/custom-types.js +1 -1
  11. package/esm2015/editor.component.js +1 -1
  12. package/esm2015/editor.module.js +6 -3
  13. package/esm2015/interfaces/editor.js +1 -1
  14. package/esm2015/plugins/common/block-card.plugin.js +2 -2
  15. package/esm2015/plugins/font-size/font-size.editor.js +2 -2
  16. package/esm2015/plugins/indent/indent.editor.js +81 -0
  17. package/esm2015/plugins/indent/indent.plugin.js +24 -3
  18. package/esm2015/plugins/indent/on-keydown-indent.js +40 -54
  19. package/esm2015/plugins/indent/options.js +26 -0
  20. package/esm2015/plugins/indent/toolbar-item.component.js +115 -0
  21. package/esm2015/plugins/index.js +5 -3
  22. package/esm2015/plugins/inline-code/inline-code.component.js +2 -2
  23. package/esm2015/plugins/list/components/bulleted-list.component.js +11 -14
  24. package/esm2015/plugins/list/components/numbered-list.component.js +12 -15
  25. package/esm2015/plugins/list/list.editor.js +8 -1
  26. package/esm2015/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.js +13 -6
  27. package/esm2015/plugins/todo-item/todo-item.component.js +8 -26
  28. package/esm2015/utils/is-clean-empty-paragraph.js +3 -1
  29. package/fesm2015/worktile-theia.js +441 -228
  30. package/fesm2015/worktile-theia.js.map +1 -1
  31. package/interfaces/editor.d.ts +1 -1
  32. package/package.json +1 -1
  33. package/plugins/indent/indent.editor.d.ts +10 -0
  34. package/plugins/indent/indent.plugin.d.ts +2 -1
  35. package/plugins/indent/on-keydown-indent.d.ts +1 -1
  36. package/plugins/indent/options.d.ts +2 -0
  37. package/plugins/indent/toolbar-item.component.d.ts +36 -0
  38. package/plugins/inline-code/inline-code.component.scss +2 -1
  39. package/plugins/list/components/bulleted-list.component.d.ts +2 -4
  40. package/plugins/list/components/numbered-list.component.d.ts +2 -4
  41. package/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.d.ts +1 -0
  42. package/plugins/todo-item/todo-item.component.d.ts +2 -3
  43. package/plugins/todo-item/todo-item.component.scss +0 -3
  44. package/styles/editor.scss +27 -0
  45. package/styles/typo.scss +0 -5
@@ -64,8 +64,8 @@ export declare enum TheDataMode {
64
64
  html = "html"
65
65
  }
66
66
  export interface TheOptions {
67
- readonly?: boolean;
68
67
  mode?: TheDataMode;
68
+ readonly?: boolean;
69
69
  disabled?: boolean;
70
70
  autoFocus?: boolean;
71
71
  placeholder?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@worktile/theia",
3
- "version": "2.1.12",
3
+ "version": "2.2.1",
4
4
  "description": "theia editor",
5
5
  "author": "YanDong <nanianqiumo@foxmail.com>",
6
6
  "homepage": "https://github.com/atinc/theia#readme",
@@ -0,0 +1,10 @@
1
+ import { Editor, Element } from 'slate';
2
+ import { TheEditor } from '../../interfaces/editor';
3
+ import { CustomElementKinds } from '../../custom-types';
4
+ export declare const IndentEditor: {
5
+ setIndent(editor: TheEditor): void;
6
+ cancelIndent(editor: Editor): void;
7
+ setTextIndent(editor: TheEditor, kinds: CustomElementKinds[], textIndent: number): void;
8
+ cancelTextIntent(editor: TheEditor, event: KeyboardEvent, anchorBlock: Element, kinds: CustomElementKinds[]): boolean;
9
+ isDisabled(editor: TheEditor): boolean;
10
+ };
@@ -1,2 +1,3 @@
1
1
  import { CustomElementKinds } from '../../custom-types';
2
- export declare const withIndent: (kinds: CustomElementKinds[]) => <T extends import("@worktile/theia").TheEditor>(editor: T) => T;
2
+ import { TheEditor } from '../../interfaces/editor';
3
+ export declare const withIndent: (kinds: CustomElementKinds[]) => <T extends TheEditor>(editor: T) => T;
@@ -1,3 +1,3 @@
1
1
  import { Editor } from 'slate';
2
2
  import { CustomElementKinds } from '../../custom-types';
3
- export declare const onKeydownIndent: (editor: Editor, event: KeyboardEvent, kinds: CustomElementKinds[]) => boolean;
3
+ export declare const onKeydownTextIndent: (editor: Editor, event: KeyboardEvent, kinds: CustomElementKinds[]) => boolean;
@@ -0,0 +1,2 @@
1
+ import { ToolbarItem } from '../../interfaces/toolbar';
2
+ export declare const IndentOptions: ToolbarItem[];
@@ -0,0 +1,36 @@
1
+ import { OnInit, ElementRef, TemplateRef, ViewContainerRef } from '@angular/core';
2
+ import { Overlay } from '@angular/cdk/overlay';
3
+ import { ThyPopover, ThyPopoverRef } from 'ngx-tethys/popover';
4
+ import { Editor } from 'slate';
5
+ import { DropdownMode } from '../../constants/toolbar';
6
+ import { ToolbarItem } from '../../interfaces/toolbar';
7
+ import { TheToolbarBaseItemComponent } from '../../components/toolbar-base-item/toolbar-base-item.component';
8
+ import * as i0 from "@angular/core";
9
+ export declare class TheIndentToolbarComponent extends TheToolbarBaseItemComponent implements OnInit {
10
+ elementRef: ElementRef;
11
+ private thyPopover;
12
+ private viewContainerRef;
13
+ private overlay;
14
+ toolbarItem: ToolbarItem;
15
+ menus: ToolbarItem[];
16
+ mode: DropdownMode;
17
+ item: ToolbarItem;
18
+ editor: Editor;
19
+ dropdownMode: typeof DropdownMode;
20
+ activeMenu: ToolbarItem;
21
+ disabled: boolean;
22
+ dropdownPopoverRef: ThyPopoverRef<any>;
23
+ get isOpen(): boolean;
24
+ dropdownTemplate: TemplateRef<any>;
25
+ toggleDropdown(event: MouseEvent): void;
26
+ handleDocumentMouseDown(event: MouseEvent): void;
27
+ get disabledState(): boolean;
28
+ constructor(elementRef: ElementRef, thyPopover: ThyPopover, viewContainerRef: ViewContainerRef, overlay: Overlay);
29
+ ngOnInit(): void;
30
+ statusChange(editor: Editor): void;
31
+ itemMousedown(event: MouseEvent, item: ToolbarItem): void;
32
+ openDropdownPopover(): void;
33
+ closeDropdownPopover(): void;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<TheIndentToolbarComponent, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<TheIndentToolbarComponent, "the-indent-toolbar-item", never, { "toolbarItem": "toolbarItem"; "menus": "menus"; "mode": "mode"; "item": "item"; }, {}, never, never>;
36
+ }
@@ -6,8 +6,9 @@
6
6
  font-family: monospace;
7
7
  font-size: inherit;
8
8
  background-color: rgba(243, 243, 243, 0.8);
9
- line-height: inherit;
9
+ line-height: 1;
10
10
  word-wrap: break-word;
11
11
  text-indent: 0;
12
12
  color: $gray-700;
13
+ display: inline-block;
13
14
  }
@@ -1,15 +1,13 @@
1
1
  import { OnInit, ElementRef, OnDestroy, ChangeDetectorRef } from '@angular/core';
2
2
  import { Editor } from 'slate';
3
- import { ElementClassPipe } from '../../../pipes';
4
3
  import { BulletedListElement } from '../../../custom-types';
5
4
  import { TheBaseElementComponent } from '../../../interfaces';
6
5
  import * as i0 from "@angular/core";
7
6
  export declare class TheBulletedListComponent extends TheBaseElementComponent<BulletedListElement, Editor> implements OnInit, OnDestroy {
8
7
  elementRef: ElementRef;
9
8
  cdr: ChangeDetectorRef;
10
- private elementClassPipe;
11
- get class(): string;
12
- constructor(elementRef: ElementRef, cdr: ChangeDetectorRef, elementClassPipe: ElementClassPipe);
9
+ get level(): number;
10
+ constructor(elementRef: ElementRef, cdr: ChangeDetectorRef);
13
11
  ngOnInit(): void;
14
12
  ngOnDestroy(): void;
15
13
  static ɵfac: i0.ɵɵFactoryDeclaration<TheBulletedListComponent, never>;
@@ -1,16 +1,14 @@
1
1
  import { OnInit, ElementRef, OnDestroy, ChangeDetectorRef } from '@angular/core';
2
2
  import { Editor } from 'slate';
3
- import { ElementClassPipe } from '../../../pipes';
4
3
  import { NumberedListElement } from '../../../custom-types';
5
4
  import { TheBaseElementComponent } from '../../../interfaces';
6
5
  import * as i0 from "@angular/core";
7
6
  export declare class TheNumberedListComponent extends TheBaseElementComponent<NumberedListElement, Editor> implements OnInit, OnDestroy {
8
7
  elementRef: ElementRef;
9
8
  cdr: ChangeDetectorRef;
10
- private elementClassPipe;
11
9
  get start(): number;
12
- get class(): string;
13
- constructor(elementRef: ElementRef, cdr: ChangeDetectorRef, elementClassPipe: ElementClassPipe);
10
+ get level(): number;
11
+ constructor(elementRef: ElementRef, cdr: ChangeDetectorRef);
14
12
  ngOnInit(): void;
15
13
  ngOnDestroy(): void;
16
14
  static ɵfac: i0.ɵɵFactoryDeclaration<TheNumberedListComponent, never>;
@@ -17,6 +17,7 @@ export declare class TheQuickToolbarComponent extends TheQuickToolbarComponent_b
17
17
  ToolbarActionTypes: typeof ToolbarActionTypes;
18
18
  handleMouseDown(event: MouseEvent): void;
19
19
  handleEnter(): void;
20
+ handleEsc(): void;
20
21
  constructor(popoverRef: ThyPopoverRef<TheQuickToolbarComponent>, elementRef: ElementRef);
21
22
  ngOnInit(): void;
22
23
  stopPropagation(event: any): void;
@@ -1,5 +1,5 @@
1
1
  import { ElementRef, ChangeDetectorRef, OnInit } from '@angular/core';
2
- import { Editor, Element } from 'slate';
2
+ import { Editor } from 'slate';
3
3
  import { TheBaseElementComponent } from '../../interfaces';
4
4
  import { TodoItemElement } from '../../custom-types';
5
5
  import * as i0 from "@angular/core";
@@ -8,11 +8,10 @@ export declare class TheTodoItemComponent extends TheBaseElementComponent<TodoIt
8
8
  cdr: ChangeDetectorRef;
9
9
  checked: boolean;
10
10
  checkItemClass: boolean;
11
+ get level(): number;
11
12
  constructor(elementRef: ElementRef, cdr: ChangeDetectorRef);
12
- onContextChange(): void;
13
13
  ngOnInit(): void;
14
14
  onCheck(checked: boolean): boolean;
15
- useIndentClass(el: HTMLElement, element: Element): void;
16
15
  static ɵfac: i0.ɵɵFactoryDeclaration<TheTodoItemComponent, never>;
17
16
  static ɵcmp: i0.ɵɵComponentDeclaration<TheTodoItemComponent, "div[theTodoItem]", never, {}, {}, never, never>;
18
17
  }
@@ -5,9 +5,6 @@
5
5
  position: relative;
6
6
 
7
7
  .todo-item-status {
8
- position: absolute;
9
- left: 2em;
10
- top: 0px;
11
8
  user-select: none;
12
9
  }
13
10
  input[type='checkbox'] {
@@ -162,6 +162,33 @@ $thy-icon-nav-link-margin-right: 5px;
162
162
  }
163
163
  }
164
164
  }
165
+ .slate-element-bulleted-list {
166
+ .slate-element-list-item {
167
+ &.font-size-#{$size} {
168
+ @if $size == 40 {
169
+ margin-left: 2.2em;
170
+ }
171
+ @if $size == 48 {
172
+ margin-left: 2.5em;
173
+ }
174
+ }
175
+ }
176
+ }
177
+ }
178
+
179
+ // indent
180
+ @for $i from 1 through 17 {
181
+ [the-indent="#{$i}"] {
182
+ padding-left: $i * 2em;
183
+ }
184
+ // list
185
+ ol[the-level="#{$i}"],
186
+ ul[the-level="#{$i}"] {
187
+ margin-left: $i * 2em;
188
+ }
189
+ .the-check-item[the-level="#{$i}"] {
190
+ padding-left: calc(#{$i * 2em} + 2em);
191
+ }
165
192
  }
166
193
  }
167
194
 
package/styles/typo.scss CHANGED
@@ -170,9 +170,4 @@ $font-size-line-height: 1.5;
170
170
  .remove-link.thy-icon-nav-link:hover {
171
171
  color: $danger;
172
172
  }
173
- @for $i from 1 through 24 {
174
- .indent-#{$i * 2} {
175
- margin-left: 2em * $i;
176
- }
177
- }
178
173
  }