quoin-editor 2.0.2 → 2.0.3
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 +13 -0
- package/dist/ai.cjs +34 -34
- package/dist/ai.js +3 -3
- package/dist/catalogue.cjs +21 -21
- package/dist/catalogue.js +12 -12
- package/dist/{chunk-NZFGAV3L.cjs → chunk-3B5VEXVQ.cjs} +2 -2
- package/dist/{chunk-RWSC47L7.cjs → chunk-4EJJ4ZNC.cjs} +18 -18
- package/dist/{chunk-F3BC5ITU.cjs → chunk-55MN4QZU.cjs} +8 -5
- package/dist/{chunk-TDXQSNFS.cjs → chunk-5URH2Y2L.cjs} +19 -19
- package/dist/{chunk-XLR2O4OK.js → chunk-77THE3KY.js} +5 -5
- package/dist/{chunk-XLR2O4OK.js.map → chunk-77THE3KY.js.map} +1 -1
- package/dist/{chunk-LBP64GKQ.cjs → chunk-BCCFJINI.cjs} +70 -65
- package/dist/{chunk-SE36LU6G.js → chunk-BNTRGV4A.js} +27 -10
- package/dist/chunk-BNTRGV4A.js.map +1 -0
- package/dist/{chunk-AVD2AI47.js → chunk-C4SRLMQJ.js} +3 -3
- package/dist/{chunk-AVD2AI47.js.map → chunk-C4SRLMQJ.js.map} +1 -1
- package/dist/{chunk-5VBDRJ5Y.cjs → chunk-DZ5XR4O6.cjs} +139 -117
- package/dist/{chunk-QIGZ5JAY.js → chunk-FGVTDIHT.js} +42 -19
- package/dist/chunk-FGVTDIHT.js.map +1 -0
- package/dist/{chunk-XC4WZTMY.cjs → chunk-H3TRVI44.cjs} +50 -50
- package/dist/{chunk-Z3GLEAOI.js → chunk-LCGOFL7S.js} +15 -10
- package/dist/{chunk-Z3GLEAOI.js.map → chunk-LCGOFL7S.js.map} +1 -1
- package/dist/{chunk-OBOIZ7L3.js → chunk-MDIXI7DM.js} +3 -3
- package/dist/{chunk-OBOIZ7L3.js.map → chunk-MDIXI7DM.js.map} +1 -1
- package/dist/{chunk-UKUAQJME.cjs → chunk-MGN332NY.cjs} +28 -7
- package/dist/{chunk-SHZGRFYY.cjs → chunk-NAMZA4NW.cjs} +14 -14
- package/dist/{chunk-ZHLNPNE2.js → chunk-NLRSAOCK.js} +5 -5
- package/dist/{chunk-ZHLNPNE2.js.map → chunk-NLRSAOCK.js.map} +1 -1
- package/dist/{chunk-RR67AKP6.cjs → chunk-OMUXPNCX.cjs} +27 -26
- package/dist/{chunk-DGKIKXB7.js → chunk-QVWNUUMJ.js} +3 -3
- package/dist/{chunk-DGKIKXB7.js.map → chunk-QVWNUUMJ.js.map} +1 -1
- package/dist/{chunk-4VCCGBXW.js → chunk-RNYETN6X.js} +4 -4
- package/dist/{chunk-4VCCGBXW.js.map → chunk-RNYETN6X.js.map} +1 -1
- package/dist/{chunk-YETMZ27Q.cjs → chunk-SDFJZNYB.cjs} +3 -3
- package/dist/{chunk-YYBPQ4TY.cjs → chunk-SQHEZ3JY.cjs} +2 -2
- package/dist/{chunk-JM5TRLEC.cjs → chunk-UWCU6PJY.cjs} +30 -30
- package/dist/{chunk-M7L444WV.js → chunk-VQDQBMQY.js} +4 -4
- package/dist/{chunk-M7L444WV.js.map → chunk-VQDQBMQY.js.map} +1 -1
- package/dist/{chunk-5A2MHCYI.js → chunk-WMM56LIB.js} +8 -5
- package/dist/{chunk-5A2MHCYI.js.map → chunk-WMM56LIB.js.map} +1 -1
- package/dist/{chunk-DT3ODGZ7.js → chunk-YHAVXOAA.js} +6 -5
- package/dist/chunk-YHAVXOAA.js.map +1 -0
- package/dist/{chunk-ZDNYIQKM.js → chunk-YWYTLNAO.js} +4 -4
- package/dist/{chunk-ZDNYIQKM.js.map → chunk-YWYTLNAO.js.map} +1 -1
- package/dist/comments.cjs +30 -30
- package/dist/comments.js +3 -3
- package/dist/diagram.cjs +6 -6
- package/dist/diagram.js +3 -3
- package/dist/embed.cjs +5 -5
- package/dist/embed.js +3 -3
- package/dist/emoji.cjs +6 -6
- package/dist/emoji.js +3 -3
- package/dist/find.cjs +7 -7
- package/dist/find.js +3 -3
- package/dist/headless.cjs +11 -11
- package/dist/headless.js +1 -1
- package/dist/highlight.cjs +3 -3
- package/dist/highlight.js +2 -2
- package/dist/index.cjs +23 -23
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/math.cjs +6 -6
- package/dist/math.js +4 -4
- package/dist/mention.cjs +6 -6
- package/dist/mention.js +4 -4
- package/dist/presence.cjs +12 -12
- package/dist/presence.js +3 -3
- package/dist/source.cjs +2 -2
- package/dist/source.js +2 -2
- package/dist/stats.cjs +6 -6
- package/dist/stats.js +3 -3
- package/dist/styles.css +1 -1
- package/dist/table.cjs +22 -22
- package/dist/table.js +3 -3
- package/dist/toc.cjs +6 -6
- package/dist/toc.js +3 -3
- package/package.json +3 -2
- package/dist/chunk-DT3ODGZ7.js.map +0 -1
- package/dist/chunk-QIGZ5JAY.js.map +0 -1
- package/dist/chunk-SE36LU6G.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { selectedAtomDecorations, atomKeymap, useSelectionOutOfAtoms, atomAtTarget, plainEnter, selectedAtom } from './chunk-
|
|
1
|
+
import { selectedAtomDecorations, atomKeymap, useSelectionOutOfAtoms, atomAtTarget, plainEnter, selectedAtom } from './chunk-WMM56LIB.js';
|
|
2
2
|
import { webAddress } from './chunk-DBOZFNWU.js';
|
|
3
|
-
import { suggestionPlugin, useQuoin, SuggestionMenu, replaceTrigger, toError, dismissSuggestion } from './chunk-
|
|
4
|
-
import { useReadOnly, useIsomorphicLayoutEffect, isComposingKey } from './chunk-
|
|
3
|
+
import { suggestionPlugin, useQuoin, SuggestionMenu, replaceTrigger, toError, dismissSuggestion } from './chunk-FGVTDIHT.js';
|
|
4
|
+
import { useReadOnly, useIsomorphicLayoutEffect, isComposingKey } from './chunk-BNTRGV4A.js';
|
|
5
5
|
import { mergeLabels } from './chunk-DLQCTGC3.js';
|
|
6
6
|
import { createPluginKey, defineExtension, getPluginState, runCommands, insertMention, insertText } from './chunk-5RBMZGKV.js';
|
|
7
7
|
import { useEffect, useRef, useMemo, useCallback, useState } from 'react';
|
|
@@ -268,5 +268,5 @@ function mentionExtension(options = {}) {
|
|
|
268
268
|
}
|
|
269
269
|
|
|
270
270
|
export { englishMentionLabels, mentionExtension };
|
|
271
|
-
//# sourceMappingURL=chunk-
|
|
272
|
-
//# sourceMappingURL=chunk-
|
|
271
|
+
//# sourceMappingURL=chunk-77THE3KY.js.map
|
|
272
|
+
//# sourceMappingURL=chunk-77THE3KY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/extensions/mention/mention-feature.ts","../src/extensions/mention/mention-key.ts","../src/extensions/mention/mention-labels.ts","../src/extensions/mention/MentionChip.ts","../src/extensions/mention/choose-mention.ts","../src/extensions/mention/mention-results.ts","../src/extensions/mention/mention-source.ts","../src/extensions/mention/use-close-on-space.ts","../src/extensions/mention/MentionItem.tsx","../src/extensions/mention/MentionMenu.tsx","../src/extensions/mention/use-mention-opening.ts","../src/extensions/mention/use-read-only-chips.ts","../src/extensions/mention/MentionOverlay.tsx","../src/extensions/mention/mention-extension.tsx"],"names":["jsx","useEffect"],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/extensions/mention/mention-feature.ts","../src/extensions/mention/mention-key.ts","../src/extensions/mention/mention-labels.ts","../src/extensions/mention/MentionChip.ts","../src/extensions/mention/choose-mention.ts","../src/extensions/mention/mention-results.ts","../src/extensions/mention/mention-source.ts","../src/extensions/mention/use-close-on-space.ts","../src/extensions/mention/MentionItem.tsx","../src/extensions/mention/MentionMenu.tsx","../src/extensions/mention/use-mention-opening.ts","../src/extensions/mention/use-read-only-chips.ts","../src/extensions/mention/MentionOverlay.tsx","../src/extensions/mention/mention-extension.tsx"],"names":["jsx","useEffect"],"mappings":"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","file":"chunk-77THE3KY.js"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkDZ5XR4O6_cjs = require('./chunk-DZ5XR4O6.cjs');
|
|
4
|
+
var chunkMGN332NY_cjs = require('./chunk-MGN332NY.cjs');
|
|
5
5
|
var chunkZWTIRGY5_cjs = require('./chunk-ZWTIRGY5.cjs');
|
|
6
6
|
var chunkFK7EBZPX_cjs = require('./chunk-FK7EBZPX.cjs');
|
|
7
7
|
var chunkI7X7B3WD_cjs = require('./chunk-I7X7B3WD.cjs');
|
|
@@ -168,7 +168,7 @@ function setCellsMark(type, attrs) {
|
|
|
168
168
|
var CONTROLS_SLOT = "data-quoin-table-controls";
|
|
169
169
|
var controlsSlot = (controller, blockId) => controller.blockElement(blockId)?.querySelector(`[${CONTROLS_SLOT}]`) ?? null;
|
|
170
170
|
var TableCell = react.memo(function TableCell2({ controller, blockId, row, col, header, align, label }) {
|
|
171
|
-
const inRange =
|
|
171
|
+
const inRange = chunkMGN332NY_cjs.useEditorState(
|
|
172
172
|
controller,
|
|
173
173
|
react.useCallback(
|
|
174
174
|
(state) => {
|
|
@@ -187,7 +187,7 @@ var TableCell = react.memo(function TableCell2({ controller, blockId, row, col,
|
|
|
187
187
|
"data-col": col,
|
|
188
188
|
"data-in-range": inRange ? "" : void 0,
|
|
189
189
|
style: align === null ? void 0 : { textAlign: align },
|
|
190
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
190
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkMGN332NY_cjs.EditableRegion, { block: blockId, region: chunkI7X7B3WD_cjs.cellKey(row, col), label, className: "quoin-table-text" })
|
|
191
191
|
}
|
|
192
192
|
);
|
|
193
193
|
});
|
|
@@ -464,7 +464,7 @@ function useCellPress(controller, blockId, table, editable) {
|
|
|
464
464
|
}, [controller, blockId, table, editable]);
|
|
465
465
|
}
|
|
466
466
|
function useRevealCell(controller, blockId) {
|
|
467
|
-
const region =
|
|
467
|
+
const region = chunkMGN332NY_cjs.useEditorState(
|
|
468
468
|
controller,
|
|
469
469
|
react.useCallback(
|
|
470
470
|
(state) => {
|
|
@@ -488,20 +488,20 @@ function caretAtGoal(controller, blockId, cell, direction) {
|
|
|
488
488
|
const region = chunkI7X7B3WD_cjs.cellKey(...cell);
|
|
489
489
|
const host = controller.registry.get(blockId, region);
|
|
490
490
|
const { goalX } = controller;
|
|
491
|
-
const line = host &&
|
|
491
|
+
const line = host && chunkMGN332NY_cjs.lineEdgeRect(host, direction < 0);
|
|
492
492
|
if (!host || !line || goalX === null) return null;
|
|
493
493
|
const box = host.getBoundingClientRect();
|
|
494
494
|
const x = Math.min(Math.max(goalX, box.left), box.right - 1);
|
|
495
|
-
const point =
|
|
496
|
-
const pos = point &&
|
|
495
|
+
const point = chunkMGN332NY_cjs.caretFromPoint(host.ownerDocument, x, line.top + line.height / 2);
|
|
496
|
+
const pos = point && chunkMGN332NY_cjs.domToPos(controller.registry, point.node, point.offset);
|
|
497
497
|
return pos && pos.block === blockId && pos.region === region ? pos : null;
|
|
498
498
|
}
|
|
499
499
|
var plainArrow = (event) => event.altKey || event.ctrlKey || event.metaKey ? void 0 : VERTICAL[event.key];
|
|
500
500
|
function caretOnEdgeLine(controller, head, direction) {
|
|
501
501
|
const host = controller.registry.get(head.block, head.region);
|
|
502
|
-
const point =
|
|
503
|
-
if (!host || !point || !(direction < 0 ?
|
|
504
|
-
return { left:
|
|
502
|
+
const point = chunkMGN332NY_cjs.posToDom(controller.registry, head);
|
|
503
|
+
if (!host || !point || !(direction < 0 ? chunkMGN332NY_cjs.isOnFirstLine(host, point) : chunkMGN332NY_cjs.isOnLastLine(host, point))) return null;
|
|
504
|
+
return { left: chunkMGN332NY_cjs.caretClientRect(point)?.left ?? null };
|
|
505
505
|
}
|
|
506
506
|
function columnAt(controller, blockId, row, x) {
|
|
507
507
|
const cells = Array.from(controller.blockElement(blockId)?.querySelector("table")?.rows[row]?.cells ?? []);
|
|
@@ -514,7 +514,7 @@ function enterTable(controller, blockId, event) {
|
|
|
514
514
|
const { selection } = state;
|
|
515
515
|
const block = tableBlock(state.doc, blockId);
|
|
516
516
|
if (direction === void 0 || event.shiftKey || block === null || selection?.kind !== "text") return false;
|
|
517
|
-
if (!chunkFK7EBZPX_cjs.isCollapsed(selection) ||
|
|
517
|
+
if (!chunkFK7EBZPX_cjs.isCollapsed(selection) || chunkMGN332NY_cjs.neighbourBlock(state.doc, selection.head.block, direction)?.id !== blockId) return false;
|
|
518
518
|
const caret = caretOnEdgeLine(controller, selection.head, direction);
|
|
519
519
|
if (caret === null) return false;
|
|
520
520
|
controller.goalX ??= caret.left;
|
|
@@ -554,17 +554,17 @@ function useTableKeys(controller, blockId, editable) {
|
|
|
554
554
|
react.useEffect(() => {
|
|
555
555
|
if (!editable) return;
|
|
556
556
|
const intercept = (event) => {
|
|
557
|
-
if (
|
|
557
|
+
if (chunkMGN332NY_cjs.isComposingKey(controller, event)) return false;
|
|
558
558
|
const handled = typeOver(controller, blockId, event) || moveBetweenRows(controller, blockId, event) || enterTable(controller, blockId, event);
|
|
559
559
|
if (handled) event.preventDefault();
|
|
560
560
|
return handled;
|
|
561
561
|
};
|
|
562
|
-
return
|
|
562
|
+
return chunkDZ5XR4O6_cjs.interceptKeys(controller, intercept);
|
|
563
563
|
}, [controller, blockId, editable]);
|
|
564
564
|
}
|
|
565
565
|
var indexes = (from, to) => Array.from({ length: Math.max(to - from, 0) }, (_, i) => from + i);
|
|
566
566
|
function TableBlock({ block, controller, labels }) {
|
|
567
|
-
const readOnly =
|
|
567
|
+
const readOnly = chunkMGN332NY_cjs.useReadOnly(controller);
|
|
568
568
|
const table = react.useRef(null);
|
|
569
569
|
const { rows, cols } = tableShape(block);
|
|
570
570
|
const header = block.attrs.header !== false && rows > 0;
|
|
@@ -588,7 +588,7 @@ function TableBlock({ block, controller, labels }) {
|
|
|
588
588
|
col
|
|
589
589
|
)) }, index);
|
|
590
590
|
const scroller = readOnly ? { role: "region", "aria-label": labels.table, tabIndex: 0 } : void 0;
|
|
591
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { contentEditable: false, className: "quoin-table", "data-readonly": readOnly ? "" : void 0, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `quoin-table-scroll ${readOnly ?
|
|
591
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { contentEditable: false, className: "quoin-table", "data-readonly": readOnly ? "" : void 0, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `quoin-table-scroll ${readOnly ? chunkDZ5XR4O6_cjs.FOCUS_RING : ""}`, ...scroller, children: [
|
|
592
592
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
593
593
|
"table",
|
|
594
594
|
{
|
|
@@ -640,7 +640,7 @@ function ColumnResizer(props) {
|
|
|
640
640
|
if (!controller.readOnly) controller.run(setColumnWidth(blockId, col, px, widths));
|
|
641
641
|
};
|
|
642
642
|
const onKeyDown = (event) => {
|
|
643
|
-
if (
|
|
643
|
+
if (chunkMGN332NY_cjs.isComposingKey(controller, event.nativeEvent)) return;
|
|
644
644
|
const step = event.shiftKey ? LARGE_STEP : STEP;
|
|
645
645
|
const tab = event.key === "Tab" && !event.altKey && !event.ctrlKey && !event.metaKey;
|
|
646
646
|
if (event.key === "ArrowLeft" || event.key === "ArrowRight") {
|
|
@@ -695,7 +695,7 @@ function ColumnResizer(props) {
|
|
|
695
695
|
"aria-valuetext": labels.columnWidth(width),
|
|
696
696
|
className: "quoin-table-resizer",
|
|
697
697
|
style,
|
|
698
|
-
...{ [
|
|
698
|
+
...{ [chunkMGN332NY_cjs.NATIVE_INTERACTION]: "" },
|
|
699
699
|
onKeyDown,
|
|
700
700
|
onPointerDown,
|
|
701
701
|
onPointerMove,
|
|
@@ -710,20 +710,20 @@ function HandleMenu({ controller, axis, label, style, items, open, onOpenChange,
|
|
|
710
710
|
if (controller.run(item3.command)) controller.announce(item3.done);
|
|
711
711
|
};
|
|
712
712
|
const item2 = (entry) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
713
|
-
|
|
713
|
+
chunkDZ5XR4O6_cjs.DropdownMenuItem,
|
|
714
714
|
{
|
|
715
715
|
disabled: entry.disabled,
|
|
716
716
|
className: entry.destructive ? DESTRUCTIVE : void 0,
|
|
717
717
|
onSelect: () => run(entry),
|
|
718
718
|
children: [
|
|
719
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
719
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.MenuIcon, { icon: entry.icon }),
|
|
720
720
|
entry.label
|
|
721
721
|
]
|
|
722
722
|
},
|
|
723
723
|
entry.id
|
|
724
724
|
);
|
|
725
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
726
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
725
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkDZ5XR4O6_cjs.DropdownMenu, { open, onOpenChange, children: [
|
|
726
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
727
727
|
"button",
|
|
728
728
|
{
|
|
729
729
|
ref: buttonRef,
|
|
@@ -733,22 +733,22 @@ function HandleMenu({ controller, axis, label, style, items, open, onOpenChange,
|
|
|
733
733
|
"data-axis": axis,
|
|
734
734
|
className: "quoin-table-handle",
|
|
735
735
|
style,
|
|
736
|
-
children: axis === "row" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
736
|
+
children: axis === "row" ? /* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.GripVertical, { "aria-hidden": "true" }) : /* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.GripHorizontal, { "aria-hidden": "true" })
|
|
737
737
|
}
|
|
738
738
|
) }),
|
|
739
739
|
open && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
740
|
-
|
|
740
|
+
chunkDZ5XR4O6_cjs.DropdownMenuContent,
|
|
741
741
|
{
|
|
742
742
|
align: "start",
|
|
743
743
|
"aria-label": label,
|
|
744
744
|
"aria-labelledby": void 0,
|
|
745
|
-
onCloseAutoFocus:
|
|
746
|
-
...
|
|
745
|
+
onCloseAutoFocus: chunkDZ5XR4O6_cjs.returnFocusToText(controller),
|
|
746
|
+
...chunkDZ5XR4O6_cjs.bubblePart(controller),
|
|
747
747
|
children: [
|
|
748
748
|
items.filter((entry) => !entry.destructive).map(item2),
|
|
749
749
|
children,
|
|
750
750
|
items.filter((entry) => entry.destructive).map((entry) => /* @__PURE__ */ jsxRuntime.jsxs(react.Fragment, { children: [
|
|
751
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
751
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.DropdownMenuSeparator, {}),
|
|
752
752
|
item2(entry)
|
|
753
753
|
] }, entry.id))
|
|
754
754
|
]
|
|
@@ -762,31 +762,35 @@ var item = (id, label, icon, command, done, options = {}) => ({ id, label, icon,
|
|
|
762
762
|
function rowMenuItems(labels, blockId, row, { rows }) {
|
|
763
763
|
const { rowInserted, rowMoved, rowDeleted } = labels;
|
|
764
764
|
return [
|
|
765
|
-
item("above", labels.insertRowAbove,
|
|
766
|
-
item("below", labels.insertRowBelow,
|
|
767
|
-
item("up", labels.moveRowUp,
|
|
768
|
-
item("down", labels.moveRowDown,
|
|
769
|
-
item("delete", labels.deleteRow,
|
|
765
|
+
item("above", labels.insertRowAbove, chunkDZ5XR4O6_cjs.ArrowUpToLine, addRow(blockId, row), rowInserted),
|
|
766
|
+
item("below", labels.insertRowBelow, chunkDZ5XR4O6_cjs.ArrowDownToLine, addRow(blockId, row + 1), rowInserted),
|
|
767
|
+
item("up", labels.moveRowUp, chunkDZ5XR4O6_cjs.ArrowUp, moveRow(blockId, row, row - 1), rowMoved, { disabled: row === 0 }),
|
|
768
|
+
item("down", labels.moveRowDown, chunkDZ5XR4O6_cjs.ArrowDown, moveRow(blockId, row, row + 1), rowMoved, { disabled: row === rows - 1 }),
|
|
769
|
+
item("delete", labels.deleteRow, chunkDZ5XR4O6_cjs.Trash, removeRow(blockId, row), rowDeleted, { disabled: rows === 1, destructive: true })
|
|
770
770
|
];
|
|
771
771
|
}
|
|
772
|
-
function columnMenuItems(labels, blockId, col, { cols }) {
|
|
772
|
+
function columnMenuItems(labels, blockId, col, { cols }, direction = "ltr") {
|
|
773
773
|
const { columnInserted, columnMoved, columnDeleted } = labels;
|
|
774
|
+
const onTheRight = direction === "rtl" ? col - 1 : col + 1;
|
|
775
|
+
const onTheLeft = direction === "rtl" ? col + 1 : col - 1;
|
|
776
|
+
const first = col === 0;
|
|
774
777
|
const last = col === cols - 1;
|
|
778
|
+
const [leftEdge, rightEdge] = direction === "rtl" ? [last, first] : [first, last];
|
|
775
779
|
return [
|
|
776
|
-
item("left", labels.insertColumnLeft,
|
|
777
|
-
item("right", labels.insertColumnRight,
|
|
778
|
-
item("move-left", labels.moveColumnLeft,
|
|
779
|
-
item("move-right", labels.moveColumnRight,
|
|
780
|
-
item("delete", labels.deleteColumn,
|
|
780
|
+
item("left", labels.insertColumnLeft, chunkDZ5XR4O6_cjs.ArrowLeftToLine, addColumn(blockId, direction === "rtl" ? col + 1 : col), columnInserted),
|
|
781
|
+
item("right", labels.insertColumnRight, chunkDZ5XR4O6_cjs.ArrowRightToLine, addColumn(blockId, direction === "rtl" ? col : col + 1), columnInserted),
|
|
782
|
+
item("move-left", labels.moveColumnLeft, chunkDZ5XR4O6_cjs.ArrowLeft, moveColumn(blockId, col, onTheLeft), columnMoved, { disabled: leftEdge }),
|
|
783
|
+
item("move-right", labels.moveColumnRight, chunkDZ5XR4O6_cjs.ArrowRight, moveColumn(blockId, col, onTheRight), columnMoved, { disabled: rightEdge }),
|
|
784
|
+
item("delete", labels.deleteColumn, chunkDZ5XR4O6_cjs.Trash, removeColumn(blockId, col), columnDeleted, {
|
|
781
785
|
disabled: cols === 1,
|
|
782
786
|
destructive: true
|
|
783
787
|
})
|
|
784
788
|
];
|
|
785
789
|
}
|
|
786
790
|
var alignItems = (labels) => [
|
|
787
|
-
{ value: "left", label: labels.alignLeft, icon:
|
|
788
|
-
{ value: "center", label: labels.alignCenter, icon:
|
|
789
|
-
{ value: "right", label: labels.alignRight, icon:
|
|
791
|
+
{ value: "left", label: labels.alignLeft, icon: chunkDZ5XR4O6_cjs.AlignLeft, done: labels.alignedLeft },
|
|
792
|
+
{ value: "center", label: labels.alignCenter, icon: chunkDZ5XR4O6_cjs.AlignCenter, done: labels.alignedCenter },
|
|
793
|
+
{ value: "right", label: labels.alignRight, icon: chunkDZ5XR4O6_cjs.AlignRight, done: labels.alignedRight }
|
|
790
794
|
];
|
|
791
795
|
var BESIDE = 4;
|
|
792
796
|
var end = (span) => span.start + span.size;
|
|
@@ -798,6 +802,7 @@ var middle = (span) => span.start + span.size / 2;
|
|
|
798
802
|
var isTab = (event) => event.key === "Tab" && !event.altKey && !event.ctrlKey && !event.metaKey;
|
|
799
803
|
function TableHandles(props) {
|
|
800
804
|
const { controller, labels, block, target, geometry, menu, onMenu, onHold, focusRequested, onFocused } = props;
|
|
805
|
+
const direction = controller.root === null ? "ltr" : chunkMGN332NY_cjs.inlineDirection(controller.root);
|
|
801
806
|
const rowHandle = react.useRef(null);
|
|
802
807
|
const columnHandle = react.useRef(null);
|
|
803
808
|
const resizer = react.useRef(null);
|
|
@@ -809,7 +814,7 @@ function TableHandles(props) {
|
|
|
809
814
|
const { rowEdge, colEdge } = target;
|
|
810
815
|
const rowInsertAt = edgeOf(geometry.rows, rowEdge);
|
|
811
816
|
const columnInsertAt = edgeOf(geometry.cols, colEdge);
|
|
812
|
-
|
|
817
|
+
chunkMGN332NY_cjs.useIsomorphicLayoutEffect(() => {
|
|
813
818
|
if (!focusRequested) return;
|
|
814
819
|
(columnHandle.current ?? rowHandle.current)?.focus();
|
|
815
820
|
onFocused();
|
|
@@ -820,7 +825,7 @@ function TableHandles(props) {
|
|
|
820
825
|
const onKeyDown = (event) => {
|
|
821
826
|
const handles = [rowHandle.current, columnHandle.current].filter((handle) => handle !== null);
|
|
822
827
|
const index = handles.indexOf(event.target);
|
|
823
|
-
if (index === -1 ||
|
|
828
|
+
if (index === -1 || chunkMGN332NY_cjs.isComposingKey(controller, event.nativeEvent)) return;
|
|
824
829
|
if (event.key === "ArrowLeft" || event.key === "ArrowRight") handles[(index + 1) % handles.length].focus();
|
|
825
830
|
else if (isTab(event) && !event.shiftKey && resizer.current !== null) resizer.current.focus();
|
|
826
831
|
else if (isTab(event) || event.key === "Escape") controller.focus();
|
|
@@ -858,7 +863,7 @@ function TableHandles(props) {
|
|
|
858
863
|
onOpenChange: opener("row"),
|
|
859
864
|
buttonRef: rowHandle,
|
|
860
865
|
children: row === 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
861
|
-
|
|
866
|
+
chunkDZ5XR4O6_cjs.DropdownMenuCheckboxItem,
|
|
862
867
|
{
|
|
863
868
|
checked: block.attrs.header !== false,
|
|
864
869
|
onCheckedChange: (on) => run(toggleHeaderRow(block.id), on ? labels.headerRowOn : labels.headerRowOff),
|
|
@@ -874,19 +879,19 @@ function TableHandles(props) {
|
|
|
874
879
|
axis: "column",
|
|
875
880
|
label: labels.columnOptions(col + 1),
|
|
876
881
|
style: place(middle(geometry.cols[col]), geometry.top),
|
|
877
|
-
items: columnMenuItems(labels, block.id, col, shape),
|
|
882
|
+
items: columnMenuItems(labels, block.id, col, shape, direction),
|
|
878
883
|
open: menu === "column",
|
|
879
884
|
onOpenChange: opener("column"),
|
|
880
885
|
buttonRef: columnHandle,
|
|
881
886
|
children: [
|
|
882
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
883
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
884
|
-
|
|
887
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.DropdownMenuSeparator, {}),
|
|
888
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.DropdownMenuRadioGroup, { value: align ?? "", children: alignItems(labels).map(({ value, label, icon, done }) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
889
|
+
chunkDZ5XR4O6_cjs.DropdownMenuRadioItem,
|
|
885
890
|
{
|
|
886
891
|
value,
|
|
887
892
|
onSelect: () => align === value ? run(setColumnAlign(block.id, col, null), labels.alignmentCleared) : run(setColumnAlign(block.id, col, value), done),
|
|
888
893
|
children: [
|
|
889
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
894
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.MenuIcon, { icon }),
|
|
890
895
|
label
|
|
891
896
|
]
|
|
892
897
|
},
|
|
@@ -905,10 +910,10 @@ function TableHandles(props) {
|
|
|
905
910
|
"data-axis": "row",
|
|
906
911
|
className: "quoin-table-insert",
|
|
907
912
|
style: place(geometry.left - BESIDE, rowInsertAt),
|
|
908
|
-
onPointerDown:
|
|
909
|
-
onMouseDown:
|
|
913
|
+
onPointerDown: chunkDZ5XR4O6_cjs.keepFocus,
|
|
914
|
+
onMouseDown: chunkDZ5XR4O6_cjs.keepFocus,
|
|
910
915
|
onClick: () => run(addRow(block.id, rowEdge), labels.rowInserted),
|
|
911
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
916
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.Plus, { "aria-hidden": "true" })
|
|
912
917
|
}
|
|
913
918
|
),
|
|
914
919
|
colEdge !== null && columnInsertAt !== null && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -920,10 +925,10 @@ function TableHandles(props) {
|
|
|
920
925
|
"data-axis": "column",
|
|
921
926
|
className: "quoin-table-insert",
|
|
922
927
|
style: place(columnInsertAt, geometry.top),
|
|
923
|
-
onPointerDown:
|
|
924
|
-
onMouseDown:
|
|
928
|
+
onPointerDown: chunkDZ5XR4O6_cjs.keepFocus,
|
|
929
|
+
onMouseDown: chunkDZ5XR4O6_cjs.keepFocus,
|
|
925
930
|
onClick: () => run(addColumn(block.id, colEdge), labels.columnInserted),
|
|
926
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
931
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkDZ5XR4O6_cjs.Plus, { "aria-hidden": "true" })
|
|
927
932
|
}
|
|
928
933
|
)
|
|
929
934
|
] });
|
|
@@ -964,7 +969,7 @@ function edgeNear(spans, at, reach) {
|
|
|
964
969
|
// src/extensions/table/use-table-geometry.ts
|
|
965
970
|
function useTableGeometry(controller, blockId, slot) {
|
|
966
971
|
const [geometry, setGeometry] = react.useState(null);
|
|
967
|
-
|
|
972
|
+
chunkMGN332NY_cjs.useIsomorphicLayoutEffect(() => {
|
|
968
973
|
const table = controller.blockElement(blockId)?.querySelector("table");
|
|
969
974
|
const view = slot.ownerDocument.defaultView;
|
|
970
975
|
if (!table || !view) return;
|
|
@@ -998,7 +1003,7 @@ function useCutCells(controller) {
|
|
|
998
1003
|
const onCut = (event) => {
|
|
999
1004
|
if (controller.readOnly || cellSelection(controller.editor.state) === null) return;
|
|
1000
1005
|
event.stopPropagation();
|
|
1001
|
-
|
|
1006
|
+
chunkMGN332NY_cjs.handleCopy(controller, event, false);
|
|
1002
1007
|
controller.run(deleteCellContents);
|
|
1003
1008
|
};
|
|
1004
1009
|
root.addEventListener("cut", onCut, true);
|
|
@@ -1042,9 +1047,9 @@ function focusOf(root) {
|
|
|
1042
1047
|
function useTableTarget(controller, held) {
|
|
1043
1048
|
const [hovered, setHovered] = react.useState(null);
|
|
1044
1049
|
const [focus, setFocus] = react.useState("none");
|
|
1045
|
-
const caret =
|
|
1050
|
+
const caret = chunkMGN332NY_cjs.useEditorState(controller, caretTarget, sameTarget);
|
|
1046
1051
|
const hoveredBlock = hovered?.target.block ?? null;
|
|
1047
|
-
const shape =
|
|
1052
|
+
const shape = chunkMGN332NY_cjs.useEditorState(
|
|
1048
1053
|
controller,
|
|
1049
1054
|
react.useCallback((state) => hoveredBlock === null ? null : shapeOf(state, hoveredBlock), [hoveredBlock])
|
|
1050
1055
|
);
|
|
@@ -1085,14 +1090,14 @@ function useTableTarget(controller, held) {
|
|
|
1085
1090
|
var isFocusKey = (event) => event.key === "F10" && event.altKey && !event.ctrlKey && !event.metaKey && !event.shiftKey;
|
|
1086
1091
|
var takesFocusKey = (state) => chunkFK7EBZPX_cjs.isCollapsed(state.selection) || cellSelection(state) !== null;
|
|
1087
1092
|
function TableControls({ controller, labels }) {
|
|
1088
|
-
const readOnly =
|
|
1093
|
+
const readOnly = chunkMGN332NY_cjs.useReadOnly(controller);
|
|
1089
1094
|
const [held, setHeld] = react.useState(null);
|
|
1090
1095
|
const [focusFor, setFocusFor] = react.useState(null);
|
|
1091
1096
|
const [slot, setSlot] = react.useState(null);
|
|
1092
1097
|
const target = useTableTarget(controller, held?.target ?? null);
|
|
1093
1098
|
useCutCells(controller);
|
|
1094
1099
|
const blockId = target?.block ?? null;
|
|
1095
|
-
const block =
|
|
1100
|
+
const block = chunkMGN332NY_cjs.useEditorState(
|
|
1096
1101
|
controller,
|
|
1097
1102
|
react.useCallback((state) => blockId === null ? null : tableBlock(state.doc, blockId), [blockId])
|
|
1098
1103
|
);
|
|
@@ -1109,13 +1114,13 @@ function TableControls({ controller, labels }) {
|
|
|
1109
1114
|
const intercept = (event) => {
|
|
1110
1115
|
const { state } = controller.editor;
|
|
1111
1116
|
const caret = caretTarget(state);
|
|
1112
|
-
if (!isFocusKey(event) ||
|
|
1117
|
+
if (!isFocusKey(event) || chunkMGN332NY_cjs.isComposingKey(controller, event) || caret === null || !takesFocusKey(state)) return false;
|
|
1113
1118
|
event.preventDefault();
|
|
1114
1119
|
setHeld({ target: caret, menu: null });
|
|
1115
1120
|
setFocusFor(caret.block);
|
|
1116
1121
|
return true;
|
|
1117
1122
|
};
|
|
1118
|
-
return
|
|
1123
|
+
return chunkDZ5XR4O6_cjs.interceptKeys(controller, intercept);
|
|
1119
1124
|
}, [controller, readOnly]);
|
|
1120
1125
|
const onMenu = react.useCallback(
|
|
1121
1126
|
(menu) => setHeld(menu === null || target === null || block === null ? null : { target, menu, opened: block }),
|
|
@@ -1126,7 +1131,7 @@ function TableControls({ controller, labels }) {
|
|
|
1126
1131
|
setFocusFor(null);
|
|
1127
1132
|
setHeld((current) => current?.menu === null ? null : current);
|
|
1128
1133
|
}, []);
|
|
1129
|
-
|
|
1134
|
+
chunkMGN332NY_cjs.useIsomorphicLayoutEffect(() => {
|
|
1130
1135
|
const drawn = block === null || readOnly ? null : controlsSlot(controller, block.id);
|
|
1131
1136
|
setSlot((current) => current === drawn ? current : drawn);
|
|
1132
1137
|
});
|
|
@@ -1204,7 +1209,7 @@ var tableSlashItem = (labels) => ({
|
|
|
1204
1209
|
title: labels.table,
|
|
1205
1210
|
description: labels.tableDescription,
|
|
1206
1211
|
group: "advanced",
|
|
1207
|
-
icon:
|
|
1212
|
+
icon: chunkDZ5XR4O6_cjs.Table,
|
|
1208
1213
|
keywords: ["grid", "rows", "columns", "spreadsheet", "|"],
|
|
1209
1214
|
command: () => insertTable(NEW_TABLE.rows, NEW_TABLE.cols)
|
|
1210
1215
|
});
|
|
@@ -2040,6 +2040,11 @@ function createDomInputFallback(controller) {
|
|
|
2040
2040
|
};
|
|
2041
2041
|
}
|
|
2042
2042
|
|
|
2043
|
+
// src/ui/direction.ts
|
|
2044
|
+
var inlineDirection = (element) => getComputedStyle(element).direction === "rtl" ? "rtl" : "ltr";
|
|
2045
|
+
var MIRRORED = { ArrowLeft: "ArrowRight", ArrowRight: "ArrowLeft" };
|
|
2046
|
+
var arrowAsWritten = (key, direction) => direction === "rtl" && Object.hasOwn(MIRRORED, key) ? MIRRORED[key] : key;
|
|
2047
|
+
|
|
2043
2048
|
// src/view/navigation/cross-moves.ts
|
|
2044
2049
|
function moveHead(controller, { anchor }, head) {
|
|
2045
2050
|
dispatchSelection(controller, textSelection(anchor, head));
|
|
@@ -2286,13 +2291,19 @@ var ARROWS = {
|
|
|
2286
2291
|
ArrowLeft: [moveHorizontally, -1],
|
|
2287
2292
|
ArrowRight: [moveHorizontally, 1]
|
|
2288
2293
|
};
|
|
2294
|
+
var written = (controller, key) => controller.root === null ? key : arrowAsWritten(key, inlineDirection(controller.root));
|
|
2289
2295
|
function isComposingKey(controller, event) {
|
|
2290
2296
|
return event.isComposing || event.keyCode === 229 || controller.composingKey !== null;
|
|
2291
2297
|
}
|
|
2292
|
-
var runKeymap = (controller, event) =>
|
|
2298
|
+
var runKeymap = (controller, event) => {
|
|
2299
|
+
const name = written(controller, event.key);
|
|
2300
|
+
const { altKey, ctrlKey, metaKey, shiftKey } = event;
|
|
2301
|
+
const key = name === event.key ? event : { key: name, altKey, ctrlKey, metaKey, shiftKey };
|
|
2302
|
+
return controller.edit(() => controller.editor.handleKey(key));
|
|
2303
|
+
};
|
|
2293
2304
|
function arrow(controller, event) {
|
|
2294
2305
|
if (!Object.hasOwn(ARROWS, event.key) || event.ctrlKey || event.metaKey) return false;
|
|
2295
|
-
const [move, direction] = ARROWS[event.key];
|
|
2306
|
+
const [move, direction] = ARROWS[written(controller, event.key)];
|
|
2296
2307
|
return move(controller, direction, event.shiftKey);
|
|
2297
2308
|
}
|
|
2298
2309
|
var isMod = (controller, event) => controller.isMac ? event.metaKey && !event.ctrlKey : event.ctrlKey && !event.metaKey;
|
|
@@ -2449,15 +2460,15 @@ var selectionPoints = (selection) => [
|
|
|
2449
2460
|
];
|
|
2450
2461
|
var samePoints = (a, b) => a.every((point, index) => point === b[index]);
|
|
2451
2462
|
function createSelectionSync(doc, onChange) {
|
|
2452
|
-
let
|
|
2463
|
+
let written2 = null;
|
|
2453
2464
|
let expiry = null;
|
|
2454
2465
|
function release() {
|
|
2455
|
-
|
|
2466
|
+
written2 = null;
|
|
2456
2467
|
if (expiry !== null) clearTimeout(expiry);
|
|
2457
2468
|
expiry = null;
|
|
2458
2469
|
}
|
|
2459
2470
|
function handle2() {
|
|
2460
|
-
const suppressed =
|
|
2471
|
+
const suppressed = written2;
|
|
2461
2472
|
release();
|
|
2462
2473
|
if (suppressed === null || !samePoints(suppressed, selectionPoints(doc.getSelection()))) onChange();
|
|
2463
2474
|
}
|
|
@@ -2468,7 +2479,7 @@ function createSelectionSync(doc, onChange) {
|
|
|
2468
2479
|
release();
|
|
2469
2480
|
},
|
|
2470
2481
|
suppressNext() {
|
|
2471
|
-
|
|
2482
|
+
written2 = selectionPoints(doc.getSelection());
|
|
2472
2483
|
expiry ??= setTimeout(release, 0);
|
|
2473
2484
|
}
|
|
2474
2485
|
};
|
|
@@ -3022,8 +3033,14 @@ function blockStatus(state, id, choices = NO_CHOICES) {
|
|
|
3022
3033
|
if (isHiddenAt(state.doc, index, choices)) return "hidden";
|
|
3023
3034
|
return covers(state, id, index) ? "selected" : "plain";
|
|
3024
3035
|
}
|
|
3036
|
+
|
|
3037
|
+
// src/view/react/callout-tones.ts
|
|
3038
|
+
var CALLOUT_TONES = ["info", "tip", "success", "warning", "danger"];
|
|
3039
|
+
function calloutTone(value) {
|
|
3040
|
+
return CALLOUT_TONES.find((tone) => tone === value) ?? "info";
|
|
3041
|
+
}
|
|
3025
3042
|
var CalloutBlock = ({ block }) => {
|
|
3026
|
-
const tone =
|
|
3043
|
+
const tone = calloutTone(block.attrs.tone);
|
|
3027
3044
|
return /* @__PURE__ */ jsx("div", { className: "quoin-callout", "data-tone": tone, children: /* @__PURE__ */ jsx(EditableRegion, { block: block.id, region: "body", label: `Callout, ${tone}` }) });
|
|
3028
3045
|
};
|
|
3029
3046
|
|
|
@@ -3303,6 +3320,6 @@ function EditorView({
|
|
|
3303
3320
|
) });
|
|
3304
3321
|
}
|
|
3305
3322
|
|
|
3306
|
-
export { BlockErrorContext, EditableRegion, EditorView, NATIVE_INTERACTION, NODE_ENTRY, TaskCheckbox, ToggleChevron, ViewController, caretClientRect, caretFromPoint, createAutoScroll, dispatchSelection, domMapOf, domToPos, drawnBlockCount, focusOwners, handleCopy, hostKey, isComposingKey, isOnFirstLine, isOnLastLine, lineEdgeRect, listen, moveToNeighbour, neighbourBlock, onBlock, posToDom, regionInline, renderInline, textDiff, useBlockDomId, useEditorState, useIsomorphicLayoutEffect, useOrderedNumber, useQuoinEditor, useReadOnly, useRegionDomId, useToggleOpen, useViewController, visibleBlockIndexes, wholeState };
|
|
3307
|
-
//# sourceMappingURL=chunk-
|
|
3308
|
-
//# sourceMappingURL=chunk-
|
|
3323
|
+
export { BlockErrorContext, CALLOUT_TONES, EditableRegion, EditorView, NATIVE_INTERACTION, NODE_ENTRY, TaskCheckbox, ToggleChevron, ViewController, arrowAsWritten, calloutTone, caretClientRect, caretFromPoint, createAutoScroll, dispatchSelection, domMapOf, domToPos, drawnBlockCount, focusOwners, handleCopy, hostKey, inlineDirection, isComposingKey, isOnFirstLine, isOnLastLine, lineEdgeRect, listen, moveToNeighbour, neighbourBlock, onBlock, posToDom, regionInline, renderInline, textDiff, useBlockDomId, useEditorState, useIsomorphicLayoutEffect, useOrderedNumber, useQuoinEditor, useReadOnly, useRegionDomId, useToggleOpen, useViewController, visibleBlockIndexes, wholeState };
|
|
3324
|
+
//# sourceMappingURL=chunk-BNTRGV4A.js.map
|
|
3325
|
+
//# sourceMappingURL=chunk-BNTRGV4A.js.map
|