UNPKG

react-quill-ver2

Version:
2 lines 3.74 kB
import k from'quill';export{default as Quill}from'quill';import'highlight.js/styles/github.css';import'quill/dist/quill.snow.css';import'quill/dist/quill.bubble.css';import {forwardRef,useRef,useEffect,useImperativeHandle}from'react';import y from'highlight.js';import {jsxs,Fragment,jsx}from'react/jsx-runtime';var p=forwardRef(({value:a,defaultValue:r,onChange:u,options:b={},readOnly:f=false,placeholder:q,theme:N="snow",modules:o,formats:d,style:v,className:Q},R)=>{let s=useRef(null),l=useRef(null);return useEffect(()=>{if(!s.current)return;l.current&&(l.current=null);let n={theme:N,modules:{...o||{},...o?.syntax?{syntax:{hljs:y}}:{},toolbar:o?.toolbar||{container:"#quill-toolbar"}},formats:d||["background","bold","color","font","code","italic","link","size","strike","script","underline","blockquote","header","indent","list","align","direction","code-block","formula","image","video"],placeholder:q,readOnly:f,...b};return l.current=new k(s.current,n),r&&(l.current.root.innerHTML=r),a&&(l.current.root.innerHTML=a),u&&l.current.on("text-change",()=>{u(l.current?.root.innerHTML||"");}),()=>{l.current&&(l.current=null);}},[]),useEffect(()=>{if(l.current&&a!==void 0){let n=l.current.root.innerHTML;a!==n&&(l.current.root.innerHTML=a);}},[a]),useImperativeHandle(R,()=>({getEditor:()=>l.current})),jsxs(Fragment,{children:[!o?.toolbar&&jsxs("div",{id:"quill-toolbar",children:[jsx("span",{className:"ql-formats",children:jsxs("select",{className:"ql-size",defaultValue:"",children:[jsx("option",{value:"small"}),jsx("option",{value:""}),jsx("option",{value:"large"}),jsx("option",{value:"huge"})]})}),jsx("span",{className:"ql-formats",children:jsxs("select",{className:"ql-header",defaultValue:"",children:[jsx("option",{value:"1"}),jsx("option",{value:"2"}),jsx("option",{value:"3"}),jsx("option",{value:"4"}),jsx("option",{value:"5"}),jsx("option",{value:"6"}),jsx("option",{value:""})]})}),jsxs("span",{className:"ql-formats",children:[jsx("button",{className:"ql-bold"}),jsx("button",{className:"ql-italic"}),jsx("button",{className:"ql-underline"}),jsx("button",{className:"ql-strike"})]}),jsxs("span",{className:"ql-formats",children:[jsx("button",{className:"ql-blockquote"}),jsx("button",{className:"ql-code-block"})]}),jsxs("span",{className:"ql-formats",children:[jsx("button",{className:"ql-header",value:"1"}),jsx("button",{className:"ql-header",value:"2"})]}),jsxs("span",{className:"ql-formats",children:[jsx("button",{className:"ql-list",value:"ordered"}),jsx("button",{className:"ql-list",value:"bullet"}),jsx("button",{className:"ql-list",value:"check"})]}),jsxs("span",{className:"ql-formats",children:[jsx("button",{className:"ql-script",value:"sub"}),jsx("button",{className:"ql-script",value:"super"})]}),jsxs("span",{className:"ql-formats",children:[jsx("button",{className:"ql-indent",value:"-1"}),jsx("button",{className:"ql-indent",value:"+1"})]}),jsx("span",{className:"ql-formats",children:jsx("button",{className:"ql-direction",value:"rtl"})}),jsxs("span",{className:"ql-formats",children:[jsx("select",{className:"ql-color"}),jsx("select",{className:"ql-background"})]}),jsx("span",{className:"ql-formats",children:jsx("select",{className:"ql-font"})}),jsx("span",{className:"ql-formats",children:jsx("select",{className:"ql-align"})}),jsx("span",{className:"ql-formats",children:jsx("button",{className:"ql-clean"})}),jsxs("span",{className:"ql-formats",children:[jsx("button",{className:"ql-link"}),jsx("button",{className:"ql-image"}),jsx("button",{className:"ql-video"}),jsx("button",{className:"ql-formula"})]})]}),jsx("div",{ref:s,style:v,className:Q})]})});p.displayName="ReactQuill";var m=p;var j=m;export{j as default};//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map