UNPKG

ll-package

Version:

14 lines (13 loc) 5.5 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../../../../_virtual/quill.js"),M=require("../../../quill-delta/dist/Delta.js"),r=require("vue");/*! * VueQuill @vueup/vue-quill v1.2.0 * https://vueup.github.io/vue-quill/ * * Includes quill v1.3.7 * https://quilljs.com/ * * Copyright (c) 2023 Ahmad Luthfi Masruri * Released under the MIT license * Date: 2023-05-12T08:44:03.742Z */const k={essential:[[{header:[1,2,3,4,5,6,!1]}],["bold","italic","underline"],[{list:"ordered"},{list:"bullet"},{align:[]}],["blockquote","code-block","link"],[{color:[]},"clean"]],minimal:[[{header:1},{header:2}],["bold","italic","underline"],[{list:"ordered"},{list:"bullet"},{align:[]}]],full:[["bold","italic","underline","strike"],["blockquote","code-block"],[{header:1},{header:2}],[{list:"ordered"},{list:"bullet"}],[{script:"sub"},{script:"super"}],[{indent:"-1"},{indent:"+1"}],[{direction:"rtl"}],[{size:["small",!1,"large","huge"]}],[{header:[1,2,3,4,5,6,!1]}],[{color:[]},{background:[]}],[{font:[]}],[{align:[]}],["link","video","image"],["clean"]]},B=r.defineComponent({name:"QuillEditor",inheritAttrs:!1,props:{content:{type:[String,Object]},contentType:{type:String,default:"delta",validator:l=>["delta","html","text"].includes(l)},enable:{type:Boolean,default:!0},readOnly:{type:Boolean,default:!1},placeholder:{type:String,required:!1},theme:{type:String,default:"snow",validator:l=>["snow","bubble",""].includes(l)},toolbar:{type:[String,Array,Object],required:!1,validator:l=>typeof l=="string"&&l!==""?l.charAt(0)==="#"?!0:Object.keys(k).indexOf(l)!==-1:!0},modules:{type:Object,required:!1},options:{type:Object,required:!1},globalOptions:{type:Object,required:!1}},emits:["textChange","selectionChange","editorChange","update:content","focus","blur","ready"],setup:(l,i)=>{r.onMounted(()=>{m()}),r.onBeforeUnmount(()=>{t=null});let t,b;const a=r.ref(),m=()=>{var e;if(a.value){if(b=w(),l.modules)if(Array.isArray(l.modules))for(const o of l.modules)u.default.register(`modules/${o.name}`,o.module);else u.default.register(`modules/${l.modules.name}`,l.modules.module);t=new u.default(a.value,b),s(l.content),t.on("text-change",_),t.on("selection-change",A),t.on("editor-change",E),l.theme!=="bubble"&&a.value.classList.remove("ql-bubble"),l.theme!=="snow"&&a.value.classList.remove("ql-snow"),(e=t.getModule("toolbar"))===null||e===void 0||e.container.addEventListener("mousedown",o=>{o.preventDefault()}),i.emit("ready",t)}},w=()=>{const e={};if(l.theme!==""&&(e.theme=l.theme),l.readOnly&&(e.readOnly=l.readOnly),l.placeholder&&(e.placeholder=l.placeholder),l.toolbar&&l.toolbar!==""&&(e.modules={toolbar:(()=>{if(typeof l.toolbar=="object")return l.toolbar;if(typeof l.toolbar=="string")return l.toolbar.charAt(0)==="#"?l.toolbar:k[l.toolbar]})()}),l.modules){const o=(()=>{var n,c;const f={};if(Array.isArray(l.modules))for(const j of l.modules)f[j.name]=(n=j.options)!==null&&n!==void 0?n:{};else f[l.modules.name]=(c=l.modules.options)!==null&&c!==void 0?c:{};return f})();e.modules=Object.assign({},e.modules,o)}return Object.assign({},l.globalOptions,l.options,e)},v=e=>typeof e=="object"&&e?e.slice():e,S=e=>Object.values(e.ops).some(o=>!o.retain||Object.keys(o).length!==1);let d;const h=e=>{if(typeof d==typeof e){if(e===d)return!0;if(typeof e=="object"&&e&&typeof d=="object"&&d)return!S(d.diff(e))}return!1},_=(e,o,n)=>{d=v(g()),h(l.content)||i.emit("update:content",d),i.emit("textChange",{delta:e,oldContents:o,source:n})},y=r.ref(),A=(e,o,n)=>{y.value=!!(t!=null&&t.hasFocus()),i.emit("selectionChange",{range:e,oldRange:o,source:n})};r.watch(y,e=>{e?i.emit("focus",a):i.emit("blur",a)});const E=(...e)=>{e[0]==="text-change"&&i.emit("editorChange",{name:e[0],delta:e[1],oldContents:e[2],source:e[3]}),e[0]==="selection-change"&&i.emit("editorChange",{name:e[0],range:e[1],oldRange:e[2],source:e[3]})},L=()=>a.value,x=()=>{var e;return(e=t==null?void 0:t.getModule("toolbar"))===null||e===void 0?void 0:e.container},H=()=>{if(t)return t;throw`The quill editor hasn't been instantiated yet, make sure to call this method when the editor ready or use v-on:ready="onReady(quill)" event instead.`},g=(e,o)=>l.contentType==="html"?q():l.contentType==="text"?O(e,o):t==null?void 0:t.getContents(e,o),s=(e,o="api")=>{const n=e||(l.contentType==="delta"?new M.default:"");l.contentType==="html"?C(n):l.contentType==="text"?T(n,o):t==null||t.setContents(n,o),d=v(n)},O=(e,o)=>{var n;return(n=t==null?void 0:t.getText(e,o))!==null&&n!==void 0?n:""},T=(e,o="api")=>{t==null||t.setText(e,o)},q=()=>{var e;return(e=t==null?void 0:t.root.innerHTML)!==null&&e!==void 0?e:""},C=e=>{t&&(t.root.innerHTML=e)},Q=(e,o="api")=>{const n=t==null?void 0:t.clipboard.convert(e);n&&(t==null||t.setContents(n,o))},$=()=>{t==null||t.focus()},z=()=>{r.nextTick(()=>{var e;!i.slots.toolbar&&t&&((e=t.getModule("toolbar"))===null||e===void 0||e.container.remove()),m()})};return r.watch(()=>l.content,e=>{if(!t||!e||h(e))return;const o=t.getSelection();o&&r.nextTick(()=>t==null?void 0:t.setSelection(o)),s(e)},{deep:!0}),r.watch(()=>l.enable,e=>{t&&t.enable(e)}),{editor:a,getEditor:L,getToolbar:x,getQuill:H,getContents:g,setContents:s,getHTML:q,setHTML:C,pasteHTML:Q,focus:$,getText:O,setText:T,reinit:z}},render(){var l,i;return[(i=(l=this.$slots).toolbar)===null||i===void 0?void 0:i.call(l),r.h("div",{ref:"editor",...this.$attrs})]}});exports.Quill=u.default;exports.Delta=M.default;exports.QuillEditor=B;