@clevertask/scribe 0.1.29 → 0.1.30
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/README.md +30 -47
- package/dist/BarMenu-Bban-B3t.js +302 -0
- package/dist/components/Menu/BarMenu.d.ts.map +1 -1
- package/dist/components/Menu/BarMenu.js +1 -1
- package/dist/components/Menu/BubbleMenu.js +2 -2
- package/dist/components/Menu/CalloutBubbleMenu.js +2 -2
- package/dist/components/Menu/LinkBubbleMenu.d.ts.map +1 -1
- package/dist/components/Menu/LinkBubbleMenu.js +107 -119
- package/dist/components/Menu/LinkEditor.d.ts +0 -7
- package/dist/components/Menu/LinkEditor.d.ts.map +1 -1
- package/dist/components/Menu/LinkEditor.js +152 -153
- package/dist/components/Menu/Mobile/ListOptionBar.js +1 -1
- package/dist/components/Menu/TableBubbleMenu.js +3 -3
- package/dist/components/Menu/TableHeightSettings.js +1 -1
- package/dist/components/Menu/linkBubbleMenuPlugin.d.ts.map +1 -1
- package/dist/components/Menu/linkBubbleMenuPlugin.js +9 -5
- package/dist/components/Scribe/extension/callout.js +7 -7
- package/dist/components/Scribe/extension/emoji/suggest.js +1 -1
- package/dist/components/Scribe/extension/extension-link.js +1 -1
- package/dist/components/Scribe/extension/extension-markdown-paste.js +1 -1
- package/dist/components/Scribe/extension/extension-selectedText.js +1 -1
- package/dist/components/Scribe/extension/external-link-preview/attributes.d.ts +0 -7
- package/dist/components/Scribe/extension/external-link-preview/attributes.d.ts.map +1 -1
- package/dist/components/Scribe/extension/external-link-preview/attributes.js +26 -51
- package/dist/components/Scribe/extension/external-link-preview/commands.d.ts +5 -12
- package/dist/components/Scribe/extension/external-link-preview/commands.d.ts.map +1 -1
- package/dist/components/Scribe/extension/external-link-preview/commands.js +56 -121
- package/dist/components/Scribe/extension/external-link-preview/index.d.ts +4 -6
- package/dist/components/Scribe/extension/external-link-preview/index.d.ts.map +1 -1
- package/dist/components/Scribe/extension/external-link-preview/index.js +5 -41
- package/dist/components/Scribe/extension/external-link-preview/render-html.d.ts +1 -0
- package/dist/components/Scribe/extension/external-link-preview/render-html.d.ts.map +1 -1
- package/dist/components/Scribe/extension/external-link-preview/render-html.js +17 -60
- package/dist/components/Scribe/extension/external-link-preview/schema.d.ts +2 -2
- package/dist/components/Scribe/extension/external-link-preview/schema.js +1 -1
- package/dist/components/Scribe/extension/external-link-preview/serialization.d.ts.map +1 -1
- package/dist/components/Scribe/extension/external-link-preview/serialization.js +29 -45
- package/dist/components/Scribe/extension/external-link-preview/types.d.ts +14 -17
- package/dist/components/Scribe/extension/external-link-preview/types.d.ts.map +1 -1
- package/dist/components/Scribe/extension/index.js +1 -1
- package/dist/components/Scribe/extension/resizable-table.js +2 -2
- package/dist/components/Scribe/extension/slashCommand/index.js +2 -2
- package/dist/components/Scribe/extension/slashCommand/renderItems.js +1 -1
- package/dist/components/Scribe/extension/table-layout.js +1 -1
- package/dist/components/Scribe/extension/tableOfContents.js +1 -1
- package/dist/components/Scribe/index.d.ts +3 -9
- package/dist/components/Scribe/index.d.ts.map +1 -1
- package/dist/components/Scribe/index.js +3 -3
- package/dist/{dist-DnVcys79.js → dist-DGEcUiqG.js} +464 -561
- package/dist/{dist-CDJRm4fL.js → dist-TKt66Yz8.js} +1 -1
- package/dist/{dist-B0xwy1Q5.js → dist-ZGDUiMX8.js} +174 -382
- package/dist/document-node-capabilities.js +1 -1
- package/dist/{extension-BPeoqfHR.js → extension-I7Ocj_D_.js} +1 -1
- package/dist/extension-link-Cb1UO6hv.js +939 -0
- package/dist/main.css +0 -141
- package/dist/{menus-scgppp2C.js → menus-BrQTLTFL.js} +15 -15
- package/dist/{schema-extensions-ITR9LEgX.js → schema-extensions-CzDKrIf8.js} +1324 -1324
- package/dist/schema-extensions.js +1 -1
- package/dist/schema.js +1 -1
- package/dist/{table-layout-iVolql5p.js → table-layout-Dt7KmVp_.js} +36 -36
- package/dist/utils/create-scribe-editor.d.ts +1 -1
- package/dist/utils/create-scribe-editor.d.ts.map +1 -1
- package/dist/utils/index.js +2 -2
- package/package.json +1 -1
- package/dist/BarMenu-BC8XoC6e.js +0 -302
- package/dist/components/Menu/ExternalLinkDisplayOptions.d.ts +0 -13
- package/dist/components/Menu/ExternalLinkDisplayOptions.d.ts.map +0 -1
- package/dist/components/Menu/ExternalLinkDisplayOptions.js +0 -90
- package/dist/components/Scribe/extension/external-link-preview/node-view.d.ts +0 -3
- package/dist/components/Scribe/extension/external-link-preview/node-view.d.ts.map +0 -1
- package/dist/components/Scribe/extension/external-link-preview/node-view.js +0 -97
- package/dist/components/Scribe/extension/external-link-preview/normalization.d.ts +0 -7
- package/dist/components/Scribe/extension/external-link-preview/normalization.d.ts.map +0 -1
- package/dist/components/Scribe/extension/external-link-preview/normalization.js +0 -21
- package/dist/components/Scribe/extension/external-link-preview/paste.d.ts +0 -8
- package/dist/components/Scribe/extension/external-link-preview/paste.d.ts.map +0 -1
- package/dist/components/Scribe/extension/external-link-preview/paste.js +0 -53
- package/dist/components/Scribe/extension/external-link-preview/policy.d.ts +0 -7
- package/dist/components/Scribe/extension/external-link-preview/policy.d.ts.map +0 -1
- package/dist/components/Scribe/extension/external-link-preview/policy.js +0 -38
- package/dist/components/Scribe/extension/external-link-preview/resolver.d.ts +0 -23
- package/dist/components/Scribe/extension/external-link-preview/resolver.d.ts.map +0 -1
- package/dist/components/Scribe/extension/external-link-preview/resolver.js +0 -118
- package/dist/extension-link-RvaqaDqr.js +0 -934
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "./schema-extensions-
|
|
1
|
+
import { t as e } from "./schema-extensions-CzDKrIf8.js";
|
|
2
2
|
export { e as createScribeSchemaExtensionSet };
|
package/dist/schema.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ScribeTableTransformError as e, applyScribeTableTransform as t } from "./table-transforms.js";
|
|
2
|
-
import { t as n } from "./schema-extensions-
|
|
2
|
+
import { t as n } from "./schema-extensions-CzDKrIf8.js";
|
|
3
3
|
import { SCRIBE_DOCUMENT_NODE_CAPABILITY_ROLES as r, SCRIBE_DOCUMENT_NODE_CONTENT_KINDS as i, createScribeDocumentNodeCapabilityManifest as a, defineScribeDocumentNodeCapability as o } from "./document-node-capabilities.js";
|
|
4
4
|
//#region lib/schema.ts
|
|
5
5
|
var s = (e = {}) => Object.values(n(e));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { B as e, I as t, _ as n, a as r, c as i, m as a, n as o } from "./dist-DGEcUiqG.js";
|
|
2
2
|
import { Plugin as s, PluginKey as c, TextSelection as l } from "@tiptap/pm/state";
|
|
3
3
|
import { CellSelection as u, addColumnAfter as d, addColumnBefore as f, addRowAfter as ee, addRowBefore as p, columnResizing as te, deleteColumn as ne, deleteRow as m, deleteTable as re, fixTables as ie, goToNextCell as h, mergeCells as g, setCellAttr as _, splitCell as v, tableEditing as ae, toggleHeader as y, toggleHeaderCell as b } from "@tiptap/pm/tables";
|
|
4
4
|
//#region node_modules/.pnpm/@tiptap+extension-table@3.31.4_@tiptap+core@3.31.4_@tiptap+pm@3.31.4__@tiptap+pm@3.31.4/node_modules/@tiptap/extension-table/dist/index.js
|
|
@@ -16,9 +16,9 @@ function w() {
|
|
|
16
16
|
return {
|
|
17
17
|
default: null,
|
|
18
18
|
parseHTML: (e) => S(e),
|
|
19
|
-
renderHTML: (
|
|
20
|
-
let n = x(
|
|
21
|
-
return
|
|
19
|
+
renderHTML: (e) => {
|
|
20
|
+
let n = x(e.align);
|
|
21
|
+
return t(n) ? { style: `text-align: ${n}` } : {};
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
24
|
}
|
|
@@ -46,7 +46,7 @@ function k(e, t, n) {
|
|
|
46
46
|
let r = t[n];
|
|
47
47
|
(r === 1 || r === "1" || r == null) && delete e[n];
|
|
48
48
|
}
|
|
49
|
-
var se =
|
|
49
|
+
var se = r.create({
|
|
50
50
|
name: "tableCell",
|
|
51
51
|
addOptions() {
|
|
52
52
|
return { HTMLAttributes: {} };
|
|
@@ -72,15 +72,15 @@ var se = n.create({
|
|
|
72
72
|
getContent: (e, t) => O(t.nodes[this.name])
|
|
73
73
|
}, { tag: "td" }];
|
|
74
74
|
},
|
|
75
|
-
renderHTML({ HTMLAttributes:
|
|
76
|
-
let
|
|
77
|
-
return k(
|
|
75
|
+
renderHTML({ HTMLAttributes: t }) {
|
|
76
|
+
let n = e(this.options.HTMLAttributes, t);
|
|
77
|
+
return k(n, t, "colspan"), k(n, t, "rowspan"), [
|
|
78
78
|
"td",
|
|
79
|
-
|
|
79
|
+
n,
|
|
80
80
|
0
|
|
81
81
|
];
|
|
82
82
|
}
|
|
83
|
-
}), A =
|
|
83
|
+
}), A = r.create({
|
|
84
84
|
name: "tableHeader",
|
|
85
85
|
addOptions() {
|
|
86
86
|
return { HTMLAttributes: {} };
|
|
@@ -106,15 +106,15 @@ var se = n.create({
|
|
|
106
106
|
getContent: (e, t) => O(t.nodes[this.name])
|
|
107
107
|
}, { tag: "th" }];
|
|
108
108
|
},
|
|
109
|
-
renderHTML({ HTMLAttributes:
|
|
110
|
-
let
|
|
111
|
-
return k(
|
|
109
|
+
renderHTML({ HTMLAttributes: t }) {
|
|
110
|
+
let n = e(this.options.HTMLAttributes, t);
|
|
111
|
+
return k(n, t, "colspan"), k(n, t, "rowspan"), [
|
|
112
112
|
"th",
|
|
113
|
-
|
|
113
|
+
n,
|
|
114
114
|
0
|
|
115
115
|
];
|
|
116
116
|
}
|
|
117
|
-
}), j =
|
|
117
|
+
}), j = r.create({
|
|
118
118
|
name: "tableRow",
|
|
119
119
|
addOptions() {
|
|
120
120
|
return { HTMLAttributes: {} };
|
|
@@ -124,10 +124,10 @@ var se = n.create({
|
|
|
124
124
|
parseHTML() {
|
|
125
125
|
return [{ tag: "tr" }];
|
|
126
126
|
},
|
|
127
|
-
renderHTML({ HTMLAttributes:
|
|
127
|
+
renderHTML({ HTMLAttributes: t }) {
|
|
128
128
|
return [
|
|
129
129
|
"tr",
|
|
130
|
-
|
|
130
|
+
e(this.options.HTMLAttributes, t),
|
|
131
131
|
0
|
|
132
132
|
];
|
|
133
133
|
}
|
|
@@ -229,18 +229,18 @@ var B = ({ editor: e }) => {
|
|
|
229
229
|
let { selection: t } = e.state;
|
|
230
230
|
if (!z(t)) return !1;
|
|
231
231
|
let n = 0;
|
|
232
|
-
return
|
|
232
|
+
return a(t.ranges[0].$from, (e) => e.type.name === "table")?.node.descendants((e) => {
|
|
233
233
|
if (e.type.name === "table") return !1;
|
|
234
234
|
["tableCell", "tableHeader"].includes(e.type.name) && (n += 1);
|
|
235
235
|
}), n === t.ranges.length && (e.commands.deleteTable(), !0);
|
|
236
236
|
};
|
|
237
237
|
function V(e, t) {
|
|
238
238
|
let n = e.mapping.map(t);
|
|
239
|
-
if (
|
|
239
|
+
if (a(e.selection.$from, (e) => e.type.name === "table")?.pos === n) return;
|
|
240
240
|
let r = e.doc.nodeAt(n);
|
|
241
241
|
if (!r) return;
|
|
242
|
-
let
|
|
243
|
-
e.setSelection(l.near(e.doc.resolve(
|
|
242
|
+
let i = n + r.nodeSize - 1;
|
|
243
|
+
e.setSelection(l.near(e.doc.resolve(i), -1));
|
|
244
244
|
}
|
|
245
245
|
function H(e) {
|
|
246
246
|
let t = "", n = 0;
|
|
@@ -355,7 +355,7 @@ function fe() {
|
|
|
355
355
|
} } }
|
|
356
356
|
});
|
|
357
357
|
}
|
|
358
|
-
var q =
|
|
358
|
+
var q = r.create({
|
|
359
359
|
name: "table",
|
|
360
360
|
addOptions() {
|
|
361
361
|
return {
|
|
@@ -376,15 +376,15 @@ var q = n.create({
|
|
|
376
376
|
parseHTML() {
|
|
377
377
|
return [{ tag: "table" }];
|
|
378
378
|
},
|
|
379
|
-
renderHTML({ node:
|
|
380
|
-
let { colgroup:
|
|
379
|
+
renderHTML({ node: t, HTMLAttributes: n }) {
|
|
380
|
+
let { colgroup: r, tableWidth: i, tableMinWidth: a } = F(t, this.options.cellMinWidth), o = n.style;
|
|
381
381
|
function s() {
|
|
382
|
-
return
|
|
382
|
+
return o || (i ? `width: ${i}` : `min-width: ${a}`);
|
|
383
383
|
}
|
|
384
384
|
let c = [
|
|
385
385
|
"table",
|
|
386
|
-
|
|
387
|
-
|
|
386
|
+
e(this.options.HTMLAttributes, n, { style: s() }),
|
|
387
|
+
r,
|
|
388
388
|
["tbody", 0]
|
|
389
389
|
];
|
|
390
390
|
return this.options.renderWrapper ? [
|
|
@@ -455,7 +455,7 @@ var q = n.create({
|
|
|
455
455
|
addColumnBefore: () => ({ state: e, dispatch: t }) => f(e, t),
|
|
456
456
|
addColumnAfter: () => ({ state: e, dispatch: t }) => d(e, t),
|
|
457
457
|
deleteColumn: () => ({ state: e, dispatch: t }) => {
|
|
458
|
-
let n =
|
|
458
|
+
let n = a(e.selection.$from, (e) => e.type.name === "table");
|
|
459
459
|
return ne(e, t && ((e) => {
|
|
460
460
|
n && V(e, n.pos), t(e);
|
|
461
461
|
}));
|
|
@@ -463,7 +463,7 @@ var q = n.create({
|
|
|
463
463
|
addRowBefore: () => ({ state: e, dispatch: t }) => p(e, t),
|
|
464
464
|
addRowAfter: () => ({ state: e, dispatch: t }) => ee(e, t),
|
|
465
465
|
deleteRow: () => ({ state: e, dispatch: t }) => {
|
|
466
|
-
let n =
|
|
466
|
+
let n = a(e.selection.$from, (e) => e.type.name === "table");
|
|
467
467
|
return m(e, t && ((e) => {
|
|
468
468
|
n && V(e, n.pos), t(e);
|
|
469
469
|
}));
|
|
@@ -512,21 +512,21 @@ var q = n.create({
|
|
|
512
512
|
];
|
|
513
513
|
},
|
|
514
514
|
addNodeView() {
|
|
515
|
-
let
|
|
516
|
-
return
|
|
517
|
-
let
|
|
518
|
-
return new t
|
|
515
|
+
let t = this.options.resizable && this.editor.isEditable, n = this.options.View;
|
|
516
|
+
return t || !n ? null : ({ node: t, view: r, HTMLAttributes: i }) => {
|
|
517
|
+
let a = e(this.options.HTMLAttributes, i);
|
|
518
|
+
return new n(t, this.options.cellMinWidth, r, a);
|
|
519
519
|
};
|
|
520
520
|
},
|
|
521
521
|
extendNodeSchema(e) {
|
|
522
|
-
let
|
|
522
|
+
let t = {
|
|
523
523
|
name: e.name,
|
|
524
524
|
options: e.options,
|
|
525
525
|
storage: e.storage
|
|
526
526
|
};
|
|
527
|
-
return { tableRole:
|
|
527
|
+
return { tableRole: i(n(e, "tableRole", t)) };
|
|
528
528
|
}
|
|
529
|
-
}), pe =
|
|
529
|
+
}), pe = o.create({
|
|
530
530
|
name: "tableKit",
|
|
531
531
|
addExtensions() {
|
|
532
532
|
let e = [];
|
|
@@ -8,7 +8,7 @@ export type CreateEditorOptions = {
|
|
|
8
8
|
* extension owns history for the editor.
|
|
9
9
|
*/
|
|
10
10
|
enableUndoRedo?: boolean;
|
|
11
|
-
/** @
|
|
11
|
+
/** @deprecated Legacy node compatibility. Resolver, policy and automatic preview options are ignored. */
|
|
12
12
|
externalLinkPreview?: Partial<ExternalLinkPreviewOptions>;
|
|
13
13
|
onContentChange?: (content: {
|
|
14
14
|
htmlContent: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-scribe-editor.d.ts","sourceRoot":"","sources":["../../lib/utils/create-scribe-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sDAAsD,CAAC;AAEvG,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,
|
|
1
|
+
{"version":3,"file":"create-scribe-editor.d.ts","sourceRoot":"","sources":["../../lib/utils/create-scribe-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sDAAsD,CAAC;AAEvG,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yGAAyG;IACzG,mBAAmB,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC1D,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE;QAC1B,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,WAAW,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC;KACzB,KAAK,IAAI,CAAC;CACZ,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,EACjC,OAAY,EACZ,QAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,eAAe,GAChB,EAAE,mBAAmB,GAAG,MAAM,CAoB9B"}
|
package/dist/utils/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { t as e } from "../dist-
|
|
1
|
+
import { t as e } from "../dist-DGEcUiqG.js";
|
|
2
2
|
import { t } from "../html-to-markdown-DF93it73.js";
|
|
3
3
|
import { t as n } from "../markdown-to-html-BoK5O_j-.js";
|
|
4
4
|
import { isInViewport as r } from "./is-in-viewport.js";
|
|
5
5
|
import { convertLegacyMathDelimiters as i } from "./convert-legacy-math-delimiters.js";
|
|
6
|
-
import { t as a } from "../extension-
|
|
6
|
+
import { t as a } from "../extension-I7Ocj_D_.js";
|
|
7
7
|
//#region lib/utils/create-scribe-editor.ts
|
|
8
8
|
function o({ content: n = "", editable: r = !1, enableUndoRedo: i, externalLinkPreview: o, onContentChange: s }) {
|
|
9
9
|
return new e({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clevertask/scribe",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.30",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A Radix-based Tiptap rich text editor with a Notion-style block interface for viewing and creating content. Perfect for diverse needs like notes, documents, AI chat, Markdown parsing, and comments.",
|
|
6
6
|
"keywords": [
|
package/dist/BarMenu-BC8XoC6e.js
DELETED
|
@@ -1,302 +0,0 @@
|
|
|
1
|
-
import { s as e } from "./dist-B0xwy1Q5.js";
|
|
2
|
-
import { getPopupMountTarget as t } from "./components/Scribe/extension/getPopupMountTarget.js";
|
|
3
|
-
import n from "./components/Menu/LinkEditor.js";
|
|
4
|
-
import { hideLinkBubbleMenu as r } from "./components/Menu/linkBubbleMenuPlugin.js";
|
|
5
|
-
import { BlockQuoteIcon as i, BoldIcon as a, CodeBlockIcon as o, HighlightIcon as s, HorizontalLineIcon as c, ImageIcon as l, InlineCodeIcon as u, ItalicIcon as d, LinkIcon as f, OrderedListIcon as p, StrikeIcon as m, UnorderedListIcon as h } from "./icons/ToolbarIcons.js";
|
|
6
|
-
import { Box as g, Button as _, Flex as v, IconButton as y, Popover as b, Separator as x, Text as S, TextField as C } from "@radix-ui/themes";
|
|
7
|
-
import { Fragment as w, useCallback as T, useState as E } from "react";
|
|
8
|
-
import { jsx as D, jsxs as O } from "react/jsx-runtime";
|
|
9
|
-
//#region node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
|
|
10
|
-
function k(e) {
|
|
11
|
-
var t, n, r = "";
|
|
12
|
-
if (typeof e == "string" || typeof e == "number") r += e;
|
|
13
|
-
else if (typeof e == "object") {
|
|
14
|
-
if (Array.isArray(e)) {
|
|
15
|
-
var i = e.length;
|
|
16
|
-
for (t = 0; t < i; t++) e[t] && (n = k(e[t])) && (r && (r += " "), r += n);
|
|
17
|
-
} else for (n in e) e[n] && (r && (r += " "), r += n);
|
|
18
|
-
}
|
|
19
|
-
return r;
|
|
20
|
-
}
|
|
21
|
-
function A() {
|
|
22
|
-
for (var e, t, n = 0, r = "", i = arguments.length; n < i; n++) (e = arguments[n]) && (t = k(e)) && (r && (r += " "), r += t);
|
|
23
|
-
return r;
|
|
24
|
-
}
|
|
25
|
-
//#endregion
|
|
26
|
-
//#region lib/components/Menu/BarMenu.tsx
|
|
27
|
-
var j = ({ editor: k }) => {
|
|
28
|
-
let [j, M] = E(!1), [N, P] = E(!1), [F, I] = E(""), [L, R] = E(""), z = t(k), B = e({
|
|
29
|
-
editor: k,
|
|
30
|
-
selector: ({ editor: e }) => e ? {
|
|
31
|
-
isBold: e.isActive("bold"),
|
|
32
|
-
isItalic: e.isActive("italic"),
|
|
33
|
-
isStrike: e.isActive("strike"),
|
|
34
|
-
isCode: e.isActive("code"),
|
|
35
|
-
isHighlight: e.isActive("highlight"),
|
|
36
|
-
isBulletList: e.isActive("bulletList"),
|
|
37
|
-
isOrderedList: e.isActive("orderedList"),
|
|
38
|
-
isLink: e.isActive("link"),
|
|
39
|
-
isImage: e.isActive("image"),
|
|
40
|
-
isCodeBlock: e.isActive("codeBlock"),
|
|
41
|
-
isBlockquote: e.isActive("blockquote")
|
|
42
|
-
} : null
|
|
43
|
-
}), V = T((e) => {
|
|
44
|
-
if (e) {
|
|
45
|
-
r(k);
|
|
46
|
-
let e = k.getAttributes("link").href ?? "";
|
|
47
|
-
I(e), P(!1);
|
|
48
|
-
}
|
|
49
|
-
M(e);
|
|
50
|
-
}, [k]), H = T((e) => {
|
|
51
|
-
if (e) {
|
|
52
|
-
r(k);
|
|
53
|
-
let e = k.getAttributes("image").src ?? "";
|
|
54
|
-
R(e), M(!1);
|
|
55
|
-
}
|
|
56
|
-
P(e);
|
|
57
|
-
}, [k]), U = T(() => {
|
|
58
|
-
let e = L.trim();
|
|
59
|
-
e && (k.chain().focus().setImage({ src: e }).run(), P(!1));
|
|
60
|
-
}, [k, L]), W = T((e) => {
|
|
61
|
-
e.preventDefault();
|
|
62
|
-
}, []), G = T(({ target: { value: e } }) => {
|
|
63
|
-
R(e);
|
|
64
|
-
}, []), K = [
|
|
65
|
-
[
|
|
66
|
-
{
|
|
67
|
-
name: "bold",
|
|
68
|
-
icon: a,
|
|
69
|
-
command: () => k.chain().focus().toggleBold().run(),
|
|
70
|
-
isActive: () => !!B?.isBold,
|
|
71
|
-
isToggle: !0,
|
|
72
|
-
label: "Bold"
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
name: "italic",
|
|
76
|
-
icon: d,
|
|
77
|
-
command: () => k.chain().focus().toggleItalic().run(),
|
|
78
|
-
isActive: () => !!B?.isItalic,
|
|
79
|
-
isToggle: !0,
|
|
80
|
-
label: "Italic"
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
name: "strike",
|
|
84
|
-
icon: m,
|
|
85
|
-
command: () => k.chain().focus().toggleStrike().run(),
|
|
86
|
-
isActive: () => !!B?.isStrike,
|
|
87
|
-
isToggle: !0,
|
|
88
|
-
label: "Strikethrough"
|
|
89
|
-
}
|
|
90
|
-
],
|
|
91
|
-
[{
|
|
92
|
-
name: "inline-code",
|
|
93
|
-
icon: u,
|
|
94
|
-
command: () => k.chain().focus().toggleCode().run(),
|
|
95
|
-
isActive: () => !!B?.isCode,
|
|
96
|
-
isToggle: !0,
|
|
97
|
-
label: "Inline code"
|
|
98
|
-
}, {
|
|
99
|
-
name: "highlight",
|
|
100
|
-
icon: s,
|
|
101
|
-
command: () => k.chain().focus().toggleHighlight().run(),
|
|
102
|
-
isActive: () => !!B?.isHighlight,
|
|
103
|
-
isToggle: !0,
|
|
104
|
-
label: "Highlight"
|
|
105
|
-
}],
|
|
106
|
-
[{
|
|
107
|
-
name: "unordered-list",
|
|
108
|
-
icon: h,
|
|
109
|
-
command: () => k.chain().focus().toggleBulletList().run(),
|
|
110
|
-
isActive: () => !!B?.isBulletList,
|
|
111
|
-
isToggle: !0,
|
|
112
|
-
label: "Bulleted list"
|
|
113
|
-
}, {
|
|
114
|
-
name: "ordered-list",
|
|
115
|
-
icon: p,
|
|
116
|
-
command: () => k.chain().focus().toggleOrderedList().run(),
|
|
117
|
-
isActive: () => !!B?.isOrderedList,
|
|
118
|
-
isToggle: !0,
|
|
119
|
-
label: "Numbered list"
|
|
120
|
-
}],
|
|
121
|
-
[
|
|
122
|
-
{
|
|
123
|
-
name: "link",
|
|
124
|
-
icon: f,
|
|
125
|
-
isActive: () => !!B?.isLink,
|
|
126
|
-
label: "Link",
|
|
127
|
-
popover: "link"
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
name: "image",
|
|
131
|
-
icon: l,
|
|
132
|
-
isActive: () => !!B?.isImage,
|
|
133
|
-
disabled: !1,
|
|
134
|
-
label: "Insert image",
|
|
135
|
-
popover: "image"
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
name: "code-block",
|
|
139
|
-
icon: o,
|
|
140
|
-
command: () => k.chain().focus().toggleCodeBlock().run(),
|
|
141
|
-
isActive: () => !!B?.isCodeBlock,
|
|
142
|
-
isToggle: !0,
|
|
143
|
-
label: "Code block"
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
name: "block-quote",
|
|
147
|
-
icon: i,
|
|
148
|
-
command: () => k.chain().focus().toggleBlockquote().run(),
|
|
149
|
-
isActive: () => !!B?.isBlockquote,
|
|
150
|
-
isToggle: !0,
|
|
151
|
-
label: "Block quote"
|
|
152
|
-
},
|
|
153
|
-
{
|
|
154
|
-
name: "horizontal-line",
|
|
155
|
-
icon: c,
|
|
156
|
-
command: () => k.chain().focus().setHorizontalRule().run(),
|
|
157
|
-
isActive: () => !1,
|
|
158
|
-
label: "Horizontal rule"
|
|
159
|
-
}
|
|
160
|
-
]
|
|
161
|
-
];
|
|
162
|
-
return /* @__PURE__ */ D(g, {
|
|
163
|
-
className: "scribe-toolbar",
|
|
164
|
-
role: "toolbar",
|
|
165
|
-
"aria-label": "Text formatting",
|
|
166
|
-
children: /* @__PURE__ */ D(v, {
|
|
167
|
-
align: "center",
|
|
168
|
-
gap: "3",
|
|
169
|
-
wrap: "wrap",
|
|
170
|
-
children: K.map((e, t) => /* @__PURE__ */ O(w, { children: [/* @__PURE__ */ D(v, {
|
|
171
|
-
align: "center",
|
|
172
|
-
gap: "2",
|
|
173
|
-
wrap: "wrap",
|
|
174
|
-
children: e.map((e, t) => e.popover === "link" ? /* @__PURE__ */ O(b.Root, {
|
|
175
|
-
open: j,
|
|
176
|
-
onOpenChange: V,
|
|
177
|
-
children: [/* @__PURE__ */ D(b.Trigger, { children: /* @__PURE__ */ D(y, {
|
|
178
|
-
type: "button",
|
|
179
|
-
"aria-label": e.label,
|
|
180
|
-
radius: "medium",
|
|
181
|
-
color: "gray",
|
|
182
|
-
variant: e.isActive() ? "soft" : "ghost",
|
|
183
|
-
disabled: e.disabled || !k.isEditable,
|
|
184
|
-
title: e.label,
|
|
185
|
-
onMouseDown: W,
|
|
186
|
-
className: A(e.disabled && "scribe-toolbar-button--disabled"),
|
|
187
|
-
children: /* @__PURE__ */ D(e.icon, { className: "scribe-toolbar-icon" })
|
|
188
|
-
}) }), /* @__PURE__ */ D(b.Content, {
|
|
189
|
-
"aria-label": "Link settings",
|
|
190
|
-
container: z,
|
|
191
|
-
size: "2",
|
|
192
|
-
side: "bottom",
|
|
193
|
-
align: "start",
|
|
194
|
-
style: {
|
|
195
|
-
maxWidth: "calc(100vw - 32px)",
|
|
196
|
-
width: 320
|
|
197
|
-
},
|
|
198
|
-
children: /* @__PURE__ */ D(n, {
|
|
199
|
-
editor: k,
|
|
200
|
-
existingHref: k.getAttributes("link").href ?? "",
|
|
201
|
-
onClose: () => M(!1),
|
|
202
|
-
onValueChange: I,
|
|
203
|
-
selectTextblockEndAfterSave: !0,
|
|
204
|
-
value: F
|
|
205
|
-
})
|
|
206
|
-
})]
|
|
207
|
-
}, `${e.name}-${t}`) : e.popover === "image" ? /* @__PURE__ */ O(b.Root, {
|
|
208
|
-
open: N,
|
|
209
|
-
onOpenChange: H,
|
|
210
|
-
children: [/* @__PURE__ */ D(b.Trigger, { children: /* @__PURE__ */ D(y, {
|
|
211
|
-
type: "button",
|
|
212
|
-
"aria-label": e.label,
|
|
213
|
-
radius: "medium",
|
|
214
|
-
color: "gray",
|
|
215
|
-
variant: e.isActive() ? "soft" : "ghost",
|
|
216
|
-
disabled: e.disabled || !k.isEditable,
|
|
217
|
-
title: e.label,
|
|
218
|
-
onMouseDown: W,
|
|
219
|
-
className: A(e.disabled && "scribe-toolbar-button--disabled"),
|
|
220
|
-
children: /* @__PURE__ */ D(e.icon, { className: "scribe-toolbar-icon" })
|
|
221
|
-
}) }), /* @__PURE__ */ D(b.Content, {
|
|
222
|
-
"aria-label": "Insert image",
|
|
223
|
-
container: z,
|
|
224
|
-
size: "2",
|
|
225
|
-
side: "bottom",
|
|
226
|
-
align: "start",
|
|
227
|
-
style: {
|
|
228
|
-
maxWidth: "calc(100vw - 32px)",
|
|
229
|
-
width: 320
|
|
230
|
-
},
|
|
231
|
-
children: /* @__PURE__ */ O(v, {
|
|
232
|
-
direction: "column",
|
|
233
|
-
gap: "4",
|
|
234
|
-
children: [
|
|
235
|
-
/* @__PURE__ */ O(g, { children: [/* @__PURE__ */ D(S, {
|
|
236
|
-
as: "p",
|
|
237
|
-
size: "3",
|
|
238
|
-
weight: "medium",
|
|
239
|
-
children: "Image"
|
|
240
|
-
}), /* @__PURE__ */ D(S, {
|
|
241
|
-
as: "p",
|
|
242
|
-
size: "2",
|
|
243
|
-
color: "gray",
|
|
244
|
-
children: "Insert an image from a URL."
|
|
245
|
-
})] }),
|
|
246
|
-
/* @__PURE__ */ D("label", { children: /* @__PURE__ */ O(v, {
|
|
247
|
-
direction: "column",
|
|
248
|
-
gap: "2",
|
|
249
|
-
children: [/* @__PURE__ */ D(S, {
|
|
250
|
-
as: "span",
|
|
251
|
-
size: "2",
|
|
252
|
-
weight: "medium",
|
|
253
|
-
children: "Image URL"
|
|
254
|
-
}), /* @__PURE__ */ D(C.Root, {
|
|
255
|
-
autoFocus: !0,
|
|
256
|
-
placeholder: "https://example.com/image.png",
|
|
257
|
-
value: L,
|
|
258
|
-
onChange: G
|
|
259
|
-
})]
|
|
260
|
-
}) }),
|
|
261
|
-
/* @__PURE__ */ O(v, {
|
|
262
|
-
justify: "end",
|
|
263
|
-
gap: "2",
|
|
264
|
-
children: [/* @__PURE__ */ D(b.Close, { children: /* @__PURE__ */ D(_, {
|
|
265
|
-
type: "button",
|
|
266
|
-
variant: "soft",
|
|
267
|
-
color: "gray",
|
|
268
|
-
children: "Cancel"
|
|
269
|
-
}) }), /* @__PURE__ */ D(_, {
|
|
270
|
-
type: "button",
|
|
271
|
-
disabled: L.trim().length === 0,
|
|
272
|
-
onClick: U,
|
|
273
|
-
children: "Save"
|
|
274
|
-
})]
|
|
275
|
-
})
|
|
276
|
-
]
|
|
277
|
-
})
|
|
278
|
-
})]
|
|
279
|
-
}, `${e.name}-${t}`) : /* @__PURE__ */ D(y, {
|
|
280
|
-
type: "button",
|
|
281
|
-
"aria-label": e.label,
|
|
282
|
-
"aria-pressed": e.isToggle ? e.isActive() : void 0,
|
|
283
|
-
radius: "medium",
|
|
284
|
-
color: "gray",
|
|
285
|
-
variant: e.isActive() ? "soft" : "ghost",
|
|
286
|
-
disabled: e.disabled || !k.isEditable,
|
|
287
|
-
title: e.label,
|
|
288
|
-
onMouseDown: W,
|
|
289
|
-
onClick: e.command,
|
|
290
|
-
className: A(e.disabled && "scribe-toolbar-button--disabled"),
|
|
291
|
-
children: /* @__PURE__ */ D(e.icon, { className: "scribe-toolbar-icon" })
|
|
292
|
-
}, `${e.name}-${t}`))
|
|
293
|
-
}), t === K.length - 1 ? null : /* @__PURE__ */ D(x, {
|
|
294
|
-
orientation: "vertical",
|
|
295
|
-
decorative: !0,
|
|
296
|
-
style: { height: 20 }
|
|
297
|
-
})] }, `format-group-${t}`))
|
|
298
|
-
})
|
|
299
|
-
});
|
|
300
|
-
};
|
|
301
|
-
//#endregion
|
|
302
|
-
export { A as n, j as t };
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { Editor } from "@tiptap/react";
|
|
2
|
-
import type { ExternalLinkDisplay } from "../Scribe/extension/external-link-preview/types";
|
|
3
|
-
export type { ExternalLinkDisplay } from "../Scribe/extension/external-link-preview/types";
|
|
4
|
-
export interface ExternalLinkDisplayOptionsProps {
|
|
5
|
-
currentDisplay: ExternalLinkDisplay;
|
|
6
|
-
editor: Editor;
|
|
7
|
-
executeDisplayChange?: (display: ExternalLinkDisplay) => boolean;
|
|
8
|
-
onDisplayChange?: (display: ExternalLinkDisplay) => void;
|
|
9
|
-
targetPosition?: number;
|
|
10
|
-
}
|
|
11
|
-
declare const ExternalLinkDisplayOptions: ({ currentDisplay, editor, executeDisplayChange, onDisplayChange, targetPosition, }: ExternalLinkDisplayOptionsProps) => import("react").JSX.Element | null;
|
|
12
|
-
export default ExternalLinkDisplayOptions;
|
|
13
|
-
//# sourceMappingURL=ExternalLinkDisplayOptions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ExternalLinkDisplayOptions.d.ts","sourceRoot":"","sources":["../../../lib/components/Menu/ExternalLinkDisplayOptions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAE3F,YAAY,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAE3F,MAAM,WAAW,+BAA+B;IAC9C,cAAc,EAAE,mBAAmB,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC;IACjE,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAuCD,QAAA,MAAM,0BAA0B,uFAM7B,+BAA+B,uCA4FjC,CAAC;eAEa,0BAA0B"}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { Button as e, Flex as t, Text as n } from "@radix-ui/themes";
|
|
2
|
-
import { useCallback as r, useId as i } from "react";
|
|
3
|
-
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
4
|
-
//#region lib/components/Menu/ExternalLinkDisplayOptions.tsx
|
|
5
|
-
var s = [
|
|
6
|
-
{
|
|
7
|
-
description: "Show a regular text link.",
|
|
8
|
-
display: "plain",
|
|
9
|
-
label: "Plain link"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
description: "Show a concise label without fetching metadata.",
|
|
13
|
-
display: "compact",
|
|
14
|
-
label: "Compact"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
description: "Show an image, title, and description.",
|
|
18
|
-
display: "card",
|
|
19
|
-
label: "Preview card"
|
|
20
|
-
}
|
|
21
|
-
], c = (e) => e.commands, l = (e) => e.can(), u = ({ currentDisplay: u, editor: d, executeDisplayChange: f, onDisplayChange: p, targetPosition: m }) => {
|
|
22
|
-
let h = i(), g = c(d), _ = l(d), v = typeof g.setExternalLinkDisplay == "function", y = (e) => typeof m == "number" ? !!_.setExternalLinkDisplay?.(e, m) : !!_.setExternalLinkDisplay?.(e), b = {
|
|
23
|
-
plain: u === "plain" || y("plain"),
|
|
24
|
-
compact: u === "compact" || y("compact"),
|
|
25
|
-
card: u === "card" || y("card")
|
|
26
|
-
}, x = v && b.compact, S = v && b.card, C = u !== "plain" || x || S, w = r((e) => {
|
|
27
|
-
e !== u && (f?.(e) ?? (typeof m == "number" ? d.chain().focus().setExternalLinkDisplay(e, m).run() : c(d).setExternalLinkDisplay?.(e))) && p?.(e);
|
|
28
|
-
}, [
|
|
29
|
-
u,
|
|
30
|
-
d,
|
|
31
|
-
f,
|
|
32
|
-
p,
|
|
33
|
-
m
|
|
34
|
-
]);
|
|
35
|
-
return !v || !C ? null : /* @__PURE__ */ o(t, {
|
|
36
|
-
direction: "column",
|
|
37
|
-
gap: "2",
|
|
38
|
-
children: [/* @__PURE__ */ a(n, {
|
|
39
|
-
as: "p",
|
|
40
|
-
size: "2",
|
|
41
|
-
weight: "medium",
|
|
42
|
-
children: "Display as"
|
|
43
|
-
}), /* @__PURE__ */ a(t, {
|
|
44
|
-
role: "group",
|
|
45
|
-
"aria-label": "Display as",
|
|
46
|
-
direction: "column",
|
|
47
|
-
gap: "1",
|
|
48
|
-
children: s.map((r) => {
|
|
49
|
-
let i = u === r.display, s = b[r.display], c = `${h}-${r.display}-description`, l = r.display === "card" && !s ? "Preview cards require metadata support and their own line." : r.description;
|
|
50
|
-
return /* @__PURE__ */ a(e, {
|
|
51
|
-
type: "button",
|
|
52
|
-
"aria-describedby": c,
|
|
53
|
-
"aria-label": r.label,
|
|
54
|
-
"aria-pressed": i,
|
|
55
|
-
color: "gray",
|
|
56
|
-
disabled: !s,
|
|
57
|
-
variant: i ? "soft" : "ghost",
|
|
58
|
-
onClick: () => w(r.display),
|
|
59
|
-
style: {
|
|
60
|
-
height: "auto",
|
|
61
|
-
justifyContent: "flex-start",
|
|
62
|
-
paddingBottom: 8,
|
|
63
|
-
paddingTop: 8,
|
|
64
|
-
textAlign: "left",
|
|
65
|
-
width: "100%"
|
|
66
|
-
},
|
|
67
|
-
children: /* @__PURE__ */ o(t, {
|
|
68
|
-
direction: "column",
|
|
69
|
-
gap: "1",
|
|
70
|
-
align: "start",
|
|
71
|
-
children: [/* @__PURE__ */ a(n, {
|
|
72
|
-
as: "span",
|
|
73
|
-
size: "2",
|
|
74
|
-
weight: "medium",
|
|
75
|
-
children: r.label
|
|
76
|
-
}), /* @__PURE__ */ a(n, {
|
|
77
|
-
id: c,
|
|
78
|
-
as: "span",
|
|
79
|
-
size: "1",
|
|
80
|
-
color: "gray",
|
|
81
|
-
children: l
|
|
82
|
-
})]
|
|
83
|
-
})
|
|
84
|
-
}, r.display);
|
|
85
|
-
})
|
|
86
|
-
})]
|
|
87
|
-
});
|
|
88
|
-
};
|
|
89
|
-
//#endregion
|
|
90
|
-
export { u as default };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node-view.d.ts","sourceRoot":"","sources":["../../../../../lib/components/Scribe/extension/external-link-preview/node-view.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,aAAa,EAAkB,MAAM,eAAe,CAAC;AAiCpF,eAAO,MAAM,2BAA2B,6BAA8B,aAAa,gCAgGlF,CAAC"}
|