@worktile/theia 2.1.4 → 2.1.8

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 (112) hide show
  1. package/bundles/worktile-theia.umd.js +574 -383
  2. package/bundles/worktile-theia.umd.js.map +1 -1
  3. package/components/toolbar/toolbar.component.d.ts +1 -3
  4. package/constants/default.d.ts +1 -0
  5. package/constants/node-types.d.ts +4 -3
  6. package/custom-types.d.ts +4 -1
  7. package/editor.component.d.ts +3 -4
  8. package/editor.module.d.ts +4 -5
  9. package/esm2015/components/color-select/color-select.component.js +4 -4
  10. package/esm2015/components/column-resize/column-resize-notifier.js +4 -4
  11. package/esm2015/components/column-resize/column-resize.directive.js +4 -4
  12. package/esm2015/components/column-resize/column-resize.module.js +9 -9
  13. package/esm2015/components/column-resize/event-dispatcher.js +4 -4
  14. package/esm2015/components/column-resize/overlay-handle.component.js +4 -4
  15. package/esm2015/components/column-resize/resizing.store.js +4 -4
  16. package/esm2015/components/contextmenu/contextmenu.component.js +4 -4
  17. package/esm2015/components/conversion-hint/conversion-hint.component.js +4 -4
  18. package/esm2015/components/element/element.component.js +4 -4
  19. package/esm2015/components/inline-toolbar/inline-toolbar.component.js +5 -5
  20. package/esm2015/components/nav-split-line/nav-split-line.component.js +4 -4
  21. package/esm2015/components/table-select/table-select.component.js +4 -4
  22. package/esm2015/components/template/template.component.js +4 -4
  23. package/esm2015/components/text/text.component.js +4 -4
  24. package/esm2015/components/toolbar/toolbar.component.js +11 -10
  25. package/esm2015/components/toolbar-base-item/toolbar-base-item.component.js +4 -4
  26. package/esm2015/components/toolbar-dropdown/toolbar-dropdown.component.js +4 -4
  27. package/esm2015/components/toolbar-group/toolbar-group.component.js +4 -4
  28. package/esm2015/components/toolbar-item/toolbar-item.component.js +4 -4
  29. package/esm2015/constants/auto-format-rules.js +8 -3
  30. package/esm2015/constants/default.js +2 -1
  31. package/esm2015/constants/node-types.js +5 -4
  32. package/esm2015/constants/toolbar.js +3 -6
  33. package/esm2015/custom-types.js +1 -1
  34. package/esm2015/editor.component.js +29 -26
  35. package/esm2015/editor.module.js +8 -8
  36. package/esm2015/interfaces/auto-format.js +1 -1
  37. package/esm2015/interfaces/editor.js +1 -1
  38. package/esm2015/interfaces/element.js +1 -1
  39. package/esm2015/interfaces/view-base.js +4 -4
  40. package/esm2015/pipes.js +7 -7
  41. package/esm2015/plugins/autoformat/autoformat.plugin.js +2 -1
  42. package/esm2015/plugins/autoformat/transforms/auto-format-inline.js +27 -14
  43. package/esm2015/plugins/blockquote/blockquote.component.js +4 -4
  44. package/esm2015/plugins/code/code.component.js +28 -12
  45. package/esm2015/plugins/color/toolbar-item.component.js +4 -4
  46. package/esm2015/plugins/common/move-selection.plugin.js +2 -2
  47. package/esm2015/plugins/font-size/font-size.editor.js +35 -1
  48. package/esm2015/plugins/hr/hr.component.js +4 -4
  49. package/esm2015/plugins/image/image.component.js +4 -4
  50. package/esm2015/plugins/index.js +7 -3
  51. package/esm2015/plugins/inline-code/inline-code.component.js +26 -0
  52. package/esm2015/plugins/inline-code/inline-code.editor.js +49 -0
  53. package/esm2015/plugins/inline-code/inline-code.plugin.js +84 -0
  54. package/esm2015/plugins/inline-code/options.js +14 -0
  55. package/esm2015/plugins/link/edit/link-edit.component.js +4 -4
  56. package/esm2015/plugins/link/hover/link-hover.component.js +4 -4
  57. package/esm2015/plugins/link/link.component.js +26 -12
  58. package/esm2015/plugins/list/components/bulleted-list.component.js +4 -4
  59. package/esm2015/plugins/list/components/list-item.component.js +32 -6
  60. package/esm2015/plugins/list/components/numbered-list.component.js +4 -4
  61. package/esm2015/plugins/list/transforms/insert-list-item.js +11 -7
  62. package/esm2015/plugins/mark/options.js +1 -9
  63. package/esm2015/plugins/quick-insert/components/quick-insert.component.js +19 -11
  64. package/esm2015/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.js +4 -4
  65. package/esm2015/plugins/table/components/insert-mark/insert-mark.component.js +4 -4
  66. package/esm2015/plugins/table/components/row/row.component.js +4 -4
  67. package/esm2015/plugins/table/components/table.component.js +4 -4
  68. package/esm2015/plugins/table/components/td/td.component.js +4 -4
  69. package/esm2015/plugins/table/components/toolbar/table-toolbar.component.js +4 -4
  70. package/esm2015/plugins/table/table.service.js +4 -4
  71. package/esm2015/plugins/table/table.store.js +4 -4
  72. package/esm2015/plugins/table/toolbar-item.component.js +4 -4
  73. package/esm2015/plugins/table/transforms/insert-table.js +2 -2
  74. package/esm2015/plugins/todo-item/todo-item.component.js +4 -4
  75. package/esm2015/plugins/vertical-align/toolbar-item.component.js +4 -4
  76. package/esm2015/services/color-select.service.js +4 -4
  77. package/esm2015/services/context.service.js +12 -4
  78. package/esm2015/services/table-contextmenu.service.js +4 -4
  79. package/esm2015/services/toolbar.service.js +4 -4
  80. package/esm2015/shortcuts/mark.js +10 -4
  81. package/esm2015/transforms/handle-continual-insert-break.js +1 -4
  82. package/esm2015/utils/index.js +2 -1
  83. package/fesm2015/worktile-theia.js +564 -365
  84. package/fesm2015/worktile-theia.js.map +1 -1
  85. package/interfaces/auto-format.d.ts +1 -1
  86. package/interfaces/editor.d.ts +3 -3
  87. package/interfaces/element.d.ts +1 -1
  88. package/package.json +1 -1
  89. package/plugins/autoformat/transforms/auto-format-inline.d.ts +3 -1
  90. package/plugins/code/code.component.d.ts +6 -3
  91. package/plugins/code/code.component.scss +16 -0
  92. package/plugins/font-size/font-size.editor.d.ts +2 -0
  93. package/plugins/inline-code/inline-code.component.d.ts +9 -0
  94. package/plugins/inline-code/inline-code.component.scss +13 -0
  95. package/plugins/inline-code/inline-code.editor.d.ts +7 -0
  96. package/plugins/inline-code/inline-code.plugin.d.ts +2 -0
  97. package/plugins/inline-code/options.d.ts +2 -0
  98. package/plugins/link/link.component.d.ts +1 -0
  99. package/plugins/list/components/list-item.component.d.ts +4 -1
  100. package/plugins/quick-insert/components/quick-insert.component.d.ts +3 -1
  101. package/plugins/table/transforms/insert-table.d.ts +1 -1
  102. package/queries/get-container-blocks.d.ts +1 -1
  103. package/queries/get-selection-marks.d.ts +1 -1
  104. package/services/context.service.d.ts +5 -1
  105. package/styles/editor.scss +18 -4
  106. package/styles/index.scss +1 -1
  107. package/styles/typo.scss +4 -1
  108. package/transforms/set-marks.d.ts +1 -1
  109. package/utils/index.d.ts +1 -0
  110. package/esm2015/plugins/placeholder/placeholder.component.js +0 -83
  111. package/plugins/placeholder/placeholder.component.d.ts +0 -21
  112. package/plugins/placeholder/placeholder.component.scss +0 -10
@@ -25,7 +25,7 @@ export interface AutoFormatRule {
25
25
  /**
26
26
  * Custom formatting function.
27
27
  */
28
- format?: (editor: Editor, markups?: string[]) => void;
28
+ format?: (editor: Editor, markup: string | string[]) => void;
29
29
  /**
30
30
  * - block (default) – set/insert block. Should be used with `markup`.
31
31
  * - inline – insert mark between markups. Should be used with `between`.
@@ -1,5 +1,5 @@
1
1
  import { Ancestor, Range, Path, Point, Node, Span, NodeEntry, Editor, Element, Text } from 'slate';
2
- import { AngularEditor, ViewType } from 'slate-angular';
2
+ import { AngularEditor, SlatePlaceholder, ViewType } from 'slate-angular';
3
3
  import { HistoryEditor } from 'slate-history';
4
4
  import { ElementOptionsInfo } from './valid-children-types';
5
5
  import { Predicate } from '../utils/match';
@@ -69,8 +69,8 @@ export interface TheOptions {
69
69
  disabled?: boolean;
70
70
  autoFocus?: boolean;
71
71
  placeholder?: string;
72
- isEmptyShowPlaceholder?: boolean;
73
- isMustShowPlaceholder?: boolean;
72
+ placeholderDecorate?: (editor: Editor) => SlatePlaceholder[];
73
+ quickInsertVisible?: boolean;
74
74
  scrollContainer?: string;
75
75
  maxHeight?: number;
76
76
  fontSize?: FontSizes;
@@ -1,6 +1,6 @@
1
1
  import { Alignment, ElementKinds } from '../constants';
2
2
  export declare type HeadingElementKinds = ElementKinds.heading_1 | ElementKinds.heading_2 | ElementKinds.heading_3 | ElementKinds.heading_4 | ElementKinds.heading_5 | ElementKinds.heading_6;
3
- export declare type BlockElementKinds = ElementKinds.image | ElementKinds.paragraph | ElementKinds.numberedList | ElementKinds.bulletedList | ElementKinds.listItem | ElementKinds.checkItem | ElementKinds.table | ElementKinds.tableRow | ElementKinds.tableCell | ElementKinds.tableContent | ElementKinds.code | ElementKinds.blockquote | ElementKinds.hr | ElementKinds.link | HeadingElementKinds;
3
+ export declare type BlockElementKinds = ElementKinds.image | ElementKinds.paragraph | ElementKinds.numberedList | ElementKinds.bulletedList | ElementKinds.listItem | ElementKinds.checkItem | ElementKinds.table | ElementKinds.tableRow | ElementKinds.tableCell | ElementKinds.tableContent | ElementKinds.code | ElementKinds.blockquote | ElementKinds.hr | ElementKinds.link | ElementKinds.inlineCode | HeadingElementKinds;
4
4
  export declare type InlineElementKinds = ElementKinds.link;
5
5
  export interface TheBlockElement {
6
6
  align?: Alignment;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@worktile/theia",
3
- "version": "2.1.4",
3
+ "version": "2.1.8",
4
4
  "description": "theia editor",
5
5
  "author": "YanDong <nanianqiumo@foxmail.com>",
6
6
  "homepage": "https://github.com/atinc/theia#readme",
@@ -1,7 +1,9 @@
1
+ import { Editor } from 'slate';
1
2
  import { MarkEditor } from '../../../plugins/mark/mark.editor';
2
- export declare const autoFormatInline: (editor: MarkEditor, { type, between, markup, ignoreTrim }: {
3
+ export declare const autoFormatInline: (editor: MarkEditor, { type, between, markup, ignoreTrim, format }: {
3
4
  type: string;
4
5
  between?: string[];
5
6
  markup?: string;
6
7
  ignoreTrim?: boolean;
8
+ format?: (editor: Editor, markup?: string) => void;
7
9
  }) => boolean;
@@ -1,4 +1,4 @@
1
- import { ElementRef, ChangeDetectorRef, OnInit, AfterViewInit, NgZone } from '@angular/core';
1
+ import { ElementRef, ChangeDetectorRef, OnInit, AfterViewInit, NgZone, OnDestroy } from '@angular/core';
2
2
  import { ThyNotifyService } from 'ngx-tethys/notify';
3
3
  import { Editor } from 'slate';
4
4
  import { CodeMirrorComponent } from 'ng-codemirror';
@@ -7,8 +7,9 @@ import { DefaultToolbarItem, TheBaseElementComponent } from '../../interfaces';
7
7
  import { CodeElement } from '../../custom-types';
8
8
  import { ThyResizeEvent } from 'ngx-tethys/resizable';
9
9
  import { TheContextService } from '../../services/context.service';
10
+ import { Subject } from 'rxjs';
10
11
  import * as i0 from "@angular/core";
11
- export declare class TheCodeComponent extends TheBaseElementComponent<CodeElement, Editor> implements OnInit, AfterViewInit {
12
+ export declare class TheCodeComponent extends TheBaseElementComponent<CodeElement, Editor> implements OnInit, AfterViewInit, OnDestroy {
12
13
  elementRef: ElementRef;
13
14
  cdr: ChangeDetectorRef;
14
15
  private thyNotifyService;
@@ -22,8 +23,9 @@ export declare class TheCodeComponent extends TheBaseElementComponent<CodeElemen
22
23
  key: string;
23
24
  name: string;
24
25
  }[];
26
+ destroy$: Subject<void>;
25
27
  ToolbarItemMode: typeof ToolbarItemMode;
26
- isFocusCode: boolean;
28
+ isHightLight: boolean;
27
29
  resizeHeight: number;
28
30
  options: {
29
31
  mode: string;
@@ -56,6 +58,7 @@ export declare class TheCodeComponent extends TheBaseElementComponent<CodeElemen
56
58
  onResize({ height }: ThyResizeEvent): void;
57
59
  onEndResize(): void;
58
60
  onChangeWrap(value: boolean): void;
61
+ ngOnDestroy(): void;
59
62
  static ɵfac: i0.ɵɵFactoryDeclaration<TheCodeComponent, never>;
60
63
  static ɵcmp: i0.ɵɵComponentDeclaration<TheCodeComponent, "div[theCode]", never, {}, {}, never, never>;
61
64
  }
@@ -10,6 +10,22 @@
10
10
  border-radius: 2px;
11
11
  color: $gray-600;
12
12
  background: rgba(243, 243, 243, 0.8);
13
+ &:hover{
14
+ border-color: $primary;
15
+ }
16
+ }
17
+ .resize-code-container.readonly, .resize-code-container.focus{
18
+ border-color: $gray-300;
19
+ &:hover{
20
+ border-color: $gray-300;
21
+ }
22
+ }
23
+
24
+ .resize-code-container.active {
25
+ border-color: $primary;
26
+ &:hover{
27
+ border-color: $primary;
28
+ }
13
29
  }
14
30
  .CodeMirror {
15
31
  height: 100% !important;
@@ -3,6 +3,8 @@ import { TheEditor } from '../../interfaces/editor';
3
3
  import { FontSizes } from '../../constants/node-types';
4
4
  export declare const FontSizeEditor: {
5
5
  setFontSize(editor: TheEditor, size: FontSizes): void;
6
+ setFontSizeMark(editor: Editor, size: FontSizes): void;
7
+ unsetFontSize(editor: Editor, size: FontSizes, fontSizeMark: number, isDefaultFontSize: boolean): boolean;
6
8
  isFontSizeActive(editor: Editor, size: FontSizes): boolean;
7
9
  isDisabled(editor: TheEditor): boolean;
8
10
  };
@@ -0,0 +1,9 @@
1
+ import { Editor } from 'slate';
2
+ import { InlineCodeElement } from '../../custom-types';
3
+ import { TheBaseElementComponent } from '../../interfaces';
4
+ import * as i0 from "@angular/core";
5
+ export declare class TheInlineCodeComponent extends TheBaseElementComponent<InlineCodeElement, Editor> {
6
+ inlineChromiumBugfix: string;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<TheInlineCodeComponent, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<TheInlineCodeComponent, "span[theInlineCode]", never, {}, {}, never, never>;
9
+ }
@@ -0,0 +1,13 @@
1
+ .slate-element-inline-code{
2
+ margin: 0 4px;
3
+ padding: 2px 3px;
4
+ border: 1px solid $gray-300;
5
+ border-radius: 2px;
6
+ font-family: monospace;
7
+ font-size: inherit;
8
+ background-color: rgba(243, 243, 243, 0.8);
9
+ line-height: inherit;
10
+ word-wrap: break-word;
11
+ text-indent: 0;
12
+ color: $gray-700;
13
+ }
@@ -0,0 +1,7 @@
1
+ import { Editor, Path } from 'slate';
2
+ export declare const InlineCodeEditor: {
3
+ toggleInlineCode(editor: any, text?: string): void;
4
+ wrapInlineCode(editor: Editor, text?: string): void;
5
+ unwrapInlineCode(editor: Editor): void;
6
+ isInlineCodeActive(editor: Editor, path?: Path): boolean;
7
+ };
@@ -0,0 +1,2 @@
1
+ import { Editor } from 'slate';
2
+ export declare const withInlineCode: (editor: Editor) => import("@worktile/theia").TheEditor;
@@ -0,0 +1,2 @@
1
+ import { ToolbarItem } from '../../interfaces';
2
+ export declare const InlineCodeOptions: ToolbarItem[];
@@ -35,6 +35,7 @@ export declare class TheBaseLinkComponent extends TheBaseElementComponent<LinkEl
35
35
  static ɵcmp: i0.ɵɵComponentDeclaration<TheBaseLinkComponent, "[TheBaseLinkComponent]", never, {}, {}, never, never>;
36
36
  }
37
37
  export declare class TheLinkComponent extends TheBaseLinkComponent {
38
+ inlineChromiumBugfix: string;
38
39
  static ɵfac: i0.ɵɵFactoryDeclaration<TheLinkComponent, never>;
39
40
  static ɵcmp: i0.ɵɵComponentDeclaration<TheLinkComponent, "span[theLink]", never, {}, {}, never, never>;
40
41
  }
@@ -10,8 +10,11 @@ export declare class TheListItemComponent extends TheBaseElementComponent<Elemen
10
10
  ngOnInit(): void;
11
11
  onContextChange(): void;
12
12
  ngOnDestroy(): void;
13
- applyFontSize(): void;
13
+ addFontSize(): void;
14
14
  clearFontSize(): void;
15
+ getStart(): number;
16
+ getLiIndex(): number;
17
+ addMultiDigit(): void;
15
18
  static ɵfac: i0.ɵɵFactoryDeclaration<TheListItemComponent, never>;
16
19
  static ɵcmp: i0.ɵɵComponentDeclaration<TheListItemComponent, "li[theLi]", never, {}, {}, never, never>;
17
20
  }
@@ -8,6 +8,7 @@ export declare class TheQuickInsertComponent {
8
8
  private cdr;
9
9
  editor: Editor;
10
10
  quickToolbarItems: ToolbarItem[];
11
+ isVisible: boolean;
11
12
  isHide: boolean;
12
13
  defaultIconName: string;
13
14
  iconNameFill: string;
@@ -16,10 +17,11 @@ export declare class TheQuickInsertComponent {
16
17
  handleMousedownNativeElement(event: any): void;
17
18
  constructor(renderer: Renderer2, elementRef: ElementRef, cdr: ChangeDetectorRef);
18
19
  checkStatus(): void;
20
+ private hasExcludeAttribute;
19
21
  private updatePosition;
20
22
  mouseEnter(event: MouseEvent): void;
21
23
  mouseLeave(event: MouseEvent): void;
22
24
  handleClick(event: MouseEvent): void;
23
25
  static ɵfac: i0.ɵɵFactoryDeclaration<TheQuickInsertComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<TheQuickInsertComponent, "[theQuickInsert]", never, { "editor": "editor"; "quickToolbarItems": "quickToolbarItems"; }, {}, never, never>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<TheQuickInsertComponent, "[theQuickInsert]", never, { "editor": "editor"; "quickToolbarItems": "quickToolbarItems"; "isVisible": "isVisible"; }, {}, never, never>;
25
27
  }
@@ -3,4 +3,4 @@ import { TableOptions } from '../table.types';
3
3
  /**
4
4
  * Insert a new table
5
5
  */
6
- export declare function insertTable(opts: TableOptions, editor: Editor, columns?: number, rows?: number, getCellContent?: (column: number, row: number) => Node[]): void;
6
+ export declare function insertTable(opts: TableOptions, editor: Editor, rows?: number, columns?: number, getCellContent?: (column: number, row: number) => Node[]): void;
@@ -1,2 +1,2 @@
1
1
  import { Editor } from 'slate';
2
- export declare const getContainerBlocks: (editor: Editor) => (import("../constants/node-types").ElementKinds.image | import("../constants/node-types").ElementKinds.paragraph | import("../constants/node-types").ElementKinds.heading_1 | import("../constants/node-types").ElementKinds.heading_2 | import("../constants/node-types").ElementKinds.heading_3 | import("../constants/node-types").ElementKinds.heading_4 | import("../constants/node-types").ElementKinds.heading_5 | import("../constants/node-types").ElementKinds.heading_6 | import("../constants/node-types").ElementKinds.numberedList | import("../constants/node-types").ElementKinds.bulletedList | import("../constants/node-types").ElementKinds.listItem | import("../constants/node-types").ElementKinds.checkItem | import("../constants/node-types").ElementKinds.table | import("../constants/node-types").ElementKinds.tableRow | import("../constants/node-types").ElementKinds.tableCell | import("../constants/node-types").ElementKinds.code | import("../constants/node-types").ElementKinds.blockquote | import("../constants/node-types").ElementKinds.hr | import("../constants/node-types").ElementKinds.link)[];
2
+ export declare const getContainerBlocks: (editor: Editor) => (import("../constants/node-types").ElementKinds.image | import("../constants/node-types").ElementKinds.paragraph | import("../constants/node-types").ElementKinds.heading_1 | import("../constants/node-types").ElementKinds.heading_2 | import("../constants/node-types").ElementKinds.heading_3 | import("../constants/node-types").ElementKinds.heading_4 | import("../constants/node-types").ElementKinds.heading_5 | import("../constants/node-types").ElementKinds.heading_6 | import("../constants/node-types").ElementKinds.numberedList | import("../constants/node-types").ElementKinds.bulletedList | import("../constants/node-types").ElementKinds.listItem | import("../constants/node-types").ElementKinds.checkItem | import("../constants/node-types").ElementKinds.table | import("../constants/node-types").ElementKinds.tableRow | import("../constants/node-types").ElementKinds.tableCell | import("../constants/node-types").ElementKinds.code | import("../constants/node-types").ElementKinds.blockquote | import("../constants/node-types").ElementKinds.hr | import("../constants/node-types").ElementKinds.link | import("../constants/node-types").ElementKinds.inlineCode)[];
@@ -7,6 +7,6 @@ export declare const getSelectionMarks: (editor: Editor) => {
7
7
  strike?: any;
8
8
  color?: any;
9
9
  "background-color"?: any;
10
- "code-line"?: any;
11
10
  "font-size"?: any;
11
+ "code-line"?: any;
12
12
  };
@@ -1,8 +1,10 @@
1
1
  import { NgZone, ViewContainerRef } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
- import { MarkTypes } from '../constants/node-types';
3
+ import { TheOptions } from '../interfaces/editor';
4
+ import { FontSizes, MarkTypes } from '../constants/node-types';
4
5
  import * as i0 from "@angular/core";
5
6
  export interface TheContextOptions {
7
+ theOptions: TheOptions;
6
8
  width?: number;
7
9
  nativeElement: HTMLElement;
8
10
  viewContainerRef: ViewContainerRef;
@@ -27,6 +29,8 @@ export declare class TheContextService {
27
29
  constructor(ngZone: NgZone);
28
30
  initialize(options: TheContextOptions): void;
29
31
  getOptions(): TheContextOptions;
32
+ getTheOptions(): TheOptions;
33
+ getDefaultFontSize(): FontSizes;
30
34
  getEditableElement(): Element;
31
35
  getFirstElementChild(): HTMLElement;
32
36
  setUploadFileList(file: {
@@ -127,14 +127,28 @@ $thy-icon-nav-link-margin-right: 5px;
127
127
  color: $gray-700;
128
128
  }
129
129
 
130
- @each $size in 12, 13, 14, 15, 16, 18, 20, 24, 28, 32, 40, 48 {
130
+ // list: fontSize, li marginLeft, multiDigit li marginLeft
131
+ @each $size, $liMl, $liMultiDigitMl in (12, 13, 14, 15, 16, 18, 20, (24 null 35px), (28 null 42px), (32 33px 50px), (40 40px 62px), (48 50px 78px)) {
131
132
  [the-font-size="#{$size}"] {
132
133
  font-size: #{$size}px;
133
134
  line-height: $font-size-line-height;
134
135
  }
135
- .slate-element-list-item.font-size-#{$size} {
136
- &::marker {
137
- font-size: #{$size}px;
136
+ .slate-element-list-item {
137
+ &.font-size-#{$size} {
138
+ &::marker {
139
+ font-size: #{$size}px;
140
+ }
141
+ }
142
+ }
143
+ .slate-element-numbered-list {
144
+ .slate-element-list-item {
145
+ &.font-size-#{$size} {
146
+ margin-left: $liMl;
147
+
148
+ &[data-multi-digit] {
149
+ margin-left: $liMultiDigitMl;
150
+ }
151
+ }
138
152
  }
139
153
  }
140
154
  }
package/styles/index.scss CHANGED
@@ -17,5 +17,5 @@
17
17
  @import '../components/inline-toolbar/inline-toolbar.component.scss';
18
18
  @import '../plugins/quick-insert/components/quick-insert.component.scss';
19
19
  @import '../plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.scss';
20
- @import '../plugins/placeholder/placeholder.component.scss';
21
20
  @import '../plugins/font-size/toolbar-item.component.scss';
21
+ @import '../plugins/inline-code/inline-code.component.scss';
package/styles/typo.scss CHANGED
@@ -1,4 +1,5 @@
1
1
  @use 'sass:math';
2
+
2
3
  $default-text-space: 10px; // text white space 18(distance between paragrahp) - 8(block margin)
3
4
  $headline-one-size: 28px;
4
5
  $headline-two-size: 24px;
@@ -17,11 +18,13 @@ $block-line-heith: 24px;
17
18
  $nav-item-margin: 5px;
18
19
  $selection-background: rgba($color: $primary, $alpha: 0.3);
19
20
  $font-size-line-height: 1.5;
21
+
20
22
  .the-editor-typo {
21
23
  font-size: $the-font-size-base;
22
- min-height: 140px;
24
+ min-height: 250px;
23
25
  padding: 28px 30px;
24
26
  word-break: break-all;
27
+
25
28
  h1,
26
29
  h2,
27
30
  h3,
@@ -7,6 +7,6 @@ export declare const setMarks: (editor: Editor, marks: {
7
7
  strike?: any;
8
8
  color?: any;
9
9
  "background-color"?: any;
10
- "code-line"?: any;
11
10
  "font-size"?: any;
11
+ "code-line"?: any;
12
12
  }, at?: Path | Point | Range) => void;
package/utils/index.d.ts CHANGED
@@ -3,3 +3,4 @@ export * from './weak-maps';
3
3
  export * from './get-toolbar-class';
4
4
  export * from './create-empty-paragraph';
5
5
  export * from './common';
6
+ export * from './is-clean-empty-paragraph';
@@ -1,83 +0,0 @@
1
- import { Component, Input, HostListener } from '@angular/core';
2
- import { Node } from 'slate';
3
- import { AngularEditor } from 'slate-angular';
4
- import { isCleanEmptyParagraph } from '../../utils/is-clean-empty-paragraph';
5
- import * as TheQueries from '../../queries';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../../services/context.service";
8
- export class ThePlaceholderComponent {
9
- constructor(renderer, elementRef, contextService) {
10
- this.renderer = renderer;
11
- this.elementRef = elementRef;
12
- this.contextService = contextService;
13
- this.isHide = true;
14
- }
15
- handleCompositionStart() {
16
- var _a;
17
- if ((_a = this.editor) === null || _a === void 0 ? void 0 : _a.selection) {
18
- this.hide();
19
- }
20
- }
21
- handleCompositionEnd(event) {
22
- if (!event.data) {
23
- this.checkStatus();
24
- }
25
- }
26
- checkStatus() {
27
- var _a, _b, _c;
28
- const { editor } = this;
29
- const isEmptyShow = typeof ((_a = this.options) === null || _a === void 0 ? void 0 : _a.isEmptyShowPlaceholder) === 'undefined' ? true : this.options.isEmptyShowPlaceholder;
30
- const isMustShow = (_b = this.options) === null || _b === void 0 ? void 0 : _b.isMustShowPlaceholder;
31
- const isReadonly = (_c = this.options) === null || _c === void 0 ? void 0 : _c.readonly;
32
- // empty content and no selection processing
33
- if (!isReadonly && isEmptyShow && TheQueries.isEmptyContent(editor.children)) {
34
- const firstElementChild = this.contextService.getFirstElementChild();
35
- const offsetTop = firstElementChild.offsetTop;
36
- const offsetLeft = firstElementChild.offsetLeft;
37
- this.updatePosition(offsetLeft, offsetTop);
38
- return;
39
- }
40
- if (isMustShow && isCleanEmptyParagraph(editor)) {
41
- setTimeout(() => {
42
- var _a;
43
- const block = Node.ancestor(editor, [(_a = editor === null || editor === void 0 ? void 0 : editor.selection) === null || _a === void 0 ? void 0 : _a.anchor.path[0]]);
44
- const rootNode = AngularEditor.toDOMNode(editor, block);
45
- this.updatePosition(rootNode.offsetLeft, rootNode.offsetTop);
46
- });
47
- return;
48
- }
49
- this.isHide = true;
50
- }
51
- updatePosition(left, top) {
52
- this.isHide = false;
53
- this.renderer.setStyle(this.elementRef.nativeElement, 'top', `${top}px`);
54
- this.renderer.setStyle(this.elementRef.nativeElement, 'left', `${left}px`);
55
- }
56
- hide() {
57
- this.isHide = true;
58
- }
59
- }
60
- ThePlaceholderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: ThePlaceholderComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.TheContextService }], target: i0.ɵɵFactoryTarget.Component });
61
- ThePlaceholderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: ThePlaceholderComponent, selector: "div[thePlaceholder]", inputs: { editor: "editor", options: "options" }, host: { listeners: { "document:compositionstart": "handleCompositionStart()", "document:compositionend": "handleCompositionEnd($event)" }, properties: { "class.hide": "isHide" }, classAttribute: "the-placeholder" }, ngImport: i0, template: `{{ options?.placeholder }}`, isInline: true });
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: ThePlaceholderComponent, decorators: [{
63
- type: Component,
64
- args: [{
65
- selector: 'div[thePlaceholder]',
66
- template: `{{ options?.placeholder }}`,
67
- host: {
68
- class: 'the-placeholder',
69
- '[class.hide]': 'isHide'
70
- }
71
- }]
72
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.TheContextService }]; }, propDecorators: { editor: [{
73
- type: Input
74
- }], options: [{
75
- type: Input
76
- }], handleCompositionStart: [{
77
- type: HostListener,
78
- args: ['document:compositionstart']
79
- }], handleCompositionEnd: [{
80
- type: HostListener,
81
- args: ['document:compositionend', ['$event']]
82
- }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLFlBQVksRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQVUsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFN0UsT0FBTyxLQUFLLFVBQVUsTUFBTSxlQUFlLENBQUM7OztBQVc1QyxNQUFNLE9BQU8sdUJBQXVCO0lBb0JoQyxZQUFvQixRQUFtQixFQUFVLFVBQXNCLEVBQVUsY0FBaUM7UUFBOUYsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFoQmxILFdBQU0sR0FBRyxJQUFJLENBQUM7SUFnQnVHLENBQUM7SUFidEgsc0JBQXNCOztRQUNsQixJQUFJLE1BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsU0FBUyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNmO0lBQ0wsQ0FBQztJQUdELG9CQUFvQixDQUFDLEtBQUs7UUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEI7SUFDTCxDQUFDO0lBSU0sV0FBVzs7UUFDZCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQSxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLHNCQUFzQixDQUFBLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUM7UUFDN0gsTUFBTSxVQUFVLEdBQUcsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxxQkFBcUIsQ0FBQztRQUN2RCxNQUFNLFVBQVUsR0FBRyxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLFFBQVEsQ0FBQztRQUUxQyw0Q0FBNEM7UUFDNUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxXQUFXLElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDMUUsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDckUsTUFBTSxTQUFTLEdBQUcsaUJBQWlCLENBQUMsU0FBUyxDQUFDO1lBQzlDLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztZQUNoRCxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUMzQyxPQUFPO1NBQ1Y7UUFFRCxJQUFJLFVBQVUsSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM3QyxVQUFVLENBQUMsR0FBRyxFQUFFOztnQkFDWixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFNBQVMsMENBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pFLE1BQU0sUUFBUSxHQUFnQixhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDckUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqRSxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxjQUFjLENBQUMsSUFBWSxFQUFFLEdBQVk7UUFDN0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFTyxJQUFJO1FBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQzs7b0hBeERRLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHFVQU50Qiw0QkFBNEI7MkZBTTdCLHVCQUF1QjtrQkFSbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLGlCQUFpQjt3QkFDeEIsY0FBYyxFQUFFLFFBQVE7cUJBQzNCO2lCQUNKO3lKQUVZLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS04sc0JBQXNCO3NCQURyQixZQUFZO3VCQUFDLDJCQUEyQjtnQkFRekMsb0JBQW9CO3NCQURuQixZQUFZO3VCQUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgSG9zdExpc3RlbmVyLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVkaXRvciwgTm9kZSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IGlzQ2xlYW5FbXB0eVBhcmFncmFwaCB9IGZyb20gJy4uLy4uL3V0aWxzL2lzLWNsZWFuLWVtcHR5LXBhcmFncmFwaCc7XG5pbXBvcnQgeyBUaGVDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgKiBhcyBUaGVRdWVyaWVzIGZyb20gJy4uLy4uL3F1ZXJpZXMnO1xuaW1wb3J0IHsgVGhlT3B0aW9ucyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZWRpdG9yJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkaXZbdGhlUGxhY2Vob2xkZXJdJyxcbiAgICB0ZW1wbGF0ZTogYHt7IG9wdGlvbnM/LnBsYWNlaG9sZGVyIH19YCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGhlLXBsYWNlaG9sZGVyJyxcbiAgICAgICAgJ1tjbGFzcy5oaWRlXSc6ICdpc0hpZGUnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBUaGVQbGFjZWhvbGRlckNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgZWRpdG9yOiBFZGl0b3I7XG4gICAgQElucHV0KCkgb3B0aW9uczogVGhlT3B0aW9ucztcblxuICAgIGlzSGlkZSA9IHRydWU7XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjb21wb3NpdGlvbnN0YXJ0JylcbiAgICBoYW5kbGVDb21wb3NpdGlvblN0YXJ0KCkge1xuICAgICAgICBpZiAodGhpcy5lZGl0b3I/LnNlbGVjdGlvbikge1xuICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjb21wb3NpdGlvbmVuZCcsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlQ29tcG9zaXRpb25FbmQoZXZlbnQpIHtcbiAgICAgICAgaWYgKCFldmVudC5kYXRhKSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrU3RhdHVzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogVGhlQ29udGV4dFNlcnZpY2UpIHt9XG5cbiAgICBwdWJsaWMgY2hlY2tTdGF0dXMoKSB7XG4gICAgICAgIGNvbnN0IHsgZWRpdG9yIH0gPSB0aGlzO1xuICAgICAgICBjb25zdCBpc0VtcHR5U2hvdyA9IHR5cGVvZiB0aGlzLm9wdGlvbnM/LmlzRW1wdHlTaG93UGxhY2Vob2xkZXIgPT09ICd1bmRlZmluZWQnID8gdHJ1ZSA6IHRoaXMub3B0aW9ucy5pc0VtcHR5U2hvd1BsYWNlaG9sZGVyO1xuICAgICAgICBjb25zdCBpc011c3RTaG93ID0gdGhpcy5vcHRpb25zPy5pc011c3RTaG93UGxhY2Vob2xkZXI7XG4gICAgICAgIGNvbnN0IGlzUmVhZG9ubHkgPSB0aGlzLm9wdGlvbnM/LnJlYWRvbmx5O1xuXG4gICAgICAgIC8vIGVtcHR5IGNvbnRlbnQgYW5kIG5vIHNlbGVjdGlvbiBwcm9jZXNzaW5nXG4gICAgICAgIGlmICghaXNSZWFkb25seSAmJiBpc0VtcHR5U2hvdyAmJiBUaGVRdWVyaWVzLmlzRW1wdHlDb250ZW50KGVkaXRvci5jaGlsZHJlbikpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0RWxlbWVudENoaWxkID0gdGhpcy5jb250ZXh0U2VydmljZS5nZXRGaXJzdEVsZW1lbnRDaGlsZCgpO1xuICAgICAgICAgICAgY29uc3Qgb2Zmc2V0VG9wID0gZmlyc3RFbGVtZW50Q2hpbGQub2Zmc2V0VG9wO1xuICAgICAgICAgICAgY29uc3Qgb2Zmc2V0TGVmdCA9IGZpcnN0RWxlbWVudENoaWxkLm9mZnNldExlZnQ7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVBvc2l0aW9uKG9mZnNldExlZnQsIG9mZnNldFRvcCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNNdXN0U2hvdyAmJiBpc0NsZWFuRW1wdHlQYXJhZ3JhcGgoZWRpdG9yKSkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmxvY2sgPSBOb2RlLmFuY2VzdG9yKGVkaXRvciwgW2VkaXRvcj8uc2VsZWN0aW9uPy5hbmNob3IucGF0aFswXV0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvb3ROb2RlOiBIVE1MRWxlbWVudCA9IEFuZ3VsYXJFZGl0b3IudG9ET01Ob2RlKGVkaXRvciwgYmxvY2spO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb24ocm9vdE5vZGUub2Zmc2V0TGVmdCwgcm9vdE5vZGUub2Zmc2V0VG9wKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNIaWRlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVBvc2l0aW9uKGxlZnQ6IG51bWJlciwgdG9wPzogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuaXNIaWRlID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0b3AnLCBgJHt0b3B9cHhgKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2xlZnQnLCBgJHtsZWZ0fXB4YCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoaWRlKCkge1xuICAgICAgICB0aGlzLmlzSGlkZSA9IHRydWU7XG4gICAgfVxufVxuIl19
@@ -1,21 +0,0 @@
1
- import { ElementRef, Renderer2 } from '@angular/core';
2
- import { Editor } from 'slate';
3
- import { TheContextService } from '../../services/context.service';
4
- import { TheOptions } from '../../interfaces/editor';
5
- import * as i0 from "@angular/core";
6
- export declare class ThePlaceholderComponent {
7
- private renderer;
8
- private elementRef;
9
- private contextService;
10
- editor: Editor;
11
- options: TheOptions;
12
- isHide: boolean;
13
- handleCompositionStart(): void;
14
- handleCompositionEnd(event: any): void;
15
- constructor(renderer: Renderer2, elementRef: ElementRef, contextService: TheContextService);
16
- checkStatus(): void;
17
- private updatePosition;
18
- private hide;
19
- static ɵfac: i0.ɵɵFactoryDeclaration<ThePlaceholderComponent, never>;
20
- static ɵcmp: i0.ɵɵComponentDeclaration<ThePlaceholderComponent, "div[thePlaceholder]", never, { "editor": "editor"; "options": "options"; }, {}, never, never>;
21
- }
@@ -1,10 +0,0 @@
1
- .the-placeholder {
2
- position: absolute;
3
- pointer-events: none;
4
- line-height: 24px;
5
- color: $gray-500;
6
-
7
- &.hide {
8
- display: none;
9
- }
10
- }