@fileverse-dev/ddoc 4.6.9 → 4.7.1
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 +12 -11
- package/dist/{index-BoSL7hPA.mjs → index-1crPQ6Dv.mjs} +1 -1
- package/dist/{index-CpJgiODy.mjs → index-CPqBt7bN.mjs} +6 -5
- package/dist/index.es.js +1 -1
- package/dist/{markdown-source-pane-DE4NL2By.mjs → markdown-source-pane-DmBVXoFr.mjs} +1 -1
- package/dist/{split-view-toolbar-Cv7z_CwK.mjs → split-view-toolbar-SgLSs3sV.mjs} +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
# dDocs Editor
|
|
2
|
-
[ddocs.new](http://ddocs.new/) is your privacy-focused, open-source alternative to Google Docs
|
|
2
|
+
[ddocs.new](http://ddocs.new/) is your privacy-focused, open-source alternative to Google Docs. It is an end-to-end encrypted document editor that is optimized for multiplayer collaboration without compromising on speed or people's control over their data.
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
dDocs enables secure, real-time and asynchronous collaboration without compromising user privacy.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
## 𓆏 Features:
|
|
4
|
+
## 𓆏 Features include:
|
|
9
5
|
- End-to-end encryption
|
|
6
|
+
- Real-time and async collaboration
|
|
7
|
+
- Suggestion mode (tracked changes) and commenting
|
|
10
8
|
- Markdown and LaTeX support
|
|
9
|
+
- MermaidJS diagram support
|
|
10
|
+
- Import/export of .docx, .md, .pdf, .html and more.
|
|
11
11
|
- Dark mode and color themes
|
|
12
12
|
- Offline/online editing (continue writing and opening older docs even with no WiFi)
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
13
|
+
- Cross-device syncing (desktop and mobile)
|
|
14
|
+
- Mobile optimized webapp & PWA
|
|
15
|
+
- Private access permissions enabled through zero-knowledge proofs
|
|
16
|
+
- Private social recovery of account/files, enabled through zero-knowledge proofs
|
|
16
17
|
- Version history
|
|
17
|
-
- MermaidJS diagram support
|
|
18
18
|
- End-to-end encrypted, programmable API optimised for agents (opt-in)
|
|
19
19
|
|
|
20
|
-
<img width="
|
|
20
|
+
<img width="1574" height="981" alt="ddocsNew" src="https://github.com/user-attachments/assets/b7a344c1-8c86-4735-9181-d0c22a5c4ff6" />
|
|
21
|
+
|
|
21
22
|
|
|
22
23
|
This repository contains:
|
|
23
24
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { k as Ql, b as Zl, s as eh } from "./index-
|
|
1
|
+
import { k as Ql, b as Zl, s as eh } from "./index-CPqBt7bN.mjs";
|
|
2
2
|
let An = [], Xr = [];
|
|
3
3
|
(() => {
|
|
4
4
|
let s = "lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map((e) => e ? parseInt(e, 36) : 1);
|
|
@@ -47006,7 +47006,8 @@ const Fa = {
|
|
|
47006
47006
|
},
|
|
47007
47007
|
{
|
|
47008
47008
|
icon: "FileText",
|
|
47009
|
-
title: "Copy HTML
|
|
47009
|
+
title: "Copy HTML",
|
|
47010
|
+
subtitle: "Format ready for AO3",
|
|
47010
47011
|
onClick: async () => {
|
|
47011
47012
|
e && await j(() => e.commands.exportHtmlContent());
|
|
47012
47013
|
},
|
|
@@ -53089,7 +53090,7 @@ const B3e = (e, t) => gt.create({
|
|
|
53089
53090
|
), s = ke(
|
|
53090
53091
|
(F) => F.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'"),
|
|
53091
53092
|
[]
|
|
53092
|
-
), a = ke((F) => F === "Copy HTML
|
|
53093
|
+
), a = ke((F) => F === "Copy HTML" ? "ao3-html" : F.includes("(.pdf)") ? "pdf" : F.includes("with CSS") ? "md-css" : F.includes("(.md)") ? "md" : F.includes("(.html)") ? "html" : F.includes("(.txt)") ? "txt" : F.includes("(.odt)") ? "odt" : "", []), l = vt(
|
|
53093
53094
|
() => r.filter((F) => F !== null).reduce((F, w) => {
|
|
53094
53095
|
const E = a(w.title);
|
|
53095
53096
|
return E && (F[E] = w), F;
|
|
@@ -53438,7 +53439,7 @@ ${U.getHTML()}`
|
|
|
53438
53439
|
/* @__PURE__ */ se(Pa, { className: "w-[13.75rem] space-y-1", align: "start", children: [
|
|
53439
53440
|
/* @__PURE__ */ se(Y7, { children: [
|
|
53440
53441
|
/* @__PURE__ */ D(Z7, { children: /* @__PURE__ */ se("div", { className: "flex items-center space-x-2", children: [
|
|
53441
|
-
/* @__PURE__ */ D(je, { name: "
|
|
53442
|
+
/* @__PURE__ */ D(je, { name: "FileImport", className: "w-5 h-5" }),
|
|
53442
53443
|
/* @__PURE__ */ D("span", { className: "text-body-sm", children: "Export" })
|
|
53443
53444
|
] }) }),
|
|
53444
53445
|
/* @__PURE__ */ D(J7, { sideOffset: 6, children: n.filter((F) => F !== null).map((F, w) => {
|
|
@@ -53471,7 +53472,7 @@ ${U.getHTML()}`
|
|
|
53471
53472
|
] }),
|
|
53472
53473
|
/* @__PURE__ */ se(Y7, { children: [
|
|
53473
53474
|
/* @__PURE__ */ D(Z7, { children: /* @__PURE__ */ se("div", { className: "flex items-center space-x-2", children: [
|
|
53474
|
-
/* @__PURE__ */ D(je, { name: "
|
|
53475
|
+
/* @__PURE__ */ D(je, { name: "FileExport", className: "w-5 h-5" }),
|
|
53475
53476
|
/* @__PURE__ */ D("span", { className: "text-body-sm", children: "Import" })
|
|
53476
53477
|
] }) }),
|
|
53477
53478
|
/* @__PURE__ */ D(J7, { sideOffset: 6, children: r.filter((F) => F !== null).map((F, w) => {
|
|
@@ -190303,7 +190304,7 @@ const hYe = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]], fYe = pYe("Chevro
|
|
|
190303
190304
|
),
|
|
190304
190305
|
t && /* @__PURE__ */ D("pre", { className: "m-0 px-3 pb-2 text-[11px] leading-relaxed font-mono color-text-secondary whitespace-pre-wrap break-words max-h-40 overflow-auto select-text", children: r })
|
|
190305
190306
|
] }) : null;
|
|
190306
|
-
}, gYe = zj(() => import("./markdown-source-pane-
|
|
190307
|
+
}, gYe = zj(() => import("./markdown-source-pane-DmBVXoFr.mjs")), bYe = zj(() => import("./split-view-toolbar-SgLSs3sV.mjs")), yYe = ({
|
|
190307
190308
|
markdown: e,
|
|
190308
190309
|
onMarkdownChange: t,
|
|
190309
190310
|
ipfsImageUploadFn: n,
|
package/dist/index.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { D as e, a as o, E as t, F as d, P as r, f as i, i as n, g as E, j as m, h as C, m as c, e as l, l as p, c as u, d as f, u as D, v as F } from "./index-
|
|
1
|
+
import { D as e, a as o, E as t, F as d, P as r, f as i, i as n, g as E, j as m, h as C, m as c, e as l, l as p, c as u, d as f, u as D, v as F } from "./index-CPqBt7bN.mjs";
|
|
2
2
|
export {
|
|
3
3
|
e as DdocEditor,
|
|
4
4
|
o as DdocExportModal,
|
|
@@ -3,7 +3,7 @@ var Wr = (t, e, O) => e in t ? Vr(t, e, { enumerable: !0, configurable: !0, writ
|
|
|
3
3
|
var gt = (t, e, O) => Wr(t, typeof e != "symbol" ? e + "" : e, O);
|
|
4
4
|
import { jsx as Cr } from "react/jsx-runtime";
|
|
5
5
|
import { useRef as pe, useEffect as St } from "react";
|
|
6
|
-
import { s as y, A as pO, T as dO, a as Gr, S as et, b as Lr, P as fO, E as j, i as QO, c as _, D as le, k as tt, F as Ar, M as Pt, W as Er, R as Ur, d as mO, N as oe, e as V, f as Mr, g as Ot, h as ce, p as $O, j as Y, t as h, l as Ir, I as rt, L as at, m as ye, n as ue, o as Qe, q as gO, r as te, u as SO, v as Br, w as Nr, x as PO, y as kO, z as Dr, B as Fr, C as Kr, G as Oe, H as ZO, J as Jr, K as kt, O as Hr, Q as ea, U as ta, V as Oa, X as ra, Y as aa, Z as ia, _ as sa, $ as na, a0 as la, a1 as oa, a2 as ca } from "./index-
|
|
6
|
+
import { s as y, A as pO, T as dO, a as Gr, S as et, b as Lr, P as fO, E as j, i as QO, c as _, D as le, k as tt, F as Ar, M as Pt, W as Er, R as Ur, d as mO, N as oe, e as V, f as Mr, g as Ot, h as ce, p as $O, j as Y, t as h, l as Ir, I as rt, L as at, m as ye, n as ue, o as Qe, q as gO, r as te, u as SO, v as Br, w as Nr, x as PO, y as kO, z as Dr, B as Fr, C as Kr, G as Oe, H as ZO, J as Jr, K as kt, O as Hr, Q as ea, U as ta, V as Oa, X as ra, Y as aa, Z as ia, _ as sa, $ as na, a0 as la, a1 as oa, a2 as ca } from "./index-1crPQ6Dv.mjs";
|
|
7
7
|
class ua {
|
|
8
8
|
/**
|
|
9
9
|
Create a new completion context. (Mostly useful for testing
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as m, jsxs as L } from "react/jsx-runtime";
|
|
2
2
|
import { useRef as D, useState as E, useEffect as A } from "react";
|
|
3
3
|
import { DynamicDropdown as P, Tooltip as O, IconButton as T } from "@fileverse/ui";
|
|
4
|
-
import { a3 as _, a4 as w, c as R } from "./index-
|
|
4
|
+
import { a3 as _, a4 as w, c as R } from "./index-1crPQ6Dv.mjs";
|
|
5
5
|
const p = (e, n, o = n) => {
|
|
6
6
|
const { state: i } = e, l = i.changeByRange((t) => {
|
|
7
7
|
const d = i.sliceDoc(t.from, t.to), r = i.sliceDoc(
|