wysimark-lite 0.25.40 → 0.25.42
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/dist/index.js +119 -119
- package/dist/index.mjs +16 -80
- package/dist/index.mjs.map +1 -1
- package/dist/metafile-esm.json +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
"use client";import{createRef as
|
|
2
|
-
`);return[{type:"code-block",language:e.lang||"text",children:t.map(o=>({type:"code-block-line",children:[{text:o}]}))}]}function
|
|
3
|
-
`,...t}];let o=e.match(/^<mark\b[^>]*>(.+?)<\/mark>$/is);return o?[{text:o[1],...t,highlight:!0}]:[{text:e,code:!0}]}function K(e,t={}){let o=[],r={...t};for(let i of e){if(i.type==="html"){if(/^<mark\b[^>]*>$/i.test(i.value)){r={...r,highlight:!0};continue}if(/^<\/mark>$/i.test(i.value)){let{highlight:a,...l}=r;r=l;continue}}o.push(...
|
|
4
|
-
`}];case"footnote":throw new Error("footnote is not supported yet")}be(e)}function
|
|
1
|
+
"use client";import{createRef as DE,useCallback as zE,useImperativeHandle as $E,useRef as NE,useState as HE}from"react";import{createRoot as AE}from"react-dom/client";import PE from"lodash.throttle";import{useCallback as It,useRef as Mt,useState as wp}from"react";import{Editor as CE,Transforms as SE}from"slate";import{ReactEditor as RE,Slate as LE}from"slate-react";import sd from"remark-parse";import{unified as md}from"unified";import{gfm as Np}from"micromark-extension-gfm";import{gfmFromMarkdown as Hp,gfmToMarkdown as Ap}from"mdast-util-gfm";function Or(e){if(e)return function(t){return this.data||(this.data={}),e.call(this,t)}}function Op(e){if(e.enter)for(let t of Object.keys(e.enter))e.enter[t]=Or(e.enter[t]);if(e.exit)for(let t of Object.keys(e.exit))e.exit[t]=Or(e.exit[t]);return e}function Ur(){return function(){if(!this)return;let e=this.data(),t=e.micromarkExtensions||(e.micromarkExtensions=[]),o=e.fromMarkdownExtensions||(e.fromMarkdownExtensions=[]),r=e.toMarkdownExtensions||(e.toMarkdownExtensions=[]);t.push(Np());let n=Hp().map(Op);o.push(...n),r.push(Ap())}}function ge(e){let t=/\[([^\]]+)\]\(([^)]+)\)/g,o="\x07WYSIMARK_",r=`${o}LINK_`,n=`${o}HTML_`,i="\x07",a=[],l=0,m=e.replace(t,p=>(a.push(p),`${r}${l++}${i}`)),s=[];m=Fp(m,s,n,i);let d=/(https?:\/\/[^\s]+)/g;m=m.replace(d,p=>p.replace(/\//g,"\\/"));for(let p=0;p<s.length;p++)m=m.replace(`${n}${p}${i}`,s[p]);for(let p=0;p<a.length;p++)m=m.replace(`${r}${p}${i}`,a[p]);return m}function at(e){return e.replace(/\\\//g,"/")}function Fr(e){return e.replace(/\\([\\`*_\[\]~|<])/g,"$1")}var Up=new Set(["script","style"]);function Fp(e,t,o,r){let n="",i=0;for(;i<e.length;){let a=e.indexOf("<",i);if(a===-1){n+=e.slice(i);break}if(n+=e.slice(i,a),e.startsWith("<!--",a)){let u=e.indexOf("-->",a+4);if(u===-1){n+=e.slice(a);break}let g=e.slice(a,u+3);t.push(g),n+=`${o}${t.length-1}${r}`,i=u+3;continue}if(e.startsWith("<![CDATA[",a)){let u=e.indexOf("]]>",a+9);if(u===-1){n+=e.slice(a);break}let g=e.slice(a,u+3);t.push(g),n+=`${o}${t.length-1}${r}`,i=u+3;continue}let l=wo(e,a);if(!l){n+="<",i=a+1;continue}let m=t.length,s=`${o}${m}${r}`;if(!l.name){let u=e.slice(a,l.endIndex+1);t.push(u),n+=s,i=l.endIndex+1;continue}let c=l.name.toLowerCase();if(l.isClosing||l.isSelfClosing){let u=e.slice(a,l.endIndex+1);t.push(u),n+=s,i=l.endIndex+1;continue}if(Up.has(c)){let u=e.toLowerCase().indexOf(`</${c}`,l.endIndex+1);if(u!==-1){let g=wo(e,u);if(g){let T=e.slice(a,g.endIndex+1);t.push(T),n+=s,i=g.endIndex+1;continue}}}let d=Kp(e,c,l.endIndex+1);if(d!==null){let u=e.slice(a,d+1);t.push(u),n+=s,i=d+1;continue}let p=e.slice(a,l.endIndex+1);t.push(p),n+=s,i=l.endIndex+1}return n}function wo(e,t){if(e[t]!=="<")return null;let o=Vp(e,t);if(o===-1)return null;let r=t+1;if(r>=e.length)return null;let n=e[r];if(n==="!"||n==="?")return{name:null,endIndex:o,isClosing:!1,isSelfClosing:!0};let i=!1;n==="/"&&(i=!0,r+=1);let a=/^[A-Za-z][A-Za-z0-9-]*/.exec(e.slice(r));if(!a)return null;let l=a[0],m=e.slice(t,o+1),s=/\/\s*>$/.test(m);return{name:l,endIndex:o,isClosing:i,isSelfClosing:s}}function Vp(e,t){let o=null;for(let r=t+1;r<e.length;r++){let n=e[r];if(o){n===o&&(o=null);continue}if(n==="'"||n==='"'){o=n;continue}if(n===">")return r}return-1}function Kp(e,t,o){let r=1,n=o,i=t.toLowerCase();for(;n<e.length;){let a=e.indexOf("<",n);if(a===-1)return null;let l=wo(e,a);if(!l||!l.name){n=a+1;continue}if(l.name.toLowerCase()===i&&(l.isClosing?r-=1:l.isSelfClosing||(r+=1),r===0))return l.endIndex;n=l.endIndex+1}return null}function Vr(e,t){if(!e)throw new Error(`${t}`)}function Pt(e,t){if(e.type!==t)throw new Error(`Expected element to be of type ${JSON.stringify(e)} but is ${JSON.stringify(e,null,2)}`)}function be(e){throw new Error(`Didn't expect to get here with value ${JSON.stringify(e,null,2)}`)}function Kr(e){return[{type:"block-quote",children:$e(e.children)}]}function _r(e){let t=e.value.split(`
|
|
2
|
+
`);return[{type:"code-block",language:e.lang||"text",children:t.map(o=>({type:"code-block-line",children:[{text:o}]}))}]}function Wr(e){return[{type:"block-quote",children:[{type:"paragraph",children:[{text:`[${e.identifier}]`}]},...$e(e.children)]}]}import{Text as on}from"slate";import{Text as en}from"slate";import*as lt from"slate";function U(e){return lt.Text.isText(e)}function re(e){return lt.Element.isElement(e)}function D(e){return lt.Text.isText(e)&&!!e.text.match(/^\s+$/)&&!e.code}var Gr={bold:"**",italic:"_",strike:"~~",highlight:"<mark>",code:""},qr={bold:"**",italic:"_",strike:"~~",highlight:"</mark>",code:""};function _p(e){if(e in Gr)return Gr[e];throw new Error(`Could not find mark ${JSON.stringify(e)} in MARK_KEY_TO_OPEN_TOKEN lookup`)}function Wp(e){if(e in qr)return qr[e];throw new Error(`Could not find mark ${JSON.stringify(e)} in MARK_KEY_TO_CLOSE_TOKEN lookup`)}function Qr(e){return e.map(_p).join("")}function jr(e){return e.map(Wp).join("")}import{Text as Gp}from"slate";function st(e){let{text:t,...o}=e;return Object.keys(o)}function Io(e){if(Gp.isText(e)){if(D(e))throw new Error("You probably didn't mean to do this. We should only be getting marks from segments that are not plain space segments.");return st(e)}else{if(e.type==="anchor")return Mo(e.children);throw new Error(`Unhandled type ${e.type}`)}}function Mo(e){let t;for(let o of e){if(!U(o)){if(o.type==="image-inline")continue;throw new Error("Expected every segment in an anchor to be a Text segment")}if(D(o))continue;let r=st(o);if(t===void 0){t=r;continue}t=t.filter(n=>r.includes(n))}return t===void 0?[]:t}var Xr=["bold","italic","underline","strike","highlight","code"];function Yr(e){return e.slice().sort((t,o)=>Xr.indexOf(t)-Xr.indexOf(o))}function qp(e){return/[!-/:-@\[-`{-~]/.test(e)}function He(e){return e===""||/\s/u.test(e)}function Ne(e){return e!==""&&/[\p{P}\p{S}]/u.test(e)}function Qp(e){return/[a-zA-Z/?!]/.test(e)}function Jr(e,t,o){let r=new Set,n=[];for(let i=0;i<e.length;i++){if(e[i]!==t)continue;let a=i>0?e[i-1]:"",l=i+1<e.length?e[i+1]:"",m=!He(l)&&(!Ne(l)||He(a)||Ne(a)),s=!He(a)&&(!Ne(a)||He(l)||Ne(l)),c=m&&(o||!s||Ne(a));s&&(o||!m||Ne(l))&&n.length>0&&(r.add(n.pop()),r.add(i)),c&&n.push(i)}return r}function jp(e){let t=new Set,o=[];for(let r=0;r<e.length;r++){if(e[r]!=="~")continue;let n=r>0?e[r-1]:"",i=r+1<e.length?e[r+1]:"",a=!He(i);!He(n)&&o.length>0&&(t.add(o.pop()),t.add(r)),a&&o.push(r)}return t}function Xp(e){let t=new Set,o=[];for(let r=0;r<e.length;r++)if(e[r]==="[")e[r+1]==="^"&&t.add(r),o.push(r);else if(e[r]==="]"){let n=o.pop();n!==void 0&&e[r+1]==="("&&(t.add(n),t.add(r))}return t}function Zr(e,t={}){let o=Array.from(e),r=Jr(o,"_",!1),n=Jr(o,"*",!0),i=jp(o),a=Xp(o),l=t.escapeBackticks??o.filter(s=>s==="`").length>=2,m="";for(let s=0;s<o.length;s++){let c=o[s],d=s+1<o.length?o[s+1]:"";c==="`"?m+=l?"\\`":c:c==="\\"?m+=qp(d)?"\\\\":"\\":c==="<"?m+=Qp(d)?"\\<":"<":c==="_"?m+=r.has(s)?`\\${c}`:c:c==="*"?m+=n.has(s)?`\\${c}`:c:c==="~"?m+=i.has(s)?`\\${c}`:c:c==="["||c==="]"?m+=t.inAnchorLabel||a.has(s)?`\\${c}`:c:m+=c}return m=m.replace(/^(#{1,6})(\s)/m,"\\$1$2"),m=m.replace(/^(\d+)([.)]\s)/m,"$1\\$2"),m=m.replace(/^([-+*>])\s/m,"\\$1 "),m}function Yp(e,t){let o=st(e),r=st(t);return o.length==r.length&&o.every(n=>r.includes(n))}function tn(e,t){let o=en.isText(e),r=en.isText(t);return t&&!r&&!o?[{text:""},e]:o?t===void 0||!r?[e]:Yp(t,e)?(t.text=[t.text,e.text].join(""),[]):[e]:[e]}function rn(e){let t=[];for(let o=0;o<e.length;o++){let r=t[t.length-1];t.push(...tn(e[o],r))}return t.length===0&&t.push({text:""}),on.isText(t[0])||t.unshift({text:""}),on.isText(t[t.length-1])||t.push({text:""}),t}function nn(e){return{url:e.url,title:e.title||void 0,alt:e.alt||void 0}}var Jp=/^([^?#]*)(?:\?([^#]*))?(#.*)?$/;function Ae(e){try{let t=new URL(e);return{origin:t.origin,hostname:t.hostname,pathname:t.pathname,searchParams:t.searchParams,hash:t.hash}}catch{let t=e.match(Jp);if(t===null)throw new Error(`Invalid format should not happen: ${e}`);let[,o,r,n]=[...t];return{origin:"",hostname:"",pathname:o||"",searchParams:new URLSearchParams(r),hash:n||""}}}function mt(e){if(typeof e!="string")return null;let t=e.match(/^(\d+)x(\d+)$/);return t===null?null:{width:parseInt(t[1],10),height:parseInt(t[2],10)}}function an(e){let t=Ae(e.url);if(!t.hostname.match(/[.]portive[.]com$/i))return;let o=t.searchParams.get("size");if(o===null)return;let r=mt(o);if(r===null)return;let n=t.pathname.match(/[-][-](\d+)x(\d+)[.][a-zA-Z]+$/);if(n!==null)return{url:`${t.origin}${t.pathname}`,title:e.title||void 0,alt:e.alt||void 0,width:r.width,height:r.height,srcWidth:parseInt(n[1],10),srcHeight:parseInt(n[2],10)}}function ln(e){let t=Ae(e.url);if(t.hash.length===0)return;let o=new URLSearchParams(t.hash.slice(1)),r=mt(o.get("size")),n=mt(o.get("srcSize"));if(!(!r||!n))return{url:`${t.origin}${t.pathname}`,title:e.title||void 0,alt:e.alt||void 0,width:r.width,height:r.height,srcWidth:n.width,srcHeight:n.height}}var sn=[an,ln,nn];function mn(e){for(let t of sn){let o=t(e);if(o)return[{type:"image-inline",...o,children:[{text:""}]}]}throw new Error("Shouldn't get here because last parser always returns data")}function Zp(e,t){if(/^<br\s*\/?>$/i.test(e))return[{text:`
|
|
3
|
+
`,...t}];let o=e.match(/^<mark\b[^>]*>(.+?)<\/mark>$/is);return o?[{text:o[1],...t,highlight:!0}]:[{text:e,code:!0}]}function K(e,t={}){let o=[],r={...t};for(let i of e){if(i.type==="html"){if(/^<mark\b[^>]*>$/i.test(i.value)){r={...r,highlight:!0};continue}if(/^<\/mark>$/i.test(i.value)){let{highlight:a,...l}=r;r=l;continue}}o.push(...ed(i,r))}return rn(o)}function ed(e,t={}){switch(e.type){case"delete":return K(e.children,{...t,strike:!0});case"emphasis":return K(e.children,{...t,italic:!0});case"footnoteReference":return[{text:`[${e.identifier}]`}];case"html":return Zp(e.value,t);case"image":return mn(e);case"inlineCode":return[{text:e.value,...t,code:!0}];case"link":return[{type:"anchor",href:e.url,title:e.title==null?void 0:e.title,children:K(e.children,t)}];case"strong":return K(e.children,{...t,bold:!0});case"text":return[{text:e.value,...t}];case"linkReference":case"imageReference":throw new Error("linkReference and imageReference should be converted to link and image through our transformInlineLinks function");case"break":return[{text:`
|
|
4
|
+
`}];case"footnote":throw new Error("footnote is not supported yet")}be(e)}function cn(e){return[{type:"heading",level:e.depth,children:K(e.children)}]}function pn(e){return[{type:"html-block",html:e.value,children:[{text:""}]}]}function dn(e,{depth:t,ordered:o,checked:r}){switch(e.type){case"paragraph":return r===!0||r===!1?[{type:"task-list-item",depth:t,checked:r,children:K(e.children)}]:o?[{type:"ordered-list-item",depth:t,children:K(e.children)}]:[{type:"unordered-list-item",depth:t,children:K(e.children)}];case"list":return Ct(e,t+1);default:return Po(e)}}function un(e,t){let o=[];for(let r of e.children)o.push(...dn(r,{...t,checked:e.checked}));return o}function Ct(e,t=0){let o=[];for(let r of e.children)o.push(...un(r,{depth:t,ordered:!!e.ordered}));return o}function td(e){return!(e.length!==3||!("text"in e[0])||e[0].text!==""||!("text"in e[2])||e[2].text!==""||!("type"in e[1])||e[1].type!=="image-inline")}var od="\xA0";function rd(e){return!(e.length!==1||!("text"in e[0])||e[0].text!==od)}function fn(e){let t=K(e.children);return td(t)?[{...t[1],type:"image-block"}]:rd(t)?[{type:"paragraph",children:[{text:""}]}]:[{type:"paragraph",children:t}]}function hn(e){if(e.align==null)throw new Error("Expected an array of AlignType for table.align");return[{type:"table",columns:e.align.map(t=>({align:t||"left"})),children:e.children.map(nd)}]}function nd(e){if(e.type!=="tableRow")throw new Error("Expected a tableRow");return{type:"table-row",children:e.children.map(id)}}function id(e){if(e.type!=="tableCell")throw new Error("Expected a tableCell");return{type:"table-cell",children:[{type:"table-content",children:K(e.children)}]}}function gn(){return[{type:"horizontal-rule",children:[{text:""}]}]}function $e(e){let t=[];for(let o=0;o<e.length;o++){if(o>0){let r=e[o-1],n=e[o];if(r.position&&n.position){let i=n.position.start.line-r.position.end.line-1;for(let a=1;a<i;a++)t.push({type:"paragraph",children:[{text:""}]})}}t.push(...Po(e[o]))}return t}function Po(e){switch(e.type){case"blockquote":return Kr(e);case"code":return _r(e);case"definition":throw new Error('The type "definition" should not exist. See comments');case"footnoteDefinition":return Wr(e);case"heading":return cn(e);case"html":return pn(e);case"list":return Ct(e);case"paragraph":return fn(e);case"table":return hn(e);case"thematicBreak":return gn();case"yaml":return[]}be(e)}import{definitions as ad}from"mdast-util-definitions";import{SKIP as bn,visit as ld}from"unist-util-visit";function En(e){let t=ad(e);ld(e,(o,r,n)=>{let i=o,a=n;if(i.type==="definition"&&a!==null&&typeof r=="number")return a.children.splice(r,1),[bn,r];if(i.type==="imageReference"||i.type==="linkReference"){let l="identifier"in i&&typeof i.identifier=="string"?i.identifier:"",m=t(l);if(m&&a!==null&&typeof r=="number"){let s=i.type==="imageReference"?{type:"image",url:m.url,title:m.title,alt:i.alt}:{type:"link",url:m.url,title:m.title,children:i.children};return a.children[r]=s,[bn,r]}}})}var cd=md().use(sd).use(Ur());function pd(e){let t=cd.parse(e);return En(t),t}function Ee(e){let t=pd(e);return t.children.length===0?[{type:"paragraph",children:[{text:""}]}]:$e(t.children)}function dd(e){return e.type==="ordered-list-item"||e.type==="unordered-list-item"||e.type==="task-list-item"}function xn(e){let t=[],o=-1;for(let r of e){if(!dd(r)){t.push(r),o=-1;continue}let n=r.depth>o+1?o+1:r.depth;t.push({...r,depth:n}),o=n}return t}function yn(e){if(e.type!=="code-block-line")throw new Error(`Expected all children of code-block to be a codeline but is ${JSON.stringify(e,null,2)}`);return e.children.map(t=>t.text).join("")}function kn(e){let t=[],o=3;for(let r of e.children){let n=yn(r),i=n.match(/^([`]+)/);i&&(o=Math.max(o,i[1].length+1)),t.push(n)}return t.unshift(`${"`".repeat(o)}${e.language}`),t.push(`${"`".repeat(o)}`),`${t.join(`
|
|
5
5
|
`)}
|
|
6
6
|
|
|
7
|
-
`}function
|
|
7
|
+
`}function vn(e){return e.url}function Tn(e){if(e.url.startsWith("$"))return"";let{hostname:t}=Ae(e.url);if(t.match(/[.]portive[.]com$/i)&&e.width&&e.height)return`${e.url}?size=${e.width}x${e.height}`}function wn(e){if(e.width&&e.height&&e.srcWidth&&e.srcHeight)return`${e.url}#srcSize=${e.srcWidth}x${e.srcHeight}&size=${e.width}x${e.height}`}var ud=[Tn,wn,vn];function St(e){for(let t of ud){let o=t(e);if(typeof o=="string")return o===""?"":``}throw new Error("Shouldn't get here")}function In(e){let t=St(e);return t?`${t}
|
|
8
8
|
|
|
9
|
-
`:""}import{Element as
|
|
10
|
-
`)}function
|
|
9
|
+
`:""}import{Element as Ed,Text as Kn}from"slate";function Mn(e,t){let o=t.filter(n=>!e.includes(n));return{orderedMarksToAdd:Yr(o)}}function Pn(e,t){let o=[...e],r=e.filter(i=>!t.includes(i)),n=[];for(let i=0;i<e.length&&r.length!==0;i++){let a=o.pop();if(a===void 0)throw new Error("This shouldn't happen unless we made a mistake in the algorithm");n.push(a);let l=r.indexOf(a);l!==-1&&r.splice(l,1)}return{orderedMarksToRemove:n,nextOrderedMarks:o}}function Co(e,t){let{orderedMarksToRemove:o,nextOrderedMarks:r}=Pn(e,t),{orderedMarksToAdd:n}=Mn(r,t);return{remove:o,add:n,nextOrderedMarks:[...r,...n]}}import{Element as hd}from"slate";function Cn({node:e,nextNode:t,nodes:o,index:r}){return!U(e)||!D(e)||e.code||!U(t)||!D(t)||t.code?!1:(o.splice(r,2,{text:`${e.text}${t.text}`}),!0)}function Sn({node:e,nodes:t,prevNode:o,index:r}){if(!re(e)||e.type!=="anchor")return!1;let n=e.children[0];return U(n)&&D(n)?(e.children.splice(0,1),U(o)&&D(o)?o.text=`${o.text}${n.text}`:t.splice(r,0,{text:n.text}),!0):!1}function Rn({node:e,nodes:t,nextNode:o,index:r}){if(!re(e)||e.type!=="anchor")return!1;let n=e.children[e.children.length-1];return U(n)&&D(n)?(e.children.splice(e.children.length-1,1),U(o)&&D(o)?o.text=`${n.text}${o.text}`:t.splice(r+1,0,{text:n.text}),!0):!1}function Ln({node:e}){return!re(e)||e.type!=="line"||e.children.length>0?!1:(e.children.push({text:""}),!0)}function Bn({node:e,nodes:t,index:o}){if(!U(e)||D(e)||e.code)return!1;let r=e.text.match(/^(\s*)(.*?)(\s*)$/);if(!r||r[1].length===0&&r[3].length===0)return!1;let n=[{text:r[1]},{...e,text:r[2]},{text:r[3]}].filter(i=>i.text!=="");return t.splice(o,1,...n),!0}function Dn({index:e,nodes:t,node:o,parent:r}){return e!==t.length-1||t.length<=1||!U(o)||!D(o)?!1:r&&re(r)&&r.type==="line"?(t.splice(t.length-1,1),!0):!1}function zn({index:e,nodes:t,node:o,parent:r}){return e!==0||t.length===0||!U(o)||!D(o)?!1:r&&re(r)&&r.type==="line"?(t.splice(0,1),!0):!1}var $n=[Bn,Sn,Rn,Cn,zn,Dn,Ln];function Nn(e){for(let t of $n)if(t(e))return!0;return!1}var fd=72;function So(e,t){let o=!1,r,n=0,i=(e.length+1)*fd;do{if(r=!1,n=n+1,n>i)throw new Error(`There have been ${n} normalization passes (72x the number of nodes at this level). This likely indicates a bug in the code.`);e:for(let a=0;a<e.length;a++){let l=e[a];if(re(l)&&So(l.children,l)){r=!0,o=!0;break e}let m=e[a-1],s=e[a+1];if(Nn({parent:t,node:l,prevNode:m,nextNode:s,index:a,nodes:e})){r=!0,o=!0;break e}}}while(r);return o}var Hn=e=>e.map(t=>hd.isElement(t)&&t.type==="anchor"?{...t,children:Hn(t.children)}:t);function An(e){let t={type:"line",children:Hn(e)};return So([t],void 0),t.children}import{Text as bd}from"slate";function On(e){let t=0;for(let o of e.text.matchAll(/[`]+/g))t=Math.max(t,o[0].length);return t===0?`\`${e.text.replace(/[`]/g,"\\`")}\``:`${"`".repeat(t+1)} ${e.text} ${"`".repeat(t+1)}`}function gd(e){return e.replace(/"/g,'\\"')}function Un(e,t){let o=Mo(e.children),r={...t,inAnchorLabel:!0};return e.href.startsWith("$")?G(e.children,o,o,t):typeof e.title=="string"&&e.title.length>0?`[${G(e.children,o,o,r)}](${e.href} "${gd(e.title)}")`:`[${G(e.children,o,o,r)}](${e.href})`}function Fn(e,t){return Zr(e.text,t).replace(/\n/g,`
|
|
10
|
+
`)}function Vn(e,t){if(bd.isText(e))return e.code?On(e):Fn(e,t);switch(e.type){case"anchor":return Un(e,t);case"image-inline":return St(e);default:be(e)}}function xd(e){let t=0,o=r=>{for(let n of r)if(Kn.isText(n)){if(n.code)return!0;for(let i of n.text)if(i==="`"&&++t>=2)return!0}else if(n.type==="anchor"&&o(n.children))return!0;return!1};return o(e)}function G(e,t=[],o=[],r){let n=An(e),i=[],a={...r,escapeBackticks:r?.escapeBackticks??xd(n)},l=Co(t,Io(n[0]));for(let m=0;m<n.length;m++){let s=n[m];if(Kn.isText(s)&&D(s)){i.push(s.text);continue}i.push(Qr(l.add)),i.push(Vn(s,a));let c=yd(n,m,o),d=Co(l.nextOrderedMarks,c);i.push(jr(d.remove)),l=d}return i.join("")}function yd(e,t,o){for(let r=t+1;r<e.length;r++){let n=e[r];if(!D(n)&&!(Ed.isElement(n)&&n.type==="image-inline"))return Io(n)}return o}function Wn(e){let t=[];return t.push(_n(e.children[0])),t.push(kd(e.columns)),e.children.slice(1).forEach(o=>{t.push(_n(o))}),`${t.join(`
|
|
11
11
|
`)}
|
|
12
12
|
|
|
13
|
-
`}function
|
|
13
|
+
`}function kd(e){return e.every(o=>o.align==="left")?`|${e.map(()=>"---").join("|")}|`:`|${e.map(o=>vd(o.align)).join("|")}|`}function vd(e){switch(e){case"left":return":---";case"center":return":---:";case"right":return"---:"}}function _n(e){return Pt(e,"table-row"),`|${e.children.map(Td).join("|")}|`}function Td(e){return Pt(e,"table-cell"),Vr(e.children.length===1,`Expected table-cell to have one child but is ${JSON.stringify(e.children)}`),e.children.map(wd).join("")}function wd(e){return Pt(e,"table-content"),G(e.children).replace(/\|/g,"\\|").replace(/ {2}\n/g,"<br>").replace(/\n/g,"<br>")}var Ro=4;function Gn(e,t){switch(e.type){case"anchor":return`[${G(e.children)}](${e.href})`;case"block-quote":return`${Rt(e.children).split(`
|
|
14
14
|
`).map(r=>r?`> ${r}`:">").join(`
|
|
15
15
|
`)}
|
|
16
16
|
|
|
@@ -22,21 +22,21 @@
|
|
|
22
22
|
|
|
23
23
|
`:`${o}
|
|
24
24
|
|
|
25
|
-
`}case"table":return
|
|
26
|
-
`;case"ordered-list-item":return`${" ".repeat(e.depth*
|
|
27
|
-
`;case"task-list-item":{let o=" ".repeat(e.depth*
|
|
28
|
-
`}case"image-block":return
|
|
25
|
+
`}case"table":return Wn(e);case"table-row":case"table-cell":case"table-content":throw new Error(`Table elements should only be present as children of table which should be handled by serializeTable. Got ${e.type} may indicate an error in normalization.`);case"unordered-list-item":return`${" ".repeat(e.depth*Ro)}- ${G(e.children)}
|
|
26
|
+
`;case"ordered-list-item":return`${" ".repeat(e.depth*Ro)}${t[e.depth]}. ${G(e.children)}
|
|
27
|
+
`;case"task-list-item":{let o=" ".repeat(e.depth*Ro),r=G(e.children);return r.trim()===""&&(r=" "),`${o}- [${e.checked?"x":" "}] ${r}
|
|
28
|
+
`}case"image-block":return In(e);case"image-inline":return``;case"code-block":return kn(e);case"code-block-line":throw new Error("Code block line elements should only be present as children of code-block which should be handled by serializeCodeBlock. Got code-block-line may indicate an error in normalization.");case"html-block":return`${e.html}
|
|
29
29
|
|
|
30
|
-
`}be(e)}function Rt(e){let t=[],o=[];for(let n=0;n<e.length;n++){let i=e[n],a=n<e.length-1?e[n+1]:null;i.type==="ordered-list-item"?(o[i.depth]=(o[i.depth]||0)+1,o=o.slice(0,i.depth+1)):i.type==="unordered-list-item"||i.type==="task-list-item"?o=o.slice(0,i.depth):o=[];let l=
|
|
30
|
+
`}be(e)}function Rt(e){let t=[],o=[];for(let n=0;n<e.length;n++){let i=e[n],a=n<e.length-1?e[n+1]:null;i.type==="ordered-list-item"?(o[i.depth]=(o[i.depth]||0)+1,o=o.slice(0,i.depth+1)):i.type==="unordered-list-item"||i.type==="task-list-item"?o=o.slice(0,i.depth):o=[];let l=Gn(i,o);(i.type==="ordered-list-item"||i.type==="unordered-list-item"||i.type==="task-list-item")&&(!a||a.type!=="ordered-list-item"&&a.type!=="unordered-list-item"&&a.type!=="task-list-item")&&(l=l.replace(/\n$/,`
|
|
31
31
|
|
|
32
|
-
`)),t.push(l)}let r=t.join("");return r.replace(/[\t\n\r ]/g,"")===""?"":r.replace(/^\n+/,"").replace(/[\t\n\r ]+$/,"")}function ct(e){let t=
|
|
32
|
+
`)),t.push(l)}let r=t.join("");return r.replace(/[\t\n\r ]/g,"")===""?"":r.replace(/^\n+/,"").replace(/[\t\n\r ]+$/,"")}function ct(e){let t=xn(e);return Rt(t)}var Lo={ja:{bold:"\u592A\u5B57",italic:"\u659C\u4F53",strike:"\u53D6\u308A\u6D88\u3057\u7DDA",inlineCode:"\u30A4\u30F3\u30E9\u30A4\u30F3\u30B3\u30FC\u30C9",underline:"\u4E0B\u7DDA",highlight:"\u30CF\u30A4\u30E9\u30A4\u30C8",increaseDepth:"\u968E\u5C64\u3092\u6DF1\u304F\u3059\u308B",decreaseDepth:"\u968E\u5C64\u3092\u6D45\u304F\u3059\u308B",heading1:"\u898B\u51FA\u30571",heading2:"\u898B\u51FA\u30572",heading3:"\u898B\u51FA\u30573",normal:"\u6A19\u6E96",paragraph:"\u6BB5\u843D",paragraphStyle:"\u6BB5\u843D\u30B9\u30BF\u30A4\u30EB",bulletList:"\u7B87\u6761\u66F8\u304D",numberedList:"\u756A\u53F7\u4ED8\u304D\u30EA\u30B9\u30C8",checkList:"\u30C1\u30A7\u30C3\u30AF\u30EA\u30B9\u30C8",list:"\u30EA\u30B9\u30C8",linkUrl:"\u30EA\u30F3\u30AF\u306EURL",linkText:"\u30EA\u30F3\u30AF\u30C6\u30AD\u30B9\u30C8",linkTextHint:"\u30EA\u30F3\u30AF\u3068\u3057\u3066\u8868\u793A\u3055\u308C\u308B\u30C6\u30AD\u30B9\u30C8",tooltipText:"\u30C4\u30FC\u30EB\u30C1\u30C3\u30D7\u30C6\u30AD\u30B9\u30C8",tooltipHint:"\u30DE\u30A6\u30B9\u30DB\u30D0\u30FC\u6642\u306B\u8868\u793A\u3055\u308C\u308B\u30C4\u30FC\u30EB\u30C1\u30C3\u30D7",apply:"\u9069\u7528",cancel:"\u30AD\u30E3\u30F3\u30BB\u30EB",insertLink:"\u30EA\u30F3\u30AF",quote:"\u5F15\u7528",insertTable:"\u8868",insertImage:"\u753B\u50CF",insertImageFromUrl:"\u753B\u50CF",insert:"\u633F\u5165",format:"\u66F8\u5F0F",imageUrlRequired:"\u753B\u50CFURL\uFF08\u5FC5\u9808\uFF09\uFF1A",altText:"\u4EE3\u66FF\u30C6\u30AD\u30B9\u30C8\uFF1A",title:"\u30C4\u30FC\u30EB\u30C1\u30C3\u30D7\uFF1A",imageDescription:"\u753B\u50CF\u306E\u8AAC\u660E",imageTitle:"\u753B\u50CF\u306E\u30C4\u30FC\u30EB\u30C1\u30C3\u30D7",switchToVisualEditor:"\u30D3\u30B8\u30E5\u30A2\u30EB\u30A8\u30C7\u30A3\u30BF\u306B\u5207\u308A\u66FF\u3048",switchToRawMarkdown:"\u30DE\u30FC\u30AF\u30C0\u30A6\u30F3\u8868\u793A\u306B\u5207\u308A\u66FF\u3048",codeBlock:"\u30B3\u30FC\u30C9\u30D6\u30ED\u30C3\u30AF",increaseQuoteDepth:"\u5F15\u7528\u3092\u91CD\u306D\u308B",horizontalRule:"\u533A\u5207\u308A\u7DDA",register:"\u767B\u9332",imageSourceUrl:"URL",imageSourceFile:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",selectFile:"\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E",uploading:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u4E2D...",saving:"\u4FDD\u5B58\u4E2D...",uploadComplete:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u5B8C\u4E86",imageSourceSelect:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u6E08\u307F",vaultPath:"\u4FDD\u5B58\u5148\u30D1\u30B9\uFF1A",vaultPathHint:"vault\u5185\u306E\u4FDD\u5B58\u5148\u30D1\u30B9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044"},en:{bold:"Bold",italic:"Italic",strike:"Strikethrough",inlineCode:"Inline Code",underline:"Underline",highlight:"Highlight",increaseDepth:"Increase Depth",decreaseDepth:"Decrease Depth",heading1:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",normal:"Normal",paragraph:"Paragraph",paragraphStyle:"Paragraph Style",bulletList:"Bullet List",numberedList:"Numbered List",checkList:"Check List",list:"List",linkUrl:"Link URL",linkText:"Link Text",linkTextHint:"Text displayed as the link",tooltipText:"Tooltip Text",tooltipHint:"Tooltip shown on mouse hover",apply:"Apply",cancel:"Cancel",insertLink:"Link",quote:"Quote",insertTable:"Table",insertImage:"Image",insertImageFromUrl:"Image",insert:"Insert",format:"Format",imageUrlRequired:"Image URL (required):",altText:"Alt Text:",title:"tooltip:",imageDescription:"Description of the image",imageTitle:"tooltip",switchToVisualEditor:"Switch to visual editor",switchToRawMarkdown:"Switch to raw markdown",codeBlock:"Code Block",increaseQuoteDepth:"Increase Quote Depth",horizontalRule:"Horizontal Rule",register:"Register",imageSourceUrl:"URL",imageSourceFile:"Upload",selectFile:"Select File",uploading:"Uploading...",saving:"Saving...",uploadComplete:"Upload Complete",imageSourceSelect:"Uploaded",vaultPath:"Save Path:",vaultPathHint:"Enter the path within the vault to save the file"}},qn=()=>{try{if(typeof window<"u"&&window.navigator)return window.navigator.language.split("-")[0]}catch{}return"en"},h=e=>{let t=qn();return Lo[t==="ja"?"ja":"en"][e]},Bo=e=>{let t=qn();return Object.keys(Lo[t==="ja"?"ja":"en"]).find(r=>Lo[t==="ja"?"ja":"en"][r]===e)||""};var v=e=>({fn:e});import{useEffect as Sd,useMemo as ri,useRef as Rd}from"react";import{Editor as Do,Transforms as Ld}from"slate";import{ReactEditor as Bd,useSlateStatic as Dd}from"slate-react";function ie(e){return!!e}function Qn(e,t){let o=t.map(r=>r.editableProps?.decorate).filter(ie);return function(r){let n=[];for(let i of o){let a=i(r);n.push(...a)}return e&&n.push(...e(r)),n}}import{Editable as Id}from"slate-react";import{jsx as Md}from"react/jsx-runtime";function jn(e){let t=e.map(r=>r.renderEditable).filter(ie),o=r=>Md(Id,{...r});for(let r of t){let n=o;o=i=>r({attributes:i,Editable:n})}return o}function Lt(e,t){let o=[];for(let r of e){let n=r.editableProps?.[t];n&&o.push(n)}return o}function Bt(e,t){return function(o){for(let r of e)if(r(o))return;t?.(o)}}var Xn=(e,t)=>{let o=Lt(t,"onKeyDown");return Bt(o,e)},Yn=(e,t)=>{let o=Lt(t,"onKeyUp");return Bt(o,e)},Jn=(e,t)=>{let o=Lt(t,"onPaste");return Bt(o,e)},Zn=(e,t)=>{let o=Lt(t,"onDrop");return Bt(o,e)};function ei(e,t){let o=t.map(r=>r.editableProps?.renderElement).filter(ie);return function(n){for(let i of o){let a=i(n);if(a)return a}if(e===void 0)throw new Error(`Element with type ${n.element.type} not handled. Note that renderElement is not defined on SinkEditable so this is only the result of checking the Sink Plugins.`);return e(n)}}import{cloneElement as Pd}from"react";function ti(e,t){if(e===void 0)throw new Error("renderLeaf was not defined on SinkEditable");let o=t.map(r=>r.editableProps?.renderLeaf).filter(ie).reverse();return function(r){let n=e({...r,attributes:{}});for(let i of o){let a=i({...r,children:n});a&&(n=a)}return n=Pd(n,r.attributes),n}}function oi(e,t){if(e)return e;let o=t.map(r=>r.editableProps?.renderPlaceholder).filter(ie);if(o.length!==0)return function(r){if(o.length>1)throw new Error(`Only one plugin can define renderPlaceholder but there are ${o.length}`);let n=o[0];if(n==null)throw new Error("Expected fn to be defined");return n(r)}}import Cd from"@emotion/styled";var pt=Cd("div")`
|
|
33
33
|
-webkit-font-smoothing: antialiased;
|
|
34
34
|
-moz-osx-font-smoothing: grayscale;
|
|
35
35
|
font-size: 1rem;
|
|
36
36
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
|
|
37
37
|
Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
|
38
38
|
box-sizing: border-box;
|
|
39
|
-
`;import{jsx as
|
|
39
|
+
`;import{jsx as Hd}from"react/jsx-runtime";var ni=e=>/[^\x00-\x7F]/.test(e);function zd(e,t){let[o]=t.getTargetRanges();if(o)try{let r=Bd.toSlateRange(e,o,{exactMatch:!1,suppressThrow:!1});Ld.select(e,r)}catch{}}function $d(e,t,o){return r=>{let n=e?.(r);return n!=null||r.defaultPrevented||r.inputType!=="insertText"||r.isComposing||typeof r.data!="string"||r.data.length===0||!ni(r.data)?n:(zd(t,r),r.preventDefault(),Do.insertText(t,r.data),o.current=r.data,!0)}}function Nd(e,t,o){return r=>{let n=e?.(r);if(n!=null||r.defaultPrevented)return n;let i=r.nativeEvent;return!(i instanceof InputEvent)||i.inputType!=="insertText"||i.isComposing||typeof i.data!="string"||i.data.length===0||!ni(i.data)?n:o.current===i.data?(o.current=null,n):(Do.insertText(t,i.data),n)}}function ii(e){let t=Dd(),o=Rd(null);Sd(()=>{Do.normalize(t,{force:!0})},[t]);let{plugins:r}=t.sink,n=ri(()=>({...e,decorate:Qn(e.decorate,r),renderElement:ei(e.renderElement,r),renderLeaf:ti(e.renderLeaf,r),renderPlaceholder:oi(e.renderPlaceholder,r),onKeyDown:Xn(e.onKeyDown,r),onKeyUp:Yn(e.onKeyUp,r),onPaste:Jn(e.onPaste,r),onDrop:Zn(e.onDrop,r),onDOMBeforeInput:$d(e.onDOMBeforeInput,t,o),onInput:Nd(e.onInput,t,o)}),[e.decorate,e.renderElement,e.renderLeaf,e.renderPlaceholder,e.onKeyDown,e.onKeyUp,e.onPaste,e.onDrop,e.onDOMBeforeInput,e.onInput,e.placeholder,e.className,t,r]),i=ri(()=>jn(r),[r]);return Hd(i,{...n})}function Oe(e,t,o){let r=e[t],n=o.filter(i=>i.editor?.[t]);return function(a){for(let m of n){let c=m.editor?.[t],d=c?.(a);if(typeof d=="boolean")return d}return r(a)}}function se(e,t,o){let r=e[t],n=o.filter(i=>i.editor?.[t]);return function(...a){let l=!1,m=[];for(let s of n){let c=s.editor?.[t]?.(...a);if(typeof c=="function")m.push(c);else if(c===!0){l=!0;break}}l||r(...a),m.forEach(s=>s())}}function ai(e){return(t,o)=>{let r=t,n=e.map(i=>i(r,o,{createPolicy:a=>a}));return r.sink={plugins:n},r.isMaster="isMaster"in r?r.isMaster:()=>!1,r.isSlave="isSlave"in r?r.isSlave:()=>!1,r.isStandalone="isStandalone"in r?r.isStandalone:()=>!1,Object.assign(r,{normalizeNode:se(r,"normalizeNode",n),deleteBackward:se(r,"deleteBackward",n),deleteForward:se(r,"deleteForward",n),deleteFragment:se(r,"deleteFragment",n),insertBreak:se(r,"insertBreak",n),insertFragment:se(r,"insertFragment",n),insertNode:se(r,"insertNode",n),insertText:se(r,"insertText",n),isInline:Oe(r,"isInline",n),isVoid:Oe(r,"isVoid",n),isMaster:Oe(r,"isMaster",n),isSlave:Oe(r,"isSlave",n),isStandalone:Oe(r,"isStandalone",n)}),r}}var li=e=>{let t=e.map(n=>n.fn);return{withSink:ai(t),SinkEditable:ii}};import{Element as Ad}from"slate";import{ReactEditor as Od}from"slate-react";function si(e,t){return Ad.isElement(t)?Od.findPath(e,t):t}function f(e,t){return e.bind(null,t)}function q(e,t,o){return e.bind(null,t,o)}var Ud=/mac os x|macintosh/i,dt;function Dt(){if(dt!==void 0)return dt;try{let{userAgent:e}=window.navigator;dt=Ud.test(e)}catch{dt=!1}return dt}function Me(e){e.preventDefault(),e.stopPropagation()}import{Editor as pi,Path as Fd}from"slate";import{Element as mi}from"slate";function ci(e){if(typeof e=="function")return e;if(typeof e=="string")return o=>mi.isElement(o)&&o.type===e;if(Array.isArray(e))return o=>mi.isElement(o)&&e.includes(o.type);let t=e;throw new Error(`Expected matchNode to be a function, string or array but is ${t}`)}function x(e,t,{at:o=e.selection}={}){if(o===null)return;let r=si(e,o),n=ci(t);if(Fd.isPath(r)){let i=pi.node(e,r);if(i&&n(i[0]))return i}return pi.above(e,{at:r,match:n})}function Ue(...e){return x(...e)?.[1]}import{jsx as Vd}from"react/jsx-runtime";var y=({strokeWidth:e=1.5,...t})=>Vd("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",strokeWidth:e,stroke:"currentColor",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",viewBox:"0 0 24 24",...t});import{Range as Kd}from"slate";function me(e){return e==null?!1:Kd.isCollapsed(e)}import{Element as di}from"slate";function zt(e){return Array.isArray(e)?t=>di.isElement(t)&&e.includes(t.type):t=>di.isElement(t)&&e==t.type}import{Editor as _d}from"slate";function ui(e,t){let{selection:o}=e;if(!me(o))return!1;let r=x(e,t,{at:o});return!!r&&_d.isEnd(e,o.anchor,r[1])}import{Editor as H1}from"slate";import{Editor as Wd}from"slate";function Pe(e,t){let{selection:o}=e;if(!me(o))return!1;let r=x(e,t,{at:o});return!!r&&Wd.isStart(e,o.anchor,r[1])}import{isHotkey as fi}from"is-hotkey";import{Editor as zo,Element as Gd,Range as qd,Transforms as Qd}from"slate";var jd=fi(" "),Xd=fi("SHIFT+SPACE");function hi(e,t){return o=>{if(!jd(o.nativeEvent)&&!Xd(o.nativeEvent))return!1;let{selection:r}=e;if(r===null||qd.isExpanded(r))return!1;let n=x(e,s=>Gd.isElement(s)&&e.convertElement.isConvertibleElement(s));if(!n)return!1;let i={anchor:zo.start(e,n[1]),focus:r.focus},a=zo.string(e,i),l=t[a];if(!l)return!1;Me(o);let m={anchor:zo.start(e,n[1]),focus:r.focus};return Qd.delete(e,{at:m}),l(),!0}}import{isHotkey as Yd}from"is-hotkey";function gi(e){let t=e.replace(/\bsuper\b/g,Dt()?"cmd+alt":"ctrl+shift");return Yd(t)}function H(e){let t=null;return function(r){t==null&&(t=Object.entries(e).map(([n,i])=>[gi(n),i]));for(let[n,i]of t)if(n(r.nativeEvent)){let a=i();if(a===!0||a===void 0)return r.preventDefault(),r.stopPropagation(),!0}return!1}}import{Editor as Jd,Transforms as bi}from"slate";function Ei(e,t){Jd.withoutNormalizing(e,()=>{bi.setNodes(e,{__DOESNT_MATTER_JUST_TO_START_NORMALIZING__:"123"},{at:t}),bi.setNodes(e,{__DOESNT_MATTER_JUST_TO_START_NORMALIZING__:null},{at:t})})}import{Editor as xi}from"slate";function xe(e,t,o){let[,r]=t,n=xi.previous(e,{at:r});if(n&&o(n,t))return!0;let i=xi.next(e,{at:r});return!!(i&&o(t,i))}import{Editor as yi,Transforms as ki}from"slate";function Q(e,t){ki.select(e,yi.start(e,t))}function vi(e,t){ki.select(e,yi.end(e,t))}function Ti(e,t){return typeof t!="function"?t:t(e)}import{Editor as $o,Element as Zd,Path as eu,Transforms as ut}from"slate";function wi(e,t,{at:o=e.selection}={}){if(o==null)return!1;let r=x(e,n=>Zd.isElement(n)&&e.isMaster(n));if(r==null){let n=e.selection;$o.withoutNormalizing(e,()=>{ut.insertNodes(e,t,{at:o}),n&&(ut.select(e,n),ut.move(e))})}else{let n=eu.next(r[1]);$o.withoutNormalizing(e,()=>{ut.insertNodes(e,t,{at:n}),ut.select(e,$o.start(e,n))})}return!0}import{Editor as Ii,Transforms as Mi}from"slate";function ft(e,t,o){Ii.withoutNormalizing(e,()=>{let r=Ii.node(e,o),n=Ti(r[0],t);Mi.wrapNodes(e,n,{at:o}),Mi.unwrapNodes(e,{at:[...o,0]})})}import{Editor as tu,Transforms as ou}from"slate";function $t(e,t,o){let r=Array.from(tu.nodes(e,o));if(r.length===0)return!1;for(let n of r){let[i]=n;ou.setNodes(e,t(i),{at:n[1]})}return!0}function Pi(e,t){let o=t.clipboardData,{types:r}=o;if(r.length>1||r[0]!=="text/plain")return!1;let n=o.getData("text/plain");return ru(n)?(t.preventDefault(),t.stopPropagation(),e.anchor.insertLink(n),!0):!1}function ru(e){let t;try{t=new URL(e)}catch{return!1}return t.protocol==="http:"||t.protocol==="https:"||t.protocol==="mailto:"}import{Editor as nu,Node as iu,Transforms as No}from"slate";function Ci(e,{href:t,title:o,text:r},{at:n}){let i=x(e,"anchor",{at:n});if(!i)return!1;let[a,l]=i;if(No.setNodes(e,{href:t,title:o},{at:l}),r!==void 0){let m=iu.string(a);r!==m&&nu.withoutNormalizing(e,()=>{let s=a.children.length;for(let c=s-1;c>=0;c--)No.removeNodes(e,{at:[...l,c]});No.insertNodes(e,{text:r},{at:[...l,0]})})}return!0}import{Editor as Nt,Element as au,Range as lu,Text as su,Transforms as Ho}from"slate";function Si(e,t,o=t,{select:r=!0,title:n}={}){let i=e.selection||{anchor:Nt.start(e,[0]),focus:Nt.start(e,[0])};if(lu.isCollapsed(i)){if(Ho.insertNodes(e,{type:"anchor",href:t,title:n,children:[{text:o}]},{select:r,at:i}),r&&e.selection){let a=Nt.node(e,e.selection);Ho.select(e,a[1])}}else Ho.wrapNodes(e,{type:"anchor",href:t,title:n,children:[]},{split:!0,match:a=>su.isText(a)||au.isElement(a)&&Nt.isInline(e,a)})}import{Transforms as mu}from"slate";function Ri(e,{at:t}){let o=x(e,"anchor",{at:t});return o?(mu.unwrapNodes(e,{at:o[1]}),!0):!1}function Li(e){return{insertLink:f(Si,e),removeLink:f(Ri,e),editLink:f(Ci,e)}}import{Element as Bi,Transforms as cu}from"slate";function Di(e,t){if(!Bi.isElement(t[0])||t[0].type!=="anchor")return!1;let o=t[0].children;for(let r=0;r<o.length;r++){let n=o[r];if(!(!Bi.isElement(n)||n.type!=="anchor"))return cu.unwrapNodes(e,{at:[...t[1],r]}),!0}return!1}import{clsx as nf}from"clsx";import{useEffect as af,useRef as ya}from"react";import{useSelected as lf,useSlate as sf}from"slate-react";import{createContext as $i,useState as du}from"react";import{createPortal as pu}from"react-dom";function zi({children:e}){return typeof document>"u"||!document.body?null:pu(e,document.body)}import{jsx as Ao,jsxs as fu}from"react/jsx-runtime";var Oo=$i({}),uu=$i({});function Ni({children:e}){let[t,o]=du({});function r(i){o(a=>({...a,[i.type]:i}))}function n(i){o(a=>{let l={...a};return delete l[i],l})}return fu(Oo.Provider,{value:{layers:t,setLayers:o,openLayer:r,closeLayer:n},children:[e,Object.entries(t).map(([,i])=>Ao(zi,{children:Ao(uu.Provider,{value:i,children:Ao(i.Component,{})})},i.type))]})}import{useContext as hu}from"react";function O(e){let{openLayer:t,closeLayer:o,layers:r}=hu(Oo);function n(a){t({type:e,Component:a})}function i(){o(e)}return{open:n,close:i,layer:r[e],type:e}}import Ht from"@emotion/styled";var Hi=Ht("a")`
|
|
40
40
|
/**
|
|
41
41
|
* Link colors
|
|
42
42
|
*/
|
|
@@ -55,10 +55,10 @@
|
|
|
55
55
|
&.--selected {
|
|
56
56
|
background: var(--blue-50);
|
|
57
57
|
}
|
|
58
|
-
`,
|
|
58
|
+
`,Uo=Ht("span")`
|
|
59
59
|
display: inline;
|
|
60
60
|
padding: 0 1px 0 0;
|
|
61
|
-
`,
|
|
61
|
+
`,VT=Ht("span")`
|
|
62
62
|
position: fixed;
|
|
63
63
|
width: 100px;
|
|
64
64
|
background: var(--shade-50);
|
|
@@ -67,14 +67,14 @@
|
|
|
67
67
|
border: 1px solid var(--shade-400);
|
|
68
68
|
overflow: hidden;
|
|
69
69
|
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
|
|
70
|
-
`,
|
|
70
|
+
`,KT=Ht("span")`
|
|
71
71
|
position: absolute;
|
|
72
72
|
left: 0;
|
|
73
73
|
top: 0;
|
|
74
74
|
height: 14px;
|
|
75
75
|
background: var(--blue-400);
|
|
76
76
|
transition: width 100ms linear;
|
|
77
|
-
`;import
|
|
77
|
+
`;import Ju from"@emotion/styled";import{useCallback as Gt,useRef as Zu,useState as ef}from"react";import{useSlateStatic as tf}from"slate-react";import{useRef as bu}from"react";import gu from"@emotion/styled";var Ai=gu("div")`
|
|
78
78
|
position: fixed;
|
|
79
79
|
user-select: none;
|
|
80
80
|
top: 0;
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
bottom: 0;
|
|
84
84
|
overflow-y: auto;
|
|
85
85
|
background: rgba(0, 0, 0, 0.01);
|
|
86
|
-
`;import{jsx as
|
|
86
|
+
`;import{jsx as Eu}from"react/jsx-runtime";function ye({close:e}){let t=bu(null);return Eu(Ai,{ref:t,onClick:e})}var ae={cmd:"\u2318",ctrl:"\u2303",shift:"\u21E7",opt:"\u2325",enter:"\u23CE"},xu={shift:ae.shift,opt:ae.opt,alt:ae.opt,ctrl:ae.ctrl,mod:ae.cmd,cmd:ae.cmd,enter:ae.enter,super:`${ae.opt}${ae.cmd}`},yu={alt:"ALT",ctrl:"CTRL",opt:"ALT",shift:"SHIFT",mod:"CTRL",cmd:"CTRL",enter:ae.enter,super:"CTRL+SHIFT"};function Oi(e,t){let o=e.findIndex(r=>r===t);o!==-1&&e.splice(o,1)}function ku(e){let t=[];return Object.entries(xu).forEach(([o,r])=>{e.includes(o)&&(t.push(r),Oi(e,o))}),t.push(...e.map(o=>o.toUpperCase())),t.join("")}function vu(e){let t=[];return Object.entries(yu).forEach(([o,r])=>{e.includes(o)&&(t.push(r),Oi(e,o))}),t.push(...e.map(o=>o.toUpperCase())),t.join("+")}function At(e){let t=e.toLowerCase().split("+");return Dt()?ku(t):vu(t)}import{useRef as zu}from"react";import{useSlateStatic as $u}from"slate-react";function Fo(e){let t=e.getBoundingClientRect();return{top:t.top,right:t.right,bottom:t.bottom,left:t.left,width:t.width,height:t.height}}function Ui(e){let t=Fo(e),{scrollY:o}=window;return Object.assign(t,{top:t.top+o,bottom:t.bottom+o})}function Vo(){let e=document.documentElement.clientWidth||document.body.clientWidth;return{top:0,right:e,bottom:window.innerHeight,left:0,width:e,height:window.innerHeight}}function Fi(){let e=Vo();return Object.assign(e,{top:window.scrollY,bottom:window.scrollY+e.height})}var Vi=Tu;function Tu(e,t){for(var o={},r=Object.keys(e),n=r.length,i=0;i<n;i++){var a=r[i];o[a]=t(e[a],a,e)}return o}function Ko(e,t){return Vi(e,r=>{let n=r instanceof HTMLElement?r:r.current;return n?t(n):null})}import{useEffect as Pu}from"react";import wu from"lodash.throttle";import{useMemo as Iu,useState as Mu}from"react";function Ot(e=100){let[t,o]=Mu(0),r=Iu(()=>wu(()=>{o(n=>n+1)},e,{trailing:!0}),[e]);return Object.assign(r,{counter:t})}function _o(){let e=Ot();return Pu(()=>(e(),window.addEventListener("resize",e),window.addEventListener("scroll",e),()=>{window.removeEventListener("resize",e),window.removeEventListener("scroll",e)}),[]),e}function X(e,t){let o=_o(),r=Ko(e,n=>Ui(n));return t(r,Fi(),o)}function ke(e,t,o,{margin:r=0}={}){if(e==null)return{...o,left:-1024};let{top:n}=o,{left:i}=o,a=t.right-t.left-r*2;return e.width>=a?i=t.left+r:(i+e.width>t.right-r&&(i=t.right-e.width-r),i<t.left+r&&(i=t.left+r)),{left:i,top:n}}import Wo from"@emotion/styled";import Cu from"@emotion/styled";var Y=Cu(pt)`
|
|
87
87
|
position: absolute;
|
|
88
88
|
z-index: 1000;
|
|
89
89
|
border: 1px solid var(--table-border-color);
|
|
@@ -112,14 +112,14 @@
|
|
|
112
112
|
* even if we did, it looks better this way.
|
|
113
113
|
*/
|
|
114
114
|
/* transition: left 100ms, top 100ms; */
|
|
115
|
-
`;var
|
|
115
|
+
`;var Ki=Wo(Y)`
|
|
116
116
|
width: 24em;
|
|
117
117
|
padding: 0;
|
|
118
118
|
overflow: hidden;
|
|
119
|
-
`,Ut=
|
|
119
|
+
`,Ut=Wo("div")`
|
|
120
120
|
display: flex;
|
|
121
121
|
gap: 0.5em;
|
|
122
|
-
`,Ft=
|
|
122
|
+
`,Ft=Wo("input")`
|
|
123
123
|
flex: 1 1 auto;
|
|
124
124
|
padding: 0.5em 0.75em;
|
|
125
125
|
border-radius: 0.25em;
|
|
@@ -130,7 +130,7 @@
|
|
|
130
130
|
&:focus {
|
|
131
131
|
outline: 2px solid var(--blue-200);
|
|
132
132
|
}
|
|
133
|
-
`;import
|
|
133
|
+
`;import Wi from"@emotion/styled";import Su from"@emotion/styled";var _i=Su(pt)`
|
|
134
134
|
border: 1px solid var(--shade-300); /* shade-300 */
|
|
135
135
|
border-radius: 0.5em;
|
|
136
136
|
color: rgb(39 39 42); /* shade-800 */
|
|
@@ -146,11 +146,11 @@
|
|
|
146
146
|
*/
|
|
147
147
|
outline: 2px solid var(--select-editor-color) !important;
|
|
148
148
|
}
|
|
149
|
-
`;var
|
|
149
|
+
`;var Gi=Wi("div")`
|
|
150
150
|
padding: 2em;
|
|
151
151
|
flex: 1;
|
|
152
152
|
min-height: 0;
|
|
153
|
-
`,
|
|
153
|
+
`,qi=Wi(_i)`
|
|
154
154
|
/**
|
|
155
155
|
* We use this to make sure the top of the container is rounded even though
|
|
156
156
|
* the toolbar inside is square. We keep the toolbar square so that as the
|
|
@@ -173,7 +173,7 @@
|
|
|
173
173
|
flex-direction: column;
|
|
174
174
|
flex: 1;
|
|
175
175
|
min-height: 0;
|
|
176
|
-
`;import
|
|
176
|
+
`;import Go from"@emotion/styled";var Qi=Go(Y)`
|
|
177
177
|
position: absolute;
|
|
178
178
|
padding-top: 0.5em;
|
|
179
179
|
padding-bottom: 0.5em;
|
|
@@ -183,7 +183,7 @@
|
|
|
183
183
|
* Prevent clicks from stealing focus from the editor
|
|
184
184
|
*/
|
|
185
185
|
user-select: none;
|
|
186
|
-
`,
|
|
186
|
+
`,ji=Go("div")`
|
|
187
187
|
display: flex;
|
|
188
188
|
z-index: 10;
|
|
189
189
|
padding: 0 1em 0 1.5em;
|
|
@@ -223,12 +223,12 @@
|
|
|
223
223
|
&:hover {
|
|
224
224
|
background: var(--blue-50);
|
|
225
225
|
}
|
|
226
|
-
`,
|
|
226
|
+
`,Xi=Go("div")`
|
|
227
227
|
height: 1px;
|
|
228
228
|
background: var(--shade-200);
|
|
229
229
|
margin-top: 0.25em;
|
|
230
230
|
margin-bottom: 0.25em;
|
|
231
|
-
`;import ht from"@emotion/styled";var
|
|
231
|
+
`;import ht from"@emotion/styled";var Yi=ht("div")`
|
|
232
232
|
/**
|
|
233
233
|
* This flex rule applies to the "display: flex;" of the parent container.
|
|
234
234
|
* Ensures the toolbar does not shrink or grow vertically.
|
|
@@ -267,22 +267,22 @@
|
|
|
267
267
|
3em + 1px
|
|
268
268
|
); // $ToolbarDivider height + border-bottom of 1px above
|
|
269
269
|
overflow: hidden;
|
|
270
|
-
`,
|
|
270
|
+
`,Ji=ht("div")`
|
|
271
271
|
display: inline-block;
|
|
272
272
|
height: calc(
|
|
273
273
|
3em + 1px
|
|
274
274
|
); // $ToolbarDivider height + border-bottom of 1px above
|
|
275
|
-
`,
|
|
275
|
+
`,Zi=ht("div")`
|
|
276
276
|
display: inline-block;
|
|
277
277
|
height: 3em;
|
|
278
278
|
padding: 0 0.375em;
|
|
279
|
-
`,
|
|
279
|
+
`,ea=ht("div")`
|
|
280
280
|
display: inline-block;
|
|
281
281
|
background: var(--shade-300);
|
|
282
282
|
opacity: 50%;
|
|
283
283
|
width: 1px;
|
|
284
284
|
height: 3em;
|
|
285
|
-
`,
|
|
285
|
+
`,ta=ht("div")`
|
|
286
286
|
box-sizing: border-box;
|
|
287
287
|
position: relative;
|
|
288
288
|
display: inline-block;
|
|
@@ -332,7 +332,7 @@
|
|
|
332
332
|
margin-left: -0.25em;
|
|
333
333
|
opacity: 0.375;
|
|
334
334
|
}
|
|
335
|
-
`;import{useCallback as
|
|
335
|
+
`;import{useCallback as Ru}from"react";import{ReactEditor as Lu}from"slate-react";import{Fragment as Du,jsx as Fe,jsxs as Bu}from"react/jsx-runtime";function oa({editor:e,item:t,close:o,dest:r}){let n=O("menu"),i=Ru(()=>{if(t.Component){let a=t.Component;n.open(()=>Fe(a,{dest:r,close:n.close}))}else t.action&&(t.action(e),Lu.focus(e),o())},[e,t]);return Fe(Du,{children:Bu(ji,{onClick:i,children:[Fe("div",{className:"--icon",children:Fe(t.icon,{})}),Fe("div",{className:"--title",children:t.title}),Fe("div",{className:"--hotkey",children:t.hotkey?At(t.hotkey):void 0})]})})}import{Fragment as Nu,jsx as Vt,jsxs as Hu}from"react/jsx-runtime";function Ve({dest:e,items:t,close:o}){let r=$u(),n=zu(null),i=X({src:n,dest:e},({dest:a})=>a?{left:a.left-8,top:a.top+a.height}:{left:0,top:0});return Hu(Nu,{children:[Vt(ye,{close:o}),Vt(Qi,{ref:n,style:i,children:t.map((a,l)=>a==="divider"?Vt(Xi,{},l):a.show&&!a.show(r)?null:Vt(oa,{editor:r,item:a,close:o,dest:e},l))})]})}import{useCallback as aa}from"react";import ra from"@emotion/styled";import{jsx as Uu,jsxs as Fu}from"react/jsx-runtime";function qo(e){return e.getBoundingClientRect()}var Au=ra("div")`
|
|
336
336
|
position: fixed;
|
|
337
337
|
z-index: 10;
|
|
338
338
|
-webkit-font-smoothing: antialiased;
|
|
@@ -348,12 +348,12 @@
|
|
|
348
348
|
background: var(--shade-700);
|
|
349
349
|
border-radius: 0.25em;
|
|
350
350
|
white-space: nowrap;
|
|
351
|
-
`,
|
|
351
|
+
`,Ou=ra("span")`
|
|
352
352
|
margin-left: 0.75em;
|
|
353
353
|
font-size: 0.875em;
|
|
354
354
|
font-weight: 500;
|
|
355
355
|
color: var(--shade-400);
|
|
356
|
-
`;function
|
|
356
|
+
`;function na({title:e,hotkey:t,dest:o}){let r=qo(o);return Fu(Au,{style:{left:r.left,top:`calc(${r.top}px - 2em)`},children:[e,t?Uu(Ou,{children:t}):null]})}import Vu from"@emotion/styled";import{jsx as _u}from"react/jsx-runtime";var Ku=Vu("span")`
|
|
357
357
|
position: fixed;
|
|
358
358
|
z-index: 10;
|
|
359
359
|
width: 0;
|
|
@@ -361,7 +361,7 @@
|
|
|
361
361
|
border-left: 0.375em solid transparent;
|
|
362
362
|
border-right: 0.375em solid transparent;
|
|
363
363
|
border-top: 0.375em solid var(--shade-700);
|
|
364
|
-
`;function
|
|
364
|
+
`;function ia({dest:e}){let t=qo(e);return _u(Ku,{style:{left:`calc(${t.left+t.width/2}px - 0.375em)`,top:`calc(${t.top}px - 0.5em)`}})}import{jsx as la}from"react/jsx-runtime";function J({title:e,hotkey:t},o=[]){let r=O("tooltip-label"),n=O("tooltip-triangle"),i=aa(l=>{let m=l.currentTarget;e!==void 0&&(r.open(()=>la(na,{title:e,hotkey:typeof t=="function"?t():t,dest:m})),n.open(()=>la(ia,{dest:m})))},[e,t,r,n,...o]),a=aa(()=>{r.close(),n.close()},[r,n,...o]);return{onMouseEnter:i,onMouseLeave:a}}import Qu from"@emotion/styled";import{useCallback as _e,useRef as fa,useState as _t}from"react";import{Node as ju}from"slate";import{useSlateStatic as Xu}from"slate-react";import ve from"@emotion/styled";var Ke=ve("div")`
|
|
365
365
|
margin: 0.5em 0;
|
|
366
366
|
&:first-of-type {
|
|
367
367
|
margin-top: 0;
|
|
@@ -369,15 +369,15 @@
|
|
|
369
369
|
&:last-of-type {
|
|
370
370
|
margin-bottom: 0;
|
|
371
371
|
}
|
|
372
|
-
`,Kt=
|
|
372
|
+
`,Kt=ve("div")`
|
|
373
373
|
font-size: 0.9375em;
|
|
374
374
|
margin-bottom: 0.25em;
|
|
375
375
|
color: var(--shade-700);
|
|
376
|
-
`,
|
|
376
|
+
`,Qo=ve("div")`
|
|
377
377
|
font-size: 0.875em;
|
|
378
378
|
margin-top: 0.25em;
|
|
379
379
|
color: var(--shade-500);
|
|
380
|
-
`,
|
|
380
|
+
`,sa=ve("input")`
|
|
381
381
|
box-sizing: border-box;
|
|
382
382
|
width: 100%;
|
|
383
383
|
height: 6em;
|
|
@@ -391,7 +391,7 @@
|
|
|
391
391
|
&:focus {
|
|
392
392
|
outline: 2px solid var(--blue-200);
|
|
393
393
|
}
|
|
394
|
-
`,
|
|
394
|
+
`,jo=ve("input")`
|
|
395
395
|
box-sizing: border-box;
|
|
396
396
|
width: 100%;
|
|
397
397
|
padding: 0.5em 0.75em;
|
|
@@ -403,7 +403,7 @@
|
|
|
403
403
|
&:focus {
|
|
404
404
|
outline: 2px solid var(--blue-200);
|
|
405
405
|
}
|
|
406
|
-
`,
|
|
406
|
+
`,ma=ve("div")`
|
|
407
407
|
/* Center vertically and horizontally */
|
|
408
408
|
display: flex;
|
|
409
409
|
align-items: center;
|
|
@@ -417,7 +417,7 @@
|
|
|
417
417
|
font-size: 1.25em;
|
|
418
418
|
stroke-width: 2px;
|
|
419
419
|
}
|
|
420
|
-
`,
|
|
420
|
+
`,ca=ve(ma)`
|
|
421
421
|
color: var(--blue-50);
|
|
422
422
|
background: var(--blue-500);
|
|
423
423
|
outline: 0px solid white;
|
|
@@ -429,7 +429,7 @@
|
|
|
429
429
|
svg {
|
|
430
430
|
color: var(--blue-200);
|
|
431
431
|
}
|
|
432
|
-
`,
|
|
432
|
+
`,pa=ve(ma)`
|
|
433
433
|
color: var(--shade-500);
|
|
434
434
|
background: var(--shade-200);
|
|
435
435
|
outline: 0px solid white;
|
|
@@ -441,7 +441,7 @@
|
|
|
441
441
|
svg {
|
|
442
442
|
color: var(--shade-400);
|
|
443
443
|
}
|
|
444
|
-
`;import{useRef as
|
|
444
|
+
`;import{useRef as Wu,useCallback as Ce}from"react";import ua from"@emotion/styled";import{jsx as da}from"react/jsx-runtime";var Gu=ua.div`
|
|
445
445
|
display: flex;
|
|
446
446
|
align-items: center;
|
|
447
447
|
justify-content: center;
|
|
@@ -456,17 +456,17 @@
|
|
|
456
456
|
&:active {
|
|
457
457
|
cursor: grabbing;
|
|
458
458
|
}
|
|
459
|
-
`,
|
|
459
|
+
`,qu=ua.div`
|
|
460
460
|
width: 32px;
|
|
461
461
|
height: 4px;
|
|
462
462
|
background: #ccc;
|
|
463
463
|
border-radius: 2px;
|
|
464
|
-
`;function
|
|
464
|
+
`;function Te({onDrag:e}){let t=Wu(null),o=Ce((s,c)=>{t.current={x:s,y:c}},[]),r=Ce((s,c)=>{if(!t.current)return;let d=s-t.current.x,p=c-t.current.y;t.current={x:s,y:c},e(d,p)},[e]),n=Ce(()=>{t.current=null},[]),i=Ce(s=>{s.preventDefault(),o(s.clientX,s.clientY);let c=p=>{r(p.clientX,p.clientY)},d=()=>{n(),document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",d)};document.addEventListener("mousemove",c),document.addEventListener("mouseup",d)},[o,r,n]),a=Ce(s=>{if(s.touches.length!==1)return;let c=s.touches[0];o(c.clientX,c.clientY)},[o]),l=Ce(s=>{if(s.touches.length!==1)return;let c=s.touches[0];r(c.clientX,c.clientY)},[r]),m=Ce(()=>{n()},[n]);return da(Gu,{onMouseDown:i,onTouchStart:a,onTouchMove:l,onTouchEnd:m,children:da(qu,{})})}import{jsx as _,jsxs as gt}from"react/jsx-runtime";var Yu=Qu(Y)`
|
|
465
465
|
position: absolute;
|
|
466
466
|
width: 20em;
|
|
467
467
|
padding: 0;
|
|
468
468
|
overflow: hidden;
|
|
469
|
-
`;function
|
|
469
|
+
`;function ha({destAnchor:e,destStartEdge:t,element:o}){let r=O("dialog"),n=fa(null),[i,a]=_t({x:0,y:0}),l=_e((E,k)=>{a(P=>({x:P.x+E,y:P.y+k}))},[]),m=X({src:n,destAnchor:e,destStartEdge:t},({src:E,destAnchor:k,destStartEdge:P},C)=>ke(E,C,{left:P.left,top:k.top+k.height},{margin:16})),s={...m,left:m.left+i.x,top:m.top+i.y},c=Xu(),[d,p]=_t(o.href),[u,g]=_t(ju.string(o)),[T,S]=_t(o.title||""),L=fa({href:d,text:u,title:T});L.current={href:d,text:u,title:T};let M=_e(E=>{p(E.target.value)},[]),$=_e(E=>{g(E.target.value)},[]),w=_e(E=>{S(E.target.value)},[]),B=_e(()=>{r.open(()=>_(Wt,{destAnchor:e,destStartEdge:t,element:o}))},[e,t,o]),I=_e(()=>{let{href:E,text:k,title:P}=L.current;c.anchor.editLink({href:E,text:k,title:P},{at:o}),B()},[B]);return gt(Yu,{ref:n,contentEditable:!1,style:s,children:[_(Te,{onDrag:l}),gt("div",{style:{padding:"1em"},children:[gt(Ke,{children:[_(Kt,{children:h("linkUrl")}),_(sa,{as:"textarea",value:d,onChange:M})]}),gt(Ke,{children:[_(Kt,{children:h("linkText")}),_(jo,{type:"text",value:u,onChange:$}),_(Qo,{children:h("linkTextHint")})]}),gt(Ke,{children:[_(Kt,{children:h("tooltipText")}),_(jo,{type:"text",value:T,onChange:w}),_(Qo,{children:h("tooltipHint")})]}),_(Ke,{children:_(ca,{onClick:I,children:h("apply")})}),_(Ke,{children:_(pa,{onClick:B,children:h("cancel")})})]})]})}import{jsx as we}from"react/jsx-runtime";var ga=e=>we(y,{...e,children:we("path",{d:"M12 6H6a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-6M11 13l9-9M15 4h5v5"})}),ba=e=>we(y,{...e,children:we("path",{d:"m9 15 3-3m2-2 1-1M11 6l.463-.536a5 5 0 0 1 7.071 7.072L18 13M3 3l18 18M13 18l-.397.534a5.068 5.068 0 0 1-7.127 0 4.972 4.972 0 0 1 0-7.071L6 11"})}),Ea=e=>we(y,{...e,children:we("path",{d:"M4 20h4L18.5 9.5a1.5 1.5 0 0 0-4-4L4 16v4M13.5 6.5l4 4"})}),xa=e=>we(y,{...e,children:we("path",{d:"M18 6L6 18M6 6l12 12"})});import{jsx as Z,jsxs as bt}from"react/jsx-runtime";var of=Ju(Y)`
|
|
470
470
|
position: absolute;
|
|
471
471
|
width: 20em;
|
|
472
472
|
z-index: 1000;
|
|
@@ -551,10 +551,10 @@
|
|
|
551
551
|
height: 1.25em;
|
|
552
552
|
stroke-width: 1.5;
|
|
553
553
|
}
|
|
554
|
-
`;function
|
|
554
|
+
`;function rf(e){try{let t=new URL(e);return{hostname:t.hostname,pathname:t.pathname}}catch{return{hostname:"",pathname:""}}}function Wt({destAnchor:e,destStartEdge:t,element:o}){let r=O("dialog"),n=tf(),i=Zu(null),a=rf(o.href),[l,m]=ef({x:0,y:0}),s=Gt((M,$)=>{m(w=>({x:w.x+M,y:w.y+$}))},[]),c=X({src:i,destAnchor:e,destStartEdge:t},({src:M,destAnchor:$,destStartEdge:w},B)=>ke(M,B,{left:w.left,top:$.top+$.height},{margin:16})),d={...c,left:c.left+l.x,top:c.top+l.y},p=J({title:"\u30EA\u30F3\u30AF\u3092\u524A\u9664"}),u=J({title:"\u30EA\u30F3\u30AF\u3092\u7DE8\u96C6"}),g=J({title:"\u9589\u3058\u308B"}),T=Gt(()=>{r.close()},[r]),S=Gt(()=>{n.anchor.removeLink({at:o}),r.close()},[n,r]),L=Gt(()=>{u.onMouseLeave(),r.open(()=>Z(ha,{destAnchor:e,destStartEdge:t,element:o}))},[e,t,o]);return bt(of,{ref:i,contentEditable:!1,style:d,children:[Z(Te,{onDrag:s}),bt("div",{style:{display:"flex",padding:"1em"},children:[bt("a",{className:"--link",href:o.href,target:"_blank",rel:"noreferrer",children:[Z(ga,{}),bt("div",{className:"--url",children:[Z("div",{className:"--hostname",children:a.hostname}),a.pathname===""||a.pathname==="/"?null:Z("div",{className:"--pathname",children:a.pathname}),o.title==null||o.title===""?null:Z("div",{className:"--tooltip",children:o.title})]})]}),bt("span",{className:"--icons",children:[Z("span",{className:"--icon",onClick:S,onMouseEnter:p.onMouseEnter,onMouseLeave:p.onMouseLeave,children:Z(ba,{})}),Z("span",{className:"--icon",onMouseEnter:u.onMouseEnter,onMouseLeave:u.onMouseLeave,onClick:L,children:Z(Ea,{})}),Z("span",{className:"--icon",onClick:T,onMouseEnter:g.onMouseEnter,onMouseLeave:g.onMouseLeave,children:Z(xa,{})})]})]})]})}import{jsx as qt,jsxs as mf}from"react/jsx-runtime";function ka({element:e,attributes:t,children:o}){let r=ya(null),n=ya(null),i=lf(),a=sf(),l=O("dialog");return af(()=>{let m=n.current,s=r.current;if(!m||!s)return;let c=a.selection&&a.selection.anchor.offset!==a.selection.focus.offset;i&&!c?setTimeout(()=>{l.open(()=>qt(Wt,{destAnchor:m,destStartEdge:s,element:e}))}):l.close()},[i,e]),mf(Hi,{className:nf({"--selected":i}),href:e.href,target:e.target,...t,ref:n,children:[qt(Uo,{ref:r,contentEditable:!1}),qt("span",{children:o}),qt(Uo,{contentEditable:!1})]})}import{jsx as cf}from"react/jsx-runtime";var va=v((e,t,{createPolicy:o})=>(e.anchor=Li(e),o({name:"anchor",editor:{isInline(r){if(r.type==="anchor")return!0},normalizeNode:f(Di,e)},editableProps:{onPaste:f(Pi,e),renderElement:({element:r,attributes:n,children:i})=>{if(r.type==="anchor")return cf(ka,{element:r,attributes:n,children:i})}}})));import{Editor as Qt,Transforms as Ia}from"slate";import{Element as Ta,Path as wa}from"slate";function Xo(e,t,o){if(!t||!o||wa.equals(t[1],o[1]))return!0;let r=x(e,i=>Ta.isElement(i)&&e.isMaster(i),{at:t[1]}),n=x(e,i=>Ta.isElement(i)&&e.isMaster(i),{at:o[1]});return!!(!r&&!n||r&&n&&wa.equals(r[1],n[1]))}var Ma=v(e=>(e.atomicDelete=!0,{name:"atomic-delete",editor:{deleteBackward(){if(e.selection==null)return!1;let t=Qt.node(e,e.selection),o=Qt.previous(e,{mode:"lowest"});return Xo(e,t,o)?!1:(Ia.move(e,{unit:"character",reverse:!0}),!0)},deleteForward(){if(e.selection==null)return!1;let t=Qt.node(e,e.selection),o=Qt.next(e,{mode:"lowest"});return Xo(e,t,o)?!1:(Ia.move(e,{unit:"character"}),!0)}}}));import{Transforms as Zf}from"slate";import{ReactEditor as eh}from"slate-react";import{Editor as pf,Transforms as Pa}from"slate";import{ReactEditor as df}from"slate-react";function uf(e){}function ff(e,t,o,r){let{selection:n}=e;if(Pa.insertNodes(e,{type:"image-block",url:t,alt:o||"",title:r||"",width:320,height:240,children:[{text:""}]}),!n){let i=pf.end(e,[]);Pa.select(e,i),df.focus(e)}}function Ca(e){return{noop:f(uf,e),insertImageFromUrl:f(ff,e)}}function Sa(e,t){return!1}import{useSlateStatic as Qf}from"slate-react";import hf from"@emotion/styled";var Ra=hf("div")`
|
|
555
555
|
display: block;
|
|
556
556
|
margin: 1em 0;
|
|
557
|
-
`;import{clsx as
|
|
557
|
+
`;import{clsx as Wf}from"clsx";import{useState as pl}from"react";import{useSelected as Gf}from"slate-react";import La from"@emotion/styled";var Ba=La("span")`
|
|
558
558
|
/**
|
|
559
559
|
* In order for this container to wrap tightly (without space), it needs to be
|
|
560
560
|
* an "inline-block". If it's just an "inline" we end up with spacing
|
|
@@ -566,7 +566,7 @@
|
|
|
566
566
|
* so that we can place UI controls for the image in and around the image.
|
|
567
567
|
*/
|
|
568
568
|
position: relative;
|
|
569
|
-
`,
|
|
569
|
+
`,Da=La("img")`
|
|
570
570
|
/**
|
|
571
571
|
* TODO:
|
|
572
572
|
*
|
|
@@ -629,7 +629,7 @@
|
|
|
629
629
|
.--dragging > & {
|
|
630
630
|
transition: border-radius 250ms;
|
|
631
631
|
}
|
|
632
|
-
`;import{clsx as
|
|
632
|
+
`;import{clsx as yf}from"clsx";import{useCallback as Oa,useEffect as kf,useRef as Xt}from"react";import{Transforms as Ua}from"slate";import{ReactEditor as Jo,useSlateStatic as vf}from"slate-react";import{useEffect as gf}from"react";function za(){let e=Ot();return gf(()=>(e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}),[]),e}import $a from"@emotion/styled";var Na=$a("span")`
|
|
633
633
|
position: absolute;
|
|
634
634
|
display: block;
|
|
635
635
|
/**
|
|
@@ -656,7 +656,7 @@
|
|
|
656
656
|
/* background: green; */
|
|
657
657
|
width: 1.25em;
|
|
658
658
|
}
|
|
659
|
-
`,
|
|
659
|
+
`,Ha=$a("span")`
|
|
660
660
|
position: absolute;
|
|
661
661
|
display: block;
|
|
662
662
|
background: var(--select-color);
|
|
@@ -749,7 +749,7 @@
|
|
|
749
749
|
.--small > & > .--bar-right {
|
|
750
750
|
left: calc(50% + 1px);
|
|
751
751
|
}
|
|
752
|
-
`;function
|
|
752
|
+
`;function Yo({value:e,min:t,max:o}){if(!(o>=t))throw new Error("Expected max >= min but is not");return Math.max(t,Math.min(o,e))}import{ReactEditor as bf}from"slate-react";function jt(e,t){e=Math.round(e);let o=t.width/t.height;return{width:e,height:Math.round(e/o)}}function Ef(e,t){e=Math.round(e);let o=t.width/t.height;return{width:Math.round(e*o),height:e}}function xf(e,t){let o=e.width/e.height,r=t.width/t.height;if(o>=r){if(e.width>t.width)return jt(t.width,e)}else if(e.height>t.height)return Ef(t.height,e);return e}function Se(e,t,o){switch(o.type){case"bounds":return xf(t,o);case"scale":return{width:Math.round(t.width*o.scale),height:Math.round(t.height*o.scale)}}}function Aa(e){let t=bf.toDOMNode(e,e),o=getComputedStyle(t),r=parseInt(o.paddingLeft,10)+parseInt(o.paddingRight,10);return t.clientWidth-r}import{Fragment as If,jsx as Et,jsxs as wf}from"react/jsx-runtime";function Tf(e,t){let r=Jo.toDOMNode(e,t).querySelector("img");if(!r)throw new Error("Image Element could not be found but should exist");return r.getBoundingClientRect()}function Fa({element:e,srcSize:t,size:o,setSize:r,isDragging:n,setIsDragging:i}){let a=vf(),l=Xt(null),m=Xt(null),s=Xt(null),c=Xt(null);za();let d=Aa(a),p=o.width,u=Math.min(t.width,d),g=Math.min(12,t.width),T=Oa(M=>{Me(M),i(!0);let $=M.clientX,B=Tf(a,e).width,I={...o},E=P=>{let C=Yo({value:B+P.clientX-$,min:g,max:u});I=jt(C,t),r(I)},k=()=>{document.removeEventListener("mousemove",E),document.removeEventListener("mouseup",k),l.current=null,m.current=null;let P=Jo.findPath(a,e),C={width:I.width,height:I.height};r(C),Ua.setNodes(a,C,{at:P}),i(!1)};l.current=E,m.current=k,document.addEventListener("mousemove",E),document.addEventListener("mouseup",k)},[t.width,t.height,o.width,e]),S=Oa(M=>{Me(M),i(!0);let $=M.changedTouches[0].clientX,w=o.width,B={...o},I=k=>{let P=k.changedTouches[0],C=Yo({value:w+P.clientX-$,min:g,max:u});B=jt(C,t),r(B)},E=()=>{document.removeEventListener("touchmove",I),document.removeEventListener("touchend",E),s.current=null,c.current=null;let k=Jo.findPath(a,e);Ua.setNodes(a,{width:B.width,height:B.height},{at:k}),i(!1)};s.current=I,c.current=E,document.addEventListener("touchmove",I),document.addEventListener("touchend",E)},[t.width,t.height,o.width,e]);kf(()=>()=>{l.current&&document.removeEventListener("mousemove",l.current),m.current&&document.removeEventListener("mouseup",m.current),s.current&&document.removeEventListener("touchmove",s.current),c.current&&document.removeEventListener("touchend",c.current)},[]);let L=yf({"--center":p<u&&p>g,"--left":p>=u&&p>g,"--right":p<=g&&p<u,"--dragging":n,"--small":p<=64||o.height<=64});return Et(If,{children:Et(Na,{className:L,onMouseDown:T,onTouchStart:S,children:wf(Ha,{children:[Et("span",{className:"--bar --bar-left"}),Et("span",{className:"--bar --bar-center"}),Et("span",{className:"--bar --bar-right"})]})})})}import Mf from"@emotion/styled";var Va=Mf("span")`
|
|
753
753
|
position: absolute;
|
|
754
754
|
/**
|
|
755
755
|
* The status appears with a 1px gap from the outline.
|
|
@@ -771,7 +771,7 @@
|
|
|
771
771
|
|
|
772
772
|
/* force numbers to be monospaced for better alignment */
|
|
773
773
|
font-variant-numeric: tabular-nums;
|
|
774
|
-
`;import{jsxs as
|
|
774
|
+
`;import{jsxs as Pf}from"react/jsx-runtime";function Ka({size:e}){return Pf(Va,{children:[e.width," \xD7 ",e.height]})}import Cf from"@emotion/styled";var _a=Cf("span")`
|
|
775
775
|
position: absolute;
|
|
776
776
|
/**
|
|
777
777
|
* On top of the image +1 for space inside outline, +2 for outline,
|
|
@@ -802,7 +802,7 @@
|
|
|
802
802
|
}
|
|
803
803
|
display: flex;
|
|
804
804
|
gap: 0.25em;
|
|
805
|
-
`;import
|
|
805
|
+
`;import Wa from"@emotion/styled";var Yt=Wa("span")`
|
|
806
806
|
/* font-size: 0.75em; */
|
|
807
807
|
border-radius: 0.5em;
|
|
808
808
|
display: flex;
|
|
@@ -815,7 +815,7 @@
|
|
|
815
815
|
* see the border of the buttons.
|
|
816
816
|
*/
|
|
817
817
|
outline: 1px solid white;
|
|
818
|
-
`,We=
|
|
818
|
+
`,We=Wa("span")`
|
|
819
819
|
font-size: 0.75em;
|
|
820
820
|
line-height: 2em;
|
|
821
821
|
padding: 0 0.625em;
|
|
@@ -869,17 +869,17 @@
|
|
|
869
869
|
font-size: 1.33em;
|
|
870
870
|
line-height: 1em;
|
|
871
871
|
}
|
|
872
|
-
`;import{clsx as
|
|
872
|
+
`;import{clsx as Sf}from"clsx";import{useCallback as Rf}from"react";import{Transforms as Lf}from"slate";import{ReactEditor as Bf,useSlateStatic as Df}from"slate-react";import{jsx as zf}from"react/jsx-runtime";function Ga({element:e,preset:t,size:o,setSize:r,srcSize:n}){let i=Df(),a=Se(o,n,t),l=J({title:t.title,hotkey:`${a.width}x${a.height}`}),m=Rf(()=>{let u=Bf.findPath(i,e),g=Se(o,n,t);r(g),Lf.setNodes(i,g,{at:u})},[e,t,o,n]),c=!(t.type==="scale"?!0:t.width<=n.width||t.height<=n.height),d=o.width===a.width&&o.height===a.height,p=Sf({"--disabled":c,"--selected":!c&&d});return zf(We,{className:p,onClick:c?void 0:m,onMouseEnter:l.onMouseEnter,onMouseLeave:l.onMouseLeave,children:t.name})}import{jsx as qa}from"react/jsx-runtime";function Qa({element:e,size:t,setSize:o,srcSize:r,presets:n}){return qa(Yt,{children:n.map((i,a)=>qa(Ga,{element:e,preset:i,size:t,setSize:o,srcSize:r},a))})}import{useCallback as Hf}from"react";import{useSlateStatic as Af}from"slate-react";import{jsx as Jt,jsxs as Ya}from"react/jsx-runtime";var ja=e=>Ya(y,{...e,children:[Jt("rect",{width:6,height:6,x:4,y:5,rx:1}),Jt("path",{d:"M4 15h16M4 19h16"})]}),Xa=e=>Ya(y,{...e,children:[Jt("rect",{width:6,height:6,x:9,y:5,rx:1}),Jt("path",{d:"M4 7h1M4 11h1M19 7h1M19 11h1M4 15h16M4 19h16"})]});import{Editor as $f,Transforms as Ja}from"slate";import{ReactEditor as Nf}from"slate-react";function Za(e,t){if(!t.width||!t.height||!t.srcWidth||!t.srcHeight)return;let o={width:t.width,height:t.height},r={width:t.srcWidth,height:t.srcHeight},n=Nf.findPath(e,t);$f.withoutNormalizing(e,()=>{let i=Se(o,r,{name:"initial-inline-image",title:"",type:"bounds",width:24,height:24});Ja.setNodes(e,{type:"image-inline",...i},{at:n}),Ja.wrapNodes(e,{type:"paragraph",children:[]},{at:n})})}import{jsx as el}from"react/jsx-runtime";function tl({element:e}){let t=Af(),o=J({title:"Inline Image",hotkey:"In a line with text"}),r=Hf(()=>{e.type==="image-block"&&Za(t,e)},[t,e]);return el(We,{className:e.type==="image-inline"?"--selected":"",onClick:e.type==="image-inline"?void 0:r,onMouseEnter:o.onMouseEnter,onMouseLeave:o.onMouseLeave,children:el(Xa,{})})}import{useCallback as Ff}from"react";import{useSlateStatic as Vf}from"slate-react";import{Editor as ol,Element as Of,Text as rl,Transforms as Zt}from"slate";import{ReactEditor as Uf}from"slate-react";function nl(e,t){if(!t.width||!t.height||!t.srcWidth||!t.srcHeight)return;let o={width:t.width,height:t.height},r={width:t.srcWidth,height:t.srcHeight},n=Uf.findPath(e,t);ol.withoutNormalizing(e,()=>{let i=Se(o,r,{name:"initial-block-image",title:"",type:"bounds",width:320,height:320});Zt.setNodes(e,{type:"image-block",...i},{at:n});let a=x(e,T=>Of.isElement(T)&&ol.isBlock(e,T)&&T.type!=="image-block");if(!a)throw new Error("This shouldn't happen");let[l,m]=a,s=l.children,c=l.children.length,d=n.slice(-1)[0],p=s[c-1];d===c-2&&rl.isText(p)&&p.text===""&&Zt.removeNodes(e,{at:[...m,c-1]});let u=s[0],g=d===1&&rl.isText(u)&&u.text==="";g&&Zt.removeNodes(e,{at:[...m,0]}),Zt.liftNodes(e,{at:[...m,g?d-1:d]})})}import{jsx as il}from"react/jsx-runtime";function al({element:e}){let t=Vf(),o=J({title:"Block Image",hotkey:"On a line by itself"}),r=Ff(()=>{e.type==="image-inline"&&nl(t,e)},[t,e]);return il(We,{className:e.type==="image-block"?"--selected":"",onClick:e.type==="image-block"?void 0:r,onMouseEnter:o.onMouseEnter,onMouseLeave:o.onMouseLeave,children:il(ja,{})})}import{jsx as ll,jsxs as Kf}from"react/jsx-runtime";function sl({element:e}){return Kf(Yt,{children:[ll(al,{element:e}),ll(tl,{element:e})]})}import{jsx as ml,jsxs as _f}from"react/jsx-runtime";function cl({element:e,size:t,setSize:o,srcSize:r,presets:n}){return _f(_a,{children:[ml(sl,{element:e}),ml(Qa,{element:e,size:t,setSize:o,srcSize:r,presets:n})]})}import{jsx as eo,jsxs as qf}from"react/jsx-runtime";function to({element:e,presets:t}){let o=e.url,r=Gf(),[n,i]=pl(!1),[a,l]=pl(e.srcWidth&&e.srcHeight&&e.width&&e.height?{width:e.width,height:e.height}:null),m=e.srcWidth&&e.srcHeight?{width:e.srcWidth,height:e.srcHeight}:null,s=r&&a&&m,c=Wf({"--selected":r,"--dragging":n,"--small":a&&(a.width<=64||a.height<=64)});return qf(Ba,{className:c,children:[eo(Da,{src:o,width:a?.width,height:a?.height}),s?eo(cl,{element:e,size:a,setSize:l,srcSize:m,presets:t}):null,n&&a?eo(Ka,{size:a}):null,s?eo(Fa,{element:e,srcSize:m,isDragging:n,setIsDragging:i,size:a,setSize:l}):null]})}import{jsx as dl,jsxs as jf}from"react/jsx-runtime";function ul({element:e,attributes:t,children:o}){let r=Qf();return jf("div",{...t,children:[dl(Ra,{contentEditable:!1,children:dl(to,{element:e,presets:r.image.imageBlockPresets})}),o]})}import{useSlateStatic as Yf}from"slate-react";import Xf from"@emotion/styled";var fl=Xf("span")`
|
|
873
873
|
display: inline;
|
|
874
|
-
`;import{jsx as
|
|
874
|
+
`;import{jsx as hl,jsxs as Jf}from"react/jsx-runtime";function gl({element:e,attributes:t,children:o}){let r=Yf();return Jf("span",{...t,style:{display:"inline-block"},children:[hl(fl,{contentEditable:!1,children:hl(to,{element:e,presets:r.image.imageInlinePresets})}),o]})}import{jsx as bl}from"react/jsx-runtime";function El({element:e,attributes:t,children:o}){switch(e.type){case"image-block":return bl(ul,{element:e,attributes:t,children:o});case"image-inline":return bl(gl,{element:e,attributes:t,children:o})}}function th(e){return t=>{let{dataTransfer:o}=t;if(!o.files||o.files.length===0)return!1;let r=Array.from(o.files).filter(a=>a.type.startsWith("image/"));if(r.length===0)return!1;t.preventDefault(),t.stopPropagation();let n=eh.findEventRange(e,t);n&&Zf.select(e,n);let i=e.wysimark?.onImageChange;for(let a of r)if(i)i(a).then(l=>{l&&e.image.insertImageFromUrl(l,a.name,"")}).catch(()=>{});else{let l=new FileReader;l.onload=()=>{let m=l.result;e.image.insertImageFromUrl(m,a.name,"")},l.readAsDataURL(a)}return!0}}var oh={maxInitialInlineImageSize:{width:64,height:64},maxInitialImageSize:{width:320,height:320},maxImageSize:{width:1024,height:1024},imageBlockPresets:[{name:"S",title:"Small",type:"bounds",width:160,height:160},{name:"M",title:"Medium",type:"bounds",width:320,height:320},{name:"L",title:"Large",type:"bounds",width:640,height:640},{name:"\u2153",title:"1/3 scale",type:"scale",scale:1/3},{name:"\xBD",title:"1/2 scale",type:"scale",scale:.5},{name:"Full",title:"Full size",type:"scale",scale:1}],imageInlinePresets:[{name:"16",title:"16 pixels",type:"bounds",width:16,height:16},{name:"24",title:"24 pixels",type:"bounds",width:24,height:24},{name:"32",title:"32 pixels",type:"bounds",width:32,height:32},{name:"\u2153",title:"1/3 scale",type:"scale",scale:1/3},{name:"\xBD",title:"1/2 scale",type:"scale",scale:.5},{name:"Full",title:"Full size",type:"scale",scale:1}]},xl=v((e,t,{createPolicy:o})=>{let r={...oh,...t.image};return e.image={...Ca(e),maxInitialInlineImageSize:r.maxInitialInlineImageSize,maxInitialImageSize:r.maxInitialImageSize,maxImageSize:r.maxImageSize,imageBlockPresets:r.imageBlockPresets,imageInlinePresets:r.imageInlinePresets},o({name:"image",editor:{isVoid:n=>{if(["image-block","image-inline"].includes(n.type))return!0},isInline:n=>{if(n.type==="image-inline")return!0},normalizeNode:f(Sa,e)},editableProps:{renderElement:El,onDrop:th(e)}})});import{Editor as xt,Element as j,Transforms as Ge}from"slate";import rh from"@emotion/styled";var yl=rh("blockquote")`
|
|
875
875
|
position: relative;
|
|
876
876
|
margin-top: 1em;
|
|
877
877
|
margin-bottom: 1em;
|
|
878
878
|
margin-left: 0;
|
|
879
879
|
border-left: 0.25em solid rgba(0, 0, 0, 0.075);
|
|
880
880
|
padding-left: 1.5em;
|
|
881
|
-
`;import{jsx as
|
|
882
|
-
`),a=i.join(""),l=
|
|
881
|
+
`;import{jsx as ih}from"react/jsx-runtime";function kl(e){return j.isElement(e)&&(e.type==="paragraph"||e.type==="code-block"||e.type==="table"||e.type==="horizontal-rule"||e.type==="task-list-item"||e.type==="unordered-list-item"||e.type==="ordered-list-item"||e.type==="heading")}var nh=2,vl=v(e=>(e.supportsBlockQuote=!0,e.blockQuotePlugin={indent:()=>{Ge.wrapNodes(e,{type:"block-quote",children:[]},{match:kl})},outdent:()=>{Ge.liftNodes(e,{match:(t,o)=>kl(t)&&o.length>1})},isActive:()=>{let[t]=xt.nodes(e,{match:o=>j.isElement(o)&&o.type==="block-quote"});return!!t},increaseDepth:()=>{let[t]=xt.nodes(e,{match:r=>j.isElement(r)&&r.type==="block-quote"});if(!t||!e.blockQuotePlugin.canIncreaseDepth())return;let[,o]=t;Ge.select(e,o),Ge.wrapNodes(e,{type:"block-quote",children:[]},{at:o,split:!1})},decreaseDepth:()=>{let[t]=xt.nodes(e,{match:i=>j.isElement(i)&&i.type==="block-quote"});if(!t||!e.blockQuotePlugin.canDecreaseDepth())return;let[o,r]=t,n=o.children;n.length===1&&j.isElement(n[0])&&n[0].type==="block-quote"&&Ge.unwrapNodes(e,{at:[...r,0],match:i=>j.isElement(i)&&i.type==="block-quote"})},canIncreaseDepth:()=>{let[t]=xt.nodes(e,{match:i=>j.isElement(i)&&i.type==="block-quote"});if(!t)return!1;let[o]=t,r=0,n=o;for(;n.children.length===1&&j.isElement(n.children[0])&&n.children[0].type==="block-quote";)r++,n=n.children[0];return r<nh},canDecreaseDepth:()=>{let[t]=xt.nodes(e,{match:r=>j.isElement(r)&&r.type==="block-quote"});if(!t)return!1;let[o]=t;return o.children.length===1&&j.isElement(o.children[0])&&o.children[0]&&o.children[0].type==="block-quote"}},{name:"block-quote",editor:{normalizeNode(t){let[o,r]=t;return!j.isElement(o)||o.type!=="block-quote"?!1:xe(e,[o,r],(n,i)=>(j.isElement(n[0])&&j.isElement(i[0])&&n[0].type==="block-quote"&&i[0].type==="block-quote"&&Ge.mergeNodes(e,{at:i[1]}),!0))}},editableProps:{renderElement:({element:t,attributes:o,children:r})=>{if(t.type==="block-quote")return ih(yl,{...o,children:r})},onKeyDown:H({"super+.":e.blockQuotePlugin.indent,"super+,":e.blockQuotePlugin.outdent})}}));import{Editor as kh,Element as vh,Transforms as Wl}from"slate";import ah from"prismjs";import{Element as mh,Node as ch}from"slate";var{languages:lh,tokenize:sh}=ah;function ph(e){let t=0,o=[];for(let r of e)o.push(t),t=t+r.length;return o}function Tl(e){let[t,o]=e;if(!mh.isElement(t))return[];if(t.type!=="code-block")return[];let r=lh[t.language];if(r===void 0)return[];let i=t.children.map(p=>`${ch.string(p)}
|
|
882
|
+
`),a=i.join(""),l=ph(i);function m(p){for(let u=l.length-1;u>=0;u--){let g=l[u];if(g<=p)return{path:[...o,u],offset:p-g}}throw new Error("This shouldn't happen and indicates a bug in the logic")}let s=[],c=sh(a,r),d=0;for(let p of c)if(typeof p=="string")d+=p.length;else{let u=m(d),g=m(d+p.length);s.push({anchor:u,focus:g,prismToken:p.type}),d+=p.length}return s}function wl(e,{language:t}){wi(e,{type:"code-block",language:t,children:[{type:"code-block-line",children:[{text:""}]}]})}import{Element as dh,Transforms as uh}from"slate";function Il(e,t,o={}){let r=x(e,n=>dh.isElement(n)&&n.type==="code-block",{at:o.at});return r?(uh.setNodes(e,{language:t},{at:r[1]}),!0):!1}function Ml(e){return{createCodeBlock:f(wl,e),setCodeBlockLanguage:f(Il,e)}}var oo={color:"#999988",fontStyle:"italic"},fh={opacity:"0.7"},Pl={color:"#e3116c"},Cl={color:"#393a34"},le={color:"#36acaa"},Zo={color:"#00a4db"},Sl={color:"#9a050f"},Rl={color:"#00009f"},er={fontWeight:"bold"},hh={fontStyle:"italic"},Ll={comment:oo,prolog:oo,doctype:oo,cdata:oo,namespace:fh,string:Pl,"attr-value":Pl,puncutation:Cl,operator:Cl,entity:le,url:le,symbol:le,number:le,boolean:le,variable:le,constant:le,property:le,regex:le,insert:le,atrule:Zo,keyword:Zo,"attr-name":Zo,function:{...Sl,...er},delete:Sl,tag:Rl,selector:Rl,important:er,bold:er,italic:hh};var Bl=["text","html","css","svg","javascript","java","c"];import{Element as tr,Node as or,Transforms as qe}from"slate";function Dl(e,t){if(!tr.isElement(t[0]))return!1;if(t[0].type==="code-block-line"){for(let[o,r]of or.children(e,t[1]))if(tr.isElement(o))return e.isVoid(o)?(qe.removeNodes(e,{at:r}),!0):(qe.unwrapNodes(e,{at:r}),!0)}if(t[0].type==="code-block"){for(let[o,r]of or.children(e,t[1]))if(tr.isElement(o)&&o.type!=="code-block-line")return o.type==="code-block"?(qe.unwrapNodes(e,{at:r}),!0):e.isVoid(o)?(qe.removeNodes(e,{at:r}),!0):(qe.removeNodes(e,{at:r}),qe.insertNodes(e,{type:"code-block-line",children:[{text:or.string(o)}]}),!0)}return!1}import{useCallback as gh,useRef as bh}from"react";import{useSelected as Eh}from"slate-react";import{jsx as zl}from"react/jsx-runtime";var $l=e=>zl(y,{...e,children:zl("path",{d:"m6 9 6 6 6-6"})});import ro from"@emotion/styled";var Nl=ro("div")`
|
|
883
883
|
position: relative;
|
|
884
884
|
background: var(--code-block-bgcolor);
|
|
885
885
|
margin: 1em 0;
|
|
@@ -898,11 +898,11 @@
|
|
|
898
898
|
* Otherwise they will be square.
|
|
899
899
|
*/
|
|
900
900
|
overflow-x: hidden;
|
|
901
|
-
`,
|
|
901
|
+
`,Hl=ro("div")`
|
|
902
902
|
padding: 2.25em 1em 1.5em 1em;
|
|
903
903
|
border-radius: 0.5em;
|
|
904
904
|
overflow-x: auto;
|
|
905
|
-
`,
|
|
905
|
+
`,Al=ro("span")`
|
|
906
906
|
cursor: pointer;
|
|
907
907
|
position: absolute;
|
|
908
908
|
top: 0.25em;
|
|
@@ -928,7 +928,7 @@
|
|
|
928
928
|
color: var(--shade-800);
|
|
929
929
|
background: var(--shade-300);
|
|
930
930
|
}
|
|
931
|
-
`,
|
|
931
|
+
`,Ol=ro("div")`
|
|
932
932
|
white-space: pre;
|
|
933
933
|
line-height: 1.5em;
|
|
934
934
|
counter-increment: line;
|
|
@@ -951,7 +951,7 @@
|
|
|
951
951
|
display: inline-block;
|
|
952
952
|
width: 2em;
|
|
953
953
|
} */
|
|
954
|
-
`;import{jsx as yt,jsxs as
|
|
954
|
+
`;import{jsx as yt,jsxs as Ul}from"react/jsx-runtime";function Fl({element:e,attributes:t,children:o}){let r=bh(null),n=Eh(),i=O("code-block-dropdown"),a=gh(()=>{i.layer&&i.close();let l=r.current;if(l===null)return;let m=Bl.map(s=>({icon:()=>yt("span",{}),title:s,action:c=>{c.codeBlock.setCodeBlockLanguage(s,{at:e})}}));i.open(()=>yt(Ve,{dest:l,items:m,close:i.close}))},[e]);return Ul(Nl,{className:n?"--selected":"",...t,children:[Ul(Al,{contentEditable:!1,onClick:a,ref:r,children:[yt("span",{children:e.language}),yt($l,{})]}),yt(Hl,{children:o})]})}import{useSelected as xh}from"slate-react";import{jsx as yh}from"react/jsx-runtime";function Vl({attributes:e,children:t}){let o=xh();return yh(Ol,{className:o?"--selected":"",...e,spellCheck:"false",children:t})}import{jsx as Kl}from"react/jsx-runtime";function _l({element:e,attributes:t,children:o}){if(e.type==="code-block")return Kl(Fl,{element:e,attributes:t,children:o});if(e.type==="code-block-line")return Kl(Vl,{element:e,attributes:t,children:o})}import{Fragment as Th,jsx as Gl}from"react/jsx-runtime";var ql=v((e,t,{createPolicy:o})=>{e.codeBlock=Ml(e);function r(){let{selection:n}=e;if(!me(n))return!1;let i=x(e,"code-block");return i==null?!1:kh.string(e,i[1])===""?(Wl.removeNodes(e,{at:i[1]}),!0):!1}return o({name:"code-block",editor:{deleteBackward:r,deleteForward:r,isInline(n){if(n.type==="code-block"||n.type==="code-block-line")return!1},isVoid(n){if(n.type==="code-block"||n.type==="code-block-line")return!1},isMaster(n){if(n.type==="code-block")return!0},normalizeNode:f(Dl,e)},editableProps:{decorate:Tl,onKeyDown:H({"super+`":()=>e.codeBlock.createCodeBlock({language:"text"}),"mod+a":()=>{let n=x(e,i=>vh.isElement(i)&&i.type==="code-block");return n?(Wl.select(e,n[1]),!0):!1}}),renderElement:_l,renderLeaf:({leaf:n,children:i})=>{let a=n.prismToken&&Ll[n.prismToken]||null;return a===null?Gl(Th,{children:i}):Gl("span",{style:a,children:i})}}})});import{Transforms as Ih}from"slate";import Ql from"@emotion/styled";var jl=Ql("div")`
|
|
955
955
|
position: relative;
|
|
956
956
|
background-color: var(--shade-100);
|
|
957
957
|
border: 1px solid var(--shade-300);
|
|
@@ -969,7 +969,7 @@
|
|
|
969
969
|
&.--selected {
|
|
970
970
|
outline: 2px solid var(--select-color);
|
|
971
971
|
}
|
|
972
|
-
`,
|
|
972
|
+
`,Xl=Ql("span")`
|
|
973
973
|
position: absolute;
|
|
974
974
|
top: 0.25em;
|
|
975
975
|
right: 0.5em;
|
|
@@ -977,7 +977,7 @@
|
|
|
977
977
|
color: var(--shade-500);
|
|
978
978
|
text-transform: uppercase;
|
|
979
979
|
letter-spacing: 0.5px;
|
|
980
|
-
`;import{jsx as
|
|
980
|
+
`;import{jsx as Yl,jsxs as wh}from"react/jsx-runtime";function Jl({attributes:e,children:t,element:o}){return wh(jl,{...e,contentEditable:!1,children:[Yl(Xl,{children:"HTML"}),Yl("div",{children:at(o.html)}),t]})}import{jsx as Mh}from"react/jsx-runtime";var Zl=v((e,t,{createPolicy:o})=>{function r(){let{selection:n}=e;if(!me(n))return!1;let i=x(e,"html-block");return i==null?!1:(Ih.removeNodes(e,{at:i[1]}),!0)}return o({name:"html-block",editor:{deleteBackward:r,deleteForward:r,isInline(n){if(n.type==="html-block")return!1},isVoid(n){if(n.type==="html-block")return!0},isMaster(n){if(n.type==="html-block")return!0}},editableProps:{renderElement:({element:n,attributes:i,children:a})=>{if(n.type==="html-block")return Mh(Jl,{element:n,attributes:i,children:a})}}})});import{Element as Lh}from"slate";import{Element as Ph,Transforms as Ch}from"slate";function es(e){return Ph.isElement(e)&&e.type==="paragraph"}function ts(e,t){return xe(e,t,(o,r)=>!es(o[0])||!es(r[0])?!1:o[0].__collapsible&&r[0].__collapsible?(Ch.removeNodes(e,{at:o[1]}),!0):!1)}import{Element as Sh,Transforms as Rh}from"slate";function rr(e,t){return Sh.isElement(t)?e.isVoid(t)||e.isMaster(t):!1}function os(e,t){return rr(e,t[0])?xe(e,t,(o,r)=>!rr(e,o[0])||!rr(e,r[0])?!1:(Rh.insertNodes(e,{type:"paragraph",__collapsible:!0,children:[{text:""}]},{at:r[1]}),!0)):!1}function rs(e,t){let[o,r]=t;return Lh.isElement(o)?!!(os(e,[o,r])||ts(e,[o,r])):!1}import{clsx as zh}from"clsx";import{useSelected as $h}from"slate-react";import Bh from"@emotion/styled";var ns=Bh("p")`
|
|
981
981
|
padding: 0;
|
|
982
982
|
margin: 0;
|
|
983
983
|
&:first-of-type {
|
|
@@ -1011,41 +1011,41 @@
|
|
|
1011
1011
|
}
|
|
1012
1012
|
border-radius: 8px;
|
|
1013
1013
|
}
|
|
1014
|
-
`;import{Node as
|
|
1015
|
-
`)},e.convertElement.addConvertElementType("paragraph"),e.collapsibleParagraph={convertParagraph:()=>{e.convertElement.convertElements(()=>!1,{type:"paragraph"},!1)}},!e.normalizeAfterDelete)throw new Error("The collapsible-paragraph-plugin has a dependency on the normalize-after-delete plugin. Please add that plugin before this one.");return{name:"collapsible-paragraph",editor:{normalizeNode:f(
|
|
1016
|
-
`)}function
|
|
1017
|
-
`),a=W.start(e,o),l=W.end(e,o),m=Qe.isBefore(r.anchor,a)?a:Qe.isAfter(r.anchor,l)?l:r.anchor,s=Qe.isBefore(r.focus,a)?a:Qe.isAfter(r.focus,l)?l:r.focus,c=Math.min(W.string(e,{anchor:a,focus:m}).length,n.length),
|
|
1014
|
+
`;import{Node as Dh}from"slate";function is(e){return e.children.length===1&&Dh.string(e.children[0]).length===0}import{jsx as Nh}from"react/jsx-runtime";function as({element:e,attributes:t,children:o}){let r=$h(),n=is(e);return Nh(ns,{...t,className:zh({"--selected":r,"--empty":n,"--collapsible":!!e.__collapsible}),children:o})}import{jsx as Hh}from"react/jsx-runtime";var ls=v(e=>{let{insertBreak:t}=e;if(e.insertBreak=()=>{t()},e.insertSoftBreak=()=>{e.insertText(`
|
|
1015
|
+
`)},e.convertElement.addConvertElementType("paragraph"),e.collapsibleParagraph={convertParagraph:()=>{e.convertElement.convertElements(()=>!1,{type:"paragraph"},!1)}},!e.normalizeAfterDelete)throw new Error("The collapsible-paragraph-plugin has a dependency on the normalize-after-delete plugin. Please add that plugin before this one.");return{name:"collapsible-paragraph",editor:{normalizeNode:f(rs,e)},editableProps:{renderElement:({element:o,attributes:r,children:n})=>{if(o.type==="paragraph")return Hh(as,{element:o,attributes:r,children:n})},onKeyDown:o=>o.key==="Enter"&&!o.nativeEvent.isComposing?(o.preventDefault(),o.shiftKey?e.insertSoftBreak():e.insertBreak(),!0):H({"super+0":e.collapsibleParagraph.convertParagraph})(o)}}});function ss(e,t){Array.isArray(t)?e.convertElement.convertElementTypes.push(...t):e.convertElement.convertElementTypes.push(t)}import{Editor as W,Element as no,Node as ne,Point as Qe,Range as Ah,Transforms as Re}from"slate";function ms(e,t,o){try{let r=W.start(e,o),n=W.end(e,o);if(Qe.isBefore(t,r)||Qe.isAfter(t,n))return-1;let i={anchor:r,focus:t};return W.string(e,i).length}catch{return-1}}function cs(e,t,o){try{let r=ne.get(e,t);if(!no.isElement(r))return;let n=ne.string(r),i=Math.min(o,n.length),a=W.start(e,t),l=0,m=a.path,s=0;for(let[d,p]of ne.texts(r)){let u=d.text.length;if(l+u>=i){m=[...t,...p],s=i-l;break}l+=u}let c={path:m,offset:s};Re.select(e,{anchor:c,focus:c})}catch{}}function Oh(e){return ne.string(e).includes(`
|
|
1016
|
+
`)}function Uh(e,t,o,r){let n=ne.string(t),i=n.split(`
|
|
1017
|
+
`),a=W.start(e,o),l=W.end(e,o),m=Qe.isBefore(r.anchor,a)?a:Qe.isAfter(r.anchor,l)?l:r.anchor,s=Qe.isBefore(r.focus,a)?a:Qe.isAfter(r.focus,l)?l:r.focus,c=Math.min(W.string(e,{anchor:a,focus:m}).length,n.length),d=Math.min(W.string(e,{anchor:a,focus:s}).length,n.length),p=Math.min(c,d),u=Math.max(c,d),g=0,T=0,S=i.length-1;for(let L=0;L<i.length;L++){let M=g+i[L].length;if(g<=p&&p<=M&&(T=L),g<=u&&u<=M){S=L;break}g=M+1}return{startLineIndex:T,endLineIndex:S}}function Fh(e,t,o,r){let n=ne.string(t);if(!n.includes(`
|
|
1018
1018
|
`))return o;let i=n.split(`
|
|
1019
|
-
`);if(i.length<=1)return o;let{startLineIndex:a,endLineIndex:l}=
|
|
1020
|
-
`),
|
|
1021
|
-
`)},{at:[...o,0]});let
|
|
1022
|
-
`)}]};Re.insertNodes(e,
|
|
1023
|
-
`)},{at:[...o,0]})}),m.length>0?[...o.slice(0,-1),o[o.length-1]+1]:o)}function
|
|
1019
|
+
`);if(i.length<=1)return o;let{startLineIndex:a,endLineIndex:l}=Uh(e,t,o,r),m=i.slice(0,a),s=i.slice(a,l+1),c=i.slice(l+1);return m.length===0&&c.length===0?o:(W.withoutNormalizing(e,()=>{let d=o.slice(0,-1),p=o[o.length-1];if(c.length>0){let g=c.join(`
|
|
1020
|
+
`),T={...t,children:[{text:g}]};Re.insertNodes(e,T,{at:[...d,p+1]})}let u=t.children.length;for(let g=u-1;g>=0;g--)Re.removeNodes(e,{at:[...o,g]});if(m.length>0){Re.insertNodes(e,{text:m.join(`
|
|
1021
|
+
`)},{at:[...o,0]});let T={type:"paragraph",children:[{text:s.join(`
|
|
1022
|
+
`)}]};Re.insertNodes(e,T,{at:[...d,p+1]})}else Re.insertNodes(e,{text:s.join(`
|
|
1023
|
+
`)},{at:[...o,0]})}),m.length>0?[...o.slice(0,-1),o[o.length-1]+1]:o)}function ps(e,t,o,r){let{selection:n}=e;if(!n)return!1;let i=-1,a=-1,l=Ah.isCollapsed(n),m=Array.from(W.nodes(e,{match:p=>no.isElement(p)&&e.convertElement.isConvertibleElement(p)}));if(m.length>0){let[,p]=m[0];i=ms(e,n.anchor,p),a=ms(e,n.focus,p)}if(m.length===0)return!1;let s=[];W.withoutNormalizing(e,()=>{for(let p=m.length-1;p>=0;p--){let[u,g]=m[p];if(Oh(u)){let T=Fh(e,u,g,n);s.unshift(T)}else s.unshift(g)}});let c=s.map(p=>{try{let u=ne.get(e,p);return no.isElement(u)?[u,p]:null}catch{return null}}).filter(p=>p!==null);if(c.length===0)return!1;if(r&&c.every(p=>t(p[0]))?W.withoutNormalizing(e,()=>{for(let p of c)ft(e,{type:"paragraph"},p[1])}):W.withoutNormalizing(e,()=>{for(let p of c)ft(e,o,p[1])}),c.length>0&&i>=0){let[,p]=c[0];if(l)cs(e,p,i);else if(a>=0)try{let u=ne.get(e,p);if(no.isElement(u)){let g=ne.string(u),T=Math.min(i,g.length),S=Math.min(a,g.length),L=W.start(e,p),M=L.path,$=T,w=0;for(let[E,k]of ne.texts(u)){let P=E.text.length;if(w+P>=T){M=[...p,...k],$=T-w;break}w+=P}let B=L.path,I=S;w=0;for(let[E,k]of ne.texts(u)){let P=E.text.length;if(w+P>=S){B=[...p,...k],I=S-w;break}w+=P}Re.select(e,{anchor:{path:M,offset:$},focus:{path:B,offset:I}})}}catch{cs(e,p,i)}}return!0}function ds(e,t){return e.convertElement.convertElementTypes.includes(t.type)}function us(e){return{convertElementTypes:[],addConvertElementType:f(ss,e),isConvertibleElement:f(ds,e),convertElements:f(ps,e)}}var fs=v(e=>(e.convertElement=us(e),{name:"convert-element"}));import{Editor as nr,Path as Vh,Range as Kh,Transforms as hs}from"slate";function gs(e){let t=x(e,"heading");if(!t||!e.selection||Kh.isExpanded(e.selection)||!nr.isEnd(e,e.selection.anchor,t[1]))return!1;let o=Vh.next(t[1]);return hs.insertNodes(e,{type:"paragraph",children:[{text:""}]},{at:o}),hs.select(e,{anchor:nr.start(e,o),focus:nr.start(e,o)}),!0}import{Editor as _h}from"slate";function Wh(e,t,o){e.convertElement.convertElements(r=>r.type==="heading"&&r.level==t,{type:"heading",level:t},o)}function Gh(e,t){let[o]=_h.nodes(e,{match:r=>"type"in r&&"level"in r&&r.type==="heading"&&r.level===t});return!!o}function bs(e){return{convertHeading:f(Wh,e),isHeadingActive:f(Gh,e)}}import{css as qh}from"@emotion/react";import je from"@emotion/styled";var Xe=qh`
|
|
1024
1024
|
margin-top: 1em;
|
|
1025
1025
|
&:first-of-type {
|
|
1026
1026
|
margin-top: 0;
|
|
1027
1027
|
}
|
|
1028
1028
|
font-weight: bold;
|
|
1029
|
-
`,
|
|
1029
|
+
`,Es=je("h1")`
|
|
1030
1030
|
${Xe}
|
|
1031
1031
|
font-size: 2.25em;
|
|
1032
1032
|
letter-spacing: -0.01em;
|
|
1033
|
-
`,
|
|
1033
|
+
`,xs=je("h2")`
|
|
1034
1034
|
${Xe}
|
|
1035
1035
|
font-size: 1.5em;
|
|
1036
|
-
`,
|
|
1036
|
+
`,ys=je("h3")`
|
|
1037
1037
|
${Xe}
|
|
1038
1038
|
font-size: 1.25em;
|
|
1039
|
-
`,
|
|
1039
|
+
`,ks=je("h4")`
|
|
1040
1040
|
${Xe}
|
|
1041
1041
|
font-size: 1em;
|
|
1042
|
-
`,
|
|
1042
|
+
`,vs=je("h5")`
|
|
1043
1043
|
${Xe}
|
|
1044
1044
|
font-size: 1em;
|
|
1045
|
-
`,
|
|
1045
|
+
`,Ts=je("h6")`
|
|
1046
1046
|
${Xe}
|
|
1047
1047
|
font-size: 1em;
|
|
1048
|
-
`;import{jsx as Ye}from"react/jsx-runtime";var
|
|
1048
|
+
`;import{jsx as Ye}from"react/jsx-runtime";var ws=v(e=>{e.convertElement.addConvertElementType("heading"),e.heading=bs(e);let t=H({"super+1":q(e.heading.convertHeading,1,!0),"super+2":q(e.heading.convertHeading,2,!0),"super+3":q(e.heading.convertHeading,3,!0),"super+4":q(e.heading.convertHeading,4,!0),"super+5":q(e.heading.convertHeading,5,!0),"super+6":q(e.heading.convertHeading,6,!0)}),o=hi(e,{"#":q(e.heading.convertHeading,1,!1),"##":q(e.heading.convertHeading,2,!1),"###":q(e.heading.convertHeading,3,!1),"####":q(e.heading.convertHeading,4,!1),"#####":q(e.heading.convertHeading,5,!1),"######":q(e.heading.convertHeading,6,!1)});return{name:"heading",editor:{insertBreak:f(gs,e)},editableProps:{renderElement:({element:r,attributes:n,children:i})=>{if(r.type==="heading")switch(r.level){case 1:return Ye(Es,{...n,children:i});case 2:return Ye(xs,{...n,children:i});case 3:return Ye(ys,{...n,children:i});case 4:return Ye(ks,{...n,children:i});case 5:return Ye(vs,{...n,children:i});case 6:return Ye(Ts,{...n,children:i});default:{let a=r.level;throw new Error(`Expected element.level to be 1-6 but got ${a}`)}}},onKeyDown:r=>!!(t(r)||o(r))}}});import{useSelected as jh}from"slate-react";import Qh from"@emotion/styled";var Is=Qh("hr")`
|
|
1049
1049
|
position: relative;
|
|
1050
1050
|
height: 1em;
|
|
1051
1051
|
/* background-color: var(--hr-color); */
|
|
@@ -1075,7 +1075,7 @@
|
|
|
1075
1075
|
outline: 2px solid var(--select-color, blue);
|
|
1076
1076
|
}
|
|
1077
1077
|
}
|
|
1078
|
-
`;import{jsx as
|
|
1078
|
+
`;import{jsx as Ms,jsxs as Xh}from"react/jsx-runtime";function Ps({attributes:e,children:t}){let o=jh();return Xh("div",{...e,draggable:!0,children:[t,Ms("div",{contentEditable:!1,children:Ms(Is,{className:o?"--selected":""})})]})}import{Editor as ir,Element as Yh,Path as Cs,Transforms as io}from"slate";function Jh(e){let{selection:t}=e;if(!t)return!1;let o=x(e,i=>Yh.isElement(i)&&e.isMaster(i)),r={type:"horizontal-rule",children:[{text:""}]},n={type:"paragraph",children:[{text:""}]};if(o==null)ir.withoutNormalizing(e,()=>{io.insertNodes(e,[r,n]),io.move(e)});else{let i=Cs.next(o[1]);ir.withoutNormalizing(e,()=>{io.insertNodes(e,[r,n],{at:i});let a=Cs.next(i);io.select(e,ir.start(e,a))})}return!0}function Ss(e){return{insertHorizontalRule:f(Jh,e)}}import{jsx as Zh}from"react/jsx-runtime";var Rs=v((e,t,{createPolicy:o})=>(e.horizontalRule=Ss(e),o({name:"horizontal-rule",editor:{isVoid(r){if(r.type==="horizontal-rule")return!0}},editableProps:{renderElement:r=>{if(r.element.type==="horizontal-rule")return Zh(Ps,{...r})},onKeyDown:H({"super+-":e.horizontalRule.insertHorizontalRule})}})));import Ls from"@emotion/styled";var Bs=Ls("code")`
|
|
1079
1079
|
color: var(--shade-600);
|
|
1080
1080
|
background-color: var(--inline-code-bgcolor);
|
|
1081
1081
|
border: 1px solid var(--inline-code-border-color);
|
|
@@ -1096,16 +1096,16 @@
|
|
|
1096
1096
|
*/
|
|
1097
1097
|
font-size: 0.75em;
|
|
1098
1098
|
vertical-align: baseline;
|
|
1099
|
-
`,
|
|
1099
|
+
`,ar=Ls("span")`
|
|
1100
1100
|
display: inline-block;
|
|
1101
1101
|
opacity: 0;
|
|
1102
1102
|
width: 1px;
|
|
1103
1103
|
overflow: hidden;
|
|
1104
|
-
`;import{jsx as
|
|
1104
|
+
`;import{jsx as Ds,jsxs as eg}from"react/jsx-runtime";var zs=v(e=>{if(!e.marksPlugin)throw new Error("InlineCodePlugin has a dependency on the MarksPlugin but the MarksPlugin has not been added or is added after the InlineCodePlugin");return e.inlineCode={toggleInlineCode:()=>e.marksPlugin.toggleMark("code")},{name:"inline-code",editableProps:{renderLeaf:({leaf:t,children:o})=>t.code?eg(Bs,{spellCheck:!1,children:[Ds(ar,{contentEditable:!1,children:"|"}),o,Ds(ar,{contentEditable:!1,children:"|"})]}):o,onKeyDown:H({"mod+j":()=>e.inlineCode.toggleInlineCode()})}}});import{Editor as bg,Transforms as Eg}from"slate";function $s(e,t){return e.convertElement.convertElements(o=>o.type==="ordered-list-item",o=>({type:"ordered-list-item",depth:"depth"in o?o.depth:0}),t)}function Ns(e,t){return e.convertElement.convertElements(o=>o.type==="task-list-item",o=>({type:"task-list-item",checked:"checked"in o?o.checked:!1,depth:"depth"in o?o.depth:0}),t)}function Hs(e,t){return e.convertElement.convertElements(o=>o.type==="unordered-list-item",o=>({type:"unordered-list-item",depth:"depth"in o?o.depth:0}),t)}var tg=2;function ao(e){let t=x(e,N);return t?t[0].depth:0}function lr(e){return Pe(e,N)?ao(e)<tg:!1}function sr(e){return Pe(e,N)?ao(e)>0:!1}function As(e){lr(e)&&e.list.indent()}function Os(e){sr(e)&&e.list.outdent()}function Us(e){return $t(e,t=>({depth:t.depth+1}),{match:N})}import{Editor as og,Transforms as mr}from"slate";function Fs(e){let t=x(e,N);if(!t)return!1;let[o,r]=t;if(og.isEmpty(e,o))return o.depth>0?(mr.setNodes(e,{depth:o.depth-1},{at:r}),!0):(ft(e,{type:"paragraph"},r),!0);mr.splitNodes(e,{always:!0});let n=x(e,N);return n&&n[0].type==="task-list-item"&&n[0].checked===!0&&mr.setNodes(e,{checked:!1},{at:n[1]}),!0}import{Editor as rg}from"slate";function Vs(e){let t=Array.from(rg.nodes(e,{match:N}));for(let o of t)if(o[0].depth===0)return!0;return $t(e,o=>({depth:Math.max(0,o.depth-1)}),{match:N})}import{Transforms as ng}from"slate";function Ks(e,{at:t=e.selection}={}){let o=x(e,"task-list-item",{at:t});if(!o)return!1;let r=!o[0].checked;return ng.setNodes(e,{checked:r},{at:o[1]}),!0}function _s(e){return{indent:f(Us,e),outdent:f(Vs,e),convertUnorderedList:f(Hs,e),convertOrderedList:f($s,e),convertTaskList:f(Ns,e),insertBreak:f(Fs,e),toggleTaskListItem:f(Ks,e),getListDepth:f(ao,e),canIncreaseDepth:f(lr,e),canDecreaseDepth:f(sr,e),increaseDepth:f(As,e),decreaseDepth:f(Os,e)}}import{Element as ig,Transforms as ag}from"slate";var Ws=zt(["ordered-list-item"]);function lo(e,t){let[o,r]=t;return ig.isElement(o)?xe(e,[o,r],(n,i)=>{if(!Ws(i[0]))return!1;let a=Ws(n[0])||N(n[0])?i[0].depth>n[0].depth:!0;return i[0].__firstAtDepth!==a?(ag.setNodes(e,{__firstAtDepth:a},{at:i[1]}),!0):!1}):!1}function Gs(e,t){let[o]=t;return N(o)?lo(e,t):!1}import{clsx as sg}from"clsx";import{useEffect as mg}from"react";import{ReactEditor as cg,useSlateStatic as pg}from"slate-react";import so from"@emotion/styled";var cr=so("li")`
|
|
1105
1105
|
margin-top: 0.5em;
|
|
1106
1106
|
margin-bottom: 0.5em;
|
|
1107
1107
|
list-style-position: outside;
|
|
1108
|
-
`,
|
|
1108
|
+
`,qs=so(cr)`
|
|
1109
1109
|
position: relative;
|
|
1110
1110
|
list-style-type: none;
|
|
1111
1111
|
.--list-item-icon {
|
|
@@ -1115,7 +1115,7 @@
|
|
|
1115
1115
|
line-height: 1.5em;
|
|
1116
1116
|
color: var(--shade-600);
|
|
1117
1117
|
}
|
|
1118
|
-
`,
|
|
1118
|
+
`,Qs=so(cr)`
|
|
1119
1119
|
position: relative;
|
|
1120
1120
|
list-style-type: none;
|
|
1121
1121
|
counter-increment: var(--list-item-var);
|
|
@@ -1140,7 +1140,7 @@
|
|
|
1140
1140
|
/* force numbers to be monospaced for better alignment */
|
|
1141
1141
|
font-variant-numeric: tabular-nums;
|
|
1142
1142
|
}
|
|
1143
|
-
`,
|
|
1143
|
+
`,js=so(cr)`
|
|
1144
1144
|
position: relative;
|
|
1145
1145
|
list-style-type: none;
|
|
1146
1146
|
.--list-item-icon {
|
|
@@ -1154,7 +1154,7 @@
|
|
|
1154
1154
|
stroke-width: 3px;
|
|
1155
1155
|
}
|
|
1156
1156
|
}
|
|
1157
|
-
`;import{jsx as
|
|
1157
|
+
`;import{jsx as dg}from"react/jsx-runtime";function Xs({element:e,attributes:t,children:o}){let r=pg();mg(()=>{let a=cg.findPath(r,e);lo(r,[e,a])},[]);let n={marginLeft:`${2+e.depth*2}em`,"--list-item-var":`list-item-depth-${e.depth}`},i=sg({"--first-at-depth":e.__firstAtDepth});return dg(Qs,{...t,className:i,style:n,children:o})}import{useCallback as ug}from"react";import{useSlateStatic as fg}from"slate-react";import{jsx as Le,jsxs as em}from"react/jsx-runtime";var Ys=e=>em("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",strokeWidth:2,stroke:"currentColor",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",viewBox:"0 0 24 24",...e,children:[Le("path",{d:"M0 0h24v24H0z",stroke:"none"}),Le("rect",{x:4,y:4,width:16,height:16,rx:2})]}),Js=e=>em("svg",{xmlns:"http://www.w3.org/2000/svg",className:"icon icon-tabler icon-tabler-checkbox",width:"1em",height:"1em",strokeWidth:2,stroke:"currentColor",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",viewBox:"0 0 24 24",...e,children:[Le("path",{d:"M0 0h24v24H0z",stroke:"none"}),Le("path",{d:"m9 11 3 3 8-8",className:"--checkmark"}),Le("path",{d:"M20 12v6a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h9"})]}),Zs=e=>Le("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",width:"1em",height:"1em",...e,children:Le("path",{d:"M12 8.25a3.75 3.75 0 1 0 0 7.5 3.75 3.75 0 0 0 0-7.5z"})});import{jsx as pr,jsxs as hg}from"react/jsx-runtime";function tm({element:e,attributes:t,children:o}){let r=fg(),n=ug(()=>{r.list.toggleTaskListItem({at:e})},[r,e]),i=`${2+e.depth*2}em`;return hg(js,{...t,style:{marginLeft:i},children:[pr("div",{className:"--list-item-icon",contentEditable:!1,children:e.checked?pr(Js,{onClick:n,style:{cursor:"pointer"}}):pr(Ys,{onClick:n,style:{cursor:"pointer"}})}),o]})}import{jsx as om,jsxs as gg}from"react/jsx-runtime";function rm({element:e,attributes:t,children:o}){let r=`${2+e.depth*2}em`;return gg(qs,{...t,style:{marginLeft:r},children:[om("div",{className:"--list-item-icon",contentEditable:!1,children:om(Zs,{})}),o]})}import{jsx as dr}from"react/jsx-runtime";function nm({element:e,attributes:t,children:o}){switch(e.type){case"ordered-list-item":return dr(Xs,{element:e,attributes:t,children:o});case"unordered-list-item":return dr(rm,{element:e,attributes:t,children:o});case"task-list-item":return dr(tm,{element:e,attributes:t,children:o})}}var im=["unordered-list-item","ordered-list-item","task-list-item"],N=zt(im),am=v((e,t,{createPolicy:o})=>{e.convertElement.addConvertElementType(im);let r=e.list=_s(e),n=H({tab:r.indent,"shift+tab":r.outdent,"super+7":f(r.convertOrderedList,!0),"super+8":f(r.convertUnorderedList,!0),"super+9":f(r.convertTaskList,!0)});return o({name:"list",editor:{normalizeNode:i=>Gs(e,i),insertBreak:r.insertBreak,deleteBackward:i=>{if(i!=="character"||!Pe(e,N))return!1;let a=x(e,N);if(!a)return!1;let[l,m]=a;return l.depth>0?(Eg.setNodes(e,{depth:l.depth-1},{at:m}),!0):(e.collapsibleParagraph.convertParagraph(),!0)}},editableProps:{renderElement:nm,onKeyDown(i){return bg.nodes(e,{match:N})?n(i):!1}}})});import{clsx as wg}from"clsx";import{Editor as ur,Range as Ig}from"slate";import{Editor as xg,Text as lm,Transforms as yg}from"slate";function sm(e,{at:t=e.selection}={}){if(t==null)return;let o=[...xg.nodes(e,{match:n=>lm.isText(n),at:t})],r={};for(let[n]of o)for(let i of Object.keys(n))i!=="text"&&(r[i]=null);yg.setNodes(e,r,{match:n=>lm.isText(n),split:!0,at:t})}import{Editor as Be,Point as kg,Range as vg}from"slate";function De(e,t,o,{at:r=e.selection}={}){if(r==null)return;let n=vg.isRange(r)?r.focus:r,i=kg.isPoint(n)&&(Be.after(e,n)===null||Be.isEnd(e,n,Be.end(e,[]))),a=t,m=(Be.marks(e)||{})[a]===!0;if(i)if(!m)e.activeMarks={...e.activeMarks,[a]:!0};else{let{[a]:s,...c}=e.activeMarks||{};e.activeMarks=c}m?Be.removeMark(e,a):Be.addMark(e,a,!0),typeof o=="string"&&Be.removeMark(e,o)}function mm(e){return{removeMarks:f(sm,e),toggleMark:f(De,e),toggleBold:()=>De(e,"bold"),toggleItalic:()=>De(e,"italic"),toggleUnderline:()=>De(e,"underline"),toggleStrike:()=>De(e,"strike"),toggleHighlight:()=>De(e,"highlight")}}import Tg from"@emotion/styled";var cm=Tg("span")`
|
|
1158
1158
|
&.--bold {
|
|
1159
1159
|
font-weight: bold;
|
|
1160
1160
|
}
|
|
@@ -1177,7 +1177,7 @@
|
|
|
1177
1177
|
&.--highlight {
|
|
1178
1178
|
background-color: #ffff00;
|
|
1179
1179
|
}
|
|
1180
|
-
`;import{jsx as
|
|
1180
|
+
`;import{jsx as Mg}from"react/jsx-runtime";var pm=v(e=>{e.marksPlugin=mm(e),e.activeMarks={};let t=H({"mod+b":e.marksPlugin.toggleBold,"mod+i":e.marksPlugin.toggleItalic,"mod+u":e.marksPlugin.toggleUnderline,"super+0":e.marksPlugin.removeMarks,"super+k":e.marksPlugin.toggleStrike,"mod+h":e.marksPlugin.toggleHighlight}),{insertText:o}=e;e.insertText=n=>{if(e.activeMarks&&Object.keys(e.activeMarks).length>0){let{activeMarks:i}=e;Object.entries(i).forEach(([a,l])=>{l&&e.addMark(a,!0)})}o(n)};let{removeMarks:r}=e.marksPlugin;return e.marksPlugin.removeMarks=()=>{if(r(),e.selection&&Ig.isRange(e.selection)){let n=e.selection.focus;(ur.after(e,n)===null||ur.isEnd(e,n,ur.end(e,[])))&&(e.activeMarks={})}},{name:"marks",editableProps:{renderLeaf:({leaf:n,children:i})=>Mg(cm,{className:wg({"--bold":n.bold,"--italic":n.italic,"--underline":n.underline,"--strike":n.strike,"--highlight":n.highlight}),children:i}),onKeyDown:n=>!!t(n)}}});import{Editor as kt,Point as dm}from"slate";function um(e){if(!e.selection)return;let t=kt.parent(e,e.selection);Ei(e,t[1])}var fm=v(e=>(e.normalizeAfterDelete=!0,{name:"normalize-after-delete",editor:{deleteBackward(){if(!e.selection)return!1;let t=kt.parent(e,e.selection);return dm.equals(kt.start(e,t[1]),e.selection.anchor)?function(){um(e)}:!1},deleteForward(){if(!e.selection)return!1;let t=kt.parent(e,e.selection);return dm.equals(kt.end(e,t[1]),e.selection.anchor)?function(){um(e)}:!1}},editableProps:{}}));import{Element as ub}from"slate";import{Editor as gm,Path as Sg,Transforms as bm}from"slate";import{Editor as Pg,Path as Cg}from"slate";function hm(e,t,o){let r=[...Pg.positions(e,{at:t})],n=[],i,a,l;i=a=r[0],l=Ue(e,o,{at:i});for(let s of r){let c=Ue(e,o,{at:s});if(l&&c&&Cg.equals(l,c)||l==null&&c==null)a=s;else{let d={anchor:i,focus:a};n.push(d),i=a=s,l=c}}let m={anchor:i,focus:a};return n.push(m),n.reverse(),n}function Em(e,t){if(e.selection==null)return!1;let[o,r]=gm.edges(e,e.selection),n=Ue(e,t,{at:o}),i=Ue(e,t,{at:r});if(!n&&!i||n&&i&&Sg.equals(n,i))return!1;let a=hm(e,e.selection,t);return gm.withoutNormalizing(e,()=>{for(let l of a)bm.delete(e,{at:l});bm.collapse(e,{edge:"start"})}),!0}import{Transforms as Gg}from"slate";function z(e,{at:t=e.selection}={}){if(t==null)return;let o=x(e,"table-cell",{at:t});if(!o)return;let r=x(e,"table-row",{at:t});if(!r)return;let n=x(e,"table",{at:t});if(!n)return;let[i,a]=n,[l,m]=r,[s,c]=o;return{tableElement:i,tablePath:a,tableColumns:i.columns,rowElement:l,rowPath:m,rowIndex:m.slice(-1)[0],rowCount:i.children.length,cellElement:s,cellPath:c,cellIndex:c.slice(-1)[0],cellCount:l.children.length}}import{Editor as Rg,Transforms as xm}from"slate";function Je(e,t=[{type:"table-content",children:[{text:""}]}]){return{type:"table-cell",children:t}}function ym(e,{offset:t=0,at:o=e.selection}={}){let r=z(e,{at:o});if(r===void 0)return!1;let{tableElement:n,tablePath:i,cellIndex:a}=r,l=a+t;return Rg.withoutNormalizing(e,()=>{let{columns:m}=n,s=[...m],c=Math.min(l,m.length-1);s.splice(l,0,m[c]),xm.setNodes(e,{columns:s},{at:i}),n.children.forEach((d,p)=>{xm.insertNodes(e,Je(l),{at:[...i,p,l]})})}),!0}import{Transforms as Lg}from"slate";function Bg(e){return{type:"table-row",children:[...Array(e).keys()].map(t=>Je(t))}}function fr(e,{at:t=e.selection,offset:o=0}={}){let r=z(e,{at:t});if(!r)return!1;let n=Bg(r.tableElement.columns.length);return Lg.insertNodes(e,n,{at:[...r.tablePath,r.rowIndex+o]}),!0}function km(e,{at:t}={}){return fr(e,{at:t,offset:1})}import{Editor as hr,Element as Dg,Path as zg,Transforms as vt}from"slate";function vm(e){return[...Array(e).keys()]}function $g(e){return vm(e).map(()=>({align:"left"}))}function Ng(e,t){return{type:"table",columns:$g(e),children:vm(t).map(()=>Hg(e))}}function Hg(e){return{type:"table-row",children:[...Array(e).keys()].map(t=>Je(t))}}function Tm(e,t,o,{at:r=e.selection}={}){let n=Ng(t,o);return Ag(e,n,{at:r})}function Ag(e,t,{at:o=e.selection}={}){if(o==null)return!1;let r=x(e,n=>Dg.isElement(n)&&e.isMaster(n));if(r==null){let n=e.selection;hr.withoutNormalizing(e,()=>{vt.insertNodes(e,t,{at:o}),n&&(vt.select(e,n),vt.move(e))})}else{let n=zg.next(r[1]);hr.withoutNormalizing(e,()=>{vt.insertNodes(e,t,{at:n}),vt.select(e,hr.start(e,n))})}return!0}import{Path as wm}from"slate";function Im(e,t){let{cellIndex:o,rowIndex:r,rowCount:n,tablePath:i}=t;if(r<n-1)return Q(e,[...i,r+1,o]),!0;try{return Q(e,wm.next(i)),!0}catch{return!1}}function Mm(e,t){let{cellIndex:o,rowIndex:r,tablePath:n}=t;if(r>0)return Q(e,[...n,r-1,o]),!0;try{return vi(e,wm.previous(n)),!0}catch{return!1}}import{ReactEditor as Og}from"slate-react";function Ug(){let e=window.getSelection();if(!e||e.rangeCount===0)return null;try{return e.getRangeAt(0).getBoundingClientRect()}catch{return null}}function Fg(e,t){return Og.toDOMNode(e,t).getBoundingClientRect()}function gr(e,t){let o=Ug();if(!o)return!1;let r=Fg(e,t);return o.right<r.right&&o.left>r.left&&o.bottom<r.bottom&&o.top>r.top}function Pm(e){let t=z(e);return t&&setTimeout(()=>{gr(e,t.cellElement)||Im(e,t)}),!1}function Cm(e){let t=z(e);return t&&setTimeout(()=>{gr(e,t.cellElement)||Mm(e,t)}),!1}import{Editor as Sm,Transforms as br}from"slate";import{Transforms as Vg}from"slate";function Ze(e){let t=e.tablePlugin.getTableInfo();return t===void 0?!1:(Vg.removeNodes(e,{at:t.tablePath}),!0)}function Rm(e,{at:t=e.selection}={}){let o=z(e,{at:t});if(!o)return!1;let{tableElement:r,tablePath:n,rowIndex:i,cellIndex:a,cellCount:l}=o;if(l===1)return Ze(e);Sm.withoutNormalizing(e,()=>{let m=[...r.columns];m.splice(a,1),br.setNodes(e,{columns:m},{at:n}),r.children.forEach((c,d)=>{br.removeNodes(e,{at:[...n,d,a]})});let s=Sm.start(e,[...n,i,Math.min(a,l-2)]);br.select(e,s)})}import{Editor as Lm,Transforms as Bm}from"slate";function Dm(e,{at:t=e.selection}={}){let o=z(e,{at:t});return o===void 0?!1:o.rowCount===1?(Ze(e),!0):(Lm.withoutNormalizing(e,()=>{Bm.removeNodes(e,{at:o.rowPath}),Bm.select(e,Lm.start(e,[...o.tablePath,Math.min(o.rowIndex,o.rowCount-2),o.cellIndex]))}),!0)}import{Transforms as Kg}from"slate";function zm(e,t){let o=z(e);if(o===void 0)return!1;let{tableElement:r,tablePath:n,cellIndex:i}=o,a=r.columns.slice();return a.splice(i,1,{align:t.align}),Kg.setNodes(e,{columns:a},{at:n}),!0}import{Path as _g,Transforms as Wg}from"slate";function $m(e){let t=z(e);if(!t)return!1;let{cellIndex:o,cellCount:r,rowIndex:n,rowCount:i,tablePath:a}=t;if(o<r-1)return Q(e,[...a,n,o+1]),!0;if(n<i-1)return Q(e,[...a,n+1,0]),!0;let l=_g.next(a);return Wg.insertNodes(e,{type:"paragraph",children:[{text:""}]},{at:l}),Q(e,l),!0}function Nm(e){let t=z(e);if(!t)return!1;let{cellIndex:o,cellCount:r,rowIndex:n,tablePath:i}=t;if(o>0)return Q(e,[...i,n,o-1]),!0;if(n>0)return Q(e,[...i,n-1,r-1]),!0}function Hm(e){let t=z(e);if(!t)return!1;let{cellIndex:o,cellCount:r,rowIndex:n,rowCount:i,tablePath:a}=t;return o<r-1?(Q(e,[...a,n,o+1]),!0):n<i-1?(Q(e,[...a,n+1,0]),!0):(km(e),Q(e,[...a,n+1,0]),!0)}function Am(e){return{getTableInfo:f(z,e),insertTable:f(Tm,e),insertColumn:f(ym,e),insertRow:f(fr,e),removeTable:f(Ze,e),removeColumn:f(Rm,e),removeRow:f(Dm,e),tabForward:f($m,e),tabBackward:f(Nm,e),shiftEnterForward:f(Hm,e),selectCell:f(qg,e),down:f(Pm,e),up:f(Cm,e),setTableColumnAlign:f(zm,e)}}function qg(e,{at:t=e.selection}={}){let o=z(e,{at:t});if(o===void 0)return!1;let{cellPath:r}=o;return Gg.select(e,r),!0}import{Transforms as Qg}from"slate";function mo(e,t){let o=!1;return t[0].children.forEach((n,i)=>{n.children.forEach((l,m)=>{(l.x!==m||l.y!==i)&&(Qg.setNodes(e,{x:m,y:i},{at:[...t[1],i,m]}),o=!0)})}),o}import{Editor as jg,Transforms as Er}from"slate";function Om(e,t){let[o,r]=t;return o.children.length===1&&o.children[0].type==="table-content"?!1:(jg.withoutNormalizing(e,()=>{Er.insertNodes(e,{type:"table-content",children:[{text:"X"}]},{at:[...t[1],0]});for(let n=o.children.length;n>=0;n--)Er.mergeNodes(e,{at:[...r,n]});Er.delete(e,{at:{path:[...r,0,0],offset:0},unit:"character"})}),!0)}import{useEffect as Yg}from"react";import{ReactEditor as Jg,useSelected as Zg,useSlateStatic as eb}from"slate-react";import po from"@emotion/styled";import ce from"@emotion/styled";var Um=ce("div")`
|
|
1181
1181
|
position: absolute;
|
|
1182
1182
|
/**
|
|
1183
1183
|
* very slightly shaded
|
|
@@ -1201,7 +1201,7 @@
|
|
|
1201
1201
|
background: rgba(0, 0, 0, 0.15);
|
|
1202
1202
|
}
|
|
1203
1203
|
}
|
|
1204
|
-
`,
|
|
1204
|
+
`,Fm=ce(Um)`
|
|
1205
1205
|
cursor: pointer;
|
|
1206
1206
|
/**
|
|
1207
1207
|
* hangs out on top
|
|
@@ -1211,7 +1211,7 @@
|
|
|
1211
1211
|
right: 0;
|
|
1212
1212
|
height: 3em;
|
|
1213
1213
|
top: -3em;
|
|
1214
|
-
`,
|
|
1214
|
+
`,Vm=ce(Um)`
|
|
1215
1215
|
/**
|
|
1216
1216
|
* hangs out on left
|
|
1217
1217
|
*/
|
|
@@ -1219,7 +1219,7 @@
|
|
|
1219
1219
|
bottom: -1px;
|
|
1220
1220
|
width: 3em;
|
|
1221
1221
|
left: -3em;
|
|
1222
|
-
`,
|
|
1222
|
+
`,Km=ce("div")`
|
|
1223
1223
|
position: absolute;
|
|
1224
1224
|
background: rgba(0, 0, 0, 0.05);
|
|
1225
1225
|
border: 1px solid rgba(0, 0, 0, 0.05);
|
|
@@ -1231,7 +1231,7 @@
|
|
|
1231
1231
|
left: 0;
|
|
1232
1232
|
right: 0;
|
|
1233
1233
|
bottom: 0;
|
|
1234
|
-
`,
|
|
1234
|
+
`,_m=ce(Km)`
|
|
1235
1235
|
top: 50%;
|
|
1236
1236
|
border-bottom: none;
|
|
1237
1237
|
border-right: none;
|
|
@@ -1257,7 +1257,7 @@
|
|
|
1257
1257
|
|
|
1258
1258
|
/* border-top-left-radius: 0.5em;
|
|
1259
1259
|
border-top-right-radius: 0.5em; */
|
|
1260
|
-
`,
|
|
1260
|
+
`,Wm=ce(Km)`
|
|
1261
1261
|
left: 50%;
|
|
1262
1262
|
border-right: none;
|
|
1263
1263
|
border-bottom: none;
|
|
@@ -1283,7 +1283,7 @@
|
|
|
1283
1283
|
|
|
1284
1284
|
/* border-top-left-radius: 0.5em;
|
|
1285
1285
|
border-bottom-left-radius: 0.5em; */
|
|
1286
|
-
`,
|
|
1286
|
+
`,Gm=ce("div")`
|
|
1287
1287
|
position: absolute;
|
|
1288
1288
|
font-size: 1.5em;
|
|
1289
1289
|
background: white;
|
|
@@ -1292,27 +1292,27 @@
|
|
|
1292
1292
|
svg {
|
|
1293
1293
|
display: block;
|
|
1294
1294
|
}
|
|
1295
|
-
`,et=ce(
|
|
1295
|
+
`,et=ce(Gm)`
|
|
1296
1296
|
color: #c0c0c0;
|
|
1297
1297
|
&:hover {
|
|
1298
1298
|
color: royalblue;
|
|
1299
1299
|
}
|
|
1300
|
-
`,co=ce(
|
|
1300
|
+
`,co=ce(Gm)`
|
|
1301
1301
|
color: #c0c0c0;
|
|
1302
1302
|
&:hover {
|
|
1303
1303
|
color: firebrick;
|
|
1304
1304
|
}
|
|
1305
|
-
`;var
|
|
1305
|
+
`;var qm=po("table")`
|
|
1306
1306
|
border-collapse: collapse;
|
|
1307
1307
|
margin: 1em 0;
|
|
1308
1308
|
${({columns:e})=>e.map((t,o)=>`td:nth-of-type(${o+1}) { text-align: ${t.align}; }`).join(`
|
|
1309
1309
|
`)}
|
|
1310
|
-
`,
|
|
1310
|
+
`,Qm=po("tr")`
|
|
1311
1311
|
position: relative;
|
|
1312
1312
|
&:first-of-type {
|
|
1313
1313
|
background: var(--table-head-bgcolor);
|
|
1314
1314
|
}
|
|
1315
|
-
`,
|
|
1315
|
+
`,jm=po("td")`
|
|
1316
1316
|
position: relative;
|
|
1317
1317
|
border-width: 1px;
|
|
1318
1318
|
border-style: solid;
|
|
@@ -1332,7 +1332,7 @@
|
|
|
1332
1332
|
&:last-of-type {
|
|
1333
1333
|
border-right-color: var(--table-border-color);
|
|
1334
1334
|
}
|
|
1335
|
-
`,
|
|
1335
|
+
`,Xm=po("div")`
|
|
1336
1336
|
/**
|
|
1337
1337
|
* Smaller font inside a table than outside of it
|
|
1338
1338
|
*/
|
|
@@ -1344,7 +1344,7 @@
|
|
|
1344
1344
|
color: rgba(0, 0, 0, 0.6);
|
|
1345
1345
|
font-size: 0.875em; /* 14px */
|
|
1346
1346
|
}
|
|
1347
|
-
`;import{createContext as
|
|
1347
|
+
`;import{createContext as Xg}from"react";var uo=Xg({isSelected:!1});import{jsx as xr}from"react/jsx-runtime";function Ym({element:e,attributes:t,children:o}){let r=eb(),n=Zg();return Yg(()=>{try{let i=Jg.findPath(r,e);mo(r,[e,i])}catch{}},[]),xr(uo.Provider,{value:{isSelected:n},children:xr(qm,{...t,columns:e.columns,children:xr("tbody",{children:o})})})}import{useContext as sb}from"react";import{useSelected as mb}from"slate-react";import{useCallback as yr,useRef as tb,useState as ob}from"react";import{useSlateStatic as rb}from"slate-react";import{jsx as ee}from"react/jsx-runtime";var tt=e=>ee("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",width:"1em",height:"1em",...e,children:ee("path",{fillRule:"evenodd",d:"M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm.75-11.25a.75.75 0 0 0-1.5 0v2.5h-2.5a.75.75 0 0 0 0 1.5h2.5v2.5a.75.75 0 0 0 1.5 0v-2.5h2.5a.75.75 0 0 0 0-1.5h-2.5v-2.5z",clipRule:"evenodd"})}),fo=e=>ee("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",width:"1em",height:"1em",...e,children:ee("path",{fillRule:"evenodd",d:"M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16zM6.75 9.25a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5h-6.5z",clipRule:"evenodd"})}),ho=()=>ee(y,{children:ee("path",{d:"M4 6h16M4 12h16M4 18h16"})}),Jm=()=>ee(y,{children:ee("path",{d:"M4 6h16M4 12h10M4 18h14"})}),Zm=()=>ee(y,{children:ee("path",{d:"M4 6h16M8 12h8M6 18h12"})}),ec=()=>ee(y,{children:ee("path",{d:"M4 6h16M10 12h10M6 18h14"})});import{Fragment as nb,jsx as pe,jsxs as tc}from"react/jsx-runtime";function oc({cellElement:e}){let t=rb(),o=O("column-menu"),r=tb(null),[n,i]=ob(!1),a=yr(()=>{i(!0)},[]),l=yr(()=>{i(!1)},[]),m=yr(()=>{o.layer&&o.close();let s=r.current;if(s===null)return;let c=[{icon:Jm,title:"\u5DE6\u63C3\u3048",action:()=>{t.tablePlugin.setTableColumnAlign({align:"left"})}},{icon:Zm,title:"\u4E2D\u592E\u63C3\u3048",action:()=>{t.tablePlugin.setTableColumnAlign({align:"center"})}},{icon:ec,title:"\u53F3\u63C3\u3048",action:()=>{t.tablePlugin.setTableColumnAlign({align:"right"})}}];o.open(()=>pe(Ve,{dest:s,items:c,close:o.close}))},[]);return tc(Fm,{ref:r,contentEditable:!1,onClick:m,onMouseEnter:a,onMouseLeave:l,children:[pe(_m,{className:"--tile",children:pe(ho,{})}),n?tc(nb,{children:[pe(co,{style:{top:0,left:"50%",marginLeft:"-0.5em"},onMouseDown:()=>t.tablePlugin.removeColumn({at:e}),children:pe(fo,{})}),pe(et,{style:{left:"-0.5em",top:0},onMouseDown:()=>t.tablePlugin.insertColumn({at:e}),children:pe(tt,{})}),pe(et,{style:{right:"-0.5em",top:0},onMouseDown:()=>t.tablePlugin.insertColumn({at:e,offset:1}),children:pe(tt,{})})]}):null]})}import{useState as ib}from"react";import{useSlateStatic as ab}from"slate-react";import{Fragment as lb,jsx as Ie,jsxs as rc}from"react/jsx-runtime";function nc({cellElement:e}){let t=ab(),[o,r]=ib(!1);return rc(Vm,{contentEditable:!1,onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:[Ie(Wm,{className:"--tile",children:Ie(ho,{})}),o?rc(lb,{children:[Ie(co,{style:{top:"50%",left:"0.5em",marginTop:"-0.5em"},onMouseDown:()=>t.tablePlugin.removeRow({at:e}),children:Ie(fo,{})}),Ie(et,{style:{top:"-0.5em",left:"0.5em"},onMouseDown:()=>t.tablePlugin.insertRow({at:e}),children:Ie(tt,{})}),Ie(et,{style:{bottom:"-0.5em",left:"0.5em"},onMouseDown:()=>t.tablePlugin.insertRow({at:e,offset:1}),children:Ie(tt,{})})]}):null]})}import ic from"@emotion/styled";var ac=ic("div")`
|
|
1348
1348
|
position: absolute;
|
|
1349
1349
|
/**
|
|
1350
1350
|
* very slightly shaded
|
|
@@ -1376,7 +1376,7 @@
|
|
|
1376
1376
|
background: rgba(0, 0, 0, 0.15);
|
|
1377
1377
|
}
|
|
1378
1378
|
}
|
|
1379
|
-
`,
|
|
1379
|
+
`,lc=ic("div")`
|
|
1380
1380
|
position: absolute;
|
|
1381
1381
|
left: 0;
|
|
1382
1382
|
top: 0;
|
|
@@ -1384,8 +1384,8 @@
|
|
|
1384
1384
|
height: 1.5em;
|
|
1385
1385
|
background: rgba(0, 0, 0, 0.05);
|
|
1386
1386
|
border-radius: 50%;
|
|
1387
|
-
`;import{jsx as
|
|
1388
|
-
`),!0):!1,isMaster(r){if(r.type==="table")return!0},normalizeNode:r=>{let[n]=r;if(!
|
|
1387
|
+
`;import{jsx as sc}from"react/jsx-runtime";function mc(){return sc(ac,{contentEditable:!1,children:sc(lc,{className:"--table-menu-tile"})})}import{jsx as kr,jsxs as cb}from"react/jsx-runtime";function cc({element:e,attributes:t,children:o}){let r=sb(uo),n=mb(),i=r.isSelected&&e.x===0&&e.y===0,a=r.isSelected&&e.x===0,l=r.isSelected&&e.y===0;return cb(jm,{className:n?"--selected":"",...t,"data-x":e.x,"data-y":e.y,children:[o,i?kr(mc,{}):null,a?kr(nc,{cellElement:e}):null,l?kr(oc,{cellElement:e}):null]})}import{jsx as pb}from"react/jsx-runtime";function pc({attributes:e,children:t}){return pb(Xm,{...e,children:t})}import{jsx as db}from"react/jsx-runtime";function dc({attributes:e,children:t}){return db(Qm,{...e,children:t})}import{jsx as go}from"react/jsx-runtime";function uc({element:e,attributes:t,children:o}){switch(e.type){case"table":return go(Ym,{element:e,attributes:t,children:o});case"table-row":return go(dc,{element:e,attributes:t,children:o});case"table-cell":return go(cc,{element:e,attributes:t,children:o});case"table-content":return go(pc,{element:e,attributes:t,children:o})}}var fc=v((e,t,{createPolicy:o})=>(e.supportsTable=!0,e.tablePlugin=Am(e),o({name:"table",editor:{deleteBackward:()=>Pe(e,"table-cell"),deleteForward:()=>ui(e,"table-cell"),deleteFragment:()=>Em(e,["table-cell"]),insertBreak:()=>x(e,"table-cell")?(e.insertText(`
|
|
1388
|
+
`),!0):!1,isMaster(r){if(r.type==="table")return!0},normalizeNode:r=>{let[n]=r;if(!ub.isElement(n))return!1;switch(n.type){case"table":return mo(e,r);case"table-cell":return Om(e,r)}return!1}},editableProps:{renderElement:uc,onKeyDown:H({tab:e.tablePlugin.tabForward,"shift+tab":e.tablePlugin.tabBackward,"shift+enter":e.tablePlugin.shiftEnterForward,down:e.tablePlugin.down,up:e.tablePlugin.up,"mod+a":e.tablePlugin.selectCell,"super+t":()=>e.tablePlugin.insertTable(3,2),"mod+shift+enter":()=>e.tablePlugin.insertRow({offset:0}),"mod+enter":()=>e.tablePlugin.insertRow({offset:1}),"super+[":()=>e.tablePlugin.insertColumn({offset:0}),"super+]":()=>e.tablePlugin.insertColumn({offset:1}),"super+backspace":e.tablePlugin.removeTable,"mod+backspace":e.tablePlugin.removeRow,"mod+shift+backspace":e.tablePlugin.removeColumn})}})));import{Global as bb}from"@emotion/react";import{css as fb}from"@emotion/react";var hb=`
|
|
1389
1389
|
--blue-50: rgb(239 246 255);
|
|
1390
1390
|
--blue-100: rgb(219 234 254);
|
|
1391
1391
|
--blue-200: rgb(191 219 254);
|
|
@@ -1396,7 +1396,7 @@
|
|
|
1396
1396
|
--blue-700: rgb(29 78 216);
|
|
1397
1397
|
--blue-800: rgb(30 64 175);
|
|
1398
1398
|
--blue-900: rgb(30 58 138);
|
|
1399
|
-
`,
|
|
1399
|
+
`,gb=`
|
|
1400
1400
|
--shade-50: rgb(250 250 250);
|
|
1401
1401
|
--shade-100: rgb(244 244 245);
|
|
1402
1402
|
--shade-200: rgb(228 228 231);
|
|
@@ -1407,11 +1407,11 @@
|
|
|
1407
1407
|
--shade-700: rgb(63 63 70);
|
|
1408
1408
|
--shade-800: rgb(39 39 42);
|
|
1409
1409
|
--shade-900: rgb(24 24 27);
|
|
1410
|
-
`,
|
|
1410
|
+
`,hc=fb`
|
|
1411
1411
|
:root {
|
|
1412
1412
|
/* Tailwind Colors */
|
|
1413
|
-
${
|
|
1414
|
-
${
|
|
1413
|
+
${hb}
|
|
1414
|
+
${gb}
|
|
1415
1415
|
/* Select Colors */
|
|
1416
1416
|
--select-color: var(--blue-400);
|
|
1417
1417
|
--select-editor-color: var(--blue-200);
|
|
@@ -1433,14 +1433,14 @@
|
|
|
1433
1433
|
/* Horizontal Rule Colors */
|
|
1434
1434
|
--hr-color: var(--shade-300);
|
|
1435
1435
|
}
|
|
1436
|
-
`;import{Fragment as
|
|
1436
|
+
`;import{Fragment as Eb,jsx as gc,jsxs as xb}from"react/jsx-runtime";var bc=v(e=>(e.theme=!0,{name:"theme",editor:{},renderEditable:({attributes:t,Editable:o})=>xb(Eb,{children:[gc(bb,{styles:hc}),gc(o,{...t})]}),editableProps:{}}));import{clsx as nE}from"clsx";import{useCallback as iE,useRef as aE}from"react";import{Editor as lE,Transforms as sE}from"slate";import{ReactEditor as mE,useFocused as cE,useSlateStatic as pE}from"slate-react";import{clsx as yb}from"clsx";import{useCallback as kc,useRef as kb,useState as vb}from"react";import{ReactEditor as Tb,useSlateStatic as wb}from"slate-react";import vr from"@emotion/styled";var Ec=vr(Y)`
|
|
1437
1437
|
padding: 0.5em;
|
|
1438
|
-
`,
|
|
1438
|
+
`,xc=vr("div")`
|
|
1439
1439
|
display: grid;
|
|
1440
1440
|
grid-template-columns: repeat(5, 1.75em);
|
|
1441
1441
|
grid-template-rows: 1.5em;
|
|
1442
1442
|
/* grid-gap: 1px; */
|
|
1443
|
-
`,
|
|
1443
|
+
`,yc=vr("div")`
|
|
1444
1444
|
background: var(--shade-100);
|
|
1445
1445
|
height: 1.5em;
|
|
1446
1446
|
border-radius: 0.125em;
|
|
@@ -1450,11 +1450,11 @@
|
|
|
1450
1450
|
&.--selected {
|
|
1451
1451
|
background: var(--blue-100);
|
|
1452
1452
|
}
|
|
1453
|
-
`;import{Fragment as
|
|
1453
|
+
`;import{Fragment as Ib,jsx as bo,jsxs as Mb}from"react/jsx-runtime";function vc(e){return[...Array(e).keys()]}function Tc({dest:e,close:t}){let[o,r]=vb({x:0,y:0}),n=wb(),i=kb(null),a=X({src:i,dest:e},({dest:d})=>d?{left:d.left-8,top:d.top+d.height}:{left:0,top:0}),l=vc(5).map(d=>d+1),m=vc(5).map(d=>d+1),s=kc((d,p)=>{r({x:d,y:p})},[r]),c=kc((d,p)=>{n.tablePlugin.insertTable(d,p),Tb.focus(n),t()},[n]);return Mb(Ib,{children:[bo(ye,{close:t}),bo(Ec,{ref:i,style:a,children:bo(xc,{onMouseLeave:()=>s(0,0),children:l.map(d=>m.map(p=>{let u=p<=o.x&&d<=o.y;return bo(yc,{className:yb({"--selected":u}),onMouseEnter:()=>s(p,d),onClick:()=>c(p,d)},`${p},${d}`)}))})})]})}import{useEffect as Xb,useRef as Yb,useState as Jb}from"react";import{useSlateStatic as Zb}from"slate-react";import{jsx as b,jsxs as ot}from"react/jsx-runtime";var wc=()=>b(y,{children:b("path",{d:"M7 12h10M7 5v14M17 5v14M15 19h4M15 5h4M5 19h4M5 5h4"})}),Ic=()=>b(y,{className:"--more-icon",width:"0.5em",viewBox:"0 0 12 24",children:b("path",{d:"m2 12 4 4 4-4"})}),Mc=()=>b(y,{width:"0.5em",viewBox:"6 0 12 24",children:b("path",{d:"M9 12h6M12 9v6"})}),Pc=()=>b(y,{children:b("path",{d:"M19 18v-8l-2 2M4 6v12M12 6v12M11 18h2M3 18h2M4 12h8M3 6h2M11 6h2"})}),Cc=()=>b(y,{children:b("path",{d:"M17 12a2 2 0 1 1 4 0c0 .591-.417 1.318-.816 1.858L17 18.001h4M4 6v12M12 6v12M11 18h2M3 18h2M4 12h8M3 6h2M11 6h2"})}),Sc=()=>b(y,{children:b("path",{d:"M19 14a2 2 0 1 0-2-2M17 16a2 2 0 1 0 2-2M4 6v12M12 6v12M11 18h2M3 18h2M4 12h8M3 6h2M11 6h2"})});var Rc=()=>b(y,{children:b("path",{d:"M8 18V6h2l6 9V6h2v12h-2l-6-9v9H8z"})}),Tr=()=>b(y,{children:b("path",{d:"M7 5h6a3.5 3.5 0 0 1 0 7H7zM13 12h1a3.5 3.5 0 0 1 0 7H7v-7"})}),Lc=()=>b(y,{children:b("path",{d:"M11 5h6M7 19h6M14 5l-4 14"})});var Eo=()=>ot(y,{children:[b("path",{d:"M10 14a3.5 3.5 0 0 0 5 0l4-4a3.5 3.5 0 0 0-5-5l-.5.5"}),b("path",{d:"M14 10a3.5 3.5 0 0 0-5 0l-4 4a3.5 3.5 0 0 0 5 5l.5-.5"})]});var wr=()=>b(y,{children:b("path",{d:"M10 11H6a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v6c0 2.667-1.333 4.333-4 5M19 11h-4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v6c0 2.667-1.333 4.333-4 5"})}),Bc=()=>ot(y,{children:[b("path",{d:"M10 9l4 3-4 3"}),b("path",{d:"M16 9l4 3-4 3"})]});var Dc=()=>b(y,{children:b("path",{d:"M9 6h11M9 12h11M9 18h11M5 6v.01M5 12v.01M5 18v.01"})}),zc=()=>ot(y,{children:[b("rect",{x:4,y:4,width:16,height:16,rx:2}),b("path",{d:"M4 10h16M10 4v16"})]}),$c=()=>b(y,{children:b("path",{d:"m7 8-4 4 4 4M17 8l4 4-4 4M14 4l-4 16"})}),Nc=()=>b(y,{children:b("path",{d:"M9 8L5 12L9 16M15 8L19 12L15 16"})}),Hc=()=>ot(y,{children:[b("path",{d:"M15 8h.01"}),b("rect",{x:4,y:4,width:16,height:16,rx:3}),b("path",{d:"m4 15 4-4a3 5 0 0 1 3 0l5 5"}),b("path",{d:"m14 14 1-1a3 5 0 0 1 3 0l2 2"})]});var Ac=()=>b(y,{children:b("path",{d:"M12 5v14M5 12h14"})}),Oc=()=>b(y,{children:b("path",{d:"M5 12h14M16 6.5A4 2 0 0 0 12 5h-1a3.5 3.5 0 0 0 0 7h2a3.5 3.5 0 0 1 0 7h-1.5a4 2 0 0 1-4-1.5"})}),Uc=()=>b(y,{children:b("path",{d:"M7 5v5a5 5 0 0 0 10 0V5M5 19h14"})});var Fc=()=>ot(y,{children:[b("path",{d:"m9 11 3 3 8-8"}),b("path",{d:"M20 12v6a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h9"})]}),Ir=()=>b(y,{children:b("path",{d:"M11 6h9M11 12h9M12 18h8M4 16a2 2 0 1 1 4 0c0 .591-.5 1-1 1.5L4 20h4M6 10V4L4 6"})}),Vc=()=>b(y,{children:b("path",{d:"M4 6h16M8 12h12M12 18h8M7 12l-3-3M7 12l-3 3"})}),Kc=()=>b(y,{children:b("path",{d:"M4 6h16M8 12h12M12 18h8M4 12l3-3M4 12l3 3"})});var _c=()=>b(y,{children:b("path",{d:"M18 6L6 18M6 6l12 12"})}),Wc=()=>ot(y,{children:[b("path",{d:"M4 20h4l10.5-10.5a2.828 2.828 0 1 0-4-4L4 16v4"}),b("path",{d:"M13.5 6.5l4 4"}),b("path",{d:"m14 19 6-6M18 15l2 2M5 21h4"})]}),Gc=()=>b(y,{children:b("path",{d:"M5 12h14"})});var Mr=[{icon:Vc,title:h("increaseDepth"),hotkey:"tab",action:e=>e.list.increaseDepth(),active:e=>e.list.canIncreaseDepth()},{icon:Kc,title:h("decreaseDepth"),hotkey:"shift+tab",action:e=>e.list.decreaseDepth(),active:e=>e.list.canDecreaseDepth()}],qc=[{icon:Rc,title:h("normal"),hotkey:"super+0",action:e=>{e.collapsibleParagraph.convertParagraph()}},{icon:Pc,title:h("heading1"),hotkey:"super+1",action:e=>e.heading.convertHeading(1,!0),active:e=>e.heading.isHeadingActive(1)},{icon:Cc,title:h("heading2"),hotkey:"super+2",action:e=>e.heading.convertHeading(2,!0),active:e=>e.heading.isHeadingActive(2)},{icon:Sc,title:h("heading3"),hotkey:"super+3",action:e=>e.heading.convertHeading(3,!0),active:e=>e.heading.isHeadingActive(3)}],Qc=[...qc],Pr=[{icon:wc,title:h("paragraphStyle"),more:!0,children:qc}];import{useState as de,useRef as Xc,useEffect as Cb,useCallback as Cr}from"react";import{useSlateStatic as Sb}from"slate-react";import Pb from"@emotion/styled";var jc=Pb(Y)`
|
|
1454
1454
|
width: 18em;
|
|
1455
1455
|
padding: 0;
|
|
1456
1456
|
overflow: hidden;
|
|
1457
|
-
`;import{Fragment as
|
|
1457
|
+
`;import{Fragment as Rb,jsx as A,jsxs as V}from"react/jsx-runtime";function Yc({dest:e,close:t}){let o=Sb(),r=Xc(null),n=Xc(null),[i,a]=de({x:0,y:0}),l=Cr((R,F)=>{a(he=>({x:he.x+R,y:he.y+F}))},[]),m=o.wysimark?.imageDialogState,s=!!o.wysimark?.onImageChange,c=!!o.wysimark?.onFileSelect,d=m?.imageSource??(s?"file":c?"select":"url"),[p,u]=de(m?.url??""),[g,T]=de(m?.alt??""),[S,L]=de(m?.title??""),[M,$]=de(!1),[w,B]=de(d),[I,E]=de(!1),[k,P]=de(m?.uploadedUrl??""),C=R=>{B(R),P(""),fe("")},[ue,fe]=de(""),Cp=Cr(R=>{let F=R.target.value;T(F),M||L(F)},[M]),Sp=Cr(R=>{L(R.target.value),$(!0)},[]);Cb(()=>{o.wysimark&&(o.wysimark.imageDialogState={url:p,alt:g,title:S,imageSource:w,uploadedUrl:k})},[o,p,g,S,w,k]);let Ar=()=>{o.wysimark&&(o.wysimark.imageDialogState=void 0)},vo=X({src:r,dest:e},({src:R,dest:F},he)=>ke(R,he,{left:F.left-16,top:F.top+F.height},{margin:16})),Rp={...vo,left:vo.left+i.x,top:vo.top+i.y};function Lp(R){R.preventDefault();let F=w==="file"||w==="select"?k:p;F.trim()!==""&&(o.image.insertImageFromUrl(F,g,S),Ar(),t())}function Bp(){Ar(),t()}async function Dp(R){let F=R.target.files?.[0];if(!(!F||!o.wysimark?.onImageChange)){fe(F.name),E(!0);try{let he=await o.wysimark.onImageChange(F);P(he)}catch(he){}finally{E(!1)}}}function zp(){n.current?.click()}async function $p(){if(o.wysimark?.onFileSelect){E(!0);try{let R=await o.wysimark.onFileSelect();R&&P(R)}catch(R){}finally{E(!1)}}}let To=w==="file"||w==="select"?k.trim()===""||I:p.trim()==="";return V(Rb,{children:[A(ye,{close:t}),V(jc,{ref:r,style:Rp,children:[A(Te,{onDrag:l}),V("form",{onSubmit:R=>{Lp(R)},style:{padding:"8px"},children:[(s||c)&&V("div",{style:{marginBottom:"12px"},children:[s&&V("label",{style:{display:"inline-flex",alignItems:"center",marginRight:"16px",cursor:"pointer"},children:[A("input",{type:"radio",name:"imageSource",value:"file",checked:w==="file",onChange:()=>C("file"),style:{marginRight:"4px"}}),h("imageSourceFile")]}),c&&V("label",{style:{display:"inline-flex",alignItems:"center",marginRight:"16px",cursor:"pointer"},children:[A("input",{type:"radio",name:"imageSource",value:"select",checked:w==="select",onChange:()=>C("select"),style:{marginRight:"4px"}}),h("imageSourceSelect")]}),V("label",{style:{display:"inline-flex",alignItems:"center",cursor:"pointer"},children:[A("input",{type:"radio",name:"imageSource",value:"url",checked:w==="url",onChange:()=>C("url"),style:{marginRight:"4px"}}),h("imageSourceUrl")]})]}),w==="url"?V("div",{style:{marginBottom:"8px"},children:[A("label",{style:{display:"block",marginBottom:"4px"},children:h("imageUrlRequired")}),A("input",{type:"text",value:p,onChange:R=>u(R.target.value),style:{width:"100%",padding:"6px",boxSizing:"border-box",border:"1px solid var(--shade-300)",borderRadius:"4px",backgroundColor:"var(--shade-50)",color:"var(--shade-700)"},placeholder:"https://example.com/image.jpg"})]}):w==="select"?V("div",{style:{marginBottom:"8px"},children:[A("button",{type:"button",onClick:()=>{$p()},disabled:I,style:{padding:"8px 16px",backgroundColor:I?"#ccc":"#0078d4",color:I?"#666":"white",border:"none",borderRadius:"4px",cursor:I?"not-allowed":"pointer",marginBottom:"8px",fontWeight:"bold"},children:I?h("uploading"):h("imageSourceSelect")}),k&&A("div",{style:{marginTop:"8px",padding:"8px",backgroundColor:"var(--shade-100)",borderRadius:"4px"},children:V("div",{style:{color:"green",marginBottom:"4px"},children:["\u2713 ",k.split("/").pop()]})})]}):V("div",{style:{marginBottom:"8px"},children:[A("input",{ref:n,type:"file",accept:"image/*",onChange:R=>{Dp(R)},style:{display:"none"}}),A("button",{type:"button",onClick:zp,disabled:I,style:{padding:"8px 16px",backgroundColor:I?"#ccc":"#0078d4",color:I?"#666":"white",border:"none",borderRadius:"4px",cursor:I?"not-allowed":"pointer",marginBottom:"8px",fontWeight:"bold"},children:I?h("uploading"):h("selectFile")}),k&&A("div",{style:{marginTop:"8px",padding:"8px",backgroundColor:"var(--shade-100)",borderRadius:"4px"},children:V("div",{style:{color:"green",marginBottom:"4px"},children:["\u2713 ",ue]})})]}),V("div",{style:{marginBottom:"8px"},children:[A("label",{style:{display:"block",marginBottom:"4px"},children:h("altText")}),A("input",{type:"text",value:g,onChange:Cp,style:{width:"100%",padding:"6px",boxSizing:"border-box",border:"1px solid var(--shade-300)",borderRadius:"4px",backgroundColor:"var(--shade-50)",color:"var(--shade-700)"},placeholder:h("imageDescription")})]}),V("div",{style:{marginBottom:"8px"},children:[A("label",{style:{display:"block",marginBottom:"4px"},children:h("title")}),A("input",{type:"text",value:S,onChange:Sp,style:{width:"100%",padding:"6px",boxSizing:"border-box",border:"1px solid var(--shade-300)",borderRadius:"4px",backgroundColor:"var(--shade-50)",color:"var(--shade-700)"},placeholder:h("imageTitle")})]}),V("div",{style:{display:"flex",gap:"8px"},children:[A("button",{type:"submit",disabled:To,style:{display:"flex",alignItems:"center",padding:"8px 16px",backgroundColor:To?"#ccc":"#0078d4",color:"white",border:"none",borderRadius:"4px",cursor:To?"not-allowed":"pointer",fontWeight:"bold"},children:h("register")}),A("button",{type:"button",onClick:Bp,style:{padding:"8px 16px",backgroundColor:"var(--shade-100)",color:"var(--shade-700)",border:"1px solid var(--shade-300)",borderRadius:"4px",cursor:"pointer"},children:h("cancel")})]})]})]})]})}import{isHotkey as Lb}from"is-hotkey";import{useCallback as xo,useMemo as Bb,useRef as Db,useState as Tt}from"react";import{Editor as zb,Range as $b}from"slate";import{ReactEditor as Nb,useSlateStatic as Hb}from"slate-react";import Jc from"@emotion/styled";var Sr=Jc("div")`
|
|
1458
1458
|
/* Center vertically and horizontally */
|
|
1459
1459
|
display: flex;
|
|
1460
1460
|
align-items: center;
|
|
@@ -1478,9 +1478,9 @@
|
|
|
1478
1478
|
font-size: 1.25em;
|
|
1479
1479
|
stroke-width: 2px;
|
|
1480
1480
|
}
|
|
1481
|
-
`,
|
|
1481
|
+
`,Zc=Jc("div")`
|
|
1482
1482
|
font-size: 0.875em;
|
|
1483
1483
|
margin-top: 0.5em;
|
|
1484
1484
|
color: var(--shade-500);
|
|
1485
1485
|
line-height: 1.375;
|
|
1486
|
-
`;import{Fragment as Wb,jsx as te,jsxs as wt}from"react/jsx-runtime";var _b=Hb("enter");function rp({dest:e,close:t}){let o=Kb(),r=Ob(null),[n,i]=vt({x:0,y:0}),a=xo((E,k)=>{i(P=>({x:P.x+E,y:P.y+k}))},[]),l=X({src:r,dest:e},({src:E,dest:k},P)=>!E||!k?{left:0,top:0}:ke(E,P,{left:k.left-12,top:k.top+k.height},{margin:16})),m={...l,left:l.left+n.x,top:l.top+n.y},s=Ab(()=>{let{selection:E}=o;return E&&!Fb.isCollapsed(E)?Ub.string(o,E):""},[]),[c,u]=vt(""),[p,d]=vt(s),[g,v]=vt(s),[S,L]=vt(!1),M=()=>{let E=p.trim()||c,k=g.trim()||void 0;o.anchor.insertLink(c,E,{select:!0,title:k}),Vb.focus(o),t()},$=xo(E=>{u(E.currentTarget.value)},[u]),w=xo(E=>{let k=E.currentTarget.value;d(k),S||v(k)},[d,v,S]),B=xo(E=>{v(E.currentTarget.value),L(!0)},[v]),I=E=>{_b(E)&&(E.preventDefault(),E.stopPropagation(),M())};return wt(Wb,{children:[te(ye,{close:t}),wt(Gi,{ref:r,style:m,children:[te(ve,{onDrag:a}),wt("div",{style:{padding:"0.75em"},children:[te(Ut,{children:te(Ft,{type:"text",value:c,autoFocus:!0,placeholder:h("linkUrl"),onChange:$,onKeyDown:I})}),te(Ut,{style:{marginTop:"0.5em"},children:te(Ft,{type:"text",value:p,placeholder:h("linkText"),onChange:w,onKeyDown:I})}),wt(Ut,{style:{marginTop:"0.5em"},children:[te(Ft,{type:"text",value:g,placeholder:h("tooltipText"),onChange:B,onKeyDown:I}),wt(Lr,{onClick:M,children:[te(Eo,{}),te(Sc,{})]}),te(Lr,{onClick:t,style:{marginLeft:"0.25em",background:"var(--shade-400)"},children:te(qc,{})})]}),te(op,{children:h("tooltipHint")})]})]})]})}var Br=[{icon:Eo,title:h("insertLink"),more:!0,hotkey:"mod+k",Component:rp},{icon:Uc,title:h("insertImageFromUrl"),more:!0,Component:ep},{icon:Hc,title:h("insertTable"),more:!0,Component:Mc},{icon:jc,title:h("horizontalRule"),hotkey:"super+-",action:e=>e.horizontalRule.insertHorizontalRule()}],np=Br,ip=Br,ap=[{icon:Fc,title:h("insert"),more:!0,children:Br}];import{Editor as Gb}from"slate";function rt(e){let t=Gb.marks(e);return{bold:t?.bold||!1,italic:t?.italic||!1,strike:t?.strike||!1,code:t?.code||!1,underline:t?.underline||!1,highlight:t?.highlight||!1}}var lp=[{icon:Ir,title:h("bold"),hotkey:"mod+b",action:e=>e.marksPlugin.toggleBold(),active:e=>rt(e).bold},{icon:zc,title:h("italic"),hotkey:"mod+i",action:e=>e.marksPlugin.toggleItalic(),active:e=>rt(e).italic},{icon:Vc,title:h("strike"),hotkey:"super+k",action:e=>e.marksPlugin.toggleStrike(),active:e=>rt(e).strike},{icon:Ac,title:h("inlineCode"),hotkey:"mod+j",action:e=>e.inlineCode.toggleInlineCode(),active:e=>rt(e).code},{icon:Kc,title:h("underline"),hotkey:"mod+u",action:e=>e.marksPlugin.toggleUnderline(),active:e=>rt(e).underline},{icon:Qc,title:h("highlight"),hotkey:"mod+h",action:e=>e.marksPlugin.toggleHighlight(),active:e=>rt(e).highlight,show:e=>!e.wysimark.disableHighlight}],Dr=lp,sp=[{icon:Ir,title:h("format"),more:!0,children:lp}];var mp=[{icon:Nc,title:h("bulletList"),hotkey:"super+8",action:e=>e.list.convertUnorderedList(!0)},{icon:Pr,title:h("numberedList"),hotkey:"super+7",action:e=>e.list.convertOrderedList(!0)},{icon:_c,title:h("checkList"),hotkey:"super+9",action:e=>e.list.convertTaskList(!0),show:e=>!e.wysimark.disableTaskList}],zr=[...mp,"divider",...Cr],cp=[{icon:Pr,title:h("list"),more:!0,children:[...mp,"divider",...Cr]}];import{Editor as pp,Path as qb,Transforms as yo}from"slate";var up=[{icon:Mr,title:h("quote"),hotkey:"super+.",action:e=>{e.blockQuotePlugin.isActive()?e.blockQuotePlugin.outdent():e.blockQuotePlugin.indent()},active:e=>e.blockQuotePlugin.isActive()},{icon:$c,title:h("increaseQuoteDepth"),action:e=>e.blockQuotePlugin.increaseDepth(),active:e=>e.blockQuotePlugin.canIncreaseDepth()},{icon:Oc,title:h("codeBlock"),action:e=>{let{selection:t}=e,o=x(e,"code-block");if(o){let[,r]=o,n=pp.string(e,r);yo.removeNodes(e,{at:r}),yo.insertNodes(e,{type:"paragraph",children:[{text:n}]},{at:r});return}if(t&&!qb.equals(t.anchor.path,t.focus.path)){e.codeBlock.createCodeBlock({language:"text"});return}if(t&&t.anchor.offset!==t.focus.offset){let r=pp.string(e,t);yo.delete(e),yo.insertNodes(e,{type:"code-block",language:"text",children:[{type:"code-block-line",children:[{text:r}]}]});return}e.codeBlock.createCodeBlock({language:"text"})},active:e=>!!x(e,"code-block"),show:e=>!e.wysimark.disableCodeBlock}],$r=up,dp=[{icon:Mr,title:h("quote"),more:!0,children:up}];var Qb=[...Yc,"divider",...zr,"divider",...Dr,"divider",...np,"divider",...$r],jb=[...Sr,"divider",...zr,"divider",...Dr,"divider",...ip,"divider",...$r],fp=[...Sr,"divider",...cp,"divider",...sp,"divider",...ap,"divider",...dp],hp=fp;var nt=[Qb,jb,fp];import{clsx as Xb}from"clsx";import{useCallback as Nr,useRef as Yb}from"react";import{ReactEditor as Jb,useSlate as Zb,useSlateStatic as eE}from"slate-react";import{jsx as ko,jsxs as tE}from"react/jsx-runtime";function gp({item:e}){let t=eE(),o=Zb(),r=e.active?e.active(o):!1,n=Yb(null),i=J({title:e.title,hotkey:()=>e.hotkey?At(e.hotkey):void 0}),a=O("menu"),l=Nr(()=>{let c=n.current,u=e.children,p=e.Component;c&&(u?a.open(()=>ko(Ve,{dest:c,items:u,close:a.close})):p&&a.open(()=>ko(p,{dest:c,close:a.close})))},[e]),m=Nr(()=>{if(e.action){e.action(t),Jb.focus(t);return}a.layer?a.close():l()},[a.layer,e]),s=Nr(c=>{i.onMouseEnter(c),a.layer&&l()},[a.layer,l,i.onMouseEnter]);return tE(na,{"data-item-type":"button",ref:n,onMouseEnter:s,onMouseLeave:i.onMouseLeave,onClick:m,className:Xb({"--active":r&&!zo(e?.title)?.includes("Depth"),"--more":e.more,"--disabled":!r&&zo(e?.title)?.includes("Depth")}),children:[ko(e.icon,{}),e.more?ko(Cc,{}):null]})}import{jsx as it}from"react/jsx-runtime";function aE({item:e}){let t=iE();return e==="divider"?it(oa,{"data-item-type":"divider",children:it(ra,{})}):(e.show===void 0?!0:e.show(t))?it(gp,{item:e}):null}function lE(e){let t=e.querySelector("[data-item-type=button]"),o=e.querySelector("[data-item-type=divider]");return!t||!o?null:{toolbar:e.offsetWidth,button:t.offsetWidth,divider:o.offsetWidth}}function sE(e,t,o){let r=0;for(let n of e)r+=n==="divider"?o:t;return r}var mE=4;function bp(){let e=rE(null),[t,o]=nE(hp);return oE(()=>{let r=e.current;if(!r)return;let n=()=>{let a=lE(r);if(a){for(let l=0;l<nt.length-1;l++)if(sE(nt[l],a.button,a.divider)<a.toolbar-mE){o(nt[l]);return}o(nt[nt.length-1])}},i=new ResizeObserver(n);return i.observe(r),()=>{i.disconnect()}},[]),it(ea,{ref:e,children:it(ta,{children:t.map((r,n)=>it(aE,{item:r},typeof r=="string"?n:r.title))})})}import{jsx as Hr,jsxs as EE}from"react/jsx-runtime";function Ep({attributes:e,Editable:t}){let o=uE(null),r=bE(),n=gE(),i=pE(a=>{a.target===a.currentTarget&&(fE.select(r,dE.end(r,[])),hE.focus(r))},[r]);return Hr(Oi,{children:EE(Xi,{ref:o,className:cE({"--focused":n}),style:{height:r.toolbar.height,minHeight:r.toolbar.minHeight,maxHeight:r.toolbar.maxHeight},onClick:i,children:[Hr(bp,{}),Hr(t,{as:ji,...e,style:{overflowY:"auto"}})]})})}var xp=T((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:Ep,editableProps:{}}));import{Editor as Ar,Node as xE,Path as yE,Transforms as kE}from"slate";var yp=T(e=>(e.allowTrailingBlock=!0,{name:"trailing-block",editor:{normalizeNode:t=>{if(!Ar.isEditor(t[0]))return!1;let o=[e.children.length-1],r=xE.child(e,e.children.length-1);return(Ar.hasBlocks(e,r)||Ar.isVoid(e,r))&&kE.insertNodes(e,{type:"paragraph",children:[{text:""}]},{at:yE.next(o)}),!0}}}));import{Transforms as TE}from"slate";function vE(e,t){let o=ge(t),r=Ee(o);TE.insertNodes(e,r)}function kp(e){return{pasteMarkdown:f(vE,e)}}var Tp=T(e=>(e.pasteMarkdown=kp(e),{name:"paste-markdown",editor:{},editableProps:{onPaste(t){let{types:o}=t.clipboardData;if(o.length!==1||o[0]!=="text/plain")return!1;let r=t.clipboardData.getData("text/plain");return e.pasteMarkdown.pasteMarkdown(r),Me(t),!0}}}));import{jsx as IE}from"react/jsx-runtime";function wE(e){let t={...e.attributes,style:{...e.attributes.style,width:void 0,maxWidth:void 0}};return IE("span",{...t,children:e.children})}var vp=T((e,t,{createPolicy:o})=>(e.placeholder={},o({name:"placeholder",editableProps:{renderPlaceholder:wE}})));var wp=[Tp,bs,Ia,Ps,fm,Hs,Il,Xl,os,bc,Ds,yp,mm,Sa,bm,cs,yc,xp,Tl,vp];var ME=ci(wp),{withSink:Ip,SinkEditable:Mp}=ME;import{useState as PE}from"react";import{createEditor as CE,Editor as SE,Transforms as RE}from"slate";import{withHistory as LE}from"slate-history";import{withReact as BE}from"slate-react";function Or({authToken:e,height:t,minHeight:o,maxHeight:r,disableRawMode:n,disableTaskList:i,disableCodeBlock:a,disableHighlight:l}={}){let[m]=PE(()=>{let s=CE(),c=Ip(BE(LE(s)),{toolbar:{height:t,minHeight:o,maxHeight:r,showUploadButtons:!!e},image:{}});return c.convertElement.addConvertElementType("paragraph"),s.wysimark={disableRawMode:n??!0,disableTaskList:i,disableCodeBlock:a,disableHighlight:l??!0},s.getMarkdown=()=>ct(s.children),s.setMarkdown=u=>{let p=ge(u),d=Ee(p);s.children=d,s.selection=null,RE.select(s,SE.start(s,[0]))},c});return m}import{jsx as oe,jsxs as Cp}from"react/jsx-runtime";function AE({children:e,attributes:t}){return oe("span",{...t,children:e})}function Sp({editor:e,value:t,onChange:o,throttleInMs:r=1e3,placeholder:n,className:i,style:a,onImageChange:l,onFileSelect:m}){let[s,c]=Pp(!1),[u,p]=Pp(t),d=Mt(!1),g=Mt(void 0),v=Mt(void 0),S=Mt(null),L=Mt(o);L.current=o;let M=It(DE(()=>{let C=ct(e.children);e.wysimark.prevValue={markdown:C,children:e.children},L.current(C)},r,{leading:!1,trailing:!0}),[e,r]),$=It(()=>{v.current!==e.children&&(v.current=e.children,M())},[M]);if(!s){let C=S.current??t;if(S.current!==null&&(S.current=null),e.wysimark.prevValue==null||g.current==null){d.current=!0;let de=ge(C),fe=Ee(de);e.children=fe,v.current=g.current=fe,e.wysimark.prevValue={markdown:C,children:fe}}else if(C!==e.wysimark.prevValue.markdown){d.current=!0;let de=ge(C),fe=Ee(de);e.children=fe,e.selection=null,$E.select(e,zE.start(e,[0]))}}let w=It(()=>{navigator.userAgent.toLowerCase().includes("firefox")&&NE.focus(e)},[e]),B=It(()=>{M.flush()},[M]),I=C=>{let de=C.target.value;p(de),o(de)},E=It(()=>{let C=e.getMarkdown();p(C)},[e]),k=()=>{s?(S.current=u,e.wysimark.prevValue=void 0,g.current=void 0,v.current=void 0):E(),c(!s)};e.wysimark.onImageChange=l,e.wysimark.onFileSelect=m;let P=e.wysimark.disableRawMode;return Cp("div",{style:{position:"relative",display:"flex",flexDirection:"column",flex:1,minHeight:0},children:[!P&&oe("div",{style:{position:"absolute",top:"5px",right:"25px",zIndex:10},children:oe("div",{onClick:k,style:{background:"none",border:s?"1px solid #4a90e2":"1px solid transparent",cursor:"pointer",padding:"6px",borderRadius:"4px",backgroundColor:s?"rgba(74, 144, 226, 0.1)":"transparent",boxShadow:s?"0 1px 3px rgba(0, 0, 0, 0.1)":"none",transition:"all 0.2s ease-in-out",display:"flex",alignItems:"center",justifyContent:"center"},title:s?h("switchToVisualEditor"):h("switchToRawMarkdown"),role:"button",tabIndex:0,onKeyDown:C=>{(C.key==="Enter"||C.key===" ")&&(k(),C.preventDefault())},children:Cp("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[oe("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",stroke:s?"#4a90e2":"currentColor",strokeWidth:"1.5",fill:s?"rgba(74, 144, 226, 0.05)":"transparent"}),oe("path",{d:"M7 15V9L10 12L13 9V15",stroke:s?"#4a90e2":"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),oe("path",{d:"M16 9H18V15",stroke:s?"#4a90e2":"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),oe("path",{d:"M16 12H18",stroke:s?"#4a90e2":"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})})}),oe("div",{style:{display:s?"block":"none",textAlign:"center"},children:oe("textarea",{value:at(u),onChange:I,placeholder:n,className:i,style:{width:"calc(100% - 60px)",margin:"0 auto",minHeight:"200px",padding:"20px",fontFamily:"monospace",fontSize:"1rem",color:"#333",lineHeight:"1.5",backgroundColor:"#fff",border:"1px solid #ddd",borderRadius:"4px",...a}})}),oe("div",{style:{display:s?"none":"flex",flexDirection:"column",flex:1,minHeight:0},children:oe(HE,{editor:e,initialValue:g.current,onChange:$,children:oe(Mp,{renderLeaf:AE,onMouseDown:w,onBlur:B,placeholder:n,className:i,style:a})})})]})}import{jsx as Rp}from"react/jsx-runtime";function WE({standaloneOptions:{onChange:e,placeholder:t,className:o,...r},standaloneMethodsRef:n}){let[i,a]=KE(r.initialMarkdown||""),l=VE(i),m=Or(r);l.current=i,FE(n,()=>({getMarkdown(){return l.current},setMarkdown(c){l.current=c,a(c)}}),[l,a]);let s=UE(c=>{l.current=c,a(c),e?.(c)},[m]);return Rp(Sp,{editor:m,value:i,className:o||"",onChange:s,placeholder:t})}function QA(e,t){let o=OE(),r=_E(e);return r.render(Rp(WE,{standaloneMethodsRef:o,standaloneOptions:t})),{unmount(){try{r.unmount()}catch{}},getMarkdown(){return o.current?.getMarkdown()||""},setMarkdown(n){o.current?.setMarkdown(n)}}}export{Sp as Editable,QA as createWysimark,_r as unescapeMarkdown,Or as useEditor};
|
|
1486
|
+
`;import{Fragment as Ob,jsx as te,jsxs as wt}from"react/jsx-runtime";var Ab=Lb("enter");function ep({dest:e,close:t}){let o=Hb(),r=Db(null),[n,i]=Tt({x:0,y:0}),a=xo((E,k)=>{i(P=>({x:P.x+E,y:P.y+k}))},[]),l=X({src:r,dest:e},({src:E,dest:k},P)=>!E||!k?{left:0,top:0}:ke(E,P,{left:k.left-12,top:k.top+k.height},{margin:16})),m={...l,left:l.left+n.x,top:l.top+n.y},s=Bb(()=>{let{selection:E}=o;return E&&!$b.isCollapsed(E)?zb.string(o,E):""},[]),[c,d]=Tt(""),[p,u]=Tt(s),[g,T]=Tt(s),[S,L]=Tt(!1),M=()=>{let E=p.trim()||c,k=g.trim()||void 0;o.anchor.insertLink(c,E,{select:!0,title:k}),Nb.focus(o),t()},$=xo(E=>{d(E.currentTarget.value)},[d]),w=xo(E=>{let k=E.currentTarget.value;u(k),S||T(k)},[u,T,S]),B=xo(E=>{T(E.currentTarget.value),L(!0)},[T]),I=E=>{Ab(E)&&(E.preventDefault(),E.stopPropagation(),M())};return wt(Ob,{children:[te(ye,{close:t}),wt(Ki,{ref:r,style:m,children:[te(Te,{onDrag:a}),wt("div",{style:{padding:"0.75em"},children:[te(Ut,{children:te(Ft,{type:"text",value:c,autoFocus:!0,placeholder:h("linkUrl"),onChange:$,onKeyDown:I})}),te(Ut,{style:{marginTop:"0.5em"},children:te(Ft,{type:"text",value:p,placeholder:h("linkText"),onChange:w,onKeyDown:I})}),wt(Ut,{style:{marginTop:"0.5em"},children:[te(Ft,{type:"text",value:g,placeholder:h("tooltipText"),onChange:B,onKeyDown:I}),wt(Sr,{onClick:M,children:[te(Eo,{}),te(Mc,{})]}),te(Sr,{onClick:t,style:{marginLeft:"0.25em",background:"var(--shade-400)"},children:te(_c,{})})]}),te(Zc,{children:h("tooltipHint")})]})]})]})}var Rr=[{icon:Eo,title:h("insertLink"),more:!0,hotkey:"mod+k",Component:ep},{icon:Hc,title:h("insertImageFromUrl"),more:!0,Component:Yc},{icon:zc,title:h("insertTable"),more:!0,Component:Tc},{icon:Gc,title:h("horizontalRule"),hotkey:"super+-",action:e=>e.horizontalRule.insertHorizontalRule()}],tp=Rr,op=Rr,rp=[{icon:Ac,title:h("insert"),more:!0,children:Rr}];import{Editor as Ub}from"slate";function rt(e){let t=Ub.marks(e);return{bold:t?.bold||!1,italic:t?.italic||!1,strike:t?.strike||!1,code:t?.code||!1,underline:t?.underline||!1,highlight:t?.highlight||!1}}var np=[{icon:Tr,title:h("bold"),hotkey:"mod+b",action:e=>e.marksPlugin.toggleBold(),active:e=>rt(e).bold},{icon:Lc,title:h("italic"),hotkey:"mod+i",action:e=>e.marksPlugin.toggleItalic(),active:e=>rt(e).italic},{icon:Oc,title:h("strike"),hotkey:"super+k",action:e=>e.marksPlugin.toggleStrike(),active:e=>rt(e).strike},{icon:$c,title:h("inlineCode"),hotkey:"mod+j",action:e=>e.inlineCode.toggleInlineCode(),active:e=>rt(e).code},{icon:Uc,title:h("underline"),hotkey:"mod+u",action:e=>e.marksPlugin.toggleUnderline(),active:e=>rt(e).underline},{icon:Wc,title:h("highlight"),hotkey:"mod+h",action:e=>e.marksPlugin.toggleHighlight(),active:e=>rt(e).highlight,show:e=>!e.wysimark.disableHighlight}],Lr=np,ip=[{icon:Tr,title:h("format"),more:!0,children:np}];var ap=[{icon:Dc,title:h("bulletList"),hotkey:"super+8",action:e=>e.list.convertUnorderedList(!0)},{icon:Ir,title:h("numberedList"),hotkey:"super+7",action:e=>e.list.convertOrderedList(!0)},{icon:Fc,title:h("checkList"),hotkey:"super+9",action:e=>e.list.convertTaskList(!0),show:e=>!e.wysimark.disableTaskList}],Br=[...ap,"divider",...Mr],lp=[{icon:Ir,title:h("list"),more:!0,children:[...ap,"divider",...Mr]}];import{Editor as sp,Path as Fb,Transforms as yo}from"slate";var mp=[{icon:wr,title:h("quote"),hotkey:"super+.",action:e=>{e.blockQuotePlugin.isActive()?e.blockQuotePlugin.outdent():e.blockQuotePlugin.indent()},active:e=>e.blockQuotePlugin.isActive()},{icon:Bc,title:h("increaseQuoteDepth"),action:e=>e.blockQuotePlugin.increaseDepth(),active:e=>e.blockQuotePlugin.canIncreaseDepth()},{icon:Nc,title:h("codeBlock"),action:e=>{let{selection:t}=e,o=x(e,"code-block");if(o){let[,r]=o,n=sp.string(e,r);yo.removeNodes(e,{at:r}),yo.insertNodes(e,{type:"paragraph",children:[{text:n}]},{at:r});return}if(t&&!Fb.equals(t.anchor.path,t.focus.path)){e.codeBlock.createCodeBlock({language:"text"});return}if(t&&t.anchor.offset!==t.focus.offset){let r=sp.string(e,t);yo.delete(e),yo.insertNodes(e,{type:"code-block",language:"text",children:[{type:"code-block-line",children:[{text:r}]}]});return}e.codeBlock.createCodeBlock({language:"text"})},active:e=>!!x(e,"code-block"),show:e=>!e.wysimark.disableCodeBlock}],Dr=mp,cp=[{icon:wr,title:h("quote"),more:!0,children:mp}];var Vb=[...Qc,"divider",...Br,"divider",...Lr,"divider",...tp,"divider",...Dr],Kb=[...Pr,"divider",...Br,"divider",...Lr,"divider",...op,"divider",...Dr],pp=[...Pr,"divider",...lp,"divider",...ip,"divider",...rp,"divider",...cp],dp=pp;var nt=[Vb,Kb,pp];import{clsx as _b}from"clsx";import{useCallback as zr,useRef as Wb}from"react";import{ReactEditor as Gb,useSlate as qb,useSlateStatic as Qb}from"slate-react";import{jsx as ko,jsxs as jb}from"react/jsx-runtime";function up({item:e}){let t=Qb(),o=qb(),r=e.active?e.active(o):!1,n=Wb(null),i=J({title:e.title,hotkey:()=>e.hotkey?At(e.hotkey):void 0}),a=O("menu"),l=zr(()=>{let c=n.current,d=e.children,p=e.Component;c&&(d?a.open(()=>ko(Ve,{dest:c,items:d,close:a.close})):p&&a.open(()=>ko(p,{dest:c,close:a.close})))},[e]),m=zr(()=>{if(e.action){e.action(t),Gb.focus(t);return}a.layer?a.close():l()},[a.layer,e]),s=zr(c=>{i.onMouseEnter(c),a.layer&&l()},[a.layer,l,i.onMouseEnter]);return jb(ta,{"data-item-type":"button",ref:n,onMouseEnter:s,onMouseLeave:i.onMouseLeave,onClick:m,className:_b({"--active":r&&!Bo(e?.title)?.includes("Depth"),"--more":e.more,"--disabled":!r&&Bo(e?.title)?.includes("Depth")}),children:[ko(e.icon,{}),e.more?ko(Ic,{}):null]})}import{jsx as it}from"react/jsx-runtime";function eE({item:e}){let t=Zb();return e==="divider"?it(Zi,{"data-item-type":"divider",children:it(ea,{})}):(e.show===void 0?!0:e.show(t))?it(up,{item:e}):null}function tE(e){let t=e.querySelector("[data-item-type=button]"),o=e.querySelector("[data-item-type=divider]");return!t||!o?null:{toolbar:e.offsetWidth,button:t.offsetWidth,divider:o.offsetWidth}}function oE(e,t,o){let r=0;for(let n of e)r+=n==="divider"?o:t;return r}var rE=4;function fp(){let e=Yb(null),[t,o]=Jb(dp);return Xb(()=>{let r=e.current;if(!r)return;let n=()=>{let a=tE(r);if(a){for(let l=0;l<nt.length-1;l++)if(oE(nt[l],a.button,a.divider)<a.toolbar-rE){o(nt[l]);return}o(nt[nt.length-1])}},i=new ResizeObserver(n);return i.observe(r),()=>{i.disconnect()}},[]),it(Yi,{ref:e,children:it(Ji,{children:t.map((r,n)=>it(eE,{item:r},typeof r=="string"?n:r.title))})})}import{jsx as $r,jsxs as dE}from"react/jsx-runtime";function hp({attributes:e,Editable:t}){let o=aE(null),r=pE(),n=cE(),i=iE(a=>{a.target===a.currentTarget&&(sE.select(r,lE.end(r,[])),mE.focus(r))},[r]);return $r(Ni,{children:dE(qi,{ref:o,className:nE({"--focused":n}),style:{height:r.toolbar.height,minHeight:r.toolbar.minHeight,maxHeight:r.toolbar.maxHeight},onClick:i,children:[$r(fp,{}),$r(t,{as:Gi,...e,style:{overflowY:"auto"}})]})})}var gp=v((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:hp,editableProps:{}}));import{Editor as Nr,Node as uE,Path as fE,Transforms as hE}from"slate";var bp=v(e=>(e.allowTrailingBlock=!0,{name:"trailing-block",editor:{normalizeNode:t=>{if(!Nr.isEditor(t[0]))return!1;let o=[e.children.length-1],r=uE.child(e,e.children.length-1);return(Nr.hasBlocks(e,r)||Nr.isVoid(e,r))&&hE.insertNodes(e,{type:"paragraph",children:[{text:""}]},{at:fE.next(o)}),!0}}}));import{Transforms as gE}from"slate";function bE(e,t){let o=ge(t),r=Ee(o);gE.insertNodes(e,r)}function Ep(e){return{pasteMarkdown:f(bE,e)}}var xp=v(e=>(e.pasteMarkdown=Ep(e),{name:"paste-markdown",editor:{},editableProps:{onPaste(t){let{types:o}=t.clipboardData;if(o.length!==1||o[0]!=="text/plain")return!1;let r=t.clipboardData.getData("text/plain");return e.pasteMarkdown.pasteMarkdown(r),Me(t),!0}}}));import{jsx as xE}from"react/jsx-runtime";function EE(e){let t={...e.attributes,style:{...e.attributes.style,width:void 0,maxWidth:void 0}};return xE("span",{...t,children:e.children})}var yp=v((e,t,{createPolicy:o})=>(e.placeholder={},o({name:"placeholder",editableProps:{renderPlaceholder:EE}})));var kp=[xp,fs,va,ws,pm,zs,vl,ql,Zl,fc,Rs,bp,am,Ma,fm,ls,bc,gp,xl,yp];var yE=li(kp),{withSink:vp,SinkEditable:Tp}=yE;import{useState as kE}from"react";import{createEditor as vE,Editor as TE,Transforms as wE}from"slate";import{withHistory as IE}from"slate-history";import{withReact as ME}from"slate-react";function Hr({authToken:e,height:t,minHeight:o,maxHeight:r,disableRawMode:n,disableTaskList:i,disableCodeBlock:a,disableHighlight:l}={}){let[m]=kE(()=>{let s=vE(),c=vp(ME(IE(s)),{toolbar:{height:t,minHeight:o,maxHeight:r,showUploadButtons:!!e},image:{}});return c.convertElement.addConvertElementType("paragraph"),s.wysimark={disableRawMode:n??!0,disableTaskList:i,disableCodeBlock:a,disableHighlight:l??!0},s.getMarkdown=()=>ct(s.children),s.setMarkdown=d=>{let p=ge(d),u=Ee(p);s.children=u,s.selection=null,wE.select(s,TE.start(s,[0]))},c});return m}import{jsx as oe,jsxs as Ip}from"react/jsx-runtime";function BE({children:e,attributes:t}){return oe("span",{...t,children:e})}function Mp({editor:e,value:t,onChange:o,throttleInMs:r=1e3,placeholder:n,className:i,style:a,onImageChange:l,onFileSelect:m}){let[s,c]=wp(!1),[d,p]=wp(t),u=Mt(!1),g=Mt(void 0),T=Mt(void 0),S=Mt(null),L=Mt(o);L.current=o;let M=It(PE(()=>{let C=ct(e.children);e.wysimark.prevValue={markdown:C,children:e.children},L.current(C)},r,{leading:!1,trailing:!0}),[e,r]),$=It(()=>{T.current!==e.children&&(T.current=e.children,M())},[M]);if(!s){let C=S.current??t;if(S.current!==null&&(S.current=null),e.wysimark.prevValue==null||g.current==null){u.current=!0;let ue=ge(C),fe=Ee(ue);e.children=fe,T.current=g.current=fe,e.wysimark.prevValue={markdown:C,children:fe}}else if(C!==e.wysimark.prevValue.markdown){u.current=!0;let ue=ge(C),fe=Ee(ue);e.children=fe,e.selection=null,SE.select(e,CE.start(e,[0]))}}let w=It(()=>{navigator.userAgent.toLowerCase().includes("firefox")&&RE.focus(e)},[e]),B=It(()=>{M.flush()},[M]),I=C=>{let ue=C.target.value;p(ue),o(ue)},E=It(()=>{let C=e.getMarkdown();p(C)},[e]),k=()=>{s?(S.current=d,e.wysimark.prevValue=void 0,g.current=void 0,T.current=void 0):E(),c(!s)};e.wysimark.onImageChange=l,e.wysimark.onFileSelect=m;let P=e.wysimark.disableRawMode;return Ip("div",{style:{position:"relative",display:"flex",flexDirection:"column",flex:1,minHeight:0},children:[!P&&oe("div",{style:{position:"absolute",top:"5px",right:"25px",zIndex:10},children:oe("div",{onClick:k,style:{background:"none",border:s?"1px solid #4a90e2":"1px solid transparent",cursor:"pointer",padding:"6px",borderRadius:"4px",backgroundColor:s?"rgba(74, 144, 226, 0.1)":"transparent",boxShadow:s?"0 1px 3px rgba(0, 0, 0, 0.1)":"none",transition:"all 0.2s ease-in-out",display:"flex",alignItems:"center",justifyContent:"center"},title:s?h("switchToVisualEditor"):h("switchToRawMarkdown"),role:"button",tabIndex:0,onKeyDown:C=>{(C.key==="Enter"||C.key===" ")&&(k(),C.preventDefault())},children:Ip("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[oe("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",stroke:s?"#4a90e2":"currentColor",strokeWidth:"1.5",fill:s?"rgba(74, 144, 226, 0.05)":"transparent"}),oe("path",{d:"M7 15V9L10 12L13 9V15",stroke:s?"#4a90e2":"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),oe("path",{d:"M16 9H18V15",stroke:s?"#4a90e2":"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),oe("path",{d:"M16 12H18",stroke:s?"#4a90e2":"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})})}),oe("div",{style:{display:s?"block":"none",textAlign:"center"},children:oe("textarea",{value:at(d),onChange:I,placeholder:n,className:i,style:{width:"calc(100% - 60px)",margin:"0 auto",minHeight:"200px",padding:"20px",fontFamily:"monospace",fontSize:"1rem",color:"#333",lineHeight:"1.5",backgroundColor:"#fff",border:"1px solid #ddd",borderRadius:"4px",...a}})}),oe("div",{style:{display:s?"none":"flex",flexDirection:"column",flex:1,minHeight:0},children:oe(LE,{editor:e,initialValue:g.current,onChange:$,children:oe(Tp,{renderLeaf:BE,onMouseDown:w,onBlur:B,placeholder:n,className:i,style:a})})})]})}import{jsx as Pp}from"react/jsx-runtime";function OE({standaloneOptions:{onChange:e,placeholder:t,className:o,...r},standaloneMethodsRef:n}){let[i,a]=HE(r.initialMarkdown||""),l=NE(i),m=Hr(r);l.current=i,$E(n,()=>({getMarkdown(){return l.current},setMarkdown(c){l.current=c,a(c)}}),[l,a]);let s=zE(c=>{l.current=c,a(c),e?.(c)},[m]);return Pp(Mp,{editor:m,value:i,className:o||"",onChange:s,placeholder:t})}function HA(e,t){let o=DE(),r=AE(e);return r.render(Pp(OE,{standaloneMethodsRef:o,standaloneOptions:t})),{unmount(){try{r.unmount()}catch{}},getMarkdown(){return o.current?.getMarkdown()||""},setMarkdown(n){o.current?.setMarkdown(n)}}}export{Mp as Editable,HA as createWysimark,Fr as unescapeMarkdown,Hr as useEditor};
|