@talrace/ngx-noder 0.0.28 → 0.0.29

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 (27) hide show
  1. package/assets/drag-and-drop-cursor.png +0 -0
  2. package/fesm2022/talrace-ngx-noder.mjs +409 -71
  3. package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
  4. package/lib/editor/content/helpers/format.helper.d.ts +1 -0
  5. package/lib/editor/content/helpers/indexed-element.helper.d.ts +1 -0
  6. package/lib/editor/content/helpers/link.helper.d.ts +1 -0
  7. package/lib/editor/display/layers/cursor.layer.d.ts +1 -0
  8. package/lib/editor/display/render-changes.interface.d.ts +1 -0
  9. package/lib/editor/display/render-changes.model.d.ts +1 -0
  10. package/lib/editor/display/renderer.d.ts +5 -0
  11. package/lib/editor/display/virtual.renderer.d.ts +4 -0
  12. package/lib/editor/execution/edit.session.d.ts +5 -0
  13. package/lib/editor/execution/editor.d.ts +14 -2
  14. package/lib/editor/gadgets/drag-and-drop/drag-and-drop.d.ts +21 -0
  15. package/lib/editor/gadgets/history/operation-history.d.ts +3 -0
  16. package/lib/editor/gadgets/history/operation.type.d.ts +2 -1
  17. package/lib/editor/operations/enums/command-type.enum.d.ts +2 -1
  18. package/lib/editor/operations/helpers/contents-operations.helper.d.ts +5 -0
  19. package/lib/editor/operations/operations-helper.helper.d.ts +4 -1
  20. package/lib/editor/operations/save-commands.helper.d.ts +2 -0
  21. package/lib/editor/operations/target-operations.helper.d.ts +3 -1
  22. package/lib/models/generated/command.model.d.ts +2 -0
  23. package/lib/models/generated/link.model.d.ts +2 -0
  24. package/lib/models/generated/move-range.model.d.ts +9 -0
  25. package/lib/models/generated/text-style.model.d.ts +1 -0
  26. package/package.json +1 -1
  27. package/src/scss/base-editor.scss +15 -2
@@ -1,4 +1,5 @@
1
1
  import { FormatModel } from '../../../models/generated/format.model';
2
2
  export declare class FormatHelper {
3
3
  static sliceSection(formats: FormatModel[], startIndex: number, endIndex: number): FormatModel[];
4
+ static shiftIndexes(formats: FormatModel[], offset: number): void;
4
5
  }
@@ -1,4 +1,5 @@
1
1
  import { InsertIndexInterface } from '../../../editor/positioning/insert-index.interface';
2
2
  export declare class IndexedElementHelper {
3
3
  static sliceSection<T extends InsertIndexInterface>(elements: T[], startIndex: number, endIndex: number): T[];
4
+ static shiftIndexes<T extends InsertIndexInterface>(elements: T[], offset: number): void;
4
5
  }
@@ -2,6 +2,7 @@ import { FormatModel } from './../../../models/generated/format.model';
2
2
  import { LinkModel } from '../../../models/generated/link.model';
3
3
  export declare class LinkHelper {
4
4
  static sliceSection(links: LinkModel[], start: number, end: number): LinkModel[];
5
+ static shiftIndexes(links: LinkModel[], offset: number): void;
5
6
  static sliceFormats(links: LinkModel[], startIndex: number, endIndex: number): FormatModel[];
6
7
  private static getPartialLink;
7
8
  }
@@ -12,6 +12,7 @@ export declare class CursorLayer {
12
12
  constructor(parentElement: HTMLElement, session: EditSession);
13
13
  hideCursor(): void;
14
14
  showCursor(): void;
15
+ showStaticCursor(): void;
15
16
  detectVisibility(): void;
16
17
  update(config: ILayerConfig): void;
17
18
  getPixelPosition(position?: CursorParagraph): CursorPosition;
@@ -7,4 +7,5 @@ export interface IRenderChanges {
7
7
  scroll?: boolean;
8
8
  size?: boolean;
9
9
  text?: boolean;
10
+ dragAndDrop?: boolean;
10
11
  }
@@ -8,6 +8,7 @@ export declare class RenderChangesModel implements IRenderChanges {
8
8
  scroll: boolean;
9
9
  size: boolean;
10
10
  text: boolean;
11
+ dragAndDrop: boolean;
11
12
  get any(): boolean;
12
13
  constructor(fields?: Partial<RenderChangesModel>);
13
14
  apply(changes: IRenderChanges): void;
@@ -15,6 +15,7 @@ export declare class Renderer extends EventEmitting {
15
15
  cursorLayer: CursorLayer;
16
16
  textLayer: TextLayer;
17
17
  selectionLayer: SelectionLayer;
18
+ dragAndDropSelectionLayer: SelectionLayer;
18
19
  loop: RenderLoop;
19
20
  textarea: HTMLElement;
20
21
  layerConfig: ILayerConfig;
@@ -31,6 +32,8 @@ export declare class Renderer extends EventEmitting {
31
32
  updateLines(firstRow: number, lastRow: number): void;
32
33
  moveTextAreaToCursor(): void;
33
34
  updateSelection(range: Range): void;
35
+ updateDragAndDropSelection(range: Range | null): void;
36
+ clearDragAndDropSelection(): void;
34
37
  /**
35
38
  * Triggers a full update of the text, for all the rows.
36
39
  **/
@@ -45,12 +48,14 @@ export declare class Renderer extends EventEmitting {
45
48
  */
46
49
  screenToTextCoordinatesUsingBoundary(x: number, y: number, rect?: DOMRect): CursorParagraph;
47
50
  showCursor(): void;
51
+ showStaticCursor(): void;
48
52
  hideCursor(): void;
49
53
  destroy(): void;
50
54
  renderFull(): void;
51
55
  renderText(): void;
52
56
  renderCursor(): void;
53
57
  renderSelection(): void;
58
+ renderDragAndDropSelection(): void;
54
59
  private computeLayerConfig;
55
60
  private pagesCountChangedHandler;
56
61
  private createContentContainer;
@@ -46,6 +46,8 @@ export declare class VirtualRenderer {
46
46
  updateCachedSize(force: boolean, width: number, height: number): RenderChangesModel;
47
47
  moveTextAreaToCursor(): void;
48
48
  updateSelection(range: Range): void;
49
+ updateDragAndDropSelection(range: Range): void;
50
+ clearDragAndDropSelection(): void;
49
51
  /**
50
52
  * Triggers a full update of the text, for all the rows.
51
53
  **/
@@ -61,6 +63,7 @@ export declare class VirtualRenderer {
61
63
  screenToTextCoordinatesUsingBoundary(x: number, y: number, rect?: DOMRect): CursorParagraph;
62
64
  showCursor(): void;
63
65
  hideCursor(): void;
66
+ showStaticCursor(): void;
64
67
  destroy(): void;
65
68
  private computeLayerConfig;
66
69
  private createScroller;
@@ -70,4 +73,5 @@ export declare class VirtualRenderer {
70
73
  private renderText;
71
74
  private renderCursor;
72
75
  private renderSelection;
76
+ private renderDragAndDropSelection;
73
77
  }
@@ -23,6 +23,7 @@ import { InsertTableModel } from '../../models/generated/insert-table.model';
23
23
  import { InsertTabModel } from '../../models/generated/insert-tab.model';
24
24
  import { LinkDataModel } from '../../models/generated/link-data.model';
25
25
  import { LinkModel } from '../../models/generated/link.model';
26
+ import { MoveRangeModel } from '../../models/generated/move-range.model';
26
27
  import { NumberingLevelModel } from '../../models/generated/numbering-level.model';
27
28
  import { NumberingModel } from '../../models/generated/numbering.model';
28
29
  import { PageType } from '../components/edges/page-type.enum';
@@ -108,6 +109,10 @@ export declare class EditSession {
108
109
  insertLink(position: CursorParagraph, linkData: LinkDataModel): CursorParagraph;
109
110
  insertTable(position: CursorParagraph, tableModel: InsertTableModel): CursorParagraph;
110
111
  insertParagraph(position: CursorParagraph, paragraphModel: InsertParagraphModel): CursorParagraph;
112
+ removeMoveRange(moveModel: MoveRangeModel): RestoreModel;
113
+ restoreMoveRange(restoreModel: RestoreModel, moveModel: MoveRangeModel, _sourceSessionId: number): Range;
114
+ isPositionInRange(position: CursorParagraph, range: Range): boolean;
115
+ createRestoreFromSlice(paragraphStart: number, indexInStart: number, paragraphEnd: number, indexInEnd: number): RestoreModel;
111
116
  addComponent<T extends BaseNoderComponent>(customElements: ComponentRef<T>[], model: CustomContent, componentType: Type<T>): void;
112
117
  applyToolbarStyles(): void;
113
118
  getStyleForCursor(index: number): TextStyleModel[];
@@ -7,6 +7,7 @@ import { CommandsService } from '../operations/commands.service';
7
7
  import { CreateEdgesModel } from '../../models/generated/create-edges.model';
8
8
  import { DocumentHandler } from '../interaction/document.handler';
9
9
  import { DocxModel } from '../../models/generated/docx.model';
10
+ import { DragAndDrop } from '../gadgets/drag-and-drop/drag-and-drop';
10
11
  import { EdgeType } from '../components/edges/edge-type.enum';
11
12
  import { EditorService } from '../interaction/editor.service';
12
13
  import { EditSession } from './edit.session';
@@ -24,6 +25,7 @@ import { InsertTabModel } from '../../models/generated/insert-tab.model';
24
25
  import { LinkDataModel } from '../../models/generated/link-data.model';
25
26
  import { LinkModel } from '../../models/generated/link.model';
26
27
  import { MouseHandler } from '../interaction/mouse.handler';
28
+ import { MoveRangeModel } from '../../models/generated/move-range.model';
27
29
  import { NumberingLevelModel } from '../../models/generated/numbering-level.model';
28
30
  import { Operation } from '../gadgets/history/operation.type';
29
31
  import { OperationHistory } from '../gadgets/history/operation-history';
@@ -38,6 +40,7 @@ import { RestoreModel } from '../../models/generated/restore.model';
38
40
  import { SearchOptions } from '../gadgets/search/search';
39
41
  import { SearchIteration } from '../gadgets/search/search-iteration.interface';
40
42
  import { Selection } from '../positioning/selection';
43
+ import { SessionModel } from '../execution/targeting/session.model';
41
44
  import { TargetModel } from '../../models/generated/target.model';
42
45
  import { TextStyleModel } from '../../models/generated/text-style.model';
43
46
  import { VirtualRenderer } from '../display/virtual.renderer';
@@ -67,6 +70,7 @@ export declare class Editor {
67
70
  mouseHandler: MouseHandler;
68
71
  inputHandler: InputHandler;
69
72
  documentHandler: DocumentHandler;
73
+ dragAndDrop: DragAndDrop;
70
74
  subscriptions: Subscription[];
71
75
  private search;
72
76
  private textInput;
@@ -132,8 +136,8 @@ export declare class Editor {
132
136
  saveAddNumberingToHistory(templateLevels: NumberingLevelModel[], startIndex: number, endIndex: number): void;
133
137
  saveRemoveNumberingToHistory(startIndex: number, endIndex: number): void;
134
138
  private saveApplyImageStyleToHistory;
139
+ saveMoveRangeToHistory(redoModel: MoveRangeModel, sourceSession: SessionModel, sourceRange: Range): void;
135
140
  private saveReplaceToHistory;
136
- private createRestoreFromSlice;
137
141
  createCustomElement(data: ElementDataModel): void;
138
142
  removeSelected(): void;
139
143
  removeParagraphAndSetParagraphToNumbering(): void;
@@ -150,17 +154,23 @@ export declare class Editor {
150
154
  onFocus(): void;
151
155
  onMouseClick(event: MouseEvent): void;
152
156
  onLeftClick(event: MouseEvent): void;
157
+ onSelectionLeftClick(event: MouseEvent): void;
158
+ onShortLeftClick(event: MouseEvent, isSelectionClick?: boolean): void;
153
159
  onDoubleClick(event: MouseEvent): void;
154
160
  onTripleClick(event: MouseEvent): void;
155
161
  onQuadClick(event: MouseEvent): void;
156
162
  onMouseWheel(event: WheelEvent): void;
163
+ onDragStart(): void;
164
+ onDragMove(event: MouseEvent): void;
165
+ onDragDrop(sourceSession: SessionModel, sourceRange: Range): void;
166
+ moveRange(model: MoveRangeModel): void;
157
167
  getLinkModel(event: MouseEvent): LinkModel;
158
168
  setCurrentSession(element: HTMLElement): HTMLElement | null;
159
169
  getCustomElement(element: HTMLElement): HTMLElement | null;
160
170
  isInsideEdge(element: HTMLElement | null): boolean;
161
171
  getParentEdge(element: HTMLElement | null): HTMLElement | null;
162
172
  /**
163
- * Returns the string of text currently highlighted.
173
+ * Returns the string of text range.
164
174
  */
165
175
  getSelectedText(): string;
166
176
  initMainSession(): void;
@@ -212,6 +222,8 @@ export declare class Editor {
212
222
  undoSubscription(): Subscription;
213
223
  redoSubscription(): Subscription;
214
224
  removeLeftSubscription(): Subscription;
225
+ private dragMoveSubscription;
226
+ private dragDropSubscription;
215
227
  private printSubscription;
216
228
  private cutSelectedSubscription;
217
229
  private copySelectedSubscription;
@@ -0,0 +1,21 @@
1
+ import { Subject } from 'rxjs';
2
+ import { Range } from '../../positioning/range';
3
+ import { SessionModel } from '../../execution/targeting/session.model';
4
+ export declare class DragAndDrop {
5
+ private editorContainer;
6
+ onMove$: Subject<MouseEvent>;
7
+ onDrop$: Subject<{
8
+ sourceSession: SessionModel;
9
+ sourceRange: Range;
10
+ }>;
11
+ private isDragging;
12
+ private mouseMove$;
13
+ private mouseUp$;
14
+ private sourceSession;
15
+ private sourceRange;
16
+ constructor(editorContainer: HTMLElement);
17
+ onStart(session: SessionModel, range: Range): void;
18
+ destroyListeners(): void;
19
+ private onEnd;
20
+ private initListeners;
21
+ }
@@ -9,12 +9,14 @@ import { InsertLinkModel } from '../../../models/generated/insert-link.model';
9
9
  import { InsertParagraphModel } from '../../../models/generated/insert-paragraph.model';
10
10
  import { InsertTableModel } from '../../../models/generated/insert-table.model';
11
11
  import { InsertTabModel } from '../../../models/generated/insert-tab.model';
12
+ import { MoveRangeModel } from '../../../models/generated/move-range.model';
12
13
  import { NumberingLevelModel } from '../../../models/generated/numbering-level.model';
13
14
  import { NumberingModel } from '../../../models/generated/numbering.model';
14
15
  import { Operation } from './operation.type';
15
16
  import { PageType } from '../../components/edges/page-type.enum';
16
17
  import { ParagraphModel } from '../../../models/generated/paragraph.model';
17
18
  import { ParagraphStyleModel } from '../../../models/generated/paragraph-style.model';
19
+ import { Range } from '../../positioning/range';
18
20
  import { RegulatorService } from '../../execution/regulator.service';
19
21
  import { RemoveParagraphAndAddNumberingModel } from '../../../models/generated/remove-paragraph-and-add-numbering.model';
20
22
  import { ReplaceModel } from '../../../models/generated/replace.model';
@@ -51,6 +53,7 @@ export declare class OperationHistory {
51
53
  pushApplyImageStyle(previous: ImageModel, current: ImageModel): void;
52
54
  pushAddNumbering(startIndex: number, endIndex: number, levels: NumberingLevelModel[], paragraphs: ParagraphModel[], numberings: NumberingModel[]): void;
53
55
  pushRemoveNumberings(startIndex: number, endIndex: number, numberings: NumberingModel[], paragraphs: ParagraphModel[]): void;
56
+ pushMoveRange(restore: MoveRangeModel, replace: MoveRangeModel, selection: Range): void;
54
57
  pushReplace(restore: RestoreModel, replace: ReplaceModel): void;
55
58
  pushRemoveParagraphAndSetParagraphToNumbering(restore: RestoreParagraphAndAddNumberingModel, remove: RemoveParagraphAndAddNumberingModel): void;
56
59
  pushCreateEdges(pageType: PageType): void;
@@ -13,6 +13,7 @@ import { InsertTableModel } from '../../../models/generated/insert-table.model';
13
13
  import { InsertTableRowsModel } from '../../../models/generated/insert-table-rows.model';
14
14
  import { InsertTabModel } from '../../../models/generated/insert-tab.model';
15
15
  import { InsertTextModel } from '../../../models/generated/insert-text.model';
16
+ import { MoveRangeModel } from '../../../models/generated/move-range.model';
16
17
  import { RemoveEdgesModel } from '../../../models/generated/remove-edges.model';
17
18
  import { RemoveNumberingsModel } from '../../../models/generated/remove-numberings.model';
18
19
  import { RemoveParagraphAndAddNumberingModel } from '../../../models/generated/remove-paragraph-and-add-numbering.model';
@@ -26,4 +27,4 @@ import { RestoreParagraphAndAddNumberingModel } from '../../../models/generated/
26
27
  import { RestoreParagraphStylesModel } from '../../../models/generated/restore-paragraph-styles.model';
27
28
  import { RestoreTableModel } from '../../../models/generated/restore-table.model';
28
29
  import { RestoreTextStylesModel } from '../../../models/generated/restore-text-styles.model';
29
- export type Operation = InsertTextModel | DeleteModel | InsertStyledTextModel | RestoreModel | ApplyTextStyleModel | RestoreTextStylesModel | RestoreParagraphStylesModel | InsertElementModel | InsertBreakModel | ApplyImageStyleModel | AddNumberingModel | RestoreNumberingsModel | InsertParagraphModel | InsertTabModel | InsertTableColumnsModel | InsertTableRowsModel | RemoveTableColumnsModel | RemoveTableRowsModel | ResizeTableColumnsModel | RestoreTableModel | InsertTableModel | InsertImageModel | RemoveNumberingsModel | ReplaceModel | CreateEdgesModel | RemoveEdgesModel | RemoveParagraphAndAddNumberingModel | RestoreParagraphAndAddNumberingModel;
30
+ export type Operation = InsertTextModel | DeleteModel | InsertStyledTextModel | RestoreModel | ApplyTextStyleModel | RestoreTextStylesModel | RestoreParagraphStylesModel | InsertElementModel | InsertBreakModel | ApplyImageStyleModel | AddNumberingModel | RestoreNumberingsModel | InsertParagraphModel | InsertTabModel | InsertTableColumnsModel | InsertTableRowsModel | RemoveTableColumnsModel | RemoveTableRowsModel | ResizeTableColumnsModel | RestoreTableModel | InsertTableModel | InsertImageModel | RemoveNumberingsModel | ReplaceModel | MoveRangeModel | CreateEdgesModel | RemoveEdgesModel | RemoveParagraphAndAddNumberingModel | RestoreParagraphAndAddNumberingModel;
@@ -29,5 +29,6 @@ export declare enum CommandType {
29
29
  CreateEdges = 27,
30
30
  RemoveEdges = 28,
31
31
  RemoveParagraphAndAddNumbering = 29,
32
- RestoreParagraphAndAddNumbering = 30
32
+ RestoreParagraphAndAddNumbering = 30,
33
+ MoveRange = 31
33
34
  }
@@ -0,0 +1,5 @@
1
+ import { ContentsInterface } from '../../../editor/content/contents.interface';
2
+ import { RestoreModel } from '../../../models/generated/restore.model';
3
+ export declare class ContentsOperationsHelper {
4
+ static GetRestoreFromSlice(contents: ContentsInterface, startIndex: number, count: number): RestoreModel;
5
+ }
@@ -9,6 +9,7 @@ import { ImageDataModel } from '../../models/generated/image-data.model';
9
9
  import { InsertElementModel } from '../../models/generated/insert-element.model';
10
10
  import { InsertParagraphModel } from '../../models/generated/insert-paragraph.model';
11
11
  import { InsertTableModel } from '../../models/generated/insert-table.model';
12
+ import { MoveRangeModel } from '../../models/generated/move-range.model';
12
13
  import { NumberingLevelModel } from '../../models/generated/numbering-level.model';
13
14
  import { NumberingModel } from '../../models/generated/numbering.model';
14
15
  import { PageType } from '../components/edges/page-type.enum';
@@ -22,7 +23,9 @@ import { TableModel } from '../../models/generated/table.model';
22
23
  import { TextStyleModel } from '../../models/generated/text-style.model';
23
24
  export declare class OperationsHelper {
24
25
  static applyOperations(document: DocxModel, commands: CommandModel[]): void;
25
- static getTargetContents(document: DocxModel, command: CommandModel): ContentsInterface;
26
+ static moveRange(document: DocxModel, model: MoveRangeModel): void;
27
+ static removeMoveRange(sourceContents: ContentsInterface, model: MoveRangeModel): RestoreModel;
28
+ static restoreMoveRange(targetContents: ContentsInterface, model: MoveRangeModel, restoreContents: RestoreModel): number;
26
29
  static getContentWidth(document: DocxModel, contents: ContentsInterface): number;
27
30
  static insertText(document: ContentsInterface, text: string, index: number): void;
28
31
  static insertParagraph(document: ContentsInterface, index: number, model: InsertParagraphModel, contentWidth: number): string;
@@ -8,6 +8,7 @@ import { InsertLinkModel } from '../../models/generated/insert-link.model';
8
8
  import { InsertParagraphModel } from '../../models/generated/insert-paragraph.model';
9
9
  import { InsertTableModel } from '../../models/generated/insert-table.model';
10
10
  import { InsertTabModel } from '../../models/generated/insert-tab.model';
11
+ import { MoveRangeModel } from '../../models/generated/move-range.model';
11
12
  import { NumberingLevelModel } from '../../models/generated/numbering-level.model';
12
13
  import { ParagraphModel } from '../../models/generated/paragraph.model';
13
14
  import { ParagraphStyleModel } from '../../models/generated/paragraph-style.model';
@@ -46,6 +47,7 @@ export declare class SaveCommandsHelper {
46
47
  static getRestoreParagraphStylesCommand(paragraphs: ParagraphModel[], targets: TargetModel[]): CommandModel;
47
48
  static getRestoreCommand(restoreModel: RestoreModel, targets: TargetModel[]): CommandModel;
48
49
  static getRestoreTableCommand(restoreTable: RestoreTableModel, targets: TargetModel[]): CommandModel;
50
+ static getMoveRangeCommand(model: MoveRangeModel, targets: TargetModel[]): CommandModel;
49
51
  static getReplaceCommand(model: ReplaceModel, targets: TargetModel[]): CommandModel;
50
52
  static getRemoveParagraphAndAddNumberingCommand(model: RemoveParagraphAndAddNumberingModel, targets: TargetModel[]): CommandModel;
51
53
  static getRestoreParagraphAndAddNumberingCommand(model: RestoreParagraphAndAddNumberingModel, targets: TargetModel[]): CommandModel;
@@ -2,5 +2,7 @@ import { ContentsInterface } from '../content/contents.interface';
2
2
  import { DocxModel } from '../../models/generated/docx.model';
3
3
  import { TargetModel } from '../../models/generated/target.model';
4
4
  export declare class TargetOperationsHelper {
5
- static getContents(contents: ContentsInterface, target: TargetModel, document: DocxModel): ContentsInterface;
5
+ static getContents(document: DocxModel, targets: TargetModel[]): ContentsInterface;
6
+ static isSame(first: TargetModel[], second: TargetModel[]): boolean;
7
+ static getTargetContents(contents: ContentsInterface, target: TargetModel, document: DocxModel): ContentsInterface;
6
8
  }
@@ -15,6 +15,7 @@ import { InsertTableModel } from './insert-table.model';
15
15
  import { InsertTableRowsModel } from './insert-table-rows.model';
16
16
  import { InsertTabModel } from './insert-tab.model';
17
17
  import { InsertTextModel } from './insert-text.model';
18
+ import { MoveRangeModel } from './move-range.model';
18
19
  import { RemoveEdgesModel } from './remove-edges.model';
19
20
  import { RemoveNumberingsModel } from './remove-numberings.model';
20
21
  import { RemoveParagraphAndAddNumberingModel } from './remove-paragraph-and-add-numbering.model';
@@ -49,6 +50,7 @@ export declare class CommandModel {
49
50
  insertTableColumns: InsertTableColumnsModel;
50
51
  insertTableRows: InsertTableRowsModel;
51
52
  insertText: InsertTextModel;
53
+ moveRange: MoveRangeModel;
52
54
  removeEdges: RemoveEdgesModel;
53
55
  removeNumberings: RemoveNumberingsModel;
54
56
  removeParagraphAndAddNumbering: RemoveParagraphAndAddNumberingModel;
@@ -1,5 +1,7 @@
1
1
  import { FormatModel } from './format.model';
2
2
  export declare class LinkModel {
3
+ anchor: string;
4
+ bookmarkIndex: number;
3
5
  endIndex: number;
4
6
  formats: FormatModel[];
5
7
  link: string;
@@ -0,0 +1,9 @@
1
+ import { TargetModel } from './target.model';
2
+ export declare class MoveRangeModel {
3
+ sourceCount: number;
4
+ sourceStartIndex: number;
5
+ sourceTargets: TargetModel[];
6
+ targetIndex: number;
7
+ targetTargets: TargetModel[];
8
+ constructor(fields?: Partial<MoveRangeModel>);
9
+ }
@@ -2,6 +2,7 @@ export declare class TextStyleModel {
2
2
  bold: boolean;
3
3
  fontColor: string;
4
4
  fontFamily: string;
5
+ fontFamilyNames: any;
5
6
  fontSize: number;
6
7
  headingStyleId: string;
7
8
  highlightColor: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talrace/ngx-noder",
3
- "version": "0.0.28",
3
+ "version": "0.0.29",
4
4
  "license": "MIT",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^19.0.5",
@@ -51,6 +51,10 @@ div.ngx-colors-overlay.noder-color-picker-overlay .opened .colors {
51
51
  text-align: left;
52
52
  width: 100%;
53
53
  height: 100%;
54
+
55
+ &.drag-and-drop-progress {
56
+ cursor: url('../../assets/drag-and-drop-cursor.png') 0 0, move;
57
+ }
54
58
  }
55
59
 
56
60
  .noder-scroller {
@@ -59,9 +63,13 @@ div.ngx-colors-overlay.noder-color-picker-overlay .opened .colors {
59
63
  top: 0;
60
64
  bottom: 0;
61
65
  user-select: none;
66
+ }
67
+
68
+ .edit-container:not(.drag-and-drop-progress) .noder-scroller {
62
69
  cursor: text;
63
70
  }
64
71
 
72
+
65
73
  .noder-scrollbar {
66
74
  overflow: hidden scroll;
67
75
  contain: strict;
@@ -266,8 +274,13 @@ div.ngx-colors-overlay.noder-color-picker-overlay .opened .colors {
266
274
  z-index: 5;
267
275
  }
268
276
 
269
- .noder-selection-layer.text-selection .noder-selection {
270
- background-color: rgb(94, 168, 247, 0.4);
277
+ .noder-selection-layer {
278
+ &.drag-and-drop-selection,
279
+ &.text-selection {
280
+ .noder-selection {
281
+ background-color: rgb(94, 168, 247, 0.4);
282
+ }
283
+ }
271
284
  }
272
285
 
273
286
  .noder-selection-layer.notes-highlight .noder-selection {