@clevertask/scribe 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { P as O, a as L, D as U, b as j, e as T, E as z } from "../../../../index-CzwFCNeI.js";
1
+ import { P as O, a as L, D as U, b as j, e as T, E as z } from "../../../../index-CUP7vhu5.js";
2
2
  function G(f) {
3
3
  var a;
4
4
  const { char: v, allowSpaces: c, allowedPrefixes: m, startOfLine: R, $position: d } = f, u = T(v), D = new RegExp(`\\s${u}$`), I = R ? "^" : "", $ = c ? new RegExp(`${I}${u}.*?(?=\\s${u}|$)`, "gm") : new RegExp(`${I}(?:^)?${u}[^\\s${u}]*`, "gm"), p = ((a = d.nodeBefore) === null || a === void 0 ? void 0 : a.isText) && d.nodeBefore.text;
@@ -1,4 +1,4 @@
1
- import { R as l, t as c } from "../../../../index-Cu10LNOZ.js";
1
+ import { R as l, t as c } from "../../../../index-ggVAwdRQ.js";
2
2
  import { l as a, S as d } from "../../../../SlashCommandList-D_Ndw6pj.js";
3
3
  const m = () => {
4
4
  let n, t = [], r, i = !a.isEmpty(t);
@@ -1,5 +1,4 @@
1
- import { Content, Extension } from '@tiptap/react';
2
- import { EditorProps } from '@tiptap/pm/view';
1
+ import { Content, Extension, JSONContent, UseEditorOptions } from '@tiptap/react';
3
2
  import { KeyboardEventHandler } from 'react';
4
3
  import { ClassValue } from 'clsx';
5
4
  export type ScribeOnChangeContents = {
@@ -9,6 +8,8 @@ export type ScribeOnChangeContents = {
9
8
  };
10
9
  export interface ScribeRef {
11
10
  resetContent: () => void;
11
+ getContent: (contentType: "html" | "json" | "markdown") => string | JSONContent | undefined;
12
+ setContent: (content: Content) => void;
12
13
  }
13
14
  export interface ScribeProps {
14
15
  onContentChange?: (content: ScribeOnChangeContents) => void;
@@ -16,7 +17,7 @@ export interface ScribeProps {
16
17
  editable?: boolean;
17
18
  autoFocus?: boolean;
18
19
  extensions?: Extension[];
19
- editorProps?: EditorProps;
20
+ editorProps?: UseEditorOptions;
20
21
  showBarMenu?: boolean;
21
22
  placeholderText?: string;
22
23
  editorContentStyle?: React.CSSProperties;
@@ -1,91 +1,92 @@
1
- import { jsx as a, jsxs as E } from "react/jsx-runtime";
2
- import { u as N, E as j } from "../../index-Cu10LNOZ.js";
3
- import { initExtensions as S } from "./extension/index.js";
4
- import { forwardRef as B, useCallback as M, useImperativeHandle as k, useEffect as i } from "react";
1
+ import { jsx as i, jsxs as S } from "react/jsx-runtime";
2
+ import { u as H, E as k } from "../../index-ggVAwdRQ.js";
3
+ import { initExtensions as B } from "./extension/index.js";
4
+ import { forwardRef as L, useCallback as f, useImperativeHandle as T, useEffect as u } from "react";
5
5
  import A from "../Menu/BarMenu.js";
6
- import { html2md as H } from "../../utils/html-to-markdown.js";
6
+ import { html2md as b } from "../../utils/html-to-markdown.js";
7
7
  import "../../browser-D3_ToIiA.js";
8
8
  function d(t) {
9
- var r, o, e = "";
9
+ var o, s, e = "";
10
10
  if (typeof t == "string" || typeof t == "number") e += t;
11
11
  else if (typeof t == "object") if (Array.isArray(t)) {
12
- var s = t.length;
13
- for (r = 0; r < s; r++) t[r] && (o = d(t[r])) && (e && (e += " "), e += o);
14
- } else for (o in t) t[o] && (e && (e += " "), e += o);
12
+ var r = t.length;
13
+ for (o = 0; o < r; o++) t[o] && (s = d(t[o])) && (e && (e += " "), e += s);
14
+ } else for (s in t) t[s] && (e && (e += " "), e += s);
15
15
  return e;
16
16
  }
17
- function m() {
18
- for (var t, r, o = 0, e = "", s = arguments.length; o < s; o++) (t = arguments[o]) && (r = d(t)) && (e && (e += " "), e += r);
17
+ function p() {
18
+ for (var t, o, s = 0, e = "", r = arguments.length; s < r; s++) (t = arguments[s]) && (o = d(t)) && (e && (e += " "), e += o);
19
19
  return e;
20
20
  }
21
- const O = B((t, r) => {
21
+ const R = L((t, o) => {
22
22
  const {
23
- autoFocus: o = !1,
23
+ autoFocus: s = !1,
24
24
  content: e,
25
- editable: s = !0,
26
- editorProps: p,
27
- extensions: C,
28
- onContentChange: l,
29
- showBarMenu: b = !0,
30
- editorContentStyle: g,
31
- editorContentClassName: h,
32
- mainContainerStyle: y,
33
- mainContainerClassName: w,
34
- onKeyDown: x
35
- } = t, n = N(
25
+ editable: r = !0,
26
+ editorProps: c,
27
+ extensions: h,
28
+ onContentChange: C,
29
+ showBarMenu: y = !0,
30
+ editorContentStyle: w,
31
+ editorContentClassName: x,
32
+ mainContainerStyle: v,
33
+ mainContainerClassName: E,
34
+ onKeyDown: N
35
+ } = t, n = H(
36
36
  {
37
- extensions: [...S(t), ...C ?? []],
38
- onUpdate({ editor: f }) {
39
- const u = f.getHTML(), v = f.getJSON();
40
- l && l({
41
- jsonContent: v,
42
- htmlContent: u,
43
- markdownContent: H(u)
37
+ ...c,
38
+ extensions: [...B(t), ...h ?? []],
39
+ onUpdate({ editor: a }) {
40
+ const m = a.getHTML(), l = a.getJSON();
41
+ C && C({
42
+ jsonContent: l,
43
+ htmlContent: m,
44
+ markdownContent: b(m)
44
45
  });
45
46
  },
46
47
  editorProps: {
47
48
  attributes: {
48
49
  class: "scribe"
49
50
  },
50
- ...p
51
+ ...c == null ? void 0 : c.editorProps
51
52
  }
52
53
  },
53
54
  []
54
- ), c = M(() => {
55
+ ), g = f(() => {
55
56
  n == null || n.commands.setContent("");
57
+ }, []), j = f((a) => {
58
+ var l;
59
+ const m = {
60
+ html: () => n == null ? void 0 : n.getHTML(),
61
+ json: () => n == null ? void 0 : n.getJSON(),
62
+ markdown: () => b((n == null ? void 0 : n.getHTML()) || "")
63
+ };
64
+ return n != null && n.isEmpty ? "" : (l = m[a]) == null ? void 0 : l.call(m);
65
+ }, []), M = f((a) => {
66
+ n == null || n.commands.setContent(a);
56
67
  }, []);
57
- return k(r, () => ({
58
- resetContent: c
59
- }), [c]), i(() => {
68
+ return T(o, () => ({
69
+ resetContent: g,
70
+ setContent: M,
71
+ getContent: j
72
+ }), [g]), u(() => {
60
73
  n == null || n.commands.setContent(e || "");
61
- }, [e]), i(() => {
62
- n == null || n.setEditable(!!s);
63
- }, [s]), i(() => {
64
- o && (n == null || n.commands.focus("end"));
65
- }, [o]), /* @__PURE__ */ a(
66
- "div",
67
- {
68
- className: m("scribe-wrapper", w),
69
- style: y,
70
- id: "scribe-wrapper",
71
- children: /* @__PURE__ */ E("div", { className: m("bg-white", s && "rounded-lg border"), children: [
72
- n && b && /* @__PURE__ */ a(A, { editor: n }),
73
- /* @__PURE__ */ a(
74
- "div",
75
- {
76
- className: m(
77
- "prose max-w-none",
78
- s && "w-full p-[16px]",
79
- h
80
- ),
81
- style: g,
82
- children: /* @__PURE__ */ a(j, { editor: n, onKeyDown: x })
83
- }
84
- )
85
- ] })
86
- }
87
- );
74
+ }, [e]), u(() => {
75
+ n == null || n.setEditable(!!r);
76
+ }, [r]), u(() => {
77
+ s && (n == null || n.commands.focus("end"));
78
+ }, [s]), /* @__PURE__ */ i("div", { className: p("scribe-wrapper", E), style: v, id: "scribe-wrapper", children: /* @__PURE__ */ S("div", { className: p("bg-white", r && "rounded-lg border"), children: [
79
+ n && y && /* @__PURE__ */ i(A, { editor: n }),
80
+ /* @__PURE__ */ i(
81
+ "div",
82
+ {
83
+ className: p("prose max-w-none", r && "w-full p-[16px]", x),
84
+ style: w,
85
+ children: /* @__PURE__ */ i(k, { editor: n, onKeyDown: N })
86
+ }
87
+ )
88
+ ] }) });
88
89
  });
89
90
  export {
90
- O as Scribe
91
+ R as Scribe
91
92
  };
@@ -12077,6 +12077,9 @@ function id(r) {
12077
12077
  return r.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&");
12078
12078
  }
12079
12079
  export {
12080
+ $s as A,
12081
+ Xf as B,
12082
+ Zf as C,
12080
12083
  v as D,
12081
12084
  re as E,
12082
12085
  b as F,
@@ -12094,21 +12097,21 @@ export {
12094
12097
  Yf as g,
12095
12098
  Ks as h,
12096
12099
  pf as i,
12097
- ar as j,
12098
- Qf as k,
12099
- vo as l,
12100
+ $o as j,
12101
+ Ia as k,
12102
+ k as l,
12100
12103
  ic as m,
12101
- Ia as n,
12104
+ ed as n,
12102
12105
  S as o,
12103
- k as p,
12106
+ Ki as p,
12104
12107
  w as q,
12105
12108
  x as r,
12106
- lt as s,
12107
- td as t,
12108
- _f as u,
12109
- ed as v,
12109
+ df as s,
12110
+ Qf as t,
12111
+ td as u,
12112
+ vo as v,
12110
12113
  nd as w,
12111
- $s as x,
12112
- Xf as y,
12113
- Zf as z
12114
+ lt as x,
12115
+ _f as y,
12116
+ ar as z
12114
12117
  };
@@ -1,4 +1,4 @@
1
- import { a as $r, P as kr, E as Ur, x as Fr, u as qr, y as zr, z as Kr } from "./index-CzwFCNeI.js";
1
+ import { a as $r, P as kr, E as Ur, A as Fr, y as qr, B as zr, C as Kr } from "./index-CUP7vhu5.js";
2
2
  import P, { forwardRef as Gr, useRef as Yr, useState as At, useDebugValue as cr, useEffect as _t, createContext as lr, useContext as dr, useLayoutEffect as Xr } from "react";
3
3
  import Jr, { flushSync as Qr } from "react-dom";
4
4
  var k = "top", G = "bottom", Y = "right", U = "left", Rt = "auto", Ue = [k, G, Y, U], Te = "start", He = "end", Zr = "clippingParents", fr = "viewport", je = "popper", en = "reference", Ht = /* @__PURE__ */ Ue.reduce(function(t, e) {
package/dist/main.css CHANGED
@@ -1132,3 +1132,12 @@ video {
1132
1132
  height: auto;
1133
1133
  width: 100%;
1134
1134
  }
1135
+
1136
+ .scribe-task-list li {
1137
+ display: flex;
1138
+ }
1139
+
1140
+ .scribe-task-list li p {
1141
+ margin: 0;
1142
+ margin-left: .5rem;
1143
+ }
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "A Tiptap-based 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.",
4
4
  "author": "CleverTask",
5
5
  "private": false,
6
- "version": "0.0.2",
6
+ "version": "0.0.3",
7
7
  "type": "module",
8
8
  "main": "dist/main.js",
9
9
  "types": "dist/main.d.ts",
@@ -81,8 +81,12 @@
81
81
  "@tiptap/extension-image": "^2.10.3",
82
82
  "@tiptap/extension-link": "^2.10.3",
83
83
  "@tiptap/extension-placeholder": "^2.10.3",
84
- "@tiptap/extension-task-item": "^2.10.3",
85
- "@tiptap/extension-task-list": "^2.10.3",
84
+ "@tiptap/extension-table": "^2.11.5",
85
+ "@tiptap/extension-table-cell": "^2.11.5",
86
+ "@tiptap/extension-table-header": "^2.11.5",
87
+ "@tiptap/extension-table-row": "^2.11.5",
88
+ "@tiptap/extension-task-item": "^2.11.5",
89
+ "@tiptap/extension-task-list": "^2.11.5",
86
90
  "@tiptap/pm": "^2.10.3",
87
91
  "@tiptap/react": "^2.10.3",
88
92
  "@tiptap/starter-kit": "^2.10.3",