@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 +50 -7
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js +11 -0
- package/lib/config.js.map +1 -1
- package/lib/index.d.ts +11 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +7 -3
- package/lib/index.js.map +1 -1
- package/lib/item.d.ts +2 -1
- package/lib/item.d.ts.map +1 -1
- package/lib/item.js +1 -0
- package/lib/item.js.map +1 -1
- package/lib/prose-plugin/dropdown.d.ts +4 -0
- package/lib/prose-plugin/dropdown.d.ts.map +1 -0
- package/lib/prose-plugin/dropdown.js +39 -0
- package/lib/prose-plugin/dropdown.js.map +1 -0
- package/lib/prose-plugin/index.d.ts +2 -1
- package/lib/prose-plugin/index.d.ts.map +1 -1
- package/lib/prose-plugin/index.js +2 -2
- package/lib/prose-plugin/index.js.map +1 -1
- package/lib/prose-plugin/input.d.ts +15 -0
- package/lib/prose-plugin/input.d.ts.map +1 -0
- package/lib/prose-plugin/input.js +101 -0
- package/lib/prose-plugin/input.js.map +1 -0
- package/lib/prose-plugin/props.d.ts +2 -2
- package/lib/prose-plugin/props.d.ts.map +1 -1
- package/lib/prose-plugin/props.js +3 -3
- package/lib/prose-plugin/props.js.map +1 -1
- package/lib/prose-plugin/status.d.ts +2 -2
- package/lib/prose-plugin/status.d.ts.map +1 -1
- package/lib/prose-plugin/status.js +2 -2
- package/lib/prose-plugin/status.js.map +1 -1
- package/lib/prose-plugin/view.d.ts.map +1 -1
- package/lib/prose-plugin/view.js +2 -135
- package/lib/prose-plugin/view.js.map +1 -1
- package/package.json +2 -2
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
|
-
|
|
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
|
```
|
package/lib/config.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
|
8
|
+
export declare type Options = {
|
|
6
9
|
config: SlashConfig;
|
|
7
|
-
|
|
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
|
package/lib/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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;
|
|
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;
|
|
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
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;
|
|
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 @@
|
|
|
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;
|
|
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,
|
|
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,
|
|
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 =
|
|
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 =
|
|
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":"AAAA,yCAAyC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAS,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAc,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAU,MAAM,UAAU,CAAC;AAIhD,MAAM,gBAAgB,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAa,EAAE,EAAE,CAAC,GAAG,CAAA;;;;;uBAKvC,IAAI,CAAC,UAAU;;iBAErB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;;;;;;CAMvC,CAAC;AAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;;;;CAIjC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,KAAY,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"props.js","sourceRoot":"","sources":["../../src/prose-plugin/props.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,
|
|
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[
|
|
4
|
-
CursorStatus[
|
|
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,
|
|
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;
|
|
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"}
|
package/lib/prose-plugin/view.js
CHANGED
|
@@ -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
|
-
|
|
6
|
-
|
|
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;
|
|
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.
|
|
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.
|
|
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
|
},
|