wysimark-lite 0.11.0 → 0.12.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.
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
1
2
|
import * as slate from 'slate';
|
|
2
3
|
import { Descendant, Editor, Element as Element$1, BaseEditor, NodeEntry, BaseRange, Location, Path, BaseText } from 'slate';
|
|
3
|
-
import { ReactEditor, Editable } from 'slate-react';
|
|
4
4
|
import { HistoryEditor } from 'slate-history';
|
|
5
|
+
import { ReactEditor, Editable as Editable$1 } from 'slate-react';
|
|
5
6
|
import { SetReturnType, SetOptional, UnionToIntersection, Simplify } from 'type-fest';
|
|
6
7
|
import react from 'react';
|
|
7
|
-
import { RenderElementProps, RenderLeafProps, RenderPlaceholderProps, EditableProps } from 'slate-react/dist/components/editable';
|
|
8
|
+
import { RenderElementProps, RenderLeafProps, RenderPlaceholderProps, EditableProps as EditableProps$1 } from 'slate-react/dist/components/editable';
|
|
8
9
|
|
|
9
10
|
type WysimarkEditor = {
|
|
10
11
|
/**
|
|
@@ -139,8 +140,8 @@ type FullSinkEditor = SinkEditor & BaseEditor & ReactEditor & HistoryEditor;
|
|
|
139
140
|
type VoidActionReturn = boolean | (() => void);
|
|
140
141
|
|
|
141
142
|
type RenderEditableProps = {
|
|
142
|
-
attributes: EditableProps;
|
|
143
|
-
Editable: typeof Editable;
|
|
143
|
+
attributes: EditableProps$1;
|
|
144
|
+
Editable: typeof Editable$1;
|
|
144
145
|
};
|
|
145
146
|
type RenderEditable = (props: RenderEditableProps) => react.ReactElement;
|
|
146
147
|
/**
|
|
@@ -176,7 +177,7 @@ type BasePluginPolicy = {
|
|
|
176
177
|
onDrop?: EditableVoidToBooleanHandlerType<"onDrop">;
|
|
177
178
|
};
|
|
178
179
|
};
|
|
179
|
-
type EditableVoidToBooleanHandlerType<K extends keyof EditableProps> = SetReturnType<NonNullable<EditableProps[K]>, boolean>;
|
|
180
|
+
type EditableVoidToBooleanHandlerType<K extends keyof EditableProps$1> = SetReturnType<NonNullable<EditableProps$1[K]>, boolean>;
|
|
180
181
|
|
|
181
182
|
/**
|
|
182
183
|
* IMPORTANT!
|
|
@@ -891,6 +892,17 @@ declare module "slate" {
|
|
|
891
892
|
}
|
|
892
893
|
}
|
|
893
894
|
|
|
895
|
+
type EditableProps = {
|
|
896
|
+
editor: Editor;
|
|
897
|
+
value: string;
|
|
898
|
+
onChange: (markdown: string) => void;
|
|
899
|
+
throttleInMs?: number;
|
|
900
|
+
placeholder?: string;
|
|
901
|
+
className?: string;
|
|
902
|
+
style?: React.CSSProperties;
|
|
903
|
+
};
|
|
904
|
+
declare function Editable({ editor, value, onChange, throttleInMs, placeholder, className, style, }: EditableProps): react_jsx_runtime.JSX.Element;
|
|
905
|
+
|
|
894
906
|
/**
|
|
895
907
|
* The options passed into the standalone version of Wysimark.
|
|
896
908
|
*/
|
|
@@ -913,4 +925,4 @@ type Wysimark = {
|
|
|
913
925
|
*/
|
|
914
926
|
declare function createWysimark(containerElement: HTMLElement, options: StandaloneOptions): Wysimark;
|
|
915
927
|
|
|
916
|
-
export { Wysimark, createWysimark };
|
|
928
|
+
export { Editable, Wysimark, createWysimark, useEditor };
|
|
@@ -1365,7 +1365,7 @@ Error generating stack: `+n.message+`
|
|
|
1365
1365
|
`;var D4=_(_n)`
|
|
1366
1366
|
padding: 1em;
|
|
1367
1367
|
width: 18em;
|
|
1368
|
-
`;var tn=O(N());function iI({dest:e,close:t,icon:n,buttonCaption:r,buttonHint:i}){let a=oe(),o=(0,C4.useRef)(null),u=Hn({src:o,dest:e},({src:s,dest:f},m)=>fp(s,m,{left:f.left-16,top:f.top+f.height},{margin:16}));async function l(s){if(s.target.files==null||s.target.files.length===0)return;Jr(s);let{files:f}=s.target;for(let m of f)a.upload.upload(m);t()}return(0,tn.jsxs)(tn.Fragment,{children:[(0,tn.jsx)(ea,{close:t}),(0,tn.jsxs)(D4,{ref:o,style:u,children:[(0,tn.jsxs)("label",{children:[(0,tn.jsx)("input",{type:"file",multiple:!0,style:{display:"none"},onChange:l}),(0,tn.jsxs)(Bp,{children:[n,(0,tn.jsx)("span",{style:{marginLeft:"0.5em"},children:r})]})]}),(0,tn.jsx)(Mp,{children:i})]})]})}function w4({dest:e,close:t}){return(0,tn.jsx)(iI,{dest:e,close:t,icon:(0,tn.jsx)(p4,{}),buttonCaption:"Select images...",buttonHint:"Select image files to upload and insert into the editor"})}var A4=[{icon:c4,title:Be("insertTable"),more:!0,Component:Z5},{icon:m4,title:Be("insertImage"),more:!0,Component:w4,show:e=>e.toolbar.showUploadButtons??!1}],k4=A4,Bv=[{icon:d4,title:Be("insert"),more:!0,children:A4}];var Op=[];var S4=O(up()),_u=O(le());var xn=O(N()),aI=(0,S4.isHotkey)("enter");function T4({dest:e,close:t}){let n=oe(),r=(0,_u.useRef)(null),i=Hn({src:r,dest:e},({src:f,dest:m},p)=>fp(f,p,{left:m.left-12,top:m.top+m.height},{margin:16})),[a,o]=(0,_u.useState)(""),u=()=>{n.anchor.insertLink(a,a,{select:!0}),L.focus(n),t()},l=(0,_u.useCallback)(f=>{o(f.currentTarget.value)},[o]);return(0,xn.jsxs)(xn.Fragment,{children:[(0,xn.jsx)(ea,{close:t}),(0,xn.jsxs)(DT,{ref:r,style:i,children:[(0,xn.jsxs)(CT,{children:[(0,xn.jsx)(wT,{type:"text",value:a,autoFocus:!0,onChange:l,onKeyDown:f=>{aI(f)&&(f.preventDefault(),f.stopPropagation(),u())}}),(0,xn.jsxs)(Bp,{onClick:u,children:[(0,xn.jsx)(Tp,{}),(0,xn.jsx)(t4,{})]})]}),(0,xn.jsx)(Mp,{children:"Enter URL of link"})]})]})}var Fp={icon:Tp,title:Be("insertLink"),more:!0,hotkey:"mod+k",Component:T4};function Js(e){let t=d.marks(e);return{bold:t?.bold||!1,italic:t?.italic||!1,strike:t?.strike||!1,code:t?.code||!1,underline:t?.underline||!1}}var B4=[{icon:o4,title:Be("bold"),hotkey:"mod+b",action:e=>e.marksPlugin.toggleBold(),active:e=>Js(e).bold},{icon:u4,title:Be("italic"),hotkey:"mod+i",action:e=>e.marksPlugin.toggleItalic(),active:e=>Js(e).italic},{icon:h4,title:Be("strike"),hotkey:"super+k",action:e=>e.marksPlugin.toggleStrike(),active:e=>Js(e).strike},{icon:f4,title:Be("inlineCode"),hotkey:"mod+j",action:e=>e.inlineCode.toggleInlineCode(),active:e=>Js(e).code},{icon:g4,title:Be("underline"),hotkey:"mod+u",action:e=>e.marksPlugin.toggleUnderline(),active:e=>Js(e).underline}],Mv=B4,M4=B4;var O4=[{icon:s4,title:Be("bulletList"),hotkey:"super+8",action:e=>e.list.convertUnorderedList(!0)},{icon:kv,title:Be("numberedList"),hotkey:"super+7",action:e=>e.list.convertOrderedList(!0)},{icon:v4,title:Be("checkList"),hotkey:"super+9",action:e=>e.list.convertTaskList(!0)}],Ov=O4,F4=[{icon:kv,title:Be("list"),more:!0,children:O4}];var Rp=[{icon:l4,title:Be("quote"),hotkey:"super+.",action:e=>{e.blockQuotePlugin.isActive()?e.blockQuotePlugin.outdent():e.blockQuotePlugin.indent()},active:e=>e.blockQuotePlugin.isActive()}];var oI=[...Sv,"divider",...Ov,"divider",...Mv,"divider",Fp,...Rp,...Op,"divider",...k4],uI=[...Tv,"divider",...Ov,"divider",...Mv,"divider",Fp,...Rp,...Op,"divider",...Bv],lI=[...Tv,"divider",...F4,"divider",...M4,"divider",Fp,...Rp,...Op,"divider",...Bv],R4=[...Sv,"divider"];var Uu=[oI,uI,lI];var ju=O(le());var Ja=O(N());function z4({item:e}){let t=oe(),n=o0(),r=e.active?e.active(n):!1,i=(0,ju.useRef)(null),a=Jn({title:e.title,hotkey:()=>e.hotkey?sp(e.hotkey):void 0}),o=Vt("menu"),u=(0,ju.useCallback)(()=>{let f=i.current,m=e.children,p=e.Component;f&&(m?o.open(()=>(0,Ja.jsx)(mp,{dest:f,items:m,close:o.close})):p&&o.open(()=>(0,Ja.jsx)(p,{dest:f,close:o.close})))},[e]),l=(0,ju.useCallback)(()=>{if(e.action){e.action(t),L.focus(t);return}o.layer?o.close():u()},[o.layer,e]),s=(0,ju.useCallback)(f=>{a.onMouseEnter(f),o.layer&&u()},[o.layer]);return console.log(dp(e?.title)),(0,Ja.jsxs)(LT,{"data-item-type":"button",ref:i,onMouseEnter:s,onMouseLeave:a.onMouseLeave,onClick:l,className:ct({"--active":r&&!dp(e?.title)?.includes("Depth"),"--more":e.more,"--disabled":!r&&dp(e?.title)?.includes("Depth")}),children:[(0,Ja.jsx)(e.icon,{}),e.more?(0,Ja.jsx)(e4,{}):null]})}var eo=O(N());function sI({item:e}){let t=oe();return e==="divider"?(0,eo.jsx)(RT,{"data-item-type":"divider",children:(0,eo.jsx)(zT,{})}):(e.show===void 0?!0:e.show(t))?(0,eo.jsx)(z4,{item:e}):null}function cI(e){let t=e.querySelector("[data-item-type=button]"),n=e.querySelector("[data-item-type=divider]");if(!t||!n)throw new Error("Button or divider not found");return{toolbar:e.offsetWidth,button:t.offsetWidth,divider:n.offsetWidth}}function fI(e,t,n){let r=0;for(let i of e)r+=i==="divider"?n:t;return r}function P4(){let e=(0,qu.useRef)(null),[t,n]=(0,qu.useState)(R4);return(0,qu.useEffect)(()=>{let r=(0,L4.default)(()=>{let i=e.current;if(!i)throw new Error("Toolbar not found");let a=cI(i);for(let o=0;o<Uu.length-1;o++)if(fI(Uu[o],a.button,a.divider)<a.toolbar){n(Uu[o]);return}n(Uu[Uu.length-1])},100,{trailing:!0});return r(),window.addEventListener("resize",r),()=>{window.removeEventListener("resize",r)}},[]),(0,eo.jsx)(OT,{ref:e,children:(0,eo.jsx)(FT,{children:t.map((r,i)=>(0,eo.jsx)(sI,{item:r},typeof r=="string"?i:r.title))})})}var Vu=O(N());function N4({attributes:e,Editable:t}){let n=(0,zp.useRef)(null),r=oe(),i=b2(),a=(0,zp.useCallback)(o=>{o.target===o.currentTarget&&(k.select(r,d.end(r,[])),L.focus(r))},[r]);return(0,Vu.jsx)(sT,{children:(0,Vu.jsxs)(ST,{ref:n,className:ct({"--focused":i}),style:{height:r.toolbar.height,minHeight:r.toolbar.minHeight,maxHeight:r.toolbar.maxHeight},onClick:a,children:[(0,Vu.jsx)(P4,{}),(0,Vu.jsx)(t,{as:kT,...e,style:{overflowY:"auto"}})]})})}var I4=xe((e,t)=>(e.toolbar={height:t.toolbar?.height,minHeight:t.toolbar?.minHeight,maxHeight:t.toolbar?.maxHeight,showUploadButtons:t.toolbar?.showUploadButtons??!0},{name:"toolbar",editor:{},renderEditable:N4,editableProps:{}}));var H4=xe(e=>(e.allowTrailingBlock=!0,{name:"trailing-block",editor:{normalizeNode:t=>{if(!d.isEditor(t[0]))return!1;let n=[e.children.length-1],r=Y.child(e,e.children.length-1);return(d.hasBlocks(e,r)||d.isVoid(e,r))&&k.insertNodes(e,{type:"paragraph",children:[{text:""}]},{at:A.next(n)}),!0}}}));function mI(e,t){let n=Qi(t);k.insertNodes(e,n)}function _4(e){return{pasteMarkdown:ee(mI,e)}}var U4=xe(e=>(e.pasteMarkdown=_4(e),{name:"paste-markdown",editor:{},editableProps:{onPaste(t){let{types:n}=t.clipboardData;if(n.length!==1||n[0]!=="text/plain")return!1;let r=t.clipboardData.getData("text/plain");return e.pasteMarkdown.pasteMarkdown(r),Jr(t),!0}}}));var q4=O(N());function pI(e){let t={...e.attributes,style:{...e.attributes.style,width:void 0,maxWidth:void 0}};return(0,q4.jsx)("span",{...t,children:e.children})}var j4=xe((e,t,{createPolicy:n})=>(e.placeholder={},n({name:"placeholder",editableProps:{renderPlaceholder:pI}})));var V4=[U4,t3,eB,c3,K3,v3,HB,$5,d3,H4,V3,nB,W3,QB,Y5,I4,PB,j4];var dI=IS(V4),{withSink:$4,SinkEditable:G4}=dI;var X4=O(le());function Y4(e){return Object.prototype.toString.call(e)==="[object Object]"}function K4(e){var t,n;return Y4(e)===!1?!1:(t=e.constructor,t===void 0?!0:(n=t.prototype,!(Y4(n)===!1||n.hasOwnProperty("isPrototypeOf")===!1)))}var hI={isHistory(e){return K4(e)&&Array.isArray(e.redos)&&Array.isArray(e.undos)&&(e.redos.length===0||Gr.isOperationList(e.redos[0]))&&(e.undos.length===0||Gr.isOperationList(e.undos[0]))}};var Fv=new WeakMap,Rv=new WeakMap,$u={isHistoryEditor(e){return hI.isHistory(e.history)&&d.isEditor(e)},isMerging(e){return Rv.get(e)},isSaving(e){return Fv.get(e)},redo(e){e.redo()},undo(e){e.undo()},withoutMerging(e,t){var n=$u.isMerging(e);Rv.set(e,!1),t(),Rv.set(e,n)},withoutSaving(e,t){var n=$u.isSaving(e);Fv.set(e,!1),t(),Fv.set(e,n)}},Q4=e=>{var t=e,{apply:n}=t;return t.history={undos:[],redos:[]},t.redo=()=>{var{history:r}=t,{redos:i}=r;if(i.length>0){var a=i[i.length-1];a.selectionBefore&&k.setSelection(t,a.selectionBefore),$u.withoutSaving(t,()=>{d.withoutNormalizing(t,()=>{for(var o of a.operations)t.apply(o)})}),r.redos.pop(),r.undos.push(a)}},t.undo=()=>{var{history:r}=t,{undos:i}=r;if(i.length>0){var a=i[i.length-1];$u.withoutSaving(t,()=>{d.withoutNormalizing(t,()=>{var o=a.operations.map(Gr.inverse).reverse();for(var u of o)t.apply(u);a.selectionBefore&&k.setSelection(t,a.selectionBefore)})}),r.redos.push(a),r.undos.pop()}},t.apply=r=>{var{operations:i,history:a}=t,{undos:o}=a,u=o[o.length-1],l=u&&u.operations[u.operations.length-1],s=$u.isSaving(t),f=$u.isMerging(t);if(s==null&&(s=vI(r)),s){if(f==null&&(u==null?f=!1:i.length!==0?f=!0:f=gI(r,l)),u&&f)u.operations.push(r);else{var m={operations:[r],selectionBefore:t.selection};o.push(m)}for(;o.length>100;)o.shift();a.redos=[]}n(r)},t},gI=(e,t)=>!!(t&&e.type==="insert_text"&&t.type==="insert_text"&&e.offset===t.offset+t.text.length&&A.equals(e.path,t.path)||t&&e.type==="remove_text"&&t.type==="remove_text"&&e.offset+e.text.length===t.offset&&A.equals(e.path,t.path)),vI=(e,t)=>e.type!=="set_selection";function zv({authToken:e,height:t,minHeight:n,maxHeight:r}){let[i]=(0,X4.useState)(()=>{let a=GD(),o=$4(x2(Q4(a)),{toolbar:{height:t,minHeight:n,maxHeight:r,showUploadButtons:!!e},image:{}});return o.convertElement.addConvertElementType("paragraph"),a.wysimark={},a.getMarkdown=()=>Ss(a.children),a.setMarkdown=u=>{let l=Qi(u);a.children=l,a.selection=null,k.select(a,d.start(a,[0]))},o});return i}var Lp=O(N());function yI({children:e,attributes:t}){return(0,Lp.jsx)("span",{...t,children:e})}function Z4({editor:e,value:t,onChange:n,throttleInMs:r=1e3,placeholder:i,className:a,style:o}){let u=(0,ri.useRef)(!1),l=(0,ri.useRef)(void 0),s=(0,ri.useRef)(void 0),f=(0,ri.useCallback)((0,W4.default)(()=>{let g=Ss(e.children);e.wysimark.prevValue={markdown:g,children:e.children},n(g)},r,{leading:!1,trailing:!0}),[e,n,r]),m=(0,ri.useCallback)(()=>{s.current!==e.children&&(s.current=e.children,f())},[f]);if(e.wysimark.prevValue==null||l.current==null){u.current=!0;let g=Qi(t);s.current=l.current=g,e.wysimark.prevValue={markdown:t,children:g}}else if(t!==e.wysimark.prevValue.markdown){u.current=!0;let g=Qi(t);e.children=g,e.selection=null,k.select(e,d.start(e,[0]))}let p=(0,ri.useCallback)(()=>{navigator.userAgent.toLowerCase().includes("firefox")&&L.focus(e)},[e]),c=(0,ri.useCallback)(()=>{f.flush()},[f]);return(0,Lp.jsx)(E2,{editor:e,value:l.current,onChange:m,children:(0,Lp.jsx)(G4,{renderLeaf:yI,onMouseDown:p,onBlur:c,placeholder:i,className:a,style:o})})}var Lv=O(N());function bI({standaloneOptions:{onChange:e,placeholder:t,className:n,...r},standaloneMethodsRef:i}){let[a,o]=(0,Cr.useState)(r.initialMarkdown||""),u=(0,Cr.useRef)(a),l=zv(r);u.current=a,(0,Cr.useImperativeHandle)(i,()=>({getMarkdown(){return u.current},setMarkdown(f){u.current=f,o(f)}}),[u,o]);let s=(0,Cr.useCallback)(f=>{u.current=f,o(f),e?.(f)},[l]);return(0,Lv.jsx)(Z4,{editor:l,value:a,className:n||"",onChange:s,placeholder:t})}function yge(e,t){let n=(0,Cr.createRef)(),r=(0,J4.createRoot)(e);return r.render((0,Lv.jsx)(bI,{standaloneMethodsRef:n,standaloneOptions:t})),{unmount(){try{r.unmount()}catch{}},getMarkdown(){return n.current?.getMarkdown()||""},setMarkdown(i){n.current?.setMarkdown(i)}}}export{yge as createWysimark};
|
|
1368
|
+
`;var tn=O(N());function iI({dest:e,close:t,icon:n,buttonCaption:r,buttonHint:i}){let a=oe(),o=(0,C4.useRef)(null),u=Hn({src:o,dest:e},({src:s,dest:f},m)=>fp(s,m,{left:f.left-16,top:f.top+f.height},{margin:16}));async function l(s){if(s.target.files==null||s.target.files.length===0)return;Jr(s);let{files:f}=s.target;for(let m of f)a.upload.upload(m);t()}return(0,tn.jsxs)(tn.Fragment,{children:[(0,tn.jsx)(ea,{close:t}),(0,tn.jsxs)(D4,{ref:o,style:u,children:[(0,tn.jsxs)("label",{children:[(0,tn.jsx)("input",{type:"file",multiple:!0,style:{display:"none"},onChange:l}),(0,tn.jsxs)(Bp,{children:[n,(0,tn.jsx)("span",{style:{marginLeft:"0.5em"},children:r})]})]}),(0,tn.jsx)(Mp,{children:i})]})]})}function w4({dest:e,close:t}){return(0,tn.jsx)(iI,{dest:e,close:t,icon:(0,tn.jsx)(p4,{}),buttonCaption:"Select images...",buttonHint:"Select image files to upload and insert into the editor"})}var A4=[{icon:c4,title:Be("insertTable"),more:!0,Component:Z5},{icon:m4,title:Be("insertImage"),more:!0,Component:w4,show:e=>e.toolbar.showUploadButtons??!1}],k4=A4,Bv=[{icon:d4,title:Be("insert"),more:!0,children:A4}];var Op=[];var S4=O(up()),_u=O(le());var xn=O(N()),aI=(0,S4.isHotkey)("enter");function T4({dest:e,close:t}){let n=oe(),r=(0,_u.useRef)(null),i=Hn({src:r,dest:e},({src:f,dest:m},p)=>fp(f,p,{left:m.left-12,top:m.top+m.height},{margin:16})),[a,o]=(0,_u.useState)(""),u=()=>{n.anchor.insertLink(a,a,{select:!0}),L.focus(n),t()},l=(0,_u.useCallback)(f=>{o(f.currentTarget.value)},[o]);return(0,xn.jsxs)(xn.Fragment,{children:[(0,xn.jsx)(ea,{close:t}),(0,xn.jsxs)(DT,{ref:r,style:i,children:[(0,xn.jsxs)(CT,{children:[(0,xn.jsx)(wT,{type:"text",value:a,autoFocus:!0,onChange:l,onKeyDown:f=>{aI(f)&&(f.preventDefault(),f.stopPropagation(),u())}}),(0,xn.jsxs)(Bp,{onClick:u,children:[(0,xn.jsx)(Tp,{}),(0,xn.jsx)(t4,{})]})]}),(0,xn.jsx)(Mp,{children:"Enter URL of link"})]})]})}var Fp={icon:Tp,title:Be("insertLink"),more:!0,hotkey:"mod+k",Component:T4};function Js(e){let t=d.marks(e);return{bold:t?.bold||!1,italic:t?.italic||!1,strike:t?.strike||!1,code:t?.code||!1,underline:t?.underline||!1}}var B4=[{icon:o4,title:Be("bold"),hotkey:"mod+b",action:e=>e.marksPlugin.toggleBold(),active:e=>Js(e).bold},{icon:u4,title:Be("italic"),hotkey:"mod+i",action:e=>e.marksPlugin.toggleItalic(),active:e=>Js(e).italic},{icon:h4,title:Be("strike"),hotkey:"super+k",action:e=>e.marksPlugin.toggleStrike(),active:e=>Js(e).strike},{icon:f4,title:Be("inlineCode"),hotkey:"mod+j",action:e=>e.inlineCode.toggleInlineCode(),active:e=>Js(e).code},{icon:g4,title:Be("underline"),hotkey:"mod+u",action:e=>e.marksPlugin.toggleUnderline(),active:e=>Js(e).underline}],Mv=B4,M4=B4;var O4=[{icon:s4,title:Be("bulletList"),hotkey:"super+8",action:e=>e.list.convertUnorderedList(!0)},{icon:kv,title:Be("numberedList"),hotkey:"super+7",action:e=>e.list.convertOrderedList(!0)},{icon:v4,title:Be("checkList"),hotkey:"super+9",action:e=>e.list.convertTaskList(!0)}],Ov=O4,F4=[{icon:kv,title:Be("list"),more:!0,children:O4}];var Rp=[{icon:l4,title:Be("quote"),hotkey:"super+.",action:e=>{e.blockQuotePlugin.isActive()?e.blockQuotePlugin.outdent():e.blockQuotePlugin.indent()},active:e=>e.blockQuotePlugin.isActive()}];var oI=[...Sv,"divider",...Ov,"divider",...Mv,"divider",Fp,...Rp,...Op,"divider",...k4],uI=[...Tv,"divider",...Ov,"divider",...Mv,"divider",Fp,...Rp,...Op,"divider",...Bv],lI=[...Tv,"divider",...F4,"divider",...M4,"divider",Fp,...Rp,...Op,"divider",...Bv],R4=[...Sv,"divider"];var Uu=[oI,uI,lI];var ju=O(le());var Ja=O(N());function z4({item:e}){let t=oe(),n=o0(),r=e.active?e.active(n):!1,i=(0,ju.useRef)(null),a=Jn({title:e.title,hotkey:()=>e.hotkey?sp(e.hotkey):void 0}),o=Vt("menu"),u=(0,ju.useCallback)(()=>{let f=i.current,m=e.children,p=e.Component;f&&(m?o.open(()=>(0,Ja.jsx)(mp,{dest:f,items:m,close:o.close})):p&&o.open(()=>(0,Ja.jsx)(p,{dest:f,close:o.close})))},[e]),l=(0,ju.useCallback)(()=>{if(e.action){e.action(t),L.focus(t);return}o.layer?o.close():u()},[o.layer,e]),s=(0,ju.useCallback)(f=>{a.onMouseEnter(f),o.layer&&u()},[o.layer]);return console.log(dp(e?.title)),(0,Ja.jsxs)(LT,{"data-item-type":"button",ref:i,onMouseEnter:s,onMouseLeave:a.onMouseLeave,onClick:l,className:ct({"--active":r&&!dp(e?.title)?.includes("Depth"),"--more":e.more,"--disabled":!r&&dp(e?.title)?.includes("Depth")}),children:[(0,Ja.jsx)(e.icon,{}),e.more?(0,Ja.jsx)(e4,{}):null]})}var eo=O(N());function sI({item:e}){let t=oe();return e==="divider"?(0,eo.jsx)(RT,{"data-item-type":"divider",children:(0,eo.jsx)(zT,{})}):(e.show===void 0?!0:e.show(t))?(0,eo.jsx)(z4,{item:e}):null}function cI(e){let t=e.querySelector("[data-item-type=button]"),n=e.querySelector("[data-item-type=divider]");if(!t||!n)throw new Error("Button or divider not found");return{toolbar:e.offsetWidth,button:t.offsetWidth,divider:n.offsetWidth}}function fI(e,t,n){let r=0;for(let i of e)r+=i==="divider"?n:t;return r}function P4(){let e=(0,qu.useRef)(null),[t,n]=(0,qu.useState)(R4);return(0,qu.useEffect)(()=>{let r=(0,L4.default)(()=>{let i=e.current;if(!i)throw new Error("Toolbar not found");let a=cI(i);for(let o=0;o<Uu.length-1;o++)if(fI(Uu[o],a.button,a.divider)<a.toolbar){n(Uu[o]);return}n(Uu[Uu.length-1])},100,{trailing:!0});return r(),window.addEventListener("resize",r),()=>{window.removeEventListener("resize",r)}},[]),(0,eo.jsx)(OT,{ref:e,children:(0,eo.jsx)(FT,{children:t.map((r,i)=>(0,eo.jsx)(sI,{item:r},typeof r=="string"?i:r.title))})})}var Vu=O(N());function N4({attributes:e,Editable:t}){let n=(0,zp.useRef)(null),r=oe(),i=b2(),a=(0,zp.useCallback)(o=>{o.target===o.currentTarget&&(k.select(r,d.end(r,[])),L.focus(r))},[r]);return(0,Vu.jsx)(sT,{children:(0,Vu.jsxs)(ST,{ref:n,className:ct({"--focused":i}),style:{height:r.toolbar.height,minHeight:r.toolbar.minHeight,maxHeight:r.toolbar.maxHeight},onClick:a,children:[(0,Vu.jsx)(P4,{}),(0,Vu.jsx)(t,{as:kT,...e,style:{overflowY:"auto"}})]})})}var I4=xe((e,t)=>(e.toolbar={height:t.toolbar?.height,minHeight:t.toolbar?.minHeight,maxHeight:t.toolbar?.maxHeight,showUploadButtons:t.toolbar?.showUploadButtons??!0},{name:"toolbar",editor:{},renderEditable:N4,editableProps:{}}));var H4=xe(e=>(e.allowTrailingBlock=!0,{name:"trailing-block",editor:{normalizeNode:t=>{if(!d.isEditor(t[0]))return!1;let n=[e.children.length-1],r=Y.child(e,e.children.length-1);return(d.hasBlocks(e,r)||d.isVoid(e,r))&&k.insertNodes(e,{type:"paragraph",children:[{text:""}]},{at:A.next(n)}),!0}}}));function mI(e,t){let n=Qi(t);k.insertNodes(e,n)}function _4(e){return{pasteMarkdown:ee(mI,e)}}var U4=xe(e=>(e.pasteMarkdown=_4(e),{name:"paste-markdown",editor:{},editableProps:{onPaste(t){let{types:n}=t.clipboardData;if(n.length!==1||n[0]!=="text/plain")return!1;let r=t.clipboardData.getData("text/plain");return e.pasteMarkdown.pasteMarkdown(r),Jr(t),!0}}}));var q4=O(N());function pI(e){let t={...e.attributes,style:{...e.attributes.style,width:void 0,maxWidth:void 0}};return(0,q4.jsx)("span",{...t,children:e.children})}var j4=xe((e,t,{createPolicy:n})=>(e.placeholder={},n({name:"placeholder",editableProps:{renderPlaceholder:pI}})));var V4=[U4,t3,eB,c3,K3,v3,HB,$5,d3,H4,V3,nB,W3,QB,Y5,I4,PB,j4];var dI=IS(V4),{withSink:$4,SinkEditable:G4}=dI;var X4=O(le());function Y4(e){return Object.prototype.toString.call(e)==="[object Object]"}function K4(e){var t,n;return Y4(e)===!1?!1:(t=e.constructor,t===void 0?!0:(n=t.prototype,!(Y4(n)===!1||n.hasOwnProperty("isPrototypeOf")===!1)))}var hI={isHistory(e){return K4(e)&&Array.isArray(e.redos)&&Array.isArray(e.undos)&&(e.redos.length===0||Gr.isOperationList(e.redos[0]))&&(e.undos.length===0||Gr.isOperationList(e.undos[0]))}};var Fv=new WeakMap,Rv=new WeakMap,$u={isHistoryEditor(e){return hI.isHistory(e.history)&&d.isEditor(e)},isMerging(e){return Rv.get(e)},isSaving(e){return Fv.get(e)},redo(e){e.redo()},undo(e){e.undo()},withoutMerging(e,t){var n=$u.isMerging(e);Rv.set(e,!1),t(),Rv.set(e,n)},withoutSaving(e,t){var n=$u.isSaving(e);Fv.set(e,!1),t(),Fv.set(e,n)}},Q4=e=>{var t=e,{apply:n}=t;return t.history={undos:[],redos:[]},t.redo=()=>{var{history:r}=t,{redos:i}=r;if(i.length>0){var a=i[i.length-1];a.selectionBefore&&k.setSelection(t,a.selectionBefore),$u.withoutSaving(t,()=>{d.withoutNormalizing(t,()=>{for(var o of a.operations)t.apply(o)})}),r.redos.pop(),r.undos.push(a)}},t.undo=()=>{var{history:r}=t,{undos:i}=r;if(i.length>0){var a=i[i.length-1];$u.withoutSaving(t,()=>{d.withoutNormalizing(t,()=>{var o=a.operations.map(Gr.inverse).reverse();for(var u of o)t.apply(u);a.selectionBefore&&k.setSelection(t,a.selectionBefore)})}),r.redos.push(a),r.undos.pop()}},t.apply=r=>{var{operations:i,history:a}=t,{undos:o}=a,u=o[o.length-1],l=u&&u.operations[u.operations.length-1],s=$u.isSaving(t),f=$u.isMerging(t);if(s==null&&(s=vI(r)),s){if(f==null&&(u==null?f=!1:i.length!==0?f=!0:f=gI(r,l)),u&&f)u.operations.push(r);else{var m={operations:[r],selectionBefore:t.selection};o.push(m)}for(;o.length>100;)o.shift();a.redos=[]}n(r)},t},gI=(e,t)=>!!(t&&e.type==="insert_text"&&t.type==="insert_text"&&e.offset===t.offset+t.text.length&&A.equals(e.path,t.path)||t&&e.type==="remove_text"&&t.type==="remove_text"&&e.offset+e.text.length===t.offset&&A.equals(e.path,t.path)),vI=(e,t)=>e.type!=="set_selection";function zv({authToken:e,height:t,minHeight:n,maxHeight:r}){let[i]=(0,X4.useState)(()=>{let a=GD(),o=$4(x2(Q4(a)),{toolbar:{height:t,minHeight:n,maxHeight:r,showUploadButtons:!!e},image:{}});return o.convertElement.addConvertElementType("paragraph"),a.wysimark={},a.getMarkdown=()=>Ss(a.children),a.setMarkdown=u=>{let l=Qi(u);a.children=l,a.selection=null,k.select(a,d.start(a,[0]))},o});return i}var Lp=O(N());function yI({children:e,attributes:t}){return(0,Lp.jsx)("span",{...t,children:e})}function Z4({editor:e,value:t,onChange:n,throttleInMs:r=1e3,placeholder:i,className:a,style:o}){let u=(0,ri.useRef)(!1),l=(0,ri.useRef)(void 0),s=(0,ri.useRef)(void 0),f=(0,ri.useCallback)((0,W4.default)(()=>{let g=Ss(e.children);e.wysimark.prevValue={markdown:g,children:e.children},n(g)},r,{leading:!1,trailing:!0}),[e,n,r]),m=(0,ri.useCallback)(()=>{s.current!==e.children&&(s.current=e.children,f())},[f]);if(e.wysimark.prevValue==null||l.current==null){u.current=!0;let g=Qi(t);s.current=l.current=g,e.wysimark.prevValue={markdown:t,children:g}}else if(t!==e.wysimark.prevValue.markdown){u.current=!0;let g=Qi(t);e.children=g,e.selection=null,k.select(e,d.start(e,[0]))}let p=(0,ri.useCallback)(()=>{navigator.userAgent.toLowerCase().includes("firefox")&&L.focus(e)},[e]),c=(0,ri.useCallback)(()=>{f.flush()},[f]);return(0,Lp.jsx)(E2,{editor:e,value:l.current,onChange:m,children:(0,Lp.jsx)(G4,{renderLeaf:yI,onMouseDown:p,onBlur:c,placeholder:i,className:a,style:o})})}var Lv=O(N());function bI({standaloneOptions:{onChange:e,placeholder:t,className:n,...r},standaloneMethodsRef:i}){let[a,o]=(0,Cr.useState)(r.initialMarkdown||""),u=(0,Cr.useRef)(a),l=zv(r);u.current=a,(0,Cr.useImperativeHandle)(i,()=>({getMarkdown(){return u.current},setMarkdown(f){u.current=f,o(f)}}),[u,o]);let s=(0,Cr.useCallback)(f=>{u.current=f,o(f),e?.(f)},[l]);return(0,Lv.jsx)(Z4,{editor:l,value:a,className:n||"",onChange:s,placeholder:t})}function yge(e,t){let n=(0,Cr.createRef)(),r=(0,J4.createRoot)(e);return r.render((0,Lv.jsx)(bI,{standaloneMethodsRef:n,standaloneOptions:t})),{unmount(){try{r.unmount()}catch{}},getMarkdown(){return n.current?.getMarkdown()||""},setMarkdown(i){n.current?.setMarkdown(i)}}}export{Z4 as Editable,yge as createWysimark,zv as useEditor};
|
|
1369
1369
|
/*! Bundled license information:
|
|
1370
1370
|
|
|
1371
1371
|
react/cjs/react.production.js:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// src/
|
|
1
|
+
// src/index.tsx
|
|
2
2
|
import {
|
|
3
3
|
createRef,
|
|
4
4
|
useCallback as useCallback16,
|
|
@@ -7932,7 +7932,7 @@ function Editable2({
|
|
|
7932
7932
|
);
|
|
7933
7933
|
}
|
|
7934
7934
|
|
|
7935
|
-
// src/
|
|
7935
|
+
// src/index.tsx
|
|
7936
7936
|
import { jsx as jsx60 } from "react/jsx-runtime";
|
|
7937
7937
|
function StandaloneEditor({
|
|
7938
7938
|
standaloneOptions: { onChange, placeholder, className, ...options },
|
|
@@ -8004,6 +8004,8 @@ function createWysimark(containerElement, options) {
|
|
|
8004
8004
|
};
|
|
8005
8005
|
}
|
|
8006
8006
|
export {
|
|
8007
|
-
|
|
8007
|
+
Editable2 as Editable,
|
|
8008
|
+
createWysimark,
|
|
8009
|
+
useEditor
|
|
8008
8010
|
};
|
|
8009
|
-
//# sourceMappingURL=
|
|
8011
|
+
//# sourceMappingURL=index.mjs.map
|