primereact
Version:
PrimeReact is an open source UI library for React featuring a rich set of 90+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with Prime
2 lines (1 loc) • 6.51 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/hooks"),r=require("primereact/utils");function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var l=n(e);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a.apply(this,arguments)}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function u(e,t){if("object"!==o(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function c(e){var t=u(e,"string");return"symbol"===o(t)?t:String(t)}function i(e,t,r){return(t=c(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var s={defaultProps:{__TYPE:"Editor",id:null,value:null,style:null,className:null,placeholder:null,readOnly:!1,modules:null,formats:null,theme:"snow",showHeader:!0,headerTemplate:null,onTextChange:null,onSelectionChange:null,onLoad:null,maxLength:null,children:void 0},getProps:function(e){return r.ObjectUtils.getMergedProps(e,s.defaultProps)},getOtherProps:function(e){return r.ObjectUtils.getDiffProps(e,s.defaultProps)}};function m(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?m(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):m(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var p=function(){try{return Quill}catch(e){return null}}(),d=l.memo(l.forwardRef((function(e,o){var u=s.getProps(e),c=l.useRef(null),i=l.useRef(null),m=l.useRef(null),d=l.useRef(null),b=l.useRef(!1);t.useMountEffect((function(){if(!b.current){var e={modules:f({toolbar:!!u.showHeader&&m.current},u.modules),placeholder:u.placeholder,readOnly:u.readOnly,theme:u.theme,formats:u.formats};p?(d.current=new Quill(i.current,e),v(),d.current&&d.current.getModule("toolbar")&&u.onLoad&&u.onLoad(d.current)):Promise.resolve().then((function(){return n(require("quill"))})).then((function(t){t&&r.DomHandler.isExist(i.current)&&(d.current=t.default?new t.default(i.current,e):new t(i.current,e),v())})).then((function(){d.current&&d.current.getModule("toolbar")&&u.onLoad&&u.onLoad(d.current)})),b.current=!0}}));var v=function(){u.value&&d.current.setContents(d.current.clipboard.convert(u.value)),d.current.on("text-change",(function(e,t,n){var l=i.current.children[0],a=l?l.innerHTML:null,o=d.current.getText();if("<p><br></p>"===a&&(a=null),"api"===n){var c=i.current.children[0],s=document.createElement("div");if(s.innerHTML=u.value||"",r.DomHandler.isEqualElement(c,s))return}if(u.maxLength){var m=d.current.getLength();m>u.maxLength&&d.current.deleteText(u.maxLength,m)}u.onTextChange&&u.onTextChange({htmlValue:a,textValue:o,delta:e,source:n})})),d.current.on("selection-change",(function(e,t,r){u.onSelectionChange&&u.onSelectionChange({range:e,oldRange:t,source:r})}))};t.useUpdateEffect((function(){d.current&&!d.current.hasFocus()&&(u.value?d.current.setContents(d.current.clipboard.convert(u.value)):d.current.setText(""))}),[u.value]),l.useImperativeHandle(o,(function(){return{props:u,getQuill:function(){return d.current},getElement:function(){return c.current},getContent:function(){return i.current},getToolbar:function(){return m.current}}}));var g=s.getOtherProps(u),y=r.classNames("p-component p-editor-container",u.className),h=!1===u.showHeader?null:u.headerTemplate?l.createElement("div",{ref:m,className:"p-editor-toolbar"},u.headerTemplate):l.createElement("div",{ref:m,className:"p-editor-toolbar"},l.createElement("span",{className:"ql-formats"},l.createElement("select",{className:"ql-header",defaultValue:"0"},l.createElement("option",{value:"1"},"Heading"),l.createElement("option",{value:"2"},"Subheading"),l.createElement("option",{value:"0"},"Normal")),l.createElement("select",{className:"ql-font"},l.createElement("option",null),l.createElement("option",{value:"serif"}),l.createElement("option",{value:"monospace"}))),l.createElement("span",{className:"ql-formats"},l.createElement("button",{type:"button",className:"ql-bold","aria-label":"Bold"}),l.createElement("button",{type:"button",className:"ql-italic","aria-label":"Italic"}),l.createElement("button",{type:"button",className:"ql-underline","aria-label":"Underline"})),l.createElement("span",{className:"ql-formats"},l.createElement("select",{className:"ql-color"}),l.createElement("select",{className:"ql-background"})),l.createElement("span",{className:"ql-formats"},l.createElement("button",{type:"button",className:"ql-list",value:"ordered","aria-label":"Ordered List"}),l.createElement("button",{type:"button",className:"ql-list",value:"bullet","aria-label":"Unordered List"}),l.createElement("select",{className:"ql-align"},l.createElement("option",{defaultValue:!0}),l.createElement("option",{value:"center"}),l.createElement("option",{value:"right"}),l.createElement("option",{value:"justify"}))),l.createElement("span",{className:"ql-formats"},l.createElement("button",{type:"button",className:"ql-link","aria-label":"Insert Link"}),l.createElement("button",{type:"button",className:"ql-image","aria-label":"Insert Image"}),l.createElement("button",{type:"button",className:"ql-code-block","aria-label":"Insert Code Block"})),l.createElement("span",{className:"ql-formats"},l.createElement("button",{type:"button",className:"ql-clean","aria-label":"Remove Styles"}))),E=l.createElement("div",{ref:i,className:"p-editor-content",style:u.style});return l.createElement("div",a({id:u.id,ref:c,className:y},g),h,E)})));d.displayName="Editor",exports.Editor=d;
;