@milkdown/plugin-slash 4.11.0 → 4.13.0

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.
package/README.md CHANGED
@@ -8,14 +8,57 @@ Add support for slash commands.
8
8
  ```typescript
9
9
  import { Editor } from '@milkdown/core';
10
10
  import { commonmark } from '@milkdown/preset-commonmark';
11
-
12
- // import theme and style
13
- import '@milkdown/theme-nord/lib/theme.css';
14
- import '@milkdown/preset-commonmark/lib/style.css';
11
+ import { nord } from '@milkdown/theme-nord';
15
12
 
16
13
  import { slash } from '@milkdown/plugin-slash';
17
- // import style
18
- import '@milkdown/plugin-slash/lib/style.css';
19
14
 
20
- new Editor().use(commonmark).use(slash).create();
15
+ Editor.make().use(nord).use(commonmark).use(slash).create();
16
+ ```
17
+
18
+ # Options
19
+
20
+ ## config
21
+
22
+ Modify the list of slash plugin.
23
+
24
+ Example:
25
+
26
+ ```typescript
27
+ import { slashPlugin, slash, createDropdownItem, config, nodeExists } from '@milkdown/plugin-slash';
28
+
29
+ Editor.make().use(
30
+ slash.configure(slashPlugin, {
31
+ config: (utils) =>
32
+ config(utils)
33
+ .filter((c) => !['h1', 'h2', 'h3'].includes(c.id))
34
+ .concat([
35
+ {
36
+ id: 'h1',
37
+ dom: createDropdownItem(utils.ctx.get(themeToolCtx), 'My Heading Tips', 'h1'),
38
+ command: () => utils.ctx.get(commandsCtx).call(TurnIntoHeading),
39
+ keyword: ['h1', 'my heading', 'heading'],
40
+ enable: nodeExists('heading'),
41
+ },
42
+ ]),
43
+ }),
44
+ );
45
+ ```
46
+
47
+ ## placeholder
48
+
49
+ Modify the placeholder of slash plugin.
50
+
51
+ Example:
52
+
53
+ ```typescript
54
+ import { slashPlugin, slash, CursorStatus } from '@milkdown/plugin-slash';
55
+
56
+ Editor.make().use(
57
+ slash.configure(slashPlugin, {
58
+ placeholder: {
59
+ [CursorStatus.Empty]: 'Now you need to type a / ...',
60
+ [CursorStatus.Slash]: 'Keep typing to search...',
61
+ },
62
+ }),
63
+ );
21
64
  ```
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC;AAGrC,eAAO,MAAM,MAAM,EAAE,WAmEpB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC;AAGrC,eAAO,MAAM,MAAM,EAAE,WA8EpB,CAAC"}
package/lib/config.js CHANGED
@@ -4,66 +4,77 @@ import { InsertHr, InsertImage, InsertTable, TurnIntoCodeFence, TurnIntoHeading,
4
4
  import { createDropdownItem, nodeExists } from './utility';
5
5
  export const config = ({ ctx }) => [
6
6
  {
7
+ id: 'h1',
7
8
  dom: createDropdownItem(ctx.get(themeToolCtx), 'Large Heading', 'h1'),
8
9
  command: () => ctx.get(commandsCtx).call(TurnIntoHeading, 1),
9
10
  keyword: ['h1', 'large heading'],
10
11
  enable: nodeExists('heading'),
11
12
  },
12
13
  {
14
+ id: 'h2',
13
15
  dom: createDropdownItem(ctx.get(themeToolCtx), 'Medium Heading', 'h2'),
14
16
  command: () => ctx.get(commandsCtx).call(TurnIntoHeading, 2),
15
17
  keyword: ['h2', 'medium heading'],
16
18
  enable: nodeExists('heading'),
17
19
  },
18
20
  {
21
+ id: 'h3',
19
22
  dom: createDropdownItem(ctx.get(themeToolCtx), 'Small Heading', 'h3'),
20
23
  command: () => ctx.get(commandsCtx).call(TurnIntoHeading, 3),
21
24
  keyword: ['h3', 'small heading'],
22
25
  enable: nodeExists('heading'),
23
26
  },
24
27
  {
28
+ id: 'bulletList',
25
29
  dom: createDropdownItem(ctx.get(themeToolCtx), 'Bullet List', 'bulletList'),
26
30
  command: () => ctx.get(commandsCtx).call(WrapInBulletList),
27
31
  keyword: ['bullet list', 'ul'],
28
32
  enable: nodeExists('bullet_list'),
29
33
  },
30
34
  {
35
+ id: 'orderedList',
31
36
  dom: createDropdownItem(ctx.get(themeToolCtx), 'Ordered List', 'orderedList'),
32
37
  command: () => ctx.get(commandsCtx).call(WrapInOrderedList),
33
38
  keyword: ['ordered list', 'ol'],
34
39
  enable: nodeExists('ordered_list'),
35
40
  },
36
41
  {
42
+ id: 'taskList',
37
43
  dom: createDropdownItem(ctx.get(themeToolCtx), 'Task List', 'taskList'),
38
44
  command: () => ctx.get(commandsCtx).call(TurnIntoTaskList),
39
45
  keyword: ['task list', 'task'],
40
46
  enable: nodeExists('task_list_item'),
41
47
  },
42
48
  {
49
+ id: 'image',
43
50
  dom: createDropdownItem(ctx.get(themeToolCtx), 'Image', 'image'),
44
51
  command: () => ctx.get(commandsCtx).call(InsertImage),
45
52
  keyword: ['image'],
46
53
  enable: nodeExists('image'),
47
54
  },
48
55
  {
56
+ id: 'blockquote',
49
57
  dom: createDropdownItem(ctx.get(themeToolCtx), 'Quote', 'quote'),
50
58
  command: () => ctx.get(commandsCtx).call(WrapInBlockquote),
51
59
  keyword: ['quote', 'blockquote'],
52
60
  enable: nodeExists('blockquote'),
53
61
  },
54
62
  {
63
+ id: 'table',
55
64
  dom: createDropdownItem(ctx.get(themeToolCtx), 'Table', 'table'),
56
65
  command: () => ctx.get(commandsCtx).call(InsertTable),
57
66
  keyword: ['table'],
58
67
  enable: nodeExists('table'),
59
68
  },
60
69
  {
70
+ id: 'code',
61
71
  dom: createDropdownItem(ctx.get(themeToolCtx), 'Code Fence', 'code'),
62
72
  command: () => ctx.get(commandsCtx).call(TurnIntoCodeFence),
63
73
  keyword: ['code'],
64
74
  enable: nodeExists('fence'),
65
75
  },
66
76
  {
77
+ id: 'divider',
67
78
  dom: createDropdownItem(ctx.get(themeToolCtx), 'Divide Line', 'divider'),
68
79
  command: () => ctx.get(commandsCtx).call(InsertHr),
69
80
  keyword: ['divider', 'hr'],
package/lib/config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,8 +1,17 @@
1
1
  import { AtomList, Utils } from '@milkdown/utils';
2
2
  import { WrappedAction } from './item';
3
+ import { CursorStatus } from './prose-plugin/status';
4
+ export { config } from './config';
5
+ export { CursorStatus } from './prose-plugin/status';
3
6
  export { createDropdownItem, nodeExists } from './utility';
4
7
  export declare type SlashConfig = (utils: Utils) => WrappedAction[];
5
- export declare const slash: AtomList<import("@milkdown/utils/lib/atom/types").PluginWithMetadata<string, {
8
+ export declare type Options = {
6
9
  config: SlashConfig;
7
- }, import("prosemirror-state").Plugin<any, any>>>;
10
+ placeholder: {
11
+ [CursorStatus.Empty]: string;
12
+ [CursorStatus.Slash]: string;
13
+ };
14
+ };
15
+ export declare const slashPlugin: import("@milkdown/utils/lib/atom/types").Origin<string, Options, import("prosemirror-state").Plugin<any, any>>;
16
+ export declare const slash: AtomList<import("@milkdown/utils/lib/atom/types").PluginWithMetadata<string, Options, import("prosemirror-state").Plugin<any, any>>>;
8
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAqB,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGrE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAGvC,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE3D,oBAAY,WAAW,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,aAAa,EAAE,CAAC;AAS5D,eAAO,MAAM,KAAK;YAP8B,WAAW;iDAON,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAqB,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGrE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE3D,oBAAY,WAAW,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,aAAa,EAAE,CAAC;AAE5D,oBAAY,OAAO,GAAG;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE;QACT,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAC7B,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;KAChC,CAAC;CACL,CAAC;AACF,eAAO,MAAM,WAAW,gHAUtB,CAAC;AAEH,eAAO,MAAM,KAAK,sIAAmC,CAAC"}
package/lib/index.js CHANGED
@@ -2,12 +2,16 @@
2
2
  import { AtomList, createProsePlugin } from '@milkdown/utils';
3
3
  import { config } from './config';
4
4
  import { createSlashPlugin } from './prose-plugin';
5
+ import { CursorStatus } from './prose-plugin/status';
6
+ export { config } from './config';
7
+ export { CursorStatus } from './prose-plugin/status';
5
8
  export { createDropdownItem, nodeExists } from './utility';
6
- const slashPlugin = createProsePlugin((options, utils) => {
7
- var _a;
9
+ export const slashPlugin = createProsePlugin((options, utils) => {
10
+ var _a, _b;
8
11
  const slashConfig = (_a = options === null || options === void 0 ? void 0 : options.config) !== null && _a !== void 0 ? _a : config;
12
+ const placeholder = Object.assign({ [CursorStatus.Empty]: 'Type / to use the slash commands...', [CursorStatus.Slash]: 'Type to filter...' }, ((_b = options === null || options === void 0 ? void 0 : options.placeholder) !== null && _b !== void 0 ? _b : {}));
9
13
  const cfg = slashConfig(utils);
10
- return createSlashPlugin(utils, cfg);
14
+ return createSlashPlugin(utils, cfg, placeholder);
11
15
  });
12
16
  export const slash = AtomList.create([slashPlugin()]);
13
17
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAS,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAI3D,MAAM,WAAW,GAAG,iBAAiB,CAA0B,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;;IAC9E,MAAM,WAAW,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,MAAM,CAAC;IAC9C,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAE/B,OAAO,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAS,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAW3D,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAU,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;;IACrE,MAAM,WAAW,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,MAAM,CAAC;IAC9C,MAAM,WAAW,mBACb,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,qCAAqC,EAC3D,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,mBAAmB,IACtC,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,mCAAI,EAAE,CAAC,CAClC,CAAC;IACF,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAE/B,OAAO,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC"}
package/lib/item.d.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  import type { Command } from 'prosemirror-commands';
2
2
  import type { Schema } from 'prosemirror-model';
3
3
  export declare type Action = {
4
+ id: string;
4
5
  $: HTMLElement;
5
6
  keyword: string[];
6
7
  command: Command;
7
8
  enable: (schema: Schema) => boolean;
8
9
  };
9
- export declare type WrappedAction = Pick<Action, 'keyword'> & {
10
+ export declare type WrappedAction = Pick<Action, 'keyword' | 'id'> & {
10
11
  enable: (schema: Schema) => boolean;
11
12
  command: () => void;
12
13
  dom: HTMLElement;
package/lib/item.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../src/item.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAIhD,oBAAY,MAAM,GAAG;IACjB,CAAC,EAAE,WAAW,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CACvC,CAAC;AAEF,oBAAY,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG;IAClD,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IACpC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,GAAG,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,eAAe,WAAY,aAAa,KAAG,MAKtD,CAAC"}
1
+ {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../src/item.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAIhD,oBAAY,MAAM,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,WAAW,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CACvC,CAAC;AAEF,oBAAY,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC,GAAG;IACzD,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IACpC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,GAAG,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,eAAe,WAAY,aAAa,KAAG,MAMtD,CAAC"}
package/lib/item.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { cleanUpAndCreateNode } from './utility';
2
2
  export const transformAction = (action) => ({
3
+ id: action.id,
3
4
  keyword: action.keyword,
4
5
  $: action.dom,
5
6
  command: cleanUpAndCreateNode(action.command),
package/lib/item.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","sourceRoot":"","sources":["../src/item.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAejD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAqB,EAAU,EAAE,CAAC,CAAC;IAC/D,OAAO,EAAE,MAAM,CAAC,OAAO;IACvB,CAAC,EAAE,MAAM,CAAC,GAAG;IACb,OAAO,EAAE,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC,MAAM;CACxB,CAAC,CAAC"}
1
+ {"version":3,"file":"item.js","sourceRoot":"","sources":["../src/item.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAgBjD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAqB,EAAU,EAAE,CAAC,CAAC;IAC/D,EAAE,EAAE,MAAM,CAAC,EAAE;IACb,OAAO,EAAE,MAAM,CAAC,OAAO;IACvB,CAAC,EAAE,MAAM,CAAC,GAAG;IACb,OAAO,EAAE,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC,MAAM;CACxB,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Action } from '../item';
2
+ import { Status } from './status';
3
+ export declare const renderDropdown: (status: Status, dropdownElement: HTMLElement, items: Action[]) => boolean;
4
+ //# sourceMappingURL=dropdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../src/prose-plugin/dropdown.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,eAAO,MAAM,cAAc,WAAY,MAAM,mBAAmB,WAAW,SAAS,MAAM,EAAE,KAAG,OA0C9F,CAAC"}
@@ -0,0 +1,39 @@
1
+ /* Copyright 2021, Milkdown by Mirone. */
2
+ import scrollIntoView from 'smooth-scroll-into-view-if-needed';
3
+ export const renderDropdown = (status, dropdownElement, items) => {
4
+ const { filter } = status.get();
5
+ if (!status.isSlash()) {
6
+ dropdownElement.classList.add('hide');
7
+ return false;
8
+ }
9
+ const activeList = items
10
+ .filter((item) => {
11
+ item.$.classList.remove('active');
12
+ const result = item.keyword.some((key) => key.includes(filter.toLocaleLowerCase()));
13
+ if (result) {
14
+ return true;
15
+ }
16
+ item.$.classList.add('hide');
17
+ return false;
18
+ })
19
+ .map((item) => {
20
+ item.$.classList.remove('hide');
21
+ return item;
22
+ });
23
+ status.setActions(activeList);
24
+ if (activeList.length === 0) {
25
+ dropdownElement.classList.add('hide');
26
+ return false;
27
+ }
28
+ dropdownElement.classList.remove('hide');
29
+ activeList[0].$.classList.add('active');
30
+ requestAnimationFrame(() => {
31
+ scrollIntoView(activeList[0].$, {
32
+ scrollMode: 'if-needed',
33
+ block: 'nearest',
34
+ inline: 'nearest',
35
+ });
36
+ });
37
+ return true;
38
+ };
39
+ //# sourceMappingURL=dropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../src/prose-plugin/dropdown.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,cAAc,MAAM,mCAAmC,CAAC;AAK/D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,eAA4B,EAAE,KAAe,EAAW,EAAE;IACrG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;IAEhC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE;QACnB,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,UAAU,GAAG,KAAK;SACnB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACb,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACpF,IAAI,MAAM,EAAE;YACR,OAAO,IAAI,CAAC;SACf;QACD,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACV,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IAEP,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAE9B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC;KAChB;IAED,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxC,qBAAqB,CAAC,GAAG,EAAE;QACvB,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC5B,UAAU,EAAE,WAAW;YACvB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,SAAS;SACpB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { Utils } from '@milkdown/utils';
2
2
  import { Plugin } from 'prosemirror-state';
3
3
  import { WrappedAction } from '../item';
4
+ import { CursorStatus } from './status';
4
5
  export declare const key = "MILKDOWN_PLUGIN_SLASH";
5
- export declare const createSlashPlugin: (utils: Utils, items: WrappedAction[]) => Plugin<any, any>;
6
+ export declare const createSlashPlugin: (utils: Utils, items: WrappedAction[], placeholder: Record<CursorStatus, string>) => Plugin<any, any>;
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prose-plugin/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAa,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAmB,aAAa,EAAE,MAAM,SAAS,CAAC;AAKzD,eAAO,MAAM,GAAG,0BAA0B,CAAC;AAE3C,eAAO,MAAM,iBAAiB,UAAW,KAAK,SAAS,aAAa,EAAE,qBASrE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prose-plugin/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAa,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAmB,aAAa,EAAE,MAAM,SAAS,CAAC;AAEzD,OAAO,EAAgB,YAAY,EAAE,MAAM,UAAU,CAAC;AAGtD,eAAO,MAAM,GAAG,0BAA0B,CAAC;AAE3C,eAAO,MAAM,iBAAiB,UAAW,KAAK,SAAS,aAAa,EAAE,eAAe,OAAO,YAAY,EAAE,MAAM,CAAC,qBAShH,CAAC"}
@@ -4,12 +4,12 @@ import { createProps } from './props';
4
4
  import { createStatus } from './status';
5
5
  import { createView } from './view';
6
6
  export const key = 'MILKDOWN_PLUGIN_SLASH';
7
- export const createSlashPlugin = (utils, items) => {
7
+ export const createSlashPlugin = (utils, items, placeholder) => {
8
8
  const status = createStatus();
9
9
  const actions = items.map(transformAction);
10
10
  return new Plugin({
11
11
  key: new PluginKey(key),
12
- props: createProps(status, utils),
12
+ props: createProps(status, utils, placeholder),
13
13
  view: (view) => createView(status, actions, view, utils),
14
14
  });
15
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prose-plugin/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAiB,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,MAAM,CAAC,MAAM,GAAG,GAAG,uBAAuB,CAAC;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAY,EAAE,KAAsB,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAE3C,OAAO,IAAI,MAAM,CAAC;QACd,GAAG,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC;QACvB,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC;QACjC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC;KAC3D,CAAC,CAAC;AACP,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prose-plugin/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAiB,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,YAAY,EAAgB,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,MAAM,CAAC,MAAM,GAAG,GAAG,uBAAuB,CAAC;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAY,EAAE,KAAsB,EAAE,WAAyC,EAAE,EAAE;IACjH,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAE3C,OAAO,IAAI,MAAM,CAAC;QACd,GAAG,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC;QACvB,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC;QAC9C,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC;KAC3D,CAAC,CAAC;AACP,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { EditorView } from 'prosemirror-view';
2
+ import { Action } from '../item';
3
+ import { Status } from './status';
4
+ export declare const createMouseManager: () => {
5
+ isLock: () => boolean;
6
+ lock: () => void;
7
+ unlock: () => void;
8
+ };
9
+ export declare type MouseManager = ReturnType<typeof createMouseManager>;
10
+ export declare const handleMouseMove: (mouseManager: MouseManager) => () => void;
11
+ export declare const handleMouseEnter: (status: Status, mouseManager: MouseManager) => (e: MouseEvent) => void;
12
+ export declare const handleMouseLeave: () => (e: MouseEvent) => void;
13
+ export declare const handleClick: (status: Status, items: Action[], view: EditorView, dropdownElement: HTMLElement) => (e: Event) => void;
14
+ export declare const handleKeydown: (status: Status, view: EditorView, dropdownElement: HTMLElement, mouseManager: MouseManager) => (e: Event) => void;
15
+ //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/prose-plugin/input.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,eAAO,MAAM,kBAAkB;;;;CAY9B,CAAC;AACF,oBAAY,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEjE,eAAO,MAAM,eAAe,iBAAkB,YAAY,eAEzD,CAAC;AAEF,eAAO,MAAM,gBAAgB,WAAY,MAAM,gBAAgB,YAAY,SAAS,UAAU,SAS7F,CAAC;AAEF,eAAO,MAAM,gBAAgB,YAAa,UAAU,SAInD,CAAC;AAEF,eAAO,MAAM,WAAW,WACX,MAAM,SAAS,MAAM,EAAE,QAAQ,UAAU,mBAAmB,WAAW,SAC5E,KAAK,KAAG,IAuBX,CAAC;AAEN,eAAO,MAAM,aAAa,WACb,MAAM,QAAQ,UAAU,mBAAmB,WAAW,gBAAgB,YAAY,SAAS,KAAK,SA+CxG,CAAC"}
@@ -0,0 +1,101 @@
1
+ /* Copyright 2021, Milkdown by Mirone. */
2
+ import scrollIntoView from 'smooth-scroll-into-view-if-needed';
3
+ export const createMouseManager = () => {
4
+ let mouseLock = false;
5
+ return {
6
+ isLock: () => mouseLock,
7
+ lock: () => {
8
+ mouseLock = true;
9
+ },
10
+ unlock: () => {
11
+ mouseLock = false;
12
+ },
13
+ };
14
+ };
15
+ export const handleMouseMove = (mouseManager) => () => {
16
+ mouseManager.unlock();
17
+ };
18
+ export const handleMouseEnter = (status, mouseManager) => (e) => {
19
+ if (mouseManager.isLock())
20
+ return;
21
+ const active = status.get().activeActions.findIndex((x) => x.$.classList.contains('active'));
22
+ if (active >= 0) {
23
+ status.get().activeActions[active].$.classList.remove('active');
24
+ }
25
+ const { target } = e;
26
+ if (!(target instanceof HTMLElement))
27
+ return;
28
+ target.classList.add('active');
29
+ };
30
+ export const handleMouseLeave = () => (e) => {
31
+ const { target } = e;
32
+ if (!(target instanceof HTMLElement))
33
+ return;
34
+ target.classList.remove('active');
35
+ };
36
+ export const handleClick = (status, items, view, dropdownElement) => (e) => {
37
+ const { target } = e;
38
+ if (!(target instanceof HTMLElement))
39
+ return;
40
+ if (!view)
41
+ return;
42
+ const stop = () => {
43
+ e.stopPropagation();
44
+ e.preventDefault();
45
+ };
46
+ const el = Object.values(items).find(({ $ }) => $.contains(target));
47
+ if (!el) {
48
+ if (status.isEmpty())
49
+ return;
50
+ status.clearStatus();
51
+ dropdownElement.classList.add('hide');
52
+ stop();
53
+ return;
54
+ }
55
+ stop();
56
+ el.command(view.state, view.dispatch, view);
57
+ };
58
+ export const handleKeydown = (status, view, dropdownElement, mouseManager) => (e) => {
59
+ if (!(e instanceof KeyboardEvent))
60
+ return;
61
+ if (!mouseManager.isLock())
62
+ mouseManager.lock();
63
+ const { key } = e;
64
+ if (!status.isSlash())
65
+ return;
66
+ if (!['ArrowDown', 'ArrowUp', 'Enter', 'Escape'].includes(key))
67
+ return;
68
+ const { activeActions } = status.get();
69
+ let active = activeActions.findIndex(({ $ }) => $.classList.contains('active'));
70
+ if (active < 0)
71
+ active = 0;
72
+ const moveActive = (next) => {
73
+ activeActions[active].$.classList.remove('active');
74
+ activeActions[next].$.classList.add('active');
75
+ scrollIntoView(activeActions[next].$, {
76
+ scrollMode: 'if-needed',
77
+ block: 'nearest',
78
+ inline: 'nearest',
79
+ });
80
+ };
81
+ if (key === 'ArrowDown') {
82
+ const next = active === activeActions.length - 1 ? 0 : active + 1;
83
+ moveActive(next);
84
+ return;
85
+ }
86
+ if (key === 'ArrowUp') {
87
+ const next = active === 0 ? activeActions.length - 1 : active - 1;
88
+ moveActive(next);
89
+ return;
90
+ }
91
+ if (key === 'Escape') {
92
+ if (status.isEmpty())
93
+ return;
94
+ status.clearStatus();
95
+ dropdownElement.classList.add('hide');
96
+ return;
97
+ }
98
+ activeActions[active].command(view.state, view.dispatch, view);
99
+ activeActions[active].$.classList.remove('active');
100
+ };
101
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/prose-plugin/input.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { Utils } from '@milkdown/utils';
2
2
  import { EditorState } from 'prosemirror-state';
3
3
  import { DecorationSet, EditorView } from 'prosemirror-view';
4
- import { Status } from './status';
4
+ import { CursorStatus, Status } from './status';
5
5
  export declare type Props = ReturnType<typeof createProps>;
6
- export declare const createProps: (status: Status, utils: Utils) => {
6
+ export declare const createProps: (status: Status, utils: Utils, placeholder: Record<CursorStatus, string>) => {
7
7
  handleKeyDown: (_: EditorView, event: Event) => boolean;
8
8
  decorations: (state: EditorState) => DecorationSet<any> | null | undefined;
9
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../src/prose-plugin/props.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAc,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAgB,MAAM,EAAE,MAAM,UAAU,CAAC;AAEhD,oBAAY,KAAK,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAuBnD,eAAO,MAAM,WAAW,WAAY,MAAM,SAAS,KAAK;uBAK7B,UAAU,SAAS,KAAK;yBAetB,WAAW;CA4CvC,CAAC"}
1
+ {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../src/prose-plugin/props.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAc,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEhD,oBAAY,KAAK,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAuBnD,eAAO,MAAM,WAAW,WAAY,MAAM,SAAS,KAAK,eAAe,OAAO,YAAY,EAAE,MAAM,CAAC;uBAKxE,UAAU,SAAS,KAAK;yBAetB,WAAW;CA4CvC,CAAC"}
@@ -22,7 +22,7 @@ const createSlashStyle = () => css `
22
22
  left: 0.5rem;
23
23
  }
24
24
  `;
25
- export const createProps = (status, utils) => {
25
+ export const createProps = (status, utils, placeholder) => {
26
26
  const emptyStyle = utils.getStyle(createEmptyStyle);
27
27
  const slashStyle = utils.getStyle(createSlashStyle);
28
28
  return {
@@ -60,12 +60,12 @@ export const createProps = (status, utils) => {
60
60
  };
61
61
  if (isEmpty) {
62
62
  status.clearStatus();
63
- const text = 'Type / to use the slash commands...';
63
+ const text = placeholder[CursorStatus.Empty];
64
64
  return createDecoration(text, [emptyStyle, 'empty-node']);
65
65
  }
66
66
  if (isSlash) {
67
67
  status.setSlash();
68
- const text = 'Type to filter...';
68
+ const text = placeholder[CursorStatus.Slash];
69
69
  return createDecoration(text, [emptyStyle, slashStyle, 'empty-node', 'is-slash']);
70
70
  }
71
71
  if (isSearch) {
@@ -1 +1 @@
1
- {"version":3,"file":"props.js","sourceRoot":"","sources":["../../src/prose-plugin/props.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"props.js","sourceRoot":"","sources":["../../src/prose-plugin/props.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Action } from '../item';
2
2
  export declare enum CursorStatus {
3
- Empty = 0,
4
- Slash = 1
3
+ Empty = "empty",
4
+ Slash = "slash"
5
5
  }
6
6
  export declare type StatusCtx = {
7
7
  cursorStatus: CursorStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/prose-plugin/status.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,oBAAY,YAAY;IACpB,KAAK,IAAA;IACL,KAAK,IAAA;CACR;AAED,oBAAY,SAAS,GAAG;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAoBF,oBAAY,MAAM,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAErD,eAAO,MAAM,YAAY;;;0BAKK,MAAM,EAAE;;;;CAOrC,CAAC"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/prose-plugin/status.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,oBAAY,YAAY;IACpB,KAAK,UAAU;IACf,KAAK,UAAU;CAClB;AAED,oBAAY,SAAS,GAAG;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAoBF,oBAAY,MAAM,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AAErD,eAAO,MAAM,YAAY;;;0BAKK,MAAM,EAAE;;;;CAOrC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  export var CursorStatus;
2
2
  (function (CursorStatus) {
3
- CursorStatus[CursorStatus["Empty"] = 0] = "Empty";
4
- CursorStatus[CursorStatus["Slash"] = 1] = "Slash";
3
+ CursorStatus["Empty"] = "empty";
4
+ CursorStatus["Slash"] = "slash";
5
5
  })(CursorStatus || (CursorStatus = {}));
6
6
  const createStatusCtx = () => {
7
7
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/prose-plugin/status.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACpB,iDAAK,CAAA;IACL,iDAAK,CAAA;AACT,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAQD,MAAM,eAAe,GAAG,GAAc,EAAE;IACpC,OAAO;QACH,YAAY,EAAE,YAAY,CAAC,KAAK;QAChC,MAAM,EAAE,EAAE;QACV,aAAa,EAAE,EAAE;KACpB,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,MAAiB,EAAE,EAAE;IACtC,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC;IACzC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,MAAiB,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE;IAChD,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC;IACzC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;AAC3B,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC7B,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,OAAO;QACH,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;QACzC,QAAQ,EAAE,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QACtD,UAAU,EAAE,CAAC,OAAiB,EAAE,EAAE;YAC9B,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC;QACtC,CAAC;QACD,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;QACpB,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,YAAY,KAAK,YAAY,CAAC,KAAK;QAC5D,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,YAAY,KAAK,YAAY,CAAC,KAAK;KAC/D,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/prose-plugin/status.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACpB,+BAAe,CAAA;IACf,+BAAe,CAAA;AACnB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAQD,MAAM,eAAe,GAAG,GAAc,EAAE;IACpC,OAAO;QACH,YAAY,EAAE,YAAY,CAAC,KAAK;QAChC,MAAM,EAAE,EAAE;QACV,aAAa,EAAE,EAAE;KACpB,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,MAAiB,EAAE,EAAE;IACtC,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC;IACzC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,MAAiB,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE;IAChD,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC;IACzC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;AAC3B,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC7B,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,OAAO;QACH,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;QACzC,QAAQ,EAAE,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QACtD,UAAU,EAAE,CAAC,OAAiB,EAAE,EAAE;YAC9B,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC;QACtC,CAAC;QACD,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;QACpB,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,YAAY,KAAK,YAAY,CAAC,KAAK;QAC5D,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,YAAY,KAAK,YAAY,CAAC,KAAK;KAC/D,CAAC;AACN,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../src/prose-plugin/view.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AA+KlC,eAAO,MAAM,UAAU,WAAY,MAAM,SAAS,MAAM,EAAE,QAAQ,UAAU,SAAS,KAAK;;;;mBA0BnE,UAAU;;CAehC,CAAC"}
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../src/prose-plugin/view.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAWjC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAkBlC,eAAO,MAAM,UAAU,WAAY,MAAM,SAAS,MAAM,EAAE,QAAQ,UAAU,SAAS,KAAK;;;;mBA0BnE,UAAU;;CAehC,CAAC"}
@@ -1,141 +1,8 @@
1
1
  /* Copyright 2021, Milkdown by Mirone. */
2
2
  import { calculateNodePosition } from '@milkdown/utils';
3
- import scrollIntoView from 'smooth-scroll-into-view-if-needed';
4
3
  import { createDropdown } from '../utility';
5
- const createMouseManager = () => {
6
- let mouseLock = false;
7
- return {
8
- isLock: () => mouseLock,
9
- lock: () => {
10
- mouseLock = true;
11
- },
12
- unlock: () => {
13
- mouseLock = false;
14
- },
15
- };
16
- };
17
- const handleClick = (status, items, view, dropdownElement) => (e) => {
18
- const { target } = e;
19
- if (!(target instanceof HTMLElement))
20
- return;
21
- if (!view)
22
- return;
23
- const stop = () => {
24
- e.stopPropagation();
25
- e.preventDefault();
26
- };
27
- const el = Object.values(items).find(({ $ }) => $.contains(target));
28
- if (!el) {
29
- if (status.isEmpty())
30
- return;
31
- status.clearStatus();
32
- dropdownElement.classList.add('hide');
33
- stop();
34
- return;
35
- }
36
- stop();
37
- el.command(view.state, view.dispatch, view);
38
- };
39
- const handleKeydown = (status, view, dropdownElement, mouseManager) => (e) => {
40
- if (!(e instanceof KeyboardEvent))
41
- return;
42
- if (!mouseManager.isLock())
43
- mouseManager.lock();
44
- const { key } = e;
45
- if (!status.isSlash())
46
- return;
47
- if (!['ArrowDown', 'ArrowUp', 'Enter', 'Escape'].includes(key))
48
- return;
49
- const { activeActions } = status.get();
50
- let active = activeActions.findIndex(({ $ }) => $.classList.contains('active'));
51
- if (active < 0)
52
- active = 0;
53
- const moveActive = (next) => {
54
- activeActions[active].$.classList.remove('active');
55
- activeActions[next].$.classList.add('active');
56
- scrollIntoView(activeActions[next].$, {
57
- scrollMode: 'if-needed',
58
- block: 'nearest',
59
- inline: 'nearest',
60
- });
61
- };
62
- if (key === 'ArrowDown') {
63
- const next = active === activeActions.length - 1 ? 0 : active + 1;
64
- moveActive(next);
65
- return;
66
- }
67
- if (key === 'ArrowUp') {
68
- const next = active === 0 ? activeActions.length - 1 : active - 1;
69
- moveActive(next);
70
- return;
71
- }
72
- if (key === 'Escape') {
73
- if (status.isEmpty())
74
- return;
75
- status.clearStatus();
76
- dropdownElement.classList.add('hide');
77
- return;
78
- }
79
- activeActions[active].command(view.state, view.dispatch, view);
80
- activeActions[active].$.classList.remove('active');
81
- };
82
- const handleMouseMove = (mouseManager) => () => {
83
- mouseManager.unlock();
84
- };
85
- const handleMouseEnter = (status, mouseManager) => (e) => {
86
- if (mouseManager.isLock())
87
- return;
88
- const active = status.get().activeActions.findIndex((x) => x.$.classList.contains('active'));
89
- if (active >= 0) {
90
- status.get().activeActions[active].$.classList.remove('active');
91
- }
92
- const { target } = e;
93
- if (!(target instanceof HTMLElement))
94
- return;
95
- target.classList.add('active');
96
- };
97
- const handleMouseLeave = () => (e) => {
98
- const { target } = e;
99
- if (!(target instanceof HTMLElement))
100
- return;
101
- target.classList.remove('active');
102
- };
103
- const renderDropdown = (status, dropdownElement, items) => {
104
- const { filter } = status.get();
105
- if (!status.isSlash()) {
106
- dropdownElement.classList.add('hide');
107
- return false;
108
- }
109
- const activeList = items
110
- .filter((item) => {
111
- item.$.classList.remove('active');
112
- const result = item.keyword.some((key) => key.includes(filter.toLocaleLowerCase()));
113
- if (result) {
114
- return true;
115
- }
116
- item.$.classList.add('hide');
117
- return false;
118
- })
119
- .map((item) => {
120
- item.$.classList.remove('hide');
121
- return item;
122
- });
123
- status.setActions(activeList);
124
- if (activeList.length === 0) {
125
- dropdownElement.classList.add('hide');
126
- return false;
127
- }
128
- dropdownElement.classList.remove('hide');
129
- activeList[0].$.classList.add('active');
130
- requestAnimationFrame(() => {
131
- scrollIntoView(activeList[0].$, {
132
- scrollMode: 'if-needed',
133
- block: 'nearest',
134
- inline: 'nearest',
135
- });
136
- });
137
- return true;
138
- };
4
+ import { renderDropdown } from './dropdown';
5
+ import { createMouseManager, handleClick, handleKeydown, handleMouseEnter, handleMouseLeave, handleMouseMove, } from './input';
139
6
  const calculatePosition = (view, dropdownElement) => {
140
7
  calculateNodePosition(view, dropdownElement, (selected, target, parent) => {
141
8
  let left = selected.left - parent.left;
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/prose-plugin/view.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,qBAAqB,EAAS,MAAM,iBAAiB,CAAC;AAE/D,OAAO,cAAc,MAAM,mCAAmC,CAAC;AAG/D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C,MAAM,kBAAkB,GAAG,GAAG,EAAE;IAC5B,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,OAAO;QACH,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS;QACvB,IAAI,EAAE,GAAG,EAAE;YACP,SAAS,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,MAAM,EAAE,GAAG,EAAE;YACT,SAAS,GAAG,KAAK,CAAC;QACtB,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AAGF,MAAM,WAAW,GACb,CAAC,MAAc,EAAE,KAAe,EAAE,IAAgB,EAAE,eAA4B,EAAE,EAAE,CACpF,CAAC,CAAQ,EAAQ,EAAE;IACf,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACrB,IAAI,CAAC,CAAC,MAAM,YAAY,WAAW,CAAC;QAAE,OAAO;IAC7C,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,MAAM,IAAI,GAAG,GAAG,EAAE;QACd,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,IAAI,CAAC,EAAE,EAAE;QACL,IAAI,MAAM,CAAC,OAAO,EAAE;YAAE,OAAO;QAE7B,MAAM,CAAC,WAAW,EAAE,CAAC;QACrB,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,EAAE,CAAC;QAEP,OAAO;KACV;IAED,IAAI,EAAE,CAAC;IACP,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAChD,CAAC,CAAC;AAEN,MAAM,aAAa,GACf,CAAC,MAAc,EAAE,IAAgB,EAAE,eAA4B,EAAE,YAA0B,EAAE,EAAE,CAAC,CAAC,CAAQ,EAAE,EAAE;IACzG,IAAI,CAAC,CAAC,CAAC,YAAY,aAAa,CAAC;QAAE,OAAO;IAC1C,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;QAAE,YAAY,CAAC,IAAI,EAAE,CAAC;IAEhD,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAClB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;QAAE,OAAO;IAC9B,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO;IAEvE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;IAEvC,IAAI,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChF,IAAI,MAAM,GAAG,CAAC;QAAE,MAAM,GAAG,CAAC,CAAC;IAE3B,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;QAChC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAClC,UAAU,EAAE,WAAW;YACvB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,SAAS;SACpB,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,IAAI,GAAG,KAAK,WAAW,EAAE;QACrB,MAAM,IAAI,GAAG,MAAM,KAAK,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAElE,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO;KACV;IAED,IAAI,GAAG,KAAK,SAAS,EAAE;QACnB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAElE,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO;KACV;IAED,IAAI,GAAG,KAAK,QAAQ,EAAE;QAClB,IAAI,MAAM,CAAC,OAAO,EAAE;YAAE,OAAO;QAE7B,MAAM,CAAC,WAAW,EAAE,CAAC;QACrB,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO;KACV;IAED,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/D,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACvD,CAAC,CAAC;AAEN,MAAM,eAAe,GAAG,CAAC,YAA0B,EAAE,EAAE,CAAC,GAAG,EAAE;IACzD,YAAY,CAAC,MAAM,EAAE,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,YAA0B,EAAE,EAAE,CAAC,CAAC,CAAa,EAAE,EAAE;IACvF,IAAI,YAAY,CAAC,MAAM,EAAE;QAAE,OAAO;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7F,IAAI,MAAM,IAAI,CAAC,EAAE;QACb,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;KACnE;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACrB,IAAI,CAAC,CAAC,MAAM,YAAY,WAAW,CAAC;QAAE,OAAO;IAC7C,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,CAAC,CAAa,EAAE,EAAE;IAC7C,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACrB,IAAI,CAAC,CAAC,MAAM,YAAY,WAAW,CAAC;QAAE,OAAO;IAC7C,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,eAA4B,EAAE,KAAe,EAAW,EAAE;IAC9F,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;IAEhC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE;QACnB,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,UAAU,GAAG,KAAK;SACnB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACb,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACpF,IAAI,MAAM,EAAE;YACR,OAAO,IAAI,CAAC;SACf;QACD,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACV,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IAEP,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAE9B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC;KAChB;IAED,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxC,qBAAqB,CAAC,GAAG,EAAE;QACvB,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC5B,UAAU,EAAE,WAAW;YACvB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,SAAS;SACpB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,IAAgB,EAAE,eAA4B,EAAE,EAAE;IACzE,qBAAqB,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;QACtE,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACvC,IAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC;QAE5C,IAAI,IAAI,GAAG,CAAC,EAAE;YACV,IAAI,GAAG,CAAC,CAAC;SACZ;QAED,IAAI,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE;YACtD,GAAG,GAAG,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;SACxD;QACD,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,KAAe,EAAE,IAAgB,EAAE,KAAY,EAAE,EAAE;IAC1F,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;IACpC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAExB,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;IAC1C,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IAErC,MAAM,UAAU,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAC;IAEvC,KAAK;SACA,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAChD,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;QACf,CAAC,CAAC,gBAAgB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,gBAAgB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC9C,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IACP,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAClD,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAClD,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAE9C,OAAO;QACH,MAAM,EAAE,CAAC,IAAgB,EAAE,EAAE;YACzB,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;YAE5D,IAAI,CAAC,IAAI;gBAAE,OAAO;YAElB,iBAAiB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,EAAE,GAAG,EAAE;YACV,OAAO,CAAC,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACrD,OAAO,CAAC,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACrD,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACjD,eAAe,CAAC,MAAM,EAAE,CAAC;QAC7B,CAAC;KACJ,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/prose-plugin/view.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milkdown/plugin-slash",
3
- "version": "4.11.0",
3
+ "version": "4.13.0",
4
4
  "main": "lib/index.js",
5
5
  "module": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -19,7 +19,7 @@
19
19
  },
20
20
  "dependencies": {
21
21
  "@emotion/css": "^11.1.3",
22
- "@milkdown/utils": "4.11.0",
22
+ "@milkdown/utils": "4.13.0",
23
23
  "smooth-scroll-into-view-if-needed": "^1.1.32",
24
24
  "tslib": "^2.2.0"
25
25
  },