@toptal/picasso-rich-text-editor 8.0.1 → 8.0.2

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.
@@ -1,4 +1,6 @@
1
- import { COMMAND_PRIORITY_CRITICAL, SELECTION_CHANGE_COMMAND } from 'lexical';
1
+ import { $getSelection, $isRangeSelection, COMMAND_PRIORITY_CRITICAL, COMMAND_PRIORITY_NORMAL, FORMAT_TEXT_COMMAND, SELECTION_CHANGE_COMMAND, } from 'lexical';
2
+ import { $isHeadingNode } from '@lexical/rich-text';
3
+ import { getSelectedNode } from './get-selected-node';
2
4
  // Subscribes to Lexical editor events and updates the toolbar state accordingly
3
5
  export const registerLexicalEvents = ({ editor, updateToolbar, }) => {
4
6
  const editorListenerCleanup = editor.registerUpdateListener(({ editorState }) => {
@@ -6,6 +8,17 @@ export const registerLexicalEvents = ({ editor, updateToolbar, }) => {
6
8
  updateToolbar();
7
9
  });
8
10
  });
11
+ const formatCommandCleanup = editor.registerCommand(FORMAT_TEXT_COMMAND, () => {
12
+ const selection = $getSelection();
13
+ if ($isRangeSelection(selection)) {
14
+ const node = getSelectedNode(selection);
15
+ const parent = node.getParent();
16
+ if ($isHeadingNode(parent) || $isHeadingNode(node)) {
17
+ return true;
18
+ }
19
+ }
20
+ return false;
21
+ }, COMMAND_PRIORITY_NORMAL);
9
22
  const editorCommandsCleanup = editor.registerCommand(SELECTION_CHANGE_COMMAND, () => {
10
23
  updateToolbar();
11
24
  return false;
@@ -14,6 +27,7 @@ export const registerLexicalEvents = ({ editor, updateToolbar, }) => {
14
27
  return () => {
15
28
  editorListenerCleanup();
16
29
  editorCommandsCleanup();
30
+ formatCommandCleanup();
17
31
  };
18
32
  };
19
33
  //# sourceMappingURL=register-lexical-events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-lexical-events.js","sourceRoot":"","sources":["../../../src/LexicalEditor/utils/register-lexical-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAQ7E,gFAAgF;AAChF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,MAAM,EACN,aAAa,GACS,EAAE,EAAE;IAC1B,MAAM,qBAAqB,GAAG,MAAM,CAAC,sBAAsB,CACzD,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;QAClB,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE;YACpB,aAAa,EAAE,CAAA;QACjB,CAAC,CAAC,CAAA;IACJ,CAAC,CACF,CAAA;IACD,MAAM,qBAAqB,GAAG,MAAM,CAAC,eAAe,CAClD,wBAAwB,EACxB,GAAG,EAAE;QACH,aAAa,EAAE,CAAA;QAEf,OAAO,KAAK,CAAA;IACd,CAAC,EACD,yBAAyB,CAC1B,CAAA;IAED,mEAAmE;IACnE,OAAO,GAAG,EAAE;QACV,qBAAqB,EAAE,CAAA;QACvB,qBAAqB,EAAE,CAAA;IACzB,CAAC,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"register-lexical-events.js","sourceRoot":"","sources":["../../../src/LexicalEditor/utils/register-lexical-events.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAOrD,gFAAgF;AAChF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,MAAM,EACN,aAAa,GACS,EAAE,EAAE;IAC1B,MAAM,qBAAqB,GAAG,MAAM,CAAC,sBAAsB,CACzD,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;QAClB,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE;YACpB,aAAa,EAAE,CAAA;QACjB,CAAC,CAAC,CAAA;IACJ,CAAC,CACF,CAAA;IAED,MAAM,oBAAoB,GAAG,MAAM,CAAC,eAAe,CACjD,mBAAmB,EACnB,GAAG,EAAE;QACH,MAAM,SAAS,GAAG,aAAa,EAAE,CAAA;QAEjC,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE;YAChC,MAAM,IAAI,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;YAE/B,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE;gBAClD,OAAO,IAAI,CAAA;aACZ;SACF;QAED,OAAO,KAAK,CAAA;IACd,CAAC,EACD,uBAAuB,CACxB,CAAA;IAED,MAAM,qBAAqB,GAAG,MAAM,CAAC,eAAe,CAClD,wBAAwB,EACxB,GAAG,EAAE;QACH,aAAa,EAAE,CAAA;QAEf,OAAO,KAAK,CAAA;IACd,CAAC,EACD,yBAAyB,CAC1B,CAAA;IAED,mEAAmE;IACnE,OAAO,GAAG,EAAE;QACV,qBAAqB,EAAE,CAAA;QACvB,qBAAqB,EAAE,CAAA;QACvB,oBAAoB,EAAE,CAAA;IACxB,CAAC,CAAA;AACH,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { COMMAND_PRIORITY_CRITICAL, SELECTION_CHANGE_COMMAND } from 'lexical';
1
+ import { COMMAND_PRIORITY_CRITICAL, COMMAND_PRIORITY_NORMAL, FORMAT_TEXT_COMMAND, SELECTION_CHANGE_COMMAND, } from 'lexical';
2
2
  import { registerLexicalEvents } from './register-lexical-events';
3
3
  jest.mock('@lexical/react/LexicalComposerContext', () => ({
4
4
  useLexicalComposerContext: jest.fn().mockReturnValue([]),
@@ -12,9 +12,7 @@ describe('registerLexicalEvents', () => {
12
12
  it('registers listeners and commands correctly and return a cleanup function', () => {
13
13
  const mockEditor = {
14
14
  registerUpdateListener: jest.fn().mockReturnValueOnce(() => { }),
15
- registerCommand: jest
16
- .fn()
17
- .mockReturnValueOnce(mockedEditorCommandsCleanup),
15
+ registerCommand: jest.fn().mockReturnValue(mockedEditorCommandsCleanup),
18
16
  };
19
17
  const params = {
20
18
  editor: mockEditor,
@@ -22,12 +20,19 @@ describe('registerLexicalEvents', () => {
22
20
  };
23
21
  const cleanup = registerLexicalEvents(params);
24
22
  expect(mockEditor.registerUpdateListener).toHaveBeenCalledTimes(1);
25
- expect(mockEditor.registerCommand).toHaveBeenCalledTimes(1);
26
- expect(mockEditor.registerCommand).toHaveBeenCalledWith(SELECTION_CHANGE_COMMAND, expect.any(Function), COMMAND_PRIORITY_CRITICAL);
23
+ expect(mockEditor.registerCommand).toHaveBeenCalledTimes(2);
24
+ expect(mockEditor.registerCommand.mock.calls).toMatchObject([
25
+ [FORMAT_TEXT_COMMAND, expect.any(Function), COMMAND_PRIORITY_NORMAL],
26
+ [
27
+ SELECTION_CHANGE_COMMAND,
28
+ expect.any(Function),
29
+ COMMAND_PRIORITY_CRITICAL,
30
+ ],
31
+ ]);
27
32
  // Simulate invoking the cleanup function
28
33
  cleanup();
29
34
  // Assert cleanup
30
- expect(mockedEditorCommandsCleanup).toHaveBeenCalledTimes(1);
35
+ expect(mockedEditorCommandsCleanup).toHaveBeenCalledTimes(2);
31
36
  });
32
37
  });
33
38
  //# sourceMappingURL=register-lexical-events.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-lexical-events.test.js","sourceRoot":"","sources":["../../../src/LexicalEditor/utils/register-lexical-events.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAE7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAGjE,IAAI,CAAC,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE,CAAC,CAAC;IACxD,yBAAyB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;CACzD,CAAC,CAAC,CAAA;AAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;AAEnC,MAAM,2BAA2B,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;AAE7C,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,MAAM,UAAU,GAAG;YACjB,sBAAsB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;YAC/D,eAAe,EAAE,IAAI;iBAClB,EAAE,EAAE;iBACJ,mBAAmB,CAAC,2BAA2B,CAAC;SACpD,CAAA;QAED,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,UAAU;YAClB,aAAa,EAAE,iBAAiB;SACjC,CAAA;QAED,MAAM,OAAO,GAAG,qBAAqB,CACnC,MAA0C,CAC3C,CAAA;QAED,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAClE,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAC3D,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,oBAAoB,CACrD,wBAAwB,EACxB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EACpB,yBAAyB,CAC1B,CAAA;QAED,yCAAyC;QACzC,OAAO,EAAE,CAAA;QAET,iBAAiB;QACjB,MAAM,CAAC,2BAA2B,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"register-lexical-events.test.js","sourceRoot":"","sources":["../../../src/LexicalEditor/utils/register-lexical-events.test.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAGjE,IAAI,CAAC,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE,CAAC,CAAC;IACxD,yBAAyB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;CACzD,CAAC,CAAC,CAAA;AAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;AAEnC,MAAM,2BAA2B,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;AAE7C,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,MAAM,UAAU,GAAG;YACjB,sBAAsB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;YAC/D,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,2BAA2B,CAAC;SACxE,CAAA;QAED,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,UAAU;YAClB,aAAa,EAAE,iBAAiB;SACjC,CAAA;QAED,MAAM,OAAO,GAAG,qBAAqB,CACnC,MAA0C,CAC3C,CAAA;QAED,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAClE,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAC3D,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;YAC1D,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,uBAAuB,CAAC;YACpE;gBACE,wBAAwB;gBACxB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACpB,yBAAyB;aAC1B;SACF,CAAC,CAAA;QAEF,yCAAyC;QACzC,OAAO,EAAE,CAAA;QAET,iBAAiB;QACjB,MAAM,CAAC,2BAA2B,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,9 +1,9 @@
1
1
  import { INSERT_ORDERED_LIST_COMMAND, INSERT_UNORDERED_LIST_COMMAND, REMOVE_LIST_COMMAND, } from '@lexical/list';
2
2
  import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
3
- import { $createHeadingNode, $isHeadingNode } from '@lexical/rich-text';
4
3
  import { $setBlocksType } from '@lexical/selection';
5
4
  import { $createParagraphNode, $getSelection, $isRangeSelection, FORMAT_TEXT_COMMAND, } from 'lexical';
6
5
  import React, { useEffect, useReducer } from 'react';
6
+ import { $createHeadingNode, $isHeadingNode } from '@lexical/rich-text';
7
7
  import { registerLexicalEvents, synchronizeToolbarState, toolbarStateReducer, getSelectedNode, } from '../LexicalEditor/utils';
8
8
  import RichTextEditorToolbar, { ALLOWED_HEADER_TYPE, } from '../RichTextEditorToolbar';
9
9
  import { useRTEPluginContext, useRTEUpdate } from '../plugins/api';
@@ -1 +1 @@
1
- {"version":3,"file":"LexicalEditorToolbarPlugin.js","sourceRoot":"","sources":["../../src/LexicalEditorToolbarPlugin/LexicalEditorToolbarPlugin.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LexicalEditorToolbarPlugin.js","sourceRoot":"","sources":["../../src/LexicalEditorToolbarPlugin/LexicalEditorToolbarPlugin.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toptal/picasso-rich-text-editor",
3
- "version": "8.0.1",
3
+ "version": "8.0.2",
4
4
  "description": "Picasso rich text editor",
5
5
  "author": "Toptal",
6
6
  "homepage": "https://github.com/toptal/picasso/tree/master/packages/picasso-rich-text-editor#readme",
@@ -3,16 +3,25 @@ import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext
3
3
  import { $createTextNode, $insertNodes, COMMAND_PRIORITY_EDITOR } from 'lexical';
4
4
  import EmojiPlugin, { INSERT_CUSTOM_EMOJI_COMMAND, INSERT_EMOJI_COMMAND, } from './index';
5
5
  import { $createCustomEmojiNode } from './nodes/CustomEmojiNode';
6
+ jest.mock('../../LexicalEditor/utils', () => ({
7
+ getSelectedNode: jest.fn(),
8
+ }));
6
9
  jest.mock('@lexical/react/LexicalComposerContext', () => ({
7
10
  useLexicalComposerContext: jest.fn(() => [{}]),
8
11
  }));
9
12
  jest.mock('@lexical/utils', () => ({
10
13
  mergeRegister: jest.fn(),
11
14
  }));
15
+ jest.mock('@lexical/rich-text', () => ({
16
+ $isHeadingNode: jest.fn(),
17
+ }));
12
18
  jest.mock('lexical', () => ({
13
19
  $createTextNode: jest.fn(),
14
20
  $insertNodes: jest.fn(),
21
+ $getSelection: jest.fn(),
22
+ $isRangeSelection: jest.fn(),
15
23
  COMMAND_PRIORITY_EDITOR: jest.fn(),
24
+ FORMAT_TEXT_COMMAND: jest.fn(),
16
25
  createCommand: jest.fn(),
17
26
  }));
18
27
  jest.mock('./nodes/CustomEmojiNode', () => ({
@@ -1 +1 @@
1
- {"version":3,"file":"EmojiPlugin.test.js","sourceRoot":"","sources":["../../../src/plugins/EmojiPlugin/EmojiPlugin.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EmojiPlugin.test.js","sourceRoot":"","sources":["../../../src/plugins/EmojiPlugin/EmojiPlugin.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
2
- import { HeadingNode } from '@lexical/rich-text';
3
2
  import { useEffect } from 'react';
3
+ import { HeadingNode } from '@lexical/rich-text';
4
4
  import { replaceHeadingNodes } from './utils';
5
5
  const HeadingsReplacementPlugin = () => {
6
6
  const [editor] = useLexicalComposerContext();
@@ -1 +1 @@
1
- {"version":3,"file":"HeadingsReplacementPlugin.js","sourceRoot":"","sources":["../../../src/plugins/HeadingsReplacementPlugin/HeadingsReplacementPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAE7C,MAAM,yBAAyB,GAAG,GAAG,EAAE;IACrC,MAAM,CAAC,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAA;IAE5C,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,MAAM,CAAC,qBAAqB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAA;IACvE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,eAAe,yBAAyB,CAAA"}
1
+ {"version":3,"file":"HeadingsReplacementPlugin.js","sourceRoot":"","sources":["../../../src/plugins/HeadingsReplacementPlugin/HeadingsReplacementPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAE7C,MAAM,yBAAyB,GAAG,GAAG,EAAE;IACrC,MAAM,CAAC,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAA;IAE5C,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,MAAM,CAAC,qBAAqB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAA;IACvE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,eAAe,yBAAyB,CAAA"}
@@ -1,5 +1,12 @@
1
- import { $createParagraphNode, $createTextNode } from 'lexical';
1
+ import { $createParagraphNode, $createTextNode, $isTextNode } from 'lexical';
2
2
  export const replaceHeadingNodes = (node) => {
3
+ if (node.getTag() === 'h3') {
4
+ node.getChildren().forEach((node) => {
5
+ if ($isTextNode(node)) {
6
+ node.setFormat(0);
7
+ }
8
+ });
9
+ }
3
10
  if (node.getTag() !== 'h3') {
4
11
  const textNode = $createTextNode(node.getTextContent());
5
12
  textNode.setFormat('bold');
@@ -1 +1 @@
1
- {"version":3,"file":"replace-heading-nodes.js","sourceRoot":"","sources":["../../../../src/plugins/HeadingsReplacementPlugin/utils/replace-heading-nodes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE/D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAiB,EAAE,EAAE;IACvD,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAA;QAEvD,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAE1B,MAAM,aAAa,GAAG,oBAAoB,EAAE,CAAA;QAE5C,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC9B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QAC3B,aAAa,CAAC,MAAM,EAAE,CAAA;KACvB;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"replace-heading-nodes.js","sourceRoot":"","sources":["../../../../src/plugins/HeadingsReplacementPlugin/utils/replace-heading-nodes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE5E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAiB,EAAE,EAAE;IACvD,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QAC1B,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,IAAiB,EAAE,EAAE;YAC/C,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;gBACrB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;aAClB;QACH,CAAC,CAAC,CAAA;KACH;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAA;QAEvD,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAE1B,MAAM,aAAa,GAAG,oBAAoB,EAAE,CAAA;QAE5C,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC9B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QAC3B,aAAa,CAAC,MAAM,EAAE,CAAA;KACvB;AACH,CAAC,CAAA"}
@@ -13,6 +13,7 @@ describe('replaceHeadingNodes', () => {
13
13
  const node = jest.fn();
14
14
  node.getTag = () => 'h3';
15
15
  node.replace = jest.fn();
16
+ node.getChildren = () => [];
16
17
  replaceHeadingNodes(node);
17
18
  expect(node.replace).toHaveBeenCalledTimes(0);
18
19
  });
@@ -1 +1 @@
1
- {"version":3,"file":"replace-heading-nodes.test.js","sourceRoot":"","sources":["../../../../src/plugins/HeadingsReplacementPlugin/utils/replace-heading-nodes.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAE7D,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1B,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE;IAC1B,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE;CAChC,CAAC,CAAC,CAAA;AAEH,MAAM,yBAAyB,GAAG,oBAEjC,CAAA;AAED,MAAM,oBAAoB,GAAG,eAE5B,CAAA;AAED,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QAC3C,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAA4B,CAAA;YAEhD,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAA;YACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;YAExB,mBAAmB,CAAC,IAAI,CAAC,CAAA;YAEzB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC/C,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,WAAW,GAAG,MAAM,CAAA;YAE1B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAA4B,CAAA;YAEhD,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAA;YACxB,IAAI,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,WAAW,CAAA;YACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;YAExB,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;YAE/B,oBAAoB,CAAC,kBAAkB,CACrC,GAAG,EAAE,CACH,CAAC;gBACC,SAAS,EAAE,aAAa;aACD,CAAA,CAC5B,CAAA;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;YAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;YAE5B,yBAAyB,CAAC,kBAAkB,CAC1C,GAAG,EAAE,CACH,CAAC;gBACC,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,UAAU;aACU,CAAA,CACjC,CAAA;YAED,mBAAmB,CAAC,IAAI,CAAC,CAAA;YAEzB,MAAM,CAAC,oBAAoB,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;YAC9D,MAAM,CAAC,yBAAyB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;YAE1D,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;YAClD,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAA;YACrE,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAA;YAErC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC;gBACxC,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,UAAU;aACnB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"replace-heading-nodes.test.js","sourceRoot":"","sources":["../../../../src/plugins/HeadingsReplacementPlugin/utils/replace-heading-nodes.test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAE7D,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1B,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE;IAC1B,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE;CAChC,CAAC,CAAC,CAAA;AAEH,MAAM,yBAAyB,GAAG,oBAEjC,CAAA;AAED,MAAM,oBAAoB,GAAG,eAE5B,CAAA;AAED,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QAC3C,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAA4B,CAAA;YAEhD,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAA;YACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;YACxB,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;YAE3B,mBAAmB,CAAC,IAAI,CAAC,CAAA;YAEzB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC/C,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,WAAW,GAAG,MAAM,CAAA;YAE1B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAA4B,CAAA;YAEhD,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAA;YACxB,IAAI,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,WAAW,CAAA;YACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;YAExB,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;YAE/B,oBAAoB,CAAC,kBAAkB,CACrC,GAAG,EAAE,CACH,CAAC;gBACC,SAAS,EAAE,aAAa;aACD,CAAA,CAC5B,CAAA;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;YAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;YAE5B,yBAAyB,CAAC,kBAAkB,CAC1C,GAAG,EAAE,CACH,CAAC;gBACC,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,UAAU;aACU,CAAA,CACjC,CAAA;YAED,mBAAmB,CAAC,IAAI,CAAC,CAAA;YAEzB,MAAM,CAAC,oBAAoB,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;YAC9D,MAAM,CAAC,yBAAyB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;YAE1D,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;YAClD,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAA;YACrE,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAA;YAErC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC;gBACxC,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,UAAU;aACnB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}