react-text-forge 1.3.5 → 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.
|
@@ -1 +1 @@
|
|
|
1
|
-
.tooltip-container{position:relative;display:inline-block}.tooltip{position:absolute;padding:10px 8px;border-radius:5px;font-size:14px;border:1px solid;white-space:nowrap;z-index:100;opacity:0;transition:opacity .2s;pointer-events:none;box-shadow:0 2px 4px #0000001a}.tooltip--visible{opacity:1}.tooltip--bottom{top:100%;left:50%;transform:translate(-50%);margin-top:8px}.rtf.toolbar-container{position:relative;width:100%}.rtf.toolbar{display:flex;gap:5px;margin-bottom:10px;white-space:nowrap}.rtf.toolbar>div.rtf{display:flex}.rtf.toolbar select.rtf,.rtf.toolbar select:focus.rtf{outline:none;border:none;background:none}.rtf.toolbar select.rtf option.rtf,.rtf.toolbar select:focus.rtf option.rtf{border:none;outline:none;background:none;padding:0}@media (max-width: 768px){.rtf.toolbar select.rtf,.rtf.toolbar select:focus.rtf{font-size:20px}}.rtf.toolbar-more-button{background:none;border:none;cursor:pointer;padding:0 8px;font-size:16px}.rtf.toolbar-modal{position:absolute;top:100%;right:0;z-index:1000;max-width:500px;border-radius:4px;padding:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-wrap:wrap;gap:4px}.rtf.toolbar-modal .color-picker-popup{left:0%}.rtf.toolbar-modal-item{margin:4px}.rtf.tool{padding:5px;display:flex;justify-content:center;align-items:center;border:none;border-radius:3px;background:none;cursor:pointer;outline:none}.rtf.tool--arrow{background:none;border:none;cursor:pointer;margin-left:4px;position:relative;padding:0;width:15px}.rtf.tool--arrow svg.rtf{position:absolute;width:20px!important;height:20px!important}@media (max-width: 768px){.rtf.tool--arrow{width:20px}.rtf.tool--arrow svg.rtf{width:30px!important;height:30px!important}}.rtf.tool img.rtf,.rtf.tool svg.rtf{cursor:pointer;width:15px;height:15px}@media (max-width: 768px){.rtf.tool img.rtf,.rtf.tool svg.rtf{width:20px;height:20px}}.rtf.toggle-switch{position:absolute;bottom:15px;display:inline-block;width:70px;height:34px}.rtf.toggle-switch input.rtf{opacity:0;width:0;height:0}.rtf.toggle-switch .rtf.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:none;transition:.4s;border-radius:34px;border:1px solid}.rtf.toggle-switch .rtf.icon{position:absolute;display:flex;justify-content:center;align-items:center;border-radius:50%;width:25px;height:25px;top:50%;left:17px;transform:translate(-50%,-50%);font-size:16px;color:#ff9800;transition:.4s}.rtf.toggle-switch input:checked.rtf+.rtf.slider{background-color:none}.rtf.toggle-switch input:checked.rtf+.rtf.slider .rtf.icon{color:#fff;left:calc(100% - 17px)}.rtf.toggle-switch .rtf.slider.round{border-radius:34px}.rtf.fullscreen-wrapper{transition:all .3s ease;width:100%;height:auto}.rtf.fullscreen-wrapper--active{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background-color:var(--background-color);z-index:1000;padding:20px;box-sizing:border-box;overflow-y:auto}.rtf.fullscreen-wrapper--active .rtf.toolbar{position:sticky;top:0;background-color:var(--toolbar-background);z-index:1001;padding:10px;border-radius:0 0 8px 8px;box-shadow:0 2px 4px #0000001a}.rtf.fullscreen-wrapper--active .rtf.react-text-forge{min-height:calc(100vh - 100px);margin:20px auto;width:100%}.rtf.fullscreen-wrapper--active .rtf.rtf__editor{flex-grow:1}.rtf.fullscreen-button{position:absolute;bottom:10px;right:20px}.rtf.fullscreen-button .rtf.tool{width:30px;height:30px}.rtf.fullscreen-button .rtf.tool svg.rtf{width:30px;height:30px}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.rtf.react-text-forge{position:relative;display:flex;flex-direction:column;max-width:80%;margin:0 auto;border:1px solid;padding:10px;border-radius:5px}@media (max-width: 768px){.rtf.react-text-forge{max-width:70%}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.rtf.react-text-forge .rtf.rtf__editor{min-height:50px;border:1px solid #ddd;padding:10px;border-radius:5px;outline:none;overflow:scroll}.rtf.react-text-forge .rtf.rtf__editor a{pointer-events:auto;cursor:pointer}.rtf.react-text-forge .rtf.rtf__editor img.rtf{max-height:200px}.rtf.react-text-forge .rtf.rtf__editor table.rtf{width:100%;table-layout:fixed;border-collapse:collapse}.rtf.react-text-forge .rtf.rtf__editor table.rtf tr.rtf{display:flex;width:100%}.rtf.react-text-forge .rtf.rtf__editor table.rtf th.rtf,.rtf.react-text-forge .rtf.rtf__editor table.rtf td.rtf{display:block;width:100%;height:40px;max-height:40px;border:1px solid;border-color:inherit;padding:8px;overflow-y:scroll}.rtf.react-text-forge .rtf.color-picker-popup{position:absolute;top:100%;width:fit-content}@media (max-width: 768px){.rtf.react-text-forge .rtf.color-picker-popup{right:0}}.rtf.react-text-forge .rtf.color-picker-popup .sketch-picker{position:relative;z-index:2}.rtf.react-text-forge .rtf.dropdown{position:relative;display:flex}.rtf.react-text-forge .rtf.dropdown-toggle{background:none;border:none;cursor:pointer;padding:0}.rtf.react-text-forge .rtf.dropdown-toggle--list{border-bottom-left-radius:0;border-bottom-right-radius:0}.rtf.react-text-forge .rtf.dropdown-menu{width:200px;position:absolute;display:flex;flex-wrap:wrap;gap:10px;top:100%;border:1px solid #ccc;box-shadow:0 2px 8px #0000001a;list-style:none;padding:0;margin-bottom:5px;margin-top:0;z-index:1000}@media (max-width: 768px){.rtf.react-text-forge .rtf.dropdown-menu{right:0}.rtf.react-text-forge .rtf.dropdown-menu--list{left:0}}.rtf.react-text-forge .rtf.dropdown-menu li{flex:0 0 calc(25% - 30px);box-sizing:border-box;padding:5px;cursor:pointer}.rtf.react-text-forge .rtf.dropdown-menu li:hover{background:#f0f0f0}.rtf.react-text-forge pre.rtf{background-color:#1a1a1a;border:1px solid #3b3737;border-radius:4px;padding:10px;overflow-x:auto;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.4;margin:1em 0}.rtf.react-text-forge pre.rtf .code-language{color:#fff;border:1px solid;width:fit-content;margin-left:auto;border-bottom-left-radius:5px;padding:3px;position:relative;top:-11px;right:-11px}.rtf.react-text-forge .rtf.link-form{position:absolute;top:40px;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 10px #0000001a;padding:16px;z-index:10}@media (max-width: 768px){.rtf.react-text-forge .rtf.link-form{right:0}}.rtf.react-text-forge .rtf.link-form input[type=text].rtf{width:calc(100% - 22px);padding:8px;margin-bottom:10px;border:1px solid #ccc;border-radius:4px}.rtf.react-text-forge .rtf.link-form label.rtf{display:flex;align-items:center;margin-bottom:10px}.rtf.react-text-forge .rtf.link-form label.rtf input[type=checkbox].rtf{margin-right:8px}.rtf.react-text-forge .rtf.link-form-actions{display:flex;justify-content:flex-end;padding:10px;gap:8px}.rtf.react-text-forge .rtf.link-form-actions button.rtf{padding:8px 16px;border:none;border-radius:4px;cursor:pointer}.rtf.react-text-forge .rtf.image-upload-container{position:relative}.rtf.react-text-forge .rtf.hidden-file-input{display:none}.rtf.react-text-forge .rtf.table-grid-form{display:flex;flex-direction:column;align-items:center;height:fit-content;width:fit-content;overflow:visible;padding:0;border:0}.rtf.react-text-forge .rtf.table-grid-form .rtf.grid-container{display:grid;grid-template-columns:repeat(5,20px);grid-template-rows:repeat(5,20px);gap:2px}.rtf.react-text-forge .rtf.table-grid-form .rtf.grid-cell{width:20px;height:20px;background-color:#ddd;border:1px solid #ccc}.rtf.react-text-forge .rtf.table-grid-form .rtf.grid-cell.hovered{background-color:#007bff}.rtf.react-text-forge .rtf.table-grid-form .rtf.table-size-indicator{margin-top:10px;font-size:14px}.rtf.react-text-forge ::selection{background:#0078d74d;color:#000}.rtf.react-text-forge ::-moz-selection{background:#0078d74d;color:#000}.rtf.react-text-forge a{font-weight:500;color:#646cff;text-decoration:inherit}.rtf.react-text-forge a:hover{color:#535bf2}
|
|
1
|
+
.tooltip-container{position:relative;display:inline-block}.tooltip{position:absolute;padding:10px 8px;border-radius:5px;font-size:14px;border:1px solid;white-space:nowrap;z-index:100;opacity:0;transition:opacity .2s;pointer-events:none;box-shadow:0 2px 4px #0000001a}.tooltip--visible{opacity:1}.tooltip--bottom{top:100%;left:50%;transform:translate(-50%);margin-top:8px}.rtf.toolbar-container{position:relative;width:100%}.rtf.toolbar{display:flex;gap:5px;margin-bottom:10px;white-space:nowrap}.rtf.toolbar>div.rtf{display:flex}.rtf.toolbar select.rtf,.rtf.toolbar select:focus.rtf{outline:none;border:none;background:none}.rtf.toolbar select.rtf option.rtf,.rtf.toolbar select:focus.rtf option.rtf{border:none;outline:none;background:none;padding:0}@media (max-width: 768px){.rtf.toolbar select.rtf,.rtf.toolbar select:focus.rtf{font-size:20px}}.rtf.toolbar-more-button{background:none;border:none;cursor:pointer;padding:0 8px;font-size:16px}.rtf.toolbar-modal{position:absolute;top:100%;right:0;z-index:1000;max-width:500px;border-radius:4px;padding:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-wrap:wrap;gap:4px}.rtf.toolbar-modal .color-picker-popup{left:0%}.rtf.toolbar-modal-item{margin:4px}.rtf.tool{padding:5px;display:flex;justify-content:center;align-items:center;border:none;border-radius:3px;background:none;cursor:pointer;outline:none}.rtf.tool--arrow{background:none;border:none;cursor:pointer;margin-left:4px;position:relative;padding:0;width:15px}.rtf.tool--arrow svg.rtf{position:absolute;width:20px!important;height:20px!important}@media (max-width: 768px){.rtf.tool--arrow{width:20px}.rtf.tool--arrow svg.rtf{width:30px!important;height:30px!important}}.rtf.tool img.rtf,.rtf.tool svg.rtf{cursor:pointer;width:15px;height:15px}@media (max-width: 768px){.rtf.tool img.rtf,.rtf.tool svg.rtf{width:20px;height:20px}}.rtf.toggle-switch{position:absolute;bottom:15px;display:inline-block;width:70px;height:34px}.rtf.toggle-switch input.rtf{opacity:0;width:0;height:0}.rtf.toggle-switch .rtf.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:none;transition:.4s;border-radius:34px;border:1px solid}.rtf.toggle-switch .rtf.icon{position:absolute;display:flex;justify-content:center;align-items:center;border-radius:50%;width:25px;height:25px;top:50%;left:17px;transform:translate(-50%,-50%);font-size:16px;color:#ff9800;transition:.4s}.rtf.toggle-switch input:checked.rtf+.rtf.slider{background-color:none}.rtf.toggle-switch input:checked.rtf+.rtf.slider .rtf.icon{color:#fff;left:calc(100% - 17px)}.rtf.toggle-switch .rtf.slider.round{border-radius:34px}.rtf.fullscreen-wrapper{transition:all .3s ease;width:100%;height:auto}.rtf.fullscreen-wrapper--active{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background-color:var(--background-color);z-index:1000;padding:20px;box-sizing:border-box;overflow-y:auto}.rtf.fullscreen-wrapper--active .rtf.toolbar{position:sticky;top:0;background-color:var(--toolbar-background);z-index:1001;padding:10px;border-radius:0 0 8px 8px;box-shadow:0 2px 4px #0000001a}.rtf.fullscreen-wrapper--active .rtf.react-text-forge{min-height:calc(100vh - 100px);margin:20px auto;width:100%}.rtf.fullscreen-wrapper--active .rtf.rtf__editor{flex-grow:1}.rtf.fullscreen-button{position:absolute;bottom:10px;right:20px}.rtf.fullscreen-button .rtf.tool{width:30px;height:30px}.rtf.fullscreen-button .rtf.tool svg.rtf{width:30px;height:30px}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.rtf.react-text-forge{position:relative;display:flex;flex-direction:column;max-width:80%;margin:0 auto;border:1px solid;padding:10px;border-radius:5px}@media (max-width: 768px){.rtf.react-text-forge{max-width:70%}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.rtf.react-text-forge .rtf.rtf__editor{min-height:50px;border:1px solid #ddd;padding:10px;border-radius:5px;outline:none;overflow:scroll}.rtf.react-text-forge .rtf.rtf__editor a{pointer-events:auto;cursor:pointer}.rtf.react-text-forge .rtf.rtf__editor img.rtf{max-height:200px}.rtf.react-text-forge .rtf.rtf__editor table.rtf{width:100%;table-layout:fixed;border-collapse:collapse}.rtf.react-text-forge .rtf.rtf__editor table.rtf tr.rtf{display:flex;width:100%}.rtf.react-text-forge .rtf.rtf__editor table.rtf th.rtf,.rtf.react-text-forge .rtf.rtf__editor table.rtf td.rtf{display:block;width:100%;height:40px;max-height:40px;border:1px solid;border-color:inherit;padding:8px;overflow-y:scroll}.rtf.react-text-forge .rtf.color-picker-popup{position:absolute;top:100%;width:fit-content}@media (max-width: 768px){.rtf.react-text-forge .rtf.color-picker-popup{right:0}}.rtf.react-text-forge .rtf.color-picker-popup .sketch-picker{position:relative;z-index:2}.rtf.react-text-forge .rtf.dropdown{position:relative;display:flex}.rtf.react-text-forge .rtf.dropdown-toggle{background:none;border:none;cursor:pointer;padding:0}.rtf.react-text-forge .rtf.dropdown-toggle--list{border-bottom-left-radius:0;border-bottom-right-radius:0}.rtf.react-text-forge .rtf.dropdown-menu{width:200px;position:absolute;display:flex;flex-wrap:wrap;gap:10px;top:100%;border:1px solid #ccc;box-shadow:0 2px 8px #0000001a;list-style:none;padding:0;margin-bottom:5px;margin-top:0;z-index:1000}@media (max-width: 768px){.rtf.react-text-forge .rtf.dropdown-menu{right:0}.rtf.react-text-forge .rtf.dropdown-menu--list{left:0}}.rtf.react-text-forge .rtf.dropdown-menu li{flex:0 0 calc(25% - 30px);box-sizing:border-box;padding:5px;cursor:pointer}@media (max-width: 768px){.rtf.react-text-forge .rtf.dropdown-menu li{flex:0 0 calc(50% - 10px)}}.rtf.react-text-forge .rtf.dropdown-menu li:hover{background:#f0f0f0}.rtf.react-text-forge pre.rtf{background-color:#1a1a1a;border:1px solid #3b3737;border-radius:4px;padding:10px;overflow-x:auto;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.4;margin:1em 0}.rtf.react-text-forge pre.rtf .code-language{color:#fff;border:1px solid;width:fit-content;margin-left:auto;border-bottom-left-radius:5px;padding:3px;position:relative;top:-11px;right:-11px}.rtf.react-text-forge .rtf.link-form{position:absolute;top:40px;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 10px #0000001a;padding:16px;z-index:10}@media (max-width: 768px){.rtf.react-text-forge .rtf.link-form{right:0}}.rtf.react-text-forge .rtf.link-form input[type=text].rtf{width:calc(100% - 22px);padding:8px;margin-bottom:10px;border:1px solid #ccc;border-radius:4px}.rtf.react-text-forge .rtf.link-form label.rtf{display:flex;align-items:center;margin-bottom:10px}.rtf.react-text-forge .rtf.link-form label.rtf input[type=checkbox].rtf{margin-right:8px}.rtf.react-text-forge .rtf.link-form-actions{display:flex;justify-content:flex-end;padding:10px;gap:8px}.rtf.react-text-forge .rtf.link-form-actions button.rtf{padding:8px 16px;border:none;border-radius:4px;cursor:pointer}.rtf.react-text-forge .rtf.image-upload-container{position:relative}.rtf.react-text-forge .rtf.hidden-file-input{display:none}.rtf.react-text-forge .rtf.table-grid-form{display:flex;flex-direction:column;align-items:center;height:fit-content;width:fit-content;overflow:visible;padding:0;border:0}.rtf.react-text-forge .rtf.table-grid-form .rtf.grid-container{display:grid;grid-template-columns:repeat(5,20px);grid-template-rows:repeat(5,20px);gap:2px}.rtf.react-text-forge .rtf.table-grid-form .rtf.grid-cell{width:20px;height:20px;background-color:#ddd;border:1px solid #ccc}.rtf.react-text-forge .rtf.table-grid-form .rtf.grid-cell.hovered{background-color:#007bff}.rtf.react-text-forge .rtf.table-grid-form .rtf.table-size-indicator{margin-top:10px;font-size:14px}.rtf.react-text-forge ::selection{background:#0078d74d;color:#000}.rtf.react-text-forge ::-moz-selection{background:#0078d74d;color:#000}.rtf.react-text-forge a{font-weight:500;color:#646cff;text-decoration:inherit}.rtf.react-text-forge a:hover{color:#535bf2}
|
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
|