quoin-editor 1.0.2 → 1.1.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/CHANGELOG.md +18 -0
- package/dist/ai.cjs +168 -249
- package/dist/ai.cjs.map +1 -1
- package/dist/ai.js +37 -121
- package/dist/ai.js.map +1 -1
- package/dist/catalogue.cjs +28 -43
- package/dist/catalogue.cjs.map +1 -1
- package/dist/catalogue.js +20 -37
- package/dist/catalogue.js.map +1 -1
- package/dist/{chunk-DUE3HCZD.js → chunk-2EQ6FKSK.js} +19 -28
- package/dist/chunk-2EQ6FKSK.js.map +1 -0
- package/dist/{chunk-RJRX34BZ.js → chunk-3BXUGX5F.js} +4 -18
- package/dist/chunk-3BXUGX5F.js.map +1 -0
- package/dist/chunk-3QRVAI53.cjs +27 -0
- package/dist/chunk-3QRVAI53.cjs.map +1 -0
- package/dist/{chunk-U3LOLYAU.js → chunk-7FAVFJAS.js} +4 -10
- package/dist/chunk-7FAVFJAS.js.map +1 -0
- package/dist/{chunk-6V6GGBDK.cjs → chunk-7SVKLWDT.cjs} +24 -31
- package/dist/chunk-7SVKLWDT.cjs.map +1 -0
- package/dist/{chunk-EH5KXQXY.cjs → chunk-A6PGQVTR.cjs} +36 -20
- package/dist/chunk-A6PGQVTR.cjs.map +1 -0
- package/dist/{chunk-P6KYXFZC.cjs → chunk-ACSEYJJF.cjs} +426 -534
- package/dist/chunk-ACSEYJJF.cjs.map +1 -0
- package/dist/{chunk-4SLJNZSM.cjs → chunk-AIS37SL2.cjs} +201 -198
- package/dist/chunk-AIS37SL2.cjs.map +1 -0
- package/dist/{chunk-X4HDKFW5.cjs → chunk-DTQFYHDJ.cjs} +56 -105
- package/dist/chunk-DTQFYHDJ.cjs.map +1 -0
- package/dist/{chunk-O4Z2WMFF.js → chunk-HDJ653LM.js} +25 -18
- package/dist/chunk-HDJ653LM.js.map +1 -0
- package/dist/chunk-HQ43EIYO.cjs +94 -0
- package/dist/chunk-HQ43EIYO.cjs.map +1 -0
- package/dist/{chunk-6NULZPVC.js → chunk-HTLWPSMU.js} +8 -61
- package/dist/chunk-HTLWPSMU.js.map +1 -0
- package/dist/{chunk-ADSJ42DO.js → chunk-HWEK7EX5.js} +17 -69
- package/dist/chunk-HWEK7EX5.js.map +1 -0
- package/dist/{chunk-623AOJM2.js → chunk-ITXCE6KL.js} +7 -25
- package/dist/chunk-ITXCE6KL.js.map +1 -0
- package/dist/{chunk-AUOEM3SF.cjs → chunk-IXVGHH7F.cjs} +102 -155
- package/dist/chunk-IXVGHH7F.cjs.map +1 -0
- package/dist/{chunk-NEZJ7ZP5.js → chunk-JZJIWRF3.js} +4 -8
- package/dist/chunk-JZJIWRF3.js.map +1 -0
- package/dist/{chunk-C23RQVRK.js → chunk-KSF2HILJ.js} +66 -216
- package/dist/chunk-KSF2HILJ.js.map +1 -0
- package/dist/{chunk-OBMBSU2S.js → chunk-L4D23LM2.js} +5 -184
- package/dist/chunk-L4D23LM2.js.map +1 -0
- package/dist/{chunk-4XFXB37X.js → chunk-L6OW2FL3.js} +7 -90
- package/dist/chunk-L6OW2FL3.js.map +1 -0
- package/dist/chunk-LE5XMIFJ.cjs +4 -3
- package/dist/chunk-LE5XMIFJ.cjs.map +1 -1
- package/dist/{chunk-5MAYUGTE.cjs → chunk-LY2D45F2.cjs} +233 -363
- package/dist/chunk-LY2D45F2.cjs.map +1 -0
- package/dist/{chunk-VCLL5C7J.js → chunk-MGMA5PEL.js} +14 -57
- package/dist/chunk-MGMA5PEL.js.map +1 -0
- package/dist/chunk-MQUCCSWG.js +2 -3
- package/dist/chunk-MQUCCSWG.js.map +1 -1
- package/dist/chunk-NO3KTZDY.cjs +33 -0
- package/dist/chunk-NO3KTZDY.cjs.map +1 -0
- package/dist/{chunk-TLGX43P6.cjs → chunk-OM7E43ZN.cjs} +89 -86
- package/dist/chunk-OM7E43ZN.cjs.map +1 -0
- package/dist/{chunk-JHQUHFLX.js → chunk-PJCHSHM3.js} +38 -120
- package/dist/chunk-PJCHSHM3.js.map +1 -0
- package/dist/{chunk-EPARJI4V.js → chunk-QC35D2AU.js} +107 -262
- package/dist/chunk-QC35D2AU.js.map +1 -0
- package/dist/{chunk-CW3AFJBR.cjs → chunk-QEMGOL5L.cjs} +1302 -1773
- package/dist/chunk-QEMGOL5L.cjs.map +1 -0
- package/dist/chunk-QWS7KH3K.cjs +483 -0
- package/dist/chunk-QWS7KH3K.cjs.map +1 -0
- package/dist/{chunk-IQBMAE3F.js → chunk-RHQPAW4W.js} +34 -92
- package/dist/chunk-RHQPAW4W.js.map +1 -0
- package/dist/chunk-RIIXJWBR.cjs +24 -0
- package/dist/chunk-RIIXJWBR.cjs.map +1 -0
- package/dist/{chunk-VRS6WCEK.js → chunk-SAEQMDAU.js} +60 -167
- package/dist/chunk-SAEQMDAU.js.map +1 -0
- package/dist/chunk-SKZC4K5S.cjs +612 -0
- package/dist/chunk-SKZC4K5S.cjs.map +1 -0
- package/dist/{chunk-N4FGA3H4.js → chunk-TBCHYHNU.js} +38 -105
- package/dist/chunk-TBCHYHNU.js.map +1 -0
- package/dist/{chunk-OSHZQR3W.js → chunk-TNN6Z52D.js} +13 -45
- package/dist/chunk-TNN6Z52D.js.map +1 -0
- package/dist/{chunk-YBMUEEM5.js → chunk-TYZSB7JT.js} +4 -8
- package/dist/chunk-TYZSB7JT.js.map +1 -0
- package/dist/{chunk-ZKVOS57Q.cjs → chunk-VFSVN5IQ.cjs} +495 -551
- package/dist/chunk-VFSVN5IQ.cjs.map +1 -0
- package/dist/{chunk-FDRUAL3Z.cjs → chunk-WDO6DBYU.cjs} +90 -153
- package/dist/chunk-WDO6DBYU.cjs.map +1 -0
- package/dist/{chunk-WEYDDIBQ.cjs → chunk-WHV5ZSIO.cjs} +36 -64
- package/dist/chunk-WHV5ZSIO.cjs.map +1 -0
- package/dist/{chunk-T43RZTUT.js → chunk-XJDPQFPU.js} +693 -1247
- package/dist/chunk-XJDPQFPU.js.map +1 -0
- package/dist/{chunk-BQANU5BH.cjs → chunk-ZTLYHRZT.cjs} +34 -44
- package/dist/chunk-ZTLYHRZT.cjs.map +1 -0
- package/dist/chunk-ZWB7SZVI.cjs +200 -0
- package/dist/chunk-ZWB7SZVI.cjs.map +1 -0
- package/dist/comments.cjs +209 -290
- package/dist/comments.cjs.map +1 -1
- package/dist/comments.js +81 -186
- package/dist/comments.js.map +1 -1
- package/dist/diff.cjs +48 -65
- package/dist/diff.cjs.map +1 -1
- package/dist/diff.d.cts +2 -2
- package/dist/diff.d.ts +2 -2
- package/dist/diff.js +8 -32
- package/dist/diff.js.map +1 -1
- package/dist/docx.cjs +50 -63
- package/dist/docx.cjs.map +1 -1
- package/dist/docx.js +7 -22
- package/dist/docx.js.map +1 -1
- package/dist/embed.cjs +18 -12
- package/dist/embed.cjs.map +1 -1
- package/dist/embed.js +9 -16
- package/dist/embed.js.map +1 -1
- package/dist/emoji-data.cjs +7 -5
- package/dist/emoji-data.cjs.map +1 -1
- package/dist/emoji-data.js +3 -5
- package/dist/emoji-data.js.map +1 -1
- package/dist/emoji.cjs +25 -17
- package/dist/emoji.cjs.map +1 -1
- package/dist/emoji.js +8 -17
- package/dist/emoji.js.map +1 -1
- package/dist/engine.cjs +229 -118
- package/dist/engine.cjs.map +1 -1
- package/dist/engine.js +4 -118
- package/dist/engine.js.map +1 -1
- package/dist/find.cjs +29 -19
- package/dist/find.cjs.map +1 -1
- package/dist/find.js +8 -19
- package/dist/find.js.map +1 -1
- package/dist/headless.cjs +290 -151
- package/dist/headless.cjs.map +1 -1
- package/dist/headless.d.cts +5 -1
- package/dist/headless.d.ts +5 -1
- package/dist/headless.js +5 -151
- package/dist/headless.js.map +1 -1
- package/dist/index.cjs +348 -183
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +14 -4
- package/dist/index.d.ts +14 -4
- package/dist/index.js +7 -183
- package/dist/index.js.map +1 -1
- package/dist/math.cjs +19 -13
- package/dist/math.cjs.map +1 -1
- package/dist/math.js +10 -17
- package/dist/math.js.map +1 -1
- package/dist/mention.cjs +19 -13
- package/dist/mention.cjs.map +1 -1
- package/dist/mention.js +10 -17
- package/dist/mention.js.map +1 -1
- package/dist/presence.cjs +98 -132
- package/dist/presence.cjs.map +1 -1
- package/dist/presence.js +21 -78
- package/dist/presence.js.map +1 -1
- package/dist/{registry-CWBOSAHm.d.ts → registry-CXegaw5k.d.cts} +25 -2
- package/dist/{registry-CWBOSAHm.d.cts → registry-CXegaw5k.d.ts} +25 -2
- package/dist/stats.cjs +26 -18
- package/dist/stats.cjs.map +1 -1
- package/dist/stats.js +9 -18
- package/dist/stats.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/table.cjs +89 -49
- package/dist/table.cjs.map +1 -1
- package/dist/table.js +8 -49
- package/dist/table.js.map +1 -1
- package/dist/toc.cjs +25 -17
- package/dist/toc.cjs.map +1 -1
- package/dist/toc.js +8 -17
- package/dist/toc.js.map +1 -1
- package/dist/view.cjs +13 -16
- package/dist/view.cjs.map +1 -1
- package/dist/view.d.cts +2 -2
- package/dist/view.d.ts +2 -2
- package/dist/view.js +7 -16
- package/dist/view.js.map +1 -1
- package/dist/yjs.cjs +186 -228
- package/dist/yjs.cjs.map +1 -1
- package/dist/yjs.js +12 -80
- package/dist/yjs.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-4SLJNZSM.cjs.map +0 -1
- package/dist/chunk-4XFXB37X.js.map +0 -1
- package/dist/chunk-5MAYUGTE.cjs.map +0 -1
- package/dist/chunk-623AOJM2.js.map +0 -1
- package/dist/chunk-6NULZPVC.js.map +0 -1
- package/dist/chunk-6V6GGBDK.cjs.map +0 -1
- package/dist/chunk-73653CJ4.cjs +0 -34
- package/dist/chunk-73653CJ4.cjs.map +0 -1
- package/dist/chunk-ADSJ42DO.js.map +0 -1
- package/dist/chunk-AUOEM3SF.cjs.map +0 -1
- package/dist/chunk-BQANU5BH.cjs.map +0 -1
- package/dist/chunk-C23RQVRK.js.map +0 -1
- package/dist/chunk-CW3AFJBR.cjs.map +0 -1
- package/dist/chunk-DUE3HCZD.js.map +0 -1
- package/dist/chunk-EH5KXQXY.cjs.map +0 -1
- package/dist/chunk-EPARJI4V.js.map +0 -1
- package/dist/chunk-FDRUAL3Z.cjs.map +0 -1
- package/dist/chunk-IQBMAE3F.js.map +0 -1
- package/dist/chunk-JHQUHFLX.js.map +0 -1
- package/dist/chunk-KUYZMSMF.cjs +0 -100
- package/dist/chunk-KUYZMSMF.cjs.map +0 -1
- package/dist/chunk-LLTEGXWZ.cjs +0 -562
- package/dist/chunk-LLTEGXWZ.cjs.map +0 -1
- package/dist/chunk-N4FGA3H4.js.map +0 -1
- package/dist/chunk-NEZJ7ZP5.js.map +0 -1
- package/dist/chunk-O4Z2WMFF.js.map +0 -1
- package/dist/chunk-OBMBSU2S.js.map +0 -1
- package/dist/chunk-OSHZQR3W.js.map +0 -1
- package/dist/chunk-P6KYXFZC.cjs.map +0 -1
- package/dist/chunk-R2BLBV43.cjs +0 -239
- package/dist/chunk-R2BLBV43.cjs.map +0 -1
- package/dist/chunk-RJRX34BZ.js.map +0 -1
- package/dist/chunk-T43RZTUT.js.map +0 -1
- package/dist/chunk-TLGX43P6.cjs.map +0 -1
- package/dist/chunk-U3LOLYAU.js.map +0 -1
- package/dist/chunk-UEKXVCKC.cjs +0 -716
- package/dist/chunk-UEKXVCKC.cjs.map +0 -1
- package/dist/chunk-VCLL5C7J.js.map +0 -1
- package/dist/chunk-VRS6WCEK.js.map +0 -1
- package/dist/chunk-WEYDDIBQ.cjs.map +0 -1
- package/dist/chunk-X4HDKFW5.cjs.map +0 -1
- package/dist/chunk-X4P4TQXH.cjs +0 -30
- package/dist/chunk-X4P4TQXH.cjs.map +0 -1
- package/dist/chunk-XA3UEJIW.cjs +0 -25
- package/dist/chunk-XA3UEJIW.cjs.map +0 -1
- package/dist/chunk-YBMUEEM5.js.map +0 -1
- package/dist/chunk-ZKVOS57Q.cjs.map +0 -1
|
@@ -1,56 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var _chunkCW3AFJBRcjs = require('./chunk-CW3AFJBR.cjs');
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
var _chunkP6KYXFZCcjs = require('./chunk-P6KYXFZC.cjs');
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
var _chunkZKVOS57Qcjs = require('./chunk-ZKVOS57Q.cjs');
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
var _chunk4SLJNZSMcjs = require('./chunk-4SLJNZSM.cjs');
|
|
36
|
-
|
|
37
|
-
// src/extensions/emoji/CalloutIconPicker.tsx
|
|
38
|
-
var _react = require('react');
|
|
3
|
+
var chunkQEMGOL5L_cjs = require('./chunk-QEMGOL5L.cjs');
|
|
4
|
+
var chunkACSEYJJF_cjs = require('./chunk-ACSEYJJF.cjs');
|
|
5
|
+
var chunkVFSVN5IQ_cjs = require('./chunk-VFSVN5IQ.cjs');
|
|
6
|
+
var chunkAIS37SL2_cjs = require('./chunk-AIS37SL2.cjs');
|
|
7
|
+
var react = require('react');
|
|
8
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
+
var lucideReact = require('lucide-react');
|
|
39
10
|
|
|
40
11
|
// src/extensions/emoji/all-callouts.ts
|
|
41
|
-
var allCallouts = (state, blockIds) => blockIds.length > 0 && blockIds.every((id) =>
|
|
12
|
+
var allCallouts = (state, blockIds) => blockIds.length > 0 && blockIds.every((id) => chunkAIS37SL2_cjs.blockById(state.doc, id)?.type === "CALLOUT");
|
|
42
13
|
|
|
43
14
|
// src/extensions/emoji/composing-key.ts
|
|
44
15
|
var isComposing = (event) => event.isComposing || event.keyCode === 229;
|
|
45
16
|
|
|
46
|
-
// src/extensions/emoji/EmojiPicker.tsx
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
// src/extensions/emoji/EmojiGrids.tsx
|
|
50
|
-
|
|
51
|
-
|
|
52
17
|
// src/extensions/emoji/emoji-name.ts
|
|
53
|
-
var emojiName = ({ shortcodes, tags }) =>
|
|
18
|
+
var emojiName = ({ shortcodes, tags }) => shortcodes[0] ?? tags[0] ?? "";
|
|
54
19
|
|
|
55
20
|
// src/extensions/emoji/grid-moves.ts
|
|
56
21
|
var inRow = (rows, row, col) => ({ row, col: Math.min(col, rows[row] - 1) });
|
|
@@ -74,19 +39,16 @@ var MOVES = {
|
|
|
74
39
|
function gridMove(rows, cell, key, ctrl = false) {
|
|
75
40
|
return Object.hasOwn(MOVES, key) ? MOVES[key](rows, cell, ctrl) : null;
|
|
76
41
|
}
|
|
77
|
-
|
|
78
|
-
// src/extensions/emoji/EmojiGrids.tsx
|
|
79
|
-
var _jsxruntime = require('react/jsx-runtime');
|
|
80
|
-
var CELL = _chunkCW3AFJBRcjs.cn.call(void 0,
|
|
42
|
+
var CELL = chunkQEMGOL5L_cjs.cn(
|
|
81
43
|
"flex size-8 shrink-0 cursor-default items-center justify-center rounded-sm text-xl hover:bg-accent",
|
|
82
|
-
|
|
44
|
+
chunkQEMGOL5L_cjs.FOCUS_RING
|
|
83
45
|
);
|
|
84
46
|
var HEADING = "px-1 pt-2 pb-1 text-xs font-medium text-muted-foreground";
|
|
85
47
|
var FIRST = { row: 0, col: 0 };
|
|
86
48
|
var cellId = (baseId, row, col) => `${baseId}-cell-${row}-${col}`;
|
|
87
|
-
var emojiAt = (target) => target instanceof Element ?
|
|
88
|
-
var EmojiRow =
|
|
89
|
-
return /* @__PURE__ */
|
|
49
|
+
var emojiAt = (target) => target instanceof Element ? target.closest("[data-emoji]")?.getAttribute("data-emoji") ?? null : null;
|
|
50
|
+
var EmojiRow = react.memo(function EmojiRow2({ baseId, row, emoji, activeCol }) {
|
|
51
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { role: "row", className: "flex", children: emoji.map((cell, col) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
90
52
|
"div",
|
|
91
53
|
{
|
|
92
54
|
role: "gridcell",
|
|
@@ -95,15 +57,15 @@ var EmojiRow = _react.memo.call(void 0, function EmojiRow2({ baseId, row, emoji,
|
|
|
95
57
|
"aria-label": emojiName(cell),
|
|
96
58
|
"data-emoji": cell.emoji,
|
|
97
59
|
className: CELL,
|
|
98
|
-
children: /* @__PURE__ */
|
|
60
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", children: cell.emoji })
|
|
99
61
|
},
|
|
100
62
|
cell.emoji
|
|
101
63
|
)) });
|
|
102
64
|
});
|
|
103
|
-
var EmojiGrids =
|
|
104
|
-
const baseId =
|
|
105
|
-
const [active, setActive] =
|
|
106
|
-
const current =
|
|
65
|
+
var EmojiGrids = react.forwardRef(function EmojiGrids2({ layout, onPick }, ref) {
|
|
66
|
+
const baseId = react.useId();
|
|
67
|
+
const [active, setActive] = react.useState(null);
|
|
68
|
+
const current = (active === null ? void 0 : layout.places.get(active)) ?? FIRST;
|
|
107
69
|
const onKeyDown = (event) => {
|
|
108
70
|
if (isComposing(event.nativeEvent) || event.altKey || event.shiftKey || event.metaKey) return;
|
|
109
71
|
if (event.key === "Enter") {
|
|
@@ -117,7 +79,7 @@ var EmojiGrids = _react.forwardRef.call(void 0, function EmojiGrids2({ layout, o
|
|
|
117
79
|
if (next === null) return;
|
|
118
80
|
event.preventDefault();
|
|
119
81
|
setActive(layout.rows[next.row][next.col].emoji);
|
|
120
|
-
|
|
82
|
+
event.currentTarget.ownerDocument.getElementById(cellId(baseId, next.row, next.col))?.focus();
|
|
121
83
|
};
|
|
122
84
|
const onClick = (event) => {
|
|
123
85
|
const emoji = emojiAt(event.target);
|
|
@@ -127,11 +89,11 @@ var EmojiGrids = _react.forwardRef.call(void 0, function EmojiGrids2({ layout, o
|
|
|
127
89
|
const emoji = emojiAt(event.target);
|
|
128
90
|
if (emoji !== null) setActive(emoji);
|
|
129
91
|
};
|
|
130
|
-
return /* @__PURE__ */
|
|
131
|
-
/* @__PURE__ */
|
|
132
|
-
/* @__PURE__ */
|
|
92
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: "max-h-72 overflow-y-auto", onKeyDown, onClick, onFocus, children: layout.sections.map((section) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
93
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { id: `${baseId}-${section.key}`, className: HEADING, children: section.label }),
|
|
94
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { role: "grid", "aria-labelledby": `${baseId}-${section.key}`, children: section.rows.map((emoji, index) => {
|
|
133
95
|
const row = section.firstRow + index;
|
|
134
|
-
return /* @__PURE__ */
|
|
96
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
135
97
|
EmojiRow,
|
|
136
98
|
{
|
|
137
99
|
baseId,
|
|
@@ -175,9 +137,6 @@ function pickerLayout(found, searching, labels) {
|
|
|
175
137
|
return { sections, rows, rowLengths: rows.map((cells) => cells.length), places };
|
|
176
138
|
}
|
|
177
139
|
|
|
178
|
-
// src/extensions/emoji/use-emoji-data.ts
|
|
179
|
-
|
|
180
|
-
|
|
181
140
|
// src/extensions/emoji/lazy-load.ts
|
|
182
141
|
function lazyLoad(load) {
|
|
183
142
|
let pending = null;
|
|
@@ -196,12 +155,12 @@ function lazyLoad(load) {
|
|
|
196
155
|
);
|
|
197
156
|
return pending;
|
|
198
157
|
},
|
|
199
|
-
loaded: () =>
|
|
158
|
+
loaded: () => value?.current
|
|
200
159
|
};
|
|
201
160
|
}
|
|
202
161
|
|
|
203
162
|
// src/extensions/emoji/emoji-data.ts
|
|
204
|
-
var importEmojiData = () =>
|
|
163
|
+
var importEmojiData = () => import('./emoji-data.cjs').then(({ searchEmoji, emojiByShortcode, skinTones }) => ({
|
|
205
164
|
searchEmoji,
|
|
206
165
|
emojiByShortcode,
|
|
207
166
|
skinTones
|
|
@@ -211,13 +170,13 @@ var loadEmojiData = () => emojiData.load();
|
|
|
211
170
|
|
|
212
171
|
// src/extensions/emoji/use-emoji-data.ts
|
|
213
172
|
function useEmojiData() {
|
|
214
|
-
const { onError } =
|
|
215
|
-
const report =
|
|
216
|
-
|
|
173
|
+
const { onError } = chunkQEMGOL5L_cjs.useQuoin();
|
|
174
|
+
const report = react.useRef(onError);
|
|
175
|
+
chunkACSEYJJF_cjs.useIsomorphicLayoutEffect(() => {
|
|
217
176
|
report.current = onError;
|
|
218
177
|
});
|
|
219
|
-
const [state, setState] =
|
|
220
|
-
|
|
178
|
+
const [state, setState] = react.useState(() => emojiData.loaded() ?? "loading");
|
|
179
|
+
react.useEffect(() => {
|
|
221
180
|
let current = true;
|
|
222
181
|
emojiData.load().then(
|
|
223
182
|
(data) => {
|
|
@@ -226,7 +185,7 @@ function useEmojiData() {
|
|
|
226
185
|
(reason) => {
|
|
227
186
|
if (!current) return;
|
|
228
187
|
setState("failed");
|
|
229
|
-
report.current(
|
|
188
|
+
report.current(chunkQEMGOL5L_cjs.toError(reason));
|
|
230
189
|
}
|
|
231
190
|
);
|
|
232
191
|
return () => {
|
|
@@ -235,29 +194,26 @@ function useEmojiData() {
|
|
|
235
194
|
}, []);
|
|
236
195
|
return state;
|
|
237
196
|
}
|
|
238
|
-
|
|
239
|
-
// src/extensions/emoji/EmojiPicker.tsx
|
|
240
|
-
|
|
241
197
|
var ACTIVE_CELL = '[role="gridcell"][tabindex="0"]';
|
|
242
198
|
function EmojiPicker({ labels, onPick }) {
|
|
243
199
|
const data = useEmojiData();
|
|
244
|
-
const [query, setQuery] =
|
|
245
|
-
const field =
|
|
246
|
-
const grids =
|
|
200
|
+
const [query, setQuery] = react.useState("");
|
|
201
|
+
const field = react.useRef(null);
|
|
202
|
+
const grids = react.useRef(null);
|
|
247
203
|
const searching = query.trim() !== "";
|
|
248
|
-
const layout =
|
|
204
|
+
const layout = react.useMemo(
|
|
249
205
|
() => typeof data === "string" ? null : pickerLayout(data.searchEmoji(query), searching, labels),
|
|
250
206
|
[data, query, searching, labels]
|
|
251
207
|
);
|
|
252
208
|
const shown = layout !== null && layout.sections.length > 0;
|
|
253
209
|
const status = data === "loading" ? labels.loading : data === "failed" ? labels.loadFailed : shown ? "" : labels.noMatches;
|
|
254
|
-
const focusGrids = () =>
|
|
210
|
+
const focusGrids = () => grids.current?.querySelector(ACTIVE_CELL)?.focus();
|
|
255
211
|
const onKeyDown = (event) => {
|
|
256
212
|
if (event.key !== "Tab" || isComposing(event.nativeEvent) || event.altKey || event.ctrlKey || event.metaKey) return;
|
|
257
213
|
event.preventDefault();
|
|
258
214
|
event.stopPropagation();
|
|
259
215
|
if (event.target === field.current) focusGrids();
|
|
260
|
-
else
|
|
216
|
+
else field.current?.focus();
|
|
261
217
|
};
|
|
262
218
|
const onFieldKeyDown = (event) => {
|
|
263
219
|
if (isComposing(event.nativeEvent)) return;
|
|
@@ -269,9 +225,9 @@ function EmojiPicker({ labels, onPick }) {
|
|
|
269
225
|
onPick(layout.rows[0][0].emoji);
|
|
270
226
|
}
|
|
271
227
|
};
|
|
272
|
-
return /* @__PURE__ */
|
|
273
|
-
/* @__PURE__ */
|
|
274
|
-
|
|
228
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1", onKeyDown, children: [
|
|
229
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
230
|
+
chunkQEMGOL5L_cjs.Input,
|
|
275
231
|
{
|
|
276
232
|
ref: field,
|
|
277
233
|
className: "h-8",
|
|
@@ -284,13 +240,10 @@ function EmojiPicker({ labels, onPick }) {
|
|
|
284
240
|
onKeyDown: onFieldKeyDown
|
|
285
241
|
}
|
|
286
242
|
),
|
|
287
|
-
/* @__PURE__ */
|
|
288
|
-
shown && /* @__PURE__ */
|
|
243
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { role: "status", className: "px-1 text-sm text-muted-foreground empty:hidden", children: status }),
|
|
244
|
+
shown && /* @__PURE__ */ jsxRuntime.jsx(EmojiGrids, { ref: grids, layout, onPick })
|
|
289
245
|
] });
|
|
290
246
|
}
|
|
291
|
-
|
|
292
|
-
// src/extensions/emoji/icon-request.ts
|
|
293
|
-
|
|
294
247
|
var stores = /* @__PURE__ */ new WeakMap();
|
|
295
248
|
function storeOf(controller) {
|
|
296
249
|
let store = stores.get(controller);
|
|
@@ -307,7 +260,7 @@ function requestIcon(controller, request) {
|
|
|
307
260
|
for (const listener of [...store.listeners]) listener();
|
|
308
261
|
}
|
|
309
262
|
function useIconRequest(controller) {
|
|
310
|
-
const subscribe =
|
|
263
|
+
const subscribe = react.useCallback(
|
|
311
264
|
(notify) => {
|
|
312
265
|
const { listeners } = storeOf(controller);
|
|
313
266
|
listeners.add(notify);
|
|
@@ -315,40 +268,37 @@ function useIconRequest(controller) {
|
|
|
315
268
|
},
|
|
316
269
|
[controller]
|
|
317
270
|
);
|
|
318
|
-
const read =
|
|
319
|
-
return
|
|
271
|
+
const read = react.useCallback(() => storeOf(controller).request, [controller]);
|
|
272
|
+
return react.useSyncExternalStore(subscribe, read, read);
|
|
320
273
|
}
|
|
321
|
-
|
|
322
|
-
// src/extensions/emoji/CalloutIconPicker.tsx
|
|
323
|
-
|
|
324
274
|
var CALLOUT_ICON = ".quoin-callout > :first-child";
|
|
325
275
|
function CalloutIconPicker({ controller, labels }) {
|
|
326
|
-
const readOnly =
|
|
276
|
+
const readOnly = chunkACSEYJJF_cjs.useReadOnly(controller);
|
|
327
277
|
const request = useIconRequest(controller);
|
|
328
|
-
const there =
|
|
278
|
+
const there = chunkACSEYJJF_cjs.useEditorState(
|
|
329
279
|
controller,
|
|
330
|
-
|
|
280
|
+
react.useCallback((state) => request !== null && allCallouts(state, request.blocks), [request])
|
|
331
281
|
);
|
|
332
282
|
const shown = request !== null && there && !readOnly;
|
|
333
|
-
|
|
283
|
+
react.useEffect(() => {
|
|
334
284
|
if (request !== null && !shown) requestIcon(controller, null);
|
|
335
285
|
}, [controller, request, shown]);
|
|
336
286
|
if (!shown) return null;
|
|
337
|
-
return /* @__PURE__ */
|
|
287
|
+
return /* @__PURE__ */ jsxRuntime.jsx(IconPopover, { controller, labels, request }, request.blocks.join(" "));
|
|
338
288
|
}
|
|
339
289
|
function IconPopover({ controller, labels, request: { blocks } }) {
|
|
340
|
-
const anchor =
|
|
341
|
-
const content =
|
|
290
|
+
const anchor = chunkQEMGOL5L_cjs.usePartAnchor(controller, blocks[0], CALLOUT_ICON);
|
|
291
|
+
const content = react.useRef(null);
|
|
342
292
|
const close = () => requestIcon(controller, null);
|
|
343
293
|
const finish = (icon) => {
|
|
344
294
|
close();
|
|
345
|
-
|
|
295
|
+
chunkQEMGOL5L_cjs.runOnBlocks(controller, blocks, icon === null ? chunkQEMGOL5L_cjs.noChange : chunkVFSVN5IQ_cjs.setAttrs({ icon }));
|
|
346
296
|
controller.focus();
|
|
347
297
|
};
|
|
348
|
-
const ownerDocument =
|
|
349
|
-
|
|
350
|
-
return /* @__PURE__ */
|
|
351
|
-
|
|
298
|
+
const ownerDocument = react.useCallback(() => controller.root?.ownerDocument ?? document, [controller]);
|
|
299
|
+
chunkQEMGOL5L_cjs.useOutsidePress(content, ownerDocument, close);
|
|
300
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
301
|
+
chunkQEMGOL5L_cjs.Popover,
|
|
352
302
|
{
|
|
353
303
|
open: true,
|
|
354
304
|
modal: false,
|
|
@@ -356,40 +306,37 @@ function IconPopover({ controller, labels, request: { blocks } }) {
|
|
|
356
306
|
if (!open) close();
|
|
357
307
|
},
|
|
358
308
|
children: [
|
|
359
|
-
/* @__PURE__ */
|
|
360
|
-
/* @__PURE__ */
|
|
361
|
-
|
|
309
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkQEMGOL5L_cjs.PopoverAnchor, { virtualRef: anchor }),
|
|
310
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
311
|
+
chunkQEMGOL5L_cjs.PopoverContent,
|
|
362
312
|
{
|
|
363
313
|
ref: content,
|
|
364
314
|
"aria-label": labels.chooseIcon,
|
|
365
315
|
side: "bottom",
|
|
366
316
|
align: "start",
|
|
367
317
|
className: "w-80 p-2",
|
|
368
|
-
onCloseAutoFocus:
|
|
318
|
+
onCloseAutoFocus: chunkQEMGOL5L_cjs.preventDefault,
|
|
369
319
|
onEscapeKeyDown: (event) => {
|
|
370
320
|
event.preventDefault();
|
|
371
321
|
if (!isComposing(event)) finish(null);
|
|
372
322
|
},
|
|
373
|
-
...
|
|
374
|
-
children: /* @__PURE__ */
|
|
323
|
+
...chunkQEMGOL5L_cjs.bubblePart(controller),
|
|
324
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(EmojiPicker, { labels, onPick: finish })
|
|
375
325
|
}
|
|
376
326
|
)
|
|
377
327
|
]
|
|
378
328
|
}
|
|
379
329
|
);
|
|
380
330
|
}
|
|
381
|
-
|
|
382
|
-
// src/extensions/emoji/choose-icon-action.ts
|
|
383
|
-
var _lucidereact = require('lucide-react');
|
|
384
331
|
function calloutsFor(state, blockIds) {
|
|
385
332
|
if (blockIds.length === 0 || !state.doc.index.has(blockIds[0])) return null;
|
|
386
|
-
const targets =
|
|
333
|
+
const targets = chunkQEMGOL5L_cjs.styleTargets(state, blockIds[0]);
|
|
387
334
|
return allCallouts(state, targets) ? targets : null;
|
|
388
335
|
}
|
|
389
336
|
var chooseIconAction = (labels) => ({
|
|
390
337
|
id: "choose-icon",
|
|
391
338
|
label: labels.chooseIcon,
|
|
392
|
-
icon:
|
|
339
|
+
icon: lucideReact.SmilePlus,
|
|
393
340
|
available: (state, blockIds) => calloutsFor(state, blockIds) !== null,
|
|
394
341
|
run: (controller, blockIds) => {
|
|
395
342
|
const blocks = calloutsFor(controller.editor.state, blockIds);
|
|
@@ -398,7 +345,7 @@ var chooseIconAction = (labels) => ({
|
|
|
398
345
|
});
|
|
399
346
|
|
|
400
347
|
// src/extensions/emoji/emoji-key.ts
|
|
401
|
-
var emojiKey =
|
|
348
|
+
var emojiKey = chunkVFSVN5IQ_cjs.createPluginKey("emoji");
|
|
402
349
|
|
|
403
350
|
// src/extensions/emoji/emoji-labels.ts
|
|
404
351
|
var englishEmojiLabels = {
|
|
@@ -422,13 +369,10 @@ var englishEmojiLabels = {
|
|
|
422
369
|
}
|
|
423
370
|
};
|
|
424
371
|
function resolveEmojiLabels(overrides) {
|
|
425
|
-
const given = Object.entries(
|
|
372
|
+
const given = Object.entries(overrides ?? {}).filter(([, value]) => value !== void 0);
|
|
426
373
|
return given.length === 0 ? englishEmojiLabels : { ...englishEmojiLabels, ...Object.fromEntries(given) };
|
|
427
374
|
}
|
|
428
375
|
|
|
429
|
-
// src/extensions/emoji/EmojiMenu.tsx
|
|
430
|
-
|
|
431
|
-
|
|
432
376
|
// src/extensions/emoji/emoji-source.ts
|
|
433
377
|
function emojiSource(limit, onFailure) {
|
|
434
378
|
let failed = false;
|
|
@@ -446,32 +390,29 @@ function emojiSource(limit, onFailure) {
|
|
|
446
390
|
);
|
|
447
391
|
};
|
|
448
392
|
}
|
|
449
|
-
|
|
450
|
-
// src/extensions/emoji/EmojiMenu.tsx
|
|
451
|
-
|
|
452
393
|
var SHOWN = 8;
|
|
453
394
|
var SHORTEST_QUERY = 2;
|
|
454
|
-
var queryAt = (state) =>
|
|
395
|
+
var queryAt = (state) => chunkVFSVN5IQ_cjs.getPluginState(state, emojiKey).active?.query ?? null;
|
|
455
396
|
var emojiOf = ({ emoji }) => emoji;
|
|
456
|
-
var renderEmoji = (emoji) => /* @__PURE__ */
|
|
457
|
-
/* @__PURE__ */
|
|
458
|
-
/* @__PURE__ */
|
|
397
|
+
var renderEmoji = (emoji) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
398
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: "text-base", children: emoji.emoji }),
|
|
399
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: emojiName(emoji) })
|
|
459
400
|
] });
|
|
460
401
|
function EmojiMenu({ controller, labels }) {
|
|
461
|
-
const readOnly =
|
|
462
|
-
const query =
|
|
402
|
+
const readOnly = chunkACSEYJJF_cjs.useReadOnly(controller);
|
|
403
|
+
const query = chunkACSEYJJF_cjs.useEditorState(controller, queryAt);
|
|
463
404
|
if (readOnly || query === null || query.length < SHORTEST_QUERY) return null;
|
|
464
|
-
return /* @__PURE__ */
|
|
405
|
+
return /* @__PURE__ */ jsxRuntime.jsx(EmojiMatches, { controller, labels });
|
|
465
406
|
}
|
|
466
407
|
function EmojiMatches({ controller, labels }) {
|
|
467
|
-
const [failed, setFailed] =
|
|
468
|
-
const source =
|
|
469
|
-
const choose =
|
|
470
|
-
(emoji, range) => void
|
|
408
|
+
const [failed, setFailed] = react.useState(false);
|
|
409
|
+
const source = react.useMemo(() => emojiSource(SHOWN, () => setFailed(true)), []);
|
|
410
|
+
const choose = react.useCallback(
|
|
411
|
+
(emoji, range) => void chunkQEMGOL5L_cjs.replaceTrigger(controller, range, chunkVFSVN5IQ_cjs.insertText(emoji.emoji)),
|
|
471
412
|
[controller]
|
|
472
413
|
);
|
|
473
|
-
return /* @__PURE__ */
|
|
474
|
-
|
|
414
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
415
|
+
chunkQEMGOL5L_cjs.SuggestionMenu,
|
|
475
416
|
{
|
|
476
417
|
controller,
|
|
477
418
|
pluginKey: emojiKey,
|
|
@@ -485,20 +426,16 @@ function EmojiMatches({ controller, labels }) {
|
|
|
485
426
|
}
|
|
486
427
|
);
|
|
487
428
|
}
|
|
488
|
-
|
|
489
|
-
// src/extensions/emoji/emoji-extension.tsx
|
|
490
|
-
|
|
491
429
|
function emojiExtension(options = {}) {
|
|
492
430
|
const labels = resolveEmojiLabels(options.labels);
|
|
493
|
-
const Menu = ({ controller }) => /* @__PURE__ */
|
|
494
|
-
const Picker = ({ controller }) => /* @__PURE__ */
|
|
431
|
+
const Menu = ({ controller }) => /* @__PURE__ */ jsxRuntime.jsx(EmojiMenu, { controller, labels });
|
|
432
|
+
const Picker = ({ controller }) => /* @__PURE__ */ jsxRuntime.jsx(CalloutIconPicker, { controller, labels });
|
|
495
433
|
const ui = { blockMenuItems: [chooseIconAction(labels)], overlays: [Menu, Picker] };
|
|
496
|
-
return
|
|
434
|
+
return chunkVFSVN5IQ_cjs.defineExtension({ name: "emoji", plugins: [chunkQEMGOL5L_cjs.suggestionPlugin(emojiKey, { char: ":" })], ui });
|
|
497
435
|
}
|
|
498
436
|
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
//# sourceMappingURL=chunk-FDRUAL3Z.cjs.map
|
|
437
|
+
exports.emojiExtension = emojiExtension;
|
|
438
|
+
exports.englishEmojiLabels = englishEmojiLabels;
|
|
439
|
+
exports.loadEmojiData = loadEmojiData;
|
|
440
|
+
//# sourceMappingURL=chunk-WDO6DBYU.cjs.map
|
|
441
|
+
//# sourceMappingURL=chunk-WDO6DBYU.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/extensions/emoji/all-callouts.ts","../src/extensions/emoji/composing-key.ts","../src/extensions/emoji/emoji-name.ts","../src/extensions/emoji/grid-moves.ts","../src/extensions/emoji/EmojiGrids.tsx","../src/extensions/emoji/picker-layout.ts","../src/extensions/emoji/lazy-load.ts","../src/extensions/emoji/emoji-data.ts","../src/extensions/emoji/use-emoji-data.ts","../src/extensions/emoji/EmojiPicker.tsx","../src/extensions/emoji/icon-request.ts","../src/extensions/emoji/CalloutIconPicker.tsx","../src/extensions/emoji/choose-icon-action.ts","../src/extensions/emoji/emoji-key.ts","../src/extensions/emoji/emoji-labels.ts","../src/extensions/emoji/emoji-source.ts","../src/extensions/emoji/EmojiMenu.tsx","../src/extensions/emoji/emoji-extension.tsx"],"names":["blockById","cn","FOCUS_RING","memo","EmojiRow","jsx","forwardRef","EmojiGrids","useId","useState","useQuoin","useRef","useIsomorphicLayoutEffect","useEffect","toError","useMemo","jsxs","Input","useCallback","useSyncExternalStore","useReadOnly","useEditorState","usePartAnchor","runOnBlocks","noChange","setAttrs","useOutsidePress","Popover","PopoverAnchor","PopoverContent","preventDefault","bubblePart","styleTargets","SmilePlus","createPluginKey","getPluginState","Fragment","replaceTrigger","insertText","SuggestionMenu","defineExtension","suggestionPlugin"],"mappings":"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","file":"chunk-WDO6DBYU.cjs"}
|