@milkdown/crepe 7.5.0 → 7.5.1
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/lib/cjs/{index--tnUmqZ_.js → index--2zEz40J.js} +8 -23
- package/lib/cjs/{index--tnUmqZ_.js.map → index--2zEz40J.js.map} +1 -1
- package/lib/cjs/{index-92bwto5V.js → index-5n9R-QCl.js} +5 -20
- package/lib/cjs/{index-92bwto5V.js.map → index-5n9R-QCl.js.map} +1 -1
- package/lib/cjs/{index-HH5lPgpj.js → index-HEdBw63r.js} +8 -23
- package/lib/cjs/{index-HH5lPgpj.js.map → index-HEdBw63r.js.map} +1 -1
- package/lib/cjs/{index-J1-yHn7v.js → index-Hlt9dRH5.js} +5 -20
- package/lib/cjs/{index-J1-yHn7v.js.map → index-Hlt9dRH5.js.map} +1 -1
- package/lib/cjs/{index-cb-5m0vG.js → index-KCW2CzRk.js} +8 -23
- package/lib/cjs/index-KCW2CzRk.js.map +1 -0
- package/lib/cjs/{index-VYwHTL3F.js → index-KSZhahYb.js} +6 -21
- package/lib/cjs/{index-VYwHTL3F.js.map → index-KSZhahYb.js.map} +1 -1
- package/lib/cjs/index-N1cRxqdw.js +39 -0
- package/lib/cjs/index-N1cRxqdw.js.map +1 -0
- package/lib/cjs/{index-c_OzudR7.js → index-NNo_VSEA.js} +5 -20
- package/lib/{esm/index-DS7Z4Ach.js.map → cjs/index-NNo_VSEA.js.map} +1 -1
- package/lib/cjs/{index-Tjg8KyK7.js → index-O1bDbloo.js} +5 -20
- package/lib/{esm/index-eqd5wtjX.js.map → cjs/index-O1bDbloo.js.map} +1 -1
- package/lib/cjs/{index-55VIM-52.js → index-OPh9naof.js} +8 -23
- package/lib/cjs/{index-55VIM-52.js.map → index-OPh9naof.js.map} +1 -1
- package/lib/cjs/{index-E4Ist86Z.js → index-PAhfZtcH.js} +5 -20
- package/lib/cjs/{index-E4Ist86Z.js.map → index-PAhfZtcH.js.map} +1 -1
- package/lib/cjs/{index-vfzLCXfi.js → index-PeRHVz4A.js} +5 -20
- package/lib/{esm/index-3bDzhU6z.js.map → cjs/index-PeRHVz4A.js.map} +1 -1
- package/lib/cjs/{index-Jztk6JlP.js → index-U7GWrg-w.js} +9 -456
- package/lib/cjs/index-U7GWrg-w.js.map +1 -0
- package/lib/cjs/{index-zXSAHvAj.js → index-UTb0Az5e.js} +2 -2
- package/lib/cjs/{index-zXSAHvAj.js.map → index-UTb0Az5e.js.map} +1 -1
- package/lib/cjs/{index-lBumFRUQ.js → index-UnEAyH8X.js} +5 -20
- package/lib/cjs/{index-lBumFRUQ.js.map → index-UnEAyH8X.js.map} +1 -1
- package/lib/cjs/{index-1vHyMXH8.js → index-VCkq0ru1.js} +5 -20
- package/lib/{esm/index-g_3dzLYU.js.map → cjs/index-VCkq0ru1.js.map} +1 -1
- package/lib/cjs/{index-FbNqlZU8.js → index-WQl7Du53.js} +4 -19
- package/lib/cjs/index-WQl7Du53.js.map +1 -0
- package/lib/cjs/{index-nTfDKYYi.js → index-ahL5MvrQ.js} +28 -43
- package/lib/cjs/{index-nTfDKYYi.js.map → index-ahL5MvrQ.js.map} +1 -1
- package/lib/cjs/{index--sa4NMpW.js → index-bpgWLeRY.js} +5 -20
- package/lib/cjs/{index--sa4NMpW.js.map → index-bpgWLeRY.js.map} +1 -1
- package/lib/cjs/index-dEVmN_aj.js +26 -0
- package/lib/cjs/index-dEVmN_aj.js.map +1 -0
- package/lib/cjs/{index-von4W2LG.js → index-fZupvR_f.js} +8 -23
- package/lib/{esm/index-NZ5-xr5_.js.map → cjs/index-fZupvR_f.js.map} +1 -1
- package/lib/cjs/{index-mcxgNBq9.js → index-gSM-jgti.js} +5 -20
- package/lib/cjs/{index-mcxgNBq9.js.map → index-gSM-jgti.js.map} +1 -1
- package/lib/cjs/{index-lUNj3xuC.js → index-jlPr_A_N.js} +5 -20
- package/lib/cjs/{index-lUNj3xuC.js.map → index-jlPr_A_N.js.map} +1 -1
- package/lib/cjs/index-ocxd4A-M.js +675 -0
- package/lib/cjs/index-ocxd4A-M.js.map +1 -0
- package/lib/cjs/{index-J3XY9IPt.js → index-rFFAL9YA.js} +9 -17
- package/lib/cjs/{index-J3XY9IPt.js.map → index-rFFAL9YA.js.map} +1 -1
- package/lib/cjs/index-tlx25I_m.js +36 -0
- package/lib/cjs/index-tlx25I_m.js.map +1 -0
- package/lib/cjs/index-tqAbVyds.js +28 -0
- package/lib/cjs/index-tqAbVyds.js.map +1 -0
- package/lib/cjs/{index-cpC-j5Nt.js → index-udZSknd8.js} +30 -39
- package/lib/cjs/{index-cpC-j5Nt.js.map → index-udZSknd8.js.map} +1 -1
- package/lib/cjs/index-uleaJDBC.js +19 -0
- package/lib/cjs/index-uleaJDBC.js.map +1 -0
- package/lib/cjs/{index-jn036wuh.js → index-urB-WDqA.js} +7 -22
- package/lib/{esm/index-VoX_n1l_.js.map → cjs/index-urB-WDqA.js.map} +1 -1
- package/lib/cjs/{index-jlfsu92T.js → index-xWgWtxUR.js} +6 -21
- package/lib/cjs/{index-jlfsu92T.js.map → index-xWgWtxUR.js.map} +1 -1
- package/lib/cjs/index.js +150 -14
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/{todoList-Ze4FLMlx.js → todoList-YYRQo7wG.js} +1 -12
- package/lib/cjs/todoList-YYRQo7wG.js.map +1 -0
- package/lib/esm/{index-Yuj7sNhQ.js → index-1NetiFdJ.js} +8 -23
- package/lib/esm/{index-Yuj7sNhQ.js.map → index-1NetiFdJ.js.map} +1 -1
- package/lib/esm/{index-6GrVnloh.js → index-2I_xbjAZ.js} +28 -43
- package/lib/esm/{index-6GrVnloh.js.map → index-2I_xbjAZ.js.map} +1 -1
- package/lib/esm/{index-bexsWrgs.js → index-2huXYfuJ.js} +8 -23
- package/lib/esm/{index-bexsWrgs.js.map → index-2huXYfuJ.js.map} +1 -1
- package/lib/esm/{index-zrQXXSXm.js → index-4x6_TVZv.js} +5 -20
- package/lib/esm/{index-zrQXXSXm.js.map → index-4x6_TVZv.js.map} +1 -1
- package/lib/esm/index-6JoGWH2I.js +17 -0
- package/lib/esm/index-6JoGWH2I.js.map +1 -0
- package/lib/esm/{index-OpUb5xP6.js → index-A-dNwMMf.js} +2 -2
- package/lib/esm/{index-OpUb5xP6.js.map → index-A-dNwMMf.js.map} +1 -1
- package/lib/esm/{index-SDPCpsD5.js → index-AV99ipmP.js} +5 -20
- package/lib/esm/{index-SDPCpsD5.js.map → index-AV99ipmP.js.map} +1 -1
- package/lib/esm/{index-MB6wQe1U.js → index-CMGDOz11.js} +5 -13
- package/lib/esm/{index-MB6wQe1U.js.map → index-CMGDOz11.js.map} +1 -1
- package/lib/esm/index-HlPKwzLC.js +34 -0
- package/lib/esm/index-HlPKwzLC.js.map +1 -0
- package/lib/esm/{index-MxgqkRtj.js → index-PC2bahtq.js} +5 -20
- package/lib/esm/{index-MxgqkRtj.js.map → index-PC2bahtq.js.map} +1 -1
- package/lib/esm/{index-eqd5wtjX.js → index-QBYz82jZ.js} +5 -20
- package/lib/{cjs/index-Tjg8KyK7.js.map → esm/index-QBYz82jZ.js.map} +1 -1
- package/lib/esm/{index-VP76m4nW.js → index-W1pAMr_8.js} +6 -21
- package/lib/esm/{index-VP76m4nW.js.map → index-W1pAMr_8.js.map} +1 -1
- package/lib/esm/{index-i79QMXpJ.js → index-Xzdc2jbA.js} +7 -454
- package/lib/esm/index-Xzdc2jbA.js.map +1 -0
- package/lib/esm/{index-_4fWmRbN.js → index-ZAtZWqJQ.js} +5 -20
- package/lib/esm/{index-_4fWmRbN.js.map → index-ZAtZWqJQ.js.map} +1 -1
- package/lib/esm/index-_A9vu1ED.js +673 -0
- package/lib/esm/index-_A9vu1ED.js.map +1 -0
- package/lib/esm/{index-x8SyiPMC.js → index-bnSKBrbD.js} +5 -20
- package/lib/esm/{index-x8SyiPMC.js.map → index-bnSKBrbD.js.map} +1 -1
- package/lib/esm/index-fVrfHXda.js +24 -0
- package/lib/esm/index-fVrfHXda.js.map +1 -0
- package/lib/esm/{index-Vl0W0S3h.js → index-ftnOhuRS.js} +4 -19
- package/lib/esm/index-ftnOhuRS.js.map +1 -0
- package/lib/esm/{index-1l-61HI-.js → index-iQPB0Rdl.js} +6 -21
- package/lib/esm/{index-1l-61HI-.js.map → index-iQPB0Rdl.js.map} +1 -1
- package/lib/esm/{index-grT-Kuf2.js → index-kPj3-TKp.js} +5 -20
- package/lib/esm/{index-grT-Kuf2.js.map → index-kPj3-TKp.js.map} +1 -1
- package/lib/esm/{index-NZ5-xr5_.js → index-kgOR7SZ6.js} +8 -23
- package/lib/{cjs/index-von4W2LG.js.map → esm/index-kgOR7SZ6.js.map} +1 -1
- package/lib/esm/{index-A83StUe6.js → index-lm00PM0y.js} +8 -17
- package/lib/esm/{index-A83StUe6.js.map → index-lm00PM0y.js.map} +1 -1
- package/lib/esm/{index-g_3dzLYU.js → index-m49Bj3q7.js} +5 -20
- package/lib/{cjs/index-1vHyMXH8.js.map → esm/index-m49Bj3q7.js.map} +1 -1
- package/lib/esm/index-ohmbt6Ys.js +37 -0
- package/lib/esm/index-ohmbt6Ys.js.map +1 -0
- package/lib/esm/{index-rvOBAXap.js → index-sWVjGw-3.js} +8 -23
- package/lib/esm/index-sWVjGw-3.js.map +1 -0
- package/lib/esm/{index-DS7Z4Ach.js → index-twh8lL5o.js} +5 -20
- package/lib/{cjs/index-c_OzudR7.js.map → esm/index-twh8lL5o.js.map} +1 -1
- package/lib/esm/{index-3bDzhU6z.js → index-v02MCz4_.js} +5 -20
- package/lib/{cjs/index-vfzLCXfi.js.map → esm/index-v02MCz4_.js.map} +1 -1
- package/lib/esm/index-v3rvbocl.js +26 -0
- package/lib/esm/index-v3rvbocl.js.map +1 -0
- package/lib/esm/{index-XH7OnwZl.js → index-wEXT8mbN.js} +5 -20
- package/lib/esm/{index-XH7OnwZl.js.map → index-wEXT8mbN.js.map} +1 -1
- package/lib/esm/{index-VoX_n1l_.js → index-wFIac5Kw.js} +7 -22
- package/lib/{cjs/index-jn036wuh.js.map → esm/index-wFIac5Kw.js.map} +1 -1
- package/lib/esm/{index-3HeWs5rX.js → index-wg94ewRo.js} +8 -23
- package/lib/esm/{index-3HeWs5rX.js.map → index-wg94ewRo.js.map} +1 -1
- package/lib/esm/index.js +152 -12
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/{todoList-M-PGJKde.js → todoList-9QsDDcmB.js} +2 -12
- package/lib/esm/todoList-9QsDDcmB.js.map +1 -0
- package/package.json +1 -1
- package/lib/cjs/_view-N32ied53.js +0 -27
- package/lib/cjs/_view-N32ied53.js.map +0 -1
- package/lib/cjs/floating-ui.dom-2cjBpir5.js +0 -1134
- package/lib/cjs/floating-ui.dom-2cjBpir5.js.map +0 -1
- package/lib/cjs/helper-1aludV1Z.js +0 -15
- package/lib/cjs/helper-1aludV1Z.js.map +0 -1
- package/lib/cjs/index-28q261C7.js +0 -448
- package/lib/cjs/index-28q261C7.js.map +0 -1
- package/lib/cjs/index-Buu2tD9O.js +0 -534
- package/lib/cjs/index-Buu2tD9O.js.map +0 -1
- package/lib/cjs/index-FbNqlZU8.js.map +0 -1
- package/lib/cjs/index-Jztk6JlP.js.map +0 -1
- package/lib/cjs/index-N6pPZY61.js +0 -191
- package/lib/cjs/index-N6pPZY61.js.map +0 -1
- package/lib/cjs/index-TUJs6KKL.js +0 -472
- package/lib/cjs/index-TUJs6KKL.js.map +0 -1
- package/lib/cjs/index-_GOdKqUK.js +0 -1147
- package/lib/cjs/index-_GOdKqUK.js.map +0 -1
- package/lib/cjs/index-cKQcw-eu.js +0 -386
- package/lib/cjs/index-cKQcw-eu.js.map +0 -1
- package/lib/cjs/index-cb-5m0vG.js.map +0 -1
- package/lib/cjs/index-crv_k6dv.js +0 -1353
- package/lib/cjs/index-crv_k6dv.js.map +0 -1
- package/lib/cjs/index-kqz-P6o6.js +0 -55
- package/lib/cjs/index-kqz-P6o6.js.map +0 -1
- package/lib/cjs/index-tBw4NmwY.js +0 -33852
- package/lib/cjs/index-tBw4NmwY.js.map +0 -1
- package/lib/cjs/schema-RVrwDDcq.js +0 -74
- package/lib/cjs/schema-RVrwDDcq.js.map +0 -1
- package/lib/cjs/todoList-Ze4FLMlx.js.map +0 -1
- package/lib/cjs/tooltip-plugin--lhebztC.js +0 -191
- package/lib/cjs/tooltip-plugin--lhebztC.js.map +0 -1
- package/lib/esm/_view-IlZC8FA6.js +0 -25
- package/lib/esm/_view-IlZC8FA6.js.map +0 -1
- package/lib/esm/floating-ui.dom-CAYjY8Gv.js +0 -1130
- package/lib/esm/floating-ui.dom-CAYjY8Gv.js.map +0 -1
- package/lib/esm/helper-wZAtC67x.js +0 -13
- package/lib/esm/helper-wZAtC67x.js.map +0 -1
- package/lib/esm/index-0-j8Icms.js +0 -384
- package/lib/esm/index-0-j8Icms.js.map +0 -1
- package/lib/esm/index-8QJbxTYk.js +0 -1145
- package/lib/esm/index-8QJbxTYk.js.map +0 -1
- package/lib/esm/index-9w_hdnvb.js +0 -532
- package/lib/esm/index-9w_hdnvb.js.map +0 -1
- package/lib/esm/index-AOoFzBaK.js +0 -53
- package/lib/esm/index-AOoFzBaK.js.map +0 -1
- package/lib/esm/index-LAdX6LsO.js +0 -33805
- package/lib/esm/index-LAdX6LsO.js.map +0 -1
- package/lib/esm/index-Vl0W0S3h.js.map +0 -1
- package/lib/esm/index-chrnjY1D.js +0 -470
- package/lib/esm/index-chrnjY1D.js.map +0 -1
- package/lib/esm/index-hF04phbf.js +0 -189
- package/lib/esm/index-hF04phbf.js.map +0 -1
- package/lib/esm/index-i79QMXpJ.js.map +0 -1
- package/lib/esm/index-rvOBAXap.js.map +0 -1
- package/lib/esm/index-uP9BKsTM.js +0 -446
- package/lib/esm/index-uP9BKsTM.js.map +0 -1
- package/lib/esm/index-ueQQMSgm.js +0 -1351
- package/lib/esm/index-ueQQMSgm.js.map +0 -1
- package/lib/esm/schema-JWJqD9qa.js +0 -71
- package/lib/esm/schema-JWJqD9qa.js.map +0 -1
- package/lib/esm/todoList-M-PGJKde.js.map +0 -1
- package/lib/esm/tooltip-plugin-iw2EQWIG.js +0 -185
- package/lib/esm/tooltip-plugin-iw2EQWIG.js.map +0 -1
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
import { html } from 'atomico';
|
|
2
|
-
import { w as withMeta } from './todoList-M-PGJKde.js';
|
|
3
|
-
import { $ as $ctx, d as $prose } from './index-LAdX6LsO.js';
|
|
4
|
-
import { TextSelection, Plugin, PluginKey } from '@milkdown/prose/state';
|
|
5
|
-
import { d as debounce } from './index-0-j8Icms.js';
|
|
6
|
-
import { c as computePosition, f as flip, o as offset } from './floating-ui.dom-CAYjY8Gv.js';
|
|
7
|
-
import { posToDOMRect } from '@milkdown/prose';
|
|
8
|
-
|
|
9
|
-
const defaultState = {
|
|
10
|
-
mode: "preview"
|
|
11
|
-
};
|
|
12
|
-
const linkTooltipState = $ctx({ ...defaultState }, "linkTooltipStateCtx");
|
|
13
|
-
withMeta(linkTooltipState, {
|
|
14
|
-
displayName: "State<link-tooltip>",
|
|
15
|
-
group: "LinkTooltip"
|
|
16
|
-
});
|
|
17
|
-
const defaultAPI = {
|
|
18
|
-
addLink: () => {
|
|
19
|
-
},
|
|
20
|
-
editLink: () => {
|
|
21
|
-
},
|
|
22
|
-
removeLink: () => {
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
const linkTooltipAPI = $ctx({ ...defaultAPI }, "linkTooltipAPICtx");
|
|
26
|
-
withMeta(linkTooltipState, {
|
|
27
|
-
displayName: "API<link-tooltip>",
|
|
28
|
-
group: "LinkTooltip"
|
|
29
|
-
});
|
|
30
|
-
const defaultConfig = {
|
|
31
|
-
linkIcon: () => "\u{1F517}",
|
|
32
|
-
editButton: () => "\u270E",
|
|
33
|
-
removeButton: () => "\u232B",
|
|
34
|
-
confirmButton: () => html`Confirm ⏎`,
|
|
35
|
-
onCopyLink: () => {
|
|
36
|
-
},
|
|
37
|
-
inputPlaceholder: "Paste link..."
|
|
38
|
-
};
|
|
39
|
-
const linkTooltipConfig = $ctx({
|
|
40
|
-
...defaultConfig
|
|
41
|
-
}, "linkTooltipConfigCtx");
|
|
42
|
-
withMeta(linkTooltipState, {
|
|
43
|
-
displayName: "Config<link-tooltip>",
|
|
44
|
-
group: "LinkTooltip"
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
var __typeError = (msg) => {
|
|
48
|
-
throw TypeError(msg);
|
|
49
|
-
};
|
|
50
|
-
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
51
|
-
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
52
|
-
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
53
|
-
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
54
|
-
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
55
|
-
var _debounce, _shouldShow, _initialized, _offset, _onUpdate, _TooltipProvider_instances, _shouldShow_fn;
|
|
56
|
-
class TooltipProvider {
|
|
57
|
-
constructor(options) {
|
|
58
|
-
__privateAdd(this, _TooltipProvider_instances);
|
|
59
|
-
/// @internal
|
|
60
|
-
__privateAdd(this, _debounce);
|
|
61
|
-
/// @internal
|
|
62
|
-
__privateAdd(this, _shouldShow);
|
|
63
|
-
/// @internal
|
|
64
|
-
__privateAdd(this, _initialized, false);
|
|
65
|
-
/// @internal
|
|
66
|
-
__privateAdd(this, _offset);
|
|
67
|
-
/// On show callback.
|
|
68
|
-
this.onShow = () => {
|
|
69
|
-
};
|
|
70
|
-
/// On hide callback.
|
|
71
|
-
this.onHide = () => {
|
|
72
|
-
};
|
|
73
|
-
/// @internal
|
|
74
|
-
__privateAdd(this, _onUpdate, (view, prevState) => {
|
|
75
|
-
var _a;
|
|
76
|
-
const { state, composing } = view;
|
|
77
|
-
const { selection, doc } = state;
|
|
78
|
-
const { ranges } = selection;
|
|
79
|
-
const from = Math.min(...ranges.map((range) => range.$from.pos));
|
|
80
|
-
const to = Math.max(...ranges.map((range) => range.$to.pos));
|
|
81
|
-
const isSame = prevState && prevState.doc.eq(doc) && prevState.selection.eq(selection);
|
|
82
|
-
if (!__privateGet(this, _initialized)) {
|
|
83
|
-
(_a = view.dom.parentElement) == null ? void 0 : _a.appendChild(this.element);
|
|
84
|
-
__privateSet(this, _initialized, true);
|
|
85
|
-
}
|
|
86
|
-
if (composing || isSame)
|
|
87
|
-
return;
|
|
88
|
-
if (!__privateGet(this, _shouldShow).call(this, view, prevState)) {
|
|
89
|
-
this.hide();
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
const virtualEl = {
|
|
93
|
-
getBoundingClientRect: () => posToDOMRect(view, from, to)
|
|
94
|
-
};
|
|
95
|
-
computePosition(virtualEl, this.element, {
|
|
96
|
-
placement: "top",
|
|
97
|
-
middleware: [flip(), offset(__privateGet(this, _offset))]
|
|
98
|
-
}).then(({ x, y }) => {
|
|
99
|
-
Object.assign(this.element.style, {
|
|
100
|
-
left: `${x}px`,
|
|
101
|
-
top: `${y}px`
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
this.show();
|
|
105
|
-
});
|
|
106
|
-
/// Update provider state by editor view.
|
|
107
|
-
this.update = (view, prevState) => {
|
|
108
|
-
const updater = debounce(__privateGet(this, _onUpdate), __privateGet(this, _debounce));
|
|
109
|
-
updater(view, prevState);
|
|
110
|
-
};
|
|
111
|
-
/// Destroy the tooltip.
|
|
112
|
-
this.destroy = () => {
|
|
113
|
-
};
|
|
114
|
-
/// Show the tooltip.
|
|
115
|
-
this.show = (virtualElement) => {
|
|
116
|
-
this.element.dataset.show = "true";
|
|
117
|
-
if (virtualElement) {
|
|
118
|
-
computePosition(virtualElement, this.element, {
|
|
119
|
-
placement: "top",
|
|
120
|
-
middleware: [flip(), offset(__privateGet(this, _offset))]
|
|
121
|
-
}).then(({ x, y }) => {
|
|
122
|
-
Object.assign(this.element.style, {
|
|
123
|
-
left: `${x}px`,
|
|
124
|
-
top: `${y}px`
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
this.onShow();
|
|
129
|
-
};
|
|
130
|
-
/// Hide the tooltip.
|
|
131
|
-
this.hide = () => {
|
|
132
|
-
this.element.dataset.show = "false";
|
|
133
|
-
this.onHide();
|
|
134
|
-
};
|
|
135
|
-
var _a, _b;
|
|
136
|
-
this.element = options.content;
|
|
137
|
-
__privateSet(this, _debounce, (_a = options.debounce) != null ? _a : 200);
|
|
138
|
-
__privateSet(this, _shouldShow, (_b = options.shouldShow) != null ? _b : __privateMethod(this, _TooltipProvider_instances, _shouldShow_fn));
|
|
139
|
-
__privateSet(this, _offset, options.offset);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
_debounce = new WeakMap();
|
|
143
|
-
_shouldShow = new WeakMap();
|
|
144
|
-
_initialized = new WeakMap();
|
|
145
|
-
_offset = new WeakMap();
|
|
146
|
-
_onUpdate = new WeakMap();
|
|
147
|
-
_TooltipProvider_instances = new WeakSet();
|
|
148
|
-
/// @internal
|
|
149
|
-
_shouldShow_fn = function(view) {
|
|
150
|
-
const { doc, selection } = view.state;
|
|
151
|
-
const { empty, from, to } = selection;
|
|
152
|
-
const isEmptyTextBlock = !doc.textBetween(from, to).length && view.state.selection instanceof TextSelection;
|
|
153
|
-
const isTooltipChildren = this.element.contains(document.activeElement);
|
|
154
|
-
const notHasFocus = !view.hasFocus() && !isTooltipChildren;
|
|
155
|
-
const isReadonly = !view.editable;
|
|
156
|
-
if (notHasFocus || empty || isEmptyTextBlock || isReadonly)
|
|
157
|
-
return false;
|
|
158
|
-
return true;
|
|
159
|
-
};
|
|
160
|
-
|
|
161
|
-
function tooltipFactory(id) {
|
|
162
|
-
const tooltipSpec = $ctx({}, `${id}_TOOLTIP_SPEC`);
|
|
163
|
-
const tooltipPlugin = $prose((ctx) => {
|
|
164
|
-
const spec = ctx.get(tooltipSpec.key);
|
|
165
|
-
return new Plugin({
|
|
166
|
-
key: new PluginKey(`${id}_TOOLTIP`),
|
|
167
|
-
...spec
|
|
168
|
-
});
|
|
169
|
-
});
|
|
170
|
-
const result = [tooltipSpec, tooltipPlugin];
|
|
171
|
-
result.key = tooltipSpec.key;
|
|
172
|
-
result.pluginKey = tooltipPlugin.key;
|
|
173
|
-
tooltipSpec.meta = {
|
|
174
|
-
package: "@milkdown/plugin-tooltip",
|
|
175
|
-
displayName: `Ctx<tooltipSpec>|${id}`
|
|
176
|
-
};
|
|
177
|
-
tooltipPlugin.meta = {
|
|
178
|
-
package: "@milkdown/plugin-tooltip",
|
|
179
|
-
displayName: `Prose<tooltip>|${id}`
|
|
180
|
-
};
|
|
181
|
-
return result;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
export { TooltipProvider as T, linkTooltipConfig as a, linkTooltipAPI as b, linkTooltipState as l, tooltipFactory as t };
|
|
185
|
-
//# sourceMappingURL=tooltip-plugin-iw2EQWIG.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip-plugin-iw2EQWIG.js","sources":["../../../components/src/link-tooltip/slices.ts","../../../plugins/plugin-tooltip/src/tooltip-provider.ts","../../../plugins/plugin-tooltip/src/tooltip-plugin.ts"],"sourcesContent":["import { $ctx } from '@milkdown/utils'\nimport type { Mark } from '@milkdown/prose/model'\nimport { html } from 'atomico'\nimport { withMeta } from '../__internal__/meta'\n\nexport interface LinkToolTipState {\n mode: 'preview' | 'edit'\n}\n\nconst defaultState: LinkToolTipState = {\n mode: 'preview',\n}\n\nexport const linkTooltipState = $ctx({ ...defaultState }, 'linkTooltipStateCtx')\n\nwithMeta(linkTooltipState, {\n displayName: 'State<link-tooltip>',\n group: 'LinkTooltip',\n})\n\nexport interface LinkTooltipAPI {\n addLink: (from: number, to: number) => void\n editLink: (mark: Mark, from: number, to: number) => void\n removeLink: (from: number, to: number) => void\n}\n\nconst defaultAPI: LinkTooltipAPI = {\n addLink: () => {},\n editLink: () => {},\n removeLink: () => {},\n}\n\nexport const linkTooltipAPI = $ctx({ ...defaultAPI }, 'linkTooltipAPICtx')\n\nwithMeta(linkTooltipState, {\n displayName: 'API<link-tooltip>',\n group: 'LinkTooltip',\n})\n\nexport interface LinkTooltipConfig {\n linkIcon: () => ReturnType<typeof html>\n editButton: () => ReturnType<typeof html>\n confirmButton: () => ReturnType<typeof html>\n removeButton: () => ReturnType<typeof html>\n onCopyLink: (link: string) => void\n inputPlaceholder: string\n}\n\nconst defaultConfig: LinkTooltipConfig = {\n linkIcon: () => '🔗',\n editButton: () => '✎',\n removeButton: () => '⌫',\n confirmButton: () => html`Confirm ⏎`,\n onCopyLink: () => {},\n inputPlaceholder: 'Paste link...',\n}\n\nexport const linkTooltipConfig = $ctx({\n ...defaultConfig,\n}, 'linkTooltipConfigCtx')\n\nwithMeta(linkTooltipState, {\n displayName: 'Config<link-tooltip>',\n group: 'LinkTooltip',\n})\n","import type { EditorState } from '@milkdown/prose/state'\nimport { TextSelection } from '@milkdown/prose/state'\nimport type { EditorView } from '@milkdown/prose/view'\nimport debounce from 'lodash.debounce'\nimport type { VirtualElement } from '@floating-ui/dom'\nimport { computePosition, flip, offset } from '@floating-ui/dom'\nimport { posToDOMRect } from '@milkdown/prose'\n\n/// Options for tooltip provider.\nexport interface TooltipProviderOptions {\n /// The tooltip content.\n content: HTMLElement\n /// The debounce time for updating tooltip, 200ms by default.\n debounce?: number\n /// The function to determine whether the tooltip should be shown.\n shouldShow?: (view: EditorView, prevState?: EditorState) => boolean\n /// The offset to get the block. Default is 0.\n offset?: number | {\n mainAxis?: number\n crossAxis?: number\n alignmentAxis?: number | null\n }\n}\n\n/// A provider for creating tooltip.\nexport class TooltipProvider {\n /// @internal\n readonly #debounce: number\n\n /// @internal\n readonly #shouldShow: (view: EditorView, prevState?: EditorState) => boolean\n\n /// @internal\n #initialized = false\n\n /// @internal\n readonly #offset?: number | {\n mainAxis?: number\n crossAxis?: number\n alignmentAxis?: number | null\n }\n\n /// The root element of the tooltip.\n element: HTMLElement\n\n /// On show callback.\n onShow = () => {}\n\n /// On hide callback.\n onHide = () => {}\n\n constructor(options: TooltipProviderOptions) {\n this.element = options.content\n this.#debounce = options.debounce ?? 200\n this.#shouldShow = options.shouldShow ?? this.#_shouldShow\n this.#offset = options.offset\n }\n\n /// @internal\n #onUpdate = (view: EditorView, prevState?: EditorState): void => {\n const { state, composing } = view\n const { selection, doc } = state\n const { ranges } = selection\n const from = Math.min(...ranges.map(range => range.$from.pos))\n const to = Math.max(...ranges.map(range => range.$to.pos))\n const isSame = prevState && prevState.doc.eq(doc) && prevState.selection.eq(selection)\n\n if (!this.#initialized) {\n view.dom.parentElement?.appendChild(this.element)\n this.#initialized = true\n }\n\n if (composing || isSame)\n return\n\n if (!this.#shouldShow(view, prevState)) {\n this.hide()\n return\n }\n\n const virtualEl: VirtualElement = {\n getBoundingClientRect: () => posToDOMRect(view, from, to),\n }\n computePosition(virtualEl, this.element, {\n placement: 'top',\n middleware: [flip(), offset(this.#offset)],\n })\n .then(({ x, y }) => {\n Object.assign(this.element.style, {\n left: `${x}px`,\n top: `${y}px`,\n })\n })\n\n this.show()\n }\n\n /// Update provider state by editor view.\n update = (view: EditorView, prevState?: EditorState): void => {\n const updater = debounce(this.#onUpdate, this.#debounce)\n\n updater(view, prevState)\n }\n\n /// @internal\n #_shouldShow(view: EditorView): boolean {\n const { doc, selection } = view.state\n const { empty, from, to } = selection\n\n const isEmptyTextBlock = !doc.textBetween(from, to).length && view.state.selection instanceof TextSelection\n\n const isTooltipChildren = this.element.contains(document.activeElement)\n\n const notHasFocus = !view.hasFocus() && !isTooltipChildren\n\n const isReadonly = !view.editable\n\n if (\n notHasFocus\n || empty\n || isEmptyTextBlock\n || isReadonly\n )\n return false\n\n return true\n }\n\n /// Destroy the tooltip.\n destroy = () => {}\n\n /// Show the tooltip.\n show = (virtualElement?: VirtualElement) => {\n this.element.dataset.show = 'true'\n\n if (virtualElement) {\n computePosition(virtualElement, this.element, {\n placement: 'top',\n middleware: [flip(), offset(this.#offset)],\n })\n .then(({ x, y }) => {\n Object.assign(this.element.style, {\n left: `${x}px`,\n top: `${y}px`,\n })\n })\n }\n\n this.onShow()\n }\n\n /// Hide the tooltip.\n hide = () => {\n this.element.dataset.show = 'false'\n\n this.onHide()\n }\n}\n","import type { SliceType } from '@milkdown/ctx'\nimport type { PluginSpec } from '@milkdown/prose/state'\nimport { Plugin, PluginKey } from '@milkdown/prose/state'\nimport type { $Ctx, $Prose } from '@milkdown/utils'\nimport { $ctx, $prose } from '@milkdown/utils'\n\n/// @internal\nexport type TooltipSpecId<Id extends string> = `${Id}_TOOLTIP_SPEC`\n\n/// @internal\nexport type TooltipPlugin<Id extends string, State = any> = [$Ctx<PluginSpec<State>, TooltipSpecId<Id>>, $Prose] & {\n key: SliceType<PluginSpec<State>, TooltipSpecId<Id>>\n pluginKey: $Prose['key']\n}\n\n/// Create a tooltip plugin with a unique id.\nexport function tooltipFactory<Id extends string, State = any>(id: Id) {\n const tooltipSpec = $ctx<PluginSpec<State>, TooltipSpecId<Id>>({}, `${id}_TOOLTIP_SPEC`)\n const tooltipPlugin = $prose((ctx) => {\n const spec = ctx.get(tooltipSpec.key)\n return new Plugin({\n key: new PluginKey(`${id}_TOOLTIP`),\n ...spec,\n })\n })\n const result = [tooltipSpec, tooltipPlugin] as TooltipPlugin<Id>\n result.key = tooltipSpec.key\n result.pluginKey = tooltipPlugin.key\n tooltipSpec.meta = {\n package: '@milkdown/plugin-tooltip',\n displayName: `Ctx<tooltipSpec>|${id}`,\n }\n tooltipPlugin.meta = {\n package: '@milkdown/plugin-tooltip',\n displayName: `Prose<tooltip>|${id}`,\n }\n\n return result\n}\n"],"names":[],"mappings":"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"}
|