quoin-editor 1.2.1 → 1.2.2
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 +11 -0
- package/README.md +15 -5
- package/dist/ai.cjs +66 -66
- package/dist/ai.js +5 -5
- package/dist/catalogue.cjs +20 -20
- package/dist/catalogue.js +12 -12
- package/dist/{chunk-2IY3LET7.js → chunk-25HNTVEI.js} +3 -3
- package/dist/{chunk-2IY3LET7.js.map → chunk-25HNTVEI.js.map} +1 -1
- package/dist/{chunk-YWPFC2PX.cjs → chunk-35CHEARK.cjs} +38 -38
- package/dist/{chunk-YWPFC2PX.cjs.map → chunk-35CHEARK.cjs.map} +1 -1
- package/dist/{chunk-D4ISVKWS.js → chunk-4D7HZRNC.js} +3 -3
- package/dist/{chunk-D4ISVKWS.js.map → chunk-4D7HZRNC.js.map} +1 -1
- package/dist/{chunk-4WRIGF7F.js → chunk-4HFE3YFF.js} +6 -6
- package/dist/{chunk-4WRIGF7F.js.map → chunk-4HFE3YFF.js.map} +1 -1
- package/dist/{chunk-O2VMWE4B.cjs → chunk-5ANJW76W.cjs} +20 -20
- package/dist/{chunk-O2VMWE4B.cjs.map → chunk-5ANJW76W.cjs.map} +1 -1
- package/dist/{chunk-I4KBYVSC.cjs → chunk-A5LIN7FO.cjs} +26 -26
- package/dist/{chunk-I4KBYVSC.cjs.map → chunk-A5LIN7FO.cjs.map} +1 -1
- package/dist/{chunk-EXSNIIOR.cjs → chunk-BJIWN7BQ.cjs} +10 -10
- package/dist/{chunk-EXSNIIOR.cjs.map → chunk-BJIWN7BQ.cjs.map} +1 -1
- package/dist/{chunk-HPQM33PG.js → chunk-BNUQ647G.js} +6 -6
- package/dist/{chunk-HPQM33PG.js.map → chunk-BNUQ647G.js.map} +1 -1
- package/dist/{chunk-535R45JI.js → chunk-BR25RE7U.js} +5 -5
- package/dist/{chunk-535R45JI.js.map → chunk-BR25RE7U.js.map} +1 -1
- package/dist/{chunk-XWKFBLFO.js → chunk-CCOPHCXX.js} +46 -6
- package/dist/chunk-CCOPHCXX.js.map +1 -0
- package/dist/{chunk-YVMPIIMO.cjs → chunk-CZ5ZXBWC.cjs} +224 -225
- package/dist/chunk-CZ5ZXBWC.cjs.map +1 -0
- package/dist/{chunk-WYGSUSZF.cjs → chunk-DQV37F7J.cjs} +66 -66
- package/dist/{chunk-WYGSUSZF.cjs.map → chunk-DQV37F7J.cjs.map} +1 -1
- package/dist/{chunk-3XPVCSFT.js → chunk-FOEEDJ5R.js} +5 -5
- package/dist/{chunk-3XPVCSFT.js.map → chunk-FOEEDJ5R.js.map} +1 -1
- package/dist/{chunk-LROGC3SI.cjs → chunk-G37GQ5JE.cjs} +3 -2
- package/dist/{chunk-LROGC3SI.cjs.map → chunk-G37GQ5JE.cjs.map} +1 -1
- package/dist/{chunk-B3RY7TN2.js → chunk-I7OOIEZZ.js} +5 -5
- package/dist/{chunk-B3RY7TN2.js.map → chunk-I7OOIEZZ.js.map} +1 -1
- package/dist/{chunk-BGPFGNCL.cjs → chunk-IGEWAL2J.cjs} +29 -29
- package/dist/{chunk-BGPFGNCL.cjs.map → chunk-IGEWAL2J.cjs.map} +1 -1
- package/dist/{chunk-O4APV37F.js → chunk-J552D3A7.js} +11 -12
- package/dist/chunk-J552D3A7.js.map +1 -0
- package/dist/{chunk-C4MLW2QA.cjs → chunk-JYKSWEXT.cjs} +6 -6
- package/dist/{chunk-C4MLW2QA.cjs.map → chunk-JYKSWEXT.cjs.map} +1 -1
- package/dist/{chunk-5QLDX75X.cjs → chunk-K7JEN3KT.cjs} +4 -4
- package/dist/{chunk-5QLDX75X.cjs.map → chunk-K7JEN3KT.cjs.map} +1 -1
- package/dist/{chunk-LXSVDRMH.cjs → chunk-KMIWUFNM.cjs} +75 -75
- package/dist/{chunk-LXSVDRMH.cjs.map → chunk-KMIWUFNM.cjs.map} +1 -1
- package/dist/{chunk-4EJ4EGGH.js → chunk-KXOAV7AT.js} +3 -3
- package/dist/{chunk-4EJ4EGGH.js.map → chunk-KXOAV7AT.js.map} +1 -1
- package/dist/{chunk-4SRXM2VS.cjs → chunk-OGBD74IR.cjs} +126 -86
- package/dist/chunk-OGBD74IR.cjs.map +1 -0
- package/dist/{chunk-PX5CFG5J.js → chunk-SAPLIQF2.js} +4 -4
- package/dist/{chunk-PX5CFG5J.js.map → chunk-SAPLIQF2.js.map} +1 -1
- package/dist/{chunk-XT2ZKIYS.cjs → chunk-SCFW4JFT.cjs} +38 -38
- package/dist/{chunk-XT2ZKIYS.cjs.map → chunk-SCFW4JFT.cjs.map} +1 -1
- package/dist/{chunk-XYR7JW23.js → chunk-TARBFPWC.js} +6 -6
- package/dist/{chunk-XYR7JW23.js.map → chunk-TARBFPWC.js.map} +1 -1
- package/dist/{chunk-7GDKCDU4.js → chunk-Y7UKOBSY.js} +5 -5
- package/dist/{chunk-7GDKCDU4.js.map → chunk-Y7UKOBSY.js.map} +1 -1
- package/dist/{chunk-RIGAO2QT.js → chunk-YCVNFRL3.js} +4 -4
- package/dist/{chunk-RIGAO2QT.js.map → chunk-YCVNFRL3.js.map} +1 -1
- package/dist/{chunk-RBYK3RGX.cjs → chunk-ZVCBTQA3.cjs} +10 -10
- package/dist/{chunk-RBYK3RGX.cjs.map → chunk-ZVCBTQA3.cjs.map} +1 -1
- package/dist/comments.cjs +48 -48
- package/dist/comments.js +4 -4
- package/dist/docx.cjs +1 -1
- package/dist/docx.js +1 -1
- package/dist/embed.cjs +6 -6
- package/dist/embed.js +4 -4
- package/dist/emoji.cjs +7 -7
- package/dist/emoji.js +4 -4
- package/dist/engine.cjs +43 -43
- package/dist/engine.js +1 -1
- package/dist/find.cjs +8 -8
- package/dist/find.js +4 -4
- package/dist/headless.cjs +59 -59
- package/dist/headless.d.cts +2 -2
- package/dist/headless.d.ts +2 -2
- package/dist/headless.js +2 -2
- package/dist/index.cjs +71 -71
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +3 -3
- package/dist/math.cjs +7 -7
- package/dist/math.js +5 -5
- package/dist/mention.cjs +7 -7
- package/dist/mention.js +5 -5
- package/dist/presence.cjs +33 -33
- package/dist/presence.js +5 -5
- package/dist/stats.cjs +7 -7
- package/dist/stats.d.cts +1 -1
- package/dist/stats.d.ts +1 -1
- package/dist/stats.js +4 -4
- package/dist/styles.css +1 -1
- package/dist/table.cjs +23 -23
- package/dist/table.js +4 -4
- package/dist/toc.cjs +7 -7
- package/dist/toc.js +4 -4
- package/dist/{view-controller-BD1KwYfE.d.cts → view-controller-cxQJ5rQb.d.cts} +7 -0
- package/dist/{view-controller-y4cb60ue.d.ts → view-controller-zNqHm_Qg.d.ts} +7 -0
- package/dist/yjs.cjs +99 -99
- package/dist/yjs.js +3 -3
- package/package.json +1 -1
- package/dist/chunk-4SRXM2VS.cjs.map +0 -1
- package/dist/chunk-O4APV37F.js.map +0 -1
- package/dist/chunk-XWKFBLFO.js.map +0 -1
- package/dist/chunk-YVMPIIMO.cjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
Every release of `quoin-editor` is listed here, newest first, in the spirit of [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). From 1.0.0 the package follows [semantic versioning](https://semver.org/): a breaking change waits for the next major version. Until then, Quoin was 0.x and a minor version could contain breaking changes; those known at release were marked "Breaking". The 0.x sections are kept as they were released, "Docs" headings included. Moving from 0.4 to 1.0 is covered step by step in [MIGRATION.md](MIGRATION.md). Review finding ids such as F-17 are those of the 0.4.0 review in [#73](https://github.com/AmineSeboui/quoin-editor/issues/73).
|
|
4
4
|
|
|
5
|
+
## 1.2.2 (2026-11-01)
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
- Popovers, the bubble toolbar, dialogs, the AI response bar, the find panel, the mobile toolbar and the keys in the shortcuts dialog draw a soft hairline edge in `--quoin-border`, where they drew a near-black one. The stylesheet's reset gives every border that names no colour `--quoin-border`, instead of the text colour Tailwind 4 falls back to.
|
|
9
|
+
- An editor whose first block has no text, such as a table of contents, an image, a divider or an embed, no longer draws that block as selected or says "1 block selected" as soon as the page loads, server-rendered HTML included. The block is drawn as selected once focus enters the editor or a menu of it, or once the reader or the host sets a selection, and stays so when focus leaves.
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
- Fields draw their border in `--quoin-input`, a lighter grey that still reaches 3:1 on the page, a popover and a highlighted row, and darken it on hover. A focused field shows the focus outline alone, where its border also turned to the ring colour. Outline buttons draw their border in `--quoin-border`.
|
|
13
|
+
- Menus, popovers, the AI response bar and the find panel are rounded to `--quoin-radius`, and dialogs a step more, over a lightly blurred backdrop.
|
|
14
|
+
- The rule beside a streaming AI answer is drawn in `--quoin-ring`, cobalt by default, where it used `--quoin-primary`.
|
|
15
|
+
|
|
5
16
|
## 1.2.1 (2026-11-01)
|
|
6
17
|
|
|
7
18
|
### Changed
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**Blocks on screen. Markdown on disk.**
|
|
4
4
|
|
|
5
|
-
Quoin is a block editor for React that keeps every text block as readable markdown inside a typed array you hold in your own state; images, files, code, dividers, tables and the catalogue blocks are typed data beside them. Writers get live formatting, a slash menu and
|
|
5
|
+
Quoin is a block editor for React that keeps every text block as readable markdown inside a typed array you hold in your own state; images, files, code, dividers, tables and the catalogue blocks are typed data beside them. Writers get live formatting, a slash menu, drag handles, real-time co-editing and AI that writes into the page; you get a document you can save, diff in git or hand to an LLM without a conversion step.
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/quoin-editor) [](https://github.com/AmineSeboui/quoin-editor/actions/workflows/ci.yml) [](LICENSE)
|
|
8
8
|
|
|
@@ -10,11 +10,21 @@ Quoin is a block editor for React that keeps every text block as readable markdo
|
|
|
10
10
|
|
|
11
11
|

|
|
12
12
|
|
|
13
|
-
- **Live formatting, markdown on disk.** Type `**bold**` or `# ` and see bold text or a heading; the block stores the markdown. Blocks you never edit are never rewritten
|
|
13
|
+
- **Live formatting, markdown on disk.** Type `**bold**` or `# ` and see bold text or a heading; the block stores the markdown. Blocks you never edit are never rewritten.
|
|
14
14
|
- **Typed blocks you control like an input.** A document is `QuoinBlock[]`, plain JSON, passed as `blocks` and returned through `onChange`, so saving, versioning and validation stay in your code.
|
|
15
15
|
- **Notion-style UI included, MIT.** Slash menu, bubble toolbar, block menu, drag handles, a mobile toolbar and a shortcuts dialog, with no account and no paid tier.
|
|
16
16
|
- **Custom blocks as plain React.** `defineBlock` takes an editor, a preview, or both, as React components; no schema language to learn.
|
|
17
|
-
- **Accessible, with tested keyboard and screen reader support.** In CI, axe runs over the canvas and its menus in light and dark mode
|
|
17
|
+
- **Accessible, with tested keyboard and screen reader support.** In CI, axe runs over the canvas and its menus in light and dark mode, a document is written with the keyboard alone, and moves and deletions are announced. [What is not checked yet](https://amineseboui.github.io/quoin-editor/docs/accessibility/#what-is-not-checked-yet).
|
|
18
|
+
|
|
19
|
+
## Write together, with AI
|
|
20
|
+
|
|
21
|
+

|
|
22
|
+
|
|
23
|
+
**Real-time collaboration.** Each person sees the other's typing, ticked tasks and moved blocks arrive as they happen, with a named caret showing where they are. Quoin syncs through your own Yjs provider, and comment threads stay anchored to the text they discuss. [Try it live](https://amineseboui.github.io/quoin-editor/collaboration/)
|
|
24
|
+
|
|
25
|
+

|
|
26
|
+
|
|
27
|
+
**AI that writes into the document.** Select text and ask AI to fix, rewrite, shorten, translate or continue it. The answer streams in as markdown beside the original, and one click accepts or discards it, in a single undo step. Quoin never calls a model: you pass it a stream from the one you use (the recording answers from the demo's simulated model). [Try it live](https://amineseboui.github.io/quoin-editor/ai/)
|
|
18
28
|
|
|
19
29
|
## Install
|
|
20
30
|
|
|
@@ -61,7 +71,7 @@ What `onChange` hands you, and what you store:
|
|
|
61
71
|
|
|
62
72
|
## Why Quoin
|
|
63
73
|
|
|
64
|
-
Each competitor cell links to the page that shows it
|
|
74
|
+
Each competitor cell links to the page that shows it; the Tiptap UI cell also draws on the review in [#73](https://github.com/AmineSeboui/quoin-editor/issues/73) (2026-10-12).
|
|
65
75
|
|
|
66
76
|
| Feature | Quoin 1.0 | Tiptap 3 | BlockNote | Editor.js |
|
|
67
77
|
| --- | --- | --- | --- | --- |
|
|
@@ -73,7 +83,7 @@ Each competitor cell links to the page that shows it, and Quoin's cite the files
|
|
|
73
83
|
| Comments | Opt-in, your store | [Paid plan][tt-comments] | [Built in, on Yjs or a thread store][bn-comments] | [Community plugin][ej-awesome] |
|
|
74
84
|
| Framework | React | [React, Vue, Svelte, plain JavaScript and more][tt-install] | [React][bn-start] | [Plain JavaScript][ej-start] |
|
|
75
85
|
|
|
76
|
-
Sources, checked on 2026-10-23: Tiptap [persistence][tt-store], [markdown][tt-md], [Notion-like template][tt-notion], [repository][tt-repo], [collaboration][tt-collab], [comments][tt-comments], [install][tt-install]; BlockNote [home][bn-home], [formats][bn-formats], [repository][bn-repo], [collaboration][bn-collab], [comments][bn-comments], [getting started][bn-start]; Editor.js [home][ej-home], [repository][ej-repo], [getting started][ej-start], [awesome-editorjs][ej-awesome].
|
|
86
|
+
Sources, checked on 2026-10-23: Tiptap [persistence][tt-store], [markdown][tt-md], [Notion-like template][tt-notion], [repository][tt-repo], [collaboration][tt-collab], [comments][tt-comments], [install][tt-install]; BlockNote [home][bn-home], [formats][bn-formats], [repository][bn-repo], [collaboration][bn-collab], [comments][bn-comments], [getting started][bn-start]; Editor.js [home][ej-home], [repository][ej-repo], [getting started][ej-start], [awesome-editorjs][ej-awesome].
|
|
77
87
|
|
|
78
88
|
[tt-store]: https://tiptap.dev/docs/editor/core-concepts/persistence
|
|
79
89
|
[tt-md]: https://tiptap.dev/docs/editor/markdown
|
package/dist/ai.cjs
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var chunkLE5XMIFJ_cjs = require('./chunk-LE5XMIFJ.cjs');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
5
|
+
var chunkK7JEN3KT_cjs = require('./chunk-K7JEN3KT.cjs');
|
|
6
|
+
var chunkCZ5ZXBWC_cjs = require('./chunk-CZ5ZXBWC.cjs');
|
|
7
|
+
var chunkOGBD74IR_cjs = require('./chunk-OGBD74IR.cjs');
|
|
8
8
|
require('./chunk-A6PGQVTR.cjs');
|
|
9
|
-
var
|
|
9
|
+
var chunkG37GQ5JE_cjs = require('./chunk-G37GQ5JE.cjs');
|
|
10
10
|
require('./chunk-BM2GRZNM.cjs');
|
|
11
11
|
var chunkWZA5S5EJ_cjs = require('./chunk-WZA5S5EJ.cjs');
|
|
12
12
|
var lucideReact = require('lucide-react');
|
|
@@ -113,21 +113,21 @@ function targetOfBlocks(state, ids) {
|
|
|
113
113
|
const first = chunkWZA5S5EJ_cjs.blockById(doc, ids[0]);
|
|
114
114
|
const last = chunkWZA5S5EJ_cjs.blockById(doc, ids[ids.length - 1]);
|
|
115
115
|
if (first === void 0 || last === void 0) return null;
|
|
116
|
-
const start =
|
|
117
|
-
const end =
|
|
116
|
+
const start = chunkG37GQ5JE_cjs.primaryRegion(schema, first);
|
|
117
|
+
const end = chunkG37GQ5JE_cjs.primaryRegion(schema, last);
|
|
118
118
|
if (start === null || end === null) return null;
|
|
119
119
|
const from = { block: first.id, region: start, offset: 0 };
|
|
120
|
-
return { from, to: { block: last.id, region: end, offset:
|
|
120
|
+
return { from, to: { block: last.id, region: end, offset: chunkG37GQ5JE_cjs.regionLength(last, end) }, selected: ids.length > 1 };
|
|
121
121
|
}
|
|
122
122
|
function targetOfSelection(state) {
|
|
123
123
|
const { doc, selection } = state;
|
|
124
124
|
if (selection === null) return null;
|
|
125
|
-
if (selection.kind !== "text") return targetOfBlocks(state,
|
|
126
|
-
const { from, to } =
|
|
127
|
-
if (
|
|
125
|
+
if (selection.kind !== "text") return targetOfBlocks(state, chunkG37GQ5JE_cjs.selectedBlockIds(doc, selection));
|
|
126
|
+
const { from, to } = chunkG37GQ5JE_cjs.orderedRange(doc, selection.anchor, selection.head);
|
|
127
|
+
if (chunkG37GQ5JE_cjs.comparePos(doc, from, to) !== 0) return { from, to, selected: true };
|
|
128
128
|
const block = doc.blocks[doc.index.get(from.block)];
|
|
129
129
|
const whole = { block: from.block, region: from.region };
|
|
130
|
-
return { from: { ...whole, offset: 0 }, to: { ...whole, offset:
|
|
130
|
+
return { from: { ...whole, offset: 0 }, to: { ...whole, offset: chunkG37GQ5JE_cjs.regionLength(block, from.region) }, selected: false };
|
|
131
131
|
}
|
|
132
132
|
function nearestKept(tr, target) {
|
|
133
133
|
const { doc } = tr.before;
|
|
@@ -144,8 +144,8 @@ function edgeOf(tr, target) {
|
|
|
144
144
|
const point = tr.mapPos(target.from, -1);
|
|
145
145
|
const block = chunkWZA5S5EJ_cjs.blockById(tr.doc, point.block) ?? nearestKept(tr, target);
|
|
146
146
|
if (block === void 0) return null;
|
|
147
|
-
const region =
|
|
148
|
-
const length = region === "" ? 0 :
|
|
147
|
+
const region = chunkG37GQ5JE_cjs.primaryRegion(tr.before.schema, block) ?? "";
|
|
148
|
+
const length = region === "" ? 0 : chunkG37GQ5JE_cjs.regionLength(block, region);
|
|
149
149
|
const offset = block.id === point.block ? Math.min(point.offset, length) : length;
|
|
150
150
|
const after = offset > 0 || length === 0;
|
|
151
151
|
const at = { block: block.id, region, offset: after ? length : 0 };
|
|
@@ -157,29 +157,29 @@ function mapTarget(tr, target) {
|
|
|
157
157
|
const from = tr.mapPos(target.from, inside);
|
|
158
158
|
const mapped2 = tr.mapPos(target.to, -inside);
|
|
159
159
|
if (!tr.doc.index.has(from.block) || !tr.doc.index.has(mapped2.block)) return edgeOf(tr, target);
|
|
160
|
-
const to =
|
|
160
|
+
const to = chunkG37GQ5JE_cjs.comparePos(tr.doc, from, mapped2) > 0 ? from : mapped2;
|
|
161
161
|
return from === target.from && to === target.to ? target : { ...target, from, to };
|
|
162
162
|
}
|
|
163
|
-
var targetGone = (doc, target) => target.lost !== void 0 || target.selected &&
|
|
163
|
+
var targetGone = (doc, target) => target.lost !== void 0 || target.selected && chunkG37GQ5JE_cjs.comparePos(doc, target.from, target.to) === 0;
|
|
164
164
|
function targetRanges(state, { from, to }) {
|
|
165
165
|
const { doc, schema } = state;
|
|
166
166
|
const start = doc.index.get(from.block);
|
|
167
167
|
const end = doc.index.get(to.block);
|
|
168
168
|
return doc.blocks.slice(start, end + 1).flatMap((block, i) => {
|
|
169
|
-
const region = i === 0 ? from.region : block.id === to.block ? to.region :
|
|
169
|
+
const region = i === 0 ? from.region : block.id === to.block ? to.region : chunkG37GQ5JE_cjs.primaryRegion(schema, block);
|
|
170
170
|
if (region === null || !Object.hasOwn(block.regions, region)) return [];
|
|
171
171
|
const left = i === 0 ? from.offset : 0;
|
|
172
|
-
const right = block.id === to.block ? to.offset :
|
|
172
|
+
const right = block.id === to.block ? to.offset : chunkG37GQ5JE_cjs.regionLength(block, region);
|
|
173
173
|
return right > left ? [{ block: block.id, region, from: left, to: right }] : [];
|
|
174
174
|
});
|
|
175
175
|
}
|
|
176
176
|
|
|
177
177
|
// src/extensions/ai/ai-plugin.ts
|
|
178
|
-
var aiKey =
|
|
178
|
+
var aiKey = chunkG37GQ5JE_cjs.createPluginKey("ai");
|
|
179
179
|
var AI = "ai";
|
|
180
180
|
var IDLE = { target: null, menu: null, ghost: null, held: [] };
|
|
181
|
-
var aiState = (state) =>
|
|
182
|
-
var aiTransaction = (state, act2) => new
|
|
181
|
+
var aiState = (state) => chunkG37GQ5JE_cjs.getPluginState(state, aiKey);
|
|
182
|
+
var aiTransaction = (state, act2) => new chunkG37GQ5JE_cjs.Transaction(state).setMeta(AI, act2).setMeta("addToHistory", false);
|
|
183
183
|
function written(ghost, key, phase, output) {
|
|
184
184
|
return ghost.key !== key ? ghost : { ...ghost, phase, output, shown: closeStreaming(output) };
|
|
185
185
|
}
|
|
@@ -212,7 +212,7 @@ function caretBlock(state) {
|
|
|
212
212
|
}
|
|
213
213
|
function hasText(state, id) {
|
|
214
214
|
const block = chunkWZA5S5EJ_cjs.blockById(state.doc, id);
|
|
215
|
-
return block !== void 0 && Object.keys(block.regions).some((region) =>
|
|
215
|
+
return block !== void 0 && Object.keys(block.regions).some((region) => chunkG37GQ5JE_cjs.regionLength(block, region) > 0);
|
|
216
216
|
}
|
|
217
217
|
function heldText(tr, value, before, after) {
|
|
218
218
|
if (!tr.docChanged) return value.held;
|
|
@@ -310,9 +310,9 @@ function aroundSelection(text, start, end, limit = CONTEXT_LIMIT) {
|
|
|
310
310
|
}
|
|
311
311
|
var WHITESPACE_ENTITY = /(?<!\\)&#(32|9);/g;
|
|
312
312
|
var plain = (markdown) => markdown.replace(WHITESPACE_ENTITY, (_, code) => code === "32" ? " " : " ");
|
|
313
|
-
var markdownOf = (state, blocks) =>
|
|
313
|
+
var markdownOf = (state, blocks) => chunkG37GQ5JE_cjs.toMarkdown(blocks, { schema: state.schema, comments: false });
|
|
314
314
|
function rangeMarkdown(state, from, to) {
|
|
315
|
-
const slice =
|
|
315
|
+
const slice = chunkG37GQ5JE_cjs.sliceFromSelection({ ...state, selection: chunkG37GQ5JE_cjs.textSelection(from, to) }, chunkWZA5S5EJ_cjs.createBlockCodec(state.schema));
|
|
316
316
|
return slice === null ? "" : markdownOf(state, slice.blocks).replace(/\n$/, "");
|
|
317
317
|
}
|
|
318
318
|
function documentContext(state, target, selection) {
|
|
@@ -377,7 +377,7 @@ async function read(editor, link, run, stream, request) {
|
|
|
377
377
|
} catch (error) {
|
|
378
378
|
if (!live()) return;
|
|
379
379
|
end("error");
|
|
380
|
-
link.report(
|
|
380
|
+
link.report(chunkCZ5ZXBWC_cjs.toError(error));
|
|
381
381
|
}
|
|
382
382
|
}
|
|
383
383
|
function startStream(editor, link, stream, request, replace) {
|
|
@@ -552,11 +552,11 @@ function resolveAiLabels(overrides) {
|
|
|
552
552
|
var openOnSpace = (state, dispatch) => {
|
|
553
553
|
const { selection, doc } = state;
|
|
554
554
|
const ai = aiState(state);
|
|
555
|
-
if (selection?.kind !== "text" || !
|
|
555
|
+
if (selection?.kind !== "text" || !chunkG37GQ5JE_cjs.isCollapsed(selection) || ai.menu !== null || ai.ghost !== null) return false;
|
|
556
556
|
const { head } = selection;
|
|
557
557
|
const block = doc.blocks[doc.index.get(head.block)];
|
|
558
558
|
const paragraph = block.type === "MARKDOWN" && block.attrs.kind === "paragraph";
|
|
559
|
-
if (!paragraph ||
|
|
559
|
+
if (!paragraph || chunkG37GQ5JE_cjs.regionLength(block, head.region) > 0 || ai.held.includes(block.id)) return false;
|
|
560
560
|
dispatch?.(aiTransaction(state, { type: "open", target: { from: head, to: head, selected: false }, fromSpace: true }));
|
|
561
561
|
return true;
|
|
562
562
|
};
|
|
@@ -566,11 +566,11 @@ var isParagraph = (block) => block?.type === "MARKDOWN" && chunkWZA5S5EJ_cjs.par
|
|
|
566
566
|
var DISCARD = { type: "discard" };
|
|
567
567
|
function insertBeside(tr, schema, target, pieces, makeId) {
|
|
568
568
|
const index = tr.doc.index.get(target.to.block);
|
|
569
|
-
const at = target.lost?.after ?
|
|
570
|
-
const fresh =
|
|
571
|
-
tr.step(
|
|
572
|
-
|
|
573
|
-
tr.setSelection(
|
|
569
|
+
const at = target.lost?.after ? chunkG37GQ5JE_cjs.descendantsEnd(tr.doc, index) : index;
|
|
570
|
+
const fresh = chunkG37GQ5JE_cjs.freshBlocks(pieces, tr.doc.blocks[index].indent, makeId);
|
|
571
|
+
tr.step(chunkG37GQ5JE_cjs.insertBlocksStep(at, fresh));
|
|
572
|
+
chunkG37GQ5JE_cjs.capIndents(tr, at, at + fresh.length);
|
|
573
|
+
tr.setSelection(chunkG37GQ5JE_cjs.endOf(tr.doc, schema, fresh[fresh.length - 1].id));
|
|
574
574
|
}
|
|
575
575
|
function acceptAnswer(editor) {
|
|
576
576
|
const { state } = editor;
|
|
@@ -588,12 +588,12 @@ function acceptAnswer(editor) {
|
|
|
588
588
|
const { schema } = state;
|
|
589
589
|
const open = { openStart: isParagraph(blocks[0]), openEnd: isParagraph(blocks[blocks.length - 1]) };
|
|
590
590
|
if (ghost.replace || gone) {
|
|
591
|
-
const caret = ghost.replace && !gone ?
|
|
592
|
-
|
|
591
|
+
const caret = ghost.replace && !gone ? chunkG37GQ5JE_cjs.deleteRange(tr, schema, target.from, target.to, makeId) : target.to;
|
|
592
|
+
chunkG37GQ5JE_cjs.pasteAtCaret(tr, schema, caret, open, pieces, makeId);
|
|
593
593
|
} else {
|
|
594
594
|
const block = tr.doc.blocks[tr.doc.index.get(target.to.block)];
|
|
595
|
-
const end = { ...target.to, offset:
|
|
596
|
-
|
|
595
|
+
const end = { ...target.to, offset: chunkG37GQ5JE_cjs.regionLength(block, target.to.region) };
|
|
596
|
+
chunkG37GQ5JE_cjs.pasteAtCaret(tr, schema, end, { openStart: false, openEnd: false }, pieces, makeId);
|
|
597
597
|
}
|
|
598
598
|
}
|
|
599
599
|
editor.dispatch(tr);
|
|
@@ -608,12 +608,12 @@ function AiBar({ env, ghost, gone, barId }) {
|
|
|
608
608
|
const [next, setNext] = react.useState("");
|
|
609
609
|
const { phase } = ghost;
|
|
610
610
|
const focusPrimary = () => content.current?.querySelector(`[${PRIMARY}]`)?.focus();
|
|
611
|
-
|
|
611
|
+
chunkOGBD74IR_cjs.useIsomorphicLayoutEffect(() => {
|
|
612
612
|
const active = content.current?.ownerDocument.activeElement;
|
|
613
613
|
inside.current = active == null || active === active.ownerDocument.body;
|
|
614
614
|
if (inside.current) focusPrimary();
|
|
615
615
|
}, []);
|
|
616
|
-
|
|
616
|
+
chunkOGBD74IR_cjs.useIsomorphicLayoutEffect(() => {
|
|
617
617
|
const active = content.current?.ownerDocument.activeElement;
|
|
618
618
|
if (inside.current && !content.current?.contains(active ?? null)) focusPrimary();
|
|
619
619
|
}, [phase, ghost.key]);
|
|
@@ -649,7 +649,7 @@ function AiBar({ env, ghost, gone, barId }) {
|
|
|
649
649
|
id: barId,
|
|
650
650
|
role: "group",
|
|
651
651
|
"aria-label": labels.response,
|
|
652
|
-
className: "quoin-ai-bar flex flex-wrap items-center gap-2 rounded-
|
|
652
|
+
className: "quoin-ai-bar flex flex-wrap items-center gap-2 rounded-lg border bg-popover p-2 text-popover-foreground shadow-md",
|
|
653
653
|
onFocus: () => inside.current = true,
|
|
654
654
|
onBlur: (event) => inside.current = content.current?.contains(event.relatedTarget) ?? false,
|
|
655
655
|
onKeyDown: (event) => {
|
|
@@ -661,21 +661,21 @@ function AiBar({ env, ghost, gone, barId }) {
|
|
|
661
661
|
children: [
|
|
662
662
|
phase === "streaming" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
663
663
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: labels.writing }),
|
|
664
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
664
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkCZ5ZXBWC_cjs.Button, { ...primary, size: "sm", variant: "outline", onClick: () => stop(editor), children: labels.stop })
|
|
665
665
|
] }),
|
|
666
666
|
phase === "error" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
667
667
|
/* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: "text-sm text-destructive", children: labels.failed }),
|
|
668
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
669
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
668
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkCZ5ZXBWC_cjs.Button, { ...primary, size: "sm", onClick: () => retry(editor, stream), children: labels.retry }),
|
|
669
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkCZ5ZXBWC_cjs.Button, { size: "sm", variant: "ghost", onClick: onDiscard, children: labels.discard })
|
|
670
670
|
] }),
|
|
671
671
|
(phase === "done" || phase === "stopped") && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
672
672
|
phase === "stopped" && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground", children: labels.stopped }),
|
|
673
673
|
gone && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "w-full text-xs text-muted-foreground", children: labels.targetGone }),
|
|
674
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
675
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
676
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
674
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkCZ5ZXBWC_cjs.Button, { ...primary, size: "sm", onClick: onAccept, children: labels.accept }),
|
|
675
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkCZ5ZXBWC_cjs.Button, { size: "sm", variant: "ghost", onClick: onDiscard, children: labels.discard }),
|
|
676
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkCZ5ZXBWC_cjs.Button, { size: "sm", variant: "ghost", onClick: () => retry(editor, stream), children: labels.retry }),
|
|
677
677
|
/* @__PURE__ */ jsxRuntime.jsx("form", { className: "w-full", onSubmit: onFollowUp, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
678
|
-
|
|
678
|
+
chunkCZ5ZXBWC_cjs.Input,
|
|
679
679
|
{
|
|
680
680
|
"aria-label": labels.followUp,
|
|
681
681
|
placeholder: labels.followUp,
|
|
@@ -712,9 +712,9 @@ function fillGhost(ghost, markdown) {
|
|
|
712
712
|
element.dataset.kind = String(piece.attrs.kind ?? piece.type.toLowerCase());
|
|
713
713
|
if (piece.attrs.level !== void 0) element.dataset.level = String(piece.attrs.level);
|
|
714
714
|
if (piece.indent > 0) element.style.setProperty("--quoin-ai-indent", String(piece.indent));
|
|
715
|
-
const region =
|
|
716
|
-
if (region === null) element.textContent =
|
|
717
|
-
else
|
|
715
|
+
const region = chunkG37GQ5JE_cjs.primaryRegion(schema, piece);
|
|
716
|
+
if (region === null) element.textContent = chunkG37GQ5JE_cjs.toPlainText([codec.toQuoin(piece)], { schema });
|
|
717
|
+
else chunkOGBD74IR_cjs.renderInline(element, piece.regions[region], []);
|
|
718
718
|
drawn2.push(element);
|
|
719
719
|
}
|
|
720
720
|
}
|
|
@@ -791,7 +791,7 @@ function clipAside(layer, text, areas, scale) {
|
|
|
791
791
|
function useGhostPlace(controller, layer, block, region) {
|
|
792
792
|
const placeNow = react.useRef(() => {
|
|
793
793
|
});
|
|
794
|
-
|
|
794
|
+
chunkOGBD74IR_cjs.useIsomorphicLayoutEffect(() => {
|
|
795
795
|
const root = controller.root;
|
|
796
796
|
const element = layer.current;
|
|
797
797
|
const view = root?.ownerDocument.defaultView;
|
|
@@ -830,7 +830,7 @@ function AiGhost({ env, ghost, target, gone, barId }) {
|
|
|
830
830
|
const layer = react.useRef(null);
|
|
831
831
|
const drawn2 = react.useRef(null);
|
|
832
832
|
const place2 = useGhostPlace(env.controller, layer, target.to.block, target.to.region);
|
|
833
|
-
|
|
833
|
+
chunkOGBD74IR_cjs.useIsomorphicLayoutEffect(() => {
|
|
834
834
|
const element = drawn2.current;
|
|
835
835
|
if (element === null) return;
|
|
836
836
|
element.setAttribute("inert", "");
|
|
@@ -844,7 +844,7 @@ function AiGhost({ env, ghost, target, gone, barId }) {
|
|
|
844
844
|
}
|
|
845
845
|
function useTargetAnchor(controller, target) {
|
|
846
846
|
const latest = react.useRef(target);
|
|
847
|
-
|
|
847
|
+
chunkOGBD74IR_cjs.useIsomorphicLayoutEffect(() => {
|
|
848
848
|
latest.current = target;
|
|
849
849
|
});
|
|
850
850
|
return react.useMemo(() => {
|
|
@@ -853,8 +853,8 @@ function useTargetAnchor(controller, target) {
|
|
|
853
853
|
return { block: to.block, region: to.region, from: to.offset, to: to.offset };
|
|
854
854
|
};
|
|
855
855
|
return {
|
|
856
|
-
current:
|
|
857
|
-
() =>
|
|
856
|
+
current: chunkCZ5ZXBWC_cjs.virtualAnchor(
|
|
857
|
+
() => chunkCZ5ZXBWC_cjs.rangeRect(controller, end()),
|
|
858
858
|
() => controller.registry.get(end().block, end().region)
|
|
859
859
|
)
|
|
860
860
|
};
|
|
@@ -908,7 +908,7 @@ function AiMenu({ env, target, fromSpace }) {
|
|
|
908
908
|
};
|
|
909
909
|
const fieldLabel = asking === "tone" ? labels.tonePrompt : asking === "translate" ? labels.translatePrompt : labels.prompt;
|
|
910
910
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
911
|
-
|
|
911
|
+
chunkCZ5ZXBWC_cjs.Popover,
|
|
912
912
|
{
|
|
913
913
|
open: true,
|
|
914
914
|
modal: false,
|
|
@@ -916,9 +916,9 @@ function AiMenu({ env, target, fromSpace }) {
|
|
|
916
916
|
if (!next) closeMenu(controller.editor);
|
|
917
917
|
},
|
|
918
918
|
children: [
|
|
919
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
919
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkCZ5ZXBWC_cjs.PopoverAnchor, { virtualRef: anchor }),
|
|
920
920
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
921
|
-
|
|
921
|
+
chunkCZ5ZXBWC_cjs.PopoverContent,
|
|
922
922
|
{
|
|
923
923
|
"aria-label": labels.askAi,
|
|
924
924
|
side: "bottom",
|
|
@@ -935,7 +935,7 @@ function AiMenu({ env, target, fromSpace }) {
|
|
|
935
935
|
},
|
|
936
936
|
children: [
|
|
937
937
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
938
|
-
|
|
938
|
+
chunkCZ5ZXBWC_cjs.Input,
|
|
939
939
|
{
|
|
940
940
|
ref: field,
|
|
941
941
|
role: "combobox",
|
|
@@ -959,7 +959,7 @@ function AiMenu({ env, target, fromSpace }) {
|
|
|
959
959
|
id: optionId(index),
|
|
960
960
|
role: "option",
|
|
961
961
|
"aria-selected": index === current,
|
|
962
|
-
className:
|
|
962
|
+
className: chunkCZ5ZXBWC_cjs.cn(chunkCZ5ZXBWC_cjs.MENU_ITEM, index === current && "bg-accent text-accent-foreground"),
|
|
963
963
|
onMouseDown: (event) => event.preventDefault(),
|
|
964
964
|
onClick: () => choose(choice),
|
|
965
965
|
children: choice.label
|
|
@@ -977,17 +977,17 @@ var goneOf = (state) => {
|
|
|
977
977
|
const { target, ghost } = aiState(state);
|
|
978
978
|
return target !== null && ghost !== null && targetGone(state.doc, target);
|
|
979
979
|
};
|
|
980
|
-
var plainText = (markdown) =>
|
|
980
|
+
var plainText = (markdown) => chunkG37GQ5JE_cjs.toPlainText(chunkWZA5S5EJ_cjs.fromMarkdown(markdown));
|
|
981
981
|
function AiOverlay({ controller, stream, labels }) {
|
|
982
|
-
const { onError } =
|
|
982
|
+
const { onError } = chunkCZ5ZXBWC_cjs.useQuoin();
|
|
983
983
|
const link = linkOf(controller.editor);
|
|
984
|
-
|
|
984
|
+
chunkOGBD74IR_cjs.useIsomorphicLayoutEffect(() => {
|
|
985
985
|
link.report = onError;
|
|
986
986
|
link.ended = (phase, output) => controller.announce((phase === "done" ? labels.written : labels.halted)(plainText(output)));
|
|
987
987
|
}, [link, onError, controller, labels]);
|
|
988
|
-
const value =
|
|
989
|
-
const gone =
|
|
990
|
-
const readOnly =
|
|
988
|
+
const value = chunkOGBD74IR_cjs.useEditorState(controller, aiState);
|
|
989
|
+
const gone = chunkOGBD74IR_cjs.useEditorState(controller, goneOf);
|
|
990
|
+
const readOnly = chunkOGBD74IR_cjs.useReadOnly(controller);
|
|
991
991
|
const env = react.useMemo(() => ({ controller, stream, labels }), [controller, stream, labels]);
|
|
992
992
|
const barId = react.useId();
|
|
993
993
|
const showing = value.ghost !== null;
|
|
@@ -1006,7 +1006,7 @@ function AiOverlay({ controller, stream, labels }) {
|
|
|
1006
1006
|
const root = controller.root;
|
|
1007
1007
|
if (!root) return;
|
|
1008
1008
|
let away = true;
|
|
1009
|
-
return
|
|
1009
|
+
return chunkK7JEN3KT_cjs.watchCanvasFocus(controller, root.ownerDocument, (inside, node) => {
|
|
1010
1010
|
if (!inside) away = true;
|
|
1011
1011
|
else if (root.contains(node)) {
|
|
1012
1012
|
if (away) noteFocus(controller.editor);
|
|
@@ -1042,7 +1042,7 @@ function aiExtension(options) {
|
|
|
1042
1042
|
blockMenuItems: [aiBlockMenuItem(labels)],
|
|
1043
1043
|
overlays: [Overlay]
|
|
1044
1044
|
};
|
|
1045
|
-
return
|
|
1045
|
+
return chunkG37GQ5JE_cjs.defineExtension({
|
|
1046
1046
|
name: "ai",
|
|
1047
1047
|
plugins: [aiPlugin],
|
|
1048
1048
|
decorations: aiDecorations,
|
package/dist/ai.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { clipBoxes } from './chunk-MQUCCSWG.js';
|
|
3
|
-
import { watchCanvasFocus } from './chunk-
|
|
4
|
-
import { useQuoin, Popover, PopoverAnchor, PopoverContent, Input, cn, MENU_ITEM, virtualAnchor, rangeRect, Button, toError } from './chunk-
|
|
5
|
-
import { useIsomorphicLayoutEffect, useEditorState, useReadOnly, renderInline } from './chunk-
|
|
3
|
+
import { watchCanvasFocus } from './chunk-4D7HZRNC.js';
|
|
4
|
+
import { useQuoin, Popover, PopoverAnchor, PopoverContent, Input, cn, MENU_ITEM, virtualAnchor, rangeRect, Button, toError } from './chunk-J552D3A7.js';
|
|
5
|
+
import { useIsomorphicLayoutEffect, useEditorState, useReadOnly, renderInline } from './chunk-CCOPHCXX.js';
|
|
6
6
|
import './chunk-HDJ653LM.js';
|
|
7
|
-
import { createPluginKey, defineExtension, isCollapsed, regionLength, primaryRegion, getPluginState, Transaction, toPlainText, selectedBlockIds, orderedRange, comparePos, sliceFromSelection, textSelection, deleteRange, pasteAtCaret, toMarkdown, descendantsEnd, freshBlocks, insertBlocksStep, capIndents, endOf } from './chunk-
|
|
7
|
+
import { createPluginKey, defineExtension, isCollapsed, regionLength, primaryRegion, getPluginState, Transaction, toPlainText, selectedBlockIds, orderedRange, comparePos, sliceFromSelection, textSelection, deleteRange, pasteAtCaret, toMarkdown, descendantsEnd, freshBlocks, insertBlocksStep, capIndents, endOf } from './chunk-KXOAV7AT.js';
|
|
8
8
|
import './chunk-CSKKSXCE.js';
|
|
9
9
|
import { blockById, fromMarkdown, createSchema, createBlockCodec, parseLine } from './chunk-BJTOLCRR.js';
|
|
10
10
|
import { Sparkles, PenLine } from 'lucide-react';
|
|
@@ -647,7 +647,7 @@ function AiBar({ env, ghost, gone, barId }) {
|
|
|
647
647
|
id: barId,
|
|
648
648
|
role: "group",
|
|
649
649
|
"aria-label": labels.response,
|
|
650
|
-
className: "quoin-ai-bar flex flex-wrap items-center gap-2 rounded-
|
|
650
|
+
className: "quoin-ai-bar flex flex-wrap items-center gap-2 rounded-lg border bg-popover p-2 text-popover-foreground shadow-md",
|
|
651
651
|
onFocus: () => inside.current = true,
|
|
652
652
|
onBlur: (event) => inside.current = content.current?.contains(event.relatedTarget) ?? false,
|
|
653
653
|
onKeyDown: (event) => {
|
package/dist/catalogue.cjs
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
4
|
+
var chunkSCFW4JFT_cjs = require('./chunk-SCFW4JFT.cjs');
|
|
5
|
+
var chunkBJIWN7BQ_cjs = require('./chunk-BJIWN7BQ.cjs');
|
|
6
|
+
var chunkKMIWUFNM_cjs = require('./chunk-KMIWUFNM.cjs');
|
|
7
|
+
var chunkDQV37F7J_cjs = require('./chunk-DQV37F7J.cjs');
|
|
8
|
+
var chunk35CHEARK_cjs = require('./chunk-35CHEARK.cjs');
|
|
9
9
|
require('./chunk-XZ4NC3Q7.cjs');
|
|
10
|
-
var
|
|
11
|
-
var
|
|
10
|
+
var chunk5ANJW76W_cjs = require('./chunk-5ANJW76W.cjs');
|
|
11
|
+
var chunkA5LIN7FO_cjs = require('./chunk-A5LIN7FO.cjs');
|
|
12
12
|
require('./chunk-H3C3MJW5.cjs');
|
|
13
|
-
require('./chunk-
|
|
14
|
-
var
|
|
15
|
-
require('./chunk-
|
|
16
|
-
require('./chunk-
|
|
13
|
+
require('./chunk-ZVCBTQA3.cjs');
|
|
14
|
+
var chunkIGEWAL2J_cjs = require('./chunk-IGEWAL2J.cjs');
|
|
15
|
+
require('./chunk-CZ5ZXBWC.cjs');
|
|
16
|
+
require('./chunk-OGBD74IR.cjs');
|
|
17
17
|
require('./chunk-A6PGQVTR.cjs');
|
|
18
|
-
require('./chunk-
|
|
18
|
+
require('./chunk-G37GQ5JE.cjs');
|
|
19
19
|
require('./chunk-BM2GRZNM.cjs');
|
|
20
20
|
require('./chunk-WZA5S5EJ.cjs');
|
|
21
21
|
|
|
@@ -29,14 +29,14 @@ function createCatalogue(features2) {
|
|
|
29
29
|
|
|
30
30
|
// src/catalogue.ts
|
|
31
31
|
var features = {
|
|
32
|
-
table:
|
|
33
|
-
embed:
|
|
34
|
-
math:
|
|
35
|
-
toc:
|
|
36
|
-
mention:
|
|
37
|
-
emoji:
|
|
38
|
-
find:
|
|
39
|
-
stats:
|
|
32
|
+
table: chunkKMIWUFNM_cjs.tableExtension,
|
|
33
|
+
embed: chunkDQV37F7J_cjs.embedExtension,
|
|
34
|
+
math: chunk35CHEARK_cjs.mathExtension,
|
|
35
|
+
toc: chunk5ANJW76W_cjs.tocExtension,
|
|
36
|
+
mention: chunkA5LIN7FO_cjs.mentionExtension,
|
|
37
|
+
emoji: chunkIGEWAL2J_cjs.emojiExtension,
|
|
38
|
+
find: chunkSCFW4JFT_cjs.findExtension,
|
|
39
|
+
stats: chunkBJIWN7BQ_cjs.statsExtension
|
|
40
40
|
};
|
|
41
41
|
var catalogue = createCatalogue(features);
|
|
42
42
|
|
package/dist/catalogue.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { findExtension } from './chunk-
|
|
3
|
-
import { statsExtension } from './chunk-
|
|
4
|
-
import { tableExtension } from './chunk-
|
|
5
|
-
import { embedExtension } from './chunk-
|
|
6
|
-
import { mathExtension } from './chunk-
|
|
2
|
+
import { findExtension } from './chunk-BNUQ647G.js';
|
|
3
|
+
import { statsExtension } from './chunk-YCVNFRL3.js';
|
|
4
|
+
import { tableExtension } from './chunk-BR25RE7U.js';
|
|
5
|
+
import { embedExtension } from './chunk-I7OOIEZZ.js';
|
|
6
|
+
import { mathExtension } from './chunk-4HFE3YFF.js';
|
|
7
7
|
import './chunk-AD3NY7NA.js';
|
|
8
|
-
import { tocExtension } from './chunk-
|
|
9
|
-
import { mentionExtension } from './chunk-
|
|
8
|
+
import { tocExtension } from './chunk-Y7UKOBSY.js';
|
|
9
|
+
import { mentionExtension } from './chunk-TARBFPWC.js';
|
|
10
10
|
import './chunk-GHNQKJMD.js';
|
|
11
|
-
import './chunk-
|
|
12
|
-
import { emojiExtension } from './chunk-
|
|
13
|
-
import './chunk-
|
|
14
|
-
import './chunk-
|
|
11
|
+
import './chunk-SAPLIQF2.js';
|
|
12
|
+
import { emojiExtension } from './chunk-FOEEDJ5R.js';
|
|
13
|
+
import './chunk-J552D3A7.js';
|
|
14
|
+
import './chunk-CCOPHCXX.js';
|
|
15
15
|
import './chunk-HDJ653LM.js';
|
|
16
|
-
import './chunk-
|
|
16
|
+
import './chunk-KXOAV7AT.js';
|
|
17
17
|
import './chunk-CSKKSXCE.js';
|
|
18
18
|
import './chunk-BJTOLCRR.js';
|
|
19
19
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { sameSelection, validateSelection, removeMarkStep, addMarkStep, replaceInlineStep } from './chunk-
|
|
1
|
+
import { sameSelection, validateSelection, removeMarkStep, addMarkStep, replaceInlineStep } from './chunk-KXOAV7AT.js';
|
|
2
2
|
import { inlineLength, markKey, nodeLength, normalizeInline, text, atom } from './chunk-BJTOLCRR.js';
|
|
3
3
|
import * as Y from 'yjs';
|
|
4
4
|
|
|
@@ -317,5 +317,5 @@ function restoreSelection(text2, layout, held) {
|
|
|
317
317
|
}
|
|
318
318
|
|
|
319
319
|
export { absolute, applyRemote, attrsMap, cleanEntry, createLayout, definedEntries, deleteText, emptySpan, grow, holdBinding, holdSelection, indexOf, inlineOfOps, insertInline, isAtomEmbed, markAttribute, markerOf, offsetIn, piecesOf, placeEntries, pointOf, readMarker, regionNameOf, regionOf, regionStart, relative, restoreSelection, sharedChange, sharedOf, spanAt, spanStart, textLength, textSteps, writeBlock, writeBlocks };
|
|
320
|
-
//# sourceMappingURL=chunk-
|
|
321
|
-
//# sourceMappingURL=chunk-
|
|
320
|
+
//# sourceMappingURL=chunk-25HNTVEI.js.map
|
|
321
|
+
//# sourceMappingURL=chunk-25HNTVEI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/engine/collab/apply-remote.ts","../src/yjs/bound.ts","../src/yjs/layout.ts","../src/yjs/marks-codec.ts","../src/yjs/inline-codec.ts","../src/yjs/doc-shape.ts","../src/yjs/text-steps.ts","../src/yjs/carets.ts"],"names":["text","Y2"],"mappings":"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","file":"chunk-2IY3LET7.js"}
|
|
1
|
+
{"version":3,"sources":["../src/engine/collab/apply-remote.ts","../src/yjs/bound.ts","../src/yjs/layout.ts","../src/yjs/marks-codec.ts","../src/yjs/inline-codec.ts","../src/yjs/doc-shape.ts","../src/yjs/text-steps.ts","../src/yjs/carets.ts"],"names":["text","Y2"],"mappings":"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","file":"chunk-25HNTVEI.js"}
|