@fileverse-dev/ddoc 4.6.6-fanfic-1 → 4.6.6-patch-001

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 { k as Ql, b as Zl, s as eh } from "./index-whhrvfPX.mjs";
1
+ import { k as Ql, b as Zl, s as eh } from "./index-CUCHmZIy.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);
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-whhrvfPX.mjs";
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-CUCHmZIy.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-hhJPcKlp.mjs";
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-DubLQ12-.mjs";
7
7
  class ua {
8
8
  /**
9
9
  Create a new completion context. (Mostly useful for testing
@@ -15,6 +15,7 @@ export interface IEditorToolElement {
15
15
  notVisible?: number;
16
16
  disabled?: boolean;
17
17
  }
18
+ export type CopyAo3Html = (getHtml: () => Promise<string>) => Promise<boolean>;
18
19
  type PickerEntry = {
19
20
  title: string;
20
21
  value: string;
@@ -74,6 +75,7 @@ export declare const useEditorToolbar: ({ editor, onError, isPresentationMode, s
74
75
  undoRedoTools: (IEditorToolElement | null)[];
75
76
  toolbar: (IEditorToolElement | null)[];
76
77
  exportOptions: (IEditorToolElement | null)[];
78
+ copyAo3Html: CopyAo3Html;
77
79
  printHandler: () => void;
78
80
  importOptions: (IEditorToolElement | null)[];
79
81
  bottomToolbar: (IEditorToolElement | null)[];
@@ -1,9 +1,9 @@
1
- import { IEditorToolElement } from './editor-utils';
1
+ import { CopyAo3Html, IEditorToolElement } from './editor-utils';
2
2
  import { Editor } from '@tiptap/react';
3
3
  import { Tab } from './tabs/utils/tab-utils';
4
4
 
5
5
  import * as Y from 'yjs';
6
- declare const ImportExportButton: ({ fileExportsOpen, setFileExportsOpen, exportOptions, importOptions, editor, tabs, ydoc, onRegisterExportTrigger, }: {
6
+ declare const ImportExportButton: ({ fileExportsOpen, setFileExportsOpen, exportOptions, importOptions, editor, tabs, ydoc, copyAo3Html, onRegisterExportTrigger, }: {
7
7
  fileExportsOpen: boolean;
8
8
  setFileExportsOpen: React.Dispatch<React.SetStateAction<boolean>>;
9
9
  exportOptions: (IEditorToolElement | null)[];
@@ -11,6 +11,7 @@ declare const ImportExportButton: ({ fileExportsOpen, setFileExportsOpen, export
11
11
  editor: Editor | null;
12
12
  tabs: Tab[];
13
13
  ydoc: Y.Doc;
14
+ copyAo3Html: CopyAo3Html;
14
15
  onRegisterExportTrigger?: ((trigger: ((format?: string, name?: string) => void) | null) => void) | undefined;
15
16
  }) => import("react/jsx-runtime").JSX.Element;
16
17
  export { ImportExportButton };
@@ -9,9 +9,10 @@ interface DBlockTemplateTarget {
9
9
  pos: number;
10
10
  }
11
11
  export declare const getTemplateTarget: (editor: Editor | null, runtimeState: DBlockRuntimeState) => DBlockTemplateTarget | null;
12
- export declare const DBlockToolbarProvider: ({ children, editor, runtimeState, isPreviewEditor, onApplyTabbedTemplate, onCopyHeadingLink, }: {
12
+ export declare const DBlockToolbarProvider: ({ children, editor, enableFanficTemplate, runtimeState, isPreviewEditor, onApplyTabbedTemplate, onCopyHeadingLink, }: {
13
13
  children: React.ReactNode;
14
14
  editor: Editor | null;
15
+ enableFanficTemplate?: boolean;
15
16
  runtimeState?: DBlockRuntimeState;
16
17
  onCopyHeadingLink?: (link: string) => void;
17
18
  onApplyTabbedTemplate?: (template: TabbedJSONContent) => void;
@@ -3,6 +3,9 @@ import { IpfsImageFetchPayload } from '../../types';
3
3
 
4
4
  declare module '@tiptap/core' {
5
5
  interface Commands {
6
+ exportHtmlContent: {
7
+ exportHtmlContent: () => any;
8
+ };
6
9
  exportHtmlFile: {
7
10
  exportHtmlFile: (props?: {
8
11
  title?: string;
@@ -1,5 +1,5 @@
1
1
  import { Editor } from '@tiptap/react';
2
- import { IEditorToolElement } from '../components/editor-utils';
2
+ import { CopyAo3Html, IEditorToolElement } from '../components/editor-utils';
3
3
  import { Tab } from '../components/tabs/utils/tab-utils';
4
4
 
5
5
  import * as Y from 'yjs';
@@ -8,9 +8,10 @@ interface UseDdocExportArgs {
8
8
  tabs: Tab[];
9
9
  ydoc: Y.Doc | null;
10
10
  exportOptions: (IEditorToolElement | null)[];
11
+ copyAo3Html?: CopyAo3Html;
11
12
  }
12
- declare const useDdocExport: ({ editor, tabs, ydoc, exportOptions, }: UseDdocExportArgs) => {
13
- getOptionFormat: (title: string) => "" | "md" | "pdf" | "md-css" | "html" | "txt" | "odt";
13
+ declare const useDdocExport: ({ editor, tabs, ydoc, exportOptions, copyAo3Html, }: UseDdocExportArgs) => {
14
+ getOptionFormat: (title: string) => "" | "md" | "pdf" | "ao3-html" | "md-css" | "html" | "txt" | "odt";
14
15
  formatSelectOptions: {
15
16
  id: string;
16
17
  label: string;
@@ -200,6 +200,11 @@ export interface DdocProps extends CommentAccountProps {
200
200
  handleCommentButtonClick?: (e: Editor) => void;
201
201
  showCommentButton?: boolean;
202
202
  disableBottomToolbar?: boolean;
203
+ /**
204
+ * Replaces the default To-do quick template with the Fanfic template.
205
+ * Disabled by default so hosts must explicitly opt in where Fanfic is available.
206
+ */
207
+ enableFanficTemplate?: boolean;
203
208
  onError?: (error: string) => void;
204
209
  setCharacterCount?: React.Dispatch<SetStateAction<number>>;
205
210
  setWordCount?: React.Dispatch<SetStateAction<number>>;
@@ -9,8 +9,8 @@ type TemplateButtonProps = {
9
9
  onClick: () => void;
10
10
  content: JSONContent | TabbedJSONContent | null;
11
11
  }[];
12
- declare const createMoreTemplates: (addTemplate: (template: JSONContent) => void) => TemplateButtonProps;
13
- declare const createTemplateButtons: (addTemplate: (template: JSONContent) => void, addTabbedTemplate?: (template: TabbedJSONContent) => void) => TemplateButtonProps;
12
+ declare const createMoreTemplates: (addTemplate: (template: JSONContent) => void, enableFanficTemplate?: boolean) => TemplateButtonProps;
13
+ declare const createTemplateButtons: (addTemplate: (template: JSONContent) => void, addTabbedTemplate?: (template: TabbedJSONContent) => void, enableFanficTemplate?: boolean) => TemplateButtonProps;
14
14
  declare const renderIcon: (icon: IconType, className?: string) => import("react/jsx-runtime").JSX.Element | null;
15
15
  declare const renderTemplateButtons: (templateButtons: TemplateButtonProps, moreTemplates: TemplateButtonProps, visibleTemplateCount: number, toggleAllTemplates: () => void, isExpanded: boolean, isCollaboratorsDoc: boolean, isPreviewMode: boolean, isFocusMode: boolean) => import("react/jsx-runtime").JSX.Element | null;
16
16
  export { renderIcon, createTemplateButtons, createMoreTemplates, renderTemplateButtons, };
@@ -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-hhJPcKlp.mjs";
4
+ import { a3 as _, a4 as w, c as R } from "./index-DubLQ12-.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(
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@fileverse-dev/ddoc",
3
3
  "private": false,
4
4
  "description": "DDoc",
5
- "version": "4.6.6-fanfic-1",
5
+ "version": "4.6.6-patch-001",
6
6
  "main": "dist/index.es.js",
7
7
  "module": "dist/index.es.js",
8
8
  "exports": {