quoin-editor 1.2.3 → 1.3.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 +12 -0
- package/dist/ai.cjs +65 -65
- package/dist/ai.d.cts +2 -2
- package/dist/ai.d.ts +2 -2
- package/dist/ai.js +4 -4
- package/dist/catalogue.cjs +20 -20
- package/dist/catalogue.d.cts +8 -8
- package/dist/catalogue.d.ts +8 -8
- package/dist/catalogue.js +12 -12
- package/dist/{chunk-SCFW4JFT.cjs → chunk-3YXV6LP7.cjs} +37 -37
- package/dist/{chunk-SCFW4JFT.cjs.map → chunk-3YXV6LP7.cjs.map} +1 -1
- package/dist/{chunk-DQV37F7J.cjs → chunk-5ILVILAJ.cjs} +66 -66
- package/dist/{chunk-DQV37F7J.cjs.map → chunk-5ILVILAJ.cjs.map} +1 -1
- package/dist/{chunk-CZ5ZXBWC.cjs → chunk-5MQ2AL7L.cjs} +217 -217
- package/dist/{chunk-CZ5ZXBWC.cjs.map → chunk-5MQ2AL7L.cjs.map} +1 -1
- package/dist/{chunk-TARBFPWC.js → chunk-5YQKKFYB.js} +6 -6
- package/dist/{chunk-TARBFPWC.js.map → chunk-5YQKKFYB.js.map} +1 -1
- package/dist/{chunk-KMIWUFNM.cjs → chunk-7RZNJR4J.cjs} +75 -75
- package/dist/{chunk-KMIWUFNM.cjs.map → chunk-7RZNJR4J.cjs.map} +1 -1
- package/dist/{chunk-A5LIN7FO.cjs → chunk-AY5ANGXK.cjs} +26 -26
- package/dist/{chunk-A5LIN7FO.cjs.map → chunk-AY5ANGXK.cjs.map} +1 -1
- package/dist/{chunk-ZVCBTQA3.cjs → chunk-AZF7B2AE.cjs} +10 -10
- package/dist/{chunk-ZVCBTQA3.cjs.map → chunk-AZF7B2AE.cjs.map} +1 -1
- package/dist/{chunk-4HFE3YFF.js → chunk-DGWAVYTO.js} +6 -6
- package/dist/{chunk-4HFE3YFF.js.map → chunk-DGWAVYTO.js.map} +1 -1
- package/dist/{chunk-BNUQ647G.js → chunk-FWETDMCE.js} +5 -5
- package/dist/{chunk-BNUQ647G.js.map → chunk-FWETDMCE.js.map} +1 -1
- package/dist/{chunk-25HNTVEI.js → chunk-G25FMFEZ.js} +3 -3
- package/dist/{chunk-25HNTVEI.js.map → chunk-G25FMFEZ.js.map} +1 -1
- package/dist/{chunk-35CHEARK.cjs → chunk-HRTIY6NY.cjs} +38 -38
- package/dist/{chunk-35CHEARK.cjs.map → chunk-HRTIY6NY.cjs.map} +1 -1
- package/dist/{chunk-YCVNFRL3.js → chunk-IJKGF6SC.js} +4 -4
- package/dist/{chunk-YCVNFRL3.js.map → chunk-IJKGF6SC.js.map} +1 -1
- package/dist/{chunk-KXOAV7AT.js → chunk-OS2O6IKX.js} +135 -12
- package/dist/chunk-OS2O6IKX.js.map +1 -0
- package/dist/{chunk-Y7UKOBSY.js → chunk-OZIRHN5H.js} +5 -5
- package/dist/{chunk-Y7UKOBSY.js.map → chunk-OZIRHN5H.js.map} +1 -1
- package/dist/{chunk-BR25RE7U.js → chunk-QGQFA5HD.js} +5 -5
- package/dist/{chunk-BR25RE7U.js.map → chunk-QGQFA5HD.js.map} +1 -1
- package/dist/{chunk-OGBD74IR.cjs → chunk-QJ34MOFV.cjs} +187 -117
- package/dist/chunk-QJ34MOFV.cjs.map +1 -0
- package/dist/{chunk-SAPLIQF2.js → chunk-QOIVLYMW.js} +4 -4
- package/dist/{chunk-SAPLIQF2.js.map → chunk-QOIVLYMW.js.map} +1 -1
- package/dist/{chunk-K7JEN3KT.cjs → chunk-QR2NIDUK.cjs} +4 -4
- package/dist/{chunk-K7JEN3KT.cjs.map → chunk-QR2NIDUK.cjs.map} +1 -1
- package/dist/{chunk-FOEEDJ5R.js → chunk-R5RI4SFY.js} +5 -5
- package/dist/{chunk-FOEEDJ5R.js.map → chunk-R5RI4SFY.js.map} +1 -1
- package/dist/{chunk-4D7HZRNC.js → chunk-R7MYG522.js} +3 -3
- package/dist/{chunk-4D7HZRNC.js.map → chunk-R7MYG522.js.map} +1 -1
- package/dist/{chunk-BJIWN7BQ.cjs → chunk-STKGRXSA.cjs} +10 -10
- package/dist/{chunk-BJIWN7BQ.cjs.map → chunk-STKGRXSA.cjs.map} +1 -1
- package/dist/{chunk-I7OOIEZZ.js → chunk-UWTU4V3G.js} +5 -5
- package/dist/{chunk-I7OOIEZZ.js.map → chunk-UWTU4V3G.js.map} +1 -1
- package/dist/{chunk-G37GQ5JE.cjs → chunk-VZZPCYA3.cjs} +135 -12
- package/dist/chunk-VZZPCYA3.cjs.map +1 -0
- package/dist/{chunk-JYKSWEXT.cjs → chunk-WN7BZDNH.cjs} +6 -6
- package/dist/{chunk-JYKSWEXT.cjs.map → chunk-WN7BZDNH.cjs.map} +1 -1
- package/dist/{chunk-5ANJW76W.cjs → chunk-X2CN6FXA.cjs} +20 -20
- package/dist/{chunk-5ANJW76W.cjs.map → chunk-X2CN6FXA.cjs.map} +1 -1
- package/dist/{chunk-CCOPHCXX.js → chunk-XFEDJEJF.js} +109 -39
- package/dist/chunk-XFEDJEJF.js.map +1 -0
- package/dist/{chunk-J552D3A7.js → chunk-YFPEJP6W.js} +4 -4
- package/dist/{chunk-J552D3A7.js.map → chunk-YFPEJP6W.js.map} +1 -1
- package/dist/{chunk-IGEWAL2J.cjs → chunk-YWYOLZWB.cjs} +29 -29
- package/dist/{chunk-IGEWAL2J.cjs.map → chunk-YWYOLZWB.cjs.map} +1 -1
- package/dist/comments.cjs +48 -48
- package/dist/comments.d.cts +2 -2
- package/dist/comments.d.ts +2 -2
- package/dist/comments.js +4 -4
- package/dist/diff.d.cts +2 -2
- package/dist/diff.d.ts +2 -2
- package/dist/docx.cjs +1 -1
- package/dist/docx.d.cts +1 -1
- package/dist/docx.d.ts +1 -1
- package/dist/docx.js +1 -1
- package/dist/embed.cjs +6 -6
- package/dist/embed.d.cts +2 -2
- package/dist/embed.d.ts +2 -2
- package/dist/embed.js +4 -4
- package/dist/{emoji-extension-CmPlRssm.d.ts → emoji-extension-W7WYXOxF.d.ts} +1 -1
- package/dist/{emoji-extension-zJ6F7hW8.d.cts → emoji-extension-j6FdAXPA.d.cts} +1 -1
- package/dist/emoji.cjs +7 -7
- package/dist/emoji.d.cts +4 -4
- package/dist/emoji.d.ts +4 -4
- package/dist/emoji.js +4 -4
- package/dist/engine.cjs +43 -43
- package/dist/engine.d.cts +5 -5
- package/dist/engine.d.ts +5 -5
- package/dist/engine.js +1 -1
- package/dist/{find-extension-CmFehyul.d.ts → find-extension-CwhUbnM7.d.ts} +1 -1
- package/dist/{find-extension-BcRyE9K4.d.cts → find-extension-DhVtoyGx.d.cts} +1 -1
- package/dist/find.cjs +8 -8
- package/dist/find.d.cts +3 -3
- package/dist/find.d.ts +3 -3
- package/dist/find.js +4 -4
- package/dist/headless.cjs +59 -59
- package/dist/headless.d.cts +7 -7
- package/dist/headless.d.ts +7 -7
- package/dist/headless.js +2 -2
- package/dist/{index-DiCGV60d.d.ts → index-CLSQdbjq.d.ts} +1 -1
- package/dist/{index-CFPmCee4.d.cts → index-KM5kJs7H.d.cts} +1 -1
- package/dist/index.cjs +71 -71
- package/dist/index.d.cts +7 -7
- package/dist/index.d.ts +7 -7
- package/dist/index.js +3 -3
- package/dist/math.cjs +7 -7
- package/dist/math.d.cts +3 -3
- package/dist/math.d.ts +3 -3
- package/dist/math.js +5 -5
- package/dist/mention.cjs +7 -7
- package/dist/mention.d.cts +2 -2
- package/dist/mention.d.ts +2 -2
- package/dist/mention.js +5 -5
- package/dist/presence.cjs +33 -33
- package/dist/presence.d.cts +3 -3
- package/dist/presence.d.ts +3 -3
- package/dist/presence.js +5 -5
- package/dist/{stats-extension-Dt1lgP3m.d.cts → stats-extension-ByKYtIB5.d.cts} +1 -1
- package/dist/{stats-extension-DisOEbbI.d.ts → stats-extension-DNEtte9E.d.ts} +1 -1
- package/dist/stats.cjs +7 -7
- package/dist/stats.d.cts +4 -4
- package/dist/stats.d.ts +4 -4
- package/dist/stats.js +4 -4
- package/dist/{table-extension-BTMJnT7J.d.ts → table-extension-BT6DTOXL.d.ts} +1 -1
- package/dist/{table-extension-DxZz3jqp.d.cts → table-extension-DuphgC4v.d.cts} +1 -1
- package/dist/table.cjs +23 -23
- package/dist/table.d.cts +3 -3
- package/dist/table.d.ts +3 -3
- package/dist/table.js +4 -4
- package/dist/{to-html-C5t7xyaM.d.ts → to-html-B_NwgPSz.d.ts} +1 -1
- package/dist/{to-html-CNCITCln.d.cts → to-html-DwhNK6-9.d.cts} +1 -1
- package/dist/{toc-extension-CR9U-l6j.d.ts → toc-extension-B0Datrvu.d.ts} +1 -1
- package/dist/{toc-extension-DGHywOBv.d.cts → toc-extension-RtMspT0A.d.cts} +1 -1
- package/dist/toc.cjs +7 -7
- package/dist/toc.d.cts +3 -3
- package/dist/toc.d.ts +3 -3
- package/dist/toc.js +4 -4
- package/dist/{types-DULc8wwg.d.ts → types-CQ8Vw_7N.d.cts} +27 -1
- package/dist/{types-DULc8wwg.d.cts → types-CQ8Vw_7N.d.ts} +27 -1
- package/dist/{types-C6_QkXzy.d.ts → types-DM6gsVga.d.cts} +2 -26
- package/dist/{types-CJ7Gq3GX.d.cts → types-rf9DGNaS.d.ts} +2 -26
- package/dist/{view-controller-cxQJ5rQb.d.cts → view-controller-BzXblb44.d.cts} +2 -2
- package/dist/{view-controller-zNqHm_Qg.d.ts → view-controller-CdzfG_xK.d.ts} +2 -2
- package/dist/view.d.cts +2 -2
- package/dist/view.d.ts +2 -2
- package/dist/yjs.cjs +99 -99
- package/dist/yjs.d.cts +4 -4
- package/dist/yjs.d.ts +4 -4
- package/dist/yjs.js +3 -3
- package/package.json +1 -1
- package/dist/chunk-CCOPHCXX.js.map +0 -1
- package/dist/chunk-G37GQ5JE.cjs.map +0 -1
- package/dist/chunk-KXOAV7AT.js.map +0 -1
- package/dist/chunk-OGBD74IR.cjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
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.3.0 (2026-11-01)
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- `TextSelection` has a new optional `assoc`, `-1` for a caret drawn at the end of the line before a soft wrap. The editor sets it when ↑, ↓ or a click leaves the caret there; a host that never sets it sees the same selections as before. It is never written to step, document or Yjs JSON.
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- Markdown shortcuts convert list items as well as paragraphs: `# `, `> `, `1. `, `- ` and `[] ` typed at the start of a bullet, a numbered item or a task turn it into that block and keep its indent, as in Notion. A prefix for the kind the item already is, such as `- ` in a bullet, stays text, and the divider, `$$ ` and code fence shortcuts still turn paragraphs only.
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
- The undo history survives a change the editor does not record, such as a new `blocks` array, a transaction with `addToHistory: false` or a remote change without a collaboration history, where it was cleared. Undo and redo carry the writer's edits over that change and never remove text it added; an edit whose text it removed or rewrote is dropped, and older edits still undo. A Yjs collaboration keeps its own history as before.
|
|
15
|
+
- ↑ and ↓ keep the caret on the line they move to where a soft wrap ends it. With the caret's horizontal position past the end of a wrapped line, the caret was drawn at the start of the next line in some cases, and typed text started the next line; the caret now stops before the space the line wraps at, or, where it wraps after another character such as a hyphen, is drawn at the end of the line. A click past the end of a wrapped line keeps that side too, so the next ↑ or ↓ starts from the line clicked.
|
|
16
|
+
|
|
5
17
|
## 1.2.3 (2026-11-01)
|
|
6
18
|
|
|
7
19
|
### Fixed
|
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 chunkQR2NIDUK_cjs = require('./chunk-QR2NIDUK.cjs');
|
|
6
|
+
var chunk5MQ2AL7L_cjs = require('./chunk-5MQ2AL7L.cjs');
|
|
7
|
+
var chunkQJ34MOFV_cjs = require('./chunk-QJ34MOFV.cjs');
|
|
8
8
|
require('./chunk-A6PGQVTR.cjs');
|
|
9
|
-
var
|
|
9
|
+
var chunkVZZPCYA3_cjs = require('./chunk-VZZPCYA3.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 = chunkVZZPCYA3_cjs.primaryRegion(schema, first);
|
|
117
|
+
const end = chunkVZZPCYA3_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: chunkVZZPCYA3_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, chunkVZZPCYA3_cjs.selectedBlockIds(doc, selection));
|
|
126
|
+
const { from, to } = chunkVZZPCYA3_cjs.orderedRange(doc, selection.anchor, selection.head);
|
|
127
|
+
if (chunkVZZPCYA3_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: chunkVZZPCYA3_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 = chunkVZZPCYA3_cjs.primaryRegion(tr.before.schema, block) ?? "";
|
|
148
|
+
const length = region === "" ? 0 : chunkVZZPCYA3_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 = chunkVZZPCYA3_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 && chunkVZZPCYA3_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 : chunkVZZPCYA3_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 : chunkVZZPCYA3_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 = chunkVZZPCYA3_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) => chunkVZZPCYA3_cjs.getPluginState(state, aiKey);
|
|
182
|
+
var aiTransaction = (state, act2) => new chunkVZZPCYA3_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) => chunkVZZPCYA3_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) => chunkVZZPCYA3_cjs.toMarkdown(blocks, { schema: state.schema, comments: false });
|
|
314
314
|
function rangeMarkdown(state, from, to) {
|
|
315
|
-
const slice =
|
|
315
|
+
const slice = chunkVZZPCYA3_cjs.sliceFromSelection({ ...state, selection: chunkVZZPCYA3_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(chunk5MQ2AL7L_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" || !chunkVZZPCYA3_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 || chunkVZZPCYA3_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 ? chunkVZZPCYA3_cjs.descendantsEnd(tr.doc, index) : index;
|
|
570
|
+
const fresh = chunkVZZPCYA3_cjs.freshBlocks(pieces, tr.doc.blocks[index].indent, makeId);
|
|
571
|
+
tr.step(chunkVZZPCYA3_cjs.insertBlocksStep(at, fresh));
|
|
572
|
+
chunkVZZPCYA3_cjs.capIndents(tr, at, at + fresh.length);
|
|
573
|
+
tr.setSelection(chunkVZZPCYA3_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 ? chunkVZZPCYA3_cjs.deleteRange(tr, schema, target.from, target.to, makeId) : target.to;
|
|
592
|
+
chunkVZZPCYA3_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: chunkVZZPCYA3_cjs.regionLength(block, target.to.region) };
|
|
596
|
+
chunkVZZPCYA3_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
|
+
chunkQJ34MOFV_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
|
+
chunkQJ34MOFV_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]);
|
|
@@ -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(chunk5MQ2AL7L_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(chunk5MQ2AL7L_cjs.Button, { ...primary, size: "sm", onClick: () => retry(editor, stream), children: labels.retry }),
|
|
669
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk5MQ2AL7L_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(chunk5MQ2AL7L_cjs.Button, { ...primary, size: "sm", onClick: onAccept, children: labels.accept }),
|
|
675
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk5MQ2AL7L_cjs.Button, { size: "sm", variant: "ghost", onClick: onDiscard, children: labels.discard }),
|
|
676
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunk5MQ2AL7L_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
|
+
chunk5MQ2AL7L_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 = chunkVZZPCYA3_cjs.primaryRegion(schema, piece);
|
|
716
|
+
if (region === null) element.textContent = chunkVZZPCYA3_cjs.toPlainText([codec.toQuoin(piece)], { schema });
|
|
717
|
+
else chunkQJ34MOFV_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
|
+
chunkQJ34MOFV_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
|
+
chunkQJ34MOFV_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
|
+
chunkQJ34MOFV_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: chunk5MQ2AL7L_cjs.virtualAnchor(
|
|
857
|
+
() => chunk5MQ2AL7L_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
|
+
chunk5MQ2AL7L_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(chunk5MQ2AL7L_cjs.PopoverAnchor, { virtualRef: anchor }),
|
|
920
920
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
921
|
-
|
|
921
|
+
chunk5MQ2AL7L_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
|
+
chunk5MQ2AL7L_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: chunk5MQ2AL7L_cjs.cn(chunk5MQ2AL7L_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) => chunkVZZPCYA3_cjs.toPlainText(chunkWZA5S5EJ_cjs.fromMarkdown(markdown));
|
|
981
981
|
function AiOverlay({ controller, stream, labels }) {
|
|
982
|
-
const { onError } =
|
|
982
|
+
const { onError } = chunk5MQ2AL7L_cjs.useQuoin();
|
|
983
983
|
const link = linkOf(controller.editor);
|
|
984
|
-
|
|
984
|
+
chunkQJ34MOFV_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 = chunkQJ34MOFV_cjs.useEditorState(controller, aiState);
|
|
989
|
+
const gone = chunkQJ34MOFV_cjs.useEditorState(controller, goneOf);
|
|
990
|
+
const readOnly = chunkQJ34MOFV_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 chunkQR2NIDUK_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 chunkVZZPCYA3_cjs.defineExtension({
|
|
1046
1046
|
name: "ai",
|
|
1047
1047
|
plugins: [aiPlugin],
|
|
1048
1048
|
decorations: aiDecorations,
|
package/dist/ai.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { E as Extension } from './types-
|
|
2
|
-
import './types-
|
|
1
|
+
import { E as Extension } from './types-DM6gsVga.cjs';
|
|
2
|
+
import './types-CQ8Vw_7N.cjs';
|
|
3
3
|
|
|
4
4
|
type AiAction = 'continue' | 'improve' | 'fix' | 'shorten' | 'lengthen' | 'simplify' | 'tone' | 'translate' | 'summarize' | 'explain' | 'custom';
|
|
5
5
|
/** What the host is asked: `selection` and `context` are markdown, `language` the canvas's `lang` when it has one. */
|
package/dist/ai.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { E as Extension } from './types-
|
|
2
|
-
import './types-
|
|
1
|
+
import { E as Extension } from './types-rf9DGNaS.js';
|
|
2
|
+
import './types-CQ8Vw_7N.js';
|
|
3
3
|
|
|
4
4
|
type AiAction = 'continue' | 'improve' | 'fix' | 'shorten' | 'lengthen' | 'simplify' | 'tone' | 'translate' | 'summarize' | 'explain' | 'custom';
|
|
5
5
|
/** What the host is asked: `selection` and `context` are markdown, `language` the canvas's `lang` when it has one. */
|
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-R7MYG522.js';
|
|
4
|
+
import { useQuoin, Popover, PopoverAnchor, PopoverContent, Input, cn, MENU_ITEM, virtualAnchor, rangeRect, Button, toError } from './chunk-YFPEJP6W.js';
|
|
5
|
+
import { useIsomorphicLayoutEffect, useEditorState, useReadOnly, renderInline } from './chunk-XFEDJEJF.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-OS2O6IKX.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';
|
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 chunk3YXV6LP7_cjs = require('./chunk-3YXV6LP7.cjs');
|
|
5
|
+
var chunkSTKGRXSA_cjs = require('./chunk-STKGRXSA.cjs');
|
|
6
|
+
var chunk7RZNJR4J_cjs = require('./chunk-7RZNJR4J.cjs');
|
|
7
|
+
var chunk5ILVILAJ_cjs = require('./chunk-5ILVILAJ.cjs');
|
|
8
|
+
var chunkHRTIY6NY_cjs = require('./chunk-HRTIY6NY.cjs');
|
|
9
9
|
require('./chunk-XZ4NC3Q7.cjs');
|
|
10
|
-
var
|
|
11
|
-
var
|
|
10
|
+
var chunkX2CN6FXA_cjs = require('./chunk-X2CN6FXA.cjs');
|
|
11
|
+
var chunkAY5ANGXK_cjs = require('./chunk-AY5ANGXK.cjs');
|
|
12
12
|
require('./chunk-H3C3MJW5.cjs');
|
|
13
|
-
require('./chunk-
|
|
14
|
-
var
|
|
15
|
-
require('./chunk-
|
|
16
|
-
require('./chunk-
|
|
13
|
+
require('./chunk-AZF7B2AE.cjs');
|
|
14
|
+
var chunkYWYOLZWB_cjs = require('./chunk-YWYOLZWB.cjs');
|
|
15
|
+
require('./chunk-5MQ2AL7L.cjs');
|
|
16
|
+
require('./chunk-QJ34MOFV.cjs');
|
|
17
17
|
require('./chunk-A6PGQVTR.cjs');
|
|
18
|
-
require('./chunk-
|
|
18
|
+
require('./chunk-VZZPCYA3.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: chunk7RZNJR4J_cjs.tableExtension,
|
|
33
|
+
embed: chunk5ILVILAJ_cjs.embedExtension,
|
|
34
|
+
math: chunkHRTIY6NY_cjs.mathExtension,
|
|
35
|
+
toc: chunkX2CN6FXA_cjs.tocExtension,
|
|
36
|
+
mention: chunkAY5ANGXK_cjs.mentionExtension,
|
|
37
|
+
emoji: chunkYWYOLZWB_cjs.emojiExtension,
|
|
38
|
+
find: chunk3YXV6LP7_cjs.findExtension,
|
|
39
|
+
stats: chunkSTKGRXSA_cjs.statsExtension
|
|
40
40
|
};
|
|
41
41
|
var catalogue = createCatalogue(features);
|
|
42
42
|
|
package/dist/catalogue.d.cts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { E as Extension } from './types-
|
|
1
|
+
import { E as Extension } from './types-DM6gsVga.cjs';
|
|
2
2
|
import { embedExtension } from './embed.cjs';
|
|
3
|
-
import { e as emojiExtension } from './emoji-extension-
|
|
4
|
-
import { f as findExtension } from './find-extension-
|
|
3
|
+
import { e as emojiExtension } from './emoji-extension-j6FdAXPA.cjs';
|
|
4
|
+
import { f as findExtension } from './find-extension-DhVtoyGx.cjs';
|
|
5
5
|
import { mathExtension } from './math.cjs';
|
|
6
6
|
import { mentionExtension } from './mention.cjs';
|
|
7
|
-
import { s as statsExtension } from './stats-extension-
|
|
8
|
-
import { t as tableExtension } from './table-extension-
|
|
9
|
-
import { t as tocExtension } from './toc-extension-
|
|
10
|
-
import './types-
|
|
7
|
+
import { s as statsExtension } from './stats-extension-ByKYtIB5.cjs';
|
|
8
|
+
import { t as tableExtension } from './table-extension-DuphgC4v.cjs';
|
|
9
|
+
import { t as tocExtension } from './toc-extension-RtMspT0A.cjs';
|
|
10
|
+
import './types-CQ8Vw_7N.cjs';
|
|
11
11
|
import './embed-provider-jXwlRmnp.cjs';
|
|
12
|
-
import './to-html-
|
|
12
|
+
import './to-html-DwhNK6-9.cjs';
|
|
13
13
|
|
|
14
14
|
type Feature = (options?: never) => Extension;
|
|
15
15
|
type Features = Readonly<Record<string, Feature>>;
|
package/dist/catalogue.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { E as Extension } from './types-
|
|
1
|
+
import { E as Extension } from './types-rf9DGNaS.js';
|
|
2
2
|
import { embedExtension } from './embed.js';
|
|
3
|
-
import { e as emojiExtension } from './emoji-extension-
|
|
4
|
-
import { f as findExtension } from './find-extension-
|
|
3
|
+
import { e as emojiExtension } from './emoji-extension-W7WYXOxF.js';
|
|
4
|
+
import { f as findExtension } from './find-extension-CwhUbnM7.js';
|
|
5
5
|
import { mathExtension } from './math.js';
|
|
6
6
|
import { mentionExtension } from './mention.js';
|
|
7
|
-
import { s as statsExtension } from './stats-extension-
|
|
8
|
-
import { t as tableExtension } from './table-extension-
|
|
9
|
-
import { t as tocExtension } from './toc-extension-
|
|
10
|
-
import './types-
|
|
7
|
+
import { s as statsExtension } from './stats-extension-DNEtte9E.js';
|
|
8
|
+
import { t as tableExtension } from './table-extension-BT6DTOXL.js';
|
|
9
|
+
import { t as tocExtension } from './toc-extension-B0Datrvu.js';
|
|
10
|
+
import './types-CQ8Vw_7N.js';
|
|
11
11
|
import './embed-provider-jXwlRmnp.js';
|
|
12
|
-
import './to-html-
|
|
12
|
+
import './to-html-B_NwgPSz.js';
|
|
13
13
|
|
|
14
14
|
type Feature = (options?: never) => Extension;
|
|
15
15
|
type Features = Readonly<Record<string, Feature>>;
|
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-FWETDMCE.js';
|
|
3
|
+
import { statsExtension } from './chunk-IJKGF6SC.js';
|
|
4
|
+
import { tableExtension } from './chunk-QGQFA5HD.js';
|
|
5
|
+
import { embedExtension } from './chunk-UWTU4V3G.js';
|
|
6
|
+
import { mathExtension } from './chunk-DGWAVYTO.js';
|
|
7
7
|
import './chunk-AD3NY7NA.js';
|
|
8
|
-
import { tocExtension } from './chunk-
|
|
9
|
-
import { mentionExtension } from './chunk-
|
|
8
|
+
import { tocExtension } from './chunk-OZIRHN5H.js';
|
|
9
|
+
import { mentionExtension } from './chunk-5YQKKFYB.js';
|
|
10
10
|
import './chunk-GHNQKJMD.js';
|
|
11
|
-
import './chunk-
|
|
12
|
-
import { emojiExtension } from './chunk-
|
|
13
|
-
import './chunk-
|
|
14
|
-
import './chunk-
|
|
11
|
+
import './chunk-QOIVLYMW.js';
|
|
12
|
+
import { emojiExtension } from './chunk-R5RI4SFY.js';
|
|
13
|
+
import './chunk-YFPEJP6W.js';
|
|
14
|
+
import './chunk-XFEDJEJF.js';
|
|
15
15
|
import './chunk-HDJ653LM.js';
|
|
16
|
-
import './chunk-
|
|
16
|
+
import './chunk-OS2O6IKX.js';
|
|
17
17
|
import './chunk-CSKKSXCE.js';
|
|
18
18
|
import './chunk-BJTOLCRR.js';
|
|
19
19
|
|