@jsg-developer/vue-pack 0.0.6 → 0.0.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/README.md +16 -66
- package/dist/chunks/ArrayObject-CC-LVTui.es.js +4 -0
- package/dist/chunks/{ArrayObject-Dqa0clzu.cjs.js → ArrayObject-CGzlqVE4.cjs.js} +1 -1
- package/dist/chunks/{ColorPicker-CEsbb5Ag.cjs.js → ColorPicker-B-7lnPz_.cjs.js} +1 -1
- package/dist/chunks/ColorPicker-DWajlDz5.es.js +4 -0
- package/dist/chunks/{ComboboxComponent-DtoaVSR4.cjs.js → ComboboxComponent-6WfHYEwL.cjs.js} +1 -1
- package/dist/chunks/ComboboxComponent-RENQ1FXI.es.js +4 -0
- package/dist/chunks/CurrencyInput-CmGrI2Vy.es.js +4 -0
- package/dist/chunks/{CurrencyInput-DTIcqJ1a.cjs.js → CurrencyInput-Dzho-dGX.cjs.js} +1 -1
- package/dist/chunks/{DateInput-C0SOusmw.cjs.js → DateInput-G26GgCwa.cjs.js} +1 -1
- package/dist/chunks/DateInput-J06kg5C-.es.js +4 -0
- package/dist/chunks/{DateTimeInput-DbpV0Qce.cjs.js → DateTimeInput-BDjAaSxl.cjs.js} +1 -1
- package/dist/chunks/{DateTimeInput-BZAT0grx.es.js → DateTimeInput-DYcjPrwh.es.js} +1 -1
- package/dist/chunks/{DateTimeInput.vue_vue_type_script_setup_true_lang-FyVamvm3.cjs.js → DateTimeInput.vue_vue_type_script_setup_true_lang-CEMOLDbR.cjs.js} +1 -1
- package/dist/chunks/{DateTimeInput.vue_vue_type_script_setup_true_lang-DYyoakjs.es.js → DateTimeInput.vue_vue_type_script_setup_true_lang-DLvsYOFE.es.js} +1 -1
- package/dist/chunks/EmailInput-Did4kNYA.es.js +4 -0
- package/dist/chunks/{EmailInput-Bj1hOlZq.cjs.js → EmailInput-mVz5VWCr.cjs.js} +1 -1
- package/dist/chunks/{FileArrayInput-BRvQ9JCt.es.js → FileArrayInput-C5drCF6p.es.js} +2 -2
- package/dist/chunks/{FileArrayInput-QS2XM7US.cjs.js → FileArrayInput-sF9cSGx6.cjs.js} +1 -1
- package/dist/chunks/{FileArrayInput.vue_vue_type_script_setup_true_lang-CKH_wEse.es.js → FileArrayInput.vue_vue_type_script_setup_true_lang-BC-fFxew.es.js} +1 -1
- package/dist/chunks/{FileArrayInput.vue_vue_type_script_setup_true_lang-CyOGfL5U.cjs.js → FileArrayInput.vue_vue_type_script_setup_true_lang-C1s1YDCy.cjs.js} +1 -1
- package/dist/chunks/FileInput-DEk9Pscj.es.js +4 -0
- package/dist/chunks/{FileInput-BHGryD14.cjs.js → FileInput-skfda07B.cjs.js} +1 -1
- package/dist/chunks/{GroupRenderer-BmfWEPk1.cjs.js → GroupRenderer-BvBpL8Bq.cjs.js} +1 -1
- package/dist/chunks/GroupRenderer-D_3hmVS4.es.js +4 -0
- package/dist/chunks/{ImageArrayInput-B-pILI_I.es.js → ImageArrayInput-CbJzqdrg.es.js} +2 -2
- package/dist/chunks/{ImageArrayInput-DFnXWcsl.cjs.js → ImageArrayInput-Cn1-cDwf.cjs.js} +1 -1
- package/dist/chunks/{ImageArrayInput.vue_vue_type_script_setup_true_lang-BIwMeD6G.cjs.js → ImageArrayInput.vue_vue_type_script_setup_true_lang-BHfmeojG.cjs.js} +1 -1
- package/dist/chunks/{ImageArrayInput.vue_vue_type_script_setup_true_lang-1D9mZZ7m.es.js → ImageArrayInput.vue_vue_type_script_setup_true_lang-EJntCDiU.es.js} +1 -1
- package/dist/chunks/{ImageInput-CSNbCtqh.cjs.js → ImageInput-BtNhmF5M.cjs.js} +1 -1
- package/dist/chunks/ImageInput-hwY64_P3.es.js +4 -0
- package/dist/chunks/NumberInput-0l-TANaP.es.js +4 -0
- package/dist/chunks/{NumberInput-D5mN1V1M.cjs.js → NumberInput-BMznnD_p.cjs.js} +1 -1
- package/dist/chunks/{ObjectInput-DR0aOSLh.cjs.js → ObjectInput-BEGBttyq.cjs.js} +1 -1
- package/dist/chunks/ObjectInput-DA7Hfck0.es.js +4 -0
- package/dist/chunks/{PasswordInput-DdG4fb10.cjs.js → PasswordInput-DVnZLrab.cjs.js} +1 -1
- package/dist/chunks/PasswordInput-DxSoZlRM.es.js +4 -0
- package/dist/chunks/RateInput-LQcqAf2f.es.js +4 -0
- package/dist/chunks/{RateInput-D4PLWJsQ.cjs.js → RateInput-hNeff8s7.cjs.js} +1 -1
- package/dist/chunks/{TabelData-BK_AEoh6.cjs.js → TabelData-Ct-CexJm.cjs.js} +1 -1
- package/dist/chunks/{TabelData-BHcz4exi.es.js → TabelData-Dz9sLYJR.es.js} +1 -1
- package/dist/chunks/TagInput-Cc7wwjcX.es.js +4 -0
- package/dist/chunks/{TagInput-Cr_dgIv1.cjs.js → TagInput-D7Jt9ghP.cjs.js} +1 -1
- package/dist/chunks/TelInput-DDqFalm6.es.js +4 -0
- package/dist/chunks/{TelInput-C5MYts-b.cjs.js → TelInput-DPwx7ozA.cjs.js} +1 -1
- package/dist/chunks/{TextAreaInput-CVZds8O-.cjs.js → TextAreaInput-Bm1U-giD.cjs.js} +1 -1
- package/dist/chunks/TextAreaInput-LkFerA8R.es.js +4 -0
- package/dist/chunks/{TextAreaQuill-XwQgVWLw.cjs.js → TextAreaQuill-BUmElXSq.cjs.js} +1 -1
- package/dist/chunks/{TextAreaQuill-CtpmFHK7.es.js → TextAreaQuill-PSKHjt67.es.js} +1 -1
- package/dist/chunks/{TextInput-BcOxjfnX.cjs.js → TextInput-BePpVfyt.cjs.js} +1 -1
- package/dist/chunks/TextInput-oBJKDYmM.es.js +4 -0
- package/dist/chunks/{TimeInput-DP9dzBSv.cjs.js → TimeInput-Bz62wZi1.cjs.js} +1 -1
- package/dist/chunks/TimeInput-DrXYIRmu.es.js +4 -0
- package/dist/chunks/ToggleInput-7phZ6wcS.es.js +4 -0
- package/dist/chunks/{ToggleInput-BQJ9Z0_X.cjs.js → ToggleInput-Dp4Lv_6z.cjs.js} +1 -1
- package/dist/chunks/{UrlInput-DpNGJGaX.cjs.js → UrlInput-ClHoXv2k.cjs.js} +1 -1
- package/dist/chunks/UrlInput-YQFu4Cb3.es.js +4 -0
- package/dist/chunks/resize-B3p3dEqX.cjs.js +12 -0
- package/dist/chunks/{resize-BA9Vve1P.es.js → resize-DjoINfaT.es.js} +686 -681
- package/dist/init.cjs.js +1 -1
- package/dist/init.es.js +1 -1
- package/dist/jsgd-vue-pack.cjs.js +1 -1
- package/dist/jsgd-vue-pack.es.js +7 -7
- package/dist/style.css +1 -1
- package/dist/vue.cjs.js +1 -1
- package/dist/vue.es.js +6 -6
- package/package.json +1 -1
- package/dist/chunks/ArrayObject-DDeI93dc.es.js +0 -4
- package/dist/chunks/ColorPicker-I60o5_GX.es.js +0 -4
- package/dist/chunks/ComboboxComponent-68U96D9p.es.js +0 -4
- package/dist/chunks/CurrencyInput-DGUkU3FD.es.js +0 -4
- package/dist/chunks/DateInput-Co6VpTHT.es.js +0 -4
- package/dist/chunks/EmailInput-qqhKRmvT.es.js +0 -4
- package/dist/chunks/FileInput-DxTlDCLx.es.js +0 -4
- package/dist/chunks/GroupRenderer-DMAdfCgE.es.js +0 -4
- package/dist/chunks/ImageInput-CRCYTGxc.es.js +0 -4
- package/dist/chunks/NumberInput-JR5PkxyV.es.js +0 -4
- package/dist/chunks/ObjectInput-Dqfri61J.es.js +0 -4
- package/dist/chunks/PasswordInput-U7M7le-1.es.js +0 -4
- package/dist/chunks/RateInput-RaBWxAY-.es.js +0 -4
- package/dist/chunks/TagInput-Bm2yhHqX.es.js +0 -4
- package/dist/chunks/TelInput-DcBE7hlb.es.js +0 -4
- package/dist/chunks/TextAreaInput-Cggq_qmY.es.js +0 -4
- package/dist/chunks/TextInput-fKC87ySl.es.js +0 -4
- package/dist/chunks/TimeInput-CbrXOhwB.es.js +0 -4
- package/dist/chunks/ToggleInput-i8LrK8Ut.es.js +0 -4
- package/dist/chunks/UrlInput-ckEhZgRN.es.js +0 -4
- package/dist/chunks/resize-DDw7Ie92.cjs.js +0 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var A=Object.create;var B=Object.defineProperty;var z=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var P=(d,j,t,b)=>{if(j&&typeof j=="object"||typeof j=="function")for(let s of _(j))!R.call(d,s)&&s!==t&&B(d,s,{get:()=>j[s],enumerable:!(b=z(j,s))||b.enumerable});return d};var C=(d,j,t)=>(t=d!=null?A(D(d)):{},P(j||!d||!d.__esModule?B(t,"default",{value:d,enumerable:!0}):t,d));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),T=require("dompurify"),x=require("./resize-DDw7Ie92.cjs.js");require("lodash.isequal");require("zod");const F={class:"jsgd-w-full jsgd-max-w-md jsgd-bg-white jsgd-rounded-xl jsgd-shadow-2xl jsgd-overflow-hidden dark:jsgd-bg-slate-800"},Q={class:"jsgd-p-5 jsgd-border-b jsgd-border-slate-200 dark:jsgd-border-slate-700"},H={class:"jsgd-text-lg jsgd-font-bold jsgd-text-slate-900 dark:jsgd-text-slate-100"},O={class:"jsgd-p-5 jsgd-flex jsgd-flex-col jsgd-gap-5"},K={key:0,class:"jsgd-flex jsgd-w-full jsgd-p-1 jsgd-bg-slate-100 jsgd-rounded-lg dark:jsgd-bg-slate-700"},G={key:1},W={key:2,class:"jsgd-box-border"},Y=["placeholder"],J={key:3},X=["accept"],Z={key:0,class:"jsgd-mt-4"},ee=["src"],te={key:4},le={class:"jsgd-p-4 jsgd-bg-slate-50 jsgd-flex jsgd-justify-end jsgd-gap-3 dark:jsgd-bg-slate-900/50"},se=["disabled"],de={key:0},ae={key:1},oe=e.defineComponent({__name:"QuillEmbedModal",props:{show:{type:Boolean},mode:{},uploadUrl:{},initialValue:{},initialText:{}},emits:["close","submit"],setup(d,{emit:j}){const t=d,b=j,s=e.ref(""),u=e.ref(""),c=e.ref(null),f=e.ref(""),m=e.ref(null),v=e.ref(!1),i=e.ref("url"),k=e.computed(()=>!!t.uploadUrl),q=e.computed(()=>{switch(t.mode){case"image":return"Insert Image";case"video":return"Embed Video";case"link":return"Insert Link";default:return"Insert Media"}}),g=e.computed(()=>t.mode==="video"?"e.g., YouTube, Vimeo URL":"https://...");e.watch(()=>t.show,p=>{p&&(i.value=k.value?"upload":"url",s.value=t.initialValue||"",f.value=t.initialText||"",u.value="",c.value=null,m.value=null,v.value=!1)});function E(){b("close")}function w(p){const a=p.target;if(a.files&&a.files[0]&&(c.value=a.files[0],t.mode==="image")){const r=new FileReader;r.onload=N=>{m.value=N.target?.result},r.readAsDataURL(c.value)}}async function y(){v.value=!0;try{if(i.value==="upload"&&k.value){if(!c.value){alert("Please select a file to upload.");return}if(!t.uploadUrl){alert("Upload API URL is not configured.");return}const p=new FormData;p.append("file",c.value);const a=await fetch(t.uploadUrl,{method:"POST",body:p});if(!a.ok)throw new Error("Upload failed");const r=await a.json(),N=r.url||r.secure_url||r.path||r.data?.url||r.data?.path||r.data?.secure_url;if(!N)throw new Error("URL not found in upload response");b("submit",{url:N,alt:u.value,text:f.value})}else{if(!s.value){alert("Please enter a URL.");return}b("submit",{url:s.value,alt:u.value,text:f.value})}}catch(p){console.error(p),alert(p.message||"An error occurred.")}finally{v.value=!1}}return(p,a)=>(e.openBlock(),e.createBlock(e.Transition,{name:"jsgd-modal-overlay",appear:""},{default:e.withCtx(()=>[d.show?(e.openBlock(),e.createElementBlock("div",{key:0,class:"jsgd-fixed jsgd-inset-0 jsgd-z-[10000000] jsgd-flex jsgd-items-center jsgd-justify-center jsgd-p-4 jsgd-bg-black/60 jsgd-backdrop-blur-sm",onClick:e.withModifiers(E,["self"])},[e.createVNode(e.Transition,{name:"jsgd-modal-container",appear:""},{default:e.withCtx(()=>[e.createElementVNode("div",F,[e.createElementVNode("div",Q,[e.createElementVNode("h3",H,e.toDisplayString(q.value),1)]),e.createElementVNode("div",O,[k.value&&d.mode!=="link"?(e.openBlock(),e.createElementBlock("div",K,[e.createElementVNode("button",{onClick:a[0]||(a[0]=r=>i.value="upload"),class:e.normalizeClass(["jsgd-flex-1 jsgd-py-1.5 jsgd-px-3 jsgd-text-sm jsgd-font-semibold jsgd-rounded-md jsgd-transition-colors jsgd-duration-200",i.value==="upload"?"jsgd-bg-white jsgd-text-blue-600 jsgd-shadow-sm dark:jsgd-bg-slate-600 dark:jsgd-text-white":"jsgd-bg-transparent jsgd-text-slate-500 hover:jsgd-text-slate-700 dark:jsgd-text-slate-400 dark:hover:jsgd-text-slate-200"])}," Upload ",2),e.createElementVNode("button",{onClick:a[1]||(a[1]=r=>i.value="url"),class:e.normalizeClass(["jsgd-flex-1 jsgd-py-1.5 jsgd-px-3 jsgd-text-sm jsgd-font-semibold jsgd-rounded-md jsgd-transition-colors jsgd-duration-200",i.value==="url"?"jsgd-bg-white jsgd-text-blue-600 jsgd-shadow-sm dark:jsgd-bg-slate-600 dark:jsgd-text-white":"jsgd-bg-transparent jsgd-text-slate-500 hover:jsgd-text-slate-700 dark:jsgd-text-slate-400 dark:hover:jsgd-text-slate-200"])}," From URL ",2)])):e.createCommentVNode("",!0),d.mode==="link"?(e.openBlock(),e.createElementBlock("div",G,[a[5]||(a[5]=e.createElementVNode("label",{class:"jsgd-block jsgd-text-sm jsgd-font-medium jsgd-mb-1 dark:jsgd-text-slate-300"},"Text to display",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":a[2]||(a[2]=r=>f.value=r),type:"text",placeholder:"If empty, URL will be shown",class:"jsgd-w-full jsgd-py-2 jsgd-px-3 jsgd-rounded-md jsgd-border jsgd-border-slate-300 dark:jsgd-bg-slate-700 dark:jsgd-border-slate-600 dark:jsgd-text-white"},null,512),[[e.vModelText,f.value]])])):e.createCommentVNode("",!0),i.value==="url"||d.mode==="link"?(e.openBlock(),e.createElementBlock("div",W,[a[6]||(a[6]=e.createElementVNode("label",{class:"jsgd-block jsgd-text-sm jsgd-font-medium jsgd-mb-1 dark:jsgd-text-slate-300"},"URL",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":a[3]||(a[3]=r=>s.value=r),type:"text",placeholder:g.value,class:"jsgd-w-full jsgd-py-2 jsgd-px-3 jsgd-rounded-md jsgd-border jsgd-border-slate-300 dark:jsgd-bg-slate-700 dark:jsgd-border-slate-600 dark:jsgd-text-white",onKeydown:e.withKeys(y,["enter"])},null,40,Y),[[e.vModelText,s.value]])])):e.createCommentVNode("",!0),i.value==="upload"&&k.value?(e.openBlock(),e.createElementBlock("div",J,[a[7]||(a[7]=e.createElementVNode("label",{class:"jsgd-block jsgd-text-sm jsgd-font-medium jsgd-mb-1 dark:jsgd-text-slate-300"},"Upload File",-1)),e.createElementVNode("input",{type:"file",accept:d.mode==="image"?"image/*":"video/*",onChange:w,class:"jsgd-w-full jsgd-text-sm jsgd-text-slate-500 file:jsgd-mr-4 file:jsgd-py-2 file:jsgd-px-4 file:jsgd-rounded-full file:jsgd-border-0 file:jsgd-text-sm file:jsgd-font-semibold file:jsgd-bg-blue-50 file:jsgd-text-blue-700 hover:file:jsgd-bg-blue-100 dark:file:jsgd-bg-blue-900/50 dark:file:jsgd-text-blue-300 dark:hover:file:jsgd-bg-blue-900"},null,40,X),m.value?(e.openBlock(),e.createElementBlock("div",Z,[e.createElementVNode("img",{src:m.value,class:"jsgd-max-w-full jsgd-max-h-40 jsgd-rounded-md",alt:"Upload Preview"},null,8,ee)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),d.mode==="image"?(e.openBlock(),e.createElementBlock("div",te,[a[8]||(a[8]=e.createElementVNode("label",{class:"jsgd-block jsgd-text-sm jsgd-font-medium jsgd-mb-1 dark:jsgd-text-slate-300"},"Alt Text (Optional)",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":a[4]||(a[4]=r=>u.value=r),type:"text",placeholder:"Describe the image for accessibility",class:"jsgd-w-full jsgd-py-2 jsgd-px-3 jsgd-rounded-md jsgd-border jsgd-border-slate-300 dark:jsgd-bg-slate-700 dark:jsgd-border-slate-600 dark:jsgd-text-white"},null,512),[[e.vModelText,u.value]])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",le,[e.createElementVNode("button",{onClick:E,class:"jsgd-px-4 jsgd-py-2 jsgd-rounded-md jsgd-text-sm jsgd-font-medium jsgd-bg-white jsgd-border jsgd-border-slate-300 hover:jsgd-bg-slate-50 dark:jsgd-bg-slate-700 dark:jsgd-text-slate-200 dark:jsgd-border-slate-600 dark:hover:jsgd-bg-slate-600"}," Cancel "),e.createElementVNode("button",{onClick:y,class:"jsgd-px-4 jsgd-py-2 jsgd-rounded-md jsgd-text-sm jsgd-font-medium jsgd-text-white jsgd-bg-blue-600 hover:jsgd-bg-blue-700 dark:jsgd-bg-blue-500 dark:hover:jsgd-bg-blue-600",disabled:v.value},[v.value?(e.openBlock(),e.createElementBlock("span",de,"Inserting...")):(e.openBlock(),e.createElementBlock("span",ae,"Insert"))],8,se)])])]),_:1})])):e.createCommentVNode("",!0)]),_:1}))}}),ne=x._export_sfc(oe,[["__scopeId","data-v-e9ba68c4"]]),re={class:"jsgd-w-full jsgd-max-w-sm jsgd-bg-white jsgd-rounded-xl jsgd-shadow-2xl jsgd-overflow-hidden dark:jsgd-bg-slate-800"},ie={class:"jsgd-p-5 jsgd-flex jsgd-flex-col jsgd-gap-4"},ge=e.defineComponent({__name:"QuillAltModal",props:{show:{type:Boolean},initialValue:{}},emits:["close","submit"],setup(d,{emit:j}){const t=d,b=j,s=e.ref("");e.watch(()=>t.show,f=>{f&&(s.value=t.initialValue||"")});function u(){b("close")}function c(){b("submit",s.value)}return(f,m)=>(e.openBlock(),e.createBlock(e.Transition,{name:"jsgd-modal-overlay",appear:""},{default:e.withCtx(()=>[d.show?(e.openBlock(),e.createElementBlock("div",{key:0,class:"jsgd-fixed jsgd-inset-0 jsgd-z-[10001] jsgd-flex jsgd-items-center jsgd-justify-center jsgd-p-4 jsgd-bg-black/60 jsgd-backdrop-blur-sm",onClick:e.withModifiers(u,["self"])},[e.createVNode(e.Transition,{name:"jsgd-modal-container",appear:""},{default:e.withCtx(()=>[e.createElementVNode("div",re,[m[3]||(m[3]=e.createElementVNode("div",{class:"jsgd-p-5 jsgd-border-b jsgd-border-slate-200 dark:jsgd-border-slate-700"},[e.createElementVNode("h3",{class:"jsgd-text-lg jsgd-font-bold jsgd-text-slate-900 dark:jsgd-text-slate-100"}," Edit Image Alt Text ")],-1)),e.createElementVNode("div",ie,[e.createElementVNode("div",null,[m[1]||(m[1]=e.createElementVNode("label",{class:"jsgd-block jsgd-text-sm jsgd-font-medium jsgd-mb-1 dark:jsgd-text-slate-300"},"Alt Text",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":m[0]||(m[0]=v=>s.value=v),type:"text",placeholder:"Describe the image for accessibility",class:"jsgd-w-full jsgd-py-2 jsgd-px-3 jsgd-rounded-md jsgd-border jsgd-border-slate-300 dark:jsgd-bg-slate-700 dark:jsgd-border-slate-600 dark:jsgd-text-white",onKeydown:e.withKeys(c,["enter"])},null,544),[[e.vModelText,s.value]]),m[2]||(m[2]=e.createElementVNode("p",{class:"jsgd-text-xs jsgd-text-slate-500 jsgd-mt-2 dark:jsgd-text-slate-400"}," Good alt text is descriptive and helps screen readers understand the image content. ",-1))])]),e.createElementVNode("div",{class:"jsgd-p-4 jsgd-bg-slate-50 jsgd-flex jsgd-justify-end jsgd-gap-3 dark:jsgd-bg-slate-900/50"},[e.createElementVNode("button",{onClick:u,class:"jsgd-px-4 jsgd-py-2 jsgd-rounded-md jsgd-text-sm jsgd-font-medium jsgd-bg-white jsgd-border jsgd-border-slate-300 hover:jsgd-bg-slate-50 dark:jsgd-bg-slate-700 dark:jsgd-text-slate-200 dark:jsgd-border-slate-600 dark:hover:jsgd-bg-slate-600"}," Cancel "),e.createElementVNode("button",{onClick:c,class:"jsgd-px-4 jsgd-py-2 jsgd-rounded-md jsgd-text-sm jsgd-font-medium jsgd-text-white jsgd-bg-blue-600 hover:jsgd-bg-blue-700 dark:jsgd-bg-blue-500 dark:hover:jsgd-bg-blue-600"}," Save ")])])]),_:1})])):e.createCommentVNode("",!0)]),_:1}))}}),ue=x._export_sfc(ge,[["__scopeId","data-v-4b0d2e4a"]]),ce={class:"editor-header"},me=["for"],je=["id"],be={class:"ql-formats"},ve={key:0,viewBox:"0 0 18 18",width:"18",height:"18"},pe={key:1,viewBox:"0 0 18 18",width:"18",height:"18"},fe={class:"editor-relative-container"},xe={key:0,class:"upload-overlay"},ke=["id"],he={key:1,class:"error-message"},Ve=e.defineComponent({__name:"TextAreaQuill",props:{id:{default:()=>x.setUID()},label:{},placeholder:{},modelValue:{},error:{},disabled:{type:Boolean},lang:{},validate:{},apiUploadImage:{},apiUploadVideo:{}},emits:["update:modelValue","push:error","remove:error"],setup(d,{emit:j}){const t=d,b=j;let s=null;const u=e.ref(!1),c=e.ref([]),f=e.ref(!1),m=e.ref(""),v=e.ref(!1),i=e.ref("link"),k=e.ref(""),q=e.ref("");let g=null;const E=e.ref(!1),w=e.ref(null),y=e.ref(""),p=e.inject("TableComponents",{labels:e.ref(x.defaultTextLabelsMap[t.lang??"en"])}),a=e.computed(()=>t.placeholder??p.labels.value.placeholder?.quillEditor??"Write content here..."),r=e.computed(()=>{const o=[];return t.validate?.minLength&&o.push(x.getMessage("textMinLength",{min:String(t.validate.minLength)},t.lang)),t.validate?.maxLength&&o.push(x.getMessage("textMaxLength",{max:String(t.validate.maxLength)},t.lang)),o.join(", ")}),N=()=>{u.value=!u.value};e.watch(u,o=>{document.body.style.overflow=o?"hidden":""}),e.watch(()=>({val:t.modelValue,disabled:t.disabled,validate:t.validate}),({val:o,disabled:l,validate:n})=>{if(l){c.value=[],b("remove:error",t.id);return}const h=String(o??"").replace(/<[^>]*>?/gm,"").trim(),V=[];n&&(n.minLength&&h.length<n.minLength&&h.length!==0&&V.push(x.getMessage("textMinLength",{min:String(n.minLength)},t.lang??"en")),n.maxLength&&h.length>n.maxLength&&V.push(x.getMessage("textMaxLength",{max:String(n.maxLength)},t.lang??"en"))),c.value=V,V.length?b("push:error",V,t.id):b("remove:error",t.id)},{deep:!0,immediate:!0});const M=e.computed(()=>{if(i.value==="image")return t.apiUploadImage;if(i.value==="video")return t.apiUploadVideo}),U=()=>{i.value="image",k.value="",v.value=!0},S=()=>{i.value="video",k.value="",v.value=!0},L=o=>{g=s?.getSelection(),g||(g={index:s?.getSelection(!0)?.index||0,length:0});const l=s?.getText(g.index,g.length)||"";q.value=l,k.value=typeof o=="string"?o:"",i.value="link",v.value=!0},$=o=>{if(s){if(v.value=!1,i.value==="link"){if(!g)return;const l=o.text||o.url;s.setSelection(g.index,g.length,"silent"),g.length>0&&s.deleteText(g.index,g.length,"user"),s.insertText(g.index,l,"link",o.url,"user"),s.setSelection(g.index+l.length,0,"user")}else if(i.value==="image"){const l=s.getSelection(!0),n=o.alt?.replace(/"/g,""")||"",h=`<img src="${o.url}" alt="${n}" />`;s.clipboard.dangerouslyPasteHTML(l.index,h,"user"),s.setSelection(l.index+1,0)}else if(i.value==="video"){const l=s.getSelection(!0);s.insertEmbed(l.index,"video",o.url,"user"),s.setSelection(l.index+1,0)}g=null}},I=o=>{w.value&&w.value.setAttribute("alt",o),E.value=!1,w.value=null};return e.onMounted(async()=>{if(typeof window>"u")return;const o=document.getElementById(`editor-container-${t.id}`);if(!o)return;const{default:l}=await import("quill");try{const{default:n}=await import("quill-resize-module");l.register("modules/resize",n)}catch(n){console.warn("Resize module error",n)}s=new l(o,{theme:"snow",readOnly:t.disabled??!1,placeholder:a.value,modules:{toolbar:{container:`#toolbar-container-${t.id}`,handlers:{image:U,video:S,link:L}},resize:{locale:{},embedTags:["IMG","VIDEO","IFRAME"],tools:["left","center","right","full",{text:"Alt",attrs:{title:"Set image alt",class:"btn-alt"},verify:n=>n&&n.tagName==="IMG",handler:(n,h,V)=>{w.value=V,y.value=V.getAttribute("alt")||"",E.value=!0}}]}}}),s.root.setAttribute("spellcheck","true"),s.root.setAttribute("lang",t.lang==="id"?"id":"en"),t.modelValue&&(s.root.innerHTML=T.sanitize(t.modelValue)),s.on("text-change",()=>{const n=s.root.innerHTML;b("update:modelValue",T.sanitize(n),t.id)})}),e.watch(()=>t.disabled,o=>s?.enable(!o)),e.onUnmounted(()=>{document.body.style.overflow=""}),(o,l)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body",disabled:!u.value},[e.createElementVNode("div",{class:e.normalizeClass(["rich-text-editor-wrapper",{"editor-maximized":u.value}])},[e.createElementVNode("div",ce,[e.createElementVNode("label",{for:d.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":c.value}])},[e.createTextVNode(e.toDisplayString(d.label)+" ",1),r.value?(e.openBlock(),e.createBlock(e.unref(x._sfc_main$1),{key:0,text:r.value,as:"strong"},{default:e.withCtx(()=>[...l[2]||(l[2]=[e.createTextVNode(" ❓",-1)])]),_:1},8,["text"])):e.createCommentVNode("",!0)],10,me)]),e.createElementVNode("div",{id:`toolbar-container-${d.id}`,class:"quill-toolbar"},[l[5]||(l[5]=e.createElementVNode("span",{class:"ql-formats"},[e.createElementVNode("select",{class:"ql-font"}),e.createElementVNode("select",{class:"ql-size"})],-1)),l[6]||(l[6]=e.createElementVNode("span",{class:"ql-formats"},[e.createElementVNode("button",{class:"ql-bold"}),e.createElementVNode("button",{class:"ql-italic"}),e.createElementVNode("button",{class:"ql-underline"}),e.createElementVNode("button",{class:"ql-strike"})],-1)),l[7]||(l[7]=e.createElementVNode("span",{class:"ql-formats"},[e.createElementVNode("select",{class:"ql-color"}),e.createElementVNode("select",{class:"ql-background"})],-1)),l[8]||(l[8]=e.createElementVNode("span",{class:"ql-formats"},[e.createElementVNode("button",{class:"ql-header",value:"1"}),e.createElementVNode("button",{class:"ql-header",value:"2"}),e.createElementVNode("button",{class:"ql-blockquote"}),e.createElementVNode("button",{class:"ql-code-block"})],-1)),l[9]||(l[9]=e.createElementVNode("span",{class:"ql-formats"},[e.createElementVNode("button",{class:"ql-list",value:"ordered"}),e.createElementVNode("button",{class:"ql-list",value:"bullet"}),e.createElementVNode("button",{class:"ql-indent",value:"-1"}),e.createElementVNode("button",{class:"ql-indent",value:"+1"})],-1)),l[10]||(l[10]=e.createElementVNode("span",{class:"ql-formats"},[e.createElementVNode("button",{class:"ql-direction",value:"rtl"}),e.createElementVNode("select",{class:"ql-align"})],-1)),l[11]||(l[11]=e.createElementVNode("span",{class:"ql-formats"},[e.createElementVNode("button",{class:"ql-link"}),e.createElementVNode("button",{class:"ql-image"}),e.createTextVNode(),e.createElementVNode("button",{class:"ql-video"})],-1)),e.createElementVNode("span",be,[e.createElementVNode("button",{onClick:N,class:"maximize-button",type:"button"},[u.value?(e.openBlock(),e.createElementBlock("svg",pe,[...l[4]||(l[4]=[e.createElementVNode("rect",{class:"ql-stroke",x:"5",y:"5",width:"8",height:"8"},null,-1),e.createElementVNode("polyline",{class:"ql-stroke",points:"15 3 10 8"},null,-1),e.createElementVNode("polyline",{class:"ql-stroke",points:"3 15 8 10"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",ve,[...l[3]||(l[3]=[e.createElementVNode("rect",{class:"ql-stroke",x:"3",y:"3",width:"12",height:"12"},null,-1),e.createElementVNode("rect",{class:"ql-stroke",x:"10",y:"10",width:"1",height:"1"},null,-1),e.createElementVNode("rect",{class:"ql-stroke",x:"7",y:"10",width:"1",height:"1"},null,-1),e.createElementVNode("rect",{class:"ql-stroke",x:"10",y:"7",width:"1",height:"1"},null,-1),e.createElementVNode("rect",{class:"ql-stroke",x:"7",y:"7",width:"1",height:"1"},null,-1)])]))])])],8,je),e.createElementVNode("div",fe,[f.value?(e.openBlock(),e.createElementBlock("div",xe,[l[12]||(l[12]=e.createElementVNode("div",{class:"spinner"},null,-1)),e.createElementVNode("p",null,"Uploading "+e.toDisplayString(m.value)+"...",1)])):e.createCommentVNode("",!0),e.createElementVNode("div",{id:`editor-container-${d.id}`,class:e.normalizeClass(["quill-editor-container",{"has-error":d.error}])},null,10,ke)]),c.value.length!==0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(c.value,(n,h)=>(e.openBlock(),e.createElementBlock("p",{key:h,class:"error-message"},e.toDisplayString(n),1))),128)):e.createCommentVNode("",!0),typeof t.error=="string"&&c.value.length===0?(e.openBlock(),e.createElementBlock("p",he,e.toDisplayString(d.error),1)):e.createCommentVNode("",!0),e.createVNode(ne,{show:v.value,mode:i.value,"upload-url":M.value,"initial-value":k.value,"initial-text":q.value,onClose:l[0]||(l[0]=n=>v.value=!1),onSubmit:$},null,8,["show","mode","upload-url","initial-value","initial-text"]),e.createVNode(ue,{show:E.value,"initial-value":y.value,onClose:l[1]||(l[1]=n=>E.value=!1),onSubmit:I},null,8,["show","initial-value"])],2)],8,["disabled"]))}}),Ee=x._export_sfc(Ve,[["__scopeId","data-v-ca7c0d4f"]]);exports.default=Ee;
|
|
1
|
+
"use strict";var A=Object.create;var B=Object.defineProperty;var z=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var P=(d,j,t,b)=>{if(j&&typeof j=="object"||typeof j=="function")for(let s of _(j))!R.call(d,s)&&s!==t&&B(d,s,{get:()=>j[s],enumerable:!(b=z(j,s))||b.enumerable});return d};var C=(d,j,t)=>(t=d!=null?A(D(d)):{},P(j||!d||!d.__esModule?B(t,"default",{value:d,enumerable:!0}):t,d));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),T=require("dompurify"),x=require("./resize-B3p3dEqX.cjs.js");require("lodash.isequal");require("zod");const F={class:"jsgd-w-full jsgd-max-w-md jsgd-bg-white jsgd-rounded-xl jsgd-shadow-2xl jsgd-overflow-hidden dark:jsgd-bg-slate-800"},Q={class:"jsgd-p-5 jsgd-border-b jsgd-border-slate-200 dark:jsgd-border-slate-700"},H={class:"jsgd-text-lg jsgd-font-bold jsgd-text-slate-900 dark:jsgd-text-slate-100"},O={class:"jsgd-p-5 jsgd-flex jsgd-flex-col jsgd-gap-5"},K={key:0,class:"jsgd-flex jsgd-w-full jsgd-p-1 jsgd-bg-slate-100 jsgd-rounded-lg dark:jsgd-bg-slate-700"},G={key:1},W={key:2,class:"jsgd-box-border"},Y=["placeholder"],J={key:3},X=["accept"],Z={key:0,class:"jsgd-mt-4"},ee=["src"],te={key:4},le={class:"jsgd-p-4 jsgd-bg-slate-50 jsgd-flex jsgd-justify-end jsgd-gap-3 dark:jsgd-bg-slate-900/50"},se=["disabled"],de={key:0},ae={key:1},oe=e.defineComponent({__name:"QuillEmbedModal",props:{show:{type:Boolean},mode:{},uploadUrl:{},initialValue:{},initialText:{}},emits:["close","submit"],setup(d,{emit:j}){const t=d,b=j,s=e.ref(""),u=e.ref(""),c=e.ref(null),f=e.ref(""),m=e.ref(null),v=e.ref(!1),i=e.ref("url"),k=e.computed(()=>!!t.uploadUrl),q=e.computed(()=>{switch(t.mode){case"image":return"Insert Image";case"video":return"Embed Video";case"link":return"Insert Link";default:return"Insert Media"}}),g=e.computed(()=>t.mode==="video"?"e.g., YouTube, Vimeo URL":"https://...");e.watch(()=>t.show,p=>{p&&(i.value=k.value?"upload":"url",s.value=t.initialValue||"",f.value=t.initialText||"",u.value="",c.value=null,m.value=null,v.value=!1)});function E(){b("close")}function w(p){const a=p.target;if(a.files&&a.files[0]&&(c.value=a.files[0],t.mode==="image")){const r=new FileReader;r.onload=N=>{m.value=N.target?.result},r.readAsDataURL(c.value)}}async function y(){v.value=!0;try{if(i.value==="upload"&&k.value){if(!c.value){alert("Please select a file to upload.");return}if(!t.uploadUrl){alert("Upload API URL is not configured.");return}const p=new FormData;p.append("file",c.value);const a=await fetch(t.uploadUrl,{method:"POST",body:p});if(!a.ok)throw new Error("Upload failed");const r=await a.json(),N=r.url||r.secure_url||r.path||r.data?.url||r.data?.path||r.data?.secure_url;if(!N)throw new Error("URL not found in upload response");b("submit",{url:N,alt:u.value,text:f.value})}else{if(!s.value){alert("Please enter a URL.");return}b("submit",{url:s.value,alt:u.value,text:f.value})}}catch(p){console.error(p),alert(p.message||"An error occurred.")}finally{v.value=!1}}return(p,a)=>(e.openBlock(),e.createBlock(e.Transition,{name:"jsgd-modal-overlay",appear:""},{default:e.withCtx(()=>[d.show?(e.openBlock(),e.createElementBlock("div",{key:0,class:"jsgd-fixed jsgd-inset-0 jsgd-z-[10000000] jsgd-flex jsgd-items-center jsgd-justify-center jsgd-p-4 jsgd-bg-black/60 jsgd-backdrop-blur-sm",onClick:e.withModifiers(E,["self"])},[e.createVNode(e.Transition,{name:"jsgd-modal-container",appear:""},{default:e.withCtx(()=>[e.createElementVNode("div",F,[e.createElementVNode("div",Q,[e.createElementVNode("h3",H,e.toDisplayString(q.value),1)]),e.createElementVNode("div",O,[k.value&&d.mode!=="link"?(e.openBlock(),e.createElementBlock("div",K,[e.createElementVNode("button",{onClick:a[0]||(a[0]=r=>i.value="upload"),class:e.normalizeClass(["jsgd-flex-1 jsgd-py-1.5 jsgd-px-3 jsgd-text-sm jsgd-font-semibold jsgd-rounded-md jsgd-transition-colors jsgd-duration-200",i.value==="upload"?"jsgd-bg-white jsgd-text-blue-600 jsgd-shadow-sm dark:jsgd-bg-slate-600 dark:jsgd-text-white":"jsgd-bg-transparent jsgd-text-slate-500 hover:jsgd-text-slate-700 dark:jsgd-text-slate-400 dark:hover:jsgd-text-slate-200"])}," Upload ",2),e.createElementVNode("button",{onClick:a[1]||(a[1]=r=>i.value="url"),class:e.normalizeClass(["jsgd-flex-1 jsgd-py-1.5 jsgd-px-3 jsgd-text-sm jsgd-font-semibold jsgd-rounded-md jsgd-transition-colors jsgd-duration-200",i.value==="url"?"jsgd-bg-white jsgd-text-blue-600 jsgd-shadow-sm dark:jsgd-bg-slate-600 dark:jsgd-text-white":"jsgd-bg-transparent jsgd-text-slate-500 hover:jsgd-text-slate-700 dark:jsgd-text-slate-400 dark:hover:jsgd-text-slate-200"])}," From URL ",2)])):e.createCommentVNode("",!0),d.mode==="link"?(e.openBlock(),e.createElementBlock("div",G,[a[5]||(a[5]=e.createElementVNode("label",{class:"jsgd-block jsgd-text-sm jsgd-font-medium jsgd-mb-1 dark:jsgd-text-slate-300"},"Text to display",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":a[2]||(a[2]=r=>f.value=r),type:"text",placeholder:"If empty, URL will be shown",class:"jsgd-w-full jsgd-py-2 jsgd-px-3 jsgd-rounded-md jsgd-border jsgd-border-slate-300 dark:jsgd-bg-slate-700 dark:jsgd-border-slate-600 dark:jsgd-text-white"},null,512),[[e.vModelText,f.value]])])):e.createCommentVNode("",!0),i.value==="url"||d.mode==="link"?(e.openBlock(),e.createElementBlock("div",W,[a[6]||(a[6]=e.createElementVNode("label",{class:"jsgd-block jsgd-text-sm jsgd-font-medium jsgd-mb-1 dark:jsgd-text-slate-300"},"URL",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":a[3]||(a[3]=r=>s.value=r),type:"text",placeholder:g.value,class:"jsgd-w-full jsgd-py-2 jsgd-px-3 jsgd-rounded-md jsgd-border jsgd-border-slate-300 dark:jsgd-bg-slate-700 dark:jsgd-border-slate-600 dark:jsgd-text-white",onKeydown:e.withKeys(y,["enter"])},null,40,Y),[[e.vModelText,s.value]])])):e.createCommentVNode("",!0),i.value==="upload"&&k.value?(e.openBlock(),e.createElementBlock("div",J,[a[7]||(a[7]=e.createElementVNode("label",{class:"jsgd-block jsgd-text-sm jsgd-font-medium jsgd-mb-1 dark:jsgd-text-slate-300"},"Upload File",-1)),e.createElementVNode("input",{type:"file",accept:d.mode==="image"?"image/*":"video/*",onChange:w,class:"jsgd-w-full jsgd-text-sm jsgd-text-slate-500 file:jsgd-mr-4 file:jsgd-py-2 file:jsgd-px-4 file:jsgd-rounded-full file:jsgd-border-0 file:jsgd-text-sm file:jsgd-font-semibold file:jsgd-bg-blue-50 file:jsgd-text-blue-700 hover:file:jsgd-bg-blue-100 dark:file:jsgd-bg-blue-900/50 dark:file:jsgd-text-blue-300 dark:hover:file:jsgd-bg-blue-900"},null,40,X),m.value?(e.openBlock(),e.createElementBlock("div",Z,[e.createElementVNode("img",{src:m.value,class:"jsgd-max-w-full jsgd-max-h-40 jsgd-rounded-md",alt:"Upload Preview"},null,8,ee)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),d.mode==="image"?(e.openBlock(),e.createElementBlock("div",te,[a[8]||(a[8]=e.createElementVNode("label",{class:"jsgd-block jsgd-text-sm jsgd-font-medium jsgd-mb-1 dark:jsgd-text-slate-300"},"Alt Text (Optional)",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":a[4]||(a[4]=r=>u.value=r),type:"text",placeholder:"Describe the image for accessibility",class:"jsgd-w-full jsgd-py-2 jsgd-px-3 jsgd-rounded-md jsgd-border jsgd-border-slate-300 dark:jsgd-bg-slate-700 dark:jsgd-border-slate-600 dark:jsgd-text-white"},null,512),[[e.vModelText,u.value]])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",le,[e.createElementVNode("button",{onClick:E,class:"jsgd-px-4 jsgd-py-2 jsgd-rounded-md jsgd-text-sm jsgd-font-medium jsgd-bg-white jsgd-border jsgd-border-slate-300 hover:jsgd-bg-slate-50 dark:jsgd-bg-slate-700 dark:jsgd-text-slate-200 dark:jsgd-border-slate-600 dark:hover:jsgd-bg-slate-600"}," Cancel "),e.createElementVNode("button",{onClick:y,class:"jsgd-px-4 jsgd-py-2 jsgd-rounded-md jsgd-text-sm jsgd-font-medium jsgd-text-white jsgd-bg-blue-600 hover:jsgd-bg-blue-700 dark:jsgd-bg-blue-500 dark:hover:jsgd-bg-blue-600",disabled:v.value},[v.value?(e.openBlock(),e.createElementBlock("span",de,"Inserting...")):(e.openBlock(),e.createElementBlock("span",ae,"Insert"))],8,se)])])]),_:1})])):e.createCommentVNode("",!0)]),_:1}))}}),ne=x._export_sfc(oe,[["__scopeId","data-v-e9ba68c4"]]),re={class:"jsgd-w-full jsgd-max-w-sm jsgd-bg-white jsgd-rounded-xl jsgd-shadow-2xl jsgd-overflow-hidden dark:jsgd-bg-slate-800"},ie={class:"jsgd-p-5 jsgd-flex jsgd-flex-col jsgd-gap-4"},ge=e.defineComponent({__name:"QuillAltModal",props:{show:{type:Boolean},initialValue:{}},emits:["close","submit"],setup(d,{emit:j}){const t=d,b=j,s=e.ref("");e.watch(()=>t.show,f=>{f&&(s.value=t.initialValue||"")});function u(){b("close")}function c(){b("submit",s.value)}return(f,m)=>(e.openBlock(),e.createBlock(e.Transition,{name:"jsgd-modal-overlay",appear:""},{default:e.withCtx(()=>[d.show?(e.openBlock(),e.createElementBlock("div",{key:0,class:"jsgd-fixed jsgd-inset-0 jsgd-z-[10001] jsgd-flex jsgd-items-center jsgd-justify-center jsgd-p-4 jsgd-bg-black/60 jsgd-backdrop-blur-sm",onClick:e.withModifiers(u,["self"])},[e.createVNode(e.Transition,{name:"jsgd-modal-container",appear:""},{default:e.withCtx(()=>[e.createElementVNode("div",re,[m[3]||(m[3]=e.createElementVNode("div",{class:"jsgd-p-5 jsgd-border-b jsgd-border-slate-200 dark:jsgd-border-slate-700"},[e.createElementVNode("h3",{class:"jsgd-text-lg jsgd-font-bold jsgd-text-slate-900 dark:jsgd-text-slate-100"}," Edit Image Alt Text ")],-1)),e.createElementVNode("div",ie,[e.createElementVNode("div",null,[m[1]||(m[1]=e.createElementVNode("label",{class:"jsgd-block jsgd-text-sm jsgd-font-medium jsgd-mb-1 dark:jsgd-text-slate-300"},"Alt Text",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":m[0]||(m[0]=v=>s.value=v),type:"text",placeholder:"Describe the image for accessibility",class:"jsgd-w-full jsgd-py-2 jsgd-px-3 jsgd-rounded-md jsgd-border jsgd-border-slate-300 dark:jsgd-bg-slate-700 dark:jsgd-border-slate-600 dark:jsgd-text-white",onKeydown:e.withKeys(c,["enter"])},null,544),[[e.vModelText,s.value]]),m[2]||(m[2]=e.createElementVNode("p",{class:"jsgd-text-xs jsgd-text-slate-500 jsgd-mt-2 dark:jsgd-text-slate-400"}," Good alt text is descriptive and helps screen readers understand the image content. ",-1))])]),e.createElementVNode("div",{class:"jsgd-p-4 jsgd-bg-slate-50 jsgd-flex jsgd-justify-end jsgd-gap-3 dark:jsgd-bg-slate-900/50"},[e.createElementVNode("button",{onClick:u,class:"jsgd-px-4 jsgd-py-2 jsgd-rounded-md jsgd-text-sm jsgd-font-medium jsgd-bg-white jsgd-border jsgd-border-slate-300 hover:jsgd-bg-slate-50 dark:jsgd-bg-slate-700 dark:jsgd-text-slate-200 dark:jsgd-border-slate-600 dark:hover:jsgd-bg-slate-600"}," Cancel "),e.createElementVNode("button",{onClick:c,class:"jsgd-px-4 jsgd-py-2 jsgd-rounded-md jsgd-text-sm jsgd-font-medium jsgd-text-white jsgd-bg-blue-600 hover:jsgd-bg-blue-700 dark:jsgd-bg-blue-500 dark:hover:jsgd-bg-blue-600"}," Save ")])])]),_:1})])):e.createCommentVNode("",!0)]),_:1}))}}),ue=x._export_sfc(ge,[["__scopeId","data-v-4b0d2e4a"]]),ce={class:"editor-header"},me=["for"],je=["id"],be={class:"ql-formats"},ve={key:0,viewBox:"0 0 18 18",width:"18",height:"18"},pe={key:1,viewBox:"0 0 18 18",width:"18",height:"18"},fe={class:"editor-relative-container"},xe={key:0,class:"upload-overlay"},ke=["id"],he={key:1,class:"error-message"},Ve=e.defineComponent({__name:"TextAreaQuill",props:{id:{default:()=>x.setUID()},label:{},placeholder:{},modelValue:{},error:{},disabled:{type:Boolean},lang:{},validate:{},apiUploadImage:{},apiUploadVideo:{}},emits:["update:modelValue","push:error","remove:error"],setup(d,{emit:j}){const t=d,b=j;let s=null;const u=e.ref(!1),c=e.ref([]),f=e.ref(!1),m=e.ref(""),v=e.ref(!1),i=e.ref("link"),k=e.ref(""),q=e.ref("");let g=null;const E=e.ref(!1),w=e.ref(null),y=e.ref(""),p=e.inject("TableComponents",{labels:e.ref(x.defaultTextLabelsMap[t.lang??"en"])}),a=e.computed(()=>t.placeholder??p.labels.value.placeholder?.quillEditor??"Write content here..."),r=e.computed(()=>{const o=[];return t.validate?.minLength&&o.push(x.getMessage("textMinLength",{min:String(t.validate.minLength)},t.lang)),t.validate?.maxLength&&o.push(x.getMessage("textMaxLength",{max:String(t.validate.maxLength)},t.lang)),o.join(", ")}),N=()=>{u.value=!u.value};e.watch(u,o=>{document.body.style.overflow=o?"hidden":""}),e.watch(()=>({val:t.modelValue,disabled:t.disabled,validate:t.validate}),({val:o,disabled:l,validate:n})=>{if(l){c.value=[],b("remove:error",t.id);return}const h=String(o??"").replace(/<[^>]*>?/gm,"").trim(),V=[];n&&(n.minLength&&h.length<n.minLength&&h.length!==0&&V.push(x.getMessage("textMinLength",{min:String(n.minLength)},t.lang??"en")),n.maxLength&&h.length>n.maxLength&&V.push(x.getMessage("textMaxLength",{max:String(n.maxLength)},t.lang??"en"))),c.value=V,V.length?b("push:error",V,t.id):b("remove:error",t.id)},{deep:!0,immediate:!0});const M=e.computed(()=>{if(i.value==="image")return t.apiUploadImage;if(i.value==="video")return t.apiUploadVideo}),U=()=>{i.value="image",k.value="",v.value=!0},S=()=>{i.value="video",k.value="",v.value=!0},L=o=>{g=s?.getSelection(),g||(g={index:s?.getSelection(!0)?.index||0,length:0});const l=s?.getText(g.index,g.length)||"";q.value=l,k.value=typeof o=="string"?o:"",i.value="link",v.value=!0},$=o=>{if(s){if(v.value=!1,i.value==="link"){if(!g)return;const l=o.text||o.url;s.setSelection(g.index,g.length,"silent"),g.length>0&&s.deleteText(g.index,g.length,"user"),s.insertText(g.index,l,"link",o.url,"user"),s.setSelection(g.index+l.length,0,"user")}else if(i.value==="image"){const l=s.getSelection(!0),n=o.alt?.replace(/"/g,""")||"",h=`<img src="${o.url}" alt="${n}" />`;s.clipboard.dangerouslyPasteHTML(l.index,h,"user"),s.setSelection(l.index+1,0)}else if(i.value==="video"){const l=s.getSelection(!0);s.insertEmbed(l.index,"video",o.url,"user"),s.setSelection(l.index+1,0)}g=null}},I=o=>{w.value&&w.value.setAttribute("alt",o),E.value=!1,w.value=null};return e.onMounted(async()=>{if(typeof window>"u")return;const o=document.getElementById(`editor-container-${t.id}`);if(!o)return;const{default:l}=await import("quill");try{const{default:n}=await import("quill-resize-module");l.register("modules/resize",n)}catch(n){console.warn("Resize module error",n)}s=new l(o,{theme:"snow",readOnly:t.disabled??!1,placeholder:a.value,modules:{toolbar:{container:`#toolbar-container-${t.id}`,handlers:{image:U,video:S,link:L}},resize:{locale:{},embedTags:["IMG","VIDEO","IFRAME"],tools:["left","center","right","full",{text:"Alt",attrs:{title:"Set image alt",class:"btn-alt"},verify:n=>n&&n.tagName==="IMG",handler:(n,h,V)=>{w.value=V,y.value=V.getAttribute("alt")||"",E.value=!0}}]}}}),s.root.setAttribute("spellcheck","true"),s.root.setAttribute("lang",t.lang==="id"?"id":"en"),t.modelValue&&(s.root.innerHTML=T.sanitize(t.modelValue)),s.on("text-change",()=>{const n=s.root.innerHTML;b("update:modelValue",T.sanitize(n),t.id)})}),e.watch(()=>t.disabled,o=>s?.enable(!o)),e.onUnmounted(()=>{document.body.style.overflow=""}),(o,l)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body",disabled:!u.value},[e.createElementVNode("div",{class:e.normalizeClass(["rich-text-editor-wrapper",{"editor-maximized":u.value}])},[e.createElementVNode("div",ce,[e.createElementVNode("label",{for:d.id,class:e.normalizeClass(["jsgd-inline-flex jsgd-items-center jsgd-gap-2 jsgd-text-sm jsgd-font-medium jsgd-mb-2 jsgd-text-slate-900 jsgd-transition-colors jsgd-duration-200 dark:jsgd-text-slate-100",{"jsgd-text-red-500 dark:jsgd-text-red-400":c.value}])},[e.createTextVNode(e.toDisplayString(d.label)+" ",1),r.value?(e.openBlock(),e.createBlock(e.unref(x._sfc_main$1),{key:0,text:r.value,as:"strong"},{default:e.withCtx(()=>[...l[2]||(l[2]=[e.createTextVNode(" ❓",-1)])]),_:1},8,["text"])):e.createCommentVNode("",!0)],10,me)]),e.createElementVNode("div",{id:`toolbar-container-${d.id}`,class:"quill-toolbar"},[l[5]||(l[5]=e.createElementVNode("span",{class:"ql-formats"},[e.createElementVNode("select",{class:"ql-font"}),e.createElementVNode("select",{class:"ql-size"})],-1)),l[6]||(l[6]=e.createElementVNode("span",{class:"ql-formats"},[e.createElementVNode("button",{class:"ql-bold"}),e.createElementVNode("button",{class:"ql-italic"}),e.createElementVNode("button",{class:"ql-underline"}),e.createElementVNode("button",{class:"ql-strike"})],-1)),l[7]||(l[7]=e.createElementVNode("span",{class:"ql-formats"},[e.createElementVNode("select",{class:"ql-color"}),e.createElementVNode("select",{class:"ql-background"})],-1)),l[8]||(l[8]=e.createElementVNode("span",{class:"ql-formats"},[e.createElementVNode("button",{class:"ql-header",value:"1"}),e.createElementVNode("button",{class:"ql-header",value:"2"}),e.createElementVNode("button",{class:"ql-blockquote"}),e.createElementVNode("button",{class:"ql-code-block"})],-1)),l[9]||(l[9]=e.createElementVNode("span",{class:"ql-formats"},[e.createElementVNode("button",{class:"ql-list",value:"ordered"}),e.createElementVNode("button",{class:"ql-list",value:"bullet"}),e.createElementVNode("button",{class:"ql-indent",value:"-1"}),e.createElementVNode("button",{class:"ql-indent",value:"+1"})],-1)),l[10]||(l[10]=e.createElementVNode("span",{class:"ql-formats"},[e.createElementVNode("button",{class:"ql-direction",value:"rtl"}),e.createElementVNode("select",{class:"ql-align"})],-1)),l[11]||(l[11]=e.createElementVNode("span",{class:"ql-formats"},[e.createElementVNode("button",{class:"ql-link"}),e.createElementVNode("button",{class:"ql-image"}),e.createTextVNode(),e.createElementVNode("button",{class:"ql-video"})],-1)),e.createElementVNode("span",be,[e.createElementVNode("button",{onClick:N,class:"maximize-button",type:"button"},[u.value?(e.openBlock(),e.createElementBlock("svg",pe,[...l[4]||(l[4]=[e.createElementVNode("rect",{class:"ql-stroke",x:"5",y:"5",width:"8",height:"8"},null,-1),e.createElementVNode("polyline",{class:"ql-stroke",points:"15 3 10 8"},null,-1),e.createElementVNode("polyline",{class:"ql-stroke",points:"3 15 8 10"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",ve,[...l[3]||(l[3]=[e.createElementVNode("rect",{class:"ql-stroke",x:"3",y:"3",width:"12",height:"12"},null,-1),e.createElementVNode("rect",{class:"ql-stroke",x:"10",y:"10",width:"1",height:"1"},null,-1),e.createElementVNode("rect",{class:"ql-stroke",x:"7",y:"10",width:"1",height:"1"},null,-1),e.createElementVNode("rect",{class:"ql-stroke",x:"10",y:"7",width:"1",height:"1"},null,-1),e.createElementVNode("rect",{class:"ql-stroke",x:"7",y:"7",width:"1",height:"1"},null,-1)])]))])])],8,je),e.createElementVNode("div",fe,[f.value?(e.openBlock(),e.createElementBlock("div",xe,[l[12]||(l[12]=e.createElementVNode("div",{class:"spinner"},null,-1)),e.createElementVNode("p",null,"Uploading "+e.toDisplayString(m.value)+"...",1)])):e.createCommentVNode("",!0),e.createElementVNode("div",{id:`editor-container-${d.id}`,class:e.normalizeClass(["quill-editor-container",{"has-error":d.error}])},null,10,ke)]),c.value.length!==0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(c.value,(n,h)=>(e.openBlock(),e.createElementBlock("p",{key:h,class:"error-message"},e.toDisplayString(n),1))),128)):e.createCommentVNode("",!0),typeof t.error=="string"&&c.value.length===0?(e.openBlock(),e.createElementBlock("p",he,e.toDisplayString(d.error),1)):e.createCommentVNode("",!0),e.createVNode(ne,{show:v.value,mode:i.value,"upload-url":M.value,"initial-value":k.value,"initial-text":q.value,onClose:l[0]||(l[0]=n=>v.value=!1),onSubmit:$},null,8,["show","mode","upload-url","initial-value","initial-text"]),e.createVNode(ue,{show:E.value,"initial-value":y.value,onClose:l[1]||(l[1]=n=>E.value=!1),onSubmit:I},null,8,["show","initial-value"])],2)],8,["disabled"]))}}),Ee=x._export_sfc(Ve,[["__scopeId","data-v-ca7c0d4f"]]);exports.default=Ee;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as Q, ref as r, computed as M, watch as V, createBlock as D, openBlock as i, Transition as B, withCtx as C, createElementBlock as c, createCommentVNode as f, withModifiers as O, createVNode as P, createElementVNode as e, toDisplayString as I, normalizeClass as A, withDirectives as _, vModelText as R, withKeys as G, inject as ee, onMounted as te, onUnmounted as se, Teleport as le, createTextVNode as F, unref as de, Fragment as ae, renderList as oe } from "vue";
|
|
2
2
|
import N from "dompurify";
|
|
3
|
-
import { ab as H, U as ne, z as re, a9 as E, a as ie } from "./resize-
|
|
3
|
+
import { ab as H, U as ne, z as re, a9 as E, a as ie } from "./resize-DjoINfaT.es.js";
|
|
4
4
|
import "lodash.isequal";
|
|
5
5
|
import "zod";
|
|
6
6
|
const ge = { class: "jsgd-w-full jsgd-max-w-md jsgd-bg-white jsgd-rounded-xl jsgd-shadow-2xl jsgd-overflow-hidden dark:jsgd-bg-slate-800" }, ue = { class: "jsgd-p-5 jsgd-border-b jsgd-border-slate-200 dark:jsgd-border-slate-700" }, je = { class: "jsgd-text-lg jsgd-font-bold jsgd-text-slate-900 dark:jsgd-text-slate-100" }, ce = { class: "jsgd-p-5 jsgd-flex jsgd-flex-col jsgd-gap-5" }, me = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./resize-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./resize-B3p3dEqX.cjs.js");exports.default=e._sfc_main$18;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./resize-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./resize-B3p3dEqX.cjs.js");exports.default=e._sfc_main$19;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./resize-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./resize-B3p3dEqX.cjs.js");exports.default=e._sfc_main$20;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./resize-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./resize-B3p3dEqX.cjs.js");exports.default=e._sfc_main$21;
|