react-text-forge 1.3.6 → 1.3.7
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/react-text-forge.js
CHANGED
|
@@ -940,6 +940,9 @@ const CustomEditor = {
|
|
|
940
940
|
const [match] = Editor.nodes(editor, {
|
|
941
941
|
match: (n) => n.type === "list-item"
|
|
942
942
|
});
|
|
943
|
+
if (!match) {
|
|
944
|
+
return null;
|
|
945
|
+
}
|
|
943
946
|
return match[0].listStyleType;
|
|
944
947
|
},
|
|
945
948
|
/**
|
|
@@ -981,7 +984,6 @@ const CustomEditor = {
|
|
|
981
984
|
if (isList) {
|
|
982
985
|
if (CustomEditor.isSelectionInList(editor)) {
|
|
983
986
|
if (this.getCurrentBlock(editor, editor.selection) === blockType) {
|
|
984
|
-
console.log(this.getCurrentBlock(editor, editor.selection), blockType, bulletType);
|
|
985
987
|
if (bulletType) {
|
|
986
988
|
Transforms.setNodes(editor, { listStyleType: bulletType });
|
|
987
989
|
return;
|
|
@@ -54,7 +54,7 @@ const T=e=>e.map(e=>{if(t.Text.isText(e)){let t=e.text;const r=[];if(e.bold&&r.p
|
|
|
54
54
|
*
|
|
55
55
|
* This source code is licensed under the MIT license found in the
|
|
56
56
|
* LICENSE file in the root directory of this source tree.
|
|
57
|
-
*/function P(){return O||(O=1,"production"!==process.env.NODE_ENV&&function(){function e(t){if(null==t)return null;if("function"==typeof t)return t.$$typeof===j?null:t.displayName||t.name||null;if("string"==typeof t)return t;switch(t){case g:return"Fragment";case m:return"Profiler";case f:return"StrictMode";case x:return"Suspense";case v:return"SuspenseList";case C:return"Activity"}if("object"==typeof t)switch(t.tag,t.$$typeof){case p:return"Portal";case b:return(t.displayName||"Context")+".Provider";case h:return(t._context.displayName||"Context")+".Consumer";case y:var r=t.render;return(t=t.displayName)||(t=""!==(t=r.displayName||r.name||"")?"ForwardRef("+t+")":"ForwardRef"),t;case k:return null!==(r=t.displayName||null)?r:e(t.type)||"Memo";case w:r=t._payload,t=t._init;try{return e(t(r))}catch(n){}}return null}function t(e){return""+e}function n(e){try{t(e);var r=!1}catch(l){r=!0}if(r){var n=(r=console).error,o="function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return n.call(r,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",o),t(e)}}function o(t){if(t===g)return"<>";if("object"==typeof t&&null!==t&&t.$$typeof===w)return"<...>";try{var r=e(t);return r?"<"+r+">":"<...>"}catch(n){return"<...>"}}function l(){return Error("react-stack-top-frame")}function s(){var t=e(this.type);return A[t]||(A[t]=!0),void 0!==(t=this.props.ref)?t:null}function a(t,r,o,l,a,u,p,g){var f,m=r.children;if(void 0!==m)if(l){if(N(m)){for(l=0;l<m.length;l++)i(m[l]);Object.freeze&&Object.freeze(m)}}else i(m);if(S.call(r,"key")){m=e(t);var h=Object.keys(r).filter(function(e){return"key"!==e});l=0<h.length?"{key: someKey, "+h.join(": ..., ")+": ...}":"{key: someKey}",L[m+l]||(h=0<h.length?"{"+h.join(": ..., ")+": ...}":"{}",L[m+l]=!0)}if(m=null,void 0!==o&&(n(o),m=""+o),function(e){if(S.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}(r)&&(n(r.key),m=""+r.key),"key"in r)for(var b in o={},r)"key"!==b&&(o[b]=r[b]);else o=r;return m&&function(e){function t(){c||(c=!0)}t.isReactWarning=!0,Object.defineProperty(e,"key",{get:t,configurable:!0})}(o,"function"==typeof t&&(t.displayName||t.name)),function(e,t,r,n,o,l,a,i){return r=l.ref,e={$$typeof:d,type:e,key:t,props:l,_owner:o},null!==(void 0!==r?r:null)?Object.defineProperty(e,"ref",{enumerable:!1,get:s}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:a}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:i}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}(t,m,u,0,null===(f=F.A)?null:f.getOwner(),o,p,g)}function i(e){"object"==typeof e&&null!==e&&e.$$typeof===d&&e._store&&(e._store.validated=1)}var c,u=r,d=Symbol.for("react.transitional.element"),p=Symbol.for("react.portal"),g=Symbol.for("react.fragment"),f=Symbol.for("react.strict_mode"),m=Symbol.for("react.profiler"),h=Symbol.for("react.consumer"),b=Symbol.for("react.context"),y=Symbol.for("react.forward_ref"),x=Symbol.for("react.suspense"),v=Symbol.for("react.suspense_list"),k=Symbol.for("react.memo"),w=Symbol.for("react.lazy"),C=Symbol.for("react.activity"),j=Symbol.for("react.client.reference"),F=u.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,S=Object.prototype.hasOwnProperty,N=Array.isArray,E=console.createTask?console.createTask:function(){return null},A={},T=(u={"react-stack-bottom-frame":function(e){return e()}})["react-stack-bottom-frame"].bind(u,l)(),$=E(o(l)),L={};B.Fragment=g,B.jsx=function(e,t,r,n,l){var s=1e4>F.recentlyCreatedOwnerStacks++;return a(e,t,r,!1,0,l,s?Error("react-stack-top-frame"):T,s?E(o(e)):$)},B.jsxs=function(e,t,r,n,l){var s=1e4>F.recentlyCreatedOwnerStacks++;return a(e,t,r,!0,0,l,s?Error("react-stack-top-frame"):T,s?E(o(e)):$)}}()),B}var R=(D||(D=1,"production"===process.env.NODE_ENV?z.exports=function(){if(M)return _;M=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function r(t,r,n){var o=null;if(void 0!==n&&(o=""+n),void 0!==r.key&&(o=""+r.key),"key"in r)for(var l in n={},r)"key"!==l&&(n[l]=r[l]);else n=r;return r=n.ref,{$$typeof:e,type:t,key:o,ref:void 0!==r?r:null,props:n}}return _.Fragment=t,_.jsx=r,_.jsxs=r,_}():z.exports=P()),z.exports);const I=({attributes:e,children:t,element:n})=>{const o=r.useRef(null),l=n.language||"plaintext";return R.jsxs("pre",{className:"rtf",...e,children:[R.jsx("div",{spellCheck:"false",className:"rtf code-language",children:l.toUpperCase()}),R.jsx("code",{ref:o,className:`language-${l}`,children:t})]})},H={isMarkActive(e,r){const n=t.Editor.marks(e);return!!n&&!0===n[r]},toggleMark(e,r){H.isMarkActive(e,r)?t.Editor.removeMark(e,r):(t.Editor.addMark(e,r,!0),"subscript"===r?t.Editor.removeMark(e,"superscript"):"superscript"===r&&t.Editor.removeMark(e,"subscript"))},isBlockActive(e,r){const[n]=t.Editor.nodes(e,{match:e=>e.type===r});return!!n},isSelectionInList(e){const[r]=t.Editor.nodes(e,{match:e=>"bullet-list"===e.type||"numbered-list"===e.type});return!!r},getListStyleType(e){const[r]=t.Editor.nodes(e,{match:e=>"list-item"===e.type});return r[0].listStyleType},getCurrentBlock(e,r){if(!r)return null;const[n]=t.Editor.nodes(e,{match:e=>t.Element.isElement(e),at:r});if(n){const[e]=n;return e.type}return null},toggleBlock(e,r,n=null){const o=H.isBlockActive(e,r),l="bullet-list"===r||"numbered-list"===r;if(("h1"===r||"h2"===r)&&t.Editor.removeMark(e,"fontSize"),l){if(H.isSelectionInList(e)){if(this.getCurrentBlock(e,e.selection)===r){if(n)return void t.Transforms.setNodes(e,{listStyleType:n});t.Transforms.unwrapNodes(e,{match:e=>!t.Editor.isEditor(e)&&t.Element.isElement(e)&&("bullet-list"===e.type||"numbered-list"===e.type),split:!0}),t.Transforms.setNodes(e,{type:"paragraph"})}else{t.Transforms.unwrapNodes(e,{match:e=>!t.Editor.isEditor(e)&&t.Element.isElement(e)&&("bullet-list"===e.type||"numbered-list"===e.type),split:!0}),t.Transforms.setNodes(e,{type:"paragraph"}),t.Transforms.setNodes(e,{type:"list-item"});const o={type:r,children:[]};t.Transforms.wrapNodes(e,o),n&&t.Transforms.setNodes(e,{listStyleType:n})}return}{t.Transforms.setNodes(e,{type:"list-item"});const o={type:r,children:[]};return t.Transforms.wrapNodes(e,o),void(n&&t.Transforms.setNodes(e,{listStyleType:n}))}}const s={type:o?"paragraph":r};t.Transforms.setNodes(e,s)},isAlignActive(e,r){const[n]=t.Editor.nodes(e,{match:e=>e.align===r});return!!n},toggleAlign(e,r){const n=H.isAlignActive(e,r);["alignLeft","center","right"].forEach(r=>{t.Transforms.unsetNodes(e,{align:r})}),n||t.Transforms.setNodes(e,{align:r})},canIndent(e,r){const[n]=t.Editor.nodes(e,{match:e=>"list-item"===e.type});if(n){const[,e]=n;if("indent"===r)return!(e.length>2);if(e.length>2)return!0}return!1},handleIndent(e){const[r]=t.Editor.nodes(e,{match:e=>"list-item"===e.type});if(r){const[,o]=r,l=t.Editor.above(e,{match:e=>["bullet-list","numbered-list"].includes(e.type)})[0].type;try{const r=t.Path.parent(t.Path.parent(o)),n=t.Editor.node(e,r);if(t.Element.isElement(n[0])&&n[0].type===l)return;const s={type:l,children:[]},a=[o[0],o[1]+1];t.Transforms.insertNodes(e,s,{at:a});const i={...t.Editor.node(e,o)[0]},c=[o[0],o[1]+1,0];t.Transforms.insertNodes(e,i,{at:c}),t.Transforms.removeNodes(e,{at:o}),t.Transforms.setNodes(e,{type:"list-item"},{at:[o[0],o[1],0]})}catch(n){}}},handleOutdent(e){const[r]=t.Editor.nodes(e,{match:e=>"list-item"===e.type});if(r){const[,o]=r,l=t.Editor.above(e,{match:e=>["bullet-list","numbered-list"].includes(e.type)})[0].type;try{const r=t.Path.parent(o),n=t.Editor.node(e,r);t.Element.isElement(n)&&n.type===l?t.Transforms.liftNodes(e,{at:o}):t.Transforms.unwrapNodes(e,{at:r,match:e=>t.Element.isElement(e)&&e.type===l,split:!0}),t.Transforms.setNodes(e,{type:"list-item"},{at:o})}catch(n){}}},isLinkActive(e){const{selection:r}=e;if(!r)return!1;const[n]=t.Editor.nodes(e,{match:e=>!t.Editor.isEditor(e)&&t.Node.isNode(e)&&"link"===e.type});return!!n},updateLink(e,r,n){const o=n?"_blank":"_self",l=n?"noopener noreferrer":"";if(H.isLinkActive(e))t.Transforms.setNodes(e,{href:r,target:o,rel:l},{match:e=>"link"===e.type});else{const{selection:n}=e;if(!n||t.Range.isCollapsed(n))return;const s={text:r};t.Range.isCollapsed(n)?t.Transforms.insertNodes(e,{type:"link",href:r,target:o,rel:l,children:[s]}):t.Transforms.setNodes(e,{type:"link",href:r,target:o,rel:l},{match:e=>t.Text.isText(e),split:!0}),t.Transforms.removeNodes(e,{match:e=>"paragraph"===e.type&&0===e.children.length})}},removeLink(e){if(e.selection){const{selection:r}=e,[n,o]=t.Editor.node(e,r);if(n&&"link"===n.type){const r=n.text,l=t.Path.parent(o),s=t.Node.get(e,l);t.Transforms.insertNodes(e,{type:"list-item"!==s.type?s.type:"paragraph",text:r},{at:o,match:e=>t.Text.isText(e)}),t.Transforms.removeNodes(e,{at:o})}}},applyTextColor(e,r){const{selection:n}=e;n&&t.Editor.addMark(e,"color",r)},applyBackgroundTextColor(e,r){const{selection:n}=e;n&&t.Editor.addMark(e,"bgColor",r)},applyFontSize(e,r){const{selection:n}=e;n&&t.Editor.addMark(e,"fontSize",r)},applyFontFamily(e,r){const{selection:n}=e;n&&t.Editor.addMark(e,"fontFamily",r)},isSelectionInCode(e){const[r]=t.Editor.nodes(e,{match:e=>t.Element.isElement(e)&&"code"===e.type});return!!r},getCurrentCodeLanguage(e){const[r]=t.Editor.nodes(e,{match:e=>t.Element.isElement(e)&&"code"===e.type});return r?r[0].language:"plaintext"},handleCode(e,r){const{selection:n}=e;if(n){const[n]=t.Editor.nodes(e,{match:e=>"paragraph"===e.type});if(n){const[,o]=n,l={type:"code",language:r,children:[{text:n[0].children.map(e=>e.text).join("")}]};t.Transforms.setNodes(e,l,{at:o}),t.Transforms.select(e,o)}else{const[n]=t.Editor.nodes(e,{match:e=>"code"===e.type});if(n){const[,o]=n;if("init"===r){const r={type:"paragraph",children:[{text:n[0].children.map(e=>e.text).join("")}]};t.Transforms.setNodes(e,r,{at:o}),t.Transforms.unsetNodes(e,"language",{at:o}),t.Transforms.select(e,o)}else t.Transforms.setNodes(e,{language:r},{at:o}),t.Transforms.select(e,o)}}}},toggleBlockquote(e){const r=this.isBlockquoteActive(e);t.Transforms.setNodes(e,{type:r?"paragraph":"blockquote"},{match:r=>t.Element.isElement(r)&&t.Editor.isBlock(e,r)})},isBlockquoteActive(e){const[r]=t.Editor.nodes(e,{match:e=>t.Element.isElement(e)&&"blockquote"===e.type});return!!r},insertCodeBlock(e,r){const n={type:"code",language:this.getCurrentCodeLanguage(e),children:[{text:r}]},{selection:o}=e;if(!o)return;const[l,s]=t.Editor.parent(e,o);!t.Element.isElement(l)||"paragraph"!==l.type&&"code"!==l.type||""!==t.Node.string(l)||t.Transforms.removeNodes(e,{at:s}),t.Transforms.insertNodes(e,n);const a=t.Editor.end(e,[]);t.Transforms.select(e,a)},insertImage(e,r){const n={type:"image",url:r,children:[{text:""}]};t.Transforms.insertNodes(e,n),t.Transforms.insertNodes(e,{type:"paragraph",children:[{text:""}]})},handleFileChange(e,t){if(e.target.files[0]){const r=e.target.files[0];if(r){const e=new Image,n=new FileReader;n.onload=n=>{"image/svg+xml"===r.type?this.insertImage(t,n.target.result):(e.src=n.target.result,e.onload=()=>{const r=document.createElement("canvas"),n=r.getContext("2d");let o=e.width,l=e.height;o>l?o>800&&(l*=800/o,o=800):l>600&&(o*=600/l,l=600),r.width=o,r.height=l,n.drawImage(e,0,0,o,l);const s=r.toDataURL("image/jpeg");this.insertImage(t,s)},e.onerror=()=>{})},n.onerror=()=>{},n.readAsDataURL(r)}}},insertTable(e,r,n){const o={type:"table",children:Array.from({length:r},()=>({type:"table-row",children:Array.from({length:n},()=>({type:"table-cell",children:[{text:""}]}))}))};t.Transforms.insertNodes(e,o)},isSelectionInTable(e){const[r]=t.Editor.nodes(e,{match:e=>"table"===e.type});return!!r},getTableFromSelection(e){const[r]=t.Editor.nodes(e,{match:e=>"table"===e.type});return r?r[0]:null},addRow(e){var r;const n=H.getTableFromSelection(e);if(n){if(n.children.length>=5)return;const o=null==(r=e.selection)?void 0:r.anchor.path,l=o[1],s={type:"table-row",children:n.children[l].children.map(e=>({...e,children:[{text:""}]}))},a=[o.slice(0,1),l+1];t.Transforms.insertNodes(e,s,{at:a})}},addColumn(e){var r,n;const o=H.getTableFromSelection(e);if(o){if((null==(r=o.children[0])?void 0:r.children.length)>=5)return;const l=null==(n=e.selection)?void 0:n.anchor.path;if(t.Node.get(e,l)){const r=l[l.length-2];void 0!==r&&o.children.forEach((n,o)=>{const s={type:"table-cell",children:[{text:""}]},a=[...l.slice(0,1),o,r+1];a[a.length-1]<=n.children.length&&t.Transforms.insertNodes(e,s,{at:a})})}}},deleteRow(e){var r;const n=H.getTableFromSelection(e);if(n){if(1===n.children.length)return;const o=null==(r=e.selection)?void 0:r.anchor.path,l=o[1];if(void 0!==l){const r=[o[0],l];t.Transforms.removeNodes(e,{at:r})}}},deleteColumn(e){var r,n;const o=H.getTableFromSelection(e);if(o){if(1===(null==(r=o.children[0])?void 0:r.children.length))return;const l=null==(n=e.selection)?void 0:n.anchor.path,s=t.Node.get(e,l),a=l[l.length-1];let i=-1;o.children[a].children.forEach((e,t)=>{e.children[0]===s&&(i=t)}),-1!==i&&o.children.forEach((r,n)=>{if(r.children.length>i){const r=[l[0],n,i];t.Node.get(e,r)&&t.Transforms.removeNodes(e,{at:r})}})}},deleteTable(e){var r;if(H.getTableFromSelection(e)){const n=null==(r=e.selection)?void 0:r.anchor.path.slice(0,1);n.length>0&&t.Transforms.removeNodes(e,{at:n})}},findNearestTable(e){const{selection:r}=e;if(!r)return null;const n=[],o=t.Editor.nodes(e,{match:e=>t.Element.isElement(e)&&"table"===e.type,at:[],mode:"all"});for(const t of o)n.push(t);if(0===n.length)return null;let l=null,s=1/0;for(const[a,i]of n){const e=t.Path.compare(r.anchor.path,i);Math.abs(e)<s&&(s=Math.abs(e),l=[a,i])}return l},insertParagraphBeforeTable(e){const r=this.findNearestTable(e);if(!r)return;const[,n]=r;t.Transforms.insertNodes(e,{type:"paragraph",children:[{text:""}]},{at:n})},insertParagraphAfterTable(e){const r=this.findNearestTable(e);if(!r)return;const[,n]=r,o=[n[0]+1];t.Transforms.insertNodes(e,{type:"paragraph",children:[{text:""}]},{at:o})}},q=({attributes:e,children:t,element:r})=>{const n={textAlign:r.align||"left"};return R.jsx("p",{className:"rtf",style:n,...e,children:t})},V=({attributes:e,children:t,leaf:n})=>{let o=[];n.bold&&o.push("strong"),n.italic&&o.push("em"),n.underline&&o.push("u"),n.strikethrough&&o.push("del"),n.subscript&&!n.superscript&&o.push("sub"),!n.subscript&&n.superscript&&o.push("sup"),n.bgColor&&o.push("mark");const l={color:n.color||void 0,fontSize:n.fontSize||void 0,backgroundColor:n.bgColor||void 0,fontFamily:n.fontFamily||void 0},s=e=>{e.stopPropagation(),"_blank"===n.target?(window.open(n.href,n.target,n.rel?{rel:n.rel}:void 0),e.preventDefault()):window.location.href=n.href};return n.href?R.jsx("a",{...e,href:n.href,target:n.target||"_self",rel:n.rel||"noopener noreferrer",style:l,onClick:s,children:0===o.length?t:o.reduceRight((t,n)=>r.createElement(n,{...e},t),t)}):0===o.length?R.jsx("span",{...e,style:l,className:n.className??"",children:t}):o.reduceRight((t,n)=>r.createElement(n,{...e,style:l},t),t)},Z=({attributes:e,children:t,element:r})=>{const n={textAlign:r.align||"left",listStyleType:r.listStyleType||"disc"};switch(r.type){case"bullet-list":return R.jsx("ul",{className:"rtf",style:n,...e,children:t});case"numbered-list":return R.jsx("ol",{className:"rtf",style:n,...e,children:t});case"list-item":return R.jsx("li",{className:"rtf",style:n,...e,children:t});default:return R.jsx("p",{className:"rtf",style:n,...e,children:t})}},W=({attributes:e,children:t})=>R.jsx("blockquote",{className:"rtf",...e,style:{borderLeft:"4px solid #ccc",paddingLeft:"10px",color:"#666",margin:"20px 0"},children:t});
|
|
57
|
+
*/function P(){return O||(O=1,"production"!==process.env.NODE_ENV&&function(){function e(t){if(null==t)return null;if("function"==typeof t)return t.$$typeof===j?null:t.displayName||t.name||null;if("string"==typeof t)return t;switch(t){case g:return"Fragment";case m:return"Profiler";case f:return"StrictMode";case x:return"Suspense";case v:return"SuspenseList";case C:return"Activity"}if("object"==typeof t)switch(t.tag,t.$$typeof){case p:return"Portal";case b:return(t.displayName||"Context")+".Provider";case h:return(t._context.displayName||"Context")+".Consumer";case y:var r=t.render;return(t=t.displayName)||(t=""!==(t=r.displayName||r.name||"")?"ForwardRef("+t+")":"ForwardRef"),t;case k:return null!==(r=t.displayName||null)?r:e(t.type)||"Memo";case w:r=t._payload,t=t._init;try{return e(t(r))}catch(n){}}return null}function t(e){return""+e}function n(e){try{t(e);var r=!1}catch(l){r=!0}if(r){var n=(r=console).error,o="function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return n.call(r,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",o),t(e)}}function o(t){if(t===g)return"<>";if("object"==typeof t&&null!==t&&t.$$typeof===w)return"<...>";try{var r=e(t);return r?"<"+r+">":"<...>"}catch(n){return"<...>"}}function l(){return Error("react-stack-top-frame")}function s(){var t=e(this.type);return A[t]||(A[t]=!0),void 0!==(t=this.props.ref)?t:null}function a(t,r,o,l,a,u,p,g){var f,m=r.children;if(void 0!==m)if(l){if(N(m)){for(l=0;l<m.length;l++)i(m[l]);Object.freeze&&Object.freeze(m)}}else i(m);if(S.call(r,"key")){m=e(t);var h=Object.keys(r).filter(function(e){return"key"!==e});l=0<h.length?"{key: someKey, "+h.join(": ..., ")+": ...}":"{key: someKey}",L[m+l]||(h=0<h.length?"{"+h.join(": ..., ")+": ...}":"{}",L[m+l]=!0)}if(m=null,void 0!==o&&(n(o),m=""+o),function(e){if(S.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}(r)&&(n(r.key),m=""+r.key),"key"in r)for(var b in o={},r)"key"!==b&&(o[b]=r[b]);else o=r;return m&&function(e){function t(){c||(c=!0)}t.isReactWarning=!0,Object.defineProperty(e,"key",{get:t,configurable:!0})}(o,"function"==typeof t&&(t.displayName||t.name)),function(e,t,r,n,o,l,a,i){return r=l.ref,e={$$typeof:d,type:e,key:t,props:l,_owner:o},null!==(void 0!==r?r:null)?Object.defineProperty(e,"ref",{enumerable:!1,get:s}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:a}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:i}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}(t,m,u,0,null===(f=F.A)?null:f.getOwner(),o,p,g)}function i(e){"object"==typeof e&&null!==e&&e.$$typeof===d&&e._store&&(e._store.validated=1)}var c,u=r,d=Symbol.for("react.transitional.element"),p=Symbol.for("react.portal"),g=Symbol.for("react.fragment"),f=Symbol.for("react.strict_mode"),m=Symbol.for("react.profiler"),h=Symbol.for("react.consumer"),b=Symbol.for("react.context"),y=Symbol.for("react.forward_ref"),x=Symbol.for("react.suspense"),v=Symbol.for("react.suspense_list"),k=Symbol.for("react.memo"),w=Symbol.for("react.lazy"),C=Symbol.for("react.activity"),j=Symbol.for("react.client.reference"),F=u.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,S=Object.prototype.hasOwnProperty,N=Array.isArray,E=console.createTask?console.createTask:function(){return null},A={},T=(u={"react-stack-bottom-frame":function(e){return e()}})["react-stack-bottom-frame"].bind(u,l)(),$=E(o(l)),L={};B.Fragment=g,B.jsx=function(e,t,r,n,l){var s=1e4>F.recentlyCreatedOwnerStacks++;return a(e,t,r,!1,0,l,s?Error("react-stack-top-frame"):T,s?E(o(e)):$)},B.jsxs=function(e,t,r,n,l){var s=1e4>F.recentlyCreatedOwnerStacks++;return a(e,t,r,!0,0,l,s?Error("react-stack-top-frame"):T,s?E(o(e)):$)}}()),B}var R=(D||(D=1,"production"===process.env.NODE_ENV?z.exports=function(){if(M)return _;M=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function r(t,r,n){var o=null;if(void 0!==n&&(o=""+n),void 0!==r.key&&(o=""+r.key),"key"in r)for(var l in n={},r)"key"!==l&&(n[l]=r[l]);else n=r;return r=n.ref,{$$typeof:e,type:t,key:o,ref:void 0!==r?r:null,props:n}}return _.Fragment=t,_.jsx=r,_.jsxs=r,_}():z.exports=P()),z.exports);const I=({attributes:e,children:t,element:n})=>{const o=r.useRef(null),l=n.language||"plaintext";return R.jsxs("pre",{className:"rtf",...e,children:[R.jsx("div",{spellCheck:"false",className:"rtf code-language",children:l.toUpperCase()}),R.jsx("code",{ref:o,className:`language-${l}`,children:t})]})},H={isMarkActive(e,r){const n=t.Editor.marks(e);return!!n&&!0===n[r]},toggleMark(e,r){H.isMarkActive(e,r)?t.Editor.removeMark(e,r):(t.Editor.addMark(e,r,!0),"subscript"===r?t.Editor.removeMark(e,"superscript"):"superscript"===r&&t.Editor.removeMark(e,"subscript"))},isBlockActive(e,r){const[n]=t.Editor.nodes(e,{match:e=>e.type===r});return!!n},isSelectionInList(e){const[r]=t.Editor.nodes(e,{match:e=>"bullet-list"===e.type||"numbered-list"===e.type});return!!r},getListStyleType(e){const[r]=t.Editor.nodes(e,{match:e=>"list-item"===e.type});return r?r[0].listStyleType:null},getCurrentBlock(e,r){if(!r)return null;const[n]=t.Editor.nodes(e,{match:e=>t.Element.isElement(e),at:r});if(n){const[e]=n;return e.type}return null},toggleBlock(e,r,n=null){const o=H.isBlockActive(e,r),l="bullet-list"===r||"numbered-list"===r;if(("h1"===r||"h2"===r)&&t.Editor.removeMark(e,"fontSize"),l){if(H.isSelectionInList(e)){if(this.getCurrentBlock(e,e.selection)===r){if(n)return void t.Transforms.setNodes(e,{listStyleType:n});t.Transforms.unwrapNodes(e,{match:e=>!t.Editor.isEditor(e)&&t.Element.isElement(e)&&("bullet-list"===e.type||"numbered-list"===e.type),split:!0}),t.Transforms.setNodes(e,{type:"paragraph"})}else{t.Transforms.unwrapNodes(e,{match:e=>!t.Editor.isEditor(e)&&t.Element.isElement(e)&&("bullet-list"===e.type||"numbered-list"===e.type),split:!0}),t.Transforms.setNodes(e,{type:"paragraph"}),t.Transforms.setNodes(e,{type:"list-item"});const o={type:r,children:[]};t.Transforms.wrapNodes(e,o),n&&t.Transforms.setNodes(e,{listStyleType:n})}return}{t.Transforms.setNodes(e,{type:"list-item"});const o={type:r,children:[]};return t.Transforms.wrapNodes(e,o),void(n&&t.Transforms.setNodes(e,{listStyleType:n}))}}const s={type:o?"paragraph":r};t.Transforms.setNodes(e,s)},isAlignActive(e,r){const[n]=t.Editor.nodes(e,{match:e=>e.align===r});return!!n},toggleAlign(e,r){const n=H.isAlignActive(e,r);["alignLeft","center","right"].forEach(r=>{t.Transforms.unsetNodes(e,{align:r})}),n||t.Transforms.setNodes(e,{align:r})},canIndent(e,r){const[n]=t.Editor.nodes(e,{match:e=>"list-item"===e.type});if(n){const[,e]=n;if("indent"===r)return!(e.length>2);if(e.length>2)return!0}return!1},handleIndent(e){const[r]=t.Editor.nodes(e,{match:e=>"list-item"===e.type});if(r){const[,o]=r,l=t.Editor.above(e,{match:e=>["bullet-list","numbered-list"].includes(e.type)})[0].type;try{const r=t.Path.parent(t.Path.parent(o)),n=t.Editor.node(e,r);if(t.Element.isElement(n[0])&&n[0].type===l)return;const s={type:l,children:[]},a=[o[0],o[1]+1];t.Transforms.insertNodes(e,s,{at:a});const i={...t.Editor.node(e,o)[0]},c=[o[0],o[1]+1,0];t.Transforms.insertNodes(e,i,{at:c}),t.Transforms.removeNodes(e,{at:o}),t.Transforms.setNodes(e,{type:"list-item"},{at:[o[0],o[1],0]})}catch(n){}}},handleOutdent(e){const[r]=t.Editor.nodes(e,{match:e=>"list-item"===e.type});if(r){const[,o]=r,l=t.Editor.above(e,{match:e=>["bullet-list","numbered-list"].includes(e.type)})[0].type;try{const r=t.Path.parent(o),n=t.Editor.node(e,r);t.Element.isElement(n)&&n.type===l?t.Transforms.liftNodes(e,{at:o}):t.Transforms.unwrapNodes(e,{at:r,match:e=>t.Element.isElement(e)&&e.type===l,split:!0}),t.Transforms.setNodes(e,{type:"list-item"},{at:o})}catch(n){}}},isLinkActive(e){const{selection:r}=e;if(!r)return!1;const[n]=t.Editor.nodes(e,{match:e=>!t.Editor.isEditor(e)&&t.Node.isNode(e)&&"link"===e.type});return!!n},updateLink(e,r,n){const o=n?"_blank":"_self",l=n?"noopener noreferrer":"";if(H.isLinkActive(e))t.Transforms.setNodes(e,{href:r,target:o,rel:l},{match:e=>"link"===e.type});else{const{selection:n}=e;if(!n||t.Range.isCollapsed(n))return;const s={text:r};t.Range.isCollapsed(n)?t.Transforms.insertNodes(e,{type:"link",href:r,target:o,rel:l,children:[s]}):t.Transforms.setNodes(e,{type:"link",href:r,target:o,rel:l},{match:e=>t.Text.isText(e),split:!0}),t.Transforms.removeNodes(e,{match:e=>"paragraph"===e.type&&0===e.children.length})}},removeLink(e){if(e.selection){const{selection:r}=e,[n,o]=t.Editor.node(e,r);if(n&&"link"===n.type){const r=n.text,l=t.Path.parent(o),s=t.Node.get(e,l);t.Transforms.insertNodes(e,{type:"list-item"!==s.type?s.type:"paragraph",text:r},{at:o,match:e=>t.Text.isText(e)}),t.Transforms.removeNodes(e,{at:o})}}},applyTextColor(e,r){const{selection:n}=e;n&&t.Editor.addMark(e,"color",r)},applyBackgroundTextColor(e,r){const{selection:n}=e;n&&t.Editor.addMark(e,"bgColor",r)},applyFontSize(e,r){const{selection:n}=e;n&&t.Editor.addMark(e,"fontSize",r)},applyFontFamily(e,r){const{selection:n}=e;n&&t.Editor.addMark(e,"fontFamily",r)},isSelectionInCode(e){const[r]=t.Editor.nodes(e,{match:e=>t.Element.isElement(e)&&"code"===e.type});return!!r},getCurrentCodeLanguage(e){const[r]=t.Editor.nodes(e,{match:e=>t.Element.isElement(e)&&"code"===e.type});return r?r[0].language:"plaintext"},handleCode(e,r){const{selection:n}=e;if(n){const[n]=t.Editor.nodes(e,{match:e=>"paragraph"===e.type});if(n){const[,o]=n,l={type:"code",language:r,children:[{text:n[0].children.map(e=>e.text).join("")}]};t.Transforms.setNodes(e,l,{at:o}),t.Transforms.select(e,o)}else{const[n]=t.Editor.nodes(e,{match:e=>"code"===e.type});if(n){const[,o]=n;if("init"===r){const r={type:"paragraph",children:[{text:n[0].children.map(e=>e.text).join("")}]};t.Transforms.setNodes(e,r,{at:o}),t.Transforms.unsetNodes(e,"language",{at:o}),t.Transforms.select(e,o)}else t.Transforms.setNodes(e,{language:r},{at:o}),t.Transforms.select(e,o)}}}},toggleBlockquote(e){const r=this.isBlockquoteActive(e);t.Transforms.setNodes(e,{type:r?"paragraph":"blockquote"},{match:r=>t.Element.isElement(r)&&t.Editor.isBlock(e,r)})},isBlockquoteActive(e){const[r]=t.Editor.nodes(e,{match:e=>t.Element.isElement(e)&&"blockquote"===e.type});return!!r},insertCodeBlock(e,r){const n={type:"code",language:this.getCurrentCodeLanguage(e),children:[{text:r}]},{selection:o}=e;if(!o)return;const[l,s]=t.Editor.parent(e,o);!t.Element.isElement(l)||"paragraph"!==l.type&&"code"!==l.type||""!==t.Node.string(l)||t.Transforms.removeNodes(e,{at:s}),t.Transforms.insertNodes(e,n);const a=t.Editor.end(e,[]);t.Transforms.select(e,a)},insertImage(e,r){const n={type:"image",url:r,children:[{text:""}]};t.Transforms.insertNodes(e,n),t.Transforms.insertNodes(e,{type:"paragraph",children:[{text:""}]})},handleFileChange(e,t){if(e.target.files[0]){const r=e.target.files[0];if(r){const e=new Image,n=new FileReader;n.onload=n=>{"image/svg+xml"===r.type?this.insertImage(t,n.target.result):(e.src=n.target.result,e.onload=()=>{const r=document.createElement("canvas"),n=r.getContext("2d");let o=e.width,l=e.height;o>l?o>800&&(l*=800/o,o=800):l>600&&(o*=600/l,l=600),r.width=o,r.height=l,n.drawImage(e,0,0,o,l);const s=r.toDataURL("image/jpeg");this.insertImage(t,s)},e.onerror=()=>{})},n.onerror=()=>{},n.readAsDataURL(r)}}},insertTable(e,r,n){const o={type:"table",children:Array.from({length:r},()=>({type:"table-row",children:Array.from({length:n},()=>({type:"table-cell",children:[{text:""}]}))}))};t.Transforms.insertNodes(e,o)},isSelectionInTable(e){const[r]=t.Editor.nodes(e,{match:e=>"table"===e.type});return!!r},getTableFromSelection(e){const[r]=t.Editor.nodes(e,{match:e=>"table"===e.type});return r?r[0]:null},addRow(e){var r;const n=H.getTableFromSelection(e);if(n){if(n.children.length>=5)return;const o=null==(r=e.selection)?void 0:r.anchor.path,l=o[1],s={type:"table-row",children:n.children[l].children.map(e=>({...e,children:[{text:""}]}))},a=[o.slice(0,1),l+1];t.Transforms.insertNodes(e,s,{at:a})}},addColumn(e){var r,n;const o=H.getTableFromSelection(e);if(o){if((null==(r=o.children[0])?void 0:r.children.length)>=5)return;const l=null==(n=e.selection)?void 0:n.anchor.path;if(t.Node.get(e,l)){const r=l[l.length-2];void 0!==r&&o.children.forEach((n,o)=>{const s={type:"table-cell",children:[{text:""}]},a=[...l.slice(0,1),o,r+1];a[a.length-1]<=n.children.length&&t.Transforms.insertNodes(e,s,{at:a})})}}},deleteRow(e){var r;const n=H.getTableFromSelection(e);if(n){if(1===n.children.length)return;const o=null==(r=e.selection)?void 0:r.anchor.path,l=o[1];if(void 0!==l){const r=[o[0],l];t.Transforms.removeNodes(e,{at:r})}}},deleteColumn(e){var r,n;const o=H.getTableFromSelection(e);if(o){if(1===(null==(r=o.children[0])?void 0:r.children.length))return;const l=null==(n=e.selection)?void 0:n.anchor.path,s=t.Node.get(e,l),a=l[l.length-1];let i=-1;o.children[a].children.forEach((e,t)=>{e.children[0]===s&&(i=t)}),-1!==i&&o.children.forEach((r,n)=>{if(r.children.length>i){const r=[l[0],n,i];t.Node.get(e,r)&&t.Transforms.removeNodes(e,{at:r})}})}},deleteTable(e){var r;if(H.getTableFromSelection(e)){const n=null==(r=e.selection)?void 0:r.anchor.path.slice(0,1);n.length>0&&t.Transforms.removeNodes(e,{at:n})}},findNearestTable(e){const{selection:r}=e;if(!r)return null;const n=[],o=t.Editor.nodes(e,{match:e=>t.Element.isElement(e)&&"table"===e.type,at:[],mode:"all"});for(const t of o)n.push(t);if(0===n.length)return null;let l=null,s=1/0;for(const[a,i]of n){const e=t.Path.compare(r.anchor.path,i);Math.abs(e)<s&&(s=Math.abs(e),l=[a,i])}return l},insertParagraphBeforeTable(e){const r=this.findNearestTable(e);if(!r)return;const[,n]=r;t.Transforms.insertNodes(e,{type:"paragraph",children:[{text:""}]},{at:n})},insertParagraphAfterTable(e){const r=this.findNearestTable(e);if(!r)return;const[,n]=r,o=[n[0]+1];t.Transforms.insertNodes(e,{type:"paragraph",children:[{text:""}]},{at:o})}},q=({attributes:e,children:t,element:r})=>{const n={textAlign:r.align||"left"};return R.jsx("p",{className:"rtf",style:n,...e,children:t})},V=({attributes:e,children:t,leaf:n})=>{let o=[];n.bold&&o.push("strong"),n.italic&&o.push("em"),n.underline&&o.push("u"),n.strikethrough&&o.push("del"),n.subscript&&!n.superscript&&o.push("sub"),!n.subscript&&n.superscript&&o.push("sup"),n.bgColor&&o.push("mark");const l={color:n.color||void 0,fontSize:n.fontSize||void 0,backgroundColor:n.bgColor||void 0,fontFamily:n.fontFamily||void 0},s=e=>{e.stopPropagation(),"_blank"===n.target?(window.open(n.href,n.target,n.rel?{rel:n.rel}:void 0),e.preventDefault()):window.location.href=n.href};return n.href?R.jsx("a",{...e,href:n.href,target:n.target||"_self",rel:n.rel||"noopener noreferrer",style:l,onClick:s,children:0===o.length?t:o.reduceRight((t,n)=>r.createElement(n,{...e},t),t)}):0===o.length?R.jsx("span",{...e,style:l,className:n.className??"",children:t}):o.reduceRight((t,n)=>r.createElement(n,{...e,style:l},t),t)},Z=({attributes:e,children:t,element:r})=>{const n={textAlign:r.align||"left",listStyleType:r.listStyleType||"disc"};switch(r.type){case"bullet-list":return R.jsx("ul",{className:"rtf",style:n,...e,children:t});case"numbered-list":return R.jsx("ol",{className:"rtf",style:n,...e,children:t});case"list-item":return R.jsx("li",{className:"rtf",style:n,...e,children:t});default:return R.jsx("p",{className:"rtf",style:n,...e,children:t})}},W=({attributes:e,children:t})=>R.jsx("blockquote",{className:"rtf",...e,style:{borderLeft:"4px solid #ccc",paddingLeft:"10px",color:"#666",margin:"20px 0"},children:t});
|
|
58
58
|
/**
|
|
59
59
|
* @license
|
|
60
60
|
* Copyright (c) 2025 Jahylis
|