@prolibu-suite/cobalt-form-builder 0.2.2 → 1.0.0

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,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),E=require("@prolibu-suite/cobalt-vue"),kn=require("@prolibu-suite/cobalt-core/loader"),Sn=require("@prolibu-suite/cobalt-form/loader"),ge=require("@prolibu-suite/cobalt-form-core"),xn=50;function vt(){return{title:"Untitled Form",description:"",mode:"form",pages:[{name:"page1",title:"Page 1",description:"",fields:{name:{type:"String",required:!0,label:"Nombre",full:!0},email:{type:"String",required:!0,format:"email",label:"Email"}}}],theme:{}}}const xt={text:()=>({type:"String"}),textarea:()=>({type:"String",uiCom:"TextArea"}),number:()=>({type:"Number"}),date:()=>({type:"Date"}),boolean:()=>({type:"Boolean"}),select:()=>({type:"String",enum:["Option A","Option B"]}),ref:()=>({type:"ObjectId",ref:"Company",displayName:"name"}),rating:()=>({type:"Number",uiCom:"Rating",max:5}),slider:()=>({type:"Number",uiCom:"Slider",min:0,max:100}),color:()=>({type:"String",uiCom:"ColorPicker"}),section:()=>({uiCom:"Section"}),file:()=>({type:"String",uiCom:"File"})};function $t(t){return t.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/_/g," ").toLowerCase().replace(/^./,o=>o.toUpperCase())}function ze(t){return JSON.parse(JSON.stringify(t))}function wn(t={}){const o=t.onEvent??(()=>{}),n=e.ref(vt()),l=e.ref({kind:"page",pageIdx:0,fieldName:null}),a=e.ref([]),i=e.ref([]),s=e.computed(()=>a.value.length>0),u=e.computed(()=>i.value.length>0),r=e.computed(()=>n.value.pages[l.value.pageIdx]??null),h=e.computed(()=>{const m=r.value,g=l.value.fieldName;return!m||!g?null:m.fields[g]??null});function d(m){l.value=m,o({type:"selection-changed",selection:m})}function c(m,g){d({kind:g?"field":"page",pageIdx:m,fieldName:g})}function k(m){d({kind:"page",pageIdx:m,fieldName:null})}function C(){d({...l.value,kind:"form"})}function b(){a.value.push(ze(n.value)),a.value.length>xn&&a.value.shift(),i.value=[]}function N(){const m=a.value.pop();m&&(i.value.push(ze(n.value)),n.value=m,P(),o({type:"undo"}))}function A(){const m=i.value.pop();m&&(a.value.push(ze(n.value)),n.value=m,P(),o({type:"redo"}))}function P(){const m=Math.min(l.value.pageIdx,n.value.pages.length-1),g=n.value.pages[m],_=l.value.fieldName&&g?.fields[l.value.fieldName]?l.value.fieldName:null,I=l.value.kind==="form"?"form":_?"field":"page";l.value={kind:I,pageIdx:Math.max(m,0),fieldName:_}}function J(m){m!==n.value.title&&(b(),n.value.title=m)}function F(m){m!==n.value.description&&(b(),n.value.description=m)}function z(m){m!==n.value.mode&&(b(),n.value.mode=m)}function w(){b();const m=n.value.pages.length+1;n.value.pages.push({name:`page${m}`,title:`Page ${m}`,description:"",fields:{}});const g=n.value.pages.length-1;k(g),o({type:"page-added",pageIdx:g})}function te(m){n.value.pages.length<=1||(b(),n.value.pages.splice(m,1),P(),o({type:"page-removed",pageIdx:m}))}function Y(m){const g=n.value.pages[m];if(!g)return;b();const _=ze(g);_.name=U(`${g.name}_copy`),_.title=`${g.title||g.name} (copy)`,n.value.pages.splice(m+1,0,_);const I=m+1;k(I),o({type:"page-duplicated",sourceIdx:m,newIdx:I})}function ne(m,g){const _=n.value.pages[m];_&&(b(),Object.assign(_,g),o({type:"page-updated",pageIdx:m,patch:g}))}function U(m){const g=new Set(n.value.pages.map(I=>I.name));if(!g.has(m))return m;let _=1;for(;g.has(`${m}_${_}`);)_++;return`${m}_${_}`}function S(m,g){const _=n.value.pages[m];if(!_)return g;let I=g,Q=1;for(;I in _.fields;)I=`${g}_${Q++}`;return I}function $(m,g=l.value.pageIdx){const _=n.value.pages[g];if(!_)return;const Q=(xt[m]??(()=>({type:"String"})))(),H=S(g,m);if(H.startsWith("_"))throw new Error(`Reserved name "${H}"`);b(),_.fields={..._.fields,[H]:{...Q,label:$t(H)}},c(g,H),o({type:"field-added",pageIdx:g,fieldName:H,kind:m})}function R(m,g,_){const I=n.value.pages[m];if(!I)return;const H=(xt[_]??(()=>({type:"String"})))(),le=S(m,_);if(le.startsWith("_"))throw new Error(`Reserved name "${le}"`);b();const _e=Object.entries(I.fields),Pt=_e.findIndex(([En])=>En===g),Ft=[le,{...H,label:$t(le)}];Pt===-1?_e.push(Ft):_e.splice(Pt+1,0,Ft),I.fields=Object.fromEntries(_e),c(m,le),o({type:"field-added",pageIdx:m,fieldName:le,kind:_})}function G(m,g){const _=n.value.pages[m];if(!_||!(g in _.fields))return;b();const I={..._.fields};delete I[g],_.fields=I,l.value.pageIdx===m&&l.value.fieldName===g&&(l.value={kind:"page",pageIdx:m,fieldName:null}),o({type:"field-removed",pageIdx:m,fieldName:g})}function L(m,g){const _=n.value.pages[m];if(!_||!(g in _.fields))return;b();const I=ze(_.fields[g]),Q=S(m,`${g}_copy`),H={};for(const[le,_e]of Object.entries(_.fields))H[le]=_e,le===g&&(H[Q]=I);_.fields=H,c(m,Q),o({type:"field-duplicated",pageIdx:m,sourceName:g,newName:Q})}function V(m,g,_){const I=n.value.pages[m];!I||!(g in I.fields)||(b(),I.fields={...I.fields,[g]:{...I.fields[g],..._}},o({type:"field-updated",pageIdx:m,fieldName:g,patch:_}))}function p(m,g,_){const I=n.value.pages[m];!I||!(g in I.fields)||(b(),I.fields={...I.fields,[g]:{..._}},o({type:"field-updated",pageIdx:m,fieldName:g,patch:_}))}function v(m,g,_){if(g===_)return;const I=n.value.pages[m];if(!I||!(g in I.fields))return;if(_ in I.fields)throw new Error(`Field "${_}" already exists`);if(_.startsWith("_"))throw new Error(`Reserved name "${_}"`);b();const Q={};for(const[H,le]of Object.entries(I.fields))Q[H===g?_:H]=le;I.fields=Q,l.value.pageIdx===m&&l.value.fieldName===g&&(l.value={kind:"field",pageIdx:m,fieldName:_}),o({type:"field-renamed",pageIdx:m,oldName:g,newName:_})}function se(m,g,_){const I=n.value.pages[m];if(!I)return;const Q=Object.keys(I.fields);if(g===_||g<0||g>=Q.length||_<0||_>=Q.length)return;b();const[H]=Q.splice(g,1);Q.splice(_,0,H);const le={};for(const _e of Q)le[_e]=I.fields[_e];I.fields=le,o({type:"field-reordered",pageIdx:m,order:Q})}function fe(m,g){const _=n.value.pages[m];if(!_)return;const I=Object.keys(_.fields);if(g.length!==I.length)return;for(const H of g)if(!I.includes(H))return;if(I.every((H,le)=>H===g[le]))return;b();const Q={};for(const H of g)Q[H]=_.fields[H];_.fields=Q,o({type:"field-reordered",pageIdx:m,order:g})}const ke=e.computed(()=>ge.resolveTheme(n.value.theme));function mt(m){b(),n.value.theme={...n.value.theme,...m},o({type:"theme-changed",theme:n.value.theme})}function Ze(m,g){b();const _=n.value.theme[m]??{};n.value.theme={...n.value.theme,[m]:{..._,...g}},o({type:"theme-changed",theme:n.value.theme})}function x(){b(),n.value.theme={},o({type:"theme-changed",theme:n.value.theme})}function f(m){if(b(),ge.isPagedSchema(m)){const g=ge.toPagedSchema(m);n.value={title:m.title||n.value.title,description:m.description||"",mode:g.mode||"form",pages:g.pages.map(_=>({name:_.name,title:_.title,description:_.description,visibleIf:_.visibleIf,hideTitle:_.hideTitle,hideDescription:_.hideDescription,fields:_.fields})),theme:g.theme||{}}}else n.value={...vt(),pages:[{name:"page1",title:"Page 1",description:"",fields:m}]};l.value={kind:"page",pageIdx:0,fieldName:null},o({type:"schema-replaced"})}const B=e.computed(()=>{const m=Object.keys(n.value.theme).length>0;return n.value.pages.length===1&&!m?n.value.pages[0].fields:{title:n.value.title,...n.value.description?{description:n.value.description}:{},mode:n.value.mode,pages:n.value.pages.map(g=>({name:g.name,title:g.title,description:g.description,visibleIf:g.visibleIf,...g.hideTitle?{hideTitle:!0}:{},...g.hideDescription?{hideDescription:!0}:{},fields:g.fields})),...m?{theme:n.value.theme}:{}}});if(t.initialSchema&&Object.keys(t.initialSchema).length>0)if(ge.isPagedSchema(t.initialSchema)){const m=ge.toPagedSchema(t.initialSchema);n.value={title:t.initialSchema.title||"Untitled Form",description:t.initialSchema.description||"",mode:m.mode||"form",pages:m.pages.map(g=>({name:g.name,title:g.title,description:g.description,visibleIf:g.visibleIf,hideTitle:g.hideTitle,hideDescription:g.hideDescription,fields:g.fields})),theme:m.theme||{}}}else n.value={...vt(),pages:[{name:"page1",title:"Page 1",description:"",fields:t.initialSchema}]};return e.reactive({data:n,selection:l,currentPage:r,selectedField:h,canUndo:s,canRedo:u,exported:B,resolvedTheme:ke,selectField:c,selectPage:k,selectForm:C,undo:N,redo:A,setTitle:J,setDescription:F,setMode:z,setTheme:mt,setThemeSection:Ze,resetTheme:x,addPage:w,removePage:te,duplicatePage:Y,updatePage:ne,addField:$,insertFieldAfter:R,removeField:G,duplicateField:L,updateField:V,replaceFieldDef:p,renameField:v,moveField:se,reorderFieldsByNames:fe,replaceAll:f})}const tn=Symbol("CobaltFormBuilder.schemaStore");function Ve(){const t=e.inject(tn);if(!t)throw new Error("[cobalt-form-builder] useSchemaStore() must be called inside a <CobaltFormBuilder>. Make sure the component lives in the builder subtree, or call createSchemaStore() and provide it yourself.");return t}const X=[{id:"text",label:"Single-line input",group:"inputs",aliases:["text","string"],icon:"text-aa"},{id:"textarea",label:"Multi-line text",group:"inputs",aliases:["textarea","comment"],icon:"text-align-left"},{id:"number",label:"Number",group:"inputs",aliases:["integer","numeric"],icon:"hash"},{id:"date",label:"Date",group:"inputs",aliases:["calendar"],icon:"calendar"},{id:"boolean",label:"Yes / No",group:"choices",aliases:["switch","toggle"],icon:"toggle-left"},{id:"select",label:"Dropdown",group:"choices",aliases:["dropdown","enum"],icon:"caret-circle-down"},{id:"ref",label:"Reference",group:"choices",aliases:["lookup","model"],icon:"link"},{id:"rating",label:"Rating scale",group:"advanced",aliases:["stars","score"],icon:"star"},{id:"slider",label:"Slider",group:"advanced",aliases:["range"],icon:"sliders-horizontal"},{id:"color",label:"Color picker",group:"advanced",aliases:["hex","palette"],icon:"palette"},{id:"file",label:"File upload",group:"advanced",aliases:["attachment"],icon:"paperclip"},{id:"section",label:"Section divider",group:"layout",aliases:["header","group"],icon:"minus"}],Vn={inputs:"Inputs",choices:"Choices",advanced:"Advanced",layout:"Layout"},Tn={class:"toolbox"},Dn={class:"toolbox__search"},In={class:"toolbox__scroll"},Bn={key:0,class:"toolbox__empty"},On={class:"toolbox__group-label"},An={class:"toolbox__list"},Pn=["onDragstart"],Fn=e.defineComponent({__name:"FieldToolbox",setup(t){const o=Ve(),n=e.ref(""),l=e.computed(()=>{const u=n.value.trim().toLowerCase(),r=u?X.filter(d=>d.label.toLowerCase().includes(u)||d.id.toLowerCase().includes(u)?!0:(d.aliases||[]).some(c=>c.toLowerCase().includes(u))):X,h={};for(const d of r)h[d.group]||(h[d.group]={id:d.group,label:Vn[d.group],items:[]}),h[d.group].items.push(d);return Object.values(h)});function a(u,r){u.dataTransfer&&(u.dataTransfer.setData("application/cobalt-field-kind",r),u.dataTransfer.effectAllowed="copy")}function i(u){o.addField(u)}function s(u){const r=u.detail;return r!=null&&typeof r=="object"&&"value"in r?r.value:r}return(u,r)=>(e.openBlock(),e.createElementBlock("div",Tn,[e.createElementVNode("button",{class:e.normalizeClass(["toolbox__form-btn",{"is-active":e.unref(o).selection.kind==="form"}]),onClick:r[0]||(r[0]=h=>e.unref(o).selectForm())},[...r[2]||(r[2]=[e.createStaticVNode('<span class="toolbox__form-btn-icon" data-v-8ac1929e><co-icon name="paint-brush" size="16" data-v-8ac1929e></co-icon></span><span class="toolbox__form-btn-body" data-v-8ac1929e><span class="toolbox__form-btn-label" data-v-8ac1929e>Theme</span><span class="toolbox__form-btn-sub" data-v-8ac1929e>Global form settings</span></span><co-icon name="caret-right" size="14" data-v-8ac1929e></co-icon>',3)])],2),e.createElementVNode("div",Dn,[e.createVNode(e.unref(E.CoInput),{placeholder:"Type to search…","icon-left":"magnifying-glass",value:n.value,onCoInput:r[1]||(r[1]=h=>n.value=s(h)??"")},null,8,["value"])]),e.createElementVNode("div",In,[l.value.length===0?(e.openBlock(),e.createElementBlock("div",Bn,' No matches for "'+e.toDisplayString(n.value)+'" ',1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,h=>(e.openBlock(),e.createElementBlock("div",{key:h.id,class:"toolbox__group"},[e.createElementVNode("div",On,e.toDisplayString(h.label),1),e.createElementVNode("ul",An,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.items,d=>(e.openBlock(),e.createElementBlock("li",{key:d.id,draggable:"true",class:"toolbox__row",onDragstart:c=>a(c,d.id)},[e.createVNode(e.unref(E.CoListItem),{label:d.label,icon:d.icon,dense:"",onCoSelect:c=>i(d.id)},null,8,["label","icon","onCoSelect"])],40,Pn))),128))])]))),128))])]))}}),he=(t,o)=>{const n=t.__vccOpts||t;for(const[l,a]of o)n[l]=a;return n},$n=he(Fn,[["__scopeId","data-v-8ac1929e"]]),Mn=["data-placeholder"],Rn=e.defineComponent({__name:"EditableText",props:{modelValue:{},placeholder:{},multiline:{type:Boolean}},emits:["update:modelValue"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(null),i=e.ref(!1);e.watch(()=>n.modelValue,c=>{i.value||a.value&&a.value.innerText!==c&&(a.value.innerText=c)},{immediate:!1});function s(){}function u(){if(!a.value)return;const c=a.value.innerText.replace(/\n+$/,"");c!==n.modelValue&&l("update:modelValue",c)}function r(){i.value=!1,u()}function h(){i.value=!0}function d(c){!n.multiline&&c.key==="Enter"?(c.preventDefault(),c.target.blur()):c.key==="Escape"&&(a.value&&(a.value.innerText=n.modelValue),c.target.blur())}return(c,k)=>(e.openBlock(),e.createElementBlock("span",{ref_key:"el",ref:a,class:e.normalizeClass(["editable",{"is-empty":!t.modelValue}]),"data-placeholder":t.placeholder,contenteditable:"plaintext-only",spellcheck:"false",onInput:s,onBlur:r,onFocus:h,onKeydown:d},e.toDisplayString(t.modelValue),43,Mn))}}),Me=he(Rn,[["__scopeId","data-v-85570517"]]);var zn=Object.defineProperty,it=Object.getOwnPropertySymbols,nn=Object.prototype.hasOwnProperty,on=Object.prototype.propertyIsEnumerable,Mt=(t,o,n)=>o in t?zn(t,o,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[o]=n,Pe=(t,o)=>{for(var n in o||(o={}))nn.call(o,n)&&Mt(t,n,o[n]);if(it)for(var n of it(o))on.call(o,n)&&Mt(t,n,o[n]);return t},ln=(t,o)=>{var n={};for(var l in t)nn.call(t,l)&&o.indexOf(l)<0&&(n[l]=t[l]);if(t!=null&&it)for(var l of it(t))o.indexOf(l)<0&&on.call(t,l)&&(n[l]=t[l]);return n};const an="[vue-draggable-plus]: ";function Ln(t){console.warn(an+t)}function jn(t){console.error(an+t)}function Rt(t,o,n){return n>=0&&n<t.length&&t.splice(n,0,t.splice(o,1)[0]),t}function Yn(t){return t.replace(/-(\w)/g,(o,n)=>n?n.toUpperCase():"")}function Un(t){return Object.keys(t).reduce((o,n)=>(typeof t[n]<"u"&&(o[Yn(n)]=t[n]),o),{})}function zt(t,o){return Array.isArray(t)&&t.splice(o,1),t}function Lt(t,o,n){return Array.isArray(t)&&t.splice(o,0,n),t}function Xn(t){return typeof t>"u"}function Hn(t){return typeof t=="string"}function jt(t,o,n){const l=t.children[n];t.insertBefore(o,l)}function gt(t){t.parentNode&&t.parentNode.removeChild(t)}function qn(t,o=document){var n;let l=null;return typeof o?.querySelector=="function"?l=(n=o?.querySelector)==null?void 0:n.call(o,t):l=document.querySelector(t),l||Ln(`Element not found: ${t}`),l}function Jn(t,o,n=null){return function(...l){return t.apply(n,l),o.apply(n,l)}}function Wn(t,o){const n=Pe({},t);return Object.keys(o).forEach(l=>{n[l]?n[l]=Jn(t[l],o[l]):n[l]=o[l]}),n}function Gn(t){return t instanceof HTMLElement}function Yt(t,o){Object.keys(t).forEach(n=>{o(n,t[n])})}function Zn(t){return t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97)}const Qn=Object.assign;function Ut(t,o){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);o&&(l=l.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),n.push.apply(n,l)}return n}function ye(t){for(var o=1;o<arguments.length;o++){var n=arguments[o]!=null?arguments[o]:{};o%2?Ut(Object(n),!0).forEach(function(l){Kn(t,l,n[l])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Ut(Object(n)).forEach(function(l){Object.defineProperty(t,l,Object.getOwnPropertyDescriptor(n,l))})}return t}function nt(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?nt=function(o){return typeof o}:nt=function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},nt(t)}function Kn(t,o,n){return o in t?Object.defineProperty(t,o,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[o]=n,t}function Ne(){return Ne=Object.assign||function(t){for(var o=1;o<arguments.length;o++){var n=arguments[o];for(var l in n)Object.prototype.hasOwnProperty.call(n,l)&&(t[l]=n[l])}return t},Ne.apply(this,arguments)}function eo(t,o){if(t==null)return{};var n={},l=Object.keys(t),a,i;for(i=0;i<l.length;i++)a=l[i],!(o.indexOf(a)>=0)&&(n[a]=t[a]);return n}function to(t,o){if(t==null)return{};var n=eo(t,o),l,a;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(a=0;a<i.length;a++)l=i[a],!(o.indexOf(l)>=0)&&Object.prototype.propertyIsEnumerable.call(t,l)&&(n[l]=t[l])}return n}var no="1.15.2";function Ce(t){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(t)}var Ee=Ce(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),We=Ce(/Edge/i),Xt=Ce(/firefox/i),Ue=Ce(/safari/i)&&!Ce(/chrome/i)&&!Ce(/android/i),rn=Ce(/iP(ad|od|hone)/i),sn=Ce(/chrome/i)&&Ce(/android/i),un={capture:!1,passive:!1};function j(t,o,n){t.addEventListener(o,n,!Ee&&un)}function M(t,o,n){t.removeEventListener(o,n,!Ee&&un)}function st(t,o){if(o){if(o[0]===">"&&(o=o.substring(1)),t)try{if(t.matches)return t.matches(o);if(t.msMatchesSelector)return t.msMatchesSelector(o);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(o)}catch{return!1}return!1}}function oo(t){return t.host&&t!==document&&t.host.nodeType?t.host:t.parentNode}function ve(t,o,n,l){if(t){n=n||document;do{if(o!=null&&(o[0]===">"?t.parentNode===n&&st(t,o):st(t,o))||l&&t===n)return t;if(t===n)break}while(t=oo(t))}return null}var Ht=/\s+/g;function ue(t,o,n){if(t&&o)if(t.classList)t.classList[n?"add":"remove"](o);else{var l=(" "+t.className+" ").replace(Ht," ").replace(" "+o+" "," ");t.className=(l+(n?" "+o:"")).replace(Ht," ")}}function T(t,o,n){var l=t&&t.style;if(l){if(n===void 0)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(n=t.currentStyle),o===void 0?n:n[o];!(o in l)&&o.indexOf("webkit")===-1&&(o="-webkit-"+o),l[o]=n+(typeof n=="string"?"":"px")}}function $e(t,o){var n="";if(typeof t=="string")n=t;else do{var l=T(t,"transform");l&&l!=="none"&&(n=l+" "+n)}while(!o&&(t=t.parentNode));var a=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return a&&new a(n)}function dn(t,o,n){if(t){var l=t.getElementsByTagName(o),a=0,i=l.length;if(n)for(;a<i;a++)n(l[a],a);return l}return[]}function be(){var t=document.scrollingElement;return t||document.documentElement}function ee(t,o,n,l,a){if(!(!t.getBoundingClientRect&&t!==window)){var i,s,u,r,h,d,c;if(t!==window&&t.parentNode&&t!==be()?(i=t.getBoundingClientRect(),s=i.top,u=i.left,r=i.bottom,h=i.right,d=i.height,c=i.width):(s=0,u=0,r=window.innerHeight,h=window.innerWidth,d=window.innerHeight,c=window.innerWidth),(o||n)&&t!==window&&(a=a||t.parentNode,!Ee))do if(a&&a.getBoundingClientRect&&(T(a,"transform")!=="none"||n&&T(a,"position")!=="static")){var k=a.getBoundingClientRect();s-=k.top+parseInt(T(a,"border-top-width")),u-=k.left+parseInt(T(a,"border-left-width")),r=s+i.height,h=u+i.width;break}while(a=a.parentNode);if(l&&t!==window){var C=$e(a||t),b=C&&C.a,N=C&&C.d;C&&(s/=N,u/=b,c/=b,d/=N,r=s+d,h=u+c)}return{top:s,left:u,bottom:r,right:h,width:c,height:d}}}function qt(t,o,n){for(var l=we(t,!0),a=ee(t)[o];l;){var i=ee(l)[n],s=void 0;if(s=a>=i,!s)return l;if(l===be())break;l=we(l,!1)}return!1}function Re(t,o,n,l){for(var a=0,i=0,s=t.children;i<s.length;){if(s[i].style.display!=="none"&&s[i]!==D.ghost&&(l||s[i]!==D.dragged)&&ve(s[i],n.draggable,t,!1)){if(a===o)return s[i];a++}i++}return null}function Bt(t,o){for(var n=t.lastElementChild;n&&(n===D.ghost||T(n,"display")==="none"||o&&!st(n,o));)n=n.previousElementSibling;return n||null}function pe(t,o){var n=0;if(!t||!t.parentNode)return-1;for(;t=t.previousElementSibling;)t.nodeName.toUpperCase()!=="TEMPLATE"&&t!==D.clone&&(!o||st(t,o))&&n++;return n}function Jt(t){var o=0,n=0,l=be();if(t)do{var a=$e(t),i=a.a,s=a.d;o+=t.scrollLeft*i,n+=t.scrollTop*s}while(t!==l&&(t=t.parentNode));return[o,n]}function lo(t,o){for(var n in t)if(t.hasOwnProperty(n)){for(var l in o)if(o.hasOwnProperty(l)&&o[l]===t[n][l])return Number(n)}return-1}function we(t,o){if(!t||!t.getBoundingClientRect)return be();var n=t,l=!1;do if(n.clientWidth<n.scrollWidth||n.clientHeight<n.scrollHeight){var a=T(n);if(n.clientWidth<n.scrollWidth&&(a.overflowX=="auto"||a.overflowX=="scroll")||n.clientHeight<n.scrollHeight&&(a.overflowY=="auto"||a.overflowY=="scroll")){if(!n.getBoundingClientRect||n===document.body)return be();if(l||o)return n;l=!0}}while(n=n.parentNode);return be()}function ao(t,o){if(t&&o)for(var n in o)o.hasOwnProperty(n)&&(t[n]=o[n]);return t}function ht(t,o){return Math.round(t.top)===Math.round(o.top)&&Math.round(t.left)===Math.round(o.left)&&Math.round(t.height)===Math.round(o.height)&&Math.round(t.width)===Math.round(o.width)}var Xe;function cn(t,o){return function(){if(!Xe){var n=arguments,l=this;n.length===1?t.call(l,n[0]):t.apply(l,n),Xe=setTimeout(function(){Xe=void 0},o)}}}function ro(){clearTimeout(Xe),Xe=void 0}function pn(t,o,n){t.scrollLeft+=o,t.scrollTop+=n}function fn(t){var o=window.Polymer,n=window.jQuery||window.Zepto;return o&&o.dom?o.dom(t).cloneNode(!0):n?n(t).clone(!0)[0]:t.cloneNode(!0)}function mn(t,o,n){var l={};return Array.from(t.children).forEach(function(a){var i,s,u,r;if(!(!ve(a,o.draggable,t,!1)||a.animated||a===n)){var h=ee(a);l.left=Math.min((i=l.left)!==null&&i!==void 0?i:1/0,h.left),l.top=Math.min((s=l.top)!==null&&s!==void 0?s:1/0,h.top),l.right=Math.max((u=l.right)!==null&&u!==void 0?u:-1/0,h.right),l.bottom=Math.max((r=l.bottom)!==null&&r!==void 0?r:-1/0,h.bottom)}}),l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}var ce="Sortable"+new Date().getTime();function io(){var t=[],o;return{captureAnimationState:function(){if(t=[],!!this.options.animation){var n=[].slice.call(this.el.children);n.forEach(function(l){if(!(T(l,"display")==="none"||l===D.ghost)){t.push({target:l,rect:ee(l)});var a=ye({},t[t.length-1].rect);if(l.thisAnimationDuration){var i=$e(l,!0);i&&(a.top-=i.f,a.left-=i.e)}l.fromRect=a}})}},addAnimationState:function(n){t.push(n)},removeAnimationState:function(n){t.splice(lo(t,{target:n}),1)},animateAll:function(n){var l=this;if(!this.options.animation){clearTimeout(o),typeof n=="function"&&n();return}var a=!1,i=0;t.forEach(function(s){var u=0,r=s.target,h=r.fromRect,d=ee(r),c=r.prevFromRect,k=r.prevToRect,C=s.rect,b=$e(r,!0);b&&(d.top-=b.f,d.left-=b.e),r.toRect=d,r.thisAnimationDuration&&ht(c,d)&&!ht(h,d)&&(C.top-d.top)/(C.left-d.left)===(h.top-d.top)/(h.left-d.left)&&(u=uo(C,c,k,l.options)),ht(d,h)||(r.prevFromRect=h,r.prevToRect=d,u||(u=l.options.animation),l.animate(r,C,d,u)),u&&(a=!0,i=Math.max(i,u),clearTimeout(r.animationResetTimer),r.animationResetTimer=setTimeout(function(){r.animationTime=0,r.prevFromRect=null,r.fromRect=null,r.prevToRect=null,r.thisAnimationDuration=null},u),r.thisAnimationDuration=u)}),clearTimeout(o),a?o=setTimeout(function(){typeof n=="function"&&n()},i):typeof n=="function"&&n(),t=[]},animate:function(n,l,a,i){if(i){T(n,"transition",""),T(n,"transform","");var s=$e(this.el),u=s&&s.a,r=s&&s.d,h=(l.left-a.left)/(u||1),d=(l.top-a.top)/(r||1);n.animatingX=!!h,n.animatingY=!!d,T(n,"transform","translate3d("+h+"px,"+d+"px,0)"),this.forRepaintDummy=so(n),T(n,"transition","transform "+i+"ms"+(this.options.easing?" "+this.options.easing:"")),T(n,"transform","translate3d(0,0,0)"),typeof n.animated=="number"&&clearTimeout(n.animated),n.animated=setTimeout(function(){T(n,"transition",""),T(n,"transform",""),n.animated=!1,n.animatingX=!1,n.animatingY=!1},i)}}}}function so(t){return t.offsetWidth}function uo(t,o,n,l){return Math.sqrt(Math.pow(o.top-t.top,2)+Math.pow(o.left-t.left,2))/Math.sqrt(Math.pow(o.top-n.top,2)+Math.pow(o.left-n.left,2))*l.animation}var Be=[],bt={initializeByDefault:!0},Ge={mount:function(t){for(var o in bt)bt.hasOwnProperty(o)&&!(o in t)&&(t[o]=bt[o]);Be.forEach(function(n){if(n.pluginName===t.pluginName)throw"Sortable: Cannot mount plugin ".concat(t.pluginName," more than once")}),Be.push(t)},pluginEvent:function(t,o,n){var l=this;this.eventCanceled=!1,n.cancel=function(){l.eventCanceled=!0};var a=t+"Global";Be.forEach(function(i){o[i.pluginName]&&(o[i.pluginName][a]&&o[i.pluginName][a](ye({sortable:o},n)),o.options[i.pluginName]&&o[i.pluginName][t]&&o[i.pluginName][t](ye({sortable:o},n)))})},initializePlugins:function(t,o,n,l){Be.forEach(function(s){var u=s.pluginName;if(!(!t.options[u]&&!s.initializeByDefault)){var r=new s(t,o,t.options);r.sortable=t,r.options=t.options,t[u]=r,Ne(n,r.defaults)}});for(var a in t.options)if(t.options.hasOwnProperty(a)){var i=this.modifyOption(t,a,t.options[a]);typeof i<"u"&&(t.options[a]=i)}},getEventProperties:function(t,o){var n={};return Be.forEach(function(l){typeof l.eventProperties=="function"&&Ne(n,l.eventProperties.call(o[l.pluginName],t))}),n},modifyOption:function(t,o,n){var l;return Be.forEach(function(a){t[a.pluginName]&&a.optionListeners&&typeof a.optionListeners[o]=="function"&&(l=a.optionListeners[o].call(t[a.pluginName],n))}),l}};function co(t){var o=t.sortable,n=t.rootEl,l=t.name,a=t.targetEl,i=t.cloneEl,s=t.toEl,u=t.fromEl,r=t.oldIndex,h=t.newIndex,d=t.oldDraggableIndex,c=t.newDraggableIndex,k=t.originalEvent,C=t.putSortable,b=t.extraEventProperties;if(o=o||n&&n[ce],!!o){var N,A=o.options,P="on"+l.charAt(0).toUpperCase()+l.substr(1);window.CustomEvent&&!Ee&&!We?N=new CustomEvent(l,{bubbles:!0,cancelable:!0}):(N=document.createEvent("Event"),N.initEvent(l,!0,!0)),N.to=s||n,N.from=u||n,N.item=a||n,N.clone=i,N.oldIndex=r,N.newIndex=h,N.oldDraggableIndex=d,N.newDraggableIndex=c,N.originalEvent=k,N.pullMode=C?C.lastPutMode:void 0;var J=ye(ye({},b),Ge.getEventProperties(l,o));for(var F in J)N[F]=J[F];n&&n.dispatchEvent(N),A[P]&&A[P].call(o,N)}}var po=["evt"],ie=function(t,o){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},l=n.evt,a=to(n,po);Ge.pluginEvent.bind(D)(t,o,ye({dragEl:y,parentEl:Z,ghostEl:O,rootEl:q,nextEl:Ie,lastDownEl:ot,cloneEl:W,cloneHidden:xe,dragStarted:Le,putSortable:oe,activeSortable:D.active,originalEvent:l,oldIndex:Fe,oldDraggableIndex:He,newIndex:de,newDraggableIndex:Se,hideGhostForTarget:bn,unhideGhostForTarget:yn,cloneNowHidden:function(){xe=!0},cloneNowShown:function(){xe=!1},dispatchSortableEvent:function(i){re({sortable:o,name:i,originalEvent:l})}},a))};function re(t){co(ye({putSortable:oe,cloneEl:W,targetEl:y,rootEl:q,oldIndex:Fe,oldDraggableIndex:He,newIndex:de,newDraggableIndex:Se},t))}var y,Z,O,q,Ie,ot,W,xe,Fe,de,He,Se,Qe,oe,Ae=!1,ut=!1,dt=[],Te,me,yt,_t,Wt,Gt,Le,Oe,qe,Je=!1,Ke=!1,lt,ae,Ct=[],wt=!1,ct=[],ft=typeof document<"u",et=rn,Zt=We||Ee?"cssFloat":"float",fo=ft&&!sn&&!rn&&"draggable"in document.createElement("div"),vn=(function(){if(ft){if(Ee)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto",t.style.pointerEvents==="auto"}})(),gn=function(t,o){var n=T(t),l=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),a=Re(t,0,o),i=Re(t,1,o),s=a&&T(a),u=i&&T(i),r=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+ee(a).width,h=u&&parseInt(u.marginLeft)+parseInt(u.marginRight)+ee(i).width;if(n.display==="flex")return n.flexDirection==="column"||n.flexDirection==="column-reverse"?"vertical":"horizontal";if(n.display==="grid")return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(a&&s.float&&s.float!=="none"){var d=s.float==="left"?"left":"right";return i&&(u.clear==="both"||u.clear===d)?"vertical":"horizontal"}return a&&(s.display==="block"||s.display==="flex"||s.display==="table"||s.display==="grid"||r>=l&&n[Zt]==="none"||i&&n[Zt]==="none"&&r+h>l)?"vertical":"horizontal"},mo=function(t,o,n){var l=n?t.left:t.top,a=n?t.right:t.bottom,i=n?t.width:t.height,s=n?o.left:o.top,u=n?o.right:o.bottom,r=n?o.width:o.height;return l===s||a===u||l+i/2===s+r/2},vo=function(t,o){var n;return dt.some(function(l){var a=l[ce].options.emptyInsertThreshold;if(!(!a||Bt(l))){var i=ee(l),s=t>=i.left-a&&t<=i.right+a,u=o>=i.top-a&&o<=i.bottom+a;if(s&&u)return n=l}}),n},hn=function(t){function o(a,i){return function(s,u,r,h){var d=s.options.group.name&&u.options.group.name&&s.options.group.name===u.options.group.name;if(a==null&&(i||d))return!0;if(a==null||a===!1)return!1;if(i&&a==="clone")return a;if(typeof a=="function")return o(a(s,u,r,h),i)(s,u,r,h);var c=(i?s:u).options.group.name;return a===!0||typeof a=="string"&&a===c||a.join&&a.indexOf(c)>-1}}var n={},l=t.group;(!l||nt(l)!="object")&&(l={name:l}),n.name=l.name,n.checkPull=o(l.pull,!0),n.checkPut=o(l.put),n.revertClone=l.revertClone,t.group=n},bn=function(){!vn&&O&&T(O,"display","none")},yn=function(){!vn&&O&&T(O,"display","")};ft&&!sn&&document.addEventListener("click",function(t){if(ut)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),ut=!1,!1},!0);var De=function(t){if(y){t=t.touches?t.touches[0]:t;var o=vo(t.clientX,t.clientY);if(o){var n={};for(var l in t)t.hasOwnProperty(l)&&(n[l]=t[l]);n.target=n.rootEl=o,n.preventDefault=void 0,n.stopPropagation=void 0,o[ce]._onDragOver(n)}}},go=function(t){y&&y.parentNode[ce]._isOutsideThisEl(t.target)};function D(t,o){if(!(t&&t.nodeType&&t.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=o=Ne({},o),t[ce]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return gn(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(i,s){i.setData("Text",s.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:D.supportPointer!==!1&&"PointerEvent"in window&&!Ue,emptyInsertThreshold:5};Ge.initializePlugins(this,t,n);for(var l in n)!(l in o)&&(o[l]=n[l]);hn(o);for(var a in this)a.charAt(0)==="_"&&typeof this[a]=="function"&&(this[a]=this[a].bind(this));this.nativeDraggable=o.forceFallback?!1:fo,this.nativeDraggable&&(this.options.touchStartThreshold=1),o.supportPointer?j(t,"pointerdown",this._onTapStart):(j(t,"mousedown",this._onTapStart),j(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(j(t,"dragover",this),j(t,"dragenter",this)),dt.push(this.el),o.store&&o.store.get&&this.sort(o.store.get(this)||[]),Ne(this,io())}D.prototype={constructor:D,_isOutsideThisEl:function(t){!this.el.contains(t)&&t!==this.el&&(Oe=null)},_getDirection:function(t,o){return typeof this.options.direction=="function"?this.options.direction.call(this,t,o,y):this.options.direction},_onTapStart:function(t){if(t.cancelable){var o=this,n=this.el,l=this.options,a=l.preventOnFilter,i=t.type,s=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,u=(s||t).target,r=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||u,h=l.filter;if(ko(n),!y&&!(/mousedown|pointerdown/.test(i)&&t.button!==0||l.disabled)&&!r.isContentEditable&&!(!this.nativeDraggable&&Ue&&u&&u.tagName.toUpperCase()==="SELECT")&&(u=ve(u,l.draggable,n,!1),!(u&&u.animated)&&ot!==u)){if(Fe=pe(u),He=pe(u,l.draggable),typeof h=="function"){if(h.call(this,t,u,this)){re({sortable:o,rootEl:r,name:"filter",targetEl:u,toEl:n,fromEl:n}),ie("filter",o,{evt:t}),a&&t.cancelable&&t.preventDefault();return}}else if(h&&(h=h.split(",").some(function(d){if(d=ve(r,d.trim(),n,!1),d)return re({sortable:o,rootEl:d,name:"filter",targetEl:u,fromEl:n,toEl:n}),ie("filter",o,{evt:t}),!0}),h)){a&&t.cancelable&&t.preventDefault();return}l.handle&&!ve(r,l.handle,n,!1)||this._prepareDragStart(t,s,u)}}},_prepareDragStart:function(t,o,n){var l=this,a=l.el,i=l.options,s=a.ownerDocument,u;if(n&&!y&&n.parentNode===a){var r=ee(n);if(q=a,y=n,Z=y.parentNode,Ie=y.nextSibling,ot=n,Qe=i.group,D.dragged=y,Te={target:y,clientX:(o||t).clientX,clientY:(o||t).clientY},Wt=Te.clientX-r.left,Gt=Te.clientY-r.top,this._lastX=(o||t).clientX,this._lastY=(o||t).clientY,y.style["will-change"]="all",u=function(){if(ie("delayEnded",l,{evt:t}),D.eventCanceled){l._onDrop();return}l._disableDelayedDragEvents(),!Xt&&l.nativeDraggable&&(y.draggable=!0),l._triggerDragStart(t,o),re({sortable:l,name:"choose",originalEvent:t}),ue(y,i.chosenClass,!0)},i.ignore.split(",").forEach(function(h){dn(y,h.trim(),Nt)}),j(s,"dragover",De),j(s,"mousemove",De),j(s,"touchmove",De),j(s,"mouseup",l._onDrop),j(s,"touchend",l._onDrop),j(s,"touchcancel",l._onDrop),Xt&&this.nativeDraggable&&(this.options.touchStartThreshold=4,y.draggable=!0),ie("delayStart",this,{evt:t}),i.delay&&(!i.delayOnTouchOnly||o)&&(!this.nativeDraggable||!(We||Ee))){if(D.eventCanceled){this._onDrop();return}j(s,"mouseup",l._disableDelayedDrag),j(s,"touchend",l._disableDelayedDrag),j(s,"touchcancel",l._disableDelayedDrag),j(s,"mousemove",l._delayedDragTouchMoveHandler),j(s,"touchmove",l._delayedDragTouchMoveHandler),i.supportPointer&&j(s,"pointermove",l._delayedDragTouchMoveHandler),l._dragStartTimer=setTimeout(u,i.delay)}else u()}},_delayedDragTouchMoveHandler:function(t){var o=t.touches?t.touches[0]:t;Math.max(Math.abs(o.clientX-this._lastX),Math.abs(o.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){y&&Nt(y),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;M(t,"mouseup",this._disableDelayedDrag),M(t,"touchend",this._disableDelayedDrag),M(t,"touchcancel",this._disableDelayedDrag),M(t,"mousemove",this._delayedDragTouchMoveHandler),M(t,"touchmove",this._delayedDragTouchMoveHandler),M(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,o){o=o||t.pointerType=="touch"&&t,!this.nativeDraggable||o?this.options.supportPointer?j(document,"pointermove",this._onTouchMove):o?j(document,"touchmove",this._onTouchMove):j(document,"mousemove",this._onTouchMove):(j(y,"dragend",this),j(q,"dragstart",this._onDragStart));try{document.selection?at(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(t,o){if(Ae=!1,q&&y){ie("dragStarted",this,{evt:o}),this.nativeDraggable&&j(document,"dragover",go);var n=this.options;!t&&ue(y,n.dragClass,!1),ue(y,n.ghostClass,!0),D.active=this,t&&this._appendGhost(),re({sortable:this,name:"start",originalEvent:o})}else this._nulling()},_emulateDragOver:function(){if(me){this._lastX=me.clientX,this._lastY=me.clientY,bn();for(var t=document.elementFromPoint(me.clientX,me.clientY),o=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(me.clientX,me.clientY),t!==o);)o=t;if(y.parentNode[ce]._isOutsideThisEl(t),o)do{if(o[ce]){var n=void 0;if(n=o[ce]._onDragOver({clientX:me.clientX,clientY:me.clientY,target:t,rootEl:o}),n&&!this.options.dragoverBubble)break}t=o}while(o=o.parentNode);yn()}},_onTouchMove:function(t){if(Te){var o=this.options,n=o.fallbackTolerance,l=o.fallbackOffset,a=t.touches?t.touches[0]:t,i=O&&$e(O,!0),s=O&&i&&i.a,u=O&&i&&i.d,r=et&&ae&&Jt(ae),h=(a.clientX-Te.clientX+l.x)/(s||1)+(r?r[0]-Ct[0]:0)/(s||1),d=(a.clientY-Te.clientY+l.y)/(u||1)+(r?r[1]-Ct[1]:0)/(u||1);if(!D.active&&!Ae){if(n&&Math.max(Math.abs(a.clientX-this._lastX),Math.abs(a.clientY-this._lastY))<n)return;this._onDragStart(t,!0)}if(O){i?(i.e+=h-(yt||0),i.f+=d-(_t||0)):i={a:1,b:0,c:0,d:1,e:h,f:d};var c="matrix(".concat(i.a,",").concat(i.b,",").concat(i.c,",").concat(i.d,",").concat(i.e,",").concat(i.f,")");T(O,"webkitTransform",c),T(O,"mozTransform",c),T(O,"msTransform",c),T(O,"transform",c),yt=h,_t=d,me=a}t.cancelable&&t.preventDefault()}},_appendGhost:function(){if(!O){var t=this.options.fallbackOnBody?document.body:q,o=ee(y,!0,et,!0,t),n=this.options;if(et){for(ae=t;T(ae,"position")==="static"&&T(ae,"transform")==="none"&&ae!==document;)ae=ae.parentNode;ae!==document.body&&ae!==document.documentElement?(ae===document&&(ae=be()),o.top+=ae.scrollTop,o.left+=ae.scrollLeft):ae=be(),Ct=Jt(ae)}O=y.cloneNode(!0),ue(O,n.ghostClass,!1),ue(O,n.fallbackClass,!0),ue(O,n.dragClass,!0),T(O,"transition",""),T(O,"transform",""),T(O,"box-sizing","border-box"),T(O,"margin",0),T(O,"top",o.top),T(O,"left",o.left),T(O,"width",o.width),T(O,"height",o.height),T(O,"opacity","0.8"),T(O,"position",et?"absolute":"fixed"),T(O,"zIndex","100000"),T(O,"pointerEvents","none"),D.ghost=O,t.appendChild(O),T(O,"transform-origin",Wt/parseInt(O.style.width)*100+"% "+Gt/parseInt(O.style.height)*100+"%")}},_onDragStart:function(t,o){var n=this,l=t.dataTransfer,a=n.options;if(ie("dragStart",this,{evt:t}),D.eventCanceled){this._onDrop();return}ie("setupClone",this),D.eventCanceled||(W=fn(y),W.removeAttribute("id"),W.draggable=!1,W.style["will-change"]="",this._hideClone(),ue(W,this.options.chosenClass,!1),D.clone=W),n.cloneId=at(function(){ie("clone",n),!D.eventCanceled&&(n.options.removeCloneOnHide||q.insertBefore(W,y),n._hideClone(),re({sortable:n,name:"clone"}))}),!o&&ue(y,a.dragClass,!0),o?(ut=!0,n._loopId=setInterval(n._emulateDragOver,50)):(M(document,"mouseup",n._onDrop),M(document,"touchend",n._onDrop),M(document,"touchcancel",n._onDrop),l&&(l.effectAllowed="move",a.setData&&a.setData.call(n,l,y)),j(document,"drop",n),T(y,"transform","translateZ(0)")),Ae=!0,n._dragStartId=at(n._dragStarted.bind(n,o,t)),j(document,"selectstart",n),Le=!0,Ue&&T(document.body,"user-select","none")},_onDragOver:function(t){var o=this.el,n=t.target,l,a,i,s=this.options,u=s.group,r=D.active,h=Qe===u,d=s.sort,c=oe||r,k,C=this,b=!1;if(wt)return;function N(v,se){ie(v,C,ye({evt:t,isOwner:h,axis:k?"vertical":"horizontal",revert:i,dragRect:l,targetRect:a,canSort:d,fromSortable:c,target:n,completed:P,onMove:function(fe,ke){return tt(q,o,y,l,fe,ee(fe),t,ke)},changed:J},se))}function A(){N("dragOverAnimationCapture"),C.captureAnimationState(),C!==c&&c.captureAnimationState()}function P(v){return N("dragOverCompleted",{insertion:v}),v&&(h?r._hideClone():r._showClone(C),C!==c&&(ue(y,oe?oe.options.ghostClass:r.options.ghostClass,!1),ue(y,s.ghostClass,!0)),oe!==C&&C!==D.active?oe=C:C===D.active&&oe&&(oe=null),c===C&&(C._ignoreWhileAnimating=n),C.animateAll(function(){N("dragOverAnimationComplete"),C._ignoreWhileAnimating=null}),C!==c&&(c.animateAll(),c._ignoreWhileAnimating=null)),(n===y&&!y.animated||n===o&&!n.animated)&&(Oe=null),!s.dragoverBubble&&!t.rootEl&&n!==document&&(y.parentNode[ce]._isOutsideThisEl(t.target),!v&&De(t)),!s.dragoverBubble&&t.stopPropagation&&t.stopPropagation(),b=!0}function J(){de=pe(y),Se=pe(y,s.draggable),re({sortable:C,name:"change",toEl:o,newIndex:de,newDraggableIndex:Se,originalEvent:t})}if(t.preventDefault!==void 0&&t.cancelable&&t.preventDefault(),n=ve(n,s.draggable,o,!0),N("dragOver"),D.eventCanceled)return b;if(y.contains(t.target)||n.animated&&n.animatingX&&n.animatingY||C._ignoreWhileAnimating===n)return P(!1);if(ut=!1,r&&!s.disabled&&(h?d||(i=Z!==q):oe===this||(this.lastPutMode=Qe.checkPull(this,r,y,t))&&u.checkPut(this,r,y,t))){if(k=this._getDirection(t,n)==="vertical",l=ee(y),N("dragOverValid"),D.eventCanceled)return b;if(i)return Z=q,A(),this._hideClone(),N("revert"),D.eventCanceled||(Ie?q.insertBefore(y,Ie):q.appendChild(y)),P(!0);var F=Bt(o,s.draggable);if(!F||_o(t,k,this)&&!F.animated){if(F===y)return P(!1);if(F&&o===t.target&&(n=F),n&&(a=ee(n)),tt(q,o,y,l,n,a,t,!!n)!==!1)return A(),F&&F.nextSibling?o.insertBefore(y,F.nextSibling):o.appendChild(y),Z=o,J(),P(!0)}else if(F&&yo(t,k,this)){var z=Re(o,0,s,!0);if(z===y)return P(!1);if(n=z,a=ee(n),tt(q,o,y,l,n,a,t,!1)!==!1)return A(),o.insertBefore(y,z),Z=o,J(),P(!0)}else if(n.parentNode===o){a=ee(n);var w=0,te,Y=y.parentNode!==o,ne=!mo(y.animated&&y.toRect||l,n.animated&&n.toRect||a,k),U=k?"top":"left",S=qt(n,"top","top")||qt(y,"top","top"),$=S?S.scrollTop:void 0;Oe!==n&&(te=a[U],Je=!1,Ke=!ne&&s.invertSwap||Y),w=Co(t,n,a,k,ne?1:s.swapThreshold,s.invertedSwapThreshold==null?s.swapThreshold:s.invertedSwapThreshold,Ke,Oe===n);var R;if(w!==0){var G=pe(y);do G-=w,R=Z.children[G];while(R&&(T(R,"display")==="none"||R===O))}if(w===0||R===n)return P(!1);Oe=n,qe=w;var L=n.nextElementSibling,V=!1;V=w===1;var p=tt(q,o,y,l,n,a,t,V);if(p!==!1)return(p===1||p===-1)&&(V=p===1),wt=!0,setTimeout(bo,30),A(),V&&!L?o.appendChild(y):n.parentNode.insertBefore(y,V?L:n),S&&pn(S,0,$-S.scrollTop),Z=y.parentNode,te!==void 0&&!Ke&&(lt=Math.abs(te-ee(n)[U])),J(),P(!0)}if(o.contains(y))return P(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){M(document,"mousemove",this._onTouchMove),M(document,"touchmove",this._onTouchMove),M(document,"pointermove",this._onTouchMove),M(document,"dragover",De),M(document,"mousemove",De),M(document,"touchmove",De)},_offUpEvents:function(){var t=this.el.ownerDocument;M(t,"mouseup",this._onDrop),M(t,"touchend",this._onDrop),M(t,"pointerup",this._onDrop),M(t,"touchcancel",this._onDrop),M(document,"selectstart",this)},_onDrop:function(t){var o=this.el,n=this.options;if(de=pe(y),Se=pe(y,n.draggable),ie("drop",this,{evt:t}),Z=y&&y.parentNode,de=pe(y),Se=pe(y,n.draggable),D.eventCanceled){this._nulling();return}Ae=!1,Ke=!1,Je=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),Vt(this.cloneId),Vt(this._dragStartId),this.nativeDraggable&&(M(document,"drop",this),M(o,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),Ue&&T(document.body,"user-select",""),T(y,"transform",""),t&&(Le&&(t.cancelable&&t.preventDefault(),!n.dropBubble&&t.stopPropagation()),O&&O.parentNode&&O.parentNode.removeChild(O),(q===Z||oe&&oe.lastPutMode!=="clone")&&W&&W.parentNode&&W.parentNode.removeChild(W),y&&(this.nativeDraggable&&M(y,"dragend",this),Nt(y),y.style["will-change"]="",Le&&!Ae&&ue(y,oe?oe.options.ghostClass:this.options.ghostClass,!1),ue(y,this.options.chosenClass,!1),re({sortable:this,name:"unchoose",toEl:Z,newIndex:null,newDraggableIndex:null,originalEvent:t}),q!==Z?(de>=0&&(re({rootEl:Z,name:"add",toEl:Z,fromEl:q,originalEvent:t}),re({sortable:this,name:"remove",toEl:Z,originalEvent:t}),re({rootEl:Z,name:"sort",toEl:Z,fromEl:q,originalEvent:t}),re({sortable:this,name:"sort",toEl:Z,originalEvent:t})),oe&&oe.save()):de!==Fe&&de>=0&&(re({sortable:this,name:"update",toEl:Z,originalEvent:t}),re({sortable:this,name:"sort",toEl:Z,originalEvent:t})),D.active&&((de==null||de===-1)&&(de=Fe,Se=He),re({sortable:this,name:"end",toEl:Z,originalEvent:t}),this.save()))),this._nulling()},_nulling:function(){ie("nulling",this),q=y=Z=O=Ie=W=ot=xe=Te=me=Le=de=Se=Fe=He=Oe=qe=oe=Qe=D.dragged=D.ghost=D.clone=D.active=null,ct.forEach(function(t){t.checked=!0}),ct.length=yt=_t=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":y&&(this._onDragOver(t),ho(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t=[],o,n=this.el.children,l=0,a=n.length,i=this.options;l<a;l++)o=n[l],ve(o,i.draggable,this.el,!1)&&t.push(o.getAttribute(i.dataIdAttr)||Eo(o));return t},sort:function(t,o){var n={},l=this.el;this.toArray().forEach(function(a,i){var s=l.children[i];ve(s,this.options.draggable,l,!1)&&(n[a]=s)},this),o&&this.captureAnimationState(),t.forEach(function(a){n[a]&&(l.removeChild(n[a]),l.appendChild(n[a]))}),o&&this.animateAll()},save:function(){var t=this.options.store;t&&t.set&&t.set(this)},closest:function(t,o){return ve(t,o||this.options.draggable,this.el,!1)},option:function(t,o){var n=this.options;if(o===void 0)return n[t];var l=Ge.modifyOption(this,t,o);typeof l<"u"?n[t]=l:n[t]=o,t==="group"&&hn(n)},destroy:function(){ie("destroy",this);var t=this.el;t[ce]=null,M(t,"mousedown",this._onTapStart),M(t,"touchstart",this._onTapStart),M(t,"pointerdown",this._onTapStart),this.nativeDraggable&&(M(t,"dragover",this),M(t,"dragenter",this)),Array.prototype.forEach.call(t.querySelectorAll("[draggable]"),function(o){o.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),dt.splice(dt.indexOf(this.el),1),this.el=t=null},_hideClone:function(){if(!xe){if(ie("hideClone",this),D.eventCanceled)return;T(W,"display","none"),this.options.removeCloneOnHide&&W.parentNode&&W.parentNode.removeChild(W),xe=!0}},_showClone:function(t){if(t.lastPutMode!=="clone"){this._hideClone();return}if(xe){if(ie("showClone",this),D.eventCanceled)return;y.parentNode==q&&!this.options.group.revertClone?q.insertBefore(W,y):Ie?q.insertBefore(W,Ie):q.appendChild(W),this.options.group.revertClone&&this.animate(y,W),T(W,"display",""),xe=!1}}};function ho(t){t.dataTransfer&&(t.dataTransfer.dropEffect="move"),t.cancelable&&t.preventDefault()}function tt(t,o,n,l,a,i,s,u){var r,h=t[ce],d=h.options.onMove,c;return window.CustomEvent&&!Ee&&!We?r=new CustomEvent("move",{bubbles:!0,cancelable:!0}):(r=document.createEvent("Event"),r.initEvent("move",!0,!0)),r.to=o,r.from=t,r.dragged=n,r.draggedRect=l,r.related=a||o,r.relatedRect=i||ee(o),r.willInsertAfter=u,r.originalEvent=s,t.dispatchEvent(r),d&&(c=d.call(h,r,s)),c}function Nt(t){t.draggable=!1}function bo(){wt=!1}function yo(t,o,n){var l=ee(Re(n.el,0,n.options,!0)),a=mn(n.el,n.options,O),i=10;return o?t.clientX<a.left-i||t.clientY<l.top&&t.clientX<l.right:t.clientY<a.top-i||t.clientY<l.bottom&&t.clientX<l.left}function _o(t,o,n){var l=ee(Bt(n.el,n.options.draggable)),a=mn(n.el,n.options,O),i=10;return o?t.clientX>a.right+i||t.clientY>l.bottom&&t.clientX>l.left:t.clientY>a.bottom+i||t.clientX>l.right&&t.clientY>l.top}function Co(t,o,n,l,a,i,s,u){var r=l?t.clientY:t.clientX,h=l?n.height:n.width,d=l?n.top:n.left,c=l?n.bottom:n.right,k=!1;if(!s){if(u&&lt<h*a){if(!Je&&(qe===1?r>d+h*i/2:r<c-h*i/2)&&(Je=!0),Je)k=!0;else if(qe===1?r<d+lt:r>c-lt)return-qe}else if(r>d+h*(1-a)/2&&r<c-h*(1-a)/2)return No(o)}return k=k||s,k&&(r<d+h*i/2||r>c-h*i/2)?r>d+h/2?1:-1:0}function No(t){return pe(y)<pe(t)?1:-1}function Eo(t){for(var o=t.tagName+t.className+t.src+t.href+t.textContent,n=o.length,l=0;n--;)l+=o.charCodeAt(n);return l.toString(36)}function ko(t){ct.length=0;for(var o=t.getElementsByTagName("input"),n=o.length;n--;){var l=o[n];l.checked&&ct.push(l)}}function at(t){return setTimeout(t,0)}function Vt(t){return clearTimeout(t)}ft&&j(document,"touchmove",function(t){(D.active||Ae)&&t.cancelable&&t.preventDefault()});D.utils={on:j,off:M,css:T,find:dn,is:function(t,o){return!!ve(t,o,t,!1)},extend:ao,throttle:cn,closest:ve,toggleClass:ue,clone:fn,index:pe,nextTick:at,cancelNextTick:Vt,detectDirection:gn,getChild:Re};D.get=function(t){return t[ce]};D.mount=function(){for(var t=arguments.length,o=new Array(t),n=0;n<t;n++)o[n]=arguments[n];o[0].constructor===Array&&(o=o[0]),o.forEach(function(l){if(!l.prototype||!l.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(l));l.utils&&(D.utils=ye(ye({},D.utils),l.utils)),Ge.mount(l)})};D.create=function(t,o){return new D(t,o)};D.version=no;var K=[],je,Tt,Dt=!1,Et,kt,pt,Ye;function So(){function t(){this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0};for(var o in this)o.charAt(0)==="_"&&typeof this[o]=="function"&&(this[o]=this[o].bind(this))}return t.prototype={dragStarted:function(o){var n=o.originalEvent;this.sortable.nativeDraggable?j(document,"dragover",this._handleAutoScroll):this.options.supportPointer?j(document,"pointermove",this._handleFallbackAutoScroll):n.touches?j(document,"touchmove",this._handleFallbackAutoScroll):j(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(o){var n=o.originalEvent;!this.options.dragOverBubble&&!n.rootEl&&this._handleAutoScroll(n)},drop:function(){this.sortable.nativeDraggable?M(document,"dragover",this._handleAutoScroll):(M(document,"pointermove",this._handleFallbackAutoScroll),M(document,"touchmove",this._handleFallbackAutoScroll),M(document,"mousemove",this._handleFallbackAutoScroll)),Qt(),rt(),ro()},nulling:function(){pt=Tt=je=Dt=Ye=Et=kt=null,K.length=0},_handleFallbackAutoScroll:function(o){this._handleAutoScroll(o,!0)},_handleAutoScroll:function(o,n){var l=this,a=(o.touches?o.touches[0]:o).clientX,i=(o.touches?o.touches[0]:o).clientY,s=document.elementFromPoint(a,i);if(pt=o,n||this.options.forceAutoScrollFallback||We||Ee||Ue){St(o,this.options,s,n);var u=we(s,!0);Dt&&(!Ye||a!==Et||i!==kt)&&(Ye&&Qt(),Ye=setInterval(function(){var r=we(document.elementFromPoint(a,i),!0);r!==u&&(u=r,rt()),St(o,l.options,r,n)},10),Et=a,kt=i)}else{if(!this.options.bubbleScroll||we(s,!0)===be()){rt();return}St(o,this.options,we(s,!1),!1)}}},Ne(t,{pluginName:"scroll",initializeByDefault:!0})}function rt(){K.forEach(function(t){clearInterval(t.pid)}),K=[]}function Qt(){clearInterval(Ye)}var St=cn(function(t,o,n,l){if(o.scroll){var a=(t.touches?t.touches[0]:t).clientX,i=(t.touches?t.touches[0]:t).clientY,s=o.scrollSensitivity,u=o.scrollSpeed,r=be(),h=!1,d;Tt!==n&&(Tt=n,rt(),je=o.scroll,d=o.scrollFn,je===!0&&(je=we(n,!0)));var c=0,k=je;do{var C=k,b=ee(C),N=b.top,A=b.bottom,P=b.left,J=b.right,F=b.width,z=b.height,w=void 0,te=void 0,Y=C.scrollWidth,ne=C.scrollHeight,U=T(C),S=C.scrollLeft,$=C.scrollTop;C===r?(w=F<Y&&(U.overflowX==="auto"||U.overflowX==="scroll"||U.overflowX==="visible"),te=z<ne&&(U.overflowY==="auto"||U.overflowY==="scroll"||U.overflowY==="visible")):(w=F<Y&&(U.overflowX==="auto"||U.overflowX==="scroll"),te=z<ne&&(U.overflowY==="auto"||U.overflowY==="scroll"));var R=w&&(Math.abs(J-a)<=s&&S+F<Y)-(Math.abs(P-a)<=s&&!!S),G=te&&(Math.abs(A-i)<=s&&$+z<ne)-(Math.abs(N-i)<=s&&!!$);if(!K[c])for(var L=0;L<=c;L++)K[L]||(K[L]={});(K[c].vx!=R||K[c].vy!=G||K[c].el!==C)&&(K[c].el=C,K[c].vx=R,K[c].vy=G,clearInterval(K[c].pid),(R!=0||G!=0)&&(h=!0,K[c].pid=setInterval((function(){l&&this.layer===0&&D.active._onTouchMove(pt);var V=K[this.layer].vy?K[this.layer].vy*u:0,p=K[this.layer].vx?K[this.layer].vx*u:0;typeof d=="function"&&d.call(D.dragged.parentNode[ce],p,V,t,pt,K[this.layer].el)!=="continue"||pn(K[this.layer].el,p,V)}).bind({layer:c}),24))),c++}while(o.bubbleScroll&&k!==r&&(k=we(k,!1)));Dt=h}},30),_n=function(t){var o=t.originalEvent,n=t.putSortable,l=t.dragEl,a=t.activeSortable,i=t.dispatchSortableEvent,s=t.hideGhostForTarget,u=t.unhideGhostForTarget;if(o){var r=n||a;s();var h=o.changedTouches&&o.changedTouches.length?o.changedTouches[0]:o,d=document.elementFromPoint(h.clientX,h.clientY);u(),r&&!r.el.contains(d)&&(i("spill"),this.onSpill({dragEl:l,putSortable:n}))}};function Ot(){}Ot.prototype={startIndex:null,dragStart:function(t){var o=t.oldDraggableIndex;this.startIndex=o},onSpill:function(t){var o=t.dragEl,n=t.putSortable;this.sortable.captureAnimationState(),n&&n.captureAnimationState();var l=Re(this.sortable.el,this.startIndex,this.options);l?this.sortable.el.insertBefore(o,l):this.sortable.el.appendChild(o),this.sortable.animateAll(),n&&n.animateAll()},drop:_n};Ne(Ot,{pluginName:"revertOnSpill"});function At(){}At.prototype={onSpill:function(t){var o=t.dragEl,n=t.putSortable,l=n||this.sortable;l.captureAnimationState(),o.parentNode&&o.parentNode.removeChild(o),l.animateAll()},drop:_n};Ne(At,{pluginName:"removeOnSpill"});D.mount(new So);D.mount(At,Ot);function xo(t){return t==null?t:JSON.parse(JSON.stringify(t))}function wo(t){e.getCurrentInstance()&&e.onUnmounted(t)}function Vo(t){e.getCurrentInstance()?e.onMounted(t):e.nextTick(t)}let Cn=null,Nn=null;function Kt(t=null,o=null){Cn=t,Nn=o}function To(){return{data:Cn,clonedData:Nn}}const en=Symbol("cloneElement");function Do(...t){var o,n;const l=(o=e.getCurrentInstance())==null?void 0:o.proxy;let a=null;const i=t[0];let[,s,u]=t;Array.isArray(e.unref(s))||(u=s,s=null);let r=null;const{immediate:h=!0,clone:d=xo,forceFallback:c,fallbackOnBody:k,customUpdate:C}=(n=e.unref(u))!=null?n:{};function b(S){var $;const{from:R,oldIndex:G,item:L}=S,V=Array.from(R.childNodes);a=c&&!k?V.slice(0,-1):V;const p=e.unref(($=e.unref(s))==null?void 0:$[G]),v=d(p);Kt(p,v),L[en]=v}function N(S){const $=S.item[en];if(!Xn($)){if(gt(S.item),e.isRef(s)){const R=[...e.unref(s)];s.value=Lt(R,S.newDraggableIndex,$);return}Lt(e.unref(s),S.newDraggableIndex,$)}}function A(S){const{from:$,item:R,oldIndex:G,oldDraggableIndex:L,pullMode:V,clone:p}=S;if(jt($,R,G),V==="clone"){gt(p);return}if(e.isRef(s)){const v=[...e.unref(s)];s.value=zt(v,L);return}zt(e.unref(s),L)}function P(S){if(C){C(S);return}const{from:$,item:R,oldIndex:G,oldDraggableIndex:L,newDraggableIndex:V}=S;if(gt(R),jt($,R,G),e.isRef(s)){const p=[...e.unref(s)];s.value=Rt(p,L,V);return}Rt(e.unref(s),L,V)}function J(S){const{newIndex:$,oldIndex:R,from:G,to:L}=S;let V=null;const p=$===R&&G===L;try{if(p){let v=null;a?.some((se,fe)=>{if(v&&a?.length!==L.childNodes.length)return G.insertBefore(v,se.nextSibling),!0;const ke=L.childNodes[fe];v=L?.replaceChild(se,ke)})}}catch(v){V=v}finally{a=null}e.nextTick(()=>{if(Kt(),V)throw V})}const F={onUpdate:P,onStart:b,onAdd:N,onRemove:A,onEnd:J};function z(S){const $=e.unref(i);return S||(S=Hn($)?qn($,l?.$el):$),S&&!Gn(S)&&(S=S.$el),S||jn("Root element not found"),S}function w(){var S;const $=(S=e.unref(u))!=null?S:{},{immediate:R,clone:G}=$,L=ln($,["immediate","clone"]);return Yt(L,(V,p)=>{Zn(V)&&(L[V]=(v,...se)=>{const fe=To();return Qn(v,fe),p(v,...se)})}),Wn(s===null?{}:F,L)}const te=S=>{S=z(S),r&&Y.destroy(),r=new D(S,w())};e.watch(()=>u,()=>{r&&Yt(w(),(S,$)=>{r?.option(S,$)})},{deep:!0});const Y={option:(S,$)=>r?.option(S,$),destroy:()=>{r?.destroy(),r=null},save:()=>r?.save(),toArray:()=>r?.toArray(),closest:(...S)=>r?.closest(...S)},ne=()=>Y?.option("disabled",!0),U=()=>Y?.option("disabled",!1);return Vo(()=>{h&&te()}),wo(Y.destroy),Pe({start:te,pause:ne,resume:U},Y)}const It=["update","start","add","remove","choose","unchoose","end","sort","filter","clone","move","change"],Io=["clone","animation","ghostClass","group","sort","disabled","store","handle","draggable","swapThreshold","invertSwap","invertedSwapThreshold","removeCloneOnHide","direction","chosenClass","dragClass","ignore","filter","preventOnFilter","easing","setData","dropBubble","dragoverBubble","dataIdAttr","delay","delayOnTouchOnly","touchStartThreshold","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","emptyInsertThreshold","scroll","forceAutoScrollFallback","scrollSensitivity","scrollSpeed","bubbleScroll","modelValue","tag","target","customUpdate",...It.map(t=>`on${t.replace(/^\S/,o=>o.toUpperCase())}`)],Bo=e.defineComponent({name:"VueDraggable",model:{prop:"modelValue",event:"update:modelValue"},props:Io,emits:["update:modelValue",...It],setup(t,{slots:o,emit:n,expose:l,attrs:a}){const i=It.reduce((d,c)=>{const k=`on${c.replace(/^\S/,C=>C.toUpperCase())}`;return d[k]=(...C)=>n(c,...C),d},{}),s=e.computed(()=>{const d=e.toRefs(t),{modelValue:c}=d,k=ln(d,["modelValue"]),C=Object.entries(k).reduce((b,[N,A])=>{const P=e.unref(A);return P!==void 0&&(b[N]=P),b},{});return Pe(Pe({},i),Un(Pe(Pe({},a),C)))}),u=e.computed({get:()=>t.modelValue,set:d=>n("update:modelValue",d)}),r=e.ref(),h=e.reactive(Do(t.target||r,u,s));return l(h),()=>{var d;return e.h(t.tag||"div",{ref:r},(d=o?.default)==null?void 0:d.call(o,h))}}}),Oo={class:"expanded"},Ao={class:"expanded__head"},Po={class:"expanded__icon"},Fo=["name"],$o={class:"expanded__title"},Mo={class:"expanded__meta"},Ro={class:"expanded__head-actions"},zo={class:"expanded__body"},Lo={class:"expanded__preview"},jo={key:1,class:"expanded__options"},Yo=["onDragstart","onDragover","onDrop"],Uo={class:"expanded__options-foot"},Xo=["name"],Ho={key:2,class:"expanded__preview"},qo={class:"expanded__row"},Jo={class:"expanded__preview"},Wo={class:"expanded__row expanded__row--3"},Go={class:"expanded__preview"},Zo={class:"expanded__row expanded__row--2"},Qo={class:"expanded__preview"},Ko={class:"expanded__preview"},el={class:"expanded__section-preview"},tl={key:0},nl={class:"expanded__foot"},ol=["onClick"],ll=["name"],al=e.defineComponent({__name:"FieldCardExpanded",props:{pageIdx:{},fieldName:{}},setup(t){const o=t,n=Ve(),l=e.computed(()=>n.data.pages[o.pageIdx]?.fields[o.fieldName]??{}),a=e.computed(()=>{const x=l.value;return x.uiCom==="TextArea"?X.find(f=>f.id==="textarea"):x.uiCom==="Rating"?X.find(f=>f.id==="rating"):x.uiCom==="Slider"?X.find(f=>f.id==="slider"):x.uiCom==="ColorPicker"?X.find(f=>f.id==="color"):x.uiCom==="Section"?X.find(f=>f.id==="section"):x.uiCom==="File"?X.find(f=>f.id==="file"):x.ref?X.find(f=>f.id==="ref"):Array.isArray(x.enum)?X.find(f=>f.id==="select"):x.type==="Number"?X.find(f=>f.id==="number"):x.type==="Date"?X.find(f=>f.id==="date"):x.type==="Boolean"?X.find(f=>f.id==="boolean"):X.find(f=>f.id==="text")}),i=e.computed(()=>a.value?.id??"text"),s=X.map(x=>({label:x.label,value:x.id}));function u(x){const f=x.detail;return f!=null&&typeof f=="object"&&"value"in f?f.value:f!=null&&typeof f=="object"&&"checked"in f?f.checked:f}function r(x,f){n.updateField(o.pageIdx,o.fieldName,{[x]:f})}function h(x){if(!(!x||x===o.fieldName))try{n.renameField(o.pageIdx,o.fieldName,x)}catch(f){console.warn("[builder] rename failed:",f.message)}}function d(){n.selectPage(o.pageIdx)}function c(){n.duplicateField(o.pageIdx,o.fieldName)}function k(){n.removeField(o.pageIdx,o.fieldName)}const C=["label","required","helperText","placeholder","full","hidden","disabled","readOnly","visibleIf","enableIf","requiredIf"];function b(x){if(!x||x===i.value)return;const f=xt[x],B=f?f():{type:"String"},m={};for(const g of C)l.value[g]!==void 0&&(m[g]=l.value[g]);n.replaceFieldDef(o.pageIdx,o.fieldName,{...B,...m})}const N=e.computed(()=>Array.isArray(l.value.enum)?l.value.enum:[]);function A(x,f){const B=[...N.value];B[x]=f,r("enum",B)}function P(x){const f=N.value.filter((B,m)=>m!==x);r("enum",f.length?f:void 0)}function J(){const x=[...N.value,`Option ${N.value.length+1}`];r("enum",x)}const F=e.ref(null),z=e.ref(null);function w(x,f){x.dataTransfer&&(F.value=f,x.dataTransfer.setData("application/cobalt-option-move",String(f)),x.dataTransfer.effectAllowed="move")}function te(x,f){F.value!==null&&(x.preventDefault(),x.dataTransfer&&(x.dataTransfer.dropEffect="move"),z.value=f)}function Y(){z.value=null}function ne(x,f){x.preventDefault();const B=F.value;if(F.value=null,z.value=null,B===null||B===f)return;const m=[...N.value],[g]=m.splice(B,1),_=B<f?f-1:f;m.splice(_,0,g),r("enum",m)}function U(){F.value=null,z.value=null}const S=e.computed(()=>N.value.some(x=>String(x).trim().toLowerCase()==="other"));function $(){S.value?r("enum",N.value.filter(x=>String(x).trim().toLowerCase()!=="other")):r("enum",[...N.value,"Other"])}const R=e.ref(!1),G=X.filter(x=>["text","textarea","number","date","select","boolean","rating"].includes(x.id));function L(x){R.value=!1,n.insertFieldAfter(o.pageIdx,o.fieldName,x)}function V(){R.value=!1,n.insertFieldAfter(o.pageIdx,o.fieldName,"section")}const p=e.computed(()=>{switch(i.value){case"number":return"number";case"date":return"date";case"color":return"color";case"file":return"file";default:return"text"}});function v(x){if(x===""||x==null)return;const f=Number(x);return Number.isFinite(f)?f:void 0}const se=e.computed(()=>Number(l.value.min??0)),fe=e.computed(()=>Number(l.value.max??100)),ke=e.computed(()=>Number(l.value.step??1)),mt=e.computed(()=>se.value),Ze=e.computed(()=>Number(l.value.max??5));return(x,f)=>(e.openBlock(),e.createElementBlock("div",{class:"expanded-wrap",onClick:f[14]||(f[14]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",Oo,[e.createElementVNode("header",Ao,[e.createElementVNode("span",Po,[a.value?(e.openBlock(),e.createElementBlock("co-icon",{key:0,name:a.value.icon,size:"20"},null,8,Fo)):e.createCommentVNode("",!0)]),e.createElementVNode("div",$o,[e.createVNode(Me,{class:"expanded__label","model-value":l.value.label||"",placeholder:"Untitled field","onUpdate:modelValue":f[0]||(f[0]=B=>r("label",B))},null,8,["model-value"]),e.createElementVNode("div",Mo,[e.createVNode(Me,{class:"expanded__id","model-value":t.fieldName,placeholder:"field_id","onUpdate:modelValue":h},null,8,["model-value"]),f[15]||(f[15]=e.createElementVNode("span",{class:"expanded__sep"},"·",-1)),e.createElementVNode("span",null,e.toDisplayString(a.value?.label||"Field"),1)])]),e.createElementVNode("div",Ro,[e.createVNode(e.unref(E.CoSelect),{class:"expanded__type",options:JSON.stringify(e.unref(s)),value:i.value,onCoChange:f[1]||(f[1]=B=>b(u(B)))},null,8,["options","value"]),e.createVNode(e.unref(E.CoIconButton),{icon:"x",variant:"outlined",size:"sm",label:"Collapse",onClick:d})])]),e.createElementVNode("div",zo,[["text","textarea","number","date","color","file"].includes(i.value)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(e.unref(E.CoInput),{label:"Placeholder",value:l.value.placeholder||"",onCoInput:f[2]||(f[2]=B=>r("placeholder",u(B)))},null,8,["value"]),e.createElementVNode("div",Lo,[f[16]||(f[16]=e.createElementVNode("div",{class:"expanded__preview-label"},"Preview",-1)),e.createVNode(e.unref(E.CoInput),{label:l.value.label,placeholder:l.value.placeholder,"helper-text":l.value.helperText,type:p.value,multiline:i.value==="textarea"||void 0,required:!!l.value.required,disabled:""},null,8,["label","placeholder","helper-text","type","multiline","required"])])],64)):i.value==="select"?(e.openBlock(),e.createElementBlock("div",jo,[f[20]||(f[20]=e.createElementVNode("div",{class:"expanded__options-label"},"Options",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,(B,m)=>(e.openBlock(),e.createElementBlock("div",{key:m,class:e.normalizeClass(["expanded__option",{"is-drop-target":z.value===m&&F.value!==m,"is-dragging":F.value===m}]),draggable:"true",onDragstart:g=>w(g,m),onDragover:g=>te(g,m),onDragleave:Y,onDrop:g=>ne(g,m),onDragend:U},[f[17]||(f[17]=e.createElementVNode("span",{class:"expanded__option-grip","aria-hidden":"true"},"⋮⋮",-1)),f[18]||(f[18]=e.createElementVNode("span",{class:"expanded__option-bullet","aria-hidden":"true"},null,-1)),e.createVNode(e.unref(E.CoInput),{class:"expanded__option-input",value:B,placeholder:`Option ${m+1}`,onCoInput:g=>A(m,u(g))},null,8,["value","placeholder","onCoInput"]),e.createVNode(e.unref(E.CoIconButton),{icon:"x",variant:"outlined",size:"xs",label:"Remove option",onClick:g=>P(m)},null,8,["onClick"])],42,Yo))),128)),e.createElementVNode("div",Uo,[e.createVNode(e.unref(E.CoButton),{label:"Add option",variant:"stroke",size:"s","icon-left":"plus",onClick:J}),e.createElementVNode("button",{class:e.normalizeClass(["expanded__other-toggle",{"is-active":S.value}]),onClick:$},[e.createElementVNode("co-icon",{name:S.value?"check-square":"square",size:"14"},null,8,Xo),f[19]||(f[19]=e.createElementVNode("span",null,'Add "Other (describe)"',-1))],2)])])):i.value==="boolean"?(e.openBlock(),e.createElementBlock("div",Ho,[f[21]||(f[21]=e.createElementVNode("div",{class:"expanded__preview-label"},"Preview",-1)),e.createVNode(e.unref(E.CoSwitch),{label:l.value.label||t.fieldName,"helper-text":l.value.helperText,disabled:""},null,8,["label","helper-text"])])):i.value==="rating"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[e.createElementVNode("div",qo,[e.createVNode(e.unref(E.CoInput),{label:"Max stars",type:"number",value:String(Ze.value),onCoInput:f[3]||(f[3]=B=>r("max",v(u(B))??5))},null,8,["value"])]),e.createElementVNode("div",Jo,[f[22]||(f[22]=e.createElementVNode("div",{class:"expanded__preview-label"},"Preview",-1)),e.createVNode(e.unref(E.CoRating),{label:l.value.label||t.fieldName,max:Ze.value,value:0,"read-only":""},null,8,["label","max"])])],64)):i.value==="slider"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[e.createElementVNode("div",Wo,[e.createVNode(e.unref(E.CoInput),{label:"Min",type:"number",value:String(se.value),onCoInput:f[4]||(f[4]=B=>r("min",v(u(B))??0))},null,8,["value"]),e.createVNode(e.unref(E.CoInput),{label:"Max",type:"number",value:String(fe.value),onCoInput:f[5]||(f[5]=B=>r("max",v(u(B))??100))},null,8,["value"]),e.createVNode(e.unref(E.CoInput),{label:"Step",type:"number",value:String(ke.value),onCoInput:f[6]||(f[6]=B=>r("step",v(u(B))??1))},null,8,["value"])]),e.createElementVNode("div",Go,[f[23]||(f[23]=e.createElementVNode("div",{class:"expanded__preview-label"},"Preview",-1)),e.createVNode(e.unref(E.CoSlider),{label:l.value.label||t.fieldName,min:se.value,max:fe.value,step:ke.value,value:mt.value,"show-value":"",disabled:""},null,8,["label","min","max","step","value"])])],64)):i.value==="ref"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:5},[e.createElementVNode("div",Zo,[e.createVNode(e.unref(E.CoInput),{label:"Model",placeholder:"Company, User, Deal…",value:l.value.ref||"",onCoInput:f[7]||(f[7]=B=>r("ref",u(B)))},null,8,["value"]),e.createVNode(e.unref(E.CoInput),{label:"Display field",placeholder:"name",value:l.value.displayName||"",onCoInput:f[8]||(f[8]=B=>r("displayName",u(B)))},null,8,["value"])]),e.createElementVNode("div",Qo,[f[24]||(f[24]=e.createElementVNode("div",{class:"expanded__preview-label"},"Preview",-1)),e.createVNode(e.unref(E.CoInput),{label:l.value.label||t.fieldName,placeholder:`Search ${l.value.ref||"model"}…`,"icon-left":"magnifying-glass",disabled:""},null,8,["label","placeholder"])])],64)):i.value==="section"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:6},[e.createVNode(e.unref(E.CoInput),{label:"Description",multiline:"",placeholder:"Optional explanatory text shown under the section title.",value:l.value.helperText||"",onCoInput:f[9]||(f[9]=B=>r("helperText",u(B)))},null,8,["value"]),e.createElementVNode("div",Ko,[f[25]||(f[25]=e.createElementVNode("div",{class:"expanded__preview-label"},"Preview",-1)),e.createElementVNode("div",el,[e.createElementVNode("h4",null,e.toDisplayString(l.value.label||"Section title"),1),l.value.helperText?(e.openBlock(),e.createElementBlock("p",tl,e.toDisplayString(l.value.helperText),1)):e.createCommentVNode("",!0)])])],64)):e.createCommentVNode("",!0),i.value!=="section"?(e.openBlock(),e.createBlock(e.unref(E.CoInput),{key:7,label:"Helper text",value:l.value.helperText||"",placeholder:"Optional helper / hint shown below the field",onCoInput:f[10]||(f[10]=B=>r("helperText",u(B)))},null,8,["value"])):e.createCommentVNode("",!0)]),e.createElementVNode("footer",nl,[e.createVNode(e.unref(E.CoSwitch),{checked:!!l.value.required,label:"Required",onCoChange:f[11]||(f[11]=B=>r("required",u(B)))},null,8,["checked"]),f[28]||(f[28]=e.createElementVNode("div",{class:"expanded__foot-spacer"},null,-1)),e.createElementVNode("button",{class:"expanded__foot-btn",onClick:c},[...f[26]||(f[26]=[e.createElementVNode("co-icon",{name:"copy",size:"14"},null,-1),e.createElementVNode("span",null,"Duplicate",-1)])]),e.createElementVNode("button",{class:"expanded__foot-btn expanded__foot-btn--danger",onClick:k},[...f[27]||(f[27]=[e.createElementVNode("co-icon",{name:"trash",size:"14"},null,-1),e.createElementVNode("span",null,"Delete",-1)])])])]),e.createElementVNode("aside",{class:e.normalizeClass(["mini-toolbar",{"is-open":R.value}])},[e.createElementVNode("button",{class:"mini-toolbar__btn",title:"Add field below",onClick:f[12]||(f[12]=e.withModifiers(B=>R.value=!R.value,["stop"]))},[...f[29]||(f[29]=[e.createElementVNode("co-icon",{name:"plus",size:"16"},null,-1)])]),e.createElementVNode("button",{class:"mini-toolbar__btn",title:"Add section below",onClick:V},[...f[30]||(f[30]=[e.createElementVNode("co-icon",{name:"minus",size:"16"},null,-1)])]),e.createElementVNode("button",{class:"mini-toolbar__btn",title:"Duplicate",onClick:c},[...f[31]||(f[31]=[e.createElementVNode("co-icon",{name:"copy",size:"16"},null,-1)])]),R.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"mini-popover",onClick:f[13]||(f[13]=e.withModifiers(()=>{},["stop"]))},[f[32]||(f[32]=e.createElementVNode("div",{class:"mini-popover__label"},"Insert field below",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(G),B=>(e.openBlock(),e.createElementBlock("button",{key:B.id,class:"mini-popover__item",onClick:m=>L(B.id)},[e.createElementVNode("co-icon",{name:B.icon,size:"16"},null,8,ll),e.createElementVNode("span",null,e.toDisplayString(B.label),1)],8,ol))),128))])):e.createCommentVNode("",!0)],2)]))}}),rl=he(al,[["__scopeId","data-v-d1c82738"]]),il={class:"field__icon"},sl=["name"],ul={class:"field__body"},dl={class:"field__name"},cl={key:0,class:"field__chip field__chip--warn"},pl={key:1,class:"field__chip"},fl={key:2,class:"field__chip"},ml={class:"field__meta"},vl={class:"field__meta-id"},gl=e.defineComponent({__name:"FieldCard",props:{pageIdx:{},fieldIdx:{},fieldName:{}},setup(t){const o=t,n=Ve(),l=e.computed(()=>n.data.pages[o.pageIdx]),a=e.computed(()=>l.value?.fields[o.fieldName]??{}),i=e.computed(()=>n.selection.pageIdx===o.pageIdx&&n.selection.fieldName===o.fieldName),s=e.computed(()=>{const d=a.value;return d.uiCom==="TextArea"?X.find(c=>c.id==="textarea"):d.uiCom==="Rating"?X.find(c=>c.id==="rating"):d.uiCom==="Slider"?X.find(c=>c.id==="slider"):d.uiCom==="ColorPicker"?X.find(c=>c.id==="color"):d.uiCom==="Section"?X.find(c=>c.id==="section"):d.uiCom==="File"?X.find(c=>c.id==="file"):d.ref?X.find(c=>c.id==="ref"):Array.isArray(d.enum)?X.find(c=>c.id==="select"):d.type==="Number"?X.find(c=>c.id==="number"):d.type==="Date"?X.find(c=>c.id==="date"):d.type==="Boolean"?X.find(c=>c.id==="boolean"):X.find(c=>c.id==="text")});function u(){n.selectField(o.pageIdx,o.fieldName)}function r(d){d.stopPropagation(),n.duplicateField(o.pageIdx,o.fieldName)}function h(d){d.stopPropagation(),n.removeField(o.pageIdx,o.fieldName)}return(d,c)=>i.value?(e.openBlock(),e.createBlock(rl,{key:0,"page-idx":t.pageIdx,"field-name":t.fieldName},null,8,["page-idx","field-name"])):(e.openBlock(),e.createElementBlock("div",{key:1,class:"field",onClick:e.withModifiers(u,["stop"])},[c[4]||(c[4]=e.createElementVNode("span",{class:"field__grip","aria-hidden":"true"},"⋮⋮",-1)),e.createElementVNode("span",il,[s.value?(e.openBlock(),e.createElementBlock("co-icon",{key:0,name:s.value.icon,size:"18"},null,8,sl)):e.createCommentVNode("",!0)]),e.createElementVNode("div",ul,[e.createElementVNode("div",dl,[e.createTextVNode(e.toDisplayString(a.value.label||t.fieldName)+" ",1),a.value.required?(e.openBlock(),e.createElementBlock("span",cl,"required")):e.createCommentVNode("",!0),a.value.visibleIf?(e.openBlock(),e.createElementBlock("span",pl,"visibleIf")):e.createCommentVNode("",!0),a.value.full?(e.openBlock(),e.createElementBlock("span",fl,"full")):e.createCommentVNode("",!0)]),e.createElementVNode("div",ml,[e.createElementVNode("span",vl,e.toDisplayString(t.fieldName),1),c[1]||(c[1]=e.createElementVNode("span",{class:"field__meta-sep"},"·",-1)),e.createElementVNode("span",null,e.toDisplayString(s.value?.label||a.value.type||"String"),1)])]),e.createElementVNode("div",{class:"field__actions",onClick:c[0]||(c[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("button",{class:"field__action",title:"Duplicate",onClick:r},[...c[2]||(c[2]=[e.createElementVNode("co-icon",{name:"copy",size:"14"},null,-1)])]),e.createElementVNode("button",{class:"field__action field__action--danger",title:"Delete",onClick:h},[...c[3]||(c[3]=[e.createElementVNode("co-icon",{name:"trash",size:"14"},null,-1)])])])]))}}),hl=he(gl,[["__scopeId","data-v-aad445c0"]]),bl={class:"page__head"},yl={class:"page__head-text"},_l={class:"page__head-pill"},Cl=["disabled"],Nl={key:0,class:"page__empty"},El=e.defineComponent({__name:"PageCard",props:{pageIdx:{}},setup(t){const o=t,n=Ve(),l=e.computed(()=>n.data.pages[o.pageIdx]),a=e.computed(()=>n.selection.pageIdx===o.pageIdx&&n.selection.fieldName===null),i=e.computed({get:()=>l.value?Object.keys(l.value.fields):[],set:b=>n.reorderFieldsByNames(o.pageIdx,b)}),s=e.ref(!1);function u(){n.selectPage(o.pageIdx)}function r(b){b.stopPropagation(),n.duplicatePage(o.pageIdx)}function h(b){b.stopPropagation(),!(n.data.pages.length<=1)&&n.removePage(o.pageIdx)}function d(b){n.updatePage(o.pageIdx,b)}function c(b){b.dataTransfer&&Array.from(b.dataTransfer.types).includes("application/cobalt-field-kind")&&(b.preventDefault(),b.dataTransfer.dropEffect="copy",s.value=!0)}function k(b){b.currentTarget===b.target&&(s.value=!1)}function C(b){s.value=!1;const N=b.dataTransfer?.getData("application/cobalt-field-kind");N&&(b.preventDefault(),n.addField(N,o.pageIdx))}return(b,N)=>l.value?(e.openBlock(),e.createElementBlock("section",{key:0,class:e.normalizeClass(["page",{"is-selected":a.value,"is-toolbox-drag":s.value}]),onClick:u},[e.createElementVNode("header",bl,[e.createElementVNode("div",yl,[e.createElementVNode("div",_l,"PAGE "+e.toDisplayString(t.pageIdx+1),1),e.createVNode(Me,{class:"page__title","model-value":l.value.title||"",placeholder:"Untitled page","onUpdate:modelValue":N[0]||(N[0]=A=>d({title:A}))},null,8,["model-value"]),e.createVNode(Me,{class:"page__desc","model-value":l.value.description||"",placeholder:"Add a description for this page (optional)","onUpdate:modelValue":N[1]||(N[1]=A=>d({description:A}))},null,8,["model-value"])]),e.createElementVNode("div",{class:"page__head-actions",onClick:N[2]||(N[2]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("button",{class:"page__action",title:"Duplicate page",onClick:r},[...N[4]||(N[4]=[e.createElementVNode("co-icon",{name:"copy",size:"14"},null,-1),e.createElementVNode("span",null,"Duplicate",-1)])]),e.createElementVNode("button",{class:"page__action page__action--danger",disabled:e.unref(n).data.pages.length<=1,title:"Delete page",onClick:h},[...N[5]||(N[5]=[e.createElementVNode("co-icon",{name:"trash",size:"14"},null,-1),e.createElementVNode("span",null,"Delete",-1)])],8,Cl)])]),e.createElementVNode("div",{class:"page__body",onDragover:c,onDragleave:k,onDrop:C},[e.createVNode(e.unref(Bo),{modelValue:i.value,"onUpdate:modelValue":N[3]||(N[3]=A=>i.value=A),class:"page__sortable",animation:140,"ghost-class":"page__ghost","chosen-class":"page__chosen","drag-class":"page__drag",handle:".field__grip"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(A,P)=>(e.openBlock(),e.createBlock(hl,{key:A,"page-idx":t.pageIdx,"field-idx":P,"field-name":A},null,8,["page-idx","field-idx","field-name"]))),128))]),_:1},8,["modelValue"]),i.value.length===0?(e.openBlock(),e.createElementBlock("div",Nl,[...N[6]||(N[6]=[e.createElementVNode("co-icon",{name:"plus",size:"20"},null,-1),e.createElementVNode("span",null,"Drag a field here or click one in the toolbox",-1)])])):e.createCommentVNode("",!0)],32)],2)):e.createCommentVNode("",!0)}}),kl=he(El,[["__scopeId","data-v-c2fa3971"]]),Sl={class:"canvas__pages"},xl=e.defineComponent({__name:"FieldCanvas",setup(t){const o=Ve(),n=e.computed(()=>ge.themeToStyles(o.resolvedTheme)),l=e.computed(()=>({...n.value.customProperties})),a=e.computed(()=>({...n.value.inlineStyles})),i=e.computed(()=>({"data-theme":n.value.modifiers.colorScheme,"data-appearance":n.value.modifiers.appearance,"data-density":n.value.modifiers.density,"data-radius":n.value.modifiers.radius,...n.value.modifiers.hideHeader?{"data-hide-header":""}:{}}));return(s,u)=>(e.openBlock(),e.createElementBlock("div",{class:"canvas",style:e.normalizeStyle(a.value)},[e.createElementVNode("div",e.mergeProps({class:"canvas__inner",style:l.value},i.value),[n.value.modifiers.hideHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("header",{key:0,class:e.normalizeClass(["canvas__head",{"is-selected":e.unref(o).selection.kind==="form"}]),onClick:u[2]||(u[2]=e.withModifiers(r=>e.unref(o).selectForm(),["stop"]))},[e.createVNode(Me,{class:"canvas__title","model-value":e.unref(o).data.title,placeholder:"Untitled form","onUpdate:modelValue":u[0]||(u[0]=r=>e.unref(o).setTitle(r))},null,8,["model-value"]),e.createVNode(Me,{class:"canvas__desc","model-value":e.unref(o).data.description,placeholder:"Add a description (optional)","onUpdate:modelValue":u[1]||(u[1]=r=>e.unref(o).setDescription(r))},null,8,["model-value"])],2)),e.createElementVNode("div",Sl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o).data.pages,(r,h)=>(e.openBlock(),e.createBlock(kl,{key:e.unref(o).data.pages[h].name+"-"+h,"page-idx":h},null,8,["page-idx"]))),128))]),e.createElementVNode("button",{class:"canvas__add-page",onClick:u[3]||(u[3]=r=>e.unref(o).addPage())},[...u[4]||(u[4]=[e.createElementVNode("co-icon",{name:"plus",size:"14"},null,-1),e.createElementVNode("span",null,"Add page",-1)])])],16)],4))}}),wl=he(xl,[["__scopeId","data-v-c8380252"]]),Vl={class:"props"},Tl={class:"props__head"},Dl={class:"props__title"},Il={class:"props__subtitle"},Bl={class:"props__body"},Ol={class:"row"},Al={class:"seg"},Pl={class:"row"},Fl={class:"row__label"},$l={class:"row"},Ml={class:"accent"},Rl=["title","onClick"],zl={key:4,class:"row"},Ll=["value"],jl={class:"props__foot"},Yl={class:"props__body"},Ul={class:"props__body"},Xl=e.defineComponent({__name:"PropertiesPanel",setup(t){const o=[{id:"general",label:"General",icon:"gear"},{id:"header",label:"Header",icon:"image"},{id:"background",label:"Background",icon:"paint-bucket"},{id:"appearance",label:"Appearance",icon:"paint-brush"},{id:"advanced",label:"Advanced",icon:"code"}],n=[{id:"general",label:"General",icon:"gear"},{id:"logic",label:"Logic",icon:"git-branch"}],l=[{id:"layout",label:"Layout",icon:"layout"},{id:"logic",label:"Logic",icon:"git-branch"},{id:"validation",label:"Validation",icon:"shield-check"}],a=[{label:"Panels (default)",value:"panels"},{label:"Without panels",value:"flat"}],i=[{label:"Comfortable",value:"comfortable"},{label:"Compact",value:"compact"}],s=[{label:"Rounded",value:"rounded"},{label:"Sharp",value:"sharp"}],u=[{label:"Auto",value:"auto"},{label:"Contain",value:"contain"},{label:"Cover",value:"cover"}],r=[{label:"Scroll",value:"scroll"},{label:"Fixed",value:"fixed"}],h=[{label:"(none)",value:""},{label:"email",value:"email"},{label:"url",value:"url"},{label:"uuid",value:"uuid"}],d=[{id:"azul",label:"Azul",hex:ge.ACCENT_PRESET_HEX.azul},{id:"verde",label:"Verde",hex:ge.ACCENT_PRESET_HEX.verde},{id:"amarillo",label:"Amarillo",hex:ge.ACCENT_PRESET_HEX.amarillo},{id:"rosado",label:"Rosado",hex:ge.ACCENT_PRESET_HEX.rosado}],c=Ve(),k=e.computed(()=>c.selection.kind),C=e.computed(()=>c.currentPage),b=e.computed(()=>c.selectedField||{}),N=e.computed(()=>c.selection.fieldName??""),A=e.ref("general"),P=e.ref("general"),J=e.ref("layout");e.watch(k,V=>{V==="form"?A.value="general":V==="page"?P.value="general":V==="field"&&(J.value="layout")});const F=e.computed(()=>c.data.theme),z=e.computed(()=>c.resolvedTheme);function w(V){const p=V.detail;return p!=null&&typeof p=="object"&&"value"in p?p.value:p!=null&&typeof p=="object"&&"checked"in p?p.checked:p}function te(V){if(V===""||V==null)return;const p=Number(V);return Number.isFinite(p)?p:void 0}function Y(V,p){c.updateField(c.selection.pageIdx,N.value,{[V]:p})}function ne(V,p){c.updatePage(c.selection.pageIdx,{[V]:p})}function U(V,p){c.setTheme({[V]:p})}function S(V,p,v){c.setThemeSection(V,{[p]:v})}function $(V){U("accent",V)}function R(V){const p=V.trim();/^#[0-9a-fA-F]{3,8}$/.test(p)&&c.setTheme({accent:"custom",accentHex:p})}const G=e.computed(()=>k.value==="form"?"Form":k.value==="page"?"Page":"Field"),L=e.computed(()=>k.value==="form"?c.data.title||"Untitled form":k.value==="page"?C.value?.name??"":N.value);return(V,p)=>(e.openBlock(),e.createElementBlock("div",Vl,[e.createElementVNode("header",Tl,[e.createElementVNode("div",Dl,e.toDisplayString(G.value),1),e.createElementVNode("div",Il,e.toDisplayString(L.value),1)]),k.value==="form"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(e.unref(E.CoTabGroup),{class:"props__tabs",value:A.value,onCoTabChange:p[0]||(p[0]=v=>A.value=w(v)||A.value)},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(o,v=>e.createVNode(e.unref(E.CoTab),{key:v.id,label:v.label,value:v.id,"icon-left":v.icon,size:"small"},null,8,["label","value","icon-left"])),64))]),_:1},8,["value"]),e.createElementVNode("div",Bl,[A.value==="general"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",Ol,[p[39]||(p[39]=e.createElementVNode("div",{class:"row__label"},"Color scheme",-1)),e.createElementVNode("div",Al,[e.createElementVNode("button",{class:e.normalizeClass(["seg__btn",{"is-active":z.value.colorScheme==="light"}]),onClick:p[1]||(p[1]=v=>U("colorScheme","light"))},[...p[37]||(p[37]=[e.createElementVNode("co-icon",{name:"sun",size:"14"},null,-1),e.createElementVNode("span",null,"Light",-1)])],2),e.createElementVNode("button",{class:e.normalizeClass(["seg__btn",{"is-active":z.value.colorScheme==="dark"}]),onClick:p[2]||(p[2]=v=>U("colorScheme","dark"))},[...p[38]||(p[38]=[e.createElementVNode("co-icon",{name:"moon",size:"14"},null,-1),e.createElementVNode("span",null,"Dark",-1)])],2)])]),e.createVNode(e.unref(E.CoSelect),{label:"Question appearance",options:JSON.stringify(a),value:z.value.questionAppearance,onCoChange:p[3]||(p[3]=v=>U("questionAppearance",w(v)))},null,8,["options","value"]),e.createVNode(e.unref(E.CoSelect),{label:"Density",options:JSON.stringify(i),value:z.value.density,onCoChange:p[4]||(p[4]=v=>U("density",w(v)))},null,8,["options","value"]),e.createVNode(e.unref(E.CoSelect),{label:"Border radius",options:JSON.stringify(s),value:z.value.borderRadius,onCoChange:p[5]||(p[5]=v=>U("borderRadius",w(v)))},null,8,["options","value"])],64)):e.createCommentVNode("",!0),A.value==="header"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(e.unref(E.CoSwitch),{label:"Show header",checked:z.value.header.show,onCoChange:p[6]||(p[6]=v=>S("header","show",w(v)))},null,8,["checked"]),e.createVNode(e.unref(E.CoInput),{label:"Background color",placeholder:"#fff or rgb(...)",value:F.value.header?.backgroundColor||"",onCoInput:p[7]||(p[7]=v=>S("header","backgroundColor",w(v)||null))},null,8,["value"]),e.createVNode(e.unref(E.CoInput),{label:"Height",placeholder:"120px","helper-text":"Any CSS length. Leave empty for auto.",value:F.value.header?.height||"",onCoInput:p[8]||(p[8]=v=>S("header","height",w(v)||null))},null,8,["value"])],64)):e.createCommentVNode("",!0),A.value==="background"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createVNode(e.unref(E.CoInput),{label:"Background color",placeholder:"#F3F3F3",value:F.value.background?.color||"",onCoInput:p[9]||(p[9]=v=>S("background","color",w(v)||null))},null,8,["value"]),e.createVNode(e.unref(E.CoInput),{label:"Background image URL",placeholder:"https://…",value:F.value.background?.imageUrl||"",onCoInput:p[10]||(p[10]=v=>S("background","imageUrl",w(v)||null))},null,8,["value"]),e.createVNode(e.unref(E.CoSelect),{label:"Image size",options:JSON.stringify(u),value:z.value.background.imageSize,onCoChange:p[11]||(p[11]=v=>S("background","imageSize",w(v)))},null,8,["options","value"]),e.createVNode(e.unref(E.CoSelect),{label:"Image attachment",options:JSON.stringify(r),value:z.value.background.imageAttachment,onCoChange:p[12]||(p[12]=v=>S("background","imageAttachment",w(v)))},null,8,["options","value"]),e.createElementVNode("div",Pl,[e.createElementVNode("div",Fl,"Opacity ("+e.toDisplayString(z.value.background.opacity)+"%)",1),e.createVNode(e.unref(E.CoSlider),{min:0,max:100,step:5,value:z.value.background.opacity,"show-value":"",onCoChange:p[13]||(p[13]=v=>S("background","opacity",w(v)))},null,8,["value"])])],64)):e.createCommentVNode("",!0),A.value==="appearance"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[e.createElementVNode("div",$l,[p[41]||(p[41]=e.createElementVNode("div",{class:"row__label"},"Accent",-1)),e.createElementVNode("div",Ml,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(d,v=>e.createElementVNode("button",{key:v.id,class:e.normalizeClass(["accent__chip",{"is-active":z.value.accent===v.id}]),style:e.normalizeStyle({"--accent":v.hex}),title:v.label,onClick:se=>$(v.id)},[p[40]||(p[40]=e.createElementVNode("span",{class:"accent__chip-dot"},null,-1)),e.createElementVNode("span",null,e.toDisplayString(v.label),1)],14,Rl)),64))])]),e.createVNode(e.unref(E.CoInput),{label:"Custom accent (hex)",placeholder:"#2563EB","helper-text":"Sets accent to Custom and overrides the primary.",value:z.value.accent==="custom"?z.value.accentHex:"",onCoChange:p[14]||(p[14]=v=>R(w(v)??""))},null,8,["value"]),e.createVNode(e.unref(E.CoInput),{label:"Font family",placeholder:"Inter, system-ui, sans-serif","helper-text":"CSS font stack. Empty = Geist (Cobalt default).",value:F.value.fontFamily||"",onCoInput:p[15]||(p[15]=v=>U("fontFamily",w(v)||void 0))},null,8,["value"])],64)):e.createCommentVNode("",!0),A.value==="advanced"?(e.openBlock(),e.createElementBlock("div",zl,[p[42]||(p[42]=e.createElementVNode("div",{class:"row__label"},"Custom CSS",-1)),e.createElementVNode("textarea",{class:"codebox",spellcheck:"false",rows:"14",placeholder:'.co-form-wizard [data-co-field="email"] co-input { ... }',value:F.value.customCss||"",onInput:p[16]||(p[16]=v=>U("customCss",v.target.value||void 0))},null,40,Ll),p[43]||(p[43]=e.createElementVNode("p",{class:"props__hint"},[e.createTextVNode(" Injected scoped to the form. Target fields via "),e.createElementVNode("code",null,'[data-co-field="name"]'),e.createTextVNode(" or "),e.createElementVNode("code",null,'[data-co-field-kind="select"]'),e.createTextVNode(". "),e.createElementVNode("code",null,"@import"),e.createTextVNode(", inline scripts and "),e.createElementVNode("code",null,"</style>"),e.createTextVNode(" are stripped. ")],-1))])):e.createCommentVNode("",!0)]),e.createElementVNode("footer",jl,[e.createVNode(e.unref(E.CoButton),{label:"Reset theme",variant:"stroke",size:"s","icon-left":"arrow-counter-clockwise",onClick:e.unref(c).resetTheme},null,8,["onClick"])])],64)):k.value==="page"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(e.unref(E.CoTabGroup),{class:"props__tabs",value:P.value,onCoTabChange:p[17]||(p[17]=v=>P.value=w(v)||P.value)},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(n,v=>e.createVNode(e.unref(E.CoTab),{key:v.id,label:v.label,value:v.id,"icon-left":v.icon,size:"small"},null,8,["label","value","icon-left"])),64))]),_:1},8,["value"]),e.createElementVNode("div",Yl,[P.value==="general"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(e.unref(E.CoInput),{label:"Name (id)",value:C.value.name,"helper-text":"Used as the page key in the schema.",onCoInput:p[18]||(p[18]=v=>ne("name",w(v)))},null,8,["value"]),e.createVNode(e.unref(E.CoInput),{label:"Title",value:C.value.title||"","helper-text":"Also editable inline on the canvas.",onCoInput:p[19]||(p[19]=v=>ne("title",w(v)))},null,8,["value"]),e.createVNode(e.unref(E.CoSwitch),{label:"Show title in form",checked:!C.value.hideTitle,onCoChange:p[20]||(p[20]=v=>ne("hideTitle",w(v)?void 0:!0))},null,8,["checked"]),e.createVNode(e.unref(E.CoInput),{label:"Description",multiline:"",value:C.value.description||"",onCoInput:p[21]||(p[21]=v=>ne("description",w(v)))},null,8,["value"]),e.createVNode(e.unref(E.CoSwitch),{label:"Show description in form",checked:!C.value.hideDescription,onCoChange:p[22]||(p[22]=v=>ne("hideDescription",w(v)?void 0:!0))},null,8,["checked"])],64)):e.createCommentVNode("",!0),P.value==="logic"?(e.openBlock(),e.createBlock(e.unref(E.CoInput),{key:1,label:"visibleIf",placeholder:"{customerType} == 'premium'","helper-text":"Page hidden unless expression is truthy.",value:C.value.visibleIf||"",onCoInput:p[23]||(p[23]=v=>ne("visibleIf",w(v)||void 0))},null,8,["value"])):e.createCommentVNode("",!0)])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createVNode(e.unref(E.CoTabGroup),{class:"props__tabs",value:J.value,onCoTabChange:p[24]||(p[24]=v=>J.value=w(v)||J.value)},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(l,v=>e.createVNode(e.unref(E.CoTab),{key:v.id,label:v.label,value:v.id,"icon-left":v.icon,size:"small"},null,8,["label","value","icon-left"])),64))]),_:1},8,["value"]),e.createElementVNode("div",Ul,[J.value==="layout"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(e.unref(E.CoCheckbox),{label:"Full width (span all columns)",checked:!!b.value.full,onCoChange:p[25]||(p[25]=v=>Y("full",w(v)))},null,8,["checked"]),e.createVNode(e.unref(E.CoCheckbox),{label:"Hidden",checked:!!b.value.hidden,onCoChange:p[26]||(p[26]=v=>Y("hidden",w(v)))},null,8,["checked"]),e.createVNode(e.unref(E.CoCheckbox),{label:"Disabled",checked:!!b.value.disabled||!!b.value.readOnly,onCoChange:p[27]||(p[27]=v=>Y("disabled",w(v)||void 0))},null,8,["checked"]),b.value.type==="String"?(e.openBlock(),e.createBlock(e.unref(E.CoSelect),{key:0,label:"Format",options:JSON.stringify(h),value:b.value.format||"",onCoChange:p[28]||(p[28]=v=>Y("format",w(v)||void 0))},null,8,["options","value"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),J.value==="logic"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(e.unref(E.CoInput),{label:"visibleIf",placeholder:"{type} == 'premium'",value:b.value.visibleIf||"",onCoInput:p[29]||(p[29]=v=>Y("visibleIf",w(v)||void 0))},null,8,["value"]),e.createVNode(e.unref(E.CoInput),{label:"enableIf",placeholder:"{accepted} == true",value:b.value.enableIf||"",onCoInput:p[30]||(p[30]=v=>Y("enableIf",w(v)||void 0))},null,8,["value"]),e.createVNode(e.unref(E.CoInput),{label:"requiredIf",placeholder:"{country} == 'US'",value:b.value.requiredIf||"",onCoInput:p[31]||(p[31]=v=>Y("requiredIf",w(v)||void 0))},null,8,["value"]),p[44]||(p[44]=e.createElementVNode("p",{class:"props__hint"},[e.createTextVNode(" Operators: "),e.createElementVNode("code",null,"== != > < >= <= contains && ||")],-1))],64)):e.createCommentVNode("",!0),J.value==="validation"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createVNode(e.unref(E.CoCheckbox),{label:"Required",checked:!!b.value.required,onCoChange:p[32]||(p[32]=v=>Y("required",w(v)))},null,8,["checked"]),b.value.type==="String"?(e.openBlock(),e.createBlock(e.unref(E.CoInput),{key:0,label:"Min length",type:"number",value:b.value.minLength??"",onCoInput:p[33]||(p[33]=v=>Y("minLength",te(w(v))))},null,8,["value"])):e.createCommentVNode("",!0),b.value.type==="String"?(e.openBlock(),e.createBlock(e.unref(E.CoInput),{key:1,label:"Max length",type:"number",value:b.value.maxLength??"",onCoInput:p[34]||(p[34]=v=>Y("maxLength",te(w(v))))},null,8,["value"])):e.createCommentVNode("",!0),b.value.type==="Number"?(e.openBlock(),e.createBlock(e.unref(E.CoInput),{key:2,label:"Min",type:"number",value:b.value.min??"",onCoInput:p[35]||(p[35]=v=>Y("min",te(w(v))))},null,8,["value"])):e.createCommentVNode("",!0),b.value.type==="Number"?(e.openBlock(),e.createBlock(e.unref(E.CoInput),{key:3,label:"Max",type:"number",value:b.value.max??"",onCoInput:p[36]||(p[36]=v=>Y("max",te(w(v))))},null,8,["value"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)])],64))]))}}),Hl=he(Xl,[["__scopeId","data-v-eefaf8de"]]),ql={class:"designer"},Jl={class:"designer__panel designer__panel--left"},Wl={class:"designer__canvas"},Gl={class:"designer__panel designer__panel--right"},Zl=e.defineComponent({__name:"DesignerTab",setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock("div",ql,[e.createElementVNode("aside",Jl,[e.createVNode($n)]),e.createElementVNode("section",Wl,[e.createVNode(wl)]),e.createElementVNode("aside",Gl,[e.createVNode(Hl)])]))}}),Ql=he(Zl,[["__scopeId","data-v-d8b2c553"]]),Kl={class:"json-tab"},ea={class:"json-tab__bar"},ta={key:0,class:"json-tab__err"},na=e.defineComponent({__name:"JsonTab",setup(t){const o=Ve(),n=e.ref(""),l=e.ref(null),a=e.computed(()=>JSON.stringify(o.exported,null,2));e.watch(a,u=>n.value=u,{immediate:!0});function i(){try{const u=JSON.parse(n.value);if(!u||typeof u!="object")throw new Error("Schema must be a JSON object");o.replaceAll(u),l.value=null}catch(u){l.value=u.message}}function s(){n.value=a.value,l.value=null}return(u,r)=>(e.openBlock(),e.createElementBlock("div",Kl,[e.createElementVNode("div",ea,[e.createVNode(e.unref(E.CoButton),{label:"Apply",variant:"primary",size:"s",onClick:i}),e.createVNode(e.unref(E.CoButton),{label:"Discard",variant:"stroke",size:"s",onClick:s}),l.value?(e.openBlock(),e.createElementBlock("span",ta,e.toDisplayString(l.value),1)):e.createCommentVNode("",!0),r[1]||(r[1]=e.createElementVNode("span",{class:"json-tab__hint"}," Plain editor — Monaco integration is a follow-up. ",-1))]),e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":r[0]||(r[0]=h=>n.value=h),class:"json-tab__area",spellcheck:"false"},null,512),[[e.vModelText,n.value]])]))}}),oa=he(na,[["__scopeId","data-v-6f8a102d"]]),la={class:"preview"},aa={class:"preview__pane preview__pane--form"},ra=["schema","theme"],ia=["schema","theme"],sa={class:"preview__pane preview__pane--side"},ua={key:0,class:"preview__json"},da={key:1,class:"preview__empty"},ca=e.defineComponent({__name:"PreviewTab",setup(t){const o=Ve(),n=e.computed(()=>o.exported),l=e.computed(()=>ge.isPagedSchema(n.value)),a=e.computed(()=>JSON.stringify(n.value)),i=e.computed(()=>{const r=Object.keys(o.data.theme).length>0?JSON.stringify(o.data.theme):void 0;return console.log("[PreviewTab] themeJson →",r,"rawTheme:",o.data.theme,"isPaged:",l.value),r}),s=e.ref(null);function u(r){const h=r.detail;s.value=h?.values??null}return(r,h)=>(e.openBlock(),e.createElementBlock("div",la,[e.createElementVNode("div",aa,[l.value?(e.openBlock(),e.createElementBlock("co-form-wizard",{key:a.value+(i.value??""),schema:a.value,theme:i.value,layout:"grid",columns:"1","on:coSubmit":u},null,40,ra)):(e.openBlock(),e.createElementBlock("co-form",{key:a.value+(i.value??""),schema:a.value,theme:i.value,layout:"grid",columns:"2","on:coSubmit":u},null,40,ia))]),e.createElementVNode("aside",sa,[h[0]||(h[0]=e.createElementVNode("div",{class:"preview__pane-head"},[e.createElementVNode("h3",{class:"preview__title"},"Last submit"),e.createElementVNode("p",{class:"preview__desc"},"Fill the form and press Submit to see the payload.")],-1)),s.value?(e.openBlock(),e.createElementBlock("pre",ua,e.toDisplayString(JSON.stringify(s.value,null,2)),1)):(e.openBlock(),e.createElementBlock("div",da,"No submissions yet."))])]))}}),pa=he(ca,[["__scopeId","data-v-275d3bfc"]]),fa={class:"shell"},ma={class:"shell__topbar"},va={key:0,class:"shell__brand"},ga={class:"shell__brand-title"},ha={class:"shell__tabs"},ba=["onClick"],ya={class:"shell__actions"},_a={class:"shell__content"},Ca=e.defineComponent({__name:"CobaltFormBuilder",props:{modelValue:{default:()=>({})},tabs:{default:()=>["designer","preview","json"]},hideBrand:{type:Boolean,default:!1},brandLabel:{default:"Cobalt Form Builder"},skipCobaltRegister:{type:Boolean,default:!1}},emits:["update:modelValue","event","field-added","field-removed","field-renamed","field-updated","field-duplicated","field-reordered","page-added","page-removed","page-duplicated","page-updated","theme-changed","selection-changed","schema-replaced","undo","redo"],setup(t,{emit:o}){const n=t,l=o,a={designer:{label:"Designer"},preview:{label:"Preview"},json:{label:"JSON Editor"}},i=e.computed(()=>n.tabs.map(d=>({id:d,label:a[d].label}))),s=e.ref(n.tabs[0]??"designer");let u=!1;const r=wn({initialSchema:n.modelValue,onEvent:d=>{l("event",d),l(d.type,d)}});e.provide(tn,r),e.watch(()=>r.exported,d=>{u||l("update:modelValue",d)},{deep:!0}),e.watch(()=>n.modelValue,d=>{if(!d)return;const c=JSON.stringify(d),k=JSON.stringify(r.exported);c!==k&&(u=!0,r.replaceAll(d),u=!1)},{deep:!0}),e.onMounted(()=>{n.skipCobaltRegister||(kn.defineCustomElements(),Sn.defineCustomElements()),window.addEventListener("keydown",h)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",h)});function h(d){if(d.key==="Escape"){const k=d.target;if(k?.isContentEditable||k?.tagName==="INPUT"||k?.tagName==="TEXTAREA"||k?.tagName==="SELECT"){k.blur();return}r.selection.fieldName!==null&&r.selectPage(r.selection.pageIdx);return}(d.metaKey||d.ctrlKey)&&(d.key==="z"&&!d.shiftKey?(d.preventDefault(),r.undo()):(d.key==="z"&&d.shiftKey||d.key==="y")&&(d.preventDefault(),r.redo()))}return(d,c)=>(e.openBlock(),e.createElementBlock("div",fa,[e.renderSlot(d.$slots,"before",{},void 0,!0),e.createElementVNode("header",ma,[e.renderSlot(d.$slots,"brand",{},()=>[t.hideBrand?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",va,[c[2]||(c[2]=e.createElementVNode("div",{class:"shell__brand-mark"},"CF",-1)),e.createElementVNode("h1",ga,e.toDisplayString(t.brandLabel),1)]))],!0),e.createElementVNode("nav",ha,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,k=>(e.openBlock(),e.createElementBlock("button",{key:k.id,class:e.normalizeClass(["shell__tab",{"is-active":s.value===k.id}]),onClick:C=>s.value=k.id},e.toDisplayString(k.label),11,ba))),128))]),e.createElementVNode("div",ya,[e.renderSlot(d.$slots,"actions",{store:e.unref(r)},()=>[e.createVNode(e.unref(E.CoIconButton),{icon:"arrow-counter-clockwise",variant:"outlined",size:"sm",label:"Undo (⌘Z)",disabled:!e.unref(r).canUndo,onClick:c[0]||(c[0]=k=>e.unref(r).undo())},null,8,["disabled"]),e.createVNode(e.unref(E.CoIconButton),{icon:"arrow-clockwise",variant:"outlined",size:"sm",label:"Redo (⌘⇧Z)",disabled:!e.unref(r).canRedo,onClick:c[1]||(c[1]=k=>e.unref(r).redo())},null,8,["disabled"])],!0)])]),e.createElementVNode("main",_a,[e.withDirectives(e.createVNode(Ql,null,null,512),[[e.vShow,s.value==="designer"]]),s.value==="preview"?(e.openBlock(),e.createBlock(pa,{key:0})):e.createCommentVNode("",!0),s.value==="json"?(e.openBlock(),e.createBlock(oa,{key:1})):e.createCommentVNode("",!0)]),e.renderSlot(d.$slots,"after",{store:e.unref(r)},void 0,!0)]))}}),Na=he(Ca,[["__scopeId","data-v-d5541509"]]);exports.CobaltFormBuilder=Na;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),E=require("@prolibu-suite/cobalt-vue"),po=require("@prolibu-suite/cobalt-core/loader"),mo=require("@prolibu-suite/cobalt-form/loader"),_e=require("@prolibu-suite/cobalt-form-core"),fo=50;function Pt(){return{title:"Untitled Form",description:"",mode:"form",pages:[{name:"page1",title:"Page 1",description:"",fields:{name:{type:"String",required:!0,label:"Nombre",full:!0},email:{type:"String",required:!0,format:"email",label:"Email"}}}],theme:{}}}const Yt={text:()=>({type:"String"}),textarea:()=>({type:"String",uiCom:"TextArea"}),number:()=>({type:"Number"}),date:()=>({type:"Date"}),phone:()=>({type:"String",uiCom:"PhoneWithIndicative",defaultCountry:"CO"}),boolean:()=>({type:"Boolean"}),select:()=>({type:"String",enum:["Option A","Option B"]}),ref:()=>({type:"ObjectId",ref:"Company",displayName:"name"}),rating:()=>({type:"Number",uiCom:"Rating",max:5}),slider:()=>({type:"Number",uiCom:"Slider",min:0,max:100}),color:()=>({type:"String",uiCom:"ColorPicker"}),section:()=>({uiCom:"Section"}),file:()=>({type:"String",uiCom:"File"}),ordering:()=>({type:"Array",uiCom:"Ordering",enum:["First item","Second item","Third item"]}),matching:()=>({type:"Object",uiCom:"Matching",matchLeft:["Term 1","Term 2"],matchRight:["Definition 1","Definition 2"]}),"image-choice":()=>({type:"String",uiCom:"ImageRadioGroup",enum:["Option A","Option B","Option C"],optionImages:["","",""]})};function rn(t){return t.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/_/g," ").toLowerCase().replace(/^./,o=>o.toUpperCase())}function Ze(t){return JSON.parse(JSON.stringify(t))}function vo(t={}){const o=t.onEvent??(()=>{}),n=e.ref(Pt()),l=e.ref({kind:"page",pageIdx:0,fieldName:null}),a=e.ref([]),s=e.ref([]),u=e.computed(()=>a.value.length>0),c=e.computed(()=>s.value.length>0),i=e.computed(()=>n.value.pages[l.value.pageIdx]??null),_=e.computed(()=>{const h=i.value,k=l.value.fieldName;return!h||!k?null:h.fields[k]??null});function v(h){l.value=h,o({type:"selection-changed",selection:h})}function p(h,k){v({kind:k?"field":"page",pageIdx:h,fieldName:k})}function y(h){v({kind:"page",pageIdx:h,fieldName:null})}function S(){v({...l.value,kind:"form"})}function N(){a.value.push(Ze(n.value)),a.value.length>fo&&a.value.shift(),s.value=[]}function m(){const h=a.value.pop();h&&(s.value.push(Ze(n.value)),n.value=h,B(),o({type:"undo"}))}function $(){const h=s.value.pop();h&&(a.value.push(Ze(n.value)),n.value=h,B(),o({type:"redo"}))}function B(){const h=Math.min(l.value.pageIdx,n.value.pages.length-1),k=n.value.pages[h],V=l.value.fieldName&&k?.fields[l.value.fieldName]?l.value.fieldName:null,T=l.value.kind==="form"?"form":V?"field":"page";l.value={kind:T,pageIdx:Math.max(h,0),fieldName:V}}function Z(h){h!==n.value.title&&(N(),n.value.title=h)}function j(h){h!==n.value.description&&(N(),n.value.description=h)}function le(h){h!==n.value.mode&&(N(),n.value.mode=h)}function q(){N();const h=n.value.pages.length+1;n.value.pages.push({name:`page${h}`,title:`Page ${h}`,description:"",fields:{}});const k=n.value.pages.length-1;y(k),o({type:"page-added",pageIdx:k})}function D(h){n.value.pages.length<=1||(N(),n.value.pages.splice(h,1),B(),o({type:"page-removed",pageIdx:h}))}function te(h){const k=n.value.pages[h];if(!k)return;N();const V=Ze(k);V.name=G(`${k.name}_copy`),V.title=`${k.title||k.name} (copy)`,n.value.pages.splice(h+1,0,V);const T=h+1;y(T),o({type:"page-duplicated",sourceIdx:h,newIdx:T})}function J(h,k){const V=n.value.pages[h];V&&(N(),Object.assign(V,k),o({type:"page-updated",pageIdx:h,patch:k}))}function G(h){const k=new Set(n.value.pages.map(T=>T.name));if(!k.has(h))return h;let V=1;for(;k.has(`${h}_${V}`);)V++;return`${h}_${V}`}function I(h,k){const V=n.value.pages[h];if(!V)return k;let T=k,Q=1;for(;T in V.fields;)T=`${k}_${Q++}`;return T}function z(h,k){return n.value.mode!=="quiz"?k:h==="select"?{...k,uiCom:"RadioGroup"}:k}function L(h,k=l.value.pageIdx){const V=n.value.pages[k];if(!V)return;const T=Yt[h]??(()=>({type:"String"})),Q=z(h,T()),H=I(k,h);if(H.startsWith("_"))throw new Error(`Reserved name "${H}"`);N(),V.fields={...V.fields,[H]:{...Q,label:rn(H)}},p(k,H),o({type:"field-added",pageIdx:k,fieldName:H,kind:h})}function W(h,k,V){const T=n.value.pages[h];if(!T)return;const Q=Yt[V]??(()=>({type:"String"})),H=z(V,Q()),ne=I(h,V);if(ne.startsWith("_"))throw new Error(`Reserved name "${ne}"`);N();const ie=Object.entries(T.fields),Be=ie.findIndex(([Tt])=>Tt===k),ut=[ne,{...H,label:rn(ne)}];Be===-1?ie.push(ut):ie.splice(Be+1,0,ut),T.fields=Object.fromEntries(ie),p(h,ne),o({type:"field-added",pageIdx:h,fieldName:ne,kind:V})}function U(h,k){const V=n.value.pages[h];if(!V||!(k in V.fields))return;N();const T={...V.fields};delete T[k],V.fields=T,l.value.pageIdx===h&&l.value.fieldName===k&&(l.value={kind:"page",pageIdx:h,fieldName:null}),o({type:"field-removed",pageIdx:h,fieldName:k})}function Y(h,k){const V=n.value.pages[h];if(!V||!(k in V.fields))return;N();const T=Ze(V.fields[k]),Q=I(h,`${k}_copy`),H={};for(const[ne,ie]of Object.entries(V.fields))H[ne]=ie,ne===k&&(H[Q]=T);V.fields=H,p(h,Q),o({type:"field-duplicated",pageIdx:h,sourceName:k,newName:Q})}function P(h,k,V){const T=n.value.pages[h];!T||!(k in T.fields)||(N(),T.fields={...T.fields,[k]:{...T.fields[k],...V}},o({type:"field-updated",pageIdx:h,fieldName:k,patch:V}))}function d(h,k,V){const T=n.value.pages[h];!T||!(k in T.fields)||(N(),T.fields={...T.fields,[k]:{...V}},o({type:"field-updated",pageIdx:h,fieldName:k,patch:V}))}function b(h,k,V){if(k===V)return;const T=n.value.pages[h];if(!T||!(k in T.fields))return;if(V in T.fields)throw new Error(`Field "${V}" already exists`);if(V.startsWith("_"))throw new Error(`Reserved name "${V}"`);N();const Q={};for(const[H,ne]of Object.entries(T.fields))Q[H===k?V:H]=ne;T.fields=Q,l.value.pageIdx===h&&l.value.fieldName===k&&(l.value={kind:"field",pageIdx:h,fieldName:V}),o({type:"field-renamed",pageIdx:h,oldName:k,newName:V})}function ve(h,k,V){const T=n.value.pages[h];if(!T)return;const Q=Object.keys(T.fields);if(k===V||k<0||k>=Q.length||V<0||V>=Q.length)return;N();const[H]=Q.splice(k,1);Q.splice(V,0,H);const ne={};for(const ie of Q)ne[ie]=T.fields[ie];T.fields=ne,o({type:"field-reordered",pageIdx:h,order:Q})}function Pe(h,k){const V=n.value.pages[h];if(!V)return;const T=Object.keys(V.fields);if(k.length!==T.length)return;for(const H of k)if(!T.includes(H))return;if(T.every((H,ne)=>H===k[ne]))return;N();const Q={};for(const H of k)Q[H]=V.fields[H];V.fields=Q,o({type:"field-reordered",pageIdx:h,order:k})}const xe=e.computed(()=>_e.resolveTheme(n.value.theme));function xt(h){N(),n.value.theme={...n.value.theme,...h},o({type:"theme-changed",theme:n.value.theme})}function Bt(h,k){N();const V=n.value.theme[h]??{};n.value.theme={...n.value.theme,[h]:{...V,...k}},o({type:"theme-changed",theme:n.value.theme})}function It(){N(),n.value.theme={},o({type:"theme-changed",theme:n.value.theme})}function Dt(h){if(N(),_e.isPagedSchema(h)){const k=_e.toPagedSchema(h);n.value={title:h.title||n.value.title,description:h.description||"",mode:k.mode||"form",pages:k.pages.map(V=>({name:V.name,title:V.title,description:V.description,visibleIf:V.visibleIf,hideTitle:V.hideTitle,hideDescription:V.hideDescription,fields:V.fields})),theme:k.theme||{}}}else n.value={...Pt(),pages:[{name:"page1",title:"Page 1",description:"",fields:h}]};l.value={kind:"page",pageIdx:0,fieldName:null},o({type:"schema-replaced"})}const Re=e.computed(()=>{const h=Object.keys(n.value.theme).length>0;return n.value.pages.length===1&&!h?n.value.pages[0].fields:{title:n.value.title,...n.value.description?{description:n.value.description}:{},mode:n.value.mode,pages:n.value.pages.map(k=>({name:k.name,title:k.title,description:k.description,visibleIf:k.visibleIf,...k.hideTitle?{hideTitle:!0}:{},...k.hideDescription?{hideDescription:!0}:{},fields:k.fields})),...h?{theme:n.value.theme}:{}}});if(t.initialSchema&&Object.keys(t.initialSchema).length>0)if(_e.isPagedSchema(t.initialSchema)){const h=_e.toPagedSchema(t.initialSchema);n.value={title:t.initialSchema.title||(h.mode==="quiz"?"":"Untitled Form"),description:t.initialSchema.description||"",mode:h.mode||"form",pages:h.pages.map(k=>({name:k.name,title:k.title,description:k.description,visibleIf:k.visibleIf,hideTitle:k.hideTitle,hideDescription:k.hideDescription,fields:k.fields})),theme:h.theme||{}}}else n.value={...Pt(),pages:[{name:"page1",title:"Page 1",description:"",fields:t.initialSchema}]};return e.reactive({data:n,selection:l,currentPage:i,selectedField:_,canUndo:u,canRedo:c,exported:Re,resolvedTheme:xe,selectField:p,selectPage:y,selectForm:S,undo:m,redo:$,setTitle:Z,setDescription:j,setMode:le,setTheme:xt,setThemeSection:Bt,resetTheme:It,addPage:q,removePage:D,duplicatePage:te,updatePage:J,addField:L,insertFieldAfter:W,removeField:U,duplicateField:Y,updateField:P,replaceFieldDef:d,renameField:b,moveField:ve,reorderFieldsByNames:Pe,replaceAll:Dt})}const wn=Symbol("CobaltFormBuilder.schemaStore");function Se(){const t=e.inject(wn);if(!t)throw new Error("[cobalt-form-builder] useSchemaStore() must be called inside a <CobaltFormBuilder>. Make sure the component lives in the builder subtree, or call createSchemaStore() and provide it yourself.");return t}const M=[{id:"text",label:"Single-line input",group:"inputs",aliases:["text","string"],icon:"text-aa",quizAllowed:!0,quizLabel:"Short Answer"},{id:"textarea",label:"Multi-line text",group:"inputs",aliases:["textarea","comment"],icon:"text-align-left",quizAllowed:!0,quizLabel:"Long Answer"},{id:"number",label:"Number",group:"inputs",aliases:["integer","numeric"],icon:"hash",quizAllowed:!0,quizLabel:"Numeric Answer"},{id:"date",label:"Date",group:"inputs",aliases:["calendar"],icon:"calendar"},{id:"phone",label:"Phone",group:"inputs",aliases:["tel","telephone","indicative","PhoneWithIndicative"],icon:"phone"},{id:"boolean",label:"Yes / No",group:"choices",aliases:["switch","toggle"],icon:"toggle-left",quizAllowed:!0,quizLabel:"True / False"},{id:"select",label:"Dropdown",group:"choices",aliases:["dropdown","enum","multiple choice"],icon:"caret-circle-down",quizAllowed:!0,quizLabel:"Multiple Choice"},{id:"ordering",label:"Ordering",group:"choices",aliases:["rank","sequence","sort","order"],icon:"sort-ascending",quizAllowed:!0,quizLabel:"Ordering"},{id:"matching",label:"Matching",group:"choices",aliases:["pair","connect","match"],icon:"arrows-left-right",quizAllowed:!0,quizLabel:"Matching"},{id:"image-choice",label:"Image choice",group:"choices",aliases:["image","picture","photo"],icon:"image-square",quizAllowed:!0,quizLabel:"Image Choice"},{id:"ref",label:"Reference",group:"choices",aliases:["lookup","model"],icon:"link"},{id:"rating",label:"Rating scale",group:"advanced",aliases:["stars","score"],icon:"star",quizAllowed:!0,quizLabel:"Rating Scale"},{id:"slider",label:"Slider",group:"advanced",aliases:["range"],icon:"sliders-horizontal"},{id:"color",label:"Color picker",group:"advanced",aliases:["hex","palette"],icon:"palette"},{id:"file",label:"File upload",group:"advanced",aliases:["attachment"],icon:"paperclip",quizAllowed:!0,quizLabel:"File Upload"},{id:"section",label:"Section divider",group:"layout",aliases:["header","group"],icon:"minus",quizAllowed:!0}],go={inputs:"Inputs",choices:"Choices",advanced:"Advanced",layout:"Layout"},ho={class:"toolbox"},bo={class:"toolbox__search"},yo={class:"toolbox__scroll"},_o={key:0,class:"toolbox__empty"},ko={class:"toolbox__group-label"},Co={class:"toolbox__list"},Eo=["onDragstart"],No=e.defineComponent({__name:"FieldToolbox",setup(t){const o=Se(),n=e.ref(""),l=e.computed(()=>{const c=n.value.trim().toLowerCase(),i=o.data.mode==="quiz",_=i?M.filter(y=>y.quizAllowed):M,v=c?_.filter(y=>(i&&y.quizLabel?y.quizLabel:y.label).toLowerCase().includes(c)||y.id.toLowerCase().includes(c)?!0:(y.aliases||[]).some(N=>N.toLowerCase().includes(c))):_,p={};for(const y of v)p[y.group]||(p[y.group]={id:y.group,label:go[y.group],items:[]}),p[y.group].items.push(y);return Object.values(p)});function a(c,i){c.dataTransfer&&(c.dataTransfer.setData("application/cobalt-field-kind",i),c.dataTransfer.effectAllowed="copy")}function s(c){o.addField(c)}function u(c){const i=c.detail;return i!=null&&typeof i=="object"&&"value"in i?i.value:i}return(c,i)=>(e.openBlock(),e.createElementBlock("div",ho,[e.unref(o).data.mode!=="quiz"?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(["toolbox__form-btn",{"is-active":e.unref(o).selection.kind==="form"}]),onClick:i[0]||(i[0]=_=>e.unref(o).selectForm())},[...i[2]||(i[2]=[e.createStaticVNode('<span class="toolbox__form-btn-icon" data-v-59f79808><co-icon name="paint-brush" size="16" data-v-59f79808></co-icon></span><span class="toolbox__form-btn-body" data-v-59f79808><span class="toolbox__form-btn-label" data-v-59f79808>Theme</span><span class="toolbox__form-btn-sub" data-v-59f79808>Global form settings</span></span><co-icon name="caret-right" size="14" data-v-59f79808></co-icon>',3)])],2)):e.createCommentVNode("",!0),e.createElementVNode("div",bo,[e.createVNode(e.unref(E.CoInput),{placeholder:"Type to search…","icon-left":"magnifying-glass",value:n.value,onCoInput:i[1]||(i[1]=_=>n.value=u(_)??"")},null,8,["value"])]),e.createElementVNode("div",yo,[l.value.length===0?(e.openBlock(),e.createElementBlock("div",_o,' No matches for "'+e.toDisplayString(n.value)+'" ',1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,_=>(e.openBlock(),e.createElementBlock("div",{key:_.id,class:"toolbox__group"},[e.createElementVNode("div",ko,e.toDisplayString(_.label),1),e.createElementVNode("ul",Co,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.items,v=>(e.openBlock(),e.createElementBlock("li",{key:v.id,draggable:"true",class:"toolbox__row",onDragstart:p=>a(p,v.id)},[e.createVNode(e.unref(E.CoListItem),{label:e.unref(o).data.mode==="quiz"&&v.quizLabel?v.quizLabel:v.label,icon:v.icon,dense:"",onCoSelect:p=>s(v.id)},null,8,["label","icon","onCoSelect"])],40,Eo))),128))])]))),128))])]))}}),ke=(t,o)=>{const n=t.__vccOpts||t;for(const[l,a]of o)n[l]=a;return n},wo=ke(No,[["__scopeId","data-v-59f79808"]]),So=["data-placeholder"],Vo=e.defineComponent({__name:"EditableText",props:{modelValue:{},placeholder:{},multiline:{type:Boolean},error:{type:Boolean}},emits:["update:modelValue"],setup(t,{emit:o}){const n=t,l=o,a=e.ref(null),s=e.ref(!1),u=e.ref(!1);e.watch(()=>n.modelValue,y=>{u.value=!!y,!s.value&&a.value&&a.value.innerText!==y&&(a.value.innerText=y)},{immediate:!0});function c(){u.value=!!(a.value&&a.value.innerText.trim())}function i(){if(!a.value)return;const y=a.value.innerText.replace(/\n+$/,"");y!==n.modelValue&&l("update:modelValue",y)}function _(){s.value=!1,i(),u.value=!!n.modelValue}function v(){s.value=!0}function p(y){!n.multiline&&y.key==="Enter"?(y.preventDefault(),y.target.blur()):y.key==="Escape"&&(a.value&&(a.value.innerText=n.modelValue),y.target.blur())}return(y,S)=>(e.openBlock(),e.createElementBlock("span",{ref_key:"el",ref:a,class:e.normalizeClass(["editable",{"is-empty":!u.value,"is-error":t.error}]),"data-placeholder":t.placeholder,contenteditable:"plaintext-only",spellcheck:"false",onInput:c,onBlur:_,onFocus:v,onKeydown:p},e.toDisplayString(t.modelValue),43,So))}}),Ge=ke(Vo,[["__scopeId","data-v-a14cc582"]]);var xo=Object.defineProperty,kt=Object.getOwnPropertySymbols,Sn=Object.prototype.hasOwnProperty,Vn=Object.prototype.propertyIsEnumerable,sn=(t,o,n)=>o in t?xo(t,o,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[o]=n,Ye=(t,o)=>{for(var n in o||(o={}))Sn.call(o,n)&&sn(t,n,o[n]);if(kt)for(var n of kt(o))Vn.call(o,n)&&sn(t,n,o[n]);return t},xn=(t,o)=>{var n={};for(var l in t)Sn.call(t,l)&&o.indexOf(l)<0&&(n[l]=t[l]);if(t!=null&&kt)for(var l of kt(t))o.indexOf(l)<0&&Vn.call(t,l)&&(n[l]=t[l]);return n};const Bn="[vue-draggable-plus]: ";function Bo(t){console.warn(Bn+t)}function Io(t){console.error(Bn+t)}function un(t,o,n){return n>=0&&n<t.length&&t.splice(n,0,t.splice(o,1)[0]),t}function Do(t){return t.replace(/-(\w)/g,(o,n)=>n?n.toUpperCase():"")}function To(t){return Object.keys(t).reduce((o,n)=>(typeof t[n]<"u"&&(o[Do(n)]=t[n]),o),{})}function cn(t,o){return Array.isArray(t)&&t.splice(o,1),t}function dn(t,o,n){return Array.isArray(t)&&t.splice(o,0,n),t}function Oo(t){return typeof t>"u"}function Ao(t){return typeof t=="string"}function pn(t,o,n){const l=t.children[n];t.insertBefore(o,l)}function Ft(t){t.parentNode&&t.parentNode.removeChild(t)}function Po(t,o=document){var n;let l=null;return typeof o?.querySelector=="function"?l=(n=o?.querySelector)==null?void 0:n.call(o,t):l=document.querySelector(t),l||Bo(`Element not found: ${t}`),l}function Fo(t,o,n=null){return function(...l){return t.apply(n,l),o.apply(n,l)}}function zo(t,o){const n=Ye({},t);return Object.keys(o).forEach(l=>{n[l]?n[l]=Fo(t[l],o[l]):n[l]=o[l]}),n}function $o(t){return t instanceof HTMLElement}function mn(t,o){Object.keys(t).forEach(n=>{o(n,t[n])})}function Mo(t){return t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97)}const Lo=Object.assign;function fn(t,o){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);o&&(l=l.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),n.push.apply(n,l)}return n}function Ee(t){for(var o=1;o<arguments.length;o++){var n=arguments[o]!=null?arguments[o]:{};o%2?fn(Object(n),!0).forEach(function(l){Ro(t,l,n[l])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):fn(Object(n)).forEach(function(l){Object.defineProperty(t,l,Object.getOwnPropertyDescriptor(n,l))})}return t}function gt(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?gt=function(o){return typeof o}:gt=function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},gt(t)}function Ro(t,o,n){return o in t?Object.defineProperty(t,o,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[o]=n,t}function we(){return we=Object.assign||function(t){for(var o=1;o<arguments.length;o++){var n=arguments[o];for(var l in n)Object.prototype.hasOwnProperty.call(n,l)&&(t[l]=n[l])}return t},we.apply(this,arguments)}function qo(t,o){if(t==null)return{};var n={},l=Object.keys(t),a,s;for(s=0;s<l.length;s++)a=l[s],!(o.indexOf(a)>=0)&&(n[a]=t[a]);return n}function jo(t,o){if(t==null)return{};var n=qo(t,o),l,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(a=0;a<s.length;a++)l=s[a],!(o.indexOf(l)>=0)&&Object.prototype.propertyIsEnumerable.call(t,l)&&(n[l]=t[l])}return n}var Uo="1.15.2";function Ne(t){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(t)}var Ve=Ne(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),it=Ne(/Edge/i),vn=Ne(/firefox/i),nt=Ne(/safari/i)&&!Ne(/chrome/i)&&!Ne(/android/i),In=Ne(/iP(ad|od|hone)/i),Dn=Ne(/chrome/i)&&Ne(/android/i),Tn={capture:!1,passive:!1};function X(t,o,n){t.addEventListener(o,n,!Ve&&Tn)}function R(t,o,n){t.removeEventListener(o,n,!Ve&&Tn)}function Ct(t,o){if(o){if(o[0]===">"&&(o=o.substring(1)),t)try{if(t.matches)return t.matches(o);if(t.msMatchesSelector)return t.msMatchesSelector(o);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(o)}catch{return!1}return!1}}function Xo(t){return t.host&&t!==document&&t.host.nodeType?t.host:t.parentNode}function ye(t,o,n,l){if(t){n=n||document;do{if(o!=null&&(o[0]===">"?t.parentNode===n&&Ct(t,o):Ct(t,o))||l&&t===n)return t;if(t===n)break}while(t=Xo(t))}return null}var gn=/\s+/g;function pe(t,o,n){if(t&&o)if(t.classList)t.classList[n?"add":"remove"](o);else{var l=(" "+t.className+" ").replace(gn," ").replace(" "+o+" "," ");t.className=(l+(n?" "+o:"")).replace(gn," ")}}function O(t,o,n){var l=t&&t.style;if(l){if(n===void 0)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(n=t.currentStyle),o===void 0?n:n[o];!(o in l)&&o.indexOf("webkit")===-1&&(o="-webkit-"+o),l[o]=n+(typeof n=="string"?"":"px")}}function Je(t,o){var n="";if(typeof t=="string")n=t;else do{var l=O(t,"transform");l&&l!=="none"&&(n=l+" "+n)}while(!o&&(t=t.parentNode));var a=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return a&&new a(n)}function On(t,o,n){if(t){var l=t.getElementsByTagName(o),a=0,s=l.length;if(n)for(;a<s;a++)n(l[a],a);return l}return[]}function Ce(){var t=document.scrollingElement;return t||document.documentElement}function re(t,o,n,l,a){if(!(!t.getBoundingClientRect&&t!==window)){var s,u,c,i,_,v,p;if(t!==window&&t.parentNode&&t!==Ce()?(s=t.getBoundingClientRect(),u=s.top,c=s.left,i=s.bottom,_=s.right,v=s.height,p=s.width):(u=0,c=0,i=window.innerHeight,_=window.innerWidth,v=window.innerHeight,p=window.innerWidth),(o||n)&&t!==window&&(a=a||t.parentNode,!Ve))do if(a&&a.getBoundingClientRect&&(O(a,"transform")!=="none"||n&&O(a,"position")!=="static")){var y=a.getBoundingClientRect();u-=y.top+parseInt(O(a,"border-top-width")),c-=y.left+parseInt(O(a,"border-left-width")),i=u+s.height,_=c+s.width;break}while(a=a.parentNode);if(l&&t!==window){var S=Je(a||t),N=S&&S.a,m=S&&S.d;S&&(u/=m,c/=N,p/=N,v/=m,i=u+v,_=c+p)}return{top:u,left:c,bottom:i,right:_,width:p,height:v}}}function hn(t,o,n){for(var l=Ae(t,!0),a=re(t)[o];l;){var s=re(l)[n],u=void 0;if(u=a>=s,!u)return l;if(l===Ce())break;l=Ae(l,!1)}return!1}function We(t,o,n,l){for(var a=0,s=0,u=t.children;s<u.length;){if(u[s].style.display!=="none"&&u[s]!==A.ghost&&(l||u[s]!==A.dragged)&&ye(u[s],n.draggable,t,!1)){if(a===o)return u[s];a++}s++}return null}function Zt(t,o){for(var n=t.lastElementChild;n&&(n===A.ghost||O(n,"display")==="none"||o&&!Ct(n,o));)n=n.previousElementSibling;return n||null}function he(t,o){var n=0;if(!t||!t.parentNode)return-1;for(;t=t.previousElementSibling;)t.nodeName.toUpperCase()!=="TEMPLATE"&&t!==A.clone&&(!o||Ct(t,o))&&n++;return n}function bn(t){var o=0,n=0,l=Ce();if(t)do{var a=Je(t),s=a.a,u=a.d;o+=t.scrollLeft*s,n+=t.scrollTop*u}while(t!==l&&(t=t.parentNode));return[o,n]}function Yo(t,o){for(var n in t)if(t.hasOwnProperty(n)){for(var l in o)if(o.hasOwnProperty(l)&&o[l]===t[n][l])return Number(n)}return-1}function Ae(t,o){if(!t||!t.getBoundingClientRect)return Ce();var n=t,l=!1;do if(n.clientWidth<n.scrollWidth||n.clientHeight<n.scrollHeight){var a=O(n);if(n.clientWidth<n.scrollWidth&&(a.overflowX=="auto"||a.overflowX=="scroll")||n.clientHeight<n.scrollHeight&&(a.overflowY=="auto"||a.overflowY=="scroll")){if(!n.getBoundingClientRect||n===document.body)return Ce();if(l||o)return n;l=!0}}while(n=n.parentNode);return Ce()}function Ho(t,o){if(t&&o)for(var n in o)o.hasOwnProperty(n)&&(t[n]=o[n]);return t}function zt(t,o){return Math.round(t.top)===Math.round(o.top)&&Math.round(t.left)===Math.round(o.left)&&Math.round(t.height)===Math.round(o.height)&&Math.round(t.width)===Math.round(o.width)}var ot;function An(t,o){return function(){if(!ot){var n=arguments,l=this;n.length===1?t.call(l,n[0]):t.apply(l,n),ot=setTimeout(function(){ot=void 0},o)}}}function Jo(){clearTimeout(ot),ot=void 0}function Pn(t,o,n){t.scrollLeft+=o,t.scrollTop+=n}function Fn(t){var o=window.Polymer,n=window.jQuery||window.Zepto;return o&&o.dom?o.dom(t).cloneNode(!0):n?n(t).clone(!0)[0]:t.cloneNode(!0)}function zn(t,o,n){var l={};return Array.from(t.children).forEach(function(a){var s,u,c,i;if(!(!ye(a,o.draggable,t,!1)||a.animated||a===n)){var _=re(a);l.left=Math.min((s=l.left)!==null&&s!==void 0?s:1/0,_.left),l.top=Math.min((u=l.top)!==null&&u!==void 0?u:1/0,_.top),l.right=Math.max((c=l.right)!==null&&c!==void 0?c:-1/0,_.right),l.bottom=Math.max((i=l.bottom)!==null&&i!==void 0?i:-1/0,_.bottom)}}),l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}var fe="Sortable"+new Date().getTime();function Go(){var t=[],o;return{captureAnimationState:function(){if(t=[],!!this.options.animation){var n=[].slice.call(this.el.children);n.forEach(function(l){if(!(O(l,"display")==="none"||l===A.ghost)){t.push({target:l,rect:re(l)});var a=Ee({},t[t.length-1].rect);if(l.thisAnimationDuration){var s=Je(l,!0);s&&(a.top-=s.f,a.left-=s.e)}l.fromRect=a}})}},addAnimationState:function(n){t.push(n)},removeAnimationState:function(n){t.splice(Yo(t,{target:n}),1)},animateAll:function(n){var l=this;if(!this.options.animation){clearTimeout(o),typeof n=="function"&&n();return}var a=!1,s=0;t.forEach(function(u){var c=0,i=u.target,_=i.fromRect,v=re(i),p=i.prevFromRect,y=i.prevToRect,S=u.rect,N=Je(i,!0);N&&(v.top-=N.f,v.left-=N.e),i.toRect=v,i.thisAnimationDuration&&zt(p,v)&&!zt(_,v)&&(S.top-v.top)/(S.left-v.left)===(_.top-v.top)/(_.left-v.left)&&(c=Qo(S,p,y,l.options)),zt(v,_)||(i.prevFromRect=_,i.prevToRect=v,c||(c=l.options.animation),l.animate(i,S,v,c)),c&&(a=!0,s=Math.max(s,c),clearTimeout(i.animationResetTimer),i.animationResetTimer=setTimeout(function(){i.animationTime=0,i.prevFromRect=null,i.fromRect=null,i.prevToRect=null,i.thisAnimationDuration=null},c),i.thisAnimationDuration=c)}),clearTimeout(o),a?o=setTimeout(function(){typeof n=="function"&&n()},s):typeof n=="function"&&n(),t=[]},animate:function(n,l,a,s){if(s){O(n,"transition",""),O(n,"transform","");var u=Je(this.el),c=u&&u.a,i=u&&u.d,_=(l.left-a.left)/(c||1),v=(l.top-a.top)/(i||1);n.animatingX=!!_,n.animatingY=!!v,O(n,"transform","translate3d("+_+"px,"+v+"px,0)"),this.forRepaintDummy=Wo(n),O(n,"transition","transform "+s+"ms"+(this.options.easing?" "+this.options.easing:"")),O(n,"transform","translate3d(0,0,0)"),typeof n.animated=="number"&&clearTimeout(n.animated),n.animated=setTimeout(function(){O(n,"transition",""),O(n,"transform",""),n.animated=!1,n.animatingX=!1,n.animatingY=!1},s)}}}}function Wo(t){return t.offsetWidth}function Qo(t,o,n,l){return Math.sqrt(Math.pow(o.top-t.top,2)+Math.pow(o.left-t.left,2))/Math.sqrt(Math.pow(o.top-n.top,2)+Math.pow(o.left-n.left,2))*l.animation}var je=[],$t={initializeByDefault:!0},st={mount:function(t){for(var o in $t)$t.hasOwnProperty(o)&&!(o in t)&&(t[o]=$t[o]);je.forEach(function(n){if(n.pluginName===t.pluginName)throw"Sortable: Cannot mount plugin ".concat(t.pluginName," more than once")}),je.push(t)},pluginEvent:function(t,o,n){var l=this;this.eventCanceled=!1,n.cancel=function(){l.eventCanceled=!0};var a=t+"Global";je.forEach(function(s){o[s.pluginName]&&(o[s.pluginName][a]&&o[s.pluginName][a](Ee({sortable:o},n)),o.options[s.pluginName]&&o[s.pluginName][t]&&o[s.pluginName][t](Ee({sortable:o},n)))})},initializePlugins:function(t,o,n,l){je.forEach(function(u){var c=u.pluginName;if(!(!t.options[c]&&!u.initializeByDefault)){var i=new u(t,o,t.options);i.sortable=t,i.options=t.options,t[c]=i,we(n,i.defaults)}});for(var a in t.options)if(t.options.hasOwnProperty(a)){var s=this.modifyOption(t,a,t.options[a]);typeof s<"u"&&(t.options[a]=s)}},getEventProperties:function(t,o){var n={};return je.forEach(function(l){typeof l.eventProperties=="function"&&we(n,l.eventProperties.call(o[l.pluginName],t))}),n},modifyOption:function(t,o,n){var l;return je.forEach(function(a){t[a.pluginName]&&a.optionListeners&&typeof a.optionListeners[o]=="function"&&(l=a.optionListeners[o].call(t[a.pluginName],n))}),l}};function Zo(t){var o=t.sortable,n=t.rootEl,l=t.name,a=t.targetEl,s=t.cloneEl,u=t.toEl,c=t.fromEl,i=t.oldIndex,_=t.newIndex,v=t.oldDraggableIndex,p=t.newDraggableIndex,y=t.originalEvent,S=t.putSortable,N=t.extraEventProperties;if(o=o||n&&n[fe],!!o){var m,$=o.options,B="on"+l.charAt(0).toUpperCase()+l.substr(1);window.CustomEvent&&!Ve&&!it?m=new CustomEvent(l,{bubbles:!0,cancelable:!0}):(m=document.createEvent("Event"),m.initEvent(l,!0,!0)),m.to=u||n,m.from=c||n,m.item=a||n,m.clone=s,m.oldIndex=i,m.newIndex=_,m.oldDraggableIndex=v,m.newDraggableIndex=p,m.originalEvent=y,m.pullMode=S?S.lastPutMode:void 0;var Z=Ee(Ee({},N),st.getEventProperties(l,o));for(var j in Z)m[j]=Z[j];n&&n.dispatchEvent(m),$[B]&&$[B].call(o,m)}}var Ko=["evt"],de=function(t,o){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},l=n.evt,a=jo(n,Ko);st.pluginEvent.bind(A)(t,o,Ee({dragEl:w,parentEl:oe,ghostEl:F,rootEl:K,nextEl:Le,lastDownEl:ht,cloneEl:ee,cloneHidden:Oe,dragStarted:Ke,putSortable:se,activeSortable:A.active,originalEvent:l,oldIndex:He,oldDraggableIndex:lt,newIndex:me,newDraggableIndex:Te,hideGhostForTarget:Rn,unhideGhostForTarget:qn,cloneNowHidden:function(){Oe=!0},cloneNowShown:function(){Oe=!1},dispatchSortableEvent:function(s){ce({sortable:o,name:s,originalEvent:l})}},a))};function ce(t){Zo(Ee({putSortable:se,cloneEl:ee,targetEl:w,rootEl:K,oldIndex:He,oldDraggableIndex:lt,newIndex:me,newDraggableIndex:Te},t))}var w,oe,F,K,Le,ht,ee,Oe,He,me,lt,Te,pt,se,Xe=!1,Et=!1,Nt=[],$e,be,Mt,Lt,yn,_n,Ke,Ue,at,rt=!1,mt=!1,bt,ue,Rt=[],Ht=!1,wt=[],Vt=typeof document<"u",ft=In,kn=it||Ve?"cssFloat":"float",el=Vt&&!Dn&&!In&&"draggable"in document.createElement("div"),$n=(function(){if(Vt){if(Ve)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto",t.style.pointerEvents==="auto"}})(),Mn=function(t,o){var n=O(t),l=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),a=We(t,0,o),s=We(t,1,o),u=a&&O(a),c=s&&O(s),i=u&&parseInt(u.marginLeft)+parseInt(u.marginRight)+re(a).width,_=c&&parseInt(c.marginLeft)+parseInt(c.marginRight)+re(s).width;if(n.display==="flex")return n.flexDirection==="column"||n.flexDirection==="column-reverse"?"vertical":"horizontal";if(n.display==="grid")return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(a&&u.float&&u.float!=="none"){var v=u.float==="left"?"left":"right";return s&&(c.clear==="both"||c.clear===v)?"vertical":"horizontal"}return a&&(u.display==="block"||u.display==="flex"||u.display==="table"||u.display==="grid"||i>=l&&n[kn]==="none"||s&&n[kn]==="none"&&i+_>l)?"vertical":"horizontal"},tl=function(t,o,n){var l=n?t.left:t.top,a=n?t.right:t.bottom,s=n?t.width:t.height,u=n?o.left:o.top,c=n?o.right:o.bottom,i=n?o.width:o.height;return l===u||a===c||l+s/2===u+i/2},nl=function(t,o){var n;return Nt.some(function(l){var a=l[fe].options.emptyInsertThreshold;if(!(!a||Zt(l))){var s=re(l),u=t>=s.left-a&&t<=s.right+a,c=o>=s.top-a&&o<=s.bottom+a;if(u&&c)return n=l}}),n},Ln=function(t){function o(a,s){return function(u,c,i,_){var v=u.options.group.name&&c.options.group.name&&u.options.group.name===c.options.group.name;if(a==null&&(s||v))return!0;if(a==null||a===!1)return!1;if(s&&a==="clone")return a;if(typeof a=="function")return o(a(u,c,i,_),s)(u,c,i,_);var p=(s?u:c).options.group.name;return a===!0||typeof a=="string"&&a===p||a.join&&a.indexOf(p)>-1}}var n={},l=t.group;(!l||gt(l)!="object")&&(l={name:l}),n.name=l.name,n.checkPull=o(l.pull,!0),n.checkPut=o(l.put),n.revertClone=l.revertClone,t.group=n},Rn=function(){!$n&&F&&O(F,"display","none")},qn=function(){!$n&&F&&O(F,"display","")};Vt&&!Dn&&document.addEventListener("click",function(t){if(Et)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),Et=!1,!1},!0);var Me=function(t){if(w){t=t.touches?t.touches[0]:t;var o=nl(t.clientX,t.clientY);if(o){var n={};for(var l in t)t.hasOwnProperty(l)&&(n[l]=t[l]);n.target=n.rootEl=o,n.preventDefault=void 0,n.stopPropagation=void 0,o[fe]._onDragOver(n)}}},ol=function(t){w&&w.parentNode[fe]._isOutsideThisEl(t.target)};function A(t,o){if(!(t&&t.nodeType&&t.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=o=we({},o),t[fe]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Mn(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(s,u){s.setData("Text",u.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:A.supportPointer!==!1&&"PointerEvent"in window&&!nt,emptyInsertThreshold:5};st.initializePlugins(this,t,n);for(var l in n)!(l in o)&&(o[l]=n[l]);Ln(o);for(var a in this)a.charAt(0)==="_"&&typeof this[a]=="function"&&(this[a]=this[a].bind(this));this.nativeDraggable=o.forceFallback?!1:el,this.nativeDraggable&&(this.options.touchStartThreshold=1),o.supportPointer?X(t,"pointerdown",this._onTapStart):(X(t,"mousedown",this._onTapStart),X(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(X(t,"dragover",this),X(t,"dragenter",this)),Nt.push(this.el),o.store&&o.store.get&&this.sort(o.store.get(this)||[]),we(this,Go())}A.prototype={constructor:A,_isOutsideThisEl:function(t){!this.el.contains(t)&&t!==this.el&&(Ue=null)},_getDirection:function(t,o){return typeof this.options.direction=="function"?this.options.direction.call(this,t,o,w):this.options.direction},_onTapStart:function(t){if(t.cancelable){var o=this,n=this.el,l=this.options,a=l.preventOnFilter,s=t.type,u=t.touches&&t.touches[0]||t.pointerType&&t.pointerType==="touch"&&t,c=(u||t).target,i=t.target.shadowRoot&&(t.path&&t.path[0]||t.composedPath&&t.composedPath()[0])||c,_=l.filter;if(dl(n),!w&&!(/mousedown|pointerdown/.test(s)&&t.button!==0||l.disabled)&&!i.isContentEditable&&!(!this.nativeDraggable&&nt&&c&&c.tagName.toUpperCase()==="SELECT")&&(c=ye(c,l.draggable,n,!1),!(c&&c.animated)&&ht!==c)){if(He=he(c),lt=he(c,l.draggable),typeof _=="function"){if(_.call(this,t,c,this)){ce({sortable:o,rootEl:i,name:"filter",targetEl:c,toEl:n,fromEl:n}),de("filter",o,{evt:t}),a&&t.cancelable&&t.preventDefault();return}}else if(_&&(_=_.split(",").some(function(v){if(v=ye(i,v.trim(),n,!1),v)return ce({sortable:o,rootEl:v,name:"filter",targetEl:c,fromEl:n,toEl:n}),de("filter",o,{evt:t}),!0}),_)){a&&t.cancelable&&t.preventDefault();return}l.handle&&!ye(i,l.handle,n,!1)||this._prepareDragStart(t,u,c)}}},_prepareDragStart:function(t,o,n){var l=this,a=l.el,s=l.options,u=a.ownerDocument,c;if(n&&!w&&n.parentNode===a){var i=re(n);if(K=a,w=n,oe=w.parentNode,Le=w.nextSibling,ht=n,pt=s.group,A.dragged=w,$e={target:w,clientX:(o||t).clientX,clientY:(o||t).clientY},yn=$e.clientX-i.left,_n=$e.clientY-i.top,this._lastX=(o||t).clientX,this._lastY=(o||t).clientY,w.style["will-change"]="all",c=function(){if(de("delayEnded",l,{evt:t}),A.eventCanceled){l._onDrop();return}l._disableDelayedDragEvents(),!vn&&l.nativeDraggable&&(w.draggable=!0),l._triggerDragStart(t,o),ce({sortable:l,name:"choose",originalEvent:t}),pe(w,s.chosenClass,!0)},s.ignore.split(",").forEach(function(_){On(w,_.trim(),qt)}),X(u,"dragover",Me),X(u,"mousemove",Me),X(u,"touchmove",Me),X(u,"mouseup",l._onDrop),X(u,"touchend",l._onDrop),X(u,"touchcancel",l._onDrop),vn&&this.nativeDraggable&&(this.options.touchStartThreshold=4,w.draggable=!0),de("delayStart",this,{evt:t}),s.delay&&(!s.delayOnTouchOnly||o)&&(!this.nativeDraggable||!(it||Ve))){if(A.eventCanceled){this._onDrop();return}X(u,"mouseup",l._disableDelayedDrag),X(u,"touchend",l._disableDelayedDrag),X(u,"touchcancel",l._disableDelayedDrag),X(u,"mousemove",l._delayedDragTouchMoveHandler),X(u,"touchmove",l._delayedDragTouchMoveHandler),s.supportPointer&&X(u,"pointermove",l._delayedDragTouchMoveHandler),l._dragStartTimer=setTimeout(c,s.delay)}else c()}},_delayedDragTouchMoveHandler:function(t){var o=t.touches?t.touches[0]:t;Math.max(Math.abs(o.clientX-this._lastX),Math.abs(o.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){w&&qt(w),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;R(t,"mouseup",this._disableDelayedDrag),R(t,"touchend",this._disableDelayedDrag),R(t,"touchcancel",this._disableDelayedDrag),R(t,"mousemove",this._delayedDragTouchMoveHandler),R(t,"touchmove",this._delayedDragTouchMoveHandler),R(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,o){o=o||t.pointerType=="touch"&&t,!this.nativeDraggable||o?this.options.supportPointer?X(document,"pointermove",this._onTouchMove):o?X(document,"touchmove",this._onTouchMove):X(document,"mousemove",this._onTouchMove):(X(w,"dragend",this),X(K,"dragstart",this._onDragStart));try{document.selection?yt(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(t,o){if(Xe=!1,K&&w){de("dragStarted",this,{evt:o}),this.nativeDraggable&&X(document,"dragover",ol);var n=this.options;!t&&pe(w,n.dragClass,!1),pe(w,n.ghostClass,!0),A.active=this,t&&this._appendGhost(),ce({sortable:this,name:"start",originalEvent:o})}else this._nulling()},_emulateDragOver:function(){if(be){this._lastX=be.clientX,this._lastY=be.clientY,Rn();for(var t=document.elementFromPoint(be.clientX,be.clientY),o=t;t&&t.shadowRoot&&(t=t.shadowRoot.elementFromPoint(be.clientX,be.clientY),t!==o);)o=t;if(w.parentNode[fe]._isOutsideThisEl(t),o)do{if(o[fe]){var n=void 0;if(n=o[fe]._onDragOver({clientX:be.clientX,clientY:be.clientY,target:t,rootEl:o}),n&&!this.options.dragoverBubble)break}t=o}while(o=o.parentNode);qn()}},_onTouchMove:function(t){if($e){var o=this.options,n=o.fallbackTolerance,l=o.fallbackOffset,a=t.touches?t.touches[0]:t,s=F&&Je(F,!0),u=F&&s&&s.a,c=F&&s&&s.d,i=ft&&ue&&bn(ue),_=(a.clientX-$e.clientX+l.x)/(u||1)+(i?i[0]-Rt[0]:0)/(u||1),v=(a.clientY-$e.clientY+l.y)/(c||1)+(i?i[1]-Rt[1]:0)/(c||1);if(!A.active&&!Xe){if(n&&Math.max(Math.abs(a.clientX-this._lastX),Math.abs(a.clientY-this._lastY))<n)return;this._onDragStart(t,!0)}if(F){s?(s.e+=_-(Mt||0),s.f+=v-(Lt||0)):s={a:1,b:0,c:0,d:1,e:_,f:v};var p="matrix(".concat(s.a,",").concat(s.b,",").concat(s.c,",").concat(s.d,",").concat(s.e,",").concat(s.f,")");O(F,"webkitTransform",p),O(F,"mozTransform",p),O(F,"msTransform",p),O(F,"transform",p),Mt=_,Lt=v,be=a}t.cancelable&&t.preventDefault()}},_appendGhost:function(){if(!F){var t=this.options.fallbackOnBody?document.body:K,o=re(w,!0,ft,!0,t),n=this.options;if(ft){for(ue=t;O(ue,"position")==="static"&&O(ue,"transform")==="none"&&ue!==document;)ue=ue.parentNode;ue!==document.body&&ue!==document.documentElement?(ue===document&&(ue=Ce()),o.top+=ue.scrollTop,o.left+=ue.scrollLeft):ue=Ce(),Rt=bn(ue)}F=w.cloneNode(!0),pe(F,n.ghostClass,!1),pe(F,n.fallbackClass,!0),pe(F,n.dragClass,!0),O(F,"transition",""),O(F,"transform",""),O(F,"box-sizing","border-box"),O(F,"margin",0),O(F,"top",o.top),O(F,"left",o.left),O(F,"width",o.width),O(F,"height",o.height),O(F,"opacity","0.8"),O(F,"position",ft?"absolute":"fixed"),O(F,"zIndex","100000"),O(F,"pointerEvents","none"),A.ghost=F,t.appendChild(F),O(F,"transform-origin",yn/parseInt(F.style.width)*100+"% "+_n/parseInt(F.style.height)*100+"%")}},_onDragStart:function(t,o){var n=this,l=t.dataTransfer,a=n.options;if(de("dragStart",this,{evt:t}),A.eventCanceled){this._onDrop();return}de("setupClone",this),A.eventCanceled||(ee=Fn(w),ee.removeAttribute("id"),ee.draggable=!1,ee.style["will-change"]="",this._hideClone(),pe(ee,this.options.chosenClass,!1),A.clone=ee),n.cloneId=yt(function(){de("clone",n),!A.eventCanceled&&(n.options.removeCloneOnHide||K.insertBefore(ee,w),n._hideClone(),ce({sortable:n,name:"clone"}))}),!o&&pe(w,a.dragClass,!0),o?(Et=!0,n._loopId=setInterval(n._emulateDragOver,50)):(R(document,"mouseup",n._onDrop),R(document,"touchend",n._onDrop),R(document,"touchcancel",n._onDrop),l&&(l.effectAllowed="move",a.setData&&a.setData.call(n,l,w)),X(document,"drop",n),O(w,"transform","translateZ(0)")),Xe=!0,n._dragStartId=yt(n._dragStarted.bind(n,o,t)),X(document,"selectstart",n),Ke=!0,nt&&O(document.body,"user-select","none")},_onDragOver:function(t){var o=this.el,n=t.target,l,a,s,u=this.options,c=u.group,i=A.active,_=pt===c,v=u.sort,p=se||i,y,S=this,N=!1;if(Ht)return;function m(d,b){de(d,S,Ee({evt:t,isOwner:_,axis:y?"vertical":"horizontal",revert:s,dragRect:l,targetRect:a,canSort:v,fromSortable:p,target:n,completed:B,onMove:function(ve,Pe){return vt(K,o,w,l,ve,re(ve),t,Pe)},changed:Z},b))}function $(){m("dragOverAnimationCapture"),S.captureAnimationState(),S!==p&&p.captureAnimationState()}function B(d){return m("dragOverCompleted",{insertion:d}),d&&(_?i._hideClone():i._showClone(S),S!==p&&(pe(w,se?se.options.ghostClass:i.options.ghostClass,!1),pe(w,u.ghostClass,!0)),se!==S&&S!==A.active?se=S:S===A.active&&se&&(se=null),p===S&&(S._ignoreWhileAnimating=n),S.animateAll(function(){m("dragOverAnimationComplete"),S._ignoreWhileAnimating=null}),S!==p&&(p.animateAll(),p._ignoreWhileAnimating=null)),(n===w&&!w.animated||n===o&&!n.animated)&&(Ue=null),!u.dragoverBubble&&!t.rootEl&&n!==document&&(w.parentNode[fe]._isOutsideThisEl(t.target),!d&&Me(t)),!u.dragoverBubble&&t.stopPropagation&&t.stopPropagation(),N=!0}function Z(){me=he(w),Te=he(w,u.draggable),ce({sortable:S,name:"change",toEl:o,newIndex:me,newDraggableIndex:Te,originalEvent:t})}if(t.preventDefault!==void 0&&t.cancelable&&t.preventDefault(),n=ye(n,u.draggable,o,!0),m("dragOver"),A.eventCanceled)return N;if(w.contains(t.target)||n.animated&&n.animatingX&&n.animatingY||S._ignoreWhileAnimating===n)return B(!1);if(Et=!1,i&&!u.disabled&&(_?v||(s=oe!==K):se===this||(this.lastPutMode=pt.checkPull(this,i,w,t))&&c.checkPut(this,i,w,t))){if(y=this._getDirection(t,n)==="vertical",l=re(w),m("dragOverValid"),A.eventCanceled)return N;if(s)return oe=K,$(),this._hideClone(),m("revert"),A.eventCanceled||(Le?K.insertBefore(w,Le):K.appendChild(w)),B(!0);var j=Zt(o,u.draggable);if(!j||il(t,y,this)&&!j.animated){if(j===w)return B(!1);if(j&&o===t.target&&(n=j),n&&(a=re(n)),vt(K,o,w,l,n,a,t,!!n)!==!1)return $(),j&&j.nextSibling?o.insertBefore(w,j.nextSibling):o.appendChild(w),oe=o,Z(),B(!0)}else if(j&&rl(t,y,this)){var le=We(o,0,u,!0);if(le===w)return B(!1);if(n=le,a=re(n),vt(K,o,w,l,n,a,t,!1)!==!1)return $(),o.insertBefore(w,le),oe=o,Z(),B(!0)}else if(n.parentNode===o){a=re(n);var q=0,D,te=w.parentNode!==o,J=!tl(w.animated&&w.toRect||l,n.animated&&n.toRect||a,y),G=y?"top":"left",I=hn(n,"top","top")||hn(w,"top","top"),z=I?I.scrollTop:void 0;Ue!==n&&(D=a[G],rt=!1,mt=!J&&u.invertSwap||te),q=sl(t,n,a,y,J?1:u.swapThreshold,u.invertedSwapThreshold==null?u.swapThreshold:u.invertedSwapThreshold,mt,Ue===n);var L;if(q!==0){var W=he(w);do W-=q,L=oe.children[W];while(L&&(O(L,"display")==="none"||L===F))}if(q===0||L===n)return B(!1);Ue=n,at=q;var U=n.nextElementSibling,Y=!1;Y=q===1;var P=vt(K,o,w,l,n,a,t,Y);if(P!==!1)return(P===1||P===-1)&&(Y=P===1),Ht=!0,setTimeout(al,30),$(),Y&&!U?o.appendChild(w):n.parentNode.insertBefore(w,Y?U:n),I&&Pn(I,0,z-I.scrollTop),oe=w.parentNode,D!==void 0&&!mt&&(bt=Math.abs(D-re(n)[G])),Z(),B(!0)}if(o.contains(w))return B(!1)}return!1},_ignoreWhileAnimating:null,_offMoveEvents:function(){R(document,"mousemove",this._onTouchMove),R(document,"touchmove",this._onTouchMove),R(document,"pointermove",this._onTouchMove),R(document,"dragover",Me),R(document,"mousemove",Me),R(document,"touchmove",Me)},_offUpEvents:function(){var t=this.el.ownerDocument;R(t,"mouseup",this._onDrop),R(t,"touchend",this._onDrop),R(t,"pointerup",this._onDrop),R(t,"touchcancel",this._onDrop),R(document,"selectstart",this)},_onDrop:function(t){var o=this.el,n=this.options;if(me=he(w),Te=he(w,n.draggable),de("drop",this,{evt:t}),oe=w&&w.parentNode,me=he(w),Te=he(w,n.draggable),A.eventCanceled){this._nulling();return}Xe=!1,mt=!1,rt=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),Jt(this.cloneId),Jt(this._dragStartId),this.nativeDraggable&&(R(document,"drop",this),R(o,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),nt&&O(document.body,"user-select",""),O(w,"transform",""),t&&(Ke&&(t.cancelable&&t.preventDefault(),!n.dropBubble&&t.stopPropagation()),F&&F.parentNode&&F.parentNode.removeChild(F),(K===oe||se&&se.lastPutMode!=="clone")&&ee&&ee.parentNode&&ee.parentNode.removeChild(ee),w&&(this.nativeDraggable&&R(w,"dragend",this),qt(w),w.style["will-change"]="",Ke&&!Xe&&pe(w,se?se.options.ghostClass:this.options.ghostClass,!1),pe(w,this.options.chosenClass,!1),ce({sortable:this,name:"unchoose",toEl:oe,newIndex:null,newDraggableIndex:null,originalEvent:t}),K!==oe?(me>=0&&(ce({rootEl:oe,name:"add",toEl:oe,fromEl:K,originalEvent:t}),ce({sortable:this,name:"remove",toEl:oe,originalEvent:t}),ce({rootEl:oe,name:"sort",toEl:oe,fromEl:K,originalEvent:t}),ce({sortable:this,name:"sort",toEl:oe,originalEvent:t})),se&&se.save()):me!==He&&me>=0&&(ce({sortable:this,name:"update",toEl:oe,originalEvent:t}),ce({sortable:this,name:"sort",toEl:oe,originalEvent:t})),A.active&&((me==null||me===-1)&&(me=He,Te=lt),ce({sortable:this,name:"end",toEl:oe,originalEvent:t}),this.save()))),this._nulling()},_nulling:function(){de("nulling",this),K=w=oe=F=Le=ee=ht=Oe=$e=be=Ke=me=Te=He=lt=Ue=at=se=pt=A.dragged=A.ghost=A.clone=A.active=null,wt.forEach(function(t){t.checked=!0}),wt.length=Mt=Lt=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":w&&(this._onDragOver(t),ll(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t=[],o,n=this.el.children,l=0,a=n.length,s=this.options;l<a;l++)o=n[l],ye(o,s.draggable,this.el,!1)&&t.push(o.getAttribute(s.dataIdAttr)||cl(o));return t},sort:function(t,o){var n={},l=this.el;this.toArray().forEach(function(a,s){var u=l.children[s];ye(u,this.options.draggable,l,!1)&&(n[a]=u)},this),o&&this.captureAnimationState(),t.forEach(function(a){n[a]&&(l.removeChild(n[a]),l.appendChild(n[a]))}),o&&this.animateAll()},save:function(){var t=this.options.store;t&&t.set&&t.set(this)},closest:function(t,o){return ye(t,o||this.options.draggable,this.el,!1)},option:function(t,o){var n=this.options;if(o===void 0)return n[t];var l=st.modifyOption(this,t,o);typeof l<"u"?n[t]=l:n[t]=o,t==="group"&&Ln(n)},destroy:function(){de("destroy",this);var t=this.el;t[fe]=null,R(t,"mousedown",this._onTapStart),R(t,"touchstart",this._onTapStart),R(t,"pointerdown",this._onTapStart),this.nativeDraggable&&(R(t,"dragover",this),R(t,"dragenter",this)),Array.prototype.forEach.call(t.querySelectorAll("[draggable]"),function(o){o.removeAttribute("draggable")}),this._onDrop(),this._disableDelayedDragEvents(),Nt.splice(Nt.indexOf(this.el),1),this.el=t=null},_hideClone:function(){if(!Oe){if(de("hideClone",this),A.eventCanceled)return;O(ee,"display","none"),this.options.removeCloneOnHide&&ee.parentNode&&ee.parentNode.removeChild(ee),Oe=!0}},_showClone:function(t){if(t.lastPutMode!=="clone"){this._hideClone();return}if(Oe){if(de("showClone",this),A.eventCanceled)return;w.parentNode==K&&!this.options.group.revertClone?K.insertBefore(ee,w):Le?K.insertBefore(ee,Le):K.appendChild(ee),this.options.group.revertClone&&this.animate(w,ee),O(ee,"display",""),Oe=!1}}};function ll(t){t.dataTransfer&&(t.dataTransfer.dropEffect="move"),t.cancelable&&t.preventDefault()}function vt(t,o,n,l,a,s,u,c){var i,_=t[fe],v=_.options.onMove,p;return window.CustomEvent&&!Ve&&!it?i=new CustomEvent("move",{bubbles:!0,cancelable:!0}):(i=document.createEvent("Event"),i.initEvent("move",!0,!0)),i.to=o,i.from=t,i.dragged=n,i.draggedRect=l,i.related=a||o,i.relatedRect=s||re(o),i.willInsertAfter=c,i.originalEvent=u,t.dispatchEvent(i),v&&(p=v.call(_,i,u)),p}function qt(t){t.draggable=!1}function al(){Ht=!1}function rl(t,o,n){var l=re(We(n.el,0,n.options,!0)),a=zn(n.el,n.options,F),s=10;return o?t.clientX<a.left-s||t.clientY<l.top&&t.clientX<l.right:t.clientY<a.top-s||t.clientY<l.bottom&&t.clientX<l.left}function il(t,o,n){var l=re(Zt(n.el,n.options.draggable)),a=zn(n.el,n.options,F),s=10;return o?t.clientX>a.right+s||t.clientY>l.bottom&&t.clientX>l.left:t.clientY>a.bottom+s||t.clientX>l.right&&t.clientY>l.top}function sl(t,o,n,l,a,s,u,c){var i=l?t.clientY:t.clientX,_=l?n.height:n.width,v=l?n.top:n.left,p=l?n.bottom:n.right,y=!1;if(!u){if(c&&bt<_*a){if(!rt&&(at===1?i>v+_*s/2:i<p-_*s/2)&&(rt=!0),rt)y=!0;else if(at===1?i<v+bt:i>p-bt)return-at}else if(i>v+_*(1-a)/2&&i<p-_*(1-a)/2)return ul(o)}return y=y||u,y&&(i<v+_*s/2||i>p-_*s/2)?i>v+_/2?1:-1:0}function ul(t){return he(w)<he(t)?1:-1}function cl(t){for(var o=t.tagName+t.className+t.src+t.href+t.textContent,n=o.length,l=0;n--;)l+=o.charCodeAt(n);return l.toString(36)}function dl(t){wt.length=0;for(var o=t.getElementsByTagName("input"),n=o.length;n--;){var l=o[n];l.checked&&wt.push(l)}}function yt(t){return setTimeout(t,0)}function Jt(t){return clearTimeout(t)}Vt&&X(document,"touchmove",function(t){(A.active||Xe)&&t.cancelable&&t.preventDefault()});A.utils={on:X,off:R,css:O,find:On,is:function(t,o){return!!ye(t,o,t,!1)},extend:Ho,throttle:An,closest:ye,toggleClass:pe,clone:Fn,index:he,nextTick:yt,cancelNextTick:Jt,detectDirection:Mn,getChild:We};A.get=function(t){return t[fe]};A.mount=function(){for(var t=arguments.length,o=new Array(t),n=0;n<t;n++)o[n]=arguments[n];o[0].constructor===Array&&(o=o[0]),o.forEach(function(l){if(!l.prototype||!l.prototype.constructor)throw"Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(l));l.utils&&(A.utils=Ee(Ee({},A.utils),l.utils)),st.mount(l)})};A.create=function(t,o){return new A(t,o)};A.version=Uo;var ae=[],et,Gt,Wt=!1,jt,Ut,St,tt;function pl(){function t(){this.defaults={scroll:!0,forceAutoScrollFallback:!1,scrollSensitivity:30,scrollSpeed:10,bubbleScroll:!0};for(var o in this)o.charAt(0)==="_"&&typeof this[o]=="function"&&(this[o]=this[o].bind(this))}return t.prototype={dragStarted:function(o){var n=o.originalEvent;this.sortable.nativeDraggable?X(document,"dragover",this._handleAutoScroll):this.options.supportPointer?X(document,"pointermove",this._handleFallbackAutoScroll):n.touches?X(document,"touchmove",this._handleFallbackAutoScroll):X(document,"mousemove",this._handleFallbackAutoScroll)},dragOverCompleted:function(o){var n=o.originalEvent;!this.options.dragOverBubble&&!n.rootEl&&this._handleAutoScroll(n)},drop:function(){this.sortable.nativeDraggable?R(document,"dragover",this._handleAutoScroll):(R(document,"pointermove",this._handleFallbackAutoScroll),R(document,"touchmove",this._handleFallbackAutoScroll),R(document,"mousemove",this._handleFallbackAutoScroll)),Cn(),_t(),Jo()},nulling:function(){St=Gt=et=Wt=tt=jt=Ut=null,ae.length=0},_handleFallbackAutoScroll:function(o){this._handleAutoScroll(o,!0)},_handleAutoScroll:function(o,n){var l=this,a=(o.touches?o.touches[0]:o).clientX,s=(o.touches?o.touches[0]:o).clientY,u=document.elementFromPoint(a,s);if(St=o,n||this.options.forceAutoScrollFallback||it||Ve||nt){Xt(o,this.options,u,n);var c=Ae(u,!0);Wt&&(!tt||a!==jt||s!==Ut)&&(tt&&Cn(),tt=setInterval(function(){var i=Ae(document.elementFromPoint(a,s),!0);i!==c&&(c=i,_t()),Xt(o,l.options,i,n)},10),jt=a,Ut=s)}else{if(!this.options.bubbleScroll||Ae(u,!0)===Ce()){_t();return}Xt(o,this.options,Ae(u,!1),!1)}}},we(t,{pluginName:"scroll",initializeByDefault:!0})}function _t(){ae.forEach(function(t){clearInterval(t.pid)}),ae=[]}function Cn(){clearInterval(tt)}var Xt=An(function(t,o,n,l){if(o.scroll){var a=(t.touches?t.touches[0]:t).clientX,s=(t.touches?t.touches[0]:t).clientY,u=o.scrollSensitivity,c=o.scrollSpeed,i=Ce(),_=!1,v;Gt!==n&&(Gt=n,_t(),et=o.scroll,v=o.scrollFn,et===!0&&(et=Ae(n,!0)));var p=0,y=et;do{var S=y,N=re(S),m=N.top,$=N.bottom,B=N.left,Z=N.right,j=N.width,le=N.height,q=void 0,D=void 0,te=S.scrollWidth,J=S.scrollHeight,G=O(S),I=S.scrollLeft,z=S.scrollTop;S===i?(q=j<te&&(G.overflowX==="auto"||G.overflowX==="scroll"||G.overflowX==="visible"),D=le<J&&(G.overflowY==="auto"||G.overflowY==="scroll"||G.overflowY==="visible")):(q=j<te&&(G.overflowX==="auto"||G.overflowX==="scroll"),D=le<J&&(G.overflowY==="auto"||G.overflowY==="scroll"));var L=q&&(Math.abs(Z-a)<=u&&I+j<te)-(Math.abs(B-a)<=u&&!!I),W=D&&(Math.abs($-s)<=u&&z+le<J)-(Math.abs(m-s)<=u&&!!z);if(!ae[p])for(var U=0;U<=p;U++)ae[U]||(ae[U]={});(ae[p].vx!=L||ae[p].vy!=W||ae[p].el!==S)&&(ae[p].el=S,ae[p].vx=L,ae[p].vy=W,clearInterval(ae[p].pid),(L!=0||W!=0)&&(_=!0,ae[p].pid=setInterval((function(){l&&this.layer===0&&A.active._onTouchMove(St);var Y=ae[this.layer].vy?ae[this.layer].vy*c:0,P=ae[this.layer].vx?ae[this.layer].vx*c:0;typeof v=="function"&&v.call(A.dragged.parentNode[fe],P,Y,t,St,ae[this.layer].el)!=="continue"||Pn(ae[this.layer].el,P,Y)}).bind({layer:p}),24))),p++}while(o.bubbleScroll&&y!==i&&(y=Ae(y,!1)));Wt=_}},30),jn=function(t){var o=t.originalEvent,n=t.putSortable,l=t.dragEl,a=t.activeSortable,s=t.dispatchSortableEvent,u=t.hideGhostForTarget,c=t.unhideGhostForTarget;if(o){var i=n||a;u();var _=o.changedTouches&&o.changedTouches.length?o.changedTouches[0]:o,v=document.elementFromPoint(_.clientX,_.clientY);c(),i&&!i.el.contains(v)&&(s("spill"),this.onSpill({dragEl:l,putSortable:n}))}};function Kt(){}Kt.prototype={startIndex:null,dragStart:function(t){var o=t.oldDraggableIndex;this.startIndex=o},onSpill:function(t){var o=t.dragEl,n=t.putSortable;this.sortable.captureAnimationState(),n&&n.captureAnimationState();var l=We(this.sortable.el,this.startIndex,this.options);l?this.sortable.el.insertBefore(o,l):this.sortable.el.appendChild(o),this.sortable.animateAll(),n&&n.animateAll()},drop:jn};we(Kt,{pluginName:"revertOnSpill"});function en(){}en.prototype={onSpill:function(t){var o=t.dragEl,n=t.putSortable,l=n||this.sortable;l.captureAnimationState(),o.parentNode&&o.parentNode.removeChild(o),l.animateAll()},drop:jn};we(en,{pluginName:"removeOnSpill"});A.mount(new pl);A.mount(en,Kt);function ml(t){return t==null?t:JSON.parse(JSON.stringify(t))}function fl(t){e.getCurrentInstance()&&e.onUnmounted(t)}function vl(t){e.getCurrentInstance()?e.onMounted(t):e.nextTick(t)}let Un=null,Xn=null;function En(t=null,o=null){Un=t,Xn=o}function gl(){return{data:Un,clonedData:Xn}}const Nn=Symbol("cloneElement");function hl(...t){var o,n;const l=(o=e.getCurrentInstance())==null?void 0:o.proxy;let a=null;const s=t[0];let[,u,c]=t;Array.isArray(e.unref(u))||(c=u,u=null);let i=null;const{immediate:_=!0,clone:v=ml,forceFallback:p,fallbackOnBody:y,customUpdate:S}=(n=e.unref(c))!=null?n:{};function N(I){var z;const{from:L,oldIndex:W,item:U}=I,Y=Array.from(L.childNodes);a=p&&!y?Y.slice(0,-1):Y;const P=e.unref((z=e.unref(u))==null?void 0:z[W]),d=v(P);En(P,d),U[Nn]=d}function m(I){const z=I.item[Nn];if(!Oo(z)){if(Ft(I.item),e.isRef(u)){const L=[...e.unref(u)];u.value=dn(L,I.newDraggableIndex,z);return}dn(e.unref(u),I.newDraggableIndex,z)}}function $(I){const{from:z,item:L,oldIndex:W,oldDraggableIndex:U,pullMode:Y,clone:P}=I;if(pn(z,L,W),Y==="clone"){Ft(P);return}if(e.isRef(u)){const d=[...e.unref(u)];u.value=cn(d,U);return}cn(e.unref(u),U)}function B(I){if(S){S(I);return}const{from:z,item:L,oldIndex:W,oldDraggableIndex:U,newDraggableIndex:Y}=I;if(Ft(L),pn(z,L,W),e.isRef(u)){const P=[...e.unref(u)];u.value=un(P,U,Y);return}un(e.unref(u),U,Y)}function Z(I){const{newIndex:z,oldIndex:L,from:W,to:U}=I;let Y=null;const P=z===L&&W===U;try{if(P){let d=null;a?.some((b,ve)=>{if(d&&a?.length!==U.childNodes.length)return W.insertBefore(d,b.nextSibling),!0;const Pe=U.childNodes[ve];d=U?.replaceChild(b,Pe)})}}catch(d){Y=d}finally{a=null}e.nextTick(()=>{if(En(),Y)throw Y})}const j={onUpdate:B,onStart:N,onAdd:m,onRemove:$,onEnd:Z};function le(I){const z=e.unref(s);return I||(I=Ao(z)?Po(z,l?.$el):z),I&&!$o(I)&&(I=I.$el),I||Io("Root element not found"),I}function q(){var I;const z=(I=e.unref(c))!=null?I:{},{immediate:L,clone:W}=z,U=xn(z,["immediate","clone"]);return mn(U,(Y,P)=>{Mo(Y)&&(U[Y]=(d,...b)=>{const ve=gl();return Lo(d,ve),P(d,...b)})}),zo(u===null?{}:j,U)}const D=I=>{I=le(I),i&&te.destroy(),i=new A(I,q())};e.watch(()=>c,()=>{i&&mn(q(),(I,z)=>{i?.option(I,z)})},{deep:!0});const te={option:(I,z)=>i?.option(I,z),destroy:()=>{i?.destroy(),i=null},save:()=>i?.save(),toArray:()=>i?.toArray(),closest:(...I)=>i?.closest(...I)},J=()=>te?.option("disabled",!0),G=()=>te?.option("disabled",!1);return vl(()=>{_&&D()}),fl(te.destroy),Ye({start:D,pause:J,resume:G},te)}const Qt=["update","start","add","remove","choose","unchoose","end","sort","filter","clone","move","change"],bl=["clone","animation","ghostClass","group","sort","disabled","store","handle","draggable","swapThreshold","invertSwap","invertedSwapThreshold","removeCloneOnHide","direction","chosenClass","dragClass","ignore","filter","preventOnFilter","easing","setData","dropBubble","dragoverBubble","dataIdAttr","delay","delayOnTouchOnly","touchStartThreshold","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","emptyInsertThreshold","scroll","forceAutoScrollFallback","scrollSensitivity","scrollSpeed","bubbleScroll","modelValue","tag","target","customUpdate",...Qt.map(t=>`on${t.replace(/^\S/,o=>o.toUpperCase())}`)],yl=e.defineComponent({name:"VueDraggable",model:{prop:"modelValue",event:"update:modelValue"},props:bl,emits:["update:modelValue",...Qt],setup(t,{slots:o,emit:n,expose:l,attrs:a}){const s=Qt.reduce((v,p)=>{const y=`on${p.replace(/^\S/,S=>S.toUpperCase())}`;return v[y]=(...S)=>n(p,...S),v},{}),u=e.computed(()=>{const v=e.toRefs(t),{modelValue:p}=v,y=xn(v,["modelValue"]),S=Object.entries(y).reduce((N,[m,$])=>{const B=e.unref($);return B!==void 0&&(N[m]=B),N},{});return Ye(Ye({},s),To(Ye(Ye({},a),S)))}),c=e.computed({get:()=>t.modelValue,set:v=>n("update:modelValue",v)}),i=e.ref(),_=e.reactive(hl(t.target||i,c,u));return l(_),()=>{var v;return e.h(t.tag||"div",{ref:i},(v=o?.default)==null?void 0:v.call(o,_))}}}),_l={class:"expanded"},kl={class:"expanded__head"},Cl={class:"expanded__icon"},El=["name"],Nl={class:"expanded__title"},wl={class:"expanded__meta"},Sl={class:"expanded__head-actions"},Vl={class:"expanded__body"},xl={class:"expanded__preview"},Bl={key:1,class:"expanded__options"},Il=["onDragstart","onDragover","onDrop"],Dl={class:"expanded__options-foot"},Tl={key:2,class:"expanded__preview"},Ol={class:"expanded__row"},Al={class:"expanded__preview"},Pl={class:"expanded__row expanded__row--3"},Fl={class:"expanded__preview"},zl={class:"expanded__row expanded__row--2"},$l={class:"expanded__preview"},Ml={key:6,class:"expanded__options"},Ll={class:"expanded__image-thumb-wrap"},Rl=["src"],ql=["onClick"],jl={key:2,class:"expanded__image-actions"},Ul=["onChange"],Xl={class:"expanded__image-label-row"},Yl={class:"expanded__options-foot"},Hl={class:"expanded__options"},Jl={class:"expanded__option-number"},Gl={class:"expanded__options-foot"},Wl={class:"expanded__options"},Ql={class:"expanded__options-foot"},Zl={class:"expanded__preview"},Kl={class:"expanded__section-preview"},ea={key:0},ta={class:"expanded__foot"},na={key:0,class:"answer-key"},oa={class:"answer-key__head"},la={class:"answer-key__head-right"},aa={class:"answer-key__body"},ra={class:"answer-key__question-label"},ia={class:"answer-key__question-label"},sa={class:"answer-key__question-label"},ua={class:"answer-key__question-label"},ca=["onDragstart","onDragover","onDrop"],da={class:"answer-key__order-num"},pa={style:{flex:"1"}},ma={class:"answer-key__matching-term"},fa=["value","onChange"],va=["value"],ga={key:7,class:"answer-key__manual"},ha={class:"answer-key__feedback"},ba={class:"answer-key__foot"},ya=["onClick"],_a=["name"],ka=e.defineComponent({__name:"FieldCardExpanded",props:{pageIdx:{},fieldName:{}},setup(t){const o=t,n=Se(),l=e.computed(()=>n.data.pages[o.pageIdx]?.fields[o.fieldName]??{}),a=e.computed(()=>{const f=l.value;return f.uiCom==="TextArea"?M.find(r=>r.id==="textarea"):f.uiCom==="Rating"?M.find(r=>r.id==="rating"):f.uiCom==="Slider"?M.find(r=>r.id==="slider"):f.uiCom==="ColorPicker"?M.find(r=>r.id==="color"):f.uiCom==="Section"?M.find(r=>r.id==="section"):f.uiCom==="File"?M.find(r=>r.id==="file"):f.uiCom==="Ordering"?M.find(r=>r.id==="ordering"):f.uiCom==="Matching"?M.find(r=>r.id==="matching"):f.uiCom==="ImageRadioGroup"?M.find(r=>r.id==="image-choice"):f.ref?M.find(r=>r.id==="ref"):Array.isArray(f.enum)?M.find(r=>r.id==="select"):f.type==="Number"?M.find(r=>r.id==="number"):f.type==="Date"?M.find(r=>r.id==="date"):f.type==="Boolean"?M.find(r=>r.id==="boolean"):M.find(r=>r.id==="text")}),s=e.computed(()=>a.value?.id??"text"),u=e.computed(()=>{const f=n.data.mode==="quiz";return(f?M.filter(g=>g.quizAllowed):M).map(g=>({label:f&&g.quizLabel?g.quizLabel:g.label,value:g.id}))});function c(f){const r=f.detail;return r!=null&&typeof r=="object"&&"value"in r?r.value:r!=null&&typeof r=="object"&&"checked"in r?r.checked:r}function i(f,r){n.updateField(o.pageIdx,o.fieldName,{[f]:r})}function _(f){if(!(!f||f===o.fieldName))try{n.renameField(o.pageIdx,o.fieldName,f)}catch(r){console.warn("[builder] rename failed:",r.message)}}function v(){n.selectPage(o.pageIdx)}function p(){n.duplicateField(o.pageIdx,o.fieldName)}function y(){n.removeField(o.pageIdx,o.fieldName)}const S=["label","required","helperText","placeholder","full","hidden","disabled","readOnly","visibleIf","enableIf","requiredIf","correctOptions","correctValue","correctOrder","correctPairs","optionImages","matchLeft","matchRight","multiSelect","points","explanation","sampleAnswer"];function N(f){if(!f||f===s.value)return;const r=Yt[f],g=r?r():{type:"String"},C={};for(const x of S)l.value[x]!==void 0&&(C[x]=l.value[x]);n.replaceFieldDef(o.pageIdx,o.fieldName,{...g,...C})}const m=e.computed(()=>Array.isArray(l.value.enum)?l.value.enum:[]);function $(f,r){const g=[...m.value];g[f]=r,i("enum",g)}function B(f){const r=m.value.filter((g,C)=>C!==f);i("enum",r.length?r:void 0)}function Z(){const f=[...m.value,`Option ${m.value.length+1}`];i("enum",f)}const j={};function le(f){return r=>{j[f]=r}}function q(f){j[f]?.click()}const D=e.computed(()=>Array.isArray(l.value.optionImages)?l.value.optionImages:[]);function te(f,r){const g=[...D.value];for(;g.length<=f;)g.push("");g[f]=r,i("optionImages",g)}function J(f){const r=[...D.value];f<r.length&&(r[f]=""),i("optionImages",r)}function G(f,r){const g=f.target,C=g?.files?.[0];if(!C)return;const x=new Image,ge=URL.createObjectURL(C);x.onload=()=>{let{width:De,height:qe}=x;if(De>400||qe>400){const an=Math.min(400/De,400/qe);De=Math.round(De*an),qe=Math.round(qe*an)}const dt=document.createElement("canvas");dt.width=De,dt.height=qe;const ln=dt.getContext("2d");ln&&(ln.drawImage(x,0,0,De,qe),te(r,dt.toDataURL("image/webp",.8))),URL.revokeObjectURL(ge)},x.onerror=()=>URL.revokeObjectURL(ge),x.src=ge,g.value=""}function I(){const f=[...m.value,`Option ${m.value.length+1}`];i("enum",f);const r=[...D.value,""];i("optionImages",r)}function z(f){i("enum",m.value.filter((r,g)=>g!==f)),i("optionImages",D.value.filter((r,g)=>g!==f))}const L=e.ref(null),W=e.ref(null);function U(f,r){f.dataTransfer&&(L.value=r,f.dataTransfer.setData("application/cobalt-option-move",String(r)),f.dataTransfer.effectAllowed="move")}function Y(f,r){L.value!==null&&(f.preventDefault(),f.dataTransfer&&(f.dataTransfer.dropEffect="move"),W.value=r)}function P(){W.value=null}function d(f,r){f.preventDefault();const g=L.value;if(L.value=null,W.value=null,g===null||g===r)return;const C=[...m.value],[x]=C.splice(g,1),ge=g<r?r-1:r;C.splice(ge,0,x),i("enum",C)}function b(){L.value=null,W.value=null}const ve=e.computed(()=>m.value.some(f=>String(f).trim().toLowerCase()==="other"));function Pe(){ve.value?i("enum",m.value.filter(f=>String(f).trim().toLowerCase()!=="other")):i("enum",[...m.value,"Other"])}const xe=e.ref(!1),xt=e.computed(()=>{if(n.data.mode==="quiz")return M.filter(g=>g.quizAllowed);const r=["text","textarea","number","date","select","boolean","rating"];return M.filter(g=>r.includes(g.id))});function Bt(f){xe.value=!1,n.insertFieldAfter(o.pageIdx,o.fieldName,f)}function It(){xe.value=!1,n.insertFieldAfter(o.pageIdx,o.fieldName,"section")}const Dt=e.computed(()=>{switch(s.value){case"number":return"number";case"date":return"date";case"color":return"color";case"file":return"file";default:return"text"}});function Re(f){if(f===""||f==null)return;const r=Number(f);return Number.isFinite(r)?r:void 0}const h=e.computed(()=>Number(l.value.min??0)),k=e.computed(()=>Number(l.value.max??100)),V=e.computed(()=>Number(l.value.step??1)),T=e.computed(()=>h.value),Q=e.computed(()=>Number(l.value.max??5)),H=e.computed(()=>n.data.mode==="quiz"),ne=e.ref(!1),ie=e.computed(()=>Array.isArray(l.value.correctOptions)?l.value.correctOptions:[]),Be=e.computed(()=>Number(l.value.points??0)),ut=e.computed(()=>l.value.explanation||""),Tt=e.computed(()=>l.value.sampleAnswer||""),tn=e.computed(()=>{const f=l.value.correctValue;return f!=null?String(f):""}),Yn=e.computed(()=>ie.value.length>0||Be.value>0||tn.value!==""||l.value.correctOrder&&l.value.correctOrder.length>0||Object.keys(l.value.correctPairs||{}).length>0),Hn=e.computed(()=>{let f="Answer key";return Be.value>0&&(f+=` (${Be.value} ${Be.value===1?"pt":"pts"})`),f});function Ot(f){const r=[...ie.value],g=r.indexOf(f),C=l.value.multiSelect;if(s.value==="boolean"||!C){i("correctOptions",g>=0?[]:[f]);return}g>=0?r.splice(g,1):r.push(f),i("correctOptions",r)}function Jn(f){i("points",Number(f)||0)}function Gn(f){i("explanation",f)}function Wn(f){i("sampleAnswer",f)}function Qn(f){if(f===""||f===null||f===void 0){i("correctValue",void 0);return}s.value==="number"||s.value==="rating"?i("correctValue",Number(f)):i("correctValue",f)}function Zn(){ne.value=!1}const Kn=e.computed(()=>H.value?a.value?.quizLabel||a.value?.label||"Field":a.value?.label||"Field"),eo=["True","False"],Ie=e.computed(()=>Array.isArray(l.value.enum)?l.value.enum:[]);function to(f,r){const g=[...Ie.value];g[f]=r,i("enum",g)}function no(f){const r=Ie.value.filter((g,C)=>C!==f);i("enum",r.length?r:void 0)}function oo(){const f=[...Ie.value,`Item ${Ie.value.length+1}`];i("enum",f)}const nn=e.computed(()=>Array.isArray(l.value.correctOrder)&&l.value.correctOrder.length===Ie.value.length?l.value.correctOrder:Ie.value.map((f,r)=>r)),lo=e.computed(()=>nn.value.map(f=>Ie.value[f]||`Item ${f+1}`)),Fe=e.ref(null),ct=e.ref(null);function ao(f,r){if(f===r)return;const g=[...nn.value],[C]=g.splice(f,1),x=f<r?r-1:r;g.splice(x,0,C),i("correctOrder",g)}const ze=e.computed(()=>Array.isArray(l.value.matchLeft)?l.value.matchLeft:[]),Qe=e.computed(()=>Array.isArray(l.value.matchRight)?l.value.matchRight:[]);function ro(f,r){const g=[...ze.value];g[f]=r,i("matchLeft",g)}function io(f,r){const g=[...Qe.value];g[f]=r,i("matchRight",g)}function so(){const f=ze.value.length+1;i("matchLeft",[...ze.value,`Term ${f}`]),i("matchRight",[...Qe.value,`Definition ${f}`])}const At=e.computed(()=>l.value.correctPairs&&typeof l.value.correctPairs=="object"?l.value.correctPairs:{});function uo(f,r){const g={...At.value};r==null?delete g[f]:g[f]=r,i("correctPairs",Object.keys(g).length?g:void 0)}function co(f){i("matchLeft",ze.value.filter((C,x)=>x!==f)),i("matchRight",Qe.value.filter((C,x)=>x!==f));const r={...l.value.correctPairs||{}};delete r[f];const g={};for(const[C,x]of Object.entries(r)){const ge=Number(C),on=ge>f?ge-1:ge,De=x>f?x-1:x;g[on]=De}i("correctPairs",g)}return(f,r)=>(e.openBlock(),e.createElementBlock("div",{class:"expanded-wrap",onClick:r[22]||(r[22]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",_l,[e.createElementVNode("header",kl,[e.createElementVNode("span",Cl,[a.value?(e.openBlock(),e.createElementBlock("co-icon",{key:0,name:a.value.icon,size:"20"},null,8,El)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Nl,[e.createVNode(Ge,{class:"expanded__label","model-value":l.value.label||"",placeholder:"Untitled field","onUpdate:modelValue":r[0]||(r[0]=g=>i("label",g))},null,8,["model-value"]),e.createElementVNode("div",wl,[e.createVNode(Ge,{class:"expanded__id","model-value":t.fieldName,placeholder:"field_id","onUpdate:modelValue":_},null,8,["model-value"]),r[23]||(r[23]=e.createElementVNode("span",{class:"expanded__sep"},"·",-1)),e.createElementVNode("span",null,e.toDisplayString(Kn.value),1)])]),e.createElementVNode("div",Sl,[e.createVNode(e.unref(E.CoSelect),{class:"expanded__type",options:JSON.stringify(u.value),value:s.value,onCoChange:r[1]||(r[1]=g=>N(c(g)))},null,8,["options","value"]),e.createVNode(e.unref(E.CoIconButton),{icon:"x",variant:"outlined",size:"sm",label:"Collapse",onClick:v})])]),e.createElementVNode("div",Vl,[["text","textarea","number","date","color","file"].includes(s.value)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(e.unref(E.CoInput),{label:"Placeholder",value:l.value.placeholder||"",onCoInput:r[2]||(r[2]=g=>i("placeholder",c(g)))},null,8,["value"]),e.createElementVNode("div",xl,[r[24]||(r[24]=e.createElementVNode("div",{class:"expanded__preview-label"},"Preview",-1)),e.createVNode(e.unref(E.CoInput),{label:l.value.label,placeholder:l.value.placeholder,"helper-text":l.value.helperText,type:Dt.value,multiline:s.value==="textarea"||void 0,required:!!l.value.required,disabled:""},null,8,["label","placeholder","helper-text","type","multiline","required"])])],64)):s.value==="select"?(e.openBlock(),e.createElementBlock("div",Bl,[r[27]||(r[27]=e.createElementVNode("div",{class:"expanded__options-label"},"Options",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(g,C)=>(e.openBlock(),e.createElementBlock("div",{key:C,class:e.normalizeClass(["expanded__option",{"is-drop-target":W.value===C&&L.value!==C,"is-dragging":L.value===C}]),draggable:"true",onDragstart:x=>U(x,C),onDragover:x=>Y(x,C),onDragleave:P,onDrop:x=>d(x,C),onDragend:b},[r[25]||(r[25]=e.createElementVNode("span",{class:"expanded__option-grip","aria-hidden":"true"},"⋮⋮",-1)),r[26]||(r[26]=e.createElementVNode("span",{class:"expanded__option-bullet","aria-hidden":"true"},null,-1)),e.createVNode(e.unref(E.CoInput),{class:"expanded__option-input",value:g,placeholder:`Option ${C+1}`,onCoInput:x=>$(C,c(x))},null,8,["value","placeholder","onCoInput"]),e.createVNode(e.unref(E.CoIconButton),{icon:"x",variant:"outlined",size:"xs",label:"Remove option",onClick:x=>B(C)},null,8,["onClick"])],42,Il))),128)),e.createElementVNode("div",Dl,[e.createVNode(e.unref(E.CoButton),{label:"Add option",variant:"stroke",size:"s","icon-left":"plus",onClick:Z}),e.createVNode(e.unref(E.CoCheckbox),{label:'Add "Other (describe)"',checked:ve.value,onCoChange:Pe},null,8,["checked"])])])):s.value==="boolean"?(e.openBlock(),e.createElementBlock("div",Tl,[r[28]||(r[28]=e.createElementVNode("div",{class:"expanded__preview-label"},"Preview",-1)),e.createVNode(e.unref(E.CoSwitch),{label:l.value.label||t.fieldName,"helper-text":l.value.helperText,disabled:""},null,8,["label","helper-text"])])):s.value==="rating"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[e.createElementVNode("div",Ol,[e.createVNode(e.unref(E.CoInput),{label:"Max stars",type:"number",value:String(Q.value),onCoInput:r[3]||(r[3]=g=>i("max",Re(c(g))??5))},null,8,["value"])]),e.createElementVNode("div",Al,[r[29]||(r[29]=e.createElementVNode("div",{class:"expanded__preview-label"},"Preview",-1)),e.createVNode(e.unref(E.CoRating),{label:l.value.label||t.fieldName,max:Q.value,value:0,"read-only":""},null,8,["label","max"])])],64)):s.value==="slider"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[e.createElementVNode("div",Pl,[e.createVNode(e.unref(E.CoInput),{label:"Min",type:"number",value:String(h.value),onCoInput:r[4]||(r[4]=g=>i("min",Re(c(g))??0))},null,8,["value"]),e.createVNode(e.unref(E.CoInput),{label:"Max",type:"number",value:String(k.value),onCoInput:r[5]||(r[5]=g=>i("max",Re(c(g))??100))},null,8,["value"]),e.createVNode(e.unref(E.CoInput),{label:"Step",type:"number",value:String(V.value),onCoInput:r[6]||(r[6]=g=>i("step",Re(c(g))??1))},null,8,["value"])]),e.createElementVNode("div",Fl,[r[30]||(r[30]=e.createElementVNode("div",{class:"expanded__preview-label"},"Preview",-1)),e.createVNode(e.unref(E.CoSlider),{label:l.value.label||t.fieldName,min:h.value,max:k.value,step:V.value,value:T.value,"show-value":"",disabled:""},null,8,["label","min","max","step","value"])])],64)):s.value==="ref"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:5},[e.createElementVNode("div",zl,[e.createVNode(e.unref(E.CoInput),{label:"Model",placeholder:"Company, User, Deal…",value:l.value.ref||"",onCoInput:r[7]||(r[7]=g=>i("ref",c(g)))},null,8,["value"]),e.createVNode(e.unref(E.CoInput),{label:"Display field",placeholder:"name",value:l.value.displayName||"",onCoInput:r[8]||(r[8]=g=>i("displayName",c(g)))},null,8,["value"])]),e.createElementVNode("div",$l,[r[31]||(r[31]=e.createElementVNode("div",{class:"expanded__preview-label"},"Preview",-1)),e.createVNode(e.unref(E.CoInput),{label:l.value.label||t.fieldName,placeholder:`Search ${l.value.ref||"model"}…`,"icon-left":"magnifying-glass",disabled:""},null,8,["label","placeholder"])])],64)):s.value==="image-choice"?(e.openBlock(),e.createElementBlock("div",Ml,[r[33]||(r[33]=e.createElementVNode("div",{class:"expanded__options-label"},"Image options",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(g,C)=>(e.openBlock(),e.createElementBlock("div",{key:C,class:"expanded__image-option"},[e.createElementVNode("div",Ll,[D.value[C]?(e.openBlock(),e.createElementBlock("img",{key:0,src:D.value[C],class:"expanded__image-thumb",alt:""},null,8,Rl)):(e.openBlock(),e.createElementBlock("div",{key:1,class:"expanded__image-placeholder",onClick:x=>q(C)},[...r[32]||(r[32]=[e.createElementVNode("co-icon",{name:"image-square",size:"24"},null,-1),e.createElementVNode("span",null,"Add image",-1)])],8,ql)),D.value[C]?(e.openBlock(),e.createElementBlock("div",jl,[e.createVNode(e.unref(E.CoIconButton),{icon:"pencil-simple",variant:"outlined",size:"xs",label:"Change image",onClick:x=>q(C)},null,8,["onClick"]),e.createVNode(e.unref(E.CoIconButton),{icon:"trash",variant:"outlined",size:"xs",label:"Remove image",onClick:x=>J(C)},null,8,["onClick"])])):e.createCommentVNode("",!0),e.createElementVNode("input",{ref_for:!0,ref:le(C),type:"file",accept:"image/*",style:{display:"none"},onChange:x=>G(x,C)},null,40,Ul)]),e.createElementVNode("div",Xl,[e.createVNode(e.unref(E.CoInput),{class:"expanded__option-input",value:g,placeholder:`Option ${C+1}`,onCoInput:x=>$(C,c(x))},null,8,["value","placeholder","onCoInput"]),e.createVNode(e.unref(E.CoIconButton),{icon:"x",variant:"outlined",size:"xs",label:"Remove option",onClick:x=>z(C)},null,8,["onClick"])])]))),128)),e.createElementVNode("div",Yl,[e.createVNode(e.unref(E.CoButton),{label:"Add option",variant:"stroke",size:"s","icon-left":"plus",onClick:I})])])):s.value==="ordering"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:7},[e.createElementVNode("div",Hl,[r[34]||(r[34]=e.createElementVNode("div",{class:"expanded__options-label"},"Items (shown in correct order)",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Ie.value,(g,C)=>(e.openBlock(),e.createElementBlock("div",{key:C,class:"expanded__option"},[e.createElementVNode("span",Jl,e.toDisplayString(C+1),1),e.createVNode(e.unref(E.CoInput),{class:"expanded__option-input",value:g,placeholder:`Item ${C+1}`,onCoInput:x=>to(C,c(x))},null,8,["value","placeholder","onCoInput"]),e.createVNode(e.unref(E.CoIconButton),{icon:"x",variant:"outlined",size:"xs",label:"Remove item",onClick:x=>no(C)},null,8,["onClick"])]))),128)),e.createElementVNode("div",Gl,[e.createVNode(e.unref(E.CoButton),{label:"Add item",variant:"stroke",size:"s","icon-left":"plus",onClick:oo})])]),r[35]||(r[35]=e.createElementVNode("div",{class:"expanded__preview"},[e.createElementVNode("div",{class:"expanded__preview-label"},"Preview — students will see items in shuffled order")],-1))],64)):s.value==="matching"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:8},[e.createElementVNode("div",Wl,[r[37]||(r[37]=e.createElementVNode("div",{class:"expanded__options-label"},"Pairs",-1)),r[38]||(r[38]=e.createElementVNode("div",{class:"expanded__matching-head"},[e.createElementVNode("span",{class:"expanded__matching-col-label"},"Term"),e.createElementVNode("span",{class:"expanded__matching-col-label"},"Definition")],-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ze.value,(g,C)=>(e.openBlock(),e.createElementBlock("div",{key:C,class:"expanded__matching-row"},[e.createVNode(e.unref(E.CoInput),{class:"expanded__matching-input",value:ze.value[C],placeholder:`Term ${C+1}`,onCoInput:x=>ro(C,c(x))},null,8,["value","placeholder","onCoInput"]),r[36]||(r[36]=e.createElementVNode("co-icon",{name:"arrows-left-right",size:"16",style:{"flex-shrink":"0",color:"var(--co-semantic-text-muted)"}},null,-1)),e.createVNode(e.unref(E.CoInput),{class:"expanded__matching-input",value:Qe.value[C],placeholder:`Definition ${C+1}`,onCoInput:x=>io(C,c(x))},null,8,["value","placeholder","onCoInput"]),e.createVNode(e.unref(E.CoIconButton),{icon:"x",variant:"outlined",size:"xs",label:"Remove pair",onClick:x=>co(C)},null,8,["onClick"])]))),128)),e.createElementVNode("div",Ql,[e.createVNode(e.unref(E.CoButton),{label:"Add pair",variant:"stroke",size:"s","icon-left":"plus",onClick:so})])]),r[39]||(r[39]=e.createElementVNode("div",{class:"expanded__preview"},[e.createElementVNode("div",{class:"expanded__preview-label"},"Preview — definitions will be shuffled for students")],-1))],64)):s.value==="section"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:9},[e.createVNode(e.unref(E.CoInput),{label:"Description",multiline:"",placeholder:"Optional explanatory text shown under the section title.",value:l.value.helperText||"",onCoInput:r[9]||(r[9]=g=>i("helperText",c(g)))},null,8,["value"]),e.createElementVNode("div",Zl,[r[40]||(r[40]=e.createElementVNode("div",{class:"expanded__preview-label"},"Preview",-1)),e.createElementVNode("div",Kl,[e.createElementVNode("h4",null,e.toDisplayString(l.value.label||"Section title"),1),l.value.helperText?(e.openBlock(),e.createElementBlock("p",ea,e.toDisplayString(l.value.helperText),1)):e.createCommentVNode("",!0)])])],64)):e.createCommentVNode("",!0),s.value!=="section"?(e.openBlock(),e.createBlock(e.unref(E.CoInput),{key:10,label:"Helper text",value:l.value.helperText||"",placeholder:"Optional helper / hint shown below the field",onCoInput:r[10]||(r[10]=g=>i("helperText",c(g)))},null,8,["value"])):e.createCommentVNode("",!0)]),e.createElementVNode("footer",ta,[H.value&&s.value!=="section"?(e.openBlock(),e.createBlock(e.unref(E.CoButton),{key:0,"icon-left":Yn.value?"check-square":"key",label:Hn.value,variant:ne.value?"primary":"stroke",size:"s",onClick:r[11]||(r[11]=g=>ne.value=!ne.value)},null,8,["icon-left","label","variant"])):e.createCommentVNode("",!0),e.createVNode(e.unref(E.CoSwitch),{checked:!!l.value.required,label:"Required",onCoChange:r[12]||(r[12]=g=>i("required",c(g)))},null,8,["checked"]),r[41]||(r[41]=e.createElementVNode("div",{class:"expanded__foot-spacer"},null,-1)),e.createVNode(e.unref(E.CoButton),{label:"Duplicate","icon-left":"copy",variant:"ghost",size:"s",onClick:p}),e.createVNode(e.unref(E.CoButton),{label:"Delete","icon-left":"trash",variant:"ghost",size:"s",onClick:y})]),H.value&&ne.value&&s.value!=="section"?(e.openBlock(),e.createElementBlock("div",na,[e.createElementVNode("div",oa,[r[43]||(r[43]=e.createElementVNode("div",{class:"answer-key__head-left"},[e.createElementVNode("co-icon",{name:"check-square",size:"18"}),e.createElementVNode("span",{class:"answer-key__head-label"},"Choose correct answer(s):")],-1)),e.createElementVNode("div",la,[e.createVNode(e.unref(E.CoInput),{class:"answer-key__points-input",type:"number",value:String(Be.value),onCoInput:r[13]||(r[13]=g=>Jn(c(g)))},null,8,["value"]),r[42]||(r[42]=e.createElementVNode("span",{class:"answer-key__points-label"},"points",-1))])]),e.createElementVNode("div",aa,[s.value==="select"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(e.unref(E.CoCheckbox),{label:"Allow multiple selections",checked:!!l.value.multiSelect,onCoChange:r[14]||(r[14]=g=>i("multiSelect",c(g)||void 0))},null,8,["checked"]),e.createElementVNode("div",ra,e.toDisplayString(l.value.label||"Question"),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(g,C)=>(e.openBlock(),e.createElementBlock("div",{key:C,class:e.normalizeClass(["answer-key__option",{"is-correct":ie.value.includes(C)}])},[e.createVNode(e.unref(E.CoCheckbox),{label:g||`Option ${C+1}`,checked:ie.value.includes(C),onCoChange:x=>Ot(C)},null,8,["label","checked","onCoChange"])],2))),128))],64)):s.value==="image-choice"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(e.unref(E.CoCheckbox),{label:"Allow multiple selections",checked:!!l.value.multiSelect,onCoChange:r[15]||(r[15]=g=>i("multiSelect",c(g)||void 0))},null,8,["checked"]),e.createElementVNode("div",ia,e.toDisplayString(l.value.label||"Question"),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(g,C)=>(e.openBlock(),e.createElementBlock("div",{key:C,class:e.normalizeClass(["answer-key__option",{"is-correct":ie.value.includes(C)}])},[r[44]||(r[44]=e.createElementVNode("co-icon",{name:"image-square",size:"16",style:{"flex-shrink":"0",color:"var(--co-semantic-text-muted)"}},null,-1)),e.createVNode(e.unref(E.CoCheckbox),{label:g||`Option ${C+1}`,checked:ie.value.includes(C),onCoChange:x=>Ot(C)},null,8,["label","checked","onCoChange"])],2))),128))],64)):s.value==="boolean"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createElementVNode("div",sa,e.toDisplayString(l.value.label||"Question"),1),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(eo,(g,C)=>e.createElementVNode("div",{key:C,class:e.normalizeClass(["answer-key__option",{"is-correct":ie.value.includes(C)}])},[e.createVNode(e.unref(E.CoCheckbox),{label:g,checked:ie.value.includes(C),onCoChange:x=>Ot(C)},null,8,["label","checked","onCoChange"])],2)),64))],64)):s.value==="text"||s.value==="textarea"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[r[45]||(r[45]=e.createElementVNode("div",{class:"answer-key__manual"},[e.createElementVNode("co-icon",{name:"note-pencil",size:"20"}),e.createElementVNode("span",null,"This question requires manual grading.")],-1)),e.createVNode(e.unref(E.CoInput),{label:"Sample answer / Rubric",multiline:"",value:Tt.value,placeholder:"Describe the expected answer or grading criteria…",onCoInput:r[16]||(r[16]=g=>Wn(c(g)))},null,8,["value"])],64)):s.value==="number"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[e.createElementVNode("div",ua,e.toDisplayString(l.value.label||"Question"),1),e.createVNode(e.unref(E.CoInput),{label:"Correct answer",type:"number",value:tn.value,placeholder:"Enter the correct numeric value",onCoInput:r[17]||(r[17]=g=>Qn(c(g)))},null,8,["value"])],64)):s.value==="ordering"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:5},[r[47]||(r[47]=e.createElementVNode("div",{class:"answer-key__question-label"},"Define the correct order:",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(lo.value,(g,C)=>(e.openBlock(),e.createElementBlock("div",{key:C,class:e.normalizeClass(["answer-key__option is-correct",{"is-dragging":Fe.value===C,"is-drop-target":ct.value===C&&Fe.value!==C}]),draggable:"true",onDragstart:x=>{Fe.value=C,x.dataTransfer.effectAllowed="move"},onDragover:e.withModifiers(x=>{x.dataTransfer.dropEffect="move",ct.value=C},["prevent"]),onDrop:e.withModifiers(x=>{Fe.value!=null&&ao(Fe.value,C),Fe.value=null,ct.value=null},["prevent"]),onDragend:r[18]||(r[18]=x=>{Fe.value=null,ct.value=null})},[r[46]||(r[46]=e.createElementVNode("span",{class:"answer-key__order-grip","aria-hidden":"true"},[e.createElementVNode("co-icon",{name:"dots-six-vertical",size:"16"})],-1)),e.createElementVNode("span",da,e.toDisplayString(C+1),1),e.createElementVNode("span",pa,e.toDisplayString(g),1)],42,ca))),128)),r[48]||(r[48]=e.createElementVNode("div",{class:"answer-key__hint"},[e.createElementVNode("co-icon",{name:"info",size:"16"}),e.createElementVNode("span",null,"Drag items to set the correct order. Students will see items shuffled.")],-1))],64)):s.value==="matching"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:6},[r[51]||(r[51]=e.createElementVNode("div",{class:"answer-key__question-label"},"Match each term to its correct definition:",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ze.value,(g,C)=>(e.openBlock(),e.createElementBlock("div",{key:C,class:"answer-key__matching-pair"},[e.createElementVNode("span",ma,e.toDisplayString(g),1),r[50]||(r[50]=e.createElementVNode("co-icon",{name:"arrow-right",size:"16"},null,-1)),e.createElementVNode("select",{class:"answer-key__matching-select",value:At.value[C]!==void 0?String(At.value[C]):"",onChange:x=>uo(C,x.target.value?Number(x.target.value):void 0)},[r[49]||(r[49]=e.createElementVNode("option",{value:""},"— Select definition —",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Qe.value,(x,ge)=>(e.openBlock(),e.createElementBlock("option",{key:ge,value:String(ge)},e.toDisplayString(x),9,va))),128))],40,fa)]))),128)),r[52]||(r[52]=e.createElementVNode("div",{class:"answer-key__hint"},[e.createElementVNode("co-icon",{name:"info",size:"16"}),e.createElementVNode("span",null,"Select the correct definition for each term. Definitions will be shuffled for students.")],-1))],64)):(e.openBlock(),e.createElementBlock("div",ga,[...r[53]||(r[53]=[e.createElementVNode("co-icon",{name:"note-pencil",size:"20"},null,-1),e.createElementVNode("span",null,"This question requires manual grading.",-1)])]))]),e.createElementVNode("div",ha,[e.createVNode(e.unref(E.CoInput),{label:"Add answer feedback","icon-left":"chat-dots",value:ut.value,placeholder:"Explain why this answer is correct…",onCoInput:r[19]||(r[19]=g=>Gn(c(g)))},null,8,["value"])]),e.createElementVNode("div",ba,[e.createVNode(e.unref(E.CoButton),{label:"Done",variant:"stroke",onClick:Zn})])])):e.createCommentVNode("",!0)]),e.createElementVNode("aside",{class:e.normalizeClass(["mini-toolbar",{"is-open":xe.value}])},[e.createElementVNode("button",{class:"mini-toolbar__btn",title:"Add field below",onClick:r[20]||(r[20]=e.withModifiers(g=>xe.value=!xe.value,["stop"]))},[...r[54]||(r[54]=[e.createElementVNode("co-icon",{name:"plus",size:"16"},null,-1)])]),e.createElementVNode("button",{class:"mini-toolbar__btn",title:"Add section below",onClick:It},[...r[55]||(r[55]=[e.createElementVNode("co-icon",{name:"minus",size:"16"},null,-1)])]),e.createElementVNode("button",{class:"mini-toolbar__btn",title:"Duplicate",onClick:p},[...r[56]||(r[56]=[e.createElementVNode("co-icon",{name:"copy",size:"16"},null,-1)])]),xe.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"mini-popover",onClick:r[21]||(r[21]=e.withModifiers(()=>{},["stop"]))},[r[57]||(r[57]=e.createElementVNode("div",{class:"mini-popover__label"},"Insert field below",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(xt.value,g=>(e.openBlock(),e.createElementBlock("button",{key:g.id,class:"mini-popover__item",onClick:C=>Bt(g.id)},[e.createElementVNode("co-icon",{name:g.icon,size:"16"},null,8,_a),e.createElementVNode("span",null,e.toDisplayString(g.label),1)],8,ya))),128))])):e.createCommentVNode("",!0)],2)]))}}),Ca=ke(ka,[["__scopeId","data-v-3a563a1f"]]),Ea={class:"field__icon"},Na=["name"],wa={class:"field__body"},Sa={class:"field__name"},Va={key:0,class:"field__chip field__chip--warn"},xa={key:1,class:"field__chip"},Ba={key:2,class:"field__chip"},Ia={class:"field__meta"},Da={class:"field__meta-id"},Ta=e.defineComponent({__name:"FieldCard",props:{pageIdx:{},fieldIdx:{},fieldName:{}},setup(t){const o=t,n=Se(),l=e.computed(()=>n.data.pages[o.pageIdx]),a=e.computed(()=>l.value?.fields[o.fieldName]??{}),s=e.computed(()=>n.selection.pageIdx===o.pageIdx&&n.selection.fieldName===o.fieldName),u=e.computed(()=>{const v=a.value;return v.uiCom==="TextArea"?M.find(p=>p.id==="textarea"):v.uiCom==="Rating"?M.find(p=>p.id==="rating"):v.uiCom==="Slider"?M.find(p=>p.id==="slider"):v.uiCom==="ColorPicker"?M.find(p=>p.id==="color"):v.uiCom==="Section"?M.find(p=>p.id==="section"):v.uiCom==="File"?M.find(p=>p.id==="file"):v.uiCom==="Ordering"?M.find(p=>p.id==="ordering"):v.uiCom==="Matching"?M.find(p=>p.id==="matching"):v.uiCom==="ImageRadioGroup"?M.find(p=>p.id==="image-choice"):v.ref?M.find(p=>p.id==="ref"):Array.isArray(v.enum)?M.find(p=>p.id==="select"):v.type==="Number"?M.find(p=>p.id==="number"):v.type==="Date"?M.find(p=>p.id==="date"):v.type==="Boolean"?M.find(p=>p.id==="boolean"):M.find(p=>p.id==="text")});function c(){n.selectField(o.pageIdx,o.fieldName)}function i(v){v.stopPropagation(),n.duplicateField(o.pageIdx,o.fieldName)}function _(v){v.stopPropagation(),n.removeField(o.pageIdx,o.fieldName)}return(v,p)=>s.value?(e.openBlock(),e.createBlock(Ca,{key:0,"page-idx":t.pageIdx,"field-name":t.fieldName},null,8,["page-idx","field-name"])):(e.openBlock(),e.createElementBlock("div",{key:1,class:"field",onClick:e.withModifiers(c,["stop"])},[p[4]||(p[4]=e.createElementVNode("span",{class:"field__grip","aria-hidden":"true"},"⋮⋮",-1)),e.createElementVNode("span",Ea,[u.value?(e.openBlock(),e.createElementBlock("co-icon",{key:0,name:u.value.icon,size:"18"},null,8,Na)):e.createCommentVNode("",!0)]),e.createElementVNode("div",wa,[e.createElementVNode("div",Sa,[e.createTextVNode(e.toDisplayString(a.value.label||t.fieldName)+" ",1),a.value.required?(e.openBlock(),e.createElementBlock("span",Va,"required")):e.createCommentVNode("",!0),a.value.visibleIf?(e.openBlock(),e.createElementBlock("span",xa,"visibleIf")):e.createCommentVNode("",!0),a.value.full?(e.openBlock(),e.createElementBlock("span",Ba,"full")):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ia,[e.createElementVNode("span",Da,e.toDisplayString(t.fieldName),1),p[1]||(p[1]=e.createElementVNode("span",{class:"field__meta-sep"},"·",-1)),e.createElementVNode("span",null,e.toDisplayString(e.unref(n).data.mode==="quiz"&&u.value?.quizLabel?u.value.quizLabel:u.value?.label||a.value.type||"String"),1)])]),e.createElementVNode("div",{class:"field__actions",onClick:p[0]||(p[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("button",{class:"field__action",title:"Duplicate",onClick:i},[...p[2]||(p[2]=[e.createElementVNode("co-icon",{name:"copy",size:"14"},null,-1)])]),e.createElementVNode("button",{class:"field__action field__action--danger",title:"Delete",onClick:_},[...p[3]||(p[3]=[e.createElementVNode("co-icon",{name:"trash",size:"14"},null,-1)])])])]))}}),Oa=ke(Ta,[["__scopeId","data-v-7e5600b4"]]),Aa={key:0,class:"page__head"},Pa={class:"page__head-text"},Fa={class:"page__head-pill"},za=["disabled"],$a={key:0,class:"page__empty"},Ma=e.defineComponent({__name:"PageCard",props:{pageIdx:{}},setup(t){const o=t,n=Se(),l=e.computed(()=>n.data.pages[o.pageIdx]),a=e.computed(()=>n.selection.pageIdx===o.pageIdx&&n.selection.fieldName===null),s=e.computed({get:()=>l.value?Object.keys(l.value.fields):[],set:N=>n.reorderFieldsByNames(o.pageIdx,N)}),u=e.ref(!1);function c(){n.selectPage(o.pageIdx)}function i(N){N.stopPropagation(),n.duplicatePage(o.pageIdx)}function _(N){N.stopPropagation(),!(n.data.pages.length<=1)&&n.removePage(o.pageIdx)}function v(N){n.updatePage(o.pageIdx,N)}function p(N){N.dataTransfer&&Array.from(N.dataTransfer.types).includes("application/cobalt-field-kind")&&(N.preventDefault(),N.dataTransfer.dropEffect="copy",u.value=!0)}function y(N){N.currentTarget===N.target&&(u.value=!1)}function S(N){u.value=!1;const m=N.dataTransfer?.getData("application/cobalt-field-kind");m&&(N.preventDefault(),n.addField(m,o.pageIdx))}return(N,m)=>l.value?(e.openBlock(),e.createElementBlock("section",{key:0,class:e.normalizeClass(["page",{"is-selected":a.value,"is-toolbox-drag":u.value,"page--quiz":e.unref(n).data.mode==="quiz"}]),onClick:c},[e.unref(n).data.mode!=="quiz"?(e.openBlock(),e.createElementBlock("header",Aa,[e.createElementVNode("div",Pa,[e.createElementVNode("div",Fa,"PAGE "+e.toDisplayString(t.pageIdx+1),1),e.createVNode(Ge,{class:"page__title","model-value":l.value.title||"",placeholder:"Untitled page","onUpdate:modelValue":m[0]||(m[0]=$=>v({title:$}))},null,8,["model-value"]),e.createVNode(Ge,{class:"page__desc","model-value":l.value.description||"",placeholder:"Add a description for this page (optional)","onUpdate:modelValue":m[1]||(m[1]=$=>v({description:$}))},null,8,["model-value"])]),e.createElementVNode("div",{class:"page__head-actions",onClick:m[2]||(m[2]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("button",{class:"page__action",title:"Duplicate page",onClick:i},[...m[4]||(m[4]=[e.createElementVNode("co-icon",{name:"copy",size:"14"},null,-1),e.createElementVNode("span",null,"Duplicate",-1)])]),e.createElementVNode("button",{class:"page__action page__action--danger",disabled:e.unref(n).data.pages.length<=1,title:"Delete page",onClick:_},[...m[5]||(m[5]=[e.createElementVNode("co-icon",{name:"trash",size:"14"},null,-1),e.createElementVNode("span",null,"Delete",-1)])],8,za)])])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"page__body",onDragover:p,onDragleave:y,onDrop:S},[e.createVNode(e.unref(yl),{modelValue:s.value,"onUpdate:modelValue":m[3]||(m[3]=$=>s.value=$),class:"page__sortable",animation:140,"ghost-class":"page__ghost","chosen-class":"page__chosen","drag-class":"page__drag",handle:".field__grip"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,($,B)=>(e.openBlock(),e.createBlock(Oa,{key:$,"page-idx":t.pageIdx,"field-idx":B,"field-name":$},null,8,["page-idx","field-idx","field-name"]))),128))]),_:1},8,["modelValue"]),s.value.length===0?(e.openBlock(),e.createElementBlock("div",$a,[...m[6]||(m[6]=[e.createElementVNode("co-icon",{name:"plus",size:"20"},null,-1),e.createElementVNode("span",null,"Drag a field here or click one in the toolbox",-1)])])):e.createCommentVNode("",!0)],32)],2)):e.createCommentVNode("",!0)}}),La=ke(Ma,[["__scopeId","data-v-f062f2e6"]]),Ra={class:"canvas__pages"},qa=e.defineComponent({__name:"FieldCanvas",setup(t){const o=Se(),n=e.computed(()=>_e.themeToStyles(o.resolvedTheme)),l=e.computed(()=>o.data.mode==="quiz"),a=e.computed(()=>l.value?"Quiz title…":"Untitled form"),s=e.computed(()=>l.value?"Quiz description (optional)":"Add a description (optional)"),u=e.inject("titleError",e.computed(()=>!1)),c=e.computed(()=>u.value&&!o.data.title?.trim()),i=e.computed(()=>({...n.value.customProperties})),_=e.computed(()=>({...n.value.inlineStyles})),v=e.computed(()=>({"data-theme":n.value.modifiers.colorScheme,"data-appearance":n.value.modifiers.appearance,"data-density":n.value.modifiers.density,"data-radius":n.value.modifiers.radius,...n.value.modifiers.hideHeader?{"data-hide-header":""}:{}}));return(p,y)=>(e.openBlock(),e.createElementBlock("div",{class:"canvas",style:e.normalizeStyle(_.value)},[e.createElementVNode("div",e.mergeProps({class:"canvas__inner",style:i.value},v.value),[n.value.modifiers.hideHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("header",{key:0,class:e.normalizeClass(["canvas__head",{"is-selected":e.unref(o).selection.kind==="form"}]),onClick:y[2]||(y[2]=e.withModifiers(S=>e.unref(o).selectForm(),["stop"]))},[e.createVNode(Ge,{class:"canvas__title","model-value":e.unref(o).data.title,placeholder:a.value,error:c.value,"onUpdate:modelValue":y[0]||(y[0]=S=>e.unref(o).setTitle(S))},null,8,["model-value","placeholder","error"]),e.createVNode(Ge,{class:"canvas__desc","model-value":e.unref(o).data.description,placeholder:s.value,"onUpdate:modelValue":y[1]||(y[1]=S=>e.unref(o).setDescription(S))},null,8,["model-value","placeholder"])],2)),e.createElementVNode("div",Ra,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o).data.pages,(S,N)=>(e.openBlock(),e.createBlock(La,{key:e.unref(o).data.pages[N].name+"-"+N,"page-idx":N},null,8,["page-idx"]))),128))]),e.unref(o).data.mode!=="quiz"?(e.openBlock(),e.createElementBlock("button",{key:1,class:"canvas__add-page",onClick:y[3]||(y[3]=S=>e.unref(o).addPage())},[...y[4]||(y[4]=[e.createElementVNode("co-icon",{name:"plus",size:"14"},null,-1),e.createElementVNode("span",null,"Add page",-1)])])):e.createCommentVNode("",!0)],16)],4))}}),ja=ke(qa,[["__scopeId","data-v-25814103"]]),Ua={class:"props"},Xa={class:"props__head"},Ya={class:"props__title"},Ha={class:"props__subtitle"},Ja={class:"props__body"},Ga={class:"row"},Wa={class:"seg"},Qa={class:"row"},Za={class:"row__label"},Ka={class:"row"},er={class:"accent"},tr=["title","onClick"],nr={key:4,class:"row"},or=["value"],lr={class:"props__foot"},ar={class:"props__body"},rr={class:"props__body"},ir=e.defineComponent({__name:"PropertiesPanel",setup(t){const o=[{id:"general",label:"General",icon:"gear"},{id:"header",label:"Header",icon:"image"},{id:"background",label:"Background",icon:"paint-bucket"},{id:"appearance",label:"Appearance",icon:"paint-brush"},{id:"advanced",label:"Advanced",icon:"code"}],n=[{id:"general",label:"General",icon:"gear"},{id:"logic",label:"Logic",icon:"git-branch"}],l=[{id:"layout",label:"Layout",icon:"layout"},{id:"logic",label:"Logic",icon:"git-branch"},{id:"validation",label:"Validation",icon:"shield-check"}],a=[{label:"Panels (default)",value:"panels"},{label:"Without panels",value:"flat"}],s=[{label:"Comfortable",value:"comfortable"},{label:"Compact",value:"compact"}],u=[{label:"Rounded",value:"rounded"},{label:"Sharp",value:"sharp"}],c=[{label:"Auto",value:"auto"},{label:"Contain",value:"contain"},{label:"Cover",value:"cover"}],i=[{label:"Scroll",value:"scroll"},{label:"Fixed",value:"fixed"}],_=[{label:"(none)",value:""},{label:"email",value:"email"},{label:"url",value:"url"},{label:"uuid",value:"uuid"}],v=[{id:"azul",label:"Azul",hex:_e.ACCENT_PRESET_HEX.azul},{id:"verde",label:"Verde",hex:_e.ACCENT_PRESET_HEX.verde},{id:"amarillo",label:"Amarillo",hex:_e.ACCENT_PRESET_HEX.amarillo},{id:"rosado",label:"Rosado",hex:_e.ACCENT_PRESET_HEX.rosado}],p=Se(),y=e.computed(()=>p.data.mode==="quiz"),S=e.computed(()=>p.selection.kind),N=e.computed(()=>p.currentPage),m=e.computed(()=>p.selectedField||{}),$=e.computed(()=>p.selection.fieldName??""),B=e.ref("general"),Z=e.ref("general"),j=e.ref("layout");e.watch(S,P=>{P==="form"?B.value="general":P==="page"?Z.value="general":P==="field"&&(j.value="layout")});const le=e.computed(()=>p.data.theme),q=e.computed(()=>p.resolvedTheme);function D(P){const d=P.detail;return d!=null&&typeof d=="object"&&"value"in d?d.value:d!=null&&typeof d=="object"&&"checked"in d?d.checked:d}function te(P){if(P===""||P==null)return;const d=Number(P);return Number.isFinite(d)?d:void 0}function J(P,d){p.updateField(p.selection.pageIdx,$.value,{[P]:d})}function G(P,d){p.updatePage(p.selection.pageIdx,{[P]:d})}function I(P,d){p.setTheme({[P]:d})}function z(P,d,b){p.setThemeSection(P,{[d]:b})}function L(P){I("accent",P)}function W(P){const d=P.trim();/^#[0-9a-fA-F]{3,8}$/.test(d)&&p.setTheme({accent:"custom",accentHex:d})}const U=e.computed(()=>S.value==="form"?"Form":S.value==="page"?"Page":"Field"),Y=e.computed(()=>S.value==="form"?p.data.title||"Untitled form":S.value==="page"?N.value?.name??"":$.value);return(P,d)=>(e.openBlock(),e.createElementBlock("div",Ua,[e.createElementVNode("header",Xa,[e.createElementVNode("div",Ya,e.toDisplayString(U.value),1),e.createElementVNode("div",Ha,e.toDisplayString(Y.value),1)]),S.value==="form"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(e.unref(E.CoTabGroup),{class:"props__tabs",value:B.value,onCoTabChange:d[0]||(d[0]=b=>B.value=D(b)||B.value)},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(o,b=>e.createVNode(e.unref(E.CoTab),{key:b.id,label:b.label,value:b.id,"icon-left":b.icon,size:"small"},null,8,["label","value","icon-left"])),64))]),_:1},8,["value"]),e.createElementVNode("div",Ja,[B.value==="general"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",Ga,[d[39]||(d[39]=e.createElementVNode("div",{class:"row__label"},"Color scheme",-1)),e.createElementVNode("div",Wa,[e.createElementVNode("button",{class:e.normalizeClass(["seg__btn",{"is-active":q.value.colorScheme==="light"}]),onClick:d[1]||(d[1]=b=>I("colorScheme","light"))},[...d[37]||(d[37]=[e.createElementVNode("co-icon",{name:"sun",size:"14"},null,-1),e.createElementVNode("span",null,"Light",-1)])],2),e.createElementVNode("button",{class:e.normalizeClass(["seg__btn",{"is-active":q.value.colorScheme==="dark"}]),onClick:d[2]||(d[2]=b=>I("colorScheme","dark"))},[...d[38]||(d[38]=[e.createElementVNode("co-icon",{name:"moon",size:"14"},null,-1),e.createElementVNode("span",null,"Dark",-1)])],2)])]),e.createVNode(e.unref(E.CoSelect),{label:"Question appearance",options:JSON.stringify(a),value:q.value.questionAppearance,onCoChange:d[3]||(d[3]=b=>I("questionAppearance",D(b)))},null,8,["options","value"]),e.createVNode(e.unref(E.CoSelect),{label:"Density",options:JSON.stringify(s),value:q.value.density,onCoChange:d[4]||(d[4]=b=>I("density",D(b)))},null,8,["options","value"]),e.createVNode(e.unref(E.CoSelect),{label:"Border radius",options:JSON.stringify(u),value:q.value.borderRadius,onCoChange:d[5]||(d[5]=b=>I("borderRadius",D(b)))},null,8,["options","value"])],64)):e.createCommentVNode("",!0),B.value==="header"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(e.unref(E.CoSwitch),{label:"Show header",checked:q.value.header.show,onCoChange:d[6]||(d[6]=b=>z("header","show",D(b)))},null,8,["checked"]),e.createVNode(e.unref(E.CoInput),{label:"Background color",placeholder:"#fff or rgb(...)",value:le.value.header?.backgroundColor||"",onCoInput:d[7]||(d[7]=b=>z("header","backgroundColor",D(b)||null))},null,8,["value"]),e.createVNode(e.unref(E.CoInput),{label:"Height",placeholder:"120px","helper-text":"Any CSS length. Leave empty for auto.",value:le.value.header?.height||"",onCoInput:d[8]||(d[8]=b=>z("header","height",D(b)||null))},null,8,["value"])],64)):e.createCommentVNode("",!0),B.value==="background"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createVNode(e.unref(E.CoInput),{label:"Background color",placeholder:"#F3F3F3",value:le.value.background?.color||"",onCoInput:d[9]||(d[9]=b=>z("background","color",D(b)||null))},null,8,["value"]),e.createVNode(e.unref(E.CoInput),{label:"Background image URL",placeholder:"https://…",value:le.value.background?.imageUrl||"",onCoInput:d[10]||(d[10]=b=>z("background","imageUrl",D(b)||null))},null,8,["value"]),e.createVNode(e.unref(E.CoSelect),{label:"Image size",options:JSON.stringify(c),value:q.value.background.imageSize,onCoChange:d[11]||(d[11]=b=>z("background","imageSize",D(b)))},null,8,["options","value"]),e.createVNode(e.unref(E.CoSelect),{label:"Image attachment",options:JSON.stringify(i),value:q.value.background.imageAttachment,onCoChange:d[12]||(d[12]=b=>z("background","imageAttachment",D(b)))},null,8,["options","value"]),e.createElementVNode("div",Qa,[e.createElementVNode("div",Za,"Opacity ("+e.toDisplayString(q.value.background.opacity)+"%)",1),e.createVNode(e.unref(E.CoSlider),{min:0,max:100,step:5,value:q.value.background.opacity,"show-value":"",onCoChange:d[13]||(d[13]=b=>z("background","opacity",D(b)))},null,8,["value"])])],64)):e.createCommentVNode("",!0),B.value==="appearance"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[e.createElementVNode("div",Ka,[d[41]||(d[41]=e.createElementVNode("div",{class:"row__label"},"Accent",-1)),e.createElementVNode("div",er,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(v,b=>e.createElementVNode("button",{key:b.id,class:e.normalizeClass(["accent__chip",{"is-active":q.value.accent===b.id}]),style:e.normalizeStyle({"--accent":b.hex}),title:b.label,onClick:ve=>L(b.id)},[d[40]||(d[40]=e.createElementVNode("span",{class:"accent__chip-dot"},null,-1)),e.createElementVNode("span",null,e.toDisplayString(b.label),1)],14,tr)),64))])]),e.createVNode(e.unref(E.CoInput),{label:"Custom accent (hex)",placeholder:"#2563EB","helper-text":"Sets accent to Custom and overrides the primary.",value:q.value.accent==="custom"?q.value.accentHex:"",onCoChange:d[14]||(d[14]=b=>W(D(b)??""))},null,8,["value"]),e.createVNode(e.unref(E.CoInput),{label:"Font family",placeholder:"Inter, system-ui, sans-serif","helper-text":"CSS font stack. Empty = Geist (Cobalt default).",value:le.value.fontFamily||"",onCoInput:d[15]||(d[15]=b=>I("fontFamily",D(b)||void 0))},null,8,["value"])],64)):e.createCommentVNode("",!0),B.value==="advanced"?(e.openBlock(),e.createElementBlock("div",nr,[d[42]||(d[42]=e.createElementVNode("div",{class:"row__label"},"Custom CSS",-1)),e.createElementVNode("textarea",{class:"codebox",spellcheck:"false",rows:"14",placeholder:'.co-form-wizard [data-co-field="email"] co-input { ... }',value:le.value.customCss||"",onInput:d[16]||(d[16]=b=>I("customCss",b.target.value||void 0))},null,40,or),d[43]||(d[43]=e.createElementVNode("p",{class:"props__hint"},[e.createTextVNode(" Injected scoped to the form. Target fields via "),e.createElementVNode("code",null,'[data-co-field="name"]'),e.createTextVNode(" or "),e.createElementVNode("code",null,'[data-co-field-kind="select"]'),e.createTextVNode(". "),e.createElementVNode("code",null,"@import"),e.createTextVNode(", inline scripts and "),e.createElementVNode("code",null,"</style>"),e.createTextVNode(" are stripped. ")],-1))])):e.createCommentVNode("",!0)]),e.createElementVNode("footer",lr,[e.createVNode(e.unref(E.CoButton),{label:"Reset theme",variant:"stroke",size:"s","icon-left":"arrow-counter-clockwise",onClick:e.unref(p).resetTheme},null,8,["onClick"])])],64)):S.value==="page"&&!y.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(e.unref(E.CoTabGroup),{class:"props__tabs",value:Z.value,onCoTabChange:d[17]||(d[17]=b=>Z.value=D(b)||Z.value)},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(n,b=>e.createVNode(e.unref(E.CoTab),{key:b.id,label:b.label,value:b.id,"icon-left":b.icon,size:"small"},null,8,["label","value","icon-left"])),64))]),_:1},8,["value"]),e.createElementVNode("div",ar,[Z.value==="general"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(e.unref(E.CoInput),{label:"Name (id)",value:N.value.name,"helper-text":"Used as the page key in the schema.",onCoInput:d[18]||(d[18]=b=>G("name",D(b)))},null,8,["value"]),e.createVNode(e.unref(E.CoInput),{label:"Title",value:N.value.title||"","helper-text":"Also editable inline on the canvas.",onCoInput:d[19]||(d[19]=b=>G("title",D(b)))},null,8,["value"]),e.createVNode(e.unref(E.CoSwitch),{label:"Show title in form",checked:!N.value.hideTitle,onCoChange:d[20]||(d[20]=b=>G("hideTitle",D(b)?void 0:!0))},null,8,["checked"]),e.createVNode(e.unref(E.CoInput),{label:"Description",multiline:"",value:N.value.description||"",onCoInput:d[21]||(d[21]=b=>G("description",D(b)))},null,8,["value"]),e.createVNode(e.unref(E.CoSwitch),{label:"Show description in form",checked:!N.value.hideDescription,onCoChange:d[22]||(d[22]=b=>G("hideDescription",D(b)?void 0:!0))},null,8,["checked"])],64)):e.createCommentVNode("",!0),Z.value==="logic"?(e.openBlock(),e.createBlock(e.unref(E.CoInput),{key:1,label:"visibleIf",placeholder:"{customerType} == 'premium'","helper-text":"Page hidden unless expression is truthy.",value:N.value.visibleIf||"",onCoInput:d[23]||(d[23]=b=>G("visibleIf",D(b)||void 0))},null,8,["value"])):e.createCommentVNode("",!0)])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createVNode(e.unref(E.CoTabGroup),{class:"props__tabs",value:j.value,onCoTabChange:d[24]||(d[24]=b=>j.value=D(b)||j.value)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value?l.filter(b=>b.id==="layout"):l,b=>(e.openBlock(),e.createBlock(e.unref(E.CoTab),{key:b.id,label:b.label,value:b.id,"icon-left":b.icon,size:"small"},null,8,["label","value","icon-left"]))),128))]),_:1},8,["value"]),e.createElementVNode("div",rr,[j.value==="layout"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[y.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(E.CoCheckbox),{key:0,label:"Full width (span all columns)",checked:!!m.value.full,onCoChange:d[25]||(d[25]=b=>J("full",D(b)))},null,8,["checked"])),y.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(E.CoCheckbox),{key:1,label:"Hidden",checked:!!m.value.hidden,onCoChange:d[26]||(d[26]=b=>J("hidden",D(b)))},null,8,["checked"])),y.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(E.CoCheckbox),{key:2,label:"Disabled",checked:!!m.value.disabled||!!m.value.readOnly,onCoChange:d[27]||(d[27]=b=>J("disabled",D(b)||void 0))},null,8,["checked"])),!y.value&&m.value.type==="String"?(e.openBlock(),e.createBlock(e.unref(E.CoSelect),{key:3,label:"Format",options:JSON.stringify(_),value:m.value.format||"",onCoChange:d[28]||(d[28]=b=>J("format",D(b)||void 0))},null,8,["options","value"])):e.createCommentVNode("",!0),e.renderSlot(P.$slots,"field-layout-extra",{field:m.value,fieldName:$.value,patchField:J},void 0,!0)],64)):e.createCommentVNode("",!0),j.value==="logic"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(e.unref(E.CoInput),{label:"visibleIf",placeholder:"{type} == 'premium'",value:m.value.visibleIf||"",onCoInput:d[29]||(d[29]=b=>J("visibleIf",D(b)||void 0))},null,8,["value"]),e.createVNode(e.unref(E.CoInput),{label:"enableIf",placeholder:"{accepted} == true",value:m.value.enableIf||"",onCoInput:d[30]||(d[30]=b=>J("enableIf",D(b)||void 0))},null,8,["value"]),e.createVNode(e.unref(E.CoInput),{label:"requiredIf",placeholder:"{country} == 'US'",value:m.value.requiredIf||"",onCoInput:d[31]||(d[31]=b=>J("requiredIf",D(b)||void 0))},null,8,["value"]),d[44]||(d[44]=e.createElementVNode("p",{class:"props__hint"},[e.createTextVNode(" Operators: "),e.createElementVNode("code",null,"== != > < >= <= contains && ||")],-1))],64)):e.createCommentVNode("",!0),j.value==="validation"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createVNode(e.unref(E.CoCheckbox),{label:"Required",checked:!!m.value.required,onCoChange:d[32]||(d[32]=b=>J("required",D(b)))},null,8,["checked"]),m.value.type==="String"?(e.openBlock(),e.createBlock(e.unref(E.CoInput),{key:0,label:"Min length",type:"number",value:m.value.minLength??"",onCoInput:d[33]||(d[33]=b=>J("minLength",te(D(b))))},null,8,["value"])):e.createCommentVNode("",!0),m.value.type==="String"?(e.openBlock(),e.createBlock(e.unref(E.CoInput),{key:1,label:"Max length",type:"number",value:m.value.maxLength??"",onCoInput:d[34]||(d[34]=b=>J("maxLength",te(D(b))))},null,8,["value"])):e.createCommentVNode("",!0),m.value.type==="Number"?(e.openBlock(),e.createBlock(e.unref(E.CoInput),{key:2,label:"Min",type:"number",value:m.value.min??"",onCoInput:d[35]||(d[35]=b=>J("min",te(D(b))))},null,8,["value"])):e.createCommentVNode("",!0),m.value.type==="Number"?(e.openBlock(),e.createBlock(e.unref(E.CoInput),{key:3,label:"Max",type:"number",value:m.value.max??"",onCoInput:d[36]||(d[36]=b=>J("max",te(D(b))))},null,8,["value"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)])],64))]))}}),sr=ke(ir,[["__scopeId","data-v-6436c294"]]),ur={class:"designer__panel designer__panel--left"},cr={class:"designer__canvas"},dr=["title"],pr=["name"],mr={class:"designer__canvas-scroll"},fr={key:0,class:"designer__panel designer__panel--right"},vr=e.defineComponent({__name:"DesignerTab",setup(t){const o=Se(),n=e.ref(!0),l=e.computed(()=>o.data.mode==="quiz");return(a,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["designer",{"designer--left-collapsed":!n.value,"designer--no-right":l.value}])},[e.createElementVNode("aside",ur,[e.createVNode(wo)]),e.createElementVNode("section",cr,[e.createElementVNode("button",{class:"designer__toggle-left",title:n.value?"Hide toolbox":"Show toolbox",onClick:s[0]||(s[0]=u=>n.value=!n.value)},[e.createElementVNode("co-icon",{name:n.value?"caret-left":"list",size:16},null,8,pr)],8,dr),e.createElementVNode("div",mr,[e.createVNode(ja)])]),l.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("aside",fr,[e.createVNode(sr,null,{"field-layout-extra":e.withCtx(u=>[e.renderSlot(a.$slots,"field-layout-extra",e.normalizeProps(e.guardReactiveProps(u)),void 0,!0)]),_:3})]))],2))}}),gr=ke(vr,[["__scopeId","data-v-9b79fb47"]]),hr={class:"json-tab"},br={class:"json-tab__bar"},yr={key:0,class:"json-tab__err"},_r=e.defineComponent({__name:"JsonTab",setup(t){const o=Se(),n=e.ref(""),l=e.ref(null),a=e.computed(()=>JSON.stringify(o.exported,null,2));e.watch(a,c=>n.value=c,{immediate:!0});function s(){try{const c=JSON.parse(n.value);if(!c||typeof c!="object")throw new Error("Schema must be a JSON object");o.replaceAll(c),l.value=null}catch(c){l.value=c.message}}function u(){n.value=a.value,l.value=null}return(c,i)=>(e.openBlock(),e.createElementBlock("div",hr,[e.createElementVNode("div",br,[e.createVNode(e.unref(E.CoButton),{label:"Apply",variant:"primary",size:"s",onClick:s}),e.createVNode(e.unref(E.CoButton),{label:"Discard",variant:"stroke",size:"s",onClick:u}),l.value?(e.openBlock(),e.createElementBlock("span",yr,e.toDisplayString(l.value),1)):e.createCommentVNode("",!0),i[1]||(i[1]=e.createElementVNode("span",{class:"json-tab__hint"}," Plain editor — Monaco integration is a follow-up. ",-1))]),e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":i[0]||(i[0]=_=>n.value=_),class:"json-tab__area",spellcheck:"false"},null,512),[[e.vModelText,n.value]])]))}}),kr=ke(_r,[["__scopeId","data-v-6f8a102d"]]),Cr={class:"preview"},Er={class:"preview__pane preview__pane--form"},Nr=["schema","theme","validate-on"],wr=["schema","theme","validate-on"],Sr={class:"preview__pane preview__pane--side"},Vr={key:0,class:"preview__json"},xr={key:1,class:"preview__empty"},Br=e.defineComponent({__name:"PreviewTab",setup(t){const o=Se(),n=e.computed(()=>o.exported),l=e.computed(()=>_e.isPagedSchema(n.value)),a=e.computed(()=>JSON.stringify(n.value)),s=e.computed(()=>{const i=Object.keys(o.data.theme).length>0?JSON.stringify(o.data.theme):void 0;return console.log("[PreviewTab] themeJson →",i,"rawTheme:",o.data.theme,"isPaged:",l.value),i}),u=e.ref(null);function c(i){const _=i.detail;u.value=_?.values??null}return(i,_)=>(e.openBlock(),e.createElementBlock("div",Cr,[e.createElementVNode("div",Er,[l.value?(e.openBlock(),e.createElementBlock("co-form-wizard",{key:a.value+(s.value??""),schema:a.value,theme:s.value,layout:"grid",columns:"1","validate-on":e.unref(o).data.mode==="quiz"?"submit":"change","on:coSubmit":c},null,40,Nr)):(e.openBlock(),e.createElementBlock("co-form",{key:a.value+(s.value??""),schema:a.value,theme:s.value,layout:"grid",columns:"2","validate-on":e.unref(o).data.mode==="quiz"?"submit":"change","on:coSubmit":c},null,40,wr))]),e.createElementVNode("aside",Sr,[_[0]||(_[0]=e.createElementVNode("div",{class:"preview__pane-head"},[e.createElementVNode("h3",{class:"preview__title"},"Last submit"),e.createElementVNode("p",{class:"preview__desc"},"Fill the form and press Submit to see the payload.")],-1)),u.value?(e.openBlock(),e.createElementBlock("pre",Vr,e.toDisplayString(JSON.stringify(u.value,null,2)),1)):(e.openBlock(),e.createElementBlock("div",xr,"No submissions yet."))])]))}}),Ir=ke(Br,[["__scopeId","data-v-20f01c06"]]),Dr={class:"shell"},Tr={class:"shell__topbar"},Or={key:0,class:"shell__brand"},Ar={class:"shell__brand-title"},Pr={class:"shell__tabs"},Fr=["onClick"],zr={class:"shell__actions"},$r={class:"shell__content"},Mr=e.defineComponent({__name:"CobaltFormBuilder",props:{modelValue:{default:()=>({})},tabs:{default:()=>["designer","preview","json"]},hideBrand:{type:Boolean,default:!1},brandLabel:{default:"Cobalt Form Builder"},skipCobaltRegister:{type:Boolean,default:!1},mode:{default:void 0},titleError:{type:Boolean,default:!1}},emits:["update:modelValue","event","field-added","field-removed","field-renamed","field-updated","field-duplicated","field-reordered","page-added","page-removed","page-duplicated","page-updated","theme-changed","selection-changed","schema-replaced","undo","redo"],setup(t,{emit:o}){const n=t,l=o,a={designer:"Designer",preview:"Preview",json:"JSON Editor"},s=new Set(Object.keys(a));function u(m){return typeof m=="string"?{id:m,label:a[m]??m}:{id:m.id,label:m.label}}const c=e.computed(()=>n.tabs.map(u)),i=e.computed(()=>c.value.filter(m=>!s.has(m.id)).map(m=>m.id)),_=e.computed(()=>{const m=n.tabs[0];return typeof m=="string"?m:m?.id??"designer"}),v=e.ref(_.value);let p=!1;const y=vo({initialSchema:n.modelValue,onEvent:m=>{l("event",m),l(m.type,m)}});e.provide(wn,y);const S=e.computed(()=>n.titleError);e.provide("titleError",S),e.watch(()=>y.exported,m=>{p||l("update:modelValue",m)},{deep:!0}),e.watch(()=>n.modelValue,m=>{if(!m)return;const $=JSON.stringify(m),B=JSON.stringify(y.exported);$!==B&&(p=!0,y.replaceAll(m),p=!1)},{deep:!0}),e.onMounted(()=>{n.skipCobaltRegister||(po.defineCustomElements(),mo.defineCustomElements()),n.mode&&y.setMode(n.mode),window.addEventListener("keydown",N)}),e.watch(()=>n.mode,m=>{m&&y.setMode(m)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",N)});function N(m){if(m.key==="Escape"){const B=m.target;if(B?.isContentEditable||B?.tagName==="INPUT"||B?.tagName==="TEXTAREA"||B?.tagName==="SELECT"){B.blur();return}y.selection.fieldName!==null&&y.selectPage(y.selection.pageIdx);return}(m.metaKey||m.ctrlKey)&&(m.key==="z"&&!m.shiftKey?(m.preventDefault(),y.undo()):(m.key==="z"&&m.shiftKey||m.key==="y")&&(m.preventDefault(),y.redo()))}return(m,$)=>(e.openBlock(),e.createElementBlock("div",Dr,[e.renderSlot(m.$slots,"before",{},void 0,!0),e.createElementVNode("header",Tr,[e.renderSlot(m.$slots,"brand",{},()=>[t.hideBrand?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Or,[$[2]||($[2]=e.createElementVNode("div",{class:"shell__brand-mark"},"CF",-1)),e.createElementVNode("h1",Ar,e.toDisplayString(t.brandLabel),1)]))],!0),e.createElementVNode("nav",Pr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,B=>(e.openBlock(),e.createElementBlock("button",{key:B.id,class:e.normalizeClass(["shell__tab",{"is-active":v.value===B.id}]),onClick:Z=>v.value=B.id},e.toDisplayString(B.label),11,Fr))),128))]),e.createElementVNode("div",zr,[e.renderSlot(m.$slots,"actions",{store:e.unref(y)},()=>[e.createVNode(e.unref(E.CoIconButton),{icon:"arrow-counter-clockwise",variant:"outlined",size:"sm",label:"Undo (⌘Z)",disabled:!e.unref(y).canUndo,onClick:$[0]||($[0]=B=>e.unref(y).undo())},null,8,["disabled"]),e.createVNode(e.unref(E.CoIconButton),{icon:"arrow-clockwise",variant:"outlined",size:"sm",label:"Redo (⌘⇧Z)",disabled:!e.unref(y).canRedo,onClick:$[1]||($[1]=B=>e.unref(y).redo())},null,8,["disabled"])],!0)])]),e.createElementVNode("main",$r,[e.withDirectives(e.createVNode(gr,null,{"field-layout-extra":e.withCtx(B=>[e.renderSlot(m.$slots,"field-layout-extra",e.normalizeProps(e.guardReactiveProps(B)),void 0,!0)]),_:3},512),[[e.vShow,v.value==="designer"]]),v.value==="preview"?(e.openBlock(),e.createBlock(Ir,{key:0})):e.createCommentVNode("",!0),v.value==="json"?(e.openBlock(),e.createBlock(kr,{key:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,B=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:B,class:"shell__custom-tab"},[e.renderSlot(m.$slots,B,{store:e.unref(y)},void 0,!0)])),[[e.vShow,v.value===B]])),128))]),e.renderSlot(m.$slots,"after",{store:e.unref(y)},void 0,!0)]))}}),Lr=ke(Mr,[["__scopeId","data-v-fc0d7691"]]);exports.CobaltFormBuilder=Lr;
2
2
  //# sourceMappingURL=cobalt-form-builder.cjs.map